{"version":3,"file":"main.js","mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AACA;AACA;AAKA;AACA;AAMA;AAQA;AACA;;;;;;;;;AAsBO,IAAMa,YAAb;AAAM,QAAOA,YAAP,CAAmB;AACvBC,gBACmBC,MADnB,EAEmBC,SAFnB,EAGmBC,iBAHnB,EAImBC,iBAJnB,EAKmBC,WALnB,EAMmBC,gBANnB,EAOmBC,oBAPnB,EAQmBC,OARnB,EAQ6C;AAP1B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEjB,WAAKN,SAAL,CAAeO,QAAf,CAAwB,CAACjB,mFAAD,EAAkBA,mFAAlB,CAAxB;AACA,WAAKU,SAAL,CAAeU,cAAf,CAA8BpB,mFAA9B,EAH2C,CAGK;;AAChD,WAAKU,SAAL,CAAeW,cAAf,CAA8BrB,mFAA9B;AACD;;AAEDsB,YAAQ;AACN,WAAKC,WAAL,CAAiB,oCAAjB;AAEAzB,MAAAA,8CAAQ,CAAC,CACP,KAAKW,MAAL,CAAYe,GAAZ,CAAgB,eAAhB,CADO,EAEP,KAAKf,MAAL,CAAYe,GAAZ,CAAgB,YAAhB,CAFO,EAGP,KAAKf,MAAL,CAAYe,GAAZ,CAAgB,gBAAhB,CAHO,EAIP,KAAKf,MAAL,CAAYe,GAAZ,CAAgB,aAAhB,CAJO,CAAD,CAAR,CAMGC,IANH,CAMQ1B,oDAAI,CAAC,CAAD,CANZ,EAOG2B,SAPH,CAOa,CAAC,CAACC,OAAD,EAAUC,UAAV,EAAsBC,cAAtB,EAAsCC,WAAtC,CAAD,KAAuD;AAChE,cAAMC,UAAU,GAAG,KAAKtB,MAAL,CAAYuB,SAAZ,CAAsB/B,uFAAtB,CAAnB;AACA,cAAMiC,UAAU,GACdH,UAAU,KAAK/B,mFAAf,IAAkC+B,UAAU,KAAK/B,mFAAjD,GACI+B,UADJ,GAEID,WAHN;AAKA,aAAKP,WAAL,CAAiB,MAAMI,OAAO,UAAUO,UAAU,YAAlD;;AAEA,YACE,KAAKrB,WAAL,CAAiBsB,YAAjB,CAA8B,CAC5B/B,2FAD4B,EAE5BA,yFAF4B,CAA9B,CADF,EAKE;AACA,eAAKW,oBAAL,CAA0BuB,IAA1B;AACA,eAAKxB,gBAAL,CAAsByB,YAAtB,GAAqCb,SAArC;AACD;;AAED,aAAKhB,SAAL,CAAe8B,GAAf,CAAmBN,UAAnB;AACA,aAAKlB,OAAL,CAAayB,SAAb,CAAuBP,UAAvB;AAEA,aAAKvB,iBAAL,CAAuB+B,cAAvB,CAAsCd,UAAtC;AACA,aAAKhB,iBAAL,CAAuB0B,IAAvB,CACET,cADF,EAEE,KAAKhB,WAAL,CAAiB8B,WAAjB,EAFF;AAID,OAlCH;AAmCD;;AAEOpB,eAAW,CAACqB,OAAD,EAAgB;AACjCC,aAAO,CAACC,GAAR,CACE,KAAKF,OAAO,EADd,EAEE,0EAFF;AAID;;AA7DsB;;;qBAAZrC,cAAYwC,+DAAAA,CAAAA,mFAAAA,GAAAA,+DAAAA,CAAAA,iEAAAA,GAAAA,+DAAAA,CAAAA,uFAAAA,GAAAA,+DAAAA,CAAAA,gFAAAA,GAAAA,+DAAAA,CAAAA,6EAAAA,GAAAA,+DAAAA,CAAAA,+EAAAA,GAAAA,+DAAAA,CAAAA,uFAAAA,GAAAA,+DAAAA,CAAAA,+DAAAA;AAAA;;;UAAZxC;AAAYyC;AAAAC,eAAAA,gEAAAA,CAhBZ,CACT;AACEC,aAAO,EAAExD,+DADX;AAEEyD,cAAQ,EAAEvD,gFAFZ;AAGEwD,UAAI,EAAE,CAACzD,mEAAD,EAAkBE,8FAAlB;AAHR,KADS,EAMT;AACEqD,aAAO,EAAEhD,gGADX;AAEEmD,iBAAW,EAAE/C,uFAAsBA;AAFrC,KANS,EAUT;AACE4C,aAAO,EAAE/C,wFADX;AAEEkD,iBAAW,EAAEhD,uFAAsBA;AAFrC,KAVS,CAgBY;AAFtBiD;AAAAC;AAAAC;AAAA;AAfUT,QAAAA,uDAAAA;;;;;;AAiBb,SAAaxC,YAAb;AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AC7CA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AAIA;AAKA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAIA;AACA;AACA;AACA;AACA;AACA;AAIA;AACA;AACA;;;;;;;AAlCA6D,oEAAkB,CAACC,kEAAD,CAAlB,EAuCA;;AACM,SAAU2B,iBAAV,CACJC,WADI,EAEJxF,MAFI,EAEmC;AAEvC,SAAO,IAAI0D,4EAAJ,CACL,IAAIH,6DAAJ,CAAeiC,WAAf,CADK,EAEL,gBAFK,EAGL,WAAWxF,MAAM,CAACyF,QAAP,CAAgB,eAAhB,CAAgC,EAHtC,CAAP;AAKD;AAsDM,IAAMC,SAAb;AAAM,QAAOA,SAAP,CAAgB;;;qBAATA;AAAS;;;UAATA;AAASC,gBAFR7F,wDAEQ,EAFMqD,uEAEN;;;eAXT,CACT;AACEV,aAAO,EAAEO,2DADX;AAEE4C,gBAAU,EAAG5F,MAAD,IAA6C,MACvDA,MAAM,CAAC6B,IAAP,EAHJ;AAIEc,UAAI,EAAE,CAACkB,oFAAD,CAJR;AAKEgC,WAAK,EAAE;AALT,KADS;AAQVC,cA/CQ,CACP7C,qEADO,EAEPI,0DAFO,EAGPc,gDAHO,EAIPf,0FAJO,EAKPI,yEAAA,CAAwB;AACtBwC,YAAM,EAAE;AACNvD,eAAO,EAAEgB,iEADH;AAENmC,kBAAU,EAAEL,iBAFN;AAGN5C,YAAI,EAAE,CAACW,8DAAD,EAAcO,oFAAd;AAHA,OADc;AAMtBoC,qBAAe,EAAE,IANK;AAOtBC,aAAO,EAAE;AAPa,KAAxB,CALO,EAcP9B,6DAAA,CAAoB,EAApB,CAdO,EAePA,gEAAA,CAAuBa,wFAAvB,EAA4CC,qFAA5C,CAfO,EAgBPd,gEAAA,CAAuBI,wEAAvB,EAAuCC,qEAAvC,CAhBO,EAiBPL,gEAAA,CAAuBkB,oFAAvB,EAA4CD,iFAA5C,CAjBO,EAkBPjB,gEAAA,CAAuBM,2FAAvB,EAA8CC,wFAA9C,CAlBO,EAmBPN,iEAAA,CAAsB,CACpBO,uFADoB,EAEpBZ,mFAFoB,EAGpBmB,gFAHoB,CAAtB,CAnBO,EAwBP;AACAb,IAAAA,iFAAA,CAA+B;AAC7B+B,YAAM,EAAE,EADqB;AAE7BC,aAAO,EAAE/B,6EAFoB;AAG7BiC,eAAS,EAAE,IAHkB,CAGb;;AAHa,KAA/B,CAzBO,EA8BPvC,4FA9BO,EA+BPH,sGA/BO,EAgCPC,8GAhCO,EAiCPc,2EAjCO,EAkCPC,mGAlCO,EAmCPC,2IAnCO,EAoCP7B,4DApCO,EAqCPkC,uHArCO,CA+CR;;AAGH,SAAaM,SAAb;AAAA;;;uHAAaA,WAAS;AAAAe,mBAnDL3G,wDAmDK,EAnDSoE,0DAmDT,EAnDwBc,yIAmDxB;AAnDsDc,cAExE7C,qEAFwE,EAGxEI,0DAHwE,EAG5DqD,0DAH4D,EAKxEtD,0FALwE,EAKjDuD,iEALiD,EAKjDC,yDALiD,EAKjDA,4DALiD,EAKjDA,4DALiD,EAKjDA,4DALiD,EAKjDA,4DALiD,EAKjDC,6DALiD,EAKjDC,sEALiD,EA+BxE7C,4FA/BwE,EAgCxEH,sGAhCwE,EAiCxEC,8GAjCwE,EAkCxEc,2EAlCwE,EAmCxEC,mGAnCwE,EAoCxEC,2IApCwE,EAqCxE7B,4DArCwE,EAsCxEkC,uHAtCwE;AAmDtD;AAbM;;;;;;;;;;;;;;;;;;;;;;ACpG5B;AACA;AACA;AAMA;AACA;AACA;AACA;AAEA;;;;;;AAKA,MAAMiC,MAAM,GAAW,CACrB;AACEC,MAAI,EAAE,EADR;AAEEC,YAAU,EAAEJ,mEAFd;AAGEM,WAAS,EAAE;AAHb,CADqB,EAMrB;AACEH,MAAI,EAAE,EADR;AAEEI,WAAS,EAAExD,0DAFb;AAGEyD,aAAW,EAAE,CAACZ,0DAAD,CAHf;AAIEa,UAAQ,EAAE,CACR;AACEN,QAAI,EAAEH,mEADR;AAEEU,gBAAY,EAAE,MACZ,2LAA8CC,IAA9C,CACEC,QAAQ,IAAIA,QAAQ,CAACC,cADvB,CAHJ;AAMEL,eAAW,EAAE,CAACP,gGAAD,CANf;AAOEa,QAAI,EAAE;AACJC,WAAK,EAAE,CAACvI,2FAAD,EAA0BA,yFAA1B;AADH;AAPR,GADQ,EAYR;AACE2H,QAAI,EAAEH,yEADR;AAEEU,gBAAY,EAAE,MACZ,+JAA4DC,IAA5D,CACEC,QAAQ,IAAIA,QAAQ,CAACK,oBADvB,CAHJ;AAMET,eAAW,EAAE,CAACP,gGAAD,CANf;AAOEa,QAAI,EAAE;AACJC,WAAK,EAAE,CAACvI,2FAAD,EAA0BA,yFAA1B;AADH;AAPR,GAZQ,EAuBR;AACE2H,QAAI,EAAEH,2EADR;AAEEU,gBAAY,EAAE,MACZ,+MAEEC,IAFF,CAEOC,QAAQ,IAAIA,QAAQ,CAACO,sBAF5B,CAHJ;AAMEX,eAAW,EAAE,CAACP,gGAAD,CANf;AAOEa,QAAI,EAAE;AACJC,WAAK,EAAE,CAACvI,2FAAD,EAA0BA,yFAA1B;AADH;AAPR,GAvBQ,EAkCR;AACE2H,QAAI,EAAEH,kEADR;AAEEU,gBAAY,EAAE,MACZ,2LAA8CC,IAA9C,CACEC,QAAQ,IAAIA,QAAQ,CAACS,aADvB,CAHJ;AAMEb,eAAW,EAAE,CAACP,gGAAD,CANf;AAOEa,QAAI,EAAE;AACJC,WAAK,EAAE,CAACvI,2FAAD,EAA0BA,yFAA1B;AADH;AAPR,GAlCQ,EA6CR;AACE2H,QAAI,EAAE,GAAGH,mEAAuB,gBAAgBA,uEAA2B,MAD7E;AAEEU,gBAAY,EAAE,MACZ,2JAAwDC,IAAxD,CACEC,QAAQ,IAAIA,QAAQ,CAACW,kBADvB,CAHJ;AAMEf,eAAW,EAAE,CAACP,gGAAD,CANf;AAOEa,QAAI,EAAE;AACJC,WAAK,EAAE,CAACvI,2FAAD,EAA0BA,yFAA1B;AADH;AAPR,GA7CQ,EAwDR;AACE2H,QAAI,EAAEJ,oGADR;AAEEQ,aAAS,EAAEV,yFAFb;AAGES,aAAS,EAAE,MAHb;AAIEQ,QAAI,EAAE;AACJW,YAAM,EAAE3B,4FAAwB4B;AAD5B;AAJR,GAxDQ,EAgER;AACEvB,QAAI,EAAE,IADR;AAEEI,aAAS,EAAE1C,wIAFb;AAGEyC,aAAS,EAAE;AAHb,GAhEQ;AAJZ,CANqB,CAAvB;AAmFO,MAAMtD,OAAO,GAAGd,iEAAA,CAAqBgE,MAArB,EAA6B;AAClDyB,SAAO,EAAE;AADyC,CAA7B,CAAhB;;;;;;;;;;;;;;;;;;;AChGA,MAAMC,YAAY,GAAG,EAArB;AACA,MAAMC,WAAW,GAAG,IAApB;AAsBA,IAAK7B,cAMX;AAND,aAAYA,cAAZ,EAA0B;AACxBA;AACAA;AACAA;AACAA;AACAA;AACD,GAND,EAAYA,cAAc,KAAdA,cAAc,MAA1B,CAMC;;AAAA,SANWA,cAMX;AAAA,IAND;AAQO,IAAK8B,SAMX;AAND,aAAYA,SAAZ,EAAqB;AACnBA;AACAA;AACAA;AACAA;AACAA;AACD,GAND,EAAYA,SAAS,KAATA,SAAS,MAArB,CAMC;;AAAA,SANWA,SAMX;AAAA,IAND;AAQO,IAAKC,eAIX;AAJD,aAAYA,eAAZ,EAA2B;AACzBA;AACAA;AACAA;AACD,GAJD,EAAYA,eAAe,KAAfA,eAAe,MAA3B,CAIC;;AAAA,SAJWA,eAIX;AAAA,IAJD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACnCA;AACA;AACA;AASA;AAMA;AAOA;AACA;AASA;AAEA;;;;;;;;;;;;;;;;;;;ACrCM5G,IAAAA,6DAAAA;AAAgEA,IAAAA,qDAAAA;;AAAmCA,IAAAA,2DAAAA;;;;AAAnCA,IAAAA,wDAAAA;AAAAA,IAAAA,gEAAAA,CAAAA,0DAAAA;;;;;;;;AAKlEA,IAAAA,6DAAAA;AAEkBA,IAAAA,yDAAAA;AAAAA,MAAAA,4DAAAA;AAAA;AAAA,aAAa8H,uBAAb;AAA6B,KAA7B,EAA8B,iBAA9B,EAA8B;AAAA9H,MAAAA,4DAAAA;AAAA;AAAA,aACX+H,0EADW;AACiD,KAD/E,EAA8B,aAA9B,EAA8B;AAAA/H,MAAAA,4DAAAA;AAAA;AAAA,aAEfgI,8EAFe;AAEiD,KAF/E,EAA8B,mBAA9B,EAA8B;AAAAhI,MAAAA,4DAAAA;AAAA;AAAA,aAGTiI,kCAHS;AAGkB,KAHhD;AAGkDjI,IAAAA,2DAAAA;;;;;AAJlDA,IAAAA,yDAAAA;;;;;;AASpBA,IAAAA,wDAAAA;;;;AD8BK,IAAM4B,aAAb;AAAM,QAAOA,aAAP,CAAoB;AAWxBnE,gBACkByK,sBADlB,EAEmBC,eAFnB,EAGmBC,iBAHnB,EAImBxK,iBAJnB,EAKmByK,aALnB,EAMmBC,YANnB,EAOmB3K,SAPnB,EAQmB4K,KARnB,EASmBC,EATnB,EASwC;AARtB;AACC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAnBX,uBAAY,IAAIpB,0CAAJ,EAAZ;AAER,gCAAqB,KAArB;AACA,8BAAmB,KAAnB;AACA,8BAA8C,EAA9C;AAIA,6BAAkBL,oFAAlB;AAaE,WAAK0B,kBAAL;AACD;;AAEDC,eAAW;AACT,WAAKC,SAAL,CAAeC,IAAf;;AACA,WAAKD,SAAL,CAAeE,QAAf;AACD;;AAEDC,kBAAc;AACZ,WAAKC,kBAAL,GAA0B,CAAC,KAAKA,kBAAhC;AACD;;AAEDC,YAAQ,CAACrD,IAAD,EAAqD;AAC3D,WAAK/H,iBAAL,CAAuBqL,gBAAvB,CAAwCtD,IAAI,CAACuD,cAA7C;AACD;;AAEDC,uBAAmB,CAACxD,IAAD,EAAsB;AACvC,WAAKwC,eAAL,CACGiB,iBADH,CACqBzD,IAAI,CAAC0D,UAD1B,EACsC1D,IAAI,CAACuD,cAD3C,EAC2DvD,IAAI,CAAC2D,UADhE,EAEG5K,IAFH,CAEQ1B,qDAAI,CAAC,CAAD,CAFZ,EAGG2B,SAHH;AAID;;AAEO4K,wBAAoB;AAC1B,aAAO,KAAKpB,eAAL,CAAqBqB,iBAArB,CAAuC,IAAvC,EAA6C9K,IAA7C,CACL4I,4DAAW,CAAC,CAAD,CADN,EAELC,oDAAG,CAAEkC,IAAD,IAAwB;AAC1B,aAAKC,WAAL,GAAoBD,IAAI,IAAIA,IAAI,CAACE,kBAAd,IAAqC,IAAxD;AACA,aAAKvB,iBAAL,CAAuBwB,YAAvB,CAAoCH,IAApC;AACD,OAHE,CAFE,EAMLjC,oDAAG,CAAEiC,IAAD,IAA0BA,IAAI,GAAGA,IAAI,CAACI,QAAR,GAAmB,IAAlD,CANE,EAOLtC,oDAAG,CAAEuC,gBAAD,IAAuC;AACzC,aAAKvB,KAAL,CAAWwB,QAAX,CAAoBnC,gFAAmB,CAAC;AAAEkC;AAAF,SAAD,CAAvC;AACA,aAAKtB,EAAL,CAAQwB,YAAR;AACD,OAHE,CAPE,EAWLhN,qDAAI,CAAC,CAAD,CAXC,CAAP;AAaD;;AAEOyL,sBAAkB;AACxB,WAAKF,KAAL,CAAW0B,MAAX,CAAkBnD,oFAAlB,EAA0CnI,SAA1C,CAAoDmL,gBAAgB,IAAG;AACrE,aAAKI,gBAAL,GACE,CAAC,CAACJ,gBAAF,IAAsB7C,0HAAA,CAA8B6C,gBAA9B,CADxB;AAEA,aAAKtB,EAAL,CAAQwB,YAAR;AACD,OAJD;AAMA,WAAKI,sBAAL;AACA,WAAKC,yBAAL;AACA,WAAKC,sBAAL;AACD;;AAEOF,0BAAsB;AAC5B,WAAK7B,KAAL,CACG0B,MADH,CACUpD,uFADV,EAEGnI,IAFH,CAGI6I,oDAAG,CAAEgD,WAAD,IAA8B;AAChC,aAAKC,gBAAL,GACE,KAAKnC,aAAL,CAAmBoC,mBAAnB,CAAuCF,WAAvC,CADF;AAEA,aAAK/B,EAAL,CAAQwB,YAAR;AACD,OAJE,CAHP,EAQIvC,0DAAS,CAAC8C,WAAW,IAAG;AACtB,YAAI,CAACA,WAAL,EAAkB;AAChB,iBAAOlD,yCAAE,CAAC,IAAD,CAAT;AACD;;AAED,eAAO,KAAKkC,oBAAL,EAAP;AACD,OANQ,CARb,EAeI7B,0DAAS,CAAC,KAAKiB,SAAN,CAfb,EAiBGhK,SAjBH;AAkBD;;AAEO0L,6BAAyB;AAC/B,WAAK9B,KAAL,CAAW0B,MAAX,CAAkB9C,yFAAlB,EAAyCxI,SAAzC,CAAmD+L,eAAe,IAAG;AACnE,YAAIA,eAAe,IAAIA,eAAe,CAACC,MAAhB,GAAyB,CAAhD,EAAmD;AACjD,eAAKrC,YAAL,CAAkBsC,eAAlB,CAAkC;AAChCC,uBAAW,EAAE,KAAKlN,SAAL,CAAemN,OAAf,CACX,8CADW,EAEX,CAACJ,eAAe,CAACK,IAAhB,CAAqB,IAArB,CAAD,CAFW;AADmB,WAAlC;AAMD;AACF,OATD;AAWA,WAAKxC,KAAL,CAAW0B,MAAX,CAAkB/C,yFAAlB,EAAyCvI,SAAzC,CAAmDqM,eAAe,IAAG;AACnE,YAAIA,eAAe,IAAIA,eAAe,CAACL,MAAhB,GAAyB,CAAhD,EAAmD;AACjD,eAAKrC,YAAL,CAAkBsC,eAAlB,CAAkC;AAChCC,uBAAW,EAAE,KAAKlN,SAAL,CAAemN,OAAf,CACX,+CADW,EAEX,CAACE,eAAe,CAACD,IAAhB,CAAqB,IAArB,CAAD,CAFW;AADmB,WAAlC;AAMD;AACF,OATD;AAUD;;AAEOT,0BAAsB;AAC5B,WAAK/B,KAAL,CACG0B,MADH,CACUjD,sFADV,EAEGtI,IAFH,CAGIiJ,uDAAM,CAAEsD,YAAD,IAA8B;AACnC,cAAMC,aAAa,GACjBD,YAAY,KAAK,IAAjB,IAAyB,KAAKvB,WAAL,EAAkByB,EAAlB,KAAyBF,YAAY,EAAEE,EADlE;AAEA,cAAMC,cAAc,GAClB,KAAK1B,WAAL,EAAkByB,EAAlB,KAAyBF,YAAY,EAAEE,EAAvC,IACAF,YAAY,EAAEI,eAAd,GAAgC,KAAK3B,WAAL,EAAkB2B,eAFpD;AAGA,cAAMC,aAAa,GAAG,KAAK5B,WAAL,IAAoBuB,YAAY,KAAK,IAA3D;AACA,aAAKvB,WAAL,GAAmB,EAAE,GAAGuB;AAAL,SAAnB;;AAEA,YAAIK,aAAJ,EAAmB;AACjB,eAAK/C,KAAL,CAAWwB,QAAX,CAAoBlC,gFAAA,EAApB;AACD;;AAED,eAAOqD,aAAa,IAAIE,cAAxB;AACD,OAdK,CAHV,EAkBI3D,0DAAS,CAAC,MAAK;AACb,eAAO,KAAKU,eAAL,CAAqBqB,iBAArB,CAAuC,IAAvC,EAA6C9K,IAA7C,CACL1B,qDAAI,CAAC,CAAD,CADC,EAELuK,oDAAG,CAAEkC,IAAD,IAAwB;AAC1B,eAAKJ,UAAL,GAAkBI,IAAI,EAAE0B,EAAxB;AACA,eAAK/C,iBAAL,CAAuBwB,YAAvB,CAAoCH,IAApC;AACD,SAHE,CAFE,CAAP;AAOD,OARQ,CAlBb,EA2BI/B,0DAAS,CAAC,KAAKiB,SAAN,CA3Bb,EA6BGhK,SA7BH;AA8BD;;AArJuB;;;qBAAbiD,eAAa5B,gEAAAA,CAAAA,4FAAAA,GAAAA,gEAAAA,CAAAA,6EAAAA,GAAAA,gEAAAA,CAAAA,4EAAAA,GAAAA,gEAAAA,CAAAA,2FAAAA,GAAAA,gEAAAA,CAAAA,+FAAAA,GAAAA,gEAAAA,CAAAA,yFAAAA,GAAAA,gEAAAA,CAAAA,kEAAAA,GAAAA,gEAAAA,CAAAA,+CAAAA,GAAAA,gEAAAA,CAAAA,6DAAAA;AAAA;;;UAAb4B;AAAa3B;AAAAM;AAAAC;AAAAgL;AAAA/K;AAAA;ACrD1BT,QAAAA,6DAAAA,cAAmF,CAAnF,EAAmF,KAAnF,EAAmF,CAAnF;AAEIA,QAAAA,wDAAAA;AAEAA,QAAAA,6DAAAA,cAAwB,CAAxB,EAAwB,KAAxB,EAAwB,CAAxB,EAAwB,CAAxB,EAAwB,KAAxB,EAAwB,CAAxB;AAEuDA,QAAAA,yDAAAA;AAAA,iBAASyL,oBAAT;AAAyB,SAAzB;AAAnDzL,QAAAA,2DAAAA;AAEFA,QAAAA,yDAAAA;AACFA,QAAAA,2DAAAA;AAEFA,QAAAA,6DAAAA;AACEA,QAAAA,wDAAAA;AACAA,QAAAA,yDAAAA;AAMAA,QAAAA,6DAAAA;AACEA,QAAAA,wDAAAA;AACFA,QAAAA,2DAAAA;AAEFA,QAAAA,yDAAAA;AACFA,QAAAA,2DAAAA;;;;AAxB4CA,QAAAA,0DAAAA;AACpBA,QAAAA,wDAAAA;AAAAA,QAAAA,0DAAAA;AAEYA,QAAAA,wDAAAA;AAAAA,QAAAA,yDAAAA;AAKOA,QAAAA,wDAAAA;AAAAA,QAAAA,yDAAAA;AAKpBA,QAAAA,wDAAAA;AAAAA,QAAAA,yDAAAA;AAUHA,QAAAA,wDAAAA;AAAAA,QAAAA,yDAAAA;;;;;;;;AD8BpB,SAAa4B,aAAb;AAAA;;;;;;;;;;;;;;;;;;AEpDA;AAKA;;AAQO,IAAM+J,qBAAb;AAAM,QAAOA,qBAAP,CAA4B;AAChClB,uBAAmB,CAACF,WAAD,EAA0B;AAC3C,aAAOA,WAAW,GACdA,WAAW,CAACqB,IAAZ,KAAqBvO,yFAArB,GACE,CACE0J,uGADF,EAEEA,wFAFF,EAGE2E,uGAHF,EAIEA,uGAJF,EAKEA,6GALF,EAMEA,sGANF,EAOEA,gGAPF,CADF,GAUE,CAAC3E,wFAAD,CAXY,GAYd,EAZJ;AAaD;;AAf+B;;;qBAArB4E;AAAqB;;;WAArBA;AAAqBU,aAArBV,qBAAqB;AAAAW,gBAFpB;;AAEd,SAAaX,qBAAb;AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACRA;AACA;AAoBA;AACA;CAGA;;AACA;AACA;AACA;AACA;AACA;AAYA;AACA;AACA;AACA;;;;;AAQO,IAAM+B,sBAAb;AAAM,QAAOA,sBAAP,CAA6B;AAQjCjQ,gBACmBkQ,MADnB,EAEmBC,WAFnB,EAGmBrF,KAHnB,EAG+B;AAFZ;AACA;AACA;AAVF,kCAA6C;AAC5DsF,mBAAW,EAAE,IAD+C;AAE5DC,gBAAQ,EAAEvB,qFAFkD;AAG5DyB,kBAAU,EAAE;AAHgD,OAA7C;AAKT,iCAAyC,IAAzC;AAON,WAAKC,iBAAL;AACD;;AAEDC,uBAAmB;AACjB,aAAO,KAAKP,MAAL,CAAYQ,IAAZ,CAAiBpB,8HAAjB,EAA8C,EACnD,GAAG,KAAKqB,oBAD2C;AAEnDzI,YAAI,EAAE;AACJ0I,eAAK,EAAE,sBADH;AAEJxO,iBAAO,EAAE,wBAFL;AAGJyO,iBAAO,EAAE,sCAHL;AAIJC,sBAAY,EAAE;AAAEC,gBAAI,EAAE;AAAR,WAJV;AAKJC,uBAAa,EAAE;AAAED,gBAAI,EAAE;AAAR;AALX;AAF6C,OAA9C,CAAP;AAUD;;AAEDE,6BAAyB;AACvB,aAAO,KAAKf,MAAL,CAAYQ,IAAZ,CAAiBpB,8HAAjB,EAA8C,EACnD,GAAG,KAAKqB,oBAD2C;AAEnDzI,YAAI,EAAE;AACJ0I,eAAK,EAAE,6BADH;AAEJxO,iBAAO,EAAE,+BAFL;AAGJyO,iBAAO,EAAE,6CAHL;AAIJC,sBAAY,EAAE;AAAEC,gBAAI,EAAE;AAAR,WAJV;AAKJC,uBAAa,EAAE;AAAED,gBAAI,EAAE;AAAR;AALX;AAF6C,OAA9C,CAAP;AAUD;;AAEDG,uBAAmB;AACjB,aAAO,KAAKhB,MAAL,CAAYQ,IAAZ,CACLnB,wHADK,EAEL,KAAKoB,oBAFA,CAAP;AAID;;AAEDQ,4BAAwB,CACtBC,UADsB,EACa;AAEnC,YAAM;AAAEP;AAAF,UAAcO,UAApB;AACA,WAAKC,mBAAL,GAA2B,KAAKnB,MAAL,CAAYQ,IAAZ,CACzBb,8IADyB,EAEzB,EACE,GAAG,KAAKc,oBADV;AAEEzI,YAAI,EAAE;AACJ0I,eAAK,EAAE,4BADH;AAEJxO,iBAAO,EAAE,4BAFL;AAGJ0O,sBAAY,EAAE;AAAEC,gBAAI,EAAE;AAAR,WAHV;AAIJC,uBAAa,EAAE;AAAED,gBAAI,EAAE;AAAR,WAJX;AAKJF;AALI;AAFR,OAFyB,CAA3B;AAcA,aAAO,KAAKQ,mBAAL,CACJC,WADI,GAEJrQ,IAFI,CAEC6I,0CAAG,CAAC,MAAM,KAAKyH,kBAAL,EAAP,CAFJ,CAAP;AAGD;;AAEDC,wBAAoB,CAClBC,KADkB,EAKlBxF,WALkB,EAMlBL,UANkB,EAMC;AAEnB,UAAI6F,KAAK,CAACC,MAAN,CAAahE,EAAb,KAAoBuB,4FAAxB,EAAiD;AAC/C,cAAM2C,QAAQ,GAAG3F,WAAW,CAACpD,MAAZ,KAAuBmG,6FAAxC;AACA,cAAM4B,KAAK,GAAGgB,QAAQ,GAClB,4BADkB,GAElB,0BAFJ;AAGA,cAAMxP,OAAO,GAAGwP,QAAQ,GACpB,8BADoB,GAEpB,4BAFJ;AAGA,aAAKP,mBAAL,GAA2B,KAAKS,4BAAL,CACzBlB,KADyB,EAEzBxO,OAFyB,CAA3B;AAIA,aAAKiP,mBAAL,CACGC,WADH,GAEGrQ,IAFH,CAGI6I,0CAAG,CAAC,MAAO,KAAKuH,mBAAL,GAA2B,IAAnC,CAHP,EAII9R,2CAAI,CAAC,CAAD,CAJR,EAKIyK,gDAAS,CAAE+H,WAAD,IAAwB;AAChC,cAAI,CAACA,WAAL,EAAkB;AAChB,mBAAOnI,yCAAE,CAAC,KAAD,CAAT;AACD;;AAED,cAAIgI,QAAJ,EAAc;AACZ,mBAAO,KAAKzB,WAAL,CACJ6B,gBADI,CAEHP,KAAK,CAACQ,YAAN,CAAmBrG,UAAnB,IAAiCA,UAF9B,EAGHK,WAAW,CAACyB,EAHT,EAIHqE,WAAW,GAAG/I,wDAJX,EAMJ/H,IANI,CAOH6I,0CAAG,CAACoI,MAAM,IAAG;AACX,kBAAIA,MAAM,GAAG,CAAC,CAAd,EAAiB;AACf,qBAAKpH,KAAL,CAAWwB,QAAX,CAAoBlC,gFAAA,EAApB;AACD;AACF,aAJE,CAPA,CAAP;AAaD;;AAED,iBAAO,KAAK+F,WAAL,CAAiBgC,aAAjB,CACLV,KAAK,CAACQ,YAAN,CAAmBrG,UAAnB,IAAiCA,UAD5B,EAELK,WAAW,CAACyB,EAFP,EAGLqE,WAAW,GAAG/I,wDAHT,CAAP;AAKD,SA1BQ,CALb,EAiCG9H,SAjCH;AAkCD,OA9CD,MA8CO,IAAIuQ,KAAK,CAACC,MAAN,CAAahE,EAAb,KAAoBuB,gGAAxB,EAAqD;AAC1D,aAAKoD,UAAL,CAAgBZ,KAAhB,EAAuBxF,WAAvB,EAAoCL,UAApC;AACD;AACF;;AAED0G,qBAAiB,CAACb,KAAD,EAAgC7F,UAAhC,EAAmD;AAClE,WAAKd,KAAL,CACG0B,MADH,CACUjD,sFADV,EAEGtI,IAFH,CAGIyO,wDAAiB,CAAC,KAAK5E,KAAL,CAAW0B,MAAX,CAAkB2C,qFAAlB,CAAD,CAHrB,EAII5P,2CAAI,CAAC,CAAD,CAJR,EAKIyK,gDAAS,CAAC,CAAC,CAACuI,IAAD,EAAOC,UAAP,CAAD,KAAuB;AAC/B,YAAI,CAACD,IAAL,EAAW;AACT,iBAAO3I,yCAAE,CAAC,KAAD,CAAT;AACD;;AAED,cAAM6I,mBAAmB,GACvBhB,KAAK,IAAIA,KAAK,CAAC7F,UAAf,GAA4B6F,KAA5B,GAAoCe,UADtC;;AAGA,gBAAQD,IAAI,CAAC1J,MAAb;AACE,eAAKmG,+FAAL;AACE,mBAAO,KAAK2D,oBAAL,CACLF,mBAAmB,CAAC7G,UADf,EAEL2G,IAAI,CAAC7E,EAFA,CAAP;;AAIF,eAAKsB,6FAAL;AACE,mBAAO,KAAK6D,gBAAL,CAAsBJ,mBAAtB,EAA2CF,IAA3C,CAAP;;AACF,eAAKvD,+FAAL;AACE,mBAAO,KAAK+D,aAAL,CACLtB,KAAK,EAAE7F,UAAP,IAAqB4G,UAAU,EAAE5G,UAAjC,IAA+CA,UAD1C,CAAP;;AAGF;AACE,mBAAOhC,yCAAE,CAAC,KAAD,CAAT;AAbJ;AAeD,OAvBQ,CALb,EA8BG1I,SA9BH;AA+BD;;AAED8R,qBAAiB;AACf,WAAK3B,mBAAL,GAA2B,KAAKnB,MAAL,CAAYQ,IAAZ,CAAiBpB,8HAAjB,EAA8C,EACvE,GAAG,KAAKqB,oBAD+D;AAEvEzI,YAAI,EAAE;AACJ0I,eAAK,EAAE,8BADH;AAEJxO,iBAAO,EAAE,8BAFL;AAGJ0O,sBAAY,EAAE;AAAEC,gBAAI,EAAE;AAAR,WAHV;AAIJC,uBAAa,EAAE;AAAED,gBAAI,EAAE;AAAR;AAJX;AAFiE,OAA9C,CAA3B;AASA,aAAO,KAAKM,mBAAL,CACJC,WADI,GAEJrQ,IAFI,CAEC6I,0CAAG,CAAC,MAAM,KAAKyH,kBAAL,EAAP,CAFJ,CAAP;AAGD;;AAED0B,sBAAkB;AAChB,WAAK5B,mBAAL,GAA2B,KAAKnB,MAAL,CAAYQ,IAAZ,CAAiBZ,wIAAjB,EAAgD,EACzE,GAAG,KAAKa,oBADiE;AAEzEzI,YAAI,EAAE;AACJ0I,eAAK,EAAE,0BADH;AAEJxO,iBAAO,EAAE,0BAFL;AAGJ0O,sBAAY,EAAE;AAAEC,gBAAI,EAAE;AAAR,WAHV;AAIJC,uBAAa,EAAE;AAAED,gBAAI,EAAE;AAAR,WAJX;AAKJF,iBAAO,EAAE;AAAEqC,uBAAW,EAAElD,2HAAmBA;AAAlC;AALL;AAFmE,OAAhD,CAA3B;AAWA,aAAO,KAAKqB,mBAAL,CACJC,WADI,GAEJrQ,IAFI,CAEC6I,0CAAG,CAAC,MAAM,KAAKyH,kBAAL,EAAP,CAFJ,CAAP;AAGD;;AAED4B,2BAAuB,CAACC,YAAD,EAAqB;AAC1C,WAAK/B,mBAAL,GAA2B,KAAKnB,MAAL,CAAYQ,IAAZ,CAAiBpB,8HAAjB,EAA8C,EACvE,GAAG,KAAKqB,oBAD+D;AAEvEzI,YAAI,EAAE;AACJ0I,eAAK,EAAE,qCADH;AAEJxO,iBAAO,EAAE,uCAFL;AAGJ0O,sBAAY,EAAE;AAAEC,gBAAI,EAAE;AAAR,WAHV;AAIJC,uBAAa,EAAE;AAAED,gBAAI,EAAEqC;AAAR;AAJX;AAFiE,OAA9C,CAA3B;AASA,aAAO,KAAK/B,mBAAL,CAAyBC,WAAzB,GAAuCrQ,IAAvC,CACL6I,0CAAG,CAAC,MAAM,KAAKyH,kBAAL,EAAP,CADE,EAELxH,0CAAG,CAAC7B,IAAI,IAAKA,IAAI,GAAGkL,YAAH,GAAkB,IAAhC,CAFE,CAAP;AAID;;AAEDC,yBAAqB,CACnBzC,KADmB,EAEnBxO,OAFmB,EAGnBkR,aAHmB,EAGW;AAE9B,aAAO,KAAKpD,MAAL,CAAYQ,IAAZ,CAAiBjB,iJAAjB,EAAmD,EACxD,GAAG,KAAKkB,oBADgD;AAExDzI,YAAI,EAAE;AAAE0I,eAAF;AAASxO,iBAAT;AAAkBkR;AAAlB;AAFkD,OAAnD,CAAP;AAID;;AAEDC,yBAAqB,CACnB3C,KADmB,EAEnBxO,OAFmB,EAGnBkR,aAHmB,EAGN;AAEb,WAAKjC,mBAAL,GAA2B,KAAKnB,MAAL,CAAYQ,IAAZ,CAAiBX,gIAAjB,EAA8C,EACvE,GAAG,KAAKY,oBAD+D;AAEvE6C,oBAAY,EAAE,IAFyD;AAGvEtL,YAAI,EAAE;AAAE0I,eAAF;AAASxO,iBAAT;AAAkBkR;AAAlB;AAHiE,OAA9C,CAA3B;AAMA,aAAO,KAAKjC,mBAAZ;AACD;;AAEDS,gCAA4B,CAC1BlB,KAD0B,EAE1BxO,OAF0B,EAEX;AAEf,aAAO,KAAK8N,MAAL,CAAYQ,IAAZ,CAAiBlB,0HAAjB,EAA4C,EACjD,GAAG,KAAKmB,oBADyC;AAEjDzI,YAAI,EAAE;AAAE0I,eAAF;AAASxO;AAAT;AAF2C,OAA5C,CAAP;AAID;;AAEDqR,+BAA2B,CAACC,WAAD,EAAqB;AAC9C,YAAM9C,KAAK,GAAG8C,WAAW,GACrB,kCADqB,GAErB,8BAFJ;AAGA,YAAMtR,OAAO,GAAGsR,WAAW,GACvB,oCADuB,GAEvB,gCAFJ;AAIA,WAAKrC,mBAAL,GAA2B,KAAKnB,MAAL,CAAYQ,IAAZ,CAAiBpB,8HAAjB,EAA8C,EACvE,GAAG,KAAKqB,oBAD+D;AAEvEzI,YAAI,EAAE;AACJ0I,eADI;AAEJxO,iBAFI;AAGJ0O,sBAAY,EAAE;AAAEC,gBAAI,EAAE;AAAR,WAHV;AAIJC,uBAAa,EAAE;AAAED,gBAAI,EAAE;AAAR;AAJX;AAFiE,OAA9C,CAA3B;AAUA,aAAO,KAAKM,mBAAL,CACJC,WADI,GAEJrQ,IAFI,CAEC6I,0CAAG,CAAC,MAAM,KAAKyH,kBAAL,EAAP,CAFJ,CAAP;AAGD;;AAEOoC,sBAAkB,CACxB1B,YADwB,EAExB2B,MAFwB,EAGxBC,yBAHwB,EAIxBC,gBAJwB,EAIE;AAE1B,YAAMV,YAAY,GAAGS,yBAAyB,GAC1C,gBAD0C,GAE1C,mBAFJ;;AAIA,UAAIA,yBAAyB,IAAIC,gBAAjC,EAAmD;AACjD,cAAMlD,KAAK,GAAGkD,gBAAgB,GAC1B,oCAD0B,GAE1B,sCAFJ;AAGA,cAAM1R,OAAO,GAAG0R,gBAAgB,GAC5B,sCAD4B,GAE5B,wCAFJ;AAGA,aAAKzC,mBAAL,GAA2B,KAAKnB,MAAL,CAAYQ,IAAZ,CACzBjB,iJADyB,EAEzB,EACE,GAAG,KAAKkB,oBADV;AAEEzI,cAAI,EAAE;AACJ0I,iBADI;AAEJxO,mBAFI;AAGJ0O,wBAAY,EAAE;AAAEC,kBAAI,EAAE;AAAR,aAHV;AAIJC,yBAAa,EAAE;AAAED,kBAAI,EAAEqC;AAAR,aAJX;AAKJE,yBAAa,EAAE,CAACrB,YAAD,EAAe2B,MAAf;AALX;AAFR,SAFyB,CAA3B;AAaD,OApBD,MAoBO;AACL,aAAKvC,mBAAL,GAA2B,KAAKnB,MAAL,CAAYQ,IAAZ,CAAiBpB,8HAAjB,EAA8C,EACvE,GAAG,KAAKqB,oBAD+D;AAEvEzI,cAAI,EAAE;AACJ0I,iBAAK,EAAE,6BADH;AAEJxO,mBAAO,EAAE,+BAFL;AAGJ0O,wBAAY,EAAE;AAAEC,kBAAI,EAAE;AAAR,aAHV;AAIJC,yBAAa,EAAE;AAAED,kBAAI,EAAEqC;AAAR;AAJX;AAFiE,SAA9C,CAA3B;AASD;;AAED,aAAO,KAAK/B,mBAAL,CACJC,WADI,GAEJrQ,IAFI,CAEC6I,0CAAG,CAAC,MAAM,KAAKyH,kBAAL,EAAP,CAFJ,CAAP;AAGD;;AAEOoB,wBAAoB,CAC1B/G,UAD0B,EAE1BmI,aAF0B,EAEL;AAErB,WAAK1C,mBAAL,GAA2B,KAAKnB,MAAL,CAAYQ,IAAZ,CAAiBpB,8HAAjB,EAA8C,EACvE,GAAG,KAAKqB,oBAD+D;AAEvEzI,YAAI,EAAE;AACJ0I,eAAK,EAAE,oCADH;AAEJxO,iBAAO,EAAE,sCAFL;AAGJ0O,sBAAY,EAAE;AAAEC,gBAAI,EAAE;AAAR,WAHV;AAIJC,uBAAa,EAAE;AAAED,gBAAI,EAAE;AAAR;AAJX;AAFiE,OAA9C,CAA3B;AAUA,aAAO,KAAKM,mBAAL,CAAyBC,WAAzB,GAAuCrQ,IAAvC,CACL6I,0CAAG,CAAC,MAAM,KAAKyH,kBAAL,EAAP,CADE,EAELrH,6CAAM,CAAChC,IAAI,IAAIA,IAAT,CAFD,EAGL3I,2CAAI,CAAC,CAAD,CAHC,EAILyK,gDAAS,CAAC,MACR,KAAKmG,WAAL,CAAiB6D,WAAjB,CAA6B;AAAEpI,kBAAF;AAAcmI;AAAd,OAA7B,CADO,CAJJ,CAAP;AAQD;;AAEOlB,oBAAgB,CACtBL,UADsB,EAEtBD,IAFsB,EAEL;AAEjB,YAAM0B,kBAAkB,GACtB1B,IAAI,CAAC2B,SAAL,KAAmBnF,4GADrB;AAEA,YAAM6B,KAAK,GAAGqD,kBAAkB,GAC5B,sBAD4B,GAE5B,uBAFJ;AAGA,YAAM7R,OAAO,GAAG6R,kBAAkB,GAC9B,wBAD8B,GAE9B,yBAFJ;AAGA,YAAMG,iBAAiB,GAEnBH,kBAAkB,GAClBrK,yCAAE,CAAC,IAAD,CADgB,GAElB,KAAKkB,KAAL,CAAW0B,MAAX,CAAkB6C,kGAAlB,CAJJ;AAMA,aAAO+E,iBAAiB,CAACnT,IAAlB,CACL+I,gDAAS,CAACqK,gBAAgB,IAAG;AAC3B,aAAKhD,mBAAL,GAA2B,KAAKnB,MAAL,CAAYQ,IAAZ,CACzBjB,iJADyB,EAEzB,EACE,GAAG,KAAKkB,oBADV;AAEEzI,cAAI,EAAE;AACJ0I,iBADI;AAEJxO,mBAFI;AAGJkR,yBAAa,EAAEW,kBAAkB,GAC7B,IAD6B,GAE7B,CACEzB,UADF,EAEE6B,gBAAgB,CAACxL,MAAjB,KAA4BuG,mGAA5B,GACIiF,gBADJ,GAEI,IAJN,CALA;AAWJxD,mBAAO,EAAE;AAAE0D,wBAAU,EAAE;AAAd,aAXL;AAYJvD,yBAAa,EAAE;AAAED,kBAAI,EAAE;AAAR;AAZX;AAFR,SAFyB,CAA3B;AAoBA,eAAO,KAAKM,mBAAL,CAAyBC,WAAzB,EAAP;AACD,OAtBQ,CADJ,EAwBLtH,gDAAS,CACN9B,IAAD,IAGK;AACH,aAAKqJ,kBAAL;;AACA,YAAI,CAACrJ,IAAL,EAAW;AACT,iBAAO0B,yCAAE,CAAC,KAAD,CAAT;AACD;;AAED,YAAI4K,aAAa,GAAGtF,6FAApB;;AAEA,YAAIhH,IAAI,CAACwM,oBAAT,EAA+B;AAC7B,gBAAMjJ,cAAc,GAClBvD,IAAI,CAACwM,oBAAL,CAA0BhH,EAA1B,IACkBxF,IAAI,CAACwM,oBAAL,CAA2BjJ,cAF/C;AAGA+I,uBAAa,GACX/I,cAAc,KAAK+G,UAAU,CAAC/G,cAA9B,GACIyD,mGADJ,GAEIA,qGAHN;AAID;;AAED,eAAO,KAAKiB,WAAL,CAAiB0E,QAAjB,CACLrC,UAAU,CAAC5G,UADN,EAEL4I,aAFK,CAAP;AAID,OA1BM,CAxBJ,EAoDLjV,2CAAI,CAAC,CAAD,CApDC,CAAP;AAsDD;;AAEO8S,cAAU,CAChBZ,KADgB,EAKhBxF,WALgB,EAMhBL,UANgB,EAMG;AAEnB,YAAMiI,yBAAyB,GAC7B5H,WAAW,IACX,CACE8C,4GADF,EAEEA,0GAFF,EAGEA,wGAHF,EAIEA,0GAJF,EAKEA,wGALF,EAMErC,QANF,CAMWT,WAAW,CAACiI,SANvB,CAFF;AASA,YAAMiB,oBAAoB,GACxBlJ,WAAW,EAAEiI,SAAb,KAA2BnF,4GAD7B;AAEA,YAAM+E,gBAAgB,GACpB7H,WAAW,EAAEiI,SAAb,KAA2BnF,wGAD7B;AAEA,YAAMsG,kBAAkB,GACtBpJ,WAAW,KACVA,WAAW,EAAEqJ,gBAAb,EAA+B5I,QAA/B,CACCwC,oGADD,KAGCjD,WAAW,EAAEqJ,gBAAb,EAA+B5I,QAA/B,CACEwC,qGADF,CAJS,CADb;AAQA,UAAIkF,iBAAiB,GACnBxK,yCAAE,CAAC,IAAD,CADJ;;AAGA,UAAIiK,yBAAyB,IAAIwB,kBAAjC,EAAqD;AACnDjB,yBAAiB,GAAG,KAAKtJ,KAAL,CAAW0B,MAAX,CAAkB6C,kGAAlB,CAApB;AACD;;AAED+E,uBAAiB,CACdnT,IADH,CAEI1B,2CAAI,CAAC,CAAD,CAFR,EAGIyK,gDAAS,CAAC4J,MAAM,IAAG;AACjB,YAAIuB,oBAAJ,EAA0B;AACxB,iBAAO,KAAKK,iCAAL,EAAP;AACD;;AAED,eAAO,KAAK7B,kBAAL,CACLlC,KAAK,CAACQ,YADD,EAEL2B,MAAM,EAAE/K,MAAR,KAAmBuG,mGAAnB,GAAoDwE,MAApD,GAA6D,IAFxD,EAGLC,yBAHK,EAILC,gBAJK,CAAP;AAMD,OAXQ,CAHb,EAeIvU,2CAAI,CAAC,CAAD,CAfR,EAgBI2K,6CAAM,CAACuL,SAAS,IAAIA,SAAS,IAAIA,SAAS,KAAK,sBAAzC,CAhBV,EAiBIzL,gDAAS,CACN9B,IAAD,IAGK;AACH,YAAI4L,gBAAJ,EAAsB;AACpB,eAAKhJ,KAAL,CAAWwB,QAAX,CAAoBlC,gFAAA,EAApB;AACD;;AAED,eAAO,KAAKsL,sBAAL,CACL9J,UADK,EAELiI,yBAFK,EAGLpC,KAAK,IAAIA,KAAK,CAACQ,YAHV,EAIL/J,IAAI,CAACwM,oBAJA,CAAP;AAMD,OAfM,CAjBb,EAmCGxT,SAnCH;AAoCD;;AAEOwU,0BAAsB,CAC5B9J,UAD4B,EAE5BiI,yBAF4B,EAG5B5B,YAH4B,EAI5BoC,gBAJ4B,EAII;AAEhC,aAAOzE,0CAAG,CACR,MAAMiE,yBADE,EAER,KAAK1D,WAAL,CAAiB0E,QAAjB,CACE5C,YAAY,CAACrG,UAAb,IAA2BA,UAD7B,EAEEyI,gBAAgB,IAAIA,gBAAgB,CAAC3G,EAAjB,KAAwBuE,YAAY,CAACvE,EAAzD,GACIwB,kGADJ,GAEIA,oGAJN,CAFQ,EAQR,KAAKiB,WAAL,CAAiB0E,QAAjB,CACE5C,YAAY,CAACrG,UAAb,IAA2BA,UAD7B,EAEEsD,4FAFF,CARQ,CAAV;AAaD;;AAEOsG,qCAAiC;AACvC,WAAKnE,mBAAL,GAA2B,KAAKnB,MAAL,CAAYQ,IAAZ,CAAiBpB,8HAAjB,EAA8C,EACvE,GAAG,KAAKqB,oBAD+D;AAEvEzI,YAAI,EAAE;AACJ0I,eAAK,EAAE,4BADH;AAEJxO,iBAAO,EAAE,8BAFL;AAGJ0O,sBAAY,EAAE;AAAEC,gBAAI,EAAE;AAAR,WAHV;AAIJC,uBAAa,EAAE;AAAED,gBAAI,EAAE;AAAR;AAJX;AAFiE,OAA9C,CAA3B;AAUA,aAAO,KAAKM,mBAAL,CACJC,WADI,GAEJrQ,IAFI,CAEC6I,0CAAG,CAAC,MAAM,KAAKyH,kBAAL,EAAP,CAFJ,CAAP;AAGD;;AAEOwB,iBAAa,CAACnH,UAAD,EAAmB;AACtC,WAAKyF,mBAAL,GAA2B,KAAKnB,MAAL,CAAYQ,IAAZ,CAAiBpB,8HAAjB,EAA8C,EACvE,GAAG,KAAKqB,oBAD+D;AAEvEzI,YAAI,EAAE;AACJ0I,eAAK,EAAE,wBADH;AAEJxO,iBAAO,EAAE,0BAFL;AAGJ0O,sBAAY,EAAE;AAAEC,gBAAI,EAAE;AAAR,WAHV;AAIJC,uBAAa,EAAE;AAAED,gBAAI,EAAE;AAAR;AAJX;AAFiE,OAA9C,CAA3B;AAUA,aAAO,KAAKM,mBAAL,CAAyBC,WAAzB,GAAuCrQ,IAAvC,CACL6I,0CAAG,CAAC,MAAM,KAAKyH,kBAAL,EAAP,CADE,EAELrH,6CAAM,CAACgI,MAAM,IAAIA,MAAX,CAFD,EAGLlI,gDAAS,CAAC,MACR,KAAKmG,WAAL,CAAiB0E,QAAjB,CAA0BjJ,UAA1B,EAAsCsD,4FAAtC,CADO,CAHJ,CAAP;AAOD;;AAEOqC,sBAAkB;AACxB,WAAKF,mBAAL,GAA2B,IAA3B;AACD;;AAEOb,qBAAiB;AACvB,WAAK1F,KAAL,CACG0B,MADH,CACUjD,sFADV,EAEGtI,IAFH,CAEQ0O,2DAAoB,EAF5B,EAGGzO,SAHH,CAGa,MAAK;AACd,YAAI,KAAKmQ,mBAAT,EAA8B;AAC5B,eAAKA,mBAAL,CAAyBwE,KAAzB;AACA,eAAKxE,mBAAL,GAA2B,IAA3B;AACD;AACF,OARH;AASD;;AAjjBgC;;;qBAAtBpB,wBAAsB1N,uDAAAA,CAAAA,gEAAAA,GAAAA,uDAAAA,CAAAA,gEAAAA,GAAAA,uDAAAA,CAAAA,+CAAAA;AAAA;;;WAAtB0N;AAAsBrB,aAAtBqB,sBAAsB;AAAApB,gBAFrB;;AAEd,SAAaoB,sBAAb;AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AC1DA;AACA;AAEA;AAYA;AAWA;;;;;;;;AAKO,IAAMiG,eAAb;AAAM,QAAOA,eAAP,CAAsB;AAC1BlW,gBACmBmW,OADnB,EAEmBtL,YAFnB,EAGmBuL,kBAHnB,EAImBlW,SAJnB,EAKmB4K,KALnB,EAMmBuL,qBANnB,EAOmBlG,WAPnB,EAO2C;AANxB;AACA;AACA;AACA;AACA;AACA;AACA;AACf;;AAEJpE,qBAAiB,CAACuK,WAAW,GAAG,KAAf,EAAoB;AACnC,aAAO,KAAKH,OAAL,CACJnV,GADI,CACe;AAClBuG,YAAI,EAAE,oBADY;AAElBgP,cAAM,EAAE;AACNC,cAAI,EAAE,KAAKtW,SAAL,CAAeuW,WAAf,IAA8BjX,mFAAekB;AAD7C,SAFU;AAKlB4V;AALkB,OADf,EAQJrV,IARI,CASH8I,mDAAG,CAAE2M,CAAD,IAAsB,KAAKC,2BAAL,CAAiCD,CAAjC,CAAvB,CATA,EAUHZ,0DAAU,CAAEc,KAAD,IAAkD;AAC3D,YAAI,EAAEA,KAAK,YAAYZ,mFAAjB,IAAyCY,KAAK,CAACC,IAAN,IAAc,KAAzD,CAAJ,EAAqE;AACnE,eAAKhM,YAAL,CAAkBsC,eAAlB,CAAkC;AAChCyD,iBAAK,EAAE,qBADyB;AAEhCgG,iBAAK,EAAGA,KAAyB,CAACE,MAA1B,GACHF,KAAyB,CAACE,MADvB,GAEFF,KAA8B,CAACG,KAA/B,CAAqCD;AAJX,WAAlC;AAMD;;AAED,eAAOlN,wCAAE,CAAC,IAAD,CAAT;AACD,OAXS,CAVP,CAAP;AAuBD;;AAEDoN,gBAAY,CAACzP,IAAD,EAAwB;AAClC,aAAO,KAAK4O,OAAL,CACJnV,GADI,CAC4B;AAC/BuG,YAAI,EAAE,iBAAiBA,IAAI,sBADI;AAE/B0P,aAAK,EAAE;AACLT,cAAI,EAAE,KAAKtW,SAAL,CAAeuW,WAAf,IAA8BjX,mFAAekB;AAD9C;AAFwB,OAD5B,EAOJO,IAPI,CAQH8I,mDAAG,CAAEmN,CAAD,IAAYA,CAAC,CAACC,OAAf,CARA,EASHpN,mDAAG,CAAC,KAAKqN,mBAAN,CATA,EAUHtB,0DAAU,CAAC,MAAMlM,wCAAE,CAAC,IAAD,CAAT,CAVP,CAAP;AAYD;;AAEDyN,mBAAe,CACb3J,EADa,EAEbE,eAFa,EAGb0J,KAHa,EAIbC,MAJa,EAKbC,IALa,EAKiB;AAE9B,YAAMC,qBAAqB,GAAGD,IAAI,GAC9BA,IAAI,KAAKvB,oHADqB,GAE9BuB,IAFJ;AAIA,aAAO,KAAKrB,OAAL,CACJwB,GADI,CACQ;AACXpQ,YAAI,EAAE,sBAAsBgQ,MAAM,EADvB;AAEXK,YAAI,EAAE;AACJlK,YADI;AAEJE,yBAFI;AAGJ0J,eAHI;AAIJG;AAJI;AAFK,OADR,EAUJxW,IAVI,CAWH6U,0DAAU,CAACc,KAAK,IAAG;AACjB,aAAK/L,YAAL,CAAkBsC,eAAlB,CAAkC;AAChCyD,eAAK,EAAE,qBADyB;AAEhCgG,eAAK,EAAEA,KAAK,CAACE;AAFmB,SAAlC;AAKA,eAAOlN,wCAAE,CAAC,CAAC,CAAF,CAAT;AACD,OAPS,CAXP,CAAP;AAoBD;;AAEDiO,mBAAe,CAACnK,EAAD,EAAW;AACxB,aAAO,KAAKyI,OAAL,CACJwB,GADI,CACQ;AAAEpQ,YAAI,EAAE,4BAAR;AAAsCqQ,YAAI,EAAE;AAAElK;AAAF;AAA5C,OADR,EAEJzM,IAFI,CAGH6I,mDAAG,CAACoI,MAAM,IAAG;AACX,YAAIA,MAAM,GAAG,CAAC,CAAd,EAAiB;AACf,eAAKrH,YAAL,CAAkBsC,eAAlB,CAAkC;AAChCyD,iBAAK,EAAE;AADyB,WAAlC;AAGD;AACF,OANE,CAHA,EAUHkF,0DAAU,CAACc,KAAK,IAAG;AACjB,aAAK/L,YAAL,CAAkBsC,eAAlB,CAAkC;AAChCyD,eAAK,EAAE,qBADyB;AAEhCgG,eAAK,EAAEA,KAAK,CAACE;AAFmB,SAAlC;AAKA,eAAOlN,wCAAE,CAAC,CAAC,CAAF,CAAT;AACD,OAPS,CAVP,CAAP;AAmBD;;AAEDkO,kBAAc,CAACpK,EAAD,EAAW;AACvB,aAAO,KAAKyI,OAAL,CACJwB,GADI,CACQ;AAAEpQ,YAAI,EAAE,2BAAR;AAAqCqQ,YAAI,EAAE;AAAElK;AAAF;AAA3C,OADR,EAEJzM,IAFI,CAGH6U,0DAAU,CAACc,KAAK,IAAG;AACjB,aAAK/L,YAAL,CAAkBsC,eAAlB,CAAkC;AAChCyD,eAAK,EAAE,qBADyB;AAEhCgG,eAAK,EAAEA,KAAK,CAACE;AAFmB,SAAlC;AAKA,eAAOlN,wCAAE,CAAC,CAAC,CAAF,CAAT;AACD,OAPS,CAHP,CAAP;AAYD;;AAED+B,qBAAiB,CACfC,UADe,EAEf8B,EAFe,EAGf7B,UAHe,EAGG;AAElB,aAAO,KAAKf,KAAL,CAAW0B,MAAX,CAAkBjD,qFAAlB,EAAqCtI,IAArC,CACL1B,oDAAI,CAAC,CAAD,CADC,EAELyK,0DAAS,CAAEiC,WAAD,IAA6B;AACrC,YACEA,WAAW,IACXA,WAAW,CAACG,QAAZ,KAAyB2J,kGAF3B,EAGE;AACA,cACE,CAAC/G,8FAAD,EAA6BA,4FAA7B,EAAuDtC,QAAvD,CACET,WAAW,CAACpD,MADd,CADF,EAIE;AACA,kBAAMmI,aAAa,GAAG,mBAAtB;AACA,mBAAO,KAAKqF,qBAAL,CACJlD,uBADI,CACoBnC,aADpB,EAEJ/P,IAFI,CAGH+I,0DAAS,CAAC9B,IAAI,IAAG;AACf,kBAAIA,IAAI,KAAK8I,aAAb,EAA4B;AAC1B,uBAAOpH,wCAAE,CAAC,CAAD,CAAT;AACD;;AACD,qBAAO,KAAKiL,QAAL,CAAc5I,WAAd,EAA2BL,UAA3B,EAAuC8B,EAAvC,CAAP;AACD,aALQ,CAHN,CAAP;AAUD;;AAED,cACE,CAACsB,8FAAD,EAA6BA,4FAA7B,EAAuDtC,QAAvD,CACET,WAAW,CAACpD,MADd,CADF,EAIE;AACA,mBAAO,KAAKgM,QAAL,CAAc5I,WAAd,EAA2BL,UAA3B,EAAuC8B,EAAvC,CAAP;AACD;AACF;;AAED,eAAO,KAAK0I,kBAAL,CAAwBzK,iBAAxB,CACLC,UADK,EAEL8B,EAFK,EAGL7B,UAHK,CAAP;AAKD,OArCQ,CAFJ,EAwCLiK,0DAAU,CAAEc,KAAD,IAA2B;AACpC,aAAK/L,YAAL,CAAkBsC,eAAlB,CAAkC;AAChCyD,eAAK,EAAE,qBADyB;AAEhCgG,eAAK,EAAEA,KAAK,CAACE;AAFmB,SAAlC;AAKA,eAAOlN,wCAAE,CAAC,CAAC,CAAF,CAAT;AACD,OAPS,CAxCL,CAAP;AAiDD;;AAEDoO,qBAAiB,CACfpM,UADe,EAEf8B,EAFe,EAGf7B,UAHe,EAGG;AAElB,aAAO,KAAKuK,kBAAL,CAAwB4B,iBAAxB,CACLpM,UADK,EAEL8B,EAFK,EAGL7B,UAHK,CAAP;AAKD;;AAEOgJ,YAAQ,CACd5I,WADc,EAEdL,UAFc,EAGd8B,EAHc,EAGJ;AAEV,YAAM6J,MAAM,GACVtL,WAAW,CAACR,cAAZ,KAA+BiC,EAA/B,GACIwB,iGADJ,GAEIA,mGAHN;AAIA,aAAO,KAAKiB,WAAL,CACJ0E,QADI,CAEHjJ,UAFG,EAGHK,WAAW,CAACqJ,gBAAZ,CAA6B5I,QAA7B,CAAsC6K,MAAtC,IACIA,MADJ,GAEIrI,2FALD,EAOJjO,IAPI,CAOC+I,0DAAS,CAAC,MAAMJ,wCAAE,CAAC,CAAD,CAAT,CAPV,CAAP;AAQD;;AAEO+M,+BAA2B,CAACsB,QAAD,EAAwB;AACzD,aAAO,EACL,GAAGA,QADE;AAELC,qBAAa,EAAED,QAAQ,CAACC,aAAT,CAAuBnO,GAAvB,CAA2B,CAACoO,EAAD,EAAKjB,CAAL,EAAQkB,GAAR,MAAiB,EACzD,GAAGD,EADsD;AAEzDlG,sBAAY,EAAEkG,EAAE,CAAClG,YAAH,IAAmB,EAC/B,GAAGkG,EAAE,CAAClG,YADyB;AAE/BrE,2BAAe,EACbuK,EAAE,CAAClG,YAAH,CAAgBrE,eAAhB,IACAuK,EAAE,CAAClG,YAAH,CAAgBrE,eAAhB,GAAkC,EAJL;AAK/ByK,sBAAU,EAAE,KAAKC,4BAAL,CAAkCF,GAAlC,EAAuCD,EAAvC,EAA2CjB,CAA3C;AALmB;AAFwB,SAAjB,CAA3B;AAFV,OAAP;AAaD;;AAEOoB,gCAA4B,CAClCpQ,IADkC,EAElCqQ,YAFkC,EAGlCC,YAHkC,EAGd;AAEpB,YAAMC,eAAe,GACnBvQ,IAAI,CAACwQ,SAAL,CAAe,MAAK;AAClB,eACExQ,IAAI,CACD6B,GADH,CACO2M,CAAC,IAAKA,CAAC,CAACzE,YAAF,GAAiByE,CAAC,CAACzE,YAAF,CAAe5B,QAAhC,GAA2C,IADxD,EAEGsI,OAFH,CAEWJ,YAAY,EAAEtG,YAAd,EAA4B5B,QAFvC,MAEqDmI,YAHvD;AAKD,OAND,IAMK,CAAC,CAPR;;AASA,UACED,YAAY,CAACtG,YAAb,IACAsG,YAAY,CAACtG,YAAb,CAA0BoG,UAD1B,IAEAI,eAHF,EAIE;AACA,eAAO,KAAP;AACD;;AAED,aAAOF,YAAY,EAAEtG,YAAd,EAA4BpJ,MAA5B,KACLuG,uGADK,GAEH,KAFG,GAGHmJ,YAAY,EAAEtG,YAAd,EAA4BoG,UAHhC;AAID;;AAEOjB,uBAAmB,CAACyB,IAAD,EAAoB;AAC7C,UAAI,CAACA,IAAL,EAAW;AACT,eAAOA,IAAP;AACD;;AAED,aAAO,EACL,GAAGA,IADE;AAELC,yBAAiB,EACfD,IAAI,CAACC,iBAAL,IACAD,IAAI,CAACC,iBAAL,CAAuB/O,GAAvB,CAA2BgP,EAAE,KAAK,EAChC,GAAGA,EAD6B;AAEhCC,kBAAQ,EAAED,EAAE,CAACC,QAAH,KAAgBD,EAAE,CAACC,QAAH,IAAe,EAA/B,CAFsB;AAGhCC,yBAAe,EAAEF,EAAE,CAACE,eAAH,GACbF,EAAE,CAACE,eAAH,CAAmBlP,GAAnB,CAAuBmP,EAAE,KAAK,EAC5B,GAAGA,EADyB;AAE5BF,oBAAQ,EAAEE,EAAE,CAACF,QAAH,GAAc;AAFI,WAAL,CAAzB,CADa,GAKb;AAR4B,SAAL,CAA7B;AAJG,OAAP;AAeD;;AAjRyB;;;qBAAf9C,iBAAe3T,uDAAAA,CAAAA,6EAAAA,GAAAA,uDAAAA,CAAAA,wFAAAA,GAAAA,uDAAAA,CAAAA,sFAAAA,GAAAA,uDAAAA,CAAAA,kEAAAA,GAAAA,uDAAAA,CAAAA,+CAAAA,GAAAA,uDAAAA,CAAAA,6EAAAA,GAAAA,uDAAAA,CAAAA,mEAAAA;AAAA;;;WAAf2T;AAAetH,aAAfsH,eAAe;AAAArH,gBAFd;;AAEd,SAAaqH,eAAb;AAAA;;;;;;;;;;;;;;;;;ACjBO,IAAKiD,WAIX;AAJD,aAAYA,WAAZ,EAAuB;AACrBA;AACAA;AACAA;AACD,GAJD,EAAYA,WAAW,KAAXA,WAAW,MAAvB,CAIC;;AAAA,SAJWA,WAIX;AAAA,IAJD;AAMO,MAAMC,gBAAgB,GAA4B,CACvD;AACExI,OAAK,EAAE,mBADT;AAEEyI,UAAQ,EAAEF,WAAW,CAACG;AAFxB,CADuD,EAKvD;AACE1I,OAAK,EAAE,oBADT;AAEEyI,UAAQ,EAAEF,WAAW,CAACI;AAFxB,CALuD,EASvD;AACE3I,OAAK,EAAE,oBADT;AAEEyI,UAAQ,EAAEF,WAAW,CAACK;AAFxB,CATuD,CAAlD,EAoDP;;AACO,IAAKvL,gCAMX;AAND,aAAYA,gCAAZ,EAA4C;AAC1CA;AACAA;AACAA;AACAA;AACAA;AACD,GAND,EAAYA,gCAAgC,KAAhCA,gCAAgC,MAA5C,CAMC;;AAAA,SANWA,gCAMX;AAAA,IAND;;;;;;;;;;;;;;;;;;;;;;;;;ACzEA;AACA;AAEA;AAMA;AAWA;;;;;;AAWO,IAAMyL,iBAAb;AAAM,QAAOA,iBAAP,CAAwB;AAC5B1Z,gBACmB8K,KADnB,EAEmBuL,qBAFnB,EAGmBlG,WAHnB,EAImBzF,eAJnB,EAImD;AAHhC;AACA;AACA;AACA;AACf;;AAIJyB,gBAAY,CAACuK,CAAD,EAAiB;AAC3B,UACEA,CAAC,CAACxK,kBAAF,KACCwK,CAAC,CAACxK,kBAAF,CAAqBgI,SAArB,KACCnF,2GADD,IAEC2H,CAAC,CAACxK,kBAAF,CAAqBgI,SAArB,KAAmCnF,uGAHrC,CADF,EAKE;AACA,aAAKjE,KAAL,CAAWwB,QAAX,CACElC,iFAAA,CAAgC;AAC9BwP,mBAAS,EAAElD,CAAC,CAACxK,kBAAF,CAAqB0N,SADF;AAE9BhM,yBAAe,EAAE8I,CAAC,CAACxK,kBAAF,CAAqB0B,eAFR;AAG9BhC,oBAAU,EAAE8K,CAAC,CAAChJ,EAHgB;AAI9BmM,uBAAa,EAAE,CACb,EACE,IAAI,KAAKC,aAAL,CACFpD,CAAC,CAACwB,aADA,EAEFxB,CAAC,CAACqD,mBAAF,CAAsBtO,cAFpB,EAGFwG,YAHE,IAGc,IAHlB,CADF;AAKEuF,gBAAI,EAAEd,CAAC,CAACxK,kBAAF,CAAqBgI;AAL7B,WADa,EAQb,KAAK8F,6BAAL,CACEtD,CAAC,CAACwB,aADJ,EAEExB,CAAC,CAACqD,mBAAF,CAAsBtO,cAFxB,KAGK,IAXQ,CAJe;AAiB9BS,4BAAkB,EAAE,EAAE,GAAGwK,CAAC,CAACxK;AAAP;AAjBU,SAAhC,CADF;AAqBD;AACF;;AAEe,QAAZ+N,YAAY;AACd,aAAO,CAAC,CAAC,KAAKC,UAAd;AACD;;AAEDC,cAAU,CAAC5C,MAAD,EAAmB;AAC3B,UAAI,CAAC,KAAK2C,UAAV,EAAsB;AACpB,aAAKA,UAAL,GAAkB,KAAK7D,qBAAL,CAA2B9C,qBAA3B,CAChB,oCADgB,EAEhB,sCAFgB,EAGhB;AAAEgE;AAAF,SAHgB,CAAlB;;AAKA,aAAK2C,UAAL,CACGE,YADH,GAEGnZ,IAFH,CAEQ1B,oDAAI,CAAC,CAAD,CAFZ,EAGG2B,SAHH,CAGcgR,MAAD,IAAuB;AAChC,cAAIA,MAAJ,EAAY;AACV,iBAAKmI,eAAL,CAAqBnI,MAArB,EAA6BqF,MAA7B;AACD,WAFD,MAEO;AACL,iBAAK+C,WAAL;AACD;AACF,SATH;AAUD;AACF;;AAEDA,eAAW;AACT,UAAI,KAAKJ,UAAT,EAAqB;AACnB,aAAKA,UAAL,CAAgBrE,KAAhB;;AACA,aAAKqE,UAAL,GAAkB,IAAlB;AACD;AACF;;AAEDrF,YAAQ,CAACjJ,UAAD,EAAmB;AACzB,WAAKuE,WAAL,CAAiB0E,QAAjB,CAA0BjJ,UAA1B,EAAsCsD,2FAAtC,EAA+DhO,SAA/D;AACD;;AAEOmZ,mBAAe,CAACnI,MAAD,EAAqBK,IAArB,EAAqC;AAC1D,cAAQL,MAAM,CAACqI,MAAf;AACE,aAAKpR,kEAAL;AACA,aAAKA,iEAAL;AACE,eAAKuR,gBAAL,CAAsB,EACpB,GAAGxI,MAAM,CAACwC,oBADU;AAEpB9I,sBAAU,EAAE2G,IAAI,CAAC3G;AAFG,WAAtB;;AAIA;;AACF,aAAKzC,kEAAL;AACE,eAAKgH,WAAL,CACG6B,gBADH,CAEIO,IAAI,CAAC3G,UAFT,EAGI2G,IAAI,CAACrG,kBAAL,CAAwBwB,EAH5B,EAIIwE,MAAM,CAAC8G,QAAP,GAAkBhQ,wDAJtB,EAMG9H,SANH,CAMawV,CAAC,IAAI,KAAKkE,SAAL,CAAelE,CAAC,GAAG,CAAC,CAApB,CANlB;AAOA;;AACF;AACE,eAAKkE,SAAL,CAAe,IAAf;;AACA;AAnBJ;AAqBD;;AAEOA,aAAS,CAAClE,CAAD,EAAW;AAC1B,UAAIA,CAAJ,EAAO;AACL,aAAK5L,KAAL,CAAWwB,QAAX,CAAoBlC,gFAAA,EAApB;AACA,aAAKkQ,WAAL;AACD;AACF;;AAEOI,oBAAgB,CAACxS,IAAD,EAAsB;AAC5C,WAAKwC,eAAL,CACGiB,iBADH,CACqBzD,IAAI,CAAC0D,UAD1B,EACsC1D,IAAI,CAACwF,EAD3C,EAC+CxF,IAAI,CAAC2D,UADpD,EAEG5K,IAFH,CAEQ1B,oDAAI,CAAC,CAAD,CAFZ,EAGG2B,SAHH,CAGawV,CAAC,IAAI,KAAKkE,SAAL,CAAelE,CAAC,GAAG,CAAC,CAApB,CAHlB;AAID;;AAEOoD,iBAAa,CAACe,KAAD,EAAenN,EAAf,EAAyB;AAC5C,aAAOmN,KAAK,CAACC,IAAN,CACLC,IAAI,IACFA,IAAI,CAACrN,EAAL,KAAYA,EAAZ,IAAmBqN,IAAI,CAAC9I,YAAL,IAAqB8I,IAAI,CAAC9I,YAAL,CAAkBvE,EAAlB,KAAyBA,EAF9D,CAAP;AAID;;AAEOsM,iCAA6B,CAACa,KAAD,EAAeG,SAAf,EAAgC;AACnE,YAAMC,WAAW,GAAGxB,qDAAQ,CAC1BoB,KAD0B,EAE1BE,IAAI,IACFA,IAAI,CAACrN,EAAL,KAAYsN,SAAZ,IACCD,IAAI,CAAC9I,YAAL,IAAqB8I,IAAI,CAAC9I,YAAL,CAAkBvE,EAAlB,KAAyBsN,SAJvB,CAA5B;AAMA,YAAMxC,YAAY,GAAGqC,KAAK,CAAClC,OAAN,CAAcsC,WAAd,CAArB;;AAEA,UAAIzC,YAAY,KAAK,CAAC,CAAlB,IAAuBA,YAAY,KAAKqC,KAAK,CAAC3N,MAAN,GAAe,CAA3D,EAA8D;AAC5D,eAAO,IAAP;AACD;;AAED,WAAK,IAAIgK,CAAC,GAAGsB,YAAY,GAAG,CAA5B,EAA+BtB,CAAC,GAAG2D,KAAK,CAAC3N,MAAzC,EAAiDgK,CAAC,EAAlD,EAAsD;AACpD,YAAI2D,KAAK,CAAC3D,CAAD,CAAL,CAASjF,YAAT,IAAyB,IAA7B,EAAmC;AACjC,iBAAO4I,KAAK,CAAC3D,CAAD,CAAL,CAASjF,YAAhB;AACD;AACF;;AAED,aAAO,IAAP;AACD;;AA7I2B;;;qBAAjByH,mBAAiBnX,sDAAAA,CAAAA,8CAAAA,GAAAA,sDAAAA,CAAAA,gGAAAA,GAAAA,sDAAAA,CAAAA,sDAAAA,GAAAA,sDAAAA,CAAAA,iFAAAA;AAAA;;;WAAjBmX;AAAiB9K,aAAjB8K,iBAAiB;AAAA7K,gBAFhB;;AAEd,SAAa6K,iBAAb;AAAA;;;;;;;;;;;;;;;;;;;ACnBA;AACA;;;AA6BO,IAAMwB,WAAb;AAAM,QAAOA,WAAP,CAAkB;AACtBlb,gBACmBmW,OADnB,EAEmBtL,YAFnB,EAE0D;AADvC;AACA;AACf;;AAEJsQ,sBAAkB,CAACvP,UAAD,EAAmB;AACnC,aAAO,KAAKuK,OAAL,CAAanV,GAAb,CACL,aAAa4K,UAAU,kBADlB,CAAP;AAGD;;AAEDwP,qBAAiB,CAACxD,IAAD,EAA0B;AACzC,aAAO,KAAKzB,OAAL,CAAakF,IAAb,CAA8B;AACnC9T,YAAI,EAAE,aAAaqQ,IAAI,CAAChM,UAAU,iBADC;AAEnCgM;AAFmC,OAA9B,CAAP;AAID;;AAED0D,kBAAc,CAAC1D,IAAD,EAA4B;AACxC,aAAO,KAAKzB,OAAL,CAAakF,IAAb,CAA8B;AACnC9T,YAAI,EAAE,aAAaqQ,IAAI,CAAChM,UAAU,cADC;AAEnCgM;AAFmC,OAA9B,CAAP;AAID;;AAED2D,mBAAe,CAAC3D,IAAD,EAA6B;AAC1C,aAAO,KAAKzB,OAAL,CACJkF,IADI,CACS;AACZ9T,YAAI,EAAE,aAAaqQ,IAAI,CAAChM,UAAU,eADtB;AAEZgM;AAFY,OADT,EAKJ3W,IALI,CAKC6U,0DAAU,CAACc,KAAK,IAAI,KAAK4E,iBAAL,CAAuB5E,KAAvB,CAAV,CALX,CAAP;AAMD;;AAED5E,oBAAgB,CACdpG,UADc,EAEdmI,aAFc,EAGd0H,cAHc,EAGQ;AAEtB,aAAO,KAAKtF,OAAL,CACJwB,GADI,CACQ;AACXpQ,YAAI,EAAE,aAAaqE,UAAU,gBADlB;AAEXgM,YAAI,EAAE;AACJhM,oBADI;AAEJmI,uBAFI;AAGJ0H;AAHI;AAFK,OADR,EASJxa,IATI,CASC6U,0DAAU,CAACc,KAAK,IAAI,KAAK4E,iBAAL,CAAuB5E,KAAvB,CAAV,CATX,CAAP;AAUD;;AAED/B,YAAQ,CACNjJ,UADM,EAEN2L,MAFM,EAEkB;AAExB,aAAO,KAAKpB,OAAL,CAAawB,GAAb,CAA6B;AAClCpQ,YAAI,EAAE,aAAaqE,UAAU,WADK;AAElCgM,YAAI,EAAE;AAAEhM,oBAAF;AAAc2L;AAAd;AAF4B,OAA7B,CAAP;AAID;;AAEDmE,iBAAa,CAAC9P,UAAD,EAAqB+P,MAArB,EAAmC;AAC9C,aAAO,KAAKxF,OAAL,CAAanV,GAAb,CAA6B;AAClCuG,YAAI,EAAE,aAAaqE,UAAU,kBAAkB+P,MAAM;AADnB,OAA7B,CAAP;AAGD;;AAEDC,oBAAgB,CACdhQ,UADc,EACI;AAElB,aAAO,KAAKuK,OAAL,CAAanV,GAAb,CACL,aAAa4K,UAAU,0BADlB,CAAP;AAGD;;AAEDuG,iBAAa,CACXvG,UADW,EAEXmI,aAFW,EAGX8H,oBAHW,EAGiB;AAE5B,aAAO,KAAK1F,OAAL,CAAawB,GAAb,CAA6B;AAClCpQ,YAAI,EAAE,aAAaqE,UAAU,kBADK;AAElCgM,YAAI,EAAE;AAAEhM,oBAAF;AAAcmI,uBAAd;AAA6B8H;AAA7B;AAF4B,OAA7B,CAAP;AAID;;AAED7H,eAAW,CAAC4D,IAAD,EAGV;AACC,aAAO,KAAKzB,OAAL,CAAakF,IAAb,CAA0B;AAC/B9T,YAAI,EAAE,aAAaqQ,IAAI,CAAChM,UAAU,uBADH;AAE/BgM;AAF+B,OAA1B,CAAP;AAID;;AAEO4D,qBAAiB,CAAC5E,KAAD,EAAuB;AAC9C,WAAK/L,YAAL,CAAkBsC,eAAlB,CAAkC;AAChCyD,aAAK,EAAE,qBADyB;AAEhCgG,aAAK,EAAEA,KAAK,CAACE;AAFmB,OAAlC;AAKA,aAAOlN,wCAAE,CAAC,CAAC,CAAF,CAAT;AACD;;AAxGqB;;;qBAAXsR,aAAW3Y,sDAAAA,CAAAA,6EAAAA,GAAAA,sDAAAA,CAAAA,wFAAAA;AAAA;;;WAAX2Y;AAAWtM,aAAXsM,WAAW;AAAArM,gBAFV;;AAEd,SAAaqM,WAAb;AAAA;;;;;;;;;;;;;;;;;;;;;;ACnCA;AAEA;AACA;;;;AAMO,IAAM7T,qBAAb;AAAM,QAAOA,qBAAP,CAA4B;AAChCrH,gBACmB8K,KADnB,EAEmBgR,MAFnB,EAEiC;AADd;AACA;AACf;;AAEJlU,eAAW,CACTmU,KADS,EAETC,KAFS,EAEiB;AAE1B,YAAMC,gBAAgB,GAAaF,KAAK,CAAC7T,IAAN,CAAWC,KAA9C;;AACA,UAAI8T,gBAAJ,EAAsB;AACpB,eAAO,KAAKnR,KAAL,CAAW0B,MAAX,CAAkBpD,uFAAlB,EAAqCnI,IAArC,CACL+I,+CAAS,CAACkS,IAAI,IAAG;AACf,gBAAMC,cAAc,GAClBD,IAAI,IAAID,gBAAgB,CAACG,IAAjB,CAAsBrB,IAAI,IAAIA,IAAI,KAAKmB,IAAI,CAAC/N,IAA5C,CADV;;AAEA,cAAI,CAACgO,cAAL,EAAqB;AACnB,iBAAKL,MAAL,CAAYO,QAAZ,CAAqB,CAAClV,gGAAD,CAArB,EAAqD;AACnDoV,gCAAkB,EAAE;AAD+B,aAArD;AAGD;;AAED,iBAAO3S,wCAAE,CAACuS,cAAD,CAAT;AACD,SAVQ,CADJ,CAAP;AAaD;;AAED,aAAOvS,wCAAE,CAAC,IAAD,CAAT;AACD;;AAED4S,oBAAgB,CACdT,KADc,EAEdC,KAFc,EAEY;AAE1B,aAAO,KAAKpU,WAAL,CAAiBmU,KAAjB,EAAwBC,KAAxB,CAAP;AACD;;AAnC+B;;;qBAArB3U,uBAAqB9E,sDAAAA,CAAAA,8CAAAA,GAAAA,sDAAAA,CAAAA,mDAAAA;AAAA;;;WAArB8E;AAAqBuH,aAArBvH,qBAAqB;AAAAwH,gBAFpB;;AAEd,SAAaxH,qBAAb;AAAA;;;;;;;;;;;;;;;;;;;;;;ACbA;AAMA;;;;;;AAIO,IAAMxH,sBAAb;AAAM,QAAOA,sBAAP,SAAsCF,wFAAtC,CAA0D;AAC9DK,gBACWG,iBADX,EAEW2b,MAFX,EAGWW,cAHX,EAIWvc,SAJX,EAKWwc,YALX,EAK8B;AAE5B,YAAMvc,iBAAN,EAAyB2b,MAAzB,EAAiCW,cAAjC,EAAiDvc,SAAjD,EAA4Dwc,YAA5D;AANS;AACA;AACA;AACA;AACA;AAGV;;AAEDC,6BAAyB;AACvB,WAAKxc,iBAAL,CAAuBqM,MAAvB,CAA8B,KAAKrM,iBAAL,CAAuByc,WAArD;AACA,YAAMC,eAAe,GAAG,KAAK1c,iBAAL,CAAuB2c,KAAvB,CAA6BC,IAA7B,CAAkCjC,IAAlC,CACtBkC,CAAC,IAAIA,CAAC,CAACpM,KAAF,KAAY1H,8DADK,CAAxB;AAGA2T,qBAAe,CAACI,QAAhB,GAA2B,KAA3B;AACD;;AAEDC,sBAAkB,CAAC7D,WAAwB,IAAzB,EAA6B;AAC7C,YAAM8D,WAAW,GAAG9D,QAAQ,GAAG;AAAEA;AAAF,OAAH,GAAkB,EAA9C;AAEA,WAAKyC,MAAL,CAAYO,QAAZ,CAAqB,CAAC,GAAGjV,mEAAuB,EAA3B,CAArB,EAAqD;AAAE+V;AAAF,OAArD;AACD;;AAED3R,oBAAgB,CACdkC,EADc,EAEd2L,WAAmB,IAFL,EAGd+D,cAAsB,IAHR,EAGY;AAE1B,YAAMD,WAAW,GAAG9D,QAAQ,GACxB+D,WAAW,GACT;AAAE/D,gBAAF;AAAY+D;AAAZ,OADS,GAET;AAAE/D;AAAF,OAHsB,GAIxB,EAJJ;AAKA,WAAKyC,MAAL,CAAYO,QAAZ,CAAqB,CAACjV,2EAAD,EAAkCsG,EAAlC,CAArB,EAA4D;AAC1DyP;AAD0D,OAA5D;AAGD;;AAEDE,qBAAiB,CAAC3P,EAAD,EAAW;AAC1B,WAAKoO,MAAL,CAAYO,QAAZ,CAAqB,CAACjV,kEAAD,EAAyBsG,EAAzB,CAArB;AACD;;AAED4P,4BAAwB;AACtB,WAAKxB,MAAL,CAAYO,QAAZ,CAAqB,CAAC,GAAGjV,yEAA6B,EAAjC,CAArB;AACD;;AAEDmW,0BAAsB,CAAC3R,UAAD,EAAqB4R,UAArB,EAAuC;AAC3D,WAAK1B,MAAL,CAAYO,QAAZ,CAAqB,CACnBjV,mEADmB,EAEnBwE,UAFmB,EAGnBxE,uEAHmB,EAInBoW,UAJmB,CAArB;AAMD;;AAEDC,uBAAmB,CACjB5U,SAA0B3B,4FADT,EACiC;AAElD,WAAK4U,MAAL,CAAYO,QAAZ,CACE,CACExT,MAAM,KAAK3B,4FAAX,GACIC,gGADJ,GAEIA,oGAHN,CADF,EAME;AAAEoV,0BAAkB,EAAE;AAAtB,OANF;AAQD;;AAEDmB,mBAAe;AACb,aAAO,KAAK5B,MAAL,CAAY6B,GAAZ,IAAmB,EAA1B;AACD;;AAEQC,sBAAkB;AACzB,YAAMb,IAAI,GAAW,CACnB;AACEnM,aAAK,EAAE1H,8DADT;AAEE3B,YAAI,EAAEH,mEAFR;AAGEyW,YAAI,EAAE;AAHR,OADmB,EAMnB;AACEjN,aAAK,EAAE1H,oEADT;AAEE3B,YAAI,EAAEH,yEAFR;AAGEyW,YAAI,EAAE;AAHR,OANmB,CAArB;AAaA,aAAOd,IAAP;AACD;;AAzF6D;;;qBAAnDld,wBAAsB0C,sDAAAA,CAAAA,gFAAAA,GAAAA,sDAAAA,CAAAA,mDAAAA,GAAAA,sDAAAA,CAAAA,2DAAAA,GAAAA,sDAAAA,CAAAA,iEAAAA,GAAAA,sDAAAA,CAAAA,4DAAAA;AAAA;;;WAAtB1C;AAAsB+O,aAAtB/O,sBAAsB;AAAAgP,gBADT;;AAC1B,SAAahP,sBAAb;AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACZA;AACA;AAGA;AACA;AAQA;AAMA;AACA;;;;;;AAGO,IAAMme,gBAAb;AAAM,QAAOA,gBAAP,CAAuB;AAC3Bhe,gBACUmW,OADV,EAEUlW,MAFV,EAGUI,WAHV,EAIUwK,YAJV,EAKU3K,SALV,EAMU+d,SANV,EAOUnT,KAPV,EAOkC;AANxB;AACA;AACA;AACA;AACA;AACA;AACA;AACN;;AAEJoT,yBAAqB;AACnB,YAAMC,SAAS,GAAG,KAAKF,SAAL,CAAevN,IAAf,CAAoBqN,kIAApB,EAAyC;AACzD3N,mBAAW,EAAE,IAD4C;AAEzDoD,oBAAY,EAAE,IAF2C;AAGzDjD,kBAAU,EAAE;AAH6C,OAAzC,CAAlB;AAKA4N,eAAS,CAACC,iBAAV,CAA4B5G,IAA5B,GAAmC,UAAnC;AACA2G,eAAS,CAAC7M,WAAV,GAAwBpQ,SAAxB,CAAkCgH,IAAI,IAAG;AACvC,YAAIA,IAAI,KAAK,eAAb,EAA8B;AAC5B,eAAKmW,WAAL,CAAiB;AACfC,wBAAY,EAAEpW,IAAI,CAACqW,KAAL,CAAWD,YADV;AAEfvN,gBAAI,EAAE7I,IAAI,CAACqW,KAAL,CAAWC,QAFF;AAGfrQ,gBAAI,EAAEvO,yFAAqBiC;AAHZ,WAAjB,EAIGX,SAJH;AAKD;AACF,OARD;AASD;;AAEDud,0BAAsB;AACpB,WAAK3T,KAAL,CACG0B,MADH,CACUpD,uFADV,EAEGnI,IAFH,CAEQ1B,oDAAI,CAAC,CAAD,CAFZ,EAGG2B,SAHH,CAGa4L,WAAW,IAAG;AACvB,YAAIA,WAAJ,EAAiB;AACf,gBAAMqR,SAAS,GAAG,KAAKF,SAAL,CAAevN,IAAf,CAAoBqN,kIAApB,EAAyC;AACzD3N,uBAAW,EAAE,IAD4C;AAEzDoD,wBAAY,EAAE,IAF2C;AAGzDjD,sBAAU,EAAE;AAH6C,WAAzC,CAAlB;AAKA4N,mBAAS,CAACC,iBAAV,CAA4B5G,IAA5B,GAAmC,WAAnC;AACA2G,mBAAS,CAACC,iBAAV,CAA4BM,IAA5B,CAAiC1d,GAAjC,CAAqC,OAArC,EAA8C2d,UAA9C,CACE;AACEH,oBAAQ,EAAE1R,WAAW,CAACiE,IADxB;AAEEuN,wBAAY,EAAExR,WAAW,CAACwR;AAF5B,WADF,EAKE;AAAEM,qBAAS,EAAE,KAAb;AAAoBC,oBAAQ,EAAE;AAA9B,WALF;AAOAV,mBAAS,CAACC,iBAAV,CAA4BM,IAA5B,CAAiCI,WAAjC;AACAX,mBAAS,CAAC7M,WAAV,GAAwBpQ,SAAxB,CAAkCgH,IAAI,IAAG;AACvC,gBAAIA,IAAI,KAAK,eAAb,EAA8B;AAC5B,mBAAK6W,YAAL,CAAkB,IAAlB,EAAwB7d,SAAxB;AACD;AACF,WAJD;AAKD;AACF,OAzBH;AA0BD;;AAEDa,gBAAY;AACV,UAAI,KAAK1B,WAAL,CAAiB2e,OAAjB,CAAyBpf,2FAAzB,CAAJ,EAAuD;AACrD,aAAKkL,KAAL,CAAWwB,QAAX,CACEwR,uFAAc,CAAC;AACbhR,qBAAW,EAAE;AACXwR,wBAAY,EAAE,KAAKje,WAAL,CAAiB4e,SAAjB,EADH;AAEXlO,gBAAI,EAAE,KAAK1Q,WAAL,CAAiB6e,WAAjB,EAFK;AAGX/Q,gBAAI,EAAEvO,2FAAuBgC;AAHlB;AADA,SAAD,CADhB;AASD;;AAED,YAAMud,kBAAkB,GAAGC,IAAI,CAACC,KAAL,CACzB,KAAKpf,MAAL,CAAYuB,SAAZ,CAAsB/B,0FAAtB,CADyB,CAA3B;;AAIA,UAAI,CAAC0f,kBAAL,EAAyB;AACvB,eAAOvV,wCAAE,CAAC,KAAD,CAAT;AACD;;AAED,WAAKkB,KAAL,CAAWwB,QAAX,CAAoBwR,uFAAc,CAAC;AAAEhR,mBAAW,EAAEqS;AAAf,OAAD,CAAlC;AAEA,aAAO,KAAKhJ,OAAL,CACJnV,GADI,CACS;AACZuG,YAAI,EAAE,yBADM;AAEZ0P,aAAK,EAAE;AACLqH,sBAAY,EAAEa,kBAAkB,CAACb;AAD5B;AAFK,OADT,EAOJrd,IAPI,CAQH6I,mDAAG,CAACoI,MAAM,IAAG;AACX,YAAI,CAACA,MAAL,EAAa;AACX,eAAK6M,YAAL,GAAoB7d,SAApB;AACD;AACF,OAJE,CARA,CAAP;AAcD;;AAEDmd,eAAW,CAACvR,WAAD,EAA0B;AACnC,aAAO,KAAKqJ,OAAL,CACJkF,IADI,CACU;AACb9T,YAAI,EAAE,qBADO;AAEbqQ,YAAI,EAAE;AACJ9K,qBAAW,EAAE;AACXwR,wBAAY,EAAExR,WAAW,CAACwR,YADf;AAEXvN,gBAAI,EAAEjE,WAAW,CAACiE,IAFP;AAGX5C,gBAAI,EAAEvO,yFAAqBiC;AAHhB;AADT;AAFO,OADV,EAWJZ,IAXI,CAYH6I,mDAAG,CAAC,MAAK;AACP,YAAIgD,WAAJ,EAAiB;AACf,eAAKjC,YAAL,CAAkBsC,eAAlB,CAAkC;AAChCC,uBAAW,EAAE,KAAKlN,SAAL,CAAemN,OAAf,CAAuB,wBAAvB,EAAiD,CAC5DP,WAAW,CAACiE,IAAZ,CAAiBuO,KAAjB,CAAuB,GAAvB,EAA4B,CAA5B,CAD4D,CAAjD;AADmB,WAAlC;AAKD;;AAED,aAAKrf,MAAL,CAAYsf,SAAZ,CACE9f,0FADF,EAEE2f,IAAI,CAACI,SAAL,CAAe1S,WAAf,CAFF,EAGE,CAHF;AAMA2S,kBAAU,CAAC,MAAK;AACdC,gBAAM,CAACC,QAAP,CAAgBC,OAAhB,CAAwB,GAAxB;AACD,SAFS,EAEP3W,uDAFO,CAAV;AAGD,OAlBE,CAZA,EA+BH6M,0DAAU,CAAEc,KAAD,IAA2B;AACpC,aAAK/L,YAAL,CAAkBsC,eAAlB,CAAkC;AAChCyD,eAAK,EAAE,qBADyB;AAEhCgG,eAAK,EAAEA,KAAK,CAACE;AAFmB,SAAlC;AAKA,aAAKiI,YAAL,GAAoB7d,SAApB;AAEA,eAAO0I,wCAAE,CAAC,IAAD,CAAT;AACD,OATS,CA/BP,CAAP;AA0CD;;AAEDmV,gBAAY,CAACc,QAAQ,GAAG,KAAZ,EAAiB;AAC3B,UAAI,KAAKxf,WAAL,CAAiB2e,OAAjB,CAAyBpf,2FAAzB,CAAJ,EAAuD;AACrD,eAAOgK,wCAAE,CAAC,KAAD,CAAT;AACD;;AAED,aAAO,KAAKkB,KAAL,CAAW0B,MAAX,CAAkBpD,uFAAlB,EAAqCnI,IAArC,CACL1B,oDAAI,CAAC,CAAD,CADC,EAELyK,+CAAS,CAAC8C,WAAW,IAAG;AACtB,YAAI,CAACA,WAAL,EAAkB;AAChB,iBAAO,KAAKgT,YAAL,EAAP;AACD;;AAED,eAAO,KAAK3J,OAAL,CACJkF,IADI,CACU;AACb9T,cAAI,EAAE,sBADO;AAEbqQ,cAAI,EAAE;AACJ9K,uBAAW,EAAE;AACXwR,0BAAY,EAAExR,WAAW,CAACwR;AADf;AADT;AAFO,SADV,EASJrd,IATI,CAUH6I,mDAAG,CAACoI,MAAM,IAAG;AACX,cAAIA,MAAJ,EAAY;AACV,iBAAKrH,YAAL,CAAkBsC,eAAlB,CAAkC;AAChCC,yBAAW,EAAEyS,QAAQ,GACjB,iCADiB,GAEjB;AAH4B,aAAlC;AAKD;;AACD,iBAAO,KAAKC,YAAL,EAAP;AACD,SATE,CAVA,EAoBHhK,0DAAU,CAAC,MAAM,KAAKgK,YAAL,EAAP,CApBP,CAAP;AAsBD,OA3BQ,CAFJ,CAAP;AA+BD;;AAEDA,gBAAY;AACV,WAAKhV,KAAL,CAAWwB,QAAX,CAAoBwR,uFAAc,CAAC;AAAEhR,mBAAW,EAAE;AAAf,OAAD,CAAlC;AACA,WAAK7M,MAAL,CAAY8f,WAAZ,CAAwBtgB,0FAAxB;AAEAggB,gBAAU,CAAC,MAAK;AACdC,cAAM,CAACC,QAAP,CAAgBC,OAAhB,CAAwB,GAAxB;AACD,OAFS,EAEP3W,uDAFO,CAAV;AAIA,aAAOW,wCAAE,CAAC,IAAD,CAAT;AACD;;AA7L0B;;;qBAAhBoU,kBAAgBzb,uDAAAA,CAAAA,8EAAAA,GAAAA,uDAAAA,CAAAA,oFAAAA,GAAAA,uDAAAA,CAAAA,8EAAAA,GAAAA,uDAAAA,CAAAA,yFAAAA,GAAAA,uDAAAA,CAAAA,kEAAAA,GAAAA,uDAAAA,CAAAA,gEAAAA,GAAAA,uDAAAA,CAAAA,+CAAAA;AAAA;;;WAAhByb;AAAgBpP,aAAhBoP,gBAAgB;AAAAnP,gBADH;;AAC1B,SAAamP,gBAAb;AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACjBA;AAeA;AAOA;AASA;AAEA;;;;;;;;;;AAYO,IAAKsD,aAGX;AAHD,aAAYA,aAAZ,EAAyB;AACvBA;AACAA;AACD,GAHD,EAAYA,aAAa,KAAbA,aAAa,MAAzB,CAGC;;AAAA,SAHWA,aAGX;AAAA,IAHD;AAKO,IAAKC,oBAEX;AAFD,aAAYA,oBAAZ,EAAgC;AAC9BA;AACD,GAFD,EAAYA,oBAAoB,KAApBA,oBAAoB,MAAhC,CAEC;;AAAA,SAFWA,oBAEX;AAAA,IAFD;AAIO,IAAKC,gBAGX;AAHD,aAAYA,gBAAZ,EAA4B;AAC1BA;AACAA;AACD,GAHD,EAAYA,gBAAgB,KAAhBA,gBAAgB,MAA5B,CAGC;;AAAA,SAHWA,gBAGX;AAAA,IAHD;AAMO,IAAM1hB,sBAAb;AAAM,QAAOA,sBAAP,SAAsCmgB,wFAAtC,CAA0D;AAC9DjgB,gBACYyhB,IADZ,EAEYxhB,MAFZ,EAGYI,WAHZ,EAIYH,SAJZ,EAKY2K,YALZ,EAMYC,KANZ,EAOY4W,IAPZ,EAQYC,kBARZ,EASmBrhB,gBATnB,EAUmB8V,kBAVnB,EAUyD;AAEvD,YAAMqL,IAAN,EAAYxhB,MAAZ,EAAoBI,WAApB,EAAiCH,SAAjC,EAA4C2K,YAA5C,EAA0DC,KAA1D;AAXU;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO;AACA;AAGlB;;AAEQ8W,gBAAY;AACnB,YAAMA,YAAN;;AAEA,UAAI,KAAKC,UAAT,EAAqB;AACnB,aAAK/W,KAAL,CAAWwB,QAAX,CACEqU,wFAAe,CAAC;AAAEmB,sBAAY,EAAE,KAAKC,eAAL;AAAhB,SAAD,CADjB,EADmB,CAKnB;;AACA,aAAKF,UAAL,CAAgBG,EAAhB,CACE7B,gGADF,EAEGjY,IAAD,IAA0B;AACxB,kBAAQA,IAAI,CAACga,WAAb;AACE,iBAAKhC,0GAAL;AACE,mBAAKpV,KAAL,CAAWwB,QAAX,CACE2U,kGAA2B,CAAC;AAAE1K,sBAAM,EAAE,KAAK6L,SAAL,CAAela,IAAf;AAAV,eAAD,CAD7B;AAGA;;AACF,iBAAKgY,mGAAL;AACE,mBAAKpV,KAAL,CAAWwB,QAAX,CACE8U,mGAA4B,CAAC;AAC3BkB,2BAAW,EAAE,KAAKF,SAAL,CAAela,IAAf;AADc,eAAD,CAD9B;AAKA;;AACF,iBAAKgY,2FAAL;AACE,mBAAKpV,KAAL,CAAWwB,QAAX,CACE6U,4FAAqB,CAAC;AACpBqB,gCAAgB,EAAE;AAChB/W,gCAAc,EAAEvD,IAAI,CAACua,IAAL,CAAUC,cADV;AAEhBC,wBAAM,EAAEza,IAAI,CAAC0a;AAFG;AADE,eAAD,CADvB;AAQA;;AACF,iBAAK1C,+FAAL;AACE,mBAAKpV,KAAL,CAAWwB,QAAX,CACE4U,+FAAwB,CAAC;AACvB4B,qCAAqB,EAAE;AACrBrX,gCAAc,EAAEvD,IAAI,CAACua,IAAL,CAAUC,cADL;AAErBC,wBAAM,EAAEza,IAAI,CAAC0a;AAFQ;AADA,eAAD,CAD1B;AAQA;;AACF,iBAAK1C,4FAAL;AACE,mBAAKpV,KAAL,CAAWwB,QAAX,CACE+U,4FAAqB,CAAC;AACpB2B,gCAAgB,EAAE;AAChBvX,gCAAc,EAAEvD,IAAI,CAACua,IAAL,CAAUC,cADV;AAEhBO,0BAAQ,EAAE/a,IAAI,CAACgb,QAFC;AAGhBP,wBAAM,EAAEza,IAAI,CAAC0a;AAHG;AADE,eAAD,CADvB;AASA;AA3CJ;AA6CD,SAhDH,EANmB,CAwDnB;;AACA,aAAKf,UAAL,CAAgBG,EAAhB,CACEV,aAAa,CAAC6B,WADhB,EAEGC,UAAD,IAA2B;AACzB,eAAKtY,KAAL,CAAWwB,QAAX,CAAoBgU,8EAAa,CAAC;AAAE8C;AAAF,WAAD,CAAjC;AACD,SAJH;AAMA,aAAKvB,UAAL,CAAgBG,EAAhB,CAAmBV,aAAa,CAAC+B,UAAjC,EAA6CjhB,OAAO,IAAG;AACrD,eAAK0I,KAAL,CAAWwB,QAAX,CACEkU,8EAAa,CAAC;AACZpe,mBAAO,EAAE;AACPsL,gBAAE,EAAEtL,OAAO,CAACkhB,EADL;AAEPC,oBAAM,EAAEnhB,OAAO,CAACohB,MAFT;AAGPC,0BAAY,EAAErhB,OAAO,CAACshB,YAHf;AAIPC,sBAAQ,EAAEvhB,OAAO,CAACxC,QAJX;AAKPwC,qBAAO,EAAEA,OAAO,CAACwhB,OALV;AAMPC,uBAAS,EAAEzhB,OAAO,CAAC0hB,SANZ;AAOPC,sBAAQ,EAAE3hB,OAAO,CAAC4hB,QAPX;AAQPC,4BAAc,EAAE7hB,OAAO,CAAC8hB;AARjB;AADG,WAAD,CADf;AAcD,SAfD,EA/DmB,CA+EnB;;AACA,aAAKrC,UAAL,CAAgBG,EAAhB,CAAmBR,gBAAgB,CAAC2C,cAApC,EAAoDjc,IAAI,IAAG;AACzD,cAAIA,IAAI,CAACkc,QAAT,EAAmB;AACjB,iBAAKtZ,KAAL,CAAWwB,QAAX,CACEuU,sFAAa,CAAC;AACZ/T,yBAAW,EAAE;AACXwR,4BAAY,EAAEpW,IAAI,CAACkc,QAAL,CAAcd,EADjB;AAEXvS,oBAAI,EAAE7I,IAAI,CAACkc,QAAL,CAAcrT,IAFT;AAGX5C,oBAAI,EAAEvO,yFAAqBiC;AAHhB;AADD,aAAD,CADf;AASA,iBAAKuU,kBAAL,CAAwBiO,cAAxB,CAAuCnc,IAAI,CAACkc,QAAL,CAAcrT,IAArD;AACD;AACF,SAbD;AAcA,aAAK8Q,UAAL,CAAgBG,EAAhB,CAAmBR,gBAAgB,CAAC8C,eAApC,EAAqDpc,IAAI,IAAG;AAC1D,cAAIA,IAAI,CAACkc,QAAT,EAAmB;AACjB,iBAAKtZ,KAAL,CAAWwB,QAAX,CACEwU,uFAAc,CAAC;AACbhU,yBAAW,EAAE5E,IAAI,CAACkc;AADL,aAAD,CADhB;AAKA,iBAAKhO,kBAAL,CAAwBiO,cAAxB,CAAuCnc,IAAI,CAACkc,QAAL,CAAcrT,IAArD;AACD;AACF,SATD;AAUA,aAAK8Q,UAAL,CAAgBG,EAAhB,CAAmBT,oBAAoB,CAACgD,cAAxC,EAAwDrc,IAAI,IAAG;AAC7D,gBAAMsc,QAAQ,GAAG;AACftI,gBAAI,EAAE;AACJoC,0BAAY,EAAEpW,IAAI,CAACuc,IAAL,CAAUC,YADpB;AAEJ3T,kBAAI,EAAE7I,IAAI,CAACuc,IAAL,CAAUE,IAFZ;AAGJxW,kBAAI,EAAEjG,IAAI,CAACuc,IAAL,CAAUG;AAHZ,aADS;AAMfC,gBAAI,EAAE3c,IAAI,CAAC4c,IANI;AAOf5c,gBAAI,EAAEA,IAAI,CAACua;AAPI,WAAjB;AASA,eAAK3X,KAAL,CAAWwB,QAAX,CAAoBsU,oFAAW,CAAC;AAAE4D;AAAF,WAAD,CAA/B;AACD,SAXD,EAxGmB,CAoHnB;;AACA,aAAK3C,UAAL,CAAgBG,EAAhB,CACE7B,gGADF,EAEGjY,IAAD,IAA0B;AACxB,kBAAQA,IAAI,CAACga,WAAb;AACE,iBAAKhC,mGAAL;AACA,iBAAKA,4FAAL;AACE,mBAAKpV,KAAL,CAAWwB,QAAX,CAAoB0T,gGAAwB,CAAC;AAAEzJ,sBAAM,EAAErO;AAAV,eAAD,CAA5C;AACA;AAJJ;AAMD,SATH,EArHmB,CAgInB;;AACA,aAAK2Z,UAAL,CAAgBG,EAAhB,CACE3B,sGADF,EAEGnY,IAAD,IAA0B;AACxB,kBAAQA,IAAI,CAACkY,gBAAb;AACE,iBAAKA,oGAAL;AACE,mBAAKtV,KAAL,CAAW0B,MAAX,CAAkBpD,uFAAlB,EAAqClI,SAArC,CAA+C4L,WAAW,IAAG;AAC3D,oBAAIA,WAAJ,EAAiB;AACf,wBAAMqY,KAAK,GAAGjd,IAAI,CAACua,IAAL,CAAU2C,KAAV,CAAgBlb,MAAhB,CACZmb,CAAC,IAAIA,CAAC,CAAC/G,YAAF,KAAmBxR,WAAW,CAACwR,YADxB,CAAd;;AAGA,sBAAI6G,KAAK,CAACjY,MAAN,GAAe,CAAnB,EAAsB;AACpB,yBAAKpC,KAAL,CAAWwB,QAAX,CACEW,sFAAe,CAAC;AACdA,qCAAe,EAAEkY,KAAK,CAACpb,GAAN,CAAUsb,CAAC,IAAIA,CAAC,CAACC,QAAjB;AADH,qBAAD,CADjB;AAKD;AACF;AACF,eAbD;AAcA;;AACF,iBAAKlF,oGAAL;AACE,mBAAKtV,KAAL,CAAW0B,MAAX,CAAkBpD,uFAAlB,EAAqClI,SAArC,CAA+C4L,WAAW,IAAG;AAC3D,oBAAIA,WAAJ,EAAiB;AACf,wBAAMqY,KAAK,GAAGjd,IAAI,CAACua,IAAL,CAAU2C,KAAV,CAAgBlb,MAAhB,CACZmb,CAAC,IAAIA,CAAC,CAAC/G,YAAF,KAAmBxR,WAAW,CAACwR,YADxB,CAAd;;AAGA,sBAAI6G,KAAK,CAACjY,MAAN,GAAe,CAAnB,EAAsB;AACpB,yBAAKpC,KAAL,CAAWwB,QAAX,CACEiB,sFAAe,CAAC;AACdA,qCAAe,EAAE4X,KAAK,CAACpb,GAAN,CAAUsb,CAAC,IAAIA,CAAC,CAACC,QAAjB;AADH,qBAAD,CADjB;AAKD;AACF;AACF,eAbD;AAcA;;AACF,iBAAKlF,yGAAL;AAA4C;AAC1C;AACA,qBAAKtV,KAAL,CAAWwB,QAAX,CAAoB0U,2FAAoB,CAAC;AAAEyE,wBAAM,EAAE;AAAV,iBAAD,CAAxC;AACA,qBAAK3a,KAAL,CAAW0B,MAAX,CAAkBpD,uFAAlB,EAAqClI,SAArC,CAA+C4L,WAAW,IAAG;AAC3D,sBACEA,WAAW,IACXA,WAAW,CAACwR,YAAZ,KAA6BpW,IAAI,CAACua,IAAL,CAAUiC,YAFzC,EAGE;AACA,yBAAK5Z,KAAL,CAAWwB,QAAX,CACE0U,2FAAoB,CAAC;AAAEyE,4BAAM,EAAEvd,IAAI,CAACua,IAAL,CAAUiD;AAApB,qBAAD,CADtB;AAGD;AACF,iBATD;AAUA;AACD;;AACD,iBAAKtF,kGAAL;AAAqC;AACnC;AACA,qBAAKtV,KAAL,CAAWwB,QAAX,CAAoByU,oFAAa,CAAC;AAAE0E,wBAAM,EAAE;AAAV,iBAAD,CAAjC;AACA,qBAAK3a,KAAL,CAAW0B,MAAX,CAAkBpD,uFAAlB,EAAqClI,SAArC,CAA+C4L,WAAW,IAAG;AAC3D,sBACEA,WAAW,IACXA,WAAW,CAACwR,YAAZ,KAA6BpW,IAAI,CAACua,IAAL,CAAUiC,YAFzC,EAGE;AACA,yBAAK5Z,KAAL,CAAWwB,QAAX,CACEyU,oFAAa,CAAC;AAAE0E,4BAAM,EAAEvd,IAAI,CAACua,IAAL,CAAUiD;AAApB,qBAAD,CADf;AAGD;AACF,iBATD;AAUA;AACD;AACD;;AACA,iBAAKtF,qGAAL;AACE,kBAAIlY,IAAI,IAAIA,IAAI,CAACua,IAAjB,EAAuB;AACrB,qBAAK3X,KAAL,CAAW0B,MAAX,CAAkBpD,uFAAlB,EAAqClI,SAArC,CAA+C4L,WAAW,IAAG;AAC3D,sBACEA,WAAW,IACXA,WAAW,CAACwR,YAAZ,KACEpW,IAAI,CAACua,IAAL,CAAUoD,wBAHd,EAIE;AACA,yBAAKhb,YAAL,CAAkBsC,eAAlB,CAAkC;AAChCC,iCAAW,EAAE,KAAKlN,SAAL,CAAemN,OAAf,CACX,0CADW,EAEX,CAACnF,IAAI,CAACua,IAAL,CAAUqD,mBAAX,CAFW;AADmB,qBAAlC;AAMD;AACF,iBAbD;AAcD;;AACD;;AACF,iBAAK1F,2GAAL;AACE,kBAAIlY,IAAJ,EAAU;AACR,qBAAK4C,KAAL,CAAW0B,MAAX,CAAkBpD,uFAAlB,EAAqClI,SAArC,CAA+C4L,WAAW,IAAG;AAC3D,sBAAIA,WAAW,IAAIA,WAAW,CAACwR,YAAZ,KAA6BpW,IAAI,CAACua,IAArD,EAA2D;AACzD,yBAAK5X,YAAL,CAAkBsC,eAAlB,CAAkC;AAChCC,iCAAW,EAAE;AADmB,qBAAlC;AAGA,yBAAK9M,gBAAL,CAAsBwf,YAAtB,GAAqC5e,SAArC;AACD;AACF,iBAPD;AAQD;;AACD;AA7FJ;AA+FD,SAlGH;AAoGD;;AAED,WAAK8kB,mBAAL;AACA,WAAKC,eAAL;AACD;;AAEQC,mBAAe;AACtB,YAAMA,eAAN;;AAEA,UAAI,KAAKrE,UAAT,EAAqB;AACnB,aAAKA,UAAL,CAAgBsE,GAAhB,CAAoB7E,aAAa,CAAC+B,UAAlC;AACA,aAAKxB,UAAL,CAAgBsE,GAAhB,CAAoB7E,aAAa,CAAC6B,WAAlC;AACD;AACF;;AAEO6C,uBAAmB;AACzB,WAAKrE,kBAAL,CAAwByE,iBAAxB,GAA4CllB,SAA5C,CAAsDmlB,SAAS,IAAG;AAChE,aAAKvb,KAAL,CAAWwB,QAAX,CAAoBoU,qFAAY,CAAC;AAAE2F;AAAF,SAAD,CAAhC;AACD,OAFD;AAGD;;AAEOJ,mBAAe;AACrB,WAAKvE,IAAL,CAAU4E,aAAV,GAA0BplB,SAA1B,CAAoCqlB,IAAI,IAAG;AACzC,aAAKzb,KAAL,CAAWwB,QAAX,CAAoBgU,8EAAa,CAAC;AAAE8C,oBAAU,EAAEmD,IAAI,CAACC;AAAnB,SAAD,CAAjC;AACA,aAAK1b,KAAL,CAAWwB,QAAX,CAAoBmU,4EAAW,CAAC;AAAEgG,kBAAQ,EAAEF,IAAI,CAACE;AAAjB,SAAD,CAA/B;AACA,aAAK3b,KAAL,CAAWwB,QAAX,CACEiU,4EAAW,CAAC;AAAEmG,kBAAQ,EAAEH,IAAI,CAACG,QAAL,GAAgBH,IAAI,CAACG,QAArB,GAAgC;AAA5C,SAAD,CADb;AAGD,OAND;AAOD;;AAEOtE,aAAS,CAACla,IAAD,EAAsB;AACrC,aAAO;AACL+a,gBAAQ,EAAE/a,IAAI,CAACgb,QADV;AAELzX,sBAAc,EAAEvD,IAAI,CAACua,IAAL,GAAYva,IAAI,CAACua,IAAL,CAAUC,cAAtB,GAAuC,IAFlD;AAGL+C,cAAM,EAAEvd,IAAI,CAACwd,MAHR;AAILc,eAAO,EAAEte,IAAI,CAAC0a;AAJT,OAAP;AAMD;;AA9R6D;;;qBAAnD9iB,wBAAsByC,sDAAAA,CAAAA,4DAAAA,GAAAA,sDAAAA,CAAAA,oFAAAA,GAAAA,sDAAAA,CAAAA,8EAAAA,GAAAA,sDAAAA,CAAAA,kEAAAA,GAAAA,sDAAAA,CAAAA,yFAAAA,GAAAA,sDAAAA,CAAAA,+CAAAA,GAAAA,sDAAAA,CAAAA,6EAAAA,GAAAA,sDAAAA,CAAAA,oGAAAA,GAAAA,sDAAAA,CAAAA,+EAAAA,GAAAA,sDAAAA,CAAAA,sFAAAA;AAAA;;;WAAtBzC;AAAsB8O,aAAtB9O,sBAAsB;AAAA+O,gBADT;;AAC1B,SAAa/O,sBAAb;AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;ACjEA;AAIA;AACA;;;;;;;;;;;;ACCUyC,IAAAA,uDAAAA;;;;;;AAGIA,IAAAA,qEAAAA;AACEA,IAAAA,4DAAAA,eAAyC,CAAzC,EAAyC,KAAzC;AAA8CA,IAAAA,oDAAAA;AAAEA,IAAAA,0DAAAA;AAChDA,IAAAA,4DAAAA;AAA2CA,IAAAA,oDAAAA;;AAAwCA,IAAAA,0DAAAA;AACrFA,IAAAA,mEAAAA;;;;AAD6CA,IAAAA,uDAAAA;AAAAA,IAAAA,+DAAAA,CAAAA,yDAAAA;;;;;;AAE7CA,IAAAA,qEAAAA;AACEA,IAAAA,4DAAAA,eAAyC,CAAzC,EAAyC,KAAzC;AAA8CA,IAAAA,oDAAAA;AAA0CA,IAAAA,0DAAAA;AACxFA,IAAAA,4DAAAA;AAA2CA,IAAAA,oDAAAA;AAAoBA,IAAAA,0DAAAA;AACjEA,IAAAA,mEAAAA;;;;;;AAFgDA,IAAAA,uDAAAA;AAAAA,IAAAA,+DAAAA;AACHA,IAAAA,uDAAAA;AAAAA,IAAAA,+DAAAA;;;;;;AAVnDA,IAAAA,4DAAAA;AACEA,IAAAA,wDAAAA;AACAA,IAAAA,4DAAAA,WAAsD,CAAtD,EAAsD,KAAtD,EAAsD,CAAtD;AAEIA,IAAAA,wDAAAA;AAIAA,IAAAA,wDAAAA;AAIFA,IAAAA,0DAAAA;AACAA,IAAAA,4DAAAA;AACEA,IAAAA,uDAAAA;AACFA,IAAAA,0DAAAA;;;;;;;AAdYA,IAAAA,uDAAAA;AAAAA,IAAAA,wDAAAA;AACTA,IAAAA,uDAAAA;AAAAA,IAAAA,oEAAAA;AAEcA,IAAAA,uDAAAA;AAAAA,IAAAA,wDAAAA;AAIAA,IAAAA,uDAAAA;AAAAA,IAAAA,wDAAAA;AAMeA,IAAAA,uDAAAA;AAAAA,IAAAA,wDAAAA;;;;;;AAftCA,IAAAA,qEAAAA;AACEA,IAAAA,wDAAAA;AAkBFA,IAAAA,mEAAAA;;;;;AAlBwBA,IAAAA,uDAAAA;AAAAA,IAAAA,wDAAAA;;;;;;AAF1BA,IAAAA,qEAAAA;AACEA,IAAAA,wDAAAA;AAoBFA,IAAAA,mEAAAA;;;;;;;;;AApBiBA,IAAAA,uDAAAA;AAAAA,IAAAA,wDAAAA,oCAA8B,UAA9B,EAA8BskB,GAA9B;;;;;;AAyBnBtkB,IAAAA,4DAAAA,eAAsB,CAAtB,EAAsB,GAAtB;AAAyBA,IAAAA,oDAAAA;;AAAyCA,IAAAA,0DAAAA;;;;AAAzCA,IAAAA,uDAAAA;AAAAA,IAAAA,+DAAAA,CAAAA,yDAAAA;;;;ADhBpB,IAAMukB,oBAAb;AAAM,QAAOA,oBAAP,CAA2B;AAO/B9mB,gBAA6B8K,KAA7B,EAAqD;AAAxB;AAN7B,0BAAwC,KAAKA,KAAL,CAAW0B,MAAX,CAAkBma,qFAAlB,CAAxC;AAEA,wBAAaC,8EAAb;AACA,4BAAiBxf,0DAAjB;AACA,sBAAWxH,4EAAX;AAEyD;;AAP1B;;;qBAApBknB,sBAAoBvkB,+DAAAA,CAAAA,8CAAAA;AAAA;;;UAApBukB;AAAoBtkB;AAAAM;AAAAC;AAAAgL;AAAA/K;AAAA;AChBjCT,QAAAA,4DAAAA,cAAmC,CAAnC,EAAmC,KAAnC,EAAmC,CAAnC,EAAmC,CAAnC,EAAmC,IAAnC,EAAmC,CAAnC;AAEmDA,QAAAA,oDAAAA;;AAAsCA,QAAAA,0DAAAA;AACnFA,QAAAA,4DAAAA;AAA+EA,QAAAA,oDAAAA;AAAKA,QAAAA,0DAAAA;AAExFA,QAAAA,4DAAAA;AACEA,QAAAA,wDAAAA;;AAsBFA,QAAAA,0DAAAA;AAGFA,QAAAA,wDAAAA,iFAAAA,oEAAAA;;;;;;AA7BmDA,QAAAA,uDAAAA;AAAAA,QAAAA,+DAAAA,CAAAA,yDAAAA;AAIhCA,QAAAA,uDAAAA;AAAAA,QAAAA,wDAAAA,SAAAA,yDAAAA,0BAA8B,UAA9B,EAA8BskB,GAA9B;;;;;;;;ADUnB,SAAaC,oBAAb;AAAA;;;;;;;;;;;;;;;;;;;;;;;;AEfA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAcO,IAAM/hB,iBAAb;AAAM,QAAOA,iBAAP,CAAwB;;;qBAAjBA;AAAiB;;;UAAjBA;;;cAVF,CACPgiB,yDADO,EAEPhjB,qGAFO,EAGPijB,iEAHO,EAIPC,qEAJO,EAKPxjB,gEALO,EAMPyjB,uEANO;;AAUX,SAAaniB,iBAAb;AAAA;;;sHAAaA,mBAAiB;AAAA2B,mBAXbogB,yEAWa,EAXSK,mIAWT;AAXuCphB,cAEjEghB,yDAFiE,EAGjEhjB,qGAHiE,EAIjEijB,iEAJiE,EAKjEC,qEALiE,EAMjExjB,gEANiE,EAOjEyjB,uEAPiE,CAWvC;AAJVE,cAERN,yEAFQ;AAIU;AAFE;;;;;;;;;;;;;;;;;;ACnBhC;;;AAOO,IAAMO,kBAAb;AAAM,QAAOA,kBAAP,CAAyB;AAC7BrnB,gBAAoBmW,OAApB,EAA2C;AAAvB;AAA2B;;AAE/CiQ,qBAAiB;AACf,aAAO,KAAKjQ,OAAL,CACJnV,GADI,CACa,+BADb,EAEJC,IAFI,CAEC4I,iDAAW,CAAC,CAAD,CAFZ,CAAP;AAGD;;AAP4B;;;qBAAlBwd,oBAAkB9kB,sDAAAA,CAAAA,6EAAAA;AAAA;;;WAAlB8kB;AAAkBzY,aAAlByY,kBAAkB;AAAAxY,gBAFjB;;AAEd,SAAawY,kBAAb;AAAA;;;;;;;;;;;;;;;;;;;;;ACPA;AAIA;;;;;;;;ACJE9kB,IAAAA,4DAAAA;AAA4EA,IAAAA,oDAAAA;AAAeA,IAAAA,0DAAAA;;;;;AAAfA,IAAAA,uDAAAA;AAAAA,IAAAA,+DAAAA;;;;;;AAG1EA,IAAAA,4DAAAA;AAA6EA,IAAAA,oDAAAA;AAAeA,IAAAA,0DAAAA;;;;;AAAfA,IAAAA,uDAAAA;AAAAA,IAAAA,gEAAAA;;;;ADS1E,IAAM4kB,8BAAb;AAAM,QAAOA,8BAAP,CAAqC;AA8BzCnnB,gBAAoBE,SAApB,EAA+C;AAA3B;AAA+B;;AAzBlC,QAAJgI,IAAI,CAACuJ,KAAD,EAAiB;AAChC,UAAI,CAACA,KAAL,EAAY;AACV;AACD;;AAED,cAAQA,KAAK,CAACoT,IAAd;AACE,aAAKzd,mEAAL;AACE,eAAKkgB,SAAL,GAAiB,KAAKpnB,SAAL,CAAemN,OAAf,CAAuBoE,KAAK,CAACvJ,IAAN,CAAWqf,QAAlC,CAAjB;AACA,eAAK3P,IAAL,GAAYnG,KAAK,CAACvJ,IAAN,CAAWsf,OAAvB;AACA;;AACF,aAAKpgB,yEAAL;AACE,eAAKwQ,IAAL,GAAYnG,KAAK,CAACvJ,IAAN,CAAWqf,QAAvB;AACA;;AACF,aAAKngB,2EAAL;AACE,eAAKqgB,uBAAL,CAA6BhW,KAAK,CAACvJ,IAAnC;AACA;;AACF,aAAKd,kEAAL;AACE,eAAKqgB,uBAAL,CAA6BhW,KAAK,CAACvJ,IAAnC;AACA;;AACF;AACE,eAAK0P,IAAL,GAAYnG,KAAK,CAACoT,IAAlB;AACA;AAhBJ;AAkBD;;AAIO4C,2BAAuB,CAACvf,IAAD,EAAoB;AACjD,UAAIA,IAAJ,EAAU;AACR,cAAMwf,UAAU,GACd,KAAKxnB,SAAL,CAAeuW,WAAf,IAA8BjX,mFAA9B,GACI0I,IAAI,CAACyf,gBAAL,CAAsBC,QAD1B,GAEI1f,IAAI,CAACyf,gBAAL,CAAsBE,QAH5B;AAIA,cAAMC,WAAW,GACf,KAAK5nB,SAAL,CAAeuW,WAAf,IAA8BjX,mFAA9B,GACI0I,IAAI,CAACyf,gBAAL,CAAsBI,gBAD1B,GAEI7f,IAAI,CAACyf,gBAAL,CAAsBK,gBAH5B;AAIA,cAAMR,OAAO,GAAWtf,IAAI,CAACsf,OAAL,GAAe,KAAKtnB,SAAL,CAAemN,OAAf,CAAuBnF,IAAI,CAACsf,OAA5B,CAAf,GAAsD,IAA9E;AACA,cAAMS,UAAU,GAAW/f,IAAI,CAAC+f,UAAL,GAAkB,KAAK/nB,SAAL,CAAemN,OAAf,CAAuBnF,IAAI,CAAC+f,UAA5B,CAAlB,GAA4D,IAAvF;AAEA,cAAMC,kBAAkB,GAAG,CAAC,KAAKhoB,SAAL,CAAemN,OAAf,CAAuBnE,8DAAvB,CAAD,EAA6C,KAAKhJ,SAAL,CAAemN,OAAf,CAAuB,mBAAvB,CAA7C,CAA3B;AACA,aAAKia,SAAL,GAAiB,CACfQ,WAAW,GACP,CAAC,GAAGI,kBAAJ,EAAyBR,UAAzB,CADO,GAEP,CAAC,GAAGQ,kBAAJ,CAHW,EAIf5a,IAJe,CAIV,KAJU,CAAjB;AAMA,aAAKsK,IAAL,GAAYkQ,WAAW,GAAGA,WAAH,GAAiBJ,UAAxC;AAEA,aAAKS,OAAL,GAAe,CAACF,UAAU,GAAG,CAACT,OAAD,EAAUS,UAAV,CAAH,GAA2B,CAACT,OAAD,CAAtC,EAAiDla,IAAjD,CACb,KADa,CAAf;AAGD;AACF;;AA1DwC;;;qBAA9B6Z,gCAA8B5kB,+DAAAA,CAAAA,iEAAAA;AAAA;;;UAA9B4kB;AAA8B3kB;AAAA4lB;AAAAlgB;AAAA;AAAApF;AAAAC;AAAAgL;AAAA/K;AAAA;ACb3CT,QAAAA,4DAAAA;AACEA,QAAAA,wDAAAA;AACAA,QAAAA,4DAAAA;AACEA,QAAAA,oDAAAA;;;AACAA,QAAAA,wDAAAA;AACFA,QAAAA,0DAAAA;;;;AAJIA,QAAAA,uDAAAA;AAAAA,QAAAA,wDAAAA;AAEFA,QAAAA,uDAAAA;AAAAA,QAAAA,gEAAAA,MAAAA,yDAAAA,OAAAA,yDAAAA;AACOA,QAAAA,uDAAAA;AAAAA,QAAAA,wDAAAA;;;;;;;;ADSX,SAAa4kB,8BAAb;AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AEJA;AACA;AACA;AAEA;AACA;AACA;;;;;;;;;;;;;;;;;;;ACTQ5kB,IAAAA,4DAAAA;AACIA,IAAAA,uDAAAA;AAIJA,IAAAA,0DAAAA;;;;;;;AAL8DA,IAAAA,oEAAAA;AAEtDA,IAAAA,uDAAAA;AAAAA,IAAAA,wDAAAA,wBAAmB,cAAnB,EAAmBmmB,mBAAnB;;;;;;;;AAmBJnmB,IAAAA,4DAAAA;AAA6GA,IAAAA,wDAAAA;AAAA;AAAA;AAAA;AAAA,aAASiI,+BAAT;AAA8B,KAA9B;AACzGjI,IAAAA,oDAAAA;;AACJA,IAAAA,0DAAAA;;;;;;AAFUA,IAAAA,oEAAAA;AACNA,IAAAA,uDAAAA;AAAAA,IAAAA,gEAAAA,MAAAA,yDAAAA;;;;ADCT,IAAMomB,aAAb;AAAM,QAAOA,aAAP,CAAoB;AAuBxB3oB,gBACU4oB,WADV,EAEU9d,KAFV,EAGUC,EAHV,EAG+B;AAFrB;AACA;AACA;AAvBF,sBAAW,IAAIpB,yCAAJ,EAAX;AAER,gCAAqB,IAArB;AAEA,kBAAO,IAAI2e,qDAAJ,CAAc;AACnBO,kBAAU,EAAE,IAAIR,uDAAJ,CACV,EADU,EAEVE,8DAAA,CAAmB,CACjBA,+DADiB,EAEjBA,gEAAA,CAAqB,CAArB,CAFiB,EAGjBA,gEAAA,CAAqB,KAAKW,kBAA1B,CAHiB,EAIjBT,0FAJiB,CAAnB,CAFU;AADO,OAAd,CAAP;AAYA,uBAAwC,KAAK3d,KAAL,CAAW0B,MAAX,CAAkBgc,gFAAlB,CAAxC;AACA,2BAAsC,KAAKI,WAAL,CAAiBQ,iBAAjB,EAAtC;AACA,+BAAoB,KAApB;AAOE,WAAKte,KAAL,CACG0B,MADH,CACUpD,uFADV,EAEGnI,IAFH,CAEQgJ,yDAAS,CAAC,KAAKof,QAAN,CAFjB,EAGGnoB,SAHH,CAGawV,CAAC,IAAG;AACb,aAAK+M,YAAL,GACE/M,CAAC,CAACvI,IAAF,KAAWvO,2FAAX,GAAqC,sBAArC,GAA8D8W,CAAC,CAAC3F,IADlE;AAED,OANH;AAOD,KAnCuB,CAqCxB;AACA;AACA;;;AACAuY,YAAQ;AACN,YAAMC,OAAO,GAAG,KAAKC,uBAAL,CAA6BC,aAA7C;AACA,YAAMC,QAAQ,GACZH,OAAO,CAACI,YAAR,GAAuBJ,OAAO,CAACK,SAA/B,KAA6CL,OAAO,CAACM,YADvD;AAEA,WAAKC,iBAAL,GAAyB,CAACJ,QAA1B;AACD;;AAEDK,kBAAc,CAACD,iBAAiB,GAAG,KAArB,EAA0B;AACtC,UAAIA,iBAAJ,EAAuB;AACrB;AACD;;AACD,WAAKN,uBAAL,CAA6BC,aAA7B,CAA2CG,SAA3C,GACE,KAAKJ,uBAAL,CAA6BC,aAA7B,CAA2CE,YAD7C;AAEA,WAAK5e,EAAL,CAAQif,aAAR;AACD;;AAED/e,eAAW;AACT,WAAKoe,QAAL,CAAcje,QAAd;AACD;;AAED6e,yBAAqB;AACnB,WAAKF,cAAL,CAAoB,KAAKD,iBAAzB;AACD;;AAEDI,UAAM;AACJ,WAAKC,WAAL,CAAiB,KAAKzL,IAAL,CAAU1d,GAAV,CAAc,YAAd,EAA4ByQ,KAA7C;AACD;;AAED2Y,kBAAc,CAACC,UAAD,EAAmB;AAC/B,WAAKF,WAAL,CAAiBE,UAAjB;AACD;;AAEOF,eAAW,CAAC/nB,OAAD,EAAgB;AACjC,WAAK0nB,iBAAL,GAAyB,KAAzB;AACA,WAAKlB,WAAL,CACGuB,WADH,CACe;AACX/nB,eADW;AAEXqhB,oBAAY,EAAE,KAAKA;AAFR,OADf,EAKGviB,SALH,CAKagR,MAAM,IAAG;AAClB,YAAIA,MAAJ,EAAY;AACV,eAAKwM,IAAL,CAAU4L,KAAV;AACA,eAAKP,cAAL;AACD;AACF,OAVH;AAWD;;AArFuB;;;qBAAbpB,eAAapmB,+DAAAA,CAAAA,6EAAAA,GAAAA,+DAAAA,CAAAA,8CAAAA,GAAAA,+DAAAA,CAAAA,4DAAAA;AAAA;;;UAAbomB;AAAanmB;AAAA+nB;AAAA;;;;;;;;;;;;;;;AC7B1BhoB,QAAAA,4DAAAA,cAA4B,CAA5B,EAA4B,KAA5B,EAA4B,CAA5B,EAA4B,CAA5B,EAA4B,IAA5B,EAA4B,CAA5B;AAEgDA,QAAAA,oDAAAA;;AAA8BA,QAAAA,0DAAAA;AACtEA,QAAAA,4DAAAA;AAAsFA,QAAAA,oDAAAA;AAAKA,QAAAA,0DAAAA;AAE/FA,QAAAA,4DAAAA;AAAiCA,QAAAA,wDAAAA;AAAA,iBAAUyL,cAAV;AAAoB,SAApB;AAC7BzL,QAAAA,wDAAAA;;AAMJA,QAAAA,0DAAAA;AACAA,QAAAA,4DAAAA,eAAyB,EAAzB,EAAyB,MAAzB,EAAyB,CAAzB,EAAyB,EAAzB,EAAyB,gBAAzB,EAAyB,CAAzB;AAGYA,QAAAA,uDAAAA;;AAQJA,QAAAA,0DAAAA;AAEJA,QAAAA,4DAAAA;AACIA,QAAAA,wDAAAA;;AAGJA,QAAAA,0DAAAA;AACAA,QAAAA,4DAAAA;AAGQA,QAAAA,wDAAAA;AAAA,iBAASyL,YAAT;AAAiB,SAAjB;AAEAzL,QAAAA,oDAAAA;;AACRA,QAAAA,0DAAAA;;;;AAnCwCA,QAAAA,uDAAAA;AAAAA,QAAAA,+DAAAA,CAAAA,yDAAAA;AAIfA,QAAAA,uDAAAA;AAAAA,QAAAA,wDAAAA,YAAAA,yDAAAA;AAQnBA,QAAAA,uDAAAA;AAAAA,QAAAA,wDAAAA;AAIYA,QAAAA,uDAAAA;AAAAA,QAAAA,mEAAAA;AAKAA,QAAAA,wDAAAA,gBAAAA,yDAAAA;AAIsDA,QAAAA,uDAAAA;AAAAA,QAAAA,wDAAAA,YAAAA,yDAAAA;AAQhEA,QAAAA,uDAAAA;AAAAA,QAAAA,wDAAAA;AACAA,QAAAA,uDAAAA;AAAAA,QAAAA,gEAAAA,MAAAA,yDAAAA;;;;;;;;ADPhB,SAAaomB,aAAb;AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AE5BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AA2BO,IAAM7jB,UAAb;AAAM,QAAOA,UAAP,CAAiB;;;qBAAVA;AAAU;;;UAAVA;;;eAHA,CAAC0lB,qDAAD;AAAUzkB,cAfZ,CACPghB,yDADO,EAEPhjB,qGAFO,EAGPijB,iEAHO,EAIPyD,qEAJO,EAKPC,gFALO,EAMPC,qEANO,EAOPlnB,iEAPO,EAQPmnB,oEARO,EASPC,6EATO,EAUPC,oEAVO,EAWPC,wDAXO,EAYPC,gEAZO,EAaP/D,sEAbO,CAeY;;AAGvB,SAAaniB,UAAb;AAAA;;;sHAAaA,YAAU;AAAA4B,mBAvBnBiiB,0DAuBmB,EAtBnBsC,2FAsBmB,EArBnBE,iGAqBmB,EApBnBD,8FAoBmB;AApBAnlB,cAGnBghB,yDAHmB,EAInBhjB,qGAJmB,EAKnBijB,iEALmB,EAMnByD,qEANmB,EAOnBC,gFAPmB,EAQnBC,qEARmB,EASnBlnB,iEATmB,EAUnBmnB,oEAVmB,EAWnBC,6EAXmB,EAYnBC,oEAZmB,EAanBC,wDAbmB,EAcnBC,gEAdmB,EAenB/D,sEAfmB,CAoBA;AALJG,cAGP8D,8FAHO;AAKI;AAFQ;;;;;;;;;;;;;;;;;;;;;;ACxC/B;AACA;;;;;AAgBO,IAAME,WAAb;AAAM,QAAOA,WAAP,CAAkB;AACtBprB,gBACUmW,OADV,EAEUrL,KAFV,EAGUD,YAHV,EAIU3K,SAJV,EAIqC;AAH3B;AACA;AACA;AACA;AACN;;AAEJomB,iBAAa;AACX,aAAO,KAAKnQ,OAAL,CAAanV,GAAb,CAAgC,WAAhC,EAA6CC,IAA7C,CAAkD4I,iDAAW,CAAC,CAAD,CAA7D,CAAP;AACD;;AAEDuf,qBAAiB;AACf,aAAOxf,wCAAE,CAAC,KAAK1J,SAAL,CAAemN,OAAf,CAAuB,6BAAvB,CAAD,CAAT;AACD;;AAED8c,eAAW,CAAC/nB,OAAD,EAAsB;AAC/B,aAAO,KAAK+T,OAAL,CACJkF,IADI,CACU;AACb9T,YAAI,EAAE,WADO;AAEbqQ,YAAI,EAAE,EACJ,GAAGxV,OADC;AAEJ2hB,kBAAQ,EAAE3hB,OAAO,CAAC2hB,QAAR,IAAoB;AAF1B;AAFO,OADV,EAQJ9iB,IARI,CASH6I,mDAAG,CAACoI,MAAM,IAAG;AACX,YAAI,CAACA,MAAL,EAAa;AACX,eAAKrH,YAAL,CAAkBsC,eAAlB,CAAkC;AAChCyD,iBAAK,EAAE,qBADyB;AAEhCgG,iBAAK,EAAE;AAFyB,WAAlC;AAID;AACF,OAPE,CATA,CAAP;AAkBD;;AAEDyU,sBAAkB,CAAC3d,EAAD,EAAW;AAC3B,aAAO,KAAKyI,OAAL,CAAawB,GAAb,CAA0B;AAAEpQ,YAAI,EAAE,WAAR;AAAqBqQ,YAAI,EAAE;AAAElK;AAAF;AAA3B,OAA1B,EAA+DzM,IAA/D,CACL6I,mDAAG,CAACoI,MAAM,IAAG;AACX,YAAI,CAACA,MAAL,EAAa;AACX,eAAKrH,YAAL,CAAkBsC,eAAlB,CAAkC;AAChCyD,iBAAK,EAAE,qBADyB;AAEhCgG,iBAAK,EAAE;AAFyB,WAAlC;AAID;AACF,OAPE,CADE,CAAP;AAUD;;AAhDqB;;;qBAAXwU,aAAW7oB,sDAAAA,CAAAA,6EAAAA,GAAAA,sDAAAA,CAAAA,8CAAAA,GAAAA,sDAAAA,CAAAA,wFAAAA,GAAAA,sDAAAA,CAAAA,iEAAAA;AAAA;;;WAAX6oB;AAAWxc,aAAXwc,WAAW;AAAAvc,gBAFV;;AAEd,SAAauc,WAAb;AAAA;;;;;;;;;;;;;;;AChBO,IAAKE,UAIX;AAJD,aAAYA,UAAZ,EAAsB;AACpBA;AACAA;AACAA;AACD,GAJD,EAAYA,UAAU,KAAVA,UAAU,MAAtB,CAIC;;AAAA,SAJWA,UAIX;AAAA,IAJD;;;;;;;;;;;;;;;;;;;;;ACFA;AASA;;;;;;;;;ACFI/oB,IAAAA,4DAAAA,cAA4C,CAA5C,EAA4C,OAA5C,EAA4C,CAA5C,EAA4C,CAA5C,EAA4C,GAA5C,EAA4C,CAA5C;AAGMA,IAAAA,oDAAAA;AACFA,IAAAA,0DAAAA;;;;ADQD,IAAM0oB,kBAAb;AAAM,QAAOA,kBAAP,CAAyB;AAkB7BjrB,gBAAoB8K,KAApB,EAAsDC,EAAtD,EAA2E;AAAvD;AAAkC;AAL5C,6BAAkB,IAAIwgB,uDAAJ,EAAlB;AAMR,WAAKzgB,KAAL,CAAW0B,MAAX,CAAkBgf,4EAAlB,EAAkCtqB,SAAlC,CAA4CwV,CAAC,IAAK,KAAK+P,QAAL,GAAgB/P,CAAlE;AACD;;AAjB2B,QAAf+U,eAAe,CAACha,KAAD,EAAe;AACzC,WAAKia,WAAL,GAAmBja,KAAnB;AACA,WAAK1G,EAAL,CAAQif,aAAR;;AACA,UAAIvY,KAAJ,EAAW;AACT,YAAI,CAAC,KAAKka,MAAV,EAAkB;AAChB,eAAKC,UAAL;AACD;;AACD,aAAKD,MAAL,CAAYE,IAAZ;AACD;AACF;;AAUDC,mBAAe,CAACC,KAAD,EAA4B;AACzC,WAAKC,eAAL,CAAqBC,IAArB,CAA0BF,KAAK,CAACG,OAAhC;;AACA,UAAI,CAACH,KAAK,CAACG,OAAP,IAAkB,KAAKP,MAA3B,EAAmC;AACjC,aAAKA,MAAL,CAAYQ,KAAZ;AACD;AACF;;AAEOP,cAAU;AAChB,WAAKD,MAAL,GAAcS,GAAG,CAAC,QAAD,EAAW;AAC1BC,gBAAQ,EAAE,IADgB;AAE1BC,4BAAoB,EAAE;AAAEC,gCAAsB,EAAE;AAA1B,SAFI;AAG1BC,gBAAQ,EAAE,KAHgB;AAI1BC,YAAI,EAAE;AAAEC,iBAAO,EAAE;AAAX,SAJoB;AAK1BC,cAAM,EAAE;AALkB,OAAX,CAAjB;AAOA,WAAKhB,MAAL,CAAYiB,GAAZ,CAAgB,CAAC;AAAEA,WAAG,EAAE,KAAKnG,QAAZ;AAAsBjP,YAAI,EAAE;AAA5B,OAAD,CAAhB;AACD;;AAtC4B;;;qBAAlByT,oBAAkB1oB,+DAAAA,CAAAA,8CAAAA,GAAAA,+DAAAA,CAAAA,4DAAAA;AAAA;;;UAAlB0oB;AAAkBzoB;AAAA4lB;AAAAqD;AAAA;AAAAoB;AAAAb;AAAA;AAAAlpB;AAAAC;AAAAgL;AAAA/K;AAAA;ACnB/BT,QAAAA,4DAAAA,WAA8E,CAA9E,EAA8E,KAA9E,EAA8E,CAA9E,EAA8E,CAA9E,EAA8E,KAA9E,EAA8E,CAA9E;AAGYA,QAAAA,oDAAAA;;AACJA,QAAAA,0DAAAA;AACAA,QAAAA,4DAAAA;AAAqCA,QAAAA,wDAAAA;AAAA,iBAAUyL,2BAAV;AAAiC,SAAjC;AAAmCzL,QAAAA,0DAAAA;AAE5EA,QAAAA,wDAAAA;AAOJA,QAAAA,0DAAAA;;;;AAdKA,QAAAA,oEAAAA;AAGOA,QAAAA,uDAAAA;AAAAA,QAAAA,gEAAAA,MAAAA,yDAAAA;AAIFA,QAAAA,uDAAAA;AAAAA,QAAAA,wDAAAA;;;;;;;;ADYV,SAAa0oB,kBAAb;AAAA;;;;;;;;;;;;;;;;;;;;;;;;AEjBA;AACA;AACA;AAEA;;;;;;AASO,IAAMC,mBAAb;AAAM,QAAOA,mBAAP,CAA0B;AAM9BlrB,gBAAoBie,SAApB,EAAkDnT,KAAlD,EAA8D;AAA1C;AAA8B;AALzC,gCAAqBgiB,uEAArB;AAED,oBAAS,KAAT;AACA,wBAAa,KAAb;AAGN,WAAKhiB,KAAL,CAAW0B,MAAX,CAAkBgc,gFAAlB,EAAsCtnB,SAAtC,CAAiDwV,CAAD,IAA6B;AAC3E,YAAIA,CAAC,IAAI,CAAC,KAAKsW,MAAf,EAAuB;AACrB,eAAKA,MAAL,GAAc,IAAd;AACD,SAFD,MAEO,IAAI,KAAKA,MAAL,IAAe,CAAC,KAAKC,UAAzB,EAAqC;AAC1C,eAAKC,QAAL;AACD;AACF,OAND;AAOD;;AAEDA,YAAQ;AACN,WAAKD,UAAL,GAAkB,IAAlB;AAEA,YAAM9O,SAAS,GAAG,KAAKF,SAAL,CAAevN,IAAf,CAAoBiY,0DAApB,EAAmC;AACnDvY,mBAAW,EAAE,IADsC;AAEnDC,gBAAQ,EAAEvB,uFAFyC;AAGnDyB,kBAAU,EAAE,gBAHuC;AAInD6c,qBAAa,EAAE,6BAJoC;AAKnD5Z,oBAAY,EAAE;AALqC,OAAnC,CAAlB;AAQA2K,eAAS,CAAC7M,WAAV,GAAwBpQ,SAAxB,CAAkC,MAAK;AACrC,aAAK+rB,UAAL,GAAkB,KAAlB;AACD,OAFD;AAGD;;AA9B6B;;;qBAAnB/B,qBAAmB3oB,+DAAAA,CAAAA,+DAAAA,GAAAA,+DAAAA,CAAAA,8CAAAA;AAAA;;;UAAnB2oB;AAAmB1oB;AAAA4lB;AAAAiF;AAAA;AAAAvqB;AAAAC;AAAAgL;AAAA/K;AAAA;ACfhCT,QAAAA,4DAAAA,WAAiE,CAAjE,EAAiE,QAAjE,EAAiE,CAAjE;AACgEA,QAAAA,wDAAAA;AAAA,iBAASyL,cAAT;AAAmB,SAAnB;AACxDzL,QAAAA,4DAAAA;AAAUA,QAAAA,oDAAAA;AAAIA,QAAAA,0DAAAA;;;;AAFjBA,QAAAA,oEAAAA;;;;;;;ADeL,SAAa2oB,mBAAb;AAAA;;;;;;;;;;;;;;;;;AEfA;AAEO,IAAK4B,kBAGX;AAHD,aAAYA,kBAAZ,EAA8B;AAC5BA;AACAA;AACD,GAHD,EAAYA,kBAAkB,KAAlBA,kBAAkB,MAA9B,CAGC;;AAAA,SAHWA,kBAGX;AAAA,IAHD;AAKO,MAAMtjB,oBAAoB,GAAG,CAClC8jB,+FADkC,EAElCA,8FAFkC,CAA7B;;;;;;;;;;;;;;;;;;;;;ACEA,IAAMnC,oBAAb;AAAM,QAAOA,oBAAP,CAA2B;;;qBAApBA;AAAoB;;;UAApBA;AAAoB3oB;AAAA4lB;AAAAhmB;AAAAqhB;AAAA;AAAA3gB;AAAAC;AAAAgL;AAAA/K;AAAA;ACTjCT,QAAAA,4DAAAA,cAAmG,CAAnG,EAAmG,KAAnG,EAAmG,CAAnG,EAAmG,CAAnG,EAAmG,KAAnG,EAAmG,CAAnG,EAAmG,CAAnG,EAAmG,KAAnG,EAAmG,CAAnG;AAIgBA,QAAAA,oDAAAA;AACJA,QAAAA,0DAAAA;AAEJA,QAAAA,4DAAAA,cAA+D,CAA/D,EAA+D,KAA/D;AAEQA,QAAAA,oDAAAA;;AACJA,QAAAA,0DAAAA;AACAA,QAAAA,4DAAAA;AACIA,QAAAA,oDAAAA;;AACJA,QAAAA,0DAAAA;;;;AAb2BA,QAAAA,yDAAAA;AAIvBA,QAAAA,uDAAAA;AAAAA,QAAAA,gEAAAA;AAKAA,QAAAA,uDAAAA;AAAAA,QAAAA,gEAAAA,MAAAA,yDAAAA;AAGAA,QAAAA,uDAAAA;AAAAA,QAAAA,gEAAAA,MAAAA,yDAAAA;;;;;;;ADHhB,SAAa4oB,oBAAb;AAAA;;;;;;;;;;;;;;;;;;;;AETA;AAOA;AAMA;;;;;;;;;ACZA5oB,IAAAA,4DAAAA;AAAiFA,IAAAA,wDAAAA;AAAA;AAAA;AAAA;AAAA,aAASirB,+BAAT;AAA8B,KAA9B;AAC/EjrB,IAAAA,4DAAAA;AAAMA,IAAAA,oDAAAA;AAAqCA,IAAAA,0DAAAA;;;;;;AAArCA,IAAAA,uDAAAA;AAAAA,IAAAA,+DAAAA;;;;;;;;AAGNA,IAAAA,4DAAAA;AAAgCA,IAAAA,wDAAAA;AAAAA,MAAAA,2DAAAA;AAAA;AAAA,aAASgI,uBAAT;AAAyB,KAAzB;AAA2BhI,IAAAA,0DAAAA;;;;ADgBtD,IAAMkrB,wBAAb;AAAM,QAAOA,wBAAP,CAA+B;AAUnCztB,gBAAoB8K,KAApB,EAA4C;AAAxB;AATV,sBAA+B,IAAIygB,uDAAJ,EAA/B;AACA,qBAA8B,IAAIA,uDAAJ,EAA9B;AACA,mBAA4B,IAAIA,uDAAJ,EAA5B;AAEV,0BAAe,KAAKzgB,KAAL,CAAW0B,MAAX,CAAkBpD,uFAAlB,CAAf;AACA,sBAAW,KAAX;AACA,wBAAawd,8EAAb;AACA,sBAAWhnB,4EAAX;AAEgD;;AAEhD8tB,mBAAe,CAACxR,IAAD,EAAmB;AAChC,UAAIA,IAAI,CAAC/N,IAAL,KAAcvO,yFAAlB,EAAyC;AACvC,aAAK+tB,QAAL,CAAc1B,IAAd;AACD;AACF;;AAED2B,kBAAc;AACZ,WAAKC,OAAL,CAAa5B,IAAb;AACD;;AApBkC;;;qBAAxBwB,0BAAwBlrB,+DAAAA,CAAAA,8CAAAA;AAAA;;;UAAxBkrB;AAAwBjrB;AAAAqqB;AAAAc;AAAAE;AAAAhY;AAAA;AAAA/S;AAAAC;AAAAgL;AAAA/K;AAAA;ACrBrCT,QAAAA,4DAAAA;AAA+CA,QAAAA,wDAAAA;AAAA,iBAASyL,gBAAT;AAAqB,SAArB;AAAwBzL,QAAAA,0DAAAA;AACvEA,QAAAA,wDAAAA;;AAGAA,QAAAA,wDAAAA,mFAAAA,oEAAAA;;;;;;AAJqBA,QAAAA,yDAAAA;AACfA,QAAAA,uDAAAA;AAAAA,QAAAA,wDAAAA,SAAAA,yDAAAA,0BAA2B,UAA3B,EAA2BskB,GAA3B;;;;;;;;ADoBN,SAAa4G,wBAAb;AAAA;;;;;;;;;;;;;;;;;;;;;;;AEpBA;;;;;;;;;;;;ACSUlrB,IAAAA,uDAAAA;;;;;AACEA,IAAAA,wDAAAA,0BAAwB,OAAxB,EAAwB,6BAAxB,EAAwB,MAAxB,EAAwB,4BAAxB,EAAwB,sBAAxB,EAAwBA,yDAAAA,6CAAxB;;;;;;AAQJA,IAAAA,uDAAAA;;;;AACeA,IAAAA,wDAAAA,yCAAuC,UAAvC,EAAuC,IAAvC;;;;ADXhB,IAAMwb,mBAAb;AAAM,QAAOA,mBAAP,CAA0B;AANhC/d;AAQE,kBAAO,IAAIsoB,qDAAJ,CAAc;AACnB/J,aAAK,EAAE,IAAI8J,uDAAJ;AADY,OAAd,CAAP;AAGD;;AAL+B;;;qBAAnBtK;AAAmB;;;UAAnBA;AAAmBvb;AAAA4lB;AAAA5Q;AAAA;AAAA1U;AAAAC;AAAAgL;AAAA/K;AAAA;ACThCT,QAAAA,4DAAAA,cAA4C,CAA5C,EAA4C,KAA5C,EAA4C,CAA5C,EAA4C,CAA5C,EAA4C,IAA5C,EAA4C,CAA5C;AAGYA,QAAAA,oDAAAA;;AACJA,QAAAA,0DAAAA;AACAA,QAAAA,4DAAAA;AAA8FA,QAAAA,oDAAAA;AAAKA,QAAAA,0DAAAA;AAGvGA,QAAAA,4DAAAA,6BAAsD,CAAtD,EAAsD,MAAtD,EAAsD,CAAtD;AAEMA,QAAAA,wDAAAA;AASFA,QAAAA,wDAAAA;AAOFA,QAAAA,0DAAAA;AAEFA,QAAAA,4DAAAA,8BAA2C,EAA3C,EAA2C,QAA3C,EAA2C,CAA3C;AAMQA,QAAAA,oDAAAA;;;AACJA,QAAAA,0DAAAA;AACAA,QAAAA,4DAAAA;AAMIA,QAAAA,oDAAAA;;;AACJA,QAAAA,0DAAAA;;;;AAxCIA,QAAAA,uDAAAA;AAAAA,QAAAA,gEAAAA,MAAAA,yDAAAA;AAEMA,QAAAA,uDAAAA;AAAAA,QAAAA,wDAAAA;AAINA,QAAAA,uDAAAA;AAAAA,QAAAA,wDAAAA;AACcA,QAAAA,uDAAAA;AAAAA,QAAAA,wDAAAA;AASFA,QAAAA,uDAAAA;AAAAA,QAAAA,wDAAAA;AAcZA,QAAAA,uDAAAA;AAAAA,QAAAA,wDAAAA;AACAA,QAAAA,uDAAAA;AAAAA,QAAAA,gEAAAA,MAAAA,yDAAAA,SAAAA,yDAAAA;AAMAA,QAAAA,uDAAAA;AAAAA,QAAAA,wDAAAA,oDAA0C,kBAA1C,EAA0CyL,sBAA1C;AAEAzL,QAAAA,uDAAAA;AAAAA,QAAAA,gEAAAA,MAAAA,yDAAAA,SAAAA,yDAAAA;;;;;;;;ADjCZ,SAAawb,mBAAb;AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AEHA;AAIA;AAMA;AAEA;AAGA;;;;;;;;;;;;;;;;;;AClBMxb,IAAAA,4DAAAA;AAAmDA,IAAAA,wDAAAA;AAAAA,MAAAA,2DAAAA;AAAA;AAAA;AAAA,aAASirB,oCAAT;AAAmC,KAAnC;AACjDjrB,IAAAA,4DAAAA;AAA6BA,IAAAA,oDAAAA;AAAYA,IAAAA,0DAAAA;AACzCA,IAAAA,4DAAAA;AAAMA,IAAAA,oDAAAA;;;AAA2CA,IAAAA,0DAAAA;;;;AAA3CA,IAAAA,uDAAAA;AAAAA,IAAAA,+DAAAA,CAAAA,yDAAAA,OAAAA,yDAAAA;;;;;;AAHVA,IAAAA,qEAAAA;AACEA,IAAAA,wDAAAA;AAIFA,IAAAA,mEAAAA;;;;;AAJsBA,IAAAA,uDAAAA;AAAAA,IAAAA,wDAAAA;;;;;;AAStBA,IAAAA,qEAAAA;AACEA,IAAAA,uDAAAA;AACFA,IAAAA,mEAAAA;;;;ADeG,IAAMwrB,kBAAb;AAAM,QAAOA,kBAAP,CAAyB;AAG7B/tB,gBACSG,iBADT,EAEU+P,MAFV,EAGU7P,WAHV,EAIUC,gBAJV,EAKUwK,KALV,EAMUC,EANV,EAM+B;AALtB;AACC;AACA;AACA;AACA;AACA;AARV,8BAAsC,EAAtC;;AAUE,UACE,KAAK1K,WAAL,CAAiBsB,YAAjB,CAA8B,CAC5B/B,2FAD4B,EAE5BA,yFAF4B,CAA9B,CADF,EAKE;AACA,aAAKkL,KAAL,CAAW0B,MAAX,CAAkBpD,uFAAlB,EAAqClI,SAArC,CAA+Cgb,IAAI,IAAG;AACpD,cAAIA,IAAJ,EAAU;AACR,iBAAKnP,gBAAL,GAAwB,CAACzD,wFAAD,CAAxB;AACA,iBAAKyB,EAAL,CAAQwB,YAAR;AACD;AACF,SALD;AAMD;AACF;;AAEDwS,gBAAY;AACV,WAAKze,gBAAL,CAAsBme,sBAAtB;AACD;;AAEDJ,eAAW;AACT,WAAK/d,gBAAL,CAAsB4d,qBAAtB;AACD;;AAED8P,qBAAiB,CAACC,OAAD,EAAqB;AACpC;AACA,UACE,CAAC,CAAC7mB,2EAAD,EAAkCsF,QAAlC,CACC,KAAKvM,iBAAL,CAAuB+tB,YAAvB,CAAoCzc,KADrC,CAAD,IAGA,KAAKtR,iBAAL,CAAuBguB,eAAvB,CAAuC1c,KAJzC,EAKE;AACA,cAAM0M,SAAS,GAAG,KAAKjO,MAAL,CAAYQ,IAAZ,CAAiBod,iGAAjB,EAAgD;AAChE1d,qBAAW,EAAE,IADmD;AAEhEoD,sBAAY,EAAE,IAFkD;AAGhEnD,kBAAQ,EAAEvB,oFAHsD;AAIhEyB,oBAAU,EAAE;AAJoD,SAAhD,CAAlB;AAMA4N,iBAAS,CAAC7M,WAAV,GAAwBpQ,SAAxB,CAAkCgR,MAAM,IAAG;AACzC,cAAIA,MAAJ,EAAY;AACV,iBAAK/R,iBAAL,CAAuBiuB,8BAAvB,CAAsDH,OAAO,CAAC1mB,IAA9D;AACD;AACF,SAJD;AAKD,OAjBD,MAiBO;AACL,aAAKpH,iBAAL,CAAuBiuB,8BAAvB,CAAsDH,OAAO,CAAC1mB,IAA9D;AACD;AACF;;AAED8mB,mBAAe;AACb,WAAKne,MAAL,CAAYQ,IAAZ,CAAiBoW,sFAAjB,EAAuC;AACrC1W,mBAAW,EAAE,IADwB;AAErCC,gBAAQ,EAAEvB,uFAF2B;AAGrCyB,kBAAU,EAAE,gBAHyB;AAIrC6c,qBAAa,EAAE;AAJsB,OAAvC;AAMD;;AAjE4B;;;qBAAlBW,oBAAkBxrB,+DAAAA,CAAAA,2FAAAA,GAAAA,+DAAAA,CAAAA,+DAAAA,GAAAA,+DAAAA,CAAAA,6EAAAA,GAAAA,+DAAAA,CAAAA,+EAAAA,GAAAA,+DAAAA,CAAAA,+CAAAA,GAAAA,+DAAAA,CAAAA,4DAAAA;AAAA;;;UAAlBwrB;AAAkBvrB;AAAAM;AAAAC;AAAAgL;AAAA/K;AAAA;AC7B/BT,QAAAA,4DAAAA,cAA6B,CAA7B,EAA6B,KAA7B,EAA6B,CAA7B;AAEIA,QAAAA,wDAAAA;;AAMFA,QAAAA,0DAAAA;AACAA,QAAAA,4DAAAA;AACEA,QAAAA,uDAAAA;AACAA,QAAAA,4DAAAA;AAAkDA,QAAAA,wDAAAA;AAAA,iBAASyL,qBAAT;AAA0B,SAA1B;AAA4BzL,QAAAA,4DAAAA,WAAK,CAAL,EAAK,UAAL;AAAeA,QAAAA,oDAAAA;AAAMA,QAAAA,0DAAAA;AACnGA,QAAAA,wDAAAA;AAGAA,QAAAA,4DAAAA;AAAuBA,QAAAA,wDAAAA;AAAA,iBAAYyL,kBAAZ;AAA0B,SAA1B,EAA2B,SAA3B,EAA2B;AAAA,iBAAYA,iBAAZ;AAAyB,SAApD;AAAsDzL,QAAAA,0DAAAA;AAC7EA,QAAAA,uDAAAA;AACFA,QAAAA,0DAAAA;;;;AAfiBA,QAAAA,uDAAAA;AAAAA,QAAAA,wDAAAA,SAAAA,yDAAAA;AAUAA,QAAAA,uDAAAA;AAAAA,QAAAA,wDAAAA;;;;;;;;ADiBnB,SAAawrB,kBAAb;AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AE5BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAsBO,IAAM7pB,eAAb;AAAM,QAAOA,eAAP,CAAsB;;;qBAAfA;AAAe;;;UAAfA;;;cAnBF,CACP6iB,yDADO,EAEPtjB,gEAFO,EAGPM,qGAHO,EAIPC,6GAJO,EAKPgjB,iEALO,EAMPyD,qEANO,EAOPxD,sEAPO,EAQPqH,sEARO,EASPxD,oEATO,EAUPE,gEAVO;;AAmBX,SAAa9mB,eAAb;AAAA;;;sHAAaA,iBAAe;AAAAwC,mBANxBqnB,qEAMwB,EALxBhQ,qGAKwB,EAJxB0P,0GAIwB;AAJA1nB,cAdxBghB,yDAcwB,EAbxBtjB,gEAawB,EAZxBM,qGAYwB,EAXxBC,6GAWwB,EAVxBgjB,iEAUwB,EATxByD,qEASwB,EARxBxD,sEAQwB,EAPxBqH,sEAOwB,EANxBxD,oEAMwB,EALxBE,gEAKwB,CAIA;AATL5D,cAOX2G,qEAPW,EAOShQ,qGAPT;AASK;AAFuB;;;;;;;;;;;;;;;;;;;;;;;AChCnD;AACA;;;;;;;;;;ACDExb,IAAAA,qEAAAA;AACEA,IAAAA,4DAAAA;AAAuCA,IAAAA,oDAAAA;;AAAyCA,IAAAA,0DAAAA;AAChFA,IAAAA,4DAAAA;AAA+BA,IAAAA,oDAAAA;;AAA+CA,IAAAA,0DAAAA;AAChFA,IAAAA,mEAAAA;;;;AAFyCA,IAAAA,uDAAAA;AAAAA,IAAAA,+DAAAA,CAAAA,yDAAAA;AACRA,IAAAA,uDAAAA;AAAAA,IAAAA,+DAAAA,CAAAA,yDAAAA;;;;;;AAG/BA,IAAAA,4DAAAA;AAAgCA,IAAAA,oDAAAA;;AAA+CA,IAAAA,0DAAAA;;;;AAA/CA,IAAAA,uDAAAA;AAAAA,IAAAA,+DAAAA,CAAAA,yDAAAA;;;;ADQ7B,IAAM0C,8BAAb;AAAM,QAAOA,8BAAP,CAAqC;AAGzCjF,gBACUK,WADV,EAEUC,gBAFV,EAGUwK,KAHV,EAGkC;AAFxB;AACA;AACA;AALV,6BAAkB,IAAlB;;AAOE,UACE,KAAKzK,WAAL,CAAiBsB,YAAjB,CAA8B,CAC5B/B,2FAD4B,EAE5BA,yFAF4B,CAA9B,CADF,EAKE;AACA,aAAKkL,KAAL,CAAW0B,MAAX,CAAkBpD,uFAAlB,EAAqClI,SAArC,CAA+Cgb,IAAI,IAAG;AACpD,eAAKqS,eAAL,GAAuB,CAAC,CAACrS,IAAzB;;AAEA,cAAI,CAACA,IAAL,EAAW;AACT,iBAAK5b,gBAAL,CAAsB4d,qBAAtB;AACD;AACF,SAND;AAOD;AACF;;AAtBwC;;;qBAA9BjZ,gCAA8B1C,+DAAAA,CAAAA,6EAAAA,GAAAA,+DAAAA,CAAAA,+EAAAA,GAAAA,+DAAAA,CAAAA,8CAAAA;AAAA;;;UAA9B0C;AAA8BzC;AAAAM;AAAAC;AAAAgL;AAAA/K;AAAA;ACd3CT,QAAAA,4DAAAA;AACEA,QAAAA,wDAAAA;AAIAA,QAAAA,wDAAAA,yFAAAA,oEAAAA;AAGFA,QAAAA,0DAAAA;;;;;;AAPiBA,QAAAA,uDAAAA;AAAAA,QAAAA,wDAAAA,8BAAuB,UAAvB,EAAuBskB,GAAvB;;;;;;;;ADajB,SAAa5hB,8BAAb;AAAA;;;;;;;;;;;;;;;;;;;;;;;AENA;AAOA;;;;;;;;;;;ACfA1C,IAAAA,uDAAAA;;;;;;AAQQA,IAAAA,4DAAAA;AAAmDA,IAAAA,oDAAAA;;AAA4CA,IAAAA,0DAAAA;;;;AAA5CA,IAAAA,uDAAAA;AAAAA,IAAAA,+DAAAA,CAAAA,yDAAAA;;;;;;AACnDA,IAAAA,4DAAAA;AAAqDA,IAAAA,oDAAAA;;AAAgDA,IAAAA,0DAAAA;;;;AAAhDA,IAAAA,uDAAAA;AAAAA,IAAAA,+DAAAA,CAAAA,yDAAAA;;;;;;;;AAQrDA,IAAAA,4DAAAA;AACIA,IAAAA,wDAAAA;AAAA;AAAA;AAAA;AAAA,aAASqsB,qCAAT;AAAoC,KAApC;AACFrsB,IAAAA,4DAAAA,eAAwB,CAAxB,EAAwB,KAAxB,EAAwB,EAAxB;AACqBA,IAAAA,oDAAAA;AAAoBA,IAAAA,0DAAAA;;;;;AAApBA,IAAAA,uDAAAA;AAAAA,IAAAA,+DAAAA;;;;;;AAJ3BA,IAAAA,4DAAAA;AACIA,IAAAA,wDAAAA;;AAMJA,IAAAA,0DAAAA;;;;;AANwDA,IAAAA,uDAAAA;AAAAA,IAAAA,wDAAAA,YAAAA,yDAAAA;;;;;;AAclDA,IAAAA,4DAAAA,eAAuD,CAAvD,EAAuD,UAAvD,EAAuD,EAAvD;AAC+BA,IAAAA,oDAAAA;AAAeA,IAAAA,0DAAAA;;;;;AAAfA,IAAAA,uDAAAA;AAAAA,IAAAA,+DAAAA;;;;;;AAI3BA,IAAAA,4DAAAA;AAAsCA,IAAAA,oDAAAA;;AAA4BA,IAAAA,0DAAAA;;;;;AAA5BA,IAAAA,uDAAAA;AAAAA,IAAAA,+DAAAA,CAAAA,yDAAAA;;;;;;;;AAV9CA,IAAAA,qEAAAA;AACEA,IAAAA,4DAAAA;AAEIA,IAAAA,wDAAAA;AAAAA,MAAAA,2DAAAA;AAAA;AAAA,aAASssB,0BAAT;AAA2B,KAA3B;AAEFtsB,IAAAA,wDAAAA;AAGAA,IAAAA,4DAAAA,eAA+E,CAA/E,EAA+E,KAA/E,EAA+E,EAA/E;AAEIA,IAAAA,wDAAAA;AACFA,IAAAA,0DAAAA;AAGNA,IAAAA,mEAAAA;;;;;;AAbmBA,IAAAA,uDAAAA;AAAAA,IAAAA,oEAAAA;AACbA,IAAAA,yDAAAA,6CAA0C,QAA1C,EAA0CusB,iBAA1C;AAEAvsB,IAAAA,wDAAAA;AACIA,IAAAA,uDAAAA;AAAAA,IAAAA,wDAAAA;AAGwCA,IAAAA,uDAAAA;AAAAA,IAAAA,yDAAAA;AAEtBA,IAAAA,uDAAAA;AAAAA,IAAAA,wDAAAA;;;;;;;;;;;;;;AAnClCA,IAAAA,4DAAAA,cAA+I,CAA/I,EAA+I,IAA/I,EAA+I,CAA/I,EAA+I,CAA/I,EAA+I,IAA/I,EAA+I,CAA/I,EAA+I,CAA/I,EAA+I,KAA/I,EAA+I,CAA/I;AAGgFA,IAAAA,wDAAAA;AAAA;AAAA;AAAA;AAAA,aAASwsB,kCAAT;AAAgC,KAAhC;AAAkCxsB,IAAAA,0DAAAA;AAE9GA,IAAAA,4DAAAA;AAA+BA,IAAAA,wDAAAA;AAAAA,MAAAA,2DAAAA;AAAA;AAAA,aAASysB,iCAAT;AAAkC,KAAlC;AAC7BzsB,IAAAA,4DAAAA;AACEA,IAAAA,wDAAAA;AACAA,IAAAA,wDAAAA;AACFA,IAAAA,0DAAAA;AACAA,IAAAA,4DAAAA;AACEA,IAAAA,uDAAAA;AACFA,IAAAA,0DAAAA;AAGFA,IAAAA,wDAAAA;AASAA,IAAAA,qEAAAA;AACEA,IAAAA,wDAAAA;AAeFA,IAAAA,mEAAAA;AACFA,IAAAA,0DAAAA;;;;;;AAzC0BA,IAAAA,yDAAAA;AAEkBA,IAAAA,uDAAAA;AAAAA,IAAAA,wDAAAA,YAAAA,6DAAAA;AACtBA,IAAAA,uDAAAA;AAAAA,IAAAA,yDAAAA;AAE+CA,IAAAA,uDAAAA;AAAAA,IAAAA,yDAAAA;AAC3BA,IAAAA,uDAAAA;AAAAA,IAAAA,yDAAAA;AACHA,IAAAA,uDAAAA;AAAAA,IAAAA,wDAAAA;AACEA,IAAAA,uDAAAA;AAAAA,IAAAA,wDAAAA;AAEhBA,IAAAA,uDAAAA;AAAAA,IAAAA,yDAAAA;AAKjBA,IAAAA,uDAAAA;AAAAA,IAAAA,wDAAAA;AAU2BA,IAAAA,uDAAAA;AAAAA,IAAAA,wDAAAA;;;;ADG9B,IAAM0sB,gCAAb;AAAM,QAAOA,gCAAP,CAAuC;AAM3CjvB,gBACkBG,iBADlB,EAEmB+uB,aAFnB,EAGmBhvB,SAHnB,EAImBivB,gBAJnB,EAKmBpkB,EALnB,EAKwC;AAJtB;AACC;AACA;AACA;AACA;AAVV,uBAAY,KAAZ;AACT,wBACE,KAAK5K,iBAAL,CAAuBivB,qBAAvB,EADF;AAEA,uCAA4B,KAA5B;AAQI;;AAEJ/S,YAAQ,CAACsB,GAAD,EAAY;AAClB+B,YAAM,CAACC,QAAP,CAAgB0P,IAAhB,GAAuB1R,GAAvB;AACD;;AAED2R,2BAAuB;AACrB,WAAKC,yBAAL,GAAiC,CAAC,KAAKA,yBAAvC;AACA,WAAKxkB,EAAL,CAAQif,aAAR;AACD;;AAEDwF,qBAAiB,CAACC,GAAD,EAAsB;AACrC,YAAMze,aAAa,GAAG,yBAAtB;AAEA,WAAKme,gBAAL,CACGze,IADH,CACQ;AACJE,aAAK,EAAE,wBADH;AAEJxO,eAAO,EAAE,KAAKlC,SAAL,CAAemN,OAAf,CAAuB,0BAAvB,EAAmD,CAC1DoiB,GAAG,CAAC7e,KADsD,CAAnD,CAFL;AAKJE,oBAAY,EAAE;AAAEC,cAAI,EAAE;AAAR,SALV;AAMJC,qBAAa,EAAE;AAAED,cAAI,EAAEC;AAAR,SANX;AAOJX,gBAAQ,EAAEvB,oFAAqBwB;AAP3B,OADR,EAUGpP,SAVH,CAUawuB,GAAG,IAAG;AACf,aAAKJ,uBAAL;;AACA,YAAII,GAAG,KAAK1e,aAAZ,EAA2B;AACzB,eAAKqL,QAAL,CAAcoT,GAAG,CAACloB,IAAlB;AACD;AACF,OAfH;AAgBD;;AAEDooB,oBAAgB;AACdhB,MAAAA,oGAAA,CAAiC,CAAjC,EAAoCF,yFAApC;AACAE,MAAAA,oGAAA,CAAiC,CAAjC,EAAoCD,4FAApC;AACD;;AAEDmB,wBAAoB;AAClB,YAAMC,QAAQ,GAAG,KAAKZ,aAAL,CAAmBxpB,QAAnB,CAA4B,eAA5B,CAAjB;AACA,YAAMqqB,GAAG,GAAGD,QAAQ,GAAGA,QAAQ,CAACnS,GAAZ,GAAkB,EAAtC;AACA,UAAIqS,iBAAJ;;AACA,cAAQ,IAAR;AACE,aAAKD,GAAG,CAACrjB,QAAJ,CAAa,KAAb,CAAL;AACEsjB,2BAAiB,GAAGxB,gGAApB;AACA;;AACF,aAAKuB,GAAG,CAACrjB,QAAJ,CAAa,WAAb,CAAL;AACEsjB,2BAAiB,GAAGxB,gGAApB;AACA;;AACF,aAAKuB,GAAG,CAACrjB,QAAJ,CAAa,YAAb,CAAL;AACEsjB,2BAAiB,GAAGxB,+FAApB;AACA;;AACF,aAAKuB,GAAG,CAACrjB,QAAJ,CAAa,KAAb,CAAL;AACEsjB,2BAAiB,GAAGxB,wFAApB;AACA;;AACF,aAAKuB,GAAG,CAACrjB,QAAJ,CAAa,SAAb,CAAL;AACEsjB,2BAAiB,GAAGxB,4FAApB;AACA;;AACF;AACEwB,2BAAiB,GAAGxB,4FAApB;AAjBJ;;AAoBA,aAAOwB,iBAAP;AACD;;AA1E0C;;;qBAAhCf,kCAAgC1sB,+DAAAA,CAAAA,+FAAAA,GAAAA,+DAAAA,CAAAA,mFAAAA,GAAAA,+DAAAA,CAAAA,iEAAAA,GAAAA,+DAAAA,CAAAA,+EAAAA,GAAAA,+DAAAA,CAAAA,4DAAAA;AAAA;;;UAAhC0sB;AAAgCzsB;AAAA4lB;AAAAkI;AAAA;AAAAxtB;AAAAC;AAAAgL;AAAA/K;AAAA;AC7B7CT,QAAAA,wDAAAA;AACAA,QAAAA,wDAAAA;;;;;AADMA,QAAAA,wDAAAA;AACqDA,QAAAA,uDAAAA;AAAAA,QAAAA,wDAAAA,SAAAA,yDAAAA;;;;;;;;AD4B3D,SAAa0sB,gCAAb;AAAA;;;;;;;;;;;;;;;;;;;;;;;AE5BA;AACA;AACA;AACA;AACA;AACA;AACA;;AAcO,IAAMjqB,6BAAb;AAAM,QAAOA,6BAAP,CAAoC;;;qBAA7BA;AAA6B;;;UAA7BA;;;cAXF,CACP+hB,yDADO,EAEPtjB,gEAFO,EAGPH,yDAHO,EAIP0jB,iEAJO,EAKPjjB,qGALO,EAMPwsB,mFANO;;AAWX,SAAavrB,6BAAb;AAAA;;;sHAAaA,+BAA6B;AAAA0B,mBAHzBuoB,mGAGyB;AAHOlpB,cAP7CghB,yDAO6C,EAN7CtjB,gEAM6C,EAL7CH,yDAK6C,EAJ7C0jB,iEAI6C,EAH7CjjB,qGAG6C,EAF7CwsB,mFAE6C,CAGP;AALvBnJ,cAGP6H,mGAHO;AAKuB;AAFE;;;;;;;;;;;;;;;;;;AClB5C;;;AAQO,IAAMuB,8BAAb;AAAM,QAAOA,8BAAP,CAAqC;AACzCxwB,gBAAoBG,iBAApB,EAAwD;AAApC;AAAwC;;AAE5DivB,yBAAqB;AACnB,aAAO,KAAKjvB,iBAAL,CAAuBivB,qBAAvB,GAA+CnuB,IAA/C,CAAoD4I,iDAAW,CAAC,CAAD,CAA/D,CAAP;AACD;;AAED4mB,sBAAkB;AAChB,aAAO,KAAKtwB,iBAAL,CAAuBuwB,SAA9B;AACD;;AATwC;;;qBAA9BF,gCAA8BjuB,sDAAAA,CAAAA,gFAAAA;AAAA;;;WAA9BiuB;AAA8B5hB,aAA9B4hB,8BAA8B;AAAA3hB,gBADjB;;AAC1B,SAAa2hB,8BAAb;AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACFA;AACA;AACA;AACA;AAMA;AASA;;;;;;;;;;;;;;;;;;ACVUjuB,IAAAA,4DAAAA;AACEA,IAAAA,uDAAAA;AAA2BA,IAAAA,4DAAAA;AAA2BA,IAAAA,oDAAAA;;AAA6BA,IAAAA,0DAAAA;AAAOA,IAAAA,uDAAAA;AAC5FA,IAAAA,0DAAAA;;;;AADwDA,IAAAA,uDAAAA;AAAAA,IAAAA,+DAAAA,CAAAA,yDAAAA;;;;;;AAExDA,IAAAA,4DAAAA,4BAK+G,CAL/G,EAK+G,GAL/G;AAMKA,IAAAA,oDAAAA;;AAA8BA,IAAAA,0DAAAA;;;;;;;;AADjCA,IAAAA,oEAAAA;AAHAA,IAAAA,wDAAAA,+RAE+I,OAF/I,EAE+I2uB,eAF/I;AAIG3uB,IAAAA,uDAAAA;AAAAA,IAAAA,+DAAAA,CAAAA,yDAAAA;;;;;;AAVPA,IAAAA,qEAAAA;AACEA,IAAAA,wDAAAA;AAGAA,IAAAA,wDAAAA;AAQFA,IAAAA,mEAAAA;;;;;;;AAXQA,IAAAA,uDAAAA;AAAAA,IAAAA,wDAAAA;AAIHA,IAAAA,uDAAAA;AAAAA,IAAAA,wDAAAA;;;;;;AAsBHA,IAAAA,gEAAAA;;;;;;AADFA,IAAAA,qEAAAA;AACEA,IAAAA,wDAAAA;AACFA,IAAAA,mEAAAA;;;;;;;;AADkBA,IAAAA,uDAAAA;AAAAA,IAAAA,wDAAAA;;;;;;AAGlBA,IAAAA,4DAAAA,0BAGuD,CAHvD,EAGuD,WAHvD;AAIaA,IAAAA,oDAAAA;;AAAuDA,IAAAA,0DAAAA;AAClEA,IAAAA,uDAAAA;AAKAA,IAAAA,4DAAAA;AAAsBA,IAAAA,oDAAAA;;AAAsDA,IAAAA,0DAAAA;AAC5EA,IAAAA,4DAAAA,iBAAW,CAAX,EAAW,UAAX;AACYA,IAAAA,oDAAAA;;AAAsDA,IAAAA,0DAAAA;AAChEA,IAAAA,uDAAAA;AACAA,IAAAA,oDAAAA;;AACFA,IAAAA,0DAAAA;;;;AAXWA,IAAAA,uDAAAA;AAAAA,IAAAA,+DAAAA,CAAAA,yDAAAA;AAMWA,IAAAA,uDAAAA;AAAAA,IAAAA,+DAAAA,CAAAA,yDAAAA;AAEVA,IAAAA,uDAAAA;AAAAA,IAAAA,+DAAAA,CAAAA,yDAAAA;AAEVA,IAAAA,uDAAAA;AAAAA,IAAAA,gEAAAA,MAAAA,yDAAAA;;;;;;AA7BNA,IAAAA,4DAAAA;AACEA,IAAAA,uDAAAA;;;AAUAA,IAAAA,wDAAAA;AAIAA,IAAAA,wDAAAA;AAiBFA,IAAAA,0DAAAA;;;;;AA7BIA,IAAAA,uDAAAA;AAAAA,IAAAA,wDAAAA,oBAAkB,cAAlB,EAAkBA,yDAAAA,mCAAlB,EAAkB,MAAlB,EAAkB4uB,mBAAlB,EAAkB,SAAlB,EAAkBA,mCAAlB,EAAkB,cAAlB,EAAkB5uB,yDAAAA,mCAAlB;AAQaA,IAAAA,uDAAAA;AAAAA,IAAAA,wDAAAA;AAKZA,IAAAA,uDAAAA;AAAAA,IAAAA,wDAAAA;;;;;;AAuBDA,IAAAA,4DAAAA;AACEA,IAAAA,oDAAAA;AACFA,IAAAA,0DAAAA;;;;;AADEA,IAAAA,uDAAAA;AAAAA,IAAAA,gEAAAA;;;;;;AAIFA,IAAAA,gEAAAA;;;;;;AADFA,IAAAA,4DAAAA;AACEA,IAAAA,wDAAAA;AACFA,IAAAA,0DAAAA;;;;;;;;AADiBA,IAAAA,uDAAAA;AAAAA,IAAAA,wDAAAA;;;;;;AAVnBA,IAAAA,4DAAAA,eAAqG,CAArG,EAAqG,KAArG,EAAqG,EAArG,EAAqG,CAArG,EAAqG,kBAArG,EAAqG,EAArG;AAGMA,IAAAA,oDAAAA;;AACFA,IAAAA,0DAAAA;AACAA,IAAAA,wDAAAA;AAGFA,IAAAA,0DAAAA;AACAA,IAAAA,wDAAAA;AAGFA,IAAAA,0DAAAA;;;;;AATMA,IAAAA,uDAAAA;AAAAA,IAAAA,gEAAAA,MAAAA,yDAAAA;AAEsEA,IAAAA,uDAAAA;AAAAA,IAAAA,wDAAAA;AAI9CA,IAAAA,uDAAAA;AAAAA,IAAAA,wDAAAA;;;;;;;;AAU9BA,IAAAA,4DAAAA;AAEEA,IAAAA,wDAAAA;AAAAA,MAAAA,2DAAAA;AAAA;AAAA,aAASwsB,mBAAT;AAAoB,KAApB;AAEAxsB,IAAAA,4DAAAA;AAAUA,IAAAA,oDAAAA;AAAUA,IAAAA,0DAAAA;;;;;;AA2B1BA,IAAAA,uDAAAA;;;;;AAEEA,IAAAA,wDAAAA,oBAAkB,SAAlB,EAAkBgI,gCAAlB,EAAkB,MAAlB,EAAkBA,gBAAlB;;;;ADhFG,IAAMsF,+BAAb;AAAM,QAAOA,+BAAP,CAAsC;AAc1C7P,gBACkCkI,IADlC,EAEU6C,EAFV,EAGmB7K,SAHnB,EAImBiQ,WAJnB,EAI2C;AAHT;AACxB;AACS;AACA;AAjBX,uBAA2B,IAAIxG,yCAAJ,EAA3B;AAER,qBAAUknB,mFAAV;AACA,0BAAeE,uFAAA,CAA0Bra,CAAC,KAAK,EAC7C,GAAGA,CAD0C;AAE7C9F,aAAK,EAAE,KAAK1Q,SAAL,CAAemN,OAAf,CAAuBqJ,CAAC,CAAC9F,KAAzB;AAFsC,OAAL,CAA3B,CAAf;AAIA,kCAAuB7B,wFAAvB;AAGA,uBAAmC,EAAnC;AACA,+BAA4C,EAA5C;AAQE,WAAKqiB,eAAL;AACA,WAAKC,kBAAL;AACA,WAAKC,gBAAL;AACD;;AAEDrmB,eAAW;AACT,WAAKC,SAAL,CAAeC,IAAf;;AACA,WAAKD,SAAL,CAAeE,QAAf;AACD;;AAEDmmB,aAAS;AACP,WAAKC,YAAL,CAAkBlH,KAAlB,CAAwB;AACtBtR,gBAAQ,EAAEgY,uFADY;AAEtBS,aAAK,EAAE;AAFe,OAAxB;AAID;;AAEOH,oBAAgB;AACtB,UAAI,KAAKppB,IAAL,IAAa,KAAKA,IAAL,CAAU2I,OAA3B,EAAoC;AAClC,YAAI,KAAK3I,IAAL,CAAU2I,OAAV,CAAkB6gB,KAAtB,EAA6B;AAC3B,eAAKC,iBAAL,GAAyB,KAAKzpB,IAAL,CAAU2I,OAAV,CAAkB6gB,KAAlB,CAAwB3nB,GAAxB,CACvBwI,IAAI,IAAIA,IAAI,CAACqf,oBADU,CAAzB;AAGD;;AACD,YAAI,KAAK1pB,IAAL,CAAU2I,OAAV,CAAkBjF,UAAtB,EAAkC;AAChC,eAAKimB,SAAL,CAAe,KAAK3pB,IAAL,CAAU2I,OAAV,CAAkBjF,UAAjC;AACD;AACF;AACF;;AAEOwlB,mBAAe;AACrB,WAAKI,YAAL,GAAoB,IAAIlJ,qDAAJ,CAAc;AAChC9Q,YAAI,EAAE,IAAI6Q,uDAAJ,CAAgB,IAAhB,EAAsBE,+DAAtB,CAD0B;AAEhCuJ,gBAAQ,EAAE,IAAIzJ,uDAAJ,CAAgB,IAAhB,EAAsBE,+DAAtB,CAFsB;AAGhCkJ,aAAK,EAAE,IAAIpJ,uDAAJ,CAAgB,IAAhB,EAAsBE,+DAAtB,CAHyB;AAIhCvP,gBAAQ,EAAE,IAAIqP,uDAAJ,CAAgB2I,uFAAhB,EAA2C,CACnDzI,+DADmD,EAEnDA,0DAAA,CAAeuI,mFAAf,CAFmD,EAGnDvI,0DAAA,CACG,KAAKrgB,IAAL,CAAU2I,OAAV,IAAqB,KAAK3I,IAAL,CAAU2I,OAAV,CAAkBqC,WAAxC,IAAwD,CAD1D,CAHmD,EAMnDqV,8DAAA,CAAmB,mBAAnB,CANmD,CAA3C,CAJsB;AAYhC2J,0BAAkB,EAAE,IAAI7J,uDAAJ,CAAgB,KAAhB;AAZY,OAAd,CAApB;AAcD;;AAEOgJ,sBAAkB;AACxB,WAAKG,YAAL,CACGxwB,GADH,CACO,MADP,EAEGmxB,YAFH,CAEgBlxB,IAFhB,CAGI0O,oEAAoB,EAHxB,EAIID,iEAAiB,CACf,KAAK8hB,YAAL,CACGxwB,GADH,CACO,oBADP,EAEGmxB,YAFH,CAEgBlxB,IAFhB,CAEqB0O,oEAAoB,EAFzC,EAE6CihB,yDAAS,CAAC,IAAD,CAFtD,CADe,CAJrB,EASI3mB,yDAAS,CAAC,KAAKiB,SAAN,CATb,EAWGhK,SAXH,CAWa,CAAC,CAACsW,IAAD,EAAO4a,WAAP,CAAD,KAAwB;AACjC,cAAMC,SAAS,GAAG,KAAKb,YAAL,CAAkBxwB,GAAlB,CAAsB,OAAtB,CAAlB;;AAEA,YAAIwW,IAAI,KAAKqZ,4FAAb,EAA6C;AAC3C,eAAKW,YAAL,CAAkBc,MAAlB;AACA,eAAKd,YAAL,CAAkBxwB,GAAlB,CAAsB,UAAtB,EAAkC2d,UAAlC,CAA6C,CAA7C;AACA,eAAK6S,YAAL,CAAkBxwB,GAAlB,CAAsB,UAAtB,EAAkCuxB,OAAlC;AACA,eAAKf,YAAL,CAAkBxwB,GAAlB,CAAsB,oBAAtB,EAA4CuxB,OAA5C;AACD,SALD,MAKO,IAAI/a,IAAI,KAAKqZ,4FAAb,EAA6C;AAClD,eAAKW,YAAL,CAAkBc,MAAlB;AACA,eAAKd,YAAL,CACGxwB,GADH,CACO,UADP,EAEG2d,UAFH,CAEcqS,uFAFd;AAGAqB,mBAAS,CAACE,OAAV;;AAEA,cACE,CAAC,KAAKZ,iBAAL,CAAuBjlB,QAAvB,CACCqC,2GADD,CADH,EAIE;AACA,iBAAKyiB,YAAL,CAAkBxwB,GAAlB,CAAsB,oBAAtB,EAA4CuxB,OAA5C;AACD;AACF,SAdM,MAcA;AACL,eAAKf,YAAL,CAAkBe,OAAlB;AACA,eAAKf,YAAL,CAAkBxwB,GAAlB,CAAsB,MAAtB,EAA8BsxB,MAA9B;AACD;;AAED,YAAIF,WAAW,IAAI,KAAKlqB,IAAL,CAAU2I,OAA7B,EAAsC;AACpCwhB,mBAAS,CAACC,MAAV;AACD;;AAED,YAAI,CAAC,KAAKE,SAAL,CAAetlB,MAApB,EAA4B;AAC1BmlB,mBAAS,CAAC/H,KAAV,CAAgB,IAAhB,EAAsB;AAAE1L,qBAAS,EAAE;AAAb,WAAtB;AACAyT,mBAAS,CAACE,OAAV;AACD,SAHD,MAGO,IAAI,KAAKC,SAAL,CAAetlB,MAAf,KAA0B,CAA1B,IAA+BmlB,SAAS,CAAC3F,OAA7C,EAAsD;AAC3D2F,mBAAS,CAACI,QAAV,CAAmB,KAAKD,SAAL,CAAe,CAAf,CAAnB;AACAH,mBAAS,CAACE,OAAV;AACD;AACF,OAjDH;AAmDA,WAAKf,YAAL,CACGxwB,GADH,CACO,UADP,EAEGmxB,YAFH,CAEgBlxB,IAFhB,CAEqB0O,oEAAoB,EAFzC,EAE6C1F,yDAAS,CAAC,KAAKiB,SAAN,CAFtD,EAGGhK,SAHH,CAGc4wB,QAAD,IAAkC;AAC3C,gBAAQA,QAAQ,IAAIA,QAAQ,CAACrgB,KAA7B;AACE,eAAKwf,mFAAL;AACE,iBAAK0B,yBAAL,CAA+B,EAA/B;AACA;;AACF,eAAK1B,qFAAL;AACE,iBAAK0B,yBAAL,CAA+B,CAA/B;AACA;;AACF,eAAK1B,oFAAL;AACE,iBAAK0B,yBAAL,CAA+B,CAA/B;AACA;;AACF;AACE,iBAAKA,yBAAL,CAA+B,CAA/B;AACA;AAZJ;AAcD,OAlBH;AAmBD;;AAEOA,6BAAyB,CAACzf,WAAD,EAAoB;AACnD,YAAM4f,YAAY,GAAG,KAAKtB,YAAL,CAAkBxwB,GAAlB,CAAsB,UAAtB,CAArB;AAEA8xB,kBAAY,CAACC,eAAb;AACAD,kBAAY,CAACE,aAAb,CAA2B,CACzBzK,+DADyB,EAEzBA,0DAAA,CAAerV,WAAf,CAFyB,EAGzBqV,0DAAA,CAAeuI,mFAAf,CAHyB,EAIzBvI,8DAAA,CAAmB,mBAAnB,CAJyB,CAA3B;AAMAuK,kBAAY,CAACG,sBAAb;AACD;;AAEOpB,aAAS,CAACjmB,UAAD,EAAmB;AAClC,WAAKuE,WAAL,CAAiByL,gBAAjB,CAAkChQ,UAAlC,EAA8C1K,SAA9C,CAAwDgyB,IAAI,IAAG;AAC7D,aAAKV,SAAL,GACEU,IAAI,CAACC,MAAL,CAAYppB,GAAZ,CAAgB0nB,KAAK,KAAK,EACxB,GAAG;AAAE7gB,iBAAK,EAAE6gB,KAAK,CAAC1gB,IAAf;AAAqBU,iBAAK,EAAEggB,KAAK,CAAC/jB;AAAlC;AADqB,SAAL,CAArB,KAEO,EAHT;AAIA,aAAK3C,EAAL,CAAQif,aAAR;AACD,OAND;AAOD;;AAjKyC;;;qBAA/Bna,iCAA+BtN,+DAAAA,CAehCouB,sEAfgC,GAejBpuB,+DAAAA,CAAAA,4DAAAA,GAAAA,+DAAAA,CAAAA,kEAAAA,GAAAA,+DAAAA,CAAAA,mEAAAA;AAAA;;;UAfdsN;AAA+BrN;AAAAM;AAAAC;AAAAgL;AAAA/K;AAAA;ACnC5CT,QAAAA,4DAAAA,cAA4E,CAA5E,EAA4E,KAA5E,EAA4E,CAA5E,EAA4E,CAA5E,EAA4E,IAA5E,EAA4E,CAA5E;AAE6DA,QAAAA,oDAAAA;;AAA4BA,QAAAA,0DAAAA;AACvFA,QAAAA,4DAAAA;AAA4FA,QAAAA,oDAAAA;AAAKA,QAAAA,0DAAAA;AAGlGA,QAAAA,4DAAAA,6BAAuC,CAAvC,EAAuC,KAAvC,EAAuC,CAAvC,EAAuC,CAAvC,EAAuC,OAAvC,EAAuC,CAAvC;AAE8BA,QAAAA,oDAAAA;;AAA8BA,QAAAA,0DAAAA;AAGzDA,QAAAA,4DAAAA,mBAA2C,EAA3C,EAA2C,iBAA3C,EAA2C,CAA3C;AAGIA,QAAAA,wDAAAA;AAaFA,QAAAA,0DAAAA;AAEAA,QAAAA,wDAAAA;AAkCAA,QAAAA,wDAAAA;AAcFA,QAAAA,0DAAAA;AAGFA,QAAAA,4DAAAA,gBAA0B,EAA1B,EAA0B,KAA1B,EAA0B,EAA1B;AAEIA,QAAAA,wDAAAA;AAMAA,QAAAA,4DAAAA;AACEA,QAAAA,uDAAAA,gBAAmG,EAAnG,EAAmG,KAAnG,EAAmG,EAAnG;AAEFA,QAAAA,0DAAAA;AAGFA,QAAAA,4DAAAA,+BAA2C,EAA3C,EAA2C,QAA3C,EAA2C,EAA3C;AAMkBA,QAAAA,oDAAAA;;;AAAoDA,QAAAA,0DAAAA;AACpEA,QAAAA,4DAAAA;AAMgBA,QAAAA,oDAAAA;;;AAAoDA,QAAAA,0DAAAA;AAK1EA,QAAAA,wDAAAA,6FAAAA,oEAAAA;;;;;;AA9G6DA,QAAAA,uDAAAA;AAAAA,QAAAA,+DAAAA,CAAAA,yDAAAA;AACjDA,QAAAA,uDAAAA;AAAAA,QAAAA,wDAAAA;AAKFA,QAAAA,uDAAAA;AAAAA,QAAAA,wDAAAA;AAAqBA,QAAAA,uDAAAA;AAAAA,QAAAA,+DAAAA,CAAAA,yDAAAA;AAGrBA,QAAAA,uDAAAA;AAAAA,QAAAA,wDAAAA;AAG+BA,QAAAA,uDAAAA;AAAAA,QAAAA,wDAAAA;AAePA,QAAAA,uDAAAA;AAAAA,QAAAA,wDAAAA;AAkCtBA,QAAAA,uDAAAA;AAAAA,QAAAA,wDAAAA;AAoBHA,QAAAA,uDAAAA;AAAAA,QAAAA,wDAAAA;AAM2CA,QAAAA,uDAAAA;AAAAA,QAAAA,yDAAAA;AACAA,QAAAA,uDAAAA;AAAAA,QAAAA,yDAAAA;AAS5CA,QAAAA,uDAAAA;AAAAA,QAAAA,wDAAAA;AACcA,QAAAA,uDAAAA;AAAAA,QAAAA,+DAAAA,CAAAA,yDAAAA,SAAAA,yDAAAA;AAKdA,QAAAA,uDAAAA;AAAAA,QAAAA,wDAAAA,uCAAiC,kBAAjC,EAAiCyL,8BAAjC;AAEczL,QAAAA,uDAAAA;AAAAA,QAAAA,+DAAAA,CAAAA,yDAAAA,SAAAA,yDAAAA;;;;;;;;ADxEtB,SAAasN,+BAAb;AAAA;;;;;;;;;;;;;;;;;;;;AE/BO,MAAMihB,qBAAqB,GAAG,EAA9B;AACA,MAAME,yBAAyB,GAAG,EAAlC;AAEA,IAAKC,gBAKX;AALD,aAAYA,gBAAZ,EAA4B;AAC1BA;AACAA;AACAA;AACAA;AACD,GALD,EAAYA,gBAAgB,KAAhBA,gBAAgB,MAA5B,CAKC;;AAAA,SALWA,gBAKX;AAAA,IALD;AAOO,IAAKmC,4BAGX;AAHD,aAAYA,4BAAZ,EAAwC;AACtCA;AACAA;AACD,GAHD,EAAYA,4BAA4B,KAA5BA,4BAA4B,MAAxC,CAGC;;AAAA,SAHWA,4BAGX;AAAA,IAHD;AAKO,MAAMvC,qBAAqB,GAAG,CACnC;AACEjgB,OAAK,EAAE,kCADT;AAEEa,OAAK,EAAE2hB,4BAA4B,CAACC;AAFtC,CADmC,EAKnC;AACEziB,OAAK,EAAE,kCADT;AAEEa,OAAK,EAAE2hB,4BAA4B,CAACE;AAFtC,CALmC,CAA9B;AAWA,MAAMvC,qBAAqB,GAAG,CACnC;AACEngB,OAAK,EAAE,yCADT;AAEEa,OAAK,EAAEwf,gBAAgB,CAACyB;AAF1B,CADmC,EAKnC;AACE9hB,OAAK,EAAE,yCADT;AAEEa,OAAK,EAAEwf,gBAAgB,CAAC2B;AAF1B,CALmC,EASnC;AACEhiB,OAAK,EAAE,yCADT;AAEEa,OAAK,EAAEwf,gBAAgB,CAAC4B;AAF1B,CATmC,EAanC;AACEjiB,OAAK,EAAE,yCADT;AAEEa,OAAK,EAAEwf,gBAAgB,CAACsC;AAF1B,CAbmC,CAA9B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACxBP;AACA;AACA;AAOA;;;;;;;;;;;;;;;ACDUhxB,IAAAA,4DAAAA;AACEA,IAAAA,uDAAAA;AAA2BA,IAAAA,4DAAAA;AAA2BA,IAAAA,oDAAAA;;AAA6BA,IAAAA,0DAAAA;AAAOA,IAAAA,uDAAAA;AAC5FA,IAAAA,0DAAAA;;;;AADwDA,IAAAA,uDAAAA;AAAAA,IAAAA,+DAAAA,CAAAA,yDAAAA;;;;;;AAF1DA,IAAAA,qEAAAA;AACEA,IAAAA,wDAAAA;AAGAA,IAAAA,4DAAAA,4BAA6H,CAA7H,EAA6H,GAA7H;AACKA,IAAAA,oDAAAA;;AAA8BA,IAAAA,0DAAAA;AAErCA,IAAAA,mEAAAA;;;;;;AANQA,IAAAA,uDAAAA;AAAAA,IAAAA,wDAAAA;AAGYA,IAAAA,uDAAAA;AAAAA,IAAAA,oEAAAA;AAAoFA,IAAAA,wDAAAA;AACjGA,IAAAA,uDAAAA;AAAAA,IAAAA,+DAAAA,CAAAA,yDAAAA;;;;;;AAmBHA,IAAAA,4DAAAA;AAA4FA,IAAAA,oDAAAA;;AAAwCA,IAAAA,0DAAAA;;;;;AAA9EA,IAAAA,yDAAAA;AAAsCA,IAAAA,uDAAAA;AAAAA,IAAAA,gEAAAA,KAAAA,yDAAAA;;;;;;;;;;ADTjG,IAAMuN,6BAAb;AAAM,QAAOA,6BAAP,CAAoC;AASxC9P,gBAA4CkI,IAA5C,EAAuE;AAA3B;AARpC,sBAA0B,IAAIyB,yCAAJ,EAA1B;AAER,8BAAmB,WAAnB;AACA,2BAAgB,SAAhB;AACA,qBAAU8pB,+EAAV;AAKE,WAAKrC,eAAL;AACA,WAAKC,kBAAL;AACD;;AAEDpmB,eAAW;AACT,WAAKoe,QAAL,CAAcle,IAAd;AACA,WAAKke,QAAL,CAAcje,QAAd;AACD;;AAEDmmB,aAAS;AACP,WAAKqC,UAAL,CAAgBtJ,KAAhB,CAAsB;AACpB9S,YAAI,EAAE,KAAKqc,OAAL,CAAa,CAAb,EAAgBpiB,KADF;AAEpBuH,gBAAQ,EAAE2a,mFAAuBA;AAFb,OAAtB;AAID;;AAEOvC,mBAAe;AACrB,WAAKwC,UAAL,GAAkB,IAAItL,qDAAJ,CAAc;AAC9B9Q,YAAI,EAAE,IAAI6Q,uDAAJ,CAAgB,KAAKwL,OAAL,CAAa,CAAb,EAAgBpiB,KAAhC,EAAuC8W,+DAAvC,CADwB;AAE9BvP,gBAAQ,EAAE,IAAIqP,uDAAJ,CACR;AACE5W,eAAK,EAAEkiB,mFADT;AAEEG,kBAAQ,EAAE;AAFZ,SADQ,EAKR,CACEvL,+DADF,EAEEA,0DAAA,CAAemL,+EAAf,CAFF,EAGEnL,0DAAA,CACG,KAAKrgB,IAAL,CAAU2I,OAAV,IAAqB,KAAK3I,IAAL,CAAU2I,OAAV,CAAkBqC,WAAxC,IAAwD,CAD1D,CAHF,EAMEqV,8DAAA,CACE,mDADF,CANF,CALQ;AAFoB,OAAd,CAAlB;AAmBD;;AAEO8I,sBAAkB;AACxB,WAAKuC,UAAL,CACG5yB,GADH,CACO,MADP,EAEGmxB,YAFH,CAEgBlxB,IAFhB,CAEqB0O,0DAAoB,EAFzC,EAE6C1F,+CAAS,CAAC,KAAKof,QAAN,CAFtD,EAGGnoB,SAHH,CAGasW,IAAI,IAAG;AAChB,YAAIA,IAAI,KAAKic,wFAAb,EAA2C;AACzC,eAAKG,UAAL,CAAgB5yB,GAAhB,CAAoB,UAApB,EAAgCuxB,OAAhC;AACD,SAFD,MAEO;AACL,eAAKqB,UAAL,CAAgB5yB,GAAhB,CAAoB,UAApB,EAAgCsxB,MAAhC;AACD;AACF,OATH;AAWA,WAAKsB,UAAL,CACG5yB,GADH,CACO,UADP,EAEGmxB,YAFH,CAEgBlxB,IAFhB,CAGI2vB,+CAAS,CAAC+C,mFAAD,CAHb,EAIIhkB,0DAAoB,EAJxB,EAKI6jB,8CAAQ,EALZ,EAMIvpB,+CAAS,CAAC,KAAKof,QAAN,CANb,EAQGnoB,SARH,CAQa,CAAC,CAAC6yB,SAAD,EAAYxb,YAAZ,CAAD,KAA8B;AACvC,YAAI,CAACyb,MAAM,CAACC,KAAP,CAAa1b,YAAb,CAAL,EAAiC;AAC/B,gBAAM2b,WAAW,GAAG3b,YAAY,CAAC+G,KAAb,CAAmB,GAAnB,IAA0B,CAA1B,KAAgC,EAApD;;AAEA,cAAI/G,YAAY,GAAGmb,+EAAf,IAAsCQ,WAAW,CAAChnB,MAAZ,GAAqB,CAA/D,EAAkE;AAChE,iBAAK0mB,UAAL,CACG5yB,GADH,CACO,UADP,EAEG2d,UAFH,CAEcoV,SAFd,EAEyB;AAAElV,sBAAQ,EAAE;AAAZ,aAFzB;AAGD;AACF;AACF,OAlBH;AAmBD;;AAEwB,QAArBsV,qBAAqB;AACvB,aAAO,KAAKP,UAAL,CAAgB5yB,GAAhB,CAAoB,MAApB,EAA4ByQ,KAA5B,KAAsC,KAAKoiB,OAAL,CAAa,CAAb,EAAgBpiB,KAAtD,GACH,KAAK2iB,gBADF,GAEH,KAAKC,aAFT;AAGD;;AArFuC;;;qBAA7BvkB,+BAA6BvN,+DAAAA,CASpBouB,qEAToB;AASL;;;UATxB7gB;AAA6BtN;AAAAM;AAAAC;AAAAgL;AAAA/K;AAAA;AC5B1CT,QAAAA,4DAAAA,cAAwE,CAAxE,EAAwE,KAAxE,EAAwE,CAAxE,EAAwE,CAAxE,EAAwE,IAAxE,EAAwE,CAAxE;AAE2DA,QAAAA,oDAAAA;;AAA4BA,QAAAA,0DAAAA;AACrFA,QAAAA,4DAAAA;AAA4FA,QAAAA,oDAAAA;AAAKA,QAAAA,0DAAAA;AAGlGA,QAAAA,4DAAAA,6BAAuC,CAAvC,EAAuC,KAAvC,EAAuC,CAAvC,EAAuC,CAAvC,EAAuC,OAAvC,EAAuC,CAAvC;AAE8BA,QAAAA,oDAAAA;;AAA8BA,QAAAA,0DAAAA;AAGzDA,QAAAA,4DAAAA,mBAAyC,EAAzC,EAAyC,iBAAzC,EAAyC,CAAzC;AAEIA,QAAAA,wDAAAA;AAQFA,QAAAA,0DAAAA;AAEAA,QAAAA,4DAAAA;AACEA,QAAAA,uDAAAA;AACAA,QAAAA,4DAAAA;AAAgEA,QAAAA,oDAAAA;;AAAqDA,QAAAA,0DAAAA;AACrHA,QAAAA,4DAAAA;AAGIA,QAAAA,uDAAAA;;AAQAA,QAAAA,wDAAAA;AACAA,QAAAA,4DAAAA;AAAgDA,QAAAA,oDAAAA;;AAAoDA,QAAAA,0DAAAA;AAM5GA,QAAAA,4DAAAA,+BAA2C,EAA3C,EAA2C,QAA3C,EAA2C,EAA3C;AAMkBA,QAAAA,oDAAAA;;;AAAoDA,QAAAA,0DAAAA;AACpEA,QAAAA,4DAAAA;AAMgBA,QAAAA,oDAAAA;;;AAAoDA,QAAAA,0DAAAA;;;;;;AAvDfA,QAAAA,uDAAAA;AAAAA,QAAAA,+DAAAA,CAAAA,yDAAAA;AAC/CA,QAAAA,uDAAAA;AAAAA,QAAAA,wDAAAA;AAKFA,QAAAA,uDAAAA;AAAAA,QAAAA,wDAAAA;AAAqBA,QAAAA,uDAAAA;AAAAA,QAAAA,+DAAAA,CAAAA,yDAAAA;AAGrBA,QAAAA,uDAAAA;AAAAA,QAAAA,wDAAAA;AAE+BA,QAAAA,uDAAAA;AAAAA,QAAAA,wDAAAA;AAW5BA,QAAAA,uDAAAA;AAAAA,QAAAA,wDAAAA,YAAAA,6DAAAA;AACqBA,QAAAA,uDAAAA;AAAAA,QAAAA,yDAAAA;AAAsCA,QAAAA,uDAAAA;AAAAA,QAAAA,+DAAAA,CAAAA,yDAAAA;AASxDA,QAAAA,uDAAAA;AAAAA,QAAAA,yDAAAA;AACAA,QAAAA,mEAAAA,gBAAAA,yDAAAA;AAEGA,QAAAA,uDAAAA;AAAAA,QAAAA,wDAAAA;AACGA,QAAAA,uDAAAA;AAAAA,QAAAA,yDAAAA;AAAsCA,QAAAA,uDAAAA;AAAAA,QAAAA,+DAAAA,CAAAA,yDAAAA;AAWpDA,QAAAA,uDAAAA;AAAAA,QAAAA,wDAAAA;AACcA,QAAAA,uDAAAA;AAAAA,QAAAA,+DAAAA,CAAAA,yDAAAA,SAAAA,yDAAAA;AAKdA,QAAAA,uDAAAA;AAAAA,QAAAA,wDAAAA,qCAA+B,kBAA/B,EAA+ByL,oBAA/B;AAEczL,QAAAA,uDAAAA;AAAAA,QAAAA,+DAAAA,CAAAA,yDAAAA,SAAAA,yDAAAA;;;;;;;;AD7BtB,SAAauN,6BAAb;AAAA;;;;;;;;;;;;;;;;;;;AE5BA;AAGO,MAAM4jB,mBAAmB,GAAG,EAA5B;AACA,MAAM1jB,mBAAmB,GAAG,GAA5B;AACA,MAAM2jB,uBAAuB,GAAG,CAAhC;AAEA,MAAMF,mBAAmB,GAAG,CACjC;AACE7iB,OAAK,EAAE,kCADT;AAEEa,OAAK,EAAE1C,2GAAuCqG;AAFhD,CADiC,EAKjC;AACExE,OAAK,EAAE,kCADT;AAEEa,OAAK,EAAE1C,uGAAmCiG;AAF5C,CALiC,CAA5B;;;;;;;;;;;;;;;;;;;;;;;;;;ACNP;AACA;;;;;;;;;;;;;;;ACgBYzS,IAAAA,qEAAAA;AAA8BA,IAAAA,oDAAAA;;AAAmDA,IAAAA,mEAAAA;;;;AAAnDA,IAAAA,uDAAAA;AAAAA,IAAAA,gEAAAA,KAAAA,yDAAAA;;;;;;AAC9BA,IAAAA,qEAAAA;AAA8BA,IAAAA,oDAAAA;;AAAgCA,IAAAA,mEAAAA;;;;AAAhCA,IAAAA,uDAAAA;AAAAA,IAAAA,gEAAAA,KAAAA,yDAAAA;;;;;;AAFhCA,IAAAA,4DAAAA;AACEA,IAAAA,wDAAAA;AACAA,IAAAA,wDAAAA;AACAA,IAAAA,uDAAAA;;AACFA,IAAAA,0DAAAA;;;;;;;;AAJuCA,IAAAA,oEAAAA;AAA0DA,IAAAA,wDAAAA;AAChFA,IAAAA,uDAAAA;AAAAA,IAAAA,wDAAAA;AACAA,IAAAA,uDAAAA;AAAAA,IAAAA,wDAAAA;AACWA,IAAAA,uDAAAA;AAAAA,IAAAA,wDAAAA,cAAAA,yDAAAA,wIAAAA,4DAAAA;;;;;;AAJ9BA,IAAAA,qEAAAA;AACEA,IAAAA,wDAAAA;AAKFA,IAAAA,mEAAAA;;;;;AALqBA,IAAAA,uDAAAA;AAAAA,IAAAA,wDAAAA;;;;;;AAQvBA,IAAAA,4DAAAA,0BAGqE,CAHrE,EAGqE,WAHrE;AAIiBA,IAAAA,oDAAAA;;AAAqDA,IAAAA,0DAAAA;AAChEA,IAAAA,uDAAAA;AAMNA,IAAAA,0DAAAA;;;;;AAPiBA,IAAAA,uDAAAA;AAAAA,IAAAA,+DAAAA,CAAAA,yDAAAA;AAMTA,IAAAA,uDAAAA;AAAAA,IAAAA,wDAAAA;;;;ADpBP,IAAMkN,gCAAb;AAAM,QAAOA,gCAAP,CAAuC;AAO3CzP,gBAA4CkI,IAA5C,EAAgE;AAApB;AAN5C,wBAAa,sBAAb;;AAOE,UAAI,KAAKA,IAAL,IAAa,KAAKA,IAAL,CAAU2I,OAAvB,IAAkC,KAAK3I,IAAL,CAAU2I,OAAV,CAAkB0D,UAAxD,EAAoE;AAClE,aAAKA,UAAL,GAAkB,KAAKrM,IAAL,CAAU2I,OAAV,CAAkB0D,UAApC;AACD;;AACD,WAAK6c,eAAL;AACD;;AAEgB,QAAbvX,aAAa;AACf,aAAQ,KAAK3R,IAAL,CAAUoL,aAAV,IAA2B,EAAnC;AACD;;AAED8d,mBAAe;AACb,WAAKkD,YAAL,GAAoB,IAAIhM,qDAAJ,CAAc;AAChC5T,4BAAoB,EAAE,IAAI2T,uDAAJ,CACpB,KAAKxO,aAAL,CAAmB,CAAnB,CADoB,EAEpB0O,+DAFoB,CADU;AAKhCvP,gBAAQ,EAAE,IAAIqP,uDAAJ,CAAgB,EAAhB,EAAoBE,gEAAA,CAAqB,CAArB,CAApB;AALsB,OAAd,CAApB;AAOD;;AA1B0C;;;qBAAhC9Y,kCAAgClN,+DAAAA,CAOvBouB,qEAPuB;AAOR;;;UAPxBlhB;AAAgCjN;AAAAM;AAAAC;AAAAgL;AAAA/K;AAAA;ACf7CT,QAAAA,4DAAAA,WAA8C,CAA9C,EAA8C,KAA9C,EAA8C,CAA9C,EAA8C,CAA9C,EAA8C,IAA9C,EAA8C,CAA9C;AAGMA,QAAAA,oDAAAA;;AACFA,QAAAA,0DAAAA;AACAA,QAAAA,4DAAAA;AACEA,QAAAA,oDAAAA;AACFA,QAAAA,0DAAAA;AAEFA,QAAAA,4DAAAA,6BAAuC,CAAvC,EAAuC,KAAvC,EAAuC,CAAvC;AAEIA,QAAAA,oDAAAA;;AACFA,QAAAA,0DAAAA;AAEAA,QAAAA,4DAAAA,gBAAiC,EAAjC,EAAiC,iBAAjC,EAAiC,CAAjC;AAEIA,QAAAA,wDAAAA;AAOFA,QAAAA,0DAAAA;AAEAA,QAAAA,wDAAAA;AAYFA,QAAAA,0DAAAA;AAGFA,QAAAA,4DAAAA,8BAA2C,EAA3C,EAA2C,QAA3C,EAA2C,EAA3C;AAGIA,QAAAA,oDAAAA;;;AACFA,QAAAA,0DAAAA;AACAA,QAAAA,4DAAAA;AACEA,QAAAA,oDAAAA;;;AACFA,QAAAA,0DAAAA;;;;AA/CCA,QAAAA,oEAAAA;AAGCA,QAAAA,uDAAAA;AAAAA,QAAAA,gEAAAA,MAAAA,yDAAAA;AAEQA,QAAAA,uDAAAA;AAAAA,QAAAA,wDAAAA;AAMRA,QAAAA,uDAAAA;AAAAA,QAAAA,gEAAAA,MAAAA,yDAAAA;AAGIA,QAAAA,uDAAAA;AAAAA,QAAAA,wDAAAA;AAEqCA,QAAAA,uDAAAA;AAAAA,QAAAA,wDAAAA;AAUpCA,QAAAA,uDAAAA;AAAAA,QAAAA,wDAAAA;AAewDA,QAAAA,uDAAAA;AAAAA,QAAAA,wDAAAA;AAE7DA,QAAAA,uDAAAA;AAAAA,QAAAA,gEAAAA,MAAAA,yDAAAA,SAAAA,yDAAAA;AAE8DA,QAAAA,uDAAAA;AAAAA,QAAAA,wDAAAA;AAC9DA,QAAAA,uDAAAA;AAAAA,QAAAA,gEAAAA,MAAAA,yDAAAA,SAAAA,yDAAAA;;;;;;;;AD/BN,SAAakN,gCAAb;AAAA;;;;;;;;;;;;;;;;;;;;;;;AETA;;;;;;;;;;;;;;ACOElN,IAAAA,qEAAAA;AACCA,IAAAA,4DAAAA;AAA8EA,IAAAA,wDAAAA;AAAAA,MAAAA,2DAAAA;AAAA;AAAA;AAAA;AAC7EA,IAAAA,oDAAAA;;AACDA,IAAAA,0DAAAA;AACDA,IAAAA,mEAAAA;;;;;AAHuDA,IAAAA,uDAAAA;AAAAA,IAAAA,wDAAAA,gCAAuB,SAAvB,EAAuBgyB,kBAAvB;AACrDhyB,IAAAA,uDAAAA;AAAAA,IAAAA,gEAAAA,MAAAA,yDAAAA;;;;ADCG,IAAM+M,2BAAb;AAAM,QAAOA,2BAAP,CAAkC;AAGtCtP,gBAA4CkI,IAA5C,EAAgE;AAApB;AAF5C,yBAAc,KAAd;AAEoE;;AAH9B;;;qBAA3BoH,6BAA2B/M,+DAAAA,CAGlBouB,qEAHkB;AAGH;;;UAHxBrhB;AAA2B9M;AAAAM;AAAAC;AAAAgL;AAAA/K;AAAA;AChBxCT,QAAAA,4DAAAA,cAAyC,CAAzC,EAAyC,KAAzC,EAAyC,CAAzC,EAAyC,CAAzC,EAAyC,IAAzC,EAAyC,CAAzC;AAGGA,QAAAA,oDAAAA;;AACDA,QAAAA,0DAAAA;AACAA,QAAAA,4DAAAA;AACCA,QAAAA,oDAAAA;AACDA,QAAAA,0DAAAA;AAEDA,QAAAA,4DAAAA,6BAAuC,CAAvC,EAAuC,KAAvC,EAAuC,CAAvC;AAEEA,QAAAA,oDAAAA;;AACDA,QAAAA,0DAAAA;AACAA,QAAAA,wDAAAA;AAKDA,QAAAA,0DAAAA;AACAA,QAAAA,4DAAAA,8BAA2C,EAA3C,EAA2C,QAA3C,EAA2C,CAA3C;AAMKA,QAAAA,oDAAAA;;;AACDA,QAAAA,0DAAAA;AACHA,QAAAA,4DAAAA;AAKIA,QAAAA,oDAAAA;;;AACDA,QAAAA,0DAAAA;;;;AA9BFA,QAAAA,uDAAAA;AAAAA,QAAAA,gEAAAA,MAAAA,yDAAAA;AAESA,QAAAA,uDAAAA;AAAAA,QAAAA,wDAAAA;AAMTA,QAAAA,uDAAAA;AAAAA,QAAAA,gEAAAA,MAAAA,yDAAAA;AAEcA,QAAAA,uDAAAA;AAAAA,QAAAA,wDAAAA;AAUXA,QAAAA,uDAAAA;AAAAA,QAAAA,wDAAAA;AAEAA,QAAAA,uDAAAA;AAAAA,QAAAA,gEAAAA,MAAAA,yDAAAA,SAAAA,yDAAAA;AAKAA,QAAAA,uDAAAA;AAAAA,QAAAA,wDAAAA,0DAAgD,kBAAhD,EAAgD,IAAhD;AAEAA,QAAAA,uDAAAA;AAAAA,QAAAA,gEAAAA,MAAAA,yDAAAA,SAAAA,yDAAAA;;;;;;;;;ADhBN,SAAa+M,2BAAb;AAAA;;;;;;;;;;;;;;;;;;;;;;;;AEfA;AACA;;;;;;;;;;AASO,IAAME,yBAAb;AAAM,QAAOA,yBAAP,CAAgC;AACpCxP,gBAA4CkI,IAA5C,EAAgE;AAApB;AAE5C,sBAAW,IAAImgB,uDAAJ,CAAgB,IAAhB,EAAsB,CAC/BE,0DAAA,CAAe,CAAf,CAD+B,EAE/BA,0DAAA,CAAe,EAAf,CAF+B,EAG/BA,8DAAA,CAAmB,OAAnB,CAH+B,EAI/BA,+DAJ+B,CAAtB,CAAX;AAFoE;;AADhC;;;qBAAzB/Y,2BAAyBjN,+DAAAA,CAChBouB,qEADgB;AACD;;;UADxBnhB;AAAyBhN;AAAAM;AAAAC;AAAAgL;AAAA/K;AAAA;ACXtCT,QAAAA,4DAAAA,cAA6C,CAA7C,EAA6C,KAA7C,EAA6C,CAA7C,EAA6C,CAA7C,EAA6C,IAA7C,EAA6C,CAA7C;AAGMA,QAAAA,oDAAAA;;AACFA,QAAAA,0DAAAA;AACAA,QAAAA,4DAAAA;AACEA,QAAAA,oDAAAA;AACFA,QAAAA,0DAAAA;AAEFA,QAAAA,4DAAAA,6BAAuC,CAAvC,EAAuC,KAAvC,EAAuC,CAAvC;AAEIA,QAAAA,oDAAAA;;AACFA,QAAAA,0DAAAA;AACAA,QAAAA,4DAAAA,0BAAwE,EAAxE,EAAwE,WAAxE;AACaA,QAAAA,oDAAAA;;AAAqDA,QAAAA,0DAAAA;AAChEA,QAAAA,uDAAAA;AACFA,QAAAA,0DAAAA;AAEFA,QAAAA,4DAAAA,8BAA2C,EAA3C,EAA2C,QAA3C,EAA2C,CAA3C;AAGIA,QAAAA,oDAAAA;;;AACFA,QAAAA,0DAAAA;AACAA,QAAAA,4DAAAA;AAEEA,QAAAA,oDAAAA;;;AACFA,QAAAA,0DAAAA;;;;AAvBEA,QAAAA,uDAAAA;AAAAA,QAAAA,gEAAAA,MAAAA,yDAAAA;AAEQA,QAAAA,uDAAAA;AAAAA,QAAAA,wDAAAA;AAMRA,QAAAA,uDAAAA;AAAAA,QAAAA,gEAAAA,MAAAA,yDAAAA;AAGWA,QAAAA,uDAAAA;AAAAA,QAAAA,+DAAAA,CAAAA,yDAAAA;AACJA,QAAAA,uDAAAA;AAAAA,QAAAA,wDAAAA;AAIsDA,QAAAA,uDAAAA;AAAAA,QAAAA,wDAAAA;AAE7DA,QAAAA,uDAAAA;AAAAA,QAAAA,gEAAAA,MAAAA,yDAAAA,SAAAA,yDAAAA;AAE8DA,QAAAA,uDAAAA;AAAAA,QAAAA,wDAAAA,mCAA6B,kBAA7B,EAA6ByL,kBAA7B;AAE9DzL,QAAAA,uDAAAA;AAAAA,QAAAA,gEAAAA,MAAAA,yDAAAA,SAAAA,yDAAAA;;;;;;;;ADdN,SAAaiN,yBAAb;AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AELA;AACA;AACA;AAOA;AACA;AACA;;;;;;;;;;;;;;;ACEUjN,IAAAA,qEAAAA;AAA8BA,IAAAA,oDAAAA;;AAAmDA,IAAAA,mEAAAA;;;;AAAnDA,IAAAA,uDAAAA;AAAAA,IAAAA,gEAAAA,KAAAA,yDAAAA;;;;;;AAC9BA,IAAAA,qEAAAA;AAA8BA,IAAAA,oDAAAA;;AAAgCA,IAAAA,mEAAAA;;;;AAAhCA,IAAAA,uDAAAA;AAAAA,IAAAA,gEAAAA,KAAAA,yDAAAA;;;;;;AALhCA,IAAAA,4DAAAA;AAIEA,IAAAA,wDAAAA;AACAA,IAAAA,wDAAAA;AACAA,IAAAA,uDAAAA;;AACFA,IAAAA,0DAAAA;;;;;;;AALEA,IAAAA,oEAAAA;AACAA,IAAAA,wDAAAA;AACeA,IAAAA,uDAAAA;AAAAA,IAAAA,wDAAAA;AACAA,IAAAA,uDAAAA;AAAAA,IAAAA,wDAAAA;AACTA,IAAAA,uDAAAA;AAAAA,IAAAA,wDAAAA,cAAAA,yDAAAA,qGAAAA,4DAAAA;;;;;;AAERA,IAAAA,4DAAAA;AAIEA,IAAAA,oDAAAA;;AACFA,IAAAA,0DAAAA;;;;;AAHEA,IAAAA,oEAAAA;AACAA,IAAAA,wDAAAA;AACAA,IAAAA,uDAAAA;AAAAA,IAAAA,gEAAAA,MAAAA,yDAAAA;;;;;;AAIJA,IAAAA,4DAAAA,0BAGmE,CAHnE,EAGmE,WAHnE;AAIeA,IAAAA,oDAAAA;;AAAqDA,IAAAA,0DAAAA;AAChEA,IAAAA,uDAAAA;AAKJA,IAAAA,0DAAAA;;;;AANeA,IAAAA,uDAAAA;AAAAA,IAAAA,+DAAAA,CAAAA,yDAAAA;;;;ADVd,IAAMwN,2BAAb;AAAM,QAAOA,2BAAP,CAAkC;AAQtC/P,gBAA4CkI,IAA5C,EAAgE;AAApB;AAPpC,uBAAY,IAAIyB,yCAAJ,EAAZ;AACR,wBAAa,oBAAb;AACA,+BAAoBqF,qFAApB;AACA,kCAAuBD,wFAAvB;AACA,6BAAkB5F,2DAAlB;;AAIE,UAAI,KAAKjB,IAAL,IAAa,KAAKA,IAAL,CAAU2I,OAAvB,IAAkC,KAAK3I,IAAL,CAAU2I,OAAV,CAAkB0D,UAAxD,EAAoE;AAClE,aAAKA,UAAL,GAAkB,KAAKrM,IAAL,CAAU2I,OAAV,CAAkB0D,UAApC;AACD;;AACD,WAAK6c,eAAL;AACD;;AAEDnmB,eAAW;AACT,WAAKC,SAAL,CAAeC,IAAf;;AACA,WAAKD,SAAL,CAAeE,QAAf;AACD;;AAEgB,QAAbyO,aAAa;AACf,aAAQ,KAAK3R,IAAL,CAAUoL,aAAV,CAAwBiE,MAAxB,CAA+BsC,aAA/B,IACN,EADF;AAED;;AAEY,QAAT2a,SAAS;AACX,aAAQ,KAAKtsB,IAAL,CAAUoL,aAAV,CAAwBiE,MAAxB,CAA+BrL,kBAA/B,IACN,EADF;AAED;;AAEa,QAAVuoB,UAAU;AACZ,aAAO,KAAKvsB,IAAL,IAAa,KAAKA,IAAL,CAAU2I,OAAvB,IAAkC,KAAK3I,IAAL,CAAU2I,OAAV,CAAkB4jB,UAA3D;AACD;;AAEDrD,mBAAe;AACb,WAAKkD,YAAL,GAAoB,IAAIhM,qDAAJ,CAAc;AAChC5T,4BAAoB,EAAE,IAAI2T,uDAAJ,CAAgB,KAAKxO,aAAL,CAAmB,CAAnB,CAAhB,CADU;AAEhCb,gBAAQ,EAAE,IAAIqP,uDAAJ,CAAgB;AAAE5W,eAAK,EAAE,IAAT;AAAeqiB,kBAAQ,EAAE;AAAzB,SAAhB,EAAiD,CACzDvL,gEAAA,CAAqB,CAArB,CADyD,EAEzDA,+DAFyD,CAAjD,CAFsB;AAMhChO,cAAM,EAAE,IAAI8N,uDAAJ,CAAgBlf,kEAAhB,EAAwCof,+DAAxC;AANwB,OAAd,CAApB;AAQA,WAAK+L,YAAL,CACGtzB,GADH,CACO,QADP,EAEGmxB,YAFH,CAEgBlxB,IAFhB,CAEqBgJ,yDAAS,CAAC,KAAKiB,SAAN,CAF9B,EAGGhK,SAHH,CAGauQ,KAAK,IAAG;AACjB,YAAIA,KAAK,KAAKtI,kEAAd,EAAsC;AACpC,eAAKmrB,YAAL,CAAkBtzB,GAAlB,CAAsB,UAAtB,EAAkCuxB,OAAlC;AACD,SAFD,MAEO;AACL,eAAK+B,YAAL,CAAkBtzB,GAAlB,CAAsB,UAAtB,EAAkCsxB,MAAlC;AACD;;AACD,aAAKgC,YAAL,CACGtzB,GADH,CACO,sBADP,EAEGyxB,QAFH,CAEY,KAAK5Y,aAAL,CAAmBpI,KAAK,GAAG,CAA3B,CAFZ,EAE2C;AAAEmN,mBAAS,EAAE;AAAb,SAF3C;AAGD,OAZH;AAaD;;AAxDqC;;;qBAA3B7O,6BAA2BxN,+DAAAA,CAQlBouB,qEARkB;AAQH;;;UARxB5gB;AAA2BvN;AAAAM;AAAAC;AAAAgL;AAAA/K;AAAA;ACzBxCT,QAAAA,4DAAAA,WAA8C,CAA9C,EAA8C,KAA9C,EAA8C,CAA9C,EAA8C,CAA9C,EAA8C,IAA9C,EAA8C,CAA9C;AAGMA,QAAAA,oDAAAA;;AACFA,QAAAA,0DAAAA;AACAA,QAAAA,4DAAAA;AACEA,QAAAA,oDAAAA;AACFA,QAAAA,0DAAAA;AAEFA,QAAAA,4DAAAA,6BAAuC,CAAvC,EAAuC,KAAvC,EAAuC,CAAvC;AAEIA,QAAAA,oDAAAA;;AACFA,QAAAA,0DAAAA;AACAA,QAAAA,4DAAAA,gBAAiC,EAAjC,EAAiC,iBAAjC,EAAiC,CAAjC;AAEIA,QAAAA,wDAAAA;AAQAA,QAAAA,wDAAAA;AAMFA,QAAAA,0DAAAA;AAEAA,QAAAA,wDAAAA;AAWFA,QAAAA,0DAAAA;AAGFA,QAAAA,4DAAAA,+BAA2C,EAA3C,EAA2C,QAA3C,EAA2C,EAA3C;AAGIA,QAAAA,oDAAAA;;;AACFA,QAAAA,0DAAAA;AACAA,QAAAA,4DAAAA;AAMEA,QAAAA,oDAAAA;;;AACFA,QAAAA,0DAAAA;;;;AAzDCA,QAAAA,oEAAAA;AAGCA,QAAAA,uDAAAA;AAAAA,QAAAA,gEAAAA,MAAAA,yDAAAA;AAEQA,QAAAA,uDAAAA;AAAAA,QAAAA,wDAAAA;AAMRA,QAAAA,uDAAAA;AAAAA,QAAAA,gEAAAA,MAAAA,yDAAAA;AAEIA,QAAAA,uDAAAA;AAAAA,QAAAA,wDAAAA;AAGyBA,QAAAA,uDAAAA;AAAAA,QAAAA,wDAAAA;AAQxBA,QAAAA,uDAAAA;AAAAA,QAAAA,wDAAAA;AAQFA,QAAAA,uDAAAA;AAAAA,QAAAA,wDAAAA;AAc0DA,QAAAA,uDAAAA;AAAAA,QAAAA,wDAAAA;AAE7DA,QAAAA,uDAAAA;AAAAA,QAAAA,gEAAAA,MAAAA,yDAAAA,SAAAA,yDAAAA;AAMAA,QAAAA,uDAAAA;AAAAA,QAAAA,wDAAAA,uCAAiC,kBAAjC,EAAiCyL,8BAAjC;AAEAzL,QAAAA,uDAAAA;AAAAA,QAAAA,gEAAAA,MAAAA,yDAAAA,SAAAA,yDAAAA;;;;;;;;AD/BN,SAAawN,2BAAb;AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;AExBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAkBO,IAAM1K,wBAAb;AAAM,QAAOA,wBAAP,CAA+B;;;qBAAxBA;AAAwB;;;UAAxBA;;;cAdF,CACP0hB,yDADO,EAEPtjB,gEAFO,EAGPsnB,uDAHO,EAIP9D,qEAJO,EAKPD,iEALO,EAMPjjB,qGANO,EAOP0mB,qEAPO,EAQPiK,mEARO,EASP7J,6EATO,EAUPC,oEAVO,EAWPE,+DAXO;;AAcX,SAAa3lB,wBAAb;AAAA;;;sHAAaA,0BAAwB;AAAAqB,mBAfpBqJ,wFAeoB;AAfOhK,cAExCghB,yDAFwC,EAGxCtjB,gEAHwC,EAIxCsnB,uDAJwC,EAKxC9D,qEALwC,EAMxCD,iEANwC,EAOxCjjB,qGAPwC,EAQxC0mB,qEARwC,EASxCiK,mEATwC,EAUxC7J,6EAVwC,EAWxCC,oEAXwC,EAYxCE,+DAZwC;AAeP;AAHd;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACzBvB;AAOA;AAKA;AAMA;;;;;;;;;;;;;;;;ACHKzoB,IAAAA,4DAAAA;AACCA,IAAAA,uDAAAA;AAA2BA,IAAAA,4DAAAA;AAA2BA,IAAAA,oDAAAA;;AAA6BA,IAAAA,0DAAAA;AAAOA,IAAAA,uDAAAA;AAC3FA,IAAAA,0DAAAA;;;;AADuDA,IAAAA,uDAAAA;AAAAA,IAAAA,+DAAAA,CAAAA,yDAAAA;;;;;;AAFxDA,IAAAA,qEAAAA;AACCA,IAAAA,wDAAAA;AAGAA,IAAAA,4DAAAA,4BAAkF,CAAlF,EAAkF,GAAlF;AACIA,IAAAA,oDAAAA;;AAA8BA,IAAAA,0DAAAA;AAEnCA,IAAAA,mEAAAA;;;;;;AANOA,IAAAA,uDAAAA;AAAAA,IAAAA,wDAAAA;AAGYA,IAAAA,uDAAAA;AAAAA,IAAAA,oEAAAA;AAAyCA,IAAAA,wDAAAA;AACvDA,IAAAA,uDAAAA;AAAAA,IAAAA,+DAAAA,CAAAA,yDAAAA;;;;;;AANNA,IAAAA,4DAAAA;AACCA,IAAAA,wDAAAA;AAQDA,IAAAA,0DAAAA;;;;;AARkCA,IAAAA,uDAAAA;AAAAA,IAAAA,wDAAAA;;;;;;AAsBhCA,IAAAA,4DAAAA;AACCA,IAAAA,oDAAAA;;AACDA,IAAAA,0DAAAA;;;;AADCA,IAAAA,uDAAAA;AAAAA,IAAAA,gEAAAA,MAAAA,yDAAAA;;;;;;;;;;;;;AALFA,IAAAA,4DAAAA,0BAC4C,CAD5C,EAC4C,WAD5C;AAEYA,IAAAA,oDAAAA;;AAAoDA,IAAAA,0DAAAA;AAC/DA,IAAAA,uDAAAA;;AACAA,IAAAA,wDAAAA;AAGDA,IAAAA,0DAAAA;;;;;AALYA,IAAAA,uDAAAA;AAAAA,IAAAA,+DAAAA,CAAAA,yDAAAA;AACKA,IAAAA,uDAAAA;AAAAA,IAAAA,wDAAAA,aAAAA,6DAAAA,+BAA+C,aAA/C,EAA+CA,yDAAAA,gDAA/C;AACJA,IAAAA,uDAAAA;AAAAA,IAAAA,wDAAAA;;;;;;AAQZA,IAAAA,4DAAAA;AACCA,IAAAA,oDAAAA;;AACDA,IAAAA,0DAAAA;;;;AADCA,IAAAA,uDAAAA;AAAAA,IAAAA,gEAAAA,MAAAA,yDAAAA;;;;;;AAEDA,IAAAA,4DAAAA;AACCA,IAAAA,oDAAAA;;AACDA,IAAAA,0DAAAA;;;;AADCA,IAAAA,uDAAAA;AAAAA,IAAAA,gEAAAA,MAAAA,yDAAAA;;;;;;AAEDA,IAAAA,4DAAAA;AACCA,IAAAA,oDAAAA;;AACDA,IAAAA,0DAAAA;;;;AADCA,IAAAA,uDAAAA;AAAAA,IAAAA,gEAAAA,MAAAA,yDAAAA;;;;;;AAXFA,IAAAA,4DAAAA,0BACyC,CADzC,EACyC,WADzC;AAEYA,IAAAA,oDAAAA;;AAAiDA,IAAAA,0DAAAA;AAC5DA,IAAAA,uDAAAA;;AACAA,IAAAA,wDAAAA;AAGAA,IAAAA,wDAAAA;AAGAA,IAAAA,wDAAAA;AAGDA,IAAAA,0DAAAA;;;;;AAXYA,IAAAA,uDAAAA;AAAAA,IAAAA,+DAAAA,CAAAA,yDAAAA;AACKA,IAAAA,uDAAAA;AAAAA,IAAAA,wDAAAA,aAAAA,6DAAAA,kCAAgD,aAAhD,EAAgDA,yDAAAA,6CAAhD;AACJA,IAAAA,uDAAAA;AAAAA,IAAAA,wDAAAA;AAGAA,IAAAA,uDAAAA;AAAAA,IAAAA,wDAAAA;AAGAA,IAAAA,uDAAAA;AAAAA,IAAAA,wDAAAA;;;;;;AA3BdA,IAAAA,qEAAAA;AACCA,IAAAA,4DAAAA,2BAAkD,CAAlD,EAAkD,kBAAlD,EAAkD,EAAlD;AAEEA,IAAAA,oDAAAA;;AACDA,IAAAA,0DAAAA;AACAA,IAAAA,4DAAAA;AACCA,IAAAA,oDAAAA;;AACDA,IAAAA,0DAAAA;AAEDA,IAAAA,wDAAAA;AAQAA,IAAAA,wDAAAA;AAcDA,IAAAA,mEAAAA;;;;;AA7BuDA,IAAAA,uDAAAA;AAAAA,IAAAA,wDAAAA;AACpDA,IAAAA,uDAAAA;AAAAA,IAAAA,gEAAAA,MAAAA,yDAAAA;AAEoDA,IAAAA,uDAAAA;AAAAA,IAAAA,wDAAAA;AACpDA,IAAAA,uDAAAA;AAAAA,IAAAA,gEAAAA,MAAAA,yDAAAA;AAGeA,IAAAA,uDAAAA;AAAAA,IAAAA,wDAAAA;AAQAA,IAAAA,uDAAAA;AAAAA,IAAAA,wDAAAA;;;;;;;;AAmBfA,IAAAA,4DAAAA;AAEEA,IAAAA,wDAAAA;AAAAA,MAAAA,2DAAAA;AAAA;AAAA,aAASssB,mBAAT;AAAoB,KAApB;AAEAtsB,IAAAA,4DAAAA;AAAUA,IAAAA,oDAAAA;AAAUA,IAAAA,0DAAAA;;;;;;AALxBA,IAAAA,4DAAAA;AACEA,IAAAA,wDAAAA;AAMAA,IAAAA,4DAAAA;AACEA,IAAAA,uDAAAA,eAA+E,CAA/E,EAA+E,KAA/E,EAA+E,EAA/E;AAEFA,IAAAA,0DAAAA;;;;;AARGA,IAAAA,uDAAAA;AAAAA,IAAAA,wDAAAA;AAMyCA,IAAAA,uDAAAA;AAAAA,IAAAA,yDAAAA;AACAA,IAAAA,uDAAAA;AAAAA,IAAAA,yDAAAA;;;;;;AAW/CA,IAAAA,4DAAAA;AAOKA,IAAAA,oDAAAA;;;AACLA,IAAAA,0DAAAA;;;;;AAHIA,IAAAA,wDAAAA,gKAAkI,kBAAlI,EAAkI8H,sBAAlI;AAEC9H,IAAAA,uDAAAA;AAAAA,IAAAA,gEAAAA,MAAAA,yDAAAA,OAAAA,yDAAAA;;;;;;;;AAELA,IAAAA,4DAAAA;AAMIA,IAAAA,wDAAAA;AAAAA,MAAAA,2DAAAA;AAAA;AAAA,aAASwsB,yBAAT;AAA0B,KAA1B;AACCxsB,IAAAA,oDAAAA;;;AACLA,IAAAA,0DAAAA;;;;;AAHIA,IAAAA,wDAAAA;AAECA,IAAAA,uDAAAA;AAAAA,IAAAA,gEAAAA,MAAAA,yDAAAA,OAAAA,yDAAAA;;;;AD1ER,MAAMyyB,UAAU,GAAG,+BAAnB;AAQO,IAAMzlB,yBAAb;AAAM,QAAOA,yBAAP,CAAgC;AAyDpCvP,gBAA6BE,SAA7B,EAAwD;AAA3B;AAtC7B,kBAAO,IAAIooB,qDAAJ,CAAc;AACnB9Q,YAAI,EAAE,IAAI6Q,uDAAJ,CAAgB,IAAhB,CADa;AAEnB4M,sBAAc,EAAE,IAAI5M,uDAAJ,CAAgByM,6EAAhB,CAFG;AAGnB9b,gBAAQ,EAAE,IAAIqP,uDAAJ,CACRwM,kFADQ,EAERtM,8DAAA,CAAmB,CACjBA,+DADiB,EAEjBA,0DAAA,CAAe,GAAf,CAFiB,EAGjBA,0DAAA,CAAe,CAAf,CAHiB,CAAnB,CAFQ,CAHS;AAWnBjR,aAAK,EAAE,IAAI+Q,uDAAJ,CACL0M,4CAAM,GAAGI,GAAT,CAAaN,kFAAb,EAA2C,SAA3C,EAAsDO,MAAtD,CAA6D,OAA7D,CADK,EAEL7M,8DAAA,CAAmB,CACjBA,+DADiB,EAEjBA,8DAAA,CAAmByM,UAAnB,CAFiB,EAGjB,KAAKK,qCAAL,CAA2CC,IAA3C,CAAgD,IAAhD,CAHiB,CAAnB,CAFK;AAXY,OAAd,CAAP;AAqBA,mBAAQ,yBAAR;AACA,qBAAU,2CAAV;AACA,wBAAa,+CAAb;AACA,2BAAgB,kCAAhB;AAEA,0BAAe,CAAC,IAAD,EAAO,IAAP,EAAa,IAAb,CAAf;AACA,2BAAgB,CAAC,IAAD,EAAO,IAAP,EAAa,GAAb,EAAkB,IAAlB,EAAwB,IAAxB,CAAhB;AACA,4BAAiBR,oEAAjB;AACA,8BAAmBxH,oFAAnB;AAEA,qBAAUuD,+EAAA,CAA0Bna,CAAC,KAAK,EACxC,GAAGA,CADqC;AAExC9F,aAAK,EAAE,KAAK1Q,SAAL,CAAemN,OAAf,CAAuBqJ,CAAC,CAAC9F,KAAzB;AAFiC,OAAL,CAA3B,CAAV;AAKA,0BAAe,IAAf;AAE4D;;AAtDzC,QAAN+R,MAAM,CAAClR,KAAD,EAAwB;AACzC,WAAK8jB,OAAL,GAAe9jB,KAAf;;AAEA,UAAIA,KAAK,KAAK6b,8FAAd,EAA0C;AACxC,aAAK1c,KAAL,GAAa,2CAAb;AACA,aAAKxO,OAAL,GAAe,6CAAf;AACA,aAAK4O,aAAL,GAAqB,oDAArB;AACD,OAJD,MAIO;AACL,aAAK0N,IAAL,CAAU1d,GAAV,CAAc,MAAd,EAAsBgyB,aAAtB,CAAoCzK,+DAApC;AACA,aAAKiN,YAAL,GAAoB,KAApB;AACD;AACF;;AACS,QAAN7S,MAAM;AACR,aAAO,KAAK4S,OAAZ;AACD;;AA0COE,yBAAqB,CAAChkB,KAAD,EAAc;AACzC,UAAI,CAACA,KAAL,EAAY;AACV,eAAO,KAAP;AACD;;AAED,YAAMikB,KAAK,GAAG,IAAIC,MAAJ,CAAWX,UAAX,CAAd;AAEA,aAAOU,KAAK,CAACE,IAAN,CAAWnkB,KAAX,CAAP;AACD;;AAEO4jB,yCAAqC,CAC3CQ,OAD2C,EACnB;AAExB,UAAI,CAACA,OAAD,IAAY,CAACA,OAAO,CAACpkB,KAAzB,EAAgC;AAC9B,eAAO;AAAEsX,kBAAQ,EAAE;AAAZ,SAAP;AACD;;AAED,YAAM+M,YAAY,GAAGD,OAAO,CAACpkB,KAA7B;;AAEA,UAAI,CAAC,KAAKgkB,qBAAL,CAA2BK,YAA3B,CAAL,EAA+C;AAC7C,eAAO;AAAE7D,iBAAO,EAAE;AAAX,SAAP;AACD;;AAED,YAAM8D,OAAO,GAAGhB,4CAAM,GAAGiB,EAAT,CAAYrB,mFAAZ,CAAhB;AACA,YAAMsB,WAAW,GAAGlB,4CAAM,GAAGiB,EAAT,CAAYrB,mFAAZ,CAApB;AACA,YAAMuB,aAAa,GAAGnB,4CAAM,GAAGiB,EAAT,CAAYrB,mFAAZ,EAA6BQ,GAA7B,CAAiC,EAAjC,EAAqC,OAArC,CAAtB;;AAEA,UACEJ,4CAAM,CAACgB,OAAO,CAACX,MAAR,CAAeR,uFAAf,IAAsC,GAAtC,GAA4CkB,YAA7C,CAAN,CAAiEK,QAAjE,CACEF,WADF,CADF,EAIE;AACAF,eAAO,CAACZ,GAAR,CAAY,CAAZ,EAAe,KAAf;AACD;;AAED,UACEJ,4CAAM,CACJgB,OAAO,CAACX,MAAR,CAAeR,uFAAf,IAAsC,GAAtC,GAA4CkB,YADxC,CAAN,CAEEM,SAFF,CAEYH,WAFZ,EAEyBC,aAFzB,EAEwC,SAFxC,EAEmD,IAFnD,CADF,EAIE;AACA,eAAO,IAAP;AACD;;AAED,aAAO;AAAEG,kBAAU,EAAE;AAAd,OAAP;AACD;;AAEDC,iBAAa;AACX,YAAMC,UAAU,GAAG,KAAK7X,IAAL,CAAU8X,WAAV,EAAnB;AACA,YAAMC,sBAAsB,GAAmBF,UAAU,CAACtB,cAA1D;AACA,YAAMyB,GAAG,GAAG;AAAElf,YAAI,EAAE+e,UAAU,CAAC/e;AAAnB,OAAZ;AAEA,aAAOif,sBAAsB,KAAK3B,6EAA3B,GACH,EAAE,GAAG4B,GAAL;AAAU1d,gBAAQ,EAAEud,UAAU,CAACvd,QAAX,GAAsB;AAA1C,OADG,GAEH,EAAE,GAAG0d,GAAL;AAAUpf,aAAK,EAAE,KAAKqf,oBAAL,CAA0BJ,UAAU,CAACjf,KAArC;AAAjB,OAFJ;AAGD;;AAEOqf,wBAAoB,CAACllB,KAAD,EAAc;AACxC,UAAI,CAAC,KAAKgkB,qBAAL,CAA2BhkB,KAA3B,CAAL,EAAwC;AACtC,eAAO,IAAP;AACD;;AAED,YAAMmlB,WAAW,GAAG7B,4CAAM,GAAG8B,GAAT,EAApB;AACA,YAAMC,SAAS,GAAG/B,gDAAA,CAChB6B,WAAW,CAACxB,MAAZ,CAAmB,YAAnB,IAAmC,GAAnC,GAAyC3jB,KADzB,CAAlB;;AAGA,UAAIqlB,SAAS,CAACX,QAAV,CAAmBS,WAAnB,CAAJ,EAAqC;AACnCE,iBAAS,CAAC3B,GAAV,CAAc,CAAd,EAAiB,KAAjB;AACD;;AACD,aAAO2B,SAAS,CAACC,WAAV,EAAP;AACD;;AAEDxF,aAAS;AACP,WAAK7S,IAAL,CAAU4L,KAAV,CAAgB;AACd2K,sBAAc,EAAEH,6EADF;AAEd9b,gBAAQ,EAAE6b,kFAFI;AAGdvd,aAAK,EAAEyd,4CAAM,GACVI,GADI,CACAN,kFADA,EAC8B,SAD9B,EAEJO,MAFI,CAEG,OAFH;AAHO,OAAhB;AAOA,WAAKI,YAAL,GAAoB,KAApB;AACD;;AAEDwB,mBAAe;AACb,WAAKxB,YAAL,GAAoB,IAApB;AACD;;AA/ImC;;;qBAAzBjmB,2BAAyBhN,+DAAAA,CAAAA,iEAAAA;AAAA;;;UAAzBgN;AAAyB/M;AAAA4lB;AAAAzF;AAAA;AAAA7f;AAAAC;AAAAgL;AAAA/K;AAAA;AC7BtCT,QAAAA,4DAAAA,cAAkE,CAAlE,EAAkE,KAAlE,EAAkE,CAAlE,EAAkE,CAAlE,EAAkE,IAAlE,EAAkE,CAAlE;AAGGA,QAAAA,oDAAAA;;AACDA,QAAAA,0DAAAA;AACAA,QAAAA,4DAAAA;AACCA,QAAAA,oDAAAA;AACDA,QAAAA,0DAAAA;AAEDA,QAAAA,4DAAAA,6BAAuC,CAAvC,EAAuC,KAAvC,EAAuC,CAAvC;AAEEA,QAAAA,oDAAAA;;AACDA,QAAAA,0DAAAA;AACAA,QAAAA,4DAAAA;AACCA,QAAAA,wDAAAA;AAUAA,QAAAA,wDAAAA;AAgCDA,QAAAA,0DAAAA;AAEDA,QAAAA,4DAAAA;AACGA,QAAAA,wDAAAA;AAYFA,QAAAA,4DAAAA,+BAA2C,EAA3C,EAA2C,QAA3C,EAA2C,EAA3C;AAMMA,QAAAA,oDAAAA;;;AACFA,QAAAA,0DAAAA;AACHA,QAAAA,wDAAAA;AASAA,QAAAA,wDAAAA;AASDA,QAAAA,0DAAAA;;;;AA9FCA,QAAAA,uDAAAA;AAAAA,QAAAA,gEAAAA,MAAAA,yDAAAA;AAESA,QAAAA,uDAAAA;AAAAA,QAAAA,wDAAAA;AAMTA,QAAAA,uDAAAA;AAAAA,QAAAA,gEAAAA,MAAAA,yDAAAA;AAEKA,QAAAA,uDAAAA;AAAAA,QAAAA,wDAAAA;AACuFA,QAAAA,uDAAAA;AAAAA,QAAAA,wDAAAA;AAU7EA,QAAAA,uDAAAA;AAAAA,QAAAA,wDAAAA;AAkCZA,QAAAA,uDAAAA;AAAAA,QAAAA,yDAAAA;AAC4BA,QAAAA,uDAAAA;AAAAA,QAAAA,wDAAAA;AAgB3BA,QAAAA,uDAAAA;AAAAA,QAAAA,wDAAAA;AAECA,QAAAA,uDAAAA;AAAAA,QAAAA,gEAAAA,MAAAA,yDAAAA,SAAAA,yDAAAA;AAGAA,QAAAA,uDAAAA;AAAAA,QAAAA,wDAAAA;AASAA,QAAAA,uDAAAA;AAAAA,QAAAA,wDAAAA;;;;;;;;AD5DR,SAAagN,yBAAb;AAAA;;;;;;;;;;;;;;;;;;AE7BO,MAAMslB,4BAA4B,GAAG,EAArC;AAEA,IAAKC,cAGX;AAHD,aAAYA,cAAZ,EAA0B;AACxBA;AACAA;AACD,GAHD,EAAYA,cAAc,KAAdA,cAAc,MAA1B,CAGC;;AAAA,SAHWA,cAGX;AAAA,IAHD;AAKO,IAAK7e,iBAGX;AAHD,aAAYA,iBAAZ,EAA6B;AAC3BA;AACAA;AACD,GAHD,EAAYA,iBAAiB,KAAjBA,iBAAiB,MAA7B,CAGC;;AAAA,SAHWA,iBAGX;AAAA,IAHD;AAKO,MAAM4a,qBAAqB,GAAG,CACnC;AACEjgB,OAAK,EAAE,mCADT;AAEEa,OAAK,EAAEwE,iBAAiB,CAACyB;AAF3B,CADmC,EAKnC;AACE9G,OAAK,EAAE,mCADT;AAEEa,OAAK,EAAEwE,iBAAiB,CAACghB;AAF3B,CALmC,CAA9B;;;;;;;;;;;;;;;;;;ACZP;AAGO,MAAMtd,cAAc,GAAGud,yDAAY,CACxC,oBADwC,EAExCC,kDAAK,EAFmC,CAAnC;AAIA,MAAMC,eAAe,GAAGF,yDAAY,CACzC,qBADyC,EAEzCC,kDAAK,EAFoC,CAApC;AAIA,MAAMrpB,aAAa,GAAGopB,yDAAY,CAAC,mBAAD,CAAlC;;;;;;;;;;;;;;;;;;;;;;;;;;ACXP;AAIA,MAAMG,WAAW,GAAG,eAApB;AACO,MAAMC,WAAW,GAAG,GAAGD,WAAW,cAAlC;AACA,MAAME,YAAY,GAAG,GAAGF,WAAW,eAAnC;AACA,MAAMG,eAAe,GAAG,GAAGH,WAAW,kBAAtC;AACA,MAAMI,aAAa,GAAG,GAAGJ,WAAW,gBAApC;AACA,MAAMK,sBAAsB,GAAG,GAAGL,WAAW,yBAA7C;AAEA,MAAM7W,aAAa,GAAG0W,yDAAY,CACvCI,WADuC,EAEvCH,kDAAK,EAFkC,CAAlC;AAKA,MAAM5W,WAAW,GAAG2W,yDAAY,CACrCK,YADqC,EAErCJ,kDAAK,EAFgC,CAAhC;AAKA,MAAM1W,WAAW,GAAGyW,yDAAY,CACrCO,aADqC,EAErCN,kDAAK,EAFgC,CAAhC;AAKA,MAAM7W,aAAa,GAAG4W,yDAAY,CACvCM,eADuC,EAEvCL,kDAAK,EAFkC,CAAlC;AAKA,MAAMhtB,mBAAmB,GAAG+sB,yDAAY,CAC7CQ,sBAD6C,EAE7CP,kDAAK,EAFwC,CAAxC;AAKA,MAAMQ,aAAa,GAAGT,yDAAY,CACvCQ,sBADuC,EAEvCP,kDAAK,EAFkC,CAAlC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACnCP;AAOA,MAAME,WAAW,GAAG,qBAApB;AACO,MAAMO,kBAAkB,GAAG,GAAGP,WAAW,qBAAzC;AACA,MAAMQ,kBAAkB,GAAG,GAAGR,WAAW,qBAAzC;AACA,MAAMS,sBAAsB,GAAG,GAAGT,WAAW,yBAA7C;AACA,MAAMU,cAAc,GAAG,GAAGV,WAAW,iBAArC;AACA,MAAMW,yBAAyB,GAAG,GAAGX,WAAW,4BAAhD;AACA,MAAMY,0BAA0B,GAAG,GAAGZ,WAAW,6BAAjD;AACA,MAAMa,kBAAkB,GAAG,GAAGb,WAAW,qBAAzC;AACA,MAAMc,qCAAqC,GAAG,GAAGd,WAAW,wCAA5D;AACA,MAAMe,oBAAoB,GAAG,GAAGf,WAAW,uBAA3C;AACA,MAAMgB,kBAAkB,GAAG,GAAGhB,WAAW,qBAAzC;AAEA,MAAM9pB,eAAe,GAAG2pB,yDAAY,CACzCU,kBADyC,EAEzCT,kDAAK,EAFoC,CAApC;AAIA,MAAMlqB,eAAe,GAAGiqB,yDAAY,CACzCW,kBADyC,EAEzCV,kDAAK,EAFoC,CAApC;AAIA,MAAMnW,oBAAoB,GAAGkW,yDAAY,CAC9CY,sBAD8C,EAE9CX,kDAAK,EAFyC,CAAzC;AAKA,MAAMpW,aAAa,GAAGmW,yDAAY,CACvCa,cADuC,EAEvCZ,kDAAK,EAFkC,CAAlC;AAKA,MAAMlW,2BAA2B,GAAGiW,yDAAY,CACrDc,yBADqD,EAErDb,kDAAK,EAFgD,CAAhD;AAKA,MAAM/V,4BAA4B,GAAG8V,yDAAY,CACtDe,0BADsD,EAEtDd,kDAAK,EAFiD,CAAjD;AAKA,MAAMmB,wBAAwB,GAAGpB,yDAAY,CAClDiB,qCADkD,EAElDhB,kDAAK,EAF6C,CAA7C;AAKA,MAAMjW,wBAAwB,GAAGgW,yDAAY,CAClDkB,oBADkD,EAElDjB,kDAAK,EAF6C,CAA7C;AAOA,MAAMhW,qBAAqB,GAAG+V,yDAAY,CAC/CgB,kBAD+C,EAE/Cf,kDAAK,EAF0C,CAA1C;AAOA,MAAM9V,qBAAqB,GAAG6V,yDAAY,CAC/CmB,kBAD+C,EAE/ClB,kDAAK,EAF0C,CAA1C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACnEP;AAMA,MAAME,WAAW,GAAG,uBAApB;AACO,MAAMkB,cAAc,GAAG,GAAGlB,WAAW,kBAArC;AACA,MAAMmB,aAAa,GAAG,GAAGnB,WAAW,gBAApC;AACA,MAAMoB,cAAc,GAAG,GAAGpB,WAAW,iBAArC;AACA,MAAMqB,eAAe,GAAG,GAAGrB,WAAW,kBAAtC;AACA,MAAMsB,gBAAgB,GAAG,GAAGtB,WAAW,mBAAvC;AACA,MAAMuB,iBAAiB,GAAG,GAAGvB,WAAW,oBAAxC;AACA,MAAMwB,gBAAgB,GAAG,GAAGxB,WAAW,mBAAvC;AAEA,MAAMyB,YAAY,GAAG5B,yDAAY,CACtCuB,cADsC,EAEtCtB,kDAAK,EAFiC,CAAjC;AAOA,MAAMzW,YAAY,GAAGwW,yDAAY,CACtCqB,cADsC,EAEtCpB,kDAAK,EAFiC,CAAjC;AAIA,MAAMvW,WAAW,GAAGsW,yDAAY,CACrCsB,aADqC,EAErCrB,kDAAK,EAFgC,CAAhC;AAIA,MAAMtW,aAAa,GAAGqW,yDAAY,CACvCwB,eADuC,EAEvCvB,kDAAK,EAFkC,CAAlC;AAIA,MAAMrW,cAAc,GAAGoW,yDAAY,CACxCyB,gBADwC,EAExCxB,kDAAK,EAFmC,CAAnC;AAIA,MAAMxW,eAAe,GAAGuW,yDAAY,CACzC0B,iBADyC,EAEzCzB,kDAAK,EAFoC,CAApC;AAIA,MAAMrZ,cAAc,GAAGoZ,yDAAY,CACxC2B,gBADwC,EAExC1B,kDAAK,EAFmC,CAAnC;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACzCP;AAEA;AACA;AACA;AACA;AAEA;;;;;AAEA,MAAM+B,0BAA0B,GAAG,EAAnC;AAGO,IAAM9zB,gBAAb;AAAM,QAAOA,gBAAP,CAAuB;AAC3BpF,gBACmBm5B,QADnB,EAEmBruB,KAFnB,EAGmBH,iBAHnB,EAGuD;AAFpC;AACA;AACA;AAGnB,6BAAkBquB,2DAAY,CAAC,MAC7B,KAAKG,QAAL,CAAcl4B,IAAd,CACE83B,qDAAM,CAAC3uB,iFAAD,CADR,EAEEJ,yDAAS,CAAEuN,MAAD,IAAuB;AAC/B,cAAM6hB,aAAa,GAAGrE,6CAAM,CAACxd,MAAM,CAACqC,SAAR,CAAN,CAAyByf,IAAzB,EAAtB;AACA,cAAMzrB,eAAe,GAAG2J,MAAM,CAAC3J,eAA/B;AACA,YAAI0rB,gBAAgB,GAAG,KAAvB;AAEA,eAAOL,8CAAQ,CAAChwB,uDAAD,CAAR,CAAsBhI,IAAtB,CACLgJ,yDAAS,CAAC,KAAKkvB,QAAL,CAAcl4B,IAAd,CAAmB83B,qDAAM,CAAC3uB,gFAAD,CAAzB,CAAD,CADJ,EAELN,mDAAG,CAAC,MAAK;AACP,gBAAMyvB,eAAe,GAAGxE,6CAAM,GAAGsE,IAAT,EAAxB;AACA,gBAAMG,QAAQ,GAAGJ,aAAa,GAAGxrB,eAAhB,GAAkC2rB,eAAnD;;AAEA,cACEC,QAAQ,IAAIN,0BAAZ,IACAM,QAAQ,GAAG,CADX,IAEA,CAAC,KAAK7uB,iBAAL,CAAuBsP,YAFxB,IAGA,CAACqf,gBAJH,EAKE;AACAA,4BAAgB,GAAG,IAAnB;AACA,iBAAK3uB,iBAAL,CAAuBwP,UAAvB,CAAkC5C,MAAlC;AACD,WAZM,CAcP;;;AACA,cACE3J,eAAe,KAAK,IAApB,IACA2rB,eAAe,IAAIH,aAAa,GAAGxrB,eAFrC,EAGE;AACA,iBAAK9C,KAAL,CAAWwB,QAAX,CAAoBlC,gFAAA,EAApB;AACD;AACF,SArBE,CAFE,EAwBLL,mDAAG,CAAC,MACFK,kFAAA,CAAiC;AAAE6rB,qBAAW,EAAElB,6CAAM,GAAGsE,IAAT;AAAf,SAAjC,CADC,CAxBE,CAAP;AA4BD,OAjCQ,CAFX,CAD4B,CAA9B;AAFI;;AALuB;;;qBAAhBj0B,kBAAgB7C,uDAAAA,CAAAA,kDAAAA,GAAAA,uDAAAA,CAAAA,+CAAAA,GAAAA,uDAAAA,CAAAA,gFAAAA;AAAA;;;WAAhB6C;AAAgBwJ,aAAhBxJ,gBAAgB;;AAA7B,SAAaA,gBAAb;AAAA;;;;;;;;;;;;;;;;;;;;;;;ACZA;AACA;AACA;AAIA;AACA;;;;;AAGO,IAAMP,kBAAb;AAAM,QAAOA,kBAAP,CAAyB;AAC7B7E,gBACmBm5B,QADnB,EAEmBhjB,OAFnB,EAGUrL,KAHV,EAGkC;AAFf;AACA;AACT;AAGV,0BAAekuB,2DAAY,CACzB,MACE,KAAKG,QAAL,CAAcl4B,IAAd,CACE83B,qDAAM,CAACW,iFAAD,CADR,EAEED,+DAAgB,CAAC,MAAM,KAAK3uB,KAAL,CAAW0B,MAAX,CAAkBpD,uFAAlB,CAAP,CAFlB,EAGEY,yDAAS,CAAC,CAAC,CAACuN,MAAD,EAAS2E,IAAT,CAAD,KAAmB;AAC3B,YAAIA,IAAJ,EAAU;AACR,iBAAO,KAAK/F,OAAL,CAAakF,IAAb,CAA2B;AAChC9T,gBAAI,EAAE,8BAD0B;AAEhCqQ,gBAAI,EAAE;AACJiN,kBAAI,EAAEtN,MAAM,CAACsN,IADT;AAEJ3c,kBAAI,EAAEqP,MAAM,CAACrP,IAFT;AAGJgU;AAHI;AAF0B,WAA3B,CAAP;AAQD;;AAED,eAAOtS,wCAAE,CAAC,IAAD,CAAT;AACD,OAbQ,CAHX,CAFuB,EAoBzB;AAAE0C,gBAAQ,EAAE;AAAZ,OApByB,CAA3B;AAFI;;AALyB;;;qBAAlBzH,oBAAkBtC,sDAAAA,CAAAA,kDAAAA,GAAAA,sDAAAA,CAAAA,6EAAAA,GAAAA,sDAAAA,CAAAA,8CAAAA;AAAA;;;WAAlBsC;AAAkB+J,aAAlB/J,kBAAkB;;AAA/B,SAAaA,kBAAb;AAAA;;;;;;;;;;;;;;;;;;;ACXA;AACA;AAEO,MAAMU,mBAAmB,GAAG,YAA5B;AAQA,MAAMq0B,qBAAqB,GAAmB;AACnDhgB,WAAS,EAAE,IADwC;AAEnDZ,UAAQ,EAAE,CAFyC;AAGnDid,aAAW,EAAE;AAHsC,CAA9C;AAMA,MAAM3wB,gBAAgB,GAAGq0B,0DAAa,CAC3CC,qBAD2C,EAE3C5X,+CAAE,CACA5X,iFADA,EAEA,CAAC4R,KAAD,EAAQ;AAAEpC,WAAF;AAAahM;AAAb,CAAR,MAA4C,EAC1C,GAAGoO,KADuC;AAE1CpC,WAF0C;AAG1ChM,iBAH0C;AAI1CqoB,aAAW,EAAE;AAJ6B,CAA5C,CAFA,CAFyC,EAW3CjU,+CAAE,CAAC5X,kFAAD,EAAmC,CAAC4R,KAAD,EAAQ;AAAEia;AAAF,CAAR,MAA6B,EAChE,GAAGja,KAD6D;AAEhEia;AAFgE,CAA7B,CAAnC,CAXyC,EAe3CjU,+CAAE,CAAC5X,gFAAD,EAAiC4R,KAAK,KAAK,EAC3C,GAAGA,KADwC;AAE3CpC,WAAS,EAAE,IAFgC;AAG3Cqc,aAAW,EAAE;AAH8B,CAAL,CAAtC,CAfyC,CAAtC;;;;;;;;;;;;;;;;;;;;;;;;ACjBP;AAOA;AACA;AAEO,MAAMxxB,cAAc,GAAG,MAAvB;AASA,MAAMu1B,UAAU,GAAGH,kEAAqB,CAAYp1B,cAAZ,CAAxC;AACA,MAAM+mB,cAAc,GAAGsO,2DAAc,CAC1CE,UAD0C,EAEzChe,KAAD,IAAsBA,KAAK,CAACyK,QAFc,CAArC;AAIA,MAAM+B,kBAAkB,GAAGsR,2DAAc,CAC9CE,UAD8C,EAE7Che,KAAD,IAAsBA,KAAK,CAAC0K,QAFkB,CAAzC;AAIA,MAAMrd,sBAAsB,GAAGywB,2DAAc,CAClDE,UADkD,EAEjDhe,KAAD,IAAsBA,KAAK,CAAC3P,gBAFsB,CAA7C;AAIA,MAAM4tB,YAAY,GAAc;AACrC7W,YAAU,EAAEkI,oFADyB;AAErC7E,UAAQ,EAAE,EAF2B;AAGrCC,UAAQ,EAAE,IAH2B;AAIrCra,kBAAgB,EAAE;AAJmB,CAAhC;AAOA,MAAM3H,WAAW,GAAGi1B,0DAAa,CACtCM,YADsC,EAEtCjY,+CAAE,CAAC+X,gEAAD,EAA2B,CAAC/d,KAAD,EAAQ;AAAE5Z;AAAF,CAAR,MAAyB,EACpD,GAAG4Z,KADiD;AAEpD0K,UAAQ,EAAE,CAAC,GAAG1K,KAAK,CAAC0K,QAAV,EAAoBtkB,OAApB;AAF0C,CAAzB,CAA3B,CAFoC,EAMtC4f,+CAAE,CAAC+X,8DAAD,EAAyB,CAAC/d,KAAD,EAAQ;AAAE0K;AAAF,CAAR,MAA0B,EACnD,GAAG1K,KADgD;AAEnD0K;AAFmD,CAA1B,CAAzB,CANoC,EAUtC1E,+CAAE,CAAC+X,gEAAD,EAA2B,CAAC/d,KAAD,EAAQ;AAAEoH;AAAF,CAAR,MAA4B,EACvD,GAAGpH,KADoD;AAEvDoH;AAFuD,CAA5B,CAA3B,CAVoC,EActCpB,+CAAE,CAAC+X,8DAAD,EAAyB,CAAC/d,KAAD,EAAQ;AAAEyK;AAAF,CAAR,MAA0B,EACnD,GAAGzK,KADgD;AAEnDyK;AAFmD,CAA1B,CAAzB,CAdoC,EAkBtCzE,+CAAE,CAAC+X,sEAAD,EAAiC,CAAC/d,KAAD,EAAQ;AAAE3P;AAAF,CAAR,MAAkC,EACnE,GAAG2P,KADgE;AAEnE3P;AAFmE,CAAlC,CAAjC,CAlBoC,CAAjC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACvCP;AAMA;AAQO,MAAMnH,mBAAmB,GAAG,YAA5B;AAyBA,MAAMk1B,oBAAoB,GAC/BP,kEAAqB,CAAiB30B,mBAAjB,CADhB;AAEA,MAAMuE,qBAAqB,GAAGqwB,2DAAc,CACjDM,oBADiD,EAEhDpe,KAAD,IAA2BA,KAAK,CAACzO,eAFgB,CAA5C;AAIA,MAAM7D,qBAAqB,GAAGowB,2DAAc,CACjDM,oBADiD,EAEhDpe,KAAD,IAA2BA,KAAK,CAAC/O,eAFgB,CAA5C;AAIA,MAAMotB,4BAA4B,GAAGP,2DAAc,CACxDM,oBADwD,EAEvDpe,KAAD,IAA2BA,KAAK,CAACse,sBAFuB,CAAnD;AAIA,MAAMC,qBAAqB,GAAGT,2DAAc,CACjDM,oBADiD,EAEhDpe,KAAD,IAA2BA,KAAK,CAACwe,eAFgB,CAA5C;AAIA,MAAMC,2BAA2B,GAAGX,2DAAc,CACvDM,oBADuD,EAEtDpe,KAAD,IAA2BA,KAAK,CAACzF,MAFsB,CAAlD;AAIA,MAAMmkB,4BAA4B,GAAGZ,2DAAc,CACxDM,oBADwD,EAEvDpe,KAAD,IAA2BA,KAAK,CAACsG,WAFuB,CAAnD;AAIA,MAAMjT,8BAA8B,GAAGyqB,2DAAc,CAC1DM,oBAD0D,EAEzDpe,KAAD,IAA2BA,KAAK,CAACsc,wBAFyB,CAArD;AAIA,MAAMqC,2BAA2B,GAAGb,2DAAc,CACvDM,oBADuD,EAEtDpe,KAAD,IAA2BA,KAAK,CAAC8G,qBAFsB,CAAlD;AAIA,MAAM8X,mBAAmB,GAAGd,2DAAc,CAC/CM,oBAD+C,EAE9Cpe,KAAD,IAA2BA,KAAK,CAACwG,gBAFc,CAA1C;AAIA,MAAMqY,mBAAmB,GAAGf,2DAAc,CAC/CM,oBAD+C,EAE9Cpe,KAAD,IAA2BA,KAAK,CAACgH,gBAFc,CAA1C;AAKP,MAAMiX,YAAY,GAAmB;AACnC1sB,iBAAe,EAAE,IADkB;AAEnCN,iBAAe,EAAE,IAFkB;AAGnCqtB,wBAAsB,EAAE,IAHW;AAInCE,iBAAe,EAAE,IAJkB;AAKnCjkB,QAAM,EAAE,IAL2B;AAMnC+L,aAAW,EAAE,IANsB;AAOnCgW,0BAAwB,EAAE,IAPS;AAQnCxV,uBAAqB,EAAE,IARY;AASnCN,kBAAgB,EAAE,IATiB;AAUnCQ,kBAAgB,EAAE;AAViB,CAArC;AAaO,MAAM7d,gBAAgB,GAAGw0B,0DAAa,CAC3CM,YAD2C,EAE3CjY,+CAAE,CAACmY,wEAAD,EAAkC,CAACne,KAAD,EAAQ;AAAEzO;AAAF,CAAR,MAAiC,EACnE,GAAGyO,KADgE;AAEnEzO;AAFmE,CAAjC,CAAlC,CAFyC,EAM3CyU,+CAAE,CAACmY,wEAAD,EAAkC,CAACne,KAAD,EAAQ;AAAE/O;AAAF,CAAR,MAAiC,EACnE,GAAG+O,KADgE;AAEnE/O;AAFmE,CAAjC,CAAlC,CANyC,EAU3C+U,+CAAE,CAACmY,6EAAD,EAAuC,CAACne,KAAD,EAAQ;AAAEyJ;AAAF,CAAR,MAAwB,EAC/D,GAAGzJ,KAD4D;AAE/Dse,wBAAsB,EAAE7U;AAFuC,CAAxB,CAAvC,CAVyC,EAc3CzD,+CAAE,CAACmY,sEAAD,EAAgC,CAACne,KAAD,EAAQ;AAAEyJ;AAAF,CAAR,MAAwB,EACxD,GAAGzJ,KADqD;AAExDwe,iBAAe,EAAE/U;AAFuC,CAAxB,CAAhC,CAdyC,EAkB3CzD,+CAAE,CAACmY,oFAAD,EAA8C,CAACne,KAAD,EAAQ;AAAEzF;AAAF,CAAR,MAAwB,EACtE,GAAGyF,KADmE;AAEtEzF;AAFsE,CAAxB,CAA9C,CAlByC,EAsB3CyL,+CAAE,CACAmY,qFADA,EAEA,CAACne,KAAD,EAAQ;AAAEsG;AAAF,CAAR,MAA6B,EAC3B,GAAGtG,KADwB;AAE3BsG;AAF2B,CAA7B,CAFA,CAtByC,EA6B3CN,+CAAE,CACAmY,iFADA,EAEA,CAACne,KAAD,EAAQsc,wBAAR,MAAsC,EACpC,GAAGtc,KADiC;AAEpCsc;AAFoC,CAAtC,CAFA,CA7ByC,EAoC3CtW,+CAAE,CACAmY,iFADA,EAEA,CAACne,KAAD,EAAQ;AAAE8G;AAAF,CAAR,MAAuC,EACrC,GAAG9G,KADkC;AAErC8G;AAFqC,CAAvC,CAFA,CApCyC,EA2C3Cd,+CAAE,CAACmY,8EAAD,EAAwC,CAACne,KAAD,EAAQ;AAAEwG;AAAF,CAAR,MAAkC,EAC1E,GAAGxG,KADuE;AAE1EwG;AAF0E,CAAlC,CAAxC,CA3CyC,EA+C3CR,+CAAE,CAACmY,8EAAD,EAAwC,CAACne,KAAD,EAAQ;AAAEgH;AAAF,CAAR,MAAkC,EAC1E,GAAGhH,KADuE;AAE1EgH;AAF0E,CAAlC,CAAxC,CA/CyC,CAAtC;;;;;;;;;;;;;;;;;;;;;;;AC/FP;AAOA;AAMO,MAAMre,qBAAqB,GAAG,cAA9B;AAQA,MAAMm2B,iBAAiB,GAAGjB,kEAAqB,CACpDl1B,qBADoD,CAA/C;AAGA,MAAMgiB,eAAe,GAAGmT,2DAAc,CAC3CgB,iBAD2C,EAE1C9e,KAAD,IAA6BA,KAAK,CAACqK,SAFQ,CAAtC;AAIA,MAAMjd,iBAAiB,GAAG0wB,2DAAc,CAC7CgB,iBAD6C,EAE5C9e,KAAD,IAA6BA,KAAK,CAAClP,WAFU,CAAxC;AAIA,MAAMiuB,kBAAkB,GAAGjB,2DAAc,CAC9CgB,iBAD8C,EAE7C9e,KAAD,IAA6BA,KAAK,CAAC8F,YAFW,CAAzC;AAIA,MAAMmY,YAAY,GAAqB;AAC5C5T,WAAS,EAAE,EADiC;AAE5CvZ,aAAW,EAAE,IAF+B;AAG5CgV,cAAY,EAAE;AAH8B,CAAvC;AAMA,MAAMld,kBAAkB,GAAG+0B,0DAAa,CAC7CM,YAD6C,EAE7CjY,+CAAE,CAAC0X,uEAAD,EAAiC,CAAC1d,KAAD,EAAQ;AAAEqK;AAAF,CAAR,KAAyB;AAC1D,SAAO,EACL,GAAGrK,KADE;AAELqK,aAAS,EAAErK,KAAK,CAAClP,WAAN,GACPuZ,SAAS,CAACnc,MAAV,CACEwM,CAAC,IAAIA,CAAC,CAACwF,IAAF,CAAOoC,YAAP,KAAwBtC,KAAK,CAAClP,WAAN,CAAkBwR,YADjD,CADO,GAIP+H;AANC,GAAP;AAQD,CATC,CAF2C,EAY7CrE,+CAAE,CAAC0X,sEAAD,EAAgC,CAAC1d,KAAD,EAAQ;AAAEwI;AAAF,CAAR,KAAwB;AACxD,QAAMwW,UAAU,GAAGhf,KAAK,CAACqK,SAAN,CAAgBnc,MAAhB,CACjBwM,CAAC,IAAIA,CAAC,CAACwF,IAAF,CAAOoC,YAAP,KAAwBkG,QAAQ,CAACtI,IAAT,CAAcoC,YAD1B,CAAnB;;AAIA,MAAI,CAACtC,KAAK,CAAClP,WAAX,EAAwB;AACtB,WAAO,EACL,GAAGkP,KADE;AAELqK,eAAS,EAAE,CAAC,GAAG2U,UAAJ;AAFN,KAAP;AAID;;AAED,SAAO,EACL,GAAGhf,KADE;AAELqK,aAAS,EACP7B,QAAQ,CAACtI,IAAT,CAAcoC,YAAd,IAA8BtC,KAAK,CAAClP,WAAN,CAAkBwR,YAAhD,GACI,CAAC,GAAG0c,UAAJ,CADJ,GAEI,CAAC,GAAGA,UAAJ,EAAgBxW,QAAhB;AALD,GAAP;AAOD,CAnBC,CAZ2C,EAgC7CxC,+CAAE,CAAC0X,yEAAD,EAAmC,CAAC1d,KAAD,EAAQ;AAAElP;AAAF,CAAR,KAA2B;AAC9D,MAAIA,WAAJ,EAAiB;AACf,WAAO,EACL,GAAGkP,KADE;AAELqK,eAAS,EAAE,CACT,GAAGrK,KAAK,CAACqK,SAAN,CAAgBnc,MAAhB,CACDwM,CAAC,IAAIA,CAAC,CAACwF,IAAF,CAAOoC,YAAP,KAAwBxR,WAAW,CAACwR,YADxC,CADM;AAFN,KAAP;AAQD;;AAED,SAAOtC,KAAP;AACD,CAbC,CAhC2C,EA8C7CgG,+CAAE,CAAC0X,0EAAD,EAAoC,CAAC1d,KAAD,EAAQ;AAAE8F;AAAF,CAAR,MAA8B,EAClE,GAAG9F,KAD+D;AAElE8F;AAFkE,CAA9B,CAApC,CA9C2C,EAkD7CE,+CAAE,CAAC0X,yEAAD,EAAmC,CAAC1d,KAAD,EAAQ;AAAElP;AAAF,CAAR,MAA6B,EAChE,GAAGkP,KAD6D;AAEhElP;AAFgE,CAA7B,CAAnC,CAlD2C,CAAxC;;;;;;;;;;;;;;;;;AC1CP;AAEO,MAAMquB,UAAU,GAAkB;AACvCC,MAAI,EAAE;AACJC,YAAQ,EAAE,EADN;AAEJC,aAAS,EAAE,wEAFP;AAGJC,eAAW,EAAE,GAHT,CAGc;;AAHd,GADiC;AAMvCC,OAAK,EAAE;AACLC,iBAAa,EAAEP,kFADV;AAELS,0BAAsB,EAAE,KAFnB,CAE0B;;AAF1B,GANgC;AAUvCC,QAAM,EAAE;AACNC,iBAAa,EAAE;AACnB;;;AAGMC,cAAQ,EAAEb,iEAJG;AAKbe,uBAAiB,EAAE;AALN;AADT;AAV+B,CAAlC;AAqBP;;;;;AAIA,MAAMC,kBAAkB,GAAG;AACzBC,WAAS,EAAE,CACT,uCADS,CADc;AAIzBC,QAAM,EAAE,CACN,+CADM;AAJiB,CAA3B;AASA;;;;;;;AAMA,MAAMC,WAAW,GAAoB;AACnCD,QAAM,EAAE,CAAC,+CAAD;AAD2B,CAArC;;;;;;;;;;;;;;;;AC1CA;AACA;AACA;AACA;AAEA;AAEO,MAAM33B,WAAW,GAAG;AACzB22B,YADyB;AAEzB30B,YAAU,EAAE;AAFa,CAApB;;;;;;;;;;;;;;;;;ACPP;AAGA;AACA;;AAEA,IAAIhC,6EAAJ,EAA4B;AAC1B63B,EAAAA,6DAAc;AACf;;AAED,MAAMz2B,SAAS,GAAG,MAAK;AACrB,QAAM02B,OAAO,GAAGC,sEAAAA,GACbC,eADa,CACG72B,sDADH,CAAhB;;AAEA22B,SAAO,CAACG,KAAR,CAAcC,GAAG,IAAG;AAClBr6B,WAAO,CAACuU,KAAR,CAAc,uDAAd,EAAuE8lB,GAAvE;AACD,GAFD;AAGD,CAND;;AAQA92B,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AClBT;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;;AACA;AACA;AACA;AACA,MAAM24B,aAAa,GAAG,IAAI5B,yDAAJ,CAAmB,eAAnB,CAAtB;AACA,MAAM6B,iBAAiB,GAAG,IAAI7B,yDAAJ,CAAmB,mBAAnB,CAA1B;AACA,MAAM8B,uBAAuB,GAAG,IAAI9B,yDAAJ,CAAmB,yBAAnB,CAAhC;AACA,MAAM+B,qBAAqB,GAAG,IAAI/B,yDAAJ,CAAmB,uBAAnB,CAA9B;AAEA;;AACA,MAAM5rB,IAAI,GAAG,qBAAb;AACA,MAAM5P,OAAO,GAAG,OAAhB;AAEA;AACA;AACA;AACA;;IACMw9B;AAAN,QAAMA,WAAN,CAAkB;AACd3+B,IAAAA,WAAW,CAAC4+B,QAAD,EAAWjf,QAAX,EAAqB;AAC5B,WAAKif,QAAL,GAAgBA,QAAhB;AACA,WAAKjf,QAAL,GAAgBA,QAAhB;AACA,YAAMkf,IAAI,GAAG,KAAKlf,QAAL,CAAcpY,IAAd,CAAmB,IAAnB,EAAyB+X,KAAzB,CAA+B,GAA/B,EAAoCwf,GAApC,EAAb;;AACA,UAAID,IAAJ,EAAU;AACN,aAAKE,YAAL,GAAqB,IAAGF,IAAK,EAA7B;AACH;;AACD,WAAKD,QAAL,CAAcI,wBAAd,CAAuC5B,mEAAvC,EAA2Dj8B,OAA3D;AACH;;AACD+9B,IAAAA,UAAU,GAAG;AACT,aAAOrB,0CAAI,CAAC,KAAKe,QAAL,CAAcM,UAAd,EAAD,CAAX;AACH;;AACDC,IAAAA,iBAAiB,CAACC,OAAD,EAAU;AACvB,aAAOvB,0CAAI,CAAC,KAAKe,QAAL,CAAcO,iBAAd,CAAgCC,OAAhC,CAAD,CAAX;AACH;;AACDC,IAAAA,oBAAoB,CAACD,OAAD,EAAU;AAC1B,aAAOvB,0CAAI,CAAC,KAAKe,QAAL,CAAcS,oBAAd,CAAmCD,OAAnC,CAAD,CAAX;AACH;;AACDE,IAAAA,kBAAkB,CAACC,aAAD,EAAgB;AAC9B,aAAO1B,0CAAI,CAAC,KAAKe,QAAL,CAAcU,kBAAd,CAAiCC,aAAjC,CAAD,CAAX;AACH;;AACDC,IAAAA,wBAAwB,CAACX,IAAD,EAAO;AAC3B,aAAOhB,0CAAI,CAAC,KAAKe,QAAL,CAAca,qBAAd,CAAoCZ,IAAI,IAAI,KAAKE,YAAjD,CAAD,CAAX;AACH;;AACDW,IAAAA,UAAU,CAACN,OAAD,EAAU;AAChB,aAAOvB,0CAAI,CAAC,KAAKe,QAAL,CAAcc,UAAd,CAAyBN,OAAzB,CAAD,CAAX;AACH;;AACDO,IAAAA,aAAa,CAACP,OAAD,EAAU;AACnB,aAAOvB,0CAAI,CAAC,KAAKe,QAAL,CAAce,aAAd,CAA4BP,OAA5B,CAAD,CAAX;AACH;;AACDQ,IAAAA,MAAM,CAACC,aAAD,EAAgB;AAClB,aAAOhC,0CAAI,CAAC,KAAKe,QAAL,CAAcgB,MAAd,CAAqBC,aAArB,CAAD,CAAX;AACH;;AACDC,IAAAA,cAAc,CAACD,aAAD,EAAgB;AAC1B,aAAOhC,0CAAI,CAAC,KAAKe,QAAL,CAAckB,cAAd,CAA6BD,aAA7B,CAAD,CAAX;AACH;;AACDE,IAAAA,WAAW,CAACF,aAAD,EAAgB;AACvB,aAAOhC,0CAAI,CAAC,KAAKe,QAAL,CAAcmB,WAAd,CAA0BF,aAA1B,CAAD,CAAX;AACH;;AACDG,IAAAA,SAAS,CAACZ,OAAD,EAAU;AACf,aAAOvB,0CAAI,CAAC,KAAKe,QAAL,CAAcoB,SAAd,CAAwBZ,OAAxB,CAAD,CAAX;AACH;AACD;AACJ;AACA;AACA;;;AACIa,IAAAA,SAAS,GAAG;AACR,UAAI,CAAC,KAAKC,MAAV,EAAkB;AACd,aAAKA,MAAL,GAAc,KAAKtB,QAAL,CAAcqB,SAAd,GAA0BE,KAA1B,CAAgCpvB,IAAhC,EAAsC5P,OAAtC,CAAd;AACH;;AACD,aAAO,KAAK++B,MAAZ;AACH,KApDa,CAqDd;;;AACAE,IAAAA,SAAS,CAACF,MAAD,EAAS;AACd,WAAKA,MAAL,GAAcA,MAAM,CAACC,KAAP,CAAapvB,IAAb,EAAmB5P,OAAnB,CAAd;AACA,WAAKy9B,QAAL,CAAcwB,SAAd,CAAwBF,MAAxB;AACH;;AAzDa;;AA2DlBvB,EAAAA,WAAW,CAAC0B,IAAZ,GAAmB,SAASC,mBAAT,CAA6BC,CAA7B,EAAgC;AAAE,WAAO,KAAKA,CAAC,IAAI5B,WAAV,EAAuBP,sDAAA,CAAgBG,aAAhB,CAAvB,EAAuDH,sDAAA,CAAgBC,qDAAhB,CAAvD,CAAP;AAAkG,GAAvJ;;AACAM,EAAAA,WAAW,CAAC8B,KAAZ,GAAoB,aAAcrC,gEAAA,CAA0B;AAAEuC,IAAAA,KAAK,EAAEhC,WAAT;AAAsB/vB,IAAAA,OAAO,EAAE+vB,WAAW,CAAC0B;AAA3C,GAA1B,CAAlC;SA5DM1B;;;AAiEN,CAAC,YAAY;AAAE,GAAC,OAAOiC,SAAP,KAAqB,WAArB,IAAoCA,SAArC;AAK0C,CALzD;AAOA;AACA;AACA;AACA;;;IACMC;AAAN,QAAMA,oBAAN,CAA2B;AACvB7gC,IAAAA,WAAW,CAAC8gC,YAAD,EAAezgC,WAAf,EAA4B0gC,mBAA5B,EAAiD;AACxD,WAAKD,YAAL,GAAoBA,YAApB;AACA,WAAKzgC,WAAL,GAAmBA,WAAnB;AACA,WAAK0gC,mBAAL,GAA2BA,mBAA3B,CAHwD,CAIxD;;AACA,UAAI,KAAKA,mBAAL,IAA4B,KAAKA,mBAAL,CAAyBC,cAAzB,GAA0C,CAA1E,EAA6E;AACzE,aAAK3gC,WAAL,CAAiB4/B,SAAjB,GAA6BgB,OAA7B,CAAsC,kFAAiF,KAAKF,mBAAL,CAAyBC,cAAe,SAA/J;AACA,aAAKE,YAAL,GAAoB,IAAIpD,+CAAJ,CAAkB,KAAKiD,mBAAL,CAAyBC,cAA3C,CAApB;AACH,OAHD,MAIK;AACD;AACA,aAAKE,YAAL,GAAoB,IAAIv3B,yCAAJ,EAApB;AACH;;AACD,WAAKw3B,YAAL,GAAoB,KAAKD,YAAL,CAAkBE,YAAlB,EAApB,CAbwD,CAcxD;;AACA,WAAKC,WAAL,GAAmB,IAAItD,iDAAJ,CAAoBV,0EAApB,CAAnB;AACA,WAAKkE,WAAL,GAAmB,KAAKF,WAAL,CAAiBD,YAAjB,EAAnB;AACA,WAAKN,YAAL,CAAkBU,gBAAlB,CAAoCp/B,OAAD,IAAa;AAC5C,aAAK8+B,YAAL,CAAkB/1B,IAAlB,CAAuB/I,OAAvB;;AACA,cAAMugB,MAAM,GAAG2a,gGAAA,CAAgDl7B,OAAhD,EAAyD,KAAKi/B,WAAL,CAAiB5vB,KAA1E,CAAf;;AACA,YAAIkR,MAAM,KAAK,IAAf,EAAqB;AACjB,eAAKtiB,WAAL,CAAiB4/B,SAAjB,GAA6BgB,OAA7B,CAAsC,sBAAqB7+B,OAAO,CAACs/B,SAAU,uCAAsC,KAAKL,WAAL,CAAiB5vB,KAAM,OAAMkR,MAAO,EAAvJ;;AACA,eAAK0e,WAAL,CAAiBl2B,IAAjB,CAAsBwX,MAAtB;AACH;AACJ,OAPD;AAQH;;AA1BsB;;AA4B3Bke,EAAAA,oBAAoB,CAACR,IAArB,GAA4B,SAASsB,4BAAT,CAAsCpB,CAAtC,EAAyC;AAAE,WAAO,KAAKA,CAAC,IAAIM,oBAAV,EAAgCzC,sDAAA,CAAgBG,aAAhB,CAAhC,EAAgEH,sDAAA,CAAgBO,WAAhB,CAAhE,EAA8FP,sDAAA,CAAgBM,qBAAhB,EAAuC,CAAvC,CAA9F,CAAP;AAAkJ,GAAzN;;AACAmC,EAAAA,oBAAoB,CAACJ,KAArB,GAA6B,aAAcrC,gEAAA,CAA0B;AAAEuC,IAAAA,KAAK,EAAEE,oBAAT;AAA+BjyB,IAAAA,OAAO,EAAEiyB,oBAAoB,CAACR;AAA7D,GAA1B,CAA3C;SA7BMQ;;;AAmCN,CAAC,YAAY;AAAE,GAAC,OAAOD,SAAP,KAAqB,WAArB,IAAoCA,SAArC;AAUe,CAV9B;AAYA;AACA;AACA;AACA;;;IACM55B;AAAN,QAAMA,SAAN,CAAgB;AACZhH,IAAAA,WAAW,CAAC4hC,eAAD,EAAkBC,oBAAlB,EAAwCxhC,WAAxC,EAAqDsf,QAArD,EAA+D7D,MAA/D,EAAuE;AAC9E,WAAK8lB,eAAL,GAAuBA,eAAvB;AACA,WAAKC,oBAAL,GAA4BA,oBAA5B;AACA,WAAKxhC,WAAL,GAAmBA,WAAnB;AACA,WAAKsf,QAAL,GAAgBA,QAAhB;AACA,WAAK7D,MAAL,GAAcA,MAAd,CAL8E,CAM9E;;AACA,WAAK+lB,oBAAL,CAA0BN,WAA1B,CAAsCrgC,SAAtC;AACH;AACD;AACJ;AACA;AACA;;;AACI4gC,IAAAA,QAAQ,CAACnkB,GAAD,EAAM;AACV,aAAO,KAAK7B,MAAL,CAAYgmB,QAAZ,CAAqBnkB,GAArB,CAAP;AACH;AACD;AACJ;AACA;AACA;AACA;;;AACIokB,IAAAA,iBAAiB,CAACx6B,IAAD,EAAO;AACpB,WAAKlH,WAAL,CAAiB4/B,SAAjB,GAA6BgB,OAA7B,CAAqC,iCAArC,EADoB,CAEpB;;AACA,YAAMe,YAAY,GAAGC,QAAQ,CAACC,oBAAT,CAA8B,MAA9B,CAArB;AACA,YAAMC,OAAO,GAAG,KAAKxiB,QAAL,CAAcyiB,SAAd,CAAwBJ,YAAY,CAAC90B,MAAb,GAAsB80B,YAAY,CAAC,CAAD,CAAZ,CAAgB3S,IAAtC,GAA6C3P,MAAM,CAACC,QAAP,CAAgB0iB,MAArF,CAAhB,CAJoB,CAKpB;;AACA,YAAMC,OAAO,GAAG,KAAK3iB,QAAL,CAAc4iB,kBAAd,CAAiCh7B,IAAjC,CAAhB,CANoB,CAOpB;;AACA,UAAI+6B,OAAO,CAACE,UAAR,CAAmB,GAAnB,CAAJ,EAA6B;AACzB,aAAKniC,WAAL,CAAiB4/B,SAAjB,GAA6BgB,OAA7B,CAAqC,qCAArC;AACA,eAAQ,GAAEkB,OAAQ,IAAGG,OAAQ,EAA7B;AACH;AACD;AACR;AACA;AACA;;;AACQ,aAAQ,GAAEH,OAAQ,GAAE56B,IAAK,EAAzB;AACH;AACD;AACJ;AACA;AACA;;;AACIk7B,IAAAA,kBAAkB,CAACzmB,KAAD,EAAQ;AACtB,YAAMogB,WAAW,GAAG,OAAO,KAAKwF,eAAL,CAAqBxF,WAA5B,KAA4C,UAA5C,GACd,KAAKwF,eAAL,CAAqBxF,WAArB,CAAiC,KAAK/7B,WAAtC,EAAmD2b,KAAnD,CADc,GAEd0mB,MAAM,CAACC,MAAP,CAAc,EAAd,EAAkB,KAAKf,eAAL,CAAqBxF,WAAvC,CAFN;;AAGA,UAAI,KAAKwF,eAAL,CAAqBgB,eAArB,KAAyCrF,sEAA7C,EAAoE;AAChE,aAAKl9B,WAAL,CAAiB4/B,SAAjB,GAA6BgB,OAA7B,CAAqC,6BAArC;AACA,eAAO,KAAK5gC,WAAL,CAAiBq/B,UAAjB,CAA4BtD,WAA5B,EACFn7B,IADE,CACG8I,mDAAG,CAAE+4B,QAAD,IAAc;AACxB,eAAKziC,WAAL,CAAiB4/B,SAAjB,GAA6BgB,OAA7B,CAAqC,yEAArC;AACA,eAAK5gC,WAAL,CAAiBu+B,QAAjB,CAA0BmE,gBAA1B,CAA2CD,QAAQ,CAACE,OAApD;AACA,iBAAO,IAAP;AACH,SAJY,CADN,CAAP;AAMH;;AACD,WAAK3iC,WAAL,CAAiB4/B,SAAjB,GAA6BgB,OAA7B,CAAqC,gCAArC;AACA,YAAMgC,iBAAiB,GAAG,KAAKlB,iBAAL,CAAuB/lB,KAAK,CAAC2B,GAA7B,CAA1B;AACA,aAAO,KAAKtd,WAAL,CAAiBs/B,aAAjB,CAA+B+C,MAAM,CAACC,MAAP,CAAc;AAAEM,QAAAA;AAAF,OAAd,EAAqC7G,WAArC,CAA/B,EACFn7B,IADE,CACG8I,mDAAG,CAAC,MAAM,KAAP,CADN,CAAP;AAEH;AACD;AACJ;AACA;AACA;;;AACIm5B,IAAAA,cAAc,CAAClnB,KAAD,EAAQ;AAClB,UAAI,KAAK4lB,eAAL,CAAqBgB,eAArB,KAAyCrF,sEAAzC,IAAkE,KAAKqE,eAAL,CAAqBgB,eAArB,KAAyCrF,yEAA/G,EAAyI;AACrI,cAAM,IAAIC,8EAAJ,CAAkC,0BAAlC,EAA8D,mJAA9D,CAAN;AACH;;AACD,WAAKn9B,WAAL,CAAiB4/B,SAAjB,GAA6BgB,OAA7B,CAAqC,sBAArC;AACA;AACR;AACA;AACA;;AACQ,UAAI,OAAOvhB,MAAP,KAAkB,WAAtB,EAAmC;AAC/B,YAAI+d,uFAAA,CAAsC/d,MAAM,CAACC,QAAP,CAAgBkf,IAAtD,KAA+DnB,yEAAA,EAA/D,IAA4F,CAAC,KAAKr9B,WAAL,CAAiBu+B,QAAjB,CAA0B0E,gBAA1B,GAA6C1H,MAA7C,CAAoD2H,qBAArJ,EAA4K;AACxK,eAAKljC,WAAL,CAAiB4/B,SAAjB,GAA6BuD,OAA7B,CAAqC,mIAArC;AACA,iBAAO55B,yCAAE,CAAC,KAAD,CAAT;AACH;AACJ,OALD,MAMK;AACD,aAAKvJ,WAAL,CAAiB4/B,SAAjB,GAA6B1Z,IAA7B,CAAkC,kFAAlC;AACA,eAAO3c,yCAAE,CAAC,IAAD,CAAT;AACH;AACD;AACR;AACA;;;AACQ,UAAI,KAAKg4B,eAAL,CAAqB6B,gBAAzB,EAA2C;AACvC,aAAKA,gBAAL,GAAwB,KAAK3B,QAAL,CAAc,KAAKF,eAAL,CAAqB6B,gBAAnC,CAAxB;AACH,OAxBiB,CAyBlB;;;AACA,YAAMC,WAAW,GAAG,KAAK/jB,QAAL,CAAcpY,IAAd,CAAmB,IAAnB,CAApB;AACA,aAAO,KAAKlH,WAAL,CAAiBm/B,wBAAjB,GACFv+B,IADE,CACGi9B,0DAAS,CAAC,MAAM;AACtB,YAAI,CAAC,KAAK79B,WAAL,CAAiBu+B,QAAjB,CAA0B+E,cAA1B,GAA2Cz2B,MAAhD,EAAwD;AACpD,cAAI8O,KAAJ,EAAW;AACP,iBAAK3b,WAAL,CAAiB4/B,SAAjB,GAA6BgB,OAA7B,CAAqC,4DAArC;AACA,mBAAO,KAAKwB,kBAAL,CAAwBzmB,KAAxB,CAAP;AACH;;AACD,eAAK3b,WAAL,CAAiB4/B,SAAjB,GAA6BgB,OAA7B,CAAqC,sDAArC;AACA,iBAAOr3B,yCAAE,CAAC,KAAD,CAAT;AACH;;AACD,aAAKvJ,WAAL,CAAiB4/B,SAAjB,GAA6BgB,OAA7B,CAAqC,yDAArC,EATsB,CAUtB;;AACA,YAAIjlB,KAAJ,EAAW;AACP;AAChB;AACA;AACA;AACA;;AACgB;AAChB;AACA;AACA;AACA;AACgB,gBAAM4nB,eAAe,GAAG,KAAKC,YAAL,CAAkB7nB,KAAK,CAAC2B,GAAxB,CAAxB;AACA,gBAAMmmB,oBAAoB,GAAG,CAAC,CAAC9nB,KAAK,CAAC+nB,IAAR,IAAgB,CAAC,CAAC/nB,KAAK,CAAC+nB,IAAN,CAAWC,QAA7B,IAAyC,KAAKH,YAAL,CAAmB,IAAG7nB,KAAK,CAAC+nB,IAAN,CAAWC,QAAS,EAA1C,CAAtE;AACA,gBAAMC,WAAW,GAAG,KAAKtkB,QAAL,CAAc4iB,kBAAd,CAAiCvmB,KAAK,CAAC2B,GAAvC,EAA4ChF,OAA5C,CAAoD,GAApD,MAA6D,CAAjF,CAbO,CAcP;;AACA,cAAIirB,eAAe,KAAKE,oBAAoB,IAAIG,WAA7B,CAAnB,EAA8D;AAC1D,iBAAK5jC,WAAL,CAAiB4/B,SAAjB,GAA6B1Z,IAA7B,CAAkC,iEAAlC,EAD0D,CAE1D;;AACA,gBAAImd,WAAW,CAAC/qB,OAAZ,CAAoB,GAApB,IAA2B,CAAC,CAAhC,EAAmC;AAC/B,qBAAO/O,yCAAE,CAAC,KAAKk4B,QAAL,CAAc,KAAKniB,QAAL,CAAcpY,IAAd,EAAd,CAAD,CAAT;AACH,aALyD,CAM1D;;;AACA,mBAAOqC,yCAAE,CAAC,KAAKk4B,QAAL,CAAc,EAAd,CAAD,CAAT;AACH;AACJ;;AACD,eAAOl4B,yCAAE,CAAC,IAAD,CAAT;AACH,OArCkB,CADZ,EAsCHkM,2DAAU,CAAEc,KAAD,IAAW;AACtB,aAAKvW,WAAL,CAAiB4/B,SAAjB,GAA6BrpB,KAA7B,CAAmC,oDAAnC;AACA,aAAKvW,WAAL,CAAiB4/B,SAAjB,GAA6BiE,QAA7B,CAAuC,kBAAiBttB,KAAK,CAACxU,OAAQ,EAAtE;AACA;AACZ;AACA;AACA;;AACY,YAAI,KAAKqhC,gBAAL,IAAyBU,QAAQ,CAACpH,wDAAD,EAAgB,EAAhB,CAAR,GAA8B,CAAvD,IAA4D/gB,KAAhE,EAAuE;AACnE,eAAK3b,WAAL,CAAiB4/B,SAAjB,GAA6BgB,OAA7B,CAAqC,2CAArC;AACA,iBAAOr3B,yCAAE,CAAC,KAAK65B,gBAAN,CAAT;AACH;;AACD,eAAO75B,yCAAE,CAAC,KAAD,CAAT;AACH,OAZa,CAtCP,CAAP;AAmDH;;AACDi6B,IAAAA,YAAY,CAACt8B,IAAD,EAAO;AACf,aAAQA,IAAI,CAAC88B,WAAL,CAAiB,OAAjB,IAA4B,CAAC,CAA7B,IACJ98B,IAAI,CAAC88B,WAAL,CAAiB,OAAjB,MAA8B98B,IAAI,CAAC2F,MAAL,GAAc,QAAQA,MADjD,IAC4D;AAC/D3F,MAAAA,IAAI,CAACoR,OAAL,CAAa,QAAb,IAAyB,CAAC,CAFvB,IAGHpR,IAAI,CAACoR,OAAL,CAAa,QAAb,IAAyB,CAAC,CAH9B;AAIH;;AACD/Q,IAAAA,WAAW,CAACmU,KAAD,EAAQC,KAAR,EAAe;AACtB,WAAK3b,WAAL,CAAiB4/B,SAAjB,GAA6BgB,OAA7B,CAAqC,qBAArC;AACA,aAAO,KAAKiC,cAAL,CAAoBlnB,KAApB,CAAP;AACH;;AACDQ,IAAAA,gBAAgB,CAACT,KAAD,EAAQC,KAAR,EAAe;AAC3B,WAAK3b,WAAL,CAAiB4/B,SAAjB,GAA6BgB,OAA7B,CAAqC,0BAArC;AACA,aAAO,KAAKiC,cAAL,CAAoBlnB,KAApB,CAAP;AACH;;AACDsoB,IAAAA,OAAO,GAAG;AACN,WAAKjkC,WAAL,CAAiB4/B,SAAjB,GAA6BgB,OAA7B,CAAqC,iBAArC,EADM,CAEN;;AACA,aAAO,KAAKiC,cAAL,EAAP;AACH;;AAnKW;;AAqKhBl8B,EAAAA,SAAS,CAACq5B,IAAV,GAAiB,SAASkE,iBAAT,CAA2BhE,CAA3B,EAA8B;AAAE,WAAO,KAAKA,CAAC,IAAIv5B,SAAV,EAAqBo3B,sDAAA,CAAgBI,iBAAhB,CAArB,EAAyDJ,sDAAA,CAAgByC,oBAAhB,CAAzD,EAAgGzC,sDAAA,CAAgBO,WAAhB,CAAhG,EAA8HP,sDAAA,CAAgBC,qDAAhB,CAA9H,EAAgKD,sDAAA,CAAgBE,oDAAhB,CAAhK,CAAP;AAAyM,GAA1P;;AACAt3B,EAAAA,SAAS,CAACy5B,KAAV,GAAkB,aAAcrC,gEAAA,CAA0B;AAAEuC,IAAAA,KAAK,EAAE35B,SAAT;AAAoB4H,IAAAA,OAAO,EAAE5H,SAAS,CAACq5B;AAAvC,GAA1B,CAAhC;SAtKMr5B;;;AA8KN,CAAC,YAAY;AAAE,GAAC,OAAO45B,SAAP,KAAqB,WAArB,IAAoCA,SAArC;AAK0H,CALzI;AAOA;AACA;AACA;AACA;;;IACM4D;AAAN,QAAMA,eAAN,CAAsB;AAClBxkC,IAAAA,WAAW,CAACykC,qBAAD,EAAwBpkC,WAAxB,EAAqCsf,QAArC,EACX;AACAsiB,IAAAA,QAFW,EAED;AACN,WAAKwC,qBAAL,GAA6BA,qBAA7B;AACA,WAAKpkC,WAAL,GAAmBA,WAAnB;AACA,WAAKsf,QAAL,GAAgBA,QAAhB;AACA,WAAK+kB,SAAL,GAAiBzC,QAAjB;AACH,KARiB,CASlB;;;AACA0C,IAAAA,SAAS,CAACC,GAAD,EAAMz5B,IAAN,EAAY;AACjB,UAAI,KAAKs5B,qBAAL,CAA2B7B,eAA3B,KAA+CrF,sEAA/C,IAAwE,KAAKkH,qBAAL,CAA2B7B,eAA3B,KAA+CrF,yEAA3H,EAAqJ;AACjJ,cAAM,IAAIC,8EAAJ,CAAkC,0BAAlC,EAA8D,6JAA9D,CAAN;AACH;;AACD,WAAKn9B,WAAL,CAAiB4/B,SAAjB,GAA6BgB,OAA7B,CAAqC,4BAArC;AACA,YAAM9E,MAAM,GAAG,KAAK0I,oBAAL,CAA0BD,GAAG,CAACjnB,GAA9B,EAAmCinB,GAAG,CAACE,MAAvC,CAAf,CALiB,CAMjB;;AACA,UAAI,CAAC3I,MAAD,IAAWA,MAAM,CAACjvB,MAAP,KAAkB,CAAjC,EAAoC;AAChC,aAAK7M,WAAL,CAAiB4/B,SAAjB,GAA6BgB,OAA7B,CAAqC,sCAArC;AACA,eAAO91B,IAAI,CAAC45B,MAAL,CAAYH,GAAZ,CAAP;AACH,OAVgB,CAWjB;;;AACA,UAAI5B,OAAJ;;AACA,UAAI,CAAC,CAAC,KAAK3iC,WAAL,CAAiBu+B,QAAjB,CAA0BoG,gBAA1B,EAAN,EAAoD;AAChD,aAAK3kC,WAAL,CAAiB4/B,SAAjB,GAA6BgB,OAA7B,CAAqC,uCAArC;AACA+B,QAAAA,OAAO,GAAG,KAAK3iC,WAAL,CAAiBu+B,QAAjB,CAA0BoG,gBAA1B,EAAV;AACH,OAHD,MAIK;AACD,aAAK3kC,WAAL,CAAiB4/B,SAAjB,GAA6BgB,OAA7B,CAAqC,4DAArC;AACA+B,QAAAA,OAAO,GAAG,KAAK3iC,WAAL,CAAiBu+B,QAAjB,CAA0B+E,cAA1B,GAA2C,CAA3C,CAAV;AACH;;AACD,YAAMvH,WAAW,GAAG,OAAO,KAAKqI,qBAAL,CAA2BrI,WAAlC,KAAkD,UAAlD,GACd,KAAKqI,qBAAL,CAA2BrI,WAA3B,CAAuC,KAAK/7B,WAA5C,EAAyDukC,GAAzD,EAA8D;AAAE5B,QAAAA,OAAO,EAAEA;AAAX,OAA9D,CADc,GAEdN,MAAM,CAACC,MAAP,CAAcD,MAAM,CAACC,MAAP,CAAc,EAAd,EAAkB,KAAK8B,qBAAL,CAA2BrI,WAA7C,CAAd,EAAyE;AAAE4G,QAAAA;AAAF,OAAzE,CAFN;AAGA,WAAK3iC,WAAL,CAAiB4/B,SAAjB,GAA6B1Z,IAA7B,CAAmC,iBAAgB4V,MAAM,CAACjvB,MAAO,4BAAjE;AACA,WAAK7M,WAAL,CAAiB4/B,SAAjB,GAA6BgF,OAA7B,CAAsC,kBAAiB9I,MAAO,sBAAqByI,GAAG,CAACjnB,GAAI,EAA3F,EAzBiB,CA0BjB;;AACA,aAAO,KAAKtd,WAAL,CAAiBi/B,kBAAjB,CAAoCoD,MAAM,CAACC,MAAP,CAAcD,MAAM,CAACC,MAAP,CAAc,EAAd,EAAkBvG,WAAlB,CAAd,EAA8C;AAAED,QAAAA,MAAF;AAAU6G,QAAAA;AAAV,OAA9C,CAApC,EACF/hC,IADE,CACG6U,2DAAU,CAAC,MAAM;AACvB,aAAKzV,WAAL,CAAiB4/B,SAAjB,GAA6BrpB,KAA7B,CAAmC,wFAAnC;AACA,eAAO,KAAKsuB,yBAAL,CAA+B9I,WAA/B,EAA4CD,MAA5C,CAAP;AACH,OAHmB,CADb,EAIHnyB,0DAAS,CAAEkI,MAAD,IAAY;AACtB,YAAI,CAACA,MAAM,CAACizB,WAAZ,EAAyB;AACrB,eAAK9kC,WAAL,CAAiB4/B,SAAjB,GAA6BrpB,KAA7B,CAAmC,kIAAnC;AACA,iBAAO,KAAKsuB,yBAAL,CAA+B9I,WAA/B,EAA4CD,MAA5C,CAAP;AACH;;AACD,eAAOvyB,yCAAE,CAACsI,MAAD,CAAT;AACH,OANY,CAJN,EAUHlI,0DAAS,CAAEkI,MAAD,IAAY;AACtB,aAAK7R,WAAL,CAAiB4/B,SAAjB,GAA6BgB,OAA7B,CAAqC,6CAArC;AACA,cAAMmE,OAAO,GAAGR,GAAG,CAACQ,OAAJ,CACXC,GADW,CACP,eADO,EACW,UAASnzB,MAAM,CAACizB,WAAY,EADvC,CAAhB;AAEA,cAAMG,YAAY,GAAGV,GAAG,CAACzE,KAAJ,CAAU;AAAEiF,UAAAA;AAAF,SAAV,CAArB;AACA,eAAOj6B,IAAI,CAAC45B,MAAL,CAAYO,YAAZ,CAAP;AACH,OANY,CAVN,CAAP;AAiBH;AACD;AACJ;AACA;AACA;AACA;AACA;;;AACIJ,IAAAA,yBAAyB,CAAC9I,WAAD,EAAcD,MAAd,EAAsB;AAC3C,UAAI,KAAKsI,qBAAL,CAA2B7B,eAA3B,KAA+CrF,sEAAnD,EAA0E;AACtE,aAAKl9B,WAAL,CAAiB4/B,SAAjB,GAA6BgB,OAA7B,CAAqC,kEAArC;AACA,eAAO,KAAK5gC,WAAL,CAAiB8+B,iBAAjB,CAAmCuD,MAAM,CAACC,MAAP,CAAcD,MAAM,CAACC,MAAP,CAAc,EAAd,EAAkBvG,WAAlB,CAAd,EAA8C;AAAED,UAAAA;AAAF,SAA9C,CAAnC,CAAP;AACH;;AACD,WAAK97B,WAAL,CAAiB4/B,SAAjB,GAA6BgB,OAA7B,CAAqC,qEAArC;AACA,YAAMgC,iBAAiB,GAAGvjB,MAAM,CAACC,QAAP,CAAgB0P,IAA1C;AACA,WAAKhvB,WAAL,CAAiBg/B,oBAAjB,CAAsCqD,MAAM,CAACC,MAAP,CAAcD,MAAM,CAACC,MAAP,CAAc,EAAd,EAAkBvG,WAAlB,CAAd,EAA8C;AAAED,QAAAA,MAAF;AAAU8G,QAAAA;AAAV,OAA9C,CAAtC;AACA,aAAOjF,wCAAP;AACH;AACD;AACJ;AACA;AACA;AACA;AACA;AACA;;;AACI6G,IAAAA,oBAAoB,CAAC/U,QAAD,EAAWyV,UAAX,EAAuB;AACvC,WAAKllC,WAAL,CAAiB4/B,SAAjB,GAA6BgB,OAA7B,CAAqC,2CAArC,EADuC,CAEvC;;AACA,YAAMuE,kBAAkB,GAAG,KAAK7lB,QAAL,CAAcyiB,SAAd,CAAwBtS,QAAxB,CAA3B;AACA,YAAM2V,uBAAuB,GAAGC,KAAK,CAAC7H,IAAN,CAAW,KAAK4G,qBAAL,CAA2BkB,oBAA3B,CAAgDC,IAAhD,EAAX,CAAhC;AACA,YAAMC,0BAA0B,GAAG,KAAKC,wBAAL,CAA8BL,uBAA9B,EAAuDD,kBAAvD,CAAnC,CALuC,CAMvC;;AACA,UAAIK,0BAA0B,CAACE,iBAA3B,CAA6C74B,MAA7C,GAAsD,CAA1D,EAA6D;AACzD,eAAO,KAAK84B,qBAAL,CAA2B,KAAKvB,qBAAL,CAA2BkB,oBAAtD,EAA4EE,0BAA0B,CAACE,iBAAvG,EAA0HR,UAA1H,CAAP;AACH,OAFD,MAGK,IAAIM,0BAA0B,CAACI,iBAA3B,CAA6C/4B,MAA7C,GAAsD,CAA1D,EAA6D;AAC9D,eAAO,KAAK84B,qBAAL,CAA2B,KAAKvB,qBAAL,CAA2BkB,oBAAtD,EAA4EE,0BAA0B,CAACI,iBAAvG,EAA0HV,UAA1H,CAAP;AACH;;AACD,aAAO,IAAP;AACH;AACD;AACJ;AACA;AACA;AACA;AACA;;;AACIO,IAAAA,wBAAwB,CAACI,2BAAD,EAA8BpW,QAA9B,EAAwC;AAC5D,YAAMqW,iBAAiB,GAAG;AAAEJ,QAAAA,iBAAiB,EAAE,EAArB;AAAyBE,QAAAA,iBAAiB,EAAE;AAA5C,OAA1B;AACAC,MAAAA,2BAA2B,CAACE,OAA5B,CAAoCC,GAAG,IAAI;AACvC;AACA,cAAMC,aAAa,GAAG,KAAK3mB,QAAL,CAAcyiB,SAAd,CAAwBiE,GAAxB,CAAtB;;AACA,YAAI1I,0EAAA,CAAyB2I,aAAzB,EAAwCxW,QAAxC,CAAJ,EAAuD;AACnDqW,UAAAA,iBAAiB,CAACJ,iBAAlB,CAAoCS,IAApC,CAAyCH,GAAzC;AACH,SALsC,CAMvC;;;AACA,cAAMI,WAAW,GAAG,KAAKC,cAAL,CAAoBL,GAApB,CAApB;AACA,cAAMM,aAAa,GAAG,IAAIlJ,2DAAJ,CAAcgJ,WAAd,EAA2BG,gBAA3B,EAAtB;AACA,cAAMC,gBAAgB,GAAG,KAAKH,cAAL,CAAoB5W,QAApB,CAAzB;AACA,cAAMgX,kBAAkB,GAAG,IAAIrJ,2DAAJ,CAAcoJ,gBAAd,EAAgCD,gBAAhC,EAA3B,CAVuC,CAWvC;;AACA,cAAMG,qBAAqB,GAAGJ,aAAa,CAACK,WAAd,GAA6B,GAAEL,aAAa,CAACM,YAAa,IAAGN,aAAa,CAACK,WAAY,EAAvF,GAA2F,KAAKrnB,QAAL,CAAcyiB,SAAd,CAAwBuE,aAAa,CAACM,YAAtC,CAAzH,CAZuC,CAavC;;AACA,YAAIN,aAAa,CAACO,eAAd,KAAkCJ,kBAAkB,CAACI,eAArD,IAAwEvJ,0EAAA,CAAyBoJ,qBAAzB,EAAgDF,gBAAhD,CAAxE,IAA6IE,qBAAqB,KAAK,EAAvK,IAA6KA,qBAAqB,KAAK,IAA3M,EAAiN;AAC7MZ,UAAAA,iBAAiB,CAACF,iBAAlB,CAAoCO,IAApC,CAAyCH,GAAzC;AACH;AACJ,OAjBD;AAkBA,aAAOF,iBAAP;AACH;AACD;AACJ;AACA;AACA;AACA;;;AACIO,IAAAA,cAAc,CAAC/oB,GAAD,EAAM;AAChB,YAAMwpB,IAAI,GAAG,KAAKzC,SAAL,CAAe0C,aAAf,CAA6B,GAA7B,CAAb;;AACAD,MAAAA,IAAI,CAAC9X,IAAL,GAAY1R,GAAZ;AACA,aAAOwpB,IAAI,CAAC9X,IAAZ;AACH;AACD;AACJ;AACA;AACA;AACA;AACA;AACA;;;AACI2W,IAAAA,qBAAqB,CAACL,oBAAD,EAAuB0B,aAAvB,EAAsC9B,UAAtC,EAAkD;AACnE,YAAM+B,gBAAgB,GAAG,EAAzB,CADmE,CAEnE;;AACAD,MAAAA,aAAa,CAACjB,OAAd,CAAsBmB,eAAe,IAAI;AACrC,cAAMC,iBAAiB,GAAG,EAA1B;AACA,cAAMC,oBAAoB,GAAG9B,oBAAoB,CAAC3kC,GAArB,CAAyBumC,eAAzB,CAA7B,CAFqC,CAGrC;;AACA,YAAIE,oBAAoB,KAAK,IAA7B,EAAmC;AAC/BH,UAAAA,gBAAgB,CAACd,IAAjB,CAAsB,IAAtB;AACA;AACH;;AACDiB,QAAAA,oBAAoB,CAACrB,OAArB,CAA6BsB,KAAK,IAAI;AAClC;AACA,cAAI,OAAOA,KAAP,KAAiB,QAArB,EAA+B;AAC3BF,YAAAA,iBAAiB,CAAChB,IAAlB,CAAuBkB,KAAvB;AACH,WAFD,MAGK;AACD;AACA,kBAAMC,uBAAuB,GAAGpC,UAAU,CAACqC,WAAX,EAAhC;AACA,kBAAMC,wBAAwB,GAAGH,KAAK,CAACnC,UAAN,CAAiBqC,WAAjB,EAAjC,CAHC,CAID;;AACA,gBAAIC,wBAAwB,KAAKF,uBAAjC,EAA0D;AACtD;AACA,kBAAID,KAAK,CAACvL,MAAN,KAAiB,IAArB,EAA2B;AACvBmL,gBAAAA,gBAAgB,CAACd,IAAjB,CAAsB,IAAtB;AACH,eAFD,MAGK;AACDkB,gBAAAA,KAAK,CAACvL,MAAN,CAAaiK,OAAb,CAAsB0B,KAAD,IAAW;AAC5BN,kBAAAA,iBAAiB,CAAChB,IAAlB,CAAuBsB,KAAvB;AACH,iBAFD;AAGH;AACJ;AACJ;AACJ,SAtBD,EARqC,CA+BrC;;AACA,YAAIN,iBAAiB,CAACt6B,MAAlB,GAA2B,CAA/B,EAAkC;AAC9Bo6B,UAAAA,gBAAgB,CAACd,IAAjB,CAAsBgB,iBAAtB;AACH;AACJ,OAnCD;;AAoCA,UAAIF,gBAAgB,CAACp6B,MAAjB,GAA0B,CAA9B,EAAiC;AAC7B,YAAIo6B,gBAAgB,CAACp6B,MAAjB,GAA0B,CAA9B,EAAiC;AAC7B,eAAK7M,WAAL,CAAiB4/B,SAAjB,GAA6BuD,OAA7B,CAAqC,+DAArC;AACH,SAH4B,CAI7B;;;AACA,eAAO8D,gBAAgB,CAAC,CAAD,CAAvB;AACH;;AACD,aAAO,IAAP;AACH;;AAzLiB;;AA2LtB9C,EAAAA,eAAe,CAACnE,IAAhB,GAAuB,SAAS0H,uBAAT,CAAiCxH,CAAjC,EAAoC;AAAE,WAAO,KAAKA,CAAC,IAAIiE,eAAV,EAA2BpG,sDAAA,CAAgBK,uBAAhB,CAA3B,EAAqEL,sDAAA,CAAgBO,WAAhB,CAArE,EAAmGP,sDAAA,CAAgBC,qDAAhB,CAAnG,EAAqID,sDAAA,CAAgBjB,qDAAhB,CAArI,CAAP;AAAyK,GAAtO;;AACAqH,EAAAA,eAAe,CAAC/D,KAAhB,GAAwB,aAAcrC,gEAAA,CAA0B;AAAEuC,IAAAA,KAAK,EAAE6D,eAAT;AAA0B51B,IAAAA,OAAO,EAAE41B,eAAe,CAACnE;AAAnD,GAA1B,CAAtC;SA5LMmE;;;AAmMN,CAAC,YAAY;AAAE,GAAC,OAAO5D,SAAP,KAAqB,WAArB,IAAoCA,SAArC;AAQe,CAR9B;AAUA;AACA;AACA;AACA;;;IACMx9B;AAAN,QAAMA,qBAAN,CAA4B;AACxBpD,IAAAA,WAAW,CAACK,WAAD,EAAc;AACrB,WAAKA,WAAL,GAAmBA,WAAnB;AACH;;AACDS,IAAAA,QAAQ,GAAG;AACP,WAAKT,WAAL,CAAiB4/B,SAAjB,GAA6BgB,OAA7B,CAAqC,iCAArC;AACA,WAAK5gC,WAAL,CAAiB6+B,UAAjB,GAA8Bj+B,IAA9B,CAAmCi9B,0DAAS,CAAC,MAAM;AAC/C,eAAO,KAAK79B,WAAL,CAAiBm/B,wBAAjB,EAAP;AACH,OAF2C,CAA5C,EAEIt+B,SAFJ;AAGH;;AATuB;;AAW5BkC,EAAAA,qBAAqB,CAACi9B,IAAtB,GAA6B,SAAS2H,6BAAT,CAAuCzH,CAAvC,EAA0C;AAAE,WAAO,KAAKA,CAAC,IAAIn9B,qBAAV,EAAiCg7B,+DAAA,CAAyBO,WAAzB,CAAjC,CAAP;AAAiF,GAA1J;;AACAv7B,EAAAA,qBAAqB,CAAC8kC,IAAtB,GAA6B,aAAc9J,+DAAA,CAAyB;AAAE5mB,IAAAA,IAAI,EAAEpU,qBAAR;AAA+BZ,IAAAA,SAAS,EAAE,CAAC,CAAC,cAAD,CAAD,CAA1C;AAA8DM,IAAAA,KAAK,EAAE,CAArE;AAAwEC,IAAAA,IAAI,EAAE,CAA9E;AAAiFC,IAAAA,QAAQ,EAAE,SAASolC,8BAAT,CAAwCC,EAAxC,EAA4Cr6B,GAA5C,EAAiD,CAAG,CAA/I;AAAiJs6B,IAAAA,aAAa,EAAE;AAAhK,GAAzB,CAA3C;SAZMllC;;;AAgBN,CAAC,YAAY;AAAE,GAAC,OAAOw9B,SAAP,KAAqB,WAArB,IAAoCA,SAArC;AAMkD,CANjE;AAQA;AACA;AACA;AACA;;;IACMz9B;AAAN,QAAMA,UAAN,CAAiB;AACC,WAAP6C,OAAO,CAAC86B,YAAD,EAAeyH,WAAf,EAA4BC,iBAA5B,EAA+C;AACzD,aAAO;AACHC,QAAAA,QAAQ,EAAEtlC,UADP;AAEHulC,QAAAA,SAAS,EAAE,CACP;AACIhmC,UAAAA,OAAO,EAAE67B,aADb;AAEIoK,UAAAA,QAAQ,EAAE7H;AAFd,SADO,EAKP;AACIp+B,UAAAA,OAAO,EAAE87B,iBADb;AAEImK,UAAAA,QAAQ,EAAEJ;AAFd,SALO,EASP;AACI7lC,UAAAA,OAAO,EAAE+7B,uBADb;AAEIkK,UAAAA,QAAQ,EAAEH;AAFd,SATO,EAaP7J,WAbO;AAFR,OAAP;AAkBH;;AApBY;;AAsBjBx7B,EAAAA,UAAU,CAACk9B,IAAX,GAAkB,SAASuI,kBAAT,CAA4BrI,CAA5B,EAA+B;AAAE,WAAO,KAAKA,CAAC,IAAIp9B,UAAV,GAAP;AAAiC,GAApF;;AACAA,EAAAA,UAAU,CAAC0lC,IAAX,GAAkB,aAAczK,8DAAA,CAAwB;AAAE5mB,IAAAA,IAAI,EAAErU;AAAR,GAAxB,CAAhC;AACAA,EAAAA,UAAU,CAAC4lC,IAAX,GAAkB,aAAc3K,8DAAA,CAAwB;AAAEsK,IAAAA,SAAS,EAAE,CAC7D1hC,SAD6D,EAE7D65B,oBAF6D,CAAb;AAGjD96B,IAAAA,OAAO,EAAE,CAAC,CACLghB,yDADK,CAAD;AAHwC,GAAxB,CAAhC;SAxBM5jB;;;AA8BN,CAAC,YAAY;AAAE,GAAC,OAAOy9B,SAAP,KAAqB,WAArB,IAAoCA,SAArC;AAYO,CAZtB;;AAaA,CAAC,YAAY;AAAE,GAAC,OAAOqI,SAAP,KAAqB,WAArB,IAAoCA,SAArC,KAAmD7K,gEAAA,CAA0Bj7B,UAA1B,EAAsC;AAAEuD,IAAAA,YAAY,EAAE,YAAY;AAAE,aAAO,CAACtD,qBAAD,CAAP;AAAiC,KAA/D;AAAiE2C,IAAAA,OAAO,EAAE,YAAY;AAAE,aAAO,CAACghB,yDAAD,CAAP;AAAwB;AAAhH,GAAtC,CAAnD;AAA+M,CAA9N;AAEA;AACA;AACA;AACA;;AACA;AACA;AACA;AACA;AACA;;;IACMoiB;AAAN,QAAMA,0BAAN,SAAyCvL,kEAAzC,CAA0D;AACtD59B,IAAAA,WAAW,CAACK,WAAD,EAAcyb,MAAd,EAAsB6D,QAAtB,EAAgC;AACvC;AACA,WAAKtf,WAAL,GAAmBA,WAAnB;AACA,WAAKyb,MAAL,GAAcA,MAAd;AACA,WAAK6D,QAAL,GAAgBA,QAAhB;AACH;;AACDypB,IAAAA,gBAAgB,CAACzrB,GAAD,EAAMsQ,OAAN,EAAe;AAC3B,YAAMob,MAAM,GAAG3G,MAAM,CAAC4G,MAAP,CAAc,IAAd,EAAoB;AAC/BF,QAAAA,gBAAgB,EAAE;AAAEpoC,UAAAA,GAAG,EAAE,MAAM,MAAMooC;AAAnB;AADa,OAApB,CAAf;;AAGA,aAAOjL,iDAAS,CAAC,IAAD,EAAO,KAAK,CAAZ,EAAe,KAAK,CAApB,EAAuB,aAAa;AAChD,aAAK99B,WAAL,CAAiB4/B,SAAjB,GAA6BsJ,KAA7B,CAAmC,mCAAnC;AACA,aAAKlpC,WAAL,CAAiB4/B,SAAjB,GAA6BgB,OAA7B,CAAqC,yCAArC;AACA,aAAK5gC,WAAL,CAAiB4/B,SAAjB,GAA6BuJ,UAA7B,CAAyC,mDAAkD7rB,GAAI,EAA/F,EAHgD,CAIhD;;AACA,YAAIsQ,OAAO,CAACwb,SAAZ,EAAuB;AACnB,iBAAOJ,MAAM,CAACD,gBAAP,CAAwBM,IAAxB,CAA6B,IAA7B,EAAmC/rB,GAAnC,EAAwCsQ,OAAxC,CAAP;AACH,SAFD,MAGK;AACD;AACA,gBAAM0b,aAAa,GAAG,IAAIlM,2DAAJ,CAAc9f,GAAd,EAAmBipB,gBAAnB,EAAtB;AACA,gBAAMgD,MAAM,GAAGD,aAAa,CAAC3C,WAAd,GAA6B,GAAE2C,aAAa,CAAC1C,YAAa,IAAG0C,aAAa,CAAC3C,WAAY,EAAvF,GAA2F,KAAKrnB,QAAL,CAAcyiB,SAAd,CAAwBuH,aAAa,CAAC1C,YAAtC,CAA1G;AACA,eAAKnrB,MAAL,CAAY+tB,aAAZ,CAA0BD,MAA1B,EAAkC;AAAEE,YAAAA,UAAU,EAAE7b,OAAO,CAACwb;AAAtB,WAAlC;AACH;;AACD,eAAOM,OAAO,CAACC,OAAR,CAAgB/b,OAAO,CAACwb,SAAxB,CAAP;AACH,OAfe,CAAhB;AAgBH;;AA3BqD;;AA6B1DN,EAAAA,0BAA0B,CAAC9I,IAA3B,GAAkC,SAAS4J,kCAAT,CAA4C1J,CAA5C,EAA+C;AAAE,WAAO,KAAKA,CAAC,IAAI4I,0BAAV,EAAsC/K,sDAAA,CAAgBO,WAAhB,CAAtC,EAAoEP,sDAAA,CAAgBE,oDAAhB,CAApE,EAAoGF,sDAAA,CAAgBC,qDAAhB,CAApG,CAAP;AAA+I,GAAlO;;AACA8K,EAAAA,0BAA0B,CAAC1I,KAA3B,GAAmC,aAAcrC,gEAAA,CAA0B;AAAEuC,IAAAA,KAAK,EAAEwI,0BAAT;AAAqCv6B,IAAAA,OAAO,EAAEu6B,0BAA0B,CAAC9I;AAAzE,GAA1B,CAAjD;SA9BM8I;;;AAoCN,CAAC,YAAY;AAAE,GAAC,OAAOvI,SAAP,KAAqB,WAArB,IAAoCA,SAArC;AAEsG,CAFrH;AAIA;AACA;AACA;AACA;;AAEA;AACA;AACA;;;;;;;;;;;;;;;;;;;;;;;;ACtqBA;AACa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;;AAEA,IAAIsJ,aAAa,GAAG,UAASC,CAAT,EAAYC,CAAZ,EAAe;AAC/BF,EAAAA,aAAa,GAAGxH,MAAM,CAAC2H,cAAP,IACX;AAAEC,IAAAA,SAAS,EAAE;AAAb,eAA6B5E,KAA7B,IAAsC,UAAUyE,CAAV,EAAaC,CAAb,EAAgB;AAAED,IAAAA,CAAC,CAACG,SAAF,GAAcF,CAAd;AAAkB,GAD/D,IAEZ,UAAUD,CAAV,EAAaC,CAAb,EAAgB;AAAE,SAAK,IAAIG,CAAT,IAAcH,CAAd,EAAiB,IAAI1H,MAAM,CAAC8H,SAAP,CAAiBC,cAAjB,CAAgCf,IAAhC,CAAqCU,CAArC,EAAwCG,CAAxC,CAAJ,EAAgDJ,CAAC,CAACI,CAAD,CAAD,GAAOH,CAAC,CAACG,CAAD,CAAR;AAAc,GAFrG;;AAGA,SAAOL,aAAa,CAACC,CAAD,EAAIC,CAAJ,CAApB;AACH,CALD;;AAOA,SAASM,SAAT,CAAmBP,CAAnB,EAAsBC,CAAtB,EAAyB;AACrBF,EAAAA,aAAa,CAACC,CAAD,EAAIC,CAAJ,CAAb;;AACA,WAASO,EAAT,GAAc;AAAE,SAAK3qC,WAAL,GAAmBmqC,CAAnB;AAAuB;;AACvCA,EAAAA,CAAC,CAACK,SAAF,GAAcJ,CAAC,KAAK,IAAN,GAAa1H,MAAM,CAAC4G,MAAP,CAAcc,CAAd,CAAb,IAAiCO,EAAE,CAACH,SAAH,GAAeJ,CAAC,CAACI,SAAjB,EAA4B,IAAIG,EAAJ,EAA7D,CAAd;AACH;;AAED,IAAIC,QAAQ,GAAG,YAAW;AACtBA,EAAAA,QAAQ,GAAGlI,MAAM,CAACC,MAAP,IAAiB,SAASiI,QAAT,CAAkBrK,CAAlB,EAAqB;AAC7C,SAAK,IAAIsK,CAAJ,EAAO3zB,CAAC,GAAG,CAAX,EAAc4zB,CAAC,GAAGC,SAAS,CAAC79B,MAAjC,EAAyCgK,CAAC,GAAG4zB,CAA7C,EAAgD5zB,CAAC,EAAjD,EAAqD;AACjD2zB,MAAAA,CAAC,GAAGE,SAAS,CAAC7zB,CAAD,CAAb;;AACA,WAAK,IAAIqzB,CAAT,IAAcM,CAAd,EAAiB,IAAInI,MAAM,CAAC8H,SAAP,CAAiBC,cAAjB,CAAgCf,IAAhC,CAAqCmB,CAArC,EAAwCN,CAAxC,CAAJ,EAAgDhK,CAAC,CAACgK,CAAD,CAAD,GAAOM,CAAC,CAACN,CAAD,CAAR;AACpE;;AACD,WAAOhK,CAAP;AACH,GAND;;AAOA,SAAOqK,QAAQ,CAACI,KAAT,CAAe,IAAf,EAAqBD,SAArB,CAAP;AACH,CATD;;AAWA,SAASE,MAAT,CAAgBJ,CAAhB,EAAmBK,CAAnB,EAAsB;AAClB,MAAI3K,CAAC,GAAG,EAAR;;AACA,OAAK,IAAIgK,CAAT,IAAcM,CAAd,EAAiB,IAAInI,MAAM,CAAC8H,SAAP,CAAiBC,cAAjB,CAAgCf,IAAhC,CAAqCmB,CAArC,EAAwCN,CAAxC,KAA8CW,CAAC,CAACvyB,OAAF,CAAU4xB,CAAV,IAAe,CAAjE,EACbhK,CAAC,CAACgK,CAAD,CAAD,GAAOM,CAAC,CAACN,CAAD,CAAR;;AACJ,MAAIM,CAAC,IAAI,IAAL,IAAa,OAAOnI,MAAM,CAACyI,qBAAd,KAAwC,UAAzD,EACI,KAAK,IAAIj0B,CAAC,GAAG,CAAR,EAAWqzB,CAAC,GAAG7H,MAAM,CAACyI,qBAAP,CAA6BN,CAA7B,CAApB,EAAqD3zB,CAAC,GAAGqzB,CAAC,CAACr9B,MAA3D,EAAmEgK,CAAC,EAApE,EAAwE;AACpE,QAAIg0B,CAAC,CAACvyB,OAAF,CAAU4xB,CAAC,CAACrzB,CAAD,CAAX,IAAkB,CAAlB,IAAuBwrB,MAAM,CAAC8H,SAAP,CAAiBY,oBAAjB,CAAsC1B,IAAtC,CAA2CmB,CAA3C,EAA8CN,CAAC,CAACrzB,CAAD,CAA/C,CAA3B,EACIqpB,CAAC,CAACgK,CAAC,CAACrzB,CAAD,CAAF,CAAD,GAAU2zB,CAAC,CAACN,CAAC,CAACrzB,CAAD,CAAF,CAAX;AACP;AACL,SAAOqpB,CAAP;AACH;;AAED,SAASpC,SAAT,CAAmBkN,OAAnB,EAA4BC,UAA5B,EAAwCC,CAAxC,EAA2CC,SAA3C,EAAsD;AAClD,WAASC,KAAT,CAAeh6B,KAAf,EAAsB;AAAE,WAAOA,KAAK,YAAY85B,CAAjB,GAAqB95B,KAArB,GAA6B,IAAI85B,CAAJ,CAAM,UAAUvB,OAAV,EAAmB;AAAEA,MAAAA,OAAO,CAACv4B,KAAD,CAAP;AAAiB,KAA5C,CAApC;AAAoF;;AAC5G,SAAO,KAAK85B,CAAC,KAAKA,CAAC,GAAGxB,OAAT,CAAN,EAAyB,UAAUC,OAAV,EAAmB0B,MAAnB,EAA2B;AACvD,aAASC,SAAT,CAAmBl6B,KAAnB,EAA0B;AAAE,UAAI;AAAEm6B,QAAAA,IAAI,CAACJ,SAAS,CAACrgC,IAAV,CAAesG,KAAf,CAAD,CAAJ;AAA8B,OAApC,CAAqC,OAAOy5B,CAAP,EAAU;AAAEQ,QAAAA,MAAM,CAACR,CAAD,CAAN;AAAY;AAAE;;AAC3F,aAASW,QAAT,CAAkBp6B,KAAlB,EAAyB;AAAE,UAAI;AAAEm6B,QAAAA,IAAI,CAACJ,SAAS,CAAC,OAAD,CAAT,CAAmB/5B,KAAnB,CAAD,CAAJ;AAAkC,OAAxC,CAAyC,OAAOy5B,CAAP,EAAU;AAAEQ,QAAAA,MAAM,CAACR,CAAD,CAAN;AAAY;AAAE;;AAC9F,aAASU,IAAT,CAAc15B,MAAd,EAAsB;AAAEA,MAAAA,MAAM,CAAC45B,IAAP,GAAc9B,OAAO,CAAC93B,MAAM,CAACT,KAAR,CAArB,GAAsCg6B,KAAK,CAACv5B,MAAM,CAACT,KAAR,CAAL,CAAoB1J,IAApB,CAAyB4jC,SAAzB,EAAoCE,QAApC,CAAtC;AAAsF;;AAC9GD,IAAAA,IAAI,CAAC,CAACJ,SAAS,GAAGA,SAAS,CAACR,KAAV,CAAgBK,OAAhB,EAAyBC,UAAU,IAAI,EAAvC,CAAb,EAAyDngC,IAAzD,EAAD,CAAJ;AACH,GALM,CAAP;AAMH;;AAED,SAAS4gC,WAAT,CAAqBV,OAArB,EAA8BzzB,IAA9B,EAAoC;AAChC,MAAIo0B,CAAC,GAAG;AAAEC,IAAAA,KAAK,EAAE,CAAT;AAAYC,IAAAA,IAAI,EAAE,YAAW;AAAE,UAAI3L,CAAC,CAAC,CAAD,CAAD,GAAO,CAAX,EAAc,MAAMA,CAAC,CAAC,CAAD,CAAP;AAAY,aAAOA,CAAC,CAAC,CAAD,CAAR;AAAc,KAAvE;AAAyE4L,IAAAA,IAAI,EAAE,EAA/E;AAAmFC,IAAAA,GAAG,EAAE;AAAxF,GAAR;AAAA,MAAsGC,CAAtG;AAAA,MAAyGC,CAAzG;AAAA,MAA4G/L,CAA5G;AAAA,MAA+GgM,CAA/G;AACA,SAAOA,CAAC,GAAG;AAAEphC,IAAAA,IAAI,EAAEqhC,IAAI,CAAC,CAAD,CAAZ;AAAiB,aAASA,IAAI,CAAC,CAAD,CAA9B;AAAmC,cAAUA,IAAI,CAAC,CAAD;AAAjD,GAAJ,EAA4D,OAAOC,MAAP,KAAkB,UAAlB,KAAiCF,CAAC,CAACE,MAAM,CAACC,QAAR,CAAD,GAAqB,YAAW;AAAE,WAAO,IAAP;AAAc,GAAjF,CAA5D,EAAgJH,CAAvJ;;AACA,WAASC,IAAT,CAAc1B,CAAd,EAAiB;AAAE,WAAO,UAAUp0B,CAAV,EAAa;AAAE,aAAOk1B,IAAI,CAAC,CAACd,CAAD,EAAIp0B,CAAJ,CAAD,CAAX;AAAsB,KAA5C;AAA+C;;AAClE,WAASk1B,IAAT,CAAce,EAAd,EAAkB;AACd,QAAIN,CAAJ,EAAO,MAAM,IAAIO,SAAJ,CAAc,iCAAd,CAAN;;AACP,WAAOZ,CAAP,EAAU,IAAI;AACV,UAAIK,CAAC,GAAG,CAAJ,EAAOC,CAAC,KAAK/L,CAAC,GAAGoM,EAAE,CAAC,CAAD,CAAF,GAAQ,CAAR,GAAYL,CAAC,CAAC,QAAD,CAAb,GAA0BK,EAAE,CAAC,CAAD,CAAF,GAAQL,CAAC,CAAC,OAAD,CAAD,KAAe,CAAC/L,CAAC,GAAG+L,CAAC,CAAC,QAAD,CAAN,KAAqB/L,CAAC,CAACmJ,IAAF,CAAO4C,CAAP,CAArB,EAAgC,CAA/C,CAAR,GAA4DA,CAAC,CAACnhC,IAAjG,CAAD,IAA2G,CAAC,CAACo1B,CAAC,GAAGA,CAAC,CAACmJ,IAAF,CAAO4C,CAAP,EAAUK,EAAE,CAAC,CAAD,CAAZ,CAAL,EAAuBb,IAA9I,EAAoJ,OAAOvL,CAAP;AACpJ,UAAI+L,CAAC,GAAG,CAAJ,EAAO/L,CAAX,EAAcoM,EAAE,GAAG,CAACA,EAAE,CAAC,CAAD,CAAF,GAAQ,CAAT,EAAYpM,CAAC,CAAC9uB,KAAd,CAAL;;AACd,cAAQk7B,EAAE,CAAC,CAAD,CAAV;AACI,aAAK,CAAL;AAAQ,aAAK,CAAL;AAAQpM,UAAAA,CAAC,GAAGoM,EAAJ;AAAQ;;AACxB,aAAK,CAAL;AAAQX,UAAAA,CAAC,CAACC,KAAF;AAAW,iBAAO;AAAEx6B,YAAAA,KAAK,EAAEk7B,EAAE,CAAC,CAAD,CAAX;AAAgBb,YAAAA,IAAI,EAAE;AAAtB,WAAP;;AACnB,aAAK,CAAL;AAAQE,UAAAA,CAAC,CAACC,KAAF;AAAWK,UAAAA,CAAC,GAAGK,EAAE,CAAC,CAAD,CAAN;AAAWA,UAAAA,EAAE,GAAG,CAAC,CAAD,CAAL;AAAU;;AACxC,aAAK,CAAL;AAAQA,UAAAA,EAAE,GAAGX,CAAC,CAACI,GAAF,CAAMtN,GAAN,EAAL;;AAAkBkN,UAAAA,CAAC,CAACG,IAAF,CAAOrN,GAAP;;AAAc;;AACxC;AACI,cAAI,EAAEyB,CAAC,GAAGyL,CAAC,CAACG,IAAN,EAAY5L,CAAC,GAAGA,CAAC,CAACrzB,MAAF,GAAW,CAAX,IAAgBqzB,CAAC,CAACA,CAAC,CAACrzB,MAAF,GAAW,CAAZ,CAAnC,MAAuDy/B,EAAE,CAAC,CAAD,CAAF,KAAU,CAAV,IAAeA,EAAE,CAAC,CAAD,CAAF,KAAU,CAAhF,CAAJ,EAAwF;AAAEX,YAAAA,CAAC,GAAG,CAAJ;AAAO;AAAW;;AAC5G,cAAIW,EAAE,CAAC,CAAD,CAAF,KAAU,CAAV,KAAgB,CAACpM,CAAD,IAAOoM,EAAE,CAAC,CAAD,CAAF,GAAQpM,CAAC,CAAC,CAAD,CAAT,IAAgBoM,EAAE,CAAC,CAAD,CAAF,GAAQpM,CAAC,CAAC,CAAD,CAAhD,CAAJ,EAA2D;AAAEyL,YAAAA,CAAC,CAACC,KAAF,GAAUU,EAAE,CAAC,CAAD,CAAZ;AAAiB;AAAQ;;AACtF,cAAIA,EAAE,CAAC,CAAD,CAAF,KAAU,CAAV,IAAeX,CAAC,CAACC,KAAF,GAAU1L,CAAC,CAAC,CAAD,CAA9B,EAAmC;AAAEyL,YAAAA,CAAC,CAACC,KAAF,GAAU1L,CAAC,CAAC,CAAD,CAAX;AAAgBA,YAAAA,CAAC,GAAGoM,EAAJ;AAAQ;AAAQ;;AACrE,cAAIpM,CAAC,IAAIyL,CAAC,CAACC,KAAF,GAAU1L,CAAC,CAAC,CAAD,CAApB,EAAyB;AAAEyL,YAAAA,CAAC,CAACC,KAAF,GAAU1L,CAAC,CAAC,CAAD,CAAX;;AAAgByL,YAAAA,CAAC,CAACI,GAAF,CAAM5F,IAAN,CAAWmG,EAAX;;AAAgB;AAAQ;;AACnE,cAAIpM,CAAC,CAAC,CAAD,CAAL,EAAUyL,CAAC,CAACI,GAAF,CAAMtN,GAAN;;AACVkN,UAAAA,CAAC,CAACG,IAAF,CAAOrN,GAAP;;AAAc;AAXtB;;AAaA6N,MAAAA,EAAE,GAAG/0B,IAAI,CAAC8xB,IAAL,CAAU2B,OAAV,EAAmBW,CAAnB,CAAL;AACH,KAjBS,CAiBR,OAAOd,CAAP,EAAU;AAAEyB,MAAAA,EAAE,GAAG,CAAC,CAAD,EAAIzB,CAAJ,CAAL;AAAaoB,MAAAA,CAAC,GAAG,CAAJ;AAAQ,KAjBzB,SAiBkC;AAAED,MAAAA,CAAC,GAAG9L,CAAC,GAAG,CAAR;AAAY;;AAC1D,QAAIoM,EAAE,CAAC,CAAD,CAAF,GAAQ,CAAZ,EAAe,MAAMA,EAAE,CAAC,CAAD,CAAR;AAAa,WAAO;AAAEl7B,MAAAA,KAAK,EAAEk7B,EAAE,CAAC,CAAD,CAAF,GAAQA,EAAE,CAAC,CAAD,CAAV,GAAgB,KAAK,CAA9B;AAAiCb,MAAAA,IAAI,EAAE;AAAvC,KAAP;AAC/B;AACJ;;AAED,SAASe,MAAT,CAAgBC,CAAhB,EAAmBhC,CAAnB,EAAsB;AAClB,MAAIiC,CAAC,GAAG,OAAON,MAAP,KAAkB,UAAlB,IAAgCK,CAAC,CAACL,MAAM,CAACC,QAAR,CAAzC;AACA,MAAI,CAACK,CAAL,EAAQ,OAAOD,CAAP;AACR,MAAI51B,CAAC,GAAG61B,CAAC,CAACrD,IAAF,CAAOoD,CAAP,CAAR;AAAA,MAAmBE,CAAnB;AAAA,MAAsBC,EAAE,GAAG,EAA3B;AAAA,MAA+B/B,CAA/B;;AACA,MAAI;AACA,WAAO,CAACJ,CAAC,KAAK,KAAK,CAAX,IAAgBA,CAAC,KAAK,CAAvB,KAA6B,CAAC,CAACkC,CAAC,GAAG91B,CAAC,CAAC/L,IAAF,EAAL,EAAe2gC,IAApD,EAA0DmB,EAAE,CAACzG,IAAH,CAAQwG,CAAC,CAACv7B,KAAV;AAC7D,GAFD,CAGA,OAAOmF,KAAP,EAAc;AAAEs0B,IAAAA,CAAC,GAAG;AAAEt0B,MAAAA,KAAK,EAAEA;AAAT,KAAJ;AAAuB,GAHvC,SAIQ;AACJ,QAAI;AACA,UAAIo2B,CAAC,IAAI,CAACA,CAAC,CAAClB,IAAR,KAAiBiB,CAAC,GAAG71B,CAAC,CAAC,QAAD,CAAtB,CAAJ,EAAuC61B,CAAC,CAACrD,IAAF,CAAOxyB,CAAP;AAC1C,KAFD,SAGQ;AAAE,UAAIg0B,CAAJ,EAAO,MAAMA,CAAC,CAACt0B,KAAR;AAAgB;AACpC;;AACD,SAAOq2B,EAAP;AACH;;AAED,SAASC,QAAT,GAAoB;AAChB,OAAK,IAAID,EAAE,GAAG,EAAT,EAAa/1B,CAAC,GAAG,CAAtB,EAAyBA,CAAC,GAAG6zB,SAAS,CAAC79B,MAAvC,EAA+CgK,CAAC,EAAhD,EACI+1B,EAAE,GAAGA,EAAE,CAACE,MAAH,CAAUN,MAAM,CAAC9B,SAAS,CAAC7zB,CAAD,CAAV,CAAhB,CAAL;;AACJ,SAAO+1B,EAAP;AACH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACjHD;AACa;;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;;AACA,IAAIiC,iBAAiB;AAAG;AAAe,YAAY;AAC/C;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACI,WAASA,iBAAT,CAA2BhgB,aAA3B,EAA0C;AACtC;AACR;AACA;AACA;AACA;AACQ,SAAKigB,oBAAL,GAA4B,OAAOzvB,MAAP,KAAkB,WAA9C,CANsC,CAOtC;;AACA,SAAKzf,MAAL,GAAc+tC,4EAAkB,CAAC9e,aAAD,EAAgB,KAAKigB,oBAArB,CAAhC;AACA,SAAKC,WAAL,GAAmB,KAAnB,CATsC,CAUtC;;AACA,SAAKlP,MAAL,GAAc,IAAIyN,sDAAJ,CAAW,KAAK1tC,MAAL,CAAY27B,MAAZ,CAAmBC,aAA9B,EAA6C9qB,qDAA7C,EAAmD5P,wDAAnD,CAAd,CAXsC,CAYtC;;AACA,SAAKkuC,aAAL,GAAqB,KAAKpvC,MAAL,CAAY27B,MAAZ,CAAmByT,aAAxC,CAbsC,CActC;;AACA,SAAKC,gBAAL,GAAwB,KAAKrvC,MAAL,CAAY27B,MAAZ,CAAmB0T,gBAA3C,CAfsC,CAgBtC;;AACA,SAAKC,gBAAL,GAAwB,IAAIC,GAAJ,EAAxB,CAjBsC,CAkBtC;;AACA,SAAKC,uBAAL,GAA+B,IAAID,GAAJ,EAA/B,CAnBsC,CAoBtC;;AACA,SAAKE,iBAAL,GAAyB,KAAKP,oBAAL,GACrB,IAAIF,4FAAJ,CAA6B,KAAKhvC,MAAL,CAAYm7B,IAAZ,CAAiBC,QAA9C,EAAwD,KAAKp7B,MAAL,CAAYm7B,IAAZ,CAAiBE,SAAzE,EAAoF,KAAK4E,MAAzF,EAAiGnvB,qDAAjG,EAAuG5P,wDAAvG,EAAgH,KAAKlB,MAAL,CAAY0vC,SAAZ,CAAsBC,WAAtI,EAAmJ,KAAK3vC,MAAL,CAAY27B,MAAZ,CAAmBiU,aAAtK,CADqB,GAErB,IAAIjC,qEAAJ,CAA0B,KAAK3tC,MAAL,CAAYm7B,IAAZ,CAAiBC,QAA3C,EAAqD,KAAKp7B,MAAL,CAAYm7B,IAAZ,CAAiBE,SAAtE,EAAiF,KAAK4E,MAAtF,EAA8FnvB,qDAA9F,EAAoG5P,wDAApG,EAA6G,KAAKlB,MAAL,CAAY0vC,SAAZ,CAAsBC,WAAnI,CAFJ,CArBsC,CAwBtC;;AACA,SAAKE,aAAL,GAAqB,KAAKX,oBAAL,GAA4B,IAAI/B,2DAAJ,CAAc,KAAKlN,MAAnB,EAA2B,KAAKwP,iBAAhC,EAAmD,KAAKzvC,MAAL,CAAY27B,MAAZ,CAAmBiU,aAAtE,CAA5B,GAAmHhC,6EAAxI;AACA,SAAKkC,YAAL,GAAoB,IAAI1B,gEAAJ,CAAiB,KAAKnO,MAAtB,EAA8B,KAAK4P,aAAnC,CAApB,CA1BsC,CA2BtC;;AACA,SAAKE,cAAL,GAAsB,KAAKb,oBAAL,GAClB,IAAIrB,8EAAJ,CAAwB,KAAK7tC,MAAL,CAAYm7B,IAAZ,CAAiBC,QAAzC,EAAmD,KAAKp7B,MAAL,CAAYu7B,KAA/D,EAAsE,KAAKsU,aAA3E,EAA0F,KAAK5P,MAA/F,CADkB,GAElB6N,4FAA6B,CAAC,KAAK9tC,MAAL,CAAYm7B,IAAZ,CAAiBC,QAAlB,EAA4B,KAAK6E,MAAjC,CAFjC,CA5BsC,CA+BtC;;AACA,QAAI+P,kBAAkB,GAAG;AACrBxU,MAAAA,aAAa,EAAEP,0FADM;AAErBS,MAAAA,sBAAsB,EAAE,KAFH;AAGrBwU,MAAAA,aAAa,EAAE;AAHM,KAAzB;AAKA,SAAKC,qBAAL,GAA6B,IAAItC,8EAAJ,CAAwB,KAAK7tC,MAAL,CAAYm7B,IAAZ,CAAiBC,QAAzC,EAAmD4U,kBAAnD,EAAuE,KAAKH,aAA5E,EAA2F,KAAK5P,MAAhG,CAA7B,CArCsC,CAsCtC;;AACA,SAAKmQ,UAAL,GAAkB,IAAI3B,6DAAJ,CAAe,KAAKzuC,MAApB,EAA4B,KAAK+vC,cAAjC,EAAiD,KAAK9P,MAAtD,EAA8D,KAAK4P,aAAnE,CAAlB;AACH;AACD;AACJ;AACA;;;AACIZ,EAAAA,iBAAiB,CAAC1E,SAAlB,CAA4BtL,UAA5B,GAAyC,YAAY;AACjD,WAAOf,6DAAS,CAAC,IAAD,EAAO,KAAK,CAAZ,EAAe,KAAK,CAApB,EAAuB,YAAY;AAC/C,UAAImS,EAAJ,EAAQC,GAAR;;AACA,aAAOxE,+DAAW,CAAC,IAAD,EAAO,UAAUyE,EAAV,EAAc;AACnC,gBAAQA,EAAE,CAACvE,KAAX;AACI,eAAK,CAAL;AACI,iBAAK/L,MAAL,CAAYqJ,KAAZ,CAAkB,mBAAlB;;AACA,gBAAI,KAAK6F,WAAT,EAAsB;AAClB,mBAAKlP,MAAL,CAAY3Z,IAAZ,CAAiB,oDAAjB;AACA,qBAAO,CAAC;AAAE;AAAH,eAAP;AACH;;AACD,iBAAKwpB,YAAL,CAAkBnxB,SAAlB,CAA4BwvB,4EAA5B;AACA,gBAAI,CAAC,KAAKnuC,MAAL,CAAY27B,MAAZ,CAAmB8U,iBAAxB,EAA2C,OAAO,CAAC;AAAE;AAAH,cAAc,CAAd,CAAP;AAC3CF,YAAAA,EAAE,CAACvE,KAAH,GAAW,CAAX;;AACJ,eAAK,CAAL;AACIuE,YAAAA,EAAE,CAACrE,IAAH,CAAQ3F,IAAR,CAAa,CAAC,CAAD,EAAI,CAAJ,GAAS,CAAT,CAAb;;AACA8J,YAAAA,EAAE,GAAG,IAAL;AACA,mBAAO,CAAC;AAAE;AAAH,cAAc1B,8GAAA,CAAoC,KAAK1O,MAAzC,EAAiD,KAAKjgC,MAAL,CAAY27B,MAAZ,CAAmBgV,4BAApE,CAAd,CAAP;;AACJ,eAAK,CAAL;AACIN,YAAAA,EAAE,CAACO,uBAAH,GAA6BL,EAAE,CAACtE,IAAH,EAA7B;AACA,mBAAO,CAAC;AAAE;AAAH,cAAc,CAAd,CAAP;;AACJ,eAAK,CAAL;AACIqE,YAAAA,GAAG,GAAGC,EAAE,CAACtE,IAAH,EAAN;AACA,iBAAKhM,MAAL,CAAYe,OAAZ,CAAoBsP,GAApB;AACA,mBAAO,CAAC;AAAE;AAAH,cAAc,CAAd,CAAP;;AACJ,eAAK,CAAL;AACI,iBAAKnB,WAAL,GAAmB,IAAnB;AACA,iBAAKW,YAAL,CAAkBnxB,SAAlB,CAA4BwvB,0EAA5B;AACA,mBAAO,CAAC;AAAE;AAAH,aAAP;AAxBR;AA0BH,OA3BiB,CAAlB;AA4BH,KA9Be,CAAhB;AA+BH,GAhCD,CAlE+C,CAmG/C;;AACA;AACJ;AACA;AACA;AACA;AACA;AACA;;;AACIc,EAAAA,iBAAiB,CAAC1E,SAAlB,CAA4B/K,qBAA5B,GAAoD,UAAUZ,IAAV,EAAgB;AAChE,WAAOV,6DAAS,CAAC,IAAD,EAAO,KAAK,CAAZ,EAAe,KAAK,CAApB,EAAuB,YAAY;AAC/C,UAAI4S,gBAAJ,EAAsBC,mBAAtB,EAA2ClO,QAA3C,EAAqD1D,OAArD,EAA8DmQ,gBAA9D,EAAgF0B,YAAhF,EAA8FC,aAA9F,EAA6GC,cAA7G;;AACA,UAAIC,KAAK,GAAG,IAAZ;;AACA,aAAOrF,+DAAW,CAAC,IAAD,EAAO,UAAUuE,EAAV,EAAc;AACnC,aAAKpQ,MAAL,CAAYe,OAAZ,CAAoB,8BAApB,EADmC,CAEnC;;AACAvD,QAAAA,0GAAA,CAAsD,KAAKz9B,MAAL,CAAY27B,MAAZ,CAAmB8U,iBAAzE,EAA4F,KAAKtB,WAAjG;AACA2B,QAAAA,gBAAgB,GAAG,KAAKpN,cAAL,EAAnB;;AACA,YAAI,KAAKwL,oBAAT,EAA+B;AAC3B6B,UAAAA,mBAAmB,GAAGnS,IAAI,IAAIwO,uEAA9B;AACAvK,UAAAA,QAAQ,GAAG,KAAKyM,gBAAL,CAAsBvuC,GAAtB,CAA0BgwC,mBAA1B,CAAX;;AACA,cAAI,OAAOlO,QAAP,KAAoB,WAAxB,EAAqC;AACjC,iBAAKiN,YAAL,CAAkBnxB,SAAlB,CAA4BwvB,iFAA5B,EAA6D7Q,gFAA7D;AACA,iBAAK2C,MAAL,CAAYe,OAAZ,CAAoB,+EAApB;AACA7B,YAAAA,OAAO,GAAG,KAAK4Q,cAAL,CAAoBwB,sBAApB,EAAV;AACAjC,YAAAA,gBAAgB,GAAG,KAAK,CAAxB;;AACA,gBAAInQ,OAAO,IAAIwP,iHAAA,CAAuC,KAAK3uC,MAA5C,EAAoD,KAAKigC,MAAzD,EAAiE,KAAK2Q,uBAAtE,CAAX,IAA6G,KAAKA,uBAAlH,IAA6I,CAAChS,IAAlJ,EAAwJ;AACpJ,mBAAKqB,MAAL,CAAYqJ,KAAZ,CAAkB,8DAAlB;AACA0H,cAAAA,YAAY,GAAG,IAAItC,oGAAJ,CAA4B,KAAK1uC,MAAjC,EAAyC,KAAK+vC,cAA9C,EAA8D,KAAKF,aAAnE,EAAkF,KAAK5P,MAAvF,EAA+F,KAAK6P,YAApG,EAAkH,KAAKT,gBAAvH,EAAyIrB,mFAAzI,EAAsK,KAAKyB,iBAA3K,EAA8L,KAAKmB,uBAAnM,EAA4NzR,OAAO,CAACsS,SAApO,EAA+O,KAAKtB,qBAApP,EAA2QhR,OAAO,CAAC8R,aAAnR,CAAf;AACA3B,cAAAA,gBAAgB,GAAG0B,YAAY,CAACxR,qBAAb,EAAnB;AACH,aAJD,MAKK;AACD,mBAAKS,MAAL,CAAYqJ,KAAZ,CAAkB,uDAAlB;AACA2H,cAAAA,aAAa,GAAG,KAAKlB,cAAL,CAAoB2B,iBAApB,CAAsCzD,yFAAtC,EAAyE,IAAzE,KAAkFb,uEAAlG;AACA8D,cAAAA,cAAc,GAAG,KAAKU,oBAAL,CAA0BX,aAA1B,CAAjB;AACA3B,cAAAA,gBAAgB,GAAG4B,cAAc,CAAC1R,qBAAf,CAAqCZ,IAArC,CAAnB;AACH;;AACDiE,YAAAA,QAAQ,GAAGyM,gBAAgB,CAACxnC,IAAjB,CAAsB,UAAUmK,MAAV,EAAkB;AAC/C,kBAAIA,MAAJ,EAAY;AACR;AACA,oBAAI4/B,WAAW,GAAGf,gBAAgB,CAAC7jC,MAAjB,GAA0BkkC,KAAK,CAACzN,cAAN,GAAuBz2B,MAAnE;;AACA,oBAAI4kC,WAAJ,EAAiB;AACbV,kBAAAA,KAAK,CAACrB,YAAN,CAAmBnxB,SAAnB,CAA6BwvB,yEAA7B,EAAsD7Q,gFAAtD,EAAgFrrB,MAAhF;;AACAk/B,kBAAAA,KAAK,CAAClR,MAAN,CAAae,OAAb,CAAqB,uDAArB;AACH,iBAHD,MAIK;AACDmQ,kBAAAA,KAAK,CAACrB,YAAN,CAAmBnxB,SAAnB,CAA6BwvB,iFAA7B,EAA8D7Q,gFAA9D,EAAwFrrB,MAAxF;;AACAk/B,kBAAAA,KAAK,CAAClR,MAAN,CAAae,OAAb,CAAqB,+DAArB;AACH;AACJ;;AACDmQ,cAAAA,KAAK,CAACrB,YAAN,CAAmBnxB,SAAnB,CAA6BwvB,+EAA7B,EAA4D7Q,gFAA5D;;AACA,qBAAOrrB,MAAP;AACH,aAfU,EAeRuqB,KAfQ,CAeF,UAAUyO,CAAV,EAAa;AAClB;AACA,kBAAI6F,gBAAgB,CAAC7jC,MAAjB,GAA0B,CAA9B,EAAiC;AAC7BkkC,gBAAAA,KAAK,CAACrB,YAAN,CAAmBnxB,SAAnB,CAA6BwvB,iFAA7B,EAA8D7Q,gFAA9D,EAAwF,IAAxF,EAA8F2N,CAA9F;AACH,eAFD,MAGK;AACDkG,gBAAAA,KAAK,CAACrB,YAAN,CAAmBnxB,SAAnB,CAA6BwvB,yEAA7B,EAAsD7Q,gFAAtD,EAAgF,IAAhF,EAAsF2N,CAAtF;AACH;;AACDkG,cAAAA,KAAK,CAACrB,YAAN,CAAmBnxB,SAAnB,CAA6BwvB,+EAA7B,EAA4D7Q,gFAA5D;;AACA,oBAAM2N,CAAN;AACH,aAzBU,CAAX;AA0BA,iBAAKqE,gBAAL,CAAsBlK,GAAtB,CAA0B2L,mBAA1B,EAA+ClO,QAA/C;AACH,WA3CD,MA4CK;AACD,iBAAK5C,MAAL,CAAYe,OAAZ,CAAoB,4FAApB;AACH;;AACD,iBAAO,CAAC;AAAE;AAAH,YAAe6B,QAAf,CAAP;AACH;;AACD,aAAK5C,MAAL,CAAYe,OAAZ,CAAoB,6DAApB;AACA,eAAO,CAAC;AAAE;AAAH,UAAe,IAAf,CAAP;AACH,OA3DiB,CAAlB;AA4DH,KA/De,CAAhB;AAgEH,GAjED;AAkEA;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACIiO,EAAAA,iBAAiB,CAAC1E,SAAlB,CAA4BnL,oBAA5B,GAAmD,UAAUD,OAAV,EAAmB;AAClE,WAAOjB,6DAAS,CAAC,IAAD,EAAO,KAAK,CAAZ,EAAe,KAAK,CAApB,EAAuB,YAAY;AAC/C,UAAI+S,aAAJ,EAAmBkB,UAAnB,EAA+BlgC,MAA/B,EAAuC++B,YAAvC,EAAqDE,cAArD;;AACA,UAAIC,KAAK,GAAG,IAAZ;;AACA,aAAOrF,+DAAW,CAAC,IAAD,EAAO,UAAUuE,EAAV,EAAc;AACnCY,QAAAA,aAAa,GAAG,KAAKmB,uBAAL,CAA6BjT,OAA7B,CAAhB;AACA,aAAKc,MAAL,CAAYe,OAAZ,CAAoB,6BAApB,EAAmDiQ,aAAnD;AACA,aAAKoB,gCAAL,CAAsC/U,gFAAtC;AACA6U,QAAAA,UAAU,GAAG,KAAKzO,cAAL,GAAsBz2B,MAAtB,GAA+B,CAA5C;;AACA,YAAIklC,UAAJ,EAAgB;AACZ,eAAKrC,YAAL,CAAkBnxB,SAAlB,CAA4BwvB,+EAA5B,EAA2D7Q,gFAA3D,EAAqF6B,OAArF;AACH,SAFD,MAGK;AACD,eAAK2Q,YAAL,CAAkBnxB,SAAlB,CAA4BwvB,uEAA5B,EAAmD7Q,gFAAnD,EAA6E6B,OAA7E;AACH;;AACD,YAAI,KAAKyR,uBAAL,IAAgC,KAAK4B,YAAL,CAAkBrT,OAAlB,CAApC,EAAgE;AAC5D6R,UAAAA,YAAY,GAAG,IAAItC,oGAAJ,CAA4B,KAAK1uC,MAAjC,EAAyC,KAAK+vC,cAA9C,EAA8D,KAAKF,aAAnE,EAAkF,KAAK5P,MAAvF,EAA+F,KAAK6P,YAApG,EAAkH,KAAKT,gBAAvH,EAAyIrB,kFAAzI,EAAqK,KAAKyB,iBAA1K,EAA6L,KAAKmB,uBAAlM,EAA2N,KAAK6B,kBAAL,CAAwBtT,OAAxB,CAA3N,EAA6P,KAAKgR,qBAAlQ,EAAyRhR,OAAO,CAAC8R,aAAjS,CAAf;AACAh/B,UAAAA,MAAM,GAAG++B,YAAY,CAAC5R,oBAAb,CAAkCD,OAAlC,EAA2C3C,KAA3C,CAAiD,UAAUyO,CAAV,EAAa;AACnE,gBAAIA,CAAC,YAAY2D,uEAAb,IAAgC3D,CAAC,CAACyH,OAAF,EAApC,EAAiD;AAC7CvB,cAAAA,KAAK,CAACP,uBAAN,GAAgC+B,SAAhC,CAD6C,CACF;;AAC3C,kBAAIzB,cAAc,GAAGC,KAAK,CAACS,oBAAN,CAA2BzS,OAAO,CAAC8R,aAAnC,CAArB;;AACA,qBAAOC,cAAc,CAAC0B,YAAf,CAA4BzT,OAA5B,CAAP;AACH,aAJD,MAKK,IAAI8L,CAAC,YAAYoC,6EAAjB,EAA+C;AAChD8D,cAAAA,KAAK,CAAClR,MAAN,CAAae,OAAb,CAAqB,iHAArB;;AACA,kBAAIkQ,cAAc,GAAGC,KAAK,CAACS,oBAAN,CAA2BzS,OAAO,CAAC8R,aAAnC,CAArB;;AACA,qBAAOC,cAAc,CAAC0B,YAAf,CAA4BzT,OAA5B,CAAP;AACH;;AACDgS,YAAAA,KAAK,CAACpB,cAAN,CAAqB8C,wBAArB,CAA8C,KAA9C;;AACA,kBAAM5H,CAAN;AACH,WAbQ,CAAT;AAcH,SAhBD,MAiBK;AACDiG,UAAAA,cAAc,GAAG,KAAKU,oBAAL,CAA0BzS,OAAO,CAAC8R,aAAlC,CAAjB;AACAh/B,UAAAA,MAAM,GAAGi/B,cAAc,CAAC0B,YAAf,CAA4BzT,OAA5B,CAAT;AACH;;AACD,eAAO,CAAC;AAAE;AAAH,UAAeltB,MAAM,CAACuqB,KAAP,CAAa,UAAUyO,CAAV,EAAa;AACxC;AACA,cAAIkH,UAAJ,EAAgB;AACZhB,YAAAA,KAAK,CAACrB,YAAN,CAAmBnxB,SAAnB,CAA6BwvB,iFAA7B,EAA8D7Q,gFAA9D,EAAwF,IAAxF,EAA8F2N,CAA9F;AACH,WAFD,MAGK;AACDkG,YAAAA,KAAK,CAACrB,YAAN,CAAmBnxB,SAAnB,CAA6BwvB,yEAA7B,EAAsD7Q,gFAAtD,EAAgF,IAAhF,EAAsF2N,CAAtF;AACH;;AACD,gBAAMA,CAAN;AACH,SATiB,CAAf,CAAP;AAUH,OA1CiB,CAAlB;AA2CH,KA9Ce,CAAhB;AA+CH,GAhDD,CAtL+C,CAuO/C;AACA;;AACA;AACJ;AACA;AACA;AACA;AACA;AACA;;;AACIgE,EAAAA,iBAAiB,CAAC1E,SAAlB,CAA4BrL,iBAA5B,GAAgD,UAAUC,OAAV,EAAmB;AAC/D,QAAIgS,KAAK,GAAG,IAAZ;;AACA,QAAIF,aAAa,GAAG,KAAKmB,uBAAL,CAA6BjT,OAA7B,CAApB;AACA,QAAI2T,kBAAkB,GAAG,KAAKrD,iBAAL,CAAuBsD,gBAAvB,CAAwCzF,oFAAxC,EAA6E2D,aAA7E,CAAzB;;AACA,QAAI;AACA,WAAKhR,MAAL,CAAYe,OAAZ,CAAoB,0BAApB,EAAgDiQ,aAAhD;AACA,WAAKoB,gCAAL,CAAsC/U,6EAAtC;AACH,KAHD,CAIA,OAAO2N,CAAP,EAAU;AACN;AACA,aAAOnB,OAAO,CAAC2B,MAAR,CAAeR,CAAf,CAAP;AACH,KAX8D,CAY/D;;;AACA,QAAI6F,gBAAgB,GAAG,KAAKpN,cAAL,EAAvB;;AACA,QAAIoN,gBAAgB,CAAC7jC,MAAjB,GAA0B,CAA9B,EAAiC;AAC7B,WAAK6iC,YAAL,CAAkBnxB,SAAlB,CAA4BwvB,+EAA5B,EAA2D7Q,6EAA3D,EAAkF6B,OAAlF;AACH,KAFD,MAGK;AACD,WAAK2Q,YAAL,CAAkBnxB,SAAlB,CAA4BwvB,uEAA5B,EAAmD7Q,6EAAnD,EAA0E6B,OAA1E;AACH;;AACD,QAAIltB,MAAJ;;AACA,QAAI,KAAKugC,YAAL,CAAkBrT,OAAlB,CAAJ,EAAgC;AAC5BltB,MAAAA,MAAM,GAAG,KAAKghC,kBAAL,CAAwB9T,OAAxB,EAAiC6O,+EAAjC,EAA0DlmC,IAA1D,CAA+D,UAAU+6B,QAAV,EAAoB;AACxFsO,QAAAA,KAAK,CAACpB,cAAN,CAAqB8C,wBAArB,CAA8C,KAA9C;;AACAC,QAAAA,kBAAkB,CAACI,cAAnB,CAAkC;AAC9BC,UAAAA,OAAO,EAAE,IADqB;AAE9BC,UAAAA,cAAc,EAAE,IAFc;AAG9BC,UAAAA,SAAS,EAAExQ,QAAQ,CAACwQ;AAHU,SAAlC;AAKAP,QAAAA,kBAAkB,CAACQ,gBAAnB;AACA,eAAOzQ,QAAP;AACH,OATQ,EASNrG,KATM,CASA,UAAUyO,CAAV,EAAa;AAClB,YAAIA,CAAC,YAAY2D,uEAAb,IAAgC3D,CAAC,CAACyH,OAAF,EAApC,EAAiD;AAC7CvB,UAAAA,KAAK,CAACP,uBAAN,GAAgC+B,SAAhC,CAD6C,CACF;;AAC3C,cAAIY,WAAW,GAAGpC,KAAK,CAACqC,iBAAN,CAAwBrU,OAAO,CAAC8R,aAAhC,CAAlB;;AACA,iBAAOsC,WAAW,CAACX,YAAZ,CAAyBzT,OAAzB,CAAP;AACH,SAJD,MAKK,IAAI8L,CAAC,YAAYoC,6EAAjB,EAA+C;AAChD8D,UAAAA,KAAK,CAAClR,MAAN,CAAae,OAAb,CAAqB,8GAArB;;AACA,cAAIuS,WAAW,GAAGpC,KAAK,CAACqC,iBAAN,CAAwBrU,OAAO,CAAC8R,aAAhC,CAAlB;;AACA,iBAAOsC,WAAW,CAACX,YAAZ,CAAyBzT,OAAzB,CAAP;AACH;;AACDgS,QAAAA,KAAK,CAACpB,cAAN,CAAqB8C,wBAArB,CAA8C,KAA9C;;AACA,cAAM5H,CAAN;AACH,OAtBQ,CAAT;AAuBH,KAxBD,MAyBK;AACD,UAAIsI,WAAW,GAAG,KAAKC,iBAAL,CAAuBrU,OAAO,CAAC8R,aAA/B,CAAlB;AACAh/B,MAAAA,MAAM,GAAGshC,WAAW,CAACX,YAAZ,CAAyBzT,OAAzB,CAAT;AACH;;AACD,WAAOltB,MAAM,CAACnK,IAAP,CAAY,UAAUmK,MAAV,EAAkB;AACjC;AACZ;AACA;AACY,UAAI4/B,WAAW,GAAGf,gBAAgB,CAAC7jC,MAAjB,GAA0BkkC,KAAK,CAACzN,cAAN,GAAuBz2B,MAAnE;;AACA,UAAI4kC,WAAJ,EAAiB;AACbV,QAAAA,KAAK,CAACrB,YAAN,CAAmBnxB,SAAnB,CAA6BwvB,yEAA7B,EAAsD7Q,6EAAtD,EAA6ErrB,MAA7E;AACH,OAFD,MAGK;AACDk/B,QAAAA,KAAK,CAACrB,YAAN,CAAmBnxB,SAAnB,CAA6BwvB,iFAA7B,EAA8D7Q,6EAA9D,EAAqFrrB,MAArF;AACH;;AACD6gC,MAAAA,kBAAkB,CAACW,eAAnB,CAAmC;AAC/BC,QAAAA,eAAe,EAAEzhC,MAAM,CAACizB,WAAP,CAAmBj4B,MADL;AAE/B0mC,QAAAA,WAAW,EAAE1hC,MAAM,CAAC2hC,OAAP,CAAe3mC;AAFG,OAAnC;AAIA6lC,MAAAA,kBAAkB,CAACI,cAAnB,CAAkC;AAC9BC,QAAAA,OAAO,EAAE,IADqB;AAE9BE,QAAAA,SAAS,EAAEphC,MAAM,CAACohC;AAFY,OAAlC;AAIAP,MAAAA,kBAAkB,CAACQ,gBAAnB;AACA,aAAOrhC,MAAP;AACH,KArBM,EAqBJuqB,KArBI,CAqBE,UAAUyO,CAAV,EAAa;AAClB,UAAI6F,gBAAgB,CAAC7jC,MAAjB,GAA0B,CAA9B,EAAiC;AAC7BkkC,QAAAA,KAAK,CAACrB,YAAN,CAAmBnxB,SAAnB,CAA6BwvB,iFAA7B,EAA8D7Q,6EAA9D,EAAqF,IAArF,EAA2F2N,CAA3F;AACH,OAFD,MAGK;AACDkG,QAAAA,KAAK,CAACrB,YAAN,CAAmBnxB,SAAnB,CAA6BwvB,yEAA7B,EAAsD7Q,6EAAtD,EAA6E,IAA7E,EAAmF2N,CAAnF;AACH;;AACD6H,MAAAA,kBAAkB,CAACI,cAAnB,CAAkC;AAC9BW,QAAAA,SAAS,EAAE5I,CAAC,CAAC4I,SADiB;AAE9BC,QAAAA,YAAY,EAAE7I,CAAC,CAAC8I,QAFc;AAG9BZ,QAAAA,OAAO,EAAE;AAHqB,OAAlC;AAKAL,MAAAA,kBAAkB,CAACQ,gBAAnB,GAZkB,CAalB;;AACA,aAAOxJ,OAAO,CAAC2B,MAAR,CAAeR,CAAf,CAAP;AACH,KApCM,CAAP;AAqCH,GAvFD,CAhP+C,CAwU/C;AACA;;AACA;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACIgE,EAAAA,iBAAiB,CAAC1E,SAAlB,CAA4BxK,SAA5B,GAAwC,UAAUZ,OAAV,EAAmB;AACvD,WAAOjB,6DAAS,CAAC,IAAD,EAAO,KAAK,CAAZ,EAAe,KAAK,CAApB,EAAuB,YAAY;AAC/C,UAAI+S,aAAJ,EAAmB+C,YAAnB,EAAiCC,oBAAjC,EAAuDhiC,MAAvD,EAA+DiiC,kBAA/D;;AACA,UAAI/C,KAAK,GAAG,IAAZ;;AACA,aAAOrF,+DAAW,CAAC,IAAD,EAAO,UAAUuE,EAAV,EAAc;AACnCY,QAAAA,aAAa,GAAG,KAAKmB,uBAAL,CAA6BjT,OAA7B,CAAhB;AACA6U,QAAAA,YAAY,GAAGrJ,4DAAQ,CAACA,4DAAQ,CAAC,EAAD,EAAKxL,OAAL,CAAT,EAAwB;AAC3C;AACAgV,UAAAA,MAAM,EAAEhV,OAAO,CAACgV,MAF2B;AAEnBlD,UAAAA,aAAa,EAAEA;AAFI,SAAxB,CAAvB;AAGA,aAAKoB,gCAAL,CAAsC/U,8EAAtC;AACA2W,QAAAA,oBAAoB,GAAG,KAAKxE,iBAAL,CAAuBsD,gBAAvB,CAAwCzF,4EAAxC,EAAqE2D,aAArE,CAAvB;AACA,aAAKhR,MAAL,CAAYe,OAAZ,CAAoB,kBAApB,EAAwCiQ,aAAxC;AACA,aAAKnB,YAAL,CAAkBnxB,SAAlB,CAA4BwvB,4EAA5B,EAAwD7Q,8EAAxD,EAAgF0W,YAAhF;;AACA,YAAI,KAAKxB,YAAL,CAAkBwB,YAAlB,CAAJ,EAAqC;AACjC/hC,UAAAA,MAAM,GAAG,KAAKghC,kBAAL,CAAwBe,YAAxB,EAAsChG,uEAAtC,EAAuDxR,KAAvD,CAA6D,UAAUyO,CAAV,EAAa;AAC/E;AACA,gBAAIA,CAAC,YAAY2D,uEAAb,IAAgC3D,CAAC,CAACyH,OAAF,EAApC,EAAiD;AAC7CvB,cAAAA,KAAK,CAACP,uBAAN,GAAgC+B,SAAhC,CAD6C,CACF;;AAC3C,kBAAIuB,kBAAkB,GAAG/C,KAAK,CAACoD,wBAAN,CAA+BP,YAAY,CAAC/C,aAA5C,CAAzB;;AACA,qBAAOiD,kBAAkB,CAACtB,YAAnB,CAAgCoB,YAAhC,CAAP;AACH;;AACD,kBAAM/I,CAAN;AACH,WARQ,CAAT;AASH,SAVD,MAWK;AACDiJ,UAAAA,kBAAkB,GAAG,KAAKK,wBAAL,CAA8BP,YAAY,CAAC/C,aAA3C,CAArB;AACAh/B,UAAAA,MAAM,GAAGiiC,kBAAkB,CAACtB,YAAnB,CAAgCoB,YAAhC,CAAT;AACH;;AACD,eAAO,CAAC;AAAE;AAAH,UAAe/hC,MAAM,CAACnK,IAAP,CAAY,UAAU+6B,QAAV,EAAoB;AAC9CsO,UAAAA,KAAK,CAACrB,YAAN,CAAmBnxB,SAAnB,CAA6BwvB,8EAA7B,EAA2D7Q,8EAA3D,EAAmFuF,QAAnF;;AACAoR,UAAAA,oBAAoB,CAACR,eAArB,CAAqC;AACjCC,YAAAA,eAAe,EAAE7Q,QAAQ,CAACqC,WAAT,CAAqBj4B,MADL;AAEjC0mC,YAAAA,WAAW,EAAE9Q,QAAQ,CAAC+Q,OAAT,CAAiB3mC;AAFG,WAArC;AAIAgnC,UAAAA,oBAAoB,CAACf,cAArB,CAAoC;AAChCC,YAAAA,OAAO,EAAE,IADuB;AAEhCC,YAAAA,cAAc,EAAEvQ,QAAQ,CAAC4R,gBAFO;AAGhCpB,YAAAA,SAAS,EAAExQ,QAAQ,CAACwQ;AAHY,WAApC;AAKAY,UAAAA,oBAAoB,CAACX,gBAArB;AACA,iBAAOzQ,QAAP;AACH,SAbiB,EAafrG,KAbe,CAaT,UAAUyO,CAAV,EAAa;AAClBkG,UAAAA,KAAK,CAACrB,YAAN,CAAmBnxB,SAAnB,CAA6BwvB,8EAA7B,EAA2D7Q,8EAA3D,EAAmF,IAAnF,EAAyF2N,CAAzF;;AACAgJ,UAAAA,oBAAoB,CAACf,cAArB,CAAoC;AAChCW,YAAAA,SAAS,EAAE5I,CAAC,CAAC4I,SADmB;AAEhCC,YAAAA,YAAY,EAAE7I,CAAC,CAAC8I,QAFgB;AAGhCZ,YAAAA,OAAO,EAAE;AAHuB,WAApC;AAKAc,UAAAA,oBAAoB,CAACX,gBAArB;AACA,gBAAMrI,CAAN;AACH,SAtBiB,CAAf,CAAP;AAuBH,OA/CiB,CAAlB;AAgDH,KAnDe,CAAhB;AAoDH,GArDD;AAsDA;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACIgE,EAAAA,iBAAiB,CAAC1E,SAAlB,CAA4BoK,kBAA5B,GAAiD,UAAUxV,OAAV,EAAmB;AAChE,WAAOjB,6DAAS,CAAC,IAAD,EAAO,KAAK,CAAZ,EAAe,KAAK,CAApB,EAAuB,YAAY;AAC/C,UAAI+S,aAAJ,EAAmB2D,eAAnB,EAAoCC,gBAApC,EAAsDhS,QAAtD;;AACA,UAAIsO,KAAK,GAAG,IAAZ;;AACA,aAAOrF,+DAAW,CAAC,IAAD,EAAO,UAAUuE,EAAV,EAAc;AACnCY,QAAAA,aAAa,GAAG,KAAKmB,uBAAL,CAA6BjT,OAA7B,CAAhB;AACA,aAAKkT,gCAAL,CAAsC/U,8EAAtC;AACA,aAAK2C,MAAL,CAAYqJ,KAAZ,CAAkB,2BAAlB,EAA+C2H,aAA/C;AACA,aAAKnB,YAAL,CAAkBnxB,SAAlB,CAA4BwvB,uFAA5B,EAAmE7Q,8EAAnE,EAA2F6B,OAA3F;AACAyV,QAAAA,eAAe,GAAG,KAAKnF,iBAAL,CAAuBsD,gBAAvB,CAAwCzF,qFAAxC,EAA8EnO,OAAO,CAAC8R,aAAtF,CAAlB;;AACA,YAAI;AACA,cAAI9R,OAAO,CAACvoB,IAAZ,EAAkB;AACdi+B,YAAAA,gBAAgB,GAAG1V,OAAO,CAACvoB,IAA3B;AACAisB,YAAAA,QAAQ,GAAG,KAAK2M,uBAAL,CAA6BzuC,GAA7B,CAAiC8zC,gBAAjC,CAAX;;AACA,gBAAI,CAAChS,QAAL,EAAe;AACX,mBAAK5C,MAAL,CAAYe,OAAZ,CAAoB,2CAApB,EAAiEiQ,aAAjE;AACApO,cAAAA,QAAQ,GAAG,KAAKmS,uBAAL,CAA6BrK,4DAAQ,CAACA,4DAAQ,CAAC,EAAD,EAAKxL,OAAL,CAAT,EAAwB;AAAE8R,gBAAAA,aAAa,EAAEA;AAAjB,eAAxB,CAArC,EACNnpC,IADM,CACD,UAAUmK,MAAV,EAAkB;AACxBk/B,gBAAAA,KAAK,CAACrB,YAAN,CAAmBnxB,SAAnB,CAA6BwvB,yFAA7B,EAAsE7Q,8EAAtE,EAA8FrrB,MAA9F;;AACAk/B,gBAAAA,KAAK,CAAC3B,uBAAN,CAA8B0F,MAA9B,CAAqCL,gBAArC;;AACAD,gBAAAA,eAAe,CAACnB,eAAhB,CAAgC;AAC5BC,kBAAAA,eAAe,EAAEzhC,MAAM,CAACizB,WAAP,CAAmBj4B,MADR;AAE5B0mC,kBAAAA,WAAW,EAAE1hC,MAAM,CAAC2hC,OAAP,CAAe3mC;AAFA,iBAAhC;AAIA2nC,gBAAAA,eAAe,CAAC1B,cAAhB,CAA+B;AAC3BC,kBAAAA,OAAO,EAAE,IADkB;AAE3BC,kBAAAA,cAAc,EAAEnhC,MAAM,CAACwiC,gBAFI;AAG3BpB,kBAAAA,SAAS,EAAEphC,MAAM,CAACohC;AAHS,iBAA/B;AAKAuB,gBAAAA,eAAe,CAACtB,gBAAhB;AACA,uBAAOrhC,MAAP;AACH,eAfU,EAgBNuqB,KAhBM,CAgBA,UAAU7lB,KAAV,EAAiB;AACxBw6B,gBAAAA,KAAK,CAAC3B,uBAAN,CAA8B0F,MAA9B,CAAqCL,gBAArC;;AACA1D,gBAAAA,KAAK,CAACrB,YAAN,CAAmBnxB,SAAnB,CAA6BwvB,yFAA7B,EAAsE7Q,8EAAtE,EAA8F,IAA9F,EAAoG3mB,KAApG;;AACAi+B,gBAAAA,eAAe,CAAC1B,cAAhB,CAA+B;AAC3BW,kBAAAA,SAAS,EAAEl9B,KAAK,CAACk9B,SADU;AAE3BC,kBAAAA,YAAY,EAAEn9B,KAAK,CAACo9B,QAFO;AAG3BZ,kBAAAA,OAAO,EAAE;AAHkB,iBAA/B;AAKAyB,gBAAAA,eAAe,CAACtB,gBAAhB;AACA,sBAAM38B,KAAN;AACH,eA1BU,CAAX;AA2BA,mBAAK64B,uBAAL,CAA6BpK,GAA7B,CAAiCyP,gBAAjC,EAAmDhS,QAAnD;AACH,aA9BD,MA+BK;AACD,mBAAK5C,MAAL,CAAYe,OAAZ,CAAoB,2CAApB,EAAiE7B,OAAO,CAAC8R,aAAzE;AACA2D,cAAAA,eAAe,CAAC1B,cAAhB,CAA+B;AAC3BC,gBAAAA,OAAO,EAAE;AADkB,eAA/B;AAGAyB,cAAAA,eAAe,CAACQ,kBAAhB;AACH;;AACD,mBAAO,CAAC;AAAE;AAAH,cAAevS,QAAf,CAAP;AACH,WA1CD,MA2CK,IAAI1D,OAAO,CAACkW,eAAZ,EAA6B;AAC9B,gBAAI,KAAK7C,YAAL,CAAkBrT,OAAlB,EAA2BA,OAAO,CAACkW,eAAnC,CAAJ,EAAyD;AACrD,qBAAO,CAAC;AAAE;AAAH,gBAAe,KAAKpC,kBAAL,CAAwB9T,OAAxB,EAAiC6O,gFAAjC,EAA2D7O,OAAO,CAACkW,eAAnE,EAAoF7Y,KAApF,CAA0F,UAAUyO,CAAV,EAAa;AACrH;AACA,oBAAIA,CAAC,YAAY2D,uEAAb,IAAgC3D,CAAC,CAACyH,OAAF,EAApC,EAAiD;AAC7CvB,kBAAAA,KAAK,CAACP,uBAAN,GAAgC+B,SAAhC,CAD6C,CACF;AAC9C;;AACD,sBAAM1H,CAAN;AACH,eANiB,CAAf,CAAP;AAOH,aARD,MASK;AACD,oBAAM8D,2HAAA,EAAN;AACH;AACJ,WAbI,MAcA;AACD,kBAAMA,sHAAA,EAAN;AACH;AACJ,SA7DD,CA8DA,OAAO9D,CAAP,EAAU;AACN,eAAK6E,YAAL,CAAkBnxB,SAAlB,CAA4BwvB,yFAA5B,EAAqE7Q,8EAArE,EAA6F,IAA7F,EAAmG2N,CAAnG;AACA2J,UAAAA,eAAe,CAAC1B,cAAhB,CAA+B;AAC3BW,YAAAA,SAAS,EAAE5I,CAAC,YAAYsC,0DAAb,IAA0BtC,CAAC,CAAC4I,SAA5B,IAAyClB,SADzB;AAE3BmB,YAAAA,YAAY,EAAE7I,CAAC,YAAYsC,0DAAb,IAA0BtC,CAAC,CAAC8I,QAA5B,IAAwCpB,SAF3B;AAG3BQ,YAAAA,OAAO,EAAE;AAHkB,WAA/B;AAKA,gBAAMlI,CAAN;AACH;;AACD,eAAO,CAAC;AAAE;AAAH,SAAP;AACH,OA9EiB,CAAlB;AA+EH,KAlFe,CAAhB;AAmFH,GApFD;AAqFA;AACJ;AACA;AACA;AACA;;;AACIgE,EAAAA,iBAAiB,CAAC1E,SAAlB,CAA4ByK,uBAA5B,GAAsD,UAAU7V,OAAV,EAAmB;AACrE,WAAOjB,6DAAS,CAAC,IAAD,EAAO,KAAK,CAAZ,EAAe,KAAK,CAApB,EAAuB,YAAY;AAC/C,UAAIsX,oBAAJ,EAA0BC,iBAA1B;AACA,aAAO3J,+DAAW,CAAC,IAAD,EAAO,UAAUuE,EAAV,EAAc;AACnC,gBAAQA,EAAE,CAACrE,KAAX;AACI,eAAK,CAAL;AACI,iBAAK/L,MAAL,CAAYqJ,KAAZ,CAAkB,gCAAlB,EAAoDnK,OAAO,CAAC8R,aAA5D;AACAuE,YAAAA,oBAAoB,GAAG,KAAKE,0BAAL,CAAgCvW,OAAO,CAAC8R,aAAxC,CAAvB;AACA,mBAAO,CAAC;AAAE;AAAH,cAAcuE,oBAAoB,CAAC5C,YAArB,CAAkCzT,OAAlC,CAAd,CAAP;;AACJ,eAAK,CAAL;AACIsW,YAAAA,iBAAiB,GAAGpF,EAAE,CAACpE,IAAH,EAApB;AACA,mBAAO,CAAC;AAAE;AAAH,cAAewJ,iBAAf,CAAP;AAPR;AASH,OAViB,CAAlB;AAWH,KAbe,CAAhB;AAcH,GAfD;AAgBA;AACJ;AACA;AACA;AACA;AACA;AACA;;;AACIxG,EAAAA,iBAAiB,CAAC1E,SAAlB,CAA4BoL,qBAA5B,GAAoD,UAAUC,iBAAV,EAA6BC,aAA7B,EAA4CvW,aAA5C,EAA2D;AAC3G,WAAOpB,6DAAS,CAAC,IAAD,EAAO,KAAK,CAAZ,EAAe,KAAK,CAApB,EAAuB,YAAY;AAC/C,aAAO4N,+DAAW,CAAC,IAAD,EAAO,UAAUuE,EAAV,EAAc;AACnC,gBAAQ/Q,aAAa,CAACwW,iBAAtB;AACI,eAAK5H,iFAAL;AACA,eAAKA,qFAAL;AACA,eAAKA,oGAAL;AACI,mBAAO,CAAC;AAAE;AAAH,cAAe0H,iBAAiB,CAAChD,YAAlB,CAA+BiD,aAA/B,CAAf,CAAP;;AACJ;AACI,kBAAMrI,2FAAA,EAAN;AANR;;AAQA,eAAO,CAAC;AAAE;AAAH,SAAP;AACH,OAViB,CAAlB;AAWH,KAZe,CAAhB;AAaH,GAdD;AAeA;AACJ;AACA;AACA;AACA;AACA;;;AACIyB,EAAAA,iBAAiB,CAAC1E,SAAlB,CAA4B2L,0BAA5B,GAAyD,UAAUL,aAAV,EAAyBvW,aAAzB,EAAwC;AAC7F,WAAOpB,6DAAS,CAAC,IAAD,EAAO,KAAK,CAAZ,EAAe,KAAK,CAApB,EAAuB,YAAY;AAC/C,UAAIiY,mBAAJ;AACA,aAAOrK,+DAAW,CAAC,IAAD,EAAO,UAAUuE,EAAV,EAAc;AACnC,gBAAQ/Q,aAAa,CAACwW,iBAAtB;AACI,eAAK5H,iFAAL;AACA,eAAKA,oGAAL;AACA,eAAKA,sFAAL;AACA,eAAKA,gGAAL;AACIiI,YAAAA,mBAAmB,GAAG,KAAKG,yBAAL,CAA+BT,aAAa,CAAC5E,aAA7C,CAAtB;AACA,mBAAO,CAAC;AAAE;AAAH,cAAekF,mBAAmB,CAACvD,YAApB,CAAiCiD,aAAjC,CAAf,CAAP;;AACJ;AACI,kBAAMrI,2FAAA,EAAN;AARR;;AAUA,eAAO,CAAC;AAAE;AAAH,SAAP;AACH,OAZiB,CAAlB;AAaH,KAfe,CAAhB;AAgBH,GAjBD;AAkBA;AACJ;AACA;AACA;AACA;;;AACIyB,EAAAA,iBAAiB,CAAC1E,SAAlB,CAA4BgM,0BAA5B,GAAyD,UAAUpX,OAAV,EAAmB;AACxE,WAAOjB,6DAAS,CAAC,IAAD,EAAO,KAAK,CAAZ,EAAe,KAAK,CAApB,EAAuB,YAAY;AAC/C,UAAIgW,kBAAJ;AACA,aAAOpI,+DAAW,CAAC,IAAD,EAAO,UAAUuE,EAAV,EAAc;AACnC6D,QAAAA,kBAAkB,GAAG,KAAKK,wBAAL,CAA8BpV,OAAO,CAAC8R,aAAtC,CAArB;AACA,eAAO,CAAC;AAAE;AAAH,UAAeiD,kBAAkB,CAACtB,YAAnB,CAAgCzT,OAAhC,CAAf,CAAP;AACH,OAHiB,CAAlB;AAIH,KANe,CAAhB;AAOH,GARD,CAtjB+C,CA+jB/C;AACA;;AACA;AACJ;AACA;AACA;AACA;;;AACI8P,EAAAA,iBAAiB,CAAC1E,SAAlB,CAA4B5K,MAA5B,GAAqC,UAAUC,aAAV,EAAyB;AAC1D,WAAO1B,6DAAS,CAAC,IAAD,EAAO,KAAK,CAAZ,EAAe,KAAK,CAApB,EAAuB,YAAY;AAC/C,UAAI+S,aAAJ;AACA,aAAOnF,+DAAW,CAAC,IAAD,EAAO,UAAUuE,EAAV,EAAc;AACnCY,QAAAA,aAAa,GAAG,KAAKmB,uBAAL,CAA6BxS,aAA7B,CAAhB;AACA,aAAKK,MAAL,CAAYsD,OAAZ,CAAoB,kGAApB,EAAwH0N,aAAxH;AACA,eAAO,CAAC;AAAE;AAAH,UAAe,KAAKpR,cAAL,CAAoB8K,4DAAQ,CAAC;AAAEsG,UAAAA,aAAa,EAAEA;AAAjB,SAAD,EAAmCrR,aAAnC,CAA5B,CAAf,CAAP;AACH,OAJiB,CAAlB;AAKH,KAPe,CAAhB;AAQH,GATD;AAUA;AACJ;AACA;AACA;AACA;;;AACIqP,EAAAA,iBAAiB,CAAC1E,SAAlB,CAA4B1K,cAA5B,GAA6C,UAAUD,aAAV,EAAyB;AAClE,WAAO1B,6DAAS,CAAC,IAAD,EAAO,KAAK,CAAZ,EAAe,KAAK,CAApB,EAAuB,YAAY;AAC/C,UAAI+S,aAAJ,EAAmBC,cAAnB;AACA,aAAOpF,+DAAW,CAAC,IAAD,EAAO,UAAUuE,EAAV,EAAc;AACnCY,QAAAA,aAAa,GAAG,KAAKmB,uBAAL,CAA6BxS,aAA7B,CAAhB;AACA,aAAKyS,gCAAL,CAAsC/U,gFAAtC;AACA4T,QAAAA,cAAc,GAAG,KAAKU,oBAAL,CAA0BX,aAA1B,CAAjB;AACA,eAAO,CAAC;AAAE;AAAH,UAAeC,cAAc,CAACvR,MAAf,CAAsBC,aAAtB,CAAf,CAAP;AACH,OALiB,CAAlB;AAMH,KARe,CAAhB;AASH,GAVD;AAWA;AACJ;AACA;AACA;;;AACIqP,EAAAA,iBAAiB,CAAC1E,SAAlB,CAA4BzK,WAA5B,GAA0C,UAAUF,aAAV,EAAyB;AAC/D,QAAI;AACA,UAAIqR,aAAa,GAAG,KAAKmB,uBAAL,CAA6BxS,aAA7B,CAApB;AACA,WAAKyS,gCAAL,CAAsC/U,6EAAtC;AACA,UAAIiW,WAAW,GAAG,KAAKC,iBAAL,CAAuBvC,aAAvB,CAAlB;AACA,aAAOsC,WAAW,CAAC5T,MAAZ,CAAmBC,aAAnB,CAAP;AACH,KALD,CAMA,OAAOqL,CAAP,EAAU;AACN;AACA,aAAOnB,OAAO,CAAC2B,MAAR,CAAeR,CAAf,CAAP;AACH;AACJ,GAXD,CApmB+C,CAgnB/C;AACA;;AACA;AACJ;AACA;AACA;AACA;AACA;;;AACIgE,EAAAA,iBAAiB,CAAC1E,SAAlB,CAA4B7G,cAA5B,GAA6C,YAAY;AACrD,SAAKzD,MAAL,CAAYe,OAAZ,CAAoB,uBAApB;AACA,WAAO,KAAKkO,oBAAL,GAA4B,KAAKa,cAAL,CAAoBrM,cAApB,EAA5B,GAAmE,EAA1E;AACH,GAHD;AAIA;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;;;AACIuL,EAAAA,iBAAiB,CAAC1E,SAAlB,CAA4BiM,oBAA5B,GAAmD,UAAUC,QAAV,EAAoB;AACnE,QAAIC,WAAW,GAAG,KAAKhT,cAAL,EAAlB;;AACA,QAAI,CAAChG,oEAAA,CAAoB+Y,QAApB,CAAD,IAAkCC,WAAlC,IAAiDA,WAAW,CAACzpC,MAAjE,EAAyE;AACrE,WAAKgzB,MAAL,CAAYe,OAAZ,CAAoB,4CAApB;AACA,WAAKf,MAAL,CAAYsJ,UAAZ,CAAuB,qDAAqDkN,QAA5E;AACA,aAAOC,WAAW,CAACzsC,MAAZ,CAAmB,UAAU2sC,UAAV,EAAsB;AAAE,eAAOA,UAAU,CAACC,QAAX,CAAoBlP,WAApB,OAAsC8O,QAAQ,CAAC9O,WAAT,EAA7C;AAAsE,OAAjH,EAAmH,CAAnH,KAAyH,IAAhI;AACH,KAJD,MAKK;AACD,WAAK1H,MAAL,CAAYe,OAAZ,CAAoB,iEAApB;AACA,aAAO,IAAP;AACH;AACJ,GAXD;AAYA;AACJ;AACA;AACA;AACA;AACA;AACA;;;AACIiO,EAAAA,iBAAiB,CAAC1E,SAAlB,CAA4BuM,kBAA5B,GAAiD,UAAUC,aAAV,EAAyB;AACtE,QAAIL,WAAW,GAAG,KAAKhT,cAAL,EAAlB;;AACA,QAAI,CAAChG,oEAAA,CAAoBqZ,aAApB,CAAD,IAAuCL,WAAvC,IAAsDA,WAAW,CAACzpC,MAAtE,EAA8E;AAC1E,WAAKgzB,MAAL,CAAYe,OAAZ,CAAoB,iDAApB;AACA,WAAKf,MAAL,CAAYsJ,UAAZ,CAAuB,0DAA0DwN,aAAjF;AACA,aAAOL,WAAW,CAACzsC,MAAZ,CAAmB,UAAU2sC,UAAV,EAAsB;AAAE,eAAOA,UAAU,CAACG,aAAX,KAA6BA,aAApC;AAAoD,OAA/F,EAAiG,CAAjG,KAAuG,IAA9G;AACH,KAJD,MAKK;AACD,WAAK9W,MAAL,CAAYe,OAAZ,CAAoB,+DAApB;AACA,aAAO,IAAP;AACH;AACJ,GAXD;AAYA;AACJ;AACA;AACA;AACA;AACA;AACA;;;AACIiO,EAAAA,iBAAiB,CAAC1E,SAAlB,CAA4ByM,mBAA5B,GAAkD,UAAUC,cAAV,EAA0B;AACxE,QAAIP,WAAW,GAAG,KAAKhT,cAAL,EAAlB;;AACA,QAAI,CAAChG,oEAAA,CAAoBuZ,cAApB,CAAD,IAAwCP,WAAxC,IAAuDA,WAAW,CAACzpC,MAAvE,EAA+E;AAC3E,WAAKgzB,MAAL,CAAYe,OAAZ,CAAoB,kDAApB;AACA,WAAKf,MAAL,CAAYsJ,UAAZ,CAAuB,2DAA2D0N,cAAlF;AACA,aAAOP,WAAW,CAACzsC,MAAZ,CAAmB,UAAU2sC,UAAV,EAAsB;AAAE,eAAOA,UAAU,CAACK,cAAX,KAA8BA,cAArC;AAAsD,OAAjG,EAAmG,CAAnG,KAAyG,IAAhH;AACH,KAJD,MAKK;AACD,WAAKhX,MAAL,CAAYe,OAAZ,CAAoB,gEAApB;AACA,aAAO,IAAP;AACH;AACJ,GAXD;AAYA;AACJ;AACA;AACA;;;AACIiO,EAAAA,iBAAiB,CAAC1E,SAAlB,CAA4BzH,gBAA5B,GAA+C,UAAUC,OAAV,EAAmB;AAC9D,SAAKgN,cAAL,CAAoBjN,gBAApB,CAAqCC,OAArC;AACH,GAFD;AAGA;AACJ;AACA;;;AACIkM,EAAAA,iBAAiB,CAAC1E,SAAlB,CAA4BxF,gBAA5B,GAA+C,YAAY;AACvD,WAAO,KAAKgL,cAAL,CAAoBhL,gBAApB,EAAP;AACH,GAFD,CAhsB+C,CAmsB/C;AACA;;AACA;AACJ;AACA;AACA;AACA;AACA;AACA;;;AACIkK,EAAAA,iBAAiB,CAAC1E,SAAlB,CAA4B8H,gCAA5B,GAA+D,UAAU1P,eAAV,EAA2BkQ,wBAA3B,EAAqD;AAChH,QAAIA,wBAAwB,KAAK,KAAK,CAAtC,EAAyC;AAAEA,MAAAA,wBAAwB,GAAG,IAA3B;AAAkC;;AAC7E,SAAK5S,MAAL,CAAYe,OAAZ,CAAoB,0CAApB,EAFgH,CAGhH;;AACAvD,IAAAA,4FAAA,CAAwC,KAAKyR,oBAA7C,EAJgH,CAKhH;;AACAzR,IAAAA,uFAAA,CAAmCkF,eAAnC,EAAoD,KAAK3iC,MAAL,CAAY27B,MAAZ,CAAmB2H,qBAAvE,EANgH,CAOhH;;AACA7F,IAAAA,4FAAA,GARgH,CAShH;;AACAA,IAAAA,2FAAA,GAVgH,CAWhH;;AACAA,IAAAA,0GAAA,CAAsD,KAAKz9B,MAAL,CAAY27B,MAAZ,CAAmB8U,iBAAzE,EAA4F,KAAKtB,WAAjG,EAZgH,CAahH;;AACA,QAAIxM,eAAe,KAAKrF,gFAApB,IACA,KAAKt9B,MAAL,CAAYu7B,KAAZ,CAAkBC,aAAlB,KAAoCP,0FADpC,IAEA,CAAC,KAAKj7B,MAAL,CAAYu7B,KAAZ,CAAkBG,sBAFvB,EAE+C;AAC3C,YAAM6B,0IAAA,EAAN;AACH;;AACD,QAAIoF,eAAe,KAAKrF,gFAApB,IAAgDqF,eAAe,KAAKrF,6EAAxE,EAA+F;AAC3F,WAAKia,2BAAL,CAAiC1E,wBAAjC;AACH;AACJ,GAtBD;AAuBA;AACJ;AACA;AACA;AACA;AACA;;;AACI5D,EAAAA,iBAAiB,CAAC1E,SAAlB,CAA4BgN,2BAA5B,GAA0D,UAAU1E,wBAAV,EAAoC;AAC1F,SAAK5S,MAAL,CAAYe,OAAZ,CAAoB,gEAApB,EAD0F,CAE1F;;AACAvD,IAAAA,4FAAA,GAH0F,CAI1F;;AACA,QAAIoV,wBAAJ,EAA8B;AAC1B,WAAK9C,cAAL,CAAoB8C,wBAApB,CAA6C,IAA7C;AACH;AACJ,GARD;AASA;AACJ;AACA;AACA;;;AACI5D,EAAAA,iBAAiB,CAAC1E,SAAlB,CAA4B0I,kBAA5B,GAAiD,UAAU9T,OAAV,EAAmBqY,KAAnB,EAA0B/F,SAA1B,EAAqC;AAClF,WAAOvT,6DAAS,CAAC,IAAD,EAAO,KAAK,CAAZ,EAAe,KAAK,CAApB,EAAuB,YAAY;AAC/C,UAAI8S,YAAJ;AACA,aAAOlF,+DAAW,CAAC,IAAD,EAAO,UAAUuE,EAAV,EAAc;AACnC,aAAKpQ,MAAL,CAAYqJ,KAAZ,CAAkB,2BAAlB;;AACA,YAAI,CAAC,KAAKsH,uBAAV,EAAmC;AAC/B,gBAAM7B,mHAAA,EAAN;AACH;;AACDiC,QAAAA,YAAY,GAAG,IAAItC,oGAAJ,CAA4B,KAAK1uC,MAAjC,EAAyC,KAAK+vC,cAA9C,EAA8D,KAAKF,aAAnE,EAAkF,KAAK5P,MAAvF,EAA+F,KAAK6P,YAApG,EAAkH,KAAKT,gBAAvH,EAAyImI,KAAzI,EAAgJ,KAAK/H,iBAArJ,EAAwK,KAAKmB,uBAA7K,EAAsMa,SAAS,IAAI,KAAKgB,kBAAL,CAAwBtT,OAAxB,CAAnN,EAAqP,KAAKgR,qBAA1P,EAAiRhR,OAAO,CAAC8R,aAAzR,CAAf;AACA,eAAO,CAAC;AAAE;AAAH,UAAeD,YAAY,CAAC4B,YAAb,CAA0BzT,OAA1B,CAAf,CAAP;AACH,OAPiB,CAAlB;AAQH,KAVe,CAAhB;AAWH,GAZD;AAaA;AACJ;AACA;AACA;;;AACI8P,EAAAA,iBAAiB,CAAC1E,SAAlB,CAA4BiI,YAA5B,GAA2C,UAAUrT,OAAV,EAAmBsS,SAAnB,EAA8B;AACrE,SAAKxR,MAAL,CAAYqJ,KAAZ,CAAkB,qBAAlB;;AACA,QAAI,CAACqF,iHAAA,CAAuC,KAAK3uC,MAA5C,EAAoD,KAAKigC,MAAzD,EAAiE,KAAK2Q,uBAAtE,EAA+FzR,OAAO,CAACuY,oBAAvG,CAAL,EAAmI;AAC/H,WAAKzX,MAAL,CAAYqJ,KAAZ,CAAkB,iEAAlB;AACA,aAAO,KAAP;AACH;;AACD,QAAInK,OAAO,CAACgV,MAAZ,EAAoB;AAChB,cAAQhV,OAAO,CAACgV,MAAhB;AACI,aAAK1G,iEAAL;AACA,aAAKA,oEAAL;AACA,aAAKA,kEAAL;AACI,eAAKxN,MAAL,CAAYqJ,KAAZ,CAAkB,qDAAlB;AACA;;AACJ;AACI,eAAKrJ,MAAL,CAAYqJ,KAAZ,CAAkB,4BAA4BnK,OAAO,CAACgV,MAApC,GAA6C,sDAA/D;AACA,iBAAO,KAAP;AARR;AAUH;;AACD,QAAI,CAAC1C,SAAD,IAAc,CAAC,KAAKgB,kBAAL,CAAwBtT,OAAxB,CAAnB,EAAqD;AACjD,WAAKc,MAAL,CAAYqJ,KAAZ,CAAkB,iEAAlB;AACA,aAAO,KAAP;AACH;;AACD,WAAO,IAAP;AACH,GAvBD;AAwBA;AACJ;AACA;AACA;AACA;;;AACI2F,EAAAA,iBAAiB,CAAC1E,SAAlB,CAA4BkI,kBAA5B,GAAiD,UAAUtT,OAAV,EAAmB;AAChE,QAAI4D,OAAO,GAAG5D,OAAO,CAAC4D,OAAR,IAAmB,KAAKgN,cAAL,CAAoB+H,qBAApB,CAA0C3Y,OAAO,CAAC4Y,SAAlD,EAA6D5Y,OAAO,CAAC6Y,GAArE,CAAnB,IAAgG,KAAKjT,gBAAL,EAA9G;AACA,WAAOhC,OAAO,IAAIA,OAAO,CAACsS,eAAnB,IAAsC,EAA7C;AACH,GAHD;AAIA;AACJ;AACA;AACA;;;AACIpG,EAAAA,iBAAiB,CAAC1E,SAAlB,CAA4BiJ,iBAA5B,GAAgD,UAAUvC,aAAV,EAAyB;AACrE,WAAO,IAAI5C,4EAAJ,CAAgB,KAAKruC,MAArB,EAA6B,KAAK+vC,cAAlC,EAAkD,KAAKF,aAAvD,EAAsE,KAAK5P,MAA3E,EAAmF,KAAK6P,YAAxF,EAAsG,KAAKT,gBAA3G,EAA6H,KAAKI,iBAAlI,EAAqJ,KAAKU,qBAA1J,EAAiL,KAAKS,uBAAtL,EAA+MK,aAA/M,CAAP;AACH,GAFD;AAGA;AACJ;AACA;AACA;;;AACIhC,EAAAA,iBAAiB,CAAC1E,SAAlB,CAA4BqH,oBAA5B,GAAmD,UAAUX,aAAV,EAAyB;AACxE,WAAO,IAAI3C,kFAAJ,CAAmB,KAAKtuC,MAAxB,EAAgC,KAAK+vC,cAArC,EAAqD,KAAKF,aAA1D,EAAyE,KAAK5P,MAA9E,EAAsF,KAAK6P,YAA3F,EAAyG,KAAKT,gBAA9G,EAAgI,KAAKI,iBAArI,EAAwJ,KAAKU,qBAA7J,EAAoL,KAAKS,uBAAzL,EAAkNK,aAAlN,CAAP;AACH,GAFD;AAGA;AACJ;AACA;AACA;;;AACIhC,EAAAA,iBAAiB,CAAC1E,SAAlB,CAA4BgK,wBAA5B,GAAuD,UAAUtD,aAAV,EAAyB;AAC5E,WAAO,IAAI1C,0FAAJ,CAAuB,KAAKvuC,MAA5B,EAAoC,KAAK+vC,cAAzC,EAAyD,KAAKF,aAA9D,EAA6E,KAAK5P,MAAlF,EAA0F,KAAK6P,YAA/F,EAA6G,KAAKT,gBAAlH,EAAoIrB,uEAApI,EAAqJ,KAAKyB,iBAA1J,EAA6K,KAAKU,qBAAlL,EAAyM,KAAKS,uBAA9M,EAAuOK,aAAvO,CAAP;AACH,GAFD;AAGA;AACJ;AACA;;;AACIhC,EAAAA,iBAAiB,CAAC1E,SAAlB,CAA4B0N,uBAA5B,GAAsD,UAAUhH,aAAV,EAAyB;AAC3E,WAAO,IAAIpC,wFAAJ,CAAsB,KAAK7uC,MAA3B,EAAmC,KAAK+vC,cAAxC,EAAwD,KAAKF,aAA7D,EAA4E,KAAK5P,MAAjF,EAAyF,KAAK6P,YAA9F,EAA4G,KAAKT,gBAAjH,EAAmI,KAAKI,iBAAxI,EAA2J,KAAKmB,uBAAhK,EAAyLK,aAAzL,CAAP;AACH,GAFD;AAGA;AACJ;AACA;;;AACIhC,EAAAA,iBAAiB,CAAC1E,SAAlB,CAA4B+L,yBAA5B,GAAwD,UAAUrF,aAAV,EAAyB;AAC7E,WAAO,IAAIzC,4FAAJ,CAAwB,KAAKxuC,MAA7B,EAAqC,KAAK+vC,cAA1C,EAA0D,KAAKF,aAA/D,EAA8E,KAAK5P,MAAnF,EAA2F,KAAK6P,YAAhG,EAA8G,KAAKT,gBAAnH,EAAqI,KAAKI,iBAA1I,EAA6J,KAAKmB,uBAAlK,EAA2LK,aAA3L,CAAP;AACH,GAFD;AAGA;AACJ;AACA;;;AACIhC,EAAAA,iBAAiB,CAAC1E,SAAlB,CAA4BmL,0BAA5B,GAAyD,UAAUzE,aAAV,EAAyB;AAC9E,WAAO,IAAInC,8FAAJ,CAAyB,KAAK9uC,MAA9B,EAAsC,KAAK+vC,cAA3C,EAA2D,KAAKF,aAAhE,EAA+E,KAAK5P,MAApF,EAA4F,KAAK6P,YAAjG,EAA+G,KAAKT,gBAApH,EAAsIrB,gFAAtI,EAAgK,KAAKyB,iBAArK,EAAwL,KAAKmB,uBAA7L,EAAsNK,aAAtN,CAAP;AACH,GAFD;AAGA;AACJ;AACA;AACA;;;AACIhC,EAAAA,iBAAiB,CAAC1E,SAAlB,CAA4BhJ,gBAA5B,GAA+C,UAAU2W,QAAV,EAAoB;AAC/D,WAAO,KAAKpI,YAAL,CAAkBvO,gBAAlB,CAAmC2W,QAAnC,CAAP;AACH,GAFD;AAGA;AACJ;AACA;AACA;;;AACIjJ,EAAAA,iBAAiB,CAAC1E,SAAlB,CAA4B4N,mBAA5B,GAAkD,UAAUC,UAAV,EAAsB;AACpE,SAAKtI,YAAL,CAAkBqI,mBAAlB,CAAsCC,UAAtC;AACH,GAFD;AAGA;AACJ;AACA;AACA;AACA;AACA;;;AACInJ,EAAAA,iBAAiB,CAAC1E,SAAlB,CAA4B8N,sBAA5B,GAAqD,UAAUH,QAAV,EAAoB;AACrE,WAAO,KAAKzI,iBAAL,CAAuB4I,sBAAvB,CAA8CH,QAA9C,CAAP;AACH,GAFD;AAGA;AACJ;AACA;AACA;AACA;AACA;;;AACIjJ,EAAAA,iBAAiB,CAAC1E,SAAlB,CAA4B+N,yBAA5B,GAAwD,UAAUF,UAAV,EAAsB;AAC1E,WAAO,KAAK3I,iBAAL,CAAuB6I,yBAAvB,CAAiDF,UAAjD,CAAP;AACH,GAFD;AAGA;AACJ;AACA;;;AACInJ,EAAAA,iBAAiB,CAAC1E,SAAlB,CAA4BgO,0BAA5B,GAAyD,YAAY;AACjE,SAAKzI,YAAL,CAAkByI,0BAAlB;AACH,GAFD;AAGA;AACJ;AACA;;;AACItJ,EAAAA,iBAAiB,CAAC1E,SAAlB,CAA4BiO,2BAA5B,GAA0D,YAAY;AAClE,SAAK1I,YAAL,CAAkB0I,2BAAlB;AACH,GAFD;AAGA;AACJ;AACA;;;AACIvJ,EAAAA,iBAAiB,CAAC1E,SAAlB,CAA4BkO,aAA5B,GAA4C,YAAY;AACpD,WAAO,KAAKrI,UAAZ;AACH,GAFD;AAGA;AACJ;AACA;;;AACInB,EAAAA,iBAAiB,CAAC1E,SAAlB,CAA4BvK,SAA5B,GAAwC,YAAY;AAChD,WAAO,KAAKC,MAAZ;AACH,GAFD;AAGA;AACJ;AACA;AACA;;;AACIgP,EAAAA,iBAAiB,CAAC1E,SAAlB,CAA4BpK,SAA5B,GAAwC,UAAUF,MAAV,EAAkB;AACtD,SAAKA,MAAL,GAAcA,MAAd;AACH,GAFD;AAGA;AACJ;AACA;AACA;AACA;;;AACIgP,EAAAA,iBAAiB,CAAC1E,SAAlB,CAA4BxL,wBAA5B,GAAuD,UAAU2Z,GAAV,EAAex3C,OAAf,EAAwB;AAC3E;AACA,SAAK6uC,cAAL,CAAoB4I,kBAApB,CAAuCD,GAAvC,EAA4Cx3C,OAA5C;AACH,GAHD;AAIA;AACJ;AACA;AACA;;;AACI+tC,EAAAA,iBAAiB,CAAC1E,SAAlB,CAA4BqO,mBAA5B,GAAkD,UAAUvJ,gBAAV,EAA4B;AAC1E,SAAKA,gBAAL,GAAwBA,gBAAxB;AACH,GAFD;AAGA;AACJ;AACA;;;AACIJ,EAAAA,iBAAiB,CAAC1E,SAAlB,CAA4BlH,gBAA5B,GAA+C,YAAY;AACvD,WAAO,KAAKrjC,MAAZ;AACH,GAFD;AAGA;AACJ;AACA;AACA;AACA;AACA;AACA;;;AACIivC,EAAAA,iBAAiB,CAAC1E,SAAlB,CAA4B6H,uBAA5B,GAAsD,UAAUjT,OAAV,EAAmB;AACrE,QAAIA,OAAO,KAAK,IAAZ,IAAoBA,OAAO,KAAK,KAAK,CAArC,GAAyC,KAAK,CAA9C,GAAkDA,OAAO,CAAC8R,aAA9D,EAA6E;AACzE,aAAO9R,OAAO,CAAC8R,aAAf;AACH;;AACD,QAAI,KAAK/B,oBAAT,EAA+B;AAC3B,aAAO,KAAKW,aAAL,CAAmBgJ,aAAnB,EAAP;AACH;AACD;AACR;AACA;AACA;;;AACQ,WAAOzL,uEAAP;AACH,GAZD;;AAaA,SAAO6B,iBAAP;AACH,CAz7BsC,EAAvC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AC9BA;AACa;;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;;AACA;AACA;AACA;AACA;;AACA,IAAIgK,uBAAuB;AAAG;AAAe,UAAU7P,MAAV,EAAkB;AAC3DqB,EAAAA,4DAAS,CAACwO,uBAAD,EAA0B7P,MAA1B,CAAT;AACA;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACI,WAAS6P,uBAAT,CAAiChqB,aAAjC,EAAgD;AAC5C,QAAIkiB,KAAK,GAAG/H,MAAM,CAACK,IAAP,CAAY,IAAZ,EAAkBxa,aAAlB,KAAoC,IAAhD;;AACAkiB,IAAAA,KAAK,CAAC+H,yBAAN,GAAkC,IAAI3J,GAAJ,EAAlC;AACA,WAAO4B,KAAP;AACH;AACD;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACI8H,EAAAA,uBAAuB,CAAC1O,SAAxB,CAAkC7K,aAAlC,GAAkD,UAAUP,OAAV,EAAmB;AACjE,WAAOjB,4DAAS,CAAC,IAAD,EAAO,KAAK,CAAZ,EAAe,KAAK,CAApB,EAAuB,YAAY;AAC/C,UAAI+S,aAAJ;AACA,aAAOnF,8DAAW,CAAC,IAAD,EAAO,UAAUuE,EAAV,EAAc;AACnCY,QAAAA,aAAa,GAAG,KAAKmB,uBAAL,CAA6BjT,OAA7B,CAAhB;AACA,aAAKc,MAAL,CAAYe,OAAZ,CAAoB,sBAApB,EAA4CiQ,aAA5C;AACA,eAAO,CAAC;AAAE;AAAH,UAAe,KAAK7R,oBAAL,CAA0BuL,2DAAQ,CAAC;AAAEsG,UAAAA,aAAa,EAAEA;AAAjB,SAAD,EAAoC9R,OAAO,IAAI4Z,uEAA/C,CAAlC,CAAf,CAAP;AACH,OAJiB,CAAlB;AAKH,KAPe,CAAhB;AAQH,GATD;AAUA;AACJ;AACA;AACA;AACA;AACA;AACA;;;AACIE,EAAAA,uBAAuB,CAAC1O,SAAxB,CAAkC9K,UAAlC,GAA+C,UAAUN,OAAV,EAAmB;AAC9D,QAAI8R,aAAa,GAAG,KAAKmB,uBAAL,CAA6BjT,OAA7B,CAApB;AACA,SAAKc,MAAL,CAAYe,OAAZ,CAAoB,mBAApB,EAAyCiQ,aAAzC;AACA,WAAO,KAAK/R,iBAAL,CAAuByL,2DAAQ,CAAC;AAAEsG,MAAAA,aAAa,EAAEA;AAAjB,KAAD,EAAoC9R,OAAO,IAAI4Z,uEAA/C,CAA/B,CAAP;AACH,GAJD;AAKA;AACJ;AACA;AACA;AACA;AACA;;;AACIE,EAAAA,uBAAuB,CAAC1O,SAAxB,CAAkClL,kBAAlC,GAAuD,UAAUF,OAAV,EAAmB;AACtE,WAAOjB,4DAAS,CAAC,IAAD,EAAO,KAAK,CAAZ,EAAe,KAAK,CAApB,EAAuB,YAAY;AAC/C,UAAI+S,aAAJ,EAAmBkI,cAAnB,EAAmCpW,OAAnC,EAA4CqW,UAA5C,EAAwDC,gBAAxD,EAA0EC,cAA1E,EAA0FzW,QAA1F;;AACA,UAAIsO,KAAK,GAAG,IAAZ;;AACA,aAAOrF,8DAAW,CAAC,IAAD,EAAO,UAAUuE,EAAV,EAAc;AACnCY,QAAAA,aAAa,GAAG,KAAKmB,uBAAL,CAA6BjT,OAA7B,CAAhB;AACAga,QAAAA,cAAc,GAAG,KAAK1J,iBAAL,CAAuBsD,gBAAvB,CAAwCzF,oFAAxC,EAA8E2D,aAA9E,CAAjB;AACAkI,QAAAA,cAAc,CAAC1F,eAAf,CAA+B;AAC3BqC,UAAAA,iBAAiB,EAAE3W,OAAO,CAAC2W;AADA,SAA/B;AAGA,aAAKzD,gCAAL,CAAsC/U,8EAAtC;AACA,aAAK2C,MAAL,CAAYe,OAAZ,CAAoB,2BAApB,EAAiDiQ,aAAjD;AACAlO,QAAAA,OAAO,GAAG5D,OAAO,CAAC4D,OAAR,IAAmB,KAAKgC,gBAAL,EAA7B;;AACA,YAAI,CAAChC,OAAL,EAAc;AACV,gBAAMgM,6FAAA,EAAN;AACH;;AACDqK,QAAAA,UAAU,GAAG;AACThe,UAAAA,QAAQ,EAAE,KAAKp7B,MAAL,CAAYm7B,IAAZ,CAAiBC,QADlB;AAETC,UAAAA,SAAS,EAAE8D,OAAO,CAAC9D,SAAR,IAAqB+R,sEAFvB;AAGTlR,UAAAA,MAAM,EAAEiD,OAAO,CAACjD,MAHP;AAITud,UAAAA,qBAAqB,EAAE1W,OAAO,CAACgU,aAJtB;AAKT2C,UAAAA,MAAM,EAAEva,OAAO,CAACua,MALP;AAMThC,UAAAA,oBAAoB,EAAEvY,OAAO,CAACuY,oBANrB;AAOTiC,UAAAA,qBAAqB,EAAExa,OAAO,CAACwa,qBAPtB;AAQTC,UAAAA,kBAAkB,EAAEza,OAAO,CAACya,kBARnB;AASTC,UAAAA,SAAS,EAAE1a,OAAO,CAAC0a,SATV;AAUTC,UAAAA,MAAM,EAAE3a,OAAO,CAAC2a;AAVP,SAAb;AAYAT,QAAAA,gBAAgB,GAAGl6B,IAAI,CAACI,SAAL,CAAe65B,UAAf,CAAnB;AACAE,QAAAA,cAAc,GAAG,KAAKJ,yBAAL,CAA+Bn4C,GAA/B,CAAmCs4C,gBAAnC,CAAjB;;AACA,YAAI,OAAOC,cAAP,KAA0B,WAA9B,EAA2C;AACvC,eAAKrZ,MAAL,CAAYe,OAAZ,CAAoB,sEAApB,EAA4FiQ,aAA5F;AACApO,UAAAA,QAAQ,GAAG,KAAKkX,uBAAL,CAA6BpP,2DAAQ,CAACA,2DAAQ,CAAC,EAAD,EAAKxL,OAAL,CAAT,EAAwB;AAAE8R,YAAAA,aAAa,EAAEA;AAAjB,WAAxB,CAArC,EAAgGlO,OAAhG,EACNj7B,IADM,CACD,UAAUmK,MAAV,EAAkB;AACxBk/B,YAAAA,KAAK,CAAC+H,yBAAN,CAAgChE,MAAhC,CAAuCmE,gBAAvC;;AACAF,YAAAA,cAAc,CAAC1F,eAAf,CAA+B;AAC3BC,cAAAA,eAAe,EAAEzhC,MAAM,CAACizB,WAAP,CAAmBj4B,MADT;AAE3B0mC,cAAAA,WAAW,EAAE1hC,MAAM,CAAC2hC,OAAP,CAAe3mC;AAFD,aAA/B;AAIAksC,YAAAA,cAAc,CAACjG,cAAf,CAA8B;AAC1BC,cAAAA,OAAO,EAAE,IADiB;AAE1B6G,cAAAA,SAAS,EAAE/nC,MAAM,CAAC+nC,SAFQ;AAG1B5G,cAAAA,cAAc,EAAEnhC,MAAM,CAACwiC,gBAHG;AAI1BpB,cAAAA,SAAS,EAAEphC,MAAM,CAACohC;AAJQ,aAA9B;AAMA8F,YAAAA,cAAc,CAAC7F,gBAAf;AACA,mBAAOrhC,MAAP;AACH,WAfU,EAgBNuqB,KAhBM,CAgBA,UAAU7lB,KAAV,EAAiB;AACxBw6B,YAAAA,KAAK,CAAC+H,yBAAN,CAAgChE,MAAhC,CAAuCmE,gBAAvC;;AACAF,YAAAA,cAAc,CAACjG,cAAf,CAA8B;AAC1BW,cAAAA,SAAS,EAAEl9B,KAAK,CAACk9B,SADS;AAE1BC,cAAAA,YAAY,EAAEn9B,KAAK,CAACo9B,QAFM;AAG1BZ,cAAAA,OAAO,EAAE;AAHiB,aAA9B;AAKAgG,YAAAA,cAAc,CAAC7F,gBAAf;AACA,kBAAM38B,KAAN;AACH,WAzBU,CAAX;AA0BA,eAAKuiC,yBAAL,CAA+B9T,GAA/B,CAAmCiU,gBAAnC,EAAqDxW,QAArD;AACA,iBAAO,CAAC;AAAE;AAAH,YAAeA,QAAf,CAAP;AACH,SA9BD,MA+BK;AACD,eAAK5C,MAAL,CAAYe,OAAZ,CAAoB,yFAApB,EAA+GiQ,aAA/G;AACAkI,UAAAA,cAAc,CAACjG,cAAf,CAA8B;AAC1BC,YAAAA,OAAO,EAAE;AADiB,WAA9B,EAFC,CAKD;;AACAgG,UAAAA,cAAc,CAAC/D,kBAAf;AACA,iBAAO,CAAC;AAAE;AAAH,YAAekE,cAAf,CAAP;AACH;AACJ,OAlEiB,CAAlB;AAmEH,KAtEe,CAAhB;AAuEH,GAxED;AAyEA;AACJ;AACA;AACA;AACA;AACA;;;AACIL,EAAAA,uBAAuB,CAAC1O,SAAxB,CAAkCwP,uBAAlC,GAA4D,UAAU5a,OAAV,EAAmB4D,OAAnB,EAA4B;AACpF,WAAO7E,4DAAS,CAAC,IAAD,EAAO,KAAK,CAAZ,EAAe,KAAK,CAApB,EAAuB,YAAY;AAC/C,UAAI+b,oBAAJ,EAA0BhoC,MAA1B,EAAkCqtB,aAAlC,EAAiDsW,iBAAjD,EAAoEsE,eAApE,EAAqFC,gBAArF;;AACA,UAAIhJ,KAAK,GAAG,IAAZ;;AACA,aAAOrF,8DAAW,CAAC,IAAD,EAAO,UAAUuE,EAAV,EAAc;AACnC,gBAAQA,EAAE,CAACrE,KAAX;AACI,eAAK,CAAL;AACI,iBAAK8D,YAAL,CAAkBnxB,SAAlB,CAA4BwvB,8EAA5B,EAA2D7Q,8EAA3D,EAAmF6B,OAAnF;AACA8a,YAAAA,oBAAoB,GAAG,KAAKxK,iBAAL,CAAuBsD,gBAAvB,CAAwCzF,yFAAxC,EAAmFnO,OAAO,CAAC8R,aAA3F,CAAvB;AACA,gBAAI,EAAEtC,gHAAA,CAAuC,KAAK3uC,MAA5C,EAAoD,KAAKigC,MAAzD,EAAiE,KAAK2Q,uBAAtE,EAA+FzR,OAAO,CAACuY,oBAAvG,KAAgI3U,OAAO,CAACsS,eAA1I,CAAJ,EAAgK,OAAO,CAAC;AAAE;AAAH,cAAc,CAAd,CAAP;AAChK,iBAAKpV,MAAL,CAAYe,OAAZ,CAAoB,uEAApB;AACA1B,YAAAA,aAAa,GAAGqL,2DAAQ,CAACA,2DAAQ,CAAC,EAAD,EAAKxL,OAAL,CAAT,EAAwB;AAAE4D,cAAAA,OAAO,EAAEA;AAAX,aAAxB,CAAxB;AACA9wB,YAAAA,MAAM,GAAG,KAAKghC,kBAAL,CAAwB3T,aAAxB,EAAuC0O,2FAAvC,EAA4ExR,KAA5E,CAAkF,UAAUyO,CAAV,EAAa;AAAE,qBAAO/M,4DAAS,CAACiT,KAAD,EAAQ,KAAK,CAAb,EAAgB,KAAK,CAArB,EAAwB,YAAY;AAC1J,oBAAI+C,kBAAJ;AACA,uBAAOpI,8DAAW,CAAC,IAAD,EAAO,UAAUuE,EAAV,EAAc;AACnC;AACA,sBAAIpF,CAAC,YAAY2D,sEAAb,IAAgC3D,CAAC,CAACyH,OAAF,EAApC,EAAiD;AAC7C,yBAAKzS,MAAL,CAAYe,OAAZ,CAAoB,4EAApB;AACA,yBAAK4P,uBAAL,GAA+B+B,SAA/B,CAF6C,CAEH;;AAC1CuB,oBAAAA,kBAAkB,GAAG,KAAKK,wBAAL,CAA8BpV,OAAO,CAAC8R,aAAtC,CAArB;AACA,2BAAO,CAAC;AAAE;AAAH,sBAAeiD,kBAAkB,CAACtB,YAAnB,CAAgCzT,OAAhC,CAAf,CAAP;AACH;;AACD,wBAAM8L,CAAN;AACH,iBATiB,CAAlB;AAUH,eAZyH,CAAhB;AAYrG,aAZI,CAAT;AAaA,mBAAO,CAAC;AAAE;AAAH,cAAc,CAAd,CAAP;;AACJ,eAAK,CAAL;AACI,iBAAKhL,MAAL,CAAYe,OAAZ,CAAoB,gEAApB;AACA4U,YAAAA,iBAAiB,GAAG,KAAKqC,uBAAL,CAA6B9Y,OAAO,CAAC8R,aAArC,CAApB;AACA,mBAAO,CAAC;AAAE;AAAH,cAAc2E,iBAAiB,CAAC0E,uBAAlB,CAA0Cnb,OAA1C,EAAmD4D,OAAnD,CAAd,CAAP;;AACJ,eAAK,CAAL;AACImX,YAAAA,eAAe,GAAG7J,EAAE,CAACpE,IAAH,EAAlB;AACAkO,YAAAA,gBAAgB,GAAGxP,2DAAQ,CAACA,2DAAQ,CAAC,EAAD,EAAKxL,OAAL,CAAT,EAAwB;AAC/C;AACA2W,cAAAA,iBAAiB,EAAE3W,OAAO,CAAC2W,iBAAR,IAA6B5H,iFAAyB9d;AAF1B,aAAxB,CAA3B;AAGAne,YAAAA,MAAM,GAAG,KAAK0jC,qBAAL,CAA2BC,iBAA3B,EAA8CsE,eAA9C,EAA+DC,gBAA/D,EAAiF3d,KAAjF,CAAuF,UAAU+d,UAAV,EAAsB;AAClH,kBAAIJ,gBAAgB,CAACrE,iBAAjB,KAAuC5H,qFAA3C,EAA0E;AACtE,sBAAMqM,UAAN;AACH,eAHiH,CAIlH;;;AACA9c,cAAAA,2FAAA;;AACA0T,cAAAA,KAAK,CAACrB,YAAN,CAAmBnxB,SAAnB,CAA6BwvB,sFAA7B,EAAoE7Q,8EAApE,EAA4F4c,eAA5F;;AACA,qBAAO/I,KAAK,CAAC+E,0BAAN,CAAiCgE,eAAjC,EAAkDC,gBAAlD,EAAoE3d,KAApE,CAA0E,UAAUie,iBAAV,EAA6B;AAC1G,oBAAIC,aAAa,GAAGD,iBAAiB,YAAY3B,2DAAjD;AACA,oBAAI6B,0BAA0B,GAAGF,iBAAiB,YAAYpN,6EAA9D;AACA,oBAAIuN,mBAAmB,GAAIH,iBAAiB,CAAC5G,SAAlB,KAAgCmF,4FAA3D;;AACA,oBAAI,CAAC,CAAC0B,aAAD,IACD,CAACE,mBADA,IAEDD,0BAFC,IAGDR,gBAAgB,CAACrE,iBAAjB,KAAuC5H,oGAHtC,IAIDiM,gBAAgB,CAACrE,iBAAjB,KAAuC5H,sFAJvC,KAKIiM,gBAAgB,CAACrE,iBAAjB,KAAuC5H,8EAL/C,EAKwE;AACpE,wBAAMuM,iBAAN;AACH;;AACDtJ,gBAAAA,KAAK,CAAClR,MAAN,CAAae,OAAb,CAAqB,wGAArB,EAA+H7B,OAAO,CAAC8R,aAAvI;;AACA,uBAAOE,KAAK,CAACoF,0BAAN,CAAiC2D,eAAjC,CAAP;AACH,eAdM,CAAP;AAeH,aAtBQ,CAAT;AAuBA7J,YAAAA,EAAE,CAACrE,KAAH,GAAW,CAAX;;AACJ,eAAK,CAAL;AAAQ,mBAAO,CAAC;AAAE;AAAH,cAAe/5B,MAAM,CAACnK,IAAP,CAAY,UAAU+6B,QAAV,EAAoB;AACtDsO,cAAAA,KAAK,CAACrB,YAAN,CAAmBnxB,SAAnB,CAA6BwvB,gFAA7B,EAA8D7Q,8EAA9D,EAAsFuF,QAAtF;;AACAoX,cAAAA,oBAAoB,CAAC/G,cAArB,CAAoC;AAChCC,gBAAAA,OAAO,EAAE,IADuB;AAEhC6G,gBAAAA,SAAS,EAAEnX,QAAQ,CAACmX,SAFY;AAGhC5G,gBAAAA,cAAc,EAAEvQ,QAAQ,CAAC4R,gBAHO;AAIhCpB,gBAAAA,SAAS,EAAExQ,QAAQ,CAACwQ;AAJY,eAApC;AAMA,qBAAOxQ,QAAP;AACH,aATyB,EASvBrG,KATuB,CASjB,UAAUue,iBAAV,EAA6B;AAClC5J,cAAAA,KAAK,CAACrB,YAAN,CAAmBnxB,SAAnB,CAA6BwvB,gFAA7B,EAA8D7Q,8EAA9D,EAAsF,IAAtF,EAA4Fyd,iBAA5F;;AACAd,cAAAA,oBAAoB,CAAC/G,cAArB,CAAoC;AAChCW,gBAAAA,SAAS,EAAEkH,iBAAiB,CAAClH,SADG;AAEhCC,gBAAAA,YAAY,EAAEiH,iBAAiB,CAAChH,QAFA;AAGhCZ,gBAAAA,OAAO,EAAE;AAHuB,eAApC;AAKA,oBAAM4H,iBAAN;AACH,aAjByB,CAAf,CAAP;AAtDZ;AAyEH,OA1EiB,CAAlB;AA2EH,KA9Ee,CAAhB;AA+EH,GAhFD;;AAiFA,SAAO9B,uBAAP;AACH,CAlO4C,CAkO3ChK,qEAlO2C,CAA7C;;;;;;;;;;;;;;;;;;;;;;;ACpBA;AACa;;AACb;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;;AACA,IAAIN,oBAAoB;AAAG;AAAe,YAAY;AAClD,WAASA,oBAAT,CAA8B1O,MAA9B,EAAsCkb,kBAAtC,EAA0DC,WAA1D,EAAuE;AACnE,SAAKnb,MAAL,GAAcA,MAAd;AACA,SAAKkb,kBAAL,GAA0BA,kBAA1B;AACA,SAAKC,WAAL,GAAmBA,WAAnB;AACA,SAAKC,SAAL,GAAiB,IAAI9L,GAAJ,EAAjB,CAJmE,CAIvC;;AAC5B,SAAK+L,kBAAL,GAA0B,IAAI/L,GAAJ,EAA1B,CALmE,CAK9B;;AACrC,SAAKgM,UAAL,GAAkB,CAAlB;AACA,SAAKC,cAAL,GAAsB,IAAIC,cAAJ,EAAtB;AACA,SAAKC,cAAL,GAAsB,KAAKC,eAAL,CAAqBtmB,IAArB,CAA0B,IAA1B,CAAtB,CARmE,CAQZ;AAC1D;AACD;AACJ;AACA;AACA;;;AACIsZ,EAAAA,oBAAoB,CAACpE,SAArB,CAA+BrgB,WAA/B,GAA6C,UAAUvS,IAAV,EAAgB;AACzD,WAAOumB,4DAAS,CAAC,IAAD,EAAO,KAAK,CAAZ,EAAe,KAAK,CAApB,EAAuB,YAAY;AAC/C,UAAIyG,GAAJ;;AACA,UAAIwM,KAAK,GAAG,IAAZ;;AACA,aAAOrF,8DAAW,CAAC,IAAD,EAAO,UAAUuE,EAAV,EAAc;AACnC,aAAKpQ,MAAL,CAAYqJ,KAAZ,CAAkB,4CAAlB;AACA3E,QAAAA,GAAG,GAAG;AACFiX,UAAAA,OAAO,EAAEZ,kFADP;AAEFI,UAAAA,WAAW,EAAE,KAAKA,WAFhB;AAGFG,UAAAA,UAAU,EAAE,KAAKA,UAAL,EAHV;AAIF5jC,UAAAA,IAAI,EAAEA;AAJJ,SAAN;AAMA,aAAKsoB,MAAL,CAAYqJ,KAAZ,CAAkB,6DAAlB;AACA,aAAKrJ,MAAL,CAAY6b,QAAZ,CAAqB,kEAAkE38B,IAAI,CAACI,SAAL,CAAeolB,GAAf,CAAvF;AACA,aAAK6W,cAAL,CAAoBO,KAApB,CAA0BC,WAA1B,CAAsCrX,GAAtC;AACA,eAAO,CAAC;AAAE;AAAH,UAAe,IAAImF,OAAJ,CAAY,UAAUC,OAAV,EAAmB0B,MAAnB,EAA2B;AACrD0F,UAAAA,KAAK,CAACkK,SAAN,CAAgBjW,GAAhB,CAAoBT,GAAG,CAAC4W,UAAxB,EAAoC;AAAExR,YAAAA,OAAO,EAAEA,OAAX;AAAoB0B,YAAAA,MAAM,EAAEA;AAA5B,WAApC;AACH,SAFiB,CAAf,CAAP;AAGH,OAdiB,CAAlB;AAeH,KAlBe,CAAhB;AAmBH,GApBD;AAqBA;AACJ;AACA;AACA;AACA;;;AACIkD,EAAAA,oBAAoB,CAAC+B,cAArB,GAAsC,UAAUzQ,MAAV,EAAkBkb,kBAAlB,EAAsC;AACxE,WAAOjd,4DAAS,CAAC,IAAD,EAAO,KAAK,CAAZ,EAAe,KAAK,CAApB,EAAuB,YAAY;AAC/C,UAAI+d,iBAAJ,EAAuBC,cAAvB;AACA,aAAOpQ,8DAAW,CAAC,IAAD,EAAO,UAAUuE,EAAV,EAAc;AACnC,gBAAQA,EAAE,CAACrE,KAAX;AACI,eAAK,CAAL;AACI/L,YAAAA,MAAM,CAACqJ,KAAP,CAAa,+CAAb;AACA+G,YAAAA,EAAE,CAACrE,KAAH,GAAW,CAAX;;AACJ,eAAK,CAAL;AACIqE,YAAAA,EAAE,CAACnE,IAAH,CAAQ3F,IAAR,CAAa,CAAC,CAAD,EAAI,CAAJ,GAAS,CAAT,CAAb;;AACA0V,YAAAA,iBAAiB,GAAG,IAAItN,oBAAJ,CAAyB1O,MAAzB,EAAiCkb,kBAAjC,EAAqDH,8FAArD,CAApB;AACA,mBAAO,CAAC;AAAE;AAAH,cAAciB,iBAAiB,CAACG,oBAAlB,EAAd,CAAP;;AACJ,eAAK,CAAL;AACI/L,YAAAA,EAAE,CAACpE,IAAH;;AACA,mBAAO,CAAC;AAAE;AAAH,cAAegQ,iBAAf,CAAP;;AACJ,eAAK,CAAL;AACI5L,YAAAA,EAAE,CAACpE,IAAH;;AACAiQ,YAAAA,cAAc,GAAG,IAAIvN,oBAAJ,CAAyB1O,MAAzB,EAAiCkb,kBAAjC,CAAjB;AACA,mBAAO,CAAC;AAAE;AAAH,cAAce,cAAc,CAACE,oBAAf,EAAd,CAAP;;AACJ,eAAK,CAAL;AACI/L,YAAAA,EAAE,CAACpE,IAAH;;AACA,mBAAO,CAAC;AAAE;AAAH,cAAeiQ,cAAf,CAAP;;AACJ,eAAK,CAAL;AAAQ,mBAAO,CAAC;AAAE;AAAH,aAAP;AAlBZ;AAoBH,OArBiB,CAAlB;AAsBH,KAxBe,CAAhB;AAyBH,GA1BD;AA2BA;AACJ;AACA;;;AACIvN,EAAAA,oBAAoB,CAACpE,SAArB,CAA+B6R,oBAA/B,GAAsD,YAAY;AAC9D,WAAOle,4DAAS,CAAC,IAAD,EAAO,KAAK,CAAZ,EAAe,KAAK,CAApB,EAAuB,YAAY;AAC/C,UAAIyG,GAAJ;;AACA,UAAIwM,KAAK,GAAG,IAAZ;;AACA,aAAOrF,8DAAW,CAAC,IAAD,EAAO,UAAUuE,EAAV,EAAc;AACnC,aAAKpQ,MAAL,CAAYqJ,KAAZ,CAAkB,qDAAlB,EADmC,CAEnC;;AACA7pB,QAAAA,MAAM,CAAC48B,gBAAP,CAAwB,SAAxB,EAAmC,KAAKX,cAAxC,EAAwD,KAAxD,EAHmC,CAG6B;;AAChE/W,QAAAA,GAAG,GAAG;AACFiX,UAAAA,OAAO,EAAEZ,kFADP;AAEFI,UAAAA,WAAW,EAAE,KAAKA,WAFhB;AAGFG,UAAAA,UAAU,EAAE,KAAKA,UAAL,EAHV;AAIF5jC,UAAAA,IAAI,EAAE;AACFktB,YAAAA,MAAM,EAAEoW,8FAAsCqB;AAD5C;AAJJ,SAAN;;AAQA,aAAKd,cAAL,CAAoBO,KAApB,CAA0BQ,SAA1B,GAAsC,UAAUzwB,KAAV,EAAiB;AACnDqlB,UAAAA,KAAK,CAACqL,gBAAN,CAAuB1wB,KAAvB;AACH,SAFD;;AAGArM,QAAAA,MAAM,CAACu8B,WAAP,CAAmBrX,GAAnB,EAAwBllB,MAAM,CAAC2iB,MAA/B,EAAuC,CAAC,KAAKoZ,cAAL,CAAoBiB,KAArB,CAAvC;AACA,eAAO,CAAC;AAAE;AAAH,UAAe,IAAI3S,OAAJ,CAAY,UAAUC,OAAV,EAAmB0B,MAAnB,EAA2B;AACrD0F,UAAAA,KAAK,CAACmK,kBAAN,CAAyBlW,GAAzB,CAA6BT,GAAG,CAAC4W,UAAjC,EAA6C;AAAExR,YAAAA,OAAO,EAAEA,OAAX;AAAoB0B,YAAAA,MAAM,EAAEA;AAA5B,WAA7C;;AACA0F,UAAAA,KAAK,CAACuL,SAAN,GAAkBj9B,MAAM,CAACD,UAAP,CAAkB,YAAY;AAC5C;AAC5B;AACA;AACA;AAC4BC,YAAAA,MAAM,CAACk9B,mBAAP,CAA2B,SAA3B,EAAsCxL,KAAK,CAACuK,cAA5C,EAA4D,KAA5D;;AACAvK,YAAAA,KAAK,CAACqK,cAAN,CAAqBO,KAArB,CAA2BnmC,KAA3B;;AACAu7B,YAAAA,KAAK,CAACqK,cAAN,CAAqBiB,KAArB,CAA2B7mC,KAA3B;;AACA61B,YAAAA,MAAM,CAACsD,0GAAA,EAAD,CAAN;;AACAoC,YAAAA,KAAK,CAACmK,kBAAN,CAAyBpG,MAAzB,CAAgCvQ,GAAG,CAAC4W,UAApC;AACH,WAViB,EAUfpK,KAAK,CAACgK,kBAVS,CAAlB,CAFqD,CAYvB;AACjC,SAbiB,CAAf,CAAP;AAcH,OA9BiB,CAAlB;AA+BH,KAlCe,CAAhB;AAmCH,GApCD;AAqCA;AACJ;AACA;AACA;;;AACIxM,EAAAA,oBAAoB,CAACpE,SAArB,CAA+BoR,eAA/B,GAAiD,UAAU7vB,KAAV,EAAiB;AAC9D,SAAKmU,MAAL,CAAYqJ,KAAZ,CAAkB,+CAAlB,EAD8D,CAE9D;;AACA,QAAIxd,KAAK,CAAC+wB,MAAN,KAAiBp9B,MAArB,EAA6B;AACzB;AACH;;AACD,QAAI0f,OAAO,GAAGrT,KAAK,CAAC7jB,IAApB;;AACA,QAAI,CAACk3B,OAAO,CAACyc,OAAT,IAAoBzc,OAAO,CAACyc,OAAR,KAAoBZ,kFAA5C,EAAwE;AACpE;AACH;;AACD,QAAI7b,OAAO,CAACic,WAAR,IAAuBjc,OAAO,CAACic,WAAR,KAAwB,KAAKA,WAAxD,EAAqE;AACjE;AACH;;AACD,QAAIjc,OAAO,CAACxnB,IAAR,CAAaktB,MAAb,KAAwBoW,8FAA5B,EAAoE;AAChE;AACA,WAAKhb,MAAL,CAAYe,OAAZ,CAAoB7B,OAAO,CAACic,WAAR,GAAsB,wBAAwBjc,OAAO,CAACic,WAAhC,GAA8C,gBAApE,GAAuF,wBAA3G;AACA0B,MAAAA,YAAY,CAAC,KAAKJ,SAAN,CAAZ;AACA,WAAKlB,cAAL,CAAoBO,KAApB,CAA0BnmC,KAA1B;AACA,WAAK4lC,cAAL,CAAoBiB,KAApB,CAA0B7mC,KAA1B;AACA6J,MAAAA,MAAM,CAACk9B,mBAAP,CAA2B,SAA3B,EAAsC,KAAKjB,cAA3C,EAA2D,KAA3D;AACA,UAAIqB,iBAAiB,GAAG,KAAKzB,kBAAL,CAAwBv6C,GAAxB,CAA4Bo+B,OAAO,CAACoc,UAApC,CAAxB;;AACA,UAAIwB,iBAAJ,EAAuB;AACnBA,QAAAA,iBAAiB,CAACtR,MAAlB,CAAyBsD,+GAAA,EAAzB;AACH;AACJ;AACJ,GAzBD;AA0BA;AACJ;AACA;AACA;;;AACIJ,EAAAA,oBAAoB,CAACpE,SAArB,CAA+BiS,gBAA/B,GAAkD,UAAU1wB,KAAV,EAAiB;AAC/D,SAAKmU,MAAL,CAAYqJ,KAAZ,CAAkB,iDAAlB;AACA,QAAInK,OAAO,GAAGrT,KAAK,CAAC7jB,IAApB;AACA,QAAIg1C,QAAQ,GAAG,KAAK5B,SAAL,CAAet6C,GAAf,CAAmBo+B,OAAO,CAACoc,UAA3B,CAAf;AACA,QAAIwB,iBAAiB,GAAG,KAAKzB,kBAAL,CAAwBv6C,GAAxB,CAA4Bo+B,OAAO,CAACoc,UAApC,CAAxB;;AACA,QAAI;AACA,UAAI1W,MAAM,GAAG1F,OAAO,CAACxnB,IAAR,CAAaktB,MAA1B;;AACA,UAAIA,MAAM,KAAKoW,sFAAf,EAA+C;AAC3C,YAAI,CAACgC,QAAL,EAAe;AACX;AACH;;AACD,YAAIpa,QAAQ,GAAG1D,OAAO,CAACxnB,IAAR,CAAakrB,QAA5B;AACA,aAAK5C,MAAL,CAAYqJ,KAAZ,CAAkB,iEAAlB;AACA,aAAKrJ,MAAL,CAAY6b,QAAZ,CAAqB,sEAAsE38B,IAAI,CAACI,SAAL,CAAesjB,QAAf,CAA3F;;AACA,YAAIA,QAAQ,CAACngB,MAAT,KAAoB,SAAxB,EAAmC;AAC/Bu6B,UAAAA,QAAQ,CAACxR,MAAT,CAAgBmD,kFAAA,CAA4B/L,QAAQ,CAACjsB,IAArC,EAA2CisB,QAAQ,CAAC11B,WAApD,EAAiE01B,QAAQ,CAACua,GAA1E,CAAhB;AACH,SAFD,MAGK,IAAIva,QAAQ,CAAC5wB,MAAb,EAAqB;AACtB,cAAI4wB,QAAQ,CAAC5wB,MAAT,CAAgB,MAAhB,KAA2B4wB,QAAQ,CAAC5wB,MAAT,CAAgB,aAAhB,CAA/B,EAA+D;AAC3DgrC,YAAAA,QAAQ,CAACxR,MAAT,CAAgBmD,kFAAA,CAA4B/L,QAAQ,CAAC5wB,MAAT,CAAgB,MAAhB,CAA5B,EAAqD4wB,QAAQ,CAAC5wB,MAAT,CAAgB,aAAhB,CAArD,EAAqF4wB,QAAQ,CAAC5wB,MAAT,CAAgB,KAAhB,CAArF,CAAhB;AACH,WAFD,MAGK;AACDgrC,YAAAA,QAAQ,CAAClT,OAAT,CAAiBlH,QAAQ,CAAC5wB,MAA1B;AACH;AACJ,SAPI,MAQA;AACD,gBAAMs7B,+EAAA,CAAgC,gCAAhC,CAAN;AACH;;AACD,aAAK8N,SAAL,CAAenG,MAAf,CAAsB/V,OAAO,CAACoc,UAA9B;AACH,OAtBD,MAuBK,IAAI1W,MAAM,KAAKoW,+FAAf,EAAwD;AACzD,YAAI,CAAC8B,iBAAL,EAAwB;AACpB;AACH;;AACDD,QAAAA,YAAY,CAAC,KAAKJ,SAAN,CAAZ,CAJyD,CAI3B;;AAC9Bj9B,QAAAA,MAAM,CAACk9B,mBAAP,CAA2B,SAA3B,EAAsC,KAAKjB,cAA3C,EAA2D,KAA3D,EALyD,CAKU;;AACnE,aAAKN,WAAL,GAAmBjc,OAAO,CAACic,WAA3B;AACA,aAAKmC,gBAAL,GAAwBpe,OAAO,CAACxnB,IAAR,CAAazW,OAArC;AACA,aAAK++B,MAAL,CAAYe,OAAZ,CAAoB,uEAAuE,KAAKoa,WAAhG;AACA2B,QAAAA,iBAAiB,CAAChT,OAAlB;AACA,aAAKuR,kBAAL,CAAwBpG,MAAxB,CAA+B/V,OAAO,CAACoc,UAAvC;AACH,OApCD,CAqCA;;AACH,KAtCD,CAuCA,OAAO9e,GAAP,EAAY;AACR,WAAKwD,MAAL,CAAYtpB,KAAZ,CAAkB,2CAAlB;AACA,WAAKspB,MAAL,CAAYgE,QAAZ,CAAqB,gDAAgDxH,GAAG,CAAC+gB,QAAJ,EAArE;AACA,WAAKvd,MAAL,CAAYgE,QAAZ,CAAqB,qBAAqBnY,KAA1C;;AACA,UAAImxB,QAAJ,EAAc;AACVA,QAAAA,QAAQ,CAACxR,MAAT,CAAgBhP,GAAhB;AACH,OAFD,MAGK,IAAIsgB,iBAAJ,EAAuB;AACxBA,QAAAA,iBAAiB,CAACtR,MAAlB,CAAyBhP,GAAzB;AACH;AACJ;AACJ,GAvDD;AAwDA;AACJ;AACA;AACA;;;AACIkS,EAAAA,oBAAoB,CAACpE,SAArB,CAA+BkT,cAA/B,GAAgD,YAAY;AACxD,WAAO,KAAKrC,WAAZ;AACH,GAFD;AAGA;AACJ;AACA;AACA;;;AACIzM,EAAAA,oBAAoB,CAACpE,SAArB,CAA+BmT,mBAA/B,GAAqD,YAAY;AAC7D,WAAO,KAAKH,gBAAZ;AACH,GAFD;AAGA;AACJ;AACA;AACA;AACA;AACA;AACA;;;AACI5O,EAAAA,oBAAoB,CAAC6C,iBAArB,GAAyC,UAAUxxC,MAAV,EAAkBigC,MAAlB,EAA0B2Q,uBAA1B,EAAmD8G,oBAAnD,EAAyE;AAC9GzX,IAAAA,MAAM,CAACqJ,KAAP,CAAa,0BAAb;;AACA,QAAI,CAACtpC,MAAM,CAAC27B,MAAP,CAAc8U,iBAAnB,EAAsC;AAClCxQ,MAAAA,MAAM,CAACqJ,KAAP,CAAa,sEAAb,EADkC,CAElC;;AACA,aAAO,KAAP;AACH;;AACD,QAAI,CAACsH,uBAAL,EAA8B;AAC1B3Q,MAAAA,MAAM,CAACqJ,KAAP,CAAa,+EAAb,EAD0B,CAE1B;;AACA,aAAO,KAAP;AACH;;AACD,QAAIoO,oBAAJ,EAA0B;AACtB,cAAQA,oBAAR;AACI,aAAKwD,2EAAL;AACA,aAAKA,wEAAL;AACIjb,UAAAA,MAAM,CAACqJ,KAAP,CAAa,sEAAb;AACA,iBAAO,IAAP;;AACJ;AACIrJ,UAAAA,MAAM,CAACqJ,KAAP,CAAa,2EAAb;AACA,iBAAO,KAAP;AAPR;AASH;;AACD,WAAO,IAAP;AACH,GAxBD;;AAyBA,SAAOqF,oBAAP;AACH,CArPyC,EAA1C;;;;;;;;;;;;;;;;;;;;;ACZA;AACa;;AACb;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;;AACA;AACA;AACA;AACA;;AACA,IAAIoP,kBAAkB;AAAG;AAAe,YAAY;AAChD,WAASA,kBAAT,CAA4B9d,MAA5B,EAAoC+d,SAApC,EAA+C;AAC3C,SAAKC,aAAL,GAAqB,IAAIhO,4DAAJ,EAArB;AACA,SAAKiO,cAAL,GAAsB,IAAIJ,gEAAJ,EAAtB;AACA,SAAK7d,MAAL,GAAcA,MAAd;AACA,SAAK+d,SAAL,GAAiBA,SAAjB;AACH;;AACDD,EAAAA,kBAAkB,CAACxT,SAAnB,CAA6B4T,yBAA7B,GAAyD,UAAUxnC,KAAV,EAAiB;AACtE,QAAIA,KAAK,YAAYo4B,wEAAjB,IAAqCp4B,KAAK,CAACk9B,SAAN,KAAoBgK,wGAA7D,EAA+G;AAC3G,WAAK5d,MAAL,CAAYtpB,KAAZ,CAAkB,6IAAlB;AACH,KAFD,MAGK;AACD,YAAMA,KAAN;AACH;AACJ,GAPD;AAQA;AACJ;AACA;AACA;AACA;;;AACIonC,EAAAA,kBAAkB,CAACxT,SAAnB,CAA6B8T,OAA7B,GAAuC,UAAUjY,GAAV,EAAe;AAClD,WAAOlI,4DAAS,CAAC,IAAD,EAAO,KAAK,CAAZ,EAAe,KAAK,CAApB,EAAuB,YAAY;AAC/C,UAAIpjB,IAAJ,EAAUw1B,GAAV;AACA,aAAOxE,8DAAW,CAAC,IAAD,EAAO,UAAUuE,EAAV,EAAc;AACnC,gBAAQA,EAAE,CAACrE,KAAX;AACI,eAAK,CAAL;AACIlxB,YAAAA,IAAI,GAAG,KAAKmjC,aAAL,CAAmBI,OAAnB,CAA2BjY,GAA3B,CAAP;AACA,gBAAI,CAAC,CAACtrB,IAAN,EAAY,OAAO,CAAC;AAAE;AAAH,cAAc,CAAd,CAAP;AACZu1B,YAAAA,EAAE,CAACrE,KAAH,GAAW,CAAX;;AACJ,eAAK,CAAL;AACIqE,YAAAA,EAAE,CAACnE,IAAH,CAAQ3F,IAAR,CAAa,CAAC,CAAD,EAAI,CAAJ,GAAS,CAAT,CAAb;;AACA,iBAAKtG,MAAL,CAAYe,OAAZ,CAAoB,6EAApB;AACA,mBAAO,CAAC;AAAE;AAAH,cAAc,KAAKkd,cAAL,CAAoBG,OAApB,CAA4BjY,GAA5B,CAAd,CAAP;;AACJ,eAAK,CAAL;AAAQ,mBAAO,CAAC;AAAE;AAAH,cAAeiK,EAAE,CAACpE,IAAH,EAAf,CAAP;;AACR,eAAK,CAAL;AACIqE,YAAAA,GAAG,GAAGD,EAAE,CAACpE,IAAH,EAAN;AACA,iBAAKkS,yBAAL,CAA+B7N,GAA/B;AACA,mBAAO,CAAC;AAAE;AAAH,cAAc,CAAd,CAAP;;AACJ,eAAK,CAAL;AAAQ,mBAAO,CAAC;AAAE;AAAH,cAAex1B,IAAf,CAAP;AAdZ;AAgBH,OAjBiB,CAAlB;AAkBH,KApBe,CAAhB;AAqBH,GAtBD;AAuBA;AACJ;AACA;AACA;AACA;AACA;;;AACIijC,EAAAA,kBAAkB,CAACxT,SAAnB,CAA6B+T,OAA7B,GAAuC,UAAUlY,GAAV,EAAe50B,KAAf,EAAsB;AACzD,WAAO0sB,4DAAS,CAAC,IAAD,EAAO,KAAK,CAAZ,EAAe,KAAK,CAApB,EAAuB,YAAY;AAC/C,UAAIqgB,GAAJ;AACA,aAAOzS,8DAAW,CAAC,IAAD,EAAO,UAAUuE,EAAV,EAAc;AACnC,gBAAQA,EAAE,CAACrE,KAAX;AACI,eAAK,CAAL;AACI,iBAAKiS,aAAL,CAAmBK,OAAnB,CAA2BlY,GAA3B,EAAgC50B,KAAhC;AACA6+B,YAAAA,EAAE,CAACrE,KAAH,GAAW,CAAX;;AACJ,eAAK,CAAL;AACIqE,YAAAA,EAAE,CAACnE,IAAH,CAAQ3F,IAAR,CAAa,CAAC,CAAD,EAAI,CAAJ,GAAS,CAAT,CAAb;;AACA,mBAAO,CAAC;AAAE;AAAH,cAAc,KAAK2X,cAAL,CAAoBI,OAApB,CAA4BlY,GAA5B,EAAiC50B,KAAjC,CAAd,CAAP;;AACJ,eAAK,CAAL;AACI6+B,YAAAA,EAAE,CAACpE,IAAH;;AACA,mBAAO,CAAC;AAAE;AAAH,cAAc,CAAd,CAAP;;AACJ,eAAK,CAAL;AACIsS,YAAAA,GAAG,GAAGlO,EAAE,CAACpE,IAAH,EAAN;AACA,iBAAKkS,yBAAL,CAA+BI,GAA/B;AACA,mBAAO,CAAC;AAAE;AAAH,cAAc,CAAd,CAAP;;AACJ,eAAK,CAAL;AAAQ,mBAAO,CAAC;AAAE;AAAH,aAAP;AAdZ;AAgBH,OAjBiB,CAAlB;AAkBH,KApBe,CAAhB;AAqBH,GAtBD;AAuBA;AACJ;AACA;AACA;;;AACIR,EAAAA,kBAAkB,CAACxT,SAAnB,CAA6BiU,UAA7B,GAA0C,UAAUpY,GAAV,EAAe;AACrD,WAAOlI,4DAAS,CAAC,IAAD,EAAO,KAAK,CAAZ,EAAe,KAAK,CAApB,EAAuB,YAAY;AAC/C,UAAIugB,GAAJ;AACA,aAAO3S,8DAAW,CAAC,IAAD,EAAO,UAAUuE,EAAV,EAAc;AACnC,gBAAQA,EAAE,CAACrE,KAAX;AACI,eAAK,CAAL;AACI,iBAAKiS,aAAL,CAAmBO,UAAnB,CAA8BpY,GAA9B;AACAiK,YAAAA,EAAE,CAACrE,KAAH,GAAW,CAAX;;AACJ,eAAK,CAAL;AACIqE,YAAAA,EAAE,CAACnE,IAAH,CAAQ3F,IAAR,CAAa,CAAC,CAAD,EAAI,CAAJ,GAAS,CAAT,CAAb;;AACA,mBAAO,CAAC;AAAE;AAAH,cAAc,KAAK2X,cAAL,CAAoBM,UAApB,CAA+BpY,GAA/B,CAAd,CAAP;;AACJ,eAAK,CAAL;AACIiK,YAAAA,EAAE,CAACpE,IAAH;;AACA,mBAAO,CAAC;AAAE;AAAH,cAAc,CAAd,CAAP;;AACJ,eAAK,CAAL;AACIwS,YAAAA,GAAG,GAAGpO,EAAE,CAACpE,IAAH,EAAN;AACA,iBAAKkS,yBAAL,CAA+BM,GAA/B;AACA,mBAAO,CAAC;AAAE;AAAH,cAAc,CAAd,CAAP;;AACJ,eAAK,CAAL;AAAQ,mBAAO,CAAC;AAAE;AAAH,aAAP;AAdZ;AAgBH,OAjBiB,CAAlB;AAkBH,KApBe,CAAhB;AAqBH,GAtBD;AAuBA;AACJ;AACA;AACA;;;AACIV,EAAAA,kBAAkB,CAACxT,SAAnB,CAA6BmU,OAA7B,GAAuC,YAAY;AAC/C,WAAOxgB,4DAAS,CAAC,IAAD,EAAO,KAAK,CAAZ,EAAe,KAAK,CAApB,EAAuB,YAAY;AAC/C,UAAIygB,SAAJ,EAAeC,GAAf;AACA,aAAO9S,8DAAW,CAAC,IAAD,EAAO,UAAUuE,EAAV,EAAc;AACnC,gBAAQA,EAAE,CAACrE,KAAX;AACI,eAAK,CAAL;AACI2S,YAAAA,SAAS,GAAG,KAAKV,aAAL,CAAmBS,OAAnB,EAAZ;AACA,gBAAI,EAAEC,SAAS,CAAC1xC,MAAV,KAAqB,CAAvB,CAAJ,EAA+B,OAAO,CAAC;AAAE;AAAH,cAAc,CAAd,CAAP;AAC/BojC,YAAAA,EAAE,CAACrE,KAAH,GAAW,CAAX;;AACJ,eAAK,CAAL;AACIqE,YAAAA,EAAE,CAACnE,IAAH,CAAQ3F,IAAR,CAAa,CAAC,CAAD,EAAI,CAAJ,GAAS,CAAT,CAAb;;AACA,iBAAKtG,MAAL,CAAYe,OAAZ,CAAoB,4DAApB;AACA,mBAAO,CAAC;AAAE;AAAH,cAAc,KAAKkd,cAAL,CAAoBQ,OAApB,EAAd,CAAP;;AACJ,eAAK,CAAL;AAAQ,mBAAO,CAAC;AAAE;AAAH,cAAerO,EAAE,CAACpE,IAAH,EAAf,CAAP;;AACR,eAAK,CAAL;AACI2S,YAAAA,GAAG,GAAGvO,EAAE,CAACpE,IAAH,EAAN;AACA,iBAAKkS,yBAAL,CAA+BS,GAA/B;AACA,mBAAO,CAAC;AAAE;AAAH,cAAc,CAAd,CAAP;;AACJ,eAAK,CAAL;AAAQ,mBAAO,CAAC;AAAE;AAAH,cAAeD,SAAf,CAAP;AAdZ;AAgBH,OAjBiB,CAAlB;AAkBH,KApBe,CAAhB;AAqBH,GAtBD;AAuBA;AACJ;AACA;AACA;;;AACIZ,EAAAA,kBAAkB,CAACxT,SAAnB,CAA6BsU,WAA7B,GAA2C,UAAUzY,GAAV,EAAe;AACtD,WAAOlI,4DAAS,CAAC,IAAD,EAAO,KAAK,CAAZ,EAAe,KAAK,CAApB,EAAuB,YAAY;AAC/C,UAAI2gB,WAAJ,EAAiBC,GAAjB;AACA,aAAOhT,8DAAW,CAAC,IAAD,EAAO,UAAUuE,EAAV,EAAc;AACnC,gBAAQA,EAAE,CAACrE,KAAX;AACI,eAAK,CAAL;AACI6S,YAAAA,WAAW,GAAG,KAAKZ,aAAL,CAAmBY,WAAnB,CAA+BzY,GAA/B,CAAd;AACA,gBAAI,CAAC,CAACyY,WAAN,EAAmB,OAAO,CAAC;AAAE;AAAH,cAAc,CAAd,CAAP;AACnBxO,YAAAA,EAAE,CAACrE,KAAH,GAAW,CAAX;;AACJ,eAAK,CAAL;AACIqE,YAAAA,EAAE,CAACnE,IAAH,CAAQ3F,IAAR,CAAa,CAAC,CAAD,EAAI,CAAJ,GAAS,CAAT,CAAb;;AACA,iBAAKtG,MAAL,CAAYe,OAAZ,CAAoB,oEAApB;AACA,mBAAO,CAAC;AAAE;AAAH,cAAc,KAAKkd,cAAL,CAAoBW,WAApB,CAAgCzY,GAAhC,CAAd,CAAP;;AACJ,eAAK,CAAL;AAAQ,mBAAO,CAAC;AAAE;AAAH,cAAeiK,EAAE,CAACpE,IAAH,EAAf,CAAP;;AACR,eAAK,CAAL;AACI6S,YAAAA,GAAG,GAAGzO,EAAE,CAACpE,IAAH,EAAN;AACA,iBAAKkS,yBAAL,CAA+BW,GAA/B;AACA,mBAAO,CAAC;AAAE;AAAH,cAAc,CAAd,CAAP;;AACJ,eAAK,CAAL;AAAQ,mBAAO,CAAC;AAAE;AAAH,cAAeD,WAAf,CAAP;AAdZ;AAgBH,OAjBiB,CAAlB;AAkBH,KApBe,CAAhB;AAqBH,GAtBD;AAuBA;AACJ;AACA;;;AACId,EAAAA,kBAAkB,CAACxT,SAAnB,CAA6BwU,aAA7B,GAA6C,YAAY;AACrD;AACA,SAAK9e,MAAL,CAAYe,OAAZ,CAAoB,iCAAiC,KAAKgd,SAA1D;AACA,SAAKC,aAAL,CAAmBe,KAAnB;AACA,SAAK/e,MAAL,CAAYe,OAAZ,CAAoB,wBAAwB,KAAKgd,SAA7B,GAAyC,UAA7D;AACH,GALD;AAMA;AACJ;AACA;AACA;;;AACID,EAAAA,kBAAkB,CAACxT,SAAnB,CAA6B0U,eAA7B,GAA+C,YAAY;AACvD,WAAO/gB,4DAAS,CAAC,IAAD,EAAO,KAAK,CAAZ,EAAe,KAAK,CAApB,EAAuB,YAAY;AAC/C,UAAIghB,SAAJ,EAAeC,GAAf;AACA,aAAOrT,8DAAW,CAAC,IAAD,EAAO,UAAUuE,EAAV,EAAc;AACnC,gBAAQA,EAAE,CAACrE,KAAX;AACI,eAAK,CAAL;AACIqE,YAAAA,EAAE,CAACnE,IAAH,CAAQ3F,IAAR,CAAa,CAAC,CAAD,EAAI,CAAJ,GAAS,CAAT,CAAb;;AACA,iBAAKtG,MAAL,CAAYe,OAAZ,CAAoB,8BAApB;AACA,mBAAO,CAAC;AAAE;AAAH,cAAc,KAAKkd,cAAL,CAAoBkB,cAApB,EAAd,CAAP;;AACJ,eAAK,CAAL;AACIF,YAAAA,SAAS,GAAG7O,EAAE,CAACpE,IAAH,EAAZ;;AACA,gBAAIiT,SAAJ,EAAe;AACX,mBAAKjf,MAAL,CAAYe,OAAZ,CAAoB,6BAApB;AACH;;AACD,mBAAO,CAAC;AAAE;AAAH,cAAeke,SAAf,CAAP;;AACJ,eAAK,CAAL;AACIC,YAAAA,GAAG,GAAG9O,EAAE,CAACpE,IAAH,EAAN;AACA,iBAAKkS,yBAAL,CAA+BgB,GAA/B;AACA,mBAAO,CAAC;AAAE;AAAH,cAAe,KAAf,CAAP;;AACJ,eAAK,CAAL;AAAQ,mBAAO,CAAC;AAAE;AAAH,aAAP;AAfZ;AAiBH,OAlBiB,CAAlB;AAmBH,KArBe,CAAhB;AAsBH,GAvBD;;AAwBA,SAAOpB,kBAAP;AACH,CA/LuC,EAAxC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACfA;AACa;;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;;AACA;AACA;AACA;AACA;AACA;;AACA,IAAIlQ,mBAAmB;AAAG;AAAe,UAAUzE,MAAV,EAAkB;AACvDqB,EAAAA,4DAAS,CAACoD,mBAAD,EAAsBzE,MAAtB,CAAT;;AACA,WAASyE,mBAAT,CAA6BzS,QAA7B,EAAuCilB,WAAvC,EAAoDC,UAApD,EAAgErgB,MAAhE,EAAwE;AACpE,QAAIkR,KAAK,GAAG/H,MAAM,CAACK,IAAP,CAAY,IAAZ,EAAkBrO,QAAlB,EAA4BklB,UAA5B,KAA2C,IAAvD,CADoE,CAEpE;;;AACAnP,IAAAA,KAAK,CAACoP,sBAAN,GAA+B,KAAK,EAAL,GAAU,EAAV,GAAe,IAA9C;AACApP,IAAAA,KAAK,CAACkP,WAAN,GAAoBA,WAApB;AACAlP,IAAAA,KAAK,CAAClR,MAAN,GAAeA,MAAf;AACAkR,IAAAA,KAAK,CAACqP,eAAN,GAAwB,IAAIvQ,4DAAJ,EAAxB;AACAkB,IAAAA,KAAK,CAACpB,cAAN,GAAuBoB,KAAK,CAACsP,mBAAN,CAA0BtP,KAAK,CAACkP,WAAN,CAAkB7kB,aAA5C,CAAvB;AACA2V,IAAAA,KAAK,CAACuP,qBAAN,GAA8BvP,KAAK,CAACwP,0BAAN,CAAiCxP,KAAK,CAACkP,WAAN,CAAkB7kB,aAAnD,CAA9B,CARoE,CASpE;;AACA2V,IAAAA,KAAK,CAACyP,mBAAN;;AACA,WAAOzP,KAAP;AACH;AACD;AACJ;AACA;AACA;;;AACItD,EAAAA,mBAAmB,CAACtD,SAApB,CAA8BkW,mBAA9B,GAAoD,UAAUjlB,aAAV,EAAyB;AACzE,YAAQA,aAAR;AACI,WAAKP,yFAAL;AACA,WAAKA,2FAAL;AACI,YAAI;AACA;AACA,iBAAO,IAAIklB,8DAAJ,CAAmB3kB,aAAnB,CAAP;AACH,SAHD,CAIA,OAAOyP,CAAP,EAAU;AACN,eAAKhL,MAAL,CAAYe,OAAZ,CAAoBiK,CAApB;AACA;AACH;;AAVT;;AAYA,SAAKoV,WAAL,CAAiB7kB,aAAjB,GAAiCP,0FAAjC;AACA,WAAO,IAAIgV,4DAAJ,EAAP;AACH,GAfD;AAgBA;AACJ;AACA;AACA;;;AACIpC,EAAAA,mBAAmB,CAACtD,SAApB,CAA8BoW,0BAA9B,GAA2D,UAAUnlB,aAAV,EAAyB;AAChF,YAAQA,aAAR;AACI,WAAKP,yFAAL;AACA,WAAKA,2FAAL;AACI,YAAI;AACA;AACA,iBAAO,IAAIklB,8DAAJ,CAAmBllB,2FAAnB,CAAP;AACH,SAHD,CAIA,OAAOgQ,CAAP,EAAU;AACN,eAAKhL,MAAL,CAAYe,OAAZ,CAAoBiK,CAApB;AACA,iBAAO,KAAKuV,eAAZ;AACH;;AACL,WAAKvlB,0FAAL;AACA;AACI,eAAO,KAAKulB,eAAZ;AAbR;AAeH,GAhBD;AAiBA;AACJ;AACA;AACA;;;AACI3S,EAAAA,mBAAmB,CAACtD,SAApB,CAA8BqW,mBAA9B,GAAoD,YAAY;AAC5D,QAAIzP,KAAK,GAAG,IAAZ;;AACA,QAAI2P,UAAU,GAAG1T,sEAAA,GAAyB,GAAzB,GAA+ByS,4EAAhD;AACA,QAAIoB,aAAa,GAAG7T,sEAAA,GAAyB,GAAzB,GAA+ByS,+EAAnD;AACA,QAAIsB,QAAQ,GAAG/T,sEAAA,GAAyB,GAAzB,GAA+ByS,yEAA9C;AACA,QAAIwB,YAAY,GAAGjU,sEAAA,GAAyB,GAAzB,GAA+ByS,8EAAlD;AACA,QAAI0B,YAAY,GAAG,KAAKxR,cAAL,CAAoBsO,OAApB,CAA4ByC,UAA5B,CAAnB;AACA,QAAIU,eAAe,GAAG,KAAKzR,cAAL,CAAoBsO,OAApB,CAA4B4C,aAA5B,CAAtB;AACA,QAAIQ,UAAU,GAAG,KAAK1R,cAAL,CAAoBsO,OAApB,CAA4B8C,QAA5B,CAAjB;AACA,QAAIO,cAAc,GAAG,KAAK3R,cAAL,CAAoBsO,OAApB,CAA4BgD,YAA5B,CAArB;AACA,QAAIM,MAAM,GAAG,CAACJ,YAAD,EAAeC,eAAf,EAAgCC,UAAhC,EAA4CC,cAA5C,CAAb;AACA,QAAIE,aAAa,GAAG,CAAC/B,4EAAD,EAA+BA,+EAA/B,EAAgEA,yEAAhE,EAA2FA,8EAA3F,CAApB;AACA+B,IAAAA,aAAa,CAACzb,OAAd,CAAsB,UAAU0b,QAAV,EAAoBC,KAApB,EAA2B;AAAE,aAAO3Q,KAAK,CAAC4Q,iBAAN,CAAwBF,QAAxB,EAAkCF,MAAM,CAACG,KAAD,CAAxC,CAAP;AAA0D,KAA7G;AACH,GAbD;AAcA;AACJ;AACA;AACA;AACA;AACA;;;AACIjU,EAAAA,mBAAmB,CAACtD,SAApB,CAA8BwX,iBAA9B,GAAkD,UAAUC,MAAV,EAAkBxwC,KAAlB,EAAyB;AACvE,QAAIA,KAAJ,EAAW;AACP,WAAKywC,iBAAL,CAAuBD,MAAvB,EAA+BxwC,KAA/B,EAAsC,IAAtC;AACH;AACJ,GAJD;AAKA;AACJ;AACA;AACA;;;AACIq8B,EAAAA,mBAAmB,CAACtD,SAApB,CAA8B2X,oBAA9B,GAAqD,UAAUC,SAAV,EAAqB;AACtE,QAAI;AACA,UAAIC,UAAU,GAAGjjC,IAAI,CAACC,KAAL,CAAW+iC,SAAX,CAAjB;AACA;AACZ;AACA;AACA;AACA;AACA;;AACY,aAAQC,UAAU,IAAI,OAAOA,UAAP,KAAsB,QAArC,GAAiDA,UAAjD,GAA8D,IAArE;AACH,KATD,CAUA,OAAOzrC,KAAP,EAAc;AACV,aAAO,IAAP;AACH;AACJ,GAdD;AAeA;AACJ;AACA;AACA;;;AACIk3B,EAAAA,mBAAmB,CAACtD,SAApB,CAA8B8T,OAA9B,GAAwC,UAAUjY,GAAV,EAAe;AACnD,WAAO,KAAK2J,cAAL,CAAoBsO,OAApB,CAA4BjY,GAA5B,CAAP;AACH,GAFD;AAGA;AACJ;AACA;AACA;AACA;;;AACIyH,EAAAA,mBAAmB,CAACtD,SAApB,CAA8B+T,OAA9B,GAAwC,UAAUlY,GAAV,EAAe50B,KAAf,EAAsB;AAC1D,SAAKu+B,cAAL,CAAoBuO,OAApB,CAA4BlY,GAA5B,EAAiC50B,KAAjC;AACH,GAFD;AAGA;AACJ;AACA;AACA;;;AACIq8B,EAAAA,mBAAmB,CAACtD,SAApB,CAA8B8X,UAA9B,GAA2C,UAAUC,UAAV,EAAsB;AAC7D,QAAIvf,OAAO,GAAG,KAAKsb,OAAL,CAAaiE,UAAb,CAAd;;AACA,QAAI,CAACvf,OAAL,EAAc;AACV,aAAO,IAAP;AACH;;AACD,QAAIwf,aAAa,GAAG,KAAKL,oBAAL,CAA0Bnf,OAA1B,CAApB;;AACA,QAAI,CAACwf,aAAD,IAAkB,CAAClD,6EAAA,CAA8BkD,aAA9B,CAAvB,EAAqE;AACjE,aAAO,IAAP;AACH;;AACD,WAAOjD,qEAAA,CAAsB,IAAID,6DAAJ,EAAtB,EAA2CkD,aAA3C,CAAP;AACH,GAVD;AAWA;AACJ;AACA;AACA;AACA;;;AACI1U,EAAAA,mBAAmB,CAACtD,SAApB,CAA8BmY,UAA9B,GAA2C,UAAU3f,OAAV,EAAmB;AAC1D,SAAK9C,MAAL,CAAYqJ,KAAZ,CAAkB,uCAAlB;AACA,QAAIlD,GAAG,GAAGrD,OAAO,CAAC4f,kBAAR,EAAV;AACA,SAAKrE,OAAL,CAAalY,GAAb,EAAkBjnB,IAAI,CAACI,SAAL,CAAewjB,OAAf,CAAlB;AACH,GAJD;AAKA;AACJ;AACA;AACA;;;AACI8K,EAAAA,mBAAmB,CAACtD,SAApB,CAA8BqY,oBAA9B,GAAqD,UAAU9B,UAAV,EAAsB;AACvE,QAAItvC,KAAK,GAAG,KAAK6sC,OAAL,CAAayC,UAAb,CAAZ;;AACA,QAAI,CAACtvC,KAAL,EAAY;AACR,WAAKyuB,MAAL,CAAYqJ,KAAZ,CAAkB,gEAAlB;AACA,aAAO,IAAP;AACH;;AACD,QAAIuZ,aAAa,GAAG,KAAKX,oBAAL,CAA0B1wC,KAA1B,CAApB;;AACA,QAAI,CAACqxC,aAAD,IAAkB,CAACtD,6EAAA,CAA8BsD,aAA9B,CAAvB,EAAqE;AACjE,WAAK5iB,MAAL,CAAYqJ,KAAZ,CAAkB,gEAAlB;AACA,aAAO,IAAP;AACH;;AACD,SAAKrJ,MAAL,CAAYqJ,KAAZ,CAAkB,qDAAlB;AACA,WAAOgW,qEAAA,CAAsB,IAAIC,6DAAJ,EAAtB,EAA2CsD,aAA3C,CAAP;AACH,GAbD;AAcA;AACJ;AACA;AACA;;;AACIhV,EAAAA,mBAAmB,CAACtD,SAApB,CAA8BwY,oBAA9B,GAAqD,UAAUnP,OAAV,EAAmB;AACpE,SAAK3T,MAAL,CAAYqJ,KAAZ,CAAkB,iDAAlB;AACA,QAAIwX,UAAU,GAAGlN,OAAO,CAACoP,qBAAR,EAAjB;AACA,SAAK1E,OAAL,CAAawC,UAAb,EAAyB3hC,IAAI,CAACI,SAAL,CAAeq0B,OAAf,CAAzB;AACH,GAJD;AAKA;AACJ;AACA;AACA;;;AACI/F,EAAAA,mBAAmB,CAACtD,SAApB,CAA8B0Y,wBAA9B,GAAyD,UAAUC,cAAV,EAA0B;AAC/E,QAAI1xC,KAAK,GAAG,KAAK6sC,OAAL,CAAa6E,cAAb,CAAZ;;AACA,QAAI,CAAC1xC,KAAL,EAAY;AACR,WAAKyuB,MAAL,CAAYqJ,KAAZ,CAAkB,oEAAlB;AACA,aAAO,IAAP;AACH;;AACD,QAAI6Z,iBAAiB,GAAG,KAAKjB,oBAAL,CAA0B1wC,KAA1B,CAAxB;;AACA,QAAI,CAAC2xC,iBAAD,IAAsB,CAAC3D,qFAAA,CAAsC2D,iBAAtC,CAA3B,EAAqF;AACjF,WAAKljB,MAAL,CAAYqJ,KAAZ,CAAkB,oEAAlB;AACA,aAAO,IAAP;AACH;;AACD,SAAKrJ,MAAL,CAAYqJ,KAAZ,CAAkB,yDAAlB;AACA,WAAOgW,qEAAA,CAAsB,IAAIE,iEAAJ,EAAtB,EAA+C2D,iBAA/C,CAAP;AACH,GAbD;AAcA;AACJ;AACA;AACA;;;AACItV,EAAAA,mBAAmB,CAACtD,SAApB,CAA8B8Y,wBAA9B,GAAyD,UAAUne,WAAV,EAAuB;AAC5E,SAAKjF,MAAL,CAAYqJ,KAAZ,CAAkB,qDAAlB;AACA,QAAI4Z,cAAc,GAAGhe,WAAW,CAAC8d,qBAAZ,EAArB;AACA,SAAK1E,OAAL,CAAa4E,cAAb,EAA6B/jC,IAAI,CAACI,SAAL,CAAe2lB,WAAf,CAA7B;AACH,GAJD;AAKA;AACJ;AACA;AACA;;;AACI2I,EAAAA,mBAAmB,CAACtD,SAApB,CAA8B+Y,yBAA9B,GAA0D,UAAUC,eAAV,EAA2B;AACjF,QAAI/xC,KAAK,GAAG,KAAK6sC,OAAL,CAAakF,eAAb,CAAZ;;AACA,QAAI,CAAC/xC,KAAL,EAAY;AACR,WAAKyuB,MAAL,CAAYqJ,KAAZ,CAAkB,qEAAlB;AACA,aAAO,IAAP;AACH;;AACD,QAAIka,kBAAkB,GAAG,KAAKtB,oBAAL,CAA0B1wC,KAA1B,CAAzB;;AACA,QAAI,CAACgyC,kBAAD,IAAuB,CAAC/D,uFAAA,CAAwC+D,kBAAxC,CAA5B,EAAyF;AACrF,WAAKvjB,MAAL,CAAYqJ,KAAZ,CAAkB,qEAAlB;AACA,aAAO,IAAP;AACH;;AACD,SAAKrJ,MAAL,CAAYqJ,KAAZ,CAAkB,0DAAlB;AACA,WAAOgW,qEAAA,CAAsB,IAAIG,kEAAJ,EAAtB,EAAgD+D,kBAAhD,CAAP;AACH,GAbD;AAcA;AACJ;AACA;AACA;;;AACI3V,EAAAA,mBAAmB,CAACtD,SAApB,CAA8BmZ,yBAA9B,GAA0D,UAAUC,YAAV,EAAwB;AAC9E,SAAK1jB,MAAL,CAAYqJ,KAAZ,CAAkB,sDAAlB;AACA,QAAIia,eAAe,GAAGI,YAAY,CAACX,qBAAb,EAAtB;AACA,SAAK1E,OAAL,CAAaiF,eAAb,EAA8BpkC,IAAI,CAACI,SAAL,CAAeokC,YAAf,CAA9B;AACH,GAJD;AAKA;AACJ;AACA;AACA;;;AACI9V,EAAAA,mBAAmB,CAACtD,SAApB,CAA8BqZ,cAA9B,GAA+C,UAAUC,cAAV,EAA0B;AACrE,QAAIryC,KAAK,GAAG,KAAK6sC,OAAL,CAAawF,cAAb,CAAZ;;AACA,QAAI,CAACryC,KAAL,EAAY;AACR,WAAKyuB,MAAL,CAAYqJ,KAAZ,CAAkB,0DAAlB;AACA,aAAO,IAAP;AACH;;AACD,QAAIwa,cAAc,GAAG,KAAK5B,oBAAL,CAA0B1wC,KAA1B,CAArB;;AACA,QAAI,CAACsyC,cAAD,IAAmB,CAACpE,sFAAA,CAAsCmE,cAAtC,EAAsDC,cAAtD,CAAxB,EAA+F;AAC3F,WAAK7jB,MAAL,CAAYqJ,KAAZ,CAAkB,0DAAlB;AACA,aAAO,IAAP;AACH;;AACD,SAAKrJ,MAAL,CAAYqJ,KAAZ,CAAkB,+CAAlB;AACA,WAAOgW,qEAAA,CAAsB,IAAII,kEAAJ,EAAtB,EAA+CoE,cAA/C,CAAP;AACH,GAbD;AAcA;AACJ;AACA;AACA;;;AACIjW,EAAAA,mBAAmB,CAACtD,SAApB,CAA8ByZ,cAA9B,GAA+C,UAAUC,WAAV,EAAuB;AAClE,SAAKhkB,MAAL,CAAYqJ,KAAZ,CAAkB,2CAAlB;AACA,QAAIua,cAAc,GAAGI,WAAW,CAACC,sBAAZ,EAArB;AACA,SAAK5F,OAAL,CAAauF,cAAb,EAA6B1kC,IAAI,CAACI,SAAL,CAAe0kC,WAAf,CAA7B;AACH,GAJD;AAKA;AACJ;AACA;AACA;;;AACIpW,EAAAA,mBAAmB,CAACtD,SAApB,CAA8B4Z,kBAA9B,GAAmD,UAAUC,kBAAV,EAA8B;AAC7E,QAAI5yC,KAAK,GAAG,KAAK6sC,OAAL,CAAa+F,kBAAb,CAAZ;;AACA,QAAI,CAAC5yC,KAAL,EAAY;AACR,WAAKyuB,MAAL,CAAYqJ,KAAZ,CAAkB,8DAAlB;AACA,aAAO,IAAP;AACH;;AACD,QAAIwa,cAAc,GAAG,KAAK5B,oBAAL,CAA0B1wC,KAA1B,CAArB;;AACA,QAAI,CAACsyC,cAAD,IAAmB,CAACnE,8FAAA,CAA8CyE,kBAA9C,EAAkEN,cAAlE,CAAxB,EAA2G;AACvG,WAAK7jB,MAAL,CAAYqJ,KAAZ,CAAkB,8DAAlB;AACA,aAAO,IAAP;AACH;;AACD,SAAKrJ,MAAL,CAAYqJ,KAAZ,CAAkB,mDAAlB;AACA,WAAOgW,qEAAA,CAAsB,IAAIK,sEAAJ,EAAtB,EAAmDmE,cAAnD,CAAP;AACH,GAbD;AAcA;AACJ;AACA;AACA;AACA;;;AACIjW,EAAAA,mBAAmB,CAACtD,SAApB,CAA8B+Z,kBAA9B,GAAmD,UAAUF,kBAAV,EAA8BG,eAA9B,EAA+C;AAC9F,SAAKtkB,MAAL,CAAYqJ,KAAZ,CAAkB,+CAAlB;AACA,SAAKgV,OAAL,CAAa8F,kBAAb,EAAiCjlC,IAAI,CAACI,SAAL,CAAeglC,eAAf,CAAjC;AACH,GAHD;AAIA;AACJ;AACA;;;AACI1W,EAAAA,mBAAmB,CAACtD,SAApB,CAA8Bia,oBAA9B,GAAqD,UAAUpe,GAAV,EAAe;AAChE,QAAI50B,KAAK,GAAG,KAAKgvC,eAAL,CAAqBnC,OAArB,CAA6BjY,GAA7B,CAAZ;;AACA,QAAI,CAAC50B,KAAL,EAAY;AACR,WAAKyuB,MAAL,CAAYqJ,KAAZ,CAAkB,gEAAlB;AACA,aAAO,IAAP;AACH;;AACD,QAAIwa,cAAc,GAAG,KAAK5B,oBAAL,CAA0B1wC,KAA1B,CAArB;;AACA,QAAIsyC,cAAc,IAAIlE,kGAAA,CAAkDxZ,GAAlD,EAAuD0d,cAAvD,CAAtB,EAA8F;AAC1F,WAAK7jB,MAAL,CAAYqJ,KAAZ,CAAkB,qDAAlB;AACA,aAAOgW,qEAAA,CAAsB,IAAIM,wEAAJ,EAAtB,EAAqDkE,cAArD,CAAP;AACH;;AACD,WAAO,IAAP;AACH,GAZD;AAaA;AACJ;AACA;;;AACIjW,EAAAA,mBAAmB,CAACtD,SAApB,CAA8Bma,wBAA9B,GAAyD,YAAY;AACjE,QAAIvT,KAAK,GAAG,IAAZ;;AACA,QAAIwT,OAAO,GAAG,KAAKnE,eAAL,CAAqB9B,OAArB,EAAd;AACA,WAAOiG,OAAO,CAAC16C,MAAR,CAAe,UAAUm8B,GAAV,EAAe;AACjC,aAAO+K,KAAK,CAACyT,mBAAN,CAA0Bxe,GAA1B,CAAP;AACH,KAFM,CAAP;AAGH,GAND;AAOA;AACJ;AACA;AACA;AACA;;;AACIyH,EAAAA,mBAAmB,CAACtD,SAApB,CAA8BoO,kBAA9B,GAAmD,UAAUkM,UAAV,EAAsBC,cAAtB,EAAsC;AACrF,SAAKtE,eAAL,CAAqBlC,OAArB,CAA6B4B,qFAA7B,EAA4D2E,UAA5D;AACA,SAAKrE,eAAL,CAAqBlC,OAArB,CAA6B4B,qFAA7B,EAA4D4E,cAA5D;AACH,GAHD;AAIA;AACJ;AACA;;;AACIjX,EAAAA,mBAAmB,CAACtD,SAApB,CAA8B0a,kBAA9B,GAAmD,YAAY;AAC3D,QAAIvM,GAAG,GAAG,KAAK8H,eAAL,CAAqBnC,OAArB,CAA6B6B,qFAA7B,KAA+D9S,sEAAzE;AACA,QAAIlsC,OAAO,GAAG,KAAKs/C,eAAL,CAAqBnC,OAArB,CAA6B6B,qFAA7B,KAA+D9S,sEAA7E;AACA,WAAO,CAACsL,GAAD,EAAMx3C,OAAN,CAAP;AACH,GAJD;AAKA;AACJ;AACA;AACA;;;AACI2sC,EAAAA,mBAAmB,CAACtD,SAApB,CAA8B2a,oBAA9B,GAAqD,UAAU9e,GAAV,EAAe+e,MAAf,EAAuB;AACxE,SAAKllB,MAAL,CAAYqJ,KAAZ,CAAkB,iDAAlB;AACA,SAAKkX,eAAL,CAAqBlC,OAArB,CAA6BlY,GAA7B,EAAkCjnB,IAAI,CAACI,SAAL,CAAe4lC,MAAf,CAAlC;AACH,GAHD;AAIA;AACJ;AACA;;;AACItX,EAAAA,mBAAmB,CAACtD,SAApB,CAA8BxF,gBAA9B,GAAiD,YAAY;AACzD,QAAIqgB,uBAAuB,GAAG,KAAKC,gBAAL,CAAsBxF,0FAAtB,CAA9B;AACA,QAAI0F,yBAAyB,GAAG,KAAKlH,OAAL,CAAa+G,uBAAb,CAAhC;;AACA,QAAI,CAACG,yBAAL,EAAgC;AAC5B;AACA,WAAKtlB,MAAL,CAAYqJ,KAAZ,CAAkB,yEAAlB;AACA,UAAIkc,qBAAqB,GAAG,KAAKH,gBAAL,CAAsBxF,kFAAtB,CAA5B;AACA,UAAI6F,uBAAuB,GAAG,KAAKrH,OAAL,CAAamH,qBAAb,CAA9B;;AACA,UAAI,CAACE,uBAAL,EAA8B;AAC1B,aAAKzlB,MAAL,CAAYqJ,KAAZ,CAAkB,yBAAlB;AACA,eAAO,IAAP;AACH;;AACD,UAAIqc,aAAa,GAAG,KAAKC,sBAAL,CAA4B;AAAE3O,QAAAA,cAAc,EAAEyO;AAAlB,OAA5B,EAAyE,CAAzE,KAA+E,IAAnG;;AACA,UAAIC,aAAJ,EAAmB;AACf,aAAK1lB,MAAL,CAAYqJ,KAAZ,CAAkB,0CAAlB;AACA,aAAKrJ,MAAL,CAAYqJ,KAAZ,CAAkB,4CAAlB;AACA,aAAKxG,gBAAL,CAAsB6iB,aAAtB;AACA,eAAOA,aAAP;AACH;;AACD,aAAO,IAAP;AACH;;AACD,QAAIE,qBAAqB,GAAG,KAAK3D,oBAAL,CAA0BqD,yBAA1B,CAA5B;;AACA,QAAIM,qBAAJ,EAA2B;AACvB,WAAK5lB,MAAL,CAAYqJ,KAAZ,CAAkB,qCAAlB;AACA,aAAO,KAAKsc,sBAAL,CAA4B;AAC/B7O,QAAAA,aAAa,EAAE8O,qBAAqB,CAAC9O,aADN;AAE/BE,QAAAA,cAAc,EAAE4O,qBAAqB,CAAC5O;AAFP,OAA5B,EAGJ,CAHI,KAGE,IAHT;AAIH;;AACD,SAAKhX,MAAL,CAAYqJ,KAAZ,CAAkB,yBAAlB;AACA,WAAO,IAAP;AACH,GA/BD;AAgCA;AACJ;AACA;AACA;;;AACIuE,EAAAA,mBAAmB,CAACtD,SAApB,CAA8BzH,gBAA9B,GAAiD,UAAUC,OAAV,EAAmB;AAChE,QAAI+iB,gBAAgB,GAAG,KAAKT,gBAAL,CAAsBxF,0FAAtB,CAAvB;AACA,QAAI2F,qBAAqB,GAAG,KAAKH,gBAAL,CAAsBxF,kFAAtB,CAA5B;;AACA,QAAI9c,OAAJ,EAAa;AACT,WAAK9C,MAAL,CAAYe,OAAZ,CAAoB,sCAApB;AACA,UAAI+kB,kBAAkB,GAAG;AACrBhP,QAAAA,aAAa,EAAEhU,OAAO,CAACgU,aADF;AAErBE,QAAAA,cAAc,EAAElU,OAAO,CAACkU;AAFH,OAAzB;AAIA,WAAKlH,cAAL,CAAoBuO,OAApB,CAA4BwH,gBAA5B,EAA8C3mC,IAAI,CAACI,SAAL,CAAewmC,kBAAf,CAA9C;AACA,WAAKhW,cAAL,CAAoBuO,OAApB,CAA4BkH,qBAA5B,EAAmDziB,OAAO,CAACkU,cAA3D;AACH,KARD,MASK;AACD,WAAKhX,MAAL,CAAYe,OAAZ,CAAoB,6DAApB;AACA,WAAK+O,cAAL,CAAoByO,UAApB,CAA+BsH,gBAA/B;AACA,WAAK/V,cAAL,CAAoByO,UAApB,CAA+BgH,qBAA/B;AACH;AACJ,GAjBD;AAkBA;AACJ;AACA;AACA;;;AACI3X,EAAAA,mBAAmB,CAACtD,SAApB,CAA8Bqb,sBAA9B,GAAuD,UAAUI,aAAV,EAAyB;AAC5E,QAAItP,WAAW,GAAG,KAAKhT,cAAL,EAAlB;AACA,WAAOgT,WAAW,CAACzsC,MAAZ,CAAmB,UAAU2sC,UAAV,EAAsB;AAC5C,UAAIoP,aAAa,CAACnP,QAAd,IAA0BmP,aAAa,CAACnP,QAAd,CAAuBlP,WAAvB,OAAyCiP,UAAU,CAACC,QAAX,CAAoBlP,WAApB,EAAvE,EAA0G;AACtG,eAAO,KAAP;AACH;;AACD,UAAIqe,aAAa,CAACjP,aAAd,IAA+BiP,aAAa,CAACjP,aAAd,KAAgCH,UAAU,CAACG,aAA9E,EAA6F;AACzF,eAAO,KAAP;AACH;;AACD,UAAIiP,aAAa,CAAC/O,cAAd,IAAgC+O,aAAa,CAAC/O,cAAd,KAAiCL,UAAU,CAACK,cAAhF,EAAgG;AAC5F,eAAO,KAAP;AACH;;AACD,UAAI+O,aAAa,CAACC,QAAd,IAA0BD,aAAa,CAACC,QAAd,KAA2BrP,UAAU,CAACqP,QAApE,EAA8E;AAC1E,eAAO,KAAP;AACH;;AACD,UAAID,aAAa,CAACzhD,WAAd,IAA6ByhD,aAAa,CAACzhD,WAAd,KAA8BqyC,UAAU,CAACryC,WAA1E,EAAuF;AACnF,eAAO,KAAP;AACH;;AACD,aAAO,IAAP;AACH,KAjBM,CAAP;AAkBH,GApBD;AAqBA;AACJ;AACA;AACA;AACA;;;AACIspC,EAAAA,mBAAmB,CAACtD,SAApB,CAA8BuN,qBAA9B,GAAsD,UAAUC,SAAV,EAAqBC,GAArB,EAA0B;AAC5E,QAAIkO,gBAAgB,GAAG,KAAKxiB,cAAL,GAAsBz5B,MAAtB,CAA6B,UAAUk8C,WAAV,EAAuB;AACvE,UAAInO,GAAJ,EAAS;AACL,YAAIoO,UAAU,GAAGD,WAAW,CAACE,aAAZ,IAA6BF,WAAW,CAACE,aAAZ,CAA0B,KAA1B,CAA9C;AACA,eAAOrO,GAAG,KAAKoO,UAAf;AACH;;AACD,UAAIrO,SAAJ,EAAe;AACX,eAAOA,SAAS,KAAKoO,WAAW,CAACtP,QAAjC;AACH;;AACD,aAAO,KAAP;AACH,KATsB,CAAvB;;AAUA,QAAIqP,gBAAgB,CAACj5C,MAAjB,KAA4B,CAAhC,EAAmC;AAC/B,aAAOi5C,gBAAgB,CAAC,CAAD,CAAvB;AACH,KAFD,MAGK,IAAIA,gBAAgB,CAACj5C,MAAjB,GAA0B,CAA9B,EAAiC;AAClC,YAAMugC,2GAAA,EAAN;AACH;;AACD,WAAO,IAAP;AACH,GAlBD;AAmBA;AACJ;AACA;AACA;;;AACIK,EAAAA,mBAAmB,CAACtD,SAApB,CAA8Bgc,kBAA9B,GAAmD,UAAUC,kBAAV,EAA8B;AAC7E,QAAIh1C,KAAK,GAAG,KAAK6sC,OAAL,CAAamI,kBAAb,CAAZ;;AACA,QAAI,CAACh1C,KAAL,EAAY;AACR,WAAKyuB,MAAL,CAAYqJ,KAAZ,CAAkB,8DAAlB;AACA,aAAO,IAAP;AACH;;AACD,QAAImd,qBAAqB,GAAG,KAAKvE,oBAAL,CAA0B1wC,KAA1B,CAA5B;;AACA,QAAI,CAACi1C,qBAAD,IAA0B,CAAC3G,oFAAA,CAAoC0G,kBAApC,EAAwDC,qBAAxD,CAA/B,EAA+G;AAC3G,WAAKxmB,MAAL,CAAYqJ,KAAZ,CAAkB,8DAAlB;AACA,aAAO,IAAP;AACH;;AACD,SAAKrJ,MAAL,CAAYqJ,KAAZ,CAAkB,mDAAlB;AACA,WAAOgW,qEAAA,CAAsB,IAAIQ,iEAAJ,EAAtB,EAA8C2G,qBAA9C,CAAP;AACH,GAbD;AAcA;AACJ;AACA;AACA;AACA;;;AACI5Y,EAAAA,mBAAmB,CAACtD,SAApB,CAA8Boc,kBAA9B,GAAmD,UAAUH,kBAAV,EAA8BI,eAA9B,EAA+C;AAC9F,SAAK3mB,MAAL,CAAYqJ,KAAZ,CAAkB,+CAAlB;AACA,SAAKgV,OAAL,CAAakI,kBAAb,EAAiCrnC,IAAI,CAACI,SAAL,CAAeqnC,eAAf,CAAjC;AACH,GAHD;AAIA;AACJ;AACA;AACA;AACA;;;AACI/Y,EAAAA,mBAAmB,CAACtD,SAApB,CAA8BmH,iBAA9B,GAAkD,UAAUmQ,QAAV,EAAoBgF,WAApB,EAAiC;AAC/E,QAAIzgB,GAAG,GAAGygB,WAAW,GAAG,KAAKxB,gBAAL,CAAsBxD,QAAtB,CAAH,GAAqCA,QAA1D;;AACA,QAAI,KAAKxB,WAAL,CAAiB3kB,sBAArB,EAA6C;AACzC,UAAIorB,UAAU,GAAG,KAAKC,aAAL,CAAmB3gB,GAAnB,CAAjB;;AACA,UAAI0gB,UAAJ,EAAgB;AACZ,aAAK7mB,MAAL,CAAYqJ,KAAZ,CAAkB,qGAAlB;AACA,eAAOwd,UAAP;AACH;AACJ;;AACD,QAAIt1C,KAAK,GAAG,KAAKkvC,qBAAL,CAA2BrC,OAA3B,CAAmCjY,GAAnC,CAAZ;;AACA,QAAI,CAAC50B,KAAL,EAAY;AACR;AACA,UAAI,KAAK6uC,WAAL,CAAiB7kB,aAAjB,KAAmCP,yFAAvC,EAA0E;AACtE,YAAIngB,IAAI,GAAG,KAAKi1B,cAAL,CAAoBsO,OAApB,CAA4BjY,GAA5B,CAAX;;AACA,YAAItrB,IAAJ,EAAU;AACN,eAAKmlB,MAAL,CAAYqJ,KAAZ,CAAkB,oFAAlB;AACA,iBAAOxuB,IAAP;AACH;AACJ;;AACD,WAAKmlB,MAAL,CAAYqJ,KAAZ,CAAkB,6EAAlB;AACA,aAAO,IAAP;AACH;;AACD,SAAKrJ,MAAL,CAAYqJ,KAAZ,CAAkB,sEAAlB;AACA,WAAO93B,KAAP;AACH,GAxBD;AAyBA;AACJ;AACA;AACA;AACA;AACA;AACA;;;AACIq8B,EAAAA,mBAAmB,CAACtD,SAApB,CAA8B0X,iBAA9B,GAAkD,UAAUJ,QAAV,EAAoBrwC,KAApB,EAA2Bq1C,WAA3B,EAAwC;AACtF,QAAIzgB,GAAG,GAAGygB,WAAW,GAAG,KAAKxB,gBAAL,CAAsBxD,QAAtB,CAAH,GAAqCA,QAA1D;AACA,SAAKnB,qBAAL,CAA2BpC,OAA3B,CAAmClY,GAAnC,EAAwC50B,KAAxC;;AACA,QAAI,KAAK6uC,WAAL,CAAiB3kB,sBAArB,EAA6C;AACzC,WAAKuE,MAAL,CAAYqJ,KAAZ,CAAkB,gGAAlB;AACA,WAAK0d,aAAL,CAAmB5gB,GAAnB,EAAwB50B,KAAxB;AACH;AACJ,GAPD;AAQA;AACJ;AACA;AACA;AACA;;;AACIq8B,EAAAA,mBAAmB,CAACtD,SAApB,CAA8BiU,UAA9B,GAA2C,UAAUpY,GAAV,EAAe;AACtD,SAAK2J,cAAL,CAAoByO,UAApB,CAA+BpY,GAA/B;AACA,SAAKsa,qBAAL,CAA2BlC,UAA3B,CAAsCpY,GAAtC;;AACA,QAAI,KAAKia,WAAL,CAAiB3kB,sBAArB,EAA6C;AACzC,WAAKuE,MAAL,CAAYqJ,KAAZ,CAAkB,sFAAlB;AACA,WAAK2d,eAAL,CAAqB7gB,GAArB;AACH;;AACD,WAAO,IAAP;AACH,GARD;AASA;AACJ;AACA;AACA;;;AACIyH,EAAAA,mBAAmB,CAACtD,SAApB,CAA8BsU,WAA9B,GAA4C,UAAUzY,GAAV,EAAe;AACvD,WAAO,KAAK2J,cAAL,CAAoB8O,WAApB,CAAgCzY,GAAhC,KAAwC,KAAKsa,qBAAL,CAA2B7B,WAA3B,CAAuCzY,GAAvC,CAA/C;AACH,GAFD;AAGA;AACJ;AACA;;;AACIyH,EAAAA,mBAAmB,CAACtD,SAApB,CAA8BmU,OAA9B,GAAwC,YAAY;AAChD,WAAOzR,2DAAQ,CAAC,KAAK8C,cAAL,CAAoB2O,OAApB,EAAD,EAAgC,KAAKgC,qBAAL,CAA2BhC,OAA3B,EAAhC,CAAf;AACH,GAFD;AAGA;AACJ;AACA;;;AACI7Q,EAAAA,mBAAmB,CAACtD,SAApB,CAA8ByU,KAA9B,GAAsC,YAAY;AAC9C,WAAO9gB,4DAAS,CAAC,IAAD,EAAO,KAAK,CAAZ,EAAe,KAAK,CAApB,EAAuB,YAAY;AAC/C,UAAIiT,KAAK,GAAG,IAAZ;;AACA,aAAOrF,8DAAW,CAAC,IAAD,EAAO,UAAUuE,EAAV,EAAc;AACnC,gBAAQA,EAAE,CAACrE,KAAX;AACI,eAAK,CAAL;AACA;AACA,mBAAO,CAAC;AAAE;AAAH,cAAc,KAAKkb,iBAAL,EAAd,CAAP;;AACA,eAAK,CAAL;AACI;AACA7W,YAAAA,EAAE,CAACpE,IAAH;;AACA,iBAAKkb,iBAAL,GAHJ,CAII;;AACA,iBAAKzI,OAAL,GAAevY,OAAf,CAAuB,UAAU0b,QAAV,EAAoB;AACvC;AACA,kBAAI,CAAC1Q,KAAK,CAACpB,cAAN,CAAqB8O,WAArB,CAAiCgD,QAAjC,KAA8C1Q,KAAK,CAACuP,qBAAN,CAA4B7B,WAA5B,CAAwCgD,QAAxC,CAA/C,MAAuGA,QAAQ,CAACnpC,OAAT,CAAiB00B,sEAAjB,MAA6C,CAAC,CAA/C,IAAsDyU,QAAQ,CAACnpC,OAAT,CAAiBy4B,KAAK,CAAC/V,QAAvB,MAAqC,CAAC,CAAlM,CAAJ,EAA2M;AACvM+V,gBAAAA,KAAK,CAACqN,UAAN,CAAiBqD,QAAjB;AACH;AACJ,aALD;AAMA,iBAAKrB,eAAL,CAAqBxB,KAArB;AACA,mBAAO,CAAC;AAAE;AAAH,aAAP;AAhBR;AAkBH,OAnBiB,CAAlB;AAoBH,KAtBe,CAAhB;AAuBH,GAxBD;AAyBA;AACJ;AACA;AACA;AACA;AACA;;;AACInR,EAAAA,mBAAmB,CAACtD,SAApB,CAA8Byc,aAA9B,GAA8C,UAAUI,UAAV,EAAsBC,WAAtB,EAAmCC,OAAnC,EAA4C;AACtF,QAAIC,SAAS,GAAGC,kBAAkB,CAACJ,UAAD,CAAlB,GAAiC,GAAjC,GAAuCI,kBAAkB,CAACH,WAAD,CAAzD,GAAyE,uBAAzF;;AACA,QAAIC,OAAJ,EAAa;AACT,UAAIG,UAAU,GAAG,KAAKC,uBAAL,CAA6BJ,OAA7B,CAAjB;AACAC,MAAAA,SAAS,IAAI,aAAaE,UAAb,GAA0B,GAAvC;AACH;;AACD,QAAI,KAAKpH,WAAL,CAAiBnQ,aAArB,EAAoC;AAChCqX,MAAAA,SAAS,IAAI,SAAb;AACH;;AACDvlB,IAAAA,QAAQ,CAAC2lB,MAAT,GAAkBJ,SAAlB;AACH,GAVD;AAWA;AACJ;AACA;AACA;;;AACI1Z,EAAAA,mBAAmB,CAACtD,SAApB,CAA8Bwc,aAA9B,GAA8C,UAAUK,UAAV,EAAsB;AAChE,QAAIt2C,IAAI,GAAG02C,kBAAkB,CAACJ,UAAD,CAAlB,GAAiC,GAA5C;AACA,QAAIQ,UAAU,GAAG5lB,QAAQ,CAAC2lB,MAAT,CAAgBtoC,KAAhB,CAAsB,GAAtB,CAAjB;;AACA,SAAK,IAAIpI,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAG2wC,UAAU,CAAC36C,MAA/B,EAAuCgK,CAAC,EAAxC,EAA4C;AACxC,UAAI0wC,MAAM,GAAGC,UAAU,CAAC3wC,CAAD,CAAvB;;AACA,aAAO0wC,MAAM,CAACE,MAAP,CAAc,CAAd,MAAqB,GAA5B,EAAiC;AAC7BF,QAAAA,MAAM,GAAGA,MAAM,CAACG,SAAP,CAAiB,CAAjB,CAAT;AACH;;AACD,UAAIH,MAAM,CAACjvC,OAAP,CAAe5H,IAAf,MAAyB,CAA7B,EAAgC;AAC5B,eAAOi3C,kBAAkB,CAACJ,MAAM,CAACG,SAAP,CAAiBh3C,IAAI,CAAC7D,MAAtB,EAA8B06C,MAAM,CAAC16C,MAArC,CAAD,CAAzB;AACH;AACJ;;AACD,WAAOmgC,sEAAP;AACH,GAbD;AAcA;AACJ;AACA;;;AACIS,EAAAA,mBAAmB,CAACtD,SAApB,CAA8Byd,gBAA9B,GAAiD,YAAY;AACzD,QAAI7W,KAAK,GAAG,IAAZ;;AACA,QAAI8W,YAAY,GAAG7a,sEAAA,GAAyB,GAAzB,GAA+B,KAAKhS,QAAvD;AACA,QAAIwsB,UAAU,GAAG5lB,QAAQ,CAAC2lB,MAAT,CAAgBtoC,KAAhB,CAAsB,GAAtB,CAAjB;AACAuoC,IAAAA,UAAU,CAACzhB,OAAX,CAAmB,UAAUwhB,MAAV,EAAkB;AACjC,aAAOA,MAAM,CAACE,MAAP,CAAc,CAAd,MAAqB,GAA5B,EAAiC;AAC7B;AACAF,QAAAA,MAAM,GAAGA,MAAM,CAACG,SAAP,CAAiB,CAAjB,CAAT;AACH;;AACD,UAAIH,MAAM,CAACjvC,OAAP,CAAeuvC,YAAf,MAAiC,CAArC,EAAwC;AACpC,YAAIC,SAAS,GAAGP,MAAM,CAACtoC,KAAP,CAAa,GAAb,EAAkB,CAAlB,CAAhB;;AACA8xB,QAAAA,KAAK,CAAC8V,eAAN,CAAsBiB,SAAtB;AACH;AACJ,KATD;AAUH,GAdD;AAeA;AACJ;AACA;AACA;;;AACIra,EAAAA,mBAAmB,CAACtD,SAApB,CAA8B0c,eAA9B,GAAgD,UAAUG,UAAV,EAAsB;AAClE,SAAKJ,aAAL,CAAmBI,UAAnB,EAA+Bha,sEAA/B,EAAuD,CAAC,CAAxD;AACH,GAFD;AAGA;AACJ;AACA;AACA;;;AACIS,EAAAA,mBAAmB,CAACtD,SAApB,CAA8Bmd,uBAA9B,GAAwD,UAAUS,cAAV,EAA0B;AAC9E,QAAIC,KAAK,GAAG,IAAIC,IAAJ,EAAZ;AACA,QAAIC,IAAI,GAAG,IAAID,IAAJ,CAASD,KAAK,CAACG,OAAN,KAAkBJ,cAAc,GAAG,KAAK5H,sBAAjD,CAAX;AACA,WAAO+H,IAAI,CAACE,WAAL,EAAP;AACH,GAJD;AAKA;AACJ;AACA;;;AACI3a,EAAAA,mBAAmB,CAACtD,SAApB,CAA8Bke,QAA9B,GAAyC,YAAY;AACjD,WAAO,KAAK1Y,cAAZ;AACH,GAFD;AAGA;AACJ;AACA;;;AACIlC,EAAAA,mBAAmB,CAACtD,SAApB,CAA8Bme,QAA9B,GAAyC,YAAY,CACjD;AACH,GAFD;AAGA;AACJ;AACA;AACA;AACA;;;AACI7a,EAAAA,mBAAmB,CAACtD,SAApB,CAA8B8a,gBAA9B,GAAiD,UAAUjf,GAAV,EAAe;AAC5D,QAAIuiB,YAAY,GAAG,KAAKzG,oBAAL,CAA0B9b,GAA1B,CAAnB;;AACA,QAAI,CAACuiB,YAAL,EAAmB;AACf,UAAIjrB,uEAAA,CAAuB0I,GAAvB,EAA4BgH,sEAA5B,KAAuD1P,uEAAA,CAAuB0I,GAAvB,EAA4ByZ,iFAA5B,CAA3D,EAA2H;AACvH,eAAOzZ,GAAP;AACH;;AACD,aAAOgH,sEAAA,GAAyB,GAAzB,GAA+B,KAAKhS,QAApC,GAA+C,GAA/C,GAAqDgL,GAA5D;AACH;;AACD,WAAOjnB,IAAI,CAACI,SAAL,CAAe6mB,GAAf,CAAP;AACH,GATD;AAUA;AACJ;AACA;AACA;;;AACIyH,EAAAA,mBAAmB,CAACtD,SAApB,CAA8Bse,oBAA9B,GAAqD,UAAUC,WAAV,EAAuB;AACxE,QAAIviC,OAAO,GAAGw5B,gFAAA,CAAgC,KAAKO,UAArC,EAAiDwI,WAAjD,EAA8DE,YAA9D,CAA2Ev7C,EAAzF;AACA,WAAO,KAAK43C,gBAAL,CAAsBpX,oFAAA,GAA+B,GAA/B,GAAqC1nB,OAA3D,CAAP;AACH,GAHD;AAIA;AACJ;AACA;AACA;;;AACIsnB,EAAAA,mBAAmB,CAACtD,SAApB,CAA8B2e,gBAA9B,GAAiD,UAAUJ,WAAV,EAAuB;AACpE,QAAIviC,OAAO,GAAGw5B,gFAAA,CAAgC,KAAKO,UAArC,EAAiDwI,WAAjD,EAA8DE,YAA9D,CAA2Ev7C,EAAzF;AACA,WAAO,KAAK43C,gBAAL,CAAsBpX,wFAAA,GAAmC,GAAnC,GAAyC1nB,OAA/D,CAAP;AACH,GAHD;AAIA;AACJ;AACA;AACA;;;AACIsnB,EAAAA,mBAAmB,CAACtD,SAApB,CAA8B6e,gBAA9B,GAAiD,UAAUN,WAAV,EAAuB;AACpE;AACA,QAAIviC,OAAO,GAAGw5B,gFAAA,CAAgC,KAAKO,UAArC,EAAiDwI,WAAjD,EAA8DE,YAA9D,CAA2Ev7C,EAAzF;AACA,WAAO,KAAK43C,gBAAL,CAAsBpX,wFAAA,GAAmC,GAAnC,GAAyC1nB,OAA/D,CAAP;AACH,GAJD;AAKA;AACJ;AACA;;;AACIsnB,EAAAA,mBAAmB,CAACtD,SAApB,CAA8B+e,kBAA9B,GAAmD,UAAUC,WAAV,EAAuB;AACtE,QAAIC,aAAa,GAAG,KAAKJ,gBAAL,CAAsBG,WAAtB,CAApB;AACA,QAAIxtC,KAAK,GAAG,KAAK21B,iBAAL,CAAuB8X,aAAvB,CAAZ;;AACA,QAAI,CAACztC,KAAL,EAAY;AACR,aAAO,IAAP;AACH;;AACD,QAAI0tC,iBAAiB,GAAG,KAAKZ,oBAAL,CAA0B9sC,KAA1B,CAAxB;AACA,WAAO,KAAK21B,iBAAL,CAAuB+X,iBAAvB,CAAP;AACH,GARD;AASA;AACJ;AACA;AACA;AACA;;;AACI5b,EAAAA,mBAAmB,CAACtD,SAApB,CAA8Bmf,kBAA9B,GAAmD,UAAU3tC,KAAV,EAAiB4tC,KAAjB,EAAwBC,iBAAxB,EAA2C7R,SAA3C,EAAsDhV,OAAtD,EAA+D;AAC9G,SAAK9C,MAAL,CAAYqJ,KAAZ,CAAkB,+CAAlB,EAD8G,CAE9G;;AACA,QAAIkgB,aAAa,GAAG,KAAKJ,gBAAL,CAAsBrtC,KAAtB,CAApB;AACA,SAAKkmC,iBAAL,CAAuBuH,aAAvB,EAAsCztC,KAAtC,EAA6C,KAA7C,EAJ8G,CAK9G;;AACA,QAAI8tC,aAAa,GAAG,KAAKX,gBAAL,CAAsBntC,KAAtB,CAApB;AACA,SAAKkmC,iBAAL,CAAuB4H,aAAvB,EAAsCF,KAAtC,EAA6C,KAA7C,EAP8G,CAQ9G;;AACA,QAAIF,iBAAiB,GAAG,KAAKZ,oBAAL,CAA0B9sC,KAA1B,CAAxB;AACA,SAAKkmC,iBAAL,CAAuBwH,iBAAvB,EAA0CG,iBAA1C,EAA6D,KAA7D;;AACA,QAAI7mB,OAAJ,EAAa;AACT,UAAI+mB,aAAa,GAAG;AAChBC,QAAAA,UAAU,EAAEhnB,OAAO,CAACgU,aADJ;AAEhBx/B,QAAAA,IAAI,EAAEyoC,kFAAiCgK;AAFvB,OAApB;AAIA,WAAK/H,iBAAL,CAAuBhU,yFAAvB,EAA0D9uB,IAAI,CAACI,SAAL,CAAeuqC,aAAf,CAA1D,EAAyF,IAAzF;AACH,KAND,MAOK,IAAI,CAACpsB,oEAAA,CAAoBqa,SAApB,CAAL,EAAqC;AACtC,UAAI+R,aAAa,GAAG;AAChBC,QAAAA,UAAU,EAAEhS,SADI;AAEhBxgC,QAAAA,IAAI,EAAEyoC,sEAAqBkK;AAFX,OAApB;AAIA,WAAKjI,iBAAL,CAAuBhU,yFAAvB,EAA0D9uB,IAAI,CAACI,SAAL,CAAeuqC,aAAf,CAA1D,EAAyF,IAAzF;AACH;AACJ,GAzBD;AA0BA;AACJ;AACA;AACA;;;AACIjc,EAAAA,mBAAmB,CAACtD,SAApB,CAA8B4f,iBAA9B,GAAkD,UAAUpuC,KAAV,EAAiB;AAC/D,QAAIo1B,KAAK,GAAG,IAAZ;;AACA,SAAKlR,MAAL,CAAYqJ,KAAZ,CAAkB,8CAAlB,EAF+D,CAG/D;;AACA,QAAI,CAAC5L,oEAAA,CAAoB3hB,KAApB,CAAL,EAAiC;AAC7B,WAAK2iC,OAAL,GAAevY,OAAf,CAAuB,UAAUC,GAAV,EAAe;AAClC,YAAIA,GAAG,CAAC1tB,OAAJ,CAAYqD,KAAZ,MAAuB,CAAC,CAA5B,EAA+B;AAC3Bo1B,UAAAA,KAAK,CAACqN,UAAN,CAAiBpY,GAAjB;AACH;AACJ,OAJD;AAKH,KAV8D,CAW/D;;;AACA,QAAIrqB,KAAJ,EAAW;AACP,WAAKyiC,UAAL,CAAgB,KAAK4K,gBAAL,CAAsBrtC,KAAtB,CAAhB;AACA,WAAKyiC,UAAL,CAAgB,KAAK0K,gBAAL,CAAsBntC,KAAtB,CAAhB;AACA,WAAKyiC,UAAL,CAAgB,KAAKqK,oBAAL,CAA0B9sC,KAA1B,CAAhB;AACH;;AACD,SAAKyiC,UAAL,CAAgB,KAAK6G,gBAAL,CAAsBpX,yFAAtB,CAAhB;AACA,SAAKuQ,UAAL,CAAgB,KAAK6G,gBAAL,CAAsBpX,qFAAtB,CAAhB;AACA,SAAKuQ,UAAL,CAAgB,KAAK6G,gBAAL,CAAsBpX,mFAAtB,CAAhB;AACA,SAAKuQ,UAAL,CAAgB,KAAK6G,gBAAL,CAAsBpX,yFAAtB,CAAhB;AACA,SAAKuQ,UAAL,CAAgB,KAAK6G,gBAAL,CAAsBpX,yFAAtB,CAAhB;AACA,SAAKuQ,UAAL,CAAgB,KAAK6G,gBAAL,CAAsBpX,yFAAtB,CAAhB;AACA,SAAK4E,wBAAL,CAA8B,KAA9B;AACH,GAxBD;AAyBA;AACJ;AACA;AACA;;;AACIhF,EAAAA,mBAAmB,CAACtD,SAApB,CAA8BigB,mBAA9B,GAAoD,UAAU1B,WAAV,EAAuB;AACvE,SAAK7oB,MAAL,CAAYqJ,KAAZ,CAAkB,gDAAlB,EADuE,CAEvE;;AACA,QAAIwf,WAAJ,EAAiB;AACb,UAAI2B,QAAQ,GAAG,KAAKrB,gBAAL,CAAsBN,WAAtB,CAAf;AACA,UAAIS,WAAW,GAAG,KAAK7I,qBAAL,CAA2BrC,OAA3B,CAAmCoM,QAAnC,CAAlB;AACA,WAAKxqB,MAAL,CAAY+E,OAAZ,CAAoB,wFAAwFukB,WAA5G;AACA,WAAKY,iBAAL,CAAuBZ,WAAW,IAAInc,sEAAtC;AACH;;AACD,SAAK4a,gBAAL;AACH,GAVD;AAWA;AACJ;AACA;AACA;AACA;;;AACIna,EAAAA,mBAAmB,CAACtD,SAApB,CAA8BmgB,6BAA9B,GAA8D,UAAU/nB,eAAV,EAA2B;AACrF,QAAIwO,KAAK,GAAG,IAAZ;;AACA,SAAKlR,MAAL,CAAYqJ,KAAZ,CAAkB,0DAAlB,EAFqF,CAGrF;;AACA,SAAKoV,OAAL,GAAevY,OAAf,CAAuB,UAAUC,GAAV,EAAe;AAClC;AACA,UAAIA,GAAG,CAAC1tB,OAAJ,CAAYu1B,wFAAZ,MAAkD,CAAC,CAAvD,EAA0D;AACtD;AACH,OAJiC,CAKlC;;;AACA,UAAI0c,UAAU,GAAGxZ,KAAK,CAACuP,qBAAN,CAA4BrC,OAA5B,CAAoCjY,GAApC,CAAjB;;AACA,UAAI,CAACukB,UAAL,EAAiB;AACb;AACH,OATiC,CAUlC;;;AACA,UAAIC,WAAW,GAAGxK,4GAAA,CAAgDjP,KAAK,CAACmP,UAAtD,EAAkEqK,UAAlE,CAAlB;;AACA,UAAIC,WAAW,IAAIA,WAAW,CAACjoB,eAAZ,KAAgCA,eAAnD,EAAoE;AAChEwO,QAAAA,KAAK,CAAClR,MAAN,CAAa+E,OAAb,CAAqB,kGAAkG2lB,UAAvH;;AACAxZ,QAAAA,KAAK,CAACgZ,iBAAN,CAAwBQ,UAAxB;AACH;AACJ,KAhBD;AAiBA,SAAK3C,gBAAL;AACA,SAAKnV,wBAAL,CAA8B,KAA9B;AACH,GAvBD;;AAwBAhF,EAAAA,mBAAmB,CAACtD,SAApB,CAA8BugB,gBAA9B,GAAiD,UAAUC,eAAV,EAA2Blb,aAA3B,EAA0C;AACvF,SAAK5P,MAAL,CAAYqJ,KAAZ,CAAkB,6CAAlB;AACA,QAAI0hB,YAAY,GAAGnb,aAAa,CAACob,YAAd,CAA2B9rC,IAAI,CAACI,SAAL,CAAewrC,eAAf,CAA3B,CAAnB;AACA,SAAK9I,iBAAL,CAAuBhU,yFAAvB,EAA0D+c,YAA1D,EAAwE,IAAxE;AACH,GAJD;AAKA;AACJ;AACA;;;AACInd,EAAAA,mBAAmB,CAACtD,SAApB,CAA8B2gB,gBAA9B,GAAiD,UAAUnvC,KAAV,EAAiB8zB,aAAjB,EAAgC;AAC7E,SAAK5P,MAAL,CAAYqJ,KAAZ,CAAkB,6CAAlB,EAD6E,CAE7E;;AACA,QAAI6hB,mBAAmB,GAAG,KAAKzZ,iBAAL,CAAuBzD,yFAAvB,EAA0D,IAA1D,CAA1B;;AACA,QAAI,CAACkd,mBAAL,EAA0B;AACtB,YAAMpc,wGAAA,EAAN;AACH;;AACD,QAAIsc,aAAa,GAAG,KAAKnJ,oBAAL,CAA0BrS,aAAa,CAACyb,YAAd,CAA2BH,mBAA3B,CAA1B,CAApB;;AACA,QAAI,CAACE,aAAL,EAAoB;AAChB,YAAMtc,mHAAA,EAAN;AACH;;AACD,SAAKyP,UAAL,CAAgB,KAAK6G,gBAAL,CAAsBpX,yFAAtB,CAAhB,EAX6E,CAY7E;;AACA,QAAIvQ,oEAAA,CAAoB2tB,aAAa,CAAChwB,SAAlC,CAAJ,EAAkD;AAC9C,UAAIouB,iBAAiB,GAAG,KAAKZ,oBAAL,CAA0B9sC,KAA1B,CAAxB;AACA,UAAIyvC,eAAe,GAAG,KAAK9Z,iBAAL,CAAuB+X,iBAAvB,CAAtB;;AACA,UAAI,CAAC+B,eAAL,EAAsB;AAClB,cAAMzc,sGAAA,EAAN;AACH;;AACDsc,MAAAA,aAAa,CAAChwB,SAAd,GAA0BmwB,eAA1B;AACH;;AACD,WAAOH,aAAP;AACH,GAtBD;AAuBA;AACJ;AACA;;;AACIxd,EAAAA,mBAAmB,CAACtD,SAApB,CAA8BgH,sBAA9B,GAAuD,YAAY;AAC/D,SAAKtR,MAAL,CAAYqJ,KAAZ,CAAkB,mDAAlB;AACA,QAAIoiB,aAAa,GAAG,KAAKha,iBAAL,CAAuBzD,yFAAvB,EAA0D,IAA1D,CAApB;;AACA,QAAI,CAACyd,aAAL,EAAoB;AAChB,WAAKzrB,MAAL,CAAYqJ,KAAZ,CAAkB,4EAAlB;AACA,aAAO,IAAP;AACH;;AACD,QAAI+hB,aAAa,GAAG,KAAKnJ,oBAAL,CAA0BwJ,aAA1B,CAApB;;AACA,QAAI,CAACL,aAAL,EAAoB;AAChB,WAAKprB,MAAL,CAAYtpB,KAAZ,CAAkB,4EAAlB;AACA,aAAO,IAAP;AACH;;AACD,WAAO00C,aAAP;AACH,GAbD;;AAcAxd,EAAAA,mBAAmB,CAACtD,SAApB,CAA8BohB,uBAA9B,GAAwD,UAAUC,aAAV,EAAyB;AAC7E,QAAIxwB,QAAQ,GAAG,KAAKywB,wBAAL,EAAf;;AACA,QAAID,aAAJ,EAAmB;AACf,aAAOxwB,QAAQ,KAAK,KAAKA,QAAzB;AACH,KAFD,MAGK;AACD,aAAO,CAAC,CAACA,QAAT;AACH;AACJ,GARD;;AASAyS,EAAAA,mBAAmB,CAACtD,SAApB,CAA8BshB,wBAA9B,GAAyD,YAAY;AACjE,QAAIzlB,GAAG,GAAGgH,sEAAA,GAAyB,GAAzB,GAA+Ba,iGAAzC;AACA,WAAO,KAAKyD,iBAAL,CAAuBtL,GAAvB,EAA4B,KAA5B,CAAP;AACH,GAHD;;AAIAyH,EAAAA,mBAAmB,CAACtD,SAApB,CAA8BsI,wBAA9B,GAAyD,UAAUkZ,UAAV,EAAsB;AAC3E;AACA,QAAI3lB,GAAG,GAAGgH,sEAAA,GAAyB,GAAzB,GAA+Ba,iGAAzC;;AACA,QAAI8d,UAAJ,EAAgB;AACZ,UAAI,KAAKF,wBAAL,EAAJ,EAAqC;AACjC,cAAM9c,0GAAA,EAAN;AACH,OAFD,MAGK;AACD;AACA,aAAKkT,iBAAL,CAAuB7b,GAAvB,EAA4B,KAAKhL,QAAjC,EAA2C,KAA3C;AACH;AACJ,KARD,MASK,IAAI,CAAC2wB,UAAD,IAAe,KAAKF,wBAAL,OAAoC,KAAKzwB,QAA5D,EAAsE;AACvE,WAAKojB,UAAL,CAAgBpY,GAAhB;AACH;AACJ,GAfD;AAgBA;AACJ;AACA;;;AACIyH,EAAAA,mBAAmB,CAACtD,SAApB,CAA8B0hB,kBAA9B,GAAmD,YAAY;AAC3D;AACA,QAAIC,iBAAiB,GAAG,KAAKxa,iBAAL,CAAuBmO,iFAAvB,CAAxB;;AACA,QAAIqM,iBAAJ,EAAuB;AACnB,WAAKnc,cAAL,CAAoByO,UAApB,CAA+BqB,iFAA/B;AACA,WAAK5f,MAAL,CAAYe,OAAZ,CAAoB,iCAApB;AACH,KAN0D,CAO3D;;;AACA,QAAImrB,iBAAiB,GAAG,KAAKza,iBAAL,CAAuBmO,4EAAvB,EAAqD,IAArD,CAAxB;;AACA,QAAIsM,iBAAJ,EAAuB;AACnB,WAAK3N,UAAL,CAAgB,KAAK6G,gBAAL,CAAsBxF,4EAAtB,CAAhB;AACA,WAAK5f,MAAL,CAAYe,OAAZ,CAAoB,sCAApB;AACH;;AACD,QAAIorB,mBAAmB,GAAGD,iBAAiB,IAAID,iBAA/C;;AACA,QAAIE,mBAAJ,EAAyB;AACrB,UAAIC,aAAa,GAAG,IAAIpM,0DAAJ,CAAYmM,mBAAZ,EAAiC,KAAK9L,UAAtC,CAApB;;AACA,UAAI+L,aAAa,CAAC3S,MAAd,IAAwB2S,aAAa,CAAC3S,MAAd,CAAqB4S,kBAAjD,EAAqE;AACjE,aAAKrsB,MAAL,CAAYe,OAAZ,CAAoB,2GAApB;AACA,eAAOqrB,aAAa,CAAC3S,MAAd,CAAqB4S,kBAA5B;AACH,OAHD,MAIK,IAAID,aAAa,CAAC3S,MAAd,IAAwB2S,aAAa,CAAC3S,MAAd,CAAqB6S,GAAjD,EAAsD;AACvD,aAAKtsB,MAAL,CAAYe,OAAZ,CAAoB,4FAApB;AACA,eAAOqrB,aAAa,CAAC3S,MAAd,CAAqB6S,GAA5B;AACH,OAHI,MAIA;AACD,aAAKtsB,MAAL,CAAYe,OAAZ,CAAoB,wJAApB;AACH;AACJ;;AACD,WAAO,IAAP;AACH,GA7BD;AA8BA;AACJ;AACA;;;AACI6M,EAAAA,mBAAmB,CAACtD,SAApB,CAA8BiiB,wBAA9B,GAAyD,UAAUC,eAAV,EAA2B1C,UAA3B,EAAuC;AAC5F,QAAI2C,eAAe,GAAG3C,UAAU,CAAC/G,qBAAX,EAAtB;;AACA,QAAIyJ,eAAe,KAAKC,eAAxB,EAAyC;AACrC,UAAIC,SAAS,GAAG,KAAKtO,OAAL,CAAaoO,eAAb,CAAhB;;AACA,UAAIE,SAAJ,EAAe;AACX,aAAKnO,UAAL,CAAgBiO,eAAhB;AACA,aAAKnO,OAAL,CAAaoO,eAAb,EAA8BC,SAA9B;AACA,aAAK1sB,MAAL,CAAYe,OAAZ,CAAoB,yBAAyB+oB,UAAU,CAAC6C,cAApC,GAAqD,YAAzE;AACA,eAAOF,eAAP;AACH,OALD,MAMK;AACD,aAAKzsB,MAAL,CAAYtpB,KAAZ,CAAkB,qCAAqCozC,UAAU,CAAC6C,cAAhD,GAAiE,uEAAnF;AACH;AACJ;;AACD,WAAOH,eAAP;AACH,GAfD;AAgBA;AACJ;AACA;;;AACI5e,EAAAA,mBAAmB,CAACtD,SAApB,CAA8BsiB,yBAA9B,GAA0D,YAAY;AAClE,WAAO,KAAKnb,iBAAL,CAAuBzD,2FAAvB,EAA4D,IAA5D,CAAP;AACH,GAFD;AAGA;AACJ;AACA;AACA;;;AACIJ,EAAAA,mBAAmB,CAACtD,SAApB,CAA8BwiB,yBAA9B,GAA0D,UAAUv7C,KAAV,EAAiB;AACvE,SAAKywC,iBAAL,CAAuBhU,2FAAvB,EAA4Dz8B,KAA5D,EAAmE,IAAnE;AACH,GAFD;;AAGA,SAAOq8B,mBAAP;AACH,CA/6BwC,CA+6BvCyR,4DA/6BuC,CAAzC;;AAg7BA,IAAIxR,6BAA6B,GAAG,UAAU1S,QAAV,EAAoB6E,MAApB,EAA4B;AAC5D,MAAI+sB,YAAY,GAAG;AACfxxB,IAAAA,aAAa,EAAEP,0FADA;AAEfS,IAAAA,sBAAsB,EAAE,KAFT;AAGfwU,IAAAA,aAAa,EAAE;AAHA,GAAnB;AAKA,SAAO,IAAIrC,mBAAJ,CAAwBzS,QAAxB,EAAkC4xB,YAAlC,EAAgDpf,8EAAhD,EAA+E3N,MAA/E,CAAP;AACH,CAPD;;;;;;;;;;;;;;;;;;;ACn8BA;AACa;;AACb;AACA;AAEA;AACA;AACA;AACA;;AACA,IAAIkgB,cAAc;AAAG;AAAe,YAAY;AAC5C,WAASA,cAAT,CAAwB3kB,aAAxB,EAAuC;AACnC,SAAKyxB,qBAAL,CAA2BzxB,aAA3B;AACA,SAAK0xB,aAAL,GAAqBztC,MAAM,CAAC+b,aAAD,CAA3B;AACH;;AACD2kB,EAAAA,cAAc,CAAC5V,SAAf,CAAyB0iB,qBAAzB,GAAiD,UAAUzxB,aAAV,EAAyB;AACtE,QAAIA,aAAa,KAAKP,yFAAlB,IAAuDO,aAAa,KAAKP,2FAA7E,EAAkH;AAC9G,YAAMsC,iIAAA,CAA6D/B,aAA7D,CAAN;AACH;;AACD,QAAI4xB,gBAAgB,GAAG,CAAC,CAAC3tC,MAAM,CAAC+b,aAAD,CAA/B;;AACA,QAAI,CAAC4xB,gBAAL,EAAuB;AACnB,YAAM7vB,iIAAA,CAA6D/B,aAA7D,CAAN;AACH;AACJ,GARD;;AASA2kB,EAAAA,cAAc,CAAC5V,SAAf,CAAyB8T,OAAzB,GAAmC,UAAUjY,GAAV,EAAe;AAC9C,WAAO,KAAK8mB,aAAL,CAAmB7O,OAAnB,CAA2BjY,GAA3B,CAAP;AACH,GAFD;;AAGA+Z,EAAAA,cAAc,CAAC5V,SAAf,CAAyB+T,OAAzB,GAAmC,UAAUlY,GAAV,EAAe50B,KAAf,EAAsB;AACrD,SAAK07C,aAAL,CAAmB5O,OAAnB,CAA2BlY,GAA3B,EAAgC50B,KAAhC;AACH,GAFD;;AAGA2uC,EAAAA,cAAc,CAAC5V,SAAf,CAAyBiU,UAAzB,GAAsC,UAAUpY,GAAV,EAAe;AACjD,SAAK8mB,aAAL,CAAmB1O,UAAnB,CAA8BpY,GAA9B;AACH,GAFD;;AAGA+Z,EAAAA,cAAc,CAAC5V,SAAf,CAAyBmU,OAAzB,GAAmC,YAAY;AAC3C,WAAOjc,MAAM,CAACkD,IAAP,CAAY,KAAKunB,aAAjB,CAAP;AACH,GAFD;;AAGA/M,EAAAA,cAAc,CAAC5V,SAAf,CAAyBsU,WAAzB,GAAuC,UAAUzY,GAAV,EAAe;AAClD,WAAO,KAAK8mB,aAAL,CAAmB1iB,cAAnB,CAAkCpE,GAAlC,CAAP;AACH,GAFD;;AAGA,SAAO+Z,cAAP;AACH,CA9BmC,EAApC;;;;;;;;;;;;;;;;;;;;ACTA;AACa;;AACb;AACA;AAEA;AACA;AACA;AACA;;AACA,IAAIkN,mBAAmB;AACvB,GAAC,UAAUA,mBAAV,EAA+B;AAC5BA,IAAAA,mBAAmB,CAAC,gBAAD,CAAnB,GAAwC,gBAAxC;AACAA,IAAAA,mBAAmB,CAAC,eAAD,CAAnB,GAAuC,eAAvC;AACH,GAHD,EAGGA,mBAAmB,KAAKA,mBAAmB,GAAG,EAA3B,CAHtB,CADuB;;AAAA,SAAnBA,mBAAmB;AAAA,IAAvB;;AAKA;AACA;AACA;AACA,IAAIC,cAAc;AAAG;AAAe,YAAY;AAC5C,WAASA,cAAT,CAAwBrtB,MAAxB,EAAgC;AAC5B,SAAKA,MAAL,GAAcA,MAAd;AACA,SAAKstB,cAAL,GAAsB,IAAIxP,sEAAJ,CAAuB,KAAK9d,MAA5B,EAAoCotB,mBAAmB,CAACE,cAAxD,CAAtB;AACA,SAAKC,aAAL,GAAqB,IAAIzP,sEAAJ,CAAuB,KAAK9d,MAA5B,EAAoCotB,mBAAmB,CAACG,aAAxD,CAArB;AACH;;AACDF,EAAAA,cAAc,CAAC/iB,SAAf,CAAyByU,KAAzB,GAAiC,YAAY;AACzC,WAAO9gB,4DAAS,CAAC,IAAD,EAAO,KAAK,CAAZ,EAAe,KAAK,CAApB,EAAuB,YAAY;AAC/C,UAAIoS,GAAJ;AACA,aAAOxE,8DAAW,CAAC,IAAD,EAAO,UAAUuE,EAAV,EAAc;AACnC,gBAAQA,EAAE,CAACrE,KAAX;AACI,eAAK,CAAL;AACI;AACA,iBAAKuhB,cAAL,CAAoBxO,aAApB;AACA,iBAAKyO,aAAL,CAAmBzO,aAAnB;AACA1O,YAAAA,EAAE,CAACrE,KAAH,GAAW,CAAX;;AACJ,eAAK,CAAL;AACIqE,YAAAA,EAAE,CAACnE,IAAH,CAAQ3F,IAAR,CAAa,CAAC,CAAD,EAAI,CAAJ,GAAS,CAAT,CAAb;;AACA,mBAAO,CAAC;AAAE;AAAH,cAAc,KAAKgnB,cAAL,CAAoBtO,eAApB,EAAd,CAAP;;AACJ,eAAK,CAAL;AACI5O,YAAAA,EAAE,CAACpE,IAAH;;AACA,mBAAO,CAAC;AAAE;AAAH,cAAe,IAAf,CAAP;;AACJ,eAAK,CAAL;AACIqE,YAAAA,GAAG,GAAGD,EAAE,CAACpE,IAAH,EAAN;;AACA,gBAAIqE,GAAG,YAAYmd,KAAnB,EAA0B;AACtB,mBAAKxtB,MAAL,CAAYtpB,KAAZ,CAAkB,0CAA0C25B,GAAG,CAACnuC,OAAhE;AACH,aAFD,MAGK;AACD,mBAAK89B,MAAL,CAAYtpB,KAAZ,CAAkB,6CAAlB;AACH;;AACD,mBAAO,CAAC;AAAE;AAAH,cAAe,KAAf,CAAP;;AACJ,eAAK,CAAL;AAAQ,mBAAO,CAAC;AAAE;AAAH,aAAP;AArBZ;AAuBH,OAxBiB,CAAlB;AAyBH,KA3Be,CAAhB;AA4BH,GA7BD;;AA8BA,SAAO22C,cAAP;AACH,CArCmC,EAApC;;;;;;;;;;;;;;;;;;;;ACjBA;AACa;;AACb;AACA;AACA;AAEA;AACA;AACA;AACA;;AACA;AACA;AACA;;AACA,IAAIxP,eAAe;AAAG;AAAe,YAAY;AAC7C,WAASA,eAAT,GAA2B;AACvB,SAAK+P,MAAL,GAAcH,+DAAd;AACA,SAAKxsD,OAAL,GAAeysD,kEAAf;AACA,SAAKG,SAAL,GAAiBF,qEAAjB;AACA,SAAKG,MAAL,GAAc,KAAd;AACH;AACD;AACJ;AACA;;;AACIjQ,EAAAA,eAAe,CAACvT,SAAhB,CAA0B95B,IAA1B,GAAiC,YAAY;AACzC,WAAOytB,4DAAS,CAAC,IAAD,EAAO,KAAK,CAAZ,EAAe,KAAK,CAApB,EAAuB,YAAY;AAC/C,UAAIiT,KAAK,GAAG,IAAZ;;AACA,aAAOrF,8DAAW,CAAC,IAAD,EAAO,UAAUuE,EAAV,EAAc;AACnC,eAAO,CAAC;AAAE;AAAH,UAAe,IAAIvG,OAAJ,CAAY,UAAUC,OAAV,EAAmB0B,MAAnB,EAA2B;AACrD,cAAIuiB,MAAM,GAAGvuC,MAAM,CAACwuC,SAAP,CAAiBx9C,IAAjB,CAAsB0gC,KAAK,CAAC0c,MAA5B,EAAoC1c,KAAK,CAACjwC,OAA1C,CAAb;AACA8sD,UAAAA,MAAM,CAAC3R,gBAAP,CAAwB,eAAxB,EAAyC,UAAUpR,CAAV,EAAa;AAClD,gBAAInf,KAAK,GAAGmf,CAAZ;AACAnf,YAAAA,KAAK,CAACoiC,MAAN,CAAaj8C,MAAb,CAAoBk8C,iBAApB,CAAsChd,KAAK,CAAC2c,SAA5C;AACH,WAHD;AAIAE,UAAAA,MAAM,CAAC3R,gBAAP,CAAwB,SAAxB,EAAmC,UAAUpR,CAAV,EAAa;AAC5C,gBAAInf,KAAK,GAAGmf,CAAZ;AACAkG,YAAAA,KAAK,CAACid,EAAN,GAAWtiC,KAAK,CAACoiC,MAAN,CAAaj8C,MAAxB;AACAk/B,YAAAA,KAAK,CAAC4c,MAAN,GAAe,IAAf;AACAhkB,YAAAA,OAAO;AACV,WALD;AAMAikB,UAAAA,MAAM,CAAC3R,gBAAP,CAAwB,OAAxB,EAAiC,YAAY;AAAE,mBAAO5Q,MAAM,CAACsD,uGAAA,EAAD,CAAb;AAAmE,WAAlH;AACH,SAbiB,CAAf,CAAP;AAcH,OAfiB,CAAlB;AAgBH,KAlBe,CAAhB;AAmBH,GApBD;AAqBA;AACJ;AACA;AACA;;;AACI+O,EAAAA,eAAe,CAACvT,SAAhB,CAA0B+jB,eAA1B,GAA4C,YAAY;AACpD,QAAIF,EAAE,GAAG,KAAKA,EAAd;;AACA,QAAIA,EAAE,IAAI,KAAKL,MAAf,EAAuB;AACnBK,MAAAA,EAAE,CAACx4C,KAAH;AACA,WAAKm4C,MAAL,GAAc,KAAd;AACH;AACJ,GAND;AAOA;AACJ;AACA;;;AACIjQ,EAAAA,eAAe,CAACvT,SAAhB,CAA0BgkB,gBAA1B,GAA6C,YAAY;AACrD,WAAOrwB,4DAAS,CAAC,IAAD,EAAO,KAAK,CAAZ,EAAe,KAAK,CAApB,EAAuB,YAAY;AAC/C,aAAO4N,8DAAW,CAAC,IAAD,EAAO,UAAUuE,EAAV,EAAc;AACnC,gBAAQA,EAAE,CAACrE,KAAX;AACI,eAAK,CAAL;AACI,gBAAI,CAAC,CAAC,KAAK+hB,MAAX,EAAmB,OAAO,CAAC;AAAE;AAAH,cAAc,CAAd,CAAP;AACnB,mBAAO,CAAC;AAAE;AAAH,cAAc,KAAKt9C,IAAL,EAAd,CAAP;;AACJ,eAAK,CAAL;AAAQ,mBAAO,CAAC;AAAE;AAAH,cAAe4/B,EAAE,CAACpE,IAAH,EAAf,CAAP;;AACR,eAAK,CAAL;AAAQ,mBAAO,CAAC;AAAE;AAAH,aAAP;AALZ;AAOH,OARiB,CAAlB;AASH,KAVe,CAAhB;AAWH,GAZD;AAaA;AACJ;AACA;AACA;;;AACI6R,EAAAA,eAAe,CAACvT,SAAhB,CAA0B8T,OAA1B,GAAoC,UAAUjY,GAAV,EAAe;AAC/C,WAAOlI,4DAAS,CAAC,IAAD,EAAO,KAAK,CAAZ,EAAe,KAAK,CAApB,EAAuB,YAAY;AAC/C,UAAIiT,KAAK,GAAG,IAAZ;;AACA,aAAOrF,8DAAW,CAAC,IAAD,EAAO,UAAUuE,EAAV,EAAc;AACnC,gBAAQA,EAAE,CAACrE,KAAX;AACI,eAAK,CAAL;AAAQ,mBAAO,CAAC;AAAE;AAAH,cAAc,KAAKuiB,gBAAL,EAAd,CAAP;;AACR,eAAK,CAAL;AACIle,YAAAA,EAAE,CAACpE,IAAH;;AACA,mBAAO,CAAC;AAAE;AAAH,cAAe,IAAInC,OAAJ,CAAY,UAAUC,OAAV,EAAmB0B,MAAnB,EAA2B;AACrD;AACA,kBAAI,CAAC0F,KAAK,CAACid,EAAX,EAAe;AACX,uBAAO3iB,MAAM,CAACsD,mGAAA,EAAD,CAAb;AACH;;AACD,kBAAI0f,WAAW,GAAGtd,KAAK,CAACid,EAAN,CAASK,WAAT,CAAqB,CAACtd,KAAK,CAAC2c,SAAP,CAArB,EAAwC,UAAxC,CAAlB;;AACA,kBAAIY,WAAW,GAAGD,WAAW,CAACC,WAAZ,CAAwBvd,KAAK,CAAC2c,SAA9B,CAAlB;AACA,kBAAIa,KAAK,GAAGD,WAAW,CAAC3tD,GAAZ,CAAgBqlC,GAAhB,CAAZ;AACAuoB,cAAAA,KAAK,CAACtS,gBAAN,CAAuB,SAAvB,EAAkC,UAAUpR,CAAV,EAAa;AAC3C,oBAAInf,KAAK,GAAGmf,CAAZ;;AACAkG,gBAAAA,KAAK,CAACmd,eAAN;;AACAvkB,gBAAAA,OAAO,CAACje,KAAK,CAACoiC,MAAN,CAAaj8C,MAAd,CAAP;AACH,eAJD;AAKA08C,cAAAA,KAAK,CAACtS,gBAAN,CAAuB,OAAvB,EAAgC,UAAUpR,CAAV,EAAa;AACzCkG,gBAAAA,KAAK,CAACmd,eAAN;;AACA7iB,gBAAAA,MAAM,CAACR,CAAD,CAAN;AACH,eAHD;AAIH,aAjBiB,CAAf,CAAP;AAJR;AAuBH,OAxBiB,CAAlB;AAyBH,KA3Be,CAAhB;AA4BH,GA7BD;AA8BA;AACJ;AACA;AACA;AACA;;;AACI6S,EAAAA,eAAe,CAACvT,SAAhB,CAA0B+T,OAA1B,GAAoC,UAAUlY,GAAV,EAAewoB,OAAf,EAAwB;AACxD,WAAO1wB,4DAAS,CAAC,IAAD,EAAO,KAAK,CAAZ,EAAe,KAAK,CAApB,EAAuB,YAAY;AAC/C,UAAIiT,KAAK,GAAG,IAAZ;;AACA,aAAOrF,8DAAW,CAAC,IAAD,EAAO,UAAUuE,EAAV,EAAc;AACnC,gBAAQA,EAAE,CAACrE,KAAX;AACI,eAAK,CAAL;AAAQ,mBAAO,CAAC;AAAE;AAAH,cAAc,KAAKuiB,gBAAL,EAAd,CAAP;;AACR,eAAK,CAAL;AACIle,YAAAA,EAAE,CAACpE,IAAH;;AACA,mBAAO,CAAC;AAAE;AAAH,cAAe,IAAInC,OAAJ,CAAY,UAAUC,OAAV,EAAmB0B,MAAnB,EAA2B;AACrD;AACA,kBAAI,CAAC0F,KAAK,CAACid,EAAX,EAAe;AACX,uBAAO3iB,MAAM,CAACsD,mGAAA,EAAD,CAAb;AACH;;AACD,kBAAI0f,WAAW,GAAGtd,KAAK,CAACid,EAAN,CAASK,WAAT,CAAqB,CAACtd,KAAK,CAAC2c,SAAP,CAArB,EAAwC,WAAxC,CAAlB;;AACA,kBAAIY,WAAW,GAAGD,WAAW,CAACC,WAAZ,CAAwBvd,KAAK,CAAC2c,SAA9B,CAAlB;AACA,kBAAIe,KAAK,GAAGH,WAAW,CAACh3C,GAAZ,CAAgBk3C,OAAhB,EAAyBxoB,GAAzB,CAAZ;AACAyoB,cAAAA,KAAK,CAACxS,gBAAN,CAAuB,SAAvB,EAAkC,YAAY;AAC1ClL,gBAAAA,KAAK,CAACmd,eAAN;;AACAvkB,gBAAAA,OAAO;AACV,eAHD;AAIA8kB,cAAAA,KAAK,CAACxS,gBAAN,CAAuB,OAAvB,EAAgC,UAAUpR,CAAV,EAAa;AACzCkG,gBAAAA,KAAK,CAACmd,eAAN;;AACA7iB,gBAAAA,MAAM,CAACR,CAAD,CAAN;AACH,eAHD;AAIH,aAhBiB,CAAf,CAAP;AAJR;AAsBH,OAvBiB,CAAlB;AAwBH,KA1Be,CAAhB;AA2BH,GA5BD;AA6BA;AACJ;AACA;AACA;;;AACI6S,EAAAA,eAAe,CAACvT,SAAhB,CAA0BiU,UAA1B,GAAuC,UAAUpY,GAAV,EAAe;AAClD,WAAOlI,4DAAS,CAAC,IAAD,EAAO,KAAK,CAAZ,EAAe,KAAK,CAApB,EAAuB,YAAY;AAC/C,UAAIiT,KAAK,GAAG,IAAZ;;AACA,aAAOrF,8DAAW,CAAC,IAAD,EAAO,UAAUuE,EAAV,EAAc;AACnC,gBAAQA,EAAE,CAACrE,KAAX;AACI,eAAK,CAAL;AAAQ,mBAAO,CAAC;AAAE;AAAH,cAAc,KAAKuiB,gBAAL,EAAd,CAAP;;AACR,eAAK,CAAL;AACIle,YAAAA,EAAE,CAACpE,IAAH;;AACA,mBAAO,CAAC;AAAE;AAAH,cAAe,IAAInC,OAAJ,CAAY,UAAUC,OAAV,EAAmB0B,MAAnB,EAA2B;AACrD,kBAAI,CAAC0F,KAAK,CAACid,EAAX,EAAe;AACX,uBAAO3iB,MAAM,CAACsD,mGAAA,EAAD,CAAb;AACH;;AACD,kBAAI0f,WAAW,GAAGtd,KAAK,CAACid,EAAN,CAASK,WAAT,CAAqB,CAACtd,KAAK,CAAC2c,SAAP,CAArB,EAAwC,WAAxC,CAAlB;;AACA,kBAAIY,WAAW,GAAGD,WAAW,CAACC,WAAZ,CAAwBvd,KAAK,CAAC2c,SAA9B,CAAlB;AACA,kBAAIgB,QAAQ,GAAGJ,WAAW,CAACxZ,MAAZ,CAAmB9O,GAAnB,CAAf;AACA0oB,cAAAA,QAAQ,CAACzS,gBAAT,CAA0B,SAA1B,EAAqC,YAAY;AAC7ClL,gBAAAA,KAAK,CAACmd,eAAN;;AACAvkB,gBAAAA,OAAO;AACV,eAHD;AAIA+kB,cAAAA,QAAQ,CAACzS,gBAAT,CAA0B,OAA1B,EAAmC,UAAUpR,CAAV,EAAa;AAC5CkG,gBAAAA,KAAK,CAACmd,eAAN;;AACA7iB,gBAAAA,MAAM,CAACR,CAAD,CAAN;AACH,eAHD;AAIH,aAfiB,CAAf,CAAP;AAJR;AAqBH,OAtBiB,CAAlB;AAuBH,KAzBe,CAAhB;AA0BH,GA3BD;AA4BA;AACJ;AACA;;;AACI6S,EAAAA,eAAe,CAACvT,SAAhB,CAA0BmU,OAA1B,GAAoC,YAAY;AAC5C,WAAOxgB,4DAAS,CAAC,IAAD,EAAO,KAAK,CAAZ,EAAe,KAAK,CAApB,EAAuB,YAAY;AAC/C,UAAIiT,KAAK,GAAG,IAAZ;;AACA,aAAOrF,8DAAW,CAAC,IAAD,EAAO,UAAUuE,EAAV,EAAc;AACnC,gBAAQA,EAAE,CAACrE,KAAX;AACI,eAAK,CAAL;AAAQ,mBAAO,CAAC;AAAE;AAAH,cAAc,KAAKuiB,gBAAL,EAAd,CAAP;;AACR,eAAK,CAAL;AACIle,YAAAA,EAAE,CAACpE,IAAH;;AACA,mBAAO,CAAC;AAAE;AAAH,cAAe,IAAInC,OAAJ,CAAY,UAAUC,OAAV,EAAmB0B,MAAnB,EAA2B;AACrD,kBAAI,CAAC0F,KAAK,CAACid,EAAX,EAAe;AACX,uBAAO3iB,MAAM,CAACsD,mGAAA,EAAD,CAAb;AACH;;AACD,kBAAI0f,WAAW,GAAGtd,KAAK,CAACid,EAAN,CAASK,WAAT,CAAqB,CAACtd,KAAK,CAAC2c,SAAP,CAArB,EAAwC,UAAxC,CAAlB;;AACA,kBAAIY,WAAW,GAAGD,WAAW,CAACC,WAAZ,CAAwBvd,KAAK,CAAC2c,SAA9B,CAAlB;AACA,kBAAIiB,SAAS,GAAGL,WAAW,CAACM,UAAZ,EAAhB;AACAD,cAAAA,SAAS,CAAC1S,gBAAV,CAA2B,SAA3B,EAAsC,UAAUpR,CAAV,EAAa;AAC/C,oBAAInf,KAAK,GAAGmf,CAAZ;;AACAkG,gBAAAA,KAAK,CAACmd,eAAN;;AACAvkB,gBAAAA,OAAO,CAACje,KAAK,CAACoiC,MAAN,CAAaj8C,MAAd,CAAP;AACH,eAJD;AAKA88C,cAAAA,SAAS,CAAC1S,gBAAV,CAA2B,OAA3B,EAAoC,UAAUpR,CAAV,EAAa;AAC7CkG,gBAAAA,KAAK,CAACmd,eAAN;;AACA7iB,gBAAAA,MAAM,CAACR,CAAD,CAAN;AACH,eAHD;AAIH,aAhBiB,CAAf,CAAP;AAJR;AAsBH,OAvBiB,CAAlB;AAwBH,KA1Be,CAAhB;AA2BH,GA5BD;AA6BA;AACJ;AACA;AACA;;;AACI6S,EAAAA,eAAe,CAACvT,SAAhB,CAA0BsU,WAA1B,GAAwC,UAAUzY,GAAV,EAAe;AACnD,WAAOlI,4DAAS,CAAC,IAAD,EAAO,KAAK,CAAZ,EAAe,KAAK,CAApB,EAAuB,YAAY;AAC/C,UAAIiT,KAAK,GAAG,IAAZ;;AACA,aAAOrF,8DAAW,CAAC,IAAD,EAAO,UAAUuE,EAAV,EAAc;AACnC,gBAAQA,EAAE,CAACrE,KAAX;AACI,eAAK,CAAL;AAAQ,mBAAO,CAAC;AAAE;AAAH,cAAc,KAAKuiB,gBAAL,EAAd,CAAP;;AACR,eAAK,CAAL;AACIle,YAAAA,EAAE,CAACpE,IAAH;;AACA,mBAAO,CAAC;AAAE;AAAH,cAAe,IAAInC,OAAJ,CAAY,UAAUC,OAAV,EAAmB0B,MAAnB,EAA2B;AACrD,kBAAI,CAAC0F,KAAK,CAACid,EAAX,EAAe;AACX,uBAAO3iB,MAAM,CAACsD,mGAAA,EAAD,CAAb;AACH;;AACD,kBAAI0f,WAAW,GAAGtd,KAAK,CAACid,EAAN,CAASK,WAAT,CAAqB,CAACtd,KAAK,CAAC2c,SAAP,CAArB,EAAwC,UAAxC,CAAlB;;AACA,kBAAIY,WAAW,GAAGD,WAAW,CAACC,WAAZ,CAAwBvd,KAAK,CAAC2c,SAA9B,CAAlB;AACA,kBAAImB,aAAa,GAAGP,WAAW,CAACQ,KAAZ,CAAkB9oB,GAAlB,CAApB;AACA6oB,cAAAA,aAAa,CAAC5S,gBAAd,CAA+B,SAA/B,EAA0C,UAAUpR,CAAV,EAAa;AACnD,oBAAInf,KAAK,GAAGmf,CAAZ;;AACAkG,gBAAAA,KAAK,CAACmd,eAAN;;AACAvkB,gBAAAA,OAAO,CAACje,KAAK,CAACoiC,MAAN,CAAaj8C,MAAb,KAAwB,CAAzB,CAAP;AACH,eAJD;AAKAg9C,cAAAA,aAAa,CAAC5S,gBAAd,CAA+B,OAA/B,EAAwC,UAAUpR,CAAV,EAAa;AACjDkG,gBAAAA,KAAK,CAACmd,eAAN;;AACA7iB,gBAAAA,MAAM,CAACR,CAAD,CAAN;AACH,eAHD;AAIH,aAhBiB,CAAf,CAAP;AAJR;AAsBH,OAvBiB,CAAlB;AAwBH,KA1Be,CAAhB;AA2BH,GA5BD;AA6BA;AACJ;AACA;AACA;AACA;;;AACI6S,EAAAA,eAAe,CAACvT,SAAhB,CAA0B6U,cAA1B,GAA2C,YAAY;AACnD,WAAOlhB,4DAAS,CAAC,IAAD,EAAO,KAAK,CAAZ,EAAe,KAAK,CAApB,EAAuB,YAAY;AAC/C,aAAO4N,8DAAW,CAAC,IAAD,EAAO,UAAUuE,EAAV,EAAc;AACnC;AACA,YAAI,KAAK+d,EAAL,IAAW,KAAKL,MAApB,EAA4B;AACxB,eAAKO,eAAL;AACH;;AACD,eAAO,CAAC;AAAE;AAAH,UAAe,IAAIxkB,OAAJ,CAAY,UAAUC,OAAV,EAAmB0B,MAAnB,EAA2B;AACrD,cAAI0jB,eAAe,GAAG1vC,MAAM,CAACwuC,SAAP,CAAiB7O,cAAjB,CAAgCsO,+DAAhC,CAAtB;AACAyB,UAAAA,eAAe,CAAC9S,gBAAhB,CAAiC,SAAjC,EAA4C,YAAY;AAAE,mBAAOtS,OAAO,CAAC,IAAD,CAAd;AAAuB,WAAjF;AACAolB,UAAAA,eAAe,CAAC9S,gBAAhB,CAAiC,SAAjC,EAA4C,YAAY;AAAE,mBAAOtS,OAAO,CAAC,IAAD,CAAd;AAAuB,WAAjF;AACAolB,UAAAA,eAAe,CAAC9S,gBAAhB,CAAiC,OAAjC,EAA0C,YAAY;AAAE,mBAAO5Q,MAAM,CAAC,KAAD,CAAb;AAAuB,WAA/E;AACH,SALiB,CAAf,CAAP;AAMH,OAXiB,CAAlB;AAYH,KAbe,CAAhB;AAcH,GAfD;;AAgBA,SAAOqS,eAAP;AACH,CArPoC,EAArC;;;;;;;;;;;;;;;;;ACbA;AACa;AACb;AACA;AACA;AACA;;AACA,IAAI7N,aAAa;AAAG;AAAe,YAAY;AAC3C,WAASA,aAAT,GAAyB;AACrB,SAAK1U,KAAL,GAAa,IAAIgU,GAAJ,EAAb;AACH;;AACDU,EAAAA,aAAa,CAAC1F,SAAd,CAAwB8T,OAAxB,GAAkC,UAAUjY,GAAV,EAAe;AAC7C,WAAO,KAAK7K,KAAL,CAAWx6B,GAAX,CAAeqlC,GAAf,KAAuB,IAA9B;AACH,GAFD;;AAGA6J,EAAAA,aAAa,CAAC1F,SAAd,CAAwB+T,OAAxB,GAAkC,UAAUlY,GAAV,EAAe50B,KAAf,EAAsB;AACpD,SAAK+pB,KAAL,CAAW6J,GAAX,CAAegB,GAAf,EAAoB50B,KAApB;AACH,GAFD;;AAGAy+B,EAAAA,aAAa,CAAC1F,SAAd,CAAwBiU,UAAxB,GAAqC,UAAUpY,GAAV,EAAe;AAChD,SAAK7K,KAAL,CAAW2Z,MAAX,CAAkB9O,GAAlB;AACH,GAFD;;AAGA6J,EAAAA,aAAa,CAAC1F,SAAd,CAAwBmU,OAAxB,GAAkC,YAAY;AAC1C,QAAIC,SAAS,GAAG,EAAhB;AACA,SAAKpjB,KAAL,CAAW4K,OAAX,CAAmB,UAAU30B,KAAV,EAAiB40B,GAAjB,EAAsB;AACrCuY,MAAAA,SAAS,CAACpY,IAAV,CAAeH,GAAf;AACH,KAFD;AAGA,WAAOuY,SAAP;AACH,GAND;;AAOA1O,EAAAA,aAAa,CAAC1F,SAAd,CAAwBsU,WAAxB,GAAsC,UAAUzY,GAAV,EAAe;AACjD,WAAO,KAAK7K,KAAL,CAAW6zB,GAAX,CAAehpB,GAAf,CAAP;AACH,GAFD;;AAGA6J,EAAAA,aAAa,CAAC1F,SAAd,CAAwByU,KAAxB,GAAgC,YAAY;AACxC,SAAKzjB,KAAL,CAAWyjB,KAAX;AACH,GAFD;;AAGA,SAAO/O,aAAP;AACH,CA3BkC,EAAnC;;;;;;;;;;;;;;;;;;;;;;;;;;;ACNA;AACa;;AACb;AACA;AAEA;AACA;AACA;AACA;;AACA;AACA;AACA;;AACA,IAAIxB,UAAU;AAAG;AAAe,YAAY;AACxC,WAASA,UAAT,CAAoBxf,aAApB,EAAmCwgC,OAAnC,EAA4CxvB,MAA5C,EAAoDyvB,SAApD,EAA+D;AAC3D,SAAKxgB,oBAAL,GAA4B,OAAOzvB,MAAP,KAAkB,WAA9C;AACA,SAAKzf,MAAL,GAAcivB,aAAd;AACA,SAAKwgC,OAAL,GAAeA,OAAf;AACA,SAAKxvB,MAAL,GAAcA,MAAd;AACA,SAAKyvB,SAAL,GAAiBA,SAAjB;AACH,GAPuC,CAQxC;;AACA;AACJ;AACA;AACA;AACA;AACA;AACA;;;AACIjhB,EAAAA,UAAU,CAAClE,SAAX,CAAqBolB,kBAArB,GAA0C,UAAUxwB,OAAV,EAAmB0D,QAAnB,EAA6B7U,OAA7B,EAAsC;AAC5E,SAAKiS,MAAL,CAAY3Z,IAAZ,CAAiB,wCAAjB;;AACA,QAAI,CAACuc,QAAQ,CAAC+sB,QAAd,EAAwB;AACpB,YAAM7gB,qGAAA,CAA8C,kDAA9C,CAAN;AACH;;AACD,QAAI6E,OAAO,GAAG,IAAIyb,yDAAJ,CAAcxsB,QAAQ,CAAC+sB,QAAvB,EAAiC,KAAKF,SAAtC,CAAd;AACA,QAAII,WAAJ;AACA,QAAIz0B,SAAJ;;AACA,QAAI8D,OAAO,CAAC4D,OAAZ,EAAqB;AACjB,UAAIgtB,kBAAkB,GAAG,KAAKC,WAAL,CAAiBpc,OAAjB,EAA0BzU,OAAO,CAAC4D,OAAR,CAAgBx+B,WAA1C,EAAuDouC,SAAvD,EAAkEA,SAAlE,EAA6ExT,OAAO,CAAC4D,OAAR,CAAgBgU,aAA7F,CAAzB;AACA+Y,MAAAA,WAAW,GAAG,IAAIR,2DAAJ,CAAgBS,kBAAhB,EAAoC,KAAKE,WAAL,CAAiBrc,OAAjB,EAA0Bmc,kBAAkB,CAAChZ,aAA7C,EAA4D5X,OAAO,CAAC4D,OAAR,CAAgBx+B,WAA5E,EAAyF46B,OAAO,CAAC4D,OAAR,CAAgBkjB,QAAzG,CAApC,EAAwJ,KAAKiK,eAAL,CAAqB/wB,OAArB,EAA8B0D,QAA9B,EAAwCktB,kBAAkB,CAAChZ,aAA3D,EAA0E5X,OAAO,CAAC4D,OAAR,CAAgBx+B,WAA1F,EAAuG46B,OAAO,CAAC4D,OAAR,CAAgBkjB,QAAvH,EAAiIj4B,OAAjI,CAAxJ,EAAmS,KAAKmiC,gBAAL,CAAsBhxB,OAAtB,EAA+B0D,QAA/B,EAAyCktB,kBAAkB,CAAChZ,aAA5D,EAA2E5X,OAAO,CAAC4D,OAAR,CAAgBx+B,WAA3F,CAAnS,CAAd;AACH,KAHD,MAIK,IAAI46B,OAAO,CAAC9D,SAAZ,EAAuB;AACxB,UAAI+0B,YAAY,GAAGb,2EAAA,CAA4BpwB,OAAO,CAAC9D,SAApC,EAA+C8D,OAAO,CAACmxB,iBAAvD,CAAnB;AACA,UAAIC,gBAAgB,GAAG;AACnBC,QAAAA,YAAY,EAAE,KAAKxwD,MAAL,CAAYm7B,IAAZ,CAAiBq1B,YADZ;AAEnBC,QAAAA,gBAAgB,EAAE,KAAKzwD,MAAL,CAAYm7B,IAAZ,CAAiBs1B,gBAFhB;AAGnBC,QAAAA,sBAAsB,EAAE,KAAK1wD,MAAL,CAAYm7B,IAAZ,CAAiBu1B,sBAHtB;AAInBC,QAAAA,iBAAiB,EAAE,KAAK3wD,MAAL,CAAYm7B,IAAZ,CAAiBw1B,iBAJjB;AAKnBC,QAAAA,0BAA0B,EAAE,KAAK5wD,MAAL,CAAYm7B,IAAZ,CAAiBy1B;AAL1B,OAAvB;AAOAv1B,MAAAA,SAAS,GAAG,IAAIk0B,yDAAJ,CAAca,YAAd,EAA4B,KAAKpwD,MAAL,CAAY27B,MAAZ,CAAmByT,aAA/C,EAA8D,KAAKqgB,OAAnE,EAA4Ec,gBAA5E,EAA8F,KAAKtwB,MAAnG,CAAZ,CATwB,CAUxB;;AACA,UAAIjS,OAAO,CAAC6iC,UAAZ,EAAwB;AACpB,aAAK5wB,MAAL,CAAYqJ,KAAZ,CAAkB,yCAAlB;AACA,YAAIymB,kBAAkB,GAAG,KAAKC,WAAL,CAAiBpc,OAAjB,EAA0BvY,SAAS,CAACy1B,eAApC,EAAqD9iC,OAAO,CAAC6iC,UAA7D,EAAyEx1B,SAAS,CAAC01B,aAAnF,CAAzB;AACAjB,QAAAA,WAAW,GAAG,IAAIR,2DAAJ,CAAgBS,kBAAhB,EAAoC,KAAKE,WAAL,CAAiBrc,OAAjB,EAA0Bmc,kBAAkB,CAAChZ,aAA7C,EAA4D1b,SAAS,CAACy1B,eAAtE,EAAuFz1B,SAAS,CAAC21B,MAAjG,CAApC,EAA8I,KAAKd,eAAL,CAAqB/wB,OAArB,EAA8B0D,QAA9B,EAAwCktB,kBAAkB,CAAChZ,aAA3D,EAA0E1b,SAAS,CAACy1B,eAApF,EAAqGz1B,SAAS,CAAC21B,MAA/G,EAAuHhjC,OAAvH,CAA9I,EAA+Q,KAAKmiC,gBAAL,CAAsBhxB,OAAtB,EAA+B0D,QAA/B,EAAyCktB,kBAAkB,CAAChZ,aAA5D,EAA2E1b,SAAS,CAACy1B,eAArF,CAA/Q,CAAd;AACH,OAJD,MAKK,IAAIjuB,QAAQ,CAACouB,WAAb,EAA0B;AAC3B,aAAKhxB,MAAL,CAAYqJ,KAAZ,CAAkB,0CAAlB;AACA,YAAIymB,kBAAkB,GAAG,KAAKC,WAAL,CAAiBpc,OAAjB,EAA0BvY,SAAS,CAACy1B,eAApC,EAAqDjuB,QAAQ,CAACouB,WAA9D,EAA2E51B,SAAS,CAAC01B,aAArF,CAAzB;AACAjB,QAAAA,WAAW,GAAG,IAAIR,2DAAJ,CAAgBS,kBAAhB,EAAoC,KAAKE,WAAL,CAAiBrc,OAAjB,EAA0Bmc,kBAAkB,CAAChZ,aAA7C,EAA4D1b,SAAS,CAACy1B,eAAtE,EAAuFz1B,SAAS,CAAC21B,MAAjG,CAApC,EAA8I,KAAKd,eAAL,CAAqB/wB,OAArB,EAA8B0D,QAA9B,EAAwCktB,kBAAkB,CAAChZ,aAA3D,EAA0E1b,SAAS,CAACy1B,eAApF,EAAqGz1B,SAAS,CAAC21B,MAA/G,EAAuHhjC,OAAvH,CAA9I,EAA+Q,KAAKmiC,gBAAL,CAAsBhxB,OAAtB,EAA+B0D,QAA/B,EAAyCktB,kBAAkB,CAAChZ,aAA5D,EAA2E1b,SAAS,CAACy1B,eAArF,CAA/Q,CAAd;AACH,OAJI,MAKA;AACD,cAAM/hB,qGAAA,CAA8C,uDAA9C,CAAN;AACH;AACJ,KAxBI,MAyBA;AACD,YAAMA,qGAAA,CAA8C,uEAA9C,CAAN;AACH;;AACD,WAAO,KAAKmiB,4BAAL,CAAkC/xB,OAAlC,EAA2CyU,OAA3C,EAAoDkc,WAApD,EAAiEz0B,SAAjE,CAAP;AACH,GAzCD;AA0CA;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACIoT,EAAAA,UAAU,CAAClE,SAAX,CAAqBylB,WAArB,GAAmC,UAAUpc,OAAV,EAAmBrvC,WAAnB,EAAgCssD,UAAhC,EAA4CE,aAA5C,EAA2DI,oBAA3D,EAAiF;AAChH,QAAIpa,aAAJ;;AACA,QAAIoa,oBAAJ,EAA0B;AACtBpa,MAAAA,aAAa,GAAGoa,oBAAhB;AACH,KAFD,MAGK,IAAIJ,aAAa,KAAKpe,SAAlB,IAA+Bke,UAAnC,EAA+C;AAChD9Z,MAAAA,aAAa,GAAGsI,mFAAA,CAAoCwR,UAApC,EAAgDE,aAAhD,EAA+D,KAAK9wB,MAApE,EAA4E,KAAKyvB,SAAjF,EAA4F9b,OAA5F,CAAhB;AACH;;AACD,QAAI,CAACmD,aAAL,EAAoB;AAChB,YAAMhI,qGAAA,CAA8C,kCAA9C,CAAN;AACH;;AACD,QAAIsiB,aAAa,GAAGR,UAAU,GAC1BxR,2EAAA,CAA4BwR,UAA5B,EAAwC9Z,aAAxC,EAAuDnD,OAAvD,EAAgEjB,SAAhE,EAA2EA,SAA3E,EAAsFA,SAAtF,EAAiGpuC,WAAjG,CAD0B,GAE1B86C,kFAAA,CAAmCtI,aAAnC,EAAkDnD,OAAlD,EAA2DjB,SAA3D,EAAsEA,SAAtE,EAAiFA,SAAjF,EAA4FpuC,WAA5F,CAFJ;;AAGA,QAAI,KAAK2qC,oBAAT,EAA+B;AAC3B,WAAKjP,MAAL,CAAYe,OAAZ,CAAoB,8BAApB;AACA,WAAKyuB,OAAL,CAAa/M,UAAb,CAAwB2O,aAAxB;AACA,aAAOA,aAAP;AACH,KAJD,MAKK;AACD,YAAMtiB,qGAAA,CAA8C,sEAA9C,CAAN;AACH;AACJ,GAtBD;AAuBA;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;;;AACIN,EAAAA,UAAU,CAAClE,SAAX,CAAqB0lB,WAArB,GAAmC,UAAUrc,OAAV,EAAmBmD,aAAnB,EAAkCxyC,WAAlC,EAA+C0hD,QAA/C,EAAyD;AACxF,QAAIuL,aAAa,GAAGjS,iFAAA,CAAkCxI,aAAlC,EAAiDxyC,WAAjD,EAA8DqvC,OAAO,CAAC8d,QAAtE,EAAgF,KAAK1xD,MAAL,CAAYm7B,IAAZ,CAAiBC,QAAjG,EAA2G6qB,QAA3G,CAApB;;AACA,QAAI,KAAK/W,oBAAT,EAA+B;AAC3B,WAAKjP,MAAL,CAAYe,OAAZ,CAAoB,+BAApB;AACA,WAAKyuB,OAAL,CAAa1M,oBAAb,CAAkCyO,aAAlC;AACA,aAAOA,aAAP;AACH,KAJD,MAKK;AACD,YAAMziB,qGAAA,CAA8C,sEAA9C,CAAN;AACH;AACJ,GAVD;AAWA;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACIN,EAAAA,UAAU,CAAClE,SAAX,CAAqB2lB,eAArB,GAAuC,UAAU/wB,OAAV,EAAmB0D,QAAnB,EAA6BkU,aAA7B,EAA4CxyC,WAA5C,EAAyD0hD,QAAzD,EAAmEj4B,OAAnE,EAA4E;AAC/G,QAAI,CAAC6U,QAAQ,CAAC8uB,YAAd,EAA4B;AACxB,WAAK1xB,MAAL,CAAYe,OAAZ,CAAoB,mDAApB;AACA,aAAO,IAAP;AACH;;AACD,QAAI,CAAC6B,QAAQ,CAAC+uB,UAAd,EAA0B;AACtB,YAAM7iB,qGAAA,CAA8C,0DAA9C,CAAN;AACH;;AACD,QAAI,CAAC/gB,OAAO,CAAC6jC,iBAAb,EAAgC;AAC5B,YAAM9iB,qGAAA,CAA8C,2DAA9C,CAAN;AACH;;AACD,QAAI7S,MAAM,GAAG,IAAIszB,wDAAJ,CAAarwB,OAAO,CAACjD,MAArB,EAA6B41B,WAA7B,EAAb;AACA,QAAIC,SAAS,GAAG/jC,OAAO,CAAC+jC,SAAR,IAAsBlvB,QAAQ,CAAC+uB,UAAT,GAAsB,IAAIvJ,IAAJ,GAAWE,OAAX,KAAuB,IAAnF;AACA,QAAIsJ,iBAAiB,GAAG7jC,OAAO,CAAC6jC,iBAAhC;AACA,QAAIG,iBAAiB,GAAGxS,yFAAA,CAA0CzI,aAA1C,EAAyDxyC,WAAzD,EAAsEs+B,QAAQ,CAAC8uB,YAA/E,EAA6F,KAAK3xD,MAAL,CAAYm7B,IAAZ,CAAiBC,QAA9G,EAAwH6qB,QAAxH,EAAkI/pB,MAAlI,EAA0I61B,SAA1I,EAAqJF,iBAArJ,EAAwK,KAAKnC,SAA7K,CAAxB;;AACA,QAAI,KAAKxgB,oBAAT,EAA+B;AAC3B,WAAKjP,MAAL,CAAYe,OAAZ,CAAoB,mCAApB;AACA,WAAKyuB,OAAL,CAAapM,wBAAb,CAAsC2O,iBAAtC;AACA,aAAOA,iBAAP;AACH,KAJD,MAKK;AACD,YAAMjjB,qGAAA,CAA8C,sEAA9C,CAAN;AACH;AACJ,GAvBD;AAwBA;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;;;AACIN,EAAAA,UAAU,CAAClE,SAAX,CAAqB4lB,gBAArB,GAAwC,UAAUhxB,OAAV,EAAmB0D,QAAnB,EAA6BkU,aAA7B,EAA4CxyC,WAA5C,EAAyD;AAC7F,QAAI,CAACs+B,QAAQ,CAACqvB,aAAd,EAA6B;AACzB,WAAKjyB,MAAL,CAAYe,OAAZ,CAAoB,oDAApB;AACA,aAAO,IAAP;AACH;;AACD,QAAImxB,kBAAkB,GAAG1S,2FAAA,CAA4C1I,aAA5C,EAA2DxyC,WAA3D,EAAwEs+B,QAAQ,CAACqvB,aAAjF,EAAgG,KAAKlyD,MAAL,CAAYm7B,IAAZ,CAAiBC,QAAjH,CAAzB;;AACA,QAAI,KAAK8T,oBAAT,EAA+B;AAC3B,WAAKjP,MAAL,CAAYe,OAAZ,CAAoB,oCAApB;AACA,WAAKyuB,OAAL,CAAa/L,yBAAb,CAAuCyO,kBAAvC;AACA,aAAOA,kBAAP;AACH,KAJD,MAKK;AACD,YAAMpjB,qGAAA,CAA8C,sEAA9C,CAAN;AACH;AACJ,GAdD;AAeA;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;;;AACIN,EAAAA,UAAU,CAAClE,SAAX,CAAqB2mB,4BAArB,GAAoD,UAAU/xB,OAAV,EAAmBkzB,UAAnB,EAA+BvC,WAA/B,EAA4Cz0B,SAA5C,EAAuD;AACvG,QAAIgV,EAAJ,EAAQE,EAAR,EAAY+hB,EAAZ;;AACA,QAAIptB,WAAW,GAAGkI,sEAAlB;AACA,QAAImlB,cAAc,GAAG,EAArB;AACA,QAAIR,SAAS,GAAG,IAAhB;AACA,QAAIS,YAAJ;;AACA,QAAI1C,WAAW,KAAK,IAAhB,IAAwBA,WAAW,KAAK,KAAK,CAA7C,GAAiD,KAAK,CAAtD,GAA0DA,WAAW,CAAC5qB,WAA1E,EAAuF;AACnFA,MAAAA,WAAW,GAAG4qB,WAAW,CAAC5qB,WAAZ,CAAwButB,MAAtC;AACAF,MAAAA,cAAc,GAAG/C,mEAAA,CAAoBM,WAAW,CAAC5qB,WAAZ,CAAwBgpB,MAA5C,EAAoDyE,OAApD,EAAjB;AACAZ,MAAAA,SAAS,GAAG,IAAI1J,IAAJ,CAASt0B,MAAM,CAAC+7B,WAAW,CAAC5qB,WAAZ,CAAwB6sB,SAAzB,CAAN,GAA4C,IAArD,CAAZ;AACAS,MAAAA,YAAY,GAAG,IAAInK,IAAJ,CAASt0B,MAAM,CAAC+7B,WAAW,CAAC5qB,WAAZ,CAAwB2sB,iBAAzB,CAAN,GAAoD,IAA7D,CAAf;AACH;;AACD,QAAIe,GAAG,GAAG,CAACP,UAAU,KAAK,IAAf,IAAuBA,UAAU,KAAK,KAAK,CAA3C,GAA+C,KAAK,CAApD,GAAwDA,UAAU,CAAC3Y,MAAX,CAAkBmZ,GAA3E,MAAoFR,UAAU,KAAK,IAAf,IAAuBA,UAAU,KAAK,KAAK,CAA3C,GAA+C,KAAK,CAApD,GAAwDA,UAAU,CAAC3Y,MAAX,CAAkBoZ,GAA9J,KAAsK1lB,sEAAhL;AACA,QAAI2lB,GAAG,GAAG,CAACV,UAAU,KAAK,IAAf,IAAuBA,UAAU,KAAK,KAAK,CAA3C,GAA+C,KAAK,CAApD,GAAwDA,UAAU,CAAC3Y,MAAX,CAAkBqZ,GAA3E,KAAmF3lB,sEAA7F;AACA,WAAO;AACH/R,MAAAA,SAAS,EAAEA,SAAS,GAAGA,SAAS,CAAC23B,kBAAb,GAAkC5lB,sEADnD;AAEH6lB,MAAAA,QAAQ,EAAEL,GAFP;AAGH3M,MAAAA,QAAQ,EAAE8M,GAHP;AAIH72B,MAAAA,MAAM,EAAEq2B,cAJL;AAKHxvB,MAAAA,OAAO,EAAE,CAAC+sB,WAAW,KAAK,IAAhB,IAAwBA,WAAW,KAAK,KAAK,CAA7C,GAAiD,KAAK,CAAtD,GAA0DA,WAAW,CAAC/sB,OAAvE,IAAkF+sB,WAAW,CAAC/sB,OAAZ,CAAoBmwB,cAApB,EAAlF,GAAyH,IAL/H;AAMHtf,MAAAA,OAAO,EAAEye,UAAU,GAAGA,UAAU,CAACX,QAAd,GAAyBtkB,sEANzC;AAOHiZ,MAAAA,aAAa,EAAEgM,UAAU,GAAGA,UAAU,CAAC3Y,MAAd,GAAuB,EAP7C;AAQHxU,MAAAA,WAAW,EAAEA,WARV;AASH8U,MAAAA,SAAS,EAAE,IATR;AAUH+X,MAAAA,SAAS,EAAEA,SAVR;AAWH9gB,MAAAA,aAAa,EAAE9R,OAAO,CAAC8R,aAAR,IAAyB7D,sEAXrC;AAYHiG,MAAAA,SAAS,EAAEjG,sEAZR;AAaHolB,MAAAA,YAAY,EAAEA,YAbX;AAcHW,MAAAA,QAAQ,EAAE/lB,sEAdP;AAeHgmB,MAAAA,SAAS,EAAE,CAAC,CAAC/iB,EAAE,GAAGyf,WAAW,KAAK,IAAhB,IAAwBA,WAAW,KAAK,KAAK,CAA7C,GAAiD,KAAK,CAAtD,GAA0DA,WAAW,CAAC5qB,WAA5E,MAA6F,IAA7F,IAAqGmL,EAAE,KAAK,KAAK,CAAjH,GAAqH,KAAK,CAA1H,GAA8HA,EAAE,CAAC+iB,SAAlI,KAAgJhmB,sEAfxJ;AAgBHrxB,MAAAA,KAAK,EAAEqxB,sEAhBJ;AAiBHimB,MAAAA,kBAAkB,EAAE,CAAC,CAAC9iB,EAAE,GAAGuf,WAAW,KAAK,IAAhB,IAAwBA,WAAW,KAAK,KAAK,CAA7C,GAAiD,KAAK,CAAtD,GAA0DA,WAAW,CAAC/sB,OAA5E,MAAyF,IAAzF,IAAiGwN,EAAE,KAAK,KAAK,CAA7G,GAAiH,KAAK,CAAtH,GAA0HA,EAAE,CAAC8iB,kBAA9H,KAAqJjmB,sEAjBtK;AAkBHkmB,MAAAA,WAAW,EAAE,CAAC,CAAChB,EAAE,GAAGxC,WAAW,KAAK,IAAhB,IAAwBA,WAAW,KAAK,KAAK,CAA7C,GAAiD,KAAK,CAAtD,GAA0DA,WAAW,CAAC/sB,OAA5E,MAAyF,IAAzF,IAAiGuvB,EAAE,KAAK,KAAK,CAA7G,GAAiH,KAAK,CAAtH,GAA0HA,EAAE,CAACgB,WAA9H,KAA8IlmB,sEAlBxJ;AAmBHx2B,MAAAA,IAAI,EAAE+7B,SAnBH;AAoBH8B,MAAAA,gBAAgB,EAAE;AApBf,KAAP;AAsBH,GApCD;;AAqCA,SAAOhG,UAAP;AACH,CAnN+B,EAAhC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACZA;AACa;;AACb;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;;AACA,IAAIklB,wBAAwB,GAAG,KAA/B;AACA,IAAIC,yBAAyB,GAAG,IAAhC;AACA,IAAIC,2BAA2B,GAAG,KAAlC;AACA,IAAIC,0CAA0C,GAAG,IAAjD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,SAAS/lB,kBAAT,CAA4BsC,EAA5B,EAAgCnB,oBAAhC,EAAsD;AAClD,MAAI6kB,aAAa,GAAG1jB,EAAE,CAAClV,IAAvB;AAAA,MAA6B64B,cAAc,GAAG3jB,EAAE,CAAC9U,KAAjD;AAAA,MAAwD04B,eAAe,GAAG5jB,EAAE,CAAC1U,MAA7E;AAAA,MAAqFu4B,kBAAkB,GAAG7jB,EAAE,CAACX,SAA7G,CADkD,CAElD;;AACA,MAAIykB,oBAAoB,GAAG;AACvB/4B,IAAAA,QAAQ,EAAEgS,sEADa;AAEvB/R,IAAAA,SAAS,EAAE,KAAK+R,2EAFO;AAGvBqjB,IAAAA,gBAAgB,EAAE,EAHK;AAIvBC,IAAAA,sBAAsB,EAAEtjB,sEAJD;AAKvBujB,IAAAA,iBAAiB,EAAEvjB,sEALI;AAMvB9R,IAAAA,WAAW,EAAE8R,sEANU;AAOvBinB,IAAAA,qBAAqB,EAAEjnB,sEAPA;AAQvBknB,IAAAA,yBAAyB,EAAE,IARJ;AASvBC,IAAAA,kBAAkB,EAAE,EATG;AAUvB/D,IAAAA,YAAY,EAAEiD,gEAVS;AAWvBnD,IAAAA,iBAAiB,EAAE;AACfmE,MAAAA,kBAAkB,EAAEf,uEADL;AAEf1C,MAAAA,MAAM,EAAE5jB,sEAAsBiE;AAFf,KAXI;AAevBuf,IAAAA,0BAA0B,EAAE;AAfL,GAA3B,CAHkD,CAoBlD;;AACA,MAAI+D,qBAAqB,GAAG;AACxBn5B,IAAAA,aAAa,EAAEP,2FADS;AAExBS,IAAAA,sBAAsB,EAAE,KAFA;AAGxBwU,IAAAA,aAAa,EAAE;AAHS,GAA5B,CArBkD,CA0BlD;;AACA,MAAI0kB,sBAAsB,GAAG;AACzB;AACAC,IAAAA,cAAc,EAAE,YAAY,CAAG,CAFN;AAGzBh5B,IAAAA,QAAQ,EAAEb,6DAHe;AAIzBe,IAAAA,iBAAiB,EAAE;AAJM,GAA7B,CA3BkD,CAiClD;;AACA,MAAIg5B,8BAA8B,GAAGpqB,2DAAQ,CAACA,2DAAQ,CAAC,EAAD,EAAK4oB,sEAAL,CAAT,EAAuC;AAAE33B,IAAAA,aAAa,EAAEg5B,sBAAjB;AAAyCxlB,IAAAA,aAAa,EAAEF,oBAAoB,GAAGzR,wFAAA,EAAH,GAA4C+1B,oEAAxH;AAA8InkB,IAAAA,gBAAgB,EAAE,IAAI1R,6EAAJ,EAAhK;AAAwLs3B,IAAAA,gBAAgB,EAAE,CAA1M;AAChF;AACAC,IAAAA,iBAAiB,EAAE,CAACjB,eAAe,KAAK,IAApB,IAA4BA,eAAe,KAAK,KAAK,CAArD,GAAyD,KAAK,CAA9D,GAAkEA,eAAe,CAACgB,gBAAnF,KAAwGtB,wBAF3C;AAEqEwB,IAAAA,iBAAiB,EAAE,CAAClB,eAAe,KAAK,IAApB,IAA4BA,eAAe,KAAK,KAAK,CAArD,GAAyD,KAAK,CAA9D,GAAkEA,eAAe,CAACgB,gBAAnF,KAAwGrB,yBAFhM;AAE2NwB,IAAAA,iBAAiB,EAAElmB,oBAAoB,IAAIzR,+EAAA,EAAxB,GAAwD,GAAxD,GAA8D,CAF5S;AAE+S63B,IAAAA,yBAAyB,EAAEzB,2BAF1U;AAEuW0B,IAAAA,WAAW,EAAE,KAFpX;AAE2XjyB,IAAAA,qBAAqB,EAAE,KAFlZ;AAEyZmN,IAAAA,iBAAiB,EAAE,KAF5a;AAEmbE,IAAAA,4BAA4B,EAAE,CAACsjB,eAAe,KAAK,IAApB,IAA4BA,eAAe,KAAK,KAAK,CAArD,GAAyD,KAAK,CAA9D,GAAkEA,eAAe,CAACtjB,4BAAnF,KAAoHmjB,0CAFrkB;AAEinB0B,IAAAA,wBAAwB,EAAExc,iGAF3oB;AAEsrBpJ,IAAAA,aAAa,EAAE;AACjxB8lB,MAAAA,YAAY,EAAE,KADmwB;AAEjxBC,MAAAA,OAAO,EAAEhjB;AAFwwB;AAFrsB,GAAvC,CAA7C;;AAMA,MAAIijB,yBAAyB,GAAG;AAC5BjmB,IAAAA,WAAW,EAAE;AACTkmB,MAAAA,OAAO,EAAEzoB,sEADA;AAET0oB,MAAAA,UAAU,EAAE1oB,sEAAsBiE;AAFzB;AADe,GAAhC;AAMA,MAAI0kB,eAAe,GAAG;AAClB56B,IAAAA,IAAI,EAAEwP,2DAAQ,CAACA,2DAAQ,CAAC,EAAD,EAAKwpB,oBAAL,CAAT,EAAqCJ,aAArC,CADI;AAElBx4B,IAAAA,KAAK,EAAEoP,2DAAQ,CAACA,2DAAQ,CAAC,EAAD,EAAKgqB,qBAAL,CAAT,EAAsCX,cAAtC,CAFG;AAGlBr4B,IAAAA,MAAM,EAAEgP,2DAAQ,CAACA,2DAAQ,CAAC,EAAD,EAAKoqB,8BAAL,CAAT,EAA+Cd,eAA/C,CAHE;AAIlBvkB,IAAAA,SAAS,EAAE/E,2DAAQ,CAACA,2DAAQ,CAAC,EAAD,EAAKirB,yBAAL,CAAT,EAA0C1B,kBAA1C;AAJD,GAAtB;AAMA,SAAO6B,eAAP;AACH;;;;;;;;;;;;;;;;;;;;;;;;AC/ED;AACa;;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;;AACA;AACA;AACA;AACA;;AACA,IAAIK,oBAAoB,GAAG,mBAA3B,EACA;;AACA,IAAIC,aAAa,GAAG,SAApB,EACA;;AACA,IAAIC,cAAc,GAAG,IAArB,EACA;;AACA,IAAIC,eAAe,GAAG,IAAIC,UAAJ,CAAe,CAAC,IAAD,EAAO,IAAP,EAAa,IAAb,CAAf,CAAtB;AACA;AACA;AACA;AACA;;AACA,IAAIC,aAAa;AAAG;AAAe,YAAY;AAC3C,WAASA,aAAT,CAAuBx2B,MAAvB,EAA+B2P,aAA/B,EAA8C;AAC1C,QAAIS,EAAJ,EAAQE,EAAR;;AACA,SAAKtQ,MAAL,GAAcA,MAAd;AACA,SAAK2P,aAAL,GAAqBA,aAArB;;AACA,QAAI,KAAK8mB,gBAAL,EAAJ,EAA6B;AACzB;AACA,WAAKz2B,MAAL,CAAYe,OAAZ,CAAoB,kDAApB;AACA,WAAK21B,YAAL,GAAoB,IAAIV,wEAAJ,EAApB;AACH,KAJD,MAKK,IAAI,KAAKW,WAAL,EAAJ,EAAwB;AACzB;AACA,WAAK32B,MAAL,CAAYe,OAAZ,CAAoB,8CAApB;AACA,WAAK21B,YAAL,GAAoB,IAAIR,gEAAJ,EAApB;AACH,KAJI,MAKA,IAAI,KAAKU,YAAL,OAAwB,CAACxmB,EAAE,GAAG,KAAKT,aAAX,MAA8B,IAA9B,IAAsCS,EAAE,KAAK,KAAK,CAAlD,GAAsD,KAAK,CAA3D,GAA+DA,EAAE,CAACqlB,YAA1F,CAAJ,EAA6G;AAC9G;AACA,WAAKz1B,MAAL,CAAYe,OAAZ,CAAoB,+CAApB;AACA,WAAK21B,YAAL,GAAoB,IAAIT,kEAAJ,EAApB;AACH,KAJI,MAKA;AACD,UAAI,KAAKW,YAAL,EAAJ,EAAyB;AACrB,aAAK52B,MAAL,CAAY3Z,IAAZ,CAAiB,iGAAjB;AACH;;AACD,WAAK2Z,MAAL,CAAYtpB,KAAZ,CAAkB,gDAAlB;AACA,YAAMo4B,sGAAA,CAA+C,kEAA/C,CAAN;AACH,KAzByC,CA0B1C;;;AACA,QAAI,KAAK4nB,YAAL,CAAkBI,QAAtB,EAAgC;AAC5B,WAAK92B,MAAL,CAAYe,OAAZ,CAAoB,2CAApB;;AACA,UAAI,EAAE,CAACuP,EAAE,GAAG,KAAKX,aAAX,MAA8B,IAA9B,IAAsCW,EAAE,KAAK,KAAK,CAAlD,GAAsD,KAAK,CAA3D,GAA+DA,EAAE,CAAColB,OAApE,CAAJ,EAAkF;AAC9E,aAAK11B,MAAL,CAAYtpB,KAAZ,CAAkB,8DAAlB;AACA,cAAM4mB,2HAAA,EAAN;AACH;;AACD,WAAK0C,MAAL,CAAYe,OAAZ,CAAoB,iCAApB;AACA,WAAK21B,YAAL,CAAkBI,QAAlB,CAA2B,KAAKnnB,aAAL,CAAmB+lB,OAA9C;AACH;;AACD,SAAKsB,sBAAL,GAA8B;AAC1BnmD,MAAAA,IAAI,EAAEslD,oBADoB;AAE1Bx3B,MAAAA,IAAI,EAAEy3B,aAFoB;AAG1Ba,MAAAA,aAAa,EAAEZ,cAHW;AAI1Ba,MAAAA,cAAc,EAAEZ;AAJU,KAA9B;AAMH;AACD;AACJ;AACA;;;AACIE,EAAAA,aAAa,CAAClsB,SAAd,CAAwBqsB,WAAxB,GAAsC,YAAY;AAC9C,WAAO,cAAcn3C,MAArB;AACH,GAFD;AAGA;AACJ;AACA;;;AACIg3C,EAAAA,aAAa,CAAClsB,SAAd,CAAwBmsB,gBAAxB,GAA2C,YAAY;AACnD,WAAO,YAAYj3C,MAAnB;AACH,GAFD;AAGA;AACJ;AACA;;;AACIg3C,EAAAA,aAAa,CAAClsB,SAAd,CAAwBssB,YAAxB,GAAuC,YAAY;AAC/C,WAAO,eAAep3C,MAAtB;AACH,GAFD;AAGA;AACJ;AACA;AACA;;;AACIg3C,EAAAA,aAAa,CAAClsB,SAAd,CAAwB6sB,YAAxB,GAAuC,UAAUC,UAAV,EAAsB;AACzD,WAAOn5B,4DAAS,CAAC,IAAD,EAAO,KAAK,CAAZ,EAAe,KAAK,CAApB,EAAuB,YAAY;AAC/C,UAAIj2B,IAAJ;AACA,aAAO6jC,8DAAW,CAAC,IAAD,EAAO,UAAUuE,EAAV,EAAc;AACnCpoC,QAAAA,IAAI,GAAG+tD,4FAAA,CAAmCqB,UAAnC,CAAP,CADmC,CAEnC;;AACA,eAAO,CAAC;AAAE;AAAH,UAAe,KAAKV,YAAL,CAAkBY,MAAlB,CAAyB;AAAEzmD,UAAAA,IAAI,EAAEulD;AAAR,SAAzB,EAAkDpuD,IAAlD,CAAf,CAAP;AACH,OAJiB,CAAlB;AAKH,KAPe,CAAhB;AAQH,GATD;AAUA;AACJ;AACA;AACA;;;AACIwuD,EAAAA,aAAa,CAAClsB,SAAd,CAAwBitB,eAAxB,GAA0C,UAAUC,UAAV,EAAsB;AAC5D,WAAO,KAAKd,YAAL,CAAkBa,eAAlB,CAAkCC,UAAlC,CAAP;AACH,GAFD;AAGA;AACJ;AACA;AACA;AACA;;;AACIhB,EAAAA,aAAa,CAAClsB,SAAd,CAAwBmtB,eAAxB,GAA0C,UAAUC,WAAV,EAAuBC,MAAvB,EAA+B;AACrE,WAAO15B,4DAAS,CAAC,IAAD,EAAO,KAAK,CAAZ,EAAe,KAAK,CAApB,EAAuB,YAAY;AAC/C,aAAO4N,8DAAW,CAAC,IAAD,EAAO,UAAUuE,EAAV,EAAc;AACnC,eAAO,CAAC;AAAE;AAAH,UAAe,KAAKsmB,YAAL,CAAkB9P,WAAlB,CAA8B,KAAKoQ,sBAAnC,EAA2DU,WAA3D,EAAwEC,MAAxE,CAAf,CAAP;AACH,OAFiB,CAAlB;AAGH,KAJe,CAAhB;AAKH,GAND;AAOA;AACJ;AACA;AACA;AACA;;;AACInB,EAAAA,aAAa,CAAClsB,SAAd,CAAwBstB,SAAxB,GAAoC,UAAUzxB,GAAV,EAAe;AAC/C,WAAOlI,4DAAS,CAAC,IAAD,EAAO,KAAK,CAAZ,EAAe,KAAK,CAApB,EAAuB,YAAY;AAC/C,aAAO4N,8DAAW,CAAC,IAAD,EAAO,UAAUuE,EAAV,EAAc;AACnC,eAAO,CAAC;AAAE;AAAH,UAAe,KAAKsmB,YAAL,CAAkBmB,SAAlB,CAA4B1xB,GAA5B,CAAf,CAAP;AACH,OAFiB,CAAlB;AAGH,KAJe,CAAhB;AAKH,GAND;AAOA;AACJ;AACA;AACA;AACA;AACA;AACA;;;AACIqwB,EAAAA,aAAa,CAAClsB,SAAd,CAAwBwtB,SAAxB,GAAoC,UAAU3xB,GAAV,EAAeuxB,WAAf,EAA4BC,MAA5B,EAAoC;AACpE,WAAO15B,4DAAS,CAAC,IAAD,EAAO,KAAK,CAAZ,EAAe,KAAK,CAApB,EAAuB,YAAY;AAC/C,aAAO4N,8DAAW,CAAC,IAAD,EAAO,UAAUuE,EAAV,EAAc;AACnC,eAAO,CAAC;AAAE;AAAH,UAAe,KAAKsmB,YAAL,CAAkBqB,SAAlB,CAA4B5xB,GAA5B,EAAiC,KAAK6wB,sBAAtC,EAA8DU,WAA9D,EAA2EC,MAA3E,CAAf,CAAP;AACH,OAFiB,CAAlB;AAGH,KAJe,CAAhB;AAKH,GAND;AAOA;AACJ;AACA;AACA;AACA;;;AACInB,EAAAA,aAAa,CAAClsB,SAAd,CAAwB0tB,IAAxB,GAA+B,UAAU7xB,GAAV,EAAen+B,IAAf,EAAqB;AAChD,WAAOi2B,4DAAS,CAAC,IAAD,EAAO,KAAK,CAAZ,EAAe,KAAK,CAApB,EAAuB,YAAY;AAC/C,aAAO4N,8DAAW,CAAC,IAAD,EAAO,UAAUuE,EAAV,EAAc;AACnC,eAAO,CAAC;AAAE;AAAH,UAAe,KAAKsmB,YAAL,CAAkBsB,IAAlB,CAAuB,KAAKhB,sBAA5B,EAAoD7wB,GAApD,EAAyDn+B,IAAzD,CAAf,CAAP;AACH,OAFiB,CAAlB;AAGH,KAJe,CAAhB;AAKH,GAND;;AAOA,SAAOwuD,aAAP;AACH,CAtIkC,EAAnC;;;;;;;;;;;;;;;;;;;;;;;;;;;;AC7BA;AACa;;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;;AACA;AACA;AACA;AACA;;AACA,IAAItpB,SAAS;AAAG;AAAe,YAAY;AACvC,WAASA,SAAT,CAAmBlN,MAAnB,EAA2BwP,iBAA3B,EAA8C8oB,YAA9C,EAA4D;AACxD,SAAKt4B,MAAL,GAAcA,MAAd,CADwD,CAExD;;AACA,SAAK4P,aAAL,GAAqB,IAAI4mB,4DAAJ,CAAkB,KAAKx2B,MAAvB,EAA+Bs4B,YAA/B,CAArB;AACA,SAAKC,SAAL,GAAiB,IAAIJ,iEAAJ,EAAjB;AACA,SAAKK,SAAL,GAAiB,IAAIJ,iEAAJ,EAAjB;AACA,SAAKK,aAAL,GAAqB,IAAIP,4DAAJ,CAAkB,KAAKtoB,aAAvB,CAArB;AACA,SAAK8oB,aAAL,GAAqB,IAAIL,4DAAJ,CAAkB,KAAKzoB,aAAvB,CAArB;AACA,SAAKtU,KAAL,GAAa,IAAI+xB,oEAAJ,CAAmB,KAAKrtB,MAAxB,CAAb;AACA,SAAKwP,iBAAL,GAAyBA,iBAAzB;AACH;AACD;AACJ;AACA;AACA;;;AACItC,EAAAA,SAAS,CAAC5C,SAAV,CAAoBsO,aAApB,GAAoC,YAAY;AAC5C,WAAO,KAAK6f,aAAL,CAAmBE,YAAnB,EAAP;AACH,GAFD;AAGA;AACJ;AACA;AACA;;;AACIzrB,EAAAA,SAAS,CAAC5C,SAAV,CAAoB0gB,YAApB,GAAmC,UAAU4N,KAAV,EAAiB;AAChD,WAAO,KAAKL,SAAL,CAAeM,MAAf,CAAsBD,KAAtB,CAAP;AACH,GAFD;AAGA;AACJ;AACA;AACA;;;AACI1rB,EAAAA,SAAS,CAAC5C,SAAV,CAAoB+gB,YAApB,GAAmC,UAAUuN,KAAV,EAAiB;AAChD,WAAO,KAAKJ,SAAL,CAAeM,MAAf,CAAsBF,KAAtB,CAAP;AACH,GAFD;AAGA;AACJ;AACA;;;AACI1rB,EAAAA,SAAS,CAAC5C,SAAV,CAAoByuB,iBAApB,GAAwC,YAAY;AAChD,WAAO96B,4DAAS,CAAC,IAAD,EAAO,KAAK,CAAZ,EAAe,KAAK,CAApB,EAAuB,YAAY;AAC/C,aAAO4N,8DAAW,CAAC,IAAD,EAAO,UAAUuE,EAAV,EAAc;AACnC,eAAO,CAAC;AAAE;AAAH,UAAe,KAAKsoB,aAAL,CAAmBM,aAAnB,EAAf,CAAP;AACH,OAFiB,CAAlB;AAGH,KAJe,CAAhB;AAKH,GAND;AAOA;AACJ;AACA;AACA;;;AACI9rB,EAAAA,SAAS,CAAC5C,SAAV,CAAoB2uB,sBAApB,GAA6C,UAAU/5B,OAAV,EAAmB;AAC5D,QAAIkR,EAAJ;;AACA,WAAOnS,4DAAS,CAAC,IAAD,EAAO,KAAK,CAAZ,EAAe,KAAK,CAApB,EAAuB,YAAY;AAC/C,UAAIi7B,yBAAJ,EAA+BC,OAA/B,EAAwCC,YAAxC,EAAsDC,kBAAtD,EAA0EC,eAA1E,EAA2FC,aAA3F,EAA0GC,aAA1G,EAAyHC,uBAAzH;AACA,aAAO5tB,8DAAW,CAAC,IAAD,EAAO,UAAUyE,EAAV,EAAc;AACnC,gBAAQA,EAAE,CAACvE,KAAX;AACI,eAAK,CAAL;AACImtB,YAAAA,yBAAyB,GAAG,CAAC9oB,EAAE,GAAG,KAAKZ,iBAAX,MAAkC,IAAlC,IAA0CY,EAAE,KAAK,KAAK,CAAtD,GAA0D,KAAK,CAA/D,GAAmEA,EAAE,CAAC0C,gBAAH,CAAoBzF,kGAApB,EAAwEnO,OAAO,CAAC8R,aAAhF,CAA/F;AACA,mBAAO,CAAC;AAAE;AAAH,cAAc,KAAKpB,aAAL,CAAmB6nB,eAAnB,CAAmCvqB,SAAS,CAACysB,WAA7C,EAA0DzsB,SAAS,CAAC0sB,cAApE,CAAd,CAAP;;AACJ,eAAK,CAAL;AACIT,YAAAA,OAAO,GAAG7oB,EAAE,CAACtE,IAAH,EAAV;AACA,mBAAO,CAAC;AAAE;AAAH,cAAc,KAAK4D,aAAL,CAAmBgoB,SAAnB,CAA6BuB,OAAO,CAACU,SAArC,CAAd,CAAP;;AACJ,eAAK,CAAL;AACIT,YAAAA,YAAY,GAAG9oB,EAAE,CAACtE,IAAH,EAAf;AACAqtB,YAAAA,kBAAkB,GAAG;AACjBruB,cAAAA,CAAC,EAAEouB,YAAY,CAACpuB,CADC;AAEjB8uB,cAAAA,GAAG,EAAEV,YAAY,CAACU,GAFD;AAGjBlvB,cAAAA,CAAC,EAAEwuB,YAAY,CAACxuB;AAHC,aAArB;AAKA0uB,YAAAA,eAAe,GAAGvD,kGAAA,CAAyCsD,kBAAzC,CAAlB;AACA,mBAAO,CAAC;AAAE;AAAH,cAAc,KAAKW,UAAL,CAAgBV,eAAhB,CAAd,CAAP;;AACJ,eAAK,CAAL;AACIC,YAAAA,aAAa,GAAGjpB,EAAE,CAACtE,IAAH,EAAhB;AACA,mBAAO,CAAC;AAAE;AAAH,cAAc,KAAK4D,aAAL,CAAmBgoB,SAAnB,CAA6BuB,OAAO,CAACc,UAArC,CAAd,CAAP;;AACJ,eAAK,CAAL;AACIT,YAAAA,aAAa,GAAGlpB,EAAE,CAACtE,IAAH,EAAhB;AACA,mBAAO,CAAC;AAAE;AAAH,cAAc,KAAK4D,aAAL,CAAmBkoB,SAAnB,CAA6B0B,aAA7B,EAA4C,KAA5C,EAAmD,CAAC,MAAD,CAAnD,CAAd,CAAP;;AACJ,eAAK,CAAL;AACIC,YAAAA,uBAAuB,GAAGnpB,EAAE,CAACtE,IAAH,EAA1B,CADJ,CAEI;;AACA,mBAAO,CAAC;AAAE;AAAH,cAAc,KAAK1Q,KAAL,CAAWgyB,cAAX,CAA0BjP,OAA1B,CAAkCkb,aAAlC,EAAiD;AAC9DU,cAAAA,UAAU,EAAER,uBADkD;AAE9DI,cAAAA,SAAS,EAAEV,OAAO,CAACU,SAF2C;AAG9DK,cAAAA,aAAa,EAAEh7B,OAAO,CAACwa,qBAHuC;AAI9DygB,cAAAA,UAAU,EAAEj7B,OAAO,CAACya;AAJ0C,aAAjD,CAAd,CAAP;;AAMJ,eAAK,CAAL;AACI;AACArJ,YAAAA,EAAE,CAACtE,IAAH;;AACA,gBAAIktB,yBAAJ,EAA+B;AAC3BA,cAAAA,yBAAyB,CAACjmB,cAA1B,CAAyC;AACrCC,gBAAAA,OAAO,EAAE;AAD4B,eAAzC;AAGH;;AACD,mBAAO,CAAC;AAAE;AAAH,cAAeqmB,aAAf,CAAP;AAvCR;AAyCH,OA1CiB,CAAlB;AA2CH,KA7Ce,CAAhB;AA8CH,GAhDD;AAiDA;AACJ;AACA;AACA;;;AACIrsB,EAAAA,SAAS,CAAC5C,SAAV,CAAoB8vB,qBAApB,GAA4C,UAAUC,GAAV,EAAe;AACvD,WAAOp8B,4DAAS,CAAC,IAAD,EAAO,KAAK,CAAZ,EAAe,KAAK,CAApB,EAAuB,YAAY;AAC/C,UAAIq8B,QAAJ;AACA,aAAOzuB,8DAAW,CAAC,IAAD,EAAO,UAAUuE,EAAV,EAAc;AACnC,gBAAQA,EAAE,CAACrE,KAAX;AACI,eAAK,CAAL;AAAQ,mBAAO,CAAC;AAAE;AAAH,cAAc,KAAKzQ,KAAL,CAAWgyB,cAAX,CAA0B/O,UAA1B,CAAqC8b,GAArC,CAAd,CAAP;;AACR,eAAK,CAAL;AACIjqB,YAAAA,EAAE,CAACpE,IAAH;;AACA,mBAAO,CAAC;AAAE;AAAH,cAAc,KAAK1Q,KAAL,CAAWgyB,cAAX,CAA0B1O,WAA1B,CAAsCyb,GAAtC,CAAd,CAAP;;AACJ,eAAK,CAAL;AACIC,YAAAA,QAAQ,GAAGlqB,EAAE,CAACpE,IAAH,EAAX;AACA,mBAAO,CAAC;AAAE;AAAH,cAAe,CAACsuB,QAAhB,CAAP;AAPR;AASH,OAViB,CAAlB;AAWH,KAbe,CAAhB;AAcH,GAfD;AAgBA;AACJ;AACA;;;AACIptB,EAAAA,SAAS,CAAC5C,SAAV,CAAoBiwB,aAApB,GAAoC,YAAY;AAC5C,WAAOt8B,4DAAS,CAAC,IAAD,EAAO,KAAK,CAAZ,EAAe,KAAK,CAApB,EAAuB,YAAY;AAC/C,aAAO4N,8DAAW,CAAC,IAAD,EAAO,UAAUuE,EAAV,EAAc;AACnC,gBAAQA,EAAE,CAACrE,KAAX;AACI,eAAK,CAAL;AAAQ,mBAAO,CAAC;AAAE;AAAH,cAAc,KAAKzQ,KAAL,CAAWyjB,KAAX,EAAd,CAAP;;AACR,eAAK,CAAL;AAAQ,mBAAO,CAAC;AAAE;AAAH,cAAe3O,EAAE,CAACpE,IAAH,EAAf,CAAP;AAFZ;AAIH,OALiB,CAAlB;AAMH,KAPe,CAAhB;AAQH,GATD;AAUA;AACJ;AACA;AACA;AACA;;;AACIkB,EAAAA,SAAS,CAAC5C,SAAV,CAAoBkwB,OAApB,GAA8B,UAAU7L,OAAV,EAAmB0L,GAAnB,EAAwBrpB,aAAxB,EAAuC;AACjE,QAAIZ,EAAJ;;AACA,WAAOnS,4DAAS,CAAC,IAAD,EAAO,KAAK,CAAZ,EAAe,KAAK,CAApB,EAAuB,YAAY;AAC/C,UAAIw8B,kBAAJ,EAAwBC,aAAxB,EAAuCtB,YAAvC,EAAqDuB,kBAArD,EAAyEC,sBAAzE,EAAiGC,SAAjG,EAA4GC,gBAA5G,EAA8HC,cAA9H,EAA8IC,WAA9I,EAA2JC,WAA3J,EAAwKC,eAAxK,EAAyLC,gBAAzL,EAA2MC,SAA3M;AACA,aAAOvvB,8DAAW,CAAC,IAAD,EAAO,UAAUyE,EAAV,EAAc;AACnC,gBAAQA,EAAE,CAACvE,KAAX;AACI,eAAK,CAAL;AACI0uB,YAAAA,kBAAkB,GAAG,CAACrqB,EAAE,GAAG,KAAKZ,iBAAX,MAAkC,IAAlC,IAA0CY,EAAE,KAAK,KAAK,CAAtD,GAA0D,KAAK,CAA/D,GAAmEA,EAAE,CAAC0C,gBAAH,CAAoBzF,mFAApB,EAAyD2D,aAAzD,CAAxF;AACA,mBAAO,CAAC;AAAE;AAAH,cAAc,KAAK1V,KAAL,CAAWgyB,cAAX,CAA0BlP,OAA1B,CAAkCic,GAAlC,CAAd,CAAP;;AACJ,eAAK,CAAL;AACIK,YAAAA,aAAa,GAAGpqB,EAAE,CAACtE,IAAH,EAAhB;;AACA,gBAAI,CAAC0uB,aAAL,EAAoB;AAChB,oBAAM5rB,+GAAA,CAAwDurB,GAAxD,CAAN;AACH;;AACD,mBAAO,CAAC;AAAE;AAAH,cAAc,KAAKzqB,aAAL,CAAmBgoB,SAAnB,CAA6B8C,aAAa,CAACb,SAA3C,CAAd,CAAP;;AACJ,eAAK,CAAL;AACIT,YAAAA,YAAY,GAAG9oB,EAAE,CAACtE,IAAH,EAAf;AACA2uB,YAAAA,kBAAkB,GAAG5E,kGAAA,CAAyCqD,YAAzC,CAArB;AACAwB,YAAAA,sBAAsB,GAAG,KAAKrC,SAAL,CAAegD,SAAf,CAAyBr8C,IAAI,CAACI,SAAL,CAAe;AAAE+6C,cAAAA,GAAG,EAAEA;AAAP,aAAf,CAAzB,CAAzB;AACAQ,YAAAA,SAAS,GAAG5C,8EAAA,CAA8B;AAAEoC,cAAAA,GAAG,EAAEO,sBAAP;AAA+Ba,cAAAA,GAAG,EAAErC,YAAY,CAACqC;AAAjD,aAA9B,CAAZ;AACAX,YAAAA,gBAAgB,GAAG,KAAKvC,SAAL,CAAegD,SAAf,CAAyBV,SAAzB,CAAnB,CALJ,CAMI;;AACAlM,YAAAA,OAAO,CAAC+M,GAAR,GAAc;AACVC,cAAAA,GAAG,EAAEz8C,IAAI,CAACC,KAAL,CAAWw7C,kBAAX;AADK,aAAd;AAGAI,YAAAA,cAAc,GAAG,KAAKxC,SAAL,CAAegD,SAAf,CAAyBr8C,IAAI,CAACI,SAAL,CAAeqvC,OAAf,CAAzB,CAAjB;AACAqM,YAAAA,WAAW,GAAGF,gBAAgB,GAAG,GAAnB,GAAyBC,cAAvC;AACAE,YAAAA,WAAW,GAAGlF,gGAAA,CAAuCiF,WAAvC,CAAd;AACA,mBAAO,CAAC;AAAE;AAAH,cAAc,KAAKprB,aAAL,CAAmBooB,IAAnB,CAAwB0C,aAAa,CAACT,UAAtC,EAAkDgB,WAAlD,CAAd,CAAP;;AACJ,eAAK,CAAL;AACIC,YAAAA,eAAe,GAAG5qB,EAAE,CAACtE,IAAH,EAAlB;AACAmvB,YAAAA,gBAAgB,GAAG,KAAK5C,SAAL,CAAesD,YAAf,CAA4B,IAAItF,UAAJ,CAAe2E,eAAf,CAA5B,CAAnB;AACAE,YAAAA,SAAS,GAAGJ,WAAW,GAAG,GAAd,GAAoBG,gBAAhC;;AACA,gBAAIV,kBAAJ,EAAwB;AACpBA,cAAAA,kBAAkB,CAACxnB,cAAnB,CAAkC;AAC9BC,gBAAAA,OAAO,EAAE;AADqB,eAAlC;AAGH;;AACD,mBAAO,CAAC;AAAE;AAAH,cAAekoB,SAAf,CAAP;AAjCR;AAmCH,OApCiB,CAAlB;AAqCH,KAvCe,CAAhB;AAwCH,GA1CD;AA2CA;AACJ;AACA;AACA;;;AACIluB,EAAAA,SAAS,CAAC5C,SAAV,CAAoB0vB,UAApB,GAAiC,UAAU8B,SAAV,EAAqB;AAClD,WAAO79B,4DAAS,CAAC,IAAD,EAAO,KAAK,CAAZ,EAAe,KAAK,CAApB,EAAuB,YAAY;AAC/C,UAAI89B,UAAJ,EAAgBC,SAAhB;AACA,aAAOnwB,8DAAW,CAAC,IAAD,EAAO,UAAUuE,EAAV,EAAc;AACnC,gBAAQA,EAAE,CAACrE,KAAX;AACI,eAAK,CAAL;AAAQ,mBAAO,CAAC;AAAE;AAAH,cAAc,KAAK6D,aAAL,CAAmBunB,YAAnB,CAAgC2E,SAAhC,CAAd,CAAP;;AACR,eAAK,CAAL;AACIC,YAAAA,UAAU,GAAG3rB,EAAE,CAACpE,IAAH,EAAb;AACAgwB,YAAAA,SAAS,GAAG,IAAIzF,UAAJ,CAAewF,UAAf,CAAZ;AACA,mBAAO,CAAC;AAAE;AAAH,cAAe,KAAKxD,SAAL,CAAesD,YAAf,CAA4BG,SAA5B,CAAf,CAAP;AALR;AAOH,OARiB,CAAlB;AASH,KAXe,CAAhB;AAYH,GAbD;;AAcA9uB,EAAAA,SAAS,CAAC0sB,cAAV,GAA2B,CAAC,MAAD,EAAS,QAAT,CAA3B;AACA1sB,EAAAA,SAAS,CAACysB,WAAV,GAAwB,IAAxB;AACA,SAAOzsB,SAAP;AACH,CAtM8B,EAA/B;;;;;;;;;;;;;;;;;;;ACrBA;AACa;;AACb;AACA;AAEA;AACA;AACA;AACA;;AACA,IAAIgrB,aAAa;AAAG;AAAe,YAAY;AAC3C,WAASA,aAAT,CAAuBzI,SAAvB,EAAkC;AAC9B,SAAKA,SAAL,GAAiBA,SAAjB;AACH;AACD;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACIyI,EAAAA,aAAa,CAAC5tB,SAAd,CAAwBquB,YAAxB,GAAuC,YAAY;AAC/C,QAAI;AACA,UAAIuD,MAAM,GAAG,IAAI3F,UAAJ,CAAe,EAAf,CAAb;AACA,WAAK9G,SAAL,CAAe8H,eAAf,CAA+B2E,MAA/B,EAFA,CAGA;;AACAA,MAAAA,MAAM,CAAC,CAAD,CAAN,IAAa,IAAb,CAJA,CAImB;;AACnBA,MAAAA,MAAM,CAAC,CAAD,CAAN,IAAa,IAAb,CALA,CAKmB;AACnB;;AACAA,MAAAA,MAAM,CAAC,CAAD,CAAN,IAAa,IAAb,CAPA,CAOmB;;AACnBA,MAAAA,MAAM,CAAC,CAAD,CAAN,IAAa,IAAb,CARA,CAQmB;;AACnB,aAAOD,uEAAA,CAAuBC,MAAM,CAAC,CAAD,CAA7B,IAAoCD,uEAAA,CAAuBC,MAAM,CAAC,CAAD,CAA7B,CAApC,GACDD,uEAAA,CAAuBC,MAAM,CAAC,CAAD,CAA7B,CADC,GACmCD,uEAAA,CAAuBC,MAAM,CAAC,CAAD,CAA7B,CADnC,GAED,GAFC,GAEKD,uEAAA,CAAuBC,MAAM,CAAC,CAAD,CAA7B,CAFL,GAEyCD,uEAAA,CAAuBC,MAAM,CAAC,CAAD,CAA7B,CAFzC,GAGD,GAHC,GAGKD,uEAAA,CAAuBC,MAAM,CAAC,CAAD,CAA7B,CAHL,GAGyCD,uEAAA,CAAuBC,MAAM,CAAC,CAAD,CAA7B,CAHzC,GAID,GAJC,GAIKD,uEAAA,CAAuBC,MAAM,CAAC,CAAD,CAA7B,CAJL,GAIyCD,uEAAA,CAAuBC,MAAM,CAAC,CAAD,CAA7B,CAJzC,GAKD,GALC,GAKKD,uEAAA,CAAuBC,MAAM,CAAC,EAAD,CAA7B,CALL,GAK0CD,uEAAA,CAAuBC,MAAM,CAAC,EAAD,CAA7B,CAL1C,GAMDD,uEAAA,CAAuBC,MAAM,CAAC,EAAD,CAA7B,CANC,GAMoCD,uEAAA,CAAuBC,MAAM,CAAC,EAAD,CAA7B,CANpC,GAODD,uEAAA,CAAuBC,MAAM,CAAC,EAAD,CAA7B,CAPC,GAOoCD,uEAAA,CAAuBC,MAAM,CAAC,EAAD,CAA7B,CAP3C;AAQH,KAjBD,CAkBA,OAAO1/B,GAAP,EAAY;AACR,UAAI4/B,UAAU,GAAG,sCAAjB;AACA,UAAIC,GAAG,GAAG,kBAAV;AACA,UAAIvvB,CAAC,GAAG,CAAR;AACA,UAAIwvB,YAAY,GAAGnvB,sEAAnB;;AACA,WAAK,IAAIn2B,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAG,EAApB,EAAwBA,CAAC,EAAzB,EAA6B;AACzB,YAAIolD,UAAU,CAACplD,CAAD,CAAV,KAAkB,GAAlB,IAAyBolD,UAAU,CAACplD,CAAD,CAAV,KAAkB,GAA/C,EAAoD;AAChD;AACA81B,UAAAA,CAAC,GAAGyvB,IAAI,CAACC,MAAL,KAAgB,EAAhB,GAAqB,CAAzB;AACH;;AACD,YAAIJ,UAAU,CAACplD,CAAD,CAAV,KAAkB,GAAtB,EAA2B;AACvBslD,UAAAA,YAAY,IAAID,GAAG,CAACvvB,CAAD,CAAnB;AACH,SAFD,MAGK,IAAIsvB,UAAU,CAACplD,CAAD,CAAV,KAAkB,GAAtB,EAA2B;AAC5B;AACA81B,UAAAA,CAAC,IAAI,GAAL,CAF4B,CAElB;;AACVA,UAAAA,CAAC,IAAI,GAAL,CAH4B,CAGlB;;AACVwvB,UAAAA,YAAY,IAAID,GAAG,CAACvvB,CAAD,CAAnB;AACH,SALI,MAMA;AACDwvB,UAAAA,YAAY,IAAIF,UAAU,CAACplD,CAAD,CAA1B;AACH;AACJ;;AACD,aAAOslD,YAAP;AACH;AACJ,GA5CD;AA6CA;AACJ;AACA;AACA;;;AACIpE,EAAAA,aAAa,CAAC5tB,SAAd,CAAwBmyB,MAAxB,GAAiC,UAAUC,IAAV,EAAgB;AAC7C,QAAIC,SAAS,GAAG,4EAAhB;AACA,WAAOA,SAAS,CAACjnC,IAAV,CAAegnC,IAAf,CAAP;AACH,GAHD;;AAIA,SAAOxE,aAAP;AACH,CAhFkC,EAAnC;;;;;;;;;;;;;;;;;;;ACTA;AACa;;AACb;AACA;AAEA;AACA;AACA;AACA;;AACA,IAAIlC,mBAAmB;AAAG;AAAe,YAAY;AACjD,WAASA,mBAAT,GAA+B,CAC9B;;AACDA,EAAAA,mBAAmB,CAAC1rB,SAApB,CAA8BitB,eAA9B,GAAgD,UAAUC,UAAV,EAAsB;AAClE,WAAOh4C,MAAM,CAACq9C,MAAP,CAActF,eAAd,CAA8BC,UAA9B,CAAP;AACH,GAFD;;AAGAxB,EAAAA,mBAAmB,CAAC1rB,SAApB,CAA8Bsc,WAA9B,GAA4C,UAAUkW,SAAV,EAAqBpF,WAArB,EAAkCqF,SAAlC,EAA6C;AACrF,WAAO9+B,4DAAS,CAAC,IAAD,EAAO,KAAK,CAAZ,EAAe,KAAK,CAApB,EAAuB,YAAY;AAC/C,aAAO4N,8DAAW,CAAC,IAAD,EAAO,UAAUuE,EAAV,EAAc;AACnC,eAAO,CAAC;AAAE;AAAH,UAAe5wB,MAAM,CAACq9C,MAAP,CAAcG,MAAd,CAAqBpW,WAArB,CAAiCkW,SAAjC,EAA4CpF,WAA5C,EAAyDqF,SAAzD,CAAf,CAAP;AACH,OAFiB,CAAlB;AAGH,KAJe,CAAhB;AAKH,GAND;;AAOA/G,EAAAA,mBAAmB,CAAC1rB,SAApB,CAA8ButB,SAA9B,GAA0C,UAAU1xB,GAAV,EAAe;AACrD,WAAOlI,4DAAS,CAAC,IAAD,EAAO,KAAK,CAAZ,EAAe,KAAK,CAApB,EAAuB,YAAY;AAC/C,aAAO4N,8DAAW,CAAC,IAAD,EAAO,UAAUuE,EAAV,EAAc;AACnC,eAAO,CAAC;AAAE;AAAH,UAAe5wB,MAAM,CAACq9C,MAAP,CAAcG,MAAd,CAAqBnF,SAArB,CAA+B+E,sEAA/B,EAA+Cz2B,GAA/C,CAAf,CAAP;AACH,OAFiB,CAAlB;AAGH,KAJe,CAAhB;AAKH,GAND;;AAOA6vB,EAAAA,mBAAmB,CAAC1rB,SAApB,CAA8BytB,SAA9B,GAA0C,UAAUkF,OAAV,EAAmBH,SAAnB,EAA8BpF,WAA9B,EAA2CqF,SAA3C,EAAsD;AAC5F,WAAO9+B,4DAAS,CAAC,IAAD,EAAO,KAAK,CAAZ,EAAe,KAAK,CAApB,EAAuB,YAAY;AAC/C,aAAO4N,8DAAW,CAAC,IAAD,EAAO,UAAUuE,EAAV,EAAc;AACnC,eAAO,CAAC;AAAE;AAAH,UAAe5wB,MAAM,CAACq9C,MAAP,CAAcG,MAAd,CAAqBjF,SAArB,CAA+B6E,sEAA/B,EAA+CK,OAA/C,EAAwDH,SAAxD,EAAmEpF,WAAnE,EAAgFqF,SAAhF,CAAf,CAAP;AACH,OAFiB,CAAlB;AAGH,KAJe,CAAhB;AAKH,GAND;;AAOA/G,EAAAA,mBAAmB,CAAC1rB,SAApB,CAA8B0tB,IAA9B,GAAqC,UAAU8E,SAAV,EAAqB32B,GAArB,EAA0Bn+B,IAA1B,EAAgC;AACjE,WAAOi2B,4DAAS,CAAC,IAAD,EAAO,KAAK,CAAZ,EAAe,KAAK,CAApB,EAAuB,YAAY;AAC/C,aAAO4N,8DAAW,CAAC,IAAD,EAAO,UAAUuE,EAAV,EAAc;AACnC,eAAO,CAAC;AAAE;AAAH,UAAe5wB,MAAM,CAACq9C,MAAP,CAAcG,MAAd,CAAqBhF,IAArB,CAA0B8E,SAA1B,EAAqC32B,GAArC,EAA0Cn+B,IAA1C,CAAf,CAAP;AACH,OAFiB,CAAlB;AAGH,KAJe,CAAhB;AAKH,GAND;;AAOAguD,EAAAA,mBAAmB,CAAC1rB,SAApB,CAA8BgtB,MAA9B,GAAuC,UAAUwF,SAAV,EAAqB90D,IAArB,EAA2B;AAC9D,WAAOi2B,4DAAS,CAAC,IAAD,EAAO,KAAK,CAAZ,EAAe,KAAK,CAApB,EAAuB,YAAY;AAC/C,aAAO4N,8DAAW,CAAC,IAAD,EAAO,UAAUuE,EAAV,EAAc;AACnC,eAAO,CAAC;AAAE;AAAH,UAAe5wB,MAAM,CAACq9C,MAAP,CAAcG,MAAd,CAAqB1F,MAArB,CAA4BwF,SAA5B,EAAuC90D,IAAvC,CAAf,CAAP;AACH,OAFiB,CAAlB;AAGH,KAJe,CAAhB;AAKH,GAND;;AAOA,SAAOguD,mBAAP;AACH,CA1CwC,EAAzC;;;;;;;;;;;;;;;;;;;;;ACTA;AACa;;AACb;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;;AACA,IAAIE,eAAe;AAAG;AAAe,YAAY;AAC7C,WAASA,eAAT,GAA2B,CAC1B;;AACDA,EAAAA,eAAe,CAAC5rB,SAAhB,CAA0BitB,eAA1B,GAA4C,UAAUC,UAAV,EAAsB;AAC9D,WAAOh4C,MAAM,CAAC,UAAD,CAAN,CAAmB+3C,eAAnB,CAAmCC,UAAnC,CAAP;AACH,GAFD;;AAGAtB,EAAAA,eAAe,CAAC5rB,SAAhB,CAA0Bsc,WAA1B,GAAwC,UAAUkW,SAAV,EAAqBpF,WAArB,EAAkCqF,SAAlC,EAA6C;AACjF,WAAO9+B,4DAAS,CAAC,IAAD,EAAO,KAAK,CAAZ,EAAe,KAAK,CAApB,EAAuB,YAAY;AAC/C,aAAO4N,8DAAW,CAAC,IAAD,EAAO,UAAUuE,EAAV,EAAc;AACnC,eAAO,CAAC;AAAE;AAAH,UAAe,IAAIvG,OAAJ,CAAY,UAAUC,OAAV,EAAmB0B,MAAnB,EAA2B;AACrD,cAAI0xB,aAAa,GAAG19C,MAAM,CAAC,UAAD,CAAN,CAAmBw9C,MAAnB,CAA0BpW,WAA1B,CAAsCkW,SAAtC,EAAiDpF,WAAjD,EAA8DqF,SAA9D,CAApB;AACAG,UAAAA,aAAa,CAAC9gB,gBAAd,CAA+B,UAA/B,EAA2C,UAAUpR,CAAV,EAAa;AACpDlB,YAAAA,OAAO,CAACkB,CAAC,CAACijB,MAAF,CAASj8C,MAAV,CAAP;AACH,WAFD;AAGAkrD,UAAAA,aAAa,CAAC9gB,gBAAd,CAA+B,OAA/B,EAAwC,UAAU1lC,KAAV,EAAiB;AACrD80B,YAAAA,MAAM,CAAC90B,KAAD,CAAN;AACH,WAFD;AAGH,SARiB,CAAf,CAAP;AASH,OAViB,CAAlB;AAWH,KAZe,CAAhB;AAaH,GAdD;;AAeAw/C,EAAAA,eAAe,CAAC5rB,SAAhB,CAA0ButB,SAA1B,GAAsC,UAAU1xB,GAAV,EAAe;AACjD,WAAOlI,4DAAS,CAAC,IAAD,EAAO,KAAK,CAAZ,EAAe,KAAK,CAApB,EAAuB,YAAY;AAC/C,aAAO4N,8DAAW,CAAC,IAAD,EAAO,UAAUuE,EAAV,EAAc;AACnC,eAAO,CAAC;AAAE;AAAH,UAAe,IAAIvG,OAAJ,CAAY,UAAUC,OAAV,EAAmB0B,MAAnB,EAA2B;AACrD,cAAI2xB,WAAW,GAAG39C,MAAM,CAAC,UAAD,CAAN,CAAmBw9C,MAAnB,CAA0BnF,SAA1B,CAAoC+E,sEAApC,EAAoDz2B,GAApD,CAAlB;AACAg3B,UAAAA,WAAW,CAAC/gB,gBAAZ,CAA6B,UAA7B,EAAyC,UAAUpR,CAAV,EAAa;AAClD,gBAAIoyB,YAAY,GAAGpyB,CAAC,CAACijB,MAAF,CAASj8C,MAA5B;AACA,gBAAIqrD,YAAY,GAAGtH,4FAAA,CAAmC,IAAIQ,UAAJ,CAAe6G,YAAf,CAAnC,EACd19C,OADc,CACN,KADM,EACCytB,sEADD,EAEdztB,OAFc,CAEN,KAFM,EAECytB,sEAFD,EAGdztB,OAHc,CAGN,KAHM,EAGCytB,sEAHD,EAId/tB,KAJc,CAIR,GAJQ,EAIHhS,IAJG,CAIE+/B,sEAJF,EAKdztB,OALc,CAKN,QALM,EAKIytB,sEALJ,CAAnB;;AAMA,gBAAI;AACArD,cAAAA,OAAO,CAAC5qB,IAAI,CAACC,KAAL,CAAWk+C,YAAX,CAAD,CAAP;AACH,aAFD,CAGA,OAAOryB,CAAP,EAAU;AACNQ,cAAAA,MAAM,CAACR,CAAD,CAAN;AACH;AACJ,WAdD;AAeAmyB,UAAAA,WAAW,CAAC/gB,gBAAZ,CAA6B,OAA7B,EAAsC,UAAU1lC,KAAV,EAAiB;AACnD80B,YAAAA,MAAM,CAAC90B,KAAD,CAAN;AACH,WAFD;AAGH,SApBiB,CAAf,CAAP;AAqBH,OAtBiB,CAAlB;AAuBH,KAxBe,CAAhB;AAyBH,GA1BD;;AA2BAw/C,EAAAA,eAAe,CAAC5rB,SAAhB,CAA0BytB,SAA1B,GAAsC,UAAUkF,OAAV,EAAmBH,SAAnB,EAA8BpF,WAA9B,EAA2CqF,SAA3C,EAAsD;AACxF,WAAO9+B,4DAAS,CAAC,IAAD,EAAO,KAAK,CAAZ,EAAe,KAAK,CAApB,EAAuB,YAAY;AAC/C,UAAIs/B,SAAJ,EAAeC,SAAf;AACA,aAAO3xB,8DAAW,CAAC,IAAD,EAAO,UAAUuE,EAAV,EAAc;AACnCmtB,QAAAA,SAAS,GAAGxH,kGAAA,CAAyCkH,OAAzC,CAAZ;AACAO,QAAAA,SAAS,GAAGzH,gGAAA,CAAuCwH,SAAvC,CAAZ;AACA,eAAO,CAAC;AAAE;AAAH,UAAe,IAAI1zB,OAAJ,CAAY,UAAUC,OAAV,EAAmB0B,MAAnB,EAA2B;AACrD,cAAIiyB,WAAW,GAAGj+C,MAAM,CAAC,UAAD,CAAN,CAAmBw9C,MAAnB,CAA0BjF,SAA1B,CAAoC6E,sEAApC,EAAoDY,SAApD,EAA+DV,SAA/D,EAA0EpF,WAA1E,EAAuFqF,SAAvF,CAAlB;AACAU,UAAAA,WAAW,CAACrhB,gBAAZ,CAA6B,UAA7B,EAAyC,UAAUpR,CAAV,EAAa;AAClDlB,YAAAA,OAAO,CAACkB,CAAC,CAACijB,MAAF,CAASj8C,MAAV,CAAP;AACH,WAFD;AAGAyrD,UAAAA,WAAW,CAACrhB,gBAAZ,CAA6B,OAA7B,EAAsC,UAAU1lC,KAAV,EAAiB;AACnD80B,YAAAA,MAAM,CAAC90B,KAAD,CAAN;AACH,WAFD;AAGH,SARiB,CAAf,CAAP;AASH,OAZiB,CAAlB;AAaH,KAfe,CAAhB;AAgBH,GAjBD;;AAkBAw/C,EAAAA,eAAe,CAAC5rB,SAAhB,CAA0B0tB,IAA1B,GAAiC,UAAU8E,SAAV,EAAqB32B,GAArB,EAA0Bn+B,IAA1B,EAAgC;AAC7D,WAAOi2B,4DAAS,CAAC,IAAD,EAAO,KAAK,CAAZ,EAAe,KAAK,CAApB,EAAuB,YAAY;AAC/C,aAAO4N,8DAAW,CAAC,IAAD,EAAO,UAAUuE,EAAV,EAAc;AACnC,eAAO,CAAC;AAAE;AAAH,UAAe,IAAIvG,OAAJ,CAAY,UAAUC,OAAV,EAAmB0B,MAAnB,EAA2B;AACrD,cAAIkyB,MAAM,GAAGl+C,MAAM,CAAC,UAAD,CAAN,CAAmBw9C,MAAnB,CAA0BhF,IAA1B,CAA+B8E,SAA/B,EAA0C32B,GAA1C,EAA+Cn+B,IAA/C,CAAb;AACA01D,UAAAA,MAAM,CAACthB,gBAAP,CAAwB,UAAxB,EAAoC,UAAUpR,CAAV,EAAa;AAC7ClB,YAAAA,OAAO,CAACkB,CAAC,CAACijB,MAAF,CAASj8C,MAAV,CAAP;AACH,WAFD;AAGA0rD,UAAAA,MAAM,CAACthB,gBAAP,CAAwB,OAAxB,EAAiC,UAAU1lC,KAAV,EAAiB;AAC9C80B,YAAAA,MAAM,CAAC90B,KAAD,CAAN;AACH,WAFD;AAGH,SARiB,CAAf,CAAP;AASH,OAViB,CAAlB;AAWH,KAZe,CAAhB;AAaH,GAdD;;AAeAw/C,EAAAA,eAAe,CAAC5rB,SAAhB,CAA0BgtB,MAA1B,GAAmC,UAAUwF,SAAV,EAAqB90D,IAArB,EAA2B;AAC1D,WAAOi2B,4DAAS,CAAC,IAAD,EAAO,KAAK,CAAZ,EAAe,KAAK,CAApB,EAAuB,YAAY;AAC/C,aAAO4N,8DAAW,CAAC,IAAD,EAAO,UAAUuE,EAAV,EAAc;AACnC,eAAO,CAAC;AAAE;AAAH,UAAe,IAAIvG,OAAJ,CAAY,UAAUC,OAAV,EAAmB0B,MAAnB,EAA2B;AACrD,cAAImyB,eAAe,GAAGn+C,MAAM,CAAC,UAAD,CAAN,CAAmBw9C,MAAnB,CAA0B1F,MAA1B,CAAiCwF,SAAjC,EAA4C90D,IAAI,CAACk0D,MAAjD,CAAtB;AACAyB,UAAAA,eAAe,CAACvhB,gBAAhB,CAAiC,UAAjC,EAA6C,UAAUpR,CAAV,EAAa;AACtDlB,YAAAA,OAAO,CAACkB,CAAC,CAACijB,MAAF,CAASj8C,MAAV,CAAP;AACH,WAFD;AAGA2rD,UAAAA,eAAe,CAACvhB,gBAAhB,CAAiC,OAAjC,EAA0C,UAAU1lC,KAAV,EAAiB;AACvD80B,YAAAA,MAAM,CAAC90B,KAAD,CAAN;AACH,WAFD;AAGH,SARiB,CAAf,CAAP;AASH,OAViB,CAAlB;AAWH,KAZe,CAAhB;AAaH,GAdD;;AAeA,SAAOw/C,eAAP;AACH,CAjGoC,EAArC;;;;;;;;;;;;;;;;;;;ACXA;AACa;;AACb;AACA;AAEA;AACA;AACA;AACA;;AACA,IAAID,gBAAgB;AAAG;AAAe,YAAY;AAC9C,WAASA,gBAAT,GAA4B,CAC3B;;AACDA,EAAAA,gBAAgB,CAAC3rB,SAAjB,CAA2BwsB,QAA3B,GAAsC,UAAUpB,OAAV,EAAmB;AACrD;AACA,WAAOl2C,MAAM,CAACo+C,SAAP,CAAiB9G,QAAjB,CAA0B9pB,2DAAQ,CAAC0oB,OAAD,CAAlC,CAAP;AACH,GAHD;;AAIAO,EAAAA,gBAAgB,CAAC3rB,SAAjB,CAA2BitB,eAA3B,GAA6C,UAAUC,UAAV,EAAsB;AAC/D,WAAOh4C,MAAM,CAACo+C,SAAP,CAAiBrG,eAAjB,CAAiCC,UAAjC,CAAP;AACH,GAFD;;AAGAvB,EAAAA,gBAAgB,CAAC3rB,SAAjB,CAA2Bsc,WAA3B,GAAyC,UAAUkW,SAAV,EAAqBpF,WAArB,EAAkCqF,SAAlC,EAA6C;AAClF,WAAO9+B,4DAAS,CAAC,IAAD,EAAO,KAAK,CAAZ,EAAe,KAAK,CAApB,EAAuB,YAAY;AAC/C,aAAO4N,8DAAW,CAAC,IAAD,EAAO,UAAUuE,EAAV,EAAc;AACnC,eAAO,CAAC;AAAE;AAAH,UAAe5wB,MAAM,CAACo+C,SAAP,CAAiBZ,MAAjB,CAAwBpW,WAAxB,CAAoCkW,SAApC,EAA+CpF,WAA/C,EAA4DqF,SAA5D,CAAf,CAAP;AACH,OAFiB,CAAlB;AAGH,KAJe,CAAhB;AAKH,GAND;;AAOA9G,EAAAA,gBAAgB,CAAC3rB,SAAjB,CAA2ButB,SAA3B,GAAuC,UAAU1xB,GAAV,EAAe;AAClD,WAAOlI,4DAAS,CAAC,IAAD,EAAO,KAAK,CAAZ,EAAe,KAAK,CAApB,EAAuB,YAAY;AAC/C,aAAO4N,8DAAW,CAAC,IAAD,EAAO,UAAUuE,EAAV,EAAc;AACnC,eAAO,CAAC;AAAE;AAAH,UAAe5wB,MAAM,CAACo+C,SAAP,CAAiBZ,MAAjB,CAAwBnF,SAAxB,CAAkC+E,sEAAlC,EAAkDz2B,GAAlD,CAAf,CAAP;AACH,OAFiB,CAAlB;AAGH,KAJe,CAAhB;AAKH,GAND;;AAOA8vB,EAAAA,gBAAgB,CAAC3rB,SAAjB,CAA2BytB,SAA3B,GAAuC,UAAUkF,OAAV,EAAmBH,SAAnB,EAA8BpF,WAA9B,EAA2CqF,SAA3C,EAAsD;AACzF,WAAO9+B,4DAAS,CAAC,IAAD,EAAO,KAAK,CAAZ,EAAe,KAAK,CAApB,EAAuB,YAAY;AAC/C,aAAO4N,8DAAW,CAAC,IAAD,EAAO,UAAUuE,EAAV,EAAc;AACnC,eAAO,CAAC;AAAE;AAAH,UAAe5wB,MAAM,CAACo+C,SAAP,CAAiBZ,MAAjB,CAAwBjF,SAAxB,CAAkC6E,sEAAlC,EAAkDK,OAAlD,EAA2DH,SAA3D,EAAsEpF,WAAtE,EAAmFqF,SAAnF,CAAf,CAAP;AACH,OAFiB,CAAlB;AAGH,KAJe,CAAhB;AAKH,GAND;;AAOA9G,EAAAA,gBAAgB,CAAC3rB,SAAjB,CAA2B0tB,IAA3B,GAAkC,UAAU8E,SAAV,EAAqB32B,GAArB,EAA0Bn+B,IAA1B,EAAgC;AAC9D,WAAOi2B,4DAAS,CAAC,IAAD,EAAO,KAAK,CAAZ,EAAe,KAAK,CAApB,EAAuB,YAAY;AAC/C,aAAO4N,8DAAW,CAAC,IAAD,EAAO,UAAUuE,EAAV,EAAc;AACnC,eAAO,CAAC;AAAE;AAAH,UAAe5wB,MAAM,CAACo+C,SAAP,CAAiBZ,MAAjB,CAAwBhF,IAAxB,CAA6B8E,SAA7B,EAAwC32B,GAAxC,EAA6Cn+B,IAA7C,CAAf,CAAP;AACH,OAFiB,CAAlB;AAGH,KAJe,CAAhB;AAKH,GAND;;AAOAiuD,EAAAA,gBAAgB,CAAC3rB,SAAjB,CAA2BgtB,MAA3B,GAAoC,UAAUwF,SAAV,EAAqB90D,IAArB,EAA2B;AAC3D,WAAOi2B,4DAAS,CAAC,IAAD,EAAO,KAAK,CAAZ,EAAe,KAAK,CAApB,EAAuB,YAAY;AAC/C,aAAO4N,8DAAW,CAAC,IAAD,EAAO,UAAUuE,EAAV,EAAc;AACnC,eAAO,CAAC;AAAE;AAAH,UAAe5wB,MAAM,CAACo+C,SAAP,CAAiBZ,MAAjB,CAAwB1F,MAAxB,CAA+BwF,SAA/B,EAA0C90D,IAA1C,CAAf,CAAP;AACH,OAFiB,CAAlB;AAGH,KAJe,CAAhB;AAKH,GAND;;AAOA,SAAOiuD,gBAAP;AACH,CA9CqC,EAAtC;;;;;;;;;;;;;;;;;;;;ACTA;AACa;;AACb;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;;AACA,IAAI4H,sBAAsB,GAAG,EAA7B;AACA;AACA;AACA;;AACA,IAAIxF,aAAa;AAAG;AAAe,YAAY;AAC3C,WAASA,aAAT,CAAuB5I,SAAvB,EAAkC;AAC9B,SAAKzE,YAAL,GAAoB,IAAImN,iEAAJ,EAApB;AACA,SAAK1I,SAAL,GAAiBA,SAAjB;AACH;AACD;AACJ;AACA;;;AACI4I,EAAAA,aAAa,CAAC/tB,SAAd,CAAwB0uB,aAAxB,GAAwC,YAAY;AAChD,WAAO/6B,4DAAS,CAAC,IAAD,EAAO,KAAK,CAAZ,EAAe,KAAK,CAApB,EAAuB,YAAY;AAC/C,UAAI6/B,YAAJ,EAAkBC,aAAlB;AACA,aAAOlyB,8DAAW,CAAC,IAAD,EAAO,UAAUuE,EAAV,EAAc;AACnC,gBAAQA,EAAE,CAACrE,KAAX;AACI,eAAK,CAAL;AACI+xB,YAAAA,YAAY,GAAG,KAAKE,oBAAL,EAAf;AACA,mBAAO,CAAC;AAAE;AAAH,cAAc,KAAKC,iCAAL,CAAuCH,YAAvC,CAAd,CAAP;;AACJ,eAAK,CAAL;AACIC,YAAAA,aAAa,GAAG3tB,EAAE,CAACpE,IAAH,EAAhB;AACA,mBAAO,CAAC;AAAE;AAAH,cAAe;AACdkyB,cAAAA,QAAQ,EAAEJ,YADI;AAEdK,cAAAA,SAAS,EAAEJ;AAFG,aAAf,CAAP;AANR;AAWH,OAZiB,CAAlB;AAaH,KAfe,CAAhB;AAgBH,GAjBD;AAkBA;AACJ;AACA;AACA;;;AACI1F,EAAAA,aAAa,CAAC/tB,SAAd,CAAwB0zB,oBAAxB,GAA+C,YAAY;AACvD,QAAI;AACA;AACA,UAAI9B,MAAM,GAAG,IAAI3F,UAAJ,CAAesH,sBAAf,CAAb;AACA,WAAKpO,SAAL,CAAe8H,eAAf,CAA+B2E,MAA/B,EAHA,CAIA;;AACA,UAAIkC,mBAAmB,GAAG,KAAKpT,YAAL,CAAkB6Q,YAAlB,CAA+BK,MAA/B,CAA1B;AACA,aAAOkC,mBAAP;AACH,KAPD,CAQA,OAAOpzB,CAAP,EAAU;AACN,YAAM8D,oGAAA,CAA6C9D,CAA7C,CAAN;AACH;AACJ,GAZD;AAaA;AACJ;AACA;AACA;;;AACIqtB,EAAAA,aAAa,CAAC/tB,SAAd,CAAwB2zB,iCAAxB,GAA4D,UAAUK,gBAAV,EAA4B;AACpF,WAAOrgC,4DAAS,CAAC,IAAD,EAAO,KAAK,CAAZ,EAAe,KAAK,CAApB,EAAuB,YAAY;AAC/C,UAAIsgC,sBAAJ,EAA4BluB,GAA5B;AACA,aAAOxE,8DAAW,CAAC,IAAD,EAAO,UAAUuE,EAAV,EAAc;AACnC,gBAAQA,EAAE,CAACrE,KAAX;AACI,eAAK,CAAL;AACIqE,YAAAA,EAAE,CAACnE,IAAH,CAAQ3F,IAAR,CAAa,CAAC,CAAD,EAAI,CAAJ,GAAS,CAAT,CAAb;;AACA,mBAAO,CAAC;AAAE;AAAH,cAAc,KAAKmpB,SAAL,CAAe0H,YAAf,CAA4BmH,gBAA5B,CAAd,CAAP;;AACJ,eAAK,CAAL;AACIC,YAAAA,sBAAsB,GAAGnuB,EAAE,CAACpE,IAAH,EAAzB,CADJ,CAEI;;AACA,mBAAO,CAAC;AAAE;AAAH,cAAe,KAAKgf,YAAL,CAAkB6Q,YAAlB,CAA+B,IAAItF,UAAJ,CAAegI,sBAAf,CAA/B,CAAf,CAAP;;AACJ,eAAK,CAAL;AACIluB,YAAAA,GAAG,GAAGD,EAAE,CAACpE,IAAH,EAAN;AACA,kBAAM8C,oGAAA,CAA6CuB,GAA7C,CAAN;;AACJ,eAAK,CAAL;AAAQ,mBAAO,CAAC;AAAE;AAAH,aAAP;AAXZ;AAaH,OAdiB,CAAlB;AAeH,KAjBe,CAAhB;AAkBH,GAnBD;;AAoBA,SAAOgoB,aAAP;AACH,CApEkC,EAAnC;;;;;;;;;;;;;;;;;;;ACfA;AACa;;AACb;AACA;AAEA;AACA;AACA;AACA;;AACA;AACA;AACA;AACA;;AACA,IAAID,YAAY;AAAG;AAAe,YAAY;AAC1C,WAASA,YAAT,GAAwB,CACvB;AACD;AACJ;AACA;AACA;;;AACIA,EAAAA,YAAY,CAAC9tB,SAAb,CAAuBwuB,MAAvB,GAAgC,UAAUF,KAAV,EAAiB;AAC7C,QAAI4F,aAAa,GAAG5F,KAAK,CAACl5C,OAAN,CAAc,IAAd,EAAoB,GAApB,EAAyBA,OAAzB,CAAiC,IAAjC,EAAuC,GAAvC,CAApB;;AACA,YAAQ8+C,aAAa,CAACxxD,MAAd,GAAuB,CAA/B;AACI,WAAK,CAAL;AACI;;AACJ,WAAK,CAAL;AACIwxD,QAAAA,aAAa,IAAI,IAAjB;AACA;;AACJ,WAAK,CAAL;AACIA,QAAAA,aAAa,IAAI,GAAjB;AACA;;AACJ;AACI,cAAM,IAAIhR,KAAJ,CAAU,uBAAV,CAAN;AAVR;;AAYA,QAAIiR,YAAY,GAAG,KAAKC,cAAL,CAAoBF,aAApB,CAAnB;AACA,WAAOzI,4FAAA,CAAmC0I,YAAnC,CAAP;AACH,GAhBD;AAiBA;AACJ;AACA;AACA;AACA;;;AACIrG,EAAAA,YAAY,CAAC9tB,SAAb,CAAuBo0B,cAAvB,GAAwC,UAAUC,YAAV,EAAwBC,UAAxB,EAAoC;AACxE,QAAIC,OAAO,GAAGF,YAAY,CAACj/C,OAAb,CAAqB,mBAArB,EAA0CytB,sEAA1C,CAAd;AACA,QAAI2xB,MAAM,GAAGD,OAAO,CAAC7xD,MAArB;AACA,QAAI+xD,OAAO,GAAGH,UAAU,GAAGrC,IAAI,CAACyC,IAAL,CAAU,CAACF,MAAM,GAAG,CAAT,GAAa,CAAb,KAAmB,CAApB,IAAyBF,UAAnC,IAAiDA,UAApD,GAAiEE,MAAM,GAAG,CAAT,GAAa,CAAb,KAAmB,CAA5G;AACA,QAAIG,MAAM,GAAG,IAAI1I,UAAJ,CAAewI,OAAf,CAAb;;AACA,SAAK,IAAIG,KAAK,GAAG,KAAK,CAAjB,EAAoBC,KAAK,GAAG,KAAK,CAAjC,EAAoCC,OAAO,GAAG,CAA9C,EAAiDC,OAAO,GAAG,CAA3D,EAA8DC,MAAM,GAAG,CAA5E,EAA+EA,MAAM,GAAGR,MAAxF,EAAgGQ,MAAM,EAAtG,EAA0G;AACtGH,MAAAA,KAAK,GAAGG,MAAM,GAAG,CAAjB;AACAF,MAAAA,OAAO,IAAI,KAAKG,UAAL,CAAgBV,OAAO,CAACW,UAAR,CAAmBF,MAAnB,CAAhB,KAA+C,KAAK,IAAIH,KAAnE;;AACA,UAAIA,KAAK,KAAK,CAAV,IAAeL,MAAM,GAAGQ,MAAT,KAAoB,CAAvC,EAA0C;AACtC,aAAKJ,KAAK,GAAG,CAAb,EAAgBA,KAAK,GAAG,CAAR,IAAaG,OAAO,GAAGN,OAAvC,EAAgDG,KAAK,IAAIG,OAAO,EAAhE,EAAoE;AAChEJ,UAAAA,MAAM,CAACI,OAAD,CAAN,GAAkBD,OAAO,MAAM,OAAOF,KAAP,GAAe,EAArB,CAAP,GAAkC,GAApD;AACH;;AACDE,QAAAA,OAAO,GAAG,CAAV;AACH;AACJ;;AACD,WAAOH,MAAP;AACH,GAhBD;AAiBA;AACJ;AACA;AACA;;;AACI7G,EAAAA,YAAY,CAAC9tB,SAAb,CAAuBi1B,UAAvB,GAAoC,UAAUE,OAAV,EAAmB;AACnD,WAAOA,OAAO,GAAG,EAAV,IAAgBA,OAAO,GAAG,EAA1B,GACHA,OAAO,GAAG,EADP,GAEDA,OAAO,GAAG,EAAV,IAAgBA,OAAO,GAAG,GAA1B,GACEA,OAAO,GAAG,EADZ,GAEIA,OAAO,GAAG,EAAV,IAAgBA,OAAO,GAAG,EAA1B,GACEA,OAAO,GAAG,CADZ,GAEIA,OAAO,KAAK,EAAZ,GACE,EADF,GAEIA,OAAO,KAAK,EAAZ,GACE,EADF,GAGM,CAXxB;AAYH,GAbD;;AAcA,SAAOrH,YAAP;AACH,CAjEiC,EAAlC;;;;;;;;;;;;;;;;;;;ACbA;AACa;;AACb;AACA;AAEA;AACA;AACA;AACA;;AACA;AACA;AACA;AACA;;AACA,IAAID,YAAY;AAAG;AAAe,YAAY;AAC1C,WAASA,YAAT,GAAwB,CACvB;AACD;AACJ;AACA;AACA;;;AACIA,EAAAA,YAAY,CAAC7tB,SAAb,CAAuBixB,SAAvB,GAAmC,UAAU3C,KAAV,EAAiB;AAChD,WAAOrR,kBAAkB,CAAC,KAAKsR,MAAL,CAAYD,KAAZ,EACrBl5C,OADqB,CACb,IADa,EACPytB,sEADO,EAErBztB,OAFqB,CAEb,KAFa,EAEN,GAFM,EAGrBA,OAHqB,CAGb,KAHa,EAGN,GAHM,CAAD,CAAzB;AAIH,GALD;AAMA;AACJ;AACA;AACA;;;AACIy4C,EAAAA,YAAY,CAAC7tB,SAAb,CAAuBuxB,YAAvB,GAAsC,UAAU6D,QAAV,EAAoB;AACtD,WAAO,KAAKC,YAAL,CAAkBD,QAAlB,EACFhgD,OADE,CACM,IADN,EACYytB,sEADZ,EAEFztB,OAFE,CAEM,KAFN,EAEa,GAFb,EAGFA,OAHE,CAGM,KAHN,EAGa,GAHb,CAAP;AAIH,GALD;AAMA;AACJ;AACA;AACA;;;AACIy4C,EAAAA,YAAY,CAAC7tB,SAAb,CAAuBuuB,MAAvB,GAAgC,UAAUD,KAAV,EAAiB;AAC7C,QAAI6F,YAAY,GAAG1I,4FAAA,CAAmC6C,KAAnC,CAAnB;AACA,WAAO,KAAK+G,YAAL,CAAkBlB,YAAlB,CAAP;AACH,GAHD;AAIA;AACJ;AACA;AACA;;;AACItG,EAAAA,YAAY,CAAC7tB,SAAb,CAAuBq1B,YAAvB,GAAsC,UAAUV,MAAV,EAAkB;AACpD,QAAIW,KAAK,GAAG,CAAC,IAAKX,MAAM,CAACjyD,MAAP,GAAgB,CAAtB,IAA4B,CAAxC;AACA,QAAI6xD,OAAO,GAAG1xB,sEAAd;;AACA,SAAK,IAAI+xB,KAAK,GAAG,KAAK,CAAjB,EAAoBW,IAAI,GAAGZ,MAAM,CAACjyD,MAAlC,EAA0CoyD,OAAO,GAAG,CAApD,EAAuDU,IAAI,GAAG,CAAnE,EAAsEA,IAAI,GAAGD,IAA7E,EAAmFC,IAAI,EAAvF,EAA2F;AACvFZ,MAAAA,KAAK,GAAGY,IAAI,GAAG,CAAf;AACA;;AACA;AACZ;AACA;;AACYV,MAAAA,OAAO,IAAIH,MAAM,CAACa,IAAD,CAAN,KAAiB,OAAOZ,KAAP,GAAe,EAAhC,CAAX;;AACA,UAAIA,KAAK,KAAK,CAAV,IAAeD,MAAM,CAACjyD,MAAP,GAAgB8yD,IAAhB,KAAyB,CAA5C,EAA+C;AAC3CjB,QAAAA,OAAO,IAAIkB,MAAM,CAACC,YAAP,CAAoB,KAAKC,UAAL,CAAgBb,OAAO,KAAK,EAAZ,GAAiB,EAAjC,CAApB,EAA0D,KAAKa,UAAL,CAAgBb,OAAO,KAAK,EAAZ,GAAiB,EAAjC,CAA1D,EAAgG,KAAKa,UAAL,CAAgBb,OAAO,KAAK,CAAZ,GAAgB,EAAhC,CAAhG,EAAqI,KAAKa,UAAL,CAAgBb,OAAO,GAAG,EAA1B,CAArI,CAAX;AACAA,QAAAA,OAAO,GAAG,CAAV;AACH;AACJ;;AACD,WAAOQ,KAAK,KAAK,CAAV,GAAcf,OAAd,GAAwBA,OAAO,CAAChX,SAAR,CAAkB,CAAlB,EAAqBgX,OAAO,CAAC7xD,MAAR,GAAiB4yD,KAAtC,KAAgDA,KAAK,KAAK,CAAV,GAAc,GAAd,GAAoB,IAApE,CAA/B;AACH,GAhBD;AAiBA;AACJ;AACA;AACA;;;AACIzH,EAAAA,YAAY,CAAC7tB,SAAb,CAAuB21B,UAAvB,GAAoC,UAAUC,MAAV,EAAkB;AAClD,WAAOA,MAAM,GAAG,EAAT,GACHA,MAAM,GAAG,EADN,GAEDA,MAAM,GAAG,EAAT,GACEA,MAAM,GAAG,EADX,GAEIA,MAAM,GAAG,EAAT,GACEA,MAAM,GAAG,CADX,GAEIA,MAAM,KAAK,EAAX,GACE,EADF,GAEIA,MAAM,KAAK,EAAX,GACE,EADF,GAGM,EAXxB;AAYH,GAbD;;AAcA,SAAO/H,YAAP;AACH,CAvEiC,EAAlC;;;;;;;;;;;;;;;;;;;;;ACbA;AACa;;AACb;AACA;AAEA;AACA;AACA;AACA;;AACA;AACA;AACA;;AACA,IAAIva,uBAAuB,GAAG;AAC1BuiB,EAAAA,gBAAgB,EAAE;AACdxpD,IAAAA,IAAI,EAAE,kBADQ;AAEdypD,IAAAA,IAAI,EAAE;AAFQ,GADQ;AAK1BC,EAAAA,kBAAkB,EAAE;AAChB1pD,IAAAA,IAAI,EAAE,oBADU;AAEhBypD,IAAAA,IAAI,EAAE;AAFU,GALM;AAS1BE,EAAAA,6BAA6B,EAAE;AAC3B3pD,IAAAA,IAAI,EAAE,6BADqB;AAE3BypD,IAAAA,IAAI,EAAE;AAFqB,GATL;AAa1BG,EAAAA,qBAAqB,EAAE;AACnB5pD,IAAAA,IAAI,EAAE,oBADa;AAEnBypD,IAAAA,IAAI,EAAE;AAFa,GAbG;AAiB1BI,EAAAA,cAAc,EAAE;AACZ7pD,IAAAA,IAAI,EAAE,kBADM;AAEZypD,IAAAA,IAAI,EAAE;AAFM,GAjBU;AAqB1BK,EAAAA,4BAA4B,EAAE;AAC1B9pD,IAAAA,IAAI,EAAE,kBADoB;AAE1BypD,IAAAA,IAAI,EAAE;AAFoB,GArBJ;AAyB1BM,EAAAA,sCAAsC,EAAE;AACpC/pD,IAAAA,IAAI,EAAE,wCAD8B;AAEpCypD,IAAAA,IAAI,EAAE;AAF8B,GAzBd;AA6B1BO,EAAAA,uBAAuB,EAAE;AACrBhqD,IAAAA,IAAI,EAAE,uBADe;AAErBypD,IAAAA,IAAI,EAAE;AAFe,GA7BC;AAiC1BQ,EAAAA,iCAAiC,EAAE;AAC/BjqD,IAAAA,IAAI,EAAE,iCADyB;AAE/BypD,IAAAA,IAAI,EAAE;AAFyB,GAjCT;AAqC1BS,EAAAA,qBAAqB,EAAE;AACnBlqD,IAAAA,IAAI,EAAE,yBADa;AAEnBypD,IAAAA,IAAI,EAAE;AAFa,GArCG;AAyC1BU,EAAAA,gBAAgB,EAAE;AACdnqD,IAAAA,IAAI,EAAE,oBADQ;AAEdypD,IAAAA,IAAI,EAAE;AAFQ,GAzCQ;AA6C1BW,EAAAA,gBAAgB,EAAE;AACdpqD,IAAAA,IAAI,EAAE,oBADQ;AAEdypD,IAAAA,IAAI,EAAE;AAFQ,GA7CQ;AAiD1BY,EAAAA,kBAAkB,EAAE;AAChBrqD,IAAAA,IAAI,EAAE,gBADU;AAEhBypD,IAAAA,IAAI,EAAE;AAFU,GAjDM;AAqD1Ba,EAAAA,wBAAwB,EAAE;AACtBtqD,IAAAA,IAAI,EAAE,wBADgB;AAEtBypD,IAAAA,IAAI,EAAE;AAFgB,GArDA;AAyD1Bc,EAAAA,yBAAyB,EAAE;AACvBvqD,IAAAA,IAAI,EAAE,wBADiB;AAEvBypD,IAAAA,IAAI,EAAE;AAFiB,GAzDD;AA6D1Be,EAAAA,qBAAqB,EAAE;AACnBxqD,IAAAA,IAAI,EAAE,oBADa;AAEnBypD,IAAAA,IAAI,EAAE;AAFa,GA7DG;AAiE1BgB,EAAAA,qCAAqC,EAAE;AACnCzqD,IAAAA,IAAI,EAAE,qBAD6B;AAEnCypD,IAAAA,IAAI,EAAE;AAF6B,GAjEb;AAqE1BiB,EAAAA,8BAA8B,EAAE;AAC5B1qD,IAAAA,IAAI,EAAE,qBADsB;AAE5BypD,IAAAA,IAAI,EAAE;AAFsB,GArEN;AAyE1BkB,EAAAA,4BAA4B,EAAE;AAC1B3qD,IAAAA,IAAI,EAAE,2BADoB;AAE1BypD,IAAAA,IAAI,EAAE;AAFoB,GAzEJ;AA6E1BmB,EAAAA,4BAA4B,EAAE;AAC1B5qD,IAAAA,IAAI,EAAE,2BADoB;AAE1BypD,IAAAA,IAAI,EAAE;AAFoB,GA7EJ;AAiF1BoB,EAAAA,cAAc,EAAE;AACZ7qD,IAAAA,IAAI,EAAE,kBADM;AAEZypD,IAAAA,IAAI,EAAE;AAFM,GAjFU;AAqF1BqB,EAAAA,sBAAsB,EAAE;AACpB9qD,IAAAA,IAAI,EAAE,2BADc;AAEpBypD,IAAAA,IAAI,EAAE;AAFc,GArFE;AAyF1BsB,EAAAA,wBAAwB,EAAE;AACtB/qD,IAAAA,IAAI,EAAE,8BADgB;AAEtBypD,IAAAA,IAAI,EAAE;AAFgB,GAzFA;AA6F1BuB,EAAAA,mCAAmC,EAAE;AACjChrD,IAAAA,IAAI,EAAE,2CAD2B;AAEjCypD,IAAAA,IAAI,EAAE;AAF2B,GA7FX;AAiG1BwB,EAAAA,sBAAsB,EAAE;AACpBjrD,IAAAA,IAAI,EAAE,2BADc;AAEpBypD,IAAAA,IAAI,EAAE;AAFc,GAjGE;AAqG1ByB,EAAAA,iBAAiB,EAAE;AACflrD,IAAAA,IAAI,EAAE,4BADS;AAEfypD,IAAAA,IAAI,EAAE;AAFS,GArGO;AAyG1B0B,EAAAA,gBAAgB,EAAE;AACdnrD,IAAAA,IAAI,EAAE,oBADQ;AAEdypD,IAAAA,IAAI,EAAE;AAFQ,GAzGQ;AA6G1B2B,EAAAA,uBAAuB,EAAE;AACrBprD,IAAAA,IAAI,EAAE,yBADe;AAErBypD,IAAAA,IAAI,EAAE;AAFe,GA7GC;AAiH1B4B,EAAAA,eAAe,EAAE;AACbrrD,IAAAA,IAAI,EAAE,mBADO;AAEbypD,IAAAA,IAAI,EAAE;AAFO,GAjHS;AAqH1B6B,EAAAA,qBAAqB,EAAE;AACnBtrD,IAAAA,IAAI,EAAE,yBADa;AAEnBypD,IAAAA,IAAI,EAAE;AAFa,GArHG;AAyH1B8B,EAAAA,iBAAiB,EAAE;AACfvrD,IAAAA,IAAI,EAAE,qBADS;AAEfypD,IAAAA,IAAI,EAAE;AAFS,GAzHO;AA6H1B+B,EAAAA,gBAAgB,EAAE;AACdxrD,IAAAA,IAAI,EAAE,oBADQ;AAEdypD,IAAAA,IAAI,EAAE;AAFQ,GA7HQ;AAiI1BgC,EAAAA,4BAA4B,EAAE;AAC1BzrD,IAAAA,IAAI,EAAE,0BADoB;AAE1BypD,IAAAA,IAAI,EAAE;AAFoB,GAjIJ;AAqI1BiC,EAAAA,sBAAsB,EAAE;AACpB1rD,IAAAA,IAAI,EAAE,sBADc;AAEpBypD,IAAAA,IAAI,EAAE;AAFc,GArIE;AAyI1BkC,EAAAA,2BAA2B,EAAE;AACzB3rD,IAAAA,IAAI,EAAE,sBADmB;AAEzBypD,IAAAA,IAAI,EAAE;AAFmB,GAzIH;AA6I1BmC,EAAAA,gBAAgB,EAAE;AACd5rD,IAAAA,IAAI,EAAE,oBADQ;AAEdypD,IAAAA,IAAI,EAAE;AAFQ,GA7IQ;AAiJ1BoC,EAAAA,+BAA+B,EAAE;AAC7B7rD,IAAAA,IAAI,EAAE,uCADuB;AAE7BypD,IAAAA,IAAI,EAAE;AAFuB,GAjJP;AAqJ1BjiB,EAAAA,mBAAmB,EAAE;AACjBxnC,IAAAA,IAAI,EAAE,sBADW;AAEjBypD,IAAAA,IAAI,EAAE;AAFW,GArJK;AAyJ1BqC,EAAAA,sCAAsC,EAAE;AACpC9rD,IAAAA,IAAI,EAAE,8CAD8B;AAEpCypD,IAAAA,IAAI,EAAE;AAF8B,GAzJd;AA6J1BsC,EAAAA,sBAAsB,EAAE;AACpB/rD,IAAAA,IAAI,EAAE,0BADc;AAEpBypD,IAAAA,IAAI,EAAE;AAFc,GA7JE;AAiK1BuC,EAAAA,2BAA2B,EAAE;AACzBhsD,IAAAA,IAAI,EAAE,gCADmB;AAEzBypD,IAAAA,IAAI,EAAE;AAFmB,GAjKH;AAqK1BwC,EAAAA,8BAA8B,EAAE;AAC5BjsD,IAAAA,IAAI,EAAE,mCADsB;AAE5BypD,IAAAA,IAAI,EAAE;AAFsB,GArKN;AAyK1ByC,EAAAA,kCAAkC,EAAE;AAChClsD,IAAAA,IAAI,EAAE,wCAD0B;AAEhCypD,IAAAA,IAAI,EAAE;AAF0B,GAzKV;AA6K1B0C,EAAAA,wBAAwB,EAAE;AACtBnsD,IAAAA,IAAI,EAAE,6BADgB;AAEtBypD,IAAAA,IAAI,EAAE;AAFgB;AA7KA,CAA9B;AAkLA;AACA;AACA;;AACA,IAAItxB,gBAAgB;AAAG;AAAe,UAAU3F,MAAV,EAAkB;AACpDqB,EAAAA,4DAAS,CAACsE,gBAAD,EAAmB3F,MAAnB,CAAT;;AACA,WAAS2F,gBAAT,CAA0B8E,SAA1B,EAAqCmvB,YAArC,EAAmD;AAC/C,QAAI7xB,KAAK,GAAG/H,MAAM,CAACK,IAAP,CAAY,IAAZ,EAAkBoK,SAAlB,EAA6BmvB,YAA7B,KAA8C,IAA1D;;AACAvgC,IAAAA,MAAM,CAAC2H,cAAP,CAAsB+G,KAAtB,EAA6BpC,gBAAgB,CAACxE,SAA9C;AACA4G,IAAAA,KAAK,CAACrgC,IAAN,GAAa,kBAAb;AACA,WAAOqgC,KAAP;AACH;AACD;AACJ;AACA;AACA;;;AACIpC,EAAAA,gBAAgB,CAACuvB,2BAAjB,GAA+C,UAAU2E,SAAV,EAAqB;AAChE,WAAO,IAAIl0B,gBAAJ,CAAqB8O,uBAAuB,CAACuiB,gBAAxB,CAAyCxpD,IAA9D,EAAoEinC,uBAAuB,CAACuiB,gBAAxB,CAAyCC,IAAzC,GAAgD,UAAhD,GAA6D4C,SAAjI,CAAP;AACH,GAFD;AAGA;AACJ;AACA;AACA;;;AACIl0B,EAAAA,gBAAgB,CAAC+nB,6BAAjB,GAAiD,UAAUmM,SAAV,EAAqB;AAClE,WAAO,IAAIl0B,gBAAJ,CAAqB8O,uBAAuB,CAACyiB,kBAAxB,CAA2C1pD,IAAhE,EAAsEinC,uBAAuB,CAACyiB,kBAAxB,CAA2CD,IAA3C,GAAkD,UAAlD,GAA+D4C,SAArI,CAAP;AACH,GAFD;AAGA;AACJ;AACA;AACA;;;AACIl0B,EAAAA,gBAAgB,CAACm0B,mCAAjB,GAAuD,UAAUr+B,MAAV,EAAkB;AACrE,WAAO,IAAIkK,gBAAJ,CAAqB8O,uBAAuB,CAAC0iB,6BAAxB,CAAsD3pD,IAA3E,EAAiFinC,uBAAuB,CAAC0iB,6BAAxB,CAAsDF,IAAtD,GAA6D,iBAA7D,GAAiFx7B,MAAlK,CAAP;AACH,GAFD;AAGA;AACJ;AACA;;;AACIkK,EAAAA,gBAAgB,CAACo0B,6BAAjB,GAAiD,YAAY;AACzD,WAAO,IAAIp0B,gBAAJ,CAAqB8O,uBAAuB,CAAC2iB,qBAAxB,CAA8C5pD,IAAnE,EAAyEinC,uBAAuB,CAAC2iB,qBAAxB,CAA8CH,IAAvH,CAAP;AACH,GAFD;AAGA;AACJ;AACA;AACA;;;AACItxB,EAAAA,gBAAgB,CAACq0B,oBAAjB,GAAwC,UAAUC,SAAV,EAAqB;AACzD,WAAO,IAAIt0B,gBAAJ,CAAqB8O,uBAAuB,CAAC4iB,cAAxB,CAAuC7pD,IAA5D,EAAkEinC,uBAAuB,CAAC4iB,cAAxB,CAAuCJ,IAAvC,GAA8C,cAA9C,GAA+DgD,SAAjI,CAAP;AACH,GAFD;AAGA;AACJ;AACA;;;AACIt0B,EAAAA,gBAAgB,CAACu0B,kCAAjB,GAAsD,YAAY;AAC9D,WAAO,IAAIv0B,gBAAJ,CAAqB8O,uBAAuB,CAAC6iB,4BAAxB,CAAqD9pD,IAA1E,EAAgFinC,uBAAuB,CAAC6iB,4BAAxB,CAAqDL,IAArI,CAAP;AACH,GAFD;AAGA;AACJ;AACA;;;AACItxB,EAAAA,gBAAgB,CAACw0B,4CAAjB,GAAgE,YAAY;AACxE,WAAO,IAAIx0B,gBAAJ,CAAqB8O,uBAAuB,CAAC8iB,sCAAxB,CAA+D/pD,IAApF,EAA0FinC,uBAAuB,CAAC8iB,sCAAxB,CAA+DN,IAAzJ,CAAP;AACH,GAFD;AAGA;AACJ;AACA;;;AACItxB,EAAAA,gBAAgB,CAACy0B,6BAAjB,GAAiD,YAAY;AACzD,WAAO,IAAIz0B,gBAAJ,CAAqB8O,uBAAuB,CAAC+iB,uBAAxB,CAAgDhqD,IAArE,EAA2EinC,uBAAuB,CAAC+iB,uBAAxB,CAAgDP,IAA3H,CAAP;AACH,GAFD;AAGA;AACJ;AACA;;;AACItxB,EAAAA,gBAAgB,CAAC00B,uCAAjB,GAA2D,YAAY;AACnE,WAAO,IAAI10B,gBAAJ,CAAqB8O,uBAAuB,CAACgjB,iCAAxB,CAA0DjqD,IAA/E,EAAqFinC,uBAAuB,CAACgjB,iCAAxB,CAA0DR,IAA/I,CAAP;AACH,GAFD;AAGA;AACJ;AACA;;;AACItxB,EAAAA,gBAAgB,CAACid,gCAAjB,GAAoD,YAAY;AAC5D,WAAO,IAAIjd,gBAAJ,CAAqB8O,uBAAuB,CAACijB,qBAAxB,CAA8ClqD,IAAnE,EAAyEinC,uBAAuB,CAACijB,qBAAxB,CAA8CT,IAAvH,CAAP;AACH,GAFD;AAGA;AACJ;AACA;AACA;;;AACItxB,EAAAA,gBAAgB,CAAC20B,sBAAjB,GAA0C,UAAUT,SAAV,EAAqB;AAC3D,QAAID,YAAY,GAAGnlB,uBAAuB,CAACkjB,gBAAxB,CAAyCV,IAA5D;AACA2C,IAAAA,YAAY,GAAG,CAACtlC,mEAAA,CAAoBulC,SAApB,CAAD,GAAkCD,YAAY,GAAG,YAAf,GAA8BC,SAAhE,GAA4ED,YAA3F;AACA,WAAO,IAAIj0B,gBAAJ,CAAqB8O,uBAAuB,CAACkjB,gBAAxB,CAAyCnqD,IAA9D,EAAoEosD,YAApE,CAAP;AACH,GAJD;AAKA;AACJ;AACA;AACA;;;AACIj0B,EAAAA,gBAAgB,CAAC40B,6BAAjB,GAAiD,YAAY;AACzD,WAAO,IAAI50B,gBAAJ,CAAqB8O,uBAAuB,CAACmjB,gBAAxB,CAAyCpqD,IAA9D,EAAoEinC,uBAAuB,CAACmjB,gBAAxB,CAAyCX,IAA7G,CAAP;AACH,GAFD;AAGA;AACJ;AACA;;;AACItxB,EAAAA,gBAAgB,CAAC60B,wBAAjB,GAA4C,YAAY;AACpD,WAAO,IAAI70B,gBAAJ,CAAqB8O,uBAAuB,CAACojB,kBAAxB,CAA2CrqD,IAAhE,EAAsEinC,uBAAuB,CAACojB,kBAAxB,CAA2CZ,IAAjH,CAAP;AACH,GAFD;AAGA;AACJ;AACA;;;AACItxB,EAAAA,gBAAgB,CAAC80B,8BAAjB,GAAkD,YAAY;AAC1D,WAAO,IAAI90B,gBAAJ,CAAqB8O,uBAAuB,CAACqjB,wBAAxB,CAAiDtqD,IAAtE,EAA4EinC,uBAAuB,CAACqjB,wBAAxB,CAAiDb,IAA7H,CAAP;AACH,GAFD;AAGA;AACJ;AACA;;;AACItxB,EAAAA,gBAAgB,CAAC+0B,+BAAjB,GAAmD,YAAY;AAC3D,WAAO,IAAI/0B,gBAAJ,CAAqB8O,uBAAuB,CAACsjB,yBAAxB,CAAkDvqD,IAAvE,EAA6EinC,uBAAuB,CAACsjB,yBAAxB,CAAkDd,IAA/H,CAAP;AACH,GAFD;AAGA;AACJ;AACA;AACA;;;AACItxB,EAAAA,gBAAgB,CAACg1B,2BAAjB,GAA+C,UAAUC,iBAAV,EAA6B;AACxE,WAAO,IAAIj1B,gBAAJ,CAAqB8O,uBAAuB,CAACujB,qBAAxB,CAA8CxqD,IAAnE,EAAyEinC,uBAAuB,CAACujB,qBAAxB,CAA8Cf,IAA9C,GAAqD,iCAArD,GAAyF2D,iBAAlK,CAAP;AACH,GAFD;AAGA;AACJ;AACA;;;AACIj1B,EAAAA,gBAAgB,CAACk1B,oCAAjB,GAAwD,YAAY;AAChE,WAAO,IAAIl1B,gBAAJ,CAAqB8O,uBAAuB,CAACwjB,qCAAxB,CAA8DzqD,IAAnF,EAAyFinC,uBAAuB,CAACwjB,qCAAxB,CAA8DhB,IAAvJ,CAAP;AACH,GAFD;AAGA;AACJ;AACA;AACA;;;AACItxB,EAAAA,gBAAgB,CAACm1B,oCAAjB,GAAwD,YAAY;AAChE,WAAO,IAAIn1B,gBAAJ,CAAqB8O,uBAAuB,CAACyjB,8BAAxB,CAAuD1qD,IAA5E,EAAkFinC,uBAAuB,CAACyjB,8BAAxB,CAAuDjB,IAAzI,CAAP;AACH,GAFD;AAGA;AACJ;AACA;;;AACItxB,EAAAA,gBAAgB,CAACo1B,kCAAjB,GAAsD,YAAY;AAC9D,WAAO,IAAIp1B,gBAAJ,CAAqB8O,uBAAuB,CAAC0jB,4BAAxB,CAAqD3qD,IAA1E,EAAgFinC,uBAAuB,CAAC0jB,4BAAxB,CAAqDlB,IAArI,CAAP;AACH,GAFD;AAGA;AACJ;AACA;;;AACItxB,EAAAA,gBAAgB,CAACq1B,kCAAjB,GAAsD,YAAY;AAC9D,WAAO,IAAIr1B,gBAAJ,CAAqB8O,uBAAuB,CAAC2jB,4BAAxB,CAAqD5qD,IAA1E,EAAgFinC,uBAAuB,CAAC2jB,4BAAxB,CAAqDnB,IAArI,CAAP;AACH,GAFD;AAGA;AACJ;AACA;;;AACItxB,EAAAA,gBAAgB,CAACyK,oBAAjB,GAAwC,YAAY;AAChD,WAAO,IAAIzK,gBAAJ,CAAqB8O,uBAAuB,CAAC4jB,cAAxB,CAAuC7qD,IAA5D,EAAkEinC,uBAAuB,CAAC4jB,cAAxB,CAAuCpB,IAAzG,CAAP;AACH,GAFD;AAGA;AACJ;AACA;;;AACItxB,EAAAA,gBAAgB,CAACs1B,4BAAjB,GAAgD,UAAUC,WAAV,EAAuB;AACnE,WAAO,IAAIv1B,gBAAJ,CAAqB8O,uBAAuB,CAAC6jB,sBAAxB,CAA+C9qD,IAApE,EAA0EinC,uBAAuB,CAAC6jB,sBAAxB,CAA+CrB,IAA/C,GAAsD,gBAAtD,GAAyEiE,WAAnJ,CAAP;AACH,GAFD;AAGA;AACJ;AACA;;;AACIv1B,EAAAA,gBAAgB,CAACwc,yCAAjB,GAA6D,YAAY;AACrE,WAAO,IAAIxc,gBAAJ,CAAqB8O,uBAAuB,CAAC+jB,mCAAxB,CAA4DhrD,IAAjF,EAAuFinC,uBAAuB,CAAC+jB,mCAAxB,CAA4DvB,IAAnJ,CAAP;AACH,GAFD;AAGA;AACJ;AACA;;;AACItxB,EAAAA,gBAAgB,CAACqc,8BAAjB,GAAkD,YAAY;AAC1D,WAAO,IAAIrc,gBAAJ,CAAqB8O,uBAAuB,CAAC8jB,wBAAxB,CAAiD/qD,IAAtE,EAA4EinC,uBAAuB,CAAC8jB,wBAAxB,CAAiDtB,IAA7H,CAAP;AACH,GAFD;AAGA;AACJ;AACA;;;AACItxB,EAAAA,gBAAgB,CAACw1B,4BAAjB,GAAgD,YAAY;AACxD,WAAO,IAAIx1B,gBAAJ,CAAqB8O,uBAAuB,CAACikB,iBAAxB,CAA0ClrD,IAA/D,EAAqEinC,uBAAuB,CAACikB,iBAAxB,CAA0CzB,IAA/G,CAAP;AACH,GAFD;AAGA;AACJ;AACA;;;AACItxB,EAAAA,gBAAgB,CAAC0c,4BAAjB,GAAgD,YAAY;AACxD,WAAO,IAAI1c,gBAAJ,CAAqB8O,uBAAuB,CAACgkB,sBAAxB,CAA+CjrD,IAApE,EAA0EinC,uBAAuB,CAACgkB,sBAAxB,CAA+CxB,IAAzH,CAAP;AACH,GAFD;AAGA;AACJ;AACA;;;AACItxB,EAAAA,gBAAgB,CAACy1B,2BAAjB,GAA+C,YAAY;AACvD,WAAO,IAAIz1B,gBAAJ,CAAqB8O,uBAAuB,CAACkkB,gBAAxB,CAAyCnrD,IAA9D,EAAoE,KAAKinC,uBAAuB,CAACkkB,gBAAxB,CAAyC1B,IAAlH,CAAP;AACH,GAFD;AAGA;AACJ;AACA;;;AACItxB,EAAAA,gBAAgB,CAAC01B,gCAAjB,GAAoD,YAAY;AAC5D,WAAO,IAAI11B,gBAAJ,CAAqB8O,uBAAuB,CAACmkB,uBAAxB,CAAgDprD,IAArE,EAA2EinC,uBAAuB,CAACmkB,uBAAxB,CAAgD3B,IAA3H,CAAP;AACH,GAFD;AAGA;AACJ;AACA;;;AACItxB,EAAAA,gBAAgB,CAACyf,0BAAjB,GAA8C,YAAY;AACtD,WAAO,IAAIzf,gBAAJ,CAAqB8O,uBAAuB,CAACokB,eAAxB,CAAwCrrD,IAA7D,EAAmEinC,uBAAuB,CAACokB,eAAxB,CAAwC5B,IAA3G,CAAP;AACH,GAFD;AAGA;AACJ;AACA;;;AACItxB,EAAAA,gBAAgB,CAAC21B,gCAAjB,GAAoD,YAAY;AAC5D,WAAO,IAAI31B,gBAAJ,CAAqB8O,uBAAuB,CAACqkB,qBAAxB,CAA8CtrD,IAAnE,EAAyEinC,uBAAuB,CAACqkB,qBAAxB,CAA8C7B,IAAvH,CAAP;AACH,GAFD;AAGA;AACJ;AACA;;;AACItxB,EAAAA,gBAAgB,CAAC41B,4BAAjB,GAAgD,UAAUC,SAAV,EAAqB/0C,QAArB,EAA+B;AAC3E,WAAO,IAAIkf,gBAAJ,CAAqB8O,uBAAuB,CAACskB,iBAAxB,CAA0CvrD,IAA/D,EAAqEinC,uBAAuB,CAACskB,iBAAxB,CAA0C9B,IAA1C,GAAiD,2BAAjD,GAA+EuE,SAA/E,GAA2F,yBAA3F,GAAuH/0C,QAAQ,CAACxQ,KAAT,CAAe,GAAf,EAAoB,CAApB,CAA5L,CAAP;AACH,GAFD;AAGA;AACJ;AACA;;;AACI0vB,EAAAA,gBAAgB,CAAC81B,2BAAjB,GAA+C,UAAUD,SAAV,EAAqB/0C,QAArB,EAA+B;AAC1E,WAAO,IAAIkf,gBAAJ,CAAqB8O,uBAAuB,CAACukB,gBAAxB,CAAyCxrD,IAA9D,EAAoEinC,uBAAuB,CAACukB,gBAAxB,CAAyC/B,IAAzC,GAAgD,2BAAhD,GAA8EuE,SAA9E,GAA0F,yBAA1F,GAAsH/0C,QAAQ,CAACxQ,KAAT,CAAe,GAAf,EAAoB,CAApB,CAA1L,CAAP;AACH,GAFD;AAGA;AACJ;AACA;;;AACI0vB,EAAAA,gBAAgB,CAAC+1B,uCAAjB,GAA2D,UAAUj1C,QAAV,EAAoB;AAC3E,WAAO,IAAIkf,gBAAJ,CAAqB8O,uBAAuB,CAACwkB,4BAAxB,CAAqDzrD,IAA1E,EAAgFinC,uBAAuB,CAACwkB,4BAAxB,CAAqDhC,IAArD,GAA4D,yBAA5D,GAAwFxwC,QAAQ,CAACxQ,KAAT,CAAe,GAAf,EAAoB,CAApB,CAAxK,CAAP;AACH,GAFD;AAGA;AACJ;AACA;;;AACI0vB,EAAAA,gBAAgB,CAAC8gB,4BAAjB,GAAgD,UAAUkV,WAAV,EAAuB;AACnE,WAAO,IAAIh2B,gBAAJ,CAAqB8O,uBAAuB,CAACykB,sBAAxB,CAA+C1rD,IAApE,EAA0EinC,uBAAuB,CAACykB,sBAAxB,CAA+CjC,IAA/C,GAAsD,KAAtD,GAA8D0E,WAAxI,CAAP;AACH,GAFD;AAGA;AACJ;AACA;;;AACIh2B,EAAAA,gBAAgB,CAACwsB,sCAAjB,GAA0D,UAAUyJ,KAAV,EAAiB;AACvE,WAAO,IAAIj2B,gBAAJ,CAAqB8O,uBAAuB,CAAC0kB,2BAAxB,CAAoD3rD,IAAzE,EAA+EinC,uBAAuB,CAAC0kB,2BAAxB,CAAoDlC,IAApD,GAA2D,+BAA3D,GAA6F2E,KAA5K,CAAP;AACH,GAFD;AAGA;AACJ;AACA;;;AACIj2B,EAAAA,gBAAgB,CAACk2B,2BAAjB,GAA+C,YAAY;AACvD,WAAO,IAAIl2B,gBAAJ,CAAqB8O,uBAAuB,CAAC2kB,gBAAxB,CAAyC5rD,IAA9D,EAAoEinC,uBAAuB,CAAC2kB,gBAAxB,CAAyCnC,IAA7G,CAAP;AACH,GAFD;AAGA;AACJ;AACA;;;AACItxB,EAAAA,gBAAgB,CAACwG,4CAAjB,GAAgE,YAAY;AACxE,WAAO,IAAIxG,gBAAJ,CAAqB8O,uBAAuB,CAAC4kB,+BAAxB,CAAwD7rD,IAA7E,EAAmFinC,uBAAuB,CAAC4kB,+BAAxB,CAAwDpC,IAA3I,CAAP;AACH,GAFD;AAGA;AACJ;AACA;;;AACItxB,EAAAA,gBAAgB,CAACsf,8BAAjB,GAAkD,YAAY;AAC1D,WAAO,IAAItf,gBAAJ,CAAqB8O,uBAAuB,CAACO,mBAAxB,CAA4CxnC,IAAjE,EAAuEinC,uBAAuB,CAACO,mBAAxB,CAA4CiiB,IAAnH,CAAP;AACH,GAFD;AAGA;AACJ;AACA;;;AACItxB,EAAAA,gBAAgB,CAACuG,iDAAjB,GAAqE,YAAY;AAC7E,WAAO,IAAIvG,gBAAJ,CAAqB8O,uBAAuB,CAAC6kB,sCAAxB,CAA+D9rD,IAApF,EAA0FinC,uBAAuB,CAAC6kB,sCAAxB,CAA+DrC,IAAzJ,CAAP;AACH,GAFD;AAGA;AACJ;AACA;;;AACItxB,EAAAA,gBAAgB,CAAC6N,iCAAjB,GAAqD,YAAY;AAC7D,WAAO,IAAI7N,gBAAJ,CAAqB8O,uBAAuB,CAAC8kB,sBAAxB,CAA+C/rD,IAApE,EAA0EinC,uBAAuB,CAAC8kB,sBAAxB,CAA+CtC,IAAzH,CAAP;AACH,GAFD;AAGA;AACJ;AACA;;;AACItxB,EAAAA,gBAAgB,CAACiO,sCAAjB,GAA0D,YAAY;AAClE,WAAO,IAAIjO,gBAAJ,CAAqB8O,uBAAuB,CAAC+kB,2BAAxB,CAAoDhsD,IAAzE,EAA+EinC,uBAAuB,CAAC+kB,2BAAxB,CAAoDvC,IAAnI,CAAP;AACH,GAFD;AAGA;AACJ;AACA;AACA;;;AACItxB,EAAAA,gBAAgB,CAAC0I,yCAAjB,GAA6D,YAAY;AACrE,WAAO,IAAI1I,gBAAJ,CAAqB8O,uBAAuB,CAACglB,8BAAxB,CAAuDjsD,IAA5E,EAAkFinC,uBAAuB,CAACglB,8BAAxB,CAAuDxC,IAAzI,CAAP;AACH,GAFD;AAGA;AACJ;AACA;;;AACItxB,EAAAA,gBAAgB,CAACm2B,wCAAjB,GAA4D,YAAY;AACpE,WAAO,IAAIn2B,gBAAJ,CAAqB8O,uBAAuB,CAACilB,kCAAxB,CAA2DlsD,IAAhF,EAAsFinC,uBAAuB,CAACilB,kCAAxB,CAA2DzC,IAAjJ,CAAP;AACH,GAFD;AAGA;AACJ;AACA;AACA;;;AACItxB,EAAAA,gBAAgB,CAACo2B,4CAAjB,GAAgE,YAAY;AACxE,WAAO,IAAIp2B,gBAAJ,CAAqB8O,uBAAuB,CAACklB,wBAAxB,CAAiDnsD,IAAtE,EAA4EinC,uBAAuB,CAACklB,wBAAxB,CAAiD1C,IAA7H,CAAP;AACH,GAFD;;AAGA,SAAOtxB,gBAAP;AACH,CA7RqC,CA6RpCxB,yDA7RoC,CAAtC;;;;;;;;;;;;;;;;;;;;ACjMA;AACa;;AACb;AACA;AAEA;AACA;AACA;AACA;;AACA;AACA;AACA;;AACA,IAAI63B,oCAAoC,GAAG;AACvCC,EAAAA,iBAAiB,EAAE;AACfzuD,IAAAA,IAAI,EAAE,oBADS;AAEfypD,IAAAA,IAAI,EAAE;AAFS,GADoB;AAKvCiF,EAAAA,mBAAmB,EAAE;AACjB1uD,IAAAA,IAAI,EAAE,uBADW;AAEjBypD,IAAAA,IAAI,EAAE;AAFW,GALkB;AASvCkF,EAAAA,wBAAwB,EAAE;AACtB3uD,IAAAA,IAAI,EAAE,uBADgB;AAEtBypD,IAAAA,IAAI,EAAE;AAFgB,GATa;AAavCmF,EAAAA,sBAAsB,EAAE;AACpB5uD,IAAAA,IAAI,EAAE,uBADc;AAEpBypD,IAAAA,IAAI,EAAE,wIACF;AAHgB,GAbe;AAkBvCoF,EAAAA,qBAAqB,EAAE;AACnB7uD,IAAAA,IAAI,EAAE,yBADa;AAEnBypD,IAAAA,IAAI,EAAE,qDACF;AAHe,GAlBgB;AAuBvCqF,EAAAA,qBAAqB,EAAE;AACnB9uD,IAAAA,IAAI,EAAE,0CADa;AAEnBypD,IAAAA,IAAI,EAAE;AAFa,GAvBgB;AA2BvCsF,EAAAA,wBAAwB,EAAE;AACtB/uD,IAAAA,IAAI,EAAE,6BADgB;AAEtBypD,IAAAA,IAAI,EAAE;AAFgB,GA3Ba;AA+BvCuF,EAAAA,kBAAkB,EAAE;AAChBhvD,IAAAA,IAAI,EAAE,sBADU;AAEhBypD,IAAAA,IAAI,EAAE;AAFU;AA/BmB,CAA3C;AAoCA;AACA;AACA;;AACA,IAAI9iC,6BAA6B;AAAG;AAAe,UAAU6L,MAAV,EAAkB;AACjEqB,EAAAA,4DAAS,CAAClN,6BAAD,EAAgC6L,MAAhC,CAAT;;AACA,WAAS7L,6BAAT,CAAuCsW,SAAvC,EAAkDmvB,YAAlD,EAAgE;AAC5D,QAAI7xB,KAAK,GAAG/H,MAAM,CAACK,IAAP,CAAY,IAAZ,EAAkBoK,SAAlB,EAA6BmvB,YAA7B,KAA8C,IAA1D;;AACA7xB,IAAAA,KAAK,CAACrgC,IAAN,GAAa,+BAAb;AACA2xB,IAAAA,MAAM,CAAC2H,cAAP,CAAsB+G,KAAtB,EAA6B5T,6BAA6B,CAACgN,SAA3D;AACA,WAAO4G,KAAP;AACH;AACD;AACJ;AACA;;;AACI5T,EAAAA,6BAA6B,CAACsoC,2BAA9B,GAA4D,YAAY;AACpE,WAAO,IAAItoC,6BAAJ,CAAkC6nC,oCAAoC,CAACC,iBAArC,CAAuDzuD,IAAzF,EAA+FwuD,oCAAoC,CAACC,iBAArC,CAAuDhF,IAAtJ,CAAP;AACH,GAFD;AAGA;AACJ;AACA;;;AACI9iC,EAAAA,6BAA6B,CAACuoC,qCAA9B,GAAsE,YAAY;AAC9E,WAAO,IAAIvoC,6BAAJ,CAAkC6nC,oCAAoC,CAACE,mBAArC,CAAyD1uD,IAA3F,EAAiGwuD,oCAAoC,CAACE,mBAArC,CAAyDjF,IAA1J,CAAP;AACH,GAFD;AAGA;AACJ;AACA;AACA;;;AACI9iC,EAAAA,6BAA6B,CAAC4vB,8BAA9B,GAA+D,UAAU4Y,oBAAV,EAAgC;AAC3F,WAAO,IAAIxoC,6BAAJ,CAAkC6nC,oCAAoC,CAACG,wBAArC,CAA8D3uD,IAAhG,EAAsGwuD,oCAAoC,CAACG,wBAArC,CAA8DlF,IAA9D,GAAqE,mBAArE,GAA2F0F,oBAAjM,CAAP;AACH,GAFD;AAGA;AACJ;AACA;;;AACIxoC,EAAAA,6BAA6B,CAACyoC,kCAA9B,GAAmE,YAAY;AAC3E,WAAO,IAAIzoC,6BAAJ,CAAkC6nC,oCAAoC,CAACI,sBAArC,CAA4D5uD,IAA9F,EAAoGwuD,oCAAoC,CAACI,sBAArC,CAA4DnF,IAAhK,CAAP;AACH,GAFD;AAGA;AACJ;AACA;;;AACI9iC,EAAAA,6BAA6B,CAAC0oC,gCAA9B,GAAiE,YAAY;AACzE,WAAO,IAAI1oC,6BAAJ,CAAkC6nC,oCAAoC,CAACM,qBAArC,CAA2D9uD,IAA7F,EAAmGwuD,oCAAoC,CAACM,qBAArC,CAA2DrF,IAA9J,CAAP;AACH,GAFD;AAGA;AACJ;AACA;;;AACI9iC,EAAAA,6BAA6B,CAAC+Z,sCAA9B,GAAuE,YAAY;AAC/E,WAAO,IAAI/Z,6BAAJ,CAAkC6nC,oCAAoC,CAACO,wBAArC,CAA8D/uD,IAAhG,EAAsGwuD,oCAAoC,CAACO,wBAArC,CAA8DtF,IAApK,CAAP;AACH,GAFD;AAGA;AACJ;AACA;;;AACI9iC,EAAAA,6BAA6B,CAACy5B,wBAA9B,GAAyD,YAAY;AACjE,WAAO,IAAIz5B,6BAAJ,CAAkC6nC,oCAAoC,CAACQ,kBAArC,CAAwDhvD,IAA1F,EAAgGwuD,oCAAoC,CAACQ,kBAArC,CAAwDvF,IAAxJ,CAAP;AACH,GAFD;;AAGA,SAAO9iC,6BAAP;AACH,CApDkD,CAoDjDgQ,yDApDiD,CAAnD;;;;;;;;;;;;;;;;;;;;;;;ACnDA;AACa;;AACb;AACA;AACA;AAEA;AACA;AACA;AACA;;AACA,IAAI24B,gBAAgB;AACpB,GAAC,UAAUA,gBAAV,EAA4B;AACzBA,IAAAA,gBAAgB,CAAC,2BAAD,CAAhB,GAAgD,2BAAhD;AACAA,IAAAA,gBAAgB,CAAC,aAAD,CAAhB,GAAkC,aAAlC;AACAA,IAAAA,gBAAgB,CAAC,YAAD,CAAhB,GAAiC,YAAjC;AACAA,IAAAA,gBAAgB,CAAC,iBAAD,CAAhB,GAAsC,iBAAtC;AACAA,IAAAA,gBAAgB,CAAC,kBAAD,CAAhB,GAAuC,kBAAvC;AACAA,IAAAA,gBAAgB,CAAC,UAAD,CAAhB,GAA+B,UAA/B;AACAA,IAAAA,gBAAgB,CAAC,qBAAD,CAAhB,GAA0C,qBAA1C;AACH,GARD,EAQGA,gBAAgB,KAAKA,gBAAgB,GAAG,EAAxB,CARnB,CADoB;;AAAA,SAAhBA,gBAAgB;AAAA,IAApB;AAUA,IAAIC,sBAAsB,GAAG;AACzBC,EAAAA,cAAc,EAAE;AACZxvD,IAAAA,IAAI,EAAE;AADM,GADS;AAIzByvD,EAAAA,UAAU,EAAE;AACRzvD,IAAAA,IAAI,EAAE,aADE;AAERypD,IAAAA,IAAI,EAAE;AAFE,GAJa;AAQzBiG,EAAAA,qBAAqB,EAAE;AACnB1vD,IAAAA,IAAI,EAAE,2CADa;AAEnBypD,IAAAA,IAAI,EAAE;AAFa;AARE,CAA7B;;AAaA,IAAIzxB,eAAe;AAAG;AAAe,UAAUxF,MAAV,EAAkB;AACnDqB,EAAAA,4DAAS,CAACmE,eAAD,EAAkBxF,MAAlB,CAAT;;AACA,WAASwF,eAAT,CAAyBiF,SAAzB,EAAoC1mC,WAApC,EAAiDiwC,GAAjD,EAAsD;AAClD,QAAIjM,KAAK,GAAG/H,MAAM,CAACK,IAAP,CAAY,IAAZ,EAAkBoK,SAAlB,EAA6B1mC,WAA7B,KAA6C,IAAzD;;AACAs1B,IAAAA,MAAM,CAAC2H,cAAP,CAAsB+G,KAAtB,EAA6BvC,eAAe,CAACrE,SAA7C;AACA4G,IAAAA,KAAK,CAACrgC,IAAN,GAAa,iBAAb;AACAqgC,IAAAA,KAAK,CAACiM,GAAN,GAAYA,GAAZ;AACA,WAAOjM,KAAP;AACH;AACD;AACJ;AACA;;;AACIvC,EAAAA,eAAe,CAACrE,SAAhB,CAA0BmI,OAA1B,GAAoC,YAAY;AAC5C,QAAI,KAAK0K,GAAL,IAAY,KAAKA,GAAL,CAAS16B,MAArB,KAAgC,KAAK06B,GAAL,CAAS16B,MAAT,KAAoBwjD,gBAAgB,CAACK,gBAArC,IAAyD,KAAKnpB,GAAL,CAAS16B,MAAT,KAAoBwjD,gBAAgB,CAACM,QAA9H,CAAJ,EAA6I;AACzI,aAAO,IAAP;AACH;;AACD,YAAQ,KAAK3yB,SAAb;AACI,WAAKsyB,sBAAsB,CAACC,cAAvB,CAAsCxvD,IAA3C;AACI,eAAO,IAAP;;AACJ;AACI,eAAO,KAAP;AAJR;AAMH,GAVD;AAWA;AACJ;AACA;AACA;AACA;AACA;AACA;;;AACIg4B,EAAAA,eAAe,CAACuO,WAAhB,GAA8B,UAAUvmC,IAAV,EAAgBzJ,WAAhB,EAA6BiwC,GAA7B,EAAkC;AAC5D,QAAIA,GAAG,IAAIA,GAAG,CAAC16B,MAAf,EAAuB;AACnB,cAAQ06B,GAAG,CAAC16B,MAAZ;AACI,aAAKwjD,gBAAgB,CAACO,mBAAtB;AACI,iBAAOp5B,gHAAA,EAAP;;AACJ,aAAK64B,gBAAgB,CAACS,yBAAtB;AACI,iBAAO,IAAIt5B,4EAAJ,CAAiCz2B,IAAjC,EAAuCzJ,WAAvC,CAAP;;AACJ,aAAK+4D,gBAAgB,CAACU,WAAtB;AACI,iBAAO73B,2FAAA,EAAP;;AACJ,aAAKm3B,gBAAgB,CAACW,UAAtB;AACI,iBAAO93B,mGAAA,EAAP;AARR;AAUH;;AACD,WAAO,IAAIH,eAAJ,CAAoBh4B,IAApB,EAA0BzJ,WAA1B,EAAuCiwC,GAAvC,CAAP;AACH,GAdD;AAeA;AACJ;AACA;AACA;;;AACIxO,EAAAA,eAAe,CAACk4B,qBAAhB,GAAwC,YAAY;AAChD,WAAO,IAAIl4B,eAAJ,CAAoBu3B,sBAAsB,CAACE,UAAvB,CAAkCzvD,IAAtD,EAA4DuvD,sBAAsB,CAACE,UAAvB,CAAkChG,IAA9F,CAAP;AACH,GAFD;AAGA;AACJ;AACA;AACA;;;AACIzxB,EAAAA,eAAe,CAACm4B,gCAAhB,GAAmD,YAAY;AAC3D,WAAO,IAAIn4B,eAAJ,CAAoBu3B,sBAAsB,CAACG,qBAAvB,CAA6C1vD,IAAjE,EAAuEuvD,sBAAsB,CAACG,qBAAvB,CAA6CjG,IAApH,CAAP;AACH,GAFD;;AAGA,SAAOzxB,eAAP;AACH,CA5DoC,CA4DnCrB,yDA5DmC,CAArC;;;;;;;;;;;;;;;;;;;;ACjCA;AACa;;AACb;AACA;AAEA;AACA;AACA;AACA;;AACA,IAAIa,YAAY;AAAG;AAAe,YAAY;AAC1C,WAASA,YAAT,CAAsBnO,MAAtB,EAA8B4P,aAA9B,EAA6C;AACzC,SAAKm3B,cAAL,GAAsB,IAAIz3B,GAAJ,EAAtB;AACA,SAAKtP,MAAL,GAAcA,MAAd;AACA,SAAK4P,aAAL,GAAqBA,aAArB;AACA,SAAKo3B,wBAAL,GAAgC,KAAhC;AACA,SAAKC,wBAAL,GAAgC,KAAKA,wBAAL,CAA8B7xC,IAA9B,CAAmC,IAAnC,CAAhC;AACH;AACD;AACJ;AACA;AACA;;;AACI+Y,EAAAA,YAAY,CAAC7D,SAAb,CAAuBhJ,gBAAvB,GAA0C,UAAU2W,QAAV,EAAoB;AAC1D,QAAI,OAAOz4B,MAAP,KAAkB,WAAtB,EAAmC;AAC/B,UAAI24B,UAAU,GAAG,KAAKvI,aAAL,CAAmBgJ,aAAnB,EAAjB;AACA,WAAKmuB,cAAL,CAAoB5hC,GAApB,CAAwBgT,UAAxB,EAAoCF,QAApC;AACA,WAAKjY,MAAL,CAAYe,OAAZ,CAAoB,wCAAwCoX,UAA5D;AACA,aAAOA,UAAP;AACH;;AACD,WAAO,IAAP;AACH,GARD;AASA;AACJ;AACA;AACA;;;AACIhK,EAAAA,YAAY,CAAC7D,SAAb,CAAuB4N,mBAAvB,GAA6C,UAAUC,UAAV,EAAsB;AAC/D,SAAK4uB,cAAL,CAAoB9xB,MAApB,CAA2BkD,UAA3B;AACA,SAAKnY,MAAL,CAAYe,OAAZ,CAAoB,oBAAoBoX,UAApB,GAAiC,WAArD;AACH,GAHD;AAIA;AACJ;AACA;;;AACIhK,EAAAA,YAAY,CAAC7D,SAAb,CAAuBgO,0BAAvB,GAAoD,YAAY;AAC5D,QAAI,OAAO94B,MAAP,KAAkB,WAAtB,EAAmC;AAC/B;AACH;;AACD,QAAI,CAAC,KAAKwnD,wBAAV,EAAoC;AAChC,WAAKhnC,MAAL,CAAYe,OAAZ,CAAoB,kCAApB;AACA,WAAKimC,wBAAL,GAAgC,IAAhC;AACAxnD,MAAAA,MAAM,CAAC48B,gBAAP,CAAwB,SAAxB,EAAmC,KAAK6qB,wBAAxC;AACH,KAJD,MAKK;AACD,WAAKjnC,MAAL,CAAYe,OAAZ,CAAoB,8CAApB;AACH;AACJ,GAZD;AAaA;AACJ;AACA;;;AACIoN,EAAAA,YAAY,CAAC7D,SAAb,CAAuBiO,2BAAvB,GAAqD,YAAY;AAC7D,QAAI,OAAO/4B,MAAP,KAAkB,WAAtB,EAAmC;AAC/B;AACH;;AACD,QAAI,KAAKwnD,wBAAT,EAAmC;AAC/B,WAAKhnC,MAAL,CAAYe,OAAZ,CAAoB,oCAApB;AACAvhB,MAAAA,MAAM,CAACk9B,mBAAP,CAA2B,SAA3B,EAAsC,KAAKuqB,wBAA3C;AACA,WAAKD,wBAAL,GAAgC,KAAhC;AACH,KAJD,MAKK;AACD,WAAKhnC,MAAL,CAAYe,OAAZ,CAAoB,yCAApB;AACH;AACJ,GAZD;AAaA;AACJ;AACA;AACA;AACA;AACA;AACA;;;AACIoN,EAAAA,YAAY,CAAC7D,SAAb,CAAuB5rB,SAAvB,GAAmC,UAAU8iB,SAAV,EAAqBkB,eAArB,EAAsCisB,OAAtC,EAA+Cj4C,KAA/C,EAAsD;AACrF,QAAIw6B,KAAK,GAAG,IAAZ;;AACA,QAAI,OAAO1xB,MAAP,KAAkB,WAAtB,EAAmC;AAC/B,UAAI0nD,SAAS,GAAG;AACZ1lC,QAAAA,SAAS,EAAEA,SADC;AAEZkB,QAAAA,eAAe,EAAEA,eAAe,IAAI,IAFxB;AAGZisB,QAAAA,OAAO,EAAEA,OAAO,IAAI,IAHR;AAIZj4C,QAAAA,KAAK,EAAEA,KAAK,IAAI,IAJJ;AAKZiN,QAAAA,SAAS,EAAEykC,IAAI,CAAC+e,GAAL;AALC,OAAhB;AAOA,WAAKnnC,MAAL,CAAY3Z,IAAZ,CAAiB,qBAAqBmb,SAAtC;AACA,WAAKulC,cAAL,CAAoB7gC,OAApB,CAA4B,UAAU+R,QAAV,EAAoBE,UAApB,EAAgC;AACxDjH,QAAAA,KAAK,CAAClR,MAAN,CAAae,OAAb,CAAqB,gCAAgCoX,UAAhC,GAA6C,IAA7C,GAAoD3W,SAAzE;;AACAyW,QAAAA,QAAQ,CAACnN,KAAT,CAAe,IAAf,EAAqB,CAACo8B,SAAD,CAArB;AACH,OAHD;AAIH;AACJ,GAhBD;AAiBA;AACJ;AACA;;;AACI/4B,EAAAA,YAAY,CAAC7D,SAAb,CAAuB28B,wBAAvB,GAAkD,UAAUj8B,CAAV,EAAa;AAC3D,QAAI;AACA,UAAIo8B,UAAU,GAAGp8B,CAAC,CAACq8B,QAAF,IAAcr8B,CAAC,CAACs8B,QAAjC;;AACA,UAAI,CAACF,UAAL,EAAiB;AACb;AACH;;AACD,UAAIG,WAAW,GAAGroD,IAAI,CAACC,KAAL,CAAWioD,UAAX,CAAlB;;AACA,UAAI,OAAOG,WAAP,KAAuB,QAAvB,IAAmC,CAACnoB,6EAAA,CAA8BmoB,WAA9B,CAAxC,EAAoF;AAChF;AACH;;AACD,UAAInW,aAAa,GAAG/R,qEAAA,CAAsB,IAAID,6DAAJ,EAAtB,EAA2CmoB,WAA3C,CAApB;AACA,UAAIrhB,WAAW,GAAGkL,aAAa,CAAC6B,cAAd,EAAlB;;AACA,UAAI,CAACjoB,CAAC,CAACs8B,QAAH,IAAet8B,CAAC,CAACq8B,QAArB,EAA+B;AAC3B,aAAKrnC,MAAL,CAAY3Z,IAAZ,CAAiB,kDAAjB;AACA,aAAK3H,SAAL,CAAewvB,kEAAf,EAAwCwE,SAAxC,EAAmDwT,WAAnD;AACH,OAHD,MAIK,IAAI,CAAClb,CAAC,CAACq8B,QAAH,IAAer8B,CAAC,CAACs8B,QAArB,EAA+B;AAChC,aAAKtnC,MAAL,CAAY3Z,IAAZ,CAAiB,sDAAjB;AACA,aAAK3H,SAAL,CAAewvB,oEAAf,EAA0CwE,SAA1C,EAAqDwT,WAArD;AACH;AACJ,KAnBD,CAoBA,OAAOlb,CAAP,EAAU;AACN;AACH;AACJ,GAxBD;;AAyBA,SAAOmD,YAAP;AACH,CAlHiC,EAAlC;;;;;;;;;;;;;;;;;;;ACTA;AACa;;AACb;AACA;AAEA;AACA;AACA;AACA;;AACA,IAAI/Q,iBAAiB;AAAG;AAAe,YAAY;AAC/C,WAASA,iBAAT,GAA6B,CAC5B;AACD;AACJ;AACA;AACA;AACA;;;AACIA,EAAAA,iBAAiB,CAACmE,6BAAlB,GAAkD,UAAUr/B,OAAV,EAAmBwlE,aAAnB,EAAkC;AAChF,YAAQxlE,OAAO,CAACs/B,SAAhB;AACI,WAAK0M,gEAAL;AACI,eAAO/Q,+EAAP;;AACJ,WAAK+Q,qEAAL;AACI,eAAO/Q,mFAAP;;AACJ,WAAK+Q,wEAAL;AACI,YAAIhsC,OAAO,CAACwgC,eAAR,KAA4BrF,gFAA5B,IAAwDn7B,OAAO,CAACwgC,eAAR,KAA4BrF,6EAAxF,EAA+G;AAC3G,iBAAOF,sFAAP;AACH;;AACD;;AACJ,WAAK+Q,0EAAL;AACI,eAAO/Q,wFAAP;;AACJ,WAAK+Q,iEAAL;AACI,eAAO/Q,gFAAP;;AACJ,WAAK+Q,uEAAL;AACA,WAAKA,uEAAL;AACI,YAAIw5B,aAAa,IAAIA,aAAa,KAAKvqC,mFAAvC,EAAoE;AAChE;AACA;AACH;;AACD,eAAOA,8EAAP;;AACJ,WAAK+Q,+DAAL;AACI,YAAIw5B,aAAa,IAAIA,aAAa,KAAKvqC,gFAAvC,EAAiE;AAC7D;AACA;AACH;;AACD,eAAOA,8EAAP;;AACJ,WAAK+Q,wEAAL;AACI,YAAIw5B,aAAa,IAAIA,aAAa,KAAKvqC,wFAAvC,EAAyE;AACrE;AACA;AACH;;AACD,eAAOA,8EAAP;;AACJ,WAAK+Q,kEAAL;AACA,WAAKA,kEAAL;AACA,WAAKA,0EAAL;AACA,WAAKA,0EAAL;AACI,YAAIhsC,OAAO,CAACwgC,eAAR,KAA4BrF,gFAA5B,IAAwDn7B,OAAO,CAACwgC,eAAR,KAA4BrF,6EAAxF,EAA+G;AAC3G,cAAIqqC,aAAa,IAAIA,aAAa,KAAKvqC,+EAAnC,IAA8DuqC,aAAa,KAAKvqC,sFAApF,EAAoH;AAChH;AACA;AACH;;AACD,iBAAOA,8EAAP;AACH;;AACD;AA5CR;;AA8CA,WAAO,IAAP;AACH,GAhDD;;AAiDA,SAAOC,iBAAP;AACH,CA1DsC,EAAvC;;;;;;;;;;;;;;;;;ACTA;AACa;AACb;AACA;AACA;AACA;;AACA,IAAI8Q,SAAS;AACb,GAAC,UAAUA,SAAV,EAAqB;AAClBA,IAAAA,SAAS,CAAC,kBAAD,CAAT,GAAgC,sBAAhC;AACAA,IAAAA,SAAS,CAAC,gBAAD,CAAT,GAA8B,oBAA9B;AACAA,IAAAA,SAAS,CAAC,eAAD,CAAT,GAA6B,mBAA7B;AACAA,IAAAA,SAAS,CAAC,iBAAD,CAAT,GAA+B,qBAA/B;AACAA,IAAAA,SAAS,CAAC,aAAD,CAAT,GAA2B,iBAA3B;AACAA,IAAAA,SAAS,CAAC,eAAD,CAAT,GAA6B,mBAA7B;AACAA,IAAAA,SAAS,CAAC,eAAD,CAAT,GAA6B,mBAA7B;AACAA,IAAAA,SAAS,CAAC,qBAAD,CAAT,GAAmC,wBAAnC;AACAA,IAAAA,SAAS,CAAC,uBAAD,CAAT,GAAqC,0BAArC;AACAA,IAAAA,SAAS,CAAC,uBAAD,CAAT,GAAqC,0BAArC;AACAA,IAAAA,SAAS,CAAC,6BAAD,CAAT,GAA2C,mCAA3C;AACAA,IAAAA,SAAS,CAAC,kBAAD,CAAT,GAAgC,qBAAhC;AACAA,IAAAA,SAAS,CAAC,oBAAD,CAAT,GAAkC,uBAAlC;AACAA,IAAAA,SAAS,CAAC,oBAAD,CAAT,GAAkC,uBAAlC;AACAA,IAAAA,SAAS,CAAC,6BAAD,CAAT,GAA2C,8BAA3C;AACAA,IAAAA,SAAS,CAAC,+BAAD,CAAT,GAA6C,gCAA7C;AACAA,IAAAA,SAAS,CAAC,+BAAD,CAAT,GAA6C,gCAA7C;AACAA,IAAAA,SAAS,CAAC,uBAAD,CAAT,GAAqC,0BAArC;AACAA,IAAAA,SAAS,CAAC,qBAAD,CAAT,GAAmC,wBAAnC;AACAA,IAAAA,SAAS,CAAC,cAAD,CAAT,GAA4B,kBAA5B;AACAA,IAAAA,SAAS,CAAC,cAAD,CAAT,GAA4B,kBAA5B;AACAA,IAAAA,SAAS,CAAC,gBAAD,CAAT,GAA8B,oBAA9B;AACAA,IAAAA,SAAS,CAAC,gBAAD,CAAT,GAA8B,oBAA9B;AACAA,IAAAA,SAAS,CAAC,YAAD,CAAT,GAA0B,gBAA1B;AACH,GAzBD,EAyBGA,SAAS,KAAKA,SAAS,GAAG,EAAjB,CAzBZ,CADa;;AAAA,SAATA,SAAS;AAAA,IAAb;;;;;;;;;;;;;;;;;;;;;;;;;;;ACNA;AACa;;AACb;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;;AACA,IAAIk6B,qBAAqB;AAAG;AAAe,YAAY;AACnD,WAASA,qBAAT,CAA+BroE,MAA/B,EAAuCsoE,WAAvC,EAAoDz4B,aAApD,EAAmE5P,MAAnE,EAA2E6P,YAA3E,EAAyFT,gBAAzF,EAA2GI,iBAA3G,EAA8H84B,oBAA9H,EAAoJt3B,aAApJ,EAAmK;AAC/J,SAAKjxC,MAAL,GAAcA,MAAd;AACA,SAAK+vC,cAAL,GAAsBu4B,WAAtB;AACA,SAAKz4B,aAAL,GAAqBA,aAArB;AACA,SAAKT,aAAL,GAAqB,KAAKpvC,MAAL,CAAY27B,MAAZ,CAAmByT,aAAxC;AACA,SAAKU,YAAL,GAAoBA,YAApB;AACA,SAAKT,gBAAL,GAAwBA,gBAAxB;AACA,SAAKk5B,oBAAL,GAA4BA,oBAA5B;AACA,SAAKt3B,aAAL,GAAqBA,aAAa,IAAI,KAAKpB,aAAL,CAAmBgJ,aAAnB,EAAtC;AACA,SAAK5Y,MAAL,GAAcA,MAAM,CAACC,KAAP,CAAa8Y,iFAAb,EAAwC93C,wDAAxC,EAAiD,KAAK+vC,aAAtD,CAAd;AACA,SAAKxB,iBAAL,GAAyBA,iBAAzB;AACH;;AACD44B,EAAAA,qBAAqB,CAAC99B,SAAtB,CAAgCk+B,kBAAhC,GAAqD,UAAU1lC,OAAV,EAAmB;AACpE,WAAO7E,4DAAS,CAAC,IAAD,EAAO,KAAK,CAAZ,EAAe,KAAK,CAApB,EAAuB,YAAY;AAC/C,aAAO4N,8DAAW,CAAC,IAAD,EAAO,UAAUuE,EAAV,EAAc;AACnC,gBAAQA,EAAE,CAACrE,KAAX;AACI,eAAK,CAAL;AACI,gBAAI,CAACjJ,OAAL,EAAc,OAAO,CAAC;AAAE;AAAH,cAAc,CAAd,CAAP;;AACd,gBAAIsc,gFAAA,CAAiCtc,OAAjC,EAA0C,KAAKgN,cAAL,CAAoBhL,gBAApB,EAA1C,EAAkF,KAAlF,CAAJ,EAA8F;AAC1F,mBAAK9E,MAAL,CAAYe,OAAZ,CAAoB,gCAApB;AACA,mBAAK+O,cAAL,CAAoBjN,gBAApB,CAAqC,IAArC;AACH;;AACDuN,YAAAA,EAAE,CAACrE,KAAH,GAAW,CAAX;;AACJ,eAAK,CAAL;AACIqE,YAAAA,EAAE,CAACnE,IAAH,CAAQ3F,IAAR,CAAa,CAAC,CAAD,EAAI,CAAJ,GAAS,CAAT,CAAb;;AACA,mBAAO,CAAC;AAAE;AAAH,cAAc,KAAKwJ,cAAL,CAAoB44B,aAApB,CAAkCtpB,qFAAA,CAAsCtc,OAAtC,CAAlC,CAAd,CAAP;;AACJ,eAAK,CAAL;AACIsN,YAAAA,EAAE,CAACpE,IAAH;;AACA,iBAAKhM,MAAL,CAAYe,OAAZ,CAAoB,8EAApB;AACA,mBAAO,CAAC;AAAE;AAAH,cAAc,CAAd,CAAP;;AACJ,eAAK,CAAL;AACIqP,YAAAA,EAAE,CAACpE,IAAH;;AACA,iBAAKhM,MAAL,CAAYtpB,KAAZ,CAAkB,0EAAlB;AACA,mBAAO,CAAC;AAAE;AAAH,cAAc,CAAd,CAAP;;AACJ,eAAK,CAAL;AAAQ,mBAAO,CAAC;AAAE;AAAH,cAAc,CAAd,CAAP;;AACR,eAAK,CAAL;AACI05B,YAAAA,EAAE,CAACnE,IAAH,CAAQ3F,IAAR,CAAa,CAAC,CAAD,EAAI,CAAJ,GAAS,CAAT,CAAb;;AACA,iBAAKtG,MAAL,CAAYe,OAAZ,CAAoB,kEAApB,EAAwF,KAAKiQ,aAA7F,EAFJ,CAGI;;AACA,mBAAO,CAAC;AAAE;AAAH,cAAc,KAAKlB,cAAL,CAAoBiP,KAApB,EAAd,CAAP;;AACJ,eAAK,CAAL;AACI;AACA3O,YAAAA,EAAE,CAACpE,IAAH,GAFJ,CAGI;;;AACA,mBAAO,CAAC;AAAE;AAAH,cAAc,KAAK4D,aAAL,CAAmB2qB,aAAnB,EAAd,CAAP;;AACJ,eAAK,CAAL;AACI;AACAnqB,YAAAA,EAAE,CAACpE,IAAH;;AACA,mBAAO,CAAC;AAAE;AAAH,cAAc,CAAd,CAAP;;AACJ,eAAK,CAAL;AACIoE,YAAAA,EAAE,CAACpE,IAAH;;AACA,iBAAKhM,MAAL,CAAYtpB,KAAZ,CAAkB,4EAAlB;AACA,mBAAO,CAAC;AAAE;AAAH,cAAc,CAAd,CAAP;;AACJ,eAAK,CAAL;AAAQ,mBAAO,CAAC;AAAE;AAAH,aAAP;AAtCZ;AAwCH,OAzCiB,CAAlB;AA0CH,KA3Ce,CAAhB;AA4CH,GA7CD;AA8CA;AACJ;AACA;AACA;;;AACI0xD,EAAAA,qBAAqB,CAAC99B,SAAtB,CAAgCs+B,qBAAhC,GAAwD,UAAU1pC,OAAV,EAAmB;AACvE,WAAOjB,4DAAS,CAAC,IAAD,EAAO,KAAK,CAAZ,EAAe,KAAK,CAApB,EAAuB,YAAY;AAC/C,UAAI7C,SAAJ,EAAea,MAAf,EAAuB4sC,gBAAvB,EAAyCz4B,EAAzC;;AACA,aAAOvE,8DAAW,CAAC,IAAD,EAAO,UAAUyE,EAAV,EAAc;AACnC,gBAAQA,EAAE,CAACvE,KAAX;AACI,eAAK,CAAL;AACI,iBAAK/L,MAAL,CAAYe,OAAZ,CAAoB,8BAApB;AACA3F,YAAAA,SAAS,GAAG8D,OAAO,CAAC9D,SAAR,IAAqB,KAAKr7B,MAAL,CAAYm7B,IAAZ,CAAiBE,SAAlD;AACAa,YAAAA,MAAM,GAAG+Q,2DAAQ,CAAG9N,OAAO,IAAIA,OAAO,CAACjD,MAApB,IAA+B,EAAjC,CAAjB;AACA4sC,YAAAA,gBAAgB,GAAGn+B,2DAAQ,CAACA,2DAAQ,CAAC,EAAD,EAAKxL,OAAL,CAAT,EAAwB;AAAE8R,cAAAA,aAAa,EAAE,KAAKA,aAAtB;AAAqC5V,cAAAA,SAAS,EAAEA,SAAhD;AAC/Ca,cAAAA,MAAM,EAAEA;AADuC,aAAxB,CAA3B,CAJJ,CAMI;;AACA,gBAAI,CAAC4sC,gBAAgB,CAACpxB,oBAAtB,EAA4C;AACxCoxB,cAAAA,gBAAgB,CAACpxB,oBAAjB,GAAwCwD,2EAAxC;AACA,mBAAKjb,MAAL,CAAYe,OAAZ,CAAoB,0FAApB;AACH,aAHD,MAIK;AACD,kBAAI8nC,gBAAgB,CAACpxB,oBAAjB,KAA0CwD,wEAA9C,EAAwE;AACpE,oBAAI,CAAC/b,OAAO,CAAC6pC,MAAb,EAAqB;AACjB,wBAAMd,iGAAA,EAAN;AACH;;AACD,oBAAI,CAAC/oC,OAAO,CAAC2a,MAAb,EAAqB;AACjB,wBAAMouB,iGAAA,EAAN;AACH;AACJ;;AACD,mBAAKjoC,MAAL,CAAYe,OAAZ,CAAoB,oCAAoC8nC,gBAAgB,CAACpxB,oBAArD,GAA4E,kCAAhG;AACH;;AACD,gBAAI,EAAEvY,OAAO,CAACua,MAAR,IAAkB,CAAChc,mEAAA,CAAoByB,OAAO,CAACua,MAA5B,CAArB,CAAJ,EAA+D,OAAO,CAAC;AAAE;AAAH,cAAc,CAAd,CAAP;AAC/DrJ,YAAAA,EAAE,GAAGy4B,gBAAL;AACA,mBAAO,CAAC;AAAE;AAAH,cAAc,KAAKj5B,aAAL,CAAmBoqB,UAAnB,CAA8B96B,OAAO,CAACua,MAAtC,CAAd,CAAP;;AACJ,eAAK,CAAL;AACIrJ,YAAAA,EAAE,CAAC84B,mBAAH,GAAyB54B,EAAE,CAACtE,IAAH,EAAzB;AACAsE,YAAAA,EAAE,CAACvE,KAAH,GAAW,CAAX;;AACJ,eAAK,CAAL;AAAQ,mBAAO,CAAC;AAAE;AAAH,cAAe88B,gBAAf,CAAP;AA7BZ;AA+BH,OAhCiB,CAAlB;AAiCH,KAnCe,CAAhB;AAoCH,GArCD;AAsCA;AACJ;AACA;AACA;AACA;AACA;AACA;;;AACIT,EAAAA,qBAAqB,CAAC99B,SAAtB,CAAgC6+B,cAAhC,GAAiD,UAAUC,kBAAV,EAA8B;AAC3E,SAAKppC,MAAL,CAAYe,OAAZ,CAAoB,uBAApB;AACA,QAAI1F,WAAW,GAAG+tC,kBAAkB,IAAI,KAAKrpE,MAAL,CAAYm7B,IAAZ,CAAiBG,WAAvC,IAAsDmC,8EAAA,EAAxE;AACA,WAAOD,wEAAA,CAAyBlC,WAAzB,EAAsCmC,8EAAA,EAAtC,CAAP;AACH,GAJD;AAKA;AACJ;AACA;AACA;AACA;AACA;;;AACI4qC,EAAAA,qBAAqB,CAAC99B,SAAtB,CAAgCg/B,gCAAhC,GAAmE,UAAU/xB,KAAV,EAAiBgyB,YAAjB,EAA+B;AAC9F,SAAKvpC,MAAL,CAAYe,OAAZ,CAAoB,yCAApB;AACA,QAAIyoC,gBAAgB,GAAG;AACnBruC,MAAAA,QAAQ,EAAE,KAAKp7B,MAAL,CAAYm7B,IAAZ,CAAiBC,QADR;AAEnB6V,MAAAA,aAAa,EAAE,KAAKA,aAFD;AAGnBuG,MAAAA,KAAK,EAAEA,KAHY;AAInBgyB,MAAAA,YAAY,EAAEA,YAAY,IAAI,KAJX;AAKnB3kB,MAAAA,UAAU,EAAE,KAAK9U,cAAL,CAAoBkV,kBAApB,GAAyC,CAAzC,CALO;AAMnBykB,MAAAA,UAAU,EAAE,KAAK35B,cAAL,CAAoBkV,kBAApB,GAAyC,CAAzC;AANO,KAAvB;AAQA,WAAO,IAAIkjB,sEAAJ,CAA2BsB,gBAA3B,EAA6C,KAAK15B,cAAlD,CAAP;AACH,GAXD;AAYA;AACJ;AACA;AACA;AACA;;;AACIs4B,EAAAA,qBAAqB,CAAC99B,SAAtB,CAAgCo/B,sBAAhC,GAAyD,UAAUC,gBAAV,EAA4B;AACjF,WAAO1rC,4DAAS,CAAC,IAAD,EAAO,KAAK,CAAZ,EAAe,KAAK,CAApB,EAAuB,YAAY;AAC/C,UAAIqyB,gBAAJ;AACA,aAAOzkB,8DAAW,CAAC,IAAD,EAAO,UAAUuE,EAAV,EAAc;AACnC,gBAAQA,EAAE,CAACrE,KAAX;AACI,eAAK,CAAL;AACI,iBAAK/L,MAAL,CAAYe,OAAZ,CAAoB,+BAApB;AACAuvB,YAAAA,gBAAgB,GAAG;AACfC,cAAAA,YAAY,EAAE,KAAKxwD,MAAL,CAAYm7B,IAAZ,CAAiBq1B,YADhB;AAEfC,cAAAA,gBAAgB,EAAE,KAAKzwD,MAAL,CAAYm7B,IAAZ,CAAiBs1B,gBAFpB;AAGfC,cAAAA,sBAAsB,EAAE,KAAK1wD,MAAL,CAAYm7B,IAAZ,CAAiBu1B,sBAH1B;AAIfC,cAAAA,iBAAiB,EAAE,KAAK3wD,MAAL,CAAYm7B,IAAZ,CAAiBw1B;AAJrB,aAAnB;AAMA,gBAAI,CAACiZ,gBAAL,EAAuB,OAAO,CAAC;AAAE;AAAH,cAAc,CAAd,CAAP;AACvB,iBAAK3pC,MAAL,CAAYe,OAAZ,CAAoB,sDAApB;AACA,mBAAO,CAAC;AAAE;AAAH,cAAconC,0FAAA,CAA0CwB,gBAA1C,EAA4D,KAAK5pE,MAAL,CAAY27B,MAAZ,CAAmByT,aAA/E,EAA8F,KAAKW,cAAnG,EAAmHwgB,gBAAnH,EAAqI,KAAKtwB,MAA1I,CAAd,CAAP;;AACJ,eAAK,CAAL;AAAQ,mBAAO,CAAC;AAAE;AAAH,cAAeoQ,EAAE,CAACpE,IAAH,EAAf,CAAP;;AACR,eAAK,CAAL;AACI,iBAAKhM,MAAL,CAAYe,OAAZ,CAAoB,yDAApB;AACA,mBAAO,CAAC;AAAE;AAAH,cAAconC,0FAAA,CAA0C,KAAKpoE,MAAL,CAAYm7B,IAAZ,CAAiBE,SAA3D,EAAsE,KAAKr7B,MAAL,CAAY27B,MAAZ,CAAmByT,aAAzF,EAAwG,KAAKW,cAA7G,EAA6HwgB,gBAA7H,EAA+I,KAAKtwB,MAApJ,CAAd,CAAP;;AACJ,eAAK,CAAL;AAAQ,mBAAO,CAAC;AAAE;AAAH,cAAeoQ,EAAE,CAACpE,IAAH,EAAf,CAAP;AAhBZ;AAkBH,OAnBiB,CAAlB;AAoBH,KAtBe,CAAhB;AAuBH,GAxBD;;AAyBA,SAAOo8B,qBAAP;AACH,CAlK0C,EAA3C;;;;;;;;;;;;;;;;;;;ACZA;AACa;;AACb;AACA;AAEA;AACA;AACA;AACA;;AACA,IAAI0B,gCAAgC;AAAG;AAAe,UAAU3gC,MAAV,EAAkB;AACpEqB,EAAAA,4DAAS,CAACs/B,gCAAD,EAAmC3gC,MAAnC,CAAT;;AACA,WAAS2gC,gCAAT,CAA0C/pE,MAA1C,EAAkD;AAC9C,QAAImxC,KAAK,GAAG/H,MAAM,CAACK,IAAP,CAAY,IAAZ,EAAkBzpC,MAAlB,KAA6B,IAAzC;;AACAmxC,IAAAA,KAAK,CAAC64B,kBAAN,GAA2B,KAA3B;AACA,WAAO74B,KAAP;AACH;;AACD,SAAO44B,gCAAP;AACH,CARqD,CAQpDD,uEARoD,CAAtD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACTA;AACa;;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;;AACA,IAAIp7B,uBAAuB;AAAG;AAAe,UAAUtF,MAAV,EAAkB;AAC3DqB,EAAAA,4DAAS,CAACiE,uBAAD,EAA0BtF,MAA1B,CAAT;;AACA,WAASsF,uBAAT,CAAiC1uC,MAAjC,EAAyC+vC,cAAzC,EAAyDF,aAAzD,EAAwE5P,MAAxE,EAAgF6P,YAAhF,EAA8FT,gBAA9F,EAAgHmI,KAAhH,EAAuH/H,iBAAvH,EAA0I46B,QAA1I,EAAoJ54B,SAApJ,EAA+J64B,iBAA/J,EAAkLr5B,aAAlL,EAAiM;AAC7L,QAAIE,KAAK,GAAG/H,MAAM,CAACK,IAAP,CAAY,IAAZ,EAAkBzpC,MAAlB,EAA0B+vC,cAA1B,EAA0CF,aAA1C,EAAyD5P,MAAzD,EAAiE6P,YAAjE,EAA+ET,gBAA/E,EAAiGI,iBAAjG,EAAoH46B,QAApH,EAA8Hp5B,aAA9H,KAAgJ,IAA5J;;AACAE,IAAAA,KAAK,CAACqG,KAAN,GAAcA,KAAd;AACArG,IAAAA,KAAK,CAACM,SAAN,GAAkBA,SAAlB;AACAN,IAAAA,KAAK,CAACo3B,oBAAN,GAA6B8B,QAA7B;AACAl5B,IAAAA,KAAK,CAACo5B,oBAAN,GAA6BD,iBAA7B;AACAn5B,IAAAA,KAAK,CAACyE,iBAAN,GAA0B,IAAI/G,oEAAJ,CAAsB7uC,MAAtB,EAA8BmxC,KAAK,CAACo5B,oBAApC,EAA0D16B,aAA1D,EAAyE5P,MAAzE,EAAiF6P,YAAjF,EAA+FT,gBAA/F,EAAiHI,iBAAjH,EAAoI46B,QAApI,EAA8Ip5B,aAA9I,CAA1B;AACA,WAAOE,KAAP;AACH;AACD;AACJ;AACA;AACA;;;AACIzC,EAAAA,uBAAuB,CAACnE,SAAxB,CAAkCqI,YAAlC,GAAiD,UAAUzT,OAAV,EAAmB;AAChE,WAAOjB,4DAAS,CAAC,IAAD,EAAO,KAAK,CAAZ,EAAe,KAAK,CAApB,EAAuB,YAAY;AAC/C,UAAIssC,mBAAJ,EAAyBC,YAAzB,EAAuCC,aAAvC,EAAsDz4D,MAAtD,EAA8D04D,WAA9D,EAA2E9nC,QAA3E,EAAqF+nC,iBAArF;AACA,aAAO9+B,8DAAW,CAAC,IAAD,EAAO,UAAUuE,EAAV,EAAc;AACnC,gBAAQA,EAAE,CAACrE,KAAX;AACI,eAAK,CAAL;AACI,iBAAK/L,MAAL,CAAYqJ,KAAZ,CAAkB,gDAAlB;AACAkhC,YAAAA,mBAAmB,GAAG,KAAK/6B,iBAAL,CAAuBsD,gBAAvB,CAAwCzF,qGAAxC,EAA+FnO,OAAO,CAAC8R,aAAvG,CAAtB;AACAw5B,YAAAA,YAAY,GAAGR,oEAAA,EAAf;AACA,mBAAO,CAAC;AAAE;AAAH,cAAc,KAAKc,uBAAL,CAA6B5rC,OAA7B,CAAd,CAAP;;AACJ,eAAK,CAAL;AACIurC,YAAAA,aAAa,GAAGr6B,EAAE,CAACpE,IAAH,EAAhB;AACAoE,YAAAA,EAAE,CAACrE,KAAH,GAAW,CAAX;;AACJ,eAAK,CAAL;AACIqE,YAAAA,EAAE,CAACnE,IAAH,CAAQ3F,IAAR,CAAa,CAAC,CAAD,EAAI,CAAJ,GAAS,CAAT,CAAb;;AACA,mBAAO,CAAC;AAAE;AAAH,cAAc,KAAKykC,sBAAL,CAA4B,KAAKv5B,SAAjC,EAA4Ci5B,aAA5C,CAAd,CAAP;;AACJ,eAAK,CAAL;AACIz4D,YAAAA,MAAM,GAAGo+B,EAAE,CAACpE,IAAH,EAAT;AACAu+B,YAAAA,mBAAmB,CAACt3B,cAApB,CAAmC;AAC/BC,cAAAA,OAAO,EAAE,IADsB;AAE/BC,cAAAA,cAAc,EAAE,KAFe;AAG/B4G,cAAAA,SAAS,EAAE;AAHoB,aAAnC;AAKA,mBAAO,CAAC;AAAE;AAAH,cAAe/nC,MAAf,CAAP;;AACJ,eAAK,CAAL;AACIo+B,YAAAA,EAAE,CAACpE,IAAH,GADJ,CAEI;;;AACA,iBAAKhM,MAAL,CAAY3Z,IAAZ,CAAiB,4EAAjB;AACA,mBAAO,CAAC;AAAE;AAAH,cAAc,CAAd,CAAP;;AACJ,eAAK,CAAL;AACIqkD,YAAAA,WAAW,GAAG;AACV9lC,cAAAA,MAAM,EAAEoW,sFADE;AAEV9b,cAAAA,OAAO,EAAEurC;AAFC,aAAd;AAIA,mBAAO,CAAC;AAAE;AAAH,cAAc,KAAKnC,oBAAL,CAA0Br+C,WAA1B,CAAsCygD,WAAtC,CAAd,CAAP;;AACJ,eAAK,CAAL;AACI9nC,YAAAA,QAAQ,GAAGwN,EAAE,CAACpE,IAAH,EAAX;AACA2+B,YAAAA,iBAAiB,GAAG,KAAKM,sBAAL,CAA4BroC,QAA5B,CAApB;AACA,mBAAO,CAAC;AAAE;AAAH,cAAe,KAAKsoC,oBAAL,CAA0BP,iBAA1B,EAA6CF,aAA7C,EAA4DD,YAA5D,EACb3iE,IADa,CACR,UAAUmK,MAAV,EAAkB;AACxBu4D,cAAAA,mBAAmB,CAACt3B,cAApB,CAAmC;AAC/BC,gBAAAA,OAAO,EAAE,IADsB;AAE/BC,gBAAAA,cAAc,EAAE,IAFe;AAG/BC,gBAAAA,SAAS,EAAEphC,MAAM,CAACohC;AAHa,eAAnC;AAKA,qBAAOphC,MAAP;AACH,aARiB,EASbuqB,KATa,CASP,UAAU7lB,KAAV,EAAiB;AACxB6zD,cAAAA,mBAAmB,CAACt3B,cAApB,CAAmC;AAC/BC,gBAAAA,OAAO,EAAE,KADsB;AAE/BU,gBAAAA,SAAS,EAAEl9B,KAAK,CAACk9B,SAFc;AAG/BC,gBAAAA,YAAY,EAAEn9B,KAAK,CAACo9B,QAHW;AAI/BX,gBAAAA,cAAc,EAAE;AAJe,eAAnC;AAMA,oBAAMz8B,KAAN;AACH,aAjBiB,CAAf,CAAP;AAlCR;AAqDH,OAtDiB,CAAlB;AAuDH,KAzDe,CAAhB;AA0DH,GA3DD;AA4DA;AACJ;AACA;AACA;AACA;AACA;;;AACI+3B,EAAAA,uBAAuB,CAACnE,SAAxB,CAAkC6gC,wBAAlC,GAA6D,UAAUjsC,OAAV,EAAmBksC,aAAnB,EAAkC;AAC3F,WAAO;AACHhwC,MAAAA,SAAS,EAAE8D,OAAO,CAAC9D,SADhB;AAEH4V,MAAAA,aAAa,EAAE,KAAKA,aAFjB;AAGH/U,MAAAA,MAAM,EAAEszB,mEAAA,CAAoBrwB,OAAO,CAAC0I,KAA5B,EAAmC8qB,OAAnC,EAHL;AAIH5vB,MAAAA,OAAO,EAAEsoC,aAJN;AAKH7B,MAAAA,YAAY,EAAE;AALX,KAAP;AAOH,GARD;AASA;AACJ;AACA;AACA;AACA;AACA;;;AACI96B,EAAAA,uBAAuB,CAACnE,SAAxB,CAAkCygC,sBAAlC,GAA2D,UAAU31B,eAAV,EAA2BlW,OAA3B,EAAoC;AAC3F,WAAOjB,4DAAS,CAAC,IAAD,EAAO,KAAK,CAAZ,EAAe,KAAK,CAApB,EAAuB,YAAY;AAC/C,UAAImzB,aAAJ,EAAmBtuB,OAAnB,EAA4BzD,aAA5B,EAA2CrtB,MAA3C,EAAmDssC,GAAnD;AACA,aAAOzS,8DAAW,CAAC,IAAD,EAAO,UAAUuE,EAAV,EAAc;AACnC,gBAAQA,EAAE,CAACrE,KAAX;AACI,eAAK,CAAL;AACIqlB,YAAAA,aAAa,GAAG,KAAKthB,cAAL,CAAoBu7B,uCAApB,CAA4Dj2B,eAA5D,CAAhB;;AACA,gBAAI,CAACgc,aAAL,EAAoB;AAChB,oBAAM7jB,yFAAA,EAAN;AACH;;AACDzK,YAAAA,OAAO,GAAGsuB,aAAa,CAAC6B,cAAd,EAAV;AACA7iB,YAAAA,EAAE,CAACrE,KAAH,GAAW,CAAX;;AACJ,eAAK,CAAL;AACIqE,YAAAA,EAAE,CAACnE,IAAH,CAAQ3F,IAAR,CAAa,CAAC,CAAD,EAAI,CAAJ,GAAS,CAAT,CAAb;;AACAjH,YAAAA,aAAa,GAAG,KAAK8rC,wBAAL,CAA8BjsC,OAA9B,EAAuC4D,OAAvC,CAAhB;AACA,mBAAO,CAAC;AAAE;AAAH,cAAc,KAAK6S,iBAAL,CAAuBhD,YAAvB,CAAoCtT,aAApC,CAAd,CAAP;;AACJ,eAAK,CAAL;AACIrtB,YAAAA,MAAM,GAAGo+B,EAAE,CAACpE,IAAH,EAAT;AACA,mBAAO,CAAC;AAAE;AAAH,cAAeh6B,MAAf,CAAP;;AACJ,eAAK,CAAL;AACIssC,YAAAA,GAAG,GAAGlO,EAAE,CAACpE,IAAH,EAAN;AACA,kBAAMsS,GAAN;;AACJ,eAAK,CAAL;AAAQ,mBAAO,CAAC;AAAE;AAAH,aAAP;AAlBZ;AAoBH,OArBiB,CAAlB;AAsBH,KAxBe,CAAhB;AAyBH,GA1BD;AA2BA;AACJ;AACA;AACA;;;AACI7P,EAAAA,uBAAuB,CAACnE,SAAxB,CAAkCnL,oBAAlC,GAAyD,UAAUD,OAAV,EAAmB;AACxE,WAAOjB,4DAAS,CAAC,IAAD,EAAO,KAAK,CAAZ,EAAe,KAAK,CAApB,EAAuB,YAAY;AAC/C,UAAIwsC,aAAJ,EAAmBC,WAAnB,EAAgC9nC,QAAhC,EAA0C4b,GAA1C,EAA+C+sB,iBAA/C,EAAkElwC,WAAlE;AACA,aAAOwQ,8DAAW,CAAC,IAAD,EAAO,UAAUuE,EAAV,EAAc;AACnC,gBAAQA,EAAE,CAACrE,KAAX;AACI,eAAK,CAAL;AACI,iBAAK/L,MAAL,CAAYqJ,KAAZ,CAAkB,wDAAlB;AACA,mBAAO,CAAC;AAAE;AAAH,cAAc,KAAKyhC,uBAAL,CAA6B5rC,OAA7B,CAAd,CAAP;;AACJ,eAAK,CAAL;AACIurC,YAAAA,aAAa,GAAGr6B,EAAE,CAACpE,IAAH,EAAhB;AACA0+B,YAAAA,WAAW,GAAG;AACV9lC,cAAAA,MAAM,EAAEoW,sFADE;AAEV9b,cAAAA,OAAO,EAAEurC;AAFC,aAAd;AAIAr6B,YAAAA,EAAE,CAACrE,KAAH,GAAW,CAAX;;AACJ,eAAK,CAAL;AACIqE,YAAAA,EAAE,CAACnE,IAAH,CAAQ3F,IAAR,CAAa,CAAC,CAAD,EAAI,CAAJ,GAAS,CAAT,CAAb;;AACA,mBAAO,CAAC;AAAE;AAAH,cAAc,KAAKgiC,oBAAL,CAA0Br+C,WAA1B,CAAsCygD,WAAtC,CAAd,CAAP;;AACJ,eAAK,CAAL;AACI9nC,YAAAA,QAAQ,GAAGwN,EAAE,CAACpE,IAAH,EAAX;AACA,iBAAKi/B,sBAAL,CAA4BroC,QAA5B;AACA,mBAAO,CAAC;AAAE;AAAH,cAAc,CAAd,CAAP;;AACJ,eAAK,CAAL;AACI4b,YAAAA,GAAG,GAAGpO,EAAE,CAACpE,IAAH,EAAN,CADJ,CAEI;;AACA,gBAAIwS,GAAG,YAAY7P,sEAAf,IAAkC6P,GAAG,CAAC/L,OAAJ,EAAtC,EAAqD;AACjD,oBAAM+L,GAAN;AACH;;AACD,mBAAO,CAAC;AAAE;AAAH,cAAc,CAAd,CAAP;;AACJ,eAAK,CAAL;AACI,iBAAK1O,cAAL,CAAoBkS,iBAApB,CAAsChU,yFAAtC,EAAyE9uB,IAAI,CAACI,SAAL,CAAemrD,aAAf,CAAzE,EAAwG,IAAxG;AACAc,YAAAA,iBAAiB,GAAG;AAChBh0B,cAAAA,KAAK,EAAExJ,kFADS;AAEhBy9B,cAAAA,OAAO,EAAE,KAAKzrE,MAAL,CAAY27B,MAAZ,CAAmB25B,yBAFZ;AAGhB9rB,cAAAA,SAAS,EAAE;AAHK,aAApB;AAKAlO,YAAAA,WAAW,GAAG,KAAKt7B,MAAL,CAAYm7B,IAAZ,CAAiBm5B,yBAAjB,GAA6C70C,MAAM,CAACC,QAAP,CAAgB0P,IAA7D,GAAoE,KAAKg6C,cAAL,CAAoBjqC,OAAO,CAAC7D,WAA5B,CAAlF;AACA,mBAAO,CAAC;AAAE;AAAH,cAAc,KAAK+T,gBAAL,CAAsBq8B,gBAAtB,CAAuCpwC,WAAvC,EAAoDkwC,iBAApD,CAAd,CAAP;;AACJ,eAAK,CAAL;AACIn7B,YAAAA,EAAE,CAACpE,IAAH,GADJ,CACe;;;AACX,mBAAO,CAAC;AAAE;AAAH,aAAP;AApCR;AAsCH,OAvCiB,CAAlB;AAwCH,KA1Ce,CAAhB;AA2CH,GA5CD;AA6CA;AACJ;AACA;;;AACIyC,EAAAA,uBAAuB,CAACnE,SAAxB,CAAkC/K,qBAAlC,GAA0D,YAAY;AAClE,WAAOtB,4DAAS,CAAC,IAAD,EAAO,KAAK,CAAZ,EAAe,KAAK,CAApB,EAAuB,YAAY;AAC/C,UAAIwtB,aAAJ,EAAmBvX,MAAnB,EAA2BhV,OAA3B,EAAoCwrC,WAApC,EAAiDF,YAAjD,EAA+D5nC,QAA/D,EAAyE5wB,MAAzE,EAAiF2sC,GAAjF;AACA,aAAO9S,8DAAW,CAAC,IAAD,EAAO,UAAUuE,EAAV,EAAc;AACnC,gBAAQA,EAAE,CAACrE,KAAX;AACI,eAAK,CAAL;AACI,iBAAK/L,MAAL,CAAYqJ,KAAZ,CAAkB,yDAAlB;;AACA,gBAAI,CAAC,KAAKyG,cAAL,CAAoB4b,uBAApB,CAA4C,IAA5C,CAAL,EAAwD;AACpD,mBAAK1rB,MAAL,CAAY3Z,IAAZ,CAAiB,uFAAjB;AACA,qBAAO,CAAC;AAAE;AAAH,gBAAe,IAAf,CAAP;AACH;;AACDolC,YAAAA,aAAa,GAAG,KAAK3b,cAAL,CAAoBwB,sBAApB,EAAhB;;AACA,gBAAI,CAACma,aAAL,EAAoB;AAChB,mBAAKzrB,MAAL,CAAYe,OAAZ,CAAoB,wGAApB;AACA,qBAAO,CAAC;AAAE;AAAH,gBAAe,IAAf,CAAP;AACH;;AACDmT,YAAAA,MAAM,GAAGuX,aAAa,CAACvX,MAAvB,EAA+BhV,OAAO,GAAG6L,yDAAM,CAAC0gB,aAAD,EAAgB,CAAC,QAAD,CAAhB,CAA/C;;AACA,gBAAIvX,MAAJ,EAAY;AACR,mBAAKlU,MAAL,CAAYe,OAAZ,CAAoB,sMAApB;AACH;;AACD,iBAAK+O,cAAL,CAAoByO,UAApB,CAA+B,KAAKzO,cAAL,CAAoBsV,gBAApB,CAAqCpX,yFAArC,CAA/B;AACA08B,YAAAA,WAAW,GAAG;AACV9lC,cAAAA,MAAM,EAAEoW,sFADE;AAEV9b,cAAAA,OAAO,EAAEA;AAFC,aAAd;AAIAsrC,YAAAA,YAAY,GAAGR,oEAAA,EAAf;AACA55B,YAAAA,EAAE,CAACrE,KAAH,GAAW,CAAX;;AACJ,eAAK,CAAL;AACIqE,YAAAA,EAAE,CAACnE,IAAH,CAAQ3F,IAAR,CAAa,CAAC,CAAD,EAAI,CAAJ,GAAS,CAAT,CAAb;;AACA,iBAAKtG,MAAL,CAAYe,OAAZ,CAAoB,mFAApB;AACA,mBAAO,CAAC;AAAE;AAAH,cAAc,KAAKunC,oBAAL,CAA0Br+C,WAA1B,CAAsCygD,WAAtC,CAAd,CAAP;;AACJ,eAAK,CAAL;AACI9nC,YAAAA,QAAQ,GAAGwN,EAAE,CAACpE,IAAH,EAAX;AACA,iBAAKi/B,sBAAL,CAA4BroC,QAA5B;AACA5wB,YAAAA,MAAM,GAAG,KAAKk5D,oBAAL,CAA0BtoC,QAA1B,EAAoC1D,OAApC,EAA6CsrC,YAA7C,CAAT;AACA,iBAAK16B,cAAL,CAAoB8C,wBAApB,CAA6C,KAA7C;AACA,mBAAO,CAAC;AAAE;AAAH,cAAe5gC,MAAf,CAAP;;AACJ,eAAK,CAAL;AACI2sC,YAAAA,GAAG,GAAGvO,EAAE,CAACpE,IAAH,EAAN;AACA,iBAAK8D,cAAL,CAAoB8C,wBAApB,CAA6C,KAA7C;AACA,kBAAM+L,GAAN;;AACJ,eAAK,CAAL;AAAQ,mBAAO,CAAC;AAAE;AAAH,aAAP;AArCZ;AAuCH,OAxCiB,CAAlB;AAyCH,KA3Ce,CAAhB;AA4CH,GA7CD;AA8CA;AACJ;AACA;AACA;;;AACIlQ,EAAAA,uBAAuB,CAACnE,SAAxB,CAAkC5K,MAAlC,GAA2C,YAAY;AACnD,SAAKM,MAAL,CAAYqJ,KAAZ,CAAkB,0CAAlB;AACA,WAAOQ,OAAO,CAAC2B,MAAR,CAAe,4BAAf,CAAP;AACH,GAHD;AAIA;AACJ;AACA;AACA;AACA;AACA;;;AACIiD,EAAAA,uBAAuB,CAACnE,SAAxB,CAAkC4gC,oBAAlC,GAAyD,UAAUtoC,QAAV,EAAoB1D,OAApB,EAA6BsrC,YAA7B,EAA2C;AAChG,WAAOvsC,4DAAS,CAAC,IAAD,EAAO,KAAK,CAAZ,EAAe,KAAK,CAApB,EAAuB,YAAY;AAC/C,UAAIytC,IAAJ,EAAUtZ,UAAV,EAAsBh3B,SAAtB,EAAiCuwC,uBAAjC,EAA0DnyB,qBAA1D,EAAiF4X,aAAjF,EAAgGkB,cAAhG,EAAgHsZ,iBAAhH,EAAmIjZ,GAAnI,EAAwIG,GAAxI,EAA6I+Y,mBAA7I,EAAkKC,iBAAlK,EAAqL17B,EAArL,EAAyL27B,iBAAzL,EAA4MC,aAA5M,EAA2Nh6D,MAA3N,EAAmOu/C,aAAnO,EAAkP0a,SAAlP,EAA6PC,sBAA7P,EAAqRna,iBAArR;;AACA,UAAI7gB,KAAK,GAAG,IAAZ;;AACA,aAAOrF,8DAAW,CAAC,IAAD,EAAO,UAAUyE,EAAV,EAAc;AACnC,gBAAQA,EAAE,CAACvE,KAAX;AACI,eAAK,CAAL;AACI,iBAAK/L,MAAL,CAAYqJ,KAAZ,CAAkB,wDAAlB;AACAqiC,YAAAA,IAAI,GAAG,KAAKS,mBAAL,CAAyBvpC,QAAzB,CAAP;AACA,iBAAK4M,iBAAL,CAAuBgE,eAAvB,CAAuC;AACnC2H,cAAAA,WAAW,EAAE,KAAKmtB,oBAAL,CAA0B9qB,cAA1B,EADsB;AAEnCF,cAAAA,gBAAgB,EAAE,KAAKgrB,oBAAL,CAA0B7qB,mBAA1B,EAFiB;AAGnC2uB,cAAAA,iBAAiB,EAAEV,IAAI,GAAGA,IAAI,CAACW,cAAR,GAAyB35B,SAHb;AAInC45B,cAAAA,sBAAsB,EAAEZ,IAAI,GAAGA,IAAI,CAACa,qBAAR,GAAgC75B,SAJzB;AAKnC85B,cAAAA,oBAAoB,EAAEd,IAAI,GAAGA,IAAI,CAACe,mBAAR,GAA8B/5B,SALrB;AAMnCg6B,cAAAA,cAAc,EAAEhB,IAAI,GAAGA,IAAI,CAACiB,WAAR,GAAsBj6B,SANP;AAOnCk6B,cAAAA,kBAAkB,EAAElB,IAAI,GAAGA,IAAI,CAACmB,eAAR,GAA0Bn6B,SAPf;AAQnCo6B,cAAAA,gBAAgB,EAAEpB,IAAI,GAAGA,IAAI,CAACqB,cAAR,GAAyBr6B,SARZ;AASnCs6B,cAAAA,aAAa,EAAEtB,IAAI,GAAGA,IAAI,CAACuB,UAAR,GAAqBv6B,SATL;AAUnCw6B,cAAAA,cAAc,EAAExB,IAAI,GAAGA,IAAI,CAACyB,WAAR,GAAsBz6B,SAVP;AAWnC06B,cAAAA,mBAAmB,EAAE1B,IAAI,GAAGA,IAAI,CAAC2B,kBAAR,GAA6B36B,SAXnB;AAYnC46B,cAAAA,iBAAiB,EAAE5B,IAAI,GAAGA,IAAI,CAAC6B,cAAR,GAAyB76B,SAZb;AAanC86B,cAAAA,gBAAgB,EAAE9B,IAAI,GAAGA,IAAI,CAAC+B,aAAR,GAAwB/6B,SAbX;AAcnCg7B,cAAAA,cAAc,EAAEhC,IAAI,GAAGA,IAAI,CAACiC,WAAR,GAAsBj7B,SAdP;AAenCk7B,cAAAA,kBAAkB,EAAElC,IAAI,GAAGA,IAAI,CAACmC,gBAAR,GAA2Bn7B;AAfhB,aAAvC,EAgBG,KAAK1B,aAhBR;;AAiBA,gBAAIpO,QAAQ,CAACE,OAAT,CAAiBt1B,EAAjB,KAAwB0xB,OAAO,CAACsS,SAApC,EAA+C;AAC3C;AACA,oBAAM7C,4FAAA,EAAN;AACH;;AACDyjB,YAAAA,UAAU,GAAG,IAAIhD,yDAAJ,CAAcxsB,QAAQ,CAAC+sB,QAAT,IAAqBxiB,sEAAnC,EAA2D,KAAKyC,aAAhE,CAAb;AACA,mBAAO,CAAC;AAAE;AAAH,cAAc,KAAK85B,sBAAL,CAA4BxqC,OAAO,CAAC9D,SAApC,CAAd,CAAP;;AACJ,eAAK,CAAL;AACIA,YAAAA,SAAS,GAAGkV,EAAE,CAACtE,IAAH,EAAZ;AACA2/B,YAAAA,uBAAuB,GAAGvwC,SAAS,CAAC0yC,iBAAV,EAA1B;AACAt0B,YAAAA,qBAAqB,GAAG4F,oFAAA,CAAoCxc,QAAQ,CAACouB,WAAT,IAAwB7jB,sEAA5D,EAAoF+8B,sEAApF,EAA2G,KAAKlqC,MAAhH,EAAwH,KAAK4P,aAA7H,EAA4IwiB,UAA5I,CAAxB;AACAhB,YAAAA,aAAa,GAAGhS,4EAAA,CAA4Bxc,QAAQ,CAACouB,WAArC,EAAkDxX,qBAAlD,EAAyE4Y,UAAzE,EAAqF1f,SAArF,EAAgGA,SAAhG,EAA2GA,SAA3G,EAAsHi5B,uBAAtH,EAA+I/oC,QAAQ,CAACE,OAAT,CAAiBt1B,EAAhK,CAAhB;AACA,iBAAKsiC,cAAL,CAAoB2S,UAApB,CAA+B2O,aAA/B;AACAkB,YAAAA,cAAc,GAAG1vB,QAAQ,CAACgF,KAAT,GAAiB2nB,mEAAA,CAAoB3sB,QAAQ,CAACgF,KAA7B,CAAjB,GAAuD2nB,mEAAA,CAAoBrwB,OAAO,CAAC0I,KAA5B,CAAxE;AACAgkC,YAAAA,iBAAiB,GAAGhpC,QAAQ,CAACE,OAAT,CAAiBirC,UAAjB,IAA+B,EAAnD;AACApb,YAAAA,GAAG,GAAGiZ,iBAAiB,CAAC,KAAD,CAAjB,IAA4BxZ,UAAU,CAAC3Y,MAAX,CAAkBmZ,GAA9C,IAAqDR,UAAU,CAAC3Y,MAAX,CAAkBoZ,GAAvE,IAA8E1lB,sEAApF;AACA2lB,YAAAA,GAAG,GAAG8Y,iBAAiB,CAAC,UAAD,CAAjB,IAAiCxZ,UAAU,CAAC3Y,MAAX,CAAkBqZ,GAAnD,IAA0D3lB,sEAAhE;AACA2+B,YAAAA,iBAAiB,GAAG7wB,2EAApB;AACA7K,YAAAA,EAAE,GAAGlR,OAAO,CAACi0B,SAAb;;AACA,oBAAQ/iB,EAAR;AACI,mBAAK6K,wEAAL;AAA+B,uBAAO,CAAC;AAAE;AAAH,kBAAc,CAAd,CAAP;AADnC;;AAGA,mBAAO,CAAC;AAAE;AAAH,cAAc,CAAd,CAAP;;AACJ,eAAK,CAAL;AACI;AACA6wB,YAAAA,iBAAiB,GAAG7wB,wEAApB,CAFJ,CAGI;;AACA,gBAAIrY,QAAQ,CAACorC,GAAb,EAAkB;AACd,mBAAKhuC,MAAL,CAAYqJ,KAAZ,CAAkB,4DAAlB;AACAwiC,cAAAA,mBAAmB,GAAGjpC,QAAQ,CAACorC,GAA/B;AACA,qBAAO,CAAC;AAAE;AAAH,gBAAc,CAAd,CAAP;AACH;;AACDjC,YAAAA,iBAAiB,GAAG,IAAI9B,kEAAJ,CAAsB,KAAKr6B,aAA3B,CAApB;AACAo8B,YAAAA,aAAa,GAAG;AACZtyB,cAAAA,qBAAqB,EAAExa,OAAO,CAACwa,qBADnB;AAEZC,cAAAA,kBAAkB,EAAEza,OAAO,CAACya,kBAFhB;AAGZC,cAAAA,SAAS,EAAE1a,OAAO,CAAC0a,SAHP;AAIZq0B,cAAAA,QAAQ,EAAE/uC,OAAO,CAAC+uC;AAJN,aAAhB;AAMA;AACxB;AACA;AACA;;AACwB,gBAAI,CAAC/uC,OAAO,CAAC6lC,KAAb,EAAoB;AAChB,oBAAMx3B,uFAAA,EAAN;AACH;;AACD,mBAAO,CAAC;AAAE;AAAH,cAAcw+B,iBAAiB,CAACoC,YAAlB,CAA+BvrC,QAAQ,CAAC8uB,YAAxC,EAAsDxyB,OAAO,CAAC6lC,KAA9D,EAAqEiH,aAArE,CAAd,CAAP;;AACJ,eAAK,CAAL;AACIH,YAAAA,mBAAmB,GAAGv7B,EAAE,CAACtE,IAAH,EAAtB;AACA,mBAAO,CAAC;AAAE;AAAH,cAAc,CAAd,CAAP;;AACJ,eAAK,CAAL;AACI;AACI6/B,cAAAA,mBAAmB,GAAGjpC,QAAQ,CAAC8uB,YAA/B;AACH;AACDphB,YAAAA,EAAE,CAACvE,KAAH,GAAW,CAAX;;AACJ,eAAK,CAAL;AACI/5B,YAAAA,MAAM,GAAG;AACLopB,cAAAA,SAAS,EAAEA,SAAS,CAAC23B,kBADhB;AAELC,cAAAA,QAAQ,EAAEL,GAFL;AAGL3M,cAAAA,QAAQ,EAAE8M,GAHL;AAIL72B,cAAAA,MAAM,EAAEq2B,cAAc,CAACI,OAAf,EAJH;AAKL5vB,cAAAA,OAAO,EAAEsuB,aAAa,CAAC6B,cAAd,EALJ;AAMLtf,cAAAA,OAAO,EAAE/Q,QAAQ,CAAC+sB,QANb;AAOLvJ,cAAAA,aAAa,EAAEgM,UAAU,CAAC3Y,MAPrB;AAQLxU,cAAAA,WAAW,EAAE4mC,mBARR;AASL9xB,cAAAA,SAAS,EAAE2xB,IAAI,GAAG,KAAK0C,mBAAL,CAAyB1C,IAAzB,CAAH,GAAoC,KAT9C;AAUL5Z,cAAAA,SAAS,EAAE,IAAI1J,IAAJ,CAASt0B,MAAM,CAAC02C,YAAY,GAAG5nC,QAAQ,CAAC+uB,UAAzB,CAAN,GAA6C,IAAtD,CAVN;AAWLwB,cAAAA,SAAS,EAAE2Y,iBAXN;AAYL96B,cAAAA,aAAa,EAAE,KAAKA,aAZf;AAaLl1B,cAAAA,KAAK,EAAE8mB,QAAQ,CAAC9mB,KAbX;AAcL04B,cAAAA,gBAAgB,EAAE;AAdb,aAAT;AAgBA+c,YAAAA,aAAa,GAAGjS,kFAAA,CAAkC9F,qBAAlC,EAAyDta,OAAO,CAAC9D,SAAjE,EAA4EwH,QAAQ,CAAC+sB,QAAT,IAAqBxiB,sEAAjG,EAAyHjO,OAAO,CAAC/D,QAAjI,EAA2Ii3B,UAAU,CAAC3Y,MAAX,CAAkBqZ,GAAlB,IAAyB3lB,sEAApK,CAAhB;AACA,iBAAKm9B,oBAAL,CAA0BxnB,oBAA1B,CAA+CyO,aAA/C;AACA0a,YAAAA,SAAS,GAAIH,iBAAiB,KAAK7wB,wEAAvB,GACN9N,4EADM,GAEN,CAAC,OAAOvK,QAAQ,CAAC+uB,UAAhB,KAA+B,QAA/B,GACG1tB,QAAQ,CAACrB,QAAQ,CAAC+uB,UAAV,EAAsB,EAAtB,CADX,GAEG/uB,QAAQ,CAAC+uB,UAFb,KAE4B,CAJlC;AAKAua,YAAAA,sBAAsB,GAAG1B,YAAY,GAAGyB,SAAxC;AACAla,YAAAA,iBAAiB,GAAGxS,0FAAA,CAA0C/F,qBAA1C,EAAiEta,OAAO,CAAC9D,SAAzE,EAAoFywC,mBAApF,EAAyG3sC,OAAO,CAAC/D,QAAjH,EAA2H23B,GAA3H,EAAgIR,cAAc,CAACT,WAAf,EAAhI,EAA8Jqa,sBAA9J,EAAsL,CAAtL,EAAyL,KAAKt8B,aAA9L,CAApB;AACA,iBAAK06B,oBAAL,CAA0BlnB,wBAA1B,CAAmD2O,iBAAnD,EA1BJ,CA2BI;;AACA,iBAAKjiB,cAAL,CAAoBw+B,oBAApB,CAAyCld,aAAzC,EAAwD70B,KAAxD,CAA8D,UAAUyO,CAAV,EAAa;AACvEkG,cAAAA,KAAK,CAAClR,MAAN,CAAatpB,KAAb,CAAmB,yEAAyEs0B,CAA5F;AACH,aAFD;AAGA,mBAAO,CAAC;AAAE;AAAH,cAAeh5B,MAAf,CAAP;AA1GR;AA4GH,OA7GiB,CAAlB;AA8GH,KAjHe,CAAhB;AAkHH,GAnHD;AAoHA;AACJ;AACA;AACA;;;AACIy8B,EAAAA,uBAAuB,CAACnE,SAAxB,CAAkC2gC,sBAAlC,GAA2D,UAAUroC,QAAV,EAAoB;AAC3E,QAAIA,QAAQ,CAAC2H,cAAT,CAAwB,cAAxB,KACA3H,QAAQ,CAAC2H,cAAT,CAAwB,UAAxB,CADA,IAEA3H,QAAQ,CAAC2H,cAAT,CAAwB,aAAxB,CAFA,IAGA3H,QAAQ,CAAC2H,cAAT,CAAwB,SAAxB,CAHA,IAIA3H,QAAQ,CAAC2H,cAAT,CAAwB,OAAxB,CAJA,IAKA3H,QAAQ,CAAC2H,cAAT,CAAwB,YAAxB,CALJ,EAK2C;AACvC,aAAO3H,QAAP;AACH,KAPD,MAQK;AACD,YAAM+L,4FAAA,CAAsC,uCAAtC,CAAN;AACH;AACJ,GAZD;AAaA;AACJ;AACA;AACA;AACA;;;AACIF,EAAAA,uBAAuB,CAACnE,SAAxB,CAAkC6hC,mBAAlC,GAAwD,UAAUvpC,QAAV,EAAoB;AACxE,QAAIA,QAAQ,CAACmrC,UAAT,CAAoBQ,IAAxB,EAA8B;AAC1B,UAAI;AACA,eAAOrvD,IAAI,CAACC,KAAL,CAAWyjB,QAAQ,CAACmrC,UAAT,CAAoBQ,IAA/B,CAAP;AACH,OAFD,CAGA,OAAOvjC,CAAP,EAAU;AACN,aAAKhL,MAAL,CAAYtpB,KAAZ,CAAkB,gFAAlB;AACH;AACJ;;AACD,WAAO,IAAP;AACH,GAVD;AAWA;AACJ;AACA;AACA;AACA;;;AACI+3B,EAAAA,uBAAuB,CAACnE,SAAxB,CAAkC8jC,mBAAlC,GAAwD,UAAU1C,IAAV,EAAgB;AACpE,QAAI,OAAOA,IAAI,CAAC8C,SAAZ,KAA0B,WAA9B,EAA2C;AACvC,WAAKxuC,MAAL,CAAYe,OAAZ,CAAoB,gIAApB;AACA,aAAO,KAAP;AACH;;AACD,WAAO,CAAC,CAAC2qC,IAAI,CAAC8C,SAAd;AACH,GAND;AAOA;AACJ;AACA;AACA;;;AACI//B,EAAAA,uBAAuB,CAACnE,SAAxB,CAAkCwgC,uBAAlC,GAA4D,UAAU5rC,OAAV,EAAmB;AAC3E,WAAOjB,4DAAS,CAAC,IAAD,EAAO,KAAK,CAAZ,EAAe,KAAK,CAApB,EAAuB,YAAY;AAC/C,UAAI7C,SAAJ,EAAe23B,kBAAf,EAAmC92B,MAAnC,EAA2CwyC,mBAA3C,EAAgEC,QAAhE,EAA0EC,SAA1E,EAAqF9F,gBAArF,EAAuGmD,aAAvG,EAAsHD,iBAAtH,EAAyI6C,UAAzI;;AACA,UAAI19B,KAAK,GAAG,IAAZ;;AACA,aAAOrF,8DAAW,CAAC,IAAD,EAAO,UAAUuE,EAAV,EAAc;AACnC,gBAAQA,EAAE,CAACrE,KAAX;AACI,eAAK,CAAL;AACI,iBAAK/L,MAAL,CAAYqJ,KAAZ,CAAkB,0DAAlB;AACAjO,YAAAA,SAAS,GAAG8D,OAAO,CAAC9D,SAAR,IAAqB,KAAKr7B,MAAL,CAAYm7B,IAAZ,CAAiBE,SAAlD;AACA23B,YAAAA,kBAAkB,GAAG,IAAIx1B,0DAAJ,CAAcnC,SAAd,CAArB;AACA23B,YAAAA,kBAAkB,CAAC8b,aAAnB;AACA5yC,YAAAA,MAAM,GAAGiD,OAAO,CAACjD,MAAjB,EAAyBwyC,mBAAmB,GAAG1jC,yDAAM,CAAC7L,OAAD,EAAU,CAAC,QAAD,CAAV,CAArD;AACAwvC,YAAAA,QAAQ,GAAG,IAAInf,wDAAJ,CAAatzB,MAAM,IAAI,EAAvB,CAAX;AACAyyC,YAAAA,QAAQ,CAACI,YAAT,CAAsB3E,mEAAtB;;AACAwE,YAAAA,SAAS,GAAG,YAAY;AACpB;AACA,sBAAQz9B,KAAK,CAACqG,KAAd;AACI,qBAAKxJ,uEAAL;AACA,qBAAKA,2FAAL;AACImD,kBAAAA,KAAK,CAAClR,MAAN,CAAaqJ,KAAb,CAAmB,6DAAnB;;AACA,yBAAOmE,gEAAP;AAJR,eAFoB,CAQpB;;;AACA,kBAAI,CAACtO,OAAO,CAACgV,MAAb,EAAqB;AACjBhD,gBAAAA,KAAK,CAAClR,MAAN,CAAaqJ,KAAb,CAAmB,kDAAnB;;AACA,uBAAOqJ,SAAP;AACH,eAZmB,CAapB;;;AACA,sBAAQxT,OAAO,CAACgV,MAAhB;AACI,qBAAK1G,gEAAL;AACA,qBAAKA,mEAAL;AACA,qBAAKA,iEAAL;AACI0D,kBAAAA,KAAK,CAAClR,MAAN,CAAaqJ,KAAb,CAAmB,gEAAnB;;AACA,yBAAOnK,OAAO,CAACgV,MAAf;;AACJ;AACIhD,kBAAAA,KAAK,CAAClR,MAAN,CAAaqJ,KAAb,CAAmB,uCAAuCnK,OAAO,CAACgV,MAA/C,GAAwD,qCAA3E;;AACA,wBAAMpF,sHAAA,EAAN;AARR;AAUH,aAxBD;;AAyBA+5B,YAAAA,gBAAgB,GAAGn+B,2DAAQ,CAACA,2DAAQ,CAAC,EAAD,EAAK+jC,mBAAL,CAAT,EAAoC;AAAEj9B,cAAAA,SAAS,EAAE,KAAKA,SAAlB;AAA6BrW,cAAAA,QAAQ,EAAE,KAAKp7B,MAAL,CAAYm7B,IAAZ,CAAiBC,QAAxD;AAAkEC,cAAAA,SAAS,EAAE23B,kBAAkB,CAACgc,SAAhG;AAA2GnnC,cAAAA,KAAK,EAAE8mC,QAAQ,CAAC7c,WAAT,EAAlH;AAA0Ix2B,cAAAA,WAAW,EAAE,KAAK8tC,cAAL,CAAoBjqC,OAAO,CAAC7D,WAA5B,CAAvJ;AAAiM6Y,cAAAA,MAAM,EAAEy6B,SAAS,EAAlN;AAAsN39B,cAAAA,aAAa,EAAE,KAAKA,aAA1O;AAAyPmiB,cAAAA,SAAS,EAAEj0B,OAAO,CAACuY,oBAA5Q;AAAkSu3B,cAAAA,oBAAoB,EAAEjtC,QAAQ,CAACrxB,KAAjU;AAAwUu+D,cAAAA,eAAe,EAAEvkC,2DAAQ,CAACA,2DAAQ,CAACA,2DAAQ,CAAC,EAAD,EAAKxL,OAAO,CAACgwC,oBAAb,CAAT,EAA6ChwC,OAAO,CAACiwC,oBAArD,CAAT,EAAqF;AAAE1/B,gBAAAA,SAAS,EAAEsL,sFAA8Bq0B;AAA3C,eAArF,CAAjW;AAAseC,cAAAA,mBAAmB,EAAE,KAA3f,CAAigB;;AAAjgB,aAApC,CAA3B;AAEA,gBAAI,EAAEnwC,OAAO,CAACuY,oBAAR,KAAiCwD,wEAAnC,CAAJ,EAAkE,OAAO,CAAC;AAAE;AAAH,cAAc,CAAd,CAAP;AAClE+wB,YAAAA,aAAa,GAAG;AACZryB,cAAAA,kBAAkB,EAAEza,OAAO,CAACya,kBADhB;AAEZD,cAAAA,qBAAqB,EAAExa,OAAO,CAACwa,qBAFnB;AAGZE,cAAAA,SAAS,EAAE1a,OAAO,CAAC0a,SAHP;AAIZq0B,cAAAA,QAAQ,EAAE/uC,OAAO,CAAC+uC;AAJN,aAAhB;AAMAlC,YAAAA,iBAAiB,GAAG,IAAI9B,kEAAJ,CAAsB,KAAKr6B,aAA3B,CAApB;AACA,mBAAO,CAAC;AAAE;AAAH,cAAcm8B,iBAAiB,CAACuD,WAAlB,CAA8BtD,aAA9B,CAAd,CAAP;;AACJ,eAAK,CAAL;AACI4C,YAAAA,UAAU,GAAGx+B,EAAE,CAACpE,IAAH,EAAb,CADJ,CAEI;;AACA68B,YAAAA,gBAAgB,CAAC0G,MAAjB,GAA0BX,UAAU,CAACY,UAArC;AACA3G,YAAAA,gBAAgB,CAAC9D,KAAjB,GAAyB6J,UAAU,CAACvU,GAApC;AACAjqB,YAAAA,EAAE,CAACrE,KAAH,GAAW,CAAX;;AACJ,eAAK,CAAL;AAAQ,mBAAO,CAAC;AAAE;AAAH,cAAe88B,gBAAf,CAAP;AAnDZ;AAqDH,OAtDiB,CAAlB;AAuDH,KA1De,CAAhB;AA2DH,GA5DD;;AA6DA,SAAOp6B,uBAAP;AACH,CA9c4C,CA8c3C25B,6EA9c2C,CAA7C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACdA;AACa;;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;;AACA,IAAIh6B,WAAW;AAAG;AAAe,UAAUjF,MAAV,EAAkB;AAC/CqB,EAAAA,4DAAS,CAAC4D,WAAD,EAAcjF,MAAd,CAAT;;AACA,WAASiF,WAAT,CAAqBruC,MAArB,EAA6BsoE,WAA7B,EAA0Cz4B,aAA1C,EAAyD5P,MAAzD,EAAiE6P,YAAjE,EAA+ET,gBAA/E,EAAiGI,iBAAjG,EAAoH66B,iBAApH,EAAuI/B,oBAAvI,EAA6Jt3B,aAA7J,EAA4K;AACxK,QAAIE,KAAK,GAAG/H,MAAM,CAACK,IAAP,CAAY,IAAZ,EAAkBzpC,MAAlB,EAA0BsoE,WAA1B,EAAuCz4B,aAAvC,EAAsD5P,MAAtD,EAA8D6P,YAA9D,EAA4ET,gBAA5E,EAA8FI,iBAA9F,EAAiH84B,oBAAjH,EAAuIt3B,aAAvI,KAAyJ,IAArK,CADwK,CAExK;;;AACAE,IAAAA,KAAK,CAAC0+B,YAAN,GAAqB1+B,KAAK,CAAC0+B,YAAN,CAAmBx6C,IAAnB,CAAwB8b,KAAxB,CAArB;AACAA,IAAAA,KAAK,CAAC2+B,aAAN,GAAsBxF,iBAAtB;AACA,WAAOn5B,KAAP;AACH;AACD;AACJ;AACA;AACA;;;AACI9C,EAAAA,WAAW,CAAC9D,SAAZ,CAAsBqI,YAAtB,GAAqC,UAAUzT,OAAV,EAAmB;AACpD,QAAI;AACA,UAAI4wC,SAAS,GAAG,KAAKC,iBAAL,CAAuB7wC,OAAO,CAACjD,MAAR,IAAkBkuC,mEAAzC,EAA8DjrC,OAAO,CAAC9D,SAAR,IAAqB,KAAKr7B,MAAL,CAAYm7B,IAAZ,CAAiBE,SAApG,CAAhB;AACA,UAAI40C,qBAAqB,GAAG9wC,OAAO,CAAC8wC,qBAAR,IAAiC,EAA7D,CAFA,CAGA;;AACA,UAAI,KAAKjwE,MAAL,CAAY27B,MAAZ,CAAmB45B,WAAvB,EAAoC;AAChC,aAAKt1B,MAAL,CAAYe,OAAZ,CAAoB,0CAApB,EADgC,CAEhC;;AACA,eAAO,KAAKkvC,sBAAL,CAA4B/wC,OAA5B,EAAqC4wC,SAArC,EAAgDE,qBAAhD,CAAP;AACH,OAJD,MAKK;AACD;AACA,aAAKhwC,MAAL,CAAYe,OAAZ,CAAoB,+DAApB;AACA,YAAImvC,KAAK,GAAG,KAAKC,cAAL,CAAoB,aAApB,EAAmCL,SAAnC,EAA8CE,qBAA9C,CAAZ;AACA,eAAO,KAAKC,sBAAL,CAA4B/wC,OAA5B,EAAqC4wC,SAArC,EAAgDE,qBAAhD,EAAuEE,KAAvE,CAAP;AACH;AACJ,KAfD,CAgBA,OAAOllC,CAAP,EAAU;AACN,aAAOnB,OAAO,CAAC2B,MAAR,CAAeR,CAAf,CAAP;AACH;AACJ,GApBD;AAqBA;AACJ;AACA;AACA;;;AACIoD,EAAAA,WAAW,CAAC9D,SAAZ,CAAsB5K,MAAtB,GAA+B,UAAUC,aAAV,EAAyB;AACpD,QAAI;AACA,WAAKK,MAAL,CAAYe,OAAZ,CAAoB,oBAApB;AACA,UAAIqvC,kBAAkB,GAAG,KAAKC,uBAAL,CAA6B1wC,aAA7B,CAAzB;AACA,UAAImwC,SAAS,GAAG,KAAKQ,uBAAL,CAA6BF,kBAA7B,CAAhB;AACA,UAAIh1C,SAAS,GAAGuE,aAAa,IAAIA,aAAa,CAACvE,SAA/C;AACA,UAAIm1C,qBAAqB,GAAG5wC,aAAa,IAAIA,aAAa,CAAC4wC,qBAA3D;AACA,UAAIP,qBAAqB,GAAG,CAACrwC,aAAa,KAAK,IAAlB,IAA0BA,aAAa,KAAK,KAAK,CAAjD,GAAqD,KAAK,CAA1D,GAA8DA,aAAa,CAACqwC,qBAA7E,KAAuG,EAAnI,CANA,CAOA;;AACA,UAAI,KAAKjwE,MAAL,CAAY27B,MAAZ,CAAmB45B,WAAvB,EAAoC;AAChC,aAAKt1B,MAAL,CAAYe,OAAZ,CAAoB,yBAApB,EADgC,CAEhC;;AACA,eAAO,KAAKyvC,gBAAL,CAAsBJ,kBAAtB,EAA0CN,SAA1C,EAAqDE,qBAArD,EAA4E50C,SAA5E,EAAuFsX,SAAvF,EAAkG69B,qBAAlG,CAAP;AACH,OAJD,MAKK;AACD;AACA,aAAKvwC,MAAL,CAAYe,OAAZ,CAAoB,wCAApB;AACA,YAAImvC,KAAK,GAAG,KAAKC,cAAL,CAAoB,aAApB,EAAmCL,SAAnC,EAA8CE,qBAA9C,CAAZ;AACA,eAAO,KAAKQ,gBAAL,CAAsBJ,kBAAtB,EAA0CN,SAA1C,EAAqDE,qBAArD,EAA4E50C,SAA5E,EAAuF80C,KAAvF,EAA8FK,qBAA9F,CAAP;AACH;AACJ,KAnBD,CAoBA,OAAOvlC,CAAP,EAAU;AACN;AACA,aAAOnB,OAAO,CAAC2B,MAAR,CAAeR,CAAf,CAAP;AACH;AACJ,GAzBD;AA0BA;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACIoD,EAAAA,WAAW,CAAC9D,SAAZ,CAAsB2lC,sBAAtB,GAA+C,UAAU/wC,OAAV,EAAmB4wC,SAAnB,EAA8BE,qBAA9B,EAAqDE,KAArD,EAA4D;AACvG,WAAOjyC,4DAAS,CAAC,IAAD,EAAO,KAAK,CAAZ,EAAe,KAAK,CAApB,EAAuB,YAAY;AAC/C,UAAIwyC,sBAAJ,EAA4B18B,YAA5B,EAA0C+W,eAA1C,EAA2D4lB,UAA3D,EAAuEv9B,cAAvE,EAAuFw9B,+BAAvF,EAAwHC,WAAxH,EAAqIC,kBAArI,EAAyJC,eAAzJ,EAA0KC,WAA1K,EAAuLpyC,IAAvL,EAA6LqyC,YAA7L,EAA2MC,OAA3M,EAAoNC,uBAApN,EAA6OC,gBAA7O,EAA+Pn/D,MAA/P,EAAuQq+B,GAAvQ;;AACA,UAAIa,KAAK,GAAG,IAAZ;;AACA,aAAOrF,8DAAW,CAAC,IAAD,EAAO,UAAUuE,EAAV,EAAc;AACnC,gBAAQA,EAAE,CAACrE,KAAX;AACI,eAAK,CAAL;AACI,iBAAK/L,MAAL,CAAYe,OAAZ,CAAoB,+BAApB;AACA0vC,YAAAA,sBAAsB,GAAG,KAAKnH,gCAAL,CAAsCv7B,+EAAtC,CAAzB;AACA,mBAAO,CAAC;AAAE;AAAH,cAAc,KAAKqjC,8BAAL,CAAoClyC,OAApC,EAA6C7B,6EAA7C,CAAd,CAAP;;AACJ,eAAK,CAAL;AACI0W,YAAAA,YAAY,GAAG3D,EAAE,CAACpE,IAAH,EAAf;AACA,iBAAK8D,cAAL,CAAoB2Z,kBAApB,CAAuC1V,YAAY,CAACj4B,KAApD,EAA2Di4B,YAAY,CAAC2V,KAAxE,EAA+E3V,YAAY,CAAC3Y,SAA5F,EAAuG2Y,YAAY,CAAC+D,SAAb,IAA0B3K,sEAAjI,EAAyJ4G,YAAY,CAACjR,OAAb,IAAwB,IAAjL;AACAsN,YAAAA,EAAE,CAACrE,KAAH,GAAW,CAAX;;AACJ,eAAK,CAAL;AACIqE,YAAAA,EAAE,CAACnE,IAAH,CAAQ3F,IAAR,CAAa,CAAC,CAAD,EAAI,CAAJ,GAAS,CAAT,CAAb;;AACA,mBAAO,CAAC;AAAE;AAAH,cAAc,KAAK+qC,kCAAL,CAAwCt9B,YAAxC,CAAd,CAAP;;AACJ,eAAK,CAAL;AACI+W,YAAAA,eAAe,GAAG1a,EAAE,CAACpE,IAAH,EAAlB;AACA,mBAAO,CAAC;AAAE;AAAH,cAAc,KAAKslC,oBAAL,CAA0Bb,sBAA1B,EAAkD18B,YAAY,CAAC3Y,SAA/D,EAA0E2Y,YAAY,CAACsc,iBAAvF,CAAd,CAAP;;AACJ,eAAK,CAAL;AACIqgB,YAAAA,UAAU,GAAGtgC,EAAE,CAACpE,IAAH,EAAb;AACA,iBAAKhM,MAAL,CAAYe,OAAZ,CAAoB,0BAApB;AACAoS,YAAAA,cAAc,GAAGzE,gHAAA,CAAuC,KAAK3uC,MAA5C,EAAoD,KAAKigC,MAAzD,EAAiE,KAAKsoC,oBAAtE,EAA4FppC,OAAO,CAACuY,oBAApG,CAAjB;AACAk5B,YAAAA,+BAA+B,GAAG,KAAK,CAAvC;;AACA,gBAAIx9B,cAAJ,EAAoB;AAChBw9B,cAAAA,+BAA+B,GAAG,KAAKnhC,iBAAL,CAAuBsD,gBAAvB,CAAwCzF,gGAAxC,EAA0FnO,OAAO,CAAC8R,aAAlG,CAAlC;AACH;;AACD,mBAAO,CAAC;AAAE;AAAH,cAAc0/B,UAAU,CAACc,cAAX,CAA0B9mC,2DAAQ,CAACA,2DAAQ,CAAC,EAAD,EAAKqJ,YAAL,CAAT,EAA6B;AAAE09B,cAAAA,YAAY,EAAEt+B;AAAhB,aAA7B,CAAlC,CAAd,CAAP;;AACJ,eAAK,CAAL;AACIy9B,YAAAA,WAAW,GAAGxgC,EAAE,CAACpE,IAAH,EAAd;AACA6kC,YAAAA,kBAAkB,GAAG,IAAIlB,0FAAJ,CAAuBe,UAAvB,EAAmC,KAAK5gC,cAAxC,EAAwDgb,eAAxD,EAAyE,KAAK9qB,MAA9E,CAArB;AACA8wC,YAAAA,eAAe,GAAG;AACdZ,cAAAA,KAAK,EAAEA,KADO;AAEdJ,cAAAA,SAAS,EAAEA,SAFG;AAGdE,cAAAA,qBAAqB,EAAEA;AAHT,aAAlB;AAKAe,YAAAA,WAAW,GAAG,KAAKW,mBAAL,CAAyBd,WAAzB,EAAsCE,eAAtC,CAAd;AACA,iBAAKjhC,YAAL,CAAkBnxB,SAAlB,CAA4BwvB,uEAA5B,EAAoD7Q,6EAApD,EAA2E;AAAE0zC,cAAAA,WAAW,EAAEA;AAAf,aAA3E,EAAyG,IAAzG;AACA,mBAAO,CAAC;AAAE;AAAH,cAAc,KAAKa,mBAAL,CAAyBb,WAAzB,CAAd,CAAP;;AACJ,eAAK,CAAL;AACIpyC,YAAAA,IAAI,GAAGyR,EAAE,CAACpE,IAAH,EAAP;AACAglC,YAAAA,YAAY,GAAGzzC,6EAAA,CAA8BoB,IAA9B,CAAf;AACAsyC,YAAAA,OAAO,GAAG,KAAKa,+BAAL,CAAqCd,YAArC,EAAmD3zC,6EAAnD,EAA0E0W,YAAY,CAAC/C,aAAvF,CAAV,CAHJ,CAII;;AACAy+B,YAAAA,8EAAA,CAA+B,KAAK3/B,cAApC,EAAoD,KAAK/vC,MAAL,CAAYm7B,IAAZ,CAAiBC,QAArE,EAA+E2vB,eAA/E;;AACA,gBAAIkmB,YAAY,CAACx/B,SAAjB,EAA4B;AACxB,mBAAKxR,MAAL,CAAYe,OAAZ,CAAoB,iDAApB,EADwB,CAExB;;AACA,kBAAI4vC,+BAAJ,EAAqC;AACjCA,gBAAAA,+BAA+B,CAAC19B,cAAhC,CAA+C;AAC3CC,kBAAAA,OAAO,EAAE,IADkC;AAE3CC,kBAAAA,cAAc,EAAE;AAF2B,iBAA/C;AAIH;;AACD,kBAAI,CAAC,KAAKm1B,oBAAV,EAAgC;AAC5B,sBAAMx5B,kHAAA,EAAN;AACH;;AACDoiC,cAAAA,uBAAuB,GAAG,IAAIziC,iFAAJ,CAA4B,KAAK1uC,MAAjC,EAAyC,KAAK+vC,cAA9C,EAA8D,KAAKF,aAAnE,EAAkF,KAAK5P,MAAvF,EAA+F,KAAK6P,YAApG,EAAkH,KAAKT,gBAAvH,EAAyIrB,+EAAzI,EAAkK,KAAKyB,iBAAvK,EAA0L,KAAK84B,oBAA/L,EAAqN0I,YAAY,CAACx/B,SAAlO,EAA6O,KAAKq+B,aAAlP,EAAiQ97B,YAAY,CAAC/C,aAA9Q,CAA1B;AACAmgC,cAAAA,gBAAgB,GAAGrxB,gFAAA,CAAgC,KAAKlQ,aAArC,EAAoDqhC,OAApD,EAA6DE,gBAAhF;AACA,qBAAO,CAAC;AAAE;AAAH,gBAAeD,uBAAuB,CAACv+B,YAAxB,CAAqCjI,2DAAQ,CAACA,2DAAQ,CAAC,EAAD,EAAKqJ,YAAL,CAAT,EAA6B;AAAEj4B,gBAAAA,KAAK,EAAEq1D,gBAAT;AAA2Bj9B,gBAAAA,MAAM,EAAExB,SAAnC,CAA6C;;AAA7C,eAA7B,CAA7C,EACbs/B,OADa,CACL,YAAY;AACrB9gC,gBAAAA,KAAK,CAACpB,cAAN,CAAqBya,mBAArB,CAAyC0mB,OAAzC;AACH,eAHiB,CAAf,CAAP;AAIH;;AACD,mBAAO,CAAC;AAAE;AAAH,cAAcJ,kBAAkB,CAACoB,0BAAnB,CAA8CtzC,IAA9C,EAAoDsyC,OAApD,EAA6DP,UAAU,CAACt1C,SAAxE,EAAmF,KAAK+T,aAAxF,CAAd,CAAP;;AACJ,eAAK,CAAL;AACIn9B,YAAAA,MAAM,GAAGo+B,EAAE,CAACpE,IAAH,EAAT;AACA,mBAAO,CAAC;AAAE;AAAH,cAAeh6B,MAAf,CAAP;;AACJ,eAAK,CAAL;AACIq+B,YAAAA,GAAG,GAAGD,EAAE,CAACpE,IAAH,EAAN;;AACA,gBAAIkkC,KAAJ,EAAW;AACP;AACAA,cAAAA,KAAK,CAACv6D,KAAN;AACH;;AACD,gBAAI06B,GAAG,YAAY/C,0DAAnB,EAA8B;AAC1B+C,cAAAA,GAAG,CAAC6hC,gBAAJ,CAAqB,KAAKlhC,aAA1B;AACH;;AACDy/B,YAAAA,sBAAsB,CAAC0B,kBAAvB,CAA0C9hC,GAA1C;AACA,iBAAKP,cAAL,CAAoBya,mBAApB,CAAwCxW,YAAY,CAACj4B,KAArD;AACA,kBAAMu0B,GAAN;;AACJ,eAAK,CAAL;AAAQ,mBAAO,CAAC;AAAE;AAAH,aAAP;AA5EZ;AA8EH,OA/EiB,CAAlB;AAgFH,KAnFe,CAAhB;AAoFH,GArFD;AAsFA;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACIjC,EAAAA,WAAW,CAAC9D,SAAZ,CAAsBkmC,gBAAtB,GAAyC,UAAUz8B,YAAV,EAAwB+7B,SAAxB,EAAmCE,qBAAnC,EAA0DrG,gBAA1D,EAA4EuG,KAA5E,EAAmFK,qBAAnF,EAA0G;AAC/I,WAAOtyC,4DAAS,CAAC,IAAD,EAAO,KAAK,CAAZ,EAAe,KAAK,CAApB,EAAuB,YAAY;AAC/C,UAAIwyC,sBAAJ,EAA4BC,UAA5B,EAAwC0B,SAAxC,EAAmDrB,WAAnD,EAAgExF,iBAAhE,EAAmF8G,WAAnF,EAAgG/zB,GAAhG;AACA,aAAOzS,8DAAW,CAAC,IAAD,EAAO,UAAUuE,EAAV,EAAc;AACnC,gBAAQA,EAAE,CAACrE,KAAX;AACI,eAAK,CAAL;AACI,iBAAK/L,MAAL,CAAYe,OAAZ,CAAoB,yBAApB;AACA,iBAAK8O,YAAL,CAAkBnxB,SAAlB,CAA4BwvB,uEAA5B,EAAoD7Q,6EAApD,EAA2E0W,YAA3E;AACA08B,YAAAA,sBAAsB,GAAG,KAAKnH,gCAAL,CAAsCv7B,yEAAtC,CAAzB;AACAqC,YAAAA,EAAE,CAACrE,KAAH,GAAW,CAAX;;AACJ,eAAK,CAAL;AACIqE,YAAAA,EAAE,CAACnE,IAAH,CAAQ3F,IAAR,CAAa,CAAC,CAAD,EAAI,CAAJ,GAAS,CAAT,CAAb,EADJ,CAEI;;;AACA,mBAAO,CAAC;AAAE;AAAH,cAAc,KAAKkiC,kBAAL,CAAwBz0B,YAAY,CAACjR,OAArC,CAAd,CAAP;;AACJ,eAAK,CAAL;AACI;AACAsN,YAAAA,EAAE,CAACpE,IAAH;;AACA,mBAAO,CAAC;AAAE;AAAH,cAAc,KAAKslC,oBAAL,CAA0Bb,sBAA1B,EAAkD9G,gBAAlD,CAAd,CAAP;;AACJ,eAAK,CAAL;AACI+G,YAAAA,UAAU,GAAGtgC,EAAE,CAACpE,IAAH,EAAb;AACA,iBAAKhM,MAAL,CAAYe,OAAZ,CAAoB,0BAApB;AACAqxC,YAAAA,SAAS,GAAG1B,UAAU,CAAC4B,YAAX,CAAwBv+B,YAAxB,CAAZ;AACA,iBAAKlE,YAAL,CAAkBnxB,SAAlB,CAA4BwvB,yEAA5B,EAAsD7Q,6EAAtD,EAA6E0W,YAA7E;AACAg9B,YAAAA,WAAW,GAAG,KAAKyB,SAAL,CAAeJ,SAAf,EAA0B;AAAEtC,cAAAA,SAAS,EAAEA,SAAb;AAAwBE,cAAAA,qBAAqB,EAAEA,qBAA/C;AAAsEE,cAAAA,KAAK,EAAEA;AAA7E,aAA1B,CAAd;AACA,iBAAKrgC,YAAL,CAAkBnxB,SAAlB,CAA4BwvB,uEAA5B,EAAoD7Q,6EAApD,EAA2E;AAAE0zC,cAAAA,WAAW,EAAEA;AAAf,aAA3E,EAAyG,IAAzG;AACA,mBAAO,CAAC;AAAE;AAAH,cAAc,KAAK0B,kBAAL,CAAwB1B,WAAxB,CAAd,CAAP;;AACJ,eAAK,CAAL;AACI3gC,YAAAA,EAAE,CAACpE,IAAH;;AACA,gBAAIukC,qBAAJ,EAA2B;AACvBhF,cAAAA,iBAAiB,GAAG;AAChBh0B,gBAAAA,KAAK,EAAExJ,yEADS;AAEhBy9B,gBAAAA,OAAO,EAAE,KAAKzrE,MAAL,CAAY27B,MAAZ,CAAmB25B,yBAFZ;AAGhB9rB,gBAAAA,SAAS,EAAE;AAHK,eAApB;AAKA8oC,cAAAA,WAAW,GAAG90C,wEAAA,CAAyBgzC,qBAAzB,EAAgD/yC,+EAAA,EAAhD,CAAd;AACA,mBAAKwC,MAAL,CAAYe,OAAZ,CAAoB,yDAApB;AACA,mBAAKf,MAAL,CAAYsJ,UAAZ,CAAuB,iCAAiC+oC,WAAxD;AACA,mBAAKjjC,gBAAL,CAAsBlG,gBAAtB,CAAuCmpC,WAAvC,EAAoD9G,iBAApD;AACH,aAVD,MAWK;AACD,mBAAKvrC,MAAL,CAAYe,OAAZ,CAAoB,qCAApB;AACH;;AACD,mBAAO,CAAC;AAAE;AAAH,cAAc,CAAd,CAAP;;AACJ,eAAK,CAAL;AACIud,YAAAA,GAAG,GAAGlO,EAAE,CAACpE,IAAH,EAAN;;AACA,gBAAIkkC,KAAJ,EAAW;AACP;AACAA,cAAAA,KAAK,CAACv6D,KAAN;AACH;;AACD,gBAAI2oC,GAAG,YAAYhR,0DAAnB,EAA8B;AAC1BgR,cAAAA,GAAG,CAAC4zB,gBAAJ,CAAqB,KAAKlhC,aAA1B;AACH;;AACD,iBAAKlB,cAAL,CAAoB8C,wBAApB,CAA6C,KAA7C;AACA,iBAAK/C,YAAL,CAAkBnxB,SAAlB,CAA4BwvB,yEAA5B,EAAsD7Q,6EAAtD,EAA6E,IAA7E,EAAmFihB,GAAnF;AACA,iBAAKzO,YAAL,CAAkBnxB,SAAlB,CAA4BwvB,qEAA5B,EAAkD7Q,6EAAlD;AACAozC,YAAAA,sBAAsB,CAAC0B,kBAAvB,CAA0C7zB,GAA1C;AACA,kBAAMA,GAAN;;AACJ,eAAK,CAAL;AACI,iBAAKzO,YAAL,CAAkBnxB,SAAlB,CAA4BwvB,qEAA5B,EAAkD7Q,6EAAlD;AACA,mBAAO,CAAC;AAAE;AAAH,aAAP;AAvDR;AAyDH,OA1DiB,CAAlB;AA2DH,KA7De,CAAhB;AA8DH,GA/DD;AAgEA;AACJ;AACA;AACA;;;AACI+Q,EAAAA,WAAW,CAAC9D,SAAZ,CAAsBonC,mBAAtB,GAA4C,UAAUiB,UAAV,EAAsBt8D,MAAtB,EAA8B;AACtE;AACA,QAAI,CAAConB,oEAAA,CAAoBk1C,UAApB,CAAL,EAAsC;AAClC,WAAK3yC,MAAL,CAAY+E,OAAZ,CAAoB,kBAAkB4tC,UAAtC,EADkC,CAElC;;AACA,aAAO,KAAKH,SAAL,CAAeG,UAAf,EAA2Bt8D,MAA3B,CAAP;AACH,KAJD,MAKK;AACD;AACA,WAAK2pB,MAAL,CAAYtpB,KAAZ,CAAkB,uBAAlB;AACA,YAAMo4B,sGAAA,EAAN;AACH;AACJ,GAZD;AAaA;AACJ;AACA;AACA;AACA;;;AACIV,EAAAA,WAAW,CAAC9D,SAAZ,CAAsBsnC,mBAAtB,GAA4C,UAAUb,WAAV,EAAuB;AAC/D,QAAI7/B,KAAK,GAAG,IAAZ;;AACA,WAAO,IAAIrH,OAAJ,CAAY,UAAUC,OAAV,EAAmB0B,MAAnB,EAA2B;AAC1C;AACZ;AACA;AACA;AACY,UAAIonC,QAAQ,GAAG1hC,KAAK,CAACnxC,MAAN,CAAa27B,MAAb,CAAoBu5B,iBAApB,GAAwC/jB,KAAK,CAACnxC,MAAN,CAAa27B,MAAb,CAAoB65B,wBAA3E;AACA,UAAIsd,KAAK,GAAG,CAAZ;;AACA3hC,MAAAA,KAAK,CAAClR,MAAN,CAAae,OAAb,CAAqB,oDAArB;;AACA,UAAI+xC,UAAU,GAAGC,WAAW,CAAC,YAAY;AACrC;AACA,YAAIhC,WAAW,CAACiC,MAAhB,EAAwB;AACpB9hC,UAAAA,KAAK,CAAClR,MAAN,CAAatpB,KAAb,CAAmB,kDAAnB;;AACAw6B,UAAAA,KAAK,CAAC+hC,UAAN;;AACAC,UAAAA,aAAa,CAACJ,UAAD,CAAb;AACAtnC,UAAAA,MAAM,CAACsD,iGAAA,EAAD,CAAN;AACA;AACH;;AACD,YAAI3f,IAAI,GAAGge,sEAAX;AACA,YAAIxO,IAAI,GAAGwO,sEAAX;;AACA,YAAI;AACA;AACpB;AACA;AACA;AACA;AACoBhe,UAAAA,IAAI,GAAG4hD,WAAW,CAACtxD,QAAZ,CAAqB0P,IAA5B;AACAwP,UAAAA,IAAI,GAAGoyC,WAAW,CAACtxD,QAAZ,CAAqBkf,IAA5B;AACH,SARD,CASA,OAAOqM,CAAP,EAAU,CAAG,CApBwB,CAqBrC;;;AACA,YAAIvN,oEAAA,CAAoBtO,IAApB,KAA6BA,IAAI,KAAK,aAA1C,EAAyD;AACrD;AACH;;AACD+hB,QAAAA,KAAK,CAAClR,MAAN,CAAae,OAAb,CAAqB,6EAArB;AACA;AAChB;AACA;AACA;;;AACgB8xC,QAAAA,KAAK;;AACL,YAAIl0C,IAAJ,EAAU;AACNuS,UAAAA,KAAK,CAAClR,MAAN,CAAae,OAAb,CAAqB,sDAArB;;AACAmyC,UAAAA,aAAa,CAACJ,UAAD,CAAb;;AACA5hC,UAAAA,KAAK,CAAC+hC,UAAN,CAAiBlC,WAAjB;;AACA,cAAIxzC,qFAAA,CAAsCoB,IAAtC,CAAJ,EAAiD;AAC7CuS,YAAAA,KAAK,CAAClR,MAAN,CAAae,OAAb,CAAqB,+EAArB;;AACA+I,YAAAA,OAAO,CAACnL,IAAD,CAAP;AACH,WAHD,MAIK;AACDuS,YAAAA,KAAK,CAAClR,MAAN,CAAatpB,KAAb,CAAmB,6JAAnB;;AACAw6B,YAAAA,KAAK,CAAClR,MAAN,CAAagE,QAAb,CAAsB,oDAAoDrF,IAA1E;;AACA6M,YAAAA,MAAM,CAACsD,qHAAA,EAAD,CAAN;AACH;AACJ,SAbD,MAcK,IAAI+jC,KAAK,GAAGD,QAAZ,EAAsB;AACvB1hC,UAAAA,KAAK,CAAClR,MAAN,CAAatpB,KAAb,CAAmB,2EAAnB;;AACAw8D,UAAAA,aAAa,CAACJ,UAAD,CAAb;AACAtnC,UAAAA,MAAM,CAACsD,uGAAA,EAAD,CAAN;AACH;AACJ,OAlD2B,EAkDzBoC,KAAK,CAACnxC,MAAN,CAAa27B,MAAb,CAAoB65B,wBAlDK,CAA5B;AAmDH,KA3DM,CAAP;AA4DH,GA9DD;AA+DA;AACJ;AACA;AACA;AACA;;;AACInnB,EAAAA,WAAW,CAAC9D,SAAZ,CAAsBmoC,kBAAtB,GAA2C,UAAU1B,WAAV,EAAuB;AAC9D,QAAI7/B,KAAK,GAAG,IAAZ;;AACA,WAAO,IAAIrH,OAAJ,CAAY,UAAUC,OAAV,EAAmB;AAClCoH,MAAAA,KAAK,CAAClR,MAAN,CAAae,OAAb,CAAqB,mDAArB;;AACA,UAAI+xC,UAAU,GAAGC,WAAW,CAAC,YAAY;AACrC;AACA,YAAIhC,WAAW,CAACiC,MAAhB,EAAwB;AACpB9hC,UAAAA,KAAK,CAAClR,MAAN,CAAatpB,KAAb,CAAmB,iDAAnB;;AACAw6B,UAAAA,KAAK,CAAC+hC,UAAN;;AACAC,UAAAA,aAAa,CAACJ,UAAD,CAAb;AACAhpC,UAAAA,OAAO;AACV;;AACD,YAAI3a,IAAI,GAAGge,sEAAX;;AACA,YAAI;AACA;AACpB;AACA;AACA;AACA;AACoBhe,UAAAA,IAAI,GAAG4hD,WAAW,CAACtxD,QAAZ,CAAqB0P,IAA5B;AACH,SAPD,CAQA,OAAO6b,CAAP,EAAU,CAAG,CAjBwB,CAkBrC;;;AACA,YAAIvN,oEAAA,CAAoBtO,IAApB,KAA6BA,IAAI,KAAK,aAA1C,EAAyD;AACrD;AACH;;AACD+hB,QAAAA,KAAK,CAAClR,MAAN,CAAae,OAAb,CAAqB,sFAArB;;AACAmyC,QAAAA,aAAa,CAACJ,UAAD,CAAb;;AACA5hC,QAAAA,KAAK,CAAC+hC,UAAN,CAAiBlC,WAAjB;;AACAjnC,QAAAA,OAAO;AACV,OA1B2B,EA0BzBoH,KAAK,CAACnxC,MAAN,CAAa27B,MAAb,CAAoB65B,wBA1BK,CAA5B;AA2BH,KA7BM,CAAP;AA8BH,GAhCD;AAiCA;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACInnB,EAAAA,WAAW,CAAC9D,SAAZ,CAAsBkoC,SAAtB,GAAkC,UAAUW,WAAV,EAAuBC,WAAvB,EAAoC;AAClE,QAAI;AACA,UAAIrC,WAAW,GAAG,KAAK,CAAvB,CADA,CAEA;;AACA,UAAIqC,WAAW,CAAClD,KAAhB,EAAuB;AACnBa,QAAAA,WAAW,GAAGqC,WAAW,CAAClD,KAA1B;AACA,aAAKlwC,MAAL,CAAYsJ,UAAZ,CAAuB,iCAAiC6pC,WAAxD;AACApC,QAAAA,WAAW,CAACtxD,QAAZ,CAAqBgjB,MAArB,CAA4B0wC,WAA5B;AACH,OAJD,MAKK,IAAI,OAAOC,WAAW,CAAClD,KAAnB,KAA6B,WAAjC,EAA8C;AAC/C;AACA,aAAKlwC,MAAL,CAAYsJ,UAAZ,CAAuB,8BAA8B6pC,WAArD;AACApC,QAAAA,WAAW,GAAG,KAAKZ,cAAL,CAAoBgD,WAApB,EAAiCC,WAAW,CAACtD,SAA7C,EAAwDsD,WAAW,CAACpD,qBAApE,CAAd;AACH,OAZD,CAaA;;;AACA,UAAI,CAACe,WAAL,EAAkB;AACd,cAAMjiC,sGAAA,EAAN;AACH;;AACD,UAAIiiC,WAAW,CAACsC,KAAhB,EAAuB;AACnBtC,QAAAA,WAAW,CAACsC,KAAZ;AACH;;AACD,WAAKC,aAAL,GAAqBvC,WAArB;AACAvxD,MAAAA,MAAM,CAAC48B,gBAAP,CAAwB,cAAxB,EAAwC,KAAKwzB,YAA7C;AACA,aAAOmB,WAAP;AACH,KAvBD,CAwBA,OAAO/lC,CAAP,EAAU;AACN,WAAKhL,MAAL,CAAYtpB,KAAZ,CAAkB,yBAAyBs0B,CAAC,CAAC9oC,OAA7C;AACA,WAAK4tC,cAAL,CAAoB8C,wBAApB,CAA6C,KAA7C;AACA,YAAM9D,+FAAA,CAAwC9D,CAAC,CAACuS,QAAF,EAAxC,CAAN;AACH;AACJ,GA9BD;AA+BA;AACJ;AACA;AACA;AACA;AACA;AACA;;;AACInP,EAAAA,WAAW,CAAC9D,SAAZ,CAAsB6lC,cAAtB,GAAuC,UAAUgD,WAAV,EAAuBrD,SAAvB,EAAkCE,qBAAlC,EAAyD;AAC5F,QAAI5/B,EAAJ,EAAQE,EAAR,EAAY+hB,EAAZ,EAAgBkhB,EAAhB;AACA;AACR;AACA;AACA;;;AACQ,QAAIC,OAAO,GAAGh0D,MAAM,CAACi0D,UAAP,GAAoBj0D,MAAM,CAACi0D,UAA3B,GAAwCj0D,MAAM,CAACk0D,OAA7D;AACA,QAAIC,MAAM,GAAGn0D,MAAM,CAACo0D,SAAP,GAAmBp0D,MAAM,CAACo0D,SAA1B,GAAsCp0D,MAAM,CAACq0D,OAA1D;AACA;AACR;AACA;AACA;;AACQ,QAAIC,QAAQ,GAAGt0D,MAAM,CAACu0D,UAAP,IAAqBhyC,QAAQ,CAACiyC,eAAT,CAAyBC,WAA9C,IAA6DlyC,QAAQ,CAACrqB,IAAT,CAAcu8D,WAA1F;AACA,QAAIC,SAAS,GAAG10D,MAAM,CAAC20D,WAAP,IAAsBpyC,QAAQ,CAACiyC,eAAT,CAAyBrqD,YAA/C,IAA+DoY,QAAQ,CAACrqB,IAAT,CAAciS,YAA7F;AACA,QAAIyqD,KAAK,GAAG,CAAChkC,EAAE,GAAG4/B,qBAAqB,CAACqE,SAA5B,MAA2C,IAA3C,IAAmDjkC,EAAE,KAAK,KAAK,CAA/D,GAAmE,KAAK,CAAxE,GAA4EA,EAAE,CAACgkC,KAA3F;AACA,QAAIE,MAAM,GAAG,CAAChkC,EAAE,GAAG0/B,qBAAqB,CAACqE,SAA5B,MAA2C,IAA3C,IAAmD/jC,EAAE,KAAK,KAAK,CAA/D,GAAmE,KAAK,CAAxE,GAA4EA,EAAE,CAACgkC,MAA5F;AACA,QAAIC,GAAG,GAAG,CAACliB,EAAE,GAAG2d,qBAAqB,CAACwE,aAA5B,MAA+C,IAA/C,IAAuDniB,EAAE,KAAK,KAAK,CAAnE,GAAuE,KAAK,CAA5E,GAAgFA,EAAE,CAACkiB,GAA7F;AACA,QAAIE,IAAI,GAAG,CAAClB,EAAE,GAAGvD,qBAAqB,CAACwE,aAA5B,MAA+C,IAA/C,IAAuDjB,EAAE,KAAK,KAAK,CAAnE,GAAuE,KAAK,CAA5E,GAAgFA,EAAE,CAACkB,IAA9F;;AACA,QAAI,CAACL,KAAD,IAAUA,KAAK,GAAG,CAAlB,IAAuBA,KAAK,GAAGN,QAAnC,EAA6C;AACzC,WAAK9zC,MAAL,CAAYe,OAAZ,CAAoB,0EAApB;AACAqzC,MAAAA,KAAK,GAAGr7B,oFAAR;AACH;;AACD,QAAI,CAACu7B,MAAD,IAAWA,MAAM,GAAG,CAApB,IAAyBA,MAAM,GAAGJ,SAAtC,EAAiD;AAC7C,WAAKl0C,MAAL,CAAYe,OAAZ,CAAoB,4EAApB;AACAuzC,MAAAA,MAAM,GAAGv7B,qFAAT;AACH;;AACD,QAAI,CAACw7B,GAAD,IAAQA,GAAG,GAAG,CAAd,IAAmBA,GAAG,GAAGL,SAA7B,EAAwC;AACpC,WAAKl0C,MAAL,CAAYe,OAAZ,CAAoB,+EAApB;AACAwzC,MAAAA,GAAG,GAAGhY,IAAI,CAAC1qC,GAAL,CAAS,CAAT,EAAcqiD,SAAS,GAAG,CAAb,GAAmBn7B,qFAAA,GAAgC,CAApD,GAA0D46B,MAAtE,CAAN;AACH;;AACD,QAAI,CAACc,IAAD,IAASA,IAAI,GAAG,CAAhB,IAAqBA,IAAI,GAAGX,QAAhC,EAA0C;AACtC,WAAK9zC,MAAL,CAAYe,OAAZ,CAAoB,iFAApB;AACA0zC,MAAAA,IAAI,GAAGlY,IAAI,CAAC1qC,GAAL,CAAS,CAAT,EAAciiD,QAAQ,GAAG,CAAZ,GAAkB/6B,oFAAA,GAA+B,CAAlD,GAAwDy6B,OAApE,CAAP;AACH;;AACD,WAAOh0D,MAAM,CAAChP,IAAP,CAAY2iE,WAAZ,EAAyBrD,SAAzB,EAAoC,WAAWsE,KAAX,GAAmB,WAAnB,GAAiCE,MAAjC,GAA0C,QAA1C,GAAqDC,GAArD,GAA2D,SAA3D,GAAuEE,IAAvE,GAA8E,kBAAlH,CAAP;AACH,GAnCD;AAoCA;AACJ;AACA;;;AACIrmC,EAAAA,WAAW,CAAC9D,SAAZ,CAAsBslC,YAAtB,GAAqC,UAAU5kC,CAAV,EAAa;AAC9C,SAAK8E,cAAL,CAAoB2a,6BAApB,CAAkDptB,6EAAlD;;AACA,QAAI,KAAKi2C,aAAT,EAAwB;AACpB,WAAKA,aAAL,CAAmB39D,KAAnB;AACH,KAJ6C,CAK9C;;;AACAq1B,IAAAA,CAAC,CAAC4pC,cAAF;AACH,GAPD;AAQA;AACJ;AACA;AACA;;;AACIxmC,EAAAA,WAAW,CAAC9D,SAAZ,CAAsB2oC,UAAtB,GAAmC,UAAUlC,WAAV,EAAuB;AACtD,QAAIA,WAAJ,EAAiB;AACb;AACAA,MAAAA,WAAW,CAACp7D,KAAZ;AACH,KAJqD,CAKtD;;;AACA6J,IAAAA,MAAM,CAACk9B,mBAAP,CAA2B,cAA3B,EAA2C,KAAKkzB,YAAhD,EANsD,CAOtD;;AACA,SAAK9/B,cAAL,CAAoB8C,wBAApB,CAA6C,KAA7C;AACH,GATD;AAUA;AACJ;AACA;AACA;AACA;;;AACIxE,EAAAA,WAAW,CAAC9D,SAAZ,CAAsBylC,iBAAtB,GAA0C,UAAU9zC,MAAV,EAAkBb,SAAlB,EAA6B;AACnE,WAAO2d,0FAAA,GAAqC,GAArC,GAA2C,KAAKh5C,MAAL,CAAYm7B,IAAZ,CAAiBC,QAA5D,GAAuE,GAAvE,GAA6Ec,MAAM,CAAC7uB,IAAP,CAAY,GAAZ,CAA7E,GAAgG,GAAhG,GAAsGguB,SAAtG,GAAkH,GAAlH,GAAwH,KAAK4V,aAApI;AACH,GAFD;AAGA;AACJ;AACA;AACA;AACA;;;AACI5C,EAAAA,WAAW,CAAC9D,SAAZ,CAAsBgmC,uBAAtB,GAAgD,UAAUpxC,OAAV,EAAmB;AAC/D,QAAI4X,aAAa,GAAG5X,OAAO,CAAC4D,OAAR,IAAmB5D,OAAO,CAAC4D,OAAR,CAAgBgU,aAAvD;AACA,WAAOiC,0FAAA,GAAqC,GAArC,GAA2C,KAAKh5C,MAAL,CAAYm7B,IAAZ,CAAiBC,QAA5D,GAAuE,GAAvE,GAA6E2b,aAA7E,GAA6F,GAA7F,GAAmG,KAAK9F,aAA/G;AACH,GAHD;;AAIA,SAAO5C,WAAP;AACH,CAregC,CAqe/BshC,qFAre+B,CAAjC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACjBA;AACa;;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;;AACA,IAAIrhC,cAAc;AAAG;AAAe,UAAUlF,MAAV,EAAkB;AAClDqB,EAAAA,4DAAS,CAAC6D,cAAD,EAAiBlF,MAAjB,CAAT;;AACA,WAASkF,cAAT,CAAwBtuC,MAAxB,EAAgCsoE,WAAhC,EAA6Cz4B,aAA7C,EAA4D5P,MAA5D,EAAoE6P,YAApE,EAAkFT,gBAAlF,EAAoGI,iBAApG,EAAuH66B,iBAAvH,EAA0I/B,oBAA1I,EAAgKt3B,aAAhK,EAA+K;AAC3K,QAAIE,KAAK,GAAG/H,MAAM,CAACK,IAAP,CAAY,IAAZ,EAAkBzpC,MAAlB,EAA0BsoE,WAA1B,EAAuCz4B,aAAvC,EAAsD5P,MAAtD,EAA8D6P,YAA9D,EAA4ET,gBAA5E,EAA8FI,iBAA9F,EAAiH84B,oBAAjH,EAAuIt3B,aAAvI,KAAyJ,IAArK;;AACAE,IAAAA,KAAK,CAAC2+B,aAAN,GAAsBxF,iBAAtB;AACA,WAAOn5B,KAAP;AACH;AACD;AACJ;AACA;AACA;;;AACI7C,EAAAA,cAAc,CAAC/D,SAAf,CAAyBqI,YAAzB,GAAwC,UAAUzT,OAAV,EAAmB;AACvD,WAAOjB,4DAAS,CAAC,IAAD,EAAO,KAAK,CAAZ,EAAe,KAAK,CAApB,EAAuB,YAAY;AAC/C,UAAI8V,YAAJ,EAAkB08B,sBAAlB,EAA0CsE,gBAA1C,EAA4DjqB,eAA5D,EAA6E4lB,UAA7E,EAAyFG,kBAAzF,EAA6GD,WAA7G,EAA0H7tC,iBAA1H,EAA6IsN,GAA7I;;AACA,UAAIa,KAAK,GAAG,IAAZ;;AACA,aAAOrF,8DAAW,CAAC,IAAD,EAAO,UAAUuE,EAAV,EAAc;AACnC,gBAAQA,EAAE,CAACrE,KAAX;AACI,eAAK,CAAL;AAAQ,mBAAO,CAAC;AAAE;AAAH,cAAc,KAAKqlC,8BAAL,CAAoClyC,OAApC,EAA6C7B,gFAA7C,CAAd,CAAP;;AACR,eAAK,CAAL;AACI0W,YAAAA,YAAY,GAAG3D,EAAE,CAACpE,IAAH,EAAf;AACA,iBAAK8D,cAAL,CAAoB2Z,kBAApB,CAAuC1V,YAAY,CAACj4B,KAApD,EAA2Di4B,YAAY,CAAC2V,KAAxE,EAA+E3V,YAAY,CAAC3Y,SAA5F,EAAuG2Y,YAAY,CAAC+D,SAAb,IAA0B3K,sEAAjI,EAAyJ4G,YAAY,CAACjR,OAAb,IAAwB,IAAjL;AACA2tC,YAAAA,sBAAsB,GAAG,KAAKnH,gCAAL,CAAsCv7B,kFAAtC,CAAzB;;AACAgnC,YAAAA,gBAAgB,GAAG,UAAUlpD,KAAV,EAAiB;AAChC;AACA,kBAAIA,KAAK,CAACmpD,SAAV,EAAqB;AACjB9jC,gBAAAA,KAAK,CAAClR,MAAN,CAAae,OAAb,CAAqB,sEAArB;;AACAmQ,gBAAAA,KAAK,CAACpB,cAAN,CAAqBya,mBAArB,CAAyCxW,YAAY,CAACj4B,KAAtD;AACH;AACJ,aAND;;AAOAs0B,YAAAA,EAAE,CAACrE,KAAH,GAAW,CAAX;;AACJ,eAAK,CAAL;AACIqE,YAAAA,EAAE,CAACnE,IAAH,CAAQ3F,IAAR,CAAa,CAAC,CAAD,EAAI,CAAJ,GAAS,CAAT,CAAb;;AACA,mBAAO,CAAC;AAAE;AAAH,cAAc,KAAK+qC,kCAAL,CAAwCt9B,YAAxC,CAAd,CAAP;;AACJ,eAAK,CAAL;AACI+W,YAAAA,eAAe,GAAG1a,EAAE,CAACpE,IAAH,EAAlB;AACA,mBAAO,CAAC;AAAE;AAAH,cAAc,KAAKslC,oBAAL,CAA0Bb,sBAA1B,EAAkD18B,YAAY,CAAC3Y,SAA/D,EAA0E2Y,YAAY,CAACsc,iBAAvF,CAAd,CAAP;;AACJ,eAAK,CAAL;AACIqgB,YAAAA,UAAU,GAAGtgC,EAAE,CAACpE,IAAH,EAAb;AACA,iBAAKhM,MAAL,CAAYe,OAAZ,CAAoB,0BAApB;AACA8vC,YAAAA,kBAAkB,GAAG,IAAIiE,oFAAJ,CAAoBpE,UAApB,EAAgC,KAAK5gC,cAArC,EAAqDgb,eAArD,EAAsE,KAAK9qB,MAA3E,EAAmF,KAAK4P,aAAxF,CAArB;AACA,mBAAO,CAAC;AAAE;AAAH,cAAc8gC,UAAU,CAACc,cAAX,CAA0B9mC,2DAAQ,CAACA,2DAAQ,CAAC,EAAD,EAAKqJ,YAAL,CAAT,EAA6B;AAAE09B,cAAAA,YAAY,EAAE/iC,gHAAA,CAAuC,KAAK3uC,MAA5C,EAAoD,KAAKigC,MAAzD,EAAiE,KAAKsoC,oBAAtE,EAA4FppC,OAAO,CAACuY,oBAApG;AAAhB,aAA7B,CAAlC,CAAd,CAAP;;AACJ,eAAK,CAAL;AACIm5B,YAAAA,WAAW,GAAGxgC,EAAE,CAACpE,IAAH,EAAd;AACAjJ,YAAAA,iBAAiB,GAAG,KAAKkyC,oBAAL,CAA0B/1C,OAAO,CAAC6D,iBAAlC,CAApB;AACA,iBAAK/C,MAAL,CAAYsJ,UAAZ,CAAuB,0BAA0BvG,iBAAjD,EAHJ,CAII;;AACAvjB,YAAAA,MAAM,CAAC48B,gBAAP,CAAwB,UAAxB,EAAoC24B,gBAApC;AACA,mBAAO,CAAC;AAAE;AAAH,cAAclE,kBAAkB,CAACa,mBAAnB,CAAuCd,WAAvC,EAAoD;AACjExhC,cAAAA,gBAAgB,EAAE,KAAKA,gBAD0C;AAEjE8lC,cAAAA,eAAe,EAAE,KAAKn1E,MAAL,CAAY27B,MAAZ,CAAmB25B,yBAF6B;AAGjEtyB,cAAAA,iBAAiB,EAAEA,iBAH8C;AAIjEoyC,cAAAA,kBAAkB,EAAEj2C,OAAO,CAACi2C;AAJqC,aAApD,CAAd,CAAP;;AAMJ,eAAK,CAAL;AACA;AACA,mBAAO,CAAC;AAAE;AAAH,cAAe/kC,EAAE,CAACpE,IAAH,EAAf,CAAP;;AACA,eAAK,CAAL;AACIqE,YAAAA,GAAG,GAAGD,EAAE,CAACpE,IAAH,EAAN;;AACA,gBAAIqE,GAAG,YAAY/C,yDAAnB,EAA8B;AAC1B+C,cAAAA,GAAG,CAAC6hC,gBAAJ,CAAqB,KAAKlhC,aAA1B;AACH;;AACDxxB,YAAAA,MAAM,CAACk9B,mBAAP,CAA2B,UAA3B,EAAuCq4B,gBAAvC;AACAtE,YAAAA,sBAAsB,CAAC0B,kBAAvB,CAA0C9hC,GAA1C;AACA,iBAAKP,cAAL,CAAoBya,mBAApB,CAAwCxW,YAAY,CAACj4B,KAArD;AACA,kBAAMu0B,GAAN;;AACJ,eAAK,CAAL;AAAQ,mBAAO,CAAC;AAAE;AAAH,aAAP;AAjDZ;AAmDH,OApDiB,CAAlB;AAqDH,KAxDe,CAAhB;AAyDH,GA1DD;AA2DA;AACJ;AACA;AACA;AACA;AACA;;;AACIhC,EAAAA,cAAc,CAAC/D,SAAf,CAAyB/K,qBAAzB,GAAiD,UAAUZ,IAAV,EAAgB;AAC7D,WAAOV,4DAAS,CAAC,IAAD,EAAO,KAAK,CAAZ,EAAe,KAAK,CAApB,EAAuB,YAAY;AAC/C,UAAIwyC,sBAAJ,EAA4B2E,YAA5B,EAA0Ct5D,KAA1C,EAAiDk1D,YAAjD,EAA+DqE,eAA/D,EAAgFC,yBAAhF,EAA2GC,oBAA3G,EAAiIC,gBAAjI,EAAmJjK,iBAAnJ,EAAsKkK,qBAAtK,EAA6LC,QAA7L,EAAuMp3B,GAAvM;AACA,aAAOzS,8DAAW,CAAC,IAAD,EAAO,UAAUuE,EAAV,EAAc;AACnC,gBAAQA,EAAE,CAACrE,KAAX;AACI,eAAK,CAAL;AACI0kC,YAAAA,sBAAsB,GAAG,KAAKnH,gCAAL,CAAsCv7B,mFAAtC,CAAzB;AACAqC,YAAAA,EAAE,CAACrE,KAAH,GAAW,CAAX;;AACJ,eAAK,CAAL;AACIqE,YAAAA,EAAE,CAACnE,IAAH,CAAQ3F,IAAR,CAAa,CAAC,CAAD,EAAI,EAAJ,GAAU,EAAV,CAAb;;AACA,gBAAI,CAAC,KAAKwJ,cAAL,CAAoB4b,uBAApB,CAA4C,IAA5C,CAAL,EAAwD;AACpD,mBAAK1rB,MAAL,CAAY3Z,IAAZ,CAAiB,uFAAjB;AACA,qBAAO,CAAC;AAAE;AAAH,gBAAe,IAAf,CAAP;AACH;;AACD+uD,YAAAA,YAAY,GAAG,KAAKO,uBAAL,CAA6Bh3C,IAAI,IAAInf,MAAM,CAACC,QAAP,CAAgBkf,IAArD,CAAf;;AACA,gBAAI,CAACy2C,YAAL,EAAmB;AACf;AACA,mBAAKp1C,MAAL,CAAY3Z,IAAZ,CAAiB,2GAAjB;AACA,mBAAKypB,cAAL,CAAoB2a,6BAApB,CAAkDptB,gFAAlD;AACA,qBAAO,CAAC;AAAE;AAAH,gBAAe,IAAf,CAAP;AACH;;AACDvhB,YAAAA,KAAK,GAAG,KAAK,CAAb;;AACA,gBAAI;AACAk1D,cAAAA,YAAY,GAAGzzC,6EAAA,CAA8B63C,YAA9B,CAAf;AACAt5D,cAAAA,KAAK,GAAG,KAAKg2D,+BAAL,CAAqCd,YAArC,EAAmD3zC,gFAAnD,CAAR;AACA,mBAAK2C,MAAL,CAAYe,OAAZ,CAAoB,2BAApB;AACH,aAJD,CAKA,OAAOiK,CAAP,EAAU;AACN,mBAAKhL,MAAL,CAAY3Z,IAAZ,CAAiB,+DAA+D2kB,CAAhF;AACA,mBAAK8E,cAAL,CAAoB2a,6BAApB,CAAkDptB,gFAAlD;AACA,qBAAO,CAAC;AAAE;AAAH,gBAAe,IAAf,CAAP;AACH;;AACDg4C,YAAAA,eAAe,GAAG,KAAKvlC,cAAL,CAAoB2B,iBAApB,CAAsCzD,qFAAtC,EAAqE,IAArE,KAA8Eb,sEAAhG;AACAmoC,YAAAA,yBAAyB,GAAG/3C,2EAAA,CAA4B83C,eAA5B,CAA5B;AACAE,YAAAA,oBAAoB,GAAGh4C,2EAAA,CAA4B/d,MAAM,CAACC,QAAP,CAAgB0P,IAA5C,CAAvB;AACA,gBAAI,EAAEmmD,yBAAyB,KAAKC,oBAA9B,IAAsD,KAAKx1E,MAAL,CAAYm7B,IAAZ,CAAiBm5B,yBAAzE,CAAJ,EAAyG,OAAO,CAAC;AAAE;AAAH,cAAc,CAAd,CAAP,CA3B7G,CA4BI;;AACA,iBAAKr0B,MAAL,CAAYe,OAAZ,CAAoB,gDAApB;AACA,mBAAO,CAAC;AAAE;AAAH,cAAc,KAAK80C,UAAL,CAAgBT,YAAhB,EAA8Bt5D,KAA9B,EAAqC20D,sBAArC,CAAd,CAAP;;AACJ,eAAK,CAAL;AACI+E,YAAAA,gBAAgB,GAAGplC,EAAE,CAACpE,IAAH,EAAnB;;AACA,gBAAIqpC,eAAe,CAAC58D,OAAhB,CAAwB,GAAxB,IAA+B,CAAC,CAApC,EAAuC;AACnC;AACA+kB,cAAAA,4EAAA,CAAyB63C,eAAzB;AACH;;AACD,mBAAO,CAAC;AAAE;AAAH,cAAeG,gBAAf,CAAP;;AACJ,eAAK,CAAL;AACI,gBAAI,CAAC,CAAC,KAAKz1E,MAAL,CAAYm7B,IAAZ,CAAiBm5B,yBAAvB,EAAkD,OAAO,CAAC;AAAE;AAAH,cAAc,CAAd,CAAP;AAClD,iBAAKr0B,MAAL,CAAYe,OAAZ,CAAoB,uDAApB;AACA,mBAAO,CAAC;AAAE;AAAH,cAAe,KAAK80C,UAAL,CAAgBT,YAAhB,EAA8Bt5D,KAA9B,EAAqC20D,sBAArC,CAAf,CAAP;;AACJ,eAAK,CAAL;AACI,gBAAI,EAAE,CAACjzC,2EAAA,EAAD,IAA8B,KAAKz9B,MAAL,CAAY27B,MAAZ,CAAmB2H,qBAAnD,CAAJ,EAA+E,OAAO,CAAC;AAAE;AAAH,cAAc,CAAd,CAAP;AAC/E;AACxB;AACA;AACA;;AACwB,iBAAKyM,cAAL,CAAoBkS,iBAApB,CAAsChU,mFAAtC,EAAmEonC,YAAnE,EAAiF,IAAjF;AACA7J,YAAAA,iBAAiB,GAAG;AAChBh0B,cAAAA,KAAK,EAAExJ,mFADS;AAEhBy9B,cAAAA,OAAO,EAAE,KAAKzrE,MAAL,CAAY27B,MAAZ,CAAmB25B,yBAFZ;AAGhB9rB,cAAAA,SAAS,EAAE;AAHK,aAApB;AAKAksC,YAAAA,qBAAqB,GAAG,IAAxB;AACA,gBAAI,EAAE,CAACJ,eAAD,IAAoBA,eAAe,KAAK,MAA1C,CAAJ,EAAuD,OAAO,CAAC;AAAE;AAAH,cAAc,CAAd,CAAP;AACvDK,YAAAA,QAAQ,GAAGl4C,4EAAA,EAAX,CAdJ,CAeI;;AACA,iBAAKsS,cAAL,CAAoBkS,iBAApB,CAAsChU,qFAAtC,EAAqE0nC,QAArE,EAA+E,IAA/E;AACA,iBAAK11C,MAAL,CAAYsD,OAAZ,CAAoB,4EAApB;AACA,mBAAO,CAAC;AAAE;AAAH,cAAc,KAAK8L,gBAAL,CAAsBlG,gBAAtB,CAAuCwsC,QAAvC,EAAiDnK,iBAAjD,CAAd,CAAP;;AACJ,eAAK,CAAL;AACIkK,YAAAA,qBAAqB,GAAGrlC,EAAE,CAACpE,IAAH,EAAxB;AACA,mBAAO,CAAC;AAAE;AAAH,cAAc,CAAd,CAAP;;AACJ,eAAK,CAAL;AACI;AACA,iBAAKhM,MAAL,CAAYe,OAAZ,CAAoB,oCAAoCs0C,eAAxD;AACA,mBAAO,CAAC;AAAE;AAAH,cAAc,KAAKjmC,gBAAL,CAAsBlG,gBAAtB,CAAuCmsC,eAAvC,EAAwD9J,iBAAxD,CAAd,CAAP;;AACJ,eAAK,CAAL;AACIkK,YAAAA,qBAAqB,GAAGrlC,EAAE,CAACpE,IAAH,EAAxB;AACAoE,YAAAA,EAAE,CAACrE,KAAH,GAAW,CAAX;;AACJ,eAAK,CAAL;AACI;AACA,gBAAI,CAAC0pC,qBAAL,EAA4B;AACxB,qBAAO,CAAC;AAAE;AAAH,gBAAe,KAAKI,UAAL,CAAgBT,YAAhB,EAA8Bt5D,KAA9B,EAAqC20D,sBAArC,CAAf,CAAP;AACH;;AACDrgC,YAAAA,EAAE,CAACrE,KAAH,GAAW,CAAX;;AACJ,eAAK,CAAL;AAAQ,mBAAO,CAAC;AAAE;AAAH,cAAe,IAAf,CAAP;;AACR,eAAK,EAAL;AACIuS,YAAAA,GAAG,GAAGlO,EAAE,CAACpE,IAAH,EAAN;;AACA,gBAAIsS,GAAG,YAAYhR,yDAAnB,EAA8B;AAC1BgR,cAAAA,GAAG,CAAC4zB,gBAAJ,CAAqB,KAAKlhC,aAA1B;AACH;;AACDy/B,YAAAA,sBAAsB,CAAC0B,kBAAvB,CAA0C7zB,GAA1C;AACA,iBAAKxO,cAAL,CAAoB2a,6BAApB,CAAkDptB,gFAAlD;AACA,kBAAMihB,GAAN;;AACJ,eAAK,EAAL;AAAS,mBAAO,CAAC;AAAE;AAAH,aAAP;AA1Fb;AA4FH,OA7FiB,CAAlB;AA8FH,KAhGe,CAAhB;AAiGH,GAlGD;AAmGA;AACJ;AACA;AACA;AACA;;;AACIjQ,EAAAA,cAAc,CAAC/D,SAAf,CAAyBqrC,uBAAzB,GAAmD,UAAUh3C,IAAV,EAAgB;AAC/D,SAAKqB,MAAL,CAAYe,OAAZ,CAAoB,gCAApB,EAD+D,CAE/D;;AACA,QAAIi1C,cAAc,GAAGz4C,qFAAA,CAAsCoB,IAAtC,CAArB;;AACA,QAAIq3C,cAAJ,EAAoB;AAChBx4C,MAAAA,0EAAA,CAAuBhe,MAAvB;AACA,WAAKwgB,MAAL,CAAYe,OAAZ,CAAoB,yDAApB;AACA,aAAOpC,IAAP;AACH;;AACD,QAAIu3C,UAAU,GAAG,KAAKpmC,cAAL,CAAoB2B,iBAApB,CAAsCzD,mFAAtC,EAAmE,IAAnE,CAAjB;AACA,SAAK8B,cAAL,CAAoByO,UAApB,CAA+B,KAAKzO,cAAL,CAAoBsV,gBAApB,CAAqCpX,mFAArC,CAA/B;AACA,SAAKhO,MAAL,CAAYe,OAAZ,CAAoB,+DAApB;AACA,WAAOm1C,UAAP;AACH,GAbD;AAcA;AACJ;AACA;AACA;AACA;;;AACI7nC,EAAAA,cAAc,CAAC/D,SAAf,CAAyBurC,UAAzB,GAAsC,UAAUl3C,IAAV,EAAgB7iB,KAAhB,EAAuB20D,sBAAvB,EAA+C;AACjF,WAAOxyC,4DAAS,CAAC,IAAD,EAAO,KAAK,CAAZ,EAAe,KAAK,CAApB,EAAuB,YAAY;AAC/C,UAAIwtB,aAAJ,EAAmBulB,YAAnB,EAAiCE,uBAAjC,EAA0DC,gBAA1D,EAA4EgF,gBAA5E,EAA8FzF,UAA9F,EAA0GG,kBAA1G;;AACA,UAAI3/B,KAAK,GAAG,IAAZ;;AACA,aAAOrF,8DAAW,CAAC,IAAD,EAAO,UAAUuE,EAAV,EAAc;AACnC,gBAAQA,EAAE,CAACrE,KAAX;AACI,eAAK,CAAL;AACI0f,YAAAA,aAAa,GAAG,KAAK3b,cAAL,CAAoBmb,gBAApB,CAAqCnvC,KAArC,EAA4C,KAAK8zB,aAAjD,CAAhB;AACA,iBAAK5P,MAAL,CAAYe,OAAZ,CAAoB,6CAApB;AACAiwC,YAAAA,YAAY,GAAGzzC,6EAAA,CAA8BoB,IAA9B,CAAf;;AACA,gBAAIqyC,YAAY,CAACx/B,SAAjB,EAA4B;AACxB,mBAAKxR,MAAL,CAAYe,OAAZ,CAAoB,iDAApB;;AACA,kBAAI,CAAC,KAAKunC,oBAAV,EAAgC;AAC5B,sBAAMx5B,kHAAA,EAAN;AACH;;AACDoiC,cAAAA,uBAAuB,GAAG,IAAIziC,gFAAJ,CAA4B,KAAK1uC,MAAjC,EAAyC,KAAK+vC,cAA9C,EAA8D,KAAKF,aAAnE,EAAkF,KAAK5P,MAAvF,EAA+F,KAAK6P,YAApG,EAAkH,KAAKT,gBAAvH,EAAyIrB,+EAAzI,EAAkK,KAAKyB,iBAAvK,EAA0L,KAAK84B,oBAA/L,EAAqN0I,YAAY,CAACx/B,SAAlO,EAA6O,KAAK1B,cAAlP,EAAkQ2b,aAAa,CAACza,aAAhR,CAA1B;AACAmgC,cAAAA,gBAAgB,GAAGrxB,gFAAA,CAAgC,KAAKlQ,aAArC,EAAoD9zB,KAApD,EAA2Dq1D,gBAA9E;AACA,qBAAO,CAAC;AAAE;AAAH,gBAAeD,uBAAuB,CAACv+B,YAAxB,CAAqCjI,2DAAQ,CAACA,2DAAQ,CAAC,EAAD,EAAK+gB,aAAL,CAAT,EAA8B;AAAE3vC,gBAAAA,KAAK,EAAEq1D,gBAAT;AAA2Bj9B,gBAAAA,MAAM,EAAExB,SAAnC,CAA6C;;AAA7C,eAA9B,CAA7C,EACbs/B,OADa,CACL,YAAY;AACrB9gC,gBAAAA,KAAK,CAACpB,cAAN,CAAqBya,mBAArB,CAAyCzuC,KAAzC;AACH,eAHiB,CAAf,CAAP;AAIH;;AACDq6D,YAAAA,gBAAgB,GAAG,KAAKrmC,cAAL,CAAoBuZ,kBAApB,CAAuCvtC,KAAvC,CAAnB;;AACA,gBAAI,CAACq6D,gBAAL,EAAuB;AACnB,oBAAMrnC,qGAAA,EAAN;AACH;;AACD,mBAAO,CAAC;AAAE;AAAH,cAAc,KAAKwiC,oBAAL,CAA0Bb,sBAA1B,EAAkD0F,gBAAlD,CAAd,CAAP;;AACJ,eAAK,CAAL;AACIzF,YAAAA,UAAU,GAAGtgC,EAAE,CAACpE,IAAH,EAAb;AACA,iBAAKhM,MAAL,CAAYe,OAAZ,CAAoB,0BAApB;AACA0uC,YAAAA,+EAAA,CAA+B,KAAK3/B,cAApC,EAAoD,KAAK/vC,MAAL,CAAYm7B,IAAZ,CAAiBC,QAArE,EAA+EswB,aAA/E;AACAolB,YAAAA,kBAAkB,GAAG,IAAIiE,oFAAJ,CAAoBpE,UAApB,EAAgC,KAAK5gC,cAArC,EAAqD2b,aAArD,EAAoE,KAAKzrB,MAAzE,EAAiF,KAAK4P,aAAtF,CAArB;AACA,mBAAO,CAAC;AAAE;AAAH,cAAcihC,kBAAkB,CAACoB,0BAAnB,CAA8CtzC,IAA9C,EAAoD7iB,KAApD,EAA2D40D,UAAU,CAACt1C,SAAtE,EAAiF,KAAK+T,aAAtF,CAAd,CAAP;;AACJ,eAAK,CAAL;AAAQ,mBAAO,CAAC;AAAE;AAAH,cAAeiB,EAAE,CAACpE,IAAH,EAAf,CAAP;AA5BZ;AA8BH,OA/BiB,CAAlB;AAgCH,KAnCe,CAAhB;AAoCH,GArCD;AAsCA;AACJ;AACA;AACA;AACA;;;AACIqC,EAAAA,cAAc,CAAC/D,SAAf,CAAyB5K,MAAzB,GAAkC,UAAUC,aAAV,EAAyB;AACvD,WAAO1B,4DAAS,CAAC,IAAD,EAAO,KAAK,CAAZ,EAAe,KAAK,CAApB,EAAuB,YAAY;AAC/C,UAAImyC,kBAAJ,EAAwBK,sBAAxB,EAAgDlF,iBAAhD,EAAmEmF,UAAnE,EAA+E0B,SAA/E,EAA0Fj2D,QAA1F,EAAoGqiC,GAApG;AACA,aAAO3S,8DAAW,CAAC,IAAD,EAAO,UAAUuE,EAAV,EAAc;AACnC,gBAAQA,EAAE,CAACrE,KAAX;AACI,eAAK,CAAL;AACI,iBAAK/L,MAAL,CAAYe,OAAZ,CAAoB,uBAApB;AACAqvC,YAAAA,kBAAkB,GAAG,KAAKC,uBAAL,CAA6B1wC,aAA7B,CAArB;AACA8wC,YAAAA,sBAAsB,GAAG,KAAKnH,gCAAL,CAAsCv7B,oEAAtC,CAAzB;AACAqC,YAAAA,EAAE,CAACrE,KAAH,GAAW,CAAX;;AACJ,eAAK,CAAL;AACIqE,YAAAA,EAAE,CAACnE,IAAH,CAAQ3F,IAAR,CAAa,CAAC,CAAD,EAAI,EAAJ,GAAU,EAAV,CAAb;;AACA,iBAAKuJ,YAAL,CAAkBnxB,SAAlB,CAA4BwvB,wEAA5B,EAAoD7Q,gFAApD,EAA8EsC,aAA9E,EAFJ,CAGI;;AACA,mBAAO,CAAC;AAAE;AAAH,cAAc,KAAK6oC,kBAAL,CAAwB4H,kBAAkB,CAACttC,OAA3C,CAAd,CAAP;;AACJ,eAAK,CAAL;AACI;AACAsN,YAAAA,EAAE,CAACpE,IAAH;;AACAu/B,YAAAA,iBAAiB,GAAG;AAChBh0B,cAAAA,KAAK,EAAExJ,oEADS;AAEhBy9B,cAAAA,OAAO,EAAE,KAAKzrE,MAAL,CAAY27B,MAAZ,CAAmB25B,yBAFZ;AAGhB9rB,cAAAA,SAAS,EAAE;AAHK,aAApB;AAKA,mBAAO,CAAC;AAAE;AAAH,cAAc,KAAK+nC,oBAAL,CAA0Bb,sBAA1B,EAAkD9wC,aAAa,IAAIA,aAAa,CAACvE,SAAjF,CAAd,CAAP;;AACJ,eAAK,CAAL;AACIs1C,YAAAA,UAAU,GAAGtgC,EAAE,CAACpE,IAAH,EAAb;AACA,iBAAKhM,MAAL,CAAYe,OAAZ,CAAoB,0BAApB;AACAqxC,YAAAA,SAAS,GAAG1B,UAAU,CAAC4B,YAAX,CAAwBlC,kBAAxB,CAAZ;AACA,iBAAKvgC,YAAL,CAAkBnxB,SAAlB,CAA4BwvB,0EAA5B,EAAsD7Q,gFAAtD,EAAgF+yC,kBAAhF;AACA,gBAAI,EAAEzwC,aAAa,IAAI,OAAOA,aAAa,CAACw1C,kBAArB,KAA4C,UAA/D,CAAJ,EAAgF,OAAO,CAAC;AAAE;AAAH,cAAc,CAAd,CAAP;AAChFh5D,YAAAA,QAAQ,GAAGwjB,aAAa,CAACw1C,kBAAd,CAAiC/C,SAAjC,CAAX;AACA,gBAAI,EAAEj2D,QAAQ,KAAK,KAAf,CAAJ,EAA2B,OAAO,CAAC;AAAE;AAAH,cAAc,CAAd,CAAP;AAC3B,iBAAK6jB,MAAL,CAAYe,OAAZ,CAAoB,4DAApB,EARJ,CASI;;AACA,gBAAI,CAAC,KAAK+O,cAAL,CAAoB8b,wBAApB,EAAL,EAAqD;AACjD,mBAAK9b,cAAL,CAAoB8C,wBAApB,CAA6C,IAA7C;AACH;;AACD,mBAAO,CAAC;AAAE;AAAH,cAAc,KAAKxD,gBAAL,CAAsBq8B,gBAAtB,CAAuC2G,SAAvC,EAAkD7G,iBAAlD,CAAd,CAAP;;AACJ,eAAK,CAAL;AACIn7B,YAAAA,EAAE,CAACpE,IAAH;;AACA,mBAAO,CAAC;AAAE;AAAH,aAAP;;AACJ,eAAK,CAAL;AACI;AACA,iBAAK8D,cAAL,CAAoB8C,wBAApB,CAA6C,KAA7C;AACA,iBAAK5S,MAAL,CAAYe,OAAZ,CAAoB,+DAApB;AACAqP,YAAAA,EAAE,CAACrE,KAAH,GAAW,CAAX;;AACJ,eAAK,CAAL;AAAQ,mBAAO,CAAC;AAAE;AAAH,cAAc,CAAd,CAAP;;AACR,eAAK,CAAL;AACI;AACA,gBAAI,CAAC,KAAK+D,cAAL,CAAoB8b,wBAApB,EAAL,EAAqD;AACjD,mBAAK9b,cAAL,CAAoB8C,wBAApB,CAA6C,IAA7C;AACH;;AACD,mBAAO,CAAC;AAAE;AAAH,cAAc,KAAKxD,gBAAL,CAAsBq8B,gBAAtB,CAAuC2G,SAAvC,EAAkD7G,iBAAlD,CAAd,CAAP;;AACJ,eAAK,CAAL;AACIn7B,YAAAA,EAAE,CAACpE,IAAH;;AACA,mBAAO,CAAC;AAAE;AAAH,aAAP;;AACJ,eAAK,CAAL;AAAQ,mBAAO,CAAC;AAAE;AAAH,cAAc,EAAd,CAAP;;AACR,eAAK,EAAL;AACIwS,YAAAA,GAAG,GAAGpO,EAAE,CAACpE,IAAH,EAAN;;AACA,gBAAIwS,GAAG,YAAYlR,yDAAnB,EAA8B;AAC1BkR,cAAAA,GAAG,CAAC0zB,gBAAJ,CAAqB,KAAKlhC,aAA1B;AACH;;AACDy/B,YAAAA,sBAAsB,CAAC0B,kBAAvB,CAA0C3zB,GAA1C;AACA,iBAAK3O,YAAL,CAAkBnxB,SAAlB,CAA4BwvB,0EAA5B,EAAsD7Q,gFAAtD,EAAgF,IAAhF,EAAsFmhB,GAAtF;AACA,iBAAK3O,YAAL,CAAkBnxB,SAAlB,CAA4BwvB,sEAA5B,EAAkD7Q,gFAAlD;AACA,kBAAMmhB,GAAN;;AACJ,eAAK,EAAL;AACI,iBAAK3O,YAAL,CAAkBnxB,SAAlB,CAA4BwvB,sEAA5B,EAAkD7Q,gFAAlD;AACA,mBAAO,CAAC;AAAE;AAAH,aAAP;AAhER;AAkEH,OAnEiB,CAAlB;AAoEH,KAtEe,CAAhB;AAuEH,GAxED;AAyEA;AACJ;AACA;AACA;;;AACIgR,EAAAA,cAAc,CAAC/D,SAAf,CAAyB2qC,oBAAzB,GAAgD,UAAUmB,gBAAV,EAA4B;AACxE,QAAIrzC,iBAAiB,GAAGqzC,gBAAgB,IAAI52D,MAAM,CAACC,QAAP,CAAgB0P,IAA5D;AACA,WAAOoO,wEAAA,CAAyBwF,iBAAzB,EAA4CvF,8EAAA,EAA5C,CAAP;AACH,GAHD;;AAIA,SAAO6Q,cAAP;AACH,CApUmC,CAoUlCqhC,qFApUkC,CAApC;;;;;;;;;;;;;;;;;;;;;;;;;ACjBA;AACa;;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;;AACA,IAAI7gC,oBAAoB;AAAG;AAAe,UAAU1F,MAAV,EAAkB;AACxDqB,EAAAA,4DAAS,CAACqE,oBAAD,EAAuB1F,MAAvB,CAAT;;AACA,WAAS0F,oBAAT,CAA8B9uC,MAA9B,EAAsCsoE,WAAtC,EAAmDz4B,aAAnD,EAAkE5P,MAAlE,EAA0E6P,YAA1E,EAAwFT,gBAAxF,EAA0GmI,KAA1G,EAAiH/H,iBAAjH,EAAoI84B,oBAApI,EAA0Jt3B,aAA1J,EAAyK;AACrK,QAAIE,KAAK,GAAG/H,MAAM,CAACK,IAAP,CAAY,IAAZ,EAAkBzpC,MAAlB,EAA0BsoE,WAA1B,EAAuCz4B,aAAvC,EAAsD5P,MAAtD,EAA8D6P,YAA9D,EAA4ET,gBAA5E,EAA8FI,iBAA9F,EAAiH84B,oBAAjH,EAAuIt3B,aAAvI,KAAyJ,IAArK;;AACAE,IAAAA,KAAK,CAACqG,KAAN,GAAcA,KAAd;AACA,WAAOrG,KAAP;AACH;AACD;AACJ;AACA;AACA;;;AACIrC,EAAAA,oBAAoB,CAACvE,SAArB,CAA+BqI,YAA/B,GAA8C,UAAUzT,OAAV,EAAmB;AAC7D,WAAOjB,4DAAS,CAAC,IAAD,EAAO,KAAK,CAAZ,EAAe,KAAK,CAApB,EAAuB,YAAY;AAC/C,UAAIoB,aAAJ,EAAmBoxC,sBAAnB,EAA2C3lB,eAA3C,EAA4DwrB,YAA5D,EAA0E5F,UAA1E,EAAsF6F,aAAtF,EAAqGlmC,GAArG;AACA,aAAOxE,8DAAW,CAAC,IAAD,EAAO,UAAUuE,EAAV,EAAc;AACnC,gBAAQA,EAAE,CAACrE,KAAX;AACI,eAAK,CAAL;AACI,iBAAK/L,MAAL,CAAYqJ,KAAZ,CAAkB,0CAAlB,EADJ,CAEI;;AACA,gBAAI,CAACnK,OAAO,CAACvoB,IAAb,EAAmB;AACf,oBAAMm4B,oGAAA,EAAN;AACH;;AACD,mBAAO,CAAC;AAAE;AAAH,cAAc,KAAKsiC,8BAAL,CAAoClyC,OAApC,EAA6C7B,8EAA7C,CAAd,CAAP;;AACJ,eAAK,CAAL;AACIgC,YAAAA,aAAa,GAAG+Q,EAAE,CAACpE,IAAH,EAAhB;AACA,iBAAK8D,cAAL,CAAoB2Z,kBAApB,CAAuCpqB,aAAa,CAACvjB,KAArD,EAA4DujB,aAAa,CAACqqB,KAA1E,EAAiFrqB,aAAa,CAACjE,SAA/F,EAA0GiE,aAAa,CAACyY,SAAd,IAA2B3K,sEAArI,EAA6J9N,aAAa,CAACyD,OAAd,IAAyB,IAAtL;AACA2tC,YAAAA,sBAAsB,GAAG,KAAKnH,gCAAL,CAAsC,KAAK/xB,KAA3C,CAAzB;AACAnH,YAAAA,EAAE,CAACrE,KAAH,GAAW,CAAX;;AACJ,eAAK,CAAL;AACIqE,YAAAA,EAAE,CAACnE,IAAH,CAAQ3F,IAAR,CAAa,CAAC,CAAD,EAAI,CAAJ,GAAS,CAAT,CAAb;;AACAwkB,YAAAA,eAAe,GAAGpgB,2DAAQ,CAACA,2DAAQ,CAAC,EAAD,EAAKrL,aAAL,CAAT,EAA8B;AAAE1oB,cAAAA,IAAI,EAAEuoB,OAAO,CAACvoB;AAAhB,aAA9B,CAA1B;AACA,mBAAO,CAAC;AAAE;AAAH,cAAc,KAAK6/D,sBAAL,CAA4B/F,sBAA5B,EAAoDpxC,aAAa,CAACjE,SAAlE,CAAd,CAAP;;AACJ,eAAK,CAAL;AACIk7C,YAAAA,YAAY,GAAGlmC,EAAE,CAACpE,IAAH,EAAf;AACA0kC,YAAAA,UAAU,GAAG,IAAI5G,kGAAJ,CAAqCwM,YAArC,CAAb;AACA,iBAAKt2C,MAAL,CAAYe,OAAZ,CAAoB,0BAApB;AACAw1C,YAAAA,aAAa,GAAG,IAAIF,gFAAJ,CAAkB3F,UAAlB,EAA8B,KAAK5gC,cAAnC,EAAmDgb,eAAnD,EAAoE,KAAK9qB,MAAzE,EAAiF,KAAKjgC,MAAL,CAAY27B,MAA7F,CAAhB,CAJJ,CAKI;;AACA,mBAAO,CAAC;AAAE;AAAH,cAAe66C,aAAa,CAACE,4BAAd,CAA2C;AACzD9/D,cAAAA,IAAI,EAAEuoB,OAAO,CAACvoB,IAD2C;AAEzD+/D,cAAAA,YAAY,EAAEx3C,OAAO,CAACm0B,WAFmC;AAGzDsjB,cAAAA,qBAAqB,EAAEz3C,OAAO,CAACk0B,kBAH0B;AAIzDwjB,cAAAA,wBAAwB,EAAE13C,OAAO,CAAC23C;AAJuB,aAA3C,EAKfx3C,aAAa,CAACvjB,KALC,EAKM40D,UAAU,CAACt1C,SALjB,EAK4B,KAAK+T,aALjC,EAKgD,KALhD,CAAf,CAAP;;AAMJ,eAAK,CAAL;AACIkB,YAAAA,GAAG,GAAGD,EAAE,CAACpE,IAAH,EAAN;;AACA,gBAAIqE,GAAG,YAAY/C,yDAAnB,EAA8B;AAC1B+C,cAAAA,GAAG,CAAC6hC,gBAAJ,CAAqB,KAAKlhC,aAA1B;AACH;;AACDy/B,YAAAA,sBAAsB,CAAC0B,kBAAvB,CAA0C9hC,GAA1C;AACA,iBAAKP,cAAL,CAAoBya,mBAApB,CAAwClrB,aAAa,CAACvjB,KAAtD;AACA,kBAAMu0B,GAAN;;AACJ,eAAK,CAAL;AAAQ,mBAAO,CAAC;AAAE;AAAH,aAAP;AArCZ;AAuCH,OAxCiB,CAAlB;AAyCH,KA3Ce,CAAhB;AA4CH,GA7CD;AA8CA;AACJ;AACA;;;AACIxB,EAAAA,oBAAoB,CAACvE,SAArB,CAA+B5K,MAA/B,GAAwC,YAAY;AAChD;AACA,WAAOmK,OAAO,CAAC2B,MAAR,CAAesD,2GAAA,EAAf,CAAP;AACH,GAHD;;AAIA,SAAOD,oBAAP;AACH,CAjEyC,CAiExC6gC,oFAjEwC,CAA1C;;;;;;;;;;;;;;;;;;;;;;;;ACdA;AACa;;AACb;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;;AACA,IAAI9gC,iBAAiB;AAAG;AAAe,UAAUzF,MAAV,EAAkB;AACrDqB,EAAAA,4DAAS,CAACoE,iBAAD,EAAoBzF,MAApB,CAAT;;AACA,WAASyF,iBAAT,GAA6B;AACzB,WAAOzF,MAAM,KAAK,IAAX,IAAmBA,MAAM,CAAC2B,KAAP,CAAa,IAAb,EAAmBD,SAAnB,CAAnB,IAAoD,IAA3D;AACH;AACD;AACJ;AACA;AACA;;;AACI+D,EAAAA,iBAAiB,CAACtE,SAAlB,CAA4BqI,YAA5B,GAA2C,UAAUtT,aAAV,EAAyB;AAChE,WAAOpB,4DAAS,CAAC,IAAD,EAAO,KAAK,CAAZ,EAAe,KAAK,CAApB,EAAuB,YAAY;AAC/C,UAAI84C,uBAAJ,EAA6BtG,sBAA7B,EAAqDuG,gBAArD,EAAuEC,WAAvE,EAAoFC,OAApF;AACA,aAAOrrC,8DAAW,CAAC,IAAD,EAAO,UAAUuE,EAAV,EAAc;AACnC,gBAAQA,EAAE,CAACrE,KAAX;AACI,eAAK,CAAL;AACIgrC,YAAAA,uBAAuB,GAAG,KAAKvnC,iBAAL,CAAuBsD,gBAAvB,CAAwCzF,+FAAxC,EAAyFhO,aAAa,CAAC2R,aAAvG,CAA1B;AACAy/B,YAAAA,sBAAsB,GAAG,KAAKnH,gCAAL,CAAsCv7B,2FAAtC,CAAzB;AACA,mBAAO,CAAC;AAAE;AAAH,cAAc,KAAKqpC,sBAAL,CAA4B3G,sBAA5B,EAAoDpxC,aAAa,CAACjE,SAAlE,EAA6EiE,aAAa,CAACgxB,iBAA3F,CAAd,CAAP;;AACJ,eAAK,CAAL;AACI2mB,YAAAA,gBAAgB,GAAG5mC,EAAE,CAACpE,IAAH,EAAnB;AACA,iBAAKhM,MAAL,CAAYe,OAAZ,CAAoB,4BAApB;AACAqP,YAAAA,EAAE,CAACrE,KAAH,GAAW,CAAX;;AACJ,eAAK,CAAL;AACIqE,YAAAA,EAAE,CAACnE,IAAH,CAAQ3F,IAAR,CAAa,CAAC,CAAD,EAAI,CAAJ,GAAS,CAAT,CAAb;;AACA,mBAAO,CAAC;AAAE;AAAH,cAAc0wC,gBAAgB,CAACK,kBAAjB,CAAoCh4C,aAApC,CAAd,CAAP;;AACJ,eAAK,CAAL;AACI43C,YAAAA,WAAW,GAAG7mC,EAAE,CAACpE,IAAH,EAAd;AACA+qC,YAAAA,uBAAuB,CAAC9jC,cAAxB,CAAuC;AACnCC,cAAAA,OAAO,EAAE,IAD0B;AAEnC6G,cAAAA,SAAS,EAAE;AAFwB,aAAvC;AAIA,mBAAO,CAAC;AAAE;AAAH,cAAek9B,WAAf,CAAP;;AACJ,eAAK,CAAL;AACIC,YAAAA,OAAO,GAAG9mC,EAAE,CAACpE,IAAH,EAAV;;AACA,gBAAIkrC,OAAO,YAAYpoC,wEAAnB,IAAuCooC,OAAO,CAACtjC,SAAR,KAAsBgK,gHAAjE,EAA2H;AACvH,mBAAK5d,MAAL,CAAYe,OAAZ,CAAoB,sHAApB;AACH;;AACDg2C,YAAAA,uBAAuB,CAAC9jC,cAAxB,CAAuC;AACnCW,cAAAA,SAAS,EAAEsjC,OAAO,YAAY5pC,yDAAnB,IAAgC4pC,OAAO,CAACtjC,SAAxC,IAAqDlB,SAD7B;AAEnCmB,cAAAA,YAAY,EAAEqjC,OAAO,YAAY5pC,yDAAnB,IAAgC4pC,OAAO,CAACpjC,QAAxC,IAAoDpB,SAF/B;AAGnCQ,cAAAA,OAAO,EAAE;AAH0B,aAAvC;AAKA,kBAAMgkC,OAAN;;AACJ,eAAK,CAAL;AAAQ,mBAAO,CAAC;AAAE;AAAH,aAAP;AA9BZ;AAgCH,OAjCiB,CAAlB;AAkCH,KApCe,CAAhB;AAqCH,GAtCD;AAuCA;AACJ;AACA;;;AACItoC,EAAAA,iBAAiB,CAACtE,SAAlB,CAA4B5K,MAA5B,GAAqC,YAAY;AAC7C;AACA,WAAOmK,OAAO,CAAC2B,MAAR,CAAesD,2GAAA,EAAf,CAAP;AACH,GAHD;AAIA;AACJ;AACA;AACA;AACA;;;AACIF,EAAAA,iBAAiB,CAACtE,SAAlB,CAA4B8sC,sBAA5B,GAAqD,UAAU3G,sBAAV,EAAkCtgB,YAAlC,EAAgDE,iBAAhD,EAAmE;AACpH,WAAOpyB,4DAAS,CAAC,IAAD,EAAO,KAAK,CAAZ,EAAe,KAAK,CAApB,EAAuB,YAAY;AAC/C,UAAIq4C,YAAJ;AACA,aAAOzqC,8DAAW,CAAC,IAAD,EAAO,UAAUuE,EAAV,EAAc;AACnC,gBAAQA,EAAE,CAACrE,KAAX;AACI,eAAK,CAAL;AAAQ,mBAAO,CAAC;AAAE;AAAH,cAAc,KAAKyqC,sBAAL,CAA4B/F,sBAA5B,EAAoDtgB,YAApD,EAAkEE,iBAAlE,CAAd,CAAP;;AACR,eAAK,CAAL;AACIimB,YAAAA,YAAY,GAAGlmC,EAAE,CAACpE,IAAH,EAAf;AACA,mBAAO,CAAC;AAAE;AAAH,cAAe,IAAI8qC,gEAAJ,CAAqBR,YAArB,EAAmC,KAAK9mC,iBAAxC,CAAf,CAAP;AAJR;AAMH,OAPiB,CAAlB;AAQH,KAVe,CAAhB;AAWH,GAZD;;AAaAZ,EAAAA,iBAAiB,CAACtE,SAAlB,CAA4B+P,uBAA5B,GAAsD,UAAUnb,OAAV,EAAmB4D,OAAnB,EAA4B;AAC9E,WAAO7E,4DAAS,CAAC,IAAD,EAAO,KAAK,CAAZ,EAAe,KAAK,CAApB,EAAuB,YAAY;AAC/C,UAAImS,EAAJ;;AACA,aAAOvE,8DAAW,CAAC,IAAD,EAAO,UAAUyE,EAAV,EAAc;AACnC,gBAAQA,EAAE,CAACvE,KAAX;AACI,eAAK,CAAL;AACIqE,YAAAA,EAAE,GAAG,CAAC1F,2DAAQ,CAAC,EAAD,EAAKxL,OAAL,CAAT,CAAL;AACA,mBAAO,CAAC;AAAE;AAAH,cAAc,KAAK0pC,qBAAL,CAA2B1pC,OAA3B,CAAd,CAAP;;AACJ,eAAK,CAAL;AAAQ,mBAAO,CAAC;AAAE;AAAH,cAAewL,6DAAA,CAAe,KAAK,CAApB,EAAuB,CAACA,6DAAA,CAAe,KAAK,CAApB,EAAuB0F,EAAE,CAACnD,MAAH,CAAU,CAACqD,EAAE,CAACtE,IAAH,EAAD,CAAV,CAAvB,CAAD,EAAiD;AAAElJ,cAAAA,OAAO,EAAEA,OAAX;AAAoBymC,cAAAA,YAAY,EAAErqC,OAAO,CAACqqC,YAAR,IAAwB;AAA1D,aAAjD,CAAvB,CAAf,CAAP;AAJZ;AAMH,OAPiB,CAAlB;AAQH,KAVe,CAAhB;AAWH,GAZD;;AAaA,SAAO36B,iBAAP;AACH,CAvFsC,CAuFrC8gC,oFAvFqC,CAAvC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACZA;AACa;;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;;AACA,IAAIphC,kBAAkB;AAAG;AAAe,UAAUnF,MAAV,EAAkB;AACtDqB,EAAAA,4DAAS,CAAC8D,kBAAD,EAAqBnF,MAArB,CAAT;;AACA,WAASmF,kBAAT,CAA4BvuC,MAA5B,EAAoCsoE,WAApC,EAAiDz4B,aAAjD,EAAgE5P,MAAhE,EAAwE6P,YAAxE,EAAsFT,gBAAtF,EAAwGmI,KAAxG,EAA+G/H,iBAA/G,EAAkI66B,iBAAlI,EAAqJ/B,oBAArJ,EAA2Kt3B,aAA3K,EAA0L;AACtL,QAAIE,KAAK,GAAG/H,MAAM,CAACK,IAAP,CAAY,IAAZ,EAAkBzpC,MAAlB,EAA0BsoE,WAA1B,EAAuCz4B,aAAvC,EAAsD5P,MAAtD,EAA8D6P,YAA9D,EAA4ET,gBAA5E,EAA8FI,iBAA9F,EAAiH84B,oBAAjH,EAAuIt3B,aAAvI,KAAyJ,IAArK;;AACAE,IAAAA,KAAK,CAACqG,KAAN,GAAcA,KAAd;AACArG,IAAAA,KAAK,CAAC2+B,aAAN,GAAsBxF,iBAAtB;AACA,WAAOn5B,KAAP;AACH;AACD;AACJ;AACA;AACA;;;AACI5C,EAAAA,kBAAkB,CAAChE,SAAnB,CAA6BqI,YAA7B,GAA4C,UAAUzT,OAAV,EAAmB;AAC3D,WAAOjB,4DAAS,CAAC,IAAD,EAAO,KAAK,CAAZ,EAAe,KAAK,CAApB,EAAuB,YAAY;AAC/C,UAAI84C,uBAAJ,EAA6B13C,aAA7B,EAA4CoxC,sBAA5C,EAAoEC,UAApE,EAAgFrgC,GAAhF;AACA,aAAOxE,8DAAW,CAAC,IAAD,EAAO,UAAUuE,EAAV,EAAc;AACnC,gBAAQA,EAAE,CAACrE,KAAX;AACI,eAAK,CAAL;AACI,iBAAK/L,MAAL,CAAYe,OAAZ,CAAoB,6BAApB;AACAg2C,YAAAA,uBAAuB,GAAG,KAAKvnC,iBAAL,CAAuBsD,gBAAvB,CAAwCzF,gGAAxC,EAA0FnO,OAAO,CAAC8R,aAAlG,CAA1B,CAFJ,CAGI;;AACA,gBAAIvT,mEAAA,CAAoByB,OAAO,CAAC4Y,SAA5B,KAA0Cra,mEAAA,CAAoByB,OAAO,CAAC6Y,GAA5B,CAA1C,KAA+E,CAAC7Y,OAAO,CAAC4D,OAAT,IAAoBrF,mEAAA,CAAoByB,OAAO,CAAC4D,OAAR,CAAgB8T,QAApC,CAAnG,CAAJ,EAAuJ;AACnJ,mBAAK5W,MAAL,CAAYsD,OAAZ,CAAoB,qGAApB;AACH,aANL,CAOI;;;AACA,gBAAIpE,OAAO,CAACgV,MAAR,IAAmBhV,OAAO,CAACgV,MAAR,KAAmB1G,gEAAtC,IAA4DtO,OAAO,CAACgV,MAAR,KAAmB1G,sEAAnF,EAA4G;AACxGupC,cAAAA,uBAAuB,CAAC9jC,cAAxB,CAAuC;AACnCC,gBAAAA,OAAO,EAAE;AAD0B,eAAvC;AAGA,oBAAMpE,qGAAA,CAA8C5P,OAAO,CAACgV,MAAtD,CAAN;AACH;;AACD,mBAAO,CAAC;AAAE;AAAH,cAAc,KAAKk9B,8BAAL,CAAoC1mC,2DAAQ,CAACA,2DAAQ,CAAC,EAAD,EAAKxL,OAAL,CAAT,EAAwB;AAAEgV,cAAAA,MAAM,EAAEhV,OAAO,CAACgV,MAAR,IAAkB1G,gEAAgBkK;AAA5C,aAAxB,CAA5C,EAAqHra,8EAArH,CAAd,CAAP;;AACJ,eAAK,CAAL;AACIgC,YAAAA,aAAa,GAAG+Q,EAAE,CAACpE,IAAH,EAAhB;AACA,iBAAK8D,cAAL,CAAoB2Z,kBAApB,CAAuCpqB,aAAa,CAACvjB,KAArD,EAA4DujB,aAAa,CAACqqB,KAA1E,EAAiFrqB,aAAa,CAACjE,SAA/F,EAA0GiE,aAAa,CAACyY,SAAd,IAA2B3K,sEAArI,EAA6J9N,aAAa,CAACyD,OAAd,IAAyB,IAAtL;AACA2tC,YAAAA,sBAAsB,GAAG,KAAKnH,gCAAL,CAAsC,KAAK/xB,KAA3C,CAAzB;AACAnH,YAAAA,EAAE,CAACrE,KAAH,GAAW,CAAX;;AACJ,eAAK,CAAL;AACIqE,YAAAA,EAAE,CAACnE,IAAH,CAAQ3F,IAAR,CAAa,CAAC,CAAD,EAAI,CAAJ,GAAS,CAAT,CAAb;;AACA,mBAAO,CAAC;AAAE;AAAH,cAAc,KAAKgrC,oBAAL,CAA0Bb,sBAA1B,EAAkDpxC,aAAa,CAACjE,SAAhE,EAA2EiE,aAAa,CAACgxB,iBAAzF,CAAd,CAAP;;AACJ,eAAK,CAAL;AACIqgB,YAAAA,UAAU,GAAGtgC,EAAE,CAACpE,IAAH,EAAb;AACA,iBAAKhM,MAAL,CAAYe,OAAZ,CAAoB,0BAApB;AACA,mBAAO,CAAC;AAAE;AAAH,cAAc,KAAKy2C,iBAAL,CAAuB9G,UAAvB,EAAmCrxC,aAAnC,EAAkDx3B,IAAlD,CAAuD,UAAUmK,MAAV,EAAkB;AACtF+kE,cAAAA,uBAAuB,CAAC9jC,cAAxB,CAAuC;AACnCC,gBAAAA,OAAO,EAAE,IAD0B;AAEnC6G,gBAAAA,SAAS,EAAE,KAFwB;AAGnC3G,gBAAAA,SAAS,EAAEphC,MAAM,CAACohC;AAHiB,eAAvC;AAKA,qBAAOphC,MAAP;AACH,aAPgB,CAAd,CAAP;;AAQJ,eAAK,CAAL;AAAQ,mBAAO,CAAC;AAAE;AAAH,cAAeo+B,EAAE,CAACpE,IAAH,EAAf,CAAP;;AACR,eAAK,CAAL;AACIqE,YAAAA,GAAG,GAAGD,EAAE,CAACpE,IAAH,EAAN;;AACA,gBAAIqE,GAAG,YAAY/C,yDAAnB,EAA8B;AAC1B+C,cAAAA,GAAG,CAAC6hC,gBAAJ,CAAqB,KAAKlhC,aAA1B;AACH;;AACDy/B,YAAAA,sBAAsB,CAAC0B,kBAAvB,CAA0C9hC,GAA1C;AACA,iBAAKP,cAAL,CAAoBya,mBAApB,CAAwClrB,aAAa,CAACvjB,KAAtD;AACAi7D,YAAAA,uBAAuB,CAAC9jC,cAAxB,CAAuC;AACnCW,cAAAA,SAAS,EAAEvD,GAAG,YAAY/C,yDAAf,IAA4B+C,GAAG,CAACuD,SAAhC,IAA6ClB,SADrB;AAEnCmB,cAAAA,YAAY,EAAExD,GAAG,YAAY/C,yDAAf,IAA4B+C,GAAG,CAACyD,QAAhC,IAA4CpB,SAFvB;AAGnCQ,cAAAA,OAAO,EAAE;AAH0B,aAAvC;AAKA,kBAAM7C,GAAN;;AACJ,eAAK,CAAL;AAAQ,mBAAO,CAAC;AAAE;AAAH,aAAP;AAjDZ;AAmDH,OApDiB,CAAlB;AAqDH,KAvDe,CAAhB;AAwDH,GAzDD;AA0DA;AACJ;AACA;;;AACI/B,EAAAA,kBAAkB,CAAChE,SAAnB,CAA6B5K,MAA7B,GAAsC,YAAY;AAC9C;AACA,WAAOmK,OAAO,CAAC2B,MAAR,CAAesD,2GAAA,EAAf,CAAP;AACH,GAHD;AAIA;AACJ;AACA;AACA;AACA;AACA;;;AACIR,EAAAA,kBAAkB,CAAChE,SAAnB,CAA6BktC,iBAA7B,GAAiD,UAAU9G,UAAV,EAAsBrxC,aAAtB,EAAqC;AAClF,WAAOpB,4DAAS,CAAC,IAAD,EAAO,KAAK,CAAZ,EAAe,KAAK,CAApB,EAAuB,YAAY;AAC/C,UAAI6sB,eAAJ,EAAqB8lB,WAArB,EAAkC2F,aAAlC,EAAiDkB,SAAjD,EAA4D94C,IAA5D,EAAkEqyC,YAAlE,EAAgFl1D,KAAhF,EAAuFo1D,uBAAvF,EAAgHC,gBAAhH;;AACA,UAAIjgC,KAAK,GAAG,IAAZ;;AACA,aAAOrF,8DAAW,CAAC,IAAD,EAAO,UAAUuE,EAAV,EAAc;AACnC,gBAAQA,EAAE,CAACrE,KAAX;AACI,eAAK,CAAL;AAAQ,mBAAO,CAAC;AAAE;AAAH,cAAc,KAAKslC,kCAAL,CAAwChyC,aAAxC,CAAd,CAAP;;AACR,eAAK,CAAL;AACIyrB,YAAAA,eAAe,GAAG1a,EAAE,CAACpE,IAAH,EAAlB;AACA,mBAAO,CAAC;AAAE;AAAH,cAAc0kC,UAAU,CAACc,cAAX,CAA0B9mC,2DAAQ,CAACA,2DAAQ,CAAC,EAAD,EAAKrL,aAAL,CAAT,EAA8B;AAAEoyC,cAAAA,YAAY,EAAE/iC,gHAAA,CAAuC,KAAK3uC,MAA5C,EAAoD,KAAKigC,MAAzD,EAAiE,KAAKsoC,oBAAtE,EAA4FjpC,aAAa,CAACoY,oBAA1G;AAAhB,aAA9B,CAAlC,CAAd,CAAP;;AACJ,eAAK,CAAL;AACIm5B,YAAAA,WAAW,GAAGxgC,EAAE,CAACpE,IAAH,EAAd;AACAuqC,YAAAA,aAAa,GAAG,IAAIF,gFAAJ,CAAkB3F,UAAlB,EAA8B,KAAK5gC,cAAnC,EAAmDgb,eAAnD,EAAoE,KAAK9qB,MAAzE,EAAiF,KAAKjgC,MAAL,CAAY27B,MAA7F,CAAhB;AACA,mBAAO,CAAC;AAAE;AAAH,cAAc66C,aAAa,CAAC7E,mBAAd,CAAkCd,WAAlC,CAAd,CAAP;;AACJ,eAAK,CAAL;AACI6G,YAAAA,SAAS,GAAGrnC,EAAE,CAACpE,IAAH,EAAZ;AACA,mBAAO,CAAC;AAAE;AAAH,cAAcuqC,aAAa,CAACmB,oBAAd,CAAmCD,SAAnC,EAA8C,KAAK13E,MAAL,CAAY27B,MAAZ,CAAmBw5B,iBAAjE,CAAd,CAAP;;AACJ,eAAK,CAAL;AACIv2B,YAAAA,IAAI,GAAGyR,EAAE,CAACpE,IAAH,EAAP;AACAglC,YAAAA,YAAY,GAAGzzC,6EAAA,CAA8BoB,IAA9B,CAAf;AACA7iB,YAAAA,KAAK,GAAG,KAAKg2D,+BAAL,CAAqCd,YAArC,EAAmD3zC,8EAAnD,EAA2EytB,eAAe,CAAC9Z,aAA3F,CAAR;;AACA,gBAAIggC,YAAY,CAACx/B,SAAjB,EAA4B;AACxB,mBAAKxR,MAAL,CAAYe,OAAZ,CAAoB,iDAApB;;AACA,kBAAI,CAAC,KAAKunC,oBAAV,EAAgC;AAC5B,sBAAMx5B,kHAAA,EAAN;AACH;;AACDoiC,cAAAA,uBAAuB,GAAG,IAAIziC,iFAAJ,CAA4B,KAAK1uC,MAAjC,EAAyC,KAAK+vC,cAA9C,EAA8D,KAAKF,aAAnE,EAAkF,KAAK5P,MAAvF,EAA+F,KAAK6P,YAApG,EAAkH,KAAKT,gBAAvH,EAAyI,KAAKmI,KAA9I,EAAqJ,KAAK/H,iBAA1J,EAA6K,KAAK84B,oBAAlL,EAAwM0I,YAAY,CAACx/B,SAArN,EAAgO,KAAK1B,cAArO,EAAqP,KAAKkB,aAA1P,CAA1B;AACAmgC,cAAAA,gBAAgB,GAAGrxB,gFAAA,CAAgC,KAAKlQ,aAArC,EAAoD9zB,KAApD,EAA2Dq1D,gBAA9E;AACA,qBAAO,CAAC;AAAE;AAAH,gBAAeD,uBAAuB,CAACv+B,YAAxB,CAAqCjI,2DAAQ,CAACA,2DAAQ,CAAC,EAAD,EAAKrL,aAAL,CAAT,EAA8B;AAAEvjB,gBAAAA,KAAK,EAAEq1D,gBAAT;AAA2Bj9B,gBAAAA,MAAM,EAAE7U,aAAa,CAAC6U,MAAd,IAAwB1G,gEAAgBkK;AAA3E,eAA9B,CAA7C,EAA2Js6B,OAA3J,CAAmK,YAAY;AAC7L9gC,gBAAAA,KAAK,CAACpB,cAAN,CAAqBya,mBAArB,CAAyCzuC,KAAzC;AACH,eAFiB,CAAf,CAAP;AAGH,aAdL,CAeI;;;AACA,mBAAO,CAAC;AAAE;AAAH,cAAey6D,aAAa,CAACtE,0BAAd,CAAyCtzC,IAAzC,EAA+C7iB,KAA/C,EAAsD40D,UAAU,CAACt1C,SAAjE,EAA4E,KAAK+T,aAAjF,CAAf,CAAP;AA5BR;AA8BH,OA/BiB,CAAlB;AAgCH,KAnCe,CAAhB;AAoCH,GArCD;;AAsCA,SAAOb,kBAAP;AACH,CA1HuC,CA0HtCohC,qFA1HsC,CAAxC;;;;;;;;;;;;;;;;;;;;;;;;ACfA;AACa;;AACb;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;;AACA,IAAInhC,mBAAmB;AAAG;AAAe,UAAUpF,MAAV,EAAkB;AACvDqB,EAAAA,4DAAS,CAAC+D,mBAAD,EAAsBpF,MAAtB,CAAT;;AACA,WAASoF,mBAAT,GAA+B;AAC3B,WAAOpF,MAAM,KAAK,IAAX,IAAmBA,MAAM,CAAC2B,KAAP,CAAa,IAAb,EAAmBD,SAAnB,CAAnB,IAAoD,IAA3D;AACH;AACD;AACJ;AACA;AACA;;;AACI0D,EAAAA,mBAAmB,CAACjE,SAApB,CAA8BqI,YAA9B,GAA6C,UAAUzT,OAAV,EAAmB;AAC5D,WAAOjB,4DAAS,CAAC,IAAD,EAAO,KAAK,CAAZ,EAAe,KAAK,CAApB,EAAuB,YAAY;AAC/C,UAAIoB,aAAJ,EAAmB+Q,EAAnB,EAAuB2mC,uBAAvB,EAAgDtG,sBAAhD,EAAwEmH,kBAAxE;;AACA,UAAI1mC,KAAK,GAAG,IAAZ;;AACA,aAAOrF,8DAAW,CAAC,IAAD,EAAO,UAAUyE,EAAV,EAAc;AACnC,gBAAQA,EAAE,CAACvE,KAAX;AACI,eAAK,CAAL;AACIqE,YAAAA,EAAE,GAAG,CAAC1F,2DAAQ,CAAC,EAAD,EAAKxL,OAAL,CAAT,CAAL;AACA,mBAAO,CAAC;AAAE;AAAH,cAAc,KAAK0pC,qBAAL,CAA2B1pC,OAA3B,CAAd,CAAP;;AACJ,eAAK,CAAL;AACIG,YAAAA,aAAa,GAAGqL,6DAAA,CAAe,KAAK,CAApB,EAAuB0F,EAAE,CAACnD,MAAH,CAAU,CAACqD,EAAE,CAACtE,IAAH,EAAD,CAAV,CAAvB,CAAhB;AACA+qC,YAAAA,uBAAuB,GAAG,KAAKvnC,iBAAL,CAAuBsD,gBAAvB,CAAwCzF,iGAAxC,EAA2FhO,aAAa,CAAC2R,aAAzG,CAA1B;AACAy/B,YAAAA,sBAAsB,GAAG,KAAKnH,gCAAL,CAAsCv7B,2FAAtC,CAAzB;AACA,mBAAO,CAAC;AAAE;AAAH,cAAc,KAAK+pC,wBAAL,CAA8BrH,sBAA9B,EAAsDpxC,aAAa,CAACjE,SAApE,EAA+EiE,aAAa,CAACgxB,iBAA7F,CAAd,CAAP;;AACJ,eAAK,CAAL;AACIunB,YAAAA,kBAAkB,GAAGtnC,EAAE,CAACtE,IAAH,EAArB;AACA,iBAAKhM,MAAL,CAAYe,OAAZ,CAAoB,8BAApB,EAFJ,CAGI;;AACA,mBAAO,CAAC;AAAE;AAAH,cAAe62C,kBAAkB,CAAC3hC,0BAAnB,CAA8C5W,aAA9C,EACbx3B,IADa,CACR,UAAUmK,MAAV,EAAkB;AACxB+kE,cAAAA,uBAAuB,CAAC9jC,cAAxB,CAAuC;AACnCC,gBAAAA,OAAO,EAAE,IAD0B;AAEnC6G,gBAAAA,SAAS,EAAE/nC,MAAM,CAAC+nC,SAFiB;AAGnC3G,gBAAAA,SAAS,EAAEphC,MAAM,CAACohC;AAHiB,eAAvC;AAKA,qBAAOphC,MAAP;AACH,aARiB,EASbuqB,KATa,CASP,UAAUyO,CAAV,EAAa;AACpB,kBAAIA,CAAC,YAAYsC,yDAAjB,EAA4B;AACxBtC,gBAAAA,CAAC,CAACknC,gBAAF,CAAmBhhC,KAAK,CAACF,aAAzB;AACH;;AACDy/B,cAAAA,sBAAsB,CAAC0B,kBAAvB,CAA0CnnC,CAA1C;AACA+rC,cAAAA,uBAAuB,CAAC9jC,cAAxB,CAAuC;AACnCW,gBAAAA,SAAS,EAAE5I,CAAC,CAAC4I,SADsB;AAEnCC,gBAAAA,YAAY,EAAE7I,CAAC,CAAC8I,QAFmB;AAGnCZ,gBAAAA,OAAO,EAAE;AAH0B,eAAvC;AAKA,oBAAMlI,CAAN;AACH,aApBiB,CAAf,CAAP;AAbR;AAmCH,OApCiB,CAAlB;AAqCH,KAxCe,CAAhB;AAyCH,GA1CD;AA2CA;AACJ;AACA;;;AACIuD,EAAAA,mBAAmB,CAACjE,SAApB,CAA8B5K,MAA9B,GAAuC,YAAY;AAC/C;AACA,WAAOmK,OAAO,CAAC2B,MAAR,CAAesD,2GAAA,EAAf,CAAP;AACH,GAHD;AAIA;AACJ;AACA;AACA;AACA;;;AACIP,EAAAA,mBAAmB,CAACjE,SAApB,CAA8BwtC,wBAA9B,GAAyD,UAAUrH,sBAAV,EAAkCtgB,YAAlC,EAAgDE,iBAAhD,EAAmE;AACxH,WAAOpyB,4DAAS,CAAC,IAAD,EAAO,KAAK,CAAZ,EAAe,KAAK,CAApB,EAAuB,YAAY;AAC/C,UAAIq4C,YAAJ;AACA,aAAOzqC,8DAAW,CAAC,IAAD,EAAO,UAAUuE,EAAV,EAAc;AACnC,gBAAQA,EAAE,CAACrE,KAAX;AACI,eAAK,CAAL;AAAQ,mBAAO,CAAC;AAAE;AAAH,cAAc,KAAKyqC,sBAAL,CAA4B/F,sBAA5B,EAAoDtgB,YAApD,EAAkEE,iBAAlE,CAAd,CAAP;;AACR,eAAK,CAAL;AACIimB,YAAAA,YAAY,GAAGlmC,EAAE,CAACpE,IAAH,EAAf;AACA,mBAAO,CAAC;AAAE;AAAH,cAAe,IAAI2rC,kEAAJ,CAAuBrB,YAAvB,EAAqC,KAAK9mC,iBAA1C,CAAf,CAAP;AAJR;AAMH,OAPiB,CAAlB;AAQH,KAVe,CAAhB;AAWH,GAZD;;AAaA,SAAOjB,mBAAP;AACH,CA9EwC,CA8EvCmhC,oFA9EuC,CAAzC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACZA;AACa;;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;;AACA;AACA;AACA;;AACA,IAAIA,yBAAyB;AAAG;AAAe,UAAUvmC,MAAV,EAAkB;AAC7DqB,EAAAA,4DAAS,CAACklC,yBAAD,EAA4BvmC,MAA5B,CAAT;;AACA,WAASumC,yBAAT,GAAqC;AACjC,WAAOvmC,MAAM,KAAK,IAAX,IAAmBA,MAAM,CAAC2B,KAAP,CAAa,IAAb,EAAmBD,SAAnB,CAAnB,IAAoD,IAA3D;AACH;AACD;AACJ;AACA;AACA;;;AACI6kC,EAAAA,yBAAyB,CAACplC,SAA1B,CAAoC+mC,kCAApC,GAAyE,UAAUnyC,OAAV,EAAmB;AACxF,WAAOjB,4DAAS,CAAC,IAAD,EAAO,KAAK,CAAZ,EAAe,KAAK,CAApB,EAAuB,YAAY;AAC/C,UAAI+5C,mBAAJ,EAAyBltB,eAAzB;AACA,aAAOjf,8DAAW,CAAC,IAAD,EAAO,UAAUuE,EAAV,EAAc;AACnC,gBAAQA,EAAE,CAACrE,KAAX;AACI,eAAK,CAAL;AACI,iBAAK/L,MAAL,CAAYe,OAAZ,CAAoB,uCAApB,EAA6D7B,OAAO,CAAC8R,aAArE;AACA,mBAAO,CAAC;AAAE;AAAH,cAAc,KAAKpB,aAAL,CAAmBmpB,iBAAnB,EAAd,CAAP;;AACJ,eAAK,CAAL;AACIif,YAAAA,mBAAmB,GAAG5nC,EAAE,CAACpE,IAAH,EAAtB;AACA8e,YAAAA,eAAe,GAAGpgB,2DAAQ,CAACA,2DAAQ,CAAC,EAAD,EAAKxL,OAAL,CAAT,EAAwB;AAAE7D,cAAAA,WAAW,EAAE6D,OAAO,CAAC7D,WAAvB;AAAoC1kB,cAAAA,IAAI,EAAEw2B,sEAA1C;AAAkE2wB,cAAAA,YAAY,EAAEka,mBAAmB,CAAC9Z;AAApG,aAAxB,CAA1B;AACAh/B,YAAAA,OAAO,CAAC6+B,aAAR,GAAwBia,mBAAmB,CAAC7Z,SAA5C;AACAj/B,YAAAA,OAAO,CAAC+4C,mBAAR,GAA8B9qC,oFAA9B;AACA,mBAAO,CAAC;AAAE;AAAH,cAAe2d,eAAf,CAAP;AATR;AAWH,OAZiB,CAAlB;AAaH,KAfe,CAAhB;AAgBH,GAjBD;AAkBA;AACJ;AACA;AACA;;;AACI4kB,EAAAA,yBAAyB,CAACplC,SAA1B,CAAoC+lC,uBAApC,GAA8D,UAAU1wC,aAAV,EAAyB;AACnF,SAAKK,MAAL,CAAYe,OAAZ,CAAoB,gCAApB,EAAsDpB,aAAa,KAAK,IAAlB,IAA0BA,aAAa,KAAK,KAAK,CAAjD,GAAqD,KAAK,CAA1D,GAA8DA,aAAa,CAACqR,aAAlI;;AACA,QAAIo/B,kBAAkB,GAAG1lC,2DAAQ,CAAC;AAAEsG,MAAAA,aAAa,EAAE,KAAKA,aAAL,IAAsB,KAAKpB,aAAL,CAAmBgJ,aAAnB;AAAvC,KAAD,EAA8EjZ,aAA9E,CAAjC;AACA;AACR;AACA;AACA;;;AACQ,QAAIA,aAAJ,EAAmB;AACf;AACA,UAAI,CAACA,aAAa,CAACw4C,UAAnB,EAA+B;AAC3B,YAAIx4C,aAAa,CAACmD,OAAlB,EAA2B;AACvB,cAAIq1C,UAAU,GAAG,KAAKC,8BAAL,CAAoCz4C,aAAa,CAACmD,OAAlD,CAAjB;;AACA,cAAIq1C,UAAJ,EAAgB;AACZ,iBAAKn4C,MAAL,CAAYe,OAAZ,CAAoB,gFAApB;AACAqvC,YAAAA,kBAAkB,CAAC+H,UAAnB,GAAgCA,UAAhC;AACH;AACJ,SAND,MAOK;AACD,eAAKn4C,MAAL,CAAYe,OAAZ,CAAoB,mGAApB;AACH;AACJ,OAXD,MAYK;AACD,aAAKf,MAAL,CAAYe,OAAZ,CAAoB,kDAApB;AACH;AACJ,KAjBD,MAkBK;AACD,WAAKf,MAAL,CAAYe,OAAZ,CAAoB,mEAApB;AACH;AACD;AACR;AACA;AACA;;;AACQ,QAAI,CAACpB,aAAD,IAAkBA,aAAa,CAACy0B,qBAAd,KAAwC,IAA9D,EAAoE;AAChE,UAAIz0B,aAAa,IAAIA,aAAa,CAACy0B,qBAAnC,EAA0D;AACtD,aAAKp0B,MAAL,CAAYe,OAAZ,CAAoB,4DAApB,EAAkFqvC,kBAAkB,CAACp/B,aAArG;AACAo/B,QAAAA,kBAAkB,CAAChc,qBAAnB,GAA2C72B,wEAAA,CAAyBoC,aAAa,CAACy0B,qBAAvC,EAA8D52B,8EAAA,EAA9D,CAA3C;AACH,OAHD,MAIK,IAAI,KAAKz9B,MAAL,CAAYm7B,IAAZ,CAAiBk5B,qBAAjB,KAA2C,IAA/C,EAAqD;AACtD,aAAKp0B,MAAL,CAAYe,OAAZ,CAAoB,sGAApB,EAA4HqvC,kBAAkB,CAACp/B,aAA/I;AACH,OAFI,MAGA,IAAI,KAAKjxC,MAAL,CAAYm7B,IAAZ,CAAiBk5B,qBAArB,EAA4C;AAC7C,aAAKp0B,MAAL,CAAYe,OAAZ,CAAoB,iDAApB,EAAuEqvC,kBAAkB,CAACp/B,aAA1F;AACAo/B,QAAAA,kBAAkB,CAAChc,qBAAnB,GAA2C72B,wEAAA,CAAyB,KAAKx9B,MAAL,CAAYm7B,IAAZ,CAAiBk5B,qBAA1C,EAAiE52B,8EAAA,EAAjE,CAA3C;AACH,OAHI,MAIA;AACD,aAAKwC,MAAL,CAAYe,OAAZ,CAAoB,+CAApB,EAAqEqvC,kBAAkB,CAACp/B,aAAxF;AACAo/B,QAAAA,kBAAkB,CAAChc,qBAAnB,GAA2C72B,wEAAA,CAAyBC,8EAAA,EAAzB,EAAuDA,8EAAA,EAAvD,CAA3C;AACH;AACJ,KAhBD,MAiBK;AACD,WAAKwC,MAAL,CAAYe,OAAZ,CAAoB,4EAApB,EAAkGqvC,kBAAkB,CAACp/B,aAArH;AACH;;AACD,WAAOo/B,kBAAP;AACH,GArDD;AAsDA;AACJ;AACA;AACA;AACA;;;AACIV,EAAAA,yBAAyB,CAACplC,SAA1B,CAAoC8tC,8BAApC,GAAqE,UAAUt1C,OAAV,EAAmB;AACpF,QAAIsjB,aAAa,GAAGtjB,OAAO,CAACsjB,aAA5B;;AACA,QAAIA,aAAJ,EAAmB;AACf,UAAIA,aAAa,CAACiyB,UAAlB,EAA8B;AAC1B,eAAOjyB,aAAa,CAACiyB,UAArB;AACH,OAFD,MAGK;AACD,aAAKr4C,MAAL,CAAYe,OAAZ,CAAoB,oIAApB;AACH;AACJ,KAPD,MAQK;AACD,WAAKf,MAAL,CAAYe,OAAZ,CAAoB,uGAApB;AACH;;AACD,WAAO,IAAP;AACH,GAdD;AAeA;AACJ;AACA;AACA;AACA;;;AACI2uC,EAAAA,yBAAyB,CAACplC,SAA1B,CAAoCgnC,oBAApC,GAA2D,UAAUb,sBAAV,EAAkCtgB,YAAlC,EAAgDmoB,wBAAhD,EAA0E;AACjI,WAAOr6C,4DAAS,CAAC,IAAD,EAAO,KAAK,CAAZ,EAAe,KAAK,CAApB,EAAuB,YAAY;AAC/C,UAAIq4C,YAAJ;AACA,aAAOzqC,8DAAW,CAAC,IAAD,EAAO,UAAUuE,EAAV,EAAc;AACnC,gBAAQA,EAAE,CAACrE,KAAX;AACI,eAAK,CAAL;AAAQ,mBAAO,CAAC;AAAE;AAAH,cAAc,KAAKyqC,sBAAL,CAA4B/F,sBAA5B,EAAoDtgB,YAApD,EAAkEmoB,wBAAlE,CAAd,CAAP;;AACR,eAAK,CAAL;AACIhC,YAAAA,YAAY,GAAGlmC,EAAE,CAACpE,IAAH,EAAf;AACA,mBAAO,CAAC;AAAE;AAAH,cAAe,IAAI69B,uEAAJ,CAA4ByM,YAA5B,CAAf,CAAP;AAJR;AAMH,OAPiB,CAAlB;AAQH,KAVe,CAAhB;AAWH,GAZD;AAaA;AACJ;AACA;AACA;AACA;AACA;;;AACI5G,EAAAA,yBAAyB,CAACplC,SAA1B,CAAoCksC,sBAApC,GAA6D,UAAU/F,sBAAV,EAAkC9G,gBAAlC,EAAoD2O,wBAApD,EAA8E;AACvI,WAAOr6C,4DAAS,CAAC,IAAD,EAAO,KAAK,CAAZ,EAAe,KAAK,CAApB,EAAuB,YAAY;AAC/C,UAAIs6C,mBAAJ;AACA,aAAO1sC,8DAAW,CAAC,IAAD,EAAO,UAAUuE,EAAV,EAAc;AACnC,gBAAQA,EAAE,CAACrE,KAAX;AACI,eAAK,CAAL;AACI,iBAAK/L,MAAL,CAAYe,OAAZ,CAAoB,+BAApB,EAAqD,KAAKiQ,aAA1D;AACA,mBAAO,CAAC;AAAE;AAAH,cAAc,KAAK04B,sBAAL,CAA4BC,gBAA5B,EAA8C2O,wBAA9C,CAAd,CAAP;;AACJ,eAAK,CAAL;AACIC,YAAAA,mBAAmB,GAAGnoC,EAAE,CAACpE,IAAH,EAAtB;AACA,mBAAO,CAAC;AAAE;AAAH,cAAe;AACdwsC,cAAAA,WAAW,EAAE;AACTr9C,gBAAAA,QAAQ,EAAE,KAAKp7B,MAAL,CAAYm7B,IAAZ,CAAiBC,QADlB;AAETC,gBAAAA,SAAS,EAAEm9C,mBAFF;AAGTjkB,gBAAAA,kBAAkB,EAAE,KAAKv0D,MAAL,CAAYm7B,IAAZ,CAAiBo5B;AAH5B,eADC;AAMdmkB,cAAAA,aAAa,EAAE;AACXC,gBAAAA,yBAAyB,EAAE,KAAK34E,MAAL,CAAY27B,MAAZ,CAAmBg9C,yBADnC;AAEXC,gBAAAA,oBAAoB,EAAE;AAFX,eAND;AAUdh9C,cAAAA,aAAa,EAAE;AACXi5B,gBAAAA,cAAc,EAAE,KAAK70D,MAAL,CAAY27B,MAAZ,CAAmBC,aAAnB,CAAiCi5B,cADtC;AAEX94B,gBAAAA,iBAAiB,EAAE,KAAK/7B,MAAL,CAAY27B,MAAZ,CAAmBC,aAAnB,CAAiCG,iBAFzC;AAGXF,gBAAAA,QAAQ,EAAE,KAAK77B,MAAL,CAAY27B,MAAZ,CAAmBC,aAAnB,CAAiCC,QAHhC;AAIXoV,gBAAAA,aAAa,EAAE,KAAKA;AAJT,eAVD;AAgBd4nC,cAAAA,eAAe,EAAE,KAAKhpC,aAhBR;AAiBdipC,cAAAA,gBAAgB,EAAE,KAAK1pC,aAjBT;AAkBd2pC,cAAAA,gBAAgB,EAAE,KAAKhpC,cAlBT;AAmBd2gC,cAAAA,sBAAsB,EAAEA,sBAnBV;AAoBdsI,cAAAA,WAAW,EAAE;AACTtgC,gBAAAA,GAAG,EAAEM,iFADI;AAET93C,gBAAAA,OAAO,EAAEA,wDAFA;AAGT+3E,gBAAAA,GAAG,EAAE7rC,sEAHI;AAIT8rC,gBAAAA,EAAE,EAAE9rC,sEAAsBiE;AAJjB,eApBC;AA0Bd3B,cAAAA,SAAS,EAAE,KAAK1vC,MAAL,CAAY0vC;AA1BT,aAAf,CAAP;AANR;AAmCH,OApCiB,CAAlB;AAqCH,KAvCe,CAAhB;AAwCH,GAzCD;AA0CA;AACJ;AACA;AACA;;;AACIigC,EAAAA,yBAAyB,CAACplC,SAA1B,CAAoCwnC,+BAApC,GAAsE,UAAUd,YAAV,EAAwBtuC,eAAxB,EAAyCw2C,oBAAzC,EAA+D;AACjI,SAAKl5C,MAAL,CAAYe,OAAZ,CAAoB,wCAApB,EAA8Dm4C,oBAA9D;;AACA,QAAI,CAAClI,YAAY,CAACl1D,KAAlB,EAAyB;AACrB,YAAMgzB,2GAAA,EAAN;AACH;;AACD,QAAIqqC,gBAAgB,GAAGh5B,2GAAA,CAAgD,KAAKvQ,aAArD,EAAoEohC,YAAY,CAACl1D,KAAjF,CAAvB;;AACA,QAAI,CAACq9D,gBAAL,EAAuB;AACnB,YAAMrqC,sGAAA,EAAN;AACH;;AACD,QAAIqqC,gBAAgB,CAACz2C,eAAjB,KAAqCA,eAAzC,EAA0D;AACtD,YAAMoM,gHAAA,EAAN;AACH;;AACD,SAAK9O,MAAL,CAAYe,OAAZ,CAAoB,2BAApB,EAAiDm4C,oBAAjD;AACA,WAAOlI,YAAY,CAACl1D,KAApB;AACH,GAdD;AAeA;AACJ;AACA;AACA;AACA;;;AACI4zD,EAAAA,yBAAyB,CAACplC,SAA1B,CAAoCo/B,sBAApC,GAA6D,UAAUC,gBAAV,EAA4B2O,wBAA5B,EAAsD;AAC/G,WAAOr6C,4DAAS,CAAC,IAAD,EAAO,KAAK,CAAZ,EAAe,KAAK,CAApB,EAAuB,YAAY;AAC/C,UAAIm7C,uBAAJ,EAA6B9oB,gBAA7B,EAA+C+oB,aAA/C,EAA8DC,cAA9D;AACA,aAAOztC,8DAAW,CAAC,IAAD,EAAO,UAAUuE,EAAV,EAAc;AACnC,gBAAQA,EAAE,CAACrE,KAAX;AACI,eAAK,CAAL;AACI,iBAAK/L,MAAL,CAAYe,OAAZ,CAAoB,+BAApB,EAAqD,KAAKiQ,aAA1D;AACAooC,YAAAA,uBAAuB,GAAG,KAAK5pC,iBAAL,CAAuBsD,gBAAvB,CAAwCzF,iHAAxC,EAA2G,KAAK2D,aAAhH,CAA1B;AACAsf,YAAAA,gBAAgB,GAAG;AACfC,cAAAA,YAAY,EAAE,KAAKxwD,MAAL,CAAYm7B,IAAZ,CAAiBq1B,YADhB;AAEfC,cAAAA,gBAAgB,EAAE,KAAKzwD,MAAL,CAAYm7B,IAAZ,CAAiBs1B,gBAFpB;AAGfC,cAAAA,sBAAsB,EAAE,KAAK1wD,MAAL,CAAYm7B,IAAZ,CAAiBu1B,sBAH1B;AAIfC,cAAAA,iBAAiB,EAAE,KAAK3wD,MAAL,CAAYm7B,IAAZ,CAAiBw1B,iBAJrB;AAKfC,cAAAA,0BAA0B,EAAE,KAAK5wD,MAAL,CAAYm7B,IAAZ,CAAiBy1B;AAL9B,aAAnB;AAOA0oB,YAAAA,aAAa,GAAG1P,gBAAgB,GAAGA,gBAAH,GAAsB,KAAK5pE,MAAL,CAAYm7B,IAAZ,CAAiBE,SAAvE;AACAk+C,YAAAA,cAAc,GAAGhqB,4EAAA,CAA4B+pB,aAA5B,EAA2Cf,wBAAwB,IAAI,KAAKv4E,MAAL,CAAYm7B,IAAZ,CAAiBm1B,iBAAxF,CAAjB;AACA,iBAAKrwB,MAAL,CAAYe,OAAZ,CAAoB,yDAApB,EAA+E,KAAKiQ,aAApF;AACA,mBAAO,CAAC;AAAE;AAAH,cAAcm3B,0FAAA,CAA0CmR,cAA1C,EAA0D,KAAKv5E,MAAL,CAAY27B,MAAZ,CAAmByT,aAA7E,EAA4F,KAAKW,cAAjG,EAAiHwgB,gBAAjH,EAAmI,KAAKtwB,MAAxI,EACZn4B,IADY,CACP,UAAUmK,MAAV,EAAkB;AACxBonE,cAAAA,uBAAuB,CAACnmC,cAAxB,CAAuC;AACnCC,gBAAAA,OAAO,EAAE;AAD0B,eAAvC;AAGA,qBAAOlhC,MAAP;AACH,aANgB,EAOZuqB,KAPY,CAON,UAAU7lB,KAAV,EAAiB;AACxB0iE,cAAAA,uBAAuB,CAACnmC,cAAxB,CAAuC;AACnCW,gBAAAA,SAAS,EAAEl9B,KAAK,CAACk9B,SADkB;AAEnCC,gBAAAA,YAAY,EAAEn9B,KAAK,CAACo9B,QAFe;AAGnCZ,gBAAAA,OAAO,EAAE;AAH0B,eAAvC;AAKA,oBAAMx8B,KAAN;AACH,aAdgB,CAAd,CAAP;;AAeJ,eAAK,CAAL;AAAQ,mBAAO,CAAC;AAAE;AAAH,cAAe05B,EAAE,CAACpE,IAAH,EAAf,CAAP;AA7BZ;AA+BH,OAhCiB,CAAlB;AAiCH,KAnCe,CAAhB;AAoCH,GArCD;AAsCA;AACJ;AACA;AACA;AACA;;;AACI0jC,EAAAA,yBAAyB,CAACplC,SAA1B,CAAoC8mC,8BAApC,GAAqE,UAAUlyC,OAAV,EAAmBwD,eAAnB,EAAoC;AACrG,WAAOzE,4DAAS,CAAC,IAAD,EAAO,KAAK,CAAZ,EAAe,KAAK,CAApB,EAAuB,YAAY;AAC/C,UAAI5C,WAAJ,EAAiBm+C,YAAjB,EAA+B19D,KAA/B,EAAsC+sD,gBAAtC,EAAwDz4B,EAAxD,EAA4DtN,OAA5D,EAAqE22C,eAArE;;AACA,aAAO5tC,8DAAW,CAAC,IAAD,EAAO,UAAUyE,EAAV,EAAc;AACnC,gBAAQA,EAAE,CAACvE,KAAX;AACI,eAAK,CAAL;AACI,iBAAK/L,MAAL,CAAYe,OAAZ,CAAoB,uCAApB,EAA6D,KAAKiQ,aAAlE;AACA3V,YAAAA,WAAW,GAAG,KAAK8tC,cAAL,CAAoBjqC,OAAO,CAAC7D,WAA5B,CAAd;AACAm+C,YAAAA,YAAY,GAAG;AACX92C,cAAAA,eAAe,EAAEA;AADN,aAAf;AAGA5mB,YAAAA,KAAK,GAAGgkC,8EAAA,CAA8B,KAAKlQ,aAAnC,EAAmD1Q,OAAO,IAAIA,OAAO,CAACpjB,KAApB,IAA8BqxB,sEAAhF,EAAwGqsC,YAAxG,CAAR;AACAppC,YAAAA,EAAE,GAAG,CAAC,EAAD,CAAL;AACA,mBAAO,CAAC;AAAE;AAAH,cAAc,KAAKw4B,qBAAL,CAA2B1pC,OAA3B,CAAd,CAAP;;AACJ,eAAK,CAAL;AACI2pC,YAAAA,gBAAgB,GAAGn+B,6DAAA,CAAe,KAAK,CAApB,EAAuB,CAACA,6DAAA,CAAe,KAAK,CAApB,EAAuB0F,EAAE,CAACnD,MAAH,CAAU,CAACqD,EAAE,CAACtE,IAAH,EAAD,CAAV,CAAvB,CAAD,EAAiD;AAAE3Q,cAAAA,WAAW,EAAEA,WAAf;AAA4Bvf,cAAAA,KAAK,EAAEA,KAAnC;AAA0C4tC,cAAAA,KAAK,EAAExqB,OAAO,CAACwqB,KAAR,IAAiB,KAAK9Z,aAAL,CAAmBgJ,aAAnB,EAAlE;AAAsG+gC,cAAAA,YAAY,EAAE5B,qEAAqB6B;AAAzI,aAAjD,CAAvB,CAAnB;AACA92C,YAAAA,OAAO,GAAG5D,OAAO,CAAC4D,OAAR,IAAmB,KAAKgN,cAAL,CAAoBhL,gBAApB,EAA7B;;AACA,gBAAIhC,OAAJ,EAAa;AACT,mBAAK9C,MAAL,CAAYe,OAAZ,CAAoB,mCAApB,EAAyD,KAAKiQ,aAA9D;AACA,mBAAKhR,MAAL,CAAYsJ,UAAZ,CAAuB,wCAAwCxG,OAAO,CAACgU,aAAvE,EAAsF,KAAK9F,aAA3F;AACA63B,cAAAA,gBAAgB,CAAC/lC,OAAjB,GAA2BA,OAA3B;AACH,aAPL,CAQI;;;AACA,gBAAIrF,oEAAA,CAAoBorC,gBAAgB,CAAC/wB,SAArC,KAAmD,CAAChV,OAAxD,EAAiE;AAC7D22C,cAAAA,eAAe,GAAG,KAAK3pC,cAAL,CAAoBkc,kBAApB,EAAlB;;AACA,kBAAIytB,eAAJ,EAAqB;AACjB5Q,gBAAAA,gBAAgB,CAAC/wB,SAAjB,GAA6B2hC,eAA7B;AACH;AACJ;;AACD,mBAAO,CAAC;AAAE;AAAH,cAAe5Q,gBAAf,CAAP;AAzBR;AA2BH,OA5BiB,CAAlB;AA6BH,KA/Be,CAAhB;AAgCH,GAjCD;;AAkCA,SAAO6G,yBAAP;AACH,CAjR8C,CAiR7CtH,6EAjR6C,CAA/C;;;;;;;;;;;;;;;;;;;;;;;;AClBA;AACa;;AACb;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;;AACA;AACA;AACA;;AACA,IAAIuH,kBAAkB;AAAG;AAAe,YAAY;AAChD,WAASA,kBAAT,CAA4BkK,cAA5B,EAA4CxR,WAA5C,EAAyDvd,eAAzD,EAA0E9qB,MAA1E,EAAkF;AAC9E,SAAK85C,UAAL,GAAkBD,cAAlB;AACA,SAAK/pC,cAAL,GAAsBu4B,WAAtB;AACA,SAAKvd,eAAL,GAAuBA,eAAvB;AACA,SAAK9qB,MAAL,GAAcA,MAAd;AACH;AACD;AACJ;AACA;AACA;;;AACI2vC,EAAAA,kBAAkB,CAACrlC,SAAnB,CAA6B2nC,0BAA7B,GAA0D,UAAU8H,YAAV,EAAwBj+D,KAAxB,EAA+Bsf,SAA/B,EAA0C4+C,aAA1C,EAAyD;AAC/G,WAAO/7C,4DAAS,CAAC,IAAD,EAAO,KAAK,CAAZ,EAAe,KAAK,CAApB,EAAuB,YAAY;AAC/C,UAAIusB,QAAJ,EAAcyvB,YAAd,EAA4BC,gBAA5B;AACA,aAAOruC,8DAAW,CAAC,IAAD,EAAO,UAAUuE,EAAV,EAAc;AACnC,aAAKpQ,MAAL,CAAYe,OAAZ,CAAoB,8CAApB,EADmC,CAEnC;;AACA,YAAItD,mEAAA,CAAoBs8C,YAApB,CAAJ,EAAuC;AACnC,gBAAMjrC,6FAAA,CAAsCirC,YAAtC,CAAN;AACH;;AACDvvB,QAAAA,QAAQ,GAAG,KAAK1a,cAAL,CAAoBqZ,gBAApB,CAAqCrtC,KAArC,CAAX;AACAm+D,QAAAA,YAAY,GAAG,KAAKnqC,cAAL,CAAoB2B,iBAApB,CAAsC+Y,QAAtC,CAAf;;AACA,YAAI,CAACyvB,YAAL,EAAmB;AACf,gBAAM1sC,wFAAA,CAAyC,cAAzC,CAAN;AACH;;AACD,YAAI;AACA2sC,UAAAA,gBAAgB,GAAG,KAAKJ,UAAL,CAAgBM,sBAAhB,CAAuCL,YAAvC,EAAqDE,YAArD,CAAnB;AACH,SAFD,CAGA,OAAOjvC,CAAP,EAAU;AACN,cAAIA,CAAC,YAAY6N,2DAAb,IAA4B7N,CAAC,CAAC8I,QAAF,KAAe8J,uGAA/C,EAAgG;AAC5F;AACA,kBAAM9O,iGAAA,EAAN;AACH,WAHD,MAIK;AACD,kBAAM9D,CAAN;AACH;AACJ;;AACD,eAAO,CAAC;AAAE;AAAH,UAAe,KAAKyrC,4BAAL,CAAkCyD,gBAAlC,EAAoDp+D,KAApD,EAA2Dsf,SAA3D,EAAsE4+C,aAAtE,CAAf,CAAP;AACH,OAxBiB,CAAlB;AAyBH,KA3Be,CAAhB;AA4BH,GA7BD;AA8BA;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;;;AACIrK,EAAAA,kBAAkB,CAACrlC,SAAnB,CAA6BmsC,4BAA7B,GAA4D,UAAUyD,gBAAV,EAA4Bp+D,KAA5B,EAAmCsf,SAAnC,EAA8C4+C,aAA9C,EAA6DK,aAA7D,EAA4E;AACpI,QAAIA,aAAa,KAAK,KAAK,CAA3B,EAA8B;AAAEA,MAAAA,aAAa,GAAG,IAAhB;AAAuB;;AACvD,WAAOp8C,4DAAS,CAAC,IAAD,EAAO,KAAK,CAAZ,EAAe,KAAK,CAApB,EAAuB,YAAY;AAC/C,UAAIusB,QAAJ,EAAcyvB,YAAd,EAA4BK,QAA5B,EAAsCC,WAAtC,EAAmDC,aAAnD,EAAkEC,aAAlE;AACA,aAAO5uC,8DAAW,CAAC,IAAD,EAAO,UAAUuE,EAAV,EAAc;AACnC,gBAAQA,EAAE,CAACrE,KAAX;AACI,eAAK,CAAL;AACI,iBAAK/L,MAAL,CAAYqJ,KAAZ,CAAkB,wDAAlB;AACAmhB,YAAAA,QAAQ,GAAG,KAAK1a,cAAL,CAAoBqZ,gBAApB,CAAqCrtC,KAArC,CAAX;AACAm+D,YAAAA,YAAY,GAAG,KAAKnqC,cAAL,CAAoB2B,iBAApB,CAAsC+Y,QAAtC,CAAf;;AACA,gBAAI,CAACyvB,YAAL,EAAmB;AACf,oBAAM1sC,wFAAA,CAAyC,cAAzC,CAAN;AACH;;AACD+sC,YAAAA,QAAQ,GAAG,KAAKxqC,cAAL,CAAoBmZ,gBAApB,CAAqCgxB,YAArC,CAAX;AACAM,YAAAA,WAAW,GAAG,KAAKzqC,cAAL,CAAoB2B,iBAApB,CAAsC6oC,QAAtC,CAAd,CARJ,CASI;;AACA,iBAAKxvB,eAAL,CAAqBn0C,IAArB,GAA4BujE,gBAAgB,CAACvjE,IAA7C;AACA,gBAAI,CAACujE,gBAAgB,CAACtD,wBAAtB,EAAgD,OAAO,CAAC;AAAE;AAAH,cAAc,CAAd,CAAP;AAChD,mBAAO,CAAC;AAAE;AAAH,cAAc,KAAK8D,4BAAL,CAAkCR,gBAAgB,CAACtD,wBAAnD,EAA6Ex7C,SAA7E,EAAwF4+C,aAAxF,CAAd,CAAP;;AACJ,eAAK,CAAL;AACI5pC,YAAAA,EAAE,CAACpE,IAAH;;AACAoE,YAAAA,EAAE,CAACrE,KAAH,GAAW,CAAX;;AACJ,eAAK,CAAL;AACI;AACA,gBAAIsuC,aAAJ,EAAmB;AACfH,cAAAA,gBAAgB,CAACxwB,KAAjB,GAAyB6wB,WAAW,IAAI7nC,SAAxC;AACH;;AACDwnC,YAAAA,gBAAgB,CAACp+D,KAAjB,GAAyBm+D,YAAzB,CALJ,CAMI;;AACA,gBAAIC,gBAAgB,CAAClpB,WAArB,EAAkC;AAC9B,mBAAKlG,eAAL,CAAqB8F,UAArB,GAAkCspB,gBAAgB,CAAClpB,WAAnD;AACH,aAFD,MAGK;AACDwpB,cAAAA,aAAa,GAAG,KAAKG,mBAAL,EAAhB;;AACA,kBAAIH,aAAJ,EAAmB;AACf,qBAAK1vB,eAAL,CAAqBjB,aAArB,GAAqC2wB,aAArC;AACH;AACJ;;AACD,mBAAO,CAAC;AAAE;AAAH,cAAc,KAAKV,UAAL,CAAgBnnC,YAAhB,CAA6B,KAAKmY,eAAlC,EAAmDovB,gBAAnD,CAAd,CAAP;;AACJ,eAAK,CAAL;AACIO,YAAAA,aAAa,GAAGrqC,EAAE,CAACpE,IAAH,EAAhB;AACA,iBAAK8D,cAAL,CAAoBya,mBAApB,CAAwCzuC,KAAxC;AACA,mBAAO,CAAC;AAAE;AAAH,cAAe2+D,aAAf,CAAP;AArCR;AAuCH,OAxCiB,CAAlB;AAyCH,KA3Ce,CAAhB;AA4CH,GA9CD;AA+CA;AACJ;AACA;AACA;AACA;AACA;;;AACI9K,EAAAA,kBAAkB,CAACrlC,SAAnB,CAA6BowC,4BAA7B,GAA4D,UAAUE,qBAAV,EAAiCx/C,SAAjC,EAA4C4+C,aAA5C,EAA2D;AACnH,WAAO/7C,4DAAS,CAAC,IAAD,EAAO,KAAK,CAAZ,EAAe,KAAK,CAApB,EAAuB,YAAY;AAC/C,UAAI48C,yBAAJ,EAA+BC,sBAA/B;AACA,aAAOjvC,8DAAW,CAAC,IAAD,EAAO,UAAUuE,EAAV,EAAc;AACnC,gBAAQA,EAAE,CAACrE,KAAX;AACI,eAAK,CAAL;AACI8uC,YAAAA,yBAAyB,GAAG,aAAaD,qBAAb,GAAqC,GAArC,GAA2Cx/C,SAAS,CAAC21B,MAArD,GAA8D,GAA1F;AACA,mBAAO,CAAC;AAAE;AAAH,cAAcoX,yFAAA,CAA0C0S,yBAA1C,EAAqEb,aAArE,EAAoF,KAAKlqC,cAAzF,EAAyG1U,SAAS,CAACrN,OAAnH,EAA4H,KAAKiS,MAAjI,CAAd,CAAP;;AACJ,eAAK,CAAL;AACI86C,YAAAA,sBAAsB,GAAG1qC,EAAE,CAACpE,IAAH,EAAzB;AACA,iBAAK8tC,UAAL,CAAgBiB,eAAhB,CAAgCD,sBAAhC;AACA,mBAAO,CAAC;AAAE;AAAH,aAAP;AAPR;AASH,OAViB,CAAlB;AAWH,KAbe,CAAhB;AAcH,GAfD;AAgBA;AACJ;AACA;;;AACInL,EAAAA,kBAAkB,CAACrlC,SAAnB,CAA6BqwC,mBAA7B,GAAmD,YAAY;AAC3D;AACA,QAAIH,aAAa,GAAG,KAAK1qC,cAAL,CAAoB2B,iBAApB,CAAsCzD,yFAAtC,EAAyE,IAAzE,CAApB;;AACA,QAAIwsC,aAAJ,EAAmB;AACf,UAAI;AACA,eAAOt7D,IAAI,CAACC,KAAL,CAAWq7D,aAAX,CAAP;AACH,OAFD,CAGA,OAAOxvC,CAAP,EAAU;AACN,aAAK8uC,UAAL,CAAgB95C,MAAhB,CAAuBtpB,KAAvB,CAA6B,sCAA7B;AACA,aAAKojE,UAAL,CAAgB95C,MAAhB,CAAuBgE,QAAvB,CAAgC,2CAA2Cw2C,aAA3E;AACH;AACJ;;AACD,WAAO,IAAP;AACH,GAbD;;AAcA,SAAO7K,kBAAP;AACH,CAxIuC,EAAxC;;;;;;;;;;;;;;;;;;;;;;;;ACdA;AACa;;AACb;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;;AACA,IAAImF,eAAe;AAAG;AAAe,UAAU3rC,MAAV,EAAkB;AACnDqB,EAAAA,4DAAS,CAACsqC,eAAD,EAAkB3rC,MAAlB,CAAT;;AACA,WAAS2rC,eAAT,CAAyB+E,cAAzB,EAAyCxR,WAAzC,EAAsDvd,eAAtD,EAAuE9qB,MAAvE,EAA+E4P,aAA/E,EAA8F;AAC1F,QAAIsB,KAAK,GAAG/H,MAAM,CAACK,IAAP,CAAY,IAAZ,EAAkBqwC,cAAlB,EAAkCxR,WAAlC,EAA+Cvd,eAA/C,EAAgE9qB,MAAhE,KAA2E,IAAvF;;AACAkR,IAAAA,KAAK,CAACtB,aAAN,GAAsBA,aAAtB;AACA,WAAOsB,KAAP;AACH;AACD;AACJ;AACA;AACA;;;AACI4jC,EAAAA,eAAe,CAACxqC,SAAhB,CAA0BonC,mBAA1B,GAAgD,UAAUiB,UAAV,EAAsBt8D,MAAtB,EAA8B;AAC1E,WAAO4nB,4DAAS,CAAC,IAAD,EAAO,KAAK,CAAZ,EAAe,KAAK,CAApB,EAAuB,YAAY;AAC/C,UAAIstC,iBAAJ,EAAuBpvD,QAAvB;AACA,aAAO0vB,8DAAW,CAAC,IAAD,EAAO,UAAUuE,EAAV,EAAc;AACnC,gBAAQA,EAAE,CAACrE,KAAX;AACI,eAAK,CAAL;AACI,iBAAK/L,MAAL,CAAYe,OAAZ,CAAoB,4CAApB;AACA,gBAAI,CAAC,CAACtD,mEAAA,CAAoBk1C,UAApB,CAAN,EAAuC,OAAO,CAAC;AAAE;AAAH,cAAc,CAAd,CAAP,CAF3C,CAGI;;AACA,gBAAIt8D,MAAM,CAAC0sB,iBAAX,EAA8B;AAC1B,mBAAK/C,MAAL,CAAYe,OAAZ,CAAoB,gFAApB;AACA,mBAAK+O,cAAL,CAAoBkS,iBAApB,CAAsChU,qFAAtC,EAAqE33B,MAAM,CAAC0sB,iBAA5E,EAA+F,IAA/F;AACH,aAPL,CAQI;;;AACA,iBAAK+M,cAAL,CAAoBkS,iBAApB,CAAsChU,yFAAtC,EAAyE,KAAK8c,eAAL,CAAqB9Z,aAA9F,EAA6G,IAA7G;AACA,iBAAKlB,cAAL,CAAoB+a,gBAApB,CAAqC,KAAKC,eAA1C,EAA2D,KAAKlb,aAAhE;AACA,iBAAK5P,MAAL,CAAY+E,OAAZ,CAAoB,uDAAuD4tC,UAA3E;AACApH,YAAAA,iBAAiB,GAAG;AAChBh0B,cAAAA,KAAK,EAAExJ,kFADS;AAEhBy9B,cAAAA,OAAO,EAAEn1D,MAAM,CAAC6+D,eAFA;AAGhB3rC,cAAAA,SAAS,EAAE;AAHK,aAApB;AAKA,gBAAI,EAAE,OAAOlzB,MAAM,CAAC8+D,kBAAd,KAAqC,UAAvC,CAAJ,EAAwD,OAAO,CAAC;AAAE;AAAH,cAAc,CAAd,CAAP;AACxD,iBAAKn1C,MAAL,CAAYe,OAAZ,CAAoB,2EAApB;AACA5kB,YAAAA,QAAQ,GAAG9F,MAAM,CAAC8+D,kBAAP,CAA0BxC,UAA1B,CAAX;AACA,gBAAI,EAAEx2D,QAAQ,KAAK,KAAf,CAAJ,EAA2B,OAAO,CAAC;AAAE;AAAH,cAAc,CAAd,CAAP;AAC3B,iBAAK6jB,MAAL,CAAYe,OAAZ,CAAoB,0FAApB;AACA,mBAAO,CAAC;AAAE;AAAH,cAAc1qB,MAAM,CAAC+4B,gBAAP,CAAwBq8B,gBAAxB,CAAyCkH,UAAzC,EAAqDpH,iBAArD,CAAd,CAAP;;AACJ,eAAK,CAAL;AACIn7B,YAAAA,EAAE,CAACpE,IAAH;;AACA,mBAAO,CAAC;AAAE;AAAH,aAAP;;AACJ,eAAK,CAAL;AACI,iBAAKhM,MAAL,CAAYe,OAAZ,CAAoB,6FAApB;AACA,mBAAO,CAAC;AAAE;AAAH,aAAP;;AACJ,eAAK,CAAL;AAAQ,mBAAO,CAAC;AAAE;AAAH,cAAc,CAAd,CAAP;;AACR,eAAK,CAAL;AACI;AACA,iBAAKf,MAAL,CAAYe,OAAZ,CAAoB,wEAApB;AACA,mBAAO,CAAC;AAAE;AAAH,cAAc1qB,MAAM,CAAC+4B,gBAAP,CAAwBq8B,gBAAxB,CAAyCkH,UAAzC,EAAqDpH,iBAArD,CAAd,CAAP;;AACJ,eAAK,CAAL;AACIn7B,YAAAA,EAAE,CAACpE,IAAH;;AACA,mBAAO,CAAC;AAAE;AAAH,aAAP;;AACJ,eAAK,CAAL;AAAQ,mBAAO,CAAC;AAAE;AAAH,cAAc,CAAd,CAAP;;AACR,eAAK,CAAL;AACI;AACA,iBAAKhM,MAAL,CAAY3Z,IAAZ,CAAiB,4DAAjB;AACA,kBAAMyoB,sGAAA,EAAN;;AACJ,eAAK,CAAL;AAAQ,mBAAO,CAAC;AAAE;AAAH,aAAP;AA3CZ;AA6CH,OA9CiB,CAAlB;AA+CH,KAjDe,CAAhB;AAkDH,GAnDD;AAoDA;AACJ;AACA;AACA;;;AACIgmC,EAAAA,eAAe,CAACxqC,SAAhB,CAA0B2nC,0BAA1B,GAAuD,UAAU8H,YAAV,EAAwBj+D,KAAxB,EAA+Bsf,SAA/B,EAA0C4+C,aAA1C,EAAyD;AAC5G,WAAO/7C,4DAAS,CAAC,IAAD,EAAO,KAAK,CAAZ,EAAe,KAAK,CAApB,EAAuB,YAAY;AAC/C,UAAIusB,QAAJ,EAAcyvB,YAAd,EAA4BC,gBAA5B,EAA8CI,QAA9C,EAAwDC,WAAxD,EAAqEC,aAArE,EAAoFC,aAApF;AACA,aAAO5uC,8DAAW,CAAC,IAAD,EAAO,UAAUuE,EAAV,EAAc;AACnC,gBAAQA,EAAE,CAACrE,KAAX;AACI,eAAK,CAAL;AACI,iBAAK/L,MAAL,CAAYe,OAAZ,CAAoB,2CAApB,EADJ,CAEI;;AACA,gBAAItD,mEAAA,CAAoBs8C,YAApB,CAAJ,EAAuC;AACnC,oBAAMjrC,6FAAA,CAAsCirC,YAAtC,CAAN;AACH,aALL,CAMI;;;AACA,iBAAKjqC,cAAL,CAAoB8C,wBAApB,CAA6C,KAA7C;AACA4X,YAAAA,QAAQ,GAAG,KAAK1a,cAAL,CAAoBqZ,gBAApB,CAAqCrtC,KAArC,CAAX;AACAm+D,YAAAA,YAAY,GAAG,KAAKnqC,cAAL,CAAoB2B,iBAApB,CAAsC+Y,QAAtC,CAAf;;AACA,gBAAI,CAACyvB,YAAL,EAAmB;AACf,oBAAM1sC,wFAAA,CAAyC,cAAzC,CAAN;AACH;;AACD,gBAAI;AACA2sC,cAAAA,gBAAgB,GAAG,KAAKJ,UAAL,CAAgBM,sBAAhB,CAAuCL,YAAvC,EAAqDE,YAArD,CAAnB;AACH,aAFD,CAGA,OAAOjvC,CAAP,EAAU;AACN,kBAAIA,CAAC,YAAY6N,2DAAb,IAA4B7N,CAAC,CAAC8I,QAAF,KAAe8J,uGAA/C,EAAgG;AAC5F;AACA,sBAAM9O,iGAAA,EAAN;AACH,eAHD,MAIK;AACD,sBAAM9D,CAAN;AACH;AACJ;;AACDsvC,YAAAA,QAAQ,GAAG,KAAKxqC,cAAL,CAAoBmZ,gBAApB,CAAqCgxB,YAArC,CAAX;AACAM,YAAAA,WAAW,GAAG,KAAKzqC,cAAL,CAAoB2B,iBAApB,CAAsC6oC,QAAtC,CAAd,CA1BJ,CA2BI;;AACA,iBAAKxvB,eAAL,CAAqBn0C,IAArB,GAA4BujE,gBAAgB,CAACvjE,IAA7C;AACA,gBAAI,CAACujE,gBAAgB,CAACtD,wBAAtB,EAAgD,OAAO,CAAC;AAAE;AAAH,cAAc,CAAd,CAAP;AAChD,mBAAO,CAAC;AAAE;AAAH,cAAc,KAAK8D,4BAAL,CAAkCR,gBAAgB,CAACtD,wBAAnD,EAA6Ex7C,SAA7E,EAAwF4+C,aAAxF,CAAd,CAAP;;AACJ,eAAK,CAAL;AACI5pC,YAAAA,EAAE,CAACpE,IAAH;;AACAoE,YAAAA,EAAE,CAACrE,KAAH,GAAW,CAAX;;AACJ,eAAK,CAAL;AACImuC,YAAAA,gBAAgB,CAACxwB,KAAjB,GAAyB6wB,WAAW,IAAI7nC,SAAxC;AACAwnC,YAAAA,gBAAgB,CAACp+D,KAAjB,GAAyBm+D,YAAzB,CAFJ,CAGI;;AACA,gBAAIC,gBAAgB,CAAClpB,WAArB,EAAkC;AAC9B,mBAAKlG,eAAL,CAAqB8F,UAArB,GAAkCspB,gBAAgB,CAAClpB,WAAnD;AACH,aAFD,MAGK;AACDwpB,cAAAA,aAAa,GAAG,KAAKG,mBAAL,EAAhB;;AACA,kBAAIH,aAAJ,EAAmB;AACf,qBAAK1vB,eAAL,CAAqBjB,aAArB,GAAqC2wB,aAArC;AACH;AACJ;;AACD,mBAAO,CAAC;AAAE;AAAH,cAAc,KAAKV,UAAL,CAAgBnnC,YAAhB,CAA6B,KAAKmY,eAAlC,EAAmDovB,gBAAnD,CAAd,CAAP;;AACJ,eAAK,CAAL;AACIO,YAAAA,aAAa,GAAGrqC,EAAE,CAACpE,IAAH,EAAhB;AACA,iBAAK8D,cAAL,CAAoBya,mBAApB,CAAwCzuC,KAAxC;AACA,mBAAO,CAAC;AAAE;AAAH,cAAe2+D,aAAf,CAAP;AApDR;AAsDH,OAvDiB,CAAlB;AAwDH,KA1De,CAAhB;AA2DH,GA5DD;;AA6DA,SAAO3F,eAAP;AACH,CAjIoC,CAiInCnF,sEAjImC,CAArC;;;;;;;;;;;;;;;;;;;;;;;;ACZA;AACa;;AACb;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;;AACA,IAAI0G,aAAa;AAAG;AAAe,UAAUltC,MAAV,EAAkB;AACjDqB,EAAAA,4DAAS,CAAC6rC,aAAD,EAAgBltC,MAAhB,CAAT;;AACA,WAASktC,aAAT,CAAuBwD,cAAvB,EAAuCxR,WAAvC,EAAoDvd,eAApD,EAAqE9qB,MAArE,EAA6Ey4C,aAA7E,EAA4F;AACxF,QAAIvnC,KAAK,GAAG/H,MAAM,CAACK,IAAP,CAAY,IAAZ,EAAkBqwC,cAAlB,EAAkCxR,WAAlC,EAA+Cvd,eAA/C,EAAgE9qB,MAAhE,KAA2E,IAAvF;;AACAkR,IAAAA,KAAK,CAACikB,iBAAN,GAA0BsjB,aAAa,CAACtjB,iBAAxC;AACAjkB,IAAAA,KAAK,CAACqkB,wBAAN,GAAiCkjB,aAAa,CAACljB,wBAA/C;AACA,WAAOrkB,KAAP;AACH;AACD;AACJ;AACA;AACA;AACA;;;AACImlC,EAAAA,aAAa,CAAC/rC,SAAd,CAAwBonC,mBAAxB,GAA8C,UAAUiB,UAAV,EAAsB;AAChE,WAAO10C,4DAAS,CAAC,IAAD,EAAO,KAAK,CAAZ,EAAe,KAAK,CAApB,EAAuB,YAAY;AAC/C,UAAImS,EAAJ;;AACA,aAAOvE,8DAAW,CAAC,IAAD,EAAO,UAAUyE,EAAV,EAAc;AACnC,gBAAQA,EAAE,CAACvE,KAAX;AACI,eAAK,CAAL;AACI,gBAAItO,mEAAA,CAAoBk1C,UAApB,CAAJ,EAAqC;AACjC;AACA,mBAAK3yC,MAAL,CAAY3Z,IAAZ,CAAiB,uBAAjB;AACA,oBAAMyoB,sGAAA,EAAN;AACH;;AACD,gBAAI,CAAC,KAAKqmB,iBAAV,EAA6B,OAAO,CAAC;AAAE;AAAH,cAAc,CAAd,CAAP;AAC7B,mBAAO,CAAC;AAAE;AAAH,cAAc,KAAK6lB,SAAL,CAAerI,UAAf,CAAd,CAAP;;AACJ,eAAK,CAAL;AACIviC,YAAAA,EAAE,GAAGE,EAAE,CAACtE,IAAH,EAAL;AACA,mBAAO,CAAC;AAAE;AAAH,cAAc,CAAd,CAAP;;AACJ,eAAK,CAAL;AACIoE,YAAAA,EAAE,GAAG,KAAK6qC,aAAL,CAAmBtI,UAAnB,CAAL;AACAriC,YAAAA,EAAE,CAACvE,KAAH,GAAW,CAAX;;AACJ,eAAK,CAAL;AAAQ,mBAAO,CAAC;AAAE;AAAH,cAAeqE,EAAf,CAAP;AAfZ;AAiBH,OAlBiB,CAAlB;AAmBH,KArBe,CAAhB;AAsBH,GAvBD;AAwBA;AACJ;AACA;AACA;AACA;;;AACIimC,EAAAA,aAAa,CAAC/rC,SAAd,CAAwBotC,oBAAxB,GAA+C,UAAUwD,MAAV,EAAkB1P,OAAlB,EAA2B;AACtE,QAAIt6B,KAAK,GAAG,IAAZ;;AACA,WAAO,IAAIrH,OAAJ,CAAY,UAAUC,OAAV,EAAmB0B,MAAnB,EAA2B;AAC1C,UAAIggC,OAAO,GAAG7X,+EAAd,EAAyC;AACrCziB,QAAAA,KAAK,CAAClR,MAAN,CAAasD,OAAb,CAAqB,uEAAuEkoC,OAAvE,GAAiF,wBAAjF,GAA4G7X,+EAA5G,GAAwI,mCAA7J;AACH;AACD;AACZ;AACA;AACA;;;AACY,UAAIwnB,OAAO,GAAG37D,MAAM,CAAC47D,WAAP,CAAmBjU,GAAnB,EAAd;AACA,UAAIkU,WAAW,GAAGF,OAAO,GAAG3P,OAA5B;AACA,UAAIsH,UAAU,GAAGC,WAAW,CAAC,YAAY;AACrC,YAAIvzD,MAAM,CAAC47D,WAAP,CAAmBjU,GAAnB,KAA2BkU,WAA/B,EAA4C;AACxCnqC,UAAAA,KAAK,CAACoqC,kBAAN,CAAyBJ,MAAzB;;AACAhI,UAAAA,aAAa,CAACJ,UAAD,CAAb;AACAtnC,UAAAA,MAAM,CAACsD,wGAAA,EAAD,CAAN;AACA;AACH;;AACD,YAAI3f,IAAI,GAAGge,sEAAX;AACA,YAAIouC,aAAa,GAAGL,MAAM,CAACK,aAA3B;;AACA,YAAI;AACA;AACpB;AACA;AACA;AACA;AACoBpsD,UAAAA,IAAI,GAAGosD,aAAa,GAAGA,aAAa,CAAC97D,QAAd,CAAuB0P,IAA1B,GAAiCge,sEAArD;AACH,SAPD,CAQA,OAAOnC,CAAP,EAAU,CAAG;;AACb,YAAIvN,mEAAA,CAAoBtO,IAApB,CAAJ,EAA+B;AAC3B;AACH;;AACD,YAAIqsD,WAAW,GAAGD,aAAa,GAAGA,aAAa,CAAC97D,QAAd,CAAuBkf,IAA1B,GAAiCwO,sEAAhE;;AACA,YAAI5P,qFAAA,CAAsCi+C,WAAtC,CAAJ,EAAwD;AACpD;AACAtqC,UAAAA,KAAK,CAACoqC,kBAAN,CAAyBJ,MAAzB;;AACAhI,UAAAA,aAAa,CAACJ,UAAD,CAAb;AACAhpC,UAAAA,OAAO,CAAC0xC,WAAD,CAAP;AACA;AACH;AACJ,OA7B2B,EA6BzBtqC,KAAK,CAACqkB,wBA7BmB,CAA5B;AA8BH,KAxCM,CAAP;AAyCH,GA3CD;AA4CA;AACJ;AACA;AACA;AACA;;;AACI8gB,EAAAA,aAAa,CAAC/rC,SAAd,CAAwB0wC,SAAxB,GAAoC,UAAU7H,WAAV,EAAuB;AACvD;AACR;AACA;AACA;AACQ,QAAIjiC,KAAK,GAAG,IAAZ;;AACA,WAAO,IAAIrH,OAAJ,CAAY,UAAUC,OAAV,EAAmB0B,MAAnB,EAA2B;AAC1C,UAAIiwC,WAAW,GAAGvqC,KAAK,CAACwqC,kBAAN,EAAlB;;AACAn8D,MAAAA,UAAU,CAAC,YAAY;AACnB,YAAI,CAACk8D,WAAL,EAAkB;AACdjwC,UAAAA,MAAM,CAAC,uBAAD,CAAN;AACA;AACH;;AACDiwC,QAAAA,WAAW,CAAC/uD,GAAZ,GAAkBymD,WAAlB;AACArpC,QAAAA,OAAO,CAAC2xC,WAAD,CAAP;AACH,OAPS,EAOPvqC,KAAK,CAACikB,iBAPC,CAAV;AAQH,KAVM,CAAP;AAWH,GAjBD;AAkBA;AACJ;AACA;AACA;AACA;AACA;AACA;;;AACIkhB,EAAAA,aAAa,CAAC/rC,SAAd,CAAwB2wC,aAAxB,GAAwC,UAAU9H,WAAV,EAAuB;AAC3D,QAAIsI,WAAW,GAAG,KAAKC,kBAAL,EAAlB;AACAD,IAAAA,WAAW,CAAC/uD,GAAZ,GAAkBymD,WAAlB;AACA,WAAOsI,WAAP;AACH,GAJD;AAKA;AACJ;AACA;AACA;AACA;;;AACIpF,EAAAA,aAAa,CAAC/rC,SAAd,CAAwBoxC,kBAAxB,GAA6C,YAAY;AACrD,QAAIC,SAAS,GAAG55C,QAAQ,CAACmF,aAAT,CAAuB,QAAvB,CAAhB;AACAy0C,IAAAA,SAAS,CAACC,KAAV,CAAgBC,UAAhB,GAA6B,QAA7B;AACAF,IAAAA,SAAS,CAACC,KAAV,CAAgBzrE,QAAhB,GAA2B,UAA3B;AACAwrE,IAAAA,SAAS,CAACC,KAAV,CAAgBxH,KAAhB,GAAwBuH,SAAS,CAACC,KAAV,CAAgBtH,MAAhB,GAAyB,GAAjD;AACAqH,IAAAA,SAAS,CAACC,KAAV,CAAgBE,MAAhB,GAAyB,GAAzB;AACAH,IAAAA,SAAS,CAACI,YAAV,CAAuB,SAAvB,EAAkC,6CAAlC;AACAh6C,IAAAA,QAAQ,CAACC,oBAAT,CAA8B,MAA9B,EAAsC,CAAtC,EAAyCg6C,WAAzC,CAAqDL,SAArD;AACA,WAAOA,SAAP;AACH,GATD;AAUA;AACJ;AACA;AACA;AACA;;;AACItF,EAAAA,aAAa,CAAC/rC,SAAd,CAAwBgxC,kBAAxB,GAA6C,UAAUJ,MAAV,EAAkB;AAC3D,QAAIn5C,QAAQ,CAACrqB,IAAT,KAAkBwjE,MAAM,CAACe,UAA7B,EAAyC;AACrCl6C,MAAAA,QAAQ,CAACrqB,IAAT,CAAcwkE,WAAd,CAA0BhB,MAA1B;AACH;AACJ,GAJD;;AAKA,SAAO7E,aAAP;AACH,CAnJkC,CAmJjC1G,sEAnJiC,CAAnC;;;;;;;;;;;;;;;;;ACZA;AACa;AACb;AACA;AACA;AACA;;AACA,IAAIjyC,gBAAgB;AAAG;AAAe,YAAY;AAC9C,WAASA,gBAAT,GAA4B,CAC3B;AACD;AACJ;AACA;AACA;AACA;;;AACIA,EAAAA,gBAAgB,CAAC4M,SAAjB,CAA2BpB,gBAA3B,GAA8C,UAAUzrB,GAAV,EAAesQ,OAAf,EAAwB;AAClE,WAAO2P,gBAAgB,CAACy+C,qBAAjB,CAAuC1+D,GAAvC,EAA4CsQ,OAA5C,CAAP;AACH,GAFD;AAGA;AACJ;AACA;AACA;AACA;;;AACI2P,EAAAA,gBAAgB,CAAC4M,SAAjB,CAA2BmhC,gBAA3B,GAA8C,UAAUhuD,GAAV,EAAesQ,OAAf,EAAwB;AAClE,WAAO2P,gBAAgB,CAACy+C,qBAAjB,CAAuC1+D,GAAvC,EAA4CsQ,OAA5C,CAAP;AACH,GAFD;AAGA;AACJ;AACA;AACA;AACA;;;AACI2P,EAAAA,gBAAgB,CAACy+C,qBAAjB,GAAyC,UAAU1+D,GAAV,EAAesQ,OAAf,EAAwB;AAC7D,QAAIA,OAAO,CAACwb,SAAZ,EAAuB;AACnB/pB,MAAAA,MAAM,CAACC,QAAP,CAAgBC,OAAhB,CAAwBjC,GAAxB;AACH,KAFD,MAGK;AACD+B,MAAAA,MAAM,CAACC,QAAP,CAAgBgjB,MAAhB,CAAuBhlB,GAAvB;AACH;;AACD,WAAO,IAAIosB,OAAJ,CAAY,UAAUC,OAAV,EAAmB;AAClCvqB,MAAAA,UAAU,CAAC,YAAY;AACnBuqB,QAAAA,OAAO,CAAC,IAAD,CAAP;AACH,OAFS,EAEP/b,OAAO,CAACy9C,OAFD,CAAV;AAGH,KAJM,CAAP;AAKH,GAZD;;AAaA,SAAO9tC,gBAAP;AACH,CAtCqC,EAAtC;;;;;;;;;;;;;;;;;;;;;ACNA;AACa;;AACb;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;;AACA;AACA;AACA;;AACA,IAAI2+C,WAAW;AAAG;AAAe,YAAY;AACzC,WAASA,WAAT,GAAuB,CACtB;AACD;AACJ;AACA;AACA;AACA;AACA;;;AACIA,EAAAA,WAAW,CAAC/xC,SAAZ,CAAsBgyC,mBAAtB,GAA4C,UAAU7+D,GAAV,EAAesQ,OAAf,EAAwB;AAChE,WAAOkQ,4DAAS,CAAC,IAAD,EAAO,KAAK,CAAZ,EAAe,KAAK,CAApB,EAAuB,YAAY;AAC/C,UAAI2E,QAAJ,EAAcyN,GAAd,EAAmBD,EAAnB;;AACA,aAAOvE,8DAAW,CAAC,IAAD,EAAO,UAAUyE,EAAV,EAAc;AACnC,gBAAQA,EAAE,CAACvE,KAAX;AACI,eAAK,CAAL;AACIuE,YAAAA,EAAE,CAACrE,IAAH,CAAQ3F,IAAR,CAAa,CAAC,CAAD,EAAI,CAAJ,GAAS,CAAT,CAAb;;AACA,mBAAO,CAAC;AAAE;AAAH,cAAci2C,KAAK,CAAC9+D,GAAD,EAAM;AACxBmnB,cAAAA,MAAM,EAAEw3C,6EADgB;AAExBl3C,cAAAA,OAAO,EAAE,KAAKu3C,eAAL,CAAqB1uD,OAArB;AAFe,aAAN,CAAnB,CAAP;;AAIJ,eAAK,CAAL;AACI6U,YAAAA,QAAQ,GAAG0N,EAAE,CAACtE,IAAH,EAAX;AACA,mBAAO,CAAC;AAAE;AAAH,cAAc,CAAd,CAAP;;AACJ,eAAK,CAAL;AACIqE,YAAAA,GAAG,GAAGC,EAAE,CAACtE,IAAH,EAAN;;AACA,gBAAIxsB,MAAM,CAACk9D,SAAP,CAAiBC,MAArB,EAA6B;AACzB,oBAAM7tC,oGAAA,CAA6CuB,GAA7C,EAAkD5yB,GAAlD,CAAN;AACH,aAFD,MAGK;AACD,oBAAMqxB,yGAAA,EAAN;AACH;;AACL,eAAK,CAAL;AACIwB,YAAAA,EAAE,CAACrE,IAAH,CAAQ3F,IAAR,CAAa,CAAC,CAAD,EAAI,CAAJ,GAAS,CAAT,CAAb;;AACA8J,YAAAA,EAAE,GAAG;AACDlL,cAAAA,OAAO,EAAE,KAAK03C,aAAL,CAAmBh6C,QAAQ,CAACsC,OAA5B;AADR,aAAL;AAGA,mBAAO,CAAC;AAAE;AAAH,cAActC,QAAQ,CAACi6C,IAAT,EAAd,CAAP;;AACJ,eAAK,CAAL;AAAQ,mBAAO,CAAC;AAAE;AAAH,eAAgBzsC,EAAE,CAAC14B,IAAH,GAAW44B,EAAE,CAACtE,IAAH,EAAX,EACvBoE,EAAE,CAAC3tB,MAAH,GAAYmgB,QAAQ,CAACngB,MADE,EAEvB2tB,EAFO,EAAP;;AAGR,eAAK,CAAL;AACIE,YAAAA,EAAE,CAACtE,IAAH;;AACA,kBAAM8C,gHAAA,CAAyDrxB,GAAzD,CAAN;;AACJ,eAAK,CAAL;AAAQ,mBAAO,CAAC;AAAE;AAAH,aAAP;AA9BZ;AAgCH,OAjCiB,CAAlB;AAkCH,KApCe,CAAhB;AAqCH,GAtCD;AAuCA;AACJ;AACA;AACA;AACA;AACA;;;AACI4+D,EAAAA,WAAW,CAAC/xC,SAAZ,CAAsBwyC,oBAAtB,GAA6C,UAAUr/D,GAAV,EAAesQ,OAAf,EAAwB;AACjE,WAAOkQ,4DAAS,CAAC,IAAD,EAAO,KAAK,CAAZ,EAAe,KAAK,CAApB,EAAuB,YAAY;AAC/C,UAAI8+C,OAAJ,EAAan6C,QAAb,EAAuB4b,GAAvB,EAA4BpO,EAA5B;;AACA,aAAOvE,8DAAW,CAAC,IAAD,EAAO,UAAUyE,EAAV,EAAc;AACnC,gBAAQA,EAAE,CAACvE,KAAX;AACI,eAAK,CAAL;AACIgxC,YAAAA,OAAO,GAAIhvD,OAAO,IAAIA,OAAO,CAACrW,IAApB,IAA6By1B,sEAAvC;AACAmD,YAAAA,EAAE,CAACvE,KAAH,GAAW,CAAX;;AACJ,eAAK,CAAL;AACIuE,YAAAA,EAAE,CAACrE,IAAH,CAAQ3F,IAAR,CAAa,CAAC,CAAD,EAAI,CAAJ,GAAS,CAAT,CAAb;;AACA,mBAAO,CAAC;AAAE;AAAH,cAAci2C,KAAK,CAAC9+D,GAAD,EAAM;AACxBmnB,cAAAA,MAAM,EAAEw3C,8EADgB;AAExBl3C,cAAAA,OAAO,EAAE,KAAKu3C,eAAL,CAAqB1uD,OAArB,CAFe;AAGxBrW,cAAAA,IAAI,EAAEqlE;AAHkB,aAAN,CAAnB,CAAP;;AAKJ,eAAK,CAAL;AACIn6C,YAAAA,QAAQ,GAAG0N,EAAE,CAACtE,IAAH,EAAX;AACA,mBAAO,CAAC;AAAE;AAAH,cAAc,CAAd,CAAP;;AACJ,eAAK,CAAL;AACIwS,YAAAA,GAAG,GAAGlO,EAAE,CAACtE,IAAH,EAAN;;AACA,gBAAIxsB,MAAM,CAACk9D,SAAP,CAAiBC,MAArB,EAA6B;AACzB,oBAAM7tC,qGAAA,CAA8C0P,GAA9C,EAAmD/gC,GAAnD,CAAN;AACH,aAFD,MAGK;AACD,oBAAMqxB,yGAAA,EAAN;AACH;;AACL,eAAK,CAAL;AACIwB,YAAAA,EAAE,CAACrE,IAAH,CAAQ3F,IAAR,CAAa,CAAC,CAAD,EAAI,CAAJ,GAAS,CAAT,CAAb;;AACA8J,YAAAA,EAAE,GAAG;AACDlL,cAAAA,OAAO,EAAE,KAAK03C,aAAL,CAAmBh6C,QAAQ,CAACsC,OAA5B;AADR,aAAL;AAGA,mBAAO,CAAC;AAAE;AAAH,cAActC,QAAQ,CAACi6C,IAAT,EAAd,CAAP;;AACJ,eAAK,CAAL;AAAQ,mBAAO,CAAC;AAAE;AAAH,eAAgBzsC,EAAE,CAAC14B,IAAH,GAAW44B,EAAE,CAACtE,IAAH,EAAX,EACvBoE,EAAE,CAAC3tB,MAAH,GAAYmgB,QAAQ,CAACngB,MADE,EAEvB2tB,EAFO,EAAP;;AAGR,eAAK,CAAL;AACIE,YAAAA,EAAE,CAACtE,IAAH;;AACA,kBAAM8C,gHAAA,CAAyDrxB,GAAzD,CAAN;;AACJ,eAAK,CAAL;AAAQ,mBAAO,CAAC;AAAE;AAAH,aAAP;AAlCZ;AAoCH,OArCiB,CAAlB;AAsCH,KAxCe,CAAhB;AAyCH,GA1CD;AA2CA;AACJ;AACA;AACA;;;AACI4+D,EAAAA,WAAW,CAAC/xC,SAAZ,CAAsBmyC,eAAtB,GAAwC,UAAU1uD,OAAV,EAAmB;AACvD,QAAImX,OAAO,GAAG,IAAI+3C,OAAJ,EAAd;;AACA,QAAI,EAAElvD,OAAO,IAAIA,OAAO,CAACmX,OAArB,CAAJ,EAAmC;AAC/B,aAAOA,OAAP;AACH;;AACD,QAAIg4C,cAAc,GAAGnvD,OAAO,CAACmX,OAA7B;AACA1C,IAAAA,MAAM,CAACkD,IAAP,CAAYw3C,cAAZ,EAA4Bh3C,OAA5B,CAAoC,UAAUC,GAAV,EAAe;AAC/CjB,MAAAA,OAAO,CAACi4C,MAAR,CAAeh3C,GAAf,EAAoB+2C,cAAc,CAAC/2C,GAAD,CAAlC;AACH,KAFD;AAGA,WAAOjB,OAAP;AACH,GAVD;;AAWAm3C,EAAAA,WAAW,CAAC/xC,SAAZ,CAAsBsyC,aAAtB,GAAsC,UAAU13C,OAAV,EAAmB;AACrD,QAAIk4C,UAAU,GAAG,EAAjB;AACAl4C,IAAAA,OAAO,CAACgB,OAAR,CAAgB,UAAU30B,KAAV,EAAiB40B,GAAjB,EAAsB;AAClCi3C,MAAAA,UAAU,CAACj3C,GAAD,CAAV,GAAkB50B,KAAlB;AACH,KAFD;AAGA,WAAO6rE,UAAP;AACH,GAND;;AAOA,SAAOf,WAAP;AACH,CAxHgC,EAAjC;;;;;;;;;;;;;;;;;;;;ACdA;AACa;;AACb;AACA;AACA;AAEA;AACA;AACA;AACA;;AACA;AACA;AACA;;AACA,IAAIgB,SAAS;AAAG;AAAe,YAAY;AACvC,WAASA,SAAT,GAAqB,CACpB;AACD;AACJ;AACA;AACA;AACA;AACA;;;AACIA,EAAAA,SAAS,CAAC/yC,SAAV,CAAoBgyC,mBAApB,GAA0C,UAAU7+D,GAAV,EAAesQ,OAAf,EAAwB;AAC9D,WAAOkQ,4DAAS,CAAC,IAAD,EAAO,KAAK,CAAZ,EAAe,KAAK,CAApB,EAAuB,YAAY;AAC/C,aAAO4N,8DAAW,CAAC,IAAD,EAAO,UAAUuE,EAAV,EAAc;AACnC,eAAO,CAAC;AAAE;AAAH,UAAe,KAAKktC,gBAAL,CAAsB7/D,GAAtB,EAA2B2+D,6EAA3B,EAAkDruD,OAAlD,CAAf,CAAP;AACH,OAFiB,CAAlB;AAGH,KAJe,CAAhB;AAKH,GAND;AAOA;AACJ;AACA;AACA;AACA;AACA;;;AACIsvD,EAAAA,SAAS,CAAC/yC,SAAV,CAAoBwyC,oBAApB,GAA2C,UAAUr/D,GAAV,EAAesQ,OAAf,EAAwB;AAC/D,WAAOkQ,4DAAS,CAAC,IAAD,EAAO,KAAK,CAAZ,EAAe,KAAK,CAApB,EAAuB,YAAY;AAC/C,aAAO4N,8DAAW,CAAC,IAAD,EAAO,UAAUuE,EAAV,EAAc;AACnC,eAAO,CAAC;AAAE;AAAH,UAAe,KAAKktC,gBAAL,CAAsB7/D,GAAtB,EAA2B2+D,8EAA3B,EAAmDruD,OAAnD,CAAf,CAAP;AACH,OAFiB,CAAlB;AAGH,KAJe,CAAhB;AAKH,GAND;AAOA;AACJ;AACA;AACA;AACA;AACA;;;AACIsvD,EAAAA,SAAS,CAAC/yC,SAAV,CAAoBgzC,gBAApB,GAAuC,UAAU7/D,GAAV,EAAemnB,MAAf,EAAuB7W,OAAvB,EAAgC;AACnE,QAAImjB,KAAK,GAAG,IAAZ;;AACA,WAAO,IAAIrH,OAAJ,CAAY,UAAUC,OAAV,EAAmB0B,MAAnB,EAA2B;AAC1C,UAAI+xC,GAAG,GAAG,IAAIC,cAAJ,EAAV;AACAD,MAAAA,GAAG,CAAC/sE,IAAJ,CAASo0B,MAAT,EAAiBnnB,GAAjB;AAAsB;AAAa,UAAnC;;AACAyzB,MAAAA,KAAK,CAACusC,aAAN,CAAoBF,GAApB,EAAyBxvD,OAAzB;;AACAwvD,MAAAA,GAAG,CAACG,MAAJ,GAAa,YAAY;AACrB,YAAIH,GAAG,CAAC96D,MAAJ,GAAa,GAAb,IAAoB86D,GAAG,CAAC96D,MAAJ,IAAc,GAAtC,EAA2C;AACvC,cAAImiB,MAAM,KAAKw3C,8EAAf,EAAuC;AACnC5wC,YAAAA,MAAM,CAACsD,qGAAA,CAA8C,wBAAwByuC,GAAG,CAAC96D,MAA1E,EAAkFhF,GAAlF,CAAD,CAAN;AACH,WAFD,MAGK;AACD+tB,YAAAA,MAAM,CAACsD,oGAAA,CAA6C,wBAAwByuC,GAAG,CAAC96D,MAAzE,EAAiFhF,GAAjF,CAAD,CAAN;AACH;AACJ;;AACD,YAAI;AACA,cAAIkgE,YAAY,GAAGz+D,IAAI,CAACC,KAAL,CAAWo+D,GAAG,CAACK,YAAf,CAAnB;AACA,cAAIC,eAAe,GAAG;AAClB34C,YAAAA,OAAO,EAAEgM,KAAK,CAAC0rC,aAAN,CAAoBW,GAApB,CADS;AAElB7lE,YAAAA,IAAI,EAAEimE,YAFY;AAGlBl7D,YAAAA,MAAM,EAAE86D,GAAG,CAAC96D;AAHM,WAAtB;AAKAqnB,UAAAA,OAAO,CAAC+zC,eAAD,CAAP;AACH,SARD,CASA,OAAO7yC,CAAP,EAAU;AACNQ,UAAAA,MAAM,CAACsD,gHAAA,CAAyDrxB,GAAzD,CAAD,CAAN;AACH;AACJ,OArBD;;AAsBA8/D,MAAAA,GAAG,CAACO,OAAJ,GAAc,YAAY;AACtB,YAAIt+D,MAAM,CAACk9D,SAAP,CAAiBC,MAArB,EAA6B;AACzB,cAAI/3C,MAAM,KAAKw3C,8EAAf,EAAuC;AACnC5wC,YAAAA,MAAM,CAACsD,qGAAA,CAA8C,wBAAwByuC,GAAG,CAAC96D,MAA1E,EAAkFhF,GAAlF,CAAD,CAAN;AACH,WAFD,MAGK;AACD+tB,YAAAA,MAAM,CAACsD,oGAAA,CAA6C,wBAAwByuC,GAAG,CAAC96D,MAAzE,EAAiFhF,GAAjF,CAAD,CAAN;AACH;AACJ,SAPD,MAQK;AACD+tB,UAAAA,MAAM,CAACsD,yGAAA,EAAD,CAAN;AACH;AACJ,OAZD;;AAaA,UAAIlK,MAAM,KAAKw3C,8EAAX,IAAqCruD,OAArC,IAAgDA,OAAO,CAACrW,IAA5D,EAAkE;AAC9D6lE,QAAAA,GAAG,CAACQ,IAAJ,CAAShwD,OAAO,CAACrW,IAAjB;AACH,OAFD,MAGK,IAAIktB,MAAM,KAAKw3C,6EAAf,EAAsC;AACvCmB,QAAAA,GAAG,CAACQ,IAAJ;AACH,OAFI,MAGA;AACD,cAAMjvC,4GAAA,CAAqDlK,MAArD,CAAN;AACH;AACJ,KAhDM,CAAP;AAiDH,GAnDD;AAoDA;AACJ;AACA;AACA;AACA;;;AACIy4C,EAAAA,SAAS,CAAC/yC,SAAV,CAAoBmzC,aAApB,GAAoC,UAAUF,GAAV,EAAexvD,OAAf,EAAwB;AACxD,QAAIA,OAAO,IAAIA,OAAO,CAACmX,OAAvB,EAAgC;AAC5B,UAAI84C,SAAS,GAAGjwD,OAAO,CAACmX,OAAxB;AACA1C,MAAAA,MAAM,CAACkD,IAAP,CAAYs4C,SAAZ,EAAuB93C,OAAvB,CAA+B,UAAUC,GAAV,EAAe;AAC1Co3C,QAAAA,GAAG,CAACU,gBAAJ,CAAqB93C,GAArB,EAA0B63C,SAAS,CAAC73C,GAAD,CAAnC;AACH,OAFD;AAGH;AACJ,GAPD;AAQA;AACJ;AACA;AACA;AACA;AACA;;;AACIk3C,EAAAA,SAAS,CAAC/yC,SAAV,CAAoBsyC,aAApB,GAAoC,UAAUW,GAAV,EAAe;AAC/C,QAAIW,YAAY,GAAGX,GAAG,CAACY,qBAAJ,EAAnB;AACA,QAAIC,SAAS,GAAGF,YAAY,CAACG,IAAb,GAAoBj/D,KAApB,CAA0B,SAA1B,CAAhB;AACA,QAAIg+D,UAAU,GAAG,EAAjB;AACAgB,IAAAA,SAAS,CAACl4C,OAAV,CAAkB,UAAU30B,KAAV,EAAiB;AAC/B,UAAI+sE,KAAK,GAAG/sE,KAAK,CAAC6N,KAAN,CAAY,IAAZ,CAAZ;AACA,UAAIm/D,UAAU,GAAGD,KAAK,CAACE,KAAN,EAAjB;AACA,UAAIC,SAAS,GAAGH,KAAK,CAAClxE,IAAN,CAAW,IAAX,CAAhB;;AACA,UAAImxE,UAAU,IAAIE,SAAlB,EAA6B;AACzBrB,QAAAA,UAAU,CAACmB,UAAD,CAAV,GAAyBE,SAAzB;AACH;AACJ,KAPD;AAQA,WAAOrB,UAAP;AACH,GAbD;;AAcA,SAAOC,SAAP;AACH,CAzH8B,EAA/B;;;;;;;;;;;;;;;;;;ACbA;AACa;AACb;;AACA,IAAIxsE,IAAI,GAAG,qBAAX;AACA,IAAI5P,OAAO,GAAG,QAAd;;;;;;;;;;;;;;;;;;;;;ACJA;AACa;;AACb;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;;AACA,IAAI8tC,wBAAwB;AAAG;AAAe,UAAU5F,MAAV,EAAkB;AAC5DqB,EAAAA,4DAAS,CAACuE,wBAAD,EAA2B5F,MAA3B,CAAT;;AACA,WAAS4F,wBAAT,CAAkC5T,QAAlC,EAA4CC,SAA5C,EAAuD4E,MAAvD,EAA+D4+C,WAA/D,EAA4EC,cAA5E,EAA4FC,oBAA5F,EAAkHnvC,aAAlH,EAAiI;AAC7H,QAAIuB,KAAK,GAAG/H,MAAM,CAACK,IAAP,CAAY,IAAZ,EAAkBrO,QAAlB,EAA4BC,SAA5B,EAAuC4E,MAAvC,EAA+C4+C,WAA/C,EAA4DC,cAA5D,EAA4EC,oBAA5E,KAAqG,IAAjH;;AACA5tC,IAAAA,KAAK,CAACtB,aAAN,GAAsB,IAAI4mB,mEAAJ,CAAkBtlB,KAAK,CAAClR,MAAxB,EAAgC2P,aAAhC,CAAtB;AACAuB,IAAAA,KAAK,CAACunB,aAAN,GAAsB,IAAIP,mEAAJ,CAAkBhnB,KAAK,CAACtB,aAAxB,CAAtB;AACA,WAAOsB,KAAP;AACH;;AACDnC,EAAAA,wBAAwB,CAACzE,SAAzB,CAAmCy0C,4BAAnC,GAAkE,UAAUC,WAAV,EAAuBhuC,aAAvB,EAAsC;AACpG,WAAO,IAAI2tC,4FAAJ,CAAkCK,WAAlC,EAA+ChuC,aAA/C,CAAP;AACH,GAFD;;AAGAjC,EAAAA,wBAAwB,CAACzE,SAAzB,CAAmC20C,UAAnC,GAAgD,YAAY;AACxD,WAAO,KAAKxmB,aAAL,CAAmBE,YAAnB,EAAP;AACH,GAFD;;AAGA5pB,EAAAA,wBAAwB,CAACzE,SAAzB,CAAmC40C,iBAAnC,GAAuD,YAAY;AAC/D,QAAI9uC,EAAJ;;AACA,WAAO,CAAC,CAACA,EAAE,GAAGrO,QAAQ,CAACo9C,eAAf,MAAoC,IAApC,IAA4C/uC,EAAE,KAAK,KAAK,CAAxD,GAA4D,KAAK,CAAjE,GAAqEA,EAAE,CAACmN,QAAH,EAAtE,KAAwF,IAA/F;AACH,GAHD;AAIA;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;;;AACIxO,EAAAA,wBAAwB,CAACzE,SAAzB,CAAmCwI,gBAAnC,GAAsD,UAAUksC,WAAV,EAAuBhuC,aAAvB,EAAsC;AACxF,QAAIE,KAAK,GAAG,IAAZ,CADwF,CAExF;;;AACA,QAAIkuC,mBAAmB,GAAG,KAAKF,iBAAL,EAA1B;;AACA,QAAIG,eAAe,GAAGl2C,MAAM,CAACmB,SAAP,CAAiBwI,gBAAjB,CAAkCtJ,IAAlC,CAAuC,IAAvC,EAA6Cw1C,WAA7C,EAA0DhuC,aAA1D,CAAtB;;AACA,WAAOtG,2DAAQ,CAACA,2DAAQ,CAAC,EAAD,EAAK20C,eAAL,CAAT,EAAgC;AAAEpsC,MAAAA,cAAc,EAAE,UAAUpnB,KAAV,EAAiB;AAC1E,eAAOwzD,eAAe,CAACpsC,cAAhB,CAA+BvI,2DAAQ,CAAC;AAAE00C,UAAAA,mBAAmB,EAAEA,mBAAvB;AAA4CE,UAAAA,iBAAiB,EAAEpuC,KAAK,CAACguC,iBAAN;AAA/D,SAAD,EAA6FrzD,KAA7F,CAAvC,CAAP;AACH;AAF0C,KAAhC,CAAf;AAGH,GARD;;AASA,SAAOkjB,wBAAP;AACH,CApC6C,CAoC5C2vC,iEApC4C,CAA9C;;;;;;;;;;;;;;;;;ACZA;AACa;AACb;AACA;AACA;AACA;;AACA,IAAIC,6BAA6B;AAAG;AAAe,YAAY;AAC3D,WAASA,6BAAT,CAAuC9tE,IAAvC,EAA6CmgC,aAA7C,EAA4D;AACxD,SAAKA,aAAL,GAAqBA,aAArB;AACA,SAAKguC,WAAL,GAAmB,kBAAkBnuE,IAAlB,GAAyB,GAAzB,GAA+B,KAAKmgC,aAAvD;AACA,SAAKuuC,SAAL,GAAiB,gBAAgB1uE,IAAhB,GAAuB,GAAvB,GAA6B,KAAKmgC,aAAnD;AACA,SAAKwuC,OAAL,GAAe,cAAc3uE,IAAd,GAAqB,GAArB,GAA2B,KAAKmgC,aAA/C;AACH;;AACD2tC,EAAAA,6BAA6B,CAACc,0BAA9B,GAA2D,YAAY;AACnE,WAAO,OAAOjgE,MAAP,KAAkB,WAAlB,IACH,OAAOA,MAAM,CAAC47D,WAAd,KAA8B,WAD3B,IAEH,OAAO57D,MAAM,CAAC47D,WAAP,CAAmBsE,IAA1B,KAAmC,UAFhC,IAGH,OAAOlgE,MAAM,CAAC47D,WAAP,CAAmBuE,OAA1B,KAAsC,UAHnC,IAIH,OAAOngE,MAAM,CAAC47D,WAAP,CAAmBwE,UAA1B,KAAyC,UAJtC,IAKH,OAAOpgE,MAAM,CAAC47D,WAAP,CAAmByE,aAA1B,KAA4C,UALzC,IAMH,OAAOrgE,MAAM,CAAC47D,WAAP,CAAmB0E,gBAA1B,KAA+C,UANnD;AAOH,GARD;;AASAnB,EAAAA,6BAA6B,CAACr0C,SAA9B,CAAwCwI,gBAAxC,GAA2D,YAAY;AACnE,QAAI6rC,6BAA6B,CAACc,0BAA9B,EAAJ,EAAgE;AAC5D,UAAI;AACAjgE,QAAAA,MAAM,CAAC47D,WAAP,CAAmBsE,IAAnB,CAAwB,KAAKH,SAA7B;AACH,OAFD,CAGA,OAAOv0C,CAAP,EAAU,CACN;AACH;AACJ;AACJ,GATD;;AAUA2zC,EAAAA,6BAA6B,CAACr0C,SAA9B,CAAwC2I,cAAxC,GAAyD,YAAY;AACjE,QAAI0rC,6BAA6B,CAACc,0BAA9B,EAAJ,EAAgE;AAC5D,UAAI;AACAjgE,QAAAA,MAAM,CAAC47D,WAAP,CAAmBsE,IAAnB,CAAwB,KAAKF,OAA7B;AACAhgE,QAAAA,MAAM,CAAC47D,WAAP,CAAmBuE,OAAnB,CAA2B,KAAKX,WAAhC,EAA6C,KAAKO,SAAlD,EAA6D,KAAKC,OAAlE;AACH,OAHD,CAIA,OAAOx0C,CAAP,EAAU,CACN;AACH;AACJ;AACJ,GAVD;;AAWA2zC,EAAAA,6BAA6B,CAACr0C,SAA9B,CAAwC+I,gBAAxC,GAA2D,YAAY;AACnE,QAAIsrC,6BAA6B,CAACc,0BAA9B,EAAJ,EAAgE;AAC5D,UAAI;AACA,YAAIM,qBAAqB,GAAGvgE,MAAM,CAAC47D,WAAP,CAAmB0E,gBAAnB,CAAoC,KAAKd,WAAzC,EAAsD,SAAtD,CAA5B;;AACA,YAAIe,qBAAqB,CAAC/yE,MAAtB,GAA+B,CAAnC,EAAsC;AAClC,cAAIgzE,UAAU,GAAGD,qBAAqB,CAAC,CAAD,CAArB,CAAyBjnE,QAA1C;AACA0G,UAAAA,MAAM,CAAC47D,WAAP,CAAmByE,aAAnB,CAAiC,KAAKb,WAAtC;AACAx/D,UAAAA,MAAM,CAAC47D,WAAP,CAAmBwE,UAAnB,CAA8B,KAAKL,SAAnC;AACA//D,UAAAA,MAAM,CAAC47D,WAAP,CAAmBwE,UAAnB,CAA8B,KAAKJ,OAAnC;AACA,iBAAOQ,UAAP;AACH;AACJ,OATD,CAUA,OAAOh1C,CAAP,EAAU,CACN;AACH;AACJ;;AACD,WAAO,IAAP;AACH,GAjBD;;AAkBA,SAAO2zC,6BAAP;AACH,CAxDkD,EAAnD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACNA;AACa;;AACb;AAEA;AACA;AACA;AACA;;AACA;AACA;AACA;;AACA,IAAI5lC,gBAAgB,GAAG;AACnB;AACJ;AACA;AACIknC,EAAAA,6BAA6B,EAAE,yBAJZ;;AAKnB;AACJ;AACA;AACIrlC,EAAAA,mBAAmB,EAAE,eARF;;AASnB;AACJ;AACA;AACI85B,EAAAA,WAAW,EAAE,GAZM;;AAanB;AACJ;AACA;AACIC,EAAAA,YAAY,EAAE,GAhBK;;AAiBnB;AACJ;AACA;AACIE,EAAAA,iBAAiB,EAAE,MApBA;;AAqBnB;AACJ;AACA;AACIrf,EAAAA,wBAAwB,EAAE,EAxBP;;AAyBnB;AACJ;AACA;AACI+S,EAAAA,QAAQ,EAAE;AA5BS,CAAvB;AA8BA,IAAIxtB,eAAe,GAAG;AAClBa,EAAAA,UAAU,EAAE,sCADM;AAElBM,EAAAA,sBAAsB,EAAE,kCAFN;AAGlBkzB,EAAAA,cAAc,EAAE;AAHE,CAAtB;AAKA,IAAIp0B,qBAAqB;AACzB,GAAC,UAAUA,qBAAV,EAAiC;AAC9BA,IAAAA,qBAAqB,CAAC,kBAAD,CAArB,GAA4C,WAA5C;AACAA,IAAAA,qBAAqB,CAAC,mBAAD,CAArB,GAA6C,mBAA7C;AACAA,IAAAA,qBAAqB,CAAC,UAAD,CAArB,GAAoC,UAApC;AACAA,IAAAA,qBAAqB,CAAC,UAAD,CAArB,GAAoC,UAApC;AACH,GALD,EAKGA,qBAAqB,KAAKA,qBAAqB,GAAG,EAA7B,CALxB,CADyB;;AAAA,SAArBA,qBAAqB;AAAA,IAAzB;AAOA,IAAIhgB,oBAAoB;AACxB,GAAC,UAAUA,oBAAV,EAAgC;AAC7BA,IAAAA,oBAAoB,CAAC,cAAD,CAApB,GAAuC,cAAvC;AACAA,IAAAA,oBAAoB,CAAC,gBAAD,CAApB,GAAyC,gBAAzC;AACAA,IAAAA,oBAAoB,CAAC,eAAD,CAApB,GAAwC,eAAxC;AACH,GAJD,EAIGA,oBAAoB,KAAKA,oBAAoB,GAAG,EAA5B,CAJvB,CADwB;;AAAA,SAApBA,oBAAoB;AAAA,IAAxB;;AAMA;AACA;AACA;AACA,IAAIohD,iBAAiB;AACrB,GAAC,UAAUA,iBAAV,EAA6B;AAC1BA,IAAAA,iBAAiB,CAAC,KAAD,CAAjB,GAA2B,KAA3B;AACAA,IAAAA,iBAAiB,CAAC,MAAD,CAAjB,GAA4B,MAA5B;AACH,GAHD,EAGGA,iBAAiB,KAAKA,iBAAiB,GAAG,EAAzB,CAHpB,CADqB;;AAAA,SAAjBA,iBAAiB;AAAA,IAArB;;AAKA;AACA;AACA;AACA,IAAIpuC,kBAAkB;AACtB,GAAC,UAAUA,kBAAV,EAA8B;AAC3BA,IAAAA,kBAAkB,CAAC,WAAD,CAAlB,GAAkC,WAAlC;AACAA,IAAAA,kBAAkB,CAAC,uBAAD,CAAlB,GAA8C,sBAA9C;AACAA,IAAAA,kBAAkB,CAAC,eAAD,CAAlB,GAAsC,eAAtC;AACAA,IAAAA,kBAAkB,CAAC,eAAD,CAAlB,GAAsC,eAAtC;AACAA,IAAAA,kBAAkB,CAAC,eAAD,CAAlB,GAAsC,gBAAtC;AACAA,IAAAA,kBAAkB,CAAC,YAAD,CAAlB,GAAmC,gBAAnC;AACAA,IAAAA,kBAAkB,CAAC,cAAD,CAAlB,GAAqC,oBAArC;AACAA,IAAAA,kBAAkB,CAAC,UAAD,CAAlB,GAAiC,SAAjC;AACAA,IAAAA,kBAAkB,CAAC,gBAAD,CAAlB,GAAuC,gBAAvC;AACAA,IAAAA,kBAAkB,CAAC,QAAD,CAAlB,GAA+B,QAA/B;AACAA,IAAAA,kBAAkB,CAAC,wBAAD,CAAlB,GAA+C,oBAA/C;AACAA,IAAAA,kBAAkB,CAAC,gBAAD,CAAlB,GAAuC,gBAAvC;AACAA,IAAAA,kBAAkB,CAAC,gBAAD,CAAlB,GAAuC,uBAAvC;AACAA,IAAAA,kBAAkB,CAAC,gBAAD,CAAlB,GAAuC,gBAAvC;AACAA,IAAAA,kBAAkB,CAAC,kBAAD,CAAlB,GAAyC,0BAAzC;AACH,GAhBD,EAgBGA,kBAAkB,KAAKA,kBAAkB,GAAG,EAA1B,CAhBrB,CADsB;;AAAA,SAAlBA,kBAAkB;AAAA,IAAtB;;AAkBA;AACA;AACA;AACA,IAAIiS,iBAAiB;AACrB,GAAC,UAAUA,iBAAV,EAA6B;AAC1BA,IAAAA,iBAAiB,CAAC,aAAD,CAAjB,GAAmC,aAAnC;AACAA,IAAAA,iBAAiB,CAAC,aAAD,CAAjB,GAAmC,iBAAnC;AACH,GAHD,EAGGA,iBAAiB,KAAKA,iBAAiB,GAAG,EAAzB,CAHpB,CADqB;;AAAA,SAAjBA,iBAAiB;AAAA,IAArB;;AAKA;AACA;AACA;AACA;AACA;AACA;AACA,IAAIlS,KAAK;AACT,GAAC,UAAUA,KAAV,EAAiB;AACdA,IAAAA,KAAK,CAACA,KAAK,CAAC,sBAAD,CAAL,GAAgC,GAAjC,CAAL,GAA6C,sBAA7C;AACAA,IAAAA,KAAK,CAACA,KAAK,CAAC,mBAAD,CAAL,GAA6B,GAA9B,CAAL,GAA0C,mBAA1C;AACAA,IAAAA,KAAK,CAACA,KAAK,CAAC,WAAD,CAAL,GAAqB,GAAtB,CAAL,GAAkC,WAAlC;AACAA,IAAAA,KAAK,CAACA,KAAK,CAAC,6BAAD,CAAL,GAAuC,GAAxC,CAAL,GAAoD,6BAApD;AACAA,IAAAA,KAAK,CAACA,KAAK,CAAC,uBAAD,CAAL,GAAiC,GAAlC,CAAL,GAA8C,uBAA9C;AACAA,IAAAA,KAAK,CAACA,KAAK,CAAC,oBAAD,CAAL,GAA8B,GAA/B,CAAL,GAA2C,oBAA3C;AACAA,IAAAA,KAAK,CAACA,KAAK,CAAC,+BAAD,CAAL,GAAyC,EAA1C,CAAL,GAAqD,+BAArD;AACAA,IAAAA,KAAK,CAACA,KAAK,CAAC,QAAD,CAAL,GAAkB,GAAnB,CAAL,GAA+B,QAA/B;AACAA,IAAAA,KAAK,CAACA,KAAK,CAAC,aAAD,CAAL,GAAuB,GAAxB,CAAL,GAAoC,aAApC;AACH,GAVD,EAUGA,KAAK,KAAKA,KAAK,GAAG,EAAb,CAVR,CADS;;AAAA,SAALA,KAAK;AAAA,IAAT;;AAYA;AACA;AACA;AACA,IAAI1Q,eAAe;AACnB,GAAC,UAAUA,eAAV,EAA2B;AACxBA,IAAAA,eAAe,CAAC,UAAD,CAAf,GAA8B,UAA9B;AACAA,IAAAA,eAAe,CAAC,OAAD,CAAf,GAA2B,OAA3B;AACAA,IAAAA,eAAe,CAAC,QAAD,CAAf,GAA4B,QAA5B;AACAA,IAAAA,eAAe,CAAC,MAAD,CAAf,GAA0B,MAA1B;AACH,GALD,EAKGA,eAAe,KAAKA,eAAe,GAAG,EAAvB,CALlB,CADmB;;AAAA,SAAfA,eAAe;AAAA,IAAnB;;AAOA;AACA;AACA;AACA;AACA,IAAIF,iBAAiB;AACrB,GAAC,UAAUA,iBAAV,EAA6B;AAC1B;AACJ;AACA;AACIA,IAAAA,iBAAiB,CAAC,SAAD,CAAjB,GAA+B,SAA/B;AACA;AACJ;AACA;;AACIA,IAAAA,iBAAiB,CAAC,OAAD,CAAjB,GAA6B,OAA7B;AACA;AACJ;AACA;;AACIA,IAAAA,iBAAiB,CAAC,QAAD,CAAjB,GAA8B,QAA9B;AACA;AACJ;AACA;;AACIA,IAAAA,iBAAiB,CAAC,cAAD,CAAjB,GAAoC,cAApC;AACA;AACJ;AACA;;AACIA,IAAAA,iBAAiB,CAAC,WAAD,CAAjB,GAAiC,WAAjC;AACA;AACJ;AACA;;AACIA,IAAAA,iBAAiB,CAAC,gBAAD,CAAjB,GAAsC,gBAAtC;AACA;AACJ;AACA;;AACIA,IAAAA,iBAAiB,CAAC,MAAD,CAAjB,GAA4B,MAA5B;AACH,GA7BD,EA6BGA,iBAAiB,KAAKA,iBAAiB,GAAG,EAAzB,CA7BpB,CADqB;;AAAA,SAAjBA,iBAAiB;AAAA,IAArB;AA+BA,IAAI2b,eAAe,GAAG;AAClB7c,EAAAA,MAAM,EAAEkuC,mEAAmBA;AADT,CAAtB;AAGA;AACA;AACA;;AACA,IAAIvN,cAAc,GAAG,KAArB,EACA;;AACA,IAAI1/B,UAAU;AACd,GAAC,UAAUA,UAAV,EAAsB;AACnBA,IAAAA,UAAU,CAAC,OAAD,CAAV,GAAsB,mBAAtB;AACAA,IAAAA,UAAU,CAAC,SAAD,CAAV,GAAwB,qBAAxB;AACH,GAHD,EAGGA,UAAU,KAAKA,UAAU,GAAG,EAAlB,CAHb,CADc;;AAAA,SAAVA,UAAU;AAAA,IAAd;AAKA;AACA,IAAIuwB,OAAO,GAAG,SAAd;AACA,IAAIC,UAAU,GAAG,CAAjB;AACA,IAAIC,aAAa,GAAGF,OAAO,GAAG,OAA9B;AACA,IAAIxf,iBAAiB;AACrB,GAAC,UAAUA,iBAAV,EAA6B;AAC1B;AACJ;AACA;AACA;AACA;AACIA,IAAAA,iBAAiB,CAACA,iBAAiB,CAAC,SAAD,CAAjB,GAA+B,CAAhC,CAAjB,GAAsD,SAAtD;AACA;AACJ;AACA;AACA;;AACIA,IAAAA,iBAAiB,CAACA,iBAAiB,CAAC,aAAD,CAAjB,GAAmC,CAApC,CAAjB,GAA0D,aAA1D;AACA;AACJ;AACA;AACA;AACA;;AACIA,IAAAA,iBAAiB,CAACA,iBAAiB,CAAC,4BAAD,CAAjB,GAAkD,CAAnD,CAAjB,GAAyE,4BAAzE;AACA;AACJ;AACA;AACA;AACA;;AACIA,IAAAA,iBAAiB,CAACA,iBAAiB,CAAC,cAAD,CAAjB,GAAoC,CAArC,CAAjB,GAA2D,cAA3D;AACA;AACJ;AACA;AACA;AACA;;AACIA,IAAAA,iBAAiB,CAACA,iBAAiB,CAAC,wBAAD,CAAjB,GAA8C,CAA/C,CAAjB,GAAqE,wBAArE;AACA;AACJ;AACA;AACA;;AACIA,IAAAA,iBAAiB,CAACA,iBAAiB,CAAC,MAAD,CAAjB,GAA4B,CAA7B,CAAjB,GAAmD,MAAnD;AACH,GAnCD,EAmCGA,iBAAiB,KAAKA,iBAAiB,GAAG,EAAzB,CAnCpB,CADqB;;AAAA,SAAjBA,iBAAiB;AAAA,IAArB;;;;;;;;;;;;;;;;;;;;AChLA;AACa;;AACb;AAEA;AACA;AACA;AACA;;AACA,IAAIkS,oBAAoB;AAAG;AAAe,YAAY;AAClD,WAASA,oBAAT,GAAgC,CAC/B;AACD;AACJ;AACA;AACA;AACA;;;AACIA,EAAAA,oBAAoB,CAACyK,0BAArB,GAAkD,UAAUhb,aAAV,EAAyB9zB,KAAzB,EAAgC;AAC9E,QAAI2hB,mEAAA,CAAoB3hB,KAApB,CAAJ,EAAgC;AAC5B,aAAO,IAAP;AACH;;AACD,QAAI;AACA,UAAIokE,eAAe,GAAGpgC,+EAAA,CAAgClQ,aAAhC,EAA+C9zB,KAA/C,CAAtB;AACA,aAAOokE,eAAe,CAACn3B,YAAhB,CAA6Bo3B,IAApC;AACH,KAHD,CAIA,OAAOn1C,CAAP,EAAU;AACN,YAAMuC,uFAAA,CAAwCzxB,KAAxC,EAA+CkvB,CAA/C,CAAN;AACH;AACJ,GAXD;AAYA;AACJ;AACA;AACA;;;AACImV,EAAAA,oBAAoB,CAACkgC,2BAArB,GAAmD,UAAUtG,YAAV,EAAwB;AACvE,QAAI,CAACA,YAAL,EAAmB;AACf,aAAO,EAAP;AACH;;AACD,QAAIuG,aAAa,GAAG,IAAI/iD,yDAAJ,CAAcw8C,YAAd,CAApB;AACA,WAAOx8C,6EAAA,CAA8B+iD,aAAa,CAACC,OAAd,EAA9B,CAAP;AACH,GAND;;AAOA,SAAOpgC,oBAAP;AACH,CAhCyC,EAA1C;;;;;;;;;;;;;;;;;;ACRA;AACa;;AACb;AAEA;AACA;AACA;AACA;;AACA;AACA;AACA;AACA;;AACA,IAAI4V,kBAAkB;AAAG;AAAe,YAAY;AAChD,WAASA,kBAAT,GAA8B,CAC7B;AACD;AACJ;AACA;AACA;;;AACIA,EAAAA,kBAAkB,CAACsB,eAAnB,GAAqC,UAAUmpB,OAAV,EAAmB;AACpD,QAAIC,IAAJ;AACA,QAAIC,OAAO,GAAG,CAAd;AACA,QAAIC,OAAO,GAAGH,OAAO,CAACxzE,MAAtB;AACA;;AACA,SAAK,IAAI4zE,OAAO,GAAG,CAAnB,EAAsBA,OAAO,GAAGD,OAAhC,EAAyCC,OAAO,EAAhD,EAAoD;AAChDH,MAAAA,IAAI,GAAGD,OAAO,CAAChhB,UAAR,CAAmBohB,OAAnB,CAAP;AACAF,MAAAA,OAAO,IAAID,IAAI,GAAG,IAAP,GAAc,CAAd,GAAkBA,IAAI,GAAG,KAAP,GAAe,CAAf,GAAmBA,IAAI,GAAG,OAAP,GAAiB,CAAjB,GAAqBA,IAAI,GAAG,QAAP,GAAkB,CAAlB,GAAsBA,IAAI,GAAG,SAAP,GAAmB,CAAnB,GAAuB,CAAlH;AACH;;AACD,QAAIxhB,MAAM,GAAG,IAAI1I,UAAJ,CAAemqB,OAAf,CAAb;AACA;;AACA,SAAK,IAAI5gB,IAAI,GAAG,CAAX,EAAc+gB,OAAO,GAAG,CAA7B,EAAgC/gB,IAAI,GAAG4gB,OAAvC,EAAgDG,OAAO,EAAvD,EAA2D;AACvDJ,MAAAA,IAAI,GAAGD,OAAO,CAAChhB,UAAR,CAAmBqhB,OAAnB,CAAP;;AACA,UAAIJ,IAAI,GAAG,GAAX,EAAgB;AACZ;AACAxhB,QAAAA,MAAM,CAACa,IAAI,EAAL,CAAN,GAAiB2gB,IAAjB;AACH,OAHD,MAIK,IAAIA,IAAI,GAAG,KAAX,EAAkB;AACnB;AACAxhB,QAAAA,MAAM,CAACa,IAAI,EAAL,CAAN,GAAiB,OAAO2gB,IAAI,KAAK,CAAhB,CAAjB;AACAxhB,QAAAA,MAAM,CAACa,IAAI,EAAL,CAAN,GAAiB,OAAO2gB,IAAI,GAAG,EAAd,CAAjB;AACH,OAJI,MAKA,IAAIA,IAAI,GAAG,OAAX,EAAoB;AACrB;AACAxhB,QAAAA,MAAM,CAACa,IAAI,EAAL,CAAN,GAAiB,OAAO2gB,IAAI,KAAK,EAAhB,CAAjB;AACAxhB,QAAAA,MAAM,CAACa,IAAI,EAAL,CAAN,GAAiB,OAAO2gB,IAAI,KAAK,CAAT,GAAa,EAApB,CAAjB;AACAxhB,QAAAA,MAAM,CAACa,IAAI,EAAL,CAAN,GAAiB,OAAO2gB,IAAI,GAAG,EAAd,CAAjB;AACH,OALI,MAMA,IAAIA,IAAI,GAAG,QAAX,EAAqB;AACtB;AACAxhB,QAAAA,MAAM,CAACa,IAAI,EAAL,CAAN,GAAiB,OAAO2gB,IAAI,KAAK,EAAhB,CAAjB;AACAxhB,QAAAA,MAAM,CAACa,IAAI,EAAL,CAAN,GAAiB,OAAO2gB,IAAI,KAAK,EAAT,GAAc,EAArB,CAAjB;AACAxhB,QAAAA,MAAM,CAACa,IAAI,EAAL,CAAN,GAAiB,OAAO2gB,IAAI,KAAK,CAAT,GAAa,EAApB,CAAjB;AACAxhB,QAAAA,MAAM,CAACa,IAAI,EAAL,CAAN,GAAiB,OAAO2gB,IAAI,GAAG,EAAd,CAAjB;AACH,OANI,MAOA,IAAIA,IAAI,GAAG,SAAX,EAAsB;AACvB;AACAxhB,QAAAA,MAAM,CAACa,IAAI,EAAL,CAAN,GAAiB,OAAO2gB,IAAI,KAAK,EAAhB,CAAjB;AACAxhB,QAAAA,MAAM,CAACa,IAAI,EAAL,CAAN,GAAiB,OAAO2gB,IAAI,KAAK,EAAT,GAAc,EAArB,CAAjB;AACAxhB,QAAAA,MAAM,CAACa,IAAI,EAAL,CAAN,GAAiB,OAAO2gB,IAAI,KAAK,EAAT,GAAc,EAArB,CAAjB;AACAxhB,QAAAA,MAAM,CAACa,IAAI,EAAL,CAAN,GAAiB,OAAO2gB,IAAI,KAAK,CAAT,GAAa,EAApB,CAAjB;AACAxhB,QAAAA,MAAM,CAACa,IAAI,EAAL,CAAN,GAAiB,OAAO2gB,IAAI,GAAG,EAAd,CAAjB;AACH,OAPI;AAQA;AAA8B;AAC/B;AACAxhB,UAAAA,MAAM,CAACa,IAAI,EAAL,CAAN,GAAiB,OAAO2gB,IAAI,KAAK,EAAhB,CAAjB;AACAxhB,UAAAA,MAAM,CAACa,IAAI,EAAL,CAAN,GAAiB,OAAO2gB,IAAI,KAAK,EAAT,GAAc,EAArB,CAAjB;AACAxhB,UAAAA,MAAM,CAACa,IAAI,EAAL,CAAN,GAAiB,OAAO2gB,IAAI,KAAK,EAAT,GAAc,EAArB,CAAjB;AACAxhB,UAAAA,MAAM,CAACa,IAAI,EAAL,CAAN,GAAiB,OAAO2gB,IAAI,KAAK,EAAT,GAAc,EAArB,CAAjB;AACAxhB,UAAAA,MAAM,CAACa,IAAI,EAAL,CAAN,GAAiB,OAAO2gB,IAAI,KAAK,CAAT,GAAa,EAApB,CAAjB;AACAxhB,UAAAA,MAAM,CAACa,IAAI,EAAL,CAAN,GAAiB,OAAO2gB,IAAI,GAAG,EAAd,CAAjB;AACH;AACJ;;AACD,WAAOxhB,MAAP;AACH,GAtDD;AAuDA;AACJ;AACA;AACA;;;AACIlJ,EAAAA,kBAAkB,CAAC6F,mBAAnB,GAAyC,UAAUxE,UAAV,EAAsB;AAC3D,QAAIpvD,IAAI,GAAG,IAAI84E,WAAJ,CAAgB1pB,UAAU,CAACpqD,MAA3B,CAAX;AACA,QAAI+zE,QAAQ,GAAG,IAAIxqB,UAAJ,CAAevuD,IAAf,CAAf;;AACA,SAAK,IAAIgP,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGogD,UAAU,CAACpqD,MAA/B,EAAuCgK,CAAC,EAAxC,EAA4C;AACxC+pE,MAAAA,QAAQ,CAAC/pE,CAAD,CAAR,GAAcogD,UAAU,CAACoI,UAAX,CAAsBxoD,CAAtB,CAAd;AACH;;AACD,WAAOhP,IAAP;AACH,GAPD;AAQA;AACJ;AACA;AACA;;;AACI+tD,EAAAA,kBAAkB,CAACuH,eAAnB,GAAqC,UAAU2B,MAAV,EAAkB;AACnD,QAAI+hB,KAAK,GAAG7zC,sEAAZ;;AACA,SAAK,IAAI8zC,KAAK,GAAG,KAAK,CAAjB,EAAoBphB,IAAI,GAAGZ,MAAM,CAACjyD,MAAlC,EAA0C8yD,IAAI,GAAG,CAAtD,EAAyDA,IAAI,GAAGD,IAAhE,EAAsEC,IAAI,EAA1E,EAA8E;AAC1EmhB,MAAAA,KAAK,GAAGhiB,MAAM,CAACa,IAAD,CAAd;AACAkhB,MAAAA,KAAK,IAAIjhB,MAAM,CAACC,YAAP,CAAoBihB,KAAK,GAAG,GAAR,IAAeA,KAAK,GAAG,GAAvB,IAA8BnhB,IAAI,GAAG,CAAP,GAAWD,IAAzC;AAAgD;;AACzE;AACA,OAACohB,KAAK,GAAG,GAAT,IAAgB,UAAhB,IAA8BhiB,MAAM,CAAC,EAAEa,IAAH,CAAN,GAAiB,GAAjB,IAAwB,EAAtD,KAA6Db,MAAM,CAAC,EAAEa,IAAH,CAAN,GAAiB,GAAjB,IAAwB,EAArF,KAA4Fb,MAAM,CAAC,EAAEa,IAAH,CAAN,GAAiB,GAAjB,IAAwB,EAApH,KAA2Hb,MAAM,CAAC,EAAEa,IAAH,CAAN,GAAiB,GAAjB,IAAwB,CAAnJ,IAAwJb,MAAM,CAAC,EAAEa,IAAH,CAA9J,GAAyK,GAFhJ,GAGvBmhB,KAAK,GAAG,GAAR,IAAeA,KAAK,GAAG,GAAvB,IAA8BnhB,IAAI,GAAG,CAAP,GAAWD,IAAzC;AAAgD;AAC9C,OAACohB,KAAK,GAAG,GAAR,IAAe,EAAhB,KAAuBhiB,MAAM,CAAC,EAAEa,IAAH,CAAN,GAAiB,GAAjB,IAAwB,EAA/C,KAAsDb,MAAM,CAAC,EAAEa,IAAH,CAAN,GAAiB,GAAjB,IAAwB,EAA9E,KAAqFb,MAAM,CAAC,EAAEa,IAAH,CAAN,GAAiB,GAAjB,IAAwB,CAA7G,IAAkHb,MAAM,CAAC,EAAEa,IAAH,CAAxH,GAAmI,GADrI,GAEImhB,KAAK,GAAG,GAAR,IAAeA,KAAK,GAAG,GAAvB,IAA8BnhB,IAAI,GAAG,CAAP,GAAWD,IAAzC;AAAgD;AAC9C,OAACohB,KAAK,GAAG,GAAR,IAAe,EAAhB,KAAuBhiB,MAAM,CAAC,EAAEa,IAAH,CAAN,GAAiB,GAAjB,IAAwB,EAA/C,KAAsDb,MAAM,CAAC,EAAEa,IAAH,CAAN,GAAiB,GAAjB,IAAwB,CAA9E,IAAmFb,MAAM,CAAC,EAAEa,IAAH,CAAzF,GAAoG,GADtG,GAEImhB,KAAK,GAAG,GAAR,IAAeA,KAAK,GAAG,GAAvB,IAA8BnhB,IAAI,GAAG,CAAP,GAAWD,IAAzC;AAAgD;AAC9C,OAACohB,KAAK,GAAG,GAAR,IAAe,EAAhB,KAAuBhiB,MAAM,CAAC,EAAEa,IAAH,CAAN,GAAiB,GAAjB,IAAwB,CAA/C,IAAoDb,MAAM,CAAC,EAAEa,IAAH,CAA1D,GAAqE,GADvE,GAEImhB,KAAK,GAAG,GAAR,IAAeA,KAAK,GAAG,GAAvB,IAA8BnhB,IAAI,GAAG,CAAP,GAAWD,IAAzC;AAAgD;AAC9C,OAACohB,KAAK,GAAG,GAAR,IAAe,CAAhB,IAAqBhiB,MAAM,CAAC,EAAEa,IAAH,CAA3B,GAAsC,GADxC;AAEI;;AAAoB;AAClBmhB,MAAAA,KAZf,CAAT;AAaH;;AACD,WAAOD,KAAP;AACH,GAnBD;AAoBA;AACJ;AACA;AACA;;;AACIjrB,EAAAA,kBAAkB,CAACgE,qBAAnB,GAA2C,UAAUvjC,GAAV,EAAe;AACtD,WAAOtX,IAAI,CAACI,SAAL,CAAekX,GAAf,EAAoBgM,MAAM,CAACkD,IAAP,CAAYlP,GAAZ,EAAiB0qD,IAAjB,EAApB,CAAP;AACH,GAFD;;AAGA,SAAOnrB,kBAAP;AACH,CA1GuC,EAAxC;;;;;;;;;;;;;;;;;;;;;;;ACZA;AACa;;AACb;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;;AACA;AACA;AACA;;AACA,IAAIv4B,YAAY;AAAG;AAAe,YAAY;AAC1C,WAASA,YAAT,GAAwB,CACvB,CAFyC,CAG1C;;AACA;AACJ;AACA;;;AACIA,EAAAA,YAAY,CAACy4C,SAAb,GAAyB,UAAUsF,aAAV,EAAyB;AAC9C;AACAA,IAAAA,aAAa,CAAC97D,QAAd,CAAuBkf,IAAvB,GAA8BwO,sEAA9B;;AACA,QAAI,OAAOouC,aAAa,CAAC4F,OAAd,CAAsBC,YAA7B,KAA8C,UAAlD,EAA8D;AAC1D;AACA7F,MAAAA,aAAa,CAAC4F,OAAd,CAAsBC,YAAtB,CAAmC,IAAnC,EAAyCj0C,sEAAzC,EAAiE,KAAKouC,aAAa,CAAC97D,QAAd,CAAuB0iB,MAA5B,GAAqCo5C,aAAa,CAAC97D,QAAd,CAAuB4hE,QAA5D,GAAuE9F,aAAa,CAAC97D,QAAd,CAAuB6hE,MAA/J;AACH;AACJ,GAPD;AAQA;AACJ;AACA;;;AACI9jD,EAAAA,YAAY,CAACs4C,WAAb,GAA2B,UAAUr4D,GAAV,EAAe;AACtC,QAAI8jE,QAAQ,GAAG9jE,GAAG,CAAC2B,KAAJ,CAAU,GAAV,CAAf;AACAmiE,IAAAA,QAAQ,CAAC/C,KAAT,GAFsC,CAEpB;;AAClBh/D,IAAAA,MAAM,CAACC,QAAP,CAAgBkf,IAAhB,GAAuB4iD,QAAQ,CAACv0E,MAAT,GAAkB,CAAlB,GAAsBu0E,QAAQ,CAACn0E,IAAT,CAAc,GAAd,CAAtB,GAA2C+/B,sEAAlE;AACH,GAJD;AAKA;AACJ;AACA;;;AACI3P,EAAAA,YAAY,CAAC2F,UAAb,GAA0B,YAAY;AAClC,WAAO3jB,MAAM,CAACgiE,MAAP,KAAkBhiE,MAAzB;AACH,GAFD;AAGA;AACJ;AACA;;;AACIge,EAAAA,YAAY,CAACikD,SAAb,GAAyB,YAAY;AACjC,WAAO,OAAOjiE,MAAP,KAAkB,WAAlB,IAAiC,CAAC,CAACA,MAAM,CAACkiE,MAA1C,IACHliE,MAAM,CAACkiE,MAAP,KAAkBliE,MADf,IAEH,OAAOA,MAAM,CAAC3O,IAAd,KAAuB,QAFpB,IAGH2O,MAAM,CAAC3O,IAAP,CAAY4H,OAAZ,CAAoBsgC,oFAAA,GAAqC,GAAzD,MAAkE,CAHtE;AAIH,GALD,CAhC0C,CAsC1C;;AACA;AACJ;AACA;;;AACIvb,EAAAA,YAAY,CAAC6rC,aAAb,GAA6B,YAAY;AACrC,WAAO7pD,MAAM,CAACC,QAAP,CAAgB0P,IAAhB,CAAqB/P,KAArB,CAA2B,GAA3B,EAAgC,CAAhC,EAAmCA,KAAnC,CAAyC,GAAzC,EAA8C,CAA9C,CAAP;AACH,GAFD;AAGA;AACJ;AACA;;;AACIoe,EAAAA,YAAY,CAACu4C,WAAb,GAA2B,YAAY;AACnC,QAAI4L,UAAU,GAAG,IAAIpkD,yDAAJ,CAAc/d,MAAM,CAACC,QAAP,CAAgB0P,IAA9B,CAAjB;AACA,QAAIsa,aAAa,GAAGk4C,UAAU,CAACj7C,gBAAX,EAApB;AACA,WAAO+C,aAAa,CAACm4C,QAAd,GAAyB,IAAzB,GAAgCn4C,aAAa,CAACzC,eAA9C,GAAgE,GAAvE;AACH,GAJD;AAKA;AACJ;AACA;;;AACIxJ,EAAAA,YAAY,CAACu3B,uBAAb,GAAuC,YAAY;AAC/C,QAAIv1C,MAAM,CAAC+8D,KAAP,IAAgB/8D,MAAM,CAACy9D,OAA3B,EAAoC;AAChC,aAAO,IAAIZ,gEAAJ,EAAP;AACH,KAFD,MAGK;AACD,aAAO,IAAIgB,4DAAJ,EAAP;AACH;AACJ,GAPD;AAQA;AACJ;AACA;AACA;;;AACI7/C,EAAAA,YAAY,CAAC2Z,0BAAb,GAA0C,YAAY;AAClD,QAAI6+B,cAAc,GAAGz4C,qFAAA,CAAsC/d,MAAM,CAACC,QAAP,CAAgBkf,IAAtD,CAArB,CADkD,CAElD;;AACA,QAAIq3C,cAAc,IAAIx4C,YAAY,CAAC2F,UAAb,EAAtB,EAAiD;AAC7C,YAAM2L,6GAAA,EAAN;AACH;AACJ,GAND;AAOA;AACJ;AACA;AACA;AACA;;;AACItR,EAAAA,YAAY,CAAC0Z,qBAAb,GAAqC,UAAUxU,eAAV,EAA2BW,qBAA3B,EAAkD;AACnF,QAAIw+C,YAAY,GAAGrkD,YAAY,CAAC2F,UAAb,EAAnB;;AACA,QAAIT,eAAe,KAAKrF,0EAApB,IAAgDwkD,YAAhD,IAAgE,CAACx+C,qBAArE,EAA4F;AACxF;AACA,YAAMyL,oGAAA,CAA6C+yC,YAA7C,CAAN;AACH;AACJ,GAND;AAOA;AACJ;AACA;;;AACIrkD,EAAAA,YAAY,CAAC4Z,yBAAb,GAAyC,YAAY;AACjD;AACA,QAAI5Z,YAAY,CAACikD,SAAb,EAAJ,EAA8B;AAC1B,YAAM3yC,6GAAA,EAAN;AACH;AACJ,GALD;AAMA;AACJ;AACA;AACA;;;AACItR,EAAAA,YAAY,CAACyZ,0BAAb,GAA0C,UAAUhI,oBAAV,EAAgC;AACtE,QAAI,CAACA,oBAAL,EAA2B;AACvB,YAAMH,yGAAA,EAAN;AACH;AACJ,GAJD;AAKA;AACJ;AACA;AACA;AACA;;;AACItR,EAAAA,YAAY,CAAC2T,wCAAb,GAAwD,UAAUX,iBAAV,EAA6BtB,WAA7B,EAA0C;AAC9F,QAAIsB,iBAAiB,IAAI,CAACtB,WAA1B,EAAuC;AACnC,YAAMJ,iHAAA,EAAN;AACH;AACJ,GAJD;AAKA;AACJ;AACA;;;AACItR,EAAAA,YAAY,CAAC43B,cAAb,GAA8B,YAAY;AACtC,QAAI0sB,EAAE,GAAGtiE,MAAM,CAACk9D,SAAP,CAAiBqF,SAA1B;AACA,QAAIC,IAAI,GAAGF,EAAE,CAACrpE,OAAH,CAAW,OAAX,CAAX;AACA,QAAIwpE,MAAM,GAAGH,EAAE,CAACrpE,OAAH,CAAW,UAAX,CAAb;AACA,QAAIypE,MAAM,GAAGJ,EAAE,CAACrpE,OAAH,CAAW,OAAX,CAAb;AACA,QAAI0pE,IAAI,GAAGH,IAAI,GAAG,CAAP,IAAYC,MAAM,GAAG,CAAhC;AACA,QAAIG,MAAM,GAAGF,MAAM,GAAG,CAAtB;AACA,WAAOC,IAAI,IAAIC,MAAf;AACH,GARD;;AASA,SAAO5kD,YAAP;AACH,CAhIiC,EAAlC;;;;;;;;;;;;;;;;;ACfA;AACa;AACb;AACA;AACA;AACA;;AACA;AACA;AACA;;AACA,IAAIy+B,SAAS;AAAG;AAAe,YAAY;AACvC,WAASA,SAAT,GAAqB,CACpB;AACD;AACJ;AACA;AACA;AACA;;;AACIA,EAAAA,SAAS,CAACE,YAAV,GAAyB,UAAUkmB,GAAV,EAAe;AACpC,QAAIhmB,GAAG,GAAGgmB,GAAG,CAAC9kC,QAAJ,CAAa,EAAb,CAAV;;AACA,WAAO8e,GAAG,CAACrvD,MAAJ,GAAa,CAApB,EAAuB;AACnBqvD,MAAAA,GAAG,GAAG,MAAMA,GAAZ;AACH;;AACD,WAAOA,GAAP;AACH,GAND;;AAOA,SAAOJ,SAAP;AACH,CAhB8B,EAA/B;;;;;;;;;;;;;;;;;;;;;ACTA;AACa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;;AAEA,IAAIjyB,aAAa,GAAG,UAASC,CAAT,EAAYC,CAAZ,EAAe;AAC/BF,EAAAA,aAAa,GAAGxH,MAAM,CAAC2H,cAAP,IACX;AAAEC,IAAAA,SAAS,EAAE;AAAb,eAA6B5E,KAA7B,IAAsC,UAAUyE,CAAV,EAAaC,CAAb,EAAgB;AAAED,IAAAA,CAAC,CAACG,SAAF,GAAcF,CAAd;AAAkB,GAD/D,IAEZ,UAAUD,CAAV,EAAaC,CAAb,EAAgB;AAAE,SAAK,IAAIG,CAAT,IAAcH,CAAd,EAAiB,IAAI1H,MAAM,CAAC8H,SAAP,CAAiBC,cAAjB,CAAgCf,IAAhC,CAAqCU,CAArC,EAAwCG,CAAxC,CAAJ,EAAgDJ,CAAC,CAACI,CAAD,CAAD,GAAOH,CAAC,CAACG,CAAD,CAAR;AAAc,GAFrG;;AAGA,SAAOL,aAAa,CAACC,CAAD,EAAIC,CAAJ,CAApB;AACH,CALD;;AAOA,SAASM,SAAT,CAAmBP,CAAnB,EAAsBC,CAAtB,EAAyB;AACrBF,EAAAA,aAAa,CAACC,CAAD,EAAIC,CAAJ,CAAb;;AACA,WAASO,EAAT,GAAc;AAAE,SAAK3qC,WAAL,GAAmBmqC,CAAnB;AAAuB;;AACvCA,EAAAA,CAAC,CAACK,SAAF,GAAcJ,CAAC,KAAK,IAAN,GAAa1H,MAAM,CAAC4G,MAAP,CAAcc,CAAd,CAAb,IAAiCO,EAAE,CAACH,SAAH,GAAeJ,CAAC,CAACI,SAAjB,EAA4B,IAAIG,EAAJ,EAA7D,CAAd;AACH;;AAED,IAAIC,QAAQ,GAAG,YAAW;AACtBA,EAAAA,QAAQ,GAAGlI,MAAM,CAACC,MAAP,IAAiB,SAASiI,QAAT,CAAkBrK,CAAlB,EAAqB;AAC7C,SAAK,IAAIsK,CAAJ,EAAO3zB,CAAC,GAAG,CAAX,EAAc4zB,CAAC,GAAGC,SAAS,CAAC79B,MAAjC,EAAyCgK,CAAC,GAAG4zB,CAA7C,EAAgD5zB,CAAC,EAAjD,EAAqD;AACjD2zB,MAAAA,CAAC,GAAGE,SAAS,CAAC7zB,CAAD,CAAb;;AACA,WAAK,IAAIqzB,CAAT,IAAcM,CAAd,EAAiB,IAAInI,MAAM,CAAC8H,SAAP,CAAiBC,cAAjB,CAAgCf,IAAhC,CAAqCmB,CAArC,EAAwCN,CAAxC,CAAJ,EAAgDhK,CAAC,CAACgK,CAAD,CAAD,GAAOM,CAAC,CAACN,CAAD,CAAR;AACpE;;AACD,WAAOhK,CAAP;AACH,GAND;;AAOA,SAAOqK,QAAQ,CAACI,KAAT,CAAe,IAAf,EAAqBD,SAArB,CAAP;AACH,CATD;;AAWA,SAAS5M,SAAT,CAAmBkN,OAAnB,EAA4BC,UAA5B,EAAwCC,CAAxC,EAA2CC,SAA3C,EAAsD;AAClD,WAASC,KAAT,CAAeh6B,KAAf,EAAsB;AAAE,WAAOA,KAAK,YAAY85B,CAAjB,GAAqB95B,KAArB,GAA6B,IAAI85B,CAAJ,CAAM,UAAUvB,OAAV,EAAmB;AAAEA,MAAAA,OAAO,CAACv4B,KAAD,CAAP;AAAiB,KAA5C,CAApC;AAAoF;;AAC5G,SAAO,KAAK85B,CAAC,KAAKA,CAAC,GAAGxB,OAAT,CAAN,EAAyB,UAAUC,OAAV,EAAmB0B,MAAnB,EAA2B;AACvD,aAASC,SAAT,CAAmBl6B,KAAnB,EAA0B;AAAE,UAAI;AAAEm6B,QAAAA,IAAI,CAACJ,SAAS,CAACrgC,IAAV,CAAesG,KAAf,CAAD,CAAJ;AAA8B,OAApC,CAAqC,OAAOy5B,CAAP,EAAU;AAAEQ,QAAAA,MAAM,CAACR,CAAD,CAAN;AAAY;AAAE;;AAC3F,aAASW,QAAT,CAAkBp6B,KAAlB,EAAyB;AAAE,UAAI;AAAEm6B,QAAAA,IAAI,CAACJ,SAAS,CAAC,OAAD,CAAT,CAAmB/5B,KAAnB,CAAD,CAAJ;AAAkC,OAAxC,CAAyC,OAAOy5B,CAAP,EAAU;AAAEQ,QAAAA,MAAM,CAACR,CAAD,CAAN;AAAY;AAAE;;AAC9F,aAASU,IAAT,CAAc15B,MAAd,EAAsB;AAAEA,MAAAA,MAAM,CAAC45B,IAAP,GAAc9B,OAAO,CAAC93B,MAAM,CAACT,KAAR,CAArB,GAAsCg6B,KAAK,CAACv5B,MAAM,CAACT,KAAR,CAAL,CAAoB1J,IAApB,CAAyB4jC,SAAzB,EAAoCE,QAApC,CAAtC;AAAsF;;AAC9GD,IAAAA,IAAI,CAAC,CAACJ,SAAS,GAAGA,SAAS,CAACR,KAAV,CAAgBK,OAAhB,EAAyBC,UAAU,IAAI,EAAvC,CAAb,EAAyDngC,IAAzD,EAAD,CAAJ;AACH,GALM,CAAP;AAMH;;AAED,SAAS4gC,WAAT,CAAqBV,OAArB,EAA8BzzB,IAA9B,EAAoC;AAChC,MAAIo0B,CAAC,GAAG;AAAEC,IAAAA,KAAK,EAAE,CAAT;AAAYC,IAAAA,IAAI,EAAE,YAAW;AAAE,UAAI3L,CAAC,CAAC,CAAD,CAAD,GAAO,CAAX,EAAc,MAAMA,CAAC,CAAC,CAAD,CAAP;AAAY,aAAOA,CAAC,CAAC,CAAD,CAAR;AAAc,KAAvE;AAAyE4L,IAAAA,IAAI,EAAE,EAA/E;AAAmFC,IAAAA,GAAG,EAAE;AAAxF,GAAR;AAAA,MAAsGC,CAAtG;AAAA,MAAyGC,CAAzG;AAAA,MAA4G/L,CAA5G;AAAA,MAA+GgM,CAA/G;AACA,SAAOA,CAAC,GAAG;AAAEphC,IAAAA,IAAI,EAAEqhC,IAAI,CAAC,CAAD,CAAZ;AAAiB,aAASA,IAAI,CAAC,CAAD,CAA9B;AAAmC,cAAUA,IAAI,CAAC,CAAD;AAAjD,GAAJ,EAA4D,OAAOC,MAAP,KAAkB,UAAlB,KAAiCF,CAAC,CAACE,MAAM,CAACC,QAAR,CAAD,GAAqB,YAAW;AAAE,WAAO,IAAP;AAAc,GAAjF,CAA5D,EAAgJH,CAAvJ;;AACA,WAASC,IAAT,CAAc1B,CAAd,EAAiB;AAAE,WAAO,UAAUp0B,CAAV,EAAa;AAAE,aAAOk1B,IAAI,CAAC,CAACd,CAAD,EAAIp0B,CAAJ,CAAD,CAAX;AAAsB,KAA5C;AAA+C;;AAClE,WAASk1B,IAAT,CAAce,EAAd,EAAkB;AACd,QAAIN,CAAJ,EAAO,MAAM,IAAIO,SAAJ,CAAc,iCAAd,CAAN;;AACP,WAAOZ,CAAP,EAAU,IAAI;AACV,UAAIK,CAAC,GAAG,CAAJ,EAAOC,CAAC,KAAK/L,CAAC,GAAGoM,EAAE,CAAC,CAAD,CAAF,GAAQ,CAAR,GAAYL,CAAC,CAAC,QAAD,CAAb,GAA0BK,EAAE,CAAC,CAAD,CAAF,GAAQL,CAAC,CAAC,OAAD,CAAD,KAAe,CAAC/L,CAAC,GAAG+L,CAAC,CAAC,QAAD,CAAN,KAAqB/L,CAAC,CAACmJ,IAAF,CAAO4C,CAAP,CAArB,EAAgC,CAA/C,CAAR,GAA4DA,CAAC,CAACnhC,IAAjG,CAAD,IAA2G,CAAC,CAACo1B,CAAC,GAAGA,CAAC,CAACmJ,IAAF,CAAO4C,CAAP,EAAUK,EAAE,CAAC,CAAD,CAAZ,CAAL,EAAuBb,IAA9I,EAAoJ,OAAOvL,CAAP;AACpJ,UAAI+L,CAAC,GAAG,CAAJ,EAAO/L,CAAX,EAAcoM,EAAE,GAAG,CAACA,EAAE,CAAC,CAAD,CAAF,GAAQ,CAAT,EAAYpM,CAAC,CAAC9uB,KAAd,CAAL;;AACd,cAAQk7B,EAAE,CAAC,CAAD,CAAV;AACI,aAAK,CAAL;AAAQ,aAAK,CAAL;AAAQpM,UAAAA,CAAC,GAAGoM,EAAJ;AAAQ;;AACxB,aAAK,CAAL;AAAQX,UAAAA,CAAC,CAACC,KAAF;AAAW,iBAAO;AAAEx6B,YAAAA,KAAK,EAAEk7B,EAAE,CAAC,CAAD,CAAX;AAAgBb,YAAAA,IAAI,EAAE;AAAtB,WAAP;;AACnB,aAAK,CAAL;AAAQE,UAAAA,CAAC,CAACC,KAAF;AAAWK,UAAAA,CAAC,GAAGK,EAAE,CAAC,CAAD,CAAN;AAAWA,UAAAA,EAAE,GAAG,CAAC,CAAD,CAAL;AAAU;;AACxC,aAAK,CAAL;AAAQA,UAAAA,EAAE,GAAGX,CAAC,CAACI,GAAF,CAAMtN,GAAN,EAAL;;AAAkBkN,UAAAA,CAAC,CAACG,IAAF,CAAOrN,GAAP;;AAAc;;AACxC;AACI,cAAI,EAAEyB,CAAC,GAAGyL,CAAC,CAACG,IAAN,EAAY5L,CAAC,GAAGA,CAAC,CAACrzB,MAAF,GAAW,CAAX,IAAgBqzB,CAAC,CAACA,CAAC,CAACrzB,MAAF,GAAW,CAAZ,CAAnC,MAAuDy/B,EAAE,CAAC,CAAD,CAAF,KAAU,CAAV,IAAeA,EAAE,CAAC,CAAD,CAAF,KAAU,CAAhF,CAAJ,EAAwF;AAAEX,YAAAA,CAAC,GAAG,CAAJ;AAAO;AAAW;;AAC5G,cAAIW,EAAE,CAAC,CAAD,CAAF,KAAU,CAAV,KAAgB,CAACpM,CAAD,IAAOoM,EAAE,CAAC,CAAD,CAAF,GAAQpM,CAAC,CAAC,CAAD,CAAT,IAAgBoM,EAAE,CAAC,CAAD,CAAF,GAAQpM,CAAC,CAAC,CAAD,CAAhD,CAAJ,EAA2D;AAAEyL,YAAAA,CAAC,CAACC,KAAF,GAAUU,EAAE,CAAC,CAAD,CAAZ;AAAiB;AAAQ;;AACtF,cAAIA,EAAE,CAAC,CAAD,CAAF,KAAU,CAAV,IAAeX,CAAC,CAACC,KAAF,GAAU1L,CAAC,CAAC,CAAD,CAA9B,EAAmC;AAAEyL,YAAAA,CAAC,CAACC,KAAF,GAAU1L,CAAC,CAAC,CAAD,CAAX;AAAgBA,YAAAA,CAAC,GAAGoM,EAAJ;AAAQ;AAAQ;;AACrE,cAAIpM,CAAC,IAAIyL,CAAC,CAACC,KAAF,GAAU1L,CAAC,CAAC,CAAD,CAApB,EAAyB;AAAEyL,YAAAA,CAAC,CAACC,KAAF,GAAU1L,CAAC,CAAC,CAAD,CAAX;;AAAgByL,YAAAA,CAAC,CAACI,GAAF,CAAM5F,IAAN,CAAWmG,EAAX;;AAAgB;AAAQ;;AACnE,cAAIpM,CAAC,CAAC,CAAD,CAAL,EAAUyL,CAAC,CAACI,GAAF,CAAMtN,GAAN;;AACVkN,UAAAA,CAAC,CAACG,IAAF,CAAOrN,GAAP;;AAAc;AAXtB;;AAaA6N,MAAAA,EAAE,GAAG/0B,IAAI,CAAC8xB,IAAL,CAAU2B,OAAV,EAAmBW,CAAnB,CAAL;AACH,KAjBS,CAiBR,OAAOd,CAAP,EAAU;AAAEyB,MAAAA,EAAE,GAAG,CAAC,CAAD,EAAIzB,CAAJ,CAAL;AAAaoB,MAAAA,CAAC,GAAG,CAAJ;AAAQ,KAjBzB,SAiBkC;AAAED,MAAAA,CAAC,GAAG9L,CAAC,GAAG,CAAR;AAAY;;AAC1D,QAAIoM,EAAE,CAAC,CAAD,CAAF,GAAQ,CAAZ,EAAe,MAAMA,EAAE,CAAC,CAAD,CAAR;AAAa,WAAO;AAAEl7B,MAAAA,KAAK,EAAEk7B,EAAE,CAAC,CAAD,CAAF,GAAQA,EAAE,CAAC,CAAD,CAAV,GAAgB,KAAK,CAA9B;AAAiCb,MAAAA,IAAI,EAAE;AAAvC,KAAP;AAC/B;AACJ;;AAED,SAAS02C,cAAT,GAA0B;AACtB,OAAK,IAAI33C,CAAC,GAAG,CAAR,EAAW3zB,CAAC,GAAG,CAAf,EAAkBurE,EAAE,GAAG13C,SAAS,CAAC79B,MAAtC,EAA8CgK,CAAC,GAAGurE,EAAlD,EAAsDvrE,CAAC,EAAvD,EAA2D2zB,CAAC,IAAIE,SAAS,CAAC7zB,CAAD,CAAT,CAAahK,MAAlB;;AAC3D,OAAK,IAAI8/B,CAAC,GAAGtH,KAAK,CAACmF,CAAD,CAAb,EAAkB63C,CAAC,GAAG,CAAtB,EAAyBxrE,CAAC,GAAG,CAAlC,EAAqCA,CAAC,GAAGurE,EAAzC,EAA6CvrE,CAAC,EAA9C,EACI,KAAK,IAAIyrE,CAAC,GAAG53C,SAAS,CAAC7zB,CAAD,CAAjB,EAAsB0rE,CAAC,GAAG,CAA1B,EAA6BC,EAAE,GAAGF,CAAC,CAACz1E,MAAzC,EAAiD01E,CAAC,GAAGC,EAArD,EAAyDD,CAAC,IAAIF,CAAC,EAA/D,EACI11C,CAAC,CAAC01C,CAAD,CAAD,GAAOC,CAAC,CAACC,CAAD,CAAR;;AACR,SAAO51C,CAAP;AACH;;;;;;;;;;;;;;;;;;;ACtFD;AACa;;AACb;AACA;AAEA;AACA;AACA;AACA;;AACA;AACA;AACA;;AACA,IAAIsiB,SAAS;AAAG;AAAe,YAAY;AACvC,WAASA,SAAT,CAAmBqC,QAAnB,EAA6BoL,MAA7B,EAAqC;AACjC,QAAIp/B,sEAAA,CAAoBg0B,QAApB,CAAJ,EAAmC;AAC/B,YAAMlkB,kGAAA,CAA4CkkB,QAA5C,CAAN;AACH;;AACD,SAAKA,QAAL,GAAgBA,QAAhB;AACA,SAAKhY,MAAL,GAAc2V,SAAS,CAACyzB,kBAAV,CAA6BpxB,QAA7B,EAAuCoL,MAAvC,CAAd;AACH;AACD;AACJ;AACA;AACA;AACA;;;AACIzN,EAAAA,SAAS,CAACyzB,kBAAV,GAA+B,UAAUC,YAAV,EAAwBjmB,MAAxB,EAAgC;AAC3D,QAAIkmB,YAAY,GAAGtlD,8EAAA,CAA4BqlD,YAA5B,CAAnB,CAD2D,CAE3D;;AACA,QAAI;AACA,UAAIG,kBAAkB,GAAGF,YAAY,CAACG,UAAtC,CADA,CAEA;;AACA,UAAIC,aAAa,GAAGtmB,MAAM,CAACxR,YAAP,CAAoB43B,kBAApB,CAApB;AACA,aAAO/jE,IAAI,CAACC,KAAL,CAAWgkE,aAAX,CAAP;AACH,KALD,CAMA,OAAO3mD,GAAP,EAAY;AACR,YAAM+Q,8FAAA,CAAwC/Q,GAAxC,CAAN;AACH;AACJ,GAZD;AAaA;AACJ;AACA;;;AACI4yB,EAAAA,SAAS,CAACi0B,WAAV,GAAwB,UAAUC,QAAV,EAAoBl9E,MAApB,EAA4B;AAChD;AACR;AACA;AACA;AACA;AACQ,QAAIm9E,cAAc,GAAG,MAArB,CANgD,CAMnB;;AAC7B,QAAKn9E,MAAM,KAAK,CAAZ,IAAoBgiD,IAAI,CAAC+e,GAAL,KAAaoc,cAAd,GAAiCD,QAAQ,GAAGl9E,MAAnE,EAA6E;AACzE,YAAMmnC,kGAAA,EAAN;AACH;AACJ,GAVD;;AAWA,SAAO6hB,SAAP;AACH,CAzC8B,EAA/B;;;;;;;;;;;;;;;;;ACZA;AACa;AACb;AACA;AACA;AACA;;AACA,IAAIrP,iBAAiB;AACrB,GAAC,UAAUA,iBAAV,EAA6B;AAC1BA,IAAAA,iBAAiB,CAAC,iBAAD,CAAjB,GAAuC,iBAAvC;AACAA,IAAAA,iBAAiB,CAAC,KAAD,CAAjB,GAA2B,KAA3B;AACH,GAHD,EAGGA,iBAAiB,KAAKA,iBAAiB,GAAG,EAAzB,CAHpB,CADqB;;AAAA,SAAjBA,iBAAiB;AAAA,IAArB;;;;;;;;;;;;;;;;;;;;ACNA;AACa;;AACb;AACA;AACA;AAEA;AACA;AACA;AACA;;AACA;AACA;AACA;AACA;AACA;;AACA,SAAS2jC,eAAT,CAAyBC,aAAzB,EAAwC9mB,MAAxC,EAAgD;AAC5C,MAAIp/B,sEAAA,CAAoBkmD,aAApB,CAAJ,EAAwC;AACpC,UAAMp2C,iGAAA,EAAN;AACH;;AACD,MAAI;AACA,QAAIs2C,iBAAiB,GAAGhnB,MAAM,CAACxR,YAAP,CAAoBs4B,aAApB,CAAxB;AACA,WAAOzkE,IAAI,CAACC,KAAL,CAAW0kE,iBAAX,CAAP;AACH,GAHD,CAIA,OAAO74C,CAAP,EAAU;AACN,UAAMuC,oGAAA,CAA8CvC,CAAC,CAAC9oC,OAAhD,CAAN;AACH;AACJ;AACD;AACA;AACA;AACA;;;AACA,SAAS6hF,gCAAT,CAA0CjtC,aAA1C,EAAyD;AACrD,MAAIrZ,sEAAA,CAAoBqZ,aAApB,CAAJ,EAAwC;AACpC,UAAMvJ,oGAAA,CAA8C,4BAA9C,CAAN;AACH;;AACD,MAAIy2C,eAAe,GAAGltC,aAAa,CAAC13B,KAAd,CAAoBqkE,iFAApB,EAAsD,CAAtD,CAAtB;AACA,SAAO;AACH9wB,IAAAA,GAAG,EAAEqxB,eAAe,CAAC,CAAD,CADjB;AAEHE,IAAAA,IAAI,EAAEF,eAAe,CAACh3E,MAAhB,GAAyB,CAAzB,GAA6BmgC,uEAA7B,GAAsD62C,eAAe,CAAC,CAAD;AAFxE,GAAP;AAIH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACxCD;AACa;;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;;AACA;AACA;AACA;AACA;;AACA,IAAI10B,SAAS;AAAG;AAAe,YAAY;AACvC,WAASA,SAAT,CAAmBl0B,SAAnB,EAA8By9C,gBAA9B,EAAgD8L,YAAhD,EAA8Dr0B,gBAA9D,EAAgFtwB,MAAhF,EAAwF4kD,QAAxF,EAAkG;AAC9F,SAAK7xB,kBAAL,GAA0B33B,SAA1B;;AACA,SAAKypD,mBAAL,CAAyBhW,aAAzB;;AACA,SAAKgK,gBAAL,GAAwBA,gBAAxB;AACA,SAAK8L,YAAL,GAAoBA,YAApB;AACA,SAAKr0B,gBAAL,GAAwBA,gBAAxB;AACA,SAAKw0B,eAAL,GAAuB,IAAIJ,gEAAJ,CAAoB7L,gBAApB,CAAvB;AACA,SAAKkM,uBAAL,GAA+B;AAAEC,MAAAA,WAAW,EAAEtyC,SAAf;AAA0BuyC,MAAAA,aAAa,EAAEvyC,SAAzC;AAAoDwyC,MAAAA,cAAc,EAAExyC;AAApE,KAA/B;AACA,SAAKkyC,QAAL,GAAgBA,QAAQ,IAAIz3C,uEAA5B;AACA,SAAKnN,MAAL,GAAcA,MAAd;AACH;;AACDwC,EAAAA,MAAM,CAAC2iD,cAAP,CAAsB71B,SAAS,CAAChlB,SAAhC,EAA2C,eAA3C,EAA4D;AACxD;AACAxpC,IAAAA,GAAG,EAAE,YAAY;AACb,UAAIskF,YAAY,GAAG,KAAKC,+BAAL,CAAqCC,YAAxD;;AACA,UAAIF,YAAY,CAACp4E,MAAjB,EAAyB;AACrB,gBAAQo4E,YAAY,CAAC,CAAD,CAAZ,CAAgB19C,WAAhB,EAAR;AACI,eAAKyF,+DAAL;AACI,mBAAO+8B,iEAAP;;AACJ,eAAK/8B,+DAAL;AACI,mBAAO+8B,iEAAP;AAJR;AAMH;;AACD,aAAOA,oEAAP;AACH,KAbuD;AAcxDyb,IAAAA,UAAU,EAAE,KAd4C;AAexDC,IAAAA,YAAY,EAAE;AAf0C,GAA5D;AAiBApjD,EAAAA,MAAM,CAAC2iD,cAAP,CAAsB71B,SAAS,CAAChlB,SAAhC,EAA2C,cAA3C,EAA2D;AACvD;AACR;AACA;AACQxpC,IAAAA,GAAG,EAAE,YAAY;AACb,aAAO,KAAKwvD,gBAAL,CAAsBC,YAA7B;AACH,KANsD;AAOvDo1B,IAAAA,UAAU,EAAE,KAP2C;AAQvDC,IAAAA,YAAY,EAAE;AARyC,GAA3D;AAUApjD,EAAAA,MAAM,CAAC2iD,cAAP,CAAsB71B,SAAS,CAAChlB,SAAhC,EAA2C,SAA3C,EAAsD;AAClD;AACR;AACA;AACQxpC,IAAAA,GAAG,EAAE,YAAY;AACb,aAAO,KAAKwvD,gBAAZ;AACH,KANiD;AAOlDq1B,IAAAA,UAAU,EAAE,KAPsC;AAQlDC,IAAAA,YAAY,EAAE;AARoC,GAAtD;AAUApjD,EAAAA,MAAM,CAAC2iD,cAAP,CAAsB71B,SAAS,CAAChlB,SAAhC,EAA2C,oBAA3C,EAAiE;AAC7D;AACR;AACA;AACQxpC,IAAAA,GAAG,EAAE,YAAY;AACb,aAAO,KAAK+jF,mBAAL,CAAyB9V,SAAhC;AACH,KAN4D;;AAO7D;AACR;AACA;AACQ5pC,IAAAA,GAAG,EAAE,UAAU1nB,GAAV,EAAe;AAChB,WAAKonE,mBAAL,GAA2B,IAAItnD,wDAAJ,CAAc9f,GAAd,CAA3B;;AACA,WAAKonE,mBAAL,CAAyBhW,aAAzB;;AACA,WAAKgX,gCAAL,GAAwC,IAAxC;AACH,KAd4D;AAe7DF,IAAAA,UAAU,EAAE,KAfiD;AAgB7DC,IAAAA,YAAY,EAAE;AAhB+C,GAAjE;AAkBApjD,EAAAA,MAAM,CAAC2iD,cAAP,CAAsB71B,SAAS,CAAChlB,SAAhC,EAA2C,iCAA3C,EAA8E;AAC1E;AACR;AACA;AACQxpC,IAAAA,GAAG,EAAE,YAAY;AACb,UAAI,CAAC,KAAK+kF,gCAAV,EAA4C;AACxC,aAAKA,gCAAL,GAAwC,KAAKhB,mBAAL,CAAyBn+C,gBAAzB,EAAxC;AACH;;AACD,aAAO,KAAKm/C,gCAAZ;AACH,KATyE;AAU1EF,IAAAA,UAAU,EAAE,KAV8D;AAW1EC,IAAAA,YAAY,EAAE;AAX4D,GAA9E;AAaApjD,EAAAA,MAAM,CAAC2iD,cAAP,CAAsB71B,SAAS,CAAChlB,SAAhC,EAA2C,iBAA3C,EAA8D;AAC1D;AACR;AACA;AACQxpC,IAAAA,GAAG,EAAE,YAAY;AACb,aAAO,KAAKukF,+BAAL,CAAqCr+C,eAArC,CAAqDU,WAArD,EAAP;AACH,KANyD;AAO1Di+C,IAAAA,UAAU,EAAE,KAP8C;AAQ1DC,IAAAA,YAAY,EAAE;AAR4C,GAA9D;AAUApjD,EAAAA,MAAM,CAAC2iD,cAAP,CAAsB71B,SAAS,CAAChlB,SAAhC,EAA2C,QAA3C,EAAqD;AACjD;AACR;AACA;AACQxpC,IAAAA,GAAG,EAAE,YAAY;AACb,aAAO,KAAKukF,+BAAL,CAAqCC,YAArC,CAAkD,CAAlD,CAAP;AACH,KANgD;AAOjDK,IAAAA,UAAU,EAAE,KAPqC;AAQjDC,IAAAA,YAAY,EAAE;AARmC,GAArD;AAUApjD,EAAAA,MAAM,CAAC2iD,cAAP,CAAsB71B,SAAS,CAAChlB,SAAhC,EAA2C,uBAA3C,EAAoE;AAChE;AACR;AACA;AACQxpC,IAAAA,GAAG,EAAE,YAAY;AACb,UAAI,KAAKglF,iBAAL,EAAJ,EAA8B;AAC1B,YAAIl2D,QAAQ,GAAG,KAAKm2D,WAAL,CAAiB,KAAKC,QAAL,CAAcC,sBAA/B,CAAf;AACA,eAAO,KAAKC,aAAL,CAAmBt2D,QAAnB,CAAP;AACH,OAHD,MAIK;AACD,cAAM2d,6GAAA,CAAuD,uBAAvD,CAAN;AACH;AACJ,KAZ+D;AAahEo4C,IAAAA,UAAU,EAAE,KAboD;AAchEC,IAAAA,YAAY,EAAE;AAdkD,GAApE;AAgBApjD,EAAAA,MAAM,CAAC2iD,cAAP,CAAsB71B,SAAS,CAAChlB,SAAhC,EAA2C,eAA3C,EAA4D;AACxD;AACR;AACA;AACQxpC,IAAAA,GAAG,EAAE,YAAY;AACb,UAAI,KAAKglF,iBAAL,EAAJ,EAA8B;AAC1B,YAAIl2D,QAAQ,GAAG,KAAKm2D,WAAL,CAAiB,KAAKC,QAAL,CAAcI,cAA/B,CAAf;AACA,eAAO,KAAKF,aAAL,CAAmBt2D,QAAnB,CAAP;AACH,OAHD,MAIK;AACD,cAAM2d,6GAAA,CAAuD,uBAAvD,CAAN;AACH;AACJ,KAZuD;AAaxDo4C,IAAAA,UAAU,EAAE,KAb4C;AAcxDC,IAAAA,YAAY,EAAE;AAd0C,GAA5D;AAgBApjD,EAAAA,MAAM,CAAC2iD,cAAP,CAAsB71B,SAAS,CAAChlB,SAAhC,EAA2C,oBAA3C,EAAiE;AAC7DxpC,IAAAA,GAAG,EAAE,YAAY;AACb,UAAI,KAAKglF,iBAAL,EAAJ,EAA8B;AAC1B,YAAIl2D,QAAQ,GAAG,KAAKm2D,WAAL,CAAiB,KAAKC,QAAL,CAAcI,cAAd,CAA6B1mE,OAA7B,CAAqC,QAArC,EAA+C,aAA/C,CAAjB,CAAf;AACA,eAAO,KAAKwmE,aAAL,CAAmBt2D,QAAnB,CAAP;AACH,OAHD,MAIK;AACD,cAAM2d,6GAAA,CAAuD,uBAAvD,CAAN;AACH;AACJ,KAT4D;AAU7Do4C,IAAAA,UAAU,EAAE,KAViD;AAW7DC,IAAAA,YAAY,EAAE;AAX+C,GAAjE;AAaApjD,EAAAA,MAAM,CAAC2iD,cAAP,CAAsB71B,SAAS,CAAChlB,SAAhC,EAA2C,oBAA3C,EAAiE;AAC7D;AACR;AACA;AACQxpC,IAAAA,GAAG,EAAE,YAAY;AACb,UAAI,KAAKglF,iBAAL,EAAJ,EAA8B;AAC1B;AACA,YAAI,CAAC,KAAKE,QAAL,CAAcK,oBAAnB,EAAyC;AACrC,gBAAM94C,oGAAA,EAAN;AACH;;AACD,YAAI3d,QAAQ,GAAG,KAAKm2D,WAAL,CAAiB,KAAKC,QAAL,CAAcK,oBAA/B,CAAf;AACA,eAAO,KAAKH,aAAL,CAAmBt2D,QAAnB,CAAP;AACH,OAPD,MAQK;AACD,cAAM2d,6GAAA,CAAuD,uBAAvD,CAAN;AACH;AACJ,KAhB4D;AAiB7Do4C,IAAAA,UAAU,EAAE,KAjBiD;AAkB7DC,IAAAA,YAAY,EAAE;AAlB+C,GAAjE;AAoBApjD,EAAAA,MAAM,CAAC2iD,cAAP,CAAsB71B,SAAS,CAAChlB,SAAhC,EAA2C,uBAA3C,EAAoE;AAChE;AACR;AACA;AACQxpC,IAAAA,GAAG,EAAE,YAAY;AACb,UAAI,KAAKglF,iBAAL,EAAJ,EAA8B;AAC1B,YAAIl2D,QAAQ,GAAG,KAAKm2D,WAAL,CAAiB,KAAKC,QAAL,CAAcO,MAA/B,CAAf;AACA,eAAO,KAAKL,aAAL,CAAmBt2D,QAAnB,CAAP;AACH,OAHD,MAIK;AACD,cAAM2d,6GAAA,CAAuD,uBAAvD,CAAN;AACH;AACJ,KAZ+D;AAahEo4C,IAAAA,UAAU,EAAE,KAboD;AAchEC,IAAAA,YAAY,EAAE;AAdkD,GAApE;AAgBApjD,EAAAA,MAAM,CAAC2iD,cAAP,CAAsB71B,SAAS,CAAChlB,SAAhC,EAA2C,SAA3C,EAAsD;AAClD;AACR;AACA;AACQxpC,IAAAA,GAAG,EAAE,YAAY;AACb,UAAI,KAAKglF,iBAAL,EAAJ,EAA8B;AAC1B,YAAIl2D,QAAQ,GAAG,KAAKm2D,WAAL,CAAiB,KAAKC,QAAL,CAAcQ,QAA/B,CAAf;AACA,eAAO,KAAKN,aAAL,CAAmBt2D,QAAnB,CAAP;AACH,OAHD,MAIK;AACD,cAAM2d,6GAAA,CAAuD,uBAAvD,CAAN;AACH;AACJ,KAZiD;AAalDo4C,IAAAA,UAAU,EAAE,KAbsC;AAclDC,IAAAA,YAAY,EAAE;AAdoC,GAAtD;AAgBA;AACJ;AACA;AACA;;AACIt2B,EAAAA,SAAS,CAAChlB,SAAV,CAAoB47C,aAApB,GAAoC,UAAUnX,SAAV,EAAqB;AACrD,WAAOA,SAAS,CAACrvD,OAAV,CAAkB,sBAAlB,EAA0C,KAAKqxC,MAA/C,CAAP;AACH,GAFD;AAGA;AACJ;AACA;AACA;;;AACIzB,EAAAA,SAAS,CAAChlB,SAAV,CAAoBy7C,WAApB,GAAkC,UAAUhX,SAAV,EAAqB;AACnD,QAAIn/C,QAAQ,GAAGm/C,SAAf;AACA,QAAI0X,kBAAkB,GAAG,IAAIlpD,wDAAJ,CAAc,KAAKyoD,QAAL,CAAcU,mBAA5B,CAAzB;AACA,QAAIC,oBAAoB,GAAGF,kBAAkB,CAAC//C,gBAAnB,GAAsC4+C,YAAjE;AACA,QAAIsB,qBAAqB,GAAG,KAAKvB,+BAAL,CAAqCC,YAAjE;AACAsB,IAAAA,qBAAqB,CAAC1gD,OAAtB,CAA8B,UAAU2gD,WAAV,EAAuBhlC,KAAvB,EAA8B;AACxD,UAAIilC,UAAU,GAAGH,oBAAoB,CAAC9kC,KAAD,CAArC;;AACA,UAAIglC,WAAW,KAAKC,UAApB,EAAgC;AAC5Bl3D,QAAAA,QAAQ,GAAGA,QAAQ,CAAClQ,OAAT,CAAiB,MAAMonE,UAAN,GAAmB,GAApC,EAAyC,MAAMD,WAAN,GAAoB,GAA7D,CAAX;AACH;AACJ,KALD;AAMA,WAAOj3D,QAAP;AACH,GAZD;;AAaA4S,EAAAA,MAAM,CAAC2iD,cAAP,CAAsB71B,SAAS,CAAChlB,SAAhC,EAA2C,oCAA3C,EAAiF;AAC7E;AACR;AACA;AACQxpC,IAAAA,GAAG,EAAE,YAAY;AACb,UAAI,KAAKgwD,aAAL,KAAuBoZ,iEAAvB,IACA,KAAKpZ,aAAL,KAAuBoZ,iEADvB,IAEA,KAAK3Z,YAAL,KAAsBiD,+DAF1B,EAE6C;AACzC,eAAO,KAAKT,kBAAL,GAA0B,kCAAjC;AACH;;AACD,aAAO,KAAKA,kBAAL,GAA0B,uCAAjC;AACH,KAX4E;AAY7E4yB,IAAAA,UAAU,EAAE,KAZiE;AAa7EC,IAAAA,YAAY,EAAE;AAb+D,GAAjF;AAeA;AACJ;AACA;;AACIt2B,EAAAA,SAAS,CAAChlB,SAAV,CAAoBw7C,iBAApB,GAAwC,YAAY;AAChD,WAAO,CAAC,CAAC,KAAKE,QAAd;AACH,GAFD;AAGA;AACJ;AACA;AACA;;;AACI12B,EAAAA,SAAS,CAAChlB,SAAV,CAAoB08C,qBAApB,GAA4C,YAAY;AACpD,WAAO/oD,4DAAS,CAAC,IAAD,EAAO,KAAK,CAAZ,EAAe,KAAK,CAApB,EAAuB,YAAY;AAC/C,UAAIgpD,cAAJ,EAAoBC,oBAApB,EAA0CC,cAA1C,EAA0DvlC,QAA1D;AACA,aAAO/V,8DAAW,CAAC,IAAD,EAAO,UAAUuE,EAAV,EAAc;AACnC,gBAAQA,EAAE,CAACrE,KAAX;AACI,eAAK,CAAL;AACIk7C,YAAAA,cAAc,GAAG,KAAKtC,YAAL,CAAkByC,2BAAlB,CAA8C,KAAKv2B,eAAnD,CAAjB;;AACA,gBAAI,CAACo2B,cAAL,EAAqB;AACjBA,cAAAA,cAAc,GAAG,IAAItnC,+FAAJ,EAAjB;AACAsnC,cAAAA,cAAc,CAACI,wBAAf,CAAwC,KAAKt0B,kBAA7C;AACH;;AACD,mBAAO,CAAC;AAAE;AAAH,cAAc,KAAKu0B,4BAAL,CAAkCL,cAAlC,CAAd,CAAP;;AACJ,eAAK,CAAL;AACIC,YAAAA,oBAAoB,GAAG92C,EAAE,CAACpE,IAAH,EAAvB;AACA,iBAAK+mB,kBAAL,GAA0B,KAAKA,kBAAL,CAAwBrzC,OAAxB,CAAgC,KAAKmxC,eAArC,EAAsDo2B,cAAc,CAACM,iBAArE,CAA1B;AACA,mBAAO,CAAC;AAAE;AAAH,cAAc,KAAKC,sBAAL,CAA4BP,cAA5B,CAAd,CAAP;;AACJ,eAAK,CAAL;AACIE,YAAAA,cAAc,GAAG/2C,EAAE,CAACpE,IAAH,EAAjB;;AACA,gBAAIk7C,oBAAoB,KAAK9C,8EAAzB,IAA0D+C,cAAc,KAAK/C,8EAAjF,EAAgH;AAC5G;AACA6C,cAAAA,cAAc,CAACS,cAAf;AACAT,cAAAA,cAAc,CAACI,wBAAf,CAAwC,KAAKt0B,kBAA7C;AACH;;AACDnR,YAAAA,QAAQ,GAAG,KAAK+iC,YAAL,CAAkBgD,iCAAlB,CAAoDV,cAAc,CAACW,eAAnE,CAAX;AACA,iBAAKjD,YAAL,CAAkB1/B,oBAAlB,CAAuCrD,QAAvC,EAAiDqlC,cAAjD;AACA,iBAAKjB,QAAL,GAAgBiB,cAAhB;AACA,mBAAO,CAAC;AAAE;AAAH,aAAP;AAtBR;AAwBH,OAzBiB,CAAlB;AA0BH,KA5Be,CAAhB;AA6BH,GA9BD;AA+BA;AACJ;AACA;AACA;;;AACI33B,EAAAA,SAAS,CAAChlB,SAAV,CAAoBk9C,sBAApB,GAA6C,UAAUP,cAAV,EAA0B;AACnE,QAAI72C,EAAJ,EAAQE,EAAR;;AACA,WAAOrS,4DAAS,CAAC,IAAD,EAAO,KAAK,CAAZ,EAAe,KAAK,CAApB,EAAuB,YAAY;AAC/C,UAAI+nD,QAAJ,EAAc6B,gBAAd;AACA,aAAOh8C,8DAAW,CAAC,IAAD,EAAO,UAAUwmB,EAAV,EAAc;AACnC,gBAAQA,EAAE,CAACtmB,KAAX;AACI,eAAK,CAAL;AACIi6C,YAAAA,QAAQ,GAAG,KAAK8B,6BAAL,EAAX;;AACA,gBAAI9B,QAAJ,EAAc;AACViB,cAAAA,cAAc,CAACO,sBAAf,CAAsCxB,QAAtC,EAAgD,KAAhD;AACA,qBAAO,CAAC;AAAE;AAAH,gBAAe5B,+EAAf,CAAP;AACH;;AACD,gBAAI,KAAK4D,mBAAL,CAAyBf,cAAzB,KAA4CA,cAAc,CAACgB,oBAA3D,IAAmF,CAAChB,cAAc,CAACiB,SAAf,EAAxF,EAAoH;AAChH;AACA,qBAAO,CAAC;AAAE;AAAH,gBAAe9D,8EAAf,CAAP;AACH;;AACDyD,YAAAA,gBAAgB,GAAG,KAAKM,sCAAL,EAAnB;AACA,mBAAO,CAAC;AAAE;AAAH,cAAc,KAAKC,8BAAL,EAAd,CAAP;;AACJ,eAAK,CAAL;AACIpC,YAAAA,QAAQ,GAAG3zB,EAAE,CAACrmB,IAAH,EAAX;AACA,gBAAI,CAACg6C,QAAL,EAAe,OAAO,CAAC;AAAE;AAAH,cAAc,CAAd,CAAP;AACf,gBAAI,EAAE,CAAC51C,EAAE,GAAG,KAAKkgB,gBAAL,CAAsB+3B,wBAA5B,MAA0D,IAA1D,IAAkEj4C,EAAE,KAAK,KAAK,CAA9E,GAAkF,KAAK,CAAvF,GAA2FA,EAAE,CAACk4C,WAAhG,CAAJ,EAAkH,OAAO,CAAC;AAAE;AAAH,cAAc,CAAd,CAAP;AAClH,mBAAO,CAAC;AAAE;AAAH,cAAc,KAAKC,qCAAL,CAA2CvC,QAA3C,CAAd,CAAP;;AACJ,eAAK,CAAL;AACIA,YAAAA,QAAQ,GAAG3zB,EAAE,CAACrmB,IAAH,EAAX;AACAqmB,YAAAA,EAAE,CAACtmB,KAAH,GAAW,CAAX;;AACJ,eAAK,CAAL;AACIk7C,YAAAA,cAAc,CAACO,sBAAf,CAAsCxB,QAAtC,EAAgD,IAAhD;AACA,mBAAO,CAAC;AAAE;AAAH,cAAe5B,gFAAf,CAAP;;AACJ,eAAK,CAAL;AACI,gBAAI,EAAEyD,gBAAgB,IAAI,CAAC,KAAKv3B,gBAAL,CAAsBK,0BAA7C,CAAJ,EAA8E,OAAO,CAAC;AAAE;AAAH,cAAc,CAAd,CAAP;AAC9E,gBAAI,EAAE,CAACrgB,EAAE,GAAG,KAAKggB,gBAAL,CAAsB+3B,wBAA5B,MAA0D,IAA1D,IAAkE/3C,EAAE,KAAK,KAAK,CAA9E,GAAkF,KAAK,CAAvF,GAA2FA,EAAE,CAACg4C,WAAhG,CAAJ,EAAkH,OAAO,CAAC;AAAE;AAAH,cAAc,CAAd,CAAP;AAClH,mBAAO,CAAC;AAAE;AAAH,cAAc,KAAKC,qCAAL,CAA2CV,gBAA3C,CAAd,CAAP;;AACJ,eAAK,CAAL;AACIA,YAAAA,gBAAgB,GAAGx1B,EAAE,CAACrmB,IAAH,EAAnB;AACAqmB,YAAAA,EAAE,CAACtmB,KAAH,GAAW,CAAX;;AACJ,eAAK,CAAL;AACIk7C,YAAAA,cAAc,CAACO,sBAAf,CAAsCK,gBAAtC,EAAwD,KAAxD;AACA,mBAAO,CAAC;AAAE;AAAH,cAAezD,yFAAf,CAAP;;AACJ,eAAK,CAAL;AAAQ,kBAAM72C,yGAAA,CAAmD,KAAKo7C,kCAAxD,CAAN;AAlCZ;AAoCH,OArCiB,CAAlB;AAsCH,KAxCe,CAAhB;AAyCH,GA3CD;AA4CA;AACJ;AACA;AACA;AACA;AACA;;;AACIr5B,EAAAA,SAAS,CAAChlB,SAAV,CAAoB09C,mBAApB,GAA0C,UAAUf,cAAV,EAA0B;AAChE,QAAIR,kBAAkB,GAAG,IAAIlpD,wDAAJ,CAAc0pD,cAAc,CAACP,mBAA7B,CAAzB;AACA,QAAIkC,WAAW,GAAGnC,kBAAkB,CAAC//C,gBAAnB,GAAsC4+C,YAAxD;AACA,WAAOsD,WAAW,CAAC57E,MAAZ,KAAuB,KAAKq4E,+BAAL,CAAqCC,YAArC,CAAkDt4E,MAAhF;AACH,GAJD;AAKA;AACJ;AACA;;;AACIsiD,EAAAA,SAAS,CAAChlB,SAAV,CAAoBw9C,6BAApB,GAAoD,YAAY;AAC5D,QAAI,KAAKx3B,gBAAL,CAAsBI,iBAA1B,EAA6C;AACzC,UAAI;AACA,eAAOxxC,IAAI,CAACC,KAAL,CAAW,KAAKmxC,gBAAL,CAAsBI,iBAAjC,CAAP;AACH,OAFD,CAGA,OAAO1lB,CAAP,EAAU;AACN,cAAMi9B,4HAAA,EAAN;AACH;AACJ;;AACD,WAAO,IAAP;AACH,GAVD;AAWA;AACJ;AACA;AACA;AACA;;;AACI3Y,EAAAA,SAAS,CAAChlB,SAAV,CAAoB89C,8BAApB,GAAqD,YAAY;AAC7D,WAAOnqD,4DAAS,CAAC,IAAD,EAAO,KAAK,CAAZ,EAAe,KAAK,CAApB,EAAuB,YAAY;AAC/C,UAAIlQ,OAAJ,EAAa6U,QAAb;AACA,aAAOiJ,8DAAW,CAAC,IAAD,EAAO,UAAUuE,EAAV,EAAc;AACnC,gBAAQA,EAAE,CAACrE,KAAX;AACI,eAAK,CAAL;AACIhe,YAAAA,OAAO,GAAG,EAAV;;AACA,gBAAI,KAAK62D,QAAT,EAAmB;AACf72D,cAAAA,OAAO,CAAC62D,QAAR,GAAmB,KAAKA,QAAxB;AACH;;AACDx0C,YAAAA,EAAE,CAACrE,KAAH,GAAW,CAAX;;AACJ,eAAK,CAAL;AACIqE,YAAAA,EAAE,CAACnE,IAAH,CAAQ3F,IAAR,CAAa,CAAC,CAAD,EAAI,CAAJ,GAAS,CAAT,CAAb;;AACA,mBAAO,CAAC;AAAE;AAAH,cAAc,KAAKuyC,gBAAL,CACbyD,mBADa,CACO,KAAKqM,kCADZ,EACgD56D,OADhD,CAAd,CAAP;;AAEJ,eAAK,CAAL;AACI6U,YAAAA,QAAQ,GAAGwN,EAAE,CAACpE,IAAH,EAAX;AACA,mBAAO,CAAC;AAAE;AAAH,cAAem4C,gFAAsB,CAACvhD,QAAQ,CAAClrB,IAAV,CAAtB,GAAwCkrB,QAAQ,CAAClrB,IAAjD,GAAwD,IAAvE,CAAP;;AACJ,eAAK,CAAL;AACI04B,YAAAA,EAAE,CAACpE,IAAH;;AACA,mBAAO,CAAC;AAAE;AAAH,cAAe,IAAf,CAAP;;AACJ,eAAK,CAAL;AAAQ,mBAAO,CAAC;AAAE;AAAH,aAAP;AAjBZ;AAmBH,OApBiB,CAAlB;AAqBH,KAvBe,CAAhB;AAwBH,GAzBD;AA0BA;AACJ;AACA;;;AACIsjB,EAAAA,SAAS,CAAChlB,SAAV,CAAoB69C,sCAApB,GAA6D,YAAY;AACrE,QAAI,KAAKp1B,kBAAL,IAA2BuxB,oEAA/B,EAAiD;AAC7C,aAAOA,oEAAgB,CAAC,KAAKvxB,kBAAN,CAAvB;AACH;;AACD,WAAO,IAAP;AACH,GALD;AAMA;AACJ;AACA;;;AACIzD,EAAAA,SAAS,CAAChlB,SAAV,CAAoBi+C,qCAApB,GAA4D,UAAUvC,QAAV,EAAoB;AAC5E,QAAI51C,EAAJ,EAAQE,EAAR,EAAY+hB,EAAZ,EAAgBkhB,EAAhB,EAAoBuV,EAApB;;AACA,WAAO7qD,4DAAS,CAAC,IAAD,EAAO,KAAK,CAAZ,EAAe,KAAK,CAApB,EAAuB,YAAY;AAC/C,UAAI8qD,sBAAJ,EAA4BT,WAA5B;AACA,aAAOz8C,8DAAW,CAAC,IAAD,EAAO,UAAUm9C,EAAV,EAAc;AACnC,gBAAQA,EAAE,CAACj9C,KAAX;AACI,eAAK,CAAL;AAAQ,mBAAO,CAAC;AAAE;AAAH,cAAc,KAAK+4C,eAAL,CAAqBmE,YAArB,CAAkC,CAAC74C,EAAE,GAAG,KAAKkgB,gBAAL,CAAsB+3B,wBAA5B,MAA0D,IAA1D,IAAkEj4C,EAAE,KAAK,KAAK,CAA9E,GAAkF,KAAK,CAAvF,GAA2FA,EAAE,CAAC84C,iBAAhI,EAAmJ,KAAKnE,uBAAxJ,EAAiL,KAAKH,QAAtL,CAAd,CAAP;;AACR,eAAK,CAAL;AACImE,YAAAA,sBAAsB,GAAGC,EAAE,CAACh9C,IAAH,EAAzB;AACAs8C,YAAAA,WAAW,GAAG,CAAC,CAACh4C,EAAE,GAAG,KAAKggB,gBAAL,CAAsB+3B,wBAA5B,MAA0D,IAA1D,IAAkE/3C,EAAE,KAAK,KAAK,CAA9E,GAAkF,KAAK,CAAvF,GAA2FA,EAAE,CAACg4C,WAA/F,MAAgHn7C,0FAAhH,GACR47C,sBADQ,GAER,CAAC12B,EAAE,GAAG,KAAK/B,gBAAL,CAAsB+3B,wBAA5B,MAA0D,IAA1D,IAAkEh2B,EAAE,KAAK,KAAK,CAA9E,GAAkF,KAAK,CAAvF,GAA2FA,EAAE,CAACi2B,WAFpG;;AAGA,gBAAI,CAAC,CAAC/U,EAAE,GAAG,KAAKjjB,gBAAL,CAAsB+3B,wBAA5B,MAA0D,IAA1D,IAAkE9U,EAAE,KAAK,KAAK,CAA9E,GAAkF,KAAK,CAAvF,GAA2FA,EAAE,CAAC+U,WAA/F,MAAgHn7C,0FAApH,EAA+J;AAC3J,mBAAK43C,uBAAL,CAA6BG,cAA7B,GAA8C6D,sBAAsB,GAChE1E,4GADgE,GAEhEA,wGAFJ;AAGH,aAJD,MAKK;AACD,kBAAI0E,sBAAJ,EAA4B;AACxB,qBAAKhE,uBAAL,CAA6BG,cAA7B,GAA+C,CAAC,CAAC4D,EAAE,GAAG,KAAKx4B,gBAAL,CAAsB+3B,wBAA5B,MAA0D,IAA1D,IAAkES,EAAE,KAAK,KAAK,CAA9E,GAAkF,KAAK,CAAvF,GAA2FA,EAAE,CAACR,WAA/F,MAAgHS,sBAAjH,GAC1C1E,oGAD0C,GAE1CA,gGAFJ;AAGH,eAJD,MAKK;AACD,qBAAKU,uBAAL,CAA6BG,cAA7B,GAA8Cb,qGAA9C;AACH;AACJ;;AACD,gBAAIiE,WAAJ,EAAiB;AACb,mBAAKvD,uBAAL,CAA6BC,WAA7B,GAA2CsD,WAA3C;AACA,qBAAO,CAAC;AAAE;AAAH,gBAAeh5B,SAAS,CAACm6B,8BAAV,CAAyCzD,QAAzC,EAAmDsC,WAAnD,CAAf,CAAP;AACH;;AACD,mBAAO,CAAC;AAAE;AAAH,cAAetC,QAAf,CAAP;AA1BR;AA4BH,OA7BiB,CAAlB;AA8BH,KAhCe,CAAhB;AAiCH,GAnCD;AAoCA;AACJ;AACA;AACA;AACA;AACA;;;AACI12B,EAAAA,SAAS,CAAChlB,SAAV,CAAoBg9C,4BAApB,GAAmD,UAAUL,cAAV,EAA0B;AACzE,WAAOhpD,4DAAS,CAAC,IAAD,EAAO,KAAK,CAAZ,EAAe,KAAK,CAApB,EAAuB,YAAY;AAC/C,UAAI+nD,QAAJ,EAAc0D,qBAAd,EAAqC7B,gBAArC;AACA,aAAOh8C,8DAAW,CAAC,IAAD,EAAO,UAAUuE,EAAV,EAAc;AACnC,gBAAQA,EAAE,CAACrE,KAAX;AACI,eAAK,CAAL;AACI,iBAAK/L,MAAL,CAAYe,OAAZ,CAAoB,0DAApB;AACA,iBAAKf,MAAL,CAAYsJ,UAAZ,CAAuB,yBAAyB,KAAKgnB,gBAAL,CAAsBE,gBAAtB,IAA0CrjB,yEAAnE,CAAvB;AACA,iBAAKnN,MAAL,CAAYsJ,UAAZ,CAAuB,0BAA0B,KAAKgnB,gBAAL,CAAsBI,iBAAtB,IAA2CvjB,yEAArE,CAAvB;AACA,iBAAKnN,MAAL,CAAYsJ,UAAZ,CAAuB,2BAA2B29C,cAAc,CAACP,mBAAf,IAAsCv5C,yEAAjE,CAAvB;AACA64C,YAAAA,QAAQ,GAAG,KAAK4D,mCAAL,EAAX;;AACA,gBAAI5D,QAAJ,EAAc;AACV,mBAAKhmD,MAAL,CAAYe,OAAZ,CAAoB,+CAApB;AACAkmD,cAAAA,cAAc,CAACK,4BAAf,CAA4CtB,QAA5C,EAAsD,KAAtD;AACA,qBAAO,CAAC;AAAE;AAAH,gBAAe5B,+EAAf,CAAP;AACH,aAVL,CAWI;;;AACA,iBAAKpkD,MAAL,CAAYe,OAAZ,CAAoB,mHAApB;AACA2oD,YAAAA,qBAAqB,GAAGzC,cAAc,CAACiB,SAAf,EAAxB;;AACA,gBAAI,KAAKF,mBAAL,CAAyBf,cAAzB,KAA4CA,cAAc,CAAC4C,kBAA3D,IAAiF,CAACH,qBAAtF,EAA6G;AACzG,mBAAK1pD,MAAL,CAAYe,OAAZ,CAAoB,8BAApB,EADyG,CAEzG;;AACA,qBAAO,CAAC;AAAE;AAAH,gBAAeqjD,8EAAf,CAAP;AACH,aAJD,MAKK,IAAIsF,qBAAJ,EAA2B;AAC5B,mBAAK1pD,MAAL,CAAYe,OAAZ,CAAoB,iCAApB;AACH;;AACD,iBAAKf,MAAL,CAAYe,OAAZ,CAAoB,oHAApB;AACA,mBAAO,CAAC;AAAE;AAAH,cAAc,KAAK+oD,oCAAL,EAAd,CAAP;;AACJ,eAAK,CAAL;AACI9D,YAAAA,QAAQ,GAAG51C,EAAE,CAACpE,IAAH,EAAX;;AACA,gBAAIg6C,QAAJ,EAAc;AACV,mBAAKhmD,MAAL,CAAYe,OAAZ,CAAoB,gGAApB;AACAkmD,cAAAA,cAAc,CAACK,4BAAf,CAA4CtB,QAA5C,EAAsD,IAAtD;AACA,qBAAO,CAAC;AAAE;AAAH,gBAAe5B,gFAAf,CAAP;AACH;;AACD,iBAAKpkD,MAAL,CAAYe,OAAZ,CAAoB,6HAApB;AACA8mD,YAAAA,gBAAgB,GAAG,KAAKkC,2CAAL,EAAnB;;AACA,gBAAIlC,gBAAgB,IAAI,CAAC,KAAK95D,OAAL,CAAa4iC,0BAAtC,EAAkE;AAC9D,mBAAK3wB,MAAL,CAAYe,OAAZ,CAAoB,uDAApB;AACAkmD,cAAAA,cAAc,CAACK,4BAAf,CAA4CO,gBAA5C,EAA8D,KAA9D;AACA,qBAAO,CAAC;AAAE;AAAH,gBAAezD,yFAAf,CAAP;AACH,aAbL,CAcI;;;AACA,iBAAKpkD,MAAL,CAAYtpB,KAAZ,CAAkB,oLAAlB;AACA,kBAAMuxD,sHAAA,EAAN;AAzCR;AA2CH,OA5CiB,CAAlB;AA6CH,KA/Ce,CAAhB;AAgDH,GAjDD;AAkDA;AACJ;AACA;;;AACI3Y,EAAAA,SAAS,CAAChlB,SAAV,CAAoBs/C,mCAApB,GAA0D,YAAY;AAClE;AACA,QAAI,KAAKt5B,gBAAL,CAAsBG,sBAA1B,EAAkD;AAC9C,WAAKzwB,MAAL,CAAYe,OAAZ,CAAoB,sFAApB;;AACA,UAAI;AACA,aAAKf,MAAL,CAAYe,OAAZ,CAAoB,mDAApB;AACA,YAAIkpD,cAAc,GAAG/qE,IAAI,CAACC,KAAL,CAAW,KAAKmxC,gBAAL,CAAsBG,sBAAjC,CAArB;AACA,YAAIu1B,QAAQ,GAAG12B,SAAS,CAAC46B,4CAAV,CAAuDD,cAAc,CAACjE,QAAtE,EAAgF,KAAKn1B,eAArF,CAAf;AACA,aAAK7wB,MAAL,CAAYe,OAAZ,CAAoB,sCAApB;;AACA,YAAIilD,QAAJ,EAAc;AACV,eAAKhmD,MAAL,CAAYe,OAAZ,CAAoB,+EAApB;AACA,iBAAOilD,QAAP;AACH,SAHD,MAIK;AACD,eAAKhmD,MAAL,CAAYe,OAAZ,CAAoB,uEAApB;AACH;AACJ,OAZD,CAaA,OAAOiK,CAAP,EAAU;AACN,aAAKhL,MAAL,CAAYe,OAAZ,CAAoB,gGAApB;AACA,cAAMknC,iIAAA,EAAN;AACH;AACJ,KArBiE,CAsBlE;;;AACA,QAAI,KAAKmiB,oBAAL,EAAJ,EAAiC;AAC7B,WAAKpqD,MAAL,CAAYe,OAAZ,CAAoB,gGAApB;AACA,aAAOuuB,SAAS,CAAC+6B,oCAAV,CAA+C,KAAKx5B,eAApD,CAAP;AACH;;AACD,WAAO,IAAP;AACH,GA5BD;AA6BA;AACJ;AACA;AACA;AACA;;;AACIvB,EAAAA,SAAS,CAAChlB,SAAV,CAAoBw/C,oCAApB,GAA2D,YAAY;AACnE,WAAO7rD,4DAAS,CAAC,IAAD,EAAO,KAAK,CAAZ,EAAe,KAAK,CAApB,EAAuB,YAAY;AAC/C,UAAIqsD,yBAAJ,EAA+Bv8D,OAA/B,EAAwCw8D,KAAxC,EAA+C3nD,QAA/C,EAAyD4nD,iBAAzD,EAA4ExE,QAA5E,EAAsF9O,OAAtF,EAA+FuT,UAA/F;AACA,aAAO5+C,8DAAW,CAAC,IAAD,EAAO,UAAUuE,EAAV,EAAc;AACnC,gBAAQA,EAAE,CAACrE,KAAX;AACI,eAAK,CAAL;AACIu+C,YAAAA,yBAAyB,GAAG,KAAKn9C,uFAAL,GAA8C,KAAK4lB,kBAAnD,GAAwE,uBAApG;AACAhlC,YAAAA,OAAO,GAAG,EAAV;;AACA,gBAAI,KAAK62D,QAAT,EAAmB;AACf72D,cAAAA,OAAO,CAAC62D,QAAR,GAAmB,KAAKA,QAAxB;AACH;;AACD2F,YAAAA,KAAK,GAAG,IAAR;AACAn6C,YAAAA,EAAE,CAACrE,KAAH,GAAW,CAAX;;AACJ,eAAK,CAAL;AACIqE,YAAAA,EAAE,CAACnE,IAAH,CAAQ3F,IAAR,CAAa,CAAC,CAAD,EAAI,CAAJ,GAAS,CAAT,CAAb;;AACA,mBAAO,CAAC;AAAE;AAAH,cAAc,KAAKuyC,gBAAL,CAAsByD,mBAAtB,CAA0CgO,yBAA1C,EAAqEv8D,OAArE,CAAd,CAAP;;AACJ,eAAK,CAAL;AACI6U,YAAAA,QAAQ,GAAGwN,EAAE,CAACpE,IAAH,EAAX;AACAw+C,YAAAA,iBAAiB,GAAG,KAAK,CAAzB;AACAxE,YAAAA,QAAQ,GAAG,KAAK,CAAhB;;AACA,gBAAIxB,qGAAgC,CAAC5hD,QAAQ,CAAClrB,IAAV,CAApC,EAAqD;AACjD8yE,cAAAA,iBAAiB,GAAG5nD,QAAQ,CAAClrB,IAA7B;AACAsuE,cAAAA,QAAQ,GAAGwE,iBAAiB,CAACxE,QAA7B;AACA,mBAAKhmD,MAAL,CAAYsJ,UAAZ,CAAuB,mCAAmCkhD,iBAAiB,CAACG,yBAA5E;AACH,aAJD,MAKK,IAAIlG,+GAAqC,CAAC7hD,QAAQ,CAAClrB,IAAV,CAAzC,EAA0D;AAC3D,mBAAKsoB,MAAL,CAAYsD,OAAZ,CAAoB,wHAAwHV,QAAQ,CAACngB,MAArJ;AACA+nE,cAAAA,iBAAiB,GAAG5nD,QAAQ,CAAClrB,IAA7B;;AACA,kBAAI8yE,iBAAiB,CAAC9zE,KAAlB,KAA4By2B,2EAAhC,EAA4D;AACxD,qBAAKnN,MAAL,CAAYtpB,KAAZ,CAAkB,oEAAlB;AACA,uBAAO,CAAC;AAAE;AAAH,kBAAe,IAAf,CAAP;AACH;;AACD,mBAAKspB,MAAL,CAAYsD,OAAZ,CAAoB,sDAAsDknD,iBAAiB,CAAC9zE,KAA5F;AACA,mBAAKspB,MAAL,CAAYsD,OAAZ,CAAoB,kEAAkEknD,iBAAiB,CAACK,iBAAxG;AACA,mBAAK7qD,MAAL,CAAYsD,OAAZ,CAAoB,2FAApB;AACA0iD,cAAAA,QAAQ,GAAG,EAAX;AACH,aAXI,MAYA;AACD,mBAAKhmD,MAAL,CAAYtpB,KAAZ,CAAkB,4FAAlB;AACA,qBAAO,CAAC;AAAE;AAAH,gBAAe,IAAf,CAAP;AACH;;AACD,iBAAKspB,MAAL,CAAYe,OAAZ,CAAoB,wIAApB;AACAwpD,YAAAA,KAAK,GAAGj7B,SAAS,CAAC46B,4CAAV,CAAuDlE,QAAvD,EAAiE,KAAKn1B,eAAtE,CAAR;AACA,mBAAO,CAAC;AAAE;AAAH,cAAc,CAAd,CAAP;;AACJ,eAAK,CAAL;AACIqmB,YAAAA,OAAO,GAAG9mC,EAAE,CAACpE,IAAH,EAAV;;AACA,gBAAIkrC,OAAO,YAAY5pC,2DAAvB,EAAkC;AAC9B,mBAAKtN,MAAL,CAAYtpB,KAAZ,CAAkB,sGAAsGwgE,OAAO,CAACtjC,SAA9G,GAA0H,uBAA1H,GAAoJsjC,OAAO,CAACnU,YAA9K;AACH,aAFD,MAGK;AACD0nB,cAAAA,UAAU,GAAGvT,OAAb;AACA,mBAAKl3C,MAAL,CAAYtpB,KAAZ,CAAkB,0GAA0G+zE,UAAU,CAAC55E,IAArH,GAA4H,uBAA5H,GAAsJ45E,UAAU,CAACvoF,OAAnL;AACH;;AACD,mBAAO,CAAC;AAAE;AAAH,cAAe,IAAf,CAAP;;AACJ,eAAK,CAAL;AACI;AACA,gBAAI,CAACqoF,KAAL,EAAY;AACR,mBAAKvqD,MAAL,CAAYsD,OAAZ,CAAoB,sHAApB;AACA,mBAAKtD,MAAL,CAAYe,OAAZ,CAAoB,uDAApB;AACAwpD,cAAAA,KAAK,GAAGj7B,SAAS,CAAC+6B,oCAAV,CAA+C,KAAKx5B,eAApD,CAAR;AACH;;AACD,mBAAO,CAAC;AAAE;AAAH,cAAe05B,KAAf,CAAP;AAzDR;AA2DH,OA5DiB,CAAlB;AA6DH,KA/De,CAAhB;AAgEH,GAjED;AAkEA;AACJ;AACA;;;AACIj7B,EAAAA,SAAS,CAAChlB,SAAV,CAAoBy/C,2CAApB,GAAkE,YAAY;AAC1E,QAAI,KAAKh3B,kBAAL,IAA2BwxB,6EAA/B,EAA0D;AACtD,aAAOA,6EAAyB,CAAC,KAAKxxB,kBAAN,CAAhC;AACH;;AACD,WAAO,IAAP;AACH,GALD;AAMA;AACJ;AACA;;;AACIzD,EAAAA,SAAS,CAAChlB,SAAV,CAAoB8/C,oBAApB,GAA2C,YAAY;AACnD,QAAIl5C,KAAK,GAAG,IAAZ;;AACA,QAAI45C,OAAO,GAAG,KAAKx6B,gBAAL,CAAsBE,gBAAtB,CAAuCxmD,MAAvC,CAA8C,UAAUoxB,SAAV,EAAqB;AAC7E,aAAOmC,yEAAA,CAA2BnC,SAA3B,EAAsCsM,WAAtC,OAAwDwJ,KAAK,CAAC2f,eAArE;AACH,KAFa,CAAd;AAGA,WAAOi6B,OAAO,CAAC99E,MAAR,GAAiB,CAAxB;AACH,GAND;AAOA;AACJ;AACA;AACA;AACA;;;AACIsiD,EAAAA,SAAS,CAACc,iBAAV,GAA8B,UAAU46B,eAAV,EAA2B36B,iBAA3B,EAA8C;AACxE,QAAI46B,2BAAJ;;AACA,QAAI56B,iBAAiB,IAAIA,iBAAiB,CAACmE,kBAAlB,KAAyCf,0EAAlE,EAA2F;AACvF,UAAI1C,MAAM,GAAGV,iBAAiB,CAACU,MAAlB,GAA2BV,iBAAiB,CAACU,MAA7C,GAAsD5jB,gFAAnE;AACA89C,MAAAA,2BAA2B,GAAG56B,iBAAiB,CAACmE,kBAAlB,GAAuC,GAAvC,GAA6CzD,MAA7C,GAAsD,GAApF;AACH;;AACD,WAAOk6B,2BAA2B,GAAGA,2BAAH,GAAiCD,eAAnE;AACH,GAPD;AAQA;AACJ;AACA;AACA;;;AACI17B,EAAAA,SAAS,CAAC+6B,oCAAV,GAAiD,UAAUc,IAAV,EAAgB;AAC7D,WAAO;AACH5D,MAAAA,iBAAiB,EAAE4D,IADhB;AAEHvD,MAAAA,eAAe,EAAEuD,IAFd;AAGHC,MAAAA,OAAO,EAAE,CAACD,IAAD;AAHN,KAAP;AAKH,GAND;AAOA;AACJ;AACA;AACA;AACA;;;AACI77B,EAAAA,SAAS,CAAC46B,4CAAV,GAAyD,UAAUtnD,QAAV,EAAoBxH,SAApB,EAA+B;AACpF,SAAK,IAAIpkB,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAG4rB,QAAQ,CAAC51B,MAA7B,EAAqCgK,CAAC,EAAtC,EAA0C;AACtC,UAAIgvE,QAAQ,GAAGpjD,QAAQ,CAAC5rB,CAAD,CAAvB;;AACA,UAAIgvE,QAAQ,CAACoF,OAAT,CAAiB3yE,OAAjB,CAAyB2iB,SAAzB,IAAsC,CAAC,CAA3C,EAA8C;AAC1C,eAAO4qD,QAAP;AACH;AACJ;;AACD,WAAO,IAAP;AACH,GARD;AASA;AACJ;AACA;;;AACI12B,EAAAA,SAAS,CAAChlB,SAAV,CAAoBwjC,iBAApB,GAAwC,YAAY;AAChD,QAAI,KAAKgY,iBAAL,EAAJ,EAA8B;AAC1B,aAAO,KAAKE,QAAL,CAAc4B,eAArB;AACH,KAFD,MAGK;AACD,YAAMr6C,6GAAA,CAAuD,uBAAvD,CAAN;AACH;AACJ,GAPD;AAQA;AACJ;AACA;AACA;;;AACI+hB,EAAAA,SAAS,CAAChlB,SAAV,CAAoB+gD,OAApB,GAA8B,UAAUF,IAAV,EAAgB;AAC1C,WAAO,KAAKnF,QAAL,CAAcoF,OAAd,CAAsB3yE,OAAtB,CAA8B0yE,IAA9B,IAAsC,CAAC,CAA9C;AACH,GAFD;AAGA;AACJ;AACA;AACA;AACA;AACA;;;AACI77B,EAAAA,SAAS,CAACg8B,sBAAV,GAAmC,UAAUH,IAAV,EAAgB;AAC/C,WAAOh+C,sFAAA,CAAsCg+C,IAAtC,KAA+C,CAAtD;AACH,GAFD;AAGA;AACJ;AACA;AACA;AACA;AACA;;;AACI77B,EAAAA,SAAS,CAACk8B,4BAAV,GAAyC,UAAUL,IAAV,EAAgBM,MAAhB,EAAwBC,WAAxB,EAAqC;AAC1E;AACA,QAAIC,oBAAoB,GAAG,IAAIpuD,wDAAJ,CAAc4tD,IAAd,CAA3B;AACAQ,IAAAA,oBAAoB,CAAC9c,aAArB;AACA,QAAI+c,iBAAiB,GAAGD,oBAAoB,CAACjlD,gBAArB,EAAxB;AACA,QAAImlD,eAAe,GAAGJ,MAAM,GAAG,GAAT,GAAeG,iBAAiB,CAAC5kD,eAAvD;;AACA,QAAI,KAAKskD,sBAAL,CAA4BM,iBAAiB,CAAC5kD,eAA9C,CAAJ,EAAoE;AAChE6kD,MAAAA,eAAe,GAAGJ,MAAM,GAAG,GAAT,GAAet+C,4FAAjC;AACH,KARyE,CAS1E;;;AACA,QAAI1vB,GAAG,GAAG8f,wFAAA,CAA0CmN,2DAAQ,CAACA,2DAAQ,CAAC,EAAD,EAAKihD,oBAAoB,CAACjlD,gBAArB,EAAL,CAAT,EAAwD;AAAEM,MAAAA,eAAe,EAAE6kD;AAAnB,KAAxD,CAAlD,EAAiJ9c,SAA3J,CAV0E,CAW1E;;AACA,QAAI2c,WAAJ,EACI,OAAOjuE,GAAG,GAAG,GAAN,GAAYiuE,WAAnB;AACJ,WAAOjuE,GAAP;AACH,GAfD;AAgBA;AACJ;AACA;AACA;AACA;AACA;;;AACI6xC,EAAAA,SAAS,CAACm6B,8BAAV,GAA2C,UAAUzD,QAAV,EAAoBsC,WAApB,EAAiC;AACxEtC,IAAAA,QAAQ,CAACC,sBAAT,GAAkC32B,SAAS,CAACk8B,4BAAV,CAAuCxF,QAAQ,CAACC,sBAAhD,EAAwEqC,WAAxE,CAAlC,CADwE,CAExE;;AACAtC,IAAAA,QAAQ,CAACI,cAAT,GAA0B92B,SAAS,CAACk8B,4BAAV,CAAuCxF,QAAQ,CAACI,cAAhD,EAAgEkC,WAAhE,EAA6En7C,6FAA7E,CAA1B;;AACA,QAAI64C,QAAQ,CAACK,oBAAb,EAAmC;AAC/BL,MAAAA,QAAQ,CAACK,oBAAT,GAAgC/2B,SAAS,CAACk8B,4BAAV,CAAuCxF,QAAQ,CAACK,oBAAhD,EAAsEiC,WAAtE,CAAhC;AACH;;AACD,WAAOtC,QAAP;AACH,GARD;;AASA,SAAO12B,SAAP;AACH,CAtsB8B,EAA/B;;;;;;;;;;;;;;;;;;;;;;AC1BA;AACa;;AACb;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;;AACA,IAAI6Y,gBAAgB;AAAG;AAAe,YAAY;AAC9C,WAASA,gBAAT,GAA4B,CAC3B;AACD;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACIA,EAAAA,gBAAgB,CAACyB,wBAAjB,GAA4C,UAAUqiB,YAAV,EAAwB98C,aAAxB,EAAuCw1C,YAAvC,EAAqDr0B,gBAArD,EAAuEtwB,MAAvE,EAA+E4kD,QAA/E,EAAyF;AACjI,WAAO3mD,4DAAS,CAAC,IAAD,EAAO,KAAK,CAAZ,EAAe,KAAK,CAApB,EAAuB,YAAY;AAC/C,UAAIiuD,qBAAJ,EAA2B77C,GAA3B;AACA,aAAOxE,8DAAW,CAAC,IAAD,EAAO,UAAUuE,EAAV,EAAc;AACnC,gBAAQA,EAAE,CAACrE,KAAX;AACI,eAAK,CAAL;AACImgD,YAAAA,qBAAqB,GAAG/jB,gBAAgB,CAACgkB,cAAjB,CAAgCF,YAAhC,EAA8C98C,aAA9C,EAA6Dw1C,YAA7D,EAA2Er0B,gBAA3E,EAA6FtwB,MAA7F,EAAqG4kD,QAArG,CAAxB;AACAx0C,YAAAA,EAAE,CAACrE,KAAH,GAAW,CAAX;;AACJ,eAAK,CAAL;AACIqE,YAAAA,EAAE,CAACnE,IAAH,CAAQ3F,IAAR,CAAa,CAAC,CAAD,EAAI,CAAJ,GAAS,CAAT,CAAb;;AACA,mBAAO,CAAC;AAAE;AAAH,cAAc4lD,qBAAqB,CAAClF,qBAAtB,EAAd,CAAP;;AACJ,eAAK,CAAL;AACI52C,YAAAA,EAAE,CAACpE,IAAH;;AACA,mBAAO,CAAC;AAAE;AAAH,cAAekgD,qBAAf,CAAP;;AACJ,eAAK,CAAL;AACI77C,YAAAA,GAAG,GAAGD,EAAE,CAACpE,IAAH,EAAN;AACA,kBAAMuB,6GAAA,CAAuD8C,GAAvD,CAAN;;AACJ,eAAK,CAAL;AAAQ,mBAAO,CAAC;AAAE;AAAH,aAAP;AAbZ;AAeH,OAhBiB,CAAlB;AAiBH,KAnBe,CAAhB;AAoBH,GArBD;AAsBA;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACI83B,EAAAA,gBAAgB,CAACgkB,cAAjB,GAAkC,UAAUh8B,YAAV,EAAwB0oB,gBAAxB,EAA0C8L,YAA1C,EAAwDr0B,gBAAxD,EAA0EtwB,MAA1E,EAAkF4kD,QAAlF,EAA4F;AAC1H;AACA,QAAInnD,sEAAA,CAAoB0yB,YAApB,CAAJ,EAAuC;AACnC,YAAM8X,4GAAA,EAAN;AACH;;AACD,WAAO,IAAI3Y,oDAAJ,CAAca,YAAd,EAA4B0oB,gBAA5B,EAA8C8L,YAA9C,EAA4Dr0B,gBAA5D,EAA8EtwB,MAA9E,EAAsF4kD,QAAtF,CAAP;AACH,GAND;;AAOA,SAAOzc,gBAAP;AACH,CArDqC,EAAtC;;;;;;;;;;;;;;;;;;;ACZA;AACa;AACb;AACA;AACA;AACA;;AACA,IAAIkkB,cAAc,GAAG;AAAE,sBAAoB;AAAE,iDAA6C;AAAE,wBAAkB,4DAApB;AAAkF,+CAAyC,CAAC,oBAAD,EAAuB,iBAAvB,EAA0C,qBAA1C,CAA3H;AAA6L,kBAAY,8DAAzM;AAAyQ,kCAA4B,CAAC,OAAD,EAAU,UAAV,EAAsB,WAAtB,CAArS;AAAyU,iCAA2B,CAAC,UAAD,CAApW;AAAkX,+CAAyC,CAAC,OAAD,CAA3Z;AAAsa,kCAA4B,CAAC,MAAD,EAAS,UAAT,EAAqB,eAArB,EAAsC,gBAAtC,CAAlc;AAA2f,0BAAoB,CAAC,QAAD,EAAW,SAAX,EAAsB,OAAtB,EAA+B,gBAA/B,CAA/gB;AAAikB,gBAAU,mDAA3kB;AAAgoB,yCAAmC,KAAnqB;AAA0qB,2BAAqB,2CAA/rB;AAA4uB,gCAA0B,gEAAtwB;AAAw0B,uCAAiC,iEAAz2B;AAA46B,+BAAyB,IAAr8B;AAA28B,uCAAiC,IAA5+B;AAAk/B,8BAAwB,6DAA1gC;AAAykC,0BAAoB,CAAC,KAAD,EAAQ,KAAR,EAAe,qBAAf,EAAsC,0BAAtC,EAAkE,uBAAlE,EAA2F,cAA3F,EAA2G,KAA3G,EAAkH,KAAlH,EAAyH,KAAzH,EAAgI,WAAhI,EAA6I,KAA7I,EAAoJ,OAApJ,EAA6J,oBAA7J,EAAmL,MAAnL,EAA2L,KAA3L,EAAkM,KAAlM,EAAyM,SAAzM,EAAoN,QAApN,EAA8N,OAA9N,CAA7lC;AAAq0C,2BAAqB,mDAA11C;AAA+4C,6BAAuB,IAAt6C;AAA46C,6BAAuB,qBAAn8C;AAA09C,+BAAyB,mBAAn/C;AAAwgD,sBAAgB,qBAAxhD;AAA+iD,kBAAY;AAA3jD,KAA/C;AAAuoD,8CAA0C;AAAE,wBAAkB,yDAApB;AAA+E,+CAAyC,CAAC,oBAAD,EAAuB,iBAAvB,EAA0C,qBAA1C,CAAxH;AAA0L,kBAAY,2DAAtM;AAAmQ,kCAA4B,CAAC,OAAD,EAAU,UAAV,EAAsB,WAAtB,CAA/R;AAAmU,iCAA2B,CAAC,UAAD,CAA9V;AAA4W,+CAAyC,CAAC,OAAD,CAArZ;AAAga,kCAA4B,CAAC,MAAD,EAAS,UAAT,EAAqB,eAArB,EAAsC,gBAAtC,CAA5b;AAAqf,0BAAoB,CAAC,QAAD,EAAW,SAAX,EAAsB,OAAtB,EAA+B,gBAA/B,CAAzgB;AAA2jB,gBAAU,0DAArkB;AAAioB,yCAAmC,KAApqB;AAA2qB,2BAAqB,uDAAhsB;AAAyvB,gCAA0B,6DAAnxB;AAAk1B,uCAAiC,8DAAn3B;AAAm7B,+BAAyB,IAA58B;AAAk9B,uCAAiC,IAAn/B;AAAy/B,8BAAwB,0DAAjhC;AAA6kC,0BAAoB,CAAC,KAAD,EAAQ,KAAR,EAAe,qBAAf,EAAsC,0BAAtC,EAAkE,uBAAlE,EAA2F,cAA3F,EAA2G,KAA3G,EAAkH,KAAlH,EAAyH,KAAzH,EAAgI,WAAhI,EAA6I,KAA7I,EAAoJ,OAApJ,EAA6J,oBAA7J,EAAmL,MAAnL,EAA2L,KAA3L,EAAkM,KAAlM,EAAyM,SAAzM,EAAoN,QAApN,EAA8N,OAA9N,CAAjmC;AAAy0C,2BAAqB,gDAA91C;AAAg5C,6BAAuB,IAAv6C;AAA66C,6BAAuB,4BAAp8C;AAAk+C,+BAAyB,wBAA3/C;AAAqhD,sBAAgB,iCAAriD;AAAwkD,kBAAY;AAAplD,KAAjrD;AAAuyG,gDAA4C;AAAE,wBAAkB,2DAApB;AAAiF,+CAAyC,CAAC,oBAAD,EAAuB,iBAAvB,EAA0C,qBAA1C,CAA1H;AAA4L,kBAAY,6DAAxM;AAAuQ,kCAA4B,CAAC,OAAD,EAAU,UAAV,EAAsB,WAAtB,CAAnS;AAAuU,iCAA2B,CAAC,UAAD,CAAlW;AAAgX,+CAAyC,CAAC,OAAD,CAAzZ;AAAoa,kCAA4B,CAAC,MAAD,EAAS,UAAT,EAAqB,eAArB,EAAsC,gBAAtC,CAAhc;AAAyf,0BAAoB,CAAC,QAAD,EAAW,SAAX,EAAsB,OAAtB,EAA+B,gBAA/B,CAA7gB;AAA+jB,gBAAU,kDAAzkB;AAA6nB,yCAAmC,KAAhqB;AAAuqB,2BAAqB,2CAA5rB;AAAyuB,gCAA0B,+DAAnwB;AAAo0B,uCAAiC,gEAAr2B;AAAu6B,+BAAyB,IAAh8B;AAAs8B,uCAAiC,IAAv+B;AAA6+B,8BAAwB,4DAArgC;AAAmkC,0BAAoB,CAAC,KAAD,EAAQ,KAAR,EAAe,qBAAf,EAAsC,0BAAtC,EAAkE,uBAAlE,EAA2F,cAA3F,EAA2G,KAA3G,EAAkH,KAAlH,EAAyH,KAAzH,EAAgI,WAAhI,EAA6I,KAA7I,EAAoJ,OAApJ,EAA6J,oBAA7J,EAAmL,MAAnL,EAA2L,KAA3L,EAAkM,KAAlM,EAAyM,SAAzM,EAAoN,QAApN,EAA8N,OAA9N,CAAvlC;AAA+zC,2BAAqB,kDAAp1C;AAAw4C,6BAAuB,IAA/5C;AAAq6C,6BAAuB,oBAA57C;AAAk9C,+BAAyB,mBAA3+C;AAAggD,sBAAgB,qBAAhhD;AAAuiD,kBAAY;AAAnjD,KAAn1G;AAA26J,oDAAgD;AAAE,wBAAkB,+DAApB;AAAqF,+CAAyC,CAAC,oBAAD,EAAuB,iBAAvB,EAA0C,qBAA1C,CAA9H;AAAgM,kBAAY,iEAA5M;AAA+Q,kCAA4B,CAAC,OAAD,EAAU,UAAV,EAAsB,WAAtB,CAA3S;AAA+U,iCAA2B,CAAC,UAAD,CAA1W;AAAwX,+CAAyC,CAAC,OAAD,CAAja;AAA4a,kCAA4B,CAAC,MAAD,EAAS,UAAT,EAAqB,eAArB,EAAsC,gBAAtC,CAAxc;AAAigB,0BAAoB,CAAC,QAAD,EAAW,SAAX,EAAsB,OAAtB,EAA+B,gBAA/B,CAArhB;AAAukB,gBAAU,6EAAjlB;AAAgqB,yCAAmC,KAAnsB;AAA0sB,2BAAqB,2CAA/tB;AAA4wB,gCAA0B,mEAAtyB;AAA22B,uCAAiC,oEAA54B;AAAk9B,+BAAyB,IAA3+B;AAAi/B,uCAAiC,IAAlhC;AAAwhC,8BAAwB,gEAAhjC;AAAknC,0BAAoB,CAAC,KAAD,EAAQ,KAAR,EAAe,qBAAf,EAAsC,0BAAtC,EAAkE,uBAAlE,EAA2F,cAA3F,EAA2G,KAA3G,EAAkH,KAAlH,EAAyH,KAAzH,EAAgI,WAAhI,EAA6I,KAA7I,EAAoJ,OAApJ,EAA6J,oBAA7J,EAAmL,MAAnL,EAA2L,KAA3L,EAAkM,KAAlM,EAAyM,SAAzM,EAAoN,QAApN,EAA8N,OAA9N,CAAtoC;AAA82C,2BAAqB,sDAAn4C;AAA27C,6BAAuB,IAAl9C;AAAw9C,6BAAuB,qBAA/+C;AAAsgD,+BAAyB,mBAA/hD;AAAojD,sBAAgB,qBAApkD;AAA2lD,kBAAY;AAAvmD,KAA39J;AAA+lN,iDAA6C;AAAE,wBAAkB,4DAApB;AAAkF,+CAAyC,CAAC,oBAAD,EAAuB,iBAAvB,EAA0C,qBAA1C,CAA3H;AAA6L,kBAAY,8DAAzM;AAAyQ,kCAA4B,CAAC,OAAD,EAAU,UAAV,EAAsB,WAAtB,CAArS;AAAyU,iCAA2B,CAAC,UAAD,CAApW;AAAkX,+CAAyC,CAAC,OAAD,CAA3Z;AAAsa,kCAA4B,CAAC,MAAD,EAAS,UAAT,EAAqB,eAArB,EAAsC,gBAAtC,CAAlc;AAA2f,0BAAoB,CAAC,QAAD,EAAW,SAAX,EAAsB,OAAtB,EAA+B,gBAA/B,CAA/gB;AAAikB,gBAAU,oFAA3kB;AAAiqB,yCAAmC,KAApsB;AAA2sB,2BAAqB,uDAAhuB;AAAyxB,gCAA0B,gEAAnzB;AAAq3B,uCAAiC,iEAAt5B;AAAy9B,+BAAyB,IAAl/B;AAAw/B,uCAAiC,IAAzhC;AAA+hC,8BAAwB,6DAAvjC;AAAsnC,0BAAoB,CAAC,KAAD,EAAQ,KAAR,EAAe,qBAAf,EAAsC,0BAAtC,EAAkE,uBAAlE,EAA2F,cAA3F,EAA2G,KAA3G,EAAkH,KAAlH,EAAyH,KAAzH,EAAgI,WAAhI,EAA6I,KAA7I,EAAoJ,OAApJ,EAA6J,oBAA7J,EAAmL,MAAnL,EAA2L,KAA3L,EAAkM,KAAlM,EAAyM,SAAzM,EAAoN,QAApN,EAA8N,OAA9N,CAA1oC;AAAk3C,2BAAqB,mDAAv4C;AAA47C,6BAAuB,IAAn9C;AAAy9C,6BAAuB,4BAAh/C;AAA8gD,+BAAyB,wBAAviD;AAAikD,sBAAgB,iCAAjlD;AAAonD,kBAAY;AAAhoD,KAA5oN;AAA8yQ,mDAA+C;AAAE,wBAAkB,8DAApB;AAAoF,+CAAyC,CAAC,oBAAD,EAAuB,iBAAvB,EAA0C,qBAA1C,CAA7H;AAA+L,kBAAY,gEAA3M;AAA6Q,kCAA4B,CAAC,OAAD,EAAU,UAAV,EAAsB,WAAtB,CAAzS;AAA6U,iCAA2B,CAAC,UAAD,CAAxW;AAAsX,+CAAyC,CAAC,OAAD,CAA/Z;AAA0a,kCAA4B,CAAC,MAAD,EAAS,UAAT,EAAqB,eAArB,EAAsC,gBAAtC,CAAtc;AAA+f,0BAAoB,CAAC,QAAD,EAAW,SAAX,EAAsB,OAAtB,EAA+B,gBAA/B,CAAnhB;AAAqkB,gBAAU,4EAA/kB;AAA6pB,yCAAmC,KAAhsB;AAAusB,2BAAqB,2CAA5tB;AAAywB,gCAA0B,kEAAnyB;AAAu2B,uCAAiC,mEAAx4B;AAA68B,+BAAyB,IAAt+B;AAA4+B,uCAAiC,IAA7gC;AAAmhC,8BAAwB,+DAA3iC;AAA4mC,0BAAoB,CAAC,KAAD,EAAQ,KAAR,EAAe,qBAAf,EAAsC,0BAAtC,EAAkE,uBAAlE,EAA2F,cAA3F,EAA2G,KAA3G,EAAkH,KAAlH,EAAyH,KAAzH,EAAgI,WAAhI,EAA6I,KAA7I,EAAoJ,OAApJ,EAA6J,oBAA7J,EAAmL,MAAnL,EAA2L,KAA3L,EAAkM,KAAlM,EAAyM,SAAzM,EAAoN,QAApN,EAA8N,OAA9N,CAAhoC;AAAw2C,2BAAqB,qDAA73C;AAAo7C,6BAAuB,IAA38C;AAAi9C,6BAAuB,oBAAx+C;AAA8/C,+BAAyB,mBAAvhD;AAA4iD,sBAAgB,qBAA5jD;AAAmlD,kBAAY;AAA/lD,KAA71Q;AAAi+T,wDAAoD;AAAE,wBAAkB,mEAApB;AAAyF,+CAAyC,CAAC,oBAAD,EAAuB,iBAAvB,EAA0C,qBAA1C,CAAlI;AAAoM,kBAAY,qEAAhN;AAAuR,kCAA4B,CAAC,OAAD,EAAU,UAAV,EAAsB,WAAtB,CAAnT;AAAuV,iCAA2B,CAAC,UAAD,CAAlX;AAAgY,+CAAyC,CAAC,OAAD,CAAza;AAAob,kCAA4B,CAAC,MAAD,EAAS,UAAT,EAAqB,eAArB,EAAsC,gBAAtC,CAAhd;AAAygB,0BAAoB,CAAC,QAAD,EAAW,SAAX,EAAsB,OAAtB,EAA+B,gBAA/B,CAA7hB;AAA+kB,gBAAU,mDAAzlB;AAA8oB,yCAAmC,KAAjrB;AAAwrB,2BAAqB,2CAA7sB;AAA0vB,gCAA0B,uEAApxB;AAA61B,uCAAiC,wEAA93B;AAAw8B,+BAAyB,IAAj+B;AAAu+B,uCAAiC,IAAxgC;AAA8gC,8BAAwB,oEAAtiC;AAA4mC,0BAAoB,CAAC,KAAD,EAAQ,KAAR,EAAe,qBAAf,EAAsC,0BAAtC,EAAkE,uBAAlE,EAA2F,cAA3F,EAA2G,KAA3G,EAAkH,KAAlH,EAAyH,KAAzH,EAAgI,WAAhI,EAA6I,KAA7I,EAAoJ,OAApJ,EAA6J,oBAA7J,EAAmL,MAAnL,EAA2L,KAA3L,EAAkM,KAAlM,EAAyM,SAAzM,EAAoN,QAApN,EAA8N,OAA9N,CAAhoC;AAAw2C,2BAAqB,0DAA73C;AAAy7C,6BAAuB,IAAh9C;AAAs9C,6BAAuB,qBAA7+C;AAAogD,+BAAyB,mBAA7hD;AAAkjD,sBAAgB,qBAAlkD;AAAylD,kBAAY;AAArmD,KAArhU;AAAupX,qDAAiD;AAAE,wBAAkB,gEAApB;AAAsF,+CAAyC,CAAC,oBAAD,EAAuB,iBAAvB,EAA0C,qBAA1C,CAA/H;AAAiM,kBAAY,kEAA7M;AAAiR,kCAA4B,CAAC,OAAD,EAAU,UAAV,EAAsB,WAAtB,CAA7S;AAAiV,iCAA2B,CAAC,UAAD,CAA5W;AAA0X,+CAAyC,CAAC,OAAD,CAAna;AAA8a,kCAA4B,CAAC,MAAD,EAAS,UAAT,EAAqB,eAArB,EAAsC,gBAAtC,CAA1c;AAAmgB,0BAAoB,CAAC,QAAD,EAAW,SAAX,EAAsB,OAAtB,EAA+B,gBAA/B,CAAvhB;AAAykB,gBAAU,0DAAnlB;AAA+oB,yCAAmC,KAAlrB;AAAyrB,2BAAqB,uDAA9sB;AAAuwB,gCAA0B,oEAAjyB;AAAu2B,uCAAiC,qEAAx4B;AAA+8B,+BAAyB,IAAx+B;AAA8+B,uCAAiC,IAA/gC;AAAqhC,8BAAwB,iEAA7iC;AAAgnC,0BAAoB,CAAC,KAAD,EAAQ,KAAR,EAAe,qBAAf,EAAsC,0BAAtC,EAAkE,uBAAlE,EAA2F,cAA3F,EAA2G,KAA3G,EAAkH,KAAlH,EAAyH,KAAzH,EAAgI,WAAhI,EAA6I,KAA7I,EAAoJ,OAApJ,EAA6J,oBAA7J,EAAmL,MAAnL,EAA2L,KAA3L,EAAkM,KAAlM,EAAyM,SAAzM,EAAoN,QAApN,EAA8N,OAA9N,CAApoC;AAA42C,2BAAqB,uDAAj4C;AAA07C,6BAAuB,IAAj9C;AAAu9C,6BAAuB,4BAA9+C;AAA4gD,+BAAyB,wBAAriD;AAA+jD,sBAAgB,iCAA/kD;AAAknD,kBAAY;AAA9nD,KAAxsX;AAAw2a,uDAAmD;AAAE,wBAAkB,kEAApB;AAAwF,+CAAyC,CAAC,oBAAD,EAAuB,iBAAvB,EAA0C,qBAA1C,CAAjI;AAAmM,kBAAY,oEAA/M;AAAqR,kCAA4B,CAAC,OAAD,EAAU,UAAV,EAAsB,WAAtB,CAAjT;AAAqV,iCAA2B,CAAC,UAAD,CAAhX;AAA8X,+CAAyC,CAAC,OAAD,CAAva;AAAkb,kCAA4B,CAAC,MAAD,EAAS,UAAT,EAAqB,eAArB,EAAsC,gBAAtC,CAA9c;AAAugB,0BAAoB,CAAC,QAAD,EAAW,SAAX,EAAsB,OAAtB,EAA+B,gBAA/B,CAA3hB;AAA6kB,gBAAU,kDAAvlB;AAA2oB,yCAAmC,KAA9qB;AAAqrB,2BAAqB,2CAA1sB;AAAuvB,gCAA0B,sEAAjxB;AAAy1B,uCAAiC,uEAA13B;AAAm8B,+BAAyB,IAA59B;AAAk+B,uCAAiC,IAAngC;AAAygC,8BAAwB,mEAAjiC;AAAsmC,0BAAoB,CAAC,KAAD,EAAQ,KAAR,EAAe,qBAAf,EAAsC,0BAAtC,EAAkE,uBAAlE,EAA2F,cAA3F,EAA2G,KAA3G,EAAkH,KAAlH,EAAyH,KAAzH,EAAgI,WAAhI,EAA6I,KAA7I,EAAoJ,OAApJ,EAA6J,oBAA7J,EAAmL,MAAnL,EAA2L,KAA3L,EAAkM,KAAlM,EAAyM,SAAzM,EAAoN,QAApN,EAA8N,OAA9N,CAA1nC;AAAk2C,2BAAqB,yDAAv3C;AAAk7C,6BAAuB,IAAz8C;AAA+8C,6BAAuB,oBAAt+C;AAA4/C,+BAAyB,mBAArhD;AAA0iD,sBAAgB,qBAA1jD;AAAilD,kBAAY;AAA7lD;AAA35a,GAAtB;AAAqje,+BAA6B;AAAE,iDAA6C;AAAE,mCAA6B,gFAA/B;AAAiH,qBAAe,KAAhI;AAAuI,kBAAY,CAAC;AAAE,6BAAqB,2BAAvB;AAAoD,2BAAmB,mBAAvE;AAA4F,mBAAW,CAAC,2BAAD,EAA8B,mBAA9B,EAAmD,qBAAnD,EAA0E,iBAA1E;AAAvG,OAAD,EAAwM;AAAE,6BAAqB,kCAAvB;AAA2D,2BAAmB,kCAA9E;AAAkH,mBAAW,CAAC,kCAAD,EAAqC,wBAArC;AAA7H,OAAxM,EAAuY;AAAE,6BAAqB,0BAAvB;AAAmD,2BAAmB,0BAAtE;AAAkG,mBAAW,CAAC,0BAAD;AAA7G,OAAvY,EAAohB;AAAE,6BAAqB,0BAAvB;AAAmD,2BAAmB,0BAAtE;AAAkG,mBAAW,CAAC,0BAAD,EAA6B,yBAA7B;AAA7G,OAAphB,EAA4rB;AAAE,6BAAqB,8BAAvB;AAAuD,2BAAmB,8BAA1E;AAA0G,mBAAW,CAAC,8BAAD;AAArH,OAA5rB;AAAnJ,KAA/C;AAA0hC,8CAA0C;AAAE,mCAA6B,6EAA/B;AAA8G,qBAAe,KAA7H;AAAoI,kBAAY,CAAC;AAAE,6BAAqB,2BAAvB;AAAoD,2BAAmB,mBAAvE;AAA4F,mBAAW,CAAC,2BAAD,EAA8B,mBAA9B,EAAmD,qBAAnD,EAA0E,iBAA1E;AAAvG,OAAD,EAAwM;AAAE,6BAAqB,kCAAvB;AAA2D,2BAAmB,kCAA9E;AAAkH,mBAAW,CAAC,kCAAD,EAAqC,wBAArC;AAA7H,OAAxM,EAAuY;AAAE,6BAAqB,0BAAvB;AAAmD,2BAAmB,0BAAtE;AAAkG,mBAAW,CAAC,0BAAD;AAA7G,OAAvY,EAAohB;AAAE,6BAAqB,0BAAvB;AAAmD,2BAAmB,0BAAtE;AAAkG,mBAAW,CAAC,0BAAD,EAA6B,yBAA7B;AAA7G,OAAphB,EAA4rB;AAAE,6BAAqB,8BAAvB;AAAuD,2BAAmB,8BAA1E;AAA0G,mBAAW,CAAC,8BAAD;AAArH,OAA5rB;AAAhJ,KAApkC;AAA4iE,gDAA4C;AAAE,mCAA6B,+EAA/B;AAAgH,qBAAe,KAA/H;AAAsI,kBAAY,CAAC;AAAE,6BAAqB,2BAAvB;AAAoD,2BAAmB,mBAAvE;AAA4F,mBAAW,CAAC,2BAAD,EAA8B,mBAA9B,EAAmD,qBAAnD,EAA0E,iBAA1E;AAAvG,OAAD,EAAwM;AAAE,6BAAqB,kCAAvB;AAA2D,2BAAmB,kCAA9E;AAAkH,mBAAW,CAAC,kCAAD,EAAqC,wBAArC;AAA7H,OAAxM,EAAuY;AAAE,6BAAqB,0BAAvB;AAAmD,2BAAmB,0BAAtE;AAAkG,mBAAW,CAAC,0BAAD;AAA7G,OAAvY,EAAohB;AAAE,6BAAqB,0BAAvB;AAAmD,2BAAmB,0BAAtE;AAAkG,mBAAW,CAAC,0BAAD,EAA6B,yBAA7B;AAA7G,OAAphB,EAA4rB;AAAE,6BAAqB,8BAAvB;AAAuD,2BAAmB,8BAA1E;AAA0G,mBAAW,CAAC,8BAAD;AAArH,OAA5rB;AAAlJ,KAAxlE;AAAkkG,oDAAgD;AAAE,mCAA6B,mFAA/B;AAAoH,qBAAe,KAAnI;AAA0I,kBAAY,CAAC;AAAE,6BAAqB,2BAAvB;AAAoD,2BAAmB,mBAAvE;AAA4F,mBAAW,CAAC,2BAAD,EAA8B,mBAA9B,EAAmD,qBAAnD,EAA0E,iBAA1E;AAAvG,OAAD,EAAwM;AAAE,6BAAqB,kCAAvB;AAA2D,2BAAmB,kCAA9E;AAAkH,mBAAW,CAAC,kCAAD,EAAqC,wBAArC;AAA7H,OAAxM,EAAuY;AAAE,6BAAqB,0BAAvB;AAAmD,2BAAmB,0BAAtE;AAAkG,mBAAW,CAAC,0BAAD;AAA7G,OAAvY,EAAohB;AAAE,6BAAqB,0BAAvB;AAAmD,2BAAmB,0BAAtE;AAAkG,mBAAW,CAAC,0BAAD,EAA6B,yBAA7B;AAA7G,OAAphB,EAA4rB;AAAE,6BAAqB,8BAAvB;AAAuD,2BAAmB,8BAA1E;AAA0G,mBAAW,CAAC,8BAAD;AAArH,OAA5rB;AAAtJ,KAAlnG;AAAgmI,iDAA6C;AAAE,mCAA6B,gFAA/B;AAAiH,qBAAe,KAAhI;AAAuI,kBAAY,CAAC;AAAE,6BAAqB,2BAAvB;AAAoD,2BAAmB,mBAAvE;AAA4F,mBAAW,CAAC,2BAAD,EAA8B,mBAA9B,EAAmD,qBAAnD,EAA0E,iBAA1E;AAAvG,OAAD,EAAwM;AAAE,6BAAqB,kCAAvB;AAA2D,2BAAmB,kCAA9E;AAAkH,mBAAW,CAAC,kCAAD,EAAqC,wBAArC;AAA7H,OAAxM,EAAuY;AAAE,6BAAqB,0BAAvB;AAAmD,2BAAmB,0BAAtE;AAAkG,mBAAW,CAAC,0BAAD;AAA7G,OAAvY,EAAohB;AAAE,6BAAqB,0BAAvB;AAAmD,2BAAmB,0BAAtE;AAAkG,mBAAW,CAAC,0BAAD,EAA6B,yBAA7B;AAA7G,OAAphB,EAA4rB;AAAE,6BAAqB,8BAAvB;AAAuD,2BAAmB,8BAA1E;AAA0G,mBAAW,CAAC,8BAAD;AAArH,OAA5rB;AAAnJ,KAA7oI;AAAwnK,mDAA+C;AAAE,mCAA6B,kFAA/B;AAAmH,qBAAe,KAAlI;AAAyI,kBAAY,CAAC;AAAE,6BAAqB,2BAAvB;AAAoD,2BAAmB,mBAAvE;AAA4F,mBAAW,CAAC,2BAAD,EAA8B,mBAA9B,EAAmD,qBAAnD,EAA0E,iBAA1E;AAAvG,OAAD,EAAwM;AAAE,6BAAqB,kCAAvB;AAA2D,2BAAmB,kCAA9E;AAAkH,mBAAW,CAAC,kCAAD,EAAqC,wBAArC;AAA7H,OAAxM,EAAuY;AAAE,6BAAqB,0BAAvB;AAAmD,2BAAmB,0BAAtE;AAAkG,mBAAW,CAAC,0BAAD;AAA7G,OAAvY,EAAohB;AAAE,6BAAqB,0BAAvB;AAAmD,2BAAmB,0BAAtE;AAAkG,mBAAW,CAAC,0BAAD,EAA6B,yBAA7B;AAA7G,OAAphB,EAA4rB;AAAE,6BAAqB,8BAAvB;AAAuD,2BAAmB,8BAA1E;AAA0G,mBAAW,CAAC,8BAAD;AAArH,OAA5rB;AAArJ,KAAvqK;AAAopM,wDAAoD;AAAE,mCAA6B,uFAA/B;AAAwH,qBAAe,KAAvI;AAA8I,kBAAY,CAAC;AAAE,6BAAqB,2BAAvB;AAAoD,2BAAmB,mBAAvE;AAA4F,mBAAW,CAAC,2BAAD,EAA8B,mBAA9B,EAAmD,qBAAnD,EAA0E,iBAA1E;AAAvG,OAAD,EAAwM;AAAE,6BAAqB,kCAAvB;AAA2D,2BAAmB,kCAA9E;AAAkH,mBAAW,CAAC,kCAAD,EAAqC,wBAArC;AAA7H,OAAxM,EAAuY;AAAE,6BAAqB,0BAAvB;AAAmD,2BAAmB,0BAAtE;AAAkG,mBAAW,CAAC,0BAAD;AAA7G,OAAvY,EAAohB;AAAE,6BAAqB,0BAAvB;AAAmD,2BAAmB,0BAAtE;AAAkG,mBAAW,CAAC,0BAAD,EAA6B,yBAA7B;AAA7G,OAAphB,EAA4rB;AAAE,6BAAqB,8BAAvB;AAAuD,2BAAmB,8BAA1E;AAA0G,mBAAW,CAAC,8BAAD;AAArH,OAA5rB;AAA1J,KAAxsM;AAA0rO,qDAAiD;AAAE,mCAA6B,oFAA/B;AAAqH,qBAAe,KAApI;AAA2I,kBAAY,CAAC;AAAE,6BAAqB,2BAAvB;AAAoD,2BAAmB,mBAAvE;AAA4F,mBAAW,CAAC,2BAAD,EAA8B,mBAA9B,EAAmD,qBAAnD,EAA0E,iBAA1E;AAAvG,OAAD,EAAwM;AAAE,6BAAqB,kCAAvB;AAA2D,2BAAmB,kCAA9E;AAAkH,mBAAW,CAAC,kCAAD,EAAqC,wBAArC;AAA7H,OAAxM,EAAuY;AAAE,6BAAqB,0BAAvB;AAAmD,2BAAmB,0BAAtE;AAAkG,mBAAW,CAAC,0BAAD;AAA7G,OAAvY,EAAohB;AAAE,6BAAqB,0BAAvB;AAAmD,2BAAmB,0BAAtE;AAAkG,mBAAW,CAAC,0BAAD,EAA6B,yBAA7B;AAA7G,OAAphB,EAA4rB;AAAE,6BAAqB,8BAAvB;AAAuD,2BAAmB,8BAA1E;AAA0G,mBAAW,CAAC,8BAAD;AAArH,OAA5rB;AAAvJ,KAA3uO;AAA0tQ,uDAAmD;AAAE,mCAA6B,sFAA/B;AAAuH,qBAAe,KAAtI;AAA6I,kBAAY,CAAC;AAAE,6BAAqB,2BAAvB;AAAoD,2BAAmB,mBAAvE;AAA4F,mBAAW,CAAC,2BAAD,EAA8B,mBAA9B,EAAmD,qBAAnD,EAA0E,iBAA1E;AAAvG,OAAD,EAAwM;AAAE,6BAAqB,kCAAvB;AAA2D,2BAAmB,kCAA9E;AAAkH,mBAAW,CAAC,kCAAD,EAAqC,wBAArC;AAA7H,OAAxM,EAAuY;AAAE,6BAAqB,0BAAvB;AAAmD,2BAAmB,0BAAtE;AAAkG,mBAAW,CAAC,0BAAD;AAA7G,OAAvY,EAAohB;AAAE,6BAAqB,0BAAvB;AAAmD,2BAAmB,0BAAtE;AAAkG,mBAAW,CAAC,0BAAD,EAA6B,yBAA7B;AAA7G,OAAphB,EAA4rB;AAAE,6BAAqB,8BAAvB;AAAuD,2BAAmB,8BAA1E;AAA0G,mBAAW,CAAC,8BAAD;AAArH,OAA5rB;AAAzJ;AAA7wQ;AAAlle,CAArB;AACA,IAAI/H,gBAAgB,GAAG+H,cAAc,CAACC,gBAAtC;AACA,IAAI/H,yBAAyB,GAAG8H,cAAc,CAACE,yBAA/C;;;;;;;;;;;;;;;;ACRA;AACa;AACb;AACA;AACA;AACA;;AACA,IAAI94B,kBAAkB;AACtB,GAAC,UAAUA,kBAAV,EAA8B;AAC3B;AACAA,IAAAA,kBAAkB,CAACA,kBAAkB,CAAC,MAAD,CAAlB,GAA6B,CAA9B,CAAlB,GAAqD,MAArD,CAF2B,CAG3B;;AACAA,IAAAA,kBAAkB,CAAC,aAAD,CAAlB,GAAoC,mCAApC,CAJ2B,CAK3B;;AACAA,IAAAA,kBAAkB,CAAC,UAAD,CAAlB,GAAiC,+BAAjC,CAN2B,CAO3B;;AACAA,IAAAA,kBAAkB,CAAC,YAAD,CAAlB,GAAmC,gCAAnC,CAR2B,CAS3B;;AACAA,IAAAA,kBAAkB,CAAC,cAAD,CAAlB,GAAqC,kCAArC,CAV2B,CAW3B;;AACAA,IAAAA,kBAAkB,CAAC,mBAAD,CAAlB,GAA0C,kCAA1C;AACH,GAbD,EAaGA,kBAAkB,KAAKA,kBAAkB,GAAG,EAA1B,CAbrB,CADsB;;AAAA,SAAlBA,kBAAkB;AAAA,IAAtB;;;;;;;;;;;;;;;;ACNA;AACa;AACb;AACA;AACA;AACA;;AACA;AACA;AACA;;AACA,IAAIyW,aAAa;AACjB,GAAC,UAAUA,aAAV,EAAyB;AACtBA,IAAAA,aAAa,CAACA,aAAa,CAAC,SAAD,CAAb,GAA2B,CAA5B,CAAb,GAA8C,SAA9C;AACAA,IAAAA,aAAa,CAACA,aAAa,CAAC,MAAD,CAAb,GAAwB,CAAzB,CAAb,GAA2C,MAA3C;AACAA,IAAAA,aAAa,CAACA,aAAa,CAAC,MAAD,CAAb,GAAwB,CAAzB,CAAb,GAA2C,MAA3C;AACH,GAJD,EAIGA,aAAa,KAAKA,aAAa,GAAG,EAArB,CAJhB,CADiB;;AAAA,SAAbA,aAAa;AAAA,IAAjB;;;;;;;;;;;;;;;;ACTA;AACa;AACb;AACA;AACA;AACA;;AACA,SAASua,qCAAT,CAA+C7hD,QAA/C,EAAyD;AACrD,SAAQA,QAAQ,CAAC2H,cAAT,CAAwB,OAAxB,KACJ3H,QAAQ,CAAC2H,cAAT,CAAwB,mBAAxB,CADJ;AAEH;;;;;;;;;;;;;;;;;ACTD;AACa;AACb;AACA;AACA;AACA;;AACA,SAASi6C,gCAAT,CAA0C5hD,QAA1C,EAAoD;AAChD,SAAQA,QAAQ,CAAC2H,cAAT,CAAwB,2BAAxB,KACJ3H,QAAQ,CAAC2H,cAAT,CAAwB,UAAxB,CADJ;AAEH;;;;;;;;;;;;;;;;;ACTD;AACa;AACb;AACA;AACA;AACA;;AACA,SAAS45C,sBAAT,CAAgCvhD,QAAhC,EAA0C;AACtC,SAAQA,QAAQ,CAAC2H,cAAT,CAAwB,wBAAxB,KACJ3H,QAAQ,CAAC2H,cAAT,CAAwB,gBAAxB,CADI,IAEJ3H,QAAQ,CAAC2H,cAAT,CAAwB,QAAxB,CAFI,IAGJ3H,QAAQ,CAAC2H,cAAT,CAAwB,UAAxB,CAHJ;AAIH;;;;;;;;;;;;;;;;;ACXD;AACa;AACb;AACA;AACA;AACA;;AACA;AACA;AACA;;AACA,IAAIipB,YAAY;AAChB,GAAC,UAAUA,YAAV,EAAwB;AACrBA,IAAAA,YAAY,CAAC,KAAD,CAAZ,GAAsB,KAAtB;AACAA,IAAAA,YAAY,CAAC,MAAD,CAAZ,GAAuB,MAAvB;AACH,GAHD,EAGGA,YAAY,KAAKA,YAAY,GAAG,EAApB,CAHf,CADgB;;AAAA,SAAZA,YAAY;AAAA,IAAhB;;;;;;;;;;;;;;;;;;ACTA;AACa;;AACb;AACA;AAEA;AACA;AACA;AACA;;AACA,IAAIkxB,eAAe;AAAG;AAAe,YAAY;AAC7C,WAASA,eAAT,CAAyB7L,gBAAzB,EAA2C;AACvC,SAAKA,gBAAL,GAAwBA,gBAAxB;AACH;AACD;AACJ;AACA;AACA;AACA;;;AACI6L,EAAAA,eAAe,CAACp6C,SAAhB,CAA0B2+C,YAA1B,GAAyC,UAAUC,iBAAV,EAA6BnE,uBAA7B,EAAsDH,QAAtD,EAAgE;AACrG,WAAO3mD,4DAAS,CAAC,IAAD,EAAO,KAAK,CAAZ,EAAe,KAAK,CAApB,EAAuB,YAAY;AAC/C,UAAI8qD,sBAAJ,EAA4Bh7D,OAA5B,EAAqC2+D,wBAArC,EAA+DC,kBAA/D,EAAmFC,0BAAnF;AACA,aAAO/gD,8DAAW,CAAC,IAAD,EAAO,UAAUuE,EAAV,EAAc;AACnC,gBAAQA,EAAE,CAACrE,KAAX;AACI,eAAK,CAAL;AACIg9C,YAAAA,sBAAsB,GAAGG,iBAAzB;AACA,gBAAI,CAAC,CAACH,sBAAN,EAA8B,OAAO,CAAC;AAAE;AAAH,cAAc,CAAd,CAAP;AAC9Bh7D,YAAAA,OAAO,GAAG22D,eAAe,CAACmI,YAA1B;;AACA,gBAAIjI,QAAJ,EAAc;AACV72D,cAAAA,OAAO,CAAC62D,QAAR,GAAmBA,QAAnB;AACH;;AACDx0C,YAAAA,EAAE,CAACrE,KAAH,GAAW,CAAX;;AACJ,eAAK,CAAL;AACIqE,YAAAA,EAAE,CAACnE,IAAH,CAAQ3F,IAAR,CAAa,CAAC,CAAD,EAAI,CAAJ,GAAS,CAAT,CAAb;;AACA,mBAAO,CAAC;AAAE;AAAH,cAAc,KAAKwmD,iBAAL,CAAuB3/C,uEAAvB,EAA+Cpf,OAA/C,CAAd,CAAP;;AACJ,eAAK,CAAL;AACI2+D,YAAAA,wBAAwB,GAAGt8C,EAAE,CAACpE,IAAH,EAA3B;;AACA,gBAAI0gD,wBAAwB,CAACjqE,MAAzB,KAAoCgqE,0EAAxC,EAAmE;AAC/D1D,cAAAA,sBAAsB,GAAG2D,wBAAwB,CAACh1E,IAAlD;AACAqtE,cAAAA,uBAAuB,CAACE,aAAxB,GAAwCuH,4EAAxC;AACH;;AACD,gBAAI,EAAEE,wBAAwB,CAACjqE,MAAzB,KAAoCgqE,6EAAtC,CAAJ,EAAyE,OAAO,CAAC;AAAE;AAAH,cAAc,CAAd,CAAP;AACzE,mBAAO,CAAC;AAAE;AAAH,cAAc,KAAKU,iBAAL,CAAuBp/D,OAAvB,CAAd,CAAP;;AACJ,eAAK,CAAL;AACI4+D,YAAAA,kBAAkB,GAAGv8C,EAAE,CAACpE,IAAH,EAArB;;AACA,gBAAI,CAAC2gD,kBAAL,EAAyB;AACrB5H,cAAAA,uBAAuB,CAACE,aAAxB,GAAwCuH,6FAAxC;AACA,qBAAO,CAAC;AAAE;AAAH,gBAAe,IAAf,CAAP;AACH;;AACD,mBAAO,CAAC;AAAE;AAAH,cAAc,KAAKM,iBAAL,CAAuBH,kBAAvB,EAA2C5+D,OAA3C,CAAd,CAAP;;AACJ,eAAK,CAAL;AACI6+D,YAAAA,0BAA0B,GAAGx8C,EAAE,CAACpE,IAAH,EAA7B;;AACA,gBAAI4gD,0BAA0B,CAACnqE,MAA3B,KAAsCgqE,0EAA1C,EAAqE;AACjE1D,cAAAA,sBAAsB,GAAG6D,0BAA0B,CAACl1E,IAApD;AACAqtE,cAAAA,uBAAuB,CAACE,aAAxB,GAAwCuH,4EAAxC;AACH;;AACDp8C,YAAAA,EAAE,CAACrE,KAAH,GAAW,CAAX;;AACJ,eAAK,CAAL;AAAQ,mBAAO,CAAC;AAAE;AAAH,cAAc,CAAd,CAAP;;AACR,eAAK,CAAL;AACIqE,YAAAA,EAAE,CAACpE,IAAH;;AACA+4C,YAAAA,uBAAuB,CAACE,aAAxB,GAAwCuH,6FAAxC;AACA,mBAAO,CAAC;AAAE;AAAH,cAAe,IAAf,CAAP;;AACJ,eAAK,CAAL;AAAQ,mBAAO,CAAC;AAAE;AAAH,cAAc,CAAd,CAAP;;AACR,eAAK,CAAL;AACIzH,YAAAA,uBAAuB,CAACE,aAAxB,GAAwCuH,4FAAxC;AACAp8C,YAAAA,EAAE,CAACrE,KAAH,GAAW,CAAX;;AACJ,eAAK,CAAL;AACI;AACA,gBAAI,CAACg9C,sBAAL,EAA6B;AACzBhE,cAAAA,uBAAuB,CAACE,aAAxB,GAAwCuH,6FAAxC;AACH;;AACD,mBAAO,CAAC;AAAE;AAAH,cAAezD,sBAAsB,IAAI,IAAzC,CAAP;AAhDR;AAkDH,OAnDiB,CAAlB;AAoDH,KAtDe,CAAhB;AAuDH,GAxDD;AAyDA;AACJ;AACA;AACA;AACA;AACA;;;AACIrE,EAAAA,eAAe,CAACp6C,SAAhB,CAA0BwiD,iBAA1B,GAA8C,UAAU7rF,OAAV,EAAmB8sB,OAAnB,EAA4B;AACtE,WAAOkQ,4DAAS,CAAC,IAAD,EAAO,KAAK,CAAZ,EAAe,KAAK,CAApB,EAAuB,YAAY;AAC/C,aAAO4N,8DAAW,CAAC,IAAD,EAAO,UAAUuE,EAAV,EAAc;AACnC,eAAO,CAAC;AAAE;AAAH,UAAe,KAAKyoC,gBAAL,CAAsByD,mBAAtB,CAA0CnvC,wEAAA,GAA0B,eAA1B,GAA4ClsC,OAA5C,GAAsD,cAAhG,EAAgH8sB,OAAhH,EAAyHof,uEAAzH,CAAf,CAAP;AACH,OAFiB,CAAlB;AAGH,KAJe,CAAhB;AAKH,GAND;AAOA;AACJ;AACA;AACA;AACA;;;AACIu3C,EAAAA,eAAe,CAACp6C,SAAhB,CAA0B6iD,iBAA1B,GAA8C,UAAUp/D,OAAV,EAAmB;AAC7D,WAAOkQ,4DAAS,CAAC,IAAD,EAAO,KAAK,CAAZ,EAAe,KAAK,CAApB,EAAuB,YAAY;AAC/C,UAAI2E,QAAJ;AACA,aAAOiJ,8DAAW,CAAC,IAAD,EAAO,UAAUuE,EAAV,EAAc;AACnC,gBAAQA,EAAE,CAACrE,KAAX;AACI,eAAK,CAAL;AACIqE,YAAAA,EAAE,CAACnE,IAAH,CAAQ3F,IAAR,CAAa,CAAC,CAAD,EAAI,CAAJ,GAAS,CAAT,CAAb;;AACA,mBAAO,CAAC;AAAE;AAAH,cAAc,KAAKuyC,gBAAL,CAAsByD,mBAAtB,CAA0CnvC,wEAAA,GAA0B,cAApE,EAAoFpf,OAApF,CAAd,CAAP;;AACJ,eAAK,CAAL;AACI6U,YAAAA,QAAQ,GAAGwN,EAAE,CAACpE,IAAH,EAAX,CADJ,CAEI;;AACA,gBAAIpJ,QAAQ,CAACngB,MAAT,KAAoBgqE,6EAApB,IAAoD7pD,QAAQ,CAAClrB,IAA7D,IAAqEkrB,QAAQ,CAAClrB,IAAT,CAAc,iBAAd,CAArE,IAAyGkrB,QAAQ,CAAClrB,IAAT,CAAc,iBAAd,EAAiC1K,MAAjC,GAA0C,CAAvJ,EAA0J;AACtJ,qBAAO,CAAC;AAAE;AAAH,gBAAe41B,QAAQ,CAAClrB,IAAT,CAAc,iBAAd,EAAiC,CAAjC,CAAf,CAAP;AACH;;AACD,mBAAO,CAAC;AAAE;AAAH,cAAe,IAAf,CAAP;;AACJ,eAAK,CAAL;AACI04B,YAAAA,EAAE,CAACpE,IAAH;;AACA,mBAAO,CAAC;AAAE;AAAH,cAAe,IAAf,CAAP;;AACJ,eAAK,CAAL;AAAQ,mBAAO,CAAC;AAAE;AAAH,aAAP;AAdZ;AAgBH,OAjBiB,CAAlB;AAkBH,KApBe,CAAhB;AAqBH,GAtBD,CApF6C,CA2G7C;;;AACA04C,EAAAA,eAAe,CAACmI,YAAhB,GAA+B;AAC3B3nD,IAAAA,OAAO,EAAE;AACLsoD,MAAAA,QAAQ,EAAE;AADL;AADkB,GAA/B;AAKA,SAAO9I,eAAP;AACH,CAlHoC,EAArC;;;;;;;;;;;;;;;;;;;;;;;;;;ACTA;AACa;;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;;AACA;AACA;AACA;;AACA,IAAIrlC,YAAY;AAAG;AAAe,YAAY;AAC1C,WAASA,YAAT,CAAsBlkB,QAAtB,EAAgCklB,UAAhC,EAA4C;AACxC,SAAKllB,QAAL,GAAgBA,QAAhB;AACA,SAAKklB,UAAL,GAAkBA,UAAlB;AACH;AACD;AACJ;AACA;;;AACIhB,EAAAA,YAAY,CAAC/U,SAAb,CAAuB7G,cAAvB,GAAwC,YAAY;AAChD,QAAIyN,KAAK,GAAG,IAAZ;;AACA,QAAI68C,eAAe,GAAG,KAAKC,qBAAL,EAAtB;AACA,QAAIC,aAAa,GAAGzrD,MAAM,CAACkD,IAAP,CAAYqoD,eAAZ,EAA6BlkF,GAA7B,CAAiC,UAAUw4C,UAAV,EAAsB;AAAE,aAAO0rC,eAAe,CAAC1rC,UAAD,CAAtB;AAAqC,KAA9F,CAApB;AACA,QAAI6rC,WAAW,GAAGD,aAAa,CAACjhF,MAAhC;;AACA,QAAIkhF,WAAW,GAAG,CAAlB,EAAqB;AACjB,aAAO,EAAP;AACH,KAFD,MAGK;AACD,UAAIz3C,WAAW,GAAGw3C,aAAa,CAACpkF,GAAd,CAAkB,UAAU0H,KAAV,EAAiB;AACjD,YAAI6/C,aAAa,GAAG/R,YAAY,CAACmD,QAAb,CAAsB,IAAIpD,qEAAJ,EAAtB,EAA2C7tC,KAA3C,CAApB;AACA,YAAI20C,WAAW,GAAGkL,aAAa,CAAC6B,cAAd,EAAlB;;AACA,YAAItf,OAAO,GAAGzC,KAAK,CAACi9C,oBAAN,CAA2Bj9C,KAAK,CAAC/V,QAAjC,EAA2C+qB,WAA3C,CAAd;;AACA,YAAIvS,OAAO,IAAI,CAACuS,WAAW,CAACE,aAA5B,EAA2C;AACvCF,UAAAA,WAAW,CAACvS,OAAZ,GAAsBA,OAAO,CAAC6e,MAA9B;AACAtM,UAAAA,WAAW,CAACE,aAAZ,GAA4B,IAAIgJ,4DAAJ,CAAczb,OAAO,CAAC6e,MAAtB,EAA8BthB,KAAK,CAACmP,UAApC,EAAgD5G,MAA5E;AACH;;AACD,eAAOyM,WAAP;AACH,OATiB,CAAlB;AAUA,aAAOzP,WAAP;AACH;AACJ,GArBD;AAsBA;AACJ;AACA;AACA;;;AACI4I,EAAAA,YAAY,CAAC/U,SAAb,CAAuB8jD,eAAvB,GAAyC,UAAUv+B,WAAV,EAAuB;AAC5D,WAAO5xB,4DAAS,CAAC,IAAD,EAAO,KAAK,CAAZ,EAAe,KAAK,CAApB,EAAuB,YAAY;AAC/C,aAAO4N,8DAAW,CAAC,IAAD,EAAO,UAAUuE,EAAV,EAAc;AACnC,gBAAQA,EAAE,CAACrE,KAAX;AACI,eAAK,CAAL;AACI,gBAAI,CAAC8jB,WAAL,EAAkB;AACd,oBAAMtiB,uGAAA,EAAN;AACH;;AACD,gBAAI,CAAC,CAACsiB,WAAW,CAAC/sB,OAAlB,EAA2B;AACvB,mBAAK2f,UAAL,CAAgBoN,WAAW,CAAC/sB,OAA5B;AACH;;AACD,gBAAI,CAAC,CAAC+sB,WAAW,CAAClc,OAAlB,EAA2B;AACvB,mBAAKmP,oBAAL,CAA0B+M,WAAW,CAAClc,OAAtC;AACH;;AACD,gBAAI,CAAC,CAAC,CAACkc,WAAW,CAAC5qB,WAAnB,EAAgC,OAAO,CAAC;AAAE;AAAH,cAAc,CAAd,CAAP;AAChC,mBAAO,CAAC;AAAE;AAAH,cAAc,KAAKqpD,eAAL,CAAqBz+B,WAAW,CAAC5qB,WAAjC,CAAd,CAAP;;AACJ,eAAK,CAAL;AACImL,YAAAA,EAAE,CAACpE,IAAH;;AACAoE,YAAAA,EAAE,CAACrE,KAAH,GAAW,CAAX;;AACJ,eAAK,CAAL;AACI,gBAAI,CAAC,CAAC8jB,WAAW,CAACnM,YAAlB,EAAgC;AAC5B,mBAAKD,yBAAL,CAA+BoM,WAAW,CAACnM,YAA3C;AACH;;AACD,gBAAI,CAAC,CAACmM,WAAW,CAAC7L,WAAlB,EAA+B;AAC3B,mBAAKD,cAAL,CAAoB8L,WAAW,CAAC7L,WAAhC;AACH;;AACD,mBAAO,CAAC;AAAE;AAAH,aAAP;AAvBR;AAyBH,OA1BiB,CAAlB;AA2BH,KA5Be,CAAhB;AA6BH,GA9BD;AA+BA;AACJ;AACA;AACA;;;AACI3E,EAAAA,YAAY,CAAC/U,SAAb,CAAuBgkD,eAAvB,GAAyC,UAAUxkC,UAAV,EAAsB;AAC3D,WAAO7rB,4DAAS,CAAC,IAAD,EAAO,KAAK,CAAZ,EAAe,KAAK,CAApB,EAAuB,YAAY;AAC/C,UAAIswD,iBAAJ,EAAuBC,aAAvB,EAAsCC,mBAAtC,EAA2DC,qBAA3D;;AACA,UAAIx9C,KAAK,GAAG,IAAZ;;AACA,aAAOrF,8DAAW,CAAC,IAAD,EAAO,UAAUuE,EAAV,EAAc;AACnC,gBAAQA,EAAE,CAACrE,KAAX;AACI,eAAK,CAAL;AACIwiD,YAAAA,iBAAiB,GAAG,KAAKI,wBAAL,CAA8B;AAC9CxzD,cAAAA,QAAQ,EAAE2uB,UAAU,CAAC3uB,QADyB;AAE9CwxB,cAAAA,cAAc,EAAE7C,UAAU,CAAC6C,cAFmB;AAG9CroD,cAAAA,WAAW,EAAEwlD,UAAU,CAACxlD,WAHsB;AAI9CwyC,cAAAA,aAAa,EAAEgT,UAAU,CAAChT,aAJoB;AAK9C83C,cAAAA,KAAK,EAAE9kC,UAAU,CAAC8kC,KAL4B;AAM9Cz7B,cAAAA,SAAS,EAAErJ,UAAU,CAACqJ,SANwB;AAO9C+V,cAAAA,mBAAmB,EAAEpf,UAAU,CAACof;AAPc,aAA9B,CAApB;AASAslB,YAAAA,aAAa,GAAGj/B,qEAAA,CAAoBzF,UAAU,CAACmE,MAA/B,CAAhB;AACAwgC,YAAAA,mBAAmB,GAAGjsD,MAAM,CAACkD,IAAP,CAAY6oD,iBAAiB,CAACM,YAA9B,EAA4ChlF,GAA5C,CAAgD,UAAUs8B,GAAV,EAAe;AAAE,qBAAOooD,iBAAiB,CAACM,YAAlB,CAA+B1oD,GAA/B,CAAP;AAA6C,aAA9G,CAAtB;AACA,gBAAI,CAACsoD,mBAAL,EAA0B,OAAO,CAAC;AAAE;AAAH,cAAc,CAAd,CAAP;AAC1BC,YAAAA,qBAAqB,GAAG,EAAxB;AACAD,YAAAA,mBAAmB,CAACvoD,OAApB,CAA4B,UAAU4oD,WAAV,EAAuB;AAC/C,kBAAIC,aAAa,GAAGx/B,qEAAA,CAAoBu/B,WAAW,CAAC7gC,MAAhC,CAApB;;AACA,kBAAI8gC,aAAa,CAACC,qBAAd,CAAoCR,aAApC,CAAJ,EAAwD;AACpDE,gBAAAA,qBAAqB,CAACpoD,IAAtB,CAA2B4K,KAAK,CAAC+9C,gBAAN,CAAuBH,WAAvB,CAA3B;AACH;AACJ,aALD;AAMA,mBAAO,CAAC;AAAE;AAAH,cAAcjlD,OAAO,CAACqlD,GAAR,CAAYR,qBAAZ,CAAd,CAAP;;AACJ,eAAK,CAAL;AACIt+C,YAAAA,EAAE,CAACpE,IAAH;;AACAoE,YAAAA,EAAE,CAACrE,KAAH,GAAW,CAAX;;AACJ,eAAK,CAAL;AACI,iBAAKqX,wBAAL,CAA8B0G,UAA9B;AACA,mBAAO,CAAC;AAAE;AAAH,aAAP;AA3BR;AA6BH,OA9BiB,CAAlB;AA+BH,KAlCe,CAAhB;AAmCH,GApCD;AAqCA;AACJ;AACA;AACA;AACA;AACA;AACA;;;AACIzK,EAAAA,YAAY,CAAC/U,SAAb,CAAuB0jD,qBAAvB,GAA+C,UAAUjoC,aAAV,EAAyB;AACpE,WAAO,KAAKopC,6BAAL,CAAmCppC,aAAa,GAAGA,aAAa,CAACjP,aAAjB,GAAiC3J,uEAAjF,EAAyG4Y,aAAa,GAAGA,aAAa,CAACzhD,WAAjB,GAA+B6oC,uEAArJ,EAA6K4Y,aAAa,GAAGA,aAAa,CAAC6oC,KAAjB,GAAyBzhD,uEAAnN,EAA2O4Y,aAAa,GAAGA,aAAa,CAAC3Q,eAAjB,GAAmCjI,uEAA3R,CAAP;AACH,GAFD;AAGA;AACJ;AACA;AACA;AACA;AACA;AACA;;;AACIkS,EAAAA,YAAY,CAAC/U,SAAb,CAAuB6kD,6BAAvB,GAAuD,UAAUr4C,aAAV,EAAyBxyC,WAAzB,EAAsCsqF,KAAtC,EAA6Cx5C,eAA7C,EAA8D;AACjH,QAAIlE,KAAK,GAAG,IAAZ;;AACA,QAAIk+C,YAAY,GAAG,KAAK3wC,OAAL,EAAnB;AACA,QAAIwH,gBAAgB,GAAG,EAAvB;AACAmpC,IAAAA,YAAY,CAAClpD,OAAb,CAAqB,UAAU0b,QAAV,EAAoB;AACrC,UAAIsD,MAAM,GAAGhU,KAAK,CAACkR,UAAN,CAAiBR,QAAjB,CAAb;;AACA,UAAI,CAACsD,MAAL,EAAa;AACT;AACH;;AACD,UAAI,CAAC,CAACpO,aAAF,IAAmB,CAAC5F,KAAK,CAACm+C,kBAAN,CAAyBnqC,MAAzB,EAAiCpO,aAAjC,CAAxB,EAAyE;AACrE;AACH;;AACD,UAAI,CAAC,CAACxyC,WAAF,IAAiB,CAAC4sC,KAAK,CAACo+C,gBAAN,CAAuBpqC,MAAvB,EAA+B5gD,WAA/B,CAAtB,EAAmE;AAC/D;AACH;;AACD,UAAI,CAAC,CAACsqF,KAAF,IAAW,CAAC19C,KAAK,CAACq+C,UAAN,CAAiBrqC,MAAjB,EAAyB0pC,KAAzB,CAAhB,EAAiD;AAC7C;AACH;;AACD,UAAI,CAAC,CAACx5C,eAAF,IAAqB,CAAClE,KAAK,CAACs+C,oBAAN,CAA2BtqC,MAA3B,EAAmC9P,eAAnC,CAA1B,EAA+E;AAC3E;AACH;;AACD6Q,MAAAA,gBAAgB,CAACrE,QAAD,CAAhB,GAA6BsD,MAA7B;AACH,KAlBD;AAmBA,WAAOe,gBAAP;AACH,GAxBD;AAyBA;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACI5G,EAAAA,YAAY,CAAC/U,SAAb,CAAuBqkD,wBAAvB,GAAkD,UAAU3kF,MAAV,EAAkB;AAChE,WAAO,KAAKylF,gCAAL,CAAsCzlF,MAAM,CAAC8sC,aAA7C,EAA4D9sC,MAAM,CAAC1F,WAAnE,EAAgF0F,MAAM,CAAC2iD,cAAvF,EAAuG3iD,MAAM,CAACmxB,QAA9G,EAAwHnxB,MAAM,CAACkpD,QAA/H,EAAyIlpD,MAAM,CAAC4kF,KAAhJ,EAAuJ5kF,MAAM,CAACikD,MAA9J,EAAsKjkD,MAAM,CAAC0lF,iBAA7K,EAAgM1lF,MAAM,CAACmpD,SAAvM,EAAkNnpD,MAAM,CAAC+6D,KAAzN,EAAgO/6D,MAAM,CAACk/D,mBAAvO,CAAP;AACH,GAFD;AAGA;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACI7pB,EAAAA,YAAY,CAAC/U,SAAb,CAAuBmlD,gCAAvB,GAA0D,UAAU34C,aAAV,EAAyBxyC,WAAzB,EAAsCqoD,cAAtC,EAAsDxxB,QAAtD,EAAgE+3B,QAAhE,EAA0E07B,KAA1E,EAAiF3gC,MAAjF,EAAyFyhC,iBAAzF,EAA4Gv8B,SAA5G,EAAuH4R,KAAvH,EAA8HmE,mBAA9H,EAAmJ;AACzM,QAAIh4B,KAAK,GAAG,IAAZ;;AACA,QAAIk+C,YAAY,GAAG,KAAK3wC,OAAL,EAAnB;AACA,QAAIkxC,mBAAmB,GAAG;AACtBC,MAAAA,QAAQ,EAAE,EADY;AAEtBf,MAAAA,YAAY,EAAE,EAFQ;AAGtBgB,MAAAA,aAAa,EAAE;AAHO,KAA1B;AAKAT,IAAAA,YAAY,CAAClpD,OAAb,CAAqB,UAAU0b,QAAV,EAAoB;AACrC;AACA,UAAIkuC,QAAQ,GAAGhC,6FAAA,CAAmClsC,QAAnC,CAAf;;AACA,UAAIkuC,QAAQ,KAAK3iD,sEAAjB,EAAwC;AACpC;AACH,OALoC,CAMrC;;;AACA,UAAI+X,MAAM,GAAGhU,KAAK,CAAC++C,qBAAN,CAA4BruC,QAA5B,EAAsCkuC,QAAtC,CAAb;;AACA,UAAI,CAAC5qC,MAAL,EAAa;AACT;AACH;;AACD,UAAI,CAAC,CAACwqC,iBAAF,IAAuB,CAACx+C,KAAK,CAACg/C,sBAAN,CAA6BhrC,MAA7B,EAAqCwqC,iBAArC,CAA5B,EAAqF;AACjF;AACH;AACD;AACZ;AACA;AACA;;;AACY,UAAK,OAAO54C,aAAP,KAAyB,QAA1B,IAAuC,CAAC5F,KAAK,CAACm+C,kBAAN,CAAyBnqC,MAAzB,EAAiCpO,aAAjC,CAA5C,EAA6F;AACzF;AACH;;AACD,UAAI,CAAC,CAACxyC,WAAF,IAAiB,CAAC4sC,KAAK,CAACo+C,gBAAN,CAAuBpqC,MAAvB,EAA+B5gD,WAA/B,CAAtB,EAAmE;AAC/D;AACH;;AACD,UAAI,CAAC,CAACsqF,KAAF,IAAW,CAAC19C,KAAK,CAACq+C,UAAN,CAAiBrqC,MAAjB,EAAyB0pC,KAAzB,CAAhB,EAAiD;AAC7C;AACH;;AACD,UAAI,CAAC,CAACjiC,cAAF,IAAoB,CAACzb,KAAK,CAACi/C,mBAAN,CAA0BjrC,MAA1B,EAAkCyH,cAAlC,CAAzB,EAA4E;AACxE;AACH;;AACD,UAAI,CAAC,CAACxxB,QAAF,IAAc,CAAC+V,KAAK,CAACya,aAAN,CAAoBzG,MAApB,EAA4B/pB,QAA5B,CAAnB,EAA0D;AACtD;AACH;;AACD,UAAI,CAAC,CAAC+3B,QAAF,IAAc,CAAChiB,KAAK,CAACk/C,aAAN,CAAoBlrC,MAApB,EAA4BgO,QAA5B,CAAnB,EAA0D;AACtD;AACH;AACD;AACZ;AACA;AACA;;;AACY,UAAI,CAAC,CAACjF,MAAF,IAAY,CAAC/c,KAAK,CAACm/C,WAAN,CAAkBnrC,MAAlB,EAA0B+I,MAA1B,CAAjB,EAAoD;AAChD;AACH,OA1CoC,CA2CrC;;;AACA,UAAIib,mBAAmB,IAAIhkB,MAAM,CAACgkB,mBAAlC,EAAuD;AACnD;AACA,YAAIhkB,MAAM,CAACgkB,mBAAP,KAA+BA,mBAAnC,EAAwD;AACpD;AACH;AACJ,OAjDoC,CAkDrC;;;AACA,UAAIvc,cAAc,KAAK8gC,6FAAvB,EAAqE;AACjE,YAAI,CAAC,CAACt6B,SAAF,IAAe,CAACjiB,KAAK,CAACq/C,cAAN,CAAqBrrC,MAArB,EAA6BiO,SAA7B,CAApB,EAA6D;AACzD;AACH,SAHgE,CAIjE;;;AACA,YAAIA,SAAS,KAAKlY,yEAAlB,EAA4C;AACxC,cAAI8pB,KAAK,IAAI,CAAC7zB,KAAK,CAACs/C,UAAN,CAAiBtrC,MAAjB,EAAyB6f,KAAzB,CAAd,EAA+C;AAC3C;AACH;AACJ;AACJ,OA7DoC,CA8DrC;;;AACA,UAAItY,eAAe,GAAGvb,KAAK,CAACqb,wBAAN,CAA+B3K,QAA/B,EAAyCsD,MAAzC,CAAtB;;AACA,cAAQ4qC,QAAR;AACI,aAAKrC,wEAAL;AACIkC,UAAAA,mBAAmB,CAACC,QAApB,CAA6BnjC,eAA7B,IAAgDvH,MAAhD;AACA;;AACJ,aAAKuoC,4EAAL;AACA,aAAKA,6FAAL;AACIkC,UAAAA,mBAAmB,CAACd,YAApB,CAAiCpiC,eAAjC,IAAoDvH,MAApD;AACA;;AACJ,aAAKuoC,6EAAL;AACIkC,UAAAA,mBAAmB,CAACE,aAApB,CAAkCpjC,eAAlC,IAAqDvH,MAArD;AACA;AAVR;AAYH,KA5ED;AA6EA,WAAOyqC,mBAAP;AACH,GAtFD;AAuFA;AACJ;AACA;AACA;;;AACItwC,EAAAA,YAAY,CAAC/U,SAAb,CAAuBqmD,wBAAvB,GAAkD,UAAU3mF,MAAV,EAAkB;AAChE,WAAO,KAAK4mF,gCAAL,CAAsC5mF,MAAM,CAAC1F,WAA7C,EAA0D0F,MAAM,CAACmxB,QAAjE,CAAP;AACH,GAFD;AAGA;AACJ;AACA;AACA;AACA;;;AACIkkB,EAAAA,YAAY,CAAC/U,SAAb,CAAuBsmD,gCAAvB,GAA0D,UAAUtsF,WAAV,EAAuB62B,QAAvB,EAAiC;AACvF,QAAI+V,KAAK,GAAG,IAAZ;;AACA,QAAIk+C,YAAY,GAAG,KAAK3wC,OAAL,EAAnB;AACA,QAAIoyC,mBAAmB,GAAG,EAA1B;AACAzB,IAAAA,YAAY,CAAClpD,OAAb,CAAqB,UAAU0b,QAAV,EAAoB;AACrC;AACA,UAAI,CAAC1Q,KAAK,CAAC4/C,aAAN,CAAoBlvC,QAApB,CAAL,EAAoC;AAChC;AACH,OAJoC,CAKrC;;;AACA,UAAIsD,MAAM,GAAGhU,KAAK,CAACyS,cAAN,CAAqB/B,QAArB,CAAb;;AACA,UAAI,CAACsD,MAAL,EAAa;AACT;AACH;;AACD,UAAI,CAAC,CAAC5gD,WAAF,IAAiB,CAAC4sC,KAAK,CAACo+C,gBAAN,CAAuBpqC,MAAvB,EAA+B5gD,WAA/B,CAAtB,EAAmE;AAC/D;AACH;;AACD,UAAI,CAAC,CAAC62B,QAAF,IAAc,CAAC+V,KAAK,CAACya,aAAN,CAAoBzG,MAApB,EAA4B/pB,QAA5B,CAAnB,EAA0D;AACtD;AACH;;AACD01D,MAAAA,mBAAmB,CAACjvC,QAAD,CAAnB,GAAgCsD,MAAhC;AACH,KAjBD;AAkBA,WAAO2rC,mBAAP;AACH,GAvBD;AAwBA;AACJ;AACA;AACA;;;AACIxxC,EAAAA,YAAY,CAAC/U,SAAb,CAAuB88C,2BAAvB,GAAqD,UAAU+D,IAAV,EAAgB;AACjE,QAAIj6C,KAAK,GAAG,IAAZ;;AACA,QAAIk+C,YAAY,GAAG,KAAK3qC,wBAAL,EAAnB;AACA,QAAIssC,aAAa,GAAG,IAApB;AACA3B,IAAAA,YAAY,CAAClpD,OAAb,CAAqB,UAAU0b,QAAV,EAAoB;AACrC;AACA,UAAI,CAAC1Q,KAAK,CAACyT,mBAAN,CAA0B/C,QAA1B,CAAD,IAAwCA,QAAQ,CAACnpC,OAAT,CAAiBy4B,KAAK,CAAC/V,QAAvB,MAAqC,CAAC,CAAlF,EAAqF;AACjF;AACH,OAJoC,CAKrC;;;AACA,UAAI+pB,MAAM,GAAGhU,KAAK,CAACqT,oBAAN,CAA2B3C,QAA3B,CAAb;;AACA,UAAI,CAACsD,MAAL,EAAa;AACT;AACH;;AACD,UAAIA,MAAM,CAACkmC,OAAP,CAAe3yE,OAAf,CAAuB0yE,IAAvB,MAAiC,CAAC,CAAtC,EAAyC;AACrC;AACH;;AACD4F,MAAAA,aAAa,GAAG7rC,MAAhB;AACH,KAdD;AAeA,WAAO6rC,aAAP;AACH,GApBD;AAqBA;AACJ;AACA;;;AACI1xC,EAAAA,YAAY,CAAC/U,SAAb,CAAuB2c,iBAAvB,GAA2C,YAAY;AACnD,WAAOhpB,4DAAS,CAAC,IAAD,EAAO,KAAK,CAAZ,EAAe,KAAK,CAApB,EAAuB,YAAY;AAC/C,UAAImxD,YAAJ,EAAkB4B,eAAlB;;AACA,UAAI9/C,KAAK,GAAG,IAAZ;;AACA,aAAOrF,8DAAW,CAAC,IAAD,EAAO,UAAUuE,EAAV,EAAc;AACnC,gBAAQA,EAAE,CAACrE,KAAX;AACI,eAAK,CAAL;AACIqjD,YAAAA,YAAY,GAAG,KAAK3wC,OAAL,EAAf;AACAuyC,YAAAA,eAAe,GAAG,EAAlB;AACA5B,YAAAA,YAAY,CAAClpD,OAAb,CAAqB,UAAU0b,QAAV,EAAoB;AACrC,kBAAIsD,MAAM,GAAGhU,KAAK,CAACkR,UAAN,CAAiBR,QAAjB,CAAb;;AACA,kBAAI,CAACsD,MAAL,EAAa;AACT;AACH;;AACD8rC,cAAAA,eAAe,CAAC1qD,IAAhB,CAAqB4K,KAAK,CAACw3B,aAAN,CAAoB9mB,QAApB,CAArB;AACH,aAND;AAOA,mBAAO,CAAC;AAAE;AAAH,cAAc/X,OAAO,CAACqlD,GAAR,CAAY8B,eAAZ,CAAd,CAAP;;AACJ,eAAK,CAAL;AACI5gD,YAAAA,EAAE,CAACpE,IAAH;;AACA,mBAAO,CAAC;AAAE;AAAH,cAAe,IAAf,CAAP;AAdR;AAgBH,OAjBiB,CAAlB;AAkBH,KArBe,CAAhB;AAsBH,GAvBD;AAwBA;AACJ;AACA;AACA;;;AACIqT,EAAAA,YAAY,CAAC/U,SAAb,CAAuBo+B,aAAvB,GAAuC,UAAUrmB,UAAV,EAAsB;AACzD,WAAOpkB,4DAAS,CAAC,IAAD,EAAO,KAAK,CAAZ,EAAe,KAAK,CAApB,EAAuB,YAAY;AAC/C,UAAI6E,OAAJ;AACA,aAAO+I,8DAAW,CAAC,IAAD,EAAO,UAAUuE,EAAV,EAAc;AACnC,gBAAQA,EAAE,CAACrE,KAAX;AACI,eAAK,CAAL;AACIjJ,YAAAA,OAAO,GAAG,KAAKsf,UAAL,CAAgBC,UAAhB,CAAV;;AACA,gBAAI,CAACvf,OAAL,EAAc;AACV,oBAAMyK,gGAAA,EAAN;AACH;;AACD,mBAAO,CAAC;AAAE;AAAH,cAAc,KAAK+gC,oBAAL,CAA0BxrC,OAA1B,CAAd,CAAP;;AACJ,eAAK,CAAL;AAAQ,mBAAO,CAAC;AAAE;AAAH,cAAiBsN,EAAE,CAACpE,IAAH,EAAD,IAAe,KAAKuS,UAAL,CAAgB8D,UAAhB,EAA4BqrC,wEAA5B,CAA/B,CAAP;AAPZ;AASH,OAViB,CAAlB;AAWH,KAbe,CAAhB;AAcH,GAfD;AAgBA;AACJ;AACA;AACA;;;AACIruC,EAAAA,YAAY,CAAC/U,SAAb,CAAuBgkC,oBAAvB,GAA8C,UAAUxrC,OAAV,EAAmB;AAC7D,WAAO7E,4DAAS,CAAC,IAAD,EAAO,KAAK,CAAZ,EAAe,KAAK,CAApB,EAAuB,YAAY;AAC/C,UAAImxD,YAAJ,EAAkB59C,SAAlB,EAA6B0/C,kBAA7B;;AACA,UAAIhgD,KAAK,GAAG,IAAZ;;AACA,aAAOrF,8DAAW,CAAC,IAAD,EAAO,UAAUuE,EAAV,EAAc;AACnC,gBAAQA,EAAE,CAACrE,KAAX;AACI,eAAK,CAAL;AACIqjD,YAAAA,YAAY,GAAG,KAAK3wC,OAAL,EAAf;AACAjN,YAAAA,SAAS,GAAG1O,OAAO,CAACquD,iBAAR,EAAZ;AACAD,YAAAA,kBAAkB,GAAG,EAArB;AACA9B,YAAAA,YAAY,CAAClpD,OAAb,CAAqB,UAAU0b,QAAV,EAAoB;AACrC;AACA,kBAAIkuC,QAAQ,GAAGhC,6FAAA,CAAmClsC,QAAnC,CAAf;;AACA,kBAAIkuC,QAAQ,KAAK3iD,sEAAjB,EAAwC;AACpC;AACH;;AACD,kBAAIikD,WAAW,GAAGlgD,KAAK,CAAC++C,qBAAN,CAA4BruC,QAA5B,EAAsCkuC,QAAtC,CAAlB;;AACA,kBAAI,CAAC,CAACsB,WAAF,IAAiB5/C,SAAS,KAAK4/C,WAAW,CAACD,iBAAZ,EAAnC,EAAoE;AAChED,gBAAAA,kBAAkB,CAAC5qD,IAAnB,CAAwB4K,KAAK,CAAC+9C,gBAAN,CAAuBmC,WAAvB,CAAxB;AACH;AACJ,aAVD;AAWA,mBAAO,CAAC;AAAE;AAAH,cAAcvnD,OAAO,CAACqlD,GAAR,CAAYgC,kBAAZ,CAAd,CAAP;;AACJ,eAAK,CAAL;AACI9gD,YAAAA,EAAE,CAACpE,IAAH;;AACA,mBAAO,CAAC;AAAE;AAAH,cAAe,IAAf,CAAP;AAnBR;AAqBH,OAtBiB,CAAlB;AAuBH,KA1Be,CAAhB;AA2BH,GA5BD;AA6BA;AACJ;AACA;AACA;;;AACIqT,EAAAA,YAAY,CAAC/U,SAAb,CAAuB2kD,gBAAvB,GAA0C,UAAUnlC,UAAV,EAAsB;AAC5D,WAAO7rB,4DAAS,CAAC,IAAD,EAAO,KAAK,CAAZ,EAAe,KAAK,CAApB,EAAuB,YAAY;AAC/C,UAAIkI,GAAJ,EAASkrD,+BAAT,EAA0Ch3B,GAA1C;AACA,aAAOxuB,8DAAW,CAAC,IAAD,EAAO,UAAUuE,EAAV,EAAc;AACnC,gBAAQA,EAAE,CAACrE,KAAX;AACI,eAAK,CAAL;AACI5F,YAAAA,GAAG,GAAG2jB,UAAU,CAAC/G,qBAAX,EAAN;AACA,gBAAI,EAAE+G,UAAU,CAAC6C,cAAX,CAA0BjlB,WAA1B,OAA4C+lD,yGAAA,EAA9C,CAAJ,EAA+G,OAAO,CAAC;AAAE;AAAH,cAAc,CAAd,CAAP;AAC/G,gBAAI,EAAE3jC,UAAU,CAACqJ,SAAX,KAAyBlY,yEAA3B,CAAJ,EAA0D,OAAO,CAAC;AAAE;AAAH,cAAc,CAAd,CAAP;AAC1Do2C,YAAAA,+BAA+B,GAAGvnC,UAAlC;AACAuQ,YAAAA,GAAG,GAAGg3B,+BAA+B,CAACtsB,KAAtC;AACA,gBAAI,CAAC1K,GAAL,EAAU,OAAO,CAAC;AAAE;AAAH,cAAc,CAAd,CAAP;AACVjqB,YAAAA,EAAE,CAACrE,KAAH,GAAW,CAAX;;AACJ,eAAK,CAAL;AACIqE,YAAAA,EAAE,CAACnE,IAAH,CAAQ3F,IAAR,CAAa,CAAC,CAAD,EAAI,CAAJ,GAAS,CAAT,CAAb;;AACA,mBAAO,CAAC;AAAE;AAAH,cAAc,KAAK+Z,UAAL,CAAgB+Z,qBAAhB,CAAsCC,GAAtC,CAAd,CAAP;;AACJ,eAAK,CAAL;AACIjqB,YAAAA,EAAE,CAACpE,IAAH;;AACA,mBAAO,CAAC;AAAE;AAAH,cAAc,CAAd,CAAP;;AACJ,eAAK,CAAL;AACIoE,YAAAA,EAAE,CAACpE,IAAH;;AACA,kBAAMuB,sGAAA,EAAN;;AACJ,eAAK,CAAL;AAAQ,mBAAO,CAAC;AAAE;AAAH,cAAe,KAAKgR,UAAL,CAAgBpY,GAAhB,EAAqBunD,2EAArB,CAAf,CAAP;AAlBZ;AAoBH,OArBiB,CAAlB;AAsBH,KAxBe,CAAhB;AAyBH,GA1BD;AA2BA;AACJ;AACA;;;AACIruC,EAAAA,YAAY,CAAC/U,SAAb,CAAuB4c,iBAAvB,GAA2C,YAAY;AACnD,QAAIhW,KAAK,GAAG,IAAZ;;AACA,QAAIk+C,YAAY,GAAG,KAAK3wC,OAAL,EAAnB;AACA2wC,IAAAA,YAAY,CAAClpD,OAAb,CAAqB,UAAU0b,QAAV,EAAoB;AACrC,UAAI1Q,KAAK,CAAC4/C,aAAN,CAAoBlvC,QAApB,CAAJ,EAAmC;AAC/B1Q,QAAAA,KAAK,CAACqN,UAAN,CAAiBqD,QAAjB,EAA2B8rC,6EAA3B;AACH;AACJ,KAJD;AAKA,WAAO,IAAP;AACH,GATD;AAUA;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;;;AACIruC,EAAAA,YAAY,CAAC/U,SAAb,CAAuBknD,eAAvB,GAAyC,UAAU1uD,OAAV,EAAmB3H,QAAnB,EAA6B+D,OAA7B,EAAsC56B,WAAtC,EAAmD;AACxF,QAAI8mE,aAAa,GAAG,KAAKqmB,oBAAL,CAA0B3uD,OAA1B,CAApB;AACA,QAAIspB,aAAa,GAAG,KAAK+hC,oBAAL,CAA0BhzD,QAA1B,EAAoC2H,OAApC,CAApB;AACA,QAAI4uD,iBAAiB,GAAG,KAAKC,wBAAL,CAA8Bx2D,QAA9B,EAAwC2H,OAAxC,EAAiD5D,OAAjD,CAAxB;AACA,QAAI0yD,kBAAkB,GAAG,KAAKC,yBAAL,CAA+B12D,QAA/B,EAAyC2H,OAAzC,EAAkD,KAAlD,CAAzB;AACA,QAAIgvD,iBAAiB,GAAG,KAAKC,wBAAL,CAA8BztF,WAA9B,EAA2C62B,QAA3C,CAAxB;;AACA,QAAIiwC,aAAa,IAAIhf,aAArB,EAAoC;AAChCgf,MAAAA,aAAa,CAAChlB,aAAd,GAA8B,IAAIgJ,4DAAJ,CAAchD,aAAa,CAACoG,MAA5B,EAAoC,KAAKnS,UAAzC,EAAqD5G,MAAnF;AACH;;AACD,WAAO;AACH3W,MAAAA,OAAO,EAAEsoC,aADN;AAEHz3B,MAAAA,OAAO,EAAEyY,aAFN;AAGHnnB,MAAAA,WAAW,EAAEysD,iBAHV;AAIHhuC,MAAAA,YAAY,EAAEkuC,kBAJX;AAKH5tC,MAAAA,WAAW,EAAE8tC;AALV,KAAP;AAOH,GAhBD;AAiBA;AACJ;AACA;AACA;;;AACIzyC,EAAAA,YAAY,CAAC/U,SAAb,CAAuBmnD,oBAAvB,GAA8C,UAAU3uD,OAAV,EAAmB;AAC7D,QAAIuf,UAAU,GAAGjD,6FAAA,CAAsCtc,OAAtC,CAAjB;AACA,WAAO,KAAKsf,UAAL,CAAgBC,UAAhB,CAAP;AACH,GAHD;AAIA;AACJ;AACA;AACA;AACA;;;AACIhD,EAAAA,YAAY,CAAC/U,SAAb,CAAuB+gC,uCAAvB,GAAiE,UAAUj2B,eAAV,EAA2B;AACxF;AACA,QAAI2Q,aAAa,GAAG;AAChB3Q,MAAAA,eAAe,EAAEA;AADD,KAApB;AAGA,QAAI48C,YAAY,GAAG,KAAKhE,qBAAL,CAA2BjoC,aAA3B,CAAnB;AACA,QAAIksC,QAAQ,GAAGzvD,MAAM,CAACkD,IAAP,CAAYssD,YAAZ,EAA0BnoF,GAA1B,CAA8B,UAAUs8B,GAAV,EAAe;AAAE,aAAO6rD,YAAY,CAAC7rD,GAAD,CAAnB;AAA2B,KAA1E,CAAf;;AACA,QAAI8rD,QAAQ,CAACjlF,MAAT,GAAkB,CAAtB,EAAyB;AACrB,aAAO,IAAP;AACH,KAFD,MAGK,IAAIilF,QAAQ,CAACjlF,MAAT,GAAkB,CAAtB,EAAyB;AAC1B,YAAMugC,iHAAA,EAAN;AACH;;AACD,WAAOykD,YAAY,CAAC,CAAD,CAAnB;AACH,GAdD;AAeA;AACJ;AACA;AACA;AACA;AACA;;;AACI3yC,EAAAA,YAAY,CAAC/U,SAAb,CAAuB6jD,oBAAvB,GAA8C,UAAUhzD,QAAV,EAAoB2H,OAApB,EAA6B;AACvE,QAAIovD,aAAa,GAAG;AAChBp7C,MAAAA,aAAa,EAAEhU,OAAO,CAACgU,aADP;AAEhBxyC,MAAAA,WAAW,EAAEw+B,OAAO,CAACx+B,WAFL;AAGhBqoD,MAAAA,cAAc,EAAE8gC,wEAHA;AAIhBtyD,MAAAA,QAAQ,EAAEA,QAJM;AAKhByzD,MAAAA,KAAK,EAAE9rD,OAAO,CAACkjB;AALC,KAApB;AAOA,QAAImsC,eAAe,GAAG,KAAKxD,wBAAL,CAA8BuD,aAA9B,CAAtB;AACA,QAAItC,QAAQ,GAAGptD,MAAM,CAACkD,IAAP,CAAYysD,eAAe,CAACvC,QAA5B,EAAsC/lF,GAAtC,CAA0C,UAAUs8B,GAAV,EAAe;AAAE,aAAOgsD,eAAe,CAACvC,QAAhB,CAAyBzpD,GAAzB,CAAP;AAAuC,KAAlG,CAAf;AACA,QAAIisD,WAAW,GAAGxC,QAAQ,CAAC5iF,MAA3B;;AACA,QAAIolF,WAAW,GAAG,CAAlB,EAAqB;AACjB,aAAO,IAAP;AACH,KAFD,MAGK,IAAIA,WAAW,GAAG,CAAlB,EAAqB;AACtB,YAAM7kD,+GAAA,EAAN;AACH;;AACD,WAAOqiD,QAAQ,CAAC,CAAD,CAAf;AACH,GAlBD;AAmBA;AACJ;AACA;AACA;AACA;AACA;AACA;;;AACIvwC,EAAAA,YAAY,CAAC/U,SAAb,CAAuBqnD,wBAAvB,GAAkD,UAAUx2D,QAAV,EAAoB2H,OAApB,EAA6B5D,OAA7B,EAAsC;AACpF,QAAIjD,MAAM,GAAG,IAAIszB,0DAAJ,CAAarwB,OAAO,CAACjD,MAAR,IAAkB,EAA/B,CAAb;AACA,QAAIq2D,UAAU,GAAGpzD,OAAO,CAACuY,oBAAR,IAAgCwD,4EAAjD;AACA;AACR;AACA;AACA;;AACQ,QAAI0R,cAAc,GAAI2lC,UAAU,IAAIA,UAAU,CAAC5qD,WAAX,OAA6BuT,wFAAA,EAA5C,GAAyFwyC,6FAAzF,GAAwIA,4EAA7J;AACA,QAAI8E,iBAAiB,GAAG;AACpBz7C,MAAAA,aAAa,EAAEhU,OAAO,CAACgU,aADH;AAEpBxyC,MAAAA,WAAW,EAAEw+B,OAAO,CAACx+B,WAFD;AAGpBqoD,MAAAA,cAAc,EAAEA,cAHI;AAIpBxxB,MAAAA,QAAQ,EAAEA,QAJU;AAKpByzD,MAAAA,KAAK,EAAE9rD,OAAO,CAACkjB,QALK;AAMpBiI,MAAAA,MAAM,EAAEhyB,MAAM,CAACu2D,oBAAP,EANY;AAOpBr/B,MAAAA,SAAS,EAAEm/B,UAPS;AAQpBvtB,MAAAA,KAAK,EAAE7lC,OAAO,CAAC2a,MARK;AASpBqvB,MAAAA,mBAAmB,EAAEhqC,OAAO,CAACgqC;AATT,KAAxB;AAWA,QAAIipB,eAAe,GAAG,KAAKxD,wBAAL,CAA8B4D,iBAA9B,CAAtB;AACA,QAAI1D,YAAY,GAAGrsD,MAAM,CAACkD,IAAP,CAAYysD,eAAe,CAACtD,YAA5B,EAA0ChlF,GAA1C,CAA8C,UAAUs8B,GAAV,EAAe;AAAE,aAAOgsD,eAAe,CAACtD,YAAhB,CAA6B1oD,GAA7B,CAAP;AAA2C,KAA1G,CAAnB;AACA,QAAIssD,eAAe,GAAG5D,YAAY,CAAC7hF,MAAnC;;AACA,QAAIylF,eAAe,GAAG,CAAtB,EAAyB;AACrB,aAAO,IAAP;AACH,KAFD,MAGK,IAAIA,eAAe,GAAG,CAAtB,EAAyB;AAC1B,YAAMllD,+GAAA,EAAN;AACH;;AACD,WAAOshD,YAAY,CAAC,CAAD,CAAnB;AACH,GA7BD;AA8BA;AACJ;AACA;AACA;AACA;AACA;;;AACIxvC,EAAAA,YAAY,CAAC/U,SAAb,CAAuBunD,yBAAvB,GAAmD,UAAU12D,QAAV,EAAoB2H,OAApB,EAA6B4vD,QAA7B,EAAuC;AACtF,QAAIllF,EAAE,GAAGklF,QAAQ,GAAG/E,8DAAH,GAAmBj7C,SAApC;AACA,QAAIigD,kBAAkB,GAAG;AACrB77C,MAAAA,aAAa,EAAEhU,OAAO,CAACgU,aADF;AAErBxyC,MAAAA,WAAW,EAAEw+B,OAAO,CAACx+B,WAFA;AAGrBqoD,MAAAA,cAAc,EAAE8gC,6EAHK;AAIrBtyD,MAAAA,QAAQ,EAAEA,QAJW;AAKrB+3B,MAAAA,QAAQ,EAAE1lD;AALW,KAAzB;AAOA,QAAI2kF,eAAe,GAAG,KAAKxD,wBAAL,CAA8BgE,kBAA9B,CAAtB;AACA,QAAI9C,aAAa,GAAGrtD,MAAM,CAACkD,IAAP,CAAYysD,eAAe,CAACtC,aAA5B,EAA2ChmF,GAA3C,CAA+C,UAAUs8B,GAAV,EAAe;AAAE,aAAOgsD,eAAe,CAACtC,aAAhB,CAA8B1pD,GAA9B,CAAP;AAA4C,KAA5G,CAApB;AACA,QAAIysD,gBAAgB,GAAG/C,aAAa,CAAC7iF,MAArC;;AACA,QAAI4lF,gBAAgB,GAAG,CAAvB,EAA0B;AACtB,aAAO,IAAP;AACH,KAdqF,CAetF;;;AACA,WAAO/C,aAAa,CAAC,CAAD,CAApB;AACH,GAjBD;AAkBA;AACJ;AACA;;;AACIxwC,EAAAA,YAAY,CAAC/U,SAAb,CAAuBynD,wBAAvB,GAAkD,UAAUztF,WAAV,EAAuB62B,QAAvB,EAAiC;AAC/E,QAAI03D,iBAAiB,GAAG;AACpBvuF,MAAAA,WAAW,EAAEA,WADO;AAEpB62B,MAAAA,QAAQ,EAAEA;AAFU,KAAxB;AAIA,QAAI6oB,WAAW,GAAG,KAAK2sC,wBAAL,CAA8BkC,iBAA9B,CAAlB;AACA,QAAIC,kBAAkB,GAAGtwD,MAAM,CAACkD,IAAP,CAAYse,WAAZ,EAAyBn6C,GAAzB,CAA6B,UAAUs8B,GAAV,EAAe;AAAE,aAAO6d,WAAW,CAAC7d,GAAD,CAAlB;AAA0B,KAAxE,CAAzB;AACA,QAAI4sD,cAAc,GAAGD,kBAAkB,CAAC9lF,MAAxC;;AACA,QAAI+lF,cAAc,GAAG,CAArB,EAAwB;AACpB,aAAO,IAAP;AACH,KAFD,MAGK,IAAIA,cAAc,GAAG,CAArB,EAAwB;AACzB,YAAMxlD,oHAAA,EAAN;AACH;;AACD,WAAOulD,kBAAkB,CAAC,CAAD,CAAzB;AACH,GAfD;AAgBA;AACJ;AACA;AACA;AACA;;;AACIzzC,EAAAA,YAAY,CAAC/U,SAAb,CAAuB2oD,iBAAvB,GAA2C,UAAU3uF,WAAV,EAAuB62B,QAAvB,EAAiC;AACxE,QAAI6oB,WAAW,GAAG,KAAK+tC,wBAAL,CAA8BztF,WAA9B,EAA2C62B,QAA3C,CAAlB;AACA,WAAO,CAAC,EAAE6oB,WAAW,IAAIA,WAAW,CAACkP,QAAZ,KAAyBy6B,8DAA1C,CAAR;AACH,GAHD;AAIA;AACJ;AACA;AACA;AACA;;;AACItuC,EAAAA,YAAY,CAAC/U,SAAb,CAAuB+kD,kBAAvB,GAA4C,UAAUnqC,MAAV,EAAkBpO,aAAlB,EAAiC;AACzE,WAAO,CAAC,EAAG,OAAOoO,MAAM,CAACpO,aAAd,KAAgC,QAAjC,IAA+CA,aAAa,KAAKoO,MAAM,CAACpO,aAA1E,CAAR;AACH,GAFD;AAGA;AACJ;AACA;AACA;AACA;;;AACIuI,EAAAA,YAAY,CAAC/U,SAAb,CAAuB4lD,sBAAvB,GAAgD,UAAUhrC,MAAV,EAAkBwqC,iBAAlB,EAAqC;AACjF,WAAO,CAAC,EAAExqC,MAAM,CAACwqC,iBAAP,IAA4BA,iBAAiB,KAAKxqC,MAAM,CAACwqC,iBAA3D,CAAR;AACH,GAFD;AAGA;AACJ;AACA;AACA;AACA;;;AACIrwC,EAAAA,YAAY,CAAC/U,SAAb,CAAuBglD,gBAAvB,GAA0C,UAAUpqC,MAAV,EAAkB5gD,WAAlB,EAA+B;AACrE,QAAI4uF,aAAa,GAAG,KAAK9L,2BAAL,CAAiC9iF,WAAjC,CAApB;;AACA,QAAI4uF,aAAa,IAAIA,aAAa,CAAC9H,OAAd,CAAsB3yE,OAAtB,CAA8BysC,MAAM,CAAC5gD,WAArC,IAAoD,CAAC,CAA1E,EAA6E;AACzE,aAAO,IAAP;AACH;;AACD,WAAO,KAAP;AACH,GAND;AAOA;AACJ;AACA;AACA;AACA;;;AACI+6C,EAAAA,YAAY,CAAC/U,SAAb,CAAuB6lD,mBAAvB,GAA6C,UAAUjrC,MAAV,EAAkByH,cAAlB,EAAkC;AAC3E,WAAQzH,MAAM,CAACyH,cAAP,IAAyBA,cAAc,CAACjlB,WAAf,OAAiCwd,MAAM,CAACyH,cAAP,CAAsBjlB,WAAtB,EAAlE;AACH,GAFD;AAGA;AACJ;AACA;AACA;AACA;;;AACI2X,EAAAA,YAAY,CAAC/U,SAAb,CAAuBqhB,aAAvB,GAAuC,UAAUzG,MAAV,EAAkB/pB,QAAlB,EAA4B;AAC/D,WAAO,CAAC,EAAE+pB,MAAM,CAAC/pB,QAAP,IAAmBA,QAAQ,KAAK+pB,MAAM,CAAC/pB,QAAzC,CAAR;AACH,GAFD;AAGA;AACJ;AACA;AACA;AACA;;;AACIkkB,EAAAA,YAAY,CAAC/U,SAAb,CAAuB8lD,aAAvB,GAAuC,UAAUlrC,MAAV,EAAkBgO,QAAlB,EAA4B;AAC/D,WAAO,CAAC,EAAEhO,MAAM,CAACgO,QAAP,IAAmBA,QAAQ,KAAKhO,MAAM,CAACgO,QAAzC,CAAR;AACH,GAFD;AAGA;AACJ;AACA;AACA;AACA;;;AACI7T,EAAAA,YAAY,CAAC/U,SAAb,CAAuBilD,UAAvB,GAAoC,UAAUrqC,MAAV,EAAkB0pC,KAAlB,EAAyB;AACzD,WAAO,CAAC,EAAE1pC,MAAM,CAAC0pC,KAAP,IAAgBA,KAAK,KAAK1pC,MAAM,CAAC0pC,KAAnC,CAAR;AACH,GAFD;AAGA;AACJ;AACA;AACA;AACA;AACA;;;AACIvvC,EAAAA,YAAY,CAAC/U,SAAb,CAAuBklD,oBAAvB,GAA8C,UAAUtqC,MAAV,EAAkB9P,eAAlB,EAAmC;AAC7E,WAAO,CAAC,EAAE8P,MAAM,CAAC9P,eAAP,IAA0BA,eAAe,KAAK8P,MAAM,CAAC9P,eAAvD,CAAR;AACH,GAFD;AAGA;AACJ;AACA;AACA;AACA;;;AACIiK,EAAAA,YAAY,CAAC/U,SAAb,CAAuB+lD,WAAvB,GAAqC,UAAUnrC,MAAV,EAAkB+I,MAAlB,EAA0B;AAC3D,QAAIklC,0BAA0B,GAAIjuC,MAAM,CAACyH,cAAP,KAA0B8gC,4EAA1B,IAAyDvoC,MAAM,CAACyH,cAAP,KAA0B8gC,6FAArH;;AACA,QAAI0F,0BAA0B,IAAI,CAACjuC,MAAM,CAAC+I,MAA1C,EAAkD;AAC9C,aAAO,KAAP;AACH;;AACD,QAAImlC,cAAc,GAAG7jC,qEAAA,CAAoBrK,MAAM,CAAC+I,MAA3B,CAArB;AACA,QAAIolC,qBAAqB,GAAG9jC,qEAAA,CAAoBtB,MAApB,CAA5B;;AACA,QAAI,CAAColC,qBAAqB,CAACC,sBAAtB,EAAL,EAAqD;AACjDD,MAAAA,qBAAqB,CAACE,gBAAtB,GADiD,CACP;AAC7C,KAFD,MAGK;AACDF,MAAAA,qBAAqB,CAACG,WAAtB,CAAkCrmD,+EAAlC;AACH;;AACD,WAAOimD,cAAc,CAACM,gBAAf,CAAgCL,qBAAhC,CAAP;AACH,GAdD;AAeA;AACJ;AACA;AACA;AACA;;;AACIh0C,EAAAA,YAAY,CAAC/U,SAAb,CAAuBimD,cAAvB,GAAwC,UAAUrrC,MAAV,EAAkBiO,SAAlB,EAA6B;AACjE,WAAO,CAAC,EAAEjO,MAAM,CAACiO,SAAP,IAAoBjO,MAAM,CAACiO,SAAP,KAAqBA,SAA3C,CAAR;AACH,GAFD;AAGA;AACJ;AACA;AACA;AACA;;;AACI9T,EAAAA,YAAY,CAAC/U,SAAb,CAAuBkmD,UAAvB,GAAoC,UAAUtrC,MAAV,EAAkB6f,KAAlB,EAAyB;AACzD,WAAO,CAAC,EAAE7f,MAAM,CAAC6f,KAAP,IAAgB7f,MAAM,CAAC6f,KAAP,KAAiBA,KAAnC,CAAR;AACH,GAFD;AAGA;AACJ;AACA;AACA;;;AACI1lB,EAAAA,YAAY,CAAC/U,SAAb,CAAuBwmD,aAAvB,GAAuC,UAAU3qD,GAAV,EAAe;AAClD,WAAOA,GAAG,CAAC1tB,OAAJ,CAAYm1E,6DAAZ,MAA8B,CAAC,CAAtC;AACH,GAFD;AAGA;AACJ;AACA;AACA;;;AACIvuC,EAAAA,YAAY,CAAC/U,SAAb,CAAuBqa,mBAAvB,GAA6C,UAAUxe,GAAV,EAAe;AACxD,WAAOA,GAAG,CAAC1tB,OAAJ,CAAYo1E,uFAAZ,MAAwD,CAAC,CAAhE;AACH,GAFD;AAGA;AACJ;AACA;;;AACIxuC,EAAAA,YAAY,CAAC/U,SAAb,CAAuBq9C,iCAAvB,GAA2D,UAAUvsD,SAAV,EAAqB;AAC5E,WAAOyyD,uFAAA,GAAyC,GAAzC,GAA+C,KAAK1yD,QAApD,GAA+D,GAA/D,GAAqEC,SAA5E;AACH,GAFD;AAGA;AACJ;AACA;AACA;AACA;;;AACIikB,EAAAA,YAAY,CAAC/U,SAAb,CAAuB2lD,qBAAvB,GAA+C,UAAU9pD,GAAV,EAAe2pD,QAAf,EAAyB;AACpE,YAAQA,QAAR;AACI,WAAKrC,wEAAL;AAA8B;AAC1B,iBAAO,KAAK9qC,oBAAL,CAA0Bxc,GAA1B,CAAP;AACH;;AACD,WAAKsnD,4EAAL;AACA,WAAKA,6FAAL;AAAmD;AAC/C,iBAAO,KAAKzqC,wBAAL,CAA8B7c,GAA9B,CAAP;AACH;;AACD,WAAKsnD,6EAAL;AAAmC;AAC/B,iBAAO,KAAKpqC,yBAAL,CAA+Bld,GAA/B,CAAP;AACH;;AACD;AACI,eAAO,IAAP;AAZR;AAcH,GAfD;AAgBA;AACJ;AACA;AACA;AACA;;;AACIkZ,EAAAA,YAAY,CAACmD,QAAb,GAAwB,UAAUhsB,GAAV,EAAeqmD,IAAf,EAAqB;AACzC,SAAK,IAAI+W,YAAT,IAAyB/W,IAAzB,EAA+B;AAC3BrmD,MAAAA,GAAG,CAACo9D,YAAD,CAAH,GAAoB/W,IAAI,CAAC+W,YAAD,CAAxB;AACH;;AACD,WAAOp9D,GAAP;AACH,GALD;;AAMA,SAAO6oB,YAAP;AACH,CAhwBiC,EAAlC;;AAiwBA,IAAIw0C,mBAAmB;AAAG;AAAe,UAAU1qD,MAAV,EAAkB;AACvDqB,EAAAA,4DAAS,CAACqpD,mBAAD,EAAsB1qD,MAAtB,CAAT;;AACA,WAAS0qD,mBAAT,GAA+B;AAC3B,WAAO1qD,MAAM,KAAK,IAAX,IAAmBA,MAAM,CAAC2B,KAAP,CAAa,IAAb,EAAmBD,SAAnB,CAAnB,IAAoD,IAA3D;AACH;;AACDgpD,EAAAA,mBAAmB,CAACvpD,SAApB,CAA8BmY,UAA9B,GAA2C,YAAY;AACnD,QAAIqxC,UAAU,GAAG,2FAAjB;AACA,UAAMxmD,gFAAA,CAAgCwmD,UAAhC,CAAN;AACH,GAHD;;AAIAD,EAAAA,mBAAmB,CAACvpD,SAApB,CAA8B8X,UAA9B,GAA2C,YAAY;AACnD,QAAI0xC,UAAU,GAAG,2FAAjB;AACA,UAAMxmD,gFAAA,CAAgCwmD,UAAhC,CAAN;AACH,GAHD;;AAIAD,EAAAA,mBAAmB,CAACvpD,SAApB,CAA8BwY,oBAA9B,GAAqD,YAAY;AAC7D,QAAIgxC,UAAU,GAAG,qGAAjB;AACA,UAAMxmD,gFAAA,CAAgCwmD,UAAhC,CAAN;AACH,GAHD;;AAIAD,EAAAA,mBAAmB,CAACvpD,SAApB,CAA8BqY,oBAA9B,GAAqD,YAAY;AAC7D,QAAImxC,UAAU,GAAG,qGAAjB;AACA,UAAMxmD,gFAAA,CAAgCwmD,UAAhC,CAAN;AACH,GAHD;;AAIAD,EAAAA,mBAAmB,CAACvpD,SAApB,CAA8B8Y,wBAA9B,GAAyD,YAAY;AACjE,QAAI0wC,UAAU,GAAG,yGAAjB;AACA,UAAMxmD,gFAAA,CAAgCwmD,UAAhC,CAAN;AACH,GAHD;;AAIAD,EAAAA,mBAAmB,CAACvpD,SAApB,CAA8B0Y,wBAA9B,GAAyD,YAAY;AACjE,QAAI8wC,UAAU,GAAG,yGAAjB;AACA,UAAMxmD,gFAAA,CAAgCwmD,UAAhC,CAAN;AACH,GAHD;;AAIAD,EAAAA,mBAAmB,CAACvpD,SAApB,CAA8BmZ,yBAA9B,GAA0D,YAAY;AAClE,QAAIqwC,UAAU,GAAG,0GAAjB;AACA,UAAMxmD,gFAAA,CAAgCwmD,UAAhC,CAAN;AACH,GAHD;;AAIAD,EAAAA,mBAAmB,CAACvpD,SAApB,CAA8B+Y,yBAA9B,GAA0D,YAAY;AAClE,QAAIywC,UAAU,GAAG,0GAAjB;AACA,UAAMxmD,gFAAA,CAAgCwmD,UAAhC,CAAN;AACH,GAHD;;AAIAD,EAAAA,mBAAmB,CAACvpD,SAApB,CAA8ByZ,cAA9B,GAA+C,YAAY;AACvD,QAAI+vC,UAAU,GAAG,+FAAjB;AACA,UAAMxmD,gFAAA,CAAgCwmD,UAAhC,CAAN;AACH,GAHD;;AAIAD,EAAAA,mBAAmB,CAACvpD,SAApB,CAA8BqZ,cAA9B,GAA+C,YAAY;AACvD,QAAImwC,UAAU,GAAG,+FAAjB;AACA,UAAMxmD,gFAAA,CAAgCwmD,UAAhC,CAAN;AACH,GAHD;;AAIAD,EAAAA,mBAAmB,CAACvpD,SAApB,CAA8B+Z,kBAA9B,GAAmD,YAAY;AAC3D,QAAIyvC,UAAU,GAAG,mGAAjB;AACA,UAAMxmD,gFAAA,CAAgCwmD,UAAhC,CAAN;AACH,GAHD;;AAIAD,EAAAA,mBAAmB,CAACvpD,SAApB,CAA8B4Z,kBAA9B,GAAmD,YAAY;AAC3D,QAAI4vC,UAAU,GAAG,mGAAjB;AACA,UAAMxmD,gFAAA,CAAgCwmD,UAAhC,CAAN;AACH,GAHD;;AAIAD,EAAAA,mBAAmB,CAACvpD,SAApB,CAA8B2a,oBAA9B,GAAqD,YAAY;AAC7D,QAAI6uC,UAAU,GAAG,qGAAjB;AACA,UAAMxmD,gFAAA,CAAgCwmD,UAAhC,CAAN;AACH,GAHD;;AAIAD,EAAAA,mBAAmB,CAACvpD,SAApB,CAA8Bia,oBAA9B,GAAqD,YAAY;AAC7D,QAAIuvC,UAAU,GAAG,qGAAjB;AACA,UAAMxmD,gFAAA,CAAgCwmD,UAAhC,CAAN;AACH,GAHD;;AAIAD,EAAAA,mBAAmB,CAACvpD,SAApB,CAA8Bma,wBAA9B,GAAyD,YAAY;AACjE,QAAIqvC,UAAU,GAAG,yGAAjB;AACA,UAAMxmD,gFAAA,CAAgCwmD,UAAhC,CAAN;AACH,GAHD;;AAIAD,EAAAA,mBAAmB,CAACvpD,SAApB,CAA8Boc,kBAA9B,GAAmD,YAAY;AAC3D,QAAIotC,UAAU,GAAG,mGAAjB;AACA,UAAMxmD,gFAAA,CAAgCwmD,UAAhC,CAAN;AACH,GAHD;;AAIAD,EAAAA,mBAAmB,CAACvpD,SAApB,CAA8Bgc,kBAA9B,GAAmD,YAAY;AAC3D,QAAIwtC,UAAU,GAAG,mGAAjB;AACA,UAAMxmD,gFAAA,CAAgCwmD,UAAhC,CAAN;AACH,GAHD;;AAIAD,EAAAA,mBAAmB,CAACvpD,SAApB,CAA8BiU,UAA9B,GAA2C,YAAY;AACnD,QAAIu1C,UAAU,GAAG,2FAAjB;AACA,UAAMxmD,gFAAA,CAAgCwmD,UAAhC,CAAN;AACH,GAHD;;AAIAD,EAAAA,mBAAmB,CAACvpD,SAApB,CAA8BsU,WAA9B,GAA4C,YAAY;AACpD,QAAIk1C,UAAU,GAAG,4FAAjB;AACA,UAAMxmD,gFAAA,CAAgCwmD,UAAhC,CAAN;AACH,GAHD;;AAIAD,EAAAA,mBAAmB,CAACvpD,SAApB,CAA8BmU,OAA9B,GAAwC,YAAY;AAChD,QAAIq1C,UAAU,GAAG,wFAAjB;AACA,UAAMxmD,gFAAA,CAAgCwmD,UAAhC,CAAN;AACH,GAHD;;AAIAD,EAAAA,mBAAmB,CAACvpD,SAApB,CAA8ByU,KAA9B,GAAsC,YAAY;AAC9C,WAAO9gB,4DAAS,CAAC,IAAD,EAAO,KAAK,CAAZ,EAAe,KAAK,CAApB,EAAuB,YAAY;AAC/C,UAAI61D,UAAJ;AACA,aAAOjoD,8DAAW,CAAC,IAAD,EAAO,UAAUuE,EAAV,EAAc;AACnC0jD,QAAAA,UAAU,GAAG,sFAAb;AACA,cAAMxmD,gFAAA,CAAgCwmD,UAAhC,CAAN;AACH,OAHiB,CAAlB;AAIH,KANe,CAAhB;AAOH,GARD;;AASAD,EAAAA,mBAAmB,CAACvpD,SAApB,CAA8BiiB,wBAA9B,GAAyD,YAAY;AACjE,QAAIunC,UAAU,GAAG,yGAAjB;AACA,UAAMxmD,gFAAA,CAAgCwmD,UAAhC,CAAN;AACH,GAHD;;AAIA,SAAOD,mBAAP;AACH,CAnGwC,CAmGvCx0C,YAnGuC,CAAzC;;;;;;;;;;;;;;;;;;;;;;;;ACnxBA;AACa;;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,IAAIE,iBAAiB;AAAG;AAAe,UAAUpW,MAAV,EAAkB;AACrDqB,EAAAA,4DAAS,CAAC+U,iBAAD,EAAoBpW,MAApB,CAAT;;AACA,WAASoW,iBAAT,GAA6B;AACzB,WAAOpW,MAAM,KAAK,IAAX,IAAmBA,MAAM,CAAC2B,KAAP,CAAa,IAAb,EAAmBD,SAAnB,CAAnB,IAAoD,IAA3D;AACH;AACD;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACI0U,EAAAA,iBAAiB,CAACyS,uBAAlB,GAA4C,UAAUlb,aAAV,EAAyBxyC,WAAzB,EAAsC2gC,WAAtC,EAAmD9J,QAAnD,EAA6D6qB,QAA7D,EAAuE/pB,MAAvE,EAA+E61B,SAA/E,EAA0FS,YAA1F,EAAwGwhC,WAAxG,EAAqHC,SAArH,EAAgI7gC,SAAhI,EAA2Iu8B,iBAA3I,EAA8J3qB,KAA9J,EAAqKkvB,eAArK,EAAsL/qB,mBAAtL,EAA2M;AACnP,QAAI94B,EAAJ,EAAQE,EAAR;;AACA,QAAI4jD,QAAQ,GAAG,IAAI30C,iBAAJ,EAAf;AACA20C,IAAAA,QAAQ,CAACp9C,aAAT,GAAyBA,aAAzB;AACAo9C,IAAAA,QAAQ,CAACvnC,cAAT,GAA0B8gC,4EAA1B;AACAyG,IAAAA,QAAQ,CAAC1hC,MAAT,GAAkBvtB,WAAlB;AACA,QAAIlP,WAAW,GAAGi0C,qEAAA,EAAlB;AACAkqB,IAAAA,QAAQ,CAACC,QAAT,GAAoBp+D,WAAW,CAACwnB,QAAZ,EAApB;AACA;AACR;AACA;AACA;;AACQ22C,IAAAA,QAAQ,CAACpiC,SAAT,GAAqBA,SAAS,CAACvU,QAAV,EAArB;AACA22C,IAAAA,QAAQ,CAACtiC,iBAAT,GAA6BW,YAAY,CAAChV,QAAb,EAA7B;;AACA,QAAIy2C,SAAJ,EAAe;AACXE,MAAAA,QAAQ,CAACF,SAAT,GAAqBA,SAAS,CAACz2C,QAAV,EAArB;AACH;;AACD22C,IAAAA,QAAQ,CAAC5vF,WAAT,GAAuBA,WAAvB;AACA4vF,IAAAA,QAAQ,CAAC/4D,QAAT,GAAoBA,QAApB;AACA+4D,IAAAA,QAAQ,CAACtF,KAAT,GAAiB5oC,QAAjB;AACAkuC,IAAAA,QAAQ,CAACjmC,MAAT,GAAkBhyB,MAAlB;AACAi4D,IAAAA,QAAQ,CAACxE,iBAAT,GAA6BA,iBAA7B;AACAwE,IAAAA,QAAQ,CAAC/gC,SAAT,GAAqB11B,sEAAA,CAAoB01B,SAApB,IAAiClY,4EAAjC,GAA+DkY,SAApF;;AACA,QAAI8gC,eAAJ,EAAqB;AACjBC,MAAAA,QAAQ,CAACD,eAAT,GAA2BA,eAA3B;AACAC,MAAAA,QAAQ,CAAChrB,mBAAT,GAA+BA,mBAA/B;AACH;AACD;AACR;AACA;AACA;;;AACQ,QAAI,CAAC,CAAC94B,EAAE,GAAG8jD,QAAQ,CAAC/gC,SAAf,MAA8B,IAA9B,IAAsC/iB,EAAE,KAAK,KAAK,CAAlD,GAAsD,KAAK,CAA3D,GAA+DA,EAAE,CAAC1I,WAAH,EAAhE,MAAsFuT,wFAAA,EAA1F,EAAqI;AACjIi5C,MAAAA,QAAQ,CAACvnC,cAAT,GAA0B8gC,6FAA1B;;AACA,cAAQyG,QAAQ,CAAC/gC,SAAjB;AACI,aAAKlY,yEAAL;AACI;AACA,cAAIm5C,WAAW,GAAGhlC,+EAAA,CAA6BnqB,WAA7B,EAA0C8uD,WAA1C,CAAlB;;AACA,cAAI,EAAE,CAACzjD,EAAE,GAAG8jD,WAAW,KAAK,IAAhB,IAAwBA,WAAW,KAAK,KAAK,CAA7C,GAAiD,KAAK,CAAtD,GAA0DA,WAAW,CAAC14B,GAA5E,MAAqF,IAArF,IAA6FprB,EAAE,KAAK,KAAK,CAAzG,GAA6G,KAAK,CAAlH,GAAsHA,EAAE,CAAC+pB,GAA3H,CAAJ,EAAqI;AACjI,kBAAM9sB,qGAAA,EAAN;AACH;;AACD2mD,UAAAA,QAAQ,CAACnvB,KAAT,GAAiBqvB,WAAW,CAAC14B,GAAZ,CAAgBrB,GAAjC;AACA;;AACJ,aAAKpf,yEAAL;AACIi5C,UAAAA,QAAQ,CAACnvB,KAAT,GAAiBA,KAAjB;AAVR;AAYH;;AACD,WAAOmvB,QAAP;AACH,GA/CD;AAgDA;AACJ;AACA;AACA;;;AACI30C,EAAAA,iBAAiB,CAAC4D,mBAAlB,GAAwC,UAAU+B,MAAV,EAAkB;AACtD,QAAI,CAACA,MAAL,EAAa;AACT,aAAO,KAAP;AACH;;AACD,WAAQA,MAAM,CAAC3a,cAAP,CAAsB,eAAtB,KACJ2a,MAAM,CAAC3a,cAAP,CAAsB,aAAtB,CADI,IAEJ2a,MAAM,CAAC3a,cAAP,CAAsB,gBAAtB,CAFI,IAGJ2a,MAAM,CAAC3a,cAAP,CAAsB,OAAtB,CAHI,IAIJ2a,MAAM,CAAC3a,cAAP,CAAsB,UAAtB,CAJI,IAKJ2a,MAAM,CAAC3a,cAAP,CAAsB,QAAtB,CALI,IAMJ2a,MAAM,CAAC3a,cAAP,CAAsB,QAAtB,CANI,KAOH2a,MAAM,CAAC,gBAAD,CAAN,KAA6BuoC,4EAA7B,IAA4DvoC,MAAM,CAAC,gBAAD,CAAN,KAA6BuoC,6FAPtF,CAAR;AAQH,GAZD;;AAaA,SAAOluC,iBAAP;AACH,CAlFsC,CAkFrCuuC,kEAlFqC,CAAvC;;;;;;;;;;;;;;;;;;;;;;ACtCA;AACa;;AACb;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,IAAI1uC,aAAa;AAAG;AAAe,YAAY;AAC3C,WAASA,aAAT,GAAyB,CACxB;AACD;AACJ;AACA;;;AACIA,EAAAA,aAAa,CAAC9U,SAAd,CAAwB6mD,iBAAxB,GAA4C,YAAY;AACpD,QAAI3/C,SAAS,GAAG,CAAC,KAAKsF,aAAN,EAAqB,KAAKxyC,WAA1B,CAAhB;AACA,WAAOktC,SAAS,CAACpkC,IAAV,CAAeq2E,+EAAf,EAA+C/7C,WAA/C,EAAP;AACH,GAHD;AAIA;AACJ;AACA;;;AACI0X,EAAAA,aAAa,CAAC9U,SAAd,CAAwBoY,kBAAxB,GAA6C,YAAY;AACrD,WAAOtD,aAAa,CAACupB,uBAAd,CAAsC;AACzC7xB,MAAAA,aAAa,EAAE,KAAKA,aADqB;AAEzCxyC,MAAAA,WAAW,EAAE,KAAKA,WAFuB;AAGzC0hD,MAAAA,QAAQ,EAAE,KAAK4oC,KAH0B;AAIzCh4C,MAAAA,QAAQ,EAAE,KAAKA,QAJ0B;AAKzCI,MAAAA,cAAc,EAAE,KAAKA;AALoB,KAAtC,CAAP;AAOH,GARD;AASA;AACJ;AACA;;;AACIoI,EAAAA,aAAa,CAAC9U,SAAd,CAAwBmqD,YAAxB,GAAuC,YAAY;AAC/C,YAAQ,KAAK3jC,aAAb;AACI,WAAKwjC,mFAAL;AACI,eAAOC,+DAAP;;AACJ,WAAKD,oFAAL;AACI,eAAOC,8DAAP;;AACJ,WAAKD,oFAAL;AACI,eAAOC,gEAAP;;AACJ,WAAKD,sFAAL;AACI,eAAOC,kEAAP;;AACJ;AAAS;AACL,gBAAMhnD,uGAAA,EAAN;AACH;AAXL;AAaH,GAdD;AAeA;AACJ;AACA;;;AACI6R,EAAAA,aAAa,CAAC9U,SAAd,CAAwB2oB,cAAxB,GAAyC,YAAY;AACjD,WAAO;AACHnc,MAAAA,aAAa,EAAE,KAAKA,aADjB;AAEHxyC,MAAAA,WAAW,EAAE,KAAKA,WAFf;AAGH0hD,MAAAA,QAAQ,EAAE,KAAK4oC,KAHZ;AAIHh4C,MAAAA,QAAQ,EAAE,KAAKA,QAJZ;AAKHI,MAAAA,cAAc,EAAE,KAAKA,cALlB;AAMHnmC,MAAAA,IAAI,EAAE,KAAKA,IANR;AAOHu1C,MAAAA,aAAa,EAAE,KAAKA,aAPjB;AAQHhR,MAAAA,eAAe,EAAE,KAAKA;AARnB,KAAP;AAUH,GAXD;AAYA;AACJ;AACA;AACA;;;AACIgK,EAAAA,aAAa,CAACupB,uBAAd,GAAwC,UAAUusB,gBAAV,EAA4B;AAChE,QAAI7yC,UAAU,GAAG,CACb6yC,gBAAgB,CAACp+C,aADJ,EAEbo+C,gBAAgB,CAAC5wF,WAAjB,IAAgC6oC,uEAFnB,EAGb+nD,gBAAgB,CAAClvC,QAAjB,IAA6B7Y,uEAHhB,CAAjB;AAKA,WAAOkV,UAAU,CAACj1C,IAAX,CAAgBq2E,+EAAhB,EAAgD/7C,WAAhD,EAAP;AACH,GAPD;AAQA;AACJ;AACA;AACA;AACA;AACA;AACA;;;AACI0X,EAAAA,aAAa,CAACiS,aAAd,GAA8B,UAAUT,UAAV,EAAsB9Z,aAAtB,EAAqCnD,OAArC,EAA8CvY,SAA9C,EAAyDg4B,kBAAzD,EAA6EC,WAA7E,EAA0F/uD,WAA1F,EAAuG8wC,eAAvG,EAAwH;AAClJ,QAAIhF,EAAJ,EAAQE,EAAR,EAAY+hB,EAAZ,EAAgBkhB,EAAhB,EAAoBuV,EAApB,EAAwBE,EAAxB;;AACA,QAAIlmD,OAAO,GAAG,IAAIsc,aAAJ,EAAd;AACAtc,IAAAA,OAAO,CAACguB,aAAR,GAAwBwjC,oFAAxB;AACAxxD,IAAAA,OAAO,CAAC8tB,UAAR,GAAqBA,UAArB;AACA9tB,IAAAA,OAAO,CAACgU,aAAR,GAAwBA,aAAxB;AACAhU,IAAAA,OAAO,CAACsS,eAAR,GAA0BA,eAA1B;AACA,QAAIvlB,GAAG,GAAGvrB,WAAW,IAAK82B,SAAS,IAAIA,SAAS,CAAC0yC,iBAAV,EAAvC;;AACA,QAAI,CAACj+C,GAAL,EAAU;AACN,YAAM0d,yGAAA,EAAN;AACH;;AACDzK,IAAAA,OAAO,CAACx+B,WAAR,GAAsBurB,GAAtB,CAXkJ,CAYlJ;;AACAiT,IAAAA,OAAO,CAAC8rD,KAAR,GAAgB,CAAC,CAACx+C,EAAE,GAAGuD,OAAO,KAAK,IAAZ,IAAoBA,OAAO,KAAK,KAAK,CAArC,GAAyC,KAAK,CAA9C,GAAkDA,OAAO,CAAC8F,MAAhE,MAA4E,IAA5E,IAAoFrJ,EAAE,KAAK,KAAK,CAAhG,GAAoG,KAAK,CAAzG,GAA6GA,EAAE,CAAC0iB,GAAjH,KAAyH3lB,uEAAzI;;AACA,QAAIwG,OAAJ,EAAa;AACT7Q,MAAAA,OAAO,CAACsjB,aAAR,GAAwBzS,OAAO,CAAC8F,MAAhC,CADS,CAET;;AACA3W,MAAAA,OAAO,CAACkU,cAAR,GAAyB,CAAC,CAAC1G,EAAE,GAAGqD,OAAO,KAAK,IAAZ,IAAoBA,OAAO,KAAK,KAAK,CAArC,GAAyC,KAAK,CAA9C,GAAkDA,OAAO,CAAC8F,MAAhE,MAA4E,IAA5E,IAAoFnJ,EAAE,KAAK,KAAK,CAAhG,GAAoG,KAAK,CAAzG,GAA6GA,EAAE,CAACsiB,GAAjH,MAA0H,CAACP,EAAE,GAAG1e,OAAO,KAAK,IAAZ,IAAoBA,OAAO,KAAK,KAAK,CAArC,GAAyC,KAAK,CAA9C,GAAkDA,OAAO,CAAC8F,MAAhE,MAA4E,IAA5E,IAAoF4Y,EAAE,KAAK,KAAK,CAAhG,GAAoG,KAAK,CAAzG,GAA6GA,EAAE,CAACQ,GAA1O,KAAkP1lB,uEAA3Q;AACA;AACZ;AACA;AACA;AACA;;AACY,UAAIioD,iBAAiB,GAAG,CAAC7hB,EAAE,GAAG5/B,OAAO,KAAK,IAAZ,IAAoBA,OAAO,KAAK,KAAK,CAArC,GAAyC,KAAK,CAA9C,GAAkDA,OAAO,CAAC8F,MAAhE,MAA4E,IAA5E,IAAoF85B,EAAE,KAAK,KAAK,CAAhG,GAAoG,KAAK,CAAzG,GAA6GA,EAAE,CAAClnB,kBAAxI;AACA,UAAIgpC,KAAK,GAAG,CAAC,CAACvM,EAAE,GAAGn1C,OAAO,KAAK,IAAZ,IAAoBA,OAAO,KAAK,KAAK,CAArC,GAAyC,KAAK,CAA9C,GAAkDA,OAAO,CAAC8F,MAAhE,MAA4E,IAA5E,IAAoFqvC,EAAE,KAAK,KAAK,CAAhG,GAAoG,KAAK,CAAzG,GAA6GA,EAAE,CAACwM,MAAjH,IAA2H3hD,OAAO,CAAC8F,MAAR,CAAe67C,MAAf,CAAsB,CAAtB,CAA3H,GAAsJ,IAAlK;AACAxyD,MAAAA,OAAO,CAAC8T,QAAR,GAAmBw+C,iBAAiB,IAAIC,KAArB,IAA8BloD,uEAAjD;AACArK,MAAAA,OAAO,CAACjyB,IAAR,GAAe,CAACm4E,EAAE,GAAGr1C,OAAO,KAAK,IAAZ,IAAoBA,OAAO,KAAK,KAAK,CAArC,GAAyC,KAAK,CAA9C,GAAkDA,OAAO,CAAC8F,MAAhE,MAA4E,IAA5E,IAAoFuvC,EAAE,KAAK,KAAK,CAAhG,GAAoG,KAAK,CAAzG,GAA6GA,EAAE,CAACn4E,IAA/H;AACH;;AACDiyB,IAAAA,OAAO,CAACswB,kBAAR,GAA6BA,kBAA7B;AACAtwB,IAAAA,OAAO,CAACuwB,WAAR,GAAsBA,WAAtB;AACA,WAAOvwB,OAAP;AACH,GA/BD;AAgCA;AACJ;AACA;AACA;AACA;;;AACIsc,EAAAA,aAAa,CAACkS,oBAAd,GAAqC,UAAUxa,aAAV,EAAyBnD,OAAzB,EAAkCvY,SAAlC,EAA6Cg4B,kBAA7C,EAAiEC,WAAjE,EAA8E/uD,WAA9E,EAA2F;AAC5H,QAAI8rC,EAAJ,EAAQE,EAAR,EAAY+hB,EAAZ,EAAgBkhB,EAAhB;;AACA,QAAIzwC,OAAO,GAAG,IAAIsc,aAAJ,EAAd;AACAtc,IAAAA,OAAO,CAACguB,aAAR,GAAyB11B,SAAS,IAC9BA,SAAS,CAAC01B,aAAV,KAA4BoZ,2EADR,GAC8BoqB,mFAD9B,GACmEA,sFAD3F;AAEAxxD,IAAAA,OAAO,CAACgU,aAAR,GAAwBA,aAAxB,CAL4H,CAM5H;;AACAhU,IAAAA,OAAO,CAAC8rD,KAAR,GAAgBzhD,uEAAhB;AACA,QAAItd,GAAG,GAAGvrB,WAAW,IAAI82B,SAAS,IAAIA,SAAS,CAAC0yC,iBAAV,EAAtC;;AACA,QAAI,CAACj+C,GAAL,EAAU;AACN,YAAM0d,yGAAA,EAAN;AACH;;AACD,QAAIoG,OAAJ,EAAa;AACT;AACA7Q,MAAAA,OAAO,CAACkU,cAAR,GAAyB,CAAC,CAAC5G,EAAE,GAAGuD,OAAO,KAAK,IAAZ,IAAoBA,OAAO,KAAK,KAAK,CAArC,GAAyC,KAAK,CAA9C,GAAkDA,OAAO,CAAC8F,MAAhE,MAA4E,IAA5E,IAAoFrJ,EAAE,KAAK,KAAK,CAAhG,GAAoG,KAAK,CAAzG,GAA6GA,EAAE,CAACwiB,GAAjH,MAA0H,CAACtiB,EAAE,GAAGqD,OAAO,KAAK,IAAZ,IAAoBA,OAAO,KAAK,KAAK,CAArC,GAAyC,KAAK,CAA9C,GAAkDA,OAAO,CAAC8F,MAAhE,MAA4E,IAA5E,IAAoFnJ,EAAE,KAAK,KAAK,CAAhG,GAAoG,KAAK,CAAzG,GAA6GA,EAAE,CAACuiB,GAA1O,KAAkP1lB,uEAA3Q,CAFS,CAGT;;AACArK,MAAAA,OAAO,CAAC8T,QAAR,GAAmB,CAAC,CAACyb,EAAE,GAAG1e,OAAO,KAAK,IAAZ,IAAoBA,OAAO,KAAK,KAAK,CAArC,GAAyC,KAAK,CAA9C,GAAkDA,OAAO,CAAC8F,MAAhE,MAA4E,IAA5E,IAAoF4Y,EAAE,KAAK,KAAK,CAAhG,GAAoG,KAAK,CAAzG,GAA6GA,EAAE,CAAC/F,GAAjH,KAAyHnf,uEAA5I;AACArK,MAAAA,OAAO,CAACjyB,IAAR,GAAe,CAAC,CAAC0iE,EAAE,GAAG5/B,OAAO,KAAK,IAAZ,IAAoBA,OAAO,KAAK,KAAK,CAArC,GAAyC,KAAK,CAA9C,GAAkDA,OAAO,CAAC8F,MAAhE,MAA4E,IAA5E,IAAoF85B,EAAE,KAAK,KAAK,CAAhG,GAAoG,KAAK,CAAzG,GAA6GA,EAAE,CAAC1iE,IAAjH,KAA0Hs8B,uEAAzI;AACArK,MAAAA,OAAO,CAACsjB,aAAR,GAAwBzS,OAAO,KAAK,IAAZ,IAAoBA,OAAO,KAAK,KAAK,CAArC,GAAyC,KAAK,CAA9C,GAAkDA,OAAO,CAAC8F,MAAlF;AACH;;AACD3W,IAAAA,OAAO,CAACx+B,WAAR,GAAsBurB,GAAtB;AACAiT,IAAAA,OAAO,CAACswB,kBAAR,GAA6BA,kBAA7B;AACAtwB,IAAAA,OAAO,CAACuwB,WAAR,GAAsBA,WAAtB;AACA;AACR;AACA;AACA;;AACQ,WAAOvwB,OAAP;AACH,GA5BD;AA6BA;AACJ;AACA;AACA;AACA;;;AACIsc,EAAAA,aAAa,CAAC+R,qBAAd,GAAsC,UAAUokC,gBAAV,EAA4BC,QAA5B,EAAsCx1D,MAAtC,EAA8CyvB,SAA9C,EAAyD9b,OAAzD,EAAkE;AACpG,QAAIvD,EAAJ;;AACA,QAAIoB,SAAS,GAAG,CAAC,CAACpB,EAAE,GAAGuD,OAAO,KAAK,IAAZ,IAAoBA,OAAO,KAAK,KAAK,CAArC,GAAyC,KAAK,CAA9C,GAAkDA,OAAO,CAAC8F,MAAhE,MAA4E,IAA5E,IAAoFrJ,EAAE,KAAK,KAAK,CAAhG,GAAoG,KAAK,CAAzG,GAA6GA,EAAE,CAACyiB,GAAjH,IAAwHlf,OAAO,CAAC8F,MAAR,CAAeoZ,GAAvI,GAA6I1lB,uEAA7J,CAFoG,CAGpG;;AACA,QAAIqoD,QAAQ,KAAKtrB,2EAAb,IAAmCsrB,QAAQ,KAAKtrB,2EAApD,EAAwE;AACpE,aAAO14B,SAAP;AACH,KANmG,CAOpG;;;AACA,QAAI+jD,gBAAJ,EAAsB;AAClB,UAAI;AACA,YAAI3kC,UAAU,GAAG8yB,uEAAe,CAAC6R,gBAAD,EAAmB9lC,SAAnB,CAAhC;;AACA,YAAI,CAAChyB,sEAAA,CAAoBmzB,UAAU,CAAC+B,GAA/B,CAAD,IAAwC,CAACl1B,sEAAA,CAAoBmzB,UAAU,CAACszB,IAA/B,CAA7C,EAAmF;AAC/E,iBAAO,KAAKtzB,UAAU,CAAC+B,GAAhB,GAAsB8wB,iFAAtB,GAAyD7yB,UAAU,CAACszB,IAA3E;AACH;AACJ,OALD,CAMA,OAAOl5C,CAAP,EAAU,CAAG;AAChB,KAhBmG,CAiBpG;;;AACAhL,IAAAA,MAAM,CAACe,OAAP,CAAe,4BAAf;AACA,WAAOyQ,SAAP;AACH,GApBD;AAqBA;AACJ;AACA;AACA;;;AACI4N,EAAAA,aAAa,CAACmD,eAAd,GAAgC,UAAU2C,MAAV,EAAkB;AAC9C,QAAI,CAACA,MAAL,EAAa;AACT,aAAO,KAAP;AACH;;AACD,WAAQA,MAAM,CAAC3a,cAAP,CAAsB,eAAtB,KACJ2a,MAAM,CAAC3a,cAAP,CAAsB,aAAtB,CADI,IAEJ2a,MAAM,CAAC3a,cAAP,CAAsB,OAAtB,CAFI,IAGJ2a,MAAM,CAAC3a,cAAP,CAAsB,gBAAtB,CAHI,IAIJ2a,MAAM,CAAC3a,cAAP,CAAsB,UAAtB,CAJI,IAKJ2a,MAAM,CAAC3a,cAAP,CAAsB,eAAtB,CALJ;AAMH,GAVD;AAWA;AACJ;AACA;AACA;AACA;AACA;;;AACI6U,EAAAA,aAAa,CAACqpB,kBAAd,GAAmC,UAAUgtB,QAAV,EAAoBC,QAApB,EAA8BC,aAA9B,EAA6C;AAC5E,QAAI,CAACF,QAAD,IAAa,CAACC,QAAlB,EAA4B;AACxB,aAAO,KAAP;AACH;;AACD,QAAIE,WAAW,GAAG,IAAlB,CAJ4E,CAIpD;;AACxB,QAAID,aAAJ,EAAmB;AACf,UAAIE,cAAc,GAAIJ,QAAQ,CAACrvC,aAAT,IAA0B,EAAhD;AACA,UAAI0vC,cAAc,GAAIJ,QAAQ,CAACtvC,aAAT,IAA0B,EAAhD,CAFe,CAGf;;AACAwvC,MAAAA,WAAW,GAAIC,cAAc,CAACE,GAAf,KAAuBD,cAAc,CAACC,GAAvC,IACTF,cAAc,CAACnsC,KAAf,KAAyBosC,cAAc,CAACpsC,KAD7C;AAEH;;AACD,WAAQ+rC,QAAQ,CAAC3+C,aAAT,KAA2B4+C,QAAQ,CAAC5+C,aAArC,IACF2+C,QAAQ,CAACz+C,cAAT,KAA4B0+C,QAAQ,CAAC1+C,cADnC,IAEFy+C,QAAQ,CAAC7+C,QAAT,KAAsB8+C,QAAQ,CAAC9+C,QAF7B,IAGF6+C,QAAQ,CAACzvC,QAAT,KAAsB0vC,QAAQ,CAAC1vC,QAH7B,IAIFyvC,QAAQ,CAACnxF,WAAT,KAAyBoxF,QAAQ,CAACpxF,WAJhC,IAKFmxF,QAAQ,CAACrgD,eAAT,KAA6BsgD,QAAQ,CAACtgD,eALpC,IAMHwgD,WANJ;AAOH,GAnBD;;AAoBA,SAAOx2C,aAAP;AACH,CAhNkC,EAAnC;;;;;;;;;;;;;;;;;;ACnCA;AACa;;AACb;AAEA;AACA;AACA;AACA;;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,IAAIK,iBAAiB;AAAG;AAAe,YAAY;AAC/C,WAASA,iBAAT,GAA6B,CAC5B;AACD;AACJ;AACA;;;AACIA,EAAAA,iBAAiB,CAACnV,SAAlB,CAA4B2Z,sBAA5B,GAAqD,YAAY;AAC7D,WAAOxE,iBAAiB,CAACu2C,2BAAlB,CAA8C,KAAK1xF,WAAnD,EAAgE,KAAK62B,QAArE,CAAP;AACH,GAFD;AAGA;AACJ;AACA;;;AACIskB,EAAAA,iBAAiB,CAACu2C,2BAAlB,GAAgD,UAAU1xF,WAAV,EAAuB62B,QAAvB,EAAiC;AAC7E,QAAI86D,mBAAmB,GAAG,CACtBrI,6DADsB,EAEtBtpF,WAFsB,EAGtB62B,QAHsB,CAA1B;AAKA,WAAO86D,mBAAmB,CAAC7oF,IAApB,CAAyBq2E,+EAAzB,EAAyD/7C,WAAzD,EAAP;AACH,GAPD;AAQA;AACJ;AACA;AACA;AACA;AACA;;;AACI+X,EAAAA,iBAAiB,CAACy2C,uBAAlB,GAA4C,UAAU/6D,QAAV,EAAoB72B,WAApB,EAAiC4uD,QAAjC,EAA2C;AACnF,QAAIlP,WAAW,GAAG,IAAIvE,iBAAJ,EAAlB;AACAuE,IAAAA,WAAW,CAAC7oB,QAAZ,GAAuBA,QAAvB;AACA6oB,IAAAA,WAAW,CAAC1/C,WAAZ,GAA0BA,WAA1B;;AACA,QAAI4uD,QAAJ,EAAc;AACVlP,MAAAA,WAAW,CAACkP,QAAZ,GAAuBA,QAAvB;AACH;;AACD,WAAOlP,WAAP;AACH,GARD;AASA;AACJ;AACA;AACA;;;AACIvE,EAAAA,iBAAiB,CAACqE,mBAAlB,GAAwC,UAAU3d,GAAV,EAAe+e,MAAf,EAAuB;AAC3D,QAAI,CAACA,MAAL,EAAa;AACT,aAAO,KAAP;AACH;;AACD,WAAQ/e,GAAG,CAAC1tB,OAAJ,CAAYm1E,6DAAZ,MAA8B,CAA9B,IACJ1oC,MAAM,CAAC3a,cAAP,CAAsB,UAAtB,CADI,IAEJ2a,MAAM,CAAC3a,cAAP,CAAsB,aAAtB,CAFJ;AAGH,GAPD;;AAQA,SAAOkV,iBAAP;AACH,CAhDsC,EAAvC;;;;;;;;;;;;;;;;;;;ACtBA;AACa;;AACb;AACA;AAEA;AACA;AACA;AACA;;AACA,IAAIE,uBAAuB;AAAG;AAAe,YAAY;AACrD,WAASA,uBAAT,GAAmC;AAC/B,SAAKw2C,SAAL,GAAiBnsB,qEAAA,KAAyB6jB,kGAA1C;AACH;AACD;AACJ;AACA;AACA;AACA;;;AACIluC,EAAAA,uBAAuB,CAACrV,SAAxB,CAAkCg9C,4BAAlC,GAAiE,UAAUtB,QAAV,EAAoBqQ,WAApB,EAAiC;AAC9F,SAAKjL,OAAL,GAAepF,QAAQ,CAACoF,OAAxB;AACA,SAAKxD,eAAL,GAAuB5B,QAAQ,CAAC4B,eAAhC;AACA,SAAKL,iBAAL,GAAyBvB,QAAQ,CAACuB,iBAAlC;AACA,SAAKsC,kBAAL,GAA0BwM,WAA1B;AACH,GALD;AAMA;AACJ;AACA;AACA;AACA;;;AACI12C,EAAAA,uBAAuB,CAACrV,SAAxB,CAAkCk9C,sBAAlC,GAA2D,UAAUxB,QAAV,EAAoBqQ,WAApB,EAAiC;AACxF,SAAKpQ,sBAAL,GAA8BD,QAAQ,CAACC,sBAAvC;AACA,SAAKG,cAAL,GAAsBJ,QAAQ,CAACI,cAA/B;AACA,SAAKC,oBAAL,GAA4BL,QAAQ,CAACK,oBAArC;AACA,SAAKE,MAAL,GAAcP,QAAQ,CAACO,MAAvB;AACA,SAAK0B,oBAAL,GAA4BoO,WAA5B;AACA,SAAK7P,QAAL,GAAgBR,QAAQ,CAACQ,QAAzB;AACH,GAPD;AAQA;AACJ;AACA;AACA;;;AACI7mC,EAAAA,uBAAuB,CAACrV,SAAxB,CAAkC+8C,wBAAlC,GAA6D,UAAUjsD,SAAV,EAAqB;AAC9E,SAAKsrD,mBAAL,GAA2BtrD,SAA3B;AACH,GAFD;AAGA;AACJ;AACA;;;AACIukB,EAAAA,uBAAuB,CAACrV,SAAxB,CAAkCo9C,cAAlC,GAAmD,YAAY;AAC3D,SAAKyO,SAAL,GAAiBnsB,qEAAA,KAAyB6jB,kGAA1C;AACH,GAFD;AAGA;AACJ;AACA;;;AACIluC,EAAAA,uBAAuB,CAACrV,SAAxB,CAAkC49C,SAAlC,GAA8C,YAAY;AACtD,WAAO,KAAKiO,SAAL,IAAkBnsB,qEAAA,EAAzB;AACH,GAFD;AAGA;AACJ;AACA;AACA;;;AACIrqB,EAAAA,uBAAuB,CAAC6E,yBAAxB,GAAoD,UAAUre,GAAV,EAAe+e,MAAf,EAAuB;AACvE,QAAI,CAACA,MAAL,EAAa;AACT,aAAO,KAAP;AACH;;AACD,WAAQ/e,GAAG,CAAC1tB,OAAJ,CAAYo1E,uFAAZ,MAAwD,CAAxD,IACJ3oC,MAAM,CAAC3a,cAAP,CAAsB,SAAtB,CADI,IAEJ2a,MAAM,CAAC3a,cAAP,CAAsB,iBAAtB,CAFI,IAGJ2a,MAAM,CAAC3a,cAAP,CAAsB,mBAAtB,CAHI,IAIJ2a,MAAM,CAAC3a,cAAP,CAAsB,qBAAtB,CAJI,IAKJ2a,MAAM,CAAC3a,cAAP,CAAsB,wBAAtB,CALI,IAMJ2a,MAAM,CAAC3a,cAAP,CAAsB,gBAAtB,CANI,IAOJ2a,MAAM,CAAC3a,cAAP,CAAsB,QAAtB,CAPI,IAQJ2a,MAAM,CAAC3a,cAAP,CAAsB,oBAAtB,CARI,IASJ2a,MAAM,CAAC3a,cAAP,CAAsB,sBAAtB,CATI,IAUJ2a,MAAM,CAAC3a,cAAP,CAAsB,WAAtB,CAVI,IAWJ2a,MAAM,CAAC3a,cAAP,CAAsB,UAAtB,CAXJ;AAYH,GAhBD;;AAiBA,SAAOoV,uBAAP;AACH,CArE4C,EAA7C;;;;;;;;;;;;;;;;;ACTA;AACa;AACb;AACA;AACA;AACA;;AACA,IAAI0P,WAAW;AAAG;AAAe,YAAY;AACzC,WAASA,WAAT,CAAqB+B,aAArB,EAAoCG,aAApC,EAAmDQ,iBAAnD,EAAsEG,kBAAtE,EAA0FokC,iBAA1F,EAA6G;AACzG,SAAKxzD,OAAL,GAAesuB,aAAa,IAAI,IAAhC;AACA,SAAKzd,OAAL,GAAe4d,aAAa,IAAI,IAAhC;AACA,SAAKtsB,WAAL,GAAmB8sB,iBAAiB,IAAI,IAAxC;AACA,SAAKrO,YAAL,GAAoBwO,kBAAkB,IAAI,IAA1C;AACA,SAAKlO,WAAL,GAAmBsyC,iBAAiB,IAAI,IAAxC;AACH;;AACD,SAAOjnC,WAAP;AACH,CATgC,EAAjC;;;;;;;;;;;;;;;;;;;ACNA;AACa;;AACb;AACA;AAEA;AACA;AACA;AACA;;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,IAAIy+B,gBAAgB;AAAG;AAAe,YAAY;AAC9C,WAASA,gBAAT,GAA4B,CAC3B;AACD;AACJ;AACA;;;AACIA,EAAAA,gBAAgB,CAACxjD,SAAjB,CAA2B6mD,iBAA3B,GAA+C,YAAY;AACvD,WAAOrD,gBAAgB,CAACyI,4BAAjB,CAA8C,KAAKz/C,aAAnD,EAAkE,KAAKxyC,WAAvE,CAAP;AACH,GAFD;AAGA;AACJ;AACA;;;AACIwpF,EAAAA,gBAAgB,CAACxjD,SAAjB,CAA2BksD,oBAA3B,GAAkD,YAAY;AAC1D,WAAO1I,gBAAgB,CAAC2I,+BAAjB,CAAiD,KAAK9pC,cAAtD,EAAsE,KAAKxxB,QAA3E,EAAqF,KAAKyzD,KAA1F,EAAiG,KAAK17B,QAAtG,CAAP;AACH,GAFD;AAGA;AACJ;AACA;;;AACI46B,EAAAA,gBAAgB,CAACxjD,SAAjB,CAA2BosD,cAA3B,GAA4C,YAAY;AACpD,WAAO5I,gBAAgB,CAAC6I,yBAAjB,CAA2C,KAAK1oC,MAAhD,CAAP;AACH,GAFD;AAGA;AACJ;AACA;;;AACI6/B,EAAAA,gBAAgB,CAACxjD,SAAjB,CAA2ByY,qBAA3B,GAAmD,YAAY;AAC3D,WAAO+qC,gBAAgB,CAAC8I,0BAAjB,CAA4C,KAAK9/C,aAAjD,EAAgE,KAAKxyC,WAArE,EAAkF,KAAKqoD,cAAvF,EAAuG,KAAKxxB,QAA5G,EAAsH,KAAKyzD,KAA3H,EAAkI,KAAK3gC,MAAvI,EAA+I,KAAKiF,QAApJ,EAA8J,KAAKC,SAAnK,EAA8K,KAAK+V,mBAAnL,CAAP;AACH,GAFD;AAGA;AACJ;AACA;;;AACI4kB,EAAAA,gBAAgB,CAACxjD,SAAjB,CAA2BmqD,YAA3B,GAA0C,YAAY;AAClD,YAAQ,KAAK9nC,cAAb;AACI,WAAK8gC,wEAAL;AACI,eAAO8G,mEAAP;;AACJ,WAAK9G,4EAAL;AACA,WAAKA,6FAAL;AACI,eAAO8G,uEAAP;;AACJ,WAAK9G,6EAAL;AACI,eAAO8G,wEAAP;;AACJ;AAAS;AACL,gBAAMhnD,0GAAA,EAAN;AACH;AAVL;AAYH,GAbD;AAcA;AACJ;AACA;AACA;;;AACIugD,EAAAA,gBAAgB,CAACiC,iBAAjB,GAAqC,UAAU5pD,GAAV,EAAe;AAChD,QAAI2wD,SAAS,GAAGrT,+EAAhB,CADgD,CAEhD;;AACA,QAAIsT,QAAQ,GAAG,6EAAf;;AACA,SAAK,IAAIC,EAAE,GAAG,CAAT,EAAY5mD,EAAE,GAAG5N,MAAM,CAACkD,IAAP,CAAY+nD,+DAAZ,CAAtB,EAAmDuJ,EAAE,GAAG5mD,EAAE,CAACpjC,MAA3D,EAAmEgqF,EAAE,EAArE,EAAyE;AACrE,UAAIC,OAAO,GAAG7mD,EAAE,CAAC4mD,EAAD,CAAhB;AACA,UAAIE,OAAO,GAAGzJ,+DAAc,CAACwJ,OAAD,CAAd,CAAwBvvD,WAAxB,EAAd,CAFqE,CAGrE;;AACA,UAAIvB,GAAG,CAACuB,WAAJ,GAAkB45C,MAAlB,CAAyB,KAAKwV,SAAL,GAAiBC,QAAjB,GAA4BD,SAA5B,GAAwCI,OAAxC,GAAkDJ,SAA3E,MAA0F,CAAC,CAA/F,EAAkG;AAC9F,eAAOrJ,+DAAc,CAACwJ,OAAD,CAArB;AACH;AACJ;;AACD,WAAO9pD,sEAAP;AACH,GAbD;AAcA;AACJ;AACA;AACA;;;AACI2gD,EAAAA,gBAAgB,CAAC8I,0BAAjB,GAA8C,UAAU9/C,aAAV,EAAyBxyC,WAAzB,EAAsCqoD,cAAtC,EAAsDxxB,QAAtD,EAAgEyzD,KAAhE,EAAuE3gC,MAAvE,EAA+EiF,QAA/E,EAAyFC,SAAzF,EAAoG+V,mBAApG,EAAyH;AACnK,QAAIiuB,aAAa,GAAG,CAChB,KAAKZ,4BAAL,CAAkCz/C,aAAlC,EAAiDxyC,WAAjD,CADgB,EAEhB,KAAKmyF,+BAAL,CAAqC9pC,cAArC,EAAqDxxB,QAArD,EAA+DyzD,KAA/D,EAAsE17B,QAAtE,CAFgB,EAGhB,KAAKyjC,yBAAL,CAA+B1oC,MAA/B,CAHgB,EAIhB,KAAKmpC,6BAAL,CAAmCluB,mBAAnC,CAJgB,EAKhB,KAAKmuB,yBAAL,CAA+BlkC,SAA/B,CALgB,CAApB;AAOA,WAAOgkC,aAAa,CAAC/pF,IAAd,CAAmBq2E,+EAAnB,EAAmD/7C,WAAnD,EAAP;AACH,GATD;AAUA;AACJ;AACA;AACA;AACA;;;AACIomD,EAAAA,gBAAgB,CAACyI,4BAAjB,GAAgD,UAAUz/C,aAAV,EAAyBxyC,WAAzB,EAAsC;AAClF,QAAIktC,SAAS,GAAG,CAACsF,aAAD,EAAgBxyC,WAAhB,CAAhB;AACA,WAAOktC,SAAS,CAACpkC,IAAV,CAAeq2E,+EAAf,EAA+C/7C,WAA/C,EAAP;AACH,GAHD;AAIA;AACJ;AACA;AACA;AACA;AACA;AACA;;;AACIomD,EAAAA,gBAAgB,CAAC2I,+BAAjB,GAAmD,UAAU9pC,cAAV,EAA0BxxB,QAA1B,EAAoCyzD,KAApC,EAA2C17B,QAA3C,EAAqD;AACpG,QAAIokC,gBAAgB,GAAG3qC,cAAc,KAAK8gC,6EAAnB,GACjBv6B,QAAQ,IAAI/3B,QADK,GAEjBA,QAFN;AAGA,QAAIo8D,YAAY,GAAG,CACf5qC,cADe,EAEf2qC,gBAFe,EAGf1I,KAAK,IAAIzhD,uEAHM,CAAnB;AAKA,WAAOoqD,YAAY,CAACnqF,IAAb,CAAkBq2E,+EAAlB,EAAkD/7C,WAAlD,EAAP;AACH,GAVD;AAWA;AACJ;AACA;;;AACIomD,EAAAA,gBAAgB,CAAC6I,yBAAjB,GAA6C,UAAU16D,MAAV,EAAkB;AAC3D,WAAO,CAACA,MAAM,IAAIkR,uEAAX,EAAmCzF,WAAnC,EAAP;AACH,GAFD;AAGA;AACJ;AACA;;;AACIomD,EAAAA,gBAAgB,CAACsJ,6BAAjB,GAAiD,UAAUluB,mBAAV,EAA+B;AAC5E,WAAO,CAACA,mBAAmB,IAAI/7B,uEAAxB,EAAgDzF,WAAhD,EAAP;AACH,GAFD;AAGA;AACJ;AACA;;;AACIomD,EAAAA,gBAAgB,CAACuJ,yBAAjB,GAA6C,UAAUlkC,SAAV,EAAqB;AAC9D;AACR;AACA;AACA;AACQ,WAAQA,SAAS,IAAIA,SAAS,CAACzrB,WAAV,OAA4BuT,wFAAA,EAA1C,GAAuFkY,SAAS,CAACzrB,WAAV,EAAvF,GAAiHyF,uEAAxH;AACH,GAND;;AAOA,SAAO2gD,gBAAP;AACH,CA9HqC,EAAtC;;;;;;;;;;;;;;;;;;;;AC/BA;AACa;;AACb;AACA;AACA;AAEA;AACA;AACA;AACA;;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,IAAIxuC,aAAa;AAAG;AAAe,UAAUnW,MAAV,EAAkB;AACjDqB,EAAAA,4DAAS,CAAC8U,aAAD,EAAgBnW,MAAhB,CAAT;;AACA,WAASmW,aAAT,GAAyB;AACrB,WAAOnW,MAAM,KAAK,IAAX,IAAmBA,MAAM,CAAC2B,KAAP,CAAa,IAAb,EAAmBD,SAAnB,CAAnB,IAAoD,IAA3D;AACH;AACD;AACJ;AACA;AACA;AACA;AACA;AACA;;;AACIyU,EAAAA,aAAa,CAACkS,mBAAd,GAAoC,UAAU1a,aAAV,EAAyBxyC,WAAzB,EAAsCqvC,OAAtC,EAA+CxY,QAA/C,EAAyD6qB,QAAzD,EAAmE;AACnG,QAAIuL,aAAa,GAAG,IAAIjS,aAAJ,EAApB;AACAiS,IAAAA,aAAa,CAAC5E,cAAd,GAA+B8gC,wEAA/B;AACAl8B,IAAAA,aAAa,CAACza,aAAd,GAA8BA,aAA9B;AACAya,IAAAA,aAAa,CAACjtD,WAAd,GAA4BA,WAA5B;AACAitD,IAAAA,aAAa,CAACp2B,QAAd,GAAyBA,QAAzB;AACAo2B,IAAAA,aAAa,CAACiB,MAAd,GAAuB7e,OAAvB;AACA4d,IAAAA,aAAa,CAACq9B,KAAd,GAAsB5oC,QAAtB;AACA,WAAOuL,aAAP;AACH,GATD;AAUA;AACJ;AACA;AACA;;;AACIjS,EAAAA,aAAa,CAACuD,eAAd,GAAgC,UAAUqC,MAAV,EAAkB;AAC9C,QAAI,CAACA,MAAL,EAAa;AACT,aAAO,KAAP;AACH;;AACD,WAAQA,MAAM,CAAC3a,cAAP,CAAsB,eAAtB,KACJ2a,MAAM,CAAC3a,cAAP,CAAsB,aAAtB,CADI,IAEJ2a,MAAM,CAAC3a,cAAP,CAAsB,gBAAtB,CAFI,IAGJ2a,MAAM,CAAC3a,cAAP,CAAsB,OAAtB,CAHI,IAIJ2a,MAAM,CAAC3a,cAAP,CAAsB,UAAtB,CAJI,IAKJ2a,MAAM,CAAC3a,cAAP,CAAsB,QAAtB,CALI,IAMJ2a,MAAM,CAAC,gBAAD,CAAN,KAA6BuoC,wEANjC;AAOH,GAXD;;AAYA,SAAOnuC,aAAP;AACH,CAvCkC,CAuCjCwuC,kEAvCiC,CAAnC;;;;;;;;;;;;;;;;;;;;AC3BA;AACa;;AACb;AACA;AACA;AAEA;AACA;AACA;AACA;;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,IAAItuC,kBAAkB;AAAG;AAAe,UAAUrW,MAAV,EAAkB;AACtDqB,EAAAA,4DAAS,CAACgV,kBAAD,EAAqBrW,MAArB,CAAT;;AACA,WAASqW,kBAAT,GAA8B;AAC1B,WAAOrW,MAAM,KAAK,IAAX,IAAmBA,MAAM,CAAC2B,KAAP,CAAa,IAAb,EAAmBD,SAAnB,CAAnB,IAAoD,IAA3D;AACH;AACD;AACJ;AACA;AACA;AACA;AACA;AACA;;;AACI2U,EAAAA,kBAAkB,CAAC2S,wBAAnB,GAA8C,UAAUrb,aAAV,EAAyBxyC,WAAzB,EAAsCo/C,YAAtC,EAAoDvoB,QAApD,EAA8D+3B,QAA9D,EAAwEw8B,iBAAxE,EAA2F;AACrI,QAAI8H,QAAQ,GAAG,IAAIh4C,kBAAJ,EAAf;AACAg4C,IAAAA,QAAQ,CAACr8D,QAAT,GAAoBA,QAApB;AACAq8D,IAAAA,QAAQ,CAAC7qC,cAAT,GAA0B8gC,6EAA1B;AACA+J,IAAAA,QAAQ,CAAClzF,WAAT,GAAuBA,WAAvB;AACAkzF,IAAAA,QAAQ,CAAC1gD,aAAT,GAAyBA,aAAzB;AACA0gD,IAAAA,QAAQ,CAAChlC,MAAT,GAAkB9O,YAAlB;AACA8zC,IAAAA,QAAQ,CAAC9H,iBAAT,GAA6BA,iBAA7B;AACA,QAAIx8B,QAAJ,EACIskC,QAAQ,CAACtkC,QAAT,GAAoBA,QAApB;AACJ,WAAOskC,QAAP;AACH,GAXD;AAYA;AACJ;AACA;AACA;;;AACIh4C,EAAAA,kBAAkB,CAACgE,oBAAnB,GAA0C,UAAU0B,MAAV,EAAkB;AACxD,QAAI,CAACA,MAAL,EAAa;AACT,aAAO,KAAP;AACH;;AACD,WAAQA,MAAM,CAAC3a,cAAP,CAAsB,eAAtB,KACJ2a,MAAM,CAAC3a,cAAP,CAAsB,aAAtB,CADI,IAEJ2a,MAAM,CAAC3a,cAAP,CAAsB,gBAAtB,CAFI,IAGJ2a,MAAM,CAAC3a,cAAP,CAAsB,UAAtB,CAHI,IAIJ2a,MAAM,CAAC3a,cAAP,CAAsB,QAAtB,CAJI,IAKJ2a,MAAM,CAAC,gBAAD,CAAN,KAA6BuoC,6EALjC;AAMH,GAVD;;AAWA,SAAOjuC,kBAAP;AACH,CAxCuC,CAwCtCsuC,kEAxCsC,CAAxC;;;;;;;;;;;;;;;;;;AC7BA;AACa;;AACb;AAEA;AACA;AACA;AACA;;AACA,IAAIpuC,qBAAqB;AAAG;AAAe,YAAY;AACnD,WAASA,qBAAT,GAAiC;AAC7B,SAAKg4C,cAAL,GAAsB,EAAtB;AACA,SAAKC,MAAL,GAAc,EAAd;AACA,SAAKC,SAAL,GAAiB,CAAjB;AACH;AACD;AACJ;AACA;AACA;AACA;;;AACIl4C,EAAAA,qBAAqB,CAAC0E,uBAAtB,GAAgD,UAAUje,GAAV,EAAe+e,MAAf,EAAuB;AACnE,QAAI2yC,WAAW,GAAG1xD,GAAG,CAAC1tB,OAAJ,CAAYg/E,iFAAZ,MAAkD,CAApE;AACA,QAAIK,cAAc,GAAG,IAArB;;AACA,QAAI5yC,MAAJ,EAAY;AACR4yC,MAAAA,cAAc,GACV5yC,MAAM,CAAC3a,cAAP,CAAsB,gBAAtB,KACI2a,MAAM,CAAC3a,cAAP,CAAsB,QAAtB,CADJ,IAEI2a,MAAM,CAAC3a,cAAP,CAAsB,WAAtB,CAHR;AAIH;;AACD,WAAOstD,WAAW,IAAIC,cAAtB;AACH,GAVD;;AAWA,SAAOp4C,qBAAP;AACH,CAvB0C,EAA3C;;;;;;;;;;;;;;;;;;ACRA;AACa;;AACb;AAEA;AACA;AACA;AACA;;AACA,IAAIG,gBAAgB;AAAG;AAAe,YAAY;AAC9C,WAASA,gBAAT,GAA4B,CAC3B;AACD;AACJ;AACA;AACA;AACA;;;AACIA,EAAAA,gBAAgB,CAAC4G,kBAAjB,GAAsC,UAAUtgB,GAAV,EAAe+e,MAAf,EAAuB;AACzD,QAAI2yC,WAAW,GAAG,KAAlB;;AACA,QAAI1xD,GAAJ,EAAS;AACL0xD,MAAAA,WAAW,GAAG1xD,GAAG,CAAC1tB,OAAJ,CAAYs/E,sFAAZ,MAAuD,CAArE;AACH;;AACD,QAAID,cAAc,GAAG,IAArB;;AACA,QAAI5yC,MAAJ,EAAY;AACR4yC,MAAAA,cAAc,GAAG5yC,MAAM,CAAC3a,cAAP,CAAsB,cAAtB,CAAjB;AACH;;AACD,WAAOstD,WAAW,IAAIC,cAAtB;AACH,GAVD;;AAWA,SAAOj4C,gBAAP;AACH,CApBqC,EAAtC;;;;;;;;;;;;;;;;;ACRA;AACa;AACb;AACA;AACA;AACA;;AACA;AACA;AACA;AACA;;AAAI,IAAIo4C,iBAAiB;AAAG;AAAe,YAAY;AACnD,WAASA,iBAAT,CAA2B9nD,UAA3B,EAAuC+nD,UAAvC,EAAmD;AAC/C,SAAK58D,KAAL,GAAa6U,UAAb;AACA,SAAK+nD,UAAL,GAAkBA,UAAlB;AACH;;AACD11D,EAAAA,MAAM,CAAC2iD,cAAP,CAAsB8S,iBAAiB,CAAC3tD,SAAxC,EAAmD,iBAAnD,EAAsE;AAClE;AACR;AACA;AACQxpC,IAAAA,GAAG,EAAE,YAAY;AACb,aAAO,KAAKo3F,UAAZ;AACH,KANiE;AAOlEvS,IAAAA,UAAU,EAAE,KAPsD;AAQlEC,IAAAA,YAAY,EAAE;AARoD,GAAtE;AAUApjD,EAAAA,MAAM,CAAC2iD,cAAP,CAAsB8S,iBAAiB,CAAC3tD,SAAxC,EAAmD,YAAnD,EAAiE;AAC7D;AACR;AACA;AACQxpC,IAAAA,GAAG,EAAE,YAAY;AACb,aAAO,KAAKw6B,KAAZ;AACH,KAN4D;AAO7DqqD,IAAAA,UAAU,EAAE,KAPiD;AAQ7DC,IAAAA,YAAY,EAAE;AAR+C,GAAjE;AAUA,SAAOqS,iBAAP;AACH,CA1B0C,EAAvC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACTJ;AACa;;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;;AACA;AACA;AACA;;AACA,IAAIpuB,uBAAuB;AAAG;AAAe,UAAU1gC,MAAV,EAAkB;AAC3DqB,EAAAA,4DAAS,CAACq/B,uBAAD,EAA0B1gC,MAA1B,CAAT;;AACA,WAAS0gC,uBAAT,CAAiC76C,aAAjC,EAAgDwgB,iBAAhD,EAAmE;AAC/D,QAAI0B,KAAK,GAAG/H,MAAM,CAACK,IAAP,CAAY,IAAZ,EAAkBxa,aAAlB,EAAiCwgB,iBAAjC,KAAuD,IAAnE,CAD+D,CAE/D;;;AACA0B,IAAAA,KAAK,CAAC64B,kBAAN,GAA2B,IAA3B;AACA,WAAO74B,KAAP;AACH;AACD;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACI24B,EAAAA,uBAAuB,CAACv/B,SAAxB,CAAkCknC,cAAlC,GAAmD,UAAUtyC,OAAV,EAAmB;AAClE,WAAOjB,4DAAS,CAAC,IAAD,EAAO,KAAK,CAAZ,EAAe,KAAK,CAApB,EAAuB,YAAY;AAC/C,UAAIytD,WAAJ;AACA,aAAO7/C,8DAAW,CAAC,IAAD,EAAO,UAAUuE,EAAV,EAAc;AACnC,gBAAQA,EAAE,CAACrE,KAAX;AACI,eAAK,CAAL;AAAQ,mBAAO,CAAC;AAAE;AAAH,cAAc,KAAK2sD,4BAAL,CAAkCx5D,OAAlC,CAAd,CAAP;;AACR,eAAK,CAAL;AACIwsD,YAAAA,WAAW,GAAGt7C,EAAE,CAACpE,IAAH,EAAd;AACA,mBAAO,CAAC;AAAE;AAAH,cAAezO,0EAAA,CAA4B,KAAKnC,SAAL,CAAew9D,qBAA3C,EAAkElN,WAAlE,CAAf,CAAP;AAJR;AAMH,OAPiB,CAAlB;AAQH,KAVe,CAAhB;AAWH,GAZD;AAaA;AACJ;AACA;AACA;AACA;;;AACI7hB,EAAAA,uBAAuB,CAACv/B,SAAxB,CAAkCqI,YAAlC,GAAiD,UAAUzT,OAAV,EAAmB25D,eAAnB,EAAoC;AACjF,QAAIzoD,EAAJ,EAAQE,EAAR,EAAY+hB,EAAZ;;AACA,WAAOp0B,4DAAS,CAAC,IAAD,EAAO,KAAK,CAAZ,EAAe,KAAK,CAApB,EAAuB,YAAY;AAC/C,UAAIib,cAAJ,EAAoBsxB,YAApB,EAAkC5nC,QAAlC,EAA4CwQ,SAA5C,EAAuD0lD,gBAAvD,EAAyEC,eAAzE;;AACA,UAAI7nD,KAAK,GAAG,IAAZ;;AACA,aAAOrF,8DAAW,CAAC,IAAD,EAAO,UAAU0nC,EAAV,EAAc;AACnC,gBAAQA,EAAE,CAACxnC,KAAX;AACI,eAAK,CAAL;AACImN,YAAAA,cAAc,GAAG,CAAC9I,EAAE,GAAG,KAAKZ,iBAAX,MAAkC,IAAlC,IAA0CY,EAAE,KAAK,KAAK,CAAtD,GAA0D,KAAK,CAA/D,GAAmEA,EAAE,CAAC0C,gBAAH,CAAoB,4BAApB,EAAkD5T,OAAO,CAAC8R,aAA1D,CAApF;AACA,iBAAKhR,MAAL,CAAY3Z,IAAZ,CAAiB,0CAAjB;;AACA,gBAAI,CAAC6Y,OAAD,IAAYzB,sEAAA,CAAoByB,OAAO,CAACvoB,IAA5B,CAAhB,EAAmD;AAC/C,oBAAM42B,0GAAA,EAAN;AACH;;AACDi9B,YAAAA,YAAY,GAAGR,qEAAA,EAAf;AACA,mBAAO,CAAC;AAAE;AAAH,cAAc,KAAKivB,mBAAL,CAAyB,KAAK79D,SAA9B,EAAyC8D,OAAzC,CAAd,CAAP;;AACJ,eAAK,CAAL;AACI0D,YAAAA,QAAQ,GAAG2wC,EAAE,CAACvnC,IAAH,EAAX;AACAoH,YAAAA,SAAS,GAAG,CAAC9C,EAAE,GAAG1N,QAAQ,CAACsC,OAAf,MAA4B,IAA5B,IAAoCoL,EAAE,KAAK,KAAK,CAAhD,GAAoD,KAAK,CAAzD,GAA6DA,EAAE,CAACioD,4EAAD,CAA3E;AACAO,YAAAA,gBAAgB,GAAG,CAACzmC,EAAE,GAAGzvB,QAAQ,CAACsC,OAAf,MAA4B,IAA5B,IAAoCmtB,EAAE,KAAK,KAAK,CAAhD,GAAoD,KAAK,CAAzD,GAA6DA,EAAE,CAACkmC,8EAAD,CAAlF;;AACA,gBAAIO,gBAAJ,EAAsB;AAClB5/C,cAAAA,cAAc,KAAK,IAAnB,IAA2BA,cAAc,KAAK,KAAK,CAAnD,GAAuD,KAAK,CAA5D,GAAgEA,cAAc,CAAC1F,eAAf,CAA+B;AAC3FslD,gBAAAA,gBAAgB,EAAEA;AADyE,eAA/B,CAAhE;AAGH;;AACDC,YAAAA,eAAe,GAAG,IAAIP,yEAAJ,CAAoB,KAAKz4F,MAAL,CAAYy4E,WAAZ,CAAwBr9C,QAA5C,EAAsD,KAAKwpD,YAA3D,EAAyE,KAAKoP,WAA9E,EAA2F,KAAK/zD,MAAhG,EAAwG,KAAKjgC,MAAL,CAAYq5F,iBAApH,EAAuI,KAAKr5F,MAAL,CAAYs5F,iBAAnJ,CAAlB,CATJ,CAUI;;AACAN,YAAAA,eAAe,CAACO,qBAAhB,CAAsC12D,QAAQ,CAAClrB,IAA/C;AACA,mBAAO,CAAC;AAAE;AAAH,cAAeqhF,eAAe,CAACQ,yBAAhB,CAA0C32D,QAAQ,CAAClrB,IAAnD,EAAyD,KAAK0jB,SAA9D,EAAyEovC,YAAzE,EAAuFtrC,OAAvF,EAAgG25D,eAAhG,EAAiHnmD,SAAjH,EAA4HA,SAA5H,EAAuIA,SAAvI,EAAkJU,SAAlJ,EAA6JvrC,IAA7J,CAAkK,UAAUmK,MAAV,EAAkB;AAClMknC,cAAAA,cAAc,KAAK,IAAnB,IAA2BA,cAAc,KAAK,KAAK,CAAnD,GAAuD,KAAK,CAA5D,GAAgEA,cAAc,CAACjG,cAAf,CAA8B;AAC1FC,gBAAAA,OAAO,EAAE;AADiF,eAA9B,CAAhE;AAGA,qBAAOlhC,MAAP;AACH,aALiB,EAMbuqB,KANa,CAMP,UAAU7lB,KAAV,EAAiB;AACxBw6B,cAAAA,KAAK,CAAClR,MAAN,CAAae,OAAb,CAAqB,gCAArB,EAAuD7B,OAAO,CAAC8R,aAA/D;;AACAkI,cAAAA,cAAc,KAAK,IAAnB,IAA2BA,cAAc,KAAK,KAAK,CAAnD,GAAuD,KAAK,CAA5D,GAAgEA,cAAc,CAACjG,cAAf,CAA8B;AAC1FW,gBAAAA,SAAS,EAAEl9B,KAAK,CAACk9B,SADyE;AAE1FC,gBAAAA,YAAY,EAAEn9B,KAAK,CAACo9B,QAFsE;AAG1FZ,gBAAAA,OAAO,EAAE;AAHiF,eAA9B,CAAhE;AAKA,oBAAMx8B,KAAN;AACH,aAdiB,CAAf,CAAP;AArBR;AAqCH,OAtCiB,CAAlB;AAuCH,KA1Ce,CAAhB;AA2CH,GA7CD;AA8CA;AACJ;AACA;AACA;AACA;;;AACImzD,EAAAA,uBAAuB,CAACv/B,SAAxB,CAAkC8vC,sBAAlC,GAA2D,UAAUof,YAAV,EAAwBlwC,WAAxB,EAAqC;AAC5F;AACA,QAAIyvC,eAAe,GAAG,IAAIP,yEAAJ,CAAoB,KAAKz4F,MAAL,CAAYy4E,WAAZ,CAAwBr9C,QAA5C,EAAsD,KAAKwpD,YAA3D,EAAyE,KAAKoP,WAA9E,EAA2F,KAAK/zD,MAAhG,EAAwG,IAAxG,EAA8G,IAA9G,CAAtB,CAF4F,CAG5F;;AACA,QAAIsgD,aAAa,GAAG,IAAI/iD,wDAAJ,CAAci8D,YAAd,CAApB,CAJ4F,CAK5F;;AACA,QAAIxoB,YAAY,GAAGzzC,4EAAA,CAA8B+iD,aAAa,CAACC,OAAd,EAA9B,CAAnB,CAN4F,CAO5F;;AACAwY,IAAAA,eAAe,CAACU,uCAAhB,CAAwDzoB,YAAxD,EAAsE1nB,WAAtE,EAAmF,KAAKyqC,WAAxF,EAR4F,CAS5F;;AACA,QAAI,CAAC/iB,YAAY,CAACr6D,IAAlB,EAAwB;AACpB,YAAM42B,4GAAA,EAAN;AACH;;AACD,WAAO7C,2DAAQ,CAACA,2DAAQ,CAAC,EAAD,EAAKsmC,YAAL,CAAT,EAA6B;AACxC;AACAr6D,MAAAA,IAAI,EAAEq6D,YAAY,CAACr6D;AAFqB,KAA7B,CAAf;AAGH,GAhBD;AAiBA;AACJ;AACA;AACA;AACA;;;AACIkzD,EAAAA,uBAAuB,CAACv/B,SAAxB,CAAkCgoC,YAAlC,GAAiD,UAAU3yC,aAAV,EAAyB;AACtE;AACA,QAAI,CAACA,aAAL,EAAoB;AAChB,YAAMsoC,sHAAA,EAAN;AACH;;AACD,QAAIyjB,WAAW,GAAG,KAAKkO,0BAAL,CAAgCj6D,aAAhC,CAAlB,CALsE,CAMtE;;AACA,WAAOpC,0EAAA,CAA4B,KAAKnC,SAAL,CAAey+D,kBAA3C,EAA+DnO,WAA/D,CAAP;AACH,GARD;AASA;AACJ;AACA;AACA;AACA;;;AACI7hB,EAAAA,uBAAuB,CAACv/B,SAAxB,CAAkC2uD,mBAAlC,GAAwD,UAAU79D,SAAV,EAAqB8D,OAArB,EAA8B;AAClF,WAAOjB,4DAAS,CAAC,IAAD,EAAO,KAAK,CAAZ,EAAe,KAAK,CAApB,EAAuB,YAAY;AAC/C,UAAIkb,UAAJ,EAAgB2gD,WAAhB,EAA6BC,eAA7B,EAA8ClwC,aAA9C,EAA6D+G,UAA7D,EAAyE1rB,OAAzE,EAAkFtV,QAAlF;AACA,aAAOic,8DAAW,CAAC,IAAD,EAAO,UAAUuE,EAAV,EAAc;AACnC,gBAAQA,EAAE,CAACrE,KAAX;AACI,eAAK,CAAL;AACIoN,YAAAA,UAAU,GAAG;AACThe,cAAAA,QAAQ,EAAE,KAAKp7B,MAAL,CAAYy4E,WAAZ,CAAwBr9C,QADzB;AAETC,cAAAA,SAAS,EAAEA,SAAS,CAAC23B,kBAFZ;AAGT92B,cAAAA,MAAM,EAAEiD,OAAO,CAACjD,MAHP;AAITwd,cAAAA,MAAM,EAAEva,OAAO,CAACua,MAJP;AAKThC,cAAAA,oBAAoB,EAAEvY,OAAO,CAACuY,oBALrB;AAMTiC,cAAAA,qBAAqB,EAAExa,OAAO,CAACwa,qBANtB;AAOTC,cAAAA,kBAAkB,EAAEza,OAAO,CAACya,kBAPnB;AAQTC,cAAAA,SAAS,EAAE1a,OAAO,CAAC0a,SARV;AASTC,cAAAA,MAAM,EAAE3a,OAAO,CAAC2a;AATP,aAAb;AAWA,mBAAO,CAAC;AAAE;AAAH,cAAc,KAAKmgD,sBAAL,CAA4B96D,OAA5B,CAAd,CAAP;;AACJ,eAAK,CAAL;AACI46D,YAAAA,WAAW,GAAG1pD,EAAE,CAACpE,IAAH,EAAd;AACA+tD,YAAAA,eAAe,GAAG,KAAKE,0BAAL,CAAgC/6D,OAAhC,CAAlB;AACA2qB,YAAAA,aAAa,GAAGnX,SAAhB;;AACA,gBAAIxT,OAAO,CAAC0xB,UAAZ,EAAwB;AACpB,kBAAI;AACAA,gBAAAA,UAAU,GAAG8yB,uEAAe,CAACxkD,OAAO,CAAC0xB,UAAT,EAAqB,KAAKmjC,WAA1B,CAA5B;AACAlqC,gBAAAA,aAAa,GAAG;AACZC,kBAAAA,UAAU,EAAE,KAAK8G,UAAU,CAAC+B,GAAhB,GAAsB8wB,iFAAtB,GAAyD7yB,UAAU,CAACszB,IADpE;AAEZ5sE,kBAAAA,IAAI,EAAEyoC,wFAAiCgK;AAF3B,iBAAhB;AAIH,eAND,CAOA,OAAO/e,CAAP,EAAU;AACN,qBAAKhL,MAAL,CAAYe,OAAZ,CAAoB,iDAAiDiK,CAArE;AACH;AACJ;;AACD9F,YAAAA,OAAO,GAAG,KAAKg1D,yBAAL,CAA+BrwC,aAAa,IAAI3qB,OAAO,CAAC2qB,aAAxD,CAAV;AACAj6B,YAAAA,QAAQ,GAAG6N,sEAAA,CAAoBs8D,eAApB,IAAuC3+D,SAAS,CAAC++D,aAAjD,GAAiE/+D,SAAS,CAAC++D,aAAV,GAA0B,GAA1B,GAAgCJ,eAA5G;AACA,mBAAO,CAAC;AAAE;AAAH,cAAe,KAAKK,0BAAL,CAAgCxqE,QAAhC,EAA0CkqE,WAA1C,EAAuD50D,OAAvD,EAAgEiU,UAAhE,CAAf,CAAP;AAhCR;AAkCH,OAnCiB,CAAlB;AAoCH,KAtCe,CAAhB;AAuCH,GAxCD;AAyCA;AACJ;AACA;AACA;;;AACI0wB,EAAAA,uBAAuB,CAACv/B,SAAxB,CAAkC2vD,0BAAlC,GAA+D,UAAU/6D,OAAV,EAAmB;AAC9E,QAAIm7D,gBAAgB,GAAG,IAAIjC,yFAAJ,EAAvB;;AACA,QAAIl5D,OAAO,CAACiwC,oBAAZ,EAAkC;AAC9BkrB,MAAAA,gBAAgB,CAACC,uBAAjB,CAAyCp7D,OAAO,CAACiwC,oBAAjD;AACH;;AACD,WAAOkrB,gBAAgB,CAACE,iBAAjB,EAAP;AACH,GAND;AAOA;AACJ;AACA;AACA;;;AACI1wB,EAAAA,uBAAuB,CAACv/B,SAAxB,CAAkC0vD,sBAAlC,GAA2D,UAAU96D,OAAV,EAAmB;AAC1E,WAAOjB,4DAAS,CAAC,IAAD,EAAO,KAAK,CAAZ,EAAe,KAAK,CAApB,EAAuB,YAAY;AAC/C,UAAIo8D,gBAAJ,EAAsBG,eAAtB,EAAuCzuB,iBAAvC,EAA0D6C,UAA1D,EAAsE59B,aAAtE,EAAqFypD,OAArF,EAA8F7pC,UAA9F,EAA0GA,UAA1G;;AACA,UAAIxgB,EAAJ;;AACA,aAAOvE,8DAAW,CAAC,IAAD,EAAO,UAAUyE,EAAV,EAAc;AACnC,gBAAQA,EAAE,CAACvE,KAAX;AACI,eAAK,CAAL;AACIsuD,YAAAA,gBAAgB,GAAG,IAAIjC,yFAAJ,EAAnB;AACAiC,YAAAA,gBAAgB,CAACK,WAAjB,CAA6B,KAAK36F,MAAL,CAAYy4E,WAAZ,CAAwBr9C,QAArD;AACA;AACxB;AACA;AACA;;AACwB,gBAAI,CAAC,KAAK4uC,kBAAV,EAA8B;AAC1B;AACA0uB,cAAAA,+FAAA,CAAqCv5D,OAAO,CAAC7D,WAA7C;AACH,aAHD,MAIK;AACD;AACAg/D,cAAAA,gBAAgB,CAACO,cAAjB,CAAgC17D,OAAO,CAAC7D,WAAxC;AACH,aAdL,CAeI;;;AACAg/D,YAAAA,gBAAgB,CAACQ,SAAjB,CAA2B37D,OAAO,CAACjD,MAAnC,EAhBJ,CAiBI;;AACAo+D,YAAAA,gBAAgB,CAACS,oBAAjB,CAAsC57D,OAAO,CAACvoB,IAA9C,EAlBJ,CAmBI;;AACA0jF,YAAAA,gBAAgB,CAACU,cAAjB,CAAgC,KAAKh7F,MAAL,CAAYg5E,WAA5C;AACAshB,YAAAA,gBAAgB,CAACW,uBAAjB,CAAyC,KAAKj7F,MAAL,CAAY0vC,SAAZ,CAAsBC,WAA/D;AACA2qD,YAAAA,gBAAgB,CAACY,aAAjB;;AACA,gBAAI,KAAKxqB,sBAAT,EAAiC;AAC7B4pB,cAAAA,gBAAgB,CAACa,kBAAjB,CAAoC,KAAKzqB,sBAAzC;AACH,aAzBL,CA0BI;;;AACA,gBAAIvxC,OAAO,CAAC4+B,YAAZ,EAA0B;AACtBu8B,cAAAA,gBAAgB,CAACc,eAAjB,CAAiCj8D,OAAO,CAAC4+B,YAAzC;AACH;;AACD,gBAAI,KAAK/9D,MAAL,CAAYq7F,iBAAZ,CAA8BC,YAAlC,EAAgD;AAC5ChB,cAAAA,gBAAgB,CAACiB,eAAjB,CAAiC,KAAKv7F,MAAL,CAAYq7F,iBAAZ,CAA8BC,YAA/D;AACH;;AACD,gBAAI,KAAKt7F,MAAL,CAAYq7F,iBAAZ,CAA8BZ,eAAlC,EAAmD;AAC/CA,cAAAA,eAAe,GAAG,KAAKz6F,MAAL,CAAYq7F,iBAAZ,CAA8BZ,eAAhD;AACAH,cAAAA,gBAAgB,CAACkB,kBAAjB,CAAoCf,eAAe,CAACgB,SAApD;AACAnB,cAAAA,gBAAgB,CAACoB,sBAAjB,CAAwCjB,eAAe,CAACkB,aAAxD;AACH;;AACDrB,YAAAA,gBAAgB,CAACsB,YAAjB,CAA8BrD,mFAA9B;AACA+B,YAAAA,gBAAgB,CAACwB,aAAjB;AACA,gBAAI,EAAE38D,OAAO,CAACuY,oBAAR,KAAiCwD,yEAAnC,CAAJ,EAAkE,OAAO,CAAC;AAAE;AAAH,cAAc,CAAd,CAAP;AAClE8wB,YAAAA,iBAAiB,GAAG,IAAI9B,4EAAJ,CAAsB,KAAK8pB,WAA3B,CAApB;AACA,mBAAO,CAAC;AAAE;AAAH,cAAchoB,iBAAiB,CAACuD,WAAlB,CAA8BpwC,OAA9B,CAAd,CAAP;;AACJ,eAAK,CAAL;AACI0vC,YAAAA,UAAU,GAAGt+B,EAAE,CAACtE,IAAH,EAAb,CADJ,CAEI;;AACAquD,YAAAA,gBAAgB,CAACyB,WAAjB,CAA6BltB,UAAU,CAACmtB,YAAxC;AACA,mBAAO,CAAC;AAAE;AAAH,cAAc,CAAd,CAAP;;AACJ,eAAK,CAAL;AACI,gBAAI78D,OAAO,CAACuY,oBAAR,KAAiCwD,yEAArC,EAA+D;AAC3D,kBAAI/b,OAAO,CAAC6pC,MAAZ,EAAoB;AAChBsxB,gBAAAA,gBAAgB,CAAC2B,SAAjB,CAA2B98D,OAAO,CAAC6pC,MAAnC;AACH,eAFD,MAGK;AACD,sBAAMd,iHAAA,EAAN;AACH;AACJ;;AACD33B,YAAAA,EAAE,CAACvE,KAAH,GAAW,CAAX;;AACJ,eAAK,CAAL;AACIiF,YAAAA,aAAa,GAAG9R,OAAO,CAAC8R,aAAR,IAAyB,KAAKjxC,MAAL,CAAY64E,eAAZ,CAA4BhgC,aAA5B,EAAzC;AACAyhD,YAAAA,gBAAgB,CAAC4B,gBAAjB,CAAkCjrD,aAAlC;;AACA,gBAAI,CAACvT,yEAAA,CAAuByB,OAAO,CAACua,MAA/B,CAAD,IAA2C,KAAK15C,MAAL,CAAYy4E,WAAZ,CAAwBlkB,kBAAxB,IAA8C,KAAKv0D,MAAL,CAAYy4E,WAAZ,CAAwBlkB,kBAAxB,CAA2CtnD,MAA3C,GAAoD,CAAjJ,EAAoJ;AAChJqtF,cAAAA,gBAAgB,CAAC8B,SAAjB,CAA2Bj9D,OAAO,CAACua,MAAnC,EAA2C,KAAK15C,MAAL,CAAYy4E,WAAZ,CAAwBlkB,kBAAnE;AACH;;AACDmmC,YAAAA,OAAO,GAAG/nD,SAAV;;AACA,gBAAIxT,OAAO,CAAC0xB,UAAZ,EAAwB;AACpB,kBAAI;AACAA,gBAAAA,UAAU,GAAG8yB,uEAAe,CAACxkD,OAAO,CAAC0xB,UAAT,EAAqB,KAAKmjC,WAA1B,CAA5B;AACA0G,gBAAAA,OAAO,GAAG;AACN3wC,kBAAAA,UAAU,EAAE,KAAK8G,UAAU,CAAC+B,GAAhB,GAAsB8wB,iFAAtB,GAAyD7yB,UAAU,CAACszB,IAD1E;AAEN5sE,kBAAAA,IAAI,EAAEyoC,wFAAiCgK;AAFjC,iBAAV;AAIH,eAND,CAOA,OAAO/e,CAAP,EAAU;AACN,qBAAKhL,MAAL,CAAYe,OAAZ,CAAoB,iDAAiDiK,CAArE;AACH;AACJ,aAXD,MAYK;AACDyvD,cAAAA,OAAO,GAAGv7D,OAAO,CAAC2qB,aAAlB;AACH,aArBL,CAsBI;;;AACA,gBAAI,KAAK9pD,MAAL,CAAY04E,aAAZ,CAA0BE,oBAA1B,IAAkD8hB,OAAtD,EAA+D;AAC3D,sBAAQA,OAAO,CAACnjF,IAAhB;AACI,qBAAKyoC,wFAAL;AACI,sBAAI;AACA6Q,oBAAAA,UAAU,GAAGmzB,wFAAgC,CAAC0W,OAAO,CAAC3wC,UAAT,CAA7C;AACAuwC,oBAAAA,gBAAgB,CAAC+B,SAAjB,CAA2BxrC,UAA3B;AACH,mBAHD,CAIA,OAAO5lB,CAAP,EAAU;AACN,yBAAKhL,MAAL,CAAYe,OAAZ,CAAoB,qDAAqDiK,CAAzE;AACH;;AACD;;AACJ,qBAAK+U,4EAAL;AACIs6C,kBAAAA,gBAAgB,CAACgC,SAAjB,CAA2B5B,OAAO,CAAC3wC,UAAnC;AACA;AAZR;AAcH;;AACD,gBAAI5qB,OAAO,CAACo9D,mBAAZ,EAAiC;AAC7BjC,cAAAA,gBAAgB,CAACC,uBAAjB,CAAyCp7D,OAAO,CAACo9D,mBAAjD;AACH,aAzCL,CA0CI;;;AACA,gBAAIp9D,OAAO,CAACq9D,0BAAR,KAAuC,CAACr9D,OAAO,CAACo9D,mBAAT,IAAgC,CAACp9D,OAAO,CAACo9D,mBAAR,CAA4BjE,mFAA5B,CAAxE,CAAJ,EAA8I;AAC1IgC,cAAAA,gBAAgB,CAACC,uBAAjB,EAA0ClqD,EAAE,GAAG,EAAL,EACtCA,EAAE,CAACioD,mFAAD,CAAF,GAAyC,GADH,EAEtCjoD,EAFJ;AAGH;;AACD,mBAAO,CAAC;AAAE;AAAH,cAAeiqD,gBAAgB,CAACE,iBAAjB,EAAf,CAAP;AA3GR;AA6GH,OA9GiB,CAAlB;AA+GH,KAlHe,CAAhB;AAmHH,GApHD;AAqHA;AACJ;AACA;AACA;;;AACI1wB,EAAAA,uBAAuB,CAACv/B,SAAxB,CAAkCouD,4BAAlC,GAAiE,UAAUx5D,OAAV,EAAmB;AAChF,WAAOjB,4DAAS,CAAC,IAAD,EAAO,KAAK,CAAZ,EAAe,KAAK,CAApB,EAAuB,YAAY;AAC/C,UAAIo8D,gBAAJ,EAAsBoC,aAAtB,EAAqCzrD,aAArC,EAAoDmV,UAApD,EAAgEu2C,qBAAhE,EAAuF9rC,UAAvF,EAAmGA,UAAnG,EAA+GA,UAA/G,EAA2Hmb,iBAA3H,EAA8I6C,UAA9I;AACA,aAAO/iC,8DAAW,CAAC,IAAD,EAAO,UAAUuE,EAAV,EAAc;AACnC,gBAAQA,EAAE,CAACrE,KAAX;AACI,eAAK,CAAL;AACIsuD,YAAAA,gBAAgB,GAAG,IAAIjC,yFAAJ,EAAnB;AACAiC,YAAAA,gBAAgB,CAACK,WAAjB,CAA6B,KAAK36F,MAAL,CAAYy4E,WAAZ,CAAwBr9C,QAArD;AACAshE,YAAAA,aAAa,GAAGna,iEAAc,CAACpjD,OAAO,CAACjD,MAAR,IAAkB,EAAnB,EAAuBiD,OAAO,CAACy9D,oBAAR,IAAgC,EAAvD,CAA9B;AACAtC,YAAAA,gBAAgB,CAACQ,SAAjB,CAA2B4B,aAA3B,EAJJ,CAKI;;AACApC,YAAAA,gBAAgB,CAACO,cAAjB,CAAgC17D,OAAO,CAAC7D,WAAxC;AACA2V,YAAAA,aAAa,GAAG9R,OAAO,CAAC8R,aAAR,IAAyB,KAAKjxC,MAAL,CAAY64E,eAAZ,CAA4BhgC,aAA5B,EAAzC;AACAyhD,YAAAA,gBAAgB,CAAC4B,gBAAjB,CAAkCjrD,aAAlC,EARJ,CASI;;AACAqpD,YAAAA,gBAAgB,CAACuC,eAAjB,CAAiC19D,OAAO,CAACy6C,YAAzC,EAVJ,CAWI;;AACA0gB,YAAAA,gBAAgB,CAACwC,mBAAjB,GAZJ,CAaI;;AACAxC,YAAAA,gBAAgB,CAACU,cAAjB,CAAgC,KAAKh7F,MAAL,CAAYg5E,WAA5C;AACAshB,YAAAA,gBAAgB,CAACW,uBAAjB,CAAyC,KAAKj7F,MAAL,CAAY0vC,SAAZ,CAAsBC,WAA/D,EAfJ,CAgBI;;AACA2qD,YAAAA,gBAAgB,CAACwB,aAAjB;;AACA,gBAAI38D,OAAO,CAAC6+B,aAAR,IAAyB7+B,OAAO,CAAC+4C,mBAArC,EAA0D;AACtDoiB,cAAAA,gBAAgB,CAACyC,sBAAjB,CAAwC59D,OAAO,CAAC6+B,aAAhD,EAA+D7+B,OAAO,CAAC+4C,mBAAvE;AACH;;AACD,gBAAI/4C,OAAO,CAACgV,MAAZ,EAAoB;AAChBmmD,cAAAA,gBAAgB,CAAC0C,SAAjB,CAA2B79D,OAAO,CAACgV,MAAnC;AACH;;AACD,gBAAIhV,OAAO,CAAC89D,UAAZ,EAAwB;AACpB3C,cAAAA,gBAAgB,CAAC4C,aAAjB,CAA+B/9D,OAAO,CAAC89D,UAAvC;AACH,aA1BL,CA2BI;;;AACA,gBAAI99D,OAAO,CAACgV,MAAR,KAAmB1G,2EAAvB,EAAmD;AAC/C;AACA,kBAAItO,OAAO,CAAC6Y,GAAR,IAAe7Y,OAAO,CAACgV,MAAR,KAAmB1G,iEAAtC,EAAwD;AACpD;AACA,qBAAKxN,MAAL,CAAYe,OAAZ,CAAoB,uEAApB;AACAs5D,gBAAAA,gBAAgB,CAAC8C,MAAjB,CAAwBj+D,OAAO,CAAC6Y,GAAhC;AACH,eAJD,MAKK,IAAI7Y,OAAO,CAAC4D,OAAZ,EAAqB;AACtBqjB,gBAAAA,UAAU,GAAG,KAAKi3C,iBAAL,CAAuBl+D,OAAO,CAAC4D,OAA/B,CAAb;AACA45D,gBAAAA,qBAAqB,GAAG,KAAKW,gBAAL,CAAsBn+D,OAAO,CAAC4D,OAA9B,CAAxB,CAFsB,CAGtB;;AACA,oBAAI45D,qBAAJ,EAA2B;AACvB,uBAAK18D,MAAL,CAAYe,OAAZ,CAAoB,mEAApB;AACAs5D,kBAAAA,gBAAgB,CAACiD,YAAjB,CAA8BZ,qBAA9B;;AACA,sBAAI;AACA9rC,oBAAAA,UAAU,GAAGmzB,wFAAgC,CAAC7kD,OAAO,CAAC4D,OAAR,CAAgBgU,aAAjB,CAA7C;AACAujD,oBAAAA,gBAAgB,CAAC+B,SAAjB,CAA2BxrC,UAA3B;AACH,mBAHD,CAIA,OAAO5lB,CAAP,EAAU;AACN,yBAAKhL,MAAL,CAAYe,OAAZ,CAAoB,8EAApB;AACH;AACJ,iBAVD,MAWK,IAAIolB,UAAU,IAAIjnB,OAAO,CAACgV,MAAR,KAAmB1G,iEAArC,EAAuD;AACxD;AACpC;AACA;AACA;AACoC,uBAAKxN,MAAL,CAAYe,OAAZ,CAAoB,uEAApB;AACAs5D,kBAAAA,gBAAgB,CAAC8C,MAAjB,CAAwBh3C,UAAxB;;AACA,sBAAI;AACAyK,oBAAAA,UAAU,GAAGmzB,wFAAgC,CAAC7kD,OAAO,CAAC4D,OAAR,CAAgBgU,aAAjB,CAA7C;AACAujD,oBAAAA,gBAAgB,CAAC+B,SAAjB,CAA2BxrC,UAA3B;AACH,mBAHD,CAIA,OAAO5lB,CAAP,EAAU;AACN,yBAAKhL,MAAL,CAAYe,OAAZ,CAAoB,8EAApB;AACH;AACJ,iBAdI,MAeA,IAAI7B,OAAO,CAAC4Y,SAAZ,EAAuB;AACxB,uBAAK9X,MAAL,CAAYe,OAAZ,CAAoB,8DAApB;AACAs5D,kBAAAA,gBAAgB,CAACiD,YAAjB,CAA8Bp+D,OAAO,CAAC4Y,SAAtC;AACAuiD,kBAAAA,gBAAgB,CAACgC,SAAjB,CAA2Bn9D,OAAO,CAAC4Y,SAAnC;AACH,iBAJI,MAKA,IAAI5Y,OAAO,CAAC4D,OAAR,CAAgB8T,QAApB,EAA8B;AAC/B;AACA,uBAAK5W,MAAL,CAAYe,OAAZ,CAAoB,8DAApB;AACAs5D,kBAAAA,gBAAgB,CAACiD,YAAjB,CAA8Bp+D,OAAO,CAAC4D,OAAR,CAAgB8T,QAA9C;;AACA,sBAAI;AACAga,oBAAAA,UAAU,GAAGmzB,wFAAgC,CAAC7kD,OAAO,CAAC4D,OAAR,CAAgBgU,aAAjB,CAA7C;AACAujD,oBAAAA,gBAAgB,CAAC+B,SAAjB,CAA2BxrC,UAA3B;AACH,mBAHD,CAIA,OAAO5lB,CAAP,EAAU;AACN,yBAAKhL,MAAL,CAAYe,OAAZ,CAAoB,8EAApB;AACH;AACJ;AACJ,eA/CI,MAgDA,IAAI7B,OAAO,CAAC4Y,SAAZ,EAAuB;AACxB,qBAAK9X,MAAL,CAAYe,OAAZ,CAAoB,0EAApB;AACAs5D,gBAAAA,gBAAgB,CAACiD,YAAjB,CAA8Bp+D,OAAO,CAAC4Y,SAAtC;AACAuiD,gBAAAA,gBAAgB,CAACgC,SAAjB,CAA2Bn9D,OAAO,CAAC4Y,SAAnC;AACH;AACJ,aA5DD,MA6DK;AACD,mBAAK9X,MAAL,CAAYe,OAAZ,CAAoB,gFAApB;AACH;;AACD,gBAAI7B,OAAO,CAACwqB,KAAZ,EAAmB;AACf2wC,cAAAA,gBAAgB,CAACkD,QAAjB,CAA0Br+D,OAAO,CAACwqB,KAAlC;AACH;;AACD,gBAAIxqB,OAAO,CAACpjB,KAAZ,EAAmB;AACfu+E,cAAAA,gBAAgB,CAACmD,QAAjB,CAA0Bt+D,OAAO,CAACpjB,KAAlC;AACH;;AACD,gBAAI,CAAC2hB,sEAAA,CAAoByB,OAAO,CAACua,MAA5B,CAAD,IAAwC,KAAK15C,MAAL,CAAYy4E,WAAZ,CAAwBlkB,kBAAxB,IAA8C,KAAKv0D,MAAL,CAAYy4E,WAAZ,CAAwBlkB,kBAAxB,CAA2CtnD,MAA3C,GAAoD,CAA9I,EAAiJ;AAC7IqtF,cAAAA,gBAAgB,CAAC8B,SAAjB,CAA2Bj9D,OAAO,CAACua,MAAnC,EAA2C,KAAK15C,MAAL,CAAYy4E,WAAZ,CAAwBlkB,kBAAnE;AACH;;AACD,gBAAIp1B,OAAO,CAACgwC,oBAAZ,EAAkC;AAC9BmrB,cAAAA,gBAAgB,CAACC,uBAAjB,CAAyCp7D,OAAO,CAACgwC,oBAAjD;AACH;;AACD,gBAAI,CAAChwC,OAAO,CAACuyC,YAAb,EAA2B,OAAO,CAAC;AAAE;AAAH,cAAc,CAAd,CAAP,CAxG/B,CAyGI;;AACA4oB,YAAAA,gBAAgB,CAACoD,eAAjB;AACA,gBAAI,EAAEv+D,OAAO,CAACuY,oBAAR,KAAiCwD,yEAAnC,CAAJ,EAAkE,OAAO,CAAC;AAAE;AAAH,cAAc,CAAd,CAAP;AAClE8wB,YAAAA,iBAAiB,GAAG,IAAI9B,4EAAJ,CAAsB,KAAK8pB,WAA3B,CAApB;AACA,mBAAO,CAAC;AAAE;AAAH,cAAchoB,iBAAiB,CAACuD,WAAlB,CAA8BpwC,OAA9B,CAAd,CAAP;;AACJ,eAAK,CAAL;AACI0vC,YAAAA,UAAU,GAAGx+B,EAAE,CAACpE,IAAH,EAAb;AACAquD,YAAAA,gBAAgB,CAACyB,WAAjB,CAA6BltB,UAAU,CAACY,UAAxC;AACAp/B,YAAAA,EAAE,CAACrE,KAAH,GAAW,CAAX;;AACJ,eAAK,CAAL;AAAQ,mBAAO,CAAC;AAAE;AAAH,cAAesuD,gBAAgB,CAACE,iBAAjB,EAAf,CAAP;AAnHZ;AAqHH,OAtHiB,CAAlB;AAuHH,KAzHe,CAAhB;AA0HH,GA3HD;AA4HA;AACJ;AACA;AACA;;;AACI1wB,EAAAA,uBAAuB,CAACv/B,SAAxB,CAAkCsvD,0BAAlC,GAA+D,UAAU16D,OAAV,EAAmB;AAC9E,QAAIm7D,gBAAgB,GAAG,IAAIjC,yFAAJ,EAAvB;;AACA,QAAIl5D,OAAO,CAACk1B,qBAAZ,EAAmC;AAC/BimC,MAAAA,gBAAgB,CAACqD,wBAAjB,CAA0Cx+D,OAAO,CAACk1B,qBAAlD;AACH;;AACD,QAAIl1B,OAAO,CAAC8R,aAAZ,EAA2B;AACvBqpD,MAAAA,gBAAgB,CAAC4B,gBAAjB,CAAkC/8D,OAAO,CAAC8R,aAA1C;AACH;;AACD,QAAI9R,OAAO,CAACy+D,WAAZ,EAAyB;AACrBtD,MAAAA,gBAAgB,CAACuD,cAAjB,CAAgC1+D,OAAO,CAACy+D,WAAxC;AACH;;AACD,QAAIz+D,OAAO,CAACpjB,KAAZ,EAAmB;AACfu+E,MAAAA,gBAAgB,CAACmD,QAAjB,CAA0Bt+D,OAAO,CAACpjB,KAAlC;AACH;;AACD,QAAIojB,OAAO,CAACi5C,UAAZ,EAAwB;AACpBkiB,MAAAA,gBAAgB,CAACwD,aAAjB,CAA+B3+D,OAAO,CAACi5C,UAAvC;AACH;;AACD,QAAIj5C,OAAO,CAACgwC,oBAAZ,EAAkC;AAC9BmrB,MAAAA,gBAAgB,CAACC,uBAAjB,CAAyCp7D,OAAO,CAACgwC,oBAAjD;AACH;;AACD,WAAOmrB,gBAAgB,CAACE,iBAAjB,EAAP;AACH,GArBD;AAsBA;AACJ;AACA;AACA;;;AACI1wB,EAAAA,uBAAuB,CAACv/B,SAAxB,CAAkC8yD,iBAAlC,GAAsD,UAAUt6D,OAAV,EAAmB;AACrE,QAAIsN,EAAJ;;AACA,WAAO,CAAC,CAACA,EAAE,GAAGtN,OAAO,CAACsjB,aAAd,MAAiC,IAAjC,IAAyChW,EAAE,KAAK,KAAK,CAArD,GAAyD,KAAK,CAA9D,GAAkEA,EAAE,CAAC2H,GAAtE,KAA8E,IAArF;AACH,GAHD;;AAIA8xB,EAAAA,uBAAuB,CAACv/B,SAAxB,CAAkC+yD,gBAAlC,GAAqD,UAAUv6D,OAAV,EAAmB;AACpE,QAAIsN,EAAJ;;AACA,WAAO,CAAC,CAACA,EAAE,GAAGtN,OAAO,CAACsjB,aAAd,MAAiC,IAAjC,IAAyChW,EAAE,KAAK,KAAK,CAArD,GAAyD,KAAK,CAA9D,GAAkEA,EAAE,CAACioC,UAAtE,KAAqF,IAA5F;AACH,GAHD;;AAIA,SAAOxO,uBAAP;AACH,CA/c4C,CA+c3CsuB,uDA/c2C,CAA7C;;;;;;;;;;;;;;;;;;;;;;;;;;ACxBA;AACa;;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;;AACA;AACA;AACA;;AACA,IAAIA,UAAU;AAAG;AAAe,YAAY;AACxC,WAASA,UAAT,CAAoBnpE,aAApB,EAAmCwgB,iBAAnC,EAAsD;AAClD;AACA,SAAKzvC,MAAL,GAAc+9F,wFAAwB,CAAC9uE,aAAD,CAAtC,CAFkD,CAGlD;;AACA,SAAKgR,MAAL,GAAc,IAAIyN,qDAAJ,CAAW,KAAK1tC,MAAL,CAAY47B,aAAvB,EAAsC9qB,qDAAtC,EAA4C5P,wDAA5C,CAAd,CAJkD,CAKlD;;AACA,SAAK8yF,WAAL,GAAmB,KAAKh0F,MAAL,CAAY64E,eAA/B,CANkD,CAOlD;;AACA,SAAK+L,YAAL,GAAoB,KAAK5kF,MAAL,CAAY+4E,gBAAhC,CARkD,CASlD;;AACA,SAAK3pC,aAAL,GAAqB,KAAKpvC,MAAL,CAAY84E,gBAAjC,CAVkD,CAWlD;;AACA,SAAKmlB,cAAL,GAAsB,IAAID,sEAAJ,CAAmB,KAAK5uD,aAAxB,EAAuC,KAAKw1C,YAA5C,CAAtB,CAZkD,CAalD;;AACA,SAAKlU,sBAAL,GAA8B,KAAK1wE,MAAL,CAAY0wE,sBAA1C,CAdkD,CAelD;;AACA,SAAKr1C,SAAL,GAAiB,KAAKr7B,MAAL,CAAYy4E,WAAZ,CAAwBp9C,SAAzC,CAhBkD,CAiBlD;;AACA,SAAKoU,iBAAL,GAAyBA,iBAAzB;AACH;AACD;AACJ;AACA;;;AACI2oD,EAAAA,UAAU,CAAC7tD,SAAX,CAAqB4vD,yBAArB,GAAiD,UAAUO,OAAV,EAAmB;AAChE,QAAIv1D,OAAO,GAAG,EAAd;AACAA,IAAAA,OAAO,CAACqzD,yEAAD,CAAP,GAAoCprD,gFAApC;;AACA,QAAI,CAAC,KAAKptC,MAAL,CAAY04E,aAAZ,CAA0BE,oBAA3B,IAAmD8hB,OAAvD,EAAgE;AAC5D,cAAQA,OAAO,CAACnjF,IAAhB;AACI,aAAKyoC,wFAAL;AACI,cAAI;AACA,gBAAI6Q,UAAU,GAAGmzB,wFAAgC,CAAC0W,OAAO,CAAC3wC,UAAT,CAAjD;AACA5kB,YAAAA,OAAO,CAACqzD,uEAAD,CAAP,GAAkC,SAAS3nC,UAAU,CAAC+B,GAApB,GAA0B,GAA1B,GAAgC/B,UAAU,CAACszB,IAA7E;AACH,WAHD,CAIA,OAAOl5C,CAAP,EAAU;AACN,iBAAKhL,MAAL,CAAYe,OAAZ,CAAoB,qDAAqDiK,CAAzE;AACH;;AACD;;AACJ,aAAK+U,4EAAL;AACI7a,UAAAA,OAAO,CAACqzD,uEAAD,CAAP,GAAkC,UAAUkC,OAAO,CAAC3wC,UAApD;AACA;AAZR;AAcH;;AACD,WAAO5kB,OAAP;AACH,GApBD;AAqBA;AACJ;AACA;AACA;AACA;AACA;AACA;;;AACIizD,EAAAA,UAAU,CAAC7tD,SAAX,CAAqB8vD,0BAArB,GAAkD,UAAUD,aAAV,EAAyBzO,WAAzB,EAAsCxmD,OAAtC,EAA+CiU,UAA/C,EAA2D;AACzG,WAAOlb,4DAAS,CAAC,IAAD,EAAO,KAAK,CAAZ,EAAe,KAAK,CAApB,EAAuB,YAAY;AAC/C,UAAI2E,QAAJ;AACA,aAAOiJ,8DAAW,CAAC,IAAD,EAAO,UAAUuE,EAAV,EAAc;AACnC,gBAAQA,EAAE,CAACrE,KAAX;AACI,eAAK,CAAL;AAAQ,mBAAO,CAAC;AAAE;AAAH,cAAc,KAAKiyD,cAAL,CAAoBI,eAApB,CAAoCjlD,UAApC,EAAgDghD,aAAhD,EAA+D;AAAEziF,cAAAA,IAAI,EAAEg0E,WAAR;AAAqBxmD,cAAAA,OAAO,EAAEA,OAA9B;AAAuC0/C,cAAAA,QAAQ,EAAE,KAAK7kF,MAAL,CAAY04E,aAAZ,CAA0BmM;AAA3E,aAA/D,CAAd,CAAP;;AACR,eAAK,CAAL;AACIhiD,YAAAA,QAAQ,GAAGwN,EAAE,CAACpE,IAAH,EAAX;;AACA,gBAAI,KAAKjsC,MAAL,CAAY0wE,sBAAZ,IAAsC7tC,QAAQ,CAACngB,MAAT,GAAkB,GAAxD,IAA+DmgB,QAAQ,CAACngB,MAAT,KAAoB,GAAvF,EAA4F;AACxF;AACA,mBAAK1iB,MAAL,CAAY0wE,sBAAZ,CAAmC4tB,mBAAnC;AACH;;AACD,mBAAO,CAAC;AAAE;AAAH,cAAez7D,QAAf,CAAP;AARR;AAUH,OAXiB,CAAlB;AAYH,KAde,CAAhB;AAeH,GAhBD;AAiBA;AACJ;AACA;AACA;;;AACIu1D,EAAAA,UAAU,CAAC7tD,SAAX,CAAqBywC,eAArB,GAAuC,UAAUujB,gBAAV,EAA4B;AAC/D,QAAI,CAACA,gBAAgB,CAACxY,iBAAjB,EAAL,EAA2C;AACvC,YAAMv4C,6GAAA,CAAuD,yDAAvD,CAAN;AACH;;AACD,SAAKnS,SAAL,GAAiBkjE,gBAAjB;AACH,GALD;;AAMA,SAAOnG,UAAP;AACH,CAhF+B,EAAhC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACnBA;AACa;;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;;AACA;AACA;AACA;;AACA,IAAIxgB,kBAAkB;AAAG;AAAe,UAAUxuC,MAAV,EAAkB;AACtDqB,EAAAA,4DAAS,CAACmtC,kBAAD,EAAqBxuC,MAArB,CAAT;;AACA,WAASwuC,kBAAT,CAA4B3oD,aAA5B,EAA2CwgB,iBAA3C,EAA8D;AAC1D,WAAOrG,MAAM,CAACK,IAAP,CAAY,IAAZ,EAAkBxa,aAAlB,EAAiCwgB,iBAAjC,KAAuD,IAA9D;AACH;;AACDmoC,EAAAA,kBAAkB,CAACrtC,SAAnB,CAA6BqI,YAA7B,GAA4C,UAAUzT,OAAV,EAAmB;AAC3D,QAAIkR,EAAJ,EAAQE,EAAR,EAAY+hB,EAAZ,EAAgBkhB,EAAhB;;AACA,WAAOt1C,4DAAS,CAAC,IAAD,EAAO,KAAK,CAAZ,EAAe,KAAK,CAApB,EAAuB,YAAY;AAC/C,UAAIib,cAAJ,EAAoBsxB,YAApB,EAAkC5nC,QAAlC,EAA4C67D,YAA5C,EAA0DrrD,SAA1D,EAAqE2lD,eAArE;;AACA,UAAI7nD,KAAK,GAAG,IAAZ;;AACA,aAAOrF,8DAAW,CAAC,IAAD,EAAO,UAAUi9C,EAAV,EAAc;AACnC,gBAAQA,EAAE,CAAC/8C,KAAX;AACI,eAAK,CAAL;AACImN,YAAAA,cAAc,GAAG,CAAC9I,EAAE,GAAG,KAAKZ,iBAAX,MAAkC,IAAlC,IAA0CY,EAAE,KAAK,KAAK,CAAtD,GAA0D,KAAK,CAA/D,GAAmEA,EAAE,CAAC0C,gBAAH,CAAoBzF,wHAApB,EAAsEnO,OAAO,CAAC8R,aAA9E,CAApF;AACA,iBAAKhR,MAAL,CAAYe,OAAZ,CAAoB,uCAApB,EAA6D7B,OAAO,CAAC8R,aAArE;AACAw5B,YAAAA,YAAY,GAAGR,qEAAA,EAAf;AACA,mBAAO,CAAC;AAAE;AAAH,cAAc,KAAKivB,mBAAL,CAAyB/5D,OAAzB,EAAkC,KAAK9D,SAAvC,CAAd,CAAP;;AACJ,eAAK,CAAL;AACIwH,YAAAA,QAAQ,GAAGkmD,EAAE,CAAC98C,IAAH,EAAX;AACAyyD,YAAAA,YAAY,GAAG,CAACnuD,EAAE,GAAG1N,QAAQ,CAACsC,OAAf,MAA4B,IAA5B,IAAoCoL,EAAE,KAAK,KAAK,CAAhD,GAAoD,KAAK,CAAzD,GAA6DA,EAAE,CAACioD,8EAAD,CAA9E;AACAr/C,YAAAA,cAAc,KAAK,IAAnB,IAA2BA,cAAc,KAAK,KAAK,CAAnD,GAAuD,KAAK,CAA5D,GAAgEA,cAAc,CAAC1F,eAAf,CAA+B;AAC3FmrD,cAAAA,gBAAgB,EAAE,CAAC,CAACtsC,EAAE,GAAGzvB,QAAQ,CAAClrB,IAAT,CAAcu6C,aAApB,MAAuC,IAAvC,IAA+CI,EAAE,KAAK,KAAK,CAA3D,GAA+D,KAAK,CAApE,GAAwEA,EAAE,CAACrlD,MAA5E,KAAuF;AADd,aAA/B,CAAhE;;AAGA,gBAAIyxF,YAAJ,EAAkB;AACdvlD,cAAAA,cAAc,KAAK,IAAnB,IAA2BA,cAAc,KAAK,KAAK,CAAnD,GAAuD,KAAK,CAA5D,GAAgEA,cAAc,CAAC1F,eAAf,CAA+B;AAC3FirD,gBAAAA,YAAY,EAAEA;AAD6E,eAA/B,CAAhE;AAGH;;AACDrrD,YAAAA,SAAS,GAAG,CAACmgC,EAAE,GAAG3wC,QAAQ,CAACsC,OAAf,MAA4B,IAA5B,IAAoCquC,EAAE,KAAK,KAAK,CAAhD,GAAoD,KAAK,CAAzD,GAA6DA,EAAE,CAACglB,4EAAD,CAA3E;AACAQ,YAAAA,eAAe,GAAG,IAAIP,yEAAJ,CAAoB,KAAKz4F,MAAL,CAAYy4E,WAAZ,CAAwBr9C,QAA5C,EAAsD,KAAKwpD,YAA3D,EAAyE,KAAKoP,WAA9E,EAA2F,KAAK/zD,MAAhG,EAAwG,KAAKjgC,MAAL,CAAYq5F,iBAApH,EAAuI,KAAKr5F,MAAL,CAAYs5F,iBAAnJ,CAAlB;AACAN,YAAAA,eAAe,CAACO,qBAAhB,CAAsC12D,QAAQ,CAAClrB,IAA/C;AACA,mBAAO,CAAC;AAAE;AAAH,cAAeqhF,eAAe,CAACQ,yBAAhB,CAA0C32D,QAAQ,CAAClrB,IAAnD,EAAyD,KAAK0jB,SAA9D,EAAyEovC,YAAzE,EAAuFtrC,OAAvF,EAAgGwT,SAAhG,EAA2GA,SAA3G,EAAsH,IAAtH,EAA4HxT,OAAO,CAAC0/D,UAApI,EAAgJxrD,SAAhJ,EAA2JvrC,IAA3J,CAAgK,UAAUmK,MAAV,EAAkB;AAChMknC,cAAAA,cAAc,KAAK,IAAnB,IAA2BA,cAAc,KAAK,KAAK,CAAnD,GAAuD,KAAK,CAA5D,GAAgEA,cAAc,CAACjG,cAAf,CAA8B;AAC1FC,gBAAAA,OAAO,EAAE;AADiF,eAA9B,CAAhE;AAGA,qBAAOlhC,MAAP;AACH,aALiB,EAMbuqB,KANa,CAMP,UAAU7lB,KAAV,EAAiB;AACxBw6B,cAAAA,KAAK,CAAClR,MAAN,CAAae,OAAb,CAAqB,iCAArB,EAAwD7B,OAAO,CAAC8R,aAAhE;;AACAkI,cAAAA,cAAc,KAAK,IAAnB,IAA2BA,cAAc,KAAK,KAAK,CAAnD,GAAuD,KAAK,CAA5D,GAAgEA,cAAc,CAACjG,cAAf,CAA8B;AAC1FW,gBAAAA,SAAS,EAAEl9B,KAAK,CAACk9B,SADyE;AAE1FC,gBAAAA,YAAY,EAAEn9B,KAAK,CAACo9B,QAFsE;AAG1FZ,gBAAAA,OAAO,EAAE;AAHiF,eAA9B,CAAhE;AAKA,oBAAMx8B,KAAN;AACH,aAdiB,CAAf,CAAP;AApBR;AAoCH,OArCiB,CAAlB;AAsCH,KAzCe,CAAhB;AA0CH,GA5CD;AA6CA;AACJ;AACA;AACA;;;AACIihE,EAAAA,kBAAkB,CAACrtC,SAAnB,CAA6B2L,0BAA7B,GAA0D,UAAU/W,OAAV,EAAmB;AACzE,WAAOjB,4DAAS,CAAC,IAAD,EAAO,KAAK,CAAZ,EAAe,KAAK,CAApB,EAAuB,YAAY;AAC/C,UAAI4gE,MAAJ,EAAYC,iBAAZ,EAA+BC,+BAA/B;AACA,aAAOlzD,8DAAW,CAAC,IAAD,EAAO,UAAUuE,EAAV,EAAc;AACnC;AACA,YAAI,CAAClR,OAAL,EAAc;AACV,gBAAM+oC,qHAAA,EAAN;AACH,SAJkC,CAKnC;;;AACA,YAAI,CAAC/oC,OAAO,CAAC4D,OAAb,EAAsB;AAClB,gBAAMyK,0GAAA,EAAN;AACH;;AACDsxD,QAAAA,MAAM,GAAG,KAAKla,YAAL,CAAkBsO,iBAAlB,CAAoC/zD,OAAO,CAAC4D,OAAR,CAAgBx+B,WAApD,EAAiE,KAAKvE,MAAL,CAAYy4E,WAAZ,CAAwBr9C,QAAzF,CAAT,CATmC,CAUnC;;AACA,YAAI0jE,MAAJ,EAAY;AACR,cAAI;AACA,mBAAO,CAAC;AAAE;AAAH,cAAe,KAAKK,kCAAL,CAAwChgE,OAAxC,EAAiD,IAAjD,CAAf,CAAP;AACH,WAFD,CAGA,OAAO8L,CAAP,EAAU;AACN8zD,YAAAA,iBAAiB,GAAG9zD,CAAC,YAAYoC,gGAAb,IAA6CpC,CAAC,CAAC4I,SAAF,KAAgB4qD,+HAAjF;AACAO,YAAAA,+BAA+B,GAAG/zD,CAAC,YAAY6N,8DAAb,IAA4B7N,CAAC,CAAC4I,SAAF,KAAgB2qD,2EAA5C,IAA0EvzD,CAAC,CAAC8I,QAAF,KAAeyqD,6EAA3H,CAFM,CAGN;;AACA,gBAAIO,iBAAiB,IAAIC,+BAAzB,EAA0D;AACtD,qBAAO,CAAC;AAAE;AAAH,gBAAe,KAAKG,kCAAL,CAAwChgE,OAAxC,EAAiD,KAAjD,CAAf,CAAP,CADsD,CAEtD;AACH,aAHD,MAIK;AACD,oBAAM8L,CAAN;AACH;AACJ;AACJ,SA3BkC,CA4BnC;;;AACA,eAAO,CAAC;AAAE;AAAH,UAAe,KAAKk0D,kCAAL,CAAwChgE,OAAxC,EAAiD,KAAjD,CAAf,CAAP;AACH,OA9BiB,CAAlB;AA+BH,KAjCe,CAAhB;AAkCH,GAnCD;AAoCA;AACJ;AACA;AACA;;;AACIy4C,EAAAA,kBAAkB,CAACrtC,SAAnB,CAA6B40D,kCAA7B,GAAkE,UAAUhgE,OAAV,EAAmBmgE,IAAnB,EAAyB;AACvF,QAAIjvD,EAAJ;;AACA,WAAOnS,4DAAS,CAAC,IAAD,EAAO,KAAK,CAAZ,EAAe,KAAK,CAApB,EAAuB,YAAY;AAC/C,UAAIib,cAAJ,EAAoBwK,YAApB,EAAkC47C,mBAAlC;AACA,aAAOzzD,8DAAW,CAAC,IAAD,EAAO,UAAUyE,EAAV,EAAc;AACnC4I,QAAAA,cAAc,GAAG,CAAC9I,EAAE,GAAG,KAAKZ,iBAAX,MAAkC,IAAlC,IAA0CY,EAAE,KAAK,KAAK,CAAtD,GAA0D,KAAK,CAA/D,GAAmEA,EAAE,CAAC0C,gBAAH,CAAoBzF,8IAApB,EAA4FnO,OAAO,CAAC8R,aAApG,CAApF;AACA,aAAKhR,MAAL,CAAYe,OAAZ,CAAoB,6DAApB,EAAmF7B,OAAO,CAAC8R,aAA3F;AACA0S,QAAAA,YAAY,GAAG,KAAKihC,YAAL,CAAkBkN,yBAAlB,CAA4C,KAAK9xF,MAAL,CAAYy4E,WAAZ,CAAwBr9C,QAApE,EAA8E+D,OAAO,CAAC4D,OAAtF,EAA+Fu8D,IAA/F,CAAf;;AACA,YAAI,CAAC37C,YAAL,EAAmB;AACfxK,UAAAA,cAAc,KAAK,IAAnB,IAA2BA,cAAc,KAAK,KAAK,CAAnD,GAAuD,KAAK,CAA5D,GAAgEA,cAAc,CAAC/D,kBAAf,EAAhE;AACA,gBAAM/H,yHAAA,EAAN;AACH,SAPkC,CAQnC;;;AACA8L,QAAAA,cAAc,KAAK,IAAnB,IAA2BA,cAAc,KAAK,KAAK,CAAnD,GAAuD,KAAK,CAA5D,GAAgEA,cAAc,CAACjG,cAAf,CAA8B;AAC1FC,UAAAA,OAAO,EAAE;AADiF,SAA9B,CAAhE;AAGAosD,QAAAA,mBAAmB,GAAG50D,2DAAQ,CAACA,2DAAQ,CAAC,EAAD,EAAKxL,OAAL,CAAT,EAAwB;AAAEwkB,UAAAA,YAAY,EAAEA,YAAY,CAAC8O,MAA7B;AAAqC/a,UAAAA,oBAAoB,EAAEvY,OAAO,CAACuY,oBAAR,IAAgCwD,4EAA3F;AAAwH4O,UAAAA,aAAa,EAAE;AACrLC,YAAAA,UAAU,EAAE5qB,OAAO,CAAC4D,OAAR,CAAgBgU,aADyJ;AAErLx/B,YAAAA,IAAI,EAAEyoC,wFAAiCgK;AAF8I;AAAvI,SAAxB,CAA9B;AAIA,eAAO,CAAC;AAAE;AAAH,UAAe,KAAKpX,YAAL,CAAkB2sD,mBAAlB,CAAf,CAAP;AACH,OAjBiB,CAAlB;AAkBH,KApBe,CAAhB;AAqBH,GAvBD;AAwBA;AACJ;AACA;AACA;AACA;;;AACI3nB,EAAAA,kBAAkB,CAACrtC,SAAnB,CAA6B2uD,mBAA7B,GAAmD,UAAU/5D,OAAV,EAAmB9D,SAAnB,EAA8B;AAC7E,QAAIgV,EAAJ;;AACA,WAAOnS,4DAAS,CAAC,IAAD,EAAO,KAAK,CAAZ,EAAe,KAAK,CAApB,EAAuB,YAAY;AAC/C,UAAI84C,uBAAJ,EAA6B+iB,WAA7B,EAA0CC,eAA1C,EAA2D70D,OAA3D,EAAoEiU,UAApE,EAAgFvpB,QAAhF;AACA,aAAOic,8DAAW,CAAC,IAAD,EAAO,UAAUyE,EAAV,EAAc;AACnC,gBAAQA,EAAE,CAACvE,KAAX;AACI,eAAK,CAAL;AACIgrC,YAAAA,uBAAuB,GAAG,CAAC3mC,EAAE,GAAG,KAAKZ,iBAAX,MAAkC,IAAlC,IAA0CY,EAAE,KAAK,KAAK,CAAtD,GAA0D,KAAK,CAA/D,GAAmEA,EAAE,CAAC0C,gBAAH,CAAoBzF,+HAApB,EAA6EnO,OAAO,CAAC8R,aAArF,CAA7F;AACA,mBAAO,CAAC;AAAE;AAAH,cAAc,KAAKgpD,sBAAL,CAA4B96D,OAA5B,CAAd,CAAP;;AACJ,eAAK,CAAL;AACI46D,YAAAA,WAAW,GAAGxpD,EAAE,CAACtE,IAAH,EAAd;AACA+tD,YAAAA,eAAe,GAAG,KAAKE,0BAAL,CAAgC/6D,OAAhC,CAAlB;AACAgG,YAAAA,OAAO,GAAG,KAAKg1D,yBAAL,CAA+Bh7D,OAAO,CAAC2qB,aAAvC,CAAV;AACA1Q,YAAAA,UAAU,GAAG;AACThe,cAAAA,QAAQ,EAAE,KAAKp7B,MAAL,CAAYy4E,WAAZ,CAAwBr9C,QADzB;AAETC,cAAAA,SAAS,EAAEA,SAAS,CAAC23B,kBAFZ;AAGT92B,cAAAA,MAAM,EAAEiD,OAAO,CAACjD,MAHP;AAITwd,cAAAA,MAAM,EAAEva,OAAO,CAACua,MAJP;AAKThC,cAAAA,oBAAoB,EAAEvY,OAAO,CAACuY,oBALrB;AAMTiC,cAAAA,qBAAqB,EAAExa,OAAO,CAACwa,qBANtB;AAOTC,cAAAA,kBAAkB,EAAEza,OAAO,CAACya,kBAPnB;AAQTC,cAAAA,SAAS,EAAE1a,OAAO,CAAC0a,SARV;AASTC,cAAAA,MAAM,EAAE3a,OAAO,CAAC2a;AATP,aAAb;AAWAjqB,YAAAA,QAAQ,GAAG2N,2EAAA,CAA4BnC,SAAS,CAAC++D,aAAtC,EAAqDJ,eAArD,CAAX;AACA,mBAAO,CAAC;AAAE;AAAH,cAAe,KAAKK,0BAAL,CAAgCxqE,QAAhC,EAA0CkqE,WAA1C,EAAuD50D,OAAvD,EAAgEiU,UAAhE,EACbtxC,IADa,CACR,UAAUmK,MAAV,EAAkB;AACxB+kE,cAAAA,uBAAuB,KAAK,IAA5B,IAAoCA,uBAAuB,KAAK,KAAK,CAArE,GAAyE,KAAK,CAA9E,GAAkFA,uBAAuB,CAAC9jC,cAAxB,CAAuC;AACrHC,gBAAAA,OAAO,EAAE;AAD4G,eAAvC,CAAlF;AAGA,qBAAOlhC,MAAP;AACH,aANiB,EAObuqB,KAPa,CAOP,UAAU7lB,KAAV,EAAiB;AACxBqgE,cAAAA,uBAAuB,KAAK,IAA5B,IAAoCA,uBAAuB,KAAK,KAAK,CAArE,GAAyE,KAAK,CAA9E,GAAkFA,uBAAuB,CAAC9jC,cAAxB,CAAuC;AACrHC,gBAAAA,OAAO,EAAE;AAD4G,eAAvC,CAAlF;AAGA,oBAAMx8B,KAAN;AACH,aAZiB,CAAf,CAAP;AApBR;AAkCH,OAnCiB,CAAlB;AAoCH,KAtCe,CAAhB;AAuCH,GAzCD;AA0CA;AACJ;AACA;AACA;;;AACIihE,EAAAA,kBAAkB,CAACrtC,SAAnB,CAA6B2vD,0BAA7B,GAA0D,UAAU/6D,OAAV,EAAmB;AACzE,QAAIm7D,gBAAgB,GAAG,IAAIjC,yFAAJ,EAAvB;;AACA,QAAIl5D,OAAO,CAACiwC,oBAAZ,EAAkC;AAC9BkrB,MAAAA,gBAAgB,CAACC,uBAAjB,CAAyCp7D,OAAO,CAACiwC,oBAAjD;AACH;;AACD,WAAOkrB,gBAAgB,CAACE,iBAAjB,EAAP;AACH,GAND;AAOA;AACJ;AACA;AACA;;;AACI5iB,EAAAA,kBAAkB,CAACrtC,SAAnB,CAA6B0vD,sBAA7B,GAAsD,UAAU96D,OAAV,EAAmB;AACrE,QAAIkR,EAAJ;;AACA,WAAOnS,4DAAS,CAAC,IAAD,EAAO,KAAK,CAAZ,EAAe,KAAK,CAApB,EAAuB,YAAY;AAC/C,UAAI+S,aAAJ,EAAmB+lC,uBAAnB,EAA4CsjB,gBAA5C,EAA8DG,eAA9D,EAA+EzuB,iBAA/E,EAAkG6C,UAAlG,EAA8Ghe,UAA9G;AACA,aAAO/kB,8DAAW,CAAC,IAAD,EAAO,UAAUyE,EAAV,EAAc;AACnC,gBAAQA,EAAE,CAACvE,KAAX;AACI,eAAK,CAAL;AACIiF,YAAAA,aAAa,GAAG9R,OAAO,CAAC8R,aAAxB;AACA+lC,YAAAA,uBAAuB,GAAG,CAAC3mC,EAAE,GAAG,KAAKZ,iBAAX,MAAkC,IAAlC,IAA0CY,EAAE,KAAK,KAAK,CAAtD,GAA0D,KAAK,CAA/D,GAAmEA,EAAE,CAAC0C,gBAAH,CAAoBzF,6HAApB,EAA2E2D,aAA3E,CAA7F;AACAqpD,YAAAA,gBAAgB,GAAG,IAAIjC,yFAAJ,EAAnB;AACAiC,YAAAA,gBAAgB,CAACK,WAAjB,CAA6B,KAAK36F,MAAL,CAAYy4E,WAAZ,CAAwBr9C,QAArD;AACAk/D,YAAAA,gBAAgB,CAACQ,SAAjB,CAA2B37D,OAAO,CAACjD,MAAnC;AACAo+D,YAAAA,gBAAgB,CAACsB,YAAjB,CAA8BrD,8EAA9B;AACA+B,YAAAA,gBAAgB,CAACwB,aAAjB;AACAxB,YAAAA,gBAAgB,CAACU,cAAjB,CAAgC,KAAKh7F,MAAL,CAAYg5E,WAA5C;AACAshB,YAAAA,gBAAgB,CAACW,uBAAjB,CAAyC,KAAKj7F,MAAL,CAAY0vC,SAAZ,CAAsBC,WAA/D;AACA2qD,YAAAA,gBAAgB,CAACY,aAAjB;;AACA,gBAAI,KAAKxqB,sBAAT,EAAiC;AAC7B4pB,cAAAA,gBAAgB,CAACa,kBAAjB,CAAoC,KAAKzqB,sBAAzC;AACH;;AACD4pB,YAAAA,gBAAgB,CAAC4B,gBAAjB,CAAkCjrD,aAAlC;AACAqpD,YAAAA,gBAAgB,CAACuF,eAAjB,CAAiC1gE,OAAO,CAACwkB,YAAzC;;AACA,gBAAI,KAAK3jD,MAAL,CAAYq7F,iBAAZ,CAA8BC,YAAlC,EAAgD;AAC5ChB,cAAAA,gBAAgB,CAACiB,eAAjB,CAAiC,KAAKv7F,MAAL,CAAYq7F,iBAAZ,CAA8BC,YAA/D;AACH;;AACD,gBAAI,KAAKt7F,MAAL,CAAYq7F,iBAAZ,CAA8BZ,eAAlC,EAAmD;AAC/CA,cAAAA,eAAe,GAAG,KAAKz6F,MAAL,CAAYq7F,iBAAZ,CAA8BZ,eAAhD;AACAH,cAAAA,gBAAgB,CAACkB,kBAAjB,CAAoCf,eAAe,CAACgB,SAApD;AACAnB,cAAAA,gBAAgB,CAACoB,sBAAjB,CAAwCjB,eAAe,CAACkB,aAAxD;AACH;;AACD,gBAAI,EAAEx8D,OAAO,CAACuY,oBAAR,KAAiCwD,yEAAnC,CAAJ,EAAkE,OAAO,CAAC;AAAE;AAAH,cAAc,CAAd,CAAP;AAClE8wB,YAAAA,iBAAiB,GAAG,IAAI9B,4EAAJ,CAAsB,KAAK8pB,WAA3B,CAApB;AACA,mBAAO,CAAC;AAAE;AAAH,cAAchoB,iBAAiB,CAACuD,WAAlB,CAA8BpwC,OAA9B,CAAd,CAAP;;AACJ,eAAK,CAAL;AACI0vC,YAAAA,UAAU,GAAGt+B,EAAE,CAACtE,IAAH,EAAb,CADJ,CAEI;;AACAquD,YAAAA,gBAAgB,CAACyB,WAAjB,CAA6BltB,UAAU,CAACmtB,YAAxC;AACA,mBAAO,CAAC;AAAE;AAAH,cAAc,CAAd,CAAP;;AACJ,eAAK,CAAL;AACI,gBAAI78D,OAAO,CAACuY,oBAAR,KAAiCwD,yEAArC,EAA+D;AAC3D,kBAAI/b,OAAO,CAAC6pC,MAAZ,EAAoB;AAChBsxB,gBAAAA,gBAAgB,CAAC2B,SAAjB,CAA2B98D,OAAO,CAAC6pC,MAAnC;AACH,eAFD,MAGK;AACDgO,gBAAAA,uBAAuB,KAAK,IAA5B,IAAoCA,uBAAuB,KAAK,KAAK,CAArE,GAAyE,KAAK,CAA9E,GAAkFA,uBAAuB,CAAC9jC,cAAxB,CAAuC;AACrHC,kBAAAA,OAAO,EAAE;AAD4G,iBAAvC,CAAlF;AAGA,sBAAM+0B,iHAAA,EAAN;AACH;AACJ;;AACD33B,YAAAA,EAAE,CAACvE,KAAH,GAAW,CAAX;;AACJ,eAAK,CAAL;AACI,gBAAI,CAACtO,0EAAA,CAAuByB,OAAO,CAACua,MAA/B,CAAD,IAA2C,KAAK15C,MAAL,CAAYy4E,WAAZ,CAAwBlkB,kBAAxB,IAA8C,KAAKv0D,MAAL,CAAYy4E,WAAZ,CAAwBlkB,kBAAxB,CAA2CtnD,MAA3C,GAAoD,CAAjJ,EAAoJ;AAChJqtF,cAAAA,gBAAgB,CAAC8B,SAAjB,CAA2Bj9D,OAAO,CAACua,MAAnC,EAA2C,KAAK15C,MAAL,CAAYy4E,WAAZ,CAAwBlkB,kBAAnE;AACH;;AACD,gBAAI,KAAKv0D,MAAL,CAAY04E,aAAZ,CAA0BE,oBAA1B,IAAkDz5C,OAAO,CAAC2qB,aAA9D,EAA6E;AACzE,sBAAQ3qB,OAAO,CAAC2qB,aAAR,CAAsBvyC,IAA9B;AACI,qBAAKyoC,wFAAL;AACI,sBAAI;AACA6Q,oBAAAA,UAAU,GAAGmzB,yFAAgC,CAAC7kD,OAAO,CAAC2qB,aAAR,CAAsBC,UAAvB,CAA7C;AACAuwC,oBAAAA,gBAAgB,CAAC+B,SAAjB,CAA2BxrC,UAA3B;AACH,mBAHD,CAIA,OAAO5lB,CAAP,EAAU;AACN,yBAAKhL,MAAL,CAAYe,OAAZ,CAAoB,qDAAqDiK,CAAzE;AACH;;AACD;;AACJ,qBAAK+U,4EAAL;AACIs6C,kBAAAA,gBAAgB,CAACgC,SAAjB,CAA2Bn9D,OAAO,CAAC2qB,aAAR,CAAsBC,UAAjD;AACA;AAZR;AAcH;;AACDitB,YAAAA,uBAAuB,KAAK,IAA5B,IAAoCA,uBAAuB,KAAK,KAAK,CAArE,GAAyE,KAAK,CAA9E,GAAkFA,uBAAuB,CAAC9jC,cAAxB,CAAuC;AACrHC,cAAAA,OAAO,EAAE;AAD4G,aAAvC,CAAlF;AAGA,mBAAO,CAAC;AAAE;AAAH,cAAemnD,gBAAgB,CAACE,iBAAjB,EAAf,CAAP;AArER;AAuEH,OAxEiB,CAAlB;AAyEH,KA3Ee,CAAhB;AA4EH,GA9ED;;AA+EA,SAAO5iB,kBAAP;AACH,CApQuC,CAoQtCwgB,uDApQsC,CAAxC;;;;;;;;;;;;;;;;;;;;;;;;;;AC1BA;AACa;;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;;AACA,IAAIrhB,gBAAgB;AAAG;AAAe,UAAU3tC,MAAV,EAAkB;AACpDqB,EAAAA,4DAAS,CAACssC,gBAAD,EAAmB3tC,MAAnB,CAAT;;AACA,WAAS2tC,gBAAT,CAA0B9nD,aAA1B,EAAyCwgB,iBAAzC,EAA4D;AACxD,WAAOrG,MAAM,CAACK,IAAP,CAAY,IAAZ,EAAkBxa,aAAlB,EAAiCwgB,iBAAjC,KAAuD,IAA9D;AACH;AACD;AACJ;AACA;AACA;AACA;;;AACIsnC,EAAAA,gBAAgB,CAACxsC,SAAjB,CAA2BqI,YAA3B,GAA0C,UAAUzT,OAAV,EAAmB;AACzD,WAAOjB,4DAAS,CAAC,IAAD,EAAO,KAAK,CAAZ,EAAe,KAAK,CAApB,EAAuB,YAAY;AAC/C,UAAIoS,GAAJ,EAASunC,kBAAT;AACA,aAAO/rC,8DAAW,CAAC,IAAD,EAAO,UAAUuE,EAAV,EAAc;AACnC,gBAAQA,EAAE,CAACrE,KAAX;AACI,eAAK,CAAL;AACIqE,YAAAA,EAAE,CAACnE,IAAH,CAAQ3F,IAAR,CAAa,CAAC,CAAD,EAAI,CAAJ,GAAS,CAAT,CAAb;;AACA,mBAAO,CAAC;AAAE;AAAH,cAAc,KAAK+wC,kBAAL,CAAwBn4C,OAAxB,CAAd,CAAP;;AACJ,eAAK,CAAL;AAAQ,mBAAO,CAAC;AAAE;AAAH,cAAekR,EAAE,CAACpE,IAAH,EAAf,CAAP;;AACR,eAAK,CAAL;AACIqE,YAAAA,GAAG,GAAGD,EAAE,CAACpE,IAAH,EAAN;;AACA,gBAAIqE,GAAG,YAAY9C,sEAAf,IAAkC8C,GAAG,CAACuD,SAAJ,KAAkBisD,uGAAxD,EAA0G;AACtGjoB,cAAAA,kBAAkB,GAAG,IAAID,sEAAJ,CAAuB,KAAK53E,MAA5B,EAAoC,KAAKyvC,iBAAzC,CAArB;AACA,qBAAO,CAAC;AAAE;AAAH,gBAAeooC,kBAAkB,CAAC3hC,0BAAnB,CAA8C/W,OAA9C,CAAf,CAAP;AACH,aAHD,MAIK;AACD,oBAAMmR,GAAN;AACH;;AACL,eAAK,CAAL;AAAQ,mBAAO,CAAC;AAAE;AAAH,aAAP;AAdZ;AAgBH,OAjBiB,CAAlB;AAkBH,KApBe,CAAhB;AAqBH,GAtBD;AAuBA;AACJ;AACA;AACA;;;AACIymC,EAAAA,gBAAgB,CAACxsC,SAAjB,CAA2B+sC,kBAA3B,GAAgD,UAAUn4C,OAAV,EAAmB;AAC/D,QAAIkR,EAAJ,EAAQE,EAAR,EAAY+hB,EAAZ,EAAgBkhB,EAAhB;;AACA,WAAOt1C,4DAAS,CAAC,IAAD,EAAO,KAAK,CAAZ,EAAe,KAAK,CAApB,EAAuB,YAAY;AAC/C,UAAI35B,WAAJ,EAAiBurD,WAAjB;AACA,aAAOhkB,8DAAW,CAAC,IAAD,EAAO,UAAUi9C,EAAV,EAAc;AACnC,gBAAQA,EAAE,CAAC/8C,KAAX;AACI,eAAK,CAAL;AACI;AACA,gBAAI,CAAC7M,OAAL,EAAc;AACV,oBAAM+oC,qHAAA,EAAN;AACH;;AACD,gBAAI/oC,OAAO,CAACqqC,YAAZ,EAA0B;AACtB;AACA,eAACn5B,EAAE,GAAG,KAAKqgC,sBAAX,MAAuC,IAAvC,IAA+CrgC,EAAE,KAAK,KAAK,CAA3D,GAA+D,KAAK,CAApE,GAAwEA,EAAE,CAAC4vD,eAAH,CAAmBF,2EAAnB,CAAxE;AACA,mBAAK9/D,MAAL,CAAY3Z,IAAZ,CAAiB,oFAAjB;AACA,oBAAMknB,iGAAA,EAAN;AACH,aAVL,CAWI;;;AACA,gBAAI,CAACrO,OAAO,CAAC4D,OAAb,EAAsB;AAClB,oBAAMyK,0GAAA,EAAN;AACH;;AACDjpC,YAAAA,WAAW,GAAG46B,OAAO,CAAC9D,SAAR,IAAqB,KAAKA,SAAL,CAAe0yC,iBAAf,EAAnC;AACAje,YAAAA,WAAW,GAAG,KAAK80B,YAAL,CAAkB6M,eAAlB,CAAkCtyD,OAAO,CAAC4D,OAA1C,EAAmD,KAAK/iC,MAAL,CAAYy4E,WAAZ,CAAwBr9C,QAA3E,EAAqF+D,OAArF,EAA8F56B,WAA9F,CAAd;;AACA,gBAAI,CAACurD,WAAW,CAAC5qB,WAAjB,EAA8B;AAC1B;AACA,eAACqL,EAAE,GAAG,KAAKmgC,sBAAX,MAAuC,IAAvC,IAA+CngC,EAAE,KAAK,KAAK,CAA3D,GAA+D,KAAK,CAApE,GAAwEA,EAAE,CAAC0vD,eAAH,CAAmBF,oFAAnB,CAAxE;AACA,mBAAK9/D,MAAL,CAAY3Z,IAAZ,CAAiB,gGAAjB;AACA,oBAAMknB,iGAAA,EAAN;AACH,aALD,MAMK,IAAIy8B,6EAAA,CAA6Bna,WAAW,CAAC5qB,WAAZ,CAAwBkvD,QAArD,KACLnqB,yEAAA,CAAyBna,WAAW,CAAC5qB,WAAZ,CAAwB6sB,SAAjD,EAA4D,KAAK/xD,MAAL,CAAY04E,aAAZ,CAA0BC,yBAAtF,CADC,EACiH;AAClH;AACA,eAACrmB,EAAE,GAAG,KAAKoe,sBAAX,MAAuC,IAAvC,IAA+Cpe,EAAE,KAAK,KAAK,CAA3D,GAA+D,KAAK,CAApE,GAAwEA,EAAE,CAAC2tC,eAAH,CAAmBF,yFAAnB,CAAxE;AACA,mBAAK9/D,MAAL,CAAY3Z,IAAZ,CAAiB,gGAAgG,KAAKtmB,MAAL,CAAY04E,aAAZ,CAA0BC,yBAA1H,GAAsJ,WAAvK;AACA,oBAAMnrC,iGAAA,EAAN;AACH,aANI,MAOA,IAAIsiB,WAAW,CAAC5qB,WAAZ,CAAwB+uD,SAAxB,IAAqChqB,yEAAA,CAAyBna,WAAW,CAAC5qB,WAAZ,CAAwB+uD,SAAjD,EAA4D,CAA5D,CAAzC,EAAyG;AAC1G;AACA,eAACzgB,EAAE,GAAG,KAAK9C,sBAAX,MAAuC,IAAvC,IAA+C8C,EAAE,KAAK,KAAK,CAA3D,GAA+D,KAAK,CAApE,GAAwEA,EAAE,CAACysB,eAAH,CAAmBF,yFAAnB,CAAxE;AACA,mBAAK9/D,MAAL,CAAY3Z,IAAZ,CAAiB,oGAAjB;AACA,oBAAMknB,iGAAA,EAAN;AACH;;AACD,gBAAI,KAAKxtC,MAAL,CAAY0wE,sBAAhB,EAAwC;AACpC,mBAAK1wE,MAAL,CAAY0wE,sBAAZ,CAAmC8vB,kBAAnC;AACH;;AACD,mBAAO,CAAC;AAAE;AAAH,cAAc,KAAKC,6BAAL,CAAmC3wC,WAAnC,EAAgD3wB,OAAhD,CAAd,CAAP;;AACJ,eAAK,CAAL;AAAQ,mBAAO,CAAC;AAAE;AAAH,cAAe4pD,EAAE,CAAC98C,IAAH,EAAf,CAAP;AAzCZ;AA2CH,OA5CiB,CAAlB;AA6CH,KA/Ce,CAAhB;AAgDH,GAlDD;AAmDA;AACJ;AACA;AACA;;;AACI8qC,EAAAA,gBAAgB,CAACxsC,SAAjB,CAA2Bk2D,6BAA3B,GAA2D,UAAU3wC,WAAV,EAAuB3wB,OAAvB,EAAgC;AACvF,WAAOjB,4DAAS,CAAC,IAAD,EAAO,KAAK,CAAZ,EAAe,KAAK,CAApB,EAAuB,YAAY;AAC/C,UAAIm0B,UAAJ,EAAgBkxB,QAAhB;AACA,aAAOz3C,8DAAW,CAAC,IAAD,EAAO,UAAUuE,EAAV,EAAc;AACnC,gBAAQA,EAAE,CAACrE,KAAX;AACI,eAAK,CAAL;AACI,gBAAI8jB,WAAW,CAAClc,OAAhB,EAAyB;AACrBye,cAAAA,UAAU,GAAG,IAAIhD,4DAAJ,CAAcS,WAAW,CAAClc,OAAZ,CAAoB6e,MAAlC,EAA0C,KAAKzyD,MAAL,CAAY64E,eAAtD,CAAb;AACH,aAHL,CAII;;;AACA,gBAAI15C,OAAO,CAAC94B,MAAR,IAAmB84B,OAAO,CAAC94B,MAAR,KAAmB,CAA1C,EAA8C;AAC1Ck9E,cAAAA,QAAQ,GAAGlxB,UAAU,KAAK,IAAf,IAAuBA,UAAU,KAAK,KAAK,CAA3C,GAA+C,KAAK,CAApD,GAAwDA,UAAU,CAAC3Y,MAAX,CAAkBgnD,SAArF;;AACA,kBAAI,CAACnd,QAAL,EAAe;AACX,sBAAM/1C,kGAAA,EAAN;AACH;;AACD6hB,cAAAA,wEAAA,CAAsBk0B,QAAtB,EAAgCpkD,OAAO,CAAC94B,MAAxC;AACH;;AACD,mBAAO,CAAC;AAAE;AAAH,cAAcoyF,sGAAA,CAA6C,KAAKzE,WAAlD,EAA+D,KAAK34D,SAApE,EAA+Ey0B,WAA/E,EAA4F,IAA5F,EAAkG3wB,OAAlG,EAA2GkzB,UAA3G,CAAd,CAAP;;AACJ,eAAK,CAAL;AAAQ,mBAAO,CAAC;AAAE;AAAH,cAAehiB,EAAE,CAACpE,IAAH,EAAf,CAAP;AAdZ;AAgBH,OAjBiB,CAAlB;AAkBH,KApBe,CAAhB;AAqBH,GAtBD;;AAuBA,SAAO8qC,gBAAP;AACH,CApHqC,CAoHpCqhB,sDApHoC,CAAtC;;;;;;;;;;;;;;;;;;;;;;;;;;AChBA;AACa;;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;;AACA,IAAIwI,gCAAgC,GAAG,GAAvC;AACA,IAAIrtC,sBAAsB,GAAG;AACzBolB,EAAAA,yBAAyB,EAAEioB,gCADF;AAEzBhoB,EAAAA,oBAAoB,EAAE,KAFG;AAGzBiM,EAAAA,QAAQ,EAAEz3C,uEAAsBiE;AAHP,CAA7B;AAKA,IAAIwvD,6BAA6B,GAAG;AAChChsC,EAAAA,cAAc,EAAE,YAAY,CACxB;AACH,GAH+B;AAIhC94B,EAAAA,iBAAiB,EAAE,KAJa;AAKhCF,EAAAA,QAAQ,EAAEb,4DALsB;AAMhCiW,EAAAA,aAAa,EAAE7D,uEAAsBiE;AANL,CAApC;AAQA,IAAIyvD,8BAA8B,GAAG;AACjCvkB,EAAAA,mBAAmB,EAAE,YAAY;AAC7B,WAAOr+C,4DAAS,CAAC,IAAD,EAAO,KAAK,CAAZ,EAAe,KAAK,CAApB,EAAuB,YAAY;AAC/C,UAAI61D,UAAJ;AACA,aAAOjoD,8DAAW,CAAC,IAAD,EAAO,UAAUuE,EAAV,EAAc;AACnC0jD,QAAAA,UAAU,GAAG,oEAAb;AACA,cAAMxmD,gFAAA,CAAgCwmD,UAAhC,CAAN;AACH,OAHiB,CAAlB;AAIH,KANe,CAAhB;AAOH,GATgC;AAUjChX,EAAAA,oBAAoB,EAAE,YAAY;AAC9B,WAAO7+C,4DAAS,CAAC,IAAD,EAAO,KAAK,CAAZ,EAAe,KAAK,CAApB,EAAuB,YAAY;AAC/C,UAAI61D,UAAJ;AACA,aAAOjoD,8DAAW,CAAC,IAAD,EAAO,UAAUuE,EAAV,EAAc;AACnC0jD,QAAAA,UAAU,GAAG,qEAAb;AACA,cAAMxmD,gFAAA,CAAgCwmD,UAAhC,CAAN;AACH,OAHiB,CAAlB;AAIH,KANe,CAAhB;AAOH;AAlBgC,CAArC;AAoBA,IAAIgN,oBAAoB,GAAG;AACvBroD,EAAAA,GAAG,EAAEtL,8DADkB;AAEvBlsC,EAAAA,OAAO,EAAEA,wDAFc;AAGvB+3E,EAAAA,GAAG,EAAE7rC,uEAHkB;AAIvB8rC,EAAAA,EAAE,EAAE9rC,uEAAsBiE;AAJH,CAA3B;AAMA,IAAI4vD,0BAA0B,GAAG;AAC7B3F,EAAAA,YAAY,EAAEluD,uEADe;AAE7BqtD,EAAAA,eAAe,EAAE9nD;AAFY,CAAjC;AAIA,IAAIuuD,2BAA2B,GAAG;AAC9BzsC,EAAAA,kBAAkB,EAAEf,mFADU;AAE9B1C,EAAAA,MAAM,EAAE,KAAK5jB,gFAA+B+9C;AAFd,CAAlC;AAIA,IAAIv1B,yBAAyB,GAAG;AAC5BjmB,EAAAA,WAAW,EAAE;AACTkmB,IAAAA,OAAO,EAAE,EADA;AAETC,IAAAA,UAAU,EAAE;AAFH;AADe,CAAhC;AAMA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,SAASioC,wBAAT,CAAkC1tD,EAAlC,EAAsC;AAClC,MAAI8wD,eAAe,GAAG9wD,EAAE,CAACooC,WAAzB;AAAA,MAAsC2oB,iBAAiB,GAAG/wD,EAAE,CAACqoC,aAA7D;AAAA,MAA4E2oB,gBAAgB,GAAGhxD,EAAE,CAACzU,aAAlG;AAAA,MAAiH0lE,qBAAqB,GAAGjxD,EAAE,CAAC0oC,gBAA5I;AAAA,MAA8JwoB,qBAAqB,GAAGlxD,EAAE,CAACyoC,gBAAzL;AAAA,MAA2M0oB,oBAAoB,GAAGnxD,EAAE,CAACwoC,eAArO;AAAA,MAAsPwiB,iBAAiB,GAAGhrD,EAAE,CAACgrD,iBAA7Q;AAAA,MAAgSriB,WAAW,GAAG3oC,EAAE,CAAC2oC,WAAjT;AAAA,MAA8TtpC,SAAS,GAAGW,EAAE,CAACX,SAA7U;AAAA,MAAwVghC,sBAAsB,GAAGrgC,EAAE,CAACqgC,sBAApX;AAAA,MAA4Y4oB,iBAAiB,GAAGjpD,EAAE,CAACipD,iBAAna;AAAA,MAAsbD,iBAAiB,GAAGhpD,EAAE,CAACgpD,iBAA7c;;AACA,MAAIz9D,aAAa,GAAG+O,2DAAQ,CAACA,2DAAQ,CAAC,EAAD,EAAKk2D,6BAAL,CAAT,EAA8CQ,gBAA9C,CAA5B;;AACA,SAAO;AACH5oB,IAAAA,WAAW,EAAEgpB,gBAAgB,CAACN,eAAD,CAD1B;AAEHzoB,IAAAA,aAAa,EAAE/tC,2DAAQ,CAACA,2DAAQ,CAAC,EAAD,EAAK4oB,sBAAL,CAAT,EAAuC6tC,iBAAvC,CAFpB;AAGHxlE,IAAAA,aAAa,EAAEA,aAHZ;AAIHm9C,IAAAA,gBAAgB,EAAEuoB,qBAAqB,IAAI,IAAIxN,uEAAJ,CAAwBqN,eAAe,CAAC/lE,QAAxC,EAAkDwS,6EAAlD,CAJxC;AAKHkrC,IAAAA,gBAAgB,EAAEyoB,qBAAqB,IAAIT,8BALxC;AAMHjoB,IAAAA,eAAe,EAAE2oB,oBAAoB,IAAI5zD,6EANtC;AAOHytD,IAAAA,iBAAiB,EAAEA,iBAAiB,IAAI4F,0BAPrC;AAQHjoB,IAAAA,WAAW,EAAEruC,2DAAQ,CAACA,2DAAQ,CAAC,EAAD,EAAKo2D,oBAAL,CAAT,EAAqC/nB,WAArC,CARlB;AASHtpC,IAAAA,SAAS,EAAE/E,2DAAQ,CAACA,2DAAQ,CAAC,EAAD,EAAKirB,yBAAL,CAAT,EAA0ClmB,SAA1C,CAThB;AAUHghC,IAAAA,sBAAsB,EAAEA,sBAAsB,IAAI,IAV/C;AAWH4oB,IAAAA,iBAAiB,EAAEA,iBAAiB,IAAI,IAXrC;AAYHD,IAAAA,iBAAiB,EAAEA,iBAAiB,IAAI;AAZrC,GAAP;AAcH;AACD;AACA;AACA;AACA;;;AACA,SAASoI,gBAAT,CAA0BhpB,WAA1B,EAAuC;AACnC,SAAO9tC,2DAAQ,CAAC;AAAE4pB,IAAAA,kBAAkB,EAAE,EAAtB;AAA0BjE,IAAAA,iBAAiB,EAAE4wC,2BAA7C;AAA0EtwC,IAAAA,0BAA0B,EAAE;AAAtG,GAAD,EAAgH6nB,WAAhH,CAAf;AACH;;;;;;;;;;;;;;;;;;;ACrGD;AACa;;AACb;AACA;AAEA;AACA;AACA;AACA;;AACA,IAAI7qC,6BAA6B,GAAG;AAChCiL,EAAAA,aAAa,EAAE,YAAY;AACvB,QAAIk7C,UAAU,GAAG,6DAAjB;AACA,UAAMxmD,gFAAA,CAAgCwmD,UAAhC,CAAN;AACH,GAJ+B;AAKhCzoC,EAAAA,YAAY,EAAE,YAAY;AACtB,QAAIyoC,UAAU,GAAG,4DAAjB;AACA,UAAMxmD,gFAAA,CAAgCwmD,UAAhC,CAAN;AACH,GAR+B;AAShC9oC,EAAAA,YAAY,EAAE,YAAY;AACtB,QAAI8oC,UAAU,GAAG,4DAAjB;AACA,UAAMxmD,gFAAA,CAAgCwmD,UAAhC,CAAN;AACH,GAZ+B;AAahC/6B,EAAAA,iBAAiB,EAAE,YAAY;AAC3B,WAAO96B,4DAAS,CAAC,IAAD,EAAO,KAAK,CAAZ,EAAe,KAAK,CAApB,EAAuB,YAAY;AAC/C,UAAI61D,UAAJ;AACA,aAAOjoD,8DAAW,CAAC,IAAD,EAAO,UAAUuE,EAAV,EAAc;AACnC0jD,QAAAA,UAAU,GAAG,iEAAb;AACA,cAAMxmD,gFAAA,CAAgCwmD,UAAhC,CAAN;AACH,OAHiB,CAAlB;AAIH,KANe,CAAhB;AAOH,GArB+B;AAsBhC76B,EAAAA,sBAAsB,EAAE,YAAY;AAChC,WAAOh7B,4DAAS,CAAC,IAAD,EAAO,KAAK,CAAZ,EAAe,KAAK,CAApB,EAAuB,YAAY;AAC/C,UAAI61D,UAAJ;AACA,aAAOjoD,8DAAW,CAAC,IAAD,EAAO,UAAUuE,EAAV,EAAc;AACnC0jD,QAAAA,UAAU,GAAG,sEAAb;AACA,cAAMxmD,gFAAA,CAAgCwmD,UAAhC,CAAN;AACH,OAHiB,CAAlB;AAIH,KANe,CAAhB;AAOH,GA9B+B;AA+BhC15B,EAAAA,qBAAqB,EAAE,YAAY;AAC/B,WAAOn8B,4DAAS,CAAC,IAAD,EAAO,KAAK,CAAZ,EAAe,KAAK,CAApB,EAAuB,YAAY;AAC/C,UAAI61D,UAAJ;AACA,aAAOjoD,8DAAW,CAAC,IAAD,EAAO,UAAUuE,EAAV,EAAc;AACnC0jD,QAAAA,UAAU,GAAG,qEAAb;AACA,cAAMxmD,gFAAA,CAAgCwmD,UAAhC,CAAN;AACH,OAHiB,CAAlB;AAIH,KANe,CAAhB;AAOH,GAvC+B;AAwChCv5B,EAAAA,aAAa,EAAE,YAAY;AACvB,WAAOt8B,4DAAS,CAAC,IAAD,EAAO,KAAK,CAAZ,EAAe,KAAK,CAApB,EAAuB,YAAY;AAC/C,UAAI61D,UAAJ;AACA,aAAOjoD,8DAAW,CAAC,IAAD,EAAO,UAAUuE,EAAV,EAAc;AACnC0jD,QAAAA,UAAU,GAAG,6DAAb;AACA,cAAMxmD,gFAAA,CAAgCwmD,UAAhC,CAAN;AACH,OAHiB,CAAlB;AAIH,KANe,CAAhB;AAOH,GAhD+B;AAiDhCt5B,EAAAA,OAAO,EAAE,YAAY;AACjB,WAAOv8B,4DAAS,CAAC,IAAD,EAAO,KAAK,CAAZ,EAAe,KAAK,CAApB,EAAuB,YAAY;AAC/C,UAAI61D,UAAJ;AACA,aAAOjoD,8DAAW,CAAC,IAAD,EAAO,UAAUuE,EAAV,EAAc;AACnC0jD,QAAAA,UAAU,GAAG,uDAAb;AACA,cAAMxmD,gFAAA,CAAgCwmD,UAAhC,CAAN;AACH,OAHiB,CAAlB;AAIH,KANe,CAAhB;AAOH,GAzD+B;AA0DhC95B,EAAAA,UAAU,EAAE,YAAY;AACpB,WAAO/7B,4DAAS,CAAC,IAAD,EAAO,KAAK,CAAZ,EAAe,KAAK,CAApB,EAAuB,YAAY;AAC/C,UAAI61D,UAAJ;AACA,aAAOjoD,8DAAW,CAAC,IAAD,EAAO,UAAUuE,EAAV,EAAc;AACnC0jD,QAAAA,UAAU,GAAG,0DAAb;AACA,cAAMxmD,gFAAA,CAAgCwmD,UAAhC,CAAN;AACH,OAHiB,CAAlB;AAIH,KANe,CAAhB;AAOH;AAlE+B,CAApC;;;;;;;;;;;;;;;;;;ACTA;AACa;;AACb;AACA;AAEA;AACA;AACA;AACA;;AACA,IAAI77B,UAAU;AAAG;AAAe,YAAY;AACxC,WAASA,UAAT,CAAoBlqC,OAApB,EAA6B;AACzB,SAAK4zE,GAAL,GAAW5zE,OAAO,CAAC4zE,GAAnB;AACA,SAAKlmC,GAAL,GAAW1tC,OAAO,CAAC0tC,GAAnB;AACA,SAAKpB,GAAL,GAAWtsC,OAAO,CAACssC,GAAnB;AACH;AACD;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;;;AACIpC,EAAAA,UAAU,CAACuD,kBAAX,GAAgC,UAAUomC,gBAAV,EAA4B;AACxD;AACA,QAAI,CAACA,gBAAgB,CAACvnC,GAAtB,EAA2B;AACvB,YAAMonC,4FAAA,EAAN;AACH,KAJuD,CAKxD;;;AACA,QAAI,CAACG,gBAAgB,CAACnmC,GAAtB,EAA2B;AACvB,YAAMgmC,4FAAA,EAAN;AACH;;AACD,QAAI5mC,SAAS,GAAG,IAAI5C,UAAJ,CAAe;AAC3B;AACA0pC,MAAAA,GAAG,EAAEC,gBAAgB,CAACD,GAAjB,IAAwBD,8DAFF;AAG3BrnC,MAAAA,GAAG,EAAEunC,gBAAgB,CAACvnC,GAHK;AAI3BoB,MAAAA,GAAG,EAAEmmC,gBAAgB,CAACnmC;AAJK,KAAf,CAAhB;AAMA,WAAOv8C,IAAI,CAACI,SAAL,CAAeu7C,SAAf,CAAP;AACH,GAhBD;;AAiBA,SAAO5C,UAAP;AACH,CAhC+B,EAAhC;;;;;;;;;;;;;;;;;;;;ACTA;AACa;;AACb;AACA;AACA;AAEA;AACA;AACA;AACA;;AACA,IAAI+pC,WAAW;AACf,GAAC,UAAUA,WAAV,EAAuB;AACpBA,IAAAA,WAAW,CAAC,IAAD,CAAX,GAAoB,IAApB;AACAA,IAAAA,WAAW,CAAC,KAAD,CAAX,GAAqB,KAArB;AACH,GAHD,EAGGA,WAAW,KAAKA,WAAW,GAAG,EAAnB,CAHd,CADe;;AAAA,SAAXA,WAAW;AAAA,IAAf;;AAKA,IAAI/3B,iBAAiB;AAAG;AAAe,YAAY;AAC/C,WAASA,iBAAT,CAA2B8pB,WAA3B,EAAwC;AACpC,SAAKA,WAAL,GAAmBA,WAAnB;AACH;AACD;AACJ;AACA;AACA;AACA;AACA;;;AACI9pB,EAAAA,iBAAiB,CAAC3/B,SAAlB,CAA4BglC,WAA5B,GAA0C,UAAUpwC,OAAV,EAAmB;AACzD,WAAOjB,4DAAS,CAAC,IAAD,EAAO,KAAK,CAAZ,EAAe,KAAK,CAApB,EAAuB,YAAY;AAC/C,UAAIsxC,MAAJ,EAAYwsB,YAAZ,EAA0B3rD,EAA1B;;AACA,aAAOvE,8DAAW,CAAC,IAAD,EAAO,UAAUyE,EAAV,EAAc;AACnC,gBAAQA,EAAE,CAACvE,KAAX;AACI,eAAK,CAAL;AAAQ,mBAAO,CAAC;AAAE;AAAH,cAAc,KAAKk2D,WAAL,CAAiB/iE,OAAjB,CAAd,CAAP;;AACR,eAAK,CAAL;AACIqwC,YAAAA,MAAM,GAAGj/B,EAAE,CAACtE,IAAH,EAAT;AACA+vD,YAAAA,YAAY,GAAG,KAAKhI,WAAL,CAAiB/oC,YAAjB,CAA8B9rC,IAAI,CAACI,SAAL,CAAeiwD,MAAf,CAA9B,CAAf;AACAn/B,YAAAA,EAAE,GAAG;AACDiqB,cAAAA,GAAG,EAAEkV,MAAM,CAAClV,GADX;AAED0hC,cAAAA,YAAY,EAAEA;AAFb,aAAL;AAIA,mBAAO,CAAC;AAAE;AAAH,cAAc,KAAKhI,WAAL,CAAiB/5B,UAAjB,CAA4B+hC,YAA5B,CAAd,CAAP;;AACJ,eAAK,CAAL;AAAQ,mBAAO,CAAC;AAAE;AAAH,eAAgB3rD,EAAE,CAACo/B,UAAH,GAAgBl/B,EAAE,CAACtE,IAAH,EAAhB,EACvBoE,EADO,EAAP;AAVZ;AAaH,OAdiB,CAAlB;AAeH,KAjBe,CAAhB;AAkBH,GAnBD;AAoBA;AACJ;AACA;AACA;AACA;;;AACI65B,EAAAA,iBAAiB,CAAC3/B,SAAlB,CAA4B23D,WAA5B,GAA0C,UAAU/iE,OAAV,EAAmB;AACzD,WAAOjB,4DAAS,CAAC,IAAD,EAAO,KAAK,CAAZ,EAAe,KAAK,CAApB,EAAuB,YAAY;AAC/C,UAAIikE,aAAJ;AACA,aAAOr2D,8DAAW,CAAC,IAAD,EAAO,UAAUuE,EAAV,EAAc;AACnC,gBAAQA,EAAE,CAACrE,KAAX;AACI,eAAK,CAAL;AAAQ,mBAAO,CAAC;AAAE;AAAH,cAAc,KAAKgoD,WAAL,CAAiB96B,sBAAjB,CAAwC/5B,OAAxC,CAAd,CAAP;;AACR,eAAK,CAAL;AACIgjE,YAAAA,aAAa,GAAG9xD,EAAE,CAACpE,IAAH,EAAhB;AACA,mBAAO,CAAC;AAAE;AAAH,cAAe;AACdquB,cAAAA,GAAG,EAAE6nC,aADS;AAEdC,cAAAA,OAAO,EAAEH,WAAW,CAACI;AAFP,aAAf,CAAP;AAJR;AASH,OAViB,CAAlB;AAWH,KAbe,CAAhB;AAcH,GAfD;AAgBA;AACJ;AACA;AACA;AACA;AACA;;;AACIn4B,EAAAA,iBAAiB,CAAC3/B,SAAlB,CAA4B6jC,YAA5B,GAA2C,UAAUlpC,WAAV,EAAuB8/B,KAAvB,EAA8B7lC,OAA9B,EAAuC;AAC9E,WAAOjB,4DAAS,CAAC,IAAD,EAAO,KAAK,CAAZ,EAAe,KAAK,CAApB,EAAuB,YAAY;AAC/C,aAAO4N,8DAAW,CAAC,IAAD,EAAO,UAAUuE,EAAV,EAAc;AACnC,eAAO,CAAC;AAAE;AAAH,UAAe,KAAKiyD,WAAL,CAAiBp9D,WAAjB,EAA8B8/B,KAA9B,EAAqC7lC,OAArC,CAAf,CAAP;AACH,OAFiB,CAAlB;AAGH,KAJe,CAAhB;AAKH,GAND;AAOA;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;;;AACI+qC,EAAAA,iBAAiB,CAAC3/B,SAAlB,CAA4B+3D,WAA5B,GAA0C,UAAU1zC,OAAV,EAAmBoW,KAAnB,EAA0B7lC,OAA1B,EAAmCua,MAAnC,EAA2C;AACjF,WAAOxb,4DAAS,CAAC,IAAD,EAAO,KAAK,CAAZ,EAAe,KAAK,CAApB,EAAuB,YAAY;AAC/C,UAAIyb,qBAAJ,EAA2BC,kBAA3B,EAA+CC,SAA/C,EAA0Dq0B,QAA1D,EAAoEq0B,iBAApE,EAAuFC,qBAAvF;AACA,aAAO12D,8DAAW,CAAC,IAAD,EAAO,UAAUuE,EAAV,EAAc;AACnC,gBAAQA,EAAE,CAACrE,KAAX;AACI,eAAK,CAAL;AACI2N,YAAAA,qBAAqB,GAAGxa,OAAO,CAACwa,qBAAhC,EAAuDC,kBAAkB,GAAGza,OAAO,CAACya,kBAApF,EAAwGC,SAAS,GAAG1a,OAAO,CAAC0a,SAA5H,EAAuIq0B,QAAQ,GAAG/uC,OAAO,CAAC+uC,QAA1J;AACAq0B,YAAAA,iBAAiB,GAAI3oD,kBAAD,GAAuB,IAAIpc,wDAAJ,CAAcoc,kBAAd,CAAvB,GAA2DjH,SAA/E;AACA6vD,YAAAA,qBAAqB,GAAGD,iBAAiB,KAAK,IAAtB,IAA8BA,iBAAiB,KAAK,KAAK,CAAzD,GAA6D,KAAK,CAAlE,GAAsEA,iBAAiB,CAAC57D,gBAAlB,EAA9F;AACA,mBAAO,CAAC;AAAE;AAAH,cAAc,KAAKqtD,WAAL,CAAiBv5B,OAAjB,CAAyB9vB,2DAAQ,CAAC;AAAE83D,cAAAA,EAAE,EAAE7zC,OAAN;AAAe8zC,cAAAA,EAAE,EAAEz4B,qEAAA,EAAnB;AAA2Cn9B,cAAAA,CAAC,EAAE6M,qBAAqB,KAAK,IAA1B,IAAkCA,qBAAqB,KAAK,KAAK,CAAjE,GAAqE,KAAK,CAA1E,GAA8EA,qBAAqB,CAACgpD,WAAtB,EAA5H;AAAiKv9E,cAAAA,CAAC,EAAEo9E,qBAAqB,KAAK,IAA1B,IAAkCA,qBAAqB,KAAK,KAAK,CAAjE,GAAqE,KAAK,CAA1E,GAA8EA,qBAAqB,CAACv7D,eAAxQ;AAAyR0iB,cAAAA,KAAK,EAAEukB,QAAQ,IAAI,KAAK8lB,WAAL,CAAiBn7C,aAAjB,EAA5S;AAA8UvO,cAAAA,CAAC,EAAEk4D,qBAAqB,KAAK,IAA1B,IAAkCA,qBAAqB,KAAK,KAAK,CAAjE,GAAqE,KAAK,CAA1E,GAA8EA,qBAAqB,CAACx7D,YAArb;AAAmc47D,cAAAA,CAAC,EAAE,CAACJ,qBAAqB,KAAK,IAA1B,IAAkCA,qBAAqB,KAAK,KAAK,CAAjE,GAAqE,KAAK,CAA1E,GAA8EA,qBAAqB,CAACz7D,WAArG,IAAoH,CAAC,EAAD,EAAKy7D,qBAAqB,CAACz7D,WAA3B,CAApH,GAA8J4L,SAApmB;AAA+mBkwD,cAAAA,aAAa,EAAEhpD,SAAS,IAAIlH;AAA3oB,aAAD,EAAypB+G,MAAzpB,CAAjC,EAAmsBsrB,KAAnsB,EAA0sB7lC,OAAO,CAAC8R,aAAltB,CAAd,CAAP;;AACJ,eAAK,CAAL;AAAQ,mBAAO,CAAC;AAAE;AAAH,cAAeZ,EAAE,CAACpE,IAAH,EAAf,CAAP;AANZ;AAQH,OATiB,CAAlB;AAUH,KAZe,CAAhB;AAaH,GAdD;;AAeA,SAAOi+B,iBAAP;AACH,CAxFsC,EAAvC;;;;;;;;;;;;;;;;;;;;ACfA;AACa;;AACb;AACA;AAEA;AACA;AACA;AACA;;AACA;AACA;AACA;;AACA,IAAI44B,gBAAgB,GAAG;AACnBC,EAAAA,eAAe,EAAE;AACbnsF,IAAAA,IAAI,EAAE,kBADO;AAEbypD,IAAAA,IAAI,EAAE;AAFO,GADE;AAKnB8B,EAAAA,iBAAiB,EAAE;AACfvrD,IAAAA,IAAI,EAAE,qBADS;AAEfypD,IAAAA,IAAI,EAAE;AAFS;AALA,CAAvB;AAUA;AACA;AACA;;AACA,IAAI9yB,SAAS;AAAG;AAAe,UAAUnE,MAAV,EAAkB;AAC7CqB,EAAAA,4DAAS,CAAC8C,SAAD,EAAYnE,MAAZ,CAAT;;AACA,WAASmE,SAAT,CAAmBsG,SAAnB,EAA8BmvB,YAA9B,EAA4CggC,QAA5C,EAAsD;AAClD,QAAI7xD,KAAK,GAAG,IAAZ;;AACA,QAAI8xD,WAAW,GAAGjgC,YAAY,GAAGnvB,SAAS,GAAG,IAAZ,GAAmBmvB,YAAtB,GAAqCnvB,SAAnE;AACA1C,IAAAA,KAAK,GAAG/H,MAAM,CAACK,IAAP,CAAY,IAAZ,EAAkBw5D,WAAlB,KAAkC,IAA1C;AACAxgE,IAAAA,MAAM,CAAC2H,cAAP,CAAsB+G,KAAtB,EAA6B5D,SAAS,CAAChD,SAAvC;AACA4G,IAAAA,KAAK,CAAC0C,SAAN,GAAkBA,SAAS,IAAIzG,uEAA/B;AACA+D,IAAAA,KAAK,CAAC6xB,YAAN,GAAqBA,YAAY,IAAI51B,uEAArC;AACA+D,IAAAA,KAAK,CAAC4C,QAAN,GAAiBivD,QAAQ,IAAI51D,uEAA7B;AACA+D,IAAAA,KAAK,CAACrgC,IAAN,GAAa,WAAb;AACA,WAAOqgC,KAAP;AACH;;AACD5D,EAAAA,SAAS,CAAChD,SAAV,CAAoB4nC,gBAApB,GAAuC,UAAUlhC,aAAV,EAAyB;AAC5D,SAAKA,aAAL,GAAqBA,aAArB;AACH,GAFD;AAGA;AACJ;AACA;AACA;;;AACI1D,EAAAA,SAAS,CAAC8P,qBAAV,GAAkC,UAAU6lD,OAAV,EAAmB;AACjD,WAAO,IAAI31D,SAAJ,CAAcu1D,gBAAgB,CAACC,eAAjB,CAAiCnsF,IAA/C,EAAqDksF,gBAAgB,CAACC,eAAjB,CAAiC1iC,IAAjC,GAAwC,IAAxC,GAA+C6iC,OAApG,CAAP;AACH,GAFD;AAGA;AACJ;AACA;AACA;AACA;;;AACI31D,EAAAA,SAAS,CAAC41D,uBAAV,GAAoC,UAAUD,OAAV,EAAmB;AACnD,WAAO,IAAI31D,SAAJ,CAAcu1D,gBAAgB,CAAC3gC,iBAAjB,CAAmCvrD,IAAjD,EAAuDksF,gBAAgB,CAAC3gC,iBAAjB,CAAmC9B,IAAnC,GAA0C,IAA1C,GAAiD6iC,OAAxG,CAAP;AACH,GAFD;;AAGA,SAAO31D,SAAP;AACH,CAhC8B,CAgC7BkgB,KAhC6B,CAA/B;;;;;;;;;;;;;;;;;;;;ACzBA;AACa;;AACb;AACA;AAEA;AACA;AACA;AACA;;AACA;AACA;AACA;;AACA,IAAIqyC,sBAAsB,GAAG;AACzBsD,EAAAA,uBAAuB,EAAE;AACrBxsF,IAAAA,IAAI,EAAE,4BADe;AAErBypD,IAAAA,IAAI,EAAE;AAFe,GADA;AAKzBgjC,EAAAA,oBAAoB,EAAE;AAClBzsF,IAAAA,IAAI,EAAE,yBADY;AAElBypD,IAAAA,IAAI,EAAE;AAFY,GALG;AASzBijC,EAAAA,iBAAiB,EAAE;AACf1sF,IAAAA,IAAI,EAAE,qBADS;AAEfypD,IAAAA,IAAI,EAAE;AAFS,GATM;AAazBkjC,EAAAA,gBAAgB,EAAE;AACd3sF,IAAAA,IAAI,EAAE,qBADQ;AAEdypD,IAAAA,IAAI,EAAE;AAFQ,GAbO;AAiBzBmjC,EAAAA,uBAAuB,EAAE;AACrB5sF,IAAAA,IAAI,EAAE,4BADe;AAErBypD,IAAAA,IAAI,EAAE;AAFe,GAjBA;AAqBzBojC,EAAAA,YAAY,EAAE;AACV7sF,IAAAA,IAAI,EAAE,eADI;AAEVypD,IAAAA,IAAI,EAAE;AAFI,GArBW;AAyBzBqjC,EAAAA,4BAA4B,EAAE;AAC1B9sF,IAAAA,IAAI,EAAE,qBADoB;AAE1BypD,IAAAA,IAAI,EAAE;AAFoB,GAzBL;AA6BzBsjC,EAAAA,mBAAmB,EAAE;AACjB/sF,IAAAA,IAAI,EAAE,uBADW;AAEjBypD,IAAAA,IAAI,EAAE;AAFW,GA7BI;AAiCzBujC,EAAAA,kBAAkB,EAAE;AAChBhtF,IAAAA,IAAI,EAAE,sBADU;AAEhBypD,IAAAA,IAAI,EAAE;AAFU,GAjCK;AAqCzBwjC,EAAAA,iBAAiB,EAAE;AACfjtF,IAAAA,IAAI,EAAE,eADS;AAEfypD,IAAAA,IAAI,EAAE;AAFS,GArCM;AAyCzByjC,EAAAA,kBAAkB,EAAE;AAChBltF,IAAAA,IAAI,EAAE,gBADU;AAEhBypD,IAAAA,IAAI,EAAE;AAFU,GAzCK;AA6CzB0jC,EAAAA,kBAAkB,EAAE;AAChBntF,IAAAA,IAAI,EAAE,iBADU;AAEhBypD,IAAAA,IAAI,EAAE;AAFU,GA7CK;AAiDzB2jC,EAAAA,kBAAkB,EAAE;AAChBptF,IAAAA,IAAI,EAAE,gBADU;AAEhBypD,IAAAA,IAAI,EAAE;AAFU,GAjDK;AAqDzB4jC,EAAAA,kBAAkB,EAAE;AAChBrtF,IAAAA,IAAI,EAAE,iBADU;AAEhBypD,IAAAA,IAAI,EAAE;AAFU,GArDK;AAyDzB6jC,EAAAA,qBAAqB,EAAE;AACnBttF,IAAAA,IAAI,EAAE,qBADa;AAEnBypD,IAAAA,IAAI,EAAE,8EACF,qFADE,GAEF;AAJe,GAzDE;AA+DzB8jC,EAAAA,qBAAqB,EAAE;AACnBvtF,IAAAA,IAAI,EAAE,oBADa;AAEnBypD,IAAAA,IAAI,EAAE;AAFa,GA/DE;AAmEzB++B,EAAAA,kBAAkB,EAAE;AAChBxoF,IAAAA,IAAI,EAAE,iBADU;AAEhBypD,IAAAA,IAAI,EAAE;AAFU,GAnEK;AAuEzB+jC,EAAAA,sBAAsB,EAAE;AACpBxtF,IAAAA,IAAI,EAAE,0BADc;AAEpBypD,IAAAA,IAAI,EAAE,qEACF;AAHgB,GAvEC;AA4EzBgkC,EAAAA,wBAAwB,EAAE;AACtBztF,IAAAA,IAAI,EAAE,4BADgB;AAEtBypD,IAAAA,IAAI,EAAE;AAFgB,GA5ED;AAgFzBikC,EAAAA,2BAA2B,EAAE;AACzB1tF,IAAAA,IAAI,EAAE,+BADmB;AAEzBypD,IAAAA,IAAI,EAAE;AAFmB,GAhFJ;AAoFzBkkC,EAAAA,wBAAwB,EAAE;AACtB3tF,IAAAA,IAAI,EAAE,wBADgB;AAEtBypD,IAAAA,IAAI,EAAE;AAFgB,GApFD;AAwFzBmkC,EAAAA,qBAAqB,EAAE;AACnB5tF,IAAAA,IAAI,EAAE,2BADa;AAEnBypD,IAAAA,IAAI,EAAE;AAFa,GAxFE;AA4FzBokC,EAAAA,qBAAqB,EAAE;AACnB7tF,IAAAA,IAAI,EAAE,2BADa;AAEnBypD,IAAAA,IAAI,EAAE;AAFa,GA5FE;AAgGzBqkC,EAAAA,mBAAmB,EAAE;AACjB9tF,IAAAA,IAAI,EAAE,wBADW;AAEjBypD,IAAAA,IAAI,EAAE;AAFW,GAhGI;AAoGzBskC,EAAAA,uBAAuB,EAAE;AACrB/tF,IAAAA,IAAI,EAAE,sBADe;AAErBypD,IAAAA,IAAI,EAAE;AAFe,GApGA;AAwGzBukC,EAAAA,0BAA0B,EAAE;AACxBhuF,IAAAA,IAAI,EAAE,+BADkB;AAExBypD,IAAAA,IAAI,EAAE;AAFkB,GAxGH;AA4GzBwkC,EAAAA,iBAAiB,EAAE;AACfjuF,IAAAA,IAAI,EAAE,qBADS;AAEfypD,IAAAA,IAAI,EAAE;AAFS,GA5GM;AAgHzBykC,EAAAA,sBAAsB,EAAE;AACpBluF,IAAAA,IAAI,EAAE,2BADc;AAEpBypD,IAAAA,IAAI,EAAE;AAFc,GAhHC;AAoHzB0kC,EAAAA,wBAAwB,EAAE;AACtBnuF,IAAAA,IAAI,EAAE,8BADgB;AAEtBypD,IAAAA,IAAI,EAAE;AAFgB,GApHD;AAwHzB2kC,EAAAA,kBAAkB,EAAE;AAChBpuF,IAAAA,IAAI,EAAE,sBADU;AAEhBypD,IAAAA,IAAI,EAAE;AAFU,GAxHK;AA4HzB4kC,EAAAA,uBAAuB,EAAE;AACrBruF,IAAAA,IAAI,EAAE,2BADe;AAErBypD,IAAAA,IAAI,EAAE;AAFe,GA5HA;AAgIzB6kC,EAAAA,cAAc,EAAE;AACZtuF,IAAAA,IAAI,EAAE,kBADM;AAEZypD,IAAAA,IAAI,EAAE;AAFM,GAhIS;AAoIzB8kC,EAAAA,gBAAgB,EAAE;AACdvuF,IAAAA,IAAI,EAAE,qCADQ;AAEdypD,IAAAA,IAAI,EAAE;AAFQ,GApIO;AAwIzB+kC,EAAAA,WAAW,EAAE;AACTxuF,IAAAA,IAAI,EAAE,kBADG;AAETypD,IAAAA,IAAI,EAAE;AAFG,GAxIY;AA4IzB0B,EAAAA,gBAAgB,EAAE;AACdnrD,IAAAA,IAAI,EAAE,oBADQ;AAEdypD,IAAAA,IAAI,EAAE;AAFQ,GA5IO;AAgJzBglC,EAAAA,qBAAqB,EAAE;AACnBzuF,IAAAA,IAAI,EAAE,yBADa;AAEnBypD,IAAAA,IAAI,EAAE;AAFa,GAhJE;AAoJzBilC,EAAAA,wBAAwB,EAAE;AACtB1uF,IAAAA,IAAI,EAAE,4BADgB;AAEtBypD,IAAAA,IAAI,EAAE;AAFgB,GApJD;AAwJzBklC,EAAAA,gBAAgB,EAAE;AACd3uF,IAAAA,IAAI,EAAE,mBADQ;AAEdypD,IAAAA,IAAI,EAAE;AAFQ,GAxJO;AA4JzBmlC,EAAAA,uBAAuB,EAAE;AACrB5uF,IAAAA,IAAI,EAAE,2BADe;AAErBypD,IAAAA,IAAI,EAAE;AAFe,GA5JA;AAgKzB2/B,EAAAA,oBAAoB,EAAE;AAClBppF,IAAAA,IAAI,EAAE,wBADY;AAElBypD,IAAAA,IAAI,EAAE;AAFY,GAhKG;AAoKzBolC,EAAAA,kBAAkB,EAAE;AAChB7uF,IAAAA,IAAI,EAAE,sBADU;AAEhBypD,IAAAA,IAAI,EAAE;AAFU,GApKK;AAwKzBqlC,EAAAA,mBAAmB,EAAE;AACjB9uF,IAAAA,IAAI,EAAE,yCADW;AAEjBypD,IAAAA,IAAI,EAAE;AAFW,GAxKI;AA4KzBslC,EAAAA,6BAA6B,EAAE;AAC3B/uF,IAAAA,IAAI,EAAE,iDADqB;AAE3BypD,IAAAA,IAAI,EAAE;AAFqB,GA5KN;AAgLzBulC,EAAAA,qBAAqB,EAAE;AACnBhvF,IAAAA,IAAI,EAAE,0BADa;AAEnBypD,IAAAA,IAAI,EAAE;AAFa,GAhLE;AAoLzBwlC,EAAAA,0BAA0B,EAAE;AACxBjvF,IAAAA,IAAI,EAAE,0BADkB;AAExBypD,IAAAA,IAAI,EAAE;AAFkB,GApLH;AAwLzBylC,EAAAA,yBAAyB,EAAE;AACvBlvF,IAAAA,IAAI,EAAE,yBADiB;AAEvBypD,IAAAA,IAAI,EAAE;AAFiB,GAxLF;AA4LzB0lC,EAAAA,kBAAkB,EAAE;AAChBnvF,IAAAA,IAAI,EAAE,oCADU;AAEhBypD,IAAAA,IAAI,EAAE;AAFU,GA5LK;AAgMzB2lC,EAAAA,YAAY,EAAE;AACVpvF,IAAAA,IAAI,EAAE,gBADI;AAEVypD,IAAAA,IAAI,EAAE;AAFI;AAhMW,CAA7B;AAqMA;AACA;AACA;;AACA,IAAI7yB,eAAe;AAAG;AAAe,UAAUpE,MAAV,EAAkB;AACnDqB,EAAAA,4DAAS,CAAC+C,eAAD,EAAkBpE,MAAlB,CAAT;;AACA,WAASoE,eAAT,CAAyBqG,SAAzB,EAAoCmvB,YAApC,EAAkD;AAC9C,QAAI7xB,KAAK,GAAG/H,MAAM,CAACK,IAAP,CAAY,IAAZ,EAAkBoK,SAAlB,EAA6BmvB,YAA7B,KAA8C,IAA1D;;AACA7xB,IAAAA,KAAK,CAACrgC,IAAN,GAAa,iBAAb;AACA2xB,IAAAA,MAAM,CAAC2H,cAAP,CAAsB+G,KAAtB,EAA6B3D,eAAe,CAACjD,SAA7C;AACA,WAAO4G,KAAP;AACH;AACD;AACJ;AACA;AACA;;;AACI3D,EAAAA,eAAe,CAACu2C,6BAAhB,GAAgD,UAAUkiB,WAAV,EAAuB;AACnE,WAAO,IAAIz4D,eAAJ,CAAoBsyD,sBAAsB,CAACsD,uBAAvB,CAA+CxsF,IAAnE,EAAyEkpF,sBAAsB,CAACsD,uBAAvB,CAA+C/iC,IAA/C,GAAsD,sBAAtD,GAA+E4lC,WAAxJ,CAAP;AACH,GAFD;AAGA;AACJ;AACA;AACA;;;AACIz4D,EAAAA,eAAe,CAACq2C,0BAAhB,GAA6C,YAAY;AACrD,WAAO,IAAIr2C,eAAJ,CAAoBsyD,sBAAsB,CAACuD,oBAAvB,CAA4CzsF,IAAhE,EAAsE,KAAKkpF,sBAAsB,CAACuD,oBAAvB,CAA4ChjC,IAAvH,CAAP;AACH,GAFD;AAGA;AACJ;AACA;AACA;;;AACI7yB,EAAAA,eAAe,CAAC61C,uBAAhB,GAA0C,UAAU6iB,qBAAV,EAAiC;AACvE,WAAO,IAAI14D,eAAJ,CAAoBsyD,sBAAsB,CAACwD,iBAAvB,CAAyC1sF,IAA7D,EAAmEkpF,sBAAsB,CAACwD,iBAAvB,CAAyCjjC,IAAzC,GAAgD,sBAAhD,GAAyE6lC,qBAA5I,CAAP;AACH,GAFD;AAGA;AACJ;AACA;AACA;;;AACI14D,EAAAA,eAAe,CAACq1C,2BAAhB,GAA8C,UAAUsjB,qBAAV,EAAiC;AAC3E,WAAO,IAAI34D,eAAJ,CAAoBsyD,sBAAsB,CAACyD,gBAAvB,CAAwC3sF,IAA5D,EAAkEkpF,sBAAsB,CAACyD,gBAAvB,CAAwCljC,IAAxC,GAA+C,oBAA/C,GAAsE8lC,qBAAxI,CAAP;AACH,GAFD;AAGA;AACJ;AACA;;;AACI34D,EAAAA,eAAe,CAAC44C,sCAAhB,GAAyD,UAAUnjB,SAAV,EAAqB;AAC1E,WAAO,IAAIz1B,eAAJ,CAAoBsyD,sBAAsB,CAAC0D,uBAAvB,CAA+C5sF,IAAnE,EAAyEkpF,sBAAsB,CAAC0D,uBAAvB,CAA+CnjC,IAA/C,GAAsD,WAAtD,GAAoE4C,SAA7I,CAAP;AACH,GAFD;AAGA;AACJ;AACA;;;AACIz1B,EAAAA,eAAe,CAAC44D,kBAAhB,GAAqC,UAAUv2E,QAAV,EAAoBozC,SAApB,EAA+B;AAChE,WAAO,IAAIz1B,eAAJ,CAAoBsyD,sBAAsB,CAAC2D,YAAvB,CAAoC7sF,IAAxD,EAA8DkpF,sBAAsB,CAAC2D,YAAvB,CAAoCpjC,IAApC,GAA2C,yBAA3C,GAAuE4C,SAAvE,GAAmF,yBAAnF,GAA+GpzC,QAAQ,CAACxQ,KAAT,CAAe,GAAf,EAAoB,CAApB,CAA7K,CAAP;AACH,GAFD;AAGA;AACJ;AACA;;;AACImuB,EAAAA,eAAe,CAACm7C,kCAAhB,GAAqD,UAAU1lB,SAAV,EAAqB;AACtE,WAAO,IAAIz1B,eAAJ,CAAoBsyD,sBAAsB,CAAC4D,4BAAvB,CAAoD9sF,IAAxE,EAA8EkpF,sBAAsB,CAAC4D,4BAAvB,CAAoDrjC,IAApD,GAA2D,yCAA3D,GAAuG4C,SAArL,CAAP;AACH,GAFD;AAGA;AACJ;AACA;AACA;;;AACIz1B,EAAAA,eAAe,CAAC64D,8BAAhB,GAAiD,UAAUC,YAAV,EAAwB;AACrE,WAAO,IAAI94D,eAAJ,CAAoBsyD,sBAAsB,CAAC6D,mBAAvB,CAA2C/sF,IAA/D,EAAqEkpF,sBAAsB,CAAC6D,mBAAvB,CAA2CtjC,IAA3C,GAAkD,iBAAlD,GAAsEimC,YAA3I,CAAP;AACH,GAFD;AAGA;AACJ;AACA;AACA;;;AACI94D,EAAAA,eAAe,CAAC6yC,uBAAhB,GAA0C,UAAUkmB,YAAV,EAAwBtD,WAAxB,EAAqC;AAC3E,WAAO,IAAIz1D,eAAJ,CAAoBsyD,sBAAsB,CAAC+D,iBAAvB,CAAyCjtF,IAA7D,EAAmEkpF,sBAAsB,CAAC+D,iBAAvB,CAAyCxjC,IAAzC,GAAgD,kBAAhD,GAAqEkmC,YAArE,GAAoF,cAApF,GAAqGtD,WAAxK,CAAP;AACH,GAFD;AAGA;AACJ;AACA;;;AACIz1D,EAAAA,eAAe,CAACg5D,wBAAhB,GAA2C,YAAY;AACnD,WAAO,IAAIh5D,eAAJ,CAAoBsyD,sBAAsB,CAACgE,kBAAvB,CAA0CltF,IAA9D,EAAoEkpF,sBAAsB,CAACgE,kBAAvB,CAA0CzjC,IAA9G,CAAP;AACH,GAFD;AAGA;AACJ;AACA;AACA;;;AACI7yB,EAAAA,eAAe,CAAC4sC,wBAAhB,GAA2C,UAAUqsB,YAAV,EAAwB;AAC/D,WAAO,IAAIj5D,eAAJ,CAAoBsyD,sBAAsB,CAACiE,kBAAvB,CAA0CntF,IAA9D,EAAoEkpF,sBAAsB,CAACiE,kBAAvB,CAA0C1jC,IAA1C,GAAiD,KAAjD,GAAyDomC,YAA7H,CAAP;AACH,GAFD;AAGA;AACJ;AACA;;;AACIj5D,EAAAA,eAAe,CAACk5D,wBAAhB,GAA2C,YAAY;AACnD,WAAO,IAAIl5D,eAAJ,CAAoBsyD,sBAAsB,CAACkE,kBAAvB,CAA0CptF,IAA9D,EAAoEkpF,sBAAsB,CAACkE,kBAAvB,CAA0C3jC,IAA9G,CAAP;AACH,GAFD;AAGA;AACJ;AACA;AACA;;;AACI7yB,EAAAA,eAAe,CAACmzD,2BAAhB,GAA8C,YAAY;AACtD,WAAO,IAAInzD,eAAJ,CAAoBsyD,sBAAsB,CAACoE,qBAAvB,CAA6CttF,IAAjE,EAAuEkpF,sBAAsB,CAACoE,qBAAvB,CAA6C7jC,IAApH,CAAP;AACH,GAFD;AAGA;AACJ;AACA;;;AACI7yB,EAAAA,eAAe,CAACi2C,2BAAhB,GAA8C,YAAY;AACtD,WAAO,IAAIj2C,eAAJ,CAAoBsyD,sBAAsB,CAACqE,qBAAvB,CAA6CvtF,IAAjE,EAAuEkpF,sBAAsB,CAACqE,qBAAvB,CAA6C9jC,IAApH,CAAP;AACH,GAFD;AAGA;AACJ;AACA;AACA;;;AACI7yB,EAAAA,eAAe,CAACm5D,wBAAhB,GAA2C,UAAUC,YAAV,EAAwB;AAC/D,WAAO,IAAIp5D,eAAJ,CAAoBsyD,sBAAsB,CAACmE,kBAAvB,CAA0CrtF,IAA9D,EAAoEkpF,sBAAsB,CAACmE,kBAAvB,CAA0C5jC,IAA1C,GAAiD,KAAjD,GAAyDumC,YAA7H,CAAP;AACH,GAFD;AAGA;AACJ;AACA;;;AACIp5D,EAAAA,eAAe,CAAC8kD,wCAAhB,GAA2D,YAAY;AACnE,WAAO,IAAI9kD,eAAJ,CAAoBsyD,sBAAsB,CAACsE,sBAAvB,CAA8CxtF,IAAlE,EAAwEkpF,sBAAsB,CAACsE,sBAAvB,CAA8C/jC,IAA9C,GAAqD,GAA7H,CAAP;AACH,GAFD;AAGA;AACJ;AACA;;;AACI7yB,EAAAA,eAAe,CAAC8Y,0CAAhB,GAA6D,YAAY;AACrE,WAAO,IAAI9Y,eAAJ,CAAoBsyD,sBAAsB,CAACuE,wBAAvB,CAAgDztF,IAApE,EAA0EkpF,sBAAsB,CAACuE,wBAAvB,CAAgDhkC,IAA1H,CAAP;AACH,GAFD;AAGA;AACJ;AACA;;;AACI7yB,EAAAA,eAAe,CAACylD,6CAAhB,GAAgE,YAAY;AACxE,WAAO,IAAIzlD,eAAJ,CAAoBsyD,sBAAsB,CAACwE,2BAAvB,CAAmD1tF,IAAvE,EAA6EkpF,sBAAsB,CAACwE,2BAAvB,CAAmDjkC,IAAhI,CAAP;AACH,GAFD;AAGA;AACJ;AACA;;;AACI7yB,EAAAA,eAAe,CAACyrD,mCAAhB,GAAsD,YAAY;AAC9D,WAAO,IAAIzrD,eAAJ,CAAoBsyD,sBAAsB,CAACyE,wBAAvB,CAAgD3tF,IAApE,EAA0EkpF,sBAAsB,CAACyE,wBAAvB,CAAgDlkC,IAA1H,CAAP;AACH,GAFD;AAGA;AACJ;AACA;AACA;;;AACI7yB,EAAAA,eAAe,CAACq5D,gCAAhB,GAAmD,UAAUC,UAAV,EAAsB;AACrE,WAAO,IAAIt5D,eAAJ,CAAoBsyD,sBAAsB,CAAC0E,qBAAvB,CAA6C5tF,IAAjE,EAAuEkpF,sBAAsB,CAAC0E,qBAAvB,CAA6CnkC,IAA7C,GAAoD,gBAApD,GAAuEymC,UAA9I,CAAP;AACH,GAFD;AAGA;AACJ;AACA;AACA;;;AACIt5D,EAAAA,eAAe,CAACu5D,kCAAhB,GAAqD,UAAUD,UAAV,EAAsB;AACvE,WAAO,IAAIt5D,eAAJ,CAAoBsyD,sBAAsB,CAAC2E,qBAAvB,CAA6C7tF,IAAjE,EAAuEkpF,sBAAsB,CAAC2E,qBAAvB,CAA6CpkC,IAA7C,GAAoD,gBAApD,GAAuEymC,UAA9I,CAAP;AACH,GAFD;AAGA;AACJ;AACA;AACA;;;AACIt5D,EAAAA,eAAe,CAACw5D,yBAAhB,GAA4C,UAAUC,WAAV,EAAuB;AAC/D,WAAO,IAAIz5D,eAAJ,CAAoBsyD,sBAAsB,CAAC4E,mBAAvB,CAA2C9tF,IAA/D,EAAqEkpF,sBAAsB,CAAC4E,mBAAvB,CAA2CrkC,IAA3C,GAAkD,iBAAlD,GAAsE4mC,WAA3I,CAAP;AACH,GAFD;AAGA;AACJ;AACA;AACA;;;AACIz5D,EAAAA,eAAe,CAAC05D,6BAAhB,GAAgD,YAAY;AACxD,WAAO,IAAI15D,eAAJ,CAAoBsyD,sBAAsB,CAAC6E,uBAAvB,CAA+C/tF,IAAnE,EAAyE,KAAKkpF,sBAAsB,CAAC6E,uBAAvB,CAA+CtkC,IAA7H,CAAP;AACH,GAFD;AAGA;AACJ;AACA;;;AACI7yB,EAAAA,eAAe,CAAC25D,8BAAhB,GAAiD,YAAY;AACzD,WAAO,IAAI35D,eAAJ,CAAoBsyD,sBAAsB,CAAC8E,0BAAvB,CAAkDhuF,IAAtE,EAA4E,KAAKkpF,sBAAsB,CAAC8E,0BAAvB,CAAkDvkC,IAAnI,CAAP;AACH,GAFD;AAGA;AACJ;AACA;;;AACI7yB,EAAAA,eAAe,CAAC45D,4BAAhB,GAA+C,YAAY;AACvD,WAAO,IAAI55D,eAAJ,CAAoBsyD,sBAAsB,CAAC+E,iBAAvB,CAAyCjuF,IAA7D,EAAmE,KAAKkpF,sBAAsB,CAAC+E,iBAAvB,CAAyCxkC,IAAjH,CAAP;AACH,GAFD;AAGA;AACJ;AACA;;;AACI7yB,EAAAA,eAAe,CAAC65D,4BAAhB,GAA+C,YAAY;AACvD,WAAO,IAAI75D,eAAJ,CAAoBsyD,sBAAsB,CAACgF,sBAAvB,CAA8CluF,IAAlE,EAAwE,KAAKkpF,sBAAsB,CAACgF,sBAAvB,CAA8CzkC,IAA3H,CAAP;AACH,GAFD;AAGA;AACJ;AACA;;;AACI7yB,EAAAA,eAAe,CAAC0xD,mCAAhB,GAAsD,YAAY;AAC9D,WAAO,IAAI1xD,eAAJ,CAAoBsyD,sBAAsB,CAACiF,wBAAvB,CAAgDnuF,IAApE,EAA0E,KAAKkpF,sBAAsB,CAACiF,wBAAvB,CAAgD1kC,IAA/H,CAAP;AACH,GAFD;AAGA;AACJ;AACA;;;AACI7yB,EAAAA,eAAe,CAAC8gD,gCAAhB,GAAmD,YAAY;AAC3D,WAAO,IAAI9gD,eAAJ,CAAoBsyD,sBAAsB,CAACkF,kBAAvB,CAA0CpuF,IAA9D,EAAoEkpF,sBAAsB,CAACkF,kBAAvB,CAA0C3kC,IAA9G,CAAP;AACH,GAFD;AAGA;AACJ;AACA;;;AACI7yB,EAAAA,eAAe,CAAC4nD,kCAAhB,GAAqD,YAAY;AAC7D,WAAO,IAAI5nD,eAAJ,CAAoBsyD,sBAAsB,CAACmF,uBAAvB,CAA+CruF,IAAnE,EAAyEkpF,sBAAsB,CAACmF,uBAAvB,CAA+C5kC,IAAxH,CAAP;AACH,GAFD;AAGA;AACJ;AACA;;;AACI7yB,EAAAA,eAAe,CAAC+9B,yBAAhB,GAA4C,YAAY;AACpD,WAAO,IAAI/9B,eAAJ,CAAoBsyD,sBAAsB,CAACoF,cAAvB,CAAsCtuF,IAA1D,EAAgEkpF,sBAAsB,CAACoF,cAAvB,CAAsC7kC,IAAtG,CAAP;AACH,GAFD;AAGA;AACJ;AACA;;;AACI7yB,EAAAA,eAAe,CAAC85D,sBAAhB,GAAyC,YAAY;AACjD,WAAO,IAAI95D,eAAJ,CAAoBsyD,sBAAsB,CAACqF,gBAAvB,CAAwCvuF,IAA5D,EAAkE,KAAKkpF,sBAAsB,CAACqF,gBAAvB,CAAwC9kC,IAA/G,CAAP;AACH,GAFD;AAGA;AACJ;AACA;AACA;;;AACI7yB,EAAAA,eAAe,CAAC+5D,yBAAhB,GAA4C,UAAUC,aAAV,EAAyB;AACjE,WAAO,IAAIh6D,eAAJ,CAAoBsyD,sBAAsB,CAACsF,WAAvB,CAAmCxuF,IAAvD,EAA6D,KAAKkpF,sBAAsB,CAACsF,WAAvB,CAAmC/kC,IAAxC,GAA+CmnC,aAA5G,CAAP;AACH,GAFD;AAGA;AACJ;AACA;;;AACIh6D,EAAAA,eAAe,CAACg3B,2BAAhB,GAA8C,YAAY;AACtD,WAAO,IAAIh3B,eAAJ,CAAoBsyD,sBAAsB,CAAC/9B,gBAAvB,CAAwCnrD,IAA5D,EAAkE,KAAKkpF,sBAAsB,CAAC/9B,gBAAvB,CAAwC1B,IAA/G,CAAP;AACH,GAFD;AAGA;AACJ;AACA;;;AACI7yB,EAAAA,eAAe,CAAC0nD,gCAAhB,GAAmD,YAAY;AAC3D,WAAO,IAAI1nD,eAAJ,CAAoBsyD,sBAAsB,CAACuF,qBAAvB,CAA6CzuF,IAAjE,EAAuE,KAAKkpF,sBAAsB,CAACuF,qBAAvB,CAA6ChlC,IAAzH,CAAP;AACH,GAFD;AAGA;AACJ;AACA;;;AACI7yB,EAAAA,eAAe,CAACspD,mCAAhB,GAAsD,YAAY;AAC9D,WAAO,IAAItpD,eAAJ,CAAoBsyD,sBAAsB,CAACwF,wBAAvB,CAAgD1uF,IAApE,EAA0E,KAAKkpF,sBAAsB,CAACwF,wBAAvB,CAAgDjlC,IAA/H,CAAP;AACH,GAFD;AAGA;AACJ;AACA;;;AACI7yB,EAAAA,eAAe,CAACi6D,2BAAhB,GAA8C,YAAY;AACtD,WAAO,IAAIj6D,eAAJ,CAAoBsyD,sBAAsB,CAACyF,gBAAvB,CAAwC3uF,IAA5D,EAAkE,KAAKkpF,sBAAsB,CAACyF,gBAAvB,CAAwCllC,IAA/G,CAAP;AACH,GAFD;AAGA;AACJ;AACA;;;AACI7yB,EAAAA,eAAe,CAACk6D,4BAAhB,GAA+C,YAAY;AACvD,WAAO,IAAIl6D,eAAJ,CAAoBsyD,sBAAsB,CAAC0F,uBAAvB,CAA+C5uF,IAAnE,EAAyE,KAAKkpF,sBAAsB,CAAC0F,uBAAvB,CAA+CnlC,IAA7H,CAAP;AACH,GAFD;AAGA;AACJ;AACA;;;AACI7yB,EAAAA,eAAe,CAACyI,0BAAhB,GAA6C,YAAY;AACrD,WAAO,IAAIzI,eAAJ,CAAoBsyD,sBAAsB,CAACE,oBAAvB,CAA4CppF,IAAhE,EAAsEkpF,sBAAsB,CAACE,oBAAvB,CAA4C3/B,IAAlH,CAAP;AACH,GAFD;AAGA;AACJ;AACA;;;AACI7yB,EAAAA,eAAe,CAACm6D,6BAAhB,GAAgD,YAAY;AACxD,WAAO,IAAIn6D,eAAJ,CAAoBsyD,sBAAsB,CAAC2F,kBAAvB,CAA0C7uF,IAA9D,EAAoEkpF,sBAAsB,CAAC2F,kBAAvB,CAA0CplC,IAA9G,CAAP;AACH,GAFD;AAGA;AACJ;AACA;;;AACI7yB,EAAAA,eAAe,CAAC8mD,8BAAhB,GAAiD,YAAY;AACzD,WAAO,IAAI9mD,eAAJ,CAAoBsyD,sBAAsB,CAAC4F,mBAAvB,CAA2C9uF,IAA/D,EAAqEkpF,sBAAsB,CAAC4F,mBAAvB,CAA2CrlC,IAAhH,CAAP;AACH,GAFD;AAGA;AACJ;AACA;;;AACI7yB,EAAAA,eAAe,CAACmsD,qCAAhB,GAAwD,YAAY;AAChE,WAAO,IAAInsD,eAAJ,CAAoBsyD,sBAAsB,CAAC6F,6BAAvB,CAAqD/uF,IAAzE,EAA+EkpF,sBAAsB,CAAC6F,6BAAvB,CAAqDtlC,IAApI,CAAP;AACH,GAFD;;AAGA7yB,EAAAA,eAAe,CAAC+jD,+BAAhB,GAAkD,YAAY;AAC1D,WAAO,IAAI/jD,eAAJ,CAAoBsyD,sBAAsB,CAACgG,yBAAvB,CAAiDlvF,IAArE,EAA2EkpF,sBAAsB,CAACgG,yBAAvB,CAAiDzlC,IAA5H,CAAP;AACH,GAFD;AAGA;AACJ;AACA;;;AACI7yB,EAAAA,eAAe,CAAC+4C,6BAAhB,GAAgD,YAAY;AACxD,WAAO,IAAI/4C,eAAJ,CAAoBsyD,sBAAsB,CAACiG,kBAAvB,CAA0CnvF,IAA9D,EAAoEkpF,sBAAsB,CAACiG,kBAAvB,CAA0C1lC,IAA9G,CAAP;AACH,GAFD;AAGA;AACJ;AACA;;;AACI7yB,EAAAA,eAAe,CAAC2gC,uBAAhB,GAA0C,YAAY;AAClD,WAAO,IAAI3gC,eAAJ,CAAoBsyD,sBAAsB,CAACkG,YAAvB,CAAoCpvF,IAAxD,EAA8DkpF,sBAAsB,CAACkG,YAAvB,CAAoC3lC,IAAlG,CAAP;AACH,GAFD;;AAGA,SAAO7yB,eAAP;AACH,CA5RoC,CA4RnCD,oDA5RmC,CAArC;;;;;;;;;;;;;;;;;;;;ACpNA;AACa;;AACb;AACA;AAEA;AACA;AACA;AACA;;AACA;AACA;AACA;;AACA,IAAIq6D,+BAA+B,GAAG;AAClCviC,EAAAA,iBAAiB,EAAE;AACfzuD,IAAAA,IAAI,EAAE,oBADS;AAEfypD,IAAAA,IAAI,EAAE;AAFS,GADe;AAKlCiF,EAAAA,mBAAmB,EAAE;AACjB1uD,IAAAA,IAAI,EAAE,uBADW;AAEjBypD,IAAAA,IAAI,EAAE;AAFW,GALa;AASlCwnC,EAAAA,yBAAyB,EAAE;AACvBjxF,IAAAA,IAAI,EAAE,8BADiB;AAEvBypD,IAAAA,IAAI,EAAE;AAFiB,GATO;AAalCynC,EAAAA,oBAAoB,EAAE;AAClBlxF,IAAAA,IAAI,EAAE,wBADY;AAElBypD,IAAAA,IAAI,EAAE;AAFY,GAbY;AAiBlC0nC,EAAAA,aAAa,EAAE;AACXnxF,IAAAA,IAAI,EAAE,iBADK;AAEXypD,IAAAA,IAAI,EAAE;AAFK,GAjBmB;AAqBlC2nC,EAAAA,aAAa,EAAE;AACXpxF,IAAAA,IAAI,EAAE,iBADK;AAEXypD,IAAAA,IAAI,EAAE;AAFK,GArBmB;AAyBlC4nC,EAAAA,gBAAgB,EAAE;AACdrxF,IAAAA,IAAI,EAAE,0BADQ;AAEdypD,IAAAA,IAAI,EAAE;AAFQ,GAzBgB;AA6BlC6nC,EAAAA,mBAAmB,EAAE;AACjBtxF,IAAAA,IAAI,EAAE,6BADW;AAEjBypD,IAAAA,IAAI,EAAE;AAFW,GA7Ba;AAiClC8nC,EAAAA,wBAAwB,EAAE;AACtBvxF,IAAAA,IAAI,EAAE,6BADgB;AAEtBypD,IAAAA,IAAI,EAAE;AAFgB,GAjCQ;AAqClC+nC,EAAAA,aAAa,EAAE;AACXxxF,IAAAA,IAAI,EAAE,sBADK;AAEXypD,IAAAA,IAAI,EAAE;AAFK,GArCmB;AAyClCgoC,EAAAA,oBAAoB,EAAE;AAClBzxF,IAAAA,IAAI,EAAE,gBADY;AAElBypD,IAAAA,IAAI,EAAE;AAFY,GAzCY;AA6ClCioC,EAAAA,sBAAsB,EAAE;AACpB1xF,IAAAA,IAAI,EAAE,qBADc;AAEpBypD,IAAAA,IAAI,EAAE;AAFc,GA7CU;AAiDlCkoC,EAAAA,uBAAuB,EAAE;AACrB3xF,IAAAA,IAAI,EAAE,sBADe;AAErBypD,IAAAA,IAAI,EAAE;AAFe,GAjDS;AAqDlCmoC,EAAAA,0BAA0B,EAAE;AACxB5xF,IAAAA,IAAI,EAAE,+BADkB;AAExBypD,IAAAA,IAAI,EAAE;AAFkB,GArDM;AAyDlCooC,EAAAA,0BAA0B,EAAE;AACxB7xF,IAAAA,IAAI,EAAE,qBADkB;AAExBypD,IAAAA,IAAI,EAAE;AAFkB,GAzDM;AA6DlCqoC,EAAAA,6BAA6B,EAAE;AAC3B9xF,IAAAA,IAAI,EAAE,kCADqB;AAE3BypD,IAAAA,IAAI,EAAE;AAFqB,GA7DG;AAiElCsoC,EAAAA,wBAAwB,EAAE;AACtB/xF,IAAAA,IAAI,EAAE,4BADgB;AAEtBypD,IAAAA,IAAI,EAAE;AAFgB,GAjEQ;AAqElCuoC,EAAAA,kBAAkB,EAAE;AAChBhyF,IAAAA,IAAI,EAAE,qBADU;AAEhBypD,IAAAA,IAAI,EAAE;AAFU,GArEc;AAyElCwoC,EAAAA,yBAAyB,EAAE;AACvBjyF,IAAAA,IAAI,EAAE,8BADiB;AAEvBypD,IAAAA,IAAI,EAAE;AAFiB,GAzEO;AA6ElCyoC,EAAAA,aAAa,EAAE;AACXlyF,IAAAA,IAAI,EAAE,iBADK;AAEXypD,IAAAA,IAAI,EAAE;AAFK,GA7EmB;AAiFlC0oC,EAAAA,aAAa,EAAE;AACXnyF,IAAAA,IAAI,EAAE,iBADK;AAEXypD,IAAAA,IAAI,EAAE;AAFK,GAjFmB;AAqFlC2oC,EAAAA,gCAAgC,EAAE;AAC9BpyF,IAAAA,IAAI,EAAE,qCADwB;AAE9BypD,IAAAA,IAAI,EAAE;AAFwB,GArFA;AAyFlC4oC,EAAAA,2BAA2B,EAAE;AACzBryF,IAAAA,IAAI,EAAE,+BADmB;AAEzBypD,IAAAA,IAAI,EAAE;AAFmB;AAzFK,CAAtC;AA8FA;AACA;AACA;;AACA,IAAI6H,wBAAwB;AAAG;AAAe,UAAU9+B,MAAV,EAAkB;AAC5DqB,EAAAA,4DAAS,CAACy9B,wBAAD,EAA2B9+B,MAA3B,CAAT;;AACA,WAAS8+B,wBAAT,CAAkCr0B,SAAlC,EAA6CmvB,YAA7C,EAA2D;AACvD,QAAI7xB,KAAK,GAAG/H,MAAM,CAACK,IAAP,CAAY,IAAZ,EAAkBoK,SAAlB,EAA6BmvB,YAA7B,KAA8C,IAA1D;;AACA7xB,IAAAA,KAAK,CAACrgC,IAAN,GAAa,0BAAb;AACA2xB,IAAAA,MAAM,CAAC2H,cAAP,CAAsB+G,KAAtB,EAA6B+2B,wBAAwB,CAAC39B,SAAtD;AACA,WAAO4G,KAAP;AACH;AACD;AACJ;AACA;;;AACI+2B,EAAAA,wBAAwB,CAACrC,2BAAzB,GAAuD,YAAY;AAC/D,WAAO,IAAIqC,wBAAJ,CAA6B0/B,+BAA+B,CAACviC,iBAAhC,CAAkDzuD,IAA/E,EAAqFgxF,+BAA+B,CAACviC,iBAAhC,CAAkDhF,IAAvI,CAAP;AACH,GAFD;AAGA;AACJ;AACA;;;AACI6H,EAAAA,wBAAwB,CAACpC,qCAAzB,GAAiE,YAAY;AACzE,WAAO,IAAIoC,wBAAJ,CAA6B0/B,+BAA+B,CAACtiC,mBAAhC,CAAoD1uD,IAAjF,EAAuFgxF,+BAA+B,CAACtiC,mBAAhC,CAAoDjF,IAA3I,CAAP;AACH,GAFD;AAGA;AACJ;AACA;;;AACI6H,EAAAA,wBAAwB,CAACghC,+BAAzB,GAA2D,UAAUC,uBAAV,EAAmC;AAC1F,WAAO,IAAIjhC,wBAAJ,CAA6B0/B,+BAA+B,CAACC,yBAAhC,CAA0DjxF,IAAvF,EAA6FgxF,+BAA+B,CAACC,yBAAhC,CAA0DxnC,IAA1D,GAAiE,gBAAjE,GAAoF8oC,uBAAjL,CAAP;AACH,GAFD;AAGA;AACJ;AACA;AACA;;;AACIjhC,EAAAA,wBAAwB,CAACkhC,+BAAzB,GAA2D,UAAUp6B,SAAV,EAAqB;AAC5E,WAAO,IAAI9G,wBAAJ,CAA6B0/B,+BAA+B,CAACE,oBAAhC,CAAqDlxF,IAAlF,EAAwFgxF,+BAA+B,CAACE,oBAAhC,CAAqDznC,IAArD,GAA4D,cAA5D,GAA6E2O,SAArK,CAAP;AACH,GAFD;AAGA;AACJ;AACA;AACA;;;AACI9G,EAAAA,wBAAwB,CAACmhC,mBAAzB,GAA+C,UAAUtB,aAAV,EAAyB;AACpE,WAAO,IAAI7/B,wBAAJ,CAA6B0/B,+BAA+B,CAACG,aAAhC,CAA8CnxF,IAA3E,EAAiFgxF,+BAA+B,CAACG,aAAhC,CAA8C1nC,IAA9C,GAAqD,gBAArD,GAAwE0nC,aAAzJ,CAAP;AACH,GAFD;AAGA;AACJ;AACA;AACA;;;AACI7/B,EAAAA,wBAAwB,CAACmkB,mBAAzB,GAA+C,YAAY;AACvD,WAAO,IAAInkB,wBAAJ,CAA6B0/B,+BAA+B,CAACI,aAAhC,CAA8CpxF,IAA3E,EAAiFgxF,+BAA+B,CAACI,aAAhC,CAA8C3nC,IAA/H,CAAP;AACH,GAFD;AAGA;AACJ;AACA;AACA;;;AACI6H,EAAAA,wBAAwB,CAACohC,2BAAzB,GAAuD,YAAY;AAC/D,WAAO,IAAIphC,wBAAJ,CAA6B0/B,+BAA+B,CAACK,gBAAhC,CAAiDrxF,IAA9E,EAAoF,KAAKgxF,+BAA+B,CAACK,gBAAhC,CAAiD5nC,IAA1I,CAAP;AACH,GAFD;AAGA;AACJ;AACA;AACA;;;AACI6H,EAAAA,wBAAwB,CAACqhC,8BAAzB,GAA0D,UAAUC,WAAV,EAAuB;AAC7E,WAAO,IAAIthC,wBAAJ,CAA6B0/B,+BAA+B,CAACO,wBAAhC,CAAyDvxF,IAAtF,EAA4FgxF,+BAA+B,CAACO,wBAAhC,CAAyD9nC,IAAzD,GAAgE,iBAAhE,GAAoFmpC,WAAhL,CAAP;AACH,GAFD;AAGA;AACJ;AACA;AACA;;;AACIthC,EAAAA,wBAAwB,CAACuhC,wBAAzB,GAAoD,UAAUC,WAAV,EAAuB;AACvE,WAAO,IAAIxhC,wBAAJ,CAA6B0/B,+BAA+B,CAACQ,aAAhC,CAA8CxxF,IAA3E,EAAiFgxF,+BAA+B,CAACQ,aAAhC,CAA8C/nC,IAA9C,GAAqD,gBAArD,GAAwEqpC,WAAzJ,CAAP;AACH,GAFD;AAGA;AACJ;AACA;;;AACIxhC,EAAAA,wBAAwB,CAACyhC,+BAAzB,GAA2D,YAAY;AACnE,WAAO,IAAIzhC,wBAAJ,CAA6B0/B,+BAA+B,CAACS,oBAAhC,CAAqDzxF,IAAlF,EAAwFgxF,+BAA+B,CAACS,oBAAhC,CAAqDhoC,IAA7I,CAAP;AACH,GAFD;AAGA;AACJ;AACA;;;AACI6H,EAAAA,wBAAwB,CAAC0xB,6BAAzB,GAAyD,YAAY;AACjE,WAAO,IAAI1xB,wBAAJ,CAA6B0/B,+BAA+B,CAACW,uBAAhC,CAAwD3xF,IAArF,EAA2FgxF,+BAA+B,CAACW,uBAAhC,CAAwDloC,IAAnJ,CAAP;AACH,GAFD;AAGA;AACJ;AACA;;;AACI6H,EAAAA,wBAAwB,CAAC+2B,4BAAzB,GAAwD,YAAY;AAChE,WAAO,IAAI/2B,wBAAJ,CAA6B0/B,+BAA+B,CAACU,sBAAhC,CAAuD1xF,IAApF,EAA0FgxF,+BAA+B,CAACU,sBAAhC,CAAuDjoC,IAAjJ,CAAP;AACH,GAFD;AAGA;AACJ;AACA;;;AACI6H,EAAAA,wBAAwB,CAAC0hC,qCAAzB,GAAiE,YAAY;AACzE,WAAO,IAAI1hC,wBAAJ,CAA6B0/B,+BAA+B,CAACY,0BAAhC,CAA2D5xF,IAAxF,EAA8FgxF,+BAA+B,CAACY,0BAAhC,CAA2DnoC,IAAzJ,CAAP;AACH,GAFD;AAGA;AACJ;AACA;;;AACI6H,EAAAA,wBAAwB,CAAC2hC,qCAAzB,GAAiE,YAAY;AACzE,WAAO,IAAI3hC,wBAAJ,CAA6B0/B,+BAA+B,CAACa,0BAAhC,CAA2D7xF,IAAxF,EAA8FgxF,+BAA+B,CAACa,0BAAhC,CAA2DpoC,IAAzJ,CAAP;AACH,GAFD;AAGA;AACJ;AACA;;;AACI6H,EAAAA,wBAAwB,CAACkiB,wCAAzB,GAAoE,YAAY;AAC5E,WAAO,IAAIliB,wBAAJ,CAA6B0/B,+BAA+B,CAACc,6BAAhC,CAA8D9xF,IAA3F,EAAiGgxF,+BAA+B,CAACc,6BAAhC,CAA8DroC,IAA/J,CAAP;AACH,GAFD;AAGA;AACJ;AACA;;;AACI6H,EAAAA,wBAAwB,CAAC4gB,mCAAzB,GAA+D,YAAY;AACvE,WAAO,IAAI5gB,wBAAJ,CAA6B0/B,+BAA+B,CAACe,wBAAhC,CAAyD/xF,IAAtF,EAA4FgxF,+BAA+B,CAACe,wBAAhC,CAAyDtoC,IAArJ,CAAP;AACH,GAFD;AAGA;AACJ;AACA;;;AACI6H,EAAAA,wBAAwB,CAAC+hB,6BAAzB,GAAyD,YAAY;AACjE,WAAO,IAAI/hB,wBAAJ,CAA6B0/B,+BAA+B,CAACgB,kBAAhC,CAAmDhyF,IAAhF,EAAsFgxF,+BAA+B,CAACgB,kBAAhC,CAAmDvoC,IAAzI,CAAP;AACH,GAFD;AAGA;AACJ;AACA;;;AACI6H,EAAAA,wBAAwB,CAAC4hC,oCAAzB,GAAgE,YAAY;AACxE,WAAO,IAAI5hC,wBAAJ,CAA6B0/B,+BAA+B,CAACiB,yBAAhC,CAA0DjyF,IAAvF,EAA6FgxF,+BAA+B,CAACiB,yBAAhC,CAA0DxoC,IAAvJ,CAAP;AACH,GAFD;AAGA;AACJ;AACA;;;AACI6H,EAAAA,wBAAwB,CAACe,wBAAzB,GAAoD,YAAY;AAC5D,WAAO,IAAIf,wBAAJ,CAA6B0/B,+BAA+B,CAACkB,aAAhC,CAA8ClyF,IAA3E,EAAiFgxF,+BAA+B,CAACkB,aAAhC,CAA8CzoC,IAA/H,CAAP;AACH,GAFD;AAGA;AACJ;AACA;;;AACI6H,EAAAA,wBAAwB,CAACgB,wBAAzB,GAAoD,YAAY;AAC5D,WAAO,IAAIhB,wBAAJ,CAA6B0/B,+BAA+B,CAACmB,aAAhC,CAA8CnyF,IAA3E,EAAiFgxF,+BAA+B,CAACmB,aAAhC,CAA8C1oC,IAA/H,CAAP;AACH,GAFD;AAGA;AACJ;AACA;;;AACI6H,EAAAA,wBAAwB,CAAC6hC,4CAAzB,GAAwE,YAAY;AAChF,WAAO,IAAI7hC,wBAAJ,CAA6B0/B,+BAA+B,CAACoB,gCAAhC,CAAiEpyF,IAA9F,EAAoGgxF,+BAA+B,CAACoB,gCAAhC,CAAiE3oC,IAArK,CAAP;AACH,GAFD;AAGA;AACJ;AACA;;;AACI6H,EAAAA,wBAAwB,CAAC8hC,sCAAzB,GAAkE,UAAUC,iBAAV,EAA6BC,OAA7B,EAAsC;AACpG,WAAO,IAAIhiC,wBAAJ,CAA6B0/B,+BAA+B,CAACqB,2BAAhC,CAA4DryF,IAAzF,EAA+FgxF,+BAA+B,CAACqB,2BAAhC,CAA4D5oC,IAA5D,GAAmE,oBAAnE,GAA0F4pC,iBAA1F,GAA8G,aAA9G,GAA8HC,OAA7N,CAAP;AACH,GAFD;;AAGA,SAAOhiC,wBAAP;AACH,CAnJ6C,CAmJ5C16B,gEAnJ4C,CAA9C;;;;;;;;;;;;;;;;;;;;;;AC7GA;AACa;;AACb;AACA;AAEA;AACA;AACA;AACA;;AACA;AACA;AACA;;AACA,IAAI28D,qCAAqC,GAAG,CACxC,sBADwC,EAExC,kBAFwC,EAGxC,gBAHwC,CAA5C;AAKA,IAAIC,sCAAsC,GAAG,CACzC,cADyC,EAEzC,mBAFyC,EAGzC,cAHyC,EAIzC,uBAJyC,EAKzC,kBALyC,CAA7C;AAOA;AACA;AACA;;AACA,IAAI3L,mCAAmC,GAAG;AACtCW,EAAAA,kBAAkB,EAAE;AAChBxoF,IAAAA,IAAI,EAAE,iBADU;AAEhBypD,IAAAA,IAAI,EAAE;AAFU,GADkB;AAKtCgqC,EAAAA,0BAA0B,EAAE;AACxBzzF,IAAAA,IAAI,EAAE,4BADkB;AAExBypD,IAAAA,IAAI,EAAE;AAFkB;AALU,CAA1C;AAUA;AACA;AACA;;AACA,IAAIhzB,4BAA4B;AAAG;AAAe,UAAUjE,MAAV,EAAkB;AAChEqB,EAAAA,4DAAS,CAAC4C,4BAAD,EAA+BjE,MAA/B,CAAT;;AACA,WAASiE,4BAAT,CAAsCwG,SAAtC,EAAiDmvB,YAAjD,EAA+DjvB,QAA/D,EAAyE;AACrE,QAAI5C,KAAK,GAAG/H,MAAM,CAACK,IAAP,CAAY,IAAZ,EAAkBoK,SAAlB,EAA6BmvB,YAA7B,EAA2CjvB,QAA3C,KAAwD,IAApE;;AACA5C,IAAAA,KAAK,CAACrgC,IAAN,GAAa,8BAAb;AACA2xB,IAAAA,MAAM,CAAC2H,cAAP,CAAsB+G,KAAtB,EAA6B9D,4BAA4B,CAAC9C,SAA1D;AACA,WAAO4G,KAAP;AACH;AACD;AACJ;AACA;AACA;AACA;AACA;;;AACI9D,EAAAA,4BAA4B,CAACsN,0BAA7B,GAA0D,UAAU9G,SAAV,EAAqBovD,WAArB,EAAkClvD,QAAlC,EAA4C;AAClG,QAAIu2D,8BAA8B,GAAG,CAAC,CAACz2D,SAAF,IAAes2D,qCAAqC,CAACzxF,OAAtC,CAA8Cm7B,SAA9C,IAA2D,CAAC,CAAhH;AACA,QAAI02D,6BAA6B,GAAG,CAAC,CAACx2D,QAAF,IAAcq2D,sCAAsC,CAAC1xF,OAAvC,CAA+Cq7B,QAA/C,IAA2D,CAAC,CAA9G;AACA,QAAIy2D,8BAA8B,GAAG,CAAC,CAACvH,WAAF,IAAiBkH,qCAAqC,CAAChuF,IAAtC,CAA2C,UAAUsuF,WAAV,EAAuB;AACpH,aAAOxH,WAAW,CAACvqF,OAAZ,CAAoB+xF,WAApB,IAAmC,CAAC,CAA3C;AACH,KAFqD,CAAtD;AAGA,WAAOH,8BAA8B,IAAIE,8BAAlC,IAAoED,6BAA3E;AACH,GAPD;AAQA;AACJ;AACA;;;AACIl9D,EAAAA,4BAA4B,CAACoyD,wBAA7B,GAAwD,YAAY;AAChE,WAAO,IAAIpyD,4BAAJ,CAAiCoxD,mCAAmC,CAACW,kBAApC,CAAuDxoF,IAAxF,EAA8F6nF,mCAAmC,CAACW,kBAApC,CAAuD/+B,IAArJ,CAAP;AACH,GAFD;AAGA;AACJ;AACA;AACA;;;AACIhzB,EAAAA,4BAA4B,CAACq5B,mCAA7B,GAAmE,YAAY;AAC3E,WAAO,IAAIr5B,4BAAJ,CAAiCoxD,mCAAmC,CAAC4L,0BAApC,CAA+DzzF,IAAhG,EAAsG6nF,mCAAmC,CAAC4L,0BAApC,CAA+DhqC,IAArK,CAAP;AACH,GAFD;;AAGA,SAAOhzB,4BAAP;AACH,CApCiD,CAoChDE,oDApCgD,CAAlD;;;;;;;;;;;;;;;;;;;;ACxCA;AACa;;AACb;AACA;AAEA;AACA;AACA;AACA;;AACA;AACA;AACA;;AACA,IAAIm9D,sBAAsB,GAAG;AACzBC,EAAAA,eAAe,EAAE;AACb/zF,IAAAA,IAAI,EAAE,mBADO;AAEbypD,IAAAA,IAAI,EAAE;AAFO,GADQ;AAKzBuqC,EAAAA,eAAe,EAAE;AACbh0F,IAAAA,IAAI,EAAE,mBADO;AAEbypD,IAAAA,IAAI,EAAE;AAFO;AALQ,CAA7B;AAUA;AACA;AACA;;AACA,IAAIqhC,eAAe;AAAG;AAAe,UAAUt4D,MAAV,EAAkB;AACnDqB,EAAAA,4DAAS,CAACi3D,eAAD,EAAkBt4D,MAAlB,CAAT;;AACA,WAASs4D,eAAT,CAAyB7tD,SAAzB,EAAoCmvB,YAApC,EAAkD;AAC9C,QAAI7xB,KAAK,GAAG/H,MAAM,CAACK,IAAP,CAAY,IAAZ,EAAkBoK,SAAlB,EAA6BmvB,YAA7B,KAA8C,IAA1D;;AACA7xB,IAAAA,KAAK,CAACrgC,IAAN,GAAa,iBAAb;AACA2xB,IAAAA,MAAM,CAAC2H,cAAP,CAAsB+G,KAAtB,EAA6BuwD,eAAe,CAACn3D,SAA7C;AACA,WAAO4G,KAAP;AACH;AACD;AACJ;AACA;;;AACIuwD,EAAAA,eAAe,CAACI,qBAAhB,GAAwC,YAAY;AAChD,WAAO,IAAIJ,eAAJ,CAAoBgJ,sBAAsB,CAACC,eAAvB,CAAuC/zF,IAA3D,EAAiE8zF,sBAAsB,CAACC,eAAvB,CAAuCtqC,IAAxG,CAAP;AACH,GAFD;AAGA;AACJ;AACA;;;AACIqhC,EAAAA,eAAe,CAACK,qBAAhB,GAAwC,YAAY;AAChD,WAAO,IAAIL,eAAJ,CAAoBgJ,sBAAsB,CAACE,eAAvB,CAAuCh0F,IAA3D,EAAiE8zF,sBAAsB,CAACE,eAAvB,CAAuCvqC,IAAxG,CAAP;AACH,GAFD;;AAGA,SAAOqhC,eAAP;AACH,CArBoC,CAqBnCn0D,oDArBmC,CAArC;;;;;;;;;;;;;;;;;;;ACzBA;AACa;;AACb;AACA;AAEA;AACA;AACA;AACA;;AACA;AACA;AACA;;AACA,IAAIuL,WAAW;AAAG;AAAe,UAAU1P,MAAV,EAAkB;AAC/CqB,EAAAA,4DAAS,CAACqO,WAAD,EAAc1P,MAAd,CAAT;;AACA,WAAS0P,WAAT,CAAqBjF,SAArB,EAAgCmvB,YAAhC,EAA8CjvB,QAA9C,EAAwD;AACpD,QAAI5C,KAAK,GAAG/H,MAAM,CAACK,IAAP,CAAY,IAAZ,EAAkBoK,SAAlB,EAA6BmvB,YAA7B,EAA2CjvB,QAA3C,KAAwD,IAApE;;AACA5C,IAAAA,KAAK,CAACrgC,IAAN,GAAa,aAAb;AACA2xB,IAAAA,MAAM,CAAC2H,cAAP,CAAsB+G,KAAtB,EAA6B2H,WAAW,CAACvO,SAAzC;AACA,WAAO4G,KAAP;AACH;;AACD,SAAO2H,WAAP;AACH,CATgC,CAS/BvL,oDAT+B,CAAjC;;;;;;;;;;;;;;;;;;;;ACZA;AACa;;AACb;AACA;AAEA;AACA;AACA;AACA;;AACA;AACA;AACA;;AACA,IAAIvS,QAAQ;AACZ,GAAC,UAAUA,QAAV,EAAoB;AACjBA,IAAAA,QAAQ,CAACA,QAAQ,CAAC,OAAD,CAAR,GAAoB,CAArB,CAAR,GAAkC,OAAlC;AACAA,IAAAA,QAAQ,CAACA,QAAQ,CAAC,SAAD,CAAR,GAAsB,CAAvB,CAAR,GAAoC,SAApC;AACAA,IAAAA,QAAQ,CAACA,QAAQ,CAAC,MAAD,CAAR,GAAmB,CAApB,CAAR,GAAiC,MAAjC;AACAA,IAAAA,QAAQ,CAACA,QAAQ,CAAC,SAAD,CAAR,GAAsB,CAAvB,CAAR,GAAoC,SAApC;AACAA,IAAAA,QAAQ,CAACA,QAAQ,CAAC,OAAD,CAAR,GAAoB,CAArB,CAAR,GAAkC,OAAlC;AACH,GAND,EAMGA,QAAQ,KAAKA,QAAQ,GAAG,EAAhB,CANX,CADY;;AAAA,SAARA,QAAQ;AAAA,IAAZ;;AAQA;AACA;AACA;AACA,IAAI0S,MAAM;AAAG;AAAe,YAAY;AACpC,WAASA,MAAT,CAAgB9R,aAAhB,EAA+BivE,WAA/B,EAA4CC,cAA5C,EAA4D;AACxD;AACA,SAAKC,KAAL,GAAa/vE,QAAQ,CAAC85B,IAAtB;;AACA,QAAIk2C,qBAAqB,GAAG,YAAY;AACpC;AACH,KAFD;;AAGA,QAAIC,gBAAgB,GAAGrvE,aAAa,IAAI8R,MAAM,CAACw9D,0BAAP,EAAxC;AACA,SAAKC,aAAL,GAAqBF,gBAAgB,CAACp2C,cAAjB,IAAmCm2C,qBAAxD;AACA,SAAKjvE,iBAAL,GAAyBkvE,gBAAgB,CAAClvE,iBAAjB,IAAsC,KAA/D;AACA,SAAKgvE,KAAL,GAAa,OAAQE,gBAAgB,CAACpvE,QAAzB,KAAuC,QAAvC,GAAkDovE,gBAAgB,CAACpvE,QAAnE,GAA8Eb,QAAQ,CAAC85B,IAApG;AACA,SAAK7jB,aAAL,GAAqBg6D,gBAAgB,CAACh6D,aAAjB,IAAkC7D,uEAAvD;AACA,SAAKy9D,WAAL,GAAmBA,WAAW,IAAIz9D,uEAAlC;AACA,SAAK09D,cAAL,GAAsBA,cAAc,IAAI19D,uEAAxC;AACH;;AACDM,EAAAA,MAAM,CAACw9D,0BAAP,GAAoC,YAAY;AAC5C,WAAO;AACHr2C,MAAAA,cAAc,EAAE,YAAY,CACxB;AACH,OAHE;AAIH94B,MAAAA,iBAAiB,EAAE,KAJhB;AAKHF,MAAAA,QAAQ,EAAEb,QAAQ,CAAC85B;AALhB,KAAP;AAOH,GARD;AASA;AACJ;AACA;;;AACIpnB,EAAAA,MAAM,CAACnD,SAAP,CAAiBrK,KAAjB,GAAyB,UAAU2qE,WAAV,EAAuBC,cAAvB,EAAuC75D,aAAvC,EAAsD;AAC3E,WAAO,IAAIvD,MAAJ,CAAW;AAAEmnB,MAAAA,cAAc,EAAE,KAAKs2C,aAAvB;AAAsCpvE,MAAAA,iBAAiB,EAAE,KAAKA,iBAA9D;AAAiFF,MAAAA,QAAQ,EAAE,KAAKkvE,KAAhG;AAAuG95D,MAAAA,aAAa,EAAEA,aAAa,IAAI,KAAKA;AAA5I,KAAX,EAAwK45D,WAAxK,EAAqLC,cAArL,CAAP;AACH,GAFD;AAGA;AACJ;AACA;;;AACIp9D,EAAAA,MAAM,CAACnD,SAAP,CAAiB6gE,UAAjB,GAA8B,UAAUA,UAAV,EAAsBp9E,OAAtB,EAA+B;AACzD,QAAKA,OAAO,CAAC6N,QAAR,GAAmB,KAAKkvE,KAAzB,IAAoC,CAAC,KAAKhvE,iBAAN,IAA2B/N,OAAO,CAACq9E,WAA3E,EAAyF;AACrF;AACH;;AACD,QAAIznF,SAAS,GAAG,IAAIykC,IAAJ,GAAWG,WAAX,EAAhB,CAJyD,CAKzD;;AACA,QAAI8iD,SAAJ;;AACA,QAAI,CAAC5tE,sEAAA,CAAoB1P,OAAO,CAACijB,aAA5B,CAAL,EAAiD;AAC7Cq6D,MAAAA,SAAS,GAAG,MAAM1nF,SAAN,GAAkB,OAAlB,GAA4BoK,OAAO,CAACijB,aAApC,GAAoD,GAAhE;AACH,KAFD,MAGK,IAAI,CAACvT,sEAAA,CAAoB,KAAKuT,aAAzB,CAAL,EAA8C;AAC/Cq6D,MAAAA,SAAS,GAAG,MAAM1nF,SAAN,GAAkB,OAAlB,GAA4B,KAAKqtB,aAAjC,GAAiD,GAA7D;AACH,KAFI,MAGA;AACDq6D,MAAAA,SAAS,GAAG,MAAM1nF,SAAN,GAAkB,GAA9B;AACH;;AACD,QAAIvhB,GAAG,GAAGipG,SAAS,GAAG,KAAZ,GAAoB,KAAKT,WAAzB,GAAuC,GAAvC,GAA6C,KAAKC,cAAlD,GAAmE,KAAnE,GAA2E9vE,QAAQ,CAAChN,OAAO,CAAC6N,QAAT,CAAnF,GAAwG,KAAxG,GAAgHuvE,UAA1H,CAhByD,CAiBzD;;AACA,SAAKG,eAAL,CAAqBv9E,OAAO,CAAC6N,QAA7B,EAAuCx5B,GAAvC,EAA4C2rB,OAAO,CAACq9E,WAAR,IAAuB,KAAnE;AACH,GAnBD;AAoBA;AACJ;AACA;;;AACI39D,EAAAA,MAAM,CAACnD,SAAP,CAAiBghE,eAAjB,GAAmC,UAAUR,KAAV,EAAiB5oG,OAAjB,EAA0BkpG,WAA1B,EAAuC;AACtE,QAAI,KAAKF,aAAT,EAAwB;AACpB,WAAKA,aAAL,CAAmBJ,KAAnB,EAA0B5oG,OAA1B,EAAmCkpG,WAAnC;AACH;AACJ,GAJD;AAKA;AACJ;AACA;;;AACI39D,EAAAA,MAAM,CAACnD,SAAP,CAAiB5zB,KAAjB,GAAyB,UAAUxU,OAAV,EAAmB8uC,aAAnB,EAAkC;AACvD,SAAKm6D,UAAL,CAAgBjpG,OAAhB,EAAyB;AACrB05B,MAAAA,QAAQ,EAAEb,QAAQ,CAACyyB,KADE;AAErB49C,MAAAA,WAAW,EAAE,KAFQ;AAGrBp6D,MAAAA,aAAa,EAAEA,aAAa,IAAI7D,uEAAsBiE;AAHjC,KAAzB;AAKH,GAND;AAOA;AACJ;AACA;;;AACI3D,EAAAA,MAAM,CAACnD,SAAP,CAAiBtG,QAAjB,GAA4B,UAAU9hC,OAAV,EAAmB8uC,aAAnB,EAAkC;AAC1D,SAAKm6D,UAAL,CAAgBjpG,OAAhB,EAAyB;AACrB05B,MAAAA,QAAQ,EAAEb,QAAQ,CAACyyB,KADE;AAErB49C,MAAAA,WAAW,EAAE,IAFQ;AAGrBp6D,MAAAA,aAAa,EAAEA,aAAa,IAAI7D,uEAAsBiE;AAHjC,KAAzB;AAKH,GAND;AAOA;AACJ;AACA;;;AACI3D,EAAAA,MAAM,CAACnD,SAAP,CAAiBhH,OAAjB,GAA2B,UAAUphC,OAAV,EAAmB8uC,aAAnB,EAAkC;AACzD,SAAKm6D,UAAL,CAAgBjpG,OAAhB,EAAyB;AACrB05B,MAAAA,QAAQ,EAAEb,QAAQ,CAACwwE,OADE;AAErBH,MAAAA,WAAW,EAAE,KAFQ;AAGrBp6D,MAAAA,aAAa,EAAEA,aAAa,IAAI7D,uEAAsBiE;AAHjC,KAAzB;AAKH,GAND;AAOA;AACJ;AACA;;;AACI3D,EAAAA,MAAM,CAACnD,SAAP,CAAiBkhE,UAAjB,GAA8B,UAAUtpG,OAAV,EAAmB8uC,aAAnB,EAAkC;AAC5D,SAAKm6D,UAAL,CAAgBjpG,OAAhB,EAAyB;AACrB05B,MAAAA,QAAQ,EAAEb,QAAQ,CAACwwE,OADE;AAErBH,MAAAA,WAAW,EAAE,IAFQ;AAGrBp6D,MAAAA,aAAa,EAAEA,aAAa,IAAI7D,uEAAsBiE;AAHjC,KAAzB;AAKH,GAND;AAOA;AACJ;AACA;;;AACI3D,EAAAA,MAAM,CAACnD,SAAP,CAAiBjkB,IAAjB,GAAwB,UAAUnkB,OAAV,EAAmB8uC,aAAnB,EAAkC;AACtD,SAAKm6D,UAAL,CAAgBjpG,OAAhB,EAAyB;AACrB05B,MAAAA,QAAQ,EAAEb,QAAQ,CAAC85B,IADE;AAErBu2C,MAAAA,WAAW,EAAE,KAFQ;AAGrBp6D,MAAAA,aAAa,EAAEA,aAAa,IAAI7D,uEAAsBiE;AAHjC,KAAzB;AAKH,GAND;AAOA;AACJ;AACA;;;AACI3D,EAAAA,MAAM,CAACnD,SAAP,CAAiBvF,OAAjB,GAA2B,UAAU7iC,OAAV,EAAmB8uC,aAAnB,EAAkC;AACzD,SAAKm6D,UAAL,CAAgBjpG,OAAhB,EAAyB;AACrB05B,MAAAA,QAAQ,EAAEb,QAAQ,CAAC85B,IADE;AAErBu2C,MAAAA,WAAW,EAAE,IAFQ;AAGrBp6D,MAAAA,aAAa,EAAEA,aAAa,IAAI7D,uEAAsBiE;AAHjC,KAAzB;AAKH,GAND;AAOA;AACJ;AACA;;;AACI3D,EAAAA,MAAM,CAACnD,SAAP,CAAiBvJ,OAAjB,GAA2B,UAAU7+B,OAAV,EAAmB8uC,aAAnB,EAAkC;AACzD,SAAKm6D,UAAL,CAAgBjpG,OAAhB,EAAyB;AACrB05B,MAAAA,QAAQ,EAAEb,QAAQ,CAACc,OADE;AAErBuvE,MAAAA,WAAW,EAAE,KAFQ;AAGrBp6D,MAAAA,aAAa,EAAEA,aAAa,IAAI7D,uEAAsBiE;AAHjC,KAAzB;AAKH,GAND;AAOA;AACJ;AACA;;;AACI3D,EAAAA,MAAM,CAACnD,SAAP,CAAiBhB,UAAjB,GAA8B,UAAUpnC,OAAV,EAAmB8uC,aAAnB,EAAkC;AAC5D,SAAKm6D,UAAL,CAAgBjpG,OAAhB,EAAyB;AACrB05B,MAAAA,QAAQ,EAAEb,QAAQ,CAACc,OADE;AAErBuvE,MAAAA,WAAW,EAAE,IAFQ;AAGrBp6D,MAAAA,aAAa,EAAEA,aAAa,IAAI7D,uEAAsBiE;AAHjC,KAAzB;AAKH,GAND;AAOA;AACJ;AACA;;;AACI3D,EAAAA,MAAM,CAACnD,SAAP,CAAiBjB,KAAjB,GAAyB,UAAUnnC,OAAV,EAAmB8uC,aAAnB,EAAkC;AACvD,SAAKm6D,UAAL,CAAgBjpG,OAAhB,EAAyB;AACrB05B,MAAAA,QAAQ,EAAEb,QAAQ,CAAC0wE,KADE;AAErBL,MAAAA,WAAW,EAAE,KAFQ;AAGrBp6D,MAAAA,aAAa,EAAEA,aAAa,IAAI7D,uEAAsBiE;AAHjC,KAAzB;AAKH,GAND;AAOA;AACJ;AACA;;;AACI3D,EAAAA,MAAM,CAACnD,SAAP,CAAiBuR,QAAjB,GAA4B,UAAU35C,OAAV,EAAmB8uC,aAAnB,EAAkC;AAC1D,SAAKm6D,UAAL,CAAgBjpG,OAAhB,EAAyB;AACrB05B,MAAAA,QAAQ,EAAEb,QAAQ,CAAC0wE,KADE;AAErBL,MAAAA,WAAW,EAAE,IAFQ;AAGrBp6D,MAAAA,aAAa,EAAEA,aAAa,IAAI7D,uEAAsBiE;AAHjC,KAAzB;AAKH,GAND;AAOA;AACJ;AACA;;;AACI3D,EAAAA,MAAM,CAACnD,SAAP,CAAiBohE,mBAAjB,GAAuC,YAAY;AAC/C,WAAO,KAAK5vE,iBAAL,IAA0B,KAAjC;AACH,GAFD;;AAGA,SAAO2R,MAAP;AACH,CAxK2B,EAA5B;;;;;;;;;;;;;;;;;;ACvBA;AACa;;AACb;AAEA;AACA;AACA;AACA;;AACA,IAAI8lB,oBAAoB,GAAG;AACvB+oB,EAAAA,mBAAmB,EAAE,YAAY;AAC7B,QAAIwX,UAAU,GAAG,+FAAjB;AACA,WAAOjqD,OAAO,CAAC2B,MAAR,CAAe8B,gFAAA,CAAgCwmD,UAAhC,CAAf,CAAP;AACH,GAJsB;AAKvBhX,EAAAA,oBAAoB,EAAE,YAAY;AAC9B,QAAIgX,UAAU,GAAG,gGAAjB;AACA,WAAOjqD,OAAO,CAAC2B,MAAR,CAAe8B,gFAAA,CAAgCwmD,UAAhC,CAAf,CAAP;AACH;AARsB,CAA3B;;;;;;;;;;;;;;;;;;;;ACRA;AACa;;AACb;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;;AACA,IAAIiK,cAAc;AAAG;AAAe,YAAY;AAC5C,WAASA,cAAT,CAAwB5uD,aAAxB,EAAuCw1C,YAAvC,EAAqD;AACjD,SAAKx1C,aAAL,GAAqBA,aAArB;AACA,SAAKw1C,YAAL,GAAoBA,YAApB;AACH;AACD;AACJ;AACA;AACA;AACA;AACA;;;AACIoZ,EAAAA,cAAc,CAACzzD,SAAf,CAAyB8zD,eAAzB,GAA2C,UAAUjlD,UAAV,EAAsBghD,aAAtB,EAAqCpsE,OAArC,EAA8C;AACrF,WAAOkQ,4DAAS,CAAC,IAAD,EAAO,KAAK,CAAZ,EAAe,KAAK,CAApB,EAAuB,YAAY;AAC/C,UAAI2E,QAAJ,EAAcyN,GAAd;AACA,aAAOxE,8DAAW,CAAC,IAAD,EAAO,UAAUuE,EAAV,EAAc;AACnC,gBAAQA,EAAE,CAACrE,KAAX;AACI,eAAK,CAAL;AACI0jC,YAAAA,2EAAA,CAA2B,KAAKkV,YAAhC,EAA8CxrC,UAA9C;AACA/I,YAAAA,EAAE,CAACrE,KAAH,GAAW,CAAX;;AACJ,eAAK,CAAL;AACIqE,YAAAA,EAAE,CAACnE,IAAH,CAAQ3F,IAAR,CAAa,CAAC,CAAD,EAAI,CAAJ,GAAS,CAAT,CAAb;;AACA,mBAAO,CAAC;AAAE;AAAH,cAAc,KAAK6I,aAAL,CAAmB2tC,oBAAnB,CAAwCqd,aAAxC,EAAuDpsE,OAAvD,CAAd,CAAP;;AACJ,eAAK,CAAL;AACI6U,YAAAA,QAAQ,GAAGwN,EAAE,CAACpE,IAAH,EAAX;AACA,mBAAO,CAAC;AAAE;AAAH,cAAc,CAAd,CAAP;;AACJ,eAAK,CAAL;AACIqE,YAAAA,GAAG,GAAGD,EAAE,CAACpE,IAAH,EAAN;;AACA,gBAAIqE,GAAG,YAAY/C,0DAAnB,EAA8B;AAC1B,oBAAM+C,GAAN;AACH,aAFD,MAGK;AACD,oBAAM9C,yFAAA,CAAmC4sD,aAAnC,EAAkD9pD,GAAlD,CAAN;AACH;;AACL,eAAK,CAAL;AACIo/B,YAAAA,4EAAA,CAA4B,KAAKkV,YAAjC,EAA+CxrC,UAA/C,EAA2DvW,QAA3D;AACA,mBAAO,CAAC;AAAE;AAAH,cAAeA,QAAf,CAAP;AApBR;AAsBH,OAvBiB,CAAlB;AAwBH,KA1Be,CAAhB;AA2BH,GA5BD;;AA6BA,SAAOm7D,cAAP;AACH,CAzCmC,EAApC;;;;;;;;;;;;;;;;;;;ACXA;AACa;;AACb;AACA;AAEA;AACA;AACA;AACA;;AACA,IAAItuB,eAAe;AAAG;AAAe,YAAY;AAC7C,WAASA,eAAT,GAA2B,CAC1B;AACD;AACJ;AACA;AACA;;;AACIA,EAAAA,eAAe,CAACo8B,4BAAhB,GAA+C,UAAU1yD,UAAV,EAAsB;AACjE,WAAO4+C,sFAAA,GAAwC,GAAxC,GAA8C74E,IAAI,CAACI,SAAL,CAAe65B,UAAf,CAArD;AACH,GAFD;AAGA;AACJ;AACA;AACA;AACA;;;AACIs2B,EAAAA,eAAe,CAACk8B,UAAhB,GAA6B,UAAUhnB,YAAV,EAAwBxrC,UAAxB,EAAoC;AAC7D,QAAI/I,EAAJ;;AACA,QAAIjK,GAAG,GAAGspC,eAAe,CAACo8B,4BAAhB,CAA6C1yD,UAA7C,CAAV;AACA,QAAI5nC,KAAK,GAAGozE,YAAY,CAACr+B,kBAAb,CAAgCngB,GAAhC,CAAZ;;AACA,QAAI50B,KAAJ,EAAW;AACP,UAAIA,KAAK,CAACu6F,YAAN,GAAqB1jD,IAAI,CAAC+e,GAAL,EAAzB,EAAqC;AACjCwd,QAAAA,YAAY,CAACpmC,UAAb,CAAwBpY,GAAxB,EAA6BunD,2EAA7B;AACA;AACH;;AACD,YAAM,IAAI70C,8DAAJ,CAAgB,CAAC,CAACzI,EAAE,GAAG7+B,KAAK,CAACy6F,UAAZ,MAA4B,IAA5B,IAAoC57D,EAAE,KAAK,KAAK,CAAhD,GAAoD,KAAK,CAAzD,GAA6DA,EAAE,CAAChjC,IAAH,CAAQ,GAAR,CAA9D,KAA+E+/B,uEAA/F,EAAuH57B,KAAK,CAACwxD,YAA7H,EAA2IxxD,KAAK,CAACuiC,QAAjJ,CAAN;AACH;AACJ,GAXD;AAYA;AACJ;AACA;AACA;AACA;AACA;;;AACI27B,EAAAA,eAAe,CAACm8B,WAAhB,GAA8B,UAAUjnB,YAAV,EAAwBxrC,UAAxB,EAAoCvW,QAApC,EAA8C;AACxE,QAAI6sC,eAAe,CAACw8B,mBAAhB,CAAoCrpE,QAApC,KAAiD6sC,eAAe,CAACy8B,0BAAhB,CAA2CtpE,QAA3C,CAArD,EAA2G;AACvG,UAAIupE,eAAe,GAAG;AAClBL,QAAAA,YAAY,EAAEr8B,eAAe,CAAC28B,qBAAhB,CAAsCnoE,QAAQ,CAACrB,QAAQ,CAACsC,OAAT,CAAiBqzD,wEAAjB,CAAD,CAA9C,CADI;AAElB7hF,QAAAA,KAAK,EAAEksB,QAAQ,CAAClrB,IAAT,CAAchB,KAFH;AAGlBs1F,QAAAA,UAAU,EAAEppE,QAAQ,CAAClrB,IAAT,CAAc40F,WAHR;AAIlBvpC,QAAAA,YAAY,EAAEngC,QAAQ,CAAClrB,IAAT,CAAcmzE,iBAJV;AAKlB/2C,QAAAA,QAAQ,EAAElR,QAAQ,CAAClrB,IAAT,CAAcqrF;AALN,OAAtB;AAOApe,MAAAA,YAAY,CAACj+B,kBAAb,CAAgC+oB,eAAe,CAACo8B,4BAAhB,CAA6C1yD,UAA7C,CAAhC,EAA0FgzD,eAA1F;AACH;AACJ,GAXD;AAYA;AACJ;AACA;AACA;;;AACI18B,EAAAA,eAAe,CAACw8B,mBAAhB,GAAsC,UAAUrpE,QAAV,EAAoB;AACtD,WAAOA,QAAQ,CAACngB,MAAT,KAAoB,GAApB,IAA2BmgB,QAAQ,CAACngB,MAAT,IAAmB,GAAnB,IAA0BmgB,QAAQ,CAACngB,MAAT,GAAkB,GAA9E;AACH,GAFD;AAGA;AACJ;AACA;AACA;;;AACIgtD,EAAAA,eAAe,CAACy8B,0BAAhB,GAA6C,UAAUtpE,QAAV,EAAoB;AAC7D,QAAIA,QAAQ,CAACsC,OAAb,EAAsB;AAClB,aAAOtC,QAAQ,CAACsC,OAAT,CAAiBqF,cAAjB,CAAgCguD,wEAAhC,MAA6D31D,QAAQ,CAACngB,MAAT,GAAkB,GAAlB,IAAyBmgB,QAAQ,CAACngB,MAAT,IAAmB,GAAzG,CAAP;AACH;;AACD,WAAO,KAAP;AACH,GALD;AAMA;AACJ;AACA;AACA;;;AACIgtD,EAAAA,eAAe,CAAC28B,qBAAhB,GAAwC,UAAUN,YAAV,EAAwB;AAC5D,QAAIS,IAAI,GAAGT,YAAY,IAAI,CAAhB,GAAoB,CAApB,GAAwBA,YAAnC;AACA,QAAIU,cAAc,GAAGpkD,IAAI,CAAC+e,GAAL,KAAa,IAAlC;AACA,WAAO5K,IAAI,CAACkwC,KAAL,CAAWlwC,IAAI,CAACzqC,GAAL,CAAS06E,cAAc,IAAID,IAAI,IAAIxU,kGAAZ,CAAvB,EAAuFyU,cAAc,GAAGzU,sGAAxG,IAAiK,IAA5K,CAAP;AACH,GAJD;;AAKAtoB,EAAAA,eAAe,CAACsC,cAAhB,GAAiC,UAAU4S,YAAV,EAAwBxpD,QAAxB,EAAkC+D,OAAlC,EAA2Csa,qBAA3C,EAAkE;AAC/F,QAAIL,UAAU,GAAG;AACbhe,MAAAA,QAAQ,EAAEA,QADG;AAEbC,MAAAA,SAAS,EAAE8D,OAAO,CAAC9D,SAFN;AAGba,MAAAA,MAAM,EAAEiD,OAAO,CAACjD,MAHH;AAIbud,MAAAA,qBAAqB,EAAEA,qBAJV;AAKbC,MAAAA,MAAM,EAAEva,OAAO,CAACua,MALH;AAMbhC,MAAAA,oBAAoB,EAAEvY,OAAO,CAACuY,oBANjB;AAObiC,MAAAA,qBAAqB,EAAExa,OAAO,CAACwa,qBAPlB;AAQbC,MAAAA,kBAAkB,EAAEza,OAAO,CAACya,kBARf;AASbC,MAAAA,SAAS,EAAE1a,OAAO,CAAC0a,SATN;AAUbC,MAAAA,MAAM,EAAE3a,OAAO,CAAC2a;AAVH,KAAjB;AAYA,QAAI1T,GAAG,GAAG,KAAK0lE,4BAAL,CAAkC1yD,UAAlC,CAAV;AACA,WAAOwrC,YAAY,CAACpmC,UAAb,CAAwBpY,GAAxB,EAA6BunD,2EAA7B,CAAP;AACH,GAfD;;AAgBA,SAAOje,eAAP;AACH,CAxFoC,EAArC;;;;;;;;;;;;;;;;;;ACTA;AACa;AACb;;AACA,IAAI5+D,IAAI,GAAG,oBAAX;AACA,IAAI5P,OAAO,GAAG,OAAd;;;;;;;;;;;;;;;;;;;;;;ACJA;AACa;;AACb;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;;AACA,IAAIm3F,uBAAuB;AAAG;AAAe,YAAY;AACrD,WAASA,uBAAT,GAAmC;AAC/B,SAAK2U,UAAL,GAAkB,IAAIz9D,GAAJ,EAAlB;AACH;AACD;AACJ;AACA;;;AACI8oD,EAAAA,uBAAuB,CAAC9tD,SAAxB,CAAkCuyD,mBAAlC,GAAwD,YAAY;AAChE,SAAKkQ,UAAL,CAAgB5nE,GAAhB,CAAoBkzD,iFAApB,EAAsD9wC,kBAAkB,CAACpa,6EAAD,CAAxE;AACH,GAFD;AAGA;AACJ;AACA;;;AACIirD,EAAAA,uBAAuB,CAAC9tD,SAAxB,CAAkC4iE,iCAAlC,GAAsE,YAAY;AAC9E,SAAKH,UAAL,CAAgB5nE,GAAhB,CAAoBkzD,iFAApB,EAAsD9wC,kBAAkB,CAACpa,8EAAA,GAAgC,GAAhC,GAAsCA,iFAAvC,CAAxE;AACH,GAFD;AAGA;AACJ;AACA;AACA;;;AACIirD,EAAAA,uBAAuB,CAAC9tD,SAAxB,CAAkCsyD,eAAlC,GAAoD,UAAUjjB,YAAV,EAAwB;AACxE,SAAKozB,UAAL,CAAgB5nE,GAAhB,CAAoBkzD,iFAApB,EAAsD9wC,kBAAkB,CAAEoyB,YAAD,GAAiBA,YAAjB,GAAgC5B,mEAAjC,CAAxE;AACH,GAFD;AAGA;AACJ;AACA;;;AACIqgB,EAAAA,uBAAuB,CAAC9tD,SAAxB,CAAkCmzD,eAAlC,GAAoD,YAAY;AAC5D,SAAKsP,UAAL,CAAgB5nE,GAAhB,CAAoBkzD,iFAApB,EAAsD9wC,kBAAkB,CAAC,GAAD,CAAxE;AACH,GAFD;AAGA;AACJ;AACA;AACA;AACA;;;AACI6wC,EAAAA,uBAAuB,CAAC9tD,SAAxB,CAAkCuwD,SAAlC,GAA8C,UAAU5+D,MAAV,EAAkBuxE,aAAlB,EAAiC;AAC3E,QAAIA,aAAa,KAAK,KAAK,CAA3B,EAA8B;AAAEA,MAAAA,aAAa,GAAG,IAAhB;AAAuB;;AACvD,QAAI/Q,aAAa,GAAG+Q,aAAa,GAAGlrB,iEAAc,CAACrmD,MAAM,IAAI,EAAX,EAAekuC,oEAAf,CAAjB,GAAuDluC,MAAM,IAAI,EAAlG;AACA,QAAIyyC,QAAQ,GAAG,IAAInf,kDAAJ,CAAaktC,aAAb,CAAf;AACA,SAAKsQ,UAAL,CAAgB5nE,GAAhB,CAAoBkzD,yEAApB,EAA8C9wC,kBAAkB,CAACmnB,QAAQ,CAAC7c,WAAT,EAAD,CAAhE;AACH,GALD;AAMA;AACJ;AACA;AACA;;;AACIumC,EAAAA,uBAAuB,CAAC9tD,SAAxB,CAAkCowD,WAAlC,GAAgD,UAAUv/D,QAAV,EAAoB;AAChE,SAAK4xE,UAAL,CAAgB5nE,GAAhB,CAAoBkzD,6EAApB,EAAkD9wC,kBAAkB,CAACpsB,QAAD,CAApE;AACH,GAFD;AAGA;AACJ;AACA;AACA;;;AACIi9D,EAAAA,uBAAuB,CAAC9tD,SAAxB,CAAkCswD,cAAlC,GAAmD,UAAUv/D,WAAV,EAAuB;AACtEo9D,IAAAA,sFAAA,CAAqCp9D,WAArC;AACA,SAAK0xE,UAAL,CAAgB5nE,GAAhB,CAAoBkzD,gFAApB,EAAqD9wC,kBAAkB,CAAClsB,WAAD,CAAvE;AACH,GAHD;AAIA;AACJ;AACA;AACA;;;AACI+8D,EAAAA,uBAAuB,CAAC9tD,SAAxB,CAAkCozD,wBAAlC,GAA6D,UAAUriE,WAAV,EAAuB;AAChFo9D,IAAAA,sFAAA,CAAqCp9D,WAArC;AACA,SAAK0xE,UAAL,CAAgB5nE,GAAhB,CAAoBkzD,mFAApB,EAAwD9wC,kBAAkB,CAAClsB,WAAD,CAA1E;AACH,GAHD;AAIA;AACJ;AACA;AACA;;;AACI+8D,EAAAA,uBAAuB,CAAC9tD,SAAxB,CAAkCszD,cAAlC,GAAmD,UAAUD,WAAV,EAAuB;AACtE,SAAKoP,UAAL,CAAgB5nE,GAAhB,CAAoBkzD,iFAApB,EAAsD9wC,kBAAkB,CAACo2C,WAAD,CAAxE;AACH,GAFD;AAGA;AACJ;AACA;AACA;;;AACIvF,EAAAA,uBAAuB,CAAC9tD,SAAxB,CAAkC2yD,aAAlC,GAAkD,UAAUD,UAAV,EAAsB;AACpE,SAAK+P,UAAL,CAAgB5nE,GAAhB,CAAoBynE,qEAApB,EAA0CrlD,kBAAkB,CAACy1C,UAAD,CAA5D;AACH,GAFD;AAGA;AACJ;AACA;AACA;;;AACI5E,EAAAA,uBAAuB,CAAC9tD,SAAxB,CAAkCgzD,YAAlC,GAAiD,UAAUxlD,SAAV,EAAqB;AAClE,SAAKi1D,UAAL,CAAgB5nE,GAAhB,CAAoBynE,oEAApB,EAAyCrlD,kBAAkB,CAACzP,SAAD,CAA3D;AACH,GAFD;AAGA;AACJ;AACA;AACA;;;AACIsgD,EAAAA,uBAAuB,CAAC9tD,SAAxB,CAAkC+xD,SAAlC,GAA8C,UAAUvkD,SAAV,EAAqB;AAC/D,SAAKi1D,UAAL,CAAgB5nE,GAAhB,CAAoBozD,uEAApB,EAA4ChxC,kBAAkB,CAAC,SAASzP,SAAV,CAA9D;AACH,GAFD;AAGA;AACJ;AACA;AACA;;;AACIsgD,EAAAA,uBAAuB,CAAC9tD,SAAxB,CAAkC8xD,SAAlC,GAA8C,UAAUxrC,UAAV,EAAsB;AAChE,SAAKm8C,UAAL,CAAgB5nE,GAAhB,CAAoBozD,uEAApB,EAA4ChxC,kBAAkB,CAAC,SAASqJ,UAAU,CAAC+B,GAApB,GAA0B,GAA1B,GAAgC/B,UAAU,CAACszB,IAA5C,CAA9D;AACH,GAFD;AAGA;AACJ;AACA;AACA;;;AACIkU,EAAAA,uBAAuB,CAAC9tD,SAAxB,CAAkC6yD,MAAlC,GAA2C,UAAUplD,GAAV,EAAe;AACtD,SAAKg1D,UAAL,CAAgB5nE,GAAhB,CAAoBynE,6DAApB,EAAkCrlD,kBAAkB,CAACxP,GAAD,CAApD;AACH,GAFD;AAGA;AACJ;AACA;AACA;;;AACIqgD,EAAAA,uBAAuB,CAAC9tD,SAAxB,CAAkC6xD,SAAlC,GAA8C,UAAU1iD,MAAV,EAAkB6a,kBAAlB,EAAsC;AAChF,QAAI25C,YAAY,GAAG,KAAKC,6BAAL,CAAmCz0D,MAAnC,EAA2C6a,kBAA3C,CAAnB;AACAmkC,IAAAA,iFAAA,CAAgCwV,YAAhC;AACA,SAAKlB,UAAL,CAAgB5nE,GAAhB,CAAoBkzD,0EAApB,EAA+C9wC,kBAAkB,CAAC0mD,YAAD,CAAjE;AACH,GAJD;AAKA;AACJ;AACA;AACA;;;AACI7V,EAAAA,uBAAuB,CAAC9tD,SAAxB,CAAkC2xD,gBAAlC,GAAqD,UAAUjrD,aAAV,EAAyB;AAC1E,SAAK+7D,UAAL,CAAgB5nE,GAAhB,CAAoBkzD,qFAApB,EAA0D9wC,kBAAkB,CAACvW,aAAD,CAA5E;AACH,GAFD;AAGA;AACJ;AACA;AACA;;;AACIonD,EAAAA,uBAAuB,CAAC9tD,SAAxB,CAAkCywD,cAAlC,GAAmD,UAAUhiB,WAAV,EAAuB;AACtE;AACA,SAAKg0B,UAAL,CAAgB5nE,GAAhB,CAAoBkzD,gFAApB,EAAqDtf,WAAW,CAACtgC,GAAjE;AACA,SAAKs0D,UAAL,CAAgB5nE,GAAhB,CAAoBkzD,gFAApB,EAAqDtf,WAAW,CAAC93E,OAAjE;;AACA,QAAI83E,WAAW,CAACE,EAAhB,EAAoB;AAChB,WAAK8zB,UAAL,CAAgB5nE,GAAhB,CAAoBkzD,+EAApB,EAAoDtf,WAAW,CAACE,EAAhE;AACH;;AACD,QAAIF,WAAW,CAACC,GAAhB,EAAqB;AACjB,WAAK+zB,UAAL,CAAgB5nE,GAAhB,CAAoBkzD,gFAApB,EAAqDtf,WAAW,CAACC,GAAjE;AACH;AACJ,GAVD;AAWA;AACJ;AACA;AACA;;;AACIof,EAAAA,uBAAuB,CAAC9tD,SAAxB,CAAkC0wD,uBAAlC,GAA4D,UAAU0T,YAAV,EAAwB;AAChF,QAAIA,YAAY,KAAK,IAAjB,IAAyBA,YAAY,KAAK,KAAK,CAA/C,GAAmD,KAAK,CAAxD,GAA4DA,YAAY,CAAC94C,OAA7E,EAAsF;AAClF,WAAKm3C,UAAL,CAAgB5nE,GAAhB,CAAoBkzD,8EAApB,EAAmDqW,YAAY,CAAC94C,OAAhE;AACH;;AACD,QAAI84C,YAAY,KAAK,IAAjB,IAAyBA,YAAY,KAAK,KAAK,CAA/C,GAAmD,KAAK,CAAxD,GAA4DA,YAAY,CAAC74C,UAA7E,EAAyF;AACrF,WAAKk3C,UAAL,CAAgB5nE,GAAhB,CAAoBkzD,6EAApB,EAAkDqW,YAAY,CAAC74C,UAA/D;AACH;AACJ,GAPD;AAQA;AACJ;AACA;AACA;;;AACIuiC,EAAAA,uBAAuB,CAAC9tD,SAAxB,CAAkCyyD,SAAlC,GAA8C,UAAU7oD,MAAV,EAAkB;AAC5DukD,IAAAA,iFAAA,CAAgCvkD,MAAhC;AACA,SAAK64D,UAAL,CAAgB5nE,GAAhB,CAAoB,KAAKkzD,0EAAzB,EAAoD9wC,kBAAkB,CAACrT,MAAD,CAAtE;AACH,GAHD;AAIA;AACJ;AACA;AACA;;;AACIkkD,EAAAA,uBAAuB,CAAC9tD,SAAxB,CAAkCkzD,QAAlC,GAA6C,UAAU1hF,KAAV,EAAiB;AAC1D,QAAI,CAAC2hB,sEAAA,CAAoB3hB,KAApB,CAAL,EAAiC;AAC7B,WAAKixF,UAAL,CAAgB5nE,GAAhB,CAAoBkzD,yEAApB,EAA8C9wC,kBAAkB,CAACzrC,KAAD,CAAhE;AACH;AACJ,GAJD;AAKA;AACJ;AACA;AACA;;;AACIs8E,EAAAA,uBAAuB,CAAC9tD,SAAxB,CAAkCizD,QAAlC,GAA6C,UAAU7zC,KAAV,EAAiB;AAC1D,SAAKqjD,UAAL,CAAgB5nE,GAAhB,CAAoBkzD,yEAApB,EAA8C9wC,kBAAkB,CAACmC,KAAD,CAAhE;AACH,GAFD;AAGA;AACJ;AACA;AACA;AACA;AACA;;;AACI0uC,EAAAA,uBAAuB,CAAC9tD,SAAxB,CAAkCwyD,sBAAlC,GAA2D,UAAU/+B,aAAV,EAAyBka,mBAAzB,EAA8C;AACrGwgB,IAAAA,8FAAA,CAA6C16B,aAA7C,EAA4Dka,mBAA5D;;AACA,QAAIla,aAAa,IAAIka,mBAArB,EAA0C;AACtC,WAAK80B,UAAL,CAAgB5nE,GAAhB,CAAoBkzD,kFAApB,EAAuD9wC,kBAAkB,CAACwW,aAAD,CAAzE;AACA,WAAKgvC,UAAL,CAAgB5nE,GAAhB,CAAoBkzD,yFAApB,EAA8D9wC,kBAAkB,CAAC0wB,mBAAD,CAAhF;AACH,KAHD,MAIK;AACD,YAAMhQ,8HAAA,EAAN;AACH;AACJ,GATD;AAUA;AACJ;AACA;AACA;;;AACImwB,EAAAA,uBAAuB,CAAC9tD,SAAxB,CAAkCwwD,oBAAlC,GAAyD,UAAUnkF,IAAV,EAAgB;AACrE,SAAKo2F,UAAL,CAAgB5nE,GAAhB,CAAoBkzD,wEAApB,EAA6C9wC,kBAAkB,CAAC5wC,IAAD,CAA/D;AACH,GAFD;AAGA;AACJ;AACA;AACA;;;AACIyhF,EAAAA,uBAAuB,CAAC9tD,SAAxB,CAAkC+kE,aAAlC,GAAkD,UAAU14F,IAAV,EAAgB;AAC9D,SAAKo2F,UAAL,CAAgB5nE,GAAhB,CAAoBkzD,+EAApB,EAAoD9wC,kBAAkB,CAAC5wC,IAAD,CAAtE;AACH,GAFD;AAGA;AACJ;AACA;AACA;;;AACIyhF,EAAAA,uBAAuB,CAAC9tD,SAAxB,CAAkCs1D,eAAlC,GAAoD,UAAUl8C,YAAV,EAAwB;AACxE,SAAKqpD,UAAL,CAAgB5nE,GAAhB,CAAoBkzD,iFAApB,EAAsD9wC,kBAAkB,CAAC7D,YAAD,CAAxE;AACH,GAFD;AAGA;AACJ;AACA;AACA;;;AACI00C,EAAAA,uBAAuB,CAAC9tD,SAAxB,CAAkC6wD,eAAlC,GAAoD,UAAUr9B,YAAV,EAAwB;AACxE,SAAKivC,UAAL,CAAgB5nE,GAAhB,CAAoBkzD,iFAApB,EAAsD9wC,kBAAkB,CAACuW,YAAD,CAAxE;AACH,GAFD;AAGA;AACJ;AACA;AACA;;;AACIs6B,EAAAA,uBAAuB,CAAC9tD,SAAxB,CAAkCgxD,eAAlC,GAAoD,UAAUD,YAAV,EAAwB;AACxE,SAAK0R,UAAL,CAAgB5nE,GAAhB,CAAoBkzD,iFAApB,EAAsD9wC,kBAAkB,CAAC8zC,YAAD,CAAxE;AACH,GAFD;AAGA;AACJ;AACA;AACA;;;AACIjD,EAAAA,uBAAuB,CAAC9tD,SAAxB,CAAkCixD,kBAAlC,GAAuD,UAAUf,eAAV,EAA2B;AAC9E,QAAI,CAAC/8D,sEAAA,CAAoB+8D,eAApB,CAAL,EAA2C;AACvC,WAAKuS,UAAL,CAAgB5nE,GAAhB,CAAoBkzD,oFAApB,EAAyD9wC,kBAAkB,CAACizC,eAAD,CAA3E;AACH;AACJ,GAJD;AAKA;AACJ;AACA;AACA;;;AACIpC,EAAAA,uBAAuB,CAAC9tD,SAAxB,CAAkCmxD,sBAAlC,GAA2D,UAAUiU,mBAAV,EAA+B;AACtF,QAAI,CAACjyE,sEAAA,CAAoBiyE,mBAApB,CAAL,EAA+C;AAC3C,WAAK3C,UAAL,CAAgB5nE,GAAhB,CAAoBkzD,yFAApB,EAA8D9wC,kBAAkB,CAACmoD,mBAAD,CAAhF;AACH;AACJ,GAJD;AAKA;AACJ;AACA;AACA;;;AACItX,EAAAA,uBAAuB,CAAC9tD,SAAxB,CAAkCslE,eAAlC,GAAoD,UAAUC,YAAV,EAAwB;AACxE,SAAK9C,UAAL,CAAgB5nE,GAAhB,CAAoBkzD,iFAApB,EAAsD9wC,kBAAkB,CAACsoD,YAAD,CAAxE;AACH,GAFD;AAGA;AACJ;AACA;AACA;;;AACIzX,EAAAA,uBAAuB,CAAC9tD,SAAxB,CAAkCylE,kBAAlC,GAAuD,UAAUC,QAAV,EAAoB;AACvE,SAAKjD,UAAL,CAAgB5nE,GAAhB,CAAoBkzD,uFAApB,EAA4D9wC,kBAAkB,CAACyoD,QAAD,CAA9E;AACH,GAFD;AAGA;AACJ;AACA;AACA;;;AACI5X,EAAAA,uBAAuB,CAAC9tD,SAAxB,CAAkCqxD,YAAlC,GAAiD,UAAUuU,SAAV,EAAqB;AAClE,SAAKnD,UAAL,CAAgB5nE,GAAhB,CAAoBkzD,8EAApB,EAAmD9wC,kBAAkB,CAAC2oD,SAAD,CAArE;AACH,GAFD;AAGA;AACJ;AACA;AACA;;;AACI9X,EAAAA,uBAAuB,CAAC9tD,SAAxB,CAAkCuxD,aAAlC,GAAkD,YAAY;AAC1D,SAAKkR,UAAL,CAAgB5nE,GAAhB,CAAoB8b,4DAApB,EAAiC,GAAjC;AACH,GAFD;AAGA;AACJ;AACA;AACA;;;AACIm3C,EAAAA,uBAAuB,CAAC9tD,SAAxB,CAAkCgwD,uBAAlC,GAA4D,UAAU8V,QAAV,EAAoB;AAC5E,QAAIl/D,KAAK,GAAG,IAAZ;;AACAunD,IAAAA,mFAAA,CAAkC2X,QAAlC,EAA4C,KAAKrD,UAAjD;AACAvqE,IAAAA,MAAM,CAACkD,IAAP,CAAY0qE,QAAZ,EAAsBlqE,OAAtB,CAA8B,UAAUC,GAAV,EAAe;AACzC+K,MAAAA,KAAK,CAAC67D,UAAN,CAAiB5nE,GAAjB,CAAqBgB,GAArB,EAA0BiqE,QAAQ,CAACjqE,GAAD,CAAlC;AACH,KAFD;AAGH,GAND;;AAOAiyD,EAAAA,uBAAuB,CAAC9tD,SAAxB,CAAkC4jE,6BAAlC,GAAkE,UAAUz0D,MAAV,EAAkB6a,kBAAlB,EAAsC;AACpG,QAAI25C,YAAJ,CADoG,CAEpG;;AACA,QAAI,CAACx0D,MAAL,EAAa;AACTw0D,MAAAA,YAAY,GAAG,EAAf;AACH,KAFD,MAGK;AACD,UAAI;AACAA,QAAAA,YAAY,GAAG/uF,IAAI,CAACC,KAAL,CAAWs6B,MAAX,CAAf;AACH,OAFD,CAGA,OAAOzO,CAAP,EAAU;AACN,cAAMi9B,wHAAA,EAAN;AACH;AACJ;;AACD,QAAI3T,kBAAkB,IAAIA,kBAAkB,CAACtnD,MAAnB,GAA4B,CAAtD,EAAyD;AACrD,UAAI,CAACihG,YAAY,CAAC1jE,cAAb,CAA4BsiE,+EAA5B,CAAL,EAAkE;AAC9D;AACAoB,QAAAA,YAAY,CAACpB,+EAAD,CAAZ,GAA+C,EAA/C;AACH,OAJoD,CAKrD;;;AACAoB,MAAAA,YAAY,CAACpB,+EAAD,CAAZ,CAA6CA,yEAA7C,IAAyE;AACrEnrD,QAAAA,MAAM,EAAE4S;AAD6D,OAAzE;AAGH;;AACD,WAAOp1C,IAAI,CAACI,SAAL,CAAe2uF,YAAf,CAAP;AACH,GAzBD;AA0BA;AACJ;AACA;AACA;;;AACI7V,EAAAA,uBAAuB,CAAC9tD,SAAxB,CAAkCimE,WAAlC,GAAgD,UAAU35D,QAAV,EAAoB;AAChE,SAAKm2D,UAAL,CAAgB5nE,GAAhB,CAAoB2nE,gFAApB,EAAqDvlD,kBAAkB,CAAC3Q,QAAD,CAAvE;AACH,GAFD;AAGA;AACJ;AACA;AACA;;;AACIwhD,EAAAA,uBAAuB,CAAC9tD,SAAxB,CAAkCkmE,WAAlC,GAAgD,UAAUC,QAAV,EAAoB;AAChE,SAAK1D,UAAL,CAAgB5nE,GAAhB,CAAoB2nE,gFAApB,EAAqDvlD,kBAAkB,CAACkpD,QAAD,CAAvE;AACH,GAFD;AAGA;AACJ;AACA;AACA;;;AACIrY,EAAAA,uBAAuB,CAAC9tD,SAAxB,CAAkCwxD,WAAlC,GAAgD,UAAU4U,SAAV,EAAqB;AACjE,QAAI,CAACjzE,sEAAA,CAAoBizE,SAApB,CAAL,EAAqC;AACjC,WAAK3D,UAAL,CAAgB5nE,GAAhB,CAAoBkzD,8EAApB,EAAmDp9C,yEAAnD;AACA,WAAK8xD,UAAL,CAAgB5nE,GAAhB,CAAoBkzD,2EAApB,EAAgD9wC,kBAAkB,CAACmpD,SAAD,CAAlE;AACH;AACJ,GALD;AAMA;AACJ;AACA;;;AACItY,EAAAA,uBAAuB,CAAC9tD,SAAxB,CAAkC0xD,SAAlC,GAA8C,UAAU6U,YAAV,EAAwB;AAClE,QAAI,CAACpzE,sEAAA,CAAoBozE,YAApB,CAAL,EAAwC;AACpC,WAAK9D,UAAL,CAAgB5nE,GAAhB,CAAoBkzD,8EAApB,EAAmDp9C,yEAAnD;AACA,WAAK8xD,UAAL,CAAgB5nE,GAAhB,CAAoBkzD,2EAApB,EAAgD9wC,kBAAkB,CAACspD,YAAD,CAAlE;AACH;AACJ,GALD;AAMA;AACJ;AACA;AACA;;;AACIzY,EAAAA,uBAAuB,CAAC9tD,SAAxB,CAAkC4wD,kBAAlC,GAAuD,UAAUzqB,sBAAV,EAAkC;AACrF,SAAKs8B,UAAL,CAAgB5nE,GAAhB,CAAoBkzD,uFAApB,EAA4D5nB,sBAAsB,CAACsgC,iCAAvB,EAA5D;AACA,SAAKhE,UAAL,CAAgB5nE,GAAhB,CAAoBkzD,uFAApB,EAA4D5nB,sBAAsB,CAACwgC,8BAAvB,EAA5D;AACH,GAHD;AAIA;AACJ;AACA;;;AACI7Y,EAAAA,uBAAuB,CAAC9tD,SAAxB,CAAkC2wD,aAAlC,GAAkD,YAAY;AAC1D,SAAK8R,UAAL,CAAgB5nE,GAAhB,CAAoBkzD,uFAApB,EAA4DN,8FAA5D;AACH,GAFD;AAGA;AACJ;AACA;;;AACIK,EAAAA,uBAAuB,CAAC9tD,SAAxB,CAAkCuzD,aAAlC,GAAkD,UAAU1lB,UAAV,EAAsB;AACpE,SAAK40B,UAAL,CAAgB5nE,GAAhB,CAAoBkzD,+EAApB,EAAoD9wC,kBAAkB,CAAC4wB,UAAD,CAAtE;AACH,GAFD;AAGA;AACJ;AACA;;;AACIigB,EAAAA,uBAAuB,CAAC9tD,SAAxB,CAAkCiwD,iBAAlC,GAAsD,YAAY;AAC9D,QAAI8W,mBAAmB,GAAG,IAAI7rE,KAAJ,EAA1B;AACA,SAAKunE,UAAL,CAAgB7mE,OAAhB,CAAwB,UAAU30B,KAAV,EAAiB40B,GAAjB,EAAsB;AAC1CkrE,MAAAA,mBAAmB,CAAC/qE,IAApB,CAAyBH,GAAG,GAAG,GAAN,GAAY50B,KAArC;AACH,KAFD;AAGA,WAAO8/F,mBAAmB,CAACjkG,IAApB,CAAyB,GAAzB,CAAP;AACH,GAND;;AAOA,SAAOgrF,uBAAP;AACH,CAlX4C,EAA7C;;;;;;;;;;;;;;;;;;;;ACbA;AACa;;AACb;AACA;AACA;AAEA;AACA;AACA;AACA;;AACA;AACA;AACA;;AACA,IAAIK,gBAAgB;AAAG;AAAe,YAAY;AAC9C,WAASA,gBAAT,GAA4B,CAC3B;AACD;AACJ;AACA;AACA;;;AACIA,EAAAA,gBAAgB,CAACkC,mBAAjB,GAAuC,UAAUt/D,WAAV,EAAuB;AAC1D,QAAIoC,sEAAA,CAAoBpC,WAApB,CAAJ,EAAsC;AAClC,YAAM4sC,oHAAA,EAAN;AACH;AACJ,GAJD;AAKA;AACJ;AACA;AACA;;;AACIwwB,EAAAA,gBAAgB,CAACoW,cAAjB,GAAkC,UAAU36D,MAAV,EAAkB;AAChD,QAAIq9D,YAAY,GAAG,EAAnB;;AACA,SAAK,IAAIhgG,KAAT,IAAkBi8B,4DAAlB,EAA+B;AAC3B+jE,MAAAA,YAAY,CAACjrE,IAAb,CAAkBkH,4DAAW,CAACj8B,KAAD,CAA7B;AACH;;AACD,QAAIggG,YAAY,CAAC94F,OAAb,CAAqBy7B,MAArB,IAA+B,CAAnC,EAAsC;AAClC,YAAM+zB,iHAAA,CAAkD/zB,MAAlD,CAAN;AACH;AACJ,GARD;;AASAukD,EAAAA,gBAAgB,CAAC0V,cAAjB,GAAkC,UAAU10D,MAAV,EAAkB;AAChD,QAAI;AACAv6B,MAAAA,IAAI,CAACC,KAAL,CAAWs6B,MAAX;AACH,KAFD,CAGA,OAAOzO,CAAP,EAAU;AACN,YAAMi9B,wHAAA,EAAN;AACH;AACJ,GAPD;AAQA;AACJ;AACA;AACA;AACA;;;AACIwwB,EAAAA,gBAAgB,CAACwW,2BAAjB,GAA+C,UAAUlxC,aAAV,EAAyBka,mBAAzB,EAA8C;AACzF,QAAIx6C,sEAAA,CAAoBsgC,aAApB,KAAsCtgC,sEAAA,CAAoBw6C,mBAApB,CAA1C,EAAoF;AAChF,YAAMhQ,8HAAA,EAAN;AACH,KAFD,MAGK;AACD,WAAKupC,2BAAL,CAAiCv5B,mBAAjC;AACH;AACJ,GAPD;AAQA;AACJ;AACA;AACA;;;AACIwgB,EAAAA,gBAAgB,CAAC+Y,2BAAjB,GAA+C,UAAUv5B,mBAAV,EAA+B;AAC1E,QAAI,CACAq5B,gFADA,EAEAA,+EAFA,EAGF74F,OAHE,CAGMw/D,mBAHN,IAG6B,CAHjC,EAGoC;AAChC,YAAMhQ,8HAAA,EAAN;AACH;AACJ,GAPD;AAQA;AACJ;AACA;AACA;;;AACIwwB,EAAAA,gBAAgB,CAAC4X,gBAAjB,GAAoC,UAAUsB,QAAV,EAAoB10F,WAApB,EAAiC;AACjE,QAAI,CAAC00F,QAAL,EAAe;AACX,aAAO,EAAP;AACH,KAHgE,CAIjE;;;AACA10F,IAAAA,WAAW,CAACipB,OAAZ,CAAoB,UAAU30B,KAAV,EAAiB40B,GAAjB,EAAsB;AACtC,UAAIwrE,QAAQ,CAACxrE,GAAD,CAAZ,EAAmB;AACf,eAAOwrE,QAAQ,CAACxrE,GAAD,CAAf;AACH;AACJ,KAJD;AAKA,WAAOwrE,QAAP;AACH,GAXD;;AAYA,SAAOlZ,gBAAP;AACH,CA3EqC,EAAtC;;;;;;;;;;;;;;;;;;;;;;ACbA;AACa;;AACb;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;;AACA;AACA;AACA;AACA;AACA;;AACA,IAAIlpC,QAAQ;AAAG;AAAe,YAAY;AACtC,WAASA,QAAT,CAAkBg6C,WAAlB,EAA+B;AAC3B,QAAIr4D,KAAK,GAAG,IAAZ,CAD2B,CAE3B;;;AACA,QAAI2gE,QAAQ,GAAGtI,WAAW,GAAG9rE,+EAAA,CAA6B6kD,iEAAc,CAACinB,WAAD,CAA3C,CAAH,GAA+D,EAAzF;AACA,QAAIwI,aAAa,GAAGF,QAAQ,GAAGp0E,0FAAA,CAAwCo0E,QAAxC,CAAH,GAAuD,EAAnF,CAJ2B,CAK3B;;AACA,SAAKI,mBAAL,CAAyBF,aAAzB;AACA,SAAK91E,MAAL,GAAc,IAAIi2E,GAAJ,EAAd,CAP2B,CAOF;;AACzBH,IAAAA,aAAa,CAAC7rE,OAAd,CAAsB,UAAU0B,KAAV,EAAiB;AAAE,aAAOsJ,KAAK,CAACjV,MAAN,CAAahH,GAAb,CAAiB2S,KAAjB,CAAP;AAAiC,KAA1E;AACH;AACD;AACJ;AACA;AACA;AACA;AACA;;;AACI2nB,EAAAA,QAAQ,CAACkD,UAAT,GAAsB,UAAU0/C,gBAAV,EAA4B;AAC9C,QAAIC,WAAW,GAAGD,gBAAgB,IAAIhlE,uEAAtC;AACA,QAAIo8D,WAAW,GAAG6I,WAAW,CAAChzF,KAAZ,CAAkB,GAAlB,CAAlB;AACA,WAAO,IAAImwC,QAAJ,CAAag6C,WAAb,CAAP;AACH,GAJD;AAKA;AACJ;AACA;AACA;AACA;;;AACIh6C,EAAAA,QAAQ,CAACjlB,SAAT,CAAmB2nE,mBAAnB,GAAyC,UAAU1I,WAAV,EAAuB;AAC5D;AACA,QAAI,CAACA,WAAD,IAAgBA,WAAW,CAACv8F,MAAZ,GAAqB,CAAzC,EAA4C;AACxC,YAAMi7D,oHAAA,EAAN;AACH;AACJ,GALD;AAMA;AACJ;AACA;AACA;;;AACI1Y,EAAAA,QAAQ,CAACjlB,SAAT,CAAmB+nE,aAAnB,GAAmC,UAAUzqE,KAAV,EAAiB;AAChD,QAAI0qE,eAAe,GAAG,KAAK9f,oBAAL,GAA4BpzE,KAA5B,CAAkC,GAAlC,CAAtB;AACA,QAAImzF,kBAAkB,GAAG,IAAIhjD,QAAJ,CAAa+iD,eAAb,CAAzB,CAFgD,CAGhD;;AACA,WAAO,CAAC70E,sEAAA,CAAoBmK,KAApB,CAAD,GAA8B2qE,kBAAkB,CAACt2E,MAAnB,CAA0BkzB,GAA1B,CAA8BvnB,KAAK,CAACF,WAAN,EAA9B,CAA9B,GAAmF,KAA1F;AACH,GALD;AAMA;AACJ;AACA;AACA;;;AACI6nB,EAAAA,QAAQ,CAACjlB,SAAT,CAAmBopD,gBAAnB,GAAsC,UAAUhlB,QAAV,EAAoB;AACtD,QAAIx9B,KAAK,GAAG,IAAZ;;AACA,QAAI,CAACw9B,QAAD,IAAaA,QAAQ,CAACzyC,MAAT,CAAgBu2E,IAAhB,IAAwB,CAAzC,EAA4C;AACxC,aAAO,KAAP;AACH;;AACD,WAAQ,KAAKv2E,MAAL,CAAYu2E,IAAZ,IAAoB9jC,QAAQ,CAACzyC,MAAT,CAAgBu2E,IAApC,IAA4C9jC,QAAQ,CAAChc,OAAT,GAAmB+/C,KAAnB,CAAyB,UAAU7qE,KAAV,EAAiB;AAAE,aAAOsJ,KAAK,CAACmhE,aAAN,CAAoBzqE,KAApB,CAAP;AAAoC,KAAhF,CAApD;AACH,GAND;AAOA;AACJ;AACA;;;AACI2nB,EAAAA,QAAQ,CAACjlB,SAAT,CAAmBgpD,sBAAnB,GAA4C,YAAY;AACpD,QAAIpiD,KAAK,GAAG,IAAZ;;AACA,QAAIwhE,iBAAiB,GAAG,CAAxB;AACAd,IAAAA,oEAAA,CAAoB,UAAUe,YAAV,EAAwB;AACxC,UAAIzhE,KAAK,CAACmhE,aAAN,CAAoBM,YAApB,CAAJ,EAAuC;AACnCD,QAAAA,iBAAiB,IAAI,CAArB;AACH;AACJ,KAJD;AAKA,WAAO,KAAKz2E,MAAL,CAAYu2E,IAAZ,KAAqBE,iBAA5B;AACH,GATD;AAUA;AACJ;AACA;AACA;;;AACInjD,EAAAA,QAAQ,CAACjlB,SAAT,CAAmBsoE,WAAnB,GAAiC,UAAUC,QAAV,EAAoB;AACjD,QAAI,CAACp1E,sEAAA,CAAoBo1E,QAApB,CAAL,EAAoC;AAChC,WAAK52E,MAAL,CAAYhH,GAAZ,CAAgB49E,QAAQ,CAACx0B,IAAT,EAAhB;AACH;AACJ,GAJD;AAKA;AACJ;AACA;AACA;;;AACI9uB,EAAAA,QAAQ,CAACjlB,SAAT,CAAmBwkC,YAAnB,GAAkC,UAAUgkC,SAAV,EAAqB;AACnD,QAAI5hE,KAAK,GAAG,IAAZ;;AACA,QAAI;AACA4hE,MAAAA,SAAS,CAAC5sE,OAAV,CAAkB,UAAU2sE,QAAV,EAAoB;AAAE,eAAO3hE,KAAK,CAAC0hE,WAAN,CAAkBC,QAAlB,CAAP;AAAqC,OAA7E;AACH,KAFD,CAGA,OAAO7nE,CAAP,EAAU;AACN,YAAMuC,gGAAA,CAA0CvC,CAA1C,CAAN;AACH;AACJ,GARD;AASA;AACJ;AACA;AACA;;;AACIukB,EAAAA,QAAQ,CAACjlB,SAAT,CAAmBkpD,WAAnB,GAAiC,UAAU5rD,KAAV,EAAiB;AAC9C,QAAInK,sEAAA,CAAoBmK,KAApB,CAAJ,EAAgC;AAC5B,YAAM2F,yGAAA,CAAmD3F,KAAnD,CAAN;AACH;;AACD,SAAK3L,MAAL,CAAYgZ,MAAZ,CAAmBrN,KAAK,CAACy2C,IAAN,EAAnB;AACH,GALD;AAMA;AACJ;AACA;AACA;;;AACI9uB,EAAAA,QAAQ,CAACjlB,SAAT,CAAmBipD,gBAAnB,GAAsC,YAAY;AAC9C,QAAIriD,KAAK,GAAG,IAAZ;;AACA0gE,IAAAA,oEAAA,CAAoB,UAAUe,YAAV,EAAwB;AACxCzhE,MAAAA,KAAK,CAACjV,MAAN,CAAagZ,MAAb,CAAoB09D,YAApB;AACH,KAFD;AAGH,GALD;AAMA;AACJ;AACA;AACA;;;AACIpjD,EAAAA,QAAQ,CAACjlB,SAAT,CAAmByoE,cAAnB,GAAoC,UAAUC,WAAV,EAAuB;AACvD,QAAI,CAACA,WAAL,EAAkB;AACd,YAAMzlE,oGAAA,EAAN;AACH;;AACD,QAAI0lE,WAAW,GAAG,IAAIf,GAAJ,EAAlB,CAJuD,CAI1B;;AAC7Bc,IAAAA,WAAW,CAAC/2E,MAAZ,CAAmBiK,OAAnB,CAA2B,UAAU0B,KAAV,EAAiB;AAAE,aAAOqrE,WAAW,CAACh+E,GAAZ,CAAgB2S,KAAK,CAACF,WAAN,EAAhB,CAAP;AAA8C,KAA5F;AACA,SAAKzL,MAAL,CAAYiK,OAAZ,CAAoB,UAAU0B,KAAV,EAAiB;AAAE,aAAOqrE,WAAW,CAACh+E,GAAZ,CAAgB2S,KAAK,CAACF,WAAN,EAAhB,CAAP;AAA8C,KAArF;AACA,WAAOurE,WAAP;AACH,GARD;AASA;AACJ;AACA;AACA;;;AACI1jD,EAAAA,QAAQ,CAACjlB,SAAT,CAAmB0kD,qBAAnB,GAA2C,UAAUgkB,WAAV,EAAuB;AAC9D,QAAI,CAACA,WAAL,EAAkB;AACd,YAAMzlE,oGAAA,EAAN;AACH,KAH6D,CAI9D;;;AACA,QAAI,CAACylE,WAAW,CAAC1f,sBAAZ,EAAL,EAA2C;AACvC0f,MAAAA,WAAW,CAACzf,gBAAZ;AACH;;AACD,QAAI0f,WAAW,GAAG,KAAKF,cAAL,CAAoBC,WAApB,CAAlB;AACA,QAAIE,eAAe,GAAGF,WAAW,CAACG,aAAZ,EAAtB;AACA,QAAIC,cAAc,GAAG,KAAKD,aAAL,EAArB;AACA,QAAIE,eAAe,GAAGJ,WAAW,CAACT,IAAlC;AACA,WAAOa,eAAe,GAAID,cAAc,GAAGF,eAA3C;AACH,GAbD;AAcA;AACJ;AACA;;;AACI3jD,EAAAA,QAAQ,CAACjlB,SAAT,CAAmB6oE,aAAnB,GAAmC,YAAY;AAC3C,WAAO,KAAKl3E,MAAL,CAAYu2E,IAAnB;AACH,GAFD;AAGA;AACJ;AACA;;;AACIjjD,EAAAA,QAAQ,CAACjlB,SAAT,CAAmBooB,OAAnB,GAA6B,YAAY;AACrC,QAAI4gD,KAAK,GAAG,EAAZ;AACA,SAAKr3E,MAAL,CAAYiK,OAAZ,CAAoB,UAAUqtE,GAAV,EAAe;AAAE,aAAOD,KAAK,CAAChtE,IAAN,CAAWitE,GAAX,CAAP;AAAyB,KAA9D;AACA,WAAOD,KAAP;AACH,GAJD;AAKA;AACJ;AACA;;;AACI/jD,EAAAA,QAAQ,CAACjlB,SAAT,CAAmBunB,WAAnB,GAAiC,YAAY;AACzC,QAAI,KAAK51B,MAAT,EAAiB;AACb,UAAI41E,QAAQ,GAAG,KAAKn/C,OAAL,EAAf;AACA,aAAOm/C,QAAQ,CAACzkG,IAAT,CAAc,GAAd,CAAP;AACH;;AACD,WAAO+/B,uEAAP;AACH,GAND;AAOA;AACJ;AACA;;;AACIoiB,EAAAA,QAAQ,CAACjlB,SAAT,CAAmBkoD,oBAAnB,GAA0C,YAAY;AAClD,WAAO,KAAK3gC,WAAL,GAAmBnqB,WAAnB,EAAP;AACH,GAFD;;AAGA,SAAO6nB,QAAP;AACH,CA3K6B,EAA9B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACjBA;AACa;;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;;AACA;AACA;AACA;;AACA,IAAIipC,eAAe;AAAG;AAAe,YAAY;AAC7C,WAASA,eAAT,CAAyBr9D,QAAzB,EAAmCq4E,YAAnC,EAAiD/jD,SAAjD,EAA4DzvB,MAA5D,EAAoEo5D,iBAApE,EAAuFC,iBAAvF,EAA0G;AACtG,SAAKl+D,QAAL,GAAgBA,QAAhB;AACA,SAAKq4E,YAAL,GAAoBA,YAApB;AACA,SAAK/jD,SAAL,GAAiBA,SAAjB;AACA,SAAKzvB,MAAL,GAAcA,MAAd;AACA,SAAKo5D,iBAAL,GAAyBA,iBAAzB;AACA,SAAKC,iBAAL,GAAyBA,iBAAzB;AACH;AACD;AACJ;AACA;AACA;AACA;AACA;;;AACIb,EAAAA,eAAe,CAACluD,SAAhB,CAA0BmvD,uCAA1B,GAAoE,UAAUga,kBAAV,EAA8BnqD,WAA9B,EAA2CmG,SAA3C,EAAsD;AACtH,QAAI,CAACgkD,kBAAkB,CAAC33F,KAApB,IAA6B,CAACwtC,WAAlC,EAA+C;AAC3C,YAAM,CAACmqD,kBAAkB,CAAC33F,KAApB,GAA4ByxB,+FAAA,CAAyC,cAAzC,CAA5B,GAAuFA,+FAAA,CAAyC,cAAzC,CAA7F;AACH;;AACD,QAAIua,kBAAkB,CAAC2rD,kBAAkB,CAAC33F,KAApB,CAAlB,KAAiDgsC,kBAAkB,CAACwB,WAAD,CAAvE,EAAsF;AAClF,YAAM/b,+FAAA,EAAN;AACH,KANqH,CAOtH;;;AACA,QAAIkmE,kBAAkB,CAAC/8F,KAAnB,IAA4B+8F,kBAAkB,CAAC5oB,iBAA/C,IAAoE4oB,kBAAkB,CAAC1Q,QAA3F,EAAqG;AACjG,UAAI31D,2HAAA,CAAwDqmE,kBAAkB,CAAC/8F,KAA3E,EAAkF+8F,kBAAkB,CAAC5oB,iBAArG,EAAwH4oB,kBAAkB,CAAC1Q,QAA3I,CAAJ,EAA0J;AACtJ,cAAM,IAAI31D,gGAAJ,CAAiCqmE,kBAAkB,CAAC/8F,KAAnB,IAA4By2B,uEAA7D,EAAqFsmE,kBAAkB,CAAC5oB,iBAAxG,EAA2H4oB,kBAAkB,CAAC1Q,QAA9I,CAAN;AACH;;AACD,YAAM,IAAIlqD,8DAAJ,CAAgB46D,kBAAkB,CAAC/8F,KAAnB,IAA4By2B,uEAA5C,EAAoEsmE,kBAAkB,CAAC5oB,iBAAvF,EAA0G4oB,kBAAkB,CAAC1Q,QAA7H,CAAN;AACH;;AACD,QAAI0Q,kBAAkB,CAACziD,WAAvB,EAAoC;AAChC0yB,MAAAA,uEAAe,CAAC+vB,kBAAkB,CAACziD,WAApB,EAAiCvB,SAAjC,CAAf;AACH;AACJ,GAjBD;AAkBA;AACJ;AACA;AACA;;;AACI+oC,EAAAA,eAAe,CAACluD,SAAhB,CAA0BgvD,qBAA1B,GAAkD,UAAUoa,cAAV,EAA0B;AACxE;AACA,QAAIA,cAAc,CAACh9F,KAAf,IAAwBg9F,cAAc,CAAC7oB,iBAAvC,IAA4D6oB,cAAc,CAAC3Q,QAA/E,EAAyF;AACrF,UAAI31D,2HAAA,CAAwDsmE,cAAc,CAACh9F,KAAvE,EAA8Eg9F,cAAc,CAAC7oB,iBAA7F,EAAgH6oB,cAAc,CAAC3Q,QAA/H,CAAJ,EAA8I;AAC1I,cAAM,IAAI31D,gGAAJ,CAAiCsmE,cAAc,CAACh9F,KAAhD,EAAuDg9F,cAAc,CAAC7oB,iBAAtE,EAAyF6oB,cAAc,CAAC3Q,QAAxG,CAAN;AACH;;AACD,UAAI4Q,SAAS,GAAGD,cAAc,CAACpH,WAAf,GAA6B,MAA7B,GAAsCoH,cAAc,CAAC/vF,SAArD,GAAiE,KAAjE,GAAyE+vF,cAAc,CAAC7oB,iBAAxF,GAA4G,qBAA5G,GAAoI6oB,cAAc,CAACE,cAAnJ,GAAoK,eAApK,GAAsLF,cAAc,CAACG,QAArN;AACA,YAAM,IAAIh7D,8DAAJ,CAAgB66D,cAAc,CAACh9F,KAA/B,EAAsCi9F,SAAtC,EAAiDD,cAAc,CAAC3Q,QAAhE,CAAN;AACH;AACJ,GATD;AAUA;AACJ;AACA;AACA;AACA;;;AACIvK,EAAAA,eAAe,CAACluD,SAAhB,CAA0BivD,yBAA1B,GAAsD,UAAUua,mBAAV,EAA+B14E,SAA/B,EAA0CovC,YAA1C,EAAwDtrC,OAAxD,EAAiE25D,eAAjE,EAAkFnJ,iBAAlF,EAAqGqkB,4BAArG,EAAmIC,8BAAnI,EAAmKC,eAAnK,EAAoL;AACtO,WAAOh2E,4DAAS,CAAC,IAAD,EAAO,KAAK,CAAZ,EAAe,KAAK,CAApB,EAAuB,YAAY;AAC/C,UAAIm0B,UAAJ,EAAgBkxB,QAAhB,EAA0BpD,eAA1B,EAA2CrwB,WAA3C,EAAwDqkD,YAAxD,EAAsE/tE,GAAtE,EAA2ErD,OAA3E;AACA,aAAO+I,8DAAW,CAAC,IAAD,EAAO,UAAUuE,EAAV,EAAc;AACnC,gBAAQA,EAAE,CAACrE,KAAX;AACI,eAAK,CAAL;AACI,gBAAI+nE,mBAAmB,CAACnkD,QAAxB,EAAkC;AAC9ByC,cAAAA,UAAU,GAAG,IAAIhD,4DAAJ,CAAc0kD,mBAAmB,CAACnkD,QAApB,IAAgCxiB,uEAA9C,EAAsE,KAAKsiB,SAA3E,CAAb,CAD8B,CAE9B;;AACA,kBAAIopC,eAAe,IAAI,CAACp7D,sEAAA,CAAoBo7D,eAAe,CAACnvC,KAApC,CAAxB,EAAoE;AAChE,oBAAI0I,UAAU,CAAC3Y,MAAX,CAAkBiQ,KAAlB,KAA4BmvC,eAAe,CAACnvC,KAAhD,EAAuD;AACnD,wBAAMnc,+FAAA,EAAN;AACH;AACJ,eAP6B,CAQ9B;;;AACA,kBAAIrO,OAAO,CAAC94B,MAAR,IAAmB84B,OAAO,CAAC94B,MAAR,KAAmB,CAA1C,EAA8C;AAC1Ck9E,gBAAAA,QAAQ,GAAGlxB,UAAU,CAAC3Y,MAAX,CAAkBgnD,SAA7B;;AACA,oBAAI,CAACnd,QAAL,EAAe;AACX,wBAAM/1C,kGAAA,EAAN;AACH;;AACD6hB,gBAAAA,wEAAA,CAAsBk0B,QAAtB,EAAgCpkD,OAAO,CAAC94B,MAAxC;AACH;AACJ,aAjBL,CAkBI;;;AACA,iBAAKozC,qBAAL,GAA6B4F,iGAAA,CAAoC00D,mBAAmB,CAAC9iD,WAApB,IAAmC7jB,uEAAvE,EAA+F/R,SAAS,CAAC01B,aAAzG,EAAwH,KAAK9wB,MAA7H,EAAqI,KAAKyvB,SAA1I,EAAqJ2C,UAArJ,CAA7B;;AACA,gBAAI,CAAC,CAACymC,eAAF,IAAqB,CAAC,CAACA,eAAe,CAAC/8E,KAA3C,EAAkD;AAC9CokE,cAAAA,eAAe,GAAGpgC,oFAAA,CAAgC,KAAK2P,SAArC,EAAgDopC,eAAe,CAAC/8E,KAAhE,CAAlB;AACH,aAtBL,CAuBI;;;AACAg4F,YAAAA,mBAAmB,CAACK,MAApB,GAA6BL,mBAAmB,CAACK,MAApB,IAA8Bj1E,OAAO,CAAC2a,MAAtC,IAAgDnH,SAA7E;AACAmd,YAAAA,WAAW,GAAG,KAAKukD,mBAAL,CAAyBN,mBAAzB,EAA8C14E,SAA9C,EAAyDovC,YAAzD,EAAuEtrC,OAAvE,EAAgFkzB,UAAhF,EAA4Fs9B,iBAA5F,EAA+GmJ,eAA/G,CAAd;AACAzoD,YAAAA,EAAE,CAACrE,KAAH,GAAW,CAAX;;AACJ,eAAK,CAAL;AACIqE,YAAAA,EAAE,CAACnE,IAAH,CAAQ3F,IAAR,CAAa,CAAC,CAAD,GAAM,CAAN,EAAS,CAAT,CAAb;;AACA,gBAAI,EAAE,KAAK+yD,iBAAL,IAA0B,KAAKD,iBAAjC,CAAJ,EAAyD,OAAO,CAAC;AAAE;AAAH,cAAc,CAAd,CAAP;AACzD,iBAAKp5D,MAAL,CAAYe,OAAZ,CAAoB,gDAApB;AACAmzE,YAAAA,YAAY,GAAG,IAAIjc,uFAAJ,CAAsB,KAAKmB,iBAA3B,EAA8C,IAA9C,CAAf;AACA,mBAAO,CAAC;AAAE;AAAH,cAAc,KAAKC,iBAAL,CAAuBgb,iBAAvB,CAAyCH,YAAzC,CAAd,CAAP;;AACJ,eAAK,CAAL;AACI9jE,YAAAA,EAAE,CAACpE,IAAH;;AACAoE,YAAAA,EAAE,CAACrE,KAAH,GAAW,CAAX;;AACJ,eAAK,CAAL;AACI;AACxB;AACA;AACA;AACA;AACA;AACwB,gBAAIgoE,4BAA4B,IAAI,CAACC,8BAAjC,IAAmEnkD,WAAW,CAAC/sB,OAAnF,EAA4F;AACxFqD,cAAAA,GAAG,GAAG0pB,WAAW,CAAC/sB,OAAZ,CAAoB4f,kBAApB,EAAN;AACA5f,cAAAA,OAAO,GAAG,KAAK0wE,YAAL,CAAkBpxD,UAAlB,CAA6Bjc,GAA7B,CAAV;;AACA,kBAAI,CAACrD,OAAL,EAAc;AACV,qBAAK9C,MAAL,CAAYsD,OAAZ,CAAoB,qGAApB;AACA,uBAAO,CAAC;AAAE;AAAH,kBAAek1D,eAAe,CAACvnC,4BAAhB,CAA6C,KAAKxB,SAAlD,EAA6Dr0B,SAA7D,EAAwEy0B,WAAxE,EAAqF,KAArF,EAA4F3wB,OAA5F,EAAqGkzB,UAArG,EAAiH8tB,eAAjH,EAAkIxtC,SAAlI,EAA6IuhE,eAA7I,CAAf,CAAP;AACH;AACJ;;AACD,mBAAO,CAAC;AAAE;AAAH,cAAc,KAAKT,YAAL,CAAkBplB,eAAlB,CAAkCv+B,WAAlC,CAAd,CAAP;;AACJ,eAAK,CAAL;AACIzf,YAAAA,EAAE,CAACpE,IAAH;;AACA,mBAAO,CAAC;AAAE;AAAH,cAAc,CAAd,CAAP;;AACJ,eAAK,CAAL;AACI,gBAAI,EAAE,KAAKqtD,iBAAL,IAA0B,KAAKD,iBAA/B,IAAoD8a,YAAtD,CAAJ,EAAyE,OAAO,CAAC;AAAE;AAAH,cAAc,CAAd,CAAP;AACzE,iBAAKl0E,MAAL,CAAYe,OAAZ,CAAoB,+CAApB;AACA,mBAAO,CAAC;AAAE;AAAH,cAAc,KAAKs4D,iBAAL,CAAuBib,gBAAvB,CAAwCJ,YAAxC,CAAd,CAAP;;AACJ,eAAK,CAAL;AACI9jE,YAAAA,EAAE,CAACpE,IAAH;;AACAoE,YAAAA,EAAE,CAACrE,KAAH,GAAW,CAAX;;AACJ,eAAK,CAAL;AAAQ,mBAAO,CAAC;AAAE;AAAH,aAAP;;AACR,eAAK,CAAL;AAAQ,mBAAO,CAAC;AAAE;AAAH,cAAeysD,eAAe,CAACvnC,4BAAhB,CAA6C,KAAKxB,SAAlD,EAA6Dr0B,SAA7D,EAAwEy0B,WAAxE,EAAqF,KAArF,EAA4F3wB,OAA5F,EAAqGkzB,UAArG,EAAiH8tB,eAAjH,EAAkI4zB,mBAAmB,CAACS,QAAtJ,EAAgKN,eAAhK,CAAf,CAAP;AAhEZ;AAkEH,OAnEiB,CAAlB;AAoEH,KAtEe,CAAhB;AAuEH,GAxED;AAyEA;AACJ;AACA;AACA;AACA;AACA;;;AACIzb,EAAAA,eAAe,CAACluD,SAAhB,CAA0B8pE,mBAA1B,GAAgD,UAAUN,mBAAV,EAA+B14E,SAA/B,EAA0CovC,YAA1C,EAAwDtrC,OAAxD,EAAiEkzB,UAAjE,EAA6Es9B,iBAA7E,EAAgGmJ,eAAhG,EAAiH;AAC7J,QAAIhpE,GAAG,GAAGuL,SAAS,CAAC0yC,iBAAV,EAAV;;AACA,QAAIrwC,sEAAA,CAAoB5N,GAApB,CAAJ,EAA8B;AAC1B,YAAM0d,yGAAA,EAAN;AACH,KAJ4J,CAK7J;;;AACA,QAAI6e,aAAJ;AACA,QAAIgf,aAAJ;;AACA,QAAI,CAAC3tC,sEAAA,CAAoBq2E,mBAAmB,CAACnkD,QAAxC,CAAD,IAAsD,CAAC,CAACyC,UAA5D,EAAwE;AACpEhG,MAAAA,aAAa,GAAG9M,gGAAA,CAAkC,KAAK9F,qBAAvC,EAA8D3pB,GAA9D,EAAmEikF,mBAAmB,CAACnkD,QAApB,IAAgCxiB,uEAAnG,EAA2H,KAAKhS,QAAhI,EAA0Ii3B,UAAU,CAAC3Y,MAAX,CAAkBqZ,GAAlB,IAAyB3lB,uEAAnK,CAAhB;AACAi+B,MAAAA,aAAa,GAAG,KAAKopC,qBAAL,CAA2BV,mBAA3B,EAAgD1hD,UAAhD,EAA4Dh3B,SAA5D,EAAuEy9D,eAAvE,CAAhB;AACH,KAX4J,CAY7J;;;AACA,QAAInH,iBAAiB,GAAG,IAAxB;;AACA,QAAI,CAACj0D,sEAAA,CAAoBq2E,mBAAmB,CAACpiD,YAAxC,CAAL,EAA4D;AACxD;AACA,UAAIY,cAAc,GAAGwhD,mBAAmB,CAAClsE,KAApB,GAA4B2nB,sEAAA,CAAoBukD,mBAAmB,CAAClsE,KAAxC,CAA5B,GAA6E,IAAI2nB,2DAAJ,CAAarwB,OAAO,CAACjD,MAAR,IAAkB,EAA/B,CAAlG;AACA;AACZ;AACA;AACA;;AACY,UAAIgwC,SAAS,GAAG,CAAC,OAAO6nC,mBAAmB,CAACniD,UAA3B,KAA0C,QAA1C,GAAqD1tB,QAAQ,CAAC6vE,mBAAmB,CAACniD,UAArB,EAAiC,EAAjC,CAA7D,GAAoGmiD,mBAAmB,CAACniD,UAAzH,KAAwI,CAAxJ;AACA,UAAI8iD,YAAY,GAAG,CAAC,OAAOX,mBAAmB,CAACY,cAA3B,KAA8C,QAA9C,GAAyDzwE,QAAQ,CAAC6vE,mBAAmB,CAACY,cAArB,EAAqC,EAArC,CAAjE,GAA4GZ,mBAAmB,CAACY,cAAjI,KAAoJ,CAAvK;AACA,UAAIC,SAAS,GAAG,CAAC,OAAOb,mBAAmB,CAACc,UAA3B,KAA0C,QAA1C,GAAqD3wE,QAAQ,CAAC6vE,mBAAmB,CAACc,UAArB,EAAiC,EAAjC,CAA7D,GAAoGd,mBAAmB,CAACc,UAAzH,KAAwIliE,SAAxJ;AACA,UAAIw5B,sBAAsB,GAAG1B,YAAY,GAAGyB,SAA5C;AACA,UAAI4oC,8BAA8B,GAAG3oC,sBAAsB,GAAGuoC,YAA9D;AACA,UAAIK,gBAAgB,GAAGH,SAAS,IAAIA,SAAS,GAAG,CAAzB,GAA6BnqC,YAAY,GAAGmqC,SAA5C,GAAwDjiE,SAA/E,CAZwD,CAaxD;;AACAg/C,MAAAA,iBAAiB,GAAGnyC,4GAAA,CAA0C,KAAK/F,qBAA/C,EAAsE3pB,GAAtE,EAA2EikF,mBAAmB,CAACpiD,YAApB,IAAoCvkB,uEAA/G,EAAuI,KAAKhS,QAA5I,EAAsJi3B,UAAU,GAAGA,UAAU,CAAC3Y,MAAX,CAAkBqZ,GAAlB,IAAyB3lB,uEAA5B,GAAqD/R,SAAS,CAAC21B,MAA/N,EAAuOuB,cAAc,CAACT,WAAf,EAAvO,EAAqQqa,sBAArQ,EAA6R2oC,8BAA7R,EAA6T,KAAKplD,SAAlU,EAA6UqlD,gBAA7U,EAA+VhB,mBAAmB,CAACiB,UAAnX,EAA+XrlB,iBAA/X,EAAkZokB,mBAAmB,CAACK,MAAta,EAA8aj1E,OAAO,CAACua,MAAtb,EAA8bva,OAAO,CAACgqC,mBAAtc,CAApB;AACH,KA7B4J,CA8B7J;;;AACA,QAAI0oB,kBAAkB,GAAG,IAAzB;;AACA,QAAI,CAACn0D,sEAAA,CAAoBq2E,mBAAmB,CAAC7hD,aAAxC,CAAL,EAA6D;AACzD2/B,MAAAA,kBAAkB,GAAGpyC,+GAAA,CAA4C,KAAKhG,qBAAjD,EAAwE3pB,GAAxE,EAA6EikF,mBAAmB,CAAC7hD,aAApB,IAAqC9kB,uEAAlH,EAA0I,KAAKhS,QAA/I,EAAyJ24E,mBAAmB,CAACzU,IAA7K,EAAmL3P,iBAAnL,CAArB;AACH,KAlC4J,CAmC7J;;;AACA,QAAIoC,iBAAiB,GAAG,IAAxB;;AACA,QAAI,CAACr0D,sEAAA,CAAoBq2E,mBAAmB,CAACzU,IAAxC,CAAL,EAAoD;AAChDvN,MAAAA,iBAAiB,GAAGryC,4GAAA,CAA0C,KAAKtkB,QAA/C,EAAyDtL,GAAzD,EAA8DikF,mBAAmB,CAACzU,IAAlF,CAApB;AACH;;AACD,WAAO,IAAIhwC,wEAAJ,CAAgB+b,aAAhB,EAA+Bhf,aAA/B,EAA8CslC,iBAA9C,EAAiEE,kBAAjE,EAAqFE,iBAArF,CAAP;AACH,GAzCD;AA0CA;AACJ;AACA;AACA;AACA;AACA;;;AACI0G,EAAAA,eAAe,CAACluD,SAAhB,CAA0BkqE,qBAA1B,GAAkD,UAAUV,mBAAV,EAA+BngE,OAA/B,EAAwCvY,SAAxC,EAAmDy9D,eAAnD,EAAoE;AAClH,QAAI/nC,aAAa,GAAG11B,SAAS,CAAC01B,aAA9B;AACA,QAAIsC,kBAAkB,GAAGylC,eAAe,GAAGA,eAAe,CAACliB,qBAAnB,GAA2CxpC,uEAAnF;AACA,QAAI6nE,WAAW,GAAGnc,eAAe,GAAGA,eAAe,CAACniB,YAAnB,GAAkCvpC,uEAAnE,CAHkH,CAIlH;;AACA,QAAI2jB,aAAa,KAAKoZ,4EAAtB,EAA0C;AACtC,WAAKlqC,MAAL,CAAYe,OAAZ,CAAoB,+CAApB;AACA,aAAOqe,gGAAA,CAAmC,KAAK5F,qBAAxC,EAA+D7F,OAA/D,EAAwEvY,SAAxE,EAAmFg4B,kBAAnF,EAAuG4hD,WAAvG,CAAP;AACH,KARiH,CASlH;;;AACA,QAAIv3E,sEAAA,CAAoBq2E,mBAAmB,CAAC9iD,WAAxC,KAAwD51B,SAAS,CAACm1B,YAAV,KAA2B,KAAvF,EAA8F;AAC1F,YAAMhjB,iGAAA,EAAN;AACH;;AACD,WAAOumE,mBAAmB,CAAC9iD,WAApB,GACH5R,yFAAA,CAA4B00D,mBAAmB,CAAC9iD,WAAhD,EAA6D,KAAKxX,qBAAlE,EAAyF7F,OAAzF,EAAkGvY,SAAlG,EAA6Gg4B,kBAA7G,EAAiI4hD,WAAjI,CADG,GAEH51D,gGAAA,CAAmC,KAAK5F,qBAAxC,EAA+D7F,OAA/D,EAAwEvY,SAAxE,EAAmFg4B,kBAAnF,EAAuG4hD,WAAvG,CAFJ;AAGH,GAhBD;AAiBA;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACIxc,EAAAA,eAAe,CAACvnC,4BAAhB,GAA+C,UAAUxB,SAAV,EAAqBr0B,SAArB,EAAgCy0B,WAAhC,EAA6ColD,cAA7C,EAA6D/1E,OAA7D,EAAsEkzB,UAAtE,EAAkF6nB,YAAlF,EAAgGtjE,IAAhG,EAAsGy8B,SAAtG,EAAiH;AAC5J,QAAIhD,EAAJ,EAAQE,EAAR,EAAY+hB,EAAZ;;AACA,WAAOp0B,4DAAS,CAAC,IAAD,EAAO,KAAK,CAAZ,EAAe,KAAK,CAApB,EAAuB,YAAY;AAC/C,UAAIgH,WAAJ,EAAiBqtB,cAAjB,EAAiCR,SAAjC,EAA4CS,YAA5C,EAA0DW,QAA1D,EAAoE6Y,iBAApE,EAAuFwH,EAAvF,EAA2F/gB,MAA3F,EAAmGuS,KAAnG,EAA0GpS,GAA1G,EAA+GG,GAA/G;;AACA,aAAOjnB,8DAAW,CAAC,IAAD,EAAO,UAAUi9C,EAAV,EAAc;AACnC,gBAAQA,EAAE,CAAC/8C,KAAX;AACI,eAAK,CAAL;AACI9G,YAAAA,WAAW,GAAGkI,uEAAd;AACAmlB,YAAAA,cAAc,GAAG,EAAjB;AACAR,YAAAA,SAAS,GAAG,IAAZ;AACAoB,YAAAA,QAAQ,GAAG/lB,uEAAX;AACA,gBAAI,CAAC0iB,WAAW,CAAC5qB,WAAjB,EAA8B,OAAO,CAAC;AAAE;AAAH,cAAc,CAAd,CAAP;AAC9B,gBAAI,EAAE4qB,WAAW,CAAC5qB,WAAZ,CAAwBkuB,SAAxB,KAAsClY,yEAAxC,CAAJ,EAAuE,OAAO,CAAC;AAAE;AAAH,cAAc,CAAd,CAAP;AACvE8wB,YAAAA,iBAAiB,GAAG,IAAI9B,4EAAJ,CAAsBxa,SAAtB,CAApB;AACA8jB,YAAAA,EAAE,GAAG1jB,WAAW,CAAC5qB,WAAjB,EAA8ButB,MAAM,GAAG+gB,EAAE,CAAC/gB,MAA1C,EAAkDuS,KAAK,GAAGwO,EAAE,CAACxO,KAA7D;;AACA,gBAAI,CAACA,KAAL,EAAY;AACR,oBAAMx3B,8FAAA,EAAN;AACH;;AACD,mBAAO,CAAC;AAAE;AAAH,cAAcw+B,iBAAiB,CAACoC,YAAlB,CAA+B3b,MAA/B,EAAuCuS,KAAvC,EAA8C7lC,OAA9C,CAAd,CAAP;;AACJ,eAAK,CAAL;AACI+F,YAAAA,WAAW,GAAG6jD,EAAE,CAAC98C,IAAH,EAAd;AACA,mBAAO,CAAC;AAAE;AAAH,cAAc,CAAd,CAAP;;AACJ,eAAK,CAAL;AACI/G,YAAAA,WAAW,GAAG4qB,WAAW,CAAC5qB,WAAZ,CAAwButB,MAAtC;AACAs2B,YAAAA,EAAE,CAAC/8C,KAAH,GAAW,CAAX;;AACJ,eAAK,CAAL;AACIumB,YAAAA,cAAc,GAAG/C,sEAAA,CAAoBM,WAAW,CAAC5qB,WAAZ,CAAwBgpB,MAA5C,EAAoDyE,OAApD,EAAjB;AACAZ,YAAAA,SAAS,GAAG,IAAI1J,IAAJ,CAASt0B,MAAM,CAAC+7B,WAAW,CAAC5qB,WAAZ,CAAwB6sB,SAAzB,CAAN,GAA4C,IAArD,CAAZ;AACAS,YAAAA,YAAY,GAAG,IAAInK,IAAJ,CAASt0B,MAAM,CAAC+7B,WAAW,CAAC5qB,WAAZ,CAAwB2sB,iBAAzB,CAAN,GAAoD,IAA7D,CAAf;AACAk3B,YAAAA,EAAE,CAAC/8C,KAAH,GAAW,CAAX;;AACJ,eAAK,CAAL;AACI,gBAAI8jB,WAAW,CAAC7L,WAAhB,EAA6B;AACzBkP,cAAAA,QAAQ,GAAGrD,WAAW,CAAC7L,WAAZ,CAAwBkP,QAAxB,KAAqCy6B,8DAArC,GAAqDA,8DAArD,GAAqExgD,uEAAhF;AACH;;AACDwlB,YAAAA,GAAG,GAAG,CAACP,UAAU,KAAK,IAAf,IAAuBA,UAAU,KAAK,KAAK,CAA3C,GAA+C,KAAK,CAApD,GAAwDA,UAAU,CAAC3Y,MAAX,CAAkBmZ,GAA3E,MAAoFR,UAAU,KAAK,IAAf,IAAuBA,UAAU,KAAK,KAAK,CAA3C,GAA+C,KAAK,CAApD,GAAwDA,UAAU,CAAC3Y,MAAX,CAAkBoZ,GAA9J,KAAsK1lB,uEAA5K;AACA2lB,YAAAA,GAAG,GAAG,CAACV,UAAU,KAAK,IAAf,IAAuBA,UAAU,KAAK,KAAK,CAA3C,GAA+C,KAAK,CAApD,GAAwDA,UAAU,CAAC3Y,MAAX,CAAkBqZ,GAA3E,KAAmF3lB,uEAAzF;AACA,mBAAO,CAAC;AAAE;AAAH,cAAe;AACd/R,cAAAA,SAAS,EAAEA,SAAS,CAAC23B,kBADP;AAEdC,cAAAA,QAAQ,EAAEL,GAFI;AAGd3M,cAAAA,QAAQ,EAAE8M,GAHI;AAId72B,cAAAA,MAAM,EAAEq2B,cAJM;AAKdxvB,cAAAA,OAAO,EAAE+sB,WAAW,CAAC/sB,OAAZ,GAAsB+sB,WAAW,CAAC/sB,OAAZ,CAAoBmwB,cAApB,EAAtB,GAA6D,IALxD;AAMdtf,cAAAA,OAAO,EAAEye,UAAU,GAAGA,UAAU,CAACX,QAAd,GAAyBtkB,uEAN9B;AAOdiZ,cAAAA,aAAa,EAAEgM,UAAU,GAAGA,UAAU,CAAC3Y,MAAd,GAAuB,EAPlC;AAQdxU,cAAAA,WAAW,EAAEA,WARC;AASd8U,cAAAA,SAAS,EAAEk7D,cATG;AAUdnjD,cAAAA,SAAS,EAAEA,SAVG;AAWd9gB,cAAAA,aAAa,EAAE9R,OAAO,CAAC8R,aAXT;AAYdoC,cAAAA,SAAS,EAAEA,SAAS,IAAIjG,uEAZV;AAadolB,cAAAA,YAAY,EAAEA,YAbA;AAcdW,cAAAA,QAAQ,EAAEA,QAdI;AAedC,cAAAA,SAAS,EAAE,CAAC,CAAC/iB,EAAE,GAAGyf,WAAW,CAAC5qB,WAAlB,MAAmC,IAAnC,IAA2CmL,EAAE,KAAK,KAAK,CAAvD,GAA2D,KAAK,CAAhE,GAAoEA,EAAE,CAAC+iB,SAAxE,KAAsFhmB,uEAfnF;AAgBdrxB,cAAAA,KAAK,EAAEm+D,YAAY,GAAGA,YAAY,CAAC9I,gBAAhB,GAAmChkC,uEAhBxC;AAiBdimB,cAAAA,kBAAkB,EAAE,CAAC,CAAC9iB,EAAE,GAAGuf,WAAW,CAAC/sB,OAAlB,MAA+B,IAA/B,IAAuCwN,EAAE,KAAK,KAAK,CAAnD,GAAuD,KAAK,CAA5D,GAAgEA,EAAE,CAAC8iB,kBAApE,KAA2FjmB,uEAjBjG;AAkBdkmB,cAAAA,WAAW,EAAE,CAAC,CAAChB,EAAE,GAAGxC,WAAW,CAAC/sB,OAAlB,MAA+B,IAA/B,IAAuCuvB,EAAE,KAAK,KAAK,CAAnD,GAAuD,KAAK,CAA5D,GAAgEA,EAAE,CAACgB,WAApE,KAAoFlmB,uEAlBnF;AAmBdx2B,cAAAA,IAAI,EAAEA,IAnBQ;AAoBd69B,cAAAA,gBAAgB,EAAE;AApBJ,aAAf,CAAP;AA/BR;AAsDH,OAvDiB,CAAlB;AAwDH,KA1De,CAAhB;AA2DH,GA7DD;;AA8DA,SAAOgkD,eAAP;AACH,CA7QoC,EAArC;;;;;;;;;;;;;;;;;;;AC7BA;AACa;;AACb;AACA;AAEA;AACA;AACA;AACA;;AACA,IAAI9Z,iBAAiB;AAAG;AAAe,YAAY;AAC/C;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACI,WAASA,iBAAT,CAA2BvjD,QAA3B,EAAqCC,SAArC,EAAgD4E,MAAhD,EAAwD4+C,WAAxD,EAAqEC,cAArE,EAAqFC,oBAArF,EAA2G;AACvG,SAAK1jD,SAAL,GAAiBA,SAAjB;AACA,SAAKwjD,WAAL,GAAmBA,WAAnB;AACA,SAAKC,cAAL,GAAsBA,cAAtB;AACA,SAAKC,oBAAL,GAA4BA,oBAA5B;AACA,SAAK3jD,QAAL,GAAgBA,QAAhB;AACA,SAAK6E,MAAL,GAAcA,MAAd;AACA,SAAKm1E,SAAL,GAAiB,IAAI7lE,GAAJ,EAAjB;AACA,SAAK8lE,qBAAL,GAA6B,IAAI9lE,GAAJ,EAA7B;AACA,SAAK+lE,2BAAL,GAAmC,IAAI/lE,GAAJ,EAAnC;AACA,SAAKgmE,gBAAL,GAAwB,IAAIhmE,GAAJ,EAAxB;AACA,SAAKimE,uBAAL,GAA+B,IAAIjmE,GAAJ,EAA/B;AACH;AACD;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;;AACI;;;AACAovC,EAAAA,iBAAiB,CAACp0C,SAAlB,CAA4BkrE,2BAA5B,GAA0D,UAAUx2B,WAAV,EAAuBhuC,aAAvB,EAAsC;AAC5F,WAAO,EAAP;AACH,GAFD;AAGA;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;;AACI;;;AACA0tC,EAAAA,iBAAiB,CAACp0C,SAAlB,CAA4By0C,4BAA5B,GAA2D,UAAUC,WAAV,EAAuBhuC,aAAvB,EAAsC;AAC7F,WAAO,EAAP;AACH,GAFD;AAGA;AACJ;AACA;AACA;AACA;AACA;AACA;;;AACI0tC,EAAAA,iBAAiB,CAACp0C,SAAlB,CAA4BwI,gBAA5B,GAA+C,UAAUksC,WAAV,EAAuBhuC,aAAvB,EAAsC;AACjF,QAAIE,KAAK,GAAG,IAAZ;;AACA,QAAId,EAAJ,EAAQE,EAAR,CAFiF,CAGjF;;;AACA,QAAImlE,kBAAkB,GAAGzkE,aAAa,IAAI,KAAKiuC,UAAL,EAA1C;;AACA,QAAI,CAACjuC,aAAL,EAAoB;AAChB,WAAKhR,MAAL,CAAY3Z,IAAZ,CAAiB,uDAAuD24D,WAAvD,GAAqE,cAAtF,EAAsGy2B,kBAAtG;AACH,KAPgF,CAQjF;;;AACA,SAAKz1E,MAAL,CAAYqJ,KAAZ,CAAkB,4DAA4D21C,WAA9E,EAA2Fy2B,kBAA3F;AACA,QAAIC,gBAAJ;AACA,QAAIC,uBAAuB,GAAG,KAAK52B,4BAAL,CAAkCC,WAAlC,EAA+Cy2B,kBAA/C,CAA9B;;AACA,QAAIE,uBAAuB,CAAC7iE,gBAA5B,EAA8C;AAC1C6iE,MAAAA,uBAAuB,CAAC7iE,gBAAxB;AACA4iE,MAAAA,gBAAgB,GAAGC,uBAAnB;AACH,KAHD,MAIK;AACD,UAAIC,sBAAsB,GAAG,KAAKJ,2BAAL,CAAiCx2B,WAAjC,EAA8Cy2B,kBAA9C,CAA7B;AACAG,MAAAA,sBAAsB,CAAC9iE,gBAAvB;AACA4iE,MAAAA,gBAAgB,GAAGE,sBAAnB;AACH;;AACD,QAAIv2B,eAAe,GAAG;AAClBw2B,MAAAA,OAAO,EAAE,KAAK52B,UAAL,EADS;AAElBx8D,MAAAA,MAAM,EAAEyyF,mFAFU;AAGlB95E,MAAAA,SAAS,EAAE,KAAKA,SAHE;AAIlBwjD,MAAAA,WAAW,EAAE,KAAKA,WAJA;AAKlBC,MAAAA,cAAc,EAAE,KAAKA,cALH;AAMlB1jD,MAAAA,QAAQ,EAAE,KAAKA,QANG;AAOlBtqB,MAAAA,IAAI,EAAEmuE,WAPY;AAQlB82B,MAAAA,WAAW,EAAE1tD,IAAI,CAAC+e,GAAL,EARK;AASlBn2B,MAAAA,aAAa,EAAEykE;AATG,KAAtB,CArBiF,CAgCjF;;AACA,SAAKM,yBAAL,CAA+B12B,eAA/B;AACA,QAAI22B,YAAY,GAAG;AACfpgD,MAAAA,OAAO,EAAE,CAACxlB,EAAE,GAAG,KAAK0uC,oBAAX,MAAqC,IAArC,IAA6C1uC,EAAE,KAAK,KAAK,CAAzD,GAA6D,KAAK,CAAlE,GAAsEA,EAAE,CAACwlB,OADnE;AAEfC,MAAAA,UAAU,EAAE,CAACvlB,EAAE,GAAG,KAAKwuC,oBAAX,MAAqC,IAArC,IAA6CxuC,EAAE,KAAK,KAAK,CAAzD,GAA6D,KAAK,CAAlE,GAAsEA,EAAE,CAACulB;AAFtE,KAAnB;AAIA,SAAKriB,eAAL,CAAqBwiE,YAArB,EAAmCP,kBAAnC;AACA,SAAKQ,gBAAL,CAAsB52B,eAAtB,EAAuCq2B,gBAAvC,EAvCiF,CAwCjF;;AACA,WAAO;AACHziE,MAAAA,cAAc,EAAE,UAAUpnB,KAAV,EAAiB;AAC7B,YAAIqqF,cAAc,GAAGhlE,KAAK,CAAC+B,cAAN,CAAqBvI,2DAAQ,CAACA,2DAAQ,CAAC,EAAD,EAAK20C,eAAL,CAAT,EAAgCxzD,KAAhC,CAA7B,CAArB;;AACA,YAAIqqF,cAAJ,EAAoB;AAChB;AACAhlE,UAAAA,KAAK,CAAC6kE,yBAAN,CAAgCG,cAAhC;AACH;;AACD,eAAOA,cAAP;AACH,OARE;AASH7iE,MAAAA,gBAAgB,EAAE,YAAY;AAC1B,eAAOnC,KAAK,CAACilE,iBAAN,CAAwB92B,eAAe,CAACxuE,IAAxC,EAA8CwuE,eAAe,CAACruC,aAA9D,CAAP;AACH,OAXE;AAYHmE,MAAAA,kBAAkB,EAAE,YAAY;AAC5B,eAAOjE,KAAK,CAACklE,mBAAN,CAA0B/2B,eAAe,CAACruC,aAA1C,CAAP;AACH,OAdE;AAeHwC,MAAAA,eAAe,EAAE,UAAU6iE,MAAV,EAAkB;AAC/B,eAAOnlE,KAAK,CAACsC,eAAN,CAAsB6iE,MAAtB,EAA8Bh3B,eAAe,CAACruC,aAA9C,CAAP;AACH,OAjBE;AAkBHslE,MAAAA,SAAS,EAAE,UAAUC,QAAV,EAAoB;AAC3B,eAAOrlE,KAAK,CAAColE,SAAN,CAAgBC,QAAhB,EAA0Bl3B,eAAe,CAACruC,aAA1C,CAAP;AACH,OApBE;AAqBHwlE,MAAAA,WAAW,EAAEd,gBArBV;AAsBH7pF,MAAAA,KAAK,EAAEwzD;AAtBJ,KAAP;AAwBH,GAjED;AAkEA;AACJ;AACA;AACA;AACA;AACA;AACA;;;AACIX,EAAAA,iBAAiB,CAACp0C,SAAlB,CAA4B2I,cAA5B,GAA6C,UAAUpnB,KAAV,EAAiB;AAC1D,QAAI+pF,sBAAsB,GAAG,KAAKN,gBAAL,CAAsBx0G,GAAtB,CAA0B+qB,KAAK,CAACgqF,OAAhC,CAA7B;;AACA,QAAID,sBAAJ,EAA4B;AACxB;AACA,WAAKN,gBAAL,CAAsBrgE,MAAtB,CAA6BppB,KAAK,CAACgqF,OAAnC;AACAD,MAAAA,sBAAsB,CAAC3iE,cAAvB;AACA,UAAI+sC,UAAU,GAAG41B,sBAAsB,CAACviE,gBAAvB,EAAjB,CAJwB,CAKxB;;AACA,UAAI2sC,UAAU,KAAK,IAAnB,EAAyB;AACrB,aAAKhgD,MAAL,CAAYqJ,KAAZ,CAAkB,0DAA0Dxd,KAAK,CAAChb,IAAhE,GAAuE,IAAvE,GAA8EmvE,UAA9E,GAA2F,KAA7G,EAAoHn0D,KAAK,CAACmlB,aAA1H;;AACA,YAAIklE,cAAc,GAAGxrE,2DAAQ,CAACA,2DAAQ,CAAC;AACnC;AACAs1C,UAAAA,UAAU,EAAEzjB,IAAI,CAACk6C,KAAL,CAAWz2B,UAAX;AAFuB,SAAD,EAEIn0D,KAFJ,CAAT,EAEqB;AAAEpJ,UAAAA,MAAM,EAAEyyF,kFAAgCwB;AAA1C,SAFrB,CAA7B;;AAGA,eAAOR,cAAP;AACH,OAND,MAOK;AACD,aAAKl2E,MAAL,CAAYqJ,KAAZ,CAAkB,sDAAlB,EAA0Exd,KAAK,CAACmlB,aAAhF;AACH;AACJ,KAhBD,MAiBK;AACD,WAAKhR,MAAL,CAAYqJ,KAAZ,CAAkB,kDAAkDxd,KAAK,CAACgqF,OAA1E,EAAmFhqF,KAAK,CAACmlB,aAAzF;AACH;;AACD,WAAO,IAAP;AACH,GAvBD;AAwBA;AACJ;AACA;AACA;AACA;;;AACI0tC,EAAAA,iBAAiB,CAACp0C,SAAlB,CAA4BkJ,eAA5B,GAA8C,UAAU6iE,MAAV,EAAkBrlE,aAAlB,EAAiC;AAC3E,QAAI2lE,oBAAoB,GAAG,KAAKtB,2BAAL,CAAiCv0G,GAAjC,CAAqCkwC,aAArC,CAA3B;;AACA,QAAI2lE,oBAAJ,EAA0B;AACtB,WAAK32E,MAAL,CAAYqJ,KAAZ,CAAkB,2CAAlB;AACA,WAAKgsE,2BAAL,CAAiClwE,GAAjC,CAAqC6L,aAArC,EAAoDtG,2DAAQ,CAACA,2DAAQ,CAAC,EAAD,EAAKisE,oBAAL,CAAT,EAAqCN,MAArC,CAA5D;AACH,KAHD,MAIK;AACD,WAAKr2E,MAAL,CAAYqJ,KAAZ,CAAkB,yCAAlB;AACA,WAAKgsE,2BAAL,CAAiClwE,GAAjC,CAAqC6L,aAArC,EAAoDqlE,MAApD;AACH;AACJ,GAVD;AAWA;AACJ;AACA;AACA;AACA;;;AACI33B,EAAAA,iBAAiB,CAACp0C,SAAlB,CAA4BgsE,SAA5B,GAAwC,UAAUC,QAAV,EAAoBvlE,aAApB,EAAmC;AACvE,QAAI4lE,QAAQ,GAAG,KAAKrB,uBAAL,CAA6Bz0G,GAA7B,CAAiCkwC,aAAjC,CAAf;;AACA,QAAI,CAAC4lE,QAAL,EAAe;AACX,WAAK52E,MAAL,CAAYqJ,KAAZ,CAAkB,qCAAlB;AACA,WAAKksE,uBAAL,CAA6BpwE,GAA7B,CAAiC6L,aAAjC,EAAgDtG,2DAAQ,CAAC,EAAD,EAAK6rE,QAAL,CAAxD;AACA;AACH;;AACD,SAAKv2E,MAAL,CAAYqJ,KAAZ,CAAkB,sCAAlB;;AACA,SAAK,IAAIwtE,OAAT,IAAoBN,QAApB,EAA8B;AAC1B,UAAI,CAACK,QAAQ,CAACrsE,cAAT,CAAwBssE,OAAxB,CAAL,EAAuC;AACnCD,QAAAA,QAAQ,CAACC,OAAD,CAAR,GAAoB,CAApB;AACH;;AACDD,MAAAA,QAAQ,CAACC,OAAD,CAAR,IAAqBN,QAAQ,CAACM,OAAD,CAA7B;AACH;AACJ,GAdD;AAeA;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACIn4B,EAAAA,iBAAiB,CAACp0C,SAAlB,CAA4ByrE,yBAA5B,GAAwD,UAAUlqF,KAAV,EAAiB;AACrE,QAAIirF,cAAc,GAAG,KAAK1B,qBAAL,CAA2Bt0G,GAA3B,CAA+B+qB,KAAK,CAACmlB,aAArC,CAArB;;AACA,QAAI8lE,cAAJ,EAAoB;AAChB,WAAK92E,MAAL,CAAYqJ,KAAZ,CAAkB,oDAAoDxd,KAAK,CAAChb,IAA1D,GAAiE,gBAAnF,EAAqGgb,KAAK,CAACmlB,aAA3G;AACA8lE,MAAAA,cAAc,CAAC3xE,GAAf,CAAmBtZ,KAAK,CAACgqF,OAAzB,EAAkChqF,KAAlC;AACH,KAHD,MAIK;AACD,WAAKmU,MAAL,CAAYqJ,KAAZ,CAAkB,oDAAoDxd,KAAK,CAAChb,IAA1D,GAAiE,UAAnF,EAA+Fgb,KAAK,CAACmlB,aAArG;AACA,WAAKokE,qBAAL,CAA2BjwE,GAA3B,CAA+BtZ,KAAK,CAACmlB,aAArC,EAAoD,IAAI1B,GAAJ,GAAUnK,GAAV,CAActZ,KAAK,CAACgqF,OAApB,EAA6BhqF,KAA7B,CAApD;AACH;AACJ,GAVD;AAWA;AACJ;AACA;AACA;AACA;AACA;AACA;;;AACI6yD,EAAAA,iBAAiB,CAACp0C,SAAlB,CAA4B2rE,gBAA5B,GAA+C,UAAUpqF,KAAV,EAAiB2qF,WAAjB,EAA8B;AACzE,SAAKlB,gBAAL,CAAsBnwE,GAAtB,CAA0BtZ,KAAK,CAACgqF,OAAhC,EAAyCW,WAAzC;AACH,GAFD;AAGA;AACJ;AACA;AACA;AACA;AACA;;;AACI93B,EAAAA,iBAAiB,CAACp0C,SAAlB,CAA4B6rE,iBAA5B,GAAgD,UAAUn3B,WAAV,EAAuBhuC,aAAvB,EAAsC;AAClF,QAAIE,KAAK,GAAG,IAAZ;;AACA,SAAKlR,MAAL,CAAYqJ,KAAZ,CAAkB,6DAA6D21C,WAA/E,EAA4FhuC,aAA5F;AACA,QAAI+lE,sBAAsB,GAAG,KAAK3B,qBAAL,CAA2Bt0G,GAA3B,CAA+BkwC,aAA/B,CAA7B;AACA,QAAIglE,YAAY,GAAG,KAAKX,2BAAL,CAAiCv0G,GAAjC,CAAqCkwC,aAArC,CAAnB;AACA,QAAIulE,QAAQ,GAAG,KAAKhB,uBAAL,CAA6Bz0G,GAA7B,CAAiCkwC,aAAjC,CAAf;;AACA,QAAI+lE,sBAAJ,EAA4B;AACxB,WAAKC,YAAL,CAAkBhmE,aAAlB;AACA;AACZ;AACA;AACA;AACA;;AACY,UAAIimE,iBAAiB,GAAG,EAAxB;AACAF,MAAAA,sBAAsB,CAAC7wE,OAAvB,CAA+B,UAAUra,KAAV,EAAiB;AAC5C,YAAIA,KAAK,CAAChb,IAAN,KAAemuE,WAAf,IAA8BnzD,KAAK,CAACpJ,MAAN,KAAiByyF,kFAAnD,EAAqF;AACjFhkE,UAAAA,KAAK,CAAClR,MAAN,CAAaqJ,KAAb,CAAmB,kDAAkDxd,KAAK,CAAChb,IAAxD,GAA+D,aAA/D,GAA+EmuE,WAAlG,EAA+GhuC,aAA/G;;AACA,cAAIklE,cAAc,GAAGhlE,KAAK,CAAC+B,cAAN,CAAqBpnB,KAArB,CAArB;;AACA,cAAIqqF,cAAJ,EAAoB;AAChBe,YAAAA,iBAAiB,CAAC3wE,IAAlB,CAAuB4vE,cAAvB;AACH;AACJ;;AACDe,QAAAA,iBAAiB,CAAC3wE,IAAlB,CAAuBza,KAAvB;AACH,OATD,EARwB,CAkBxB;;AACA,UAAIqrF,qBAAqB,GAAGD,iBAAiB,CAAC/1B,IAAlB,CAAuB,UAAUi2B,MAAV,EAAkBC,MAAlB,EAA0B;AAAE,eAAOD,MAAM,CAACrB,WAAP,GAAqBsB,MAAM,CAACtB,WAAnC;AAAiD,OAApG,CAA5B,CAnBwB,CAoBxB;;AACA,UAAIuB,cAAc,GAAGH,qBAAqB,CAACltG,MAAtB,CAA6B,UAAU6hB,KAAV,EAAiB;AAAE,eAAOA,KAAK,CAAChb,IAAN,KAAemuE,WAAf,IAA8BnzD,KAAK,CAACpJ,MAAN,KAAiByyF,kFAAtD;AAAyF,OAAzI,CAArB;;AACA,UAAImC,cAAc,CAACrqG,MAAf,GAAwB,CAA5B,EAA+B;AAC3B;AAChB;AACA;AACA;AACgB,YAAIqqG,cAAc,CAACrqG,MAAf,GAAwB,CAA5B,EAA+B;AAC3B,eAAKgzB,MAAL,CAAYe,OAAZ,CAAoB,0FAApB,EAAgHiQ,aAAhH;AACH;;AACD,YAAIsmE,aAAa,GAAGD,cAAc,CAAC,CAAD,CAAlC;AACA,aAAKr3E,MAAL,CAAYe,OAAZ,CAAoB,8CAA8Ci+C,WAAlE,EAA+EhuC,aAA/E,EAT2B,CAU3B;;AACA,YAAIumE,WAAW,GAAGL,qBAAqB,CAACM,MAAtB,CAA6B,UAAUC,QAAV,EAAoBC,OAApB,EAA6B;AACxE,cAAIA,OAAO,CAAC7mG,IAAR,KAAiBmuE,WAArB,EAAkC;AAC9B9tC,YAAAA,KAAK,CAAClR,MAAN,CAAaqJ,KAAb,CAAmB,0DAA0DquE,OAAO,CAAC7mG,IAArF,EAA2FmgC,aAA3F,EAD8B,CAE9B;;;AACA,gBAAI2mE,kBAAkB,GAAGD,OAAO,CAAC7mG,IAAR,GAAe,YAAxC;AACA;AACxB;AACA;AACA;AACA;;AACwB,gBAAI,CAAC4mG,QAAQ,CAACE,kBAAD,CAAb,EAAmC;AAC/BF,cAAAA,QAAQ,CAACE,kBAAD,CAAR,GAA+BD,OAAO,CAAC13B,UAAvC;AACH,aAFD,MAGK;AACD9uC,cAAAA,KAAK,CAAClR,MAAN,CAAae,OAAb,CAAqB,2CAA2Ci+C,WAA3C,GAAyD,sBAAzD,GAAkF04B,OAAO,CAAC7mG,IAA1F,GAAiG,YAAtH,EAAoImgC,aAApI;AACH;AACJ;;AACD,iBAAOymE,QAAP;AACH,SAlBiB,EAkBfH,aAlBe,CAAlB;;AAmBA,YAAIM,UAAU,GAAGltE,2DAAQ,CAACA,2DAAQ,CAACA,2DAAQ,CAAC,EAAD,EAAK6sE,WAAL,CAAT,EAA4BvB,YAA5B,CAAT,EAAoDO,QAApD,CAAzB;;AACA,aAAKsB,UAAL,CAAgB,CAACD,UAAD,CAAhB,EAA8BL,WAAW,CAACvmE,aAA1C;AACH,OAhCD,MAiCK;AACD,aAAKhR,MAAL,CAAYe,OAAZ,CAAoB,sEAAsEi+C,WAA1F,EAAuGhuC,aAAvG;AACH;AACJ,KA1DD,MA2DK;AACD,WAAKhR,MAAL,CAAYe,OAAZ,CAAoB,0CAApB,EAAgEiQ,aAAhE;AACH;AACJ,GApED;AAqEA;AACJ;AACA;AACA;AACA;;;AACI0tC,EAAAA,iBAAiB,CAACp0C,SAAlB,CAA4B8rE,mBAA5B,GAAkD,UAAUplE,aAAV,EAAyB;AACvE,SAAKhR,MAAL,CAAYqJ,KAAZ,CAAkB,uDAAlB,EAA2E2H,aAA3E;AACA,SAAKokE,qBAAL,CAA2BngE,MAA3B,CAAkCjE,aAAlC;AACH,GAHD;AAIA;AACJ;AACA;AACA;AACA;;;AACI0tC,EAAAA,iBAAiB,CAACp0C,SAAlB,CAA4B0sE,YAA5B,GAA2C,UAAUhmE,aAAV,EAAyB;AAChE,SAAKolE,mBAAL,CAAyBplE,aAAzB;AACA,SAAKhR,MAAL,CAAYqJ,KAAZ,CAAkB,4CAAlB,EAAgE2H,aAAhE;AACA,SAAKqkE,2BAAL,CAAiCpgE,MAAjC,CAAwCjE,aAAxC;AACA,SAAKhR,MAAL,CAAYqJ,KAAZ,CAAkB,uCAAlB,EAA2D2H,aAA3D;AACA,SAAKukE,uBAAL,CAA6BtgE,MAA7B,CAAoCjE,aAApC;AACH,GAND;AAOA;AACJ;AACA;AACA;AACA;AACA;;;AACI0tC,EAAAA,iBAAiB,CAACp0C,SAAlB,CAA4B8N,sBAA5B,GAAqD,UAAUH,QAAV,EAAoB;AACrE,QAAIE,UAAU,GAAG,KAAK8mC,UAAL,EAAjB;AACA,SAAKk2B,SAAL,CAAehwE,GAAf,CAAmBgT,UAAnB,EAA+BF,QAA/B;AACA,SAAKjY,MAAL,CAAYe,OAAZ,CAAoB,iEAAiEoX,UAArF;AACA,WAAOA,UAAP;AACH,GALD;AAMA;AACJ;AACA;AACA;AACA;AACA;;;AACIumC,EAAAA,iBAAiB,CAACp0C,SAAlB,CAA4B+N,yBAA5B,GAAwD,UAAUF,UAAV,EAAsB;AAC1E,QAAInmC,MAAM,GAAG,KAAKmjG,SAAL,CAAelgE,MAAf,CAAsBkD,UAAtB,CAAb;;AACA,QAAInmC,MAAJ,EAAY;AACR,WAAKguB,MAAL,CAAYe,OAAZ,CAAoB,6CAA6CoX,UAA7C,GAA0D,WAA9E;AACH,KAFD,MAGK;AACD,WAAKnY,MAAL,CAAYe,OAAZ,CAAoB,6CAA6CoX,UAA7C,GAA0D,eAA9E;AACH;;AACD,WAAOnmC,MAAP;AACH,GATD;AAUA;AACJ;AACA;AACA;AACA;AACA;;;AACI0sE,EAAAA,iBAAiB,CAACp0C,SAAlB,CAA4ButE,UAA5B,GAAyC,UAAUC,MAAV,EAAkB9mE,aAAlB,EAAiC;AACtE,QAAIE,KAAK,GAAG,IAAZ;;AACA,SAAKlR,MAAL,CAAYe,OAAZ,CAAoB,gDAApB,EAAsEiQ,aAAtE;AACA,SAAKmkE,SAAL,CAAejvE,OAAf,CAAuB,UAAU+R,QAAV,EAAoBE,UAApB,EAAgC;AACnDjH,MAAAA,KAAK,CAAClR,MAAN,CAAaqJ,KAAb,CAAmB,mDAAmD8O,UAAtE,EAAkFnH,aAAlF;;AACAiH,MAAAA,QAAQ,CAACnN,KAAT,CAAe,IAAf,EAAqB,CAACgtE,MAAD,CAArB;AACH,KAHD;AAIH,GAPD;;AAQA,SAAOp5B,iBAAP;AACH,CAtWsC,EAAvC;;;;;;;;;;;;;;;;;;ACTA;AACa;AACb;AACA;AACA;AACA;;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,IAAIrxC,iBAAiB;AACrB,GAAC,UAAUA,iBAAV,EAA6B;AAC1B;AACJ;AACA;AACA;AACIA,IAAAA,iBAAiB,CAAC,oBAAD,CAAjB,GAA0C,oBAA1C;AACA;AACJ;AACA;AACA;;AACIA,IAAAA,iBAAiB,CAAC,4BAAD,CAAjB,GAAkD,4BAAlD;AACA;AACJ;AACA;AACA;;AACIA,IAAAA,iBAAiB,CAAC,oBAAD,CAAjB,GAA0C,oBAA1C;AACA;AACJ;AACA;AACA;;AACIA,IAAAA,iBAAiB,CAAC,yBAAD,CAAjB,GAA+C,yBAA/C;AACA;AACJ;AACA;AACA;;AACIA,IAAAA,iBAAiB,CAAC,mBAAD,CAAjB,GAAyC,mBAAzC;AACA;AACJ;AACA;AACA;;AACIA,IAAAA,iBAAiB,CAAC,kCAAD,CAAjB,GAAwD,kCAAxD;AACA;AACJ;AACA;AACA;;AACIA,IAAAA,iBAAiB,CAAC,mBAAD,CAAjB,GAAyC,mBAAzC;AACA;AACJ;AACA;AACA;;AACIA,IAAAA,iBAAiB,CAAC,+BAAD,CAAjB,GAAqD,+BAArD;AACA;AACJ;AACA;AACA;;AACIA,IAAAA,iBAAiB,CAAC,gCAAD,CAAjB,GAAsD,gCAAtD;AACA;AACJ;AACA;AACA;;AACIA,IAAAA,iBAAiB,CAAC,iCAAD,CAAjB,GAAuD,iCAAvD;AACA;AACJ;AACA;AACA;;AACIA,IAAAA,iBAAiB,CAAC,WAAD,CAAjB,GAAiC,WAAjC;AACA;AACJ;AACA;AACA;;AACIA,IAAAA,iBAAiB,CAAC,iDAAD,CAAjB,GAAuE,iDAAvE;AACA;AACJ;AACA;AACA;;AACIA,IAAAA,iBAAiB,CAAC,gCAAD,CAAjB,GAAsD,gCAAtD;AACA;AACJ;AACA;AACA;;AACIA,IAAAA,iBAAiB,CAAC,qCAAD,CAAjB,GAA2D,qCAA3D;AACA;AACJ;AACA;;AACIA,IAAAA,iBAAiB,CAAC,qCAAD,CAAjB,GAA2D,qCAA3D;AACA;AACJ;AACA;;AACIA,IAAAA,iBAAiB,CAAC,kBAAD,CAAjB,GAAwC,iBAAxC;AACA;AACJ;AACA;;AACIA,IAAAA,iBAAiB,CAAC,oCAAD,CAAjB,GAA0D,oCAA1D;AACA;AACJ;AACA;;AACIA,IAAAA,iBAAiB,CAAC,sBAAD,CAAjB,GAA4C,sBAA5C;AACA;AACJ;AACA;;AACIA,IAAAA,iBAAiB,CAAC,uCAAD,CAAjB,GAA6D,uCAA7D;AACA;AACJ;AACA;;AACIA,IAAAA,iBAAiB,CAAC,gCAAD,CAAjB,GAAsD,gCAAtD;AACA;AACJ;AACA;;AACIA,IAAAA,iBAAiB,CAAC,sDAAD,CAAjB,GAA4E,sDAA5E;AACAA,IAAAA,iBAAiB,CAAC,yBAAD,CAAjB,GAA+C,yBAA/C;AACAA,IAAAA,iBAAiB,CAAC,gCAAD,CAAjB,GAAsD,gCAAtD;AACAA,IAAAA,iBAAiB,CAAC,iDAAD,CAAjB,GAAuE,iDAAvE;AACAA,IAAAA,iBAAiB,CAAC,kCAAD,CAAjB,GAAwD,kCAAxD;AACAA,IAAAA,iBAAiB,CAAC,yCAAD,CAAjB,GAA+D,yCAA/D;AACAA,IAAAA,iBAAiB,CAAC,oCAAD,CAAjB,GAA0D,oCAA1D;AACH,GAzGD,EAyGGA,iBAAiB,KAAKA,iBAAiB,GAAG,EAAzB,CAzGpB,CADqB;;AAAA,SAAjBA,iBAAiB;AAAA,IAArB;;AA2GA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI6nE,sBAAsB;AAC1B,GAAC,UAAUA,sBAAV,EAAkC;AAC/BA,IAAAA,sBAAsB,CAACA,sBAAsB,CAAC,YAAD,CAAtB,GAAuC,CAAxC,CAAtB,GAAmE,YAAnE;AACAA,IAAAA,sBAAsB,CAACA,sBAAsB,CAAC,YAAD,CAAtB,GAAuC,CAAxC,CAAtB,GAAmE,YAAnE;AACAA,IAAAA,sBAAsB,CAACA,sBAAsB,CAAC,WAAD,CAAtB,GAAsC,CAAvC,CAAtB,GAAkE,WAAlE;AACH,GAJD,EAIGA,sBAAsB,KAAKA,sBAAsB,GAAG,EAA9B,CAJzB,CAD0B;;AAAA,SAAtBA,sBAAsB;AAAA,IAA1B;;;;;;;;;;;;;;;;;;;AC7HA;AACa;;AACb;AACA;AAEA;AACA;AACA;AACA;;AACA,IAAI6C,0BAA0B;AAAG;AAAe,YAAY;AACxD,WAASA,0BAAT,GAAsC,CACrC;AACD;;;AACAA,EAAAA,0BAA0B,CAACztE,SAA3B,CAAqCwI,gBAArC,GAAwD,YAAY,CAAG,CAAvE;AACA;;;AACAilE,EAAAA,0BAA0B,CAACztE,SAA3B,CAAqC2I,cAArC,GAAsD,YAAY,CAAG,CAArE;;AACA8kE,EAAAA,0BAA0B,CAACztE,SAA3B,CAAqC+I,gBAArC,GAAwD,YAAY;AAChE,WAAO,IAAP;AACH,GAFD;;AAGA,SAAO0kE,0BAAP;AACH,CAX+C,EAAhD;;AAYA,IAAIrqE,qBAAqB;AAAG;AAAe,UAAUvE,MAAV,EAAkB;AACzDqB,EAAAA,4DAAS,CAACkD,qBAAD,EAAwBvE,MAAxB,CAAT;;AACA,WAASuE,qBAAT,GAAiC;AAC7B,WAAOvE,MAAM,KAAK,IAAX,IAAmBA,MAAM,CAAC2B,KAAP,CAAa,IAAb,EAAmBD,SAAnB,CAAnB,IAAoD,IAA3D;AACH;;AACD6C,EAAAA,qBAAqB,CAACpD,SAAtB,CAAgC20C,UAAhC,GAA6C,YAAY;AACrD,WAAO,aAAP;AACH,GAFD;;AAGAvxC,EAAAA,qBAAqB,CAACpD,SAAtB,CAAgCy0C,4BAAhC,GAA+D,YAAY;AACvE,WAAO,IAAIg5B,0BAAJ,EAAP;AACH,GAFD;;AAGArqE,EAAAA,qBAAqB,CAACpD,SAAtB,CAAgCkrE,2BAAhC,GAA8D,YAAY;AACtE,WAAO,IAAIuC,0BAAJ,EAAP;AACH,GAFD;;AAGA,SAAOrqE,qBAAP;AACH,CAf0C,CAezCgxC,oEAfyC,CAA3C;;;;;;;;;;;;;;;;;;;;ACrBA;AACa;;AACb;AACA;AACA;AAEA;AACA;AACA;AACA;;AACA,IAAIxW,sBAAsB;AAAG;AAAe,YAAY;AACpD,WAASA,sBAAT,CAAgC8vC,gBAAhC,EAAkDrzB,YAAlD,EAAgE;AAC5D,SAAKszB,YAAL,GAAoBnY,0EAApB;AACA,SAAKnb,YAAL,GAAoBA,YAApB;AACA,SAAKptC,KAAL,GAAaygE,gBAAgB,CAACzgE,KAA9B;AACA,SAAKvG,aAAL,GAAqBgnE,gBAAgB,CAAChnE,aAAtC;AACA,SAAK4T,UAAL,GAAkBozD,gBAAgB,CAACpzD,UAAjB,IAA+BzX,uEAAjD;AACA,SAAKs8B,UAAL,GAAkBuuC,gBAAgB,CAACvuC,UAAjB,IAA+Bt8B,uEAAjD;AACA,SAAKgrE,iBAAL,GAAyB1gB,iFAAA,GAAmChU,+EAAnC,GAAoEu0B,gBAAgB,CAAC78E,QAA9G;AACH;AACD;AACJ;AACA;;;AACI+sC,EAAAA,sBAAsB,CAAC59B,SAAvB,CAAiCymE,iCAAjC,GAAqE,YAAY;AAC7E,QAAI7xE,OAAO,GAAG,KAAK,KAAKqY,KAAV,GAAkBkgD,uFAAlB,GAA2D,KAAKwgB,YAA9E;AACA,QAAII,cAAc,GAAG,CAAC,KAAKzzD,UAAN,EAAkB,KAAK6kB,UAAvB,EAAmCr8D,IAAnC,CAAwCqqF,uFAAxC,CAArB;AACA,QAAI6gB,qBAAqB,GAAG,KAAKC,wBAAL,EAA5B;AACA,QAAIC,gCAAgC,GAAG,CAACt5E,OAAD,EAAUo5E,qBAAV,EAAiClrG,IAAjC,CAAsCqqF,uFAAtC,CAAvC;AACA,WAAO,CAACA,sFAAD,EAAwC+gB,gCAAxC,EAA0EH,cAA1E,EAA0FjrG,IAA1F,CAA+FqqF,0FAA/F,CAAP;AACH,GAND;AAOA;AACJ;AACA;;;AACIvvB,EAAAA,sBAAsB,CAAC59B,SAAvB,CAAiC2mE,8BAAjC,GAAkE,YAAY;AAC1E,QAAI0H,YAAY,GAAG,KAAKC,eAAL,EAAnB;AACA,QAAIC,SAAS,GAAG3wC,sBAAsB,CAAC4wC,eAAvB,CAAuCH,YAAvC,CAAhB;AACA,QAAIjhB,cAAc,GAAGihB,YAAY,CAACjhB,cAAb,CAA4BqhB,KAA5B,CAAkC,CAAlC,EAAqC,IAAIF,SAAzC,EAAoDzrG,IAApD,CAAyDqqF,uFAAzD,CAArB;AACA,QAAIE,MAAM,GAAGghB,YAAY,CAAChhB,MAAb,CAAoBohB,KAApB,CAA0B,CAA1B,EAA6BF,SAA7B,EAAwCzrG,IAAxC,CAA6CqqF,uFAA7C,CAAb;AACA,QAAIuhB,UAAU,GAAGL,YAAY,CAAChhB,MAAb,CAAoB3qF,MAArC,CAL0E,CAM1E;;AACA,QAAIisG,QAAQ,GAAGJ,SAAS,GAAGG,UAAZ,GAAyBvhB,qFAAzB,GAAgEA,sFAA/E;AACA,QAAI4gB,cAAc,GAAG,CAACW,UAAD,EAAaC,QAAb,EAAuB7rG,IAAvB,CAA4BqqF,uFAA5B,CAArB;AACA,WAAO,CAACA,sFAAD,EAAwCkhB,YAAY,CAAC/gB,SAArD,EAAgEF,cAAhE,EAAgFC,MAAhF,EAAwF0gB,cAAxF,EAAwGjrG,IAAxG,CAA6GqqF,0FAA7G,CAAP;AACH,GAVD;AAWA;AACJ;AACA;AACA;;;AACIvvB,EAAAA,sBAAsB,CAAC59B,SAAvB,CAAiC6nC,kBAAjC,GAAsD,UAAUz7D,KAAV,EAAiB;AACnE,QAAIiiG,YAAY,GAAG,KAAKC,eAAL,EAAnB;;AACA,QAAID,YAAY,CAAChhB,MAAb,CAAoB3qF,MAApB,IAA8ByqF,yFAAlC,EAA4E;AACxE;AACAkhB,MAAAA,YAAY,CAACjhB,cAAb,CAA4BlZ,KAA5B,GAFwE,CAEnC;;AACrCm6B,MAAAA,YAAY,CAACjhB,cAAb,CAA4BlZ,KAA5B,GAHwE,CAGnC;;AACrCm6B,MAAAA,YAAY,CAAChhB,MAAb,CAAoBnZ,KAApB;AACH;;AACDm6B,IAAAA,YAAY,CAACjhB,cAAb,CAA4BpxD,IAA5B,CAAiC,KAAKiR,KAAtC,EAA6C,KAAKvG,aAAlD;;AACA,QAAI,CAACvT,sEAAA,CAAoB/mB,KAAK,CAACo9B,QAA1B,CAAL,EAA0C;AACtC6kE,MAAAA,YAAY,CAAChhB,MAAb,CAAoBrxD,IAApB,CAAyB5vB,KAAK,CAACo9B,QAA/B;AACH,KAFD,MAGK,IAAI,CAACrW,sEAAA,CAAoB/mB,KAAK,CAACk9B,SAA1B,CAAL,EAA2C;AAC5C+kE,MAAAA,YAAY,CAAChhB,MAAb,CAAoBrxD,IAApB,CAAyB5vB,KAAK,CAACk9B,SAA/B;AACH,KAFI,MAGA,IAAI,CAAC,CAACl9B,KAAF,IAAWA,KAAK,CAAC6mC,QAAN,EAAf,EAAiC;AAClCo7D,MAAAA,YAAY,CAAChhB,MAAb,CAAoBrxD,IAApB,CAAyB5vB,KAAK,CAAC6mC,QAAN,EAAzB;AACH,KAFI,MAGA;AACDo7D,MAAAA,YAAY,CAAChhB,MAAb,CAAoBrxD,IAApB,CAAyBmxD,qFAAzB;AACH;;AACD,SAAK9S,YAAL,CAAkBtgC,kBAAlB,CAAqC,KAAK8zD,iBAA1C,EAA6DQ,YAA7D;AACA;AACH,GAvBD;AAwBA;AACJ;AACA;;;AACIzwC,EAAAA,sBAAsB,CAAC59B,SAAvB,CAAiCi2D,kBAAjC,GAAsD,YAAY;AAC9D,QAAIoY,YAAY,GAAG,KAAKC,eAAL,EAAnB;AACAD,IAAAA,YAAY,CAAC/gB,SAAb,IAA0B,CAA1B;AACA,SAAKjT,YAAL,CAAkBtgC,kBAAlB,CAAqC,KAAK8zD,iBAA1C,EAA6DQ,YAA7D;AACA,WAAOA,YAAY,CAAC/gB,SAApB;AACH,GALD;AAMA;AACJ;AACA;;;AACI1vB,EAAAA,sBAAsB,CAAC59B,SAAvB,CAAiCsuE,eAAjC,GAAmD,YAAY;AAC3D,QAAIU,YAAY,GAAG,IAAI55D,2FAAJ,EAAnB;AACA,QAAIi5D,YAAY,GAAG,KAAKh0B,YAAL,CAAkBzgC,kBAAlB,CAAqC,KAAKi0D,iBAA1C,CAAnB;AACA,WAAOQ,YAAY,IAAIW,YAAvB;AACH,GAJD;AAKA;AACJ;AACA;;;AACIpxC,EAAAA,sBAAsB,CAAC59B,SAAvB,CAAiC+zD,mBAAjC,GAAuD,YAAY;AAC/D,QAAIsa,YAAY,GAAG,KAAKC,eAAL,EAAnB;AACA,QAAIW,gBAAgB,GAAGrxC,sBAAsB,CAAC4wC,eAAvB,CAAuCH,YAAvC,CAAvB;AACA,QAAIK,UAAU,GAAGL,YAAY,CAAChhB,MAAb,CAAoB3qF,MAArC;;AACA,QAAIusG,gBAAgB,KAAKP,UAAzB,EAAqC;AACjC;AACA,WAAKr0B,YAAL,CAAkBpmC,UAAlB,CAA6B,KAAK45D,iBAAlC;AACH,KAHD,MAIK;AACD;AACA,UAAIqB,iBAAiB,GAAG,IAAI95D,2FAAJ,EAAxB;AACA85D,MAAAA,iBAAiB,CAAC9hB,cAAlB,GAAmCihB,YAAY,CAACjhB,cAAb,CAA4BqhB,KAA5B,CAAkCQ,gBAAgB,GAAG,CAArD,CAAnC,CAHC,CAG2F;;AAC5FC,MAAAA,iBAAiB,CAAC7hB,MAAlB,GAA2BghB,YAAY,CAAChhB,MAAb,CAAoBohB,KAApB,CAA0BQ,gBAA1B,CAA3B;AACA,WAAK50B,YAAL,CAAkBtgC,kBAAlB,CAAqC,KAAK8zD,iBAA1C,EAA6DqB,iBAA7D;AACH;AACJ,GAfD;AAgBA;AACJ;AACA;AACA;;;AACItxC,EAAAA,sBAAsB,CAAC4wC,eAAvB,GAAyC,UAAUW,qBAAV,EAAiC;AACtE,QAAIziG,CAAJ;AACA,QAAI6hG,SAAS,GAAG,CAAhB;AACA,QAAIa,QAAQ,GAAG,CAAf;AACA,QAAIV,UAAU,GAAGS,qBAAqB,CAAC9hB,MAAtB,CAA6B3qF,MAA9C;;AACA,SAAKgK,CAAC,GAAG,CAAT,EAAYA,CAAC,GAAGgiG,UAAhB,EAA4BhiG,CAAC,EAA7B,EAAiC;AAC7B;AACA,UAAIugC,KAAK,GAAGkiE,qBAAqB,CAAC/hB,cAAtB,CAAqC,IAAI1gF,CAAzC,KAA+Cm2B,uEAA3D;AACA,UAAI6D,aAAa,GAAGyoE,qBAAqB,CAAC/hB,cAAtB,CAAqC,IAAI1gF,CAAJ,GAAQ,CAA7C,KAAmDm2B,uEAAvE;AACA,UAAIyG,SAAS,GAAG6lE,qBAAqB,CAAC9hB,MAAtB,CAA6B3gF,CAA7B,KAAmCm2B,uEAAnD,CAJ6B,CAK7B;;AACAusE,MAAAA,QAAQ,IAAIniE,KAAK,CAACgG,QAAN,GAAiBvwC,MAAjB,GAA0BgkC,aAAa,CAACuM,QAAd,GAAyBvwC,MAAnD,GAA4D4mC,SAAS,CAAC5mC,MAAtE,GAA+E,CAA3F;;AACA,UAAI0sG,QAAQ,GAAGjiB,6FAAf,EAA6D;AACzD;AACAohB,QAAAA,SAAS,IAAI,CAAb;AACH,OAHD,MAIK;AACD;AACH;AACJ;;AACD,WAAOA,SAAP;AACH,GArBD;AAsBA;AACJ;AACA;AACA;AACA;;;AACI3wC,EAAAA,sBAAsB,CAAC59B,SAAvB,CAAiCiuE,wBAAjC,GAA4D,YAAY;AACpE,QAAID,qBAAqB,GAAG,EAA5B;AACAA,IAAAA,qBAAqB,CAAChyE,IAAtB,CAA2B,KAAKszE,UAAL,IAAmBzsE,uEAA9C;AACAmrE,IAAAA,qBAAqB,CAAChyE,IAAtB,CAA2B,KAAKuzE,YAAL,IAAqB1sE,uEAAhD;AACAmrE,IAAAA,qBAAqB,CAAChyE,IAAtB,CAA2B,KAAKwzE,aAAL,IAAsB3sE,uEAAjD;AACA,WAAOmrE,qBAAqB,CAAClrG,IAAtB,CAA2B,GAA3B,CAAP;AACH,GAND;AAOA;AACJ;AACA;AACA;AACA;AACA;;;AACI86D,EAAAA,sBAAsB,CAAC59B,SAAvB,CAAiCyvE,6BAAjC,GAAiE,UAAUh1B,uBAAV,EAAmC;AAChG,SAAK60B,UAAL,GAAkB70B,uBAAuB,CAACC,WAA1C;AACA,SAAK60B,YAAL,GAAoB90B,uBAAuB,CAACE,aAA5C;AACA,SAAK60B,aAAL,GAAqB/0B,uBAAuB,CAACG,cAA7C;AACH,GAJD;AAKA;AACJ;AACA;;;AACIhd,EAAAA,sBAAsB,CAAC59B,SAAvB,CAAiC01D,eAAjC,GAAmD,UAAUiY,YAAV,EAAwB;AACvE,SAAKA,YAAL,GAAoBA,YAApB;AACH,GAFD;;AAGA,SAAO/vC,sBAAP;AACH,CA1J2C,EAA5C;;;;;;;;;;;;;;;;;;;;;ACVA;AACa;;AACb;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;;AACA;AACA;AACA;;AACA,IAAI3qC,SAAS;AAAG;AAAe,YAAY;AACvC,WAASA,SAAT,CAAmB9f,GAAnB,EAAwB;AACpB,SAAKw8F,UAAL,GAAkBx8F,GAAlB;;AACA,QAAIggB,sEAAA,CAAoB,KAAKw8E,UAAzB,CAAJ,EAA0C;AACtC;AACA,YAAMhyC,4GAAA,EAAN;AACH;;AACD,QAAIxqC,sEAAA,CAAoB,KAAK8iD,OAAL,EAApB,CAAJ,EAAyC;AACrC,WAAK05B,UAAL,GAAkB18E,SAAS,CAAC28E,eAAV,CAA0Bz8F,GAA1B,CAAlB;AACH;AACJ;;AACD+kB,EAAAA,MAAM,CAAC2iD,cAAP,CAAsB5nD,SAAS,CAAC+M,SAAhC,EAA2C,WAA3C,EAAwD;AACpDxpC,IAAAA,GAAG,EAAE,YAAY;AACb,aAAO,KAAKm5G,UAAZ;AACH,KAHmD;AAIpDt0B,IAAAA,UAAU,EAAE,KAJwC;AAKpDC,IAAAA,YAAY,EAAE;AALsC,GAAxD;AAOA;AACJ;AACA;AACA;;AACIroD,EAAAA,SAAS,CAAC28E,eAAV,GAA4B,UAAUz8F,GAAV,EAAe;AACvC,QAAIA,GAAJ,EAAS;AACL,UAAI08F,YAAY,GAAG18F,GAAG,CAACiqB,WAAJ,EAAnB;;AACA,UAAIjK,uEAAA,CAAqB08E,YAArB,EAAmC,GAAnC,CAAJ,EAA6C;AACzCA,QAAAA,YAAY,GAAGA,YAAY,CAACpB,KAAb,CAAmB,CAAnB,EAAsB,CAAC,CAAvB,CAAf;AACH,OAFD,MAGK,IAAIt7E,uEAAA,CAAqB08E,YAArB,EAAmC,IAAnC,CAAJ,EAA8C;AAC/CA,QAAAA,YAAY,GAAGA,YAAY,CAACpB,KAAb,CAAmB,CAAnB,EAAsB,CAAC,CAAvB,CAAf;AACH;;AACD,UAAI,CAACt7E,uEAAA,CAAqB08E,YAArB,EAAmC,GAAnC,CAAL,EAA8C;AAC1CA,QAAAA,YAAY,IAAI,GAAhB;AACH;;AACD,aAAOA,YAAP;AACH;;AACD,WAAO18F,GAAP;AACH,GAfD;AAgBA;AACJ;AACA;;;AACI8f,EAAAA,SAAS,CAAC+M,SAAV,CAAoBukC,aAApB,GAAoC,YAAY;AAC5C;AACA,QAAIwrC,UAAJ;;AACA,QAAI;AACAA,MAAAA,UAAU,GAAG,KAAK3zE,gBAAL,EAAb;AACH,KAFD,CAGA,OAAOsE,CAAP,EAAU;AACN,YAAMi9B,4GAAA,CAA6Cj9B,CAA7C,CAAN;AACH,KAR2C,CAS5C;;;AACA,QAAI,CAACqvE,UAAU,CAACrzE,eAAZ,IAA+B,CAACqzE,UAAU,CAAC/0B,YAA/C,EAA6D;AACzD,YAAMrd,4GAAA,CAA6C,uBAAuB,KAAK8G,SAAzE,CAAN;AACH,KAZ2C,CAa5C;;;AACA,QAAI,CAACsrC,UAAU,CAACz4B,QAAZ,IAAwBy4B,UAAU,CAACz4B,QAAX,CAAoBl6C,WAApB,OAAsC,QAAlE,EAA4E;AACxE,YAAMugC,wHAAA,CAAyD,KAAK8G,SAA9D,CAAN;AACH;AACJ,GAjBD;AAkBA;AACJ;AACA;AACA;AACA;;;AACIxxC,EAAAA,SAAS,CAACo7D,iBAAV,GAA8B,UAAUl7E,GAAV,EAAeiuE,WAAf,EAA4B;AACtD,QAAIjuD,sEAAA,CAAoBiuD,WAApB,CAAJ,EAAsC;AAClC,aAAOjuE,GAAP;AACH;;AACD,WAAOA,GAAG,CAAChF,OAAJ,CAAY,GAAZ,IAAmB,CAAnB,GAAuBgF,GAAG,GAAG,GAAN,GAAYiuE,WAAnC,GAAiDjuE,GAAG,GAAG,GAAN,GAAYiuE,WAApE;AACH,GALD;AAMA;AACJ;AACA;AACA;;;AACInuD,EAAAA,SAAS,CAACq4C,iBAAV,GAA8B,UAAUn4D,GAAV,EAAe;AACzC,WAAO8f,SAAS,CAAC28E,eAAV,CAA0Bz8F,GAAG,CAAC2B,KAAJ,CAAU,GAAV,EAAe,CAAf,CAA1B,CAAP;AACH,GAFD;AAGA;AACJ;AACA;AACA;AACA;;;AACIme,EAAAA,SAAS,CAAC+M,SAAV,CAAoBgwE,iBAApB,GAAwC,UAAUt0D,QAAV,EAAoB;AACxD,QAAIu0D,SAAS,GAAG,KAAK7zE,gBAAL,EAAhB;AACA,QAAI8zE,SAAS,GAAGD,SAAS,CAACj1B,YAA1B;;AACA,QAAIt/B,QAAQ,IAAKw0D,SAAS,CAACxtG,MAAV,KAAqB,CAArB,KAA2BwtG,SAAS,CAAC,CAAD,CAAT,KAAiBR,6EAAjB,IAAiDQ,SAAS,CAAC,CAAD,CAAT,KAAiBR,oFAA7F,CAAjB,EAAqJ;AACjJQ,MAAAA,SAAS,CAAC,CAAD,CAAT,GAAex0D,QAAf;AACH;;AACD,WAAOzoB,SAAS,CAACwuD,+BAAV,CAA0CwuB,SAA1C,CAAP;AACH,GAPD;AAQA;AACJ;AACA;;;AACIh9E,EAAAA,SAAS,CAAC+M,SAAV,CAAoBi2C,OAApB,GAA8B,YAAY;AACtC,WAAOhjD,SAAS,CAACo9E,SAAV,CAAoB,KAAK5rC,SAAzB,CAAP;AACH,GAFD;AAGA;AACJ;AACA;AACA;;;AACIxxC,EAAAA,SAAS,CAAC+M,SAAV,CAAoB5D,gBAApB,GAAuC,YAAY;AAC/C;AACA,QAAIk0E,KAAK,GAAGnlF,MAAM,CAAC,4DAAD,CAAlB,CAF+C,CAG/C;;AACA,QAAI80D,KAAK,GAAG,KAAKxb,SAAL,CAAewb,KAAf,CAAqBqwB,KAArB,CAAZ;;AACA,QAAI,CAACrwB,KAAL,EAAY;AACR,YAAMtiB,4GAAA,CAA6C,uBAAuB,KAAK8G,SAAzE,CAAN;AACH,KAP8C,CAQ/C;;;AACA,QAAItlC,aAAa,GAAG;AAChBm4C,MAAAA,QAAQ,EAAE2I,KAAK,CAAC,CAAD,CADC;AAEhBvjD,MAAAA,eAAe,EAAEujD,KAAK,CAAC,CAAD,CAFN;AAGhBxjD,MAAAA,YAAY,EAAEwjD,KAAK,CAAC,CAAD,CAHH;AAIhBzjD,MAAAA,WAAW,EAAEyjD,KAAK,CAAC,CAAD;AAJF,KAApB;AAMA,QAAInF,YAAY,GAAG37C,aAAa,CAAC1C,YAAd,CAA2B3nB,KAA3B,CAAiC,GAAjC,CAAnB;AACAgmE,IAAAA,YAAY,GAAGA,YAAY,CAACp7E,MAAb,CAAoB,UAAUupG,GAAV,EAAe;AAAE,aAAOA,GAAG,IAAIA,GAAG,CAACvmG,MAAJ,GAAa,CAA3B;AAA+B,KAApE,CAAf,CAhB+C,CAgBuC;;AACtFy8B,IAAAA,aAAa,CAAC67C,YAAd,GAA6BF,YAA7B;;AACA,QAAI,CAAC3nD,sEAAA,CAAoBgM,aAAa,CAAC3C,WAAlC,CAAD,IAAmD2C,aAAa,CAAC3C,WAAd,CAA0BszE,QAA1B,CAAmC,GAAnC,CAAvD,EAAgG;AAC5F3wE,MAAAA,aAAa,CAAC3C,WAAd,GAA4B2C,aAAa,CAAC3C,WAAd,CAA0B+gB,SAA1B,CAAoC,CAApC,EAAuCpe,aAAa,CAAC3C,WAAd,CAA0B95B,MAA1B,GAAmC,CAA1E,CAA5B;AACH;;AACD,WAAOy8B,aAAP;AACH,GAtBD;;AAuBAlM,EAAAA,SAAS,CAACwtD,gBAAV,GAA6B,UAAUttE,GAAV,EAAe;AACxC,QAAIm9F,KAAK,GAAGnlF,MAAM,CAAC,0BAAD,CAAlB;AACA,QAAI80D,KAAK,GAAG9sE,GAAG,CAAC8sE,KAAJ,CAAUqwB,KAAV,CAAZ;;AACA,QAAI,CAACrwB,KAAL,EAAY;AACR,YAAMtiB,4GAAA,CAA6C,uBAAuBxqD,GAApE,CAAN;AACH;;AACD,WAAO8sE,KAAK,CAAC,CAAD,CAAZ;AACH,GAPD;;AAQAhtD,EAAAA,SAAS,CAACiJ,cAAV,GAA2B,UAAUq0E,WAAV,EAAuB54E,OAAvB,EAAgC;AACvD,QAAI44E,WAAW,CAAC,CAAD,CAAX,KAAmB1tE,wEAAvB,EAAgD;AAC5C,UAAI1vB,GAAG,GAAG,IAAI8f,SAAJ,CAAc0E,OAAd,CAAV;AACA,UAAI84E,cAAc,GAAGt9F,GAAG,CAACipB,gBAAJ,EAArB;AACA,aAAOq0E,cAAc,CAACn5B,QAAf,GAA0B,IAA1B,GAAiCm5B,cAAc,CAAC/zE,eAAhD,GAAkE6zE,WAAzE;AACH;;AACD,WAAOA,WAAP;AACH,GAPD;AAQA;AACJ;AACA;AACA;;;AACIt9E,EAAAA,SAAS,CAACo9E,SAAV,GAAsB,UAAU3gD,UAAV,EAAsB;AACxC,QAAIghD,UAAU,GAAGhhD,UAAU,CAACvhD,OAAX,CAAmB,GAAnB,CAAjB;AACA,QAAIwiG,UAAU,GAAGjhD,UAAU,CAACvhD,OAAX,CAAmB,IAAnB,CAAjB;;AACA,QAAIwiG,UAAU,GAAG,CAAC,CAAlB,EAAqB;AACjB,aAAOjhD,UAAU,CAACnS,SAAX,CAAqBozD,UAAU,GAAG,CAAlC,CAAP;AACH,KAFD,MAGK,IAAID,UAAU,GAAG,CAAC,CAAlB,EAAqB;AACtB,aAAOhhD,UAAU,CAACnS,SAAX,CAAqBmzD,UAAU,GAAG,CAAlC,CAAP;AACH;;AACD,WAAO7tE,uEAAP;AACH,GAVD;AAWA;AACJ;AACA;AACA;;;AACI5P,EAAAA,SAAS,CAAC29E,gBAAV,GAA6B,UAAUxvB,WAAV,EAAuB;AAChD,QAAIyvB,WAAW,GAAGzvB,WAAW,CAACjzE,OAAZ,CAAoB,GAApB,CAAlB;AACA,QAAI2iG,WAAW,GAAG1vB,WAAW,CAACjzE,OAAZ,CAAoB,IAApB,CAAlB;;AACA,QAAI2iG,WAAW,GAAG,CAAC,CAAnB,EAAsB;AAClB,aAAO1vB,WAAW,CAAC7jC,SAAZ,CAAsBuzD,WAAW,GAAG,CAApC,CAAP;AACH,KAFD,MAGK,IAAID,WAAW,GAAG,CAAC,CAAnB,EAAsB;AACvB,aAAOzvB,WAAW,CAAC7jC,SAAZ,CAAsBszD,WAAW,GAAG,CAApC,CAAP;AACH;;AACD,WAAOhuE,uEAAP;AACH,GAVD;;AAWA5P,EAAAA,SAAS,CAACwuD,+BAAV,GAA4C,UAAUwuB,SAAV,EAAqB;AAC7D,WAAO,IAAIh9E,SAAJ,CAAcg9E,SAAS,CAAC34B,QAAV,GAAqB,IAArB,GAA4B24B,SAAS,CAACvzE,eAAtC,GAAwD,GAAxD,GAA8DuzE,SAAS,CAACj1B,YAAV,CAAuBl4E,IAAvB,CAA4B,GAA5B,CAA5E,CAAP;AACH,GAFD;AAGA;AACJ;AACA;;;AACImwB,EAAAA,SAAS,CAACs0C,mBAAV,GAAgC,UAAUlzC,IAAV,EAAgB;AAC5C;AACA,QAAIlB,sEAAA,CAAoBkB,IAApB,CAAJ,EAA+B;AAC3B,aAAO,EAAP;AACH,KAJ2C,CAK5C;;;AACA,QAAI08E,UAAU,GAAG99E,SAAS,CAACo9E,SAAV,CAAoBh8E,IAApB,CAAjB,CAN4C,CAO5C;;AACA,QAAI28E,gBAAgB,GAAG79E,kFAAA,CAAgCA,sEAAA,CAAoB49E,UAApB,IAAkC18E,IAAlC,GAAyC08E,UAAzE,CAAvB,CAR4C,CAS5C;;AACA,QAAI,CAACC,gBAAL,EAAuB;AACnB,YAAM/tE,qGAAA,CAA+CruB,IAAI,CAACI,SAAL,CAAeg8F,gBAAf,CAA/C,CAAN;AACH;;AACD,WAAOA,gBAAP;AACH,GAdD;AAeA;AACJ;AACA;;;AACI/9E,EAAAA,SAAS,CAACi+E,0BAAV,GAAuC,UAAUzkG,KAAV,EAAiB;AACpD;AACA,QAAI0mB,sEAAA,CAAoB1mB,KAApB,CAAJ,EAAgC;AAC5B,aAAO,EAAP;AACH,KAJmD,CAKpD;;;AACA,QAAI0kG,iBAAiB,GAAGl+E,SAAS,CAAC29E,gBAAV,CAA2BnkG,KAA3B,CAAxB,CANoD,CAOpD;;AACA,QAAI2kG,uBAAuB,GAAGj+E,kFAAA,CAAgCA,sEAAA,CAAoBg+E,iBAApB,IAAyC1kG,KAAzC,GAAiD0kG,iBAAjF,CAA9B,CARoD,CASpD;;AACA,QAAI,CAACC,uBAAL,EAA8B;AAC1B,YAAMnuE,qGAAA,CAA+CruB,IAAI,CAACI,SAAL,CAAeo8F,uBAAf,CAA/C,CAAN;AACH;;AACD,WAAOA,uBAAP;AACH,GAdD;AAeA;AACJ;AACA;;;AACIn+E,EAAAA,SAAS,CAAC2F,2BAAV,GAAwC,UAAUvE,IAAV,EAAgB;AACpD,QAAIlB,sEAAA,CAAoBkB,IAApB,KAA6BA,IAAI,CAAClmB,OAAL,CAAa,GAAb,IAAoB,CAArD,EAAwD;AACpD;AACA,aAAO,KAAP;AACH;;AACD,QAAIs0F,UAAU,GAAGxvE,SAAS,CAACs0C,mBAAV,CAA8BlzC,IAA9B,CAAjB;AACA,WAAO,CAAC,EAAEouE,UAAU,CAACp2F,IAAX,IACNo2F,UAAU,CAACliB,iBADL,IAENkiB,UAAU,CAACr2F,KAFL,IAGNq2F,UAAU,CAACjxF,KAHP,CAAR;AAIH,GAVD;;AAWA,SAAOyhB,SAAP;AACH,CA/N8B,EAA/B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACdA;AACa;;AACb;AAEA;AACA;AACA;AACA;;AACA,IAAI4P,SAAS,GAAG;AACZwuE,EAAAA,YAAY,EAAE,SADF;AAEZ5a,EAAAA,GAAG,EAAE,gBAFO;AAGZ;AACAjgD,EAAAA,YAAY,EAAE,MAJF;AAKZ;AACAqT,EAAAA,iBAAiB,EAAE,2CANP;AAOZynD,EAAAA,sBAAsB,EAAE,2BAPZ;AAQZ1wB,EAAAA,qBAAqB,EAAE,QARX;AASZ;AACA3F,EAAAA,IAAI,EAAE,MAVM;AAWZE,EAAAA,IAAI,EAAE,QAXM;AAYZ;AACAiF,EAAAA,4BAA4B,EAAE,qGAblB;AAcZ;AACAmxB,EAAAA,cAAc,EAAE,GAfJ;AAgBZ;AACAC,EAAAA,UAAU,EAAE,YAjBA;AAkBZ;AACA1N,EAAAA,MAAM,EAAE,QAnBI;AAoBZ;AACA2N,EAAAA,aAAa,EAAE,sCArBH;AAsBZ;AACAC,EAAAA,YAAY,EAAE,QAvBF;AAwBZC,EAAAA,aAAa,EAAE,SAxBH;AAyBZxoB,EAAAA,oBAAoB,EAAE,gBAzBV;AA0BZyoB,EAAAA,WAAW,EAAE,OA1BD;AA2BZ;AACAjP,EAAAA,kBAAkB,EAAE,MA5BR;AA6BZkP,EAAAA,eAAe,EAAE,oBA7BL;AA8BZC,EAAAA,aAAa,EAAE,eA9BH;AA+BZC,EAAAA,sBAAsB,EAAE,UA/BZ;AAgCZnkC,EAAAA,0BAA0B,EAAE,MAhChB;AAiCZgmB,EAAAA,qBAAqB,EAAE,iDAjCX;AAkCZoe,EAAAA,qBAAqB,EAAE,uBAlCX;AAmCZtsB,EAAAA,WAAW,EAAE,aAnCD;AAoCZ5+C,EAAAA,YAAY,EAAE,EApCF;AAqCZu4C,EAAAA,cAAc,EAAE,KArCJ;AAsCZmxB,EAAAA,aAAa,EAAE,GAtCH;AAuCZxtB,EAAAA,aAAa,EAAE,2DAvCH;AAwCZP,EAAAA,YAAY,EAAE,YAxCF;AAyCZQ,EAAAA,YAAY,EAAE,IAzCF;AA0CZpE,EAAAA,+BAA+B,EAAE,eA1CrB;AA2CZ2C,EAAAA,iCAAiC,EAAE,qBA3CvB;AA4CZE,EAAAA,kCAAkC,EAAE,uBA5CxB;AA6CZT,EAAAA,mBAAmB,EAAE,CAAC,2BAAD,EAA8B,mBAA9B,EAAmD,qBAAnD,EAA0E,iBAA1E,CA7CT;AA8CZ4hB,EAAAA,mBAAmB,EAAE,OA9CT;AA+CZC,EAAAA,sBAAsB,EAAE,UA/CZ;AAgDZ/+B,EAAAA,kBAAkB,EAAE,GAhDR;AAiDZuc,EAAAA,gBAAgB,EAAE;AAjDN,CAAhB;AAmDA,IAAIzgB,mBAAmB,GAAG,CACtBh9B,SAAS,CAAC6uE,YADY,EAEtB7uE,SAAS,CAAC8uE,aAFY,EAGtB9uE,SAAS,CAACsmD,oBAHY,CAA1B;;AAKA,IAAIme,WAAW,GAAGtvB,iEAAc,CAACnY,mBAAD,EAAsB,CAClDh9B,SAAS,CAAC+uE,WADwC,CAAtB,CAAhC;AAGA;AACA;AACA;;;AACA,IAAI3jB,WAAW;AACf,GAAC,UAAUA,WAAV,EAAuB;AACpBA,IAAAA,WAAW,CAAC,cAAD,CAAX,GAA8B,cAA9B;AACAA,IAAAA,WAAW,CAAC,aAAD,CAAX,GAA6B,aAA7B;AACAA,IAAAA,WAAW,CAAC,YAAD,CAAX,GAA4B,iBAA5B;AACAA,IAAAA,WAAW,CAAC,iBAAD,CAAX,GAAiC,kBAAjC;AACAA,IAAAA,WAAW,CAAC,oBAAD,CAAX,GAAoC,qBAApC;AACAA,IAAAA,WAAW,CAAC,iBAAD,CAAX,GAAiC,iBAAjC;AACAA,IAAAA,WAAW,CAAC,mBAAD,CAAX,GAAmC,cAAnC;AACH,GARD,EAQGA,WAAW,KAAKA,WAAW,GAAG,EAAnB,CARd,CADe;;AAAA,SAAXA,WAAW;AAAA,IAAf;;AAUA;AACA;AACA;AACA,IAAI34C,mBAAmB;AACvB,GAAC,UAAUA,mBAAV,EAA+B;AAC5BA,IAAAA,mBAAmB,CAAC,UAAD,CAAnB,GAAkC,SAAlC;AACAA,IAAAA,mBAAmB,CAAC,aAAD,CAAnB,GAAqC,aAArC;AACAA,IAAAA,mBAAmB,CAAC,eAAD,CAAnB,GAAuC,cAAvC;AACAA,IAAAA,mBAAmB,CAAC,OAAD,CAAnB,GAA+B,OAA/B;AACAA,IAAAA,mBAAmB,CAAC,YAAD,CAAnB,GAAoC,mBAApC;AACAA,IAAAA,mBAAmB,CAAC,gBAAD,CAAnB,GAAwC,gBAAxC;AACAA,IAAAA,mBAAmB,CAAC,wBAAD,CAAnB,GAAgD,wBAAhD,CAP4B,CAO8C;AAC7E,GARD,EAQGA,mBAAmB,KAAKA,mBAAmB,GAAG,EAA3B,CARtB,CADuB;;AAAA,SAAnBA,mBAAmB;AAAA,IAAvB;;AAUA;AACA;AACA;AACA,IAAIo6D,qBAAqB;AACzB,GAAC,UAAUA,qBAAV,EAAiC;AAC9BA,IAAAA,qBAAqB,CAAC,QAAD,CAArB,GAAkC,QAAlC;AACAA,IAAAA,qBAAqB,CAAC,eAAD,CAArB,GAAyC,eAAzC;AACAA,IAAAA,qBAAqB,CAAC,WAAD,CAArB,GAAqC,WAArC;AACH,GAJD,EAIGA,qBAAqB,KAAKA,qBAAqB,GAAG,EAA7B,CAJxB,CADyB;;AAAA,SAArBA,qBAAqB;AAAA,IAAzB;;AAMA;AACA;AACA;AACA,IAAI3hB,kBAAkB;AACtB,GAAC,UAAUA,kBAAV,EAA8B;AAC3BA,IAAAA,kBAAkB,CAAC,WAAD,CAAlB,GAAkC,WAAlC;AACAA,IAAAA,kBAAkB,CAAC,cAAD,CAAlB,GAAqC,cAArC;AACAA,IAAAA,kBAAkB,CAAC,eAAD,CAAlB,GAAsC,eAAtC;AACAA,IAAAA,kBAAkB,CAAC,eAAD,CAAlB,GAAsC,eAAtC;AACAA,IAAAA,kBAAkB,CAAC,YAAD,CAAlB,GAAmC,YAAnC;AACAA,IAAAA,kBAAkB,CAAC,QAAD,CAAlB,GAA+B,QAA/B;AACAA,IAAAA,kBAAkB,CAAC,OAAD,CAAlB,GAA8B,OAA9B;AACAA,IAAAA,kBAAkB,CAAC,OAAD,CAAlB,GAA8B,OAA9B;AACAA,IAAAA,kBAAkB,CAAC,mBAAD,CAAlB,GAA0C,mBAA1C;AACAA,IAAAA,kBAAkB,CAAC,cAAD,CAAlB,GAAqC,cAArC;AACAA,IAAAA,kBAAkB,CAAC,UAAD,CAAlB,GAAiC,UAAjC;AACAA,IAAAA,kBAAkB,CAAC,eAAD,CAAlB,GAAsC,eAAtC;AACAA,IAAAA,kBAAkB,CAAC,YAAD,CAAlB,GAAmC,YAAnC;AACAA,IAAAA,kBAAkB,CAAC,OAAD,CAAlB,GAA8B,OAA9B;AACAA,IAAAA,kBAAkB,CAAC,OAAD,CAAlB,GAA8B,OAA9B;AACAA,IAAAA,kBAAkB,CAAC,QAAD,CAAlB,GAA+B,QAA/B;AACAA,IAAAA,kBAAkB,CAAC,eAAD,CAAlB,GAAsC,eAAtC;AACAA,IAAAA,kBAAkB,CAAC,aAAD,CAAlB,GAAoC,aAApC;AACAA,IAAAA,kBAAkB,CAAC,MAAD,CAAlB,GAA6B,MAA7B;AACAA,IAAAA,kBAAkB,CAAC,gBAAD,CAAlB,GAAuC,gBAAvC;AACAA,IAAAA,kBAAkB,CAAC,uBAAD,CAAlB,GAA8C,uBAA9C;AACAA,IAAAA,kBAAkB,CAAC,eAAD,CAAlB,GAAsC,eAAtC;AACAA,IAAAA,kBAAkB,CAAC,mBAAD,CAAlB,GAA0C,mBAA1C;AACAA,IAAAA,kBAAkB,CAAC,cAAD,CAAlB,GAAqC,cAArC;AACAA,IAAAA,kBAAkB,CAAC,cAAD,CAAlB,GAAqC,cAArC;AACAA,IAAAA,kBAAkB,CAAC,aAAD,CAAlB,GAAoC,aAApC;AACAA,IAAAA,kBAAkB,CAAC,cAAD,CAAlB,GAAqC,cAArC;AACAA,IAAAA,kBAAkB,CAAC,qBAAD,CAAlB,GAA4C,4BAA5C;AACAA,IAAAA,kBAAkB,CAAC,qBAAD,CAAlB,GAA4C,yBAA5C;AACAA,IAAAA,kBAAkB,CAAC,qBAAD,CAAlB,GAA4C,qBAA5C;AACAA,IAAAA,kBAAkB,CAAC,YAAD,CAAlB,GAAmC,YAAnC;AACAA,IAAAA,kBAAkB,CAAC,WAAD,CAAlB,GAAkC,WAAlC;AACAA,IAAAA,kBAAkB,CAAC,iBAAD,CAAlB,GAAwC,0BAAxC;AACAA,IAAAA,kBAAkB,CAAC,eAAD,CAAlB,GAAsC,eAAtC;AACAA,IAAAA,kBAAkB,CAAC,aAAD,CAAlB,GAAoC,aAApC;AACAA,IAAAA,kBAAkB,CAAC,eAAD,CAAlB,GAAsC,eAAtC;AACAA,IAAAA,kBAAkB,CAAC,kBAAD,CAAlB,GAAyC,kBAAzC;AACAA,IAAAA,kBAAkB,CAAC,uBAAD,CAAlB,GAA8C,uBAA9C;AACAA,IAAAA,kBAAkB,CAAC,YAAD,CAAlB,GAAmC,YAAnC;AACAA,IAAAA,kBAAkB,CAAC,SAAD,CAAlB,GAAgC,SAAhC;AACAA,IAAAA,kBAAkB,CAAC,eAAD,CAAlB,GAAsC,WAAtC;AACAA,IAAAA,kBAAkB,CAAC,qBAAD,CAAlB,GAA4C,qBAA5C;AACAA,IAAAA,kBAAkB,CAAC,cAAD,CAAlB,GAAqC,cAArC;AACAA,IAAAA,kBAAkB,CAAC,MAAD,CAAlB,GAA6B,MAA7B;AACAA,IAAAA,kBAAkB,CAAC,YAAD,CAAlB,GAAmC,iBAAnC;AACAA,IAAAA,kBAAkB,CAAC,iBAAD,CAAlB,GAAwC,iBAAxC;AACAA,IAAAA,kBAAkB,CAAC,eAAD,CAAlB,GAAsC,cAAtC;AACAA,IAAAA,kBAAkB,CAAC,aAAD,CAAlB,GAAoC,aAApC;AACH,GAjDD,EAiDGA,kBAAkB,KAAKA,kBAAkB,GAAG,EAA1B,CAjDrB,CADsB;;AAAA,SAAlBA,kBAAkB;AAAA,IAAtB;;AAmDA;AACA;AACA;AACA,IAAIwU,iBAAiB;AACrB,GAAC,UAAUA,iBAAV,EAA6B;AAC1BA,IAAAA,iBAAiB,CAAC,cAAD,CAAjB,GAAoC,cAApC;AACAA,IAAAA,iBAAiB,CAAC,QAAD,CAAjB,GAA8B,QAA9B;AACH,GAHD,EAGGA,iBAAiB,KAAKA,iBAAiB,GAAG,EAAzB,CAHpB,CADqB;;AAAA,SAAjBA,iBAAiB;AAAA,IAArB;;AAKA;AACA;AACA;AACA;AACA;AACA,IAAIr/D,WAAW,GAAG;AACdoK,EAAAA,KAAK,EAAE,OADO;AAEdslD,EAAAA,cAAc,EAAE,gBAFF;AAGdvlD,EAAAA,OAAO,EAAE,SAHK;AAIdD,EAAAA,IAAI,EAAE,MAJQ;AAKd6kE,EAAAA,MAAM,EAAE,QALM;AAMdhlC,EAAAA,UAAU,EAAE;AANE,CAAlB;AAQA;AACA;AACA;;AACA,IAAIq1B,QAAQ;AACZ,GAAC,UAAUA,QAAV,EAAoB;AACjBA,IAAAA,QAAQ,CAAC,SAAD,CAAR,GAAsB,SAAtB;AACAA,IAAAA,QAAQ,CAAC,KAAD,CAAR,GAAkB,KAAlB;AACAA,IAAAA,QAAQ,CAAC,YAAD,CAAR,GAAyB,YAAzB;AACAA,IAAAA,QAAQ,CAAC,UAAD,CAAR,GAAuB,UAAvB;AACAA,IAAAA,QAAQ,CAAC,aAAD,CAAR,GAA0B,aAA1B;AACAA,IAAAA,QAAQ,CAAC,eAAD,CAAR,GAA4B,eAA5B;AACAA,IAAAA,QAAQ,CAAC,WAAD,CAAR,GAAwB,WAAxB;AACAA,IAAAA,QAAQ,CAAC,YAAD,CAAR,GAAyB,mBAAzB;AACAA,IAAAA,QAAQ,CAAC,gBAAD,CAAR,GAA6B,uBAA7B;AACH,GAVD,EAUGA,QAAQ,KAAKA,QAAQ,GAAG,EAAhB,CAVX,CADY;;AAAA,SAARA,QAAQ;AAAA,IAAZ;;AAYA;AACA;AACA;AACA,IAAI0E,yBAAyB,GAAG;AAC5BG,EAAAA,KAAK,EAAE,OADqB;AAE5BC,EAAAA,IAAI,EAAE;AAFsB,CAAhC;AAIA;AACA;AACA;;AACA,IAAI35B,YAAY;AAChB,GAAC,UAAUA,YAAV,EAAwB;AACrBA,IAAAA,YAAY,CAAC,OAAD,CAAZ,GAAwB,OAAxB;AACAA,IAAAA,YAAY,CAAC,UAAD,CAAZ,GAA2B,UAA3B;AACAA,IAAAA,YAAY,CAAC,WAAD,CAAZ,GAA4B,WAA5B;AACH,GAJD,EAIGA,YAAY,KAAKA,YAAY,GAAG,EAApB,CAJf,CADgB;;AAAA,SAAZA,YAAY;AAAA,IAAhB;;AAMA;AACA;AACA;AACA,IAAIugB,SAAS;AACb,GAAC,UAAUA,SAAV,EAAqB;AAClBA,IAAAA,SAAS,CAAC,gBAAD,CAAT,GAA8B,UAA9B;AACAA,IAAAA,SAAS,CAAC,0BAAD,CAAT,GAAwC,oBAAxC;AACAA,IAAAA,SAAS,CAAC,0BAAD,CAAT,GAAwC,oBAAxC;AACAA,IAAAA,SAAS,CAAC,+BAAD,CAAT,GAA6C,UAA7C;AACAA,IAAAA,SAAS,CAAC,qBAAD,CAAT,GAAmC,eAAnC;AACAA,IAAAA,SAAS,CAAC,mBAAD,CAAT,GAAiC,aAAjC;AACAA,IAAAA,SAAS,CAAC,YAAD,CAAT,GAA0B,6CAA1B;AACH,GARD,EAQGA,SAAS,KAAKA,SAAS,GAAG,EAAjB,CARZ,CADa;;AAAA,SAATA,SAAS;AAAA,IAAb;;AAUA;AACA;AACA;AACA,IAAIhE,gBAAgB;AACpB,GAAC,UAAUA,gBAAV,EAA4B;AACzBA,IAAAA,gBAAgB,CAAC,oBAAD,CAAhB,GAAyC,OAAzC;AACAA,IAAAA,gBAAgB,CAAC,mBAAD,CAAhB,GAAwC,MAAxC;AACAA,IAAAA,gBAAgB,CAAC,oBAAD,CAAhB,GAAyC,KAAzC;AACAA,IAAAA,gBAAgB,CAAC,sBAAD,CAAhB,GAA2C,SAA3C,CAJyB,CAI6B;AACzD,GALD,EAKGA,gBAAgB,KAAKA,gBAAgB,GAAG,EAAxB,CALnB,CADoB;;AAAA,SAAhBA,gBAAgB;AAAA,IAApB;;AAOA;AACA;AACA;AACA,IAAI7Q,UAAU;AACd,GAAC,UAAUA,UAAV,EAAsB;AACnBA,IAAAA,UAAU,CAAC,qBAAD,CAAV,GAAoC,GAApC;AACAA,IAAAA,UAAU,CAAC,uBAAD,CAAV,GAAsC,GAAtC;AACH,GAHD,EAGGA,UAAU,KAAKA,UAAU,GAAG,EAAlB,CAHb,CADc;;AAAA,SAAVA,UAAU;AAAA,IAAd;;AAKA;AACA;AACA;AACA,IAAIgK,cAAc;AAClB,GAAC,UAAUA,cAAV,EAA0B;AACvBA,IAAAA,cAAc,CAAC,UAAD,CAAd,GAA6B,SAA7B;AACAA,IAAAA,cAAc,CAAC,cAAD,CAAd,GAAiC,aAAjC;AACAA,IAAAA,cAAc,CAAC,+BAAD,CAAd,GAAkD,6BAAlD;AACAA,IAAAA,cAAc,CAAC,eAAD,CAAd,GAAkC,cAAlC;AACH,GALD,EAKGA,cAAc,KAAKA,cAAc,GAAG,EAAtB,CALjB,CADkB;;AAAA,SAAdA,cAAc;AAAA,IAAlB;;AAOA;AACA;AACA;AACA,IAAIC,eAAe;AACnB,GAAC,UAAUA,eAAV,EAA2B;AACxBA,IAAAA,eAAe,CAAC,SAAD,CAAf,GAA6B,SAA7B;AACAA,IAAAA,eAAe,CAAC,YAAD,CAAf,GAAgC,YAAhC;AACAA,IAAAA,eAAe,CAAC,UAAD,CAAf,GAA8B,SAA9B;AACAA,IAAAA,eAAe,CAAC,cAAD,CAAf,GAAkC,aAAlC;AACAA,IAAAA,eAAe,CAAC,eAAD,CAAf,GAAmC,cAAnC;AACAA,IAAAA,eAAe,CAAC,cAAD,CAAf,GAAkC,aAAlC;AACAA,IAAAA,eAAe,CAAC,WAAD,CAAf,GAA+B,WAA/B;AACAA,IAAAA,eAAe,CAAC,WAAD,CAAf,GAA+B,WAA/B;AACAA,IAAAA,eAAe,CAAC,WAAD,CAAf,GAA+B,WAA/B;AACAA,IAAAA,eAAe,CAAC,YAAD,CAAf,GAAgC,YAAhC;AACH,GAXD,EAWGA,eAAe,KAAKA,eAAe,GAAG,EAAvB,CAXlB,CADmB;;AAAA,SAAfA,eAAe;AAAA,IAAnB;;AAaA;AACA;AACA;AACA,IAAI6G,SAAS;AACb,GAAC,UAAUA,SAAV,EAAqB;AAClBA,IAAAA,SAAS,CAACA,SAAS,CAAC,MAAD,CAAT,GAAoB,IAArB,CAAT,GAAsC,MAAtC;AACAA,IAAAA,SAAS,CAACA,SAAS,CAAC,KAAD,CAAT,GAAmB,IAApB,CAAT,GAAqC,KAArC;AACAA,IAAAA,SAAS,CAACA,SAAS,CAAC,OAAD,CAAT,GAAqB,IAAtB,CAAT,GAAuC,OAAvC;AACAA,IAAAA,SAAS,CAACA,SAAS,CAAC,SAAD,CAAT,GAAuB,IAAxB,CAAT,GAAyC,SAAzC;AACAA,IAAAA,SAAS,CAACA,SAAS,CAAC,cAAD,CAAT,GAA4B,IAA7B,CAAT,GAA8C,cAA9C;AACAA,IAAAA,SAAS,CAACA,SAAS,CAAC,eAAD,CAAT,GAA6B,IAA9B,CAAT,GAA+C,eAA/C;AACAA,IAAAA,SAAS,CAACA,SAAS,CAAC,UAAD,CAAT,GAAwB,IAAzB,CAAT,GAA0C,UAA1C;AACAA,IAAAA,SAAS,CAACA,SAAS,CAAC,cAAD,CAAT,GAA4B,IAA7B,CAAT,GAA8C,cAA9C;AACAA,IAAAA,SAAS,CAACA,SAAS,CAAC,WAAD,CAAT,GAAyB,IAA1B,CAAT,GAA2C,WAA3C;AACH,GAVD,EAUGA,SAAS,KAAKA,SAAS,GAAG,EAAjB,CAVZ,CADa;;AAAA,SAATA,SAAS;AAAA,IAAb;;AAYA;AACA;AACA;AACA,IAAI3G,YAAY,GAAG,aAAnB;AACA,IAAI3sC,WAAW,GAAG,aAAlB;AACA,IAAI0sC,aAAa,GAAG,GAApB;AACA,IAAIE,4BAA4B,GAAG;AAC/B8F,EAAAA,SAAS,EAAE,oBADoB;AAE/ByC,EAAAA,oBAAoB,EAAE,OAAO,EAFE,CAEC;;AAFD,CAAnC;AAIA,IAAIhS,uBAAuB;AAC3B,GAAC,UAAUA,uBAAV,EAAmC;AAChCA,IAAAA,uBAAuB,CAAC,QAAD,CAAvB,GAAoC,QAApC;AACAA,IAAAA,uBAAuB,CAAC,OAAD,CAAvB,GAAmC,OAAnC;AACAA,IAAAA,uBAAuB,CAAC,SAAD,CAAvB,GAAqC,SAArC;AACAA,IAAAA,uBAAuB,CAAC,kBAAD,CAAvB,GAA8C,kBAA9C;AACH,GALD,EAKGA,uBAAuB,KAAKA,uBAAuB,GAAG,EAA/B,CAL1B,CAD2B;;AAAA,SAAvBA,uBAAuB;AAAA,IAA3B;AAOA,IAAIqT,sBAAsB,GAAG;AACzBghB,EAAAA,cAAc,EAAE,CADS;AAEzB+D,EAAAA,oBAAoB,EAAE,EAFG;AAGzB7C,EAAAA,qBAAqB,EAAE,GAHE;AAIzBP,EAAAA,iBAAiB,EAAE,EAJM;AAKzBzlB,EAAAA,SAAS,EAAE,kBALc;AAMzB+kB,EAAAA,kBAAkB,EAAE,GANK;AAOzBN,EAAAA,eAAe,EAAE,GAPQ;AAQzBc,EAAAA,aAAa,EAAE,GARU;AASzBC,EAAAA,cAAc,EAAE,GATS;AAUzBE,EAAAA,aAAa,EAAE;AAVU,CAA7B;AAYA;AACA;AACA;;AACA,IAAIp+D,oBAAoB;AACxB,GAAC,UAAUA,oBAAV,EAAgC;AAC7BA,IAAAA,oBAAoB,CAAC,QAAD,CAApB,GAAiC,QAAjC;AACAA,IAAAA,oBAAoB,CAAC,KAAD,CAApB,GAA8B,KAA9B;AACAA,IAAAA,oBAAoB,CAAC,KAAD,CAApB,GAA8B,UAA9B;AACH,GAJD,EAIGA,oBAAoB,KAAKA,oBAAoB,GAAG,EAA5B,CAJvB,CADwB;;AAAA,SAApBA,oBAAoB;AAAA,IAAxB;;AAMA;AACA;AACA;AACA,IAAI88C,mBAAmB,GAAG;AACtB;AACA2U,EAAAA,6BAA6B,EAAE,EAFT;AAGtB;AACAC,EAAAA,iCAAiC,EAAE,IAJb;AAKtB;AACA3U,EAAAA,iBAAiB,EAAE,YANG;AAOtB;AACAmZ,EAAAA,yBAAyB,EAAE;AARL,CAA1B;AAUA,IAAI5S,MAAM,GAAG;AACT3jD,EAAAA,mBAAmB,EAAE,eADZ;AAETwkD,EAAAA,qBAAqB,EAAE;AAFd,CAAb;AAIA;AACA;AACA;;AACA,IAAI0N,sBAAsB;AAC1B,GAAC,UAAUA,sBAAV,EAAkC;AAC/BA,IAAAA,sBAAsB,CAAC,UAAD,CAAtB,GAAqC,UAArC;AACAA,IAAAA,sBAAsB,CAAC,UAAD,CAAtB,GAAqC,UAArC;AACH,GAHD,EAGGA,sBAAsB,KAAKA,sBAAsB,GAAG,EAA9B,CAHzB,CAD0B;;AAAA,SAAtBA,sBAAsB;AAAA,IAA1B;;AAKA;AACA;AACA;AACA,IAAIrgB,aAAa;AACjB,GAAC,UAAUA,aAAV,EAAyB;AACtBA,IAAAA,aAAa,CAACA,aAAa,CAAC,aAAD,CAAb,GAA+B,GAAhC,CAAb,GAAoD,aAApD;AACAA,IAAAA,aAAa,CAACA,aAAa,CAAC,gBAAD,CAAb,GAAkC,GAAnC,CAAb,GAAuD,gBAAvD;AACH,GAHD,EAGGA,aAAa,KAAKA,aAAa,GAAG,EAArB,CAHhB,CADiB;;AAAA,SAAbA,aAAa;AAAA,IAAjB;;AAKA;AACA;AACA;AACA,IAAID,sBAAsB;AAC1B,GAAC,UAAUA,sBAAV,EAAkC;AAC/BA,IAAAA,sBAAsB,CAAC,uBAAD,CAAtB,GAAkD,GAAlD;AACAA,IAAAA,sBAAsB,CAAC,gBAAD,CAAtB,GAA2C,GAA3C;AACAA,IAAAA,sBAAsB,CAAC,sBAAD,CAAtB,GAAiD,GAAjD;AACAA,IAAAA,sBAAsB,CAAC,MAAD,CAAtB,GAAiC,GAAjC;AACH,GALD,EAKGA,sBAAsB,KAAKA,sBAAsB,GAAG,EAA9B,CALzB,CAD0B;;AAAA,SAAtBA,sBAAsB;AAAA,IAA1B;;AAOA;AACA;AACA;AACA,IAAInI,uBAAuB;AAC3B,GAAC,UAAUA,uBAAV,EAAmC;AAChCA,IAAAA,uBAAuB,CAAC,6BAAD,CAAvB,GAAyD,GAAzD;AACAA,IAAAA,uBAAuB,CAAC,8BAAD,CAAvB,GAA0D,GAA1D;AACAA,IAAAA,uBAAuB,CAAC,yBAAD,CAAvB,GAAqD,GAArD;AACAA,IAAAA,uBAAuB,CAAC,qCAAD,CAAvB,GAAiE,GAAjE;AACAA,IAAAA,uBAAuB,CAAC,iCAAD,CAAvB,GAA6D,GAA7D;AACH,GAND,EAMGA,uBAAuB,KAAKA,uBAAuB,GAAG,EAA/B,CAN1B,CAD2B;;AAAA,SAAvBA,uBAAuB;AAAA,IAA3B;AAQA,IAAIyb,YAAY;AAChB,GAAC,UAAUA,YAAV,EAAwB;AACrBA,IAAAA,YAAY,CAAC,cAAD,CAAZ,GAA+B,GAA/B;AACAA,IAAAA,YAAY,CAAC,eAAD,CAAZ,GAAgC,GAAhC;AACAA,IAAAA,YAAY,CAAC,wBAAD,CAAZ,GAAyC,GAAzC;AACAA,IAAAA,YAAY,CAAC,6BAAD,CAAZ,GAA8C,GAA9C;AACAA,IAAAA,YAAY,CAAC,6BAAD,CAAZ,GAA8C,GAA9C;AACH,GAND,EAMGA,YAAY,KAAKA,YAAY,GAAG,EAApB,CANf,CADgB;;AAAA,SAAZA,YAAY;AAAA,IAAhB;AAQA,IAAI4B,SAAS;AACb,GAAC,UAAUA,SAAV,EAAqB;AAClBA,IAAAA,SAAS,CAAC,KAAD,CAAT,GAAmB,KAAnB;AACAA,IAAAA,SAAS,CAAC,KAAD,CAAT,GAAmB,KAAnB;AACH,GAHD,EAGGA,SAAS,KAAKA,SAAS,GAAG,EAAjB,CAHZ,CADa;;AAAA,SAATA,SAAS;AAAA,IAAb;AAKA,IAAI+a,aAAa,GAAG,QAApB;;;;;;;;;;;;;;;;;;;ACjYA;AACa;;AACb;AACA;AACA;AAEA;AACA;AACA;AACA;;AACA;AACA;AACA;;AACA,IAAI38D,aAAa;AAAG;AAAe,YAAY;AAC3C,WAASA,aAAT,GAAyB,CACxB;AACD;AACJ;AACA;AACA;AACA;;;AACIA,EAAAA,aAAa,CAAC45B,eAAd,GAAgC,UAAUjqB,SAAV,EAAqBitD,SAArB,EAAgCv8B,IAAhC,EAAsC;AAClE,QAAIp3B,YAAY,GAAGjJ,aAAa,CAAC68D,oBAAd,CAAmCltD,SAAnC,EAA8C0wB,IAA9C,CAAnB;AACA,WAAO,CAAC1iD,gEAAA,CAAoBi/E,SAApB,CAAD,GAAkC,KAAK3zD,YAAL,GAAoB5b,mEAApB,GAA+CuvE,SAAjF,GAA6F3zD,YAApG;AACH,GAHD;AAIA;AACJ;AACA;AACA;AACA;;;AACIjJ,EAAAA,aAAa,CAAC68D,oBAAd,GAAqC,UAAUltD,SAAV,EAAqB0wB,IAArB,EAA2B;AAC5D,QAAI,CAAC1wB,SAAL,EAAgB;AACZ,YAAMliB,gGAAA,CAA0C,sBAA1C,CAAN;AACH,KAH2D,CAI5D;;;AACA,QAAIqvE,QAAQ,GAAG;AACXpvG,MAAAA,EAAE,EAAEiiD,SAAS,CAAC7W,aAAV;AADO,KAAf;;AAGA,QAAIunC,IAAJ,EAAU;AACNy8B,MAAAA,QAAQ,CAACz8B,IAAT,GAAgBA,IAAhB;AACH;;AACD,QAAIt3B,WAAW,GAAG3pC,IAAI,CAACI,SAAL,CAAes9F,QAAf,CAAlB;AACA,WAAOntD,SAAS,CAACzE,YAAV,CAAuBnC,WAAvB,CAAP;AACH,GAbD;AAcA;AACJ;AACA;AACA;AACA;;;AACI/I,EAAAA,aAAa,CAACgJ,iBAAd,GAAkC,UAAU2G,SAAV,EAAqB3zC,KAArB,EAA4B;AAC1D,QAAI,CAAC2zC,SAAL,EAAgB;AACZ,YAAMliB,gGAAA,CAA0C,mBAA1C,CAAN;AACH;;AACD,QAAI9P,gEAAA,CAAoB3hB,KAApB,CAAJ,EAAgC;AAC5B,YAAMyxB,8FAAA,CAAwCzxB,KAAxC,EAA+C,gCAA/C,CAAN;AACH;;AACD,QAAI;AACA;AACA,UAAI+gG,UAAU,GAAG/gG,KAAK,CAACsD,KAAN,CAAY+tB,mEAAZ,CAAjB;AACA,UAAI4b,YAAY,GAAG8zD,UAAU,CAAC,CAAD,CAA7B;AACA,UAAIH,SAAS,GAAGG,UAAU,CAAC7vG,MAAX,GAAoB,CAApB,GAAwB6vG,UAAU,CAAC9D,KAAX,CAAiB,CAAjB,EAAoB3rG,IAApB,CAAyB+/B,mEAAzB,CAAxB,GAA6EA,iEAA7F;AACA,UAAI2vE,kBAAkB,GAAGrtD,SAAS,CAACpE,YAAV,CAAuBtC,YAAvB,CAAzB;AACA,UAAIg0D,eAAe,GAAG79F,IAAI,CAACC,KAAL,CAAW29F,kBAAX,CAAtB;AACA,aAAO;AACH3rC,QAAAA,gBAAgB,EAAE,CAAC1zC,gEAAA,CAAoBi/E,SAApB,CAAD,GAAkCA,SAAlC,GAA8CvvE,iEAD7D;AAEH4b,QAAAA,YAAY,EAAEg0D;AAFX,OAAP;AAIH,KAXD,CAYA,OAAO/xE,CAAP,EAAU;AACN,YAAMuC,8FAAA,CAAwCzxB,KAAxC,EAA+CkvB,CAA/C,CAAN;AACH;AACJ,GAtBD;;AAuBA,SAAO8U,aAAP;AACH,CA5DkC,EAAnC;;;;;;;;;;;;;;;;;;ACbA;AACa;;AACb;AAEA;AACA;AACA;AACA;;AACA;AACA;AACA;;AACA,IAAIriB,WAAW;AAAG;AAAe,YAAY;AACzC,WAASA,WAAT,GAAuB,CACtB;AACD;AACJ;AACA;AACA;AACA;;;AACIA,EAAAA,WAAW,CAACulD,eAAZ,GAA8B,UAAUg6B,SAAV,EAAqB;AAC/C,QAAIv/E,WAAW,CAACiZ,OAAZ,CAAoBsmE,SAApB,CAAJ,EAAoC;AAChC,YAAMzvE,kGAAA,CAA4CyvE,SAA5C,CAAN;AACH;;AACD,QAAIC,eAAe,GAAG,sCAAtB;AACA,QAAInyB,OAAO,GAAGmyB,eAAe,CAACC,IAAhB,CAAqBF,SAArB,CAAd;;AACA,QAAI,CAAClyB,OAAD,IAAYA,OAAO,CAAC99E,MAAR,GAAiB,CAAjC,EAAoC;AAChC,YAAMugC,8FAAA,CAAwC,+BAA+BruB,IAAI,CAACI,SAAL,CAAe09F,SAAf,CAAvE,CAAN;AACH;;AACD,QAAIG,YAAY,GAAG;AACfC,MAAAA,MAAM,EAAEtyB,OAAO,CAAC,CAAD,CADA;AAEf5H,MAAAA,UAAU,EAAE4H,OAAO,CAAC,CAAD,CAFJ;AAGfuyB,MAAAA,MAAM,EAAEvyB,OAAO,CAAC,CAAD;AAHA,KAAnB;AAKA,WAAOqyB,YAAP;AACH,GAfD;AAgBA;AACJ;AACA;AACA;AACA;;;AACI1/E,EAAAA,WAAW,CAACiZ,OAAZ,GAAsB,UAAU4mE,GAAV,EAAe;AACjC,WAAQ,OAAOA,GAAP,KAAe,WAAf,IAA8B,CAACA,GAA/B,IAAsC,MAAMA,GAAG,CAACtwG,MAAxD;AACH,GAFD;AAGA;AACJ;AACA;AACA;;;AACIywB,EAAAA,WAAW,CAACy+D,UAAZ,GAAyB,UAAUqhB,MAAV,EAAkB;AACvC,QAAIA,MAAM,IAAI,CAAC9/E,WAAW,CAACiZ,OAAZ,CAAoB6mE,MAApB,CAAf,EAA4C;AACxC,UAAI;AACA,YAAI/mF,GAAG,GAAGtX,IAAI,CAACC,KAAL,CAAWo+F,MAAX,CAAV;AACA,eAAO/6E,MAAM,CAACkD,IAAP,CAAYlP,GAAZ,EAAiBxpB,MAAjB,KAA4B,CAAnC;AACH,OAHD,CAIA,OAAOg+B,CAAP,EAAU,CAAG;AAChB;;AACD,WAAO,IAAP;AACH,GATD;;AAUAvN,EAAAA,WAAW,CAAC6E,UAAZ,GAAyB,UAAUg7E,GAAV,EAAeh8B,MAAf,EAAuB;AAC5C,WAAOg8B,GAAG,CAAC7kG,OAAJ,CAAY6oE,MAAZ,MAAwB,CAA/B;AACH,GAFD;;AAGA7jD,EAAAA,WAAW,CAAC28E,QAAZ,GAAuB,UAAUkD,GAAV,EAAeh8B,MAAf,EAAuB;AAC1C,WAAQg8B,GAAG,CAACtwG,MAAJ,IAAcs0E,MAAM,CAACt0E,MAAtB,IAAkCswG,GAAG,CAACn5E,WAAJ,CAAgBm9C,MAAhB,MAA6Bg8B,GAAG,CAACtwG,MAAJ,GAAas0E,MAAM,CAACt0E,MAA1F;AACH,GAFD;AAGA;AACJ;AACA;AACA;AACA;;;AACIywB,EAAAA,WAAW,CAAC89E,mBAAZ,GAAkC,UAAUxkG,KAAV,EAAiB;AAC/C,QAAIyf,GAAG,GAAG,EAAV;AACA,QAAIngB,MAAM,GAAGU,KAAK,CAACqI,KAAN,CAAY,GAAZ,CAAb;;AACA,QAAI05C,MAAM,GAAG,UAAUnuB,CAAV,EAAa;AAAE,aAAOmd,kBAAkB,CAACnd,CAAC,CAACjrB,OAAF,CAAU,KAAV,EAAiB,GAAjB,CAAD,CAAzB;AAAmD,KAA/E;;AACArJ,IAAAA,MAAM,CAAC6vB,OAAP,CAAe,UAAUs3E,IAAV,EAAgB;AAC3B,UAAIA,IAAI,CAACn/B,IAAL,EAAJ,EAAiB;AACb,YAAIjuC,EAAE,GAAGotE,IAAI,CAACp+F,KAAL,CAAW,QAAX,EAAqB,CAArB,CAAT;AAAA,YAAkC+mB,GAAG,GAAGiK,EAAE,CAAC,CAAD,CAA1C;AAAA,YAA+C7+B,KAAK,GAAG6+B,EAAE,CAAC,CAAD,CAAzD,CADa,CACiD;;;AAC9D,YAAIjK,GAAG,IAAI50B,KAAX,EAAkB;AACdilB,UAAAA,GAAG,CAACsiC,MAAM,CAAC3yB,GAAD,CAAP,CAAH,GAAmB2yB,MAAM,CAACvnD,KAAD,CAAzB;AACH;AACJ;AACJ,KAPD;AAQA,WAAOilB,GAAP;AACH,GAbD;AAcA;AACJ;AACA;AACA;AACA;;;AACIiH,EAAAA,WAAW,CAACq0E,gBAAZ,GAA+B,UAAU55F,GAAV,EAAe;AAC1C,WAAOA,GAAG,CAACrO,GAAJ,CAAQ,UAAU29B,KAAV,EAAiB;AAAE,aAAOA,KAAK,CAAC62C,IAAN,EAAP;AAAsB,KAAjD,CAAP;AACH,GAFD;AAGA;AACJ;AACA;AACA;;;AACI5gD,EAAAA,WAAW,CAACu0E,2BAAZ,GAA0C,UAAU95F,GAAV,EAAe;AACrD,WAAOA,GAAG,CAAClO,MAAJ,CAAW,UAAUw9B,KAAV,EAAiB;AAC/B,aAAO,CAAC/J,WAAW,CAACiZ,OAAZ,CAAoBlP,KAApB,CAAR;AACH,KAFM,CAAP;AAGH,GAJD;AAKA;AACJ;AACA;AACA;;;AACI/J,EAAAA,WAAW,CAACggF,eAAZ,GAA8B,UAAUH,GAAV,EAAe;AACzC,QAAI;AACA,aAAOp+F,IAAI,CAACC,KAAL,CAAWm+F,GAAX,CAAP;AACH,KAFD,CAGA,OAAOtyE,CAAP,EAAU;AACN,aAAO,IAAP;AACH;AACJ,GAPD;AAQA;AACJ;AACA;AACA;AACA;;;AACIvN,EAAAA,WAAW,CAAC4I,YAAZ,GAA2B,UAAUtU,OAAV,EAAmB6mC,KAAnB,EAA0B;AACjD;AACR;AACA;AACA;AACQ,QAAIpjC,KAAK,GAAG,IAAIC,MAAJ,CAAW1D,OAAO,CAACrS,OAAR,CAAgB,KAAhB,EAAuB,MAAvB,EAA+BA,OAA/B,CAAuC,KAAvC,EAA8C,OAA9C,EAAuDA,OAAvD,CAA+D,KAA/D,EAAsE,MAAtE,CAAX,CAAZ,CALiD,CAKsD;;AACvG,WAAO8V,KAAK,CAACE,IAAN,CAAWkjC,KAAX,CAAP;AACH,GAPD;;AAQA,SAAOn7B,WAAP;AACH,CAlHgC,EAAjC;;;;;;;;;;;;;;;;;ACXA;AACa;AACb;AACA;AACA;AACA;;AACA;AACA;AACA;;AACA,IAAIusC,SAAS;AAAG;AAAe,YAAY;AACvC,WAASA,SAAT,GAAqB,CACpB;AACD;AACJ;AACA;;;AACIA,EAAAA,SAAS,CAACa,UAAV,GAAuB,YAAY;AAC/B;AACA,WAAOtO,IAAI,CAACk6C,KAAL,CAAW,IAAIruD,IAAJ,GAAWE,OAAX,KAAuB,MAAlC,CAAP;AACH,GAHD;AAIA;AACJ;AACA;AACA;;;AACI0hB,EAAAA,SAAS,CAACo2B,cAAV,GAA2B,UAAUtuC,SAAV,EAAqB4rD,MAArB,EAA6B;AACpD;AACA,QAAIC,aAAa,GAAG7pF,MAAM,CAACg+B,SAAD,CAAN,IAAqB,CAAzC;AACA,QAAI8rD,oBAAoB,GAAG5zC,SAAS,CAACa,UAAV,KAAyB6yC,MAApD,CAHoD,CAIpD;;AACA,WAAQE,oBAAoB,GAAGD,aAA/B;AACH,GAND;AAOA;AACJ;AACA;AACA;AACA;AACA;;;AACI3zC,EAAAA,SAAS,CAACm2B,kBAAV,GAA+B,UAAUhM,QAAV,EAAoB;AAC/C,QAAI0pB,WAAW,GAAG/pF,MAAM,CAACqgE,QAAD,CAAxB;AACA,WAAO0pB,WAAW,GAAG7zC,SAAS,CAACa,UAAV,EAArB;AACH,GAHD;AAIA;AACJ;AACA;AACA;AACA;;;AACIb,EAAAA,SAAS,CAAC8zC,KAAV,GAAkB,UAAUz9E,CAAV,EAAa9uB,KAAb,EAAoB;AAClC,WAAO,IAAIs4B,OAAJ,CAAY,UAAUC,OAAV,EAAmB;AAAE,aAAOvqB,UAAU,CAAC,YAAY;AAAE,eAAOuqB,OAAO,CAACv4B,KAAD,CAAd;AAAwB,OAAvC,EAAyC8uB,CAAzC,CAAjB;AAA+D,KAAhG,CAAP;AACH,GAFD;;AAGA,SAAO2pC,SAAP;AACH,CAxC8B,EAA/B;;;;;;;;;;;;;;ACTA;AACA;AACA;AACA;;;;;;;;;;;;;;;;;;;;ACHA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAMm0C,WAAW,GAAG5xE,MAAM,CAAC,aAAD,CAA1B;AACA;AACA;AACA;AACA;AACA;AACA;;AACe,MAAM6xE,eAAN,SAA8BL,iDAA9B,CAAuC;AAClD;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACIj+G,EAAAA,WAAW,CAACu+G,OAAD,EAAUC,cAAc,GAAG,EAA3B,EAA+B;AACtC,UAAMA,cAAN;AACA;AACR;AACA;;AACQ,SAAKC,UAAL,GAAkB,IAAIjvE,GAAJ,EAAlB;AACA;AACR;AACA;;AACQ,SAAKkvE,QAAL,GAAgB,IAAhB;AACA;AACR;AACA;AACA;;AACQ,SAAKC,aAAL,GAAqB,IAAIvM,GAAJ,EAArB;AACA;AACR;AACA;;AACQ,SAAKwM,aAAL,GAAqB,IAAIC,YAAJ,EAArB;AACA,SAAKC,eAAL,GAAuBN,cAAvB,CAnBsC,CAoBtC;;AACA,SAAKO,QAAL,GAAgBC,aAAa,IAAIT,OAAO,CAACj1E,MAAR,CAAe01E,aAAf,CAAjC;;AACA,SAAKC,WAAL,GAAmBpuG,OAAO,IAAIA,OAAO,CAACquG,OAAR,EAA9B;;AACA,SAAKN,aAAL,CAAmBO,OAAnB,CAA2B,MAAM;AAC7B,UAAI,KAAKnjG,KAAL,KAAe,cAAnB,EAAmC;AAC/B,aAAKA,KAAL,GAAa,OAAb;;AACA,aAAKojG,KAAL,CAAW,aAAX;AACH;AACJ,KALD;AAMH;AACD;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;;;AACIC,EAAAA,UAAU,CAACC,OAAD,EAAU;AAChB,SAAKP,QAAL,GAAgBO,OAAhB;AACH;AACD;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACIC,EAAAA,aAAa,CAACC,UAAD,EAAa;AACtB,SAAKP,WAAL,GAAmBO,UAAnB;AACH;AACD;AACJ;AACA;AACA;;;AACe,MAAP3uG,OAAO,GAAG;AACV,WAAO,KAAK6tG,QAAZ;AACH;AACD;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACIp1E,EAAAA,MAAM,CAAC01E,aAAa,GAAG,EAAjB,EAAqB;AACvB,WAAO,KAAKJ,aAAL,CAAmBa,OAAnB,CAA2BpB,WAA3B,EAAwC,MAAM;AACjD,WAAKqB,cAAL,GAAsBV,aAAtB;AACA,aAAO,KAAKW,OAAL,EAAP;AACH,KAHM,CAAP;AAIH;AACD;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACIrhE,EAAAA,OAAO,CAAC74B,MAAD,EAAS;AACZ,UAAMm6F,QAAQ,GAAG,KAAKC,YAAL,CAAkBp6F,MAAlB,CAAjB;;AACA,WAAOm6F,QAAQ,CAACE,KAAhB;AACH;AACD;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACIC,EAAAA,YAAY,CAACt6F,MAAD,EAAS;AACjB,UAAMm6F,QAAQ,GAAG,KAAKC,YAAL,CAAkBp6F,MAAlB,CAAjB;;AACA,WAAOm6F,QAAQ,CAAC5jG,KAAhB;AACH;AACD;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACImZ,EAAAA,GAAG,CAAC6qF,qCAAD,EAAwC;AACvC,UAAMC,kBAAkB,GAAGC,OAAO,CAACF,qCAAD,CAAlC;AACA,WAAOj2E,OAAO,CAACqlD,GAAR,CAAY6wB,kBAAkB,CAACl2G,GAAnB,CAAuBgR,IAAI,IAAI;AAC9C,aAAO,KAAK6jG,aAAL,CAAmBa,OAAnB,CAA2B1kG,IAAI,CAACrN,EAAhC,EAAoC,MAAM;AAC7C,YAAI,KAAKsO,KAAL,KAAe,WAAnB,EAAgC;AAC5B,gBAAM,IAAI0xC,KAAJ,CAAU,yCAAV,CAAN;AACH;;AACD,YAAI,CAAC,KAAKgxD,QAAV,EAAoB;AAChB,gBAAM,IAAIhxD,KAAJ,CAAU,2FAAV,CAAN;AACH;;AACD,YAAIkyD,QAAJ;;AACA,YAAI,KAAKnB,UAAL,CAAgBpvD,GAAhB,CAAoBt0C,IAAI,CAACrN,EAAzB,CAAJ,EAAkC;AAC9B,gBAAM,IAAIggD,KAAJ,CAAW,6CAA4C3yC,IAAI,CAACrN,EAAG,IAA/D,CAAN;AACH;;AACD,YAAIqN,IAAI,CAACvD,IAAL,KAAc,QAAlB,EAA4B;AACxBooG,UAAAA,QAAQ,GAAG,IAAI1B,uDAAJ,CAAmB,IAAnB,EAAyB,KAAKY,eAA9B,CAAX;AACAc,UAAAA,QAAQ,CAACP,UAAT,CAAoBtkG,IAAI,CAACukG,OAAzB;;AACAM,UAAAA,QAAQ,CAACO,sBAAT,CAAgC,KAAKxB,aAArC;;AACA,cAAI5jG,IAAI,CAACykG,UAAT,EAAqB;AACjBI,YAAAA,QAAQ,CAACL,aAAT,CAAuBxkG,IAAI,CAACykG,UAA5B;AACH;;AACD,eAAKf,UAAL,CAAgBp5E,GAAhB,CAAoBtqB,IAAI,CAACrN,EAAzB,EAA6BkyG,QAA7B,EAPwB,CAQxB;AACA;;;AACAA,UAAAA,QAAQ,CAAC59F,EAAT,CAAY,OAAZ,EAAqB,CAACo+F,GAAD,EAAM;AAAExpG,YAAAA,KAAF;AAASypG,YAAAA;AAAT,WAAN,KAAmC;AACpD,iBAAKjB,KAAL,CAAW,WAAX,EAAwB;AAAE35F,cAAAA,MAAM,EAAE1K,IAAI,CAACrN,EAAf;AAAmBkJ,cAAAA;AAAnB,aAAxB,EADoD,CAEpD;;;AACA,gBAAI,CAACypG,aAAL,EAAoB;AAChB;AACH;;AACD,iBAAKzB,aAAL,CAAmBa,OAAnB,CAA2B1kG,IAAI,CAACrN,EAAhC,EAAoC,MAAM,IAAIq8B,OAAJ,CAAYra,GAAG,IAAI;AACzD,oBAAM4wF,uBAAuB,GAAG,MAAM;AAClCV,gBAAAA,QAAQ,CAACz5F,GAAT,CAAa,SAAb,EAAwBm6F,uBAAxB;;AACA,qBAAKlB,KAAL,CAAW,aAAX,EAA0B;AAAE35F,kBAAAA,MAAM,EAAE1K,IAAI,CAACrN;AAAf,iBAA1B;;AACAgiB,gBAAAA,GAAG;AACN,eAJD;;AAKAkwF,cAAAA,QAAQ,CAAC59F,EAAT,CAAY,SAAZ,EAAuBs+F,uBAAvB;AACH,aAPyC,CAA1C;AAQH,WAdD;AAeA,iBAAOV,QAAQ,CAACt2E,MAAT,CAAgBvuB,IAAI,CAACwlG,mBAArB,EAA0CxlG,IAAI,CAAC9a,MAA/C,EAAuD,KAAKy+G,QAA5D,CAAP;AACH,SA1BD,MA2BK;AACD,gBAAM,IAAIhxD,KAAJ,CAAW,6BAA4B3yC,IAAI,CAACvD,IAAK,IAAjD,CAAN;AACH;AACJ,OAzCM,CAAP;AA0CH,KA3CkB,CAAZ,CAAP;AA4CH;AACD;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACIgpG,EAAAA,MAAM,CAACC,eAAD,EAAkB;AACpB,UAAMC,OAAO,GAAGR,OAAO,CAACO,eAAD,CAAvB;AACA,WAAO12E,OAAO,CAACqlD,GAAR,CAAYsxB,OAAO,CAAC32G,GAAR,CAAY0b,MAAM,IAAI;AACrC,aAAO,KAAKm5F,aAAL,CAAmBa,OAAnB,CAA2Bh6F,MAA3B,EAAmC,MAAM;AAC5C,cAAMm6F,QAAQ,GAAG,KAAKC,YAAL,CAAkBp6F,MAAlB,CAAjB;;AACA,aAAKg5F,UAAL,CAAgBtpE,MAAhB,CAAuB1vB,MAAvB;;AACA,eAAOm6F,QAAQ,CAACV,OAAT,EAAP;AACH,OAJM,CAAP;AAKH,KANkB,CAAZ,CAAP;AAOH;AACD;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;;;AACIA,EAAAA,OAAO,GAAG;AACN,WAAO,KAAKN,aAAL,CAAmBa,OAAnB,CAA2BpB,WAA3B,EAAwC,MAAM;AACjD,WAAKriG,KAAL,GAAa,WAAb;;AACA,WAAKojG,KAAL,CAAW,aAAX;;AACA,YAAMF,OAAN;AACA,aAAO,KAAKyB,QAAL,EAAP;AACH,KALM,CAAP;AAMH;AACD;AACJ;AACA;;;AACIC,EAAAA,QAAQ,GAAG;AACP,WAAO,KAAKhC,aAAL,CAAmBa,OAAnB,CAA2BpB,WAA3B,EAAwC,MAAM;AACjD,WAAKriG,KAAL,GAAa,cAAb;;AACA,WAAKojG,KAAL,CAAW,aAAX;;AACA,aAAO,KAAKuB,QAAL,GACFlkF,KADE,CACIC,GAAG,IAAI;AACdr6B,QAAAA,OAAO,CAACuU,KAAR,CAAc,2DAAd,EAA2E8lB,GAA3E;AACH,OAHM,EAIF30B,IAJE,CAIG,MAAM,KAAK43G,OAAL,EAJT,EAKF53G,IALE,CAKG,MAAM,KAAKq3G,KAAL,CAAW,SAAX,CALT,CAAP;AAMH,KATM,CAAP;AAUH;AACD;AACJ;AACA;;;AACIO,EAAAA,OAAO,GAAG;AACN,WAAO51E,OAAO,CAACC,OAAR,GACFjiC,IADE,CACG,MAAM;AACZ,WAAK84G,mBAAL;;AACA,aAAO,KAAK9B,QAAL,CAAc,KAAKW,cAAnB,CAAP;AACH,KAJM,EAKF33G,IALE,CAKG8I,OAAO,IAAI;AACjB,WAAK6tG,QAAL,GAAgB7tG,OAAhB;AACA,WAAK8tG,aAAL,GAAqBP,8DAAW,CAAC,KAAKM,QAAN,CAAhC;AACA,aAAO30E,OAAO,CAACqlD,GAAR,CAAY1pD,KAAK,CAAC7H,IAAN,CAAW,KAAK4gF,UAAL,CAAgB78D,MAAhB,EAAX,EACd73C,GADc,CACV61G,QAAQ,IAAI;AACjBA,QAAAA,QAAQ,CAACO,sBAAT,CAAgC,KAAKxB,aAArC;;AACA,eAAOiB,QAAQ,CAACt2E,MAAT,CAAgBsJ,SAAhB,EAA2BA,SAA3B,EAAsC,KAAK8rE,QAA3C,CAAP;AACH,OAJkB,CAAZ,CAAP;AAKH,KAbM,CAAP;AAcH;AACD;AACJ;AACA;;;AACIiC,EAAAA,QAAQ,GAAG;AACP,WAAO52E,OAAO,CAACC,OAAR,GACFjiC,IADE,CACG,MAAM;AACZ,WAAK+4G,kBAAL;;AACA,YAAMjwG,OAAO,GAAG,KAAK6tG,QAArB;AACA,WAAKA,QAAL,GAAgB,IAAhB;AACA,WAAKC,aAAL,GAAqB,IAAIvM,GAAJ,EAArB;AACA,aAAOroE,OAAO,CAACqlD,GAAR,CAAY1pD,KAAK,CAAC7H,IAAN,CAAW,KAAK4gF,UAAL,CAAgB78D,MAAhB,EAAX,EACd73C,GADc,CACV61G,QAAQ,IAAIA,QAAQ,CAACV,OAAT,EADF,CAAZ,EAEH;AAFG,OAGFn3G,IAHE,CAGG,MAAM,KAAKk3G,WAAL,CAAiBpuG,OAAjB,CAHT,CAAP;AAIH,KAVM,CAAP;AAWH;AACD;AACJ;AACA;AACA;AACA;;;AACIgvG,EAAAA,YAAY,CAACp6F,MAAD,EAAS;AACjB,UAAMm6F,QAAQ,GAAG,KAAKnB,UAAL,CAAgBz9G,GAAhB,CAAoBykB,MAApB,CAAjB;;AACA,QAAI,CAACm6F,QAAL,EAAe;AACX,YAAM,IAAIlyD,KAAJ,CAAW,8CAA6CjoC,MAAO,GAA/D,CAAN;AACH;;AACD,WAAOm6F,QAAP;AACH;AACD;AACJ;AACA;AACA;AACA;;;AACImB,EAAAA,0BAA0B,CAACnqG,KAAD,EAAQ;AAC9B,SAAK,MAAMgpG,QAAX,IAAuB,KAAKnB,UAAL,CAAgB78D,MAAhB,EAAvB,EAAiD;AAC7C,UAAIg+D,QAAQ,CAACmB,0BAAT,CAAoCnqG,KAApC,CAAJ,EAAgD;AAC5C,eAAO,KAAP;AACH;AACJ;;AACD,WAAOunG,gFAA6B,CAAC,KAAKO,QAAN,EAAgB9nG,KAAK,CAAC/F,OAAtB,CAApC;AACH;;AAjViD;AAmVtD;AACA;AACA;;AACA,MAAMguG,YAAN,CAAmB;AACf7+G,EAAAA,WAAW,GAAG;AACV,SAAKghH,iBAAL,GAAyB,EAAzB;AACA,SAAKC,OAAL,GAAe,IAAIzxE,GAAJ,EAAf;AACA,SAAK0xE,cAAL,GAAsB,CAAtB;AACH;AACD;AACJ;AACA;AACA;AACA;;;AACI/B,EAAAA,OAAO,CAACgC,eAAD,EAAkB;AACrB,SAAKH,iBAAL,CAAuBx6E,IAAvB,CAA4B26E,eAA5B;AACH;AACD;AACJ;AACA;AACA;AACA;AACA;;;AACI1B,EAAAA,OAAO,CAAC2B,OAAD,EAAU7pG,MAAV,EAAkB;AACrB,UAAM8pG,YAAY,GAAGD,OAAO,KAAK/C,WAAjC;AACA,SAAK6C,cAAL;;AACA,QAAI,CAAC,KAAKD,OAAL,CAAajgH,GAAb,CAAiBogH,OAAjB,CAAL,EAAgC;AAC5B,WAAKH,OAAL,CAAa57E,GAAb,CAAiB+7E,OAAjB,EAA0Br3E,OAAO,CAACC,OAAR,EAA1B;AACH,KALoB,CAMrB;AACA;AACA;;;AACA,UAAMs3E,cAAc,GAAGD,YAAY,GAC/Bt3E,OAAO,CAACqlD,GAAR,CAAY,KAAK6xB,OAAL,CAAar/D,MAAb,EAAZ,CAD+B,GAE/B7X,OAAO,CAACqlD,GAAR,CAAY,CAAC,KAAK6xB,OAAL,CAAajgH,GAAb,CAAiBq9G,WAAjB,CAAD,EAAgC,KAAK4C,OAAL,CAAajgH,GAAb,CAAiBogH,OAAjB,CAAhC,CAAZ,CAFJ;AAGA,UAAMG,eAAe,GAAGD,cAAc,CAACv5G,IAAf,CAAoBwP,MAApB,CAAxB,CAZqB,CAarB;;AACA,UAAMiqG,aAAa,GAAGD,eAAe,CAAC9kF,KAAhB,CAAsB,MAAM,CAAG,CAA/B,CAAtB;;AACA,SAAKwkF,OAAL,CAAa57E,GAAb,CAAiB+7E,OAAjB,EAA0BI,aAA1B;;AACA,WAAOD,eAAe,CAACrvC,OAAhB,CAAwB,MAAM;AACjC,WAAKgvC,cAAL;;AACA,UAAI,KAAKD,OAAL,CAAajgH,GAAb,CAAiBogH,OAAjB,MAA8BI,aAA9B,IAA+C,KAAKN,cAAL,KAAwB,CAA3E,EAA8E;AAC1E,aAAKF,iBAAL,CAAuB56E,OAAvB,CAA+Bq7E,EAAE,IAAIA,EAAE,EAAvC;AACH;AACJ,KALM,CAAP;AAMH;;AA1Cc;AA4CnB;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASvB,OAAT,CAAiBwB,cAAjB,EAAiC;AAC7B,SAAOh8E,KAAK,CAACi8E,OAAN,CAAcD,cAAd,IAAgCA,cAAhC,GAAiD,CAACA,cAAD,CAAxD;AACH;;;;;;;;;;;;;;;;;;;;ACzZD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACe,MAAMxD,cAAN,SAA6BD,iDAA7B,CAAsC;AACjD;AACJ;AACA;AACA;AACIj+G,EAAAA,WAAW,CAAC+hH,MAAD,EAASvD,cAAc,GAAG,EAA1B,EAA8B;AACrC,UAAMA,cAAN;AACA;AACR;AACA;;AACQ,SAAKwD,OAAL,GAAe,IAAf;AACA;AACR;AACA;;AACQ,SAAKC,cAAL,GAAsB,IAAtB;AACA;AACR;AACA;;AACQ,SAAKC,UAAL,GAAkB,EAAlB,CAbqC,CAcrC;;AACA,SAAKC,cAAL,GAAsBP,qDAAQ,CAAC,KAAKQ,KAAL,CAAW9sF,IAAX,CAAgB,IAAhB,CAAD,EAAwB,OAAOkpF,cAAc,CAAC6D,YAAtB,KAAuC,QAAvC,GAAkD7D,cAAc,CAAC6D,YAAjE,GAAgF,IAAxG,CAA9B,CAfqC,CAgBrC;;AACA,QAAIN,MAAJ,EAAY;AACR,WAAKhD,QAAL,GAAiB,CAACuD,aAAD,EAAgBriH,MAAhB,KAA2B8hH,MAAM,CAACz4E,MAAP,CAAcg5E,aAAd,EAA6BriH,MAA7B,CAA5C;AACH;;AACD,SAAKg/G,WAAL,GAAmBsD,MAAM,IAAIA,MAAM,CAACrD,OAAP,EAA7B;AACH;AACD;AACJ;AACA;;;AACc,MAANqD,MAAM,GAAG;AACT,WAAO,KAAKP,OAAZ;AACH;AACD;AACJ;AACA;;;AACa,MAALlC,KAAK,GAAG;AACR,WAAO,KAAKkC,OAAZ;AACH;AACD;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;;;AACI3C,EAAAA,UAAU,CAACC,OAAD,EAAU;AAChB,SAAKP,QAAL,GAAgBO,OAAhB;AACH;AACD;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACIC,EAAAA,aAAa,CAACC,UAAD,EAAa;AACtB,SAAKP,WAAL,GAAmBO,UAAnB;AACH;AACD;AACJ;AACA;AACA;AACA;AACA;;;AACIoB,EAAAA,QAAQ,GAAG;AACP,WAAO72E,OAAO,CAACC,OAAR,GACFjiC,IADE,CACG,MAAM;AACZ,WAAKiU,KAAL,GAAa,cAAb;;AACA,WAAKojG,KAAL,CAAW,aAAX;;AACA,aAAO,KAAKuB,QAAL,EAAP;AACH,KALM,EAMFlkF,KANE,CAMIC,GAAG,IAAI;AACdr6B,MAAAA,OAAO,CAACuU,KAAR,CAAc,iDAAd,EAAiE8lB,GAAjE;AACH,KARM,EASF30B,IATE,CASG,MAAM;AACZ;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAMy6G,aAAa,GAAG,EAAtB,CARY,CASZ;;AACA,YAAMC,SAAS,GAAG,EAAlB,CAVY,CAWZ;;AACA,YAAMC,kBAAkB,GAAG,KAAKC,OAAL,CAAaC,eAAb,IAAgC,EAA3D,CAZY,CAaZ;;AACA,YAAMA,eAAe,GAAG,EAAxB,CAdY,CAeZ;;AACA,WAAK,MAAM,CAACC,QAAD,EAAWC,QAAX,CAAX,IAAmCpgF,MAAM,CAACqgF,OAAP,CAAe,KAAKC,KAAL,CAAWC,KAA1B,CAAnC,EAAqE;AACjE,YAAIH,QAAQ,CAACI,QAAb,EAAuB;AACnBV,UAAAA,aAAa,CAACK,QAAD,CAAb,GAA0B,EAA1B;AACAD,UAAAA,eAAe,CAACC,QAAD,CAAf,GAA4BH,kBAAkB,CAACG,QAAD,CAAlB,IAAgC,EAA5D;AACH,SAHD,MAIK;AACDJ,UAAAA,SAAS,CAACj8E,IAAV,CAAeq8E,QAAf;AACH;AACJ;;AACD,YAAMM,aAAa,GAAG,EAClB,GAAG,KAAKR,OADU;AAElBS,QAAAA,YAAY,EAAE,KAAKT,OAAL,CAAaS,YAAb,IAA6B,EAFzB;AAGlBX,QAAAA,SAHkB;AAIlBG,QAAAA,eAJkB;AAKlBS,QAAAA,oBAAoB,EAAE,KAAKL;AALT,OAAtB,CAzBY,CAgCZ;AACA;;AACA,aAAOG,aAAa,CAACG,WAArB;AACAH,MAAAA,aAAa,CAACC,YAAd,CAA2B58E,IAA3B,CAAgC+8E,wBAAhC;;AACA,UAAI,KAAKtB,cAAT,EAAyB;AACrB,eAAO,KAAK34E,MAAL,CAAYk5E,aAAZ,EAA2BW,aAA3B,EAA0CA,aAAa,CAACtyG,OAAxD,CAAP;AACH,OAFD,MAGK;AACD;AACA;AACA;AACA;AACA;AACA,YAAIixG,qDAAS,CAAC,KAAK0B,cAAN,CAAb,EAAoC;AAChC,iBAAO,KAAKl6E,MAAL,CAAY,KAAKk6E,cAAjB,EAAiCL,aAAjC,EAAgDA,aAAa,CAACtyG,OAA9D,CAAP;AACH,SAFD,MAGK;AACD,iBAAO,KAAKy4B,MAAL,CAAY,KAAK44E,UAAjB,EAA6BiB,aAA7B,EAA4CA,aAAa,CAACtyG,OAA1D,CAAP;AACH;AACJ;AACJ,KA7DM,EA8DF9I,IA9DE,CA8DG,MAAM;AACZ,WAAKq3G,KAAL,CAAW,SAAX;AACH,KAhEM,CAAP;AAiEH;AACD;AACJ;AACA;AACA;AACA;AACA;AACA;;;AACI91E,EAAAA,MAAM,CAACg5E,aAAa,GAAG,KAAKkB,cAAtB,EAAsCvjH,MAAM,GAAG,KAAK0iH,OAApD,EAA6D9xG,OAA7D,EAAsE;AACxE,WAAOk5B,OAAO,CAACC,OAAR,GACFjiC,IADE,CACG,MAAM;AACZ,YAAM84G,mBAAN;;AACA,WAAK2C,cAAL,GAAsBlB,aAAtB,CAFY,CAGZ;AACA;;AACA,WAAKL,cAAL,GAAsB,OAAOK,aAAP,IAAwB,QAAxB,IACjB5/E,MAAM,CAACkD,IAAP,CAAY08E,aAAZ,EAA2Bp1G,MAA3B,GAAoC,CAApC,IAAyC,OAAOw1B,MAAM,CAACkf,MAAP,CAAc0gE,aAAd,EAA6B,CAA7B,CAAP,IAA0C,QADxF,CALY,CAOZ;AACA;;AACA,WAAKK,OAAL,GAAe,KAAKc,yBAAL,CAA+BxjH,MAA/B,KAA0C,EAAzD;AACA,WAAK0iH,OAAL,CAAa9xG,OAAb,GAAuBA,OAAvB;AACA,aAAO,KAAKkuG,QAAL,CAAcuD,aAAd,EAA6B,KAAKK,OAAlC,CAAP;AACH,KAbM,EAcF56G,IAdE,CAcGw6G,MAAM,IAAI;AAChB,WAAKP,OAAL,GAAeO,MAAf;AACAA,MAAAA,MAAM,CAACzlG,KAAP,CAAamlB,QAAb,CAAsBjgB,EAAtB,CAAyB,aAAzB,EAAwC,KAAKmgG,cAA7C;AACA,WAAKuB,oBAAL,GAA4BnB,MAAM,CAACzlG,KAAP,CAAamlB,QAAb,CAAsB9gC,OAAlD;AACA,WAAK6hH,KAAL,GAAa,KAAKW,QAAL,EAAb;;AACA,UAAI,CAAC,KAAK1B,cAAV,EAA0B;AACtB,aAAKC,UAAL,GAAkB,KAAK0B,aAAL,EAAlB;AACH;;AACD,WAAK5nG,KAAL,GAAa,OAAb;;AACA,WAAKojG,KAAL,CAAW,aAAX;AACH,KAxBM,CAAP;AAyBH;AACD;AACJ;AACA;AACA;AACA;;;AACIF,EAAAA,OAAO,GAAG;AACN,WAAOn1E,OAAO,CAACC,OAAR,GACFjiC,IADE,CACG,MAAM;AACZ,WAAKiU,KAAL,GAAa,WAAb;;AACA,WAAKojG,KAAL,CAAW,aAAX;;AACA,YAAMF,OAAN;AACA,aAAO,KAAKyB,QAAL,EAAP;AACH,KANM,CAAP;AAOH;;AACDA,EAAAA,QAAQ,GAAG;AACP,WAAO52E,OAAO,CAACC,OAAR,GACFjiC,IADE,CACG,MAAM;AACZ,WAAK+4G,kBAAL;;AACA,WAAKqB,cAAL,CAAoB0B,MAApB;;AACA,YAAMtB,MAAM,GAAG,KAAKP,OAApB;AACA,WAAKA,OAAL,GAAe,IAAf,CAJY,CAKZ;AACA;AACA;;AACAO,MAAAA,MAAM,CAACzlG,KAAP,CAAamlB,QAAb,CAAsB9b,GAAtB,CAA0B,aAA1B,EAAyC,KAAKg8F,cAA9C;AACA,aAAO,KAAKlD,WAAL,CAAiBsD,MAAjB,CAAP;AACH,KAXM,CAAP;AAYH;AACD;AACJ;AACA;AACA;;;AACIH,EAAAA,KAAK,GAAG;AACJ,UAAMjhH,OAAO,GAAG,KAAK6gH,OAAL,CAAallG,KAAb,CAAmBmlB,QAAnB,CAA4B9gC,OAA5C;;AACA,QAAI;AACA,WAAK6hH,KAAL,GAAa,KAAKW,QAAL,EAAb;;AACA,UAAI,CAAC,KAAK1B,cAAV,EAA0B;AACtB,aAAKC,UAAL,GAAkB,KAAK0B,aAAL,EAAlB;AACH;;AACD,WAAKF,oBAAL,GAA4BviH,OAA5B;AACH,KAND,CAOA,OAAOu7B,GAAP,EAAY;AACRr6B,MAAAA,OAAO,CAACuU,KAAR,CAAc8lB,GAAd,EAAmB,qDACf,yDADJ;AAEH;AACJ;AACD;AACJ;AACA;;;AACIyjF,EAAAA,sBAAsB,CAAChpF,KAAD,EAAQ;AAC1B,SAAK2sF,cAAL,GAAsB3sF,KAAtB;AACH;AACD;AACJ;AACA;;;AACIwsF,EAAAA,QAAQ,GAAG;AACP,UAAMpB,MAAM,GAAG,KAAKP,OAApB;AACA,UAAMiB,KAAK,GAAGV,MAAM,CAACzlG,KAAP,CAAamlB,QAAb,CAAsBghF,KAAtB,CAA4B/4G,MAA5B,CAAmC65B,IAAI,IAAIA,IAAI,CAACggF,UAAL,MAAqBhgF,IAAI,CAAC8+E,QAAL,IAAiB,YAAjF,CAAd;AACA,UAAM;AAAEmB,MAAAA;AAAF,QAAczB,MAApB,CAHO,CAIP;;AACA,UAAM0B,kBAAkB,GAAGD,OAAO,CAAC30D,GAAR,CAAY,oBAAZ,KAAqC20D,OAAO,CAAChjH,GAAR,CAAY,oBAAZ,CAAhE;AACA,UAAMkjH,YAAY,GAAGF,OAAO,CAAC30D,GAAR,CAAY,cAAZ,KAA+B20D,OAAO,CAAChjH,GAAR,CAAY,cAAZ,CAApD;AACA,UAAMkH,IAAI,GAAG;AACT+6G,MAAAA,KAAK,EAAE,EADE;AAETkB,MAAAA,OAAO,EAAE,EAFA;AAGTC,MAAAA,cAAc,EAAEhlG,IAAI,CAACI,SAAL,CAAe,EAAf,CAHP;AAIT6kG,MAAAA,WAAW,EAAEjlG,IAAI,CAACI,SAAL,CAAe,EAAf;AAJJ,KAAb;AAMAyjG,IAAAA,KAAK,CAAC78E,OAAN,CAAcrC,IAAI,IAAI;AAClB77B,MAAAA,IAAI,CAAC+6G,KAAL,CAAWl/E,IAAI,CAAC8+E,QAAhB,IAA4B;AACxByB,QAAAA,OAAO,EAAEllG,IAAI,CAACI,SAAL,CAAekmB,KAAK,CAAC7H,IAAN,CAAWkG,IAAI,CAACwgF,WAAL,EAAX,CAAf,CADe;AAExBC,QAAAA,UAAU,EAAEplG,IAAI,CAACI,SAAL,CAAekmB,KAAK,CAAC7H,IAAN,CAAWkG,IAAI,CAAC0gF,aAAL,EAAX,CAAf,CAFY;AAGxBvB,QAAAA,QAAQ,EAAEn/E,IAAI,CAAC2gF;AAHS,OAA5B;AAKH,KAND;;AAOA,SAAK,MAAMC,MAAX,IAAqBpC,MAAM,CAACzlG,KAAP,CAAaqnG,OAAlC,EAA2C;AACvC,UAAI,CAACQ,MAAM,CAACC,YAAZ,EAA0B;AACtB;AACH;;AACD18G,MAAAA,IAAI,CAACi8G,OAAL,CAAaQ,MAAM,CAAC5zG,IAApB,IAA4B;AACxB8zG,QAAAA,SAAS,EAAEF,MAAM,CAACG,QAAP,GAAkBC,MAAlB,EADa;AAExBC,QAAAA,cAAc,EAAEL,MAAM,CAACM,uBAFC;AAGxBC,QAAAA,WAAW,EAAEP,MAAM,CAACC;AAHI,OAA5B;AAKH;;AACD,QAAIX,kBAAJ,EAAwB;AACpB/7G,MAAAA,IAAI,CAACk8G,cAAL,GAAsBhlG,IAAI,CAACI,SAAL,CAAeykG,kBAAkB,CAACkB,iBAAnB,CAAqC;AAAEJ,QAAAA,MAAM,EAAE,IAAV;AAAgBK,QAAAA,eAAe,EAAE;AAAjC,OAArC,CAAf,CAAtB;AACH;;AACD,QAAIlB,YAAJ,EAAkB;AACdh8G,MAAAA,IAAI,CAACm8G,WAAL,GAAmBjlG,IAAI,CAACI,SAAL,CAAe0kG,YAAY,CAACmB,cAAb,CAA4B;AAAEN,QAAAA,MAAM,EAAE,IAAV;AAAgBK,QAAAA,eAAe,EAAE;AAAjC,OAA5B,CAAf,CAAnB;AACH;;AACD,WAAOl9G,IAAP;AACH;AACD;AACJ;AACA;;;AACI07G,EAAAA,aAAa,GAAG;AACZ,UAAM0B,SAAS,GAAG,EAAlB;;AACA,SAAK,MAAMzC,QAAX,IAAuB,KAAKN,MAAL,CAAYzlG,KAAZ,CAAkBmlB,QAAlB,CAA2BsjF,YAA3B,EAAvB,EAAkE;AAC9D,YAAMC,QAAQ,GAAG,KAAKjD,MAAL,CAAYkD,EAAZ,CAAeC,kBAAf,CAAkC7C,QAAlC,CAAjB;;AACA,UAAI2C,QAAJ,EAAc;AACVF,QAAAA,SAAS,CAACzC,QAAD,CAAT,GAAsB2C,QAAtB;AACH;AACJ;;AACD,WAAOF,SAAP;AACH;AACD;AACJ;AACA;AACA;AACA;AACA;;;AACIvE,EAAAA,0BAA0B,CAACnqG,KAAD,EAAQ;AAC9B,WAAOunG,gFAA6B,CAAC,KAAK6D,OAAN,EAAeprG,KAAK,CAAC/F,OAArB,EAA8B,KAAKizG,cAAnC,CAApC;AACH;AACD;AACJ;AACA;;;AACIL,EAAAA,yBAAyB,CAACxjH,MAAD,EAAS;AAC9B,WAAO4hH,qDAAa,CAAC5hH,MAAD,EAAS,CAACwR,KAAD,EAAQ40B,GAAR,KAAgB;AACzC;AACA,UAAIy7E,qDAAS,CAACrwG,KAAD,CAAb,EAAsB;AAClB,eAAOA,KAAP;AACH;;AACD,UAAI40B,GAAG,KAAK,SAAZ,EAAuB;AACnB,eAAO50B,KAAP;AACH;AACJ,KARmB,CAApB;AASH;;AAjTgD;AAmTrD;AACA;AACA;AACA;;AACA,MAAM8xG,wBAAN,CAA+B;AAC3BvjH,EAAAA,WAAW,CAACuiH,MAAD,EAAS;AAChB,SAAKA,MAAL,GAAcA,MAAd;AACA,SAAKS,KAAL,GAAaT,MAAM,CAACtiH,MAAP,CAAce,GAAd,CAAkB,sBAAlB,CAAb;AACH;AACD;AACJ;AACA;;;AACIc,EAAAA,IAAI,GAAG;AACH;AACA;AACA;AACA,SAAKygH,MAAL,CAAYr6G,IAAZ,CAAiB8Z,EAAjB,CAAoB,MAApB,EAA4Bo+F,GAAG,IAAI;AAC/BA,MAAAA,GAAG,CAACuF,IAAJ;AACA,WAAKpD,MAAL,CAAYzlG,KAAZ,CAAkB8oG,aAAlB,CAAgC;AAAEC,QAAAA,UAAU,EAAE;AAAd,OAAhC,EAAuDC,MAAM,IAAI;AAC7D,aAAKC,yBAAL;;AACA,aAAKC,kBAAL,CAAwBF,MAAxB;AACH,OAHD;AAIA,WAAKvD,MAAL,CAAYr6G,IAAZ,CAAiB+9G,IAAjB,CAAsB,OAAtB,EAN+B,CAO/B;AACH,KARD,EAQG;AAAEC,MAAAA,QAAQ,EAAE,OAAO;AAAnB,KARH;AASH;AACD;AACJ;AACA;;;AACIC,EAAAA,WAAW,CAACL,MAAD,EAASM,QAAT,EAAmB;AAC1B,QAAI,UAAUA,QAAd,EAAwB;AACpB;AACA,YAAM78F,OAAO,GAAGu8F,MAAM,CAAC1+E,aAAP,CAAqBg/E,QAAQ,CAACr1G,IAA9B,EAAoCq1G,QAAQ,CAAC5B,UAA7C,CAAhB;;AACA,UAAI4B,QAAQ,CAACv+G,QAAb,EAAuB;AACnB,aAAK,MAAMw+G,KAAX,IAAoBD,QAAQ,CAACv+G,QAA7B,EAAuC;AACnC0hB,UAAAA,OAAO,CAAC+8F,YAAR,CAAqB,KAAKH,WAAL,CAAiBL,MAAjB,EAAyBO,KAAzB,CAArB;AACH;AACJ;;AACD,aAAO98F,OAAP;AACH,KATD,MAUK;AACD;AACA,aAAOu8F,MAAM,CAACS,UAAP,CAAkBH,QAAQ,CAACl+G,IAA3B,EAAiCk+G,QAAQ,CAAC5B,UAA1C,CAAP;AACH;AACJ;AACD;AACJ;AACA;;;AACIwB,EAAAA,kBAAkB,CAACF,MAAD,EAAS;AACvB,UAAMvD,MAAM,GAAG,KAAKA,MAApB;AACA7/E,IAAAA,MAAM,CAACqgF,OAAP,CAAe,KAAKC,KAAL,CAAWC,KAA1B,EAAiC78E,OAAjC,CAAyC,CAAC,CAACy8E,QAAD,EAAW;AAAEyB,MAAAA,OAAF;AAAWE,MAAAA;AAAX,KAAX,CAAD,KAAyC;AAC9E,YAAMgC,WAAW,GAAGpnG,IAAI,CAACC,KAAL,CAAWilG,OAAX,CAApB;AACA,YAAMmC,gBAAgB,GAAGrnG,IAAI,CAACC,KAAL,CAAWmlG,UAAX,CAAzB;AACA,YAAMkC,WAAW,GAAGnE,MAAM,CAACzlG,KAAP,CAAamlB,QAAb,CAAsB0kF,OAAtB,CAA8B9D,QAA9B,CAApB;;AACA,WAAK,MAAM,CAACx8E,GAAD,EAAM50B,KAAN,CAAX,IAA2Bg1G,gBAA3B,EAA6C;AACzCX,QAAAA,MAAM,CAAC7pC,YAAP,CAAoB51C,GAApB,EAAyB50B,KAAzB,EAAgCi1G,WAAhC;AACH;;AACD,WAAK,MAAML,KAAX,IAAoBG,WAApB,EAAiC;AAC7B,cAAMI,IAAI,GAAG,KAAKT,WAAL,CAAiBL,MAAjB,EAAyBO,KAAzB,CAAb;;AACAP,QAAAA,MAAM,CAACe,MAAP,CAAcD,IAAd,EAAoBF,WAApB,EAAiC,KAAjC;AACH;AACJ,KAXD;AAYAhkF,IAAAA,MAAM,CAACqgF,OAAP,CAAe,KAAKC,KAAL,CAAWmB,OAA1B,EAAmC/9E,OAAnC,CAA2C,CAAC,CAAC0gF,UAAD,EAAaC,aAAb,CAAD,KAAiC;AACxE,YAAM;AAAE9kF,QAAAA;AAAF,UAAesgF,MAAM,CAACzlG,KAA5B;AACA,YAAM;AAAE+nG,QAAAA,SAAS,EAAE;AAAEmC,UAAAA,KAAF;AAASC,UAAAA;AAAT,SAAb;AAA6B,WAAGh5F;AAAhC,UAA4C84F,aAAlD;AACA,YAAMhjF,IAAI,GAAG9B,QAAQ,CAAC0kF,OAAT,CAAiBK,KAAK,CAACjjF,IAAvB,CAAb;AACA,YAAMmjF,aAAa,GAAGpB,MAAM,CAACqB,sBAAP,CAA8BpjF,IAA9B,EAAoCijF,KAAK,CAACz/G,IAA1C,EAAgDy/G,KAAK,CAACI,UAAtD,CAAtB;AACA,YAAMC,WAAW,GAAGvB,MAAM,CAACqB,sBAAP,CAA8BpjF,IAA9B,EAAoCkjF,GAAG,CAAC1/G,IAAxC,EAA8C0/G,GAAG,CAACG,UAAlD,CAApB;AACA,YAAME,KAAK,GAAGxB,MAAM,CAACyB,WAAP,CAAmBL,aAAnB,EAAkCG,WAAlC,CAAd;AACAvB,MAAAA,MAAM,CAAC0B,SAAP,CAAiBV,UAAjB,EAA6B;AACzBQ,QAAAA,KADyB;AAEzB,WAAGr5F;AAFsB,OAA7B;AAIH,KAXD;AAYH;AACD;AACJ;AACA;;;AACI83F,EAAAA,yBAAyB,GAAG;AACxB;AACA,UAAM0B,oBAAoB,GAAGroG,IAAI,CAACC,KAAL,CAAW,KAAK2jG,KAAL,CAAWoB,cAAtB,CAA7B;AACA,UAAMsD,iBAAiB,GAAGtoG,IAAI,CAACC,KAAL,CAAW,KAAK2jG,KAAL,CAAWqB,WAAtB,CAA1B;AACAoD,IAAAA,oBAAoB,CAACrhF,OAArB,CAA6BuhF,iBAAiB,IAAI;AAC9C,YAAMC,SAAS,GAAG,KAAKrF,MAAL,CAAYtiH,MAAZ,CAAmBe,GAAnB,CAAuB,yBAAvB,CAAlB;AACA,YAAMijH,kBAAkB,GAAG,KAAK1B,MAAL,CAAYyB,OAAZ,CAAoBhjH,GAApB,CAAwB,oBAAxB,CAA3B;;AACA,UAAIijH,kBAAkB,CAAC4D,gBAAnB,CAAoCF,iBAAiB,CAACG,QAAtD,CAAJ,EAAqE;AACjE,cAAMC,aAAa,GAAG9D,kBAAkB,CAAC+D,gBAAnB,CAAoCL,iBAAiB,CAACG,QAAtD,CAAtB;AACAC,QAAAA,aAAa,CAACvH,MAAd;AACH;;AACDyD,MAAAA,kBAAkB,CAACgE,gBAAnB,CAAoC;AAAEL,QAAAA,SAAF;AAAa,WAAGD;AAAhB,OAApC;AACH,KARD;AASAD,IAAAA,iBAAiB,CAACthF,OAAlB,CAA0B8hF,cAAc,IAAI;AACxC,YAAMC,mBAAmB,GAAG,KAAK5F,MAAL,CAAYyB,OAAZ,CAAoBhjH,GAApB,CAAwB,qBAAxB,CAA5B;;AACA,UAAImnH,mBAAmB,CAACC,aAApB,CAAkCF,cAAc,CAACx6G,EAAjD,CAAJ,EAA0D;AACtD,cAAM26G,UAAU,GAAGF,mBAAmB,CAACG,aAApB,CAAkCJ,cAAc,CAACx6G,EAAjD,CAAnB;AACA26G,QAAAA,UAAU,CAAC7D,UAAX,GAAwB0D,cAAc,CAAC1D,UAAvC;AACH,OAHD,MAIK;AACD2D,QAAAA,mBAAmB,CAACI,iBAApB,CAAsCL,cAAtC;AACH;AACJ,KATD;AAUH;;AAjG0B;;;;;;;;;;;;;;;;;;;;;ACpU/B;AACA;AACA;AACA;;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;;;ACTA;AACA;AACA;AACA;;AACA;AACA;AACA;;AACA;AACA;AACA;AACA;AACA;;AACe,SAAS/J,6BAAT,CAAuCsK,OAAvC,EAAgDC,OAAhD,EAAyDC,aAAa,GAAG,IAAIvW,GAAJ,EAAzE,EAAoF;AAC/F,MAAIqW,OAAO,KAAKC,OAAZ,IAAuBE,QAAQ,CAACH,OAAD,CAAnC,EAA8C;AAC1C,WAAO,IAAP;AACH,GAH8F,CAI/F;;;AACA,QAAMI,SAAS,GAAGzK,wDAAW,CAACqK,OAAD,EAAUE,aAAV,CAA7B;AACA,QAAMG,SAAS,GAAG1K,wDAAW,CAACsK,OAAD,EAAUC,aAAV,CAA7B;;AACA,OAAK,MAAM/B,IAAX,IAAmBiC,SAAnB,EAA8B;AAC1B,QAAIC,SAAS,CAACz5D,GAAV,CAAcu3D,IAAd,CAAJ,EAAyB;AACrB,aAAO,IAAP;AACH;AACJ;;AACD,SAAO,KAAP;AACH;AACD;AACA;;AACA,SAASmC,2BAAT,CAAqCN,OAArC,EAA8CC,OAA9C,EAAuDC,aAAvD,EAAsE;AAClE,QAAM;AAAEK,IAAAA,QAAQ,EAAEH,SAAZ;AAAuBI,IAAAA,WAAW,EAAEC;AAApC,MAAqD9K,wDAAW,CAACqK,OAAD,EAAUE,aAAa,CAACK,QAAxB,CAAtE;AACA,QAAM;AAAEA,IAAAA,QAAQ,EAAEF,SAAZ;AAAuBG,IAAAA,WAAW,EAAEE;AAApC,MAAqD/K,wDAAW,CAACsK,OAAD,EAAUC,aAAa,CAACK,QAAxB,CAAtE;;AACA,OAAK,MAAMI,UAAX,IAAyBP,SAAzB,EAAoC;AAChC,QAAIC,SAAS,CAACz5D,GAAV,CAAc+5D,UAAd,CAAJ,EAA+B;AAC3B,YAAMvnG,UAAU,GAAG,EAAnB;AACAA,MAAAA,UAAU,CAAC2kB,IAAX,CAAgB4iF,UAAhB;AACA,UAAIxC,IAAI,GAAGsC,YAAY,CAACloH,GAAb,CAAiBooH,UAAjB,CAAX;;AACA,aAAOxC,IAAI,IAAIA,IAAI,KAAK6B,OAAxB,EAAiC;AAC7B5mG,QAAAA,UAAU,CAAC2kB,IAAX,CAAgBogF,IAAhB;AACAA,QAAAA,IAAI,GAAGsC,YAAY,CAACloH,GAAb,CAAiB4lH,IAAjB,CAAP;AACH;;AACDA,MAAAA,IAAI,GAAGuC,YAAY,CAACnoH,GAAb,CAAiBooH,UAAjB,CAAP;;AACA,aAAOxC,IAAI,IAAIA,IAAI,KAAK8B,OAAxB,EAAiC;AAC7B7mG,QAAAA,UAAU,CAACwnG,OAAX,CAAmBzC,IAAnB;AACAA,QAAAA,IAAI,GAAGuC,YAAY,CAACnoH,GAAb,CAAiB4lH,IAAjB,CAAP;AACH;;AACDvkH,MAAAA,OAAO,CAACC,GAAR,CAAY,UAAZ;AACAD,MAAAA,OAAO,CAACC,GAAR,CAAY;AAAEmmH,QAAAA;AAAF,OAAZ;AACApmH,MAAAA,OAAO,CAACC,GAAR,CAAY;AAAE8mH,QAAAA;AAAF,OAAZ;AACA/mH,MAAAA,OAAO,CAACC,GAAR,CAAY;AAAEomH,QAAAA;AAAF,OAAZ;AACArmH,MAAAA,OAAO,CAACC,GAAR,CAAY;AAAEuf,QAAAA;AAAF,OAAZ;AACA,aAAO,IAAP;AACH;AACJ;;AACD,SAAO,KAAP;AACH;;AACD,SAAS+mG,QAAT,CAAkBU,SAAlB,EAA6B;AACzB,SAAO,OAAOA,SAAP,KAAqB,QAArB,IAAiCA,SAAS,KAAK,IAAtD;AACH;;;;;;;;;;;;;;;ACzDD;AACA;AACA;AACA;;AACA;AACA;AACA;;AACA;AACe,SAASlL,WAAT,CAAqBmL,IAArB,EAA2BC,kBAAkB,GAAG,IAAIpX,GAAJ,EAAhD,EAA2D;AACtE,QAAMqX,KAAK,GAAG,CAACF,IAAD,CAAd,CADsE,CAEtE;AACA;;AACA,QAAMP,QAAQ,GAAG,IAAI5W,GAAJ,EAAjB;AACA,MAAIsX,SAAS,GAAG,CAAhB;;AACA,SAAOD,KAAK,CAACv8G,MAAN,GAAew8G,SAAtB,EAAiC;AAC7B;AACA,UAAM9C,IAAI,GAAG6C,KAAK,CAACC,SAAS,EAAV,CAAlB;;AACA,QAAIV,QAAQ,CAAC35D,GAAT,CAAau3D,IAAb,KAAsB,CAAC+C,oBAAoB,CAAC/C,IAAD,CAA3C,IAAqD4C,kBAAkB,CAACn6D,GAAnB,CAAuBu3D,IAAvB,CAAzD,EAAuF;AACnF;AACH;;AACDoC,IAAAA,QAAQ,CAAC7zF,GAAT,CAAayxF,IAAb,EAN6B,CAO7B;;AACA,QAAIn6E,MAAM,CAACC,QAAP,IAAmBk6E,IAAvB,EAA6B;AACzB;AACA,UAAI;AACA,aAAK,MAAM97E,CAAX,IAAgB87E,IAAhB,EAAsB;AAClB6C,UAAAA,KAAK,CAACjjF,IAAN,CAAWsE,CAAX,EADkB,CAElB;AACA;AACA;AACH;AACJ,OAPD,CAQA,OAAOpO,GAAP,EAAY,CACR;AACA;AACA;AACH;AACJ,KAfD,MAgBK;AACD,WAAK,MAAM2J,GAAX,IAAkBugF,IAAlB,EAAwB;AACpB;AACA;AACA;AACA,YAAIvgF,GAAG,KAAK,cAAZ,EAA4B;AACxB;AACH;;AACDojF,QAAAA,KAAK,CAACjjF,IAAN,CAAWogF,IAAI,CAACvgF,GAAD,CAAf,EAPoB,CAQpB;AACA;AACA;AACH;AACJ;AACJ,GA5CqE,CA6CtE;;;AACA,SAAO2iF,QAAP;AACH;;AACD,SAASW,oBAAT,CAA8B/C,IAA9B,EAAoC;AAChC,QAAMpvG,IAAI,GAAGkrB,MAAM,CAAC8H,SAAP,CAAiBiT,QAAjB,CAA0B/T,IAA1B,CAA+Bk9E,IAA/B,CAAb;AACA,QAAMgD,UAAU,GAAG,OAAOhD,IAA1B;AACA,SAAO,EAAEgD,UAAU,KAAK,QAAf,IACLA,UAAU,KAAK,SADV,IAELA,UAAU,KAAK,QAFV,IAGLA,UAAU,KAAK,QAHV,IAILA,UAAU,KAAK,UAJV,IAKLpyG,IAAI,KAAK,eALJ,IAMLA,IAAI,KAAK,iBANJ,IAOLA,IAAI,KAAK,iBAPJ,IAQLovG,IAAI,KAAKh0E,SARJ,IASLg0E,IAAI,KAAK,IATJ,IAUL;AACA;AACA;AACA;AACAA,EAAAA,IAAI,CAACiD,iBAdA,IAeL;AACAjD,EAAAA,IAAI,YAAYkD,WAhBX,IAiBLlD,IAAI,YAAYmD,KAjBb,CAAP;AAkBH;;;;;;;;;;;;;;;AC7ED;AACA;AACA;AACA;;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACe,MAAM9L,QAAN,CAAe;AAC1B;AACJ;AACA;AACIj+G,EAAAA,WAAW,CAACC,MAAD,EAAS;AAChB;AACR;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACQ,SAAK+pH,OAAL,GAAe,EAAf;AACA;AACR;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACQ,SAAKhuG,KAAL,GAAa,cAAb;AACA;AACR;AACA;AACA;;AACQ,SAAKiuG,IAAL,GAAY3hE,IAAI,CAAC+e,GAAjB;AACA,SAAK2iD,OAAL,GAAe,EAAf;AACA,SAAKE,iBAAL,GAAyB,OAAOjqH,MAAM,CAACkqH,gBAAd,KAAmC,QAAnC,GAA8ClqH,MAAM,CAACkqH,gBAArD,GAAwE,CAAjG;AACA,SAAKC,0BAAL,GAAkC,OAAOnqH,MAAM,CAACoqH,yBAAd,KAA4C,QAA5C,GAAuDpqH,MAAM,CAACoqH,yBAA9D,GAA0F,IAA5H;;AACA,SAAKC,kBAAL,GAA0BlK,GAAG,IAAI;AAC7B;AACA,YAAMxpG,KAAK,GAAG,WAAWwpG,GAAX,GAAiBA,GAAG,CAACxpG,KAArB,GAA6BwpG,GAAG,CAACmK,MAA/C,CAF6B,CAG7B;AACA;;AACA,UAAI3zG,KAAK,YAAY82C,KAArB,EAA4B;AACxB,aAAK88D,YAAL,CAAkB5zG,KAAlB,EAAyBwpG,GAAzB;AACH;AACJ,KARD;;AASA,SAAKqK,UAAL,GAAkB,EAAlB;;AACA,QAAI,CAAC,KAAK7J,QAAV,EAAoB;AAChB,YAAM,IAAIlzD,KAAJ,CAAU,qGACZ,gFADE,CAAN;AAEH;AACJ;AACD;AACJ;AACA;;;AACIwxD,EAAAA,OAAO,GAAG;AACN,SAAK4B,kBAAL;;AACA,SAAK2J,UAAL,GAAkB,EAAlB;AACH;AACD;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACIzoG,EAAAA,EAAE,CAAC0oG,SAAD,EAAYvyE,QAAZ,EAAsB;AACpB,QAAI,CAAC,KAAKsyE,UAAL,CAAgBC,SAAhB,CAAL,EAAiC;AAC7B,WAAKD,UAAL,CAAgBC,SAAhB,IAA6B,EAA7B;AACH;;AACD,SAAKD,UAAL,CAAgBC,SAAhB,EAA2BlkF,IAA3B,CAAgC2R,QAAhC;AACH;AACD;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;;;AACIhyB,EAAAA,GAAG,CAACukG,SAAD,EAAYvyE,QAAZ,EAAsB;AACrB,SAAKsyE,UAAL,CAAgBC,SAAhB,IAA6B,KAAKD,UAAL,CAAgBC,SAAhB,EACxBxgH,MADwB,CACjBu3G,EAAE,IAAIA,EAAE,KAAKtpE,QADI,CAA7B;AAEH;AACD;AACJ;AACA;AACA;AACA;;;AACIinE,EAAAA,KAAK,CAACsL,SAAD,EAAY,GAAGC,IAAf,EAAqB;AACtB,UAAMtV,SAAS,GAAG,KAAKoV,UAAL,CAAgBC,SAAhB,KAA8B,EAAhD;;AACA,SAAK,MAAMvyE,QAAX,IAAuBk9D,SAAvB,EAAkC;AAC9Bl9D,MAAAA,QAAQ,CAACnN,KAAT,CAAe,IAAf,EAAqB,CAAC,IAAD,EAAO,GAAG2/E,IAAV,CAArB;AACH;AACJ;AACD;AACJ;AACA;;;AACI9J,EAAAA,mBAAmB,GAAG;AAClBnhG,IAAAA,MAAM,CAAC48B,gBAAP,CAAwB,OAAxB,EAAiC,KAAKguE,kBAAtC;AACA5qG,IAAAA,MAAM,CAAC48B,gBAAP,CAAwB,oBAAxB,EAA8C,KAAKguE,kBAAnD;AACH;AACD;AACJ;AACA;;;AACIxJ,EAAAA,kBAAkB,GAAG;AACjBphG,IAAAA,MAAM,CAACk9B,mBAAP,CAA2B,OAA3B,EAAoC,KAAK0tE,kBAAzC;AACA5qG,IAAAA,MAAM,CAACk9B,mBAAP,CAA2B,oBAA3B,EAAiD,KAAK0tE,kBAAtD;AACH;AACD;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;;;AACIE,EAAAA,YAAY,CAAC5zG,KAAD,EAAQwpG,GAAR,EAAa;AACrB;AACA;AACA;AACA;AACA,QAAI,KAAKwK,mBAAL,CAAyBh0G,KAAzB,CAAJ,EAAqC;AACjC,WAAKozG,OAAL,CAAaxjF,IAAb,CAAkB;AACdpkC,QAAAA,OAAO,EAAEwU,KAAK,CAACxU,OADD;AAEdyoH,QAAAA,KAAK,EAAEj0G,KAAK,CAACi0G,KAFC;AAGd;AACAC,QAAAA,QAAQ,EAAE1K,GAAG,YAAY2K,UAAf,GAA4B3K,GAAG,CAAC0K,QAAhC,GAA2Cl4E,SAJvC;AAKdo4E,QAAAA,MAAM,EAAE5K,GAAG,YAAY2K,UAAf,GAA4B3K,GAAG,CAAC4K,MAAhC,GAAyCp4E,SALnC;AAMdq4E,QAAAA,KAAK,EAAE7K,GAAG,YAAY2K,UAAf,GAA4B3K,GAAG,CAAC6K,KAAhC,GAAwCr4E,SANjC;AAOds4E,QAAAA,IAAI,EAAE,KAAKjB,IAAL;AAPQ,OAAlB;;AASA,YAAM5J,aAAa,GAAG,KAAK8K,cAAL,EAAtB;;AACA,WAAKnvG,KAAL,GAAa,SAAb;;AACA,WAAKojG,KAAL,CAAW,aAAX;;AACA,WAAKA,KAAL,CAAW,OAAX,EAAoB;AAAExoG,QAAAA,KAAF;AAASypG,QAAAA;AAAT,OAApB;;AACA,UAAIA,aAAJ,EAAmB;AACf,aAAKO,QAAL;AACH,OAFD,MAGK;AACD,aAAK5kG,KAAL,GAAa,oBAAb;;AACA,aAAKojG,KAAL,CAAW,aAAX;AACH;AACJ;AACJ;AACD;AACJ;AACA;AACA;AACA;;;AACIwL,EAAAA,mBAAmB,CAACh0G,KAAD,EAAQ;AACvB,WAAQA,KAAK,CAACw0G,EAAN,IACJx0G,KAAK,CAACw0G,EAAN,CAAS,eAAT,CADI,IAEJx0G,KAAK,CAAC/F,OAAN,KAAkB+hC,SAFd,IAGJ;AACA;AACAh8B,IAAAA,KAAK,CAAC/F,OAAN,KAAkB,IALd,IAMJ;AACA,SAAKmL,KAAL,KAAe,OAPX,IAQJ,KAAK+kG,0BAAL,CAAgCnqG,KAAhC,CARJ;AASH;AACD;AACJ;AACA;;;AACIu0G,EAAAA,cAAc,GAAG;AACb,QAAI,KAAKnB,OAAL,CAAa98G,MAAb,IAAuB,KAAKg9G,iBAAhC,EAAmD;AAC/C,aAAO,IAAP;AACH;;AACD,UAAMmB,aAAa,GAAG,KAAKrB,OAAL,CAAa,KAAKA,OAAL,CAAa98G,MAAb,GAAsB,CAAnC,EAAsCg+G,IAA5D;AACA,UAAMI,wBAAwB,GAAG,KAAKtB,OAAL,CAAa,KAAKA,OAAL,CAAa98G,MAAb,GAAsB,CAAtB,GAA0B,KAAKg9G,iBAA5C,EAA+DgB,IAAhG;AACA,UAAMK,yBAAyB,GAAG,CAACF,aAAa,GAAGC,wBAAjB,IAA6C,KAAKpB,iBAApF;AACA,WAAOqB,yBAAyB,GAAG,KAAKnB,0BAAxC;AACH;;AA5KyB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACX9B;AACA;AACA;AACA;;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAIyG,QAAQ,GAAG,OAAf;;AACA,SAASC,cAAT,CAAwB3iE,MAAxB,EAAgC4iE,IAAhC,EAAsC;AAClC,MAAI5iE,MAAM,IAAIA,MAAM,CAAC6iE,aAAjB,IAAkCD,IAAtC,EAA4C;AACxC5iE,IAAAA,MAAM,CAAC6iE,aAAP,CAAqBD,IAArB;AACH;AACJ;;AACD,SAASE,UAAT,CAAoBr6G,KAApB,EAA2B;AACvB,MAAIA,KAAK,IAAIA,KAAK,CAAC2zG,MAAnB,EAA2B;AACvB,QAAIA,MAAM,GAAG3zG,KAAK,CAAC2zG,MAAnB;;AACA,QAAI,CAACyD,gFAAQ,CAACzD,MAAD,CAAT,IAAqBuD,kFAAU,CAACvD,MAAM,CAAC4F,6DAAcA;AAAC;AAAhB,KAAP,CAAnC,EAAoF;AAChF,aAAO5F,MAAM,CAAC4F,6DAAcA;AAAC;AAAhB,OAAN,EAAP;AACH;;AACD,WAAOjD,+EAAO,CAAC3C,MAAD,CAAd;AACH,GAPsB,CAQvB;;;AACA,SAAO3zG,KAAK,IAAI,EAAhB;AACH;;AACD,IAAIs6G,eAAe,GAAG,KAAtB;;AACA,SAASC,mBAAT,CAA6B1/G,KAA7B,EAAoC2/G,QAApC,EAA8C;AAC1C3/G,EAAAA,KAAK,GAAGA,KAAK,IAAI2/G,QAAjB;;AACA,MAAI3/G,KAAK,GAAGy/G,eAAZ,EAA6B;AACzBz/G,IAAAA,KAAK,GAAGy/G,eAAR;AACH;;AACD,SAAOz/G,KAAP;AACH;;AACD,SAAS4/G,iBAAT,CAA2BpxH,MAA3B,EAAmC;AAC/B,MAAI,CAACA,MAAL,EAAa;AACTA,IAAAA,MAAM,GAAG,EAAT;AACH,GAH8B,CAI/B;;;AACAA,EAAAA,MAAM,CAACqxH,gBAAP,GAA0BH,mBAAmB,CAAClxH,MAAM,CAACqxH,gBAAR,EAA0B,KAAK,EAAL,GAAU,IAApC,CAA7C;AACArxH,EAAAA,MAAM,CAACsxH,mBAAP,GAA6BJ,mBAAmB,CAAClxH,MAAM,CAACsxH,mBAAR,EAA6B,KAAK,EAAL,GAAU,EAAV,GAAe,IAA5C,CAAhD;AACAtxH,EAAAA,MAAM,CAAC6uH,yEAA0BA;AAAC;AAA5B,GAAN,GAA4ErC,4FAAqB,CAACxsH,MAAM,CAAC6uH,yEAA0BA;AAAC;AAA5B,GAAP,CAAjG;AACA7uH,EAAAA,MAAM,CAACwuH,yEAA0BA;AAAC;AAA5B,GAAN,GAA0EhC,4FAAqB,CAACxsH,MAAM,CAACwuH,yEAA0BA;AAAC;AAA5B,GAAP,CAA/F;AACAxuH,EAAAA,MAAM,CAAC4vH,yEAA0BA;AAAC;AAA5B,GAAN,GAA4EpD,4FAAqB,CAACxsH,MAAM,CAAC4vH,yEAA0BA;AAAC;AAA5B,GAAP,CAAjG;AACA5vH,EAAAA,MAAM,CAACgvH,yEAA0BA;AAAC;AAA5B,GAAN,GAA2FxC,4FAAqB,CAACxsH,MAAM,CAACgvH,yEAA0BA;AAAC;AAA5B,GAAP,CAAhH;;AACA,MAAIh7F,KAAK,CAACh0B,MAAM,CAAC8vH,uEAAwBA;AAAC;AAA1B,GAAP,CAAL,IAA4E9vH,MAAM,CAAC8vH,uEAAwBA;AAAC;AAA1B,GAAN,IAAqE,CAAjJ,IAAsJ9vH,MAAM,CAAC8vH,uEAAwBA;AAAC;AAA1B,GAAN,IAAqE,GAA/N,EAAoO;AAChO9vH,IAAAA,MAAM,CAAC8vH,uEAAwBA;AAAC;AAA1B,KAAN,GAAoE,GAApE;AACH;;AACD9vH,EAAAA,MAAM,CAACuvH,yEAA0BA;AAAC;AAA5B,GAAN,GAAwE/C,4FAAqB,CAACxsH,MAAM,CAACuvH,yEAA0BA;AAAC;AAA5B,GAAP,CAA7F;AACAvvH,EAAAA,MAAM,CAACsvH,yEAA0BA;AAAC;AAA5B,GAAN,GAAgF9C,4FAAqB,CAACxsH,MAAM,CAACsvH,yEAA0BA;AAAC;AAA5B,GAAP,CAArG;AACAtvH,EAAAA,MAAM,CAAC+uH,yEAA0BA;AAAC;AAA5B,GAAN,GAA2EvC,4FAAqB,CAACxsH,MAAM,CAAC+uH,yEAA0BA;AAAC;AAA5B,GAAP,CAAhG;AACA/uH,EAAAA,MAAM,CAAC2vH,+DAAgBA;AAAC;AAAlB,GAAN,GAAoD3vH,MAAM,CAAC2vH,+DAAgBA;AAAC;AAAlB,GAAN,IAAqD,EAAzG;AACA3vH,EAAAA,MAAM,CAACuxH,WAAP,GAAqB/E,4FAAqB,CAACxsH,MAAM,CAACuxH,WAAR,CAA1C;AACAvxH,EAAAA,MAAM,CAAC8uH,yEAA0BA;AAAC;AAA5B,GAAN,GAA8EtC,4FAAqB,CAACxsH,MAAM,CAAC8uH,yEAA0BA;AAAC;AAA5B,GAAP,CAAnG;AACA9uH,EAAAA,MAAM,CAACwxH,oBAAP,GAA8BhF,4FAAqB,CAACxsH,MAAM,CAACwxH,oBAAR,EAA8BxxH,MAAM,CAAC8uH,yEAA0BA;AAAC;AAA5B,GAApC,CAAnD;AACA,SAAO9uH,MAAP;AACH;;AACD,SAASyxH,mBAAT,CAA6BC,SAA7B,EAAwC;AACpC;AACA;AACA,MAAI,CAAC1D,mFAAW,CAAC0D,SAAS,CAACnC,yEAA0BA;AAAC;AAA5B,GAAV,CAAhB,EAA4F;AACxF,QAAImC,SAAS,CAACnC,yEAA0BA;AAAC;AAA5B,KAAb,EAA8E;AAC1E9C,MAAAA,wFAAiB;AACpB,KAFD,MAGK;AACDC,MAAAA,uFAAgB;AACnB;AACJ;AACJ;;AACD,IAAIiF,eAAe;AAAG;AAAe,UAAUvoF,MAAV,EAAkB;AACnDqB,EAAAA,iFAAS,CAACknF,eAAD,EAAkBvoF,MAAlB,CAAT;;AACA,WAASuoF,eAAT,GAA2B;AACvB,QAAIxgF,KAAK,GAAG/H,MAAM,CAACK,IAAP,CAAY,IAAZ,KAAqB,IAAjC;;AACA0H,IAAAA,KAAK,CAACygF,UAAN,GAAmBlG,4FAAnB,CAFuB,CAEuB;;AAC9Cv6E,IAAAA,KAAK,CAAC80E,QAAN,GAAiB,GAAjB,CAHuB,CAGD;;AACtB90E,IAAAA,KAAK,CAAC0gF,gBAAN,GAAyB,GAAzB,CAJuB,CAIO;;AAC9B,QAAIC,cAAJ;;AACA,QAAIC,aAAJ;;AACA,QAAIC,gBAAJ;;AACA,QAAIC,2BAAJ;;AACA,QAAIC,qBAAJ;;AACA,QAAIC,6BAAJ;;AACA,QAAIC,6BAAJ;;AACA,QAAIC,4BAAJ;;AACA,QAAIC,wBAAJ;;AACA,QAAIC,qBAAJ;;AACA,QAAIC,yBAAJ;;AACA,QAAIC,0BAAJ;;AACA,QAAIC,wCAAJ;;AACA,QAAIC,iCAAJ,CAlBuB,CAmBvB;AACA;AACA;AACA;;;AACA,QAAIC,kBAAkB,GAAG,CAAzB,CAvBuB,CAwBvB;;AACA,QAAIC,QAAJ,CAzBuB,CAyBT;;;AACd,QAAIC,QAAJ;;AACA,QAAIC,aAAJ;;AACAtH,IAAAA,sEAAY,CAACkG,eAAD,EAAkBxgF,KAAlB,EAAyB,UAAU6hF,KAAV,EAAiBC,KAAjB,EAAwB;AACzD,UAAIC,QAAQ,GAAGD,KAAK,CAACC,QAArB;;AACAC,MAAAA,aAAa;;AACbH,MAAAA,KAAK,CAACI,YAAN,GAAqB,YAAY;AAC7B,eAAOhF,wFAAgB,CAAC4E,KAAK,CAACtE,wDAASA;AAAC;AAAX,SAAN,CAAvB;AACH,OAFD;;AAGAsE,MAAAA,KAAK,CAACK,gBAAN,GAAyB,UAAUvjG,GAAV,EAAewjG,OAAf,EAAwB;AAC7CN,QAAAA,KAAK,CAACO,WAAN,CAAkBzjG,GAAlB,EAAuBwjG,OAAvB;AACH,OAFD;;AAGAN,MAAAA,KAAK,CAACQ,UAAN,GAAmB,UAAU1nG,KAAV,EAAiB2nG,gBAAjB,EAAmC;AAClD,YAAI;AACA,cAAIC,aAAa,GAAGtH,0FAAmB,CAACtgG,KAAD,EAAQ6/F,yEAAc,CAACgD,6DAAcA;AAAC;AAAhB,WAAtB,EAA+DhD,yEAAc,CAACsD,iEAAkBA;AAAC;AAApB,WAA7E,EAA8H+D,KAAK,CAACpE,4DAAaA;AAAC;AAAf,WAAL,EAA9H,EAA4K6E,gBAA5K,CAAvC;;AACAT,UAAAA,KAAK,CAACtE,wDAASA;AAAC;AAAX,WAAL,CAAoCyB,yDAAUA;AAAC;AAA/C,YAAoEuD,aAApE;AACH,SAHD,CAIA,OAAOzoF,CAAP,EAAU;AACN0oF,UAAAA,cAAc,CAAC;AAAE;AAAH,YAAmC;AAAG;AAAtC,YAAkF,qDAAqDrG,wFAAgB,CAACriF,CAAD,CAAvJ,EAA4J;AAAE2oF,YAAAA,SAAS,EAAE3G,+EAAO,CAAChiF,CAAD;AAApB,WAA5J,CAAd;AACH;AACJ,OARD;AASA;AACZ;AACA;AACA;;;AACY+nF,MAAAA,KAAK,CAACa,eAAN,GAAwB,UAAU/iH,IAAV,EAAgB;AACpC,YAAI;AACAghH,UAAAA,cAAc,CAAC/K,KAAf,CAAqBj2G,IAArB;AACH,SAFD,CAGA,OAAOm6B,CAAP,EAAU;AACN0oF,UAAAA,cAAc,CAAC;AAAE;AAAH,YAAoC;AAAG;AAAvC,YAAwF,0DAA0DrG,wFAAgB,CAACriF,CAAD,CAAlK,EAAuK;AAAE2oF,YAAAA,SAAS,EAAE3G,+EAAO,CAAChiF,CAAD;AAApB,WAAvK,CAAd;AACH;AACJ,OAPD;AAQA;AACZ;AACA;AACA;AACA;AACA;;;AACY+nF,MAAAA,KAAK,CAACc,cAAN,GAAuB,UAAUhjH,IAAV,EAAgBk9D,UAAhB,EAA4B+lD,YAA5B,EAA0C;AAC7D,YAAI;AACAjC,UAAAA,cAAc,CAACpM,IAAf,CAAoB50G,IAApB,EAA0B6hC,SAA1B,EAAqCq7B,UAArC,EAAiD+lD,YAAjD;AACH,SAFD,CAGA,OAAO9oF,CAAP,EAAU;AACN0oF,UAAAA,cAAc,CAAC;AAAE;AAAH,YAAoC;AAAG;AAAvC,YAAuF,yDAAyDrG,wFAAgB,CAACriF,CAAD,CAAhK,EAAqK;AAAE2oF,YAAAA,SAAS,EAAE3G,+EAAO,CAAChiF,CAAD;AAApB,WAArK,CAAd;AACH;AACJ,OAPD;AAQA;AACZ;AACA;AACA;AACA;AACA;;;AACY+nF,MAAAA,KAAK,CAACgB,UAAN,GAAmB,UAAU1qF,KAAV,EAAiBmqF,gBAAjB,EAAmC;AAClD,YAAI;AACA,cAAIC,aAAa,GAAGtH,0FAAmB,CAAC9iF,KAAD,EAAQoiE,yEAAK,CAACijB,6DAAcA;AAAC;AAAhB,WAAb,EAAsDjjB,yEAAK,CAACujB,iEAAkBA;AAAC;AAApB,WAA3D,EAA4G+D,KAAK,CAACpE,4DAAaA;AAAC;AAAf,WAAL,EAA5G,EAA0J6E,gBAA1J,CAAvC;;AACAT,UAAAA,KAAK,CAACtE,wDAASA;AAAC;AAAX,WAAL,CAAoCyB,yDAAUA;AAAC;AAA/C,YAAoEuD,aAApE;AACH,SAHD,CAIA,OAAOzoF,CAAP,EAAU;AACN0oF,UAAAA,cAAc,CAAC;AAAE;AAAH,YAAmC;AAAG;AAAtC,YAAkF,qDAAqDrG,wFAAgB,CAACriF,CAAD,CAAvJ,EAA4J;AAAE2oF,YAAAA,SAAS,EAAE3G,+EAAO,CAAChiF,CAAD;AAApB,WAA5J,CAAd;AACH;AACJ,OARD;AASA;AACZ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACY+nF,MAAAA,KAAK,CAACiB,WAAN,GAAoB,UAAUC,MAAV,EAAkBT,gBAAlB,EAAoC;AACpD,YAAI;AACA,cAAIC,aAAa,GAAGtH,0FAAmB,CAAC8H,MAAD,EAASrI,0EAAM,CAAC8C,6DAAcA;AAAC;AAAhB,WAAf,EAAwD9C,0EAAM,CAACoD,iEAAkBA;AAAC;AAApB,WAA9D,EAA+G+D,KAAK,CAACpE,4DAAaA;AAAC;AAAf,WAAL,EAA/G,EAA6J6E,gBAA7J,CAAvC;;AACAT,UAAAA,KAAK,CAACtE,wDAASA;AAAC;AAAX,WAAL,CAAoCyB,yDAAUA;AAAC;AAA/C,YAAoEuD,aAApE;AACH,SAHD,CAIA,OAAOzoF,CAAP,EAAU;AACN0oF,UAAAA,cAAc,CAAC;AAAE;AAAH,YAAoC;AAAG;AAAvC,YAAoF,uDAAuDrG,wFAAgB,CAACriF,CAAD,CAA3J,EAAgK;AAAE2oF,YAAAA,SAAS,EAAE3G,+EAAO,CAAChiF,CAAD;AAApB,WAAhK,CAAd;AACH;AACJ,OARD;AASA;AACZ;AACA;AACA;AACA;AACA;;;AACY+nF,MAAAA,KAAK,CAAC5C,mEAAoBA;AAAC;AAAtB,OAAL,GAA0D,UAAU+D,QAAV,EAAoBV,gBAApB,EAAsC;AAC5F,YAAI;AACA,cAAIW,IAAI,GAAGD,QAAQ,IAAI,EAAvB;;AACAnC,UAAAA,gBAAgB,CAAC5B,mEAAoBA;AAAC;AAAtB,WAAhB,CAAmEgE,IAAnE,EAAyEzpF,gFAAQ,CAACA,gFAAQ,CAACA,gFAAQ,CAAC,EAAD,EAAKypF,IAAI,CAACpmD,UAAV,CAAT,EAAgComD,IAAI,CAACL,YAArC,CAAT,EAA6DN,gBAA7D,CAAjF;;AACA,cAAIT,KAAK,CAAChzH,MAAN,CAAawuH,yEAA0BA;AAAC;AAAxC,WAAJ,EAAmF;AAC/E0D,YAAAA,qBAAqB,CAAC7B,yEAA0BA;AAAC;AAA5B,aAArB,CAAuF+D,IAAI,CAACtjH,IAA5F,EAAkGsjH,IAAI,CAACC,GAAvG;AACH;AACJ,SAND,CAOA,OAAOppF,CAAP,EAAU;AACN0oF,UAAAA,cAAc,CAAC;AAAE;AAAH,YAAoC;AAAG;AAAvC,YAAgF,4DAA4DrG,wFAAgB,CAACriF,CAAD,CAA5J,EAAiK;AAAE2oF,YAAAA,SAAS,EAAE3G,+EAAO,CAAChiF,CAAD;AAApB,WAAjK,CAAd;AACH;AACJ,OAXD;AAYA;AACZ;AACA;AACA;AACA;AACA;;;AACY+nF,MAAAA,KAAK,CAAChD,0EAA2BA;AAAC;AAA7B,OAAL,GAAwE,UAAUmE,QAAV,EAAoBnmD,UAApB,EAAgCsmD,gBAAhC,EAAkD;AACtH,YAAIC,GAAG,GAAGlH,mFAAW,EAArB;;AACA,YAAIkH,GAAJ,EAAS;AACLJ,UAAAA,QAAQ,CAACK,MAAT,GAAkBL,QAAQ,CAACK,MAAT,KAAoB7hF,SAApB,GAAgC4hF,GAAG,CAACE,QAApC,GAA+CN,QAAQ,CAACK,MAA1E;AACH;;AACD,YAAId,aAAa,GAAGtH,0FAAmB,CAAC+H,QAAD,EAAWrI,4EAAQ,CAAC6C,6DAAcA;AAAC;AAAhB,SAAnB,EAA4D7C,4EAAQ,CAACmD,iEAAkBA;AAAC;AAApB,SAApE,EAAqH+D,KAAK,CAACpE,4DAAaA;AAAC;AAAf,SAAL,EAArH,EAAmK5gD,UAAnK,EAA+KsmD,gBAA/K,CAAvC;;AACAtB,QAAAA,KAAK,CAACtE,wDAASA;AAAC;AAAX,SAAL,CAAoCyB,yDAAUA;AAAC;AAA/C,UAAoEuD,aAApE,EANsH,CAOtH;;;AACAd,QAAAA,kBAAkB,GAAG,CAArB;AACH,OATD;AAUA;AACZ;AACA;AACA;AACA;;;AACYI,MAAAA,KAAK,CAAC/C,0EAA2BA;AAAC;AAA7B,OAAL,GAAmF,UAAUyE,mBAAV,EAA+B1mD,UAA/B,EAA2CsmD,gBAA3C,EAA6D;AAC5I,YAAIZ,aAAa,GAAGtH,0FAAmB,CAACsI,mBAAD,EAAsB3I,uFAAmB,CAAC4C,6DAAcA;AAAC;AAAhB,SAAzC,EAAkF5C,uFAAmB,CAACkD,iEAAkBA;AAAC;AAApB,SAArG,EAAsJ+D,KAAK,CAACpE,4DAAaA;AAAC;AAAf,SAAL,EAAtJ,EAAoM5gD,UAApM,EAAgNsmD,gBAAhN,CAAvC;;AACAtB,QAAAA,KAAK,CAACtE,wDAASA;AAAC;AAAX,SAAL,CAAoCyB,yDAAUA;AAAC;AAA/C,UAAoEuD,aAApE;AACH,OAHD;AAIA;AACZ;AACA;AACA;AACA;;;AACYV,MAAAA,KAAK,CAAC2B,wBAAN,GAAiC,UAAUD,mBAAV,EAA+BjB,gBAA/B,EAAiD;AAC9E,YAAImB,KAAK,GAAGF,mBAAmB,IAAI,EAAnC;;AACA,YAAI;AACAzC,UAAAA,2BAA2B,CAACpC,0EAA2BA;AAAC;AAA7B,WAA3B,CAAwG+E,KAAxG;;AACA5B,UAAAA,KAAK,CAAC/C,0EAA2BA;AAAC;AAA7B,WAAL,CAAiF2E,KAAjF,EAAwFnB,gBAAxF;AACH,SAHD,CAIA,OAAOxoF,CAAP,EAAU;AACN0oF,UAAAA,cAAc,CAAC;AAAE;AAAH,YAAoC;AAAG;AAAvC,YAAgF,uEAAuErG,wFAAgB,CAACriF,CAAD,CAAvK,EAA4K;AAAE2oF,YAAAA,SAAS,EAAE3G,+EAAO,CAAChiF,CAAD;AAApB,WAA5K,CAAd;AACH;AACJ,OATD;AAUA;AACZ;AACA;AACA;AACA;AACA;;;AACY+nF,MAAAA,KAAK,CAAC6B,cAAN,GAAuB,UAAU/jH,IAAV,EAAgB;AACnC,YAAI;AACA,cAAI,OAAOA,IAAP,KAAgB,QAApB,EAA8B;AAC1B,gBAAIyjH,GAAG,GAAGlH,mFAAW,EAArB;AACAv8G,YAAAA,IAAI,GAAGyjH,GAAG,IAAIA,GAAG,CAAC5jH,KAAX,IAAoB,EAA3B;AACH;;AACDohH,UAAAA,aAAa,CAAChL,KAAd,CAAoBj2G,IAApB;AACH,SAND,CAOA,OAAOm6B,CAAP,EAAU;AACN0oF,UAAAA,cAAc,CAAC;AAAE;AAAH,YAAoC;AAAG;AAAvC,YAAmF,4DAA4DrG,wFAAgB,CAACriF,CAAD,CAA/J,EAAoK;AAAE2oF,YAAAA,SAAS,EAAE3G,+EAAO,CAAChiF,CAAD;AAApB,WAApK,CAAd;AACH;AACJ,OAXD;AAYA;AACZ;AACA;AACA;AACA;AACA;AACA;AACA;;;AACY+nF,MAAAA,KAAK,CAAC8B,aAAN,GAAsB,UAAUhkH,IAAV,EAAgB4M,GAAhB,EAAqBswD,UAArB,EAAiCyoC,WAAjC,EAA8C;AAChE,YAAI;AACA,cAAI,OAAO3lG,IAAP,KAAgB,QAApB,EAA8B;AAC1B,gBAAIyjH,GAAG,GAAGlH,mFAAW,EAArB;AACAv8G,YAAAA,IAAI,GAAGyjH,GAAG,IAAIA,GAAG,CAAC5jH,KAAX,IAAoB,EAA3B;AACH;;AACD,cAAI,OAAO+M,GAAP,KAAe,QAAnB,EAA6B;AACzB,gBAAIq3G,GAAG,GAAGvH,mFAAW,EAArB;AACA9vG,YAAAA,GAAG,GAAGq3G,GAAG,IAAIA,GAAG,CAAC1F,wDAASA;AAAC;AAAX,aAAV,IAA4C,EAAlD;AACH;;AACD0C,UAAAA,aAAa,CAACrM,IAAd,CAAmB50G,IAAnB,EAAyB4M,GAAzB,EAA8BswD,UAA9B,EAA0CyoC,WAA1C;;AACA,cAAIuc,KAAK,CAAChzH,MAAN,CAAawuH,yEAA0BA;AAAC;AAAxC,WAAJ,EAAmF;AAC/E0D,YAAAA,qBAAqB,CAAC7B,yEAA0BA;AAAC;AAA5B,aAArB,CAAuFv/G,IAAvF,EAA6F4M,GAA7F;AACH;AACJ,SAbD,CAcA,OAAOutB,CAAP,EAAU;AACN0oF,UAAAA,cAAc,CAAC;AAAE;AAAH,YAAoC;AAAG;AAAvC,YAAkF,4DAA4DrG,wFAAgB,CAACriF,CAAD,CAA9J,EAAmK;AAAE2oF,YAAAA,SAAS,EAAE3G,+EAAO,CAAChiF,CAAD;AAApB,WAAnK,CAAd;AACH;AACJ,OAlBD;AAmBA;AACZ;AACA;AACA;AACA;AACA;;;AACY+nF,MAAAA,KAAK,CAACjD,0EAA2BA;AAAC;AAA7B,OAAL,GAAyE,UAAU6D,SAAV,EAAqBH,gBAArB,EAAuCa,gBAAvC,EAAyD;AAC9H;AACA;AACA,YAAIU,QAAQ,GAAIpB,SAAS,KAAKA,SAAS,CAACxE,6DAAcA;AAAC;AAAhB,SAAT,IAAqDwE,SAAS,CAAC1E,yDAAUA;AAAC;AAAZ,SAAnE,CAAV,IACX;AACAtB,QAAAA,+EAAO,CAACgG,SAAD,CAAP,IAAsBA,SAFX,IAGX;AACA;AACA;AAAE9iH,UAAAA,IAAI,EAAG8iH,SAAS,IAAI,OAAOA,SAA7B;AAAyCzxH,UAAAA,OAAO,EAAEyxH,SAAS,IAAIrH,mFAAeA;AAA9E,SALJ,CAH8H,CAS9H;;AACAqH,QAAAA,SAAS,GAAGA,SAAS,IAAI,EAAzB;AACA,YAAIqB,cAAc,GAAG,IAAIrJ,6EAAJ,CAAcoH,KAAK,CAACpE,4DAAaA;AAAC;AAAf,SAAL,EAAd,EAA4DoG,QAA5D,EAAsEpB,SAAS,CAAC5lD,UAAV,IAAwBylD,gBAA9F,EAAgHG,SAAS,CAACG,YAA1H,EAAwIH,SAAS,CAACsB,aAAlJ,EAAiKtB,SAAS,CAACnmH,EAA3K,EAA+K0nH,WAA/K,EAArB;AACA,YAAIzB,aAAa,GAAGtH,0FAAmB,CAAC6I,cAAD,EAAiBrJ,6EAAS,CAAC+C,6DAAcA;AAAC;AAAhB,SAA1B,EAAmE/C,6EAAS,CAACqD,iEAAkBA;AAAC;AAApB,SAA5E,EAA6H+D,KAAK,CAACpE,4DAAaA;AAAC;AAAf,SAAL,EAA7H,EAA2K6E,gBAA3K,EAA6La,gBAA7L,CAAvC;;AACAtB,QAAAA,KAAK,CAACtE,wDAASA;AAAC;AAAX,SAAL,CAAoCyB,yDAAUA;AAAC;AAA/C,UAAoEuD,aAApE;AACH,OAdD;AAeA;AACZ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACYV,MAAAA,KAAK,CAACoC,cAAN,GAAuB,UAAUxB,SAAV,EAAqBH,gBAArB,EAAuC;AAC1D,YAAIG,SAAS,IAAI,CAACA,SAAS,CAACxE,6DAAcA;AAAC;AAAhB,SAAvB,IAAmEwE,SAAS,CAAC1E,yDAAUA;AAAC;AAAZ,SAAhF,EAAkH;AAC9G0E,UAAAA,SAAS,CAACxE,6DAAcA;AAAC;AAAhB,WAAT,GAAoDwE,SAAS,CAAC1E,yDAAUA;AAAC;AAAZ,WAA7D;AACH;;AACD,YAAI;AACA8D,UAAAA,KAAK,CAACjD,0EAA2BA;AAAC;AAA7B,WAAL,CAAuE6D,SAAvE,EAAkFH,gBAAlF;AACH,SAFD,CAGA,OAAOxoF,CAAP,EAAU;AACN0oF,UAAAA,cAAc,CAAC;AAAE;AAAH,YAAoC;AAAG;AAAvC,YAAuF,6DAA6DrG,wFAAgB,CAACriF,CAAD,CAApK,EAAyK;AAAE2oF,YAAAA,SAAS,EAAE3G,+EAAO,CAAChiF,CAAD;AAApB,WAAzK,CAAd;AACH;AACJ,OAVD;AAWA;AACZ;AACA;AACA;AACA;;;AACY+nF,MAAAA,KAAK,CAACzC,4DAAaA;AAAC;AAAf,OAAL,GAA8C,UAAUqD,SAAV,EAAqB;AAC/D,YAAIj9G,KAAK,GAAGi9G,SAAS,IAAIA,SAAS,CAAC1E,yDAAUA;AAAC;AAAZ,SAAlC;AACA,YAAI/O,GAAG,GAAGyT,SAAS,IAAIA,SAAS,CAACzT,GAAjC;;AACA,YAAI;AACA,cAAI,CAACA,GAAL,EAAU;AACN,gBAAIkV,OAAO,GAAG5H,iFAAS,EAAvB;;AACA,gBAAI4H,OAAJ,EAAa;AACTlV,cAAAA,GAAG,GAAGkV,OAAO,CAACzE,QAAD,CAAb;AACH;AACJ;;AACD,cAAIlzG,GAAG,GAAIk2G,SAAS,IAAIA,SAAS,CAACl2G,GAAxB,IAAgC,CAAC2vG,mFAAW,MAAM,EAAlB,EAAsBiI,GAAhE,CAPA,CAQA;;AACA,cAAIC,QAAQ,GAAG3B,SAAS,CAACzE,6DAAcA;AAAC;AAAhB,WAAT,IAAoD,oBAAoBzxG,GAApB,GAA0B,GAA1B,IAAiCk2G,SAAS,CAACnE,+DAAgBA;AAAC;AAAlB,WAAT,IAAwD,CAAzF,IAA8F,GAA9F,IAAqGmE,SAAS,CAACnF,iEAAkBA;AAAC;AAApB,WAAT,IAA4D,CAAjK,CAAnE;AACA,cAAIzgD,UAAU,GAAG;AACbunD,YAAAA,QAAQ,EAAEA,QADG;AAEb73G,YAAAA,GAAG,EAAEA,GAFQ;AAGb83G,YAAAA,UAAU,EAAE5B,SAAS,CAACnE,+DAAgBA;AAAC;AAAlB,aAAT,IAAwD,CAHvD;AAIbgG,YAAAA,YAAY,EAAE7B,SAAS,CAACnF,iEAAkBA;AAAC;AAApB,aAAT,IAA4D,CAJ7D;AAKbtsH,YAAAA,OAAO,EAAEyxH,SAAS,CAAClE,2DAAYA;AAAC;AAAd;AALL,WAAjB;;AAOA,cAAIpD,yFAAkB,CAACsH,SAAS,CAACzxH,OAAX,EAAoByxH,SAAS,CAACl2G,GAA9B,EAAmCk2G,SAAS,CAAC4B,UAA7C,EAAyD5B,SAAS,CAAC6B,YAAnE,EAAiF7B,SAAS,CAAC1E,yDAAUA;AAAC;AAAZ,WAA1F,CAAtB,EAAmJ;AAC/IwG,YAAAA,kBAAkB,CAAC9J,6EAAS,CAAC0E,0EAA2BA;AAAC;AAA7B,aAAT,CAAyE,oJAAzE,EAA+N5yG,GAA/N,EAAoOk2G,SAAS,CAACnE,+DAAgBA;AAAC;AAAlB,aAAT,IAAwD,CAA5R,EAA+RmE,SAAS,CAACnF,iEAAkBA;AAAC;AAApB,aAAT,IAA4D,CAA3V,EAA8V93G,KAA9V,EAAqWwpG,GAArW,EAA0W,IAA1W,EAAgXoV,QAAhX,CAAD,EAA4XvnD,UAA5X,CAAlB;AACH,WAFD,MAGK;AACD,gBAAI,CAAC4lD,SAAS,CAACzE,6DAAcA;AAAC;AAAhB,aAAd,EAAuD;AACnDyE,cAAAA,SAAS,CAACzE,6DAAcA;AAAC;AAAhB,eAAT,GAAmDoG,QAAnD;AACH;;AACDvC,YAAAA,KAAK,CAACoC,cAAN,CAAqB;AAAExB,cAAAA,SAAS,EAAEA,SAAb;AAAwBsB,cAAAA,aAAa,EAAE;AAAE;;AAAzC,aAArB,EAA4FlnD,UAA5F;AACH;AACJ,SA1BD,CA2BA,OAAO/iC,CAAP,EAAU;AACN,cAAIg4D,WAAW,GAAGtsF,KAAK,GAAIA,KAAK,CAAC7F,IAAN,GAAa,IAAb,GAAoB6F,KAAK,CAAC+4G,2DAAYA;AAAC;AAAd,WAA7B,GAAqE,MAA5F;;AACAiE,UAAAA,cAAc,CAAC;AAAE;AAAH,YAAoC;AAAG;AAAvC,YAA6F,gFACrGrG,wFAAgB,CAACriF,CAAD,CADR,EACa;AAAE2oF,YAAAA,SAAS,EAAE3G,+EAAO,CAAChiF,CAAD,CAApB;AAAyBg4D,YAAAA,WAAW,EAAEA;AAAtC,WADb,CAAd;AAEH;AACJ,OAnCD;;AAoCA+vB,MAAAA,KAAK,CAACzE,0EAA2BA;AAAC;AAA7B,OAAL,GAA2E,UAAUoH,oBAAV,EAAgC;AACvG,YAAI3C,KAAK,CAACtE,wDAASA;AAAC;AAAX,SAAT,EAAyC;AACrC;AACA,iBAAOsE,KAAK,CAACtE,wDAASA;AAAC;AAAX,WAAL,CAAoCH,0EAA2BA;AAAC;AAAhE,YAAuGoH,oBAAvG,CAAP;AACH,SAJsG,CAKvG;;;AACA,YAAI,CAACxD,6BAAL,EAAoC;AAChCA,UAAAA,6BAA6B,GAAG,EAAhC;AACH;;AACDA,QAAAA,6BAA6B,CAAC5rF,IAA9B,CAAmCovF,oBAAnC;AACH,OAVD;;AAWA3C,MAAAA,KAAK,CAAC/zF,UAAN,GAAmB,UAAUj/B,MAAV,EAAkB41H,IAAlB,EAAwBC,UAAxB,EAAoCC,WAApC,EAAiD;AAChE,YAAI9C,KAAK,CAAC+C,aAAN,EAAJ,EAA2B;AACvB;AACH;;AACD,YAAIjI,yFAAiB,CAAC8H,IAAD,CAArB,EAA6B;AACzBtH,UAAAA,kFAAU,CAAC,oBAAD,CAAV;AACH;;AACD2E,QAAAA,KAAK,CAACh0F,UAAN,CAAiBj/B,MAAjB,EAAyB41H,IAAzB,EAA+BC,UAA/B,EAA2CC,WAA3C;;AACA,YAAI91H,MAAM,CAACg2H,aAAX,EAA0B;AACtBrJ,UAAAA,0FAAmB,CAAC3sH,MAAM,CAACg2H,aAAR,CAAnB;AACH;;AACD,YAAI;AACAjD,UAAAA,aAAa,GAAG9E,0FAAiB,CAACjB,8FAAqB,CAACgG,KAAK,CAACpB,UAAP,CAAtB,EAA0CgE,IAAI,CAACK,YAAL,IAAqBL,IAAI,CAACK,YAAL,EAA/D,CAAjC;;AACA,cAAI9D,6BAAJ,EAAmC;AAC/BrF,YAAAA,kFAAU,CAACqF,6BAAD,EAAgC,UAAU+D,WAAV,EAAuB;AAC7DN,cAAAA,IAAI,CAACrH,0EAA2BA;AAAC;AAA7B,eAAJ,CAAwE2H,WAAxE;AACH,aAFS,CAAV;AAGA/D,YAAAA,6BAA6B,GAAG,IAAhC;AACH;;AACD,cAAIT,SAAS,GAAGyE,iBAAiB,CAACn2H,MAAD,CAAjC;;AACAyxH,UAAAA,mBAAmB,CAACC,SAAD,CAAnB;;AACAO,UAAAA,2BAA2B,GAAG,IAAIxB,8FAAJ,CAA+BuC,KAAK,CAACtE,wDAASA;AAAC;AAAX,WAApC,CAA9B;AACAsD,UAAAA,gBAAgB,GAAG,IAAIxB,wEAAJ,CAAoBwC,KAApB,EAA2BtB,SAAS,CAAC9B,yEAA0BA;AAAC;AAA5B,WAApC,EAAyGoD,KAAK,CAACtE,wDAASA;AAAC;AAAX,WAA9G,EAA8IuD,2BAA9I,CAAnB;AACAC,UAAAA,qBAAqB,GAAG,IAAIxB,kFAAJ,CAAyBsC,KAAK,CAACpE,4DAAaA;AAAC;AAAf,WAAL,EAAzB,EAAuE,UAAUtnG,QAAV,EAAoB8uG,OAApB,EAA6BC,aAA7B,EAA4C;AAAE,mBAAOC,kBAAkB,CAAChvG,QAAD,EAAW8uG,OAAX,EAAoBC,aAApB,CAAzB;AAA8D,WAAnL,CAAxB;;AACAE,UAAAA,0BAA0B,CAAC7E,SAAD,EAAY1xH,MAAZ,CAA1B;;AACA8xH,UAAAA,cAAc,GAAG,IAAInB,4CAAJ,CAAWqC,KAAK,CAACpE,4DAAaA;AAAC;AAAf,WAAL,EAAX,EAAyD,YAAzD,CAAjB;;AACAkD,UAAAA,cAAc,CAACx6G,MAAf,GACI,UAAUxG,IAAV,EAAgB4M,GAAhB,EAAqB3E,QAArB,EAA+Bi1D,UAA/B,EAA2C+lD,YAA3C,EAAyD;AACrD,gBAAI,CAAC/lD,UAAL,EAAiB;AACbA,cAAAA,UAAU,GAAG,EAAb;AACH;;AACD,gBAAI,CAAC+lD,YAAL,EAAmB;AACfA,cAAAA,YAAY,GAAG,EAAf;AACH;;AACD/lD,YAAAA,UAAU,CAACj1D,QAAX,GAAsBA,QAAQ,CAACm3G,6DAAcA;AAAC;AAAhB,aAAR,EAAtB;;AACA8C,YAAAA,KAAK,CAACQ,UAAN,CAAiB;AAAE1iH,cAAAA,IAAI,EAAEA,IAAR;AAAck9D,cAAAA,UAAU,EAAEA,UAA1B;AAAsC+lD,cAAAA,YAAY,EAAEA;AAApD,aAAjB;AACH,WAVL,CAfA,CA0BA;;;AACAhC,UAAAA,aAAa,GAAG,IAAIpB,4CAAJ,CAAWqC,KAAK,CAACpE,4DAAaA;AAAC;AAAf,WAAL,EAAX,EAAyD,eAAzD,CAAhB;;AACAmD,UAAAA,aAAa,CAACz6G,MAAd,GAAuB,UAAUxG,IAAV,EAAgB4M,GAAhB,EAAqB3E,QAArB,EAA+Bi1D,UAA/B,EAA2C+lD,YAA3C,EAAyD;AAC5E;AACA,gBAAIjG,yFAAiB,CAAC9/C,UAAD,CAArB,EAAmC;AAC/BA,cAAAA,UAAU,GAAG,EAAb;AACH;;AACDA,YAAAA,UAAU,CAACj1D,QAAX,GAAsBA,QAAQ,CAACm3G,6DAAcA;AAAC;AAAhB,aAAR,EAAtB;AACA,gBAAIsG,YAAY,GAAG;AACf1lH,cAAAA,IAAI,EAAEA,IADS;AAEfujH,cAAAA,GAAG,EAAE32G,GAFU;AAGfswD,cAAAA,UAAU,EAAEA,UAHG;AAIf+lD,cAAAA,YAAY,EAAEA;AAJC,aAAnB;;AAMAf,YAAAA,KAAK,CAAChD,0EAA2BA;AAAC;AAA7B,aAAL,CAAsEwG,YAAtE,EAAoFxoD,UAApF;AACH,WAbD;;AAcA,cAAI2/C,iFAAS,EAAb,EAAiB;AACb8I,YAAAA,wBAAwB,CAAC/E,SAAD,CAAxB;;AACAgF,YAAAA,qBAAqB,CAAChF,SAAD,CAArB;AACH;AACJ,SA9CD,CA+CA,OAAOzmF,CAAP,EAAU;AACN;AACA+nF,UAAAA,KAAK,CAAC2D,cAAN,CAAqB,KAArB;;AACA,gBAAM1rF,CAAN;AACH;AACJ,OA/DD;;AAgEA+nF,MAAAA,KAAK,CAAC4D,WAAN,GAAoB,UAAUC,SAAV,EAAqBC,WAArB,EAAkC;AAClD9E,QAAAA,gBAAgB,IAAIA,gBAAgB,CAAC+E,QAAjB,CAA0BF,SAA1B,EAAqCC,WAArC,CAApB,CADkD,CAElD;;AACA5J,QAAAA,iFAAQ,CAACztG,MAAD,EAAS,IAAT,EAAe,IAAf,EAAqBszG,aAArB,CAAR;;AACAI,QAAAA,aAAa;AAChB,OALD;;AAMA,eAASgD,iBAAT,CAA2Bn2H,MAA3B,EAAmC;AAC/B,YAAI+N,GAAG,GAAGg/G,sGAA6B,CAAC,IAAD,EAAO/sH,MAAP,EAAegzH,KAAK,CAACtE,wDAASA;AAAC;AAAX,SAApB,CAAvC;AACA,YAAIkD,UAAU,GAAGoB,KAAK,CAACpB,UAAvB,CAF+B,CAG/B;;AACA,YAAIoF,QAAQ,GAAG5F,iBAAiB,CAACpxH,MAAD,CAAhC;;AACA,YAAI0xH,SAAS,GAAGsB,KAAK,CAAChzH,MAAN,GAAe+N,GAAG,CAACkpH,SAAJ,CAAcrF,UAAd,CAA/B;;AACA,YAAIoF,QAAQ,KAAKrkF,SAAjB,EAA4B;AACxBw7E,UAAAA,qFAAa,CAAC6I,QAAD,EAAW,UAAUE,KAAV,EAAiB1lH,KAAjB,EAAwB;AAC5C;AACAkgH,YAAAA,SAAS,CAACwF,KAAD,CAAT,GAAmBnpH,GAAG,CAACopH,SAAJ,CAAcvF,UAAd,EAA0BsF,KAA1B,EAAiC1lH,KAAjC,CAAnB;;AACA,gBAAIkgH,SAAS,CAACwF,KAAD,CAAT,KAAqBvkF,SAAzB,EAAoC;AAChC++E,cAAAA,SAAS,GAAGlgH,KAAZ;AACH;AACJ,WANY,CAAb;AAOH;;AACD,eAAOkgH,SAAP;AACH;;AACD,eAAS6E,0BAAT,CAAoC7E,SAApC,EAA+C1xH,MAA/C,EAAuD;AACnDoyH,QAAAA,6BAA6B,GAAGV,SAAS,CAACpC,yEAA0BA;AAAC;AAA5B,SAAT,IAAoFtvH,MAAM,CAACsvH,yEAA0BA;AAAC;AAA5B,SAA1H;;AACA8H,QAAAA,gCAAgC;AACnC;AACD;AACZ;AACA;AACA;AACA;;;AACY,eAASd,kBAAT,CAA4BhvG,QAA5B,EAAsC8uG,OAAtC,EAA+CC,aAA/C,EAA8D;AAC1D,YAAIroD,UAAU,GAAG;AAAEqpD,UAAAA,QAAQ,EAAE/vG,QAAZ;AAAsBgwG,UAAAA,OAAO,EAAElB;AAA/B,SAAjB;;AACApD,QAAAA,KAAK,CAACiB,WAAN,CAAkB;AACdnjH,UAAAA,IAAI,EAAE,eADQ;AAEdymH,UAAAA,OAAO,EAAElB,aAFK;AAGdvkG,UAAAA,GAAG,EAAEukG,aAHS;AAIdtkG,UAAAA,GAAG,EAAEskG,aAJS;AAKdmB,UAAAA,WAAW,EAAE;AALC,SAAlB,EAMGxpD,UANH;AAOH;;AACD,eAASopD,gCAAT,GAA4C;AACxC,YAAI,CAAC/E,4BAAD,IAAiCD,6BAArC,EAAoE;AAChE,cAAIqF,kBAAkB,GAAG,CAAC,sBAAD,EAAyB,iBAAzB,CAAzB;;AACA,cAAIC,uBAAuB,GAAG,UAAUC,QAAV,EAAoB;AAC9C,gBAAIvF,6BAA6B,IAAIuF,QAAQ,CAACC,QAAT,KAAsB3L,wFAAoB,CAAC0C,6DAAcA;AAAC;AAAhB,aAA/E,EAAwH;AACpH,kBAAIkJ,UAAU,GAAGF,QAAQ,CAACG,QAA1B;;AACA,kBAAID,UAAJ,EAAgB;AACZ,qBAAK,IAAI5gH,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGwgH,kBAAkB,CAACjI,0DAAWA;AAAC;AAAb,iBAAtC,EAA0Ev4G,CAAC,EAA3E,EAA+E;AAC3E,sBAAI4gH,UAAU,CAAC3pE,MAAX,IAAqB2pE,UAAU,CAAC3pE,MAAX,CAAkBx1C,OAAlB,CAA0B++G,kBAAkB,CAACxgH,CAAD,CAA5C,KAAoD,CAA7E,EAAgF;AAC5E,2BAAO,KAAP;AACH;AACJ;AACJ;AACJ;;AACD,mBAAO,IAAP;AACH,WAZD;;AAaA+7G,UAAAA,KAAK,CAACzE,0EAA2BA;AAAC;AAA7B,WAAL,CAAyEmJ,uBAAzE;;AACArF,UAAAA,4BAA4B,GAAG,IAA/B;AACH;AACJ;;AACD,eAASqD,kBAAT,CAA4B9B,SAA5B,EAAuC5lD,UAAvC,EAAmD;AAC/C,YAAI0lD,aAAa,GAAGtH,0FAAmB,CAACwH,SAAD,EAAYhI,6EAAS,CAAC+C,6DAAcA;AAAC;AAAhB,SAArB,EAA8D/C,6EAAS,CAACqD,iEAAkBA;AAAC;AAApB,SAAvE,EAAwH+D,KAAK,CAACpE,4DAAaA;AAAC;AAAf,SAAL,EAAxH,EAAsK5gD,UAAtK,CAAvC;;AACAglD,QAAAA,KAAK,CAACtE,wDAASA;AAAC;AAAX,SAAL,CAAoCyB,yDAAUA;AAAC;AAA/C,UAAoEuD,aAApE;AACH;;AACD,eAAS+C,wBAAT,CAAkC/E,SAAlC,EAA6C;AACzC,YAAI2D,OAAO,GAAG5H,iFAAS,EAAvB;;AACA,YAAIsK,IAAI,GAAGvK,mFAAW,CAAC,IAAD,CAAtB;AACAgF,QAAAA,yBAAyB,GAAGd,SAAS,CAAC7C,yEAA0BA;AAAC;AAA5B,SAArC;;AACA,YAAI,CAAC2D,yBAAD,IAA8B,CAACC,0BAA/B,IAA6D,CAACf,SAAS,CAACsG,yBAA5E,EAAuG;AACnG;AACA9E,UAAAA,QAAQ,CAACrG,wFAAe,CAACwI,OAAD,EAAU,SAAV,EAAqB;AACzC4C,YAAAA,EAAE,EAAElF,aADqC;AAEzCmF,YAAAA,GAAG,EAAE,UAAUC,WAAV,EAAuBh2H,OAAvB,EAAgCub,GAAhC,EAAqC83G,UAArC,EAAiDC,YAAjD,EAA+D9+G,KAA/D,EAAsE;AACvE,kBAAI,CAAC67G,yBAAD,IAA8B2F,WAAW,CAACC,IAAZ,KAAqB,IAAvD,EAA6D;AACzDpF,gBAAAA,KAAK,CAACzC,4DAAaA;AAAC;AAAf,iBAAL,CAA4C3E,6EAAS,CAAC0E,0EAA2BA;AAAC;AAA7B,iBAAT,CAAyEnuH,OAAzE,EAAkFub,GAAlF,EAAuF83G,UAAvF,EAAmGC,YAAnG,EAAiH9+G,KAAjH,EAAwHwhH,WAAW,CAAChY,GAApI,CAA5C;AACH;AACJ;AANwC,WAArB,EAOrB,KAPqB,CAAhB,CAAR;;AAQAsS,UAAAA,0BAA0B,GAAG,IAA7B;AACH;;AACD4F,QAAAA,qCAAqC,CAAC3G,SAAD,EAAY2D,OAAZ,EAAqB0C,IAArB,CAArC;AACH;;AACD,eAASrB,qBAAT,CAA+BhF,SAA/B,EAA0C;AACtC,YAAI4G,GAAG,GAAG7K,iFAAS,EAAnB;AACA,YAAIsK,IAAI,GAAGvK,mFAAW,CAAC,IAAD,CAAtB;AACA8E,QAAAA,wBAAwB,GAAGZ,SAAS,CAAC3C,yEAA0BA;AAAC;AAA5B,SAAT,KAAgF,IAA3G;AACA;AAChB;AACA;;AACgB,YAAIuJ,GAAG,IAAIhG,wBAAP,IAAmC5E,kFAAU,EAAjD,EAAqD;AACjD,cAAI6K,QAAQ,GAAGhL,kFAAU,EAAzB;;AACA,cAAIM,kFAAU,CAAC0K,QAAQ,CAACC,SAAV,CAAV,IAAkC3K,kFAAU,CAAC0K,QAAQ,CAACl3C,YAAV,CAA5C,IAAuE,OAAOyoC,KAAP,KAAiBuE,qFAA5F,EAA0G;AACtGoK,YAAAA,mBAAmB,CAAC/G,SAAD,EAAY4G,GAAZ,EAAiBC,QAAjB,EAA2BR,IAA3B,CAAnB;AACH;AACJ;AACJ;;AACD,eAASW,uBAAT,GAAmC;AAC/B,YAAIC,mBAAmB,GAAG,IAA1B;;AACA,YAAI3F,KAAK,CAACtE,wDAASA;AAAC;AAAX,SAAL,IAAuCsE,KAAK,CAACtE,wDAASA;AAAC;AAAX,SAAL,CAAoCkK,WAA/E,EAA4F;AACxFD,UAAAA,mBAAmB,GAAG3F,KAAK,CAACtE,wDAASA;AAAC;AAAX,WAAL,CAAoCkK,WAApC,CAAgD,KAAhD,CAAtB;AACH;;AACD,YAAI,CAACD,mBAAL,EAA0B;AACtB;AACA,cAAI3qD,UAAU,GAAGglD,KAAK,CAACtE,wDAASA;AAAC;AAAX,WAAL,CAAoCmK,SAApC,CAA8C7M,6FAA9C,CAAjB;;AACA,cAAIh+C,UAAJ,EAAgB;AACZ,gBAAIp9D,OAAO,GAAGo9D,UAAU,CAAC8qD,MAAX,CAAkBloH,OAAhC;;AACA,gBAAIA,OAAJ,EAAa;AACT+nH,cAAAA,mBAAmB,GAAGzM,8GAAsC,CAACt7G,OAAO,CAACmoH,cAAT,CAA5D;AACH;AACJ;AACJ;;AACD,eAAOJ,mBAAP;AACH;AACD;AACZ;AACA;;;AACY,eAASF,mBAAT,CAA6B/G,SAA7B,EAAwC4G,GAAxC,EAA6Cl3C,OAA7C,EAAsD22C,IAAtD,EAA4D;AACxD,YAAIiB,UAAU,GAAGtH,SAAS,CAAC/B,+DAAgBA;AAAC;AAAlB,SAAT,IAAwD,EAAzE;;AACA,iBAASsJ,gBAAT,GAA4B;AACxB,cAAI3G,wBAAJ,EAA8B;AAC1BzB,YAAAA,cAAc,CAACyH,GAAD,EAAMnM,sFAAc,CAAC6M,UAAU,GAAG,gBAAd,CAApB,CAAd;AACH;AACJ;;AACD,iBAASE,sBAAT,GAAkC;AAC9B;AACA,cAAIpG,QAAJ,EAAc;AACVD,YAAAA,QAAQ,GAAGC,QAAX;AACAA,YAAAA,QAAQ,GAAGiF,IAAI,IAAIA,IAAI,CAAC1I,wDAASA;AAAC;AAAX,aAAZ,IAA8C,EAAzD;AACH,WAHD,MAIK;AACDyD,YAAAA,QAAQ,GAAGiF,IAAI,IAAIA,IAAI,CAAC1I,wDAASA;AAAC;AAAX,aAAZ,IAA8C,EAAzD;AACH;;AACD,cAAIiD,wBAAJ,EAA8B;AAC1B,gBAAIqG,mBAAmB,GAAGD,uBAAuB,EAAjD;;AACA,gBAAIC,mBAAJ,EAAyB;AACrBA,cAAAA,mBAAmB,CAACQ,UAApB,CAA+B/L,sFAAa,EAA5C;AACA,kBAAIgM,iBAAiB,GAAG,WAAxB;;AACA,kBAAIrB,IAAI,IAAIA,IAAI,CAACz2C,QAAjB,EAA2B;AACvB83C,gBAAAA,iBAAiB,GAAGrB,IAAI,CAACz2C,QAAL,IAAiBy2C,IAAI,CAACn5F,IAAL,IAAa,EAA9B,CAApB;AACH,eALoB,CAMrB;;;AACA+5F,cAAAA,mBAAmB,CAACU,OAApB,CAA4BhN,0FAAkB,CAAC2G,KAAK,CAACpE,4DAAaA;AAAC;AAAf,eAAL,EAAD,EAA+CwK,iBAA/C,CAA9C;AACH;;AACD55G,YAAAA,UAAU,CAAE,UAAU60G,GAAV,EAAe;AACvB;AACArB,cAAAA,KAAK,CAAC5C,mEAAoBA;AAAC;AAAtB,eAAL,CAAwD;AAAEoE,gBAAAA,MAAM,EAAEH,GAAV;AAAermD,gBAAAA,UAAU,EAAE;AAAEj1D,kBAAAA,QAAQ,EAAE;AAAZ;AAA3B,eAAxD,EAFuB,CAEgF;;AAC1G,aAHU,CAGRsc,IAHQ,CAGH29F,KAHG,EAGIH,QAHJ,CAAD,EAGgBG,KAAK,CAACnB,gBAHtB,CAAV;AAIH;AACJ;;AACD,YAAI,CAACU,qBAAL,EAA4B;AACxBW,UAAAA,QAAQ,CAACrG,wFAAe,CAACzrC,OAAD,EAAU,WAAV,EAAuB;AAC3C62C,YAAAA,EAAE,EAAElF,aADuC;AAE3CmF,YAAAA,GAAG,EAAE,YAAY;AACb,kBAAI5F,wBAAJ,EAA8B;AAC1BzB,gBAAAA,cAAc,CAACyH,GAAD,EAAMnM,sFAAc,CAAC6M,UAAU,GAAG,WAAd,CAApB,CAAd;;AACAnI,gBAAAA,cAAc,CAACyH,GAAD,EAAMnM,sFAAc,CAAC6M,UAAU,GAAG,gBAAd,CAApB,CAAd;AACH;AACJ;AAP0C,WAAvB,EAQrB,IARqB,CAAhB,CAAR;;AASA9F,UAAAA,QAAQ,CAACrG,wFAAe,CAACzrC,OAAD,EAAU,cAAV,EAA0B;AAC9C62C,YAAAA,EAAE,EAAElF,aAD0C;AAE9CmF,YAAAA,GAAG,EAAE,YAAY;AACb,kBAAI5F,wBAAJ,EAA8B;AAC1BzB,gBAAAA,cAAc,CAACyH,GAAD,EAAMnM,sFAAc,CAAC6M,UAAU,GAAG,cAAd,CAApB,CAAd;;AACAnI,gBAAAA,cAAc,CAACyH,GAAD,EAAMnM,sFAAc,CAAC6M,UAAU,GAAG,gBAAd,CAApB,CAAd;AACH;AACJ;AAP6C,WAA1B,EAQrB,IARqB,CAAhB,CAAR;;AASA7L,UAAAA,gFAAO,CAACmL,GAAD,EAAMU,UAAU,GAAG,UAAnB,EAA+BC,gBAA/B,EAAiDlG,aAAjD,CAAP;AACA5F,UAAAA,gFAAO,CAACmL,GAAD,EAAMU,UAAU,GAAG,gBAAnB,EAAqCE,sBAArC,EAA6DnG,aAA7D,CAAP;AACAR,UAAAA,qBAAqB,GAAG,IAAxB;AACH;AACJ;;AACD,eAAS8F,qCAAT,CAA+C3G,SAA/C,EAA0D2D,OAA1D,EAAmEiE,SAAnE,EAA8E;AAC1E5G,QAAAA,wCAAwC,GAAGhB,SAAS,CAAC1C,yEAA0BA;AAAC;AAA5B,SAAT,KAAgG,IAA3I;;AACA,YAAI0D,wCAAwC,IAAI,CAACC,iCAAjD,EAAoF;AAChF;AACAO,UAAAA,QAAQ,CAACrG,wFAAe,CAACwI,OAAD,EAAU,sBAAV,EAAkC;AACtD4C,YAAAA,EAAE,EAAElF,aADkD;AAEtDmF,YAAAA,GAAG,EAAE,UAAUC,WAAV,EAAuBxhH,KAAvB,EAA8B;AAC/B,kBAAI+7G,wCAAwC,IAAIyF,WAAW,CAACC,IAAZ,KAAqB,IAArE,EAA2E;AAAE;AACzEpF,gBAAAA,KAAK,CAACzC,4DAAaA;AAAC;AAAf,iBAAL,CAA4C3E,6EAAS,CAAC0E,0EAA2BA;AAAC;AAA7B,iBAAT,CAAyEU,UAAU,CAACr6G,KAAD,CAAnF,EAA4F2iH,SAAS,GAAGA,SAAS,CAACjK,wDAASA;AAAC;AAAX,iBAAZ,GAA6C,EAAlJ,EAAsJ,CAAtJ,EAAyJ,CAAzJ,EAA4J14G,KAA5J,EAAmKwhH,WAAW,CAAChY,GAA/K,CAA5C;AACH;AACJ;AANqD,WAAlC,EAOrB,KAPqB,CAAhB,CAAR;;AAQAwS,UAAAA,iCAAiC,GAAG,IAApC;AACAjB,UAAAA,SAAS,CAAC6H,gCAAV,GAA6C5G,iCAA7C;AACH;AACJ;AACD;AACZ;AACA;AACA;AACA;;;AACY,eAASgB,cAAT,CAAwB6F,QAAxB,EAAkCC,KAAlC,EAAyCC,GAAzC,EAA8C1rD,UAA9C,EAA0D2rD,SAA1D,EAAqE;AACjE3G,QAAAA,KAAK,CAACpE,4DAAaA;AAAC;AAAf,SAAL,GAA6CgL,aAA7C,CAA2DJ,QAA3D,EAAqEC,KAArE,EAA4EC,GAA5E,EAAiF1rD,UAAjF,EAA6F2rD,SAA7F;AACH;;AACD,eAASxG,aAAT,GAAyB;AACrBrB,QAAAA,cAAc,GAAG,IAAjB;AACAC,QAAAA,aAAa,GAAG,IAAhB;AACAC,QAAAA,gBAAgB,GAAG,IAAnB;AACAC,QAAAA,2BAA2B,GAAG,IAA9B;AACAC,QAAAA,qBAAqB,GAAG,IAAxB;AACAC,QAAAA,6BAA6B,GAAG,IAAhC;AACAC,QAAAA,6BAA6B,GAAG,KAAhC;AACAC,QAAAA,4BAA4B,GAAG,KAA/B;AACAC,QAAAA,wBAAwB,GAAG,KAA3B;AACAC,QAAAA,qBAAqB,GAAG,KAAxB;AACAC,QAAAA,yBAAyB,GAAG,KAA5B;AACAC,QAAAA,0BAA0B,GAAG,KAA7B;AACAC,QAAAA,wCAAwC,GAAG,KAA3C;AACAC,QAAAA,iCAAiC,GAAG,KAApC,CAdqB,CAerB;AACA;AACA;AACA;;AACAC,QAAAA,kBAAkB,GAAG,CAArB,CAnBqB,CAoBrB;;AACA,YAAIlzG,QAAQ,GAAG8tG,mFAAW,CAAC,IAAD,CAA1B;AACAqF,QAAAA,QAAQ,GAAGnzG,QAAQ,IAAIA,QAAQ,CAAC2vG,wDAASA;AAAC;AAAX,SAApB,IAAsD,EAAjE;AACAyD,QAAAA,QAAQ,GAAG,IAAX;AACAC,QAAAA,aAAa,GAAG,IAAhB;AACH,OAnjBwD,CAojBzD;;;AACA7E,MAAAA,0FAAkB,CAAC8E,KAAD,EAAQ,kBAAR,EAA4B,YAAY;AAAE,eAAOhB,gBAAP;AAA0B,OAApE,CAAlB;AACA9D,MAAAA,0FAAkB,CAAC8E,KAAD,EAAQ,6BAAR,EAAuC,YAAY;AAAE,eAAOf,2BAAP;AAAqC,OAA1F,CAAlB;AACA/D,MAAAA,0FAAkB,CAAC8E,KAAD,EAAQ,uBAAR,EAAiC,YAAY;AAAE,eAAOd,qBAAP;AAA+B,OAA9E,CAAlB;AACAhE,MAAAA,0FAAkB,CAAC8E,KAAD,EAAQ,eAAR,EAAyB,YAAY;AAAE,eAAO,MAAMD,aAAb;AAA6B,OAApE,CAAlB;AACH,KAzjBW,CAAZ;AA0jBA,WAAO5hF,KAAP;AACH,GAzlBkD,CA0lBvD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACIwgF,EAAAA,eAAe,CAACkI,OAAhB,GAA0B,QAA1B,CA5mBmD,CA4mBf;;AACpClI,EAAAA,eAAe,CAACmI,gBAAhB,GAAmC1I,iBAAnC;AACA,SAAOO,eAAP;AACH,CA/mBoC,CA+mBnC/E,wFA/mBmC,CAArC;;;;;;;;;;;;;;;;;;;;;;;AC7EA;AACA;AACA;AACA;AAGA;AACA;AACA;AACA;AACA,IAAI0N,YAAY,GAAG,IAAnB;;AACA,SAASC,WAAT,GAAuB;AACnB,MAAID,YAAY,IAAI,IAApB,EAA0B;AACtB,QAAI;AACAA,MAAAA,YAAY,GAAG,CAAC,EAAEE,IAAI,IAAIA,IAAI,YAAYC,iBAA1B,CAAhB;AACH,KAFD,CAGA,OAAOxvF,CAAP,EAAU;AACNqvF,MAAAA,YAAY,GAAG,KAAf;AACH;AACJ;;AACD,SAAOA,YAAP;AACH;AACD;AACA;AACA;;;AACA,IAAI9J,eAAe;AAAG;AAAe,YAAY;AAC7C,WAASA,eAAT,CAAyBkK,WAAzB,EAAsCC,wBAAtC,EAAgE/E,IAAhE,EAAsEgF,0BAAtE,EAAkG;AAC9FnP,IAAAA,sEAAY,CAAC+E,eAAD,EAAkB,IAAlB,EAAwB,UAAUwC,KAAV,EAAiB;AACjD,UAAI6H,UAAU,GAAG,IAAjB;AACA,UAAIC,SAAS,GAAG,EAAhB;AACA,UAAIC,uBAAuB,GAAG,KAA9B;;AACA,UAAIC,OAAJ;;AACA,UAAIpF,IAAJ,EAAU;AACNoF,QAAAA,OAAO,GAAGpF,IAAI,CAAC31F,MAAf;AACH;;AACD,eAASg7F,cAAT,CAAwBC,OAAxB,EAAiC;AAC7B,YAAItF,IAAJ,EAAU;AACNA,UAAAA,IAAI,CAACuF,KAAL,CAAWD,OAAX;AACH;AACJ;;AACD,eAASE,WAAT,GAAuB;AACnB,YAAI,CAACP,UAAL,EAAiB;AACbA,UAAAA,UAAU,GAAGr7G,UAAU,CAAE,YAAY;AACjCq7G,YAAAA,UAAU,GAAG,IAAb;AACA,gBAAIQ,QAAQ,GAAGP,SAAS,CAAC9hB,KAAV,CAAgB,CAAhB,CAAf;AACA,gBAAIsiB,OAAO,GAAG,KAAd;AACAR,YAAAA,SAAS,GAAG,EAAZ;AACAhO,YAAAA,kFAAU,CAACuO,QAAD,EAAW,UAAUvgH,IAAV,EAAgB;AACjC,kBAAI,CAACA,IAAI,EAAT,EAAa;AACT;AACAggH,gBAAAA,SAAS,CAACv0F,IAAV,CAAezrB,IAAf;AACH,eAHD,MAIK;AACDwgH,gBAAAA,OAAO,GAAG,IAAV;AACH;AACJ,aARS,CAAV;;AASA,gBAAIR,SAAS,CAACtL,0DAAWA;AAAC;AAAb,aAAT,GAA8C,CAAlD,EAAqD;AACjD4L,cAAAA,WAAW;AACd;;AACD,gBAAIE,OAAJ,EAAa;AACT;AACAL,cAAAA,cAAc,CAAC,IAAD,CAAd;AACH;AACJ,WArBsB,EAqBnB,GArBmB,CAAvB;AAsBH;AACJ;;AACD,eAASM,SAAT,CAAmB/Z,EAAnB,EAAuB;AACnBsZ,QAAAA,SAAS,CAACv0F,IAAV,CAAei7E,EAAf;;AACA4Z,QAAAA,WAAW;AACd;;AACDpI,MAAAA,KAAK,CAAC5C,mEAAoBA;AAAC;AAAtB,OAAL,GAA0D,UAAU+D,QAAV,EAAoBV,gBAApB,EAAsC;AAC5F,YAAI3iH,IAAI,GAAGqjH,QAAQ,CAACrjH,IAApB;;AACA,YAAIg9G,yFAAiB,CAACh9G,IAAD,CAAjB,IAA2B,OAAOA,IAAP,KAAgB,QAA/C,EAAyD;AACrD,cAAIyjH,GAAG,GAAGlH,mFAAW,EAArB;AACAv8G,UAAAA,IAAI,GAAGqjH,QAAQ,CAACrjH,IAAT,GAAgByjH,GAAG,IAAIA,GAAG,CAAC5jH,KAAX,IAAoB,EAA3C;AACH;;AACD,YAAI0jH,GAAG,GAAGF,QAAQ,CAACE,GAAnB;;AACA,YAAIvG,yFAAiB,CAACuG,GAAD,CAAjB,IAA0B,OAAOA,GAAP,KAAe,QAA7C,EAAuD;AACnD,cAAImH,UAAU,GAAGhO,mFAAW,EAA5B;AACA6G,UAAAA,GAAG,GAAGF,QAAQ,CAACE,GAAT,GAAemH,UAAU,IAAIA,UAAU,CAACnM,wDAASA;AAAC;AAAX,WAAxB,IAA0D,EAA/E;AACH,SAV2F,CAW5F;AACA;AACA;;;AACA,YAAI,CAACuL,0BAA0B,CAACV,0EAA2BA;AAAC;AAA7B,SAA1B,EAAL,EAA2G;AACvGQ,UAAAA,WAAW,CAAC1K,0EAA2BA;AAAC;AAA7B,WAAX,CAA4EmE,QAA5E,EAAsFV,gBAAtF;;AACAwH,UAAAA,cAAc,CAAC,IAAD,CAAd;;AACA,cAAI,CAACV,WAAW,EAAhB,EAAoB;AAChB;AACA5G,YAAAA,sFAAc,CAACqH,OAAD,EAAU;AAAE;AAAZ,cAA4C;AAAG;AAA/C,cAAuG,iLAAvG,CAAd;AACH;;AACD;AACH;;AACD,YAAIS,YAAY,GAAG,KAAnB;AACA,YAAIC,cAAJ,CAxB4F,CAyB5F;;AACA,YAAI3U,KAAK,GAAG6T,0BAA0B,CAACX,0EAA2BA;AAAC;AAA7B,SAA1B,GAA6FG,oEAAqBA;AAAC;AAAnH,SAAZ;;AACA,YAAIrT,KAAK,GAAG,CAAZ,EAAe;AACX2U,UAAAA,cAAc,GAAG3B,4FAAqB,CAAChT,KAAD,EAAQ,CAAC,IAAI1+D,IAAJ,EAAT,CAAtC;;AACA,cAAI,CAACuyE,0BAA0B,CAACP,0EAA2BA;AAAC;AAA7B,WAA1B,CAA4FqB,cAA5F,CAAL,EAAkH;AAC9GA,YAAAA,cAAc,GAAG/oF,SAAjB;AACH;AACJ,SAhC2F,CAiC5F;AACA;;;AACA,YAAI55B,QAAJ;;AACA,YAAI,CAAC+0G,yFAAiB,CAAC2F,gBAAD,CAAlB,IACA,CAAC3F,yFAAiB,CAAC2F,gBAAgB,CAACuG,4DAAaA;AAAC;AAAf,SAAjB,CADtB,EACgF;AAC5EjhH,UAAAA,QAAQ,GAAG06G,gBAAgB,CAACuG,4DAAaA;AAAC;AAAf,WAA3B;AACH;;AACD,YAAIW,wBAAwB,IAAI,CAAC3mG,KAAK,CAACjb,QAAD,CAAtC,EAAkD;AAC9C,cAAIib,KAAK,CAACjb,QAAD,CAAT,EAAqB;AACjB;AACA,gBAAI,CAAC06G,gBAAL,EAAuB;AACnBA,cAAAA,gBAAgB,GAAG,EAAnB;AACH;;AACDA,YAAAA,gBAAgB,CAACuG,4DAAaA;AAAC;AAAf,aAAhB,GAAyD0B,cAAzD;AACH,WAP6C,CAQ9C;;;AACAhB,UAAAA,WAAW,CAAC1K,0EAA2BA;AAAC;AAA7B,WAAX,CAA4EmE,QAA5E,EAAsFV,gBAAtF;;AACAwH,UAAAA,cAAc,CAAC,IAAD,CAAd;;AACAQ,UAAAA,YAAY,GAAG,IAAf;AACH,SApD2F,CAqD5F;;;AACA,YAAIE,gBAAgB,GAAG,KAAvB;;AACA,YAAI,CAAClI,gBAAL,EAAuB;AACnBA,UAAAA,gBAAgB,GAAG,EAAnB;AACH,SAzD2F,CA0D5F;;;AACA8H,QAAAA,SAAS,CAAC,YAAY;AAClB,cAAIK,SAAS,GAAG,KAAhB;;AACA,cAAI;AACA,gBAAIhB,0BAA0B,CAACT,0EAA2BA;AAAC;AAA7B,aAA1B,EAAJ,EAA0G;AACtGyB,cAAAA,SAAS,GAAG,IAAZ;AACA,kBAAIlH,mBAAmB,GAAG;AACtB5jH,gBAAAA,IAAI,EAAEA,IADgB;AAEtBujH,gBAAAA,GAAG,EAAEA;AAFiB,eAA1B;;AAIAuG,cAAAA,0BAA0B,CAAC/K,0EAA2BA;AAAC;AAA7B,eAA1B,CAAuG6E,mBAAvG;;AACA,kBAAI,CAACA,mBAAmB,CAACmH,OAArB,IAAgC,CAACJ,YAArC,EAAmD;AAC/C;AACA;AACAhI,gBAAAA,gBAAgB,CAACuG,4DAAaA;AAAC;AAAf,iBAAhB,GAAyD0B,cAAzD;;AACAhB,gBAAAA,WAAW,CAAC1K,0EAA2BA;AAAC;AAA7B,iBAAX,CAA4EmE,QAA5E,EAAsFV,gBAAtF;AACH,eALD,MAMK;AACD,oBAAI,CAACgI,YAAL,EAAmB;AACfhI,kBAAAA,gBAAgB,CAACuG,4DAAaA;AAAC;AAAf,mBAAhB,GAAyDtF,mBAAmB,CAACz0C,UAA7E;;AACAy6C,kBAAAA,WAAW,CAAC1K,0EAA2BA;AAAC;AAA7B,mBAAX,CAA4EmE,QAA5E,EAAsFV,gBAAtF;AACH;;AACD,oBAAI,CAACsH,uBAAL,EAA8B;AAC1BL,kBAAAA,WAAW,CAACzK,0EAA2BA;AAAC;AAA7B,mBAAX,CAAuFyE,mBAAvF,EAA4GjB,gBAA5G;;AACAsH,kBAAAA,uBAAuB,GAAG,IAA1B;AACH;AACJ;AACJ,aAvBD,MAwBK,IAAIhU,KAAK,GAAG,CAAR,IAAagT,4FAAqB,CAAChT,KAAD,EAAQ,CAAC,IAAI1+D,IAAJ,EAAT,CAArB,GAA0CszE,gBAA3D,EAA6E;AAC9E;AACA;AACAC,cAAAA,SAAS,GAAG,IAAZ;;AACA,kBAAI,CAACH,YAAL,EAAmB;AACfhI,gBAAAA,gBAAgB,CAACuG,4DAAaA;AAAC;AAAf,iBAAhB,GAAyD2B,gBAAzD;;AACAjB,gBAAAA,WAAW,CAAC1K,0EAA2BA;AAAC;AAA7B,iBAAX,CAA4EmE,QAA5E,EAAsFV,gBAAtF;AACH;AACJ;AACJ,WAlCD,CAmCA,OAAOxoF,CAAP,EAAU;AACN0oF,YAAAA,sFAAc,CAACqH,OAAD,EAAU;AAAE;AAAZ,cAA6C;AAAG;AAAhD,cAA6F,oDAAoD1N,wFAAgB,CAACriF,CAAD,CAAjK,EAAsK;AAAE2oF,cAAAA,SAAS,EAAE3G,+EAAO,CAAChiF,CAAD;AAApB,aAAtK,CAAd;AACH;;AACD,iBAAO2wF,SAAP;AACH,SAzCQ,CAAT;AA0CH,OArGD;;AAsGA5I,MAAAA,KAAK,CAAC+D,QAAN,GAAiB,UAAUF,SAAV,EAAqBC,WAArB,EAAkC;AAC/C,YAAI+D,UAAJ,EAAgB;AACZ/9E,UAAAA,YAAY,CAAC+9E,UAAD,CAAZ;AACAA,UAAAA,UAAU,GAAG,IAAb;AACA,cAAIQ,QAAQ,GAAGP,SAAS,CAAC9hB,KAAV,CAAgB,CAAhB,CAAf;AACA,cAAI8iB,SAAS,GAAG,KAAhB;AACAhB,UAAAA,SAAS,GAAG,EAAZ;AACAhO,UAAAA,kFAAU,CAACuO,QAAD,EAAW,UAAUvgH,IAAV,EAAgB;AACjC,gBAAIA,IAAI,EAAR,EAAY;AACRghH,cAAAA,SAAS,GAAG,IAAZ;AACH;AACJ,WAJS,CAAV;AAKH;AACJ,OAbD;AAcH,KA/JW,CAAZ;AAgKH,GAlK4C,CAmKjD;AACA;AACI;AACA;AACA;;;AACAtL,EAAAA,eAAe,CAACuL,OAAhB,GAAwB,CAAxB;AAEA,SAAOvL,eAAP;AACH,CA3KoC,EAArC;;;;;;;;;;;;;;;;;;;;;;;ACzBA;AACA;AACA;AACA;AAGA;AACA;AACA;AACA;AACA,IAAIkM,oBAAoB,GAAG,OAA3B,EAAoC;;AACpC,IAAIC,aAAa,GAAG,CAAC,WAAD,EAAc,eAAd,EAA+B,aAA/B,EAA8C,sBAA9C,CAApB;;AACA,SAASC,6BAAT,GAAyC;AACrC,MAAIC,IAAI,GAAGX,sFAAc,EAAzB;AACA,SAAOW,IAAI,IAAI,CAAC,CAACA,IAAI,CAACC,MAAtB;AACH;;AACD,SAASC,uCAAT,GAAmD;AAC/C,MAAIF,IAAI,GAAGX,sFAAc,EAAzB;AACA,SAAOW,IAAI,IAAIA,IAAI,CAACG,gBAAb,IAAiCH,IAAI,CAACG,gBAAL,CAAsB,YAAtB,EAAoCxN,0DAAWA;AAAC;AAAhD,MAAwE,CAAhH;AACH;;AACD,SAASyN,6BAAT,GAAyC;AACrC,MAAIJ,IAAI,GAAGX,sFAAc,EAAzB;AACA,MAAIY,MAAM,GAAGD,IAAI,GAAGA,IAAI,CAACC,MAAR,GAAiB,CAAlC;AACA,SAAOA,MAAM,IACNA,MAAM,CAACI,iBAAP,GAA2B,CAD3B,IAEAJ,MAAM,CAAC1C,oEAAqBA;AAAC;AAAvB,GAAN,GAA8D,CAF9D,IAGA0C,MAAM,CAACL,kEAAmBA;AAAC;AAArB,GAAN,GAA0D,CAH1D,IAIAK,MAAM,CAACP,iEAAkBA;AAAC;AAApB,GAAN,GAAwD,CAJxD,IAKAO,MAAM,CAACR,kEAAmBA;AAAC;AAArB,GAAN,GAAyD,CALzD,IAMAQ,MAAM,CAACN,gEAAiBA;AAAC;AAAnB,GAAN,GAAsD,CANtD,IAOAM,MAAM,CAACV,+DAAgBA;AAAC;AAAlB,GAAN,GAAoD,CAPpD,IAQAU,MAAM,CAACK,UAAP,GAAoB,CAR3B;AASH;;AACD,SAASC,qBAAT,GAAiC;AAC7B,MAAIR,6BAA6B,EAAjC,EAAqC;AACjC,WAAOV,sFAAc,GAAGY,MAAxB;AACH;;AACD,SAAO,IAAP;AACH;;AACD,SAASO,+BAAT,GAA2C;AACvC,MAAIN,uCAAuC,EAA3C,EAA+C;AAC3C,WAAOb,sFAAc,GAAGG,uEAAwBA;AAAC;AAA5B,KAAd,CAA0E,YAA1E,EAAwF,CAAxF,CAAP;AACH;;AACD,SAAO,IAAP;AACH;AACD;AACA;AACA;;;AACA,SAASiB,sBAAT,GAAkC;AAC9B,MAAIC,SAAS,GAAG,EAAhB;;AACA,OAAK,IAAItmC,EAAE,GAAG,CAAd,EAAiBA,EAAE,GAAGnsD,SAAS,CAAC79B,MAAhC,EAAwCgqF,EAAE,EAA1C,EAA8C;AAC1CsmC,IAAAA,SAAS,CAACtmC,EAAD,CAAT,GAAgBnsD,SAAS,CAACmsD,EAAD,CAAzB;AACH;;AACD,MAAIumC,UAAU,GAAGvB,oFAAY,MAAM,EAAnC,CAL8B,CAM9B;;;AACA,MAAIj6C,SAAS,GAAGw7C,UAAU,CAACx7C,SAA3B;AACA,MAAIy7C,WAAW,GAAG,KAAlB;;AACA,MAAIz7C,SAAJ,EAAe;AACX,SAAK,IAAI/qE,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAG0lH,aAAa,CAACnN,0DAAWA;AAAC;AAAb,KAAjC,EAAqEv4G,CAAC,EAAtE,EAA0E;AACtEwmH,MAAAA,WAAW,GAAGA,WAAW,IAAIz7C,SAAS,CAACr6C,WAAV,GAAwBjvB,OAAxB,CAAgCikH,aAAa,CAAC1lH,CAAD,CAA7C,MAAsD,CAAC,CAApF;AACH;AACJ;;AACD,MAAIwmH,WAAJ,EAAiB;AACb;AACA,WAAO,KAAP;AACH,GAHD,MAIK;AACD;AACA,SAAK,IAAIxmH,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGsmH,SAAS,CAAC/N,0DAAWA;AAAC;AAAb,KAA7B,EAAiEv4G,CAAC,EAAlE,EAAsE;AAClE,UAAIsmH,SAAS,CAACtmH,CAAD,CAAT,GAAe,CAAf,IAAoBsmH,SAAS,CAACtmH,CAAD,CAAT,IAAgBylH,oBAAxC,EAA8D;AAC1D,eAAO,KAAP;AACH;AACJ;AACJ;;AACD,SAAO,IAAP;AACH;AACD;AACA;AACA;;;AACA,IAAIjM,0BAA0B;AAAG;AAAe,YAAY;AACxD,WAASA,0BAAT,CAAoCmF,IAApC,EAA0C;AACtC,QAAIoF,OAAO,GAAGmB,qFAAa,CAACvG,IAAD,CAA3B;;AACAnK,IAAAA,sEAAY,CAACgF,0BAAD,EAA6B,IAA7B,EAAmC,UAAUuC,KAAV,EAAiB;AAC5DA,MAAAA,KAAK,CAACnD,0EAA2BA;AAAC;AAA7B,OAAL,GAAoF,UAAU6E,mBAAV,EAA+B;AAC/GA,QAAAA,mBAAmB,CAACmH,OAApB,GAA8B,KAA9B;AACA;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACgB,YAAI6B,gBAAgB,GAAGL,+BAA+B,EAAtD;;AACA,YAAIP,MAAM,GAAGM,qBAAqB,EAAlC;;AACA,YAAIO,KAAK,GAAG,CAAZ;AACA,YAAIC,OAAO,GAAG,CAAd;AACA,YAAIz+F,OAAO,GAAG,CAAd;AACA,YAAI0D,QAAQ,GAAG,CAAf;AACA,YAAIg7F,GAAG,GAAG,CAAV;;AACA,YAAIH,gBAAgB,IAAIZ,MAAxB,EAAgC;AAC5B,cAAIY,gBAAJ,EAAsB;AAClBC,YAAAA,KAAK,GAAGD,gBAAgB,CAAC1D,4DAAaA;AAAC;AAAf,aAAxB;AACA;AACxB;AACA;AACA;AACA;;AACwB4D,YAAAA,OAAO,GAAGF,gBAAgB,CAAC/jH,SAAjB,KAA+B,CAA/B,GAAmC+jH,gBAAgB,CAACtB,+DAAgBA;AAAC;AAAlB,aAAnD,GAAiGrC,4FAAqB,CAAC2D,gBAAgB,CAAC/jH,SAAlB,EAA6B+jH,gBAAgB,CAACtB,+DAAgBA;AAAC;AAAlB,aAA7C,CAAhI;AACAj9F,YAAAA,OAAO,GAAG46F,4FAAqB,CAAC2D,gBAAgB,CAACI,YAAlB,EAAgCJ,gBAAgB,CAACjB,kEAAmBA;AAAC;AAArB,aAAhD,CAA/B;AACA55F,YAAAA,QAAQ,GAAGk3F,4FAAqB,CAAC2D,gBAAgB,CAACjB,kEAAmBA;AAAC;AAArB,aAAjB,EAAoEiB,gBAAgB,CAAClB,gEAAiBA;AAAC;AAAnB,aAApF,CAAhC;AACAqB,YAAAA,GAAG,GAAG9D,4FAAqB,CAAC2D,gBAAgB,CAACK,WAAlB,EAA+BL,gBAAgB,CAACpB,kEAAmBA;AAAC;AAArB,aAA/C,CAA3B;AACH,WAXD,MAYK;AACDqB,YAAAA,KAAK,GAAG5D,4FAAqB,CAAC+C,MAAM,CAAC1C,oEAAqBA;AAAC;AAAvB,aAAP,EAA8D0C,MAAM,CAACR,kEAAmBA;AAAC;AAArB,aAApE,CAA7B;AACAsB,YAAAA,OAAO,GAAG7D,4FAAqB,CAAC+C,MAAM,CAAC1C,oEAAqBA;AAAC;AAAvB,aAAP,EAA8D0C,MAAM,CAACV,+DAAgBA;AAAC;AAAlB,aAApE,CAA/B;AACAj9F,YAAAA,OAAO,GAAG46F,4FAAqB,CAAC+C,MAAM,CAACgB,YAAR,EAAsBhB,MAAM,CAACL,kEAAmBA;AAAC;AAArB,aAA5B,CAA/B;AACA55F,YAAAA,QAAQ,GAAGk3F,4FAAqB,CAAC+C,MAAM,CAACL,kEAAmBA;AAAC;AAArB,aAAP,EAA0DK,MAAM,CAACN,gEAAiBA;AAAC;AAAnB,aAAhE,CAAhC;AACAqB,YAAAA,GAAG,GAAG9D,4FAAqB,CAAC+C,MAAM,CAACiB,WAAR,EAAqBjB,MAAM,CAACR,kEAAmBA;AAAC;AAArB,aAA3B,CAA3B;AACH;;AACD,cAAIqB,KAAK,KAAK,CAAd,EAAiB;AACbhK,YAAAA,sFAAc,CAACqH,OAAD,EAAU;AAAE;AAAZ,cAA4C;AAAG;AAA/C,cAAsF,0CAAtF,EAAkI;AAAE2C,cAAAA,KAAK,EAAEA,KAAT;AAAgBC,cAAAA,OAAO,EAAEA,OAAzB;AAAkCz+F,cAAAA,OAAO,EAAEA,OAA3C;AAAoD0D,cAAAA,QAAQ,EAAEA,QAA9D;AAAwEg7F,cAAAA,GAAG,EAAEA;AAA7E,aAAlI,CAAd;AACH,WAFD,MAGK,IAAI,CAAC7K,KAAK,CAACqH,0EAA2BA;AAAC;AAA7B,WAAL,CAAuEsD,KAAvE,EAA8EC,OAA9E,EAAuFz+F,OAAvF,EAAgG0D,QAAhG,EAA0Gg7F,GAA1G,CAAL,EAAqH;AACtHlK,YAAAA,sFAAc,CAACqH,OAAD,EAAU;AAAE;AAAZ,cAA4C;AAAG;AAA/C,cAA+F,oEAA/F,EAAqK;AAAE2C,cAAAA,KAAK,EAAEA,KAAT;AAAgBC,cAAAA,OAAO,EAAEA,OAAzB;AAAkCz+F,cAAAA,OAAO,EAAEA,OAA3C;AAAoD0D,cAAAA,QAAQ,EAAEA,QAA9D;AAAwEg7F,cAAAA,GAAG,EAAEA;AAA7E,aAArK,CAAd;AACH,WAFI,MAGA,IAAIF,KAAK,GAAGnhE,IAAI,CAACkwC,KAAL,CAAWkxB,OAAX,IAAsBphE,IAAI,CAACkwC,KAAL,CAAWvtE,OAAX,CAAtB,GAA4Cq9B,IAAI,CAACkwC,KAAL,CAAW7pE,QAAX,CAA5C,GAAmE25B,IAAI,CAACkwC,KAAL,CAAWmxB,GAAX,CAA/E,EAAgG;AACjG;AACA;AACAlK,YAAAA,sFAAc,CAACqH,OAAD,EAAU;AAAE;AAAZ,cAA4C;AAAE;AAA9C,cAAoG,gCAApG,EAAsI;AAAE2C,cAAAA,KAAK,EAAEA,KAAT;AAAgBC,cAAAA,OAAO,EAAEA,OAAzB;AAAkCz+F,cAAAA,OAAO,EAAEA,OAA3C;AAAoD0D,cAAAA,QAAQ,EAAEA,QAA9D;AAAwEg7F,cAAAA,GAAG,EAAEA;AAA7E,aAAtI,CAAd;AACH,WAJI,MAKA;AACDnJ,YAAAA,mBAAmB,CAACz0C,UAApB,GAAiC09C,KAAjC,CADC,CAED;;AACAjJ,YAAAA,mBAAmB,CAACsJ,SAApB,GAAgCtJ,mBAAmB,CAACsF,4DAAaA;AAAC;AAAf,aAAnB,GAA4DgC,mFAAY,CAAC2B,KAAD,CAAxG;AACAjJ,YAAAA,mBAAmB,CAACuJ,cAApB,GAAqCjC,mFAAY,CAAC4B,OAAD,CAAjD;AACAlJ,YAAAA,mBAAmB,CAACwJ,WAApB,GAAkClC,mFAAY,CAAC78F,OAAD,CAA9C;AACAu1F,YAAAA,mBAAmB,CAACyJ,gBAApB,GAAuCnC,mFAAY,CAACn5F,QAAD,CAAnD;AACA6xF,YAAAA,mBAAmB,CAAC0J,aAApB,GAAoCpC,mFAAY,CAAC6B,GAAD,CAAhD;AACAnJ,YAAAA,mBAAmB,CAACmH,OAApB,GAA8B,IAA9B;AACH;AACJ;AACJ,OAvED;;AAwEA7I,MAAAA,KAAK,CAACiH,0EAA2BA;AAAC;AAA7B,OAAL,GAAwEmD,qBAAxE;AACApK,MAAAA,KAAK,CAACkH,0EAA2BA;AAAC;AAA7B,OAAL,GAAgF0C,6BAAhF;AACA5J,MAAAA,KAAK,CAACmH,0EAA2BA;AAAC;AAA7B,OAAL,GAAgF8C,6BAAhF;AACAjK,MAAAA,KAAK,CAACqH,0EAA2BA;AAAC;AAA7B,OAAL,GAAyEiD,sBAAzE;AACH,KA7EW,CAAZ;AA8EH,GAjFuD,CAkF5D;AACA;AACA;AACA;AACA;AACI;AACA;AACA;;;AACA7M,EAAAA,0BAA0B,CAACsL,OAA3B,GAAmC,CAAnC;AAEA,SAAOtL,0BAAP;AACH,CA7F+C,EAAhD;;;;;;;;;;;;;;;;;;;;;;;;AC/EA;AACA;AACA;AACA;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,IAAIC,oBAAoB;AAAG;AAAe,YAAY;AAClD;AACJ;AACA;AACA;AACA;AACI,WAASA,oBAAT,CAA8BzwF,MAA9B,EAAsC6+F,4BAAtC,EAAoE;AAChE,QAAIC,wBAAwB,GAAG,mBAA/B;AACAtT,IAAAA,sEAAY,CAACiF,oBAAD,EAAuB,IAAvB,EAA6B,UAAUsC,KAAV,EAAiB;AACtDA,MAAAA,KAAK,CAAC3C,yEAA0BA;AAAC;AAA5B,OAAL,GAAyE,UAAU2O,eAAV,EAA2BC,cAA3B,EAA2C;AAChH,YAAI;AACA;AACA,cAAIC,qBAAqB,GAAGC,qBAAqB,CAACH,eAAD,EAAkBC,cAAlB,CAAjD,CAFA,CAGA;;AACA,cAAIC,qBAAJ,EAA2B;AACvBJ,YAAAA,4BAA4B,CAACI,qBAAqB,CAAC53G,QAAvB,EAAiC43G,qBAAqB,CAAC9I,OAAvD,EAAgE8I,qBAAqB,CAAC7I,aAAtF,CAA5B;AACH;AACJ,SAPD,CAQA,OAAOprF,CAAP,EAAU;AACNwzF,UAAAA,sFAAc,CAACx+F,MAAD,EAAS,sEAAsEgtF,+EAAO,CAAChiF,CAAD,CAAtF,CAAd;AACH;AACJ,OAZD;AAaA;AACZ;AACA;AACA;AACA;;;AACY,eAASk0F,qBAAT,CAA+B73G,QAA/B,EAAyC8uG,OAAzC,EAAkD;AAC9C,YAAIgJ,iBAAiB,GAAG,IAAxB;;AACA,YAAI;AACAA,UAAAA,iBAAiB,GAAGC,kBAAkB,EAAtC;AACAC,UAAAA,mBAAmB,CAACh4G,QAAD,EAAW8uG,OAAX,CAAnB;AACH,SAHD,CAIA,OAAOnrF,CAAP,EAAU;AACNwzF,UAAAA,sFAAc,CAACx+F,MAAD,EAAS,6BAA6BgtF,+EAAO,CAAChiF,CAAD,CAA7C,CAAd;;AACAm0F,UAAAA,iBAAiB,GAAG,IAApB;AACH;;AACD,eAAOA,iBAAP;AACH;AACD;AACZ;AACA;AACA;AACA;;;AACY,eAASE,mBAAT,CAA6Bh4G,QAA7B,EAAuC8uG,OAAvC,EAAgD;AAC5C,YAAI;AACA,cAAIiI,8FAAuB,EAA3B,EAA+B;AAC3B,gBAAIC,2FAAoB,CAACr+F,MAAD,EAAS8+F,wBAAT,CAApB,IAA0D,IAA9D,EAAoE;AAChEzQ,cAAAA,kFAAU,CAAC,8EAAD,CAAV;AACH;;AACD,gBAAIiR,iBAAiB,GAAG,IAAIC,aAAJ,CAAkBl4G,QAAlB,EAA4B8uG,OAA5B,CAAxB;AACA,gBAAIqJ,oBAAoB,GAAGd,+EAAO,GAAGp/G,SAAV,CAAoBggH,iBAApB,CAA3B;AACAf,YAAAA,2FAAoB,CAACv+F,MAAD,EAAS8+F,wBAAT,EAAmCU,oBAAnC,CAApB;AACH;AACJ,SATD,CAUA,OAAOx0F,CAAP,EAAU;AACN;AACAwzF,UAAAA,sFAAc,CAACx+F,MAAD,EAAS,2BAA2BgtF,+EAAO,CAAChiF,CAAD,CAA3C,CAAd;AACH;AACJ;AACD;AACZ;AACA;AACA;;;AACY,eAASo0F,kBAAT,GAA8B;AAC1B,YAAID,iBAAiB,GAAG,IAAxB;;AACA,YAAI;AACA,cAAIf,8FAAuB,EAA3B,EAA+B;AAC3B;AACA,gBAAIqB,gBAAgB,GAAGhB,+EAAO,EAA9B,CAF2B,CAG3B;;AACA,gBAAIiB,oBAAoB,GAAGrB,2FAAoB,CAACr+F,MAAD,EAAS8+F,wBAAT,CAA/C;;AACA,gBAAIY,oBAAoB,IAAIf,+EAAO,EAAnC,EAAuC;AACnC;AACAQ,cAAAA,iBAAiB,GAAGT,+EAAO,GAAGv/G,KAAV,CAAgBugH,oBAAhB,CAApB;AACAP,cAAAA,iBAAiB,CAAC/I,aAAlB,GAAkCqJ,gBAAgB,GAAGN,iBAAiB,CAACP,0EAA2BA;AAAC;AAA7B,eAAtE,CAHmC,CAInC;;AACAN,cAAAA,8FAAuB,CAACt+F,MAAD,EAAS8+F,wBAAT,CAAvB;AACH;AACJ;AACJ,SAdD,CAeA,OAAO9zF,CAAP,EAAU;AACNwzF,UAAAA,sFAAc,CAACx+F,MAAD,EAAS,mCAAmCgtF,+EAAO,CAAChiF,CAAD,CAAnD,CAAd;;AACAm0F,UAAAA,iBAAiB,GAAG,IAApB;AACH;;AACD,eAAOA,iBAAP;AACH,OA9EqD,CA+EtD;;;AACAlR,MAAAA,0FAAkB,CAAC8E,KAAD,EAAQ,SAAR,EAAmB,YAAY;AAAE,eAAO/yF,MAAP;AAAgB,OAAjD,CAAlB;AACAiuF,MAAAA,0FAAkB,CAAC8E,KAAD,EAAQ,8BAAR,EAAwC,YAAY;AAAE,eAAO8L,4BAAP;AAAsC,OAA5F,CAAlB;AACH,KAlFW,CAAZ;AAmFH,GA3FiD,CA4FtD;AACI;AACA;AACA;;;AACApO,EAAAA,oBAAoB,CAACqL,OAArB,GAA6B,CAA7B;AAEA,SAAOrL,oBAAP;AACH,CAnGyC,EAA1C;;AAoGA;;AACA,IAAI8O,aAAa;AAAG;AAAe,YAAY;AAC3C,WAASA,aAAT,CAAuBl4G,QAAvB,EAAiC8uG,OAAjC,EAA0C;AACtC,SAAKyI,0EAA2BA;AAAC;AAAjC,QAAqEH,+EAAO,EAA5E;AACA,SAAKp3G,QAAL,GAAgBA,QAAhB;AACA,SAAK8uG,OAAL,GAAeA,OAAf;AACH;;AACD,SAAOoJ,aAAP;AACH,CAPkC,EAAnC;;;;;;;;;;;;;;;;;;;AClHA;AACA;AACA;AACA;AAGA;AACA;AACA;AACA;AACA;;AACA,IAAI7O,MAAM;AAAG;AAAe,YAAY;AACpC,WAASA,MAAT,CAAgB1wF,MAAhB,EAAwBnvB,IAAxB,EAA8B;AAC1B,QAAIkiH,KAAK,GAAG,IAAZ;;AACA,QAAI4M,OAAO,GAAG,EAAd;;AACA5M,IAAAA,KAAK,CAACjM,KAAN,GAAc,UAAUj2G,IAAV,EAAgB;AAC1B,UAAI,OAAO8uH,OAAO,CAAC9uH,IAAD,CAAd,KAAyB,WAA7B,EAA0C;AACtC6iH,QAAAA,sFAAc,CAAC1zF,MAAD,EAAS;AAAE;AAAX,UAA2C;AAAG;AAA9C,UAAiG,sEAAjG,EAAyK;AAAEnvB,UAAAA,IAAI,EAAEA,IAAR;AAAcs1B,UAAAA,GAAG,EAAEt1B;AAAnB,SAAzK,EAAoM,IAApM,CAAd;AACH;;AACD8uH,MAAAA,OAAO,CAAC9uH,IAAD,CAAP,GAAgB,CAAC,IAAIu3C,IAAJ,EAAjB;AACH,KALD;;AAMA2qE,IAAAA,KAAK,CAACtN,IAAN,GAAa,UAAU50G,IAAV,EAAgB4M,GAAhB,EAAqBswD,UAArB,EAAiC+lD,YAAjC,EAA+C;AACxD,UAAIhN,KAAK,GAAG6Y,OAAO,CAAC9uH,IAAD,CAAnB;;AACA,UAAIkjB,KAAK,CAAC+yF,KAAD,CAAT,EAAkB;AACd4M,QAAAA,sFAAc,CAAC1zF,MAAD,EAAS;AAAE;AAAX,UAA2C;AAAG;AAA9C,UAAgG,gDAAhG,EAAkJ;AAAEnvB,UAAAA,IAAI,EAAEA,IAAR;AAAcs1B,UAAAA,GAAG,EAAEt1B;AAAnB,SAAlJ,EAA6K,IAA7K,CAAd;AACH,OAFD,MAGK;AACD,YAAIk2G,GAAG,GAAG,CAAC,IAAI3+D,IAAJ,EAAX;AACA,YAAItvC,QAAQ,GAAGghH,4FAAqB,CAAChT,KAAD,EAAQC,GAAR,CAApC;;AACAgM,QAAAA,KAAK,CAAC17G,MAAN,CAAaxG,IAAb,EAAmB4M,GAAnB,EAAwB3E,QAAxB,EAAkCi1D,UAAlC,EAA8C+lD,YAA9C;AACH;;AACD,aAAO6L,OAAO,CAAC9uH,IAAD,CAAd;AACA8uH,MAAAA,OAAO,CAAC9uH,IAAD,CAAP,GAAgB6hC,SAAhB;AACH,KAZD;AAaH;;AACD,SAAOg+E,MAAP;AACH,CAzB2B,EAA5B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACXA;AACA;AACA;AACA;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,IAAIT,cAAc,GAAG,UAArB,EAAiC;;AACjC,IAAIrB,0BAA0B,GAAG,0BAAjC,EAA6D;;AAC7D,IAAIL,0BAA0B,GAAG,wBAAjC,EAA2D;;AAC3D,IAAIoB,0BAA0B,GAAG,0BAAjC,EAA6D;;AAC7D,IAAIZ,0BAA0B,GAAG,yCAAjC,EAA4E;;AAC5E,IAAIc,wBAAwB,GAAG,oBAA/B,EAAqD;;AACrD,IAAIP,0BAA0B,GAAG,sBAAjC,EAAyD;;AACzD,IAAID,0BAA0B,GAAG,8BAAjC,EAAiE;;AACjE,IAAIP,0BAA0B,GAAG,yBAAjC,EAA4D;;AAC5D,IAAIY,gBAAgB,GAAG,YAAvB,EAAqC;;AACrC,IAAIb,0BAA0B,GAAG,4BAAjC,EAA+D;;AAC/D,IAAI+Q,0BAA0B,GAAG,sBAAjC,EAAyD;;AACzD,IAAInR,SAAS,GAAG,MAAhB,EAAwB;;AACxB,IAAIC,cAAc,GAAG,UAArB,EAAiC;;AACjC,IAAIM,kBAAkB,GAAG,cAAzB,EAAyC;;AACzC,IAAIL,aAAa,GAAG,SAApB,EAA+B;;AAC/B,IAAIuB,UAAU,GAAG,OAAjB,EAA0B;;AAC1B,IAAIC,oBAAoB,GAAG,eAA3B,EAA4C;;AAC5C,IAAIC,0BAA0B,GAAG,wBAAjC,EAA2D;;AAC3D,IAAIL,2BAA2B,GAAG,sBAAlC,EAA0D;;AAC1D,IAAIC,2BAA2B,GAAG,iCAAlC,EAAqE;;AACrE,IAAIJ,2BAA2B,GAAG,kCAAlC,EAAsE;;AACtE,IAAIR,SAAS,GAAG,MAAhB,EAAwB;;AACxB,IAAIU,2BAA2B,GAAG,uBAAlC,EAA2D;;AAC3D,IAAIX,cAAc,GAAG,WAArB,EAAkC;;AAClC,IAAIF,UAAU,GAAG,OAAjB,EAA0B;;AAC1B,IAAIqB,aAAa,GAAG,UAApB,EAAgC;;AAChC,IAAIpB,cAAc,GAAG,UAArB,EAAiC;;AACjC,IAAIM,gBAAgB,GAAG,YAAvB,EAAqC;;AACrC,IAAIhB,kBAAkB,GAAG,cAAzB,EAAyC;;AACzC,IAAIiB,YAAY,GAAG,SAAnB,EAA8B;;AAC9B,IAAIY,2BAA2B,GAAG,qBAAlC,EAAyD;;AACzD,IAAI/B,2BAA2B,GAAG,yBAAlC,EAA6D;;AAC7D,IAAIyL,aAAa,GAAG,UAApB,EAAgC;;AAChC,IAAIxK,WAAW,GAAG,QAAlB,EAA4B;;AAC5B,IAAI0K,2BAA2B,GAAG,8BAAlC,EAAkE;;AAClE,IAAID,2BAA2B,GAAG,sBAAlC,EAA0D;;AAC1D,IAAIG,qBAAqB,GAAG,iBAA5B,EAA+C;;AAC/C,IAAIC,2BAA2B,GAAG,uBAAlC,EAA2D;;AAC3D,IAAIF,2BAA2B,GAAG,8BAAlC,EAAkE;;AAClE,IAAIkC,wBAAwB,GAAG,kBAA/B,EAAmD;;AACnD,IAAII,mBAAmB,GAAG,eAA1B,EAA2C;;AAC3C,IAAIF,kBAAkB,GAAG,cAAzB,EAAyC;;AACzC,IAAID,mBAAmB,GAAG,cAA1B,EAA0C;;AAC1C,IAAIE,iBAAiB,GAAG,aAAxB,EAAuC;;AACvC,IAAIJ,gBAAgB,GAAG,YAAvB,EAAqC;;AACrC,IAAIyC,2BAA2B,GAAG,oBAAlC,EAAwD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AC3D/D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;CAEA;;AACA,IAAIgC,WAAW,GAAG,UAAlB;AACA,IAAIC,WAAW,GAAG,UAAlB;AACA,IAAIC,aAAa,GAAG,YAApB;AACA,IAAIC,OAAO,GAAG,MAAd;;AACA,SAASC,WAAT,CAAqB/yE,MAArB,EAA6BgpE,KAA7B,EAAoC1lH,KAApC,EAA2C;AACvC,SAAOghB,gFAAQ,CAAC07B,MAAD,EAASgpE,KAAT,EAAgB1lH,KAAhB,EAAuB2uH,4EAAvB,CAAf;AACH;AACD;AACA;AACA;;;AACA,SAASe,uBAAT,CAAiCjhG,MAAjC,EAAyCnlB,IAAzC,EAA+CgV,GAA/C,EAAoD;AAChD;AACA,MAAIqxG,OAAO,GAAGrxG,GAAG,CAAC6wG,wDAASA;AAAC;AAAX,GAAH,GAAoC7wG,GAAG,CAAC6wG,wDAASA;AAAC;AAAX,GAAH,IAAqC,EAAvF;AACA,MAAIS,MAAM,GAAGtmH,IAAI,CAACsiC,GAAL,GAAWtiC,IAAI,CAACsiC,GAAL,IAAY,EAApC;AACA,MAAIikF,OAAO,GAAGvmH,IAAI,CAAC6lH,wDAASA;AAAC;AAAX,GAAJ,GAAqC7lH,IAAI,CAAC6lH,wDAASA;AAAC;AAAX,GAAJ,IAAsC,EAAzF;AACA,MAAIW,OAAO,GAAGF,MAAM,CAACnlH,IAArB;;AACA,MAAIqlH,OAAJ,EAAa;AACTL,IAAAA,WAAW,CAACE,OAAD,EAAUrB,4FAAV,EAAqCwB,OAAO,CAACE,MAA7C,CAAX;;AACAP,IAAAA,WAAW,CAACE,OAAD,EAAUrB,oFAAV,EAA6BwB,OAAO,CAAC7zH,EAAR,IAAc6zH,OAAO,CAACG,OAAnD,CAAX;AACH;;AACD,MAAIC,MAAM,GAAGN,MAAM,CAAC5xG,GAApB;;AACA,MAAIkyG,MAAJ,EAAY;AACRT,IAAAA,WAAW,CAACE,OAAD,EAAUrB,uFAAV,EAAgC4B,MAAM,CAACE,KAAvC,CAAX;AACH;;AACD,MAAIC,SAAS,GAAGT,MAAM,CAACU,MAAvB;;AACA,MAAID,SAAJ,EAAe;AACXZ,IAAAA,WAAW,CAACE,OAAD,EAAUrB,sFAAV,EAA+B+B,SAAS,CAACp0H,EAAV,IAAgBo0H,SAAS,CAACJ,OAAzD,CAAX;;AACAR,IAAAA,WAAW,CAACE,OAAD,EAAUrB,6EAAU,CAACS,+DAAgBA;AAAC;AAAlB,KAApB,EAAiEsB,SAAS,CAACG,WAA3E,CAAX;;AACAf,IAAAA,WAAW,CAACE,OAAD,EAAUrB,sFAAV,EAA+B+B,SAAS,CAACK,EAAzC,CAAX;;AACAjB,IAAAA,WAAW,CAACE,OAAD,EAAUrB,yFAAV,EAAkC+B,SAAS,CAAChlH,KAA5C,CAAX;;AACAokH,IAAAA,WAAW,CAACE,OAAD,EAAUrB,6EAAU,CAACS,+DAAgBA;AAAC;AAAlB,KAApB,EAAiEsB,SAAS,CAACtB,+DAAgBA;AAAC;AAAlB,KAA1E,CAAX;AACH;;AACD,MAAI6B,GAAG,GAAGtnH,IAAI,CAACsiC,GAAL,CAASglF,GAAnB;;AACA,MAAIA,GAAJ,EAAS;AACLnB,IAAAA,WAAW,CAACE,OAAD,EAAUrB,4FAAV,EAAqCsC,GAAG,CAACE,WAAzC,CAAX;;AACArB,IAAAA,WAAW,CAACE,OAAD,EAAUrB,kGAAV,EAA2CsC,GAAG,CAACI,UAA/C,CAAX;;AACAvB,IAAAA,WAAW,CAACE,OAAD,EAAUrB,2FAAV,EAAoCsC,GAAG,CAACM,OAAxC,CAAX;;AACA,QAAIC,OAAO,GAAG7yG,GAAG,CAACwwG,wDAASA;AAAC;AAAX,KAAH,GAAoCxwG,GAAG,CAACwwG,wDAASA;AAAC;AAAX,KAAH,IAAqC,EAAvF;AACA,QAAIsC,WAAW,GAAGD,OAAO,CAAC7B,WAAD,CAAP,GAAuB6B,OAAO,CAAC7B,WAAD,CAAP,IAAwB,EAAjE;AACA,QAAI+B,QAAQ,GAAGD,WAAW,CAAC7B,aAAD,CAAX,GAA6B6B,WAAW,CAAC7B,aAAD,CAAX,IAA8B,EAA1E;;AACAE,IAAAA,WAAW,CAAC4B,QAAD,EAAW,QAAX,EAAqBT,GAAG,CAACU,MAAzB,CAAX;;AACA7B,IAAAA,WAAW,CAAC4B,QAAD,EAAW,UAAX,EAAuBT,GAAG,CAACxiH,QAAJ,GAAeohH,OAAf,GAAyB,IAAhD,CAAX;;AACAC,IAAAA,WAAW,CAAC4B,QAAD,EAAW,WAAX,EAAwBT,GAAG,CAACW,SAA5B,CAAX;;AACA9B,IAAAA,WAAW,CAAC4B,QAAD,EAAW,aAAX,EAA0BT,GAAG,CAACY,WAAJ,GAAkBhC,OAAlB,GAA4B,IAAtD,CAAX;AACH;;AACD,MAAIiC,KAAK,GAAG7B,MAAM,CAACloD,EAAnB;;AACA,MAAI+pD,KAAJ,EAAW;AACPhC,IAAAA,WAAW,CAACE,OAAD,EAAUrB,sFAAV,EAA+BmD,KAAK,CAACxC,wDAASA;AAAC;AAAX,KAApC,CAAX;AACH,GAtC+C,CAuChD;;;AACA,MAAI0C,QAAQ,GAAG/B,MAAM,CAAC93F,KAAtB;;AACA,MAAI65F,QAAJ,EAAc;AACVlC,IAAAA,WAAW,CAACE,OAAD,EAAUrB,+FAAV,EAAwCqD,QAAQ,CAACE,QAAjD,CAAX;;AACApC,IAAAA,WAAW,CAACE,OAAD,EAAUrB,2FAAV,EAAoCzT,yFAAkB,CAACpsF,MAAD,EAASkjG,QAAQ,CAAC1C,wDAASA;AAAC;AAAX,KAAjB,CAAtD,CAAX;;AACAQ,IAAAA,WAAW,CAACE,OAAD,EAAUrB,yFAAV,EAAkCqD,QAAQ,CAACvC,4DAAaA;AAAC;AAAf,KAA1C,CAAX;AACH,GA7C+C,CA8ChD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,MAAI2C,GAAG,GAAG,EAAV,CA7DgD,CA8DhD;;AACA,OAAK,IAAItsH,CAAC,GAAGoqH,OAAO,CAAC7R,0DAAWA;AAAC;AAAb,GAAP,GAA4C,CAAzD,EAA4Dv4G,CAAC,IAAI,CAAjE,EAAoEA,CAAC,EAArE,EAAyE;AACrE,QAAIusH,EAAE,GAAGnC,OAAO,CAACpqH,CAAD,CAAhB;AACAk3G,IAAAA,qFAAa,CAACqV,EAAD,EAAK,UAAUp9F,GAAV,EAAe50B,KAAf,EAAsB;AACpC+xH,MAAAA,GAAG,CAACn9F,GAAD,CAAH,GAAW50B,KAAX;AACH,KAFY,CAAb;AAGA6vH,IAAAA,OAAO,CAACoC,MAAR,CAAexsH,CAAf,EAAkB,CAAlB;AACH,GArE+C,CAsEhD;;;AACAk3G,EAAAA,qFAAa,CAACkT,OAAD,EAAU,UAAUmC,EAAV,EAAchyH,KAAd,EAAqB;AACxC+xH,IAAAA,GAAG,CAACC,EAAD,CAAH,GAAUhyH,KAAV;AACH,GAFY,CAAb;;AAGA,MAAIkyH,OAAO,GAAG/4F,gFAAQ,CAACA,gFAAQ,CAAC,EAAD,EAAKw2F,OAAL,CAAT,EAAwBoC,GAAxB,CAAtB;;AACA,MAAI,CAACG,OAAO,CAAC5D,gGAAD,CAAZ,EAA6C;AACzC;AACA4D,IAAAA,OAAO,CAAC5D,gGAAD,CAAP,GAAyCzT,yFAAkB,CAACpsF,MAAD,EAAS,cAAciN,MAAd,CAAqB02F,eAAe,CAAC/J,OAArC,CAAT,EAAwD,EAAxD,CAA3D;AACH;;AACD/pG,EAAAA,GAAG,CAAC6wG,wDAASA;AAAC;AAAX,GAAH,GAAoCP,sFAAc,CAACsD,OAAD,CAAlD;AACH;;AACD,SAASG,4BAAT,CAAsC57H,IAAtC,EAA4C+lE,UAA5C,EAAwD+lD,YAAxD,EAAsE;AAClE,MAAI,CAACjG,yFAAiB,CAAC7lH,IAAD,CAAtB,EAA8B;AAC1BkmH,IAAAA,qFAAa,CAAClmH,IAAD,EAAO,UAAUm+B,GAAV,EAAe50B,KAAf,EAAsB;AACtC,UAAI0uH,gFAAQ,CAAC1uH,KAAD,CAAZ,EAAqB;AACjBuiH,QAAAA,YAAY,CAAC3tF,GAAD,CAAZ,GAAoB50B,KAApB;AACH,OAFD,MAGK,IAAIu8G,gFAAQ,CAACv8G,KAAD,CAAZ,EAAqB;AACtBw8D,QAAAA,UAAU,CAAC5nC,GAAD,CAAV,GAAkB50B,KAAlB;AACH,OAFI,MAGA,IAAIotH,+EAAO,EAAX,EAAe;AAChB5wD,QAAAA,UAAU,CAAC5nC,GAAD,CAAV,GAAkBu4F,+EAAO,GAAG+B,6DAAcA;AAAC;AAAlB,SAAP,CAAkDlvH,KAAlD,CAAlB;AACH;AACJ,KAVY,CAAb;AAWH;AACJ;;AACD,SAASsyH,0CAAT,CAAoD91D,UAApD,EAAgE+1D,oBAAhE,EAAsF;AAClF,MAAI,CAACjW,yFAAiB,CAAC9/C,UAAD,CAAtB,EAAoC;AAChCmgD,IAAAA,qFAAa,CAACngD,UAAD,EAAa,UAAU5nC,GAAV,EAAe50B,KAAf,EAAsB;AAC5Cw8D,MAAAA,UAAU,CAAC5nC,GAAD,CAAV,GAAkB50B,KAAK,IAAIuyH,oBAA3B;AACH,KAFY,CAAb;AAGH;AACJ,EACD;;;AACA,SAASC,eAAT,CAAyB/jG,MAAzB,EAAiCgkG,YAAjC,EAA+CvQ,aAA/C,EAA8DzrH,IAA9D,EAAoE;AAChE,MAAI0vH,QAAQ,GAAG,IAAIoI,2EAAJ,CAAa9/F,MAAb,EAAqBh4B,IAArB,EAA2Bg8H,YAA3B,CAAf;;AACAhD,EAAAA,WAAW,CAACtJ,QAAD,EAAW,YAAX,EAAyBjE,aAAa,CAACuM,6EAAD,CAAtC,CAAX;;AACA,MAAI,CAACvM,aAAa,CAACoN,WAAD,CAAb,IAA8B,EAA/B,EAAmCnnH,SAAvC,EAAkD;AAC9Cg+G,IAAAA,QAAQ,CAACnrB,IAAT,GAAgB11E,mFAAW,CAAC48F,aAAa,CAACoN,WAAD,CAAb,CAA2BnnH,SAA5B,CAA3B;AACH;;AACDg+G,EAAAA,QAAQ,CAACuM,IAAT,GAAgBxQ,aAAa,CAACwQ,IAA9B;AACA,MAAIC,YAAY,GAAGzQ,aAAa,CAACwQ,IAAd,CAAmBvkH,OAAnB,CAA2B,IAA3B,EAAiC,EAAjC,CAAnB;AACAg4G,EAAAA,QAAQ,CAAC8I,wDAASA;AAAC;AAAX,GAAR,GAAyC9I,QAAQ,CAAC8I,wDAASA;AAAC;AAAX,GAAR,CAAuC9gH,OAAvC,CAA+C,KAA/C,EAAsDwkH,YAAtD,CAAzC,CARgE,CAShE;;AACAjD,EAAAA,uBAAuB,CAACjhG,MAAD,EAASyzF,aAAT,EAAwBiE,QAAxB,CAAvB,CAVgE,CAWhE;;;AACAjE,EAAAA,aAAa,CAACiN,wDAASA;AAAC;AAAX,GAAb,GAA8CjN,aAAa,CAACiN,wDAASA;AAAC;AAAX,GAAb,IAA+C,EAA7F;AACA,SAAOP,sFAAc,CAACzI,QAAD,CAArB;AACH;;AACD,SAASyM,mBAAT,CAA6BnkG,MAA7B,EAAqCyzF,aAArC,EAAoD;AAChD,MAAI5F,yFAAiB,CAAC4F,aAAa,CAACoN,WAAD,CAAd,CAArB,EAAmD;AAC/CnN,IAAAA,sFAAc,CAAC1zF,MAAD,EAAS;AAAE;AAAX,MAA4C;AAAG;AAA/C,MAAmG,wCAAnG,CAAd;AACH;AACJ;;AACM,IAAI2jG,eAAe,GAAG;AACzB/J,EAAAA,OAAO,EAAE;AADgB,CAAtB;AAGA,SAASwK,yBAAT,CAAmCpkG,MAAnC,EAA2CyzF,aAA3C,EAA0DqQ,oBAA1D,EAAgF;AACnFK,EAAAA,mBAAmB,CAACnkG,MAAD,EAASyzF,aAAT,CAAnB;AACA,MAAI4Q,kBAAkB,GAAG5Q,aAAa,CAACoN,WAAD,CAAb,CAA2BN,gEAAiBA;AAAC;AAA7C,OAA4E,EAArG;AACA,MAAI/M,gBAAgB,GAAGC,aAAa,CAACoN,WAAD,CAAb,CAA2BC,aAA3B,KAA6C,EAApE;;AACA8C,EAAAA,4BAA4B,CAACnQ,aAAa,CAAC4M,wDAASA;AAAC;AAAX,GAAd,EAA8C7M,gBAA9C,EAAgE6Q,kBAAhE,CAA5B;;AACA,MAAI,CAACxW,yFAAiB,CAACiW,oBAAD,CAAtB,EAA8C;AAC1CD,IAAAA,0CAA0C,CAACrQ,gBAAD,EAAmBsQ,oBAAnB,CAA1C;AACH;;AACD,MAAIQ,EAAE,GAAG7Q,aAAa,CAACoN,WAAD,CAAtB;;AACA,MAAIhT,yFAAiB,CAACyW,EAAD,CAArB,EAA2B;AACvB9F,IAAAA,sFAAc,CAACx+F,MAAD,EAAS,mCAAT,CAAd;;AACA,WAAO,IAAP;AACH;;AACD,MAAI4E,MAAM,GAAG0/F,EAAE,CAACxD,aAAD,CAAF,IAAqBwD,EAAE,CAACxD,aAAD,CAAF,CAAkBf,6EAAlB,CAArB,GAAqDuE,EAAE,CAACxD,aAAD,CAAF,CAAkBf,6EAAlB,CAArD,GAAqF,KAAlG;AACA,MAAIwE,aAAa,GAAG,IAAIvY,uFAAJ,CAAyBhsF,MAAzB,EAAiCskG,EAAE,CAAC92H,EAApC,EAAwC82H,EAAE,CAACr2E,MAA3C,EAAmDq2E,EAAE,CAAC9D,wDAASA;AAAC;AAAX,GAArD,EAAqF8D,EAAE,CAAClE,6DAAYA;AAAC;AAAd,GAAvF,EAA8HkE,EAAE,CAACpxF,OAAjI,EAA0IoxF,EAAE,CAACE,YAA7I,EAA2J5/F,MAA3J,EAAmK0/F,EAAE,CAAChtH,IAAtK,EAA4KgtH,EAAE,CAACG,kBAA/K,EAAmMjR,gBAAnM,EAAqN6Q,kBAArN,CAApB;AACA,MAAIr8H,IAAI,GAAG,IAAIua,wEAAJ,CAASypG,uFAAoB,CAAC0C,6DAAcA;AAAC;AAAhB,GAA7B,EAAsE6V,aAAtE,CAAX;AACA,SAAOR,eAAe,CAAC/jG,MAAD,EAASgsF,uFAAoB,CAACgD,iEAAkBA;AAAC;AAApB,GAA7B,EAA8EyE,aAA9E,EAA6FzrH,IAA7F,CAAtB;AACH;AACM,SAAS08H,oBAAT,CAA8B1kG,MAA9B,EAAsCyzF,aAAtC,EAAqDqQ,oBAArD,EAA2E;AAC9EK,EAAAA,mBAAmB,CAACnkG,MAAD,EAASyzF,aAAT,CAAnB;AACA,MAAID,gBAAgB,GAAG,EAAvB;AACA,MAAI6Q,kBAAkB,GAAG,EAAzB;;AACA,MAAI5Q,aAAa,CAACmN,WAAD,CAAb,KAA+B/W,yEAAK,CAAC6E,6DAAcA;AAAC;AAAhB,GAAxC,EAAiF;AAC7E8E,IAAAA,gBAAgB,CAAC,gBAAD,CAAhB,GAAqCC,aAAa,CAACmN,WAAD,CAAlD,CAD6E,CACZ;AACpE;;AACD,MAAInN,aAAa,CAACmN,WAAD,CAAb,KAA+B/W,yEAAK,CAAC6E,6DAAcA;AAAC;AAAhB,GAAxC,EAAiF;AAAE;AAC/E8E,IAAAA,gBAAgB,GAAGC,aAAa,CAACoN,WAAD,CAAb,CAA2BC,aAA3B,KAA6C,EAAhE;AACAuD,IAAAA,kBAAkB,GAAG5Q,aAAa,CAACoN,WAAD,CAAb,CAA2BN,gEAAiBA;AAAC;AAA7C,SAA4E,EAAjG;AACH,GAHD,MAIK;AAAE;AACH,QAAI9M,aAAa,CAACoN,WAAD,CAAjB,EAAgC;AAC5B+C,MAAAA,4BAA4B,CAACnQ,aAAa,CAACoN,WAAD,CAAd,EAA6BrN,gBAA7B,EAA+C6Q,kBAA/C,CAA5B;AACH;AACJ,GAf6E,CAgB9E;;;AACAT,EAAAA,4BAA4B,CAACnQ,aAAa,CAAC4M,wDAASA;AAAC;AAAX,GAAd,EAA8C7M,gBAA9C,EAAgE6Q,kBAAhE,CAA5B;;AACA,MAAI,CAACxW,yFAAiB,CAACiW,oBAAD,CAAtB,EAA8C;AAC1CD,IAAAA,0CAA0C,CAACrQ,gBAAD,EAAmBsQ,oBAAnB,CAA1C;AACH;;AACD,MAAItZ,SAAS,GAAGiJ,aAAa,CAACoN,WAAD,CAAb,CAA2BL,wDAASA;AAAC;AAArC,GAAhB;AACA,MAAImE,SAAS,GAAG,IAAI9a,yEAAJ,CAAU7pF,MAAV,EAAkBwqF,SAAlB,EAA6BgJ,gBAA7B,EAA+C6Q,kBAA/C,CAAhB;AACA,MAAIr8H,IAAI,GAAG,IAAIua,wEAAJ,CAASsnG,yEAAK,CAAC6E,6DAAcA;AAAC;AAAhB,GAAd,EAAuDiW,SAAvD,CAAX;AACA,SAAOZ,eAAe,CAAC/jG,MAAD,EAAS6pF,yEAAK,CAACmF,iEAAkBA;AAAC;AAApB,GAAd,EAA+DyE,aAA/D,EAA8EzrH,IAA9E,CAAtB;AACH;AACM,SAAS48H,wBAAT,CAAkC5kG,MAAlC,EAA0CyzF,aAA1C,EAAyDqQ,oBAAzD,EAA+E;AAClFK,EAAAA,mBAAmB,CAACnkG,MAAD,EAASyzF,aAAT,CAAnB,CADkF,CAElF;;AACA,MAAI4Q,kBAAkB,GAAG5Q,aAAa,CAACoN,WAAD,CAAb,CAA2BN,gEAAiBA;AAAC;AAA7C,OAA4E,EAArG;AACA,MAAI/M,gBAAgB,GAAGC,aAAa,CAACoN,WAAD,CAAb,CAA2BC,aAA3B,KAA6C,EAApE;;AACA8C,EAAAA,4BAA4B,CAACnQ,aAAa,CAAC4M,wDAASA;AAAC;AAAX,GAAd,EAA8C7M,gBAA9C,EAAgE6Q,kBAAhE,CAA5B;;AACA,MAAI,CAACxW,yFAAiB,CAACiW,oBAAD,CAAtB,EAA8C;AAC1CD,IAAAA,0CAA0C,CAACrQ,gBAAD,EAAmBsQ,oBAAnB,CAA1C;AACH;;AACD,MAAIQ,EAAE,GAAG7Q,aAAa,CAACoN,WAAD,CAAtB;AACA,MAAIgE,MAAM,GAAGlZ,iGAAA,CAA8B3rF,MAA9B,EAAsCskG,EAAtC,EAA0C9Q,gBAA1C,EAA4D6Q,kBAA5D,CAAb;AACA,MAAIr8H,IAAI,GAAG,IAAIua,wEAAJ,CAASopG,6EAAS,CAAC+C,6DAAcA;AAAC;AAAhB,GAAlB,EAA2DmW,MAA3D,CAAX;AACA,SAAOd,eAAe,CAAC/jG,MAAD,EAAS2rF,6EAAS,CAACqD,iEAAkBA;AAAC;AAApB,GAAlB,EAAmEyE,aAAnE,EAAkFzrH,IAAlF,CAAtB;AACH;AACM,SAAS+8H,qBAAT,CAA+B/kG,MAA/B,EAAuCyzF,aAAvC,EAAsDqQ,oBAAtD,EAA4E;AAC/EK,EAAAA,mBAAmB,CAACnkG,MAAD,EAASyzF,aAAT,CAAnB;AACA,MAAIoE,QAAQ,GAAGpE,aAAa,CAACoN,WAAD,CAA5B;AACA,MAAI5pG,KAAK,GAAG4gG,QAAQ,CAACiJ,aAAD,CAAR,IAA2B,EAAvC;AACA,MAAIhN,YAAY,GAAG+D,QAAQ,CAAC0I,gEAAiBA;AAAC;AAAnB,GAAR,IAA0D,EAA7E;;AACAqD,EAAAA,4BAA4B,CAACnQ,aAAa,CAAC4M,wDAASA;AAAC;AAAX,GAAd,EAA8CppG,KAA9C,EAAqD68F,YAArD,CAA5B;;AACA,MAAI,CAACjG,yFAAiB,CAACiW,oBAAD,CAAtB,EAA8C;AAC1CD,IAAAA,0CAA0C,CAAC5sG,KAAD,EAAQ6sG,oBAAR,CAA1C;AACH;;AACD,MAAIkB,cAAc,GAAG,IAAIpZ,0EAAJ,CAAW5rF,MAAX,EAAmB63F,QAAQ,CAAC2I,wDAASA;AAAC;AAAX,GAA3B,EAA2D3I,QAAQ,CAACP,OAApE,EAA6EO,QAAQ,CAACN,WAAtF,EAAmGM,QAAQ,CAAC/lG,GAA5G,EAAiH+lG,QAAQ,CAAChmG,GAA1H,EAA+HgmG,QAAQ,CAACoN,MAAxI,EAAgJhuG,KAAhJ,EAAuJ68F,YAAvJ,CAArB;AACA,MAAI9rH,IAAI,GAAG,IAAIua,wEAAJ,CAASqpG,0EAAM,CAAC8C,6DAAcA;AAAC;AAAhB,GAAf,EAAwDsW,cAAxD,CAAX;AACA,SAAOjB,eAAe,CAAC/jG,MAAD,EAAS4rF,0EAAM,CAACoD,iEAAkBA;AAAC;AAApB,GAAf,EAAgEyE,aAAhE,EAA+EzrH,IAA/E,CAAtB;AACH;AACM,SAASk9H,uBAAT,CAAiCllG,MAAjC,EAAyCyzF,aAAzC,EAAwDqQ,oBAAxD,EAA8E;AACjFK,EAAAA,mBAAmB,CAACnkG,MAAD,EAASyzF,aAAT,CAAnB,CADiF,CAEjF;;AACA,MAAI36G,QAAJ;AACA,MAAI++G,QAAQ,GAAGpE,aAAa,CAACoN,WAAD,CAA5B;;AACA,MAAI,CAAChT,yFAAiB,CAACgK,QAAD,CAAlB,IACA,CAAChK,yFAAiB,CAACgK,QAAQ,CAACiJ,aAAD,CAAT,CADlB,IAEA,CAACjT,yFAAiB,CAACgK,QAAQ,CAACiJ,aAAD,CAAR,CAAwBV,6DAAxB,CAAD,CAFtB,EAE+D;AAAE;AAC7DtnH,IAAAA,QAAQ,GAAG++G,QAAQ,CAACiJ,aAAD,CAAR,CAAwBV,6DAAxB,CAAX;AACA,WAAOvI,QAAQ,CAACiJ,aAAD,CAAR,CAAwBV,6DAAxB,CAAP;AACH,GALD,MAMK,IAAI,CAACvS,yFAAiB,CAAC4F,aAAa,CAAC4M,wDAASA;AAAC;AAAX,GAAd,CAAlB,IACL,CAACxS,yFAAiB,CAAC4F,aAAa,CAAC4M,wDAASA;AAAC;AAAX,GAAb,CAA4CD,6DAA5C,CAAD,CADjB,EAC8E;AAAE;AACjFtnH,IAAAA,QAAQ,GAAG26G,aAAa,CAAC4M,wDAASA;AAAC;AAAX,KAAb,CAA4CD,6DAA5C,CAAX;AACA,WAAO3M,aAAa,CAAC4M,wDAASA;AAAC;AAAX,KAAb,CAA4CD,6DAA5C,CAAP;AACH;;AACD,MAAIkE,EAAE,GAAG7Q,aAAa,CAACoN,WAAD,CAAtB,CAhBiF,CAiBjF;;AACA,MAAIsE,gBAAJ;;AACA,MAAI,CAAC,CAAC1R,aAAa,CAACt2E,GAAd,IAAqB,EAAtB,EAA0B9T,KAA1B,IAAmC,EAApC,EAAwCs3F,4DAAaA;AAAC;AAAtD,GAAJ,EAAkF;AAC9EwE,IAAAA,gBAAgB,GAAG1R,aAAa,CAACt2E,GAAd,CAAkB9T,KAAlB,CAAwBs3F,4DAAaA;AAAC;AAAtC,KAAnB;AACH;;AACD,MAAInzH,EAAE,GAAG82H,EAAE,CAAC92H,EAAH,IAAS23H,gBAAlB;AACA,MAAIt0H,IAAI,GAAGyzH,EAAE,CAAC9D,wDAASA;AAAC;AAAX,GAAb;AACA,MAAI/iH,GAAG,GAAG6mH,EAAE,CAAClQ,GAAb;AACA,MAAIrmD,UAAU,GAAGu2D,EAAE,CAACxD,aAAD,CAAF,IAAqB,EAAtC;AACA,MAAIhN,YAAY,GAAGwQ,EAAE,CAAC/D,gEAAiBA;AAAC;AAAnB,GAAF,IAAoD,EAAvE,CA1BiF,CA2BjF;;AACA,MAAI,CAAC1S,yFAAiB,CAACyW,EAAE,CAAC/P,MAAJ,CAAtB,EAAmC;AAC/BxmD,IAAAA,UAAU,CAAC,QAAD,CAAV,GAAuBu2D,EAAE,CAAC/P,MAA1B;AACH,GA9BgF,CA+BjF;;;AACA,MAAI,CAAC1G,yFAAiB,CAACyW,EAAE,CAACc,QAAJ,CAAtB,EAAqC;AACjCr3D,IAAAA,UAAU,CAAC,UAAD,CAAV,GAAyBu2D,EAAE,CAACc,QAA5B;AACH,GAlCgF,CAmCjF;;;AACA,MAAI,CAACvX,yFAAiB,CAACyW,EAAE,CAACpyF,UAAJ,CAAtB,EAAuC;AACnC67B,IAAAA,UAAU,CAAC,YAAD,CAAV,GAA2Bu2D,EAAE,CAACpyF,UAAH,CAAc+9E,6DAAcA;AAAC;AAA7B,OAA3B;AACH,GAtCgF,CAuCjF;;;AACA,MAAI,CAACpC,yFAAiB,CAACyW,EAAE,CAACxD,aAAD,CAAH,CAAtB,EAA2C;AACvC,QAAIuE,QAAQ,GAAGf,EAAE,CAACxD,aAAD,CAAjB;AACA5S,IAAAA,qFAAa,CAACmX,QAAD,EAAW,UAAUl/F,GAAV,EAAe50B,KAAf,EAAsB;AAC1Cw8D,MAAAA,UAAU,CAAC5nC,GAAD,CAAV,GAAkB50B,KAAlB;AACH,KAFY,CAAb;AAGH;;AACDqyH,EAAAA,4BAA4B,CAACnQ,aAAa,CAAC4M,wDAASA;AAAC;AAAX,GAAd,EAA8CtyD,UAA9C,EAA0D+lD,YAA1D,CAA5B;;AACA,MAAI,CAACjG,yFAAiB,CAACiW,oBAAD,CAAtB,EAA8C;AAC1CD,IAAAA,0CAA0C,CAAC91D,UAAD,EAAa+1D,oBAAb,CAA1C;AACH;;AACD,MAAIwB,YAAY,GAAG,IAAIzZ,4EAAJ,CAAa7rF,MAAb,EAAqBnvB,IAArB,EAA2B4M,GAA3B,EAAgC3E,QAAhC,EAA0Ci1D,UAA1C,EAAsD+lD,YAAtD,EAAoEtmH,EAApE,CAAnB;AACA,MAAIxF,IAAI,GAAG,IAAIua,wEAAJ,CAASspG,4EAAQ,CAAC6C,6DAAcA;AAAC;AAAhB,GAAjB,EAA0D4W,YAA1D,CAAX;AACA,SAAOvB,eAAe,CAAC/jG,MAAD,EAAS6rF,4EAAQ,CAACmD,iEAAkBA;AAAC;AAApB,GAAjB,EAAkEyE,aAAlE,EAAiFzrH,IAAjF,CAAtB;AACH;AACM,SAASu9H,kCAAT,CAA4CvlG,MAA5C,EAAoDyzF,aAApD,EAAmEqQ,oBAAnE,EAAyF;AAC5FK,EAAAA,mBAAmB,CAACnkG,MAAD,EAASyzF,aAAT,CAAnB;AACA,MAAI6Q,EAAE,GAAG7Q,aAAa,CAACoN,WAAD,CAAtB;AACA,MAAIhwH,IAAI,GAAGyzH,EAAE,CAAC9D,wDAASA;AAAC;AAAX,GAAb;AACA,MAAI/iH,GAAG,GAAG6mH,EAAE,CAAClQ,GAAH,IAAUkQ,EAAE,CAAC7mH,GAAvB;AACA,MAAIswD,UAAU,GAAGu2D,EAAE,CAACxD,aAAD,CAAF,IAAqB,EAAtC;AACA,MAAIhN,YAAY,GAAGwQ,EAAE,CAAC/D,gEAAiBA;AAAC;AAAnB,GAAF,IAAoD,EAAvE;;AACAqD,EAAAA,4BAA4B,CAACnQ,aAAa,CAAC4M,wDAASA;AAAC;AAAX,GAAd,EAA8CtyD,UAA9C,EAA0D+lD,YAA1D,CAA5B;;AACA,MAAI,CAACjG,yFAAiB,CAACiW,oBAAD,CAAtB,EAA8C;AAC1CD,IAAAA,0CAA0C,CAAC91D,UAAD,EAAa+1D,oBAAb,CAA1C;AACH;;AACD,MAAIjM,QAAQ,GAAG,IAAI/L,uFAAJ,CAAwB9rF,MAAxB,EAAgCnvB,IAAhC,EAAsC4M,GAAtC,EAA2Ci1B,SAA3C,EAAsDq7B,UAAtD,EAAkE+lD,YAAlE,EAAgFwQ,EAAhF,CAAf;AACA,MAAIt8H,IAAI,GAAG,IAAIua,wEAAJ,CAASupG,uFAAmB,CAAC4C,6DAAcA;AAAC;AAAhB,GAA5B,EAAqEmJ,QAArE,CAAX;AACA,SAAOkM,eAAe,CAAC/jG,MAAD,EAAS8rF,uFAAmB,CAACkD,iEAAkBA;AAAC;AAApB,GAA5B,EAA6EyE,aAA7E,EAA4FzrH,IAA5F,CAAtB;AACH;AACM,SAASw9H,oBAAT,CAA8BxlG,MAA9B,EAAsCyzF,aAAtC,EAAqDqQ,oBAArD,EAA2E;AAC9EK,EAAAA,mBAAmB,CAACnkG,MAAD,EAASyzF,aAAT,CAAnB;AACA,MAAIvxH,OAAO,GAAGuxH,aAAa,CAACoN,WAAD,CAAb,CAA2B3+H,OAAzC;AACA,MAAI+yH,aAAa,GAAGxB,aAAa,CAACoN,WAAD,CAAb,CAA2B5L,aAA/C;AACA,MAAIh+F,KAAK,GAAGw8F,aAAa,CAACoN,WAAD,CAAb,CAA2BC,aAA3B,KAA6C,EAAzD;AACA,MAAIhN,YAAY,GAAGL,aAAa,CAACoN,WAAD,CAAb,CAA2BN,gEAAiBA;AAAC;AAA7C,OAA4E,EAA/F;;AACAqD,EAAAA,4BAA4B,CAACnQ,aAAa,CAAC4M,wDAASA;AAAC;AAAX,GAAd,EAA8CppG,KAA9C,EAAqD68F,YAArD,CAA5B;;AACA,MAAI,CAACjG,yFAAiB,CAACiW,oBAAD,CAAtB,EAA8C;AAC1CD,IAAAA,0CAA0C,CAAC5sG,KAAD,EAAQ6sG,oBAAR,CAA1C;AACH;;AACD,MAAIjM,QAAQ,GAAG,IAAIpsB,yEAAJ,CAAUzrE,MAAV,EAAkB99B,OAAlB,EAA2B+yH,aAA3B,EAA0Ch+F,KAA1C,EAAiD68F,YAAjD,CAAf;AACA,MAAI9rH,IAAI,GAAG,IAAIua,wEAAJ,CAASkpF,yEAAK,CAACijB,6DAAcA;AAAC;AAAhB,GAAd,EAAuDmJ,QAAvD,CAAX;AACA,SAAOkM,eAAe,CAAC/jG,MAAD,EAASyrE,yEAAK,CAACujB,iEAAkBA;AAAC;AAApB,GAAd,EAA+DyE,aAA/D,EAA8EzrH,IAA9E,CAAtB;AACH;;;;;;;;;;;;;;;AC5SD;AACA;AACA;AACA;AAGA;AACA;AACA;AACA;AACA;AACO,IAAIo4H,YAAY,GAAG,UAAnB;;;;;;;;;;;;;;;;;;;;ACXP;AACA;AACA;AACA;AACA;AACA;;AACA,SAASuF,cAAT,CAAwB13E,MAAxB,EAAgC+nE,YAAhC,EAA8C;AAC1C/I,EAAAA,gFAAQ,CAACh/D,MAAD,EAAS,IAAT,EAAe,IAAf,EAAqB+nE,YAArB,CAAR;AACH;AACD;AACA;AACA;AACA;;;AACO,SAAS4P,qBAAT,CAA+BC,kBAA/B,EAAmD;AACtD,MAAIz1F,EAAJ;;AACA,MAAI5L,SAAS,GAAG4oF,mFAAW,EAA3B;;AACA,MAAImQ,UAAU,GAAGvB,oFAAY,EAA7B,CAHsD,CAGrB;;;AACjC,MAAI8J,YAAY,GAAG,KAAnB;AACA,MAAIC,aAAa,GAAG,IAApB;;AACA,MAAIjT,aAAa,GAAG9E,yFAAiB,CAACjB,6FAAqB,CAAC,iBAAD,CAAtB,EAA2C8Y,kBAA3C,CAArC;;AACA,MAAI;AACA,QAAIG,aAAa,CAACxY,iFAAS,EAAV,CAAjB,EAAgC;AAC5BsY,MAAAA,YAAY,GAAG,IAAf;AACH;;AACD,QAAIthG,SAAJ,EAAe;AACX;AACA,UAAIypB,MAAM,GAAGzpB,SAAS,CAAC9sB,IAAV,IAAkB8sB,SAA/B;;AACA,UAAIypB,MAAM,CAACg4E,QAAX,EAAqB;AACjB,YAAID,aAAa,CAAC/3E,MAAD,CAAjB,EAA2B;AACvB63E,UAAAA,YAAY,GAAG,IAAf;AACH;AACJ;AACJ;;AACD,QAAIA,YAAJ,EAAkB;AACd;AACA,UAAIvI,UAAU,IAAI,CAAC1P,yFAAiB,CAAC0P,UAAU,CAACmI,2DAAYA;AAAC;AAAd,OAAX,CAApC,EAAqF;AAAE;AACnFK,QAAAA,aAAa,GAAGxI,UAAU,CAACmI,2DAAYA;AAAC;AAAd,SAA1B;AACH;AACJ;AACJ,GAnBD,CAoBA,OAAO16F,CAAP,EAAU;AACN;AACA86F,IAAAA,YAAY,GAAG,KAAf;AACH;;AACD,WAASE,aAAT,CAAuB/3E,MAAvB,EAA+B;AAC3B,QAAIzhC,OAAO,GAAG,KAAd;;AACA,QAAIyhC,MAAJ,EAAY;AACRzhC,MAAAA,OAAO,GAAG0gG,+EAAO,CAACj/D,MAAD,EAAS,QAAT,EAAmBi4E,UAAnB,EAA+BpT,aAA/B,CAAjB;;AACA,UAAItmG,OAAJ,EAAa;AACT0gG,QAAAA,+EAAO,CAACj/D,MAAD,EAAS,SAAT,EAAoBk4E,WAApB,EAAiCrT,aAAjC,CAAP;AACH;AACJ;;AACD,WAAOtmG,OAAP;AACH;;AACD,WAAS05G,UAAT,GAAsB;AAClBH,IAAAA,aAAa,GAAG,IAAhB;AACH;;AACD,WAASI,WAAT,GAAuB;AACnBJ,IAAAA,aAAa,GAAG,KAAhB;AACH;;AACD,WAASK,SAAT,GAAqB;AACjB,QAAIp0H,MAAM,GAAG,IAAb;;AACA,QAAI8zH,YAAJ,EAAkB;AACd9zH,MAAAA,MAAM,GAAG+zH,aAAT;AACH,KAFD,MAGK,IAAIxI,UAAU,IAAI,CAAC1P,yFAAiB,CAAC0P,UAAU,CAACmI,2DAAYA;AAAC;AAAd,KAAX,CAApC,EAAqF;AAAE;AACxF1zH,MAAAA,MAAM,GAAGurH,UAAU,CAACmI,2DAAYA;AAAC;AAAd,OAAnB;AACH;;AACD,WAAO1zH,MAAP;AACH;;AACD,WAASq0H,OAAT,GAAmB;AACf,QAAIhO,GAAG,GAAG7K,iFAAS,EAAnB;;AACA,QAAI6K,GAAG,IAAIyN,YAAX,EAAyB;AACrBH,MAAAA,cAAc,CAACtN,GAAD,EAAMvF,aAAN,CAAd;;AACA,UAAItuF,SAAJ,EAAe;AACX;AACA,YAAIypB,MAAM,GAAGzpB,SAAS,CAAC9sB,IAAV,IAAkB8sB,SAA/B;;AACA,YAAI,CAACupF,mFAAW,CAAC9/D,MAAM,CAACg4E,QAAR,CAAhB,EAAmC;AAC/BN,UAAAA,cAAc,CAAC13E,MAAD,EAAS6kE,aAAT,CAAd;AACH;AACJ;;AACDgT,MAAAA,YAAY,GAAG,KAAf;AACH;AACJ;;AACD,SAAO11F,EAAE,GAAG,EAAL,EACHA,EAAE,CAACq1F,6DAAcA;AAAC;AAAhB,GAAF,GAAyCW,SADtC,EAEHh2F,EAAE,CAACk2F,WAAH,GAAiB,YAAY;AAAE,WAAOR,YAAP;AAAsB,GAFlD,EAGH11F,EAAE,CAACm2F,MAAH,GAAYF,OAHT,EAIHj2F,EAJJ;AAKH;;;;;;;;;;;;;;;;;;;;;;;ACzFD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,IAAIi3F,cAAc;AAAG;AAAe,YAAY;AAC5C,WAASA,cAAT,CAAwBrnG,MAAxB,EAAgCjgC,MAAhC,EAAwC;AACpC,QAAIunI,OAAO,GAAG,EAAd;AACA,QAAIC,sBAAsB,GAAG,KAA7B;;AACA,SAAKC,IAAL,GAAY,YAAY;AACpB,aAAOF,OAAP;AACH,KAFD;;AAGA,SAAKG,IAAL,GAAY,UAAUvrE,MAAV,EAAkB;AAC1BorE,MAAAA,OAAO,GAAGprE,MAAV;AACA,aAAOorE,OAAP;AACH,KAHD;;AAIA9b,IAAAA,sEAAY,CAAC6b,cAAD,EAAiB,IAAjB,EAAuB,UAAUtU,KAAV,EAAiB;AAChDA,MAAAA,KAAK,CAACgU,2DAAYA;AAAC;AAAd,OAAL,GAA4C,UAAUp4E,OAAV,EAAmB;AAC3D,YAAIokE,KAAK,CAAC8T,yDAAUA;AAAC;AAAZ,SAAL,MAA2C9mI,MAAM,CAAC2nI,gBAAP,EAA/C,EAA0E;AACtE;AACA,cAAI,CAACH,sBAAL,EAA6B;AACzB7T,YAAAA,sFAAc,CAAC1zF,MAAD,EAAS;AAAE;AAAX,cAA2C;AAAI;AAA/C,cAAoG,4CAA4C+yF,KAAK,CAAC8T,yDAAUA;AAAC;AAAZ,aAAL,EAAhJ,EAAyL,IAAzL,CAAd;;AACAU,YAAAA,sBAAsB,GAAG,IAAzB;AACH;;AACD;AACH;;AACDD,QAAAA,OAAO,CAACL,wDAASA;AAAC;AAAX,SAAP,CAAsCt4E,OAAtC;AACH,OAVD;;AAWAokE,MAAAA,KAAK,CAAC8T,yDAAUA;AAAC;AAAZ,OAAL,GAAwC,YAAY;AAChD,eAAOS,OAAO,CAAC/X,0DAAWA;AAAC;AAAb,SAAd;AACH,OAFD;;AAGAwD,MAAAA,KAAK,CAACvgB,IAAN,GAAa,YAAY;AACrB,YAAIA,IAAI,GAAG80B,OAAO,CAAC/X,0DAAWA;AAAC;AAAb,SAAlB;;AACA,aAAK,IAAIoY,EAAE,GAAG,CAAd,EAAiBA,EAAE,GAAGL,OAAO,CAAC/X,0DAAWA;AAAC;AAAb,SAA7B,EAAiEoY,EAAE,EAAnE,EAAuE;AACnEn1B,UAAAA,IAAI,IAAI80B,OAAO,CAACK,EAAD,CAAP,CAAYpY,0DAAWA;AAAC;AAAxB,WAAR;AACH;;AACD,YAAI,CAACxvH,MAAM,CAAC+mI,yEAA0BA;AAAC;AAA5B,SAAN,EAAL,EAA+E;AAC3Et0B,UAAAA,IAAI,IAAI,CAAR;AACH;;AACD,eAAOA,IAAP;AACH,OATD;;AAUAugB,MAAAA,KAAK,CAAC4T,yDAAUA;AAAC;AAAZ,OAAL,GAAwC,YAAY;AAChDW,QAAAA,OAAO,GAAG,EAAV;AACAC,QAAAA,sBAAsB,GAAG,KAAzB;AACH,OAHD;;AAIAxU,MAAAA,KAAK,CAAC6U,QAAN,GAAiB,YAAY;AACzB,eAAON,OAAO,CAACvuB,KAAR,CAAc,CAAd,CAAP;AACH,OAFD;;AAGAga,MAAAA,KAAK,CAAC0T,kEAAmBA;AAAC;AAArB,OAAL,GAAyD,UAAU93E,OAAV,EAAmB;AACxE,YAAIA,OAAO,IAAIA,OAAO,CAAC4gE,0DAAWA;AAAC;AAAb,SAAP,GAA4C,CAA3D,EAA8D;AAC1D,cAAIsY,KAAK,GAAG9nI,MAAM,CAAC+mI,yEAA0BA;AAAC;AAA5B,WAAN,KACRn4E,OAAO,CAACvhD,IAAR,CAAa,IAAb,CADQ,GAER,MAAMuhD,OAAO,CAACvhD,IAAR,CAAa,GAAb,CAAN,GAA0B,GAF9B;AAGA,iBAAOy6H,KAAP;AACH;;AACD,eAAO,IAAP;AACH,OARD;AASH,KAzCW,CAAZ;AA0CH,GArD2C,CAsDhD;AACA;AACA;AACA;AACA;AACA;AACI;AACA;AACA;;;AACAR,EAAAA,cAAc,CAACvL,OAAf,GAAuB,CAAvB;AAEA,SAAOuL,cAAP;AACH,CAlEmC,EAApC;AAmEA;AACA;AACA;;;AACA,IAAIS,eAAe;AAAG;AAAe,UAAU3+F,MAAV,EAAkB;AACnDqB,EAAAA,iFAAS,CAACs9F,eAAD,EAAkB3+F,MAAlB,CAAT;;AACA,WAAS2+F,eAAT,CAAyB9nG,MAAzB,EAAiCjgC,MAAjC,EAAyC;AACrC,QAAImxC,KAAK,GAAG/H,MAAM,CAACK,IAAP,CAAY,IAAZ,EAAkBxJ,MAAlB,EAA0BjgC,MAA1B,KAAqC,IAAjD;;AACAyrH,IAAAA,sEAAY,CAACsc,eAAD,EAAkB52F,KAAlB,EAAyB,UAAU6hF,KAAV,EAAiBC,KAAjB,EAAwB;AACzDD,MAAAA,KAAK,CAACiU,gEAAiBA;AAAC;AAAnB,OAAL,GAAoD,UAAUr4E,OAAV,EAAmB;AACnEqkE,QAAAA,KAAK,CAAC2T,yDAAUA;AAAC;AAAZ,SAAL;AACH,OAFD;;AAGA5T,MAAAA,KAAK,CAAC6T,8DAAeA;AAAC;AAAjB,OAAL,GAAiD,UAAUj4E,OAAV,EAAmB,CAChE;AACH,OAFD;AAGH,KAPW,CAAZ;AAQA,WAAOzd,KAAP;AACH,GAbkD,CAcvD;AACA;AACI;AACA;AACA;;;AACA42F,EAAAA,eAAe,CAAChM,OAAhB,GAAwB,CAAxB;AAEA,SAAOgM,eAAP;AACH,CAtBoC,CAsBnCT,cAtBmC,CAArC;;AAuBA;AACA;AACA;AACA;;AACA,IAAIU,wBAAwB;AAAG;AAAe,UAAU5+F,MAAV,EAAkB;AAC5DqB,EAAAA,iFAAS,CAACu9F,wBAAD,EAA2B5+F,MAA3B,CAAT;;AACA,WAAS4+F,wBAAT,CAAkC/nG,MAAlC,EAA0CjgC,MAA1C,EAAkD;AAC9C,QAAImxC,KAAK,GAAG/H,MAAM,CAACK,IAAP,CAAY,IAAZ,EAAkBxJ,MAAlB,EAA0BjgC,MAA1B,KAAqC,IAAjD;;AACA,QAAIwnI,sBAAsB,GAAG,KAA7B;;AACA,QAAIn3F,EAAE,GAAGrwC,MAAM,CAAC2mI,mEAAoBA;AAAC;AAAtB,KAAN,MAA+D;AAAEtoF,MAAAA,OAAO,EAAEigF,uFAAX;AAAiChgF,MAAAA,OAAO,EAAEkgF,uFAAoBA;AAA9D,KAAxE;AAAA,QAA0IngF,OAAO,GAAGhO,EAAE,CAACgO,OAAvJ;AAAA,QAAgKC,OAAO,GAAGjO,EAAE,CAACiO,OAA7K;;AACAmtE,IAAAA,sEAAY,CAACuc,wBAAD,EAA2B72F,KAA3B,EAAkC,UAAU6hF,KAAV,EAAiBC,KAAjB,EAAwB;AAClE,UAAIgV,WAAW,GAAGC,UAAU,CAACF,wBAAwB,CAACb,gEAAiBA;AAAC;AAAnB,OAAzB,CAA5B;;AACA,UAAIgB,iBAAiB,GAAGD,UAAU,CAACF,wBAAwB,CAACX,sEAAuBA;AAAC;AAAzB,OAAzB,CAAlC;;AACA,UAAIlrE,MAAM,GAAG62D,KAAK,CAAC0U,IAAN,CAAWO,WAAW,CAAC/6F,MAAZ,CAAmBi7F,iBAAnB,CAAX,CAAb,CAHkE,CAIlE;;;AACA,UAAIhsE,MAAM,CAACqzD,0DAAWA;AAAC;AAAb,OAAN,GAA2CwY,wBAAwB,CAACZ,sEAAuBA;AAAC;AAAzB,OAAvE,EAAgI;AAC5HjrE,QAAAA,MAAM,CAACqzD,0DAAWA;AAAC;AAAb,SAAN,GAA2CwY,wBAAwB,CAACZ,sEAAuBA;AAAC;AAAzB,SAAnE;AACH;;AACDgB,MAAAA,UAAU,CAACJ,wBAAwB,CAACX,sEAAuBA;AAAC;AAAzB,OAAzB,EAAkF,EAAlF,CAAV;;AACAe,MAAAA,UAAU,CAACJ,wBAAwB,CAACb,gEAAiBA;AAAC;AAAnB,OAAzB,EAAuEhrE,MAAvE,CAAV;;AACA62D,MAAAA,KAAK,CAACgU,2DAAYA;AAAC;AAAd,OAAL,GAA4C,UAAUp4E,OAAV,EAAmB;AAC3D,YAAIokE,KAAK,CAAC8T,yDAAUA;AAAC;AAAZ,SAAL,MAA2CkB,wBAAwB,CAACZ,sEAAuBA;AAAC;AAAzB,SAAvE,EAAgI;AAC5H;AACA,cAAI,CAACI,sBAAL,EAA6B;AACzB7T,YAAAA,sFAAc,CAAC1zF,MAAD,EAAS;AAAE;AAAX,cAA2C;AAAG;AAA9C,cAAkG,kCAAkC+yF,KAAK,CAAC8T,yDAAUA;AAAC;AAAZ,aAAL,EAApI,EAA6K,IAA7K,CAAd;;AACAU,YAAAA,sBAAsB,GAAG,IAAzB;AACH;;AACD;AACH;;AACDvU,QAAAA,KAAK,CAAC+T,2DAAYA;AAAC;AAAd,SAAL,CAA0Cp4E,OAA1C;;AACAw5E,QAAAA,UAAU,CAACJ,wBAAwB,CAACb,gEAAiBA;AAAC;AAAnB,SAAzB,EAAuEnU,KAAK,CAACyU,IAAN,EAAvE,CAAV;AACH,OAXD;;AAYAzU,MAAAA,KAAK,CAAC4T,yDAAUA;AAAC;AAAZ,OAAL,GAAwC,YAAY;AAChD3T,QAAAA,KAAK,CAAC2T,yDAAUA;AAAC;AAAZ,SAAL;;AACAwB,QAAAA,UAAU,CAACJ,wBAAwB,CAACb,gEAAiBA;AAAC;AAAnB,SAAzB,EAAuEnU,KAAK,CAACyU,IAAN,EAAvE,CAAV;;AACAW,QAAAA,UAAU,CAACJ,wBAAwB,CAACX,sEAAuBA;AAAC;AAAzB,SAAzB,EAAkF,EAAlF,CAAV;;AACAG,QAAAA,sBAAsB,GAAG,KAAzB;AACH,OALD;;AAMAxU,MAAAA,KAAK,CAACiU,gEAAiBA;AAAC;AAAnB,OAAL,GAAoD,UAAUr4E,OAAV,EAAmB;AACnEw5E,QAAAA,UAAU,CAACJ,wBAAwB,CAACb,gEAAiBA;AAAC;AAAnB,SAAzB,EAAuEnU,KAAK,CAAC0U,IAAN,CAAWW,yBAAyB,CAACz5E,OAAD,EAAUokE,KAAK,CAACyU,IAAN,EAAV,CAApC,CAAvE,CAAV;;AACA,YAAIa,YAAY,GAAGJ,UAAU,CAACF,wBAAwB,CAACX,sEAAuBA;AAAC;AAAzB,SAAzB,CAA7B;;AACA,YAAIiB,YAAY,YAAY7iG,KAAxB,IAAiCmpB,OAAO,YAAYnpB,KAAxD,EAA+D;AAC3D6iG,UAAAA,YAAY,GAAGA,YAAY,CAACp7F,MAAb,CAAoB0hB,OAApB,CAAf;;AACA,cAAI05E,YAAY,CAAC9Y,0DAAWA;AAAC;AAAb,WAAZ,GAAiDwY,wBAAwB,CAACZ,sEAAuBA;AAAC;AAAzB,WAA7E,EAAsI;AAClI;AACA;AACAzT,YAAAA,sFAAc,CAAC1zF,MAAD,EAAS;AAAE;AAAX,cAA4C;AAAG;AAA/C,cAAmG,2CAA2CqoG,YAAY,CAAC9Y,0DAAWA;AAAC;AAAb,aAA1J,EAA8L,IAA9L,CAAd;;AACA8Y,YAAAA,YAAY,CAAC9Y,0DAAWA;AAAC;AAAb,aAAZ,GAAiDwY,wBAAwB,CAACZ,sEAAuBA;AAAC;AAAzB,aAAzE;AACH;;AACDgB,UAAAA,UAAU,CAACJ,wBAAwB,CAACX,sEAAuBA;AAAC;AAAzB,WAAzB,EAAkFiB,YAAlF,CAAV;AACH;AACJ,OAbD;;AAcAtV,MAAAA,KAAK,CAAC6T,8DAAeA;AAAC;AAAjB,OAAL,GAAiD,UAAUj4E,OAAV,EAAmB;AAChE,YAAI05E,YAAY,GAAGJ,UAAU,CAACF,wBAAwB,CAACX,sEAAuBA;AAAC;AAAzB,SAAzB,CAA7B;;AACAiB,QAAAA,YAAY,GAAGD,yBAAyB,CAACz5E,OAAD,EAAU05E,YAAV,CAAxC;;AACAF,QAAAA,UAAU,CAACJ,wBAAwB,CAACX,sEAAuBA;AAAC;AAAzB,SAAzB,EAAkFiB,YAAlF,CAAV;AACH,OAJD;;AAKA,eAASD,yBAAT,CAAmCE,QAAnC,EAA6CpsE,MAA7C,EAAqD;AACjD,YAAIqsE,SAAS,GAAG,EAAhB;AACA1b,QAAAA,kFAAU,CAAC3wD,MAAD,EAAS,UAAU3qD,KAAV,EAAiB;AAChC,cAAI,CAACq8G,kFAAU,CAACr8G,KAAD,CAAX,IAAsBi1H,kFAAU,CAAC8B,QAAD,EAAW/2H,KAAX,CAAV,KAAgC,CAAC,CAA3D,EAA8D;AAC1Dg3H,YAAAA,SAAS,CAACtB,wDAASA;AAAC;AAAX,aAAT,CAAwC11H,KAAxC;AACH;AACJ,SAJS,CAAV;AAKA,eAAOg3H,SAAP;AACH;;AACD,eAASN,UAAT,CAAoB9hG,GAApB,EAAyB;AACrB,YAAIqiG,WAAW,GAAGriG,GAAlB;;AACA,YAAI;AACAqiG,UAAAA,WAAW,GAAGzoI,MAAM,CAAC2vH,+DAAgBA;AAAC;AAAlB,WAAN,IAAqD3vH,MAAM,CAAC2vH,+DAAgBA;AAAC;AAAlB,WAAN,EAArD,GAA2G3vH,MAAM,CAAC2vH,+DAAgBA;AAAC;AAAlB,WAAN,KAAsD,GAAtD,GAA4D8Y,WAAvK,GAAqLA,WAAnM;AACA,cAAIC,UAAU,GAAGrqF,OAAO,CAACpe,MAAD,EAASwoG,WAAT,CAAxB;;AACA,cAAIC,UAAJ,EAAgB;AACZ,gBAAIC,QAAQ,GAAGhK,+EAAO,GAAGv/G,KAAV,CAAgBspH,UAAhB,CAAf;;AACA,gBAAI3a,gFAAQ,CAAC4a,QAAD,CAAZ,EAAwB;AACpB;AACAA,cAAAA,QAAQ,GAAGhK,+EAAO,GAAGv/G,KAAV,CAAgBupH,QAAhB,CAAX;AACH;;AACD,gBAAIA,QAAQ,IAAIjnB,+EAAO,CAACinB,QAAD,CAAvB,EAAmC;AAC/B,qBAAOA,QAAP;AACH;AACJ;AACJ,SAbD,CAcA,OAAO19F,CAAP,EAAU;AACN0oF,UAAAA,sFAAc,CAAC1zF,MAAD,EAAS;AAAE;AAAX,YAA4C;AAAG;AAA/C,YAAuG,mBAAmBwoG,WAAnB,GAAiC,IAAjC,GAAwCnb,wFAAgB,CAACriF,CAAD,CAA/J,EAAoK;AAAE2oF,YAAAA,SAAS,EAAE3G,+EAAO,CAAChiF,CAAD;AAApB,WAApK,CAAd;AACH;;AACD,eAAO,EAAP;AACH;;AACD,eAASm9F,UAAT,CAAoBhiG,GAApB,EAAyB+1B,MAAzB,EAAiC;AAC7B,YAAIssE,WAAW,GAAGriG,GAAlB;;AACA,YAAI;AACAqiG,UAAAA,WAAW,GAAGzoI,MAAM,CAAC2vH,+DAAgBA;AAAC;AAAlB,WAAN,IAAqD3vH,MAAM,CAAC2vH,+DAAgBA;AAAC;AAAlB,WAAN,EAArD,GAA2G3vH,MAAM,CAAC2vH,+DAAgBA;AAAC;AAAlB,WAAN,KAAsD,GAAtD,GAA4D8Y,WAAvK,GAAqLA,WAAnM;;AACA,cAAIC,UAAU,GAAGvpH,IAAI,CAACuhH,6DAAcA;AAAC;AAAhB,WAAJ,CAA6CvkE,MAA7C,CAAjB;;AACA7d,UAAAA,OAAO,CAACre,MAAD,EAASwoG,WAAT,EAAsBC,UAAtB,CAAP;AACH,SAJD,CAKA,OAAOz9F,CAAP,EAAU;AACN;AACA;AACAqT,UAAAA,OAAO,CAACre,MAAD,EAASwoG,WAAT,EAAsBtpH,IAAI,CAACuhH,6DAAcA;AAAC;AAAhB,WAAJ,CAA6C,EAA7C,CAAtB,CAAP;;AACA/M,UAAAA,sFAAc,CAAC1zF,MAAD,EAAS;AAAE;AAAX,YAA2C;AAAG;AAA9C,YAAkG,mBAAmBwoG,WAAnB,GAAiC,IAAjC,GAAwCnb,wFAAgB,CAACriF,CAAD,CAAxD,GAA8D,kBAAhK,EAAoL;AAAE2oF,YAAAA,SAAS,EAAE3G,+EAAO,CAAChiF,CAAD;AAApB,WAApL,CAAd;AACH;AACJ;AACJ,KA3FW,CAAZ;AA4FA,WAAOkG,KAAP;AACH,GAnG2D,CAoGhE;AACA;AACA;AACA;;;AACI62F,EAAAA,wBAAwB,CAACY,UAAzB,GAAsC,WAAtC;AACAZ,EAAAA,wBAAwB,CAACa,eAAzB,GAA2C,eAA3C,CAzG4D,CA0G5D;;AACAb,EAAAA,wBAAwB,CAACc,eAAzB,GAA2C,IAA3C;AACA,SAAOd,wBAAP;AACH,CA7G6C,CA6G5CV,cA7G4C,CAA9C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AC1GA;AACA;AACA;AACA;AACA,IAAIj3F,EAAJ;;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAIq7F,8BAA8B,GAAG,KAArC,EAA4C;;AAC5C,SAASC,gBAAT,CAA0BnuD,GAA1B,EAA+B;AAC3B,MAAI;AACA,WAAOA,GAAG,CAACK,YAAX;AACH,GAFD,CAGA,OAAO5yC,CAAP,EAAU,CACN;AACH;;AACD,SAAO,IAAP;AACH;;AACD,SAAS2gG,mCAAT,GAA+C;AAC3C,MAAIv7F,EAAJ;;AACA,MAAIw7F,YAAJ;AACA,MAAIC,oBAAJ,CAH2C,CAI3C;;AACA,SAAOz7F,EAAE,GAAG;AACJ07F,IAAAA,WAAW,EAAE,YAAY;AAAE,aAAO/C,0FAAuB,GAAGC,sFAAjC;AAAuD;AAD9E,GAAL,EAGH54F,EAAE,CAAC02F,yEAA0BA;AAAC;AAA5B,GAAF,GAAkE,YAAY;AAAE,WAAO,KAAP;AAAe,GAH5F,EAIH12F,EAAE,CAACu6F,sEAAuBA;AAAC;AAAzB,GAAF,GAA0D,YAAY;AAAE,WAAO,KAAP;AAAe,GAJpF,EAKHv6F,EAAE,CAACw6F,yEAA0BA;AAAC;AAA5B,GAAF,GAAgE,YAAY;AAAE,WAAO,MAAP;AAAgB,GAL3F,EAMHx6F,EAAE,CAAC65F,qEAAsBA;AAAC;AAAxB,GAAF,GAAyD,YAAY;AAAE,WAAO,KAAP;AAAe,GANnF,EAOH75F,EAAE,CAAC+5F,yEAA0BA;AAAC;AAA5B,GAAF,GAAuE,YAAY;AAAE,WAAO,IAAP;AAAc,GAPhG,EAQH/5F,EAAE,CAACs2F,mEAAoBA;AAAC;AAAtB,GAAF,GAAqD,YAAY;AAAE,WAAO,KAAP;AAAe,GAR/E,EASHt2F,EAAE,CAACo6F,qEAAsBA;AAAC;AAAxB,GAAF,GAAwD,YAAY;AAAE,WAAO,KAAP;AAAe,GATlF,EAUHp6F,EAAE,CAACm6F,yEAA0BA;AAAC;AAA5B,GAAF,GAAgE,YAAY;AAAE,WAAO,IAAP;AAAc,GAVzF,EAWHn6F,EAAE,CAAC85F,+DAAgBA;AAAC;AAAlB,GAAF,GAA6C,YAAY;AAAE,WAAO,KAAP;AAAe,GAXvE,EAYH95F,EAAE,CAAC06F,yEAA0BA;AAAC;AAA5B,GAAF,GAAiE,YAAY;AAAE,WAAO,KAAP;AAAe,GAZ3F,EAaH16F,EAAE,CAACy6F,yEAA0BA;AAAC;AAA5B,GAAF,GAAkE,YAAY;AAAE,WAAO,KAAP;AAAe,GAb5F,EAcHz6F,EAAE,CAACk6F,uEAAwBA;AAAC;AAA1B,GAAF,GAA6D,YAAY;AAAE,WAAOsB,YAAP;AAAsB,GAd9F,EAeHx7F,EAAE,CAACs/E,+DAAgBA;AAAC;AAAlB,GAAF,GAA6C,YAAY;AAAE,WAAOkc,YAAP;AAAsB,GAf9E,EAgBHx7F,EAAE,CAACy/E,uEAAwBA;AAAC;AAA1B,GAAF,GAA6D,YAAY;AAAE,WAAO,GAAP;AAAa,GAhBrF,EAiBHz/E,EAAE,CAAC25F,kEAAmBA;AAAC;AAArB,GAAF,GAAmD,YAAY;AAAE,WAAO8B,oBAAP;AAA8B,GAjB5F,EAkBHz7F,EAAE,CAAC05F,qEAAsBA;AAAC;AAAxB,GAAF,GAAyD,YAAY;AAAE,WAAO8B,YAAP;AAAsB,GAlB1F,EAmBHx7F,EAAE,CAACs3F,gBAAH,GAAsB,YAAY;AAAE,WAAO,KAAP;AAAe,GAnBhD,EAoBHt3F,EApBJ;AAqBH;;AACD,IAAI27F,mBAAmB,IAAI37F,EAAE,GAAG,EAAL,EACvBA,EAAE,CAACy5E,iFAAD,CAAF,GAAqB6a,kEADE,EAEvBt0F,EAAE,CAACq7D,iFAAD,CAAF,GAAqB+5B,kEAFE,EAGvBp1F,EAAE,CAACy7E,oFAAD,CAAF,GAAwBqZ,qEAHD,EAIvB90F,EAAE,CAAC07E,+FAAD,CAAF,GAAmCyZ,gFAJZ,EAKvBn1F,EAAE,CAACu7E,qFAAD,CAAF,GAAyBiZ,sEALF,EAMvBx0F,EAAE,CAACw7E,kFAAD,CAAF,GAAsBmZ,mEANC,EAOvB30F,EAAE,CAAC47E,gGAAD,CAAF,GAAoCoY,uEAPb,EAQvBh0F,EARmB,CAAvB;;AASA,IAAI67F,MAAM;AAAG;AAAe,UAAU9iG,MAAV,EAAkB;AAC1CqB,EAAAA,kFAAS,CAACyhG,MAAD,EAAS9iG,MAAT,CAAT;;AACA,WAAS8iG,MAAT,GAAkB;AACd,QAAI/6F,KAAK,GAAG/H,MAAM,CAACK,IAAP,CAAY,IAAZ,KAAqB,IAAjC;;AACA0H,IAAAA,KAAK,CAAC80E,QAAN,GAAiB,IAAjB;AACA90E,IAAAA,KAAK,CAACygF,UAAN,GAAmBmX,2FAAnB;AACA;AACR;AACA;;AACQ53F,IAAAA,KAAK,CAACg7F,aAAN,GAAsBP,mCAAmC,EAAzD,CAPc,CAQd;;AACA,QAAIQ,kBAAJ,CATc,CASU;;;AACxB,QAAIC,QAAJ,CAVc,CAUA;;;AACd,QAAIC,SAAJ,CAXc,CAWC;;;AACf,QAAIC,OAAJ,CAZc,CAYD;;;AACb,QAAIC,cAAJ,CAbc,CAaM;;;AACpB,QAAIC,WAAJ;;AACA,QAAIC,yBAAJ;;AACA,QAAIC,QAAJ;;AACA,QAAIC,iBAAiB,GAAG,CAAxB,CAjBc,CAiBa;;AAC3B,QAAIC,eAAJ,CAlBc,CAkBO;;;AACrB,QAAIC,iBAAJ,CAnBc,CAmBS;;;AACvB,QAAIC,gBAAJ;;AACA,QAAIha,aAAJ;;AACAtH,IAAAA,uEAAY,CAACygB,MAAD,EAAS/6F,KAAT,EAAgB,UAAU6hF,KAAV,EAAiBC,KAAjB,EAAwB;AAChDE,MAAAA,aAAa;;AACbH,MAAAA,KAAK,CAAC9mG,KAAN,GAAc,YAAY;AACtB8gH,QAAAA,oBAAoB;;AACpBT,QAAAA,OAAO,GAAG,IAAV;AACH,OAHD;;AAIAvZ,MAAAA,KAAK,CAACia,MAAN,GAAe,YAAY;AACvB,YAAIV,OAAJ,EAAa;AACTA,UAAAA,OAAO,GAAG,KAAV;AACAF,UAAAA,QAAQ,GAAG,IAAX,CAFS,CAGT;;AACA,cAAIrZ,KAAK,CAACuU,OAAN,CAAc90B,IAAd,KAAuBugB,KAAK,CAACmZ,aAAN,CAAoBtB,yEAA0BA;AAAC;AAA/C,aAA3B,EAAgH;AAC5G7X,YAAAA,KAAK,CAACkY,gEAAiBA;AAAC;AAAnB,aAAL,CAAmD,IAAnD,EAAyD,IAAzD,EAA+D;AAAG;AAAlE;AACH;;AACDgC,UAAAA,WAAW;AACd;AACJ,OAVD;;AAWAla,MAAAA,KAAK,CAACmI,KAAN,GAAc,UAAUD,OAAV,EAAmBiS,QAAnB,EAA6BC,UAA7B,EAAyC;AACnD,YAAIlS,OAAO,KAAK,KAAK,CAArB,EAAwB;AAAEA,UAAAA,OAAO,GAAG,IAAV;AAAiB;;AAC3C,YAAI,CAACqR,OAAL,EAAc;AACV;AACAS,UAAAA,oBAAoB;;AACpB,cAAI;AACAha,YAAAA,KAAK,CAACkY,gEAAiBA;AAAC;AAAnB,aAAL,CAAmDhQ,OAAnD,EAA4D,IAA5D,EAAkEkS,UAAU,IAAI;AAAE;AAAlF;AACH,WAFD,CAGA,OAAOniG,CAAP,EAAU;AACN0oF,YAAAA,uFAAc,CAACX,KAAK,CAACpE,4DAAaA;AAAC;AAAf,aAAL,EAAD,EAA+C;AAAE;AAAjD,cAAkF;AAAG;AAArF,cAA4H,oDAAoDtB,yFAAgB,CAACriF,CAAD,CAAhM,EAAqM;AAAE2oF,cAAAA,SAAS,EAAE3G,gFAAO,CAAChiF,CAAD;AAApB,aAArM,CAAd;AACH;AACJ;AACJ,OAZD;;AAaA+nF,MAAAA,KAAK,CAACqa,aAAN,GAAsB,YAAY;AAC9B,YAAI,CAACd,OAAL,EAAc;AACV,cAAI,CAACvZ,KAAK,CAACmZ,aAAN,CAAoBrB,yEAA0BA;AAAC;AAA/C,kBAA0F,KAA1F,IAAmG9X,KAAK,CAACwY,kEAAmBA;AAAC;AAArB,WAAL,CAAuDhB,yEAA0BA;AAAC;AAAlF,kBAA2H,KAA/N,KAAyOjB,2FAAkB,EAA/P,EAAmQ;AAC/P,gBAAI;AACAvW,cAAAA,KAAK,CAACkY,gEAAiBA;AAAC;AAAnB,eAAL,CAAmD,IAAnD,EAAyDoC,aAAzD,EAAwE;AAAE;AAA1E;AACH,aAFD,CAGA,OAAOriG,CAAP,EAAU;AACN0oF,cAAAA,uFAAc,CAACX,KAAK,CAACpE,4DAAaA;AAAC;AAAf,eAAL,EAAD,EAA+C;AAAE;AAAjD,gBAAkF;AAAG;AAArF,gBAA4I,yFAAyFtB,yFAAgB,CAACriF,CAAD,CAArP,EAA0P;AAAE2oF,gBAAAA,SAAS,EAAE3G,gFAAO,CAAChiF,CAAD;AAApB,eAA1P,CAAd;AACH;AACJ,WAPD,MAQK;AACD+nF,YAAAA,KAAK,CAACmI,KAAN;AACH;AACJ;AACJ,OAdD;;AAeAnI,MAAAA,KAAK,CAACua,SAAN,GAAkB,UAAUz8H,IAAV,EAAgBU,KAAhB,EAAuB;AACrCm7H,QAAAA,QAAQ,CAAC77H,IAAD,CAAR,GAAiBU,KAAjB;AACH,OAFD;;AAGAwhH,MAAAA,KAAK,CAAC/zF,UAAN,GAAmB,UAAUj/B,MAAV,EAAkB41H,IAAlB,EAAwBC,UAAxB,EAAoCC,WAApC,EAAiD;AAChE,YAAI9C,KAAK,CAAC+C,aAAN,EAAJ,EAA2B;AACvBpC,UAAAA,uFAAc,CAACX,KAAK,CAACpE,4DAAaA;AAAC;AAAf,WAAL,EAAD,EAA+C;AAAE;AAAjD,YAAkF;AAAG;AAArF,YAAqI,+BAArI,CAAd;AACH;;AACDqE,QAAAA,KAAK,CAACh0F,UAAN,CAAiBj/B,MAAjB,EAAyB41H,IAAzB,EAA+BC,UAA/B,EAA2CC,WAA3C;;AACA,YAAI/nH,GAAG,GAAGilH,KAAK,CAACwa,UAAN,EAAV;;AACA,YAAI5b,UAAU,GAAGoB,KAAK,CAACpB,UAAvB;AACA6a,QAAAA,WAAW,GAAG,IAAI7C,oDAAJ,CAAehU,IAAI,CAAC31F,MAApB,CAAd;AACAmsG,QAAAA,kBAAkB,GAAG,CAArB;AACAC,QAAAA,QAAQ,GAAG,IAAX;AACAC,QAAAA,SAAS,GAAG,CAAZ;AACAtZ,QAAAA,KAAK,CAACuY,2DAAYA;AAAC;AAAd,SAAL,GAA4C,IAA5C;AACAmB,QAAAA,yBAAyB,GAAG,CAA5B;;AACA,YAAIe,OAAO,GAAGza,KAAK,CAACpE,4DAAaA;AAAC;AAAf,SAAL,EAAd;;AACAmE,QAAAA,aAAa,GAAG9E,0FAAiB,CAACjB,8FAAqB,CAAC,QAAD,CAAtB,EAAkC4I,IAAI,CAACK,YAAL,IAAqBL,IAAI,CAACK,YAAL,EAAvD,CAAjC;AACA8W,QAAAA,gBAAgB,GAAGlH,gEAAqB,CAAC9S,aAAD,CAAxC,CAfgE,CAgBhE;;AACA,YAAI2a,aAAa,GAAG9B,mCAAmC,EAAvD;;AACAzd,QAAAA,sFAAa,CAACuf,aAAD,EAAgB,UAAUxW,KAAV,EAAiB1lH,KAAjB,EAAwB;AACjDwhH,UAAAA,KAAK,CAACwY,kEAAmBA;AAAC;AAArB,WAAL,CAAuDtU,KAAvD,IAAgE,YAAY;AACxE,gBAAIyW,QAAQ,GAAG5/H,GAAG,CAACopH,SAAJ,CAAcvF,UAAd,EAA0BsF,KAA1B,EAAiC1lH,KAAK,EAAtC,CAAf;;AACA,gBAAI,CAACm8H,QAAD,IAAazW,KAAK,KAAK,aAA3B,EAA0C;AACtC;AACAyW,cAAAA,QAAQ,GAAGn8H,KAAK,EAAhB;AACH;;AACD,mBAAOm8H,QAAP;AACH,WAPD;AAQH,SATY,CAAb;;AAUA,YAAI3tI,MAAM,CAACg2H,aAAX,EAA0B;AACtBrJ,UAAAA,2FAAmB,CAAC3sH,MAAM,CAACg2H,aAAR,CAAnB;AACH;;AACD,YAAI4X,iBAAiB,GAAG5a,KAAK,CAACwY,kEAAmBA;AAAC;AAArB,SAAL,CAAuDpB,yEAA0BA;AAAC;AAAlF,eACpB,CAAC,EAAEpX,KAAK,CAACmZ,aAAN,CAAoBxF,mEAAoBA;AAAC;AAAzC,eAA4EtI,+FAAuB,EAArG,CADL;AAEArL,QAAAA,KAAK,CAACmY,2DAAYA;AAAC;AAAd,SAAL,GAA4CyC,iBAAiB,GACvD,IAAI5F,kEAAJ,CAA6ByF,OAA7B,EAAsCza,KAAK,CAACwY,kEAAmBA;AAAC;AAArB,SAA3C,CADuD,GAEvD,IAAIzD,yDAAJ,CAAoB0F,OAApB,EAA6Bza,KAAK,CAACwY,kEAAmBA;AAAC;AAArB,SAAlC,CAFN;AAGAxY,QAAAA,KAAK,CAAC6a,OAAN,GAAgB,IAAIhE,gEAAJ,CAAW7W,KAAK,CAACwY,kEAAmBA;AAAC;AAArB,SAAL,CAAuD1b,uEAAwBA;AAAC;AAAhF,WAAX,EAAgI2d,OAAhI,CAAhB;;AACA,YAAI,CAACK,2BAA2B,CAAC9tI,MAAD,CAAhC,EAA0C;AACtC2zH,UAAAA,uFAAc,CAAC8Z,OAAD,EAAU;AAAE;AAAZ,YAA6C;AAAI;AAAjD,YAAsG,iCAAiCztI,MAAM,CAACuqI,uEAAwBA;AAAC;AAA1B,WAA7I,CAAd;AACH;;AACD,YAAI,CAAClB,6GAAqC,CAACrW,KAAK,CAACmZ,aAAN,CAAoBJ,WAApB,EAAD,CAAtC,IAA6E/Y,KAAK,CAACmZ,aAAN,CAAoB4B,aAApB,EAA7E,IAAoH/a,KAAK,CAACmZ,aAAN,CAAoB4B,aAApB,GAAoCve,0DAAWA;AAAC;AAAhD,YAAwE,CAAhM,EAAmM;AAC/L1C,UAAAA,mFAAU,CAACkG,KAAK,CAACwY,kEAAmBA;AAAC;AAArB,WAAL,CAAuDxB,kEAAmBA;AAAC;AAA3E,aAAD,EAA4G,UAAUgE,YAAV,EAAwB;AAC1I78F,YAAAA,KAAK,CAACo8F,SAAN,CAAgBS,YAAY,CAAC3wB,MAA7B,EAAqC2wB,YAAY,CAACx8H,KAAlD;AACH,WAFS,CAAV;AAGH;;AACD,YAAIy8H,YAAY,GAAGjb,KAAK,CAACwY,kEAAmBA;AAAC;AAArB,SAAxB;AACA,YAAI0C,YAAY,GAAG,IAAnB;;AACA,YAAI,CAACD,YAAY,CAAC9D,+DAAgBA;AAAC;AAAlB,SAAZ,EAAD,IAA8DR,0FAAiB,EAAnF,EAAuF;AACnFuE,UAAAA,YAAY,GAAGC,UAAf,CADmF,CACxD;AAC9B,SAFD,MAGK,IAAI,CAACF,YAAY,CAAC9D,+DAAgBA;AAAC;AAAlB,SAAZ,EAAD,IAA8DV,uFAAc,EAAhF,EAAoF;AACrFyE,UAAAA,YAAY,GAAGE,UAAf;AACH;;AACD,YAAI,CAACF,YAAD,IAAiB1E,yFAAgB,EAArC,EAAyC;AACrC0E,UAAAA,YAAY,GAAGG,YAAf;AACH,SAvD+D,CAwDhE;;;AACAxB,QAAAA,eAAe,GAAGqB,YAAY,IAAIE,UAAlC;;AACA,YAAI,CAACH,YAAY,CAACzD,yEAA0BA;AAAC;AAA5B,SAAZ,EAAD,IAAiFjB,2FAAkB,EAAvG,EAA2G;AACvG;AACA2E,UAAAA,YAAY,GAAGI,aAAf;AACH;;AACDtb,QAAAA,KAAK,CAACuY,2DAAYA;AAAC;AAAd,SAAL,GAA4C2C,YAAY,IAAIE,UAA5D;;AACA,YAAI,CAACH,YAAY,CAAClD,yEAA0BA;AAAC;AAA5B,SAAZ,EAAD,IAAkFvB,yFAAgB,CAAC,IAAD,CAAtG,EAA8G;AAC1G;AACAsD,UAAAA,iBAAiB,GAAGyB,qBAApB;AACH,SAHD,MAIK,IAAIhF,2FAAkB,EAAtB,EAA0B;AAC3B;AACAuD,UAAAA,iBAAiB,GAAGwB,aAApB;AACH,SAHI,MAIA,IAAI,CAACL,YAAY,CAAC9D,+DAAgBA;AAAC;AAAlB,SAAZ,EAAD,IAA8DR,0FAAiB,EAAnF,EAAuF;AACxFmD,UAAAA,iBAAiB,GAAGqB,UAApB,CADwF,CACxD;AACnC,SAFI,MAGA,IAAI,CAACF,YAAY,CAAC9D,+DAAgBA;AAAC;AAAlB,SAAZ,EAAD,IAA8DV,uFAAc,EAAhF,EAAoF;AACrFqD,UAAAA,iBAAiB,GAAGsB,UAApB;AACH,SAFI,MAGA;AACDtB,UAAAA,iBAAiB,GAAGD,eAApB;AACH;AACJ,OAhFD;;AAiFA7Z,MAAAA,KAAK,CAACK,gBAAN,GAAyB,UAAUK,aAAV,EAAyBJ,OAAzB,EAAkC;AACvDA,QAAAA,OAAO,GAAGN,KAAK,CAACwa,UAAN,CAAiBla,OAAjB,CAAV;;AACA,YAAIkb,UAAU,GAAGlb,OAAO,CAAC1E,4DAAaA;AAAC;AAAf,SAAP,EAAjB;;AACA,YAAI;AACA;AACA,cAAIoE,KAAK,CAACwY,kEAAmBA;AAAC;AAArB,WAAL,CAAuDtB,qEAAsBA;AAAC;AAA9E,aAAJ,EAAqH;AACjH;AACA;AACH,WALD,CAMA;;;AACA,cAAI,CAACxW,aAAL,EAAoB;AAChBC,YAAAA,uFAAc,CAAC6a,UAAD,EAAa;AAAE;AAAf,cAAgD;AAAE;AAAlD,cAAsG,6BAAtG,CAAd;;AACA;AACH,WAVD,CAWA;;;AACA,cAAI9a,aAAa,CAACoE,QAAd,IAA0B,CAACpE,aAAa,CAACoW,6DAAcA;AAAC;AAAhB,WAA5C,EAAqF;AACjFnW,YAAAA,uFAAc,CAAC6a,UAAD,EAAa;AAAE;AAAf,cAAgD;AAAG;AAAnD,cAA2F,qDAA3F,CAAd;;AACA;AACH;;AACD,cAAI,CAAC9a,aAAa,CAACoW,6DAAcA;AAAC;AAAhB,WAAlB,EAA2D;AACvD;AACApW,YAAAA,aAAa,CAACoW,6DAAcA;AAAC;AAAhB,aAAb,GAAuD,WAAvD;AACH,WAnBD,CAoBA;;;AACA,cAAI,CAAC9W,KAAK,CAACuY,2DAAYA;AAAC;AAAd,WAAV,EAAgD;AAC5C5X,YAAAA,uFAAc,CAAC6a,UAAD,EAAa;AAAE;AAAf,cAAgD;AAAG;AAAnD,cAAmG,4BAAnG,CAAd;;AACA;AACH,WAxBD,CAyBA;;;AACA,cAAI,CAACC,YAAY,CAAC/a,aAAD,CAAjB,EAAkC;AAC9B;AACAC,YAAAA,uFAAc,CAAC6a,UAAD,EAAa;AAAE;AAAf,cAA+C;AAAG;AAAlD,cAAwG,6CAAxG,EAAuJ;AAAEvO,cAAAA,UAAU,EAAEjN,KAAK,CAAC6a,OAAN,CAAc7C,+DAAgBA;AAAC;AAA/B;AAAd,aAAvJ,CAAd;;AACA;AACH,WAJD,MAKK;AACDtX,YAAAA,aAAa,CAACuM,6EAAD,CAAb,GAA4BjN,KAAK,CAAC6a,OAAN,CAAc7C,+DAAgBA;AAAC;AAA/B,aAA5B;AACH;;AACD,cAAI0D,gBAAgB,GAAG1b,KAAK,CAACwY,kEAAmBA;AAAC;AAArB,WAAL,CAAuDzB,qEAAsBA;AAAC;AAA9E,iBAAmHp3F,SAA1I,CAlCA,CAmCA;AACA;;AACA,cAAIg8F,mBAAmB,GAAGjb,aAAa,CAACwQ,IAAd,IAAsBlR,KAAK,CAACwY,kEAAmBA;AAAC;AAArB,WAAL,CAAuDjB,uEAAwBA;AAAC;AAAhF,aAAhD;;AACA,cAAIqE,YAAY,GAAG1C,MAAM,CAAC2C,iBAAP,CAAyBnb,aAAzB,EAAwCib,mBAAxC,EAA6DH,UAA7D,EAAyEE,gBAAzE,CAAnB;;AACA,cAAI,CAACE,YAAL,EAAmB;AACfjb,YAAAA,uFAAc,CAAC6a,UAAD,EAAa;AAAE;AAAf,cAAgD;AAAG;AAAnD,cAAkG,0CAAlG,CAAd;;AACA;AACH;;AACD,cAAIM,eAAe,GAAG,KAAtB,CA3CA,CA4CA;;AACA,cAAIpb,aAAa,CAACiN,wDAASA;AAAC;AAAX,WAAb,IAA+CjN,aAAa,CAACiN,wDAASA;AAAC;AAAX,WAAb,CAA4CwI,gFAA5C,CAAnD,EAA+G;AAC3Grc,YAAAA,mFAAU,CAAC4G,aAAa,CAACiN,wDAASA;AAAC;AAAX,aAAb,CAA4CwI,gFAA5C,CAAD,EAA6D,UAAUgE,QAAV,EAAoB;AACvF,kBAAI;AACA,oBAAIA,QAAQ,IAAIA,QAAQ,CAACyB,YAAD,CAAR,KAA2B,KAA3C,EAAkD;AAC9CE,kBAAAA,eAAe,GAAG,IAAlB;;AACArQ,kBAAAA,uFAAc,CAAC+P,UAAD,EAAa,yCAAb,CAAd;AACH;AACJ,eALD,CAMA,OAAOvjG,CAAP,EAAU;AACN;AACA;AACA0oF,gBAAAA,uFAAc,CAAC6a,UAAD,EAAa;AAAE;AAAf,kBAAgD;AAAG;AAAnD,kBAAyG,4EAA4ElhB,yFAAgB,CAACriF,CAAD,CAArM,EAA0M;AAAE2oF,kBAAAA,SAAS,EAAE3G,gFAAO,CAAChiF,CAAD;AAApB,iBAA1M,EAAqO,IAArO,CAAd;AACH;AACJ,aAZS,CAAV;AAaA,mBAAOyoF,aAAa,CAACiN,wDAASA;AAAC;AAAX,aAAb,CAA4CwI,gFAA5C,CAAP;AACH;;AACD,cAAI2F,eAAJ,EAAqB;AACjB,mBADiB,CACT;AACX,WA/DD,CAgEA;;;AACA,cAAIlgF,OAAO,GAAG69E,WAAW,CAACsC,SAAZ,CAAsBH,YAAtB,CAAd,CAjEA,CAkEA;;;AACA,cAAIzyE,MAAM,GAAG62D,KAAK,CAACmY,2DAAYA;AAAC;AAAd,WAAlB;AACA,cAAI6D,UAAU,GAAG7yE,MAAM,CAACs2C,IAAP,EAAjB;;AACA,cAAKu8B,UAAU,GAAGpgF,OAAO,CAAC4gE,0DAAWA;AAAC;AAAb,WAArB,GAA2DwD,KAAK,CAACwY,kEAAmBA;AAAC;AAArB,WAAL,CAAuDX,yEAA0BA;AAAC;AAAlF,aAA/D,EAAuL;AACnL,gBAAI,CAACkC,gBAAD,IAAqBA,gBAAgB,CAACrH,6DAAcA;AAAC;AAAhB,aAAhB,EAAzB,EAAoF;AAAE;AAClF1S,cAAAA,KAAK,CAACkY,gEAAiBA;AAAC;AAAnB,eAAL,CAAmD,IAAnD,EAAyD,IAAzD,EAA+D;AAAG;AAAlE;AACH;AACJ,WAzED,CA0EA;;;AACA/uE,UAAAA,MAAM,CAAC6qE,2DAAYA;AAAC;AAAd,WAAN,CAA2Cp4E,OAA3C,EA3EA,CA4EA;;;AACAs+E,UAAAA,WAAW;AACd,SA9ED,CA+EA,OAAOjiG,CAAP,EAAU;AACN0oF,UAAAA,uFAAc,CAAC6a,UAAD,EAAa;AAAE;AAAf,YAA+C;AAAG;AAAlD,YAA2G,kFAAkFlhB,yFAAgB,CAACriF,CAAD,CAA7M,EAAkN;AAAE2oF,YAAAA,SAAS,EAAE3G,gFAAO,CAAChiF,CAAD;AAApB,WAAlN,CAAd;AACH,SApFsD,CAqFvD;;;AACA+nF,QAAAA,KAAK,CAACO,WAAN,CAAkBG,aAAlB,EAAiCJ,OAAjC;AACH,OAvFD;AAwFA;AACZ;AACA;;;AACYN,MAAAA,KAAK,CAACyY,yEAA0BA;AAAC;AAA5B,OAAL,GAAuE,UAAUjuD,GAAV,EAAe5uB,OAAf,EAAwBqgF,qBAAxB,EAA+C;AAClH,YAAIzxD,GAAG,CAAC0xD,UAAJ,KAAmB,CAAvB,EAA0B;AACtBC,UAAAA,mBAAmB,CAAC3xD,GAAG,CAAC96D,MAAL,EAAaksC,OAAb,EAAsB4uB,GAAG,CAAC4xD,WAA1B,EAAuCH,qBAAvC,EAA8DI,sBAAsB,CAAC7xD,GAAD,CAApF,EAA2FmuD,gBAAgB,CAACnuD,GAAD,CAAhB,IAAyBA,GAAG,CAAC36C,QAAxH,CAAnB;AACH;AACJ,OAJD;AAKA;AACZ;AACA;AACA;AACA;;;AACYmwF,MAAAA,KAAK,CAACkY,gEAAiBA;AAAC;AAAnB,OAAL,GAAqD,UAAUoE,KAAV,EAAiBC,YAAjB,EAA+BnC,UAA/B,EAA2C;AAC5F,YAAIkC,KAAK,KAAK,KAAK,CAAnB,EAAsB;AAAEA,UAAAA,KAAK,GAAG,IAAR;AAAe;;AACvC,YAAI,CAAC/C,OAAL,EAAc;AACV,cAAI;AACA,gBAAIpwE,MAAM,GAAG62D,KAAK,CAACmY,2DAAYA;AAAC;AAAd,aAAlB,CADA,CAEA;;AACA,gBAAI,CAACnY,KAAK,CAACwY,kEAAmBA;AAAC;AAArB,aAAL,CAAuDtB,qEAAsBA;AAAC;AAA9E,eAAL,EAAsH;AAClH,kBAAI/tE,MAAM,CAAC2qE,yDAAUA;AAAC;AAAZ,eAAN,KAA2C,CAA/C,EAAkD;AAC9C,oBAAIl4E,OAAO,GAAGuN,MAAM,CAAC0rE,QAAP,EAAd;;AACA2H,gBAAAA,kBAAkB,CAACpC,UAAU,IAAI;AAAE;AAAjB,kBAAoDkC,KAApD,CAAlB,CAF8C,CAG9C;;;AACA,oBAAIC,YAAJ,EAAkB;AACdA,kBAAAA,YAAY,CAAC9lG,IAAb,CAAkBupF,KAAlB,EAAyBpkE,OAAzB,EAAkC0gF,KAAlC;AACH,iBAFD,MAGK;AACDtc,kBAAAA,KAAK,CAACuY,2DAAYA;AAAC;AAAd,mBAAL,CAA0C38E,OAA1C,EAAmD0gF,KAAnD;AACH;AACJ,eAXiH,CAYlH;;;AACAhD,cAAAA,SAAS,GAAG,CAAC,IAAIjkF,IAAJ,EAAb;AACH,aAdD,MAeK;AACD8T,cAAAA,MAAM,CAACyqE,yDAAUA;AAAC;AAAZ,eAAN;AACH;;AACDoG,YAAAA,oBAAoB;AACvB,WAtBD,CAuBA,OAAO/hG,CAAP,EAAU;AACN;AACA,gBAAIwkG,KAAK,GAAGnG,qFAAY,EAAxB;;AACA,gBAAI,CAACmG,KAAD,IAAUA,KAAK,GAAG,CAAtB,EAAyB;AACrB9b,cAAAA,uFAAc,CAACX,KAAK,CAACpE,4DAAaA;AAAC;AAAf,eAAL,EAAD,EAA+C;AAAE;AAAjD,gBAAkF;AAAG;AAArF,gBAAmI,iEAAiEtB,yFAAgB,CAACriF,CAAD,CAApN,EAAyN;AAAE2oF,gBAAAA,SAAS,EAAE3G,gFAAO,CAAChiF,CAAD;AAApB,eAAzN,CAAd;AACH;AACJ;AACJ;AACJ,OAlCD;;AAmCA+nF,MAAAA,KAAK,CAAC4D,WAAN,GAAoB,UAAUC,SAAV,EAAqBC,WAArB,EAAkC;AAClD9D,QAAAA,KAAK,CAACqa,aAAN;;AACAN,QAAAA,gBAAgB,CAACvG,MAAjB;;AACArT,QAAAA,aAAa;AAChB,OAJD;AAKA;AACZ;AACA;;;AACYH,MAAAA,KAAK,CAACoY,6DAAcA;AAAC;AAAhB,OAAL,GAA+C,UAAUx8E,OAAV,EAAmBzsD,OAAnB,EAA4B2pB,KAA5B,EAAmC;AAC9E6nG,QAAAA,uFAAc,CAACX,KAAK,CAACpE,4DAAaA;AAAC;AAAf,SAAL,EAAD,EAA+C;AAAE;AAAjD,UAAiF;AAAG;AAApF,UAAuH,2BAAvH,EAAoJ;AAAEzsH,UAAAA,OAAO,EAAEA;AAAX,SAApJ,CAAd;;AACA6wH,QAAAA,KAAK,CAACuU,OAAN,IAAiBvU,KAAK,CAACuU,OAAN,CAAcV,8DAAeA;AAAC;AAA9B,UAAuDj4E,OAAvD,CAAjB;AACH,OAHD;AAIA;AACZ;AACA;;;AACYokE,MAAAA,KAAK,CAACqY,uEAAwBA;AAAC;AAA1B,OAAL,GAAkE,UAAUz8E,OAAV,EAAmB8gF,OAAnB,EAA4B;AAC1F,YAAIC,MAAM,GAAG,EAAb;AACA,YAAIC,KAAK,GAAG,EAAZ,CAF0F,CAG1F;;AACA,YAAIh4C,MAAM,GAAG83C,OAAO,CAAC93C,MAAR,CAAei4C,OAAf,EAAb;;AACA,aAAK,IAAI54C,EAAE,GAAG,CAAT,EAAY64C,QAAQ,GAAGl4C,MAA5B,EAAoCX,EAAE,GAAG64C,QAAQ,CAAC7iI,MAAlD,EAA0DgqF,EAAE,EAA5D,EAAgE;AAC5D,cAAItgF,KAAK,GAAGm5H,QAAQ,CAAC74C,EAAD,CAApB;AACA,cAAI84C,SAAS,GAAGnhF,OAAO,CAAC60E,MAAR,CAAe9sH,KAAK,CAACmrC,KAArB,EAA4B,CAA5B,EAA+B,CAA/B,CAAhB;;AACA,cAAIkuF,YAAY,CAACr5H,KAAK,CAACs5H,UAAP,CAAhB,EAAoC;AAChCL,YAAAA,KAAK,CAAC1I,wDAASA;AAAC;AAAX,aAAL,CAAoC6I,SAApC;AACH,WAFD,MAGK;AACD;AACAJ,YAAAA,MAAM,CAACzI,wDAASA;AAAC;AAAX,aAAN,CAAqC6I,SAArC;AACH;AACJ;;AACD,YAAInhF,OAAO,CAAC4gE,0DAAWA;AAAC;AAAb,SAAP,GAA4C,CAAhD,EAAmD;AAC/CwD,UAAAA,KAAK,CAACsY,+DAAgBA;AAAC;AAAlB,WAAL,CAAiD18E,OAAjD,EAA0D8gF,OAAO,CAAChF,kEAAmBA;AAAC;AAArB,WAAjE;AACH;;AACD,YAAIiF,MAAM,CAACngB,0DAAWA;AAAC;AAAb,SAAN,GAA2C,CAA/C,EAAkD;AAC9CwD,UAAAA,KAAK,CAACoY,6DAAcA;AAAC;AAAhB,WAAL,CAA6CuE,MAA7C,EAAqDN,sBAAsB,CAAC,IAAD,EAAO,CAAC,iBAAD,EAAoBK,OAAO,CAAChF,kEAAmBA;AAAC;AAArB,WAA3B,EAA8E,IAA9E,EAAoFgF,OAAO,CAACQ,aAA5F,EAA2G7iI,IAA3G,CAAgH,GAAhH,CAAP,CAA3E;AACH;;AACD,YAAIuiI,KAAK,CAACpgB,0DAAWA;AAAC;AAAb,SAAL,GAA0C,CAA9C,EAAiD;AAC7C2gB,UAAAA,cAAc,CAACP,KAAD,CAAd;;AACAjc,UAAAA,uFAAc,CAACX,KAAK,CAACpE,4DAAaA;AAAC;AAAf,WAAL,EAAD,EAA+C;AAAE;AAAjD,YAAiF;AAAG;AAApF,YAAkI,sBAC5I,aAD4I,GAC5HhgE,OAAO,CAAC4gE,0DAAWA;AAAC;AAAb,WADqH,GAChF,YADgF,GACjEmgB,MAAM,CAACngB,0DAAWA;AAAC;AAAb,WAD2D,GAE5I,uBAF4I,GAElHogB,KAAK,CAACpgB,0DAAWA;AAAC;AAAb,WAF6G,GAExE,UAFwE,GAE3DkgB,OAAO,CAAC/E,kEAAmBA;AAAC;AAArB,WAFoD,GAEA,QAFlI,CAAd;AAGH;AACJ,OA5BD;AA6BA;AACZ;AACA;;;AACY3X,MAAAA,KAAK,CAACsY,+DAAgBA;AAAC;AAAlB,OAAL,GAAmD,UAAU18E,OAAV,EAAmBqgF,qBAAnB,EAA0C;AACzFjc,QAAAA,KAAK,CAACuU,OAAN,IAAiBvU,KAAK,CAACuU,OAAN,CAAcV,8DAAeA;AAAC;AAA9B,UAAuDj4E,OAAvD,CAAjB;AACH,OAFD;AAGA;AACZ;AACA;;;AACYokE,MAAAA,KAAK,CAACod,UAAN,GAAmB,UAAUC,GAAV,EAAezhF,OAAf,EAAwB;AACvC,YAAIivB,YAAY,GAAG8tD,gBAAgB,CAAC0E,GAAD,CAAnC;;AACA,YAAIA,GAAG,KAAKxyD,YAAY,GAAG,EAAf,KAAsB,KAAtB,IAA+BA,YAAY,KAAK,EAArD,CAAP,EAAiE;AAC7DuuD,UAAAA,kBAAkB,GAAG,CAArB;;AACApZ,UAAAA,KAAK,CAACsY,+DAAgBA;AAAC;AAAlB,WAAL,CAAiD18E,OAAjD,EAA0D,CAA1D;AACH,SAHD,MAIK;AACD,cAAI8gF,OAAO,GAAGY,cAAc,CAACzyD,YAAD,CAA5B;;AACA,cAAI6xD,OAAO,IAAIA,OAAO,CAACQ,aAAnB,IAAoCR,OAAO,CAACQ,aAAR,GAAwBR,OAAO,CAAChF,kEAAmBA;AAAC;AAArB,WAAnE,IACG,CAAC1X,KAAK,CAACwY,kEAAmBA;AAAC;AAArB,WAAL,CAAuDf,qEAAsBA;AAAC;AAA9E,aADR,EACwH;AACpHzX,YAAAA,KAAK,CAACqY,uEAAwBA;AAAC;AAA1B,aAAL,CAAgEz8E,OAAhE,EAAyE8gF,OAAzE;AACH,WAHD,MAIK;AACD1c,YAAAA,KAAK,CAACoY,6DAAcA;AAAC;AAAhB,aAAL,CAA6Cx8E,OAA7C,EAAsD2hF,sBAAsB,CAACF,GAAD,CAA5E;AACH;AACJ;AACJ,OAhBD;;AAiBA,eAAS5B,YAAT,CAAsB9W,QAAtB,EAAgC;AAC5B,eAAO3E,KAAK,CAAC6a,OAAN,CAAc2C,WAAd,CAA0B7Y,QAA1B,CAAP;AACH;;AACD,eAASwX,mBAAT,CAA6BzsH,MAA7B,EAAqCksC,OAArC,EAA8C6hF,WAA9C,EAA2DxB,qBAA3D,EAAkFjsE,YAAlF,EAAgGvzC,GAAhG,EAAqG;AACjG,YAAIoT,QAAQ,GAAG,IAAf;;AACA,YAAI,CAACmwF,KAAK,CAAC0d,MAAX,EAAmB;AACf7tG,UAAAA,QAAQ,GAAGytG,cAAc,CAAC7gH,GAAD,CAAzB;;AACA,cAAIoT,QAAQ,IAAIA,QAAQ,CAAC8tG,KAAzB,EAAgC;AAC5B3d,YAAAA,KAAK,CAAC0d,MAAN,GAAe7tG,QAAQ,CAAC8tG,KAAxB;AACH;AACJ;;AACD,YAAI,CAACjuH,MAAM,GAAG,GAAT,IAAgBA,MAAM,IAAI,GAA3B,KAAmCA,MAAM,KAAK,CAAlD,EAAqD;AACjD;AACA;AACA,cAAIA,MAAM,KAAK,GAAX,IAAkBA,MAAM,KAAK,GAA7B,IAAoCA,MAAM,KAAK,GAAnD,EAAwD;AACpD,gBAAI,CAACkuH,0BAA0B,CAACH,WAAD,CAA/B,EAA8C;AAC1Czd,cAAAA,KAAK,CAACoY,6DAAcA;AAAC;AAAhB,eAAL,CAA6Cx8E,OAA7C,EAAsDoU,YAAtD;;AACA;AACH;AACJ;;AACD,cAAI,CAACgwD,KAAK,CAACwY,kEAAmBA;AAAC;AAArB,WAAL,CAAuDf,qEAAsBA;AAAC;AAA9E,aAAD,IAAmHuF,YAAY,CAACttH,MAAD,CAAnI,EAA6I;AACzIytH,YAAAA,cAAc,CAACvhF,OAAD,CAAd;;AACA+kE,YAAAA,uFAAc,CAACX,KAAK,CAACpE,4DAAaA;AAAC;AAAf,aAAL,EAAD,EAA+C;AAAE;AAAjD,cAAiF;AAAG;AAApF,cAAkI,OAC5I,gBAD4I,GACzHlsG,MADyH,GAChH,uBADgH,GACtFksC,OAAO,CAAC4gE,0DAAWA;AAAC;AAAb,aAD+E,GAC1C,SADxF,CAAd;AAEH,WAJD,MAKK;AACDwD,YAAAA,KAAK,CAACoY,6DAAcA;AAAC;AAAhB,aAAL,CAA6Cx8E,OAA7C,EAAsDoU,YAAtD;AACH;AACJ,SAjBD,MAkBK,IAAI+pE,gBAAgB,IAAI,CAACA,gBAAgB,CAACrH,6DAAcA;AAAC;AAAhB,SAAhB,EAAzB,EAAoF;AAAE;AACvF;AACA,cAAI,CAAC1S,KAAK,CAACwY,kEAAmBA;AAAC;AAArB,WAAL,CAAuDf,qEAAsBA;AAAC;AAA9E,aAAL,EAAqH;AACjH,gBAAIoG,wBAAwB,GAAG,EAA/B,CADiH,CAC9E;;AACnCV,YAAAA,cAAc,CAACvhF,OAAD,EAAUiiF,wBAAV,CAAd;;AACAld,YAAAA,uFAAc,CAACX,KAAK,CAACpE,4DAAaA;AAAC;AAAf,aAAL,EAAD,EAA+C;AAAE;AAAjD,cAAiF;AAAG;AAApF,cAAkI,8BAA8B1hF,MAA9B,CAAqCxqB,MAArC,EAA6C,oBAA7C,EAAmEwqB,MAAnE,CAA0E,CAAC6/F,gBAAgB,CAAC+D,QAAjB,EAA3E,EAAwG,uBAAxG,EAAiI5jG,MAAjI,CAAwI0hB,OAAO,CAAC3hD,MAAhJ,EAAwJ,SAAxJ,CAAlI,CAAd;AACH;AACJ,SAPI,MAQA;AACD;AACA;AACA2jI,UAAAA,0BAA0B,CAACH,WAAD,CAA1B;;AACA,cAAI/tH,MAAM,KAAK,GAAf,EAAoB;AAChB,gBAAI,CAACmgB,QAAL,EAAe;AACXA,cAAAA,QAAQ,GAAGytG,cAAc,CAAC7gH,GAAD,CAAzB;AACH;;AACD,gBAAIoT,QAAQ,IAAI,CAACmwF,KAAK,CAACwY,kEAAmBA;AAAC;AAArB,aAAL,CAAuDf,qEAAsBA;AAAC;AAA9E,eAAjB,EAAiI;AAC7HzX,cAAAA,KAAK,CAACqY,uEAAwBA;AAAC;AAA1B,eAAL,CAAgEz8E,OAAhE,EAAyE/rB,QAAzE;AACH,aAFD,MAGK;AACDmwF,cAAAA,KAAK,CAACoY,6DAAcA;AAAC;AAAhB,eAAL,CAA6Cx8E,OAA7C,EAAsDoU,YAAtD;AACH;AACJ,WAVD,MAWK;AACDopE,YAAAA,kBAAkB,GAAG,CAArB;;AACApZ,YAAAA,KAAK,CAACsY,+DAAgBA;AAAC;AAAlB,aAAL,CAAiD18E,OAAjD,EAA0DqgF,qBAA1D;AACH;AACJ;AACJ;;AACD,eAAS2B,0BAAT,CAAoCH,WAApC,EAAiD;AAC7C;AACA,YAAI/D,yBAAyB,IAAI,EAAjC,EAAqC;AACjC;AACA;AACA,iBAAO,KAAP;AACH;;AACD,YAAI,CAAC5e,0FAAiB,CAAC2iB,WAAD,CAAlB,IAAmCA,WAAW,KAAK,EAAvD,EAA2D;AACvD,cAAIA,WAAW,KAAKzd,KAAK,CAACwY,kEAAmBA;AAAC;AAArB,WAAL,CAAuDnB,gEAAiBA;AAAC;AAAzE,aAApB,EAA2H;AACvHrX,YAAAA,KAAK,CAACwY,kEAAmBA;AAAC;AAArB,aAAL,CAAuDnB,gEAAiBA;AAAC;AAAzE,gBAAsG,YAAY;AAAE,qBAAOoG,WAAP;AAAqB,aAAzI;;AACA,cAAE/D,yBAAF;AACA,mBAAO,IAAP;AACH;AACJ;;AACD,eAAO,KAAP;AACH;;AACD,eAASY,aAAT,CAAuB1+E,OAAvB,EAAgCssE,OAAhC,EAAyC;AACrC,YAAI4R,iBAAJ,EAAuB;AACnB;AACAA,UAAAA,iBAAiB,CAACl+E,OAAD,EAAU,KAAV,CAAjB;AACH,SAHD,MAIK;AACD;AACA0/E,UAAAA,aAAa,CAAC1/E,OAAD,EAAUssE,OAAV,CAAb;AACH;AACJ;;AACD,eAAS6V,aAAT,CAAuBniF,OAAvB,EAAgC;AAC5B,YAAIoiF,GAAG,GAAG/U,qFAAY,EAAtB;AACA,YAAI9/D,MAAM,GAAG62D,KAAK,CAACmY,2DAAYA;AAAC;AAAd,SAAlB;;AACA,YAAIztH,GAAG,GAAGs1G,KAAK,CAACwY,kEAAmBA;AAAC;AAArB,SAAL,CAAuDnB,gEAAiBA;AAAC;AAAzE,WAAV;;AACA,YAAIvC,KAAK,GAAG9U,KAAK,CAACuU,OAAN,CAAcb,kEAAmBA;AAAC;AAAlC,UAA+D93E,OAA/D,CAAZ,CAJ4B,CAK5B;AACA;;;AACA,YAAIqiF,cAAc,GAAG,IAAIC,IAAJ,CAAS,CAACpJ,KAAD,CAAT,EAAkB;AAAEvwH,UAAAA,IAAI,EAAE;AAAR,SAAlB,CAArB,CAP4B,CAQ5B;;AACA,YAAI45H,MAAM,GAAGH,GAAG,CAACI,UAAJ,CAAe1zH,GAAf,EAAoBuzH,cAApB,CAAb;;AACA,YAAIE,MAAJ,EAAY;AACRh1E,UAAAA,MAAM,CAAC8qE,gEAAiBA;AAAC;AAAnB,WAAN,CAAmDr4E,OAAnD,EADQ,CAER;;;AACAokE,UAAAA,KAAK,CAACqe,UAAN,CAAiBziF,OAAjB,EAA0BA,OAAO,CAAC4gE,0DAAWA;AAAC;AAAb,WAAjC;AACH;;AACD,eAAO2hB,MAAP;AACH;AACD;AACZ;AACA;AACA;AACA;AACA;AACA;;;AACY,eAAS7C,aAAT,CAAuB1/E,OAAvB,EAAgCssE,OAAhC,EAAyC;AACrC,YAAIxZ,gFAAO,CAAC9yD,OAAD,CAAP,IAAoBA,OAAO,CAAC4gE,0DAAWA;AAAC;AAAb,SAAP,GAA4C,CAApE,EAAuE;AACnE;AACA,cAAI,CAACuhB,aAAa,CAACniF,OAAD,CAAlB,EAA6B;AACzB;AACA,gBAAI0iF,cAAc,GAAG,EAArB;;AACA,iBAAK,IAAI1J,EAAE,GAAG,CAAd,EAAiBA,EAAE,GAAGh5E,OAAO,CAAC4gE,0DAAWA;AAAC;AAAb,aAA7B,EAAiEoY,EAAE,EAAnE,EAAuE;AACnE,kBAAI2J,UAAU,GAAG3iF,OAAO,CAACg5E,EAAD,CAAxB;;AACA,kBAAI,CAACmJ,aAAa,CAAC,CAACQ,UAAD,CAAD,CAAlB,EAAkC;AAC9B;AACAD,gBAAAA,cAAc,CAACpK,wDAASA;AAAC;AAAX,iBAAd,CAA6CqK,UAA7C;AACH;AACJ;;AACD,gBAAID,cAAc,CAAC9hB,0DAAWA;AAAC;AAAb,aAAd,GAAmD,CAAvD,EAA0D;AACtDqd,cAAAA,eAAe,IAAIA,eAAe,CAACyE,cAAD,EAAiB,IAAjB,CAAlC;;AACA3d,cAAAA,uFAAc,CAACX,KAAK,CAACpE,4DAAaA;AAAC;AAAf,eAAL,EAAD,EAA+C;AAAE;AAAjD,gBAAiF;AAAG;AAApF,gBAAkI,OAAO,uEAAzI,CAAd;AACH;AACJ;AACJ;AACJ;AACD;AACZ;AACA;AACA;AACA;;;AACY,eAASwf,UAAT,CAAoBx/E,OAApB,EAA6BssE,OAA7B,EAAsC;AAClC,YAAI19C,GAAG,GAAG,IAAIC,cAAJ,EAAV;;AACA,YAAI+zD,WAAW,GAAGxe,KAAK,CAACwY,kEAAmBA;AAAC;AAArB,SAAL,CAAuDnB,gEAAiBA;AAAC;AAAzE,WAAlB;;AACA,YAAI;AACA7sD,UAAAA,GAAG,CAAC0rD,uFAAD,CAAH,GAA4B,IAA5B;AACH,SAFD,CAGA,OAAOj+F,CAAP,EAAU,CACN;AACA;AACH;;AACDuyC,QAAAA,GAAG,CAAC/sE,IAAJ,CAAS,MAAT,EAAiB+gI,WAAjB,EAA8BtW,OAA9B;;AACA19C,QAAAA,GAAG,CAACytD,sEAAuBA;AAAC;AAAzB,SAAH,CAA4D,cAA5D,EAA4E,kBAA5E,EAXkC,CAYlC;;;AACA,YAAI5B,6GAAqC,CAACmI,WAAD,CAAzC,EAAwD;AACpDh0D,UAAAA,GAAG,CAACytD,sEAAuBA;AAAC;AAAzB,WAAH,CAA4D7B,qFAA5D,EAAsHA,qFAAtH;AACH;;AACDtc,QAAAA,mFAAU,CAAC4c,gFAAO,CAACiD,QAAD,CAAR,EAAoB,UAAUnuD,UAAV,EAAsB;AAChDhB,UAAAA,GAAG,CAACytD,sEAAuBA;AAAC;AAAzB,WAAH,CAA4DzsD,UAA5D,EAAwEmuD,QAAQ,CAACnuD,UAAD,CAAhF;AACH,SAFS,CAAV;;AAGAhB,QAAAA,GAAG,CAACi0D,kBAAJ,GAAyB,YAAY;AAAE,iBAAOze,KAAK,CAAC0e,oBAAN,CAA2Bl0D,GAA3B,EAAgC5uB,OAAhC,EAAyCA,OAAO,CAAC4gE,0DAAWA;AAAC;AAAb,WAAhD,CAAP;AAA6F,SAApI;;AACAhyC,QAAAA,GAAG,CAACO,OAAJ,GAAc,UAAUjyD,KAAV,EAAiB;AAAE,iBAAOknG,KAAK,CAACoY,6DAAcA;AAAC;AAAhB,WAAL,CAA6Cx8E,OAA7C,EAAsDygF,sBAAsB,CAAC7xD,GAAD,CAA5E,EAAmF1xD,KAAnF,CAAP;AAAmG,SAApI,CApBkC,CAqBlC;;;AACA,YAAIg8G,KAAK,GAAG9U,KAAK,CAACuU,OAAN,CAAcb,kEAAmBA;AAAC;AAAlC,UAA+D93E,OAA/D,CAAZ;;AACA4uB,QAAAA,GAAG,CAACQ,IAAJ,CAAS8pD,KAAT;;AACA9U,QAAAA,KAAK,CAACuU,OAAN,CAAcN,gEAAiBA;AAAC;AAAhC,UAA0Dr4E,OAA1D;AACH;;AACD,eAAS2/E,qBAAT,CAA+B3/E,OAA/B,EAAwCssE,OAAxC,EAAiD;AAC7C,YAAIxZ,gFAAO,CAAC9yD,OAAD,CAAX,EAAsB;AAClB,cAAI+iF,WAAW,GAAG/iF,OAAO,CAAC4gE,0DAAWA;AAAC;AAAb,WAAzB;;AACA,eAAK,IAAIoY,EAAE,GAAG,CAAd,EAAiBA,EAAE,GAAGh5E,OAAO,CAAC4gE,0DAAWA;AAAC;AAAb,WAA7B,EAAiEoY,EAAE,EAAnE,EAAuE;AACnE+J,YAAAA,WAAW,IAAI/iF,OAAO,CAACg5E,EAAD,CAAP,CAAYpY,0DAAWA;AAAC;AAAxB,aAAf;AACH;;AACD,cAAKod,iBAAiB,GAAG+E,WAArB,IAAqCjG,8BAAzC,EAAyE;AACrEkG,YAAAA,cAAc,CAAChjF,OAAD,EAAU,KAAV,CAAd;AACH,WAFD,MAGK,IAAI26E,2FAAkB,EAAtB,EAA0B;AAC3B;AACA+E,YAAAA,aAAa,CAAC1/E,OAAD,EAAUssE,OAAV,CAAb;AACH,WAHI,MAIA;AACD;AACA2R,YAAAA,eAAe,IAAIA,eAAe,CAACj+E,OAAD,EAAU,IAAV,CAAlC;;AACA+kE,YAAAA,uFAAc,CAACX,KAAK,CAACpE,4DAAaA;AAAC;AAAf,aAAL,EAAD,EAA+C;AAAE;AAAjD,cAAiF;AAAG;AAApF,cAAkI,OAAO,mEAAzI,CAAd;AACH;AACJ;AACJ;AACD;AACZ;AACA;AACA;AACA;;;AACY,eAASyf,YAAT,CAAsBz/E,OAAtB,EAA+BssE,OAA/B,EAAwC;AACpC0W,QAAAA,cAAc,CAAChjF,OAAD,EAAU,IAAV,CAAd;AACH;AACD;AACZ;AACA;AACA;AACA;;;AACY,eAASgjF,cAAT,CAAwBhjF,OAAxB,EAAiCssE,OAAjC,EAA0C;AACtC,YAAI7qF,EAAJ;;AACA,YAAImhG,WAAW,GAAGxe,KAAK,CAACwY,kEAAmBA;AAAC;AAArB,SAAL,CAAuDnB,gEAAiBA;AAAC;AAAzE,WAAlB;;AACA,YAAIvC,KAAK,GAAG9U,KAAK,CAACuU,OAAN,CAAcb,kEAAmBA;AAAC;AAAlC,UAA+D93E,OAA/D,CAAZ;;AACA,YAAIqiF,cAAc,GAAG,IAAIC,IAAJ,CAAS,CAACpJ,KAAD,CAAT,EAAkB;AAAEvwH,UAAAA,IAAI,EAAE;AAAR,SAAlB,CAArB;AACA,YAAIs6H,cAAc,GAAG,IAAI30D,OAAJ,EAArB;AACA,YAAI40D,WAAW,GAAGhK,KAAK,CAACtY,0DAAWA;AAAC;AAAb,SAAvB;AACA,YAAIuiB,cAAc,GAAG,KAArB;AACA,YAAIC,eAAe,GAAG,KAAtB,CARsC,CAStC;;AACA,YAAI3I,6GAAqC,CAACmI,WAAD,CAAzC,EAAwD;AACpDK,UAAAA,cAAc,CAACz0D,MAAf,CAAsBgsD,qFAAtB,EAAgFA,qFAAhF;AACH;;AACDtc,QAAAA,mFAAU,CAAC4c,gFAAO,CAACiD,QAAD,CAAR,EAAoB,UAAUnuD,UAAV,EAAsB;AAChDqzD,UAAAA,cAAc,CAACz0D,MAAf,CAAsBoB,UAAtB,EAAkCmuD,QAAQ,CAACnuD,UAAD,CAA1C;AACH,SAFS,CAAV;AAGA,YAAI38E,IAAI,IAAIwuC,EAAE,GAAG;AACTxL,UAAAA,MAAM,EAAE,MADC;AAETM,UAAAA,OAAO,EAAE0sG,cAFA;AAGTl6H,UAAAA,IAAI,EAAEs5H;AAHG,SAAL,EAKR5gG,EAAE,CAAC64F,uFAAD,CAAF,GAA2B,IALnB,CAKwB;AALxB,UAOR74F,EAPI,CAAR;;AAQA,YAAI,CAAC6qF,OAAL,EAAc;AACVr5H,UAAAA,IAAI,CAACowI,SAAL,GAAiB,IAAjB,CADU,CAEV;AACA;;AACAF,UAAAA,cAAc,GAAG,IAAjB;AACAnF,UAAAA,iBAAiB,IAAIkF,WAArB;AACH;;AACD,YAAI3yG,OAAO,GAAG,IAAI+yG,OAAJ,CAAYV,WAAZ,EAAyB3vI,IAAzB,CAAd;;AACA,YAAI;AACA;AACAs9B,UAAAA,OAAO,CAAC+pG,uFAAD,CAAP,GAAgC,IAAhC;AACH,SAHD,CAIA,OAAOj+F,CAAP,EAAU,CACN;AACA;AACH;;AACD+nF,QAAAA,KAAK,CAACuU,OAAN,CAAcN,gEAAiBA;AAAC;AAAhC,UAA0Dr4E,OAA1D;;AACA,YAAI;AACA4tB,UAAAA,KAAK,CAACr9C,OAAD,CAAL,CAAer3B,IAAf,CAAoB,UAAU+6B,QAAV,EAAoB;AACpC,gBAAI,CAACq4F,OAAL,EAAc;AACV0R,cAAAA,iBAAiB,IAAIkF,WAArB;AACAA,cAAAA,WAAW,GAAG,CAAd;AACH;;AACD,gBAAI,CAACE,eAAL,EAAsB;AAClBA,cAAAA,eAAe,GAAG,IAAlB;AACA;AAC5B;AACA;AACA;AACA;;AAC4B,kBAAI,CAACnvG,QAAQ,CAACsvG,EAAd,EAAkB;AACdnf,gBAAAA,KAAK,CAACoY,6DAAcA;AAAC;AAAhB,iBAAL,CAA6Cx8E,OAA7C,EAAsD/rB,QAAQ,CAACuvG,UAA/D;AACH,eAFD,MAGK;AACDvvG,gBAAAA,QAAQ,CAACwvG,IAAT,GAAgBvqI,IAAhB,CAAqB,UAAUuqI,IAAV,EAAgB;AACjClD,kBAAAA,mBAAmB,CAACtsG,QAAQ,CAACngB,MAAV,EAAkBksC,OAAlB,EAA2B/rB,QAAQ,CAACnlB,GAApC,EAAyCkxC,OAAO,CAAC4gE,0DAAWA;AAAC;AAAb,mBAAhD,EAAoF3sF,QAAQ,CAACuvG,UAA7F,EAAyGC,IAAzG,CAAnB;AACH,iBAFD;AAGH;AACJ;AACJ,WArBD,EAqBG,OArBH,EAqBY,UAAU17H,KAAV,EAAiB;AACzB,gBAAI,CAACukH,OAAL,EAAc;AACV0R,cAAAA,iBAAiB,IAAIkF,WAArB;AACAA,cAAAA,WAAW,GAAG,CAAd;AACH;;AACD,gBAAI,CAACE,eAAL,EAAsB;AAClBA,cAAAA,eAAe,GAAG,IAAlB;;AACAhf,cAAAA,KAAK,CAACoY,6DAAcA;AAAC;AAAhB,eAAL,CAA6Cx8E,OAA7C,EAAsDj4C,KAAK,CAACxU,OAA5D;AACH;AACJ,WA9BD;AA+BH,SAhCD,CAiCA,OAAO8oC,CAAP,EAAU;AACN,cAAI,CAAC+mG,eAAL,EAAsB;AAClBhf,YAAAA,KAAK,CAACoY,6DAAcA;AAAC;AAAhB,aAAL,CAA6Cx8E,OAA7C,EAAsDq+D,gFAAO,CAAChiF,CAAD,CAA7D;AACH;AACJ;;AACD,YAAI8mG,cAAc,IAAI,CAACC,eAAvB,EAAwC;AACpC;AACAA,UAAAA,eAAe,GAAG,IAAlB;;AACAhf,UAAAA,KAAK,CAACqe,UAAN,CAAiBziF,OAAjB,EAA0BA,OAAO,CAAC4gE,0DAAWA;AAAC;AAAb,WAAjC;AACH;AACJ;AACD;AACZ;AACA;AACA;;;AACY,eAAS8gB,cAAT,CAAwBztG,QAAxB,EAAkC;AAC9B,YAAI;AACA,cAAIA,QAAQ,IAAIA,QAAQ,KAAK,EAA7B,EAAiC;AAC7B,gBAAI5wB,MAAM,GAAG0sH,gFAAO,GAAGv/G,KAAV,CAAgByjB,QAAhB,CAAb;;AACA,gBAAI5wB,MAAM,IAAIA,MAAM,CAACi+H,aAAjB,IAAkCj+H,MAAM,CAACi+H,aAAP,IAAwBj+H,MAAM,CAACy4H,kEAAmBA;AAAC;AAArB,aAAhE,IACAz4H,MAAM,CAACi+H,aAAP,GAAuBj+H,MAAM,CAACqgI,aAA9B,KAAgDrgI,MAAM,CAAC2lF,MAAP,CAAc43B,0DAAWA;AAAC;AAA1B,aADpD,EACqG;AACjG,qBAAOv9G,MAAP;AACH;AACJ;AACJ,SARD,CASA,OAAOg5B,CAAP,EAAU;AACN0oF,UAAAA,uFAAc,CAACX,KAAK,CAACpE,4DAAaA;AAAC;AAAf,WAAL,EAAD,EAA+C;AAAE;AAAjD,YAAkF;AAAG;AAArF,YAAuI,gCAAgCtB,yFAAgB,CAACriF,CAAD,CAAvL,EAA4L;AACtMpI,YAAAA,QAAQ,EAAEA;AAD4L,WAA5L,CAAd;AAGH;;AACD,eAAO,IAAP;AACH;AACD;AACZ;AACA;AACA;;;AACY,eAASstG,cAAT,CAAwBvhF,OAAxB,EAAiC2jF,YAAjC,EAA+C;AAC3C,YAAIA,YAAY,KAAK,KAAK,CAA1B,EAA6B;AAAEA,UAAAA,YAAY,GAAG,CAAf;AAAmB;;AAClD,YAAI,CAAC3jF,OAAD,IAAYA,OAAO,CAAC4gE,0DAAWA;AAAC;AAAb,SAAP,KAA8C,CAA9D,EAAiE;AAC7D;AACH;;AACD,YAAIrzD,MAAM,GAAG62D,KAAK,CAACmY,2DAAYA;AAAC;AAAd,SAAlB;;AACAhvE,QAAAA,MAAM,CAAC0qE,8DAAeA;AAAC;AAAjB,SAAN,CAAgDj4E,OAAhD;;AACAw9E,QAAAA,kBAAkB;;AAClB,aAAK,IAAIn1C,EAAE,GAAG,CAAT,EAAYu7C,SAAS,GAAG5jF,OAA7B,EAAsCqoC,EAAE,GAAGu7C,SAAS,CAACvlI,MAArD,EAA6DgqF,EAAE,EAA/D,EAAmE;AAC/D,cAAIn8E,IAAI,GAAG03H,SAAS,CAACv7C,EAAD,CAApB;;AACA96B,UAAAA,MAAM,CAAC6qE,2DAAYA;AAAC;AAAd,WAAN,CAA2ClsH,IAA3C;AACH,SAX0C,CAY3C;;;AACA23H,QAAAA,aAAa,CAACF,YAAD,CAAb;;AACArF,QAAAA,WAAW;AACd;AACD;AACZ;AACA;AACA;;;AACY,eAASuF,aAAT,CAAuBF,YAAvB,EAAqC;AACjC,YAAIG,kBAAkB,GAAG,EAAzB;AACA,YAAIC,cAAJ;;AACA,YAAIvG,kBAAkB,IAAI,CAA1B,EAA6B;AACzBuG,UAAAA,cAAc,GAAGD,kBAAjB;AACH,SAFD,MAGK;AACD,cAAIE,WAAW,GAAG,CAACp2E,IAAI,CAACq2E,GAAL,CAAS,CAAT,EAAYzG,kBAAZ,IAAkC,CAAnC,IAAwC,CAA1D,CADC,CAED;;AACA,cAAI0G,YAAY,GAAGt2E,IAAI,CAACkwC,KAAL,CAAWlwC,IAAI,CAACC,MAAL,KAAgBm2E,WAAhB,GAA8BF,kBAAzC,IAA+D,CAAlF;AACAI,UAAAA,YAAY,GAAGP,YAAY,GAAGO,YAA9B;AACAH,UAAAA,cAAc,GAAGn2E,IAAI,CAAC1qC,GAAL,CAAS0qC,IAAI,CAACzqC,GAAL,CAAS+gH,YAAT,EAAuB,IAAvB,CAAT,EAAuCJ,kBAAvC,CAAjB;AACH,SAZgC,CAajC;;;AACA,YAAIK,kBAAkB,GAAGrU,gFAAO,KAAMiU,cAAc,GAAG,IAAvD,CAdiC,CAejC;;AACAtG,QAAAA,QAAQ,GAAG0G,kBAAX;AACH;AACD;AACZ;AACA;;;AACY,eAAS7F,WAAT,GAAuB;AACnB,YAAI,CAACV,cAAD,IAAmB,CAACD,OAAxB,EAAiC;AAC7B,cAAIyG,aAAa,GAAG3G,QAAQ,GAAG7vE,IAAI,CAAC1qC,GAAL,CAAS,CAAT,EAAYu6G,QAAQ,GAAG3N,gFAAO,EAA9B,CAAH,GAAuC,CAAnE;AACA,cAAIuU,UAAU,GAAGz2E,IAAI,CAAC1qC,GAAL,CAASkhG,KAAK,CAACwY,kEAAmBA;AAAC;AAArB,WAAL,CAAuDZ,sEAAuBA;AAAC;AAA/E,aAAT,EAA2HoI,aAA3H,CAAjB;AACAxG,UAAAA,cAAc,GAAGhtH,UAAU,CAAC,YAAY;AACpCgtH,YAAAA,cAAc,GAAG,IAAjB;;AACAxZ,YAAAA,KAAK,CAACkY,gEAAiBA;AAAC;AAAnB,aAAL,CAAmD,IAAnD,EAAyD,IAAzD,EAA+D;AAAE;AAAjE;AACH,WAH0B,EAGxB+H,UAHwB,CAA3B;AAIH;AACJ;;AACD,eAASjG,oBAAT,GAAgC;AAC5BlwF,QAAAA,YAAY,CAAC0vF,cAAD,CAAZ;AACAA,QAAAA,cAAc,GAAG,IAAjB;AACAH,QAAAA,QAAQ,GAAG,IAAX;AACH;AACD;AACZ;AACA;AACA;;;AACY,eAAS2D,YAAT,CAAsBC,UAAtB,EAAkC;AAC9B,eAAOA,UAAU,KAAK,GAAf,CAAmB;AAAnB,WACAA,UAAU,KAAK,GADf,CACmB;AADnB,WAEAA,UAAU,KAAK,GAFf,CAEmB;AAFnB,WAGAA,UAAU,KAAK,GAHf,CAGmB;AAHnB,WAIAA,UAAU,KAAK,GAJf,CAImB;AAJnB,WAKAA,UAAU,KAAK,GALf,CAKmB;AALnB,WAMAA,UAAU,KAAK,GANf,CAMmB;AANnB,WAOAA,UAAU,KAAK,GAPtB,CAD8B,CAQH;AAC9B;;AACD,eAASZ,sBAAT,CAAgC7xD,GAAhC,EAAqCr7E,OAArC,EAA8C;AAC1C,YAAIq7E,GAAJ,EAAS;AACL,iBAAO,2BAA2BA,GAAG,CAAC96D,MAA/B,GAAwC,YAAxC,GAAuDipH,gBAAgB,CAACnuD,GAAD,CAAvE,IAAgFA,CAAhF,IAAgG,CAAvG;AACH;;AACD,eAAOr7E,OAAP;AACH;AACD;AACZ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACY,eAASgsI,UAAT,CAAoBv/E,OAApB,EAA6BssE,OAA7B,EAAsC;AAClC,YAAI/+D,MAAM,GAAG62D,KAAK,CAACmY,2DAAYA;AAAC;AAAd,SAAlB;;AACA,YAAI9V,OAAO,GAAG5H,kFAAS,EAAvB;;AACA,YAAI4iB,GAAG,GAAG,IAAI6C,cAAJ,EAAV;;AACA7C,QAAAA,GAAG,CAAC1yD,MAAJ,GAAa,YAAY;AAAE,iBAAOq1C,KAAK,CAACod,UAAN,CAAiBC,GAAjB,EAAsBzhF,OAAtB,CAAP;AAAwC,SAAnE;;AACAyhF,QAAAA,GAAG,CAACtyD,OAAJ,GAAc,UAAUjyD,KAAV,EAAiB;AAAE,iBAAOknG,KAAK,CAACoY,6DAAcA;AAAC;AAAhB,WAAL,CAA6Cx8E,OAA7C,EAAsD2hF,sBAAsB,CAACF,GAAD,CAA5E,EAAmFvkH,KAAnF,CAAP;AAAmG,SAApI,CALkC,CAMlC;AACA;;;AACA,YAAIqnH,eAAe,GAAG9d,OAAO,IAAIA,OAAO,CAAC31G,QAAnB,IAA+B21G,OAAO,CAAC31G,QAAR,CAAiB0zH,QAAhD,IAA4D,EAAlF;;AACA,YAAIpgB,KAAK,CAACwY,kEAAmBA;AAAC;AAArB,SAAL,CAAuDnB,gEAAiBA;AAAC;AAAzE,YAAsGjmG,WAAtG,CAAkH+uG,eAAlH,EAAmI,CAAnI,MAA0I,CAA9I,EAAiJ;AAC7Ixf,UAAAA,uFAAc,CAACX,KAAK,CAACpE,4DAAaA;AAAC;AAAf,WAAL,EAAD,EAA+C;AAAE;AAAjD,YAAiF;AAAG;AAApF,YAAkI,OAC5I,iGADU,CAAd;;AAEAzyD,UAAAA,MAAM,CAACyqE,yDAAUA;AAAC;AAAZ,WAAN;;AACA;AACH;;AACD,YAAImF,WAAW,GAAG/Y,KAAK,CAACwY,kEAAmBA;AAAC;AAArB,SAAL,CAAuDnB,gEAAiBA;AAAC;AAAzE,YAAsG1qH,OAAtG,CAA8G,YAA9G,EAA4H,EAA5H,CAAlB;;AACA0wH,QAAAA,GAAG,CAAC5/H,IAAJ,CAAS,MAAT,EAAiBs7H,WAAjB,EAhBkC,CAiBlC;;AACA,YAAIjE,KAAK,GAAG3rE,MAAM,CAACuqE,kEAAmBA;AAAC;AAArB,SAAN,CAAwD93E,OAAxD,CAAZ;;AACAyhF,QAAAA,GAAG,CAACryD,IAAJ,CAAS8pD,KAAT;;AACA3rE,QAAAA,MAAM,CAAC8qE,gEAAiBA;AAAC;AAAnB,SAAN,CAAmDr4E,OAAnD;AACH;;AACD,eAAS2hF,sBAAT,CAAgCF,GAAhC,EAAqCluI,OAArC,EAA8C;AAC1C,YAAIkuI,GAAJ,EAAS;AACL,iBAAO,6BAA6B1E,gBAAgB,CAAC0E,GAAD,CAA7C,IAAsD,CAA7D;AACH;;AACD,eAAOluI,OAAP;AACH,OA9uB+C,CA+uBhD;;;AACA,eAASkxI,aAAT,GAAyB;AACrB,YAAIC,IAAI,GAAG,cAAX;;AACA,YAAItgB,KAAK,CAAC4C,IAAN,CAAW0d,IAAX,CAAJ,EAAsB;AAClB,iBAAOtgB,KAAK,CAAC4C,IAAN,CAAW0d,IAAX,GAAP;AACH,SAJoB,CAKrB;;;AACA,eAAOtgB,KAAK,CAAC4C,IAAN,CAAW,sBAAX,CAAP;AACH;;AACD,eAAS4Z,kBAAT,CAA4B+D,WAA5B,EAAyCrY,OAAzC,EAAkD;AAC9C,YAAIsY,OAAO,GAAGH,aAAa,EAA3B;;AACA,YAAIG,OAAO,IAAIA,OAAO,CAAClJ,uEAAwBA;AAAC;AAA1B,SAAtB,EAAkF;AAC9E,cAAI;AACAkJ,YAAAA,OAAO,CAAClJ,uEAAwBA;AAAC;AAA1B,aAAP,CAAkEiJ,WAAlE,EAA+ErY,OAA/E;AACH,WAFD,CAGA,OAAOjwF,CAAP,EAAU;AACN0oF,YAAAA,uFAAc,CAACX,KAAK,CAACpE,4DAAaA;AAAC;AAAf,aAAL,EAAD,EAA+C;AAAE;AAAjD,cAAkF;AAAG;AAArF,cAAsI,uCAAuCtB,yFAAgB,CAACriF,CAAD,CAA7L,EAAkM;AAAE2oF,cAAAA,SAAS,EAAE3G,gFAAO,CAAChiF,CAAD;AAApB,aAAlM,CAAd;AACH;AACJ;AACJ;AACD;AACZ;AACA;AACA;;;AACY,eAAS6iG,2BAAT,CAAqC9tI,MAArC,EAA6C;AACzC,YAAIyzI,yBAAyB,GAAG3lB,0FAAiB,CAAC9tH,MAAM,CAACiqI,yEAA0BA;AAAC;AAA5B,SAAP,CAAjB,GAA0G,KAA1G,GAAkHjqI,MAAM,CAACiqI,yEAA0BA;AAAC;AAA5B,SAAxJ;;AACA,YAAIwJ,yBAAJ,EAA+B;AAC3B,iBAAO,IAAP;AACH;;AACD,YAAIC,UAAU,GAAG,gEAAjB;AACA,YAAIC,MAAM,GAAG,IAAIj+G,MAAJ,CAAWg+G,UAAX,CAAb;AACA,eAAOC,MAAM,CAACh+G,IAAP,CAAY31B,MAAM,CAACuqI,uEAAwBA;AAAC;AAA1B,SAAlB,CAAP;AACH;;AACD,eAASpX,aAAT,GAAyB;AACrBH,QAAAA,KAAK,CAACuY,2DAAYA;AAAC;AAAd,SAAL,GAA4C,IAA5C;AACAvY,QAAAA,KAAK,CAACmY,2DAAYA;AAAC;AAAd,SAAL,GAA4C,IAA5C;AACAnY,QAAAA,KAAK,CAAC0d,MAAN,GAAe,IAAf;AACA1d,QAAAA,KAAK,CAAC6a,OAAN,GAAgB,IAAhB;AACAlB,QAAAA,QAAQ,GAAG,EAAX;AACAI,QAAAA,gBAAgB,GAAG,IAAnB;AACAX,QAAAA,kBAAkB,GAAG,CAArB;AACAC,QAAAA,QAAQ,GAAG,IAAX;AACAC,QAAAA,SAAS,GAAG,IAAZ;AACAC,QAAAA,OAAO,GAAG,KAAV;AACAC,QAAAA,cAAc,GAAG,IAAjB;AACAC,QAAAA,WAAW,GAAG,IAAd;AACAC,QAAAA,yBAAyB,GAAG,CAA5B;AACAE,QAAAA,iBAAiB,GAAG,CAApB;AACAC,QAAAA,eAAe,GAAG,IAAlB;AACAC,QAAAA,iBAAiB,GAAG,IAApB;AACA/Z,QAAAA,aAAa,GAAG,IAAhB;AACH;AACJ,KAnyBW,CAAZ;AAoyBA,WAAO5hF,KAAP;AACH;;AACD+6F,EAAAA,MAAM,CAAC2C,iBAAP,GAA2B,UAAU+E,IAAV,EAAgB1P,IAAhB,EAAsBjkG,MAAtB,EAA8ByuG,gBAA9B,EAAgD;AACvE,QAAI/W,QAAJ;;AACA,QAAIuM,IAAI,KAAK0P,IAAI,CAAC1P,IAAd,IAAsB,CAACpW,0FAAiB,CAACoW,IAAD,CAA5C,EAAoD;AAChDvM,MAAAA,QAAQ,GAAGhtF,iFAAQ,CAACA,iFAAQ,CAAC,EAAD,EAAKipG,IAAL,CAAT,EAAqB;AAAE1P,QAAAA,IAAI,EAAEA;AAAR,OAArB,CAAnB;AACH,KAFD,MAGK;AACDvM,MAAAA,QAAQ,GAAGic,IAAX;AACH;;AACD,QAAIv0B,OAAO,GAAG2sB,mBAAmB,CAACrU,QAAQ,CAACC,QAAV,CAAnB,IAA0C+M,kEAAxD;AACA,WAAOtlB,OAAO,CAACp/E,MAAD,EAAS03F,QAAT,EAAmB+W,gBAAnB,CAAd;AACH,GAVD,CA9zB0C,CAy0B9C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACI,SAAOxC,MAAP;AACH,CAv1B2B,CAu1B1Btf,wFAv1B0B,CAA5B;;;;;;;;;;;;;;;;;;;;;;AC7DA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,IAAIgd,UAAU;AAAG;AAAe,YAAY;AACxC,WAASA,UAAT,CAAoB3pG,MAApB,EAA4B;AACxBwrF,IAAAA,sEAAY,CAACme,UAAD,EAAa,IAAb,EAAmB,UAAU5W,KAAV,EAAiB;AAC5C;AACZ;AACA;AACYA,MAAAA,KAAK,CAAC+b,SAAN,GAAkB,UAAUl2E,KAAV,EAAiB;AAC/B,YAAIg7E,MAAM,GAAGC,gBAAgB,CAACj7E,KAAD,EAAQ,MAAR,CAA7B;;AACA,YAAI;AACA,iBAAO8lE,+EAAO,GAAG+B,6DAAcA;AAAC;AAAlB,WAAP,CAAkDmT,MAAlD,CAAP;AACH,SAFD,CAGA,OAAO5oG,CAAP,EAAU;AACN;AACA0oF,UAAAA,sFAAc,CAAC1zF,MAAD,EAAS;AAAE;AAAX,YAA4C;AAAG;AAA/C,YAAiGgL,CAAC,IAAI4iF,kFAAU,CAAC5iF,CAAC,CAACilF,6DAAcA;AAAC;AAAhB,WAAF,CAAhB,GAA8DjlF,CAAC,CAACilF,6DAAcA;AAAC;AAAhB,WAAD,EAA9D,GAA2G,0BAA3M,EAAuO,IAAvO,EAA6O,IAA7O,CAAd;AACH;AACJ,OATD;;AAUA,eAAS4jB,gBAAT,CAA0Bj3F,MAA1B,EAAkC/rC,IAAlC,EAAwC;AACpC,YAAIijI,sBAAsB,GAAG,sBAA7B;AACA,YAAIF,MAAM,GAAG,EAAb;;AACA,YAAI,CAACh3F,MAAL,EAAa;AACT82E,UAAAA,sFAAc,CAAC1zF,MAAD,EAAS;AAAE;AAAX,YAA4C;AAAG;AAA/C,YAAgG,yDAAhG,EAA2J;AAAEnvB,YAAAA,IAAI,EAAEA;AAAR,WAA3J,EAA2K,IAA3K,CAAd;;AACA,iBAAO+iI,MAAP;AACH;;AACD,YAAIh3F,MAAM,CAACk3F,sBAAD,CAAV,EAAoC;AAChCpgB,UAAAA,sFAAc,CAAC1zF,MAAD,EAAS;AAAE;AAAX,YAA2C;AAAG;AAA9C,YAAmG,sDAAnG,EAA2J;AAAEnvB,YAAAA,IAAI,EAAEA;AAAR,WAA3J,EAA2K,IAA3K,CAAd;;AACA,iBAAO+iI,MAAP;AACH;;AACD,YAAI,CAACh3F,MAAM,CAACm3F,cAAZ,EAA4B;AACxB;AACA,cAAIljI,IAAI,KAAK,cAAb,EAA6B;AACzB+iI,YAAAA,MAAM,GAAGI,mBAAmB,CAACp3F,MAAD,EAAS,QAAT,EAAmB/rC,IAAnB,CAA5B;AACH,WAFD,MAGK,IAAIA,IAAI,KAAK,YAAb,EAA2B;AAC5B+iI,YAAAA,MAAM,GAAGI,mBAAmB,CAACp3F,MAAD,EAAS,QAAT,EAAmB/rC,IAAnB,CAA5B;AACH,WAFI,MAGA,IAAIA,IAAI,KAAK,MAAb,EAAqB;AACtB+iI,YAAAA,MAAM,GAAGI,mBAAmB,CAACp3F,MAAD,EAAS,QAAT,EAAmB/rC,IAAnB,CAA5B;AACH,WAFI,MAGA,IAAI4wG,+EAAO,CAAC7kE,MAAD,CAAX,EAAqB;AACtBg3F,YAAAA,MAAM,GAAGK,eAAe,CAACr3F,MAAD,EAAS/rC,IAAT,CAAxB;AACH,WAFI,MAGA;AACD6iH,YAAAA,sFAAc,CAAC1zF,MAAD,EAAS;AAAE;AAAX,cAA2C;AAAG;AAA9C,cAA8G,0EAA9G,EAA0L;AAAEnvB,cAAAA,IAAI,EAAEA;AAAR,aAA1L,EAA0M,IAA1M,CAAd;;AACA,gBAAI;AACA;AACA6tH,cAAAA,+EAAO,GAAG+B,6DAAcA;AAAC;AAAlB,eAAP,CAAkD7jF,MAAlD;;AACAg3F,cAAAA,MAAM,GAAGh3F,MAAT;AACH,aAJD,CAKA,OAAO5R,CAAP,EAAU;AACN;AACA0oF,cAAAA,sFAAc,CAAC1zF,MAAD,EAAS;AAAE;AAAX,gBAA4C;AAAG;AAA/C,gBAAiGgL,CAAC,IAAI4iF,kFAAU,CAAC5iF,CAAC,CAACilF,6DAAcA;AAAC;AAAhB,eAAF,CAAhB,GAA8DjlF,CAAC,CAACilF,6DAAcA;AAAC;AAAhB,eAAD,EAA9D,GAA2G,0BAA3M,EAAuO,IAAvO,EAA6O,IAA7O,CAAd;AACH;AACJ;;AACD,iBAAO2jB,MAAP;AACH;;AACDh3F,QAAAA,MAAM,CAACk3F,sBAAD,CAAN,GAAiC,IAAjC;AACA5lB,QAAAA,qFAAa,CAACtxE,MAAM,CAACm3F,cAAR,EAAwB,UAAU9c,KAAV,EAAiBid,QAAjB,EAA2B;AAC5D,cAAIC,UAAU,GAAIvmB,kFAAU,CAACsmB,QAAD,CAAX,GAA0BA,QAAQ,KAAK;AAAE;AAAzC,YAAsEA,QAAQ,GAAG;AAAE;AAApG;AACA,cAAIE,QAAQ,GAAIxmB,kFAAU,CAACsmB,QAAD,CAAX,GAA0BA,QAAQ,KAAK;AAAE;AAAzC,YAAoEA,QAAQ,GAAG;AAAE;AAAhG;AACA,cAAIzyB,OAAO,GAAGyyB,QAAQ,GAAG;AAAE;AAA3B;AACA,cAAIG,SAAS,GAAGz3F,MAAM,CAACq6E,KAAD,CAAN,KAAkBvkF,SAAlC;AACA,cAAI4hG,KAAK,GAAG5rB,gFAAQ,CAAC9rE,MAAM,CAACq6E,KAAD,CAAP,CAAR,IAA2Br6E,MAAM,CAACq6E,KAAD,CAAN,KAAkB,IAAzD;;AACA,cAAIkd,UAAU,IAAI,CAACE,SAAf,IAA4B,CAAC5yB,OAAjC,EAA0C;AACtCiS,YAAAA,sFAAc,CAAC1zF,MAAD,EAAS;AAAE;AAAX,cAA4C;AAAG;AAA/C,cAA4G,uFAA5G,EAAqM;AAAEi3F,cAAAA,KAAK,EAAEA,KAAT;AAAgBpmH,cAAAA,IAAI,EAAEA;AAAtB,aAArM,CAAd,CADsC,CAEtC;;AACH,WAHD,MAIK,IAAI,CAACujI,QAAL,EAAe;AAAE;AAClB,gBAAI7iI,KAAK,GAAG,KAAK,CAAjB;;AACA,gBAAI+iI,KAAJ,EAAW;AACP,kBAAI7yB,OAAJ,EAAa;AACT;AACAlwG,gBAAAA,KAAK,GAAG0iI,eAAe,CAACr3F,MAAM,CAACq6E,KAAD,CAAP,EAAgBA,KAAhB,CAAvB;AACH,eAHD,MAIK;AACD;AACA1lH,gBAAAA,KAAK,GAAGsiI,gBAAgB,CAACj3F,MAAM,CAACq6E,KAAD,CAAP,EAAgBA,KAAhB,CAAxB;AACH;AACJ,aATD,MAUK;AACD;AACA1lH,cAAAA,KAAK,GAAGqrC,MAAM,CAACq6E,KAAD,CAAd;AACH,aAfe,CAgBhB;;;AACA,gBAAI1lH,KAAK,KAAKmhC,SAAd,EAAyB;AACrBkhG,cAAAA,MAAM,CAAC3c,KAAD,CAAN,GAAgB1lH,KAAhB;AACH;AACJ;AACJ,SA/BY,CAAb;AAgCA,eAAOqrC,MAAM,CAACk3F,sBAAD,CAAb;AACA,eAAOF,MAAP;AACH;;AACD,eAASK,eAAT,CAAyBM,OAAzB,EAAkC1jI,IAAlC,EAAwC;AACpC,YAAI+iI,MAAJ;;AACA,YAAI,CAAC,CAACW,OAAN,EAAe;AACX,cAAI,CAAC9yB,+EAAO,CAAC8yB,OAAD,CAAZ,EAAuB;AACnB7gB,YAAAA,sFAAc,CAAC1zF,MAAD,EAAS;AAAE;AAAX,cAA4C;AAAG;AAA/C,cAAyF,wFAAzF,EAAmL;AAAEnvB,cAAAA,IAAI,EAAEA;AAAR,aAAnL,EAAmM,IAAnM,CAAd;AACH,WAFD,MAGK;AACD+iI,YAAAA,MAAM,GAAG,EAAT;;AACA,iBAAK,IAAI58H,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGu9H,OAAO,CAAChlB,0DAAWA;AAAC;AAAb,aAA3B,EAA+Dv4G,CAAC,EAAhE,EAAoE;AAChE,kBAAI4lC,MAAM,GAAG23F,OAAO,CAACv9H,CAAD,CAApB;;AACA,kBAAI6D,IAAI,GAAGg5H,gBAAgB,CAACj3F,MAAD,EAAS/rC,IAAI,GAAG,GAAP,GAAamG,CAAb,GAAiB,GAA1B,CAA3B;;AACA48H,cAAAA,MAAM,CAAC3M,wDAASA;AAAC;AAAX,eAAN,CAAqCpsH,IAArC;AACH;AACJ;AACJ;;AACD,eAAO+4H,MAAP;AACH;;AACD,eAASI,mBAAT,CAA6BnqI,GAA7B,EAAkC2qI,YAAlC,EAAgD3jI,IAAhD,EAAsD;AAClD,YAAI+iI,MAAJ;;AACA,YAAI/pI,GAAJ,EAAS;AACL+pI,UAAAA,MAAM,GAAG,EAAT;AACA1lB,UAAAA,qFAAa,CAACrkH,GAAD,EAAM,UAAUotH,KAAV,EAAiB1lH,KAAjB,EAAwB;AACvC,gBAAIijI,YAAY,KAAK,QAArB,EAA+B;AAC3B,kBAAIjjI,KAAK,KAAKmhC,SAAd,EAAyB;AACrBkhG,gBAAAA,MAAM,CAAC3c,KAAD,CAAN,GAAgB,WAAhB;AACH,eAFD,MAGK,IAAI1lH,KAAK,KAAK,IAAd,EAAoB;AACrBqiI,gBAAAA,MAAM,CAAC3c,KAAD,CAAN,GAAgB,MAAhB;AACH,eAFI,MAGA,IAAI,CAAC1lH,KAAK,CAAC0+G,6DAAcA;AAAC;AAAhB,eAAV,EAAmD;AACpD2jB,gBAAAA,MAAM,CAAC3c,KAAD,CAAN,GAAgB,2CAAhB;AACH,eAFI,MAGA;AACD2c,gBAAAA,MAAM,CAAC3c,KAAD,CAAN,GAAgB1lH,KAAK,CAAC0+G,6DAAcA;AAAC;AAAhB,iBAAL,EAAhB;AACH;AACJ,aAbD,MAcK,IAAIukB,YAAY,KAAK,QAArB,EAA+B;AAChC,kBAAIjjI,KAAK,KAAKmhC,SAAd,EAAyB;AACrBkhG,gBAAAA,MAAM,CAAC3c,KAAD,CAAN,GAAgB,WAAhB;AACH,eAFD,MAGK,IAAI1lH,KAAK,KAAK,IAAd,EAAoB;AACrBqiI,gBAAAA,MAAM,CAAC3c,KAAD,CAAN,GAAgB,MAAhB;AACH,eAFI,MAGA;AACD,oBAAI50C,GAAG,GAAGoyD,UAAU,CAACljI,KAAD,CAApB;;AACA,oBAAIwiB,KAAK,CAACsuD,GAAD,CAAT,EAAgB;AACZuxD,kBAAAA,MAAM,CAAC3c,KAAD,CAAN,GAAgB,KAAhB;AACH,iBAFD,MAGK;AACD2c,kBAAAA,MAAM,CAAC3c,KAAD,CAAN,GAAgB50C,GAAhB;AACH;AACJ;AACJ,aAhBI,MAiBA;AACDuxD,cAAAA,MAAM,CAAC3c,KAAD,CAAN,GAAgB,oBAAoBpmH,IAApB,GAA2B,sBAA3C;;AACA6iH,cAAAA,sFAAc,CAAC1zF,MAAD,EAAS;AAAE;AAAX,gBAA4C4zG,MAAM,CAAC3c,KAAD,CAAlD,EAA2D,IAA3D,EAAiE,IAAjE,CAAd;AACH;AACJ,WApCY,CAAb;AAqCH;;AACD,eAAO2c,MAAP;AACH;AACJ,KAtJW,CAAZ;AAuJH,GAzJuC,CA0J5C;AACI;AACA;AACA;;;AACAjK,EAAAA,UAAU,CAAC7N,OAAX,GAAmB,CAAnB;AAEA,SAAO6N,UAAP;AACH,CAjK+B,EAAhC;;;;;;;;;;;;;;;;;;;;;ACPA;AACA;AACA;AACA;AAGA;AACA;AACA;AACA;;AACA,IAAIC,MAAM;AAAG;AAAe,YAAY;AACpC,WAASA,MAAT,CAAgBgL,UAAhB,EAA4B50G,MAA5B,EAAoC;AAChC;AACA,SAAK60G,aAAL,GAAqB,UAArB;;AACA,QAAI9Z,OAAO,GAAG/6F,MAAM,IAAIk8F,qFAAa,CAAC,IAAD,CAArC;;AACA,QAAI0Y,UAAU,GAAG,GAAb,IAAoBA,UAAU,GAAG,CAArC,EAAwC;AACpC7Z,MAAAA,OAAO,CAACpB,aAAR,CAAsB;AAAE;AAAxB,QAAwD;AAAG;AAA3D,QAA2G,6IAA3G,EAA0P;AAAEmb,QAAAA,YAAY,EAAEF;AAAhB,OAA1P,EAAwR,IAAxR;;AACAA,MAAAA,UAAU,GAAG,GAAb;AACH;;AACD,SAAK7J,+DAAgBA;AAAC;AAAtB,QAAkD6J,UAAlD;AACA,SAAKG,sBAAL,GAA8B,IAAIJ,mGAAJ,EAA9B;AACH;AACD;AACJ;AACA;;;AACI/K,EAAAA,MAAM,CAACt/F,SAAP,CAAiBimG,WAAjB,GAA+B,UAAU7Y,QAAV,EAAoB;AAC/C,QAAIsd,kBAAkB,GAAG,KAAKjK,+DAAgBA;AAAC;AAAtB,KAAzB,CAD+C,CAC2B;;AAC1E,QAAIwF,WAAW,GAAG,KAAlB;;AACA,QAAIyE,kBAAkB,KAAK,IAAvB,IAA+BA,kBAAkB,KAAKtiG,SAAtD,IAAmEsiG,kBAAkB,IAAI,GAA7F,EAAkG;AAC9F,aAAO,IAAP;AACH,KAFD,MAGK,IAAItd,QAAQ,CAACC,QAAT,KAAsB/L,yEAAM,CAAC8C,6DAAcA;AAAC;AAAhB,KAAhC,EAAyE;AAC1E;AACA,aAAO,IAAP;AACH;;AACD6hB,IAAAA,WAAW,GAAG,KAAKwE,sBAAL,CAA4BL,sEAAuBA;AAAC;AAApD,MAAoFhd,QAApF,IAAgGsd,kBAA9G;AACA,WAAOzE,WAAP;AACH,GAZD;;AAaA,SAAO3G,MAAP;AACH,CA7B2B,EAA5B;;;;;;;;;;;;;;;;;;ACVA;AACA;AACA;AACA;CAIA;;AACA,IAAIqL,gBAAgB,GAAG,CAAvB;;AACA,IAAIC,sBAAsB;AAAG;AAAe,YAAY;AACpD,WAASA,sBAAT,GAAkC,CACjC;;AACDA,EAAAA,sBAAsB,CAAC5qG,SAAvB,CAAiC6qG,gBAAjC,GAAoD,UAAUhvG,GAAV,EAAe;AAC/D,QAAIivG,KAAK,GAAG,KAAKC,WAAL,CAAiBlvG,GAAjB,IAAwB+uG,sBAAsB,CAACL,aAA3D;AACA,WAAOO,KAAK,GAAG,GAAf;AACH,GAHD;;AAIAF,EAAAA,sBAAsB,CAAC5qG,SAAvB,CAAiC+qG,WAAjC,GAA+C,UAAUz8E,KAAV,EAAiB;AAC5D,QAAIA,KAAK,KAAK,EAAd,EAAkB;AACd,aAAO,CAAP;AACH;;AACD,WAAOA,KAAK,CAAC22D,0DAAWA;AAAC;AAAb,KAAL,GAA0C0lB,gBAAjD,EAAmE;AAC/Dr8E,MAAAA,KAAK,GAAGA,KAAK,CAAC3rB,MAAN,CAAa2rB,KAAb,CAAR;AACH,KAN2D,CAO5D;;;AACA,QAAIj6B,IAAI,GAAG,IAAX;;AACA,SAAK,IAAI3nB,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAG4hD,KAAK,CAAC22D,0DAAWA;AAAC;AAAb,KAAzB,EAA6D,EAAEv4G,CAA/D,EAAkE;AAC9D2nB,MAAAA,IAAI,GAAI,CAACA,IAAI,IAAI,CAAT,IAAcA,IAAf,GAAuBi6B,KAAK,CAAC4G,UAAN,CAAiBxoD,CAAjB,CAA9B,CAD8D,CAE9D;AACA;;AACA2nB,MAAAA,IAAI,GAAGA,IAAI,GAAGA,IAAd;AACH;;AACD,WAAO49B,IAAI,CAAC+4E,GAAL,CAAS32G,IAAT,CAAP;AACH,GAhBD,CAPoD,CAwBpD;;;AACAu2G,EAAAA,sBAAsB,CAACL,aAAvB,GAAuC,UAAvC;AACA,SAAOK,sBAAP;AACH,CA3B2C,EAA5C;;;;;;;;;;;;;;;;;;;;ACTA;AACA;AACA;AACA;AAGA;AACA;AACA;;AACA,IAAIP,sBAAsB;AAAG;AAAe,YAAY;AACpD,WAASA,sBAAT,GAAkC;AAC9B,QAAI5hB,KAAK,GAAG,IAAZ;;AACA,QAAI0iB,iBAAiB,GAAG,IAAIP,2EAAJ,EAAxB;AACA,QAAIxvG,IAAI,GAAG,IAAI6vG,iFAAJ,EAAX;;AACAxiB,IAAAA,KAAK,CAAC2hB,sEAAuBA;AAAC;AAAzB,KAAL,GAAgE,UAAU75H,IAAV,EAAgB;AAC5E,UAAIu6H,KAAK,GAAG,CAAZ;;AACA,UAAIv6H,IAAI,CAAC6lH,wDAASA;AAAC;AAAX,OAAJ,IAAsC7lH,IAAI,CAAC6lH,wDAASA;AAAC;AAAX,OAAJ,CAAmCh7F,IAAI,CAACriB,MAAxC,CAA1C,EAA2F;AAAE;AACzF+xH,QAAAA,KAAK,GAAGK,iBAAiB,CAACN,gBAAlB,CAAmCt6H,IAAI,CAAC6lH,wDAASA;AAAC;AAAX,SAAJ,CAAmCh7F,IAAI,CAACriB,MAAxC,CAAnC,CAAR;AACH,OAFD,MAGK,IAAIxI,IAAI,CAACsiC,GAAL,IAAYtiC,IAAI,CAACsiC,GAAL,CAASnhC,IAArB,IAA6BnB,IAAI,CAACsiC,GAAL,CAASnhC,IAAT,CAAcxO,EAA/C,EAAmD;AACpD4nI,QAAAA,KAAK,GAAGK,iBAAiB,CAACD,uEAAwBA;AAAC;AAA1B,SAAjB,CAA2E36H,IAAI,CAACsiC,GAAL,CAASnhC,IAAT,CAAcxO,EAAzF,CAAR;AACH,OAFI,MAGA,IAAIqN,IAAI,CAAC6lH,wDAASA;AAAC;AAAX,OAAJ,IAAsC7lH,IAAI,CAAC6lH,wDAASA;AAAC;AAAX,OAAJ,CAAmCh7F,IAAI,CAAC29F,WAAxC,CAA1C,EAAgG;AAAE;AACnG+R,QAAAA,KAAK,GAAGK,iBAAiB,CAACN,gBAAlB,CAAmCt6H,IAAI,CAAC6lH,wDAASA;AAAC;AAAX,SAAJ,CAAmCh7F,IAAI,CAAC29F,WAAxC,CAAnC,CAAR;AACH,OAFI,MAGA,IAAIxoH,IAAI,CAACsiC,GAAL,IAAYtiC,IAAI,CAACsiC,GAAL,CAAS27E,cAArB,IAAuCj+G,IAAI,CAACsiC,GAAL,CAAS27E,cAAT,CAAwB6H,4DAAaA;AAAC;AAAtC,OAA3C,EAAyG;AAC1GyU,QAAAA,KAAK,GAAGK,iBAAiB,CAACN,gBAAlB,CAAmCt6H,IAAI,CAACsiC,GAAL,CAAS27E,cAAT,CAAwB6H,4DAAaA;AAAC;AAAtC,SAAnC,CAAR;AACH,OAFI,MAGA;AACD;AACAyU,QAAAA,KAAK,GAAI74E,IAAI,CAACC,MAAL,KAAgB,GAAzB;AACH;;AACD,aAAO44E,KAAP;AACH,KAnBD;AAoBH;;AACD,SAAOT,sBAAP;AACH,CA3B2C,EAA5C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACTA;AACA;AACA;AACA;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,IAAIjU,SAAS,GAAG,MAAhB,EAAwB;;AACxB,IAAIJ,gBAAgB,GAAG,YAAvB,EAAqC;;AACrC,IAAID,SAAS,GAAG,MAAhB,EAAwB;;AACxB,IAAIG,SAAS,GAAG,MAAhB,EAAwB;;AACxB,IAAIG,aAAa,GAAG,SAApB,EAA+B;;AAC/B,IAAIpR,WAAW,GAAG,QAAlB,EAA4B;;AAC5B,IAAIkR,cAAc,GAAG,WAArB,EAAkC;;AAClC,IAAIF,iBAAiB,GAAG,cAAxB,EAAwC;;AACxC,IAAI7R,cAAc,GAAG,UAArB,EAAiC;;AACjC,IAAIM,kBAAkB,GAAG,cAAzB,EAAyC;;AACzC,IAAIiB,cAAc,GAAG,UAArB,EAAiC;;AACjC,IAAIyV,YAAY,GAAG,QAAnB,EAA6B;;AAC7B,IAAID,cAAc,GAAG,UAArB,EAAiC;;AACjC,IAAIsB,YAAY,GAAG,SAAnB,EAA8B;;AAC9B,IAAIF,UAAU,GAAG,OAAjB,EAA0B;;AAC1B,IAAII,SAAS,GAAG,MAAhB,EAAwB;;AACxB,IAAIH,0BAA0B,GAAG,uBAAjC,EAA0D;;AAC1D,IAAIH,UAAU,GAAG,OAAjB,EAA0B;;AAC1B,IAAIF,mBAAmB,GAAG,eAA1B,EAA2C;;AAC3C,IAAIO,iBAAiB,GAAG,YAAxB,EAAsC;;AACtC,IAAIJ,eAAe,GAAG,WAAtB,EAAmC;;AACnC,IAAIF,oBAAoB,GAAG,gBAA3B,EAA6C;;AAC7C,IAAIQ,iBAAiB,GAAG,YAAxB,EAAsC;;AACtC,IAAIE,uBAAuB,GAAG,iBAA9B,EAAiD;;AACjD,IAAID,uBAAuB,GAAG,iBAA9B,EAAiD;;AACjD,IAAIzX,gBAAgB,GAAG,YAAvB,EAAqC;;AACrC,IAAIkb,0BAA0B,GAAG,qBAAjC,EAAwD;;AACxD,IAAIK,iBAAiB,GAAG,aAAxB,EAAuC;;AACvC,IAAItc,aAAa,GAAG,SAApB,EAA+B;;AAC/B,IAAIkc,0BAA0B,GAAG,uBAAjC,EAA0D;;AAC1D,IAAIN,0BAA0B,GAAG,qBAAjC,EAAwD;;AACxD,IAAIe,YAAY,GAAG,SAAnB,EAA8B;;AAC9B,IAAIC,mBAAmB,GAAG,eAA1B,EAA2C;;AAC3C,IAAIpB,0BAA0B,GAAG,4BAAjC,EAA+D;;AAC/D,IAAIe,YAAY,GAAG,SAAnB,EAA8B;;AAC9B,IAAIrb,wBAAwB,GAAG,oBAA/B,EAAqD;;AACrD,IAAIya,wBAAwB,GAAG,oBAA/B,EAAqD;;AACrD,IAAIF,iBAAiB,GAAG,aAAxB,EAAuC;;AACvC,IAAIL,mBAAmB,GAAG,eAA1B,EAA2C;;AAC3C,IAAIG,gBAAgB,GAAG,YAAvB,EAAqC;;AACrC,IAAIY,0BAA0B,GAAG,sBAAjC,EAAyD;;AACzD,IAAIb,sBAAsB,GAAG,kBAA7B,EAAiD;;AACjD,IAAIJ,cAAc,GAAG,UAArB,EAAiC;;AACjC,IAAIkB,gBAAgB,GAAG,YAAvB,EAAqC;;AACrC,IAAIjB,sBAAsB,GAAG,kBAA7B,EAAiD;;AACjD,IAAI0B,0BAA0B,GAAG,sBAAjC,EAAyD;;AACzD,IAAIL,cAAc,GAAG,UAArB,EAAiC;;AACjC,IAAIC,wBAAwB,GAAG,mBAA/B,EAAoD;;AACpD,IAAIC,gBAAgB,GAAG,YAAvB,EAAqC;;AACrC,IAAIZ,mBAAmB,GAAG,eAA1B,EAA2C;;AAC3C,IAAIC,mBAAmB,GAAG,eAA1B,EAA2C;;AAC3C,IAAIF,sBAAsB,GAAG,iBAA7B,EAAgD;;AAChD,IAAIQ,uBAAuB,GAAG,kBAA9B,EAAkD;;AAClD,IAAIL,uBAAuB,GAAG,kBAA9B,EAAkD;;AAClD,IAAIN,wBAAwB,GAAG,mBAA/B,EAAoD;;AACpD,IAAIL,0BAA0B,GAAG,qCAAjC,EAAwE;;AACxE,IAAI0K,uBAAuB,GAAG,kBAA9B,EAAkD;;AAClD,IAAIc,wBAAwB,GAAG,kBAA/B,EAAmD;;;;;;;;;;;;;;;;;;;ACtE1D;AACA;AACA;AACA;AAGA;AACA;AACA;AACA,IAAIM,iBAAiB,GAAG,GAAxB;AACA,IAAIC,0BAA0B,GAAG,GAAjC;AACO,SAASC,qBAAT,CAA+BC,gBAA/B,EAAiD;AACpD,MAAI,CAACA,gBAAL,EAAuB;AACnB,WAAO,EAAP;AACH;;AACD,MAAIC,OAAO,GAAGD,gBAAgB,CAACL,yDAAUA;AAAC;AAAZ,GAAhB,CAAiDE,iBAAjD,CAAd;;AACA,MAAI9jI,MAAM,GAAG0jI,iFAAS,CAACQ,OAAD,EAAU,UAAU7/B,MAAV,EAAkB8/B,EAAlB,EAAsB;AAClD,QAAIC,OAAO,GAAGD,EAAE,CAACP,yDAAUA;AAAC;AAAZ,KAAF,CAAmCG,0BAAnC,CAAd;;AACA,QAAIK,OAAO,CAAC7mB,0DAAWA;AAAC;AAAb,KAAP,KAA8C,CAAlD,EAAqD;AAAE;AACnD,UAAIppF,GAAG,GAAGiwG,OAAO,CAAC,CAAD,CAAP,CAAWP,iEAAkBA;AAAC;AAA9B,SAAV;;AACA,UAAItkI,KAAK,GAAG6kI,OAAO,CAAC,CAAD,CAAnB;AACA//B,MAAAA,MAAM,CAAClwE,GAAD,CAAN,GAAc50B,KAAd;AACH;;AACD,WAAO8kG,MAAP;AACH,GARqB,EAQnB,EARmB,CAAtB;;AASA,MAAIozB,+EAAO,CAACz3H,MAAD,CAAP,CAAgBu9G,0DAAWA;AAAC;AAA5B,MAAoD,CAAxD,EAA2D;AACvD;AACA,QAAIv9G,MAAM,CAACqkI,cAAX,EAA2B;AACvB;AACA,UAAIC,cAAc,GAAGtkI,MAAM,CAACyN,QAAP,GAAkBzN,MAAM,CAACyN,QAAP,GAAkB,GAApC,GAA0C,EAA/D;AACAzN,MAAAA,MAAM,CAAC2jI,qEAAsBA;AAAC;AAAxB,OAAN,GAAiE3jI,MAAM,CAAC2jI,qEAAsBA;AAAC;AAAxB,OAAN,IAAmE,aAAaW,cAAb,GAA8B,KAA9B,GAAsCtkI,MAAM,CAACqkI,cAAjL;AACH,KANsD,CAOvD;;;AACArkI,IAAAA,MAAM,CAAC2jI,qEAAsBA;AAAC;AAAxB,KAAN,GAAiE3jI,MAAM,CAAC2jI,qEAAsBA;AAAC;AAAxB,KAAN,IAAkE5M,+DAAnI;AACH;;AACD,SAAO/2H,MAAP;AACH;AACM,IAAIukI,sBAAsB,GAAG;AAChCp3H,EAAAA,KAAK,EAAE62H;AADyB,CAA7B;;;;;;;;;;;;;;;;;;;;;;ACrCP;AACA;AACA;AACA;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,IAAI/M,oBAAoB,GAAG,yDAA3B;AACA,IAAIjJ,UAAU,GAAG,YAAjB;AACA,IAAIkJ,aAAa,GAAG,eAApB;AACA,IAAInJ,UAAU,GAAG,aAAjB;AACA,IAAIgJ,uBAAuB,GAAG,sCAA9B;AACA,IAAIC,mBAAmB,GAAG,WAA1B;AACA,IAAI1c,eAAe,GAAG,eAAtB;AACA,IAAIkqB,OAAO,GAAG,MAAd;;;;;;;;;;;;;;;;;ACpBP;AACA;AACA;AACA;AAGA;AACO,SAAStqB,cAAT,CAAwB1B,SAAxB,EAAmC;AACtC,MAAI3+F,KAAK,GAAG,IAAZ;;AACA,MAAI+hG,kFAAU,CAAC/D,KAAD,CAAd,EAAuB;AAAE;AACrBh+F,IAAAA,KAAK,GAAG,IAAIg+F,KAAJ,CAAUW,SAAV,CAAR;AACH,GAFD,MAGK;AAAE;AACH,QAAI8J,GAAG,GAAGlH,mFAAW,EAArB;;AACA,QAAIkH,GAAG,IAAIA,GAAG,CAACmiB,WAAf,EAA4B;AACxB5qH,MAAAA,KAAK,GAAGyoG,GAAG,CAACmiB,WAAJ,CAAgB,OAAhB,CAAR;AACA5qH,MAAAA,KAAK,CAAC6qH,SAAN,CAAgBlsB,SAAhB,EAA2B,IAA3B,EAAiC,IAAjC;AACH;AACJ;;AACD,SAAO3+F,KAAP;AACH;;;;;;;;;;;;;;;;;ACpBD;AACA;AACA;AACA;AAGA;AACO,IAAI+qH,WAAW,GAAGD,uFAAe,CAAC;AACrCn7G,EAAAA,YAAY,EAAE;AAAE;AADqB;AAErColB,EAAAA,cAAc,EAAE;AAAE;;AAFmB,CAAD,CAAjC;AAIA,IAAIi2F,uBAAuB,GAAGF,uFAAe,CAAC;AACjDG,EAAAA,EAAE,EAAE;AAAE;AAD2C;AAEjDC,EAAAA,UAAU,EAAE;AAAE;AAFmC;AAGjDC,EAAAA,GAAG,EAAE;AAAE;;AAH0C,CAAD,CAA7C;;;;;;;;;;;;;;;;;;;;ACXP;AACA;AACA;AACA;AAGA;AACA;AACA,IAAIC,QAAQ,GAAG,EAAf;AACO,SAAS1qB,qBAAT,CAA+BjP,GAA/B,EAAoCsuB,YAApC,EAAkD;AACrD,MAAIA,YAAY,KAAK,KAAK,CAA1B,EAA6B;AAAEA,IAAAA,YAAY,GAAG,KAAf;AAAuB;;AACtD,MAAItuB,GAAG,KAAK5qE,SAAR,IAAqB4qE,GAAG,KAAK,IAAjC,EAAuC;AACnC,WAAOsuB,YAAP;AACH;;AACD,SAAOtuB,GAAG,CAAC//D,QAAJ,GAAes4F,iEAAkBA;AAAC;AAAlC,UAAmE,MAA1E;AACH;AACD;AACA;AACA;;AACO,SAAS9Z,YAAT,CAAsBmb,OAAtB,EAA+B;AAClC,MAAInjH,KAAK,CAACmjH,OAAD,CAAL,IAAkBA,OAAO,GAAG,CAAhC,EAAmC;AAC/BA,IAAAA,OAAO,GAAG,CAAV;AACH;;AACDA,EAAAA,OAAO,GAAG36E,IAAI,CAACk6C,KAAL,CAAWygC,OAAX,CAAV;AACA,MAAIC,EAAE,GAAGF,QAAQ,GAAGC,OAAO,GAAG,IAA9B;AACA,MAAIE,GAAG,GAAGH,QAAQ,GAAG16E,IAAI,CAACkwC,KAAL,CAAWyqC,OAAO,GAAG,IAArB,IAA6B,EAAlD;AACA,MAAIplH,GAAG,GAAGmlH,QAAQ,GAAG16E,IAAI,CAACkwC,KAAL,CAAWyqC,OAAO,IAAI,OAAO,EAAX,CAAlB,IAAoC,EAAzD;AACA,MAAIG,IAAI,GAAGJ,QAAQ,GAAG16E,IAAI,CAACkwC,KAAL,CAAWyqC,OAAO,IAAI,OAAO,EAAP,GAAY,EAAhB,CAAlB,IAAyC,EAA/D;AACA,MAAII,IAAI,GAAG/6E,IAAI,CAACkwC,KAAL,CAAWyqC,OAAO,IAAI,OAAO,EAAP,GAAY,EAAZ,GAAiB,EAArB,CAAlB,CAAX;AACAC,EAAAA,EAAE,GAAGA,EAAE,CAAC5nB,0DAAWA;AAAC;AAAb,GAAF,KAAyC,CAAzC,GAA6C,OAAO4nB,EAApD,GAAyDA,EAAE,CAAC5nB,0DAAWA;AAAC;AAAb,GAAF,KAAyC,CAAzC,GAA6C,MAAM4nB,EAAnD,GAAwDA,EAAtH;AACAC,EAAAA,GAAG,GAAGA,GAAG,CAAC7nB,0DAAWA;AAAC;AAAb,GAAH,GAAwC,CAAxC,GAA4C,MAAM6nB,GAAlD,GAAwDA,GAA9D;AACAtlH,EAAAA,GAAG,GAAGA,GAAG,CAACy9F,0DAAWA;AAAC;AAAb,GAAH,GAAwC,CAAxC,GAA4C,MAAMz9F,GAAlD,GAAwDA,GAA9D;AACAulH,EAAAA,IAAI,GAAGA,IAAI,CAAC9nB,0DAAWA;AAAC;AAAb,GAAJ,GAAyC,CAAzC,GAA6C,MAAM8nB,IAAnD,GAA0DA,IAAjE;AACA,SAAO,CAACC,IAAI,GAAG,CAAP,GAAWA,IAAI,GAAG,GAAlB,GAAwBL,QAAzB,IAAqCI,IAArC,GAA4C,GAA5C,GAAkDvlH,GAAlD,GAAwD,GAAxD,GAA8DslH,GAA9D,GAAoE,GAApE,GAA0ED,EAAjF;AACH;AACM,SAASI,kBAAT,CAA4B3hB,UAA5B,EAAwCjE,UAAxC,EAAoD;AACvD,MAAI6lB,SAAS,GAAG,IAAhB;AACA3qB,EAAAA,kFAAU,CAAC+I,UAAD,EAAa,UAAUrkH,KAAV,EAAiB;AACpC,QAAIA,KAAK,CAACogH,UAAN,KAAqBA,UAAzB,EAAqC;AACjC6lB,MAAAA,SAAS,GAAGjmI,KAAZ;AACA,aAAO,CAAC,CAAR;AACH;AACJ,GALS,CAAV;AAMA,SAAOimI,SAAP;AACH;AACM,SAASnrB,kBAAT,CAA4BnqH,OAA5B,EAAqCub,GAArC,EAA0C83G,UAA1C,EAAsDC,YAAtD,EAAoE9+G,KAApE,EAA2E;AAC9E,SAAO,CAACA,KAAD,IAAUo3G,gFAAQ,CAAC5rH,OAAD,CAAlB,KAAgCA,OAAO,KAAK,eAAZ,IAA+BA,OAAO,KAAK,cAA3E,CAAP;AACH;;;;;;;;;;;;;;;;;AC/CD;AACA;AACA;AACA;AAGA;AACA;;AACA,SAASw1I,WAAT,CAAqBC,QAArB,EAA+B;AAC3B,MAAIC,MAAM,GAAG,QAAQD,QAAR,GAAmB,GAAhC;AACA,SAAO,UAAU9mI,IAAV,EAAgB;AACnB,WAAO+mI,MAAM,GAAG/mI,IAAhB;AACH,GAFD;AAGH;;AACD,IAAIgnI,cAAc,GAAGH,WAAW,CAAC,aAAD,CAAhC;;AACA,IAAII,SAAS,GAAGJ,WAAW,CAAC,QAAD,CAA3B;;AACA,IAAIK,WAAW,GAAGL,WAAW,CAAC,UAAD,CAA7B;;AACA,IAAIM,YAAY,GAAGN,WAAW,CAAC,WAAD,CAA9B;;AACA,IAAIO,UAAU,GAAGP,WAAW,CAAC,SAAD,CAA5B;;AACA,IAAIQ,OAAO,GAAGR,WAAW,CAAC,MAAD,CAAzB;;AACA,IAAIS,QAAQ,GAAGT,WAAW,CAAC,OAAD,CAA1B;;AACA,IAAIU,WAAW,GAAGV,WAAW,CAAC,UAAD,CAA7B;;AACA,IAAInC,cAAc;AAAG;AAAe,UAAUpsG,MAAV,EAAkB;AAClDqB,EAAAA,iFAAS,CAAC+qG,cAAD,EAAiBpsG,MAAjB,CAAT;;AACA,WAASosG,cAAT,GAA0B;AACtB,WAAOpsG,MAAM,CAACK,IAAP,CAAY,IAAZ,KAAqB,IAA5B;AACH;;AACD,SAAO+rG,cAAP;AACH,CANmC,CAMlCkC,gGAAwB,CAAC;AACvBY,EAAAA,kBAAkB,EAAER,cAAc,CAAC,KAAD,CADX;AAEvBS,EAAAA,gBAAgB,EAAET,cAAc,CAAC,OAAD,CAFT;AAGvBU,EAAAA,iBAAiB,EAAEV,cAAc,CAAC,QAAD,CAHV;AAIvBW,EAAAA,aAAa,EAAEX,cAAc,CAAC,eAAD,CAJN;AAKvBY,EAAAA,gBAAgB,EAAEZ,cAAc,CAAC,OAAD,CALT;AAMvB/V,EAAAA,QAAQ,EAAEgW,SAAS,CAAC,IAAD,CANI;AAOvB9V,EAAAA,QAAQ,EAAE8V,SAAS,CAAC,IAAD,CAPI;AAQvB1V,EAAAA,cAAc,EAAE0V,SAAS,CAAC,UAAD,CARF;AASvBY,EAAAA,YAAY,EAAEZ,SAAS,CAAC,QAAD,CATA;AAUvB5V,EAAAA,WAAW,EAAE4V,SAAS,CAAC,OAAD,CAVC;AAWvBa,EAAAA,kBAAkB,EAAEb,SAAS,CAAC,cAAD,CAXN;AAYvBc,EAAAA,aAAa,EAAEd,SAAS,CAAC,SAAD,CAZD;AAavBe,EAAAA,iBAAiB,EAAEf,SAAS,CAAC,aAAD,CAbL;AAcvBgB,EAAAA,aAAa,EAAEhB,SAAS,CAAC,SAAD,CAdD;AAevB7U,EAAAA,QAAQ,EAAE6U,SAAS,CAAC,IAAD,CAfI;AAgBvBiB,EAAAA,eAAe,EAAEjB,SAAS,CAAC,WAAD,CAhBH;AAiBvBkB,EAAAA,kBAAkB,EAAElB,SAAS,CAAC,cAAD,CAjBN;AAkBvBmB,EAAAA,cAAc,EAAEnB,SAAS,CAAC,UAAD,CAlBF;AAmBvBoB,EAAAA,sBAAsB,EAAEpB,SAAS,CAAC,kBAAD,CAnBV;AAoBvBqB,EAAAA,UAAU,EAAErB,SAAS,CAAC,MAAD,CApBE;AAqBvBsB,EAAAA,iBAAiB,EAAEtB,SAAS,CAAC,aAAD,CArBL;AAsBvBuB,EAAAA,YAAY,EAAEvB,SAAS,CAAC,QAAD,CAtBA;AAuBvBtV,EAAAA,aAAa,EAAEsV,SAAS,CAAC,SAAD,CAvBD;AAwBvBxV,EAAAA,oBAAoB,EAAEwV,SAAS,CAAC,gBAAD,CAxBR;AAyBvBwB,EAAAA,UAAU,EAAEvB,WAAW,CAAC,IAAD,CAzBA;AA0BvBwB,EAAAA,eAAe,EAAExB,WAAW,CAAC,SAAD,CA1BL;AA2BvByB,EAAAA,gBAAgB,EAAEzB,WAAW,CAAC,UAAD,CA3BN;AA4BvB0B,EAAAA,YAAY,EAAE1B,WAAW,CAAC,MAAD,CA5BF;AA6BvB1U,EAAAA,WAAW,EAAE2U,YAAY,CAAC,IAAD,CA7BF;AA8BvBzwC,EAAAA,aAAa,EAAEywC,YAAY,CAAC,MAAD,CA9BJ;AA+BvB7U,EAAAA,iBAAiB,EAAE6U,YAAY,CAAC,UAAD,CA/BR;AAgCvB0B,EAAAA,eAAe,EAAE1B,YAAY,CAAC,QAAD,CAhCN;AAiCvB2B,EAAAA,wBAAwB,EAAE3B,YAAY,CAAC,iBAAD,CAjCf;AAkCvB4B,EAAAA,0BAA0B,EAAE5B,YAAY,CAAC,mBAAD,CAlCjB;AAmCvBtW,EAAAA,SAAS,EAAEuW,UAAU,CAAC,IAAD,CAnCE;AAoCvB4B,EAAAA,cAAc,EAAE5B,UAAU,CAAC,SAAD,CApCH;AAqCvB6B,EAAAA,YAAY,EAAE7B,UAAU,CAAC,OAAD,CArCD;AAsCvB8B,EAAAA,0BAA0B,EAAE7B,OAAO,CAAC,wBAAD,CAtCZ;AAuCvB8B,EAAAA,aAAa,EAAE9B,OAAO,CAAC,WAAD,CAvCC;AAwCvBn2D,EAAAA,SAAS,EAAEm2D,OAAO,CAAC,WAAD,CAxCK;AAyCvB70H,EAAAA,MAAM,EAAE60H,OAAO,CAAC,IAAD,CAzCQ;AA0CvB+B,EAAAA,eAAe,EAAE/B,OAAO,CAAC,aAAD,CA1CD;AA2CvB5W,EAAAA,cAAc,EAAE4W,OAAO,CAAC,YAAD,CA3CA;AA4CvBgC,EAAAA,gCAAgC,EAAEhC,OAAO,CAAC,yBAAD,CA5ClB;AA6CvBiC,EAAAA,oCAAoC,EAAEjC,OAAO,CAAC,yBAAD,CA7CtB;AA8CvBkC,EAAAA,SAAS,EAAEjC,QAAQ,CAAC,MAAD,CA9CI;AA+CvBkC,EAAAA,SAAS,EAAElC,QAAQ,CAAC,MAAD,CA/CI;AAgDvBmC,EAAAA,YAAY,EAAEnC,QAAQ,CAAC,SAAD,CAhDC;AAiDvBoC,EAAAA,iBAAiB,EAAEpC,QAAQ,CAAC,cAAD,CAjDJ;AAkDvBqC,EAAAA,gBAAgB,EAAErC,QAAQ,CAAC,aAAD,CAlDH;AAmDvBsC,EAAAA,aAAa,EAAEtC,QAAQ,CAAC,UAAD,CAnDA;AAoDvBuC,EAAAA,mBAAmB,EAAEvC,QAAQ,CAAC,gBAAD,CApDN;AAqDvBwC,EAAAA,gBAAgB,EAAEvC,WAAW,CAAC,UAAD,CArDN;AAsDvB1U,EAAAA,kBAAkB,EAAE0U,WAAW,CAAC,YAAD,CAtDR;AAuDvBwC,EAAAA,oBAAoB,EAAExC,WAAW,CAAC,cAAD,CAvDV;AAwDvByC,EAAAA,eAAe,EAAEzC,WAAW,CAAC,SAAD,CAxDL;AAyDvB0C,EAAAA,cAAc,EAAE1C,WAAW,CAAC,QAAD;AAzDJ,CAAD,CANU,CAApC;;;;;;;;;;;;;;;;;;ACtBA;AACA;AACA;AACA;AAGA;AACA;AACA;AACA;;AACO,IAAI2C,aAAa,GAAGpE,uFAAe,CAAC;AACvC96G,EAAAA,OAAO,EAAE;AAAE;AAD4B;AAEvCm/G,EAAAA,WAAW,EAAE;AAAE;AAFwB;AAGvCzvC,EAAAA,OAAO,EAAE;AAAE;AAH4B;AAIvC/9C,EAAAA,KAAK,EAAE;AAAE;AAJ8B;AAKvCytF,EAAAA,QAAQ,EAAE;AAAE;;AAL2B,CAAD,CAAnC;;;;;;;;;;;;;;;;;ACVP;AACA;AACA;AACA;AAGA;AACA;;AACA,IAAIE,oBAAoB;AAAG;AAAe,YAAY;AAClD,WAASA,oBAAT,GAAgC,CAC/B;;AACDA,EAAAA,oBAAoB,CAACjkB,SAArB,GAAiC,UAAUn3H,MAAV,EAAkBk3H,KAAlB,EAAyBtF,UAAzB,EAAqCia,YAArC,EAAmD;AAChF,QAAIA,YAAY,KAAK,KAAK,CAA1B,EAA6B;AAAEA,MAAAA,YAAY,GAAG,KAAf;AAAuB;;AACtD,QAAIwP,WAAJ;;AACA,QAAIzpB,UAAU,IAAI5xH,MAAM,CAACm7I,oEAAqBA;AAAC;AAAvB,KAApB,IAA6En7I,MAAM,CAACm7I,oEAAqBA;AAAC;AAAvB,KAAN,CAA4DvpB,UAA5D,CAA7E,IAAwJ,CAAC9D,yFAAiB,CAAC9tH,MAAM,CAACm7I,oEAAqBA;AAAC;AAAvB,KAAN,CAA4DvpB,UAA5D,EAAwEsF,KAAxE,CAAD,CAA9K,EAAgQ;AAC5PmkB,MAAAA,WAAW,GAAGr7I,MAAM,CAACm7I,oEAAqBA;AAAC;AAAvB,OAAN,CAA4DvpB,UAA5D,EAAwEsF,KAAxE,CAAd;AACH,KAFD,MAGK;AACDmkB,MAAAA,WAAW,GAAGr7I,MAAM,CAACk3H,KAAD,CAApB;AACH;;AACD,WAAO,CAACpJ,yFAAiB,CAACutB,WAAD,CAAlB,GAAkCA,WAAlC,GAAgDxP,YAAvD;AACH,GAVD;;AAWA,SAAOuP,oBAAP;AACH,CAfyC,EAA1C;;;;;;;;;;;;;;;;;;;ACRA;AACA;AACA;AACA;AACA;AACO,IAAIE,UAAU,GAAG;AACpBC,EAAAA,OAAO,EAAE,MADW;AAEpBC,EAAAA,SAAS,EAAE,QAFS;AAGpBC,EAAAA,QAAQ,EAAE,OAHU;AAIpBC,EAAAA,MAAM,EAAE,KAJY;AAKpBC,EAAAA,MAAM,EAAE,KALY;AAMpBC,EAAAA,KAAK,EAAE,IANa;AAOpBC,EAAAA,UAAU,EAAE,KAPQ;AAQpBC,EAAAA,MAAM,EAAE;AARY,CAAjB;AAUA,IAAIhc,UAAU,GAAG,IAAI0V,qEAAJ,EAAjB;;;;;;;;;;;;;;;;ACfP;AACA;AACA;AACA;AAGA;AACO,IAAIpM,cAAc,GAAG2S,sFAAc,CAAC;AACvCC,EAAAA,oBAAoB,EAAE,CAAC;AAAE;AAAH,IAA+C,iBAA/C,CADiB;AAEvCC,EAAAA,uBAAuB,EAAE,CAAC;AAAE;AAAH,IAAkD,OAAlD,CAFc;AAGvCC,EAAAA,yBAAyB,EAAE,CAAC;AAAE;AAAH,IAAoD,eAApD,CAHY;AAIvCC,EAAAA,eAAe,EAAE,CAAC;AAAE;AAAH,IAA0C,YAA1C,CAJsB;AAKvCC,EAAAA,iBAAiB,EAAE,CAAC;AAAE;AAAH,IAA4C,aAA5C,CALoB;AAMvCC,EAAAA,gBAAgB,EAAE,CAAC;AAAE;AAAH,IAA2C,YAA3C,CANqB;AAOvCC,EAAAA,gBAAgB,EAAE,CAAC;AAAE;AAAH,IAA2C,aAA3C,CAPqB;AAQvCC,EAAAA,4BAA4B,EAAE,CAAC;AAAE;AAAH,IAAuD,OAAvD,CARS;AASvCC,EAAAA,6BAA6B,EAAE,CAAC;AAAE;AAAH,IAAwD,iBAAxD;AATQ,CAAD,CAAnC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACPP;AACA;AACA;AACA;AAGA;AACA;AACA;AACA,IAAII,mBAAmB,GAAGjqG,SAA1B;AACA,IAAIkqG,qBAAqB,GAAGlqG,SAA5B;AACA,IAAImqG,cAAc,GAAG,EAArB;AACA;AACA;AACA;AACA;;AACA,SAASC,sBAAT,GAAkC;AAC9B,MAAIC,qBAAqB,EAAzB,EAA6B;AACzB,WAAOC,yBAAyB,CAACpG,4DAAD,CAAhC;AACH;;AACD,SAAO,IAAP;AACH;AACD;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASoG,yBAAT,CAAmCC,WAAnC,EAAgD;AAC5C,MAAI;AACA,QAAIpvB,yFAAiB,CAAC2uB,iFAAS,EAAV,CAArB,EAAoC;AAChC,aAAO,IAAP;AACH;;AACD,QAAI7pF,GAAG,GAAI,IAAIvK,IAAJ,EAAD,CAAW6nE,6DAAcA;AAAC;AAA1B,OAAV;;AACA,QAAIzgE,OAAO,GAAGitF,qFAAa,CAACQ,WAAW,KAAKrG,4DAAhB,GAA2C,cAA3C,GAA4D,gBAA7D,CAA3B;AACA,QAAIsG,MAAM,GAAGL,cAAc,GAAGlqF,GAA9B;AACAnD,IAAAA,OAAO,CAACnR,OAAR,CAAgB6+F,MAAhB,EAAwBvqF,GAAxB;AACA,QAAIwqF,IAAI,GAAG3tF,OAAO,CAACpR,OAAR,CAAgB8+F,MAAhB,MAA4BvqF,GAAvC;;AACAnD,IAAAA,OAAO,CAACktF,+DAAgBA;AAAC;AAAlB,KAAP,CAAmDQ,MAAnD;;AACA,QAAI,CAACC,IAAL,EAAW;AACP,aAAO3tF,OAAP;AACH;AACJ,GAbD,CAcA,OAAOmkE,SAAP,EAAkB,CACd;AACH;;AACD,SAAO,IAAP;AACH;AACD;AACA;AACA;AACA;;;AACA,SAASypB,wBAAT,GAAoC;AAChC,MAAIhf,uBAAuB,EAA3B,EAA+B;AAC3B,WAAO4e,yBAAyB,CAACpG,8DAAD,CAAhC;AACH;;AACD,SAAO,IAAP;AACH;AACD;AACA;AACA;;;AACO,SAASpqB,iBAAT,GAA6B;AAChCmwB,EAAAA,mBAAmB,GAAG,KAAtB;AACAC,EAAAA,qBAAqB,GAAG,KAAxB;AACH;AACM,SAASlwB,mBAAT,CAA6BqJ,aAA7B,EAA4C;AAC/C8mB,EAAAA,cAAc,GAAG9mB,aAAa,IAAI,EAAlC;AACH;AACD;AACA;AACA;;AACO,SAAStJ,gBAAT,GAA4B;AAC/BkwB,EAAAA,mBAAmB,GAAGI,qBAAqB,CAAC,IAAD,CAA3C;AACAH,EAAAA,qBAAqB,GAAGxe,uBAAuB,CAAC,IAAD,CAA/C;AACH;AACD;AACA;AACA;AACA;AACA;;AACO,SAAS2e,qBAAT,CAA+B3yH,KAA/B,EAAsC;AACzC,MAAIA,KAAK,IAAIuyH,mBAAmB,KAAKjqG,SAArC,EAAgD;AAC5CiqG,IAAAA,mBAAmB,GAAG,CAAC,CAACK,yBAAyB,CAACpG,4DAAD,CAAjD;AACH;;AACD,SAAO+F,mBAAP;AACH;AACM,SAASU,kBAAT,CAA4Br9G,MAA5B,EAAoCnvB,IAApC,EAA0C;AAC7C,MAAI2+C,OAAO,GAAGstF,sBAAsB,EAApC;;AACA,MAAIttF,OAAO,KAAK,IAAhB,EAAsB;AAClB,QAAI;AACA,aAAOA,OAAO,CAACpR,OAAR,CAAgBvtC,IAAhB,CAAP;AACH,KAFD,CAGA,OAAOm6B,CAAP,EAAU;AACN2xG,MAAAA,mBAAmB,GAAG,KAAtB;;AACAjpB,MAAAA,sFAAc,CAAC1zF,MAAD,EAAS;AAAE;AAAX,QAA2C;AAAE;AAA7C,QAAsG,2CAA2CqtF,wFAAgB,CAACriF,CAAD,CAAjK,EAAsK;AAAE2oF,QAAAA,SAAS,EAAE3G,+EAAO,CAAChiF,CAAD;AAApB,OAAtK,CAAd;AACH;AACJ;;AACD,SAAO,IAAP;AACH;AACM,SAASsyG,kBAAT,CAA4Bt9G,MAA5B,EAAoCnvB,IAApC,EAA0C7I,IAA1C,EAAgD;AACnD,MAAIwnD,OAAO,GAAGstF,sBAAsB,EAApC;;AACA,MAAIttF,OAAO,KAAK,IAAhB,EAAsB;AAClB,QAAI;AACAA,MAAAA,OAAO,CAACnR,OAAR,CAAgBxtC,IAAhB,EAAsB7I,IAAtB;AACA,aAAO,IAAP;AACH,KAHD,CAIA,OAAOgjC,CAAP,EAAU;AACN2xG,MAAAA,mBAAmB,GAAG,KAAtB;;AACAjpB,MAAAA,sFAAc,CAAC1zF,MAAD,EAAS;AAAE;AAAX,QAA2C;AAAE;AAA7C,QAAuG,4CAA4CqtF,wFAAgB,CAACriF,CAAD,CAAnK,EAAwK;AAAE2oF,QAAAA,SAAS,EAAE3G,+EAAO,CAAChiF,CAAD;AAApB,OAAxK,CAAd;AACH;AACJ;;AACD,SAAO,KAAP;AACH;AACM,SAASuyG,gBAAT,CAA0Bv9G,MAA1B,EAAkCnvB,IAAlC,EAAwC;AAC3C,MAAI2+C,OAAO,GAAGstF,sBAAsB,EAApC;;AACA,MAAIttF,OAAO,KAAK,IAAhB,EAAsB;AAClB,QAAI;AACAA,MAAAA,OAAO,CAACktF,+DAAgBA;AAAC;AAAlB,OAAP,CAAmD7rI,IAAnD;;AACA,aAAO,IAAP;AACH,KAHD,CAIA,OAAOm6B,CAAP,EAAU;AACN2xG,MAAAA,mBAAmB,GAAG,KAAtB;;AACAjpB,MAAAA,sFAAc,CAAC1zF,MAAD,EAAS;AAAE;AAAX,QAA2C;AAAE;AAA7C,QAA6G,mDAAmDqtF,wFAAgB,CAACriF,CAAD,CAAhL,EAAqL;AAAE2oF,QAAAA,SAAS,EAAE3G,+EAAO,CAAChiF,CAAD;AAApB,OAArL,CAAd;AACH;AACJ;;AACD,SAAO,KAAP;AACH;AACM,SAASozF,uBAAT,CAAiCh0G,KAAjC,EAAwC;AAC3C,MAAIA,KAAK,IAAIwyH,qBAAqB,KAAKlqG,SAAvC,EAAkD;AAC9CkqG,IAAAA,qBAAqB,GAAG,CAAC,CAACI,yBAAyB,CAACpG,8DAAD,CAAnD;AACH;;AACD,SAAOgG,qBAAP;AACH;AACM,SAASY,wBAAT,GAAoC;AACvC,MAAI93G,IAAI,GAAG,EAAX;;AACA,MAAI04F,uBAAuB,EAA3B,EAA+B;AAC3BlQ,IAAAA,qFAAa,CAACuuB,qFAAa,CAAC,gBAAD,CAAd,EAAkC,UAAUt2G,GAAV,EAAe;AAC1DT,MAAAA,IAAI,CAACY,IAAL,CAAUH,GAAV;AACH,KAFY,CAAb;AAGH;;AACD,SAAOT,IAAP;AACH;AACM,SAAS24F,oBAAT,CAA8Br+F,MAA9B,EAAsCnvB,IAAtC,EAA4C;AAC/C,MAAI2+C,OAAO,GAAG4tF,wBAAwB,EAAtC;;AACA,MAAI5tF,OAAO,KAAK,IAAhB,EAAsB;AAClB,QAAI;AACA,aAAOA,OAAO,CAACpR,OAAR,CAAgBvtC,IAAhB,CAAP;AACH,KAFD,CAGA,OAAOm6B,CAAP,EAAU;AACN4xG,MAAAA,qBAAqB,GAAG,KAAxB;;AACAlpB,MAAAA,sFAAc,CAAC1zF,MAAD,EAAS;AAAE;AAAX,QAA2C;AAAE;AAA7C,QAAwG,6CAA6CqtF,wFAAgB,CAACriF,CAAD,CAArK,EAA0K;AAAE2oF,QAAAA,SAAS,EAAE3G,+EAAO,CAAChiF,CAAD;AAApB,OAA1K,CAAd;AACH;AACJ;;AACD,SAAO,IAAP;AACH;AACM,SAASuzF,oBAAT,CAA8Bv+F,MAA9B,EAAsCnvB,IAAtC,EAA4C7I,IAA5C,EAAkD;AACrD,MAAIwnD,OAAO,GAAG4tF,wBAAwB,EAAtC;;AACA,MAAI5tF,OAAO,KAAK,IAAhB,EAAsB;AAClB,QAAI;AACAA,MAAAA,OAAO,CAACnR,OAAR,CAAgBxtC,IAAhB,EAAsB7I,IAAtB;AACA,aAAO,IAAP;AACH,KAHD,CAIA,OAAOgjC,CAAP,EAAU;AACN4xG,MAAAA,qBAAqB,GAAG,KAAxB;;AACAlpB,MAAAA,sFAAc,CAAC1zF,MAAD,EAAS;AAAE;AAAX,QAA2C;AAAE;AAA7C,QAAyG,8CAA8CqtF,wFAAgB,CAACriF,CAAD,CAAvK,EAA4K;AAAE2oF,QAAAA,SAAS,EAAE3G,+EAAO,CAAChiF,CAAD;AAApB,OAA5K,CAAd;AACH;AACJ;;AACD,SAAO,KAAP;AACH;AACM,SAASszF,uBAAT,CAAiCt+F,MAAjC,EAAyCnvB,IAAzC,EAA+C;AAClD,MAAI2+C,OAAO,GAAG4tF,wBAAwB,EAAtC;;AACA,MAAI5tF,OAAO,KAAK,IAAhB,EAAsB;AAClB,QAAI;AACAA,MAAAA,OAAO,CAACktF,+DAAgBA;AAAC;AAAlB,OAAP,CAAmD7rI,IAAnD;;AACA,aAAO,IAAP;AACH,KAHD,CAIA,OAAOm6B,CAAP,EAAU;AACN4xG,MAAAA,qBAAqB,GAAG,KAAxB;;AACAlpB,MAAAA,sFAAc,CAAC1zF,MAAD,EAAS;AAAE;AAAX,QAA2C;AAAE;AAA7C,QAA+G,qDAAqDqtF,wFAAgB,CAACriF,CAAD,CAApL,EAAyL;AAAE2oF,QAAAA,SAAS,EAAE3G,+EAAO,CAAChiF,CAAD;AAApB,OAAzL,CAAd;AACH;AACJ;;AACD,SAAO,KAAP;AACH;;;;;;;;;;;;;;;ACtLD;AACA;AACA;AACA;AAGA,IAAIzoB,IAAI;AAAG;AAAe,YAAY;AAClC;AACJ;AACA;AACI,WAASA,IAAT,CAAco1G,QAAd,EAAwB3vH,IAAxB,EAA8B;AAC1B;AACR;AACA;AACQ,SAAK+rI,cAAL,GAAsB;AAClBpc,MAAAA,QAAQ,EAAE;AAAE;AADM;AAElBE,MAAAA,QAAQ,EAAE;AAAE;;AAFM,KAAtB;AAIA,SAAKF,QAAL,GAAgBA,QAAhB;AACA,SAAKE,QAAL,GAAgB7vH,IAAhB;AACH;;AACD,SAAOua,IAAP;AACH,CAhByB,EAA1B;;;;;;;;;;;;;;;;;ACNA;AACA;AACA;AACA;AAGA,IAAIk7H,SAAS;AAAG;AAAe,YAAY;AACvC,WAASA,SAAT,GAAqB;AACjB;AACR;AACA;AACQ,SAAK1J,cAAL,GAAsB;AAClBljI,MAAAA,IAAI,EAAE;AAAE;AADU;AAElB6sI,MAAAA,IAAI,EAAE;AAAE;AAFU;AAGlBnsI,MAAAA,KAAK,EAAE;AAAE;AAHS;AAIlB09C,MAAAA,KAAK,EAAE;AAAE;AAJS;AAKlBn9B,MAAAA,GAAG,EAAE;AAAE;AALW;AAMlBD,MAAAA,GAAG,EAAE;AAAE;AANW;AAOlBozG,MAAAA,MAAM,EAAE;AAAE;;AAPQ,KAAtB;AASA;AACR;AACA;;AACQ,SAAKyY,IAAL,GAAY;AAAE;AAAd;AACH;;AACD,SAAOD,SAAP;AACH,CApB8B,EAA/B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACNA;AACA;AACA;AACA;AAGA,IAAIrtG,EAAJ;;AACA;AACA;AACO,SAAS6tG,+BAAT,CAAyCj+G,MAAzC,EAAiDmG,GAAjD,EAAsDt8B,GAAtD,EAA2D;AAC9D,MAAIq0I,UAAU,GAAG/3G,GAAG,CAACopF,0DAAWA;AAAC;AAAb,GAApB;AACA,MAAI0H,KAAK,GAAGknB,eAAe,CAACn+G,MAAD,EAASmG,GAAT,CAA3B,CAF8D,CAG9D;;AACA,MAAI8wF,KAAK,CAAC1H,0DAAWA;AAAC;AAAb,GAAL,KAA4C2uB,UAAhD,EAA4D;AACxD,QAAIlnI,CAAC,GAAG,CAAR;AACA,QAAIonI,WAAW,GAAGnnB,KAAlB;;AACA,WAAOptH,GAAG,CAACu0I,WAAD,CAAH,KAAqB1rG,SAA5B,EAAuC;AACnC17B,MAAAA,CAAC;AACDonI,MAAAA,WAAW,GAAGnnB,KAAK,CAAC+mB,6DAAcA;AAAC;AAAhB,OAAL,CAA8C,CAA9C,EAAiD;AAAI;AAAJ,QAAgD,CAAjG,IAAsGK,WAAW,CAACrnI,CAAD,CAA/H;AACH;;AACDigH,IAAAA,KAAK,GAAGmnB,WAAR;AACH;;AACD,SAAOnnB,KAAP;AACH;AACM,SAASknB,eAAT,CAAyBn+G,MAAzB,EAAiCnvB,IAAjC,EAAuC;AAC1C,MAAIytI,SAAJ;;AACA,MAAIztI,IAAJ,EAAU;AACN;AACAA,IAAAA,IAAI,GAAG8sI,+EAAO,CAAC9sI,IAAI,CAACo/G,6DAAcA;AAAC;AAAhB,KAAJ,EAAD,CAAd,CAFM,CAGN;;AACA,QAAIp/G,IAAI,CAAC0+G,0DAAWA;AAAC;AAAb,KAAJ,GAAyC;AAAI;AAAjD,MAA4F;AACxF+uB,MAAAA,SAAS,GAAGztI,IAAI,CAACmtI,6DAAcA;AAAC;AAAhB,OAAJ,CAA6C,CAA7C,EAAgD;AAAI;AAApD,OAAZ;;AACAtqB,MAAAA,sFAAc,CAAC1zF,MAAD,EAAS;AAAE;AAAX,QAA2C;AAAG;AAA9C,QAAqF,iDAAiD;AAAI;AAArD,QAAiG,cAAtL,EAAsM;AAAEnvB,QAAAA,IAAI,EAAEA;AAAR,OAAtM,EAAsN,IAAtN,CAAd;AACH;AACJ;;AACD,SAAOytI,SAAS,IAAIztI,IAApB;AACH;AACM,SAASu7G,kBAAT,CAA4BpsF,MAA5B,EAAoCzuB,KAApC,EAA2CwX,SAA3C,EAAsD;AACzD,MAAIA,SAAS,KAAK,KAAK,CAAvB,EAA0B;AAAEA,IAAAA,SAAS,GAAG;AAAK;AAAjB;AAA+D;;AAC3F,MAAIw1H,UAAJ;;AACA,MAAIhtI,KAAJ,EAAW;AACPwX,IAAAA,SAAS,GAAGA,SAAS,GAAGA,SAAH,GAAe;AAAK;AAAzC,KADO,CAC+E;;AACtFxX,IAAAA,KAAK,GAAGosI,+EAAO,CAACpsI,KAAD,CAAf;;AACA,QAAIA,KAAK,CAACgsC,QAAN,GAAiBgyE,0DAAWA;AAAC;AAA7B,QAAqDxmG,SAAzD,EAAoE;AAChEw1H,MAAAA,UAAU,GAAGhtI,KAAK,CAAC0+G,6DAAcA;AAAC;AAAhB,OAAL,GAA+C+tB,6DAAcA;AAAC;AAA9D,QAAuF,CAAvF,EAA0Fj1H,SAA1F,CAAb;;AACA2qG,MAAAA,sFAAc,CAAC1zF,MAAD,EAAS;AAAE;AAAX,QAA2C;AAAG;AAA9C,QAA4F,wDAAwDjX,SAAxD,GAAoE,cAAhK,EAAgL;AAAExX,QAAAA,KAAK,EAAEA;AAAT,OAAhL,EAAkM,IAAlM,CAAd;AACH;AACJ;;AACD,SAAOgtI,UAAU,IAAIhtI,KAArB;AACH;AACM,SAASitI,eAAT,CAAyBx+G,MAAzB,EAAiCviB,GAAjC,EAAsC;AACzC,SAAOghI,iBAAiB,CAACz+G,MAAD,EAASviB,GAAT,EAAc;AAAK;AAAnB,IAA6D;AAAG;AAAhE,GAAxB;AACH;AACM,SAASihI,mBAAT,CAA6B1+G,MAA7B,EAAqC99B,OAArC,EAA8C;AACjD,MAAIy8I,YAAJ;;AACA,MAAIz8I,OAAJ,EAAa;AACT,QAAIA,OAAO,CAACqtH,0DAAWA;AAAC;AAAb,KAAP,GAA4C;AAAM;AAAtD,MAAoG;AAChGovB,MAAAA,YAAY,GAAGz8I,OAAO,CAAC87I,6DAAcA;AAAC;AAAhB,OAAP,CAAgD,CAAhD,EAAmD;AAAM;AAAzD,OAAf;;AACAtqB,MAAAA,sFAAc,CAAC1zF,MAAD,EAAS;AAAE;AAAX,QAA2C;AAAG;AAA9C,QAA0F,mDAAmD;AAAM;AAAzD,QAAwG,cAAlM,EAAkN;AAAE99B,QAAAA,OAAO,EAAEA;AAAX,OAAlN,EAAwO,IAAxO,CAAd;AACH;AACJ;;AACD,SAAOy8I,YAAY,IAAIz8I,OAAvB;AACH;AACM,SAAS08I,qBAAT,CAA+B5+G,MAA/B,EAAuC2zF,SAAvC,EAAkD;AACrD,MAAIkrB,cAAJ;;AACA,MAAIlrB,SAAJ,EAAe;AACX;AACA,QAAIpiH,KAAK,GAAG,KAAKoiH,SAAjB;;AACA,QAAIpiH,KAAK,CAACg+G,0DAAWA;AAAC;AAAb,KAAL,GAA0C;AAAM;AAApD,MAAoG;AAChGsvB,MAAAA,cAAc,GAAGttI,KAAK,CAACysI,6DAAcA;AAAC;AAAhB,OAAL,CAA8C,CAA9C,EAAiD;AAAM;AAAvD,OAAjB;;AACAtqB,MAAAA,sFAAc,CAAC1zF,MAAD,EAAS;AAAE;AAAX,QAA2C;AAAG;AAA9C,QAA4F,qDAAqD;AAAM;AAA3D,QAA4G,cAAxM,EAAwN;AAAE2zF,QAAAA,SAAS,EAAEA;AAAb,OAAxN,EAAkP,IAAlP,CAAd;AACH;AACJ;;AACD,SAAOkrB,cAAc,IAAIlrB,SAAzB;AACH;AACM,SAASmrB,sBAAT,CAAgC9+G,MAAhC,EAAwC+tC,UAAxC,EAAoD;AACvD,MAAIA,UAAJ,EAAgB;AACZ,QAAIgxE,WAAW,GAAG,EAAlB;AACA7wB,IAAAA,qFAAa,CAACngD,UAAD,EAAa,UAAUixE,IAAV,EAAgBztI,KAAhB,EAAuB;AAC7C,UAAIm3G,gFAAQ,CAACn3G,KAAD,CAAR,IAAmBotH,+EAAO,EAA9B,EAAkC;AAC9B;AACA,YAAI;AACAptH,UAAAA,KAAK,GAAGmtH,+EAAO,GAAG+B,6DAAcA;AAAC;AAAlB,WAAP,CAAkDlvH,KAAlD,CAAR;AACH,SAFD,CAGA,OAAOy5B,CAAP,EAAU;AACN0oF,UAAAA,sFAAc,CAAC1zF,MAAD,EAAS;AAAE;AAAX,YAA2C;AAAG;AAA9C,YAA8G,8BAA9G,EAA8I;AAAE2zF,YAAAA,SAAS,EAAE3oF;AAAb,WAA9I,EAAgK,IAAhK,CAAd;AACH;AACJ;;AACDz5B,MAAAA,KAAK,GAAG66G,kBAAkB,CAACpsF,MAAD,EAASzuB,KAAT,EAAgB;AAAK;AAArB,OAA1B;AACAytI,MAAAA,IAAI,GAAGf,+BAA+B,CAACj+G,MAAD,EAASg/G,IAAT,EAAeD,WAAf,CAAtC;AACAA,MAAAA,WAAW,CAACC,IAAD,CAAX,GAAoBztI,KAApB;AACH,KAbY,CAAb;AAcAw8D,IAAAA,UAAU,GAAGgxE,WAAb;AACH;;AACD,SAAOhxE,UAAP;AACH;AACM,SAASkxE,wBAAT,CAAkCj/G,MAAlC,EAA0C8zF,YAA1C,EAAwD;AAC3D,MAAIA,YAAJ,EAAkB;AACd,QAAIorB,kBAAkB,GAAG,EAAzB;AACAhxB,IAAAA,qFAAa,CAAC4F,YAAD,EAAe,UAAUn0C,OAAV,EAAmBpuE,KAAnB,EAA0B;AAClDouE,MAAAA,OAAO,GAAGs+D,+BAA+B,CAACj+G,MAAD,EAAS2/C,OAAT,EAAkBu/D,kBAAlB,CAAzC;AACAA,MAAAA,kBAAkB,CAACv/D,OAAD,CAAlB,GAA8BpuE,KAA9B;AACH,KAHY,CAAb;AAIAuiH,IAAAA,YAAY,GAAGorB,kBAAf;AACH;;AACD,SAAOprB,YAAP;AACH;AACM,SAASqrB,cAAT,CAAwBn/G,MAAxB,EAAgCxyB,EAAhC,EAAoC;AACvC,SAAOA,EAAE,GAAGixI,iBAAiB,CAACz+G,MAAD,EAASxyB,EAAT,EAAa;AAAI;AAAjB,IAA0D;AAAG;AAA7D,GAAjB,CAAmHyiH,6DAAcA;AAAC;AAAlI,KAAH,GAAiKziH,EAA1K;AACH;AACM,SAASixI,iBAAT,CAA2Bz+G,MAA3B,EAAmC44B,KAAnC,EAA0C7vC,SAA1C,EAAqDq2H,MAArD,EAA6D;AAChE,MAAIC,UAAJ;;AACA,MAAIzmF,KAAJ,EAAW;AACPA,IAAAA,KAAK,GAAG+kF,+EAAO,CAAC/kF,KAAD,CAAf;;AACA,QAAIA,KAAK,CAAC22D,0DAAWA;AAAC;AAAb,KAAL,GAA0CxmG,SAA9C,EAAyD;AACrDs2H,MAAAA,UAAU,GAAGzmF,KAAK,CAAColF,6DAAcA;AAAC;AAAhB,OAAL,CAA8C,CAA9C,EAAiDj1H,SAAjD,CAAb;;AACA2qG,MAAAA,sFAAc,CAAC1zF,MAAD,EAAS;AAAE;AAAX,QAA2Co/G,MAA3C,EAAmD,iDAAiDr2H,SAAjD,GAA6D,cAAhH,EAAgI;AAAE/gB,QAAAA,IAAI,EAAE4wD;AAAR,OAAhI,EAAiJ,IAAjJ,CAAd;AACH;AACJ;;AACD,SAAOymF,UAAU,IAAIzmF,KAArB;AACH;AACM,SAASylF,WAAT,CAAqBh8D,GAArB,EAA0B;AAC7B,MAAI13C,CAAC,GAAG,OAAO03C,GAAf;AACA,SAAO13C,CAAC,CAAC20G,MAAF,CAAS30G,CAAC,CAAC4kF,0DAAWA;AAAC;AAAb,GAAD,GAAsC,CAA/C,CAAP;AACH;AACD;AACA;AACA;;AACO,IAAIgwB,aAAa,IAAInvG,EAAE,GAAG;AACzBovG,EAAAA,eAAe,EAAE;AAAI;AADI;AAEzBC,EAAAA,aAAa,EAAE;AAAI;AAFM;AAGzBC,EAAAA,mBAAmB,EAAE;AAAK;AAHD;AAIzBC,EAAAA,iBAAiB,EAAE;AAAK;AAJC;AAKzBC,EAAAA,cAAc,EAAE;AAAK;AALI;AAMzBC,EAAAA,kBAAkB,EAAE;AAAM;AAND;AAOzBC,EAAAA,oBAAoB,EAAE;AAAM;;AAPH,CAAL,EASxB1vG,EAAE,CAACytG,yEAA0BA;AAAC;AAA5B,CAAF,GAAwEI,+BAThD,EAUxB7tG,EAAE,CAAC2vG,WAAH,GAAiB5B,eAVO,EAWxB/tG,EAAE,CAAC4vG,cAAH,GAAoB5zB,kBAXI,EAYxBh8E,EAAE,CAAC6vG,WAAH,GAAiBzB,eAZO,EAaxBpuG,EAAE,CAAC8vG,eAAH,GAAqBxB,mBAbG,EAcxBtuG,EAAE,CAACwtG,sEAAuBA;AAAC;AAAzB,CAAF,GAA2DgB,qBAdnC,EAexBxuG,EAAE,CAAC2tG,uEAAwBA;AAAC;AAA1B,CAAF,GAA6De,sBAfrC,EAgBxB1uG,EAAE,CAAC0tG,yEAA0BA;AAAC;AAA5B,CAAF,GAAiEmB,wBAhBzC,EAiBxB7uG,EAAE,CAAC+vG,UAAH,GAAgBhB,cAjBQ,EAkBxB/uG,EAAE,CAACgwG,aAAH,GAAmB3B,iBAlBK,EAmBxBruG,EAAE,CAACiwG,SAAH,GAAehC,WAnBS,EAoBxBjuG,EAAE,CAACiuC,IAAH,GAAUs/D,2EApBc,EAqBxBvtG,EArBoB,CAAjB;;;;;;;;;;;;;;;;;;;AChIP;AACA;AACA;AACA;AAGA;AACA;AACA;AACA;;AACA,IAAI0vF,QAAQ;AAAG;AAAe,YAAY;AACtC;AACJ;AACA;AACI,WAASA,QAAT,CAAkB9/F,MAAlB,EAA0Bh4B,IAA1B,EAAgC6I,IAAhC,EAAsC;AAClC,QAAIqgC,KAAK,GAAG,IAAZ;;AACA,QAAI6hF,KAAK,GAAG,IAAZ;;AACAA,IAAAA,KAAK,CAACutB,GAAN,GAAY,CAAZ;AACAvtB,IAAAA,KAAK,CAAC6hB,UAAN,GAAmB,KAAnB;AACA7hB,IAAAA,KAAK,CAACwtB,IAAN,GAAa,EAAb;AACAxtB,IAAAA,KAAK,CAACyN,wDAASA;AAAC;AAAX,KAAL,GAAsCpU,kEAAkB,CAACpsF,MAAD,EAASnvB,IAAT,CAAlB,IAAoCy7G,uDAA1E;AACAyG,IAAAA,KAAK,CAAC/qH,IAAN,GAAaA,IAAb;AACA+qH,IAAAA,KAAK,CAACxmB,IAAN,GAAa11E,mFAAW,CAAC,IAAIuxB,IAAJ,EAAD,CAAxB;AACA2qE,IAAAA,KAAK,CAACghB,cAAN,GAAuB;AACnBxnC,MAAAA,IAAI,EAAE;AAAE;AADW;AAEnB03B,MAAAA,IAAI,EAAE;AAAE;AAFW;AAGnBpzH,MAAAA,IAAI,EAAE;AAAE;AAHW;AAInB+jI,MAAAA,UAAU,EAAE,YAAY;AACpB,eAAQ1jG,KAAK,CAAC0jG,UAAN,KAAqB,GAAtB,GAA6B;AAAE;AAA/B,UAAwD;AAAE;AAAjE;AACH,OANkB;AAOnB2L,MAAAA,IAAI,EAAE;AAAE;AAPW;AAQnBv4I,MAAAA,IAAI,EAAE;AAAE;;AARW,KAAvB;AAUH;;AACD,SAAO83H,QAAP;AACH,CAzB6B,EAA9B;;;;;;;;;;;;;;;;;;;;ACVA;AACA;AACA;AACA;AAGA;AACA;AACA;;AACA,IAAIjW,KAAK;AAAG;AAAe,YAAY;AACnC;AACJ;AACA;AACI,WAASA,KAAT,CAAe7pF,MAAf,EAAuBnvB,IAAvB,EAA6Bk9D,UAA7B,EAAyC+lD,YAAzC,EAAuD;AACnD,SAAKigB,cAAL,GAAsB;AAClBuM,MAAAA,GAAG,EAAE;AAAE;AADW;AAElBzvI,MAAAA,IAAI,EAAE;AAAE;AAFU;AAGlBk9D,MAAAA,UAAU,EAAE;AAAE;AAHI;AAIlB+lD,MAAAA,YAAY,EAAE;AAAE;;AAJE,KAAtB;;AAMA,QAAIf,KAAK,GAAG,IAAZ;;AACAA,IAAAA,KAAK,CAACutB,GAAN,GAAY,CAAZ;AACAvtB,IAAAA,KAAK,CAACyN,wDAASA;AAAC;AAAX,KAAL,GAAsCpU,yEAAkB,CAACpsF,MAAD,EAASnvB,IAAT,CAAlB,IAAoCy7G,uDAA1E;AACAyG,IAAAA,KAAK,CAACytB,8DAAeA;AAAC;AAAjB,KAAL,GAAkD1B,6EAAsB,CAAC9+G,MAAD,EAAS+tC,UAAT,CAAxE;AACAglD,IAAAA,KAAK,CAACwN,gEAAiBA;AAAC;AAAnB,KAAL,GAAsD0e,+EAAwB,CAACj/G,MAAD,EAAS8zF,YAAT,CAA9E;AACH;;AACDjK,EAAAA,KAAK,CAACma,YAAN,GAAqB,yCAArB;AACAna,EAAAA,KAAK,CAACmiB,QAAN,GAAiB,WAAjB;AACA,SAAOniB,KAAP;AACH,CApB0B,EAA3B;;;;;;;;;;;;;;;;;;;;;;;;;ACTA;AACA;AACA;AACA;AAGA;AACA;AACA;AACA;AACA;AACA,IAAI43B,QAAQ,GAAG,aAAf;AACA,IAAIC,QAAQ,GAAG,OAAf;AACA,IAAIC,QAAQ,GAAG,OAAf;AACA,IAAIC,eAAe,GAAG,cAAtB;AACA,IAAIC,WAAW,GAAG,UAAlB;AACA,IAAIC,UAAU,GAAG,SAAjB;AACA,IAAIC,cAAc,GAAG,aAArB;;AACA,SAASC,UAAT,CAAoBzwI,KAApB,EAA2B0wI,eAA3B,EAA4C;AACxC,MAAIjwI,MAAM,GAAGT,KAAb;;AACA,MAAIS,MAAM,IAAI,CAAC87G,gFAAQ,CAAC97G,MAAD,CAAvB,EAAiC;AAC7B,QAAIkN,IAAI,IAAIA,IAAI,CAACuhH,6DAAcA;AAAC;AAAhB,KAAhB,EAA0D;AACtDzuH,MAAAA,MAAM,GAAGkN,IAAI,CAACuhH,6DAAcA;AAAC;AAAhB,OAAJ,CAA6ClvH,KAA7C,CAAT;;AACA,UAAI0wI,eAAe,KAAK,CAACjwI,MAAD,IAAWA,MAAM,KAAK,IAA3B,CAAnB,EAAqD;AACjD,YAAI47G,kFAAU,CAACr8G,KAAK,CAAC0+G,6DAAcA;AAAC;AAAhB,SAAN,CAAd,EAA8D;AAC1Dj+G,UAAAA,MAAM,GAAGT,KAAK,CAAC0+G,6DAAcA;AAAC;AAAhB,WAAL,EAAT;AACH,SAFD,MAGK;AACDj+G,UAAAA,MAAM,GAAG,KAAKT,KAAd;AACH;AACJ;AACJ,KAVD,MAWK;AACDS,MAAAA,MAAM,GAAG,KAAKT,KAAL,GAAa,6BAAtB;AACH;AACJ;;AACD,SAAOS,MAAM,IAAI,EAAjB;AACH;;AACD,SAASkwI,cAAT,CAAwBC,QAAxB,EAAkCC,SAAlC,EAA6C;AACzC,MAAIC,UAAU,GAAGF,QAAjB;;AACA,MAAIA,QAAJ,EAAc;AACV,QAAIE,UAAU,IAAI,CAACv0B,gFAAQ,CAACu0B,UAAD,CAA3B,EAAyC;AACrCA,MAAAA,UAAU,GAAGF,QAAQ,CAACL,UAAD,CAAR,IAAwBK,QAAQ,CAACJ,cAAD,CAAhC,IAAoDM,UAAjE;AACH,KAHS,CAIV;;;AACA,QAAIA,UAAU,IAAI,CAACv0B,gFAAQ,CAACu0B,UAAD,CAA3B,EAAyC;AACrC;AACAA,MAAAA,UAAU,GAAGL,UAAU,CAACK,UAAD,EAAa,IAAb,CAAvB;AACH;;AACD,QAAIF,QAAQ,CAAC,UAAD,CAAZ,EAA0B;AACtB;AACAE,MAAAA,UAAU,GAAGA,UAAU,GAAG,IAAb,IAAqBF,QAAQ,CAAC,UAAD,CAAR,IAAwB,EAA7C,IAAmD,GAAnD,IAA0DA,QAAQ,CAAC,QAAD,CAAR,IAAsB,GAAhF,IAAuF,GAAvF,IAA8FA,QAAQ,CAAC,OAAD,CAAR,IAAqB,GAAnH,CAAb;AACH;AACJ,GAfwC,CAgBzC;;;AACA,MAAIC,SAAS,IAAIA,SAAS,KAAK,QAA3B,IAAuCA,SAAS,KAAK,QAArD,IAAiEA,SAAS,KAAK,OAA/E,IAA0F,CAACC,UAAU,IAAI,EAAf,EAAmBvB,4DAAaA;AAAC;AAAjC,IAAwDsB,SAAxD,MAAuE,CAAC,CAAtK,EAAyK;AACrKC,IAAAA,UAAU,GAAGD,SAAS,GAAG,IAAZ,GAAmBC,UAAhC;AACH;;AACD,SAAOA,UAAU,IAAI,EAArB;AACH;;AACD,SAASC,2BAAT,CAAqC/wI,KAArC,EAA4C;AACxC,MAAI;AACA,QAAIm3G,gFAAQ,CAACn3G,KAAD,CAAZ,EAAqB;AACjB,aAAO,kBAAkBA,KAAlB,IAA2B,cAAcA,KAAhD;AACH;AACJ,GAJD,CAKA,OAAOy5B,CAAP,EAAU,CACN;AACH;;AACD,SAAO,KAAP;AACH;;AACD,SAASu3G,oBAAT,CAA8BhxI,KAA9B,EAAqC;AACjC,MAAI;AACA,QAAIm3G,gFAAQ,CAACn3G,KAAD,CAAZ,EAAqB;AACjB,aAAQ,SAASA,KAAT,IAAkB,gBAAgBA,KAAlC,IAA2C,gBAAgBA,KAAnE;AACH;AACJ,GAJD,CAKA,OAAOy5B,CAAP,EAAU,CACN;AACH;;AACD,SAAO,KAAP;AACH;;AACD,SAASw3G,eAAT,CAAyBv4C,OAAzB,EAAkC;AAC9B,SAAOA,OAAO,IAAIA,OAAO,CAACv9E,GAAnB,IAA0BohG,gFAAQ,CAAC7jB,OAAO,CAACv9E,GAAT,CAAlC,IAAmDu9E,OAAO,CAACzzE,GAA3D,IAAkEirF,+EAAO,CAACxX,OAAO,CAACzzE,GAAT,CAAhF;AACH;;AACD,SAASisH,gBAAT,CAA0BC,UAA1B,EAAsC;AAClC,MAAIh2H,GAAG,GAAGg2H,UAAU,IAAI,EAAxB;;AACA,MAAI,CAAC50B,gFAAQ,CAACphG,GAAD,CAAb,EAAoB;AAChB,QAAIohG,gFAAQ,CAACphG,GAAG,CAACi1H,QAAD,CAAJ,CAAZ,EAA6B;AACzBj1H,MAAAA,GAAG,GAAGA,GAAG,CAACi1H,QAAD,CAAT;AACH,KAFD,MAGK;AACDj1H,MAAAA,GAAG,GAAG,KAAKA,GAAX;AACH;AACJ;;AACD,MAAI/R,KAAK,GAAG+R,GAAG,CAACkpH,yDAAUA;AAAC;AAAZ,GAAH,CAAoC,IAApC,CAAZ;;AACA,SAAO;AACHlpH,IAAAA,GAAG,EAAEA,GADF;AAEH8J,IAAAA,GAAG,EAAE7b;AAFF,GAAP;AAIH;;AACD,SAASgoI,cAAT,CAAwB5/E,YAAxB,EAAsC;AAClC,MAAI4nD,KAAK,GAAG,EAAZ;;AACA,MAAIi4B,KAAK,GAAG7/E,YAAY,CAAC6yE,yDAAUA;AAAC;AAAZ,GAAZ,CAA6C,IAA7C,CAAZ;;AACA,OAAK,IAAIjO,EAAE,GAAG,CAAd,EAAiBA,EAAE,GAAGib,KAAK,CAACrzB,0DAAWA;AAAC;AAAb,GAA3B,EAA+DoY,EAAE,EAAjE,EAAqE;AACjE,QAAIngG,KAAK,GAAGo7G,KAAK,CAACjb,EAAD,CAAjB;;AACA,QAAIib,KAAK,CAACjb,EAAE,GAAG,CAAN,CAAT,EAAmB;AACfngG,MAAAA,KAAK,IAAI,MAAMo7G,KAAK,CAACjb,EAAE,GAAG,CAAN,CAApB;AACAA,MAAAA,EAAE;AACL;;AACDhd,IAAAA,KAAK,CAACrkF,IAAN,CAAWkB,KAAX;AACH;;AACD,SAAO;AACH9a,IAAAA,GAAG,EAAEq2C,YADF;AAEHvsC,IAAAA,GAAG,EAAEm0F;AAFF,GAAP;AAIH;;AACD,SAASk4B,qBAAT,CAA+BC,QAA/B,EAAyC;AACrC,MAAI74C,OAAO,GAAG,IAAd;;AACA,MAAI64C,QAAJ,EAAc;AACV,QAAI;AACA;AACZ;AACY,UAAIA,QAAQ,CAACnB,QAAD,CAAZ,EAAwB;AACpB;AACA13C,QAAAA,OAAO,GAAGw4C,gBAAgB,CAACK,QAAQ,CAACnB,QAAD,CAAT,CAA1B;AACH,OAHD,MAIK,IAAImB,QAAQ,CAACpB,QAAD,CAAR,IAAsBoB,QAAQ,CAACpB,QAAD,CAAR,CAAmBC,QAAnB,CAA1B,EAAwD;AACzD;AACA13C,QAAAA,OAAO,GAAGw4C,gBAAgB,CAACK,QAAQ,CAACpB,QAAD,CAAR,CAAmBC,QAAnB,CAAD,CAA1B;AACH,OAHI,MAIA,IAAImB,QAAQ,CAAC,WAAD,CAAR,IAAyBA,QAAQ,CAACnvB,SAAT,CAAmBguB,QAAnB,CAA7B,EAA2D;AAC5D13C,QAAAA,OAAO,GAAGw4C,gBAAgB,CAACK,QAAQ,CAACnvB,SAAT,CAAmBguB,QAAnB,CAAD,CAA1B;AACH,OAFI,MAGA,IAAIa,eAAe,CAACM,QAAD,CAAnB,EAA+B;AAChC74C,QAAAA,OAAO,GAAG64C,QAAV;AACH,OAFI,MAGA,IAAIN,eAAe,CAACM,QAAQ,CAAClB,eAAD,CAAT,CAAnB,EAAgD;AACjD33C,QAAAA,OAAO,GAAG64C,QAAQ,CAAClB,eAAD,CAAlB;AACH,OAFI,MAGA,IAAIpiI,MAAM,IAAIA,MAAM,CAAC,OAAD,CAAhB,IAA6BsjI,QAAQ,CAAChB,UAAD,CAAzC,EAAuD;AACxD;AACA73C,QAAAA,OAAO,GAAG04C,cAAc,CAACG,QAAQ,CAACrzB,2DAAYA;AAAC;AAAd,SAAT,CAAxB;AACH,OAHI,MAIA,IAAIqzB,QAAQ,CAAC,QAAD,CAAR,IAAsBA,QAAQ,CAACz4B,MAAT,CAAgBs3B,QAAhB,CAA1B,EAAqD;AACtD;AACA13C,QAAAA,OAAO,GAAGw4C,gBAAgB,CAACK,QAAQ,CAACz4B,MAAT,CAAgBs3B,QAAhB,CAAD,CAA1B;AACH,OAHI,MAIA,IAAI7zB,gFAAQ,CAACg1B,QAAD,CAAZ,EAAwB;AACzB74C,QAAAA,OAAO,GAAGw4C,gBAAgB,CAACK,QAAD,CAA1B;AACH,OAFI,MAGA;AACD,YAAIT,UAAU,GAAGS,QAAQ,CAAChB,UAAD,CAAR,IAAwBgB,QAAQ,CAACf,cAAD,CAAhC,IAAoD,EAArE;;AACA,YAAIj0B,gFAAQ,CAACg1B,QAAQ,CAACjB,WAAD,CAAT,CAAZ,EAAqC;AACjC,cAAIQ,UAAJ,EAAgB;AACZA,YAAAA,UAAU,IAAI,IAAd;AACH;;AACDA,UAAAA,UAAU,IAAI,WAAWS,QAAQ,CAACjB,WAAD,CAAjC;AACH;;AACD,YAAIQ,UAAJ,EAAgB;AACZp4C,UAAAA,OAAO,GAAGw4C,gBAAgB,CAACJ,UAAD,CAA1B;AACH;AACJ;AACJ,KA3CD,CA4CA,OAAOr3G,CAAP,EAAU;AACN;AACA;AACAi/D,MAAAA,OAAO,GAAGw4C,gBAAgB,CAACz3G,CAAD,CAA1B;AACH;AACJ;;AACD,SAAOi/D,OAAO,IAAI;AACdv9E,IAAAA,GAAG,EAAE,EADS;AAEd8J,IAAAA,GAAG,EAAE;AAFS,GAAlB;AAIH;;AACD,SAASusH,iBAAT,CAA2BC,YAA3B,EAAyC;AACrC,MAAIr4B,KAAK,GAAG,EAAZ;;AACA,MAAIq4B,YAAJ,EAAkB;AACd,QAAIA,YAAY,CAACxsH,GAAjB,EAAsB;AAClBq2F,MAAAA,kFAAU,CAACm2B,YAAY,CAACxsH,GAAd,EAAmB,UAAUgR,KAAV,EAAiB;AAC1CmjF,QAAAA,KAAK,IAAInjF,KAAK,GAAG,IAAjB;AACH,OAFS,CAAV;AAGH,KAJD,MAKK;AACDmjF,MAAAA,KAAK,GAAGq4B,YAAY,CAACt2H,GAAb,IAAoB,EAA5B;AACH;AACJ;;AACD,SAAOi+F,KAAP;AACH;;AACD,SAASs4B,WAAT,CAAqBt4B,KAArB,EAA4B;AACxB,MAAIu4B,WAAJ;AACA,MAAIC,MAAM,GAAGx4B,KAAK,CAACn0F,GAAnB;;AACA,MAAI2sH,MAAM,IAAIA,MAAM,CAAC5zB,0DAAWA;AAAC;AAAb,GAAN,GAA2C,CAAzD,EAA4D;AACxD2zB,IAAAA,WAAW,GAAG,EAAd;AACA,QAAIE,OAAO,GAAG,CAAd;AACA,QAAIC,kBAAkB,GAAG,CAAzB;AACAx2B,IAAAA,kFAAU,CAACs2B,MAAD,EAAS,UAAUG,KAAV,EAAiB;AAChC,UAAIC,QAAQ,GAAGD,KAAK,CAACrzB,6DAAcA;AAAC;AAAhB,OAAL,EAAf;;AACA,UAAIuzB,WAAW,CAAChuH,KAAZ,CAAkBE,IAAlB,CAAuB6tH,QAAvB,CAAJ,EAAsC;AAClC,YAAIE,WAAW,GAAG,IAAID,WAAJ,CAAgBD,QAAhB,EAA0BH,OAAO,EAAjC,CAAlB;AACAC,QAAAA,kBAAkB,IAAII,WAAW,CAACnC,iEAAkBA;AAAC;AAApB,SAAjC;AACA4B,QAAAA,WAAW,CAAC58G,IAAZ,CAAiBm9G,WAAjB;AACH;AACJ,KAPS,CAAV,CAJwD,CAYxD;AACA;;AACA,QAAIC,6BAA6B,GAAG,KAAK,IAAzC;;AACA,QAAIL,kBAAkB,GAAGK,6BAAzB,EAAwD;AACpD,UAAIjvE,IAAI,GAAG,CAAX;AACA,UAAI5nD,KAAK,GAAGq2H,WAAW,CAAC3zB,0DAAWA;AAAC;AAAb,OAAX,GAAgD,CAA5D;AACA,UAAI/c,IAAI,GAAG,CAAX;AACA,UAAImxC,YAAY,GAAGlvE,IAAnB;AACA,UAAImvE,aAAa,GAAG/2H,KAApB;;AACA,aAAO4nD,IAAI,GAAG5nD,KAAd,EAAqB;AACjB;AACA,YAAIg3H,KAAK,GAAGX,WAAW,CAACzuE,IAAD,CAAX,CAAkB6sE,iEAAkBA;AAAC;AAArC,SAAZ;AACA,YAAIwC,KAAK,GAAGZ,WAAW,CAACr2H,KAAD,CAAX,CAAmBy0H,iEAAkBA;AAAC;AAAtC,SAAZ;AACA9uC,QAAAA,IAAI,IAAIqxC,KAAK,GAAGC,KAAhB;;AACA,YAAItxC,IAAI,GAAGkxC,6BAAX,EAA0C;AACtC;AACA,cAAIK,OAAO,GAAGH,aAAa,GAAGD,YAAhB,GAA+B,CAA7C;AACAT,UAAAA,WAAW,CAAC1f,MAAZ,CAAmBmgB,YAAnB,EAAiCI,OAAjC;AACA;AACH,SAVgB,CAWjB;;;AACAJ,QAAAA,YAAY,GAAGlvE,IAAf;AACAmvE,QAAAA,aAAa,GAAG/2H,KAAhB;AACA4nD,QAAAA,IAAI;AACJ5nD,QAAAA,KAAK;AACR;AACJ;AACJ;;AACD,SAAOq2H,WAAP;AACH;;AACD,SAASc,aAAT,CAAuB5B,SAAvB,EAAkC;AAC9B;AACA,MAAI6B,QAAQ,GAAG,EAAf;;AACA,MAAI7B,SAAJ,EAAe;AACX6B,IAAAA,QAAQ,GAAG7B,SAAS,CAAC6B,QAAV,IAAsB7B,SAAS,CAAC5hB,wDAASA;AAAC;AAAX,KAA/B,IAAiE,EAA5E;;AACA,QAAI,CAACyjB,QAAL,EAAe;AACX,UAAI;AACA,YAAIC,aAAa,GAAG,uBAApB;AACA,YAAIzU,OAAO,GAAIyU,aAAD,CAAgBhnC,IAAhB,CAAsBklC,SAAD,CAAYtiJ,WAAZ,CAAwBmwH,6DAAcA;AAAC;AAAvC,WAArB,CAAd;AACAg0B,QAAAA,QAAQ,GAAIxU,OAAO,IAAIA,OAAO,CAAClgB,0DAAWA;AAAC;AAAb,SAAP,GAA4C,CAAxD,GAA6DkgB,OAAO,CAAC,CAAD,CAApE,GAA0E,EAArF;AACH,OAJD,CAKA,OAAOzkG,CAAP,EAAU,CACN;AACH;AACJ;AACJ;;AACD,SAAOi5G,QAAP;AACH;AACD;AACA;AACA;AACA;;;AACO,SAASE,gBAAT,CAA0BrB,QAA1B,EAAoC;AACvC,MAAIA,QAAJ,EAAc;AACV,QAAI;AACA,UAAI,CAACh1B,gFAAQ,CAACg1B,QAAD,CAAb,EAAyB;AACrB,YAAIV,SAAS,GAAG4B,aAAa,CAAClB,QAAD,CAA7B;;AACA,YAAI9wI,MAAM,GAAGgwI,UAAU,CAACc,QAAD,EAAW,KAAX,CAAvB;;AACA,YAAI,CAAC9wI,MAAD,IAAWA,MAAM,KAAK,IAA1B,EAAgC;AAC5B,cAAI8wI,QAAQ,CAACpB,QAAD,CAAZ,EAAwB;AACpB;AACAoB,YAAAA,QAAQ,GAAGA,QAAQ,CAACpB,QAAD,CAAnB;AACAU,YAAAA,SAAS,GAAG4B,aAAa,CAAClB,QAAD,CAAzB;AACH;;AACD9wI,UAAAA,MAAM,GAAGgwI,UAAU,CAACc,QAAD,EAAW,IAAX,CAAnB;AACH;;AACD,YAAI9wI,MAAM,CAAC8uI,4DAAaA;AAAC;AAAf,SAAN,CAA4CsB,SAA5C,MAA2D,CAA3D,IAAgEA,SAAS,KAAK,QAAlF,EAA4F;AACxF,iBAAOA,SAAS,GAAG,GAAZ,GAAkBpwI,MAAzB;AACH;;AACD,eAAOA,MAAP;AACH;AACJ,KAjBD,CAkBA,OAAOg5B,CAAP,EAAU,CACN;AACH;AACJ,GAvBsC,CAwBvC;;;AACA,SAAO,MAAM83G,QAAQ,IAAI,EAAlB,CAAP;AACH;;AACD,IAAIn3B,SAAS;AAAG;AAAe,YAAY;AACvC;AACJ;AACA;AACI,WAASA,SAAT,CAAmB3rF,MAAnB,EAA2B2zF,SAA3B,EAAsC5lD,UAAtC,EAAkD+lD,YAAlD,EAAgEmB,aAAhE,EAA+EznH,EAA/E,EAAmF;AAC/E,SAAKumI,cAAL,GAAsB;AAClBuM,MAAAA,GAAG,EAAE;AAAE;AADW;AAElB8D,MAAAA,UAAU,EAAE;AAAE;AAFI;AAGlBnvB,MAAAA,aAAa,EAAE;AAAE;AAHC;AAIlBlnD,MAAAA,UAAU,EAAE;AAAE;AAJI;AAKlB+lD,MAAAA,YAAY,EAAE;AAAE;;AALE,KAAtB;;AAOA,QAAIf,KAAK,GAAG,IAAZ;;AACAA,IAAAA,KAAK,CAACutB,GAAN,GAAY,CAAZ,CAT+E,CAShE;;AACf,QAAI,CAACiC,oBAAoB,CAAC5uB,SAAD,CAAzB,EAAsC;AAClC,UAAI,CAAC5lD,UAAL,EAAiB;AACbA,QAAAA,UAAU,GAAG,EAAb;AACH;;AACDglD,MAAAA,KAAK,CAAC4tB,8DAAeA;AAAC;AAAjB,OAAL,GAAkD,CAAC,IAAI0D,iBAAJ,CAAsBrkH,MAAtB,EAA8B2zF,SAA9B,EAAyC5lD,UAAzC,CAAD,CAAlD;AACAglD,MAAAA,KAAK,CAACytB,8DAAeA;AAAC;AAAjB,OAAL,GAAkD1B,6EAAsB,CAAC9+G,MAAD,EAAS+tC,UAAT,CAAxE;AACAglD,MAAAA,KAAK,CAACwN,gEAAiBA;AAAC;AAAnB,OAAL,GAAsD0e,+EAAwB,CAACj/G,MAAD,EAAS8zF,YAAT,CAA9E;;AACA,UAAImB,aAAJ,EAAmB;AACflC,QAAAA,KAAK,CAACsuB,kEAAmBA;AAAC;AAArB,SAAL,GAAyDpsB,aAAzD;AACH;;AACD,UAAIznH,EAAJ,EAAQ;AACJulH,QAAAA,KAAK,CAACvlH,EAAN,GAAWA,EAAX;AACH;AACJ,KAbD,MAcK;AACDulH,MAAAA,KAAK,CAAC4tB,8DAAeA;AAAC;AAAjB,OAAL,GAAkDhtB,SAAS,CAACgtB,8DAAeA;AAAC;AAAjB,OAAT,IAAuD,EAAzG;AACA5tB,MAAAA,KAAK,CAACytB,8DAAeA;AAAC;AAAjB,OAAL,GAAkD7sB,SAAS,CAAC6sB,8DAAeA;AAAC;AAAjB,OAA3D;AACAztB,MAAAA,KAAK,CAACwN,gEAAiBA;AAAC;AAAnB,OAAL,GAAsD5M,SAAS,CAAC4M,gEAAiBA;AAAC;AAAnB,OAA/D;;AACA,UAAI5M,SAAS,CAAC0tB,kEAAmBA;AAAC;AAArB,OAAb,EAAgE;AAC5DtuB,QAAAA,KAAK,CAACsuB,kEAAmBA;AAAC;AAArB,SAAL,GAAyD1tB,SAAS,CAAC0tB,kEAAmBA;AAAC;AAArB,SAAlE;AACH;;AACD,UAAI1tB,SAAS,CAACnmH,EAAd,EAAkB;AACdulH,QAAAA,KAAK,CAACvlH,EAAN,GAAWmmH,SAAS,CAACnmH,EAArB;AACH;;AACD,UAAImmH,SAAS,CAACytB,iEAAkBA;AAAC;AAApB,OAAb,EAA8D;AAC1DruB,QAAAA,KAAK,CAACquB,iEAAkBA;AAAC;AAApB,SAAL,GAAuDztB,SAAS,CAACytB,iEAAkBA;AAAC;AAApB,SAAhE;AACH,OAZA,CAaD;;;AACA,UAAI,CAACvzB,yFAAiB,CAAC8F,SAAS,CAACotB,6DAAcA;AAAC;AAAhB,OAAV,CAAtB,EAA0E;AACtEhuB,QAAAA,KAAK,CAACguB,6DAAcA;AAAC;AAAhB,SAAL,GAA+CptB,SAAS,CAACotB,6DAAcA;AAAC;AAAhB,SAAxD;AACH;AACJ;AACJ;;AACDp1B,EAAAA,SAAS,CAAC24B,mBAAV,GAAgC,UAAUpiJ,OAAV,EAAmBub,GAAnB,EAAwB83G,UAAxB,EAAoCC,YAApC,EAAkD9+G,KAAlD,EAAyDwpG,GAAzD,EAA8DyK,KAA9D,EAAqE2K,QAArE,EAA+E;AAC3G,QAAIllF,EAAJ;;AACA,QAAIgyG,SAAS,GAAG4B,aAAa,CAACttI,KAAK,IAAIwpG,GAAT,IAAgBh+G,OAAjB,CAA7B;;AACA,WAAOkuC,EAAE,GAAG,EAAL,EACHA,EAAE,CAACq/E,2DAAYA;AAAC;AAAd,KAAF,GAAsCyyB,cAAc,CAAChgJ,OAAD,EAAUkgJ,SAAV,CADjD,EAEHhyG,EAAE,CAAC3yB,GAAH,GAASA,GAFN,EAGH2yB,EAAE,CAACmlF,UAAH,GAAgBA,UAHb,EAIHnlF,EAAE,CAAColF,YAAH,GAAkBA,YAJf,EAKHplF,EAAE,CAAC15B,KAAH,GAAWytI,gBAAgB,CAACztI,KAAK,IAAIwpG,GAAT,IAAgBh+G,OAAjB,CALxB,EAMHkuC,EAAE,CAAC8vE,GAAH,GAASikC,gBAAgB,CAACjkC,GAAG,IAAIh+G,OAAR,CANtB,EAOHkuC,EAAE,CAACmxG,6DAAcA;AAAC;AAAhB,KAAF,GAAyCa,SAPtC,EAQHhyG,EAAE,CAAC4yG,YAAH,GAAkBH,qBAAqB,CAACl4B,KAAK,IAAIj0G,KAAT,IAAkBwpG,GAAnB,CARpC,EASH9vE,EAAE,CAACklF,QAAH,GAAcA,QATX,EAUHllF,EAVJ;AAWH,GAdD;;AAeAu7E,EAAAA,SAAS,CAACmZ,mBAAV,GAAgC,UAAU9kG,MAAV,EAAkB2zF,SAAlB,EAA6B5lD,UAA7B,EAAyC+lD,YAAzC,EAAuD;AACnF,QAAIswB,UAAU,GAAGzwB,SAAS,CAACgtB,8DAAeA;AAAC;AAAjB,KAAT,IACVF,8EAAM,CAAC9sB,SAAS,CAACgtB,8DAAeA;AAAC;AAAjB,KAAV,EAAsD,UAAU4D,EAAV,EAAc;AAAE,aAAOF,iBAAiB,CAAC7C,yEAA0BA;AAAC;AAA5B,OAAjB,CAAgFxhH,MAAhF,EAAwFukH,EAAxF,CAAP;AAAqG,KAA3K,CADb;AAEA,QAAIC,aAAa,GAAG,IAAI74B,SAAJ,CAAc3rF,MAAd,EAAsB0K,gFAAQ,CAACA,gFAAQ,CAAC,EAAD,EAAKipF,SAAL,CAAT,EAA0B;AAAEywB,MAAAA,UAAU,EAAEA;AAAd,KAA1B,CAA9B,EAAqFr2E,UAArF,EAAiG+lD,YAAjG,CAApB;AACA,WAAO0wB,aAAP;AACH,GALD;;AAMA74B,EAAAA,SAAS,CAACrhF,SAAV,CAAoB4qF,WAApB,GAAkC,YAAY;AAC1C,QAAI9kF,EAAJ;;AACA,QAAIE,EAAE,GAAG,IAAT;AAAA,QAAe8zG,UAAU,GAAG9zG,EAAE,CAAC8zG,UAA/B;AAAA,QAA2Cr2E,UAAU,GAAGz9B,EAAE,CAACy9B,UAA3D;AAAA,QAAuE+lD,YAAY,GAAGxjF,EAAE,CAACwjF,YAAzF;AAAA,QAAuGmB,aAAa,GAAG3kF,EAAE,CAAC2kF,aAA1H;AAAA,QAAyIwvB,YAAY,GAAGn0G,EAAE,CAACm0G,YAA3J;AAAA,QAAyKj3I,EAAE,GAAG8iC,EAAE,CAAC9iC,EAAjL;AAAA,QAAqLmS,QAAQ,GAAG2wB,EAAE,CAAC3wB,QAAnM;;AACA,QAAI+kI,yBAAyB,GAAGN,UAAU,YAAY5+G,KAAtB,IACzBi7G,8EAAM,CAAC2D,UAAD,EAAa,UAAUzwB,SAAV,EAAqB;AAAE,aAAOA,SAAS,CAACuB,WAAV,EAAP;AAAiC,KAArE,CADmB,IAEzBxiF,SAFP;AAGA,WAAOtC,EAAE,GAAG;AACJkwG,MAAAA,GAAG,EAAE;AADD,KAAL,EAGHlwG,EAAE,CAACuwG,8DAAeA;AAAC;AAAjB,KAAF,GAA4C+D,yBAHzC,EAIHt0G,EAAE,CAAC6kF,aAAH,GAAmBA,aAJhB,EAKH7kF,EAAE,CAAC29B,UAAH,GAAgBA,UALb,EAMH39B,EAAE,CAAC0jF,YAAH,GAAkBA,YANf,EAOH1jF,EAAE,CAACq0G,YAAH,GAAkBA,YAPf,EAQHr0G,EAAE,CAAC5iC,EAAH,GAAQA,EARL,EASH4iC,EAAE,CAACzwB,QAAH,GAAcA,QATX,EAUHywB,EAVJ;AAWH,GAjBD;AAkBA;AACJ;AACA;;;AACIu7E,EAAAA,SAAS,CAACg5B,qBAAV,GAAkC,UAAUziJ,OAAV,EAAmB+hJ,QAAnB,EAA6BW,QAA7B,EAAuCC,QAAvC,EAAiD56C,OAAjD,EAA0D66C,IAA1D,EAAgE;AAC9F,QAAI10G,EAAJ;;AACA,WAAO;AACHg0G,MAAAA,UAAU,EAAE,EACPh0G,EAAE,GAAG,EAAL,EACGA,EAAE,CAACywG,kEAAmBA;AAAC;AAArB,OAAF,GAAkD,IADrD,EAEGzwG,EAAE,CAACluC,OAAH,GAAaA,OAFhB,EAGGkuC,EAAE,CAACu6E,KAAH,GAAW1gB,OAHd,EAIG75D,EAAE,CAAC6zG,QAAH,GAAcA,QAJjB,EAKG7zG,EANI;AADT,KAAP;AAUH,GAZD;;AAaAu7E,EAAAA,SAAS,CAACqY,YAAV,GAAyB,6CAAzB;AACArY,EAAAA,SAAS,CAACqgB,QAAV,GAAqB,eAArB;AACArgB,EAAAA,SAAS,CAACo5B,WAAV,GAAwBZ,gBAAxB;AACA,SAAOx4B,SAAP;AACH,CA1G8B,EAA/B;;AA2GA;;AACA,IAAI04B,iBAAiB;AAAG;AAAe,YAAY;AAC/C,WAASA,iBAAT,CAA2BrkH,MAA3B,EAAmC2zF,SAAnC,EAA8C5lD,UAA9C,EAA0D;AACtD,SAAKgmE,cAAL,GAAsB;AAClBvmI,MAAAA,EAAE,EAAE;AAAE;AADY;AAElBw3I,MAAAA,OAAO,EAAE;AAAE;AAFO;AAGlBf,MAAAA,QAAQ,EAAE;AAAE;AAHM;AAIlB/hJ,MAAAA,OAAO,EAAE;AAAE;AAJO;AAKlB+iJ,MAAAA,YAAY,EAAE;AAAE;AALE;AAMlBt6B,MAAAA,KAAK,EAAE;AAAE;AANS;AAOlBu4B,MAAAA,WAAW,EAAE;AAAE;;AAPG,KAAtB;;AASA,QAAInwB,KAAK,GAAG,IAAZ;;AACA,QAAI,CAACuvB,2BAA2B,CAAC3uB,SAAD,CAAhC,EAA6C;AACzC,UAAIj9G,KAAK,GAAGi9G,SAAZ;AACA,UAAIzT,GAAG,GAAGxpG,KAAK,IAAIA,KAAK,CAACwpG,GAAzB;;AACA,UAAI,CAACyN,+EAAO,CAACj3G,KAAD,CAAZ,EAAqB;AACjBA,QAAAA,KAAK,GAAGA,KAAK,CAACgrI,QAAD,CAAL,IAAmBxhC,GAAnB,IAA0BxpG,KAAlC;AACH;;AACDq8G,MAAAA,KAAK,CAACwuB,6DAAcA;AAAC;AAAhB,OAAL,GAA+Cn1B,yEAAkB,CAACpsF,MAAD,EAASgkH,aAAa,CAACttI,KAAD,CAAtB,CAAlB,IAAoD41G,uDAAnG;AACAyG,MAAAA,KAAK,CAACtD,2DAAYA;AAAC;AAAd,OAAL,GAA4CivB,0EAAmB,CAAC1+G,MAAD,EAASkiH,cAAc,CAACvuB,SAAS,IAAIj9G,KAAd,EAAqBq8G,KAAK,CAACwuB,6DAAcA;AAAC;AAAhB,OAA1B,CAAvB,CAAnB,IAAiHj1B,uDAA7J;;AACA,UAAI3B,KAAK,GAAGgJ,SAAS,CAACiuB,eAAD,CAAT,IAA8BiB,qBAAqB,CAAClvB,SAAD,CAA/D;;AACAZ,MAAAA,KAAK,CAACouB,gEAAiBA;AAAC;AAAnB,OAAL,GAAqD8B,WAAW,CAACt4B,KAAD,CAAhE,CATyC,CAUzC;;AACA,UAAIlJ,+EAAO,CAACsR,KAAK,CAACouB,gEAAiBA;AAAC;AAAnB,OAAN,CAAX,EAAiE;AAC7DV,QAAAA,8EAAM,CAAC1tB,KAAK,CAACouB,gEAAiBA;AAAC;AAAnB,SAAN,EAAqD,UAAUmC,KAAV,EAAiB;AACxEA,UAAAA,KAAK,CAAC5C,4DAAaA;AAAC;AAAf,WAAL,GAA8Ct0B,yEAAkB,CAACpsF,MAAD,EAASsjH,KAAK,CAAC5C,4DAAaA;AAAC;AAAf,WAAd,CAAhE;AACA4C,UAAAA,KAAK,CAAC1C,6DAAcA;AAAC;AAAhB,WAAL,GAA+Cx0B,yEAAkB,CAACpsF,MAAD,EAASsjH,KAAK,CAAC1C,6DAAcA;AAAC;AAAhB,WAAd,CAAjE;AACH,SAHK,CAAN;AAIH;;AACD7tB,MAAAA,KAAK,CAAC4uB,QAAD,CAAL,GAAkB/C,4EAAqB,CAAC5+G,MAAD,EAAS+iH,iBAAiB,CAACp4B,KAAD,CAA1B,CAAvC;AACAoI,MAAAA,KAAK,CAACkyB,YAAN,GAAqBxjC,+EAAO,CAACsR,KAAK,CAACmwB,WAAP,CAAP,IAA8BnwB,KAAK,CAACmwB,WAAN,CAAkB3zB,0DAAWA;AAAC;AAA9B,UAAsD,CAAzG;;AACA,UAAIxhD,UAAJ,EAAgB;AACZA,QAAAA,UAAU,CAACwzE,6DAAcA;AAAC;AAAhB,SAAV,GAAoDxzE,UAAU,CAACwzE,6DAAcA;AAAC;AAAhB,SAAV,IAAqDxuB,KAAK,CAACwuB,6DAAcA;AAAC;AAAhB,SAA9G;AACH;AACJ,KAtBD,MAuBK;AACDxuB,MAAAA,KAAK,CAACwuB,6DAAcA;AAAC;AAAhB,OAAL,GAA+C5tB,SAAS,CAAC4tB,6DAAcA;AAAC;AAAhB,OAAxD;AACAxuB,MAAAA,KAAK,CAACtD,2DAAYA;AAAC;AAAd,OAAL,GAA4CkE,SAAS,CAAClE,2DAAYA;AAAC;AAAd,OAArD;AACAsD,MAAAA,KAAK,CAAC4uB,QAAD,CAAL,GAAkBhuB,SAAS,CAACguB,QAAD,CAA3B;AACA5uB,MAAAA,KAAK,CAACouB,gEAAiBA;AAAC;AAAnB,OAAL,GAAqDxtB,SAAS,CAACwtB,gEAAiBA;AAAC;AAAnB,OAAT,IAA0D,EAA/G;AACApuB,MAAAA,KAAK,CAAC8tB,kEAAmBA;AAAC;AAArB,OAAL,GAAwDltB,SAAS,CAACktB,kEAAmBA;AAAC;AAArB,OAAjE;AACH;AACJ;;AACDwD,EAAAA,iBAAiB,CAAC/5G,SAAlB,CAA4B4qF,WAA5B,GAA0C,YAAY;AAClD,QAAI9kF,EAAJ;;AACA,QAAI2iF,KAAK,GAAG,IAAZ;;AACA,QAAImwB,WAAW,GAAGnwB,KAAK,CAACouB,gEAAiBA;AAAC;AAAnB,KAAL,YAA8D37G,KAA9D,IACXi7G,8EAAM,CAAC1tB,KAAK,CAACouB,gEAAiBA;AAAC;AAAnB,KAAN,EAAqD,UAAUmC,KAAV,EAAiB;AAAE,aAAOA,KAAK,CAACpuB,WAAN,EAAP;AAA6B,KAArG,CADb;AAEA,QAAIwvB,yBAAyB,IAAIt0G,EAAE,GAAG;AAC9B5iC,MAAAA,EAAE,EAAEulH,KAAK,CAACvlH,EADoB;AAE9Bw3I,MAAAA,OAAO,EAAEjyB,KAAK,CAACiyB,OAFe;AAG9Bf,MAAAA,QAAQ,EAAElxB,KAAK,CAACwuB,6DAAcA;AAAC;AAAhB,OAHe;AAI9Br/I,MAAAA,OAAO,EAAE6wH,KAAK,CAACtD,2DAAYA;AAAC;AAAd,OAJgB;AAK9Bw1B,MAAAA,YAAY,EAAElyB,KAAK,CAAC8tB,kEAAmBA;AAAC;AAArB,OALW;AAM9Bl2B,MAAAA,KAAK,EAAEoI,KAAK,CAAC4uB,QAAD;AANkB,KAAL,EAQ7BvxG,EAAE,CAAC+wG,gEAAiBA;AAAC;AAAnB,KAAF,GAA+C+B,WAAW,IAAIxwG,SARjC,EAS7BtC,EATyB,CAA7B;AAUA,WAAOs0G,yBAAP;AACH,GAhBD;;AAiBAL,EAAAA,iBAAiB,CAACvf,mBAAlB,GAAwC,UAAU9kG,MAAV,EAAkB2zF,SAAlB,EAA6B;AACjE,QAAIuvB,WAAW,GAAIvvB,SAAS,CAACwtB,gEAAiBA;AAAC;AAAnB,KAAT,YAAkE37G,KAAlE,IACZi7G,8EAAM,CAAC9sB,SAAS,CAACwtB,gEAAiBA;AAAC;AAAnB,KAAV,EAAyD,UAAUmC,KAAV,EAAiB;AAAE,aAAOE,WAAW,CAAChC,yEAA0BA;AAAC;AAA5B,OAAX,CAA0E8B,KAA1E,CAAP;AAA0F,KAAtK,CADK,IAEX3vB,SAAS,CAACwtB,gEAAiBA;AAAC;AAAnB,KAFhB;;AAGA,QAAI+D,gBAAgB,GAAG,IAAIb,iBAAJ,CAAsBrkH,MAAtB,EAA8B0K,gFAAQ,CAACA,gFAAQ,CAAC,EAAD,EAAKipF,SAAL,CAAT,EAA0B;AAAEuvB,MAAAA,WAAW,EAAEA;AAAf,KAA1B,CAAtC,CAAvB;AACA,WAAOgC,gBAAP;AACH,GAND;;AAOA,SAAOb,iBAAP;AACH,CApEsC,EAAvC;;AAqEA;;AACA,IAAIb,WAAW;AAAG;AAAe,YAAY;AACzC,WAASA,WAAT,CAAqB2B,WAArB,EAAkCr6C,KAAlC,EAAyC;AACrC,SAAKipC,cAAL,GAAsB;AAClBjpC,MAAAA,KAAK,EAAE;AAAE;AADS;AAElBlmE,MAAAA,MAAM,EAAE;AAAE;AAFQ;AAGlBggH,MAAAA,QAAQ,EAAE;AAAE;AAHM;AAIlBC,MAAAA,QAAQ,EAAE;AAAE;AAJM;AAKlBC,MAAAA,IAAI,EAAE;AAAE;;AALU,KAAtB;;AAOA,QAAI/xB,KAAK,GAAG,IAAZ;;AACAA,IAAAA,KAAK,CAACuuB,iEAAkBA;AAAC;AAApB,KAAL,GAAsD,CAAtD,CATqC,CAUrC;AACA;;AACA,QAAI,OAAO6D,WAAP,KAAuB,QAA3B,EAAqC;AACjC,UAAI7B,KAAK,GAAG6B,WAAZ;AACApyB,MAAAA,KAAK,CAACiuB,yDAAUA;AAAC;AAAZ,OAAL,GAAwCl2C,KAAxC;AACAioB,MAAAA,KAAK,CAACmuB,0DAAWA;AAAC;AAAb,OAAL,GAA0CO,QAA1C;AACA1uB,MAAAA,KAAK,CAAC2tB,4DAAaA;AAAC;AAAf,OAAL,GAA8C/C,+EAAO,CAAC2F,KAAD,CAArD;AACAvwB,MAAAA,KAAK,CAAC6tB,6DAAcA;AAAC;AAAhB,OAAL,GAA+C,EAA/C;AACA7tB,MAAAA,KAAK,CAACkuB,wDAASA;AAAC;AAAX,OAAL,GAAsC,CAAtC;AACA,UAAIn2D,OAAO,GAAGw4D,KAAK,CAAC/4D,KAAN,CAAYi5D,WAAW,CAAChuH,KAAxB,CAAd;;AACA,UAAIs1D,OAAO,IAAIA,OAAO,CAACykC,0DAAWA;AAAC;AAAb,OAAP,IAA6C,CAA5D,EAA+D;AAC3DwD,QAAAA,KAAK,CAACmuB,0DAAWA;AAAC;AAAb,SAAL,GAA0CvD,+EAAO,CAAC7yD,OAAO,CAAC,CAAD,CAAR,CAAP,IAAuBioC,KAAK,CAACmuB,0DAAWA;AAAC;AAAb,SAAtE;AACAnuB,QAAAA,KAAK,CAAC6tB,6DAAcA;AAAC;AAAhB,SAAL,GAA+CjD,+EAAO,CAAC7yD,OAAO,CAAC,CAAD,CAAR,CAAtD;AACAioC,QAAAA,KAAK,CAACkuB,wDAASA;AAAC;AAAX,SAAL,GAAsCh9G,QAAQ,CAAC6mD,OAAO,CAAC,CAAD,CAAR,CAAR,IAAwB,CAA9D;AACH;AACJ,KAbD,MAcK;AACDioC,MAAAA,KAAK,CAACiuB,yDAAUA;AAAC;AAAZ,OAAL,GAAwCmE,WAAW,CAACnE,yDAAUA;AAAC;AAAZ,OAAnD;AACAjuB,MAAAA,KAAK,CAACmuB,0DAAWA;AAAC;AAAb,OAAL,GAA0CiE,WAAW,CAACjE,0DAAWA;AAAC;AAAb,OAArD;AACAnuB,MAAAA,KAAK,CAAC2tB,4DAAaA;AAAC;AAAf,OAAL,GAA8CyE,WAAW,CAACzE,4DAAaA;AAAC;AAAf,OAAzD;AACA3tB,MAAAA,KAAK,CAAC6tB,6DAAcA;AAAC;AAAhB,OAAL,GAA+CuE,WAAW,CAACvE,6DAAcA;AAAC;AAAhB,OAA1D;AACA7tB,MAAAA,KAAK,CAACkuB,wDAASA;AAAC;AAAX,OAAL,GAAsCkE,WAAW,CAAClE,wDAASA;AAAC;AAAX,OAAjD;AACAluB,MAAAA,KAAK,CAACuuB,iEAAkBA;AAAC;AAApB,OAAL,GAAsD,CAAtD;AACH;;AACDvuB,IAAAA,KAAK,CAACqyB,WAAN,IAAqBryB,KAAK,CAACnuF,MAAN,CAAa2qF,0DAAWA;AAAC;AAAzB,KAArB;AACAwD,IAAAA,KAAK,CAACqyB,WAAN,IAAqBryB,KAAK,CAAC8xB,QAAN,CAAet1B,0DAAWA;AAAC;AAA3B,KAArB;AACAwD,IAAAA,KAAK,CAACqyB,WAAN,IAAqBryB,KAAK,CAAC6xB,QAAN,CAAer1B,0DAAWA;AAAC;AAA3B,KAArB,CApCqC,CAqCrC;;AACAwD,IAAAA,KAAK,CAACuuB,iEAAkBA;AAAC;AAApB,KAAL,IAAuDkC,WAAW,CAAC6B,QAAnE;AACAtyB,IAAAA,KAAK,CAACqyB,WAAN,IAAqBryB,KAAK,CAACjoB,KAAN,CAAYvtD,QAAZ,GAAuBgyE,0DAAWA;AAAC;AAAnC,KAArB;AACAwD,IAAAA,KAAK,CAACqyB,WAAN,IAAqBryB,KAAK,CAAC+xB,IAAN,CAAWvnG,QAAX,GAAsBgyE,0DAAWA;AAAC;AAAlC,KAArB;AACH;;AACDi0B,EAAAA,WAAW,CAAC1e,mBAAZ,GAAkC,UAAUwe,KAAV,EAAiB;AAC/C,WAAO,IAAIE,WAAJ,CAAgBF,KAAhB,EAAuB;AAAK;AAA5B,KAAP;AACH,GAFD;;AAGAE,EAAAA,WAAW,CAACl5G,SAAZ,CAAsB4qF,WAAtB,GAAoC,YAAY;AAC5C,QAAInC,KAAK,GAAG,IAAZ;;AACA,WAAO;AACHjoB,MAAAA,KAAK,EAAEioB,KAAK,CAACiuB,yDAAUA;AAAC;AAAZ,OADT;AAEHp8G,MAAAA,MAAM,EAAEmuF,KAAK,CAACmuB,0DAAWA;AAAC;AAAb,OAFV;AAGH0D,MAAAA,QAAQ,EAAE7xB,KAAK,CAAC2tB,4DAAaA;AAAC;AAAf,OAHZ;AAIHmE,MAAAA,QAAQ,EAAE9xB,KAAK,CAAC6tB,6DAAcA;AAAC;AAAhB,OAJZ;AAKHkE,MAAAA,IAAI,EAAE/xB,KAAK,CAACkuB,wDAASA;AAAC;AAAX;AALR,KAAP;AAOH,GATD,CA9CyC,CAwDzC;AACA;;;AACAuC,EAAAA,WAAW,CAAChuH,KAAZ,GAAoB,sFAApB;AACAguH,EAAAA,WAAW,CAAC6B,QAAZ,GAAuB,EAAvB,CA3DyC,CA2Dd;;AAC3B,SAAO7B,WAAP;AACH,CA7DgC,EAAjC;;;;;;;;;;;;;;;;;;;;;AC7cA;AACA;AACA;AACA;AAGA;AACA;AACA;AACA;;AACA,IAAI53B,MAAM;AAAG;AAAe,YAAY;AACpC;AACJ;AACA;AACI,WAASA,MAAT,CAAgB5rF,MAAhB,EAAwBnvB,IAAxB,EAA8BU,KAA9B,EAAqC09C,KAArC,EAA4Cn9B,GAA5C,EAAiDD,GAAjD,EAAsDozG,MAAtD,EAA8Dl3D,UAA9D,EAA0E+lD,YAA1E,EAAwF;AACpF,SAAKigB,cAAL,GAAsB;AAClBuM,MAAAA,GAAG,EAAE;AAAE;AADW;AAElBgF,MAAAA,OAAO,EAAE;AAAE;AAFO;AAGlBv3E,MAAAA,UAAU,EAAE;AAAE;;AAHI,KAAtB;;AAKA,QAAIglD,KAAK,GAAG,IAAZ;;AACAA,IAAAA,KAAK,CAACutB,GAAN,GAAY,CAAZ;AACA,QAAIiF,SAAS,GAAG,IAAI9H,wDAAJ,EAAhB;AACA8H,IAAAA,SAAS,CAAC1e,yDAAUA;AAAC;AAAZ,KAAT,GAA4C53E,KAAK,GAAG,CAAR,GAAYA,KAAZ,GAAoBvc,SAAhE;AACA6yG,IAAAA,SAAS,CAAC1zH,GAAV,GAAgBkC,KAAK,CAAClC,GAAD,CAAL,IAAcA,GAAG,KAAK,IAAtB,GAA6B6gB,SAA7B,GAAyC7gB,GAAzD;AACA0zH,IAAAA,SAAS,CAACzzH,GAAV,GAAgBiC,KAAK,CAACjC,GAAD,CAAL,IAAcA,GAAG,KAAK,IAAtB,GAA6B4gB,SAA7B,GAAyC5gB,GAAzD;AACAyzH,IAAAA,SAAS,CAAC/kB,wDAASA;AAAC;AAAX,KAAT,GAA0CpU,yEAAkB,CAACpsF,MAAD,EAASnvB,IAAT,CAAlB,IAAoCy7G,uDAA9E;AACAi5B,IAAAA,SAAS,CAACh0I,KAAV,GAAkBA,KAAlB;AACAg0I,IAAAA,SAAS,CAACtgB,MAAV,GAAmBlxG,KAAK,CAACkxG,MAAD,CAAL,IAAiBA,MAAM,KAAK,IAA5B,GAAmCvyF,SAAnC,GAA+CuyF,MAAlE;AACAlS,IAAAA,KAAK,CAACuyB,OAAN,GAAgB,CAACC,SAAD,CAAhB;AACAxyB,IAAAA,KAAK,CAACytB,8DAAeA;AAAC;AAAjB,KAAL,GAAkD1B,6EAAsB,CAAC9+G,MAAD,EAAS+tC,UAAT,CAAxE;AACAglD,IAAAA,KAAK,CAACwN,gEAAiBA;AAAC;AAAnB,KAAL,GAAsD0e,+EAAwB,CAACj/G,MAAD,EAAS8zF,YAAT,CAA9E;AACH;;AACDlI,EAAAA,MAAM,CAACoY,YAAP,GAAsB,0CAAtB;AACApY,EAAAA,MAAM,CAACogB,QAAP,GAAkB,YAAlB;AACA,SAAOpgB,MAAP;AACH,CA1B2B,EAA5B;;;;;;;;;;;;;;;;;;;;;ACVA;AACA;AACA;AACA;AAGA;AACA;AACA;AACA;;AACA,IAAIC,QAAQ;AAAG;AAAe,YAAY;AACtC;AACJ;AACA;AACI,WAASA,QAAT,CAAkB7rF,MAAlB,EAA0BnvB,IAA1B,EAAgC4M,GAAhC,EAAqCuiE,UAArC,EAAiDjS,UAAjD,EAA6D+lD,YAA7D,EAA2EtmH,EAA3E,EAA+E;AAC3E,SAAKumI,cAAL,GAAsB;AAClBuM,MAAAA,GAAG,EAAE;AAAE;AADW;AAElBzvI,MAAAA,IAAI,EAAE;AAAE;AAFU;AAGlB4M,MAAAA,GAAG,EAAE;AAAE;AAHW;AAIlB3E,MAAAA,QAAQ,EAAE;AAAE;AAJM;AAKlBi1D,MAAAA,UAAU,EAAE;AAAE;AALI;AAMlB+lD,MAAAA,YAAY,EAAE;AAAE;AANE;AAOlBtmH,MAAAA,EAAE,EAAE;AAAE;;AAPY,KAAtB;;AASA,QAAIulH,KAAK,GAAG,IAAZ;;AACAA,IAAAA,KAAK,CAACutB,GAAN,GAAY,CAAZ;AACAvtB,IAAAA,KAAK,CAACvlH,EAAN,GAAW2xI,qEAAc,CAACn/G,MAAD,EAASxyB,EAAT,CAAzB;AACAulH,IAAAA,KAAK,CAACt1G,GAAN,GAAY+gI,sEAAe,CAACx+G,MAAD,EAASviB,GAAT,CAA3B;AACAs1G,IAAAA,KAAK,CAACyN,wDAASA;AAAC;AAAX,KAAL,GAAsCpU,yEAAkB,CAACpsF,MAAD,EAASnvB,IAAT,CAAlB,IAAoCy7G,uDAA1E;;AACA,QAAI,CAACv4F,KAAK,CAACisD,UAAD,CAAV,EAAwB;AACpB+yC,MAAAA,KAAK,CAACgH,4DAAaA;AAAC;AAAf,OAAL,GAA8CgC,0DAAY,CAAC/7C,UAAD,CAA1D;AACH;;AACD+yC,IAAAA,KAAK,CAACytB,8DAAeA;AAAC;AAAjB,KAAL,GAAkD1B,6EAAsB,CAAC9+G,MAAD,EAAS+tC,UAAT,CAAxE;AACAglD,IAAAA,KAAK,CAACwN,gEAAiBA;AAAC;AAAnB,KAAL,GAAsD0e,+EAAwB,CAACj/G,MAAD,EAAS8zF,YAAT,CAA9E;AACH;;AACDjI,EAAAA,QAAQ,CAACmY,YAAT,GAAwB,4CAAxB;AACAnY,EAAAA,QAAQ,CAACmgB,QAAT,GAAoB,cAApB;AACA,SAAOngB,QAAP;AACH,CA5B6B,EAA9B;;;;;;;;;;;;;;;;;;;;ACVA;AACA;AACA;AACA;AAGA;AACA;AACA;;AACA,IAAIC,mBAAmB;AAAG;AAAe,YAAY;AACjD;AACJ;AACA;AACI,WAASA,mBAAT,CAA6B9rF,MAA7B,EAAqCnvB,IAArC,EAA2C4M,GAA3C,EAAgDgoI,MAAhD,EAAwD13E,UAAxD,EAAoE+lD,YAApE,EAAkF4xB,WAAlF,EAA+F;AAC3F,SAAK3R,cAAL,GAAsB;AAClBuM,MAAAA,GAAG,EAAE;AAAE;AADW;AAElBzvI,MAAAA,IAAI,EAAE;AAAE;AAFU;AAGlB4M,MAAAA,GAAG,EAAE;AAAE;AAHW;AAIlB3E,MAAAA,QAAQ,EAAE;AAAE;AAJM;AAKlBilH,MAAAA,SAAS,EAAE;AAAE;AALK;AAMlBC,MAAAA,cAAc,EAAE;AAAE;AANA;AAOlBC,MAAAA,WAAW,EAAE;AAAE;AAPG;AAQlBC,MAAAA,gBAAgB,EAAE;AAAE;AARF;AASlBC,MAAAA,aAAa,EAAE;AAAE;AATC;AAUlBpwD,MAAAA,UAAU,EAAE;AAAE;AAVI;AAWlB+lD,MAAAA,YAAY,EAAE;AAAE;;AAXE,KAAtB;;AAaA,QAAIf,KAAK,GAAG,IAAZ;;AACAA,IAAAA,KAAK,CAACutB,GAAN,GAAY,CAAZ;AACAvtB,IAAAA,KAAK,CAACt1G,GAAN,GAAY+gI,sEAAe,CAACx+G,MAAD,EAASviB,GAAT,CAA3B;AACAs1G,IAAAA,KAAK,CAACyN,wDAASA;AAAC;AAAX,KAAL,GAAsCpU,yEAAkB,CAACpsF,MAAD,EAASnvB,IAAT,CAAlB,IAAoCy7G,uDAA1E;AACAyG,IAAAA,KAAK,CAACytB,8DAAeA;AAAC;AAAjB,KAAL,GAAkD1B,6EAAsB,CAAC9+G,MAAD,EAAS+tC,UAAT,CAAxE;AACAglD,IAAAA,KAAK,CAACwN,gEAAiBA;AAAC;AAAnB,KAAL,GAAsD0e,+EAAwB,CAACj/G,MAAD,EAAS8zF,YAAT,CAA9E;;AACA,QAAI4xB,WAAJ,EAAiB;AACb3yB,MAAAA,KAAK,CAACoL,aAAN,GAAsBunB,WAAW,CAACvnB,aAAlC;AACApL,MAAAA,KAAK,CAACgH,4DAAaA;AAAC;AAAf,OAAL,GAA8C2rB,WAAW,CAAC3rB,4DAAaA;AAAC;AAAf,OAAzD;AACAhH,MAAAA,KAAK,CAACiL,cAAN,GAAuB0nB,WAAW,CAAC1nB,cAAnC;AACAjL,MAAAA,KAAK,CAACgL,SAAN,GAAkB2nB,WAAW,CAAC3nB,SAA9B;AACAhL,MAAAA,KAAK,CAACyyB,qEAAsBA;AAAC;AAAxB,OAAL,GAA+DE,WAAW,CAACF,qEAAsBA;AAAC;AAAxB,OAA1E;AACAzyB,MAAAA,KAAK,CAACkL,WAAN,GAAoBynB,WAAW,CAACznB,WAAhC;AACH;AACJ;;AACDnS,EAAAA,mBAAmB,CAACkY,YAApB,GAAmC,uDAAnC;AACAlY,EAAAA,mBAAmB,CAACkgB,QAApB,GAA+B,yBAA/B;AACA,SAAOlgB,mBAAP;AACH,CApCwC,EAAzC;;;;;;;;;;;;;;;;;;;;;ACTA;AACA;AACA;AACA;AAGA;AACA;AACA;AACA;;AACA,IAAIE,oBAAoB;AAAG;AAAe,YAAY;AAClD;AACJ;AACA;AACI,WAASA,oBAAT,CAA8BhsF,MAA9B,EAAsCxyB,EAAtC,EAA0C6kE,WAA1C,EAAuDuzE,WAAvD,EAAoEr0I,KAApE,EAA2E2hC,OAA3E,EAAoF2yG,UAApF,EAAgGjhH,MAAhG,EAAwGkhH,UAAxG,EAAoHrhB,kBAApH,EAAwI12D,UAAxI,EAAoJ+lD,YAApJ,EAAkK;AAC9J,QAAIgyB,UAAU,KAAK,KAAK,CAAxB,EAA2B;AAAEA,MAAAA,UAAU,GAAG,MAAb;AAAsB;;AACnD,SAAK/R,cAAL,GAAsB;AAClBvmI,MAAAA,EAAE,EAAE;AAAE;AADY;AAElB8yI,MAAAA,GAAG,EAAE;AAAE;AAFW;AAGlBzvI,MAAAA,IAAI,EAAE;AAAE;AAHU;AAIlBg1I,MAAAA,UAAU,EAAE;AAAE;AAJI;AAKlB/sI,MAAAA,QAAQ,EAAE;AAAE;AALM;AAMlBo6B,MAAAA,OAAO,EAAE;AAAE;AANO;AAOlBlrC,MAAAA,IAAI,EAAE;AAAE;AAPU;AAQlBimD,MAAAA,MAAM,EAAE;AAAE;AARQ;AASlB32C,MAAAA,IAAI,EAAE;AAAE;AATU;AAUlBy2D,MAAAA,UAAU,EAAE;AAAE;AAVI;AAWlB+lD,MAAAA,YAAY,EAAE;AAAE;AAXE;AAYlB4pB,MAAAA,IAAI,EAAE;AAAE;AAZU;AAalBnsI,MAAAA,KAAK,EAAE;AAAE;AAbS;AAclB09C,MAAAA,KAAK,EAAE;AAAE;AAdS;AAelBn9B,MAAAA,GAAG,EAAE;AAAE;AAfW;AAgBlBD,MAAAA,GAAG,EAAE;AAAE;AAhBW;AAiBlBozG,MAAAA,MAAM,EAAE;AAAE;AAjBQ;AAkBlB8gB,MAAAA,cAAc,EAAE;AAAE;AAlBA;AAmBlBC,MAAAA,gBAAgB,EAAE;AAAE;AAnBF;AAoBlBJ,MAAAA,WAAW,EAAE;AAAE;AApBG;AAqBlBK,MAAAA,kBAAkB,EAAE;AAAE;;AArBJ,KAAtB;;AAuBA,QAAIlzB,KAAK,GAAG,IAAZ;;AACAA,IAAAA,KAAK,CAACutB,GAAN,GAAY,CAAZ;AACAvtB,IAAAA,KAAK,CAACvlH,EAAN,GAAWA,EAAX;AACAulH,IAAAA,KAAK,CAACgH,4DAAaA;AAAC;AAAf,KAAL,GAA8CgC,0DAAY,CAACxqH,KAAD,CAA1D;AACAwhH,IAAAA,KAAK,CAAC7/E,OAAN,GAAgBA,OAAhB;AACA6/E,IAAAA,KAAK,CAAC8yB,UAAN,GAAmBA,UAAU,GAAG,EAAhC;AACA9yB,IAAAA,KAAK,CAACz7G,IAAN,GAAa80G,yEAAkB,CAACpsF,MAAD,EAAS8lH,UAAT,CAA/B;AACA,QAAII,gBAAgB,GAAGP,oEAA6B,CAAC3lH,MAAD,EAASqyC,WAAT,EAAsBztC,MAAtB,EAA8BghH,WAA9B,CAApD;AACA7yB,IAAAA,KAAK,CAAC/qH,IAAN,GAAaw2I,sEAAe,CAACx+G,MAAD,EAAS4lH,WAAT,CAAf,IAAwCM,gBAAgB,CAACl+I,IAAtE,CAjC8J,CAiClF;;AAC5E+qH,IAAAA,KAAK,CAAC9kE,MAAN,GAAem+D,yEAAkB,CAACpsF,MAAD,EAASkmH,gBAAgB,CAACj4F,MAA1B,CAAjC;;AACA,QAAIw2E,kBAAJ,EAAwB;AACpB1R,MAAAA,KAAK,CAAC9kE,MAAN,GAAe,GAAGhhB,MAAH,CAAU8lF,KAAK,CAAC9kE,MAAhB,EAAwB,KAAxB,EAA+BhhB,MAA/B,CAAsCw3F,kBAAtC,CAAf;AACH;;AACD1R,IAAAA,KAAK,CAACyN,wDAASA;AAAC;AAAX,KAAL,GAAsCpU,yEAAkB,CAACpsF,MAAD,EAASkmH,gBAAgB,CAAC1lB,wDAASA;AAAC;AAAX,KAAzB,CAAxD;AACAzN,IAAAA,KAAK,CAACytB,8DAAeA;AAAC;AAAjB,KAAL,GAAkD1B,6EAAsB,CAAC9+G,MAAD,EAAS+tC,UAAT,CAAxE;AACAglD,IAAAA,KAAK,CAACwN,gEAAiBA;AAAC;AAAnB,KAAL,GAAsD0e,+EAAwB,CAACj/G,MAAD,EAAS8zF,YAAT,CAA9E;AACH;;AACD9H,EAAAA,oBAAoB,CAACgY,YAArB,GAAoC,oDAApC;AACAhY,EAAAA,oBAAoB,CAACggB,QAArB,GAAgC,sBAAhC;AACA,SAAOhgB,oBAAP;AACH,CAjDyC,EAA1C;;;;;;;;;;;;;;;;;;;;ACVA;AACA;AACA;AACA;AAGA;AACA;AACA;;AACA,IAAIvgB,KAAK;AAAG;AAAe,YAAY;AACnC;AACJ;AACA;AACI,WAASA,KAAT,CAAezrE,MAAf,EAAuB99B,OAAvB,EAAgC+yH,aAAhC,EAA+ClnD,UAA/C,EAA2D+lD,YAA3D,EAAyE;AACrE,SAAKigB,cAAL,GAAsB;AAClBuM,MAAAA,GAAG,EAAE;AAAE;AADW;AAElBp+I,MAAAA,OAAO,EAAE;AAAE;AAFO;AAGlB+yH,MAAAA,aAAa,EAAE;AAAE;AAHC;AAIlBlnD,MAAAA,UAAU,EAAE;AAAE;;AAJI,KAAtB;;AAMA,QAAIglD,KAAK,GAAG,IAAZ;;AACAA,IAAAA,KAAK,CAACutB,GAAN,GAAY,CAAZ;AACAp+I,IAAAA,OAAO,GAAGA,OAAO,IAAIoqH,uDAArB;AACAyG,IAAAA,KAAK,CAACtD,2DAAYA;AAAC;AAAd,KAAL,GAA4CivB,0EAAmB,CAAC1+G,MAAD,EAAS99B,OAAT,CAA/D;AACA6wH,IAAAA,KAAK,CAACytB,8DAAeA;AAAC;AAAjB,KAAL,GAAkD1B,6EAAsB,CAAC9+G,MAAD,EAAS+tC,UAAT,CAAxE;AACAglD,IAAAA,KAAK,CAACwN,gEAAiBA;AAAC;AAAnB,KAAL,GAAsD0e,+EAAwB,CAACj/G,MAAD,EAAS8zF,YAAT,CAA9E;;AACA,QAAImB,aAAJ,EAAmB;AACflC,MAAAA,KAAK,CAACsuB,kEAAmBA;AAAC;AAArB,OAAL,GAAyDpsB,aAAzD;AACH;AACJ;;AACDxpB,EAAAA,KAAK,CAACu4B,YAAN,GAAqB,2CAArB;AACAv4B,EAAAA,KAAK,CAACugC,QAAN,GAAiB,aAAjB;AACA,SAAOvgC,KAAP;AACH,CAxB0B,EAA3B;;;;;;;;;;;;;;;;;;;;;;ACTA;AACA;AACA;AACA;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACO,SAAS0gB,mBAAT,CAA6BtxG,IAA7B,EAAmC88G,QAAnC,EAA6CwuB,YAA7C,EAA2DnmH,MAA3D,EAAmEwzF,gBAAnE,EAAqFa,gBAArF,EAAuG;AAC1G,MAAIjkF,EAAJ;;AACA+1G,EAAAA,YAAY,GAAG/5B,mFAAkB,CAACpsF,MAAD,EAASmmH,YAAT,CAAlB,IAA4C75B,uDAA3D;;AACA,MAAIuB,yFAAiB,CAAChzG,IAAD,CAAjB,IACAgzG,yFAAiB,CAAC8J,QAAD,CADjB,IAEA9J,yFAAiB,CAACs4B,YAAD,CAFrB,EAEqC;AACjC93B,IAAAA,kFAAU,CAAC,2CAAD,CAAV;AACH;;AACD,MAAI4V,IAAI,GAAG,EAAX;;AACA,MAAIppH,IAAI,CAAC27H,+CAAD,CAAR,EAAmB;AACfvS,IAAAA,IAAI,GAAGppH,IAAI,CAAC27H,+CAAD,CAAX;AACA,WAAO37H,IAAI,CAAC27H,+CAAD,CAAX;AACH;;AACD,MAAI/iB,aAAa,IAAIrjF,EAAE,GAAG,EAAL,EACjBA,EAAE,CAACowF,wDAASA;AAAC;AAAX,GAAF,GAAgC2lB,YADf,EAEjB/1G,EAAE,CAACm8D,IAAH,GAAU11E,mFAAW,CAAC,IAAIuxB,IAAJ,EAAD,CAFJ,EAGjBhY,EAAE,CAAC6zF,IAAH,GAAUA,IAHO,EAIjB7zF,EAAE,CAAC+M,GAAH,GAASk3E,gBAAgB,GAAGA,gBAAH,GAAsB,EAJ9B,EAKjBjkF,EAAE,CAACmwG,IAAH,GAAU,EALO,EAMjBnwG,EAAE,CAACpoC,IAAH,GAAU,EANO,EAOjBooC,EAAE,CAACunF,QAAH,GAAcA,QAPG,EAQjBvnF,EAAE,CAACynF,QAAH,GAAch9G,IARG,CAQE;AARF,IAUjBu1B,EAVa,CAAjB,CAb0G,CAwB1G;;AACA,MAAI,CAACy9E,yFAAiB,CAAC2F,gBAAD,CAAtB,EAA0C;AACtCtF,IAAAA,qFAAa,CAACsF,gBAAD,EAAmB,UAAUwrB,IAAV,EAAgBztI,KAAhB,EAAuB;AACnDkiH,MAAAA,aAAa,CAACzrH,IAAd,CAAmBg3I,IAAnB,IAA2BztI,KAA3B;AACH,KAFY,CAAb;AAGH;;AACD,SAAOkiH,aAAP;AACH;;AACD,IAAI2yB,oBAAoB;AAAG;AAAe,YAAY;AAClD,WAASA,oBAAT,GAAgC,CAC/B;AACD;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACIA,EAAAA,oBAAoB,CAACh9G,MAArB,GAA8B+iF,mBAA9B;AACA,SAAOi6B,oBAAP;AACH,CAdyC,EAA1C;;;;;;;;;;;;;;;;;;;;;;ACnDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAIS,uBAAuB,GAAG,qBAA9B;;AACA,IAAIC,WAAW;AAAG;AAAe,YAAY;AACzC,WAASA,WAAT,CAAqBC,WAArB,EAAkCpxB,IAAlC,EAAwCoD,UAAxC,EAAoD;AAChD,QAAIhG,KAAK,GAAG,IAAZ;;AACA,QAAI4pB,mBAAJ;;AACA,QAAI5hB,OAAJ;;AACA,QAAItY,OAAJ;;AACA,QAAIukC,iBAAJ;;AACA,QAAIC,gBAAJ;;AACA,QAAIC,YAAJ,CAPgD,CAO9B;;;AAClB,QAAIC,WAAJ;;AACA,QAAIC,MAAJ;;AACA,QAAIC,QAAQ,GAAG,KAAf;AACA,QAAIC,oBAAoB,GAAG,KAA3B;;AACAC,IAAAA,WAAW;;AACXx0B,IAAAA,KAAK,CAACmE,SAAN,GAAkB,YAAY;AAC1B,aAAOzU,OAAP;AACH,KAFD;AAGA;AACR;AACA;AACA;AACA;AACA;;;AACQsQ,IAAAA,KAAK,CAACy0B,WAAN,GAAoB,YAAY;AAC5B,aAAOC,YAAY,CAAChlC,OAAD,EAAUk6B,mBAAV,EAA+BsK,gBAA/B,CAAnB;AACH,KAFD;AAGA;AACR;AACA;AACA;AACA;;;AACQl0B,IAAAA,KAAK,CAAC20B,WAAN,GAAoB,YAAY;AAC5B,aAAOR,YAAP;AACH,KAFD;AAGA;AACR;AACA;AACA;AACA;AACA;;;AACQn0B,IAAAA,KAAK,CAAC40B,OAAN,GAAgB,YAAY;AACxB,aAAON,QAAP;AACH,KAFD;AAGA;AACR;AACA;AACA;;;AACQt0B,IAAAA,KAAK,CAACmI,KAAN,GAAc,YAAY;AACtB,UAAI;AACA,YAAImsB,QAAQ,IAAID,MAAM,CAAC73B,0DAAWA;AAAC;AAAb,SAAN,GAA2C,CAA3D,EAA8D;AAC1D1C,UAAAA,kFAAU,CAACu6B,MAAD,EAAS,UAAUvsI,IAAV,EAAgB;AAC/Bk4G,YAAAA,KAAK,CAAC9oG,WAAN,CAAkBpP,IAAI,CAAC+sI,KAAvB,EAA8B/sI,IAAI,CAAC40G,2DAAYA;AAAC;AAAd,aAAlC,EAAwE50G,IAAI,CAAC0+G,QAA7E;AACH,WAFS,CAAV;AAGA,iBAAO,IAAP;AACH;AACJ,OAPD,CAQA,OAAO/8F,GAAP,EAAY,CACR;AACH;;AACD,aAAO,KAAP;AACH,KAbD;AAcA;AACR;AACA;AACA;AACA;AACA;;;AACQu2F,IAAAA,KAAK,CAAC80B,YAAN,GAAqB,UAAUF,OAAV,EAAmB;AACpCN,MAAAA,QAAQ,GAAGx5B,yFAAiB,CAAC85B,OAAD,CAAjB,GAA6B,IAA7B,GAAoCA,OAA/C;AACA,aAAO50B,KAAK,CAACmI,KAAN,EAAP;AACH,KAHD;;AAIAnI,IAAAA,KAAK,CAAC9oG,WAAN,GAAoB,UAAU29H,KAAV,EAAiB1lJ,OAAjB,EAA0Bq3H,QAA1B,EAAoC;AACpD,UAAI8tB,QAAJ,EAAc;AACV,YAAI9W,WAAW,GAAGuX,aAAa,EAA/B;;AACA,YAAI,CAACvX,WAAL,EAAkB;AACd;AACH;;AACD,YAAIiX,WAAW,GAAGC,YAAY,CAAChlC,OAAD,EAAUk6B,mBAAV,EAA+BsK,gBAA/B,CAA9B;;AACA,YAAIc,SAAS,GAAG,KAAhB;AACA,YAAIC,MAAM,GAAG,CAAb;;AACA,YAAI;AACA,cAAIR,WAAW,IAAI,CAACN,YAApB,EAAkC;AAC9Bc,YAAAA,MAAM,GAAGzrF,IAAI,CAACzqC,GAAL,CAAS2wF,OAAO,CAACwlC,KAAR,CAAcC,aAAvB,EAAsCjB,gBAAgB,CAACpgB,yDAAUA;AAAC;AAAZ,aAAhB,GAAmD,CAAzF,CAAT;AACAogB,YAAAA,gBAAgB,CAACpgB,yDAAUA;AAAC;AAAZ,aAAhB,GAAmD,CAAnD;AACAkhB,YAAAA,SAAS,GAAG,IAAZ;AACAb,YAAAA,YAAY,GAAG,IAAf;AACAD,YAAAA,gBAAgB,CAACL,oEAAqBA;AAAC;AAAvB,aAAhB,GAAuE,IAAIx+F,IAAJ,EAAvE;AACH,WAND,MAOK;AACD8+F,YAAAA,YAAY,GAAGM,WAAf;AACAP,YAAAA,gBAAgB,CAACpgB,yDAAUA;AAAC;AAAZ,aAAhB,IAAoD,CAApD;AACH;;AACDshB,UAAAA,kBAAkB,CAACptB,OAAD,EAAUisB,iBAAV,EAA6BC,gBAA7B,CAAlB;;AACA,eAAK,IAAIjwI,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGgxI,MAApB,EAA4BhxI,CAAC,EAA7B,EAAiC;AAC7BoxI,YAAAA,YAAY,CAACR,KAAD,EAAQ7sB,OAAR,EAAiB74H,OAAjB,EAA0Bq3H,QAA1B,CAAZ;AACH;AACJ,SAhBD,CAiBA,OAAOvuF,CAAP,EAAU,CACN;AACH;;AACD,eAAO;AACHq9G,UAAAA,WAAW,EAAEN,SADV;AAEHO,UAAAA,WAAW,EAAEN;AAFV,SAAP;AAIH,OAhCD,MAiCK;AACDZ,QAAAA,MAAM,CAAC9gH,IAAP,CAAY;AACRshH,UAAAA,KAAK,EAAEA,KADC;AAER1lJ,UAAAA,OAAO,EAAEA,OAFD;AAGRq3H,UAAAA,QAAQ,EAAEA;AAHF,SAAZ;AAKH;;AACD,aAAO,IAAP;AACH,KA1CD;;AA2CA,aAASguB,WAAT,GAAuB;AACnB,UAAIn3G,EAAJ,EAAQE,EAAR;;AACAqsG,MAAAA,mBAAmB,GAAGI,0EAAqB,EAA3C;AACAhiB,MAAAA,OAAO,GAAGmB,qFAAa,CAACvG,IAAD,CAAvB;AACAuxB,MAAAA,YAAY,GAAG,KAAf;AACAC,MAAAA,WAAW,GAAGd,4FAAoB,CAACttB,UAAD,CAApB,GAAmCA,UAAnC,GAAgD,EAA9D;AACAquB,MAAAA,MAAM,GAAG,EAAT;AACA,UAAImB,SAAS,GAAGxB,WAAhB;AACAtkC,MAAAA,OAAO,GAAG,EAAV;AACAA,MAAAA,OAAO,CAACgkC,4DAAaA;AAAC;AAAf,OAAP,GAAgD,CAAC,CAAC8B,SAAS,CAAC9B,4DAAaA;AAAC;AAAf,OAA3D;AACAhkC,MAAAA,OAAO,CAAC+lC,MAAR,GAAiBD,SAAS,CAACC,MAA3B;AACA,UAAIC,cAAc,GAAGF,SAAS,CAAC5B,4DAAaA;AAAC;AAAf,OAAT,IAAmD,EAAxE;AACAW,MAAAA,oBAAoB,GAAG,CAACmB,cAAc,KAAK,IAAnB,IAA2BA,cAAc,KAAK,KAAK,CAAnD,GAAuD,KAAK,CAA5D,GAAgEA,cAAc,CAACC,WAAhF,KAAgG,CAACD,cAAc,KAAK,IAAnB,IAA2BA,cAAc,KAAK,KAAK,CAAnD,GAAuD,KAAK,CAA5D,GAAgEA,cAAc,CAACC,WAAf,CAA2Bn5B,0DAAWA;AAAC;AAAvC,OAAjE,IAAiI,CAAxP;AACA9M,MAAAA,OAAO,CAACkkC,4DAAaA;AAAC;AAAf,OAAP,GAAgDgC,kBAAkB,CAACF,cAAD,CAAlE;AACA,UAAIR,KAAK,GAAG;AACRnT,QAAAA,YAAY,EAAE,CAAC,CAAC1kG,EAAE,GAAGm4G,SAAS,CAACN,KAAhB,MAA2B,IAA3B,IAAmC73G,EAAE,KAAK,KAAK,CAA/C,GAAmD,KAAK,CAAxD,GAA4DA,EAAE,CAAC0kG,YAAhE,KAAiF,GADvF;AAER;AACAoT,QAAAA,aAAa,EAAE,CAAC,CAAC53G,EAAE,GAAGi4G,SAAS,CAACN,KAAhB,MAA2B,IAA3B,IAAmC33G,EAAE,KAAK,KAAK,CAA/C,GAAmD,KAAK,CAAxD,GAA4DA,EAAE,CAAC43G,aAAhE,KAAkF;AAHzF,OAAZ;AAKAzlC,MAAAA,OAAO,CAACwlC,KAAR,GAAgBA,KAAhB;AACAjB,MAAAA,iBAAiB,GAAG4B,oBAAoB,CAACnmC,OAAO,CAAC+lC,MAAT,EAAiBrB,WAAjB,CAAxC;;AACA,UAAIxK,mBAAmB,IAAIqK,iBAA3B,EAA8C;AAC1CC,QAAAA,gBAAgB,GAAG4B,mBAAmB,CAACxL,uEAAkB,CAACtiB,OAAD,EAAUisB,iBAAV,CAAnB,EAAiDjsB,OAAjD,EAA0DisB,iBAA1D,CAAtC;AACH;;AACD,UAAIC,gBAAJ,EAAsB;AAClBC,QAAAA,YAAY,GAAG4B,qBAAqB,CAAC7B,gBAAgB,CAACL,oEAAqBA;AAAC;AAAvB,SAAjB,CAApC;AACH;AACJ;;AACD,aAAS+B,kBAAT,CAA4B5vH,QAA5B,EAAsC;AAClCA,MAAAA,QAAQ,GAAGA,QAAQ,IAAI,EAAvB;AACA,UAAIgwH,aAAa,GAAGhwH,QAAQ,KAAK,IAAb,IAAqBA,QAAQ,KAAK,KAAK,CAAvC,GAA2C,KAAK,CAAhD,GAAoDA,QAAQ,CAACgwH,aAAjF;AACA,UAAIC,WAAW,GAAGjwH,QAAQ,KAAK,IAAb,IAAqBA,QAAQ,KAAK,KAAK,CAAvC,GAA2C,KAAK,CAAhD,GAAoDA,QAAQ,CAACiwH,WAA/E,CAHkC,CAIlC;;AACA,UAAIn7B,yFAAiB,CAACk7B,aAAD,CAAjB,IAAoCl7B,yFAAiB,CAACm7B,WAAD,CAAzD,EAAwE;AACpEjwH,QAAAA,QAAQ,CAACgwH,aAAT,GAAyB,CAAzB;;AACA,YAAI,CAACzB,oBAAL,EAA2B;AACvB;AACAvuH,UAAAA,QAAQ,CAACytH,iEAAkBA;AAAC;AAApB,WAAR,GAAyD,CAAC,EAAD,CAAzD;AACAc,UAAAA,oBAAoB,GAAG,IAAvB;AACH;AACJ;;AACDvuH,MAAAA,QAAQ,GAAG;AACP;AACAgwH,QAAAA,aAAa,EAAEhwH,QAAQ,KAAK,IAAb,IAAqBA,QAAQ,KAAK,KAAK,CAAvC,GAA2C,KAAK,CAAhD,GAAoDA,QAAQ,CAACgwH,aAFrE;AAGPC,QAAAA,WAAW,EAAEjwH,QAAQ,KAAK,IAAb,IAAqBA,QAAQ,KAAK,KAAK,CAAvC,GAA2C,KAAK,CAAhD,GAAoDA,QAAQ,CAACiwH,WAHnE;AAIPN,QAAAA,WAAW,EAAE3vH,QAAQ,KAAK,IAAb,IAAqBA,QAAQ,KAAK,KAAK,CAAvC,GAA2C,KAAK,CAAhD,GAAoDA,QAAQ,CAAC2vH;AAJnE,OAAX;AAMA,aAAO3vH,QAAP;AACH;;AACD,aAAS0uH,YAAT,CAAsB1nJ,MAAtB,EAA8BkpJ,kBAA9B,EAAkDC,eAAlD,EAAmE;AAC/D,UAAI,CAACnpJ,MAAM,CAAC0mJ,4DAAaA;AAAC;AAAf,OAAP,IAAiDwC,kBAAjD,IAAuE5C,4FAAoB,CAAC6C,eAAD,CAA/F,EAAkH;AAC9G,YAAIC,OAAO,GAAGC,gBAAgB,EAA9B;;AACA,YAAIp+B,IAAI,GAAGk+B,eAAe,CAAC3C,wDAASA;AAAC;AAAX,SAA1B;AACA,YAAIxtH,QAAQ,GAAGh5B,MAAM,CAAC4mJ,4DAAaA;AAAC;AAAf,SAArB;AACA,YAAI0C,UAAU,GAAG,CAAjB;;AACA,YAAItwH,QAAQ,KAAK,IAAb,IAAqBA,QAAQ,KAAK,KAAK,CAAvC,GAA2C,KAAK,CAAhD,GAAoDA,QAAQ,CAACgwH,aAAjE,EAAgF;AAC5E,cAAIO,WAAW,GAAG,CAACH,OAAO,CAACI,cAAR,KAA2Bv+B,IAAI,CAACu+B,cAAL,EAA5B,IAAqD,EAArD,GAA0DJ,OAAO,CAACK,WAAR,EAA1D,GAAkFx+B,IAAI,CAACw+B,WAAL,EAApG;AACAH,UAAAA,UAAU,GAAGI,cAAc,CAAC1wH,QAAQ,CAACgwH,aAAV,EAAyB,CAAzB,EAA4BO,WAA5B,CAA3B;AACH;;AACD,YAAII,QAAQ,GAAG,CAAf;;AACA,YAAIpC,oBAAJ,EAA0B;AACtBoC,UAAAA,QAAQ,GAAGljB,kFAAU,CAACztG,QAAQ,CAACytH,iEAAkBA;AAAC;AAApB,WAAT,EAAyD2C,OAAO,CAACzC,+DAAgBA;AAAC;AAAlB,WAAP,EAAzD,CAArB;AACH,SAFD,MAGK,IAAI3tH,QAAQ,KAAK,IAAb,IAAqBA,QAAQ,KAAK,KAAK,CAAvC,GAA2C,KAAK,CAAhD,GAAoDA,QAAQ,CAACiwH,WAAjE,EAA8E;AAC/E,cAAIW,OAAO,GAAGptF,IAAI,CAACkwC,KAAL,CAAW,CAAC08C,OAAO,CAAC7gG,OAAR,KAAoB0iE,IAAI,CAAC1iE,OAAL,EAArB,IAAuC,QAAlD,CAAd;AACAohG,UAAAA,QAAQ,GAAGD,cAAc,CAAC1wH,QAAQ,CAACiwH,WAAV,EAAuB,CAAvB,EAA0BW,OAA1B,CAAzB;AACH;;AACD,eAAON,UAAU,IAAI,CAAd,IAAmBK,QAAQ,IAAI,CAAtC;AACH;;AACD,aAAO,KAAP;AACH;;AACD,aAASd,oBAAT,CAA8BJ,MAA9B,EAAsCoB,MAAtC,EAA8C;AAC1C,UAAIC,GAAG,GAAGxD,4FAAoB,CAACuD,MAAD,CAApB,GAA+BA,MAA/B,GAAwC,EAAlD;;AACA,UAAIpB,MAAJ,EAAY;AACR,eAAO3B,uBAAuB,GAAGgD,GAA1B,GAAgC,GAAhC,GAAsCrB,MAA7C;AACH;;AACD,aAAO,IAAP;AACH,KA9L+C,CA+LhD;;;AACA,aAASM,qBAAT,CAA+BgB,cAA/B,EAA+C;AAC3C,UAAI;AACA,YAAIA,cAAJ,EAAoB;AAChB,cAAIX,OAAO,GAAG,IAAI/gG,IAAJ,EAAd;AACA,iBAAO0hG,cAAc,CAACP,cAAf,OAAoCJ,OAAO,CAACI,cAAR,EAApC,IACHO,cAAc,CAACN,WAAf,OAAiCL,OAAO,CAACK,WAAR,EAD9B,IAEHM,cAAc,CAACpD,+DAAgBA;AAAC;AAAlB,WAAd,OAAgEyC,OAAO,CAACzC,+DAAgBA;AAAC;AAAlB,WAAP,EAFpE;AAGH;AACJ,OAPD,CAQA,OAAO17G,CAAP,EAAU,CACN;AACH;;AACD,aAAO,KAAP;AACH,KA7M+C,CA8MhD;;;AACA,aAAS69G,mBAAT,CAA6Bt3I,KAA7B,EAAoCyuB,MAApC,EAA4C+pH,WAA5C,EAAyD;AACrD,UAAI;AACA,YAAIC,UAAU,GAAG;AACbh/B,UAAAA,IAAI,EAAEo+B,gBAAgB,EADT;AAEbn6F,UAAAA,KAAK,EAAE;AAFM,SAAjB;;AAIA,YAAI19C,KAAJ,EAAW;AACP,cAAIilB,GAAG,GAAGtX,IAAI,CAACC,KAAL,CAAW5N,KAAX,CAAV;AACA,iBAAO;AACHy5G,YAAAA,IAAI,EAAEo+B,gBAAgB,CAAC5yH,GAAG,CAAC+vH,wDAASA;AAAC;AAAX,aAAJ,CAAhB,IAAuDyD,UAAU,CAACzD,wDAASA;AAAC;AAAX,aADpE;AAEHt3F,YAAAA,KAAK,EAAEz4B,GAAG,CAACqwG,yDAAUA;AAAC;AAAZ,aAAH,IAAuCmjB,UAAU,CAACnjB,yDAAUA;AAAC;AAAZ,aAFrD;AAGHijB,YAAAA,cAAc,EAAEtzH,GAAG,CAACszH,cAAJ,GAAqBV,gBAAgB,CAAC5yH,GAAG,CAACowH,oEAAqBA;AAAC;AAAvB,aAAJ,CAArC,GAAiGl0G;AAH9G,WAAP;AAKH,SAPD,MAQK;AACDy1G,UAAAA,kBAAkB,CAACnoH,MAAD,EAAS+pH,WAAT,EAAsBC,UAAtB,CAAlB;;AACA,iBAAOA,UAAP;AACH;AACJ,OAjBD,CAkBA,OAAOh/G,CAAP,EAAU,CACN;AACH;;AACD,aAAO,IAAP;AACH,KAtO+C,CAuOhD;;;AACA,aAASo+G,gBAAT,CAA0Ba,OAA1B,EAAmC;AAC/B;AACA,UAAI;AACA,YAAIA,OAAJ,EAAa;AACT,cAAIj/B,IAAI,GAAG,IAAI5iE,IAAJ,CAAS6hG,OAAT,CAAX,CADS,CAET;;AACA,cAAI,CAACl2H,KAAK,CAACi3F,IAAI,CAACk/B,OAAL,EAAD,CAAV,EAA4B;AACxB,mBAAOl/B,IAAP;AACH;AACJ,SAND,MAOK;AACD,iBAAO,IAAI5iE,IAAJ,EAAP;AACH;AACJ,OAXD,CAYA,OAAOpd,CAAP,EAAU,CACN;AACH;;AACD,aAAO,IAAP;AACH;;AACD,aAASm9G,kBAAT,CAA4BnoH,MAA5B,EAAoC+pH,WAApC,EAAiDvzH,GAAjD,EAAsD;AAClD,UAAI;AACA,eAAO8mH,uEAAkB,CAACt9G,MAAD,EAAS+pH,WAAT,EAAsBpM,+EAAO,CAACz+H,IAAI,CAACuhH,6DAAcA;AAAC;AAAhB,SAAJ,CAA6CjqG,GAA7C,CAAD,CAA7B,CAAzB;AACH,OAFD,CAGA,OAAOwU,CAAP,EAAU,CACN;AACH;;AACD,aAAO,KAAP;AACH;;AACD,aAASy+G,cAAT,CAAwB1wH,QAAxB,EAAkC+tF,KAAlC,EAAyCpP,OAAzC,EAAkD;AAC9C;AACA,aAAQA,OAAO,IAAIoP,KAAZ,IAAsB,CAACpP,OAAO,GAAGoP,KAAX,IAAoB/tF,QAApB,IAAgC,CAAtD,GAA0DwjC,IAAI,CAACkwC,KAAL,CAAW,CAACiL,OAAO,GAAGoP,KAAX,IAAoB/tF,QAA/B,IAA2C,CAArG,GAAyG,CAAC,CAAjH;AACH;;AACD,aAASqvH,YAAT,CAAsBR,KAAtB,EAA6B5nH,MAA7B,EAAqC99B,OAArC,EAA8Cq3H,QAA9C,EAAwD;AACpD7F,MAAAA,sFAAc,CAAC1zF,MAAD,EAASu5F,QAAQ,IAAI;AAAE;AAAvB,QAAwDquB,KAAxD,EAA+D1lJ,OAA/D,CAAd;AACH,KA1Q+C,CA2QhD;AACA;;;AACA,aAAS4lJ,aAAT,GAAyB;AACrB,aAAOxB,mFAAW,CAAC,OAAD,CAAX,IAAwB7jC,OAAO,CAACwlC,KAAR,CAAcnT,YAA7C;AACH;AACJ;;AACD,SAAOgS,WAAP;AACH,CAnRgC,EAAjC;;;;;;;;;;;;;;;;;;;;;;;;;ACRA;AACA;AACA;AACA;AAGA;AACA;;AACA,IAAItiH,SAAS,GAAG4oF,mFAAW,MAAM,EAAjC;;AACA,IAAIg9B,cAAc,GAAG,CAArB,EACA;AACA;;AACA,IAAIC,kBAAkB,GAAG,CAAC,IAAD,EAAO,IAAP,EAAa,IAAb,EAAmB,IAAnB,EAAyB,IAAzB,CAAzB;AACO,SAASC,WAAT,CAAqB7sI,GAArB,EAA0B;AAC7B,MAAI8sI,SAAS,GAAGH,cAAhB;AACA,MAAII,WAAW,GAAGH,kBAAlB;AACA,MAAII,UAAU,GAAGD,WAAW,CAACD,SAAD,CAA5B;;AACA,MAAI,CAAC/lH,SAAS,CAAC0C,aAAf,EAA8B;AAC1B;AACAujH,IAAAA,UAAU,GAAG;AAAEt/D,MAAAA,IAAI,EAAEu/D,YAAY,CAACjtI,GAAD,EAAM,IAAN;AAApB,KAAb;AACH,GAHD,MAIK,IAAI,CAAC+sI,WAAW,CAACD,SAAD,CAAhB,EAA6B;AAC9B;AACAE,IAAAA,UAAU,GAAGD,WAAW,CAACD,SAAD,CAAX,GAAyB/lH,SAAS,CAAC0C,aAAV,CAAwB,GAAxB,CAAtC;AACH;;AACDujH,EAAAA,UAAU,CAACt7H,IAAX,GAAkB1R,GAAlB,CAZ6B,CAa7B;;AACA8sI,EAAAA,SAAS;;AACT,MAAIA,SAAS,IAAIC,WAAW,CAACj7B,0DAAWA;AAAC;AAAb,GAA5B,EAAgE;AAC5Dg7B,IAAAA,SAAS,GAAG,CAAZ;AACH;;AACDH,EAAAA,cAAc,GAAGG,SAAjB;AACA,SAAOE,UAAP;AACH;AACM,SAASE,iBAAT,CAA2BltI,GAA3B,EAAgC;AACnC,MAAIzL,MAAJ;AACA,MAAIywE,CAAC,GAAG6nE,WAAW,CAAC7sI,GAAD,CAAnB;;AACA,MAAIglE,CAAJ,EAAO;AACHzwE,IAAAA,MAAM,GAAGywE,CAAC,CAACtzD,IAAX;AACH;;AACD,SAAOnd,MAAP;AACH;AACM,SAAS44I,cAAT,CAAwBntI,GAAxB,EAA6B;AAChC,MAAIzL,MAAJ;AACA,MAAIywE,CAAC,GAAG6nE,WAAW,CAAC7sI,GAAD,CAAnB;;AACA,MAAIglE,CAAJ,EAAO;AACHzwE,IAAAA,MAAM,GAAGywE,CAAC,CAAC0nE,4DAAaA;AAAC;AAAf,KAAV;AACH;;AACD,SAAOn4I,MAAP;AACH;AACM,SAAS64I,iBAAT,CAA2BjmH,MAA3B,EAAmCytC,WAAnC,EAAgD;AACnD,MAAIztC,MAAJ,EAAY;AACR,WAAOA,MAAM,CAAC89D,WAAP,KAAuB,GAAvB,GAA6BrwB,WAApC;AACH;;AACD,SAAOA,WAAP;AACH,EACD;;AACO,SAASq4E,YAAT,CAAsBjtI,GAAtB,EAA2BqtI,QAA3B,EAAqC;AACxC,MAAIC,QAAQ,GAAGC,gBAAgB,CAACvtI,GAAD,EAAMqtI,QAAN,CAAhB,IAAmC,EAAlD;;AACA,MAAIC,QAAJ,EAAc;AACV,QAAIxgE,KAAK,GAAGwgE,QAAQ,CAACxgE,KAAT,CAAe,6CAAf,CAAZ;;AACA,QAAIA,KAAK,IAAI,IAAT,IAAiBA,KAAK,CAACglC,0DAAWA;AAAC;AAAb,KAAL,GAA0C,CAA3D,IAAgEzB,gFAAQ,CAACvjC,KAAK,CAAC,CAAD,CAAN,CAAxE,IAAsFA,KAAK,CAAC,CAAD,CAAL,CAASglC,0DAAWA;AAAC;AAArB,QAA6C,CAAvI,EAA0I;AACtI,aAAOhlC,KAAK,CAAC,CAAD,CAAL,IAAYA,KAAK,CAAC,CAAD,CAAL,IAAY,EAAxB,CAAP;AACH;AACJ;;AACD,SAAOwgE,QAAP;AACH;AACM,SAASC,gBAAT,CAA0BvtI,GAA1B,EAA+BqtI,QAA/B,EAAyC;AAC5C,MAAI94I,MAAM,GAAG,IAAb;;AACA,MAAIyL,GAAJ,EAAS;AACL,QAAI8sE,KAAK,GAAG9sE,GAAG,CAAC8sE,KAAJ,CAAU,8CAAV,CAAZ;;AACA,QAAIA,KAAK,IAAI,IAAT,IAAiBA,KAAK,CAACglC,0DAAWA;AAAC;AAAb,KAAL,GAA0C,CAA3D,IAAgEzB,gFAAQ,CAACvjC,KAAK,CAAC,CAAD,CAAN,CAAxE,IAAsFA,KAAK,CAAC,CAAD,CAAL,CAASglC,0DAAWA;AAAC;AAArB,QAA6C,CAAvI,EAA0I;AACtIv9G,MAAAA,MAAM,GAAGu4E,KAAK,CAAC,CAAD,CAAL,IAAY,EAArB;;AACA,UAAIugE,QAAQ,IAAIvgE,KAAK,CAACglC,0DAAWA;AAAC;AAAb,OAAL,GAA0C,CAA1D,EAA6D;AACzD,YAAI4jB,QAAQ,GAAG,CAAC5oD,KAAK,CAAC,CAAD,CAAL,IAAY,EAAb,EAAiBsrD,iEAAkBA;AAAC;AAApC,WAAf;;AACA,YAAIoV,IAAI,GAAG1gE,KAAK,CAAC,CAAD,CAAL,IAAY,EAAvB,CAFyD,CAGzD;;AACA,YAAI4oD,QAAQ,KAAK,MAAb,IAAuB8X,IAAI,KAAK,KAApC,EAA2C;AACvCA,UAAAA,IAAI,GAAG,EAAP;AACH,SAFD,MAGK,IAAI9X,QAAQ,KAAK,OAAb,IAAwB8X,IAAI,KAAK,MAArC,EAA6C;AAC9CA,UAAAA,IAAI,GAAG,EAAP;AACH;;AACDj5I,QAAAA,MAAM,IAAIi5I,IAAV;AACH;AACJ;AACJ;;AACD,SAAOj5I,MAAP;AACH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACxFD;AACA;AACA;AACA;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;CAEA;;AACA,IAAIm6I,kBAAkB,GAAG,CACrBpjB,+DAAuB,GAAGC,2DADL,EAErB,gDAAgDA,2DAF3B,EAGrB,6CAA6CA,2DAHxB,CAAzB;AAKO,SAASI,qCAAT,CAA+C0C,WAA/C,EAA4D;AAC/D,SAAOtF,kFAAU,CAAC2lB,kBAAD,EAAqBrgB,WAAW,CAAC+J,iEAAkBA;AAAC;AAApB,GAAX,EAArB,CAAV,KAAgG,CAAC,CAAxG;AACH;AACM,IAAIuW,IAAI,GAAG;AACdC,EAAAA,YAAY,EAAE//B,uDADA;AAEdJ,EAAAA,cAAc,EAAEA,2DAFF;AAGdogC,EAAAA,cAAc,EAAE9/B,kEAHF;AAId4c,EAAAA,qCAAqC,EAAEA,qCAJzB;AAKd6f,EAAAA,kBAAkB,EAAElM,sEALN;AAMdwP,EAAAA,UAAU,EAAElP,mEANE;AAOdmP,EAAAA,UAAU,EAAElP,mEAPE;AAQdmP,EAAAA,aAAa,EAAElP,iEARD;AASdmP,EAAAA,oBAAoB,EAAEtuB,wEATR;AAUduuB,EAAAA,qBAAqB,EAAEnP,yEAVT;AAWdoP,EAAAA,iBAAiB,EAAEvuB,qEAXL;AAYdwuB,EAAAA,iBAAiB,EAAEtuB,qEAZL;AAaduuB,EAAAA,oBAAoB,EAAExuB,wEAbR;AAcditB,EAAAA,cAAc,EAAEC,kFAdF;AAedL,EAAAA,aAAa,EAAEC,iFAfD;AAgBd2B,EAAAA,qBAAqB,EAAEd,2FAhBT;AAiBd5sI,EAAAA,SAAS,EAAE2sI,6EAjBG;AAkBdz/B,EAAAA,qBAAqB,EAAEA,+DAlBT;AAmBdjrH,EAAAA,SAAS,EAAEmqJ,6EAnBG;AAoBdJ,EAAAA,YAAY,EAAEC,gFApBA;AAqBdjtE,EAAAA,IAAI,EAAEs/D,2EArBQ;AAsBdmO,EAAAA,KAAK,EAAEA,yEAtBO;AAuBdC,EAAAA,QAAQ,EAAE,YAAY;AAClB,WAAOA,gFAAQ,CAAC,IAAD,CAAf;AACH,GAzBa;AA0Bd5+B,EAAAA,aAAa,EAAEA,iFA1BD;AA2Bd1L,EAAAA,OAAO,EAAEA,2EA3BK;AA4BdkM,EAAAA,OAAO,EAAEA,2EA5BK;AA6Bdg+B,EAAAA,MAAM,EAAEA,0EA7BM;AA8BdqB,EAAAA,iBAAiB,EAAEn2H,+EA9BL;AA+BdwyG,EAAAA,YAAY,EAAEA,gFA/BA;AAgCdtN,EAAAA,YAAY,EAAEA,sDAhCA;AAiCd1P,EAAAA,kBAAkB,EAAEA,4DAjCN;AAkCd4gC,EAAAA,IAAI,EAAEjgC,2EAlCQ;AAmCdK,EAAAA,gBAAgB,EAAEq+B,oFAnCJ;AAoCdwB,EAAAA,eAAe,EAAEhC,gFApCH;AAqCdiC,EAAAA,oBAAoB,EAAE7jB,sFArCR;AAsCd8jB,EAAAA,YAAY,EAAE7V,4DAAkBA;AAtClB,CAAX;AAwCA,IAAI8V,SAAS,GAAG;AACnBzrH,EAAAA,QAAQ,EAAE0oH,yDADS;AAEnB9jH,EAAAA,cAAc,EAAEmkH,+DAFG;AAGnB2C,EAAAA,WAAW,EAAE1C,4DAHM;AAInB2C,EAAAA,cAAc,EAAE1C,+DAJG;AAKnB2C,EAAAA,SAAS,EAAE9C,0DALQ;AAMnB+C,EAAAA,aAAa,EAAEzC,8DAAgBA;AANZ,CAAhB;AAQA,IAAI0C,mBAAmB,GAAG;AAC7BC,EAAAA,mBAAmB,EAAE,SADQ;;AAE7B;AACJ;AACA;AACA;AACA;AACA;AACA;AACIC,EAAAA,2BAA2B,EAAE,UAAU7tJ,MAAV,EAAkB4yE,UAAlB,EAA8Bk7E,WAA9B,EAA2C;AACpE,QAAI,CAACl7E,UAAD,IAAgB5yE,MAAM,IAAIA,MAAM,CAAC+tJ,yBAArC,EAAiE;AAC7D,aAAO,KAAP;AACH;;AACD,QAAI/tJ,MAAM,IAAIA,MAAM,CAACmsJ,yEAA0BA;AAAC;AAA5B,KAApB,EAAiG;AAC7F,WAAK,IAAIl1I,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGjX,MAAM,CAACguJ,gCAAP,CAAwCx+B,0DAAWA;AAAC;AAApD,OAApB,EAA+Fv4G,CAAC,EAAhG,EAAoG;AAChG,YAAIjX,MAAM,CAACmsJ,yEAA0BA;AAAC;AAA5B,SAAN,CAAkFl1I,CAAlF,EAAqF0e,IAArF,CAA0Fi9C,UAA1F,CAAJ,EAA2G;AACvG,iBAAO,KAAP;AACH;AACJ;AACJ;;AACD,QAAIq7E,WAAW,GAAG1D,6DAAW,CAAC33E,UAAD,CAAX,CAAwBwY,IAAxB,CAA6B0qD,iEAAkBA;AAAC;AAAhD,OAAlB;;AACA,QAAImY,WAAW,KAAKA,WAAW,CAAClN,4DAAaA;AAAC;AAAf,KAAX,CAAiD,MAAjD,MAA6D,CAAC,CAA9D,IAAmEkN,WAAW,CAAClN,4DAAaA;AAAC;AAAf,KAAX,CAAiD,KAAjD,MAA4D,CAAC,CAArI,CAAf,EAAwJ;AACpJ;AACA;AACAkN,MAAAA,WAAW,GAAG,CAAChD,kEAAgB,CAACr4E,UAAD,EAAa,IAAb,CAAhB,IAAsC,EAAvC,EAA2CkjE,iEAAkBA;AAAC;AAA9D,SAAd;AACH;;AACD,QAAI,CAAC,CAAC91I,MAAD,IAAW,CAACA,MAAM,CAACkuJ,qBAApB,KAA+CD,WAAW,IAAIA,WAAW,KAAKH,WAAlF,EAAgG;AAC5F,aAAO,KAAP;AACH;;AACD,QAAIK,eAAe,GAAGnuJ,MAAM,IAAIA,MAAM,CAACouJ,wBAAvC;;AACA,QAAID,eAAJ,EAAqB;AACjB,UAAIE,aAAJ;AACAvhC,MAAAA,kFAAU,CAACqhC,eAAD,EAAkB,UAAUrrB,MAAV,EAAkB;AAC1C,YAAIrtG,KAAK,GAAG,IAAIC,MAAJ,CAAWotG,MAAM,CAACn7F,WAAP,GAAqBhoB,OAArB,CAA6B,KAA7B,EAAoC,MAApC,EAA4CA,OAA5C,CAAoD,KAApD,EAA2D,KAA3D,EAAkEA,OAAlE,CAA0E,KAA1E,EAAiF,IAAjF,CAAX,CAAZ;AACA0uI,QAAAA,aAAa,GAAGA,aAAa,IAAI54H,KAAK,CAACE,IAAN,CAAWs4H,WAAX,CAAjC;AACH,OAHS,CAAV;;AAIA,UAAI,CAACI,aAAL,EAAoB;AAChB,eAAO,KAAP;AACH;AACJ;;AACD,QAAIC,eAAe,GAAGtuJ,MAAM,IAAIA,MAAM,CAACuuJ,gCAAvC;;AACA,QAAI,CAACD,eAAD,IAAoBA,eAAe,CAAC9+B,0DAAWA;AAAC;AAAb,KAAf,KAAsD,CAA9E,EAAiF;AAC7E,aAAO,IAAP;AACH;;AACD,SAAK,IAAIv4G,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGq3I,eAAe,CAAC9+B,0DAAWA;AAAC;AAAb,KAAnC,EAAuEv4G,CAAC,EAAxE,EAA4E;AACxE,UAAIwe,KAAK,GAAG,IAAIC,MAAJ,CAAW44H,eAAe,CAACr3I,CAAD,CAAf,CAAmB0wB,WAAnB,GAAiChoB,OAAjC,CAAyC,KAAzC,EAAgD,MAAhD,EAAwDA,OAAxD,CAAgE,KAAhE,EAAuE,KAAvE,EAA8EA,OAA9E,CAAsF,KAAtF,EAA6F,IAA7F,CAAX,CAAZ;;AACA,UAAI8V,KAAK,CAACE,IAAN,CAAWs4H,WAAX,CAAJ,EAA6B;AACzB,eAAO,KAAP;AACH;AACJ,KAxCmE,CAyCpE;AACA;;;AACA,WAAOA,WAAW,IAAIA,WAAW,CAACz+B,0DAAWA;AAAC;AAAb,KAAX,GAAgD,CAAtE;AACH,GArD4B;;AAsD7B;AACJ;AACA;AACIg/B,EAAAA,qBAAqB,EAAE,UAAUC,cAAV,EAA0B;AAC7C,QAAIA,cAAJ,EAAoB;AAChB,UAAIx9G,aAAa,GAAG08G,mBAAmB,CAACe,0BAApB,CAA+CD,cAA/C,EAA+DrlB,uEAA/D,CAApB;;AACA,UAAIn4F,aAAa,IAAIA,aAAa,KAAK08G,mBAAmB,CAACC,mBAA3D,EAAgF;AAC5E,eAAO38G,aAAP;AACH;AACJ;AACJ,GAhE4B;;AAiE7B;AACJ;AACA;AACIy9G,EAAAA,0BAA0B,EAAE,UAAUD,cAAV,EAA0BroH,GAA1B,EAA+B;AACvD,QAAIqoH,cAAJ,EAAoB;AAChB,UAAIE,SAAS,GAAGF,cAAc,CAAC5Y,yDAAUA;AAAC;AAAZ,OAAd,CAA+C,GAA/C,CAAhB;;AACA,WAAK,IAAI5+H,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAG03I,SAAS,CAACn/B,0DAAWA;AAAC;AAAb,OAA7B,EAAiE,EAAEv4G,CAAnE,EAAsE;AAClE,YAAI23I,QAAQ,GAAGD,SAAS,CAAC13I,CAAD,CAAT,CAAa4+H,yDAAUA;AAAC;AAAxB,UAA6C,GAA7C,CAAf;;AACA,YAAI+Y,QAAQ,CAACp/B,0DAAWA;AAAC;AAAb,SAAR,KAA+C,CAA/C,IAAoDo/B,QAAQ,CAAC,CAAD,CAAR,KAAgBxoH,GAAxE,EAA6E;AACzE,iBAAOwoH,QAAQ,CAAC,CAAD,CAAf;AACH;AACJ;AACJ;AACJ;AA9E4B,CAA1B;AAgFA,SAAShJ,6BAAT,CAAuC3lH,MAAvC,EAA+CqyC,WAA/C,EAA4DztC,MAA5D,EAAoEghH,WAApE,EAAiF;AACpF,MAAI33F,MAAJ;AAAA,MAAYp9C,IAAI,GAAG+0I,WAAnB;AAAA,MAAgC59I,IAAI,GAAG49I,WAAvC;;AACA,MAAIvzE,WAAW,IAAIA,WAAW,CAACk9C,0DAAWA;AAAC;AAAb,GAAX,GAAgD,CAAnE,EAAsE;AAClE,QAAIq/B,SAAS,GAAGtE,6DAAW,CAACj4E,WAAD,CAA3B;AACApkB,IAAAA,MAAM,GAAG2gG,SAAS,CAACzjE,IAAnB;;AACA,QAAI,CAACt6E,IAAL,EAAW;AACP,UAAI+9I,SAAS,CAACzE,4DAAaA;AAAC;AAAf,OAAT,IAAmD,IAAvD,EAA6D;AACzD,YAAI0E,QAAQ,GAAID,SAAS,CAACvtE,QAAV,CAAmBkuC,0DAAWA;AAAC;AAA/B,cAAyD,CAA1D,GAA+D,GAA/D,GAAqEq/B,SAAS,CAACzE,4DAAaA;AAAC;AAAf,SAA7F;;AACA,YAAI0E,QAAQ,CAACjnG,MAAT,CAAgB,CAAhB,MAAuB,GAA3B,EAAgC;AAC5BinG,UAAAA,QAAQ,GAAG,MAAMA,QAAjB;AACH;;AACD7mJ,QAAAA,IAAI,GAAG4mJ,SAAS,CAACzE,4DAAaA;AAAC;AAAf,SAAhB;AACAt5I,QAAAA,IAAI,GAAGu7G,oFAAkB,CAACpsF,MAAD,EAAS4E,MAAM,GAAGA,MAAM,GAAG,GAAT,GAAeiqH,QAAlB,GAA6BA,QAA5C,CAAzB;AACH,OAPD,MAQK;AACDh+I,QAAAA,IAAI,GAAGu7G,oFAAkB,CAACpsF,MAAD,EAASqyC,WAAT,CAAzB;AACH;AACJ;AACJ,GAhBD,MAiBK;AACDpkB,IAAAA,MAAM,GAAG23F,WAAT;AACA/0I,IAAAA,IAAI,GAAG+0I,WAAP;AACH;;AACD,SAAO;AACH33F,IAAAA,MAAM,EAAEA,MADL;AAEHp9C,IAAAA,IAAI,EAAEA,IAFH;AAGH7I,IAAAA,IAAI,EAAEA;AAHH,GAAP;AAKH;AACM,SAAS8mJ,gBAAT,GAA4B;AAC/B;AACA,MAAIlyB,IAAI,GAAGX,sFAAc,EAAzB;;AACA,MAAIW,IAAI,IAAIA,IAAI,CAACz1D,GAAb,IAAoBy1D,IAAI,CAACC,MAA7B,EAAqC;AACjC,QAAI11D,GAAG,GAAGy1D,IAAI,CAACz1D,GAAL,KAAay1D,IAAI,CAACC,MAAL,CAAYkyB,eAAnC,CADiC,CAEjC;;AACA,QAAI5nF,GAAG,GAAG,CAAV,EAAa;AACT,aAAOA,GAAP;AACH;AACJ;;AACD,SAAOs3D,+EAAO,EAAd;AACH;AACM,SAAS3E,qBAAT,CAA+BhT,KAA/B,EAAsCC,GAAtC,EAA2C;AAC9C,MAAI/0G,MAAM,GAAG,IAAb;;AACA,MAAI80G,KAAK,KAAK,CAAV,IAAeC,GAAG,KAAK,CAAvB,IAA4B,CAAC8G,yFAAiB,CAAC/G,KAAD,CAA9C,IAAyD,CAAC+G,yFAAiB,CAAC9G,GAAD,CAA/E,EAAsF;AAClF/0G,IAAAA,MAAM,GAAG+0G,GAAG,GAAGD,KAAf;AACH;;AACD,SAAO90G,MAAP;AACH;AACD;AACA;AACA;;AACO,IAAIg9I,aAAa,GAAG;AACvBC,EAAAA,GAAG,EAAEH,gBADkB;AAEvBI,EAAAA,WAAW,EAAEp1B;AAFU,CAApB;AAIP;AACA;AACA;AACA;AACA;AACA;;AACO,SAAS7N,sCAAT,CAAgD6M,cAAhD,EAAgEq2B,SAAhE,EAA2E;AAC9E,MAAI9lH,KAAK,GAAGyvF,cAAc,IAAI,EAA9B;AACA,SAAO;AACHs2B,IAAAA,OAAO,EAAE,YAAY;AACjB,aAAO/lH,KAAK,CAACm3F,wDAASA;AAAC;AAAX,OAAZ;AACH,KAHE;AAIHpH,IAAAA,OAAO,EAAE,UAAU/xD,QAAV,EAAoB;AACzB8nF,MAAAA,SAAS,IAAIA,SAAS,CAAC/1B,OAAV,CAAkB/xD,QAAlB,CAAb;AACAh+B,MAAAA,KAAK,CAACm3F,wDAASA;AAAC;AAAX,OAAL,GAAsCn5D,QAAtC;AACH,KAPE;AAQHgoF,IAAAA,UAAU,EAAE,YAAY;AACpB,aAAOhmH,KAAK,CAACimH,OAAb;AACH,KAVE;AAWHp2B,IAAAA,UAAU,EAAE,UAAU7xD,QAAV,EAAoB;AAC5B8nF,MAAAA,SAAS,IAAIA,SAAS,CAACj2B,UAAV,CAAqB7xD,QAArB,CAAb;;AACA,UAAIwkF,uFAAc,CAACxkF,QAAD,CAAlB,EAA8B;AAC1Bh+B,QAAAA,KAAK,CAACimH,OAAN,GAAgBjoF,QAAhB;AACH;AACJ,KAhBE;AAiBHkoF,IAAAA,SAAS,EAAE,YAAY;AACnB,aAAOlmH,KAAK,CAAC+5F,QAAb;AACH,KAnBE;AAoBHosB,IAAAA,SAAS,EAAE,UAAUnoF,QAAV,EAAoB;AAC3B8nF,MAAAA,SAAS,IAAIA,SAAS,CAACK,SAAV,CAAoBnoF,QAApB,CAAb;;AACA,UAAIukF,sFAAa,CAACvkF,QAAD,CAAjB,EAA6B;AACzBh+B,QAAAA,KAAK,CAAC+5F,QAAN,GAAiB/7D,QAAjB;AACH;AACJ,KAzBE;AA0BHooF,IAAAA,aAAa,EAAE,YAAY;AACvB,aAAOpmH,KAAK,CAACqmH,UAAb;AACH,KA5BE;AA6BHC,IAAAA,aAAa,EAAE,UAAUC,aAAV,EAAyB;AACpCT,MAAAA,SAAS,IAAIA,SAAS,CAACQ,aAAV,CAAwBC,aAAxB,CAAb;AACAvmH,MAAAA,KAAK,CAACqmH,UAAN,GAAmBE,aAAnB;AACH;AAhCE,GAAP;AAkCH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACzPD;AACA;AACA;AACA;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,IAAIha,UAAU,GAAG,OAAjB,EAA0B;;AAC1B,IAAIrmB,WAAW,GAAG,QAAlB,EAA4B;;AAC5B,IAAIsmB,kBAAkB,GAAG,aAAzB,EAAwC;;AACxC,IAAIF,sBAAsB,GAAG,mBAA7B,EAAkD;;AAClD,IAAI1lB,cAAc,GAAG,UAArB,EAAiC;;AACjC,IAAIysB,gBAAgB,GAAG,YAAvB,EAAqC;;AACrC,IAAIlc,SAAS,GAAG,MAAhB,EAAwB;;AACxB,IAAI/Q,YAAY,GAAG,SAAnB,EAA8B;;AAC9B,IAAIoX,UAAU,GAAG,OAAjB,EAA0B;;AAC1B,IAAI+f,qBAAqB,GAAG,gBAA5B,EAA8C;;AAC9C,IAAIH,aAAa,GAAG,UAApB,EAAgC;;AAChC,IAAIE,aAAa,GAAG,UAApB,EAAgC;;AAChC,IAAIH,kBAAkB,GAAG,aAAzB,EAAwC;;AACxC,IAAID,SAAS,GAAG,MAAhB,EAAwB;;AACxB,IAAIG,gBAAgB,GAAG,YAAvB,EAAqC;;AACrC,IAAIjmB,cAAc,GAAG,WAArB,EAAkC;;AAClC,IAAI0pB,aAAa,GAAG,UAApB,EAAgC;;AAChC,IAAI+B,0BAA0B,GAAG,kCAAjC,EAAqE;;AACrE,IAAIpL,aAAa,GAAG,SAApB,EAA+B;;AAC/B,IAAI5F,qBAAqB,GAAG,iBAA5B,EAA+C;;AAC/C,IAAIyF,eAAe,GAAG,YAAtB,EAAoC;;AACpC,IAAIQ,iBAAiB,GAAG,aAAxB,EAAuC;;AACvC,IAAIX,eAAe,GAAG,YAAtB,EAAoC;;AACpC,IAAIjgB,iBAAiB,GAAG,cAAxB,EAAwC;;AACxC,IAAI+gB,kBAAkB,GAAG,aAAzB,EAAwC;;AACxC,IAAIC,cAAc,GAAG,UAArB,EAAiC;;AACjC,IAAIF,mBAAmB,GAAG,eAA1B,EAA2C;;AAC3C,IAAID,kBAAkB,GAAG,cAAzB,EAAyC;;AACzC,IAAIL,cAAc,GAAG,UAArB,EAAiC;;AACjC,IAAIS,0BAA0B,GAAG,qBAAjC,EAAwD;;AACxD,IAAId,aAAa,GAAG,UAApB,EAAgC;;AAChC,IAAIE,cAAc,GAAG,UAArB,EAAiC;;AACjC,IAAIC,mBAAmB,GAAG,cAA1B,EAA0C;;AAC1C,IAAIG,UAAU,GAAG,OAAjB,EAA0B;;AAC1B,IAAIE,WAAW,GAAG,QAAlB,EAA4B;;AAC5B,IAAID,SAAS,GAAG,MAAhB,EAAwB;;AACxB,IAAIlnB,aAAa,GAAG,UAApB,EAAgC;;AAChC,IAAIyrB,sBAAsB,GAAG,kBAA7B,EAAiD;;AACjD,IAAIxH,cAAc,GAAG,WAArB,EAAkC;;AAClC,IAAIH,0BAA0B,GAAG,6BAAjC,EAAgE;;AAChE,IAAID,uBAAuB,GAAG,mBAA9B,EAAmD;;AACnD,IAAIG,wBAAwB,GAAG,oBAA/B,EAAqD;;AACrD,IAAID,0BAA0B,GAAG,sBAAjC,EAAyD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACvDhE;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,IAAI/xB,0BAA0B,GAAG,6BAAjC;AACA,IAAI+c,uBAAuB,GAAG,0BAA9B;AACA,IAAIrd,yBAAyB,GAAG,8BAAhC;;;;;;;;;;;;;;;;;;AClCP;AACA;AACA;AACA;AAGA;AACA;AACA;AACA;AACA;AACA;;AACO,SAASkrB,eAAT,CAAyBj1F,MAAzB,EAAiC;AACpC,MAAI2uG,SAAS,GAAG,EAAhB;AACAniC,EAAAA,yEAAa,CAACxsE,MAAD,EAAS,UAAUu1E,KAAV,EAAiB1lH,KAAjB,EAAwB;AAC1C8+I,IAAAA,SAAS,CAACp5B,KAAD,CAAT,GAAmB1lH,KAAnB;AACA8+I,IAAAA,SAAS,CAAC9+I,KAAD,CAAT,GAAmB0lH,KAAnB;AACH,GAHY,CAAb;AAIA,SAAOm5B,sEAAU,CAACC,SAAD,CAAjB;AACH;AACD;AACA;AACA;AACA;AACA;;AACO,SAASC,aAAT,CAAuB5uG,MAAvB,EAA+B;AAClC,MAAI6uG,QAAQ,GAAG,EAAf;AACAriC,EAAAA,yEAAa,CAACxsE,MAAD,EAAS,UAAUu1E,KAAV,EAAiB1lH,KAAjB,EAAwB;AAC1Cg/I,IAAAA,QAAQ,CAACt5B,KAAD,CAAR,GAAkBA,KAAlB;AACAs5B,IAAAA,QAAQ,CAACh/I,KAAD,CAAR,GAAkB0lH,KAAlB;AACH,GAHY,CAAb;AAIA,SAAOm5B,sEAAU,CAACG,QAAD,CAAjB;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACO,SAASzU,cAAT,CAAwBp6F,MAAxB,EAAgC;AACnC,MAAI6uG,QAAQ,GAAG,EAAf;AACAriC,EAAAA,yEAAa,CAACxsE,MAAD,EAAS,UAAUu1E,KAAV,EAAiB1lH,KAAjB,EAAwB;AAC1Cg/I,IAAAA,QAAQ,CAACt5B,KAAD,CAAR,GAAkB1lH,KAAK,CAAC,CAAD,CAAvB;AACAg/I,IAAAA,QAAQ,CAACh/I,KAAK,CAAC,CAAD,CAAN,CAAR,GAAqBA,KAAK,CAAC,CAAD,CAA1B;AACH,GAHY,CAAb;AAIA,SAAO6+I,sEAAU,CAACG,QAAD,CAAjB;AACH;;;;;;;;;;;;;;;;;;;;;;;;ACjDD;AACA;AACA;AACA;AACA;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,IAAIS,eAAe;AAAG;AAAe,UAAU7nH,MAAV,EAAkB;AACnDqB,EAAAA,iFAAS,CAACwmH,eAAD,EAAkB7nH,MAAlB,CAAT;;AACA,WAAS6nH,eAAT,GAA2B;AACvB,QAAI9/G,KAAK,GAAG/H,MAAM,CAACK,IAAP,CAAY,IAAZ,KAAqB,IAAjC;;AACAgiF,IAAAA,sEAAY,CAACwlC,eAAD,EAAkB9/G,KAAlB,EAAyB,UAAU6hF,KAAV,EAAiBC,KAAjB,EAAwB;AACzDD,MAAAA,KAAK,CAAC09B,8DAAeA;AAAC;AAAjB,OAAL,GAAkD,UAAU1wJ,MAAV,EAAkB61H,UAAlB,EAA8B51F,MAA9B,EAAsCixH,mBAAtC,EAA2D;AACzGj+B,QAAAA,KAAK,CAACy9B,8DAAeA;AAAC;AAAjB,SAAL,CAAgD1wJ,MAAhD,EAAwD61H,UAAxD,EAAoE51F,MAAM,IAAI,IAAI2wH,+DAAJ,CAAqB5wJ,MAArB,CAA9E,EAA4GkxJ,mBAAmB,IAAI,IAAIH,qEAAJ,CAAwB/wJ,MAAxB,CAAnI;AACH,OAFD;;AAGAgzH,MAAAA,KAAK,CAACm+B,KAAN,GAAc,UAAUz9B,aAAV,EAAyB;AACnCs9B,QAAAA,oDAAM,CAACh+B,KAAK,CAAC89B,gEAAgBA;AAAC;AAAlB,SAAL,EAAD,EAAqD,YAAY;AAAE,iBAAO,uBAAP;AAAiC,SAApG,EAAsG,YAAY;AACpH,cAAIp9B,aAAa,KAAK,IAAtB,EAA4B;AACxB09B,YAAAA,mBAAmB,CAAC19B,aAAD,CAAnB,CADwB,CAExB;;;AACApF,YAAAA,wDAAU,CAAC,wBAAD,CAAV;AACH,WALmH,CAMpH;;;AACA+iC,UAAAA,sBAAsB,CAAC39B,aAAD,CAAtB;;AACAT,UAAAA,KAAK,CAACk+B,KAAN,CAAYz9B,aAAZ;AACH,SATK,EASH,YAAY;AAAE,iBAAQ;AAAE54G,YAAAA,IAAI,EAAE44G;AAAR,WAAR;AAAmC,SAT9C,EASgD,CAAEA,aAAa,CAAC49B,IAThE,CAAN;AAUH,OAXD;;AAYA,eAASD,sBAAT,CAAgC39B,aAAhC,EAA+C;AAC3C,YAAI5F,+DAAiB,CAAC4F,aAAa,CAAC+M,wDAASA;AAAC;AAAX,SAAd,CAArB,EAAoE;AAChE2wB,UAAAA,mBAAmB,CAAC19B,aAAD,CAAnB;;AACApF,UAAAA,wDAAU,CAAC,yBAAD,CAAV;AACH;AACJ;;AACD,eAAS8iC,mBAAT,CAA6B19B,aAA7B,EAA4C;AACxC,YAAI8f,OAAO,GAAGxgB,KAAK,CAACy9B,kEAAmBA;AAAC;AAArB,SAAL,EAAd;;AACA,YAAIjd,OAAJ,EAAa;AACTA,UAAAA,OAAO,CAACqd,oEAAoBA;AAAC;AAAtB,WAAP,CAA4D,CAACn9B,aAAD,CAA5D,EAA6E;AAAE;AAA/E;AACH;AACJ;AACJ,KA5BW,CAAZ;AA6BA,WAAOviF,KAAP;AACH,GAlCkD,CAmCvD;AACA;AACI;AACA;AACA;;;AACA8/G,EAAAA,eAAe,CAACl1B,OAAhB,GAAwB,CAAxB;AAEA,SAAOk1B,eAAP;AACH,CA3CoC,CA2CnCN,+CA3CmC,CAArC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACfA;AACA;AACA;AACA;AAGa;;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAIkE,kBAAkB,GAAG,wCAAzB;AACA,IAAIC,sBAAsB,GAAG,sBAA7B;AACA,IAAIC,oBAAoB,GAAG,2BAA3B;AACA,IAAIC,oBAAoB,GAAG,wBAA3B,EACA;;AACA,IAAIC,iBAAiB,GAAG;AACpB;AACAC,EAAAA,mBAAmB,EAAE;AAAE;;AAFH,CAAxB;AAIA;AACA;AACA;AACA;AACA;;AACA,SAASC,kBAAT,CAA4Bv/B,IAA5B,EAAkCw/B,eAAlC,EAAmD;AAC/C,SAAO,IAAIlB,qDAAJ,CAAgBkB,eAAhB,CAAP;AACH;;AACD,SAASC,mBAAT,CAA6Bp1H,MAA7B,EAAqCq1H,eAArC,EAAsDC,aAAtD,EAAqE;AACjE,MAAIllH,EAAJ,CADiE,CAEjE;;;AACA,MAAImlH,cAAc,GAAG,EAArB,CAHiE,CAIjE;AACA;;AACA,MAAIC,aAAa,GAAG,EAApB,CANiE,CAOjE;;AACA3oC,EAAAA,wDAAU,CAACyoC,aAAD,EAAgB,UAAUn4G,GAAV,EAAe;AACrC;AACA,QAAI0wE,+DAAiB,CAAC1wE,GAAD,CAAjB,IAA0B0wE,+DAAiB,CAAC1wE,GAAG,CAACszG,8DAAeA;AAAC;AAAjB,KAAJ,CAA/C,EAAgG;AAC5FpiC,MAAAA,wDAAU,CAACumC,kBAAD,CAAV;AACH;;AACD,QAAIa,WAAW,GAAGt4G,GAAG,CAAC62G,4DAAYA;AAAC;AAAd,KAArB;AACA,QAAIriC,UAAU,GAAGx0E,GAAG,CAAC20G,8DAAeA;AAAC;AAAjB,KAApB;;AACA,QAAI30G,GAAG,IAAIs4G,WAAX,EAAwB;AACpB,UAAI,CAAC5nC,+DAAiB,CAAC2nC,aAAa,CAACC,WAAD,CAAd,CAAtB,EAAoD;AAChDj3B,QAAAA,iEAAc,CAACx+F,MAAD,EAAS,wCAAwCy1H,WAAxC,GAAsD,KAAtD,GAA8DD,aAAa,CAACC,WAAD,CAA3E,GAA2F,IAA3F,GAAkG9jC,UAA3G,CAAd;AACH,OAFD,MAGK;AACD;AACA6jC,QAAAA,aAAa,CAACC,WAAD,CAAb,GAA6B9jC,UAA7B;AACH;AACJ,KAfoC,CAgBrC;;;AACA,QAAI,CAAC8jC,WAAD,IAAgBA,WAAW,GAAGJ,eAAlC,EAAmD;AAC/C;AACAE,MAAAA,cAAc,CAACtuB,wDAASA;AAAC;AAAX,OAAd,CAA6C9pF,GAA7C;AACH;AACJ,GArBS,CAAV;AAsBA,SAAO/M,EAAE,GAAG;AACJ8+C,IAAAA,GAAG,EAAEomE;AADD,GAAL,EAGHllH,EAAE,CAACqjH,wDAAQA;AAAC;AAAV,GAAF,GAA+B8B,cAH5B,EAIHnlH,EAJJ;AAKH;;AACD,SAASslH,gBAAT,CAA0BC,SAA1B,EAAqC7xC,OAArC,EAA8C;AAC1C,MAAI8xC,MAAM,GAAG,KAAb;AACA/oC,EAAAA,wDAAU,CAAC/I,OAAD,EAAU,UAAU+U,MAAV,EAAkB;AAClC,QAAIA,MAAM,KAAK88B,SAAf,EAA0B;AACtBC,MAAAA,MAAM,GAAG,IAAT;AACA,aAAO,CAAC,CAAR;AACH;AACJ,GALS,CAAV;AAMA,SAAOA,MAAP;AACH;;AACD,SAASC,+BAAT,GAA2C;AACvC,MAAIzlH,EAAJ;;AACA,SAAOohH,iFAAW,EAAEphH,EAAE,GAAG,EAAL,EAChBA,EAAE,CAACqhH,yEAA0BA;AAAC;AAA5B,GAAF,GAAoE,UAAUqE,QAAV,EAAoB,CAAG,CAD3E,EAEhB1lH,EAAE,CAACiiH,yEAA0BA;AAAC;AAA5B,GAAF,GAAuE,UAAUyD,QAAV,EAAoB,CAAG,CAF9E,EAGhB1lH,EAAE,CAACyjH,+DAAeA;AAAC;AAAjB,GAAF,GAA4C,UAAU/7C,MAAV,EAAkB,CAAG,CAHjD,EAIhB1nE,EAAE,CAACwgH,oEAAoBA;AAAC;AAAtB,GAAF,GAAsD,UAAU94C,MAAV,EAAkBuS,MAAlB,EAA0B,CAAG,CAJnE,EAKhBj6E,EAAE,CAACwjH,uEAAuBA;AAAC;AAAzB,GAAF,GAA2D,UAAUzmB,UAAV,EAAsBlS,OAAtB,EAA+B,CAAG,CAL7E,EAMhB7qF,EANc,EAAlB;AAOH;;AACD,IAAIsgH,QAAQ;AAAG;AAAe,YAAY;AACtC,WAASA,QAAT,GAAoB;AAChB;AACA,QAAIjuC,OAAJ;;AACA,QAAIszC,cAAJ;;AACA,QAAIC,WAAJ;;AACA,QAAIC,oBAAJ;;AACA,QAAIC,YAAJ;;AACA,QAAIC,eAAJ;;AACA,QAAIC,cAAJ;;AACA,QAAIC,YAAJ;;AACA,QAAIC,iBAAJ;;AACA,QAAIC,eAAJ;;AACA,QAAIC,eAAJ;;AACA,QAAIC,cAAJ;;AACA,QAAIC,aAAJ;;AACA,QAAIC,YAAJ;;AACA,QAAIC,2BAAJ;;AACA,QAAIC,sBAAJ;;AACA,QAAI/jC,aAAJ;;AACA,QAAIgkC,eAAJ;;AACA,QAAIC,cAAJ;;AACA,QAAIC,SAAJ;AACA;AACR;AACA;;;AACQ,QAAIC,kBAAkB,GAAG,CAAzB;AACA,QAAIC,2BAA2B,GAAG,KAAlC;AACA1rC,IAAAA,sEAAY,CAACklC,QAAD,EAAW,IAAX,EAAiB,UAAU39B,KAAV,EAAiB;AAC1C;AACAG,MAAAA,aAAa;;AACbH,MAAAA,KAAK,CAACi/B,kEAAmBA;AAAC;AAArB,OAAL,GAAyD,YAAY;AAAE,eAAO+D,cAAP;AAAwB,OAA/F,CAH0C,CAI1C;;;AACAhjC,MAAAA,KAAK,CAAC09B,8DAAeA;AAAC;AAAjB,OAAL,GAAkD,UAAU1wJ,MAAV,EAAkB61H,UAAlB,EAA8B51F,MAA9B,EAAsCixH,mBAAtC,EAA2D;AACzG,YAAI0F,YAAJ,EAAkB;AACdtoC,UAAAA,wDAAU,CAACymC,oBAAD,CAAV;AACH,SAHwG,CAIzG;;;AACA,YAAI/hC,KAAK,CAACi/B,kEAAmBA;AAAC;AAArB,SAAL,EAAJ,EAA8D;AAC1D3jC,UAAAA,wDAAU,CAAC,+CAAD,CAAV;AACH;;AACD5L,QAAAA,OAAO,GAAG1iH,MAAM,IAAI,EAApB;AACAgzH,QAAAA,KAAK,CAAC2+B,0DAAWA;AAAC;AAAb,SAAL,GAA0CjvC,OAA1C;;AACA,YAAIoL,+DAAiB,CAAC9tH,MAAM,CAACuqI,uEAAwBA;AAAC;AAA1B,SAAP,CAArB,EAA0F;AACtFjc,UAAAA,wDAAU,CAAC,oCAAD,CAAV;AACH;;AACD4nC,QAAAA,oBAAoB,GAAGhF,mBAAvB,CAbyG,CAczG;;AACAl+B,QAAAA,KAAK,CAAC8hC,sBAAD,CAAL,GAAgC5D,mBAAhC;;AACAkG,QAAAA,kBAAkB;;AAClBC,QAAAA,gBAAgB,GAjByF,CAkBzG;;;AACAC,QAAAA,cAAc;;AACd,YAAIr3H,MAAJ,EAAY;AACR+yF,UAAAA,KAAK,CAACk/B,0DAAWA;AAAC;AAAb,WAAL,GAA0CjyH,MAA1C;AACH;;AACD,YAAIs3H,aAAa,GAAGnE,yDAAW,CAAC1wC,OAAD,EAAUqxC,8DAAV,EAA0B,EAA1B,CAA/B,CAvByG,CAwBzG;;AACAwC,QAAAA,iBAAiB,GAAG,EAApB;;AACAA,QAAAA,iBAAiB,CAACrvB,wDAASA;AAAC;AAAX,SAAjB,CAAgDn8F,KAAhD,CAAsDwrH,iBAAtD,EAAyE/E,qFAAa,CAACA,qFAAa,CAAC,EAAD,EAAK37B,UAAL,EAAiB,KAAjB,CAAd,EAAuC0hC,aAAvC,EAAsD,KAAtD,CAAtF;;AACAb,QAAAA,cAAc,GAAGtD,yDAAW,CAAC1wC,OAAD,EAAU+wC,4DAAV,EAAwB,EAAxB,CAA5B;;AACA+D,QAAAA,gBAAgB,CAAC,IAAD,CAAhB;;AACA,YAAI,CAACb,aAAD,IAAkBA,aAAa,CAACnnC,0DAAWA;AAAC;AAAb,SAAb,KAAoD,CAA1E,EAA6E;AACzElB,UAAAA,wDAAU,CAAC,QAAQmlC,4DAAR,GAAuB,YAAxB,CAAV;AACH;;AACDuC,QAAAA,cAAc,GAAG,IAAjB;;AACAhjC,QAAAA,KAAK,CAACykC,YAAN;AACH,OAlCD;;AAmCAzkC,MAAAA,KAAK,CAAC0kC,uBAAN,GAAgC,YAAY;AACxC,YAAItrI,QAAQ,GAAG,EAAf;;AACA,YAAIuqI,aAAJ,EAAmB;AACf7pC,UAAAA,wDAAU,CAAC6pC,aAAD,EAAgB,UAAUgB,QAAV,EAAoB;AAC1CvrI,YAAAA,QAAQ,CAAC86G,wDAASA;AAAC;AAAX,aAAR,CAAuCywB,QAAQ,CAACC,KAAhD;AACH,WAFS,CAAV;AAGH;;AACD,eAAOtE,uDAAS,CAAClnI,QAAD,CAAhB;AACH,OARD;;AASA4mG,MAAAA,KAAK,CAACm+B,KAAN,GAAc,UAAUz9B,aAAV,EAAyB;AACnC;AACAA,QAAAA,aAAa,CAACwQ,IAAd,GAAqBxQ,aAAa,CAACwQ,IAAd,IAAsBxhB,OAAO,CAAC6nB,uEAAwBA;AAAC;AAA1B,SAAlD,CAFmC,CAGnC;;AACA7W,QAAAA,aAAa,CAACi/B,wDAASA;AAAC;AAAX,SAAb,GAA8Cj/B,aAAa,CAACi/B,wDAASA;AAAC;AAAX,SAAb,IAA+C77H,yDAAW,CAAC,IAAIuxB,IAAJ,EAAD,CAAxG,CAJmC,CAKnC;;AACAqrE,QAAAA,aAAa,CAAC6sB,GAAd,GAAoB7sB,aAAa,CAAC6sB,GAAd,IAAqB,KAAzC;;AACA,YAAI,CAACqW,YAAD,IAAiB5jC,KAAK,CAACi/B,kEAAmBA;AAAC;AAArB,SAAL,EAArB,EAA+E;AAC3E;AACA4F,UAAAA,aAAa,GAAGxF,gEAAiBA;AAAC;AAArB,WAAb,CAA6D3+B,aAA7D;AACH,SAHD,MAIK;AACD;AACAuiC,UAAAA,WAAW,CAAC/uB,wDAASA;AAAC;AAAX,WAAX,CAA0CxT,aAA1C;AACH;AACJ,OAfD;;AAgBAV,MAAAA,KAAK,CAAC8+B,yEAA0BA;AAAC;AAA5B,OAAL,GAAuE+F,aAAvE;;AACA7kC,MAAAA,KAAK,CAACy9B,kEAAmBA;AAAC;AAArB,OAAL,GAAwD,YAAY;AAChE,YAAI,CAACyF,oBAAL,EAA2B;AACvB;AACAA,UAAAA,oBAAoB,GAAGJ,+BAA+B,EAAtD,CAFuB,CAGvB;;AACA9iC,UAAAA,KAAK,CAAC8hC,sBAAD,CAAL,GAAgCoB,oBAAhC;AACH;;AACD,eAAOA,oBAAP;AACH,OARD;AASA;AACZ;AACA;AACA;AACA;AACA;;;AACYljC,MAAAA,KAAK,CAAC0+B,yEAA0BA;AAAC;AAA5B,OAAL,GAA0E,UAAUqE,QAAV,EAAoB;AAC1F,YAAIG,oBAAJ,EAA0B;AACtBA,UAAAA,oBAAoB,CAACxE,yEAA0BA;AAAC;AAA5B,WAApB,CAAuFqE,QAAvF;AACH;AACJ,OAJD;AAKA;AACZ;AACA;AACA;;;AACY/iC,MAAAA,KAAK,CAACs/B,yEAA0BA;AAAC;AAA5B,OAAL,GAA6E,UAAUyD,QAAV,EAAoB;AAC7F,YAAIG,oBAAJ,EAA0B;AACtBA,UAAAA,oBAAoB,CAAC5D,yEAA0BA;AAAC;AAA5B,WAApB,CAA0FyD,QAA1F;AACH;AACJ,OAJD;;AAKA/iC,MAAAA,KAAK,CAACI,YAAN,GAAqB,YAAY;AAC7B,YAAI,CAACijC,cAAL,EAAqB;AACjBA,UAAAA,cAAc,GAAGrD,2DAAe,CAACtwC,OAAD,EAAUsQ,KAAK,CAACk/B,0DAAWA;AAAC;AAAb,WAAf,CAAhC;AACH;;AACD,eAAOmE,cAAP;AACH,OALD;;AAMArjC,MAAAA,KAAK,CAAC8kC,YAAN,GAAqB,UAAUC,SAAV,EAAqB;AACtC1B,QAAAA,cAAc,GAAG0B,SAAjB;AACH,OAFD;;AAGA/kC,MAAAA,KAAK,CAAC89B,gEAAgBA;AAAC;AAAlB,OAAL,GAAmD,YAAY;AAC3D,YAAI,CAACqF,YAAD,IAAiB,CAACC,eAAtB,EAAuC;AACnC,cAAIjD,yDAAW,CAACzwC,OAAO,CAACs1C,aAAT,CAAf,EAAwC;AACpC,gBAAIC,aAAa,GAAG9E,yDAAW,CAACzwC,OAAO,CAACixC,mEAAmBA;AAAC;AAArB,aAAR,CAA/B;;AACA,gBAAI9lC,wDAAU,CAACoqC,aAAD,CAAd,EAA+B;AAC3B7B,cAAAA,eAAe,GAAG6B,aAAa,CAACjlC,KAAD,EAAQA,KAAK,CAACy9B,kEAAmBA;AAAC;AAArB,eAAL,EAAR,CAA/B;AACH;AACJ;AACJ;;AACD,eAAO0F,YAAY,IAAIC,eAAhB,IAAmCjC,2DAAa,EAAvD;AACH,OAVD;;AAWAnhC,MAAAA,KAAK,CAACklC,UAAN,GAAmB,UAAUC,OAAV,EAAmB;AAClChC,QAAAA,YAAY,GAAGgC,OAAf;AACH,OAFD;;AAGAnlC,MAAAA,KAAK,CAAColC,QAAN,GAAiB,YAAY;AACzB,eAAOnC,WAAW,CAACzmC,0DAAWA;AAAC;AAAb,SAAlB;AACH,OAFD;;AAGAwD,MAAAA,KAAK,CAACykC,YAAN,GAAqB,YAAY;AAC7B,YAAIzB,cAAc,IAAIC,WAAW,CAACzmC,0DAAWA;AAAC;AAAb,SAAX,GAAgD,CAAtE,EAAyE;AACrE,cAAI6oC,UAAU,GAAGpC,WAAjB;AACAA,UAAAA,WAAW,GAAG,EAAd;AACAnpC,UAAAA,wDAAU,CAACurC,UAAD,EAAa,UAAUvsI,KAAV,EAAiB;AACpC+rI,YAAAA,aAAa,GAAGxF,gEAAiBA;AAAC;AAArB,aAAb,CAA6DvmI,KAA7D;AACH,WAFS,CAAV;AAGH;AACJ,OARD;;AASAknG,MAAAA,KAAK,CAACslC,gBAAN,GAAyB,UAAU7tC,SAAV,EAAqB;AAC1CqsC,QAAAA,sBAAsB,GAAGrsC,SAAS,IAAI,IAAtC;AACA0sC,QAAAA,2BAA2B,GAAG,KAA9B;;AACA,YAAID,kBAAJ,EAAwB;AACpB/jF,UAAAA,aAAa,CAAC+jF,kBAAD,CAAb;AACAA,UAAAA,kBAAkB,GAAG,IAArB;AACH;;AACD,eAAOqB,sBAAsB,CAAC,IAAD,CAA7B;AACH,OARD;;AASA,eAASA,sBAAT,CAAgCC,WAAhC,EAA6C;AACzC,YAAI,CAACtB,kBAAD,IAAuB,CAACC,2BAA5B,EAAyD;AACrD,cAAIsB,WAAW,GAAGD,WAAW,IAAKxlC,KAAK,CAACk/B,0DAAWA;AAAC;AAAb,WAAL,IAA2Cl/B,KAAK,CAACk/B,0DAAWA;AAAC;AAAb,WAAL,CAAwC0F,KAAxC,CAA8CpoC,0DAAWA;AAAC;AAA1D,cAAkF,CAA/J;;AACA,cAAIipC,WAAJ,EAAiB;AACb,gBAAIz/H,QAAQ,GAAGm6H,yDAAW,CAACzwC,OAAO,CAACg2C,qBAAT,CAA1B;;AACA,gBAAI,CAAC1/H,QAAD,IAAa,EAAEA,QAAQ,GAAG,CAAb,CAAjB,EAAkC;AAC9BA,cAAAA,QAAQ,GAAG,KAAX;AACH,aAJY,CAKb;;;AACAk+H,YAAAA,kBAAkB,GAAGlkF,WAAW,CAAC,YAAY;AACzCG,cAAAA,aAAa,CAAC+jF,kBAAD,CAAb;AACAA,cAAAA,kBAAkB,GAAG,CAArB;;AACAyB,cAAAA,kBAAkB;AACrB,aAJ+B,EAI7B3/H,QAJ6B,CAAhC;AAKH;AACJ;;AACD,eAAOk+H,kBAAP;AACH;;AACDlkC,MAAAA,KAAK,CAACy/B,yEAA0BA;AAAC;AAA5B,OAAL,GAA0E,YAAY;AAClF0E,QAAAA,2BAA2B,GAAG,IAA9B;;AACA,YAAID,kBAAJ,EAAwB;AACpB/jF,UAAAA,aAAa,CAAC+jF,kBAAD,CAAb;AACAA,UAAAA,kBAAkB,GAAG,CAArB;;AACAyB,UAAAA,kBAAkB;AACrB;AACJ,OAPD,CA7J0C,CAqK1C;;;AACAnF,MAAAA,4DAAc,CAACxgC,KAAD,EAAQ,YAAY;AAAE,eAAO6jC,2BAAP;AAAqC,OAA3D,EAA6D,CAAC,yBAAD,CAA7D,CAAd;;AACA7jC,MAAAA,KAAK,CAACwT,MAAN,GAAe,UAAUtL,OAAV,EAAmB09B,cAAnB,EAAmCC,SAAnC,EAA8C;AACzD,YAAIxoH,EAAJ;;AACA,YAAI6qF,OAAO,KAAK,KAAK,CAArB,EAAwB;AAAEA,UAAAA,OAAO,GAAG,IAAV;AAAiB;;AAC3C,YAAI,CAAC86B,cAAL,EAAqB;AACjB;AACA1nC,UAAAA,wDAAU,CAAC0mC,oBAAD,CAAV;AACH,SANwD,CAOzD;;;AACA,YAAI4B,YAAJ,EAAkB;AACd;AACAtoC,UAAAA,wDAAU,CAACymC,oBAAD,CAAV;AACH;;AACD,YAAIj+B,WAAW,IAAIzmF,EAAE,GAAG;AAChBi6E,UAAAA,MAAM,EAAE;AAAG;;AADK,SAAL,EAGfj6E,EAAE,CAAC2hH,4DAAaA;AAAC;AAAf,SAAF,GAAuC92B,OAHxB,EAIf7qF,EAAE,CAACyoH,aAAH,GAAmB,KAJJ,EAKfzoH,EALW,CAAf;AAMA,YAAI0oH,gBAAgB,GAAG3E,6FAAmC,CAAC4E,eAAe,EAAhB,EAAoBhmC,KAApB,CAA1D;;AACA+lC,QAAAA,gBAAgB,CAAC3G,+DAAgBA;AAAC;AAAlB,SAAhB,CAA4D,YAAY;AACpEj/B,UAAAA,aAAa;;AACbylC,UAAAA,cAAc,IAAIA,cAAc,CAAC9hC,WAAD,CAAhC;AACH,SAHD,EAGG9D,KAHH;;AAIA,iBAASimC,SAAT,CAAmBH,aAAnB,EAAkC;AAC9BhiC,UAAAA,WAAW,CAACgiC,aAAZ,GAA4BA,aAA5B;AACAlC,UAAAA,YAAY,GAAG,IAAf,CAF8B,CAG9B;;AACAG,UAAAA,eAAe,CAACmC,GAAhB,CAAoBH,gBAApB,EAAsCjiC,WAAtC,EAJ8B,CAK9B;;;AACA9D,UAAAA,KAAK,CAACy/B,yEAA0BA;AAAC;AAA5B,WAAL,GAN8B,CAO9B;;;AACAsG,UAAAA,gBAAgB,CAAC1G,gEAAiBA;AAAC;AAAnB,WAAhB,CAA8Dv7B,WAA9D;AACH;;AACD6hC,QAAAA,kBAAkB;;AAClB,YAAI,CAAC19B,cAAc,CAACC,OAAD,EAAU+9B,SAAV,EAAqB;AAAE;AAAvB,UAA0DJ,SAA1D,CAAnB,EAAyF;AACrFI,UAAAA,SAAS,CAAC,KAAD,CAAT;AACH;AACJ,OArCD;;AAsCAjmC,MAAAA,KAAK,CAAC6+B,8DAAeA;AAAC;AAAjB,OAAL,GAAiDsH,UAAjD;;AACAnmC,MAAAA,KAAK,CAAComC,SAAN,GAAkB,UAAUtgC,MAAV,EAAkBugC,eAAlB,EAAmCn+B,OAAnC,EAA4Co+B,KAA5C,EAAmD;AACjE,YAAI,CAACxgC,MAAL,EAAa;AACTwgC,UAAAA,KAAK,IAAIA,KAAK,CAAC,KAAD,CAAd;;AACAC,UAAAA,gBAAgB,CAAC1E,kBAAD,CAAhB;;AACA;AACH;;AACD,YAAI2E,cAAc,GAAGL,UAAU,CAACrgC,MAAM,CAACi5B,8DAAeA;AAAC;AAAjB,SAAP,CAA/B;;AACA,YAAIyH,cAAc,IAAI,CAACH,eAAvB,EAAwC;AACpCC,UAAAA,KAAK,IAAIA,KAAK,CAAC,KAAD,CAAd;;AACAC,UAAAA,gBAAgB,CAAC,aAAazgC,MAAM,CAACi5B,8DAAeA;AAAC;AAAjB,WAAnB,GAAgE,sBAAjE,CAAhB;;AACA;AACH;;AACD,YAAI0H,WAAW,GAAG;AACdnvC,UAAAA,MAAM,EAAE;AAAG;;AADG,SAAlB;;AAGA,iBAASovC,UAAT,CAAoBC,OAApB,EAA6B;AACzBpD,UAAAA,iBAAiB,CAACrvB,wDAASA;AAAC;AAAX,WAAjB,CAAgDpO,MAAhD;;AACA2gC,UAAAA,WAAW,CAACG,KAAZ,GAAoB,CAAC9gC,MAAD,CAApB,CAFyB,CAGzB;;AACA0+B,UAAAA,gBAAgB,CAACiC,WAAD,CAAhB;;AACAH,UAAAA,KAAK,IAAIA,KAAK,CAAC,IAAD,CAAd;AACH;;AACD,YAAIE,cAAJ,EAAoB;AAChB,cAAIK,gBAAgB,GAAG,CAACL,cAAc,CAAC1gC,MAAhB,CAAvB;AACA,cAAIhC,WAAW,GAAG;AACdxM,YAAAA,MAAM,EAAE;AAAE;AADI;AAEd4Q,YAAAA,OAAO,EAAE,CAAC,CAACA;AAFG,WAAlB;;AAIA4+B,UAAAA,cAAc,CAACD,gBAAD,EAAmB/iC,WAAnB,EAAgC,UAAU6iC,OAAV,EAAmB;AAC7D,gBAAI,CAACA,OAAL,EAAc;AACV;AACAL,cAAAA,KAAK,IAAIA,KAAK,CAAC,KAAD,CAAd;AACH,aAHD,MAIK;AACDG,cAAAA,WAAW,CAACE,OAAZ,GAAsBE,gBAAtB;AACAJ,cAAAA,WAAW,CAACnvC,MAAZ,IAAsB;AAAG;AAAzB;;AACAovC,cAAAA,UAAU,CAAC,IAAD,CAAV;AACH;AACJ,WAVa,CAAd;AAWH,SAjBD,MAkBK;AACDA,UAAAA,UAAU,CAAC,KAAD,CAAV;AACH;AACJ,OA3CD;;AA4CA1mC,MAAAA,KAAK,CAACiD,YAAN,GAAqB,YAAY;AAC7B,eAAOlD,aAAP;AACH,OAFD;;AAGAC,MAAAA,KAAK,CAAC4+B,yDAAUA;AAAC;AAAZ,OAAL,GAAwC32B,cAAxC;;AACAjI,MAAAA,KAAK,CAAC4F,WAAN,GAAoB,UAAUmhC,SAAV,EAAqB;AACrC,YAAI,CAAC9C,SAAL,EAAgB;AACZA,UAAAA,SAAS,GAAGzC,iFAA6B,EAAzC;AACH;;AACD,eAAOyC,SAAP;AACH,OALD;;AAMAjkC,MAAAA,KAAK,CAACgnC,WAAN,GAAoB,UAAUC,QAAV,EAAoB;AACpChD,QAAAA,SAAS,GAAGgD,QAAQ,IAAI,IAAxB;AACH,OAFD,CApQ0C,CAuQ1C;;;AACA1G,MAAAA,6DAAe,CAACvgC,KAAD,EAAQ,aAAR,EAAuB,YAAY;AAAE,eAAO+jC,eAAP;AAAyB,OAA9D,EAAgE,KAAhE,CAAf;;AACA,eAAS5jC,aAAT,GAAyB;AACrB6iC,QAAAA,cAAc,GAAG,KAAjB,CADqB,CAErB;;AACAtzC,QAAAA,OAAO,GAAG2wC,uDAAS,CAAC,IAAD,EAAO,EAAP,EAAW4B,iBAAX,CAAnB;AACAjiC,QAAAA,KAAK,CAAC2+B,0DAAWA;AAAC;AAAb,SAAL,GAA0CjvC,OAA1C;AACAsQ,QAAAA,KAAK,CAACk/B,0DAAWA;AAAC;AAAb,SAAL,GAA0C,IAAItB,+DAAJ,CAAqBluC,OAArB,CAA1C;AACAsQ,QAAAA,KAAK,CAAC4/B,+DAAgBA;AAAC;AAAlB,SAAL,GAAoD,EAApD;AACAiE,QAAAA,2BAA2B,GAAG,IAAIlC,oFAAJ,EAA9B;AACAsB,QAAAA,WAAW,GAAG,EAAd;AACAC,QAAAA,oBAAoB,GAAG,IAAvB;AACAC,QAAAA,YAAY,GAAG,IAAf;AACAC,QAAAA,eAAe,GAAG,IAAlB;AACAC,QAAAA,cAAc,GAAG,IAAjB;AACAC,QAAAA,YAAY,GAAG,IAAf;AACAE,QAAAA,eAAe,GAAG,IAAlB;AACAD,QAAAA,iBAAiB,GAAG,EAApB;AACAE,QAAAA,eAAe,GAAG,IAAlB;AACAC,QAAAA,cAAc,GAAG,IAAjB;AACAC,QAAAA,aAAa,GAAG,IAAhB;AACAC,QAAAA,YAAY,GAAG,KAAf;AACAE,QAAAA,sBAAsB,GAAG,IAAzB;AACA/jC,QAAAA,aAAa,GAAG/F,wEAAqB,CAAC,YAAD,EAAe,IAAf,CAArC;AACA+pC,QAAAA,eAAe,GAAGnC,sFAA4B,EAA9C;AACAqC,QAAAA,SAAS,GAAG,IAAZ;AACH;;AACD,eAASY,aAAT,GAAyB;AACrB,YAAIqC,MAAM,GAAGntC,uFAA6B,CAACisC,eAAe,EAAhB,EAAoBt2C,OAApB,EAA6BsQ,KAA7B,CAA1C;;AACAknC,QAAAA,MAAM,CAAC9H,+DAAgBA;AAAC;AAAlB,SAAN,CAAkDmG,sBAAlD;;AACA,eAAO2B,MAAP;AACH,OAtSyC,CAuS1C;;;AACA,eAAS1C,gBAAT,CAA0BiC,WAA1B,EAAuC;AACnC;AACA,YAAIU,aAAa,GAAG9E,mBAAmB,CAACriC,KAAK,CAACk/B,0DAAWA;AAAC;AAAb,SAAN,EAA0CW,0EAA1C,EAAqE0D,iBAArE,CAAvC;;AACAC,QAAAA,eAAe,GAAG2D,aAAa,CAACzG,wDAAQA;AAAC;AAAV,SAA/B;AACA4C,QAAAA,YAAY,GAAG,IAAf,CAJmC,CAKnC;;AACA,YAAIf,aAAa,GAAG4E,aAAa,CAAChrE,GAAlC,CANmC,CAOnC;;AACAwnE,QAAAA,aAAa,GAAGrD,uDAAS,CAACP,wEAAmB,CAAC2D,cAAD,EAAiBnB,aAAjB,EAAgCviC,KAAhC,CAApB,CAAzB;;AACA,YAAIyjC,eAAJ,EAAqB;AACjB;AACA;AACA;AACA;AACA,cAAI2D,GAAG,GAAG3zB,wDAAU,CAAC8uB,aAAD,EAAgBkB,eAAhB,CAApB;;AACA,cAAI2D,GAAG,KAAK,CAAC,CAAb,EAAgB;AACZ7E,YAAAA,aAAa,CAAC/C,0DAAWA;AAAC;AAAb,aAAb,CAAgD4H,GAAhD,EAAqD,CAArD;AACH;;AACDA,UAAAA,GAAG,GAAG3zB,wDAAU,CAAC+vB,eAAD,EAAkBC,eAAlB,CAAhB;;AACA,cAAI2D,GAAG,KAAK,CAAC,CAAb,EAAgB;AACZ5D,YAAAA,eAAe,CAAChE,0DAAWA;AAAC;AAAb,aAAf,CAAkD4H,GAAlD,EAAuD,CAAvD;AACH;;AACD3D,UAAAA,eAAe,CAAC4D,SAAhB,CAA0B1D,aAA1B;AACH,SAdD,MAeK;AACDF,UAAAA,eAAe,GAAG3D,kFAA6B,CAAC6D,aAAD,EAAgB3jC,KAAhB,CAA/C;AACH,SA1BkC,CA2BnC;;;AACAuiC,QAAAA,aAAa,CAACruB,wDAASA;AAAC;AAAX,SAAb,CAA4CuvB,eAA5C;;AACAD,QAAAA,eAAe,CAACtvB,wDAASA;AAAC;AAAX,SAAf,CAA8CuvB,eAA9C,EA7BmC,CA8BnC;;;AACAzjC,QAAAA,KAAK,CAAC4/B,+DAAgBA;AAAC;AAAlB,SAAL,GAAoD8B,+DAAW,CAACa,aAAD,CAA/D,CA/BmC,CAgCnC;;AACAkB,QAAAA,eAAe,CAAC/F,8DAAeA;AAAC;AAAjB,SAAf,CAA0DhuC,OAA1D,EAAmEsQ,KAAnE,EAA0EuiC,aAA1E;;AACA,YAAI+E,OAAO,GAAGzC,aAAa,EAA3B;;AACApD,QAAAA,qEAAiB,CAAC6F,OAAD,EAAU/E,aAAV,CAAjB,CAnCmC,CAoCnC;;AACAviC,QAAAA,KAAK,CAAC4/B,+DAAgBA;AAAC;AAAlB,SAAL,GAAoDU,uDAAS,CAACoB,+DAAW,CAAC8B,eAAe,IAAI,EAApB,CAAZ,CAAT,CAA8Cx9C,KAA9C,EAApD;;AACA,YAAIygD,WAAJ,EAAiB;AACbc,UAAAA,SAAS,CAACd,WAAD,CAAT;AACH;AACJ;;AACD,eAASN,UAAT,CAAoBqB,gBAApB,EAAsC;AAClC,YAAInqH,EAAJ;;AACA,YAAIoqH,MAAM,GAAG,IAAb;AACA,YAAI7E,SAAS,GAAG,IAAhB;AACA9oC,QAAAA,wDAAU,CAACkG,KAAK,CAAC4/B,+DAAgBA;AAAC;AAAlB,SAAN,EAAoD,UAAUx1G,GAAV,EAAe;AACzE,cAAIA,GAAG,CAAC20G,8DAAeA;AAAC;AAAjB,WAAH,KAAkDyI,gBAAlD,IAAsEp9G,GAAG,KAAKq5G,eAA9E,IAAiGr5G,GAAG,KAAKy5G,2BAA7G,EAA0I;AACtIjB,YAAAA,SAAS,GAAGx4G,GAAZ;AACA,mBAAO,CAAC,CAAR;AACH;AACJ,SALS,CAAV;;AAMA,YAAI,CAACw4G,SAAD,IAAca,eAAlB,EAAmC;AAC/B;AACAb,UAAAA,SAAS,GAAGa,eAAe,CAACiE,UAAhB,CAA2BF,gBAA3B,CAAZ;AACH;;AACD,YAAI5E,SAAJ,EAAe;AACX6E,UAAAA,MAAM,IAAIpqH,EAAE,GAAG;AACPyoF,YAAAA,MAAM,EAAE88B;AADD,WAAL,EAGNvlH,EAAE,CAACkiH,+DAAgBA;AAAC;AAAlB,WAAF,GAA6C,UAAU9lI,OAAV,EAAmB;AAC5D8nI,YAAAA,mEAAe,CAACqB,SAAD,CAAf,CAA2BhC,4DAA3B,IAA2C,CAACnnI,OAA5C;AACH,WALK,EAMN4jB,EAAE,CAACsqH,SAAH,GAAe,YAAY;AACvB,gBAAIC,WAAW,GAAGrG,mEAAe,CAACqB,SAAD,CAAjC;;AACA,mBAAO,CAACgF,WAAW,CAAClI,4DAAaA;AAAC;AAAf,aAAZ,IAAsD,CAACkI,WAAW,CAAChH,4DAAD,CAAzE;AACH,WATK,EAUNvjH,EAAE,CAACkwE,MAAH,GAAY,UAAU2a,OAAV,EAAmB2/B,QAAnB,EAA6B;AACrC,gBAAIxqH,EAAJ;;AACA,gBAAI6qF,OAAO,KAAK,KAAK,CAArB,EAAwB;AAAEA,cAAAA,OAAO,GAAG,IAAV;AAAiB;;AAC3C,gBAAI4/B,eAAe,GAAG,CAAClF,SAAD,CAAtB;AACA,gBAAI9+B,WAAW,IAAIzmF,EAAE,GAAG;AAChBi6E,cAAAA,MAAM,EAAE;AAAE;;AADM,aAAL,EAGfj6E,EAAE,CAAC2hH,4DAAaA;AAAC;AAAf,aAAF,GAAuC92B,OAHxB,EAIf7qF,EAJW,CAAf;;AAKAypH,YAAAA,cAAc,CAACgB,eAAD,EAAkBhkC,WAAlB,EAA+B,UAAU6iC,OAAV,EAAmB;AAC5D,kBAAIA,OAAJ,EAAa;AACT;AACAnC,gBAAAA,gBAAgB,CAAC;AACbltC,kBAAAA,MAAM,EAAE;AAAG;AADE;AAEbqvC,kBAAAA,OAAO,EAAEmB;AAFI,iBAAD,CAAhB;AAIH;;AACDD,cAAAA,QAAQ,IAAIA,QAAQ,CAAClB,OAAD,CAApB;AACH,aATa,CAAd;AAUH,WA7BK,EA8BNtpH,EA9BE,CAAN;AA+BH;;AACD,eAAOoqH,MAAP;AACH;;AACD,eAASzB,eAAT,GAA2B;AACvB,YAAI,CAAC1C,YAAL,EAAmB;AACf;AACA,cAAIzgC,UAAU,GAAG,CAAC2gC,eAAe,IAAI,EAApB,EAAwBx9C,KAAxB,EAAjB,CAFe,CAGf;;;AACA,cAAIytB,wDAAU,CAAC5Q,UAAD,EAAaghC,2BAAb,CAAV,KAAwD,CAAC,CAA7D,EAAgE;AAC5DhhC,YAAAA,UAAU,CAACqR,wDAASA;AAAC;AAAX,aAAV,CAAyC2vB,2BAAzC;AACH;;AACDP,UAAAA,YAAY,GAAGhC,mFAAyB,CAACI,+DAAW,CAAC7+B,UAAD,CAAZ,EAA0BnT,OAA1B,EAAmCsQ,KAAnC,CAAxC;AACH;;AACD,eAAOsjC,YAAP;AACH;;AACD,eAASwD,cAAT,CAAwBiB,UAAxB,EAAoCjkC,WAApC,EAAiDkkC,cAAjD,EAAiE;AAC7D,YAAID,UAAU,IAAIA,UAAU,CAACvrC,0DAAWA;AAAC;AAAb,SAAV,GAA+C,CAAjE,EAAoE;AAChE,cAAIyrC,WAAW,GAAG3G,mFAAyB,CAACyG,UAAD,EAAar4C,OAAb,EAAsBsQ,KAAtB,CAA3C;AACA,cAAI6D,SAAS,GAAGu9B,6FAAmC,CAAC6G,WAAD,EAAcjoC,KAAd,CAAnD;;AACA6D,UAAAA,SAAS,CAACu7B,+DAAgBA;AAAC;AAAlB,WAAT,CAAqD,YAAY;AAC7D,gBAAIuH,OAAO,GAAG,KAAd,CAD6D,CAE7D;;AACA,gBAAIuB,mBAAmB,GAAG,EAA1B;AACApuC,YAAAA,wDAAU,CAACypC,iBAAD,EAAoB,UAAUz9B,MAAV,EAAkBshC,GAAlB,EAAuB;AACjD,kBAAI,CAACzE,gBAAgB,CAAC78B,MAAD,EAASiiC,UAAT,CAArB,EAA2C;AACvCG,gBAAAA,mBAAmB,CAACh0B,wDAASA;AAAC;AAAX,iBAAnB,CAAkDpO,MAAlD;AACH,eAFD,MAGK;AACD6gC,gBAAAA,OAAO,GAAG,IAAV;AACH;AACJ,aAPS,CAAV;AAQApD,YAAAA,iBAAiB,GAAG2E,mBAApB,CAZ6D,CAa7D;;AACA,gBAAIC,gBAAgB,GAAG,EAAvB;;AACA,gBAAIzE,cAAJ,EAAoB;AAChB5pC,cAAAA,wDAAU,CAAC4pC,cAAD,EAAiB,UAAUkB,KAAV,EAAiBwC,GAAjB,EAAsB;AAC7C,oBAAIgB,QAAQ,GAAG,EAAf;AACAtuC,gBAAAA,wDAAU,CAAC8qC,KAAD,EAAQ,UAAUh8G,OAAV,EAAmB;AACjC,sBAAI,CAAC+5G,gBAAgB,CAAC/5G,OAAD,EAAUm/G,UAAV,CAArB,EAA4C;AACxCK,oBAAAA,QAAQ,CAACl0B,wDAASA;AAAC;AAAX,qBAAR,CAAuCtrF,OAAvC;AACH,mBAFD,MAGK;AACD+9G,oBAAAA,OAAO,GAAG,IAAV;AACH;AACJ,iBAPS,CAAV;;AAQAwB,gBAAAA,gBAAgB,CAACj0B,wDAASA;AAAC;AAAX,iBAAhB,CAA+Ck0B,QAA/C;AACH,eAXS,CAAV;AAYA1E,cAAAA,cAAc,GAAGyE,gBAAjB;AACH;;AACDH,YAAAA,cAAc,IAAIA,cAAc,CAACrB,OAAD,CAAhC;;AACApB,YAAAA,sBAAsB;AACzB,WAhCD;;AAiCA1hC,UAAAA,SAAS,CAACw7B,gEAAiBA;AAAC;AAAnB,WAAT,CAAuDv7B,WAAvD;AACH,SArCD,MAsCK;AACDkkC,UAAAA,cAAc,CAAC,KAAD,CAAd;AACH;AACJ;;AACD,eAASrC,kBAAT,GAA8B;AAC1B,YAAI3lC,KAAK,CAACk/B,0DAAWA;AAAC;AAAb,SAAL,IAA2Cl/B,KAAK,CAACk/B,0DAAWA;AAAC;AAAb,SAAL,CAAwC0F,KAAvF,EAA8F;AAC1F,cAAIA,KAAK,GAAG5kC,KAAK,CAACk/B,0DAAWA;AAAC;AAAb,WAAL,CAAwC0F,KAAxC,CAA8C5+C,KAA9C,CAAoD,CAApD,CAAZ;;AACAga,UAAAA,KAAK,CAACk/B,0DAAWA;AAAC;AAAb,WAAL,CAAwC0F,KAAxC,CAA8CpoC,0DAAWA;AAAC;AAA1D,cAAkF,CAAlF;AACA1C,UAAAA,wDAAU,CAAC8qC,KAAD,EAAQ,UAAUxsD,UAAV,EAAsB;AACpC,gBAAI/6D,EAAJ;;AACA,gBAAIv1B,IAAI,IAAIu1B,EAAE,GAAG,EAAL,EACRA,EAAE,CAACowF,wDAASA;AAAC;AAAX,aAAF,GAAgCq2B,sBAAsB,GAAGA,sBAAH,GAA4B,wBAAwB1rD,UAAU,CAAC+mD,8DAAeA;AAAC;AAAjB,aAD5G,EAER9hH,EAAE,CAAC6zF,IAAH,GAAUivB,yDAAW,CAACzwC,OAAO,CAAC6nB,uEAAwBA;AAAC;AAA1B,aAAR,CAFb,EAGRl6F,EAAE,CAACm8D,IAAH,GAAU11E,yDAAW,CAAC,IAAIuxB,IAAJ,EAAD,CAHb,EAIRhY,EAAE,CAACunF,QAAH,GAAcs7B,2EAJN,EAKR7iH,EAAE,CAACynF,QAAH,GAAc;AAAE31H,cAAAA,OAAO,EAAEipG,UAAU,CAACskB,2DAAYA;AAAC;AAAd;AAArB,aALN,EAMRr/E,EANI,CAAR;;AAOA2iF,YAAAA,KAAK,CAACm+B,KAAN,CAAYr2I,IAAZ;AACH,WAVS,CAAV;AAWH;AACJ;;AACD,eAASmgH,cAAT,CAAwBC,OAAxB,EAAiCiS,QAAjC,EAA2CC,UAA3C,EAAuDyrB,SAAvD,EAAkE;AAC9D,YAAIpC,eAAJ,EAAqB;AACjB,iBAAOA,eAAe,CAAC7E,yDAAUA;AAAC;AAAZ,WAAf,CAAgD12B,OAAhD,EAAyDiS,QAAzD,EAAmEC,UAAU,IAAI;AAAE;AAAnF,YAAsHyrB,SAAtH,CAAP;AACH;;AACD1rB,QAAAA,QAAQ,IAAIA,QAAQ,CAAC,KAAD,CAApB;AACA,eAAO,IAAP;AACH;;AACD,eAASiqB,kBAAT,GAA8B;AAC1B,YAAIiE,aAAa,GAAGlI,yDAAW,CAACzwC,OAAO,CAAC24C,aAAT,CAA/B;;AACA,YAAIA,aAAa,KAAK,IAAlB,IAA0BrE,cAA9B,EAA8C;AAC1C;AACAd,UAAAA,oBAAoB,CAAC5D,yEAA0BA;AAAC;AAA5B,WAApB,CAA0F0E,cAA1F;;AACAA,UAAAA,cAAc,GAAG,IAAjB;AACH;;AACD,YAAId,oBAAoB,IAAI,CAACc,cAAzB,IAA2CqE,aAAa,KAAK,IAAjE,EAAuE;AACnErE,UAAAA,cAAc,GAAG/D,qEAAgB,CAACvwC,OAAD,CAAjC;;AACAwzC,UAAAA,oBAAoB,CAACxE,yEAA0BA;AAAC;AAA5B,WAApB,CAAuFsF,cAAvF;AACH;AACJ;;AACD,eAASK,gBAAT,GAA4B;AACxB,YAAIW,aAAa,GAAG7E,yDAAW,CAACzwC,OAAO,CAACs1C,aAAT,CAA/B;;AACA,YAAI,CAACA,aAAD,IAAkB5B,eAAtB,EAAuC;AACnC;AACAA,UAAAA,eAAe,GAAG,IAAlB;AACH;;AACD,YAAI4B,aAAJ,EAAmB;AACf;AACA5E,UAAAA,yDAAW,CAAC1wC,OAAD,EAAUixC,mEAAV,EAA+BwB,kBAA/B,CAAX;AACH;AACJ;;AACD,eAASmC,cAAT,GAA0B;AACtB,YAAI5lC,SAAS,GAAG0hC,yDAAW,CAAC1wC,OAAD,EAAUsxC,oEAAV,EAAgC,EAAhC,CAA3B;AACAtiC,QAAAA,SAAS,CAACq/B,mBAAV,GAAgCmF,oBAAhC;AACH;;AACD,eAASqE,SAAT,CAAmBd,WAAnB,EAAgC;AAC5B,YAAI6B,SAAS,GAAGjH,6FAAmC,CAAC2E,eAAe,EAAhB,EAAoBhmC,KAApB,CAAnD;;AACAsoC,QAAAA,SAAS,CAAClJ,+DAAgBA;AAAC;AAAlB,SAAT,CAAqDmG,sBAArD;;AACA,YAAI,CAACvlC,KAAK,CAACuoC,WAAP,IAAsBvoC,KAAK,CAACuoC,WAAN,CAAkBD,SAAlB,EAA6B7B,WAA7B,MAA8C,IAAxE,EAA8E;AAC1E6B,UAAAA,SAAS,CAACjJ,gEAAiBA;AAAC;AAAnB,WAAT,CAAuDoH,WAAvD;AACH;AACJ;;AACD,eAASF,gBAAT,CAA0Bp3J,OAA1B,EAAmC;AAC/B,YAAI89B,MAAM,GAAG+yF,KAAK,CAACk/B,0DAAWA;AAAC;AAAb,SAAlB;;AACA,YAAIjyH,MAAJ,EAAY;AACR;AACA0zF,UAAAA,iEAAc,CAAC1zF,MAAD,EAAS;AAAE;AAAX,YAA2C;AAAG;AAA9C,YAAyF99B,OAAzF,CAAd;;AACAo2J,UAAAA,sBAAsB;AACzB,SAJD,MAKK;AACDjqC,UAAAA,wDAAU,CAACnsH,OAAD,CAAV;AACH;AACJ;AACJ,KA/fW,CAAZ;AAggBH,GA5hBqC,CA6hB1C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACI;AACA;AACA;;;AACAwuJ,EAAAA,QAAQ,CAAC50B,OAAT,GAAiB,CAAjB;AAEA,SAAO40B,QAAP;AACH,CA5jB6B,EAA9B;;;;;;;;;;;;;;;;;;;;;;;AChGA;AACA;AACA;AACA;AAGa;;AACb;AACA;AACA;AACA;AACA;AACA;AACA,IAAImL,YAAY,GAAG,WAAnB;AACA;AACA;AACA;AACA;AACA;;AACA,IAAIlvC,mBAAmB;AAAG;AAAe,YAAY;AACjD,WAASA,mBAAT,GAA+B;AAC3B,QAAIoG,KAAK,GAAG,IAAZ,CAD2B,CACT;AAClB;;;AACA,QAAI+oC,cAAJ;;AACA,QAAIC,QAAJ,CAJ2B,CAIb;;;AACd,QAAIC,WAAJ,CAL2B,CAKV;;;AACjB,QAAIC,uBAAJ;;AACA,QAAIC,MAAJ;;AACAhpC,IAAAA,aAAa;;AACb1H,IAAAA,sEAAY,CAACmB,mBAAD,EAAsBoG,KAAtB,EAA6B,UAAUA,KAAV,EAAiB;AACtDA,MAAAA,KAAK,CAAC09B,8DAAeA;AAAC;AAAjB,OAAL,GAAkD,UAAU1wJ,MAAV,EAAkB41H,IAAlB,EAAwBC,UAAxB,EAAoCC,WAApC,EAAiD;AAC/FsmC,QAAAA,YAAY,CAACp8J,MAAD,EAAS41H,IAAT,EAAeE,WAAf,CAAZ;;AACAimC,QAAAA,cAAc,GAAG,IAAjB;AACH,OAHD;;AAIA/oC,MAAAA,KAAK,CAAC0/B,4DAAaA;AAAC;AAAf,OAAL,GAA8C,UAAU77B,SAAV,EAAqBC,WAArB,EAAkC;AAC5E,YAAIzmF,EAAJ,CAD4E,CAE5E;AACA;;;AACA,YAAIulF,IAAI,GAAG5C,KAAK,CAAC0gC,wDAAQA;AAAC;AAAV,SAAhB;;AACA,YAAI,CAAC99B,IAAD,IAAUiB,SAAS,IAAIjB,IAAI,KAAKiB,SAAS,CAAC68B,wDAAQA;AAAC;AAAV,SAAT,EAApC,EAA+E;AAC3E;AACA;AACH;;AACD,YAAIzhJ,MAAJ;AACA,YAAIoqJ,UAAU,GAAG,KAAjB;AACA,YAAIC,YAAY,GAAGzlC,SAAS,IAAIu9B,6FAAmC,CAAC,IAAD,EAAOx+B,IAAP,EAAaqmC,WAAW,IAAIA,WAAW,CAACH,YAAD,CAA1B,GAA2CG,WAAW,CAACH,YAAD,CAAX,EAA3C,GAAyEG,WAAtF,CAAnE;AACA,YAAIM,cAAc,GAAGzlC,WAAW,KAAKzmF,EAAE,GAAG;AAClCi6E,UAAAA,MAAM,EAAE;AAAE;;AADwB,SAAL,EAGjCj6E,EAAE,CAAC2hH,4DAAaA;AAAC;AAAf,SAAF,GAAuC,KAHN,EAIjC3hH,EAJ4B,CAAhC;;AAKA,iBAASmsH,eAAT,GAA2B;AACvB,cAAI,CAACH,UAAL,EAAiB;AACbA,YAAAA,UAAU,GAAG,IAAb;;AACAH,YAAAA,uBAAuB,CAAChD,GAAxB,CAA4BoD,YAA5B,EAA0CxlC,WAA1C;;AACA,gBAAI2lC,QAAQ,GAAGN,MAAf;AACAA,YAAAA,MAAM,GAAG,EAAT,CAJa,CAKb;;AACArvC,YAAAA,wDAAU,CAAC2vC,QAAD,EAAW,UAAUC,EAAV,EAAc;AAC/BA,cAAAA,EAAE,CAACC,EAAH;AACH,aAFS,CAAV;;AAGA,gBAAI1qJ,MAAM,KAAK,IAAf,EAAqB;AACjBqqJ,cAAAA,YAAY,CAACjK,gEAAiBA;AAAC;AAAnB,eAAZ,CAA0DkK,cAA1D;AACH;;AACDppC,YAAAA,aAAa;AAChB;AACJ;;AACD,YAAI,CAACH,KAAK,CAAC4oC,gEAAiBA;AAAC;AAAnB,SAAN,IAAuD5oC,KAAK,CAAC4oC,gEAAiBA;AAAC;AAAnB,SAAL,CAAmDU,YAAnD,EAAiEC,cAAjE,EAAiFC,eAAjF,MAAsG,IAAjK,EAAuK;AACnKA,UAAAA,eAAe;AAClB,SAFD,MAGK;AACD;AACAvqJ,UAAAA,MAAM,GAAG,IAAT;AACH;;AACD,eAAOA,MAAP;AACH,OAzCD;;AA0CA+gH,MAAAA,KAAK,CAAC2oC,0DAAWA;AAAC;AAAb,OAAL,GAA0C,UAAUL,SAAV,EAAqB7B,WAArB,EAAkC;AACxE;AACA;AACA,YAAI7jC,IAAI,GAAG5C,KAAK,CAAC0gC,wDAAQA;AAAC;AAAV,SAAhB;;AACA,YAAI,CAAC99B,IAAD,IAAU0lC,SAAS,IAAI1lC,IAAI,KAAK0lC,SAAS,CAAC5H,wDAAQA;AAAC;AAAV,SAAT,EAApC,EAA+E;AAC3E;AACA;AACH;;AACD,YAAIzhJ,MAAJ;AACA,YAAI2qJ,UAAU,GAAG,KAAjB;AACA,YAAIC,YAAY,GAAGvB,SAAS,IAAIjH,6FAAmC,CAAC,IAAD,EAAOz+B,IAAP,EAAaqmC,WAAW,IAAIA,WAAW,CAACH,YAAD,CAA1B,GAA2CG,WAAW,CAACH,YAAD,CAAX,EAA3C,GAAyEG,WAAtF,CAAnE;AACA,YAAIa,cAAc,GAAGrD,WAAW,IAAI;AAChCnvC,UAAAA,MAAM,EAAE;AAAE;;AADsB,SAApC;;AAGA,iBAASyyC,eAAT,GAA2B;AACvB,cAAI,CAACH,UAAL,EAAiB;AACbA,YAAAA,UAAU,GAAG,IAAb;;AACAR,YAAAA,YAAY,CAACS,YAAY,CAACG,MAAb,EAAD,EAAwBH,YAAY,CAACjnC,IAAb,EAAxB,EAA6CinC,YAAY,CAACpB,4DAAaA;AAAC;AAAf,aAAZ,EAA7C,CAAZ;AACH;AACJ;;AACD,YAAI,CAACzoC,KAAK,CAACunC,SAAP,IAAoBvnC,KAAK,CAACunC,SAAN,CAAgBsC,YAAhB,EAA8BC,cAA9B,EAA8CC,eAA9C,MAAmE,IAA3F,EAAiG;AAC7FA,UAAAA,eAAe;AAClB,SAFD,MAGK;AACD9qJ,UAAAA,MAAM,GAAG,IAAT;AACH;;AACD,eAAOA,MAAP;AACH,OA3BD;;AA4BA+gH,MAAAA,KAAK,CAACE,QAAN,GAAiB,UAAU+pC,KAAV,EAAiB;AAC9B,YAAIA,KAAJ,EAAW;AACP,cAAIv7C,qDAAO,CAACu7C,KAAD,CAAX,EAAoB;AAChBd,YAAAA,MAAM,GAAGA,MAAM,CAACjvH,MAAP,CAAc+vH,KAAd,CAAT;AACH,WAFD,MAGK;AACDd,YAAAA,MAAM,CAACj1B,wDAASA;AAAC;AAAX,aAAN,CAAqC+1B,KAArC;AACH;AACJ;AACJ,OATD;;AAUA1J,MAAAA,6DAAe,CAACvgC,KAAD,EAAQ,cAAR,EAAwB,YAAY;AAAE,eAAOkpC,uBAAP;AAAiC,OAAvE,EAAyE,KAAzE,CAAf;AACH,KAtFW,CAAZ,CAT2B,CAgG3B;;AACAlpC,IAAAA,KAAK,CAACpE,4DAAaA;AAAC;AAAf,KAAL,GAA6C,UAAU0E,OAAV,EAAmB;AAC5D,aAAOka,UAAU,CAACla,OAAD,CAAV,CAAoB1E,4DAAaA;AAAC;AAAlC,SAAP;AACH,KAFD;;AAGAoE,IAAAA,KAAK,CAACi/B,kEAAmBA;AAAC;AAArB,KAAL,GAAyD,YAAY;AACjE,aAAO8J,cAAP;AACH,KAFD;;AAGA/oC,IAAAA,KAAK,CAAC2D,cAAN,GAAuB,UAAUZ,aAAV,EAAyB;AAC5CgmC,MAAAA,cAAc,GAAGhmC,aAAjB;AACH,KAFD,CAvG2B,CA0G3B;AACA;AACA;AACA;;;AACA/C,IAAAA,KAAK,CAAC0oC,mEAAoBA;AAAC;AAAtB,KAAL,GAA0D,UAAUxwJ,IAAV,EAAgB;AACtE+wJ,MAAAA,WAAW,GAAG/wJ,IAAd;AACH,KAFD;;AAGA8nH,IAAAA,KAAK,CAACq/B,gEAAiBA;AAAC;AAAnB,KAAL,GAAqD,UAAUviI,GAAV,EAAewjG,OAAf,EAAwB;AACzE,UAAIA,OAAJ,EAAa;AACT;AACAA,QAAAA,OAAO,CAAC++B,gEAAiBA;AAAC;AAAnB,SAAP,CAAqDviI,GAArD;AACH,OAHD,MAIK,IAAImsI,WAAW,IAAIpuC,wDAAU,CAACouC,WAAW,CAACJ,qEAAqBA;AAAC;AAAvB,OAAZ,CAA7B,EAAkG;AACnG;AACA;AACAI,QAAAA,WAAW,CAACJ,qEAAqBA;AAAC;AAAvB,SAAX,CAAkE/rI,GAAlE,EAAuE,IAAvE;AACH;AACJ,KAVD;;AAWAkjG,IAAAA,KAAK,CAACwa,UAAN,GAAmBA,UAAnB;;AACA,aAASA,UAAT,CAAoB0vB,UAApB,EAAgC;AAC5B,UAAIA,UAAU,KAAK,KAAK,CAAxB,EAA2B;AAAEA,QAAAA,UAAU,GAAG,IAAb;AAAoB;;AACjD,UAAI5pC,OAAO,GAAG4pC,UAAd;;AACA,UAAI,CAAC5pC,OAAL,EAAc;AACV,YAAI6pC,OAAO,GAAGnB,QAAQ,IAAIjvC,uFAA6B,CAAC,IAAD,EAAO,EAAP,EAAWiG,KAAK,CAAC0gC,wDAAQA;AAAC;AAAV,SAAhB,CAAvD,CADU,CAEV;;;AACA,YAAIuI,WAAW,IAAIA,WAAW,CAACH,YAAD,CAA9B,EAA8C;AAC1C;AACAxoC,UAAAA,OAAO,GAAG6pC,OAAO,CAAC3B,8DAAeA;AAAC;AAAjB,WAAP,CAAiD,IAAjD,EAAuDS,WAAW,CAACH,YAAD,CAAlE,CAAV;AACH,SAHD,MAIK;AACDxoC,UAAAA,OAAO,GAAG6pC,OAAO,CAAC3B,8DAAeA;AAAC;AAAjB,WAAP,CAAiD,IAAjD,EAAuDS,WAAvD,CAAV;AACH;AACJ;;AACD,aAAO3oC,OAAP;AACH;;AACD,aAAS8oC,YAAT,CAAsBp8J,MAAtB,EAA8B41H,IAA9B,EAAoCE,WAApC,EAAiD;AAC7C,UAAI91H,MAAJ,EAAY;AACR;AACAwyB,QAAAA,sDAAQ,CAACxyB,MAAD,EAASg0J,oEAAT,EAA+B,EAA/B,EAAmC,IAAnC,EAAyClmC,2DAAzC,CAAR;AACH;;AACD,UAAI,CAACgI,WAAD,IAAgBF,IAApB,EAA0B;AACtB;AACAE,QAAAA,WAAW,GAAGF,IAAI,CAACk8B,yEAA0BA;AAAC;AAA5B,SAAJ,GAAsE2J,4DAAaA;AAAC;AAApF,WAAd;AACH;;AACD,UAAI2B,UAAU,GAAGnB,WAAjB;;AACA,UAAIA,WAAW,IAAIA,WAAW,CAACH,YAAD,CAA9B,EAA8C;AAC1C;AACAsB,QAAAA,UAAU,GAAGnB,WAAW,CAACH,YAAD,CAAX,EAAb;AACH,OAb4C,CAc7C;;;AACA9oC,MAAAA,KAAK,CAAC0gC,wDAAQA;AAAC;AAAV,OAAL,GAAqC99B,IAArC;AACAomC,MAAAA,QAAQ,GAAGjvC,uFAA6B,CAAC+I,WAAD,EAAc91H,MAAd,EAAsB41H,IAAtB,EAA4BwnC,UAA5B,CAAxC;AACH;;AACD,aAASjqC,aAAT,GAAyB;AACrB4oC,MAAAA,cAAc,GAAG,KAAjB;AACA/oC,MAAAA,KAAK,CAAC0gC,wDAAQA;AAAC;AAAV,OAAL,GAAqC,IAArC;AACAsI,MAAAA,QAAQ,GAAG,IAAX;AACAC,MAAAA,WAAW,GAAG,IAAd;AACAE,MAAAA,MAAM,GAAG,EAAT;AACAD,MAAAA,uBAAuB,GAAGtH,qFAA4B,EAAtD;AACH;AACJ,GAxKgD,CAyKrD;AACA;AACA;AACA;AACA;AACI;AACA;AACA;;;AACAhoC,EAAAA,mBAAmB,CAACmP,OAApB,GAA4B,CAA5B;AAEA,SAAOnP,mBAAP;AACH,CApLwC,EAAzC;;;;;;;;;;;;;;;;;;;;;;;;ACnBA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACO,IAAIimC,yBAAyB,GAAG,GAAhC;AACP,IAAIwK,wBAAwB,GAAG,iCAA/B;;AACA,SAASC,gBAAT,CAA0BC,YAA1B,EAAwC3F,KAAxC,EAA+ChiC,IAA/C,EAAqD;AACjD,MAAIgiC,KAAK,IAAIl2C,qDAAO,CAACk2C,KAAD,CAAhB,IAA2BA,KAAK,CAACpoC,0DAAWA;AAAC;AAAb,GAAL,GAA0C,CAAzE,EAA4E;AACxEooC,IAAAA,KAAK,GAAGA,KAAK,CAACz2E,IAAN,CAAW,UAAUuB,CAAV,EAAav4C,CAAb,EAAgB;AAC/B,aAAOu4C,CAAC,CAACuxE,4DAAYA;AAAC;AAAd,OAAD,GAAyC9pH,CAAC,CAAC8pH,4DAAYA;AAAC;AAAd,OAAjD;AACH,KAFO,CAAR;AAGAnnC,IAAAA,wDAAU,CAAC8qC,KAAD,EAAQ,UAAU4F,SAAV,EAAqB;AACnC,UAAIA,SAAS,CAACvJ,4DAAYA;AAAC;AAAd,OAAT,GAAiDpB,yBAArD,EAAgF;AAC5EvkC,QAAAA,wDAAU,CAAC+uC,wBAAwB,GAAGG,SAAS,CAACzL,8DAAeA;AAAC;AAAjB,SAArC,CAAV;AACH;AACJ,KAJS,CAAV;;AAKAwL,IAAAA,YAAY,CAACr2B,wDAASA;AAAC;AAAX,KAAZ,CAA2C;AACvC0wB,MAAAA,KAAK,EAAEtE,uDAAS,CAACsE,KAAD,CADuB;AAEvC6F,MAAAA,KAAK,EAAEnJ,mFAAyB,CAACsD,KAAD,EAAQhiC,IAAI,CAAC+7B,0DAAWA;AAAC;AAAb,OAAZ,EAAgD/7B,IAAhD;AAFO,KAA3C;AAIH;AACJ;;AACM,SAASk9B,6BAAT,CAAuCyK,YAAvC,EAAqD3nC,IAArD,EAA2D;AAC9D,WAAS4X,UAAT,GAAsB;AAClB,WAAOzgB,uFAA6B,CAAC,IAAD,EAAO6I,IAAI,CAAC+7B,0DAAWA;AAAC;AAAb,KAAX,EAA+C/7B,IAA/C,EAAqD,IAArD,CAApC;AACH;;AACD,WAAS8nC,oBAAT,CAA8BC,WAA9B,EAA2CrqC,OAA3C,EAAoDsqC,SAApD,EAA+DC,UAA/D,EAA2E;AACvE,QAAIC,OAAO,GAAGH,WAAW,GAAIA,WAAW,CAACnuC,0DAAWA;AAAC;AAAb,KAAX,GAAgD,CAApD,GAAyD,CAAlF;;AACA,aAASuuC,mBAAT,GAA+B;AAC3BD,MAAAA,OAAO;;AACP,UAAIA,OAAO,KAAK,CAAhB,EAAmB;AACfD,QAAAA,UAAU,IAAIA,UAAU,EAAxB;AACAA,QAAAA,UAAU,GAAG,IAAb;AACH;AACJ;;AACD,QAAIC,OAAO,GAAG,CAAd,EAAiB;AACbhxC,MAAAA,wDAAU,CAAC6wC,WAAD,EAAc,UAAUhG,QAAV,EAAoB;AACxC;AACA,YAAIA,QAAQ,IAAIA,QAAQ,CAACC,KAAT,CAAepoC,0DAAWA;AAAC;AAA3B,YAAmD,CAAnE,EAAsE;AAClE,cAAIwuC,YAAY,GAAGrG,QAAQ,CAAC8F,KAA5B;;AACA,cAAIQ,QAAQ,GAAG3qC,OAAO,CAACkoC,8DAAeA;AAAC;AAAjB,WAAP,CAAiDwC,YAAjD,CAAf;;AACAC,UAAAA,QAAQ,CAAC7L,+DAAgBA;AAAC;AAAlB,WAAR,CAAoD2L,mBAApD,EAHkE,CAIlE;;;AACAH,UAAAA,SAAS,CAACK,QAAD,CAAT;AACH,SAND,MAOK;AACDH,UAAAA,OAAO;AACV;AACJ,OAZS,CAAV;AAaH;;AACDC,IAAAA,mBAAmB;AACtB;;AACD,WAASxD,SAAT,CAAmBe,SAAnB,EAA8B7B,WAA9B,EAA2C;AACvC,QAAIqD,cAAc,GAAGrD,WAAW,IAAI;AAChCnvC,MAAAA,MAAM,EAAE;AAAE;;AADsB,KAApC;;AAGAozC,IAAAA,oBAAoB,CAACH,YAAD,EAAejC,SAAf,EAA0B,UAAU2C,QAAV,EAAoB;AAC9DA,MAAAA,QAAQ,CAAC5L,gEAAiBA;AAAC;AAAnB,OAAR,CAAsDyK,cAAtD;AACH,KAFmB,EAEjB,YAAY;AACXxB,MAAAA,SAAS,CAACjJ,gEAAiBA;AAAC;AAAnB,OAAT,CAAuDyK,cAAvD;AACH,KAJmB,CAApB;;AAKA,WAAO,IAAP;AACH;;AACD,WAASlmC,WAAT,CAAqBC,SAArB,EAAgCC,WAAhC,EAA6C;AACzC,QAAIylC,cAAc,GAAGzlC,WAAW,IAAI;AAChCxM,MAAAA,MAAM,EAAE;AAAE;AADsB;AAEhC4Q,MAAAA,OAAO,EAAE;AAFuB,KAApC;;AAIAwiC,IAAAA,oBAAoB,CAACH,YAAD,EAAe1mC,SAAf,EAA0B,UAAUonC,QAAV,EAAoB;AAC9DA,MAAAA,QAAQ,CAAC5L,gEAAiBA;AAAC;AAAnB,OAAR,CAAsDkK,cAAtD;AACH,KAFmB,EAEjB,YAAY;AACX1lC,MAAAA,SAAS,CAACw7B,gEAAiBA;AAAC;AAAnB,OAAT,CAAuDkK,cAAvD;;AACAxmC,MAAAA,aAAa,GAAG,KAAhB;AACH,KALmB,CAApB;;AAMA,WAAO,IAAP;AACH;;AACD,WAASmoC,WAAT,CAAqB1D,gBAArB,EAAuC;AACnC,QAAI5E,SAAS,GAAG,IAAhB;;AACA,QAAI2H,YAAY,IAAIA,YAAY,CAAC/tC,0DAAWA;AAAC;AAAb,KAAZ,GAAiD,CAArE,EAAwE;AACpE1C,MAAAA,wDAAU,CAACywC,YAAD,EAAe,UAAU5F,QAAV,EAAoB;AACzC;AACA,YAAIA,QAAQ,IAAIA,QAAQ,CAACC,KAAT,CAAepoC,0DAAWA;AAAC;AAA3B,YAAmD,CAAnE,EAAsE;AAClE1C,UAAAA,wDAAU,CAAC6qC,QAAQ,CAACC,KAAV,EAAiB,UAAUx6G,GAAV,EAAe;AACtC,gBAAIA,GAAG,CAAC20G,8DAAeA;AAAC;AAAjB,aAAH,KAAkDyI,gBAAtD,EAAwE;AACpE5E,cAAAA,SAAS,GAAGx4G,GAAZ,CADoE,CAEpE;;AACA,qBAAO,CAAC,CAAR;AACH;AACJ,WANS,CAAV;;AAOA,cAAIw4G,SAAJ,EAAe;AACX;AACA,mBAAO,CAAC,CAAR;AACH;AACJ;AACJ,OAfS,CAAV;AAgBH;;AACD,WAAOA,SAAP;AACH;;AACD,MAAI7/B,aAAa,GAAG,KAApB;AACA,MAAIooC,iBAAiB,GAAG;AACpBvsC,IAAAA,UAAU,EAAE,yBADQ;AAEpB3L,IAAAA,QAAQ,EAAE4sC,yBAFU;AAGpB5zH,IAAAA,UAAU,EAAE,UAAUj/B,MAAV,EAAkB41H,IAAlB,EAAwBC,UAAxB,EAAoCC,WAApC,EAAiD;AACzDC,MAAAA,aAAa,GAAG,IAAhB;AACAjJ,MAAAA,wDAAU,CAACywC,YAAD,EAAe,UAAU5F,QAAV,EAAoB;AACzC,YAAIA,QAAQ,IAAIA,QAAQ,CAACC,KAAT,CAAepoC,0DAAWA;AAAC;AAA3B,YAAmD,CAAnE,EAAsE;AAClEilC,UAAAA,oEAAiB,CAAC1nC,uFAA6B,CAAC4qC,QAAQ,CAAC8F,KAAV,EAAiBz9J,MAAjB,EAAyB41H,IAAzB,CAA9B,EAA8DC,UAA9D,CAAjB;AACH;AACJ,OAJS,CAAV;AAKH,KAVmB;AAWpBE,IAAAA,aAAa,EAAE,YAAY;AACvB,aAAOA,aAAP;AACH,KAbmB;AAcpB1C,IAAAA,gBAAgB,EAAE,UAAUv4G,IAAV,EAAgBw4G,OAAhB,EAAyB;AACvCoqC,MAAAA,oBAAoB,CAACH,YAAD,EAAejqC,OAAO,IAAIka,UAAU,EAApC,EAAwC,UAAUywB,QAAV,EAAoB;AAC5EA,QAAAA,QAAQ,CAAC5L,gEAAiBA;AAAC;AAAnB,SAAR,CAAsDv3I,IAAtD;AACH,OAFmB,EAEjB,YAAY;AACXw4G,QAAAA,OAAO,CAAC++B,gEAAiBA;AAAC;AAAnB,SAAP,CAAqDv3I,IAArD;AACH,OAJmB,CAApB;AAKH,KApBmB;AAqBpBsjJ,IAAAA,MAAM,EAAE7D,SArBY;AAsBpBruI,IAAAA,KAAK,EAAE,YAAY;AACfwxI,MAAAA,oBAAoB,CAACH,YAAD,EAAe/vB,UAAU,EAAzB,EAA6B,UAAUywB,QAAV,EAAoB;AACjEA,QAAAA,QAAQ,CAACI,OAAT,CAAiB,UAAUvlC,MAAV,EAAkB;AAC/BA,UAAAA,MAAM,CAAC5sG,KAAP,IAAgB4sG,MAAM,CAAC5sG,KAAP,EAAhB;AACH,SAFD;AAGH,OAJmB,EAIjB,IAJiB,CAApB;AAKH,KA5BmB;AA6BpB+gH,IAAAA,MAAM,EAAE,YAAY;AAChBywB,MAAAA,oBAAoB,CAACH,YAAD,EAAe/vB,UAAU,EAAzB,EAA6B,UAAUywB,QAAV,EAAoB;AACjEA,QAAAA,QAAQ,CAACI,OAAT,CAAiB,UAAUvlC,MAAV,EAAkB;AAC/BA,UAAAA,MAAM,CAACmU,MAAP,IAAiBnU,MAAM,CAACmU,MAAP,EAAjB;AACH,SAFD;AAGH,OAJmB,EAIjB,IAJiB,CAApB;AAKH,KAnCmB;AAoCpBlW,IAAAA,QAAQ,EAAEH,WApCU;AAqCpB8jC,IAAAA,UAAU,EAAEwD,WArCQ;AAsCpB/iC,IAAAA,KAAK,EAAE,UAAUD,OAAV,EAAmBiS,QAAnB,EAA6BC,UAA7B,EAAyCyrB,SAAzC,EAAoD;AACvD;AACA,UAAIiF,OAAO,GAAG,CAAd;AACA,UAAIQ,aAAa,GAAG,KAApB;AACA,UAAIC,OAAO,GAAG,IAAd;AACA1F,MAAAA,SAAS,GAAGA,SAAS,IAAI,IAAzB;;AACA,eAAS2F,UAAT,GAAsB;AAClBV,QAAAA,OAAO;;AACP,YAAIQ,aAAa,IAAIR,OAAO,KAAK,CAAjC,EAAoC;AAChC,cAAIS,OAAJ,EAAa;AACTzhH,YAAAA,YAAY,CAACyhH,OAAD,CAAZ;AACAA,YAAAA,OAAO,GAAG,IAAV;AACH;;AACDpxB,UAAAA,QAAQ,IAAIA,QAAQ,CAACmxB,aAAD,CAApB;AACAnxB,UAAAA,QAAQ,GAAG,IAAX;AACH;AACJ;;AACDuwB,MAAAA,oBAAoB,CAACH,YAAD,EAAe/vB,UAAU,EAAzB,EAA6B,UAAUywB,QAAV,EAAoB;AACjEA,QAAAA,QAAQ,CAACI,OAAT,CAAiB,UAAUvlC,MAAV,EAAkB;AAC/B,cAAIA,MAAM,CAAC84B,yDAAUA;AAAC;AAAZ,WAAV,EAA4C;AACxCkM,YAAAA,OAAO;AACP,gBAAIW,SAAS,GAAG,KAAhB,CAFwC,CAGxC;;AACA,gBAAI,CAAC3lC,MAAM,CAAC84B,yDAAUA;AAAC;AAAZ,aAAN,CAAuC12B,OAAvC,EAAgD,YAAY;AAC7DujC,cAAAA,SAAS,GAAG,IAAZ;AACAD,cAAAA,UAAU;AACb,aAHI,EAGFpxB,UAHE,CAAL,EAGgB;AACZ,kBAAI,CAACqxB,SAAL,EAAgB;AACZ;AACA;AACA;AACA,oBAAIvjC,OAAO,IAAIqjC,OAAO,IAAI,IAA1B,EAAgC;AAC5BA,kBAAAA,OAAO,GAAG/+I,UAAU,CAAC,YAAY;AAC7B++I,oBAAAA,OAAO,GAAG,IAAV;AACAC,oBAAAA,UAAU;AACb,mBAHmB,EAGjB3F,SAHiB,CAApB;AAIH,iBALD,MAMK;AACD2F,kBAAAA,UAAU;AACb;AACJ;AACJ;AACJ;AACJ,SAzBD;AA0BH,OA3BmB,EA2BjB,YAAY;AACXF,QAAAA,aAAa,GAAG,IAAhB;AACAE,QAAAA,UAAU;AACb,OA9BmB,CAApB;;AA+BA,aAAO,IAAP;AACH,KAvFmB;AAwFpBnE,IAAAA,SAAS,EAAE,UAAUzC,KAAV,EAAiB;AACxB2F,MAAAA,YAAY,GAAG3F,KAAf;AACH;AA1FmB,GAAxB;AA4FA,SAAOuG,iBAAP;AACH;AACM,SAASpL,mBAAT,CAA6B4E,QAA7B,EAAuC9hC,UAAvC,EAAmDD,IAAnD,EAAyD;AAC5D,MAAI2nC,YAAY,GAAG,EAAnB;;AACA,MAAI5F,QAAJ,EAAc;AACV;AACA7qC,IAAAA,wDAAU,CAAC6qC,QAAD,EAAW,UAAUC,KAAV,EAAiB;AAAE,aAAO0F,gBAAgB,CAACC,YAAD,EAAe3F,KAAf,EAAsBhiC,IAAtB,CAAvB;AAAqD,KAAnF,CAAV;AACH;;AACD,MAAIC,UAAJ,EAAgB;AACZ;AACA,QAAI6oC,gBAAgB,GAAG,EAAvB;AACA5xC,IAAAA,wDAAU,CAAC+I,UAAD,EAAa,UAAUiD,MAAV,EAAkB;AACrC,UAAIA,MAAM,CAACm7B,4DAAYA;AAAC;AAAd,OAAN,GAA8CpB,yBAAlD,EAA6E;AACzE6L,QAAAA,gBAAgB,CAACx3B,wDAASA;AAAC;AAAX,SAAhB,CAA+CpO,MAA/C;AACH;AACJ,KAJS,CAAV;;AAKAwkC,IAAAA,gBAAgB,CAACC,YAAD,EAAemB,gBAAf,EAAiC9oC,IAAjC,CAAhB;AACH;;AACD,SAAO2nC,YAAP;AACH;;;;;;;;;;;;;;;;;;;;;;;;ACzND;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAIyB,cAAc,GAAG,aAArB;AACA,IAAIC,cAAc,GAAG,aAArB;AACA,IAAIC,SAAS,GAAG,QAAhB;AACA,IAAIC,UAAU,GAAG,SAAjB;AACA,IAAIC,UAAU,GAAG,SAAjB;AACA,IAAIC,sBAAsB,GAAG,qBAA7B;AACA,IAAIC,sBAAsB,GAAG,qBAA7B;AACA,IAAIC,kBAAkB,GAAG,QAAzB;AACA,IAAIC,gBAAgB,GAAG,IAAvB;AACA,IAAIC,gBAAgB,GAAG,IAAvB;AACA,IAAIC,kBAAkB,GAAG,IAAzB;;AACA,IAAIC,IAAI,GAAGtyC,sDAAW,EAAtB;;AACA,IAAIuyC,YAAY,GAAG,EAAnB;AACA,IAAIC,mBAAmB,GAAG,EAA1B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACO,SAASC,aAAT,CAAuB9/J,MAAvB,EAA+BigC,MAA/B,EAAuC;AAC1C;AACA,MAAI8/H,IAAI,GAAG/M,eAAe,CAACuM,kBAAD,CAAf,IAAuCM,mBAAmB,CAACN,kBAAD,CAArE;;AACA,MAAI,CAACQ,IAAL,EAAW;AACP;AACA;AACAA,IAAAA,IAAI,GAAG/M,eAAe,CAACuM,kBAAD,CAAf,GAAsCvM,eAAe,CAAChzJ,MAAD,EAASigC,MAAT,CAA5D;AACA4/H,IAAAA,mBAAmB,CAACN,kBAAD,CAAnB,GAA0CQ,IAA1C;AACH;;AACD,SAAOA,IAAP;AACH;;AACD,SAASC,aAAT,CAAuBjI,SAAvB,EAAkC;AAC9B,MAAIA,SAAJ,EAAe;AACX,WAAOA,SAAS,CAAC4C,SAAV,EAAP;AACH;;AACD,SAAO,IAAP;AACH;;AACD,SAASsF,sBAAT,CAAgCC,UAAhC,EAA4C;AACxC,MAAIC,YAAY,GAAGD,UAAU,CAACvB,8DAAeA;AAAC;AAAjB,GAAV,GAAsDuB,UAAU,CAACvB,8DAAeA;AAAC;AAAjB,GAAV,IAAuD,EAAhI,CADwC,CAExC;;AACAnsI,EAAAA,sDAAQ,CAAC2tI,YAAD,EAAe,QAAf,EAAyBD,UAAU,CAACE,YAApC,EAAkD9Z,8DAAlD,EAAwEx4B,2DAAxE,CAAR;AACAt7F,EAAAA,sDAAQ,CAAC2tI,YAAD,EAAe,MAAf,EAAuBD,UAAU,CAACG,UAAX,IAAyB,GAAhD,EAAqD,IAArD,EAA2DvyC,2DAA3D,CAAR;;AACA,MAAIA,+DAAiB,CAACqyC,YAAY,CAACf,UAAD,CAAb,CAArB,EAAiD;AAC7C;AACA,QAAIkB,aAAa,GAAG,KAAK,CAAzB;;AACA,QAAI,CAACtyC,yDAAW,CAACkyC,UAAU,CAACb,sBAAD,CAAX,CAAhB,EAAsD;AAClDiB,MAAAA,aAAa,GAAG,CAACJ,UAAU,CAACb,sBAAD,CAA3B;AACH;;AACD,QAAI,CAACrxC,yDAAW,CAACkyC,UAAU,CAACZ,sBAAD,CAAX,CAAhB,EAAsD;AAClDgB,MAAAA,aAAa,GAAG,CAACJ,UAAU,CAACZ,sBAAD,CAA3B;AACH;;AACDa,IAAAA,YAAY,CAACf,UAAD,CAAZ,GAA2BkB,aAA3B;AACH;;AACD,SAAOH,YAAP;AACH;;AACD,SAASI,gBAAT,CAA0BJ,YAA1B,EAAwCrvJ,IAAxC,EAA8C;AAC1C,MAAIA,IAAI,IAAIqvJ,YAAR,IAAwBz+C,qDAAO,CAACy+C,YAAY,CAACK,aAAd,CAAnC,EAAiE;AAC7D,WAAOL,YAAY,CAACK,aAAb,CAA2Bzf,4DAAaA;AAAC;AAAzC,MAAgEjwI,IAAhE,MAA0E,CAAC,CAAlF;AACH;;AACD,SAAO,KAAP;AACH;;AACD,SAAS2vJ,gBAAT,CAA0BN,YAA1B,EAAwCrvJ,IAAxC,EAA8C;AAC1C,MAAIA,IAAI,IAAIqvJ,YAAR,IAAwBz+C,qDAAO,CAACy+C,YAAY,CAACO,cAAd,CAAnC,EAAkE;AAC9D,QAAIP,YAAY,CAACO,cAAb,CAA4B3f,4DAAaA;AAAC;AAA1C,MAAiEjwI,IAAjE,MAA2E,CAAC,CAAhF,EAAmF;AAC/E,aAAO,IAAP;AACH;AACJ;;AACD,SAAOyvJ,gBAAgB,CAACJ,YAAD,EAAervJ,IAAf,CAAvB;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;;;AACO,SAASs9G,gBAAT,CAA0BwH,IAA1B,EAAgC51H,MAAhC,EAAwC;AAC3C,MAAI+3J,SAAJ;;AACA,MAAIniC,IAAJ,EAAU;AACN;AACAmiC,IAAAA,SAAS,GAAGniC,IAAI,CAACxC,YAAL,EAAZ;AACH,GAHD,MAIK,IAAIpzH,MAAJ,EAAY;AACb,QAAI2gK,SAAS,GAAG3gK,MAAM,CAAC2+J,8DAAeA;AAAC;AAAjB,KAAtB;;AACA,QAAIgC,SAAS,CAACpB,kBAAD,CAAb,EAAmC;AAC/BxH,MAAAA,SAAS,GAAG4I,SAAS,CAACpB,kBAAD,CAArB;AACH,KAFD,MAGK;AACDxH,MAAAA,SAAS,GAAG/E,eAAe,CAAChzJ,MAAD,CAA3B;AACH;AACJ;;AACD,MAAI,CAAC+3J,SAAL,EAAgB;AACZ;AACAA,IAAAA,SAAS,GAAG+H,aAAa,CAAC9/J,MAAD,EAAS,CAAC41H,IAAI,IAAI,EAAT,EAAas8B,0DAAWA;AAAC;AAAzB,KAAT,CAAzB;AACH;;AACD,SAAO6F,SAAP;AACH;AACM,SAAS/E,eAAT,CAAyBkN,UAAzB,EAAqCjgI,MAArC,EAA6C;AAChD,MAAIoQ,EAAJ;;AACA,MAAIuwH,eAAe,GAAGX,sBAAsB,CAACC,UAAU,IAAIL,mBAAf,CAA5C;;AACA,MAAIgB,KAAK,GAAGD,eAAe,CAACt5J,IAAhB,IAAwB,GAApC;;AACA,MAAIw5J,OAAO,GAAGF,eAAe,CAAC99B,MAA9B,CAJgD,CAKhD;;AACA,MAAIi+B,QAAQ,GAAGH,eAAe,CAACxB,UAAD,CAAf,KAAgC,KAA/C;;AACA,MAAIrH,SAAS,IAAI1nH,EAAE,GAAG;AACdsqH,IAAAA,SAAS,EAAE,YAAY;AACnB,UAAIluI,OAAO,GAAGs0I,QAAQ,IAAIC,mBAAmB,CAAC/gI,MAAD,CAA7C,CADmB,CAEnB;AACA;;;AACA,UAAIghI,UAAU,GAAGpB,mBAAmB,CAACN,kBAAD,CAApC;;AACA,UAAI9yI,OAAO,IAAIw0I,UAAX,IAAyBlJ,SAAS,KAAKkJ,UAA3C,EAAuD;AACnD;AACA;AACAx0I,QAAAA,OAAO,GAAGuzI,aAAa,CAACiB,UAAD,CAAvB;AACH;;AACD,aAAOx0I,OAAP;AACH;AAZa,GAAL,EAcb4jB,EAAE,CAACkiH,+DAAgBA;AAAC;AAAlB,GAAF,GAA6C,UAAU/gJ,KAAV,EAAiB;AAC1D;AACAuvJ,IAAAA,QAAQ,GAAGvvJ,KAAK,KAAK,KAArB;AACH,GAjBY,EAkBb6+B,EAAE,CAACjL,GAAH,GAAS,UAAUt0B,IAAV,EAAgBU,KAAhB,EAAuB0vJ,SAAvB,EAAkCp+B,MAAlC,EAA0Cx7H,IAA1C,EAAgD;AACrD,QAAI2K,MAAM,GAAG,KAAb;;AACA,QAAI+tJ,aAAa,CAACjI,SAAD,CAAb,IAA4B,CAAC0I,gBAAgB,CAACG,eAAD,EAAkB9vJ,IAAlB,CAAjD,EAA0E;AACtE,UAAI6wC,MAAM,GAAG,EAAb;AACA,UAAIgsF,QAAQ,GAAGiQ,qDAAO,CAACpsI,KAAK,IAAIutJ,yDAAV,CAAtB;;AACA,UAAI3E,GAAG,GAAGzsB,QAAQ,CAACoT,4DAAaA;AAAC;AAAf,OAAR,CAA8C,GAA9C,CAAV;;AACA,UAAIqZ,GAAG,KAAK,CAAC,CAAb,EAAgB;AACZzsB,QAAAA,QAAQ,GAAGiQ,qDAAO,CAACpsI,KAAK,CAACysI,6DAAcA;AAAC;AAAhB,SAAL,CAA8C,CAA9C,EAAiDmc,GAAjD,CAAD,CAAlB;AACAz4G,QAAAA,MAAM,GAAGw/G,aAAa,CAAC3vJ,KAAK,CAACysI,6DAAcA;AAAC;AAAhB,SAAL,CAA8Cmc,GAAG,GAAG,CAApD,CAAD,CAAtB;AACH,OAPqE,CAQtE;;;AACA5nI,MAAAA,sDAAQ,CAACmvB,MAAD,EAAS,QAAT,EAAmBmhF,MAAM,IAAIg+B,OAA7B,EAAsC3gC,kDAAtC,EAAgDnS,qDAAhD,CAAR;;AACA,UAAI,CAACF,+DAAiB,CAACozC,SAAD,CAAtB,EAAmC;AAC/B,YAAIE,KAAK,GAAGh/E,+CAAI,EAAhB;;AACA,YAAI4rC,yDAAW,CAACrsE,MAAM,CAACw9G,UAAD,CAAP,CAAf,EAAqC;AACjC,cAAIkC,KAAK,GAAG3iC,qDAAO,EAAnB,CADiC,CAEjC;;AACA,cAAI4iC,QAAQ,GAAGD,KAAK,GAAIH,SAAS,GAAG,IAApC,CAHiC,CAIjC;;AACA,cAAII,QAAQ,GAAG,CAAf,EAAkB;AACd,gBAAIC,MAAM,GAAG,IAAIl5G,IAAJ,EAAb;AACAk5G,YAAAA,MAAM,CAACC,OAAP,CAAeF,QAAf;AACA9uI,YAAAA,sDAAQ,CAACmvB,MAAD,EAASw9G,UAAT,EAAqBsC,WAAW,CAACF,MAAD,EAAS,CAACH,KAAD,GAASnC,cAAT,GAA0BD,cAAnC,CAAX,IAAiEyC,WAAW,CAACF,MAAD,EAASH,KAAK,GAAGpC,cAAH,GAAoBC,cAAlC,CAA5E,IAAiIF,yDAAtJ,EAAiK5+B,kDAAjK,CAAR;AACH;AACJ;;AACD,YAAI,CAACihC,KAAL,EAAY;AACR;AACA5uI,UAAAA,sDAAQ,CAACmvB,MAAD,EAAS,SAAT,EAAoBo9G,yDAAS,GAAGmC,SAAhC,EAA2C,IAA3C,EAAiDlzC,qDAAjD,CAAR;AACH;AACJ;;AACD,UAAIwN,UAAU,GAAGhO,sDAAW,EAA5B;;AACA,UAAIgO,UAAU,IAAIA,UAAU,CAAC4X,QAAX,KAAwB,QAA1C,EAAoD;AAChD5gH,QAAAA,sDAAQ,CAACmvB,MAAD,EAAS,QAAT,EAAmB,IAAnB,EAAyB,IAAzB,EAA+BqsE,qDAA/B,CAAR,CADgD,CAEhD;;AACA,YAAIyxC,gBAAgB,KAAK,IAAzB,EAA+B;AAC3BA,UAAAA,gBAAgB,GAAG,CAACvT,uBAAuB,CAAC,CAACjwB,uDAAY,MAAM,EAAnB,EAAuB2iC,8DAAeA;AAAC;AAAvC,WAAD,CAA3C;AACH;;AACD,YAAIa,gBAAJ,EAAsB;AAClBjtI,UAAAA,sDAAQ,CAACmvB,MAAD,EAAS,UAAT,EAAqB,MAArB,EAA6B,IAA7B,EAAmCqsE,qDAAnC,CAAR;AACH;AACJ;;AACDx7F,MAAAA,sDAAQ,CAACmvB,MAAD,EAAS,MAAT,EAAiBr6C,IAAI,IAAIu5J,KAAzB,EAAgC,IAAhC,EAAsC7yC,qDAAtC,CAAR;AACA,UAAI0zC,WAAW,GAAGd,eAAe,CAACthJ,SAAhB,IAA6BqiJ,eAA/C;AACAD,MAAAA,WAAW,CAAC5wJ,IAAD,EAAO8wJ,kBAAkB,CAACj0B,QAAD,EAAWhsF,MAAX,CAAzB,CAAX;AACA1vC,MAAAA,MAAM,GAAG,IAAT;AACH;;AACD,WAAOA,MAAP;AACH,GAjEY,EAkEbo+B,EAAE,CAACtvC,GAAH,GAAS,UAAU+P,IAAV,EAAgB;AACrB,QAAIU,KAAK,GAAGutJ,yDAAZ;;AACA,QAAIiB,aAAa,CAACjI,SAAD,CAAb,IAA4B,CAACwI,gBAAgB,CAACK,eAAD,EAAkB9vJ,IAAlB,CAAjD,EAA0E;AACtEU,MAAAA,KAAK,GAAG,CAACovJ,eAAe,CAACr/J,SAAhB,IAA6BsgK,eAA9B,EAA+C/wJ,IAA/C,CAAR;AACH;;AACD,WAAOU,KAAP;AACH,GAxEY,EAyEb6+B,EAAE,CAACyxH,GAAH,GAAS,UAAUhxJ,IAAV,EAAgBxJ,IAAhB,EAAsB;AAC3B,QAAI2K,MAAM,GAAG,KAAb;;AACA,QAAI+tJ,aAAa,CAACjI,SAAD,CAAjB,EAA8B;AAC1B;AACA9lJ,MAAAA,MAAM,GAAG8lJ,SAAS,CAACgK,KAAV,CAAgBjxJ,IAAhB,EAAsBxJ,IAAtB,CAAT;AACH;;AACD,WAAO2K,MAAP;AACH,GAhFY,EAiFbo+B,EAAE,CAAC0xH,KAAH,GAAW,UAAUjxJ,IAAV,EAAgBxJ,IAAhB,EAAsB;AAC7B,QAAI+oC,EAAJ;;AACA,QAAIp+B,MAAM,GAAG,KAAb;;AACA,QAAI+uJ,mBAAmB,CAAC/gI,MAAD,CAAvB,EAAiC;AAC7B;AACA,UAAI0hB,MAAM,IAAItR,EAAE,GAAG,EAAL,EACVA,EAAE,CAAC,MAAD,CAAF,GAAa/oC,IAAI,GAAGA,IAAH,GAAU,GADjB,EAEV+oC,EAAE,CAAC8uH,UAAD,CAAF,GAAiB,+BAFP,EAGV9uH,EAHM,CAAV;;AAIA,UAAI,CAAC+xC,+CAAI,EAAT,EAAa;AACT;AACAzgC,QAAAA,MAAM,CAAC,SAAD,CAAN,GAAoB,GAApB;AACH;;AACD,UAAIqgH,SAAS,GAAGpB,eAAe,CAACoB,SAAhB,IAA6BL,eAA7C;AACAK,MAAAA,SAAS,CAAClxJ,IAAD,EAAO8wJ,kBAAkB,CAAC7C,yDAAD,EAAYp9G,MAAZ,CAAzB,CAAT;AACA1vC,MAAAA,MAAM,GAAG,IAAT;AACH;;AACD,WAAOA,MAAP;AACH,GAnGY,EAoGbo+B,EApGS,CAAb,CAPgD,CA4GhD;;AACA0nH,EAAAA,SAAS,CAACwH,kBAAD,CAAT,GAAgCxH,SAAhC;AACA,SAAOA,SAAP;AACH;AACD;AACA;AACA;;AACO,SAASiJ,mBAAT,CAA6B/gI,MAA7B,EAAqC;AACxC,MAAIu/H,gBAAgB,KAAK,IAAzB,EAA+B;AAC3BA,IAAAA,gBAAgB,GAAG,KAAnB;;AACA,QAAI;AACA,UAAIjrC,GAAG,GAAGorC,IAAI,IAAI,EAAlB;AACAH,MAAAA,gBAAgB,GAAGjrC,GAAG,CAAC2qC,SAAD,CAAH,KAAmBvsH,SAAtC;AACH,KAHD,CAIA,OAAO1H,CAAP,EAAU;AACN0oF,MAAAA,iEAAc,CAAC1zF,MAAD,EAAS;AAAE;AAAX,QAA2C;AAAG;AAA9C,QAA4F,qCAAqCqtF,8DAAgB,CAACriF,CAAD,CAAjJ,EAAsJ;AAAE2oF,QAAAA,SAAS,EAAE3G,kDAAO,CAAChiF,CAAD;AAApB,OAAtJ,CAAd;AACH;AACJ;;AACD,SAAOu0H,gBAAP;AACH;;AACD,SAAS2B,aAAT,CAAuBxzB,QAAvB,EAAiC;AAC7B,MAAIhsF,MAAM,GAAG,EAAb;;AACA,MAAIgsF,QAAQ,IAAIA,QAAQ,CAACne,0DAAWA;AAAC;AAAb,GAAxB,EAA4D;AACxD,QAAIjxC,KAAK,GAAGq/D,qDAAO,CAACjQ,QAAD,CAAP,CAAkBkI,yDAAUA;AAAC;AAA7B,MAAkD,GAAlD,CAAZ;;AACA/oB,IAAAA,wDAAU,CAACvuC,KAAD,EAAQ,UAAU0jF,OAAV,EAAmB;AACjCA,MAAAA,OAAO,GAAGrkB,qDAAO,CAACqkB,OAAO,IAAIlD,yDAAZ,CAAjB;;AACA,UAAIkD,OAAJ,EAAa;AACT,YAAI7H,GAAG,GAAG6H,OAAO,CAAClhB,4DAAaA;AAAC;AAAf,SAAP,CAA6C,GAA7C,CAAV;;AACA,YAAIqZ,GAAG,KAAK,CAAC,CAAb,EAAgB;AACZz4G,UAAAA,MAAM,CAACsgH,OAAD,CAAN,GAAkB,IAAlB;AACH,SAFD,MAGK;AACDtgH,UAAAA,MAAM,CAACi8F,qDAAO,CAACqkB,OAAO,CAAChkB,6DAAcA;AAAC;AAAhB,WAAP,CAAgD,CAAhD,EAAmDmc,GAAnD,CAAD,CAAR,CAAN,GAA2Exc,qDAAO,CAACqkB,OAAO,CAAChkB,6DAAcA;AAAC;AAAhB,WAAP,CAAgDmc,GAAG,GAAG,CAAtD,CAAD,CAAlF;AACH;AACJ;AACJ,KAXS,CAAV;AAYH;;AACD,SAAOz4G,MAAP;AACH;;AACD,SAAS8/G,WAAT,CAAqBS,OAArB,EAA8B5uB,IAA9B,EAAoC;AAChC,MAAIzlB,wDAAU,CAACq0C,OAAO,CAAC5uB,IAAD,CAAR,CAAd,EAA+B;AAC3B,WAAO4uB,OAAO,CAAC5uB,IAAD,CAAP,EAAP;AACH;;AACD,SAAO,IAAP;AACH;;AACD,SAASsuB,kBAAT,CAA4BpwJ,KAA5B,EAAmCmwC,MAAnC,EAA2C;AACvC,MAAI0F,WAAW,GAAG71C,KAAK,IAAIutJ,yDAA3B;AACA5wC,EAAAA,2DAAa,CAACxsE,MAAD,EAAS,UAAU7wC,IAAV,EAAgB68H,QAAhB,EAA0B;AAC5CtmF,IAAAA,WAAW,IAAI,OAAOv2C,IAAP,IAAe,CAACg9G,+DAAiB,CAAC6f,QAAD,CAAlB,GAA+B,MAAMA,QAArC,GAAgDoxB,yDAA/D,CAAf;AACH,GAFY,CAAb;AAGA,SAAO13G,WAAP;AACH;;AACD,SAASw6G,eAAT,CAAyB/wJ,IAAzB,EAA+B;AAC3B,MAAIu2C,WAAW,GAAG03G,yDAAlB;;AACA,MAAIY,IAAJ,EAAU;AACN,QAAIwC,SAAS,GAAGxC,IAAI,CAACT,SAAD,CAAJ,IAAmBH,yDAAnC;;AACA,QAAIW,kBAAkB,KAAKyC,SAA3B,EAAsC;AAClCvC,MAAAA,YAAY,GAAGuB,aAAa,CAACgB,SAAD,CAA5B;AACAzC,MAAAA,kBAAkB,GAAGyC,SAArB;AACH;;AACD96G,IAAAA,WAAW,GAAGu2F,qDAAO,CAACgiB,YAAY,CAAC9uJ,IAAD,CAAZ,IAAsBiuJ,yDAAvB,CAArB;AACH;;AACD,SAAO13G,WAAP;AACH;;AACD,SAASs6G,eAAT,CAAyB7wJ,IAAzB,EAA+Bu2C,WAA/B,EAA4C;AACxC,MAAIs4G,IAAJ,EAAU;AACNA,IAAAA,IAAI,CAACT,SAAD,CAAJ,GAAkBpuJ,IAAI,GAAG,GAAP,GAAau2C,WAA/B;AACH;AACJ;;AACM,SAAS6kG,uBAAT,CAAiClqE,SAAjC,EAA4C;AAC/C,MAAI,CAAC+rC,sDAAQ,CAAC/rC,SAAD,CAAb,EAA0B;AACtB,WAAO,KAAP;AACH,GAH8C,CAI/C;AACA;AACA;AACA;AACA;;;AACA,MAAI68E,yDAAW,CAAC78E,SAAD,EAAY,kBAAZ,CAAX,IAA8C68E,yDAAW,CAAC78E,SAAD,EAAY,iBAAZ,CAA7D,EAA6F;AACzF,WAAO,IAAP;AACH,GAX8C,CAY/C;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,MAAI68E,yDAAW,CAAC78E,SAAD,EAAY,iCAAZ,CAAX,IAA6D68E,yDAAW,CAAC78E,SAAD,EAAY,UAAZ,CAAxE,IAAmG68E,yDAAW,CAAC78E,SAAD,EAAY,QAAZ,CAAlH,EAAyI;AACrI,WAAO,IAAP;AACH,GArB8C,CAsB/C;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,MAAI68E,yDAAW,CAAC78E,SAAD,EAAY,iCAAZ,CAAX,IAA6D88E,yDAAW,CAAC98E,SAAD,EAAY,0CAAZ,CAA5E,EAAqI;AACjI,WAAO,IAAP;AACH,GA/B8C,CAgC/C;AACA;AACA;;;AACA,MAAI68E,yDAAW,CAAC78E,SAAD,EAAY,UAAZ,CAAX,IAAsC68E,yDAAW,CAAC78E,SAAD,EAAY,UAAZ,CAArD,EAA8E;AAC1E,WAAO,IAAP;AACH,GArC8C,CAsC/C;AACA;;;AACA,MAAI68E,yDAAW,CAAC78E,SAAD,EAAY,cAAZ,CAAX,IAA0C,CAAC68E,yDAAW,CAAC78E,SAAD,EAAY,QAAZ,CAA1D,EAAiF;AAC7E,WAAO,IAAP;AACH,GA1C8C,CA2C/C;AACA;AACA;;;AACA,MAAI68E,yDAAW,CAAC78E,SAAD,EAAY,cAAZ,CAAX,IAA0C68E,yDAAW,CAAC78E,SAAD,EAAY,cAAZ,CAAzD,EAAsF;AAClF,WAAO,IAAP;AACH;;AACD,SAAO,KAAP;AACH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AChVD;AACA;AACA;AACA;AAGa;;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI2gF,WAAW,GAAG,IAAlB;;AACA,IAAIC,cAAJ,EAAoB;AACpB;;;AACO,IAAIC,SAAS,GAAGT,kFAAhB;AACA,SAASU,OAAT,GAAmB;AACtB,MAAIC,IAAI,GAAG31C,aAAa,EAAxB;AACA,SAAO21C,IAAI,CAAC9kB,6DAAcA;AAAC;AAAhB,GAAJ,CAA6C,CAA7C,EAAgD,CAAhD,IAAqD,GAArD,GAA2D8kB,IAAI,CAAC9kB,6DAAcA;AAAC;AAAhB,GAAJ,CAA6C,CAA7C,EAAgD,EAAhD,CAA3D,GAAiH,GAAjH,GAAuH8kB,IAAI,CAAC9kB,6DAAcA;AAAC;AAAhB,GAAJ,CAA6C,EAA7C,EAAiD,EAAjD,CAAvH,GAA8K,GAA9K,GAAoL8kB,IAAI,CAAC9kB,6DAAcA;AAAC;AAAhB,GAAJ,CAA6C,EAA7C,EAAiD,EAAjD,CAApL,GAA2O,GAA3O,GAAiP8kB,IAAI,CAAC9kB,6DAAcA;AAAC;AAAhB,GAAJ,CAA6C,EAA7C,CAAxP;AACH;AACD;AACA;AACA;AACA;;AACO,SAAS+kB,OAAT,GAAmB;AACtB,MAAInmC,IAAI,GAAGX,yDAAc,EAAzB;;AACA,MAAIW,IAAI,IAAIA,IAAI,CAACz1D,GAAjB,EAAsB;AAClB,WAAOy1D,IAAI,CAACz1D,GAAL,EAAP;AACH;;AACD,SAAOs3D,qDAAO,EAAd;AACH;AACD;AACA;AACA;AACA;AACA;AACA;;AACO,SAASogC,WAAT,CAAqBttJ,KAArB,EAA4B+vE,MAA5B,EAAoC;AACvC,MAAI/vE,KAAK,IAAI+vE,MAAb,EAAqB;AACjB,QAAI0hF,GAAG,GAAGzxJ,KAAK,CAACg+G,0DAAWA;AAAC;AAAb,KAAf;AACA,QAAIzI,KAAK,GAAGk8C,GAAG,GAAG1hF,MAAM,CAACiuC,0DAAWA;AAAC;AAAb,KAAxB;AACA,WAAOh+G,KAAK,CAACysI,6DAAcA;AAAC;AAAhB,KAAL,CAA8Cl3B,KAAK,IAAI,CAAT,GAAaA,KAAb,GAAqB,CAAnE,EAAsEk8C,GAAtE,MAA+E1hF,MAAtF;AACH;;AACD,SAAO,KAAP;AACH;AACD;AACA;AACA;;AACO,SAAS6rC,aAAT,GAAyB;AAC5B,MAAI81C,SAAS,GAAG,CAAC,GAAD,EAAM,GAAN,EAAW,GAAX,EAAgB,GAAhB,EAAqB,GAArB,EAA0B,GAA1B,EAA+B,GAA/B,EAAoC,GAApC,EAAyC,GAAzC,EAA8C,GAA9C,EAAmD,GAAnD,EAAwD,GAAxD,EAA6D,GAA7D,EAAkE,GAAlE,EAAuE,GAAvE,EAA4E,GAA5E,CAAhB,CAD4B,CAE5B;;AACA,MAAIC,GAAG,GAAGpE,yDAAV;AAAA,MAAqBqE,GAArB;;AACA,OAAK,IAAI1gF,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAG,CAApB,EAAuBA,CAAC,EAAxB,EAA4B;AACxB0gF,IAAAA,GAAG,GAAGpX,uDAAQ,EAAd;AACAmX,IAAAA,GAAG,IACCD,SAAS,CAACE,GAAG,GAAG,GAAP,CAAT,GACIF,SAAS,CAACE,GAAG,IAAI,CAAP,GAAW,GAAZ,CADb,GAEIF,SAAS,CAACE,GAAG,IAAI,CAAP,GAAW,GAAZ,CAFb,GAGIF,SAAS,CAACE,GAAG,IAAI,EAAP,GAAY,GAAb,CAHb,GAIIF,SAAS,CAACE,GAAG,IAAI,EAAP,GAAY,GAAb,CAJb,GAKIF,SAAS,CAACE,GAAG,IAAI,EAAP,GAAY,GAAb,CALb,GAMIF,SAAS,CAACE,GAAG,IAAI,EAAP,GAAY,GAAb,CANb,GAOIF,SAAS,CAACE,GAAG,IAAI,EAAP,GAAY,GAAb,CARjB;AASH,GAf2B,CAgB5B;;;AACA,MAAIC,eAAe,GAAGH,SAAS,CAAC,KAAKlX,uDAAQ,KAAK,IAAlB,IAA0B,CAA3B,CAA/B;AACA,SAAOmX,GAAG,CAACd,0DAAWA;AAAC;AAAb,GAAH,CAAsC,CAAtC,EAAyC,CAAzC,IAA8Cc,GAAG,CAACd,0DAAWA;AAAC;AAAb,GAAH,CAAsC,CAAtC,EAAyC,CAAzC,CAA9C,GAA4F,GAA5F,GAAkGc,GAAG,CAACd,0DAAWA;AAAC;AAAb,GAAH,CAAsC,EAAtC,EAA0C,CAA1C,CAAlG,GAAiJgB,eAAjJ,GAAmKF,GAAG,CAACd,0DAAWA;AAAC;AAAb,GAAH,CAAsC,EAAtC,EAA0C,CAA1C,CAAnK,GAAkNc,GAAG,CAACd,0DAAWA;AAAC;AAAb,GAAH,CAAsC,EAAtC,EAA0C,EAA1C,CAAzN;AACH;AACD;AACA;AACA;AACA;AACA;AACA;;AACO,IAAIiB,SAAS,GAAG;AACnBV,EAAAA,cAAc,EAAEjwH,SADG;AAEnB6vH,EAAAA,QAAQ,EAAEA,kDAFS;AAGnBx0C,EAAAA,WAAW,EAAEA,qDAHM;AAInBF,EAAAA,iBAAiB,EAAEA,2DAJA;AAKnBtjF,EAAAA,cAAc,EAAEA,wDALG;AAMnBqjF,EAAAA,UAAU,EAAEA,oDANO;AAOnBlF,EAAAA,QAAQ,EAAEA,kDAPS;AAQnBijC,EAAAA,MAAM,EAAEA,gDARW;AASnBlqC,EAAAA,OAAO,EAAEA,iDATU;AAUnBkM,EAAAA,OAAO,EAAEA,iDAVU;AAWnBG,EAAAA,QAAQ,EAAEA,kDAXS;AAYnBmS,EAAAA,QAAQ,EAAEA,kDAZS;AAanBqiC,EAAAA,SAAS,EAAEA,mDAbQ;AAcnBzrI,EAAAA,WAAW,EAAEA,qDAdM;AAenBg2F,EAAAA,UAAU,EAAEA,oDAfO;AAgBnB2Z,EAAAA,UAAU,EAAEA,oDAhBO;AAiBnBia,EAAAA,MAAM,EAAEA,gDAjBW;AAkBnB/K,EAAAA,SAAS,EAAEA,mDAlBQ;AAmBnBiI,EAAAA,OAAO,EAAEA,iDAnBU;AAoBnB2lB,EAAAA,SAAS,EAAE9R,6EApBQ;AAqBnB/nB,EAAAA,OAAO,EAAEA,iDArBU;AAsBnBxb,EAAAA,kBAAkB,EAAEA,4DAtBD;AAuBnBi/B,EAAAA,eAAe,EAAEA,0DAvBE;AAwBnBzuB,EAAAA,OAAO,EAAEA,iDAxBU;AAyBnBt8C,EAAAA,IAAI,EAAEA,2CAzBa;AA0BnBopE,EAAAA,cAAc,EAAEA,cA1BG;AA2BnBsX,EAAAA,OAAO,EAAEA,OA3BU;AA4BnBE,EAAAA,OAAO,EAAEA,OA5BU;AA6BnBjX,EAAAA,KAAK,EAAEA,gDA7BY;AA8BnBxF,EAAAA,WAAW,EAAEA,sDA9BM;AA+BnByF,EAAAA,QAAQ,EAAEA,mDA/BS;AAgCnB0W,EAAAA,aAAa,EAAEA,wDAhCI;AAiCnBD,EAAAA,WAAW,EAAEA,sDAjCM;AAkCnBr1C,EAAAA,aAAa,EAAEA;AAlCI,CAAhB;AAoCP,IAAIo2C,SAAS,GAAG,OAAhB;AACO,IAAIC,WAAW,GAAG;AACrBC,EAAAA,MAAM,EAAEvY,sDADa;AAErBwY,EAAAA,WAAW,EAAExY,sDAFQ;AAGrByY,EAAAA,MAAM,EAAEtB,sDAHa;AAIrBuB,EAAAA,WAAW,EAAEvB,sDAAWA;AAJH,CAAlB;AAMP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACO,SAASwB,gBAAT,CAA0B9jK,MAA1B,EAAkCigC,MAAlC,EAA0C;AAC7C,MAAI83H,SAAS,GAAG+H,yDAAa,CAAC9/J,MAAD,EAASigC,MAAT,CAA7B;;AACA,MAAI8jI,mBAAmB,GAAGT,SAAS,CAACV,cAApC;;AACA,MAAID,WAAW,KAAK,IAApB,EAA0B;AACtBA,IAAAA,WAAW,GAAG,EAAd;AACAC,IAAAA,cAAc,GAAGmB,mBAAjB,CAFsB,CAGtB;AACA;;AACA71C,IAAAA,gEAAkB,CAACo1C,SAAD,EAAY,gBAAZ,EAA8B,YAAY;AACxD,aAAOV,cAAP;AACH,KAFiB,EAEf,UAAUpxJ,KAAV,EAAiB;AAChBoxJ,MAAAA,cAAc,GAAGpxJ,KAAjB;AACAs7G,MAAAA,wDAAU,CAAC61C,WAAD,EAAc,UAAUqB,GAAV,EAAe;AACnCA,QAAAA,GAAG,CAACzR,+DAAgBA;AAAC;AAAlB,SAAH,CAA+C/gJ,KAA/C;AACH,OAFS,CAAV;AAGH,KAPiB,CAAlB;AAQH;;AACD,MAAIi1H,wDAAU,CAACk8B,WAAD,EAAc5K,SAAd,CAAV,KAAuC,CAAC,CAA5C,EAA+C;AAC3C4K,IAAAA,WAAW,CAACz7B,wDAASA;AAAC;AAAX,KAAX,CAA0C6wB,SAA1C;AACH;;AACD,MAAIwK,uDAAS,CAACwB,mBAAD,CAAb,EAAoC;AAChChM,IAAAA,SAAS,CAACxF,+DAAgBA;AAAC;AAAlB,KAAT,CAAqDwR,mBAArD;AACH;;AACD,MAAIxB,uDAAS,CAACK,cAAD,CAAb,EAA+B;AAC3B7K,IAAAA,SAAS,CAACxF,+DAAgBA;AAAC;AAAlB,KAAT,CAAqDqQ,cAArD;AACH;;AACD,SAAO7K,SAAP;AACH;AACD;AACA;AACA;AACA;;AACO,SAASvM,cAAT,GAA0B;AAC7BsY,EAAAA,gBAAgB,GAAGvR,+DAAgBA;AAAC;AAApB,GAAhB,CAA8D,KAA9D;AACH;AACD;AACA;AACA;AACA;;AACO,SAASnH,aAAT,CAAuBnrH,MAAvB,EAA+B;AAClC,SAAO6jI,gBAAgB,CAAC,IAAD,EAAO7jI,MAAP,CAAhB,CAA+B06H,SAA/B,EAAP;AACH;AACD;AACA;AACA;AACA;;AACO,SAASp5J,SAAT,CAAmB0+B,MAAnB,EAA2BnvB,IAA3B,EAAiC;AACpC,SAAOgzJ,gBAAgB,CAAC,IAAD,EAAO7jI,MAAP,CAAhB,CAA+Bl/B,GAA/B,CAAmC+P,IAAnC,CAAP;AACH;AACD;AACA;AACA;AACA;;AACO,SAASwO,SAAT,CAAmB2gB,MAAnB,EAA2BnvB,IAA3B,EAAiCU,KAAjC,EAAwCsxH,MAAxC,EAAgD;AACnDghC,EAAAA,gBAAgB,CAAC,IAAD,EAAO7jI,MAAP,CAAhB,CAA+BmF,GAA/B,CAAmCt0B,IAAnC,EAAyCU,KAAzC,EAAgD,IAAhD,EAAsDsxH,MAAtD;AACH;AACD;AACA;AACA;AACA;AACA;;AACO,SAASwoB,YAAT,CAAsBrrH,MAAtB,EAA8BnvB,IAA9B,EAAoC;AACvC,SAAOgzJ,gBAAgB,CAAC,IAAD,EAAO7jI,MAAP,CAAhB,CAA+B6hI,GAA/B,CAAmChxJ,IAAnC,CAAP;AACH;;;;;;;;;;;;;;;;;;;;;ACjMD;AACA;AACA;AACA;AAGA;AACA;AACA;AACA;AACA;AACA,IAAIszJ,kBAAkB,GAAGH,mFAAzB;AACA,IAAI/iK,OAAO,GAAG,QAAd;AACA,IAAImjK,YAAY,GAAG,MAAMtY,oDAAK,CAAC,CAAD,CAA9B;AACA,IAAIuY,QAAQ,GAAG,CAAf;;AACA,SAASC,eAAT,CAAyBr2G,MAAzB,EAAiC+wF,IAAjC,EAAuCztI,KAAvC,EAA8C;AAC1C,MAAI4yJ,kBAAJ,EAAwB;AACpB,QAAI;AACAA,MAAAA,kBAAkB,CAACl2G,MAAD,EAAS+wF,IAAT,EAAe;AAC7BztI,QAAAA,KAAK,EAAEA,KADsB;AAE7Bo0E,QAAAA,UAAU,EAAE,KAFiB;AAG7BC,QAAAA,YAAY,EAAE;AAHe,OAAf,CAAlB;;AAKA,aAAO,IAAP;AACH,KAPD,CAQA,OAAO56C,CAAP,EAAU,CACN;AACA;AACH;AACJ;;AACD,SAAO,KAAP;AACH,EACD;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASu5H,cAAT,CAAwBt2G,MAAxB,EAAgC;AAC5B,SAAOA,MAAM,CAACg2G,6DAAcA;AAAC;AAAhB,GAAN,KAAkD,CAAlD,IAAuDh2G,MAAM,CAACg2G,6DAAcA;AAAC;AAAhB,GAAN,KAAkD,CAAzG,IAA8G,CAAE,CAACh2G,MAAM,CAACg2G,6DAAcA;AAAC;AAAhB,GAA9H;AACH;;AACD,SAASO,SAAT,CAAmBx8J,IAAnB,EAAyBimD,MAAzB,EAAiC;AAC7B,MAAIw2G,QAAQ,GAAGx2G,MAAM,CAACjmD,IAAI,CAACwF,EAAN,CAArB;;AACA,MAAI,CAACi3J,QAAL,EAAe;AACXA,IAAAA,QAAQ,GAAG,EAAX;;AACA,QAAI;AACA,UAAIF,cAAc,CAACt2G,MAAD,CAAlB,EAA4B;AACxB,YAAI,CAACq2G,eAAe,CAACr2G,MAAD,EAASjmD,IAAI,CAACwF,EAAd,EAAkBi3J,QAAlB,CAApB,EAAiD;AAC7C;AACAx2G,UAAAA,MAAM,CAACjmD,IAAI,CAACwF,EAAN,CAAN,GAAkBi3J,QAAlB;AACH;AACJ;AACJ,KAPD,CAQA,OAAOz5H,CAAP,EAAU,CACN;AACH;AACJ;;AACD,SAAOy5H,QAAP;AACH;;AACM,SAAS13C,qBAAT,CAA+Bl8G,IAA/B,EAAqC6zJ,cAArC,EAAqD;AACxD,MAAIA,cAAc,KAAK,KAAK,CAA5B,EAA+B;AAAEA,IAAAA,cAAc,GAAG,KAAjB;AAAyB;;AAC1D,SAAOR,6DAAe,CAACrzJ,IAAI,GAAIwzJ,QAAQ,EAAhB,IAAuBK,cAAc,GAAG,MAAMzjK,OAAT,GAAmB69J,yDAAxD,IAAqEsF,YAAtE,CAAtB;AACH;AACM,SAASO,iBAAT,CAA2B9zJ,IAA3B,EAAiC;AACpC,MAAI7I,IAAI,GAAG;AACPwF,IAAAA,EAAE,EAAEu/G,qBAAqB,CAAC,cAAcl8G,IAAI,IAAIiuJ,yDAAtB,IAAmC,GAAnC,GAAyC79J,OAA1C,CADlB;AAEP2jK,IAAAA,MAAM,EAAE,UAAU32G,MAAV,EAAkB;AACtB,aAAOs2G,cAAc,CAACt2G,MAAD,CAArB;AACH,KAJM;AAKPntD,IAAAA,GAAG,EAAE,UAAUmtD,MAAV,EAAkBp9C,IAAlB,EAAwBqgH,QAAxB,EAAkC2zC,UAAlC,EAA8C;AAC/C,UAAIJ,QAAQ,GAAGx2G,MAAM,CAACjmD,IAAI,CAACwF,EAAN,CAArB;;AACA,UAAI,CAACi3J,QAAL,EAAe;AACX,YAAII,UAAJ,EAAgB;AACZ;AACAJ,UAAAA,QAAQ,GAAGD,SAAS,CAACx8J,IAAD,EAAOimD,MAAP,CAApB;AACAw2G,UAAAA,QAAQ,CAACP,6DAAe,CAACrzJ,IAAD,CAAhB,CAAR,GAAkCqgH,QAAlC;AACH;;AACD,eAAOA,QAAP;AACH;;AACD,aAAOuzC,QAAQ,CAACP,6DAAe,CAACrzJ,IAAD,CAAhB,CAAf;AACH,KAhBM;AAiBPi0J,IAAAA,IAAI,EAAE,UAAU72G,MAAV,EAAkBp9C,IAAlB,EAAwB;AAC1B,UAAIo9C,MAAM,IAAIA,MAAM,CAACp9C,IAAD,CAApB,EAA4B;AACxB,YAAI;AACA,iBAAOo9C,MAAM,CAACp9C,IAAD,CAAb;AACH,SAFD,CAGA,OAAOm6B,CAAP,EAAU,CACN;AACH;AACJ;AACJ;AA1BM,GAAX;AA4BA,SAAOhjC,IAAP;AACH;;;;;;;;;;;;;;;;;;AC7FD;AACA;AACA;AACA;AAGA;AACA;AACA,IAAIg9J,aAAa,GAAG,CAAC,YAAD,EAAe,iBAAf,EAAkC,mBAAlC,EAAuD,WAAvD,CAApB;AACA,IAAIC,YAAY,GAAG,IAAnB;;AACA,IAAIlO,cAAJ;;AACA,SAASmO,kBAAT,CAA4Br0J,IAA5B,EAAkC9Q,MAAlC,EAA0C;AACtC,SAAO,YAAY;AACf,QAAI0qH,IAAI,GAAG5/E,SAAX;AACA,QAAIs6H,MAAM,GAAGC,WAAW,CAACrlK,MAAD,CAAxB;;AACA,QAAIolK,MAAJ,EAAY;AACR,UAAIrP,QAAQ,GAAGqP,MAAM,CAACrP,QAAtB;;AACA,UAAIA,QAAQ,IAAIA,QAAQ,CAACjlJ,IAAD,CAAxB,EAAgC;AAC5BilJ,QAAAA,QAAQ,CAACjlJ,IAAD,CAAR,CAAek0J,yDAAUA;AAAC;AAA1B,UAA+CjP,QAA/C,EAAyDrrC,IAAzD;AACH;AACJ;AACJ,GATD;AAUH;;AACD,SAAS46C,sBAAT,GAAkC;AAC9B;AACA,MAAIp3G,MAAM,GAAGwuF,wDAAa,CAAC,WAAD,CAA1B;;AACA,MAAIxuF,MAAJ,EAAY;AACRg3G,IAAAA,YAAY,GAAGh3G,MAAM,CAAC,qBAAD,CAArB;AACH;;AACD,SAAOg3G,YAAP;AACH;;AACM,SAASG,WAAT,CAAqBrlK,MAArB,EAA6B;AAChC,MAAIi4H,EAAE,GAAGitC,YAAT;;AACA,MAAI,CAACjtC,EAAD,IAAOj4H,MAAM,CAACq7J,aAAP,KAAyB,IAApC,EAA0C;AACtCpjC,IAAAA,EAAE,GAAGitC,YAAY,IAAII,sBAAsB,EAA3C;AACH;;AACD,SAAOrtC,EAAE,GAAGA,EAAE,CAAC,cAAD,CAAL,GAAwB,IAAjC;AACH;AACM,SAASg7B,gBAAT,CAA0BjzJ,MAA1B,EAAkC;AACrC,MAAI,CAACg3J,cAAL,EAAqB;AACjBA,IAAAA,cAAc,GAAG,EAAjB;;AACA,SAAK,IAAIpvB,EAAE,GAAG,CAAd,EAAiBA,EAAE,GAAGq9B,aAAa,CAACz1C,0DAAWA;AAAC;AAAb,KAAnC,EAAuEoY,EAAE,EAAzE,EAA6E;AACzEovB,MAAAA,cAAc,CAACiO,aAAa,CAACr9B,EAAD,CAAd,CAAd,GAAoCu9B,kBAAkB,CAACF,aAAa,CAACr9B,EAAD,CAAd,EAAoB5nI,MAApB,CAAtD;AACH;AACJ;;AACD,SAAOg3J,cAAP;AACH;;;;;;;;;;;;;;;;;;;;;;;;;;AC9CD;AACA;AACA;AACA;AAGa;;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,IAAI6O,yBAAyB,GAAG,iBAAhC;AACA;AACA;AACA;;AACA,IAAIC,sBAAsB,GAAG,MAA7B;AACA;AACA;AACA;;AACA,IAAIC,uBAAuB,GAAG,OAA9B;;AACA,SAASC,uBAAT,CAAiC3zB,IAAjC,EAAuC;AACnC,MAAIA,IAAJ,EAAU;AACN,WAAO,OAAOA,IAAI,CAACozB,2DAAYA;AAAC;AAAd,KAAJ,CAAyC,KAAzC,EAAgD1G,yDAAhD,CAAP,GAAoE,IAA3E;AACH;;AACD,SAAOA,yDAAP;AACH;;AACD,SAASkH,aAAT,CAAuB3yB,IAAvB,EAA6BnxI,OAA7B,EAAsC;AAClC,MAAI+jK,UAAU,GAAGR,qDAAU,EAA3B;;AACA,MAAI,CAAC,CAACQ,UAAN,EAAkB;AACd,QAAIC,OAAO,GAAG,KAAd;;AACA,QAAID,UAAU,CAAC5yB,IAAD,CAAd,EAAsB;AAClB6yB,MAAAA,OAAO,GAAG7yB,IAAV;AACH;;AACD,QAAIzlB,wDAAU,CAACq4C,UAAU,CAACC,OAAD,CAAX,CAAd,EAAqC;AACjCD,MAAAA,UAAU,CAACC,OAAD,CAAV,CAAoBhkK,OAApB;AACH;AACJ;AACJ;;AACD,IAAI+wJ,mBAAmB;AAAG;AAAe,YAAY;AACjD,WAASA,mBAAT,CAA6Bz5B,KAA7B,EAAoCC,GAApC,EAAyCC,SAAzC,EAAoD3rD,UAApD,EAAgE;AAC5D,QAAI2rD,SAAS,KAAK,KAAK,CAAvB,EAA0B;AAAEA,MAAAA,SAAS,GAAG,KAAZ;AAAoB;;AAChD,QAAI3G,KAAK,GAAG,IAAZ;;AACAA,IAAAA,KAAK,CAACm/B,8DAAeA;AAAC;AAAjB,KAAL,GAAiD14B,KAAjD;AACAzG,IAAAA,KAAK,CAACtD,2DAAYA;AAAC;AAAd,KAAL,GACI,CAACiK,SAAS,GAAGmsC,sBAAH,GAA4BD,yBAAtC,IACIpsC,KAFR;AAGA,QAAI2sC,QAAQ,GAAGrH,yDAAf;;AACA,QAAIngC,kDAAO,EAAX,EAAe;AACXwnC,MAAAA,QAAQ,GAAGznC,kDAAO,GAAGp/G,SAAV,CAAoByuD,UAApB,CAAX;AACH;;AACD,QAAIq4F,cAAc,GAAG,CAAC3sC,GAAG,GAAG,cAAcssC,uBAAuB,CAACtsC,GAAD,CAAxC,GAAgDqlC,yDAApD,KAChB/wF,UAAU,GAAG,YAAYg4F,uBAAuB,CAACI,QAAD,CAAtC,GAAmDrH,yDAD7C,CAArB;AAEA/rC,IAAAA,KAAK,CAACtD,2DAAYA;AAAC;AAAd,KAAL,IAA6C22C,cAA7C;AACH;;AACDnT,EAAAA,mBAAmB,CAACjnB,QAApB,GAA+B,aAA/B;AACA,SAAOinB,mBAAP;AACH,CAlBwC,EAAzC;;AAmBA;AACO,SAAS/2B,aAAT,CAAuBvG,IAAvB,EAA6B51H,MAA7B,EAAqC;AACxC,SAAO,CAAC41H,IAAI,IAAI,EAAT,EAAas8B,0DAAWA;AAAC;AAAzB,OAAkD,IAAItB,gBAAJ,CAAqB5wJ,MAArB,CAAzD;AACH;;AACD,IAAI4wJ,gBAAgB;AAAG;AAAe,YAAY;AAC9C,WAASA,gBAAT,CAA0B5wJ,MAA1B,EAAkC;AAC9B,SAAK4xH,UAAL,GAAkB,kBAAlB;AACA;AACR;AACA;;AACQ,SAAKgmC,KAAL,GAAa,EAAb;AACA;AACR;AACA;;AACQ,QAAI0O,aAAa,GAAG,CAApB;AACA;AACR;AACA;;AACQ,QAAIC,cAAc,GAAG,EAArB;;AACA,QAAIC,oBAAJ;;AACA,QAAIC,sBAAJ;;AACA,QAAIC,wBAAJ;;AACA,QAAIC,YAAJ;;AACAl7C,IAAAA,sEAAY,CAACmlC,gBAAD,EAAmB,IAAnB,EAAyB,UAAU59B,KAAV,EAAiB;AAClD4zC,MAAAA,sBAAsB,CAAC5mK,MAAM,IAAI,EAAX,CAAtB;;AACAgzH,MAAAA,KAAK,CAAC6zC,mBAAN,GAA4B,YAAY;AAAE,eAAOL,oBAAP;AAA8B,OAAxE;;AACAxzC,MAAAA,KAAK,CAAC8zC,qBAAN,GAA8B,YAAY;AAAE,eAAOL,sBAAP;AAAgC,OAA5E;;AACAzzC,MAAAA,KAAK,CAAC+zC,uBAAN,GAAgC,YAAY;AAAE,eAAOL,wBAAP;AAAkC,OAAhF;;AACA1zC,MAAAA,KAAK,CAACuyC,yEAA0BA;AAAC;AAA5B,OAAL,GAAwE,YAAY;AAAE,eAAOoB,YAAP;AAAsB,OAA5G;AACA;AACZ;AACA;AACA;AACA;;;AACY3zC,MAAAA,KAAK,CAAC4G,aAAN,GAAsB,UAAUJ,QAAV,EAAoBC,KAApB,EAA2BC,GAA3B,EAAgC1rD,UAAhC,EAA4C2rD,SAA5C,EAAuD;AACzE,YAAIA,SAAS,KAAK,KAAK,CAAvB,EAA0B;AAAEA,UAAAA,SAAS,GAAG,KAAZ;AAAoB;;AAChD,YAAIx3H,OAAO,GAAG,IAAI+wJ,mBAAJ,CAAwBz5B,KAAxB,EAA+BC,GAA/B,EAAoCC,SAApC,EAA+C3rD,UAA/C,CAAd;;AACA,YAAI24F,YAAJ,EAAkB;AACd,gBAAM15C,kDAAO,CAAC9qH,OAAD,CAAb;AACH,SAFD,MAGK;AACD;AACA,cAAIgkK,OAAO,GAAG3sC,QAAQ,KAAK;AAAE;AAAf,YAAiDmsC,oEAAjD,GAAwEC,mEAAtF;;AACA,cAAI,CAAC53C,yDAAW,CAAC7rH,OAAO,CAACutH,2DAAYA;AAAC;AAAd,WAAR,CAAhB,EAA+D;AAC3D,gBAAIiK,SAAJ,EAAe;AACX;AACA,kBAAIqtC,UAAU,GAAG,CAAC7kK,OAAO,CAACgwJ,8DAAeA;AAAC;AAAjB,eAAzB;;AACA,kBAAI,CAACoU,cAAc,CAACS,UAAD,CAAf,IAA+BR,oBAAoB,IAAIhtC,QAA3D,EAAqE;AACjExG,gBAAAA,KAAK,CAACmzC,OAAD,CAAL,CAAehkK,OAAO,CAACutH,2DAAYA;AAAC;AAAd,iBAAtB;;AACA62C,gBAAAA,cAAc,CAACS,UAAD,CAAd,GAA6B,IAA7B;AACH;AACJ,aAPD,MAQK;AACD;AACA,kBAAIR,oBAAoB,IAAIhtC,QAA5B,EAAsC;AAClCxG,gBAAAA,KAAK,CAACmzC,OAAD,CAAL,CAAehkK,OAAO,CAACutH,2DAAYA;AAAC;AAAd,iBAAtB;AACH;AACJ;;AACDu3C,YAAAA,mBAAmB,CAACztC,QAAD,EAAWr3H,OAAX,CAAnB;AACH,WAhBD,MAiBK;AACD+kK,YAAAA,YAAY,CAAC,WAAW1tC,QAAQ,KAAK;AAAE;AAAf,cAAiD,UAAjD,GAA8D,SAAzE,CAAD,EAAsFr3H,OAAtF,CAAZ;AACH;AACJ;AACJ,OA9BD;AA+BA;AACZ;AACA;AACA;;;AACY6wH,MAAAA,KAAK,CAAC4yC,mEAAmBA;AAAC;AAArB,OAAL,GAAyD,UAAUzjK,OAAV,EAAmB;AACxE8jK,QAAAA,aAAa,CAAC,MAAD,EAAS9jK,OAAT,CAAb;;AACA+kK,QAAAA,YAAY,CAAC,SAAD,EAAY/kK,OAAZ,CAAZ;AACH,OAHD;AAIA;AACZ;AACA;AACA;;;AACY6wH,MAAAA,KAAK,CAAC2yC,oEAAoBA;AAAC;AAAtB,OAAL,GAA2D,UAAUxjK,OAAV,EAAmB;AAC1E8jK,QAAAA,aAAa,CAAC,OAAD,EAAU9jK,OAAV,CAAb;;AACA+kK,QAAAA,YAAY,CAAC,OAAD,EAAU/kK,OAAV,CAAZ;AACH,OAHD;AAIA;AACZ;AACA;;;AACY6wH,MAAAA,KAAK,CAACm0C,yBAAN,GAAkC,YAAY;AAC1Cb,QAAAA,aAAa,GAAG,CAAhB;AACAC,QAAAA,cAAc,GAAG,EAAjB;AACH,OAHD;AAIA;AACZ;AACA;AACA;AACA;;;AACYvzC,MAAAA,KAAK,CAACwyC,wEAAyBA;AAAC;AAA3B,OAAL,GAAoEyB,mBAApE;;AACA,eAASA,mBAAT,CAA6BztC,QAA7B,EAAuCr3H,OAAvC,EAAgD;AAC5C,YAAIilK,6BAA6B,EAAjC,EAAqC;AACjC;AACH,SAH2C,CAI5C;;;AACA,YAAIh8D,UAAU,GAAG,IAAjB;AACA,YAAI47D,UAAU,GAAGjB,uBAAuB,GAAG5jK,OAAO,CAACgwJ,8DAAeA;AAAC;AAAjB,SAAlD,CAN4C,CAO5C;;AACA,YAAIoU,cAAc,CAACS,UAAD,CAAlB,EAAgC;AAC5B57D,UAAAA,UAAU,GAAG,KAAb;AACH,SAFD,MAGK;AACDm7D,UAAAA,cAAc,CAACS,UAAD,CAAd,GAA6B,IAA7B;AACH;;AACD,YAAI57D,UAAJ,EAAgB;AACZ;AACA,cAAIouB,QAAQ,IAAIitC,sBAAhB,EAAwC;AACpCzzC,YAAAA,KAAK,CAAC4kC,KAAN,CAAY1wB,wDAASA;AAAC;AAAtB,cAA0C/kI,OAA1C;;AACAmkK,YAAAA,aAAa;;AACbY,YAAAA,YAAY,CAAE1tC,QAAQ,KAAK;AAAE;AAAf,cAAiD,OAAjD,GAA2D,MAA7D,EAAsEr3H,OAAtE,CAAZ;AACH,WANW,CAOZ;;;AACA,cAAImkK,aAAa,KAAKI,wBAAtB,EAAgD;AAC5C,gBAAIW,oBAAoB,GAAG,mEAA3B;AACA,gBAAIC,eAAe,GAAG,IAAIpU,mBAAJ,CAAwB;AAAG;AAA3B,cAAgFmU,oBAAhF,EAAsG,KAAtG,CAAtB;;AACAr0C,YAAAA,KAAK,CAAC4kC,KAAN,CAAY1wB,wDAASA;AAAC;AAAtB,cAA0CogC,eAA1C;;AACA,gBAAI9tC,QAAQ,KAAK;AAAE;AAAnB,cAAoD;AAChDxG,cAAAA,KAAK,CAAC2yC,oEAAoBA;AAAC;AAAtB,eAAL,CAAyD0B,oBAAzD;AACH,aAFD,MAGK;AACDr0C,cAAAA,KAAK,CAAC4yC,mEAAmBA;AAAC;AAArB,eAAL,CAAuDyB,oBAAvD;AACH;AACJ;AACJ;AACJ;;AACD,eAAST,sBAAT,CAAgC5mK,MAAhC,EAAwC;AACpCwmK,QAAAA,oBAAoB,GAAGrT,yDAAW,CAACnzJ,MAAM,CAACk1J,mBAAR,EAA6B,CAA7B,CAAlC;AACAuR,QAAAA,sBAAsB,GAAGtT,yDAAW,CAACnzJ,MAAM,CAACunK,qBAAR,EAA+B,CAA/B,CAApC;AACAb,QAAAA,wBAAwB,GAAGvT,yDAAW,CAACnzJ,MAAM,CAACwnK,eAAR,EAAyB,EAAzB,CAAtC;AACAb,QAAAA,YAAY,GAAGxT,yDAAW,CAACnzJ,MAAM,CAACuxH,WAAR,EAAqB4hC,yDAAW,CAACnzJ,MAAM,CAACulK,yEAA0BA;AAAC;AAA5B,SAAP,EAAyE,KAAzE,CAAhC,CAA1B;AACH;;AACD,eAAS6B,6BAAT,GAAyC;AACrC,eAAOd,aAAa,IAAII,wBAAxB;AACH;;AACD,eAASQ,YAAT,CAAsBp2J,IAAtB,EAA4B7I,IAA5B,EAAkC;AAC9B,YAAIm9J,MAAM,GAAGC,+DAAW,CAACrlK,MAAM,IAAI,EAAX,CAAxB;;AACA,YAAIolK,MAAM,IAAIA,MAAM,CAACx2C,4DAAaA;AAAC;AAAf,SAApB,EAA2D;AACvDw2C,UAAAA,MAAM,CAACx2C,4DAAaA;AAAC;AAAf,WAAN,CAA4C99G,IAA5C,EAAkD7I,IAAlD;AACH;AACJ;AACJ,KAzHW,CAAZ;AA0HH,GA7I6C,CA8IlD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACI;AACA;AACA;;;AACA2oJ,EAAAA,gBAAgB,CAAC70B,OAAjB,GAAyB,CAAzB;AAEA,SAAO60B,gBAAP;AACH,CA7JqC,EAAtC;;AA8JA;;AACA,SAAS6W,UAAT,CAAoBxnI,MAApB,EAA4B;AACxB,SAAQA,MAAM,IAAI,IAAI2wH,gBAAJ,EAAlB;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACO,SAASj9B,cAAT,CAAwB1zF,MAAxB,EAAgCu5F,QAAhC,EAA0CC,KAA1C,EAAiDC,GAAjD,EAAsD1rD,UAAtD,EAAkE2rD,SAAlE,EAA6E;AAChF,MAAIA,SAAS,KAAK,KAAK,CAAvB,EAA0B;AAAEA,IAAAA,SAAS,GAAG,KAAZ;AAAoB;;AAChD8tC,EAAAA,UAAU,CAACxnI,MAAD,CAAV,CAAmB25F,aAAnB,CAAiCJ,QAAjC,EAA2CC,KAA3C,EAAkDC,GAAlD,EAAuD1rD,UAAvD,EAAmE2rD,SAAnE;AACH;AACD;AACA;AACA;AACA;AACA;;AACO,SAAS8E,cAAT,CAAwBx+F,MAAxB,EAAgC99B,OAAhC,EAAyC;AAC5CslK,EAAAA,UAAU,CAACxnI,MAAD,CAAV,CAAmB2lI,mEAAmBA;AAAC;AAAvC,IAAoEzjK,OAApE;AACH;AACD;AACA;AACA;AACA;AACA;AACA;;AACO,SAAS8kK,mBAAT,CAA6BhnI,MAA7B,EAAqCu5F,QAArC,EAA+Cr3H,OAA/C,EAAwD;AAC3DslK,EAAAA,UAAU,CAACxnI,MAAD,CAAV,CAAmBulI,wEAAyBA;AAAC;AAA7C,IAA+EhsC,QAA/E,EAAyFr3H,OAAzF;AACH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACjQD;AACA;AACA;AACA;AAGa;;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,IAAI0lK,SAAS,GAAG,QAAhB;AACA,IAAIC,WAAW,GAAG,UAAlB;AACA,IAAIC,eAAe,GAAG,cAAtB;AACA,IAAIC,YAAY,GAAG,WAAnB;AACA,IAAIC,UAAU,GAAG,SAAjB;AACA,IAAIC,WAAW,GAAG,UAAlB;AACA,IAAIC,UAAU,GAAG,SAAjB;AACA,IAAIC,cAAc,GAAG,aAArB;AACA,IAAIC,OAAO,GAAG,MAAd;AACA,IAAIC,SAAS,GAAG,QAAhB;AACA,IAAIC,WAAW,GAAG,UAAlB;AACA,IAAIC,cAAc,GAAG,aAArB;AACA,IAAIC,OAAO,GAAG,MAAd;AACA,IAAIC,UAAU,GAAG,UAAjB;AACA,IAAIC,iBAAiB,GAAG,gBAAxB;AACA,IAAIC,UAAU,GAAG,IAAjB;AACA,IAAIC,kBAAkB,GAAG,IAAzB;AACA,IAAIC,YAAY,GAAG,KAAnB;AACA,IAAIC,kBAAkB,GAAG,IAAzB;AACA,IAAIC,iBAAiB,GAAG,IAAxB;;AACA,SAASC,YAAT,CAAsBC,QAAtB,EAAgCC,QAAhC,EAA0C;AACtC,MAAIC,SAAS,GAAG,KAAhB;;AACA,MAAIF,QAAJ,EAAc;AACV,QAAI;AACAE,MAAAA,SAAS,GAAGD,QAAQ,IAAID,QAAxB;;AACA,UAAI,CAACE,SAAL,EAAgB;AACZ,YAAIC,KAAK,GAAGH,QAAQ,CAACvB,kFAAD,CAApB;;AACA,YAAI0B,KAAJ,EAAW;AACPD,UAAAA,SAAS,GAAGD,QAAQ,IAAIE,KAAxB;AACH;AACJ;AACJ,KARD,CASA,OAAOp+H,CAAP,EAAU,CACN;AACH;;AACD,QAAI,CAACm+H,SAAL,EAAgB;AACZ,UAAI;AACA,YAAIhG,GAAG,GAAG,IAAI8F,QAAJ,EAAV;AACAE,QAAAA,SAAS,GAAG,CAACp7C,yDAAW,CAACo1C,GAAG,CAAC+F,QAAD,CAAJ,CAAxB;AACH,OAHD,CAIA,OAAOl+H,CAAP,EAAU,CACN;AACH;AACJ;AACJ;;AACD,SAAOm+H,SAAP;AACH;AACD;AACA;AACA;AACA;;;AACO,SAASE,iBAAT,CAA2B78I,OAA3B,EAAoC;AACvCq8I,EAAAA,YAAY,GAAGr8I,OAAf;AACH;AACD;AACA;AACA;AACA;;AACO,SAASiwH,aAAT,CAAuB5rI,IAAvB,EAA6B;AAChC,MAAIy4J,GAAG,GAAG9sB,+EAAS,EAAnB;;AACA,MAAI8sB,GAAG,IAAIA,GAAG,CAACz4J,IAAD,CAAd,EAAsB;AAClB,WAAOy4J,GAAG,CAACz4J,IAAD,CAAV;AACH,GAJ+B,CAKhC;;;AACA,MAAIA,IAAI,KAAK+2J,SAAT,IAAsBl6C,SAAS,EAAnC,EAAuC;AACnC;AACA,WAAOluG,MAAP;AACH;;AACD,SAAO,IAAP;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;;AACO,SAASkuG,SAAT,GAAqB;AACxB,SAAO67C,OAAO,CAAC,OAAO/pJ,MAAP,KAAkBioJ,+EAAlB,IAAmCjoJ,MAApC,CAAd;AACH;AACD;AACA;AACA;AACA;AACA;;AACO,SAASguG,SAAT,GAAqB;AACxB,MAAIE,SAAS,EAAb,EAAiB;AACb,WAAOluG,MAAP;AACH,GAHuB,CAIxB;;;AACA,SAAOi9H,aAAa,CAACmrB,SAAD,CAApB;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;;AACO,SAAS4B,WAAT,GAAuB;AAC1B,SAAOD,OAAO,CAAC,OAAOxnI,QAAP,KAAoB0lI,+EAApB,IAAqC1lI,QAAtC,CAAd;AACH;AACD;AACA;AACA;AACA;AACA;;AACO,SAASqrF,WAAT,GAAuB;AAC1B,MAAIo8C,WAAW,EAAf,EAAmB;AACf,WAAOznI,QAAP;AACH;;AACD,SAAO06G,aAAa,CAACorB,WAAD,CAApB;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;;AACO,SAAS4B,YAAT,GAAwB;AAC3B,SAAOF,OAAO,CAAC,OAAO7sF,SAAP,KAAqB+qF,+EAArB,IAAsC/qF,SAAvC,CAAd;AACH;AACD;AACA;AACA;AACA;AACA;;AACO,SAASs/C,YAAT,GAAwB;AAC3B,MAAIytC,YAAY,EAAhB,EAAoB;AAChB,WAAO/sF,SAAP;AACH;;AACD,SAAO+/D,aAAa,CAACsrB,YAAD,CAApB;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;;AACO,SAASt6C,UAAT,GAAsB;AACzB,SAAO87C,OAAO,CAAC,OAAOpoF,OAAP,KAAmBsmF,+EAAnB,IAAoCtmF,OAArC,CAAd;AACH;AACD;AACA;AACA;AACA;AACA;;AACO,SAASmsC,UAAT,GAAsB;AACzB,MAAIG,UAAU,EAAd,EAAkB;AACd,WAAOtsC,OAAP;AACH;;AACD,SAAOs7D,aAAa,CAACurB,UAAD,CAApB;AACH;AACD;AACA;AACA;AACA;AACA;;AACO,SAASz6C,WAAT,CAAqBm8C,YAArB,EAAmC;AACtC,MAAIA,YAAY,IAAIb,YAApB,EAAkC;AAC9B,QAAIc,YAAY,GAAGltB,aAAa,CAAC,gBAAD,CAAhC;;AACA,QAAIktB,YAAJ,EAAkB;AACd,aAAOA,YAAP;AACH;AACJ;;AACD,MAAI,OAAOlqJ,QAAP,KAAoBgoJ,+EAApB,IAAqChoJ,QAAzC,EAAmD;AAC/C,WAAOA,QAAP;AACH;;AACD,SAAOg9H,aAAa,CAACwrB,WAAD,CAApB;AACH;AACD;AACA;AACA;;AACO,SAASxC,UAAT,GAAsB;AACzB,MAAI,OAAOtjK,OAAP,KAAmBggK,kFAAvB,EAAyC;AACrC,WAAOhgK,OAAP;AACH;;AACD,SAAOs6I,aAAa,CAACyrB,UAAD,CAApB;AACH;AACD;AACA;AACA;AACA;AACA;;AACO,SAASjsC,cAAT,GAA0B;AAC7B,SAAOwgB,aAAa,CAAC0rB,cAAD,CAApB;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;;AACO,SAASxpC,OAAT,GAAmB;AACtB,SAAO4qC,OAAO,CAAE,OAAOrqJ,IAAP,KAAgBuoJ,+EAAhB,IAAiCvoJ,IAAlC,IAA2Cu9H,aAAa,CAAC2rB,OAAD,CAAb,KAA2B,IAAvE,CAAd;AACH;AACD;AACA;AACA;AACA;AACA;;AACO,SAAS1pC,OAAT,GAAmB;AACtB,MAAIC,OAAO,EAAX,EAAe;AACX,WAAOz/G,IAAI,IAAIu9H,aAAa,CAAC2rB,OAAD,CAA5B;AACH;;AACD,SAAO,IAAP;AACH;AACD;AACA;AACA;AACA;AACA;;AACO,SAASwB,SAAT,GAAqB;AACxB,SAAOntB,aAAa,CAAC4rB,SAAD,CAApB;AACH;AACD;AACA;AACA;AACA;AACA;;AACO,SAASwB,WAAT,GAAuB;AAC1B,SAAOptB,aAAa,CAAC6rB,WAAD,CAApB;AACH;AACD;AACA;AACA;;AACO,SAASwB,aAAT,GAAyB;AAC5B;AACA,MAAI/4B,GAAG,GAAG/U,YAAY,EAAtB;;AACA,MAAI+U,GAAG,IAAIA,GAAG,CAACg5B,OAAf,EAAwB;AACpB,WAAOh5B,GAAG,CAACg5B,OAAJ,KAAgBxB,cAAvB;AACH;;AACD,SAAO,KAAP;AACH;AACD;AACA;AACA;;AACO,SAASpmF,IAAT,GAAgB;AACnB,MAAI4uD,GAAG,GAAG/U,YAAY,EAAtB;;AACA,MAAI+U,GAAG,KAAKA,GAAG,CAAC4tB,8DAAeA;AAAC;AAAjB,GAAH,KAAiDiK,kBAAjD,IAAuED,UAAU,KAAK,IAA3F,CAAP,EAAyG;AACrG;AACAC,IAAAA,kBAAkB,GAAG73B,GAAG,CAAC4tB,8DAAeA;AAAC;AAAjB,KAAxB;;AACA,QAAI58E,SAAS,GAAG,CAAC6mF,kBAAkB,IAAI9J,yDAAvB,EAAkCjpB,iEAAkBA;AAAC;AAArD,OAAhB;;AACA8yB,IAAAA,UAAU,GAAI/J,yDAAW,CAAC78E,SAAD,EAAYymF,OAAZ,CAAX,IAAmC5J,yDAAW,CAAC78E,SAAD,EAAY0mF,UAAZ,CAA5D;AACH;;AACD,SAAOE,UAAP;AACH;AACD;AACA;AACA;;AACO,SAASt/B,YAAT,CAAsB2gC,YAAtB,EAAoC;AACvC,MAAIA,YAAY,KAAK,KAAK,CAA1B,EAA6B;AAAEA,IAAAA,YAAY,GAAG,IAAf;AAAsB;;AACrD,MAAI,CAACA,YAAL,EAAmB;AACf,QAAIC,WAAW,GAAGjuC,YAAY,MAAM,EAApC;AACAguC,IAAAA,YAAY,GAAGC,WAAW,GAAG,CAACA,WAAW,CAACtL,8DAAeA;AAAC;AAAjB,KAAX,IAAwDG,yDAAzD,EAAoEjpB,iEAAkBA;AAAC;AAAvF,OAAH,GAAyHipB,yDAAnJ;AACH;;AACD,MAAIh9E,EAAE,GAAG,CAACkoF,YAAY,IAAIlL,yDAAjB,EAA4BjpB,iEAAkBA;AAAC;AAA/C,KAAT,CANuC,CAOvC;;;AACA,MAAI+oB,yDAAW,CAAC98E,EAAD,EAAK0mF,OAAL,CAAf,EAA8B;AAC1B,QAAIl0C,GAAG,GAAGlH,WAAW,MAAM,EAA3B;AACA,WAAO7wD,IAAI,CAAC1qC,GAAL,CAASoS,QAAQ,CAAC69C,EAAE,CAAC8zD,yDAAUA;AAAC;AAAZ,KAAF,CAAmC4yB,OAAnC,EAA4C,CAA5C,CAAD,CAAjB,EAAoEl0C,GAAG,CAACwzC,eAAD,CAAH,IAAwB,CAA5F,CAAP;AACH,GAHD,MAIK,IAAIlJ,yDAAW,CAAC98E,EAAD,EAAK2mF,UAAL,CAAf,EAAiC;AAClC,QAAIyB,UAAU,GAAGjmI,QAAQ,CAAC69C,EAAE,CAAC8zD,yDAAUA;AAAC;AAAZ,KAAF,CAAmC6yB,UAAnC,EAA+C,CAA/C,CAAD,CAAzB;;AACA,QAAIyB,UAAJ,EAAgB;AACZ,aAAOA,UAAU,GAAG,CAApB;AACH;AACJ;;AACD,SAAO,IAAP;AACH;AACD;AACA;AACA;;AACO,SAASl9C,OAAT,CAAiBm9C,MAAjB,EAAyB;AAC5B,MAAIC,cAAc,GAAG5nI,MAAM,CAACklI,kFAAD,CAAN,CAAyBnqH,QAAzB,CAAkCoqH,wDAASA;AAAC;AAA5C,IAAgEwC,MAAhE,CAArB;;AACA,MAAIE,iBAAiB,GAAGvL,yDAAxB;;AACA,MAAIsL,cAAc,KAAK,gBAAvB,EAAyC;AACrCC,IAAAA,iBAAiB,GAAG,eAAeF,MAAM,CAACx/C,KAAtB,GAA8B,eAA9B,GAAgDw/C,MAAM,CAACjoK,OAAvD,GAAiE,YAAjE,GAAgFioK,MAAM,CAAC3pC,wDAASA;AAAC;AAAX,KAAtF,GAAuH,GAA3I;AACH,GAFD,MAGK,IAAI7B,OAAO,EAAX,EAAe;AAChB0rC,IAAAA,iBAAiB,GAAG3rC,OAAO,GAAGp/G,SAAV,CAAoB6qJ,MAApB,CAApB;AACH;;AACD,SAAOC,cAAc,GAAGC,iBAAxB;AACH;AACM,SAASC,QAAT,CAAkBN,YAAlB,EAAgC;AACnC,MAAI,CAACA,YAAD,IAAiB,CAACl8C,sDAAQ,CAACk8C,YAAD,CAA9B,EAA8C;AAC1C,QAAIO,WAAW,GAAGvuC,YAAY,MAAM,EAApC;AACAguC,IAAAA,YAAY,GAAGO,WAAW,GAAG,CAACA,WAAW,CAAC5L,8DAAeA;AAAC;AAAjB,KAAX,IAAwDG,yDAAzD,EAAoEjpB,iEAAkBA;AAAC;AAAvF,OAAH,GAAyHipB,yDAAnJ;AACH;;AACD,MAAIh9E,EAAE,GAAG,CAACkoF,YAAY,IAAIlL,yDAAjB,EAA4BjpB,iEAAkBA;AAAC;AAA/C,KAAT;;AACA,SAAQ/zD,EAAE,CAACg/D,4DAAaA;AAAC;AAAf,GAAF,CAAwC,QAAxC,KAAqD,CAA7D;AACH;AACD;AACA;AACA;AACA;;AACO,SAASxX,kBAAT,GAA8B;AACjC,MAAIy/B,iBAAiB,KAAK,IAA1B,EAAgC;AAC5BA,IAAAA,iBAAiB,GAAGU,YAAY,MAAMF,OAAO,CAACvtC,YAAY,GAAGmV,UAAhB,CAA7C;AACH;;AACD,SAAO43B,iBAAP;AACH;AACD;AACA;AACA;AACA;AACA;;AACO,SAASx/B,gBAAT,CAA0BihC,aAA1B,EAAyC;AAC5C,MAAIC,WAAW,GAAG,KAAlB;;AACA,MAAI;AACAA,IAAAA,WAAW,GAAG,CAAC,CAAChuB,aAAa,CAAC,OAAD,CAA7B;AACA,QAAIv9G,OAAO,GAAGu9G,aAAa,CAAC,SAAD,CAA3B;;AACA,QAAIguB,WAAW,IAAID,aAAf,IAAgCtrI,OAApC,EAA6C;AACzCurI,MAAAA,WAAW,GAAGzB,YAAY,CAAC9pI,OAAD,EAAU,WAAV,CAA1B;AACH;AACJ,GAND,CAOA,OAAO8L,CAAP,EAAU,CACN;AACH;;AACD,SAAOy/H,WAAP;AACH;AACM,SAAS/gC,iBAAT,GAA6B;AAChC,MAAIo/B,kBAAkB,KAAK,IAA3B,EAAiC;AAC7BA,IAAAA,kBAAkB,GAAI,OAAO71B,cAAP,KAA0BkvB,kFAAhD;;AACA,QAAI2G,kBAAkB,IAAIt/B,cAAc,EAAxC,EAA4C;AACxCs/B,MAAAA,kBAAkB,GAAGA,kBAAkB,IAAI,CAACE,YAAY,CAACvsB,aAAa,CAACisB,iBAAD,CAAd,EAAmC,iBAAnC,CAAxD;AACH;AACJ;;AACD,SAAOI,kBAAP;AACH;AACD;AACA;AACA;AACA;;AACO,SAASt/B,cAAT,GAA0B;AAC7B,MAAIihC,WAAW,GAAG,KAAlB;;AACA,MAAI;AACA,QAAIC,cAAc,GAAGjuB,aAAa,CAACisB,iBAAD,CAAlC;AACA+B,IAAAA,WAAW,GAAG,CAAC,CAACC,cAAhB;AACH,GAHD,CAIA,OAAO1/H,CAAP,EAAU,CACN;AACH;;AACD,SAAOy/H,WAAP;AACH;;AACD,SAASE,cAAT,CAAwBjpH,MAAxB,EAAgC7wC,IAAhC,EAAsC;AAClC,MAAI6wC,MAAJ,EAAY;AACR,SAAK,IAAI1qC,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAG0qC,MAAM,CAAC6tE,0DAAWA;AAAC;AAAb,KAA1B,EAA8Dv4G,CAAC,EAA/D,EAAmE;AAC/D,UAAIzF,KAAK,GAAGmwC,MAAM,CAAC1qC,CAAD,CAAlB;;AACA,UAAIzF,KAAK,CAACivH,wDAASA;AAAC;AAAX,OAAT,EAAyC;AACrC,YAAIjvH,KAAK,CAACivH,wDAASA;AAAC;AAAX,SAAL,KAAwC3vH,IAA5C,EAAkD;AAC9C,iBAAOU,KAAP;AACH;AACJ;AACJ;AACJ;;AACD,SAAO,EAAP;AACH;AACD;AACA;AACA;AACA;;;AACO,SAASq5J,WAAT,CAAqB/5J,IAArB,EAA2B;AAC9B,MAAIyjH,GAAG,GAAGlH,WAAW,EAArB;;AACA,MAAIkH,GAAG,IAAIzjH,IAAX,EAAiB;AACb;AACA,WAAO85J,cAAc,CAACr2C,GAAG,CAACu2C,gBAAJ,CAAqB,MAArB,CAAD,EAA+Bh6J,IAA/B,CAAd,CAAmDuzG,OAA1D;AACH;;AACD,SAAO,IAAP;AACH;AACD;AACA;AACA;AACA;;AACO,SAAS0mD,qBAAT,CAA+Bj6J,IAA/B,EAAqC;AACxC,MAAIU,KAAJ;AACA,MAAIqrH,IAAI,GAAGX,cAAc,EAAzB;;AACA,MAAIW,IAAJ,EAAU;AACN;AACA,QAAImuC,OAAO,GAAGnuC,IAAI,CAACG,gBAAL,CAAsB,YAAtB,KAAuC,EAArD;AACAxrH,IAAAA,KAAK,GAAGo5J,cAAc,CAAC,CAACI,OAAO,CAACx7C,0DAAWA;AAAC;AAAb,KAAP,GAA4C,CAA5C,GAAgDw7C,OAAO,CAAC,CAAD,CAAvD,GAA6D,EAA9D,EAAkEC,YAAnE,EAAiFn6J,IAAjF,CAAd,CAAqG3D,WAA7G;AACH;;AACD,SAAOqE,KAAP;AACH,EACD;;AACO,SAASu/G,aAAT,CAAuB7iE,MAAvB,EAA+B4iE,IAA/B,EAAqC;AACxC,MAAI5iE,MAAM,IAAIA,MAAM,CAAC6iE,aAAjB,IAAkCD,IAAtC,EAA4C;AACxC5iE,IAAAA,MAAM,CAAC6iE,aAAP,CAAqBD,IAArB;AACA,WAAO,IAAP;AACH;;AACD,SAAO,KAAP;AACH;AACM,SAASo6C,oBAAT,CAA8BzgD,SAA9B,EAAyCvgB,OAAzC,EAAkD;AACrD,MAAIp+E,KAAK,GAAG,IAAZ;AACA,MAAIjV,MAAM,GAAG;AAAEA,IAAAA,MAAM,EAAEqzF,OAAO,IAAI;AAArB,GAAb;;AACA,MAAI2jB,wDAAU,CAACs9C,WAAD,CAAd,EAA6B;AAAE;AAC3Br/I,IAAAA,KAAK,GAAG,IAAIq/I,WAAJ,CAAgB1gD,SAAhB,EAA2B5zG,MAA3B,CAAR;AACH,GAFD,MAGK;AAAE;AACH,QAAI09G,GAAG,GAAGlH,WAAW,EAArB;;AACA,QAAIkH,GAAG,IAAIA,GAAG,CAACmiB,WAAf,EAA4B;AACxB5qH,MAAAA,KAAK,GAAGyoG,GAAG,CAACmiB,WAAJ,CAAgB,aAAhB,CAAR;AACA5qH,MAAAA,KAAK,CAACs/I,eAAN,CAAsB3gD,SAAtB,EAAiC,IAAjC,EAAuC,IAAvC,EAA6C5zG,MAA7C;AACH;AACJ;;AACD,SAAOiV,KAAP;AACH;AACM,SAASu/I,eAAT,CAAyBC,OAAzB,EAAkCC,GAAlC,EAAuCC,aAAvC,EAAsD;AACzD,MAAIC,MAAM,GAAGhvB,+EAAS,EAAtB;;AACA,MAAIgvB,MAAM,IAAIA,MAAM,CAACN,WAArB,EAAkC;AAC9B,QAAI;AACA,UAAIjhE,OAAO,GAAG;AAAEqhE,QAAAA,GAAG,EAAEA,GAAG,IAAI,IAAd;AAAoBC,QAAAA,aAAa,EAAEA,aAAa,IAAI;AAApD,OAAd;AACA,aAAOz6C,aAAa,CAAC06C,MAAD,EAASP,oBAAoB,CAACI,OAAD,EAAUphE,OAAV,CAA7B,CAApB;AACH,KAHD,CAIA,OAAOj/D,CAAP,EAAU,CACN;AACH;AACJ;;AACD,SAAO,KAAP;AACH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACvbD;AACA;AACA;AACA;AAGA;AACA;AACA;AACA;CAEA;;AACA,IAAI2gI,WAAW,GAAG,IAAlB;AACA,IAAIC,cAAc,GAAG,aAArB;AACA,IAAIC,iBAAiB,GAAG,kBAAxB;AACA,IAAIC,cAAc,GAAG,aAArB;AACA,IAAIC,sBAAsB,GAAG,qBAA7B;AACA,IAAIC,SAAS,GAAG,QAAhB;AACA,IAAIC,sBAAsB,GAAG,kBAA7B;AACA,IAAIC,WAAW,GAAG,UAAlB;AACA,IAAIC,WAAW,GAAG,UAAlB;AACA,IAAIC,SAAS,GAAG,QAAhB;AACA,IAAIC,eAAe,GAAG,cAAtB;AACA,IAAIC,oBAAoB,GAAGv/C,uEAAqB,CAAC,eAAD,CAAhD;AACA,IAAIw/C,oBAAoB,GAAGx/C,uEAAqB,CAAC,eAAD,CAAhD;AACA,IAAIy/C,cAAc,GAAG,UAArB;AACA,IAAIC,sBAAsB,GAAG,QAA7B;AACA,IAAIC,KAAK,GAAG,CAAZ;AACA,IAAIC,WAAW,GAAGhI,mEAAiB,CAAC,QAAD,CAAnC;AACA,IAAIiI,cAAc,GAAG,qBAArB;;AACA,SAASC,mBAAT,CAA6Bh8J,IAA7B,EAAmC;AAC/B,MAAIA,IAAI,IAAIA,IAAI,CAAC20J,2DAAYA;AAAC;AAAd,GAAhB,EAAsD;AAClD,WAAO30J,IAAI,CAAC20J,2DAAYA;AAAC;AAAd,KAAJ,CAAyC,8BAAzC,EAAyE1G,yDAAzE,CAAP;AACH;;AACD,SAAOjuJ,IAAP;AACH;;AACD,SAASi8J,gBAAT,CAA0BtiD,SAA1B,EAAqCwL,YAArC,EAAmD;AAC/C,MAAI5lF,EAAJ;;AACA,MAAI4lF,YAAJ,EAAkB;AACd,QAAI+2C,cAAc,GAAGjO,yDAArB;;AACA,QAAIr9C,qDAAO,CAACuU,YAAD,CAAX,EAA2B;AACvB+2C,MAAAA,cAAc,GAAGjO,yDAAjB;AACAjyC,MAAAA,wDAAU,CAACmJ,YAAD,EAAe,UAAUnlH,IAAV,EAAgB;AACrCA,QAAAA,IAAI,GAAGg8J,mBAAmB,CAACh8J,IAAD,CAA1B;;AACA,YAAIA,IAAJ,EAAU;AACN,cAAIA,IAAI,CAAC,CAAD,CAAJ,KAAY,GAAhB,EAAqB;AACjBA,YAAAA,IAAI,GAAG,MAAMA,IAAb;AACH;;AACDk8J,UAAAA,cAAc,IAAIl8J,IAAlB;AACH;AACJ,OARS,CAAV;AASH,KAXD,MAYK;AACDk8J,MAAAA,cAAc,GAAGF,mBAAmB,CAAC72C,YAAD,CAApC;AACH;;AACD,QAAI+2C,cAAJ,EAAoB;AAChB,UAAIA,cAAc,CAAC,CAAD,CAAd,KAAsB,GAA1B,EAA+B;AAC3BA,QAAAA,cAAc,GAAG,MAAMA,cAAvB;AACH,OAHe,CAIhB;;;AACAviD,MAAAA,SAAS,GAAG,CAACA,SAAS,IAAIs0C,yDAAd,IAA2BiO,cAAvC;AACH;AACJ;;AACD,MAAIC,WAAW,GAAIJ,cAAc,CAAC1vD,IAAf,CAAoBsN,SAAS,IAAIs0C,yDAAjC,KAA+C,EAAlE;AACA,SAAO1uH,EAAE,GAAG,EAAL,EACHA,EAAE,CAACs7H,wDAASA;AAAC;AAAX,GAAF,GAAgCsB,WAAW,CAAC,CAAD,CADxC,EAEH58H,EAAE,CAAC4nF,EAAH,GAAS,CAACg1C,WAAW,CAAC,CAAD,CAAX,IAAkBlO,yDAAnB,EAA8Bp/I,OAA9B,CAAsC8sJ,cAAtC,EAAsD,GAAtD,EAA2D9sJ,OAA3D,CAAmE+sJ,sBAAnE,EAA2F3N,yDAA3F,EAAsGlpB,yDAAUA;AAAC;AAAjH,IAAsI,GAAtI,EAA2I10D,IAA3I,EAAD,CAAoJ9zE,IAApJ,CAAyJ,GAAzJ,CAFL,EAGHgjC,EAHJ;AAIH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACO,SAAS68H,qBAAT,CAA+Bh/G,MAA/B,EAAuCu8D,SAAvC,EAAkDwL,YAAlD,EAAgE;AACnE,MAAIk3C,SAAS,GAAG,EAAhB;AACA,MAAIC,UAAU,GAAGR,WAAW,CAAC7rK,GAAZ,CAAgBmtD,MAAhB,EAAwB+9G,SAAxB,EAAmC,EAAnC,EAAuC,KAAvC,CAAjB;;AACA,MAAIX,OAAO,GAAGyB,gBAAgB,CAACtiD,SAAD,EAAYwL,YAAZ,CAA9B;;AACA9H,EAAAA,2DAAa,CAACi/C,UAAD,EAAa,UAAUC,OAAV,EAAmBC,gBAAnB,EAAqC;AAC3DxgD,IAAAA,wDAAU,CAACwgD,gBAAD,EAAmB,UAAU97J,KAAV,EAAiB;AAC1C,UAAI6+B,EAAJ;;AACA,UAAI,CAACi7H,OAAO,CAACK,wDAASA;AAAC;AAAX,OAAR,IAA0CL,OAAO,CAACK,wDAASA;AAAC;AAAX,OAAP,KAA0Cn6J,KAAK,CAAC85J,OAAN,CAAcK,wDAASA;AAAC;AAAxB,OAAxF,EAAqI;AACjI,YAAI,CAACL,OAAO,CAACrzC,EAAT,IAAeqzC,OAAO,CAACrzC,EAAR,KAAeqzC,OAAO,CAACrzC,EAA1C,EAA8C;AAC1Ck1C,UAAAA,SAAS,CAACjmC,wDAASA;AAAC;AAAX,WAAT,EAAyC72F,EAAE,GAAG,EAAL,EACrCA,EAAE,CAACowF,wDAASA;AAAC;AAAX,WAAF,GAAgCjvH,KAAK,CAAC85J,OAAN,CAAcK,wDAASA;AAAC;AAAxB,eAA+Cn6J,KAAK,CAAC85J,OAAN,CAAcrzC,EAAd,GAAmB,MAAMzmH,KAAK,CAAC85J,OAAN,CAAcrzC,EAAvC,GAA4C8mC,yDAA3F,CADK,EAErC1uH,EAAE,CAACk9H,OAAH,GAAa/7J,KAAK,CAACk6J,2DAAYA;AAAC;AAAd,WAFmB,EAGrCr7H,EAHJ;AAIH;AACJ;AACJ,KAVS,CAAV;AAWH,GAZY,CAAb;AAaA,SAAO88H,SAAP;AACH,EACD;;AACA,SAASK,oBAAT,CAA8Bt/G,MAA9B,EAAsCo9G,OAAtC,EAA+CxG,UAA/C,EAA2D;AACvD,MAAIA,UAAU,KAAK,KAAK,CAAxB,EAA2B;AAAEA,IAAAA,UAAU,GAAG,IAAb;AAAoB;;AACjD,MAAI2I,MAAM,GAAGb,WAAW,CAAC7rK,GAAZ,CAAgBmtD,MAAhB,EAAwB+9G,SAAxB,EAAmC,EAAnC,EAAuCnH,UAAvC,CAAb;AACA,MAAIwI,gBAAgB,GAAGG,MAAM,CAACnC,OAAD,CAA7B;;AACA,MAAI,CAACgC,gBAAL,EAAuB;AACnBA,IAAAA,gBAAgB,GAAGG,MAAM,CAACnC,OAAD,CAAN,GAAkB,EAArC;AACH;;AACD,SAAOgC,gBAAP;AACH;;AACD,SAASI,SAAT,CAAmBj3I,GAAnB,EAAwB60I,OAAxB,EAAiCqC,UAAjC,EAA6CC,UAA7C,EAAyD;AACrD,MAAIn3I,GAAG,IAAI60I,OAAP,IAAkBA,OAAO,CAACK,wDAASA;AAAC;AAAX,GAA7B,EAA6D;AACzD,QAAIl1I,GAAG,CAACu1I,sBAAD,CAAP,EAAiC;AAC7Bv1I,MAAAA,GAAG,CAACu1I,sBAAD,CAAH,CAA4BV,OAAO,CAACK,wDAASA;AAAC;AAAX,OAAnC,EAAmEgC,UAAnE,EAA+EC,UAA/E;AACH,KAFD,MAGK,IAAIn3I,GAAG,CAACs1I,cAAD,CAAP,EAAyB;AAC1Bt1I,MAAAA,GAAG,CAACs1I,cAAD,CAAH,CAAoBH,WAAW,GAAGN,OAAO,CAACK,wDAASA;AAAC;AAAX,OAAzC,EAAyEgC,UAAzE;AACH;AACJ;AACJ;;AACD,SAASE,SAAT,CAAmBp3I,GAAnB,EAAwB60I,OAAxB,EAAiCqC,UAAjC,EAA6CC,UAA7C,EAAyD;AACrD,MAAI37J,MAAM,GAAG,KAAb;;AACA,MAAIwkB,GAAG,IAAI60I,OAAP,IAAkBA,OAAO,CAACK,wDAASA;AAAC;AAAX,GAAzB,IAA2DgC,UAA/D,EAA2E;AACvE,QAAIl3I,GAAG,CAACq1I,iBAAD,CAAP,EAA4B;AACxB;AACAr1I,MAAAA,GAAG,CAACq1I,iBAAD,CAAH,CAAuBR,OAAO,CAACK,wDAASA;AAAC;AAAX,OAA9B,EAA8DgC,UAA9D,EAA0EC,UAA1E;AACA37J,MAAAA,MAAM,GAAG,IAAT;AACH,KAJD,MAKK,IAAIwkB,GAAG,CAACo1I,cAAD,CAAP,EAAyB;AAC1B;AACAp1I,MAAAA,GAAG,CAACo1I,cAAD,CAAH,CAAoBD,WAAW,GAAGN,OAAO,CAACK,wDAASA;AAAC;AAAX,OAAzC,EAAyEgC,UAAzE;AACA17J,MAAAA,MAAM,GAAG,IAAT;AACH;AACJ;;AACD,SAAOA,MAAP;AACH;;AACD,SAAS67J,aAAT,CAAuB5/G,MAAvB,EAA+B6pD,MAA/B,EAAuCuzD,OAAvC,EAAgDyC,OAAhD,EAAyD;AACrD,MAAI3T,GAAG,GAAGriD,MAAM,CAACyX,0DAAWA;AAAC;AAAb,GAAhB;;AACA,SAAO4qC,GAAG,EAAV,EAAc;AACV,QAAIhY,QAAQ,GAAGrqC,MAAM,CAACqiD,GAAD,CAArB;;AACA,QAAIhY,QAAJ,EAAc;AACV,UAAI,CAACkpB,OAAO,CAACrzC,EAAT,IAAeqzC,OAAO,CAACrzC,EAAR,KAAemqB,QAAQ,CAACkpB,OAAT,CAAiBrzC,EAAnD,EAAuD;AACnD,YAAI,CAAC81C,OAAD,IAAYA,OAAO,CAAC3rB,QAAD,CAAvB,EAAmC;AAC/BsrB,UAAAA,SAAS,CAACx/G,MAAD,EAASk0F,QAAQ,CAACkpB,OAAlB,EAA2BlpB,QAAQ,CAACspB,2DAAYA;AAAC;AAAd,WAAnC,EAAyEtpB,QAAQ,CAAC4rB,OAAlF,CAAT,CAD+B,CAE/B;;;AACAj2D,UAAAA,MAAM,CAACy6C,0DAAWA;AAAC;AAAb,WAAN,CAAyC4H,GAAzC,EAA8C,CAA9C;AACH;AACJ;AACJ;AACJ;AACJ;;AACD,SAAS6T,iBAAT,CAA2B//G,MAA3B,EAAmCo9G,OAAnC,EAA4CyC,OAA5C,EAAqD;AACjD,MAAIzC,OAAO,CAACK,wDAASA;AAAC;AAAX,GAAX,EAA2C;AACvCmC,IAAAA,aAAa,CAAC5/G,MAAD,EAASs/G,oBAAoB,CAACt/G,MAAD,EAASo9G,OAAO,CAACK,wDAASA;AAAC;AAAX,KAAhB,CAA7B,EAA8EL,OAA9E,EAAuFyC,OAAvF,CAAb;AACH,GAFD,MAGK;AACD,QAAIX,UAAU,GAAGR,WAAW,CAAC7rK,GAAZ,CAAgBmtD,MAAhB,EAAwB+9G,SAAxB,EAAmC,EAAnC,CAAjB;AACA99C,IAAAA,2DAAa,CAACi/C,UAAD,EAAa,UAAUC,OAAV,EAAmBt1D,MAAnB,EAA2B;AACjD+1D,MAAAA,aAAa,CAAC5/G,MAAD,EAAS6pD,MAAT,EAAiBuzD,OAAjB,EAA0ByC,OAA1B,CAAb;AACH,KAFY,CAAb,CAFC,CAKD;;AACA,QAAIrkC,qDAAO,CAAC0jC,UAAD,CAAP,CAAoB59C,0DAAWA;AAAC;AAAhC,UAA0D,CAA9D,EAAiE;AAC7Do9C,MAAAA,WAAW,CAAC7H,IAAZ,CAAiB72G,MAAjB,EAAyB+9G,SAAzB;AACH;AACJ;AACJ;;AACM,SAASh+C,iBAAT,CAA2BigD,YAA3B,EAAyCC,UAAzC,EAAqD;AACxD,MAAIC,aAAJ;;AACA,MAAID,UAAJ,EAAgB;AACZ,QAAIzsD,qDAAO,CAACysD,UAAD,CAAX,EAAyB;AACrBC,MAAAA,aAAa,GAAG,CAACF,YAAD,EAAehhI,MAAf,CAAsBihI,UAAtB,CAAhB;AACH,KAFD,MAGK;AACDC,MAAAA,aAAa,GAAG,CAACF,YAAD,EAAeC,UAAf,CAAhB;AACH,KANW,CAOZ;;;AACAC,IAAAA,aAAa,GAAIrB,gBAAgB,CAAC,IAAD,EAAOqB,aAAP,CAAhB,CAAsCn2C,EAAvC,CAA2C4d,yDAAUA;AAAC;AAAtD,MAA2E,GAA3E,CAAhB;AACH,GATD,MAUK;AACDu4B,IAAAA,aAAa,GAAGF,YAAhB;AACH;;AACD,SAAOE,aAAP;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACO,SAASjhD,OAAT,CAAiBj/D,MAAjB,EAAyBu8D,SAAzB,EAAoCkjD,UAApC,EAAgD13C,YAAhD,EAA8D23C,UAA9D,EAA0E;AAC7E,MAAIv9H,EAAJ;;AACA,MAAIu9H,UAAU,KAAK,KAAK,CAAxB,EAA2B;AAAEA,IAAAA,UAAU,GAAG,KAAb;AAAqB;;AAClD,MAAI37J,MAAM,GAAG,KAAb;;AACA,MAAIi8C,MAAJ,EAAY;AACR,QAAI;AACA,UAAIo9G,OAAO,GAAGyB,gBAAgB,CAACtiD,SAAD,EAAYwL,YAAZ,CAA9B;;AACAhkH,MAAAA,MAAM,GAAG47J,SAAS,CAAC3/G,MAAD,EAASo9G,OAAT,EAAkBqC,UAAlB,EAA8BC,UAA9B,CAAlB;;AACA,UAAI37J,MAAM,IAAI26J,WAAW,CAAC/H,MAAZ,CAAmB32G,MAAnB,CAAd,EAA0C;AACtC,YAAImgH,eAAe,IAAIh+H,EAAE,GAAG;AACpBssB,UAAAA,IAAI,EAAEgwG,KAAK,EADS;AAEpBrB,UAAAA,OAAO,EAAEA;AAFW,SAAL,EAInBj7H,EAAE,CAACq7H,2DAAYA;AAAC;AAAd,SAAF,GAAsCiC,UAJnB,EAKnBt9H,EAAE,CAAC29H,OAAH,GAAaJ,UALM,EAMnBv9H,EANe,CAAnB;;AAOAm9H,QAAAA,oBAAoB,CAACt/G,MAAD,EAASo9G,OAAO,CAAC/zJ,IAAjB,CAApB,CAA2C2vH,wDAASA;AAAC;AAArD,UAAyEmnC,eAAzE;AACH;AACJ,KAbD,CAcA,OAAOpjI,CAAP,EAAU,CACN;AACH;AACJ;;AACD,SAAOh5B,MAAP;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACO,SAASi7G,QAAT,CAAkBh/D,MAAlB,EAA0Bu8D,SAA1B,EAAqCkjD,UAArC,EAAiD13C,YAAjD,EAA+D23C,UAA/D,EAA2E;AAC9E,MAAIA,UAAU,KAAK,KAAK,CAAxB,EAA2B;AAAEA,IAAAA,UAAU,GAAG,KAAb;AAAqB;;AAClD,MAAI1/G,MAAJ,EAAY;AACR,QAAI;AACA,UAAIogH,SAAS,GAAGvB,gBAAgB,CAACtiD,SAAD,EAAYwL,YAAZ,CAAhC;;AACA,UAAIs4C,OAAO,GAAG,KAAd;;AACAN,MAAAA,iBAAiB,CAAC//G,MAAD,EAASogH,SAAT,EAAoB,UAAUE,QAAV,EAAoB;AACrD,YAAKF,SAAS,CAACr2C,EAAV,IAAgB,CAAC01C,UAAlB,IAAiCa,QAAQ,CAAC9C,2DAAYA;AAAC;AAAd,SAAR,KAAiDiC,UAAtF,EAAkG;AAC9FY,UAAAA,OAAO,GAAG,IAAV;AACA,iBAAO,IAAP;AACH;;AACD,eAAO,KAAP;AACH,OANgB,CAAjB;;AAOA,UAAI,CAACA,OAAL,EAAc;AACV;AACAb,QAAAA,SAAS,CAACx/G,MAAD,EAASogH,SAAT,EAAoBX,UAApB,EAAgCC,UAAhC,CAAT;AACH;AACJ,KAdD,CAeA,OAAO3iI,CAAP,EAAU,CACN;AACH;AACJ;AACJ;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACO,SAASkgH,WAAT,CAAqB10H,GAArB,EAA0Bg4I,kBAA1B,EAA8Cd,UAA9C,EAA0DC,UAA1D,EAAsE;AACzE,MAAIA,UAAU,KAAK,KAAK,CAAxB,EAA2B;AAAEA,IAAAA,UAAU,GAAG,KAAb;AAAqB;;AAClD,SAAOzgD,OAAO,CAAC12F,GAAD,EAAMg4I,kBAAN,EAA0Bd,UAA1B,EAAsC,IAAtC,EAA4CC,UAA5C,CAAd;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACO,SAAStL,WAAT,CAAqB7rI,GAArB,EAA0Bg4I,kBAA1B,EAA8Cd,UAA9C,EAA0DC,UAA1D,EAAsE;AACzE,MAAIA,UAAU,KAAK,KAAK,CAAxB,EAA2B;AAAEA,IAAAA,UAAU,GAAG,KAAb;AAAqB;;AAClD1gD,EAAAA,QAAQ,CAACz2F,GAAD,EAAMg4I,kBAAN,EAA0Bd,UAA1B,EAAsC,IAAtC,EAA4CC,UAA5C,CAAR;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;;AACO,SAASzgB,eAAT,CAAyB1iC,SAAzB,EAAoCvyE,QAApC,EAA8C+9E,YAA9C,EAA4D;AAC/D,MAAIhkH,MAAM,GAAG,KAAb;AACA,MAAIy8J,CAAC,GAAGjhD,oDAAS,EAAjB;;AACA,MAAIihD,CAAJ,EAAO;AACHz8J,IAAAA,MAAM,GAAGk7G,OAAO,CAACuhD,CAAD,EAAIjkD,SAAJ,EAAevyE,QAAf,EAAyB+9E,YAAzB,CAAhB;AACAhkH,IAAAA,MAAM,GAAGk7G,OAAO,CAACuhD,CAAC,CAAC,MAAD,CAAF,EAAYjkD,SAAZ,EAAuBvyE,QAAvB,EAAiC+9E,YAAjC,CAAP,IAAyDhkH,MAAlE;AACH;;AACD,MAAIsiH,GAAG,GAAGlH,sDAAW,EAArB;;AACA,MAAIkH,GAAJ,EAAS;AACLtiH,IAAAA,MAAM,GAAGk7G,OAAO,CAACoH,GAAD,EAAM9J,SAAN,EAAiBvyE,QAAjB,EAA2B+9E,YAA3B,CAAP,IAAmDhkH,MAA5D;AACH;;AACD,SAAOA,MAAP;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACO,SAAS08J,kBAAT,CAA4BlkD,SAA5B,EAAuCvyE,QAAvC,EAAiD+9E,YAAjD,EAA+D;AAClE,MAAIy4C,CAAC,GAAGjhD,oDAAS,EAAjB;;AACA,MAAIihD,CAAJ,EAAO;AACHxhD,IAAAA,QAAQ,CAACwhD,CAAD,EAAIjkD,SAAJ,EAAevyE,QAAf,EAAyB+9E,YAAzB,CAAR;AACA/I,IAAAA,QAAQ,CAACwhD,CAAC,CAAC,MAAD,CAAF,EAAYjkD,SAAZ,EAAuBvyE,QAAvB,EAAiC+9E,YAAjC,CAAR;AACH;;AACD,MAAI1B,GAAG,GAAGlH,sDAAW,EAArB;;AACA,MAAIkH,GAAJ,EAAS;AACLrH,IAAAA,QAAQ,CAACqH,GAAD,EAAM9J,SAAN,EAAiBvyE,QAAjB,EAA2B+9E,YAA3B,CAAR;AACH;AACJ;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,SAAS24C,kBAAT,CAA4B72D,MAA5B,EAAoCg+C,QAApC,EAA8C8Y,aAA9C,EAA6D54C,YAA7D,EAA2E;AACvE,MAAI2jC,KAAK,GAAG,KAAZ;;AACA,MAAI7D,QAAQ,IAAIh+C,MAAZ,IAAsBA,MAAM,CAACyX,0DAAWA;AAAC;AAAb,GAAN,GAA2C,CAArE,EAAwE;AACpE1C,IAAAA,wDAAU,CAAC/U,MAAD,EAAS,UAAUjnG,IAAV,EAAgB;AAC/B,UAAIA,IAAJ,EAAU;AACN,YAAI,CAAC+9J,aAAD,IAAkBpoC,wDAAU,CAACooC,aAAD,EAAgB/9J,IAAhB,CAAV,KAAoC,CAAC,CAA3D,EAA8D;AAC1D8oJ,UAAAA,KAAK,GAAGzM,eAAe,CAACr8I,IAAD,EAAOilJ,QAAP,EAAiB9/B,YAAjB,CAAf,IAAiD2jC,KAAzD;AACH;AACJ;AACJ,KANS,CAAV;AAOH;;AACD,SAAOA,KAAP;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACO,SAASkV,iBAAT,CAA2B/2D,MAA3B,EAAmCg+C,QAAnC,EAA6C8Y,aAA7C,EAA4D54C,YAA5D,EAA0E;AAC7E,MAAI2jC,KAAK,GAAG,KAAZ;;AACA,MAAI7D,QAAQ,IAAIh+C,MAAZ,IAAsB2J,qDAAO,CAAC3J,MAAD,CAAjC,EAA2C;AACvC6hD,IAAAA,KAAK,GAAGgV,kBAAkB,CAAC72D,MAAD,EAASg+C,QAAT,EAAmB8Y,aAAnB,EAAkC54C,YAAlC,CAA1B;;AACA,QAAI,CAAC2jC,KAAD,IAAUiV,aAAV,IAA2BA,aAAa,CAACr/C,0DAAWA;AAAC;AAAb,KAAb,GAAkD,CAAjF,EAAoF;AAChF;AACAoqC,MAAAA,KAAK,GAAGgV,kBAAkB,CAAC72D,MAAD,EAASg+C,QAAT,EAAmB,IAAnB,EAAyB9/B,YAAzB,CAA1B;AACH;AACJ;;AACD,SAAO2jC,KAAP;AACH;AACD;AACA;AACA;AACA;AACA;AACA;;AACO,SAASmV,oBAAT,CAA8Bh3D,MAA9B,EAAsCg+C,QAAtC,EAAgD9/B,YAAhD,EAA8D;AACjE,MAAIle,MAAM,IAAI2J,qDAAO,CAAC3J,MAAD,CAArB,EAA+B;AAC3B+U,IAAAA,wDAAU,CAAC/U,MAAD,EAAS,UAAUjnG,IAAV,EAAgB;AAC/B,UAAIA,IAAJ,EAAU;AACN69J,QAAAA,kBAAkB,CAAC79J,IAAD,EAAOilJ,QAAP,EAAiB9/B,YAAjB,CAAlB;AACH;AACJ,KAJS,CAAV;AAKH;AACJ;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACO,SAAS+4C,0BAAT,CAAoCjZ,QAApC,EAA8C8Y,aAA9C,EAA6D54C,YAA7D,EAA2E;AAC9E;AACA;AACA,SAAO64C,iBAAiB,CAAC,CAACxC,eAAD,EAAkBD,SAAlB,EAA6BF,WAA7B,CAAD,EAA4CpW,QAA5C,EAAsD8Y,aAAtD,EAAqE54C,YAArE,CAAxB;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;;AACO,SAASg5C,6BAAT,CAAuClZ,QAAvC,EAAiD9/B,YAAjD,EAA+D;AAClE84C,EAAAA,oBAAoB,CAAC,CAACzC,eAAD,EAAkBD,SAAlB,EAA6BF,WAA7B,CAAD,EAA4CpW,QAA5C,EAAsD9/B,YAAtD,CAApB;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACO,SAASi5C,wBAAT,CAAkCnZ,QAAlC,EAA4C8Y,aAA5C,EAA2D54C,YAA3D,EAAyE;AAC5E,WAASk5C,qBAAT,CAA+BhvD,GAA/B,EAAoC;AAChC,QAAIoU,GAAG,GAAGlH,sDAAW,EAArB;;AACA,QAAI0oC,QAAQ,IAAIxhC,GAAZ,IAAmBA,GAAG,CAACn1C,eAAJ,KAAwB,QAA/C,EAAyD;AACrD22E,MAAAA,QAAQ,CAAC51C,GAAD,CAAR;AACH;AACJ,GAN2E,CAO5E;;;AACA,MAAIiuD,aAAa,GAAGngD,iBAAiB,CAACs+C,oBAAD,EAAuBt2C,YAAvB,CAArC;;AACA,MAAIm5C,eAAe,GAAGR,kBAAkB,CAAC,CAACzC,WAAD,CAAD,EAAgBpW,QAAhB,EAA0B8Y,aAA1B,EAAyCT,aAAzC,CAAxC;;AACA,MAAI,CAACS,aAAD,IAAkBpoC,wDAAU,CAACooC,aAAD,EAAgB3C,sBAAhB,CAAV,KAAsD,CAAC,CAA7E,EAAgF;AAC5EkD,IAAAA,eAAe,GAAGR,kBAAkB,CAAC,CAAC1C,sBAAD,CAAD,EAA2BiD,qBAA3B,EAAkDN,aAAlD,EAAiET,aAAjE,CAAlB,IAAqGgB,eAAvH;AACH;;AACD,MAAI,CAACA,eAAD,IAAoBP,aAAxB,EAAuC;AACnC;AACAO,IAAAA,eAAe,GAAGF,wBAAwB,CAACnZ,QAAD,EAAW,IAAX,EAAiB9/B,YAAjB,CAA1C;AACH;;AACD,SAAOm5C,eAAP;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;;AACO,SAASC,2BAAT,CAAqCtZ,QAArC,EAA+C9/B,YAA/C,EAA6D;AAChE;AACA,MAAIm4C,aAAa,GAAGngD,iBAAiB,CAACs+C,oBAAD,EAAuBt2C,YAAvB,CAArC;AACA84C,EAAAA,oBAAoB,CAAC,CAAC5C,WAAD,CAAD,EAAgBpW,QAAhB,EAA0BqY,aAA1B,CAApB;AACAW,EAAAA,oBAAoB,CAAC,CAAC7C,sBAAD,CAAD,EAA2B,IAA3B,EAAiCkC,aAAjC,CAApB;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACO,SAASkB,wBAAT,CAAkCvZ,QAAlC,EAA4C8Y,aAA5C,EAA2D54C,YAA3D,EAAyE;AAC5E,WAASk5C,qBAAT,CAA+BhvD,GAA/B,EAAoC;AAChC,QAAIoU,GAAG,GAAGlH,sDAAW,EAArB;;AACA,QAAI0oC,QAAQ,IAAIxhC,GAAZ,IAAmBA,GAAG,CAACn1C,eAAJ,KAAwB,SAA/C,EAA0D;AACtD22E,MAAAA,QAAQ,CAAC51C,GAAD,CAAR;AACH;AACJ,GAN2E,CAO5E;;;AACA,MAAIiuD,aAAa,GAAGngD,iBAAiB,CAACu+C,oBAAD,EAAuBv2C,YAAvB,CAArC;;AACA,MAAIs5C,aAAa,GAAGX,kBAAkB,CAAC,CAACxC,WAAD,CAAD,EAAgBrW,QAAhB,EAA0B8Y,aAA1B,EAAyCT,aAAzC,CAAtC;;AACAmB,EAAAA,aAAa,GAAGX,kBAAkB,CAAC,CAAC1C,sBAAD,CAAD,EAA2BiD,qBAA3B,EAAkDN,aAAlD,EAAiET,aAAjE,CAAlB,IAAqGmB,aAArH;;AACA,MAAI,CAACA,aAAD,IAAkBV,aAAtB,EAAqC;AACjC;AACAU,IAAAA,aAAa,GAAGD,wBAAwB,CAACvZ,QAAD,EAAW,IAAX,EAAiB9/B,YAAjB,CAAxC;AACH;;AACD,SAAOs5C,aAAP;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;;AACO,SAASC,2BAAT,CAAqCzZ,QAArC,EAA+C9/B,YAA/C,EAA6D;AAChE;AACA,MAAIm4C,aAAa,GAAGngD,iBAAiB,CAACu+C,oBAAD,EAAuBv2C,YAAvB,CAArC;AACA84C,EAAAA,oBAAoB,CAAC,CAAC3C,WAAD,CAAD,EAAgBrW,QAAhB,EAA0BqY,aAA1B,CAApB;AACAW,EAAAA,oBAAoB,CAAC,CAAC7C,sBAAD,CAAD,EAA2B,IAA3B,EAAiCkC,aAAjC,CAApB;AACH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACjeD;AACA;AACA;AACA;AAGA;AACA;CAEA;AACA;;AACA,IAAI2B,cAAc,GAAG,aAArB;AACA,IAAIC,YAAY,GAAG,UAAnB;AACA,IAAIC,cAAc,GAAG,YAArB;AACA,IAAIC,UAAU,GAAG,SAAjB;AACA,IAAIC,MAAM,GAAG,KAAb;AACA,IAAIC,SAAS,GAAG,QAAhB;AACA,IAAIC,QAAQ,GAAG,MAAf;AACA,IAAIC,WAAW,GAAG,UAAlB;AACA;AACA;AACA;AACA;;AACA,IAAIC,UAAU,GAAG,WAAjB;AACA;AACA;AACA;AACA;;AACA,IAAIC,cAAc,GAAG,aAArB;AACA,IAAIpM,kBAAkB,GAAGH,mFAAzB;AACA,IAAIwM,UAAU,GAAGf,iFAAjB;AACA,IAAIiB,QAAQ,GAAGjB,+EAAf;AACA,IAAImB,QAAQ,GAAGnB,+EAAf;AACA,IAAIoB,WAAW,GAAG9wG,MAAM,CAAC2nG,kFAAD,CAAxB;AACA,IAAIoJ,QAAQ,GAAGD,WAAW,CAACT,QAAD,CAA1B;AACA,IAAIW,YAAY,GAAGF,WAAW,CAACd,YAAD,CAA9B;AACA,IAAIiB,cAAc,GAAGH,WAAW,CAACb,cAAD,CAAhC;AACA,IAAIiB,SAAS,GAAG7oH,IAAI,CAACs/G,kFAAD,CAApB;AACA,IAAIwJ,gBAAgB,GAAGD,SAAS,CAACnB,cAAD,CAAhC;AACA,IAAIqB,QAAQ,GAAG3rI,KAAK,CAACi8E,OAArB;AACA,IAAI2vD,YAAY,GAAGzB,0EAAQ,CAACU,WAAD,CAA3B;AACA,IAAIgB,WAAW,GAAG3B,mFAAiB,CAACW,WAAD,CAAnC,EACA;;AACA,IAAIiB,kBAAkB,GAAGD,WAAW,CAAC1J,wDAASA;AAAC;AAAX,CAAX,CAA0C8H,0EAA1C,CAAzB;;AACA,IAAI8B,UAAU,GAAG,WAAjB;AACA,IAAIC,iBAAiB,GAAG,cAAxB;AACA,IAAIC,eAAe,GAAG,gBAAtB;AACA;AACA;AACA;AACA;;AACA,IAAIC,kBAAkB,GAAGlvI,MAAM,CAAC,gBAAD,CAA/B;AACA;AACA;AACA;AACA;;AACO,SAASmvI,YAAT,CAAsB1jH,MAAtB,EAA8B;AACjC,MAAIA,MAAJ,EAAY;AACR;AACA,QAAIyjH,kBAAJ,EAAwB;AACpB,aAAOA,kBAAkB,CAACzjH,MAAD,CAAzB;AACH,KAJO,CAKR;;;AACA,QAAI2jH,QAAQ,GAAG3jH,MAAM,CAACqiH,UAAD,CAAN,IAAsBriH,MAAM,CAACy5G,kFAAD,CAA5B,IAAkDz5G,MAAM,CAACsiH,cAAD,CAAvE;;AACA,QAAIqB,QAAJ,EAAc;AACV,aAAOA,QAAP;AACH;AACJ;;AACD,SAAO,IAAP;AACH;AACM,SAASC,WAAT,CAAqBr7I,GAArB,EAA0B;AAC7B,SAAO46I,YAAY,CAACzJ,wDAASA;AAAC;AAAX,GAAZ,CAA2CnxI,GAA3C,CAAP;AACH;AACM,SAAS+rI,QAAT,CAAkBhxJ,KAAlB,EAAyBugK,OAAzB,EAAkC;AACrC,SAAO,OAAOvgK,KAAP,KAAiBugK,OAAxB;AACH;AACM,SAAS/jD,WAAT,CAAqBx8G,KAArB,EAA4B;AAC/B,SAAOA,KAAK,KAAKmhC,SAAV,IAAuB,OAAOnhC,KAAP,KAAiB4wJ,kFAA/C;AACH;AACM,SAAS4P,cAAT,CAAwBxgK,KAAxB,EAA+B;AAClC,SAAO,CAACw8G,WAAW,CAACx8G,KAAD,CAAnB;AACH;AACM,SAASs8G,iBAAT,CAA2Bt8G,KAA3B,EAAkC;AACrC,SAAQA,KAAK,KAAK,IAAV,IAAkBw8G,WAAW,CAACx8G,KAAD,CAArC;AACH;AACM,SAAS80I,oBAAT,CAA8B90I,KAA9B,EAAqC;AACxC,SAAO,CAACs8G,iBAAiB,CAACt8G,KAAD,CAAzB;AACH;AACM,SAASg5B,cAAT,CAAwB/T,GAAxB,EAA6BwoH,IAA7B,EAAmC;AACtC,SAAO,CAAC,EAAExoH,GAAG,IAAIk5I,mFAAiB,CAAC/H,wDAASA;AAAC;AAAX,GAAjB,CAAgDnxI,GAAhD,EAAqDwoH,IAArD,CAAT,CAAR;AACH;AACM,SAASt2B,QAAT,CAAkBn3G,KAAlB,EAAyB;AAC5B;AACA,SAAO,CAAC,EAAEA,KAAK,IAAI,OAAOA,KAAP,KAAiBk2J,+EAA5B,CAAR;AACH;AACM,SAAS75C,UAAT,CAAoBr8G,KAApB,EAA2B;AAC9B;AACA,SAAO,CAAC,EAAEA,KAAK,IAAI,OAAOA,KAAP,KAAiBq+J,iFAA5B,CAAR;AACH;AACM,SAASoC,aAAT,CAAuBzgK,KAAvB,EAA8B;AACjC,SAAOA,KAAK,IAAIq8G,UAAU,CAACr8G,KAAK,CAAC1J,IAAP,CAA1B;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;;AACO,SAASq8J,eAAT,CAAyBrzJ,IAAzB,EAA+B;AAClC,MAAIU,KAAK,GAAGV,IAAZ;;AACA,MAAIU,KAAK,IAAIu8G,QAAQ,CAACv8G,KAAD,CAArB,EAA8B;AAC1B;AACAA,IAAAA,KAAK,GAAGA,KAAK,CAACi0J,2DAAYA;AAAC;AAAd,KAAL,CAA0C+L,UAA1C,EAAsD,UAAUU,IAAV,EAAgBC,MAAhB,EAAwB;AAClF,aAAOA,MAAM,CAACxvE,WAAP,EAAP;AACH,KAFO,CAAR;AAGAnxF,IAAAA,KAAK,GAAGA,KAAK,CAACi0J,2DAAYA;AAAC;AAAd,KAAL,CAA0CgM,iBAA1C,EAA6D,GAA7D,CAAR;AACAjgK,IAAAA,KAAK,GAAGA,KAAK,CAACi0J,2DAAYA;AAAC;AAAd,KAAL,CAA0CiM,eAA1C,EAA2D,UAAUQ,IAAV,EAAgB1nF,KAAhB,EAAuB;AACtF,aAAO,MAAMA,KAAb;AACH,KAFO,CAAR;AAGH;;AACD,SAAOh5E,KAAP;AACH;AACD;AACA;AACA;AACA;AACA;AACA;;AACO,SAAS28G,aAAT,CAAuBjgE,MAAvB,EAA+BkkH,UAA/B,EAA2C;AAC9C,MAAIlkH,MAAJ,EAAY;AACR,SAAK,IAAI+wF,IAAT,IAAiB/wF,MAAjB,EAAyB;AACrB,UAAIyhH,mFAAiB,CAAC/H,wDAASA;AAAC;AAAX,OAAjB,CAAgD15G,MAAhD,EAAwD+wF,IAAxD,CAAJ,EAAmE;AAC/DmzB,QAAAA,UAAU,CAACxK,wDAASA;AAAC;AAAX,SAAV,CAAyC15G,MAAzC,EAAiD+wF,IAAjD,EAAuD/wF,MAAM,CAAC+wF,IAAD,CAA7D;AACH;AACJ;AACJ;AACJ;AACD;AACA;AACA;AACA;AACA;AACA;;AACO,SAAS6f,WAAT,CAAqBttJ,KAArB,EAA4B+vE,MAA5B,EAAoC;AACvC,MAAItvE,MAAM,GAAG,KAAb;;AACA,MAAIT,KAAK,IAAI+vE,MAAT,IAAmB,EAAEtvE,MAAM,GAAGT,KAAK,KAAK+vE,MAArB,CAAvB,EAAqD;AACjD;AACAtvE,IAAAA,MAAM,GAAG++J,YAAY,GAAGx/J,KAAK,CAACw+J,YAAD,CAAL,CAAoBzuF,MAApB,CAAH,GAAiC8wF,gBAAgB,CAAC7gK,KAAD,EAAQ+vE,MAAR,CAAtE;AACH;;AACD,SAAOtvE,MAAP;AACH;AACD;AACA;AACA;AACA;AACA;AACA;;AACO,SAASogK,gBAAT,CAA0B7gK,KAA1B,EAAiC+vE,MAAjC,EAAyC;AAC5C,MAAItvE,MAAM,GAAG,KAAb;AACA,MAAIqgK,SAAS,GAAG/wF,MAAM,GAAGA,MAAM,CAACiuC,0DAAWA;AAAC;AAAb,GAAT,GAA8C,CAApE;AACA,MAAI+iD,MAAM,GAAG/gK,KAAK,GAAGA,KAAK,CAACg+G,0DAAWA;AAAC;AAAb,GAAR,GAA6C,CAA/D;;AACA,MAAI8iD,SAAS,IAAIC,MAAb,IAAuBA,MAAM,IAAID,SAAjC,IAA8C,EAAErgK,MAAM,GAAGT,KAAK,KAAK+vE,MAArB,CAAlD,EAAgF;AAC5E,QAAIixF,GAAG,GAAGD,MAAM,GAAG,CAAnB;;AACA,SAAK,IAAI3qC,EAAE,GAAG0qC,SAAS,GAAG,CAA1B,EAA6B1qC,EAAE,IAAI,CAAnC,EAAsCA,EAAE,EAAxC,EAA4C;AACxC,UAAIp2H,KAAK,CAACghK,GAAD,CAAL,IAAcjxF,MAAM,CAACqmD,EAAD,CAAxB,EAA8B;AAC1B,eAAO,KAAP;AACH;;AACD4qC,MAAAA,GAAG;AACN;;AACDvgK,IAAAA,MAAM,GAAG,IAAT;AACH;;AACD,SAAOA,MAAP;AACH;AACD;AACA;AACA;AACA;AACA;AACA;;AACO,SAASwgK,aAAT,CAAuBjhK,KAAvB,EAA8BkhK,UAA9B,EAA0C;AAC7C,MAAIzgK,MAAM,GAAG,KAAb;;AACA,MAAIT,KAAK,IAAIkhK,UAAT,IAAuB,EAAEzgK,MAAM,GAAGT,KAAK,KAAKkhK,UAArB,CAA3B,EAA6D;AACzD;AACAzgK,IAAAA,MAAM,GAAGg/J,cAAc,GAAGz/J,KAAK,CAACy+J,cAAD,CAAL,CAAsByC,UAAtB,CAAH,GAAuCC,kBAAkB,CAACnhK,KAAD,EAAQkhK,UAAR,CAAhF;AACH;;AACD,SAAOzgK,MAAP;AACH;AACD;AACA;AACA;AACA;AACA;AACA;;AACO,SAAS0gK,kBAAT,CAA4BnhK,KAA5B,EAAmCkhK,UAAnC,EAA+C;AAClD;AACA,MAAIzgK,MAAM,GAAG,KAAb;AACA,MAAI2gK,MAAM,GAAGF,UAAU,GAAGA,UAAU,CAACljD,0DAAWA;AAAC;AAAb,GAAb,GAAkD,CAAzE;;AACA,MAAIh+G,KAAK,IAAIohK,MAAT,IAAmBphK,KAAK,CAACg+G,0DAAWA;AAAC;AAAb,GAAL,IAA2CojD,MAA9D,IAAwE,EAAE3gK,MAAM,GAAGT,KAAK,KAAKkhK,UAArB,CAA5E,EAA8G;AAC1G,SAAK,IAAI9qC,EAAE,GAAG,CAAd,EAAiBA,EAAE,GAAGgrC,MAAtB,EAA8BhrC,EAAE,EAAhC,EAAoC;AAChC,UAAIp2H,KAAK,CAACo2H,EAAD,CAAL,KAAc8qC,UAAU,CAAC9qC,EAAD,CAA5B,EAAkC;AAC9B,eAAO,KAAP;AACH;AACJ;;AACD31H,IAAAA,MAAM,GAAG,IAAT;AACH;;AACD,SAAOA,MAAP;AACH;AACD;AACA;AACA;AACA;AACA;;AACO,SAAS4sJ,WAAT,CAAqBrtJ,KAArB,EAA4B+vE,MAA5B,EAAoC;AACvC,MAAI/vE,KAAK,IAAI+vE,MAAb,EAAqB;AACjB,WAAO/vE,KAAK,CAACuvI,4DAAaA;AAAC;AAAf,KAAL,CAA2Cx/D,MAA3C,MAAuD,CAAC,CAA/D;AACH;;AACD,SAAO,KAAP;AACH;AACD;AACA;AACA;;AACO,SAASqqE,MAAT,CAAgBn1H,GAAhB,EAAqB;AACxB,SAAO,CAAC,EAAEA,GAAG,IAAI46I,YAAY,CAACzJ,wDAASA;AAAC;AAAX,GAAZ,CAA2CnxI,GAA3C,MAAoD,eAA7D,CAAR;AACH;AACD;AACA;AACA;AACA;;AACO,IAAIirF,OAAO,GAAG0vD,QAAQ,IAAIyB,YAA1B;;AACP,SAASA,YAAT,CAAsBp8I,GAAtB,EAA2B;AACvB,SAAO,CAAC,EAAEA,GAAG,IAAI46I,YAAY,CAACzJ,wDAASA;AAAC;AAAX,GAAZ,CAA2CnxI,GAA3C,MAAoD,gBAA7D,CAAR;AACH;AACD;AACA;AACA;;;AACO,SAASm3F,OAAT,CAAiBn3F,GAAjB,EAAsB;AACzB,SAAO,CAAC,EAAEA,GAAG,IAAI46I,YAAY,CAACzJ,wDAASA;AAAC;AAAX,GAAZ,CAA2CnxI,GAA3C,MAAoD,gBAA7D,CAAR;AACH;AACD;AACA;AACA;AACA;AACA;;AACO,SAASs3F,QAAT,CAAkBv8G,KAAlB,EAAyB;AAC5B;AACA,SAAO,OAAOA,KAAP,KAAiB,QAAxB;AACH;AACD;AACA;AACA;AACA;AACA;;AACO,SAAS0uH,QAAT,CAAkB1uH,KAAlB,EAAyB;AAC5B;AACA,SAAO,OAAOA,KAAP,KAAiB,QAAxB;AACH;AACD;AACA;AACA;AACA;AACA;;AACO,SAAS+wJ,SAAT,CAAmB/wJ,KAAnB,EAA0B;AAC7B;AACA,SAAO,OAAOA,KAAP,KAAiB,SAAxB;AACH;AACD;AACA;AACA;AACA;AACA;AACA;;AACO,SAASshK,QAAT,CAAkBthK,KAAlB,EAAyB;AAC5B,SAAO,OAAOA,KAAP,KAAiB,QAAxB;AACH;AACD;AACA;AACA;AACA;;AACO,SAASuhK,aAAT,CAAuBvhK,KAAvB,EAA8B;AACjC,MAAIS,MAAM,GAAG,KAAb;;AACA,MAAIT,KAAK,IAAI,OAAOA,KAAP,KAAiB,QAA9B,EAAwC;AACpC;AACA,QAAI63J,KAAK,GAAGsI,kBAAkB,GAAGA,kBAAkB,CAACngK,KAAD,CAArB,GAA+BogK,YAAY,CAACpgK,KAAD,CAAzE;;AACA,QAAI,CAAC63J,KAAL,EAAY;AACR;AACAp3J,MAAAA,MAAM,GAAG,IAAT;AACH,KAHD,MAIK;AACD;AACA,UAAIo3J,KAAK,CAACmH,cAAD,CAAL,IAAyBb,mFAAiB,CAAC/H,wDAASA;AAAC;AAAX,OAAjB,CAAgDyB,KAAhD,EAAuDmH,cAAvD,CAA7B,EAAqG;AACjGnH,QAAAA,KAAK,GAAGA,KAAK,CAACmH,cAAD,CAAb;AACH;;AACDv+J,MAAAA,MAAM,GAAG,OAAOo3J,KAAP,KAAiBwG,iFAAjB,IAAoCyB,WAAW,CAAC1J,wDAASA;AAAC;AAAX,OAAX,CAA0CyB,KAA1C,MAAqDkI,kBAAlG;AACH;AACJ;;AACD,SAAOt/J,MAAP;AACH;AACD;AACA;AACA;;AACO,SAAS6kB,WAAT,CAAqBm0F,IAArB,EAA2B;AAC9B,MAAIA,IAAJ,EAAU;AACN;AACA,WAAOkmD,gBAAgB,GAAGlmD,IAAI,CAAC8kD,cAAD,CAAJ,EAAH,GAA4BiD,gBAAgB,CAAC/nD,IAAD,CAAnE;AACH;AACJ;AACD;AACA;AACA;;AACO,SAAS+nD,gBAAT,CAA0B/nD,IAA1B,EAAgC;AACnC,MAAIA,IAAI,IAAIA,IAAI,CAACu+B,cAAjB,EAAiC;AAC7B,QAAIypB,GAAG,GAAG,UAAU3wF,GAAV,EAAe;AACrB,UAAIv1C,CAAC,GAAGizB,MAAM,CAACsiB,GAAD,CAAd;;AACA,UAAIv1C,CAAC,CAACyiF,0DAAWA;AAAC;AAAb,OAAD,KAAwC,CAA5C,EAA+C;AAC3CziF,QAAAA,CAAC,GAAG,MAAMA,CAAV;AACH;;AACD,aAAOA,CAAP;AACH,KAND;;AAOA,WAAOk+E,IAAI,CAACu+B,cAAL,KACD,GADC,GACKypB,GAAG,CAAChoD,IAAI,CAACw+B,WAAL,KAAqB,CAAtB,CADR,GAED,GAFC,GAEKwpB,GAAG,CAAChoD,IAAI,CAACioD,UAAL,EAAD,CAFR,GAGD,GAHC,GAGKD,GAAG,CAAChoD,IAAI,CAACkoD,WAAL,EAAD,CAHR,GAID,GAJC,GAIKF,GAAG,CAAChoD,IAAI,CAACmoD,aAAL,EAAD,CAJR,GAKD,GALC,GAKKH,GAAG,CAAChoD,IAAI,CAACooD,aAAL,EAAD,CALR,GAMD,GANC,GAMKrzG,MAAM,CAAC,CAACirD,IAAI,CAACqoD,kBAAL,KAA4B,IAA7B,EAAmCC,OAAnC,CAA2C,CAA3C,CAAD,CAAN,CAAsDv6D,KAAtD,CAA4D,CAA5D,EAA+D,CAA/D,CANL,GAOD,GAPN;AAQH;AACJ;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACO,SAAS8T,UAAT,CAAoB30G,GAApB,EAAyBi6J,UAAzB,EAAqChnI,OAArC,EAA8C;AACjD,MAAI63H,GAAG,GAAG9qJ,GAAG,CAACq3G,0DAAWA;AAAC;AAAb,GAAb;;AACA,MAAI;AACA,SAAK,IAAI4qC,GAAG,GAAG,CAAf,EAAkBA,GAAG,GAAG6I,GAAxB,EAA6B7I,GAAG,EAAhC,EAAoC;AAChC,UAAIA,GAAG,IAAIjiJ,GAAX,EAAgB;AACZ,YAAIi6J,UAAU,CAACxK,wDAASA;AAAC;AAAX,SAAV,CAAyCx8H,OAAO,IAAIjzB,GAApD,EAAyDA,GAAG,CAACiiJ,GAAD,CAA5D,EAAmEA,GAAnE,EAAwEjiJ,GAAxE,MAAiF,CAAC,CAAtF,EAAyF;AACrF;AACH;AACJ;AACJ;AACJ,GARD,CASA,OAAO8yB,CAAP,EAAU,CACN;AACH;AACJ;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACO,SAASw7F,UAAT,CAAoBtuH,GAApB,EAAyBq7J,aAAzB,EAAwCC,SAAxC,EAAmD;AACtD,MAAIt7J,GAAJ,EAAS;AACL;AACA,QAAIA,GAAG,CAAC+3J,UAAD,CAAP,EAAqB;AACjB,aAAO/3J,GAAG,CAAC+3J,UAAD,CAAH,CAAgBsD,aAAhB,EAA+BC,SAA/B,CAAP;AACH;;AACD,QAAIxQ,GAAG,GAAG9qJ,GAAG,CAACq3G,0DAAWA;AAAC;AAAb,KAAb;AACA,QAAI5xF,IAAI,GAAG61I,SAAS,IAAI,CAAxB;;AACA,QAAI;AACA,WAAK,IAAI7rC,EAAE,GAAGprE,IAAI,CAAC1qC,GAAL,CAAS8L,IAAI,IAAI,CAAR,GAAYA,IAAZ,GAAmBqlI,GAAG,GAAGzmG,IAAI,CAAC+4E,GAAL,CAAS33G,IAAT,CAAlC,EAAkD,CAAlD,CAAd,EAAoEgqG,EAAE,GAAGq7B,GAAzE,EAA8Er7B,EAAE,EAAhF,EAAoF;AAChF,YAAIA,EAAE,IAAIzvH,GAAN,IAAaA,GAAG,CAACyvH,EAAD,CAAH,KAAY4rC,aAA7B,EAA4C;AACxC,iBAAO5rC,EAAP;AACH;AACJ;AACJ,KAND,CAOA,OAAO38F,CAAP,EAAU,CACN;AACH;AACJ;;AACD,SAAO,CAAC,CAAR;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACO,SAASy1G,MAAT,CAAgBvoI,GAAhB,EAAqBi6J,UAArB,EAAiChnI,OAAjC,EAA0C;AAC7C,MAAIskG,OAAJ;;AACA,MAAIv3H,GAAJ,EAAS;AACL;AACA,QAAIA,GAAG,CAACg4J,MAAD,CAAP,EAAiB;AACb,aAAOh4J,GAAG,CAACg4J,MAAD,CAAH,CAAYiC,UAAZ,EAAwBhnI,OAAxB,CAAP;AACH;;AACD,QAAI63H,GAAG,GAAG9qJ,GAAG,CAACq3G,0DAAWA;AAAC;AAAb,KAAb;;AACA,QAAIr+E,KAAK,GAAG/F,OAAO,IAAIjzB,GAAvB;;AACAu3H,IAAAA,OAAO,GAAG,IAAIjqG,KAAJ,CAAUw9H,GAAV,CAAV;;AACA,QAAI;AACA,WAAK,IAAIr7B,EAAE,GAAG,CAAd,EAAiBA,EAAE,GAAGq7B,GAAtB,EAA2Br7B,EAAE,EAA7B,EAAiC;AAC7B,YAAIA,EAAE,IAAIzvH,GAAV,EAAe;AACXu3H,UAAAA,OAAO,CAAC9H,EAAD,CAAP,GAAcwqC,UAAU,CAACxK,wDAASA;AAAC;AAAX,WAAV,CAAyCz2H,KAAzC,EAAgDh5B,GAAG,CAACyvH,EAAD,CAAnD,EAAyDzvH,GAAzD,CAAd;AACH;AACJ;AACJ,KAND,CAOA,OAAO8yB,CAAP,EAAU,CACN;AACH;AACJ;;AACD,SAAOykG,OAAP;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACO,SAASiG,SAAT,CAAmBx9H,GAAnB,EAAwBi6J,UAAxB,EAAoC74D,YAApC,EAAkD;AACrD,MAAI/nG,KAAJ;;AACA,MAAI2G,GAAJ,EAAS;AACL;AACA,QAAIA,GAAG,CAACi4J,SAAD,CAAP,EAAoB;AAChB,aAAOj4J,GAAG,CAACi4J,SAAD,CAAH,CAAegC,UAAf,EAA2B74D,YAA3B,CAAP;AACH;;AACD,QAAI0pD,GAAG,GAAG9qJ,GAAG,CAACq3G,0DAAWA;AAAC;AAAb,KAAb;AACA,QAAIoY,EAAE,GAAG,CAAT,CANK,CAOL;;AACA,QAAI98F,SAAS,CAAC0kF,0DAAWA;AAAC;AAAb,KAAT,IAA+C,CAAnD,EAAsD;AAClDh+G,MAAAA,KAAK,GAAGs5B,SAAS,CAAC,CAAD,CAAjB;AACH,KAFD,MAGK;AACD,aAAO88F,EAAE,GAAGq7B,GAAL,IAAY,EAAEr7B,EAAE,IAAIzvH,GAAR,CAAnB,EAAiC;AAC7ByvH,QAAAA,EAAE;AACL;;AACDp2H,MAAAA,KAAK,GAAG2G,GAAG,CAACyvH,EAAE,EAAH,CAAX;AACH;;AACD,WAAOA,EAAE,GAAGq7B,GAAZ,EAAiB;AACb,UAAIr7B,EAAE,IAAIzvH,GAAV,EAAe;AACX3G,QAAAA,KAAK,GAAG4gK,UAAU,CAAC5gK,KAAD,EAAQ2G,GAAG,CAACyvH,EAAD,CAAX,EAAiBA,EAAjB,EAAqBzvH,GAArB,CAAlB;AACH;;AACDyvH,MAAAA,EAAE;AACL;AACJ;;AACD,SAAOp2H,KAAP;AACH;AACD;AACA;AACA;;AACO,SAASosI,OAAT,CAAiBrgC,GAAjB,EAAsB;AACzB,MAAIA,GAAJ,EAAS;AACL;AACAA,IAAAA,GAAG,GAAIwzD,QAAQ,IAAIxzD,GAAG,CAAC8yD,QAAD,CAAhB,GAA8B9yD,GAAG,CAAC8yD,QAAD,CAAH,EAA9B,GAAiD9yD,GAAG,CAACkoD,2DAAYA;AAAC;AAAd,KAAH,GAA0CloD,GAAG,CAACkoD,2DAAYA;AAAC;AAAd,KAAH,CAAwC,kBAAxC,EAA4D1G,yDAA5D,CAA1C,GAAmHxhD,GAA1K;AACH;;AACD,SAAOA,GAAP;AACH;;AACD,IAAIm2D,sBAAsB,GAAG,CAAE;AAAEl2H,EAAAA,QAAQ,EAAE;AAAZ,CAAD,CAAqBrS,oBAArB,CAA0C,UAA1C,CAA9B;;AACA,IAAIwoI,iBAAiB,GAAG,CACpB,UADoB,EAEpB,gBAFoB,EAGpB,SAHoB,EAIpB,gBAJoB,EAKpB,eALoB,EAMpB,sBANoB,EAOpB,aAPoB,CAAxB;AASA;AACA;AACA;AACA;AACA;AACA;;AACO,SAASjqC,OAAT,CAAiBjzG,GAAjB,EAAsB;AACzB,MAAIm9I,OAAO,GAAG,OAAOn9I,GAArB;;AACA,MAAIm9I,OAAO,KAAK/D,iFAAZ,KAAgC+D,OAAO,KAAKlM,+EAAZ,IAA6BjxI,GAAG,KAAK,IAArE,CAAJ,EAAgF;AAC5Eq5I,IAAAA,oFAAc,CAAC,8BAAD,CAAd;AACH,GAJwB,CAKzB;;;AACA,MAAI,CAAC4D,sBAAD,IAA2B7C,QAA/B,EAAyC;AACrC,WAAOA,QAAQ,CAACp6I,GAAD,CAAf;AACH;;AACD,MAAIxkB,MAAM,GAAG,EAAb;;AACA,OAAK,IAAIgtI,IAAT,IAAiBxoH,GAAjB,EAAsB;AAClB,QAAIA,GAAG,IAAIk5I,mFAAiB,CAAC/H,wDAASA;AAAC;AAAX,KAAjB,CAAgDnxI,GAAhD,EAAqDwoH,IAArD,CAAX,EAAuE;AACnEhtI,MAAAA,MAAM,CAACi1H,wDAASA;AAAC;AAAX,OAAN,CAAqC+X,IAArC;AACH;AACJ;;AACD,MAAIy0B,sBAAJ,EAA4B;AACxB,QAAIG,eAAe,GAAGF,iBAAiB,CAACnkD,0DAAWA;AAAC;AAAb,KAAvC;;AACA,SAAK,IAAIoY,EAAE,GAAG,CAAd,EAAiBA,EAAE,GAAGisC,eAAtB,EAAuCjsC,EAAE,EAAzC,EAA6C;AACzC,UAAInxG,GAAG,IAAIk5I,mFAAiB,CAAC/H,wDAASA;AAAC;AAAX,OAAjB,CAAgDnxI,GAAhD,EAAqDk9I,iBAAiB,CAAC/rC,EAAD,CAAtE,CAAX,EAAwF;AACpF31H,QAAAA,MAAM,CAACi1H,wDAASA;AAAC;AAAX,SAAN,CAAqCysC,iBAAiB,CAAC/rC,EAAD,CAAtD;AACH;AACJ;AACJ;;AACD,SAAO31H,MAAP;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACO,SAASi8G,kBAAT,CAA4BhgE,MAA5B,EAAoC+wF,IAApC,EAA0C60B,OAA1C,EAAmDC,OAAnD,EAA4D;AAC/D,MAAI3P,kBAAJ,EAAwB;AACpB,QAAI;AACA,UAAI4P,UAAU,GAAG;AACbpuF,QAAAA,UAAU,EAAE,IADC;AAEbC,QAAAA,YAAY,EAAE;AAFD,OAAjB;;AAIA,UAAIiuF,OAAJ,EAAa;AACTE,QAAAA,UAAU,CAACjzK,GAAX,GAAiB+yK,OAAjB;AACH;;AACD,UAAIC,OAAJ,EAAa;AACTC,QAAAA,UAAU,CAAC5uI,GAAX,GAAiB2uI,OAAjB;AACH;;AACD3P,MAAAA,kBAAkB,CAACl2G,MAAD,EAAS+wF,IAAT,EAAe+0B,UAAf,CAAlB;;AACA,aAAO,IAAP;AACH,KAbD,CAcA,OAAO/oI,CAAP,EAAU,CACN;AACA;AACH;AACJ;;AACD,SAAO,KAAP;AACH;;AACD,SAASgpI,UAAT,CAAoBziK,KAApB,EAA2B;AACvB,SAAOA,KAAP;AACH;;AACM,SAAS6+I,UAAT,CAAoB55H,GAApB,EAAyB;AAC5B,MAAIg6I,UAAJ,EAAgB;AACZtiD,IAAAA,aAAa,CAAC13F,GAAD,EAAM,UAAU3lB,IAAV,EAAgBU,KAAhB,EAAuB;AACtC,UAAIkwG,OAAO,CAAClwG,KAAD,CAAP,IAAkBm3G,QAAQ,CAACn3G,KAAD,CAA9B,EAAuC;AACnCi/J,QAAAA,UAAU,CAACj/J,KAAD,CAAV;AACH;AACJ,KAJY,CAAb;AAKH;;AACD,SAAO8hJ,SAAS,CAAC78H,GAAD,CAAhB;AACH;AACM,IAAI68H,SAAS,GAAGmd,UAAU,IAAIwD,UAA9B;AACA,IAAIC,OAAO,GAAGvD,QAAQ,IAAIsD,UAA1B;AACP;AACA;AACA;AACA;;AACO,SAASv1C,OAAT,GAAmB;AACtB,MAAIy1C,EAAE,GAAG9rH,IAAT;AACA,SAAO8rH,EAAE,CAAC/sG,GAAH,GAAS+sG,EAAE,CAAC/sG,GAAH,EAAT,GAAoB,IAAI+sG,EAAJ,GAAS5rH,OAAT,EAA3B;AACH;AACD;AACA;AACA;;AACO,SAAS+kE,gBAAT,CAA0B88C,MAA1B,EAAkC;AACrC,MAAIx8C,OAAO,CAACw8C,MAAD,CAAX,EAAqB;AACjB,WAAOA,MAAM,CAAC3pC,wDAASA;AAAC;AAAX,KAAb;AACH;;AACD,SAAOs+B,yDAAP;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACO,SAASvsI,QAAT,CAAkB07B,MAAlB,EAA0BgpE,KAA1B,EAAiC1lH,KAAjC,EAAwC4iK,MAAxC,EAAgDC,MAAhD,EAAwD;AAC3D,MAAI1mC,QAAQ,GAAGn8H,KAAf;;AACA,MAAI08C,MAAJ,EAAY;AACRy/E,IAAAA,QAAQ,GAAGz/E,MAAM,CAACgpE,KAAD,CAAjB;;AACA,QAAIyW,QAAQ,KAAKn8H,KAAb,KAAuB,CAAC6iK,MAAD,IAAWA,MAAM,CAAC1mC,QAAD,CAAxC,MAAwD,CAACymC,MAAD,IAAWA,MAAM,CAAC5iK,KAAD,CAAzE,CAAJ,EAAuF;AACnFm8H,MAAAA,QAAQ,GAAGn8H,KAAX;AACA08C,MAAAA,MAAM,CAACgpE,KAAD,CAAN,GAAgByW,QAAhB;AACH;AACJ;;AACD,SAAOA,QAAP;AACH;AACD;AACA;AACA;AACA;AACA;AACA;;AACO,SAASylB,WAAT,CAAqBllG,MAArB,EAA6BgpE,KAA7B,EAAoC/F,QAApC,EAA8C;AACjD,MAAIwc,QAAJ;;AACA,MAAIz/E,MAAJ,EAAY;AACRy/E,IAAAA,QAAQ,GAAGz/E,MAAM,CAACgpE,KAAD,CAAjB;;AACA,QAAI,CAACyW,QAAD,IAAa7f,iBAAiB,CAAC6f,QAAD,CAAlC,EAA8C;AAC1C;AACAA,MAAAA,QAAQ,GAAG,CAAC3f,WAAW,CAACmD,QAAD,CAAZ,GAAyBA,QAAzB,GAAoC,EAA/C;AACAjjE,MAAAA,MAAM,CAACgpE,KAAD,CAAN,GAAgByW,QAAhB;AACH;AACJ,GAPD,MAQK;AACD;AACAA,IAAAA,QAAQ,GAAG,CAAC3f,WAAW,CAACmD,QAAD,CAAZ,GAAyBA,QAAzB,GAAoC,EAA/C;AACH;;AACD,SAAOwc,QAAP;AACH;AACD;AACA;AACA;AACA;AACA;;AACO,SAASwlB,WAAT,CAAqBxlB,QAArB,EAA+B9B,YAA/B,EAA6C;AAChD,SAAO,CAAC/d,iBAAiB,CAAC6f,QAAD,CAAlB,GAA+BA,QAA/B,GAA0C9B,YAAjD;AACH;AACM,SAASyoC,WAAT,CAAqB9iK,KAArB,EAA4B;AAC/B,SAAO,CAACA,KAAR;AACH;AACM,SAAS2uH,QAAT,CAAkB3uH,KAAlB,EAAyB;AAC5B,SAAO,CAAC,CAACA,KAAT;AACH;AACM,SAAS88G,UAAT,CAAoBnsH,OAApB,EAA6B;AAChC,QAAM,IAAIsrD,KAAJ,CAAUtrD,OAAV,CAAN;AACH;;AACD,SAASoyK,oBAAT,CAA8B13H,MAA9B,EAAsC23H,QAAtC,EAAgD;AAC5C,MAAIC,OAAO,GAAG,IAAd;AACA,MAAI9nJ,GAAG,GAAG,IAAV;;AACA,MAAIkhG,UAAU,CAAChxE,MAAD,CAAd,EAAwB;AACpB43H,IAAAA,OAAO,GAAG53H,MAAV;AACH,GAFD,MAGK;AACDlwB,IAAAA,GAAG,GAAGkwB,MAAN;AACH;;AACD,SAAO,YAAY;AACf;AACA,QAAI63H,iBAAiB,GAAG5pI,SAAxB;;AACA,QAAI2pI,OAAJ,EAAa;AACT9nJ,MAAAA,GAAG,GAAG8nJ,OAAO,EAAb;AACH;;AACD,QAAI9nJ,GAAJ,EAAS;AACL,aAAOA,GAAG,CAAC6nJ,QAAD,CAAH,CAAcxP,yDAAUA;AAAC;AAAzB,QAA8Cr4I,GAA9C,EAAmD+nJ,iBAAnD,CAAP;AACH;AACJ,GATD;AAUH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACO,SAASC,WAAT,CAAqBzmH,MAArB,EAA6BrR,MAA7B,EAAqC+3H,MAArC,EAA6C;AAChD,MAAI1mH,MAAM,IAAIrR,MAAV,IAAoB8rE,QAAQ,CAACz6D,MAAD,CAA5B,IAAwCy6D,QAAQ,CAAC9rE,MAAD,CAApD,EAA8D;AAC1D,QAAIg4H,OAAO,GAAG,UAAU39C,KAAV,EAAiB;AAC3B,UAAInJ,QAAQ,CAACmJ,KAAD,CAAZ,EAAqB;AACjB,YAAI1lH,KAAK,GAAGqrC,MAAM,CAACq6E,KAAD,CAAlB;;AACA,YAAIrJ,UAAU,CAACr8G,KAAD,CAAd,EAAuB;AACnB,cAAI,CAACojK,MAAD,IAAWA,MAAM,CAAC19C,KAAD,EAAQ,IAAR,EAAcr6E,MAAd,EAAsBqR,MAAtB,CAArB,EAAoD;AAChD;AACAA,YAAAA,MAAM,CAACgpE,KAAD,CAAN,GAAgBq9C,oBAAoB,CAAC13H,MAAD,EAASq6E,KAAT,CAApC;AACH;AACJ,SALD,MAMK,IAAI,CAAC09C,MAAD,IAAWA,MAAM,CAAC19C,KAAD,EAAQ,KAAR,EAAer6E,MAAf,EAAuBqR,MAAvB,CAArB,EAAqD;AACtD,cAAI1jB,cAAc,CAAC0jB,MAAD,EAASgpE,KAAT,CAAlB,EAAmC;AAC/B;AACA,mBAAOhpE,MAAM,CAACgpE,KAAD,CAAb;AACH;;AACD,cAAI,CAAChJ,kBAAkB,CAAChgE,MAAD,EAASgpE,KAAT,EAAgB,YAAY;AAC/C,mBAAOr6E,MAAM,CAACq6E,KAAD,CAAb;AACH,WAFsB,EAEpB,UAAUyW,QAAV,EAAoB;AACnB9wF,YAAAA,MAAM,CAACq6E,KAAD,CAAN,GAAgByW,QAAhB;AACH,WAJsB,CAAvB,EAII;AACA;AACA;AACA;AACAz/E,YAAAA,MAAM,CAACgpE,KAAD,CAAN,GAAgB1lH,KAAhB;AACH;AACJ;AACJ;AACJ,KA1BD,CAD0D,CA4B1D;;;AACA,SAAK,IAAI0lH,KAAT,IAAkBr6E,MAAlB,EAA0B;AACtBg4H,MAAAA,OAAO,CAAC39C,KAAD,CAAP;AACH;AACJ;;AACD,SAAOhpE,MAAP;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACO,SAASqlG,eAAT,CAAyBrlG,MAAzB,EAAiCp9C,IAAjC,EAAuC+rC,MAAvC,EAA+Ci4H,OAA/C,EAAwDC,eAAxD,EAAyE;AAC5E,MAAI7mH,MAAM,IAAIp9C,IAAV,IAAkB+rC,MAAtB,EAA8B;AAC1B,QAAIk4H,eAAe,KAAK,KAApB,IAA6B/mD,WAAW,CAAC9/D,MAAM,CAACp9C,IAAD,CAAP,CAA5C,EAA4D;AACxDo9C,MAAAA,MAAM,CAACp9C,IAAD,CAAN,GAAeyjK,oBAAoB,CAAC13H,MAAD,EAASi4H,OAAT,CAAnC;AACH;AACJ;AACJ;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACO,SAASthB,cAAT,CAAwBtlG,MAAxB,EAAgCrR,MAAhC,EAAwCm4H,gBAAxC,EAA0DD,eAA1D,EAA2E;AAC9E,MAAI7mH,MAAM,IAAIrR,MAAV,IAAoB8rE,QAAQ,CAACz6D,MAAD,CAA5B,IAAwCwzD,OAAO,CAACszD,gBAAD,CAAnD,EAAuE;AACnEloD,IAAAA,UAAU,CAACkoD,gBAAD,EAAmB,UAAUC,WAAV,EAAuB;AAChD,UAAIlnD,QAAQ,CAACknD,WAAD,CAAZ,EAA2B;AACvB1hB,QAAAA,eAAe,CAACrlG,MAAD,EAAS+mH,WAAT,EAAsBp4H,MAAtB,EAA8Bo4H,WAA9B,EAA2CF,eAA3C,CAAf;AACH;AACJ,KAJS,CAAV;AAKH;;AACD,SAAO7mH,MAAP;AACH;AACD;AACA;AACA;AACA;AACA;;AACO,SAASwpF,wBAAT,CAAkC1gB,QAAlC,EAA4C;AAC/C;AAAO;AAAe,gBAAY;AAC9B,eAASk+C,OAAT,GAAmB;AACf,YAAIC,OAAO,GAAG,IAAd;;AACA,YAAIn+C,QAAJ,EAAc;AACV7I,UAAAA,aAAa,CAAC6I,QAAD,EAAW,UAAUE,KAAV,EAAiB1lH,KAAjB,EAAwB;AAC5C2jK,YAAAA,OAAO,CAACj+C,KAAD,CAAP,GAAiB1lH,KAAjB;AACH,WAFY,CAAb;AAGH;AACJ;;AACD,aAAO0jK,OAAP;AACH,KAVqB;AAAtB;AAWH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;;AACO,SAAS90C,cAAT,CAAwBg1C,SAAxB,EAAmC;AACtC;AACA;AACA,MAAIA,SAAS,IAAI3F,2EAAjB,EAA4B;AACxB2F,IAAAA,SAAS,GAAG1F,8EAAQ,CAACD,+EAAS,CAAC,EAAD,EAAK2F,SAAL,CAAV,CAApB;AACH;;AACD,SAAOA,SAAP;AACH;AACM,SAAS/hB,SAAT,CAAmBgiB,IAAnB,EAAyBC,IAAzB,EAA+BC,IAA/B,EAAqCC,IAArC,EAA2CC,IAA3C,EAAiDC,IAAjD,EAAuD;AAC1D;AACA,MAAIC,OAAO,GAAG7qI,SAAd;AACA,MAAI8qI,QAAQ,GAAGD,OAAO,CAAC,CAAD,CAAP,IAAc,EAA7B;AACA,MAAIE,MAAM,GAAGF,OAAO,CAACnmD,0DAAWA;AAAC;AAAb,GAApB;AACA,MAAIsmD,IAAI,GAAG,KAAX;AACA,MAAI1b,GAAG,GAAG,CAAV,CAN0D,CAO1D;;AACA,MAAIyb,MAAM,GAAG,CAAT,IAActT,SAAS,CAACqT,QAAD,CAA3B,EAAuC;AACnCE,IAAAA,IAAI,GAAGF,QAAP;AACAA,IAAAA,QAAQ,GAAGD,OAAO,CAACvb,GAAD,CAAP,IAAgB,EAA3B;AACAA,IAAAA,GAAG;AACN,GAZyD,CAa1D;;;AACA,MAAI,CAACzxC,QAAQ,CAACitD,QAAD,CAAb,EAAyB;AACrBA,IAAAA,QAAQ,GAAG,EAAX;AACH,GAhByD,CAiB1D;;;AACA,SAAOxb,GAAG,GAAGyb,MAAb,EAAqBzb,GAAG,EAAxB,EAA4B;AACxB,QAAI2b,GAAG,GAAGJ,OAAO,CAACvb,GAAD,CAAjB;AACA,QAAI4b,UAAU,GAAGt0D,OAAO,CAACq0D,GAAD,CAAxB;AACA,QAAIE,QAAQ,GAAGttD,QAAQ,CAACotD,GAAD,CAAvB;;AACA,SAAK,IAAI92B,IAAT,IAAiB82B,GAAjB,EAAsB;AAClB,UAAIG,MAAM,GAAIF,UAAU,IAAK/2B,IAAI,IAAI82B,GAAxB,IAAkCE,QAAQ,IAAKtG,mFAAiB,CAAC/H,wDAASA;AAAC;AAAX,OAAjB,CAAgDmO,GAAhD,EAAqD92B,IAArD,CAA5D;;AACA,UAAI,CAACi3B,MAAL,EAAa;AACT;AACH;;AACD,UAAI5uG,QAAQ,GAAGyuG,GAAG,CAAC92B,IAAD,CAAlB;AACA,UAAIk3B,UAAU,GAAG,KAAK,CAAtB,CANkB,CAOlB;;AACA,UAAIL,IAAI,IAAIxuG,QAAR,KAAqB,CAAC6uG,UAAU,GAAGz0D,OAAO,CAACp6C,QAAD,CAArB,KAAoCyrG,aAAa,CAACzrG,QAAD,CAAtE,CAAJ,EAAuF;AACnF;AACA,YAAIpnC,KAAK,GAAG01I,QAAQ,CAAC32B,IAAD,CAApB;;AACA,YAAIk3B,UAAJ,EAAgB;AACZ,cAAI,CAACz0D,OAAO,CAACxhF,KAAD,CAAZ,EAAqB;AACjB;AACAA,YAAAA,KAAK,GAAG,EAAR;AACH;AACJ,SALD,MAMK,IAAI,CAAC6yI,aAAa,CAAC7yI,KAAD,CAAlB,EAA2B;AAC5B;AACAA,UAAAA,KAAK,GAAG,EAAR;AACH,SAZkF,CAanF;;;AACAonC,QAAAA,QAAQ,GAAG+rF,SAAS,CAACyiB,IAAD,EAAO51I,KAAP,EAAconC,QAAd,CAApB;AACH,OAvBiB,CAwBlB;;;AACA,UAAIA,QAAQ,KAAK30B,SAAjB,EAA4B;AACxBijI,QAAAA,QAAQ,CAAC32B,IAAD,CAAR,GAAiB33E,QAAjB;AACH;AACJ;AACJ;;AACD,SAAOsuG,QAAP;AACH;;;;;;;;;;;;;;;;;;;;;;;AC/yBD;AACA;AACA;AACA;AAGA;AACA;AACA;AACA;AACA,IAAIQ,iBAAiB,GAAG,UAAxB;AACA,IAAIC,OAAO,GAAG,CACV,KADU,EACH,KADG,EACI,OADJ,EACa,OADb,CAAd;AAGA;;AACA,SAASC,QAAT,CAAkBn+J,GAAlB,EAAuBukJ,EAAvB,EAA2B;AACvB,MAAIvkJ,GAAJ,EAAS;AACL,SAAK,IAAIyvH,EAAE,GAAG,CAAd,EAAiBA,EAAE,GAAGzvH,GAAG,CAACq3G,0DAAWA;AAAC;AAAb,KAAzB,EAA6DoY,EAAE,EAA/D,EAAmE;AAC/D,UAAI80B,EAAE,CAACvkJ,GAAG,CAACyvH,EAAD,CAAJ,EAAUA,EAAV,CAAN,EAAqB;AACjB;AACH;AACJ;AACJ;AACJ;AACD;;;AACA,SAAS2uC,YAAT,CAAsBtZ,KAAtB,EAA6B9kC,WAA7B,EAA0Cq+C,MAA1C,EAAkDC,OAAlD,EAA2Dl/J,IAA3D,EAAiE;AAC7D,MAAIA,IAAI,IAAI;AAAE;AAAV,KAAwCA,IAAI,IAAI;AAAE;AAAtD,IAAoF;AAChF++J,IAAAA,QAAQ,CAACrZ,KAAD,EAAQ,UAAUyZ,IAAV,EAAgBtc,GAAhB,EAAqB;AACjC,UAAIuc,IAAI,GAAGD,IAAI,CAACC,IAAhB;AACA,UAAIn1D,EAAE,GAAGm1D,IAAI,CAACN,OAAO,CAAC9+J,IAAD,CAAR,CAAb;;AACA,UAAIiqG,EAAJ,EAAQ;AACJ;AACA2W,QAAAA,WAAW,CAACpqH,GAAZ,GAAkB,YAAY;AAC1B,cAAIA,GAAG,GAAG0oK,OAAO,CAACrc,GAAD,CAAP,GAAgBqc,OAAO,CAACrc,GAAD,CAAP,IAAgB,EAA1C;AACA,iBAAOrsJ,GAAP;AACH,SAHD;;AAIA,YAAI;AACAyzG,UAAAA,EAAE,CAACwjD,yDAAUA;AAAC;AAAZ,WAAF,CAAmC7sC,WAAW,CAAC4nC,IAA/C,EAAqDyW,MAArD;AACH,SAFD,CAGA,OAAO/5I,GAAP,EAAY;AACR,cAAIm6I,KAAK,GAAGz+C,WAAW,CAAC17F,GAAxB;;AACA,cAAI;AACA;AACA,gBAAIo6I,WAAW,GAAGF,IAAI,CAACN,OAAO,CAAC;AAAE;AAAH,aAAR,CAAtB;;AACA,gBAAIQ,WAAJ,EAAiB;AACb1+C,cAAAA,WAAW,CAAC17F,GAAZ,GAAkBA,GAAlB;;AACAo6I,cAAAA,WAAW,CAAC7R,yDAAUA;AAAC;AAAZ,eAAX,CAA4C7sC,WAAW,CAAC4nC,IAAxD,EAA8DyW,MAA9D;AACH;AACJ,WAPD,CAQA,OAAOvrI,CAAP,EAAU,CACN;AACH,WAVD,SAWQ;AACJ;AACAktF,YAAAA,WAAW,CAAC17F,GAAZ,GAAkBm6I,KAAlB;AACH;AACJ;AACJ;AACJ,KA/BO,CAAR;AAgCH;AACJ;AACD;;;AACA,SAASE,mBAAT,CAA6BC,MAA7B,EAAqC;AACjC;AACA,SAAO,YAAY;AACf,QAAI1mI,EAAJ;;AACA,QAAI2mI,QAAQ,GAAG,IAAf,CAFe,CAGf;;AACA,QAAIC,OAAO,GAAGnsI,SAAd;AACA,QAAImyH,KAAK,GAAG8Z,MAAM,CAACG,CAAnB;AACA,QAAIC,QAAQ,IAAI9mI,EAAE,GAAG,EAAL,EACZA,EAAE,CAACowF,wDAASA;AAAC;AAAX,KAAF,GAAgCs2C,MAAM,CAAClsI,CAD3B,EAEZwF,EAAE,CAAC0vH,IAAH,GAAUiX,QAFE,EAGZ3mI,EAAE,CAACtiC,GAAH,GAAS,IAHG,EAIZsiC,EAAE,CAACjL,GAAH,GAASgyI,WAJG,EAKZ/mI,EALQ,CAAZ;AAMA,QAAIomI,OAAO,GAAG,EAAd;;AACA,QAAID,MAAM,GAAGa,WAAW,CAAC,CAACF,QAAD,CAAD,EAAaF,OAAb,CAAxB;;AACAE,IAAAA,QAAQ,CAACh3D,GAAT,GAAeu8B,wDAAa,CAAC,OAAD,CAA5B;;AACA,aAAS26B,WAAT,CAAqBnpH,MAArB,EAA6BynH,OAA7B,EAAsC;AAClCW,MAAAA,QAAQ,CAACX,OAAD,EAAU,UAAUI,GAAV,EAAe;AAC7B7nH,QAAAA,MAAM,CAACg5E,wDAASA;AAAC;AAAX,SAAN,CAAqC6uC,GAArC;AACH,OAFO,CAAR;;AAGA,aAAO7nH,MAAP;AACH;;AACD,aAASkpH,WAAT,CAAqBhd,GAArB,EAA0B5oJ,KAA1B,EAAiC;AAC7BylK,MAAAA,OAAO,GAAGI,WAAW,CAAC,EAAD,EAAKJ,OAAL,CAArB;AACAA,MAAAA,OAAO,CAAC7c,GAAD,CAAP,GAAe5oJ,KAAf;AACAglK,MAAAA,MAAM,GAAGa,WAAW,CAAC,CAACF,QAAD,CAAD,EAAaF,OAAb,CAApB;AACH,KAzBc,CA0Bf;;;AACAV,IAAAA,YAAY,CAACtZ,KAAD,EAAQka,QAAR,EAAkBX,MAAlB,EAA0BC,OAA1B,EAAmC;AAAE;AAArC,KAAZ,CA3Be,CA4Bf;;;AACA,QAAI3B,OAAO,GAAGiC,MAAM,CAAC3qI,CAArB;;AACA,QAAI0oI,OAAJ,EAAa;AACT,UAAI;AACAqC,QAAAA,QAAQ,CAAC/+C,IAAT,GAAgB08C,OAAO,CAAC9P,yDAAUA;AAAC;AAAZ,SAAP,CAAwCgS,QAAxC,EAAkDC,OAAlD,CAAhB;AACH,OAFD,CAGA,OAAOx6I,GAAP,EAAY;AACR;AACA06I,QAAAA,QAAQ,CAAC16I,GAAT,GAAeA,GAAf;;AACA85I,QAAAA,YAAY,CAACtZ,KAAD,EAAQka,QAAR,EAAkBX,MAAlB,EAA0BC,OAA1B,EAAmC;AAAE;AAArC,SAAZ,CAHQ,CAIR;;;AACA,cAAMh6I,GAAN;AACH;AACJ,KAzCc,CA0Cf;;;AACA85I,IAAAA,YAAY,CAACtZ,KAAD,EAAQka,QAAR,EAAkBX,MAAlB,EAA0BC,OAA1B,EAAmC;AAAE;AAArC,KAAZ;;AACA,WAAOU,QAAQ,CAAC/+C,IAAhB;AACH,GA7CD;AA8CH;AACD;;;AACA,SAASk/C,SAAT,CAAmBppH,MAAnB,EAA2Bp9C,IAA3B,EAAiCymK,cAAjC,EAAiDC,gBAAjD,EAAmE;AAC/D,MAAIC,KAAK,GAAG,IAAZ;;AACA,MAAIvpH,MAAJ,EAAY;AACR,QAAI1jB,4DAAc,CAAC0jB,MAAD,EAASp9C,IAAT,CAAlB,EAAkC;AAC9B2mK,MAAAA,KAAK,GAAGvpH,MAAR;AACH,KAFD,MAGK,IAAIqpH,cAAJ,EAAoB;AACrBE,MAAAA,KAAK,GAAGH,SAAS,CAAC1F,0DAAY,CAAC1jH,MAAD,CAAb,EAAuBp9C,IAAvB,EAA6B0mK,gBAA7B,EAA+C,KAA/C,CAAjB;AACH;AACJ;;AACD,SAAOC,KAAP;AACH;AACD;AACA;AACA;AACA;AACA;AACA;;;AACO,SAASC,eAAT,CAAyBxpH,MAAzB,EAAiCsmH,QAAjC,EAA2Cp/D,SAA3C,EAAsD;AACzD,MAAIlnD,MAAJ,EAAY;AACR,WAAOypH,cAAc,CAACzpH,MAAM,CAACy5G,kFAAD,CAAP,EAA2B6M,QAA3B,EAAqCp/D,SAArC,EAAgD,KAAhD,CAArB;AACH;;AACD,SAAO,IAAP;AACH;AACD;AACA;AACA;AACA;AACA;AACA;;AACO,SAASwiE,gBAAT,CAA0B1pH,MAA1B,EAAkC2pH,SAAlC,EAA6CziE,SAA7C,EAAwD;AAC3D,MAAIlnD,MAAJ,EAAY;AACR,WAAO4pH,eAAe,CAAC5pH,MAAM,CAACy5G,kFAAD,CAAP,EAA2BkQ,SAA3B,EAAsCziE,SAAtC,EAAiD,KAAjD,CAAtB;AACH;;AACD,SAAO,IAAP;AACH;;AACD,SAAS2iE,qBAAT,CAA+BN,KAA/B,EAAsCjD,QAAtC,EAAgD9X,EAAhD,EAAoDtnD,SAApD,EAA+D;AAC3D,MAAI2hE,MAAM,GAAGra,EAAE,IAAIA,EAAE,CAAC0Z,iBAAD,CAArB;;AACA,MAAI,CAACW,MAAL,EAAa;AACT;AACAA,IAAAA,MAAM,GAAG;AACL9/J,MAAAA,CAAC,EAAE,CADE;AAEL4zB,MAAAA,CAAC,EAAE2pI,QAFE;AAGLpoI,MAAAA,CAAC,EAAEswH,EAHE;AAILwa,MAAAA,CAAC,EAAE;AAJE,KAAT,CAFS,CAQT;;AACA,QAAIc,OAAO,GAAGlB,mBAAmB,CAACC,MAAD,CAAjC;;AACAiB,IAAAA,OAAO,CAAC5B,iBAAD,CAAP,GAA6BW,MAA7B,CAVS,CAU4B;;AACrCU,IAAAA,KAAK,CAACjD,QAAD,CAAL,GAAkBwD,OAAlB;AACH;;AACD,MAAIC,OAAO,GAAG;AACV;AACAxqK,IAAAA,EAAE,EAAEspK,MAAM,CAAC9/J,CAFD;AAGV0/J,IAAAA,IAAI,EAAEvhE,SAHI;AAIVunD,IAAAA,EAAE,EAAE,YAAY;AACZ;AACA;AACA,UAAIlvJ,EAAE,GAAG,KAAKA,EAAd;;AACA6oK,MAAAA,QAAQ,CAACS,MAAM,CAACG,CAAR,EAAW,UAAUR,IAAV,EAAgBtc,GAAhB,EAAqB;AACpC,YAAIsc,IAAI,CAACjpK,EAAL,KAAYA,EAAhB,EAAoB;AAChBspK,UAAAA,MAAM,CAACG,CAAP,CAAS1kB,0DAAWA;AAAC;AAArB,YAA2C4H,GAA3C,EAAgD,CAAhD;;AACA,iBAAO,CAAP;AACH;AACJ,OALO,CAAR;AAMH,KAdS,CAeV;;AAfU,GAAd;AAiBA2c,EAAAA,MAAM,CAAC9/J,CAAP;;AACA8/J,EAAAA,MAAM,CAACG,CAAP,CAAShwC,wDAASA;AAAC;AAAnB,IAAuC+wC,OAAvC;;AACA,SAAOA,OAAP;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACO,SAASN,cAAT,CAAwBzpH,MAAxB,EAAgCsmH,QAAhC,EAA0Cp/D,SAA1C,EAAqDmiE,cAArD,EAAqEC,gBAArE,EAAuF;AAC1F,MAAID,cAAc,KAAK,KAAK,CAA5B,EAA+B;AAAEA,IAAAA,cAAc,GAAG,IAAjB;AAAwB;;AACzD,MAAIrpH,MAAM,IAAIsmH,QAAV,IAAsBp/D,SAA1B,EAAqC;AACjC,QAAIqiE,KAAK,GAAGH,SAAS,CAACppH,MAAD,EAASsmH,QAAT,EAAmB+C,cAAnB,EAAmCC,gBAAnC,CAArB;;AACA,QAAIC,KAAJ,EAAW;AACP,UAAI/a,EAAE,GAAG+a,KAAK,CAACjD,QAAD,CAAd;;AACA,UAAI,OAAO9X,EAAP,KAAcmT,iFAAlB,EAAmC;AAC/B,eAAOkI,qBAAqB,CAACN,KAAD,EAAQjD,QAAR,EAAkB9X,EAAlB,EAAsBtnD,SAAtB,CAA5B;AACH;AACJ;AACJ;;AACD,SAAO,IAAP;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACO,SAAS0iE,eAAT,CAAyB5pH,MAAzB,EAAiC2pH,SAAjC,EAA4CziE,SAA5C,EAAuDmiE,cAAvD,EAAuEC,gBAAvE,EAAyF;AAC5F,MAAID,cAAc,KAAK,KAAK,CAA5B,EAA+B;AAAEA,IAAAA,cAAc,GAAG,IAAjB;AAAwB;;AACzD,MAAIta,KAAK,GAAG,IAAZ;;AACAqZ,EAAAA,QAAQ,CAACuB,SAAD,EAAY,UAAUrD,QAAV,EAAoB;AACpC,QAAIkC,IAAI,GAAGiB,cAAc,CAACzpH,MAAD,EAASsmH,QAAT,EAAmBp/D,SAAnB,EAA8BmiE,cAA9B,EAA8CC,gBAA9C,CAAzB;;AACA,QAAId,IAAJ,EAAU;AACN,UAAI,CAACzZ,KAAL,EAAY;AACRA,QAAAA,KAAK,GAAG,EAAR;AACH;;AACDA,MAAAA,KAAK,CAAC/1B,wDAASA;AAAC;AAAX,OAAL,CAAoCwvC,IAApC;AACH;AACJ,GARO,CAAR;;AASA,SAAOzZ,KAAP;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACO,SAASpwC,eAAT,CAAyB3+D,MAAzB,EAAiCo9G,OAAjC,EAA0Cl2D,SAA1C,EAAqDmiE,cAArD,EAAqEC,gBAArE,EAAuF;AAC1F,MAAItpH,MAAM,IAAIo9G,OAAV,IAAqBl2D,SAAzB,EAAoC;AAChC,QAAIqiE,KAAK,GAAGH,SAAS,CAACppH,MAAD,EAASo9G,OAAT,EAAkBiM,cAAlB,EAAkCC,gBAAlC,CAAT,IAAgEtpH,MAA5E;;AACA,QAAIupH,KAAJ,EAAW;AACP,aAAOM,qBAAqB,CAACN,KAAD,EAAQnM,OAAR,EAAiBmM,KAAK,CAACnM,OAAD,CAAtB,EAAiCl2D,SAAjC,CAA5B;AACH;AACJ;;AACD,SAAO,IAAP;AACH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACpPD;AACA;AACA;AACA;AAGA;AACA;AACA;AACO,IAAI2pD,SAAS,GAAG,EAAhB;AACA,IAAItL,YAAY,GAAG,UAAnB;AACA,IAAIC,QAAQ,GAAG,MAAf;AACA,IAAIC,mBAAmB,GAAG,eAA1B;AACA,IAAIC,YAAY,GAAG,UAAnB;AACA,IAAII,oBAAoB,GAAG,iBAA3B;AACA,IAAID,cAAc,GAAG,YAArB;AACA,IAAI8H,qBAAqB,GAAG,kBAA5B;AACA,IAAI5H,YAAY,GAAG,UAAnB;AACA,IAAIH,eAAe,GAAG,YAAtB;AACA,IAAIjD,oBAAoB,GAAG,iBAA3B;AACA,IAAIgD,uBAAuB,GAAG,mBAA9B;AACA,IAAIqkB,cAAc,GAAG,WAArB;AACA,IAAIvS,oBAAoB,GAAG,gBAA3B;AACA,IAAIC,mBAAmB,GAAG,eAA1B;AACA,IAAI9U,gBAAgB,GAAG,YAAvB;;;;;;;;;;;;;;;;;;;ACxBP;AACA;AACA;AACA;AAGA;AACA;AACA;AACA;;AACA,SAASunB,aAAT,CAAuBC,SAAvB,EAAkCxnK,IAAlC,EAAwCoqH,OAAxC,EAAiDhjF,QAAjD,EAA2D;AACvD40E,EAAAA,wDAAU,CAACwrD,SAAD,EAAY,UAAUviB,QAAV,EAAoB;AACtC,QAAIA,QAAQ,IAAIA,QAAQ,CAACjlJ,IAAD,CAAxB,EAAgC;AAC5B,UAAIoqH,OAAJ,EAAa;AACT17G,QAAAA,UAAU,CAAC,YAAY;AAAE,iBAAO04B,QAAQ,CAAC69G,QAAD,CAAf;AAA4B,SAA3C,EAA6C,CAA7C,CAAV;AACH,OAFD,MAGK;AACD,YAAI;AACA79G,UAAAA,QAAQ,CAAC69G,QAAD,CAAR;AACH,SAFD,CAGA,OAAO9qH,CAAP,EAAU,CACN;AACH;AACJ;AACJ;AACJ,GAdS,CAAV;AAeH;AACD;AACA;AACA;;;AACA,IAAI8lH,mBAAmB;AAAG;AAAe,YAAY;AACjD,WAASA,mBAAT,CAA6B/wJ,MAA7B,EAAqC;AACjC,SAAKs4K,SAAL,GAAiB,EAAjB;AACA,QAAIC,eAAe,GAAG,CAAC,CAAC,CAACv4K,MAAM,IAAI,EAAX,EAAeu4K,eAAvC;AACA9sD,IAAAA,sEAAY,CAACslC,mBAAD,EAAsB,IAAtB,EAA4B,UAAU/9B,KAAV,EAAiB;AACrDA,MAAAA,KAAK,CAAC0+B,yEAA0BA;AAAC;AAA5B,OAAL,GAA0E,UAAUqE,QAAV,EAAoB;AAC1F/iC,QAAAA,KAAK,CAACslD,SAAN,CAAgBpxC,wDAASA;AAAC;AAA1B,UAA8C6uB,QAA9C;AACH,OAFD;AAGA;AACZ;AACA;AACA;;;AACY/iC,MAAAA,KAAK,CAACs/B,yEAA0BA;AAAC;AAA5B,OAAL,GAA6E,UAAUyD,QAAV,EAAoB;AAC7F,YAAIj0G,KAAK,GAAG2kF,wDAAU,CAACzT,KAAK,CAAColD,6DAAcA;AAAC;AAAhB,SAAN,EAAgDriB,QAAhD,CAAtB;;AACA,eAAOj0G,KAAK,GAAG,CAAC,CAAhB,EAAmB;AACfkxE,UAAAA,KAAK,CAACslD,SAAN,CAAgB9lB,0DAAWA;AAAC;AAA5B,YAAkD1wG,KAAlD,EAAyD,CAAzD;;AACAA,UAAAA,KAAK,GAAG2kF,wDAAU,CAACzT,KAAK,CAAColD,6DAAcA;AAAC;AAAhB,WAAN,EAAgDriB,QAAhD,CAAlB;AACH;AACJ,OAND;AAOA;AACZ;AACA;AACA;;;AACY/iC,MAAAA,KAAK,CAAC8gC,+DAAeA;AAAC;AAAjB,OAAL,GAAkD,UAAU/7C,MAAV,EAAkB;AAChEsgE,QAAAA,aAAa,CAACrlD,KAAK,CAAColD,6DAAcA;AAAC;AAAhB,SAAN,EAAgDtkB,+DAAhD,EAAiE,IAAjE,EAAuE,UAAUiC,QAAV,EAAoB;AACpGA,UAAAA,QAAQ,CAACjC,+DAAeA;AAAC;AAAjB,WAAR,CAAmD/7C,MAAnD;AACH,SAFY,CAAb;AAGH,OAJD;AAKA;AACZ;AACA;AACA;AACA;AACA;;;AACYib,MAAAA,KAAK,CAAC69B,oEAAoBA;AAAC;AAAtB,OAAL,GAA4D,UAAU94C,MAAV,EAAkBuS,MAAlB,EAA0B;AAClF+tD,QAAAA,aAAa,CAACrlD,KAAK,CAAColD,6DAAcA;AAAC;AAAhB,SAAN,EAAgDvnB,oEAAhD,EAAsE,IAAtE,EAA4E,UAAUkF,QAAV,EAAoB;AACzGA,UAAAA,QAAQ,CAAClF,oEAAoBA;AAAC;AAAtB,WAAR,CAA6D94C,MAA7D,EAAqEuS,MAArE;AACH,SAFY,CAAb;AAGH,OAJD;AAKA;AACZ;AACA;AACA;AACA;;;AACY0I,MAAAA,KAAK,CAAC6gC,uEAAuBA;AAAC;AAAzB,OAAL,GAAiE,UAAUzmB,UAAV,EAAsBlS,OAAtB,EAA+B;AAC5Fm9C,QAAAA,aAAa,CAACrlD,KAAK,CAAColD,6DAAcA;AAAC;AAAhB,SAAN,EAAgDvkB,uEAAhD,EAAyE34B,OAAzE,EAAkF,UAAU66B,QAAV,EAAoB;AAC/GA,UAAAA,QAAQ,CAAClC,uEAAuBA;AAAC;AAAzB,WAAR,CAAkEzmB,UAAlE,EAA8ElS,OAA9E;AACH,SAFY,CAAb;AAGH,OAJD;;AAKAlI,MAAAA,KAAK,CAACklD,8DAAcA;AAAC;AAAhB,OAAL,GAAgD,UAAUM,SAAV,EAAqB;AACjE,YAAIA,SAAJ,EAAe;AACX;AACA,cAAID,eAAe,IAAI,CAACC,SAAS,CAACL,gEAAiBA;AAAC;AAAnB,WAAT,EAAxB,EAAiF;AAC7EE,YAAAA,aAAa,CAACrlD,KAAK,CAAColD,6DAAcA;AAAC;AAAhB,aAAN,EAAgDF,8DAAhD,EAAgE,KAAhE,EAAuE,UAAUniB,QAAV,EAAoB;AACpG,kBAAIyiB,SAAS,CAACxmB,4DAAaA;AAAC;AAAf,eAAb,EAAoD;AAChDxyI,gBAAAA,UAAU,CAAC,YAAY;AAAE,yBAAOu2I,QAAQ,CAACmiB,8DAAcA;AAAC;AAAhB,mBAAR,CAAiDM,SAAjD,CAAP;AAAqE,iBAApF,EAAsF,CAAtF,CAAV;AACH,eAFD,MAGK;AACDziB,gBAAAA,QAAQ,CAACmiB,8DAAcA;AAAC;AAAhB,iBAAR,CAAiDM,SAAjD;AACH;AACJ,aAPY,CAAb;AAQH;AACJ;AACJ,OAdD;AAeH,KA5DW,CAAZ;AA6DH,GAjEgD,CAkErD;AACA;AACA;AACA;AACA;AACI;AACA;AACA;;;AACAznB,EAAAA,mBAAmB,CAACh1B,OAApB,GAA4B,CAA5B;AAEA,SAAOg1B,mBAAP;AACH,CA7EwC,EAAzC;;;;;;;;;;;;;;;;;;;;;;;;;AC9BA;AACA;AACA;AACA;AAGA;AACA;AACA;AACA;AACA,IAAI6nB,sBAAsB,GAAG,KAA7B;AACA,IAAIC,mBAAmB,GAAG,kBAA1B;AACA,IAAIC,qBAAqB,GAAG,oBAA5B;AACA,IAAIC,mBAAmB,GAAG,IAA1B;;AACA,IAAIC,SAAS;AAAG;AAAe,YAAY;AACvC,WAASA,SAAT,CAAmBloK,IAAnB,EAAyBmoK,cAAzB,EAAyC/9C,OAAzC,EAAkD;AAC9C,QAAIlI,KAAK,GAAG,IAAZ;;AACA,QAAIkmD,eAAe,GAAG,KAAtB;AACAlmD,IAAAA,KAAK,CAACjM,KAAN,GAAc2X,qDAAO,EAArB;AACA1L,IAAAA,KAAK,CAACyN,wDAASA;AAAC;AAAX,KAAL,GAAsC3vH,IAAtC;AACAkiH,IAAAA,KAAK,CAACg/B,4DAAaA;AAAC;AAAf,KAAL,GAA6C92B,OAA7C;;AACAlI,IAAAA,KAAK,CAACmlD,gEAAiBA;AAAC;AAAnB,KAAL,GAAoD,YAAY;AAAE,aAAO,KAAP;AAAe,KAAjF;;AACA,QAAItqD,wDAAU,CAACorD,cAAD,CAAd,EAAgC;AAC5B;AACA,UAAIE,YAAJ;AACAD,MAAAA,eAAe,GAAGhrD,gEAAkB,CAAC8E,KAAD,EAAQ,SAAR,EAAmB,YAAY;AAC/D;AACA,YAAI,CAACmmD,YAAD,IAAiBtrD,wDAAU,CAACorD,cAAD,CAA/B,EAAiD;AAC7CE,UAAAA,YAAY,GAAGF,cAAc,EAA7B,CAD6C,CAE7C;;AACAA,UAAAA,cAAc,GAAG,IAAjB;AACH;;AACD,eAAOE,YAAP;AACH,OARmC,CAApC;AASH;;AACDnmD,IAAAA,KAAK,CAAC0lD,2DAAYA;AAAC;AAAd,KAAL,GAA2C,UAAUtyI,GAAV,EAAe;AACtD,UAAIA,GAAJ,EAAS;AACL;AACA,YAAIA,GAAG,KAAK4yI,SAAS,CAACH,mBAAD,CAAjB,IAA0CzyI,GAAG,KAAK4yI,SAAS,CAACF,qBAAD,CAA/D,EAAwF;AACpF,iBAAO9lD,KAAK,CAAC5sF,GAAD,CAAZ;AACH;;AACD,eAAO,CAAC4sF,KAAK,CAAC4lD,sBAAD,CAAL,IAAiC,EAAlC,EAAsCxyI,GAAtC,CAAP;AACH;;AACD,aAAO,IAAP;AACH,KATD;;AAUA4sF,IAAAA,KAAK,CAAC2lD,2DAAYA;AAAC;AAAd,KAAL,GAA2C,UAAUvyI,GAAV,EAAe50B,KAAf,EAAsB;AAC7D,UAAI40B,GAAJ,EAAS;AACL;AACA,YAAIA,GAAG,KAAK4yI,SAAS,CAACH,mBAAD,CAArB,EAA4C;AACxC;AACA,cAAI,CAAC7lD,KAAK,CAAC5sF,GAAD,CAAV,EAAiB;AACb4sF,YAAAA,KAAK,CAACmlD,gEAAiBA;AAAC;AAAnB,aAAL,GAAoD,YAAY;AAAE,qBAAO,IAAP;AAAc,aAAhF;AACH;;AACDnlD,UAAAA,KAAK,CAAC5sF,GAAD,CAAL,GAAa50B,KAAb;AACH,SAND,MAOK,IAAI40B,GAAG,KAAK4yI,SAAS,CAACF,qBAAD,CAArB,EAA8C;AAC/C9lD,UAAAA,KAAK,CAAC5sF,GAAD,CAAL,GAAa50B,KAAb;AACH,SAFI,MAGA;AACD,cAAIzD,GAAG,GAAGilH,KAAK,CAAC4lD,sBAAD,CAAL,GAAgC5lD,KAAK,CAAC4lD,sBAAD,CAAL,IAAiC,EAA3E;AACA7qK,UAAAA,GAAG,CAACq4B,GAAD,CAAH,GAAW50B,KAAX;AACH;AACJ;AACJ,KAlBD;;AAmBAwhH,IAAAA,KAAK,CAACylD,4DAAaA;AAAC;AAAf,KAAL,GAA8C,YAAY;AACtD,UAAIW,SAAS,GAAG,CAAhB;;AACA,UAAIC,SAAS,GAAGrmD,KAAK,CAAC0lD,2DAAYA;AAAC;AAAd,OAAL,CAAyCM,SAAS,CAACF,qBAAD,CAAlD,CAAhB;;AACA,UAAIp3D,qDAAO,CAAC23D,SAAD,CAAX,EAAwB;AACpB,aAAK,IAAIzxC,EAAE,GAAG,CAAd,EAAiBA,EAAE,GAAGyxC,SAAS,CAAC7pD,0DAAWA;AAAC;AAAb,SAA/B,EAAmEoY,EAAE,EAArE,EAAyE;AACrE,cAAI0xC,QAAQ,GAAGD,SAAS,CAACzxC,EAAD,CAAxB;;AACA,cAAI0xC,QAAJ,EAAc;AACVF,YAAAA,SAAS,IAAIE,QAAQ,CAAC3mB,wDAASA;AAAC;AAAX,aAArB;AACH;AACJ;AACJ;;AACD3/B,MAAAA,KAAK,CAAC2/B,wDAASA;AAAC;AAAX,OAAL,GAAsCj0B,qDAAO,KAAK1L,KAAK,CAACjM,KAAxD;AACAiM,MAAAA,KAAK,CAACumD,MAAN,GAAevmD,KAAK,CAAC2/B,wDAASA;AAAC;AAAX,OAAL,GAAsCymB,SAArD;;AACApmD,MAAAA,KAAK,CAACylD,4DAAaA;AAAC;AAAf,OAAL,GAA8C,YAAY,CAAG,CAA7D;;AACA,UAAI,CAACS,eAAD,IAAoBrrD,wDAAU,CAACorD,cAAD,CAAlC,EAAoD;AAChD;AACAjmD,QAAAA,KAAK,CAACpkE,OAAN,GAAgBqqH,cAAc,EAA9B;AACH;AACJ,KAlBD;AAmBH;;AACDD,EAAAA,SAAS,CAACQ,gBAAV,GAA6B,QAA7B;AACAR,EAAAA,SAAS,CAACS,kBAAV,GAA+B,WAA/B;AACA,SAAOT,SAAP;AACH,CAzE8B,EAA/B;;AA0EA;;AACA,IAAI9kB,WAAW;AAAG;AAAe,YAAY;AACzC,WAASA,WAAT,CAAqB1gB,OAArB,EAA8B;AAC1B;AACR;AACA;AACA;AACQ,SAAKzlI,GAAL,GAAW,EAAX;AACA09G,IAAAA,sEAAY,CAACyoC,WAAD,EAAc,IAAd,EAAoB,UAAUlhC,KAAV,EAAiB;AAC7CA,MAAAA,KAAK,CAAC3pF,MAAN,GAAe,UAAU1c,GAAV,EAAessJ,cAAf,EAA+B/9C,OAA/B,EAAwC;AACnD;AACA;AACA,eAAO,IAAI89C,SAAJ,CAAcrsJ,GAAd,EAAmBssJ,cAAnB,EAAmC/9C,OAAnC,CAAP;AACH,OAJD;;AAKAlI,MAAAA,KAAK,CAAChN,IAAN,GAAa,UAAUwyD,SAAV,EAAqB;AAC9B,YAAIA,SAAJ,EAAe;AACXA,UAAAA,SAAS,CAACC,4DAAaA;AAAC;AAAf,WAAT;;AACA,cAAIjlC,OAAO,IAAI3lB,wDAAU,CAAC2lB,OAAO,CAAC0kC,8DAAcA;AAAC;AAAhB,WAAR,CAAzB,EAA4E;AACxE1kC,YAAAA,OAAO,CAAC0kC,8DAAcA;AAAC;AAAhB,aAAP,CAAgDM,SAAhD;AACH;AACJ;AACJ,OAPD;;AAQAxlD,MAAAA,KAAK,CAAC2lD,2DAAYA;AAAC;AAAd,OAAL,GAA2C,UAAUvyI,GAAV,EAAe50B,KAAf,EAAsB;AAC7D,YAAI40B,GAAJ,EAAS;AACL,cAAIr4B,GAAG,GAAGilH,KAAK,CAAC4lD,sBAAD,CAAL,GAAgC5lD,KAAK,CAAC4lD,sBAAD,CAAL,IAAiC,EAA3E;AACA7qK,UAAAA,GAAG,CAACq4B,GAAD,CAAH,GAAW50B,KAAX;AACH;AACJ,OALD;;AAMAwhH,MAAAA,KAAK,CAAC0lD,2DAAYA;AAAC;AAAd,OAAL,GAA2C,UAAUtyI,GAAV,EAAe;AACtD,eAAO,CAAC4sF,KAAK,CAAC4lD,sBAAD,CAAL,IAAiC,EAAlC,EAAsCxyI,GAAtC,CAAP;AACH,OAFD;AAGH,KAvBW,CAAZ;AAwBH,GA/BwC,CAgC7C;AACA;AACA;AACA;AACI;AACA;AACA;;;AACA8tH,EAAAA,WAAW,CAACn4B,OAAZ,GAAoB,CAApB;AAEA,SAAOm4B,WAAP;AACH,CA1CgC,EAAjC;;AA2CA;AACA,IAAIwlB,eAAe,GAAG,kBAAtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACO,SAAS1oB,MAAT,CAAgB2oB,SAAhB,EAA2BC,SAA3B,EAAsCtmC,IAAtC,EAA4CppC,OAA5C,EAAqDgxB,OAArD,EAA8D;AACjE,MAAIy+C,SAAJ,EAAe;AACX,QAAIxhB,OAAO,GAAGwhB,SAAd;;AACA,QAAIxhB,OAAO,CAACrH,gEAAD,CAAX,EAA+B;AAC3B;AACAqH,MAAAA,OAAO,GAAGA,OAAO,CAACrH,gEAAD,CAAP,EAAV;AACH;;AACD,QAAIqH,OAAJ,EAAa;AACT,UAAI0hB,OAAO,GAAG,KAAK,CAAnB;;AACA,UAAIC,aAAa,GAAG3hB,OAAO,CAACugB,2DAAYA;AAAC;AAAd,OAAP,CAA2CgB,eAA3C,CAApB;;AACA,UAAI;AACAG,QAAAA,OAAO,GAAG1hB,OAAO,CAAC9uH,MAAR,CAAeuwI,SAAS,EAAxB,EAA4B1vE,OAA5B,EAAqCgxB,OAArC,CAAV;;AACA,YAAI2+C,OAAJ,EAAa;AACT,cAAIC,aAAa,IAAID,OAAO,CAAClB,2DAAYA;AAAC;AAAd,WAA5B,EAAiE;AAC7DkB,YAAAA,OAAO,CAAClB,2DAAYA;AAAC;AAAd,aAAP,CAA2CK,SAAS,CAACH,mBAAD,CAApD,EAA2EiB,aAA3E;;AACA,gBAAIA,aAAa,CAACpB,2DAAYA;AAAC;AAAd,aAAb,IAAoDoB,aAAa,CAACnB,2DAAYA;AAAC;AAAd,aAArE,EAA0G;AACtG,kBAAI/wK,QAAQ,GAAGkyK,aAAa,CAACpB,2DAAYA;AAAC;AAAd,eAAb,CAAiDM,SAAS,CAACF,qBAAD,CAA1D,CAAf;;AACA,kBAAI,CAAClxK,QAAL,EAAe;AACXA,gBAAAA,QAAQ,GAAG,EAAX;;AACAkyK,gBAAAA,aAAa,CAACnB,2DAAYA;AAAC;AAAd,iBAAb,CAAiDK,SAAS,CAACF,qBAAD,CAA1D,EAAmFlxK,QAAnF;AACH;;AACDA,cAAAA,QAAQ,CAACs/H,wDAASA;AAAC;AAAX,eAAR,CAAuC2yC,OAAvC;AACH;AACJ,WAXQ,CAYT;;;AACA1hB,UAAAA,OAAO,CAACwgB,2DAAYA;AAAC;AAAd,WAAP,CAA2Ce,eAA3C,EAA4DG,OAA5D;;AACA,iBAAOvmC,IAAI,CAACumC,OAAD,CAAX;AACH;AACJ,OAlBD,CAmBA,OAAOr1B,EAAP,EAAW;AACP,YAAIq1B,OAAO,IAAIA,OAAO,CAAClB,2DAAYA;AAAC;AAAd,SAAtB,EAA2D;AACvDkB,UAAAA,OAAO,CAAClB,2DAAYA;AAAC;AAAd,WAAP,CAA2C,WAA3C,EAAwDn0B,EAAxD;AACH;AACJ,OAvBD,SAwBQ;AACJ;AACA,YAAIq1B,OAAJ,EAAa;AACT1hB,UAAAA,OAAO,CAACnyC,IAAR,CAAa6zD,OAAb;AACH,SAJG,CAKJ;;;AACA1hB,QAAAA,OAAO,CAACwgB,2DAAYA;AAAC;AAAd,SAAP,CAA2Ce,eAA3C,EAA4DI,aAA5D;AACH;AACJ;AACJ;;AACD,SAAOxmC,IAAI,EAAX;AACH;AACD;AACA;AACA;AACA;;AACO,SAASymC,aAAT,CAAuBC,WAAvB,EAAoC;AACvCjB,EAAAA,mBAAmB,GAAGiB,WAAtB;AACH;AACD;AACA;AACA;AACA;;AACO,SAAS7lB,aAAT,GAAyB;AAC5B,SAAO4kB,mBAAP;AACH;;;;;;;;;;;;;;;;;;;;;;;;;;;ACzMD;AACA;AACA;AACA;AAGa;;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAIkB,uBAAuB,GAAG,sBAA9B;AACA,IAAIC,cAAc,GAAG,SAArB;AACA,IAAIC,YAAY,GAAG,YAAnB;AACA,IAAIC,QAAQ,GAAG,CAAf;;AACA,SAASC,kBAAT,CAA4BC,KAA5B,EAAmC1kD,IAAnC,EAAyC2kD,OAAzC,EAAkD;AAC9C,SAAOD,KAAP,EAAc;AACV,QAAIA,KAAK,CAACzoB,8DAAeA;AAAC;AAAjB,KAAL,OAAqD0oB,OAAzD,EAAkE;AAC9D,aAAOD,KAAP;AACH;;AACDA,IAAAA,KAAK,GAAGA,KAAK,CAAC7e,4DAAaA;AAAC;AAAf,KAAL,EAAR;AACH,GAN6C,CAO9C;;;AACA,SAAOnH,yBAAyB,CAAC,CAACimB,OAAD,CAAD,EAAY3kD,IAAI,CAAC+7B,0DAAWA;AAAC;AAAb,GAAJ,IAA0C,EAAtD,EAA0D/7B,IAA1D,CAAhC;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAAS4kD,sBAAT,CAAgCC,cAAhC,EAAgDz6K,MAAhD,EAAwD41H,IAAxD,EAA8D2kD,OAA9D,EAAuE;AACnE;AACA;AACA,MAAIG,UAAU,GAAG,IAAjB,CAHmE,CAG5C;;AACvB,MAAIC,WAAW,GAAG,EAAlB;;AACA,MAAIJ,OAAO,KAAK,IAAhB,EAAsB;AAClB;AACAG,IAAAA,UAAU,GAAGH,OAAO,GAAGF,kBAAkB,CAACI,cAAD,EAAiB7kD,IAAjB,EAAuB2kD,OAAvB,CAArB,GAAuDE,cAA3E;AACH;;AACD,MAAI7pK,OAAO,GAAG;AACVgqK,IAAAA,KAAK,EAAEC,SADG;AAEV9sK,IAAAA,GAAG,EAAE;AACD6nH,MAAAA,IAAI,EAAE,YAAY;AACd,eAAOA,IAAP;AACH,OAHA;AAID6X,MAAAA,OAAO,EAAE,YAAY;AACjB,eAAOtR,gEAAa,CAACvG,IAAD,EAAO51H,MAAP,CAApB;AACH,OANA;AAODg9J,MAAAA,MAAM,EAAE,YAAY;AAChB,eAAOh9J,MAAP;AACH,OATA;AAUDi3H,MAAAA,SAAS,EAAE6jD,UAVV;AAWD3jD,MAAAA,SAAS,EAAE4jD,UAXV;AAYDC,MAAAA,OAAO,EAAE,YAAY;AACjB,eAAO,CAAC,CAACN,UAAT;AACH,OAdA;AAeDO,MAAAA,OAAO,EAAE,YAAY;AACjB,eAAOP,UAAP;AACH,OAjBA;AAkBDQ,MAAAA,OAAO,EAAE,UAAU9d,UAAV,EAAsB;AAC3Bsd,QAAAA,UAAU,GAAGtd,UAAb;AACH,OApBA;AAqBDiB,MAAAA,OAAO,EAAE8c,aArBR;AAsBDtd,MAAAA,UAAU,EAAEud;AAtBX;AAFK,GAAd;;AA2BA,WAASA,cAAT,CAAwBvd,UAAxB,EAAoCwd,IAApC,EAA0C;AACtC,QAAI3wD,IAAI,GAAG,EAAX;;AACA,SAAK,IAAIzzB,EAAE,GAAG,CAAd,EAAiBA,EAAE,GAAGnsD,SAAS,CAAC79B,MAAhC,EAAwCgqF,EAAE,EAA1C,EAA8C;AAC1CyzB,MAAAA,IAAI,CAACzzB,EAAE,GAAG,CAAN,CAAJ,GAAensD,SAAS,CAACmsD,EAAD,CAAxB;AACH;;AACD,QAAI4mE,UAAJ,EAAgB;AACZ8c,MAAAA,WAAW,CAACzzC,wDAASA;AAAC;AAAX,OAAX,CAA0C;AACtCoM,QAAAA,IAAI,EAAEuqB,UADgC;AAEtCrjC,QAAAA,IAAI,EAAE,CAACxM,yDAAW,CAACqtD,IAAD,CAAZ,GAAqBA,IAArB,GAA4BzqK,OAAO,CAAC7C,GAFJ;AAGtC28G,QAAAA,IAAI,EAAEA;AAHgC,OAA1C;AAKH;AACJ;;AACD,WAASmwD,SAAT,GAAqB;AACjB,QAAIS,SAAS,GAAGZ,UAAhB,CADiB,CAEjB;;AACAA,IAAAA,UAAU,GAAGY,SAAS,GAAGA,SAAS,CAAC7f,4DAAaA;AAAC;AAAf,KAAT,EAAH,GAAsD,IAA5E;;AACA,QAAI,CAAC6f,SAAL,EAAgB;AACZ,UAAIzd,UAAU,GAAG8c,WAAjB;;AACA,UAAI9c,UAAU,IAAIA,UAAU,CAACruC,0DAAWA;AAAC;AAAb,OAAV,GAA+C,CAAjE,EAAoE;AAChE1C,QAAAA,wDAAU,CAAC+wC,UAAD,EAAa,UAAU0d,eAAV,EAA2B;AAC9C,cAAI;AACAA,YAAAA,eAAe,CAACjoC,IAAhB,CAAqBs0B,wDAASA;AAAC;AAA/B,cAAmD2T,eAAe,CAAC/gD,IAAnE,EAAyE+gD,eAAe,CAAC7wD,IAAzF;AACH,WAFD,CAGA,OAAOz/E,CAAP,EAAU;AACN0oF,YAAAA,iEAAc,CAACiC,IAAI,CAACs8B,0DAAWA;AAAC;AAAb,aAAL,EAAyC;AAAE;AAA3C,cAA2E;AAAG;AAA9E,cAAyH,8CAA8CjlC,kDAAO,CAAChiF,CAAD,CAA9K,CAAd;AACH;AACJ,SAPS,CAAV;AAQA0vI,QAAAA,WAAW,GAAG,EAAd;AACH;AACJ;;AACD,WAAOW,SAAP;AACH;;AACD,WAASR,UAAT,CAAoBlpD,UAApB,EAAgCia,YAAhC,EAA8C2vC,YAA9C,EAA4D;AACxD,QAAI3vC,YAAY,KAAK,KAAK,CAA1B,EAA6B;AAAEA,MAAAA,YAAY,GAAG,EAAf;AAAoB;;AACnD,QAAI2vC,YAAY,KAAK,KAAK,CAA1B,EAA6B;AAAEA,MAAAA,YAAY,GAAG;AAAE;AAAjB;AAAiD;;AAChF,QAAIC,SAAJ;;AACA,QAAIz7K,MAAJ,EAAY;AACR,UAAI0xH,SAAS,GAAG1xH,MAAM,CAACg0J,oEAAoBA;AAAC;AAAtB,OAAtB;;AACA,UAAItiC,SAAS,IAAIE,UAAjB,EAA6B;AACzB6pD,QAAAA,SAAS,GAAG/pD,SAAS,CAACE,UAAD,CAArB;AACH;AACJ;;AACD,QAAI,CAAC6pD,SAAL,EAAgB;AACZ;AACAA,MAAAA,SAAS,GAAG5vC,YAAZ;AACH,KAHD,MAIK,IAAIljB,sDAAQ,CAACkjB,YAAD,CAAZ,EAA4B;AAC7B,UAAI2vC,YAAY,KAAK;AAAE;AAAvB,QAAsD;AAClD;AACA,YAAIE,WAAW,GAAGroB,uDAAS,CAAC,IAAD,EAAOxnB,YAAP,EAAqB4vC,SAArB,CAA3B;;AACA,YAAIz7K,MAAM,IAAIw7K,YAAY,KAAK;AAAE;AAAjC,UAAyF;AACrF;AACA;AACArtD,UAAAA,2DAAa,CAAC0d,YAAD,EAAe,UAAU3U,KAAV,EAAiB;AACzC;AACA,gBAAIpJ,+DAAiB,CAAC4tD,WAAW,CAACxkD,KAAD,CAAZ,CAArB,EAA2C;AACvC,kBAAIykD,QAAQ,GAAG37K,MAAM,CAACk3H,KAAD,CAArB;;AACA,kBAAI,CAACpJ,+DAAiB,CAAC6tD,QAAD,CAAtB,EAAkC;AAC9BD,gBAAAA,WAAW,CAACxkD,KAAD,CAAX,GAAqBykD,QAArB;AACH;AACJ;AACJ,WARY,CAAb;AASH;;AACDF,QAAAA,SAAS,GAAGC,WAAZ;AACH;AACJ;;AACD,WAAOD,SAAP;AACH;;AACD,WAASV,UAAT,CAAoBnpD,UAApB,EAAgCsF,KAAhC,EAAuC2U,YAAvC,EAAqD;AACjD,QAAIA,YAAY,KAAK,KAAK,CAA1B,EAA6B;AAAEA,MAAAA,YAAY,GAAG,KAAf;AAAuB;;AACtD,QAAI8B,QAAJ;;AACA,QAAIjc,SAAS,GAAGopD,UAAU,CAAClpD,UAAD,EAAa,IAAb,CAA1B;;AACA,QAAIF,SAAS,IAAI,CAAC5D,+DAAiB,CAAC4D,SAAS,CAACwF,KAAD,CAAV,CAAnC,EAAuD;AACnDyW,MAAAA,QAAQ,GAAGjc,SAAS,CAACwF,KAAD,CAApB;AACH,KAFD,MAGK,IAAIl3H,MAAM,IAAI,CAAC8tH,+DAAiB,CAAC9tH,MAAM,CAACk3H,KAAD,CAAP,CAAhC,EAAiD;AAClDyW,MAAAA,QAAQ,GAAG3tI,MAAM,CAACk3H,KAAD,CAAjB;AACH;;AACD,WAAO,CAACpJ,+DAAiB,CAAC6f,QAAD,CAAlB,GAA+BA,QAA/B,GAA0C9B,YAAjD;AACH;;AACD,WAASsvC,aAAT,CAAuB35D,EAAvB,EAA2B;AACvB;AACA,QAAI47C,UAAJ;;AACA,WAAO,CAAC,EAAEA,UAAU,GAAGxsJ,OAAO,CAACgqK,KAAR,EAAf,CAAR,EAAyC;AACrC,UAAI9hD,MAAM,GAAGskC,UAAU,CAACvL,8DAAeA;AAAC;AAAjB,OAAV,EAAb;;AACA,UAAI/4B,MAAJ,EAAY;AACR;AACAtX,QAAAA,EAAE,CAACsX,MAAD,CAAF;AACH;AACJ;AACJ;;AACD,SAAOloH,OAAP;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;;;AACO,SAASm8G,6BAAT,CAAuC0tD,cAAvC,EAAuDz6K,MAAvD,EAA+D41H,IAA/D,EAAqE2kD,OAArE,EAA8E;AACjF,MAAIqB,eAAe,GAAGpB,sBAAsB,CAACC,cAAD,EAAiBz6K,MAAjB,EAAyB41H,IAAzB,EAA+B2kD,OAA/B,CAA5C;;AACA,MAAI3pK,OAAO,GAAGgrK,eAAe,CAAC7tK,GAA9B;;AACA,WAAS8tK,YAAT,CAAsB/rJ,GAAtB,EAA2B;AACvB,QAAIstI,UAAU,GAAGwe,eAAe,CAAChB,KAAhB,EAAjB,CADuB,CAEvB;;;AACAxd,IAAAA,UAAU,IAAIA,UAAU,CAACvB,qEAAqBA;AAAC;AAAvB,KAAV,CAAiE/rI,GAAjE,EAAsElf,OAAtE,CAAd;AACA,WAAO,CAACwsJ,UAAR;AACH;;AACD,WAAS0e,UAAT,CAAoB/3D,OAApB,EAA6Bw2D,OAA7B,EAAsC;AAClC,QAAIx2D,OAAO,KAAK,KAAK,CAArB,EAAwB;AAAEA,MAAAA,OAAO,GAAG,IAAV;AAAiB;;AAC3C,QAAIrC,qDAAO,CAACqC,OAAD,CAAX,EAAsB;AAClBA,MAAAA,OAAO,GAAGuwC,yBAAyB,CAACvwC,OAAD,EAAU/jH,MAAV,EAAkB41H,IAAlB,EAAwB2kD,OAAxB,CAAnC;AACH;;AACD,WAAOxtD,6BAA6B,CAAChJ,OAAO,IAAInzG,OAAO,CAAC6qJ,4DAAaA;AAAC;AAAf,KAAP,EAAZ,EAA4Dz7J,MAA5D,EAAoE41H,IAApE,EAA0E2kD,OAA1E,CAApC;AACH;;AACD3pK,EAAAA,OAAO,CAACyhJ,gEAAiBA;AAAC;AAAnB,GAAP,GAAuDwpB,YAAvD;AACAjrK,EAAAA,OAAO,CAAC4qJ,8DAAeA;AAAC;AAAjB,GAAP,GAAmDsgB,UAAnD;AACA,SAAOlrK,OAAP;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;;AACO,SAASwjJ,mCAAT,CAA6CqmB,cAA7C,EAA6D7kD,IAA7D,EAAmE2kD,OAAnE,EAA4E;AAC/E,MAAIv6K,MAAM,GAAG41H,IAAI,CAAC+7B,0DAAWA;AAAC;AAAb,GAAJ,IAA0C,EAAvD;;AACA,MAAIiqB,eAAe,GAAGpB,sBAAsB,CAACC,cAAD,EAAiBz6K,MAAjB,EAAyB41H,IAAzB,EAA+B2kD,OAA/B,CAA5C;;AACA,MAAI3pK,OAAO,GAAGgrK,eAAe,CAAC7tK,GAA9B;;AACA,WAAS8tK,YAAT,CAAsB/kD,WAAtB,EAAmC;AAC/B,QAAIsmC,UAAU,GAAGwe,eAAe,CAAChB,KAAhB,EAAjB;;AACAxd,IAAAA,UAAU,IAAIA,UAAU,CAAC52B,MAAX,CAAkB51H,OAAlB,EAA2BkmH,WAA3B,CAAd;AACA,WAAO,CAACsmC,UAAR;AACH;;AACD,WAAS0e,UAAT,CAAoB/3D,OAApB,EAA6Bw2D,OAA7B,EAAsC;AAClC,QAAIx2D,OAAO,KAAK,KAAK,CAArB,EAAwB;AAAEA,MAAAA,OAAO,GAAG,IAAV;AAAiB;;AAC3C,QAAIrC,qDAAO,CAACqC,OAAD,CAAX,EAAsB;AAClBA,MAAAA,OAAO,GAAGuwC,yBAAyB,CAACvwC,OAAD,EAAU/jH,MAAV,EAAkB41H,IAAlB,EAAwB2kD,OAAxB,CAAnC;AACH;;AACD,WAAOnmB,mCAAmC,CAACrwC,OAAO,IAAInzG,OAAO,CAAC6qJ,4DAAaA;AAAC;AAAf,KAAP,EAAZ,EAA4D7lC,IAA5D,EAAkE2kD,OAAlE,CAA1C;AACH;;AACD3pK,EAAAA,OAAO,CAACyhJ,gEAAiBA;AAAC;AAAnB,GAAP,GAAuDwpB,YAAvD;AACAjrK,EAAAA,OAAO,CAAC4qJ,8DAAeA;AAAC;AAAjB,GAAP,GAAmDsgB,UAAnD;AACA,SAAOlrK,OAAP;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;;AACO,SAASyjJ,mCAAT,CAA6ComB,cAA7C,EAA6D7kD,IAA7D,EAAmE2kD,OAAnE,EAA4E;AAC/E,MAAIv6K,MAAM,GAAG41H,IAAI,CAAC+7B,0DAAWA;AAAC;AAAb,GAAJ,IAA0C,EAAvD;;AACA,MAAIiqB,eAAe,GAAGpB,sBAAsB,CAACC,cAAD,EAAiBz6K,MAAjB,EAAyB41H,IAAzB,EAA+B2kD,OAA/B,CAA5C;;AACA,MAAI3pK,OAAO,GAAGgrK,eAAe,CAAC7tK,GAA9B;;AACA,WAAS8tK,YAAT,CAAsBpiB,WAAtB,EAAmC;AAC/B,WAAO7oJ,OAAO,CAACytJ,OAAR,CAAgB,UAAUvlC,MAAV,EAAkB;AACrC,UAAIjL,wDAAU,CAACiL,MAAM,CAAC6iC,0DAAWA;AAAC;AAAb,OAAP,CAAd,EAA0D;AACtD7iC,QAAAA,MAAM,CAAC6iC,0DAAWA;AAAC;AAAb,SAAN,CAAyC/qJ,OAAzC,EAAkD6oJ,WAAlD;AACH;AACJ,KAJM,CAAP;AAKH;;AACD,WAASqiB,UAAT,CAAoB/3D,OAApB,EAA6Bw2D,OAA7B,EAAsC;AAClC,QAAIx2D,OAAO,KAAK,KAAK,CAArB,EAAwB;AAAEA,MAAAA,OAAO,GAAG,IAAV;AAAiB;;AAC3C,QAAIrC,qDAAO,CAACqC,OAAD,CAAX,EAAsB;AAClBA,MAAAA,OAAO,GAAGuwC,yBAAyB,CAACvwC,OAAD,EAAU/jH,MAAV,EAAkB41H,IAAlB,EAAwB2kD,OAAxB,CAAnC;AACH;;AACD,WAAOlmB,mCAAmC,CAACtwC,OAAO,IAAInzG,OAAO,CAAC6qJ,4DAAaA;AAAC;AAAf,KAAP,EAAZ,EAA4D7lC,IAA5D,EAAkE2kD,OAAlE,CAA1C;AACH;;AACD3pK,EAAAA,OAAO,CAACyhJ,gEAAiBA;AAAC;AAAnB,GAAP,GAAuDwpB,YAAvD;AACAjrK,EAAAA,OAAO,CAAC4qJ,8DAAeA;AAAC;AAAjB,GAAP,GAAmDsgB,UAAnD;AACA,SAAOlrK,OAAP;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;;AACO,SAAS0jJ,yBAAT,CAAmCvwC,OAAnC,EAA4C/jH,MAA5C,EAAoD41H,IAApD,EAA0D2kD,OAA1D,EAAmE;AACtE,MAAIwB,UAAU,GAAG,IAAjB;AACA,MAAI7mJ,GAAG,GAAGqlJ,OAAO,GAAG,KAAH,GAAW,IAA5B;;AACA,MAAI74D,qDAAO,CAACqC,OAAD,CAAP,IAAoBA,OAAO,CAACyL,0DAAWA;AAAC;AAAb,GAAP,GAA4C,CAApE,EAAuE;AACnE;AACA,QAAIwsD,WAAW,GAAG,IAAlB;AACAlvD,IAAAA,wDAAU,CAAC/I,OAAD,EAAU,UAAU6xC,SAAV,EAAqB;AACrC,UAAI,CAAC1gI,GAAD,IAAQqlJ,OAAO,KAAK3kB,SAAxB,EAAmC;AAC/B1gI,QAAAA,GAAG,GAAG,IAAN;AACH;;AACD,UAAIA,GAAG,IAAI0gI,SAAP,IAAoB/nC,wDAAU,CAAC+nC,SAAS,CAACiG,qEAAqBA;AAAC;AAAvB,OAAV,CAAlC,EAAqG;AACjG;AACA,YAAIogB,QAAQ,GAAGC,0BAA0B,CAACtmB,SAAD,EAAY51J,MAAZ,EAAoB41H,IAApB,CAAzC;;AACA,YAAI,CAACmmD,UAAL,EAAiB;AACbA,UAAAA,UAAU,GAAGE,QAAb;AACH;;AACD,YAAID,WAAJ,EAAiB;AACb;AACAA,UAAAA,WAAW,CAACG,QAAZ,CAAqBF,QAArB;AACH;;AACDD,QAAAA,WAAW,GAAGC,QAAd;AACH;AACJ,KAhBS,CAAV;AAiBH;;AACD,MAAI1B,OAAO,IAAI,CAACwB,UAAhB,EAA4B;AACxB;AACA,WAAOznB,yBAAyB,CAAC,CAACimB,OAAD,CAAD,EAAYv6K,MAAZ,EAAoB41H,IAApB,CAAhC;AACH;;AACD,SAAOmmD,UAAP;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACO,SAASG,0BAAT,CAAoCpjD,MAApC,EAA4C94H,MAA5C,EAAoD41H,IAApD,EAA0D;AAC7D,MAAI0lD,SAAS,GAAG,IAAhB;AACA,MAAIc,mBAAmB,GAAGvuD,wDAAU,CAACiL,MAAM,CAAC+iC,qEAAqBA;AAAC;AAAvB,GAAP,CAApC;AACA,MAAIwgB,UAAU,GAAGxuD,wDAAU,CAACiL,MAAM,CAAC4iC,mEAAoBA;AAAC;AAAtB,GAAP,CAA3B;AACA,MAAI4gB,OAAJ;;AACA,MAAIxjD,MAAJ,EAAY;AACRwjD,IAAAA,OAAO,GAAGxjD,MAAM,CAACi5B,8DAAeA;AAAC;AAAjB,KAAN,GAAmD,GAAnD,GAAyDj5B,MAAM,CAACm7B,4DAAYA;AAAC;AAAd,KAA/D,GAAuG,GAAvG,GAA6GmmB,QAAQ,EAA/H;AACH,GAFD,MAGK;AACDkC,IAAAA,OAAO,GAAG,eAAelC,QAAQ,EAAjC;AACH;;AACD,MAAImC,UAAU,GAAG;AACb1jD,IAAAA,SAAS,EAAE,YAAY;AACnB,aAAOC,MAAP;AACH,KAHY;AAIbmiD,IAAAA,OAAO,EAAE,YAAY;AACjB,aAAOK,SAAP;AACH,KANY;AAObjoD,IAAAA,gBAAgB,EAAEmpD,iBAPL;AAQbh2C,IAAAA,MAAM,EAAEi2C,aARK;AASbre,IAAAA,MAAM,EAAEse,aATK;AAUbC,IAAAA,GAAG,EAAEL,OAVQ;AAWbH,IAAAA,QAAQ,EAAE,UAAU/e,UAAV,EAAsB;AAC5Bke,MAAAA,SAAS,GAAGle,UAAZ;AACH;AAbY,GAAjB;;AAeA,WAAS5vB,UAAT,GAAsB;AAClB,QAAIla,OAAJ,CADkB,CAElB;;AACA,QAAIwF,MAAM,IAAIjL,wDAAU,CAACiL,MAAM,CAACqhD,YAAD,CAAP,CAAxB,EAAgD;AAC5C;AACA7mD,MAAAA,OAAO,GAAGwF,MAAM,CAACqhD,YAAD,CAAN,EAAV;AACH;;AACD,QAAI,CAAC7mD,OAAL,EAAc;AACV;AACAA,MAAAA,OAAO,GAAGvG,6BAA6B,CAACwvD,UAAD,EAAav8K,MAAb,EAAqB41H,IAArB,CAAvC;AACH;;AACD,WAAOtC,OAAP;AACH;;AACD,WAASspD,aAAT,CAAuBtpD,OAAvB,EAAgCupD,eAAhC,EAAiD/rK,IAAjD,EAAuDo5F,OAAvD,EAAgEgxB,OAAhE,EAAyE;AACrE,QAAI4hD,MAAM,GAAG,KAAb;AACA,QAAIlrD,UAAU,GAAGkH,MAAM,GAAGA,MAAM,CAACi5B,8DAAeA;AAAC;AAAjB,KAAT,GAAsDkoB,uBAA7E;AACA,QAAI8C,aAAa,GAAGzpD,OAAO,CAAC4mD,cAAD,CAA3B;;AACA,QAAI,CAAC6C,aAAL,EAAoB;AAChB;AACAA,MAAAA,aAAa,GAAGzpD,OAAO,CAAC4mD,cAAD,CAAP,GAA0B,EAA1C;AACH,KAPoE,CAQrE;;;AACA5mD,IAAAA,OAAO,CAAC4nD,OAAR,CAAgBI,SAAhB;;AACA,QAAIxiD,MAAJ,EAAY;AACRk4B,MAAAA,oDAAM,CAAC19B,OAAO,CAACogC,wDAAQA;AAAC;AAAV,OAAP,EAAD,EAAyC,YAAY;AAAE,eAAO9hC,UAAU,GAAG,GAAb,GAAmB9gH,IAA1B;AAAiC,OAAxF,EAA0F,YAAY;AACxG;AACAisK,QAAAA,aAAa,CAACT,OAAD,CAAb,GAAyB,IAAzB;;AACA,YAAI;AACA;AACA,cAAIU,MAAM,GAAG1B,SAAS,GAAGA,SAAS,CAACqB,GAAb,GAAmB5d,yDAAzC;;AACA,cAAIie,MAAJ,EAAY;AACRD,YAAAA,aAAa,CAACC,MAAD,CAAb,GAAwB,KAAxB;AACH;;AACDF,UAAAA,MAAM,GAAGD,eAAe,CAACvpD,OAAD,CAAxB;AACH,SAPD,CAQA,OAAO38G,KAAP,EAAc;AACV,cAAIsmK,UAAU,GAAG3B,SAAS,GAAGyB,aAAa,CAACzB,SAAS,CAACqB,GAAX,CAAhB,GAAkC,IAA5D;;AACA,cAAIM,UAAJ,EAAgB;AACZ;AACAH,YAAAA,MAAM,GAAG,IAAT;AACH;;AACD,cAAI,CAACxB,SAAD,IAAc,CAAC2B,UAAnB,EAA+B;AAC3B;AACA;AACAtpD,YAAAA,iEAAc,CAACL,OAAO,CAAC1E,4DAAaA;AAAC;AAAf,aAAP,EAAD,EAAiD;AAAE;AAAnD,cAAoF;AAAG;AAAvF,cAAkI,aAAagD,UAAb,GAA0B,kBAA1B,GAA+C9gH,IAA/C,GAAsD,KAAtD,GAA8Dm8G,kDAAO,CAACt2G,KAAD,CAArE,GAA+E,eAA/E,GAAiGs2G,kDAAO,CAAC8vD,aAAD,CAA1O,CAAd;AACH;AACJ;AACJ,OAvBK,EAuBH7yE,OAvBG,EAuBMgxB,OAvBN,CAAN;AAwBH;;AACD,WAAO4hD,MAAP;AACH;;AACD,WAASN,iBAAT,CAA2B1sJ,GAA3B,EAAgCwjG,OAAhC,EAAyC;AACrCA,IAAAA,OAAO,GAAGA,OAAO,IAAIka,UAAU,EAA/B;;AACA,aAAS0vC,qBAAT,CAA+B5pD,OAA/B,EAAwC;AACpC,UAAI,CAACwF,MAAD,IAAW,CAACsjD,mBAAhB,EAAqC;AACjC,eAAO,KAAP;AACH;;AACD,UAAIxhB,WAAW,GAAGrG,kEAAe,CAACz7B,MAAD,CAAjC;;AACA,UAAI8hC,WAAW,CAAClI,4DAAaA;AAAC;AAAf,OAAX,IAAqDkI,WAAW,CAAChH,4DAAD,CAApE,EAAoF;AAChF,eAAO,KAAP;AACH,OAPmC,CAQpC;AACA;AACA;;;AACA,UAAIyoB,UAAJ,EAAgB;AACZ;AACAvjD,QAAAA,MAAM,CAAC4iC,mEAAoBA;AAAC;AAAtB,SAAN,CAAyD4f,SAAzD;AACH;;AACDxiD,MAAAA,MAAM,CAAC+iC,qEAAqBA;AAAC;AAAvB,OAAN,CAA6D/rI,GAA7D,EAAkEwjG,OAAlE,EAfoC,CAgBpC;;AACA,aAAO,IAAP;AACH;;AACD,QAAI,CAACspD,aAAa,CAACtpD,OAAD,EAAU4pD,qBAAV,EAAiC,kBAAjC,EAAqD,YAAY;AAAE,aAAQ;AAAEpiK,QAAAA,IAAI,EAAEgV;AAAR,OAAR;AAAyB,KAA5F,EAA8F,CAAEA,GAAG,CAACwhI,IAApG,CAAlB,EAA8H;AAC1H;AACA;AACAh+B,MAAAA,OAAO,CAAC++B,gEAAiBA;AAAC;AAAnB,OAAP,CAAqDviI,GAArD;AACH;AACJ;;AACD,WAAS2sJ,aAAT,CAAuB5lD,SAAvB,EAAkCC,WAAlC,EAA+C;AAC3C,aAASqmD,aAAT,GAAyB;AACrB;AACA,UAAIL,MAAM,GAAG,KAAb;;AACA,UAAIhkD,MAAJ,EAAY;AACR,YAAI8hC,WAAW,GAAGrG,kEAAe,CAACz7B,MAAD,CAAjC;;AACA,YAAIskD,UAAU,GAAGtkD,MAAM,CAAC46B,wDAAD,CAAN,IAAoBkH,WAAW,CAAClH,wDAAQA;AAAC;AAAV,SAAhD,CAFQ,CAGR;;AACA,YAAI56B,MAAM,KAAK,CAACskD,UAAD,IAAeA,UAAU,KAAKvmD,SAAS,CAACjB,IAAV,EAAnC,CAAN,IAA8D,CAACglC,WAAW,CAAClI,4DAAaA;AAAC;AAAf,SAA9E,EAAsH;AAClH;AACAkI,UAAAA,WAAW,CAAClH,wDAAQA;AAAC;AAAV,WAAX,GAA2C,IAA3C;AACAkH,UAAAA,WAAW,CAAClI,4DAAaA;AAAC;AAAf,WAAX,GAAoD,IAApD;AACAkI,UAAAA,WAAW,CAAC3I,kEAAmBA;AAAC;AAArB,WAAX,GAA+D,KAA/D;;AACA,cAAIn5B,MAAM,CAAC45B,4DAAaA;AAAC;AAAf,WAAN,IAAgD55B,MAAM,CAAC45B,4DAAaA;AAAC;AAAf,WAAN,CAA6C77B,SAA7C,EAAwDC,WAAxD,MAAyE,IAA7H,EAAmI;AAC/H;AACAgmD,YAAAA,MAAM,GAAG,IAAT;AACH;AACJ;AACJ;;AACD,aAAOA,MAAP;AACH;;AACD,QAAI,CAACF,aAAa,CAAC/lD,SAAD,EAAYsmD,aAAZ,EAA2B,QAA3B,EAAqC,YAAY,CAAG,CAApD,EAAsDrmD,WAAW,CAACk7B,4DAAaA;AAAC;AAAf,KAAjE,CAAlB,EAA2H;AACvH;AACAn7B,MAAAA,SAAS,CAACw7B,gEAAiBA;AAAC;AAAnB,OAAT,CAAuDv7B,WAAvD;AACH;AACJ;;AACD,WAAS4lD,aAAT,CAAuBphB,SAAvB,EAAkC7B,WAAlC,EAA+C;AAC3C,aAAS4jB,WAAT,GAAuB;AACnB;AACA,UAAIP,MAAM,GAAG,KAAb;;AACA,UAAIhkD,MAAJ,EAAY;AACR,YAAI8hC,WAAW,GAAGrG,kEAAe,CAACz7B,MAAD,CAAjC;;AACA,YAAIskD,UAAU,GAAGtkD,MAAM,CAAC46B,wDAAD,CAAN,IAAoBkH,WAAW,CAAClH,wDAAQA;AAAC;AAAV,SAAhD,CAFQ,CAGR;;AACA,YAAI56B,MAAM,KAAK,CAACskD,UAAD,IAAeA,UAAU,KAAK9hB,SAAS,CAAC1lC,IAAV,EAAnC,CAAN,IAA8D,CAACglC,WAAW,CAAClI,4DAAaA;AAAC;AAAf,SAA9E,EAAsH;AAClH,cAAI55B,MAAM,CAAC6iC,0DAAWA;AAAC;AAAb,WAAN,IAA4C7iC,MAAM,CAAC6iC,0DAAWA;AAAC;AAAb,WAAN,CAAyCL,SAAzC,EAAoD7B,WAApD,MAAqE,IAArH,EAA2H;AACvH;AACAqjB,YAAAA,MAAM,GAAG,IAAT;AACH;AACJ;AACJ;;AACD,aAAOA,MAAP;AACH;;AACD,QAAI,CAACF,aAAa,CAACthB,SAAD,EAAY+hB,WAAZ,EAAyB,QAAzB,EAAmC,YAAY,CAAG,CAAlD,EAAoD,KAApD,CAAlB,EAA8E;AAC1E;AACA/hB,MAAAA,SAAS,CAACjJ,gEAAiBA;AAAC;AAAnB,OAAT,CAAuDoH,WAAvD;AACH;AACJ;;AACD,SAAOnG,uDAAS,CAACipB,UAAD,CAAhB;AACH;AACD;AACA;AACA;AACA;;AACA,IAAIe,uBAAuB;AAAG;AAAe,YAAY;AACrD;AACJ;AACA;AACA;AACA;AACA;AACI,WAASA,uBAAT,CAAiCxnD,WAAjC,EAA8C91H,MAA9C,EAAsD41H,IAAtD,EAA4D2kD,OAA5D,EAAqE;AACjE,QAAIvnD,KAAK,GAAG,IAAZ;;AACA,QAAIpiH,OAAO,GAAGm8G,6BAA6B,CAAC+I,WAAD,EAAc91H,MAAd,EAAsB41H,IAAtB,EAA4B2kD,OAA5B,CAA3C,CAFiE,CAGjE;;AACA/mB,IAAAA,4DAAc,CAACxgC,KAAD,EAAQpiH,OAAR,EAAiB84H,qDAAO,CAAC94H,OAAD,CAAxB,CAAd;AACH;;AACD,SAAO0sK,uBAAP;AACH,CAd4C,EAA7C;;;;;;;;;;;;;;;;;;;;;;;;;ACvcA;AACA;AACA;AACA;AAGA;AACA;AACA;AACA;AACA,IAAIC,UAAU,GAAG,WAAjB;AACA,IAAIC,SAAS,GAAG,UAAhB,EACA;;AACA,IAAIC,UAAU,GAAG,KAAjB;AACA,IAAIC,KAAK,GAAG,SAAZ;AACA,IAAIC,KAAK,GAAG,SAAZ,EACA;;AACA,SAASC,QAAT,CAAkBC,SAAlB,EAA6B;AACzB,MAAIA,SAAS,GAAG,CAAhB,EAAmB;AACf;AACAA,IAAAA,SAAS,MAAM,CAAf;AACH;;AACDH,EAAAA,KAAK,GAAI,YAAYG,SAAb,GAA0BL,SAAlC;AACAG,EAAAA,KAAK,GAAI,YAAYE,SAAb,GAA0BL,SAAlC;AACAC,EAAAA,UAAU,GAAG,IAAb;AACH;;AACD,SAASK,YAAT,GAAwB;AACpB;AACA;AACA,MAAI;AACA,QAAI12G,GAAG,GAAGs3D,qDAAO,KAAK,UAAtB;;AACAk/C,IAAAA,QAAQ,CAAC,CAAEphH,IAAI,CAACC,MAAL,KAAgB8gH,UAAjB,GAA+Bn2G,GAAhC,IAAuCA,GAAxC,CAAR;AACH,GAHD,CAIA,OAAOn8B,CAAP,EAAU,CACN;AACH;AACJ;AACD;AACA;AACA;AACA;AACA;;;AACO,SAASs7G,WAAT,CAAqBw3B,QAArB,EAA+B;AAClC,MAAIA,QAAQ,GAAG,CAAf,EAAkB;AACd,WAAOvhH,IAAI,CAACkwC,KAAL,CAAYs/C,QAAQ,KAAKwxB,SAAd,IAA4BO,QAAQ,GAAG,CAAvC,CAAX,MAA0D,CAAjE;AACH;;AACD,SAAO,CAAP;AACH;AACD;AACA;AACA;AACA;;AACO,SAAS/xB,QAAT,CAAkBgyB,MAAlB,EAA0B;AAC7B,MAAIxsK,KAAK,GAAG,CAAZ;AACA,MAAIysK,CAAC,GAAGpU,oDAAS,MAAMC,sDAAW,EAAlC;;AACA,MAAImU,CAAC,IAAIA,CAAC,CAACzmH,eAAX,EAA4B;AACxB;AACAhmD,IAAAA,KAAK,GAAGysK,CAAC,CAACzmH,eAAF,CAAkB,IAAI0mH,WAAJ,CAAgB,CAAhB,CAAlB,EAAsC,CAAtC,IAA2CV,SAAnD;AACH;;AACD,MAAIhsK,KAAK,KAAK,CAAV,IAAe4wE,+CAAI,EAAvB,EAA2B;AACvB;AACA,QAAI,CAACq7F,UAAL,EAAiB;AACb;AACAK,MAAAA,YAAY;AACf,KALsB,CAMvB;AACA;;;AACAtsK,IAAAA,KAAK,GAAGixJ,WAAW,KAAK+a,SAAxB;AACH;;AACD,MAAIhsK,KAAK,KAAK,CAAd,EAAiB;AACb;AACAA,IAAAA,KAAK,GAAGgrD,IAAI,CAACkwC,KAAL,CAAY6wE,UAAU,GAAG/gH,IAAI,CAACC,MAAL,EAAd,GAA+B,CAA1C,CAAR;AACH;;AACD,MAAI,CAACuhH,MAAL,EAAa;AACT;AACAxsK,IAAAA,KAAK,MAAM,CAAX;AACH;;AACD,SAAOA,KAAP;AACH;AACD;AACA;AACA;AACA;;AACO,SAASkxJ,aAAT,CAAuBlxJ,KAAvB,EAA8B;AACjC,MAAI,CAACA,KAAL,EAAY;AACRssK,IAAAA,YAAY;AACf,GAFD,MAGK;AACDF,IAAAA,QAAQ,CAACpsK,KAAD,CAAR;AACH;AACJ;AACD;AACA;AACA;AACA;AACA;AACA;;AACO,SAASixJ,WAAT,CAAqBub,MAArB,EAA6B;AAChCL,EAAAA,KAAK,GAAI,SAASA,KAAK,GAAG,MAAjB,KAA4BA,KAAK,IAAI,EAArC,CAAD,GAA6CH,SAArD;AACAE,EAAAA,KAAK,GAAI,SAASA,KAAK,GAAG,MAAjB,KAA4BA,KAAK,IAAI,EAArC,CAAD,GAA6CF,SAArD;AACA,MAAIhsK,KAAK,GAAK,CAACmsK,KAAK,IAAI,EAAV,KAAiBD,KAAK,GAAG,MAAzB,CAAD,KAAuC,CAAxC,GAA6CF,SAA7C,GAAyD,CAArE;;AACA,MAAI,CAACQ,MAAL,EAAa;AACT;AACAxsK,IAAAA,KAAK,MAAM,CAAX;AACH;;AACD,SAAOA,KAAP;AACH;AACD;AACA;AACA;AACA;AACA;;AACO,SAASu6I,KAAT,CAAe/iI,SAAf,EAA0B;AAC7B,MAAIA,SAAS,KAAK,KAAK,CAAvB,EAA0B;AAAEA,IAAAA,SAAS,GAAG,EAAZ;AAAiB;;AAC7C,MAAIm1J,WAAW,GAAG,kEAAlB,CAF6B,CAG7B;;AACA,MAAIl2B,MAAM,GAAG+D,QAAQ,OAAO,CAA5B,CAJ6B,CAIE;;AAC/B,MAAIoyB,KAAK,GAAG,CAAZ;AACA,MAAInsK,MAAM,GAAG8sJ,yDAAb;;AACA,SAAO9sJ,MAAM,CAACu9G,0DAAWA;AAAC;AAAb,GAAN,GAA2CxmG,SAAlD,EAA6D;AACzDo1J,IAAAA,KAAK;AACLnsK,IAAAA,MAAM,IAAIksK,WAAW,CAACt2H,MAAZ,CAAmBogG,MAAM,GAAG,IAA5B,CAAV;AACAA,IAAAA,MAAM,MAAM,CAAZ,CAHyD,CAG1C;;AACf,QAAIm2B,KAAK,KAAK,CAAd,EAAiB;AACb;AACA;AACAn2B,MAAAA,MAAM,GAAG,CAAG+D,QAAQ,MAAM,CAAf,GAAoB,UAArB,GAAoC/D,MAAM,GAAG,IAA9C,MAAyD,CAAlE;AACAm2B,MAAAA,KAAK,GAAG,CAAR,CAJa,CAIF;AACd;AACJ;;AACD,SAAOnsK,MAAP;AACH;;;;;;;;;;;;;;;;;;;;;;;;ACnID;AACA;AACA;AACA;AAGa;;AACb;AACA;AACA;AACA;AACA;AACA,IAAIssK,eAAe,GAAG3Z,mEAAiB,CAAC,QAAD,CAAvC;AACO,SAASrQ,eAAT,CAAyBz7B,MAAzB,EAAiC;AACpC,SAAOylD,eAAe,CAACx9K,GAAhB,CAAoB+3H,MAApB,EAA4B,OAA5B,EAAqC,EAArC,EAAyC,IAAzC,CAAP;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;;AACO,SAAS27B,iBAAT,CAA2B+pB,cAA3B,EAA2C3oD,UAA3C,EAAuD;AAC1D;AACA,MAAI4oD,WAAW,GAAG,EAAlB;AACA,MAAIC,UAAU,GAAG,IAAjB;;AACA,MAAIpE,KAAK,GAAGkE,cAAc,CAAC/iB,4DAAaA;AAAC;AAAf,GAAd,EAAZ;;AACA,MAAIb,WAAJ;;AACA,SAAO0f,KAAP,EAAc;AACV,QAAI1kB,SAAS,GAAG0kB,KAAK,CAACzoB,8DAAeA;AAAC;AAAjB,KAAL,EAAhB;;AACA,QAAI+D,SAAJ,EAAe;AACX,UAAI8oB,UAAU,IACV7wD,wDAAU,CAAC6wD,UAAU,CAAChjB,mEAAoBA;AAAC;AAAtB,OAAX,CADV,IAEA7tC,wDAAU,CAAC+nC,SAAS,CAACiG,qEAAqBA;AAAC;AAAvB,OAAV,CAFd,EAEiF;AAC7E;AACA6iB,QAAAA,UAAU,CAAChjB,mEAAoBA;AAAC;AAAtB,SAAV,CAA6D9F,SAA7D;AACH;;AACD,UAAI7/B,aAAa,GAAG,KAApB;;AACA,UAAIlI,wDAAU,CAAC+nC,SAAS,CAAC3D,kEAAmBA;AAAC;AAArB,OAAV,CAAd,EAA4E;AACxEl8B,QAAAA,aAAa,GAAG6/B,SAAS,CAAC3D,kEAAmBA;AAAC;AAArB,SAAT,EAAhB;AACH,OAFD,MAGK;AACD2I,QAAAA,WAAW,GAAGrG,eAAe,CAACqB,SAAD,CAA7B;AACA7/B,QAAAA,aAAa,GAAG6kC,WAAW,CAAC3I,kEAAmBA;AAAC;AAArB,SAA3B;AACH;;AACD,UAAI,CAACl8B,aAAL,EAAoB;AAChB0oD,QAAAA,WAAW,CAACv3C,wDAASA;AAAC;AAAX,SAAX,CAA0C0uB,SAA1C;AACH;;AACD8oB,MAAAA,UAAU,GAAG9oB,SAAb;AACA0kB,MAAAA,KAAK,GAAGA,KAAK,CAAC7e,4DAAaA;AAAC;AAAf,OAAL,EAAR;AACH;AACJ,GA7ByD,CA8B1D;;;AACA3uC,EAAAA,wDAAU,CAAC2xD,WAAD,EAAc,UAAU7oB,SAAV,EAAqB;AACzC,QAAIhgC,IAAI,GAAG4oD,cAAc,CAAC9qB,wDAAD,CAAd,EAAX;;AACAkC,IAAAA,SAAS,CAAClF,8DAAeA;AAAC;AAAjB,KAAT,CAAoD8tB,cAAc,CAACxhB,MAAf,EAApD,EAA6EpnC,IAA7E,EAAmFC,UAAnF,EAA+F2oD,cAAc,CAAC/iB,4DAAaA;AAAC;AAAf,KAAd,EAA/F;;AACAb,IAAAA,WAAW,GAAGrG,eAAe,CAACqB,SAAD,CAA7B,CAHyC,CAIzC;;AACA,QAAI,CAACA,SAAS,CAAClC,wDAAD,CAAV,IAAwB,CAACkH,WAAW,CAAClH,wDAAD,CAAxC,EAAoD;AAChDkH,MAAAA,WAAW,CAAClH,wDAAD,CAAX,GAAwB99B,IAAxB;AACH;;AACDglC,IAAAA,WAAW,CAAC3I,kEAAmBA;AAAC;AAArB,KAAX,GAA+D,IAA/D;AACA,WAAO2I,WAAW,CAAClI,4DAAaA;AAAC;AAAf,KAAlB;AACH,GAVS,CAAV;AAWH;AACM,SAASgC,WAAT,CAAqB3wC,OAArB,EAA8B;AACjC;AACA,SAAOA,OAAO,CAAC5iC,IAAR,CAAa,UAAUw9F,IAAV,EAAgBC,IAAhB,EAAsB;AACtC,QAAI3sK,MAAM,GAAG,CAAb;;AACA,QAAI2sK,IAAJ,EAAU;AACN,UAAIC,WAAW,GAAGhxD,wDAAU,CAAC+wD,IAAI,CAAC/iB,qEAAD,CAAL,CAA5B;;AACA,UAAIhuC,wDAAU,CAAC8wD,IAAI,CAAC9iB,qEAAD,CAAL,CAAd,EAA6C;AACzC5pJ,QAAAA,MAAM,GAAG4sK,WAAW,GAAGF,IAAI,CAAC1qB,4DAAD,CAAJ,GAAqB2qB,IAAI,CAAC3qB,4DAAD,CAA5B,GAA6C,CAAjE;AACH,OAFD,MAGK,IAAI4qB,WAAJ,EAAiB;AAClB5sK,QAAAA,MAAM,GAAG,CAAC,CAAV;AACH;AACJ,KARD,MASK;AACDA,MAAAA,MAAM,GAAG0sK,IAAI,GAAG,CAAH,GAAO,CAAC,CAArB;AACH;;AACD,WAAO1sK,MAAP;AACH,GAfM,CAAP,CAFiC,CAkBjC;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACO,SAAS6sK,gBAAT,CAA0BxkE,UAA1B,EAAsCuc,SAAtC,EAAiDC,WAAjD,EAA8DioD,aAA9D,EAA6E;AAChF,MAAI3kB,GAAG,GAAG,CAAV;;AACA,WAASnB,SAAT,GAAqB;AACjB,WAAOmB,GAAG,GAAG9/C,UAAU,CAACkV,0DAAWA;AAAC;AAAb,KAAvB,EAA2D;AACvD,UAAI9nH,SAAS,GAAG4yG,UAAU,CAAC8/C,GAAG,EAAJ,CAA1B;;AACA,UAAI1yJ,SAAJ,EAAe;AACX,YAAI4rI,IAAI,GAAG5rI,SAAS,CAACuxJ,SAAV,IAAuBvxJ,SAAS,CAACk0J,gEAAiBA;AAAC;AAAnB,SAA3C;;AACA,YAAI/tC,wDAAU,CAACylB,IAAD,CAAd,EAAsB;AAClB,cAAIA,IAAI,CAACs0B,wDAASA;AAAC;AAAX,WAAJ,CAAmClgK,SAAnC,EAA8CmvH,SAA9C,EAAyDC,WAAzD,EAAsEmiC,SAAtE,MAAqF,IAAzF,EAA+F;AAC3F,mBAAO,IAAP;AACH;AACJ;AACJ;AACJ;AACJ;;AACD,SAAOA,SAAS,EAAhB;AACH;AACD;AACA;AACA;AACA;AACA;;AACO,SAASzE,6BAAT,CAAuCpF,SAAvC,EAAkD;AACrD,MAAI9lH,KAAK,GAAG,EAAZ;AACA,SAAO;AACH+lH,IAAAA,OAAO,EAAE,YAAY;AACjB,aAAO/lH,KAAK,CAACm3F,wDAASA;AAAC;AAAX,OAAZ;AACH,KAHE;AAIHpH,IAAAA,OAAO,EAAE,UAAU/xD,QAAV,EAAoB;AACzB8nF,MAAAA,SAAS,IAAIA,SAAS,CAAC/1B,OAAV,CAAkB/xD,QAAlB,CAAb;AACAh+B,MAAAA,KAAK,CAACm3F,wDAASA;AAAC;AAAX,OAAL,GAAsCn5D,QAAtC;AACH,KAPE;AAQHgoF,IAAAA,UAAU,EAAE,YAAY;AACpB,aAAOhmH,KAAK,CAACs3F,4DAAaA;AAAC;AAAf,OAAZ;AACH,KAVE;AAWHzH,IAAAA,UAAU,EAAE,UAAU7xD,QAAV,EAAoB;AAC5B8nF,MAAAA,SAAS,IAAIA,SAAS,CAACj2B,UAAV,CAAqB7xD,QAArB,CAAb;;AACA,UAAIwkF,+DAAc,CAACxkF,QAAD,CAAlB,EAA8B;AAC1Bh+B,QAAAA,KAAK,CAACs3F,4DAAaA;AAAC;AAAf,SAAL,GAA6Ct5D,QAA7C;AACH;AACJ,KAhBE;AAiBHkoF,IAAAA,SAAS,EAAE,YAAY;AACnB,aAAOlmH,KAAK,CAAC+0I,2DAAYA;AAAC;AAAd,OAAZ;AACH,KAnBE;AAoBH5uB,IAAAA,SAAS,EAAE,UAAUnoF,QAAV,EAAoB;AAC3B8nF,MAAAA,SAAS,IAAIA,SAAS,CAACK,SAAV,CAAoBnoF,QAApB,CAAb;;AACA,UAAIukF,8DAAa,CAACvkF,QAAD,CAAjB,EAA6B;AACzBh+B,QAAAA,KAAK,CAAC+0I,2DAAYA;AAAC;AAAd,SAAL,GAA2C/2G,QAA3C;AACH;AACJ,KAzBE;AA0BHooF,IAAAA,aAAa,EAAE,YAAY;AACvB,aAAOpmH,KAAK,CAACg1I,+DAAgBA;AAAC;AAAlB,OAAZ;AACH,KA5BE;AA6BH1uB,IAAAA,aAAa,EAAE,UAAUC,aAAV,EAAyB;AACpCT,MAAAA,SAAS,IAAIA,SAAS,CAACQ,aAAV,CAAwBC,aAAxB,CAAb;AACAvmH,MAAAA,KAAK,CAACg1I,+DAAgBA;AAAC;AAAlB,OAAL,GAAmDzuB,aAAnD;AACH;AAhCE,GAAP;AAkCH;;;;;;;;;;;;;;;;;;;;;;;ACzJD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,IAAI8E,0BAA0B;AAAG;AAAe,UAAUvrH,MAAV,EAAkB;AAC9DqB,EAAAA,iFAAS,CAACkqH,0BAAD,EAA6BvrH,MAA7B,CAAT;;AACA,WAASurH,0BAAT,GAAsC;AAClC,QAAIxjH,KAAK,GAAG/H,MAAM,CAACK,IAAP,CAAY,IAAZ,KAAqB,IAAjC;;AACA0H,IAAAA,KAAK,CAACygF,UAAN,GAAmB,4BAAnB;AACAzgF,IAAAA,KAAK,CAAC80E,QAAN,GAAiB,GAAjB,CAHkC,CAIlC;;AACA,QAAI02D,GAAJ;;AACA,QAAIqC,aAAJ;;AACA7rD,IAAAA,aAAa;;AACb1H,IAAAA,sEAAY,CAACkpC,0BAAD,EAA6BxjH,KAA7B,EAAoC,UAAU6hF,KAAV,EAAiBC,KAAjB,EAAwB;AACpED,MAAAA,KAAK,CAACisD,uBAAN,GAAgC,UAAUtpD,oBAAV,EAAgC;AAC5D,YAAIupD,cAAc,GAAG;AACjBzxK,UAAAA,EAAE,EAAEkvK,GAAG,EADU;AAEjBjgB,UAAAA,EAAE,EAAE/mC;AAFa,SAArB;;AAIAqpD,QAAAA,aAAa,CAAC93C,wDAASA;AAAC;AAAX,SAAb,CAA4Cg4C,cAA5C;;AACA,YAAI3R,OAAO,GAAG;AACVhtD,UAAAA,MAAM,EAAE,YAAY;AAChBuM,YAAAA,wDAAU,CAACkyD,aAAD,EAAgB,UAAU9oD,WAAV,EAAuBkkC,GAAvB,EAA4B;AAClD,kBAAIlkC,WAAW,CAACzoH,EAAZ,KAAmByxK,cAAc,CAACzxK,EAAtC,EAA0C;AACtCuxK,gBAAAA,aAAa,CAACxsB,0DAAWA;AAAC;AAAb,iBAAb,CAAgD4H,GAAhD,EAAqD,CAArD;;AACA,uBAAO,CAAC,CAAR;AACH;AACJ,aALS,CAAV;AAMH;AARS,SAAd;AAUA,eAAOmT,OAAP;AACH,OAjBD;;AAkBAv6C,MAAAA,KAAK,CAAC6oC,qEAAqBA;AAAC;AAAvB,OAAL,GAA8D,UAAU/gJ,IAAV,EAAgBw4G,OAAhB,EAAyB;AACnF,YAAI6rD,aAAa,GAAG,KAApB;AACA,YAAIC,0BAA0B,GAAGJ,aAAa,CAACxvD,0DAAWA;AAAC;AAAb,SAA9C;;AACA,aAAK,IAAIv4G,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGmoK,0BAApB,EAAgD,EAAEnoK,CAAlD,EAAqD;AACjD,cAAI0+G,oBAAoB,GAAGqpD,aAAa,CAAC/nK,CAAD,CAAxC;;AACA,cAAI0+G,oBAAJ,EAA0B;AACtB,gBAAI;AACA,kBAAIA,oBAAoB,CAAC+mC,EAArB,CAAwBsI,yDAAUA;AAAC;AAAnC,gBAAwD,IAAxD,EAA8D,CAAClqJ,IAAD,CAA9D,MAA0E,KAA9E,EAAqF;AACjFqkK,gBAAAA,aAAa,GAAG,IAAhB;AACA;AACH;AACJ,aALD,CAMA,OAAOl0I,CAAP,EAAU;AACN;AACA;AACA0oF,cAAAA,iEAAc,CAACL,OAAO,CAAC1E,4DAAaA;AAAC;AAAf,eAAP,EAAD,EAAiD;AAAE;AAAnD,gBAAoF;AAAG;AAAvF,gBAA6I,4EAA4EtB,8DAAgB,CAACriF,CAAD,CAAzO,EAA8O;AAAE2oF,gBAAAA,SAAS,EAAE3G,kDAAO,CAAChiF,CAAD;AAApB,eAA9O,EAAyQ,IAAzQ,CAAd;AACH;AACJ;AACJ;;AACD,YAAI,CAACk0I,aAAL,EAAoB;AAChBnsD,UAAAA,KAAK,CAACq/B,gEAAiBA;AAAC;AAAnB,WAAL,CAAmDv3I,IAAnD,EAAyDw4G,OAAzD;AACH;AACJ,OAtBD;;AAuBAN,MAAAA,KAAK,CAAC4oC,gEAAiBA;AAAC;AAAnB,OAAL,GAAqD,YAAY;AAC7DzoC,QAAAA,aAAa;AAChB,OAFD;AAGH,KA7CW,CAAZ;;AA8CA,aAASA,aAAT,GAAyB;AACrBwpD,MAAAA,GAAG,GAAG,CAAN;AACAqC,MAAAA,aAAa,GAAG,EAAhB;AACH;;AACD,WAAO7tI,KAAP;AACH,GA7D6D,CA8DlE;AACA;AACI;AACA;AACA;;;AACAwjH,EAAAA,0BAA0B,CAAC54B,OAA3B,GAAmC,CAAnC;AAEA,SAAO44B,0BAAP;AACH,CAtE+C,CAsE9C/nC,qEAtE8C,CAAhD;;;;;;;;;;;;;;;;;;;;;ACdA;AACA;AACA;AACA;AAGA;AACA;AACA;AACA;AACO,SAASgoC,4BAAT,GAAwC;AAC3C,MAAIyqB,QAAQ,GAAG,EAAf;;AACA,WAASC,WAAT,CAAqB/R,OAArB,EAA8B;AAC1B,QAAIA,OAAJ,EAAa;AACT8R,MAAAA,QAAQ,CAACn4C,wDAASA;AAAC;AAAX,OAAR,CAAuCqmC,OAAvC;AACH;AACJ;;AACD,WAASgS,YAAT,CAAsB1oD,SAAtB,EAAiCC,WAAjC,EAA8C;AAC1ChK,IAAAA,wDAAU,CAACuyD,QAAD,EAAW,UAAU9R,OAAV,EAAmB;AACpC,UAAI;AACAA,QAAAA,OAAO,CAAC12C,SAAD,EAAYC,WAAZ,CAAP;AACH,OAFD,CAGA,OAAO7rF,CAAP,EAAU;AACN0oF,QAAAA,iEAAc,CAACkD,SAAS,CAACjI,4DAAaA;AAAC;AAAf,SAAT,EAAD,EAAmD;AAAE;AAArD,UAAqF;AAAG;AAAxF,UAAmI,+CAA+C3B,kDAAO,CAAChiF,CAAD,CAAzL,CAAd;AACH;AACJ,KAPS,CAAV;AAQAo0I,IAAAA,QAAQ,GAAG,EAAX;AACH;;AACD,SAAO;AACHnqJ,IAAAA,GAAG,EAAEoqJ,WADF;AAEHpmB,IAAAA,GAAG,EAAEqmB;AAFF,GAAP;AAIH;;;;;;;;;;;;;;;;;;;;;;;;;;AChCD;AACA;AACA;AACA;AACA;AACA;AACA;CAEA;;AACA,IAAIE,kBAAkB,GAAG,mEAAzB;AACA,IAAIC,eAAe,GAAG,IAAtB;AACA,IAAIC,eAAe,GAAG,IAAtB;AACA,IAAIC,gBAAgB,GAAG,kCAAvB;AACA,IAAIC,eAAe,GAAG,kBAAtB;AACA,IAAIC,YAAY,GAAG,IAAnB;;AACA,SAASC,QAAT,CAAkBvuK,KAAlB,EAAyByxJ,GAAzB,EAA8B+c,YAA9B,EAA4C;AACxC,MAAIxuK,KAAK,IAAIA,KAAK,CAACg+G,0DAAWA;AAAC;AAAb,GAAL,KAA4CyzC,GAArD,IAA4DzxJ,KAAK,KAAKwuK,YAA1E,EAAwF;AACpF,WAAO,CAAC,CAACxuK,KAAK,CAACg5E,KAAN,CAAY,YAAZ,CAAT;AACH;;AACD,SAAO,KAAP;AACH;;AACD,SAASy1F,YAAT,CAAsBzuK,KAAtB,EAA6ByxJ,GAA7B,EAAkC9xC,QAAlC,EAA4C;AACxC,MAAI4uD,QAAQ,CAACvuK,KAAD,EAAQyxJ,GAAR,CAAZ,EAA0B;AACtB,WAAOzxJ,KAAP;AACH;;AACD,SAAO2/G,QAAP;AACH;;AACD,SAAS+uD,YAAT,CAAsB1uK,KAAtB,EAA6B;AACzB,MAAIwiB,KAAK,CAACxiB,KAAD,CAAL,IAAgBA,KAAK,GAAG,CAAxB,IAA6BA,KAAK,GAAG,GAAzC,EAA8C;AAC1CA,IAAAA,KAAK,GAAG,IAAR;AACH;;AACD,MAAIS,MAAM,GAAGT,KAAK,CAACgsC,QAAN,CAAe,EAAf,CAAb;;AACA,SAAOvrC,MAAM,CAACu9G,0DAAWA;AAAC;AAAb,GAAN,GAA2C,CAAlD,EAAqD;AACjDv9G,IAAAA,MAAM,GAAG,MAAMA,MAAf;AACH;;AACD,SAAOA,MAAP;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACO,SAAS89I,iBAAT,CAA2BowB,OAA3B,EAAoCC,MAApC,EAA4CC,KAA5C,EAAmDn/K,OAAnD,EAA4D;AAC/D,MAAImvC,EAAJ;;AACA,SAAOA,EAAE,GAAG,EAAL,EACHA,EAAE,CAACmvI,2DAAYA;AAAC;AAAd,GAAF,GAAsCO,QAAQ,CAAC7+K,OAAD,EAAU,CAAV,EAAay+K,eAAb,CAAR,GAAwCz+K,OAAxC,GAAkDw+K,eADrF,EAEHrvI,EAAE,CAACuwF,4DAAaA;AAAC;AAAf,GAAF,GAAuCkrB,cAAc,CAACq0B,OAAD,CAAd,GAA0BA,OAA1B,GAAoC/yD,yDAAa,EAFrF,EAGH/8E,EAAE,CAAC+vI,MAAH,GAAYv0B,aAAa,CAACu0B,MAAD,CAAb,GAAwBA,MAAxB,GAAiChzD,yDAAa,GAAGi1C,0DAAWA;AAAC;AAAf,GAAb,CAAkD,CAAlD,EAAqD,EAArD,CAH1C,EAIHhyH,EAAE,CAACs/G,UAAH,GAAgB0wB,KAAK,IAAI,CAAT,IAAcA,KAAK,IAAI,IAAvB,GAA8BA,KAA9B,GAAsC,CAJnD,EAKHhwI,EALJ;AAMH;AACD;AACA;AACA;AACA;AACA;AACA;;AACO,SAAS2/G,gBAAT,CAA0Bx+I,KAA1B,EAAiC;AACpC,MAAI6+B,EAAJ;;AACA,MAAI,CAAC7+B,KAAL,EAAY;AACR;AACA,WAAO,IAAP;AACH;;AACD,MAAIkwG,qDAAO,CAAClwG,KAAD,CAAX,EAAoB;AAChB;AACAA,IAAAA,KAAK,GAAGA,KAAK,CAAC,CAAD,CAAL,IAAY,EAApB;AACH;;AACD,MAAI,CAACA,KAAD,IAAU,CAACu8G,sDAAQ,CAACv8G,KAAD,CAAnB,IAA8BA,KAAK,CAACg+G,0DAAWA;AAAC;AAAb,GAAL,GAA0C,IAA5E,EAAkF;AAC9E;AACA,WAAO,IAAP;AACH,GAbmC,CAcpC;;;AACA,MAAIhlC,KAAK,GAAGi1F,kBAAkB,CAACtiE,IAAnB,CAAwBygC,qDAAO,CAACpsI,KAAD,CAA/B,CAAZ;;AACA,MAAI,CAACg5E,KAAD,IAAU;AACVA,EAAAA,KAAK,CAAC,CAAD,CAAL,KAAam1F,eADb,IACgC;AAChCn1F,EAAAA,KAAK,CAAC,CAAD,CAAL,KAAao1F,gBAFb,IAEiC;AACjCp1F,EAAAA,KAAK,CAAC,CAAD,CAAL,KAAaq1F,eAHjB,EAGkC;AAAE;AAChC,WAAO,IAAP;AACH;;AACD,SAAOxvI,EAAE,GAAG,EAAL,EACHA,EAAE,CAACmvI,2DAAYA;AAAC;AAAd,GAAF,GAAsCh1F,KAAK,CAAC,CAAD,CADxC,EAEHn6C,EAAE,CAACuwF,4DAAaA;AAAC;AAAf,GAAF,GAAuCp2C,KAAK,CAAC,CAAD,CAFzC,EAGHn6C,EAAE,CAACguI,2DAAYA;AAAC;AAAd,GAAF,GAAqC7zF,KAAK,CAAC,CAAD,CAHvC,EAIHn6C,EAAE,CAACiuI,+DAAgBA;AAAC;AAAlB,GAAF,GAA6Cp6I,QAAQ,CAACsmD,KAAK,CAAC,CAAD,CAAN,EAAW,EAAX,CAJlD,EAKHn6C,EALJ;AAMH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;;AACO,SAASy7G,cAAT,CAAwBt6I,KAAxB,EAA+B;AAClC,SAAOuuK,QAAQ,CAACvuK,KAAD,EAAQ,EAAR,EAAYouK,gBAAZ,CAAf;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;;AACO,SAAS/zB,aAAT,CAAuBr6I,KAAvB,EAA8B;AACjC,SAAOuuK,QAAQ,CAACvuK,KAAD,EAAQ,EAAR,EAAYquK,eAAZ,CAAf;AACH;AACD;AACA;AACA;AACA;AACA;;AACO,SAAS5vB,kBAAT,CAA4Bz+I,KAA5B,EAAmC;AACtC,MAAI,CAACA,KAAD,IACA,CAACuuK,QAAQ,CAACvuK,KAAK,CAACguK,2DAAYA;AAAC;AAAd,GAAN,EAA4C,CAA5C,EAA+CG,eAA/C,CADT,IAEA,CAACI,QAAQ,CAACvuK,KAAK,CAACovH,4DAAaA;AAAC;AAAf,GAAN,EAA6C,EAA7C,EAAiDg/C,gBAAjD,CAFT,IAGA,CAACG,QAAQ,CAACvuK,KAAK,CAAC6sK,2DAAYA;AAAC;AAAd,GAAN,EAA2C,EAA3C,EAA+CwB,eAA/C,CAHT,IAIA,CAACE,QAAQ,CAACG,YAAY,CAAC1uK,KAAK,CAAC8sK,+DAAgBA;AAAC;AAAlB,GAAN,CAAb,EAAiE,CAAjE,CAJb,EAIkF;AAC9E;AACA,WAAO,KAAP;AACH;;AACD,SAAO,IAAP;AACH;AACD;AACA;AACA;AACA;AACA;;AACO,SAASpuB,aAAT,CAAuB1+I,KAAvB,EAA8B;AACjC,MAAIy+I,kBAAkB,CAACz+I,KAAD,CAAtB,EAA+B;AAC3B,WAAO,CAACA,KAAK,CAAC8sK,+DAAgBA;AAAC;AAAlB,KAAL,GAAmDwB,YAApD,MAAsEA,YAA7E;AACH;;AACD,SAAO,KAAP;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACO,SAAS3vB,iBAAT,CAA2B3+I,KAA3B,EAAkC;AACrC,MAAIA,KAAJ,EAAW;AACP;AACA;AACA,QAAI6uK,KAAK,GAAGH,YAAY,CAAC1uK,KAAK,CAAC8sK,+DAAgBA;AAAC;AAAlB,KAAN,CAAxB;;AACA,QAAI,CAACyB,QAAQ,CAACM,KAAD,EAAQ,CAAR,CAAb,EAAyB;AACrBA,MAAAA,KAAK,GAAG,IAAR;AACH;;AACD,QAAIn/K,OAAO,GAAGsQ,KAAK,CAACguK,2DAAYA;AAAC;AAAd,KAAL,IAA6CE,eAA3D;;AACA,QAAIx+K,OAAO,KAAK,IAAZ,IAAoBA,OAAO,KAAK,IAApC,EAA0C;AACtC;AACAA,MAAAA,OAAO,GAAGw+K,eAAV;AACH,KAXM,CAYP;;;AACA,WAAO,GAAGxyI,MAAH,CAAUhsC,OAAV,EAAmB,GAAnB,EAAwBgsC,MAAxB,CAA+B+yI,YAAY,CAACzuK,KAAK,CAAC2uK,OAAP,EAAgB,EAAhB,EAAoBP,gBAApB,CAA3C,EAAkF,GAAlF,EAAuF1yI,MAAvF,CAA8F+yI,YAAY,CAACzuK,KAAK,CAAC4uK,MAAP,EAAe,EAAf,EAAmBP,eAAnB,CAA1G,EAA+I,GAA/I,EAAoJ3yI,MAApJ,CAA2JmzI,KAA3J,CAAP;AACH;;AACD,SAAO,EAAP;AACH;AACD;AACA;AACA;AACA;;AACO,SAASjwB,kBAAT,GAA8B;AACjC,MAAIt/I,IAAI,GAAG,aAAX;AACA,MAAIwvK,WAAW,GAAGtwB,gBAAgB,CAAC6a,sDAAW,CAAC/5J,IAAD,CAAZ,CAAlC;;AACA,MAAI,CAACwvK,WAAL,EAAkB;AACdA,IAAAA,WAAW,GAAGtwB,gBAAgB,CAAC+a,gEAAqB,CAACj6J,IAAD,CAAtB,CAA9B;AACH;;AACD,SAAOwvK,WAAP;AACH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AC7KD;AACA;AACA;AACA;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,IAAI5vB,eAAe,GAAG,YAAtB,EAAoC;;AACpC,IAAIjwB,SAAS,GAAG,MAAhB,EAAwB;;AACxB,IAAIgwB,mBAAmB,GAAG,cAA1B,EAA0C;;AAC1C,IAAIsB,eAAe,GAAG,YAAtB,EAAoC;;AACpC,IAAI7qB,SAAS,GAAG,MAAhB,EAAwB;;AACxB,IAAI+qB,mBAAmB,GAAG,eAA1B,EAA2C;;AAC3C,IAAIN,WAAW,GAAG,QAAlB,EAA4B;;AAC5B,IAAIpnB,wBAAwB,GAAG,oBAA/B,EAAqD;;AACrD,IAAI2nB,WAAW,GAAG,QAAlB,EAA4B;;AAC5B,IAAI1iC,WAAW,GAAG,QAAlB,EAA4B;;AAC5B,IAAImjC,SAAS,GAAG,MAAhB,EAAwB;;AACxB,IAAIN,iBAAiB,GAAG,aAAxB,EAAuC;;AACvC,IAAIP,0BAA0B,GAAG,sBAAjC,EAAyD;;AACzD,IAAIJ,0BAA0B,GAAG,yBAAjC,EAA4D;;AAC5D,IAAIY,0BAA0B,GAAG,4BAAjC,EAA+D;;AAC/D,IAAIG,0BAA0B,GAAG,yBAAjC,EAA4D;;AAC5D,IAAIL,gBAAgB,GAAG,YAAvB,EAAqC;;AACrC,IAAIP,eAAe,GAAG,WAAtB,EAAmC;;AACnC,IAAID,UAAU,GAAG,OAAjB,EAA0B;;AAC1B,IAAIgB,gBAAgB,GAAG,aAAvB,EAAsC;;AACtC,IAAIJ,WAAW,GAAG,QAAlB,EAA4B;;AAC5B,IAAIE,aAAa,GAAG,UAApB,EAAgC;;AAChC,IAAIP,eAAe,GAAG,WAAtB,EAAmC;;AACnC,IAAIziC,YAAY,GAAG,SAAnB,EAA8B;;AAC9B,IAAIsiC,aAAa,GAAG,SAApB,EAA+B;;AAC/B,IAAI4J,iBAAiB,GAAG,aAAxB,EAAuC;;AACvC,IAAID,WAAW,GAAG,QAAlB,EAA4B;;AAC5B,IAAIF,aAAa,GAAG,SAApB,EAA+B;;AAC/B,IAAI7sC,aAAa,GAAG,SAApB,EAA+B;;AAC/B,IAAI8sC,oBAAoB,GAAG,eAA3B,EAA4C;;AAC5C,IAAIF,eAAe,GAAG,WAAtB,EAAmC;;AACnC,IAAImD,eAAe,GAAG,WAAtB,EAAmC;;AACnC,IAAI5d,aAAa,GAAG,SAApB,EAA+B;;AAC/B,IAAI9C,cAAc,GAAG,WAArB,EAAkC;;AAClC,IAAI2gB,eAAe,GAAG,WAAtB,EAAmC;;AACnC,IAAI/oB,UAAU,GAAG,OAAjB,EAA0B;;AAC1B,IAAI0c,gBAAgB,GAAG,YAAvB,EAAqC;;AACrC,IAAI8P,WAAW,GAAG,QAAlB,EAA4B;;AAC5B,IAAI6B,cAAc,GAAG,UAArB,EAAiC;;AACjC,IAAIc,UAAU,GAAG,OAAjB,EAA0B;;AAC1B,IAAIS,YAAY,GAAG,SAAnB,EAA8B;;AAC9B,IAAIF,0BAA0B,GAAG,uBAAjC,EAA0D;;AAC1D,IAAIC,yBAAyB,GAAG,oBAAhC,EAAsD;;AACtD,IAAI1vB,kBAAkB,GAAG,aAAzB,EAAwC;;AACxC,IAAI8xB,SAAS,GAAG,MAAhB,EAAwB;;AACxB,IAAI+D,SAAS,GAAG,MAAhB,EAAwB;;AACxB,IAAID,YAAY,GAAG,SAAnB,EAA8B;;AAC9B,IAAI0M,cAAc,GAAG,WAArB,EAAkC;;AAClC,IAAID,iBAAiB,GAAG,YAAxB,EAAsC;;AACtC,IAAIO,YAAY,GAAG,QAAnB,EAA6B;;AAC7B,IAAIC,YAAY,GAAG,QAAnB,EAA6B;;AAC7B,IAAIF,aAAa,GAAG,UAApB,EAAgC;;AAChC,IAAI73C,aAAa,GAAG,SAApB,EAA+B;;AAC/B,IAAIy9C,YAAY,GAAG,QAAnB,EAA6B;;AAC7B,IAAIC,gBAAgB,GAAG,YAAvB,EAAqC;;AACrC,IAAIkB,YAAY,GAAG,SAAnB,EAA8B;;;;;;;;;;;;;;;;ACpErC;AACA;AACA;AACA;AAGA;AACA;AACA;AACA;AACA;AACO,IAAIn/C,YAAY,GAAG,UAAnB;AACA,IAAIkgD,cAAc,GAAG,YAArB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACZP;AACA;AACA;AACA;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,IAAIC,gBAAgB,GAAG,YAAvB,EAAqC;;AACrC,IAAIC,SAAS,GAAG,MAAhB,EAAwB;;AACxB,IAAIjxD,WAAW,GAAG,QAAlB,EAA4B;;AAC5B,IAAIoR,aAAa,GAAG,SAApB,EAA+B;;AAC/B,IAAIy9C,YAAY,GAAG,QAAnB,EAA6B;;AAC7B,IAAIC,gBAAgB,GAAG,YAAvB,EAAqC;;AACrC,IAAIoC,YAAY,GAAG,SAAnB,EAA8B;;AAC9B,IAAIC,YAAY,GAAG,SAAnB,EAA8B;;AAC9B,IAAIC,cAAc,GAAG,SAArB,EAAgC;;AAChC,IAAIC,aAAa,GAAG,QAApB,EAA8B;;AAC9B,IAAInyD,SAAS,GAAG,MAAhB,EAAwB;;AACxB,IAAIoyD,0BAA0B,GAAG,2BAAjC,EAA8D;;AAC9D,IAAIC,0BAA0B,GAAG,6BAAjC,EAAgE;;AAChE,IAAIC,qBAAqB,GAAG,gBAA5B,EAA8C;;AAC9C,IAAIC,YAAY,GAAG,SAAnB,EAA8B;;AAC9B,IAAIC,oBAAoB,GAAG,gBAA3B,EAA6C;;AAC7C,IAAIC,WAAW,GAAG,OAAlB,EAA2B;;AAC3B,IAAIl2C,uBAAuB,GAAG,kBAA9B,EAAkD;;AAClD,IAAIm2C,0BAA0B,GAAG,6BAAjC,EAAgE;;AAChE,IAAIC,0BAA0B,GAAG,wBAAjC,EAA2D;;AAC3D,IAAIC,eAAe,GAAG,WAAtB,EAAmC;;AACnC,IAAIxrC,kBAAkB,GAAG,aAAzB,EAAwC;;AACxC,IAAIyrC,0BAA0B,GAAG,6BAAjC,EAAgE;;AAChE,IAAIC,0BAA0B,GAAG,2BAAjC,EAA8D;;AAC9D,IAAIC,0BAA0B,GAAG,wBAAjC,EAA2D;;AAC3D,IAAIC,0BAA0B,GAAG,qBAAjC,EAAwD;;AACxD,IAAIC,2BAA2B,GAAG,8BAAlC,EAAkE;;AAClE,IAAIC,2BAA2B,GAAG,wCAAlC,EAA4E;;AAC5E,IAAIC,wBAAwB,GAAG,mBAA/B,EAAoD;;AACpD,IAAIC,2BAA2B,GAAG,qBAAlC,EAAyD;;AACzD,IAAIC,2BAA2B,GAAG,sBAAlC,EAA0D;;AAC1D,IAAIC,WAAW,GAAG,QAAlB,EAA4B;;AAC5B,IAAIC,gBAAgB,GAAG,YAAvB,EAAqC;;AACrC,IAAIC,eAAe,GAAG,WAAtB,EAAmC;;AACnC,IAAIC,cAAc,GAAG,UAArB,EAAiC;;AACjC,IAAIC,cAAc,GAAG,UAArB,EAAiC;;AACjC,IAAIC,sBAAsB,GAAG,iBAA7B,EAAgD;;AAChD,IAAIC,eAAe,GAAG,WAAtB,EAAmC;;AACnC,IAAIC,iBAAiB,GAAG,YAAxB,EAAsC;;AACtC,IAAIC,oBAAoB,GAAG,eAA3B,EAA4C;;AAC5C,IAAIrhC,WAAW,GAAG,QAAlB,EAA4B;;AAC5B,IAAIshC,sBAAsB,GAAG,iBAA7B,EAAgD;;AAChD,IAAIC,2BAA2B,GAAG,qBAAlC,EAAyD;;AACzD,IAAIC,kBAAkB,GAAG,cAAzB,EAAyC;;AACzC,IAAIC,2BAA2B,GAAG,sBAAlC,EAA0D;;AAC1D,IAAIC,uBAAuB,GAAG,iBAA9B,EAAiD;;AACjD,IAAIC,aAAa,GAAG,UAApB,EAAgC;;AAChC,IAAIC,2BAA2B,GAAG,uBAAlC,EAA2D;;AAC3D,IAAIC,oBAAoB,GAAG,eAA3B,EAA4C;;AAC5C,IAAIC,2BAA2B,GAAG,uBAAlC,EAA2D;;AAC3D,IAAIC,cAAc,GAAG,UAArB,EAAiC;;AACjC,IAAIC,2BAA2B,GAAG,qBAAlC,EAAyD;;AACzD,IAAI1iD,SAAS,GAAG,MAAhB,EAAwB;;AACxB,IAAI2iD,gBAAgB,GAAG,YAAvB,EAAqC;;AACrC,IAAIC,2BAA2B,GAAG,wBAAlC,EAA4D;;AAC5D,IAAIC,wBAAwB,GAAG,oBAA/B,EAAqD;;AACrD,IAAIC,wBAAwB,GAAG,mBAA/B,EAAoD;;AACpD,IAAIC,oBAAoB,GAAG,eAA3B,EAA4C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACtEnD;AACA;AACA;AACA;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAIG,mBAAmB,GAAG,WAA1B;AACA,IAAIC,UAAU,GAAG,SAAjB;AACA,IAAIC,WAAW,GAAG,UAAlB;AACA,IAAIC,SAAS,GAAG,OAAhB;AACA,IAAIC,YAAY,GAAG,kCAAnB;AACA,IAAIC,YAAY,GAAG,uCAAnB;AACA,IAAIC,aAAa,GAAGD,YAAY,GAAG,mBAAnC;AACA,IAAIE,cAAc,GAAGF,YAAY,GAAG,gBAApC;AACA,IAAIG,wBAAwB,GAAG,+GAA/B;AACA,IAAIC,4BAA4B,GAAG,gGAAnC;AACA,IAAIC,kCAAkC,GAAG,0CAAzC,EACA;;AACA,IAAIC,UAAU,GAAG,CAAjB;AACA;;AACA,SAASC,cAAT,GAA0B;AACtB,MAAIC,OAAO,GAAG/nC,iFAAS,EAAvB;;AACA,MAAI,CAAC+nC,OAAD,IACA12D,yFAAiB,CAAC02D,OAAO,CAACtyC,OAAT,CADjB,IAEApkB,yFAAiB,CAAC02D,OAAO,CAACtyC,OAAR,CAAgBuxC,oFAAhB,CAAD,CAFjB,IAGA31D,yFAAiB,CAAC02D,OAAO,CAACV,SAAD,CAAR,CAHrB,EAG2C;AACvC,WAAO,IAAP;AACH;;AACD,SAAOU,OAAO,CAACV,SAAD,CAAd;AACH;;AACD,IAAIxpD,YAAY,GAAG,IAAnB;;AACA,SAASC,WAAT,GAAuB;AACnB,MAAID,YAAY,IAAI,IAApB,EAA0B;AACtB,QAAI;AACAA,MAAAA,YAAY,GAAG,CAAC,EAAEE,IAAI,IAAIA,IAAI,YAAYC,iBAA1B,CAAhB;AACH,KAFD,CAGA,OAAOxvF,CAAP,EAAU;AACNqvF,MAAAA,YAAY,GAAG,KAAf;AACH;AACJ;;AACD,SAAOA,YAAP;AACH;AACD;AACA;AACA;AACA;AACA;;;AACA,SAASmqD,uBAAT,CAAiCC,mBAAjC,EAAsD;AAClD,MAAIzyK,MAAM,GAAG,KAAb;;AACA,MAAIw3H,sFAAc,EAAlB,EAAsB;AAClB,QAAI4/B,KAAK,GAAG5rF,cAAc,CAACgmG,oFAAD,CAA1B;AACAxxK,IAAAA,MAAM,GAAG,CAAC67G,yFAAiB,CAACu7C,KAAD,CAAlB,IACL,CAACv7C,yFAAiB,CAACu7C,KAAK,CAAC54J,IAAP,CADb,IAC6B;AAClC,KAACq9G,yFAAiB,CAACu7C,KAAK,CAACrrF,IAAP,CAFb,IAGL,CAAC8vC,yFAAiB,CAACu7C,KAAK,CAACsb,KAAP,CAHtB;AAIH;;AACD,MAAIl1C,KAAK,GAAGnG,oFAAY,EAAxB;;AACA,MAAImG,KAAK,IAAIA,KAAK,GAAG,CAArB,EAAwB;AACpBx9H,IAAAA,MAAM,GAAG,KAAT;AACH;;AACD,MAAIA,MAAJ,EAAY;AACR;AACA,QAAI;AACA,UAAIurE,GAAG,GAAG,IAAIC,cAAJ,EAAV;AACAD,MAAAA,GAAG,CAACqmG,WAAD,CAAH,GAAmB,EAAnB,CAFA,CAGA;;AACA,UAAIe,OAAO,GAAGnnG,cAAc,CAACgmG,oFAAD,CAAd,CAA6BhzK,IAA3C;AACAgtE,MAAAA,cAAc,CAACgmG,oFAAD,CAAd,CAA6BhzK,IAA7B,GAAoCm0K,OAApC;AACH,KAND,CAOA,OAAO35I,CAAP,EAAU;AACN;AACAh5B,MAAAA,MAAM,GAAG,KAAT;;AACA4yK,MAAAA,sBAAsB,CAACH,mBAAD,EAAsB;AAAG;AAAzB,QAA0E,wEAA1E,EAAoJ;AACtK9wD,QAAAA,SAAS,EAAE3G,+EAAO,CAAChiF,CAAD;AADoJ,OAApJ,CAAtB;AAGH;AACJ;;AACD,SAAOh5B,MAAP;AACH;AACD;;;AACA,SAAS6yK,gCAAT,CAA0CtnG,GAA1C,EAA+C;AAC3C,MAAIvrE,MAAM,GAAG,EAAb;;AACA,MAAI;AACA,QAAIurE,GAAG,IAAIA,GAAG,CAACqmG,WAAD,CAAV,IAA2BrmG,GAAG,CAACqmG,WAAD,CAAH,CAAiBrD,+DAAgBA;AAAC;AAAlC,KAA/B,EAA4F;AACxFvuK,MAAAA,MAAM,IAAI,YAAYurE,GAAG,CAACqmG,WAAD,CAAH,CAAiBrD,+DAAgBA;AAAC;AAAlC,OAAZ,GAA0E,IAApF;AACH;AACJ,GAJD,CAKA,OAAOv1I,CAAP,EAAU,CACN;AACH;;AACD,SAAOh5B,MAAP;AACH;AACD;;;AACA,SAAS4yK,sBAAT,CAAgCH,mBAAhC,EAAqDjrD,KAArD,EAA4Dt3H,OAA5D,EAAqE6rE,UAArE,EAAiF2rD,SAAjF,EAA4F;AACxFhG,EAAAA,sFAAc,CAAC+wD,mBAAmB,CAACd,UAAD,CAAnB,EAAD,EAAoC;AAAE;AAAtC,IAAuEnqD,KAAvE,EAA8Et3H,OAA9E,EAAuF6rE,UAAvF,EAAmG2rD,SAAnG,CAAd;AACH;AACD;;;AACA,SAASorD,qBAAT,CAA+BL,mBAA/B,EAAoDjrD,KAApD,EAA2Dt3H,OAA3D,EAAoE6rE,UAApE,EAAgF2rD,SAAhF,EAA2F;AACvFhG,EAAAA,sFAAc,CAAC+wD,mBAAmB,CAACd,UAAD,CAAnB,EAAD,EAAoC;AAAE;AAAtC,IAAsEnqD,KAAtE,EAA6Et3H,OAA7E,EAAsF6rE,UAAtF,EAAkG2rD,SAAlG,CAAd;AACH;AACD;;;AACA,SAASqrD,wBAAT,CAAkCN,mBAAlC,EAAuDO,eAAvD,EAAwE9iL,OAAxE,EAAiF;AAC7E;AACA,SAAO,UAAUuoH,IAAV,EAAgB;AACnBm6D,IAAAA,sBAAsB,CAACH,mBAAD,EAAsBO,eAAtB,EAAuC9iL,OAAvC,EAAgD;AAClE+iL,MAAAA,sBAAsB,EAAEJ,gCAAgC,CAACp6D,IAAI,CAAC+1D,wDAASA;AAAC;AAAX,OAAL,CADU;AAElE7sD,MAAAA,SAAS,EAAE3G,+EAAO,CAACvC,IAAI,CAACjuF,GAAN;AAFgD,KAAhD,CAAtB;AAIH,GALD;AAMH;;AACD,SAAS0oJ,QAAT,CAAkB3zK,KAAlB,EAAyBg5E,KAAzB,EAAgC;AAC5B,MAAIh5E,KAAK,IAAIg5E,KAAb,EAAoB;AAChB,WAAOh5E,KAAK,CAACkH,OAAN,CAAc8xE,KAAd,CAAP;AACH;;AACD,SAAO,CAAC,CAAR;AACH;;AACD,SAAS80F,WAAT,CAAqB8F,SAArB,EAAgC33K,EAAhC,EAAoCqnK,OAApC,EAA6C;AACzC,MAAIuQ,UAAU,GAAG;AACb53K,IAAAA,EAAE,EAAEA,EADS;AAEbivJ,IAAAA,EAAE,EAAEoY;AAFS,GAAjB;AAIAsQ,EAAAA,SAAS,CAAC7+I,IAAV,CAAe8+I,UAAf;AACA,SAAO;AACH9kE,IAAAA,MAAM,EAAE,YAAY;AAChBuM,MAAAA,kFAAU,CAACs4D,SAAD,EAAY,UAAUlvD,WAAV,EAAuBkkC,GAAvB,EAA4B;AAC9C,YAAIlkC,WAAW,CAACzoH,EAAZ,KAAmB43K,UAAU,CAAC53K,EAAlC,EAAsC;AAClC23K,UAAAA,SAAS,CAAC3hD,MAAV,CAAiB22B,GAAjB,EAAsB,CAAtB;AACA,iBAAO,CAAC,CAAR;AACH;AACJ,OALS,CAAV;AAMH;AARE,GAAP;AAUH;;AACD,SAASkrB,2BAAT,CAAqC1vD,IAArC,EAA2CwvD,SAA3C,EAAsDl7E,OAAtD,EAA+D/nG,OAA/D,EAAwE;AACpE,MAAI8P,MAAM,GAAG,IAAb;AACA66G,EAAAA,kFAAU,CAACs4D,SAAD,EAAY,UAAUtQ,OAAV,EAAmB1a,GAAnB,EAAwB;AAC1C,QAAI;AACA,UAAI0a,OAAO,CAACpY,EAAR,CAAWjzH,IAAX,CAAgB,IAAhB,EAAsBygE,OAAtB,MAAmC,KAAvC,EAA8C;AAC1Cj4F,QAAAA,MAAM,GAAG,KAAT;AACH;AACJ,KAJD,CAKA,OAAOg5B,CAAP,EAAU;AACN0oF,MAAAA,sFAAc,CAACiC,IAAI,IAAIA,IAAI,CAAC31F,MAAd,EAAsB;AAAE;AAAxB,QAAyD;AAAG;AAA5D,QAAkH,gBAAgB99B,OAAhB,GAA0B,KAA1B,GAAkCi4J,GAAlC,GAAwC,YAAxC,GAAuD9sC,wFAAgB,CAACriF,CAAD,CAAzL,EAA8L;AAAE2oF,QAAAA,SAAS,EAAE3G,+EAAO,CAAChiF,CAAD;AAApB,OAA9L,EAAyN,IAAzN,CAAd;AACH;AACJ,GATS,CAAV;AAUA,SAAOh5B,MAAP;AACH;;AACD,SAASszK,2BAAT,CAAqCjN,SAArC,EAAgD1iD,IAAhD,EAAsD4vD,QAAtD,EAAgEhoG,GAAhE,EAAqE3kB,KAArE,EAA4Eh3D,IAA5E,EAAkF;AAC9E,MAAI4jL,iBAAiB,GAAGnN,SAAS,CAAC9oD,0DAAWA;AAAC;AAAb,GAAjC;;AACA,MAAIi2D,iBAAiB,GAAG,CAAxB,EAA2B;AACvB,QAAIv7E,OAAO,GAAG;AACV0rB,MAAAA,IAAI,EAAEA,IADI;AAEVp4C,MAAAA,GAAG,EAAEA,GAFK;AAGV3kB,MAAAA,KAAK,EAAEA,KAHG;AAIVh3D,MAAAA,IAAI,EAAEA,IAJI;AAKVs+K,MAAAA,OAAO,EAAEqF,QAAQ,CAAC5kD,4DAAaA;AAAC;AAAf,OALP;AAMVw/C,MAAAA,MAAM,EAAEoF,QAAQ,CAACnH,2DAAYA;AAAC;AAAd,OANN;AAOV1uB,MAAAA,UAAU,EAAE61B,QAAQ,CAAClH,+DAAgBA;AAAC;AAAlB,OAPV;AAQV1tK,MAAAA,OAAO,EAAE40K,QAAQ,CAAC9E,2DAAYA;AAAC;AAAd,OAAR,IAAgD,EAR/C;AASVgF,MAAAA,OAAO,EAAE,CAAC,CAACF,QAAQ,CAAC7E,2DAAYA;AAAC;AAAd;AATT,KAAd;;AAWA2E,IAAAA,2BAA2B,CAAC1vD,IAAD,EAAO0iD,SAAP,EAAkBpuE,OAAlB,EAA2B,UAA3B,CAA3B;;AACAs7E,IAAAA,QAAQ,CAAC5kD,4DAAaA;AAAC;AAAf,KAAR,GAAgD12B,OAAO,CAAC02E,6DAAcA;AAAC;AAAhB,KAAvD;AACA4E,IAAAA,QAAQ,CAACnH,2DAAYA;AAAC;AAAd,KAAR,GAA8Cn0E,OAAO,CAAC22E,4DAAaA;AAAC;AAAf,KAArD;AACA2E,IAAAA,QAAQ,CAAClH,+DAAgBA;AAAC;AAAlB,KAAR,GAAsDp0E,OAAO,CAACo0E,+DAAgBA;AAAC;AAAlB,KAA7D;AACAkH,IAAAA,QAAQ,CAAC9E,2DAAYA;AAAC;AAAd,KAAR,GAA+Cx2E,OAAO,CAACw2E,2DAAYA;AAAC;AAAd,KAAtD;AACH;AACJ;;AACD,IAAIiF,SAAS,GAAG,cAAhB;AACO,IAAIC,kCAAkC,GAAGv1B,kFAAU,CAAC,CACvDs1B,SAAS,GAAG,aAD2C,EAEvDA,SAAS,GAAG,kBAF2C,EAGvDA,SAAS,GAAG,aAH2C,EAIvDA,SAAS,GAAG,mBAJ2C,CAAD,CAAnD;AAMP,IAAIE,yBAAyB,GAAG,CAC5B,qHAD4B,CAAhC;;AAGA,SAASz0D,iBAAT,GAA6B;AACzB,MAAIpxH,MAAM,GAAG;AACT8lL,IAAAA,mBAAmB,EAAE,GADZ;AAETC,IAAAA,mBAAmB,EAAE,KAFZ;AAGTC,IAAAA,oBAAoB,EAAE,KAHb;AAITC,IAAAA,sCAAsC,EAAEtzI,SAJ/B;AAKTo7G,IAAAA,yBAAyB,EAAE,KALlB;AAMTm4B,IAAAA,sBAAsB,EAAE;AAAE;AANjB;AAOT33B,IAAAA,gCAAgC,EAAEq3B,kCAPzB;AAQTx3B,IAAAA,wBAAwB,EAAEz7G,SARjB;AASTq7G,IAAAA,gCAAgC,EAAEr7G,SATzB;AAUTg+F,IAAAA,KAAK,EAAEh+F,SAVE;AAWTu7G,IAAAA,qBAAqB,EAAE,KAXd;AAYTi4B,IAAAA,2BAA2B,EAAE,KAZpB;AAaTC,IAAAA,4BAA4B,EAAE,KAbrB;AAcTC,IAAAA,yBAAyB,EAAE,KAdlB;AAeTC,IAAAA,sBAAsB,EAAE,KAff;AAgBTC,IAAAA,yBAAyB,EAAE,CAhBlB;AAiBTC,IAAAA,mBAAmB,EAAE,EAjBZ;AAkBTC,IAAAA,aAAa,EAAE,CACX,eADW,EAEX,WAFW,EAGX,kBAHW,CAlBN;AAuBTC,IAAAA,iBAAiB,EAAE/zI,SAvBV;AAwBTg0I,IAAAA,eAAe,EAAE;AAxBR,GAAb;AA0BA,SAAO3mL,MAAP;AACH;;AACD,SAAS4mL,eAAT,GAA2B;AACvB,MAAIC,WAAW,GAAGz1D,iBAAiB,EAAnC;;AACAjD,EAAAA,qFAAa,CAAC04D,WAAD,EAAc,UAAUr1K,KAAV,EAAiB;AACxCq1K,IAAAA,WAAW,CAACr1K,KAAD,CAAX,GAAqBmhC,SAArB;AACH,GAFY,CAAb;AAGA,SAAOk0I,WAAP;AACH;;AACD,IAAIC,WAAW;AAAG;AAAe,UAAU19I,MAAV,EAAkB;AAC/CqB,EAAAA,iFAAS,CAACq8I,WAAD,EAAc19I,MAAd,CAAT;;AACA,WAAS09I,WAAT,GAAuB;AACnB,QAAI31I,KAAK,GAAG/H,MAAM,CAACK,IAAP,CAAY,IAAZ,KAAqB,IAAjC;;AACA0H,IAAAA,KAAK,CAACygF,UAAN,GAAmBk1D,WAAW,CAACl1D,UAA/B;AACAzgF,IAAAA,KAAK,CAAC80E,QAAN,GAAiB,GAAjB;;AACA,QAAI8gE,iBAAJ,CAJmB,CAII;;;AACvB,QAAIC,eAAJ,CALmB,CAKE;;;AACrB,QAAIC,kBAAJ;;AACA,QAAIvkE,OAAJ;;AACA,QAAIwkE,4BAAJ;;AACA,QAAIC,0BAAJ;;AACA,QAAIv0D,kBAAJ;;AACA,QAAInU,QAAJ;;AACA,QAAI2oE,kBAAJ;;AACA,QAAIC,iBAAJ;;AACA,QAAIC,WAAJ;;AACA,QAAIC,uBAAJ;;AACA,QAAIC,oBAAJ;;AACA,QAAIC,6BAAJ;;AACA,QAAIC,aAAJ;;AACA,QAAIC,oBAAJ;;AACA,QAAIC,qBAAJ;;AACA,QAAIC,uCAAJ;;AACA,QAAIC,kBAAJ;;AACA,QAAI/0D,aAAJ;;AACA,QAAIg1D,oBAAJ;;AACA,QAAIC,oBAAJ;;AACA,QAAIC,uBAAJ;;AACAx8D,IAAAA,sEAAY,CAACq7D,WAAD,EAAc31I,KAAd,EAAqB,UAAU6hF,KAAV,EAAiBC,KAAjB,EAAwB;AACrD,UAAIC,QAAQ,GAAGD,KAAK,CAACC,QAArB;;AACAC,MAAAA,aAAa;;AACbH,MAAAA,KAAK,CAAC/zF,UAAN,GAAmB,UAAUj/B,MAAV,EAAkB41H,IAAlB,EAAwBC,UAAxB,EAAoCC,WAApC,EAAiD;AAChE,YAAI,CAAC9C,KAAK,CAAC+C,aAAN,EAAL,EAA4B;AACxB9C,UAAAA,KAAK,CAACh0F,UAAN,CAAiBj/B,MAAjB,EAAyB41H,IAAzB,EAA+BC,UAA/B,EAA2CC,WAA3C;;AACA/C,UAAAA,aAAa,GAAG9E,yFAAiB,CAACjB,6FAAqB,CAAC,MAAD,CAAtB,EAAgC4I,IAAI,IAAIA,IAAI,CAACK,YAAb,IAA6BL,IAAI,CAACK,YAAL,EAA7D,CAAjC;;AACAE,UAAAA,iBAAiB,CAACn2H,MAAD,CAAjB;;AACAkoL,UAAAA,cAAc;;AACdC,UAAAA,gBAAgB;;AAChBC,UAAAA,gBAAgB;AACnB;AACJ,OATD;;AAUAp1D,MAAAA,KAAK,CAAC4D,WAAN,GAAoB,YAAY;AAC5BzD,QAAAA,aAAa;AAChB,OAFD;;AAGAH,MAAAA,KAAK,CAACq1D,mBAAN,GAA4B,UAAUC,UAAV,EAAsBt6G,UAAtB,EAAkC;AAC1Du6G,QAAAA,yBAAyB,CAACN,uBAAD,EAA0Bj1D,KAAK,CAACtE,wDAASA;AAAC;AAAX,SAA/B,EAA+D,IAA/D,EAAqE45D,UAArE,EAAiFt6G,UAAjF,CAAzB;AACH,OAFD;;AAGAglD,MAAAA,KAAK,CAAC8tD,yEAA0BA;AAAC;AAA5B,OAAL,GAA4E,UAAU0E,QAAV,EAAoB3sH,KAApB,EAA2Bh3D,IAA3B,EAAiC27E,GAAjC,EAAsC;AAC9G;AACA,YAAIgrG,iBAAiB,GAAGx1D,KAAK,CAAC,oBAAD,CAAL,IAA+Bi0D,kBAAvD;;AACA1B,QAAAA,2BAA2B,CAACyC,oBAAD,EAAuBh1D,KAAK,CAACtE,wDAASA;AAAC;AAAX,SAA5B,EAA4D82D,QAA5D,EAAsEhoG,GAAtE,EAA2E3kB,KAA3E,EAAkFh3D,IAAlF,CAA3B;;AACA,YAAIg3D,KAAJ,EAAW;AAAE;AACT,cAAI80F,uFAAmB,CAACozB,yEAA0BA;AAAC;AAA5B,WAAnB,CAA0Fr+D,OAA1F,EAAmG8iE,QAAQ,CAACxE,oEAAqBA;AAAC;AAAvB,WAAR,EAAnG,EAAmKwH,iBAAnK,CAAJ,EAA2L;AACvL,gBAAI,CAAC3mL,IAAL,EAAW;AACPA,cAAAA,IAAI,GAAG,EAAP;AACH,aAHsL,CAIvL;AACA;AACA;;;AACA,gBAAIsjC,OAAO,GAAG,IAAI+3C,OAAJ,CAAYr7E,IAAI,CAACo/K,2DAAYA;AAAC;AAAd,aAAJ,KAA6CpoH,KAAK,YAAYq5E,OAAjB,GAA4Br5E,KAAK,CAACooH,2DAAYA;AAAC;AAAd,aAAL,IAA6C,EAAzE,GAA+E,EAA5H,CAAZ,CAAd;;AACA,gBAAIoG,iBAAJ,EAAuB;AACnB,kBAAI55K,EAAE,GAAG,MAAM+3K,QAAQ,CAAC5kD,4DAAaA;AAAC;AAAf,eAAd,GAAsD,GAAtD,GAA4D4kD,QAAQ,CAACnH,2DAAYA;AAAC;AAAd,eAA7E;AACAl5I,cAAAA,OAAO,CAACC,GAAR,CAAYgkG,qFAAZ,EAAqE37H,EAArE;;AACA,kBAAIy5K,4BAAJ,EAAkC;AAC9B1B,gBAAAA,QAAQ,CAACtE,mEAAoBA;AAAC;AAAtB,iBAAR,CAA4D93C,qFAA5D,IAAuH37H,EAAvH;AACH;AACJ;;AACD,gBAAIkjI,KAAK,GAAGjuB,OAAO,CAACy+D,0DAAWA;AAAC;AAAb,aAAP,IAA6C1iE,QAAQ,IAAIA,QAAQ,CAAC0iE,0DAAWA;AAAC;AAAb,aAAR,EAArE;;AACA,gBAAIxwC,KAAJ,EAAW;AACPxrG,cAAAA,OAAO,CAACC,GAAR,CAAYgkG,qFAAZ,EAA0EA,qFAAA,GAAoEuH,KAA9I;;AACA,kBAAIu2C,4BAAJ,EAAkC;AAC9B1B,gBAAAA,QAAQ,CAACtE,mEAAoBA;AAAC;AAAtB,iBAAR,CAA4D93C,qFAA5D,IAA4HA,qFAAA,GAAoEuH,KAAhM;AACH;AACJ;;AACD,gBAAIy2C,kBAAJ,EAAwB;AACpB,kBAAIz3B,UAAU,GAAG61B,QAAQ,CAAClH,+DAAgBA;AAAC;AAAlB,eAAzB;;AACA,kBAAIxwD,yFAAiB,CAAC6hC,UAAD,CAArB,EAAmC;AAC/BA,gBAAAA,UAAU,GAAG,IAAb;AACH;;AACD,kBAAI2wB,WAAW,GAAGnwB,yFAAiB,CAACJ,yFAAiB,CAACy1B,QAAQ,CAAC5kD,4DAAaA;AAAC;AAAf,eAAT,EAAgD4kD,QAAQ,CAACnH,2DAAYA;AAAC;AAAd,eAAxD,EAA6F1uB,UAA7F,CAAlB,CAAnC;AACAxqH,cAAAA,OAAO,CAACC,GAAR,CAAYgkG,qFAAZ,EAAuEk3C,WAAvE;;AACA,kBAAI4G,4BAAJ,EAAkC;AAC9B1B,gBAAAA,QAAQ,CAACtE,mEAAoBA;AAAC;AAAtB,iBAAR,CAA4D93C,qFAA5D,IAAyHk3C,WAAzH;AACH;AACJ;;AACDz+K,YAAAA,IAAI,CAACo/K,2DAAYA;AAAC;AAAd,aAAJ,GAA2C97I,OAA3C;AACH;;AACD,iBAAOtjC,IAAP;AACH,SArCD,MAsCK,IAAI27E,GAAJ,EAAS;AAAE;AACZ,cAAImwE,uFAAmB,CAACozB,yEAA0BA;AAAC;AAA5B,WAAnB,CAA0Fr+D,OAA1F,EAAmG8iE,QAAQ,CAACxE,oEAAqBA;AAAC;AAAvB,WAAR,EAAnG,EAAmKwH,iBAAnK,CAAJ,EAA2L;AACvL,gBAAInB,iBAAJ,EAAuB;AACnB,kBAAI55K,EAAE,GAAG,MAAM+3K,QAAQ,CAAC5kD,4DAAaA;AAAC;AAAf,eAAd,GAAsD,GAAtD,GAA4D4kD,QAAQ,CAACnH,2DAAYA;AAAC;AAAd,eAA7E;;AACA7gG,cAAAA,GAAG,CAACytD,sEAAuBA;AAAC;AAAzB,eAAH,CAA4D7B,qFAA5D,EAAqH37H,EAArH;;AACA,kBAAIy5K,4BAAJ,EAAkC;AAC9B1B,gBAAAA,QAAQ,CAACtE,mEAAoBA;AAAC;AAAtB,iBAAR,CAA4D93C,qFAA5D,IAAuH37H,EAAvH;AACH;AACJ;;AACD,gBAAIkjI,KAAK,GAAGjuB,OAAO,CAACy+D,0DAAWA;AAAC;AAAb,aAAP,IAA6C1iE,QAAQ,IAAIA,QAAQ,CAAC0iE,0DAAWA;AAAC;AAAb,aAAR,EAArE;;AACA,gBAAIxwC,KAAJ,EAAW;AACPnzD,cAAAA,GAAG,CAACytD,sEAAuBA;AAAC;AAAzB,eAAH,CAA4D7B,qFAA5D,EAA0HA,qFAAA,GAAoEuH,KAA9L;;AACA,kBAAIu2C,4BAAJ,EAAkC;AAC9B1B,gBAAAA,QAAQ,CAACtE,mEAAoBA;AAAC;AAAtB,iBAAR,CAA4D93C,qFAA5D,IAA4HA,qFAAA,GAAoEuH,KAAhM;AACH;AACJ;;AACD,gBAAIy2C,kBAAJ,EAAwB;AACpB,kBAAIz3B,UAAU,GAAG61B,QAAQ,CAAClH,+DAAgBA;AAAC;AAAlB,eAAzB;;AACA,kBAAIxwD,yFAAiB,CAAC6hC,UAAD,CAArB,EAAmC;AAC/BA,gBAAAA,UAAU,GAAG,IAAb;AACH;;AACD,kBAAI2wB,WAAW,GAAGnwB,yFAAiB,CAACJ,yFAAiB,CAACy1B,QAAQ,CAAC5kD,4DAAaA;AAAC;AAAf,eAAT,EAAgD4kD,QAAQ,CAACnH,2DAAYA;AAAC;AAAd,eAAxD,EAA6F1uB,UAA7F,CAAlB,CAAnC;;AACAnyE,cAAAA,GAAG,CAACytD,sEAAuBA;AAAC;AAAzB,eAAH,CAA4D7B,qFAA5D,EAAuHk3C,WAAvH;;AACA,kBAAI4G,4BAAJ,EAAkC;AAC9B1B,gBAAAA,QAAQ,CAACtE,mEAAoBA;AAAC;AAAtB,iBAAR,CAA4D93C,qFAA5D,IAAyHk3C,WAAzH;AACH;AACJ;AACJ;;AACD,iBAAO9iG,GAAP;AACH;;AACD,eAAO7qC,SAAP;AACH,OAzED;;AA0EAqgF,MAAAA,KAAK,CAACouD,yEAA0BA;AAAC;AAA5B,OAAL,GAA8E,UAAUkH,UAAV,EAAsBt6G,UAAtB,EAAkCsmD,gBAAlC,EAAoD;AAC9H,YAAIkzD,oBAAoB,KAAK,CAAC,CAA1B,IAA+B50D,kBAAkB,GAAG40D,oBAAxD,EAA8E;AAC1E;AACA;AACA;AACA,cAAI,CAAC9kE,OAAO,CAAC2+D,yEAA0BA;AAAC;AAA5B,WAAP,KAA6E;AAAE;AAA/E,aACE3+D,OAAO,CAAC2+D,yEAA0BA;AAAC;AAA5B,WAAP,KAA6E;AAAE;AADlF,eAEG,OAAOiH,UAAU,CAAC76K,EAAlB,KAAyB,QAF5B,IAEwC66K,UAAU,CAAC76K,EAAX,CAAc66K,UAAU,CAAC76K,EAAX,CAAc+hH,0DAAWA;AAAC;AAA1B,cAAkD,CAAhE,MAAuE,GAFnH,EAEwH;AACpH84D,YAAAA,UAAU,CAAC76K,EAAX,IAAiB,GAAjB;AACH;;AACD,cAAIqgH,yFAAiB,CAACw6D,UAAU,CAAChH,8DAAeA;AAAC;AAAjB,WAAX,CAArB,EAA4E;AACxEgH,YAAAA,UAAU,CAAChH,8DAAeA;AAAC;AAAjB,aAAV,GAAsD,IAAIj5H,IAAJ,EAAtD;AACH;;AACD,cAAIvtC,IAAI,GAAGsxG,2FAAmB,CAACk8D,UAAD,EAAar8D,iGAAb,EAA4CA,qGAA5C,EAA+E+G,KAAK,CAAC4wD,UAAD,CAAL,EAA/E,EAAoG51G,UAApG,EAAgHsmD,gBAAhH,CAA9B;;AACAtB,UAAAA,KAAK,CAACtE,wDAASA;AAAC;AAAX,WAAL,CAAoCyiC,KAApC,CAA0Cr2I,IAA1C;AACH,SAdD,MAeK,IAAI83G,kBAAkB,KAAK40D,oBAA3B,EAAiD;AAClD3C,UAAAA,sBAAsB,CAAC7xD,KAAD,EAAQ;AAAG;AAAX,YAA2D,yLAA3D,EAAsP,IAAtP,CAAtB;AACH;;AACD,UAAEJ,kBAAF;AACH,OApBD;;AAqBAI,MAAAA,KAAK,CAACy1D,qBAAN,GAA8B,UAAUC,kBAAV,EAA8B;AACxD,eAAOpJ,WAAW,CAAC0I,oBAAD,EAAuBD,oBAAoB,EAA3C,EAA+CW,kBAA/C,CAAlB;AACH,OAFD;;AAGA11D,MAAAA,KAAK,CAAC21D,wBAAN,GAAiC,UAAUC,qBAAV,EAAiC;AAC9D,eAAOtJ,WAAW,CAAC2I,uBAAD,EAA0BF,oBAAoB,EAA9C,EAAkDa,qBAAlD,CAAlB;AACH,OAFD;;AAGA,eAASz1D,aAAT,GAAyB;AACrB,YAAIzzG,QAAQ,GAAG8tG,mFAAW,EAA1B;AACAu5D,QAAAA,iBAAiB,GAAG,KAApB,CAFqB,CAEM;;AAC3BC,QAAAA,eAAe,GAAG,KAAlB,CAHqB,CAGI;;AACzBC,QAAAA,kBAAkB,GAAGvnK,QAAQ,IAAIA,QAAQ,CAAC0rE,IAArB,IAA6B1rE,QAAQ,CAAC0rE,IAAT,CAAc0qD,iEAAkBA;AAAC;AAAjC,WAAlD;AACApzB,QAAAA,OAAO,GAAGokE,WAAW,CAAC+B,cAAZ,EAAV;AACA3B,QAAAA,4BAA4B,GAAG,KAA/B;AACAC,QAAAA,0BAA0B,GAAG,KAA7B;AACAv0D,QAAAA,kBAAkB,GAAG,CAArB;AACAnU,QAAAA,QAAQ,GAAG,IAAX;AACA2oE,QAAAA,kBAAkB,GAAG,KAArB;AACAC,QAAAA,iBAAiB,GAAG,KAApB;AACAC,QAAAA,WAAW,GAAG,IAAd;AACAC,QAAAA,uBAAuB,GAAG,KAA1B;AACAC,QAAAA,oBAAoB,GAAG,CAAvB;AACAC,QAAAA,6BAA6B,GAAG,KAAhC;AACAC,QAAAA,aAAa,GAAG,EAAhB;AACAC,QAAAA,oBAAoB,GAAG,KAAvB;AACAC,QAAAA,qBAAqB,GAAG,KAAxB;AACAC,QAAAA,uCAAuC,GAAG,IAA1C;AACAC,QAAAA,kBAAkB,GAAG,IAArB;AACA/0D,QAAAA,aAAa,GAAG,IAAhB;AACAg1D,QAAAA,oBAAoB,GAAG,CAAvB;AACAC,QAAAA,oBAAoB,GAAG,EAAvB;AACAC,QAAAA,uBAAuB,GAAG,EAA1B;AACH;;AACD,eAAS9xD,iBAAT,CAA2Bn2H,MAA3B,EAAmC;AAC/B,YAAI+N,GAAG,GAAGg/G,sGAA6B,CAAC,IAAD,EAAO/sH,MAAP,EAAegzH,KAAK,CAACtE,wDAASA;AAAC;AAAX,SAApB,CAAvC,CAD+B,CAE/B;;AACAhM,QAAAA,OAAO,GAAGkkE,eAAe,EAAzB;;AACA,YAAIl5C,aAAa,GAAGtc,iBAAiB,EAArC;;AACAjD,QAAAA,qFAAa,CAACuf,aAAD,EAAgB,UAAUxW,KAAV,EAAiB1lH,KAAjB,EAAwB;AACjDkxG,UAAAA,OAAO,CAACwU,KAAD,CAAP,GAAiBnpH,GAAG,CAACopH,SAAJ,CAAc2vD,WAAW,CAACl1D,UAA1B,EAAsCsF,KAAtC,EAA6C1lH,KAA7C,CAAjB;AACH,SAFY,CAAb;AAGA,YAAI00K,sBAAsB,GAAGxjE,OAAO,CAAC2+D,yEAA0BA;AAAC;AAA5B,SAApC;AACA6F,QAAAA,4BAA4B,GAAGxkE,OAAO,CAAC6+D,yEAA0BA;AAAC;AAA5B,SAAtC;AACA4F,QAAAA,0BAA0B,GAAGzkE,OAAO,CAAC8+D,yEAA0BA;AAAC;AAA5B,SAApC;AACA+F,QAAAA,uBAAuB,GAAG7kE,OAAO,CAAC++D,yEAA0BA;AAAC;AAA5B,SAAjC;AACA+F,QAAAA,oBAAoB,GAAG9kE,OAAO,CAACg/D,yEAA0BA;AAAC;AAA5B,SAA9B;AACA+F,QAAAA,6BAA6B,GAAG/kE,OAAO,CAACi/D,0EAA2BA;AAAC;AAA7B,SAAvC;AACAkG,QAAAA,uCAAuC,GAAG,GAAG36I,MAAH,CAAUw1E,OAAO,CAACk/D,0EAA2BA;AAAC;AAA7B,SAAP,IAA6F,EAAvG,EAA2Gl/D,OAAO,CAACikE,eAAR,KAA4B,KAA5B,GAAoCd,yBAApC,GAAgE,EAA3K,CAA1C;AACAiC,QAAAA,kBAAkB,GAAGplE,OAAO,CAACm/D,uEAAwBA;AAAC;AAA1B,SAA5B;AACAwF,QAAAA,iBAAiB,GAAGnB,sBAAsB,KAAK;AAAE;AAA7B,WAAkEA,sBAAsB,KAAK;AAAE;AAAnH;AACAkB,QAAAA,kBAAkB,GAAGlB,sBAAsB,KAAK;AAAE;AAA7B,WAA0EA,sBAAsB,KAAK;AAAE;AAA5H;;AACA,YAAIqB,uBAAJ,EAA6B;AACzB,cAAIrjD,IAAI,GAAGlkI,MAAM,CAAC8oL,kBAAP,IAA6B,OAAxC;;AACA,cAAI5kD,IAAI,CAAC1U,0DAAWA;AAAC;AAAb,WAAJ,GAAyC,CAA7C,EAAgD;AAC5C83D,YAAAA,WAAW,GAAG3D,mBAAmB,GAAGz/C,IAAI,CAACp8E,SAAL,CAAeo8E,IAAI,CAAC1U,0DAAWA;AAAC;AAAb,aAAJ,GAAyC,CAAxD,CAAtB,GAAmF,GAAjG;AACH,WAFD,MAGK;AACD83D,YAAAA,WAAW,GAAG3D,mBAAmB,GAAGz/C,IAAtB,GAA6B,GAA3C;AACH;AACJ;;AACDyjD,QAAAA,oBAAoB,GAAG,CAAC,CAACjlE,OAAO,CAACo/D,0EAA2BA;AAAC;AAA7B,SAAhC;AACA8F,QAAAA,qBAAqB,GAAG,CAAC,CAACllE,OAAO,CAACq/D,0EAA2BA;AAAC;AAA7B,SAAjC;AACH;;AACD,eAASqG,gBAAT,GAA4B;AACxB,YAAIW,OAAO,GAAG/1D,KAAK,CAACtE,wDAASA;AAAC;AAAX,SAAL,CAAoCmK,SAApC,CAA8C7M,8FAA9C,CAAd;;AACA,YAAI+8D,OAAJ,EAAa;AACTtqE,UAAAA,QAAQ,GAAGsqE,OAAO,CAACjwD,MAAR,CAAe4nD,2DAAYA;AAAC;AAA5B,WAAX,CADS,CACsD;AAClE;AACJ,OArLoD,CAsLrD;;;AACA,eAASsI,kBAAT,CAA4B3rE,MAA5B,EAAoC;AAChC,YAAI4rE,GAAG,GAAG,IAAV;;AACA,YAAI5rE,MAAM,IAAIqF,OAAO,CAAC+jE,aAAtB,EAAqC;AACjC35D,UAAAA,kFAAU,CAACpK,OAAO,CAAC+jE,aAAT,EAAyB,UAAUrgJ,GAAV,EAAe;AAC9C,gBAAIA,GAAG,CAAC0vG,iEAAkBA;AAAC;AAApB,aAAH,OAAwDz4B,MAAM,CAACy4B,iEAAkBA;AAAC;AAApB,aAAN,EAA5D,EAAoH;AAChHmzC,cAAAA,GAAG,GAAG,KAAN;AACA,qBAAO,CAAC,CAAR;AACH;AACJ,WALS,CAAV;AAMH;;AACD,eAAOA,GAAP;AACH,OAlMoD,CAmMrD;;;AACA,eAASd,gBAAT,GAA4B;AACxB,YAAI3rG,KAAK,GAAG+nG,cAAc,EAA1B;;AACA,YAAI,CAAC/nG,KAAL,EAAY;AACR;AACH;;AACD,YAAIivF,MAAM,GAAGhvB,iFAAS,EAAtB;AACA,YAAIysC,UAAU,GAAG1sG,KAAK,CAAC2sG,QAAvB;;AACA,YAAI,CAACvB,qBAAD,IAA0B,CAACb,iBAA/B,EAAkD;AAC9C7zD,UAAAA,QAAQ,CAACykD,uFAAc,CAAClM,MAAD,EAASqY,SAAT,EAAoB;AACvC7rD,YAAAA,EAAE,EAAElF,aADmC;AAEvC;AACApuF,YAAAA,GAAG,EAAE,UAAUwzF,WAAV,EAAuBt/D,KAAvB,EAA8Bh3D,IAA9B,EAAoC;AACrC,kBAAIunL,SAAJ;;AACA,kBAAI,CAACxB,qBAAD,IAA0Bb,iBAA1B,IACA,CAACsC,kBAAkB,CAAC,IAAD,EAAOxwH,KAAP,EAAch3D,IAAd,CADnB,IAEA;AACA,gBAAEqnL,UAAU,IAAIlC,eAAhB,CAHJ,EAGsC;AAClC,oBAAIj5K,GAAG,GAAGoqH,WAAW,CAACpqH,GAAZ,EAAV;AACAq7K,gBAAAA,SAAS,GAAGE,kBAAkB,CAACzwH,KAAD,EAAQh3D,IAAR,CAA9B;;AACA,oBAAI0nL,OAAO,GAAGv2D,KAAK,CAAC8tD,yEAA0BA;AAAC;AAA5B,iBAAL,CAA0EsI,SAA1E,EAAqFvwH,KAArF,EAA4Fh3D,IAA5F,CAAd;;AACA,oBAAI0nL,OAAO,KAAK1nL,IAAhB,EAAsB;AAClBs2H,kBAAAA,WAAW,CAAC/yF,GAAZ,CAAgB,CAAhB,EAAmBmkJ,OAAnB;AACH;;AACDx7K,gBAAAA,GAAG,CAAC9F,IAAJ,GAAWmhL,SAAX;AACH;AACJ,aAjBsC;AAkBvClxD,YAAAA,GAAG,EAAE,UAAUC,WAAV,EAAuBt/D,KAAvB,EAA8B;AAC/B,kBAAI,CAAC+uH,qBAAL,EAA4B;AACxB,oBAAI4B,WAAW,GAAGrxD,WAAW,CAACpqH,GAAZ,GAAkB9F,IAApC;;AACA,oBAAIuhL,WAAJ,EAAiB;AACb;AACArxD,kBAAAA,WAAW,CAACC,IAAZ,GAAmBD,WAAW,CAACC,IAAZ,CAAiBtwH,IAAjB,CAAsB,UAAU+6B,QAAV,EAAoB;AACzD4mJ,oBAAAA,mBAAmB,CAACtxD,WAAD,EAAc,CAACt1F,QAAQ,IAAI,EAAb,EAAiBm/I,0DAAWA;AAAC;AAA7B,qBAAd,EAAkEnpH,KAAlE,EAAyEh2B,QAAzE,EAAmF2mJ,WAAnF,EAAgG,YAAY;AAC3H,0BAAIE,YAAY,GAAG;AACft3C,wBAAAA,UAAU,EAAE,CAACvvG,QAAQ,IAAI,EAAb,EAAiBo/I,+DAAgBA;AAAC;AAAlC,yBADG;AAEf0H,wBAAAA,SAAS,EAAE,IAFI;AAGfjlD,wBAAAA,kBAAkB,EAAEklD,2BAA2B,CAAC/mJ,QAAD;AAHhC,uBAAnB;;AAKA,0BAAI4kJ,6BAA6B,IAAI5kJ,QAArC,EAA+C;AAC3C,4BAAIgnJ,mBAAmB,GAAG,EAA1B;AACAhnJ,wBAAAA,QAAQ,CAACsC,OAAT,CAAiBgB,OAAjB,CAAyB,UAAU30B,KAAV,EAAiBV,IAAjB,EAAuB;AAC5C,8BAAIk4K,kBAAkB,CAACl4K,IAAD,CAAtB,EAA8B;AAC1B+4K,4BAAAA,mBAAmB,CAAC/4K,IAAD,CAAnB,GAA4BU,KAA5B;AACH;AACJ,yBAJD;AAKAk4K,wBAAAA,YAAY,CAACxH,8DAAeA;AAAC;AAAjB,yBAAZ,GAAwD2H,mBAAxD;AACH;;AACD,6BAAOH,YAAP;AACH,qBAhBkB,CAAnB;;AAiBA,2BAAO7mJ,QAAP;AACH,mBAnBkB,EAmBhB,OAnBgB,EAmBP,UAAUynF,MAAV,EAAkB;AAC1Bm/D,oBAAAA,mBAAmB,CAACtxD,WAAD,EAAc,CAAd,EAAiBt/D,KAAjB,EAAwB,IAAxB,EAA8B2wH,WAA9B,EAA2C,IAA3C,EAAiD;AAAE7yK,sBAAAA,KAAK,EAAE2zG,MAAM,CAACnoH,OAAP,IAAkB8qH,+EAAO,CAAC3C,MAAD;AAAlC,qBAAjD,CAAnB;;AACA,0BAAMA,MAAN;AACH,mBAtBkB,CAAnB;AAuBH;AACJ;AACJ,aAhDsC;AAiDvC;AACAw/D,YAAAA,KAAK,EAAE9E,wBAAwB,CAAChyD,KAAD,EAAQ;AAAG;AAAX,cAA4D,mCAAmCixD,aAA/F;AAlDQ,WAApB,EAmDpB,IAnDoB,EAmDd1pD,WAAW,EAnDG,CAAf,CAAR;;AAoDAwsD,UAAAA,iBAAiB,GAAG,IAApB;AACH,SAtDD,MAuDK,IAAImC,UAAJ,EAAgB;AACjB;AACA;AACA;AACA;AACA;AACA;AACAh2D,UAAAA,QAAQ,CAACykD,uFAAc,CAAClM,MAAD,EAASqY,SAAT,EAAoB;AACvC7rD,YAAAA,EAAE,EAAElF,aADmC;AAEvCpuF,YAAAA,GAAG,EAAE,UAAUwzF,WAAV,EAAuBt/D,KAAvB,EAA8Bh3D,IAA9B,EAAoC;AACrC;AACAwnL,cAAAA,kBAAkB,CAAC,IAAD,EAAOxwH,KAAP,EAAch3D,IAAd,CAAlB;AACH;AALsC,WAApB,CAAf,CAAR;AAOH;;AACD,YAAIqnL,UAAJ,EAAgB;AACZ;AACA;AACAzd,UAAAA,MAAM,CAACqY,SAAD,CAAN,CAAkBqF,QAAlB,GAA6BD,UAA7B;AACH;AACJ;;AACD,eAASa,UAAT,CAAoB77H,MAApB,EAA4BsmH,QAA5B,EAAsCp/D,SAAtC,EAAiD;AAC7C8d,QAAAA,QAAQ,CAACwkD,wFAAe,CAACxpH,MAAD,EAASsmH,QAAT,EAAmBp/D,SAAnB,CAAhB,CAAR;AACH;;AACD,eAAS8yE,cAAT,GAA0B;AACtB,YAAIzD,uBAAuB,CAACzxD,KAAD,CAAvB,IAAkC,CAAC20D,oBAAnC,IAA2D,CAACX,eAAhE,EAAiF;AAC7E;AACA+C,UAAAA,UAAU,CAACtsG,cAAD,EAAiB,MAAjB,EAAyB;AAC/Bw6C,YAAAA,EAAE,EAAElF,aAD2B;AAE/BpuF,YAAAA,GAAG,EAAE,UAAU+lF,IAAV,EAAgB7lF,MAAhB,EAAwBnnB,GAAxB,EAA6B4xH,KAA7B,EAAoC;AACrC,kBAAI,CAACq4C,oBAAL,EAA2B;AACvB,oBAAInqG,GAAG,GAAGktC,IAAI,CAAC+1D,wDAASA;AAAC;AAAX,iBAAd;AACA,oBAAI+E,QAAQ,GAAGhoG,GAAG,CAACqmG,WAAD,CAAlB;;AACA,oBAAI,CAACwF,kBAAkB,CAAC7rG,GAAD,EAAM9/D,GAAN,CAAnB,IAAiCssK,uBAAuB,CAACxsG,GAAD,EAAM,IAAN,CAA5D,EAAyE;AACrE,sBAAI,CAACgoG,QAAD,IAAa,CAACA,QAAQ,CAACyE,kBAAT,CAA4B9H,6DAAcA;AAAC;AAA3C,mBAAlB,EAAsF;AAClF;AACA+H,oBAAAA,YAAY,CAAC1sG,GAAD,EAAM34C,MAAN,EAAcnnB,GAAd,EAAmB4xH,KAAnB,CAAZ;AACH,mBAJoE,CAKrE;;;AACA66C,kBAAAA,2BAA2B,CAAC3sG,GAAD,CAA3B;AACH;AACJ;AACJ,aAf8B;AAgB/BssG,YAAAA,KAAK,EAAE9E,wBAAwB,CAAChyD,KAAD,EAAQ;AAAG;AAAX,cAA4D+wD,YAAY,GAAG,OAAf,GAAyBE,aAArF;AAhBA,WAAzB,CAAV,CAF6E,CAoB7E;;;AACA8F,UAAAA,UAAU,CAACtsG,cAAD,EAAiB,MAAjB,EAAyB;AAC/Bw6C,YAAAA,EAAE,EAAElF,aAD2B;AAE/BpuF,YAAAA,GAAG,EAAE,UAAU+lF,IAAV,EAAgB95G,OAAhB,EAAyB;AAC1B,kBAAI,CAAC+2K,oBAAL,EAA2B;AACvB,oBAAInqG,GAAG,GAAGktC,IAAI,CAAC+1D,wDAASA;AAAC;AAAX,iBAAd;AACA,oBAAI+E,QAAQ,GAAGhoG,GAAG,CAACqmG,WAAD,CAAlB;;AACA,oBAAImG,uBAAuB,CAACxsG,GAAD,CAAvB,IAAgC,CAACgoG,QAAQ,CAACyE,kBAAT,CAA4B7H,6DAAcA;AAAC;AAA3C,iBAArC,EAAyG;AACrGgI,kBAAAA,aAAa,CAAC,KAAD,EAAQ5E,QAAR,CAAb;;AACAA,kBAAAA,QAAQ,CAACnD,qEAAsBA;AAAC;AAAxB,mBAAR,GAAiEtzB,wFAAgB,EAAjF;;AACA/7B,kBAAAA,KAAK,CAAC8tD,yEAA0BA;AAAC;AAA5B,mBAAL,CAA0E0E,QAA1E,EAAoF7yI,SAApF,EAA+FA,SAA/F,EAA0G6qC,GAA1G;;AACAgoG,kBAAAA,QAAQ,CAACyE,kBAAT,CAA4B7H,6DAAcA;AAAC;AAA3C,sBAAqE,IAArE;AACH;AACJ;AACJ,aAb8B;AAc/B0H,YAAAA,KAAK,EAAE9E,wBAAwB,CAAChyD,KAAD,EAAQ;AAAG;AAAX,cAA4D+wD,YAAY,GAAGE,aAA3E;AAdA,WAAzB,CAAV,CArB6E,CAqC7E;;;AACA8F,UAAAA,UAAU,CAACtsG,cAAD,EAAiB,OAAjB,EAA0B;AAChCw6C,YAAAA,EAAE,EAAElF,aAD4B;AAEhCpuF,YAAAA,GAAG,EAAE,UAAU+lF,IAAV,EAAgB;AACjB,kBAAI,CAACi9D,oBAAL,EAA2B;AACvB,oBAAInqG,GAAG,GAAGktC,IAAI,CAAC+1D,wDAASA;AAAC;AAAX,iBAAd;AACA,oBAAI+E,QAAQ,GAAGhoG,GAAG,CAACqmG,WAAD,CAAlB;;AACA,oBAAImG,uBAAuB,CAACxsG,GAAD,CAAvB,IAAgC,CAACgoG,QAAQ,CAACyE,kBAAT,CAA4B3H,8DAAeA;AAAC;AAA5C,iBAArC,EAA2G;AACvGkD,kBAAAA,QAAQ,CAAC7E,2DAAYA;AAAC;AAAd,mBAAR,GAA+C,CAA/C;AACA6E,kBAAAA,QAAQ,CAACyE,kBAAT,CAA4B3H,8DAAeA;AAAC;AAA5C,sBAAuE,IAAvE;AACH;AACJ;AACJ,aAX+B;AAYhCwH,YAAAA,KAAK,EAAE9E,wBAAwB,CAAChyD,KAAD,EAAQ;AAAG;AAAX,cAA6D+wD,YAAY,GAAG,QAAf,GAA0BE,aAAvF;AAZC,WAA1B,CAAV,CAtC6E,CAoD7E;;;AACA8F,UAAAA,UAAU,CAACtsG,cAAD,EAAiB,kBAAjB,EAAqC;AAC3Cw6C,YAAAA,EAAE,EAAElF,aADuC;AAE3CpuF,YAAAA,GAAG,EAAE,UAAU+lF,IAAV,EAAgBrN,MAAhB,EAAwB7rG,KAAxB,EAA+B;AAChC,kBAAI,CAACm2K,oBAAD,IAAyBT,4BAA7B,EAA2D;AACvD,oBAAI1pG,GAAG,GAAGktC,IAAI,CAAC+1D,wDAASA;AAAC;AAAX,iBAAd;;AACA,oBAAIuJ,uBAAuB,CAACxsG,GAAD,CAAvB,IAAgCwrG,kBAAkB,CAAC3rE,MAAD,CAAtD,EAAgE;AAC5D7/B,kBAAAA,GAAG,CAACqmG,WAAD,CAAH,CAAiB3C,mEAAoBA;AAAC;AAAtC,oBAAoE7jE,MAApE,IAA8E7rG,KAA9E;AACH;AACJ;AACJ,aAT0C;AAU3Cs4K,YAAAA,KAAK,EAAE9E,wBAAwB,CAAChyD,KAAD,EAAQ;AAAG;AAAX,cAAwE+wD,YAAY,GAAG,mBAAf,GAAqCE,aAA7G;AAVY,WAArC,CAAV;;AAYA+C,UAAAA,eAAe,GAAG,IAAlB;AACH;AACJ;;AACD,eAASqC,kBAAT,CAA4B7rG,GAA5B,EAAiCr+C,OAAjC,EAA0Ct9B,IAA1C,EAAgD;AAC5C,YAAIwoL,UAAU,GAAG,KAAjB;;AACA,YAAIC,MAAM,GAAG,CAAC,CAAC,CAACv8D,gFAAQ,CAAC5uF,OAAD,CAAT,GAAqB,CAACA,OAAO,IAAI,EAAZ,EAAgBzhB,GAAhB,IAAuB,EAA5C,GAAiDyhB,OAAlD,KAA8D,EAA/D,EAAmE22G,iEAAkBA;AAAC;AAAtF,WAAb,CAF4C,CAG5C;;;AACAhpB,QAAAA,kFAAU,CAAC+6D,uCAAD,EAA0C,UAAUpyJ,KAAV,EAAiB;AACjE,cAAI80J,QAAQ,GAAG90J,KAAf;;AACA,cAAIs4F,gFAAQ,CAACt4F,KAAD,CAAZ,EAAqB;AACjB80J,YAAAA,QAAQ,GAAG,IAAI70J,MAAJ,CAAWD,KAAX,CAAX;AACH;;AACD,cAAI,CAAC40J,UAAL,EAAiB;AACbA,YAAAA,UAAU,GAAGE,QAAQ,CAAC50J,IAAT,CAAc20J,MAAd,CAAb;AACH;AACJ,SARS,CAAV,CAJ4C,CAa5C;;AACA,YAAID,UAAJ,EAAgB;AACZ,iBAAOA,UAAP;AACH;;AACD,YAAIjwB,GAAG,GAAG+qB,QAAQ,CAACmF,MAAD,EAAS,GAAT,CAAlB;;AACA,YAAIE,IAAI,GAAGrF,QAAQ,CAACmF,MAAD,EAAS,GAAT,CAAnB;;AACA,YAAIlwB,GAAG,KAAK,CAAC,CAAT,IAAeowB,IAAI,KAAK,CAAC,CAAV,IAAeA,IAAI,GAAGpwB,GAAzC,EAA+C;AAC3CA,UAAAA,GAAG,GAAGowB,IAAN;AACH;;AACD,YAAIpwB,GAAG,KAAK,CAAC,CAAb,EAAgB;AACZ;AACAkwB,UAAAA,MAAM,GAAGA,MAAM,CAACxiI,SAAP,CAAiB,CAAjB,EAAoBsyG,GAApB,CAAT;AACH,SAzB2C,CA0B5C;;;AACA,YAAI,CAACtsC,yFAAiB,CAACtwC,GAAD,CAAtB,EAA6B;AACzB;AACA6sG,UAAAA,UAAU,GAAG7sG,GAAG,CAAC0rD,wFAAD,CAAH,KAA8B,IAA9B,IAAsCohD,MAAM,CAACphD,wFAAD,CAAN,KAAiC,IAApF;AACH,SAHD,MAIK,IAAI,CAACpb,yFAAiB,CAAC3uF,OAAD,CAAtB,EAAiC;AAAE;AACpC;AACAkrJ,UAAAA,UAAU,GAAG,CAAC,OAAOlrJ,OAAP,KAAmB,QAAnB,GAA8BA,OAAO,CAAC+pG,wFAAD,CAAP,KAAkC,IAAhE,GAAuE,KAAxE,MACRrnI,IAAI,GAAGA,IAAI,CAACqnI,wFAAD,CAAJ,KAA+B,IAAlC,GAAyC,KADrC,CAAb;AAEH,SAnC2C,CAoC5C;;;AACA,YAAI,CAACmhD,UAAD,IAAeC,MAAf,IAAyBjhD,6GAAqC,CAACihD,MAAD,CAAlE,EAA4E;AACxED,UAAAA,UAAU,GAAG,IAAb;AACH;;AACD,YAAIA,UAAJ,EAAgB;AACZ;AACA,cAAI,CAAC3C,aAAa,CAAC4C,MAAD,CAAlB,EAA4B;AACxB5C,YAAAA,aAAa,CAAC4C,MAAD,CAAb,GAAwB,CAAxB;AACH;AACJ,SALD,MAMK;AACD;AACA,cAAI5C,aAAa,CAAC4C,MAAD,CAAjB,EAA2B;AACvBD,YAAAA,UAAU,GAAG,IAAb;AACH;AACJ;;AACD,eAAOA,UAAP;AACH,OApZoD,CAqZrD;AACA;AACA;;;AACA,eAASL,uBAAT,CAAiCxsG,GAAjC,EAAsCitG,yBAAtC,EAAiE;AAC7D,YAAIC,cAAc,GAAG,IAArB;AACA,YAAIv7I,WAAW,GAAG63I,eAAlB;;AACA,YAAI,CAACl5D,yFAAiB,CAACtwC,GAAD,CAAtB,EAA6B;AACzBktG,UAAAA,cAAc,GAAGD,yBAAyB,KAAK,IAA9B,IAAsC,CAAC38D,yFAAiB,CAACtwC,GAAG,CAACqmG,WAAD,CAAJ,CAAzE;AACH,SAL4D,CAM7D;;;AACA,eAAO10I,WAAW,CACd;AADc,WAEXu7I,cAFP;AAGH;;AACD,eAAShyD,uBAAT,GAAmC;AAC/B,YAAIC,mBAAmB,GAAG,IAA1B;;AACA,YAAI3F,KAAK,CAACtE,wDAASA;AAAC;AAAX,SAAL,IAAuCsE,KAAK,CAACtE,wDAASA;AAAC;AAAX,SAAL,CAAoCkK,WAA/E,EAA4F;AACxFD,UAAAA,mBAAmB,GAAG3F,KAAK,CAACtE,wDAASA;AAAC;AAAX,WAAL,CAAoCkK,WAApC,CAAgD,KAAhD,CAAtB;AACH,SAJ8B,CAK/B;;;AACA,YAAI,CAACD,mBAAD,IAAwBla,QAAxB,IAAoCA,QAAQ,CAACsa,cAAjD,EAAiE;AAC7DJ,UAAAA,mBAAmB,GAAGzM,8GAAsC,CAACzN,QAAQ,CAACsa,cAAV,CAA5D;AACH;;AACD,eAAOJ,mBAAP;AACH;;AACD,eAASuxD,YAAT,CAAsB1sG,GAAtB,EAA2B34C,MAA3B,EAAmCnnB,GAAnC,EAAwC4xH,KAAxC,EAA+C;AAC3C,YAAIj/F,EAAJ;;AACA,YAAIsoF,mBAAmB,GAAGD,uBAAuB,EAAjD;;AACA,YAAI62B,OAAO,GAAI52B,mBAAmB,IAAIA,mBAAmB,CAAC4pD,gEAAiBA;AAAC;AAAnB,SAAnB,EAAxB,IAA8Fn1D,sFAAa,EAAzH;AACA,YAAIu9D,MAAM,GAAGv9D,sFAAa,GAAGmyB,MAAhB,CAAuB,CAAvB,EAA0B,EAA1B,CAAb;AACA,YAAIimC,QAAQ,GAAG,IAAI9B,oDAAJ,CAAen0B,OAAf,EAAwBo7B,MAAxB,EAAgC33D,KAAK,CAAC4wD,UAAD,CAAL,EAAhC,EAAqD,CAACvzI,EAAE,GAAG2iF,KAAK,CAAC4C,IAAZ,MAAsB,IAAtB,IAA8BvlF,EAAE,KAAK,KAAK,CAA1C,GAA8C,KAAK,CAAnD,GAAuDA,EAAE,CAACuoF,WAAH,EAA5G,CAAf;AACA4sD,QAAAA,QAAQ,CAAClH,+DAAgBA;AAAC;AAAlB,SAAR,GAAsD3lD,mBAAmB,IAAIA,mBAAmB,CAAC6pD,mEAAoBA;AAAC;AAAtB,SAAnB,EAA7E;AACAgD,QAAAA,QAAQ,CAACrkC,0DAAWA;AAAC;AAAb,SAAR,GAA6Ct8G,MAA7C;AACA2gJ,QAAAA,QAAQ,CAAChF,+DAAgBA;AAAC;AAAlB,SAAR,GAAsD9iK,GAAtD;AACA8nK,QAAAA,QAAQ,CAACyE,kBAAT,CAA4B9H,6DAAcA;AAAC;AAA3C,YAAqE,IAArE;AACAqD,QAAAA,QAAQ,CAACtE,mEAAoBA;AAAC;AAAtB,SAAR,GAA8D,EAA9D;AACAsE,QAAAA,QAAQ,CAACl2C,KAAT,GAAiBA,KAAjB;AACAk2C,QAAAA,QAAQ,CAAC/C,qEAAsBA;AAAC;AAAxB,SAAR,GAAiE0E,0BAAjE;AACA3pG,QAAAA,GAAG,CAACqmG,WAAD,CAAH,GAAmB2B,QAAnB;AACH;;AACD,eAAS2E,2BAAT,CAAqC3sG,GAArC,EAA0C;AACtCA,QAAAA,GAAG,CAACqmG,WAAD,CAAH,CAAiBoG,kBAAjB,CAAoCvH,0EAA2BA;AAAC;AAAhE,YAAqGv1D,+EAAO,CAAC3vC,GAAD,EAAM,kBAAN,EAA0B,YAAY;AAC9I,cAAI;AACA,gBAAIA,GAAG,IAAIA,GAAG,CAAC0xD,UAAJ,KAAmB,CAA1B,IAA+B86C,uBAAuB,CAACxsG,GAAD,CAA1D,EAAiE;AAC7DotG,cAAAA,eAAe,CAACptG,GAAD,CAAf;AACH;AACJ,WAJD,CAKA,OAAOvyC,CAAP,EAAU;AACN,gBAAI4/I,aAAa,GAAG59D,+EAAO,CAAChiF,CAAD,CAA3B,CADM,CAEN;;AACA,gBAAI,CAAC4/I,aAAD,IAAkB1F,QAAQ,CAAC0F,aAAa,CAAC/0C,iEAAkBA;AAAC;AAApB,aAAb,EAAD,EAAgE,UAAhE,CAAR,KAAwF,CAAC,CAA/G,EAAkH;AAC9G+uC,cAAAA,sBAAsB,CAAC7xD,KAAD,EAAQ;AAAG;AAAX,gBAA2D+wD,YAAY,GAAG,mCAAf,GAAqDE,aAAhH,EAA+H;AACjJiB,gBAAAA,sBAAsB,EAAEJ,gCAAgC,CAACtnG,GAAD,CADyF;AAEjJo2C,gBAAAA,SAAS,EAAEi3D;AAFsI,eAA/H,CAAtB;AAIH;AACJ;AACJ,SAhB2G,EAgBzG93D,aAhByG,CAA5G;AAiBH;;AACD,eAAS4Y,gBAAT,CAA0BnuD,GAA1B,EAA+B;AAC3B,YAAI;AACA,cAAIstG,YAAY,GAAGttG,GAAG,CAACstG,YAAvB;;AACA,cAAIA,YAAY,KAAK,EAAjB,IAAuBA,YAAY,KAAK,MAA5C,EAAoD;AAChD;AACA,mBAAOttG,GAAG,CAACmlG,iEAAkBA;AAAC;AAApB,aAAV;AACH;AACJ,SAND,CAOA,OAAO13I,CAAP,EAAU,CACN;AACH;;AACD,eAAO,IAAP;AACH;;AACD,eAAS2/I,eAAT,CAAyBptG,GAAzB,EAA8B;AAC1B,YAAIgoG,QAAQ,GAAGhoG,GAAG,CAACqmG,WAAD,CAAlB;AACA2B,QAAAA,QAAQ,CAAC5C,0EAA2BA;AAAC;AAA7B,SAAR,GAA2E7zB,wFAAgB,EAA3F;AACAy2B,QAAAA,QAAQ,CAACxD,0DAAWA;AAAC;AAAb,SAAR,GAA6CxkG,GAAG,CAACwkG,0DAAWA;AAAC;AAAb,SAAhD;;AACA,iBAAS+I,eAAT,CAAyB9/I,CAAzB,EAA4B+/I,WAA5B,EAAyC;AACrC,cAAIC,UAAU,GAAGD,WAAW,IAAI,EAAhC;AACAC,UAAAA,UAAU,CAAC,wBAAD,CAAV,GAAuCnG,gCAAgC,CAACtnG,GAAD,CAAvE;;AACA,cAAIvyC,CAAJ,EAAO;AACHggJ,YAAAA,UAAU,CAAC,WAAD,CAAV,GAA0Bh+D,+EAAO,CAAChiF,CAAD,CAAjC;AACH;;AACD85I,UAAAA,qBAAqB,CAAC/xD,KAAD,EAAQ;AAAG;AAAX,YAA2DqxD,kCAAkC,GAAG,WAArC,GAAmDH,cAA9G,EAA8H+G,UAA9H,CAArB;AACH;;AACDC,QAAAA,sBAAsB,CAAC,gBAAD,EAAmB1F,QAAnB,EAA6B,YAAY;AAC3D,cAAI;AACA,gBAAI8C,UAAU,GAAG9C,QAAQ,CAAC3C,sEAAuBA;AAAC;AAAzB,aAAR,CAAgE,MAAhE,EAAwEqE,4BAAxE,EAAsG,YAAY;AAC/H,kBAAIwC,YAAY,GAAG;AACft3C,gBAAAA,UAAU,EAAE50D,GAAG,CAACykG,+DAAgBA;AAAC;AAAlB,iBADA;AAEf0H,gBAAAA,SAAS,EAAE,IAFI;AAGfjlD,gBAAAA,kBAAkB,EAAEymD,0BAA0B,CAAC3tG,GAAD,CAH/B;AAIfjmE,gBAAAA,IAAI,EAAEimE,GAAG,CAACstG,YAJK;AAKfjtG,gBAAAA,YAAY,EAAE8tD,gBAAgB,CAACnuD,GAAD,CALf;AAMf36C,gBAAAA,QAAQ,EAAE26C,GAAG,CAACslG,4DAAaA;AAAC;AAAf;AANE,eAAnB;;AAQA,kBAAI2E,6BAAJ,EAAmC;AAC/B,oBAAItiJ,OAAO,GAAGq4C,GAAG,CAACulG,0EAA2BA;AAAC;AAA7B,iBAAH,EAAd;;AACA,oBAAI59I,OAAJ,EAAa;AACT;AACA;AACA,sBAAIhtB,GAAG,GAAGylI,+EAAO,CAACz4G,OAAD,CAAP,CAAiB9lB,KAAjB,CAAuB,SAAvB,CAAV;AACA,sBAAI+rK,mBAAmB,GAAG,EAA1B;AACAt+D,kBAAAA,kFAAU,CAAC30G,GAAD,EAAM,UAAU4sI,IAAV,EAAgB;AAC5B,wBAAIxmE,KAAK,GAAGwmE,IAAI,CAAC1lI,KAAL,CAAW,IAAX,CAAZ;AACA,wBAAIg+F,MAAM,GAAG9+B,KAAK,CAACE,KAAN,EAAb;AACA,wBAAIjtE,KAAK,GAAG+sE,KAAK,CAAClxE,IAAN,CAAW,IAAX,CAAZ;;AACA,wBAAI27K,kBAAkB,CAAC3rE,MAAD,CAAtB,EAAgC;AAC5B+tE,sBAAAA,mBAAmB,CAAC/tE,MAAD,CAAnB,GAA8B7rG,KAA9B;AACH;AACJ,mBAPS,CAAV;AAQAk4K,kBAAAA,YAAY,CAACxH,8DAAeA;AAAC;AAAjB,mBAAZ,GAAwDkJ,mBAAxD;AACH;AACJ;;AACD,qBAAO1B,YAAP;AACH,aA5BgB,CAAjB;;AA6BA,gBAAI17G,UAAU,GAAG,KAAK,CAAtB;;AACA,gBAAI;AACA,kBAAI,CAAC,CAAC85G,kBAAN,EAA0B;AACtB95G,gBAAAA,UAAU,GAAG85G,kBAAkB,CAAC;AAAEplK,kBAAAA,MAAM,EAAE86D,GAAG,CAACwkG,0DAAWA;AAAC;AAAb,mBAAb;AAAiDxkG,kBAAAA,GAAG,EAAEA;AAAtD,iBAAD,CAA/B;AACH;AACJ,aAJD,CAKA,OAAOvyC,CAAP,EAAU;AACN85I,cAAAA,qBAAqB,CAAC/xD,KAAD,EAAQ;AAAI;AAAZ,gBAA+EoxD,4BAA/E,CAArB;AACH;;AACD,gBAAIkE,UAAJ,EAAgB;AACZ,kBAAIt6G,UAAU,KAAKr7B,SAAnB,EAA8B;AAC1B21I,gBAAAA,UAAU,CAAC/H,+DAAcA;AAAC;AAAhB,iBAAV,GAAsD51I,gFAAQ,CAACA,gFAAQ,CAAC,EAAD,EAAK29I,UAAU,CAACt6G,UAAhB,CAAT,EAAsCA,UAAtC,CAA9D;AACH;;AACD,kBAAIq9G,aAAa,GAAG7F,QAAQ,CAACxC,mEAAoBA;AAAC;AAAtB,eAAR,EAApB;;AACAuF,cAAAA,yBAAyB,CAACN,uBAAD,EAA0Bj1D,KAAK,CAACtE,wDAASA;AAAC;AAAX,eAA/B,EAA+D82D,QAA/D,EAAyE8C,UAAzE,EAAqF,IAArF,EAA2F+C,aAA3F,CAAzB;AACH,aAND,MAOK;AACDN,cAAAA,eAAe,CAAC,IAAD,EAAO;AAClBO,gBAAAA,eAAe,EAAE9F,QAAQ,CAACnD,qEAAsBA;AAAC;AAAxB,iBADP;AAElBkJ,gBAAAA,oBAAoB,EAAE/F,QAAQ,CAAC5C,0EAA2BA;AAAC;AAA7B;AAFZ,eAAP,CAAf;AAIH;AACJ,WApDD,SAqDQ;AACJ;AACA,gBAAI;AACAplG,cAAAA,GAAG,CAACqmG,WAAD,CAAH,GAAmB,IAAnB;AACH,aAFD,CAGA,OAAO54I,CAAP,EAAU,CACN;AACH;AACJ;AACJ,SA/DqB,EA+DnB,UAAUA,CAAV,EAAa;AACZ8/I,UAAAA,eAAe,CAAC9/I,CAAD,EAAI,IAAJ,CAAf;AACH,SAjEqB,CAAtB;AAkEH;;AACD,eAASkgJ,0BAAT,CAAoC3tG,GAApC,EAAyC;AACrC,YAAI;AACA,cAAIguG,qBAAqB,GAAGhuG,GAAG,CAACulG,0EAA2BA;AAAC;AAA7B,WAAH,EAA5B;;AACA,cAAIyI,qBAAqB,KAAK,IAA9B,EAAoC;AAChC,gBAAI1pI,KAAK,GAAGqjI,QAAQ,CAACqG,qBAAqB,CAAC11C,iEAAkBA;AAAC;AAApB,aAArB,EAAD,EAAwE1M,qFAAxE,CAApB;;AACA,gBAAItnF,KAAK,KAAK,CAAC,CAAf,EAAkB;AACd,kBAAI2sG,cAAc,GAAGjxE,GAAG,CAACiuG,iBAAJ,CAAsBriD,qFAAtB,CAArB;AACA,qBAAOukB,uFAAmB,CAACs1B,0EAA2BA;AAAC;AAA7B,eAAnB,CAAqFx0B,cAArF,CAAP;AACH;AACJ;AACJ,SATD,CAUA,OAAOxjH,CAAP,EAAU;AACN85I,UAAAA,qBAAqB,CAAC/xD,KAAD,EAAQ;AAAG;AAAX,YAA4EmxD,wBAA5E,EAAsG;AACvHe,YAAAA,sBAAsB,EAAEJ,gCAAgC,CAACtnG,GAAD,CAD+D;AAEvHo2C,YAAAA,SAAS,EAAE3G,+EAAO,CAAChiF,CAAD;AAFqG,WAAtG,CAArB;AAIH;AACJ;;AACD,eAASm/I,aAAT,CAAuB7yK,IAAvB,EAA6BiuK,QAA7B,EAAuC;AACnC,YAAIA,QAAQ,CAAChF,+DAAgBA;AAAC;AAAlB,SAAR,IAAuD8G,WAAvD,IAAsEC,uBAA1E,EAAmG;AAC/F,cAAImE,aAAa,GAAGxvD,sFAAc,EAAlC;;AACA,cAAIwvD,aAAa,IAAI79D,kFAAU,CAAC69D,aAAa,CAAC/rG,IAAf,CAA/B,EAAqD;AACjD2kG,YAAAA,UAAU;AACV,gBAAIqH,MAAM,GAAGrE,WAAW,GAAG/vK,IAAd,GAAqB,GAArB,GAA2B+sK,UAAxC;AACAoH,YAAAA,aAAa,CAAC/rG,IAAd,CAAmBgsG,MAAnB;AACA,gBAAI7oE,OAAO,GAAG4oE,aAAa,CAAC3rG,gBAAd,CAA+B4rG,MAA/B,CAAd;;AACA,gBAAI7oE,OAAO,IAAIA,OAAO,CAAC0M,0DAAWA;AAAC;AAAb,aAAP,KAA8C,CAA7D,EAAgE;AAC5Dg2D,cAAAA,QAAQ,CAACtC,6DAAcA;AAAC;AAAhB,eAAR,GAAkDpgE,OAAO,CAAC,CAAD,CAAzD;AACH;AACJ;AACJ;AACJ;;AACD,eAASooE,sBAAT,CAAgCU,aAAhC,EAA+CpG,QAA/C,EAAyDqG,aAAzD,EAAwEC,WAAxE,EAAqF;AACjF,YAAIC,QAAQ,GAAGvG,QAAQ,CAACtC,6DAAcA;AAAC;AAAhB,SAAvB;AACA,YAAI7nG,WAAW,GAAG6gD,sFAAc,EAAhC;AACA,YAAI8vD,WAAW,GAAGtpE,OAAO,CAAC6jE,yBAA1B;AACA,YAAI0F,UAAU,GAAGvpE,OAAO,CAACygE,0EAA2BA;AAAC;AAA7B,SAAxB;AACA,YAAIvwG,UAAU,GAAG4yG,QAAQ,CAAChF,+DAAgBA;AAAC;AAAlB,SAAzB;AACA,YAAI0L,OAAO,GAAG,CAAd;;AACA,SAAC,SAASC,oBAAT,GAAgC;AAC7B,cAAI;AACA,gBAAI9wG,WAAW,IAAI0wG,QAAnB,EAA6B;AACzBG,cAAAA,OAAO;AACP,kBAAIE,UAAU,GAAG,IAAjB;AACA,kBAAItpE,OAAO,GAAGznC,WAAW,CAACgxG,UAAZ,EAAd;;AACA,mBAAK,IAAIzkD,EAAE,GAAG9kB,OAAO,CAAC0M,0DAAWA;AAAC;AAAb,eAAP,GAA4C,CAA1D,EAA6DoY,EAAE,IAAI,CAAnE,EAAsEA,EAAE,EAAxE,EAA4E;AACxE,oBAAIngG,KAAK,GAAGq7E,OAAO,CAAC8kB,EAAD,CAAnB;;AACA,oBAAIngG,KAAJ,EAAW;AACP,sBAAIA,KAAK,CAAC6kJ,SAAN,KAAoB,UAAxB,EAAoC;AAChC,wBAAI7kJ,KAAK,CAACmkJ,aAAN,KAAwBA,aAAxB,KACCzG,QAAQ,CAAC19I,KAAK,CAACg5F,wDAASA;AAAC;AAAX,qBAAN,EAAsC7tD,UAAtC,CAAR,KAA8D,CAAC,CAA/D,IAAoEuyG,QAAQ,CAACvyG,UAAD,EAAanrC,KAAK,CAACg5F,wDAASA;AAAC;AAAX,qBAAlB,CAAR,KAA8D,CAAC,CADpI,CAAJ,EAC4I;AACxI2rD,sBAAAA,UAAU,GAAG3kJ,KAAb;AACH;AACJ,mBALD,MAMK,IAAIA,KAAK,CAAC6kJ,SAAN,KAAoB,MAApB,IAA8B7kJ,KAAK,CAACg5F,wDAASA;AAAC;AAAX,mBAAL,KAAwCsrD,QAAQ,CAACtrD,wDAASA;AAAC;AAAX,mBAAlF,EAAkH;AACnH;AACA+kD,oBAAAA,QAAQ,CAACpC,+DAAgBA;AAAC;AAAlB,qBAAR,GAAsDgJ,UAAtD;AACA;AACH;;AACD,sBAAI3kJ,KAAK,CAAC65I,8DAAeA;AAAC;AAAjB,mBAAL,GAAiDyK,QAAQ,CAACzK,8DAAeA;AAAC;AAAjB,mBAAR,GAAoD,IAAzG,EAA+G;AAC3G;AACA;AACH;AACJ;AACJ;AACJ;;AACD,gBAAI,CAACyK,QAAD,IAAa;AACbvG,YAAAA,QAAQ,CAACpC,+DAAgBA;AAAC;AAAlB,aADR,IACuD;AACvD8I,YAAAA,OAAO,IAAIF,WAFX,IAE0B;AAC1BxG,YAAAA,QAAQ,CAACl2C,KAAT,KAAmB,KAHvB,EAG8B;AAAE;AAC5B,kBAAIy8C,QAAQ,IAAIl+D,kFAAU,CAACxyC,WAAW,CAACwE,UAAb,CAA1B,EAAoD;AAChD;AACAxE,gBAAAA,WAAW,CAACwE,UAAZ,CAAuBksG,QAAQ,CAACtrD,wDAASA;AAAC;AAAX,iBAA/B;AACH;;AACD+kD,cAAAA,QAAQ,CAAC+G,YAAT,GAAwBL,OAAxB,CAL0B,CAM1B;;AACAL,cAAAA,aAAa;AAChB,aAXD,MAYK;AACD;AACA;AACA;AACArsK,cAAAA,UAAU,CAAC2sK,oBAAD,EAAuBF,UAAvB,CAAV;AACH;AACJ,WA5CD,CA6CA,OAAOhhJ,CAAP,EAAU;AACN6gJ,YAAAA,WAAW,CAAC7gJ,CAAD,CAAX;AACH;AACJ,SAjDD;AAkDH;;AACD,eAASq+I,kBAAT,CAA4BzwH,KAA5B,EAAmCh3D,IAAnC,EAAyC;AACrC,YAAIwuC,EAAJ;;AACA,YAAIsoF,mBAAmB,GAAGD,uBAAuB,EAAjD;;AACA,YAAI62B,OAAO,GAAI52B,mBAAmB,IAAIA,mBAAmB,CAAC4pD,gEAAiBA;AAAC;AAAnB,SAAnB,EAAxB,IAA8Fn1D,sFAAa,EAAzH;AACA,YAAIu9D,MAAM,GAAGv9D,sFAAa,GAAGmyB,MAAhB,CAAuB,CAAvB,EAA0B,EAA1B,CAAb;AACA,YAAIimC,QAAQ,GAAG,IAAI9B,oDAAJ,CAAen0B,OAAf,EAAwBo7B,MAAxB,EAAgC33D,KAAK,CAAC4wD,UAAD,CAAL,EAAhC,EAAqD,CAACvzI,EAAE,GAAG2iF,KAAK,CAAC4C,IAAZ,MAAsB,IAAtB,IAA8BvlF,EAAE,KAAK,KAAK,CAA1C,GAA8C,KAAK,CAAnD,GAAuDA,EAAE,CAACuoF,WAAH,EAA5G,CAAf;AACA4sD,QAAAA,QAAQ,CAAClH,+DAAgBA;AAAC;AAAlB,SAAR,GAAsD3lD,mBAAmB,IAAIA,mBAAmB,CAAC6pD,mEAAoBA;AAAC;AAAtB,SAAnB,EAA7E;AACAgD,QAAAA,QAAQ,CAACnD,qEAAsBA;AAAC;AAAxB,SAAR,GAAiEtzB,wFAAgB,EAAjF;AACAy2B,QAAAA,QAAQ,CAAC/C,qEAAsBA;AAAC;AAAxB,SAAR,GAAiE0E,0BAAjE;;AACA,YAAItuH,KAAK,YAAYq5E,OAArB,EAA8B;AAC1BszC,UAAAA,QAAQ,CAAChF,+DAAgBA;AAAC;AAAlB,WAAR,GAAsD3nH,KAAK,GAAGA,KAAK,CAACn7C,GAAT,GAAe,EAA1E;AACH,SAFD,MAGK;AACD8nK,UAAAA,QAAQ,CAAChF,+DAAgBA;AAAC;AAAlB,WAAR,GAAsD3nH,KAAtD;AACH;;AACD,YAAIh0B,MAAM,GAAG,KAAb;;AACA,YAAIhjC,IAAI,IAAIA,IAAI,CAACs/I,0DAAWA;AAAC;AAAb,SAAhB,EAAoD;AAChDt8G,UAAAA,MAAM,GAAGhjC,IAAI,CAACs/I,0DAAWA;AAAC;AAAb,WAAb;AACH,SAFD,MAGK,IAAItoF,KAAK,IAAIA,KAAK,YAAYq5E,OAA9B,EAAuC;AACxCrtG,UAAAA,MAAM,GAAGg0B,KAAK,CAACsoF,0DAAWA;AAAC;AAAb,WAAd;AACH;;AACDqkC,QAAAA,QAAQ,CAACrkC,0DAAWA;AAAC;AAAb,SAAR,GAA6Ct8G,MAA7C;AACA,YAAIgtG,cAAc,GAAG,EAArB;;AACA,YAAIq1C,4BAAJ,EAAkC;AAC9B,cAAI/hJ,OAAO,GAAG,IAAI+3C,OAAJ,CAAY,CAACr7E,IAAI,GAAGA,IAAI,CAACo/K,2DAAYA;AAAC;AAAd,WAAP,GAA8C,CAAnD,MAA0DpoH,KAAK,YAAYq5E,OAAjB,GAA4Br5E,KAAK,CAACooH,2DAAYA;AAAC;AAAd,WAAL,IAA6C,EAAzE,GAA+E,EAAzI,CAAZ,CAAd;AACA97I,UAAAA,OAAO,CAACgB,OAAR,CAAgB,UAAU30B,KAAV,EAAiB40B,GAAjB,EAAsB;AAClC,gBAAI4iJ,kBAAkB,CAAC5iJ,GAAD,CAAtB,EAA6B;AACzByrG,cAAAA,cAAc,CAACzrG,GAAD,CAAd,GAAsB50B,KAAtB;AACH;AACJ,WAJD;AAKH;;AACDg0K,QAAAA,QAAQ,CAACtE,mEAAoBA;AAAC;AAAtB,SAAR,GAA8DrvC,cAA9D;;AACAu4C,QAAAA,aAAa,CAACtG,SAAD,EAAY0B,QAAZ,CAAb;;AACA,eAAOA,QAAP;AACH;;AACD,eAASgH,iCAAT,CAA2C3zH,KAA3C,EAAkD;AAC9C,YAAI5mD,MAAM,GAAG,EAAb;;AACA,YAAI;AACA,cAAI,CAAC67G,yFAAiB,CAACj1D,KAAD,CAAtB,EAA+B;AAC3B,gBAAI,OAAQA,KAAR,KAAmB,QAAvB,EAAiC;AAC7B5mD,cAAAA,MAAM,IAAI,UAAUi7B,MAAV,CAAiB2rB,KAAjB,EAAwB,IAAxB,CAAV;AACH,aAFD,MAGK;AACD5mD,cAAAA,MAAM,IAAI,UAAUi7B,MAAV,CAAiB2rB,KAAK,CAACn7C,GAAvB,EAA4B,IAA5B,CAAV;AACH;AACJ;AACJ,SATD,CAUA,OAAOutB,CAAP,EAAU;AACN45I,UAAAA,sBAAsB,CAAC7xD,KAAD,EAAQ;AAAG;AAAX,YAA4D,iDAA5D,EAA+G;AAAEY,YAAAA,SAAS,EAAE3G,+EAAO,CAAChiF,CAAD;AAApB,WAA/G,CAAtB;AACH;;AACD,eAAOh5B,MAAP;AACH;;AACD,eAASw3K,mBAAT,CAA6BtxD,WAA7B,EAA0Cz1G,MAA1C,EAAkDm2C,KAAlD,EAAyDh2B,QAAzD,EAAmE2iJ,QAAnE,EAA6EiH,WAA7E,EAA0Fz+G,UAA1F,EAAsG;AAClG,YAAI,CAACw3G,QAAL,EAAe;AACX;AACH;;AACD,iBAASkH,iBAAT,CAA2BjzD,KAA3B,EAAkCxuF,CAAlC,EAAqC+/I,WAArC,EAAkD;AAC9C,cAAIC,UAAU,GAAGD,WAAW,IAAI,EAAhC;AACAC,UAAAA,UAAU,CAAC,yBAAD,CAAV,GAAwCuB,iCAAiC,CAAC3zH,KAAD,CAAzE;;AACA,cAAI5tB,CAAJ,EAAO;AACHggJ,YAAAA,UAAU,CAAC,WAAD,CAAV,GAA0Bh+D,+EAAO,CAAChiF,CAAD,CAAjC;AACH;;AACD85I,UAAAA,qBAAqB,CAAC/xD,KAAD,EAAQyG,KAAR,EAAe4qD,kCAAkC,GAAG,YAArC,GAAoDH,cAAnE,EAAmF+G,UAAnF,CAArB;AACH;;AACDzF,QAAAA,QAAQ,CAAC5C,0EAA2BA;AAAC;AAA7B,SAAR,GAA2E7zB,wFAAgB,EAA3F;AACAy2B,QAAAA,QAAQ,CAACxD,0DAAWA;AAAC;AAAb,SAAR,GAA6Ct/J,MAA7C;;AACAwoK,QAAAA,sBAAsB,CAACpH,SAAD,EAAY0B,QAAZ,EAAsB,YAAY;AACpD,cAAI8C,UAAU,GAAG9C,QAAQ,CAAC3C,sEAAuBA;AAAC;AAAzB,WAAR,CAAgE,OAAhE,EAAyEqE,4BAAzE,EAAuGuF,WAAvG,CAAjB;;AACA,cAAIz+G,UAAJ;;AACA,cAAI;AACA,gBAAI,CAAC,CAAC85G,kBAAN,EAA0B;AACtB95G,cAAAA,UAAU,GAAG85G,kBAAkB,CAAC;AAAEplK,gBAAAA,MAAM,EAAEA,MAAV;AAAkByc,gBAAAA,OAAO,EAAE05B,KAA3B;AAAkCh2B,gBAAAA,QAAQ,EAAEA;AAA5C,eAAD,CAA/B;AACH;AACJ,WAJD,CAKA,OAAOoI,CAAP,EAAU;AACN85I,YAAAA,qBAAqB,CAAC/xD,KAAD,EAAQ;AAAI;AAAZ,cAA+EoxD,4BAA/E,CAArB;AACH;;AACD,cAAIkE,UAAJ,EAAgB;AACZ,gBAAIt6G,UAAU,KAAKr7B,SAAnB,EAA8B;AAC1B21I,cAAAA,UAAU,CAAC/H,+DAAcA;AAAC;AAAhB,eAAV,GAAsD51I,gFAAQ,CAACA,gFAAQ,CAAC,EAAD,EAAK29I,UAAU,CAACt6G,UAAhB,CAAT,EAAsCA,UAAtC,CAA9D;AACH;;AACD,gBAAIq9G,aAAa,GAAG7F,QAAQ,CAACxC,mEAAoBA;AAAC;AAAtB,aAAR,EAApB;;AACAuF,YAAAA,yBAAyB,CAACN,uBAAD,EAA0Bj1D,KAAK,CAACtE,wDAASA;AAAC;AAAX,aAA/B,EAA+D82D,QAA/D,EAAyE8C,UAAzE,EAAqF,IAArF,EAA2F+C,aAA3F,CAAzB;AACH,WAND,MAOK;AACDqB,YAAAA,iBAAiB,CAAC;AAAG;AAAJ,cAAoD,IAApD,EAA0D;AACvEpB,cAAAA,eAAe,EAAE9F,QAAQ,CAACnD,qEAAsBA;AAAC;AAAxB,eAD8C;AAEvEkJ,cAAAA,oBAAoB,EAAE/F,QAAQ,CAAC5C,0EAA2BA;AAAC;AAA7B;AAFyC,aAA1D,CAAjB;AAIH;AACJ,SAxBqB,EAwBnB,UAAU33I,CAAV,EAAa;AACZyhJ,UAAAA,iBAAiB,CAAC;AAAG;AAAJ,YAAqEzhJ,CAArE,EAAwE,IAAxE,CAAjB;AACH,SA1BqB,CAAtB;AA2BH;;AACD,eAAS2+I,2BAAT,CAAqC/mJ,QAArC,EAA+C;AAC3C,YAAIA,QAAQ,IAAIA,QAAQ,CAACo+I,2DAAYA;AAAC;AAAd,SAAxB,EAA8D;AAC1D,cAAI;AACA,gBAAIxyB,cAAc,GAAG5rH,QAAQ,CAACo+I,2DAAYA;AAAC;AAAd,aAAR,CAA6ClgL,GAA7C,CAAiDqoI,qFAAjD,CAArB;;AACA,mBAAOukB,uFAAmB,CAACs1B,0EAA2BA;AAAC;AAA7B,aAAnB,CAAqFx0B,cAArF,CAAP;AACH,WAHD,CAIA,OAAOxjH,CAAP,EAAU;AACN85I,YAAAA,qBAAqB,CAAC/xD,KAAD,EAAQ;AAAG;AAAX,cAA4EmxD,wBAA5E,EAAsG;AACvHwI,cAAAA,uBAAuB,EAAEH,iCAAiC,CAAC3pJ,QAAD,CAD6D;AAEvH+wF,cAAAA,SAAS,EAAE3G,+EAAO,CAAChiF,CAAD;AAFqG,aAAtG,CAArB;AAIH;AACJ;AACJ;;AACD,eAASs9I,yBAAT,CAAmCqE,YAAnC,EAAiDh3D,IAAjD,EAAuD4vD,QAAvD,EAAiE8C,UAAjE,EAA6Et6G,UAA7E,EAAyFsmD,gBAAzF,EAA2G;AACvG,YAAIriH,MAAM,GAAG,IAAb;AACA,YAAIwzK,iBAAiB,GAAGmH,YAAY,CAACp9D,0DAAWA;AAAC;AAAb,SAApC;;AACA,YAAIi2D,iBAAiB,GAAG,CAAxB,EAA2B;AACvB,cAAIv7E,OAAO,GAAG;AACVpvF,YAAAA,IAAI,EAAEwtK,UADI;AAEVt6G,YAAAA,UAAU,EAAEA,UAFF;AAGVq9G,YAAAA,aAAa,EAAE/2D,gBAHL;AAIV1jH,YAAAA,OAAO,EAAE40K,QAAQ,GAAGA,QAAQ,CAAC9E,2DAAYA;AAAC;AAAd,aAAX,GAAkD,IAJzD;AAKVgF,YAAAA,OAAO,EAAEF,QAAQ,GAAG,CAAC,CAACA,QAAQ,CAAC7E,2DAAYA;AAAC;AAAd,aAAb,GAAoD;AAL3D,WAAd;AAOA1uK,UAAAA,MAAM,GAAGqzK,2BAA2B,CAAC1vD,IAAD,EAAOg3D,YAAP,EAAqB1iF,OAArB,EAA8B,aAA9B,CAApC;AACH;;AACD,YAAIj4F,MAAJ,EAAY;AACR+gH,UAAAA,KAAK,CAACouD,yEAA0BA;AAAC;AAA5B,WAAL,CAA4EkH,UAA5E,EAAwFt6G,UAAxF,EAAoGsmD,gBAApG;AACH;AACJ;AACJ,KApwBW,CAAZ;AAqwBA,WAAOnjF,KAAP;AACH,GAnyB8C,CAoyBnD;;;AACI21I,EAAAA,WAAW,CAACv8I,SAAZ,CAAsB8oF,gBAAtB,GAAyC,UAAUv4G,IAAV,EAAgBw4G,OAAhB,EAAyB;AAC9D,SAAKC,WAAL,CAAiBz4G,IAAjB,EAAuBw4G,OAAvB;AACH,GAFD,CAryB+C,CAwyBnD;AACA;AACA;;AACI;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;;;AACIwzD,EAAAA,WAAW,CAACv8I,SAAZ,CAAsBo+I,wBAAtB,GAAiD,UAAUC,qBAAV,EAAiC;AAC9E,WAAO,IAAP;AACH,GAFD,CAnzB+C,CAszBnD;;;AACI9B,EAAAA,WAAW,CAACl1D,UAAZ,GAAyB,sBAAzB;AACAk1D,EAAAA,WAAW,CAAChtD,gBAAZ,GAA+B1I,iBAA/B;AACA01D,EAAAA,WAAW,CAAC+B,cAAZ,GAA6BjC,eAA7B;AACA,SAAOE,WAAP;AACH,CA3zBgC,CA2zB/Bl6D,wFA3zB+B,CAAjC;;;;;;;;;;;;;;;;;;;;;;;;;;;AC7NA;AACA;AACA;AACA;AAGA;AACA;AACA;AACA;AACA;AACA;;AACA,SAASigE,iBAAT,CAA2BC,aAA3B,EAA0C/lE,KAA1C,EAAiDC,GAAjD,EAAsD;AAClD,MAAI/0G,MAAM,GAAG,CAAb;AACA,MAAI2rB,IAAI,GAAGkvJ,aAAa,CAAC/lE,KAAD,CAAxB;AACA,MAAIgmE,EAAE,GAAGD,aAAa,CAAC9lE,GAAD,CAAtB;;AACA,MAAIppF,IAAI,IAAImvJ,EAAZ,EAAgB;AACZ96K,IAAAA,MAAM,GAAG8nH,4FAAqB,CAACn8F,IAAD,EAAOmvJ,EAAP,CAA9B;AACH;;AACD,SAAO96K,MAAP;AACH;AACD;;;AACA,SAAS+6K,gBAAT,CAA0B91J,KAA1B,EAAiCpmB,IAAjC,EAAuCg8K,aAAvC,EAAsD/lE,KAAtD,EAA6DC,GAA7D,EAAkE;AAC9D,MAAI/0G,MAAM,GAAG,CAAb;;AACA,MAAIT,KAAK,GAAGq7K,iBAAiB,CAACC,aAAD,EAAgB/lE,KAAhB,EAAuBC,GAAvB,CAA7B;;AACA,MAAIx1G,KAAJ,EAAW;AACPS,IAAAA,MAAM,GAAGg7K,aAAa,CAAC/1J,KAAD,EAAQpmB,IAAR,EAAckrH,mFAAY,CAACxqH,KAAD,CAA1B,CAAtB;AACH;;AACD,SAAOS,MAAP;AACH;AACD;;;AACA,SAASg7K,aAAT,CAAuB/1J,KAAvB,EAA8BpmB,IAA9B,EAAoCU,KAApC,EAA2C;AACvC,MAAI07K,OAAO,GAAG,UAAd;AACA,MAAIj7K,MAAM,GAAG,CAAb;;AACA,MAAIilB,KAAK,IAAIpmB,IAAT,IAAiBU,KAArB,EAA4B;AACxB,QAAI27K,QAAQ,GAAGj2J,KAAK,CAACg2J,OAAD,CAAL,GAAkBh2J,KAAK,CAACg2J,OAAD,CAAL,IAAkB,EAAnD;AACAC,IAAAA,QAAQ,CAACr8K,IAAD,CAAR,GAAiBU,KAAjB;AACAS,IAAAA,MAAM,GAAG,CAAT;AACH;;AACD,SAAOA,MAAP;AACH;AACD;;;AACA,SAASm7K,iBAAT,CAA2B5H,QAA3B,EAAqC8C,UAArC,EAAiD;AAC7C;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACI,MAAIwE,aAAa,GAAGtH,QAAQ,CAACpC,+DAAgBA;AAAC;AAAlB,GAA5B;AACA,MAAIlsJ,KAAK,GAAGoxJ,UAAU,CAAC/H,8DAAcA;AAAC;AAAhB,GAAV,IAAuD,EAAnE;AACA,MAAI8M,QAAQ,GAAG,CAAf;AACA,MAAIC,OAAO,GAAG,MAAd;AACA,MAAIC,QAAQ,GAAG,OAAf;AACA,MAAIC,MAAM,GAAG,KAAb;AACA,MAAIC,eAAe,GAAG,cAAtB;AACA,MAAIC,UAAU,GAAG,SAAjB;AACA,MAAIC,WAAW,GAAG,UAAlB;AACA,MAAIC,UAAU,GAAG,SAAjB;AACA,MAAIC,WAAW,GAAG,UAAlB;AACA,MAAIC,YAAY,GAAG,WAAnB;AACA,MAAIC,oBAAoB,GAAGN,eAAe,GAAGF,QAA7C;AACA,MAAIS,kBAAkB,GAAGP,eAAe,GAAGD,MAA3C;AACA,MAAIS,eAAe,GAAGP,UAAU,GAAGH,QAAnC;AACA,MAAIW,aAAa,GAAGR,UAAU,GAAGF,MAAjC;AACA,MAAIW,eAAe,GAAGP,UAAU,GAAGL,QAAnC;AACA,MAAIa,aAAa,GAAGR,UAAU,GAAGJ,MAAjC;AACA,MAAIa,gBAAgB,GAAGR,WAAW,GAAGN,QAArC;AACA,MAAIe,cAAc,GAAGT,WAAW,GAAGL,MAAnC;AACA,MAAIe,gBAAgB,GAAGZ,WAAW,GAAGJ,QAArC;AACA,MAAIiB,cAAc,GAAGb,WAAW,GAAGH,MAAnC;AACA,MAAIiB,eAAe,GAAG,cAAtB;AACA,MAAIC,kBAAkB,GAAG,iBAAzB;AACA,MAAIC,kBAAkB,GAAG,iBAAzB;AACA,MAAIC,eAAe,GAAG,cAAtB;;AACA,MAAI9B,aAAJ,EAAmB;AACf;AACAO,IAAAA,QAAQ,IAAIL,gBAAgB,CAAC91J,KAAD,EAAQy2J,WAAR,EAAqBb,aAArB,EAAoCyB,gBAApC,EAAsDC,cAAtD,CAA5B,CAFe,CAGf;;AACAnB,IAAAA,QAAQ,IAAIL,gBAAgB,CAAC91J,KAAD,EAAQu2J,eAAR,EAAyBX,aAAzB,EAAwCiB,oBAAxC,EAA8DC,kBAA9D,CAA5B,CAJe,CAKf;;AACAX,IAAAA,QAAQ,IAAIL,gBAAgB,CAAC91J,KAAD,EAAQw2J,UAAR,EAAoBZ,aAApB,EAAmCmB,eAAnC,EAAoDC,aAApD,CAA5B,CANe,CAOf;;AACAb,IAAAA,QAAQ,IAAIL,gBAAgB,CAAC91J,KAAD,EAAQ02J,UAAR,EAAoBd,aAApB,EAAmCqB,eAAnC,EAAoDC,aAApD,CAA5B,CARe,CASf;;AACAf,IAAAA,QAAQ,IAAIL,gBAAgB,CAAC91J,KAAD,EAAQ22J,WAAR,EAAqBf,aAArB,EAAoCuB,gBAApC,EAAsDC,cAAtD,CAA5B,CAVe,CAWf;;AACAjB,IAAAA,QAAQ,IAAIL,gBAAgB,CAAC91J,KAAD,EAAQ,gBAAR,EAA0B41J,aAA1B,EAAyCgB,YAAzC,EAAuDI,aAAvD,CAA5B,CAZe,CAaf;;AACAb,IAAAA,QAAQ,IAAIL,gBAAgB,CAAC91J,KAAD,EAAQ,aAAR,EAAuB41J,aAAvB,EAAsCqB,eAAtC,EAAuDG,cAAvD,CAA5B,CAde,CAef;;AACA,QAAIv1K,QAAQ,GAAG+zK,aAAa,CAACzsD,4DAAYA;AAAC;AAAd,KAA5B;;AACA,QAAI,CAACtnH,QAAL,EAAe;AACXA,MAAAA,QAAQ,GAAG8zK,iBAAiB,CAACC,aAAD,EAAgBgB,YAAhB,EAA8BQ,cAA9B,CAAjB,IAAkE,CAA7E;AACH;;AACDjB,IAAAA,QAAQ,IAAIJ,aAAa,CAAC/1J,KAAD,EAAQmpG,4DAAR,EAAsBtnH,QAAtB,CAAzB;AACAs0K,IAAAA,QAAQ,IAAIJ,aAAa,CAAC/1J,KAAD,EAAQ,WAAR,EAAqBne,QAArB,CAAzB;AACA,QAAIkyJ,YAAY,GAAG6hB,aAAa,CAAC8B,eAAD,CAAhC;;AACA,QAAI3jB,YAAJ,EAAkB;AACd,UAAI4jB,QAAQ,GAAG,EAAf;AACA/hE,MAAAA,kFAAU,CAACm+C,YAAD,EAAe,UAAUz5J,KAAV,EAAiB4oJ,GAAjB,EAAsB;AAC3C,YAAItpJ,IAAI,GAAGqzJ,uFAAe,CAAC3yJ,KAAK,CAAC87K,OAAD,CAAL,IAAkB,KAAKlzB,GAAxB,CAA1B;AACA,YAAI9yF,QAAQ,GAAGunH,QAAQ,CAAC/9K,IAAD,CAAR,IAAkB,EAAjC;AACAq9G,QAAAA,qFAAa,CAAC38G,KAAD,EAAQ,UAAU40B,GAAV,EAAeotE,GAAf,EAAoB;AACrC,cAAIptE,GAAG,KAAKknJ,OAAR,IAAmBv/D,gFAAQ,CAACva,GAAD,CAA3B,IAAoC0sB,gFAAQ,CAAC1sB,GAAD,CAAhD,EAAuD;AACnD,gBAAIlsC,QAAQ,CAAClhC,GAAD,CAAZ,EAAmB;AACfotE,cAAAA,GAAG,GAAGlsC,QAAQ,CAAClhC,GAAD,CAAR,GAAgB,GAAhB,GAAsBotE,GAA5B;AACH;;AACD,gBAAIA,GAAG,IAAI,CAACua,gFAAQ,CAACva,GAAD,CAApB,EAA2B;AACvB;AACAlsC,cAAAA,QAAQ,CAAClhC,GAAD,CAAR,GAAgBotE,GAAhB;AACH;AACJ;AACJ,SAVY,CAAb;AAWAq7E,QAAAA,QAAQ,CAAC/9K,IAAD,CAAR,GAAiBw2D,QAAjB;AACH,OAfS,CAAV;AAgBA+lH,MAAAA,QAAQ,IAAIJ,aAAa,CAAC/1J,KAAD,EAAQ03J,eAAR,EAAyBC,QAAzB,CAAzB;AACH;;AACDxB,IAAAA,QAAQ,IAAIJ,aAAa,CAAC/1J,KAAD,EAAQu3J,eAAR,EAAyB3B,aAAa,CAAC2B,eAAD,CAAtC,CAAzB;AACApB,IAAAA,QAAQ,IAAIJ,aAAa,CAAC/1J,KAAD,EAAQw3J,kBAAR,EAA4B5B,aAAa,CAAC4B,kBAAD,CAAzC,CAAzB;AACArB,IAAAA,QAAQ,IAAIJ,aAAa,CAAC/1J,KAAD,EAAQy3J,kBAAR,EAA4B7B,aAAa,CAAC6B,kBAAD,CAAzC,CAAzB;AACH,GA9CD,MA+CK;AACD,QAAInJ,QAAQ,CAACtC,6DAAcA;AAAC;AAAhB,KAAZ,EAAqD;AACjDmK,MAAAA,QAAQ,IAAIJ,aAAa,CAAC/1J,KAAD,EAAQ,SAAR,EAAmBsuJ,QAAQ,CAAC+G,YAA5B,CAAzB;AACH;AACJ;;AACD,MAAIc,QAAJ,EAAc;AACV/E,IAAAA,UAAU,CAAC/H,8DAAcA;AAAC;AAAhB,KAAV,GAAsDrpJ,KAAtD;AACH;AACJ;;AACD,IAAI43J,kBAAkB;AAAG;AAAe,YAAY;AAChD,WAASA,kBAAT,GAA8B;AAC1B,QAAIt0D,IAAI,GAAG,IAAX;AACAA,IAAAA,IAAI,CAAC2nD,6DAAcA;AAAC;AAAhB,KAAJ,GAA8C,KAA9C;AACA3nD,IAAAA,IAAI,CAACu0D,oBAAL,GAA4B,KAA5B;AACAv0D,IAAAA,IAAI,CAAC4nD,6DAAcA;AAAC;AAAhB,KAAJ,GAA8C,KAA9C;AACA5nD,IAAAA,IAAI,CAAC8nD,8DAAeA;AAAC;AAAjB,KAAJ,GAAgD,KAAhD,CAL0B,CAM1B;;AACA9nD,IAAAA,IAAI,CAACkoD,0EAA2BA;AAAC;AAA7B,KAAJ,GAAsE,KAAtE;AACH;;AACD,SAAOoM,kBAAP;AACH,CAXuC,EAAxC;;AAYA;;AACA,IAAIpL,UAAU;AAAG;AAAe,YAAY;AACxC,WAASA,UAAT,CAAoBvD,OAApB,EAA6BC,MAA7B,EAAqCngJ,MAArC,EAA6Cg6H,QAA7C,EAAuD;AACnD,QAAI5pH,EAAJ;;AACA,QAAImqF,IAAI,GAAG,IAAX;AACA,QAAIQ,OAAO,GAAG/6F,MAAd;AACA,QAAI+uJ,eAAe,GAAG,cAAtB,CAJmD,CAKnD;AACA;;AACAx0D,IAAAA,IAAI,CAAC0oD,6DAAcA;AAAC;AAAhB,KAAJ,GAA8C,IAA9C;AACA1oD,IAAAA,IAAI,CAACy0D,SAAL,GAAiB,KAAjB;AACAz0D,IAAAA,IAAI,CAAC00D,kBAAL,GAA0B,IAA1B;AACA10D,IAAAA,IAAI,CAAC0mD,mEAAoBA;AAAC;AAAtB,KAAJ,GAA0D,IAA1D;AACA1mD,IAAAA,IAAI,CAAC20D,yBAAL,GAAiC,IAAjC;AACA30D,IAAAA,IAAI,CAAC40D,gBAAL,GAAwB,IAAxB;AACA50D,IAAAA,IAAI,CAAC+oD,uEAAwBA;AAAC;AAA1B,KAAJ,GAAiE,IAAjE;AACA/oD,IAAAA,IAAI,CAACmmD,2DAAYA;AAAC;AAAd,KAAJ,GAA2C,CAA3C;AACAnmD,IAAAA,IAAI,CAACpE,OAAL,GAAe,IAAf;AACAoE,IAAAA,IAAI,CAACgmD,+DAAgBA;AAAC;AAAlB,KAAJ,GAAkD,IAAlD;AACAhmD,IAAAA,IAAI,CAAC60D,WAAL,GAAmB,CAAnB;AACA70D,IAAAA,IAAI,CAAC2mB,0DAAWA;AAAC;AAAb,KAAJ,GAAyC,IAAzC;AACA3mB,IAAAA,IAAI,CAACwnD,0DAAWA;AAAC;AAAb,KAAJ,GAAyC,IAAzC;AACAxnD,IAAAA,IAAI,CAAC6nD,qEAAsBA;AAAC;AAAxB,KAAJ,GAA6D,IAA7D;AACA7nD,IAAAA,IAAI,CAAC80D,mBAAL,GAA2B,IAA3B;AACA90D,IAAAA,IAAI,CAACooD,0EAA2BA;AAAC;AAA7B,KAAJ,GAAuE,IAAvE;AACApoD,IAAAA,IAAI,CAAC+0D,oBAAL,GAA4B,IAA5B;AACA/0D,IAAAA,IAAI,CAACg1D,OAAL,GAAe,IAAf;AACAh1D,IAAAA,IAAI,CAACyvD,kBAAL,GAA0B,IAAI6E,kBAAJ,EAA1B;AACAt0D,IAAAA,IAAI,CAACi1D,aAAL,GAAqB,CAArB;AACAj1D,IAAAA,IAAI,CAACoG,4DAAaA;AAAC;AAAf,KAAJ,GAA4Cu/C,OAA5C;AACA3lD,IAAAA,IAAI,CAAC6jD,2DAAYA;AAAC;AAAd,KAAJ,GAA0C+B,MAA1C;AACA5lD,IAAAA,IAAI,CAAC8jD,+DAAgBA;AAAC;AAAlB,KAAJ,GAAkDrkB,QAAQ,KAAK,IAAb,IAAqBA,QAAQ,KAAK,KAAK,CAAvC,GAA2C,KAAK,CAAhD,GAAoDA,QAAQ,CAACvK,aAAT,EAAtG;;AACA,QAAIuK,QAAJ,EAAc;AACVz/B,MAAAA,IAAI,CAACgpD,mEAAoBA;AAAC;AAAtB,OAAJ,IAA0DnzI,EAAE,GAAG,EAAL,EACtDA,EAAE,CAACuwI,6DAAcA;AAAC;AAAhB,OAAF,GAAwC3mB,QAAQ,CAACsoB,gEAAiBA;AAAC;AAAnB,OAAR,EADc,EAEtDlyI,EAAE,CAACwwI,4DAAaA;AAAC;AAAf,OAAF,GAAsC5mB,QAAQ,CAACzK,SAAT,EAFgB,EAGtDn/G,EAAE,CAACiuI,+DAAgBA;AAAC;AAAlB,OAAF,GAA6CrkB,QAAQ,CAACuoB,mEAAoBA;AAAC;AAAtB,OAAR,EAHS,EAItDnyI,EAJJ;AAKH,KAND,MAOK;AACDmqF,MAAAA,IAAI,CAACgpD,mEAAoBA;AAAC;AAAtB,OAAJ,GAAyD,IAAzD;AACH;;AACD/3D,IAAAA,sEAAY,CAACi4D,UAAD,EAAalpD,IAAb,EAAmB,UAAUA,IAAV,EAAgB;AAC3CA,MAAAA,IAAI,CAAC/zF,cAAL,GAAsB,YAAY;AAC9B,eAAO+zF,IAAI,CAACgmD,+DAAgBA;AAAC;AAAlB,SAAJ,GAAkD51B,wFAAiB,CAACpwB,IAAI,CAACgmD,+DAAgBA;AAAC;AAAlB,SAAL,CAAnE,GAAuH,IAA9H;AACH,OAFD;;AAGAhmD,MAAAA,IAAI,CAAC+yB,WAAL,GAAmB,YAAY;AAC3B,eAAO/yB,IAAI,CAACgmD,+DAAgBA;AAAC;AAAlB,SAAJ,GAAkD/hC,sFAAe,CAACzjB,OAAD,EAAU8vB,wFAAiB,CAACtwB,IAAI,CAAC2mB,0DAAWA;AAAC;AAAb,SAAL,EAAyC3mB,IAAI,CAACgmD,+DAAgBA;AAAC;AAAlB,SAA7C,CAA3B,CAAjE,GAAyL,IAAhM;AACH,OAFD;;AAGAhmD,MAAAA,IAAI,CAACqoD,sEAAuBA;AAAC;AAAzB,OAAJ,GAA8D,UAAU6M,QAAV,EAAoBvJ,2BAApB,EAAiDsG,WAAjD,EAA8D;AACxH,YAAIp8I,EAAJ,CADwH,CAExH;;;AACAmqF,QAAAA,IAAI,CAACm1D,iBAAL,GAAyBnzH,IAAI,CAACk6C,KAAL,CAAWqjB,4FAAqB,CAACS,IAAI,CAAC8wD,eAAN,EAAuB9wD,IAAI,CAAC+wD,oBAA5B,CAArB,GAAyE,IAApF,IAA4F,IAArH;;AACA,YAAI/wD,IAAI,CAAC+oD,uEAAwBA;AAAC;AAA1B,SAAJ,GAAiE,CAArE,EAAwE;AACpE,iBAAO,IAAP;AACH;;AACD,YAAI+E,UAAU,IAAIj4I,EAAE,GAAG;AACf5iC,UAAAA,EAAE,EAAE,MAAM+sH,IAAI,CAACoG,4DAAaA;AAAC;AAAf,WAAV,GAAkD,GAAlD,GAAwDpG,IAAI,CAAC6jD,2DAAYA;AAAC;AAAd,WADjD;AAEfnwH,UAAAA,MAAM,EAAEssE,IAAI,CAACwmD,oEAAqBA;AAAC;AAAvB,WAAJ;AAFO,SAAL,EAId3wI,EAAE,CAACowF,wDAASA;AAAC;AAAX,SAAF,GAAgCjG,IAAI,CAAC+yB,WAAL,EAJlB,EAKdl9G,EAAE,CAAC94B,IAAH,GAAUm4K,QALI,EAMdr/I,EAAE,CAACixI,8DAAeA;AAAC;AAAjB,SAAF,GAA2C,IAN7B,EAOdjxI,EAAE,CAACt3B,QAAH,GAAcyhH,IAAI,CAAC+oD,uEAAwBA;AAAC;AAA1B,SAPJ,EAQdlzI,EAAE,CAAC8C,OAAH,GAAc,CAAEqnF,IAAI,CAACwnD,0DAAWA;AAAC;AAAb,SAAP,IAA+C,GAA/C,IAAuD,CAAExnD,IAAI,CAACwnD,0DAAWA;AAAC;AAAb,SAAP,GAA8C,GARnG,EASd3xI,EAAE,CAACo0F,YAAH,GAAmB,CAAEjK,IAAI,CAACwnD,0DAAWA;AAAC;AAAb,SATX,EAUd3xI,EAAE,CAACkwI,8DAAD,CAAF,GAAqB;AAAEvgD,UAAAA,UAAU,EAAExF,IAAI,CAAC2mB,0DAAWA;AAAC;AAAb;AAAlB,SAVP,EAWd9wG,EAXU,CAAd;AAYA,YAAInZ,KAAK,GAAGoxJ,UAAU,CAAC/H,8DAAD,CAAtB;;AACA,YAAI/lD,IAAI,CAACmmD,2DAAYA;AAAC;AAAd,SAAR,EAA8C;AAC1CzpJ,UAAAA,KAAK,CAACypJ,2DAAYA;AAAC;AAAd,WAAL,GAA4C,IAA5C;AACH;;AACD,YAAInmD,IAAI,CAAC6nD,qEAAsBA;AAAC;AAAxB,SAAR,EAAgE;AAC5D;AACAiG,UAAAA,UAAU,CAAChH,8DAAeA;AAAC;AAAjB,WAAV,GAAsD,IAAIj5H,IAAJ,EAAtD;;AACAigI,UAAAA,UAAU,CAAChH,8DAAeA;AAAC;AAAjB,WAAV,CAAoD9f,OAApD,CAA4DhnC,IAAI,CAAC6nD,qEAAsBA;AAAC;AAAxB,WAAhE;AACH,SA3BuH,CA4BxH;;;AACA+K,QAAAA,iBAAiB,CAAC5yD,IAAD,EAAO8tD,UAAP,CAAjB;;AACA,YAAInC,2BAAJ,EAAiC;AAC7B,cAAIz8C,+EAAO,CAAClP,IAAI,CAACqX,cAAN,CAAP,CAA6BriB,0DAAWA;AAAC;AAAzC,cAAiE,CAArE,EAAwE;AACpEt4F,YAAAA,KAAK,CAACgqJ,mEAAoBA;AAAC;AAAtB,aAAL,GAA2D1mD,IAAI,CAAC0mD,mEAAoBA;AAAC;AAAtB,aAA/D;AACH;AACJ;;AACD,YAAIuL,WAAJ,EAAiB;AACb,cAAI5pJ,QAAQ,GAAG4pJ,WAAW,EAA1B;;AACA,cAAI5pJ,QAAJ,EAAc;AACV;AACA,gBAAI6hG,kBAAkB,GAAG7hG,QAAQ,CAACygJ,uEAAwBA;AAAC;AAA1B,aAAjC;;AACA,gBAAI5+C,kBAAJ,EAAwB;AACpB4jD,cAAAA,UAAU,CAAC5jD,kBAAX;AAAgC;AAAkCA,cAAAA,kBAAlE;AACH;;AACD,gBAAI7hG,QAAQ,CAACq/I,8DAAeA;AAAC;AAAjB,aAAZ,EAAuD;AACnD,kBAAIx4C,+EAAO,CAAC7mG,QAAQ,CAAC8mJ,SAAV,CAAP,CAA4Bn6D,0DAAWA;AAAC;AAAxC,kBAAgE,CAApE,EAAuE;AACnEt4F,gBAAAA,KAAK,CAAC04J,eAAN,GAAwB/sJ,QAAQ,CAACq/I,8DAAeA;AAAC;AAAjB,iBAAhC;AACH;AACJ;;AACD,gBAAI1nD,IAAI,CAACioD,qEAAsBA;AAAC;AAAxB,aAAR,EAAgE;AAC5D,kBAAIjoD,IAAI,CAACwnD,0DAAWA;AAAC;AAAb,eAAJ,IAA0C,GAA9C,EAAmD;AAC/C,oBAAI8I,YAAY,GAAGjoJ,QAAQ,CAACtrB,IAA5B;;AACA,oBAAIuzK,YAAY,KAAK,EAAjB,IAAuBA,YAAY,KAAK,MAA5C,EAAoD;AAChD5zJ,kBAAAA,KAAK,CAAC2mD,YAAN,GAAqBh7C,QAAQ,CAACg7C,YAAT,GAAwBh7C,QAAQ,CAACo/I,+DAAgBA;AAAC;AAAlB,mBAAR,GAAsD,KAAtD,GAA8Dp/I,QAAQ,CAACmsJ,eAAD,CAA9F,GAAkHnsJ,QAAQ,CAACo/I,+DAAgBA;AAAC;AAAlB,mBAA/I;AACH;;AACD,oBAAI6I,YAAY,KAAK,MAArB,EAA6B;AACzB5zJ,kBAAAA,KAAK,CAAC2mD,YAAN,GAAqBh7C,QAAQ,CAACA,QAAT,GAAoBA,QAAQ,CAACo/I,+DAAgBA;AAAC;AAAlB,mBAAR,GAAsD,KAAtD,GAA8D9iK,IAAI,CAACI,SAAL,CAAesjB,QAAQ,CAACigJ,4DAAaA;AAAC;AAAf,mBAAvB,CAAlF,GAAmJjgJ,QAAQ,CAACo/I,+DAAgBA;AAAC;AAAlB,mBAAhL;AACH;AACJ,eARD,MASK,IAAIznD,IAAI,CAACwnD,0DAAWA;AAAC;AAAb,eAAJ,KAA2C,CAA/C,EAAkD;AACnD9qJ,gBAAAA,KAAK,CAAC2mD,YAAN,GAAqBh7C,QAAQ,CAACo/I,+DAAgBA;AAAC;AAAlB,iBAAR,IAAuD,EAA5E;AACH;AACJ;AACJ;AACJ;;AACD,eAAOqG,UAAP;AACH,OAjED;;AAkEA9tD,MAAAA,IAAI,CAACwoD,mEAAoBA;AAAC;AAAtB,OAAJ,GAAyD,YAAY;AACjE,YAAI3yI,EAAJ;;AACA,YAAIw/I,KAAK,GAAG,IAAZ;AACA,YAAI51B,QAAQ,GAAGz/B,IAAI,CAACgpD,mEAAoBA;AAAC;AAAtB,SAAnB;;AACA,YAAIvpB,QAAQ,KAAKA,QAAQ,CAAC2mB,6DAAcA;AAAC;AAAhB,SAAR,IAAkD3mB,QAAQ,CAAC4mB,4DAAaA;AAAC;AAAf,SAA/D,CAAZ,EAAkH;AAC9GgP,UAAAA,KAAK,GAAG,EAAR;AACA,cAAIC,QAAQ,GAAGD,KAAK,CAACv0C,sFAAD,CAAL,IAA8BjrG,EAAE,GAAG,EAAL,EACzCA,EAAE,CAACuwF,4DAAaA;AAAC;AAAf,WAAF,GAAuCq5B,QAAQ,CAAC2mB,6DAAcA;AAAC;AAAhB,WADN,EAEzCvwI,EAAE,CAACgzF,QAAH,GAAc42B,QAAQ,CAAC4mB,4DAAaA;AAAC;AAAf,WAFmB,EAGzCxwI,EAHW,CAAf;;AAIA,cAAI,CAACy9E,yFAAiB,CAACmsC,QAAQ,CAACqkB,+DAAgBA;AAAC;AAAlB,WAAT,CAAtB,EAA6E;AACzEwR,YAAAA,QAAQ,CAACxR,+DAAgBA;AAAC;AAAlB,aAAR,GAAsDrkB,QAAQ,CAACqkB,+DAAgBA;AAAC;AAAlB,aAA9D;AACH;AACJ;;AACD,eAAOuR,KAAP;AACH,OAfD;AAgBH,KAzFW,CAAZ;AA0FH,GAnIuC,CAoI5C;AACA;AACA;AACA;AACI;AACA;AACA;;;AACAnM,EAAAA,UAAU,CAAC3nD,OAAX,GAAmB,CAAnB;AAEA,SAAO2nD,UAAP;AACH,CA9I+B,EAAhC;;;;;;;;;;;;;;;;;AC9JA;AACA;AACA;AACA;AAGA,IAAIqM,WAAW;AAAG;AAAe,YAAY;AACzC,WAASA,WAAT,GAAuB,CACtB;;AACD,SAAOA,WAAP;AACH,CAJgC,EAAjC;;;;;;;;;;;;;;;;;ACNA;AACA;AACA;AACA;AAGA,IAAIC,MAAM;AAAG;AAAe,YAAY;AACpC;AACJ;AACA;AACI,WAASA,MAAT,GAAkB;AACd;AACA,SAAKviL,EAAL,GAAU,SAAV,CAFc,CAGd;AACA;;AACA,SAAKu0H,WAAL,GAAmB,SAAnB;AACH;;AACD,SAAOguD,MAAP;AACH,CAZ2B,EAA5B;;;;;;;;;;;;;;;;;;ACNA;AACA;AACA;AACA;AAGA;AACA,IAAIn2D,OAAO,GAAG,QAAd;;AACA,IAAIq2D,QAAQ;AAAG;AAAe,YAAY;AACtC;AACJ;AACA;AACI,WAASA,QAAT,CAAkBlwL,MAAlB,EAA0B;AACtB,SAAKmwL,UAAL,GAAkB,CAACnwL,MAAM,CAACiwL,iEAAkBA;AAAC;AAApB,KAAN,IAAyDjwL,MAAM,CAACiwL,iEAAkBA;AAAC;AAApB,KAAN,EAAzD,GAAmHjwL,MAAM,CAACiwL,iEAAkBA;AAAC;AAApB,KAAN,KAA0D,GAA7K,GAAmL,EAApL,IAA0L,aAA1L,GAA0Mp2D,OAA5N;AACH;;AACD,SAAOq2D,QAAP;AACH,CAR6B,EAA9B;;;;;;;;;;;;;;;;;ACRA;AACA;AACA;AACA;AAGA,IAAIjzJ,QAAQ;AAAG;AAAe,YAAY;AACtC,WAASA,QAAT,GAAoB,CACnB;;AACD,SAAOA,QAAP;AACH,CAJ6B,EAA9B;;;;;;;;;;;;;;;;;;;;;;;;;;ACNA;AACA;AACA;AACA;AAGA;AACA;AACA;AACA;AACA,IAAI6zJ,eAAe,GAAG,YAAtB;;AACA,IAAIC,OAAO;AAAG;AAAe,YAAY;AACrC,WAASA,OAAT,GAAmB,CAClB;;AACD,SAAOA,OAAP;AACH,CAJ4B,EAA7B;;AAKA;;AACA,IAAIC,eAAe;AAAG;AAAe,YAAY;AAC7C,WAASA,eAAT,CAAyBhxL,MAAzB,EAAiC41H,IAAjC,EAAuC;AACnC,QAAI4E,IAAI,GAAG,IAAX;;AACA,QAAIy2D,kBAAJ;;AACA,QAAIC,uBAAJ;;AACA,QAAIl2D,OAAO,GAAGmB,qFAAa,CAACvG,IAAD,CAA3B;;AACA,QAAIygC,cAAc,GAAGjoC,wFAAgB,CAACwH,IAAD,CAArC;;AACAnK,IAAAA,sEAAY,CAACulE,eAAD,EAAkBx2D,IAAlB,EAAwB,UAAUxH,KAAV,EAAiB;AACjD,UAAI,CAAChzH,MAAL,EAAa;AACTA,QAAAA,MAAM,GAAG,EAAT;AACH;;AACD,UAAI,CAAC6tH,kFAAU,CAAC7tH,MAAM,CAAC4wL,yEAA0BA;AAAC;AAA5B,OAAP,CAAf,EAAuF;AACnF5wL,QAAAA,MAAM,CAAC4wL,yEAA0BA;AAAC;AAA5B,SAAN,GAAuE,YAAY;AAAE,iBAAOI,eAAe,CAACG,eAAvB;AAAyC,SAA9H;AACH;;AACD,UAAI,CAACtjE,kFAAU,CAAC7tH,MAAM,CAAC6wL,sEAAuBA;AAAC;AAAzB,OAAP,CAAf,EAAiF;AAC7E7wL,QAAAA,MAAM,CAAC6wL,sEAAuBA;AAAC;AAAzB,SAAN,GAAiE,YAAY;AAAE,iBAAOG,eAAe,CAACI,WAAvB;AAAqC,SAApH;AACH;;AACDp+D,MAAAA,KAAK,CAAC2+B,0DAAWA;AAAC;AAAb,OAAL,GAA0C3xJ,MAA1C,CAViD,CAWjD;;AACA,UAAIqxL,oBAAoB,GAAIr+D,KAAK,CAAChzH,MAAN,CAAa2wL,yEAA0BA;AAAC;AAAxC,WAA+E39D,KAAK,CAAC2+B,0DAAWA;AAAC;AAAb,OAAL,CAAwCg/B,yEAA0BA;AAAC;AAAnE,SAAhF,GACvB39D,KAAK,CAAChzH,MAAN,CAAa2wL,yEAA0BA;AAAC;AAAxC,SADuB,GAErB39D,KAAK,CAAChzH,MAAN,CAAa2vH,+DAAgBA;AAAC;AAA9B,WAA2DqD,KAAK,CAAC2+B,0DAAWA;AAAC;AAAb,OAAL,CAAwChiC,+DAAgBA;AAAC;AAAzD,SAA5D,GAAoJqD,KAAK,CAAC2+B,0DAAWA;AAAC;AAAb,OAAL,CAAwChiC,+DAAgBA;AAAC;AAAzD,SAApJ,GAA2O,EAFhP;;AAGAshE,MAAAA,kBAAkB,GAAG,YAAY;AAAE,eAAOH,eAAe,GAAGO,oBAAzB;AAAgD,OAAnF;;AACAr+D,MAAAA,KAAK,CAACq9D,qEAAsBA;AAAC;AAAxB,OAAL,GAA+D,IAAIU,OAAJ,EAA/D;;AACA/9D,MAAAA,KAAK,CAAC2oC,0DAAWA;AAAC;AAAb,OAAL,GAA0C,YAAY;AAClD;AACA;AACA,YAAI0F,KAAK,GAAG3iC,+EAAO,EAAnB;AACA,YAAIv2C,SAAS,GAAG,KAAhB;AACA,YAAImpG,OAAO,GAAGt+D,KAAK,CAACq9D,qEAAsBA;AAAC;AAAxB,SAAnB;;AACA,YAAI,CAACiB,OAAO,CAAC7jL,EAAb,EAAiB;AACb06E,UAAAA,SAAS,GAAG,CAACopG,2BAA2B,CAACD,OAAD,EAAUjwB,KAAV,CAAxC;AACH;;AACD,YAAI/vC,mBAAmB,GAAG0B,KAAK,CAAChzH,MAAN,CAAa4wL,yEAA0BA;AAAC;AAAxC,WAA1B;;AACA,YAAI,CAACzoG,SAAD,IAAcmpC,mBAAmB,GAAG,CAAxC,EAA2C;AACvC,cAAID,gBAAgB,GAAG2B,KAAK,CAAChzH,MAAN,CAAa6wL,sEAAuBA;AAAC;AAArC,aAAvB;;AACA,cAAIW,cAAc,GAAGnwB,KAAK,GAAGiwB,OAAO,CAAClB,oEAAqBA;AAAC;AAAvB,WAApC;AACA,cAAIqB,kBAAkB,GAAGpwB,KAAK,GAAGiwB,OAAO,CAACZ,gEAAiBA;AAAC;AAAnB,WAAxC;AACAvoG,UAAAA,SAAS,GAAGqpG,cAAc,GAAG,CAAjB,IAAsBC,kBAAkB,GAAG,CAAvD,CAJuC,CAImB;;AAC1DtpG,UAAAA,SAAS,GAAGA,SAAS,IAAIqpG,cAAc,GAAGlgE,mBAA1C,CALuC,CAKwB;;AAC/DnpC,UAAAA,SAAS,GAAGA,SAAS,IAAIspG,kBAAkB,GAAGpgE,gBAA9C,CANuC,CAMyB;AACnE,SAjBiD,CAkBlD;;;AACA,YAAIlpC,SAAJ,EAAe;AACX;AACAupG,UAAAA,MAAM,CAACrwB,KAAD,CAAN;AACH,SAHD,MAIK;AACD;AACA,cAAI,CAAC6vB,uBAAD,IAA4B7vB,KAAK,GAAG6vB,uBAAR,GAAkCF,eAAe,CAACW,oBAAlF,EAAwG;AACpGC,YAAAA,UAAU,CAACN,OAAD,EAAUjwB,KAAV,CAAV;AACH;AACJ;AACJ,OA7BD;AA8BA;AACZ;AACA;AACA;AACA;;;AACYruC,MAAAA,KAAK,CAAC6+D,MAAN,GAAe,YAAY;AACvB,YAAIP,OAAO,GAAGt+D,KAAK,CAACq9D,qEAAsBA;AAAC;AAAxB,SAAnB;;AACAyB,QAAAA,WAAW,CAACR,OAAO,CAAC7jL,EAAT,EAAa6jL,OAAO,CAAClB,oEAAqBA;AAAC;AAAvB,SAApB,EAA2EkB,OAAO,CAACZ,gEAAiBA;AAAC;AAAnB,SAAlF,CAAX;AACH,OAHD;AAIA;AACZ;AACA;AACA;AACA;;;AACY,eAASa,2BAAT,CAAqCD,OAArC,EAA8ClqH,GAA9C,EAAmD;AAC/C,YAAIy0D,OAAO,GAAG,KAAd;;AACA,YAAIx0E,WAAW,GAAGgvG,cAAc,CAACt1J,GAAf,CAAmBkwL,kBAAkB,EAArC,CAAlB;;AACA,YAAI5pI,WAAW,IAAIwmE,kFAAU,CAACxmE,WAAW,CAAChoC,KAAb,CAA7B,EAAkD;AAC9Cw8G,UAAAA,OAAO,GAAGk2D,mCAAmC,CAACT,OAAD,EAAUjqI,WAAV,CAA7C;AACH,SAFD,MAGK;AACD;AACA;AACA;AACA;AACA,cAAI2qI,YAAY,GAAG10C,yFAAkB,CAACtiB,OAAD,EAAUi2D,kBAAkB,EAA5B,CAArC;;AACA,cAAIe,YAAJ,EAAkB;AACdn2D,YAAAA,OAAO,GAAGk2D,mCAAmC,CAACT,OAAD,EAAUU,YAAV,CAA7C;AACH;AACJ;;AACD,eAAOn2D,OAAO,IAAI,CAAC,CAACy1D,OAAO,CAAC7jL,EAA5B;AACH;AACD;AACZ;AACA;AACA;AACA;AACA;AACA;;;AACY,eAASskL,mCAAT,CAA6CT,OAA7C,EAAsDW,WAAtD,EAAmE;AAC/D,YAAIp2D,OAAO,GAAG,KAAd;AACA,YAAIq2D,YAAY,GAAG,yBAAnB;AACA,YAAIC,MAAM,GAAGF,WAAW,CAAC5yK,KAAZ,CAAkB,GAAlB,CAAb;;AACA,YAAI8yK,MAAM,CAAC3iE,0DAAWA;AAAC;AAAb,SAAN,IAA4C,CAAhD,EAAmD;AAC/C,cAAI;AACA,gBAAI4iE,KAAK,GAAG,CAACD,MAAM,CAAC,CAAD,CAAP,IAAc,CAA1B;AACA,gBAAIE,SAAS,GAAG,CAACF,MAAM,CAAC,CAAD,CAAP,IAAc,CAA9B;;AACA,gBAAIn+J,KAAK,CAACo+J,KAAD,CAAL,IAAgBA,KAAK,IAAI,CAA7B,EAAgC;AAC5Bz+D,cAAAA,sFAAc,CAACqH,OAAD,EAAU;AAAE;AAAZ,gBAA4C;AAAG;AAA/C,gBAAmG,qCAAqCk3D,YAAxI,CAAd;AACH,aAFD,MAGK,IAAIl+J,KAAK,CAACq+J,SAAD,CAAL,IAAoBA,SAAS,IAAI,CAArC,EAAwC;AACzC1+D,cAAAA,sFAAc,CAACqH,OAAD,EAAU;AAAE;AAAZ,gBAA4C;AAAG;AAA/C,gBAAmG,iCAAiCk3D,YAApI,CAAd;AACH,aAFI,MAGA,IAAIC,MAAM,CAAC,CAAD,CAAV,EAAe;AAChB;AACAb,cAAAA,OAAO,CAAC7jL,EAAR,GAAa0kL,MAAM,CAAC,CAAD,CAAnB;AACAb,cAAAA,OAAO,CAAClB,oEAAqBA;AAAC;AAAvB,eAAP,GAA+DgC,KAA/D;AACAd,cAAAA,OAAO,CAACZ,gEAAiBA;AAAC;AAAnB,eAAP,GAAuD2B,SAAvD;AACAx2D,cAAAA,OAAO,GAAG,IAAV;AACH;AACJ,WAhBD,CAiBA,OAAO5wF,CAAP,EAAU;AACN0oF,YAAAA,sFAAc,CAACqH,OAAD,EAAU;AAAE;AAAZ,cAA6C;AAAE;AAA/C,cAAsG,sCAAsCi3D,WAAW,IAAI,EAArD,IAA2D,GAA3D,GAAiEC,YAAjE,GAAgF,KAAhF,GAAwF5kE,wFAAgB,CAACriF,CAAD,CAA9M,EAAmN;AAAE2oF,cAAAA,SAAS,EAAE3G,+EAAO,CAAChiF,CAAD;AAApB,aAAnN,CAAd;AACH;AACJ;;AACD,eAAO4wF,OAAP;AACH;;AACD,eAAS61D,MAAT,CAAgBrwB,KAAhB,EAAuB;AACnB,YAAIoa,SAAS,GAAIzoD,KAAK,CAAC2+B,0DAAWA;AAAC;AAAb,SAAL,IAA2C,EAA5D;AACA,YAAI2gC,QAAQ,GAAG,CAAC7W,SAAS,CAAC8U,8DAAeA;AAAC;AAAjB,SAAT,GAAoD9U,SAAS,CAAC8U,8DAAeA;AAAC;AAAjB,SAAT,EAApD,GAA0G,IAA3G,KAAoHxkC,yEAAnI;AACA/4B,QAAAA,KAAK,CAACu/D,gBAAN,CAAuB9kL,EAAvB,GAA4B6kL,QAAQ,CAAC7W,SAAS,CAAC+U,6DAAcA;AAAC;AAAhB,SAAT,GAAmD/U,SAAS,CAAC+U,6DAAcA;AAAC;AAAhB,SAAT,EAAnD,GAAwG,EAAzG,CAApC;AACAx9D,QAAAA,KAAK,CAACq9D,qEAAsBA;AAAC;AAAxB,SAAL,CAA6DD,oEAAqBA;AAAC;AAAnF,YAAoH/uB,KAApH;;AACAuwB,QAAAA,UAAU,CAAC5+D,KAAK,CAACq9D,qEAAsBA;AAAC;AAAxB,SAAN,EAA+DhvB,KAA/D,CAAV,CALmB,CAMnB;;;AACA,YAAI,CAACrkB,4FAAqB,EAA1B,EAA8B;AAC1BrpB,UAAAA,sFAAc,CAACqH,OAAD,EAAU;AAAE;AAAZ,YAA4C;AAAE;AAA9C,YAA2G,+EAA3G,CAAd;AACH;AACJ;;AACD,eAAS42D,UAAT,CAAoBN,OAApB,EAA6BjwB,KAA7B,EAAoC;AAChC,YAAImxB,GAAG,GAAGlB,OAAO,CAAClB,oEAAqBA;AAAC;AAAvB,SAAjB;AACAkB,QAAAA,OAAO,CAACZ,gEAAiBA;AAAC;AAAnB,SAAP,GAAuDrvB,KAAvD;AACA,YAAIrhK,MAAM,GAAGgzH,KAAK,CAAC2+B,0DAAWA;AAAC;AAAb,SAAlB;;AACA,YAAI8gC,eAAe,GAAGzyL,MAAM,CAAC6wL,sEAAuBA;AAAC;AAAzB,SAAN,EAAtB,CAJgC,CAKhC;AACA;;;AACA,YAAI6B,aAAa,GAAIF,GAAG,GAAGxyL,MAAM,CAAC4wL,yEAA0BA;AAAC;AAA5B,SAAN,EAAP,GAAiFvvB,KAArG;AACA,YAAI15G,MAAM,GAAG,CAAC2pI,OAAO,CAAC7jL,EAAT,EAAa+kL,GAAb,EAAkBnxB,KAAlB,CAAb;AACA,YAAIH,SAAS,GAAG,CAAhB;;AACA,YAAIwxB,aAAa,GAAGD,eAApB,EAAqC;AACjCvxB,UAAAA,SAAS,GAAGwxB,aAAa,GAAG,IAA5B;AACH,SAFD,MAGK;AACDxxB,UAAAA,SAAS,GAAGuxB,eAAe,GAAG,IAA9B;AACH;;AACD,YAAIryB,YAAY,GAAGpgK,MAAM,CAACswL,iEAAkBA;AAAC;AAApB,SAAN,GAAwDtwL,MAAM,CAACswL,iEAAkBA;AAAC;AAApB,SAAN,EAAxD,GAAkH,IAArI,CAhBgC,CAiBhC;AACA;AACA;;AACAj6B,QAAAA,cAAc,CAACjxH,GAAf,CAAmB6rJ,kBAAkB,EAArC,EAAyCtpI,MAAM,CAACt6C,IAAP,CAAY,GAAZ,CAAzC,EAA2DrN,MAAM,CAAC4wL,yEAA0BA;AAAC;AAA5B,SAAN,KAAyE,CAAzE,GAA6E1vB,SAA7E,GAAyF,IAApJ,EAA0Jd,YAA1J;;AACA8wB,QAAAA,uBAAuB,GAAG7vB,KAA1B;AACH;;AACD,eAASywB,WAAT,CAAqBn1H,IAArB,EAA2B61H,GAA3B,EAAgCG,OAAhC,EAAyC;AACrC;AACA;AACA;AACAp1C,QAAAA,yFAAkB,CAACviB,OAAD,EAAUi2D,kBAAkB,EAA5B,EAAgC,CAACt0H,IAAD,EAAO61H,GAAP,EAAYG,OAAZ,EAAqBlC,wDAASA;AAAC;AAA/B,UAAmD,GAAnD,CAAhC,CAAlB;AACH;AACJ,KA1JW,CAAZ;AA2JH,GAlK4C,CAmKjD;AACA;;;AACIO,EAAAA,eAAe,CAACG,eAAhB,GAAkC,QAAlC,CArK6C,CAqKD;;AAC5CH,EAAAA,eAAe,CAACI,WAAhB,GAA8B,OAA9B,CAtK6C,CAsKN;;AACvCJ,EAAAA,eAAe,CAACW,oBAAhB,GAAuC,KAAvC,CAvK6C,CAuKC;;AAC9C,SAAOX,eAAP;AACH,CAzKoC,EAArC;;;;;;;;;;;;;;;;;;;;ACjBA;AACA;AACA;AACA;AAGA;AACA;;AACA,IAAI4B,cAAc;AAAG;AAAe,YAAY;AAC5C,WAASA,cAAT,CAAwBnlL,EAAxB,EAA4BolL,QAA5B,EAAsC/hL,IAAtC,EAA4CmvB,MAA5C,EAAoD;AAChD,QAAI+yF,KAAK,GAAG,IAAZ;;AACAA,IAAAA,KAAK,CAACu8B,OAAN,GAAgB9hJ,EAAE,IAAI2/G,qFAAa,EAAnC;AACA4F,IAAAA,KAAK,CAACqQ,QAAN,GAAiBwvD,QAAjB;AACA,QAAInzK,QAAQ,GAAG8tG,mFAAW,EAA1B;;AACA,QAAI,CAAC18G,IAAD,IAAS4O,QAAT,IAAqBA,QAAQ,CAAC4hE,QAAlC,EAA4C;AACxCxwE,MAAAA,IAAI,GAAG4O,QAAQ,CAAC4hE,QAAhB;AACH;;AACD0xC,IAAAA,KAAK,CAACliH,IAAN,GAAau7G,yFAAkB,CAACpsF,MAAD,EAASnvB,IAAT,CAA/B;AACH;;AACD,SAAO8hL,cAAP;AACH,CAZmC,EAApC;;;;;;;;;;;;;;;;;;;;;;;;ACRA;AACA;AACA;AACA;AAGA;AACA;AACA;AACA;;AACA,SAASS,kBAAT,CAA4B5lL,EAA5B,EAAgC;AAC5B;AACA;AACA;AACA,MAAI,OAAOA,EAAP,KAAc,QAAd,IACA,CAACA,EADD,IAEAA,EAAE,CAAC+8E,KAAH,CAAS,YAAT,CAFJ,EAE4B;AACxB,WAAO,KAAP;AACH;;AACD,SAAO,IAAP;AACH;;AACD,IAAIhmE,IAAI;AAAG;AAAe,YAAY;AAClC,WAASA,IAAT,CAAcxkB,MAAd,EAAsB41H,IAAtB,EAA4B;AACxB;AACR;AACA;AACQ,SAAK09D,SAAL,GAAiB,KAAjB;AACA;AACR;AACA;;AACQ,SAAKC,eAAL,GAAuB,KAAvB;;AACA,QAAIv4D,OAAO,GAAGmB,qFAAa,CAACvG,IAAD,CAA3B;;AACA,QAAIygC,cAAc,GAAGjoC,wFAAgB,CAACwH,IAAD,CAArC;;AACA,QAAIq7D,kBAAJ;;AACAxlE,IAAAA,sEAAY,CAACjnG,IAAD,EAAO,IAAP,EAAa,UAAUwuG,KAAV,EAAiB;AACtCA,MAAAA,KAAK,CAAC2+B,0DAAWA;AAAC;AAAb,OAAL,GAA0C3xJ,MAA1C;AACA,UAAIwzL,iBAAiB,GAAIxgE,KAAK,CAAChzH,MAAN,CAAaozL,uEAAwBA;AAAC;AAAtC,WAA0EpgE,KAAK,CAAC2+B,0DAAWA;AAAC;AAAb,OAAL,CAAwCyhC,uEAAwBA;AAAC;AAAjE,SAA3E,GAAkLpgE,KAAK,CAAC2+B,0DAAWA;AAAC;AAAb,OAAL,CAAwCyhC,uEAAwBA;AAAC;AAAjE,SAAlL,GAAwR,EAAhT;;AACAnC,MAAAA,kBAAkB,GAAG,YAAY;AAAE,eAAOzsK,IAAI,CAACivK,cAAL,GAAsBD,iBAA7B;AAAiD,OAApF,CAHsC,CAItC;;;AACA,UAAI7rI,MAAM,GAAG0uG,cAAc,CAACt1J,GAAf,CAAmBkwL,kBAAkB,EAArC,CAAb;;AACA,UAAItpI,MAAJ,EAAY;AACRqrE,QAAAA,KAAK,CAACkgE,+DAAgBA;AAAC;AAAlB,SAAL,GAAkD,KAAlD;AACA,YAAI58K,MAAM,GAAGqxC,MAAM,CAACtoC,KAAP,CAAamF,IAAI,CAACyuK,oEAAqBA;AAAC;AAAvB,SAAjB,CAAb;;AACA,YAAI38K,MAAM,CAACk5G,0DAAWA;AAAC;AAAb,SAAN,GAA2C,CAA/C,EAAkD;AAC9CwD,UAAAA,KAAK,CAACvlH,EAAN,GAAW6I,MAAM,CAAC,CAAD,CAAjB,CAD8C,CAE9C;;AACA08G,UAAAA,KAAK,CAACmgE,sEAAuBA;AAAC;AAAzB,WAAL,GAA+D,CAAC,CAACngE,KAAK,CAACvlH,EAAvE;AACH;AACJ;;AACD,eAASimL,cAAT,GAA0B;AACtB,YAAIjY,SAAS,GAAIz7K,MAAM,IAAI,EAA3B;AACA,YAAIsyL,QAAQ,GAAG,CAAC7W,SAAS,CAAC8U,8DAAeA;AAAC;AAAjB,SAAT,GAAoD9U,SAAS,CAAC8U,8DAAeA;AAAC;AAAjB,SAAT,EAApD,GAA0G,IAA3G,KAAoHxkC,yEAAnI;AACA,YAAIt+I,EAAE,GAAG6kL,QAAQ,CAAC7W,SAAS,CAAC+U,6DAAcA;AAAC;AAAhB,SAAT,GAAmDxwL,MAAM,CAACwwL,6DAAcA;AAAC;AAAhB,SAAN,EAAnD,GAAqG,EAAtG,CAAjB;AACA,eAAO/iL,EAAP;AACH;;AACD,eAASkmL,kBAAT,CAA4BrwK,MAA5B,EAAoC;AAChC,YAAIswK,MAAM,GAAG98J,mFAAW,CAAC,IAAIuxB,IAAJ,EAAD,CAAxB;AACA2qE,QAAAA,KAAK,CAAC6gE,sBAAN,GAA+BD,MAA/B;AACA5gE,QAAAA,KAAK,CAACkgE,+DAAgBA;AAAC;AAAlB,SAAL,GAAkD,IAAlD;AACA,YAAIY,SAAS,GAAG,CAACxwK,MAAD,EAASswK,MAAT,CAAhB;AACA,eAAOE,SAAP;AACH;;AACD,eAASC,cAAT,CAAwBpsI,MAAxB,EAAgC;AAC5B;AACA;AACA;AACA,YAAIqsI,OAAO,GAAG,QAAd;AACAhhE,QAAAA,KAAK,CAACmgE,sEAAuBA;AAAC;AAAzB,SAAL,GAA+D98B,cAAc,CAACjxH,GAAf,CAAmB6rJ,kBAAkB,EAArC,EAAyCtpI,MAAzC,EAAiDqsI,OAAjD,CAA/D;AACH;;AACD,UAAI,CAAChhE,KAAK,CAACvlH,EAAX,EAAe;AACXulH,QAAAA,KAAK,CAACvlH,EAAN,GAAWimL,cAAc,EAAzB;;AACA,YAAII,SAAS,GAAGH,kBAAkB,CAAC3gE,KAAK,CAACvlH,EAAP,CAAlC;;AACAsmL,QAAAA,cAAc,CAACD,SAAS,CAACrD,wDAASA;AAAC;AAAX,SAAT,CAAwCjsK,IAAI,CAACyuK,oEAAqBA;AAAC;AAAvB,SAA5C,CAAD,CAAd,CAHW,CAIX;AACA;;;AACA,YAAI91C,MAAM,GAAGn9I,MAAM,CAAC2vH,+DAAgBA;AAAC;AAAlB,SAAN,IAAqD3vH,MAAM,CAAC2vH,+DAAgBA;AAAC;AAAlB,SAAN,EAArD,GAA2G3vH,MAAM,CAAC2vH,+DAAgBA;AAAC;AAAlB,SAAN,KAAsD,YAAjK,GAAgL,YAA7L;AACA6tB,QAAAA,uFAAgB,CAACxiB,OAAD,EAAUmiB,MAAV,CAAhB;AACH,OA3CqC,CA4CtC;AACA;;;AACAnqB,MAAAA,KAAK,CAAC8/D,8DAAeA;AAAC;AAAjB,OAAL,GAAiD9yL,MAAM,CAAC8yL,8DAAeA;AAAC;AAAjB,OAAN,GAAkD9yL,MAAM,CAAC8yL,8DAAeA;AAAC;AAAjB,OAAN,EAAlD,GAAsGngJ,SAAvJ,CA9CsC,CA+CtC;AACA;;AACA,UAAIshJ,UAAU,GAAG59B,cAAc,CAACt1J,GAAf,CAAmByjB,IAAI,CAACwuK,yEAA0BA;AAAC;AAA5B,OAAvB,CAAjB;;AACA,UAAIiB,UAAJ,EAAgB;AACZA,QAAAA,UAAU,GAAGC,SAAS,CAACD,UAAD,CAAtB;AACA,YAAIE,gBAAgB,GAAGF,UAAU,CAAC50K,KAAX,CAAiBmF,IAAI,CAACyuK,oEAAqBA;AAAC;AAAvB,SAArB,CAAvB;;AACA,YAAIkB,gBAAgB,CAAC,CAAD,CAApB,EAAyB;AACrBnhE,UAAAA,KAAK,CAAC+/D,oEAAqBA;AAAC;AAAvB,WAAL,GAA6DoB,gBAAgB,CAAC,CAAD,CAA7E;AACH;;AACD,YAAIA,gBAAgB,CAAC3kE,0DAAWA;AAAC;AAAb,SAAhB,GAAqD,CAArD,IAA0D2kE,gBAAgB,CAAC,CAAD,CAA9E,EAAmF;AAC/EnhE,UAAAA,KAAK,CAAC8/D,8DAAeA;AAAC;AAAjB,WAAL,GAAiDqB,gBAAgB,CAAC,CAAD,CAAjE;AACH;AACJ;;AACDnhE,MAAAA,KAAK,CAACohE,2BAAN,GAAoC,UAAUC,mBAAV,EAA+B5iJ,SAA/B,EAA0C6iJ,aAA1C,EAAyD;AACzF,YAAIA,aAAa,KAAK,KAAK,CAA3B,EAA8B;AAAEA,UAAAA,aAAa,GAAG,KAAhB;AAAwB,SADiC,CAEzF;;;AACA,YAAIC,cAAc,GAAG,CAAClB,kBAAkB,CAACgB,mBAAD,CAAnB,IAA6C5iJ,SAAS,IAAI,CAAC4hJ,kBAAkB,CAAC5hJ,SAAD,CAAlG;;AACA,YAAI8iJ,cAAJ,EAAoB;AAChB5gE,UAAAA,sFAAc,CAACqH,OAAD,EAAU;AAAE;AAAZ,YAA4C;AAAG;AAA/C,YAA0G,uCACpH,4HADU,EACoH,IADpH,CAAd;;AAEA;AACH,SARwF,CASzF;;;AACAhI,QAAAA,KAAK,CAAC+/D,oEAAqBA;AAAC;AAAvB,SAAL,GAA6DsB,mBAA7D;AACA,YAAIJ,UAAU,GAAGjhE,KAAK,CAAC+/D,oEAAqBA;AAAC;AAAvB,SAAtB;;AACA,YAAIthJ,SAAJ,EAAe;AACXuhF,UAAAA,KAAK,CAAC8/D,8DAAeA;AAAC;AAAjB,WAAL,GAAiDrhJ,SAAjD;AACAwiJ,UAAAA,UAAU,GAAG,CAACjhE,KAAK,CAAC+/D,oEAAqBA;AAAC;AAAvB,WAAN,EAA6D//D,KAAK,CAACvhF,SAAnE,EAA8Eg/I,wDAASA;AAAC;AAAxF,YAA4GjsK,IAAI,CAACyuK,oEAAqBA;AAAC;AAAvB,WAAhH,CAAb;AACH;;AACD,YAAIqB,aAAJ,EAAmB;AACf;AACA;AACAj+B,UAAAA,cAAc,CAACjxH,GAAf,CAAmB5gB,IAAI,CAACwuK,yEAA0BA;AAAC;AAA5B,WAAvB,EAAsFwB,SAAS,CAACP,UAAD,CAA/F;AACH;AACJ,OArBD;AAsBA;AACZ;AACA;AACA;;;AACYjhE,MAAAA,KAAK,CAACyhE,6BAAN,GAAsC,YAAY;AAC9CzhE,QAAAA,KAAK,CAAC+/D,oEAAqBA;AAAC;AAAvB,SAAL,GAA6D,IAA7D;AACA//D,QAAAA,KAAK,CAAC8/D,8DAAeA;AAAC;AAAjB,SAAL,GAAiD,IAAjD;;AACAz8B,QAAAA,cAAc,CAACyL,GAAf,CAAmBt9I,IAAI,CAACwuK,yEAA0BA;AAAC;AAA5B,SAAvB;AACH,OAJD;;AAKAhgE,MAAAA,KAAK,CAAC2oC,0DAAWA;AAAC;AAAb,OAAL,GAA0C,UAAUr4I,MAAV,EAAkB;AACxD;AACA,YAAI0vG,KAAK,CAACvlH,EAAN,KAAa6V,MAAb,IAAuB,CAAC0vG,KAAK,CAACmgE,sEAAuBA;AAAC;AAAzB,SAAjC,EAA0F;AACtF,cAAIuB,OAAO,GAAGpxK,MAAM,GAAGA,MAAH,GAAYowK,cAAc,EAA9C;;AACA,cAAIiB,WAAW,GAAGhB,kBAAkB,CAACe,OAAD,CAApC;;AACAX,UAAAA,cAAc,CAACY,WAAW,CAAClE,wDAASA;AAAC;AAAX,WAAX,CAA0CjsK,IAAI,CAACyuK,oEAAqBA;AAAC;AAAvB,WAA9C,CAAD,CAAd;AACH;AACJ,OAPD;AAQH,KAnGW,CAAZ;AAoGH,GAjHiC,CAkHtC;AACA;AACA;;;AACIzuK,EAAAA,IAAI,CAACowK,eAAL,GAAuB,GAAvB;AACApwK,EAAAA,IAAI,CAACivK,cAAL,GAAsB,SAAtB;AACAjvK,EAAAA,IAAI,CAACqwK,kBAAL,GAA0B,aAA1B;AACA,SAAOrwK,IAAP;AACH,CAzHyB,EAA1B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACrBA;AACA;AACA;AACA;;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,IAAImxK,gBAAgB;AAAG;AAAe,UAAUvsJ,MAAV,EAAkB;AACpDqB,EAAAA,iFAAS,CAACkrJ,gBAAD,EAAmBvsJ,MAAnB,CAAT;;AACA,WAASusJ,gBAAT,GAA4B;AACxB,QAAIxkJ,KAAK,GAAG/H,MAAM,CAACK,IAAP,CAAY,IAAZ,KAAqB,IAAjC;;AACA0H,IAAAA,KAAK,CAAC80E,QAAN,GAAiB,GAAjB;AACA90E,IAAAA,KAAK,CAACygF,UAAN,GAAmB5F,6FAAnB;;AACA,QAAI4pE,gBAAJ;;AACA,QAAIC,oBAAJ;;AACA,QAAIC,iBAAJ;;AACArqE,IAAAA,sEAAY,CAACkqE,gBAAD,EAAmBxkJ,KAAnB,EAA0B,UAAU6hF,KAAV,EAAiBC,KAAjB,EAAwB;AAC1DE,MAAAA,aAAa;;AACbH,MAAAA,KAAK,CAAC/zF,UAAN,GAAmB,UAAUj/B,MAAV,EAAkB41H,IAAlB,EAAwBC,UAAxB,EAAoCC,WAApC,EAAiD;AAChE7C,QAAAA,KAAK,CAACh0F,UAAN,CAAiBj/B,MAAjB,EAAyB41H,IAAzB,EAA+BC,UAA/B,EAA2CC,WAA3C;;AACAK,QAAAA,iBAAiB,CAACn2H,MAAD,CAAjB;AACH,OAHD;AAIA;AACZ;AACA;AACA;;;AACYgzH,MAAAA,KAAK,CAACK,gBAAN,GAAyB,UAAUvnG,KAAV,EAAiBwnG,OAAjB,EAA0B;AAC/C,YAAIxF,yFAAiB,CAAChiG,KAAD,CAArB,EAA8B,CAC1B;AACH,SAFD,MAGK;AACDwnG,UAAAA,OAAO,GAAGN,KAAK,CAACwa,UAAN,CAAiBla,OAAjB,CAAV,CADC,CAED;;AACA,cAAIxnG,KAAK,CAAChb,IAAN,KAAeg7G,wFAAnB,EAA0C;AACtCwH,YAAAA,OAAO,CAACma,OAAR,GAAkB05B,yBAAlB;AACH;;AACD,cAAI4uB,UAAU,GAAI/iE,KAAK,CAACpiH,OAAN,IAAiB,EAAnC;;AACA,cAAImlL,UAAU,CAACzE,OAAf,EAAwB;AACpB;AACA,gBAAI,OAAOt+D,KAAK,CAACpiH,OAAN,CAAc0gL,OAAd,CAAsB7jL,EAA7B,KAAoC,QAApC,IAAgDsoL,UAAU,CAACN,mEAAoBA;AAAC;AAAtB,aAA9D,EAAmH;AAC/GM,cAAAA,UAAU,CAACN,mEAAoBA;AAAC;AAAtB,eAAV,CAA8D95B,0DAAWA;AAAC;AAA1E;AACH;AACJ;;AACD,cAAIq6B,OAAO,GAAGD,UAAU,CAAC95K,IAAzB;;AACA,cAAI+5K,OAAO,IAAI,CAACA,OAAO,CAAC7C,sEAAuBA;AAAC;AAAzB,WAAvB,EAAgF;AAC5E6C,YAAAA,OAAO,CAACr6B,0DAAWA;AAAC;AAAb,aAAP,CAA0Co6B,UAAU,CAAC95K,IAAX,CAAgBxO,EAA1D;AACH;;AACDwoL,UAAAA,yBAAyB,CAACnqK,KAAD,EAAQwnG,OAAR,CAAzB;;AACA,cAAI0iE,OAAO,IAAIA,OAAO,CAAC9C,+DAAgBA;AAAC;AAAlB,WAAtB,EAAkE;AAC9D8C,YAAAA,OAAO,CAAC9C,+DAAgBA;AAAC;AAAlB,aAAP,GAAoD,KAApD;AACA,gBAAI/wL,OAAO,GAAG,IAAI+wJ,uFAAJ,CAAwB;AAAG;AAA3B,cAAiF,CAACj3B,oFAAY,MAAM,EAAnB,EAAuBj6C,SAAvB,IAAoC,EAArH,CAAd;;AACAilF,YAAAA,2FAAmB,CAAC3zC,OAAO,CAACma,OAAR,EAAD,EAAoB;AAAE;AAAtB,cAAuDtrI,OAAvD,CAAnB;AACH;;AACD6wH,UAAAA,KAAK,CAACO,WAAN,CAAkBznG,KAAlB,EAAyBwnG,OAAzB;AACH;AACJ,OA7BD;;AA8BAN,MAAAA,KAAK,CAAC4D,WAAN,GAAoB,UAAUC,SAAV,EAAqBC,WAArB,EAAkC;AAClD,YAAIlB,IAAI,GAAG,CAACiB,SAAS,IAAI,EAAd,EAAkBjB,IAAlB,EAAX;;AACA,YAAIA,IAAI,IAAIA,IAAI,CAAC4/D,iEAAkBA;AAAC;AAApB,SAAhB,EAAgE;AAC5D,cAAIv7B,QAAQ,GAAGrkC,IAAI,CAAC4/D,iEAAkBA;AAAC;AAApB,WAAJ,CAAmD,KAAnD,CAAf;;AACA,cAAIv7B,QAAQ,KAAK47B,oBAAjB,EAAuC;AACnCjgE,YAAAA,IAAI,CAACokC,WAAL,CAAiB87B,iBAAjB;AACH;AACJ;;AACD3iE,QAAAA,aAAa;AAChB,OATD;;AAUA,eAASA,aAAT,GAAyB;AACrByiE,QAAAA,gBAAgB,GAAG,IAAnB;AACAC,QAAAA,oBAAoB,GAAG,IAAvB;AACAC,QAAAA,iBAAiB,GAAG,IAApB;AACH;;AACD,eAAS3/D,iBAAT,CAA2Bn2H,MAA3B,EAAmC;AAC/B,YAAI4xH,UAAU,GAAGoB,KAAK,CAACpB,UAAvB;AACA,YAAIgE,IAAI,GAAG5C,KAAK,CAAC4C,IAAjB;AACA,YAAI7nH,GAAG,GAAGg/G,qGAA6B,CAAC,IAAD,EAAO/sH,MAAP,EAAe41H,IAAf,CAAvC;AACA,YAAI8X,aAAa,GAAGioD,gBAAgB,CAAC77D,gBAAjB,EAApB;AACA87D,QAAAA,gBAAgB,GAAGA,gBAAgB,IAAI,EAAvC;AACAznE,QAAAA,qFAAa,CAACuf,aAAD,EAAgB,UAAUxW,KAAV,EAAiB1lH,KAAjB,EAAwB;AACjDokL,UAAAA,gBAAgB,CAAC1+D,KAAD,CAAhB,GAA0B,YAAY;AAAE,mBAAOnpH,GAAG,CAACopH,SAAJ,CAAcvF,UAAd,EAA0BsF,KAA1B,EAAiC1lH,KAAK,EAAtC,CAAP;AAAmD,WAA3F;AACH,SAFY,CAAb;;AAGA,YAAIxR,MAAM,CAACg2H,aAAX,EAA0B;AACtBrJ,UAAAA,0FAAmB,CAAC3sH,MAAM,CAACg2H,aAAR,CAAnB;AACH;;AACD8/D,QAAAA,iBAAiB,GAAGlgE,IAAI,CAAC4/D,iEAAkBA;AAAC;AAApB,SAAJ,CAAmD,KAAnD,CAApB;AACAxiE,QAAAA,KAAK,CAACpiH,OAAN,GAAgB,IAAIkkL,gEAAJ,CAAqBl/D,IAArB,EAA2BggE,gBAA3B,EAA6CE,iBAA7C,CAAhB;AACAD,QAAAA,oBAAoB,GAAG3pE,8GAAsC,CAAC8G,KAAK,CAACpiH,OAAN,CAAc8kL,mEAAoBA;AAAC;AAAnC,SAAD,EAAmEI,iBAAnE,CAA7D;AACAlgE,QAAAA,IAAI,CAACokC,WAAL,CAAiB67B,oBAAjB;;AACA7iE,QAAAA,KAAK,CAACpiH,OAAN,CAAc+/H,KAAd,GAAsB,YAAY;AAC9B,cAAIulD,aAAa,GAAGtgE,IAAI,CAACiD,SAAL,CAAekQ,0FAAf,CAApB;AACA,iBAAOmtD,aAAa,GAAGA,aAAa,CAACp9D,MAAd,CAAqB,QAArB,CAAH,GAAoC,IAAxD;AACH,SAHD,CAhB+B,CAoB/B;;;AACA9F,QAAAA,KAAK,CAAC,YAAD,CAAL,GAAsB4iE,gBAAtB;AACH;;AACD,eAASK,yBAAT,CAAmC91E,GAAnC,EAAwCmT,OAAxC,EAAiD;AAC7C;AACA8/B,QAAAA,mFAAW,CAACjzC,GAAD,EAAM,MAAN,EAAc,EAAd,CAAX;AACAizC,QAAAA,mFAAW,CAACjzC,GAAD,EAAM,KAAN,EAAa,EAAb,CAAX;AACA,YAAIpyG,GAAG,GAAGilH,KAAK,CAACpiH,OAAhB;;AACA7C,QAAAA,GAAG,CAACsnL,yEAA0BA;AAAC;AAA5B,SAAH,CAAkEl1E,GAAlE,EAAuEmT,OAAvE;;AACAvlH,QAAAA,GAAG,CAACgnL,yEAA0BA;AAAC;AAA5B,SAAH,CAAsE50E,GAAtE,EAA2EmT,OAA3E;;AACAvlH,QAAAA,GAAG,CAACinL,wEAAyBA;AAAC;AAA3B,SAAH,CAAgE70E,GAAhE,EAAqEmT,OAArE;;AACAvlH,QAAAA,GAAG,CAACqnL,yEAA0BA;AAAC;AAA5B,SAAH,CAAoEj1E,GAApE,EAAyEmT,OAAzE;;AACAvlH,QAAAA,GAAG,CAACunL,sEAAuBA;AAAC;AAAzB,SAAH,CAA4Dn1E,GAA5D,EAAiEmT,OAAjE;;AACAvlH,QAAAA,GAAG,CAAConL,yEAA0BA;AAAC;AAA5B,SAAH,CAAyEh1E,GAAzE,EAA8EmT,OAA9E;;AACAvlH,QAAAA,GAAG,CAACooL,eAAJ,CAAoBh2E,GAApB,EAAyBmT,OAAzB;;AACAvlH,QAAAA,GAAG,CAACmnL,yEAA0BA;AAAC;AAA5B,SAAH,CAAmE/0E,GAAnE,EAAwEmT,OAAxE,EAZ6C,CAYqC;;;AAClFvlH,QAAAA,GAAG,CAACknL,yEAA0BA;AAAC;AAA5B,SAAH,CAAmE90E,GAAnE,EAAwEmT,OAAxE,EAb6C,CAaqC;;;AAClFvlH,QAAAA,GAAG,CAACqoL,OAAJ,CAAYj2E,GAAZ,EAAiBmT,OAAjB;AACH;AACJ,KA9FW,CAAZ;AA+FA,WAAOniF,KAAP;AACH;;AACDwkJ,EAAAA,gBAAgB,CAAC77D,gBAAjB,GAAoC,YAAY;AAC5C,QAAIzpF,EAAJ;;AACA,QAAIw7F,YAAJ;AACA,QAAIwqD,SAAS,GAAG,IAAhB;AACA,QAAI3oD,aAAa,IAAIr9F,EAAE,GAAG;AAClBy4I,MAAAA,kBAAkB,EAAE,YAAY;AAAE,eAAOj9C,YAAP;AAAsB;AADtC,KAAL,EAGjBx7F,EAAE,CAACyiJ,8DAAeA;AAAC;AAAjB,KAAF,GAA2C,YAAY;AAAE,aAAOuD,SAAP;AAAmB,KAH3D,EAIjBhmJ,EAAE,CAACghF,gBAAH,GAAsB,YAAY;AAAE,aAAO,KAAK,EAAL,GAAU,IAAjB;AAAwB,KAJ3C,EAKjBhhF,EAAE,CAAC4kG,kBAAH,GAAwB,YAAY;AAAE,aAAO,GAAP;AAAa,KALlC,EAMjB5kG,EAAE,CAACihF,mBAAH,GAAyB,YAAY;AAAE,aAAO,KAAK,EAAL,GAAU,EAAV,GAAe,IAAtB;AAA6B,KANnD,EAOjBjhF,EAAE,CAACigJ,iEAAkBA;AAAC;AAApB,KAAF,GAAiD,YAAY;AAAE,aAAO+F,SAAP;AAAmB,KAPjE,EAQjBhmJ,EAAE,CAAC4/I,iEAAkBA;AAAC;AAApB,KAAF,GAAiD,YAAY;AAAE,aAAOoG,SAAP;AAAmB,KARjE,EASjBhmJ,EAAE,CAACimJ,4BAAH,GAAkC,YAAY;AAAE,aAAO,KAAP;AAAe,KAT9C,EAUjBjmJ,EAAE,CAACsgG,KAAH,GAAW,YAAY;AAAE,aAAO0lD,SAAP;AAAmB,KAV3B,EAWjBhmJ,EAAE,CAACklJ,kEAAmBA;AAAC;AAArB,KAAF,GAAkD,YAAY;AAAE,aAAOc,SAAP;AAAmB,KAXlE,EAYjBhmJ,EAAE,CAACs/E,+DAAgBA;AAAC;AAAlB,KAAF,GAA6C,YAAY;AAAE,aAAOkc,YAAP;AAAsB,KAZhE,EAajBx7F,EAAE,CAACsgJ,yEAA0BA;AAAC;AAA5B,KAAF,GAAiE,YAAY;AAAE,aAAO9kD,YAAP;AAAsB,KAbpF,EAcjBx7F,EAAE,CAAC+iJ,uEAAwBA;AAAC;AAA1B,KAAF,GAA4D,YAAY;AAAE,aAAOvnD,YAAP;AAAsB,KAd/E,EAejBx7F,EAAE,CAACmgJ,6DAAcA;AAAC;AAAhB,KAAF,GAAyC,YAAY;AAAE,aAAO,EAAP;AAAY,KAflD,EAgBjBngJ,EAAE,CAACkgJ,8DAAeA;AAAC;AAAjB,KAAF,GAA0C,YAAY;AAAE,aAAO8F,SAAP;AAAmB,KAhB1D,EAiBjBhmJ,EAjBa,CAAjB;AAkBA,WAAOq9F,aAAP;AACH,GAvBD,CA1GoD,CAkIxD;AACA;;;AACI,SAAOioD,gBAAP;AACH,CArIqC,CAqIpC/oE,wFArIoC,CAAtC;;AAsIA,iEAAe+oE,gBAAf;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACpJA;AACA;AACA;AACA;;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAIY,MAAM,GAAG,KAAb;AACA,IAAIC,OAAO,GAAG,MAAd;;AACA,SAASC,YAAT,CAAsBvoI,MAAtB,EAA8Bp9C,IAA9B,EAAoC;AAChC,MAAIo9C,MAAM,IAAIA,MAAM,CAACp9C,IAAD,CAAhB,IAA0B44H,+EAAO,CAACx7E,MAAM,CAACp9C,IAAD,CAAP,CAAP,CAAsB0+G,0DAAWA;AAAC;AAAlC,QAA4D,CAA1F,EAA6F;AACzF,WAAOthE,MAAM,CAACp9C,IAAD,CAAb;AACH;AACJ;;AACD,IAAIgkL,gBAAgB;AAAG;AAAe,YAAY;AAC9C,WAASA,gBAAT,CAA0Bl/D,IAA1B,EAAgC8X,aAAhC,EAA+CgpD,gBAA/C,EAAiE;AAC7D,QAAIvlJ,KAAK,GAAG,IAAZ;;AACA,QAAIlR,MAAM,GAAG21F,IAAI,CAAC31F,MAAlB;;AACA,SAAK0wG,KAAL,GAAa,YAAY;AAAE,aAAO,IAAP;AAAc,KAAzC;;AACA,SAAK4kD,kEAAmBA;AAAC;AAAzB,QAAuD,YAAY;AAAE,aAAO,IAAP;AAAc,KAAnF;;AACA9pE,IAAAA,sEAAY,CAACqpE,gBAAD,EAAmB,IAAnB,EAAyB,UAAU9hE,KAAV,EAAiB;AAClDA,MAAAA,KAAK,CAACrjF,WAAN,GAAoB,IAAIogJ,6DAAJ,EAApB;AACA/8D,MAAAA,KAAK,CAAC2jE,QAAN,GAAiB,IAAIzG,uDAAJ,CAAaxiD,aAAb,CAAjB;;AACA,UAAI/f,iFAAS,EAAb,EAAiB;AACbqF,QAAAA,KAAK,CAACyiE,mEAAoBA;AAAC;AAAtB,SAAL,GAA2D,IAAIzE,6DAAJ,CAAoBtjD,aAApB,EAAmC9X,IAAnC,CAA3D;AACA5C,QAAAA,KAAK,CAAC8O,MAAN,GAAe,IAAIkuD,mDAAJ,EAAf;AACAh9D,QAAAA,KAAK,CAACtzG,QAAN,GAAiB,IAAIud,uDAAJ,EAAjB;AACA+1F,QAAAA,KAAK,CAAC/2G,IAAN,GAAa,IAAIuI,+CAAJ,CAASkpH,aAAT,EAAwB9X,IAAxB,CAAb;AACA,YAAIuqD,OAAO,GAAG,KAAK,CAAnB;AACA,YAAI0S,QAAQ,GAAG,KAAK,CAApB;AACA,YAAI11C,MAAJ;;AACA,YAAIu5C,gBAAJ,EAAsB;AAClBvW,UAAAA,OAAO,GAAGuW,gBAAgB,CAACpnC,UAAjB,EAAV;AACAujC,UAAAA,QAAQ,GAAG6D,gBAAgB,CAAClnC,SAAjB,EAAX;AACArS,UAAAA,MAAM,GAAGu5C,gBAAgB,CAACrnC,OAAjB,EAAT;AACH;;AACDr8B,QAAAA,KAAK,CAAC0iE,mEAAoBA;AAAC;AAAtB,SAAL,GAA2D,IAAI9C,oEAAJ,CAAmBzS,OAAnB,EAA4B0S,QAA5B,EAAsC11C,MAAtC,EAA8Cl9G,MAA9C,CAA3D;AACA+yF,QAAAA,KAAK,CAACs+D,OAAN,GAAgB,IAAIP,qDAAJ,EAAhB;AACH;;AACD/9D,MAAAA,KAAK,CAACuiE,kEAAmBA;AAAC;AAArB,OAAL,GAAwD,YAAY;AAChE,YAAIjE,OAAO,GAAGt+D,KAAK,CAACs+D,OAApB;AACA,YAAI1vD,KAAK,GAAG,IAAZ,CAFgE,CAGhE;;AACA,YAAI0vD,OAAO,IAAIvjE,gFAAQ,CAACujE,OAAO,CAAC7jL,EAAT,CAAvB,EAAqC;AACjCm0H,UAAAA,KAAK,GAAG0vD,OAAO,CAAC7jL,EAAhB;AACH,SAFD,MAGK;AACD;AACA,cAAImpL,WAAW,GAAG,CAAC5jE,KAAK,CAACyiE,mEAAoBA;AAAC;AAAtB,WAAL,IAA4D,EAA7D,EAAiEpF,qEAAsBA;AAAC;AAAxF,WAAlB;AACAzuD,UAAAA,KAAK,GAAGg1D,WAAW,IAAI7oE,gFAAQ,CAAC6oE,WAAW,CAACnpL,EAAb,CAAvB,GAA0CmpL,WAAW,CAACnpL,EAAtD,GAA2D,IAAnE;AACH;;AACD,eAAOm0H,KAAP;AACH,OAbD;;AAcA5O,MAAAA,KAAK,CAACqiE,yEAA0BA;AAAC;AAA5B,OAAL,GAAsE,UAAUl1E,GAAV,EAAemT,OAAf,EAAwB;AAC1F9gG,QAAAA,gFAAQ,CAAC4gI,mFAAW,CAACjzC,GAAG,CAAC/iE,GAAL,EAAUk+F,qFAAV,CAAZ,EAA0C,OAA1C,EAAmDtoB,KAAK,CAACuiE,kEAAmBA;AAAC;AAArB,SAAL,EAAnD,EAA4GxnE,4EAA5G,CAAR;AACH,OAFD;;AAGAiF,MAAAA,KAAK,CAACmiE,yEAA0BA;AAAC;AAA5B,OAAL,GAA6E,UAAUh1E,GAAV,EAAemT,OAAf,EAAwB;AACjG9gG,QAAAA,gFAAQ,CAAC2tF,GAAG,CAAC/iE,GAAL,EAAUk+F,oFAAV,EAA4BtoB,KAAK,CAAC95C,EAAlC,CAAR;AACH,OAFD;;AAGA85C,MAAAA,KAAK,CAAC+hE,yEAA0BA;AAAC;AAA5B,OAAL,GAA0E,UAAU50E,GAAV,EAAemT,OAAf,EAAwB;AAC9F,YAAI3jF,WAAW,GAAGqjF,KAAK,CAACrjF,WAAxB;;AACA,YAAIA,WAAJ,EAAiB;AACb;AACA,cAAI6wG,IAAI,GAAG4S,mFAAW,CAACjzC,GAAD,EAAMq2E,OAAN,CAAtB;AACAhkK,UAAAA,gFAAQ,CAACguH,IAAD,EAAO1gB,iGAAP,EAAsCnwF,WAAW,CAAC4wG,GAAlD,EAAuDxyB,4EAAvD,CAAR;AACAv7F,UAAAA,gFAAQ,CAACguH,IAAD,EAAO1gB,+FAAP,EAAoCnwF,WAAW,CAACknJ,KAAhD,EAAuD9oE,4EAAvD,CAAR;AACH;AACJ,OARD;;AASAiF,MAAAA,KAAK,CAACgiE,wEAAyBA;AAAC;AAA3B,OAAL,GAAoE,UAAU70E,GAAV,EAAemT,OAAf,EAAwB;AACxF,YAAIwO,MAAM,GAAG9O,KAAK,CAAC8O,MAAnB;;AACA,YAAIA,MAAJ,EAAY;AACR;AACA,cAAID,SAAS,GAAGuxB,mFAAW,CAACA,mFAAW,CAACjzC,GAAD,EAAMo2E,MAAN,CAAZ,EAA2Bj7C,wFAA3B,CAA3B;AACA9oH,UAAAA,gFAAQ,CAACqvG,SAAD,EAAY,SAAZ,EAAuBC,MAAM,CAACr0H,EAA9B,EAAkCsgH,4EAAlC,CAAR;AACAv7F,UAAAA,gFAAQ,CAACqvG,SAAD,EAAY,IAAZ,EAAkBC,MAAM,CAACI,EAAzB,EAA6BnU,4EAA7B,CAAR;AACAv7F,UAAAA,gFAAQ,CAACqvG,SAAD,EAAY,OAAZ,EAAqBC,MAAM,CAACjlH,KAA5B,EAAmCkxG,4EAAnC,CAAR;AACAv7F,UAAAA,gFAAQ,CAACqvG,SAAD,EAAY,aAAZ,EAA2BC,MAAM,CAACE,WAAlC,EAA+CjU,4EAA/C,CAAR;AACH;AACJ,OAVD;;AAWAiF,MAAAA,KAAK,CAACiiE,yEAA0BA;AAAC;AAA5B,OAAL,GAAuE,UAAU90E,GAAV,EAAemT,OAAf,EAAwB;AAC3F,YAAIqjE,QAAQ,GAAG3jE,KAAK,CAAC2jE,QAArB;;AACA,YAAIA,QAAJ,EAAc;AACV,cAAIn2C,IAAI,GAAG4S,mFAAW,CAACjzC,GAAD,EAAMq2E,OAAN,CAAtB;AACAhkK,UAAAA,gFAAQ,CAACguH,IAAD,EAAO1gB,mGAAP,EAAwC62D,QAAQ,CAACG,YAAjD,EAA+D/oE,4EAA/D,CAAR,CAFU,CAEwE;;AAClFv7F,UAAAA,gFAAQ,CAACguH,IAAD,EAAO1gB,iGAAP,EAAsCzT,0FAAkB,CAACpsF,MAAD,EAAS02J,QAAQ,CAACxG,UAAlB,EAA8B,EAA9B,CAAxD,EAA2FpiE,4EAA3F,CAAR;;AACA,cAAI5N,GAAG,CAACyX,QAAJ,KAAiBs7B,iGAAjB,IAAiD/yC,GAAG,CAACyX,QAAJ,KAAiB9L,qFAAtE,EAAyF;AACrFt5F,YAAAA,gFAAQ,CAACguH,IAAD,EAAO1gB,8FAAP,EAAmC62D,QAAQ,CAACI,UAA5C,EAAwDhpE,4EAAxD,CAAR;AACAv7F,YAAAA,gFAAQ,CAACguH,IAAD,EAAO1gB,6FAAP,EAAkC62D,QAAQ,CAACK,MAA3C,EAAmDjpE,4EAAnD,CAAR;AACH;AACJ;AACJ,OAXD;;AAYAiF,MAAAA,KAAK,CAACkiE,yEAA0BA;AAAC;AAA5B,OAAL,GAAuE,UAAU/0E,GAAV,EAAemT,OAAf,EAAwB;AAC3F,YAAI5zG,QAAQ,GAAGyxB,KAAK,CAACzxB,QAArB;;AACA,YAAIA,QAAJ,EAAc;AACV8S,UAAAA,gFAAQ,CAAC4gI,mFAAW,CAACjzC,GAAD,EAAMq2E,OAAN,EAAe,EAAf,CAAZ,EAAgC12D,yFAAhC,EAAuDpgH,QAAQ,CAACwiH,EAAhE,EAAoEnU,4EAApE,CAAR;AACH;AACJ,OALD;;AAMAiF,MAAAA,KAAK,CAACoiE,yEAA0BA;AAAC;AAA5B,OAAL,GAAwE,UAAUj1E,GAAV,EAAemT,OAAf,EAAwB;AAC5F,YAAIyF,cAAc,GAAG/F,KAAK,CAAC0iE,mEAAoBA;AAAC;AAAtB,SAA1B;;AACA,YAAI38D,cAAJ,EAAoB;AAChB,cAAIoK,QAAQ,GAAGiwB,mFAAW,CAACA,mFAAW,CAACjzC,GAAD,EAAMo2E,MAAN,CAAZ,EAA2Bj7C,uFAA3B,EAAgD;AAAEiU,YAAAA,OAAO,EAAE58G,SAAX;AAAsB0wF,YAAAA,QAAQ,EAAE1wF;AAAhC,WAAhD,CAA1B;AACAngB,UAAAA,gFAAQ,CAAC2wG,QAAD,EAAW,SAAX,EAAsBpK,cAAc,CAACw2B,OAArC,EAA8CxhC,4EAA9C,EAAwDD,qFAAxD,CAAR;AACAt7F,UAAAA,gFAAQ,CAAC2wG,QAAD,EAAW,MAAX,EAAmBpK,cAAc,CAACjoH,IAAlC,EAAwCi9G,4EAAxC,EAAkDD,qFAAlD,CAAR;AACAt7F,UAAAA,gFAAQ,CAAC2wG,QAAD,EAAW,UAAX,EAAuBpK,cAAc,CAACsK,QAAtC,EAAgDtV,4EAAhD,EAA0DD,qFAA1D,CAAR;AACH;AACJ,OARD;;AASAkF,MAAAA,KAAK,CAACmjE,eAAN,GAAwB,UAAUh2E,GAAV,EAAemT,OAAf,EAAwB;AAC5C,YAAI8O,GAAG,GAAGjxF,KAAK,CAACixF,GAAhB;;AACA,YAAIA,GAAJ,EAAS;AACL5vG,UAAAA,gFAAQ,CAAC4gI,mFAAW,CAACjzC,GAAD,EAAMo2E,MAAN,CAAZ,EAA2Bj7C,qFAA3B,EAA8ClZ,GAA9C,CAAR;AACH;AACJ,OALD;;AAMApP,MAAAA,KAAK,CAACsiE,sEAAuBA;AAAC;AAAzB,OAAL,GAAgE,UAAUn1E,GAAV,EAAemT,OAAf,EAAwB;AACpF,YAAIr3G,IAAI,GAAG+2G,KAAK,CAAC/2G,IAAjB;;AACA,YAAIA,IAAJ,EAAU;AACN,cAAIukI,IAAI,GAAG4S,mFAAW,CAACjzC,GAAD,EAAMq2E,OAAN,EAAe,EAAf,CAAtB,CADM,CAEN;;AACAhkK,UAAAA,gFAAQ,CAACguH,IAAD,EAAO1gB,4FAAP,EAAiC7jH,IAAI,CAAC62K,8DAAeA;AAAC;AAAjB,WAArC,EAAgF/kE,4EAAhF,CAAR,CAHM,CAIN;;AACA,cAAIuT,OAAO,GAAG8xB,mFAAW,CAACA,mFAAW,CAACjzC,GAAD,EAAMo2E,MAAN,CAAZ,EAA2Bj7C,sFAA3B,CAAzB;AACA9oH,UAAAA,gFAAQ,CAAC8uG,OAAD,EAAU,IAAV,EAAgBrlH,IAAI,CAACxO,EAArB,EAAyBsgH,4EAAzB,CAAR;AACAv7F,UAAAA,gFAAQ,CAAC8uG,OAAD,EAAU,QAAV,EAAoBrlH,IAAI,CAAC82K,oEAAqBA;AAAC;AAAvB,WAAxB,EAA+EhlE,4EAA/E,CAAR;AACH;AACJ,OAXD;;AAYAiF,MAAAA,KAAK,CAACojE,OAAN,GAAgB,UAAUj2E,GAAV,EAAemT,OAAf,EAAwB;AACpC,YAAIl2E,GAAG,GAAG+iE,GAAG,CAAC/iE,GAAd;;AACA,YAAIA,GAAJ,EAAS;AACLq5I,UAAAA,YAAY,CAACr5I,GAAD,EAAMk+F,wFAAN,CAAZ;;AACAm7C,UAAAA,YAAY,CAACr5I,GAAD,EAAMk+F,sFAAN,CAAZ;;AACAm7C,UAAAA,YAAY,CAACr5I,GAAD,EAAMk+F,qFAAN,CAAZ;;AACAm7C,UAAAA,YAAY,CAACr5I,GAAD,EAAMk+F,oFAAN,CAAZ;;AACAm7C,UAAAA,YAAY,CAACr5I,GAAD,EAAMk+F,qFAAN,CAAZ;;AACAm7C,UAAAA,YAAY,CAACr5I,GAAD,EAAMk+F,uFAAN,CAAZ;AACH;AACJ,OAVD;AAWH,KAnHW,CAAZ;AAoHH,GA1H6C,CA2HlD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACI;AACA;AACA;;;AACAw5C,EAAAA,gBAAgB,CAAC/4D,OAAjB,GAAyB,CAAzB;AAEA,SAAO+4D,gBAAP;AACH,CA3IqC,EAAtC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AC1BA;AACA;AACA;AACA;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,IAAIW,oBAAoB,GAAG,gBAA3B,EAA6C;;AAC7C,IAAI95B,WAAW,GAAG,QAAlB,EAA4B;;AAC5B,IAAIw3B,uBAAuB,GAAG,iBAA9B,EAAiD;;AACjD,IAAID,gBAAgB,GAAG,WAAvB,EAAoC;;AACpC,IAAIsC,kBAAkB,GAAG,aAAzB,EAAwC;;AACxC,IAAIE,oBAAoB,GAAG,gBAA3B,EAA6C;;AAC7C,IAAIL,0BAA0B,GAAG,qBAAjC,EAAwD;;AACxD,IAAIN,0BAA0B,GAAG,yBAAjC,EAA4D;;AAC5D,IAAIC,yBAAyB,GAAG,oBAAhC,EAAsD;;AACtD,IAAII,0BAA0B,GAAG,uBAAjC,EAA0D;;AAC1D,IAAIE,uBAAuB,GAAG,kBAA9B,EAAkD;;AAClD,IAAIH,0BAA0B,GAAG,4BAAjC,EAA+D;;AAC/D,IAAID,0BAA0B,GAAG,sBAAjC,EAAyD;;AACzD,IAAID,0BAA0B,GAAG,sBAAjC,EAAyD;;AACzD,IAAInC,eAAe,GAAG,WAAtB,EAAmC;;AACnC,IAAI7C,kBAAkB,GAAG,cAAzB,EAAyC;;AACzC,IAAIsF,mBAAmB,GAAG,cAA1B,EAA0C;;AAC1C,IAAI5lE,gBAAgB,GAAG,YAAvB,EAAqC;;AACrC,IAAIghE,0BAA0B,GAAG,sBAAjC,EAAyD;;AACzD,IAAIyC,wBAAwB,GAAG,mBAA/B,EAAoD;;AACpD,IAAI5C,cAAc,GAAG,UAArB,EAAiC;;AACjC,IAAID,eAAe,GAAG,UAAtB,EAAkC;;AAClC,IAAI/gE,WAAW,GAAG,QAAlB,EAA4B;;AAC5B,IAAI6gE,sBAAsB,GAAG,kBAA7B,EAAiD;;AACjD,IAAI0C,qBAAqB,GAAG,iBAA5B,EAA+C;;AAC/C,IAAInC,0BAA0B,GAAG,qBAAjC,EAAwD;;AACxD,IAAIC,uBAAuB,GAAG,kBAA9B,EAAkD;;AAClD,IAAIl/B,WAAW,GAAG,QAAlB,EAA4B;;AAC5B,IAAIy+B,qBAAqB,GAAG,iBAA5B,EAA+C;;AAC/C,IAAIM,iBAAiB,GAAG,aAAxB,EAAuC;;AACvC,IAAIJ,kBAAkB,GAAG,cAAzB,EAAyC;;AACzC,IAAIG,SAAS,GAAG,MAAhB,EAAwB;;AACxB,IAAIwC,qBAAqB,GAAG,iBAA5B,EAA+C;;AAC/C,IAAID,0BAA0B,GAAG,oBAAjC,EAAuD;;;;;;;;;;;;;;;;;;;;;;;;;;AC9C9D;AACA;AACO,IAAInjB,eAAe,GAAG,UAAtB;AACA,IAAInI,aAAa,GAAG,QAApB;AACA,IAAItF,gBAAgB,GAAG,WAAvB;AACA,IAAIuF,gBAAgB,GAAG,WAAvB;AACA,IAAIsvB,qBAAqB,GAAG,gBAA5B;AACA,IAAIC,UAAU,GAAG,SAAjB;AACA,IAAIxnB,QAAQ,GAAGjtI,MAAf;AACA,IAAImtI,QAAQ,GAAGF,QAAQ,CAAC/H,gBAAD,CAAvB;AACA,IAAI8H,SAAS,GAAGC,QAAQ,CAAC,QAAD,CAAxB;AACA,IAAIynB,SAAS,GAAGznB,QAAQ,CAAC,QAAD,CAAxB;AACA,IAAIzL,iBAAiB,GAAGyL,QAAQ,CAAC,gBAAD,CAAhC;AACA,IAAIC,iBAAiB,GAAGC,QAAQ,CAACqnB,qBAAD,CAAhC;;;;;;;;;;;;;;;;;;ACbP;AACA;AACA;AACA,IAAIG,aAAa,GAAG,IAApB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACO,SAAS36C,SAAT,CAAmB46C,SAAnB,EAA8B;AACjC,MAAIA,SAAS,KAAK,KAAK,CAAvB,EAA0B;AAAEA,IAAAA,SAAS,GAAG,IAAZ;AAAmB;;AAC/C,MAAIplL,MAAM,GAAGolL,SAAS,KAAK,KAAd,GAAsB,IAAtB,GAA6BD,aAA1C;;AACA,MAAI,CAACnlL,MAAL,EAAa;AACT,QAAI,OAAOqlL,UAAP,KAAsBl1B,wDAA1B,EAA4C;AACxCnwJ,MAAAA,MAAM,GAAGqlL,UAAT;AACH;;AACD,QAAI,CAACrlL,MAAD,IAAW,OAAOuoH,IAAP,KAAgB4nC,wDAA/B,EAAiD;AAC7CnwJ,MAAAA,MAAM,GAAGuoH,IAAT;AACH;;AACD,QAAI,CAACvoH,MAAD,IAAW,OAAOwN,MAAP,KAAkB2iJ,wDAAjC,EAAmD;AAC/CnwJ,MAAAA,MAAM,GAAGwN,MAAT;AACH;;AACD,QAAI,CAACxN,MAAD,IAAW,OAAOw5J,MAAP,KAAkBrJ,wDAAjC,EAAmD;AAC/CnwJ,MAAAA,MAAM,GAAGw5J,MAAT;AACH;;AACD2rB,IAAAA,aAAa,GAAGnlL,MAAhB;AACH;;AACD,SAAOA,MAAP;AACH;AACM,SAAS69J,cAAT,CAAwB3tK,OAAxB,EAAiC;AACpC,QAAM,IAAIwqC,SAAJ,CAAcxqC,OAAd,CAAN;AACH;AACD;AACA;AACA;AACA;AACA;AACA;;AACO,SAASsvJ,WAAT,CAAqBh7H,GAArB,EAA0B;AAC7B,MAAI68G,IAAI,GAAG6jD,iDAAX,CAD6B,CAE7B;;AACA,MAAI7jD,IAAJ,EAAU;AACN;AACA,WAAOA,IAAI,CAAC78G,GAAD,CAAX;AACH;;AACD,MAAIA,GAAG,IAAI,IAAX,EAAiB;AACb,WAAO,EAAP;AACH;;AACD,MAAIlf,IAAI,GAAG,OAAOkf,GAAlB;;AACA,MAAIlf,IAAI,KAAKmwJ,qDAAT,IAA0BnwJ,IAAI,KAAKs4J,uDAAvC,EAAwD;AACpDC,IAAAA,cAAc,CAAC,4CAA4Cr5I,GAA7C,CAAd;AACH;;AACD,WAAS8gK,OAAT,GAAmB,CAAG;;AACtBA,EAAAA,OAAO,CAAC5vB,wDAAD,CAAP,GAA4BlxI,GAA5B;AACA,SAAO,IAAI8gK,OAAJ,EAAP;AACH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AC9DD;AACA;AACA;CAEA;AACA;AACA;AACA;AACA;;AACO,IAAIC,SAAS,GAAG,CAAC/6C,mDAAS,MAAM,EAAhB,EAAoB,QAApB,CAAhB;AACA,IAAIg7C,UAAU,GAAG,CAACh7C,mDAAS,MAAM,EAAhB,EAAoB,SAApB,CAAjB;AACA,IAAIi7C,WAAW,GAAG,CAAC,CAACF,SAApB;AACA,IAAIG,YAAY,GAAG,CAAC,CAACF,UAArB;AACP,IAAIG,WAAW,GAAG,UAAlB;AACA,IAAIC,WAAW,GAAG,UAAlB;AACA,IAAIC,wBAAwB,GAAG,uBAA/B;AACA,IAAIC,WAAW,GAAG,UAAlB;AACO,IAAIC,iBAAiB,GAAG,UAAU13J,CAAV,EAAa;AACxC;AACA,OAAK,IAAIsK,CAAJ,EAAO3zB,CAAC,GAAG,CAAX,EAAc4zB,CAAC,GAAGC,SAAS,CAAC79B,MAAjC,EAAyCgK,CAAC,GAAG4zB,CAA7C,EAAgD5zB,CAAC,EAAjD,EAAqD;AACjD2zB,IAAAA,CAAC,GAAGE,SAAS,CAAC7zB,CAAD,CAAb;;AACA,SAAK,IAAIqzB,CAAT,IAAcM,CAAd,EAAiB;AACb,UAAIglI,gDAAQ,CAACqnB,6DAAD,CAAR,CAAgCxtJ,IAAhC,CAAqCmB,CAArC,EAAwCN,CAAxC,CAAJ,EAAgD;AAC5ChK,QAAAA,CAAC,CAACgK,CAAD,CAAD,GAAOM,CAAC,CAACN,CAAD,CAAR;AACH;AACJ;AACJ;;AACD,SAAOhK,CAAP;AACH,CAXM;AAYA,IAAIirF,UAAU,GAAGkkD,iDAAS,IAAIuoB,iBAA9B,EACP;;AACA,IAAIC,eAAe,GAAG,UAAU/tJ,CAAV,EAAaC,CAAb,EAAgB;AAClC8tJ,EAAAA,eAAe,GAAGvoB,+DAAA,IACd;AACC;AAAErlI,IAAAA,SAAS,EAAE;AAAb,eAA6B5E,KAA7B,IAAsC,UAAUyE,CAAV,EAAaC,CAAb,EAAgB;AACnDD,IAAAA,CAAC,CAACG,SAAF,GAAcF,CAAd;AACH,GAJa,IAKd;AACA,YAAUD,CAAV,EAAaC,CAAb,EAAgB;AACZ,SAAK,IAAIG,CAAT,IAAcH,CAAd,EAAiB;AACb,UAAIA,CAAC,CAAC8sJ,6DAAD,CAAD,CAAyB3sJ,CAAzB,CAAJ,EAAiC;AAC7BJ,QAAAA,CAAC,CAACI,CAAD,CAAD,GAAOH,CAAC,CAACG,CAAD,CAAR;AACH;AACJ;AACJ,GAZL;;AAaA,SAAO2tJ,eAAe,CAAC/tJ,CAAD,EAAIC,CAAJ,CAAtB;AACH,CAfD;;AAgBO,SAASqhF,WAAT,CAAqBthF,CAArB,EAAwBC,CAAxB,EAA2B;AAC9B,MAAI,OAAOA,CAAP,KAAa0lI,uDAAb,IAAgC1lI,CAAC,KAAK,IAA1C,EAAgD;AAC5C2lI,IAAAA,wDAAc,CAAC,yBAAyB9vG,MAAM,CAAC71B,CAAD,CAA/B,GAAqC,+BAAtC,CAAd;AACH;;AACD8tJ,EAAAA,eAAe,CAAC/tJ,CAAD,EAAIC,CAAJ,CAAf;;AACA,WAASO,EAAT,GAAc;AACV,SAAK3qC,WAAL,GAAmBmqC,CAAnB;AACH,GAP6B,CAQ9B;;;AACAA,EAAAA,CAAC,CAACy9H,wDAAD,CAAD,GAAsBx9H,CAAC,KAAK,IAAN,GAAasnH,qDAAW,CAACtnH,CAAD,CAAxB,IAA+BO,EAAE,CAACi9H,wDAAD,CAAF,GAAuBx9H,CAAC,CAACw9H,wDAAD,CAAxB,EAA4C,IAAIj9H,EAAJ,EAA3E,CAAtB;AACH;AACM,SAASwtJ,QAAT,CAAkBttJ,CAAlB,EAAqBK,CAArB,EAAwB;AAC3B,MAAI3K,CAAC,GAAG,EAAR;;AACA,OAAK,IAAImiD,CAAT,IAAc73C,CAAd,EAAiB;AACb,QAAI+kI,8DAAA,CAAuB/kI,CAAvB,EAA0B63C,CAA1B,KAAgCx3C,CAAC,CAACvyB,OAAF,CAAU+pE,CAAV,IAAe,CAAnD,EAAsD;AAClDniD,MAAAA,CAAC,CAACmiD,CAAD,CAAD,GAAO73C,CAAC,CAAC63C,CAAD,CAAR;AACH;AACJ;;AACD,MAAI73C,CAAC,IAAI,IAAL,IAAa,OAAO8kI,gDAAQ,CAACooB,wBAAD,CAAf,KAA8CjoB,uDAA/D,EAAgF;AAC5E,SAAK,IAAI54J,CAAC,GAAG,CAAR,EAAWqzB,CAAC,GAAGolI,gDAAQ,CAACooB,wBAAD,CAAR,CAAmCltJ,CAAnC,CAApB,EAA2D3zB,CAAC,GAAGqzB,CAAC,CAACr9B,MAAjE,EAAyEgK,CAAC,EAA1E,EAA8E;AAC1E,UAAIg0B,CAAC,CAACvyB,OAAF,CAAU4xB,CAAC,CAACrzB,CAAD,CAAX,IAAkB,CAAlB,IAAuB24J,0EAAA,CAAsChlI,CAAtC,EAAyCN,CAAC,CAACrzB,CAAD,CAA1C,CAA3B,EAA2E;AACvEqpB,QAAAA,CAAC,CAACgK,CAAC,CAACrzB,CAAD,CAAF,CAAD,GAAU2zB,CAAC,CAACN,CAAC,CAACrzB,CAAD,CAAF,CAAX;AACH;AACJ;AACJ;;AACD,SAAOqpB,CAAP;AACH;AACM,SAAS63J,YAAT,CAAsBC,UAAtB,EAAkClqI,MAAlC,EAA0C9nB,GAA1C,EAA+Ci6B,IAA/C,EAAqD;AACxD,MAAI49G,CAAC,GAAGnzI,SAAS,CAAC79B,MAAlB;AAAA,MAA0B8/B,CAAC,GAAGkxI,CAAC,GAAG,CAAJ,GAAQ/vH,MAAR,GAAiBmS,IAAI,KAAK,IAAT,GAAgBA,IAAI,GAAGqvG,yEAAA,CAAqCxhH,MAArC,EAA6C9nB,GAA7C,CAAvB,GAA2Ei6B,IAA1H;AAAA,MAAgIn2B,CAAhI;;AACA,MAAIytJ,YAAY,IAAI,OAAOF,UAAU,CAACG,WAAD,CAAjB,KAAmC/nB,uDAAvD,EAAwE;AACpE9iI,IAAAA,CAAC,GAAG0qJ,UAAU,CAACG,WAAD,CAAV,CAAwBQ,UAAxB,EAAoClqI,MAApC,EAA4C9nB,GAA5C,EAAiDi6B,IAAjD,CAAJ;AACH,GAFD,MAGK;AACD,SAAK,IAAIppD,CAAC,GAAGmhL,UAAU,CAACnrL,MAAX,GAAoB,CAAjC,EAAoCgK,CAAC,IAAI,CAAzC,EAA4CA,CAAC,EAA7C,EAAiD;AAC7C;AACA,UAAIizB,CAAC,GAAGkuJ,UAAU,CAACnhL,CAAD,CAAlB,EAAuB;AACnB81B,QAAAA,CAAC,GAAG,CAACkxI,CAAC,GAAG,CAAJ,GAAQ/zI,CAAC,CAAC6C,CAAD,CAAT,GAAekxI,CAAC,GAAG,CAAJ,GAAQ/zI,CAAC,CAACgkB,MAAD,EAAS9nB,GAAT,EAAc2G,CAAd,CAAT,GAA4B7C,CAAC,CAACgkB,MAAD,EAAS9nB,GAAT,CAA7C,KAA+D2G,CAAnE;AACH;AACJ;AACJ,GAZuD,CAaxD;;;AACA,SAAOkxI,CAAC,GAAG,CAAJ,IAASlxI,CAAT,IAAck3H,6DAAiB,CAAC/1G,MAAD,EAAS9nB,GAAT,EAAc2G,CAAd,CAA/B,EAAiDA,CAAxD;AACH;AACM,SAASsrJ,SAAT,CAAmBC,UAAnB,EAA+BC,SAA/B,EAA0C;AAC7C,SAAO,UAAUrqI,MAAV,EAAkB9nB,GAAlB,EAAuB;AAC1BmyJ,IAAAA,SAAS,CAACrqI,MAAD,EAAS9nB,GAAT,EAAckyJ,UAAd,CAAT;AACH,GAFD;AAGH;AACM,SAASE,YAAT,CAAsBC,WAAtB,EAAmCC,aAAnC,EAAkD;AACrD,MAAIf,YAAY,IAAIF,UAAU,CAACI,WAAD,CAAV,KAA4BhoB,uDAAhD,EAAiE;AAC7D,WAAO4nB,UAAU,CAACI,WAAD,CAAV,CAAwBY,WAAxB,EAAqCC,aAArC,CAAP;AACH;AACJ;AACM,SAASC,cAAT,CAAwB7rJ,CAAxB,EAA2BD,CAA3B,EAA8B;AACjC,OAAK,IAAIvC,CAAT,IAAcwC,CAAd,EAAiB;AACb,QAAIxC,CAAC,KAAK4sJ,kDAAN,IAAoB,CAACvnB,8DAAA,CAAuB9iI,CAAvB,EAA0BvC,CAA1B,CAAzB,EAAuD;AACnDsuJ,MAAAA,iBAAiB,CAAC/rJ,CAAD,EAAIC,CAAJ,EAAOxC,CAAP,CAAjB;AACH;AACJ;AACJ;AACM,SAASsuJ,iBAAT,CAA2B/rJ,CAA3B,EAA8BC,CAA9B,EAAiC21C,CAAjC,EAAoCo2G,EAApC,EAAwC;AAC3C,MAAIA,EAAE,KAAKlmJ,SAAX,EAAsB;AAClBkmJ,IAAAA,EAAE,GAAGp2G,CAAL;AACH;;AACD,MAAI,CAAC,CAAC00G,iDAAN,EAAiB;AACblzB,IAAAA,6DAAiB,CAACp3H,CAAD,EAAIgsJ,EAAJ,EAAQ;AACrBjzG,MAAAA,UAAU,EAAE,IADS;AAErB7kF,MAAAA,GAAG,EAAE,YAAY;AACb,eAAO+rC,CAAC,CAAC21C,CAAD,CAAR;AACH;AAJoB,KAAR,CAAjB;AAMH,GAPD,MAQK;AACD51C,IAAAA,CAAC,CAACgsJ,EAAD,CAAD,GAAQ/rJ,CAAC,CAAC21C,CAAD,CAAT;AACH;AACJ;AACM,SAASq2G,UAAT,CAAoBjsJ,CAApB,EAAuB;AAC1B,MAAIjC,CAAC,GAAG,OAAO4sJ,SAAP,KAAqB3nB,uDAArB,IAAwC2nB,SAAS,CAACO,WAAD,CAAzD;AAAA,MAAwEjrJ,CAAC,GAAGlC,CAAC,IAAIiC,CAAC,CAACjC,CAAD,CAAlF;AAAA,MAAuF3zB,CAAC,GAAG,CAA3F;;AACA,MAAI61B,CAAJ,EAAO;AACH,WAAOA,CAAC,CAACrD,IAAF,CAAOoD,CAAP,CAAP;AACH;;AACD,MAAIA,CAAC,IAAI,OAAOA,CAAC,CAAC5/B,MAAT,KAAoB,QAA7B,EAAuC;AACnC,WAAO;AACH/B,MAAAA,IAAI,EAAE,YAAY;AACd,YAAI2hC,CAAC,IAAI51B,CAAC,IAAI41B,CAAC,CAAC5/B,MAAhB,EAAwB;AACpB4/B,UAAAA,CAAC,GAAG,KAAK,CAAT;AACH;;AACD,eAAO;AAAEr7B,UAAAA,KAAK,EAAEq7B,CAAC,IAAIA,CAAC,CAAC51B,CAAC,EAAF,CAAf;AAAsB40B,UAAAA,IAAI,EAAE,CAACgB;AAA7B,SAAP;AACH;AANE,KAAP;AAQH;;AACDijI,EAAAA,wDAAc,CAACllI,CAAC,GAAG,yBAAH,GAA+B,iCAAjC,CAAd;AACH;AACM,SAASmuJ,QAAT,CAAkBlsJ,CAAlB,EAAqBhC,CAArB,EAAwB;AAC3B,MAAIiC,CAAC,GAAG,OAAO0qJ,SAAP,KAAqB3nB,uDAArB,IAAwChjI,CAAC,CAAC2qJ,SAAS,CAACO,WAAD,CAAV,CAAjD;;AACA,MAAI,CAACjrJ,CAAL,EAAQ;AACJ,WAAOD,CAAP;AACH;;AACD,MAAI51B,CAAC,GAAG61B,CAAC,CAACrD,IAAF,CAAOoD,CAAP,CAAR;AAAA,MAAmBE,CAAnB;AAAA,MAAsBC,EAAE,GAAG,EAA3B;AAAA,MAA+B/B,CAA/B;;AACA,MAAI;AACA,WAAO,CAACJ,CAAC,KAAK,KAAK,CAAX,IAAgBA,CAAC,KAAK,CAAvB,KAA6B,CAAC,CAACkC,CAAC,GAAG91B,CAAC,CAAC/L,IAAF,EAAL,EAAe2gC,IAApD,EAA0D;AACtDmB,MAAAA,EAAE,CAACzG,IAAH,CAAQwG,CAAC,CAACv7B,KAAV;AACH;AACJ,GAJD,CAKA,OAAOmF,KAAP,EAAc;AACVs0B,IAAAA,CAAC,GAAG;AACAt0B,MAAAA,KAAK,EAAEA;AADP,KAAJ;AAGH,GATD,SAUQ;AACJ,QAAI;AACA;AACA,UAAIo2B,CAAC,IAAI,CAACA,CAAC,CAAClB,IAAR,KAAiBiB,CAAC,GAAG71B,CAAC,CAAC,QAAD,CAAtB,CAAJ,EAAuC;AACnC61B,QAAAA,CAAC,CAACrD,IAAF,CAAOxyB,CAAP;AACH;AACJ,KALD,SAMQ;AACJ,UAAIg0B,CAAJ,EAAO;AACH;AACA,cAAMA,CAAC,CAACt0B,KAAR;AACH;AACJ;AACJ;;AACD,SAAOq2B,EAAP;AACH;AACD;;AACO,SAASgsJ,gBAAT,GAA4B;AAC/B,MAAIrjB,OAAO,GAAG7qI,SAAd,CAD+B,CAE/B;;AACA,OAAK,IAAIF,CAAC,GAAG,CAAR,EAAW3zB,CAAC,GAAG,CAAf,EAAkBurE,EAAE,GAAGmzF,OAAO,CAAC1oK,MAApC,EAA4CgK,CAAC,GAAGurE,EAAhD,EAAoDvrE,CAAC,EAArD,EAAyD;AACrD2zB,IAAAA,CAAC,IAAI+qI,OAAO,CAAC1+J,CAAD,CAAP,CAAWhK,MAAhB;AACH,GAL8B,CAM/B;;;AACA,OAAK,IAAI8/B,CAAC,GAAGtH,KAAK,CAACmF,CAAD,CAAb,EAAkB63C,CAAC,GAAG,CAAtB,EAAyBxrE,CAAC,GAAG,CAAlC,EAAqCA,CAAC,GAAGurE,EAAzC,EAA6CvrE,CAAC,EAA9C,EAAkD;AAC9C,SAAK,IAAIyrE,CAAC,GAAGizF,OAAO,CAAC1+J,CAAD,CAAf,EAAoB0rE,CAAC,GAAG,CAAxB,EAA2BC,EAAE,GAAGF,CAAC,CAACz1E,MAAvC,EAA+C01E,CAAC,GAAGC,EAAnD,EAAuDD,CAAC,IAAIF,CAAC,EAA7D,EAAiE;AAC7D11C,MAAAA,CAAC,CAAC01C,CAAD,CAAD,GAAOC,CAAC,CAACC,CAAD,CAAR;AACH;AACJ;;AACD,SAAO51C,CAAP;AACH;AACM,SAASwkH,eAAT,CAAyBw7B,EAAzB,EAA6BnvJ,IAA7B,EAAmC;AACtC,OAAK,IAAI3mB,CAAC,GAAG,CAAR,EAAWurE,EAAE,GAAG5kD,IAAI,CAAC3wB,MAArB,EAA6B01E,CAAC,GAAGoqG,EAAE,CAAC9/K,MAAzC,EAAiDgK,CAAC,GAAGurE,EAArD,EAAyDvrE,CAAC,IAAI0rE,CAAC,EAA/D,EAAmE;AAC/DoqG,IAAAA,EAAE,CAACpqG,CAAD,CAAF,GAAQ/kD,IAAI,CAAC3mB,CAAD,CAAZ;AACH;;AACD,SAAO81K,EAAP;AACH;AACM,SAASkM,sBAAT,CAAgCC,MAAhC,EAAwCC,GAAxC,EAA6C;AAChD,MAAIl1B,yDAAJ,EAAuB;AACnBA,IAAAA,6DAAiB,CAACi1B,MAAD,EAAS,KAAT,EAAgB;AAAE1nL,MAAAA,KAAK,EAAE2nL;AAAT,KAAhB,CAAjB;AACH,GAFD,MAGK;AACDD,IAAAA,MAAM,CAACC,GAAP,GAAaA,GAAb;AACH;;AACD,SAAOD,MAAP;AACH;AACM,SAASE,cAAT,CAAwBC,GAAxB,EAA6B;AAChC,MAAIA,GAAG,IAAIA,GAAG,CAACC,UAAf,EAA2B;AACvB,WAAOD,GAAP;AACH;;AACD,MAAIpnL,MAAM,GAAG,EAAb;;AACA,MAAIonL,GAAG,IAAI,IAAX,EAAiB;AACb,SAAK,IAAI52G,CAAT,IAAc42G,GAAd,EAAmB;AACf,UAAI52G,CAAC,KAAKy0G,kDAAN,IAAoBz0J,MAAM,CAAC8H,SAAP,CAAiBC,cAAjB,CAAgCf,IAAhC,CAAqC4vJ,GAArC,EAA0C52G,CAA1C,CAAxB,EAAsE;AAClEm2G,QAAAA,iBAAiB,CAAC3mL,MAAD,EAASonL,GAAT,EAAc52G,CAAd,CAAjB;AACH;AACJ;AACJ,GAX+B,CAYhC;;;AACA,MAAI,CAAC,CAAC00G,iDAAN,EAAiB;AACblzB,IAAAA,6DAAiB,CAAChyJ,MAAD,EAASilL,kDAAT,EAAqB;AAAEtxG,MAAAA,UAAU,EAAE,IAAd;AAAoBp0E,MAAAA,KAAK,EAAE6nL;AAA3B,KAArB,CAAjB;AACH,GAFD,MAGK;AACDpnL,IAAAA,MAAM,CAACilL,kDAAD,CAAN,GAAqBmC,GAArB;AACH;;AACD,SAAOpnL,MAAP;AACH;AACM,SAASsnL,iBAAT,CAA2BF,GAA3B,EAAgC;AACnC,SAAQA,GAAG,IAAIA,GAAG,CAACC,UAAZ,GAA0BD,GAA1B,GAAgC;AAAEnC,IAAAA,UAAU,EAAEmC;AAAd,GAAvC;AACH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACjOD;AACA;AACA;AACA;AAGa;;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,IAAIoC,eAAJ,EACA;AACA;;;AACA,IAAIC,8BAA8B,GAAG,CACjCxB,2DADiC,EACpB,cADoB,EACJ,YADI,EACU,iBADV,EAC6B,gBAD7B,EAC+C,gBAD/C,CAArC,EAGA;AACA;AACA;AACA;;AACA,IAAIyB,SAAS,GAAG;AACZvrK,EAAAA,OAAO,EAAE;AAAE;AADC;AAEZwrK,EAAAA,QAAQ,EAAE;AAAE;AAFA;AAGZn2J,EAAAA,KAAK,EAAE;AAAE;AAHG;AAIZo2J,EAAAA,MAAM,EAAE;AAAE;;AAJE,CAAhB;AAMA;AACA;AACA;;AACO,IAAIC,SAAS,GAAG;AACnBzxJ,EAAAA,SAAS,EAAE,IADQ;AAEnB2hF,EAAAA,0BAA0B,EAAEA,6FAFT;AAGnB+c,EAAAA,uBAAuB,EAAEA,0FAHN;AAInBrd,EAAAA,yBAAyB,EAAEA,4FAJR;AAKnB2gC,EAAAA,IAAI,EAAEA,uEALa;AAMnBsB,EAAAA,mBAAmB,EAAEA,sFANF;AAOnBL,EAAAA,SAAS,EAAEA,4EAPQ;AAQnB2B,EAAAA,aAAa,EAAEA,gFARI;AASnBzY,EAAAA,sBAAsB,EAAEA,yFATL;AAUnBulD,EAAAA,SAAS,EAAEJ,SAVQ;AAWnBvyD,EAAAA,cAAc,EAAEA,iFAXG;AAYnBF,EAAAA,oBAAoB,EAAEA,uFAZH;AAanBC,EAAAA,aAAa,EAAEA,gFAbI;AAcnBlJ,EAAAA,UAAU,EAAEA,6EAdO;AAenBD,EAAAA,UAAU,EAAEA,6EAfO;AAgBnBgJ,EAAAA,uBAAuB,EAAEA,0FAhBN;AAiBnBjJ,EAAAA,QAAQ,EAAEA,2EAjBS;AAkBnBjW,EAAAA,KAAK,EAAEA,wEAlBY;AAmBnB8B,EAAAA,SAAS,EAAEA,4EAnBQ;AAoBnBC,EAAAA,MAAM,EAAEA,yEApBW;AAqBnBC,EAAAA,QAAQ,EAAEA,4EArBS;AAsBnBG,EAAAA,oBAAoB,EAAEA,wFAtBH;AAuBnBvgB,EAAAA,KAAK,EAAEA,yEAvBY;AAwBnBqgB,EAAAA,mBAAmB,EAAEA,uFAxBF;AAyBnBvpG,EAAAA,IAAI,EAAEA,wEAzBa;AA0BnBw4H,EAAAA,aAAa,EAAEA,iFA1BI;AA2BnBI,EAAAA,oBAAoB,EAAEA,wFA3BH;AA4BnB5F,EAAAA,cAAc,EAAEA,kFA5BG;AA6BnBgK,EAAAA,aAAa,EAAEA,iFA7BI;AA8BnB6G,EAAAA,oBAAoB,EAAEA,wFA9BH;AA+BnBvmB,EAAAA,UAAU,EAAEA,8EA/BO;AAgCnBwb,EAAAA,UAAU,EAAEA,8EAhCO;AAiCnBxE,EAAAA,uBAAuB,EAAEA,2FAAuBA;AAjC7B,CAAhB;AAmCP;AACA;AACA;AACA;AACA;;AACA,IAAIklD,cAAc;AAAG;AAAe,YAAY;AAC5C,WAASA,cAAT,CAAwBC,OAAxB,EAAiC;AAC7B,QAAI9qJ,KAAK,GAAG,IAAZ,CAD6B,CAE7B;;;AACA,QAAI+qJ,YAAJ;AACA,QAAIluH,UAAJ;;AACA,QAAImuH,OAAJ;;AACA,QAAIC,eAAJ;;AACA,QAAIrpE,aAAJ;;AACA,QAAIspE,sBAAJ;;AACA,QAAIC,KAAJ;;AACA7wE,IAAAA,uEAAY,CAACuwE,cAAD,EAAiB,IAAjB,EAAuB,UAAUhpE,KAAV,EAAiB;AAChDG,MAAAA,aAAa,GADmC,CAEhD;;;AACAipE,MAAAA,eAAe,GAAG,MAAMH,OAAO,CAACM,EAAR,IAAcN,OAAO,CAACzc,4DAAYA;AAAC;AAAd,OAArB,IAA6D,EAAnE,CAAlB;AACAyc,MAAAA,OAAO,CAACV,0DAAUA;AAAC;AAAZ,OAAP,GAA0CU,OAAO,CAACV,0DAAUA;AAAC;AAAZ,OAAP,IAA2C,EAArF;AACAU,MAAAA,OAAO,CAACzc,4DAAYA;AAAC;AAAd,OAAP,GAA8Cyc,OAAO,CAACzc,4DAAYA;AAAC;AAAd,OAAP,IAA+C,GAA7F,CALgD,CAKkD;;AAClG,UAAIx/K,MAAM,GAAGi8L,OAAO,CAACtqC,2DAAWA;AAAC;AAAb,OAAP,IAA6C,EAA1D;;AACA,UAAI3xJ,MAAM,CAAC+6L,sEAAsBA;AAAC;AAAxB,OAAV,EAAmE;AAC/D,YAAIyB,EAAE,GAAGvmD,4FAAqB,CAACj2I,MAAM,CAAC+6L,sEAAsBA;AAAC;AAAxB,SAAP,CAA9B;AACA,YAAI0B,MAAM,GAAGD,EAAE,CAACE,iBAAhB;AACA18L,QAAAA,MAAM,CAACqqI,iEAAiBA;AAAC;AAAnB,SAAN,GAAsDoyD,MAAM,GAAIA,MAAM,GAAGxzD,sFAAb,GAAoCjpI,MAAM,CAACqqI,iEAAiBA;AAAC;AAAnB,SAAtG,CAH+D,CAGsF;;AACrJrqI,QAAAA,MAAM,CAACuqI,wEAAwBA;AAAC;AAA1B,SAAN,GAAoEiyD,EAAE,CAACG,kBAAH,IAAyB38L,MAAM,CAACuqI,wEAAwBA;AAAC;AAA1B,SAAnG;AACH;;AACDvX,MAAAA,KAAK,CAAC8nE,iEAAiBA;AAAC;AAAnB,OAAL,GAAqD,IAAInpE,yFAAJ,EAArD;AACA3jD,MAAAA,UAAU,GAAG,IAAI2nH,qFAAJ,EAAb;AACAuG,MAAAA,YAAY,GAAG,IAAIzC,wFAAJ,EAAf;AACA0C,MAAAA,OAAO,GAAG,IAAIjwD,8EAAJ,EAAV;AACAowD,MAAAA,KAAK,GAAG,IAAIrrC,oFAAJ,EAAR;AACAj+B,MAAAA,KAAK,CAAC4C,IAAN,GAAa0mE,KAAb;AACA,UAAIM,oBAAoB,GAAG9uE,0FAAiB,CAAC9tH,MAAM,CAACm7L,2EAA2BA;AAAC;AAA7B,OAAP,CAAjB,GAAqG,IAArG,GAA4Gn7L,MAAM,CAACm7L,2EAA2BA;AAAC;AAA7B,OAA7I;;AACA,UAAI,CAACn7L,MAAM,CAAC+6L,sEAAsBA;AAAC;AAAxB,OAAP,IAAkE,CAAC6B,oBAAvE,EAA6F;AACzFjpE,QAAAA,uFAAc,CAAC2oE,KAAK,CAACr8J,MAAP,EAAe;AAAE;AAAjB,UAAkD;AAAI;AAAtD,UAA+G,mEAA/G,CAAd;AACH;;AACD+yF,MAAAA,KAAK,CAACknE,2DAAWA;AAAC;AAAb,OAAL,GAA2C+B,OAA3C;AACAjpE,MAAAA,KAAK,CAAC2+B,2DAAWA;AAAC;AAAb,OAAL,GAA0C3xJ,MAA1C;;AACA68L,MAAAA,eAAe;;AACf7pE,MAAAA,KAAK,CAAC6mE,yDAASA;AAAC;AAAX,OAAL,GAAuC,UAAUvqD,KAAV,EAAiB;AACpD,YAAIA,KAAK,KAAK,KAAK,CAAnB,EAAsB;AAAEA,UAAAA,KAAK,GAAG,IAAR;AAAe;;AACvC0hB,QAAAA,+EAAM,CAACsrC,KAAD,EAAQ,YAAY;AAAE,iBAAO,aAAP;AAAuB,SAA7C,EAA+C,YAAY;AAC7DxvE,UAAAA,mFAAU,CAACwvE,KAAK,CAAClB,2EAA2BA;AAAC;AAA7B,WAAL,EAAD,EAA6E,UAAUzjC,QAAV,EAAoB;AACvG7qC,YAAAA,mFAAU,CAAC6qC,QAAD,EAAW,UAAU/7G,OAAV,EAAmB;AACpCA,cAAAA,OAAO,CAACi+I,yDAASA;AAAC;AAAX,eAAP,CAAuCvqD,KAAvC;AACH,aAFS,CAAV;AAGH,WAJS,CAAV;AAKH,SANK,EAMH,IANG,EAMGA,KANH,CAAN;AAOH,OATD;;AAUAtc,MAAAA,KAAK,CAACsoE,mEAAmBA;AAAC;AAArB,OAAL,GAAyD,UAAUhsD,KAAV,EAAiB;AACtE,YAAIA,KAAK,KAAK,KAAK,CAAnB,EAAsB;AAAEA,UAAAA,KAAK,GAAG,IAAR;AAAe;;AACvCxiB,QAAAA,mFAAU,CAACwvE,KAAK,CAAClB,2EAA2BA;AAAC;AAA7B,SAAL,EAAD,EAA6E,UAAUzjC,QAAV,EAAoB;AACvG7qC,UAAAA,mFAAU,CAAC6qC,QAAD,EAAW,UAAU/7G,OAAV,EAAmB;AACpC,gBAAIA,OAAO,CAAC0/I,mEAAmBA;AAAC;AAArB,aAAX,EAA8D;AAC1D1/I,cAAAA,OAAO,CAAC0/I,mEAAmBA;AAAC;AAArB,eAAP;AACH,aAFD,MAGK;AACD1/I,cAAAA,OAAO,CAACi+I,yDAASA;AAAC;AAAX,eAAP,CAAuCvqD,KAAvC;AACH;AACJ,WAPS,CAAV;AAQH,SATS,CAAV;AAUH,OAZD;;AAaAtc,MAAAA,KAAK,CAACqoE,sEAAsBA;AAAC;AAAxB,OAAL,GAA8D,UAAUyB,UAAV,EAAsB78J,MAAtB,EAA8BixH,mBAA9B,EAAmD;AAC7G,YAAI4rC,UAAU,KAAK,KAAK,CAAxB,EAA2B;AAAEA,UAAAA,UAAU,GAAG,KAAb;AAAqB;;AAClD,iBAASC,wBAAT,CAAkCd,OAAlC,EAA2C;AACvC,cAAIA,OAAJ,EAAa;AACT,gBAAIlF,UAAU,GAAG,EAAjB;;AACA,gBAAI,CAACjpE,0FAAiB,CAACsuE,eAAD,CAAtB,EAAyC;AACrCrF,cAAAA,UAAU,IAAIqF,eAAd;AACH;;AACD,gBAAIU,UAAJ,EAAgB;AACZ/F,cAAAA,UAAU,IAAI,KAAd;AACH;;AACD,gBAAI/jE,KAAK,CAAC0tD,4DAAYA;AAAC;AAAd,aAAL,IAA6C1tD,KAAK,CAAC0tD,4DAAYA;AAAC;AAAd,aAAL,CAA0CiW,QAA3F,EAAqG;AACjG3jE,cAAAA,KAAK,CAAC0tD,4DAAYA;AAAC;AAAd,eAAL,CAA0CiW,QAA1C,CAAmDI,UAAnD,GAAgEA,UAAU,IAAI,GAA9E;AACH,aAVQ,CAWT;;;AACA5oE,YAAAA,sFAAa,CAAC6E,KAAD,EAAQ,UAAUkE,KAAV,EAAiB1lH,KAAjB,EAAwB;AACzC,kBAAIu8G,iFAAQ,CAACmJ,KAAD,CAAR,IACA,CAACrJ,mFAAU,CAACr8G,KAAD,CADX,IAEA0lH,KAFA,IAESA,KAAK,CAAC,CAAD,CAAL,KAAa,GAFtB,IAE6B;AAC7BuP,cAAAA,mFAAU,CAACi1D,8BAAD,EAAiCxkE,KAAjC,CAAV,KAAsD,CAAC,CAH3D,EAG8D;AAC1D+kE,gBAAAA,OAAO,CAAC/kE,KAAD,CAAP,GAAiB1lH,KAAjB;AACH;AACJ,aAPY,CAAb;AAQH;AACJ,SAxB4G,CAyB7G;;;AACA,YAAIsrL,UAAU,IAAI9pE,KAAK,CAAC2+B,2DAAWA;AAAC;AAAb,SAAL,CAAwC97B,UAAtD,IAAoE7C,KAAK,CAAC2+B,2DAAWA;AAAC;AAAb,SAAL,CAAwC97B,UAAxC,CAAmD5oH,MAAnD,GAA4D,CAApI,EAAuI;AACnIqhH,UAAAA,mFAAU,CAAC,uCAAD,CAAV;AACH;;AACD0iC,QAAAA,+EAAM,CAACh+B,KAAK,CAAC4C,IAAP,EAAa,YAAY;AAAE,iBAAO,uBAAP;AAAiC,SAA5D,EAA8D,YAAY;AAC5E,cAAIC,UAAU,GAAG,EAAjB;;AACAA,UAAAA,UAAU,CAACqR,yDAASA;AAAC;AAAX,WAAV,CAAyCi1D,OAAzC;;AACAtmE,UAAAA,UAAU,CAACqR,yDAASA;AAAC;AAAX,WAAV,CAAyCl5D,UAAzC;;AACA6nD,UAAAA,UAAU,CAACqR,yDAASA;AAAC;AAAX,WAAV,CAAyCg1D,YAAzC;;AACArmE,UAAAA,UAAU,CAACqR,yDAASA;AAAC;AAAX,WAAV,CAAyClU,KAAK,CAAC8nE,iEAAiBA;AAAC;AAAnB,WAA9C,EAL4E,CAM5E;;;AACAwB,UAAAA,KAAK,CAACr9J,UAAN,CAAiB+zF,KAAK,CAAC2+B,2DAAWA;AAAC;AAAb,WAAtB,EAA0D97B,UAA1D,EAAsE51F,MAAtE,EAA8EixH,mBAA9E;;AACAl+B,UAAAA,KAAK,CAAC0tD,4DAAYA;AAAC;AAAd,WAAL,GAA4C1yG,UAAU,CAAC0yG,4DAAYA;AAAC;AAAd,WAAtD;;AACA,cAAI+a,eAAe,IAAIzoE,KAAK,CAAC0tD,4DAAYA;AAAC;AAAd,WAA5B,EAAkE;AAC9D1tD,YAAAA,KAAK,CAAC0tD,4DAAYA;AAAC;AAAd,aAAL,CAA0CiW,QAA1C,CAAmDK,MAAnD,GAA4DyE,eAA5D;AACH;;AACDsB,UAAAA,wBAAwB,CAAC/pE,KAAK,CAACknE,2DAAWA;AAAC;AAAb,WAAN,CAAxB,CAZ4E,CAa5E;;;AACAlnE,UAAAA,KAAK,CAACgqE,UAAN;;AACAhqE,UAAAA,KAAK,CAACgnE,sEAAsBA;AAAC;AAAxB,WAAL;;AACAhnE,UAAAA,KAAK,CAAC6nE,2EAA2BA;AAAC;AAA7B,WAAL,CAA6E7nE,KAA7E;AACH,SAjBK,CAAN;AAkBA,eAAOA,KAAP;AACH,OAhDD;;AAiDAA,MAAAA,KAAK,CAACwoE,0EAA0BA;AAAC;AAA5B,OAAL,GAA2E,UAAUS,OAAV,EAAmB;AAC1F;AACA;AACAtnB,QAAAA,oFAAW,CAACsnB,OAAD,EAAUjpE,KAAV,EAAiB,UAAUliH,IAAV,EAAgB;AACxC;AACA,iBAAOA,IAAI,IAAI21H,mFAAU,CAACi1D,8BAAD,EAAiC5qL,IAAjC,CAAV,KAAqD,CAAC,CAArE;AACH,SAHU,CAAX;AAIH,OAPD;;AAQAkiH,MAAAA,KAAK,CAACgqE,UAAN,GAAmB,YAAY;AAC3B;AACA,YAAI;AACA,cAAIt7E,gFAAO,CAACsR,KAAK,CAACipE,OAAN,CAAcV,0DAAUA;AAAC;AAAzB,WAAD,CAAX,EAA4D;AACxD;AACA,gBAAI0B,QAAQ,GAAGjqE,KAAK,CAACipE,OAAN,CAAcV,0DAAUA;AAAC;AAAzB,cAA8CtuL,MAA7D;;AACA,iBAAK,IAAIgK,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGgmL,QAApB,EAA8BhmL,CAAC,EAA/B,EAAmC;AAC/B,kBAAIwyB,IAAI,GAAGupF,KAAK,CAACipE,OAAN,CAAcV,0DAAUA;AAAC;AAAzB,gBAA8CtkL,CAA9C,CAAX;AACAwyB,cAAAA,IAAI;AACP;;AACDupF,YAAAA,KAAK,CAACipE,OAAN,CAAcV,0DAAUA;AAAC;AAAzB,gBAAgD5oJ,SAAhD;AACA,mBAAOqgF,KAAK,CAACipE,OAAN,CAAcV,0DAAUA;AAAC;AAAzB,aAAP;AACH;AACJ,SAXD,CAYA,OAAO3nE,SAAP,EAAkB;AACd,cAAIspE,YAAY,GAAG,EAAnB;;AACA,cAAItpE,SAAS,IAAI/F,mFAAU,CAAC+F,SAAS,CAACp2E,QAAX,CAA3B,EAAiD;AAC7C0/I,YAAAA,YAAY,CAACtpE,SAAb,GAAyBA,SAAS,CAACp2E,QAAV,EAAzB;AACH,WAJa,CAKd;AACA;AACA;AACA;AACA;AACA;;AACH;AACJ,OA1BD;;AA2BAw1E,MAAAA,KAAK,CAAC6nE,2EAA2BA;AAAC;AAA7B,OAAL,GAA+E,UAAUsC,mBAAV,EAA+B;AAC1G;AACA,YAAIxvE,kFAAS,MAAM87C,oFAAW,EAA9B,EAAkC;AAC9B,cAAI2zB,mBAAmB,GAAG,YAAY;AAClC;AACA;AACA;AACA;AACA;AACA;AACA;AACAD,YAAAA,mBAAmB,CAAC7B,mEAAmBA;AAAC;AAArB,aAAnB,CAAqE,KAArE,EARkC,CASlC;AACA;;;AACA,gBAAIztE,mFAAU,CAAC18E,KAAK,CAACykF,IAAN,CAAWmkE,8DAAcA;AAAC;AAA1B,aAAD,CAAd,EAAoE;AAChE,kBAAIsD,YAAY,GAAGlsJ,KAAK,CAACykF,IAAN,CAAWmkE,8DAAcA;AAAC;AAA1B,gBAAmD/tE,6FAAnD,CAAnB;;AACA,kBAAIqxE,YAAJ,EAAkB;AACd,oBAAIC,gBAAgB,GAAGD,YAAY,CAACvkE,MAApC;;AACA,oBAAIwkE,gBAAgB,IAAIA,gBAAgB,CAAC5c,4DAAYA;AAAC;AAAd,iBAApC,IAA4E4c,gBAAgB,CAAC5c,4DAAYA;AAAC;AAAd,iBAAhB,CAAqD6c,eAArI,EAAsJ;AAClJD,kBAAAA,gBAAgB,CAAC5c,4DAAYA;AAAC;AAAd,mBAAhB,CAAqD6c,eAArD,CAAqE1L,MAArE;AACH;AACJ;AACJ;AACJ,WApBD;;AAqBA,cAAIj4B,KAAK,GAAG,KAAZ;AACA,cAAI4jC,uBAAuB,GAAGL,mBAAmB,CAACziE,WAApB,CAAgCi3B,2DAAWA;AAAC;AAA5C,YAAkE8rC,uBAAhG;;AACA,cAAI,CAACpB,sBAAL,EAA6B;AACzBA,YAAAA,sBAAsB,GAAGpuE,0FAAiB,CAAC8E,aAAD,EAAgBupE,KAAK,CAAC1C,iEAAiBA;AAAC;AAAnB,aAAL,IAAuD0C,KAAK,CAAC1C,iEAAiBA;AAAC;AAAnB,aAAL,EAAvE,CAA1C;AACH;;AACD,cAAI,CAACuD,mBAAmB,CAACziE,WAApB,CAAgC16H,MAAhC,CAAuCi7L,2EAA2BA;AAAC;AAAnE,WAAL,EAAmH;AAC/G;AACA;AACA,gBAAIjsB,mGAA0B,CAACouB,mBAAD,EAAsBI,uBAAtB,EAA+CnB,sBAA/C,CAA9B,EAAsG;AAClGziC,cAAAA,KAAK,GAAG,IAAR;AACH,aAL8G,CAM/G;;;AACA,gBAAIsV,iGAAwB,CAACkuB,mBAAD,EAAsBI,uBAAtB,EAA+CnB,sBAA/C,CAA5B,EAAoG;AAChGziC,cAAAA,KAAK,GAAG,IAAR;AACH,aAT8G,CAU/G;AACA;;;AACA,gBAAI,CAACA,KAAD,IAAU,CAACmQ,sFAAa,EAA5B,EAAgC;AAC5Bp2C,cAAAA,uFAAc,CAACwpE,mBAAmB,CAACrC,iEAAiBA;AAAC;AAAnB,eAAnB,CAAiEllE,IAAjE,CAAsE31F,MAAvE,EAA+E;AAAE;AAAjF,gBAAkH;AAAG;AAArH,gBAAoL,qDAApL,CAAd;AACH;AACJ;;AACD,cAAI,CAAC25H,KAAD,IAAU,CAACujC,mBAAmB,CAACziE,WAApB,CAAgC16H,MAAhC,CAAuCk7L,2EAA2BA;AAAC;AAAnE,WAAf,EAAuH;AACnH;AACAhsB,YAAAA,iGAAwB,CAACkuB,mBAAD,EAAsBI,uBAAtB,EAA+CnB,sBAA/C,CAAxB;AACH;AACJ;AACJ,OAlDD;;AAmDArpE,MAAAA,KAAK,CAAC0qE,SAAN,GAAkB,YAAY;AAC1B,eAAOvB,OAAP;AACH,OAFD;;AAGAnpE,MAAAA,KAAK,CAACwT,MAAN,GAAe,UAAUtL,OAAV,EAAmB09B,cAAnB,EAAmCC,SAAnC,EAA8C;AACzD7lC,QAAAA,KAAK,CAACsoE,mEAAmBA;AAAC;AAArB,SAAL,CAAuDpgE,OAAvD,EADyD,CAEzD;;;AACA,YAAImhE,sBAAJ,EAA4B;AACxBptB,UAAAA,sGAA6B,CAAC,IAAD,EAAOotB,sBAAP,CAA7B;AACAhtB,UAAAA,oGAA2B,CAAC,IAAD,EAAOgtB,sBAAP,CAA3B;AACH;;AACDC,QAAAA,KAAK,CAAC91D,MAAN,IAAgB81D,KAAK,CAAC91D,MAAN,CAAatL,OAAb,EAAsB09B,cAAtB,EAAsCC,SAAtC,CAAhB;AACH,OARD;;AASArF,MAAAA,uFAAc,CAACxgC,KAAD,EAAQA,KAAK,CAAC8nE,iEAAiBA;AAAC;AAAnB,OAAb,EAA4D,CACtEhB,kEADsE,EAEtEU,+DAFsE,EAGtEG,mEAHsE,EAItE,0BAJsE,EAKtEF,mEALsE,EAMtE,UANsE,EAOtEG,+DAPsE,EAQtEF,gEARsE,EAStEN,oEATsE,EAUtEE,mEAVsE,EAWtEH,qEAXsE,EAYtEE,oEAZsE,CAA5D,CAAd;AAcA7mC,MAAAA,uFAAc,CAACxgC,KAAD,EAAQ2qE,uBAAR,EAAiC,CAC3CpD,yEAD2C,EAE3C,uBAF2C,EAG3C,0BAH2C,CAAjC,CAAd;AAKA/mC,MAAAA,uFAAc,CAACxgC,KAAD,EAAQspE,KAAR,EAAe,CACzB5C,6EADyB,EAEzBM,sEAFyB,EAGzB,yBAHyB,EAIzBD,8DAJyB,EAKzB,WALyB,EAMzBH,iEANyB,EAOzB,aAPyB,EAQzB,aARyB,CAAf,CAAd;AAUApmC,MAAAA,uFAAc,CAACxgC,KAAD,EAAQ,YAAY;AAC9B,YAAIpiH,OAAO,GAAGo9D,UAAU,CAAC0yG,4DAAYA;AAAC;AAAd,SAAxB;AACA,eAAO9vK,OAAO,GAAGA,OAAO,CAACqL,IAAX,GAAkB,IAAhC;AACH,OAHa,EAGX,CACCg+K,kFADD,EAECN,oFAFD,CAHW,CAAd;;AAOA,eAASkD,eAAT,GAA2B;AACvB7pE,QAAAA,KAAK,CAAChzH,MAAN,CAAag7L,0EAA0BA;AAAC;AAAxC,YACIhoE,KAAK,CAAChzH,MAAN,CAAag7L,0EAA0BA;AAAC;AAAxC,aAAgFhoE,KAAK,CAAC2+B,2DAAWA;AAAC;AAAb,SAAL,CAAwCqpC,0EAA0BA;AAAC;AAAnE,YAA0G,CAA1L,GAA8LhoE,KAAK,CAAC2+B,2DAAWA;AAAC;AAAb,SAAL,CAAwCqpC,0EAA0BA;AAAC;AAAnE,SAA9L,GAAwS,KAD5S;AAEH,OA3O+C,CA4OhD;;;AACA,eAAS2C,uBAAT,GAAmC;AAC/B,eAAOzB,YAAP;AACH;;AACD,eAAS/oE,aAAT,GAAyB;AACrBJ,QAAAA,aAAa,GAAG/F,8FAAqB,CAAC,OAAD,CAArC;AACAqvE,QAAAA,sBAAsB,GAAG,IAAzB;AACAH,QAAAA,YAAY,GAAG,IAAf;AACAluH,QAAAA,UAAU,GAAG,IAAb;AACAmuH,QAAAA,OAAO,GAAG,IAAV;AACAC,QAAAA,eAAe,GAAG,IAAlB;AACH;AACJ,KAxPW,CAAZ;AAyPH,GApQ2C,CAqQ5C;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACI;AACJ;AACA;AACI;AACJ;AACI;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACI;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;;;AACIJ,EAAAA,cAAc,CAACzxJ,SAAf,CAAyBo+I,wBAAzB,GAAoD,UAAUC,qBAAV,EAAiC;AACjF,WAAO,IAAP;AACH,GAFD,CAhT4C,CAmThD;;;AACI,SAAOoT,cAAP;AACH,CArTmC,EAApC;;CAuTA;;AACA,CAAC,YAAY;AACT,MAAIhF,MAAM,GAAG,IAAb;AACA,MAAI4G,QAAQ,GAAG,KAAf;AACA,MAAIC,IAAI,GAAG,CACP,0BADO,EAEP,4BAFO,CAAX;;AAIA,MAAI;AACA;AACA;AACA,QAAIC,KAAK,GAAG,CAAC97J,QAAQ,IAAI,EAAb,EAAiB+7J,aAA7B;;AACA,QAAID,KAAJ,EAAW;AACP9G,MAAAA,MAAM,GAAG8G,KAAK,CAACnxK,GAAf,CADO,CAEP;AACA;AACA;AACA;AACA;AACA;AACH;AACJ,GAbD,CAcA,OAAOse,CAAP,EAAU,CACN;AACH;;AACD,MAAI+rJ,MAAJ,EAAY;AACR,QAAI;AACA,UAAIt5K,GAAG,GAAGs5K,MAAM,CAACrvJ,WAAP,EAAV;;AACA,UAAIjqB,GAAJ,EAAS;AACL,YAAIiP,GAAG,GAAG,EAAV;;AACA,aAAK,IAAIytI,GAAG,GAAG,CAAf,EAAkBA,GAAG,GAAGyjC,IAAI,CAAC5wL,MAA7B,EAAqCmtJ,GAAG,EAAxC,EAA4C;AACxC,cAAI18I,GAAG,CAACqjI,6DAAaA;AAAC;AAAf,WAAH,CAAyC88C,IAAI,CAACzjC,GAAD,CAA7C,MAAwD,CAAC,CAA7D,EAAgE;AAC5DztI,YAAAA,GAAG,GAAG,SAASytI,GAAG,GAAG,CAAf,CAAN;;AACA,gBAAI18I,GAAG,CAACqjI,6DAAaA;AAAC;AAAf,aAAH,CAAyC,WAAzC,MAA0D,CAAC,CAA/D,EAAkE;AAC9D,kBAAIrjI,GAAG,CAACqjI,6DAAaA;AAAC;AAAf,eAAH,CAAyC,QAAzC,MAAuD,CAAC,CAA5D,EAA+D;AAC3Dp0H,gBAAAA,GAAG,IAAI,OAAP;AACH,eAFD,MAGK,IAAIjP,GAAG,CAACqjI,6DAAaA;AAAC;AAAf,eAAH,CAAyC,QAAzC,MAAuD,CAAC,CAA5D,EAA+D;AAChEp0H,gBAAAA,GAAG,IAAI,OAAP;AACH;AACJ;;AACD8uK,YAAAA,eAAe,GAAG9uK,GAAG,IAAIixK,QAAQ,GAAG,MAAH,GAAY,EAAxB,CAArB;AACA;AACH;AACJ;AACJ;AACJ,KApBD,CAqBA,OAAO3yJ,CAAP,EAAU,CACN;AACH;AACJ;AACJ,CAlDD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACnYA;AACA;AACA;AACA;AAGA;AACA;AACA;AACA;AACA;AACA,IAAI+yJ,2BAA2B,GAAG,0BAAlC;AACA,IAAIC,MAAM,GAAG,OAAb;AACO,IAAIl/B,SAAS,GAAG,EAAhB;AACA,IAAIm7B,WAAW,GAAG,SAAlB;AACA,IAAIJ,kBAAkB,GAAG,cAAzB;AACA,IAAIM,oBAAoB,GAAG,gBAA3B;AACA,IAAIE,mBAAmB,GAAG,eAA1B;AACA,IAAIT,SAAS,GAAG,OAAhB;AACA,IAAIM,qBAAqB,GAAG,iBAA5B;AACA,IAAIE,oBAAoB,GAAG,gBAA3B;AACA,IAAIX,6BAA6B,GAAG,yBAApC;AACA,IAAIwE,8BAA8B,GAAGxE,6BAA6B,GAAG,GAArE;AACA,IAAIM,sBAAsB,GAAG,kBAA7B;AACA,IAAID,cAAc,GAAG,WAArB;AACA,IAAIH,iBAAiB,GAAG,cAAxB;AACA,IAAIY,eAAe,GAAGyD,MAAM,GAAG,OAA/B;AACA,IAAIrD,eAAe,GAAGqD,MAAM,GAAG,OAA/B;AACA,IAAIvD,gBAAgB,GAAGuD,MAAM,GAAG,QAAhC;AACA,IAAItD,mBAAmB,GAAGsD,MAAM,GAAG,UAAnC;AACA,IAAIxD,mBAAmB,GAAGwD,MAAM,GAAG,WAAnC;AACA,IAAI1D,yBAAyB,GAAG0D,MAAM,GAAG,gBAAzC;AACA,IAAIhE,kCAAkC,GAAG,QAAQ+D,2BAAjD;AACA,IAAIrE,oCAAoC,GAAG,UAAUqE,2BAArD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACjCP;AACA;AACA;AACA;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,IAAIxC,0BAA0B,GAAG,0BAAjC,EAA6D;;AAC7D,IAAIH,sBAAsB,GAAG,iBAA7B,EAAgD;;AAChD,IAAIhxD,iBAAiB,GAAG,aAAxB,EAAuC;;AACvC,IAAIQ,0BAA0B,GAAG,qBAAjC,EAAwD;;AACxD,IAAID,uBAAuB,GAAG,kBAA9B,EAAkD;;AAClD,IAAIuzD,0BAA0B,GAAG,0BAAjC,EAA6D;;AAC7D,IAAIj0D,sBAAsB,GAAG,kBAA7B,EAAiD;;AACjD,IAAIk0D,0BAA0B,GAAG,uBAAjC,EAA0D;;AAC1D,IAAIpD,0BAA0B,GAAG,uBAAjC,EAA0D;;AAC1D,IAAIqD,0BAA0B,GAAG,wBAAjC,EAA2D;;AAC3D,IAAIvuE,wBAAwB,GAAG,oBAA/B,EAAqD;;AACrD,IAAIwuE,0BAA0B,GAAG,qBAAjC,EAAwD;;AACxD,IAAIC,0BAA0B,GAAG,qBAAjC,EAAwD;;AACxD,IAAIC,0BAA0B,GAAG,qBAAjC,EAAwD;;AACxD,IAAIC,0BAA0B,GAAG,2BAAjC,EAA8D;;AAC9D,IAAIC,2BAA2B,GAAG,kCAAlC,EAAsE;;AACtE,IAAIzD,2BAA2B,GAAG,4BAAlC,EAAgE;;AAChE,IAAIC,2BAA2B,GAAG,sBAAlC,EAA0D;;AAC1D,IAAIyD,2BAA2B,GAAG,4BAAlC,EAAgE;;AAChE,IAAIC,2BAA2B,GAAG,qBAAlC,EAAyD;;AACzD,IAAIC,2BAA2B,GAAG,sBAAlC,EAA0D;;AAC1D,IAAIC,2BAA2B,GAAG,8BAAlC,EAAkE;;AAClE,IAAIC,2BAA2B,GAAG,uBAAlC,EAA2D;;AAC3D,IAAIptC,WAAW,GAAG,QAAlB,EAA4B;;AAC5B,IAAI+uB,YAAY,GAAG,SAAnB,EAA8B;;AAC9B,IAAIx5C,SAAS,GAAG,MAAhB,EAAwB;;AACxB,IAAIs4C,YAAY,GAAG,SAAnB,EAA8B;;AAC9B,IAAI+b,UAAU,GAAG,OAAjB,EAA0B;;AAC1B,IAAIR,sBAAsB,GAAG,kBAA7B,EAAiD;;AACjD,IAAIxwD,wBAAwB,GAAG,oBAA/B,EAAqD;;AACrD,IAAIuwD,iBAAiB,GAAG,aAAxB,EAAuC;;AACvC,IAAIK,2BAA2B,GAAG,+BAAlC,EAAmE;;AACnE,IAAIC,2BAA2B,GAAG,yBAAlC,EAA6D;;AAC7D,IAAIE,mBAAmB,GAAG,eAA1B,EAA2C;;AAC3C,IAAIT,2BAA2B,GAAG,6BAAlC,EAAiE;;AACjE,IAAI95C,aAAa,GAAG,SAApB,EAA+B;;;;;;;;;;;;;;;AChDtC;AACA;AACA;AACA;AACA,IAAI1wG,EAAJ;;AACA,IAAI2uJ,SAAS,GAAG,WAAhB;AACA;AACA;AACA;AACA;;AACA,IAAIC,WAAW,GAAG,aAAlB;AACA;AACA;AACA;AACA;;AACA,IAAIC,SAAS,GAAG,WAAhB;AACA;AACA;AACA;AACA;;AACA,IAAIC,WAAW,GAAG,UAAlB;AACA;AACA;AACA;AACA;;AACA,IAAIC,gBAAgB,GAAG,eAAvB;AACA;AACA;AACA;AACA;;AACA,IAAIC,WAAW,GAAG,aAAlB;AACA;AACA;AACA;AACA;;AACA,IAAIC,YAAY,GAAG,WAAnB;AACA;AACA;AACA;AACA;;AACA,IAAIC,kBAAkB,GAAG,UAAzB;AACA;AACA;AACA;AACA;;AACA,IAAIC,aAAa,GAAG,aAApB;AACA;AACA;AACA;AACA;;AACA,IAAIC,kBAAkB,GAAGD,aAAzB;AACA;AACA;AACA;;AACA,IAAIE,sBAAsB,GAAG,SAA7B;AACA;AACA;AACA;AACA;;AACA,IAAIC,YAAY,GAAG,WAAnB;AACA;AACA;AACA;AACA;;AACA,IAAIpvB,UAAU,GAAG,WAAjB;AACA;AACA;AACA;;AACA,IAAIqvB,iBAAiB,GAAG,SAASrvB,UAAjC;AACA;AACA;AACA;;AACA,IAAIsvB,sBAAsB,GAAG,gBAA7B;AACA;AACA;AACA;;AACA,IAAIC,eAAe,GAAG,eAAtB;AACA;AACA;AACA;AACA;;AACA,IAAIC,cAAc,GAAG,aAArB;AACA;AACA;AACA;AACA;;AACA,IAAIC,eAAe,GAAG,cAAtB;AACA,IAAIC,GAAG,GAAGx9J,MAAV;AACA;AACA;AACA;AACA;;AACA,IAAIkvI,kBAAkB,GAAGsuB,GAAG,CAAC,gBAAD,CAA5B;AACA;AACA;AACA;;AACA,IAAIC,eAAe,GAAGD,GAAG,CAAC,qBAAD,CAAzB;AACA;AACA;AACA;AACA;;AACA,SAASE,UAAT,GAAsB;AAClB,MAAIluL,MAAJ;;AACA,MAAI,OAAOqlL,UAAP,KAAsB0H,SAA1B,EAAqC;AACjC/sL,IAAAA,MAAM,GAAGqlL,UAAT;AACH;;AACD,MAAI,CAACrlL,MAAD,IAAW,OAAOuoH,IAAP,KAAgBwkE,SAA/B,EAA0C;AACtC/sL,IAAAA,MAAM,GAAGuoH,IAAT;AACH;;AACD,MAAI,CAACvoH,MAAD,IAAW,OAAOwN,MAAP,KAAkBu/K,SAAjC,EAA4C;AACxC/sL,IAAAA,MAAM,GAAGwN,MAAT;AACH;;AACD,MAAI,CAACxN,MAAD,IAAW,OAAOw5J,MAAP,KAAkBuzB,SAAjC,EAA4C;AACxC/sL,IAAAA,MAAM,GAAGw5J,MAAT;AACH;;AACD,SAAOx5J,MAAM,IAAI,EAAjB;AACH,EACD;AACA;;;AACA,IAAImuL,IAAI,GAAGD,UAAU,EAArB;;AACA,IAAIE,QAAQ,GAAGD,IAAI,CAACP,sBAAD,CAAJ,KAAiCO,IAAI,CAACP,sBAAD,CAAJ,GAA+B;AAC3EhzJ,EAAAA,CAAC,GAAGwD,EAAE,GAAG,EAAL,EACAA,EAAE,CAAC2vJ,eAAD,CAAF,GAAsB,IADtB,EAEA3vJ,EAAE,CAAC0vJ,cAAD,CAAF,GAAqB,IAFrB,EAGA1vJ,EAHH,CAD0E;AAK3ExF,EAAAA,CAAC,EAAE,IALwE,CAKnE;;AALmE,CAAhE,CAAf;AAOA;AACA;AACA;AACA;;;AACA,SAASy1J,eAAT,CAAyB7pK,GAAzB,EAA8BwoH,IAA9B,EAAoC;AAChC,SAAOxoH,GAAG,IAAIwpK,GAAG,CAACf,SAAD,CAAH,CAAe10J,cAAf,CAA8Bf,IAA9B,CAAmChT,GAAnC,EAAwCwoH,IAAxC,CAAd;AACH;AACD;AACA;AACA;AACA;;;AACA,SAASshD,yBAAT,CAAmCryI,MAAnC,EAA2C;AACvC,SAAOA,MAAM,KAAKA,MAAM,KAAK+xI,GAAG,CAACf,SAAD,CAAd,IAA6BhxI,MAAM,KAAKzoB,KAAK,CAACy5J,SAAD,CAAlD,CAAb;AACH;AACD;AACA;AACA;AACA;;;AACA,SAASsB,iCAAT,CAA2CtyI,MAA3C,EAAmD;AAC/C,SAAOqyI,yBAAyB,CAACryI,MAAD,CAAzB,IAAqCA,MAAM,KAAKuyI,QAAQ,CAACvB,SAAD,CAA/D;AACH;AACD;AACA;AACA;AACA;;;AACA,SAASttB,YAAT,CAAsB1jH,MAAtB,EAA8B;AAC1B,MAAI2jH,QAAJ;;AACA,MAAI3jH,MAAJ,EAAY;AACR;AACA,QAAIyjH,kBAAJ,EAAwB;AACpB,aAAOA,kBAAkB,CAACzjH,MAAD,CAAzB;AACH;;AACD,QAAIwyI,QAAQ,GAAGxyI,MAAM,CAACqiH,UAAD,CAAN,IAAsBriH,MAAM,CAACgxI,SAAD,CAA5B,KAA4ChxI,MAAM,CAAC+wI,WAAD,CAAN,GAAsB/wI,MAAM,CAAC+wI,WAAD,CAAN,CAAoBC,SAApB,CAAtB,GAAuD,IAAnG,CAAf,CALQ,CAMR;;AACArtB,IAAAA,QAAQ,GAAG3jH,MAAM,CAAC0xI,iBAAD,CAAN,IAA6Bc,QAAxC;;AACA,QAAI,CAACJ,eAAe,CAACpyI,MAAD,EAAS0xI,iBAAT,CAApB,EAAiD;AAC7C;AACA;AACA,aAAO1xI,MAAM,CAAC4xI,eAAD,CAAb,CAH6C,CAGb;;AAChCjuB,MAAAA,QAAQ,GAAG3jH,MAAM,CAAC0xI,iBAAD,CAAN,GAA4B1xI,MAAM,CAAC4xI,eAAD,CAAN,IAA2B5xI,MAAM,CAAC0xI,iBAAD,CAAxE;AACA1xI,MAAAA,MAAM,CAAC4xI,eAAD,CAAN,GAA0BY,QAA1B;AACH;AACJ;;AACD,SAAO7uB,QAAP;AACH;AACD;AACA;AACA;AACA;AACA;;;AACA,SAAS8uB,YAAT,CAAsBzyI,MAAtB,EAA8BolF,IAA9B,EAAoC;AAChC,MAAIp8G,KAAK,GAAG,EAAZ;;AACA,MAAIgpK,eAAJ,EAAqB;AACjBhpK,IAAAA,KAAK,GAAGgpK,eAAe,CAAChyI,MAAD,CAAvB;AACH,GAFD,MAGK;AACD,SAAK,IAAIivF,MAAT,IAAmBjvF,MAAnB,EAA2B;AACvB,UAAI,OAAOivF,MAAP,KAAkB,QAAlB,IAA8BmjD,eAAe,CAACpyI,MAAD,EAASivF,MAAT,CAAjD,EAAmE;AAC/DjmH,QAAAA,KAAK,CAACqP,IAAN,CAAW42G,MAAX;AACH;AACJ;AACJ;;AACD,MAAIjmH,KAAK,IAAIA,KAAK,CAACjqB,MAAN,GAAe,CAA5B,EAA+B;AAC3B,SAAK,IAAI26H,EAAE,GAAG,CAAd,EAAiBA,EAAE,GAAG1wG,KAAK,CAACjqB,MAA5B,EAAoC26H,EAAE,EAAtC,EAA0C;AACtC0L,MAAAA,IAAI,CAACp8G,KAAK,CAAC0wG,EAAD,CAAN,CAAJ;AACH;AACJ;AACJ;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASg5D,mBAAT,CAA6B1yI,MAA7B,EAAqCsmH,QAArC,EAA+CqsB,OAA/C,EAAwD;AACpD,SAAQrsB,QAAQ,KAAKyqB,WAAb,IAA4B,OAAO/wI,MAAM,CAACsmH,QAAD,CAAb,KAA4B2qB,WAAxD,KAAwE0B,OAAO,IAAIP,eAAe,CAACpyI,MAAD,EAASsmH,QAAT,CAAlG,CAAR;AACH;AACD;AACA;AACA;AACA;AACA;;;AACA,SAASssB,eAAT,CAAyB3+L,OAAzB,EAAkC;AAC9B,QAAM,IAAIwqC,SAAJ,CAAc,mBAAmBxqC,OAAjC,CAAN;AACH;AACD;AACA;AACA;AACA;AACA;AACA;;;AACA,SAAS4+L,iBAAT,CAA2BC,UAA3B,EAAuC;AACnC;AACA,MAAIC,SAAS,GAAG,EAAhB,CAFmC,CAGnC;;AACAN,EAAAA,YAAY,CAACK,UAAD,EAAa,UAAUlwL,IAAV,EAAgB;AACrC;AACA,QAAI,CAACmwL,SAAS,CAACnwL,IAAD,CAAV,IAAoB8vL,mBAAmB,CAACI,UAAD,EAAalwL,IAAb,EAAmB,KAAnB,CAA3C,EAAsE;AAClE;AACAmwL,MAAAA,SAAS,CAACnwL,IAAD,CAAT,GAAkBkwL,UAAU,CAAClwL,IAAD,CAA5B;AACH;AACJ,GANW,CAAZ;;AAOA,SAAOmwL,SAAP;AACH;AACD;AACA;AACA;AACA;AACA;;;AACA,SAASC,WAAT,CAAqBv/I,MAArB,EAA6BnwC,KAA7B,EAAoC;AAChC,OAAK,IAAIo2H,EAAE,GAAGjmF,MAAM,CAAC10C,MAAP,GAAgB,CAA9B,EAAiC26H,EAAE,IAAI,CAAvC,EAA0CA,EAAE,EAA5C,EAAgD;AAC5C,QAAIjmF,MAAM,CAACimF,EAAD,CAAN,KAAep2H,KAAnB,EAA0B;AACtB,aAAO,IAAP;AACH;AACJ;;AACD,SAAO,KAAP;AACH;AACD;AACA;AACA;AACA;AACA;AACA;;;AACA,SAAS2vL,aAAT,CAAuBC,UAAvB,EAAmCJ,UAAnC,EAA+CC,SAA/C,EAA0DI,WAA1D,EAAuE;AACnE,WAASC,cAAT,CAAwBpzI,MAAxB,EAAgCqzI,QAAhC,EAA0C/sB,QAA1C,EAAoD;AAChD,QAAIM,OAAO,GAAGysB,QAAQ,CAAC/sB,QAAD,CAAtB;;AACA,QAAIM,OAAO,CAACuqB,WAAD,CAAP,IAAwBgC,WAA5B,EAAyC;AACrC;AACA,UAAIG,aAAa,GAAGtzI,MAAM,CAACkxI,gBAAD,CAAN,IAA4B,EAAhD;;AACA,UAAIoC,aAAa,CAAC/B,kBAAD,CAAb,KAAsC,KAA1C,EAAiD;AAC7C3qB,QAAAA,OAAO,GAAG,CAAC0sB,aAAa,CAACD,QAAQ,CAACjC,YAAD,CAAT,CAAb,IAAyC,EAA1C,EAA8C9qB,QAA9C,KAA2DM,OAArE;AACH;AACJ;;AACD,WAAO,YAAY;AACf;AACA,aAAOA,OAAO,CAAC/pI,KAAR,CAAcmjB,MAAd,EAAsBpjB,SAAtB,CAAP;AACH,KAHD;AAIH,GAdkE,CAenE;;;AACA,MAAI22J,SAAS,GAAG,EAAhB;;AACAd,EAAAA,YAAY,CAACM,SAAD,EAAY,UAAUnwL,IAAV,EAAgB;AACpC;AACA2wL,IAAAA,SAAS,CAAC3wL,IAAD,CAAT,GAAkBwwL,cAAc,CAACN,UAAD,EAAaC,SAAb,EAAwBnwL,IAAxB,CAAhC;AACH,GAHW,CAAZ,CAjBmE,CAqBnE;;;AACA,MAAI4wL,SAAS,GAAG9vB,YAAY,CAACwvB,UAAD,CAA5B;;AACA,MAAIO,OAAO,GAAG,EAAd,CAvBmE,CAwBnE;;AACA,SAAOD,SAAS,IAAI,CAAClB,iCAAiC,CAACkB,SAAD,CAA/C,IAA8D,CAACR,WAAW,CAACS,OAAD,EAAUD,SAAV,CAAjF,EAAuG;AACnG;AACAf,IAAAA,YAAY,CAACe,SAAD,EAAY,UAAU5wL,IAAV,EAAgB;AACpC;AACA;AACA;AACA;AACA,UAAI,CAAC2wL,SAAS,CAAC3wL,IAAD,CAAV,IAAoB8vL,mBAAmB,CAACc,SAAD,EAAY5wL,IAAZ,EAAkB,CAAC6gK,kBAAnB,CAA3C,EAAmF;AAC/E;AACA8vB,QAAAA,SAAS,CAAC3wL,IAAD,CAAT,GAAkBwwL,cAAc,CAACN,UAAD,EAAaU,SAAb,EAAwB5wL,IAAxB,CAAhC;AACH;AACJ,KATW,CAAZ,CAFmG,CAYnG;AACA;AACA;;;AACA6wL,IAAAA,OAAO,CAACp7J,IAAR,CAAam7J,SAAb;AACAA,IAAAA,SAAS,GAAG9vB,YAAY,CAAC8vB,SAAD,CAAxB;AACH;;AACD,SAAOD,SAAP;AACH;;AACD,SAASG,YAAT,CAAsB1zI,MAAtB,EAA8BsmH,QAA9B,EAAwCnL,KAAxC,EAA+Cw4B,oBAA/C,EAAqE;AACjE,MAAIC,QAAQ,GAAG,IAAf,CADiE,CAEjE;AACA;;AACA,MAAI5zI,MAAM,IAAIoyI,eAAe,CAACj3B,KAAD,EAAQi2B,YAAR,CAA7B,EAAoD;AAChD,QAAIkC,aAAa,GAAGtzI,MAAM,CAACkxI,gBAAD,CAAN,IAA4B,EAAhD;AACA0C,IAAAA,QAAQ,GAAG,CAACN,aAAa,CAACn4B,KAAK,CAACi2B,YAAD,CAAN,CAAb,IAAsC,EAAvC,EAA2C9qB,QAA3C,CAAX;;AACA,QAAI,CAACstB,QAAL,EAAe;AACX;AACAhB,MAAAA,eAAe,CAAC,cAActsB,QAAd,GAAyB,IAAzB,GAAgC2qB,WAAjC,CAAf;AACH,KAN+C,CAOhD;AACA;;;AACA,QAAI,CAAC2C,QAAQ,CAACtC,aAAD,CAAT,IAA4BgC,aAAa,CAAC/B,kBAAD,CAAb,KAAsC,KAAtE,EAA6E;AACzE;AACA,UAAIsC,UAAU,GAAG,CAACzB,eAAe,CAACpyI,MAAD,EAASsmH,QAAT,CAAjC,CAFyE,CAGzE;;AACA,UAAIwtB,QAAQ,GAAGpwB,YAAY,CAAC1jH,MAAD,CAA3B;;AACA,UAAIyzI,OAAO,GAAG,EAAd,CALyE,CAMzE;AACA;;AACA,aAAOI,UAAU,IAAIC,QAAd,IAA0B,CAACxB,iCAAiC,CAACwB,QAAD,CAA5D,IAA0E,CAACd,WAAW,CAACS,OAAD,EAAUK,QAAV,CAA7F,EAAkH;AAC9G,YAAIC,SAAS,GAAGD,QAAQ,CAACxtB,QAAD,CAAxB;;AACA,YAAIytB,SAAJ,EAAe;AACXF,UAAAA,UAAU,GAAIE,SAAS,KAAKJ,oBAA5B;AACA;AACH,SAL6G,CAM9G;;;AACAF,QAAAA,OAAO,CAACp7J,IAAR,CAAay7J,QAAb;AACAA,QAAAA,QAAQ,GAAGpwB,YAAY,CAACowB,QAAD,CAAvB;AACH;;AACD,UAAI;AACA,YAAID,UAAJ,EAAgB;AACZ;AACA;AACA7zI,UAAAA,MAAM,CAACsmH,QAAD,CAAN,GAAmBstB,QAAnB;AACH,SALD,CAMA;;;AACAA,QAAAA,QAAQ,CAACtC,aAAD,CAAR,GAA0B,CAA1B;AACH,OARD,CASA,OAAOv0J,CAAP,EAAU;AACN;AACA;AACAu2J,QAAAA,aAAa,CAAC/B,kBAAD,CAAb,GAAoC,KAApC;AACH;AACJ;AACJ;;AACD,SAAOqC,QAAP;AACH;;AACD,SAASI,aAAT,CAAuB1tB,QAAvB,EAAiCnL,KAAjC,EAAwCw4B,oBAAxC,EAA8D;AAC1D,MAAII,SAAS,GAAG54B,KAAK,CAACmL,QAAD,CAArB,CAD0D,CAE1D;;AACA,MAAIytB,SAAS,KAAKJ,oBAAlB,EAAwC;AACpC;AACAI,IAAAA,SAAS,GAAGrwB,YAAY,CAACvI,KAAD,CAAZ,CAAoBmL,QAApB,CAAZ;AACH;;AACD,MAAI,OAAOytB,SAAP,KAAqB9C,WAAzB,EAAsC;AAClC2B,IAAAA,eAAe,CAAC,MAAMtsB,QAAN,GAAiB,aAAjB,GAAiC2qB,WAAlC,CAAf;AACH;;AACD,SAAO8C,SAAP;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASE,kBAAT,CAA4B94B,KAA5B,EAAmC+4B,SAAnC,EAA8Cl0I,MAA9C,EAAsDm0I,aAAtD,EAAqEC,eAArE,EAAsF;AAClF,WAASC,uBAAT,CAAiCl5B,KAAjC,EAAwCmL,QAAxC,EAAkD;AAC9C,QAAIguB,aAAa,GAAG,YAAY;AAC5B;AACA,UAAIV,QAAQ,GAAGF,YAAY,CAAC,IAAD,EAAOptB,QAAP,EAAiBnL,KAAjB,EAAwBm5B,aAAxB,CAAZ,IAAsDN,aAAa,CAAC1tB,QAAD,EAAWnL,KAAX,EAAkBm5B,aAAlB,CAAlF,CAF4B,CAG5B;;;AACA,aAAOV,QAAQ,CAAC/2J,KAAT,CAAe,IAAf,EAAqBD,SAArB,CAAP;AACH,KALD,CAD8C,CAO9C;AACA;;;AACA03J,IAAAA,aAAa,CAACnD,WAAD,CAAb,GAA6B,CAA7B;AACA,WAAOmD,aAAP;AACH;;AACD,MAAI,CAACjC,yBAAyB,CAACl3B,KAAD,CAA9B,EAAuC;AACnC,QAAIm4B,aAAa,GAAGtzI,MAAM,CAACkxI,gBAAD,CAAN,GAA2BlxI,MAAM,CAACkxI,gBAAD,CAAN,IAA4B,EAA3E;AACA,QAAIqD,WAAW,GAAGjB,aAAa,CAACY,SAAD,CAAb,GAA4BZ,aAAa,CAACY,SAAD,CAAb,IAA4B,EAA1E,CAFmC,CAE4C;AAC/E;;AACA,QAAIZ,aAAa,CAAC/B,kBAAD,CAAb,KAAsC,KAA1C,EAAiD;AAC7C+B,MAAAA,aAAa,CAAC/B,kBAAD,CAAb,GAAoC,CAAC,CAAC6C,eAAtC;AACH;;AACD3B,IAAAA,YAAY,CAACzyI,MAAD,EAAS,UAAUp9C,IAAV,EAAgB;AACjC;AACA,UAAI8vL,mBAAmB,CAAC1yI,MAAD,EAASp9C,IAAT,EAAe,KAAf,CAAnB,IAA4Co9C,MAAM,CAACp9C,IAAD,CAAN,KAAiBuxL,aAAa,CAACvxL,IAAD,CAA9E,EAAsF;AAClF;AACA2xL,QAAAA,WAAW,CAAC3xL,IAAD,CAAX,GAAoBo9C,MAAM,CAACp9C,IAAD,CAA1B;AACA,eAAOo9C,MAAM,CAACp9C,IAAD,CAAb,CAHkF,CAIlF;;AACA,YAAI,CAACwvL,eAAe,CAACj3B,KAAD,EAAQv4J,IAAR,CAAhB,IAAkCu4J,KAAK,CAACv4J,IAAD,CAAL,IAAe,CAACu4J,KAAK,CAACv4J,IAAD,CAAL,CAAYuuL,WAAZ,CAAtD,EAAiF;AAC7Eh2B,UAAAA,KAAK,CAACv4J,IAAD,CAAL,GAAcyxL,uBAAuB,CAACl5B,KAAD,EAAQv4J,IAAR,CAArC;AACH;AACJ;AACJ,KAXW,CAAZ;AAYH;AACJ;AACD;AACA;AACA;AACA;AACA;AACA;;;AACA,SAAS4xL,eAAT,CAAyBtB,UAAzB,EAAqCJ,UAArC,EAAiD;AAC7C;AACA,MAAIrvB,kBAAJ,EAAwB;AACpB;AACA,QAAIgwB,OAAO,GAAG,EAAd;;AACA,QAAIgB,SAAS,GAAG/wB,YAAY,CAACovB,UAAD,CAA5B;;AACA,WAAO2B,SAAS,IAAI,CAACnC,iCAAiC,CAACmC,SAAD,CAA/C,IAA8D,CAACzB,WAAW,CAACS,OAAD,EAAUgB,SAAV,CAAjF,EAAuG;AACnG,UAAIA,SAAS,KAAKvB,UAAlB,EAA8B;AAC1B,eAAO,IAAP;AACH,OAHkG,CAInG;AACA;;;AACAO,MAAAA,OAAO,CAACp7J,IAAR,CAAao8J,SAAb;AACAA,MAAAA,SAAS,GAAG/wB,YAAY,CAAC+wB,SAAD,CAAxB;AACH;;AACD,WAAO,KAAP;AACH,GAhB4C,CAiB7C;;;AACA,SAAO,IAAP;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASC,WAAT,CAAqB10I,MAArB,EAA6B20I,YAA7B,EAA2C;AACvC,MAAIvC,eAAe,CAACpyI,MAAD,EAASgxI,SAAT,CAAnB,EAAwC;AACpC;AACA,WAAOhxI,MAAM,CAACp9C,IAAP,IAAe+xL,YAAf,IAA+BlD,YAAtC;AACH;;AACD,SAAO,CAAE,CAACzxI,MAAM,IAAI,EAAX,EAAe+wI,WAAf,CAAD,IAAiC,EAAlC,EAAsCnuL,IAAtC,IAA8C+xL,YAA9C,IAA8DlD,YAArE;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASl0E,YAAT,CAAsBy9C,QAAtB,EAAgCh7G,MAAhC,EAAwC40I,YAAxC,EAAsD90K,OAAtD,EAA+D;AAC3D;AACA,MAAI,CAACsyK,eAAe,CAACp3B,QAAD,EAAWg2B,SAAX,CAApB,EAA2C;AACvC4B,IAAAA,eAAe,CAAC,0CAAD,CAAf;AACH,GAJ0D,CAK3D;;;AACA,MAAIM,UAAU,GAAGl4B,QAAQ,CAACg2B,SAAD,CAAzB;;AACA,MAAI,CAACwD,eAAe,CAACtB,UAAD,EAAalzI,MAAb,CAApB,EAA0C;AACtC4yI,IAAAA,eAAe,CAAC,MAAM8B,WAAW,CAAC15B,QAAD,CAAjB,GAA8B,yBAA9B,GAA0D05B,WAAW,CAAC10I,MAAD,CAArE,GAAgF,GAAjF,CAAf;AACH;;AACD,MAAIk0I,SAAS,GAAG,IAAhB;;AACA,MAAI9B,eAAe,CAACc,UAAD,EAAa9B,YAAb,CAAnB,EAA+C;AAC3C;AACA8C,IAAAA,SAAS,GAAGhB,UAAU,CAAC9B,YAAD,CAAtB;AACH,GAHD,MAIK;AACD;AACA;AACA;AACA8C,IAAAA,SAAS,GAAG7C,kBAAkB,GAAGqD,WAAW,CAAC15B,QAAD,EAAW,GAAX,CAAhC,GAAkD,GAAlD,GAAwDm3B,QAAQ,CAACx1J,CAA7E;AACAw1J,IAAAA,QAAQ,CAACx1J,CAAT;AACAu2J,IAAAA,UAAU,CAAC9B,YAAD,CAAV,GAA2B8C,SAA3B;AACH;;AACD,MAAIW,WAAW,GAAGt3E,YAAY,CAACi0E,sBAAD,CAA9B;AACA,MAAI2B,WAAW,GAAG,CAAC,CAAC0B,WAAW,CAAChD,cAAD,CAA/B;;AACA,MAAIsB,WAAW,IAAIrzK,OAAf,IAA0BA,OAAO,CAAC+xK,cAAD,CAAP,KAA4BptJ,SAA1D,EAAqE;AACjE0uJ,IAAAA,WAAW,GAAG,CAAC,CAACrzK,OAAO,CAAC+xK,cAAD,CAAvB;AACH,GA3B0D,CA4B3D;;;AACA,MAAIkB,SAAS,GAAGF,iBAAiB,CAAC7yI,MAAD,CAAjC,CA7B2D,CA8B3D;;;AACA,MAAIuzI,SAAS,GAAGN,aAAa,CAACC,UAAD,EAAalzI,MAAb,EAAqB+yI,SAArB,EAAgCI,WAAhC,CAA7B,CA/B2D,CAgC3D;AACA;;;AACAyB,EAAAA,YAAY,CAAC50I,MAAD,EAASuzI,SAAT,CAAZ,CAlC2D,CAmC3D;;AACA,MAAIa,eAAe,GAAG,CAAC,CAAC3wB,kBAAF,IAAwB,CAAC,CAACoxB,WAAW,CAAC/C,eAAD,CAA3D;;AACA,MAAIsC,eAAe,IAAIt0K,OAAvB,EAAgC;AAC5Bs0K,IAAAA,eAAe,GAAG,CAAC,CAACt0K,OAAO,CAACgyK,eAAD,CAA3B;AACH,GAvC0D,CAwC3D;;;AACAmC,EAAAA,kBAAkB,CAACf,UAAD,EAAagB,SAAb,EAAwBl0I,MAAxB,EAAgC+yI,SAAhC,EAA2CqB,eAAe,KAAK,KAA/D,CAAlB;AACH;AACD;AACA;AACA;AACA;AACA;;;AACA72E,YAAY,CAACi0E,sBAAD,CAAZ,GAAuCW,QAAQ,CAACxzJ,CAAhD;;;;;;;;;;;;;;;;AC7hBA;AACA;AACA;AACA;AACA;AACA;;AACA;AACO,MAAMm2J,eAAN,CAAsB;AACzBjjM,EAAAA,WAAW,GAAG;AACV,SAAKkjM,UAAL,GAAkB,KAAlB;AACA,SAAKC,OAAL,GAAe,IAAf;AACH;;AACDve,EAAAA,KAAK,GAAG;AACJ,QAAI,CAAC,KAAKse,UAAV,EAAsB;AAClB,WAAKA,UAAL,GAAkB,IAAlB;;AACA,UAAI,KAAKC,OAAT,EAAkB;AACd,aAAKA,OAAL;AACH;AACJ;AACJ;;AACS,MAANC,MAAM,GAAG;AACT,WAAO,IAAP;AACH;;AACU,MAAPzd,OAAO,GAAG;AACV,WAAO,KAAKud,UAAZ;AACH;;AAlBwB;;;;;;;;;;;;;;;;;;;;ACP7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACO,MAAMO,iBAAN,SAAgCjgM,mDAAhC,CAA2C;AAC9C;AACAxD,EAAAA,WAAW,CAACkgC,MAAD,EAAS;AAChB;;AACA,QAAI,OAAOu8C,KAAP,KAAiB,WAAjB,IAAgC8mH,mDAApC,EAAqD;AACjD,WAAKI,WAAL,GAAmB,IAAIL,6DAAJ,CAAoBpjK,MAApB,CAAnB;AACH,KAFD,MAGK,IAAI,OAAOw9C,cAAP,KAA0B,WAA9B,EAA2C;AAC5C,WAAKimH,WAAL,GAAmB,IAAIH,yDAAJ,CAAkBtjK,MAAlB,CAAnB;AACH,KAFI,MAGA;AACD,YAAM,IAAIwtB,KAAJ,CAAU,6BAAV,CAAN;AACH;AACJ;AACD;;;AACAuwB,EAAAA,IAAI,CAAC7+C,OAAD,EAAU;AACV;AACA,QAAIA,OAAO,CAACwkK,WAAR,IAAuBxkK,OAAO,CAACwkK,WAAR,CAAoBje,OAA/C,EAAwD;AACpD,aAAO57I,OAAO,CAAC2B,MAAR,CAAe,IAAI23J,+CAAJ,EAAf,CAAP;AACH;;AACD,QAAI,CAACjkK,OAAO,CAAC0F,MAAb,EAAqB;AACjB,aAAOiF,OAAO,CAAC2B,MAAR,CAAe,IAAIgiB,KAAJ,CAAU,oBAAV,CAAf,CAAP;AACH;;AACD,QAAI,CAACtuB,OAAO,CAACzhB,GAAb,EAAkB;AACd,aAAOosB,OAAO,CAAC2B,MAAR,CAAe,IAAIgiB,KAAJ,CAAU,iBAAV,CAAf,CAAP;AACH;;AACD,WAAO,KAAKi2I,WAAL,CAAiB1lH,IAAjB,CAAsB7+C,OAAtB,CAAP;AACH;;AACDykK,EAAAA,eAAe,CAAClmL,GAAD,EAAM;AACjB,WAAO,KAAKgmL,WAAL,CAAiBE,eAAjB,CAAiClmL,GAAjC,CAAP;AACH;;AA9B6C;;;;;;;;;;;;;;;ACRlD;AACA;AACA;AACA,MAAMmmL,oCAAoC,GAAG,CAAC,CAAD,EAAI,IAAJ,EAAU,KAAV,EAAiB,KAAjB,EAAwB,IAAxB,CAA7C;AACA;;AACO,MAAMC,sBAAN,CAA6B;AAChC/jM,EAAAA,WAAW,CAACgkM,WAAD,EAAc;AACrB,SAAKC,YAAL,GAAoBD,WAAW,KAAKpxJ,SAAhB,GAA4B,CAAC,GAAGoxJ,WAAJ,EAAiB,IAAjB,CAA5B,GAAqDF,oCAAzE;AACH;;AACDI,EAAAA,4BAA4B,CAACC,YAAD,EAAe;AACvC,WAAO,KAAKF,YAAL,CAAkBE,YAAY,CAACC,kBAA/B,CAAP;AACH;;AAN+B;;;;;;;;;;;;;;;;;;;;;;ACLpC;AACA;;AACA;AACO,MAAMC,SAAN,SAAwB32I,KAAxB,CAA8B;AACjC;AACJ;AACA;AACA;AACA;AACI1tD,EAAAA,WAAW,CAACijE,YAAD,EAAeitE,UAAf,EAA2B;AAClC,UAAMo0D,SAAS,GAAGC,GAAG,CAACp2I,MAAJ,CAAW3jB,SAA7B;AACA,UAAO,GAAEy4B,YAAa,kBAAiBitE,UAAW,GAAlD;AACA,SAAKA,UAAL,GAAkBA,UAAlB,CAHkC,CAIlC;AACA;;AACA,SAAK5lG,SAAL,GAAiBg6J,SAAjB;AACH;;AAbgC;AAerC;;AACO,MAAME,YAAN,SAA2B92I,KAA3B,CAAiC;AACpC;AACJ;AACA;AACA;AACI1tD,EAAAA,WAAW,CAACijE,YAAY,GAAG,qBAAhB,EAAuC;AAC9C,UAAMqhI,SAAS,GAAGC,GAAG,CAACp2I,MAAJ,CAAW3jB,SAA7B;AACA,UAAMy4B,YAAN,EAF8C,CAG9C;AACA;;AACA,SAAK34B,SAAL,GAAiBg6J,SAAjB;AACH;;AAXmC;AAaxC;;AACO,MAAMjB,UAAN,SAAyB31I,KAAzB,CAA+B;AAClC;AACJ;AACA;AACA;AACI1tD,EAAAA,WAAW,CAACijE,YAAY,GAAG,oBAAhB,EAAsC;AAC7C,UAAMqhI,SAAS,GAAGC,GAAG,CAACp2I,MAAJ,CAAW3jB,SAA7B;AACA,UAAMy4B,YAAN,EAF6C,CAG7C;AACA;;AACA,SAAK34B,SAAL,GAAiBg6J,SAAjB;AACH;;AAXiC;AAatC;;AACA;;AACO,MAAMG,yBAAN,SAAwC/2I,KAAxC,CAA8C;AACjD;AACJ;AACA;AACA;AACA;AACI1tD,EAAAA,WAAW,CAACoC,OAAD,EAAUsiM,SAAV,EAAqB;AAC5B,UAAMJ,SAAS,GAAGC,GAAG,CAACp2I,MAAJ,CAAW3jB,SAA7B;AACA,UAAMpoC,OAAN;AACA,SAAKsiM,SAAL,GAAiBA,SAAjB;AACA,SAAKpiD,SAAL,GAAiB,2BAAjB,CAJ4B,CAK5B;AACA;;AACA,SAAKh4G,SAAL,GAAiBg6J,SAAjB;AACH;;AAdgD;AAgBrD;;AACA;;AACO,MAAMK,sBAAN,SAAqCj3I,KAArC,CAA2C;AAC9C;AACJ;AACA;AACA;AACA;AACI1tD,EAAAA,WAAW,CAACoC,OAAD,EAAUsiM,SAAV,EAAqB;AAC5B,UAAMJ,SAAS,GAAGC,GAAG,CAACp2I,MAAJ,CAAW3jB,SAA7B;AACA,UAAMpoC,OAAN;AACA,SAAKsiM,SAAL,GAAiBA,SAAjB;AACA,SAAKpiD,SAAL,GAAiB,wBAAjB,CAJ4B,CAK5B;AACA;;AACA,SAAKh4G,SAAL,GAAiBg6J,SAAjB;AACH;;AAd6C;AAgBlD;;AACA;;AACO,MAAMM,2BAAN,SAA0Cl3I,KAA1C,CAAgD;AACnD;AACJ;AACA;AACA;AACA;AACI1tD,EAAAA,WAAW,CAACoC,OAAD,EAAUsiM,SAAV,EAAqB;AAC5B,UAAMJ,SAAS,GAAGC,GAAG,CAACp2I,MAAJ,CAAW3jB,SAA7B;AACA,UAAMpoC,OAAN;AACA,SAAKsiM,SAAL,GAAiBA,SAAjB;AACA,SAAKpiD,SAAL,GAAiB,6BAAjB,CAJ4B,CAK5B;AACA;;AACA,SAAKh4G,SAAL,GAAiBg6J,SAAjB;AACH;;AAdkD;AAgBvD;;AACA;;AACO,MAAMO,gCAAN,SAA+Cn3I,KAA/C,CAAqD;AACxD;AACJ;AACA;AACA;AACI1tD,EAAAA,WAAW,CAACoC,OAAD,EAAU;AACjB,UAAMkiM,SAAS,GAAGC,GAAG,CAACp2I,MAAJ,CAAW3jB,SAA7B;AACA,UAAMpoC,OAAN;AACA,SAAKkgJ,SAAL,GAAiB,kCAAjB,CAHiB,CAIjB;AACA;;AACA,SAAKh4G,SAAL,GAAiBg6J,SAAjB;AACH;;AAZuD;AAc5D;;AACA;;AACO,MAAMQ,eAAN,SAA8Bp3I,KAA9B,CAAoC;AACvC;AACJ;AACA;AACA;AACA;AACI1tD,EAAAA,WAAW,CAACoC,OAAD,EAAU2iM,WAAV,EAAuB;AAC9B,UAAMT,SAAS,GAAGC,GAAG,CAACp2I,MAAJ,CAAW3jB,SAA7B;AACA,UAAMpoC,OAAN;AACA,SAAK2iM,WAAL,GAAmBA,WAAnB,CAH8B,CAI9B;AACA;;AACA,SAAKz6J,SAAL,GAAiBg6J,SAAjB;AACH;;AAbsC;;;;;;;;;;;;;;;;;;;;;ACtH3C;AACA;AACA;AACA;AACA;AACA;AACO,MAAMhB,eAAN,SAA8B9/L,mDAA9B,CAAyC;AAC5CxD,EAAAA,WAAW,CAACkgC,MAAD,EAAS;AAChB;AACA,SAAK+6F,OAAL,GAAe/6F,MAAf;;AACA,QAAI,OAAOu8C,KAAP,KAAiB,WAArB,EAAkC;AAC9B;AACA;AACA,YAAMyoH,WAAW,GAAG,QAA4CE,OAA5C,GAAsEC,CAA1F,CAH8B,CAI9B;;AACA,WAAKC,IAAL,GAAY,KAAKJ,WAAW,CAAC,cAAD,CAAZ,CAA8BK,SAAlC,GAAZ;AACA,WAAKC,UAAL,GAAkBN,WAAW,CAAC,YAAD,CAA7B,CAN8B,CAO9B;AACA;;AACA,WAAKM,UAAL,GAAkBN,WAAW,CAAC,cAAD,CAAX,CAA4B,KAAKM,UAAjC,EAA6C,KAAKF,IAAlD,CAAlB;AACH,KAVD,MAWK;AACD,WAAKE,UAAL,GAAkB/oH,KAAK,CAACnnD,IAAN,CAAW2vK,qDAAa,EAAxB,CAAlB;AACH;;AACD,QAAI,OAAOhC,eAAP,KAA2B,WAA/B,EAA4C;AACxC;AACA;AACA,YAAMiC,WAAW,GAAG,QAA4CE,OAA5C,GAAsEC,CAA1F,CAHwC,CAIxC;;AACA,WAAKI,oBAAL,GAA4BP,WAAW,CAAC,kBAAD,CAAvC;AACH,KAND,MAOK;AACD,WAAKO,oBAAL,GAA4BxC,eAA5B;AACH;AACJ;AACD;;;AACMhlH,EAAAA,IAAI,CAAC7+C,OAAD,EAAU;AAAA;;AAAA;AAChB;AACA,UAAIA,OAAO,CAACwkK,WAAR,IAAuBxkK,OAAO,CAACwkK,WAAR,CAAoBje,OAA/C,EAAwD;AACpD,cAAM,IAAI0d,+CAAJ,EAAN;AACH;;AACD,UAAI,CAACjkK,OAAO,CAAC0F,MAAb,EAAqB;AACjB,cAAM,IAAI4oB,KAAJ,CAAU,oBAAV,CAAN;AACH;;AACD,UAAI,CAACtuB,OAAO,CAACzhB,GAAb,EAAkB;AACd,cAAM,IAAI+vC,KAAJ,CAAU,iBAAV,CAAN;AACH;;AACD,YAAMg4I,eAAe,GAAG,IAAI,KAAI,CAACD,oBAAT,EAAxB;AACA,UAAI7uL,KAAJ,CAZgB,CAahB;;AACA,UAAIwoB,OAAO,CAACwkK,WAAZ,EAAyB;AACrBxkK,QAAAA,OAAO,CAACwkK,WAAR,CAAoBT,OAApB,GAA8B,MAAM;AAChCuC,UAAAA,eAAe,CAAC9gB,KAAhB;AACAhuK,UAAAA,KAAK,GAAG,IAAIysL,+CAAJ,EAAR;AACH,SAHD;AAIH,OAnBe,CAoBhB;AACA;;;AACA,UAAI1mJ,SAAS,GAAG,IAAhB;;AACA,UAAIvd,OAAO,CAACssC,OAAZ,EAAqB;AACjB,cAAMi6H,SAAS,GAAGvmK,OAAO,CAACssC,OAA1B;AACA/uB,QAAAA,SAAS,GAAGl9B,UAAU,CAAC,MAAM;AACzBimL,UAAAA,eAAe,CAAC9gB,KAAhB;;AACA,eAAI,CAAC3pD,OAAL,CAAa34H,GAAb,CAAiB24B,sDAAjB,EAAoC,4BAApC;;AACArkB,UAAAA,KAAK,GAAG,IAAI4tL,iDAAJ,EAAR;AACH,SAJqB,EAInBmB,SAJmB,CAAtB;AAKH;;AACD,UAAI7iK,QAAJ;;AACA,UAAI;AACAA,QAAAA,QAAQ,SAAS,KAAI,CAAC0iK,UAAL,CAAgBpmK,OAAO,CAACzhB,GAAxB,EAA6B;AAC1C/F,UAAAA,IAAI,EAAEwnB,OAAO,CAACklF,OAD4B;AAE1C9oF,UAAAA,KAAK,EAAE,UAFmC;AAG1CoqK,UAAAA,WAAW,EAAExmK,OAAO,CAACymK,eAAR,KAA4B,IAA5B,GAAmC,SAAnC,GAA+C,aAHlB;AAI1CzgK,UAAAA,OAAO,EAAE;AACL,4BAAgB,0BADX;AAEL,gCAAoB,gBAFf;AAGL,eAAGhG,OAAO,CAACgG;AAHN,WAJiC;AAS1CN,UAAAA,MAAM,EAAE1F,OAAO,CAAC0F,MAT0B;AAU1CghK,UAAAA,IAAI,EAAE,MAVoC;AAW1CC,UAAAA,QAAQ,EAAE,QAXgC;AAY1C3C,UAAAA,MAAM,EAAEsC,eAAe,CAACtC;AAZkB,SAA7B,CAAjB;AAcH,OAfD,CAgBA,OAAOl4J,CAAP,EAAU;AACN,YAAIt0B,KAAJ,EAAW;AACP,gBAAMA,KAAN;AACH;;AACD,aAAI,CAACqkH,OAAL,CAAa34H,GAAb,CAAiB24B,sDAAjB,EAAoC,4BAA2BiQ,CAAE,GAAjE;;AACA,cAAMA,CAAN;AACH,OAtBD,SAuBQ;AACJ,YAAIyR,SAAJ,EAAe;AACXI,UAAAA,YAAY,CAACJ,SAAD,CAAZ;AACH;;AACD,YAAIvd,OAAO,CAACwkK,WAAZ,EAAyB;AACrBxkK,UAAAA,OAAO,CAACwkK,WAAR,CAAoBT,OAApB,GAA8B,IAA9B;AACH;AACJ;;AACD,UAAI,CAACrgK,QAAQ,CAACsvG,EAAd,EAAkB;AACd,cAAMnvE,YAAY,SAAS+iI,kBAAkB,CAACljK,QAAD,EAAW,MAAX,CAA7C;AACA,cAAM,IAAIuhK,8CAAJ,CAAcphI,YAAY,IAAIngC,QAAQ,CAACuvG,UAAvC,EAAmDvvG,QAAQ,CAACngB,MAA5D,CAAN;AACH;;AACD,YAAM2hG,OAAO,GAAG0hF,kBAAkB,CAACljK,QAAD,EAAW1D,OAAO,CAAC2rJ,YAAnB,CAAlC;AACA,YAAMl8H,OAAO,SAASy1D,OAAtB;AACA,aAAO,IAAI0gF,qDAAJ,CAAiBliK,QAAQ,CAACngB,MAA1B,EAAkCmgB,QAAQ,CAACuvG,UAA3C,EAAuDxjF,OAAvD,CAAP;AArEgB;AAsEnB;;AACDg1I,EAAAA,eAAe,CAAClmL,GAAD,EAAM;AACjB,QAAIsoL,OAAO,GAAG,EAAd;;AACA,QAAI1C,mDAAA,IAAmB,KAAK+B,IAA5B,EAAkC;AAC9B;AACA,WAAKA,IAAL,CAAUY,UAAV,CAAqBvoL,GAArB,EAA0B,CAACutB,CAAD,EAAIgzI,CAAJ,KAAU+nB,OAAO,GAAG/nB,CAAC,CAAC5wK,IAAF,CAAO,IAAP,CAA9C;AACH;;AACD,WAAO24L,OAAP;AACH;;AA5G2C;;AA8GhD,SAASD,kBAAT,CAA4BljK,QAA5B,EAAsCioJ,YAAtC,EAAoD;AAChD,MAAIzmE,OAAJ;;AACA,UAAQymE,YAAR;AACI,SAAK,aAAL;AACIzmE,MAAAA,OAAO,GAAGxhF,QAAQ,CAACqjK,WAAT,EAAV;AACA;;AACJ,SAAK,MAAL;AACI7hF,MAAAA,OAAO,GAAGxhF,QAAQ,CAACwvG,IAAT,EAAV;AACA;;AACJ,SAAK,MAAL;AACA,SAAK,UAAL;AACA,SAAK,MAAL;AACI,YAAM,IAAI5kF,KAAJ,CAAW,GAAEq9H,YAAa,oBAA1B,CAAN;;AACJ;AACIzmE,MAAAA,OAAO,GAAGxhF,QAAQ,CAACwvG,IAAT,EAAV;AACA;AAbR;;AAeA,SAAOhuB,OAAP;AACH;;;;;;;;;;;;;;;;;ACtID;AACA;AACA;AACA;AACA;;AACO,MAAMgiF,iBAAN,CAAwB;AAC3B;AACAC,EAAAA,qBAAqB,CAACC,gBAAD,EAAmB;AACpC,WAAOJ,uEAAA,CAAwBhnL,IAAI,CAACI,SAAL,CAAegnL,gBAAf,CAAxB,CAAP;AACH;;AACDE,EAAAA,sBAAsB,CAACx+L,IAAD,EAAO;AACzB,QAAIy+L,WAAJ;AACA,QAAIC,aAAJ;;AACA,QAAIP,qDAAa,CAACn+L,IAAD,CAAjB,EAAyB;AACrB;AACA,YAAM2+L,UAAU,GAAG,IAAIpwI,UAAJ,CAAevuD,IAAf,CAAnB;AACA,YAAM4+L,cAAc,GAAGD,UAAU,CAACluL,OAAX,CAAmBytL,qFAAnB,CAAvB;;AACA,UAAIU,cAAc,KAAK,CAAC,CAAxB,EAA2B;AACvB,cAAM,IAAIp5I,KAAJ,CAAU,wBAAV,CAAN;AACH,OANoB,CAOrB;AACA;;;AACA,YAAMs5I,cAAc,GAAGF,cAAc,GAAG,CAAxC;AACAH,MAAAA,WAAW,GAAG1mI,MAAM,CAACC,YAAP,CAAoBl1B,KAApB,CAA0B,IAA1B,EAAgCtF,KAAK,CAAC8E,SAAN,CAAgByuE,KAAhB,CAAsBvvE,IAAtB,CAA2Bm9J,UAAU,CAAC5tF,KAAX,CAAiB,CAAjB,EAAoB+tF,cAApB,CAA3B,CAAhC,CAAd;AACAJ,MAAAA,aAAa,GAAIC,UAAU,CAACI,UAAX,GAAwBD,cAAzB,GAA2CH,UAAU,CAAC5tF,KAAX,CAAiB+tF,cAAjB,EAAiC5qI,MAA5E,GAAqF,IAArG;AACH,KAZD,MAaK;AACD,YAAM8qI,QAAQ,GAAGh/L,IAAjB;AACA,YAAM4+L,cAAc,GAAGI,QAAQ,CAACvuL,OAAT,CAAiBytL,iFAAjB,CAAvB;;AACA,UAAIU,cAAc,KAAK,CAAC,CAAxB,EAA2B;AACvB,cAAM,IAAIp5I,KAAJ,CAAU,wBAAV,CAAN;AACH,OALA,CAMD;AACA;;;AACA,YAAMs5I,cAAc,GAAGF,cAAc,GAAG,CAAxC;AACAH,MAAAA,WAAW,GAAGO,QAAQ,CAACn/I,SAAT,CAAmB,CAAnB,EAAsBi/I,cAAtB,CAAd;AACAJ,MAAAA,aAAa,GAAIM,QAAQ,CAACh6L,MAAT,GAAkB85L,cAAnB,GAAqCE,QAAQ,CAACn/I,SAAT,CAAmBi/I,cAAnB,CAArC,GAA0E,IAA1F;AACH,KA3BwB,CA4BzB;;;AACA,UAAMtgL,QAAQ,GAAG0/K,uEAAA,CAAwBO,WAAxB,CAAjB;AACA,UAAM7jK,QAAQ,GAAG1jB,IAAI,CAACC,KAAL,CAAWqH,QAAQ,CAAC,CAAD,CAAnB,CAAjB;;AACA,QAAIoc,QAAQ,CAACtrB,IAAb,EAAmB;AACf,YAAM,IAAIk2C,KAAJ,CAAU,gDAAV,CAAN;AACH;;AACD,UAAM05I,eAAe,GAAGtkK,QAAxB,CAlCyB,CAmCzB;AACA;;AACA,WAAO,CAAC8jK,aAAD,EAAgBQ,eAAhB,CAAP;AACH;;AA3C0B;;;;;;;;;;;;;;;ACL/B;AACA;AACO,IAAM3uG,WAAb;AAAO,QAAMA,WAAN,CAAkB;;AAEzBA,EAAAA,WAAW,CAAC4uG,aAAZ,GAA4B,eAA5B;AACA5uG,EAAAA,WAAW,CAAC6uG,MAAZ,GAAqB,QAArB;AAHA,SAAa7uG,WAAb;AAAA;;;;;;;;;;;;;;;;ACFA;AACA;;AACA;AACO,MAAMusG,YAAN,CAAmB;AACtBhlM,EAAAA,WAAW,CAACkwI,UAAD,EAAamC,UAAb,EAAyB/tB,OAAzB,EAAkC;AACzC,SAAK4rB,UAAL,GAAkBA,UAAlB;AACA,SAAKmC,UAAL,GAAkBA,UAAlB;AACA,SAAK/tB,OAAL,GAAeA,OAAf;AACH;;AALqB;AAO1B;AACA;AACA;AACA;;AACO,MAAM9gH,UAAN,CAAiB;AACpBxC,EAAAA,GAAG,CAAC2c,GAAD,EAAMsQ,OAAN,EAAe;AACd,WAAO,KAAKgwD,IAAL,CAAU,EACb,GAAGhwD,OADU;AAEb6W,MAAAA,MAAM,EAAE,KAFK;AAGbnnB,MAAAA;AAHa,KAAV,CAAP;AAKH;;AACDtC,EAAAA,IAAI,CAACsC,GAAD,EAAMsQ,OAAN,EAAe;AACf,WAAO,KAAKgwD,IAAL,CAAU,EACb,GAAGhwD,OADU;AAEb6W,MAAAA,MAAM,EAAE,MAFK;AAGbnnB,MAAAA;AAHa,KAAV,CAAP;AAKH;;AACDw3B,EAAAA,MAAM,CAACx3B,GAAD,EAAMsQ,OAAN,EAAe;AACjB,WAAO,KAAKgwD,IAAL,CAAU,EACb,GAAGhwD,OADU;AAEb6W,MAAAA,MAAM,EAAE,QAFK;AAGbnnB,MAAAA;AAHa,KAAV,CAAP;AAKH;AACD;AACJ;AACA;AACA;AACA;AACI;;;AACAkmL,EAAAA,eAAe,CAAClmL,GAAD,EAAM;AACjB,WAAO,EAAP;AACH;;AA9BmB;;;;;;;;;;;;;;;;;;;;;;;;;;;ACdxB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAMoqL,aAAa,GAAG,GAAtB;AACA;;AACO,MAAMC,cAAN,CAAqB;AACxBhoM,EAAAA,WAAW,CAAC2d,GAAD,EAAMsQ,OAAO,GAAG,EAAhB,EAAoB;AAC3B,SAAKg6K,oBAAL,GAA4B,MAAM,CAAG,CAArC;;AACA,SAAKxlM,QAAL,GAAgB,EAAhB;AACA,SAAKylM,iBAAL,GAAyB,CAAzB;AACAP,IAAAA,kDAAA,CAAehqL,GAAf,EAAoB,KAApB;AACA,SAAKs9G,OAAL,GAAe2sE,oDAAY,CAAC35K,OAAO,CAACiS,MAAT,CAA3B;AACA,SAAKiC,OAAL,GAAe,KAAKgmK,WAAL,CAAiBxqL,GAAjB,CAAf;AACAsQ,IAAAA,OAAO,GAAGA,OAAO,IAAI,EAArB;AACAA,IAAAA,OAAO,CAACm6K,iBAAR,GAA4Bn6K,OAAO,CAACm6K,iBAAR,KAA8Bx1J,SAA9B,GAA0C,KAA1C,GAAkD3kB,OAAO,CAACm6K,iBAAtF;;AACA,QAAI,OAAOn6K,OAAO,CAAC43K,eAAf,KAAmC,SAAnC,IAAgD53K,OAAO,CAAC43K,eAAR,KAA4BjzJ,SAAhF,EAA2F;AACvF3kB,MAAAA,OAAO,CAAC43K,eAAR,GAA0B53K,OAAO,CAAC43K,eAAR,KAA4BjzJ,SAA5B,GAAwC,IAAxC,GAA+C3kB,OAAO,CAAC43K,eAAjF;AACH,KAFD,MAGK;AACD,YAAM,IAAIn4I,KAAJ,CAAU,iEAAV,CAAN;AACH;;AACDz/B,IAAAA,OAAO,CAACy9C,OAAR,GAAkBz9C,OAAO,CAACy9C,OAAR,KAAoB94B,SAApB,GAAgC,MAAM,IAAtC,GAA6C3kB,OAAO,CAACy9C,OAAvE;AACA,QAAI28H,eAAe,GAAG,IAAtB;AACA,QAAIC,iBAAiB,GAAG,IAAxB;;AACA,QAAI/E,mDAAA,IAAmB,eAAmB,WAA1C,EAAuD;AACnD;AACA;AACA,YAAM2B,WAAW,GAAG,QAA4CE,OAA5C,GAAsEC,CAA1F;AACAgD,MAAAA,eAAe,GAAGnD,WAAW,CAAC,IAAD,CAA7B;AACAoD,MAAAA,iBAAiB,GAAGpD,WAAW,CAAC,aAAD,CAA/B;AACH;;AACD,QAAI,CAAC3B,mDAAD,IAAoB,OAAOgF,SAAP,KAAqB,WAAzC,IAAwD,CAACt6K,OAAO,CAACs6K,SAArE,EAAgF;AAC5Et6K,MAAAA,OAAO,CAACs6K,SAAR,GAAoBA,SAApB;AACH,KAFD,MAGK,IAAIhF,mDAAA,IAAmB,CAACt1K,OAAO,CAACs6K,SAAhC,EAA2C;AAC5C,UAAIF,eAAJ,EAAqB;AACjBp6K,QAAAA,OAAO,CAACs6K,SAAR,GAAoBF,eAApB;AACH;AACJ;;AACD,QAAI,CAAC9E,mDAAD,IAAoB,OAAOiF,WAAP,KAAuB,WAA3C,IAA0D,CAACv6K,OAAO,CAACu6K,WAAvE,EAAoF;AAChFv6K,MAAAA,OAAO,CAACu6K,WAAR,GAAsBA,WAAtB;AACH,KAFD,MAGK,IAAIjF,mDAAA,IAAmB,CAACt1K,OAAO,CAACu6K,WAAhC,EAA6C;AAC9C,UAAI,OAAOF,iBAAP,KAA6B,WAAjC,EAA8C;AAC1Cr6K,QAAAA,OAAO,CAACu6K,WAAR,GAAsBF,iBAAtB;AACH;AACJ;;AACD,SAAK3E,WAAL,GAAmB11K,OAAO,CAACw6K,UAAR,IAAsB,IAAIhF,iEAAJ,CAAsB,KAAKxoE,OAA3B,CAAzC;AACA,SAAKytE,gBAAL,GAAwB;AAAe;AAAvC;AACA,SAAKC,kBAAL,GAA0B,KAA1B;AACA,SAAKC,QAAL,GAAgB36K,OAAhB;AACA,SAAK46K,SAAL,GAAiB,IAAjB;AACA,SAAKC,OAAL,GAAe,IAAf;AACH;;AACK9hF,EAAAA,KAAK,CAAC+hF,cAAD,EAAiB;AAAA;;AAAA;AACxBA,MAAAA,cAAc,GAAGA,cAAc,IAAIvB,8DAAnC;AACAG,MAAAA,4CAAA,CAASoB,cAAT,EAAyBvB,uDAAzB,EAAyC,gBAAzC;;AACA,WAAI,CAACvsE,OAAL,CAAa34H,GAAb,CAAiB24B,oDAAjB,EAAkC,6CAA4CusK,uDAAc,CAACuB,cAAD,CAAiB,IAA7G;;AACA,UAAI,KAAI,CAACL,gBAAL,KAA0B;AAAe;AAA7C,QAAiE;AAC7D,eAAO3+J,OAAO,CAAC2B,MAAR,CAAe,IAAIgiB,KAAJ,CAAU,yEAAV,CAAf,CAAP;AACH;;AACD,WAAI,CAACg7I,gBAAL,GAAwB;AAAa;AAArC;AACA,WAAI,CAACS,qBAAL,GAA6B,KAAI,CAACC,cAAL,CAAoBL,cAApB,CAA7B;AACA,YAAM,KAAI,CAACI,qBAAX,CATwB,CAUxB;;AACA,UAAI,KAAI,CAACT,gBAAL,KAA0B;AAAgB;AAA9C,QAAmE;AAC/D;AACA,cAAMtmM,OAAO,GAAG,8DAAhB;;AACA,aAAI,CAAC64H,OAAL,CAAa34H,GAAb,CAAiB24B,oDAAjB,EAAiC74B,OAAjC,EAH+D,CAI/D;;;AACA,cAAM,KAAI,CAACinM,YAAX;AACA,eAAOt/J,OAAO,CAAC2B,MAAR,CAAe,IAAIgiB,KAAJ,CAAUtrD,OAAV,CAAf,CAAP;AACH,OAPD,MAQK,IAAI,KAAI,CAACsmM,gBAAL,KAA0B;AAAY;AAA1C,QAA2D;AAC5D;AACA,cAAMtmM,OAAO,GAAG,6GAAhB;;AACA,aAAI,CAAC64H,OAAL,CAAa34H,GAAb,CAAiB24B,oDAAjB,EAAiC74B,OAAjC;;AACA,eAAO2nC,OAAO,CAAC2B,MAAR,CAAe,IAAIgiB,KAAJ,CAAUtrD,OAAV,CAAf,CAAP;AACH;;AACD,WAAI,CAACumM,kBAAL,GAA0B,IAA1B;AAzBwB;AA0B3B;;AACD1qH,EAAAA,IAAI,CAAC/1E,IAAD,EAAO;AACP,QAAI,KAAKwgM,gBAAL,KAA0B;AAAY;AAA1C,MAA2D;AACvD,aAAO3+J,OAAO,CAAC2B,MAAR,CAAe,IAAIgiB,KAAJ,CAAU,qEAAV,CAAf,CAAP;AACH;;AACD,QAAI,CAAC,KAAK47I,UAAV,EAAsB;AAClB,WAAKA,UAAL,GAAkB,IAAIC,kBAAJ,CAAuB,KAAK7E,SAA5B,CAAlB;AACH,KANM,CAOP;;;AACA,WAAO,KAAK4E,UAAL,CAAgBrrH,IAAhB,CAAqB/1E,IAArB,CAAP;AACH;;AACKy9G,EAAAA,IAAI,CAAC/uG,KAAD,EAAQ;AAAA;;AAAA;AACd,UAAI,MAAI,CAAC8xL,gBAAL,KAA0B;AAAe;AAA7C,QAAiE;AAC7D,cAAI,CAACztE,OAAL,CAAa34H,GAAb,CAAiB24B,oDAAjB,EAAkC,+BAA8BrkB,KAAM,wEAAtE;;AACA,eAAOmzB,OAAO,CAACC,OAAR,EAAP;AACH;;AACD,UAAI,MAAI,CAAC0+J,gBAAL,KAA0B;AAAgB;AAA9C,QAAmE;AAC/D,cAAI,CAACztE,OAAL,CAAa34H,GAAb,CAAiB24B,oDAAjB,EAAkC,+BAA8BrkB,KAAM,yEAAtE;;AACA,eAAO,MAAI,CAACyyL,YAAZ;AACH;;AACD,YAAI,CAACX,gBAAL,GAAwB;AAAgB;AAAxC;AACA,YAAI,CAACW,YAAL,GAAoB,IAAIt/J,OAAJ,CAAaC,OAAD,IAAa;AACzC;AACA,cAAI,CAACi+J,oBAAL,GAA4Bj+J,OAA5B;AACH,OAHmB,CAApB,CAVc,CAcd;;AACA,YAAM,MAAI,CAACw/J,aAAL,CAAmB5yL,KAAnB,CAAN;AACA,YAAM,MAAI,CAACyyL,YAAX;AAhBc;AAiBjB;;AACKG,EAAAA,aAAa,CAAC5yL,KAAD,EAAQ;AAAA;;AAAA;AACvB;AACA;AACA;AACA,YAAI,CAAC6yL,UAAL,GAAkB7yL,KAAlB;;AACA,UAAI;AACA,cAAM,MAAI,CAACuyL,qBAAX;AACH,OAFD,CAGA,OAAOj+J,CAAP,EAAU,CACN;AACH,OAVsB,CAWvB;AACA;AACA;;;AACA,UAAI,MAAI,CAACw5J,SAAT,EAAoB;AAChB,YAAI;AACA,gBAAM,MAAI,CAACA,SAAL,CAAe/+E,IAAf,EAAN;AACH,SAFD,CAGA,OAAOz6E,CAAP,EAAU;AACN,gBAAI,CAAC+vF,OAAL,CAAa34H,GAAb,CAAiB24B,oDAAjB,EAAkC,gDAA+CiQ,CAAE,IAAnF;;AACA,gBAAI,CAACw+J,eAAL;AACH;;AACD,cAAI,CAAChF,SAAL,GAAiB9xJ,SAAjB;AACH,OATD,MAUK;AACD,cAAI,CAACqoF,OAAL,CAAa34H,GAAb,CAAiB24B,oDAAjB,EAAiC,wFAAjC;AACH;AA1BsB;AA2B1B;;AACKmuK,EAAAA,cAAc,CAACL,cAAD,EAAiB;AAAA;;AAAA;AACjC;AACA;AACA,UAAIprL,GAAG,GAAG,MAAI,CAACwkB,OAAf;AACA,YAAI,CAACwnK,mBAAL,GAA2B,MAAI,CAACf,QAAL,CAAcgB,kBAAzC;;AACA,UAAI;AACA,YAAI,MAAI,CAAChB,QAAL,CAAciB,eAAlB,EAAmC;AAC/B,cAAI,MAAI,CAACjB,QAAL,CAAclE,SAAd,KAA4B6C,qEAAhC,EAA8D;AAC1D;AACA,kBAAI,CAAC7C,SAAL,GAAiB,MAAI,CAACqF,mBAAL,CAAyBxC,qEAAzB,CAAjB,CAF0D,CAG1D;AACA;;AACA,kBAAM,MAAI,CAACyC,eAAL,CAAqBrsL,GAArB,EAA0BorL,cAA1B,CAAN;AACH,WAND,MAOK;AACD,kBAAM,IAAIr7I,KAAJ,CAAU,8EAAV,CAAN;AACH;AACJ,SAXD,MAYK;AACD,cAAIu8I,iBAAiB,GAAG,IAAxB;AACA,cAAIC,SAAS,GAAG,CAAhB;;AACA,aAAG;AACCD,YAAAA,iBAAiB,SAAS,MAAI,CAACE,uBAAL,CAA6BxsL,GAA7B,CAA1B,CADD,CAEC;;AACA,gBAAI,MAAI,CAAC+qL,gBAAL,KAA0B;AAAgB;AAA1C,eAAiE,MAAI,CAACA,gBAAL,KAA0B;AAAe;AAA9G,cAAkI;AAC9H,oBAAM,IAAIh7I,KAAJ,CAAU,gDAAV,CAAN;AACH;;AACD,gBAAIu8I,iBAAiB,CAACrzL,KAAtB,EAA6B;AACzB,oBAAM,IAAI82C,KAAJ,CAAUu8I,iBAAiB,CAACrzL,KAA5B,CAAN;AACH;;AACD,gBAAIqzL,iBAAiB,CAACG,eAAtB,EAAuC;AACnC,oBAAM,IAAI18I,KAAJ,CAAU,8LAAV,CAAN;AACH;;AACD,gBAAIu8I,iBAAiB,CAACtsL,GAAtB,EAA2B;AACvBA,cAAAA,GAAG,GAAGssL,iBAAiB,CAACtsL,GAAxB;AACH;;AACD,gBAAIssL,iBAAiB,CAAC9kK,WAAtB,EAAmC;AAC/B;AACA;AACA,oBAAMA,WAAW,GAAG8kK,iBAAiB,CAAC9kK,WAAtC;;AACA,oBAAI,CAACwkK,mBAAL,GAA2B,MAAMxkK,WAAjC;AACH;;AACD+kK,YAAAA,SAAS;AACZ,WAtBD,QAsBSD,iBAAiB,CAACtsL,GAAlB,IAAyBusL,SAAS,GAAGnC,aAtB9C;;AAuBA,cAAImC,SAAS,KAAKnC,aAAd,IAA+BkC,iBAAiB,CAACtsL,GAArD,EAA0D;AACtD,kBAAM,IAAI+vC,KAAJ,CAAU,uCAAV,CAAN;AACH;;AACD,gBAAM,MAAI,CAAC28I,gBAAL,CAAsB1sL,GAAtB,EAA2B,MAAI,CAACirL,QAAL,CAAclE,SAAzC,EAAoDuF,iBAApD,EAAuElB,cAAvE,CAAN;AACH;;AACD,YAAI,MAAI,CAACrE,SAAL,YAA0B+C,uEAA9B,EAAoD;AAChD,gBAAI,CAAChlM,QAAL,CAAc6nM,iBAAd,GAAkC,IAAlC;AACH;;AACD,YAAI,MAAI,CAAC5B,gBAAL,KAA0B;AAAa;AAA3C,UAA6D;AACzD;AACA;AACA,gBAAI,CAACztE,OAAL,CAAa34H,GAAb,CAAiB24B,oDAAjB,EAAiC,4CAAjC;;AACA,gBAAI,CAACytK,gBAAL,GAAwB;AAAY;AAApC;AACH,SApDD,CAqDA;AACA;AACA;;AACH,OAxDD,CAyDA,OAAOx9J,CAAP,EAAU;AACN,cAAI,CAAC+vF,OAAL,CAAa34H,GAAb,CAAiB24B,oDAAjB,EAAiC,qCAAqCiQ,CAAtE;;AACA,cAAI,CAACw9J,gBAAL,GAAwB;AAAe;AAAvC;AACA,cAAI,CAAChE,SAAL,GAAiB9xJ,SAAjB,CAHM,CAIN;;AACA,cAAI,CAACq1J,oBAAL;;AACA,eAAOl+J,OAAO,CAAC2B,MAAR,CAAeR,CAAf,CAAP;AACH;AArEgC;AAsEpC;;AACKi/J,EAAAA,uBAAuB,CAACxsL,GAAD,EAAM;AAAA;;AAAA;AAC/B,YAAMynB,OAAO,GAAG,EAAhB;;AACA,UAAI,MAAI,CAACukK,mBAAT,EAA8B;AAC1B,cAAMhpK,KAAK,SAAS,MAAI,CAACgpK,mBAAL,EAApB;;AACA,YAAIhpK,KAAJ,EAAW;AACPyE,UAAAA,OAAO,CAACqzD,mEAAD,CAAP,GAAsC,UAAS93D,KAAM,EAArD;AACH;AACJ;;AACD,YAAM,CAAC5vB,IAAD,EAAOU,KAAP,IAAgBo2L,0DAAkB,EAAxC;AACAziK,MAAAA,OAAO,CAACr0B,IAAD,CAAP,GAAgBU,KAAhB;;AACA,YAAM84L,YAAY,GAAG,MAAI,CAACC,oBAAL,CAA0B7sL,GAA1B,CAArB;;AACA,YAAI,CAACs9G,OAAL,CAAa34H,GAAb,CAAiB24B,oDAAjB,EAAkC,gCAA+BsvK,YAAa,GAA9E;;AACA,UAAI;AACA,cAAMznK,QAAQ,SAAS,MAAI,CAAC6gK,WAAL,CAAiBtoL,IAAjB,CAAsBkvL,YAAtB,EAAoC;AACvDjmF,UAAAA,OAAO,EAAE,EAD8C;AAEvDl/E,UAAAA,OAAO,EAAE,EAAE,GAAGA,OAAL;AAAc,eAAG,MAAI,CAACwjK,QAAL,CAAcxjK;AAA/B,WAF8C;AAGvDsmC,UAAAA,OAAO,EAAE,MAAI,CAACk9H,QAAL,CAAcl9H,OAHgC;AAIvDm6H,UAAAA,eAAe,EAAE,MAAI,CAAC+C,QAAL,CAAc/C;AAJwB,SAApC,CAAvB;;AAMA,YAAI/iK,QAAQ,CAACotG,UAAT,KAAwB,GAA5B,EAAiC;AAC7B,iBAAOnmG,OAAO,CAAC2B,MAAR,CAAe,IAAIgiB,KAAJ,CAAW,mDAAkD5qB,QAAQ,CAACotG,UAAW,GAAjF,CAAf,CAAP;AACH;;AACD,cAAM+5D,iBAAiB,GAAG7qL,IAAI,CAACC,KAAL,CAAWyjB,QAAQ,CAACwhF,OAApB,CAA1B;;AACA,YAAI,CAAC2lF,iBAAiB,CAACQ,gBAAnB,IAAuCR,iBAAiB,CAACQ,gBAAlB,GAAqC,CAAhF,EAAmF;AAC/E;AACA;AACAR,UAAAA,iBAAiB,CAACS,eAAlB,GAAoCT,iBAAiB,CAACnoL,YAAtD;AACH;;AACD,eAAOmoL,iBAAP;AACH,OAjBD,CAkBA,OAAO/+J,CAAP,EAAU;AACN,YAAI+3B,YAAY,GAAG,qDAAqD/3B,CAAxE;;AACA,YAAIA,CAAC,YAAYm5J,8CAAjB,EAA4B;AACxB,cAAIn5J,CAAC,CAACglG,UAAF,KAAiB,GAArB,EAA0B;AACtBjtE,YAAAA,YAAY,GAAGA,YAAY,GAAG,qFAA9B;AACH;AACJ;;AACD,cAAI,CAACg4D,OAAL,CAAa34H,GAAb,CAAiB24B,oDAAjB,EAAiCgoC,YAAjC;;AACA,eAAOl5B,OAAO,CAAC2B,MAAR,CAAe,IAAIm5J,qEAAJ,CAAqC5hI,YAArC,CAAf,CAAP;AACH;AAvC8B;AAwClC;;AACD0nI,EAAAA,iBAAiB,CAAChtL,GAAD,EAAM+sL,eAAN,EAAuB;AACpC,QAAI,CAACA,eAAL,EAAsB;AAClB,aAAO/sL,GAAP;AACH;;AACD,WAAOA,GAAG,IAAIA,GAAG,CAAChF,OAAJ,CAAY,GAAZ,MAAqB,CAAC,CAAtB,GAA0B,GAA1B,GAAgC,GAApC,CAAH,GAA+C,MAAK+xL,eAAgB,EAA3E;AACH;;AACKL,EAAAA,gBAAgB,CAAC1sL,GAAD,EAAMitL,kBAAN,EAA0BX,iBAA1B,EAA6CY,uBAA7C,EAAsE;AAAA;;AAAA;AACxF,UAAIC,UAAU,GAAG,MAAI,CAACH,iBAAL,CAAuBhtL,GAAvB,EAA4BssL,iBAAiB,CAACS,eAA9C,CAAjB;;AACA,UAAI,MAAI,CAACK,aAAL,CAAmBH,kBAAnB,CAAJ,EAA4C;AACxC,cAAI,CAAC3vE,OAAL,CAAa34H,GAAb,CAAiB24B,oDAAjB,EAAiC,yEAAjC;;AACA,cAAI,CAACypK,SAAL,GAAiBkG,kBAAjB;AACA,cAAM,MAAI,CAACZ,eAAL,CAAqBc,UAArB,EAAiCD,uBAAjC,CAAN;AACA,cAAI,CAAC/oL,YAAL,GAAoBmoL,iBAAiB,CAACnoL,YAAtC;AACA;AACH;;AACD,YAAMkpL,mBAAmB,GAAG,EAA5B;AACA,YAAMC,UAAU,GAAGhB,iBAAiB,CAACiB,mBAAlB,IAAyC,EAA5D;AACA,UAAIC,SAAS,GAAGlB,iBAAhB;;AACA,WAAK,MAAMn6K,QAAX,IAAuBm7K,UAAvB,EAAmC;AAC/B,cAAMG,gBAAgB,GAAG,MAAI,CAACC,wBAAL,CAA8Bv7K,QAA9B,EAAwC86K,kBAAxC,EAA4DC,uBAA5D,CAAzB;;AACA,YAAIO,gBAAgB,YAAY19I,KAAhC,EAAuC;AACnC;AACAs9I,UAAAA,mBAAmB,CAACxkK,IAApB,CAA0B,GAAE1W,QAAQ,CAAC40K,SAAU,UAA/C;AACAsG,UAAAA,mBAAmB,CAACxkK,IAApB,CAAyB4kK,gBAAzB;AACH,SAJD,MAKK,IAAI,MAAI,CAACL,aAAL,CAAmBK,gBAAnB,CAAJ,EAA0C;AAC3C,gBAAI,CAAC1G,SAAL,GAAiB0G,gBAAjB;;AACA,cAAI,CAACD,SAAL,EAAgB;AACZ,gBAAI;AACAA,cAAAA,SAAS,SAAS,MAAI,CAAChB,uBAAL,CAA6BxsL,GAA7B,CAAlB;AACH,aAFD,CAGA,OAAO8mI,EAAP,EAAW;AACP,qBAAO16G,OAAO,CAAC2B,MAAR,CAAe+4G,EAAf,CAAP;AACH;;AACDqmD,YAAAA,UAAU,GAAG,MAAI,CAACH,iBAAL,CAAuBhtL,GAAvB,EAA4BwtL,SAAS,CAACT,eAAtC,CAAb;AACH;;AACD,cAAI;AACA,kBAAM,MAAI,CAACV,eAAL,CAAqBc,UAArB,EAAiCD,uBAAjC,CAAN;AACA,kBAAI,CAAC/oL,YAAL,GAAoBqpL,SAAS,CAACrpL,YAA9B;AACA;AACH,WAJD,CAKA,OAAO2iI,EAAP,EAAW;AACP,kBAAI,CAACxpB,OAAL,CAAa34H,GAAb,CAAiB24B,oDAAjB,EAAkC,kCAAiCnL,QAAQ,CAAC40K,SAAU,MAAKjgD,EAAG,EAA9F;;AACA0mD,YAAAA,SAAS,GAAGv4J,SAAZ;AACAo4J,YAAAA,mBAAmB,CAACxkK,IAApB,CAAyB,IAAIo+J,gEAAJ,CAAiC,GAAE90K,QAAQ,CAAC40K,SAAU,YAAWjgD,EAAG,EAApE,EAAuE8iD,0DAAiB,CAACz3K,QAAQ,CAAC40K,SAAV,CAAxF,CAAzB;;AACA,gBAAI,MAAI,CAACgE,gBAAL,KAA0B;AAAa;AAA3C,cAA6D;AACzD,oBAAMtmM,OAAO,GAAG,sDAAhB;;AACA,oBAAI,CAAC64H,OAAL,CAAa34H,GAAb,CAAiB24B,oDAAjB,EAAiC74B,OAAjC;;AACA,qBAAO2nC,OAAO,CAAC2B,MAAR,CAAe,IAAIgiB,KAAJ,CAAUtrD,OAAV,CAAf,CAAP;AACH;AACJ;AACJ;AACJ;;AACD,UAAI4oM,mBAAmB,CAAC99L,MAApB,GAA6B,CAAjC,EAAoC;AAChC,eAAO68B,OAAO,CAAC2B,MAAR,CAAe,IAAIo5J,oDAAJ,CAAqB,yEAAwEkG,mBAAmB,CAAC19L,IAApB,CAAyB,GAAzB,CAA8B,EAA3H,EAA8H09L,mBAA9H,CAAf,CAAP;AACH;;AACD,aAAOjhK,OAAO,CAAC2B,MAAR,CAAe,IAAIgiB,KAAJ,CAAU,6EAAV,CAAf,CAAP;AAlDwF;AAmD3F;;AACDq8I,EAAAA,mBAAmB,CAACrF,SAAD,EAAY;AAC3B,YAAQA,SAAR;AACI,WAAK6C,qEAAL;AACI,YAAI,CAAC,KAAKqB,QAAL,CAAcL,SAAnB,EAA8B;AAC1B,gBAAM,IAAI76I,KAAJ,CAAU,mDAAV,CAAN;AACH;;AACD,eAAO,IAAIo6I,mEAAJ,CAAuB,KAAKnE,WAA5B,EAAyC,KAAKgG,mBAA9C,EAAmE,KAAK1uE,OAAxE,EAAiF,KAAK2tE,QAAL,CAAcR,iBAA/F,EAAkH,KAAKQ,QAAL,CAAcL,SAAhI,EAA2I,KAAKK,QAAL,CAAcxjK,OAAd,IAAyB,EAApK,CAAP;;AACJ,WAAKmiK,2EAAL;AACI,YAAI,CAAC,KAAKqB,QAAL,CAAcJ,WAAnB,EAAgC;AAC5B,gBAAM,IAAI96I,KAAJ,CAAU,qDAAV,CAAN;AACH;;AACD,eAAO,IAAIg6I,iFAAJ,CAA8B,KAAK/D,WAAnC,EAAgD,KAAKgG,mBAArD,EAA0E,KAAK1uE,OAA/E,EAAwF,KAAK2tE,QAA7F,CAAP;;AACJ,WAAKrB,sEAAL;AACI,eAAO,IAAIE,uEAAJ,CAAyB,KAAK9D,WAA9B,EAA2C,KAAKgG,mBAAhD,EAAqE,KAAK1uE,OAA1E,EAAmF,KAAK2tE,QAAxF,CAAP;;AACJ;AACI,cAAM,IAAIl7I,KAAJ,CAAW,sBAAqBg3I,SAAU,GAA1C,CAAN;AAdR;AAgBH;;AACDsF,EAAAA,eAAe,CAACrsL,GAAD,EAAMorL,cAAN,EAAsB;AACjC,SAAKrE,SAAL,CAAemE,SAAf,GAA2B,KAAKA,SAAhC;;AACA,SAAKnE,SAAL,CAAeoE,OAAf,GAA0B59J,CAAD,IAAO,KAAKw+J,eAAL,CAAqBx+J,CAArB,CAAhC;;AACA,WAAO,KAAKw5J,SAAL,CAAe8G,OAAf,CAAuB7tL,GAAvB,EAA4BorL,cAA5B,CAAP;AACH;;AACDsC,EAAAA,wBAAwB,CAACv7K,QAAD,EAAW86K,kBAAX,EAA+BC,uBAA/B,EAAwD;AAC5E,UAAMnG,SAAS,GAAG6C,0DAAiB,CAACz3K,QAAQ,CAAC40K,SAAV,CAAnC;;AACA,QAAIA,SAAS,KAAK,IAAd,IAAsBA,SAAS,KAAK9xJ,SAAxC,EAAmD;AAC/C,WAAKqoF,OAAL,CAAa34H,GAAb,CAAiB24B,oDAAjB,EAAkC,uBAAsBnL,QAAQ,CAAC40K,SAAU,+CAA3E;;AACA,aAAO,IAAIh3I,KAAJ,CAAW,uBAAsB59B,QAAQ,CAAC40K,SAAU,+CAApD,CAAP;AACH,KAHD,MAIK;AACD,UAAI+G,gBAAgB,CAACb,kBAAD,EAAqBlG,SAArB,CAApB,EAAqD;AACjD,cAAMgH,eAAe,GAAG57K,QAAQ,CAAC47K,eAAT,CAAyB3hM,GAAzB,CAA8B8gC,CAAD,IAAO28J,uDAAc,CAAC38J,CAAD,CAAlD,CAAxB;;AACA,YAAI6gK,eAAe,CAAC/yL,OAAhB,CAAwBkyL,uBAAxB,KAAoD,CAAxD,EAA2D;AACvD,cAAKnG,SAAS,KAAK6C,qEAAd,IAA8C,CAAC,KAAKqB,QAAL,CAAcL,SAA9D,IACC7D,SAAS,KAAK6C,2EAAd,IAAoD,CAAC,KAAKqB,QAAL,CAAcJ,WADxE,EACsF;AAClF,iBAAKvtE,OAAL,CAAa34H,GAAb,CAAiB24B,oDAAjB,EAAkC,uBAAsBssK,0DAAiB,CAAC7C,SAAD,CAAY,qDAArF;;AACA,mBAAO,IAAID,8DAAJ,CAA+B,IAAG8C,0DAAiB,CAAC7C,SAAD,CAAY,yCAA/D,EAAyGA,SAAzG,CAAP;AACH,WAJD,MAKK;AACD,iBAAKzpE,OAAL,CAAa34H,GAAb,CAAiB24B,oDAAjB,EAAkC,wBAAuBssK,0DAAiB,CAAC7C,SAAD,CAAY,IAAtF;;AACA,gBAAI;AACA,qBAAO,KAAKqF,mBAAL,CAAyBrF,SAAzB,CAAP;AACH,aAFD,CAGA,OAAOjgD,EAAP,EAAW;AACP,qBAAOA,EAAP;AACH;AACJ;AACJ,SAfD,MAgBK;AACD,eAAKxpB,OAAL,CAAa34H,GAAb,CAAiB24B,oDAAjB,EAAkC,uBAAsBssK,0DAAiB,CAAC7C,SAAD,CAAY,gEAA+D8C,uDAAc,CAACqD,uBAAD,CAA0B,IAA5L;;AACA,iBAAO,IAAIn9I,KAAJ,CAAW,IAAG65I,0DAAiB,CAAC7C,SAAD,CAAY,sBAAqB8C,uDAAc,CAACqD,uBAAD,CAA0B,GAAxG,CAAP;AACH;AACJ,OAtBD,MAuBK;AACD,aAAK5vE,OAAL,CAAa34H,GAAb,CAAiB24B,oDAAjB,EAAkC,uBAAsBssK,0DAAiB,CAAC7C,SAAD,CAAY,0CAArF;;AACA,eAAO,IAAIC,2DAAJ,CAA4B,IAAG4C,0DAAiB,CAAC7C,SAAD,CAAY,8BAA5D,EAA2FA,SAA3F,CAAP;AACH;AACJ;AACJ;;AACDqG,EAAAA,aAAa,CAACrG,SAAD,EAAY;AACrB,WAAOA,SAAS,IAAI,OAAQA,SAAR,KAAuB,QAApC,IAAgD,aAAaA,SAApE;AACH;;AACDgF,EAAAA,eAAe,CAAC9yL,KAAD,EAAQ;AACnB,SAAKqkH,OAAL,CAAa34H,GAAb,CAAiB24B,oDAAjB,EAAkC,iCAAgCrkB,KAAM,2BAA0B,KAAK8xL,gBAAiB,GAAxH;;AACA,SAAKhE,SAAL,GAAiB9xJ,SAAjB,CAFmB,CAGnB;;AACAh8B,IAAAA,KAAK,GAAG,KAAK6yL,UAAL,IAAmB7yL,KAA3B;AACA,SAAK6yL,UAAL,GAAkB72J,SAAlB;;AACA,QAAI,KAAK81J,gBAAL,KAA0B;AAAe;AAA7C,MAAiE;AAC7D,WAAKztE,OAAL,CAAa34H,GAAb,CAAiB24B,oDAAjB,EAAkC,yCAAwCrkB,KAAM,4EAAhF;;AACA;AACH;;AACD,QAAI,KAAK8xL,gBAAL,KAA0B;AAAa;AAA3C,MAA6D;AACzD,WAAKztE,OAAL,CAAa34H,GAAb,CAAiB24B,sDAAjB,EAAoC,yCAAwCrkB,KAAM,wEAAlF;;AACA,YAAM,IAAI82C,KAAJ,CAAW,iCAAgC92C,KAAM,qEAAjD,CAAN;AACH;;AACD,QAAI,KAAK8xL,gBAAL,KAA0B;AAAgB;AAA9C,MAAmE;AAC/D;AACA;AACA,WAAKT,oBAAL;AACH;;AACD,QAAIrxL,KAAJ,EAAW;AACP,WAAKqkH,OAAL,CAAa34H,GAAb,CAAiB24B,oDAAjB,EAAkC,uCAAsCrkB,KAAM,IAA9E;AACH,KAFD,MAGK;AACD,WAAKqkH,OAAL,CAAa34H,GAAb,CAAiB24B,0DAAjB,EAAuC,0BAAvC;AACH;;AACD,QAAI,KAAKquK,UAAT,EAAqB;AACjB,WAAKA,UAAL,CAAgB3jF,IAAhB,GAAuBlpF,KAAvB,CAA8ByO,CAAD,IAAO;AAChC,aAAK+vF,OAAL,CAAa34H,GAAb,CAAiB24B,oDAAjB,EAAkC,0CAAyCiQ,CAAE,IAA7E;AACH,OAFD;;AAGA,WAAKo+J,UAAL,GAAkB12J,SAAlB;AACH;;AACD,SAAK9wB,YAAL,GAAoB8wB,SAApB;AACA,SAAK81J,gBAAL,GAAwB;AAAe;AAAvC;;AACA,QAAI,KAAKC,kBAAT,EAA6B;AACzB,WAAKA,kBAAL,GAA0B,KAA1B;;AACA,UAAI;AACA,YAAI,KAAKG,OAAT,EAAkB;AACd,eAAKA,OAAL,CAAalyL,KAAb;AACH;AACJ,OAJD,CAKA,OAAOs0B,CAAP,EAAU;AACN,aAAK+vF,OAAL,CAAa34H,GAAb,CAAiB24B,oDAAjB,EAAkC,0BAAyBrkB,KAAM,kBAAiBs0B,CAAE,IAApF;AACH;AACJ;AACJ;;AACDi9J,EAAAA,WAAW,CAACxqL,GAAD,EAAM;AACb;AACA,QAAIA,GAAG,CAAC0mB,WAAJ,CAAgB,UAAhB,EAA4B,CAA5B,MAAmC,CAAnC,IAAwC1mB,GAAG,CAAC0mB,WAAJ,CAAgB,SAAhB,EAA2B,CAA3B,MAAkC,CAA9E,EAAiF;AAC7E,aAAO1mB,GAAP;AACH;;AACD,QAAI,CAAC4lL,sDAAL,EAAyB;AACrB,YAAM,IAAI71I,KAAJ,CAAW,mBAAkB/vC,GAAI,IAAjC,CAAN;AACH,KAPY,CAQb;AACA;AACA;AACA;AACA;;;AACA,UAAMiuL,IAAI,GAAGlsL,MAAM,CAACuiB,QAAP,CAAgBmF,aAAhB,CAA8B,GAA9B,CAAb;AACAwkK,IAAAA,IAAI,CAACv8K,IAAL,GAAY1R,GAAZ;;AACA,SAAKs9G,OAAL,CAAa34H,GAAb,CAAiB24B,0DAAjB,EAAwC,gBAAetd,GAAI,SAAQiuL,IAAI,CAACv8K,IAAK,IAA7E;;AACA,WAAOu8K,IAAI,CAACv8K,IAAZ;AACH;;AACDm7K,EAAAA,oBAAoB,CAAC7sL,GAAD,EAAM;AACtB,UAAMokC,KAAK,GAAGpkC,GAAG,CAAChF,OAAJ,CAAY,GAAZ,CAAd;AACA,QAAI4xL,YAAY,GAAG5sL,GAAG,CAACoqC,SAAJ,CAAc,CAAd,EAAiBhG,KAAK,KAAK,CAAC,CAAX,GAAepkC,GAAG,CAACzQ,MAAnB,GAA4B60C,KAA7C,CAAnB;;AACA,QAAIwoJ,YAAY,CAACA,YAAY,CAACr9L,MAAb,GAAsB,CAAvB,CAAZ,KAA0C,GAA9C,EAAmD;AAC/Cq9L,MAAAA,YAAY,IAAI,GAAhB;AACH;;AACDA,IAAAA,YAAY,IAAI,WAAhB;AACAA,IAAAA,YAAY,IAAIxoJ,KAAK,KAAK,CAAC,CAAX,GAAe,EAAf,GAAoBpkC,GAAG,CAACoqC,SAAJ,CAAchG,KAAd,CAApC;;AACA,QAAIwoJ,YAAY,CAAC5xL,OAAb,CAAqB,kBAArB,MAA6C,CAAC,CAAlD,EAAqD;AACjD4xL,MAAAA,YAAY,IAAIxoJ,KAAK,KAAK,CAAC,CAAX,GAAe,GAAf,GAAqB,GAArC;AACAwoJ,MAAAA,YAAY,IAAI,sBAAsB,KAAKrC,iBAA3C;AACH;;AACD,WAAOqC,YAAP;AACH;;AAxbuB;;AA0b5B,SAASkB,gBAAT,CAA0Bb,kBAA1B,EAA8CiB,eAA9C,EAA+D;AAC3D,SAAO,CAACjB,kBAAD,IAAwB,CAACiB,eAAe,GAAGjB,kBAAnB,MAA2C,CAA1E;AACH;AACD;;;AACO,MAAMrB,kBAAN,CAAyB;AAC5BvpM,EAAAA,WAAW,CAAC8rM,UAAD,EAAa;AACpB,SAAKA,UAAL,GAAkBA,UAAlB;AACA,SAAKtkE,OAAL,GAAe,EAAf;AACA,SAAKukE,UAAL,GAAkB,IAAlB;AACA,SAAKC,iBAAL,GAAyB,IAAIC,aAAJ,EAAzB;AACA,SAAKC,gBAAL,GAAwB,IAAID,aAAJ,EAAxB;AACA,SAAKE,gBAAL,GAAwB,KAAKC,SAAL,EAAxB;AACH;;AACDnuH,EAAAA,IAAI,CAAC/1E,IAAD,EAAO;AACP,SAAKmkM,WAAL,CAAiBnkM,IAAjB;;AACA,QAAI,CAAC,KAAKgkM,gBAAV,EAA4B;AACxB,WAAKA,gBAAL,GAAwB,IAAID,aAAJ,EAAxB;AACH;;AACD,WAAO,KAAKC,gBAAL,CAAsB5vK,OAA7B;AACH;;AACDqpF,EAAAA,IAAI,GAAG;AACH,SAAKomF,UAAL,GAAkB,KAAlB;;AACA,SAAKC,iBAAL,CAAuBhiK,OAAvB;;AACA,WAAO,KAAKmiK,gBAAZ;AACH;;AACDE,EAAAA,WAAW,CAACnkM,IAAD,EAAO;AACd,QAAI,KAAKs/H,OAAL,CAAat6H,MAAb,IAAuB,OAAQ,KAAKs6H,OAAL,CAAa,CAAb,CAAR,KAA6B,OAAQt/H,IAAhE,EAAuE;AACnE,YAAM,IAAIwlD,KAAJ,CAAW,+BAA8B,OAAQ,KAAK85E,OAAS,oBAAmB,OAAQt/H,IAAM,EAAhG,CAAN;AACH;;AACD,SAAKs/H,OAAL,CAAahhG,IAAb,CAAkBt+B,IAAlB;;AACA,SAAK8jM,iBAAL,CAAuBhiK,OAAvB;AACH;;AACKoiK,EAAAA,SAAS,GAAG;AAAA;;AAAA;AACd,aAAO,IAAP,EAAa;AACT,cAAM,MAAI,CAACJ,iBAAL,CAAuB1vK,OAA7B;;AACA,YAAI,CAAC,MAAI,CAACyvK,UAAV,EAAsB;AAClB,cAAI,MAAI,CAACG,gBAAT,EAA2B;AACvB,kBAAI,CAACA,gBAAL,CAAsBxgK,MAAtB,CAA6B,qBAA7B;AACH;;AACD;AACH;;AACD,cAAI,CAACsgK,iBAAL,GAAyB,IAAIC,aAAJ,EAAzB;AACA,cAAMK,eAAe,GAAG,MAAI,CAACJ,gBAA7B;AACA,cAAI,CAACA,gBAAL,GAAwBt5J,SAAxB;AACA,cAAM1qC,IAAI,GAAG,OAAQ,MAAI,CAACs/H,OAAL,CAAa,CAAb,CAAR,KAA6B,QAA7B,GACT,MAAI,CAACA,OAAL,CAAal6H,IAAb,CAAkB,EAAlB,CADS,GAETi8L,kBAAkB,CAACgD,cAAnB,CAAkC,MAAI,CAAC/kE,OAAvC,CAFJ;AAGA,cAAI,CAACA,OAAL,CAAat6H,MAAb,GAAsB,CAAtB;;AACA,YAAI;AACA,gBAAM,MAAI,CAAC4+L,UAAL,CAAgB7tH,IAAhB,CAAqB/1E,IAArB,CAAN;AACAokM,UAAAA,eAAe,CAACtiK,OAAhB;AACH,SAHD,CAIA,OAAOpzB,KAAP,EAAc;AACV01L,UAAAA,eAAe,CAAC5gK,MAAhB,CAAuB90B,KAAvB;AACH;AACJ;AAvBa;AAwBjB;;AACoB,SAAd21L,cAAc,CAACC,YAAD,EAAe;AAChC,UAAMC,WAAW,GAAGD,YAAY,CAACziM,GAAb,CAAkBqgC,CAAD,IAAOA,CAAC,CAAC68J,UAA1B,EAAsCvvF,MAAtC,CAA6C,CAAC/0B,CAAD,EAAIv4C,CAAJ,KAAUu4C,CAAC,GAAGv4C,CAA3D,CAApB;AACA,UAAMl4B,MAAM,GAAG,IAAIukD,UAAJ,CAAeg2I,WAAf,CAAf;AACA,QAAI7uF,MAAM,GAAG,CAAb;;AACA,SAAK,MAAM7iG,IAAX,IAAmByxL,YAAnB,EAAiC;AAC7Bt6L,MAAAA,MAAM,CAACmzB,GAAP,CAAW,IAAIoxB,UAAJ,CAAe17C,IAAf,CAAX,EAAiC6iG,MAAjC;AACAA,MAAAA,MAAM,IAAI7iG,IAAI,CAACksL,UAAf;AACH;;AACD,WAAO/0L,MAAM,CAACkqD,MAAd;AACH;;AA9D2B;;AAgEhC,MAAM6vI,aAAN,CAAoB;AAChBjsM,EAAAA,WAAW,GAAG;AACV,SAAKs8B,OAAL,GAAe,IAAIyN,OAAJ,CAAY,CAACC,OAAD,EAAU0B,MAAV,KAAqB,CAAC,KAAKghK,SAAN,EAAiB,KAAKC,SAAtB,IAAmC,CAAC3iK,OAAD,EAAU0B,MAAV,CAApE,CAAf;AACH;;AACD1B,EAAAA,OAAO,GAAG;AACN,SAAK0iK,SAAL;AACH;;AACDhhK,EAAAA,MAAM,CAAC6+E,MAAD,EAAS;AACX,SAAKoiF,SAAL,CAAepiF,MAAf;AACH;;AATe;;;;;;;;;;;;;;;;;;;;;;;AC3gBpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAMuiF,qBAAqB,GAAG,KAAK,IAAnC;AACA,MAAMC,2BAA2B,GAAG,KAAK,IAAzC;AACA;;AACO,IAAIC,kBAAkB;AAC7B,GAAC,UAAUA,kBAAV,EAA8B;AAC3B;AACAA,IAAAA,kBAAkB,CAAC,cAAD,CAAlB,GAAqC,cAArC;AACA;;AACAA,IAAAA,kBAAkB,CAAC,YAAD,CAAlB,GAAmC,YAAnC;AACA;;AACAA,IAAAA,kBAAkB,CAAC,WAAD,CAAlB,GAAkC,WAAlC;AACA;;AACAA,IAAAA,kBAAkB,CAAC,eAAD,CAAlB,GAAsC,eAAtC;AACA;;AACAA,IAAAA,kBAAkB,CAAC,cAAD,CAAlB,GAAqC,cAArC;AACH,GAXD,EAWGA,kBAAkB,KAAKA,kBAAkB,GAAG,EAA1B,CAXrB,CAD6B;;AAAA,SAAlBA,kBAAkB;AAAA,IAAtB;;AAaP;AACO,MAAMC,aAAN,CAAoB;AACvBjtM,EAAAA,WAAW,CAAC6hB,UAAD,EAAaqe,MAAb,EAAqBmzG,QAArB,EAA+B65D,eAA/B,EAAgD;AACvD,SAAKC,cAAL,GAAsB,CAAtB;;AACA,SAAKC,oBAAL,GAA4B,MAAM;AAC9B,WAAKnyE,OAAL,CAAa34H,GAAb,CAAiB24B,sDAAjB,EAAmC,sNAAnC;AACH,KAFD;;AAGA0sK,IAAAA,kDAAA,CAAe9lL,UAAf,EAA2B,YAA3B;AACA8lL,IAAAA,kDAAA,CAAeznK,MAAf,EAAuB,QAAvB;AACAynK,IAAAA,kDAAA,CAAet0D,QAAf,EAAyB,UAAzB;AACA,SAAKg6D,2BAAL,GAAmCP,qBAAnC;AACA,SAAKQ,+BAAL,GAAuCP,2BAAvC;AACA,SAAK9xE,OAAL,GAAe/6F,MAAf;AACA,SAAKqtK,SAAL,GAAiBl6D,QAAjB;AACA,SAAKxxH,UAAL,GAAkBA,UAAlB;AACA,SAAK2rL,gBAAL,GAAwBN,eAAxB;AACA,SAAKO,kBAAL,GAA0B,IAAInH,iEAAJ,EAA1B;;AACA,SAAKzkL,UAAL,CAAgBgnL,SAAhB,GAA6B3gM,IAAD,IAAU,KAAKwlM,oBAAL,CAA0BxlM,IAA1B,CAAtC;;AACA,SAAK2Z,UAAL,CAAgBinL,OAAhB,GAA2BlyL,KAAD,IAAW,KAAK+2L,iBAAL,CAAuB/2L,KAAvB,CAArC;;AACA,SAAKg3L,UAAL,GAAkB,EAAlB;AACA,SAAKC,QAAL,GAAgB,EAAhB;AACA,SAAKC,gBAAL,GAAwB,EAAxB;AACA,SAAKC,sBAAL,GAA8B,EAA9B;AACA,SAAKC,qBAAL,GAA6B,EAA7B;AACA,SAAKC,aAAL,GAAqB,CAArB;AACA,SAAKC,0BAAL,GAAkC,KAAlC;AACA,SAAKxF,gBAAL,GAAwBsE,kBAAkB,CAACmB,YAA3C;AACA,SAAKxF,kBAAL,GAA0B,KAA1B;AACA,SAAKyF,kBAAL,GAA0B,KAAKb,SAAL,CAAec,YAAf,CAA4B;AAAE72L,MAAAA,IAAI,EAAEo1L,2DAAgB0B;AAAxB,KAA5B,CAA1B;AACH;AACD;AACA;AACA;AACA;AACA;;;AACa,SAANhlK,MAAM,CAACznB,UAAD,EAAaqe,MAAb,EAAqBmzG,QAArB,EAA+B65D,eAA/B,EAAgD;AACzD,WAAO,IAAID,aAAJ,CAAkBprL,UAAlB,EAA8Bqe,MAA9B,EAAsCmzG,QAAtC,EAAgD65D,eAAhD,CAAP;AACH;AACD;;;AACS,MAALlxL,KAAK,GAAG;AACR,WAAO,KAAK0sL,gBAAZ;AACH;AACD;AACJ;AACA;;;AACoB,MAAZ5mL,YAAY,GAAG;AACf,WAAO,KAAKD,UAAL,GAAmB,KAAKA,UAAL,CAAgBC,YAAhB,IAAgC,IAAnD,GAA2D,IAAlE;AACH;AACD;;;AACW,MAAPqgB,OAAO,GAAG;AACV,WAAO,KAAKtgB,UAAL,CAAgBsgB,OAAhB,IAA2B,EAAlC;AACH;AACD;AACJ;AACA;AACA;AACA;;;AACe,MAAPA,OAAO,CAACxkB,GAAD,EAAM;AACb,QAAI,KAAK+qL,gBAAL,KAA0BsE,kBAAkB,CAACmB,YAA7C,IAA6D,KAAKzF,gBAAL,KAA0BsE,kBAAkB,CAACuB,YAA9G,EAA4H;AACxH,YAAM,IAAI7gJ,KAAJ,CAAU,wFAAV,CAAN;AACH;;AACD,QAAI,CAAC/vC,GAAL,EAAU;AACN,YAAM,IAAI+vC,KAAJ,CAAU,4CAAV,CAAN;AACH;;AACD,SAAK7rC,UAAL,CAAgBsgB,OAAhB,GAA0BxkB,GAA1B;AACH;AACD;AACJ;AACA;AACA;;;AACIqpG,EAAAA,KAAK,GAAG;AACJ,SAAKwnF,aAAL,GAAqB,KAAKC,0BAAL,EAArB;AACA,WAAO,KAAKD,aAAZ;AACH;;AACKC,EAAAA,0BAA0B,GAAG;AAAA;;AAAA;AAC/B,UAAI,KAAI,CAAC/F,gBAAL,KAA0BsE,kBAAkB,CAACmB,YAAjD,EAA+D;AAC3D,eAAOpkK,OAAO,CAAC2B,MAAR,CAAe,IAAIgiB,KAAJ,CAAU,uEAAV,CAAf,CAAP;AACH;;AACD,WAAI,CAACg7I,gBAAL,GAAwBsE,kBAAkB,CAAC0B,UAA3C;;AACA,WAAI,CAACzzE,OAAL,CAAa34H,GAAb,CAAiB24B,oDAAjB,EAAiC,yBAAjC;;AACA,UAAI;AACA,cAAM,KAAI,CAACmuK,cAAL,EAAN;;AACA,YAAI7F,sDAAJ,EAAwB;AACpB;AACA7jL,UAAAA,MAAM,CAACuiB,QAAP,CAAgBqa,gBAAhB,CAAiC,QAAjC,EAA2C,KAAI,CAAC8wJ,oBAAhD;AACH;;AACD,aAAI,CAAC1E,gBAAL,GAAwBsE,kBAAkB,CAAC2B,SAA3C;AACA,aAAI,CAAChG,kBAAL,GAA0B,IAA1B;;AACA,aAAI,CAAC1tE,OAAL,CAAa34H,GAAb,CAAiB24B,oDAAjB,EAAiC,uCAAjC;AACH,OATD,CAUA,OAAOiQ,CAAP,EAAU;AACN,aAAI,CAACw9J,gBAAL,GAAwBsE,kBAAkB,CAACmB,YAA3C;;AACA,aAAI,CAAClzE,OAAL,CAAa34H,GAAb,CAAiB24B,oDAAjB,EAAkC,gEAA+DiQ,CAAE,IAAnG;;AACA,eAAOnB,OAAO,CAAC2B,MAAR,CAAeR,CAAf,CAAP;AACH;AApB8B;AAqBlC;;AACKk+J,EAAAA,cAAc,GAAG;AAAA;;AAAA;AACnB,YAAI,CAACwF,qBAAL,GAA6Bh8J,SAA7B;AACA,YAAI,CAACs7J,0BAAL,GAAkC,KAAlC,CAFmB,CAGnB;;AACA,YAAMW,gBAAgB,GAAG,IAAI9kK,OAAJ,CAAY,CAACC,OAAD,EAAU0B,MAAV,KAAqB;AACtD,cAAI,CAACojK,kBAAL,GAA0B9kK,OAA1B;AACA,cAAI,CAAC+kK,kBAAL,GAA0BrjK,MAA1B;AACH,OAHwB,CAAzB;AAIA,YAAM,MAAI,CAAC7pB,UAAL,CAAgBmlG,KAAhB,CAAsB,MAAI,CAACumF,SAAL,CAAexE,cAArC,CAAN;;AACA,UAAI;AACA,cAAMvC,gBAAgB,GAAG;AACrBnzD,UAAAA,QAAQ,EAAE,MAAI,CAACk6D,SAAL,CAAex8L,IADJ;AAErB5P,UAAAA,OAAO,EAAE,MAAI,CAACosM,SAAL,CAAepsM;AAFH,SAAzB;;AAIA,cAAI,CAAC85H,OAAL,CAAa34H,GAAb,CAAiB24B,oDAAjB,EAAiC,4BAAjC;;AACA,cAAM,MAAI,CAACqtH,YAAL,CAAkB,MAAI,CAACmlD,kBAAL,CAAwBlH,qBAAxB,CAA8CC,gBAA9C,CAAlB,CAAN;;AACA,cAAI,CAACvrE,OAAL,CAAa34H,GAAb,CAAiB24B,0DAAjB,EAAwC,sBAAqB,MAAI,CAACsyK,SAAL,CAAex8L,IAAK,IAAjF,EAPA,CAQA;;;AACA,cAAI,CAACi+L,eAAL;;AACA,cAAI,CAACC,mBAAL;;AACA,cAAI,CAACC,uBAAL;;AACA,cAAML,gBAAN,CAZA,CAaA;AACA;AACA;;AACA,YAAI,MAAI,CAACD,qBAAT,EAAgC;AAC5B;AACA;AACA;AACA;AACA,gBAAM,MAAI,CAACA,qBAAX;AACH;AACJ,OAvBD,CAwBA,OAAO1jK,CAAP,EAAU;AACN,cAAI,CAAC+vF,OAAL,CAAa34H,GAAb,CAAiB24B,oDAAjB,EAAkC,oCAAmCiQ,CAAE,2CAAvE;;AACA,cAAI,CAAC8jK,eAAL;;AACA,cAAI,CAACG,iBAAL,GAHM,CAIN;AACA;;;AACA,cAAM,MAAI,CAACttL,UAAL,CAAgB8jG,IAAhB,CAAqBz6E,CAArB,CAAN;AACA,cAAMA,CAAN;AACH;AAzCkB;AA0CtB;AACD;AACJ;AACA;AACA;;;AACUy6E,EAAAA,IAAI,GAAG;AAAA;;AAAA;AACT;AACA,YAAMypF,YAAY,GAAG,MAAI,CAACZ,aAA1B;AACA,YAAI,CAACnF,YAAL,GAAoB,MAAI,CAACG,aAAL,EAApB;AACA,YAAM,MAAI,CAACH,YAAX;;AACA,UAAI;AACA;AACA,cAAM+F,YAAN;AACH,OAHD,CAIA,OAAOlkK,CAAP,EAAU,CACN;AACH;AAXQ;AAYZ;;AACDs+J,EAAAA,aAAa,CAAC5yL,KAAD,EAAQ;AACjB,QAAI,KAAK8xL,gBAAL,KAA0BsE,kBAAkB,CAACmB,YAAjD,EAA+D;AAC3D,WAAKlzE,OAAL,CAAa34H,GAAb,CAAiB24B,oDAAjB,EAAkC,8BAA6BrkB,KAAM,4DAArE;;AACA,aAAOmzB,OAAO,CAACC,OAAR,EAAP;AACH;;AACD,QAAI,KAAK0+J,gBAAL,KAA0BsE,kBAAkB,CAACqC,aAAjD,EAAgE;AAC5D,WAAKp0E,OAAL,CAAa34H,GAAb,CAAiB24B,oDAAjB,EAAkC,+BAA8BrkB,KAAM,yEAAtE;;AACA,aAAO,KAAKyyL,YAAZ;AACH;;AACD,SAAKX,gBAAL,GAAwBsE,kBAAkB,CAACqC,aAA3C;;AACA,SAAKp0E,OAAL,CAAa34H,GAAb,CAAiB24B,oDAAjB,EAAiC,yBAAjC;;AACA,QAAI,KAAKq0K,qBAAT,EAAgC;AAC5B;AACA;AACA;AACA,WAAKr0E,OAAL,CAAa34H,GAAb,CAAiB24B,oDAAjB,EAAiC,+DAAjC;;AACA8hB,MAAAA,YAAY,CAAC,KAAKuyJ,qBAAN,CAAZ;AACA,WAAKA,qBAAL,GAA6B18J,SAA7B;;AACA,WAAK28J,cAAL;;AACA,aAAOxlK,OAAO,CAACC,OAAR,EAAP;AACH;;AACD,SAAKglK,eAAL;;AACA,SAAKG,iBAAL;;AACA,SAAKP,qBAAL,GAA6Bh4L,KAAK,IAAI,IAAI82C,KAAJ,CAAU,qEAAV,CAAtC,CAvBiB,CAwBjB;AACA;AACA;;AACA,WAAO,KAAK7rC,UAAL,CAAgB8jG,IAAhB,CAAqB/uG,KAArB,CAAP;AACH;AACD;AACJ;AACA;AACA;AACA;AACA;AACA;;;AACI44L,EAAAA,MAAM,CAACC,UAAD,EAAa,GAAG9kF,IAAhB,EAAsB;AACxB,UAAM,CAAC+kF,OAAD,EAAUC,SAAV,IAAuB,KAAKC,uBAAL,CAA6BjlF,IAA7B,CAA7B;;AACA,UAAMklF,oBAAoB,GAAG,KAAKC,uBAAL,CAA6BL,UAA7B,EAAyC9kF,IAAzC,EAA+CglF,SAA/C,CAA7B,CAFwB,CAGxB;;;AACA,QAAII,YAAJ;AACA,UAAMC,OAAO,GAAG,IAAIrmM,6CAAJ,EAAhB;;AACAqmM,IAAAA,OAAO,CAACC,cAAR,GAAyB,MAAM;AAC3B,YAAMC,gBAAgB,GAAG,KAAKC,uBAAL,CAA6BN,oBAAoB,CAACO,YAAlD,CAAzB;;AACA,aAAO,KAAKxC,UAAL,CAAgBiC,oBAAoB,CAACO,YAArC,CAAP;AACA,aAAOL,YAAY,CAAChoM,IAAb,CAAkB,MAAM;AAC3B,eAAO,KAAKsoM,iBAAL,CAAuBH,gBAAvB,CAAP;AACH,OAFM,CAAP;AAGH,KAND;;AAOA,SAAKtC,UAAL,CAAgBiC,oBAAoB,CAACO,YAArC,IAAqD,CAACE,eAAD,EAAkB15L,KAAlB,KAA4B;AAC7E,UAAIA,KAAJ,EAAW;AACPo5L,QAAAA,OAAO,CAACp5L,KAAR,CAAcA,KAAd;AACA;AACH,OAHD,MAIK,IAAI05L,eAAJ,EAAqB;AACtB;AACA,YAAIA,eAAe,CAAC94L,IAAhB,KAAyBo1L,iEAA7B,EAAqD;AACjD,cAAI0D,eAAe,CAAC15L,KAApB,EAA2B;AACvBo5L,YAAAA,OAAO,CAACp5L,KAAR,CAAc,IAAI82C,KAAJ,CAAU4iJ,eAAe,CAAC15L,KAA1B,CAAd;AACH,WAFD,MAGK;AACDo5L,YAAAA,OAAO,CAAC5kM,QAAR;AACH;AACJ,SAPD,MAQK;AACD4kM,UAAAA,OAAO,CAAC7kM,IAAR,CAAcmlM,eAAe,CAACv1L,IAA9B;AACH;AACJ;AACJ,KAnBD;;AAoBAg1L,IAAAA,YAAY,GAAG,KAAKM,iBAAL,CAAuBR,oBAAvB,EACVpzK,KADU,CACHyO,CAAD,IAAO;AACd8kK,MAAAA,OAAO,CAACp5L,KAAR,CAAcs0B,CAAd;AACA,aAAO,KAAK0iK,UAAL,CAAgBiC,oBAAoB,CAACO,YAArC,CAAP;AACH,KAJc,CAAf;;AAKA,SAAKI,cAAL,CAAoBd,OAApB,EAA6BK,YAA7B;;AACA,WAAOC,OAAP;AACH;;AACD1nD,EAAAA,YAAY,CAAClmJ,OAAD,EAAU;AAClB,SAAK8sM,uBAAL;;AACA,WAAO,KAAKrtL,UAAL,CAAgBo8D,IAAhB,CAAqB77E,OAArB,CAAP;AACH;AACD;AACJ;AACA;AACA;;;AACIiuM,EAAAA,iBAAiB,CAACjuM,OAAD,EAAU;AACvB,WAAO,KAAKkmJ,YAAL,CAAkB,KAAKilD,SAAL,CAAec,YAAf,CAA4BjsM,OAA5B,CAAlB,CAAP;AACH;AACD;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACI67E,EAAAA,IAAI,CAACwxH,UAAD,EAAa,GAAG9kF,IAAhB,EAAsB;AACtB,UAAM,CAAC+kF,OAAD,EAAUC,SAAV,IAAuB,KAAKC,uBAAL,CAA6BjlF,IAA7B,CAA7B;;AACA,UAAM8lF,WAAW,GAAG,KAAKJ,iBAAL,CAAuB,KAAKK,iBAAL,CAAuBjB,UAAvB,EAAmC9kF,IAAnC,EAAyC,IAAzC,EAA+CglF,SAA/C,CAAvB,CAApB;;AACA,SAAKa,cAAL,CAAoBd,OAApB,EAA6Be,WAA7B;;AACA,WAAOA,WAAP;AACH;AACD;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACIE,EAAAA,MAAM,CAAClB,UAAD,EAAa,GAAG9kF,IAAhB,EAAsB;AACxB,UAAM,CAAC+kF,OAAD,EAAUC,SAAV,IAAuB,KAAKC,uBAAL,CAA6BjlF,IAA7B,CAA7B;;AACA,UAAMklF,oBAAoB,GAAG,KAAKa,iBAAL,CAAuBjB,UAAvB,EAAmC9kF,IAAnC,EAAyC,KAAzC,EAAgDglF,SAAhD,CAA7B;;AACA,UAAMplK,CAAC,GAAG,IAAIR,OAAJ,CAAY,CAACC,OAAD,EAAU0B,MAAV,KAAqB;AACvC;AACA,WAAKkiK,UAAL,CAAgBiC,oBAAoB,CAACO,YAArC,IAAqD,CAACE,eAAD,EAAkB15L,KAAlB,KAA4B;AAC7E,YAAIA,KAAJ,EAAW;AACP80B,UAAAA,MAAM,CAAC90B,KAAD,CAAN;AACA;AACH,SAHD,MAIK,IAAI05L,eAAJ,EAAqB;AACtB;AACA,cAAIA,eAAe,CAAC94L,IAAhB,KAAyBo1L,iEAA7B,EAAqD;AACjD,gBAAI0D,eAAe,CAAC15L,KAApB,EAA2B;AACvB80B,cAAAA,MAAM,CAAC,IAAIgiB,KAAJ,CAAU4iJ,eAAe,CAAC15L,KAA1B,CAAD,CAAN;AACH,aAFD,MAGK;AACDozB,cAAAA,OAAO,CAACsmK,eAAe,CAACp+L,MAAjB,CAAP;AACH;AACJ,WAPD,MAQK;AACDw5B,YAAAA,MAAM,CAAC,IAAIgiB,KAAJ,CAAW,4BAA2B4iJ,eAAe,CAAC94L,IAAK,EAA3D,CAAD,CAAN;AACH;AACJ;AACJ,OAnBD;;AAoBA,YAAMu4L,YAAY,GAAG,KAAKM,iBAAL,CAAuBR,oBAAvB,EAChBpzK,KADgB,CACTyO,CAAD,IAAO;AACdQ,QAAAA,MAAM,CAACR,CAAD,CAAN,CADc,CAEd;;AACA,eAAO,KAAK0iK,UAAL,CAAgBiC,oBAAoB,CAACO,YAArC,CAAP;AACH,OALoB,CAArB;;AAMA,WAAKI,cAAL,CAAoBd,OAApB,EAA6BK,YAA7B;AACH,KA7BS,CAAV;AA8BA,WAAOxlK,CAAP;AACH;AACD;AACJ;AACA;AACA;AACA;;;AACIvoB,EAAAA,EAAE,CAACytL,UAAD,EAAamB,SAAb,EAAwB;AACtB,QAAI,CAACnB,UAAD,IAAe,CAACmB,SAApB,EAA+B;AAC3B;AACH;;AACDnB,IAAAA,UAAU,GAAGA,UAAU,CAAC7nK,WAAX,EAAb;;AACA,QAAI,CAAC,KAAKimK,QAAL,CAAc4B,UAAd,CAAL,EAAgC;AAC5B,WAAK5B,QAAL,CAAc4B,UAAd,IAA4B,EAA5B;AACH,KAPqB,CAQtB;;;AACA,QAAI,KAAK5B,QAAL,CAAc4B,UAAd,EAA0B92L,OAA1B,CAAkCi4L,SAAlC,MAAiD,CAAC,CAAtD,EAAyD;AACrD;AACH;;AACD,SAAK/C,QAAL,CAAc4B,UAAd,EAA0BjpK,IAA1B,CAA+BoqK,SAA/B;AACH;;AACDzqL,EAAAA,GAAG,CAACspL,UAAD,EAAa3qK,MAAb,EAAqB;AACpB,QAAI,CAAC2qK,UAAL,EAAiB;AACb;AACH;;AACDA,IAAAA,UAAU,GAAGA,UAAU,CAAC7nK,WAAX,EAAb;AACA,UAAM03I,QAAQ,GAAG,KAAKuuB,QAAL,CAAc4B,UAAd,CAAjB;;AACA,QAAI,CAACnwB,QAAL,EAAe;AACX;AACH;;AACD,QAAIx6I,MAAJ,EAAY;AACR,YAAM+rK,SAAS,GAAGvxB,QAAQ,CAAC3mK,OAAT,CAAiBmsB,MAAjB,CAAlB;;AACA,UAAI+rK,SAAS,KAAK,CAAC,CAAnB,EAAsB;AAClBvxB,QAAAA,QAAQ,CAAC57C,MAAT,CAAgBmtE,SAAhB,EAA2B,CAA3B;;AACA,YAAIvxB,QAAQ,CAACpyK,MAAT,KAAoB,CAAxB,EAA2B;AACvB,iBAAO,KAAK2gM,QAAL,CAAc4B,UAAd,CAAP;AACH;AACJ;AACJ,KARD,MASK;AACD,aAAO,KAAK5B,QAAL,CAAc4B,UAAd,CAAP;AACH;AACJ;AACD;AACJ;AACA;AACA;;;AACI3G,EAAAA,OAAO,CAAC3wJ,QAAD,EAAW;AACd,QAAIA,QAAJ,EAAc;AACV,WAAK21J,gBAAL,CAAsBtnK,IAAtB,CAA2B2R,QAA3B;AACH;AACJ;AACD;AACJ;AACA;AACA;;;AACI24J,EAAAA,cAAc,CAAC34J,QAAD,EAAW;AACrB,QAAIA,QAAJ,EAAc;AACV,WAAK41J,sBAAL,CAA4BvnK,IAA5B,CAAiC2R,QAAjC;AACH;AACJ;AACD;AACJ;AACA;AACA;;;AACI44J,EAAAA,aAAa,CAAC54J,QAAD,EAAW;AACpB,QAAIA,QAAJ,EAAc;AACV,WAAK61J,qBAAL,CAA2BxnK,IAA3B,CAAgC2R,QAAhC;AACH;AACJ;;AACDu1J,EAAAA,oBAAoB,CAACxlM,IAAD,EAAO;AACvB,SAAK8mM,eAAL;;AACA,QAAI,CAAC,KAAKd,0BAAV,EAAsC;AAClChmM,MAAAA,IAAI,GAAG,KAAK8oM,yBAAL,CAA+B9oM,IAA/B,CAAP;AACA,WAAKgmM,0BAAL,GAAkC,IAAlC;AACH,KALsB,CAMvB;;;AACA,QAAIhmM,IAAJ,EAAU;AACN;AACA,YAAMwe,QAAQ,GAAG,KAAK6mL,SAAL,CAAe0D,aAAf,CAA6B/oM,IAA7B,EAAmC,KAAK+yH,OAAxC,CAAjB;;AACA,WAAK,MAAM74H,OAAX,IAAsBskB,QAAtB,EAAgC;AAC5B,gBAAQtkB,OAAO,CAACoV,IAAhB;AACI,eAAKo1L,iEAAL;AACI,iBAAKuE,mBAAL,CAAyB/uM,OAAzB;;AACA;;AACJ,eAAKwqM,iEAAL;AACA,eAAKA,iEAAL;AAA6B;AACzB,oBAAMz0J,QAAQ,GAAG,KAAKy1J,UAAL,CAAgBxrM,OAAO,CAACguM,YAAxB,CAAjB;;AACA,kBAAIj4J,QAAJ,EAAc;AACV,oBAAI/1C,OAAO,CAACoV,IAAR,KAAiBo1L,iEAArB,EAA6C;AACzC,yBAAO,KAAKgB,UAAL,CAAgBxrM,OAAO,CAACguM,YAAxB,CAAP;AACH;;AACD,oBAAI;AACAj4J,kBAAAA,QAAQ,CAAC/1C,OAAD,CAAR;AACH,iBAFD,CAGA,OAAO8oC,CAAP,EAAU;AACN,uBAAK+vF,OAAL,CAAa34H,GAAb,CAAiB24B,oDAAjB,EAAkC,gCAA+B4xK,sDAAc,CAAC3hK,CAAD,CAAI,EAAnF;AACH;AACJ;;AACD;AACH;;AACD,eAAK0hK,2DAAL;AACI;AACA;;AACJ,eAAKA,4DAAL;AAAwB;AACpB,mBAAK3xE,OAAL,CAAa34H,GAAb,CAAiB24B,0DAAjB,EAAuC,qCAAvC;;AACA,oBAAMrkB,KAAK,GAAGxU,OAAO,CAACwU,KAAR,GAAgB,IAAI82C,KAAJ,CAAU,wCAAwCtrD,OAAO,CAACwU,KAA1D,CAAhB,GAAmFg8B,SAAjG;;AACA,kBAAIxwC,OAAO,CAACkvM,cAAR,KAA2B,IAA/B,EAAqC;AACjC;AACA;AACA;AACA,qBAAKzvL,UAAL,CAAgB8jG,IAAhB,CAAqB/uG,KAArB;AACH,eALD,MAMK;AACD;AACA,qBAAKyyL,YAAL,GAAoB,KAAKG,aAAL,CAAmB5yL,KAAnB,CAApB;AACH;;AACD;AACH;;AACD;AACI,iBAAKqkH,OAAL,CAAa34H,GAAb,CAAiB24B,sDAAjB,EAAoC,yBAAwB74B,OAAO,CAACoV,IAAK,GAAzE;;AACA;AAxCR;AA0CH;AACJ;;AACD,SAAKy3L,mBAAL;AACH;;AACD+B,EAAAA,yBAAyB,CAAC9oM,IAAD,EAAO;AAC5B,QAAIk/L,eAAJ;AACA,QAAIR,aAAJ;;AACA,QAAI;AACA,OAACA,aAAD,EAAgBQ,eAAhB,IAAmC,KAAKqG,kBAAL,CAAwB/G,sBAAxB,CAA+Cx+L,IAA/C,CAAnC;AACH,KAFD,CAGA,OAAOgjC,CAAP,EAAU;AACN,YAAM9oC,OAAO,GAAG,uCAAuC8oC,CAAvD;;AACA,WAAK+vF,OAAL,CAAa34H,GAAb,CAAiB24B,oDAAjB,EAAiC74B,OAAjC;;AACA,YAAMwU,KAAK,GAAG,IAAI82C,KAAJ,CAAUtrD,OAAV,CAAd;;AACA,WAAK2sM,kBAAL,CAAwBn4L,KAAxB;;AACA,YAAMA,KAAN;AACH;;AACD,QAAIwwL,eAAe,CAACxwL,KAApB,EAA2B;AACvB,YAAMxU,OAAO,GAAG,sCAAsCglM,eAAe,CAACxwL,KAAtE;;AACA,WAAKqkH,OAAL,CAAa34H,GAAb,CAAiB24B,oDAAjB,EAAiC74B,OAAjC;;AACA,YAAMwU,KAAK,GAAG,IAAI82C,KAAJ,CAAUtrD,OAAV,CAAd;;AACA,WAAK2sM,kBAAL,CAAwBn4L,KAAxB;;AACA,YAAMA,KAAN;AACH,KAND,MAOK;AACD,WAAKqkH,OAAL,CAAa34H,GAAb,CAAiB24B,oDAAjB,EAAiC,4BAAjC;AACH;;AACD,SAAK6zK,kBAAL;;AACA,WAAOlI,aAAP;AACH;;AACDsI,EAAAA,uBAAuB,GAAG;AACtB,QAAI,KAAKrtL,UAAL,CAAgBpf,QAAhB,CAAyB6nM,iBAA7B,EAAgD;AAC5C;AACH,KAHqB,CAItB;AACA;;;AACA,SAAK6C,cAAL,GAAsB,IAAI7kJ,IAAJ,GAAWE,OAAX,KAAuB,KAAK8kJ,+BAAlD;;AACA,SAAK6B,iBAAL;AACH;;AACDF,EAAAA,mBAAmB,GAAG;AAAA;;AAClB,QAAI,CAAC,KAAKptL,UAAL,CAAgBpf,QAAjB,IAA6B,CAAC,KAAKof,UAAL,CAAgBpf,QAAhB,CAAyB6nM,iBAA3D,EAA8E;AAC1E;AACA,WAAK79D,cAAL,GAAsBhtH,UAAU,CAAC,MAAM,KAAK8xL,aAAL,EAAP,EAA6B,KAAKlE,2BAAlC,CAAhC,CAF0E,CAG1E;;AACA,UAAI,KAAKmE,iBAAL,KAA2B5+J,SAA/B,EAA0C;AACtC,YAAI6+J,QAAQ,GAAG,KAAKtE,cAAL,GAAsB,IAAI7kJ,IAAJ,GAAWE,OAAX,EAArC;;AACA,YAAIipJ,QAAQ,GAAG,CAAf,EAAkB;AACdA,UAAAA,QAAQ,GAAG,CAAX;AACH,SAJqC,CAKtC;;;AACA,aAAKD,iBAAL,GAAyB/xL,UAAU,uLAAC,aAAY;AAC5C,cAAI,MAAI,CAACipL,gBAAL,KAA0BsE,kBAAkB,CAAC2B,SAAjD,EAA4D;AACxD,gBAAI;AACA,oBAAM,MAAI,CAACrmD,YAAL,CAAkB,MAAI,CAAC8lD,kBAAvB,CAAN;AACH,aAFD,CAGA,MAAM;AACF;AACA;AACA,oBAAI,CAACe,iBAAL;AACH;AACJ;AACJ,SAXkC,GAWhCsC,QAXgC,CAAnC;AAYH;AACJ;AACJ,GAzesB,CA0evB;;;AACAF,EAAAA,aAAa,GAAG;AACZ;AACA;AACA;AACA,SAAK1vL,UAAL,CAAgB8jG,IAAhB,CAAqB,IAAIj4D,KAAJ,CAAU,qEAAV,CAArB;AACH;;AACDyjJ,EAAAA,mBAAmB,CAACO,iBAAD,EAAoB;AACnC,UAAMC,OAAO,GAAG,KAAK9D,QAAL,CAAc6D,iBAAiB,CAACvjJ,MAAlB,CAAyBvmB,WAAzB,EAAd,CAAhB;;AACA,QAAI+pK,OAAJ,EAAa;AACT,UAAI;AACAA,QAAAA,OAAO,CAACvrK,OAAR,CAAiB2G,CAAD,IAAOA,CAAC,CAAC/B,KAAF,CAAQ,IAAR,EAAc0mK,iBAAiB,CAAC3mK,SAAhC,CAAvB;AACH,OAFD,CAGA,OAAOG,CAAP,EAAU;AACN,aAAK+vF,OAAL,CAAa34H,GAAb,CAAiB24B,oDAAjB,EAAkC,6BAA4By2K,iBAAiB,CAACvjJ,MAAlB,CAAyBvmB,WAAzB,EAAuC,iBAAgBsD,CAAE,IAAvH;AACH;;AACD,UAAIwmK,iBAAiB,CAACtB,YAAtB,EAAoC;AAChC;AACA,cAAMhuM,OAAO,GAAG,oFAAhB;;AACA,aAAK64H,OAAL,CAAa34H,GAAb,CAAiB24B,oDAAjB,EAAiC74B,OAAjC,EAHgC,CAIhC;;;AACA,aAAKinM,YAAL,GAAoB,KAAKG,aAAL,CAAmB,IAAI97I,KAAJ,CAAUtrD,OAAV,CAAnB,CAApB;AACH;AACJ,KAdD,MAeK;AACD,WAAK64H,OAAL,CAAa34H,GAAb,CAAiB24B,sDAAjB,EAAoC,mCAAkCy2K,iBAAiB,CAACvjJ,MAAO,UAA/F;AACH;AACJ;;AACDw/I,EAAAA,iBAAiB,CAAC/2L,KAAD,EAAQ;AACrB,SAAKqkH,OAAL,CAAa34H,GAAb,CAAiB24B,oDAAjB,EAAkC,kCAAiCrkB,KAAM,2BAA0B,KAAK8xL,gBAAiB,GAAzH,EADqB,CAErB;;;AACA,SAAKkG,qBAAL,GAA6B,KAAKA,qBAAL,IAA8Bh4L,KAA9B,IAAuC,IAAI82C,KAAJ,CAAU,+EAAV,CAApE,CAHqB,CAIrB;AACA;;AACA,QAAI,KAAKohJ,kBAAT,EAA6B;AACzB,WAAKA,kBAAL;AACH;;AACD,SAAK8C,yBAAL,CAA+Bh7L,KAAK,IAAI,IAAI82C,KAAJ,CAAU,oEAAV,CAAxC;;AACA,SAAKshJ,eAAL;;AACA,SAAKG,iBAAL;;AACA,QAAI,KAAKzG,gBAAL,KAA0BsE,kBAAkB,CAACqC,aAAjD,EAAgE;AAC5D,WAAKE,cAAL,CAAoB34L,KAApB;AACH,KAFD,MAGK,IAAI,KAAK8xL,gBAAL,KAA0BsE,kBAAkB,CAAC2B,SAA7C,IAA0D,KAAKnB,gBAAnE,EAAqF;AACtF;AACA,WAAKqE,UAAL,CAAgBj7L,KAAhB;AACH,KAHI,MAIA,IAAI,KAAK8xL,gBAAL,KAA0BsE,kBAAkB,CAAC2B,SAAjD,EAA4D;AAC7D,WAAKY,cAAL,CAAoB34L,KAApB;AACH,KArBoB,CAsBrB;AACA;AACA;AACA;AACA;;AACH;;AACD24L,EAAAA,cAAc,CAAC34L,KAAD,EAAQ;AAClB,QAAI,KAAK+xL,kBAAT,EAA6B;AACzB,WAAKD,gBAAL,GAAwBsE,kBAAkB,CAACmB,YAA3C;AACA,WAAKxF,kBAAL,GAA0B,KAA1B;;AACA,UAAIpF,sDAAJ,EAAwB;AACpB7jL,QAAAA,MAAM,CAACuiB,QAAP,CAAgB2a,mBAAhB,CAAoC,QAApC,EAA8C,KAAKwwJ,oBAAnD;AACH;;AACD,UAAI;AACA,aAAKU,gBAAL,CAAsB1nK,OAAtB,CAA+B83I,CAAD,IAAOA,CAAC,CAAClzI,KAAF,CAAQ,IAAR,EAAc,CAACp0B,KAAD,CAAd,CAArC;AACH,OAFD,CAGA,OAAOs0B,CAAP,EAAU;AACN,aAAK+vF,OAAL,CAAa34H,GAAb,CAAiB24B,oDAAjB,EAAkC,0CAAyCrkB,KAAM,kBAAiBs0B,CAAE,IAApG;AACH;AACJ;AACJ;;AACK2mK,EAAAA,UAAU,CAACj7L,KAAD,EAAQ;AAAA;;AAAA;AACpB,YAAMk7L,kBAAkB,GAAGxpJ,IAAI,CAAC+e,GAAL,EAA3B;AACA,UAAI0qI,yBAAyB,GAAG,CAAhC;AACA,UAAIC,UAAU,GAAGp7L,KAAK,KAAKg8B,SAAV,GAAsBh8B,KAAtB,GAA8B,IAAI82C,KAAJ,CAAU,iDAAV,CAA/C;;AACA,UAAIukJ,cAAc,GAAG,MAAI,CAACC,kBAAL,CAAwBH,yBAAyB,EAAjD,EAAqD,CAArD,EAAwDC,UAAxD,CAArB;;AACA,UAAIC,cAAc,KAAK,IAAvB,EAA6B;AACzB,cAAI,CAACh3E,OAAL,CAAa34H,GAAb,CAAiB24B,oDAAjB,EAAiC,oGAAjC;;AACA,cAAI,CAACs0K,cAAL,CAAoB34L,KAApB;;AACA;AACH;;AACD,YAAI,CAAC8xL,gBAAL,GAAwBsE,kBAAkB,CAACuB,YAA3C;;AACA,UAAI33L,KAAJ,EAAW;AACP,cAAI,CAACqkH,OAAL,CAAa34H,GAAb,CAAiB24B,0DAAjB,EAAwC,6CAA4CrkB,KAAM,IAA1F;AACH,OAFD,MAGK;AACD,cAAI,CAACqkH,OAAL,CAAa34H,GAAb,CAAiB24B,0DAAjB,EAAuC,0BAAvC;AACH;;AACD,UAAI,MAAI,CAAC8yK,sBAAL,CAA4B7gM,MAA5B,KAAuC,CAA3C,EAA8C;AAC1C,YAAI;AACA,gBAAI,CAAC6gM,sBAAL,CAA4B3nK,OAA5B,CAAqC83I,CAAD,IAAOA,CAAC,CAAClzI,KAAF,CAAQ,MAAR,EAAc,CAACp0B,KAAD,CAAd,CAA3C;AACH,SAFD,CAGA,OAAOs0B,CAAP,EAAU;AACN,gBAAI,CAAC+vF,OAAL,CAAa34H,GAAb,CAAiB24B,oDAAjB,EAAkC,iDAAgDrkB,KAAM,kBAAiBs0B,CAAE,IAA3G;AACH,SANyC,CAO1C;;;AACA,YAAI,MAAI,CAACw9J,gBAAL,KAA0BsE,kBAAkB,CAACuB,YAAjD,EAA+D;AAC3D,gBAAI,CAACtzE,OAAL,CAAa34H,GAAb,CAAiB24B,oDAAjB,EAAiC,uFAAjC;;AACA;AACH;AACJ;;AACD,aAAOg3K,cAAc,KAAK,IAA1B,EAAgC;AAC5B,cAAI,CAACh3E,OAAL,CAAa34H,GAAb,CAAiB24B,0DAAjB,EAAwC,4BAA2B82K,yBAA0B,kBAAiBE,cAAe,MAA7H;;AACA,cAAM,IAAIloK,OAAJ,CAAaC,OAAD,IAAa;AAC3B,gBAAI,CAACslK,qBAAL,GAA6B7vL,UAAU,CAACuqB,OAAD,EAAUioK,cAAV,CAAvC;AACH,SAFK,CAAN;AAGA,cAAI,CAAC3C,qBAAL,GAA6B18J,SAA7B;;AACA,YAAI,MAAI,CAAC81J,gBAAL,KAA0BsE,kBAAkB,CAACuB,YAAjD,EAA+D;AAC3D,gBAAI,CAACtzE,OAAL,CAAa34H,GAAb,CAAiB24B,oDAAjB,EAAiC,mFAAjC;;AACA;AACH;;AACD,YAAI;AACA,gBAAM,MAAI,CAACmuK,cAAL,EAAN;AACA,gBAAI,CAACV,gBAAL,GAAwBsE,kBAAkB,CAAC2B,SAA3C;;AACA,gBAAI,CAAC1zE,OAAL,CAAa34H,GAAb,CAAiB24B,0DAAjB,EAAuC,yCAAvC;;AACA,cAAI,MAAI,CAAC+yK,qBAAL,CAA2B9gM,MAA3B,KAAsC,CAA1C,EAA6C;AACzC,gBAAI;AACA,oBAAI,CAAC8gM,qBAAL,CAA2B5nK,OAA3B,CAAoC83I,CAAD,IAAOA,CAAC,CAAClzI,KAAF,CAAQ,MAAR,EAAc,CAAC,MAAI,CAACnpB,UAAL,CAAgBC,YAAjB,CAAd,CAA1C;AACH,aAFD,CAGA,OAAOopB,CAAP,EAAU;AACN,oBAAI,CAAC+vF,OAAL,CAAa34H,GAAb,CAAiB24B,oDAAjB,EAAkC,uDAAsD,MAAI,CAACpZ,UAAL,CAAgBC,YAAa,kBAAiBopB,CAAE,IAAxI;AACH;AACJ;;AACD;AACH,SAbD,CAcA,OAAOA,CAAP,EAAU;AACN,gBAAI,CAAC+vF,OAAL,CAAa34H,GAAb,CAAiB24B,0DAAjB,EAAwC,8CAA6CiQ,CAAE,IAAvF;;AACA,cAAI,MAAI,CAACw9J,gBAAL,KAA0BsE,kBAAkB,CAACuB,YAAjD,EAA+D;AAC3D,kBAAI,CAACtzE,OAAL,CAAa34H,GAAb,CAAiB24B,oDAAjB,EAAkC,4BAA2B,MAAI,CAACytK,gBAAiB,4EAAnF,EAD2D,CAE3D;;;AACA,gBAAI,MAAI,CAACA,gBAAL,KAA0BsE,kBAAkB,CAACqC,aAAjD,EAAgE;AAC5D,oBAAI,CAACE,cAAL;AACH;;AACD;AACH;;AACDyC,UAAAA,UAAU,GAAG9mK,CAAC,YAAYwiB,KAAb,GAAqBxiB,CAArB,GAAyB,IAAIwiB,KAAJ,CAAUxiB,CAAC,CAACuS,QAAF,EAAV,CAAtC;AACAw0J,UAAAA,cAAc,GAAG,MAAI,CAACC,kBAAL,CAAwBH,yBAAyB,EAAjD,EAAqDzpJ,IAAI,CAAC+e,GAAL,KAAayqI,kBAAlE,EAAsFE,UAAtF,CAAjB;AACH;AACJ;;AACD,YAAI,CAAC/2E,OAAL,CAAa34H,GAAb,CAAiB24B,0DAAjB,EAAwC,+CAA8CqtB,IAAI,CAAC+e,GAAL,KAAayqI,kBAAmB,WAAUC,yBAA0B,6CAA1J;;AACA,YAAI,CAACxC,cAAL;AArEoB;AAsEvB;;AACD2C,EAAAA,kBAAkB,CAAC9N,kBAAD,EAAqB+N,mBAArB,EAA0CC,WAA1C,EAAuD;AACrE,QAAI;AACA,aAAO,KAAK5E,gBAAL,CAAsBtJ,4BAAtB,CAAmD;AACtDiO,QAAAA,mBADsD;AAEtD/N,QAAAA,kBAFsD;AAGtDgO,QAAAA;AAHsD,OAAnD,CAAP;AAKH,KAND,CAOA,OAAOlnK,CAAP,EAAU;AACN,WAAK+vF,OAAL,CAAa34H,GAAb,CAAiB24B,oDAAjB,EAAkC,6CAA4CmpK,kBAAmB,KAAI+N,mBAAoB,kBAAiBjnK,CAAE,IAA5I;;AACA,aAAO,IAAP;AACH;AACJ;;AACD0mK,EAAAA,yBAAyB,CAACh7L,KAAD,EAAQ;AAC7B,UAAMy+F,SAAS,GAAG,KAAKu4F,UAAvB;AACA,SAAKA,UAAL,GAAkB,EAAlB;AACAlrK,IAAAA,MAAM,CAACkD,IAAP,CAAYyvE,SAAZ,EACKjvE,OADL,CACcC,GAAD,IAAS;AAClB,YAAM8R,QAAQ,GAAGk9D,SAAS,CAAChvE,GAAD,CAA1B;;AACA,UAAI;AACA8R,QAAAA,QAAQ,CAAC,IAAD,EAAOvhC,KAAP,CAAR;AACH,OAFD,CAGA,OAAOs0B,CAAP,EAAU;AACN,aAAK+vF,OAAL,CAAa34H,GAAb,CAAiB24B,oDAAjB,EAAkC,wCAAuCrkB,KAAM,kBAAiBi2L,sDAAc,CAAC3hK,CAAD,CAAI,EAAlH;AACH;AACJ,KATD;AAUH;;AACDikK,EAAAA,iBAAiB,GAAG;AAChB,QAAI,KAAKqC,iBAAT,EAA4B;AACxBz0J,MAAAA,YAAY,CAAC,KAAKy0J,iBAAN,CAAZ;AACA,WAAKA,iBAAL,GAAyB5+J,SAAzB;AACH;AACJ;;AACDo8J,EAAAA,eAAe,GAAG;AACd,QAAI,KAAKviE,cAAT,EAAyB;AACrB1vF,MAAAA,YAAY,CAAC,KAAK0vF,cAAN,CAAZ;AACH;AACJ;;AACDikE,EAAAA,iBAAiB,CAACjB,UAAD,EAAa9kF,IAAb,EAAmB0nF,WAAnB,EAAgC1C,SAAhC,EAA2C;AACxD,QAAI0C,WAAJ,EAAiB;AACb,UAAI1C,SAAS,CAACziM,MAAV,KAAqB,CAAzB,EAA4B;AACxB,eAAO;AACH69B,UAAAA,SAAS,EAAE4/E,IADR;AAEHglF,UAAAA,SAFG;AAGHxhJ,UAAAA,MAAM,EAAEshJ,UAHL;AAIHj4L,UAAAA,IAAI,EAAEo1L,iEAAsBsE;AAJzB,SAAP;AAMH,OAPD,MAQK;AACD,eAAO;AACHnmK,UAAAA,SAAS,EAAE4/E,IADR;AAEHx8D,UAAAA,MAAM,EAAEshJ,UAFL;AAGHj4L,UAAAA,IAAI,EAAEo1L,iEAAsBsE;AAHzB,SAAP;AAKH;AACJ,KAhBD,MAiBK;AACD,YAAMd,YAAY,GAAG,KAAKnC,aAA1B;AACA,WAAKA,aAAL;;AACA,UAAI0B,SAAS,CAACziM,MAAV,KAAqB,CAAzB,EAA4B;AACxB,eAAO;AACH69B,UAAAA,SAAS,EAAE4/E,IADR;AAEHylF,UAAAA,YAAY,EAAEA,YAAY,CAAC3yJ,QAAb,EAFX;AAGHkyJ,UAAAA,SAHG;AAIHxhJ,UAAAA,MAAM,EAAEshJ,UAJL;AAKHj4L,UAAAA,IAAI,EAAEo1L,iEAAsBsE;AALzB,SAAP;AAOH,OARD,MASK;AACD,eAAO;AACHnmK,UAAAA,SAAS,EAAE4/E,IADR;AAEHylF,UAAAA,YAAY,EAAEA,YAAY,CAAC3yJ,QAAb,EAFX;AAGH0Q,UAAAA,MAAM,EAAEshJ,UAHL;AAIHj4L,UAAAA,IAAI,EAAEo1L,iEAAsBsE;AAJzB,SAAP;AAMH;AACJ;AACJ;;AACDV,EAAAA,cAAc,CAACd,OAAD,EAAUK,YAAV,EAAwB;AAClC,QAAIL,OAAO,CAACxiM,MAAR,KAAmB,CAAvB,EAA0B;AACtB;AACH,KAHiC,CAIlC;;;AACA,QAAI,CAAC6iM,YAAL,EAAmB;AACfA,MAAAA,YAAY,GAAGhmK,OAAO,CAACC,OAAR,EAAf;AACH,KAPiC,CAQlC;AACA;;;AACA,SAAK,MAAMsoK,QAAX,IAAuB5C,OAAvB,EAAgC;AAC5BA,MAAAA,OAAO,CAAC4C,QAAD,CAAP,CAAkBpxM,SAAlB,CAA4B;AACxBkK,QAAAA,QAAQ,EAAE,MAAM;AACZ2kM,UAAAA,YAAY,GAAGA,YAAY,CAAChoM,IAAb,CAAkB,MAAM,KAAKsoM,iBAAL,CAAuB,KAAKkC,wBAAL,CAA8BD,QAA9B,CAAvB,CAAxB,CAAf;AACH,SAHuB;AAIxB17L,QAAAA,KAAK,EAAG8lB,GAAD,IAAS;AACZ,cAAIt6B,OAAJ;;AACA,cAAIs6B,GAAG,YAAYgxB,KAAnB,EAA0B;AACtBtrD,YAAAA,OAAO,GAAGs6B,GAAG,CAACt6B,OAAd;AACH,WAFD,MAGK,IAAIs6B,GAAG,IAAIA,GAAG,CAAC+gB,QAAf,EAAyB;AAC1Br7C,YAAAA,OAAO,GAAGs6B,GAAG,CAAC+gB,QAAJ,EAAV;AACH,WAFI,MAGA;AACDr7C,YAAAA,OAAO,GAAG,eAAV;AACH;;AACD2tM,UAAAA,YAAY,GAAGA,YAAY,CAAChoM,IAAb,CAAkB,MAAM,KAAKsoM,iBAAL,CAAuB,KAAKkC,wBAAL,CAA8BD,QAA9B,EAAwClwM,OAAxC,CAAvB,CAAxB,CAAf;AACH,SAhBuB;AAiBxB+I,QAAAA,IAAI,EAAG4P,IAAD,IAAU;AACZg1L,UAAAA,YAAY,GAAGA,YAAY,CAAChoM,IAAb,CAAkB,MAAM,KAAKsoM,iBAAL,CAAuB,KAAKmC,wBAAL,CAA8BF,QAA9B,EAAwCv3L,IAAxC,CAAvB,CAAxB,CAAf;AACH;AAnBuB,OAA5B;AAqBH;AACJ;;AACD60L,EAAAA,uBAAuB,CAACjlF,IAAD,EAAO;AAC1B,UAAM+kF,OAAO,GAAG,EAAhB;AACA,UAAMC,SAAS,GAAG,EAAlB;;AACA,SAAK,IAAIz4L,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGyzG,IAAI,CAACz9G,MAAzB,EAAiCgK,CAAC,EAAlC,EAAsC;AAClC,YAAMu7L,QAAQ,GAAG9nF,IAAI,CAACzzG,CAAD,CAArB;;AACA,UAAI,KAAKw7L,aAAL,CAAmBD,QAAnB,CAAJ,EAAkC;AAC9B,cAAMH,QAAQ,GAAG,KAAKrE,aAAtB;AACA,aAAKA,aAAL,GAF8B,CAG9B;;AACAyB,QAAAA,OAAO,CAAC4C,QAAD,CAAP,GAAoBG,QAApB;AACA9C,QAAAA,SAAS,CAACnpK,IAAV,CAAe8rK,QAAQ,CAAC70J,QAAT,EAAf,EAL8B,CAM9B;;AACAktE,QAAAA,IAAI,CAAC+Y,MAAL,CAAYxsH,CAAZ,EAAe,CAAf;AACH;AACJ;;AACD,WAAO,CAACw4L,OAAD,EAAUC,SAAV,CAAP;AACH;;AACD+C,EAAAA,aAAa,CAAC18B,GAAD,EAAM;AACf;AACA,WAAOA,GAAG,IAAIA,GAAG,CAAC90K,SAAX,IAAwB,OAAO80K,GAAG,CAAC90K,SAAX,KAAyB,UAAxD;AACH;;AACD4uM,EAAAA,uBAAuB,CAACL,UAAD,EAAa9kF,IAAb,EAAmBglF,SAAnB,EAA8B;AACjD,UAAMS,YAAY,GAAG,KAAKnC,aAA1B;AACA,SAAKA,aAAL;;AACA,QAAI0B,SAAS,CAACziM,MAAV,KAAqB,CAAzB,EAA4B;AACxB,aAAO;AACH69B,QAAAA,SAAS,EAAE4/E,IADR;AAEHylF,QAAAA,YAAY,EAAEA,YAAY,CAAC3yJ,QAAb,EAFX;AAGHkyJ,QAAAA,SAHG;AAIHxhJ,QAAAA,MAAM,EAAEshJ,UAJL;AAKHj4L,QAAAA,IAAI,EAAEo1L,uEAA4B+F;AAL/B,OAAP;AAOH,KARD,MASK;AACD,aAAO;AACH5nK,QAAAA,SAAS,EAAE4/E,IADR;AAEHylF,QAAAA,YAAY,EAAEA,YAAY,CAAC3yJ,QAAb,EAFX;AAGH0Q,QAAAA,MAAM,EAAEshJ,UAHL;AAIHj4L,QAAAA,IAAI,EAAEo1L,uEAA4B+F;AAJ/B,OAAP;AAMH;AACJ;;AACDxC,EAAAA,uBAAuB,CAACziM,EAAD,EAAK;AACxB,WAAO;AACH0iM,MAAAA,YAAY,EAAE1iM,EADX;AAEH8J,MAAAA,IAAI,EAAEo1L,uEAA4BgG;AAF/B,KAAP;AAIH;;AACDJ,EAAAA,wBAAwB,CAAC9kM,EAAD,EAAKqN,IAAL,EAAW;AAC/B,WAAO;AACHq1L,MAAAA,YAAY,EAAE1iM,EADX;AAEHqN,MAAAA,IAFG;AAGHvD,MAAAA,IAAI,EAAEo1L,iEAAsBwE;AAHzB,KAAP;AAKH;;AACDmB,EAAAA,wBAAwB,CAAC7kM,EAAD,EAAKkJ,KAAL,EAAY1E,MAAZ,EAAoB;AACxC,QAAI0E,KAAJ,EAAW;AACP,aAAO;AACHA,QAAAA,KADG;AAEHw5L,QAAAA,YAAY,EAAE1iM,EAFX;AAGH8J,QAAAA,IAAI,EAAEo1L,iEAAsB2D;AAHzB,OAAP;AAKH;;AACD,WAAO;AACHH,MAAAA,YAAY,EAAE1iM,EADX;AAEHwE,MAAAA,MAFG;AAGHsF,MAAAA,IAAI,EAAEo1L,iEAAsB2D;AAHzB,KAAP;AAKH;;AA5yBsB;;;;;;;;;;;;;;;;;;;;;;ACxB3B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAMyC,mBAAmB,GAAG;AACxBzpK,EAAAA,KAAK,EAAEtO,oDADiB;AAExBg4K,EAAAA,KAAK,EAAEh4K,oDAFiB;AAGxB1U,EAAAA,IAAI,EAAE0U,0DAHkB;AAIxBi4K,EAAAA,WAAW,EAAEj4K,0DAJW;AAKxBk4K,EAAAA,IAAI,EAAEl4K,sDALkB;AAMxBuI,EAAAA,OAAO,EAAEvI,sDANe;AAOxBrkB,EAAAA,KAAK,EAAEqkB,oDAPiB;AAQxBm4K,EAAAA,QAAQ,EAAEn4K,uDARc;AASxBo4K,EAAAA,IAAI,EAAEp4K,mDAAa05B;AATK,CAA5B;;AAWA,SAAS2+I,aAAT,CAAuBviM,IAAvB,EAA6B;AACzB;AACA;AACA;AACA,QAAMwiM,OAAO,GAAGP,mBAAmB,CAACjiM,IAAI,CAAC62B,WAAL,EAAD,CAAnC;;AACA,MAAI,OAAO2rK,OAAP,KAAmB,WAAvB,EAAoC;AAChC,WAAOA,OAAP;AACH,GAFD,MAGK;AACD,UAAM,IAAI7lJ,KAAJ,CAAW,sBAAqB38C,IAAK,EAArC,CAAN;AACH;AACJ;AACD;;;AACO,MAAMyiM,oBAAN,CAA2B;AAC9BC,EAAAA,gBAAgB,CAACC,OAAD,EAAU;AACtB/L,IAAAA,kDAAA,CAAe+L,OAAf,EAAwB,SAAxB;;AACA,QAAIC,QAAQ,CAACD,OAAD,CAAZ,EAAuB;AACnB,WAAKxzK,MAAL,GAAcwzK,OAAd;AACH,KAFD,MAGK,IAAI,OAAOA,OAAP,KAAmB,QAAvB,EAAiC;AAClC,YAAM53K,QAAQ,GAAGw3K,aAAa,CAACI,OAAD,CAA9B;AACA,WAAKxzK,MAAL,GAAc,IAAI6yK,iDAAJ,CAAkBj3K,QAAlB,CAAd;AACH,KAHI,MAIA;AACD,WAAKoE,MAAL,GAAc,IAAI6yK,iDAAJ,CAAkBW,OAAlB,CAAd;AACH;;AACD,WAAO,IAAP;AACH;;AACDE,EAAAA,OAAO,CAACj2L,GAAD,EAAMk2L,sBAAN,EAA8B;AACjClM,IAAAA,kDAAA,CAAehqL,GAAf,EAAoB,KAApB;AACAgqL,IAAAA,kDAAA,CAAehqL,GAAf,EAAoB,KAApB;AACA,SAAKA,GAAL,GAAWA,GAAX,CAHiC,CAIjC;AACA;;AACA,QAAI,OAAOk2L,sBAAP,KAAkC,QAAtC,EAAgD;AAC5C,WAAKE,qBAAL,GAA6B,EAAE,GAAG,KAAKA,qBAAV;AAAiC,WAAGF;AAApC,OAA7B;AACH,KAFD,MAGK;AACD,WAAKE,qBAAL,GAA6B,EACzB,GAAG,KAAKA,qBADiB;AAEzBrP,QAAAA,SAAS,EAAEmP;AAFc,OAA7B;AAIH;;AACD,WAAO,IAAP;AACH;AACD;AACJ;AACA;AACA;;;AACIG,EAAAA,eAAe,CAAC3gE,QAAD,EAAW;AACtBs0D,IAAAA,kDAAA,CAAet0D,QAAf,EAAyB,UAAzB;AACA,SAAKA,QAAL,GAAgBA,QAAhB;AACA,WAAO,IAAP;AACH;;AACD4gE,EAAAA,sBAAsB,CAACC,4BAAD,EAA+B;AACjD,QAAI,KAAKhH,eAAT,EAA0B;AACtB,YAAM,IAAIx/I,KAAJ,CAAU,yCAAV,CAAN;AACH;;AACD,QAAI,CAACwmJ,4BAAL,EAAmC;AAC/B,WAAKhH,eAAL,GAAuB,IAAInJ,2EAAJ,EAAvB;AACH,KAFD,MAGK,IAAIr+J,KAAK,CAACi8E,OAAN,CAAcuyF,4BAAd,CAAJ,EAAiD;AAClD,WAAKhH,eAAL,GAAuB,IAAInJ,2EAAJ,CAA2BmQ,4BAA3B,CAAvB;AACH,KAFI,MAGA;AACD,WAAKhH,eAAL,GAAuBgH,4BAAvB;AACH;;AACD,WAAO,IAAP;AACH;AACD;AACJ;AACA;AACA;;;AACIpd,EAAAA,KAAK,GAAG;AACJ;AACA;AACA,UAAMid,qBAAqB,GAAG,KAAKA,qBAAL,IAA8B,EAA5D,CAHI,CAIJ;;AACA,QAAIA,qBAAqB,CAAC7zK,MAAtB,KAAiC0S,SAArC,EAAgD;AAC5C;AACAmhK,MAAAA,qBAAqB,CAAC7zK,MAAtB,GAA+B,KAAKA,MAApC;AACH,KARG,CASJ;;;AACA,QAAI,CAAC,KAAKviB,GAAV,EAAe;AACX,YAAM,IAAI+vC,KAAJ,CAAU,0FAAV,CAAN;AACH;;AACD,UAAM7rC,UAAU,GAAG,IAAImmL,2DAAJ,CAAmB,KAAKrqL,GAAxB,EAA6Bo2L,qBAA7B,CAAnB;AACA,WAAO9G,gEAAA,CAAqBprL,UAArB,EAAiC,KAAKqe,MAAL,IAAe4yK,yDAAhD,EAAqE,KAAKz/D,QAAL,IAAiB,IAAIw/D,6DAAJ,EAAtF,EAA6G,KAAK3F,eAAlH,CAAP;AACH;;AA3E6B;;AA6ElC,SAASyG,QAAT,CAAkBzzK,MAAlB,EAA0B;AACtB,SAAOA,MAAM,CAAC59B,GAAP,KAAeswC,SAAtB;AACH;;;;;;;;;;;;;;;AChHD;AACA;;AACA;AACO,IAAIg6J,WAAW;AACtB,GAAC,UAAUA,WAAV,EAAuB;AACpB;AACAA,IAAAA,WAAW,CAACA,WAAW,CAAC,YAAD,CAAX,GAA4B,CAA7B,CAAX,GAA6C,YAA7C;AACA;;AACAA,IAAAA,WAAW,CAACA,WAAW,CAAC,YAAD,CAAX,GAA4B,CAA7B,CAAX,GAA6C,YAA7C;AACA;;AACAA,IAAAA,WAAW,CAACA,WAAW,CAAC,YAAD,CAAX,GAA4B,CAA7B,CAAX,GAA6C,YAA7C;AACA;;AACAA,IAAAA,WAAW,CAACA,WAAW,CAAC,kBAAD,CAAX,GAAkC,CAAnC,CAAX,GAAmD,kBAAnD;AACA;;AACAA,IAAAA,WAAW,CAACA,WAAW,CAAC,kBAAD,CAAX,GAAkC,CAAnC,CAAX,GAAmD,kBAAnD;AACA;;AACAA,IAAAA,WAAW,CAACA,WAAW,CAAC,MAAD,CAAX,GAAsB,CAAvB,CAAX,GAAuC,MAAvC;AACA;;AACAA,IAAAA,WAAW,CAACA,WAAW,CAAC,OAAD,CAAX,GAAuB,CAAxB,CAAX,GAAwC,OAAxC;AACH,GAfD,EAeGA,WAAW,KAAKA,WAAW,GAAG,EAAnB,CAfd,CADsB;;AAAA,SAAXA,WAAW;AAAA,IAAf;;;;;;;;;;;;;;;ACHP;AACA;AACA;;AACA;AACA;AACA;AACA;AACO,IAAI3xK,QAAQ;AACnB,GAAC,UAAUA,QAAV,EAAoB;AACjB;AACAA,IAAAA,QAAQ,CAACA,QAAQ,CAAC,OAAD,CAAR,GAAoB,CAArB,CAAR,GAAkC,OAAlC;AACA;;AACAA,IAAAA,QAAQ,CAACA,QAAQ,CAAC,OAAD,CAAR,GAAoB,CAArB,CAAR,GAAkC,OAAlC;AACA;;AACAA,IAAAA,QAAQ,CAACA,QAAQ,CAAC,aAAD,CAAR,GAA0B,CAA3B,CAAR,GAAwC,aAAxC;AACA;;AACAA,IAAAA,QAAQ,CAACA,QAAQ,CAAC,SAAD,CAAR,GAAsB,CAAvB,CAAR,GAAoC,SAApC;AACA;;AACAA,IAAAA,QAAQ,CAACA,QAAQ,CAAC,OAAD,CAAR,GAAoB,CAArB,CAAR,GAAkC,OAAlC;AACA;;AACAA,IAAAA,QAAQ,CAACA,QAAQ,CAAC,UAAD,CAAR,GAAuB,CAAxB,CAAR,GAAqC,UAArC;AACA;;AACAA,IAAAA,QAAQ,CAACA,QAAQ,CAAC,MAAD,CAAR,GAAmB,CAApB,CAAR,GAAiC,MAAjC;AACH,GAfD,EAeGA,QAAQ,KAAKA,QAAQ,GAAG,EAAhB,CAfX,CADmB;;AAAA,SAARA,QAAQ;AAAA,IAAZ;;;;;;;;;;;;;;;;ACPP;AACA;AACA;;AACA;AACO,IAAIssK,iBAAiB;AAC5B,GAAC,UAAUA,iBAAV,EAA6B;AAC1B;AACAA,IAAAA,iBAAiB,CAACA,iBAAiB,CAAC,MAAD,CAAjB,GAA4B,CAA7B,CAAjB,GAAmD,MAAnD;AACA;;AACAA,IAAAA,iBAAiB,CAACA,iBAAiB,CAAC,YAAD,CAAjB,GAAkC,CAAnC,CAAjB,GAAyD,YAAzD;AACA;;AACAA,IAAAA,iBAAiB,CAACA,iBAAiB,CAAC,kBAAD,CAAjB,GAAwC,CAAzC,CAAjB,GAA+D,kBAA/D;AACA;;AACAA,IAAAA,iBAAiB,CAACA,iBAAiB,CAAC,aAAD,CAAjB,GAAmC,CAApC,CAAjB,GAA0D,aAA1D;AACH,GATD,EASGA,iBAAiB,KAAKA,iBAAiB,GAAG,EAAzB,CATpB,CAD4B;;AAAA,SAAjBA,iBAAiB;AAAA,IAArB;;AAWP;AACO,IAAIC,cAAc;AACzB,GAAC,UAAUA,cAAV,EAA0B;AACvB;AACAA,IAAAA,cAAc,CAACA,cAAc,CAAC,MAAD,CAAd,GAAyB,CAA1B,CAAd,GAA6C,MAA7C;AACA;;AACAA,IAAAA,cAAc,CAACA,cAAc,CAAC,QAAD,CAAd,GAA2B,CAA5B,CAAd,GAA+C,QAA/C;AACH,GALD,EAKGA,cAAc,KAAKA,cAAc,GAAG,EAAtB,CALjB,CADyB;;AAAA,SAAdA,cAAc;AAAA,IAAlB;;;;;;;;;;;;;;;;;;;;AChBP;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM2M,sBAAsB,GAAG,MAA/B;AACA;;AACO,MAAMtB,eAAN,CAAsB;AACzB7yM,EAAAA,WAAW,GAAG;AACV;AACA,SAAK+Q,IAAL,GAAYojM,sBAAZ;AACA;;AACA,SAAKhzM,OAAL,GAAe,CAAf;AACA;;AACA,SAAK4nM,cAAL,GAAsBvB,4DAAtB;AACH;AACD;AACJ;AACA;AACA;AACA;;;AACIyJ,EAAAA,aAAa,CAACn4I,KAAD,EAAQ54B,MAAR,EAAgB;AACzB;AACA,QAAI,OAAO44B,KAAP,KAAiB,QAArB,EAA+B;AAC3B,YAAM,IAAIpL,KAAJ,CAAU,yDAAV,CAAN;AACH;;AACD,QAAI,CAACoL,KAAL,EAAY;AACR,aAAO,EAAP;AACH;;AACD,QAAI54B,MAAM,KAAK,IAAf,EAAqB;AACjBA,MAAAA,MAAM,GAAG4yK,yDAAT;AACH,KAVwB,CAWzB;;;AACA,UAAMpsL,QAAQ,GAAG0/K,uEAAA,CAAwBttI,KAAxB,CAAjB;AACA,UAAMu7I,WAAW,GAAG,EAApB;;AACA,SAAK,MAAMjyM,OAAX,IAAsBskB,QAAtB,EAAgC;AAC5B,YAAM4tL,aAAa,GAAGl1L,IAAI,CAACC,KAAL,CAAWjd,OAAX,CAAtB;;AACA,UAAI,OAAOkyM,aAAa,CAAC98L,IAArB,KAA8B,QAAlC,EAA4C;AACxC,cAAM,IAAIk2C,KAAJ,CAAU,kBAAV,CAAN;AACH;;AACD,cAAQ4mJ,aAAa,CAAC98L,IAAtB;AACI,aAAKo1L,iEAAL;AACI,eAAK2H,oBAAL,CAA0BD,aAA1B;;AACA;;AACJ,aAAK1H,iEAAL;AACI,eAAK4H,oBAAL,CAA0BF,aAA1B;;AACA;;AACJ,aAAK1H,iEAAL;AACI,eAAK6H,oBAAL,CAA0BH,aAA1B;;AACA;;AACJ,aAAK1H,2DAAL;AACI;AACA;;AACJ,aAAKA,4DAAL;AACI;AACA;;AACJ;AACI;AACA1sK,UAAAA,MAAM,CAAC59B,GAAP,CAAW24B,0DAAX,EAAiC,2BAA2Bq5K,aAAa,CAAC98L,IAAzC,GAAgD,YAAjF;AACA;AAnBR;;AAqBA68L,MAAAA,WAAW,CAAC7tK,IAAZ,CAAiB8tK,aAAjB;AACH;;AACD,WAAOD,WAAP;AACH;AACD;AACJ;AACA;AACA;AACA;;;AACIhG,EAAAA,YAAY,CAACjsM,OAAD,EAAU;AAClB,WAAOgkM,uEAAA,CAAwBhnL,IAAI,CAACI,SAAL,CAAepd,OAAf,CAAxB,CAAP;AACH;;AACDmyM,EAAAA,oBAAoB,CAACnyM,OAAD,EAAU;AAC1B,SAAKsyM,qBAAL,CAA2BtyM,OAAO,CAAC+rD,MAAnC,EAA2C,yCAA3C;;AACA,QAAI/rD,OAAO,CAACguM,YAAR,KAAyBx9J,SAA7B,EAAwC;AACpC,WAAK8hK,qBAAL,CAA2BtyM,OAAO,CAACguM,YAAnC,EAAiD,yCAAjD;AACH;AACJ;;AACDoE,EAAAA,oBAAoB,CAACpyM,OAAD,EAAU;AAC1B,SAAKsyM,qBAAL,CAA2BtyM,OAAO,CAACguM,YAAnC,EAAiD,yCAAjD;;AACA,QAAIhuM,OAAO,CAAC2Y,IAAR,KAAiB63B,SAArB,EAAgC;AAC5B,YAAM,IAAI8a,KAAJ,CAAU,yCAAV,CAAN;AACH;AACJ;;AACD+mJ,EAAAA,oBAAoB,CAACryM,OAAD,EAAU;AAC1B,QAAIA,OAAO,CAAC8P,MAAR,IAAkB9P,OAAO,CAACwU,KAA9B,EAAqC;AACjC,YAAM,IAAI82C,KAAJ,CAAU,yCAAV,CAAN;AACH;;AACD,QAAI,CAACtrD,OAAO,CAAC8P,MAAT,IAAmB9P,OAAO,CAACwU,KAA/B,EAAsC;AAClC,WAAK89L,qBAAL,CAA2BtyM,OAAO,CAACwU,KAAnC,EAA0C,yCAA1C;AACH;;AACD,SAAK89L,qBAAL,CAA2BtyM,OAAO,CAACguM,YAAnC,EAAiD,yCAAjD;AACH;;AACDsE,EAAAA,qBAAqB,CAACjjM,KAAD,EAAQwxD,YAAR,EAAsB;AACvC,QAAI,OAAOxxD,KAAP,KAAiB,QAAjB,IAA6BA,KAAK,KAAK,EAA3C,EAA+C;AAC3C,YAAM,IAAIi8C,KAAJ,CAAUuV,YAAV,CAAN;AACH;AACJ;;AA3FwB;;;;;;;;;;;;;;;ACT7B;AACA;;AACA;AACO,MAAM6vI,UAAN,CAAiB;AACpB9yM,EAAAA,WAAW,GAAG,CAAG;AACjB;AACA;;;AACAsC,EAAAA,GAAG,CAACqyM,SAAD,EAAYC,QAAZ,EAAsB,CACxB;;AALmB;AAOxB;;AACA9B,UAAU,CAACl0K,QAAX,GAAsB,IAAIk0K,UAAJ,EAAtB;;;;;;;;;;;;;;;;;;;;;;;ACXA;AACA;AACA;AACA;AACA;AACA;AACA;CAEA;;AACA;;AACO,MAAMrL,oBAAN,CAA2B;AAC9BznM,EAAAA,WAAW,CAACyoM,UAAD,EAAamB,kBAAb,EAAiC1pK,MAAjC,EAAyCjS,OAAzC,EAAkD;AACzD,SAAK01K,WAAL,GAAmB8E,UAAnB;AACA,SAAKkB,mBAAL,GAA2BC,kBAA3B;AACA,SAAK3uE,OAAL,GAAe/6F,MAAf;AACA,SAAK40K,UAAL,GAAkB,IAAI7R,6DAAJ,EAAlB;AACA,SAAK2F,QAAL,GAAgB36K,OAAhB;AACA,SAAK8mL,QAAL,GAAgB,KAAhB;AACA,SAAKlM,SAAL,GAAiB,IAAjB;AACA,SAAKC,OAAL,GAAe,IAAf;AACH,GAV6B,CAW9B;;;AACe,MAAXkM,WAAW,GAAG;AACd,WAAO,KAAKF,UAAL,CAAgBnvB,OAAvB;AACH;;AACK6lB,EAAAA,OAAO,CAAC7tL,GAAD,EAAMorL,cAAN,EAAsB;AAAA;;AAAA;AAC/BpB,MAAAA,kDAAA,CAAehqL,GAAf,EAAoB,KAApB;AACAgqL,MAAAA,kDAAA,CAAeoB,cAAf,EAA+B,gBAA/B;AACApB,MAAAA,4CAAA,CAASoB,cAAT,EAAyBvB,uDAAzB,EAAyC,gBAAzC;AACA,WAAI,CAACyN,IAAL,GAAYt3L,GAAZ;;AACA,WAAI,CAACs9G,OAAL,CAAa34H,GAAb,CAAiB24B,oDAAjB,EAAiC,qCAAjC,EAL+B,CAM/B;;;AACA,UAAI8tK,cAAc,KAAKvB,8DAAnB,IACC,OAAO9pH,cAAP,KAA0B,WAA1B,IAAyC,OAAO,IAAIA,cAAJ,GAAqBqtG,YAA5B,KAA6C,QAD3F,EACsG;AAClG,cAAM,IAAIr9H,KAAJ,CAAU,4FAAV,CAAN;AACH;;AACD,YAAM,CAAC38C,IAAD,EAAOU,KAAP,IAAgBo2L,0DAAkB,EAAxC;AACA,YAAMziK,OAAO,GAAG;AAAE,SAACr0B,IAAD,GAAQU,KAAV;AAAiB,WAAG,KAAI,CAACm3L,QAAL,CAAcxjK;AAAlC,OAAhB;AACA,YAAM8vK,WAAW,GAAG;AAChBtR,QAAAA,WAAW,EAAE,KAAI,CAACkR,UAAL,CAAgB1R,MADb;AAEhBh+J,QAAAA,OAFgB;AAGhBsmC,QAAAA,OAAO,EAAE,MAHO;AAIhBm6H,QAAAA,eAAe,EAAE,KAAI,CAAC+C,QAAL,CAAc/C;AAJf,OAApB;;AAMA,UAAIkD,cAAc,KAAKvB,8DAAvB,EAA8C;AAC1C0N,QAAAA,WAAW,CAACnqB,YAAZ,GAA2B,aAA3B;AACH;;AACD,YAAMpqJ,KAAK,SAAS,KAAI,CAACw0K,eAAL,EAApB;;AACA,WAAI,CAACC,kBAAL,CAAwBF,WAAxB,EAAqCv0K,KAArC,EAvB+B,CAwB/B;AACA;;;AACA,YAAM00K,OAAO,GAAI,GAAE13L,GAAI,MAAK2qC,IAAI,CAAC+e,GAAL,EAAW,EAAvC;;AACA,WAAI,CAAC4zD,OAAL,CAAa34H,GAAb,CAAiB24B,oDAAjB,EAAkC,oCAAmCo6K,OAAQ,GAA7E;;AACA,YAAMvyK,QAAQ,SAAS,KAAI,CAAC6gK,WAAL,CAAiB3iM,GAAjB,CAAqBq0M,OAArB,EAA8BH,WAA9B,CAAvB;;AACA,UAAIpyK,QAAQ,CAACotG,UAAT,KAAwB,GAA5B,EAAiC;AAC7B,aAAI,CAACjV,OAAL,CAAa34H,GAAb,CAAiB24B,oDAAjB,EAAkC,qDAAoD6H,QAAQ,CAACotG,UAAW,GAA1G,EAD6B,CAE7B;;;AACA,aAAI,CAAColE,WAAL,GAAmB,IAAIjR,8CAAJ,CAAcvhK,QAAQ,CAACuvG,UAAT,IAAuB,EAArC,EAAyCvvG,QAAQ,CAACotG,UAAlD,CAAnB;AACA,aAAI,CAAC6kE,QAAL,GAAgB,KAAhB;AACH,OALD,MAMK;AACD,aAAI,CAACA,QAAL,GAAgB,IAAhB;AACH;;AACD,WAAI,CAACQ,UAAL,GAAkB,KAAI,CAACC,KAAL,CAAW,KAAI,CAACP,IAAhB,EAAsBC,WAAtB,CAAlB;AAtC+B;AAuClC;;AACKC,EAAAA,eAAe,GAAG;AAAA;;AAAA;AACpB,UAAI,MAAI,CAACxL,mBAAT,EAA8B;AAC1B,qBAAa,MAAI,CAACA,mBAAL,EAAb;AACH;;AACD,aAAO,IAAP;AAJoB;AAKvB;;AACDyL,EAAAA,kBAAkB,CAACh2K,OAAD,EAAUuB,KAAV,EAAiB;AAC/B,QAAI,CAACvB,OAAO,CAACgG,OAAb,EAAsB;AAClBhG,MAAAA,OAAO,CAACgG,OAAR,GAAkB,EAAlB;AACH;;AACD,QAAIzE,KAAJ,EAAW;AACPvB,MAAAA,OAAO,CAACgG,OAAR,CAAgBqzD,mEAAhB,IAA8C,UAAS93D,KAAM,EAA7D;AACA;AACH;;AACD,QAAIvB,OAAO,CAACgG,OAAR,CAAgBqzD,mEAAhB,CAAJ,EAAgD;AAC5C,aAAOr5D,OAAO,CAACgG,OAAR,CAAgBqzD,mEAAhB,CAAP;AACH;AACJ;;AACK+8G,EAAAA,KAAK,CAAC73L,GAAD,EAAMu3L,WAAN,EAAmB;AAAA;;AAAA;AAC1B,UAAI;AACA,eAAO,MAAI,CAACH,QAAZ,EAAsB;AAClB;AACA,gBAAMp0K,KAAK,SAAS,MAAI,CAACw0K,eAAL,EAApB;;AACA,gBAAI,CAACC,kBAAL,CAAwBF,WAAxB,EAAqCv0K,KAArC;;AACA,cAAI;AACA,kBAAM00K,OAAO,GAAI,GAAE13L,GAAI,MAAK2qC,IAAI,CAAC+e,GAAL,EAAW,EAAvC;;AACA,kBAAI,CAAC4zD,OAAL,CAAa34H,GAAb,CAAiB24B,oDAAjB,EAAkC,oCAAmCo6K,OAAQ,GAA7E;;AACA,kBAAMvyK,QAAQ,SAAS,MAAI,CAAC6gK,WAAL,CAAiB3iM,GAAjB,CAAqBq0M,OAArB,EAA8BH,WAA9B,CAAvB;;AACA,gBAAIpyK,QAAQ,CAACotG,UAAT,KAAwB,GAA5B,EAAiC;AAC7B,oBAAI,CAACjV,OAAL,CAAa34H,GAAb,CAAiB24B,0DAAjB,EAAuC,oDAAvC;;AACA,oBAAI,CAAC85K,QAAL,GAAgB,KAAhB;AACH,aAHD,MAIK,IAAIjyK,QAAQ,CAACotG,UAAT,KAAwB,GAA5B,EAAiC;AAClC,oBAAI,CAACjV,OAAL,CAAa34H,GAAb,CAAiB24B,oDAAjB,EAAkC,qDAAoD6H,QAAQ,CAACotG,UAAW,GAA1G,EADkC,CAElC;;;AACA,oBAAI,CAAColE,WAAL,GAAmB,IAAIjR,8CAAJ,CAAcvhK,QAAQ,CAACuvG,UAAT,IAAuB,EAArC,EAAyCvvG,QAAQ,CAACotG,UAAlD,CAAnB;AACA,oBAAI,CAAC6kE,QAAL,GAAgB,KAAhB;AACH,aALI,MAMA;AACD;AACA,kBAAIjyK,QAAQ,CAACwhF,OAAb,EAAsB;AAClB,sBAAI,CAAC2W,OAAL,CAAa34H,GAAb,CAAiB24B,oDAAjB,EAAkC,0CAAyC45K,qDAAa,CAAC/xK,QAAQ,CAACwhF,OAAV,EAAmB,MAAI,CAACskF,QAAL,CAAcR,iBAAjC,CAAoD,GAA5I;;AACA,oBAAI,MAAI,CAACS,SAAT,EAAoB;AAChB,wBAAI,CAACA,SAAL,CAAe/lK,QAAQ,CAACwhF,OAAxB;AACH;AACJ,eALD,MAMK;AACD;AACA,sBAAI,CAAC2W,OAAL,CAAa34H,GAAb,CAAiB24B,oDAAjB,EAAiC,oDAAjC;AACH;AACJ;AACJ,WA3BD,CA4BA,OAAOiQ,CAAP,EAAU;AACN,gBAAI,CAAC,MAAI,CAAC6pK,QAAV,EAAoB;AAChB;AACA,oBAAI,CAAC95E,OAAL,CAAa34H,GAAb,CAAiB24B,oDAAjB,EAAkC,wDAAuDiQ,CAAC,CAAC9oC,OAAQ,EAAnG;AACH,aAHD,MAIK;AACD,kBAAI8oC,CAAC,YAAYs5J,iDAAjB,EAA+B;AAC3B;AACA,sBAAI,CAACvpE,OAAL,CAAa34H,GAAb,CAAiB24B,oDAAjB,EAAiC,oDAAjC;AACH,eAHD,MAIK;AACD;AACA,sBAAI,CAACq6K,WAAL,GAAmBpqK,CAAnB;AACA,sBAAI,CAAC6pK,QAAL,GAAgB,KAAhB;AACH;AACJ;AACJ;AACJ;AACJ,OAnDD,SAoDQ;AACJ,cAAI,CAAC95E,OAAL,CAAa34H,GAAb,CAAiB24B,oDAAjB,EAAiC,2CAAjC,EADI,CAEJ;AACA;;;AACA,YAAI,CAAC,MAAI,CAAC+5K,WAAV,EAAuB;AACnB,gBAAI,CAACS,aAAL;AACH;AACJ;AA5DyB;AA6D7B;;AACKx3H,EAAAA,IAAI,CAAC/1E,IAAD,EAAO;AAAA;;AAAA;AACb,UAAI,CAAC,MAAI,CAAC6sM,QAAV,EAAoB;AAChB,eAAOhrK,OAAO,CAAC2B,MAAR,CAAe,IAAIgiB,KAAJ,CAAU,8CAAV,CAAf,CAAP;AACH;;AACD,aAAOvjC,mDAAW,CAAC,MAAI,CAAC8wG,OAAN,EAAe,aAAf,EAA8B,MAAI,CAAC0oE,WAAnC,EAAgD,MAAI,CAACsR,IAArD,EAA2D,MAAI,CAACtL,mBAAhE,EAAqFzhM,IAArF,EAA2F,MAAI,CAAC0gM,QAAhG,CAAlB;AAJa;AAKhB;;AACKjjF,EAAAA,IAAI,GAAG;AAAA;;AAAA;AACT,YAAI,CAACsV,OAAL,CAAa34H,GAAb,CAAiB24B,oDAAjB,EAAiC,2CAAjC,EADS,CAET;;;AACA,YAAI,CAAC85K,QAAL,GAAgB,KAAhB;;AACA,YAAI,CAACD,UAAL,CAAgBlwB,KAAhB;;AACA,UAAI;AACA,cAAM,MAAI,CAAC2wB,UAAX,CADA,CAEA;;AACA,cAAI,CAACt6E,OAAL,CAAa34H,GAAb,CAAiB24B,oDAAjB,EAAkC,qDAAoD,MAAI,CAACg6K,IAAK,GAAhG;;AACA,cAAM7vK,OAAO,GAAG,EAAhB;AACA,cAAM,CAACr0B,IAAD,EAAOU,KAAP,IAAgBo2L,0DAAkB,EAAxC;AACAziK,QAAAA,OAAO,CAACr0B,IAAD,CAAP,GAAgBU,KAAhB;AACA,cAAMikM,aAAa,GAAG;AAClBtwK,UAAAA,OAAO,EAAE,EAAE,GAAGA,OAAL;AAAc,eAAG,MAAI,CAACwjK,QAAL,CAAcxjK;AAA/B,WADS;AAElBsmC,UAAAA,OAAO,EAAE,MAAI,CAACk9H,QAAL,CAAcl9H,OAFL;AAGlBm6H,UAAAA,eAAe,EAAE,MAAI,CAAC+C,QAAL,CAAc/C;AAHb,SAAtB;AAKA,cAAMllK,KAAK,SAAS,MAAI,CAACw0K,eAAL,EAApB;;AACA,cAAI,CAACC,kBAAL,CAAwBM,aAAxB,EAAuC/0K,KAAvC;;AACA,cAAM,MAAI,CAACgjK,WAAL,CAAiBxuJ,MAAjB,CAAwB,MAAI,CAAC8/J,IAA7B,EAAmCS,aAAnC,CAAN;;AACA,cAAI,CAACz6E,OAAL,CAAa34H,GAAb,CAAiB24B,oDAAjB,EAAiC,8CAAjC;AACH,OAhBD,SAiBQ;AACJ,cAAI,CAACggG,OAAL,CAAa34H,GAAb,CAAiB24B,oDAAjB,EAAiC,wCAAjC,EADI,CAEJ;AACA;;;AACA,cAAI,CAACw6K,aAAL;AACH;AA3BQ;AA4BZ;;AACDA,EAAAA,aAAa,GAAG;AACZ,QAAI,KAAK3M,OAAT,EAAkB;AACd,UAAIz9F,UAAU,GAAG,+CAAjB;;AACA,UAAI,KAAKiqG,WAAT,EAAsB;AAClBjqG,QAAAA,UAAU,IAAI,aAAa,KAAKiqG,WAAhC;AACH;;AACD,WAAKr6E,OAAL,CAAa34H,GAAb,CAAiB24B,oDAAjB,EAAiCowE,UAAjC;;AACA,WAAKy9F,OAAL,CAAa,KAAKwM,WAAlB;AACH;AACJ;;AAnL6B;;;;;;;;;;;;;;;;;;;;ACVlC;AACA;AACA;AACA;AACA;AACA;;AACO,MAAM5N,yBAAN,CAAgC;AACnC1nM,EAAAA,WAAW,CAACyoM,UAAD,EAAamB,kBAAb,EAAiC1pK,MAAjC,EAAyCjS,OAAzC,EAAkD;AACzD,SAAK01K,WAAL,GAAmB8E,UAAnB;AACA,SAAKkB,mBAAL,GAA2BC,kBAA3B;AACA,SAAK3uE,OAAL,GAAe/6F,MAAf;AACA,SAAK0oK,QAAL,GAAgB36K,OAAhB;AACA,SAAK46K,SAAL,GAAiB,IAAjB;AACA,SAAKC,OAAL,GAAe,IAAf;AACH;;AACK0C,EAAAA,OAAO,CAAC7tL,GAAD,EAAMorL,cAAN,EAAsB;AAAA;;AAAA;AAC/BpB,MAAAA,kDAAA,CAAehqL,GAAf,EAAoB,KAApB;AACAgqL,MAAAA,kDAAA,CAAeoB,cAAf,EAA+B,gBAA/B;AACApB,MAAAA,4CAAA,CAASoB,cAAT,EAAyBvB,uDAAzB,EAAyC,gBAAzC;;AACA,WAAI,CAACvsE,OAAL,CAAa34H,GAAb,CAAiB24B,oDAAjB,EAAiC,6BAAjC,EAJ+B,CAK/B;;;AACA,WAAI,CAACg6K,IAAL,GAAYt3L,GAAZ;;AACA,UAAI,KAAI,CAACgsL,mBAAT,EAA8B;AAC1B,cAAMhpK,KAAK,SAAS,KAAI,CAACgpK,mBAAL,EAApB;;AACA,YAAIhpK,KAAJ,EAAW;AACPhjB,UAAAA,GAAG,IAAI,CAACA,GAAG,CAAChF,OAAJ,CAAY,GAAZ,IAAmB,CAAnB,GAAuB,GAAvB,GAA6B,GAA9B,IAAsC,gBAAe8uC,kBAAkB,CAAC9mB,KAAD,CAAQ,EAAtF;AACH;AACJ;;AACD,aAAO,IAAIoJ,OAAJ,CAAY,CAACC,OAAD,EAAU0B,MAAV,KAAqB;AACpC,YAAIiqK,MAAM,GAAG,KAAb;;AACA,YAAI5M,cAAc,KAAKvB,4DAAvB,EAA4C;AACxC97J,UAAAA,MAAM,CAAC,IAAIgiB,KAAJ,CAAU,2EAAV,CAAD,CAAN;AACA;AACH;;AACD,YAAIkoJ,WAAJ;;AACA,YAAIrS,sDAAA,IAAsBA,wDAA1B,EAAgD;AAC5CqS,UAAAA,WAAW,GAAG,IAAI,KAAI,CAAChN,QAAL,CAAcJ,WAAlB,CAA8B7qL,GAA9B,EAAmC;AAAEkoL,YAAAA,eAAe,EAAE,KAAI,CAAC+C,QAAL,CAAc/C;AAAjC,WAAnC,CAAd;AACH,SAFD,MAGK;AACD;AACA,gBAAMI,OAAO,GAAG,KAAI,CAACtC,WAAL,CAAiBE,eAAjB,CAAiClmL,GAAjC,CAAhB;;AACA,gBAAMynB,OAAO,GAAG,EAAhB;AACAA,UAAAA,OAAO,CAACkiK,MAAR,GAAiBrB,OAAjB;AACA,gBAAM,CAACl1L,IAAD,EAAOU,KAAP,IAAgBo2L,0DAAkB,EAAxC;AACAziK,UAAAA,OAAO,CAACr0B,IAAD,CAAP,GAAgBU,KAAhB;AACAmkM,UAAAA,WAAW,GAAG,IAAI,KAAI,CAAChN,QAAL,CAAcJ,WAAlB,CAA8B7qL,GAA9B,EAAmC;AAAEkoL,YAAAA,eAAe,EAAE,KAAI,CAAC+C,QAAL,CAAc/C,eAAjC;AAAkDzgK,YAAAA,OAAO,EAAE,EAAE,GAAGA,OAAL;AAAc,iBAAG,KAAI,CAACwjK,QAAL,CAAcxjK;AAA/B;AAA3D,WAAnC,CAAd;AACH;;AACD,YAAI;AACAwwK,UAAAA,WAAW,CAACp5J,SAAZ,GAAyBtR,CAAD,IAAO;AAC3B,gBAAI,KAAI,CAAC29J,SAAT,EAAoB;AAChB,kBAAI;AACA,qBAAI,CAAC5tE,OAAL,CAAa34H,GAAb,CAAiB24B,oDAAjB,EAAkC,kCAAiC45K,qDAAa,CAAC3pK,CAAC,CAAChjC,IAAH,EAAS,KAAI,CAAC0gM,QAAL,CAAcR,iBAAvB,CAA0C,GAA1H;;AACA,qBAAI,CAACS,SAAL,CAAe39J,CAAC,CAAChjC,IAAjB;AACH,eAHD,CAIA,OAAO0O,KAAP,EAAc;AACV,qBAAI,CAACi/L,MAAL,CAAYj/L,KAAZ;;AACA;AACH;AACJ;AACJ,WAXD,CADA,CAaA;;;AACAg/L,UAAAA,WAAW,CAAC53H,OAAZ,GAAuB9yC,CAAD,IAAO;AACzB;AACA,gBAAIyqK,MAAJ,EAAY;AACR,mBAAI,CAACE,MAAL;AACH,aAFD,MAGK;AACDnqK,cAAAA,MAAM,CAAC,IAAIgiB,KAAJ,CAAU,oFACX,0GADW,GAEX,uEAFC,CAAD,CAAN;AAGH;AACJ,WAVD;;AAWAkoJ,UAAAA,WAAW,CAACE,MAAZ,GAAqB,MAAM;AACvB,iBAAI,CAAC76E,OAAL,CAAa34H,GAAb,CAAiB24B,0DAAjB,EAAwC,oBAAmB,KAAI,CAACg6K,IAAK,EAArE;;AACA,iBAAI,CAACc,YAAL,GAAoBH,WAApB;AACAD,YAAAA,MAAM,GAAG,IAAT;AACA3rK,YAAAA,OAAO;AACV,WALD;AAMH,SA/BD,CAgCA,OAAOkB,CAAP,EAAU;AACNQ,UAAAA,MAAM,CAACR,CAAD,CAAN;AACA;AACH;AACJ,OAvDM,CAAP;AAb+B;AAqElC;;AACK+yC,EAAAA,IAAI,CAAC/1E,IAAD,EAAO;AAAA;;AAAA;AACb,UAAI,CAAC,MAAI,CAAC6tM,YAAV,EAAwB;AACpB,eAAOhsK,OAAO,CAAC2B,MAAR,CAAe,IAAIgiB,KAAJ,CAAU,8CAAV,CAAf,CAAP;AACH;;AACD,aAAOvjC,mDAAW,CAAC,MAAI,CAAC8wG,OAAN,EAAe,KAAf,EAAsB,MAAI,CAAC0oE,WAA3B,EAAwC,MAAI,CAACsR,IAA7C,EAAmD,MAAI,CAACtL,mBAAxD,EAA6EzhM,IAA7E,EAAmF,MAAI,CAAC0gM,QAAxF,CAAlB;AAJa;AAKhB;;AACDjjF,EAAAA,IAAI,GAAG;AACH,SAAKkwF,MAAL;;AACA,WAAO9rK,OAAO,CAACC,OAAR,EAAP;AACH;;AACD6rK,EAAAA,MAAM,CAAC3qK,CAAD,EAAI;AACN,QAAI,KAAK6qK,YAAT,EAAuB;AACnB,WAAKA,YAAL,CAAkBlgM,KAAlB;;AACA,WAAKkgM,YAAL,GAAoBnjK,SAApB;;AACA,UAAI,KAAKk2J,OAAT,EAAkB;AACd,aAAKA,OAAL,CAAa59J,CAAb;AACH;AACJ;AACJ;;AAjGkC;;;;;;;;;;;;;;;;ACNvC;AACA;AACA;AACA;;AACO,MAAMvhC,OAAN,CAAc;AACjB3J,EAAAA,WAAW,GAAG;AACV,SAAKi2M,SAAL,GAAiB,EAAjB;AACH;;AACD9qM,EAAAA,IAAI,CAAC4P,IAAD,EAAO;AACP,SAAK,MAAMm7L,QAAX,IAAuB,KAAKD,SAA5B,EAAuC;AACnCC,MAAAA,QAAQ,CAAC/qM,IAAT,CAAc4P,IAAd;AACH;AACJ;;AACDnE,EAAAA,KAAK,CAAC8lB,GAAD,EAAM;AACP,SAAK,MAAMw5K,QAAX,IAAuB,KAAKD,SAA5B,EAAuC;AACnC,UAAIC,QAAQ,CAACt/L,KAAb,EAAoB;AAChBs/L,QAAAA,QAAQ,CAACt/L,KAAT,CAAe8lB,GAAf;AACH;AACJ;AACJ;;AACDtxB,EAAAA,QAAQ,GAAG;AACP,SAAK,MAAM8qM,QAAX,IAAuB,KAAKD,SAA5B,EAAuC;AACnC,UAAIC,QAAQ,CAAC9qM,QAAb,EAAuB;AACnB8qM,QAAAA,QAAQ,CAAC9qM,QAAT;AACH;AACJ;AACJ;;AACDlK,EAAAA,SAAS,CAACg1M,QAAD,EAAW;AAChB,SAAKD,SAAL,CAAezvK,IAAf,CAAoB0vK,QAApB;AACA,WAAO,IAAIF,uDAAJ,CAAwB,IAAxB,EAA8BE,QAA9B,CAAP;AACH;;AA1BgB;;;;;;;;;;;;;;;ACJrB;AACA;AACA;;AACA;AACO,MAAM9P,iBAAN,CAAwB;AACf,SAALK,KAAK,CAAC3yD,MAAD,EAAS;AACjB,WAAQ,GAAEA,MAAO,GAAEsyD,iBAAiB,CAACe,eAAgB,EAArD;AACH;;AACW,SAAL9nL,KAAK,CAACy5C,KAAD,EAAQ;AAChB,QAAIA,KAAK,CAACA,KAAK,CAAC5rD,MAAN,GAAe,CAAhB,CAAL,KAA4Bk5L,iBAAiB,CAACe,eAAlD,EAAmE;AAC/D,YAAM,IAAIz5I,KAAJ,CAAU,wBAAV,CAAN;AACH;;AACD,UAAMhnC,QAAQ,GAAGoyC,KAAK,CAACx5C,KAAN,CAAY8mL,iBAAiB,CAACe,eAA9B,CAAjB;AACAzgL,IAAAA,QAAQ,CAACoY,GAAT;AACA,WAAOpY,QAAP;AACH;;AAX0B;AAa/B0/K,iBAAiB,CAACW,mBAAlB,GAAwC,IAAxC;AACAX,iBAAiB,CAACe,eAAlB,GAAoClnI,MAAM,CAACC,YAAP,CAAoBkmI,iBAAiB,CAACW,mBAAtC,CAApC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AClBA;AACA;AACA;CAEA;;AACA;;AACO,MAAMhqK,OAAO,GAAG,QAAhB;AACP;;AACO,MAAM4qK,GAAN,CAAU;AACI,SAAVtzD,UAAU,CAAC5gC,GAAD,EAAM1iG,IAAN,EAAY;AACzB,QAAI0iG,GAAG,KAAK,IAAR,IAAgBA,GAAG,KAAK7gE,SAA5B,EAAuC;AACnC,YAAM,IAAI8a,KAAJ,CAAW,QAAO38C,IAAK,yBAAvB,CAAN;AACH;AACJ;;AACgB,SAAV+iM,UAAU,CAACrgG,GAAD,EAAM1iG,IAAN,EAAY;AACzB,QAAI,CAAC0iG,GAAD,IAAQA,GAAG,CAAChpB,KAAJ,CAAU,OAAV,CAAZ,EAAgC;AAC5B,YAAM,IAAI/8B,KAAJ,CAAW,QAAO38C,IAAK,iCAAvB,CAAN;AACH;AACJ;;AACU,SAAJk4L,IAAI,CAACx1F,GAAD,EAAM7xD,MAAN,EAAc7wC,IAAd,EAAoB;AAC3B;AACA,QAAI,EAAE0iG,GAAG,IAAI7xD,MAAT,CAAJ,EAAsB;AAClB,YAAM,IAAI8L,KAAJ,CAAW,WAAU38C,IAAK,WAAU0iG,GAAI,GAAxC,CAAN;AACH;AACJ;;AAhBY;AAkBjB;;AACO,MAAM8vF,QAAN,CAAe;AAClB;AACoB,aAAToI,SAAS,GAAG;AACnB,WAAO,OAAOjsL,MAAP,KAAkB,QAAlB,IAA8B,OAAOA,MAAM,CAACuiB,QAAd,KAA2B,QAAhE;AACH,GAJiB,CAKlB;;;AACsB,aAAXu4F,WAAW,GAAG;AACrB,WAAO,OAAOC,IAAP,KAAgB,QAAhB,IAA4B,mBAAmBA,IAAtD;AACH,GARiB,CASlB;;;AACwB,aAAbuvC,aAAa,GAAG;AACvB,WAAO,OAAOtqJ,MAAP,KAAkB,QAAlB,IAA8B,OAAOA,MAAM,CAACuiB,QAAd,KAA2B,WAAhE;AACH,GAZiB,CAalB;AACA;;;AACiB,aAANyhK,MAAM,GAAG;AAChB,WAAO,CAAC,KAAKiI,SAAN,IAAmB,CAAC,KAAKnxE,WAAzB,IAAwC,CAAC,KAAKwvC,aAArD;AACH;;AAjBiB;AAmBtB;;AACO,SAAS6qC,aAAT,CAAuB3sM,IAAvB,EAA6BiuM,cAA7B,EAA6C;AAChD,MAAIr/L,MAAM,GAAG,EAAb;;AACA,MAAIuvL,aAAa,CAACn+L,IAAD,CAAjB,EAAyB;AACrB4O,IAAAA,MAAM,GAAI,yBAAwB5O,IAAI,CAAC++L,UAAW,EAAlD;;AACA,QAAIkP,cAAJ,EAAoB;AAChBr/L,MAAAA,MAAM,IAAK,eAAcs/L,iBAAiB,CAACluM,IAAD,CAAO,GAAjD;AACH;AACJ,GALD,MAMK,IAAI,OAAOA,IAAP,KAAgB,QAApB,EAA8B;AAC/B4O,IAAAA,MAAM,GAAI,yBAAwB5O,IAAI,CAACgF,MAAO,EAA9C;;AACA,QAAIipM,cAAJ,EAAoB;AAChBr/L,MAAAA,MAAM,IAAK,eAAc5O,IAAK,GAA9B;AACH;AACJ;;AACD,SAAO4O,MAAP;AACH;AACD;;AACO,SAASs/L,iBAAT,CAA2BluM,IAA3B,EAAiC;AACpC,QAAMmuM,IAAI,GAAG,IAAI5/I,UAAJ,CAAevuD,IAAf,CAAb,CADoC,CAEpC;;AACA,MAAIs1G,GAAG,GAAG,EAAV;AACA64F,EAAAA,IAAI,CAACjwK,OAAL,CAAcm8C,GAAD,IAAS;AAClB,UAAM2wF,GAAG,GAAG3wF,GAAG,GAAG,EAAN,GAAW,GAAX,GAAiB,EAA7B;AACAi7B,IAAAA,GAAG,IAAK,KAAI01D,GAAI,GAAE3wF,GAAG,CAAC9kC,QAAJ,CAAa,EAAb,CAAiB,GAAnC;AACH,GAHD,EAJoC,CAQpC;;AACA,SAAO+/D,GAAG,CAACgiC,MAAJ,CAAW,CAAX,EAAchiC,GAAG,CAACtwG,MAAJ,GAAa,CAA3B,CAAP;AACH,EACD;;AACA;;AACO,SAASm5L,aAAT,CAAuB5yF,GAAvB,EAA4B;AAC/B,SAAOA,GAAG,IAAI,OAAOzyB,WAAP,KAAuB,WAA9B,KACFyyB,GAAG,YAAYzyB,WAAf,IACG;AACCyyB,EAAAA,GAAG,CAACzzG,WAAJ,IAAmByzG,GAAG,CAACzzG,WAAJ,CAAgB+Q,IAAhB,KAAyB,aAH9C,CAAP;AAIH;AACD;;AACO,SAAeoZ,WAAtB;AAAA;AAAA;AAuBA;;;yLAvBO,WAA2B+V,MAA3B,EAAmCo2K,aAAnC,EAAkD7N,UAAlD,EAA8D9qL,GAA9D,EAAmEisL,kBAAnE,EAAuFtlF,OAAvF,EAAgGr2F,OAAhG,EAAyG;AAC5G,QAAImX,OAAO,GAAG,EAAd;;AACA,QAAIwkK,kBAAJ,EAAwB;AACpB,YAAMjpK,KAAK,SAASipK,kBAAkB,EAAtC;;AACA,UAAIjpK,KAAJ,EAAW;AACPyE,QAAAA,OAAO,GAAG;AACN,WAAC,eAAD,GAAoB,UAASzE,KAAM;AAD7B,SAAV;AAGH;AACJ;;AACD,UAAM,CAAC5vB,IAAD,EAAOU,KAAP,IAAgBo2L,kBAAkB,EAAxC;AACAziK,IAAAA,OAAO,CAACr0B,IAAD,CAAP,GAAgBU,KAAhB;AACAyuB,IAAAA,MAAM,CAAC59B,GAAP,CAAW24B,oDAAX,EAA4B,IAAGq7K,aAAc,6BAA4BzB,aAAa,CAACvwF,OAAD,EAAUr2F,OAAO,CAACm6K,iBAAlB,CAAqC,GAA3H;AACA,UAAMrd,YAAY,GAAGsb,aAAa,CAAC/hF,OAAD,CAAb,GAAyB,aAAzB,GAAyC,MAA9D;AACA,UAAMxhF,QAAQ,SAAS2lK,UAAU,CAACptL,IAAX,CAAgBsC,GAAhB,EAAqB;AACxC2mG,MAAAA,OADwC;AAExCl/E,MAAAA,OAAO,EAAE,EAAE,GAAGA,OAAL;AAAc,WAAGnX,OAAO,CAACmX;AAAzB,OAF+B;AAGxC2lJ,MAAAA,YAHwC;AAIxCr/G,MAAAA,OAAO,EAAEz9C,OAAO,CAACy9C,OAJuB;AAKxCm6H,MAAAA,eAAe,EAAE53K,OAAO,CAAC43K;AALe,KAArB,CAAvB;AAOA3lK,IAAAA,MAAM,CAAC59B,GAAP,CAAW24B,oDAAX,EAA4B,IAAGq7K,aAAc,kDAAiDxzK,QAAQ,CAACotG,UAAW,GAAlH;AACH;;;;AAEM,SAAS03D,YAAT,CAAsB1nK,MAAtB,EAA8B;AACjC,MAAIA,MAAM,KAAK0S,SAAf,EAA0B;AACtB,WAAO,IAAImgK,aAAJ,CAAkB93K,0DAAlB,CAAP;AACH;;AACD,MAAIiF,MAAM,KAAK,IAAf,EAAqB;AACjB,WAAO4yK,yDAAP;AACH;;AACD,MAAI5yK,MAAM,CAAC59B,GAAP,KAAeswC,SAAnB,EAA8B;AAC1B,WAAO1S,MAAP;AACH;;AACD,SAAO,IAAI6yK,aAAJ,CAAkB7yK,MAAlB,CAAP;AACH;AACD;;AACO,MAAM81K,mBAAN,CAA0B;AAC7Bh2M,EAAAA,WAAW,CAACgwM,OAAD,EAAUkG,QAAV,EAAoB;AAC3B,SAAKK,QAAL,GAAgBvG,OAAhB;AACA,SAAKwG,SAAL,GAAiBN,QAAjB;AACH;;AACDO,EAAAA,OAAO,GAAG;AACN,UAAM10J,KAAK,GAAG,KAAKw0J,QAAL,CAAcN,SAAd,CAAwBt9L,OAAxB,CAAgC,KAAK69L,SAArC,CAAd;;AACA,QAAIz0J,KAAK,GAAG,CAAC,CAAb,EAAgB;AACZ,WAAKw0J,QAAL,CAAcN,SAAd,CAAwBvyE,MAAxB,CAA+B3hF,KAA/B,EAAsC,CAAtC;AACH;;AACD,QAAI,KAAKw0J,QAAL,CAAcN,SAAd,CAAwB/oM,MAAxB,KAAmC,CAAnC,IAAwC,KAAKqpM,QAAL,CAActG,cAA1D,EAA0E;AACtE,WAAKsG,QAAL,CAActG,cAAd,GAA+BxzK,KAA/B,CAAsCuP,CAAD,IAAO,CAAG,CAA/C;AACH;AACJ;;AAb4B;AAejC;;AACO,MAAM+mK,aAAN,CAAoB;AACvB/yM,EAAAA,WAAW,CAAC02M,eAAD,EAAkB;AACzB,SAAKC,SAAL,GAAiBD,eAAjB;AACA,SAAKE,GAAL,GAAWv0M,OAAX;AACH;;AACDC,EAAAA,GAAG,CAACw5B,QAAD,EAAW15B,OAAX,EAAoB;AACnB,QAAI05B,QAAQ,IAAI,KAAK66K,SAArB,EAAgC;AAC5B,YAAMh9E,GAAG,GAAI,IAAG,IAAIrxE,IAAJ,GAAWvxB,WAAX,EAAyB,KAAIkE,8CAAQ,CAACa,QAAD,CAAW,KAAI15B,OAAQ,EAA5E;;AACA,cAAQ05B,QAAR;AACI,aAAKb,uDAAL;AACA,aAAKA,oDAAL;AACI,eAAK27K,GAAL,CAAShgM,KAAT,CAAe+iH,GAAf;AACA;;AACJ,aAAK1+F,sDAAL;AACI,eAAK27K,GAAL,CAASzD,IAAT,CAAcx5E,GAAd;AACA;;AACJ,aAAK1+F,0DAAL;AACI,eAAK27K,GAAL,CAASrwL,IAAT,CAAcozG,GAAd;AACA;;AACJ;AACI;AACA,eAAKi9E,GAAL,CAASt0M,GAAT,CAAaq3H,GAAb;AACA;AAdR;AAgBH;AACJ;;AAzBsB;AA2B3B;;AACO,SAASkuE,kBAAT,GAA8B;AACjC,MAAIgP,mBAAmB,GAAG,sBAA1B;;AACA,MAAItT,QAAQ,CAACG,MAAb,EAAqB;AACjBmT,IAAAA,mBAAmB,GAAG,YAAtB;AACH;;AACD,SAAO,CAACA,mBAAD,EAAsBC,kBAAkB,CAAC/5K,OAAD,EAAUg6K,SAAS,EAAnB,EAAuBC,UAAU,EAAjC,EAAqCC,iBAAiB,EAAtD,CAAxC,CAAP;AACH;AACD;;AACO,SAASH,kBAAT,CAA4B31M,OAA5B,EAAqCg4E,EAArC,EAAyC+9H,OAAzC,EAAkDC,cAAlD,EAAkE;AACrE;AACA,MAAIl1H,SAAS,GAAG,oBAAhB;AACA,QAAMm1H,aAAa,GAAGj2M,OAAO,CAACme,KAAR,CAAc,GAAd,CAAtB;AACA2iE,EAAAA,SAAS,IAAK,GAAEm1H,aAAa,CAAC,CAAD,CAAI,IAAGA,aAAa,CAAC,CAAD,CAAI,EAArD;AACAn1H,EAAAA,SAAS,IAAK,KAAI9gF,OAAQ,IAA1B;;AACA,MAAIg4E,EAAE,IAAIA,EAAE,KAAK,EAAjB,EAAqB;AACjB8I,IAAAA,SAAS,IAAK,GAAE9I,EAAG,IAAnB;AACH,GAFD,MAGK;AACD8I,IAAAA,SAAS,IAAI,cAAb;AACH;;AACDA,EAAAA,SAAS,IAAK,GAAEi1H,OAAQ,EAAxB;;AACA,MAAIC,cAAJ,EAAoB;AAChBl1H,IAAAA,SAAS,IAAK,KAAIk1H,cAAe,EAAjC;AACH,GAFD,MAGK;AACDl1H,IAAAA,SAAS,IAAI,2BAAb;AACH;;AACDA,EAAAA,SAAS,IAAI,GAAb;AACA,SAAOA,SAAP;AACH,EACD;;AACA;;AAAc,SAAS80H,SAAT,GAAqB;AAC/B,MAAIxT,QAAQ,CAACG,MAAb,EAAqB;AACjB,YAAQ2T,OAAO,CAACC,QAAhB;AACI,WAAK,OAAL;AACI,eAAO,YAAP;;AACJ,WAAK,QAAL;AACI,eAAO,OAAP;;AACJ,WAAK,OAAL;AACI,eAAO,OAAP;;AACJ;AACI,eAAOD,OAAO,CAACC,QAAf;AARR;AAUH,GAXD,MAYK;AACD,WAAO,EAAP;AACH;AACJ,EACD;;AACA;;;AAAc,SAASL,iBAAT,GAA6B;AACvC,MAAI1T,QAAQ,CAACG,MAAb,EAAqB;AACjB,WAAO2T,OAAO,CAACE,QAAR,CAAiB3wF,IAAxB;AACH;;AACD,SAAOh0E,SAAP;AACH;;AACD,SAASokK,UAAT,GAAsB;AAClB,MAAIzT,QAAQ,CAACG,MAAb,EAAqB;AACjB,WAAO,QAAP;AACH,GAFD,MAGK;AACD,WAAO,SAAP;AACH;AACJ;AACD;;;AACO,SAASmJ,cAAT,CAAwB3hK,CAAxB,EAA2B;AAC9B,MAAIA,CAAC,CAAC2/E,KAAN,EAAa;AACT,WAAO3/E,CAAC,CAAC2/E,KAAT;AACH,GAFD,MAGK,IAAI3/E,CAAC,CAAC9oC,OAAN,EAAe;AAChB,WAAO8oC,CAAC,CAAC9oC,OAAT;AACH;;AACD,SAAQ,GAAE8oC,CAAE,EAAZ;AACH;AACD;;AACO,SAAS+5J,aAAT,GAAyB;AAC5B;AACA,MAAI,OAAO1N,UAAP,KAAsB,WAA1B,EAAuC;AACnC,WAAOA,UAAP;AACH;;AACD,MAAI,OAAO98D,IAAP,KAAgB,WAApB,EAAiC;AAC7B,WAAOA,IAAP;AACH;;AACD,MAAI,OAAO/6G,MAAP,KAAkB,WAAtB,EAAmC;AAC/B,WAAOA,MAAP;AACH;;AACD,MAAI,OAAOgsJ,MAAP,KAAkB,WAAtB,EAAmC;AAC/B,WAAOA,MAAP;AACH;;AACD,QAAM,IAAIh+G,KAAJ,CAAU,uBAAV,CAAN;AACH;;;;;;;;;;;;;;;;;;;;;AC9PD;AACA;AACA;AACA;AACA;AACA;AACA;;AACO,MAAMo6I,kBAAN,CAAyB;AAC5B9nM,EAAAA,WAAW,CAACyoM,UAAD,EAAamB,kBAAb,EAAiC1pK,MAAjC,EAAyCkoK,iBAAzC,EAA4DoP,oBAA5D,EAAkFpyK,OAAlF,EAA2F;AAClG,SAAK61F,OAAL,GAAe/6F,MAAf;AACA,SAAKypK,mBAAL,GAA2BC,kBAA3B;AACA,SAAK6N,kBAAL,GAA0BrP,iBAA1B;AACA,SAAKsP,qBAAL,GAA6BF,oBAA7B;AACA,SAAK7T,WAAL,GAAmB8E,UAAnB;AACA,SAAKI,SAAL,GAAiB,IAAjB;AACA,SAAKC,OAAL,GAAe,IAAf;AACA,SAAKl8D,QAAL,GAAgBxnG,OAAhB;AACH;;AACKomK,EAAAA,OAAO,CAAC7tL,GAAD,EAAMorL,cAAN,EAAsB;AAAA;;AAAA;AAC/BpB,MAAAA,kDAAA,CAAehqL,GAAf,EAAoB,KAApB;AACAgqL,MAAAA,kDAAA,CAAeoB,cAAf,EAA+B,gBAA/B;AACApB,MAAAA,4CAAA,CAASoB,cAAT,EAAyBvB,uDAAzB,EAAyC,gBAAzC;;AACA,WAAI,CAACvsE,OAAL,CAAa34H,GAAb,CAAiB24B,oDAAjB,EAAiC,oCAAjC;;AACA,UAAI,KAAI,CAAC0uK,mBAAT,EAA8B;AAC1B,cAAMhpK,KAAK,SAAS,KAAI,CAACgpK,mBAAL,EAApB;;AACA,YAAIhpK,KAAJ,EAAW;AACPhjB,UAAAA,GAAG,IAAI,CAACA,GAAG,CAAChF,OAAJ,CAAY,GAAZ,IAAmB,CAAnB,GAAuB,GAAvB,GAA6B,GAA9B,IAAsC,gBAAe8uC,kBAAkB,CAAC9mB,KAAD,CAAQ,EAAtF;AACH;AACJ;;AACD,aAAO,IAAIoJ,OAAJ,CAAY,CAACC,OAAD,EAAU0B,MAAV,KAAqB;AACpC/tB,QAAAA,GAAG,GAAGA,GAAG,CAACiC,OAAJ,CAAY,OAAZ,EAAqB,IAArB,CAAN;AACA,YAAI+3L,SAAJ;;AACA,cAAM1R,OAAO,GAAG,KAAI,CAACtC,WAAL,CAAiBE,eAAjB,CAAiClmL,GAAjC,CAAhB;;AACA,YAAIg4L,MAAM,GAAG,KAAb;;AACA,YAAIpS,mDAAJ,EAAqB;AACjB,gBAAMn+J,OAAO,GAAG,EAAhB;AACA,gBAAM,CAACr0B,IAAD,EAAOU,KAAP,IAAgBo2L,0DAAkB,EAAxC;AACAziK,UAAAA,OAAO,CAACr0B,IAAD,CAAP,GAAgBU,KAAhB;;AACA,cAAIw0L,OAAJ,EAAa;AACT7gK,YAAAA,OAAO,CAACqzD,4DAAD,CAAP,GAA+B,GAAEwtG,OAAQ,EAAzC;AACH,WANgB,CAOjB;;;AACA0R,UAAAA,SAAS,GAAG,IAAI,KAAI,CAACD,qBAAT,CAA+B/5L,GAA/B,EAAoCi1B,SAApC,EAA+C;AACvDxN,YAAAA,OAAO,EAAE,EAAE,GAAGA,OAAL;AAAc,iBAAG,KAAI,CAACwnG;AAAtB;AAD8C,WAA/C,CAAZ;AAGH;;AACD,YAAI,CAAC+qE,SAAL,EAAgB;AACZ;AACAA,UAAAA,SAAS,GAAG,IAAI,KAAI,CAACD,qBAAT,CAA+B/5L,GAA/B,CAAZ;AACH;;AACD,YAAIorL,cAAc,KAAKvB,8DAAvB,EAA8C;AAC1CmQ,UAAAA,SAAS,CAACC,UAAV,GAAuB,aAAvB;AACH;;AACDD,QAAAA,SAAS,CAAC7B,MAAV,GAAoB+B,MAAD,IAAY;AAC3B,eAAI,CAAC58E,OAAL,CAAa34H,GAAb,CAAiB24B,0DAAjB,EAAwC,0BAAyBtd,GAAI,GAArE;;AACA,eAAI,CAACm6L,UAAL,GAAkBH,SAAlB;AACAhC,UAAAA,MAAM,GAAG,IAAT;AACA3rK,UAAAA,OAAO;AACV,SALD;;AAMA2tK,QAAAA,SAAS,CAAC35H,OAAV,GAAqBjyD,KAAD,IAAW;AAC3B,cAAInV,KAAK,GAAG,IAAZ,CAD2B,CAE3B;;AACA,cAAI,OAAOm0G,UAAP,KAAsB,WAAtB,IAAqCh/F,KAAK,YAAYg/F,UAA1D,EAAsE;AAClEn0G,YAAAA,KAAK,GAAGmV,KAAK,CAACnV,KAAd;AACH,WAFD,MAGK;AACDA,YAAAA,KAAK,GAAG,uCAAR;AACH;;AACD,eAAI,CAACqkH,OAAL,CAAa34H,GAAb,CAAiB24B,0DAAjB,EAAwC,0BAAyBrkB,KAAM,GAAvE;AACH,SAVD;;AAWA+gM,QAAAA,SAAS,CAACn7J,SAAV,GAAuBp6C,OAAD,IAAa;AAC/B,eAAI,CAAC64H,OAAL,CAAa34H,GAAb,CAAiB24B,oDAAjB,EAAkC,yCAAwC45K,qDAAa,CAACzyM,OAAO,CAAC8F,IAAT,EAAe,KAAI,CAACuvM,kBAApB,CAAwC,GAA/H;;AACA,cAAI,KAAI,CAAC5O,SAAT,EAAoB;AAChB,gBAAI;AACA,mBAAI,CAACA,SAAL,CAAezmM,OAAO,CAAC8F,IAAvB;AACH,aAFD,CAGA,OAAO0O,KAAP,EAAc;AACV,mBAAI,CAACi/L,MAAL,CAAYj/L,KAAZ;;AACA;AACH;AACJ;AACJ,SAXD;;AAYA+gM,QAAAA,SAAS,CAAC7O,OAAV,GAAqB/8K,KAAD,IAAW;AAC3B;AACA;AACA,cAAI4pL,MAAJ,EAAY;AACR,iBAAI,CAACE,MAAL,CAAY9pL,KAAZ;AACH,WAFD,MAGK;AACD,gBAAInV,KAAK,GAAG,IAAZ,CADC,CAED;;AACA,gBAAI,OAAOm0G,UAAP,KAAsB,WAAtB,IAAqCh/F,KAAK,YAAYg/F,UAA1D,EAAsE;AAClEn0G,cAAAA,KAAK,GAAGmV,KAAK,CAACnV,KAAd;AACH,aAFD,MAGK;AACDA,cAAAA,KAAK,GAAG,kFACF,qDADE,GAEF,2FAFE,GAGF,uEAHN;AAIH;;AACD80B,YAAAA,MAAM,CAAC,IAAIgiB,KAAJ,CAAU92C,KAAV,CAAD,CAAN;AACH;AACJ,SApBD;AAqBH,OA1EM,CAAP;AAX+B;AAsFlC;;AACDqnE,EAAAA,IAAI,CAAC/1E,IAAD,EAAO;AACP,QAAI,KAAK4vM,UAAL,IAAmB,KAAKA,UAAL,CAAgB3oE,UAAhB,KAA+B,KAAKuoE,qBAAL,CAA2BK,IAAjF,EAAuF;AACnF,WAAK98E,OAAL,CAAa34H,GAAb,CAAiB24B,oDAAjB,EAAkC,wCAAuC45K,qDAAa,CAAC3sM,IAAD,EAAO,KAAKuvM,kBAAZ,CAAgC,GAAtH;;AACA,WAAKK,UAAL,CAAgB75H,IAAhB,CAAqB/1E,IAArB;;AACA,aAAO6hC,OAAO,CAACC,OAAR,EAAP;AACH;;AACD,WAAOD,OAAO,CAAC2B,MAAR,CAAe,oCAAf,CAAP;AACH;;AACDi6E,EAAAA,IAAI,GAAG;AACH,QAAI,KAAKmyF,UAAT,EAAqB;AACjB;AACA;AACA,WAAKjC,MAAL,CAAYjjK,SAAZ;AACH;;AACD,WAAO7I,OAAO,CAACC,OAAR,EAAP;AACH;;AACD6rK,EAAAA,MAAM,CAAC9pL,KAAD,EAAQ;AACV;AACA,QAAI,KAAK+rL,UAAT,EAAqB;AACjB;AACA,WAAKA,UAAL,CAAgBhP,OAAhB,GAA0B,MAAM,CAAG,CAAnC;;AACA,WAAKgP,UAAL,CAAgBt7J,SAAhB,GAA4B,MAAM,CAAG,CAArC;;AACA,WAAKs7J,UAAL,CAAgB95H,OAAhB,GAA0B,MAAM,CAAG,CAAnC;;AACA,WAAK85H,UAAL,CAAgBjiM,KAAhB;;AACA,WAAKiiM,UAAL,GAAkBllK,SAAlB;AACH;;AACD,SAAKqoF,OAAL,CAAa34H,GAAb,CAAiB24B,oDAAjB,EAAiC,uCAAjC;;AACA,QAAI,KAAK6tK,OAAT,EAAkB;AACd,UAAI,KAAKkP,aAAL,CAAmBjsL,KAAnB,MAA8BA,KAAK,CAACksL,QAAN,KAAmB,KAAnB,IAA4BlsL,KAAK,CAAClV,IAAN,KAAe,IAAzE,CAAJ,EAAoF;AAChF,aAAKiyL,OAAL,CAAa,IAAIp7I,KAAJ,CAAW,sCAAqC3hC,KAAK,CAAClV,IAAK,KAAIkV,KAAK,CAACw+F,MAAN,IAAgB,iBAAkB,IAAjG,CAAb;AACH,OAFD,MAGK,IAAIx+F,KAAK,YAAY2hC,KAArB,EAA4B;AAC7B,aAAKo7I,OAAL,CAAa/8K,KAAb;AACH,OAFI,MAGA;AACD,aAAK+8K,OAAL;AACH;AACJ;AACJ;;AACDkP,EAAAA,aAAa,CAACjsL,KAAD,EAAQ;AACjB,WAAOA,KAAK,IAAI,OAAOA,KAAK,CAACksL,QAAb,KAA0B,SAAnC,IAAgD,OAAOlsL,KAAK,CAAClV,IAAb,KAAsB,QAA7E;AACH;;AA3I2B;;;;;;;;;;;;;;;;;;ACPhC;AACA;AACA;AACA;AACA;AACO,MAAM2sL,aAAN,SAA4BhgM,mDAA5B,CAAuC;AAC1CxD,EAAAA,WAAW,CAACkgC,MAAD,EAAS;AAChB;AACA,SAAK+6F,OAAL,GAAe/6F,MAAf;AACH;AACD;;;AACA+9C,EAAAA,IAAI,CAAC7+C,OAAD,EAAU;AACV;AACA,QAAIA,OAAO,CAACwkK,WAAR,IAAuBxkK,OAAO,CAACwkK,WAAR,CAAoBje,OAA/C,EAAwD;AACpD,aAAO57I,OAAO,CAAC2B,MAAR,CAAe,IAAI23J,+CAAJ,EAAf,CAAP;AACH;;AACD,QAAI,CAACjkK,OAAO,CAAC0F,MAAb,EAAqB;AACjB,aAAOiF,OAAO,CAAC2B,MAAR,CAAe,IAAIgiB,KAAJ,CAAU,oBAAV,CAAf,CAAP;AACH;;AACD,QAAI,CAACtuB,OAAO,CAACzhB,GAAb,EAAkB;AACd,aAAOosB,OAAO,CAAC2B,MAAR,CAAe,IAAIgiB,KAAJ,CAAU,iBAAV,CAAf,CAAP;AACH;;AACD,WAAO,IAAI3jB,OAAJ,CAAY,CAACC,OAAD,EAAU0B,MAAV,KAAqB;AACpC,YAAM+xC,GAAG,GAAG,IAAIC,cAAJ,EAAZ;AACAD,MAAAA,GAAG,CAAC/sE,IAAJ,CAAS0uB,OAAO,CAAC0F,MAAjB,EAAyB1F,OAAO,CAACzhB,GAAjC,EAAsC,IAAtC;AACA8/D,MAAAA,GAAG,CAACooH,eAAJ,GAAsBzmK,OAAO,CAACymK,eAAR,KAA4BjzJ,SAA5B,GAAwC,IAAxC,GAA+CxT,OAAO,CAACymK,eAA7E;AACApoH,MAAAA,GAAG,CAACU,gBAAJ,CAAqB,kBAArB,EAAyC,gBAAzC,EAJoC,CAKpC;;AACAV,MAAAA,GAAG,CAACU,gBAAJ,CAAqB,cAArB,EAAqC,0BAArC;AACA,YAAM/4C,OAAO,GAAGhG,OAAO,CAACgG,OAAxB;;AACA,UAAIA,OAAJ,EAAa;AACT1C,QAAAA,MAAM,CAACkD,IAAP,CAAYR,OAAZ,EACKgB,OADL,CACck3E,MAAD,IAAY;AACrB7/B,UAAAA,GAAG,CAACU,gBAAJ,CAAqBm/B,MAArB,EAA6Bl4E,OAAO,CAACk4E,MAAD,CAApC;AACH,SAHD;AAIH;;AACD,UAAIl+E,OAAO,CAAC2rJ,YAAZ,EAA0B;AACtBttG,QAAAA,GAAG,CAACstG,YAAJ,GAAmB3rJ,OAAO,CAAC2rJ,YAA3B;AACH;;AACD,UAAI3rJ,OAAO,CAACwkK,WAAZ,EAAyB;AACrBxkK,QAAAA,OAAO,CAACwkK,WAAR,CAAoBT,OAApB,GAA8B,MAAM;AAChC1lH,UAAAA,GAAG,CAACmnG,KAAJ;AACAl5I,UAAAA,MAAM,CAAC,IAAI23J,+CAAJ,EAAD,CAAN;AACH,SAHD;AAIH;;AACD,UAAIjkK,OAAO,CAACssC,OAAZ,EAAqB;AACjB+R,QAAAA,GAAG,CAAC/R,OAAJ,GAActsC,OAAO,CAACssC,OAAtB;AACH;;AACD+R,MAAAA,GAAG,CAACG,MAAJ,GAAa,MAAM;AACf,YAAIx+C,OAAO,CAACwkK,WAAZ,EAAyB;AACrBxkK,UAAAA,OAAO,CAACwkK,WAAR,CAAoBT,OAApB,GAA8B,IAA9B;AACH;;AACD,YAAI1lH,GAAG,CAAC96D,MAAJ,IAAc,GAAd,IAAqB86D,GAAG,CAAC96D,MAAJ,GAAa,GAAtC,EAA2C;AACvCqnB,UAAAA,OAAO,CAAC,IAAIg7J,qDAAJ,CAAiBvnH,GAAG,CAAC96D,MAArB,EAA6B86D,GAAG,CAAC40D,UAAjC,EAA6C50D,GAAG,CAAC36C,QAAJ,IAAgB26C,GAAG,CAACK,YAAjE,CAAD,CAAP;AACH,SAFD,MAGK;AACDpyC,UAAAA,MAAM,CAAC,IAAI24J,8CAAJ,CAAc5mH,GAAG,CAAC36C,QAAJ,IAAgB26C,GAAG,CAACK,YAApB,IAAoCL,GAAG,CAAC40D,UAAtD,EAAkE50D,GAAG,CAAC96D,MAAtE,CAAD,CAAN;AACH;AACJ,OAVD;;AAWA86D,MAAAA,GAAG,CAACO,OAAJ,GAAc,MAAM;AAChB,aAAKi9C,OAAL,CAAa34H,GAAb,CAAiB24B,sDAAjB,EAAoC,4BAA2BwiD,GAAG,CAAC96D,MAAO,KAAI86D,GAAG,CAAC40D,UAAW,GAA7F;;AACA3mG,QAAAA,MAAM,CAAC,IAAI24J,8CAAJ,CAAc5mH,GAAG,CAAC40D,UAAlB,EAA8B50D,GAAG,CAAC96D,MAAlC,CAAD,CAAN;AACH,OAHD;;AAIA86D,MAAAA,GAAG,CAACy6H,SAAJ,GAAgB,MAAM;AAClB,aAAKj9E,OAAL,CAAa34H,GAAb,CAAiB24B,sDAAjB,EAAoC,4BAApC;;AACAyQ,QAAAA,MAAM,CAAC,IAAI84J,iDAAJ,EAAD,CAAN;AACH,OAHD;;AAIA/mH,MAAAA,GAAG,CAACQ,IAAJ,CAAS7+C,OAAO,CAACklF,OAAR,IAAmB,EAA5B;AACH,KA9CM,CAAP;AA+CH;;AAhEyC;;;;;;;;;;;ACLjC;;AACb5hF,8CAA6C;AAAEjxB,EAAAA,KAAK,EAAE;AAAT,CAA7C;;AACA,IAAI0mM,MAAM,GAAG9S,mBAAO,CAAC,0BAAD,CAApB;;AACA,IAAI+S,OAAO,GAAG/S,mBAAO,CAAC,0BAAD,CAArB;;AACA,IAAIgT,kBAAkB,GAAGhT,mBAAO,CAAC,sCAAD,CAAhC;;AACA,IAAIiT,cAAc,GAAGjT,mBAAO,CAAC,6CAAD,CAA5B;;AACA,IAAIjnK,MAAM,GAAGinK,mBAAO,CAAC,0BAAD,CAApB;;AACA,IAAIkT,cAAc;AAAG;AAAe,YAAY;AAC5C,WAASA,cAAT,GAA0B,CACzB;;AACD,SAAOA,cAAP;AACH,CAJmC,EAApC;;AAKAnxL,sBAAA,GAAyBmxL,cAAzB;AACAnxL,kCAAA,GAAqC;AACjC1kB,EAAAA,OAAO,EAAE01M,OAAO,CAACK,iBADgB;AAEjC51M,EAAAA,WAAW,EAAEs1M,MAAM,CAACO,UAAP,CAAkB,YAAY;AAAE,WAAOC,oBAAP;AAA8B,GAA9D,CAFoB;AAGjC7yM,EAAAA,KAAK,EAAE;AAH0B,CAArC;AAKA;AACA;AACA;AACA;;AACA,SAAS8yM,UAAT,GAAsB;AAClB,MAAI32H,SAAS,GAAGo2H,kBAAkB,CAACQ,OAAnB,KAA+BR,kBAAkB,CAACQ,OAAnB,GAA6BC,YAA7B,EAA/B,GAA6E,EAA7F;AACA,SAAO,gBAAgBljL,IAAhB,CAAqBqsD,SAAS,CAACr6C,WAAV,EAArB,CAAP;AACH;;AACD,IAAI+wK,oBAAoB;AAAG;AAAe,YAAY;AAClD,WAASA,oBAAT,CAA8BI,SAA9B,EAAyCC,WAAzC,EAAsDC,gBAAtD,EAAwE;AACpE,SAAKF,SAAL,GAAiBA,SAAjB;AACA,SAAKC,WAAL,GAAmBA,WAAnB;AACA,SAAKC,gBAAL,GAAwBA,gBAAxB;AACA,SAAKC,cAAL,GAAsB;AAClBC,MAAAA,IAAI,EAAE,EADY;AAElBC,MAAAA,KAAK,EAAE,IAFW;AAGlBC,MAAAA,eAAe,EAAE,GAHC;AAIlBp4M,MAAAA,IAAI,EAAE2xC,SAJY;AAKlB0mK,MAAAA,iBAAiB,EAAE;AALD,KAAtB;;AAOA,SAAKC,QAAL,GAAgB,UAAUvtK,CAAV,EAAa,CAAG,CAAhC;;AACA,SAAKwtK,SAAL,GAAiB,YAAY,CAAG,CAAhC;AACA;;;AACA,SAAKC,UAAL,GAAkB,KAAlB;;AACA,QAAI,KAAKR,gBAAL,IAAyB,IAA7B,EAAmC;AAC/B,WAAKA,gBAAL,GAAwB,CAACL,UAAU,EAAnC;AACH;AACJ;;AACDD,EAAAA,oBAAoB,CAACnuK,SAArB,CAA+BkvK,WAA/B,GAA6C,UAAUC,OAAV,EAAmB;AAC5D,SAAKC,UAAL,CAAgB,IAAhB;;AACA,QAAI,KAAKC,oBAAL,KAA8BjnK,SAAlC,EAA6C;AACzC,WAAKinK,oBAAL,CAA0Bx7C,MAA1B,CAAiC,KAAKy7C,YAAL,CAAkBroM,KAAnD;AACH;AACJ,GALD;;AAMAknM,EAAAA,oBAAoB,CAACnuK,SAArB,CAA+BuvK,UAA/B,GAA4C,UAAUtoM,KAAV,EAAiB;AACzD,SAAKmoM,UAAL,GADyD,CAEzD;;;AACA,QAAII,eAAe,GAAGvoM,KAAK,IAAI,IAAT,GAAgB,EAAhB,GAAqBA,KAA3C;;AACA,SAAKsnM,SAAL,CAAekB,WAAf,CAA2B,KAAKH,YAAhC,EAA8C,OAA9C,EAAuDE,eAAvD;;AACA,QAAI,KAAKH,oBAAL,KAA8BjnK,SAAlC,EAA6C;AACzC,WAAKinK,oBAAL,CAA0Bx7C,MAA1B,CAAiC5sJ,KAAjC;AACH;AACJ,GARD;;AASAknM,EAAAA,oBAAoB,CAACnuK,SAArB,CAA+B0vK,gBAA/B,GAAkD,UAAUv9C,EAAV,EAAc;AAAE,SAAK48C,QAAL,GAAgB58C,EAAhB;AAAqB,GAAvF;;AACAg8C,EAAAA,oBAAoB,CAACnuK,SAArB,CAA+B2vK,iBAA/B,GAAmD,UAAUx9C,EAAV,EAAc;AAAE,SAAK68C,SAAL,GAAiB78C,EAAjB;AAAsB,GAAzF;;AACAg8C,EAAAA,oBAAoB,CAACnuK,SAArB,CAA+B4vK,gBAA/B,GAAkD,UAAU9vB,UAAV,EAAsB;AACpE,SAAKyuB,SAAL,CAAekB,WAAf,CAA2B,KAAKjB,WAAL,CAAiBvvL,aAA5C,EAA2D,UAA3D,EAAuE6gK,UAAvE;AACH,GAFD;;AAGAquB,EAAAA,oBAAoB,CAACnuK,SAArB,CAA+B6vK,YAA/B,GAA8C,UAAU5oM,KAAV,EAAiB;AAC3D,QAAI,CAAC,KAAKwnM,gBAAN,IAA2B,KAAKA,gBAAL,IAAyB,CAAC,KAAKQ,UAA9D,EAA2E;AACvE,WAAKG,UAAL;;AACA,UAAI,KAAKC,oBAAL,KAA8BjnK,SAAlC,EAA6C;AACzC,aAAKinK,oBAAL,CAA0Bx7C,MAA1B,CAAiC5sJ,KAAjC,EADyC,CAEzC;;AACAA,QAAAA,KAAK,GAAG,KAAKqoM,YAAL,CAAkBroM,KAA1B;AACA,aAAK8nM,QAAL,CAAc9nM,KAAd;AACH;AACJ;AACJ,GAVD;;AAWAknM,EAAAA,oBAAoB,CAACnuK,SAArB,CAA+BovK,UAA/B,GAA4C,UAAUtwK,MAAV,EAAkB;AAC1D,QAAIA,MAAM,KAAK,KAAK,CAApB,EAAuB;AAAEA,MAAAA,MAAM,GAAG,KAAT;AAAiB;;AAC1C,QAAI,CAAC,KAAKwwK,YAAV,EAAwB;AACpB,UAAI,KAAKd,WAAL,CAAiBvvL,aAAjB,CAA+B6wL,OAA/B,CAAuC13G,WAAvC,OAAyD,OAA7D,EAAsE;AAClE;AACA,aAAKk3G,YAAL,GAAoB,KAAKd,WAAL,CAAiBvvL,aAArC;AACH,OAHD,MAIK;AACD;AACA,aAAKqwL,YAAL,GAAoB,KAAKd,WAAL,CAAiBvvL,aAAjB,CAA+ByY,oBAA/B,CAAoD,OAApD,EAA6D,CAA7D,CAApB;AACH;AACJ;;AACD,QAAI,KAAK43K,YAAL,IAAqBxwK,MAAzB,EAAiC;AAC7B,WAAKuwK,oBAAL,GAA4BvB,cAAc,CAACiC,0BAAf,CAA0C73K,MAAM,CAACC,MAAP,CAAc;AAAEm3K,QAAAA,YAAY,EAAE,KAAKA;AAArB,OAAd,EAAmD,KAAKZ,cAAxD,CAA1C,CAA5B;AACH;AACJ,GAfD;;AAgBAP,EAAAA,oBAAoB,CAACnuK,SAArB,CAA+BgwK,iBAA/B,GAAmD,YAAY;AAAE,SAAKf,UAAL,GAAkB,IAAlB;AAAyB,GAA1F;;AACAd,EAAAA,oBAAoB,CAACnuK,SAArB,CAA+BiwK,eAA/B,GAAiD,UAAUhpM,KAAV,EAAiB;AAC9D,SAAKgoM,UAAL,GAAkB,KAAlB;AACA,SAAKR,gBAAL,IAAyB,KAAKoB,YAAL,CAAkB5oM,KAAlB,CAAzB;AACH,GAHD;AAIA;;;AACAknM,EAAAA,oBAAoB,CAAC+B,cAArB,GAAsC,YAAY;AAAE,WAAO,CACvD;AAAEljM,MAAAA,IAAI,EAAE2gM,MAAM,CAACwC;AAAf,KADuD,EAEvD;AAAEnjM,MAAAA,IAAI,EAAE2gM,MAAM,CAACyC;AAAf,KAFuD,EAGvD;AAAEpjM,MAAAA,IAAI,EAAEo7B,SAAR;AAAmBylJ,MAAAA,UAAU,EAAE,CAAC;AAAE7gL,QAAAA,IAAI,EAAE2gM,MAAM,CAACr7K;AAAf,OAAD,EAA4B;AAAEtlB,QAAAA,IAAI,EAAE2gM,MAAM,CAACt7K,MAAf;AAAuB8tF,QAAAA,IAAI,EAAE,CAACytF,OAAO,CAACyC,uBAAT;AAA7B,OAA5B;AAA/B,KAHuD,CAAP;AAIhD,GAJJ;;AAKAlC,EAAAA,oBAAoB,CAACmC,cAArB,GAAsC;AAClC,sBAAkB,CAAC;AAAEtjM,MAAAA,IAAI,EAAE2gM,MAAM,CAAC4C,KAAf;AAAsBpwF,MAAAA,IAAI,EAAE,CAAC,UAAD;AAA5B,KAAD;AADgB,GAAtC;;AAGJguF,EAAAA,oBAAoB,CAACt4K,IAArB,GAA4B,SAAS26K,4BAAT,CAAsCz6K,CAAtC,EAAyC;AAAE,WAAO,KAAKA,CAAC,IAAIo4K,oBAAV,EAAgCv6K,MAAM,CAAC6J,iBAAP,CAAyB7J,MAAM,CAACu8K,SAAhC,CAAhC,EAA4Ev8K,MAAM,CAAC6J,iBAAP,CAAyB7J,MAAM,CAACw8K,UAAhC,CAA5E,EAAyHx8K,MAAM,CAAC6J,iBAAP,CAAyBmwK,OAAO,CAACyC,uBAAjC,EAA0D,CAA1D,CAAzH,CAAP;AAAgM,GAAvQ;;AACAlC,EAAAA,oBAAoB,CAACsC,IAArB,GAA4B,aAAc78K,MAAM,CAAC88K,iBAAP,CAAyB;AAAE1jM,IAAAA,IAAI,EAAEmhM,oBAAR;AAA8Bn2M,IAAAA,SAAS,EAAE,CAAC,CAAC,EAAD,EAAK,UAAL,EAAiB,EAAjB,CAAD,CAAzC;AAAiE24M,IAAAA,YAAY,EAAE,SAASC,iCAAT,CAA2C/yK,EAA3C,EAA+Cr6B,GAA/C,EAAoD;AAAE,UAAIq6B,EAAE,GAAG,CAAT,EAAY;AAC5MjK,QAAAA,MAAM,CAACi9K,UAAP,CAAkB,OAAlB,EAA2B,SAASC,6CAAT,CAAuDC,MAAvD,EAA+D;AAAE,iBAAOvtM,GAAG,CAACqsM,YAAJ,CAAiBkB,MAAM,CAACptJ,MAAP,CAAc18C,KAA/B,CAAP;AAA+C,SAA3I,EAA6I,MAA7I,EAAqJ,SAAS+pM,4CAAT,GAAwD;AAAE,iBAAOxtM,GAAG,CAACwrM,SAAJ,EAAP;AAAyB,SAAxO,EAA0O,kBAA1O,EAA8P,SAASiC,wDAAT,GAAoE;AAAE,iBAAOztM,GAAG,CAACwsM,iBAAJ,EAAP;AAAiC,SAArW,EAAuW,gBAAvW,EAAyX,SAASkB,sDAAT,CAAgEH,MAAhE,EAAwE;AAAE,iBAAOvtM,GAAG,CAACysM,eAAJ,CAAoBc,MAAM,CAACptJ,MAAP,CAAc18C,KAAlC,CAAP;AAAkD,SAArf;AACH;AAAE,KAF4D;AAE1D2W,IAAAA,MAAM,EAAE;AAAE8wL,MAAAA,cAAc,EAAE,CAAC,UAAD,EAAa,gBAAb;AAAlB,KAFkD;AAEEyC,IAAAA,QAAQ,EAAE,CAAC,UAAD,CAFZ;AAE0Bl5M,IAAAA,QAAQ,EAAE,CAAC27B,MAAM,CAACw9K,kBAAP,CAA0B,CAACx0L,OAAO,CAACoxL,0BAAT,CAA1B,CAAD,EAAkEp6K,MAAM,CAACy9K,oBAAzE;AAFpC,GAAzB,CAA1C;;AAGA,GAAC,YAAY;AAAE,KAAC,OAAOj7K,SAAP,KAAqB,WAArB,IAAoCA,SAArC;AAqBC,GArBhB;;AAsBI,SAAO+3K,oBAAP;AACH,CA5GyC,EAA1C;;AA6GAvxL,4BAAA,GAA+BuxL,oBAA/B;;AACA,IAAImD,cAAc;AAAG;AAAe,YAAY;AAC5C,WAASA,cAAT,GAA0B,CACzB;AACD;;;AACAA,EAAAA,cAAc,CAACpB,cAAf,GAAgC,YAAY;AAAE,WAAO,EAAP;AAAY,GAA1D;;AACJoB,EAAAA,cAAc,CAACz7K,IAAf,GAAsB,SAAS07K,sBAAT,CAAgCx7K,CAAhC,EAAmC;AAAE,WAAO,KAAKA,CAAC,IAAIu7K,cAAV,GAAP;AAAqC,GAAhG;;AACAA,EAAAA,cAAc,CAACjzK,IAAf,GAAsB,aAAczK,MAAM,CAAC0K,gBAAP,CAAwB;AAAEtxB,IAAAA,IAAI,EAAEskM;AAAR,GAAxB,CAApC;AACAA,EAAAA,cAAc,CAAC/yK,IAAf,GAAsB,aAAc3K,MAAM,CAAC4K,gBAAP,CAAwB,EAAxB,CAApC;;AACA,GAAC,YAAY;AAAE,KAAC,OAAOpI,SAAP,KAAqB,WAArB,IAAoCA,SAArC;AAM6B,GAN5C;;AAOA,GAAC,YAAY;AAAE,KAAC,OAAOqI,SAAP,KAAqB,WAArB,IAAoCA,SAArC,KAAmD7K,MAAM,CAAC8K,kBAAP,CAA0B4yK,cAA1B,EAA0C;AAAEp1M,MAAAA,YAAY,EAAE,CAACiyM,oBAAD,CAAhB;AAAwCvxL,MAAAA,OAAO,EAAE,CAACuxL,oBAAD;AAAjD,KAA1C,CAAnD;AAA0K,GAAzL;;AACI,SAAOmD,cAAP;AACH,CAjBmC,EAApC;;AAkBA10L,sBAAA,GAAyB00L,cAAzB;;AACA,IAAIE,cAAc,GAAG3W,mBAAO,CAAC,6CAAD,CAA5B;;AACAj+K,qBAAA,GAAwB40L,cAAc,CAACC,aAAvC;;;;;;;;;;AC5JA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA,IAAIx3B,OAAO,GAAG,OAAO/kK,MAAP,KAAkB,QAAlB,IAA8BA,MAAM,CAACA,MAAP,KAAkBA,MAAhD,GACVA,MADU,GACD,OAAO+6G,IAAP,KAAgB,QAAhB,IAA4BA,IAAI,CAACA,IAAL,KAAcA,IAA1C,GACTA,IADS,GACF,OAAOixC,MAAP,KAAkB,QAAlB,IAA8BA,MAAM,CAACA,MAAP,KAAkBA,MAAhD,GACPA,MADO,GAEP,IAJJ;;AAMA,SAASwwC,GAAT,CAAcC,IAAd,EAAoBC,IAApB,EAA0B;AACxB,MAAI,OAAOA,IAAP,KAAgB,WAApB,EAAiCA,IAAI,GAAG;AAAEC,IAAAA,OAAO,EAAE;AAAX,GAAP,CAAjC,KACK,IAAI,OAAOD,IAAP,KAAgB,QAApB,EAA8B;AACjC/5M,IAAAA,OAAO,CAAC8wM,IAAR,CAAa,oDAAb;AACAiJ,IAAAA,IAAI,GAAG;AAAEC,MAAAA,OAAO,EAAE,CAACD;AAAZ,KAAP;AACD,GALuB,CAOxB;AACA;;AACA,MAAIA,IAAI,CAACC,OAAL,IAAgB,6EAA6EzmL,IAA7E,CAAkFumL,IAAI,CAAC3kM,IAAvF,CAApB,EAAkH;AAChH,WAAO,IAAI25H,IAAJ,CAAS,CAAClxE,MAAM,CAACC,YAAP,CAAoB,MAApB,CAAD,EAA8Bi8I,IAA9B,CAAT,EAA8C;AAAE3kM,MAAAA,IAAI,EAAE2kM,IAAI,CAAC3kM;AAAb,KAA9C,CAAP;AACD;;AACD,SAAO2kM,IAAP;AACD;;AAED,SAASG,QAAT,CAAmB3+L,GAAnB,EAAwB5M,IAAxB,EAA8BqrM,IAA9B,EAAoC;AAClC,MAAI3+H,GAAG,GAAG,IAAIC,cAAJ,EAAV;AACAD,EAAAA,GAAG,CAAC/sE,IAAJ,CAAS,KAAT,EAAgBiN,GAAhB;AACA8/D,EAAAA,GAAG,CAACstG,YAAJ,GAAmB,MAAnB;;AACAttG,EAAAA,GAAG,CAACG,MAAJ,GAAa,YAAY;AACvB2+H,IAAAA,MAAM,CAAC9+H,GAAG,CAAC36C,QAAL,EAAe/xB,IAAf,EAAqBqrM,IAArB,CAAN;AACD,GAFD;;AAGA3+H,EAAAA,GAAG,CAACO,OAAJ,GAAc,YAAY;AACxB37E,IAAAA,OAAO,CAACuU,KAAR,CAAc,yBAAd;AACD,GAFD;;AAGA6mE,EAAAA,GAAG,CAACQ,IAAJ;AACD;;AAED,SAASu+H,WAAT,CAAsB7+L,GAAtB,EAA2B;AACzB,MAAI8/D,GAAG,GAAG,IAAIC,cAAJ,EAAV,CADyB,CAEzB;;AACAD,EAAAA,GAAG,CAAC/sE,IAAJ,CAAS,MAAT,EAAiBiN,GAAjB,EAAsB,KAAtB;;AACA,MAAI;AACF8/D,IAAAA,GAAG,CAACQ,IAAJ;AACD,GAFD,CAEE,OAAO/yC,CAAP,EAAU,CAAE;;AACd,SAAOuyC,GAAG,CAAC96D,MAAJ,IAAc,GAAd,IAAqB86D,GAAG,CAAC96D,MAAJ,IAAc,GAA1C;AACD,EAED;;;AACA,SAAS85L,KAAT,CAAgB71F,IAAhB,EAAsB;AACpB,MAAI;AACFA,IAAAA,IAAI,CAACoK,aAAL,CAAmB,IAAI0rF,UAAJ,CAAe,OAAf,CAAnB;AACD,GAFD,CAEE,OAAOxxK,CAAP,EAAU;AACV,QAAIk1E,GAAG,GAAGn+E,QAAQ,CAAC00G,WAAT,CAAqB,aAArB,CAAV;AACAv2B,IAAAA,GAAG,CAACu8F,cAAJ,CAAmB,OAAnB,EAA4B,IAA5B,EAAkC,IAAlC,EAAwCj9L,MAAxC,EAAgD,CAAhD,EAAmD,CAAnD,EAAsD,CAAtD,EAAyD,EAAzD,EACsB,EADtB,EAC0B,KAD1B,EACiC,KADjC,EACwC,KADxC,EAC+C,KAD/C,EACsD,CADtD,EACyD,IADzD;AAEAknG,IAAAA,IAAI,CAACoK,aAAL,CAAmB5Q,GAAnB;AACD;AACF,EAED;AACA;AACA;;;AACA,IAAIw8F,cAAc,GAAGn4B,OAAO,CAAC7nG,SAAR,IAAqB,YAAYhnD,IAAZ,CAAiBgnD,SAAS,CAACqF,SAA3B,CAArB,IAA8D,cAAcrsD,IAAd,CAAmBgnD,SAAS,CAACqF,SAA7B,CAA9D,IAAyG,CAAC,SAASrsD,IAAT,CAAcgnD,SAAS,CAACqF,SAAxB,CAA/H;AAEA,IAAIs6H,MAAM,GAAG93B,OAAO,CAAC83B,MAAR,MACX;AACC,OAAO78L,MAAP,KAAkB,QAAlB,IAA8BA,MAAM,KAAK+kK,OAA1C,GACI,SAAS83B,MAAT,GAAmB;AAAE;AAAY,CADrC,CAGA;AAHA,EAIG,cAAcM,iBAAiB,CAACryK,SAAhC,IAA6C,CAACoyK,cAA/C,GACA,SAASL,MAAT,CAAiBJ,IAAjB,EAAuBprM,IAAvB,EAA6BqrM,IAA7B,EAAmC;AACnC,MAAI7mF,GAAG,GAAGkvD,OAAO,CAAClvD,GAAR,IAAekvD,OAAO,CAACq4B,SAAjC;AACA,MAAIn6H,CAAC,GAAG1gD,QAAQ,CAACmF,aAAT,CAAuB,GAAvB,CAAR;AACAr2B,EAAAA,IAAI,GAAGA,IAAI,IAAIorM,IAAI,CAACprM,IAAb,IAAqB,UAA5B;AAEA4xE,EAAAA,CAAC,CAAC25H,QAAF,GAAavrM,IAAb;AACA4xE,EAAAA,CAAC,CAACo6H,GAAF,GAAQ,UAAR,CANmC,CAMhB;AAEnB;AACA;;AAEA,MAAI,OAAOZ,IAAP,KAAgB,QAApB,EAA8B;AAC5B;AACAx5H,IAAAA,CAAC,CAACtzD,IAAF,GAAS8sL,IAAT;;AACA,QAAIx5H,CAAC,CAACtgD,MAAF,KAAa1iB,QAAQ,CAAC0iB,MAA1B,EAAkC;AAChCm6K,MAAAA,WAAW,CAAC75H,CAAC,CAACtzD,IAAH,CAAX,GACIitL,QAAQ,CAACH,IAAD,EAAOprM,IAAP,EAAaqrM,IAAb,CADZ,GAEIK,KAAK,CAAC95H,CAAD,EAAIA,CAAC,CAACx0B,MAAF,GAAW,QAAf,CAFT;AAGD,KAJD,MAIO;AACLsuJ,MAAAA,KAAK,CAAC95H,CAAD,CAAL;AACD;AACF,GAVD,MAUO;AACL;AACAA,IAAAA,CAAC,CAACtzD,IAAF,GAASkmG,GAAG,CAACynF,eAAJ,CAAoBb,IAApB,CAAT;AACA18L,IAAAA,UAAU,CAAC,YAAY;AAAE81G,MAAAA,GAAG,CAAC0nF,eAAJ,CAAoBt6H,CAAC,CAACtzD,IAAtB;AAA6B,KAA5C,EAA8C,GAA9C,CAAV,CAHK,CAGwD;;AAC7D5P,IAAAA,UAAU,CAAC,YAAY;AAAEg9L,MAAAA,KAAK,CAAC95H,CAAD,CAAL;AAAU,KAAzB,EAA2B,CAA3B,CAAV;AACD;AACF,CA5BC,CA8BF;AA9BE,EA+BA,sBAAsB/F,SAAtB,GACA,SAAS2/H,MAAT,CAAiBJ,IAAjB,EAAuBprM,IAAvB,EAA6BqrM,IAA7B,EAAmC;AACnCrrM,EAAAA,IAAI,GAAGA,IAAI,IAAIorM,IAAI,CAACprM,IAAb,IAAqB,UAA5B;;AAEA,MAAI,OAAOorM,IAAP,KAAgB,QAApB,EAA8B;AAC5B,QAAIK,WAAW,CAACL,IAAD,CAAf,EAAuB;AACrBG,MAAAA,QAAQ,CAACH,IAAD,EAAOprM,IAAP,EAAaqrM,IAAb,CAAR;AACD,KAFD,MAEO;AACL,UAAIz5H,CAAC,GAAG1gD,QAAQ,CAACmF,aAAT,CAAuB,GAAvB,CAAR;AACAu7C,MAAAA,CAAC,CAACtzD,IAAF,GAAS8sL,IAAT;AACAx5H,MAAAA,CAAC,CAACx0B,MAAF,GAAW,QAAX;AACA1uC,MAAAA,UAAU,CAAC,YAAY;AAAEg9L,QAAAA,KAAK,CAAC95H,CAAD,CAAL;AAAU,OAAzB,CAAV;AACD;AACF,GATD,MASO;AACL/F,IAAAA,SAAS,CAACsgI,gBAAV,CAA2BhB,GAAG,CAACC,IAAD,EAAOC,IAAP,CAA9B,EAA4CrrM,IAA5C;AACD;AACF,CAhBC,CAkBF;AAlBE,EAmBA,SAASwrM,MAAT,CAAiBJ,IAAjB,EAAuBprM,IAAvB,EAA6BqrM,IAA7B,EAAmChsI,KAAnC,EAA0C;AAC1C;AACA;AACAA,EAAAA,KAAK,GAAGA,KAAK,IAAI1/D,IAAI,CAAC,EAAD,EAAK,QAAL,CAArB;;AACA,MAAI0/D,KAAJ,EAAW;AACTA,IAAAA,KAAK,CAACnuC,QAAN,CAAerxB,KAAf,GACAw/D,KAAK,CAACnuC,QAAN,CAAerqB,IAAf,CAAoBulM,SAApB,GAAgC,gBADhC;AAED;;AAED,MAAI,OAAOhB,IAAP,KAAgB,QAApB,EAA8B,OAAOG,QAAQ,CAACH,IAAD,EAAOprM,IAAP,EAAaqrM,IAAb,CAAf;AAE9B,MAAIgB,KAAK,GAAGjB,IAAI,CAAC3kM,IAAL,KAAc,0BAA1B;;AACA,MAAIgzJ,QAAQ,GAAG,eAAe50I,IAAf,CAAoB6uJ,OAAO,CAAC44B,WAA5B,KAA4C54B,OAAO,CAAC64B,MAAnE;;AACA,MAAIC,WAAW,GAAG,eAAe3nL,IAAf,CAAoBgnD,SAAS,CAACqF,SAA9B,CAAlB;;AAEA,MAAI,CAACs7H,WAAW,IAAKH,KAAK,IAAI5yC,QAAzB,IAAsCoyC,cAAvC,KAA0D,OAAOY,UAAP,KAAsB,WAApF,EAAiG;AAC/F;AACA,QAAIC,MAAM,GAAG,IAAID,UAAJ,EAAb;;AACAC,IAAAA,MAAM,CAACC,SAAP,GAAmB,YAAY;AAC7B,UAAI//L,GAAG,GAAG8/L,MAAM,CAACvrM,MAAjB;AACAyL,MAAAA,GAAG,GAAG4/L,WAAW,GAAG5/L,GAAH,GAASA,GAAG,CAACiC,OAAJ,CAAY,cAAZ,EAA4B,uBAA5B,CAA1B;AACA,UAAIwwD,KAAJ,EAAWA,KAAK,CAACzwD,QAAN,CAAe0P,IAAf,GAAsB1R,GAAtB,CAAX,KACKgC,QAAQ,GAAGhC,GAAX;AACLyyD,MAAAA,KAAK,GAAG,IAAR,CAL6B,CAKhB;AACd,KAND;;AAOAqtI,IAAAA,MAAM,CAACE,aAAP,CAAqBxB,IAArB;AACD,GAXD,MAWO;AACL,QAAI5mF,GAAG,GAAGkvD,OAAO,CAAClvD,GAAR,IAAekvD,OAAO,CAACq4B,SAAjC;AACA,QAAIn/L,GAAG,GAAG43G,GAAG,CAACynF,eAAJ,CAAoBb,IAApB,CAAV;AACA,QAAI/rI,KAAJ,EAAWA,KAAK,CAACzwD,QAAN,GAAiBhC,GAAjB,CAAX,KACKgC,QAAQ,CAAC0P,IAAT,GAAgB1R,GAAhB;AACLyyD,IAAAA,KAAK,GAAG,IAAR,CALK,CAKQ;;AACb3wD,IAAAA,UAAU,CAAC,YAAY;AAAE81G,MAAAA,GAAG,CAAC0nF,eAAJ,CAAoBt/L,GAApB;AAA0B,KAAzC,EAA2C,GAA3C,CAAV,CANK,CAMqD;AAC3D;AACF,CA1FU,CAAb;AA6FA8mK,OAAO,CAAC83B,MAAR,GAAiBA,MAAM,CAACA,MAAP,GAAgBA,MAAjC;;AAEA,IAAI,IAAJ,EAAmC;AACjCqB,EAAAA,MAAM,CAACx2L,OAAP,GAAiBm1L,MAAjB;AACD;;;;;;;;;;AC1KD,IAAIxnL,MAAM,GAAG6oL,mEAAb;;AACA7oL,MAAM,CAACiB,EAAP,CAAU6nL,IAAV,CAAexY,mBAAO,CAAC,sCAAD,CAAtB;;;;;;;;;;ACDA;AACA;AACA;AACA;AACA;AAEC,WAAUthK,IAAV,EAAgBn1B,OAAhB,EAAyB;AACzB;AAEA;;AACA,MAAI,SAA8BgvM,MAAM,CAACx2L,OAAzC,EAAkD;AACjDw2L,IAAAA,MAAM,CAACx2L,OAAP,GAAiBxY,OAAO,CAACy2L,mBAAO,CAAC,mBAAD,CAAR,CAAxB,CADiD,CACJ;AAC7C,GAFD,MAEO,IAAI,IAAJ,EAAgD;AACtDyY,IAAAA,iCAAO,CAAC,wCAAD,CAAD,oCAAalvM,OAAb;AAAA;AAAA;AAAA,kGAAN,CADsD,CACT;AAC7C,GAFM,MAEA,EAEN;AACD,CAXA,EAWC,IAXD,EAWO,UAAUmmB,MAAV,EAAkB;AACzB,eADyB,CAGzB;;AACA,MAAIA,MAAM,CAAC5zB,OAAP,KAAmByxC,SAAnB,IAAgC7d,MAAM,CAACyzF,OAA3C,EAAoD;AACnDzzF,IAAAA,MAAM,GAAGA,MAAM,CAACyzF,OAAhB;AACA,GANwB,CAQzB;AACA;AACA;AACA;AACA;;;AAEA,MAAIzrF,OAAO,GAAG,QAAd;AAAA,MACCihL,KAAK,GAAG,EADT;AAAA,MAECC,KAAK,GAAG,EAFT;AAAA,MAGCC,SAAS,GAAG,EAHb;AAAA,MAICC,KAAK,GAAG,EAJT;AAAA,MAKCC,OAAO,GAAG,EALX;AAAA,MAMCC,WAND;;AAQA,MAAI,CAACtpL,MAAD,IAAW,OAAOA,MAAM,CAAC5zB,OAAd,KAA0B,QAAzC,EAAmD;AAClDm9M,IAAAA,QAAQ,CAAC,8FAAD,CAAR;AACA;;AAED,MAAIC,aAAa,GAAGxpL,MAAM,CAAC5zB,OAAP,CAAeme,KAAf,CAAqB,GAArB,CAApB;AAAA,MACC8kB,KAAK,GAAG,CAACm6K,aAAa,CAAC,CAAD,CADvB;AAAA,MAECC,KAAK,GAAG,CAACD,aAAa,CAAC,CAAD,CAFvB,CA1ByB,CA8BzB;;AACA,MAAIn6K,KAAK,GAAG,CAAR,IAAcA,KAAK,KAAK,CAAV,IAAeo6K,KAAK,GAAG,CAAzC,EAA6C;AAC5CF,IAAAA,QAAQ,CAAC,0EAA0EvpL,MAAM,CAAC5zB,OAAjF,GAA2F,oBAA5F,CAAR;AACA;AAED;AACD;AACA;;;AAEC,WAASs9M,aAAT,CAAuBC,QAAvB,EAAiC;AAChC,QAAIA,QAAQ,GAAG,EAAf,EAAmB;AAClB,aAAOA,QAAQ,GAAG,EAAlB;AACA,KAFD,MAEO,IAAIA,QAAQ,GAAG,EAAf,EAAmB;AACzB,aAAOA,QAAQ,GAAG,EAAlB;AACA;;AACD,WAAOA,QAAQ,GAAG,EAAlB;AACA;;AAED,WAASC,YAAT,CAAsBC,MAAtB,EAA8B;AAC7B,QAAI1nM,CAAC,GAAG,CAAR;AAAA,QACCsnE,KAAK,GAAGogI,MAAM,CAACt/L,KAAP,CAAa,GAAb,CADT;AAAA,QAECu/L,KAAK,GAAGrgI,KAAK,CAAC,CAAD,CAFd;AAAA,QAGCsgI,UAAU,GAAGtgI,KAAK,CAAC,CAAD,CAAL,IAAY,EAH1B;AAAA,QAICugI,UAAU,GAAG,CAJd;AAAA,QAKCx8H,GALD;AAAA,QAMCq0H,GAAG,GAAG,CANP;AAAA,QAOC1+I,IAAI,GAAG,CAPR,CAD6B,CAU7B;;AACA,QAAI0mJ,MAAM,CAACl/I,UAAP,CAAkB,CAAlB,MAAyB,EAA7B,EAAiC;AAChCxoD,MAAAA,CAAC,GAAG,CAAJ;AACAghD,MAAAA,IAAI,GAAG,CAAC,CAAR;AACA,KAd4B,CAgB7B;;;AACA,SAAKhhD,CAAL,EAAQA,CAAC,GAAG2nM,KAAK,CAAC3xM,MAAlB,EAA0BgK,CAAC,EAA3B,EAA+B;AAC9BqrE,MAAAA,GAAG,GAAGk8H,aAAa,CAACI,KAAK,CAACn/I,UAAN,CAAiBxoD,CAAjB,CAAD,CAAnB;AACA0/L,MAAAA,GAAG,GAAG,KAAKA,GAAL,GAAWr0H,GAAjB;AACA,KApB4B,CAsB7B;;;AACA,SAAKrrE,CAAC,GAAG,CAAT,EAAYA,CAAC,GAAG4nM,UAAU,CAAC5xM,MAA3B,EAAmCgK,CAAC,EAApC,EAAwC;AACvC6nM,MAAAA,UAAU,GAAGA,UAAU,GAAG,EAA1B;AACAx8H,MAAAA,GAAG,GAAGk8H,aAAa,CAACK,UAAU,CAACp/I,UAAX,CAAsBxoD,CAAtB,CAAD,CAAnB;AACA0/L,MAAAA,GAAG,IAAIr0H,GAAG,GAAGw8H,UAAb;AACA;;AAED,WAAOnI,GAAG,GAAG1+I,IAAb;AACA;;AAED,WAAS8mJ,UAAT,CAAqBxrG,KAArB,EAA4B;AAC3B,SAAK,IAAIt8F,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGs8F,KAAK,CAACtmG,MAA1B,EAAkCgK,CAAC,EAAnC,EAAuC;AACtCs8F,MAAAA,KAAK,CAACt8F,CAAD,CAAL,GAAWynM,YAAY,CAACnrG,KAAK,CAACt8F,CAAD,CAAN,CAAvB;AACA;AACD;;AAED,WAAS+nM,UAAT,CAAqBzrG,KAArB,EAA4BtmG,MAA5B,EAAoC;AACnC,SAAK,IAAIgK,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGhK,MAApB,EAA4BgK,CAAC,EAA7B,EAAiC;AAChCs8F,MAAAA,KAAK,CAACt8F,CAAD,CAAL,GAAWulD,IAAI,CAACk6C,KAAL,CAAW,CAACnD,KAAK,CAACt8F,CAAC,GAAG,CAAL,CAAL,IAAgB,CAAjB,IAAuBs8F,KAAK,CAACt8F,CAAD,CAAL,GAAW,KAA7C,CAAX,CADgC,CACiC;AACjE;;AAEDs8F,IAAAA,KAAK,CAACtmG,MAAM,GAAG,CAAV,CAAL,GAAoBgyM,QAApB;AACA;;AAED,WAASC,UAAT,CAAqBriK,MAArB,EAA6BsiK,OAA7B,EAAsC;AACrC,QAAIxI,GAAG,GAAG,EAAV;AAAA,QAAc1/L,CAAd;;AAEA,SAAKA,CAAC,GAAG,CAAT,EAAYA,CAAC,GAAGkoM,OAAO,CAAClyM,MAAxB,EAAgCgK,CAAC,EAAjC,EAAqC;AACpC0/L,MAAAA,GAAG,CAAC1/L,CAAD,CAAH,GAAS4lC,MAAM,CAACsiK,OAAO,CAACloM,CAAD,CAAR,CAAf;AACA;;AAED,WAAO0/L,GAAP;AACA;;AAED,WAASyI,MAAT,CAAiBT,MAAjB,EAAyB;AACxB,QAAI12M,IAAI,GAAG02M,MAAM,CAACt/L,KAAP,CAAa,GAAb,CAAX;AAAA,QACCggM,OAAO,GAAGp3M,IAAI,CAAC,CAAD,CAAJ,CAAQoX,KAAR,CAAc,GAAd,CADX;AAAA,QAEC8/L,OAAO,GAAGl3M,IAAI,CAAC,CAAD,CAAJ,CAAQoX,KAAR,CAAc,EAAd,CAFX;AAAA,QAGCigM,MAAM,GAAIr3M,IAAI,CAAC,CAAD,CAAJ,CAAQoX,KAAR,CAAc,GAAd,CAHX;AAKA0/L,IAAAA,UAAU,CAACM,OAAD,CAAV;AACAN,IAAAA,UAAU,CAACI,OAAD,CAAV;AACAJ,IAAAA,UAAU,CAACO,MAAD,CAAV;AAEAN,IAAAA,UAAU,CAACM,MAAD,EAASH,OAAO,CAAClyM,MAAjB,CAAV;AAEA,WAAO;AACN6D,MAAAA,IAAI,EAAS7I,IAAI,CAAC,CAAD,CADX;AAENs3M,MAAAA,KAAK,EAAQL,UAAU,CAACj3M,IAAI,CAAC,CAAD,CAAJ,CAAQoX,KAAR,CAAc,GAAd,CAAD,EAAqB8/L,OAArB,CAFjB;AAGNE,MAAAA,OAAO,EAAMH,UAAU,CAACG,OAAD,EAAUF,OAAV,CAHjB;AAING,MAAAA,MAAM,EAAOA,MAJP;AAKNE,MAAAA,UAAU,EAAGv3M,IAAI,CAAC,CAAD,CAAJ,GAAU;AALjB,KAAP;AAOA;AAED;AACD;AACA;;;AAEC,WAASw3M,IAAT,CAAeC,YAAf,EAA6B;AAC5B,QAAIA,YAAJ,EAAkB;AACjB,WAAKh4E,IAAL,CAAU03E,MAAM,CAACM,YAAD,CAAhB;AACA;AACD;;AAED,WAASC,OAAT,CAAkBr9H,GAAlB,EAAuBnqE,GAAvB,EAA4B;AAC3B,QAAI8qJ,GAAG,GAAG9qJ,GAAG,CAAClL,MAAd;;AACA,QAAIq1E,GAAG,GAAGnqE,GAAG,CAAC,CAAD,CAAb,EAAkB;AACjB,aAAO,CAAP;AACA,KAFD,MAEO,IAAI8qJ,GAAG,GAAG,CAAN,IAAW9qJ,GAAG,CAAC8qJ,GAAG,GAAG,CAAP,CAAH,KAAiBg8C,QAA5B,IAAwC38H,GAAG,IAAInqE,GAAG,CAAC8qJ,GAAG,GAAG,CAAP,CAAtD,EAAiE;AACvE,aAAOA,GAAG,GAAG,CAAb;AACA,KAFM,MAEA,IAAI3gF,GAAG,IAAInqE,GAAG,CAAC8qJ,GAAG,GAAG,CAAP,CAAd,EAAyB;AAC/B,aAAO,CAAC,CAAR;AACA;;AAED,QAAI28C,GAAJ;AACA,QAAIC,EAAE,GAAG,CAAT;AACA,QAAIC,EAAE,GAAG78C,GAAG,GAAG,CAAf;;AACA,WAAO68C,EAAE,GAAGD,EAAL,GAAU,CAAjB,EAAoB;AACnBD,MAAAA,GAAG,GAAGpjJ,IAAI,CAACkwC,KAAL,CAAW,CAACmzG,EAAE,GAAGC,EAAN,IAAY,CAAvB,CAAN;;AACA,UAAI3nM,GAAG,CAACynM,GAAD,CAAH,IAAYt9H,GAAhB,EAAqB;AACpBu9H,QAAAA,EAAE,GAAGD,GAAL;AACA,OAFD,MAEO;AACNE,QAAAA,EAAE,GAAGF,GAAL;AACA;AACD;;AACD,WAAOE,EAAP;AACA;;AAEDL,EAAAA,IAAI,CAACl1K,SAAL,GAAiB;AAChBm9F,IAAAA,IAAI,EAAG,UAAUq4E,QAAV,EAAoB;AAC1B,WAAKjvM,IAAL,GAAkBivM,QAAQ,CAACjvM,IAA3B;AACA,WAAKyuM,KAAL,GAAkBQ,QAAQ,CAACR,KAA3B;AACA,WAAKD,MAAL,GAAkBS,QAAQ,CAACT,MAA3B;AACA,WAAKD,OAAL,GAAkBU,QAAQ,CAACV,OAA3B;AACA,WAAKG,UAAL,GAAkBO,QAAQ,CAACP,UAA3B;AACA,KAPe;AAShBQ,IAAAA,MAAM,EAAG,UAAUp8L,SAAV,EAAqB;AAC7B,UAAIsqC,MAAM,GAAG,CAACtqC,SAAd;AAAA,UACC07L,MAAM,GAAG,KAAKA,MADf;AAAA,UAECroM,CAFD;AAIAA,MAAAA,CAAC,GAAG0oM,OAAO,CAACzxJ,MAAD,EAASoxJ,MAAT,CAAX;;AACA,UAAIroM,CAAC,IAAI,CAAT,EAAY;AACX,eAAOA,CAAP;AACA;AACD,KAlBe;AAoBhBgnM,IAAAA,SAAS,EAAG,YAAY;AACvB,UAAIgC,SAAS,GAAG,KAAKnvM,IAArB;AACA,aAAO2xB,MAAM,CAACkD,IAAP,CAAYs4K,SAAZ,EAAuBh0M,MAAvB,CAA8B,UAAUi2M,YAAV,EAAwB;AAC5D,eAAOjC,SAAS,CAACiC,YAAD,CAAT,CAAwBnC,KAAxB,CAA8BrlM,OAA9B,CAAsCunM,SAAtC,MAAqD,CAAC,CAA7D;AACA,OAFM,CAAP;AAGA,KAzBe;AA2BhB7gM,IAAAA,KAAK,EAAG,UAAUwE,SAAV,EAAqB;AAC5B,UAAIsqC,MAAM,GAAI,CAACtqC,SAAf;AAAA,UACCy7L,OAAO,GAAG,KAAKA,OADhB;AAAA,UAECC,MAAM,GAAI,KAAKA,MAFhB;AAAA,UAGCxtL,GAAG,GAAOwtL,MAAM,CAACryM,MAAP,GAAgB,CAH3B;AAAA,UAIC0wG,MAJD;AAAA,UAISwiG,UAJT;AAAA,UAIqBC,UAJrB;AAAA,UAIiCnpM,CAJjC;;AAMA,WAAKA,CAAC,GAAG,CAAT,EAAYA,CAAC,GAAG6a,GAAhB,EAAqB7a,CAAC,EAAtB,EAA0B;AACzB0mG,QAAAA,MAAM,GAAO0hG,OAAO,CAACpoM,CAAD,CAApB;AACAkpM,QAAAA,UAAU,GAAGd,OAAO,CAACpoM,CAAC,GAAG,CAAL,CAApB;AACAmpM,QAAAA,UAAU,GAAGf,OAAO,CAACpoM,CAAC,GAAGA,CAAC,GAAG,CAAP,GAAWA,CAAb,CAApB;;AAEA,YAAI0mG,MAAM,GAAGwiG,UAAT,IAAuBpqL,EAAE,CAACsqL,oBAA9B,EAAoD;AACnD1iG,UAAAA,MAAM,GAAGwiG,UAAT;AACA,SAFD,MAEO,IAAIxiG,MAAM,GAAGyiG,UAAT,IAAuBrqL,EAAE,CAACuqL,kBAA9B,EAAkD;AACxD3iG,UAAAA,MAAM,GAAGyiG,UAAT;AACA;;AAED,YAAIlyJ,MAAM,GAAGoxJ,MAAM,CAACroM,CAAD,CAAN,GAAa0mG,MAAM,GAAG,KAAnC,EAA2C;AAC1C,iBAAO0hG,OAAO,CAACpoM,CAAD,CAAd;AACA;AACD;;AAED,aAAOooM,OAAO,CAACvtL,GAAD,CAAd;AACA,KAnDe;AAqDhByuL,IAAAA,IAAI,EAAG,UAAUC,GAAV,EAAe;AACrB,aAAO,KAAKjB,KAAL,CAAW,KAAKS,MAAL,CAAYQ,GAAZ,CAAX,CAAP;AACA,KAvDe;AAyDhB7iG,IAAAA,MAAM,EAAG,UAAU6iG,GAAV,EAAe;AACvBnC,MAAAA,QAAQ,CAAC,4DAAD,CAAR;AACA,aAAO,KAAKgB,OAAL,CAAa,KAAKW,MAAL,CAAYQ,GAAZ,CAAb,CAAP;AACA,KA5De;AA8DhBC,IAAAA,SAAS,EAAG,UAAUD,GAAV,EAAe;AAC1B,aAAO,KAAKnB,OAAL,CAAa,KAAKW,MAAL,CAAYQ,GAAZ,CAAb,CAAP;AACA;AAhEe,GAAjB;AAmEA;AACD;AACA;;AAEC,WAASE,OAAT,CAAkBC,YAAlB,EAAgCC,UAAhC,EAA4C;AAC3C,SAAK9vM,IAAL,GAAY6vM,YAAZ;AACA,SAAK5C,KAAL,GAAa6C,UAAb;AACA;AAED;AACD;AACA;;;AAEC,WAASC,QAAT,CAAkBp+G,EAAlB,EAAsB;AACrB,QAAIq+G,UAAU,GAAGr+G,EAAE,CAACs+G,YAAH,EAAjB;AACA,QAAIR,IAAI,GAAGO,UAAU,CAACt2H,KAAX,CAAiB,cAAjB,CAAX;;AACA,QAAI+1H,IAAI,IAAIA,IAAI,CAAC,CAAD,CAAhB,EAAqB;AACpB;AACA;AACAA,MAAAA,IAAI,GAAGA,IAAI,CAAC,CAAD,CAAJ,CAAQ/1H,KAAR,CAAc,QAAd,CAAP;AACA+1H,MAAAA,IAAI,GAAGA,IAAI,GAAGA,IAAI,CAAClzM,IAAL,CAAU,EAAV,CAAH,GAAmBslC,SAA9B;AACA,KALD,MAKO;AACN;AACA;AACA4tK,MAAAA,IAAI,GAAGO,UAAU,CAACt2H,KAAX,CAAiB,aAAjB,CAAP;AACA+1H,MAAAA,IAAI,GAAGA,IAAI,GAAGA,IAAI,CAAC,CAAD,CAAP,GAAa5tK,SAAxB;AACA;;AAED,QAAI4tK,IAAI,KAAK,KAAb,EAAoB;AACnBA,MAAAA,IAAI,GAAG5tK,SAAP;AACA;;AAED,SAAK8vD,EAAL,GAAU,CAACA,EAAX;AACA,SAAK89G,IAAL,GAAYA,IAAZ;AACA,SAAK5iG,MAAL,GAAclb,EAAE,CAACu+G,iBAAH,EAAd;AACA;;AAED,WAASC,SAAT,CAAmBC,IAAnB,EAAyB;AACxB,SAAKA,IAAL,GAAYA,IAAZ;AACA,SAAKC,WAAL,GAAmB,CAAnB;AACA,SAAKC,SAAL,GAAiB,CAAjB;AACA;;AAEDH,EAAAA,SAAS,CAAC12K,SAAV,CAAoB82K,aAApB,GAAoC,UAAUC,QAAV,EAAoB;AACvD,SAAKH,WAAL,IAAoB3kJ,IAAI,CAAC+4E,GAAL,CAAS,KAAK2rE,IAAL,CAAUT,SAAV,CAAoBa,QAAQ,CAAC7+G,EAA7B,IAAmC6+G,QAAQ,CAAC3jG,MAArD,CAApB;;AACA,QAAI,KAAKujG,IAAL,CAAUX,IAAV,CAAee,QAAQ,CAAC7+G,EAAxB,EAA4B9iF,OAA5B,CAAoC,SAApC,EAA+C,EAA/C,MAAuD2hM,QAAQ,CAACf,IAApE,EAA0E;AACzE,WAAKa,SAAL;AACA;AACD,GALD;;AAOA,WAASG,UAAT,CAAoBC,GAApB,EAAyBC,IAAzB,EAA+B;AAC9B,QAAI7B,GAAJ,EAAS8B,IAAT;;AAEA,WAAQA,IAAI,GAAG,CAAC,CAACD,IAAI,CAACh/G,EAAL,GAAU++G,GAAG,CAAC/+G,EAAf,IAAqB,IAArB,GAA4B,CAA7B,IAAkC,GAAjD,EAAuD;AACtDm9G,MAAAA,GAAG,GAAG,IAAIiB,QAAJ,CAAa,IAAIx4J,IAAJ,CAASm5J,GAAG,CAAC/+G,EAAJ,GAASi/G,IAAlB,CAAb,CAAN;;AACA,UAAI9B,GAAG,CAACjiG,MAAJ,KAAe6jG,GAAG,CAAC7jG,MAAvB,EAA+B;AAC9B6jG,QAAAA,GAAG,GAAG5B,GAAN;AACA,OAFD,MAEO;AACN6B,QAAAA,IAAI,GAAG7B,GAAP;AACA;AACD;;AAED,WAAO4B,GAAP;AACA;;AAED,WAASG,WAAT,GAAuB;AACtB,QAAIC,SAAS,GAAG,IAAIv5J,IAAJ,GAAWw5J,WAAX,KAA2B,CAA3C;AAAA,QACCC,IAAI,GAAG,IAAIjB,QAAJ,CAAa,IAAIx4J,IAAJ,CAASu5J,SAAT,EAAoB,CAApB,EAAuB,CAAvB,CAAb,CADR;AAAA,QAECG,UAAU,GAAGD,IAAI,CAACnkG,MAFnB;AAAA,QAGC0hG,OAAO,GAAG,CAACyC,IAAD,CAHX;AAAA,QAICE,MAJD;AAAA,QAIS92M,IAJT;AAAA,QAIe+2M,UAJf;AAAA,QAI2BhrM,CAJ3B;;AAMA,SAAKA,CAAC,GAAG,CAAT,EAAYA,CAAC,GAAG,EAAhB,EAAoBA,CAAC,EAArB,EAAyB;AACxBgrM,MAAAA,UAAU,GAAG,IAAI55J,IAAJ,CAASu5J,SAAT,EAAoB3qM,CAApB,EAAuB,CAAvB,EAA0B+pM,iBAA1B,EAAb;;AACA,UAAIiB,UAAU,KAAKF,UAAnB,EAA+B;AAC9B;AACA72M,QAAAA,IAAI,GAAG,IAAI21M,QAAJ,CAAa,IAAIx4J,IAAJ,CAASu5J,SAAT,EAAoB3qM,CAApB,EAAuB,CAAvB,CAAb,CAAP;AACA+qM,QAAAA,MAAM,GAAGT,UAAU,CAACO,IAAD,EAAO52M,IAAP,CAAnB;AACAm0M,QAAAA,OAAO,CAAC94K,IAAR,CAAay7K,MAAb;AACA3C,QAAAA,OAAO,CAAC94K,IAAR,CAAa,IAAIs6K,QAAJ,CAAa,IAAIx4J,IAAJ,CAAS25J,MAAM,CAACv/G,EAAP,GAAY,GAArB,CAAb,CAAb;AACAq/G,QAAAA,IAAI,GAAG52M,IAAP;AACA62M,QAAAA,UAAU,GAAGE,UAAb;AACA;AACD;;AAED,SAAKhrM,CAAC,GAAG,CAAT,EAAYA,CAAC,GAAG,CAAhB,EAAmBA,CAAC,EAApB,EAAwB;AACvBooM,MAAAA,OAAO,CAAC94K,IAAR,CAAa,IAAIs6K,QAAJ,CAAa,IAAIx4J,IAAJ,CAASu5J,SAAS,GAAG3qM,CAArB,EAAwB,CAAxB,EAA2B,CAA3B,CAAb,CAAb;AACAooM,MAAAA,OAAO,CAAC94K,IAAR,CAAa,IAAIs6K,QAAJ,CAAa,IAAIx4J,IAAJ,CAASu5J,SAAS,GAAG3qM,CAArB,EAAwB,CAAxB,EAA2B,CAA3B,CAAb,CAAb;AACA;;AAED,WAAOooM,OAAP;AACA;;AAED,WAAS6C,cAAT,CAAyBx/H,CAAzB,EAA4Bv4C,CAA5B,EAA+B;AAC9B,QAAIu4C,CAAC,CAACy+H,WAAF,KAAkBh3K,CAAC,CAACg3K,WAAxB,EAAqC;AACpC,aAAOz+H,CAAC,CAACy+H,WAAF,GAAgBh3K,CAAC,CAACg3K,WAAzB;AACA;;AACD,QAAIz+H,CAAC,CAAC0+H,SAAF,KAAgBj3K,CAAC,CAACi3K,SAAtB,EAAiC;AAChC,aAAO1+H,CAAC,CAAC0+H,SAAF,GAAcj3K,CAAC,CAACi3K,SAAvB;AACA;;AACD,QAAI1+H,CAAC,CAACw+H,IAAF,CAAO1B,UAAP,KAAsBr1K,CAAC,CAAC+2K,IAAF,CAAO1B,UAAjC,EAA6C;AAC5C,aAAOr1K,CAAC,CAAC+2K,IAAF,CAAO1B,UAAP,GAAoB98H,CAAC,CAACw+H,IAAF,CAAO1B,UAAlC;AACA;;AACD,WAAOr1K,CAAC,CAAC+2K,IAAF,CAAOpwM,IAAP,CAAYqxM,aAAZ,CAA0Bz/H,CAAC,CAACw+H,IAAF,CAAOpwM,IAAjC,CAAP;AACA;;AAED,WAASsxM,YAAT,CAAuBtxM,IAAvB,EAA6BuuM,OAA7B,EAAsC;AACrC,QAAIpoM,CAAJ,EAAO0mG,MAAP;AACAohG,IAAAA,UAAU,CAACM,OAAD,CAAV;;AACA,SAAKpoM,CAAC,GAAG,CAAT,EAAYA,CAAC,GAAGooM,OAAO,CAACpyM,MAAxB,EAAgCgK,CAAC,EAAjC,EAAqC;AACpC0mG,MAAAA,MAAM,GAAG0hG,OAAO,CAACpoM,CAAD,CAAhB;AACAknM,MAAAA,OAAO,CAACxgG,MAAD,CAAP,GAAkBwgG,OAAO,CAACxgG,MAAD,CAAP,IAAmB,EAArC;AACAwgG,MAAAA,OAAO,CAACxgG,MAAD,CAAP,CAAgB7sG,IAAhB,IAAwB,IAAxB;AACA;AACD;;AAED,WAASuxM,qBAAT,CAAgChD,OAAhC,EAAyC;AACxC,QAAIiD,aAAa,GAAGjD,OAAO,CAACpyM,MAA5B;AAAA,QACCs1M,eAAe,GAAG,EADnB;AAAA,QAEC5L,GAAG,GAAG,EAFP;AAAA,QAGC6L,cAAc,GAAG,EAHlB;AAAA,QAICvrM,CAJD;AAAA,QAII0rE,CAJJ;AAAA,QAIOg7B,MAJP;AAAA,QAIe8kG,aAJf;;AAMA,SAAKxrM,CAAC,GAAG,CAAT,EAAYA,CAAC,GAAGqrM,aAAhB,EAA+BrrM,CAAC,EAAhC,EAAoC;AACnC0mG,MAAAA,MAAM,GAAG0hG,OAAO,CAACpoM,CAAD,CAAP,CAAW0mG,MAApB;;AACA,UAAI6kG,cAAc,CAACh4K,cAAf,CAA8BmzE,MAA9B,CAAJ,EAA2C;AAC1C;AACA;;AACD8kG,MAAAA,aAAa,GAAGtE,OAAO,CAACxgG,MAAD,CAAP,IAAmB,EAAnC;;AACA,WAAKh7B,CAAL,IAAU8/H,aAAV,EAAyB;AACxB,YAAIA,aAAa,CAACj4K,cAAd,CAA6Bm4C,CAA7B,CAAJ,EAAqC;AACpC4/H,UAAAA,eAAe,CAAC5/H,CAAD,CAAf,GAAqB,IAArB;AACA;AACD;;AACD6/H,MAAAA,cAAc,CAAC7kG,MAAD,CAAd,GAAyB,IAAzB;AACA;;AAED,SAAK1mG,CAAL,IAAUsrM,eAAV,EAA2B;AAC1B,UAAIA,eAAe,CAAC/3K,cAAhB,CAA+BvzB,CAA/B,CAAJ,EAAuC;AACtC0/L,QAAAA,GAAG,CAACpwK,IAAJ,CAAS23K,KAAK,CAACjnM,CAAD,CAAd;AACA;AACD;;AAED,WAAO0/L,GAAP;AACA;;AAED,WAAS+L,YAAT,GAAyB;AAExB;AACA,QAAI;AACH,UAAIC,QAAQ,GAAGC,IAAI,CAACC,cAAL,GAAsBC,eAAtB,GAAwCC,QAAvD;;AACA,UAAIJ,QAAQ,IAAIA,QAAQ,CAAC11M,MAAT,GAAkB,CAAlC,EAAqC;AACpC,YAAI6D,IAAI,GAAGotM,KAAK,CAAC8E,aAAa,CAACL,QAAD,CAAd,CAAhB;;AACA,YAAI7xM,IAAJ,EAAU;AACT,iBAAOA,IAAP;AACA;;AACDutM,QAAAA,QAAQ,CAAC,2BAA2BsE,QAA3B,GAAsC,wDAAvC,CAAR;AACA;AACD,KATD,CASE,OAAO13K,CAAP,EAAU,CACX;AACA;;AAED,QAAIo0K,OAAO,GAAGsC,WAAW,EAAzB;AAAA,QACCW,aAAa,GAAGjD,OAAO,CAACpyM,MADzB;AAAA,QAECkxM,OAAO,GAAGkE,qBAAqB,CAAChD,OAAD,CAFhC;AAAA,QAGC4D,UAAU,GAAG,EAHd;AAAA,QAICC,SAJD;AAAA,QAIYjsM,CAJZ;AAAA,QAIe0rE,CAJf;;AAMA,SAAK1rE,CAAC,GAAG,CAAT,EAAYA,CAAC,GAAGknM,OAAO,CAAClxM,MAAxB,EAAgCgK,CAAC,EAAjC,EAAqC;AACpCisM,MAAAA,SAAS,GAAG,IAAIjC,SAAJ,CAAckC,OAAO,CAAChF,OAAO,CAAClnM,CAAD,CAAR,CAArB,EAAmCqrM,aAAnC,CAAZ;;AACA,WAAK3/H,CAAC,GAAG,CAAT,EAAYA,CAAC,GAAG2/H,aAAhB,EAA+B3/H,CAAC,EAAhC,EAAoC;AACnCugI,QAAAA,SAAS,CAAC7B,aAAV,CAAwBhC,OAAO,CAAC18H,CAAD,CAA/B;AACA;;AACDsgI,MAAAA,UAAU,CAAC18K,IAAX,CAAgB28K,SAAhB;AACA;;AAEDD,IAAAA,UAAU,CAAC9hI,IAAX,CAAgB+gI,cAAhB;AAEA,WAAOe,UAAU,CAACh2M,MAAX,GAAoB,CAApB,GAAwBg2M,UAAU,CAAC,CAAD,CAAV,CAAc/B,IAAd,CAAmBpwM,IAA3C,GAAkD6hC,SAAzD;AACA;;AAED,WAASywK,KAAT,CAAgBC,WAAhB,EAA6B;AAC5B,QAAI,CAACjF,WAAD,IAAgBiF,WAApB,EAAiC;AAChCjF,MAAAA,WAAW,GAAGsE,YAAY,EAA1B;AACA;;AACD,WAAOtE,WAAP;AACA;AAED;AACD;AACA;;;AAEC,WAAS4E,aAAT,CAAwBlyM,IAAxB,EAA8B;AAC7B,WAAO,CAACA,IAAI,IAAI,EAAT,EAAa62B,WAAb,GAA2BhoB,OAA3B,CAAmC,KAAnC,EAA0C,GAA1C,CAAP;AACA;;AAED,WAAS2jM,OAAT,CAAkBC,MAAlB,EAA0B;AACzB,QAAItsM,CAAJ,EAAOnG,IAAP,EAAauO,KAAb,EAAoBmkM,UAApB;;AAEA,QAAI,OAAOD,MAAP,KAAkB,QAAtB,EAAgC;AAC/BA,MAAAA,MAAM,GAAG,CAACA,MAAD,CAAT;AACA;;AAED,SAAKtsM,CAAC,GAAG,CAAT,EAAYA,CAAC,GAAGssM,MAAM,CAACt2M,MAAvB,EAA+BgK,CAAC,EAAhC,EAAoC;AACnCoI,MAAAA,KAAK,GAAGkkM,MAAM,CAACtsM,CAAD,CAAN,CAAUoI,KAAV,CAAgB,GAAhB,CAAR;AACAvO,MAAAA,IAAI,GAAGuO,KAAK,CAAC,CAAD,CAAZ;AACAmkM,MAAAA,UAAU,GAAGR,aAAa,CAAClyM,IAAD,CAA1B;AACAitM,MAAAA,KAAK,CAACyF,UAAD,CAAL,GAAoBD,MAAM,CAACtsM,CAAD,CAA1B;AACAinM,MAAAA,KAAK,CAACsF,UAAD,CAAL,GAAoB1yM,IAApB;AACAsxM,MAAAA,YAAY,CAACoB,UAAD,EAAankM,KAAK,CAAC,CAAD,CAAL,CAASA,KAAT,CAAe,GAAf,CAAb,CAAZ;AACA;AACD;;AAED,WAAS8jM,OAAT,CAAkBryM,IAAlB,EAAwB2yM,MAAxB,EAAgC;AAE/B3yM,IAAAA,IAAI,GAAGkyM,aAAa,CAAClyM,IAAD,CAApB;AAEA,QAAIowM,IAAI,GAAGnD,KAAK,CAACjtM,IAAD,CAAhB;AACA,QAAIo2B,IAAJ;;AAEA,QAAIg6K,IAAI,YAAYzB,IAApB,EAA0B;AACzB,aAAOyB,IAAP;AACA;;AAED,QAAI,OAAOA,IAAP,KAAgB,QAApB,EAA8B;AAC7BA,MAAAA,IAAI,GAAG,IAAIzB,IAAJ,CAASyB,IAAT,CAAP;AACAnD,MAAAA,KAAK,CAACjtM,IAAD,CAAL,GAAcowM,IAAd;AACA,aAAOA,IAAP;AACA,KAf8B,CAiB/B;;;AACA,QAAIlD,KAAK,CAACltM,IAAD,CAAL,IAAe2yM,MAAM,KAAKN,OAA1B,KAAsCj8K,IAAI,GAAGi8K,OAAO,CAACnF,KAAK,CAACltM,IAAD,CAAN,EAAcqyM,OAAd,CAApD,CAAJ,EAAiF;AAChFjC,MAAAA,IAAI,GAAGnD,KAAK,CAACjtM,IAAD,CAAL,GAAc,IAAI2uM,IAAJ,EAArB;;AACAyB,MAAAA,IAAI,CAACx5E,IAAL,CAAUxgG,IAAV;;AACAg6K,MAAAA,IAAI,CAACpwM,IAAL,GAAYotM,KAAK,CAACptM,IAAD,CAAjB;AACA,aAAOowM,IAAP;AACA;;AAED,WAAO,IAAP;AACA;;AAED,WAASwC,QAAT,GAAqB;AACpB,QAAIzsM,CAAJ;AAAA,QAAO0/L,GAAG,GAAG,EAAb;;AAEA,SAAK1/L,CAAL,IAAUinM,KAAV,EAAiB;AAChB,UAAIA,KAAK,CAAC1zK,cAAN,CAAqBvzB,CAArB,MAA4B8mM,KAAK,CAAC9mM,CAAD,CAAL,IAAY8mM,KAAK,CAACC,KAAK,CAAC/mM,CAAD,CAAN,CAA7C,KAA4DinM,KAAK,CAACjnM,CAAD,CAArE,EAA0E;AACzE0/L,QAAAA,GAAG,CAACpwK,IAAJ,CAAS23K,KAAK,CAACjnM,CAAD,CAAd;AACA;AACD;;AAED,WAAO0/L,GAAG,CAACx1H,IAAJ,EAAP;AACA;;AAED,WAASwiI,eAAT,GAA4B;AAC3B,WAAOlhL,MAAM,CAACkD,IAAP,CAAYs4K,SAAZ,CAAP;AACA;;AAED,WAAS2F,OAAT,CAAkBv4H,OAAlB,EAA2B;AAC1B,QAAIp0E,CAAJ,EAAO4sM,KAAP,EAAcC,OAAd,EAAuBC,OAAvB;;AAEA,QAAI,OAAO14H,OAAP,KAAmB,QAAvB,EAAiC;AAChCA,MAAAA,OAAO,GAAG,CAACA,OAAD,CAAV;AACA;;AAED,SAAKp0E,CAAC,GAAG,CAAT,EAAYA,CAAC,GAAGo0E,OAAO,CAACp+E,MAAxB,EAAgCgK,CAAC,EAAjC,EAAqC;AACpC4sM,MAAAA,KAAK,GAAGx4H,OAAO,CAACp0E,CAAD,CAAP,CAAWoI,KAAX,CAAiB,GAAjB,CAAR;AAEAykM,MAAAA,OAAO,GAAGd,aAAa,CAACa,KAAK,CAAC,CAAD,CAAN,CAAvB;AACAE,MAAAA,OAAO,GAAGf,aAAa,CAACa,KAAK,CAAC,CAAD,CAAN,CAAvB;AAEA7F,MAAAA,KAAK,CAAC8F,OAAD,CAAL,GAAiBC,OAAjB;AACA7F,MAAAA,KAAK,CAAC4F,OAAD,CAAL,GAAiBD,KAAK,CAAC,CAAD,CAAtB;AAEA7F,MAAAA,KAAK,CAAC+F,OAAD,CAAL,GAAiBD,OAAjB;AACA5F,MAAAA,KAAK,CAAC6F,OAAD,CAAL,GAAiBF,KAAK,CAAC,CAAD,CAAtB;AACA;AACD;;AAED,WAASG,YAAT,CAAuB/7M,IAAvB,EAA6B;AAC5B,QAAIgP,CAAJ,EAAOipM,YAAP,EAAqB+D,aAArB,EAAoC5kM,KAApC;AACA,QAAI,CAACpX,IAAD,IAAS,CAACA,IAAI,CAACgF,MAAnB,EAA2B;;AAC3B,SAAKgK,CAAC,GAAG,CAAT,EAAYA,CAAC,GAAGhP,IAAI,CAACgF,MAArB,EAA6BgK,CAAC,EAA9B,EAAkC;AACjCoI,MAAAA,KAAK,GAAGpX,IAAI,CAACgP,CAAD,CAAJ,CAAQoI,KAAR,CAAc,GAAd,CAAR;AACA6gM,MAAAA,YAAY,GAAG7gM,KAAK,CAAC,CAAD,CAAL,CAASsjF,WAAT,EAAf;AACAshH,MAAAA,aAAa,GAAG5kM,KAAK,CAAC,CAAD,CAAL,CAASA,KAAT,CAAe,GAAf,CAAhB;AACA4+L,MAAAA,SAAS,CAACiC,YAAD,CAAT,GAA0B,IAAIQ,OAAJ,CACzBR,YADyB,EAEzB+D,aAFyB,CAA1B;AAIA;AACD;;AAED,WAASC,UAAT,CAAqBpzM,IAArB,EAA2B;AAC1BA,IAAAA,IAAI,GAAGA,IAAI,CAAC6xF,WAAL,EAAP;AACA,WAAOs7G,SAAS,CAACntM,IAAD,CAAT,IAAmB,IAA1B;AACA;;AAED,WAASqzM,eAAT,CAAyBC,OAAzB,EAAkCC,WAAlC,EAA+C;AAC9CD,IAAAA,OAAO,GAAGF,UAAU,CAACE,OAAD,CAApB;AAEA,QAAI,CAACA,OAAL,EAAc,OAAO,IAAP;AAEd,QAAIrG,KAAK,GAAGqG,OAAO,CAACrG,KAAR,CAAc58H,IAAd,EAAZ;;AAEA,QAAIkjI,WAAJ,EAAiB;AAChB,aAAOtG,KAAK,CAACj0M,GAAN,CAAU,UAAUm2M,SAAV,EAAqB;AACrC,YAAIiB,IAAI,GAAGiC,OAAO,CAAClD,SAAD,CAAlB;AACA,eAAO;AACNnvM,UAAAA,IAAI,EAAEmvM,SADA;AAENtiG,UAAAA,MAAM,EAAEujG,IAAI,CAACT,SAAL,CAAe,IAAIp4J,IAAJ,EAAf;AAFF,SAAP;AAIA,OANM,CAAP;AAOA;;AAED,WAAO01J,KAAP;AACA;;AAED,WAASuG,QAAT,CAAmBr8M,IAAnB,EAAyB;AACxBq7M,IAAAA,OAAO,CAACr7M,IAAI,CAAC81M,KAAN,CAAP;AACA6F,IAAAA,OAAO,CAAC37M,IAAI,CAAC+1M,KAAN,CAAP;AACAgG,IAAAA,YAAY,CAAC/7M,IAAI,CAACg2M,SAAN,CAAZ;AACAloL,IAAAA,EAAE,CAACwuL,WAAH,GAAiBt8M,IAAI,CAAC/G,OAAtB;AACA;;AAED,WAASsjN,UAAT,CAAqB1zM,IAArB,EAA2B;AAC1B,QAAI,CAAC0zM,UAAU,CAACC,YAAhB,EAA8B;AAC7BD,MAAAA,UAAU,CAACC,YAAX,GAA0B,IAA1B;AACCpG,MAAAA,QAAQ,CAAC,2BAA2BvtM,IAA3B,GAAkC,sDAAlC,GAA2FA,IAA3F,GAAkG,IAAnG,CAAR;AACD;;AACD,WAAO,CAAC,CAACqyM,OAAO,CAACryM,IAAD,CAAhB;AACA;;AAED,WAAS4zM,WAAT,CAAsB53K,CAAtB,EAAyB;AACxB,QAAI63K,eAAe,GAAI73K,CAAC,CAACm8C,EAAF,KAAS,GAAT,IAAgBn8C,CAAC,CAACm8C,EAAF,KAAS,GAAhD;AACA,WAAO,CAAC,EAAEn8C,CAAC,CAACuD,EAAF,IAASvD,CAAC,CAAC83K,IAAF,KAAWjyK,SAApB,IAAkC,CAACgyK,eAArC,CAAR;AACA;;AAED,WAAStG,QAAT,CAAmBl8M,OAAnB,EAA4B;AAC3B,QAAI,OAAOC,OAAP,KAAmB,WAAnB,IAAkC,OAAOA,OAAO,CAACuU,KAAf,KAAyB,UAA/D,EAA2E;AAC1EvU,MAAAA,OAAO,CAACuU,KAAR,CAAcxU,OAAd;AACA;AACD;AAED;AACD;AACA;;;AAEC,WAAS4zB,EAAT,CAAa8iC,KAAb,EAAoB;AACnB,QAAI6xD,IAAI,GAAGjlF,KAAK,CAAC8E,SAAN,CAAgByuE,KAAhB,CAAsBvvE,IAAtB,CAA2BqB,SAA3B,EAAsC,CAAtC,EAAyC,CAAC,CAA1C,CAAX;AAAA,QACCh6B,IAAI,GAAGg6B,SAAS,CAACA,SAAS,CAAC79B,MAAV,GAAmB,CAApB,CADjB;AAAA,QAEC0pM,GAAG,GAAI7hL,MAAM,CAAC8B,GAAP,CAAWmU,KAAX,CAAiB,IAAjB,EAAuB2/E,IAAvB,CAFR;AAAA,QAGCw2F,IAHD;;AAKA,QAAI,CAACpsL,MAAM,CAAC+vL,QAAP,CAAgBhsJ,KAAhB,CAAD,IAA2B6rJ,WAAW,CAAC/N,GAAD,CAAtC,KAAgDuK,IAAI,GAAGiC,OAAO,CAACryM,IAAD,CAA9D,CAAJ,EAA2E;AAC1E6lM,MAAAA,GAAG,CAACzhL,GAAJ,CAAQgsL,IAAI,CAAC9hM,KAAL,CAAWu3L,GAAX,CAAR,EAAyB,SAAzB;AACA;;AAEDA,IAAAA,GAAG,CAAC5gL,EAAJ,CAAOjlB,IAAP;AAEA,WAAO6lM,GAAP;AACA;;AAED5gL,EAAAA,EAAE,CAAC70B,OAAH,GAAkB47B,OAAlB;AACA/G,EAAAA,EAAE,CAACwuL,WAAH,GAAkB,EAAlB;AACAxuL,EAAAA,EAAE,CAAC+uL,MAAH,GAAkB/G,KAAlB;AACAhoL,EAAAA,EAAE,CAACgvL,MAAH,GAAkB/G,KAAlB;AACAjoL,EAAAA,EAAE,CAACivL,MAAH,GAAkB9G,KAAlB;AACAnoL,EAAAA,EAAE,CAACkvL,UAAH,GAAgBhH,SAAhB;AACAloL,EAAAA,EAAE,CAACb,GAAH,GAAkBouL,OAAlB;AACAvtL,EAAAA,EAAE,CAACmR,IAAH,GAAkB08K,OAAlB;AACA7tL,EAAAA,EAAE,CAAC6nL,IAAH,GAAkB0G,QAAlB;AACAvuL,EAAAA,EAAE,CAACmrL,IAAH,GAAkBiC,OAAlB;AACAptL,EAAAA,EAAE,CAACyuL,UAAH,GAAkBA,UAAlB,CAtlByB,CAslBK;;AAC9BzuL,EAAAA,EAAE,CAACqtL,KAAH,GAAkBA,KAAlB;AACArtL,EAAAA,EAAE,CAACmoL,KAAH,GAAkBwF,QAAlB;AACA3tL,EAAAA,EAAE,CAAC0pL,IAAH,GAAkBA,IAAlB;AACA1pL,EAAAA,EAAE,CAACqpL,MAAH,GAAkBA,MAAlB;AACArpL,EAAAA,EAAE,CAAC2oL,YAAH,GAAkBA,YAAlB;AACA3oL,EAAAA,EAAE,CAAC2uL,WAAH,GAAkBA,WAAlB;AACA3uL,EAAAA,EAAE,CAACuqL,kBAAH,GAA0B,IAA1B;AACAvqL,EAAAA,EAAE,CAACsqL,oBAAH,GAA0B,KAA1B;AACAtqL,EAAAA,EAAE,CAACkoL,SAAH,GAAkB0F,eAAlB;AACA5tL,EAAAA,EAAE,CAACouL,eAAH,GAAqBA,eAArB;AAEA;AACD;AACA;;AAEC,MAAIznD,EAAE,GAAG5nI,MAAM,CAAC4nI,EAAhB;AAEA5nI,EAAAA,MAAM,CAACiB,EAAP,GAAYA,EAAZ;AAEAjB,EAAAA,MAAM,CAACowL,WAAP,GAAqB,IAArB;;AAEApwL,EAAAA,MAAM,CAACqwL,YAAP,GAAsB,UAAU3E,GAAV,EAAe4E,QAAf,EAAyB;AAC9C,QAAIlE,IAAI,GAAGpsL,MAAM,CAACowL,WAAlB;AAAA,QACCvnG,MADD;;AAGA,QAAI6iG,GAAG,CAAC6E,EAAJ,KAAW1yK,SAAf,EAA0B;AACzB,UAAIuuK,IAAI,IAAIwD,WAAW,CAAClE,GAAD,CAAnB,IAA4B,CAACA,GAAG,CAAC8E,MAAjC,IAA2C9E,GAAG,CAAC3kF,OAAJ,EAA/C,EAA8D;AAC7D2kF,QAAAA,GAAG,CAAChtI,EAAJ,GAAS1+C,MAAM,CAAC8B,GAAP,CAAW4pL,GAAG,CAACnwK,EAAf,EAAmBmjC,EAA5B;AACAgtI,QAAAA,GAAG,CAAC5pL,GAAJ,GAAU1B,GAAV,CAAcgsL,IAAI,CAAC9hM,KAAL,CAAWohM,GAAX,CAAd,EAA+B,SAA/B;AACA;;AACDA,MAAAA,GAAG,CAAC6E,EAAJ,GAASnE,IAAT;AACA;;AACD,QAAIV,GAAG,CAAC6E,EAAR,EAAY;AACX1nG,MAAAA,MAAM,GAAG6iG,GAAG,CAAC6E,EAAJ,CAAO5E,SAAP,CAAiBD,GAAjB,CAAT;;AACA,UAAIhkJ,IAAI,CAAC+4E,GAAL,CAAS53B,MAAT,IAAmB,EAAvB,EAA2B;AAC1BA,QAAAA,MAAM,GAAGA,MAAM,GAAG,EAAlB;AACA;;AACD,UAAI6iG,GAAG,CAACC,SAAJ,KAAkB9tK,SAAtB,EAAiC;AAChC,YAAI4yK,CAAC,GAAG/E,GAAG,CAAC6E,EAAZ;AACA7E,QAAAA,GAAG,CAACC,SAAJ,CAAc,CAAC9iG,MAAf,EAAuBynG,QAAvB;AACA5E,QAAAA,GAAG,CAAC6E,EAAJ,GAASE,CAAT;AACA,OAJD,MAIO;AACN/E,QAAAA,GAAG,CAACU,IAAJ,CAASvjG,MAAT,EAAiBynG,QAAjB;AACA;AACD;AACD,GAxBD;;AA0BA1oD,EAAAA,EAAE,CAAC3mI,EAAH,GAAQ,UAAUjlB,IAAV,EAAgBs0M,QAAhB,EAA0B;AACjC,QAAIt0M,IAAJ,EAAU;AACT,UAAI,OAAOA,IAAP,KAAgB,QAApB,EAA8B;AAC7B,cAAM,IAAI28C,KAAJ,CAAU,0CAA0C38C,IAA1C,GAAiD,IAAjD,GAAwD,OAAOA,IAA/D,GAAsE,GAAhF,CAAN;AACA;;AACD,WAAKu0M,EAAL,GAAUlC,OAAO,CAACryM,IAAD,CAAjB;;AACA,UAAI,KAAKu0M,EAAT,EAAa;AACZvwL,QAAAA,MAAM,CAACqwL,YAAP,CAAoB,IAApB,EAA0BC,QAA1B;AACA,OAFD,MAEO;AACN/G,QAAAA,QAAQ,CAAC,qCAAqCvtM,IAArC,GAA4C,0DAA7C,CAAR;AACA;;AACD,aAAO,IAAP;AACA;;AACD,QAAI,KAAKu0M,EAAT,EAAa;AAAE,aAAO,KAAKA,EAAL,CAAQv0M,IAAf;AAAsB;AACrC,GAdD;;AAgBA,WAAS00M,QAAT,CAAmBC,GAAnB,EAAwB;AACvB,WAAO,YAAY;AAClB,UAAI,KAAKJ,EAAT,EAAa;AAAE,eAAO,KAAKA,EAAL,CAAQ9E,IAAR,CAAa,IAAb,CAAP;AAA4B;;AAC3C,aAAOkF,GAAG,CAACh8K,IAAJ,CAAS,IAAT,CAAP;AACA,KAHD;AAIA;;AAED,WAASi8K,aAAT,CAAwBD,GAAxB,EAA6B;AAC5B,WAAO,YAAY;AAClB,WAAKJ,EAAL,GAAU,IAAV;AACA,aAAOI,GAAG,CAAC16K,KAAJ,CAAU,IAAV,EAAgBD,SAAhB,CAAP;AACA,KAHD;AAIA;;AAED,WAAS66K,cAAT,CAAyBF,GAAzB,EAA8B;AAC7B,WAAO,YAAY;AAClB,UAAI36K,SAAS,CAAC79B,MAAV,GAAmB,CAAvB,EAA0B,KAAKo4M,EAAL,GAAU,IAAV;AAC1B,aAAOI,GAAG,CAAC16K,KAAJ,CAAU,IAAV,EAAgBD,SAAhB,CAAP;AACA,KAHD;AAIA;;AAED4xH,EAAAA,EAAE,CAACkpD,QAAH,GAAeJ,QAAQ,CAAC9oD,EAAE,CAACkpD,QAAJ,CAAvB;AACAlpD,EAAAA,EAAE,CAACmpD,QAAH,GAAeL,QAAQ,CAAC9oD,EAAE,CAACmpD,QAAJ,CAAvB;AACAnpD,EAAAA,EAAE,CAAC9lI,GAAH,GAAe8uL,aAAa,CAAChpD,EAAE,CAAC9lI,GAAJ,CAA5B;AACA8lI,EAAAA,EAAE,CAACopD,KAAH,GAAeJ,aAAa,CAAChpD,EAAE,CAACopD,KAAJ,CAA5B;AACAppD,EAAAA,EAAE,CAAC+jD,SAAH,GAAekF,cAAc,CAACjpD,EAAE,CAAC+jD,SAAJ,CAA7B;;AAEA3rL,EAAAA,MAAM,CAACiB,EAAP,CAAUgwL,UAAV,GAAuB,UAASj1M,IAAT,EAAe;AACrC,QAAIqzB,KAAK,GAAG,CAAR,IAAcA,KAAK,KAAK,CAAV,IAAeo6K,KAAK,GAAG,CAAzC,EAA6C;AAC5CF,MAAAA,QAAQ,CAAC,uFAAuFvpL,MAAM,CAAC5zB,OAA9F,GAAwG,GAAzG,CAAR;AACA;;AACD4zB,IAAAA,MAAM,CAACowL,WAAP,GAAqBp0M,IAAI,GAAGqyM,OAAO,CAACryM,IAAD,CAAV,GAAmB,IAA5C;AACA,WAAOgkB,MAAP;AACA,GAND,CAjrByB,CAyrBzB;;;AACA,MAAIkxL,gBAAgB,GAAGlxL,MAAM,CAACkxL,gBAA9B;;AACA,MAAIvjL,MAAM,CAAC8H,SAAP,CAAiBiT,QAAjB,CAA0B/T,IAA1B,CAA+Bu8K,gBAA/B,MAAqD,gBAAzD,EAA2E;AAC1E;AACAA,IAAAA,gBAAgB,CAACz/K,IAAjB,CAAsB,IAAtB;AACAy/K,IAAAA,gBAAgB,CAACz/K,IAAjB,CAAsB,IAAtB;AACA,GAJD,MAIO,IAAIy/K,gBAAJ,EAAsB;AAC5B;AACAA,IAAAA,gBAAgB,CAACX,EAAjB,GAAsB,IAAtB;AACA,GAlsBwB,CAosBzB;;;AAEA,SAAOvwL,MAAP;AACA,CAltBA,CAAD;;;;;;;;;;ACNA;AACA;AACA;AAEA;;AAAE,WAAU22I,MAAV,EAAkB98J,OAAlB,EAA2B;AAC1B,UACuCA,OAAO,CAACy2L,mBAAO,CAAC,sBAAD,CAAR,CAD9C,GAEA,CAFA;AAIF,CALC,EAKA,IALA,EAKO,UAAUtwK,MAAV,EAAkB;AAAE,eAAF,CAEvB;;AAEA,MAAImxL,EAAE,GAAGnxL,MAAM,CAACoxL,YAAP,CAAoB,IAApB,EAA0B;AAC/BC,IAAAA,MAAM,EAAE,8FAA8F9mM,KAA9F,CACJ,GADI,CADuB;AAI/B+mM,IAAAA,WAAW,EAAE,kDAAkD/mM,KAAlD,CAAwD,GAAxD,CAJkB;AAK/BgnM,IAAAA,QAAQ,EAAE,4DAA4DhnM,KAA5D,CACN,GADM,CALqB;AAQ/BinM,IAAAA,aAAa,EAAE,8BAA8BjnM,KAA9B,CAAoC,GAApC,CARgB;AAS/BknM,IAAAA,WAAW,EAAE,uBAAuBlnM,KAAvB,CAA6B,GAA7B,CATkB;AAU/BmnM,IAAAA,aAAa,EAAE,QAVgB;AAW/BC,IAAAA,IAAI,EAAE,UAAU5tJ,KAAV,EAAiB;AACnB,aAAO,QAAQljC,IAAR,CAAakjC,KAAb,CAAP;AACH,KAb8B;AAc/B6tJ,IAAAA,QAAQ,EAAE,UAAUC,KAAV,EAAiBC,OAAjB,EAA0BC,OAA1B,EAAmC;AACzC,UAAIF,KAAK,GAAG,EAAZ,EAAgB;AACZ,eAAOE,OAAO,GAAG,IAAH,GAAU,IAAxB;AACH,OAFD,MAEO;AACH,eAAOA,OAAO,GAAG,IAAH,GAAU,IAAxB;AACH;AACJ,KApB8B;AAqB/BC,IAAAA,cAAc,EAAE;AACZC,MAAAA,EAAE,EAAE,OADQ;AAEZC,MAAAA,GAAG,EAAE,UAFO;AAGZC,MAAAA,CAAC,EAAE,YAHS;AAIZC,MAAAA,EAAE,EAAE,aAJQ;AAKZC,MAAAA,GAAG,EAAE,mBALO;AAMZC,MAAAA,IAAI,EAAE;AANM,KArBe;AA6B/BC,IAAAA,QAAQ,EAAE;AACNC,MAAAA,OAAO,EAAE,gBADH;AAENC,MAAAA,OAAO,EAAE,cAFH;AAGNC,MAAAA,QAAQ,EAAE,cAHJ;AAINC,MAAAA,OAAO,EAAE,gBAJH;AAKNC,MAAAA,QAAQ,EAAE,qBALJ;AAMNC,MAAAA,QAAQ,EAAE;AANJ,KA7BqB;AAqC/BC,IAAAA,YAAY,EAAE;AACVC,MAAAA,MAAM,EAAE,QADE;AAEVC,MAAAA,IAAI,EAAE,WAFI;AAGVl9K,MAAAA,CAAC,EAAE,kBAHO;AAIVm9K,MAAAA,EAAE,EAAE,aAJM;AAKVj7K,MAAAA,CAAC,EAAE,WALO;AAMVk7K,MAAAA,EAAE,EAAE,WANM;AAOV9wC,MAAAA,CAAC,EAAE,QAPO;AAQV+wC,MAAAA,EAAE,EAAE,QARM;AASV/9K,MAAAA,CAAC,EAAE,QATO;AAUVg+K,MAAAA,EAAE,EAAE,QAVM;AAWVC,MAAAA,CAAC,EAAE,UAXO;AAYVC,MAAAA,EAAE,EAAE,WAZM;AAaV/7K,MAAAA,CAAC,EAAE,SAbO;AAcVg8K,MAAAA,EAAE,EAAE;AAdM,KArCiB;AAqD/BC,IAAAA,sBAAsB,EAAE,iBArDO;AAsD/BC,IAAAA,OAAO,EAAE,UAAUtgE,MAAV,EAAkB;AACvB,aACIA,MAAM,IACLA,MAAM,KAAK,CAAX,IAAgBA,MAAM,KAAK,CAA3B,IAAgCA,MAAM,IAAI,EAA1C,GAA+C,KAA/C,GAAuD,IADlD,CADV,CADuB,CAIpB;AACN,KA3D8B;AA4D/BugE,IAAAA,IAAI,EAAE;AACFC,MAAAA,GAAG,EAAE,CADH;AACM;AACRC,MAAAA,GAAG,EAAE,CAFH,CAEM;;AAFN;AA5DyB,GAA1B,CAAT;AAkEA,SAAOzC,EAAP;AAEH,CA7EC,CAAD;;;;;;;;;;ACJD;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;;AAAE,WAAUx6C,MAAV,EAAkB98J,OAAlB,EAA2B;AAC1B,UACuCA,OAAO,CAACy2L,mBAAO,CAAC,sBAAD,CAAR,CAD9C,GAEA,CAFA;AAIF,CALC,EAKA,IALA,EAKO,UAAUtwK,MAAV,EAAkB;AAAE,eAAF,CAEvB;;AAEA,MAAI6zL,UAAU,GAAG,UAAU99K,CAAV,EAAa;AACtB,WAAOA,CAAC,KAAK,CAAN,GACD,CADC,GAEDA,CAAC,KAAK,CAAN,GACA,CADA,GAEAA,CAAC,KAAK,CAAN,GACA,CADA,GAEAA,CAAC,GAAG,GAAJ,IAAW,CAAX,IAAgBA,CAAC,GAAG,GAAJ,IAAW,EAA3B,GACA,CADA,GAEAA,CAAC,GAAG,GAAJ,IAAW,EAAX,GACA,CADA,GAEA,CAVN;AAWH,GAZL;AAAA,MAaI+9K,OAAO,GAAG;AACNh+K,IAAAA,CAAC,EAAE,CACC,cADD,EAEC,aAFD,EAGC,CAAC,SAAD,EAAY,SAAZ,CAHD,EAIC,SAJD,EAKC,UALD,EAMC,UAND,CADG;AASNkC,IAAAA,CAAC,EAAE,CACC,cADD,EAEC,aAFD,EAGC,CAAC,SAAD,EAAY,SAAZ,CAHD,EAIC,UAJD,EAKC,UALD,EAMC,UAND,CATG;AAiBNoqI,IAAAA,CAAC,EAAE,CACC,aADD,EAEC,YAFD,EAGC,CAAC,QAAD,EAAW,QAAX,CAHD,EAIC,UAJD,EAKC,SALD,EAMC,SAND,CAjBG;AAyBNhtI,IAAAA,CAAC,EAAE,CACC,YADD,EAEC,UAFD,EAGC,CAAC,OAAD,EAAU,OAAV,CAHD,EAIC,SAJD,EAKC,UALD,EAMC,QAND,CAzBG;AAiCNi+K,IAAAA,CAAC,EAAE,CACC,YADD,EAEC,UAFD,EAGC,CAAC,OAAD,EAAU,OAAV,CAHD,EAIC,SAJD,EAKC,SALD,EAMC,QAND,CAjCG;AAyCN97K,IAAAA,CAAC,EAAE,CACC,YADD,EAEC,UAFD,EAGC,CAAC,OAAD,EAAU,OAAV,CAHD,EAIC,UAJD,EAKC,UALD,EAMC,QAND;AAzCG,GAbd;AAAA,MA+DIw8K,SAAS,GAAG,UAAUzjM,CAAV,EAAa;AACrB,WAAO,UAAU6iI,MAAV,EAAkB6gE,aAAlB,EAAiCnK,MAAjC,EAAyCoK,QAAzC,EAAmD;AACtD,UAAI38K,CAAC,GAAGu8K,UAAU,CAAC1gE,MAAD,CAAlB;AAAA,UACI1qC,GAAG,GAAGqrG,OAAO,CAACxjM,CAAD,CAAP,CAAWujM,UAAU,CAAC1gE,MAAD,CAArB,CADV;;AAEA,UAAI77G,CAAC,KAAK,CAAV,EAAa;AACTmxE,QAAAA,GAAG,GAAGA,GAAG,CAACurG,aAAa,GAAG,CAAH,GAAO,CAArB,CAAT;AACH;;AACD,aAAOvrG,GAAG,CAAC59F,OAAJ,CAAY,KAAZ,EAAmBsoI,MAAnB,CAAP;AACH,KAPD;AAQH,GAxEL;AAAA,MAyEIk+D,MAAM,GAAG,CACL,OADK,EAEL,OAFK,EAGL,MAHK,EAIL,OAJK,EAKL,KALK,EAML,MANK,EAOL,QAPK,EAQL,KARK,EASL,QATK,EAUL,QAVK,EAWL,QAXK,EAYL,QAZK,CAzEb;;AAwFA,MAAI6C,IAAI,GAAGl0L,MAAM,CAACoxL,YAAP,CAAoB,OAApB,EAA6B;AACpCC,IAAAA,MAAM,EAAEA,MAD4B;AAEpCC,IAAAA,WAAW,EAAED,MAFuB;AAGpCE,IAAAA,QAAQ,EAAE,sDAAsDhnM,KAAtD,CAA4D,GAA5D,CAH0B;AAIpCinM,IAAAA,aAAa,EAAE,wCAAwCjnM,KAAxC,CAA8C,GAA9C,CAJqB;AAKpCknM,IAAAA,WAAW,EAAE,gBAAgBlnM,KAAhB,CAAsB,GAAtB,CALuB;AAMpC4pM,IAAAA,kBAAkB,EAAE,IANgB;AAOpCnC,IAAAA,cAAc,EAAE;AACZC,MAAAA,EAAE,EAAE,OADQ;AAEZC,MAAAA,GAAG,EAAE,UAFO;AAGZC,MAAAA,CAAC,EAAE,sBAHS;AAIZC,MAAAA,EAAE,EAAE,aAJQ;AAKZC,MAAAA,GAAG,EAAE,mBALO;AAMZC,MAAAA,IAAI,EAAE;AANM,KAPoB;AAepCZ,IAAAA,aAAa,EAAE,KAfqB;AAgBpCC,IAAAA,IAAI,EAAE,UAAU5tJ,KAAV,EAAiB;AACnB,aAAO,QAAQA,KAAf;AACH,KAlBmC;AAmBpC6tJ,IAAAA,QAAQ,EAAE,UAAUpvE,IAAV,EAAgB4xE,MAAhB,EAAwBrC,OAAxB,EAAiC;AACvC,UAAIvvE,IAAI,GAAG,EAAX,EAAe;AACX,eAAO,GAAP;AACH,OAFD,MAEO;AACH,eAAO,GAAP;AACH;AACJ,KAzBmC;AA0BpC+vE,IAAAA,QAAQ,EAAE;AACNC,MAAAA,OAAO,EAAE,uBADH;AAENC,MAAAA,OAAO,EAAE,sBAFH;AAGNC,MAAAA,QAAQ,EAAE,sBAHJ;AAINC,MAAAA,OAAO,EAAE,qBAJH;AAKNC,MAAAA,QAAQ,EAAE,sBALJ;AAMNC,MAAAA,QAAQ,EAAE;AANJ,KA1B0B;AAkCpCC,IAAAA,YAAY,EAAE;AACVC,MAAAA,MAAM,EAAE,QADE;AAEVC,MAAAA,IAAI,EAAE,QAFI;AAGVl9K,MAAAA,CAAC,EAAEi+K,SAAS,CAAC,GAAD,CAHF;AAIVd,MAAAA,EAAE,EAAEc,SAAS,CAAC,GAAD,CAJH;AAKV/7K,MAAAA,CAAC,EAAE+7K,SAAS,CAAC,GAAD,CALF;AAMVb,MAAAA,EAAE,EAAEa,SAAS,CAAC,GAAD,CANH;AAOV3xC,MAAAA,CAAC,EAAE2xC,SAAS,CAAC,GAAD,CAPF;AAQVZ,MAAAA,EAAE,EAAEY,SAAS,CAAC,GAAD,CARH;AASV3+K,MAAAA,CAAC,EAAE2+K,SAAS,CAAC,GAAD,CATF;AAUVX,MAAAA,EAAE,EAAEW,SAAS,CAAC,GAAD,CAVH;AAWVV,MAAAA,CAAC,EAAEU,SAAS,CAAC,GAAD,CAXF;AAYVT,MAAAA,EAAE,EAAES,SAAS,CAAC,GAAD,CAZH;AAaVx8K,MAAAA,CAAC,EAAEw8K,SAAS,CAAC,GAAD,CAbF;AAcVR,MAAAA,EAAE,EAAEQ,SAAS,CAAC,GAAD;AAdH,KAlCsB;AAkDpCM,IAAAA,UAAU,EAAE,UAAUxK,MAAV,EAAkB;AAC1B,aAAOA,MAAM,CAACh/L,OAAP,CAAe,IAAf,EAAqB,GAArB,CAAP;AACH,KApDmC;AAqDpC6oM,IAAAA,IAAI,EAAE;AACFC,MAAAA,GAAG,EAAE,CADH;AACM;AACRC,MAAAA,GAAG,EAAE,CAFH,CAEM;;AAFN;AArD8B,GAA7B,CAAX;AA2DA,SAAOM,IAAP;AAEH,CA9JC,CAAD;;;;;;;;;;ACRD;AACA;AACA;AAEA;;AAAE,WAAUv9C,MAAV,EAAkB98J,OAAlB,EAA2B;AAC1B,UACuCA,OAAO,CAACy2L,mBAAO,CAAC,sBAAD,CAAR,CAD9C,GAEA,CAFA;AAIF,CALC,EAKA,IALA,EAKO,UAAUtwK,MAAV,EAAkB;AAAE,eAAF,CAEvB;;AAEA,MAAIs0L,IAAI,GAAGt0L,MAAM,CAACoxL,YAAP,CAAoB,OAApB,EAA6B;AACpCC,IAAAA,MAAM,EAAE,wEAAwE9mM,KAAxE,CACJ,GADI,CAD4B;AAIpC+mM,IAAAA,WAAW,EACP,wEAAwE/mM,KAAxE,CACI,GADJ,CALgC;AAQpCgnM,IAAAA,QAAQ,EAAE,sDAAsDhnM,KAAtD,CAA4D,GAA5D,CAR0B;AASpCinM,IAAAA,aAAa,EAAE,wCAAwCjnM,KAAxC,CAA8C,GAA9C,CATqB;AAUpCknM,IAAAA,WAAW,EAAE,gBAAgBlnM,KAAhB,CAAsB,GAAtB,CAVuB;AAWpC4pM,IAAAA,kBAAkB,EAAE,IAXgB;AAYpCnC,IAAAA,cAAc,EAAE;AACZC,MAAAA,EAAE,EAAE,OADQ;AAEZC,MAAAA,GAAG,EAAE,UAFO;AAGZC,MAAAA,CAAC,EAAE,YAHS;AAIZC,MAAAA,EAAE,EAAE,aAJQ;AAKZC,MAAAA,GAAG,EAAE,mBALO;AAMZC,MAAAA,IAAI,EAAE;AANM,KAZoB;AAoBpCC,IAAAA,QAAQ,EAAE;AACNC,MAAAA,OAAO,EAAE,uBADH;AAENC,MAAAA,OAAO,EAAE,qBAFH;AAGNC,MAAAA,QAAQ,EAAE,sBAHJ;AAINC,MAAAA,OAAO,EAAE,qBAJH;AAKNC,MAAAA,QAAQ,EAAE,sBALJ;AAMNC,MAAAA,QAAQ,EAAE;AANJ,KApB0B;AA4BpCC,IAAAA,YAAY,EAAE;AACVC,MAAAA,MAAM,EAAE,OADE;AAEVC,MAAAA,IAAI,EAAE,QAFI;AAGVl9K,MAAAA,CAAC,EAAE,MAHO;AAIVm9K,MAAAA,EAAE,EAAE,UAJM;AAKVj7K,MAAAA,CAAC,EAAE,OALO;AAMVk7K,MAAAA,EAAE,EAAE,UANM;AAOV9wC,MAAAA,CAAC,EAAE,MAPO;AAQV+wC,MAAAA,EAAE,EAAE,UARM;AASV/9K,MAAAA,CAAC,EAAE,KATO;AAUVg+K,MAAAA,EAAE,EAAE,SAVM;AAWVC,MAAAA,CAAC,EAAE,KAXO;AAYVC,MAAAA,EAAE,EAAE,SAZM;AAaV/7K,MAAAA,CAAC,EAAE,KAbO;AAcVg8K,MAAAA,EAAE,EAAE;AAdM,KA5BsB;AA4CpCG,IAAAA,IAAI,EAAE;AACFC,MAAAA,GAAG,EAAE,CADH;AACM;AACRC,MAAAA,GAAG,EAAE,EAFH,CAEO;;AAFP;AA5C8B,GAA7B,CAAX;AAkDA,SAAOU,IAAP;AAEH,CA7DC,CAAD;;;;;;;;;;ACJD;AACA;AACA;AAEA;;AAAE,WAAU39C,MAAV,EAAkB98J,OAAlB,EAA2B;AAC1B,UACuCA,OAAO,CAACy2L,mBAAO,CAAC,sBAAD,CAAR,CAD9C,GAEA,CAFA;AAIF,CALC,EAKA,IALA,EAKO,UAAUtwK,MAAV,EAAkB;AAAE,eAAF,CAEvB;;AAEA,MAAIu0L,SAAS,GAAG;AACR,OAAG,GADK;AAER,OAAG,GAFK;AAGR,OAAG,GAHK;AAIR,OAAG,GAJK;AAKR,OAAG,GALK;AAMR,OAAG,GANK;AAOR,OAAG,GAPK;AAQR,OAAG,GARK;AASR,OAAG,GATK;AAUR,OAAG;AAVK,GAAhB;AAAA,MAYIV,UAAU,GAAG,UAAU99K,CAAV,EAAa;AACtB,WAAOA,CAAC,KAAK,CAAN,GACD,CADC,GAEDA,CAAC,KAAK,CAAN,GACA,CADA,GAEAA,CAAC,KAAK,CAAN,GACA,CADA,GAEAA,CAAC,GAAG,GAAJ,IAAW,CAAX,IAAgBA,CAAC,GAAG,GAAJ,IAAW,EAA3B,GACA,CADA,GAEAA,CAAC,GAAG,GAAJ,IAAW,EAAX,GACA,CADA,GAEA,CAVN;AAWH,GAxBL;AAAA,MAyBI+9K,OAAO,GAAG;AACNh+K,IAAAA,CAAC,EAAE,CACC,cADD,EAEC,aAFD,EAGC,CAAC,SAAD,EAAY,SAAZ,CAHD,EAIC,SAJD,EAKC,UALD,EAMC,UAND,CADG;AASNkC,IAAAA,CAAC,EAAE,CACC,cADD,EAEC,aAFD,EAGC,CAAC,SAAD,EAAY,SAAZ,CAHD,EAIC,UAJD,EAKC,UALD,EAMC,UAND,CATG;AAiBNoqI,IAAAA,CAAC,EAAE,CACC,aADD,EAEC,YAFD,EAGC,CAAC,QAAD,EAAW,QAAX,CAHD,EAIC,UAJD,EAKC,SALD,EAMC,SAND,CAjBG;AAyBNhtI,IAAAA,CAAC,EAAE,CACC,YADD,EAEC,UAFD,EAGC,CAAC,OAAD,EAAU,OAAV,CAHD,EAIC,SAJD,EAKC,UALD,EAMC,QAND,CAzBG;AAiCNi+K,IAAAA,CAAC,EAAE,CACC,YADD,EAEC,UAFD,EAGC,CAAC,OAAD,EAAU,OAAV,CAHD,EAIC,SAJD,EAKC,SALD,EAMC,QAND,CAjCG;AAyCN97K,IAAAA,CAAC,EAAE,CACC,YADD,EAEC,UAFD,EAGC,CAAC,OAAD,EAAU,OAAV,CAHD,EAIC,UAJD,EAKC,UALD,EAMC,QAND;AAzCG,GAzBd;AAAA,MA2EIw8K,SAAS,GAAG,UAAUzjM,CAAV,EAAa;AACrB,WAAO,UAAU6iI,MAAV,EAAkB6gE,aAAlB,EAAiCnK,MAAjC,EAAyCoK,QAAzC,EAAmD;AACtD,UAAI38K,CAAC,GAAGu8K,UAAU,CAAC1gE,MAAD,CAAlB;AAAA,UACI1qC,GAAG,GAAGqrG,OAAO,CAACxjM,CAAD,CAAP,CAAWujM,UAAU,CAAC1gE,MAAD,CAArB,CADV;;AAEA,UAAI77G,CAAC,KAAK,CAAV,EAAa;AACTmxE,QAAAA,GAAG,GAAGA,GAAG,CAACurG,aAAa,GAAG,CAAH,GAAO,CAArB,CAAT;AACH;;AACD,aAAOvrG,GAAG,CAAC59F,OAAJ,CAAY,KAAZ,EAAmBsoI,MAAnB,CAAP;AACH,KAPD;AAQH,GApFL;AAAA,MAqFIk+D,MAAM,GAAG,CACL,OADK,EAEL,QAFK,EAGL,MAHK,EAIL,OAJK,EAKL,MALK,EAML,OANK,EAOL,OAPK,EAQL,OARK,EASL,QATK,EAUL,QAVK,EAWL,QAXK,EAYL,QAZK,CArFb;;AAoGA,MAAImD,IAAI,GAAGx0L,MAAM,CAACoxL,YAAP,CAAoB,OAApB,EAA6B;AACpCC,IAAAA,MAAM,EAAEA,MAD4B;AAEpCC,IAAAA,WAAW,EAAED,MAFuB;AAGpCE,IAAAA,QAAQ,EAAE,sDAAsDhnM,KAAtD,CAA4D,GAA5D,CAH0B;AAIpCinM,IAAAA,aAAa,EAAE,wCAAwCjnM,KAAxC,CAA8C,GAA9C,CAJqB;AAKpCknM,IAAAA,WAAW,EAAE,gBAAgBlnM,KAAhB,CAAsB,GAAtB,CALuB;AAMpC4pM,IAAAA,kBAAkB,EAAE,IANgB;AAOpCnC,IAAAA,cAAc,EAAE;AACZC,MAAAA,EAAE,EAAE,OADQ;AAEZC,MAAAA,GAAG,EAAE,UAFO;AAGZC,MAAAA,CAAC,EAAE,sBAHS;AAIZC,MAAAA,EAAE,EAAE,aAJQ;AAKZC,MAAAA,GAAG,EAAE,mBALO;AAMZC,MAAAA,IAAI,EAAE;AANM,KAPoB;AAepCZ,IAAAA,aAAa,EAAE,KAfqB;AAgBpCC,IAAAA,IAAI,EAAE,UAAU5tJ,KAAV,EAAiB;AACnB,aAAO,QAAQA,KAAf;AACH,KAlBmC;AAmBpC6tJ,IAAAA,QAAQ,EAAE,UAAUpvE,IAAV,EAAgB4xE,MAAhB,EAAwBrC,OAAxB,EAAiC;AACvC,UAAIvvE,IAAI,GAAG,EAAX,EAAe;AACX,eAAO,GAAP;AACH,OAFD,MAEO;AACH,eAAO,GAAP;AACH;AACJ,KAzBmC;AA0BpC+vE,IAAAA,QAAQ,EAAE;AACNC,MAAAA,OAAO,EAAE,uBADH;AAENC,MAAAA,OAAO,EAAE,sBAFH;AAGNC,MAAAA,QAAQ,EAAE,sBAHJ;AAINC,MAAAA,OAAO,EAAE,qBAJH;AAKNC,MAAAA,QAAQ,EAAE,sBALJ;AAMNC,MAAAA,QAAQ,EAAE;AANJ,KA1B0B;AAkCpCC,IAAAA,YAAY,EAAE;AACVC,MAAAA,MAAM,EAAE,QADE;AAEVC,MAAAA,IAAI,EAAE,QAFI;AAGVl9K,MAAAA,CAAC,EAAEi+K,SAAS,CAAC,GAAD,CAHF;AAIVd,MAAAA,EAAE,EAAEc,SAAS,CAAC,GAAD,CAJH;AAKV/7K,MAAAA,CAAC,EAAE+7K,SAAS,CAAC,GAAD,CALF;AAMVb,MAAAA,EAAE,EAAEa,SAAS,CAAC,GAAD,CANH;AAOV3xC,MAAAA,CAAC,EAAE2xC,SAAS,CAAC,GAAD,CAPF;AAQVZ,MAAAA,EAAE,EAAEY,SAAS,CAAC,GAAD,CARH;AASV3+K,MAAAA,CAAC,EAAE2+K,SAAS,CAAC,GAAD,CATF;AAUVX,MAAAA,EAAE,EAAEW,SAAS,CAAC,GAAD,CAVH;AAWVV,MAAAA,CAAC,EAAEU,SAAS,CAAC,GAAD,CAXF;AAYVT,MAAAA,EAAE,EAAES,SAAS,CAAC,GAAD,CAZH;AAaVx8K,MAAAA,CAAC,EAAEw8K,SAAS,CAAC,GAAD,CAbF;AAcVR,MAAAA,EAAE,EAAEQ,SAAS,CAAC,GAAD;AAdH,KAlCsB;AAkDpCU,IAAAA,QAAQ,EAAE,UAAU5K,MAAV,EAAkB;AACxB,aAAOA,MAAM,CAACh/L,OAAP,CAAe,IAAf,EAAqB,GAArB,CAAP;AACH,KApDmC;AAqDpCwpM,IAAAA,UAAU,EAAE,UAAUxK,MAAV,EAAkB;AAC1B,aAAOA,MAAM,CACRh/L,OADE,CACM,KADN,EACa,UAAU6qE,KAAV,EAAiB;AAC7B,eAAO6+H,SAAS,CAAC7+H,KAAD,CAAhB;AACH,OAHE,EAIF7qE,OAJE,CAIM,IAJN,EAIY,GAJZ,CAAP;AAKH,KA3DmC;AA4DpC6oM,IAAAA,IAAI,EAAE;AACFC,MAAAA,GAAG,EAAE,CADH;AACM;AACRC,MAAAA,GAAG,EAAE,EAFH,CAEO;;AAFP;AA5D8B,GAA7B,CAAX;AAkEA,SAAOY,IAAP;AAEH,CAjLC,CAAD;;;;;;;;;;ACJD;AACA;AACA;AACA;AAEA;;AAAE,WAAU79C,MAAV,EAAkB98J,OAAlB,EAA2B;AAC1B,UACuCA,OAAO,CAACy2L,mBAAO,CAAC,sBAAD,CAAR,CAD9C,GAEA,CAFA;AAIF,CALC,EAKA,IALA,EAKO,UAAUtwK,MAAV,EAAkB;AAAE,eAAF,CAEvB;;AAEA,MAAI00L,IAAI,GAAG10L,MAAM,CAACoxL,YAAP,CAAoB,OAApB,EAA6B;AACpCC,IAAAA,MAAM,EAAE,wEAAwE9mM,KAAxE,CACJ,GADI,CAD4B;AAIpC+mM,IAAAA,WAAW,EACP,wEAAwE/mM,KAAxE,CACI,GADJ,CALgC;AAQpCgnM,IAAAA,QAAQ,EAAE,sDAAsDhnM,KAAtD,CAA4D,GAA5D,CAR0B;AASpCinM,IAAAA,aAAa,EAAE,wCAAwCjnM,KAAxC,CAA8C,GAA9C,CATqB;AAUpCknM,IAAAA,WAAW,EAAE,gBAAgBlnM,KAAhB,CAAsB,GAAtB,CAVuB;AAWpC4pM,IAAAA,kBAAkB,EAAE,IAXgB;AAYpCnC,IAAAA,cAAc,EAAE;AACZC,MAAAA,EAAE,EAAE,OADQ;AAEZC,MAAAA,GAAG,EAAE,UAFO;AAGZC,MAAAA,CAAC,EAAE,YAHS;AAIZC,MAAAA,EAAE,EAAE,aAJQ;AAKZC,MAAAA,GAAG,EAAE,mBALO;AAMZC,MAAAA,IAAI,EAAE;AANM,KAZoB;AAoBpCC,IAAAA,QAAQ,EAAE;AACNC,MAAAA,OAAO,EAAE,uBADH;AAENC,MAAAA,OAAO,EAAE,qBAFH;AAGNC,MAAAA,QAAQ,EAAE,sBAHJ;AAINC,MAAAA,OAAO,EAAE,qBAJH;AAKNC,MAAAA,QAAQ,EAAE,sBALJ;AAMNC,MAAAA,QAAQ,EAAE;AANJ,KApB0B;AA4BpCC,IAAAA,YAAY,EAAE;AACVC,MAAAA,MAAM,EAAE,OADE;AAEVC,MAAAA,IAAI,EAAE,QAFI;AAGVl9K,MAAAA,CAAC,EAAE,MAHO;AAIVm9K,MAAAA,EAAE,EAAE,UAJM;AAKVj7K,MAAAA,CAAC,EAAE,OALO;AAMVk7K,MAAAA,EAAE,EAAE,UANM;AAOV9wC,MAAAA,CAAC,EAAE,MAPO;AAQV+wC,MAAAA,EAAE,EAAE,UARM;AASV/9K,MAAAA,CAAC,EAAE,KATO;AAUVg+K,MAAAA,EAAE,EAAE,SAVM;AAWVC,MAAAA,CAAC,EAAE,KAXO;AAYVC,MAAAA,EAAE,EAAE,SAZM;AAaV/7K,MAAAA,CAAC,EAAE,KAbO;AAcVg8K,MAAAA,EAAE,EAAE;AAdM,KA5BsB;AA4CpCG,IAAAA,IAAI,EAAE;AACFC,MAAAA,GAAG,EAAE,CADH;AACM;AACRC,MAAAA,GAAG,EAAE,CAFH,CAEM;;AAFN;AA5C8B,GAA7B,CAAX;AAkDA,SAAOc,IAAP;AAEH,CA7DC,CAAD;;;;;;;;;;ACLD;AACA;AACA;AAEA;;AAAE,WAAU/9C,MAAV,EAAkB98J,OAAlB,EAA2B;AAC1B,UACuCA,OAAO,CAACy2L,mBAAO,CAAC,sBAAD,CAAR,CAD9C,GAEA,CAFA;AAIF,CALC,EAKA,IALA,EAKO,UAAUtwK,MAAV,EAAkB;AAAE,eAAF,CAEvB;;AAEA,MAAIu0L,SAAS,GAAG;AACR,OAAG,GADK;AAER,OAAG,GAFK;AAGR,OAAG,GAHK;AAIR,OAAG,GAJK;AAKR,OAAG,GALK;AAMR,OAAG,GANK;AAOR,OAAG,GAPK;AAQR,OAAG,GARK;AASR,OAAG,GATK;AAUR,OAAG;AAVK,GAAhB;AAAA,MAYII,SAAS,GAAG;AACR,SAAK,GADG;AAER,SAAK,GAFG;AAGR,SAAK,GAHG;AAIR,SAAK,GAJG;AAKR,SAAK,GALG;AAMR,SAAK,GANG;AAOR,SAAK,GAPG;AAQR,SAAK,GARG;AASR,SAAK,GATG;AAUR,SAAK;AAVG,GAZhB;AAyBA,MAAIC,IAAI,GAAG50L,MAAM,CAACoxL,YAAP,CAAoB,OAApB,EAA6B;AACpCC,IAAAA,MAAM,EAAE,6EAA6E9mM,KAA7E,CACJ,GADI,CAD4B;AAIpC+mM,IAAAA,WAAW,EACP,6EAA6E/mM,KAA7E,CACI,GADJ,CALgC;AAQpCgnM,IAAAA,QAAQ,EAAE,sDAAsDhnM,KAAtD,CAA4D,GAA5D,CAR0B;AASpCinM,IAAAA,aAAa,EAAE,wCAAwCjnM,KAAxC,CAA8C,GAA9C,CATqB;AAUpCknM,IAAAA,WAAW,EAAE,gBAAgBlnM,KAAhB,CAAsB,GAAtB,CAVuB;AAWpC4pM,IAAAA,kBAAkB,EAAE,IAXgB;AAYpCnC,IAAAA,cAAc,EAAE;AACZC,MAAAA,EAAE,EAAE,OADQ;AAEZC,MAAAA,GAAG,EAAE,UAFO;AAGZC,MAAAA,CAAC,EAAE,YAHS;AAIZC,MAAAA,EAAE,EAAE,aAJQ;AAKZC,MAAAA,GAAG,EAAE,mBALO;AAMZC,MAAAA,IAAI,EAAE;AANM,KAZoB;AAoBpCZ,IAAAA,aAAa,EAAE,KApBqB;AAqBpCC,IAAAA,IAAI,EAAE,UAAU5tJ,KAAV,EAAiB;AACnB,aAAO,QAAQA,KAAf;AACH,KAvBmC;AAwBpC6tJ,IAAAA,QAAQ,EAAE,UAAUpvE,IAAV,EAAgB4xE,MAAhB,EAAwBrC,OAAxB,EAAiC;AACvC,UAAIvvE,IAAI,GAAG,EAAX,EAAe;AACX,eAAO,GAAP;AACH,OAFD,MAEO;AACH,eAAO,GAAP;AACH;AACJ,KA9BmC;AA+BpC+vE,IAAAA,QAAQ,EAAE;AACNC,MAAAA,OAAO,EAAE,uBADH;AAENC,MAAAA,OAAO,EAAE,qBAFH;AAGNC,MAAAA,QAAQ,EAAE,sBAHJ;AAINC,MAAAA,OAAO,EAAE,qBAJH;AAKNC,MAAAA,QAAQ,EAAE,sBALJ;AAMNC,MAAAA,QAAQ,EAAE;AANJ,KA/B0B;AAuCpCC,IAAAA,YAAY,EAAE;AACVC,MAAAA,MAAM,EAAE,OADE;AAEVC,MAAAA,IAAI,EAAE,QAFI;AAGVl9K,MAAAA,CAAC,EAAE,MAHO;AAIVm9K,MAAAA,EAAE,EAAE,UAJM;AAKVj7K,MAAAA,CAAC,EAAE,OALO;AAMVk7K,MAAAA,EAAE,EAAE,UANM;AAOV9wC,MAAAA,CAAC,EAAE,MAPO;AAQV+wC,MAAAA,EAAE,EAAE,UARM;AASV/9K,MAAAA,CAAC,EAAE,KATO;AAUVg+K,MAAAA,EAAE,EAAE,SAVM;AAWVC,MAAAA,CAAC,EAAE,KAXO;AAYVC,MAAAA,EAAE,EAAE,SAZM;AAaV/7K,MAAAA,CAAC,EAAE,KAbO;AAcVg8K,MAAAA,EAAE,EAAE;AAdM,KAvCsB;AAuDpCkB,IAAAA,QAAQ,EAAE,UAAU5K,MAAV,EAAkB;AACxB,aAAOA,MAAM,CACRh/L,OADE,CACM,eADN,EACuB,UAAU6qE,KAAV,EAAiB;AACvC,eAAOi/H,SAAS,CAACj/H,KAAD,CAAhB;AACH,OAHE,EAIF7qE,OAJE,CAIM,IAJN,EAIY,GAJZ,CAAP;AAKH,KA7DmC;AA8DpCwpM,IAAAA,UAAU,EAAE,UAAUxK,MAAV,EAAkB;AAC1B,aAAOA,MAAM,CACRh/L,OADE,CACM,KADN,EACa,UAAU6qE,KAAV,EAAiB;AAC7B,eAAO6+H,SAAS,CAAC7+H,KAAD,CAAhB;AACH,OAHE,EAIF7qE,OAJE,CAIM,IAJN,EAIY,GAJZ,CAAP;AAKH,KApEmC;AAqEpC6oM,IAAAA,IAAI,EAAE;AACFC,MAAAA,GAAG,EAAE,CADH;AACM;AACRC,MAAAA,GAAG,EAAE,CAFH,CAEM;;AAFN;AArE8B,GAA7B,CAAX;AA2EA,SAAOgB,IAAP;AAEH,CA/GC,CAAD;;;;;;;;;;ACJD;AACA;AACA;AAEA;;AAAE,WAAUj+C,MAAV,EAAkB98J,OAAlB,EAA2B;AAC1B,UACuCA,OAAO,CAACy2L,mBAAO,CAAC,sBAAD,CAAR,CAD9C,GAEA,CAFA;AAIF,CALC,EAKA,IALA,EAKO,UAAUtwK,MAAV,EAAkB;AAAE,eAAF,CAEvB;;AAEA,MAAI60L,IAAI,GAAG70L,MAAM,CAACoxL,YAAP,CAAoB,OAApB,EAA6B;AACpCC,IAAAA,MAAM,EAAE,yEAAyE9mM,KAAzE,CACJ,GADI,CAD4B;AAIpC+mM,IAAAA,WAAW,EACP,yEAAyE/mM,KAAzE,CACI,GADJ,CALgC;AAQpCgnM,IAAAA,QAAQ,EAAE,sDAAsDhnM,KAAtD,CAA4D,GAA5D,CAR0B;AASpCinM,IAAAA,aAAa,EAAE,wCAAwCjnM,KAAxC,CAA8C,GAA9C,CATqB;AAUpCknM,IAAAA,WAAW,EAAE,gBAAgBlnM,KAAhB,CAAsB,GAAtB,CAVuB;AAWpC4pM,IAAAA,kBAAkB,EAAE,IAXgB;AAYpCnC,IAAAA,cAAc,EAAE;AACZC,MAAAA,EAAE,EAAE,OADQ;AAEZC,MAAAA,GAAG,EAAE,UAFO;AAGZC,MAAAA,CAAC,EAAE,YAHS;AAIZC,MAAAA,EAAE,EAAE,aAJQ;AAKZC,MAAAA,GAAG,EAAE,mBALO;AAMZC,MAAAA,IAAI,EAAE;AANM,KAZoB;AAoBpCC,IAAAA,QAAQ,EAAE;AACNC,MAAAA,OAAO,EAAE,uBADH;AAENC,MAAAA,OAAO,EAAE,qBAFH;AAGNC,MAAAA,QAAQ,EAAE,sBAHJ;AAINC,MAAAA,OAAO,EAAE,qBAJH;AAKNC,MAAAA,QAAQ,EAAE,sBALJ;AAMNC,MAAAA,QAAQ,EAAE;AANJ,KApB0B;AA4BpCC,IAAAA,YAAY,EAAE;AACVC,MAAAA,MAAM,EAAE,OADE;AAEVC,MAAAA,IAAI,EAAE,QAFI;AAGVl9K,MAAAA,CAAC,EAAE,MAHO;AAIVm9K,MAAAA,EAAE,EAAE,UAJM;AAKVj7K,MAAAA,CAAC,EAAE,OALO;AAMVk7K,MAAAA,EAAE,EAAE,UANM;AAOV9wC,MAAAA,CAAC,EAAE,MAPO;AAQV+wC,MAAAA,EAAE,EAAE,UARM;AASV/9K,MAAAA,CAAC,EAAE,KATO;AAUVg+K,MAAAA,EAAE,EAAE,SAVM;AAWVC,MAAAA,CAAC,EAAE,KAXO;AAYVC,MAAAA,EAAE,EAAE,SAZM;AAaV/7K,MAAAA,CAAC,EAAE,KAbO;AAcVg8K,MAAAA,EAAE,EAAE;AAdM,KA5BsB;AA4CpCG,IAAAA,IAAI,EAAE;AACFC,MAAAA,GAAG,EAAE,CADH;AACM;AACRC,MAAAA,GAAG,EAAE,CAFH,CAEM;;AAFN;AA5C8B,GAA7B,CAAX;AAkDA,SAAOiB,IAAP;AAEH,CA7DC,CAAD;;;;;;;;;;ACJD;AACA;AACA;AACA;AACA;AAEA;;AAAE,WAAUl+C,MAAV,EAAkB98J,OAAlB,EAA2B;AAC1B,UACuCA,OAAO,CAACy2L,mBAAO,CAAC,sBAAD,CAAR,CAD9C,GAEA,CAFA;AAIF,CALC,EAKA,IALA,EAKO,UAAUtwK,MAAV,EAAkB;AAAE,eAAF,CAEvB;;AAEA,MAAIu0L,SAAS,GAAG;AACR,OAAG,GADK;AAER,OAAG,GAFK;AAGR,OAAG,GAHK;AAIR,OAAG,GAJK;AAKR,OAAG,GALK;AAMR,OAAG,GANK;AAOR,OAAG,GAPK;AAQR,OAAG,GARK;AASR,OAAG,GATK;AAUR,OAAG;AAVK,GAAhB;AAAA,MAYII,SAAS,GAAG;AACR,SAAK,GADG;AAER,SAAK,GAFG;AAGR,SAAK,GAHG;AAIR,SAAK,GAJG;AAKR,SAAK,GALG;AAMR,SAAK,GANG;AAOR,SAAK,GAPG;AAQR,SAAK,GARG;AASR,SAAK,GATG;AAUR,SAAK;AAVG,GAZhB;AAAA,MAwBId,UAAU,GAAG,UAAU99K,CAAV,EAAa;AACtB,WAAOA,CAAC,KAAK,CAAN,GACD,CADC,GAEDA,CAAC,KAAK,CAAN,GACA,CADA,GAEAA,CAAC,KAAK,CAAN,GACA,CADA,GAEAA,CAAC,GAAG,GAAJ,IAAW,CAAX,IAAgBA,CAAC,GAAG,GAAJ,IAAW,EAA3B,GACA,CADA,GAEAA,CAAC,GAAG,GAAJ,IAAW,EAAX,GACA,CADA,GAEA,CAVN;AAWH,GApCL;AAAA,MAqCI+9K,OAAO,GAAG;AACNh+K,IAAAA,CAAC,EAAE,CACC,cADD,EAEC,aAFD,EAGC,CAAC,SAAD,EAAY,SAAZ,CAHD,EAIC,SAJD,EAKC,UALD,EAMC,UAND,CADG;AASNkC,IAAAA,CAAC,EAAE,CACC,cADD,EAEC,aAFD,EAGC,CAAC,SAAD,EAAY,SAAZ,CAHD,EAIC,UAJD,EAKC,UALD,EAMC,UAND,CATG;AAiBNoqI,IAAAA,CAAC,EAAE,CACC,aADD,EAEC,YAFD,EAGC,CAAC,QAAD,EAAW,QAAX,CAHD,EAIC,UAJD,EAKC,SALD,EAMC,SAND,CAjBG;AAyBNhtI,IAAAA,CAAC,EAAE,CACC,YADD,EAEC,UAFD,EAGC,CAAC,OAAD,EAAU,OAAV,CAHD,EAIC,SAJD,EAKC,UALD,EAMC,QAND,CAzBG;AAiCNi+K,IAAAA,CAAC,EAAE,CACC,YADD,EAEC,UAFD,EAGC,CAAC,OAAD,EAAU,OAAV,CAHD,EAIC,SAJD,EAKC,SALD,EAMC,QAND,CAjCG;AAyCN97K,IAAAA,CAAC,EAAE,CACC,YADD,EAEC,UAFD,EAGC,CAAC,OAAD,EAAU,OAAV,CAHD,EAIC,UAJD,EAKC,UALD,EAMC,QAND;AAzCG,GArCd;AAAA,MAuFIw8K,SAAS,GAAG,UAAUzjM,CAAV,EAAa;AACrB,WAAO,UAAU6iI,MAAV,EAAkB6gE,aAAlB,EAAiCnK,MAAjC,EAAyCoK,QAAzC,EAAmD;AACtD,UAAI38K,CAAC,GAAGu8K,UAAU,CAAC1gE,MAAD,CAAlB;AAAA,UACI1qC,GAAG,GAAGqrG,OAAO,CAACxjM,CAAD,CAAP,CAAWujM,UAAU,CAAC1gE,MAAD,CAArB,CADV;;AAEA,UAAI77G,CAAC,KAAK,CAAV,EAAa;AACTmxE,QAAAA,GAAG,GAAGA,GAAG,CAACurG,aAAa,GAAG,CAAH,GAAO,CAArB,CAAT;AACH;;AACD,aAAOvrG,GAAG,CAAC59F,OAAJ,CAAY,KAAZ,EAAmBsoI,MAAnB,CAAP;AACH,KAPD;AAQH,GAhGL;AAAA,MAiGIk+D,MAAM,GAAG,CACL,OADK,EAEL,QAFK,EAGL,MAHK,EAIL,OAJK,EAKL,MALK,EAML,OANK,EAOL,OAPK,EAQL,OARK,EASL,QATK,EAUL,QAVK,EAWL,QAXK,EAYL,QAZK,CAjGb;;AAgHA,MAAIn5K,EAAE,GAAGlY,MAAM,CAACoxL,YAAP,CAAoB,IAApB,EAA0B;AAC/BC,IAAAA,MAAM,EAAEA,MADuB;AAE/BC,IAAAA,WAAW,EAAED,MAFkB;AAG/BE,IAAAA,QAAQ,EAAE,sDAAsDhnM,KAAtD,CAA4D,GAA5D,CAHqB;AAI/BinM,IAAAA,aAAa,EAAE,wCAAwCjnM,KAAxC,CAA8C,GAA9C,CAJgB;AAK/BknM,IAAAA,WAAW,EAAE,gBAAgBlnM,KAAhB,CAAsB,GAAtB,CALkB;AAM/B4pM,IAAAA,kBAAkB,EAAE,IANW;AAO/BnC,IAAAA,cAAc,EAAE;AACZC,MAAAA,EAAE,EAAE,OADQ;AAEZC,MAAAA,GAAG,EAAE,UAFO;AAGZC,MAAAA,CAAC,EAAE,sBAHS;AAIZC,MAAAA,EAAE,EAAE,aAJQ;AAKZC,MAAAA,GAAG,EAAE,mBALO;AAMZC,MAAAA,IAAI,EAAE;AANM,KAPe;AAe/BZ,IAAAA,aAAa,EAAE,KAfgB;AAgB/BC,IAAAA,IAAI,EAAE,UAAU5tJ,KAAV,EAAiB;AACnB,aAAO,QAAQA,KAAf;AACH,KAlB8B;AAmB/B6tJ,IAAAA,QAAQ,EAAE,UAAUpvE,IAAV,EAAgB4xE,MAAhB,EAAwBrC,OAAxB,EAAiC;AACvC,UAAIvvE,IAAI,GAAG,EAAX,EAAe;AACX,eAAO,GAAP;AACH,OAFD,MAEO;AACH,eAAO,GAAP;AACH;AACJ,KAzB8B;AA0B/B+vE,IAAAA,QAAQ,EAAE;AACNC,MAAAA,OAAO,EAAE,uBADH;AAENC,MAAAA,OAAO,EAAE,sBAFH;AAGNC,MAAAA,QAAQ,EAAE,sBAHJ;AAINC,MAAAA,OAAO,EAAE,qBAJH;AAKNC,MAAAA,QAAQ,EAAE,sBALJ;AAMNC,MAAAA,QAAQ,EAAE;AANJ,KA1BqB;AAkC/BC,IAAAA,YAAY,EAAE;AACVC,MAAAA,MAAM,EAAE,QADE;AAEVC,MAAAA,IAAI,EAAE,QAFI;AAGVl9K,MAAAA,CAAC,EAAEi+K,SAAS,CAAC,GAAD,CAHF;AAIVd,MAAAA,EAAE,EAAEc,SAAS,CAAC,GAAD,CAJH;AAKV/7K,MAAAA,CAAC,EAAE+7K,SAAS,CAAC,GAAD,CALF;AAMVb,MAAAA,EAAE,EAAEa,SAAS,CAAC,GAAD,CANH;AAOV3xC,MAAAA,CAAC,EAAE2xC,SAAS,CAAC,GAAD,CAPF;AAQVZ,MAAAA,EAAE,EAAEY,SAAS,CAAC,GAAD,CARH;AASV3+K,MAAAA,CAAC,EAAE2+K,SAAS,CAAC,GAAD,CATF;AAUVX,MAAAA,EAAE,EAAEW,SAAS,CAAC,GAAD,CAVH;AAWVV,MAAAA,CAAC,EAAEU,SAAS,CAAC,GAAD,CAXF;AAYVT,MAAAA,EAAE,EAAES,SAAS,CAAC,GAAD,CAZH;AAaVx8K,MAAAA,CAAC,EAAEw8K,SAAS,CAAC,GAAD,CAbF;AAcVR,MAAAA,EAAE,EAAEQ,SAAS,CAAC,GAAD;AAdH,KAlCiB;AAkD/BU,IAAAA,QAAQ,EAAE,UAAU5K,MAAV,EAAkB;AACxB,aAAOA,MAAM,CACRh/L,OADE,CACM,eADN,EACuB,UAAU6qE,KAAV,EAAiB;AACvC,eAAOi/H,SAAS,CAACj/H,KAAD,CAAhB;AACH,OAHE,EAIF7qE,OAJE,CAIM,IAJN,EAIY,GAJZ,CAAP;AAKH,KAxD8B;AAyD/BwpM,IAAAA,UAAU,EAAE,UAAUxK,MAAV,EAAkB;AAC1B,aAAOA,MAAM,CACRh/L,OADE,CACM,KADN,EACa,UAAU6qE,KAAV,EAAiB;AAC7B,eAAO6+H,SAAS,CAAC7+H,KAAD,CAAhB;AACH,OAHE,EAIF7qE,OAJE,CAIM,IAJN,EAIY,GAJZ,CAAP;AAKH,KA/D8B;AAgE/B6oM,IAAAA,IAAI,EAAE;AACFC,MAAAA,GAAG,EAAE,CADH;AACM;AACRC,MAAAA,GAAG,EAAE,EAFH,CAEO;;AAFP;AAhEyB,GAA1B,CAAT;AAsEA,SAAO17K,EAAP;AAEH,CAjMC,CAAD;;;;;;;;;;ACND;AACA;AACA;AAEA;;AAAE,WAAUy+H,MAAV,EAAkB98J,OAAlB,EAA2B;AAC1B,UACuCA,OAAO,CAACy2L,mBAAO,CAAC,sBAAD,CAAR,CAD9C,GAEA,CAFA;AAIF,CALC,EAKA,IALA,EAKO,UAAUtwK,MAAV,EAAkB;AAAE,eAAF,CAEvB;;AAEA,MAAI80L,QAAQ,GAAG;AACX,OAAG,OADQ;AAEX,OAAG,OAFQ;AAGX,OAAG,OAHQ;AAIX,QAAI,OAJO;AAKX,QAAI,OALO;AAMX,OAAG,MANQ;AAOX,OAAG,MAPQ;AAQX,QAAI,MARO;AASX,QAAI,MATO;AAUX,OAAG,OAVQ;AAWX,OAAG,OAXQ;AAYX,SAAK,OAZM;AAaX,OAAG,MAbQ;AAcX,OAAG,OAdQ;AAeX,QAAI,OAfO;AAgBX,QAAI,OAhBO;AAiBX,QAAI,OAjBO;AAkBX,QAAI;AAlBO,GAAf;AAqBA,MAAIC,EAAE,GAAG/0L,MAAM,CAACoxL,YAAP,CAAoB,IAApB,EAA0B;AAC/BC,IAAAA,MAAM,EAAE,+EAA+E9mM,KAA/E,CACJ,GADI,CADuB;AAI/B+mM,IAAAA,WAAW,EAAE,kDAAkD/mM,KAAlD,CAAwD,GAAxD,CAJkB;AAK/BgnM,IAAAA,QAAQ,EACJ,qEAAqEhnM,KAArE,CACI,GADJ,CAN2B;AAS/BinM,IAAAA,aAAa,EAAE,8BAA8BjnM,KAA9B,CAAoC,GAApC,CATgB;AAU/BknM,IAAAA,WAAW,EAAE,uBAAuBlnM,KAAvB,CAA6B,GAA7B,CAVkB;AAW/B4pM,IAAAA,kBAAkB,EAAE,IAXW;AAY/BnC,IAAAA,cAAc,EAAE;AACZC,MAAAA,EAAE,EAAE,OADQ;AAEZC,MAAAA,GAAG,EAAE,UAFO;AAGZC,MAAAA,CAAC,EAAE,YAHS;AAIZC,MAAAA,EAAE,EAAE,aAJQ;AAKZC,MAAAA,GAAG,EAAE,mBALO;AAMZC,MAAAA,IAAI,EAAE;AANM,KAZe;AAoB/BC,IAAAA,QAAQ,EAAE;AACNC,MAAAA,OAAO,EAAE,iBADH;AAENC,MAAAA,OAAO,EAAE,iBAFH;AAGNC,MAAAA,QAAQ,EAAE,8BAHJ;AAINC,MAAAA,OAAO,EAAE,YAJH;AAKNC,MAAAA,QAAQ,EAAE,8BALJ;AAMNC,MAAAA,QAAQ,EAAE;AANJ,KApBqB;AA4B/BC,IAAAA,YAAY,EAAE;AACVC,MAAAA,MAAM,EAAE,UADE;AAEVC,MAAAA,IAAI,EAAE,UAFI;AAGVl9K,MAAAA,CAAC,EAAE,iBAHO;AAIVm9K,MAAAA,EAAE,EAAE,WAJM;AAKVj7K,MAAAA,CAAC,EAAE,YALO;AAMVk7K,MAAAA,EAAE,EAAE,WANM;AAOV9wC,MAAAA,CAAC,EAAE,UAPO;AAQV+wC,MAAAA,EAAE,EAAE,SARM;AASV/9K,MAAAA,CAAC,EAAE,SATO;AAUVg+K,MAAAA,EAAE,EAAE,QAVM;AAWVC,MAAAA,CAAC,EAAE,QAXO;AAYVC,MAAAA,EAAE,EAAE,OAZM;AAaV/7K,MAAAA,CAAC,EAAE,QAbO;AAcVg8K,MAAAA,EAAE,EAAE;AAdM,KA5BiB;AA4C/B7B,IAAAA,aAAa,EAAE,yBA5CgB;AA6C/BC,IAAAA,IAAI,EAAE,UAAU5tJ,KAAV,EAAiB;AACnB,aAAO,mBAAmBljC,IAAnB,CAAwBkjC,KAAxB,CAAP;AACH,KA/C8B;AAgD/B6tJ,IAAAA,QAAQ,EAAE,UAAUpvE,IAAV,EAAgB4xE,MAAhB,EAAwBrC,OAAxB,EAAiC;AACvC,UAAIvvE,IAAI,GAAG,CAAX,EAAc;AACV,eAAO,MAAP;AACH,OAFD,MAEO,IAAIA,IAAI,GAAG,EAAX,EAAe;AAClB,eAAO,OAAP;AACH,OAFM,MAEA,IAAIA,IAAI,GAAG,EAAX,EAAe;AAClB,eAAO,QAAP;AACH,OAFM,MAEA;AACH,eAAO,OAAP;AACH;AACJ,KA1D8B;AA2D/BgxE,IAAAA,sBAAsB,EAAE,uCA3DO;AA4D/BC,IAAAA,OAAO,EAAE,UAAUtgE,MAAV,EAAkB;AACvB,UAAIA,MAAM,KAAK,CAAf,EAAkB;AACd;AACA,eAAOA,MAAM,GAAG,OAAhB;AACH;;AACD,UAAIvlE,CAAC,GAAGulE,MAAM,GAAG,EAAjB;AAAA,UACI99G,CAAC,GAAI89G,MAAM,GAAG,GAAV,GAAiBvlE,CADzB;AAAA,UAEIu7F,CAAC,GAAGh2B,MAAM,IAAI,GAAV,GAAgB,GAAhB,GAAsB,IAF9B;AAGA,aAAOA,MAAM,IAAI2hE,QAAQ,CAAClnI,CAAD,CAAR,IAAeknI,QAAQ,CAACz/K,CAAD,CAAvB,IAA8By/K,QAAQ,CAAC3rC,CAAD,CAA1C,CAAb;AACH,KArE8B;AAsE/BuqC,IAAAA,IAAI,EAAE;AACFC,MAAAA,GAAG,EAAE,CADH;AACM;AACRC,MAAAA,GAAG,EAAE,CAFH,CAEM;;AAFN;AAtEyB,GAA1B,CAAT;AA4EA,SAAOmB,EAAP;AAEH,CA5GC,CAAD;;;;;;;;;;ACJD;AACA;AACA;AACA;AACA;AAEA;;AAAE,WAAUp+C,MAAV,EAAkB98J,OAAlB,EAA2B;AAC1B,UACuCA,OAAO,CAACy2L,mBAAO,CAAC,sBAAD,CAAR,CAD9C,GAEA,CAFA;AAIF,CALC,EAKA,IALA,EAKO,UAAUtwK,MAAV,EAAkB;AAAE,eAAF,CAEvB;;AAEA,WAASg1L,MAAT,CAAgBC,IAAhB,EAAsBznI,GAAtB,EAA2B;AACvB,QAAI0nI,KAAK,GAAGD,IAAI,CAAC1qM,KAAL,CAAW,GAAX,CAAZ;AACA,WAAOijE,GAAG,GAAG,EAAN,KAAa,CAAb,IAAkBA,GAAG,GAAG,GAAN,KAAc,EAAhC,GACD0nI,KAAK,CAAC,CAAD,CADJ,GAED1nI,GAAG,GAAG,EAAN,IAAY,CAAZ,IAAiBA,GAAG,GAAG,EAAN,IAAY,CAA7B,KAAmCA,GAAG,GAAG,GAAN,GAAY,EAAZ,IAAkBA,GAAG,GAAG,GAAN,IAAa,EAAlE,IACA0nI,KAAK,CAAC,CAAD,CADL,GAEAA,KAAK,CAAC,CAAD,CAJX;AAKH;;AACD,WAASC,sBAAT,CAAgChiE,MAAhC,EAAwC6gE,aAAxC,EAAuD1iL,GAAvD,EAA4D;AACxD,QAAIjR,MAAM,GAAG;AACT4yL,MAAAA,EAAE,EAAEe,aAAa,GAAG,wBAAH,GAA8B,wBADtC;AAETd,MAAAA,EAAE,EAAEc,aAAa,GAAG,wBAAH,GAA8B,wBAFtC;AAGTb,MAAAA,EAAE,EAAEa,aAAa,GAAG,wBAAH,GAA8B,wBAHtC;AAITZ,MAAAA,EAAE,EAAE,gBAJK;AAKTE,MAAAA,EAAE,EAAE,sBALK;AAMTC,MAAAA,EAAE,EAAE;AANK,KAAb;;AAQA,QAAIjiL,GAAG,KAAK,GAAZ,EAAiB;AACb,aAAO0iL,aAAa,GAAG,SAAH,GAAe,SAAnC;AACH,KAFD,MAEO,IAAI1iL,GAAG,KAAK,GAAZ,EAAiB;AACpB,aAAO0iL,aAAa,GAAG,SAAH,GAAe,SAAnC;AACH,KAFM,MAEA;AACH,aAAO7gE,MAAM,GAAG,GAAT,GAAe6hE,MAAM,CAAC30L,MAAM,CAACiR,GAAD,CAAP,EAAc,CAAC6hH,MAAf,CAA5B;AACH;AACJ;;AAED,MAAIiiE,EAAE,GAAGp1L,MAAM,CAACoxL,YAAP,CAAoB,IAApB,EAA0B;AAC/BC,IAAAA,MAAM,EAAE;AACJhxL,MAAAA,MAAM,EAAE,uGAAuG9V,KAAvG,CACJ,GADI,CADJ;AAIJ8qM,MAAAA,UAAU,EACN,qGAAqG9qM,KAArG,CACI,GADJ;AALA,KADuB;AAU/B+mM,IAAAA,WAAW,EACP,0DAA0D/mM,KAA1D,CAAgE,GAAhE,CAX2B;AAY/BgnM,IAAAA,QAAQ,EAAE;AACNlxL,MAAAA,MAAM,EAAE,0DAA0D9V,KAA1D,CACJ,GADI,CADF;AAIN8qM,MAAAA,UAAU,EACN,0DAA0D9qM,KAA1D,CACI,GADJ,CALE;AAQN+qM,MAAAA,QAAQ,EAAE;AARJ,KAZqB;AAsB/B9D,IAAAA,aAAa,EAAE,uBAAuBjnM,KAAvB,CAA6B,GAA7B,CAtBgB;AAuB/BknM,IAAAA,WAAW,EAAE,uBAAuBlnM,KAAvB,CAA6B,GAA7B,CAvBkB;AAwB/BynM,IAAAA,cAAc,EAAE;AACZC,MAAAA,EAAE,EAAE,OADQ;AAEZC,MAAAA,GAAG,EAAE,UAFO;AAGZC,MAAAA,CAAC,EAAE,YAHS;AAIZC,MAAAA,EAAE,EAAE,gBAJQ;AAKZC,MAAAA,GAAG,EAAE,uBALO;AAMZC,MAAAA,IAAI,EAAE;AANM,KAxBe;AAgC/BC,IAAAA,QAAQ,EAAE;AACNC,MAAAA,OAAO,EAAE,cADH;AAENC,MAAAA,OAAO,EAAE,eAFH;AAGNE,MAAAA,OAAO,EAAE,cAHH;AAIND,MAAAA,QAAQ,EAAE,YAAY;AAClB,eAAO,iBAAP;AACH,OANK;AAONE,MAAAA,QAAQ,EAAE,YAAY;AAClB,gBAAQ,KAAK2C,GAAL,EAAR;AACI,eAAK,CAAL;AACA,eAAK,CAAL;AACA,eAAK,CAAL;AACA,eAAK,CAAL;AACI,mBAAO,yBAAP;;AACJ,eAAK,CAAL;AACA,eAAK,CAAL;AACA,eAAK,CAAL;AACI,mBAAO,wBAAP;AATR;AAWH,OAnBK;AAoBN1C,MAAAA,QAAQ,EAAE;AApBJ,KAhCqB;AAsD/BC,IAAAA,YAAY,EAAE;AACVC,MAAAA,MAAM,EAAE,SADE;AAEVC,MAAAA,IAAI,EAAE,SAFI;AAGVl9K,MAAAA,CAAC,EAAE,iBAHO;AAIVkC,MAAAA,CAAC,EAAEm9K,sBAJO;AAKVjC,MAAAA,EAAE,EAAEiC,sBALM;AAMV/yC,MAAAA,CAAC,EAAE+yC,sBANO;AAOVhC,MAAAA,EAAE,EAAEgC,sBAPM;AAQV//K,MAAAA,CAAC,EAAE,OARO;AASVg+K,MAAAA,EAAE,EAAE+B,sBATM;AAUV9B,MAAAA,CAAC,EAAE,OAVO;AAWVC,MAAAA,EAAE,EAAE6B,sBAXM;AAYV59K,MAAAA,CAAC,EAAE,KAZO;AAaVg8K,MAAAA,EAAE,EAAE4B;AAbM,KAtDiB;AAqE/BzD,IAAAA,aAAa,EAAE,wBArEgB;AAsE/BC,IAAAA,IAAI,EAAE,UAAU5tJ,KAAV,EAAiB;AACnB,aAAO,iBAAiBljC,IAAjB,CAAsBkjC,KAAtB,CAAP;AACH,KAxE8B;AAyE/B6tJ,IAAAA,QAAQ,EAAE,UAAUpvE,IAAV,EAAgB4xE,MAAhB,EAAwBrC,OAAxB,EAAiC;AACvC,UAAIvvE,IAAI,GAAG,CAAX,EAAc;AACV,eAAO,MAAP;AACH,OAFD,MAEO,IAAIA,IAAI,GAAG,EAAX,EAAe;AAClB,eAAO,QAAP;AACH,OAFM,MAEA,IAAIA,IAAI,GAAG,EAAX,EAAe;AAClB,eAAO,KAAP;AACH,OAFM,MAEA;AACH,eAAO,QAAP;AACH;AACJ,KAnF8B;AAoF/BgxE,IAAAA,sBAAsB,EAAE,kBApFO;AAqF/BC,IAAAA,OAAO,EAAE,UAAUtgE,MAAV,EAAkBqiE,MAAlB,EAA0B;AAC/B,cAAQA,MAAR;AACI,aAAK,GAAL;AACA,aAAK,GAAL;AACA,aAAK,KAAL;AACA,aAAK,GAAL;AACA,aAAK,GAAL;AACI,iBAAO,CAACriE,MAAM,GAAG,EAAT,KAAgB,CAAhB,IAAqBA,MAAM,GAAG,EAAT,KAAgB,CAAtC,KACHA,MAAM,GAAG,GAAT,KAAiB,EADd,IAEHA,MAAM,GAAG,GAAT,KAAiB,EAFd,GAGDA,MAAM,GAAG,IAHR,GAIDA,MAAM,GAAG,IAJf;;AAKJ,aAAK,GAAL;AACI,iBAAOA,MAAM,GAAG,KAAhB;;AACJ;AACI,iBAAOA,MAAP;AAdR;AAgBH,KAtG8B;AAuG/BugE,IAAAA,IAAI,EAAE;AACFC,MAAAA,GAAG,EAAE,CADH;AACM;AACRC,MAAAA,GAAG,EAAE,CAFH,CAEM;;AAFN;AAvGyB,GAA1B,CAAT;AA6GA,SAAOwB,EAAP;AAEH,CAlJC,CAAD;;;;;;;;;;ACND;AACA;AACA;AAEA;;AAAE,WAAUz+C,MAAV,EAAkB98J,OAAlB,EAA2B;AAC1B,UACuCA,OAAO,CAACy2L,mBAAO,CAAC,sBAAD,CAAR,CAD9C,GAEA,CAFA;AAIF,CALC,EAKA,IALA,EAKO,UAAUtwK,MAAV,EAAkB;AAAE,eAAF,CAEvB;;AAEA,MAAIy1L,EAAE,GAAGz1L,MAAM,CAACoxL,YAAP,CAAoB,IAApB,EAA0B;AAC/BC,IAAAA,MAAM,EAAE,oFAAoF9mM,KAApF,CACJ,GADI,CADuB;AAI/B+mM,IAAAA,WAAW,EAAE,kDAAkD/mM,KAAlD,CAAwD,GAAxD,CAJkB;AAK/BgnM,IAAAA,QAAQ,EAAE,yDAAyDhnM,KAAzD,CACN,GADM,CALqB;AAQ/BinM,IAAAA,aAAa,EAAE,8BAA8BjnM,KAA9B,CAAoC,GAApC,CARgB;AAS/BknM,IAAAA,WAAW,EAAE,uBAAuBlnM,KAAvB,CAA6B,GAA7B,CATkB;AAU/BynM,IAAAA,cAAc,EAAE;AACZC,MAAAA,EAAE,EAAE,MADQ;AAEZC,MAAAA,GAAG,EAAE,SAFO;AAGZC,MAAAA,CAAC,EAAE,WAHS;AAIZC,MAAAA,EAAE,EAAE,aAJQ;AAKZC,MAAAA,GAAG,EAAE,kBALO;AAMZC,MAAAA,IAAI,EAAE;AANM,KAVe;AAkB/BC,IAAAA,QAAQ,EAAE;AACNC,MAAAA,OAAO,EAAE,aADH;AAENC,MAAAA,OAAO,EAAE,aAFH;AAGNC,MAAAA,QAAQ,EAAE,aAHJ;AAINC,MAAAA,OAAO,EAAE,cAJH;AAKNC,MAAAA,QAAQ,EAAE,YAAY;AAClB,gBAAQ,KAAK2C,GAAL,EAAR;AACI,eAAK,CAAL;AACA,eAAK,CAAL;AACA,eAAK,CAAL;AACI,mBAAO,wBAAP;;AACJ,eAAK,CAAL;AACA,eAAK,CAAL;AACA,eAAK,CAAL;AACA,eAAK,CAAL;AACI,mBAAO,uBAAP;AATR;AAWH,OAjBK;AAkBN1C,MAAAA,QAAQ,EAAE;AAlBJ,KAlBqB;AAsC/BC,IAAAA,YAAY,EAAE;AACVC,MAAAA,MAAM,EAAE,SADE;AAEVC,MAAAA,IAAI,EAAE,UAFI;AAGVl9K,MAAAA,CAAC,EAAE,iBAHO;AAIVm9K,MAAAA,EAAE,EAAE,YAJM;AAKVj7K,MAAAA,CAAC,EAAE,QALO;AAMVk7K,MAAAA,EAAE,EAAE,WANM;AAOV9wC,MAAAA,CAAC,EAAE,KAPO;AAQV+wC,MAAAA,EAAE,EAAE,SARM;AASV/9K,MAAAA,CAAC,EAAE,KATO;AAUVg+K,MAAAA,EAAE,EAAE,SAVM;AAWVx5C,MAAAA,CAAC,EAAE,SAXO;AAYV87C,MAAAA,EAAE,EAAE,YAZM;AAaVrC,MAAAA,CAAC,EAAE,OAbO;AAcVC,MAAAA,EAAE,EAAE,WAdM;AAeV/7K,MAAAA,CAAC,EAAE,QAfO;AAgBVg8K,MAAAA,EAAE,EAAE;AAhBM,KAtCiB;AAwD/BC,IAAAA,sBAAsB,EAAE,6BAxDO;AAyD/BC,IAAAA,OAAO,EAAE,UAAUtgE,MAAV,EAAkB;AACvB,UAAIwiE,SAAS,GAAGxiE,MAAM,GAAG,EAAzB;AAAA,UACIyiE,WAAW,GAAGziE,MAAM,GAAG,GAD3B;;AAEA,UAAIA,MAAM,KAAK,CAAf,EAAkB;AACd,eAAOA,MAAM,GAAG,KAAhB;AACH,OAFD,MAEO,IAAIyiE,WAAW,KAAK,CAApB,EAAuB;AAC1B,eAAOziE,MAAM,GAAG,KAAhB;AACH,OAFM,MAEA,IAAIyiE,WAAW,GAAG,EAAd,IAAoBA,WAAW,GAAG,EAAtC,EAA0C;AAC7C,eAAOziE,MAAM,GAAG,KAAhB;AACH,OAFM,MAEA,IAAIwiE,SAAS,KAAK,CAAlB,EAAqB;AACxB,eAAOxiE,MAAM,GAAG,KAAhB;AACH,OAFM,MAEA,IAAIwiE,SAAS,KAAK,CAAlB,EAAqB;AACxB,eAAOxiE,MAAM,GAAG,KAAhB;AACH,OAFM,MAEA,IAAIwiE,SAAS,KAAK,CAAd,IAAmBA,SAAS,KAAK,CAArC,EAAwC;AAC3C,eAAOxiE,MAAM,GAAG,KAAhB;AACH,OAFM,MAEA;AACH,eAAOA,MAAM,GAAG,KAAhB;AACH;AACJ,KA3E8B;AA4E/BugE,IAAAA,IAAI,EAAE;AACFC,MAAAA,GAAG,EAAE,CADH;AACM;AACRC,MAAAA,GAAG,EAAE,CAFH,CAEM;;AAFN;AA5EyB,GAA1B,CAAT;AAkFA,SAAO6B,EAAP;AAEH,CA7FC,CAAD;;;;;;;;;;ACJD;AACA;AACA;AAEA;;AAAE,WAAU9+C,MAAV,EAAkB98J,OAAlB,EAA2B;AAC1B,UACuCA,OAAO,CAACy2L,mBAAO,CAAC,sBAAD,CAAR,CAD9C,GAEA,CAFA;AAIF,CALC,EAKA,IALA,EAKO,UAAUtwK,MAAV,EAAkB;AAAE,eAAF,CAEvB;;AAEA,MAAI61L,EAAE,GAAG71L,MAAM,CAACoxL,YAAP,CAAoB,IAApB,EAA0B;AAC/BC,IAAAA,MAAM,EAAE,8IAA8I9mM,KAA9I,CACJ,GADI,CADuB;AAI/B+mM,IAAAA,WAAW,EAAE,iDAAiD/mM,KAAjD,CAAuD,GAAvD,CAJkB;AAK/BgnM,IAAAA,QAAQ,EAAE,+CAA+ChnM,KAA/C,CAAqD,GAArD,CALqB;AAM/BinM,IAAAA,aAAa,EAAE,8BAA8BjnM,KAA9B,CAAoC,GAApC,CANgB;AAO/BknM,IAAAA,WAAW,EAAE,uBAAuBlnM,KAAvB,CAA6B,GAA7B,CAPkB;AAQ/BynM,IAAAA,cAAc,EAAE;AACZC,MAAAA,EAAE,EAAE,OADQ;AAEZC,MAAAA,GAAG,EAAE,UAFO;AAGZC,MAAAA,CAAC,EAAE,YAHS;AAIZC,MAAAA,EAAE,EAAE,0BAJQ;AAKZC,MAAAA,GAAG,EAAE,uCALO;AAMZC,MAAAA,IAAI,EAAE;AANM,KARe;AAgB/BC,IAAAA,QAAQ,EAAE;AACNC,MAAAA,OAAO,EAAE,cADH;AAENC,MAAAA,OAAO,EAAE,gBAFH;AAGNC,MAAAA,QAAQ,EAAE,oBAHJ;AAINC,MAAAA,OAAO,EAAE,gBAJH;AAKNC,MAAAA,QAAQ,EAAE,wBALJ;AAMNC,MAAAA,QAAQ,EAAE;AANJ,KAhBqB;AAwB/BC,IAAAA,YAAY,EAAE;AACVC,MAAAA,MAAM,EAAE,SADE;AAEVC,MAAAA,IAAI,EAAE,YAFI;AAGVl9K,MAAAA,CAAC,EAAE,iBAHO;AAIVm9K,MAAAA,EAAE,EAAE,YAJM;AAKVj7K,MAAAA,CAAC,EAAE,cALO;AAMVk7K,MAAAA,EAAE,EAAE,WANM;AAOV9wC,MAAAA,CAAC,EAAE,YAPO;AAQV+wC,MAAAA,EAAE,EAAE,SARM;AASV/9K,MAAAA,CAAC,EAAE,YATO;AAUVg+K,MAAAA,EAAE,EAAE,SAVM;AAWVC,MAAAA,CAAC,EAAE,YAXO;AAYVC,MAAAA,EAAE,EAAE,SAZM;AAaV/7K,MAAAA,CAAC,EAAE,WAbO;AAcVg8K,MAAAA,EAAE,EAAE;AAdM,KAxBiB;AAwC/BG,IAAAA,IAAI,EAAE;AACFC,MAAAA,GAAG,EAAE,CADH;AACM;AACRC,MAAAA,GAAG,EAAE,CAFH,CAEM;;AAFN;AAxCyB,GAA1B,CAAT;AA8CA,SAAOiC,EAAP;AAEH,CAzDC,CAAD;;;;;;;;;;ACJD;AACA;AACA;AAEA;;AAAE,WAAUl/C,MAAV,EAAkB98J,OAAlB,EAA2B;AAC1B,UACuCA,OAAO,CAACy2L,mBAAO,CAAC,sBAAD,CAAR,CAD9C,GAEA,CAFA;AAIF,CALC,EAKA,IALA,EAKO,UAAUtwK,MAAV,EAAkB;AAAE,eAAF,CAEvB;;AAEA,MAAIu0L,SAAS,GAAG;AACR,OAAG,GADK;AAER,OAAG,GAFK;AAGR,OAAG,GAHK;AAIR,OAAG,GAJK;AAKR,OAAG,GALK;AAMR,OAAG,GANK;AAOR,OAAG,GAPK;AAQR,OAAG,GARK;AASR,OAAG,GATK;AAUR,OAAG;AAVK,GAAhB;AAAA,MAYII,SAAS,GAAG;AACR,SAAK,GADG;AAER,SAAK,GAFG;AAGR,SAAK,GAHG;AAIR,SAAK,GAJG;AAKR,SAAK,GALG;AAMR,SAAK,GANG;AAOR,SAAK,GAPG;AAQR,SAAK,GARG;AASR,SAAK,GATG;AAUR,SAAK;AAVG,GAZhB;AAyBA,MAAImB,IAAI,GAAG91L,MAAM,CAACoxL,YAAP,CAAoB,OAApB,EAA6B;AACpCC,IAAAA,MAAM,EAAE,0FAA0F9mM,KAA1F,CACJ,GADI,CAD4B;AAIpC+mM,IAAAA,WAAW,EACP,mEAAmE/mM,KAAnE,CACI,GADJ,CALgC;AAQpCgnM,IAAAA,QAAQ,EAAE,4DAA4DhnM,KAA5D,CACN,GADM,CAR0B;AAWpCinM,IAAAA,aAAa,EAAE,uCAAuCjnM,KAAvC,CAA6C,GAA7C,CAXqB;AAYpCknM,IAAAA,WAAW,EAAE,kCAAkClnM,KAAlC,CAAwC,GAAxC,CAZuB;AAapCynM,IAAAA,cAAc,EAAE;AACZC,MAAAA,EAAE,EAAE,YADQ;AAEZC,MAAAA,GAAG,EAAE,eAFO;AAGZC,MAAAA,CAAC,EAAE,YAHS;AAIZC,MAAAA,EAAE,EAAE,aAJQ;AAKZC,MAAAA,GAAG,EAAE,yBALO;AAMZC,MAAAA,IAAI,EAAE;AANM,KAboB;AAqBpCC,IAAAA,QAAQ,EAAE;AACNC,MAAAA,OAAO,EAAE,SADH;AAENC,MAAAA,OAAO,EAAE,eAFH;AAGNC,MAAAA,QAAQ,EAAE,UAHJ;AAINC,MAAAA,OAAO,EAAE,YAJH;AAKNC,MAAAA,QAAQ,EAAE,eALJ;AAMNC,MAAAA,QAAQ,EAAE;AANJ,KArB0B;AA6BpCC,IAAAA,YAAY,EAAE;AACVC,MAAAA,MAAM,EAAE,QADE;AAEVC,MAAAA,IAAI,EAAE,QAFI;AAGVl9K,MAAAA,CAAC,EAAE,cAHO;AAIVm9K,MAAAA,EAAE,EAAE,YAJM;AAKVj7K,MAAAA,CAAC,EAAE,UALO;AAMVk7K,MAAAA,EAAE,EAAE,UANM;AAOV9wC,MAAAA,CAAC,EAAE,UAPO;AAQV+wC,MAAAA,EAAE,EAAE,UARM;AASV/9K,MAAAA,CAAC,EAAE,QATO;AAUVg+K,MAAAA,EAAE,EAAE,QAVM;AAWVC,MAAAA,CAAC,EAAE,QAXO;AAYVC,MAAAA,EAAE,EAAE,QAZM;AAaV/7K,MAAAA,CAAC,EAAE,QAbO;AAcVg8K,MAAAA,EAAE,EAAE;AAdM,KA7BsB;AA6CpCkB,IAAAA,QAAQ,EAAE,UAAU5K,MAAV,EAAkB;AACxB,aAAOA,MAAM,CAACh/L,OAAP,CAAe,eAAf,EAAgC,UAAU6qE,KAAV,EAAiB;AACpD,eAAOi/H,SAAS,CAACj/H,KAAD,CAAhB;AACH,OAFM,CAAP;AAGH,KAjDmC;AAkDpC2+H,IAAAA,UAAU,EAAE,UAAUxK,MAAV,EAAkB;AAC1B,aAAOA,MAAM,CAACh/L,OAAP,CAAe,KAAf,EAAsB,UAAU6qE,KAAV,EAAiB;AAC1C,eAAO6+H,SAAS,CAAC7+H,KAAD,CAAhB;AACH,OAFM,CAAP;AAGH,KAtDmC;AAwDpCg8H,IAAAA,aAAa,EAAE,sCAxDqB;AAyDpCqE,IAAAA,YAAY,EAAE,UAAUvzE,IAAV,EAAgBovE,QAAhB,EAA0B;AACpC,UAAIpvE,IAAI,KAAK,EAAb,EAAiB;AACbA,QAAAA,IAAI,GAAG,CAAP;AACH;;AACD,UAAIovE,QAAQ,KAAK,KAAjB,EAAwB;AACpB,eAAOpvE,IAAI,GAAG,CAAP,GAAWA,IAAX,GAAkBA,IAAI,GAAG,EAAhC;AACH,OAFD,MAEO,IAAIovE,QAAQ,KAAK,KAAjB,EAAwB;AAC3B,eAAOpvE,IAAP;AACH,OAFM,MAEA,IAAIovE,QAAQ,KAAK,MAAjB,EAAyB;AAC5B,eAAOpvE,IAAP;AACH,OAFM,MAEA,IAAIovE,QAAQ,KAAK,OAAjB,EAA0B;AAC7B,eAAOpvE,IAAI,IAAI,CAAR,GAAYA,IAAZ,GAAmBA,IAAI,GAAG,EAAjC;AACH,OAFM,MAEA,IAAIovE,QAAQ,KAAK,OAAjB,EAA0B;AAC7B,eAAOpvE,IAAI,GAAG,EAAd;AACH,OAFM,MAEA,IAAIovE,QAAQ,KAAK,SAAjB,EAA4B;AAC/B,eAAOpvE,IAAI,GAAG,EAAd;AACH;AACJ,KA1EmC;AA4EpCovE,IAAAA,QAAQ,EAAE,UAAUpvE,IAAV,EAAgB4xE,MAAhB,EAAwBrC,OAAxB,EAAiC;AACvC,UAAIvvE,IAAI,GAAG,CAAX,EAAc;AACV,eAAO,KAAP;AACH,OAFD,MAEO,IAAIA,IAAI,GAAG,CAAX,EAAc;AACjB,eAAO,KAAP;AACH,OAFM,MAEA,IAAIA,IAAI,GAAG,EAAX,EAAe;AAClB,eAAO,MAAP;AACH,OAFM,MAEA,IAAIA,IAAI,GAAG,EAAX,EAAe;AAClB,eAAO,OAAP;AACH,OAFM,MAEA,IAAIA,IAAI,GAAG,EAAX,EAAe;AAClB,eAAO,OAAP;AACH,OAFM,MAEA,IAAIA,IAAI,GAAG,EAAX,EAAe;AAClB,eAAO,SAAP;AACH,OAFM,MAEA;AACH,eAAO,KAAP;AACH;AACJ,KA5FmC;AA6FpCkxE,IAAAA,IAAI,EAAE;AACFC,MAAAA,GAAG,EAAE,CADH;AACM;AACRC,MAAAA,GAAG,EAAE,CAFH,CAEM;;AAFN;AA7F8B,GAA7B,CAAX;AAmGA,SAAOkC,IAAP;AAEH,CAvIC,CAAD;;;;;;;;;;ACJD;AACA;AACA;AAEA;;AAAE,WAAUn/C,MAAV,EAAkB98J,OAAlB,EAA2B;AAC1B,UACuCA,OAAO,CAACy2L,mBAAO,CAAC,sBAAD,CAAR,CAD9C,GAEA,CAFA;AAIF,CALC,EAKA,IALA,EAKO,UAAUtwK,MAAV,EAAkB;AAAE,eAAF,CAEvB;;AAEA,MAAIu0L,SAAS,GAAG;AACR,OAAG,GADK;AAER,OAAG,GAFK;AAGR,OAAG,GAHK;AAIR,OAAG,GAJK;AAKR,OAAG,GALK;AAMR,OAAG,GANK;AAOR,OAAG,GAPK;AAQR,OAAG,GARK;AASR,OAAG,GATK;AAUR,OAAG;AAVK,GAAhB;AAAA,MAYII,SAAS,GAAG;AACR,SAAK,GADG;AAER,SAAK,GAFG;AAGR,SAAK,GAHG;AAIR,SAAK,GAJG;AAKR,SAAK,GALG;AAMR,SAAK,GANG;AAOR,SAAK,GAPG;AAQR,SAAK,GARG;AASR,SAAK,GATG;AAUR,SAAK;AAVG,GAZhB;AAyBA,MAAIqB,EAAE,GAAGh2L,MAAM,CAACoxL,YAAP,CAAoB,IAApB,EAA0B;AAC/BC,IAAAA,MAAM,EAAE,0FAA0F9mM,KAA1F,CACJ,GADI,CADuB;AAI/B+mM,IAAAA,WAAW,EACP,mEAAmE/mM,KAAnE,CACI,GADJ,CAL2B;AAQ/BgnM,IAAAA,QAAQ,EAAE,4DAA4DhnM,KAA5D,CACN,GADM,CARqB;AAW/BinM,IAAAA,aAAa,EAAE,uCAAuCjnM,KAAvC,CAA6C,GAA7C,CAXgB;AAY/BknM,IAAAA,WAAW,EAAE,kCAAkClnM,KAAlC,CAAwC,GAAxC,CAZkB;AAa/BynM,IAAAA,cAAc,EAAE;AACZC,MAAAA,EAAE,EAAE,YADQ;AAEZC,MAAAA,GAAG,EAAE,eAFO;AAGZC,MAAAA,CAAC,EAAE,YAHS;AAIZC,MAAAA,EAAE,EAAE,aAJQ;AAKZC,MAAAA,GAAG,EAAE,yBALO;AAMZC,MAAAA,IAAI,EAAE;AANM,KAbe;AAqB/BC,IAAAA,QAAQ,EAAE;AACNC,MAAAA,OAAO,EAAE,SADH;AAENC,MAAAA,OAAO,EAAE,eAFH;AAGNC,MAAAA,QAAQ,EAAE,UAHJ;AAINC,MAAAA,OAAO,EAAE,YAJH;AAKNC,MAAAA,QAAQ,EAAE,eALJ;AAMNC,MAAAA,QAAQ,EAAE;AANJ,KArBqB;AA6B/BC,IAAAA,YAAY,EAAE;AACVC,MAAAA,MAAM,EAAE,QADE;AAEVC,MAAAA,IAAI,EAAE,QAFI;AAGVl9K,MAAAA,CAAC,EAAE,cAHO;AAIVm9K,MAAAA,EAAE,EAAE,YAJM;AAKVj7K,MAAAA,CAAC,EAAE,UALO;AAMVk7K,MAAAA,EAAE,EAAE,UANM;AAOV9wC,MAAAA,CAAC,EAAE,UAPO;AAQV+wC,MAAAA,EAAE,EAAE,UARM;AASV/9K,MAAAA,CAAC,EAAE,QATO;AAUVg+K,MAAAA,EAAE,EAAE,QAVM;AAWVC,MAAAA,CAAC,EAAE,QAXO;AAYVC,MAAAA,EAAE,EAAE,QAZM;AAaV/7K,MAAAA,CAAC,EAAE,QAbO;AAcVg8K,MAAAA,EAAE,EAAE;AAdM,KA7BiB;AA6C/BkB,IAAAA,QAAQ,EAAE,UAAU5K,MAAV,EAAkB;AACxB,aAAOA,MAAM,CAACh/L,OAAP,CAAe,eAAf,EAAgC,UAAU6qE,KAAV,EAAiB;AACpD,eAAOi/H,SAAS,CAACj/H,KAAD,CAAhB;AACH,OAFM,CAAP;AAGH,KAjD8B;AAkD/B2+H,IAAAA,UAAU,EAAE,UAAUxK,MAAV,EAAkB;AAC1B,aAAOA,MAAM,CAACh/L,OAAP,CAAe,KAAf,EAAsB,UAAU6qE,KAAV,EAAiB;AAC1C,eAAO6+H,SAAS,CAAC7+H,KAAD,CAAhB;AACH,OAFM,CAAP;AAGH,KAtD8B;AAuD/Bg8H,IAAAA,aAAa,EAAE,0BAvDgB;AAwD/BqE,IAAAA,YAAY,EAAE,UAAUvzE,IAAV,EAAgBovE,QAAhB,EAA0B;AACpC,UAAIpvE,IAAI,KAAK,EAAb,EAAiB;AACbA,QAAAA,IAAI,GAAG,CAAP;AACH;;AACD,UACKovE,QAAQ,KAAK,KAAb,IAAsBpvE,IAAI,IAAI,CAA/B,IACCovE,QAAQ,KAAK,OAAb,IAAwBpvE,IAAI,GAAG,CADhC,IAEAovE,QAAQ,KAAK,OAHjB,EAIE;AACE,eAAOpvE,IAAI,GAAG,EAAd;AACH,OAND,MAMO;AACH,eAAOA,IAAP;AACH;AACJ,KArE8B;AAsE/BovE,IAAAA,QAAQ,EAAE,UAAUpvE,IAAV,EAAgB4xE,MAAhB,EAAwBrC,OAAxB,EAAiC;AACvC,UAAIvvE,IAAI,GAAG,CAAX,EAAc;AACV,eAAO,KAAP;AACH,OAFD,MAEO,IAAIA,IAAI,GAAG,EAAX,EAAe;AAClB,eAAO,MAAP;AACH,OAFM,MAEA,IAAIA,IAAI,GAAG,EAAX,EAAe;AAClB,eAAO,OAAP;AACH,OAFM,MAEA,IAAIA,IAAI,GAAG,EAAX,EAAe;AAClB,eAAO,OAAP;AACH,OAFM,MAEA;AACH,eAAO,KAAP;AACH;AACJ,KAlF8B;AAmF/BkxE,IAAAA,IAAI,EAAE;AACFC,MAAAA,GAAG,EAAE,CADH;AACM;AACRC,MAAAA,GAAG,EAAE,CAFH,CAEM;;AAFN;AAnFyB,GAA1B,CAAT;AAyFA,SAAOoC,EAAP;AAEH,CA7HC,CAAD;;;;;;;;;;ACJD;AACA;AACA;AAEA;;AAAE,WAAUr/C,MAAV,EAAkB98J,OAAlB,EAA2B;AAC1B,UACuCA,OAAO,CAACy2L,mBAAO,CAAC,sBAAD,CAAR,CAD9C,GAEA,CAFA;AAIF,CALC,EAKA,IALA,EAKO,UAAUtwK,MAAV,EAAkB;AAAE,eAAF,CAEvB;;AAEA,MAAIu0L,SAAS,GAAG;AACR,OAAG,GADK;AAER,OAAG,GAFK;AAGR,OAAG,GAHK;AAIR,OAAG,GAJK;AAKR,OAAG,GALK;AAMR,OAAG,GANK;AAOR,OAAG,GAPK;AAQR,OAAG,GARK;AASR,OAAG,GATK;AAUR,OAAG;AAVK,GAAhB;AAAA,MAYII,SAAS,GAAG;AACR,SAAK,GADG;AAER,SAAK,GAFG;AAGR,SAAK,GAHG;AAIR,SAAK,GAJG;AAKR,SAAK,GALG;AAMR,SAAK,GANG;AAOR,SAAK,GAPG;AAQR,SAAK,GARG;AASR,SAAK,GATG;AAUR,SAAK;AAVG,GAZhB;AAyBA,MAAIsB,EAAE,GAAGj2L,MAAM,CAACoxL,YAAP,CAAoB,IAApB,EAA0B;AAC/BC,IAAAA,MAAM,EAAE,qJAAqJ9mM,KAArJ,CACJ,GADI,CADuB;AAI/B+mM,IAAAA,WAAW,EACP,iEAAiE/mM,KAAjE,CACI,GADJ,CAL2B;AAQ/B2rM,IAAAA,gBAAgB,EAAE,eARa;AAS/BC,IAAAA,gBAAgB,EAAE,IATa;AAU/B5E,IAAAA,QAAQ,EACJ,gFAAgFhnM,KAAhF,CACI,GADJ,CAX2B;AAc/BinM,IAAAA,aAAa,EAAE,oDAAoDjnM,KAApD,CACX,GADW,CAdgB;AAiB/BknM,IAAAA,WAAW,EAAE,6BAA6BlnM,KAA7B,CAAmC,GAAnC,CAjBkB;AAkB/BynM,IAAAA,cAAc,EAAE;AACZC,MAAAA,EAAE,EAAE,QADQ;AAEZC,MAAAA,GAAG,EAAE,WAFO;AAGZC,MAAAA,CAAC,EAAE,YAHS;AAIZC,MAAAA,EAAE,EAAE,aAJQ;AAKZC,MAAAA,GAAG,EAAE,qBALO;AAMZC,MAAAA,IAAI,EAAE;AANM,KAlBe;AA0B/BC,IAAAA,QAAQ,EAAE;AACNC,MAAAA,OAAO,EAAE,aADH;AAENC,MAAAA,OAAO,EAAE,aAFH;AAGNC,MAAAA,QAAQ,EAAE,uBAHJ;AAINC,MAAAA,OAAO,EAAE,WAJH;AAKNC,MAAAA,QAAQ,EAAE,2BALJ;AAMNC,MAAAA,QAAQ,EAAE;AANJ,KA1BqB;AAkC/BC,IAAAA,YAAY,EAAE;AACVC,MAAAA,MAAM,EAAE,OADE;AAEVC,MAAAA,IAAI,EAAE,UAFI;AAGVl9K,MAAAA,CAAC,EAAE,OAHO;AAIVm9K,MAAAA,EAAE,EAAE,WAJM;AAKVj7K,MAAAA,CAAC,EAAE,YALO;AAMVk7K,MAAAA,EAAE,EAAE,UANM;AAOV9wC,MAAAA,CAAC,EAAE,aAPO;AAQV+wC,MAAAA,EAAE,EAAE,WARM;AASV/9K,MAAAA,CAAC,EAAE,UATO;AAUVg+K,MAAAA,EAAE,EAAE,SAVM;AAWVC,MAAAA,CAAC,EAAE,WAXO;AAYVC,MAAAA,EAAE,EAAE,SAZM;AAaV/7K,MAAAA,CAAC,EAAE,SAbO;AAcVg8K,MAAAA,EAAE,EAAE;AAdM,KAlCiB;AAkD/BkB,IAAAA,QAAQ,EAAE,UAAU5K,MAAV,EAAkB;AACxB,aAAOA,MAAM,CAACh/L,OAAP,CAAe,eAAf,EAAgC,UAAU6qE,KAAV,EAAiB;AACpD,eAAOi/H,SAAS,CAACj/H,KAAD,CAAhB;AACH,OAFM,CAAP;AAGH,KAtD8B;AAuD/B2+H,IAAAA,UAAU,EAAE,UAAUxK,MAAV,EAAkB;AAC1B,aAAOA,MAAM,CAACh/L,OAAP,CAAe,KAAf,EAAsB,UAAU6qE,KAAV,EAAiB;AAC1C,eAAO6+H,SAAS,CAAC7+H,KAAD,CAAhB;AACH,OAFM,CAAP;AAGH,KA3D8B;AA4D/Bg8H,IAAAA,aAAa,EAAE,uCA5DgB;AA6D/BqE,IAAAA,YAAY,EAAE,UAAUvzE,IAAV,EAAgBovE,QAAhB,EAA0B;AACpC,UAAIpvE,IAAI,KAAK,EAAb,EAAiB;AACbA,QAAAA,IAAI,GAAG,CAAP;AACH;;AACD,UACKovE,QAAQ,KAAK,QAAb,IAAyBpvE,IAAI,IAAI,CAAlC,IACCovE,QAAQ,KAAK,SAAb,IAA0BpvE,IAAI,GAAG,CADlC,IAEAovE,QAAQ,KAAK,SAHjB,EAIE;AACE,eAAOpvE,IAAI,GAAG,EAAd;AACH,OAND,MAMO;AACH,eAAOA,IAAP;AACH;AACJ,KA1E8B;AA2E/BovE,IAAAA,QAAQ,EAAE,UAAUpvE,IAAV,EAAgB4xE,MAAhB,EAAwBrC,OAAxB,EAAiC;AACvC,UAAIvvE,IAAI,GAAG,CAAX,EAAc;AACV,eAAO,QAAP;AACH,OAFD,MAEO,IAAIA,IAAI,GAAG,EAAX,EAAe;AAClB,eAAO,SAAP;AACH,OAFM,MAEA,IAAIA,IAAI,GAAG,EAAX,EAAe;AAClB,eAAO,SAAP;AACH,OAFM,MAEA,IAAIA,IAAI,GAAG,EAAX,EAAe;AAClB,eAAO,SAAP;AACH,OAFM,MAEA;AACH,eAAO,QAAP;AACH;AACJ,KAvF8B;AAwF/BkxE,IAAAA,IAAI,EAAE;AACFC,MAAAA,GAAG,EAAE,CADH;AACM;AACRC,MAAAA,GAAG,EAAE,CAFH,CAEM;;AAFN;AAxFyB,GAA1B,CAAT;AA8FA,SAAOqC,EAAP;AAEH,CAlIC,CAAD;;;;;;;;;;ACJD;AACA;AACA;AAEA;;AAAE,WAAUt/C,MAAV,EAAkB98J,OAAlB,EAA2B;AAC1B,UACuCA,OAAO,CAACy2L,mBAAO,CAAC,sBAAD,CAAR,CAD9C,GAEA,CAFA;AAIF,CALC,EAKA,IALA,EAKO,UAAUtwK,MAAV,EAAkB;AAAE,eAAF,CAEvB;;AAEA,WAASo2L,wBAAT,CAAkCjjE,MAAlC,EAA0C6gE,aAA1C,EAAyD1iL,GAAzD,EAA8D;AAC1D,QAAIjR,MAAM,GAAG;AACT6yL,MAAAA,EAAE,EAAE,UADK;AAETI,MAAAA,EAAE,EAAE,KAFK;AAGTF,MAAAA,EAAE,EAAE;AAHK,KAAb;AAKA,WAAOjgE,MAAM,GAAG,GAAT,GAAekjE,QAAQ,CAACh2L,MAAM,CAACiR,GAAD,CAAP,EAAc6hH,MAAd,CAA9B;AACH;;AACD,WAASmjE,uBAAT,CAAiCnjE,MAAjC,EAAyC;AACrC,YAAQojE,UAAU,CAACpjE,MAAD,CAAlB;AACI,WAAK,CAAL;AACA,WAAK,CAAL;AACA,WAAK,CAAL;AACA,WAAK,CAAL;AACA,WAAK,CAAL;AACI,eAAOA,MAAM,GAAG,QAAhB;;AACJ;AACI,eAAOA,MAAM,GAAG,QAAhB;AARR;AAUH;;AACD,WAASojE,UAAT,CAAoBpjE,MAApB,EAA4B;AACxB,QAAIA,MAAM,GAAG,CAAb,EAAgB;AACZ,aAAOojE,UAAU,CAACpjE,MAAM,GAAG,EAAV,CAAjB;AACH;;AACD,WAAOA,MAAP;AACH;;AACD,WAASkjE,QAAT,CAAkB94E,IAAlB,EAAwB4V,MAAxB,EAAgC;AAC5B,QAAIA,MAAM,KAAK,CAAf,EAAkB;AACd,aAAOqjE,YAAY,CAACj5E,IAAD,CAAnB;AACH;;AACD,WAAOA,IAAP;AACH;;AACD,WAASi5E,YAAT,CAAsBj5E,IAAtB,EAA4B;AACxB,QAAIk5E,aAAa,GAAG;AAChBz+K,MAAAA,CAAC,EAAE,GADa;AAEhB3C,MAAAA,CAAC,EAAE,GAFa;AAGhBD,MAAAA,CAAC,EAAE;AAHa,KAApB;;AAKA,QAAIqhL,aAAa,CAACl5E,IAAI,CAACxqF,MAAL,CAAY,CAAZ,CAAD,CAAb,KAAkClV,SAAtC,EAAiD;AAC7C,aAAO0/F,IAAP;AACH;;AACD,WAAOk5E,aAAa,CAACl5E,IAAI,CAACxqF,MAAL,CAAY,CAAZ,CAAD,CAAb,GAAgCwqF,IAAI,CAACvqF,SAAL,CAAe,CAAf,CAAvC;AACH;;AAED,MAAI0jK,WAAW,GAAG,CACV,OADU,EAEV,aAFU,EAGV,OAHU,EAIV,OAJU,EAKV,OALU,EAMV,aANU,EAOV,OAPU,EAQV,OARU,EASV,OATU,EAUV,OAVU,EAWV,MAXU,EAYV,OAZU,CAAlB;AAAA,MAcIC,WAAW,GACP,4IAfR;AAAA,MAgBIC,iBAAiB,GACb,uFAjBR;AAAA,MAkBIC,sBAAsB,GAClB,0DAnBR;AAAA,MAoBIC,iBAAiB,GAAG,CAChB,OADgB,EAEhB,OAFgB,EAGhB,UAHgB,EAIhB,gBAJgB,EAKhB,QALgB,EAMhB,UANgB,EAOhB,UAPgB,CApBxB;AAAA,MA6BIC,kBAAkB,GAAG,CACjB,OADiB,EAEjB,OAFiB,EAGjB,OAHiB,EAIjB,OAJiB,EAKjB,OALiB,EAMjB,OANiB,EAOjB,OAPiB,CA7BzB;AAAA,MAsCIC,gBAAgB,GAAG,CACf,MADe,EAEf,MAFe,EAGf,cAHe,EAIf,OAJe,EAKf,MALe,EAMf,MANe,EAOf,MAPe,CAtCvB;AAgDA,MAAIC,EAAE,GAAGj3L,MAAM,CAACoxL,YAAP,CAAoB,IAApB,EAA0B;AAC/BC,IAAAA,MAAM,EAAE,gFAAgF9mM,KAAhF,CACJ,GADI,CADuB;AAI/B+mM,IAAAA,WAAW,EAAE,mDAAmD/mM,KAAnD,CAAyD,GAAzD,CAJkB;AAK/BgnM,IAAAA,QAAQ,EAAE,6CAA6ChnM,KAA7C,CAAmD,GAAnD,CALqB;AAM/BinM,IAAAA,aAAa,EAAE,8BAA8BjnM,KAA9B,CAAoC,GAApC,CANgB;AAO/BknM,IAAAA,WAAW,EAAE,wBAAwBlnM,KAAxB,CAA8B,GAA9B,CAPkB;AAQ/B2sM,IAAAA,aAAa,EAAEF,gBARgB;AAS/BF,IAAAA,iBAAiB,EAAEA,iBATY;AAU/BC,IAAAA,kBAAkB,EAAEA,kBAVW;AAW/BC,IAAAA,gBAAgB,EAAEA,gBAXa;AAa/BL,IAAAA,WAAW,EAAEA,WAbkB;AAc/BT,IAAAA,gBAAgB,EAAES,WAda;AAe/BC,IAAAA,iBAAiB,EAAEA,iBAfY;AAgB/BC,IAAAA,sBAAsB,EAAEA,sBAhBO;AAiB/BH,IAAAA,WAAW,EAAEA,WAjBkB;AAkB/BS,IAAAA,eAAe,EAAET,WAlBc;AAmB/BU,IAAAA,gBAAgB,EAAEV,WAnBa;AAqB/B1E,IAAAA,cAAc,EAAE;AACZC,MAAAA,EAAE,EAAE,OADQ;AAEZC,MAAAA,GAAG,EAAE,UAFO;AAGZC,MAAAA,CAAC,EAAE,YAHS;AAIZC,MAAAA,EAAE,EAAE,qBAJQ;AAKZC,MAAAA,GAAG,EAAE,2BALO;AAMZC,MAAAA,IAAI,EAAE;AANM,KArBe;AA6B/BC,IAAAA,QAAQ,EAAE;AACNC,MAAAA,OAAO,EAAE,eADH;AAENC,MAAAA,OAAO,EAAE,oBAFH;AAGNC,MAAAA,QAAQ,EAAE,cAHJ;AAINC,MAAAA,OAAO,EAAE,eAJH;AAKNC,MAAAA,QAAQ,EAAE,oBALJ;AAMNC,MAAAA,QAAQ,EAAE;AANJ,KA7BqB;AAqC/BC,IAAAA,YAAY,EAAE;AACVC,MAAAA,MAAM,EAAE,WADE;AAEVC,MAAAA,IAAI,EAAE,QAFI;AAGVl9K,MAAAA,CAAC,EAAE,uBAHO;AAIVm9K,MAAAA,EAAE,EAAE,WAJM;AAKVj7K,MAAAA,CAAC,EAAE,aALO;AAMVk7K,MAAAA,EAAE,EAAEkD,wBANM;AAOVh0C,MAAAA,CAAC,EAAE,QAPO;AAQV+wC,MAAAA,EAAE,EAAE,QARM;AASV/9K,MAAAA,CAAC,EAAE,WATO;AAUVg+K,MAAAA,EAAE,EAAEgD,wBAVM;AAWV/C,MAAAA,CAAC,EAAE,QAXO;AAYVC,MAAAA,EAAE,EAAE8C,wBAZM;AAaV7+K,MAAAA,CAAC,EAAE,UAbO;AAcVg8K,MAAAA,EAAE,EAAE+C;AAdM,KArCiB;AAqD/B9C,IAAAA,sBAAsB,EAAE,iBArDO;AAsD/BC,IAAAA,OAAO,EAAE,UAAUtgE,MAAV,EAAkB;AACvB,UAAIpU,MAAM,GAAGoU,MAAM,KAAK,CAAX,GAAe,IAAf,GAAsB,KAAnC;AACA,aAAOA,MAAM,GAAGpU,MAAhB;AACH,KAzD8B;AA0D/B20E,IAAAA,IAAI,EAAE;AACFC,MAAAA,GAAG,EAAE,CADH;AACM;AACRC,MAAAA,GAAG,EAAE,CAFH,CAEM;;AAFN,KA1DyB;AA8D/BlC,IAAAA,aAAa,EAAE,WA9DgB;AA8DH;AAC5BC,IAAAA,IAAI,EAAE,UAAU/lL,KAAV,EAAiB;AACnB,aAAOA,KAAK,KAAK,MAAjB;AACH,KAjE8B;AAkE/BgmL,IAAAA,QAAQ,EAAE,UAAUpvE,IAAV,EAAgB4xE,MAAhB,EAAwBrC,OAAxB,EAAiC;AACvC,aAAOvvE,IAAI,GAAG,EAAP,GAAY,MAAZ,GAAqB,MAA5B;AACH;AApE8B,GAA1B,CAAT;AAuEA,SAAOy0E,EAAP;AAEH,CA9KC,CAAD;;;;;;;;;;ACJD;AACA;AACA;AACA;AAEA;;AAAE,WAAUtgD,MAAV,EAAkB98J,OAAlB,EAA2B;AAC1B,UACuCA,OAAO,CAACy2L,mBAAO,CAAC,sBAAD,CAAR,CAD9C,GAEA,CAFA;AAIF,CALC,EAKA,IALA,EAKO,UAAUtwK,MAAV,EAAkB;AAAE,eAAF,CAEvB;;AAEA,WAAS70B,SAAT,CAAmBgoJ,MAAnB,EAA2B6gE,aAA3B,EAA0C1iL,GAA1C,EAA+C;AAC3C,QAAIn0B,MAAM,GAAGg2I,MAAM,GAAG,GAAtB;;AACA,YAAQ7hH,GAAR;AACI,WAAK,IAAL;AACI,YAAI6hH,MAAM,KAAK,CAAf,EAAkB;AACdh2I,UAAAA,MAAM,IAAI,SAAV;AACH,SAFD,MAEO,IAAIg2I,MAAM,KAAK,CAAX,IAAgBA,MAAM,KAAK,CAA3B,IAAgCA,MAAM,KAAK,CAA/C,EAAkD;AACrDh2I,UAAAA,MAAM,IAAI,SAAV;AACH,SAFM,MAEA;AACHA,UAAAA,MAAM,IAAI,SAAV;AACH;;AACD,eAAOA,MAAP;;AACJ,WAAK,GAAL;AACI,eAAO62M,aAAa,GAAG,cAAH,GAAoB,cAAxC;;AACJ,WAAK,IAAL;AACI,YAAI7gE,MAAM,KAAK,CAAf,EAAkB;AACdh2I,UAAAA,MAAM,IAAI,QAAV;AACH,SAFD,MAEO,IAAIg2I,MAAM,KAAK,CAAX,IAAgBA,MAAM,KAAK,CAA3B,IAAgCA,MAAM,KAAK,CAA/C,EAAkD;AACrDh2I,UAAAA,MAAM,IAAI,QAAV;AACH,SAFM,MAEA;AACHA,UAAAA,MAAM,IAAI,QAAV;AACH;;AACD,eAAOA,MAAP;;AACJ,WAAK,GAAL;AACI,eAAO62M,aAAa,GAAG,WAAH,GAAiB,aAArC;;AACJ,WAAK,IAAL;AACI,YAAI7gE,MAAM,KAAK,CAAf,EAAkB;AACdh2I,UAAAA,MAAM,IAAI,KAAV;AACH,SAFD,MAEO,IAAIg2I,MAAM,KAAK,CAAX,IAAgBA,MAAM,KAAK,CAA3B,IAAgCA,MAAM,KAAK,CAA/C,EAAkD;AACrDh2I,UAAAA,MAAM,IAAI,MAAV;AACH,SAFM,MAEA;AACHA,UAAAA,MAAM,IAAI,MAAV;AACH;;AACD,eAAOA,MAAP;;AACJ,WAAK,IAAL;AACI,YAAIg2I,MAAM,KAAK,CAAf,EAAkB;AACdh2I,UAAAA,MAAM,IAAI,KAAV;AACH,SAFD,MAEO;AACHA,UAAAA,MAAM,IAAI,MAAV;AACH;;AACD,eAAOA,MAAP;;AACJ,WAAK,IAAL;AACI,YAAIg2I,MAAM,KAAK,CAAf,EAAkB;AACdh2I,UAAAA,MAAM,IAAI,QAAV;AACH,SAFD,MAEO,IAAIg2I,MAAM,KAAK,CAAX,IAAgBA,MAAM,KAAK,CAA3B,IAAgCA,MAAM,KAAK,CAA/C,EAAkD;AACrDh2I,UAAAA,MAAM,IAAI,SAAV;AACH,SAFM,MAEA;AACHA,UAAAA,MAAM,IAAI,SAAV;AACH;;AACD,eAAOA,MAAP;;AACJ,WAAK,IAAL;AACI,YAAIg2I,MAAM,KAAK,CAAf,EAAkB;AACdh2I,UAAAA,MAAM,IAAI,QAAV;AACH,SAFD,MAEO,IAAIg2I,MAAM,KAAK,CAAX,IAAgBA,MAAM,KAAK,CAA3B,IAAgCA,MAAM,KAAK,CAA/C,EAAkD;AACrDh2I,UAAAA,MAAM,IAAI,QAAV;AACH,SAFM,MAEA;AACHA,UAAAA,MAAM,IAAI,QAAV;AACH;;AACD,eAAOA,MAAP;AAxDR;AA0DH;;AAED,MAAIk6M,EAAE,GAAGr3L,MAAM,CAACoxL,YAAP,CAAoB,IAApB,EAA0B;AAC/BC,IAAAA,MAAM,EAAE,qFAAqF9mM,KAArF,CACJ,GADI,CADuB;AAI/B+mM,IAAAA,WAAW,EACP,8DAA8D/mM,KAA9D,CACI,GADJ,CAL2B;AAQ/B4rM,IAAAA,gBAAgB,EAAE,IARa;AAS/B5E,IAAAA,QAAQ,EAAE,4DAA4DhnM,KAA5D,CACN,GADM,CATqB;AAY/BinM,IAAAA,aAAa,EAAE,qCAAqCjnM,KAArC,CAA2C,GAA3C,CAZgB;AAa/BknM,IAAAA,WAAW,EAAE,uBAAuBlnM,KAAvB,CAA6B,GAA7B,CAbkB;AAc/B4pM,IAAAA,kBAAkB,EAAE,IAdW;AAe/BnC,IAAAA,cAAc,EAAE;AACZC,MAAAA,EAAE,EAAE,MADQ;AAEZC,MAAAA,GAAG,EAAE,SAFO;AAGZC,MAAAA,CAAC,EAAE,YAHS;AAIZC,MAAAA,EAAE,EAAE,cAJQ;AAKZC,MAAAA,GAAG,EAAE,mBALO;AAMZC,MAAAA,IAAI,EAAE;AANM,KAfe;AAuB/BC,IAAAA,QAAQ,EAAE;AACNC,MAAAA,OAAO,EAAE,cADH;AAENC,MAAAA,OAAO,EAAE,cAFH;AAGNC,MAAAA,QAAQ,EAAE,YAAY;AAClB,gBAAQ,KAAK6C,GAAL,EAAR;AACI,eAAK,CAAL;AACI,mBAAO,uBAAP;;AACJ,eAAK,CAAL;AACI,mBAAO,sBAAP;;AACJ,eAAK,CAAL;AACI,mBAAO,qBAAP;;AACJ,eAAK,CAAL;AACA,eAAK,CAAL;AACA,eAAK,CAAL;AACA,eAAK,CAAL;AACI,mBAAO,iBAAP;AAXR;AAaH,OAjBK;AAkBN5C,MAAAA,OAAO,EAAE,cAlBH;AAmBNC,MAAAA,QAAQ,EAAE,YAAY;AAClB,gBAAQ,KAAK2C,GAAL,EAAR;AACI,eAAK,CAAL;AACA,eAAK,CAAL;AACI,mBAAO,sBAAP;;AACJ,eAAK,CAAL;AACI,mBAAO,0BAAP;;AACJ,eAAK,CAAL;AACA,eAAK,CAAL;AACA,eAAK,CAAL;AACA,eAAK,CAAL;AACI,mBAAO,sBAAP;AAVR;AAYH,OAhCK;AAiCN1C,MAAAA,QAAQ,EAAE;AAjCJ,KAvBqB;AA0D/BC,IAAAA,YAAY,EAAE;AACVC,MAAAA,MAAM,EAAE,OADE;AAEVC,MAAAA,IAAI,EAAE,UAFI;AAGVl9K,MAAAA,CAAC,EAAE,aAHO;AAIVm9K,MAAAA,EAAE,EAAE9nN,SAJM;AAKV6sC,MAAAA,CAAC,EAAE7sC,SALO;AAMV+nN,MAAAA,EAAE,EAAE/nN,SANM;AAOVi3K,MAAAA,CAAC,EAAEj3K,SAPO;AAQVgoN,MAAAA,EAAE,EAAEhoN,SARM;AASViqC,MAAAA,CAAC,EAAE,KATO;AAUVg+K,MAAAA,EAAE,EAAEjoN,SAVM;AAWVkoN,MAAAA,CAAC,EAAE,QAXO;AAYVC,MAAAA,EAAE,EAAEnoN,SAZM;AAaVosC,MAAAA,CAAC,EAAE,QAbO;AAcVg8K,MAAAA,EAAE,EAAEpoN;AAdM,KA1DiB;AA0E/BqoN,IAAAA,sBAAsB,EAAE,WA1EO;AA2E/BC,IAAAA,OAAO,EAAE,KA3EsB;AA4E/BC,IAAAA,IAAI,EAAE;AACFC,MAAAA,GAAG,EAAE,CADH;AACM;AACRC,MAAAA,GAAG,EAAE,CAFH,CAEM;;AAFN;AA5EyB,GAA1B,CAAT;AAkFA,SAAOyD,EAAP;AAEH,CA3JC,CAAD;;;;;;;;;;ACLD;AACA;AACA;AAEA;;AAAE,WAAU1gD,MAAV,EAAkB98J,OAAlB,EAA2B;AAC1B,UACuCA,OAAO,CAACy2L,mBAAO,CAAC,sBAAD,CAAR,CAD9C,GAEA,CAFA;AAIF,CALC,EAKA,IALA,EAKO,UAAUtwK,MAAV,EAAkB;AAAE,eAAF,CAEvB;;AAEA,MAAIs3L,EAAE,GAAGt3L,MAAM,CAACoxL,YAAP,CAAoB,IAApB,EAA0B;AAC/BC,IAAAA,MAAM,EAAE;AACJgE,MAAAA,UAAU,EACN,oFAAoF9qM,KAApF,CACI,GADJ,CAFA;AAKJ8V,MAAAA,MAAM,EAAE,qHAAqH9V,KAArH,CACJ,GADI,CALJ;AAQJ+qM,MAAAA,QAAQ,EAAE;AARN,KADuB;AAW/BhE,IAAAA,WAAW,EACP,8DAA8D/mM,KAA9D,CACI,GADJ,CAZ2B;AAe/B4rM,IAAAA,gBAAgB,EAAE,IAfa;AAgB/B5E,IAAAA,QAAQ,EACJ,8DAA8DhnM,KAA9D,CACI,GADJ,CAjB2B;AAoB/BinM,IAAAA,aAAa,EAAE,8BAA8BjnM,KAA9B,CAAoC,GAApC,CApBgB;AAqB/BknM,IAAAA,WAAW,EAAE,uBAAuBlnM,KAAvB,CAA6B,GAA7B,CArBkB;AAsB/B4pM,IAAAA,kBAAkB,EAAE,IAtBW;AAuB/BnC,IAAAA,cAAc,EAAE;AACZC,MAAAA,EAAE,EAAE,MADQ;AAEZC,MAAAA,GAAG,EAAE,SAFO;AAGZC,MAAAA,CAAC,EAAE,YAHS;AAIZC,MAAAA,EAAE,EAAE,kBAJQ;AAKZmF,MAAAA,EAAE,EAAE,YALQ;AAMZlF,MAAAA,GAAG,EAAE,+BANO;AAOZmF,MAAAA,GAAG,EAAE,kBAPO;AAQZlF,MAAAA,IAAI,EAAE,oCARM;AASZmF,MAAAA,IAAI,EAAE;AATM,KAvBe;AAkC/BlF,IAAAA,QAAQ,EAAE;AACNC,MAAAA,OAAO,EAAE,YAAY;AACjB,eAAO,cAAc,KAAKX,KAAL,OAAiB,CAAjB,GAAqB,KAArB,GAA6B,IAA3C,IAAmD,MAA1D;AACH,OAHK;AAINY,MAAAA,OAAO,EAAE,YAAY;AACjB,eAAO,cAAc,KAAKZ,KAAL,OAAiB,CAAjB,GAAqB,KAArB,GAA6B,IAA3C,IAAmD,MAA1D;AACH,OANK;AAONa,MAAAA,QAAQ,EAAE,YAAY;AAClB,eAAO,cAAc,KAAKb,KAAL,OAAiB,CAAjB,GAAqB,KAArB,GAA6B,IAA3C,IAAmD,MAA1D;AACH,OATK;AAUNc,MAAAA,OAAO,EAAE,YAAY;AACjB,eAAO,cAAc,KAAKd,KAAL,OAAiB,CAAjB,GAAqB,KAArB,GAA6B,IAA3C,IAAmD,MAA1D;AACH,OAZK;AAaNe,MAAAA,QAAQ,EAAE,YAAY;AAClB,eACI,0BACC,KAAKf,KAAL,OAAiB,CAAjB,GAAqB,KAArB,GAA6B,IAD9B,IAEA,MAHJ;AAKH,OAnBK;AAoBNgB,MAAAA,QAAQ,EAAE;AApBJ,KAlCqB;AAwD/BC,IAAAA,YAAY,EAAE;AACVC,MAAAA,MAAM,EAAE,WADE;AAEVC,MAAAA,IAAI,EAAE,OAFI;AAGVl9K,MAAAA,CAAC,EAAE,YAHO;AAIVm9K,MAAAA,EAAE,EAAE,WAJM;AAKVj7K,MAAAA,CAAC,EAAE,UALO;AAMVk7K,MAAAA,EAAE,EAAE,WANM;AAOV9wC,MAAAA,CAAC,EAAE,UAPO;AAQV+wC,MAAAA,EAAE,EAAE,UARM;AASV/9K,MAAAA,CAAC,EAAE,QATO;AAUVg+K,MAAAA,EAAE,EAAE,SAVM;AAWVC,MAAAA,CAAC,EAAE,QAXO;AAYVC,MAAAA,EAAE,EAAE,UAZM;AAaV/7K,MAAAA,CAAC,EAAE,QAbO;AAcVg8K,MAAAA,EAAE,EAAE;AAdM,KAxDiB;AAwE/BC,IAAAA,sBAAsB,EAAE,oBAxEO;AAyE/BC,IAAAA,OAAO,EAAE,UAAUtgE,MAAV,EAAkBqiE,MAAlB,EAA0B;AAC/B,UAAIz2E,MAAM,GACNoU,MAAM,KAAK,CAAX,GACM,GADN,GAEMA,MAAM,KAAK,CAAX,GACA,GADA,GAEAA,MAAM,KAAK,CAAX,GACA,GADA,GAEAA,MAAM,KAAK,CAAX,GACA,GADA,GAEA,GATV;;AAUA,UAAIqiE,MAAM,KAAK,GAAX,IAAkBA,MAAM,KAAK,GAAjC,EAAsC;AAClCz2E,QAAAA,MAAM,GAAG,GAAT;AACH;;AACD,aAAOoU,MAAM,GAAGpU,MAAhB;AACH,KAxF8B;AAyF/B20E,IAAAA,IAAI,EAAE;AACFC,MAAAA,GAAG,EAAE,CADH;AACM;AACRC,MAAAA,GAAG,EAAE,CAFH,CAEM;;AAFN;AAzFyB,GAA1B,CAAT;AA+FA,SAAO0D,EAAP;AAEH,CA1GC,CAAD;;;;;;;;;;ACJD;AACA;AACA;AAEA;;AAAE,WAAU3gD,MAAV,EAAkB98J,OAAlB,EAA2B;AAC1B,UACuCA,OAAO,CAACy2L,mBAAO,CAAC,sBAAD,CAAR,CAD9C,GAEA,CAFA;AAIF,CALC,EAKA,IALA,EAKO,UAAUtwK,MAAV,EAAkB;AAAE,eAAF,CAEvB;;AAEA,MAAIqxL,MAAM,GAAG;AACLhxL,IAAAA,MAAM,EAAE,oFAAoF9V,KAApF,CACJ,GADI,CADH;AAIL8qM,IAAAA,UAAU,EACN,sFAAsF9qM,KAAtF,CACI,GADJ;AALC,GAAb;AAAA,MASI+mM,WAAW,GAAG,kDAAkD/mM,KAAlD,CAAwD,GAAxD,CATlB;AAAA,MAUImsM,WAAW,GAAG,CACV,OADU,EAEV,OAFU,EAGV,OAHU,EAIV,OAJU,EAKV,OALU,EAMV,wBANU,EAOV,2BAPU,EAQV,OARU,EASV,OATU,EAUV,OAVU,EAWV,OAXU,EAYV,OAZU,CAVlB;AAAA,MAwBI;AACA;AACAC,EAAAA,WAAW,GACP,uJA3BR;;AA6BA,WAAS3B,MAAT,CAAgBj/K,CAAhB,EAAmB;AACf,WAAOA,CAAC,GAAG,CAAJ,IAASA,CAAC,GAAG,CAAb,IAAkB,CAAC,EAAEA,CAAC,GAAG,EAAN,CAAD,KAAe,CAAxC;AACH;;AACD,WAAS5qC,SAAT,CAAmBgoJ,MAAnB,EAA2B6gE,aAA3B,EAA0C1iL,GAA1C,EAA+C2iL,QAA/C,EAAyD;AACrD,QAAI92M,MAAM,GAAGg2I,MAAM,GAAG,GAAtB;;AACA,YAAQ7hH,GAAR;AACI,WAAK,GAAL;AAAU;AACN,eAAO0iL,aAAa,IAAIC,QAAjB,GAA4B,YAA5B,GAA2C,eAAlD;;AACJ,WAAK,IAAL;AAAW;AACP,YAAID,aAAa,IAAIC,QAArB,EAA+B;AAC3B,iBAAO92M,MAAM,IAAI63M,MAAM,CAAC7hE,MAAD,CAAN,GAAiB,SAAjB,GAA6B,QAAjC,CAAb;AACH,SAFD,MAEO;AACH,iBAAOh2I,MAAM,GAAG,WAAhB;AACH;;AACL,WAAK,GAAL;AAAU;AACN,eAAO62M,aAAa,GAAG,QAAH,GAAcC,QAAQ,GAAG,QAAH,GAAc,SAAxD;;AACJ,WAAK,IAAL;AAAW;AACP,YAAID,aAAa,IAAIC,QAArB,EAA+B;AAC3B,iBAAO92M,MAAM,IAAI63M,MAAM,CAAC7hE,MAAD,CAAN,GAAiB,QAAjB,GAA4B,OAAhC,CAAb;AACH,SAFD,MAEO;AACH,iBAAOh2I,MAAM,GAAG,UAAhB;AACH;;AACL,WAAK,GAAL;AAAU;AACN,eAAO62M,aAAa,GAAG,QAAH,GAAcC,QAAQ,GAAG,QAAH,GAAc,SAAxD;;AACJ,WAAK,IAAL;AAAW;AACP,YAAID,aAAa,IAAIC,QAArB,EAA+B;AAC3B,iBAAO92M,MAAM,IAAI63M,MAAM,CAAC7hE,MAAD,CAAN,GAAiB,QAAjB,GAA4B,OAAhC,CAAb;AACH,SAFD,MAEO;AACH,iBAAOh2I,MAAM,GAAG,UAAhB;AACH;;AACL,WAAK,GAAL;AAAU;AACN,eAAO62M,aAAa,IAAIC,QAAjB,GAA4B,KAA5B,GAAoC,MAA3C;;AACJ,WAAK,IAAL;AAAW;AACP,YAAID,aAAa,IAAIC,QAArB,EAA+B;AAC3B,iBAAO92M,MAAM,IAAI63M,MAAM,CAAC7hE,MAAD,CAAN,GAAiB,KAAjB,GAAyB,KAA7B,CAAb;AACH,SAFD,MAEO;AACH,iBAAOh2I,MAAM,GAAG,KAAhB;AACH;;AACL,WAAK,GAAL;AAAU;AACN,eAAO62M,aAAa,IAAIC,QAAjB,GAA4B,OAA5B,GAAsC,SAA7C;;AACJ,WAAK,IAAL;AAAW;AACP,YAAID,aAAa,IAAIC,QAArB,EAA+B;AAC3B,iBAAO92M,MAAM,IAAI63M,MAAM,CAAC7hE,MAAD,CAAN,GAAiB,QAAjB,GAA4B,QAAhC,CAAb;AACH,SAFD,MAEO;AACH,iBAAOh2I,MAAM,GAAG,QAAhB;AACH;;AACL,WAAK,GAAL;AAAU;AACN,eAAO62M,aAAa,IAAIC,QAAjB,GAA4B,KAA5B,GAAoC,OAA3C;;AACJ,WAAK,IAAL;AAAW;AACP,YAAID,aAAa,IAAIC,QAArB,EAA+B;AAC3B,iBAAO92M,MAAM,IAAI63M,MAAM,CAAC7hE,MAAD,CAAN,GAAiB,MAAjB,GAA0B,KAA9B,CAAb;AACH,SAFD,MAEO;AACH,iBAAOh2I,MAAM,GAAG,MAAhB;AACH;;AAhDT;AAkDH;;AAED,MAAIuqL,EAAE,GAAG1nK,MAAM,CAACoxL,YAAP,CAAoB,IAApB,EAA0B;AAC/BC,IAAAA,MAAM,EAAEA,MADuB;AAE/BC,IAAAA,WAAW,EAAEA,WAFkB;AAG/BqF,IAAAA,WAAW,EAAEA,WAHkB;AAI/BT,IAAAA,gBAAgB,EAAES,WAJa;AAK/B;AACA;AACAC,IAAAA,iBAAiB,EACb,sKAR2B;AAS/BC,IAAAA,sBAAsB,EAClB,qDAV2B;AAW/BH,IAAAA,WAAW,EAAEA,WAXkB;AAY/BS,IAAAA,eAAe,EAAET,WAZc;AAa/BU,IAAAA,gBAAgB,EAAEV,WAba;AAc/BnF,IAAAA,QAAQ,EAAE,mDAAmDhnM,KAAnD,CAAyD,GAAzD,CAdqB;AAe/BinM,IAAAA,aAAa,EAAE,uBAAuBjnM,KAAvB,CAA6B,GAA7B,CAfgB;AAgB/BknM,IAAAA,WAAW,EAAE,uBAAuBlnM,KAAvB,CAA6B,GAA7B,CAhBkB;AAiB/BynM,IAAAA,cAAc,EAAE;AACZC,MAAAA,EAAE,EAAE,MADQ;AAEZC,MAAAA,GAAG,EAAE,SAFO;AAGZC,MAAAA,CAAC,EAAE,YAHS;AAIZC,MAAAA,EAAE,EAAE,cAJQ;AAKZC,MAAAA,GAAG,EAAE,mBALO;AAMZC,MAAAA,IAAI,EAAE,wBANM;AAOZoF,MAAAA,CAAC,EAAE;AAPS,KAjBe;AA0B/BnF,IAAAA,QAAQ,EAAE;AACNC,MAAAA,OAAO,EAAE,aADH;AAENC,MAAAA,OAAO,EAAE,cAFH;AAGNC,MAAAA,QAAQ,EAAE,YAAY;AAClB,gBAAQ,KAAK6C,GAAL,EAAR;AACI,eAAK,CAAL;AACI,mBAAO,iBAAP;;AACJ,eAAK,CAAL;AACA,eAAK,CAAL;AACI,mBAAO,iBAAP;;AACJ,eAAK,CAAL;AACI,mBAAO,kBAAP;;AACJ,eAAK,CAAL;AACI,mBAAO,mBAAP;;AACJ,eAAK,CAAL;AACI,mBAAO,gBAAP;;AACJ,eAAK,CAAL;AACI,mBAAO,iBAAP;AAbR;AAeH,OAnBK;AAoBN5C,MAAAA,OAAO,EAAE,cApBH;AAqBNC,MAAAA,QAAQ,EAAE,YAAY;AAClB,gBAAQ,KAAK2C,GAAL,EAAR;AACI,eAAK,CAAL;AACI,mBAAO,uBAAP;;AACJ,eAAK,CAAL;AACA,eAAK,CAAL;AACI,mBAAO,sBAAP;;AACJ,eAAK,CAAL;AACI,mBAAO,uBAAP;;AACJ,eAAK,CAAL;AACA,eAAK,CAAL;AACI,mBAAO,sBAAP;;AACJ,eAAK,CAAL;AACI,mBAAO,uBAAP;AAZR;AAcH,OApCK;AAqCN1C,MAAAA,QAAQ,EAAE;AArCJ,KA1BqB;AAiE/BC,IAAAA,YAAY,EAAE;AACVC,MAAAA,MAAM,EAAE,OADE;AAEVC,MAAAA,IAAI,EAAE,SAFI;AAGVl9K,MAAAA,CAAC,EAAE3qC,SAHO;AAIV8nN,MAAAA,EAAE,EAAE9nN,SAJM;AAKV6sC,MAAAA,CAAC,EAAE7sC,SALO;AAMV+nN,MAAAA,EAAE,EAAE/nN,SANM;AAOVi3K,MAAAA,CAAC,EAAEj3K,SAPO;AAQVgoN,MAAAA,EAAE,EAAEhoN,SARM;AASViqC,MAAAA,CAAC,EAAEjqC,SATO;AAUVioN,MAAAA,EAAE,EAAEjoN,SAVM;AAWVkoN,MAAAA,CAAC,EAAEloN,SAXO;AAYVmoN,MAAAA,EAAE,EAAEnoN,SAZM;AAaVosC,MAAAA,CAAC,EAAEpsC,SAbO;AAcVooN,MAAAA,EAAE,EAAEpoN;AAdM,KAjEiB;AAiF/BqoN,IAAAA,sBAAsB,EAAE,WAjFO;AAkF/BC,IAAAA,OAAO,EAAE,KAlFsB;AAmF/BC,IAAAA,IAAI,EAAE;AACFC,MAAAA,GAAG,EAAE,CADH;AACM;AACRC,MAAAA,GAAG,EAAE,CAFH,CAEM;;AAFN;AAnFyB,GAA1B,CAAT;AAyFA,SAAOlsB,EAAP;AAEH,CA1LC,CAAD;;;;;;;;;;ACJD;AACA;AACA;AAEA;;AAAE,WAAU/wB,MAAV,EAAkB98J,OAAlB,EAA2B;AAC1B,UACuCA,OAAO,CAACy2L,mBAAO,CAAC,sBAAD,CAAR,CAD9C,GAEA,CAFA;AAIF,CALC,EAKA,IALA,EAKO,UAAUtwK,MAAV,EAAkB;AAAE,eAAF,CAEvB;;AAEA,MAAI23L,EAAE,GAAG33L,MAAM,CAACoxL,YAAP,CAAoB,IAApB,EAA0B;AAC/BC,IAAAA,MAAM,EAAE,gEAAgE9mM,KAAhE,CACJ,GADI,CADuB;AAI/B+mM,IAAAA,WAAW,EAAE,kDAAkD/mM,KAAlD,CAAwD,GAAxD,CAJkB;AAK/BgnM,IAAAA,QAAQ,EACJ,oEAAoEhnM,KAApE,CACI,GADJ,CAN2B;AAS/BinM,IAAAA,aAAa,EAAE,6BAA6BjnM,KAA7B,CAAmC,GAAnC,CATgB;AAU/BknM,IAAAA,WAAW,EAAE,uBAAuBlnM,KAAvB,CAA6B,GAA7B,CAVkB;AAW/BynM,IAAAA,cAAc,EAAE;AACZC,MAAAA,EAAE,EAAE,OADQ;AAEZC,MAAAA,GAAG,EAAE,UAFO;AAGZC,MAAAA,CAAC,EAAE,YAHS;AAIZC,MAAAA,EAAE,EAAE,qCAJQ;AAKZC,MAAAA,GAAG,EAAE,4CALO;AAMZC,MAAAA,IAAI,EAAE;AANM,KAXe;AAmB/BC,IAAAA,QAAQ,EAAE;AACNC,MAAAA,OAAO,EAAE,qBADH;AAENC,MAAAA,OAAO,EAAE,qBAFH;AAGNE,MAAAA,OAAO,EAAE,qBAHH;AAIND,MAAAA,QAAQ,EAAE,2BAJJ;AAKNE,MAAAA,QAAQ,EAAE,2BALJ;AAMNC,MAAAA,QAAQ,EAAE;AANJ,KAnBqB;AA2B/BC,IAAAA,YAAY,EAAE;AACVC,MAAAA,MAAM,EAAE,UAAUh0E,MAAV,EAAkB;AACtB,YAAI64E,KAAK,GAAG,UAAUvvG,IAAV,CAAe02B,MAAf,IACN,KADM,GAEN,QAAQ12B,IAAR,CAAa02B,MAAb,IACA,KADA,GAEA,KAJN;AAKA,eAAOA,MAAM,GAAG64E,KAAhB;AACH,OARS;AASV5E,MAAAA,IAAI,EAAE,WATI;AAUVl9K,MAAAA,CAAC,EAAE,gBAVO;AAWVm9K,MAAAA,EAAE,EAAE,YAXM;AAYVj7K,MAAAA,CAAC,EAAE,WAZO;AAaVk7K,MAAAA,EAAE,EAAE,UAbM;AAcV9wC,MAAAA,CAAC,EAAE,WAdO;AAeV+wC,MAAAA,EAAE,EAAE,UAfM;AAgBV/9K,MAAAA,CAAC,EAAE,SAhBO;AAiBVg+K,MAAAA,EAAE,EAAE,QAjBM;AAkBVC,MAAAA,CAAC,EAAE,UAlBO;AAmBVC,MAAAA,EAAE,EAAE,SAnBM;AAoBV/7K,MAAAA,CAAC,EAAE,SApBO;AAqBVg8K,MAAAA,EAAE,EAAE;AArBM,KA3BiB;AAkD/BC,IAAAA,sBAAsB,EAAE,aAlDO;AAmD/BC,IAAAA,OAAO,EAAE,QAnDsB;AAoD/BC,IAAAA,IAAI,EAAE;AACFC,MAAAA,GAAG,EAAE,CADH;AACM;AACRC,MAAAA,GAAG,EAAE,CAFH,CAEM;;AAFN;AApDyB,GAA1B,CAAT;AA0DA,SAAO+D,EAAP;AAEH,CArEC,CAAD;;;;;;;;;;ACJD;AACA;AACA;AACA;AAEA;;AAAE,WAAUhhD,MAAV,EAAkB98J,OAAlB,EAA2B;AAC1B,UACuCA,OAAO,CAACy2L,mBAAO,CAAC,sBAAD,CAAR,CAD9C,GAEA,CAFA;AAIF,CALC,EAKA,IALA,EAKO,UAAUtwK,MAAV,EAAkB;AAAE,eAAF,CAEvB;;AAEA,MAAI63L,EAAE,GAAG73L,MAAM,CAACoxL,YAAP,CAAoB,IAApB,EAA0B;AAC/BC,IAAAA,MAAM,EAAE,yFAAyF9mM,KAAzF,CACJ,GADI,CADuB;AAI/B+mM,IAAAA,WAAW,EAAE,qDAAqD/mM,KAArD,CACT,GADS,CAJkB;AAO/BgnM,IAAAA,QAAQ,EACJ,+EAA+EhnM,KAA/E,CACI,GADJ,CAR2B;AAW/BinM,IAAAA,aAAa,EAAE,+BAA+BjnM,KAA/B,CAAqC,GAArC,CAXgB;AAY/BknM,IAAAA,WAAW,EAAE,uBAAuBlnM,KAAvB,CAA6B,GAA7B,CAZkB;AAa/B4pM,IAAAA,kBAAkB,EAAE,IAbW;AAc/B;AACAnC,IAAAA,cAAc,EAAE;AACZC,MAAAA,EAAE,EAAE,OADQ;AAEZC,MAAAA,GAAG,EAAE,UAFO;AAGZC,MAAAA,CAAC,EAAE,YAHS;AAIZC,MAAAA,EAAE,EAAE,aAJQ;AAKZC,MAAAA,GAAG,EAAE,mBALO;AAMZC,MAAAA,IAAI,EAAE;AANM,KAfe;AAuB/BC,IAAAA,QAAQ,EAAE;AACNC,MAAAA,OAAO,EAAE,gBADH;AAENC,MAAAA,OAAO,EAAE,eAFH;AAGNC,MAAAA,QAAQ,EAAE,cAHJ;AAINC,MAAAA,OAAO,EAAE,cAJH;AAKNC,MAAAA,QAAQ,EAAE,uBALJ;AAMNC,MAAAA,QAAQ,EAAE;AANJ,KAvBqB;AA+B/BC,IAAAA,YAAY,EAAE;AACVC,MAAAA,MAAM,EAAE,SADE;AAEVC,MAAAA,IAAI,EAAE,UAFI;AAGVl9K,MAAAA,CAAC,EAAE,kBAHO;AAIVm9K,MAAAA,EAAE,EAAE,WAJM;AAKVj7K,MAAAA,CAAC,EAAE,OALO;AAMVk7K,MAAAA,EAAE,EAAE,UANM;AAOV9wC,MAAAA,CAAC,EAAE,KAPO;AAQV+wC,MAAAA,EAAE,EAAE,QARM;AASV/9K,MAAAA,CAAC,EAAE,SATO;AAUVg+K,MAAAA,EAAE,EAAE,YAVM;AAWVC,MAAAA,CAAC,EAAE,KAXO;AAYVC,MAAAA,EAAE,EAAE,QAZM;AAaV/7K,MAAAA,CAAC,EAAE,UAbO;AAcVg8K,MAAAA,EAAE,EAAE;AAdM,KA/BiB;AA+C/BC,IAAAA,sBAAsB,EAAE,kCA/CO;AAgD/B;AACAC,IAAAA,OAAO,EAAE,UAAUtgE,MAAV,EAAkB;AACvB,UAAI99G,CAAC,GAAG89G,MAAR;AAAA,UACIpU,MAAM,GAAG,EADb;AAAA,UAEI+4E,MAAM,GAAG,CACL,EADK,EAEL,IAFK,EAGL,IAHK,EAIL,KAJK,EAKL,KALK,EAML,IANK,EAOL,IAPK,EAQL,IARK,EASL,KATK,EAUL,KAVK,EAWL,KAXK,EAWE;AACP,UAZK,EAaL,KAbK,EAcL,IAdK,EAeL,IAfK,EAgBL,KAhBK,EAiBL,IAjBK,EAkBL,IAlBK,EAmBL,KAnBK,EAoBL,IApBK,EAqBL,KArBK,CAqBE;AArBF,OAFb;;AAyBA,UAAIziL,CAAC,GAAG,EAAR,EAAY;AACR,YAAIA,CAAC,KAAK,EAAN,IAAYA,CAAC,KAAK,EAAlB,IAAwBA,CAAC,KAAK,EAA9B,IAAoCA,CAAC,KAAK,EAA1C,IAAgDA,CAAC,KAAK,GAA1D,EAA+D;AAC3D0pG,UAAAA,MAAM,GAAG,KAAT,CAD2D,CAC3C;AACnB,SAFD,MAEO;AACHA,UAAAA,MAAM,GAAG,KAAT;AACH;AACJ,OAND,MAMO,IAAI1pG,CAAC,GAAG,CAAR,EAAW;AACd0pG,QAAAA,MAAM,GAAG+4E,MAAM,CAACziL,CAAD,CAAf;AACH;;AACD,aAAO89G,MAAM,GAAGpU,MAAhB;AACH,KArF8B;AAsF/B20E,IAAAA,IAAI,EAAE;AACFC,MAAAA,GAAG,EAAE,CADH;AACM;AACRC,MAAAA,GAAG,EAAE,CAFH,CAEM;;AAFN;AAtFyB,GAA1B,CAAT;AA4FA,SAAOiE,EAAP;AAEH,CAvGC,CAAD;;;;;;;;;;ACLD;AACA;AACA;AAEA;;AAAE,WAAUlhD,MAAV,EAAkB98J,OAAlB,EAA2B;AAC1B,UACuCA,OAAO,CAACy2L,mBAAO,CAAC,sBAAD,CAAR,CAD9C,GAEA,CAFA;AAIF,CALC,EAKA,IALA,EAKO,UAAUtwK,MAAV,EAAkB;AAAE,eAAF,CAEvB;;AAEA,MAAI+3L,EAAE,GAAG/3L,MAAM,CAACoxL,YAAP,CAAoB,IAApB,EAA0B;AAC/BC,IAAAA,MAAM,EAAE,sFAAsF9mM,KAAtF,CACJ,GADI,CADuB;AAI/B+mM,IAAAA,WAAW,EAAE,kDAAkD/mM,KAAlD,CAAwD,GAAxD,CAJkB;AAK/BgnM,IAAAA,QAAQ,EAAE,qDAAqDhnM,KAArD,CAA2D,GAA3D,CALqB;AAM/BinM,IAAAA,aAAa,EAAE,8BAA8BjnM,KAA9B,CAAoC,GAApC,CANgB;AAO/BknM,IAAAA,WAAW,EAAE,uBAAuBlnM,KAAvB,CAA6B,GAA7B,CAPkB;AAQ/BynM,IAAAA,cAAc,EAAE;AACZC,MAAAA,EAAE,EAAE,OADQ;AAEZC,MAAAA,GAAG,EAAE,UAFO;AAGZC,MAAAA,CAAC,EAAE,YAHS;AAIZC,MAAAA,EAAE,EAAE,cAJQ;AAKZC,MAAAA,GAAG,EAAE,oBALO;AAMZC,MAAAA,IAAI,EAAE;AANM,KARe;AAgB/BC,IAAAA,QAAQ,EAAE;AACNC,MAAAA,OAAO,EAAE,gBADH;AAENC,MAAAA,OAAO,EAAE,mBAFH;AAGNC,MAAAA,QAAQ,EAAE,kBAHJ;AAINC,MAAAA,OAAO,EAAE,gBAJH;AAKNC,MAAAA,QAAQ,EAAE,oBALJ;AAMNC,MAAAA,QAAQ,EAAE;AANJ,KAhBqB;AAwB/BC,IAAAA,YAAY,EAAE;AACVC,MAAAA,MAAM,EAAE,OADE;AAEVC,MAAAA,IAAI,EAAE,UAFI;AAGVl9K,MAAAA,CAAC,EAAE,aAHO;AAIVm9K,MAAAA,EAAE,EAAE,aAJM;AAKVj7K,MAAAA,CAAC,EAAE,UALO;AAMVk7K,MAAAA,EAAE,EAAE,aANM;AAOV9wC,MAAAA,CAAC,EAAE,SAPO;AAQV+wC,MAAAA,EAAE,EAAE,UARM;AASV/9K,MAAAA,CAAC,EAAE,QATO;AAUVg+K,MAAAA,EAAE,EAAE,SAVM;AAWVC,MAAAA,CAAC,EAAE,UAXO;AAYVC,MAAAA,EAAE,EAAE,YAZM;AAaV/7K,MAAAA,CAAC,EAAE,OAbO;AAcVg8K,MAAAA,EAAE,EAAE;AAdM,KAxBiB;AAwC/BC,IAAAA,sBAAsB,EAAE,WAxCO;AAyC/BC,IAAAA,OAAO,EAAE,KAzCsB;AA0C/BC,IAAAA,IAAI,EAAE;AACFC,MAAAA,GAAG,EAAE,CADH;AACM;AACRC,MAAAA,GAAG,EAAE,CAFH,CAEM;;AAFN;AA1CyB,GAA1B,CAAT;AAgDA,SAAOmE,EAAP;AAEH,CA3DC,CAAD;;;;;;;;;;ACJD;AACA;AACA;AACA;AACA;AACA;AAEA;;AAAE,WAAUphD,MAAV,EAAkB98J,OAAlB,EAA2B;AAC1B,UACuCA,OAAO,CAACy2L,mBAAO,CAAC,sBAAD,CAAR,CAD9C,GAEA,CAFA;AAIF,CALC,EAKA,IALA,EAKO,UAAUtwK,MAAV,EAAkB;AAAE,eAAF,CAEvB;;AAEA,WAASg4L,mBAAT,CAA6B7kE,MAA7B,EAAqC6gE,aAArC,EAAoD1iL,GAApD,EAAyD2iL,QAAzD,EAAmE;AAC/D,QAAI5zL,MAAM,GAAG;AACT2X,MAAAA,CAAC,EAAE,CAAC,aAAD,EAAgB,cAAhB,CADM;AAEToqI,MAAAA,CAAC,EAAE,CAAC,aAAD,EAAgB,cAAhB,CAFM;AAGThtI,MAAAA,CAAC,EAAE,CAAC,SAAD,EAAY,WAAZ,CAHM;AAITg+K,MAAAA,EAAE,EAAE,CAACjgE,MAAM,GAAG,OAAV,EAAmBA,MAAM,GAAG,QAA5B,CAJK;AAKTymB,MAAAA,CAAC,EAAE,CAAC,YAAD,EAAe,aAAf,CALM;AAMTy5C,MAAAA,CAAC,EAAE,CAAC,WAAD,EAAc,aAAd,CANM;AAOTC,MAAAA,EAAE,EAAE,CAACngE,MAAM,GAAG,SAAV,EAAqBA,MAAM,GAAG,UAA9B,CAPK;AAQT57G,MAAAA,CAAC,EAAE,CAAC,UAAD,EAAa,YAAb,CARM;AASTg8K,MAAAA,EAAE,EAAE,CAACpgE,MAAM,GAAG,QAAV,EAAoBA,MAAM,GAAG,SAA7B;AATK,KAAb;AAWA,WAAO6gE,aAAa,GAAG3zL,MAAM,CAACiR,GAAD,CAAN,CAAY,CAAZ,CAAH,GAAoBjR,MAAM,CAACiR,GAAD,CAAN,CAAY,CAAZ,CAAxC;AACH;;AAED,MAAI2mL,IAAI,GAAGj4L,MAAM,CAACoxL,YAAP,CAAoB,OAApB,EAA6B;AACpCC,IAAAA,MAAM,EAAE,qFAAqF9mM,KAArF,CACJ,GADI,CAD4B;AAIpC+mM,IAAAA,WAAW,EACP,6DAA6D/mM,KAA7D,CAAmE,GAAnE,CALgC;AAMpC4rM,IAAAA,gBAAgB,EAAE,IANkB;AAOpC5E,IAAAA,QAAQ,EACJ,8DAA8DhnM,KAA9D,CACI,GADJ,CARgC;AAWpCinM,IAAAA,aAAa,EAAE,8BAA8BjnM,KAA9B,CAAoC,GAApC,CAXqB;AAYpCknM,IAAAA,WAAW,EAAE,uBAAuBlnM,KAAvB,CAA6B,GAA7B,CAZuB;AAapC4pM,IAAAA,kBAAkB,EAAE,IAbgB;AAcpCnC,IAAAA,cAAc,EAAE;AACZC,MAAAA,EAAE,EAAE,OADQ;AAEZC,MAAAA,GAAG,EAAE,UAFO;AAGZC,MAAAA,CAAC,EAAE,YAHS;AAIZC,MAAAA,EAAE,EAAE,cAJQ;AAKZC,MAAAA,GAAG,EAAE,oBALO;AAMZC,MAAAA,IAAI,EAAE;AANM,KAdoB;AAsBpCC,IAAAA,QAAQ,EAAE;AACNC,MAAAA,OAAO,EAAE,qBADH;AAENK,MAAAA,QAAQ,EAAE,GAFJ;AAGNJ,MAAAA,OAAO,EAAE,sBAHH;AAINC,MAAAA,QAAQ,EAAE,oBAJJ;AAKNC,MAAAA,OAAO,EAAE,uBALH;AAMNC,MAAAA,QAAQ,EAAE;AANJ,KAtB0B;AA8BpCE,IAAAA,YAAY,EAAE;AACVC,MAAAA,MAAM,EAAE,OADE;AAEVC,MAAAA,IAAI,EAAE,QAFI;AAGVl9K,MAAAA,CAAC,EAAE,mBAHO;AAIVm9K,MAAAA,EAAE,EAAE,aAJM;AAKVj7K,MAAAA,CAAC,EAAEggL,mBALO;AAMV9E,MAAAA,EAAE,EAAE,YANM;AAOV9wC,MAAAA,CAAC,EAAE41C,mBAPO;AAQV7E,MAAAA,EAAE,EAAE,YARM;AASV/9K,MAAAA,CAAC,EAAE4iL,mBATO;AAUV5E,MAAAA,EAAE,EAAE4E,mBAVM;AAWVp+C,MAAAA,CAAC,EAAEo+C,mBAXO;AAYVtC,MAAAA,EAAE,EAAE,WAZM;AAaVrC,MAAAA,CAAC,EAAE2E,mBAbO;AAcV1E,MAAAA,EAAE,EAAE0E,mBAdM;AAeVzgL,MAAAA,CAAC,EAAEygL,mBAfO;AAgBVzE,MAAAA,EAAE,EAAEyE;AAhBM,KA9BsB;AAgDpCxE,IAAAA,sBAAsB,EAAE,WAhDY;AAiDpCC,IAAAA,OAAO,EAAE,KAjD2B;AAkDpCC,IAAAA,IAAI,EAAE;AACFC,MAAAA,GAAG,EAAE,CADH;AACM;AACRC,MAAAA,GAAG,EAAE,CAFH,CAEM;;AAFN;AAlD8B,GAA7B,CAAX;AAwDA,SAAOqE,IAAP;AAEH,CAlFC,CAAD;;;;;;;;;;ACPD;AACA;AACA;AAEA;;AAAE,WAAUthD,MAAV,EAAkB98J,OAAlB,EAA2B;AAC1B,UACuCA,OAAO,CAACy2L,mBAAO,CAAC,sBAAD,CAAR,CAD9C,GAEA,CAFA;AAIF,CALC,EAKA,IALA,EAKO,UAAUtwK,MAAV,EAAkB;AAAE,eAAF,CAEvB;;AAEA,WAASg4L,mBAAT,CAA6B7kE,MAA7B,EAAqC6gE,aAArC,EAAoD1iL,GAApD,EAAyD2iL,QAAzD,EAAmE;AAC/D,QAAI5zL,MAAM,GAAG;AACT2X,MAAAA,CAAC,EAAE,CAAC,aAAD,EAAgB,cAAhB,CADM;AAEToqI,MAAAA,CAAC,EAAE,CAAC,aAAD,EAAgB,cAAhB,CAFM;AAGThtI,MAAAA,CAAC,EAAE,CAAC,SAAD,EAAY,WAAZ,CAHM;AAITg+K,MAAAA,EAAE,EAAE,CAACjgE,MAAM,GAAG,OAAV,EAAmBA,MAAM,GAAG,QAA5B,CAJK;AAKTymB,MAAAA,CAAC,EAAE,CAAC,YAAD,EAAe,aAAf,CALM;AAMTy5C,MAAAA,CAAC,EAAE,CAAC,WAAD,EAAc,aAAd,CANM;AAOTC,MAAAA,EAAE,EAAE,CAACngE,MAAM,GAAG,SAAV,EAAqBA,MAAM,GAAG,UAA9B,CAPK;AAQT57G,MAAAA,CAAC,EAAE,CAAC,UAAD,EAAa,YAAb,CARM;AASTg8K,MAAAA,EAAE,EAAE,CAACpgE,MAAM,GAAG,QAAV,EAAoBA,MAAM,GAAG,SAA7B;AATK,KAAb;AAWA,WAAO6gE,aAAa,GAAG3zL,MAAM,CAACiR,GAAD,CAAN,CAAY,CAAZ,CAAH,GAAoBjR,MAAM,CAACiR,GAAD,CAAN,CAAY,CAAZ,CAAxC;AACH;;AAED,MAAI4mL,IAAI,GAAGl4L,MAAM,CAACoxL,YAAP,CAAoB,OAApB,EAA6B;AACpCC,IAAAA,MAAM,EAAE,qFAAqF9mM,KAArF,CACJ,GADI,CAD4B;AAIpC+mM,IAAAA,WAAW,EACP,6DAA6D/mM,KAA7D,CAAmE,GAAnE,CALgC;AAMpC4rM,IAAAA,gBAAgB,EAAE,IANkB;AAOpC5E,IAAAA,QAAQ,EACJ,8DAA8DhnM,KAA9D,CACI,GADJ,CARgC;AAWpCinM,IAAAA,aAAa,EAAE,uBAAuBjnM,KAAvB,CAA6B,GAA7B,CAXqB;AAYpCknM,IAAAA,WAAW,EAAE,uBAAuBlnM,KAAvB,CAA6B,GAA7B,CAZuB;AAapC4pM,IAAAA,kBAAkB,EAAE,IAbgB;AAcpCnC,IAAAA,cAAc,EAAE;AACZC,MAAAA,EAAE,EAAE,OADQ;AAEZC,MAAAA,GAAG,EAAE,UAFO;AAGZC,MAAAA,CAAC,EAAE,YAHS;AAIZC,MAAAA,EAAE,EAAE,cAJQ;AAKZC,MAAAA,GAAG,EAAE,oBALO;AAMZC,MAAAA,IAAI,EAAE;AANM,KAdoB;AAsBpCC,IAAAA,QAAQ,EAAE;AACNC,MAAAA,OAAO,EAAE,qBADH;AAENK,MAAAA,QAAQ,EAAE,GAFJ;AAGNJ,MAAAA,OAAO,EAAE,sBAHH;AAINC,MAAAA,QAAQ,EAAE,oBAJJ;AAKNC,MAAAA,OAAO,EAAE,uBALH;AAMNC,MAAAA,QAAQ,EAAE;AANJ,KAtB0B;AA8BpCE,IAAAA,YAAY,EAAE;AACVC,MAAAA,MAAM,EAAE,OADE;AAEVC,MAAAA,IAAI,EAAE,QAFI;AAGVl9K,MAAAA,CAAC,EAAE,mBAHO;AAIVm9K,MAAAA,EAAE,EAAE,aAJM;AAKVj7K,MAAAA,CAAC,EAAEggL,mBALO;AAMV9E,MAAAA,EAAE,EAAE,YANM;AAOV9wC,MAAAA,CAAC,EAAE41C,mBAPO;AAQV7E,MAAAA,EAAE,EAAE,YARM;AASV/9K,MAAAA,CAAC,EAAE4iL,mBATO;AAUV5E,MAAAA,EAAE,EAAE4E,mBAVM;AAWVp+C,MAAAA,CAAC,EAAEo+C,mBAXO;AAYVtC,MAAAA,EAAE,EAAE,WAZM;AAaVrC,MAAAA,CAAC,EAAE2E,mBAbO;AAcV1E,MAAAA,EAAE,EAAE0E,mBAdM;AAeVzgL,MAAAA,CAAC,EAAEygL,mBAfO;AAgBVzE,MAAAA,EAAE,EAAEyE;AAhBM,KA9BsB;AAgDpCxE,IAAAA,sBAAsB,EAAE,WAhDY;AAiDpCC,IAAAA,OAAO,EAAE,KAjD2B;AAkDpCC,IAAAA,IAAI,EAAE;AACFC,MAAAA,GAAG,EAAE,CADH;AACM;AACRC,MAAAA,GAAG,EAAE,CAFH,CAEM;;AAFN;AAlD8B,GAA7B,CAAX;AAwDA,SAAOsE,IAAP;AAEH,CAlFC,CAAD;;;;;;;;;;ACJD;AACA;AACA;AACA;AACA;AAEA;;AAAE,WAAUvhD,MAAV,EAAkB98J,OAAlB,EAA2B;AAC1B,UACuCA,OAAO,CAACy2L,mBAAO,CAAC,sBAAD,CAAR,CAD9C,GAEA,CAFA;AAIF,CALC,EAKA,IALA,EAKO,UAAUtwK,MAAV,EAAkB;AAAE,eAAF,CAEvB;;AAEA,WAASg4L,mBAAT,CAA6B7kE,MAA7B,EAAqC6gE,aAArC,EAAoD1iL,GAApD,EAAyD2iL,QAAzD,EAAmE;AAC/D,QAAI5zL,MAAM,GAAG;AACT2X,MAAAA,CAAC,EAAE,CAAC,aAAD,EAAgB,cAAhB,CADM;AAEToqI,MAAAA,CAAC,EAAE,CAAC,aAAD,EAAgB,cAAhB,CAFM;AAGThtI,MAAAA,CAAC,EAAE,CAAC,SAAD,EAAY,WAAZ,CAHM;AAITg+K,MAAAA,EAAE,EAAE,CAACjgE,MAAM,GAAG,OAAV,EAAmBA,MAAM,GAAG,QAA5B,CAJK;AAKTymB,MAAAA,CAAC,EAAE,CAAC,YAAD,EAAe,aAAf,CALM;AAMTy5C,MAAAA,CAAC,EAAE,CAAC,WAAD,EAAc,aAAd,CANM;AAOTC,MAAAA,EAAE,EAAE,CAACngE,MAAM,GAAG,SAAV,EAAqBA,MAAM,GAAG,UAA9B,CAPK;AAQT57G,MAAAA,CAAC,EAAE,CAAC,UAAD,EAAa,YAAb,CARM;AASTg8K,MAAAA,EAAE,EAAE,CAACpgE,MAAM,GAAG,QAAV,EAAoBA,MAAM,GAAG,SAA7B;AATK,KAAb;AAWA,WAAO6gE,aAAa,GAAG3zL,MAAM,CAACiR,GAAD,CAAN,CAAY,CAAZ,CAAH,GAAoBjR,MAAM,CAACiR,GAAD,CAAN,CAAY,CAAZ,CAAxC;AACH;;AAED,MAAI6mL,EAAE,GAAGn4L,MAAM,CAACoxL,YAAP,CAAoB,IAApB,EAA0B;AAC/BC,IAAAA,MAAM,EAAE,qFAAqF9mM,KAArF,CACJ,GADI,CADuB;AAI/B+mM,IAAAA,WAAW,EACP,6DAA6D/mM,KAA7D,CAAmE,GAAnE,CAL2B;AAM/B4rM,IAAAA,gBAAgB,EAAE,IANa;AAO/B5E,IAAAA,QAAQ,EACJ,8DAA8DhnM,KAA9D,CACI,GADJ,CAR2B;AAW/BinM,IAAAA,aAAa,EAAE,8BAA8BjnM,KAA9B,CAAoC,GAApC,CAXgB;AAY/BknM,IAAAA,WAAW,EAAE,uBAAuBlnM,KAAvB,CAA6B,GAA7B,CAZkB;AAa/B4pM,IAAAA,kBAAkB,EAAE,IAbW;AAc/BnC,IAAAA,cAAc,EAAE;AACZC,MAAAA,EAAE,EAAE,OADQ;AAEZC,MAAAA,GAAG,EAAE,UAFO;AAGZC,MAAAA,CAAC,EAAE,YAHS;AAIZC,MAAAA,EAAE,EAAE,cAJQ;AAKZC,MAAAA,GAAG,EAAE,oBALO;AAMZC,MAAAA,IAAI,EAAE;AANM,KAde;AAsB/BC,IAAAA,QAAQ,EAAE;AACNC,MAAAA,OAAO,EAAE,qBADH;AAENK,MAAAA,QAAQ,EAAE,GAFJ;AAGNJ,MAAAA,OAAO,EAAE,sBAHH;AAINC,MAAAA,QAAQ,EAAE,oBAJJ;AAKNC,MAAAA,OAAO,EAAE,uBALH;AAMNC,MAAAA,QAAQ,EAAE;AANJ,KAtBqB;AA8B/BE,IAAAA,YAAY,EAAE;AACVC,MAAAA,MAAM,EAAE,OADE;AAEVC,MAAAA,IAAI,EAAE,QAFI;AAGVl9K,MAAAA,CAAC,EAAE,mBAHO;AAIVm9K,MAAAA,EAAE,EAAE,aAJM;AAKVj7K,MAAAA,CAAC,EAAEggL,mBALO;AAMV9E,MAAAA,EAAE,EAAE,YANM;AAOV9wC,MAAAA,CAAC,EAAE41C,mBAPO;AAQV7E,MAAAA,EAAE,EAAE,YARM;AASV/9K,MAAAA,CAAC,EAAE4iL,mBATO;AAUV5E,MAAAA,EAAE,EAAE4E,mBAVM;AAWVp+C,MAAAA,CAAC,EAAEo+C,mBAXO;AAYVtC,MAAAA,EAAE,EAAE,WAZM;AAaVrC,MAAAA,CAAC,EAAE2E,mBAbO;AAcV1E,MAAAA,EAAE,EAAE0E,mBAdM;AAeVzgL,MAAAA,CAAC,EAAEygL,mBAfO;AAgBVzE,MAAAA,EAAE,EAAEyE;AAhBM,KA9BiB;AAgD/BxE,IAAAA,sBAAsB,EAAE,WAhDO;AAiD/BC,IAAAA,OAAO,EAAE,KAjDsB;AAkD/BC,IAAAA,IAAI,EAAE;AACFC,MAAAA,GAAG,EAAE,CADH;AACM;AACRC,MAAAA,GAAG,EAAE,CAFH,CAEM;;AAFN;AAlDyB,GAA1B,CAAT;AAwDA,SAAOuE,EAAP;AAEH,CAlFC,CAAD;;;;;;;;;;ACND;AACA;AACA;AAEA;;AAAE,WAAUxhD,MAAV,EAAkB98J,OAAlB,EAA2B;AAC1B,UACuCA,OAAO,CAACy2L,mBAAO,CAAC,sBAAD,CAAR,CAD9C,GAEA,CAFA;AAIF,CALC,EAKA,IALA,EAKO,UAAUtwK,MAAV,EAAkB;AAAE,eAAF,CAEvB;;AAEA,MAAIqxL,MAAM,GAAG,CACL,UADK,EAEL,YAFK,EAGL,QAHK,EAIL,UAJK,EAKL,IALK,EAML,MANK,EAOL,QAPK,EAQL,UARK,EASL,cATK,EAUL,YAVK,EAWL,YAXK,EAYL,YAZK,CAAb;AAAA,MAcIE,QAAQ,GAAG,CACP,UADO,EAEP,MAFO,EAGP,UAHO,EAIP,MAJO,EAKP,YALO,EAMP,QANO,EAOP,UAPO,CAdf;AAwBA,MAAI6G,EAAE,GAAGp4L,MAAM,CAACoxL,YAAP,CAAoB,IAApB,EAA0B;AAC/BC,IAAAA,MAAM,EAAEA,MADuB;AAE/BC,IAAAA,WAAW,EAAED,MAFkB;AAG/BE,IAAAA,QAAQ,EAAEA,QAHqB;AAI/BC,IAAAA,aAAa,EAAED,QAJgB;AAK/BE,IAAAA,WAAW,EAAE,qCAAqClnM,KAArC,CAA2C,GAA3C,CALkB;AAM/BynM,IAAAA,cAAc,EAAE;AACZC,MAAAA,EAAE,EAAE,OADQ;AAEZC,MAAAA,GAAG,EAAE,UAFO;AAGZC,MAAAA,CAAC,EAAE,UAHS;AAIZC,MAAAA,EAAE,EAAE,aAJQ;AAKZC,MAAAA,GAAG,EAAE,mBALO;AAMZC,MAAAA,IAAI,EAAE;AANM,KANe;AAc/BZ,IAAAA,aAAa,EAAE,OAdgB;AAe/BC,IAAAA,IAAI,EAAE,UAAU5tJ,KAAV,EAAiB;AACnB,aAAO,SAASA,KAAhB;AACH,KAjB8B;AAkB/B6tJ,IAAAA,QAAQ,EAAE,UAAUpvE,IAAV,EAAgB4xE,MAAhB,EAAwBrC,OAAxB,EAAiC;AACvC,UAAIvvE,IAAI,GAAG,EAAX,EAAe;AACX,eAAO,IAAP;AACH,OAFD,MAEO;AACH,eAAO,IAAP;AACH;AACJ,KAxB8B;AAyB/B+vE,IAAAA,QAAQ,EAAE;AACNC,MAAAA,OAAO,EAAE,aADH;AAENC,MAAAA,OAAO,EAAE,aAFH;AAGNC,MAAAA,QAAQ,EAAE,SAHJ;AAINC,MAAAA,OAAO,EAAE,aAJH;AAKNC,MAAAA,QAAQ,EAAE,oBALJ;AAMNC,MAAAA,QAAQ,EAAE;AANJ,KAzBqB;AAiC/BC,IAAAA,YAAY,EAAE;AACVC,MAAAA,MAAM,EAAE,aADE;AAEVC,MAAAA,IAAI,EAAE,WAFI;AAGVl9K,MAAAA,CAAC,EAAE,gBAHO;AAIVm9K,MAAAA,EAAE,EAAE,aAJM;AAKVj7K,MAAAA,CAAC,EAAE,UALO;AAMVk7K,MAAAA,EAAE,EAAE,WANM;AAOV9wC,MAAAA,CAAC,EAAE,YAPO;AAQV+wC,MAAAA,EAAE,EAAE,aARM;AASV/9K,MAAAA,CAAC,EAAE,UATO;AAUVg+K,MAAAA,EAAE,EAAE,WAVM;AAWVC,MAAAA,CAAC,EAAE,QAXO;AAYVC,MAAAA,EAAE,EAAE,SAZM;AAaV/7K,MAAAA,CAAC,EAAE,UAbO;AAcVg8K,MAAAA,EAAE,EAAE;AAdM,KAjCiB;AAiD/BkB,IAAAA,QAAQ,EAAE,UAAU5K,MAAV,EAAkB;AACxB,aAAOA,MAAM,CAACh/L,OAAP,CAAe,IAAf,EAAqB,GAArB,CAAP;AACH,KAnD8B;AAoD/BwpM,IAAAA,UAAU,EAAE,UAAUxK,MAAV,EAAkB;AAC1B,aAAOA,MAAM,CAACh/L,OAAP,CAAe,IAAf,EAAqB,GAArB,CAAP;AACH,KAtD8B;AAuD/B6oM,IAAAA,IAAI,EAAE;AACFC,MAAAA,GAAG,EAAE,CADH;AACM;AACRC,MAAAA,GAAG,EAAE,EAFH,CAEO;;AAFP;AAvDyB,GAA1B,CAAT;AA6DA,SAAOwE,EAAP;AAEH,CAhGC,CAAD;;;;;;;;;;ACJD;AACA;AACA;AAEA;;AAAE,WAAUzhD,MAAV,EAAkB98J,OAAlB,EAA2B;AAC1B,UACuCA,OAAO,CAACy2L,mBAAO,CAAC,sBAAD,CAAR,CAD9C,GAEA,CAFA;AAIF,CALC,EAKA,IALA,EAKO,UAAUtwK,MAAV,EAAkB;AAAE,eAAF,CAEvB;;AAEA,WAAS+4F,UAAT,CAAoBh1D,KAApB,EAA2B;AACvB,WACK,OAAO4nI,QAAP,KAAoB,WAApB,IAAmC5nI,KAAK,YAAY4nI,QAArD,IACAh+J,MAAM,CAAC8H,SAAP,CAAiBiT,QAAjB,CAA0B/T,IAA1B,CAA+BovB,KAA/B,MAA0C,mBAF9C;AAIH;;AAED,MAAIs0J,EAAE,GAAGr4L,MAAM,CAACoxL,YAAP,CAAoB,IAApB,EAA0B;AAC/BkH,IAAAA,kBAAkB,EACd,qHAAqH/tM,KAArH,CACI,GADJ,CAF2B;AAK/BguM,IAAAA,gBAAgB,EACZ,qHAAqHhuM,KAArH,CACI,GADJ,CAN2B;AAS/B8mM,IAAAA,MAAM,EAAE,UAAUmH,cAAV,EAA0Bn4L,MAA1B,EAAkC;AACtC,UAAI,CAACm4L,cAAL,EAAqB;AACjB,eAAO,KAAKC,mBAAZ;AACH,OAFD,MAEO,IACH,OAAOp4L,MAAP,KAAkB,QAAlB,IACA,IAAIQ,IAAJ,CAASR,MAAM,CAAC2yB,SAAP,CAAiB,CAAjB,EAAoB3yB,MAAM,CAACzc,OAAP,CAAe,MAAf,CAApB,CAAT,CAFG,EAGL;AACE;AACA,eAAO,KAAK80M,iBAAL,CAAuBF,cAAc,CAACG,KAAf,EAAvB,CAAP;AACH,OANM,MAMA;AACH,eAAO,KAAKF,mBAAL,CAAyBD,cAAc,CAACG,KAAf,EAAzB,CAAP;AACH;AACJ,KArB8B;AAsB/BrH,IAAAA,WAAW,EAAE,oDAAoD/mM,KAApD,CAA0D,GAA1D,CAtBkB;AAuB/BgnM,IAAAA,QAAQ,EAAE,yDAAyDhnM,KAAzD,CACN,GADM,CAvBqB;AA0B/BinM,IAAAA,aAAa,EAAE,8BAA8BjnM,KAA9B,CAAoC,GAApC,CA1BgB;AA2B/BknM,IAAAA,WAAW,EAAE,uBAAuBlnM,KAAvB,CAA6B,GAA7B,CA3BkB;AA4B/BqnM,IAAAA,QAAQ,EAAE,UAAUC,KAAV,EAAiBC,OAAjB,EAA0BC,OAA1B,EAAmC;AACzC,UAAIF,KAAK,GAAG,EAAZ,EAAgB;AACZ,eAAOE,OAAO,GAAG,IAAH,GAAU,IAAxB;AACH,OAFD,MAEO;AACH,eAAOA,OAAO,GAAG,IAAH,GAAU,IAAxB;AACH;AACJ,KAlC8B;AAmC/BJ,IAAAA,IAAI,EAAE,UAAU5tJ,KAAV,EAAiB;AACnB,aAAO,CAACA,KAAK,GAAG,EAAT,EAAalxB,WAAb,GAA2B,CAA3B,MAAkC,GAAzC;AACH,KArC8B;AAsC/B6+K,IAAAA,aAAa,EAAE,eAtCgB;AAuC/BM,IAAAA,cAAc,EAAE;AACZC,MAAAA,EAAE,EAAE,QADQ;AAEZC,MAAAA,GAAG,EAAE,WAFO;AAGZC,MAAAA,CAAC,EAAE,YAHS;AAIZC,MAAAA,EAAE,EAAE,aAJQ;AAKZC,MAAAA,GAAG,EAAE,oBALO;AAMZC,MAAAA,IAAI,EAAE;AANM,KAvCe;AA+C/BsG,IAAAA,UAAU,EAAE;AACRpG,MAAAA,OAAO,EAAE,gBADD;AAERC,MAAAA,OAAO,EAAE,eAFD;AAGRC,MAAAA,QAAQ,EAAE,cAHF;AAIRC,MAAAA,OAAO,EAAE,cAJD;AAKRC,MAAAA,QAAQ,EAAE,YAAY;AAClB,gBAAQ,KAAK2C,GAAL,EAAR;AACI,eAAK,CAAL;AACI,mBAAO,+BAAP;;AACJ;AACI,mBAAO,gCAAP;AAJR;AAMH,OAZO;AAaR1C,MAAAA,QAAQ,EAAE;AAbF,KA/CmB;AA8D/BN,IAAAA,QAAQ,EAAE,UAAUjhL,GAAV,EAAeo6K,GAAf,EAAoB;AAC1B,UAAI3sE,MAAM,GAAG,KAAK85E,WAAL,CAAiBvnL,GAAjB,CAAb;AAAA,UACIugL,KAAK,GAAGnG,GAAG,IAAIA,GAAG,CAACmG,KAAJ,EADnB;;AAEA,UAAI94F,UAAU,CAACgmB,MAAD,CAAd,EAAwB;AACpBA,QAAAA,MAAM,GAAGA,MAAM,CAAC9oG,KAAP,CAAay1K,GAAb,CAAT;AACH;;AACD,aAAO3sE,MAAM,CAACl0H,OAAP,CAAe,IAAf,EAAqBgnM,KAAK,GAAG,EAAR,KAAe,CAAf,GAAmB,KAAnB,GAA2B,MAAhD,CAAP;AACH,KArE8B;AAsE/BiB,IAAAA,YAAY,EAAE;AACVC,MAAAA,MAAM,EAAE,OADE;AAEVC,MAAAA,IAAI,EAAE,SAFI;AAGVl9K,MAAAA,CAAC,EAAE,mBAHO;AAIVm9K,MAAAA,EAAE,EAAE,iBAJM;AAKVj7K,MAAAA,CAAC,EAAE,WALO;AAMVk7K,MAAAA,EAAE,EAAE,UANM;AAOV9wC,MAAAA,CAAC,EAAE,SAPO;AAQV+wC,MAAAA,EAAE,EAAE,SARM;AASV/9K,MAAAA,CAAC,EAAE,UATO;AAUVg+K,MAAAA,EAAE,EAAE,UAVM;AAWVC,MAAAA,CAAC,EAAE,YAXO;AAYVC,MAAAA,EAAE,EAAE,UAZM;AAaV/7K,MAAAA,CAAC,EAAE,aAbO;AAcVg8K,MAAAA,EAAE,EAAE;AAdM,KAtEiB;AAsF/BC,IAAAA,sBAAsB,EAAE,UAtFO;AAuF/BC,IAAAA,OAAO,EAAE,KAvFsB;AAwF/BC,IAAAA,IAAI,EAAE;AACFC,MAAAA,GAAG,EAAE,CADH;AACM;AACRC,MAAAA,GAAG,EAAE,CAFH,CAEM;;AAFN;AAxFyB,GAA1B,CAAT;AA8FA,SAAOyE,EAAP;AAEH,CAhHC,CAAD;;;;;;;;;;ACJD;AACA;AACA;AAEA;;AAAE,WAAU1hD,MAAV,EAAkB98J,OAAlB,EAA2B;AAC1B,UACuCA,OAAO,CAACy2L,mBAAO,CAAC,sBAAD,CAAR,CAD9C,GAEA,CAFA;AAIF,CALC,EAKA,IALA,EAKO,UAAUtwK,MAAV,EAAkB;AAAE,eAAF,CAEvB;;AAEA,MAAI84L,IAAI,GAAG94L,MAAM,CAACoxL,YAAP,CAAoB,OAApB,EAA6B;AACpCC,IAAAA,MAAM,EAAE,wFAAwF9mM,KAAxF,CACJ,GADI,CAD4B;AAIpC+mM,IAAAA,WAAW,EAAE,kDAAkD/mM,KAAlD,CAAwD,GAAxD,CAJuB;AAKpCgnM,IAAAA,QAAQ,EAAE,2DAA2DhnM,KAA3D,CACN,GADM,CAL0B;AAQpCinM,IAAAA,aAAa,EAAE,8BAA8BjnM,KAA9B,CAAoC,GAApC,CARqB;AASpCknM,IAAAA,WAAW,EAAE,uBAAuBlnM,KAAvB,CAA6B,GAA7B,CATuB;AAUpCynM,IAAAA,cAAc,EAAE;AACZC,MAAAA,EAAE,EAAE,QADQ;AAEZC,MAAAA,GAAG,EAAE,WAFO;AAGZC,MAAAA,CAAC,EAAE,YAHS;AAIZC,MAAAA,EAAE,EAAE,aAJQ;AAKZC,MAAAA,GAAG,EAAE,oBALO;AAMZC,MAAAA,IAAI,EAAE;AANM,KAVoB;AAkBpCC,IAAAA,QAAQ,EAAE;AACNC,MAAAA,OAAO,EAAE,eADH;AAENC,MAAAA,OAAO,EAAE,kBAFH;AAGNC,MAAAA,QAAQ,EAAE,cAHJ;AAINC,MAAAA,OAAO,EAAE,mBAJH;AAKNC,MAAAA,QAAQ,EAAE,qBALJ;AAMNC,MAAAA,QAAQ,EAAE;AANJ,KAlB0B;AA0BpCC,IAAAA,YAAY,EAAE;AACVC,MAAAA,MAAM,EAAE,OADE;AAEVC,MAAAA,IAAI,EAAE,QAFI;AAGVl9K,MAAAA,CAAC,EAAE,eAHO;AAIVm9K,MAAAA,EAAE,EAAE,YAJM;AAKVj7K,MAAAA,CAAC,EAAE,UALO;AAMVk7K,MAAAA,EAAE,EAAE,YANM;AAOV9wC,MAAAA,CAAC,EAAE,SAPO;AAQV+wC,MAAAA,EAAE,EAAE,UARM;AASV/9K,MAAAA,CAAC,EAAE,OATO;AAUVg+K,MAAAA,EAAE,EAAE,SAVM;AAWVC,MAAAA,CAAC,EAAE,SAXO;AAYVC,MAAAA,EAAE,EAAE,WAZM;AAaV/7K,MAAAA,CAAC,EAAE,QAbO;AAcVg8K,MAAAA,EAAE,EAAE;AAdM,KA1BsB;AA0CpCC,IAAAA,sBAAsB,EAAE,sBA1CY;AA2CpCC,IAAAA,OAAO,EAAE,UAAUtgE,MAAV,EAAkB;AACvB,UAAI99G,CAAC,GAAG89G,MAAM,GAAG,EAAjB;AAAA,UACIpU,MAAM,GACF,CAAC,EAAGoU,MAAM,GAAG,GAAV,GAAiB,EAAnB,CAAD,KAA4B,CAA5B,GACM,IADN,GAEM99G,CAAC,KAAK,CAAN,GACA,IADA,GAEAA,CAAC,KAAK,CAAN,GACA,IADA,GAEAA,CAAC,KAAK,CAAN,GACA,IADA,GAEA,IAVd;AAWA,aAAO89G,MAAM,GAAGpU,MAAhB;AACH,KAxDmC;AAyDpC20E,IAAAA,IAAI,EAAE;AACFC,MAAAA,GAAG,EAAE,CADH;AACM;AACRC,MAAAA,GAAG,EAAE,CAFH,CAEM;;AAFN;AAzD8B,GAA7B,CAAX;AA+DA,SAAOkF,IAAP;AAEH,CA1EC,CAAD;;;;;;;;;;ACJD;AACA;AACA;AAEA;;AAAE,WAAUniD,MAAV,EAAkB98J,OAAlB,EAA2B;AAC1B,UACuCA,OAAO,CAACy2L,mBAAO,CAAC,sBAAD,CAAR,CAD9C,GAEA,CAFA;AAIF,CALC,EAKA,IALA,EAKO,UAAUtwK,MAAV,EAAkB;AAAE,eAAF,CAEvB;;AAEA,MAAI+4L,IAAI,GAAG/4L,MAAM,CAACoxL,YAAP,CAAoB,OAApB,EAA6B;AACpCC,IAAAA,MAAM,EAAE,wFAAwF9mM,KAAxF,CACJ,GADI,CAD4B;AAIpC+mM,IAAAA,WAAW,EAAE,kDAAkD/mM,KAAlD,CAAwD,GAAxD,CAJuB;AAKpCgnM,IAAAA,QAAQ,EAAE,2DAA2DhnM,KAA3D,CACN,GADM,CAL0B;AAQpCinM,IAAAA,aAAa,EAAE,8BAA8BjnM,KAA9B,CAAoC,GAApC,CARqB;AASpCknM,IAAAA,WAAW,EAAE,uBAAuBlnM,KAAvB,CAA6B,GAA7B,CATuB;AAUpCynM,IAAAA,cAAc,EAAE;AACZC,MAAAA,EAAE,EAAE,QADQ;AAEZC,MAAAA,GAAG,EAAE,WAFO;AAGZC,MAAAA,CAAC,EAAE,YAHS;AAIZC,MAAAA,EAAE,EAAE,cAJQ;AAKZC,MAAAA,GAAG,EAAE,qBALO;AAMZC,MAAAA,IAAI,EAAE;AANM,KAVoB;AAkBpCC,IAAAA,QAAQ,EAAE;AACNC,MAAAA,OAAO,EAAE,eADH;AAENC,MAAAA,OAAO,EAAE,kBAFH;AAGNC,MAAAA,QAAQ,EAAE,cAHJ;AAINC,MAAAA,OAAO,EAAE,mBAJH;AAKNC,MAAAA,QAAQ,EAAE,qBALJ;AAMNC,MAAAA,QAAQ,EAAE;AANJ,KAlB0B;AA0BpCC,IAAAA,YAAY,EAAE;AACVC,MAAAA,MAAM,EAAE,OADE;AAEVC,MAAAA,IAAI,EAAE,QAFI;AAGVl9K,MAAAA,CAAC,EAAE,eAHO;AAIVm9K,MAAAA,EAAE,EAAE,YAJM;AAKVj7K,MAAAA,CAAC,EAAE,UALO;AAMVk7K,MAAAA,EAAE,EAAE,YANM;AAOV9wC,MAAAA,CAAC,EAAE,SAPO;AAQV+wC,MAAAA,EAAE,EAAE,UARM;AASV/9K,MAAAA,CAAC,EAAE,OATO;AAUVg+K,MAAAA,EAAE,EAAE,SAVM;AAWVC,MAAAA,CAAC,EAAE,SAXO;AAYVC,MAAAA,EAAE,EAAE,WAZM;AAaV/7K,MAAAA,CAAC,EAAE,QAbO;AAcVg8K,MAAAA,EAAE,EAAE;AAdM,KA1BsB;AA0CpCC,IAAAA,sBAAsB,EAAE,sBA1CY;AA2CpCC,IAAAA,OAAO,EAAE,UAAUtgE,MAAV,EAAkB;AACvB,UAAI99G,CAAC,GAAG89G,MAAM,GAAG,EAAjB;AAAA,UACIpU,MAAM,GACF,CAAC,EAAGoU,MAAM,GAAG,GAAV,GAAiB,EAAnB,CAAD,KAA4B,CAA5B,GACM,IADN,GAEM99G,CAAC,KAAK,CAAN,GACA,IADA,GAEAA,CAAC,KAAK,CAAN,GACA,IADA,GAEAA,CAAC,KAAK,CAAN,GACA,IADA,GAEA,IAVd;AAWA,aAAO89G,MAAM,GAAGpU,MAAhB;AACH;AAxDmC,GAA7B,CAAX;AA2DA,SAAOg6E,IAAP;AAEH,CAtEC,CAAD;;;;;;;;;;ACJD;AACA;AACA;AAEA;;AAAE,WAAUpiD,MAAV,EAAkB98J,OAAlB,EAA2B;AAC1B,UACuCA,OAAO,CAACy2L,mBAAO,CAAC,sBAAD,CAAR,CAD9C,GAEA,CAFA;AAIF,CALC,EAKA,IALA,EAKO,UAAUtwK,MAAV,EAAkB;AAAE,eAAF,CAEvB;;AAEA,MAAIg5L,IAAI,GAAGh5L,MAAM,CAACoxL,YAAP,CAAoB,OAApB,EAA6B;AACpCC,IAAAA,MAAM,EAAE,wFAAwF9mM,KAAxF,CACJ,GADI,CAD4B;AAIpC+mM,IAAAA,WAAW,EAAE,kDAAkD/mM,KAAlD,CAAwD,GAAxD,CAJuB;AAKpCgnM,IAAAA,QAAQ,EAAE,2DAA2DhnM,KAA3D,CACN,GADM,CAL0B;AAQpCinM,IAAAA,aAAa,EAAE,8BAA8BjnM,KAA9B,CAAoC,GAApC,CARqB;AASpCknM,IAAAA,WAAW,EAAE,uBAAuBlnM,KAAvB,CAA6B,GAA7B,CATuB;AAUpCynM,IAAAA,cAAc,EAAE;AACZC,MAAAA,EAAE,EAAE,OADQ;AAEZC,MAAAA,GAAG,EAAE,UAFO;AAGZC,MAAAA,CAAC,EAAE,YAHS;AAIZC,MAAAA,EAAE,EAAE,aAJQ;AAKZC,MAAAA,GAAG,EAAE,mBALO;AAMZC,MAAAA,IAAI,EAAE;AANM,KAVoB;AAkBpCC,IAAAA,QAAQ,EAAE;AACNC,MAAAA,OAAO,EAAE,eADH;AAENC,MAAAA,OAAO,EAAE,kBAFH;AAGNC,MAAAA,QAAQ,EAAE,cAHJ;AAINC,MAAAA,OAAO,EAAE,mBAJH;AAKNC,MAAAA,QAAQ,EAAE,qBALJ;AAMNC,MAAAA,QAAQ,EAAE;AANJ,KAlB0B;AA0BpCC,IAAAA,YAAY,EAAE;AACVC,MAAAA,MAAM,EAAE,OADE;AAEVC,MAAAA,IAAI,EAAE,QAFI;AAGVl9K,MAAAA,CAAC,EAAE,eAHO;AAIVm9K,MAAAA,EAAE,EAAE,YAJM;AAKVj7K,MAAAA,CAAC,EAAE,UALO;AAMVk7K,MAAAA,EAAE,EAAE,YANM;AAOV9wC,MAAAA,CAAC,EAAE,SAPO;AAQV+wC,MAAAA,EAAE,EAAE,UARM;AASV/9K,MAAAA,CAAC,EAAE,OATO;AAUVg+K,MAAAA,EAAE,EAAE,SAVM;AAWVC,MAAAA,CAAC,EAAE,SAXO;AAYVC,MAAAA,EAAE,EAAE,WAZM;AAaV/7K,MAAAA,CAAC,EAAE,QAbO;AAcVg8K,MAAAA,EAAE,EAAE;AAdM,KA1BsB;AA0CpCC,IAAAA,sBAAsB,EAAE,sBA1CY;AA2CpCC,IAAAA,OAAO,EAAE,UAAUtgE,MAAV,EAAkB;AACvB,UAAI99G,CAAC,GAAG89G,MAAM,GAAG,EAAjB;AAAA,UACIpU,MAAM,GACF,CAAC,EAAGoU,MAAM,GAAG,GAAV,GAAiB,EAAnB,CAAD,KAA4B,CAA5B,GACM,IADN,GAEM99G,CAAC,KAAK,CAAN,GACA,IADA,GAEAA,CAAC,KAAK,CAAN,GACA,IADA,GAEAA,CAAC,KAAK,CAAN,GACA,IADA,GAEA,IAVd;AAWA,aAAO89G,MAAM,GAAGpU,MAAhB;AACH,KAxDmC;AAyDpC20E,IAAAA,IAAI,EAAE;AACFC,MAAAA,GAAG,EAAE,CADH;AACM;AACRC,MAAAA,GAAG,EAAE,CAFH,CAEM;;AAFN;AAzD8B,GAA7B,CAAX;AA+DA,SAAOoF,IAAP;AAEH,CA1EC,CAAD;;;;;;;;;;ACJD;AACA;AACA;AAEA;;AAAE,WAAUriD,MAAV,EAAkB98J,OAAlB,EAA2B;AAC1B,UACuCA,OAAO,CAACy2L,mBAAO,CAAC,sBAAD,CAAR,CAD9C,GAEA,CAFA;AAIF,CALC,EAKA,IALA,EAKO,UAAUtwK,MAAV,EAAkB;AAAE,eAAF,CAEvB;;AAEA,MAAIi5L,IAAI,GAAGj5L,MAAM,CAACoxL,YAAP,CAAoB,OAApB,EAA6B;AACpCC,IAAAA,MAAM,EAAE,wFAAwF9mM,KAAxF,CACJ,GADI,CAD4B;AAIpC+mM,IAAAA,WAAW,EAAE,kDAAkD/mM,KAAlD,CAAwD,GAAxD,CAJuB;AAKpCgnM,IAAAA,QAAQ,EAAE,2DAA2DhnM,KAA3D,CACN,GADM,CAL0B;AAQpCinM,IAAAA,aAAa,EAAE,8BAA8BjnM,KAA9B,CAAoC,GAApC,CARqB;AASpCknM,IAAAA,WAAW,EAAE,uBAAuBlnM,KAAvB,CAA6B,GAA7B,CATuB;AAUpCynM,IAAAA,cAAc,EAAE;AACZC,MAAAA,EAAE,EAAE,OADQ;AAEZC,MAAAA,GAAG,EAAE,UAFO;AAGZC,MAAAA,CAAC,EAAE,YAHS;AAIZC,MAAAA,EAAE,EAAE,aAJQ;AAKZC,MAAAA,GAAG,EAAE,mBALO;AAMZC,MAAAA,IAAI,EAAE;AANM,KAVoB;AAkBpCC,IAAAA,QAAQ,EAAE;AACNC,MAAAA,OAAO,EAAE,eADH;AAENC,MAAAA,OAAO,EAAE,kBAFH;AAGNC,MAAAA,QAAQ,EAAE,cAHJ;AAINC,MAAAA,OAAO,EAAE,mBAJH;AAKNC,MAAAA,QAAQ,EAAE,qBALJ;AAMNC,MAAAA,QAAQ,EAAE;AANJ,KAlB0B;AA0BpCC,IAAAA,YAAY,EAAE;AACVC,MAAAA,MAAM,EAAE,OADE;AAEVC,MAAAA,IAAI,EAAE,QAFI;AAGVl9K,MAAAA,CAAC,EAAE,eAHO;AAIVm9K,MAAAA,EAAE,EAAE,YAJM;AAKVj7K,MAAAA,CAAC,EAAE,UALO;AAMVk7K,MAAAA,EAAE,EAAE,YANM;AAOV9wC,MAAAA,CAAC,EAAE,SAPO;AAQV+wC,MAAAA,EAAE,EAAE,UARM;AASV/9K,MAAAA,CAAC,EAAE,OATO;AAUVg+K,MAAAA,EAAE,EAAE,SAVM;AAWVC,MAAAA,CAAC,EAAE,SAXO;AAYVC,MAAAA,EAAE,EAAE,WAZM;AAaV/7K,MAAAA,CAAC,EAAE,QAbO;AAcVg8K,MAAAA,EAAE,EAAE;AAdM,KA1BsB;AA0CpCC,IAAAA,sBAAsB,EAAE,sBA1CY;AA2CpCC,IAAAA,OAAO,EAAE,UAAUtgE,MAAV,EAAkB;AACvB,UAAI99G,CAAC,GAAG89G,MAAM,GAAG,EAAjB;AAAA,UACIpU,MAAM,GACF,CAAC,EAAGoU,MAAM,GAAG,GAAV,GAAiB,EAAnB,CAAD,KAA4B,CAA5B,GACM,IADN,GAEM99G,CAAC,KAAK,CAAN,GACA,IADA,GAEAA,CAAC,KAAK,CAAN,GACA,IADA,GAEAA,CAAC,KAAK,CAAN,GACA,IADA,GAEA,IAVd;AAWA,aAAO89G,MAAM,GAAGpU,MAAhB;AACH,KAxDmC;AAyDpC20E,IAAAA,IAAI,EAAE;AACFC,MAAAA,GAAG,EAAE,CADH;AACM;AACRC,MAAAA,GAAG,EAAE,CAFH,CAEM;;AAFN;AAzD8B,GAA7B,CAAX;AA+DA,SAAOqF,IAAP;AAEH,CA1EC,CAAD;;;;;;;;;;ACJD;AACA;AACA;AAEA;;AAAE,WAAUtiD,MAAV,EAAkB98J,OAAlB,EAA2B;AAC1B,UACuCA,OAAO,CAACy2L,mBAAO,CAAC,sBAAD,CAAR,CAD9C,GAEA,CAFA;AAIF,CALC,EAKA,IALA,EAKO,UAAUtwK,MAAV,EAAkB;AAAE,eAAF,CAEvB;;AAEA,MAAIk5L,IAAI,GAAGl5L,MAAM,CAACoxL,YAAP,CAAoB,OAApB,EAA6B;AACpCC,IAAAA,MAAM,EAAE,wFAAwF9mM,KAAxF,CACJ,GADI,CAD4B;AAIpC+mM,IAAAA,WAAW,EAAE,kDAAkD/mM,KAAlD,CAAwD,GAAxD,CAJuB;AAKpCgnM,IAAAA,QAAQ,EAAE,2DAA2DhnM,KAA3D,CACN,GADM,CAL0B;AAQpCinM,IAAAA,aAAa,EAAE,8BAA8BjnM,KAA9B,CAAoC,GAApC,CARqB;AASpCknM,IAAAA,WAAW,EAAE,uBAAuBlnM,KAAvB,CAA6B,GAA7B,CATuB;AAUpCynM,IAAAA,cAAc,EAAE;AACZC,MAAAA,EAAE,EAAE,OADQ;AAEZC,MAAAA,GAAG,EAAE,UAFO;AAGZC,MAAAA,CAAC,EAAE,YAHS;AAIZC,MAAAA,EAAE,EAAE,aAJQ;AAKZC,MAAAA,GAAG,EAAE,mBALO;AAMZC,MAAAA,IAAI,EAAE;AANM,KAVoB;AAkBpCC,IAAAA,QAAQ,EAAE;AACNC,MAAAA,OAAO,EAAE,eADH;AAENC,MAAAA,OAAO,EAAE,kBAFH;AAGNC,MAAAA,QAAQ,EAAE,cAHJ;AAINC,MAAAA,OAAO,EAAE,mBAJH;AAKNC,MAAAA,QAAQ,EAAE,qBALJ;AAMNC,MAAAA,QAAQ,EAAE;AANJ,KAlB0B;AA0BpCC,IAAAA,YAAY,EAAE;AACVC,MAAAA,MAAM,EAAE,OADE;AAEVC,MAAAA,IAAI,EAAE,QAFI;AAGVl9K,MAAAA,CAAC,EAAE,eAHO;AAIVm9K,MAAAA,EAAE,EAAE,YAJM;AAKVj7K,MAAAA,CAAC,EAAE,UALO;AAMVk7K,MAAAA,EAAE,EAAE,YANM;AAOV9wC,MAAAA,CAAC,EAAE,SAPO;AAQV+wC,MAAAA,EAAE,EAAE,UARM;AASV/9K,MAAAA,CAAC,EAAE,OATO;AAUVg+K,MAAAA,EAAE,EAAE,SAVM;AAWVC,MAAAA,CAAC,EAAE,SAXO;AAYVC,MAAAA,EAAE,EAAE,WAZM;AAaV/7K,MAAAA,CAAC,EAAE,QAbO;AAcVg8K,MAAAA,EAAE,EAAE;AAdM,KA1BsB;AA0CpCC,IAAAA,sBAAsB,EAAE,sBA1CY;AA2CpCC,IAAAA,OAAO,EAAE,UAAUtgE,MAAV,EAAkB;AACvB,UAAI99G,CAAC,GAAG89G,MAAM,GAAG,EAAjB;AAAA,UACIpU,MAAM,GACF,CAAC,EAAGoU,MAAM,GAAG,GAAV,GAAiB,EAAnB,CAAD,KAA4B,CAA5B,GACM,IADN,GAEM99G,CAAC,KAAK,CAAN,GACA,IADA,GAEAA,CAAC,KAAK,CAAN,GACA,IADA,GAEAA,CAAC,KAAK,CAAN,GACA,IADA,GAEA,IAVd;AAWA,aAAO89G,MAAM,GAAGpU,MAAhB;AACH;AAxDmC,GAA7B,CAAX;AA2DA,SAAOm6E,IAAP;AAEH,CAtEC,CAAD;;;;;;;;;;ACJD;AACA;AACA;AAEA;;AAAE,WAAUviD,MAAV,EAAkB98J,OAAlB,EAA2B;AAC1B,UACuCA,OAAO,CAACy2L,mBAAO,CAAC,sBAAD,CAAR,CAD9C,GAEA,CAFA;AAIF,CALC,EAKA,IALA,EAKO,UAAUtwK,MAAV,EAAkB;AAAE,eAAF,CAEvB;;AAEA,MAAIm5L,IAAI,GAAGn5L,MAAM,CAACoxL,YAAP,CAAoB,OAApB,EAA6B;AACpCC,IAAAA,MAAM,EAAE,wFAAwF9mM,KAAxF,CACJ,GADI,CAD4B;AAIpC+mM,IAAAA,WAAW,EAAE,kDAAkD/mM,KAAlD,CAAwD,GAAxD,CAJuB;AAKpCgnM,IAAAA,QAAQ,EAAE,2DAA2DhnM,KAA3D,CACN,GADM,CAL0B;AAQpCinM,IAAAA,aAAa,EAAE,8BAA8BjnM,KAA9B,CAAoC,GAApC,CARqB;AASpCknM,IAAAA,WAAW,EAAE,uBAAuBlnM,KAAvB,CAA6B,GAA7B,CATuB;AAUpCynM,IAAAA,cAAc,EAAE;AACZC,MAAAA,EAAE,EAAE,QADQ;AAEZC,MAAAA,GAAG,EAAE,WAFO;AAGZC,MAAAA,CAAC,EAAE,YAHS;AAIZC,MAAAA,EAAE,EAAE,aAJQ;AAKZC,MAAAA,GAAG,EAAE,oBALO;AAMZC,MAAAA,IAAI,EAAE;AANM,KAVoB;AAkBpCC,IAAAA,QAAQ,EAAE;AACNC,MAAAA,OAAO,EAAE,eADH;AAENC,MAAAA,OAAO,EAAE,kBAFH;AAGNC,MAAAA,QAAQ,EAAE,cAHJ;AAINC,MAAAA,OAAO,EAAE,mBAJH;AAKNC,MAAAA,QAAQ,EAAE,qBALJ;AAMNC,MAAAA,QAAQ,EAAE;AANJ,KAlB0B;AA0BpCC,IAAAA,YAAY,EAAE;AACVC,MAAAA,MAAM,EAAE,OADE;AAEVC,MAAAA,IAAI,EAAE,QAFI;AAGVl9K,MAAAA,CAAC,EAAE,eAHO;AAIVm9K,MAAAA,EAAE,EAAE,YAJM;AAKVj7K,MAAAA,CAAC,EAAE,UALO;AAMVk7K,MAAAA,EAAE,EAAE,YANM;AAOV9wC,MAAAA,CAAC,EAAE,SAPO;AAQV+wC,MAAAA,EAAE,EAAE,UARM;AASV/9K,MAAAA,CAAC,EAAE,OATO;AAUVg+K,MAAAA,EAAE,EAAE,SAVM;AAWVC,MAAAA,CAAC,EAAE,SAXO;AAYVC,MAAAA,EAAE,EAAE,WAZM;AAaV/7K,MAAAA,CAAC,EAAE,QAbO;AAcVg8K,MAAAA,EAAE,EAAE;AAdM,KA1BsB;AA0CpCC,IAAAA,sBAAsB,EAAE,sBA1CY;AA2CpCC,IAAAA,OAAO,EAAE,UAAUtgE,MAAV,EAAkB;AACvB,UAAI99G,CAAC,GAAG89G,MAAM,GAAG,EAAjB;AAAA,UACIpU,MAAM,GACF,CAAC,EAAGoU,MAAM,GAAG,GAAV,GAAiB,EAAnB,CAAD,KAA4B,CAA5B,GACM,IADN,GAEM99G,CAAC,KAAK,CAAN,GACA,IADA,GAEAA,CAAC,KAAK,CAAN,GACA,IADA,GAEAA,CAAC,KAAK,CAAN,GACA,IADA,GAEA,IAVd;AAWA,aAAO89G,MAAM,GAAGpU,MAAhB;AACH,KAxDmC;AAyDpC20E,IAAAA,IAAI,EAAE;AACFC,MAAAA,GAAG,EAAE,CADH;AACM;AACRC,MAAAA,GAAG,EAAE,CAFH,CAEM;;AAFN;AAzD8B,GAA7B,CAAX;AA+DA,SAAOuF,IAAP;AAEH,CA1EC,CAAD;;;;;;;;;;ACJD;AACA;AACA;AAEA;;AAAE,WAAUxiD,MAAV,EAAkB98J,OAAlB,EAA2B;AAC1B,UACuCA,OAAO,CAACy2L,mBAAO,CAAC,sBAAD,CAAR,CAD9C,GAEA,CAFA;AAIF,CALC,EAKA,IALA,EAKO,UAAUtwK,MAAV,EAAkB;AAAE,eAAF,CAEvB;;AAEA,MAAIo5L,IAAI,GAAGp5L,MAAM,CAACoxL,YAAP,CAAoB,OAApB,EAA6B;AACpCC,IAAAA,MAAM,EAAE,wFAAwF9mM,KAAxF,CACJ,GADI,CAD4B;AAIpC+mM,IAAAA,WAAW,EAAE,kDAAkD/mM,KAAlD,CAAwD,GAAxD,CAJuB;AAKpCgnM,IAAAA,QAAQ,EAAE,2DAA2DhnM,KAA3D,CACN,GADM,CAL0B;AAQpCinM,IAAAA,aAAa,EAAE,8BAA8BjnM,KAA9B,CAAoC,GAApC,CARqB;AASpCknM,IAAAA,WAAW,EAAE,uBAAuBlnM,KAAvB,CAA6B,GAA7B,CATuB;AAUpCynM,IAAAA,cAAc,EAAE;AACZC,MAAAA,EAAE,EAAE,QADQ;AAEZC,MAAAA,GAAG,EAAE,WAFO;AAGZC,MAAAA,CAAC,EAAE,YAHS;AAIZC,MAAAA,EAAE,EAAE,aAJQ;AAKZC,MAAAA,GAAG,EAAE,oBALO;AAMZC,MAAAA,IAAI,EAAE;AANM,KAVoB;AAkBpCC,IAAAA,QAAQ,EAAE;AACNC,MAAAA,OAAO,EAAE,eADH;AAENC,MAAAA,OAAO,EAAE,kBAFH;AAGNC,MAAAA,QAAQ,EAAE,cAHJ;AAINC,MAAAA,OAAO,EAAE,mBAJH;AAKNC,MAAAA,QAAQ,EAAE,qBALJ;AAMNC,MAAAA,QAAQ,EAAE;AANJ,KAlB0B;AA0BpCC,IAAAA,YAAY,EAAE;AACVC,MAAAA,MAAM,EAAE,OADE;AAEVC,MAAAA,IAAI,EAAE,QAFI;AAGVl9K,MAAAA,CAAC,EAAE,eAHO;AAIVm9K,MAAAA,EAAE,EAAE,YAJM;AAKVj7K,MAAAA,CAAC,EAAE,UALO;AAMVk7K,MAAAA,EAAE,EAAE,YANM;AAOV9wC,MAAAA,CAAC,EAAE,SAPO;AAQV+wC,MAAAA,EAAE,EAAE,UARM;AASV/9K,MAAAA,CAAC,EAAE,OATO;AAUVg+K,MAAAA,EAAE,EAAE,SAVM;AAWVC,MAAAA,CAAC,EAAE,SAXO;AAYVC,MAAAA,EAAE,EAAE,WAZM;AAaV/7K,MAAAA,CAAC,EAAE,QAbO;AAcVg8K,MAAAA,EAAE,EAAE;AAdM,KA1BsB;AA0CpCC,IAAAA,sBAAsB,EAAE,sBA1CY;AA2CpCC,IAAAA,OAAO,EAAE,UAAUtgE,MAAV,EAAkB;AACvB,UAAI99G,CAAC,GAAG89G,MAAM,GAAG,EAAjB;AAAA,UACIpU,MAAM,GACF,CAAC,EAAGoU,MAAM,GAAG,GAAV,GAAiB,EAAnB,CAAD,KAA4B,CAA5B,GACM,IADN,GAEM99G,CAAC,KAAK,CAAN,GACA,IADA,GAEAA,CAAC,KAAK,CAAN,GACA,IADA,GAEAA,CAAC,KAAK,CAAN,GACA,IADA,GAEA,IAVd;AAWA,aAAO89G,MAAM,GAAGpU,MAAhB;AACH,KAxDmC;AAyDpC20E,IAAAA,IAAI,EAAE;AACFC,MAAAA,GAAG,EAAE,CADH;AACM;AACRC,MAAAA,GAAG,EAAE,CAFH,CAEM;;AAFN;AAzD8B,GAA7B,CAAX;AA+DA,SAAOwF,IAAP;AAEH,CA1EC,CAAD;;;;;;;;;;ACJD;AACA;AACA;AAEA;;AAAE,WAAUziD,MAAV,EAAkB98J,OAAlB,EAA2B;AAC1B,UACuCA,OAAO,CAACy2L,mBAAO,CAAC,sBAAD,CAAR,CAD9C,GAEA,CAFA;AAIF,CALC,EAKA,IALA,EAKO,UAAUtwK,MAAV,EAAkB;AAAE,eAAF,CAEvB;;AAEA,MAAIq5L,IAAI,GAAGr5L,MAAM,CAACoxL,YAAP,CAAoB,OAApB,EAA6B;AACpCC,IAAAA,MAAM,EAAE,wFAAwF9mM,KAAxF,CACJ,GADI,CAD4B;AAIpC+mM,IAAAA,WAAW,EAAE,kDAAkD/mM,KAAlD,CAAwD,GAAxD,CAJuB;AAKpCgnM,IAAAA,QAAQ,EAAE,2DAA2DhnM,KAA3D,CACN,GADM,CAL0B;AAQpCinM,IAAAA,aAAa,EAAE,8BAA8BjnM,KAA9B,CAAoC,GAApC,CARqB;AASpCknM,IAAAA,WAAW,EAAE,uBAAuBlnM,KAAvB,CAA6B,GAA7B,CATuB;AAUpCynM,IAAAA,cAAc,EAAE;AACZC,MAAAA,EAAE,EAAE,OADQ;AAEZC,MAAAA,GAAG,EAAE,UAFO;AAGZC,MAAAA,CAAC,EAAE,YAHS;AAIZC,MAAAA,EAAE,EAAE,aAJQ;AAKZC,MAAAA,GAAG,EAAE,mBALO;AAMZC,MAAAA,IAAI,EAAE;AANM,KAVoB;AAkBpCC,IAAAA,QAAQ,EAAE;AACNC,MAAAA,OAAO,EAAE,eADH;AAENC,MAAAA,OAAO,EAAE,kBAFH;AAGNC,MAAAA,QAAQ,EAAE,cAHJ;AAINC,MAAAA,OAAO,EAAE,mBAJH;AAKNC,MAAAA,QAAQ,EAAE,qBALJ;AAMNC,MAAAA,QAAQ,EAAE;AANJ,KAlB0B;AA0BpCC,IAAAA,YAAY,EAAE;AACVC,MAAAA,MAAM,EAAE,OADE;AAEVC,MAAAA,IAAI,EAAE,QAFI;AAGVl9K,MAAAA,CAAC,EAAE,eAHO;AAIVm9K,MAAAA,EAAE,EAAE,YAJM;AAKVj7K,MAAAA,CAAC,EAAE,UALO;AAMVk7K,MAAAA,EAAE,EAAE,YANM;AAOV9wC,MAAAA,CAAC,EAAE,SAPO;AAQV+wC,MAAAA,EAAE,EAAE,UARM;AASV/9K,MAAAA,CAAC,EAAE,OATO;AAUVg+K,MAAAA,EAAE,EAAE,SAVM;AAWVC,MAAAA,CAAC,EAAE,SAXO;AAYVC,MAAAA,EAAE,EAAE,WAZM;AAaV/7K,MAAAA,CAAC,EAAE,QAbO;AAcVg8K,MAAAA,EAAE,EAAE;AAdM,KA1BsB;AA0CpCC,IAAAA,sBAAsB,EAAE,sBA1CY;AA2CpCC,IAAAA,OAAO,EAAE,UAAUtgE,MAAV,EAAkB;AACvB,UAAI99G,CAAC,GAAG89G,MAAM,GAAG,EAAjB;AAAA,UACIpU,MAAM,GACF,CAAC,EAAGoU,MAAM,GAAG,GAAV,GAAiB,EAAnB,CAAD,KAA4B,CAA5B,GACM,IADN,GAEM99G,CAAC,KAAK,CAAN,GACA,IADA,GAEAA,CAAC,KAAK,CAAN,GACA,IADA,GAEAA,CAAC,KAAK,CAAN,GACA,IADA,GAEA,IAVd;AAWA,aAAO89G,MAAM,GAAGpU,MAAhB;AACH,KAxDmC;AAyDpC20E,IAAAA,IAAI,EAAE;AACFC,MAAAA,GAAG,EAAE,CADH;AACM;AACRC,MAAAA,GAAG,EAAE,CAFH,CAEM;;AAFN;AAzD8B,GAA7B,CAAX;AA+DA,SAAOyF,IAAP;AAEH,CA1EC,CAAD;;;;;;;;;;ACJD;AACA;AACA;AACA;AACA;AACA;AAEA;;AAAE,WAAU1iD,MAAV,EAAkB98J,OAAlB,EAA2B;AAC1B,UACuCA,OAAO,CAACy2L,mBAAO,CAAC,sBAAD,CAAR,CAD9C,GAEA,CAFA;AAIF,CALC,EAKA,IALA,EAKO,UAAUtwK,MAAV,EAAkB;AAAE,eAAF,CAEvB;;AAEA,MAAIs5L,EAAE,GAAGt5L,MAAM,CAACoxL,YAAP,CAAoB,IAApB,EAA0B;AAC/BC,IAAAA,MAAM,EAAE,6FAA6F9mM,KAA7F,CACJ,GADI,CADuB;AAI/B+mM,IAAAA,WAAW,EAAE,oDAAoD/mM,KAApD,CAA0D,GAA1D,CAJkB;AAK/BgnM,IAAAA,QAAQ,EAAE,qDAAqDhnM,KAArD,CAA2D,GAA3D,CALqB;AAM/BinM,IAAAA,aAAa,EAAE,gCAAgCjnM,KAAhC,CAAsC,GAAtC,CANgB;AAO/BknM,IAAAA,WAAW,EAAE,uBAAuBlnM,KAAvB,CAA6B,GAA7B,CAPkB;AAQ/BynM,IAAAA,cAAc,EAAE;AACZC,MAAAA,EAAE,EAAE,OADQ;AAEZC,MAAAA,GAAG,EAAE,UAFO;AAGZC,MAAAA,CAAC,EAAE,YAHS;AAIZC,MAAAA,EAAE,EAAE,2BAJQ;AAKZC,MAAAA,GAAG,EAAE,iCALO;AAMZC,MAAAA,IAAI,EAAE,0CANM;AAOZmF,MAAAA,IAAI,EAAE;AAPM,KARe;AAiB/B/F,IAAAA,aAAa,EAAE,aAjBgB;AAkB/BC,IAAAA,IAAI,EAAE,UAAU5tJ,KAAV,EAAiB;AACnB,aAAOA,KAAK,CAAChR,MAAN,CAAa,CAAb,EAAgBlgB,WAAhB,OAAkC,GAAzC;AACH,KApB8B;AAqB/B++K,IAAAA,QAAQ,EAAE,UAAUC,KAAV,EAAiBC,OAAjB,EAA0BC,OAA1B,EAAmC;AACzC,UAAIF,KAAK,GAAG,EAAZ,EAAgB;AACZ,eAAOE,OAAO,GAAG,QAAH,GAAc,QAA5B;AACH,OAFD,MAEO;AACH,eAAOA,OAAO,GAAG,QAAH,GAAc,QAA5B;AACH;AACJ,KA3B8B;AA4B/BQ,IAAAA,QAAQ,EAAE;AACNC,MAAAA,OAAO,EAAE,gBADH;AAENC,MAAAA,OAAO,EAAE,gBAFH;AAGNC,MAAAA,QAAQ,EAAE,eAHJ;AAINC,MAAAA,OAAO,EAAE,gBAJH;AAKNC,MAAAA,QAAQ,EAAE,0BALJ;AAMNC,MAAAA,QAAQ,EAAE;AANJ,KA5BqB;AAoC/BC,IAAAA,YAAY,EAAE;AACVC,MAAAA,MAAM,EAAE,SADE;AAEVC,MAAAA,IAAI,EAAE,UAFI;AAGVl9K,MAAAA,CAAC,EAAE,iBAHO;AAIVm9K,MAAAA,EAAE,EAAE,aAJM;AAKVj7K,MAAAA,CAAC,EAAE,YALO;AAMVk7K,MAAAA,EAAE,EAAE,YANM;AAOV9wC,MAAAA,CAAC,EAAE,UAPO;AAQV+wC,MAAAA,EAAE,EAAE,UARM;AASV/9K,MAAAA,CAAC,EAAE,UATO;AASK;AACfg+K,MAAAA,EAAE,EAAE,UAVM;AAWVC,MAAAA,CAAC,EAAE,YAXO;AAYVC,MAAAA,EAAE,EAAE,YAZM;AAaV/7K,MAAAA,CAAC,EAAE,UAbO;AAcVg8K,MAAAA,EAAE,EAAE;AAdM,KApCiB;AAoD/BC,IAAAA,sBAAsB,EAAE,UApDO;AAqD/BC,IAAAA,OAAO,EAAE,KArDsB;AAsD/BC,IAAAA,IAAI,EAAE;AACFC,MAAAA,GAAG,EAAE,CADH;AACM;AACRC,MAAAA,GAAG,EAAE,CAFH,CAEM;;AAFN;AAtDyB,GAA1B,CAAT;AA4DA,SAAO0F,EAAP;AAEH,CAvEC,CAAD;;;;;;;;;;ACPD;AACA;AAEA;;AAAE,WAAU3iD,MAAV,EAAkB98J,OAAlB,EAA2B;AAC1B,UACuCA,OAAO,CAACy2L,mBAAO,CAAC,sBAAD,CAAR,CAD9C,GAEA,CAFA;AAIF,CALC,EAKA,IALA,EAKO,UAAUtwK,MAAV,EAAkB;AAAE,eAAF,CAEvB;;AAEA,MAAIu5L,cAAc,GACV,8DAA8DhvM,KAA9D,CACI,GADJ,CADR;AAAA,MAII+mM,WAAW,GAAG,kDAAkD/mM,KAAlD,CAAwD,GAAxD,CAJlB;AAAA,MAKImsM,WAAW,GAAG,CACV,OADU,EAEV,OAFU,EAGV,OAHU,EAIV,OAJU,EAKV,OALU,EAMV,OANU,EAOV,OAPU,EAQV,OARU,EASV,OATU,EAUV,OAVU,EAWV,OAXU,EAYV,OAZU,CALlB;AAAA,MAmBIC,WAAW,GACP,kLApBR;AAsBA,MAAI6C,IAAI,GAAGx5L,MAAM,CAACoxL,YAAP,CAAoB,OAApB,EAA6B;AACpCC,IAAAA,MAAM,EAAE,2FAA2F9mM,KAA3F,CACJ,GADI,CAD4B;AAIpC+mM,IAAAA,WAAW,EAAE,UAAUt5K,CAAV,EAAa3X,MAAb,EAAqB;AAC9B,UAAI,CAAC2X,CAAL,EAAQ;AACJ,eAAOuhL,cAAP;AACH,OAFD,MAEO,IAAI,QAAQ14L,IAAR,CAAaR,MAAb,CAAJ,EAA0B;AAC7B,eAAOixL,WAAW,CAACt5K,CAAC,CAAC2gL,KAAF,EAAD,CAAlB;AACH,OAFM,MAEA;AACH,eAAOY,cAAc,CAACvhL,CAAC,CAAC2gL,KAAF,EAAD,CAArB;AACH;AACJ,KAZmC;AAapChC,IAAAA,WAAW,EAAEA,WAbuB;AAcpCT,IAAAA,gBAAgB,EAAES,WAdkB;AAepCC,IAAAA,iBAAiB,EACb,8FAhBgC;AAiBpCC,IAAAA,sBAAsB,EAClB,yFAlBgC;AAmBpCH,IAAAA,WAAW,EAAEA,WAnBuB;AAoBpCS,IAAAA,eAAe,EAAET,WApBmB;AAqBpCU,IAAAA,gBAAgB,EAAEV,WArBkB;AAsBpCnF,IAAAA,QAAQ,EAAE,uDAAuDhnM,KAAvD,CAA6D,GAA7D,CAtB0B;AAuBpCinM,IAAAA,aAAa,EAAE,qCAAqCjnM,KAArC,CAA2C,GAA3C,CAvBqB;AAwBpCknM,IAAAA,WAAW,EAAE,uBAAuBlnM,KAAvB,CAA6B,GAA7B,CAxBuB;AAyBpC4pM,IAAAA,kBAAkB,EAAE,IAzBgB;AA0BpCnC,IAAAA,cAAc,EAAE;AACZC,MAAAA,EAAE,EAAE,QADQ;AAEZC,MAAAA,GAAG,EAAE,WAFO;AAGZC,MAAAA,CAAC,EAAE,YAHS;AAIZC,MAAAA,EAAE,EAAE,uBAJQ;AAKZC,MAAAA,GAAG,EAAE,8BALO;AAMZC,MAAAA,IAAI,EAAE;AANM,KA1BoB;AAkCpCC,IAAAA,QAAQ,EAAE;AACNC,MAAAA,OAAO,EAAE,YAAY;AACjB,eAAO,eAAe,KAAKX,KAAL,OAAiB,CAAjB,GAAqB,GAArB,GAA2B,EAA1C,IAAgD,MAAvD;AACH,OAHK;AAINY,MAAAA,OAAO,EAAE,YAAY;AACjB,eAAO,kBAAkB,KAAKZ,KAAL,OAAiB,CAAjB,GAAqB,GAArB,GAA2B,EAA7C,IAAmD,MAA1D;AACH,OANK;AAONa,MAAAA,QAAQ,EAAE,YAAY;AAClB,eAAO,gBAAgB,KAAKb,KAAL,OAAiB,CAAjB,GAAqB,GAArB,GAA2B,EAA3C,IAAiD,MAAxD;AACH,OATK;AAUNc,MAAAA,OAAO,EAAE,YAAY;AACjB,eAAO,gBAAgB,KAAKd,KAAL,OAAiB,CAAjB,GAAqB,GAArB,GAA2B,EAA3C,IAAiD,MAAxD;AACH,OAZK;AAaNe,MAAAA,QAAQ,EAAE,YAAY;AAClB,eACI,4BACC,KAAKf,KAAL,OAAiB,CAAjB,GAAqB,GAArB,GAA2B,EAD5B,IAEA,MAHJ;AAKH,OAnBK;AAoBNgB,MAAAA,QAAQ,EAAE;AApBJ,KAlC0B;AAwDpCC,IAAAA,YAAY,EAAE;AACVC,MAAAA,MAAM,EAAE,OADE;AAEVC,MAAAA,IAAI,EAAE,SAFI;AAGVl9K,MAAAA,CAAC,EAAE,eAHO;AAIVm9K,MAAAA,EAAE,EAAE,aAJM;AAKVj7K,MAAAA,CAAC,EAAE,WALO;AAMVk7K,MAAAA,EAAE,EAAE,YANM;AAOV9wC,MAAAA,CAAC,EAAE,UAPO;AAQV+wC,MAAAA,EAAE,EAAE,UARM;AASV/9K,MAAAA,CAAC,EAAE,QATO;AAUVg+K,MAAAA,EAAE,EAAE,SAVM;AAWVx5C,MAAAA,CAAC,EAAE,YAXO;AAYV87C,MAAAA,EAAE,EAAE,YAZM;AAaVrC,MAAAA,CAAC,EAAE,QAbO;AAcVC,MAAAA,EAAE,EAAE,UAdM;AAeV/7K,MAAAA,CAAC,EAAE,QAfO;AAgBVg8K,MAAAA,EAAE,EAAE;AAhBM,KAxDsB;AA0EpCC,IAAAA,sBAAsB,EAAE,UA1EY;AA2EpCC,IAAAA,OAAO,EAAE,KA3E2B;AA4EpCC,IAAAA,IAAI,EAAE;AACFC,MAAAA,GAAG,EAAE,CADH;AACM;AACRC,MAAAA,GAAG,EAAE,CAFH,CAEM;;AAFN;AA5E8B,GAA7B,CAAX;AAkFA,SAAO4F,IAAP;AAEH,CAnHC,CAAD;;;;;;;;;;ACHD;AACA;AACA;AAEA;;AAAE,WAAU7iD,MAAV,EAAkB98J,OAAlB,EAA2B;AAC1B,UACuCA,OAAO,CAACy2L,mBAAO,CAAC,sBAAD,CAAR,CAD9C,GAEA,CAFA;AAIF,CALC,EAKA,IALA,EAKO,UAAUtwK,MAAV,EAAkB;AAAE,eAAF,CAEvB;;AAEA,MAAIu5L,cAAc,GACV,8DAA8DhvM,KAA9D,CACI,GADJ,CADR;AAAA,MAII+mM,WAAW,GAAG,kDAAkD/mM,KAAlD,CAAwD,GAAxD,CAJlB;AAAA,MAKImsM,WAAW,GAAG,CACV,OADU,EAEV,OAFU,EAGV,OAHU,EAIV,OAJU,EAKV,OALU,EAMV,OANU,EAOV,OAPU,EAQV,OARU,EASV,OATU,EAUV,OAVU,EAWV,OAXU,EAYV,OAZU,CALlB;AAAA,MAmBIC,WAAW,GACP,kLApBR;AAsBA,MAAI8C,IAAI,GAAGz5L,MAAM,CAACoxL,YAAP,CAAoB,OAApB,EAA6B;AACpCC,IAAAA,MAAM,EAAE,2FAA2F9mM,KAA3F,CACJ,GADI,CAD4B;AAIpC+mM,IAAAA,WAAW,EAAE,UAAUt5K,CAAV,EAAa3X,MAAb,EAAqB;AAC9B,UAAI,CAAC2X,CAAL,EAAQ;AACJ,eAAOuhL,cAAP;AACH,OAFD,MAEO,IAAI,QAAQ14L,IAAR,CAAaR,MAAb,CAAJ,EAA0B;AAC7B,eAAOixL,WAAW,CAACt5K,CAAC,CAAC2gL,KAAF,EAAD,CAAlB;AACH,OAFM,MAEA;AACH,eAAOY,cAAc,CAACvhL,CAAC,CAAC2gL,KAAF,EAAD,CAArB;AACH;AACJ,KAZmC;AAapChC,IAAAA,WAAW,EAAEA,WAbuB;AAcpCT,IAAAA,gBAAgB,EAAES,WAdkB;AAepCC,IAAAA,iBAAiB,EACb,8FAhBgC;AAiBpCC,IAAAA,sBAAsB,EAClB,yFAlBgC;AAmBpCH,IAAAA,WAAW,EAAEA,WAnBuB;AAoBpCS,IAAAA,eAAe,EAAET,WApBmB;AAqBpCU,IAAAA,gBAAgB,EAAEV,WArBkB;AAsBpCnF,IAAAA,QAAQ,EAAE,uDAAuDhnM,KAAvD,CAA6D,GAA7D,CAtB0B;AAuBpCinM,IAAAA,aAAa,EAAE,qCAAqCjnM,KAArC,CAA2C,GAA3C,CAvBqB;AAwBpCknM,IAAAA,WAAW,EAAE,uBAAuBlnM,KAAvB,CAA6B,GAA7B,CAxBuB;AAyBpC4pM,IAAAA,kBAAkB,EAAE,IAzBgB;AA0BpCnC,IAAAA,cAAc,EAAE;AACZC,MAAAA,EAAE,EAAE,MADQ;AAEZC,MAAAA,GAAG,EAAE,SAFO;AAGZC,MAAAA,CAAC,EAAE,YAHS;AAIZC,MAAAA,EAAE,EAAE,uBAJQ;AAKZC,MAAAA,GAAG,EAAE,4BALO;AAMZC,MAAAA,IAAI,EAAE;AANM,KA1BoB;AAkCpCC,IAAAA,QAAQ,EAAE;AACNC,MAAAA,OAAO,EAAE,YAAY;AACjB,eAAO,eAAe,KAAKX,KAAL,OAAiB,CAAjB,GAAqB,GAArB,GAA2B,EAA1C,IAAgD,MAAvD;AACH,OAHK;AAINY,MAAAA,OAAO,EAAE,YAAY;AACjB,eAAO,kBAAkB,KAAKZ,KAAL,OAAiB,CAAjB,GAAqB,GAArB,GAA2B,EAA7C,IAAmD,MAA1D;AACH,OANK;AAONa,MAAAA,QAAQ,EAAE,YAAY;AAClB,eAAO,gBAAgB,KAAKb,KAAL,OAAiB,CAAjB,GAAqB,GAArB,GAA2B,EAA3C,IAAiD,MAAxD;AACH,OATK;AAUNc,MAAAA,OAAO,EAAE,YAAY;AACjB,eAAO,gBAAgB,KAAKd,KAAL,OAAiB,CAAjB,GAAqB,GAArB,GAA2B,EAA3C,IAAiD,MAAxD;AACH,OAZK;AAaNe,MAAAA,QAAQ,EAAE,YAAY;AAClB,eACI,4BACC,KAAKf,KAAL,OAAiB,CAAjB,GAAqB,GAArB,GAA2B,EAD5B,IAEA,MAHJ;AAKH,OAnBK;AAoBNgB,MAAAA,QAAQ,EAAE;AApBJ,KAlC0B;AAwDpCC,IAAAA,YAAY,EAAE;AACVC,MAAAA,MAAM,EAAE,OADE;AAEVC,MAAAA,IAAI,EAAE,SAFI;AAGVl9K,MAAAA,CAAC,EAAE,eAHO;AAIVm9K,MAAAA,EAAE,EAAE,aAJM;AAKVj7K,MAAAA,CAAC,EAAE,WALO;AAMVk7K,MAAAA,EAAE,EAAE,YANM;AAOV9wC,MAAAA,CAAC,EAAE,UAPO;AAQV+wC,MAAAA,EAAE,EAAE,UARM;AASV/9K,MAAAA,CAAC,EAAE,QATO;AAUVg+K,MAAAA,EAAE,EAAE,SAVM;AAWVx5C,MAAAA,CAAC,EAAE,YAXO;AAYV87C,MAAAA,EAAE,EAAE,YAZM;AAaVrC,MAAAA,CAAC,EAAE,QAbO;AAcVC,MAAAA,EAAE,EAAE,UAdM;AAeV/7K,MAAAA,CAAC,EAAE,QAfO;AAgBVg8K,MAAAA,EAAE,EAAE;AAhBM,KAxDsB;AA0EpCC,IAAAA,sBAAsB,EAAE,UA1EY;AA2EpCC,IAAAA,OAAO,EAAE,KA3E2B;AA4EpCC,IAAAA,IAAI,EAAE;AACFC,MAAAA,GAAG,EAAE,CADH;AACM;AACRC,MAAAA,GAAG,EAAE,CAFH,CAEM;;AAFN,KA5E8B;AAgFpC8F,IAAAA,WAAW,EAAE;AAhFuB,GAA7B,CAAX;AAmFA,SAAOD,IAAP;AAEH,CApHC,CAAD;;;;;;;;;;ACJD;AACA;AACA;AACA;AAEA;;AAAE,WAAU9iD,MAAV,EAAkB98J,OAAlB,EAA2B;AAC1B,UACuCA,OAAO,CAACy2L,mBAAO,CAAC,sBAAD,CAAR,CAD9C,GAEA,CAFA;AAIF,CALC,EAKA,IALA,EAKO,UAAUtwK,MAAV,EAAkB;AAAE,eAAF,CAEvB;;AAEA,MAAIu5L,cAAc,GACV,8DAA8DhvM,KAA9D,CACI,GADJ,CADR;AAAA,MAII+mM,WAAW,GAAG,kDAAkD/mM,KAAlD,CAAwD,GAAxD,CAJlB;AAAA,MAKImsM,WAAW,GAAG,CACV,OADU,EAEV,OAFU,EAGV,OAHU,EAIV,OAJU,EAKV,OALU,EAMV,OANU,EAOV,OAPU,EAQV,OARU,EASV,OATU,EAUV,OAVU,EAWV,OAXU,EAYV,OAZU,CALlB;AAAA,MAmBIC,WAAW,GACP,kLApBR;AAsBA,MAAIgD,IAAI,GAAG35L,MAAM,CAACoxL,YAAP,CAAoB,OAApB,EAA6B;AACpCC,IAAAA,MAAM,EAAE,2FAA2F9mM,KAA3F,CACJ,GADI,CAD4B;AAIpC+mM,IAAAA,WAAW,EAAE,UAAUt5K,CAAV,EAAa3X,MAAb,EAAqB;AAC9B,UAAI,CAAC2X,CAAL,EAAQ;AACJ,eAAOuhL,cAAP;AACH,OAFD,MAEO,IAAI,QAAQ14L,IAAR,CAAaR,MAAb,CAAJ,EAA0B;AAC7B,eAAOixL,WAAW,CAACt5K,CAAC,CAAC2gL,KAAF,EAAD,CAAlB;AACH,OAFM,MAEA;AACH,eAAOY,cAAc,CAACvhL,CAAC,CAAC2gL,KAAF,EAAD,CAArB;AACH;AACJ,KAZmC;AAapChC,IAAAA,WAAW,EAAEA,WAbuB;AAcpCT,IAAAA,gBAAgB,EAAES,WAdkB;AAepCC,IAAAA,iBAAiB,EACb,8FAhBgC;AAiBpCC,IAAAA,sBAAsB,EAClB,yFAlBgC;AAmBpCH,IAAAA,WAAW,EAAEA,WAnBuB;AAoBpCS,IAAAA,eAAe,EAAET,WApBmB;AAqBpCU,IAAAA,gBAAgB,EAAEV,WArBkB;AAsBpCnF,IAAAA,QAAQ,EAAE,uDAAuDhnM,KAAvD,CAA6D,GAA7D,CAtB0B;AAuBpCinM,IAAAA,aAAa,EAAE,qCAAqCjnM,KAArC,CAA2C,GAA3C,CAvBqB;AAwBpCknM,IAAAA,WAAW,EAAE,uBAAuBlnM,KAAvB,CAA6B,GAA7B,CAxBuB;AAyBpC4pM,IAAAA,kBAAkB,EAAE,IAzBgB;AA0BpCnC,IAAAA,cAAc,EAAE;AACZC,MAAAA,EAAE,EAAE,QADQ;AAEZC,MAAAA,GAAG,EAAE,WAFO;AAGZC,MAAAA,CAAC,EAAE,YAHS;AAIZC,MAAAA,EAAE,EAAE,uBAJQ;AAKZC,MAAAA,GAAG,EAAE,8BALO;AAMZC,MAAAA,IAAI,EAAE;AANM,KA1BoB;AAkCpCC,IAAAA,QAAQ,EAAE;AACNC,MAAAA,OAAO,EAAE,YAAY;AACjB,eAAO,eAAe,KAAKX,KAAL,OAAiB,CAAjB,GAAqB,GAArB,GAA2B,EAA1C,IAAgD,MAAvD;AACH,OAHK;AAINY,MAAAA,OAAO,EAAE,YAAY;AACjB,eAAO,kBAAkB,KAAKZ,KAAL,OAAiB,CAAjB,GAAqB,GAArB,GAA2B,EAA7C,IAAmD,MAA1D;AACH,OANK;AAONa,MAAAA,QAAQ,EAAE,YAAY;AAClB,eAAO,gBAAgB,KAAKb,KAAL,OAAiB,CAAjB,GAAqB,GAArB,GAA2B,EAA3C,IAAiD,MAAxD;AACH,OATK;AAUNc,MAAAA,OAAO,EAAE,YAAY;AACjB,eAAO,gBAAgB,KAAKd,KAAL,OAAiB,CAAjB,GAAqB,GAArB,GAA2B,EAA3C,IAAiD,MAAxD;AACH,OAZK;AAaNe,MAAAA,QAAQ,EAAE,YAAY;AAClB,eACI,4BACC,KAAKf,KAAL,OAAiB,CAAjB,GAAqB,GAArB,GAA2B,EAD5B,IAEA,MAHJ;AAKH,OAnBK;AAoBNgB,MAAAA,QAAQ,EAAE;AApBJ,KAlC0B;AAwDpCC,IAAAA,YAAY,EAAE;AACVC,MAAAA,MAAM,EAAE,OADE;AAEVC,MAAAA,IAAI,EAAE,SAFI;AAGVl9K,MAAAA,CAAC,EAAE,eAHO;AAIVm9K,MAAAA,EAAE,EAAE,aAJM;AAKVj7K,MAAAA,CAAC,EAAE,WALO;AAMVk7K,MAAAA,EAAE,EAAE,YANM;AAOV9wC,MAAAA,CAAC,EAAE,UAPO;AAQV+wC,MAAAA,EAAE,EAAE,UARM;AASV/9K,MAAAA,CAAC,EAAE,QATO;AAUVg+K,MAAAA,EAAE,EAAE,SAVM;AAWVx5C,MAAAA,CAAC,EAAE,YAXO;AAYV87C,MAAAA,EAAE,EAAE,YAZM;AAaVrC,MAAAA,CAAC,EAAE,QAbO;AAcVC,MAAAA,EAAE,EAAE,UAdM;AAeV/7K,MAAAA,CAAC,EAAE,QAfO;AAgBVg8K,MAAAA,EAAE,EAAE;AAhBM,KAxDsB;AA0EpCC,IAAAA,sBAAsB,EAAE,UA1EY;AA2EpCC,IAAAA,OAAO,EAAE,KA3E2B;AA4EpCC,IAAAA,IAAI,EAAE;AACFC,MAAAA,GAAG,EAAE,CADH;AACM;AACRC,MAAAA,GAAG,EAAE,CAFH,CAEM;;AAFN;AA5E8B,GAA7B,CAAX;AAkFA,SAAO+F,IAAP;AAEH,CAnHC,CAAD;;;;;;;;;;ACLD;AACA;AACA;AAEA;;AAAE,WAAUhjD,MAAV,EAAkB98J,OAAlB,EAA2B;AAC1B,UACuCA,OAAO,CAACy2L,mBAAO,CAAC,sBAAD,CAAR,CAD9C,GAEA,CAFA;AAIF,CALC,EAKA,IALA,EAKO,UAAUtwK,MAAV,EAAkB;AAAE,eAAF,CAEvB;;AAEA,MAAIu5L,cAAc,GACV,8DAA8DhvM,KAA9D,CACI,GADJ,CADR;AAAA,MAII+mM,WAAW,GAAG,kDAAkD/mM,KAAlD,CAAwD,GAAxD,CAJlB;AAAA,MAKImsM,WAAW,GAAG,CACV,OADU,EAEV,OAFU,EAGV,OAHU,EAIV,OAJU,EAKV,OALU,EAMV,OANU,EAOV,OAPU,EAQV,OARU,EASV,OATU,EAUV,OAVU,EAWV,OAXU,EAYV,OAZU,CALlB;AAAA,MAmBIC,WAAW,GACP,kLApBR;AAsBA,MAAIiD,EAAE,GAAG55L,MAAM,CAACoxL,YAAP,CAAoB,IAApB,EAA0B;AAC/BC,IAAAA,MAAM,EAAE,2FAA2F9mM,KAA3F,CACJ,GADI,CADuB;AAI/B+mM,IAAAA,WAAW,EAAE,UAAUt5K,CAAV,EAAa3X,MAAb,EAAqB;AAC9B,UAAI,CAAC2X,CAAL,EAAQ;AACJ,eAAOuhL,cAAP;AACH,OAFD,MAEO,IAAI,QAAQ14L,IAAR,CAAaR,MAAb,CAAJ,EAA0B;AAC7B,eAAOixL,WAAW,CAACt5K,CAAC,CAAC2gL,KAAF,EAAD,CAAlB;AACH,OAFM,MAEA;AACH,eAAOY,cAAc,CAACvhL,CAAC,CAAC2gL,KAAF,EAAD,CAArB;AACH;AACJ,KAZ8B;AAa/BhC,IAAAA,WAAW,EAAEA,WAbkB;AAc/BT,IAAAA,gBAAgB,EAAES,WAda;AAe/BC,IAAAA,iBAAiB,EACb,8FAhB2B;AAiB/BC,IAAAA,sBAAsB,EAClB,yFAlB2B;AAmB/BH,IAAAA,WAAW,EAAEA,WAnBkB;AAoB/BS,IAAAA,eAAe,EAAET,WApBc;AAqB/BU,IAAAA,gBAAgB,EAAEV,WArBa;AAsB/BnF,IAAAA,QAAQ,EAAE,uDAAuDhnM,KAAvD,CAA6D,GAA7D,CAtBqB;AAuB/BinM,IAAAA,aAAa,EAAE,qCAAqCjnM,KAArC,CAA2C,GAA3C,CAvBgB;AAwB/BknM,IAAAA,WAAW,EAAE,uBAAuBlnM,KAAvB,CAA6B,GAA7B,CAxBkB;AAyB/B4pM,IAAAA,kBAAkB,EAAE,IAzBW;AA0B/BnC,IAAAA,cAAc,EAAE;AACZC,MAAAA,EAAE,EAAE,MADQ;AAEZC,MAAAA,GAAG,EAAE,SAFO;AAGZC,MAAAA,CAAC,EAAE,YAHS;AAIZC,MAAAA,EAAE,EAAE,uBAJQ;AAKZC,MAAAA,GAAG,EAAE,4BALO;AAMZC,MAAAA,IAAI,EAAE;AANM,KA1Be;AAkC/BC,IAAAA,QAAQ,EAAE;AACNC,MAAAA,OAAO,EAAE,YAAY;AACjB,eAAO,eAAe,KAAKX,KAAL,OAAiB,CAAjB,GAAqB,GAArB,GAA2B,EAA1C,IAAgD,MAAvD;AACH,OAHK;AAINY,MAAAA,OAAO,EAAE,YAAY;AACjB,eAAO,kBAAkB,KAAKZ,KAAL,OAAiB,CAAjB,GAAqB,GAArB,GAA2B,EAA7C,IAAmD,MAA1D;AACH,OANK;AAONa,MAAAA,QAAQ,EAAE,YAAY;AAClB,eAAO,gBAAgB,KAAKb,KAAL,OAAiB,CAAjB,GAAqB,GAArB,GAA2B,EAA3C,IAAiD,MAAxD;AACH,OATK;AAUNc,MAAAA,OAAO,EAAE,YAAY;AACjB,eAAO,gBAAgB,KAAKd,KAAL,OAAiB,CAAjB,GAAqB,GAArB,GAA2B,EAA3C,IAAiD,MAAxD;AACH,OAZK;AAaNe,MAAAA,QAAQ,EAAE,YAAY;AAClB,eACI,4BACC,KAAKf,KAAL,OAAiB,CAAjB,GAAqB,GAArB,GAA2B,EAD5B,IAEA,MAHJ;AAKH,OAnBK;AAoBNgB,MAAAA,QAAQ,EAAE;AApBJ,KAlCqB;AAwD/BC,IAAAA,YAAY,EAAE;AACVC,MAAAA,MAAM,EAAE,OADE;AAEVC,MAAAA,IAAI,EAAE,SAFI;AAGVl9K,MAAAA,CAAC,EAAE,eAHO;AAIVm9K,MAAAA,EAAE,EAAE,aAJM;AAKVj7K,MAAAA,CAAC,EAAE,WALO;AAMVk7K,MAAAA,EAAE,EAAE,YANM;AAOV9wC,MAAAA,CAAC,EAAE,UAPO;AAQV+wC,MAAAA,EAAE,EAAE,UARM;AASV/9K,MAAAA,CAAC,EAAE,QATO;AAUVg+K,MAAAA,EAAE,EAAE,SAVM;AAWVx5C,MAAAA,CAAC,EAAE,YAXO;AAYV87C,MAAAA,EAAE,EAAE,YAZM;AAaVrC,MAAAA,CAAC,EAAE,QAbO;AAcVC,MAAAA,EAAE,EAAE,UAdM;AAeV/7K,MAAAA,CAAC,EAAE,QAfO;AAgBVg8K,MAAAA,EAAE,EAAE;AAhBM,KAxDiB;AA0E/BC,IAAAA,sBAAsB,EAAE,UA1EO;AA2E/BC,IAAAA,OAAO,EAAE,KA3EsB;AA4E/BC,IAAAA,IAAI,EAAE;AACFC,MAAAA,GAAG,EAAE,CADH;AACM;AACRC,MAAAA,GAAG,EAAE,CAFH,CAEM;;AAFN,KA5EyB;AAgF/B8F,IAAAA,WAAW,EAAE;AAhFkB,GAA1B,CAAT;AAmFA,SAAOE,EAAP;AAEH,CApHC,CAAD;;;;;;;;;;ACJD;AACA;AACA;AACA;AAEA;;AAAE,WAAUjjD,MAAV,EAAkB98J,OAAlB,EAA2B;AAC1B,UACuCA,OAAO,CAACy2L,mBAAO,CAAC,sBAAD,CAAR,CAD9C,GAEA,CAFA;AAIF,CALC,EAKA,IALA,EAKO,UAAUtwK,MAAV,EAAkB;AAAE,eAAF,CAEvB;;AAEA,WAASg4L,mBAAT,CAA6B7kE,MAA7B,EAAqC6gE,aAArC,EAAoD1iL,GAApD,EAAyD2iL,QAAzD,EAAmE;AAC/D,QAAI5zL,MAAM,GAAG;AACTyV,MAAAA,CAAC,EAAE,CAAC,cAAD,EAAiB,aAAjB,EAAgC,eAAhC,CADM;AAETm9K,MAAAA,EAAE,EAAE,CAAC9/D,MAAM,GAAG,SAAV,EAAqBA,MAAM,GAAG,UAA9B,CAFK;AAGTn7G,MAAAA,CAAC,EAAE,CAAC,YAAD,EAAe,WAAf,CAHM;AAITk7K,MAAAA,EAAE,EAAE,CAAC//D,MAAM,GAAG,SAAV,EAAqBA,MAAM,GAAG,UAA9B,CAJK;AAKTivB,MAAAA,CAAC,EAAE,CAAC,WAAD,EAAc,WAAd,EAA2B,UAA3B,CALM;AAMT+wC,MAAAA,EAAE,EAAE,CAAChgE,MAAM,GAAG,QAAV,EAAoBA,MAAM,GAAG,QAA7B,CANK;AAOT/9G,MAAAA,CAAC,EAAE,CAAC,WAAD,EAAc,UAAd,CAPM;AAQTi+K,MAAAA,CAAC,EAAE,CAAC,SAAD,EAAY,UAAZ,EAAwB,SAAxB,CARM;AASTC,MAAAA,EAAE,EAAE,CAACngE,MAAM,GAAG,MAAV,EAAkBA,MAAM,GAAG,OAA3B,CATK;AAUT57G,MAAAA,CAAC,EAAE,CAAC,WAAD,EAAc,OAAd,EAAuB,WAAvB,CAVM;AAWTg8K,MAAAA,EAAE,EAAE,CAACpgE,MAAM,GAAG,QAAV,EAAoBA,MAAM,GAAG,SAA7B;AAXK,KAAb;;AAaA,QAAI6gE,aAAJ,EAAmB;AACf,aAAO3zL,MAAM,CAACiR,GAAD,CAAN,CAAY,CAAZ,IAAiBjR,MAAM,CAACiR,GAAD,CAAN,CAAY,CAAZ,CAAjB,GAAkCjR,MAAM,CAACiR,GAAD,CAAN,CAAY,CAAZ,CAAzC;AACH;;AACD,WAAO2iL,QAAQ,GAAG5zL,MAAM,CAACiR,GAAD,CAAN,CAAY,CAAZ,CAAH,GAAoBjR,MAAM,CAACiR,GAAD,CAAN,CAAY,CAAZ,CAAnC;AACH;;AAED,MAAIuoL,EAAE,GAAG75L,MAAM,CAACoxL,YAAP,CAAoB,IAApB,EAA0B;AAC/BC,IAAAA,MAAM,EAAE,6FAA6F9mM,KAA7F,CACJ,GADI,CADuB;AAI/B+mM,IAAAA,WAAW,EACP,6DAA6D/mM,KAA7D,CAAmE,GAAnE,CAL2B;AAM/BgnM,IAAAA,QAAQ,EACJ,iEAAiEhnM,KAAjE,CACI,GADJ,CAP2B;AAU/BinM,IAAAA,aAAa,EAAE,gBAAgBjnM,KAAhB,CAAsB,GAAtB,CAVgB;AAW/BknM,IAAAA,WAAW,EAAE,gBAAgBlnM,KAAhB,CAAsB,GAAtB,CAXkB;AAY/BynM,IAAAA,cAAc,EAAE;AACZC,MAAAA,EAAE,EAAE,MADQ;AAEZC,MAAAA,GAAG,EAAE,SAFO;AAGZC,MAAAA,CAAC,EAAE,YAHS;AAIZC,MAAAA,EAAE,EAAE,cAJQ;AAKZC,MAAAA,GAAG,EAAE,mBALO;AAMZC,MAAAA,IAAI,EAAE;AANM,KAZe;AAoB/BC,IAAAA,QAAQ,EAAE;AACNC,MAAAA,OAAO,EAAE,YADH;AAENC,MAAAA,OAAO,EAAE,aAFH;AAGNC,MAAAA,QAAQ,EAAE,oBAHJ;AAINC,MAAAA,OAAO,EAAE,YAJH;AAKNC,MAAAA,QAAQ,EAAE,mBALJ;AAMNC,MAAAA,QAAQ,EAAE;AANJ,KApBqB;AA4B/BC,IAAAA,YAAY,EAAE;AACVC,MAAAA,MAAM,EAAE,WADE;AAEVC,MAAAA,IAAI,EAAE,WAFI;AAGVl9K,MAAAA,CAAC,EAAEkiL,mBAHO;AAIV/E,MAAAA,EAAE,EAAE+E,mBAJM;AAKVhgL,MAAAA,CAAC,EAAEggL,mBALO;AAMV9E,MAAAA,EAAE,EAAE8E,mBANM;AAOV51C,MAAAA,CAAC,EAAE41C,mBAPO;AAQV7E,MAAAA,EAAE,EAAE6E,mBARM;AASV5iL,MAAAA,CAAC,EAAE4iL,mBATO;AAUV5E,MAAAA,EAAE,EAAE,UAVM;AAWVC,MAAAA,CAAC,EAAE2E,mBAXO;AAYV1E,MAAAA,EAAE,EAAE0E,mBAZM;AAaVzgL,MAAAA,CAAC,EAAEygL,mBAbO;AAcVzE,MAAAA,EAAE,EAAEyE;AAdM,KA5BiB;AA4C/BxE,IAAAA,sBAAsB,EAAE,WA5CO;AA6C/BC,IAAAA,OAAO,EAAE,KA7CsB;AA8C/BC,IAAAA,IAAI,EAAE;AACFC,MAAAA,GAAG,EAAE,CADH;AACM;AACRC,MAAAA,GAAG,EAAE,CAFH,CAEM;;AAFN;AA9CyB,GAA1B,CAAT;AAoDA,SAAOiG,EAAP;AAEH,CAnFC,CAAD;;;;;;;;;;ACLD;AACA;AACA;AAEA;;AAAE,WAAUljD,MAAV,EAAkB98J,OAAlB,EAA2B;AAC1B,UACuCA,OAAO,CAACy2L,mBAAO,CAAC,sBAAD,CAAR,CAD9C,GAEA,CAFA;AAIF,CALC,EAKA,IALA,EAKO,UAAUtwK,MAAV,EAAkB;AAAE,eAAF,CAEvB;;AAEA,MAAI85L,EAAE,GAAG95L,MAAM,CAACoxL,YAAP,CAAoB,IAApB,EAA0B;AAC/BC,IAAAA,MAAM,EAAE,+FAA+F9mM,KAA/F,CACJ,GADI,CADuB;AAI/B+mM,IAAAA,WAAW,EACP,8DAA8D/mM,KAA9D,CACI,GADJ,CAL2B;AAQ/B4rM,IAAAA,gBAAgB,EAAE,IARa;AAS/B5E,IAAAA,QAAQ,EACJ,sEAAsEhnM,KAAtE,CACI,GADJ,CAV2B;AAa/BinM,IAAAA,aAAa,EAAE,8BAA8BjnM,KAA9B,CAAoC,GAApC,CAbgB;AAc/BknM,IAAAA,WAAW,EAAE,uBAAuBlnM,KAAvB,CAA6B,GAA7B,CAdkB;AAe/B4pM,IAAAA,kBAAkB,EAAE,IAfW;AAgB/BnC,IAAAA,cAAc,EAAE;AACZC,MAAAA,EAAE,EAAE,OADQ;AAEZC,MAAAA,GAAG,EAAE,UAFO;AAGZC,MAAAA,CAAC,EAAE,YAHS;AAIZC,MAAAA,EAAE,EAAE,yBAJQ;AAKZC,MAAAA,GAAG,EAAE,+BALO;AAMZC,MAAAA,IAAI,EAAE,qCANM;AAOZoF,MAAAA,CAAC,EAAE,UAPS;AAQZH,MAAAA,EAAE,EAAE,mBARQ;AASZC,MAAAA,GAAG,EAAE,yBATO;AAUZC,MAAAA,IAAI,EAAE;AAVM,KAhBe;AA4B/BlF,IAAAA,QAAQ,EAAE;AACNC,MAAAA,OAAO,EAAE,iBADH;AAENC,MAAAA,OAAO,EAAE,kBAFH;AAGNC,MAAAA,QAAQ,EAAE,eAHJ;AAINC,MAAAA,OAAO,EAAE,iBAJH;AAKNC,MAAAA,QAAQ,EAAE,yBALJ;AAMNC,MAAAA,QAAQ,EAAE;AANJ,KA5BqB;AAoC/BC,IAAAA,YAAY,EAAE;AACVC,MAAAA,MAAM,EAAE,UADE;AAEVC,MAAAA,IAAI,EAAE,UAFI;AAGVl9K,MAAAA,CAAC,EAAE,gBAHO;AAIVm9K,MAAAA,EAAE,EAAE,YAJM;AAKVj7K,MAAAA,CAAC,EAAE,YALO;AAMVk7K,MAAAA,EAAE,EAAE,WANM;AAOV9wC,MAAAA,CAAC,EAAE,UAPO;AAQV+wC,MAAAA,EAAE,EAAE,SARM;AASV/9K,MAAAA,CAAC,EAAE,UATO;AAUVg+K,MAAAA,EAAE,EAAE,SAVM;AAWVC,MAAAA,CAAC,EAAE,cAXO;AAYVC,MAAAA,EAAE,EAAE,aAZM;AAaV/7K,MAAAA,CAAC,EAAE,UAbO;AAcVg8K,MAAAA,EAAE,EAAE;AAdM,KApCiB;AAoD/BC,IAAAA,sBAAsB,EAAE,WApDO;AAqD/BC,IAAAA,OAAO,EAAE,KArDsB;AAsD/BC,IAAAA,IAAI,EAAE;AACFC,MAAAA,GAAG,EAAE,CADH;AACM;AACRC,MAAAA,GAAG,EAAE,CAFH,CAEM;;AAFN;AAtDyB,GAA1B,CAAT;AA4DA,SAAOkG,EAAP;AAEH,CAvEC,CAAD;;;;;;;;;;ACJD;AACA;AACA;AAEA;;AAAE,WAAUnjD,MAAV,EAAkB98J,OAAlB,EAA2B;AAC1B,UACuCA,OAAO,CAACy2L,mBAAO,CAAC,sBAAD,CAAR,CAD9C,GAEA,CAFA;AAIF,CALC,EAKA,IALA,EAKO,UAAUtwK,MAAV,EAAkB;AAAE,eAAF,CAEvB;;AAEA,MAAIu0L,SAAS,GAAG;AACR,OAAG,GADK;AAER,OAAG,GAFK;AAGR,OAAG,GAHK;AAIR,OAAG,GAJK;AAKR,OAAG,GALK;AAMR,OAAG,GANK;AAOR,OAAG,GAPK;AAQR,OAAG,GARK;AASR,OAAG,GATK;AAUR,OAAG;AAVK,GAAhB;AAAA,MAYII,SAAS,GAAG;AACR,SAAK,GADG;AAER,SAAK,GAFG;AAGR,SAAK,GAHG;AAIR,SAAK,GAJG;AAKR,SAAK,GALG;AAMR,SAAK,GANG;AAOR,SAAK,GAPG;AAQR,SAAK,GARG;AASR,SAAK,GATG;AAUR,SAAK;AAVG,GAZhB;AAyBA,MAAIoF,EAAE,GAAG/5L,MAAM,CAACoxL,YAAP,CAAoB,IAApB,EAA0B;AAC/BC,IAAAA,MAAM,EAAE,wEAAwE9mM,KAAxE,CACJ,GADI,CADuB;AAI/B+mM,IAAAA,WAAW,EACP,wEAAwE/mM,KAAxE,CACI,GADJ,CAL2B;AAQ/BgnM,IAAAA,QAAQ,EACJ,oEAAoEhnM,KAApE,CACI,GADJ,CAT2B;AAY/BinM,IAAAA,aAAa,EACT,oEAAoEjnM,KAApE,CACI,GADJ,CAb2B;AAgB/BknM,IAAAA,WAAW,EAAE,gBAAgBlnM,KAAhB,CAAsB,GAAtB,CAhBkB;AAiB/B4pM,IAAAA,kBAAkB,EAAE,IAjBW;AAkB/BnC,IAAAA,cAAc,EAAE;AACZC,MAAAA,EAAE,EAAE,OADQ;AAEZC,MAAAA,GAAG,EAAE,UAFO;AAGZC,MAAAA,CAAC,EAAE,YAHS;AAIZC,MAAAA,EAAE,EAAE,aAJQ;AAKZC,MAAAA,GAAG,EAAE,mBALO;AAMZC,MAAAA,IAAI,EAAE;AANM,KAlBe;AA0B/BZ,IAAAA,aAAa,EAAE,uBA1BgB;AA2B/BC,IAAAA,IAAI,EAAE,UAAU5tJ,KAAV,EAAiB;AACnB,aAAO,aAAaljC,IAAb,CAAkBkjC,KAAlB,CAAP;AACH,KA7B8B;AA8B/B6tJ,IAAAA,QAAQ,EAAE,UAAUpvE,IAAV,EAAgB4xE,MAAhB,EAAwBrC,OAAxB,EAAiC;AACvC,UAAIvvE,IAAI,GAAG,EAAX,EAAe;AACX,eAAO,YAAP;AACH,OAFD,MAEO;AACH,eAAO,YAAP;AACH;AACJ,KApC8B;AAqC/B+vE,IAAAA,QAAQ,EAAE;AACNC,MAAAA,OAAO,EAAE,iBADH;AAENC,MAAAA,OAAO,EAAE,gBAFH;AAGNC,MAAAA,QAAQ,EAAE,gBAHJ;AAINC,MAAAA,OAAO,EAAE,iBAJH;AAKNC,MAAAA,QAAQ,EAAE,sBALJ;AAMNC,MAAAA,QAAQ,EAAE;AANJ,KArCqB;AA6C/BC,IAAAA,YAAY,EAAE;AACVC,MAAAA,MAAM,EAAE,OADE;AAEVC,MAAAA,IAAI,EAAE,QAFI;AAGVl9K,MAAAA,CAAC,EAAE,WAHO;AAIVm9K,MAAAA,EAAE,EAAE,UAJM;AAKVj7K,MAAAA,CAAC,EAAE,UALO;AAMVk7K,MAAAA,EAAE,EAAE,UANM;AAOV9wC,MAAAA,CAAC,EAAE,SAPO;AAQV+wC,MAAAA,EAAE,EAAE,SARM;AASV/9K,MAAAA,CAAC,EAAE,QATO;AAUVg+K,MAAAA,EAAE,EAAE,QAVM;AAWVC,MAAAA,CAAC,EAAE,QAXO;AAYVC,MAAAA,EAAE,EAAE,QAZM;AAaV/7K,MAAAA,CAAC,EAAE,QAbO;AAcVg8K,MAAAA,EAAE,EAAE;AAdM,KA7CiB;AA6D/BkB,IAAAA,QAAQ,EAAE,UAAU5K,MAAV,EAAkB;AACxB,aAAOA,MAAM,CACRh/L,OADE,CACM,QADN,EACgB,UAAU6qE,KAAV,EAAiB;AAChC,eAAOi/H,SAAS,CAACj/H,KAAD,CAAhB;AACH,OAHE,EAIF7qE,OAJE,CAIM,IAJN,EAIY,GAJZ,CAAP;AAKH,KAnE8B;AAoE/BwpM,IAAAA,UAAU,EAAE,UAAUxK,MAAV,EAAkB;AAC1B,aAAOA,MAAM,CACRh/L,OADE,CACM,KADN,EACa,UAAU6qE,KAAV,EAAiB;AAC7B,eAAO6+H,SAAS,CAAC7+H,KAAD,CAAhB;AACH,OAHE,EAIF7qE,OAJE,CAIM,IAJN,EAIY,GAJZ,CAAP;AAKH,KA1E8B;AA2E/B2oM,IAAAA,sBAAsB,EAAE,UA3EO;AA4E/BC,IAAAA,OAAO,EAAE,KA5EsB;AA6E/BC,IAAAA,IAAI,EAAE;AACFC,MAAAA,GAAG,EAAE,CADH;AACM;AACRC,MAAAA,GAAG,EAAE,EAFH,CAEO;;AAFP;AA7EyB,GAA1B,CAAT;AAmFA,SAAOmG,EAAP;AAEH,CAvHC,CAAD;;;;;;;;;;ACJD;AACA;AACA;AAEA;;AAAE,WAAUpjD,MAAV,EAAkB98J,OAAlB,EAA2B;AAC1B,UACuCA,OAAO,CAACy2L,mBAAO,CAAC,sBAAD,CAAR,CAD9C,GAEA,CAFA;AAIF,CALC,EAKA,IALA,EAKO,UAAUtwK,MAAV,EAAkB;AAAE,eAAF,CAEvB;;AAEA,MAAIg6L,WAAW,GACP,wEAAwEzvM,KAAxE,CACI,GADJ,CADR;AAAA,MAII0vM,aAAa,GAAG,CACZ,OADY,EAEZ,OAFY,EAGZ,QAHY,EAIZ,QAJY,EAKZ,QALY,EAMZ,QANY,EAOZ,QAPY,EAQZD,WAAW,CAAC,CAAD,CARC,EASZA,WAAW,CAAC,CAAD,CATC,EAUZA,WAAW,CAAC,CAAD,CAVC,CAJpB;;AAgBA,WAAS7uN,SAAT,CAAmBgoJ,MAAnB,EAA2B6gE,aAA3B,EAA0C1iL,GAA1C,EAA+C2iL,QAA/C,EAAyD;AACrD,QAAI92M,MAAM,GAAG,EAAb;;AACA,YAAQm0B,GAAR;AACI,WAAK,GAAL;AACI,eAAO2iL,QAAQ,GAAG,mBAAH,GAAyB,iBAAxC;;AACJ,WAAK,IAAL;AACI92M,QAAAA,MAAM,GAAG82M,QAAQ,GAAG,UAAH,GAAgB,UAAjC;AACA;;AACJ,WAAK,GAAL;AACI,eAAOA,QAAQ,GAAG,UAAH,GAAgB,UAA/B;;AACJ,WAAK,IAAL;AACI92M,QAAAA,MAAM,GAAG82M,QAAQ,GAAG,UAAH,GAAgB,WAAjC;AACA;;AACJ,WAAK,GAAL;AACI,eAAOA,QAAQ,GAAG,QAAH,GAAc,OAA7B;;AACJ,WAAK,IAAL;AACI92M,QAAAA,MAAM,GAAG82M,QAAQ,GAAG,QAAH,GAAc,QAA/B;AACA;;AACJ,WAAK,GAAL;AACI,eAAOA,QAAQ,GAAG,QAAH,GAAc,OAA7B;;AACJ,WAAK,IAAL;AACI92M,QAAAA,MAAM,GAAG82M,QAAQ,GAAG,QAAH,GAAc,QAA/B;AACA;;AACJ,WAAK,GAAL;AACI,eAAOA,QAAQ,GAAG,WAAH,GAAiB,UAAhC;;AACJ,WAAK,IAAL;AACI92M,QAAAA,MAAM,GAAG82M,QAAQ,GAAG,WAAH,GAAiB,WAAlC;AACA;;AACJ,WAAK,GAAL;AACI,eAAOA,QAAQ,GAAG,QAAH,GAAc,OAA7B;;AACJ,WAAK,IAAL;AACI92M,QAAAA,MAAM,GAAG82M,QAAQ,GAAG,QAAH,GAAc,QAA/B;AACA;AA9BR;;AAgCA92M,IAAAA,MAAM,GAAG+8M,YAAY,CAAC/mE,MAAD,EAAS8gE,QAAT,CAAZ,GAAiC,GAAjC,GAAuC92M,MAAhD;AACA,WAAOA,MAAP;AACH;;AACD,WAAS+8M,YAAT,CAAsB/mE,MAAtB,EAA8B8gE,QAA9B,EAAwC;AACpC,WAAO9gE,MAAM,GAAG,EAAT,GACD8gE,QAAQ,GACJgG,aAAa,CAAC9mE,MAAD,CADT,GAEJ6mE,WAAW,CAAC7mE,MAAD,CAHd,GAIDA,MAJN;AAKH;;AAED,MAAIgnE,EAAE,GAAGn6L,MAAM,CAACoxL,YAAP,CAAoB,IAApB,EAA0B;AAC/BC,IAAAA,MAAM,EAAE,2GAA2G9mM,KAA3G,CACJ,GADI,CADuB;AAI/B+mM,IAAAA,WAAW,EACP,uEAAuE/mM,KAAvE,CACI,GADJ,CAL2B;AAQ/BgnM,IAAAA,QAAQ,EACJ,qEAAqEhnM,KAArE,CACI,GADJ,CAT2B;AAY/BinM,IAAAA,aAAa,EAAE,uBAAuBjnM,KAAvB,CAA6B,GAA7B,CAZgB;AAa/BknM,IAAAA,WAAW,EAAE,uBAAuBlnM,KAAvB,CAA6B,GAA7B,CAbkB;AAc/BynM,IAAAA,cAAc,EAAE;AACZC,MAAAA,EAAE,EAAE,OADQ;AAEZC,MAAAA,GAAG,EAAE,UAFO;AAGZC,MAAAA,CAAC,EAAE,YAHS;AAIZC,MAAAA,EAAE,EAAE,kBAJQ;AAKZC,MAAAA,GAAG,EAAE,+BALO;AAMZC,MAAAA,IAAI,EAAE,qCANM;AAOZoF,MAAAA,CAAC,EAAE,UAPS;AAQZH,MAAAA,EAAE,EAAE,aARQ;AASZC,MAAAA,GAAG,EAAE,0BATO;AAUZC,MAAAA,IAAI,EAAE;AAVM,KAde;AA0B/BlF,IAAAA,QAAQ,EAAE;AACNC,MAAAA,OAAO,EAAE,mBADH;AAENC,MAAAA,OAAO,EAAE,qBAFH;AAGNC,MAAAA,QAAQ,EAAE,eAHJ;AAINC,MAAAA,OAAO,EAAE,kBAJH;AAKNC,MAAAA,QAAQ,EAAE,2BALJ;AAMNC,MAAAA,QAAQ,EAAE;AANJ,KA1BqB;AAkC/BC,IAAAA,YAAY,EAAE;AACVC,MAAAA,MAAM,EAAE,WADE;AAEVC,MAAAA,IAAI,EAAE,WAFI;AAGVl9K,MAAAA,CAAC,EAAE3qC,SAHO;AAIV8nN,MAAAA,EAAE,EAAE9nN,SAJM;AAKV6sC,MAAAA,CAAC,EAAE7sC,SALO;AAMV+nN,MAAAA,EAAE,EAAE/nN,SANM;AAOVi3K,MAAAA,CAAC,EAAEj3K,SAPO;AAQVgoN,MAAAA,EAAE,EAAEhoN,SARM;AASViqC,MAAAA,CAAC,EAAEjqC,SATO;AAUVioN,MAAAA,EAAE,EAAEjoN,SAVM;AAWVkoN,MAAAA,CAAC,EAAEloN,SAXO;AAYVmoN,MAAAA,EAAE,EAAEnoN,SAZM;AAaVosC,MAAAA,CAAC,EAAEpsC,SAbO;AAcVooN,MAAAA,EAAE,EAAEpoN;AAdM,KAlCiB;AAkD/BqoN,IAAAA,sBAAsB,EAAE,WAlDO;AAmD/BC,IAAAA,OAAO,EAAE,KAnDsB;AAoD/BC,IAAAA,IAAI,EAAE;AACFC,MAAAA,GAAG,EAAE,CADH;AACM;AACRC,MAAAA,GAAG,EAAE,CAFH,CAEM;;AAFN;AApDyB,GAA1B,CAAT;AA0DA,SAAOuG,EAAP;AAEH,CAlIC,CAAD;;;;;;;;;;ACJD;AACA;AACA;AACA;AAEA;;AAAE,WAAUxjD,MAAV,EAAkB98J,OAAlB,EAA2B;AAC1B,UACuCA,OAAO,CAACy2L,mBAAO,CAAC,sBAAD,CAAR,CAD9C,GAEA,CAFA;AAIF,CALC,EAKA,IALA,EAKO,UAAUtwK,MAAV,EAAkB;AAAE,eAAF,CAEvB;;AAEA,MAAIo6L,GAAG,GAAGp6L,MAAM,CAACoxL,YAAP,CAAoB,KAApB,EAA2B;AACjCC,IAAAA,MAAM,EAAE,0FAA0F9mM,KAA1F,CACJ,GADI,CADyB;AAIjC+mM,IAAAA,WAAW,EAAE,kDAAkD/mM,KAAlD,CAAwD,GAAxD,CAJoB;AAKjCgnM,IAAAA,QAAQ,EAAE,yDAAyDhnM,KAAzD,CACN,GADM,CALuB;AAQjCinM,IAAAA,aAAa,EAAE,8BAA8BjnM,KAA9B,CAAoC,GAApC,CARkB;AASjCknM,IAAAA,WAAW,EAAE,wBAAwBlnM,KAAxB,CAA8B,GAA9B,CAToB;AAUjCynM,IAAAA,cAAc,EAAE;AACZC,MAAAA,EAAE,EAAE,OADQ;AAEZC,MAAAA,GAAG,EAAE,UAFO;AAGZC,MAAAA,CAAC,EAAE,WAHS;AAIZC,MAAAA,EAAE,EAAE,cAJQ;AAKZC,MAAAA,GAAG,EAAE,oBALO;AAMZC,MAAAA,IAAI,EAAE;AANM,KAViB;AAkBjCC,IAAAA,QAAQ,EAAE;AACNC,MAAAA,OAAO,EAAE,mBADH;AAENC,MAAAA,OAAO,EAAE,eAFH;AAGNC,MAAAA,QAAQ,EAAE,yBAHJ;AAINC,MAAAA,OAAO,EAAE,cAJH;AAKNC,MAAAA,QAAQ,EAAE,2BALJ;AAMNC,MAAAA,QAAQ,EAAE;AANJ,KAlBuB;AA0BjCC,IAAAA,YAAY,EAAE;AACVC,MAAAA,MAAM,EAAE,eADE;AAEVC,MAAAA,IAAI,EAAE,kBAFI;AAGVl9K,MAAAA,CAAC,EAAE,eAHO;AAIVm9K,MAAAA,EAAE,EAAE,YAJM;AAKVj7K,MAAAA,CAAC,EAAE,cALO;AAMVk7K,MAAAA,EAAE,EAAE,WANM;AAOV9wC,MAAAA,CAAC,EAAE,YAPO;AAQV+wC,MAAAA,EAAE,EAAE,SARM;AASV/9K,MAAAA,CAAC,EAAE,YATO;AAUVg+K,MAAAA,EAAE,EAAE,SAVM;AAWVC,MAAAA,CAAC,EAAE,aAXO;AAYVC,MAAAA,EAAE,EAAE,UAZM;AAaV/7K,MAAAA,CAAC,EAAE,YAbO;AAcVg8K,MAAAA,EAAE,EAAE;AAdM,KA1BmB;AA0CjCC,IAAAA,sBAAsB,EAAE,SA1CS;AA2CjCC,IAAAA,OAAO,EAAE,UAAUtgE,MAAV,EAAkB;AACvB,aAAOA,MAAP;AACH,KA7CgC;AA8CjCugE,IAAAA,IAAI,EAAE;AACFC,MAAAA,GAAG,EAAE,CADH;AACM;AACRC,MAAAA,GAAG,EAAE,CAFH,CAEM;;AAFN;AA9C2B,GAA3B,CAAV;AAoDA,SAAOwG,GAAP;AAEH,CA/DC,CAAD;;;;;;;;;;ACLD;AACA;AACA;AACA;AAEA;;AAAE,WAAUzjD,MAAV,EAAkB98J,OAAlB,EAA2B;AAC1B,UACuCA,OAAO,CAACy2L,mBAAO,CAAC,sBAAD,CAAR,CAD9C,GAEA,CAFA;AAIF,CALC,EAKA,IALA,EAKO,UAAUtwK,MAAV,EAAkB;AAAE,eAAF,CAEvB;;AAEA,MAAIq6L,EAAE,GAAGr6L,MAAM,CAACoxL,YAAP,CAAoB,IAApB,EAA0B;AAC/BC,IAAAA,MAAM,EAAE,qFAAqF9mM,KAArF,CACJ,GADI,CADuB;AAI/B+mM,IAAAA,WAAW,EAAE,kDAAkD/mM,KAAlD,CAAwD,GAAxD,CAJkB;AAK/BgnM,IAAAA,QAAQ,EACJ,4EAA4EhnM,KAA5E,CACI,GADJ,CAN2B;AAS/BinM,IAAAA,aAAa,EAAE,8BAA8BjnM,KAA9B,CAAoC,GAApC,CATgB;AAU/BknM,IAAAA,WAAW,EAAE,uBAAuBlnM,KAAvB,CAA6B,GAA7B,CAVkB;AAW/BynM,IAAAA,cAAc,EAAE;AACZC,MAAAA,EAAE,EAAE,OADQ;AAEZC,MAAAA,GAAG,EAAE,UAFO;AAGZC,MAAAA,CAAC,EAAE,YAHS;AAIZC,MAAAA,EAAE,EAAE,aAJQ;AAKZC,MAAAA,GAAG,EAAE,mBALO;AAMZC,MAAAA,IAAI,EAAE;AANM,KAXe;AAmB/BC,IAAAA,QAAQ,EAAE;AACNC,MAAAA,OAAO,EAAE,gBADH;AAENC,MAAAA,OAAO,EAAE,mBAFH;AAGNC,MAAAA,QAAQ,EAAE,eAHJ;AAINC,MAAAA,OAAO,EAAE,iBAJH;AAKNC,MAAAA,QAAQ,EAAE,uBALJ;AAMNC,MAAAA,QAAQ,EAAE;AANJ,KAnBqB;AA2B/BC,IAAAA,YAAY,EAAE;AACVC,MAAAA,MAAM,EAAE,OADE;AAEVC,MAAAA,IAAI,EAAE,WAFI;AAGVl9K,MAAAA,CAAC,EAAE,WAHO;AAIVm9K,MAAAA,EAAE,EAAE,aAJM;AAKVj7K,MAAAA,CAAC,EAAE,cALO;AAMVk7K,MAAAA,EAAE,EAAE,aANM;AAOV9wC,MAAAA,CAAC,EAAE,UAPO;AAQV+wC,MAAAA,EAAE,EAAE,UARM;AASV/9K,MAAAA,CAAC,EAAE,WATO;AAUVg+K,MAAAA,EAAE,EAAE,UAVM;AAWVC,MAAAA,CAAC,EAAE,aAXO;AAYVC,MAAAA,EAAE,EAAE,YAZM;AAaV/7K,MAAAA,CAAC,EAAE,SAbO;AAcVg8K,MAAAA,EAAE,EAAE;AAdM,KA3BiB;AA2C/BC,IAAAA,sBAAsB,EAAE,WA3CO;AA4C/BC,IAAAA,OAAO,EAAE,KA5CsB;AA6C/BC,IAAAA,IAAI,EAAE;AACFC,MAAAA,GAAG,EAAE,CADH;AACM;AACRC,MAAAA,GAAG,EAAE,CAFH,CAEM;;AAFN;AA7CyB,GAA1B,CAAT;AAmDA,SAAOyG,EAAP;AAEH,CA9DC,CAAD;;;;;;;;;;ACLD;AACA;AACA;AAEA;;AAAE,WAAU1jD,MAAV,EAAkB98J,OAAlB,EAA2B;AAC1B,UACuCA,OAAO,CAACy2L,mBAAO,CAAC,sBAAD,CAAR,CAD9C,GAEA,CAFA;AAIF,CALC,EAKA,IALA,EAKO,UAAUtwK,MAAV,EAAkB;AAAE,eAAF,CAEvB;;AAEA,MAAIs6L,IAAI,GAAGt6L,MAAM,CAACoxL,YAAP,CAAoB,OAApB,EAA6B;AACpCC,IAAAA,MAAM,EAAE,uFAAuF9mM,KAAvF,CACJ,GADI,CAD4B;AAIpC+mM,IAAAA,WAAW,EACP,iEAAiE/mM,KAAjE,CACI,GADJ,CALgC;AAQpC4rM,IAAAA,gBAAgB,EAAE,IARkB;AASpC5E,IAAAA,QAAQ,EAAE,sDAAsDhnM,KAAtD,CAA4D,GAA5D,CAT0B;AAUpCinM,IAAAA,aAAa,EAAE,qCAAqCjnM,KAArC,CAA2C,GAA3C,CAVqB;AAWpCknM,IAAAA,WAAW,EAAE,uBAAuBlnM,KAAvB,CAA6B,GAA7B,CAXuB;AAYpC4pM,IAAAA,kBAAkB,EAAE,IAZgB;AAapCnC,IAAAA,cAAc,EAAE;AACZC,MAAAA,EAAE,EAAE,OADQ;AAEZC,MAAAA,GAAG,EAAE,UAFO;AAGZC,MAAAA,CAAC,EAAE,YAHS;AAIZC,MAAAA,EAAE,EAAE,aAJQ;AAKZC,MAAAA,GAAG,EAAE,mBALO;AAMZC,MAAAA,IAAI,EAAE;AANM,KAboB;AAqBpCC,IAAAA,QAAQ,EAAE;AACNC,MAAAA,OAAO,EAAE,oBADH;AAENC,MAAAA,OAAO,EAAE,eAFH;AAGNC,MAAAA,QAAQ,EAAE,aAHJ;AAINC,MAAAA,OAAO,EAAE,aAJH;AAKNC,MAAAA,QAAQ,EAAE,qBALJ;AAMNC,MAAAA,QAAQ,EAAE;AANJ,KArB0B;AA6BpCC,IAAAA,YAAY,EAAE;AACVC,MAAAA,MAAM,EAAE,SADE;AAEVC,MAAAA,IAAI,EAAE,WAFI;AAGVl9K,MAAAA,CAAC,EAAE,mBAHO;AAIVm9K,MAAAA,EAAE,EAAE,aAJM;AAKVj7K,MAAAA,CAAC,EAAE,YALO;AAMVk7K,MAAAA,EAAE,EAAE,YANM;AAOV9wC,MAAAA,CAAC,EAAE,WAPO;AAQV+wC,MAAAA,EAAE,EAAE,WARM;AASV/9K,MAAAA,CAAC,EAAE,SATO;AAUVg+K,MAAAA,EAAE,EAAE,UAVM;AAWVC,MAAAA,CAAC,EAAE,SAXO;AAYVC,MAAAA,EAAE,EAAE,SAZM;AAaV/7K,MAAAA,CAAC,EAAE,OAbO;AAcVg8K,MAAAA,EAAE,EAAE;AAdM,KA7BsB;AA6CpCC,IAAAA,sBAAsB,EAAE,eA7CY;AA8CpCC,IAAAA,OAAO,EAAE,UAAUtgE,MAAV,EAAkBqiE,MAAlB,EAA0B;AAC/B,cAAQA,MAAR;AACI;AACA;AACA,aAAK,GAAL;AACA,aAAK,GAAL;AACA,aAAK,GAAL;AACA,aAAK,KAAL;AACA,aAAK,GAAL;AACI,iBAAOriE,MAAM,IAAIA,MAAM,KAAK,CAAX,GAAe,IAAf,GAAsB,GAA1B,CAAb;AAEJ;;AACA,aAAK,GAAL;AACA,aAAK,GAAL;AACI,iBAAOA,MAAM,IAAIA,MAAM,KAAK,CAAX,GAAe,IAAf,GAAsB,GAA1B,CAAb;AAbR;AAeH;AA9DmC,GAA7B,CAAX;AAiEA,SAAOmnE,IAAP;AAEH,CA5EC,CAAD;;;;;;;;;;ACJD;AACA;AACA;AAEA;;AAAE,WAAU3jD,MAAV,EAAkB98J,OAAlB,EAA2B;AAC1B,UACuCA,OAAO,CAACy2L,mBAAO,CAAC,sBAAD,CAAR,CAD9C,GAEA,CAFA;AAIF,CALC,EAKA,IALA,EAKO,UAAUtwK,MAAV,EAAkB;AAAE,eAAF,CAEvB;;AAEA,MAAIu6L,IAAI,GAAGv6L,MAAM,CAACoxL,YAAP,CAAoB,OAApB,EAA6B;AACpCC,IAAAA,MAAM,EAAE,uFAAuF9mM,KAAvF,CACJ,GADI,CAD4B;AAIpC+mM,IAAAA,WAAW,EACP,iEAAiE/mM,KAAjE,CACI,GADJ,CALgC;AAQpC4rM,IAAAA,gBAAgB,EAAE,IARkB;AASpC5E,IAAAA,QAAQ,EAAE,sDAAsDhnM,KAAtD,CAA4D,GAA5D,CAT0B;AAUpCinM,IAAAA,aAAa,EAAE,qCAAqCjnM,KAArC,CAA2C,GAA3C,CAVqB;AAWpCknM,IAAAA,WAAW,EAAE,uBAAuBlnM,KAAvB,CAA6B,GAA7B,CAXuB;AAYpC4pM,IAAAA,kBAAkB,EAAE,IAZgB;AAapCnC,IAAAA,cAAc,EAAE;AACZC,MAAAA,EAAE,EAAE,OADQ;AAEZC,MAAAA,GAAG,EAAE,UAFO;AAGZC,MAAAA,CAAC,EAAE,YAHS;AAIZC,MAAAA,EAAE,EAAE,aAJQ;AAKZC,MAAAA,GAAG,EAAE,mBALO;AAMZC,MAAAA,IAAI,EAAE;AANM,KAboB;AAqBpCC,IAAAA,QAAQ,EAAE;AACNC,MAAAA,OAAO,EAAE,oBADH;AAENC,MAAAA,OAAO,EAAE,eAFH;AAGNC,MAAAA,QAAQ,EAAE,aAHJ;AAINC,MAAAA,OAAO,EAAE,aAJH;AAKNC,MAAAA,QAAQ,EAAE,qBALJ;AAMNC,MAAAA,QAAQ,EAAE;AANJ,KArB0B;AA6BpCC,IAAAA,YAAY,EAAE;AACVC,MAAAA,MAAM,EAAE,SADE;AAEVC,MAAAA,IAAI,EAAE,WAFI;AAGVl9K,MAAAA,CAAC,EAAE,mBAHO;AAIVm9K,MAAAA,EAAE,EAAE,aAJM;AAKVj7K,MAAAA,CAAC,EAAE,YALO;AAMVk7K,MAAAA,EAAE,EAAE,YANM;AAOV9wC,MAAAA,CAAC,EAAE,WAPO;AAQV+wC,MAAAA,EAAE,EAAE,WARM;AASV/9K,MAAAA,CAAC,EAAE,SATO;AAUVg+K,MAAAA,EAAE,EAAE,UAVM;AAWVC,MAAAA,CAAC,EAAE,SAXO;AAYVC,MAAAA,EAAE,EAAE,SAZM;AAaV/7K,MAAAA,CAAC,EAAE,OAbO;AAcVg8K,MAAAA,EAAE,EAAE;AAdM,KA7BsB;AA6CpCC,IAAAA,sBAAsB,EAAE,eA7CY;AA8CpCC,IAAAA,OAAO,EAAE,UAAUtgE,MAAV,EAAkBqiE,MAAlB,EAA0B;AAC/B,cAAQA,MAAR;AACI;AACA;AACA,aAAK,GAAL;AACA,aAAK,GAAL;AACA,aAAK,GAAL;AACA,aAAK,KAAL;AACA,aAAK,GAAL;AACI,iBAAOriE,MAAM,IAAIA,MAAM,KAAK,CAAX,GAAe,IAAf,GAAsB,GAA1B,CAAb;AAEJ;;AACA,aAAK,GAAL;AACA,aAAK,GAAL;AACI,iBAAOA,MAAM,IAAIA,MAAM,KAAK,CAAX,GAAe,IAAf,GAAsB,GAA1B,CAAb;AAbR;AAeH,KA9DmC;AA+DpCugE,IAAAA,IAAI,EAAE;AACFC,MAAAA,GAAG,EAAE,CADH;AACM;AACRC,MAAAA,GAAG,EAAE,CAFH,CAEM;;AAFN;AA/D8B,GAA7B,CAAX;AAqEA,SAAO2G,IAAP;AAEH,CAhFC,CAAD;;;;;;;;;;ACJD;AACA;AACA;AAEA;;AAAE,WAAU5jD,MAAV,EAAkB98J,OAAlB,EAA2B;AAC1B,UACuCA,OAAO,CAACy2L,mBAAO,CAAC,sBAAD,CAAR,CAD9C,GAEA,CAFA;AAIF,CALC,EAKA,IALA,EAKO,UAAUtwK,MAAV,EAAkB;AAAE,eAAF,CAEvB;;AAEA,MAAI42L,iBAAiB,GACb,0FADR;AAAA,MAEIC,sBAAsB,GAClB,mFAHR;AAAA,MAIIF,WAAW,GACP,wKALR;AAAA,MAMID,WAAW,GAAG,CACV,QADU,EAEV,QAFU,EAGV,QAHU,EAIV,OAJU,EAKV,OALU,EAMV,QANU,EAOV,QAPU,EAQV,QARU,EASV,QATU,EAUV,OAVU,EAWV,OAXU,EAYV,OAZU,CANlB;AAqBA,MAAI8D,EAAE,GAAGx6L,MAAM,CAACoxL,YAAP,CAAoB,IAApB,EAA0B;AAC/BC,IAAAA,MAAM,EAAE,uFAAuF9mM,KAAvF,CACJ,GADI,CADuB;AAI/B+mM,IAAAA,WAAW,EACP,iEAAiE/mM,KAAjE,CACI,GADJ,CAL2B;AAQ/BosM,IAAAA,WAAW,EAAEA,WARkB;AAS/BT,IAAAA,gBAAgB,EAAES,WATa;AAU/BC,IAAAA,iBAAiB,EAAEA,iBAVY;AAW/BC,IAAAA,sBAAsB,EAAEA,sBAXO;AAY/BH,IAAAA,WAAW,EAAEA,WAZkB;AAa/BS,IAAAA,eAAe,EAAET,WAbc;AAc/BU,IAAAA,gBAAgB,EAAEV,WAda;AAe/BnF,IAAAA,QAAQ,EAAE,sDAAsDhnM,KAAtD,CAA4D,GAA5D,CAfqB;AAgB/BinM,IAAAA,aAAa,EAAE,qCAAqCjnM,KAArC,CAA2C,GAA3C,CAhBgB;AAiB/BknM,IAAAA,WAAW,EAAE,uBAAuBlnM,KAAvB,CAA6B,GAA7B,CAjBkB;AAkB/B4pM,IAAAA,kBAAkB,EAAE,IAlBW;AAmB/BnC,IAAAA,cAAc,EAAE;AACZC,MAAAA,EAAE,EAAE,OADQ;AAEZC,MAAAA,GAAG,EAAE,UAFO;AAGZC,MAAAA,CAAC,EAAE,YAHS;AAIZC,MAAAA,EAAE,EAAE,aAJQ;AAKZC,MAAAA,GAAG,EAAE,mBALO;AAMZC,MAAAA,IAAI,EAAE;AANM,KAnBe;AA2B/BC,IAAAA,QAAQ,EAAE;AACNC,MAAAA,OAAO,EAAE,oBADH;AAENC,MAAAA,OAAO,EAAE,eAFH;AAGNC,MAAAA,QAAQ,EAAE,aAHJ;AAINC,MAAAA,OAAO,EAAE,aAJH;AAKNC,MAAAA,QAAQ,EAAE,qBALJ;AAMNC,MAAAA,QAAQ,EAAE;AANJ,KA3BqB;AAmC/BC,IAAAA,YAAY,EAAE;AACVC,MAAAA,MAAM,EAAE,SADE;AAEVC,MAAAA,IAAI,EAAE,WAFI;AAGVl9K,MAAAA,CAAC,EAAE,mBAHO;AAIVm9K,MAAAA,EAAE,EAAE,aAJM;AAKVj7K,MAAAA,CAAC,EAAE,YALO;AAMVk7K,MAAAA,EAAE,EAAE,YANM;AAOV9wC,MAAAA,CAAC,EAAE,WAPO;AAQV+wC,MAAAA,EAAE,EAAE,WARM;AASV/9K,MAAAA,CAAC,EAAE,SATO;AAUVg+K,MAAAA,EAAE,EAAE,UAVM;AAWVx5C,MAAAA,CAAC,EAAE,aAXO;AAYV87C,MAAAA,EAAE,EAAE,aAZM;AAaVrC,MAAAA,CAAC,EAAE,SAbO;AAcVC,MAAAA,EAAE,EAAE,SAdM;AAeV/7K,MAAAA,CAAC,EAAE,OAfO;AAgBVg8K,MAAAA,EAAE,EAAE;AAhBM,KAnCiB;AAqD/BC,IAAAA,sBAAsB,EAAE,cArDO;AAsD/BC,IAAAA,OAAO,EAAE,UAAUtgE,MAAV,EAAkBqiE,MAAlB,EAA0B;AAC/B,cAAQA,MAAR;AACI;AACA;AACA;AACA,aAAK,GAAL;AACI,iBAAOriE,MAAM,IAAIA,MAAM,KAAK,CAAX,GAAe,IAAf,GAAsB,EAA1B,CAAb;AAEJ;;AACA;AACA,aAAK,GAAL;AACA,aAAK,GAAL;AACA,aAAK,KAAL;AACA,aAAK,GAAL;AACI,iBAAOA,MAAM,IAAIA,MAAM,KAAK,CAAX,GAAe,IAAf,GAAsB,GAA1B,CAAb;AAEJ;;AACA,aAAK,GAAL;AACA,aAAK,GAAL;AACI,iBAAOA,MAAM,IAAIA,MAAM,KAAK,CAAX,GAAe,IAAf,GAAsB,GAA1B,CAAb;AAlBR;AAoBH,KA3E8B;AA4E/BugE,IAAAA,IAAI,EAAE;AACFC,MAAAA,GAAG,EAAE,CADH;AACM;AACRC,MAAAA,GAAG,EAAE,CAFH,CAEM;;AAFN;AA5EyB,GAA1B,CAAT;AAkFA,SAAO4G,EAAP;AAEH,CAlHC,CAAD;;;;;;;;;;ACJD;AACA;AACA;AAEA;;AAAE,WAAU7jD,MAAV,EAAkB98J,OAAlB,EAA2B;AAC1B,UACuCA,OAAO,CAACy2L,mBAAO,CAAC,sBAAD,CAAR,CAD9C,GAEA,CAFA;AAIF,CALC,EAKA,IALA,EAKO,UAAUtwK,MAAV,EAAkB;AAAE,eAAF,CAEvB;;AAEA,MAAIy6L,mBAAmB,GACf,6DAA6DlwM,KAA7D,CAAmE,GAAnE,CADR;AAAA,MAEImwM,sBAAsB,GAClB,kDAAkDnwM,KAAlD,CAAwD,GAAxD,CAHR;AAKA,MAAIowM,EAAE,GAAG36L,MAAM,CAACoxL,YAAP,CAAoB,IAApB,EAA0B;AAC/BC,IAAAA,MAAM,EAAE,iGAAiG9mM,KAAjG,CACJ,GADI,CADuB;AAI/B+mM,IAAAA,WAAW,EAAE,UAAUt5K,CAAV,EAAa3X,MAAb,EAAqB;AAC9B,UAAI,CAAC2X,CAAL,EAAQ;AACJ,eAAOyiL,mBAAP;AACH,OAFD,MAEO,IAAI,QAAQ55L,IAAR,CAAaR,MAAb,CAAJ,EAA0B;AAC7B,eAAOq6L,sBAAsB,CAAC1iL,CAAC,CAAC2gL,KAAF,EAAD,CAA7B;AACH,OAFM,MAEA;AACH,eAAO8B,mBAAmB,CAACziL,CAAC,CAAC2gL,KAAF,EAAD,CAA1B;AACH;AACJ,KAZ8B;AAa/BxC,IAAAA,gBAAgB,EAAE,IAba;AAc/B5E,IAAAA,QAAQ,EAAE,wDAAwDhnM,KAAxD,CACN,GADM,CAdqB;AAiB/BinM,IAAAA,aAAa,EAAE,8BAA8BjnM,KAA9B,CAAoC,GAApC,CAjBgB;AAkB/BknM,IAAAA,WAAW,EAAE,uBAAuBlnM,KAAvB,CAA6B,GAA7B,CAlBkB;AAmB/B4pM,IAAAA,kBAAkB,EAAE,IAnBW;AAoB/BnC,IAAAA,cAAc,EAAE;AACZC,MAAAA,EAAE,EAAE,OADQ;AAEZC,MAAAA,GAAG,EAAE,UAFO;AAGZC,MAAAA,CAAC,EAAE,YAHS;AAIZC,MAAAA,EAAE,EAAE,aAJQ;AAKZC,MAAAA,GAAG,EAAE,mBALO;AAMZC,MAAAA,IAAI,EAAE;AANM,KApBe;AA4B/BC,IAAAA,QAAQ,EAAE;AACNC,MAAAA,OAAO,EAAE,eADH;AAENC,MAAAA,OAAO,EAAE,eAFH;AAGNC,MAAAA,QAAQ,EAAE,cAHJ;AAINC,MAAAA,OAAO,EAAE,gBAJH;AAKNC,MAAAA,QAAQ,EAAE,uBALJ;AAMNC,MAAAA,QAAQ,EAAE;AANJ,KA5BqB;AAoC/BC,IAAAA,YAAY,EAAE;AACVC,MAAAA,MAAM,EAAE,QADE;AAEVC,MAAAA,IAAI,EAAE,QAFI;AAGVl9K,MAAAA,CAAC,EAAE,kBAHO;AAIVm9K,MAAAA,EAAE,EAAE,aAJM;AAKVj7K,MAAAA,CAAC,EAAE,WALO;AAMVk7K,MAAAA,EAAE,EAAE,YANM;AAOV9wC,MAAAA,CAAC,EAAE,UAPO;AAQV+wC,MAAAA,EAAE,EAAE,UARM;AASV/9K,MAAAA,CAAC,EAAE,SATO;AAUVg+K,MAAAA,EAAE,EAAE,UAVM;AAWVC,MAAAA,CAAC,EAAE,YAXO;AAYVC,MAAAA,EAAE,EAAE,YAZM;AAaV/7K,MAAAA,CAAC,EAAE,UAbO;AAcVg8K,MAAAA,EAAE,EAAE;AAdM,KApCiB;AAoD/BC,IAAAA,sBAAsB,EAAE,iBApDO;AAqD/BC,IAAAA,OAAO,EAAE,UAAUtgE,MAAV,EAAkB;AACvB,aACIA,MAAM,IACLA,MAAM,KAAK,CAAX,IAAgBA,MAAM,KAAK,CAA3B,IAAgCA,MAAM,IAAI,EAA1C,GAA+C,KAA/C,GAAuD,IADlD,CADV;AAIH,KA1D8B;AA2D/BugE,IAAAA,IAAI,EAAE;AACFC,MAAAA,GAAG,EAAE,CADH;AACM;AACRC,MAAAA,GAAG,EAAE,CAFH,CAEM;;AAFN;AA3DyB,GAA1B,CAAT;AAiEA,SAAO+G,EAAP;AAEH,CAjFC,CAAD;;;;;;;;;;ACJD;AACA;AACA;AAEA;;AAAE,WAAUhkD,MAAV,EAAkB98J,OAAlB,EAA2B;AAC1B,UACuCA,OAAO,CAACy2L,mBAAO,CAAC,sBAAD,CAAR,CAD9C,GAEA,CAFA;AAIF,CALC,EAKA,IALA,EAKO,UAAUtwK,MAAV,EAAkB;AAAE,eAAF,CAEvB;;AAEA,MAAIqxL,MAAM,GAAG,CACL,QADK,EAEL,SAFK,EAGL,OAHK,EAIL,SAJK,EAKL,WALK,EAML,WANK,EAOL,MAPK,EAQL,QARK,EASL,cATK,EAUL,kBAVK,EAWL,SAXK,EAYL,SAZK,CAAb;AAAA,MAcIC,WAAW,GAAG,CACV,KADU,EAEV,OAFU,EAGV,MAHU,EAIV,KAJU,EAKV,MALU,EAMV,OANU,EAOV,MAPU,EAQV,KARU,EASV,MATU,EAUV,MAVU,EAWV,MAXU,EAYV,MAZU,CAdlB;AAAA,MA4BIC,QAAQ,GAAG,CACP,cADO,EAEP,UAFO,EAGP,UAHO,EAIP,aAJO,EAKP,WALO,EAMP,WANO,EAOP,aAPO,CA5Bf;AAAA,MAqCIC,aAAa,GAAG,CAAC,MAAD,EAAS,MAAT,EAAiB,OAAjB,EAA0B,MAA1B,EAAkC,MAAlC,EAA0C,OAA1C,EAAmD,MAAnD,CArCpB;AAAA,MAsCIC,WAAW,GAAG,CAAC,IAAD,EAAO,IAAP,EAAa,IAAb,EAAmB,IAAnB,EAAyB,IAAzB,EAA+B,GAA/B,EAAoC,IAApC,CAtClB;AAwCA,MAAI7lN,EAAE,GAAGo0B,MAAM,CAACoxL,YAAP,CAAoB,IAApB,EAA0B;AAC/BC,IAAAA,MAAM,EAAEA,MADuB;AAE/BC,IAAAA,WAAW,EAAEA,WAFkB;AAG/B6E,IAAAA,gBAAgB,EAAE,IAHa;AAI/B5E,IAAAA,QAAQ,EAAEA,QAJqB;AAK/BC,IAAAA,aAAa,EAAEA,aALgB;AAM/BC,IAAAA,WAAW,EAAEA,WANkB;AAO/BO,IAAAA,cAAc,EAAE;AACZC,MAAAA,EAAE,EAAE,OADQ;AAEZC,MAAAA,GAAG,EAAE,UAFO;AAGZC,MAAAA,CAAC,EAAE,YAHS;AAIZC,MAAAA,EAAE,EAAE,aAJQ;AAKZC,MAAAA,GAAG,EAAE,mBALO;AAMZC,MAAAA,IAAI,EAAE;AANM,KAPe;AAe/BC,IAAAA,QAAQ,EAAE;AACNC,MAAAA,OAAO,EAAE,eADH;AAENC,MAAAA,OAAO,EAAE,iBAFH;AAGNC,MAAAA,QAAQ,EAAE,cAHJ;AAINC,MAAAA,OAAO,EAAE,cAJH;AAKNC,MAAAA,QAAQ,EAAE,0BALJ;AAMNC,MAAAA,QAAQ,EAAE;AANJ,KAfqB;AAuB/BC,IAAAA,YAAY,EAAE;AACVC,MAAAA,MAAM,EAAE,MADE;AAEVC,MAAAA,IAAI,EAAE,WAFI;AAGVl9K,MAAAA,CAAC,EAAE,eAHO;AAIVm9K,MAAAA,EAAE,EAAE,YAJM;AAKVj7K,MAAAA,CAAC,EAAE,SALO;AAMVk7K,MAAAA,EAAE,EAAE,YANM;AAOV9wC,MAAAA,CAAC,EAAE,gBAPO;AAQV+wC,MAAAA,EAAE,EAAE,mBARM;AASV/9K,MAAAA,CAAC,EAAE,IATO;AAUVg+K,MAAAA,EAAE,EAAE,OAVM;AAWVC,MAAAA,CAAC,EAAE,IAXO;AAYVC,MAAAA,EAAE,EAAE,WAZM;AAaV/7K,MAAAA,CAAC,EAAE,QAbO;AAcVg8K,MAAAA,EAAE,EAAE;AAdM,KAvBiB;AAuC/BC,IAAAA,sBAAsB,EAAE,kBAvCO;AAwC/BC,IAAAA,OAAO,EAAE,UAAUtgE,MAAV,EAAkB;AACvB,UAAIpU,MAAM,GAAGoU,MAAM,KAAK,CAAX,GAAe,GAAf,GAAqBA,MAAM,GAAG,EAAT,KAAgB,CAAhB,GAAoB,IAApB,GAA2B,IAA7D;AACA,aAAOA,MAAM,GAAGpU,MAAhB;AACH,KA3C8B;AA4C/B20E,IAAAA,IAAI,EAAE;AACFC,MAAAA,GAAG,EAAE,CADH;AACM;AACRC,MAAAA,GAAG,EAAE,CAFH,CAEM;;AAFN;AA5CyB,GAA1B,CAAT;AAkDA,SAAOhoN,EAAP;AAEH,CArGC,CAAD;;;;;;;;;;ACJD;AACA;AACA;AAEA;;AAAE,WAAU+qK,MAAV,EAAkB98J,OAAlB,EAA2B;AAC1B,UACuCA,OAAO,CAACy2L,mBAAO,CAAC,sBAAD,CAAR,CAD9C,GAEA,CAFA;AAIF,CALC,EAKA,IALA,EAKO,UAAUtwK,MAAV,EAAkB;AAAE,eAAF,CAEvB;;AAEA,MAAIqxL,MAAM,GAAG,CACL,eADK,EAEL,YAFK,EAGL,SAHK,EAIL,YAJK,EAKL,YALK,EAML,cANK,EAOL,aAPK,EAQL,aARK,EASL,cATK,EAUL,YAVK,EAWL,cAXK,EAYL,cAZK,CAAb;AAAA,MAcIC,WAAW,GAAG,CACV,MADU,EAEV,MAFU,EAGV,MAHU,EAIV,MAJU,EAKV,MALU,EAMV,MANU,EAOV,MAPU,EAQV,KARU,EASV,MATU,EAUV,MAVU,EAWV,MAXU,EAYV,MAZU,CAdlB;AAAA,MA4BIC,QAAQ,GAAG,CACP,aADO,EAEP,SAFO,EAGP,SAHO,EAIP,WAJO,EAKP,WALO,EAMP,UANO,EAOP,aAPO,CA5Bf;AAAA,MAqCIC,aAAa,GAAG,CAAC,KAAD,EAAQ,KAAR,EAAe,KAAf,EAAsB,KAAtB,EAA6B,KAA7B,EAAoC,KAApC,EAA2C,KAA3C,CArCpB;AAAA,MAsCIC,WAAW,GAAG,CAAC,IAAD,EAAO,IAAP,EAAa,IAAb,EAAmB,IAAnB,EAAyB,IAAzB,EAA+B,IAA/B,EAAqC,IAArC,CAtClB;AAwCA,MAAImJ,EAAE,GAAG56L,MAAM,CAACoxL,YAAP,CAAoB,IAApB,EAA0B;AAC/BC,IAAAA,MAAM,EAAEA,MADuB;AAE/BC,IAAAA,WAAW,EAAEA,WAFkB;AAG/B6E,IAAAA,gBAAgB,EAAE,IAHa;AAI/B5E,IAAAA,QAAQ,EAAEA,QAJqB;AAK/BC,IAAAA,aAAa,EAAEA,aALgB;AAM/BC,IAAAA,WAAW,EAAEA,WANkB;AAO/BO,IAAAA,cAAc,EAAE;AACZC,MAAAA,EAAE,EAAE,OADQ;AAEZC,MAAAA,GAAG,EAAE,UAFO;AAGZC,MAAAA,CAAC,EAAE,YAHS;AAIZC,MAAAA,EAAE,EAAE,aAJQ;AAKZC,MAAAA,GAAG,EAAE,mBALO;AAMZC,MAAAA,IAAI,EAAE;AANM,KAPe;AAe/BC,IAAAA,QAAQ,EAAE;AACNC,MAAAA,OAAO,EAAE,mBADH;AAENC,MAAAA,OAAO,EAAE,qBAFH;AAGNC,MAAAA,QAAQ,EAAE,eAHJ;AAINC,MAAAA,OAAO,EAAE,gBAJH;AAKNC,MAAAA,QAAQ,EAAE,4BALJ;AAMNC,MAAAA,QAAQ,EAAE;AANJ,KAfqB;AAuB/BC,IAAAA,YAAY,EAAE;AACVC,MAAAA,MAAM,EAAE,WADE;AAEVC,MAAAA,IAAI,EAAE,eAFI;AAGVl9K,MAAAA,CAAC,EAAE,eAHO;AAIVm9K,MAAAA,EAAE,EAAE,WAJM;AAKVj7K,MAAAA,CAAC,EAAE,SALO;AAMVk7K,MAAAA,EAAE,EAAE,eANM;AAOV9wC,MAAAA,CAAC,EAAE,MAPO;AAQV+wC,MAAAA,EAAE,EAAE,YARM;AASV/9K,MAAAA,CAAC,EAAE,OATO;AAUVg+K,MAAAA,EAAE,EAAE,UAVM;AAWVC,MAAAA,CAAC,EAAE,MAXO;AAYVC,MAAAA,EAAE,EAAE,WAZM;AAaV/7K,MAAAA,CAAC,EAAE,UAbO;AAcVg8K,MAAAA,EAAE,EAAE;AAdM,KAvBiB;AAuC/BC,IAAAA,sBAAsB,EAAE,kBAvCO;AAwC/BC,IAAAA,OAAO,EAAE,UAAUtgE,MAAV,EAAkB;AACvB,UAAIpU,MAAM,GAAGoU,MAAM,KAAK,CAAX,GAAe,GAAf,GAAqBA,MAAM,GAAG,EAAT,KAAgB,CAAhB,GAAoB,IAApB,GAA2B,IAA7D;AACA,aAAOA,MAAM,GAAGpU,MAAhB;AACH,KA3C8B;AA4C/B20E,IAAAA,IAAI,EAAE;AACFC,MAAAA,GAAG,EAAE,CADH;AACM;AACRC,MAAAA,GAAG,EAAE,CAFH,CAEM;;AAFN;AA5CyB,GAA1B,CAAT;AAkDA,SAAOgH,EAAP;AAEH,CArGC,CAAD;;;;;;;;;;ACJD;AACA;AACA;AAEA;;AAAE,WAAUjkD,MAAV,EAAkB98J,OAAlB,EAA2B;AAC1B,UACuCA,OAAO,CAACy2L,mBAAO,CAAC,sBAAD,CAAR,CAD9C,GAEA,CAFA;AAIF,CALC,EAKA,IALA,EAKO,UAAUtwK,MAAV,EAAkB;AAAE,eAAF,CAEvB;;AAEA,MAAI66L,EAAE,GAAG76L,MAAM,CAACoxL,YAAP,CAAoB,IAApB,EAA0B;AAC/BC,IAAAA,MAAM,EAAE,yFAAyF9mM,KAAzF,CACJ,GADI,CADuB;AAI/B+mM,IAAAA,WAAW,EACP,8DAA8D/mM,KAA9D,CACI,GADJ,CAL2B;AAQ/B4rM,IAAAA,gBAAgB,EAAE,IARa;AAS/B5E,IAAAA,QAAQ,EAAE,mDAAmDhnM,KAAnD,CAAyD,GAAzD,CATqB;AAU/BinM,IAAAA,aAAa,EAAE,qCAAqCjnM,KAArC,CAA2C,GAA3C,CAVgB;AAW/BknM,IAAAA,WAAW,EAAE,uBAAuBlnM,KAAvB,CAA6B,GAA7B,CAXkB;AAY/B4pM,IAAAA,kBAAkB,EAAE,IAZW;AAa/BnC,IAAAA,cAAc,EAAE;AACZC,MAAAA,EAAE,EAAE,MADQ;AAEZC,MAAAA,GAAG,EAAE,SAFO;AAGZC,MAAAA,CAAC,EAAE,YAHS;AAIZC,MAAAA,EAAE,EAAE,uBAJQ;AAKZC,MAAAA,GAAG,EAAE,4BALO;AAMZC,MAAAA,IAAI,EAAE;AANM,KAbe;AAqB/BC,IAAAA,QAAQ,EAAE;AACNC,MAAAA,OAAO,EAAE,YAAY;AACjB,eAAO,YAAY,KAAKX,KAAL,OAAiB,CAAjB,GAAqB,IAArB,GAA4B,GAAxC,IAA+C,MAAtD;AACH,OAHK;AAINY,MAAAA,OAAO,EAAE,YAAY;AACjB,eAAO,YAAY,KAAKZ,KAAL,OAAiB,CAAjB,GAAqB,IAArB,GAA4B,GAAxC,IAA+C,MAAtD;AACH,OANK;AAONa,MAAAA,QAAQ,EAAE,YAAY;AAClB,eAAO,YAAY,KAAKb,KAAL,OAAiB,CAAjB,GAAqB,IAArB,GAA4B,GAAxC,IAA+C,MAAtD;AACH,OATK;AAUNc,MAAAA,OAAO,EAAE,YAAY;AACjB,eAAO,YAAY,KAAKd,KAAL,OAAiB,CAAjB,GAAqB,GAArB,GAA2B,GAAvC,IAA8C,MAArD;AACH,OAZK;AAaNe,MAAAA,QAAQ,EAAE,YAAY;AAClB,eACI,uBAAuB,KAAKf,KAAL,OAAiB,CAAjB,GAAqB,IAArB,GAA4B,GAAnD,IAA0D,MAD9D;AAGH,OAjBK;AAkBNgB,MAAAA,QAAQ,EAAE;AAlBJ,KArBqB;AAyC/BC,IAAAA,YAAY,EAAE;AACVC,MAAAA,MAAM,EAAE,UAAUtqG,GAAV,EAAe;AACnB,YAAIA,GAAG,CAAC7kG,OAAJ,CAAY,IAAZ,MAAsB,CAA1B,EAA6B;AACzB,iBAAO,MAAM6kG,GAAb;AACH;;AACD,eAAO,QAAQA,GAAf;AACH,OANS;AAOVuqG,MAAAA,IAAI,EAAE,QAPI;AAQVl9K,MAAAA,CAAC,EAAE,cARO;AASVm9K,MAAAA,EAAE,EAAE,aATM;AAUVj7K,MAAAA,CAAC,EAAE,WAVO;AAWVk7K,MAAAA,EAAE,EAAE,YAXM;AAYV9wC,MAAAA,CAAC,EAAE,WAZO;AAaV+wC,MAAAA,EAAE,EAAE,UAbM;AAcV/9K,MAAAA,CAAC,EAAE,QAdO;AAeVg+K,MAAAA,EAAE,EAAE,SAfM;AAgBVC,MAAAA,CAAC,EAAE,QAhBO;AAiBVC,MAAAA,EAAE,EAAE,UAjBM;AAkBV/7K,MAAAA,CAAC,EAAE,QAlBO;AAmBVg8K,MAAAA,EAAE,EAAE;AAnBM,KAzCiB;AA8D/BC,IAAAA,sBAAsB,EAAE,UA9DO;AA+D/BC,IAAAA,OAAO,EAAE,KA/DsB;AAgE/BC,IAAAA,IAAI,EAAE;AACFC,MAAAA,GAAG,EAAE,CADH;AACM;AACRC,MAAAA,GAAG,EAAE,CAFH,CAEM;;AAFN;AAhEyB,GAA1B,CAAT;AAsEA,SAAOiH,EAAP;AAEH,CAjFC,CAAD;;;;;;;;;;ACJD;AACA;AACA;AAEA;;AAAE,WAAUlkD,MAAV,EAAkB98J,OAAlB,EAA2B;AAC1B,UACuCA,OAAO,CAACy2L,mBAAO,CAAC,sBAAD,CAAR,CAD9C,GAEA,CAFA;AAIF,CALC,EAKA,IALA,EAKO,UAAUtwK,MAAV,EAAkB;AAAE,eAAF,CAEvB;;AAEA,WAASg4L,mBAAT,CAA6B7kE,MAA7B,EAAqC6gE,aAArC,EAAoD1iL,GAApD,EAAyD2iL,QAAzD,EAAmE;AAC/D,QAAI5zL,MAAM,GAAG;AACTyV,MAAAA,CAAC,EAAE,CAAC,iBAAD,EAAoB,YAApB,CADM;AAETm9K,MAAAA,EAAE,EAAE,CAAC9/D,MAAM,GAAG,YAAV,EAAwBA,MAAM,GAAG,QAAjC,CAFK;AAGTn7G,MAAAA,CAAC,EAAE,CAAC,YAAD,EAAe,UAAf,CAHM;AAITk7K,MAAAA,EAAE,EAAE,CAAC//D,MAAM,GAAG,WAAV,EAAuBA,MAAM,GAAG,SAAhC,CAJK;AAKTivB,MAAAA,CAAC,EAAE,CAAC,UAAD,EAAa,OAAb,CALM;AAMT+wC,MAAAA,EAAE,EAAE,CAAChgE,MAAM,GAAG,SAAV,EAAqBA,MAAM,GAAG,OAA9B,CANK;AAOT/9G,MAAAA,CAAC,EAAE,CAAC,WAAD,EAAc,QAAd,CAPM;AAQTg+K,MAAAA,EAAE,EAAE,CAACjgE,MAAM,GAAG,UAAV,EAAsBA,MAAM,GAAG,MAA/B,CARK;AASTkgE,MAAAA,CAAC,EAAE,CAAC,eAAD,EAAkB,WAAlB,CATM;AAUTC,MAAAA,EAAE,EAAE,CAACngE,MAAM,GAAG,aAAV,EAAyBA,MAAM,GAAG,SAAlC,CAVK;AAWT57G,MAAAA,CAAC,EAAE,CAAC,YAAD,EAAe,SAAf,CAXM;AAYTg8K,MAAAA,EAAE,EAAE,CAACpgE,MAAM,GAAG,WAAV,EAAuBA,MAAM,GAAG,SAAhC;AAZK,KAAb;AAcA,WAAO8gE,QAAQ,GAAG5zL,MAAM,CAACiR,GAAD,CAAN,CAAY,CAAZ,CAAH,GAAoBjR,MAAM,CAACiR,GAAD,CAAN,CAAY,CAAZ,CAAnC;AACH;;AAED,MAAIwpL,OAAO,GAAG96L,MAAM,CAACoxL,YAAP,CAAoB,UAApB,EAAgC;AAC1CC,IAAAA,MAAM,EAAE;AACJgE,MAAAA,UAAU,EACN,wFAAwF9qM,KAAxF,CACI,GADJ,CAFA;AAKJ8V,MAAAA,MAAM,EAAE,mJAAmJ9V,KAAnJ,CACJ,GADI,CALJ;AAQJ+qM,MAAAA,QAAQ,EAAE;AARN,KADkC;AAW1ChE,IAAAA,WAAW,EACP,4EAA4E/mM,KAA5E,CACI,GADJ,CAZsC;AAe1C4rM,IAAAA,gBAAgB,EAAE,IAfwB;AAgB1C5E,IAAAA,QAAQ,EAAE,qDAAqDhnM,KAArD,CAA2D,GAA3D,CAhBgC;AAiB1CinM,IAAAA,aAAa,EAAE,4CAA4CjnM,KAA5C,CAAkD,GAAlD,CAjB2B;AAkB1CknM,IAAAA,WAAW,EAAE,wBAAwBlnM,KAAxB,CAA8B,GAA9B,CAlB6B;AAmB1C4pM,IAAAA,kBAAkB,EAAE,IAnBsB;AAoB1CnC,IAAAA,cAAc,EAAE;AACZC,MAAAA,EAAE,EAAE,iBADQ;AAEZC,MAAAA,GAAG,EAAE,oBAFO;AAGZC,MAAAA,CAAC,EAAE,YAHS;AAIZC,MAAAA,EAAE,EAAE,aAJQ;AAKZC,MAAAA,GAAG,EAAE,6BALO;AAMZC,MAAAA,IAAI,EAAE,sCANM;AAOZmF,MAAAA,IAAI,EAAE;AAPM,KApB0B;AA6B1ClF,IAAAA,QAAQ,EAAE;AACNC,MAAAA,OAAO,EAAE,UADH;AAENC,MAAAA,OAAO,EAAE,cAFH;AAGNC,MAAAA,QAAQ,EAAE,oBAHJ;AAINC,MAAAA,OAAO,EAAE,UAJH;AAKNC,MAAAA,QAAQ,EAAE,oBALJ;AAMNC,MAAAA,QAAQ,EAAE;AANJ,KA7BgC;AAqC1CC,IAAAA,YAAY,EAAE;AACVC,MAAAA,MAAM,EAAE,IADE;AAEVC,MAAAA,IAAI,EAAE,SAFI;AAGVl9K,MAAAA,CAAC,EAAEkiL,mBAHO;AAIV/E,MAAAA,EAAE,EAAE+E,mBAJM;AAKVhgL,MAAAA,CAAC,EAAEggL,mBALO;AAMV9E,MAAAA,EAAE,EAAE8E,mBANM;AAOV51C,MAAAA,CAAC,EAAE41C,mBAPO;AAQV7E,MAAAA,EAAE,EAAE6E,mBARM;AASV5iL,MAAAA,CAAC,EAAE4iL,mBATO;AAUV5E,MAAAA,EAAE,EAAE4E,mBAVM;AAWV3E,MAAAA,CAAC,EAAE2E,mBAXO;AAYV1E,MAAAA,EAAE,EAAE0E,mBAZM;AAaVzgL,MAAAA,CAAC,EAAEygL,mBAbO;AAcVzE,MAAAA,EAAE,EAAEyE;AAdM,KArC4B;AAqD1CxE,IAAAA,sBAAsB,EAAE,cArDkB;AAsD1CC,IAAAA,OAAO,EAAE,UAAUtgE,MAAV,EAAkBqiE,MAAlB,EAA0B;AAC/B,cAAQA,MAAR;AACI;AACA,aAAK,GAAL;AACI,iBAAOriE,MAAM,GAAG,KAAhB;;AACJ;AACA,aAAK,GAAL;AACA,aAAK,GAAL;AACA,aAAK,KAAL;AACA,aAAK,GAAL;AACA,aAAK,GAAL;AACA,aAAK,GAAL;AACI,iBAAOA,MAAP;AAXR;AAaH,KApEyC;AAqE1CugE,IAAAA,IAAI,EAAE;AACFC,MAAAA,GAAG,EAAE,CADH;AACM;AACRC,MAAAA,GAAG,EAAE,CAFH,CAEM;;AAFN,KArEoC;AAyE1ClC,IAAAA,aAAa,EAAE,2BAzE2B;AA0E1CqE,IAAAA,YAAY,EAAE,UAAUvzE,IAAV,EAAgBovE,QAAhB,EAA0B;AACpC,UAAIpvE,IAAI,KAAK,EAAb,EAAiB;AACbA,QAAAA,IAAI,GAAG,CAAP;AACH;;AACD,UAAIovE,QAAQ,KAAK,MAAjB,EAAyB;AACrB,eAAOpvE,IAAI,GAAG,CAAP,GAAWA,IAAX,GAAkBA,IAAI,GAAG,EAAhC;AACH,OAFD,MAEO,IAAIovE,QAAQ,KAAK,QAAjB,EAA2B;AAC9B,eAAOpvE,IAAP;AACH,OAFM,MAEA,IAAIovE,QAAQ,KAAK,SAAjB,EAA4B;AAC/B,eAAOpvE,IAAI,GAAG,EAAP,GAAYA,IAAZ,GAAmBA,IAAI,GAAG,EAAjC;AACH,OAFM,MAEA,IAAIovE,QAAQ,KAAK,OAAjB,EAA0B;AAC7B,eAAOpvE,IAAI,GAAG,EAAd;AACH;AACJ,KAvFyC;AAwF1CovE,IAAAA,QAAQ,EAAE,UAAUpvE,IAAV,EAAgB4xE,MAAhB,EAAwBrC,OAAxB,EAAiC;AACvC,UAAIvvE,IAAI,GAAG,CAAX,EAAc;AACV,eAAO,MAAP;AACH,OAFD,MAEO,IAAIA,IAAI,GAAG,EAAX,EAAe;AAClB,eAAO,QAAP;AACH,OAFM,MAEA,IAAIA,IAAI,GAAG,EAAX,EAAe;AAClB,eAAO,SAAP;AACH,OAFM,MAEA,IAAIA,IAAI,GAAG,EAAX,EAAe;AAClB,eAAO,OAAP;AACH,OAFM,MAEA;AACH,eAAO,MAAP;AACH;AACJ;AApGyC,GAAhC,CAAd;AAuGA,SAAOs4E,OAAP;AAEH,CApIC,CAAD;;;;;;;;;;ACJD;AACA;AACA;AAEA;;AAAE,WAAUnkD,MAAV,EAAkB98J,OAAlB,EAA2B;AAC1B,UACuCA,OAAO,CAACy2L,mBAAO,CAAC,sBAAD,CAAR,CAD9C,GAEA,CAFA;AAIF,CALC,EAKA,IALA,EAKO,UAAUtwK,MAAV,EAAkB;AAAE,eAAF,CAEvB;;AAEA,WAASg4L,mBAAT,CAA6B7kE,MAA7B,EAAqC6gE,aAArC,EAAoD1iL,GAApD,EAAyD2iL,QAAzD,EAAmE;AAC/D,QAAI5zL,MAAM,GAAG;AACTyV,MAAAA,CAAC,EAAE,CAAC,oBAAD,EAAuB,eAAvB,CADM;AAETm9K,MAAAA,EAAE,EAAE,CAAC9/D,MAAM,GAAG,aAAV,EAAyBA,MAAM,GAAG,SAAlC,CAFK;AAGTn7G,MAAAA,CAAC,EAAE,CAAC,YAAD,EAAe,UAAf,CAHM;AAITk7K,MAAAA,EAAE,EAAE,CAAC//D,MAAM,GAAG,WAAV,EAAuBA,MAAM,GAAG,SAAhC,CAJK;AAKTivB,MAAAA,CAAC,EAAE,CAAC,WAAD,EAAc,QAAd,CALM;AAMT+wC,MAAAA,EAAE,EAAE,CAAChgE,MAAM,GAAG,UAAV,EAAsBA,MAAM,GAAG,QAA/B,CANK;AAOT/9G,MAAAA,CAAC,EAAE,CAAC,WAAD,EAAc,QAAd,CAPM;AAQTg+K,MAAAA,EAAE,EAAE,CAACjgE,MAAM,GAAG,UAAV,EAAsBA,MAAM,GAAG,MAA/B,CARK;AASTkgE,MAAAA,CAAC,EAAE,CAAC,cAAD,EAAiB,WAAjB,CATM;AAUTC,MAAAA,EAAE,EAAE,CAACngE,MAAM,GAAG,aAAV,EAAyBA,MAAM,GAAG,SAAlC,CAVK;AAWT57G,MAAAA,CAAC,EAAE,CAAC,YAAD,EAAe,UAAf,CAXM;AAYTg8K,MAAAA,EAAE,EAAE,CAACpgE,MAAM,GAAG,WAAV,EAAuBA,MAAM,GAAG,SAAhC;AAZK,KAAb;AAcA,WAAO8gE,QAAQ,GAAG5zL,MAAM,CAACiR,GAAD,CAAN,CAAY,CAAZ,CAAH,GAAoBjR,MAAM,CAACiR,GAAD,CAAN,CAAY,CAAZ,CAAnC;AACH;;AAED,MAAIypL,OAAO,GAAG/6L,MAAM,CAACoxL,YAAP,CAAoB,UAApB,EAAgC;AAC1CC,IAAAA,MAAM,EAAE;AACJgE,MAAAA,UAAU,EACN,4EAA4E9qM,KAA5E,CACI,GADJ,CAFA;AAKJ8V,MAAAA,MAAM,EAAE,wIAAwI9V,KAAxI,CACJ,GADI,CALJ;AAQJ+qM,MAAAA,QAAQ,EAAE;AARN,KADkC;AAW1ChE,IAAAA,WAAW,EACP,4DAA4D/mM,KAA5D,CAAkE,GAAlE,CAZsC;AAa1C4rM,IAAAA,gBAAgB,EAAE,IAbwB;AAc1C5E,IAAAA,QAAQ,EAAE,uDAAuDhnM,KAAvD,CAA6D,GAA7D,CAdgC;AAe1CinM,IAAAA,aAAa,EAAE,qCAAqCjnM,KAArC,CAA2C,GAA3C,CAf2B;AAgB1CknM,IAAAA,WAAW,EAAE,uBAAuBlnM,KAAvB,CAA6B,GAA7B,CAhB6B;AAiB1C4pM,IAAAA,kBAAkB,EAAE,IAjBsB;AAkB1CnC,IAAAA,cAAc,EAAE;AACZC,MAAAA,EAAE,EAAE,gBADQ;AAEZC,MAAAA,GAAG,EAAE,mBAFO;AAGZC,MAAAA,CAAC,EAAE,YAHS;AAIZC,MAAAA,EAAE,EAAE,aAJQ;AAKZC,MAAAA,GAAG,EAAE,4BALO;AAMZC,MAAAA,IAAI,EAAE,qCANM;AAOZmF,MAAAA,IAAI,EAAE;AAPM,KAlB0B;AA2B1ClF,IAAAA,QAAQ,EAAE;AACNC,MAAAA,OAAO,EAAE,UADH;AAENC,MAAAA,OAAO,EAAE,aAFH;AAGNC,MAAAA,QAAQ,EAAE,qBAHJ;AAINC,MAAAA,OAAO,EAAE,UAJH;AAKNC,MAAAA,QAAQ,EAAE,qBALJ;AAMNC,MAAAA,QAAQ,EAAE;AANJ,KA3BgC;AAmC1CC,IAAAA,YAAY,EAAE;AACVC,MAAAA,MAAM,EAAE,IADE;AAEVC,MAAAA,IAAI,EAAE,SAFI;AAGVl9K,MAAAA,CAAC,EAAEkiL,mBAHO;AAIV/E,MAAAA,EAAE,EAAE+E,mBAJM;AAKVhgL,MAAAA,CAAC,EAAEggL,mBALO;AAMV9E,MAAAA,EAAE,EAAE8E,mBANM;AAOV51C,MAAAA,CAAC,EAAE41C,mBAPO;AAQV7E,MAAAA,EAAE,EAAE6E,mBARM;AASV5iL,MAAAA,CAAC,EAAE4iL,mBATO;AAUV5E,MAAAA,EAAE,EAAE4E,mBAVM;AAWV3E,MAAAA,CAAC,EAAE2E,mBAXO;AAYV1E,MAAAA,EAAE,EAAE0E,mBAZM;AAaVzgL,MAAAA,CAAC,EAAEygL,mBAbO;AAcVzE,MAAAA,EAAE,EAAEyE;AAdM,KAnC4B;AAmD1CxE,IAAAA,sBAAsB,EAAE,aAnDkB;AAoD1CC,IAAAA,OAAO,EAAE,UAAUtgE,MAAV,EAAkBqiE,MAAlB,EAA0B;AAC/B,cAAQA,MAAR;AACI;AACA,aAAK,GAAL;AACI,iBAAOriE,MAAM,GAAG,IAAhB;;AACJ;AACA,aAAK,GAAL;AACA,aAAK,GAAL;AACA,aAAK,KAAL;AACA,aAAK,GAAL;AACA,aAAK,GAAL;AACA,aAAK,GAAL;AACI,iBAAOA,MAAP;AAXR;AAaH,KAlEyC;AAmE1CugE,IAAAA,IAAI,EAAE;AACFC,MAAAA,GAAG,EAAE,CADH;AACM;AACRC,MAAAA,GAAG,EAAE,CAFH,CAEM;;AAFN,KAnEoC;AAuE1ClC,IAAAA,aAAa,EAAE,8BAvE2B;AAwE1CqE,IAAAA,YAAY,EAAE,UAAUvzE,IAAV,EAAgBovE,QAAhB,EAA0B;AACpC,UAAIpvE,IAAI,KAAK,EAAb,EAAiB;AACbA,QAAAA,IAAI,GAAG,CAAP;AACH;;AACD,UAAIovE,QAAQ,KAAK,MAAjB,EAAyB;AACrB,eAAOpvE,IAAI,GAAG,CAAP,GAAWA,IAAX,GAAkBA,IAAI,GAAG,EAAhC;AACH,OAFD,MAEO,IAAIovE,QAAQ,KAAK,UAAjB,EAA6B;AAChC,eAAOpvE,IAAP;AACH,OAFM,MAEA,IAAIovE,QAAQ,KAAK,UAAjB,EAA6B;AAChC,eAAOpvE,IAAI,GAAG,EAAP,GAAYA,IAAZ,GAAmBA,IAAI,GAAG,EAAjC;AACH,OAFM,MAEA,IAAIovE,QAAQ,KAAK,OAAjB,EAA0B;AAC7B,eAAOpvE,IAAI,GAAG,EAAd;AACH;AACJ,KArFyC;AAsF1CovE,IAAAA,QAAQ,EAAE,UAAUpvE,IAAV,EAAgB4xE,MAAhB,EAAwBrC,OAAxB,EAAiC;AACvC,UAAIvvE,IAAI,GAAG,CAAX,EAAc;AACV,eAAO,MAAP;AACH,OAFD,MAEO,IAAIA,IAAI,GAAG,EAAX,EAAe;AAClB,eAAO,UAAP;AACH,OAFM,MAEA,IAAIA,IAAI,GAAG,EAAX,EAAe;AAClB,eAAO,UAAP;AACH,OAFM,MAEA,IAAIA,IAAI,GAAG,EAAX,EAAe;AAClB,eAAO,OAAP;AACH,OAFM,MAEA;AACH,eAAO,MAAP;AACH;AACJ;AAlGyC,GAAhC,CAAd;AAqGA,SAAOu4E,OAAP;AAEH,CAlIC,CAAD;;;;;;;;;;ACJD;AACA;AACA;AAEA;;AAAE,WAAUpkD,MAAV,EAAkB98J,OAAlB,EAA2B;AAC1B,UACuCA,OAAO,CAACy2L,mBAAO,CAAC,sBAAD,CAAR,CAD9C,GAEA,CAFA;AAIF,CALC,EAKA,IALA,EAKO,UAAUtwK,MAAV,EAAkB;AAAE,eAAF,CAEvB;;AAEA,MAAIu0L,SAAS,GAAG;AACR,OAAG,GADK;AAER,OAAG,GAFK;AAGR,OAAG,GAHK;AAIR,OAAG,GAJK;AAKR,OAAG,GALK;AAMR,OAAG,GANK;AAOR,OAAG,GAPK;AAQR,OAAG,GARK;AASR,OAAG,GATK;AAUR,OAAG;AAVK,GAAhB;AAAA,MAYII,SAAS,GAAG;AACR,SAAK,GADG;AAER,SAAK,GAFG;AAGR,SAAK,GAHG;AAIR,SAAK,GAJG;AAKR,SAAK,GALG;AAMR,SAAK,GANG;AAOR,SAAK,GAPG;AAQR,SAAK,GARG;AASR,SAAK,GATG;AAUR,SAAK;AAVG,GAZhB;AAyBA,MAAIqG,EAAE,GAAGh7L,MAAM,CAACoxL,YAAP,CAAoB,IAApB,EAA0B;AAC/BC,IAAAA,MAAM,EAAE,yFAAyF9mM,KAAzF,CACJ,GADI,CADuB;AAI/B+mM,IAAAA,WAAW,EACP,yEAAyE/mM,KAAzE,CACI,GADJ,CAL2B;AAQ/B4rM,IAAAA,gBAAgB,EAAE,IARa;AAS/B5E,IAAAA,QAAQ,EAAE,wDAAwDhnM,KAAxD,CACN,GADM,CATqB;AAY/BinM,IAAAA,aAAa,EAAE,mCAAmCjnM,KAAnC,CAAyC,GAAzC,CAZgB;AAa/BknM,IAAAA,WAAW,EAAE,qBAAqBlnM,KAArB,CAA2B,GAA3B,CAbkB;AAc/BynM,IAAAA,cAAc,EAAE;AACZC,MAAAA,EAAE,EAAE,eADQ;AAEZC,MAAAA,GAAG,EAAE,kBAFO;AAGZC,MAAAA,CAAC,EAAE,YAHS;AAIZC,MAAAA,EAAE,EAAE,aAJQ;AAKZC,MAAAA,GAAG,EAAE,4BALO;AAMZC,MAAAA,IAAI,EAAE;AANM,KAde;AAsB/BC,IAAAA,QAAQ,EAAE;AACNC,MAAAA,OAAO,EAAE,SADH;AAENC,MAAAA,OAAO,EAAE,WAFH;AAGNC,MAAAA,QAAQ,EAAE,UAHJ;AAINC,MAAAA,OAAO,EAAE,aAJH;AAKNC,MAAAA,QAAQ,EAAE,kBALJ;AAMNC,MAAAA,QAAQ,EAAE;AANJ,KAtBqB;AA8B/BC,IAAAA,YAAY,EAAE;AACVC,MAAAA,MAAM,EAAE,OADE;AAEVC,MAAAA,IAAI,EAAE,UAFI;AAGVl9K,MAAAA,CAAC,EAAE,UAHO;AAIVm9K,MAAAA,EAAE,EAAE,UAJM;AAKVj7K,MAAAA,CAAC,EAAE,UALO;AAMVk7K,MAAAA,EAAE,EAAE,UANM;AAOV9wC,MAAAA,CAAC,EAAE,SAPO;AAQV+wC,MAAAA,EAAE,EAAE,SARM;AASV/9K,MAAAA,CAAC,EAAE,SATO;AAUVg+K,MAAAA,EAAE,EAAE,SAVM;AAWVC,MAAAA,CAAC,EAAE,UAXO;AAYVC,MAAAA,EAAE,EAAE,UAZM;AAaV/7K,MAAAA,CAAC,EAAE,SAbO;AAcVg8K,MAAAA,EAAE,EAAE;AAdM,KA9BiB;AA8C/BkB,IAAAA,QAAQ,EAAE,UAAU5K,MAAV,EAAkB;AACxB,aAAOA,MAAM,CAACh/L,OAAP,CAAe,eAAf,EAAgC,UAAU6qE,KAAV,EAAiB;AACpD,eAAOi/H,SAAS,CAACj/H,KAAD,CAAhB;AACH,OAFM,CAAP;AAGH,KAlD8B;AAmD/B2+H,IAAAA,UAAU,EAAE,UAAUxK,MAAV,EAAkB;AAC1B,aAAOA,MAAM,CAACh/L,OAAP,CAAe,KAAf,EAAsB,UAAU6qE,KAAV,EAAiB;AAC1C,eAAO6+H,SAAS,CAAC7+H,KAAD,CAAhB;AACH,OAFM,CAAP;AAGH,KAvD8B;AAwD/B;AACA;AACAg8H,IAAAA,aAAa,EAAE,oBA1DgB;AA2D/BqE,IAAAA,YAAY,EAAE,UAAUvzE,IAAV,EAAgBovE,QAAhB,EAA0B;AACpC,UAAIpvE,IAAI,KAAK,EAAb,EAAiB;AACbA,QAAAA,IAAI,GAAG,CAAP;AACH;;AACD,UAAIovE,QAAQ,KAAK,KAAjB,EAAwB;AACpB,eAAOpvE,IAAI,GAAG,CAAP,GAAWA,IAAX,GAAkBA,IAAI,GAAG,EAAhC;AACH,OAFD,MAEO,IAAIovE,QAAQ,KAAK,MAAjB,EAAyB;AAC5B,eAAOpvE,IAAP;AACH,OAFM,MAEA,IAAIovE,QAAQ,KAAK,MAAjB,EAAyB;AAC5B,eAAOpvE,IAAI,IAAI,EAAR,GAAaA,IAAb,GAAoBA,IAAI,GAAG,EAAlC;AACH,OAFM,MAEA,IAAIovE,QAAQ,KAAK,MAAjB,EAAyB;AAC5B,eAAOpvE,IAAI,GAAG,EAAd;AACH;AACJ,KAxE8B;AAyE/BovE,IAAAA,QAAQ,EAAE,UAAUpvE,IAAV,EAAgB4xE,MAAhB,EAAwBrC,OAAxB,EAAiC;AACvC,UAAIvvE,IAAI,GAAG,CAAX,EAAc;AACV,eAAO,KAAP;AACH,OAFD,MAEO,IAAIA,IAAI,GAAG,EAAX,EAAe;AAClB,eAAO,MAAP;AACH,OAFM,MAEA,IAAIA,IAAI,GAAG,EAAX,EAAe;AAClB,eAAO,MAAP;AACH,OAFM,MAEA,IAAIA,IAAI,GAAG,EAAX,EAAe;AAClB,eAAO,MAAP;AACH,OAFM,MAEA;AACH,eAAO,KAAP;AACH;AACJ,KArF8B;AAsF/BkxE,IAAAA,IAAI,EAAE;AACFC,MAAAA,GAAG,EAAE,CADH;AACM;AACRC,MAAAA,GAAG,EAAE,CAFH,CAEM;;AAFN;AAtFyB,GAA1B,CAAT;AA4FA,SAAOoH,EAAP;AAEH,CAhIC,CAAD;;;;;;;;;;ACJD;AACA;AACA;AACA;AACA;AAEA;;AAAE,WAAUrkD,MAAV,EAAkB98J,OAAlB,EAA2B;AAC1B,UACuCA,OAAO,CAACy2L,mBAAO,CAAC,sBAAD,CAAR,CAD9C,GAEA,CAFA;AAIF,CALC,EAKA,IALA,EAKO,UAAUtwK,MAAV,EAAkB;AAAE,eAAF,CAEvB;;AAEA,MAAIi7L,EAAE,GAAGj7L,MAAM,CAACoxL,YAAP,CAAoB,IAApB,EAA0B;AAC/BC,IAAAA,MAAM,EAAE,0EAA0E9mM,KAA1E,CACJ,GADI,CADuB;AAI/B+mM,IAAAA,WAAW,EACP,4DAA4D/mM,KAA5D,CAAkE,GAAlE,CAL2B;AAM/BgnM,IAAAA,QAAQ,EAAE,uCAAuChnM,KAAvC,CAA6C,GAA7C,CANqB;AAO/BinM,IAAAA,aAAa,EAAE,uBAAuBjnM,KAAvB,CAA6B,GAA7B,CAPgB;AAQ/BknM,IAAAA,WAAW,EAAE,gBAAgBlnM,KAAhB,CAAsB,GAAtB,CARkB;AAS/BynM,IAAAA,cAAc,EAAE;AACZC,MAAAA,EAAE,EAAE,OADQ;AAEZC,MAAAA,GAAG,EAAE,UAFO;AAGZC,MAAAA,CAAC,EAAE,YAHS;AAIZC,MAAAA,EAAE,EAAE,gBAJQ;AAKZC,MAAAA,GAAG,EAAE,sBALO;AAMZC,MAAAA,IAAI,EAAE,4BANM;AAOZoF,MAAAA,CAAC,EAAE,UAPS;AAQZH,MAAAA,EAAE,EAAE,YARQ;AASZC,MAAAA,GAAG,EAAE,kBATO;AAUZC,MAAAA,IAAI,EAAE;AAVM,KATe;AAqB/BlF,IAAAA,QAAQ,EAAE;AACNC,MAAAA,OAAO,EAAE,aADH;AAENC,MAAAA,OAAO,EAAE,YAFH;AAGNC,MAAAA,QAAQ,EAAE,gBAHJ;AAINC,MAAAA,OAAO,EAAE,cAJH;AAKNC,MAAAA,QAAQ,EAAE,8BALJ;AAMNC,MAAAA,QAAQ,EAAE;AANJ,KArBqB;AA6B/BC,IAAAA,YAAY,EAAE;AACVC,MAAAA,MAAM,EAAE,SADE;AAEVC,MAAAA,IAAI,EAAE,SAFI;AAGVl9K,MAAAA,CAAC,EAAE,YAHO;AAIVm9K,MAAAA,EAAE,EAAE,UAJM;AAKVj7K,MAAAA,CAAC,EAAE,KALO;AAMVk7K,MAAAA,EAAE,EAAE,SANM;AAOV9wC,MAAAA,CAAC,EAAE,KAPO;AAQV+wC,MAAAA,EAAE,EAAE,UAAUhgE,MAAV,EAAkB;AAClB,YAAIA,MAAM,KAAK,CAAf,EAAkB;AACd,iBAAO,QAAP;AACH;;AACD,eAAOA,MAAM,GAAG,OAAhB;AACH,OAbS;AAcV/9G,MAAAA,CAAC,EAAE,KAdO;AAeVg+K,MAAAA,EAAE,EAAE,UAAUjgE,MAAV,EAAkB;AAClB,YAAIA,MAAM,KAAK,CAAf,EAAkB;AACd,iBAAO,QAAP;AACH;;AACD,eAAOA,MAAM,GAAG,OAAhB;AACH,OApBS;AAqBVkgE,MAAAA,CAAC,EAAE,MArBO;AAsBVC,MAAAA,EAAE,EAAE,UAAUngE,MAAV,EAAkB;AAClB,YAAIA,MAAM,KAAK,CAAf,EAAkB;AACd,iBAAO,SAAP;AACH;;AACD,eAAOA,MAAM,GAAG,SAAhB;AACH,OA3BS;AA4BV57G,MAAAA,CAAC,EAAE,KA5BO;AA6BVg8K,MAAAA,EAAE,EAAE,UAAUpgE,MAAV,EAAkB;AAClB,YAAIA,MAAM,KAAK,CAAf,EAAkB;AACd,iBAAO,QAAP;AACH,SAFD,MAEO,IAAIA,MAAM,GAAG,EAAT,KAAgB,CAAhB,IAAqBA,MAAM,KAAK,EAApC,EAAwC;AAC3C,iBAAOA,MAAM,GAAG,MAAhB;AACH;;AACD,eAAOA,MAAM,GAAG,OAAhB;AACH;AApCS,KA7BiB;AAmE/Bu+D,IAAAA,aAAa,EACT,+DApE2B;AAqE/BC,IAAAA,IAAI,EAAE,UAAU5tJ,KAAV,EAAiB;AACnB,aAAO,8BAA8BljC,IAA9B,CAAmCkjC,KAAnC,CAAP;AACH,KAvE8B;AAwE/B6tJ,IAAAA,QAAQ,EAAE,UAAUpvE,IAAV,EAAgB4xE,MAAhB,EAAwBrC,OAAxB,EAAiC;AACvC,UAAIvvE,IAAI,GAAG,CAAX,EAAc;AACV,eAAO,YAAP;AACH,OAFD,MAEO,IAAIA,IAAI,GAAG,EAAX,EAAe;AAClB,eAAO,OAAP;AACH,OAFM,MAEA,IAAIA,IAAI,GAAG,EAAX,EAAe;AAClB,eAAOuvE,OAAO,GAAG,QAAH,GAAc,cAA5B;AACH,OAFM,MAEA,IAAIvvE,IAAI,GAAG,EAAX,EAAe;AAClB,eAAOuvE,OAAO,GAAG,OAAH,GAAa,cAA3B;AACH,OAFM,MAEA;AACH,eAAO,MAAP;AACH;AACJ;AApF8B,GAA1B,CAAT;AAuFA,SAAOkJ,EAAP;AAEH,CAlGC,CAAD;;;;;;;;;;ACND;AACA;AACA;AAEA;;AAAE,WAAUtkD,MAAV,EAAkB98J,OAAlB,EAA2B;AAC1B,UACuCA,OAAO,CAACy2L,mBAAO,CAAC,sBAAD,CAAR,CAD9C,GAEA,CAFA;AAIF,CALC,EAKA,IALA,EAKO,UAAUtwK,MAAV,EAAkB;AAAE,eAAF,CAEvB;;AAEA,MAAIu0L,SAAS,GAAG;AACR,OAAG,GADK;AAER,OAAG,GAFK;AAGR,OAAG,GAHK;AAIR,OAAG,GAJK;AAKR,OAAG,GALK;AAMR,OAAG,GANK;AAOR,OAAG,GAPK;AAQR,OAAG,GARK;AASR,OAAG,GATK;AAUR,OAAG;AAVK,GAAhB;AAAA,MAYII,SAAS,GAAG;AACR,SAAK,GADG;AAER,SAAK,GAFG;AAGR,SAAK,GAHG;AAIR,SAAK,GAJG;AAKR,SAAK,GALG;AAMR,SAAK,GANG;AAOR,SAAK,GAPG;AAQR,SAAK,GARG;AASR,SAAK,GATG;AAUR,SAAK;AAVG,GAZhB;AAAA,MAwBI+B,WAAW,GAAG,CACV,MADU,EAEV,UAFU,EAGV,SAHU,EAIV,SAJU,EAKV,MALU,EAMV,OANU,EAOV,OAPU,EAQV,MARU,EASV,YATU,EAUV,SAVU,EAWV,UAXU,EAYV,YAZU,CAxBlB;AAAA,MAsCIU,gBAAgB,GAAG,CACf,MADe,EAEf,OAFe,EAGf,SAHe,EAIf,SAJe,EAKf,MALe,EAMf,OANe,EAOf,OAPe,EAQf,MARe,EASf,OATe,EAUf,SAVe,EAWf,MAXe,EAYf,OAZe,CAtCvB;AAqDA,MAAIpM,EAAE,GAAGhrL,MAAM,CAACoxL,YAAP,CAAoB,IAApB,EAA0B;AAC/BC,IAAAA,MAAM,EAAE;AACJhxL,MAAAA,MAAM,EAAE,8EAA8E9V,KAA9E,CACJ,GADI,CADJ;AAIJ8qM,MAAAA,UAAU,EACN,0EAA0E9qM,KAA1E,CACI,GADJ;AALA,KADuB;AAU/B+mM,IAAAA,WAAW,EACP,6DAA6D/mM,KAA7D,CAAmE,GAAnE,CAX2B;AAY/BgnM,IAAAA,QAAQ,EAAE,uDAAuDhnM,KAAvD,CAA6D,GAA7D,CAZqB;AAa/BinM,IAAAA,aAAa,EAAE,kCAAkCjnM,KAAlC,CAAwC,GAAxC,CAbgB;AAc/BknM,IAAAA,WAAW,EAAE,qBAAqBlnM,KAArB,CAA2B,GAA3B,CAdkB;AAe/BynM,IAAAA,cAAc,EAAE;AACZC,MAAAA,EAAE,EAAE,YADQ;AAEZC,MAAAA,GAAG,EAAE,eAFO;AAGZC,MAAAA,CAAC,EAAE,YAHS;AAIZC,MAAAA,EAAE,EAAE,aAJQ;AAKZC,MAAAA,GAAG,EAAE,yBALO;AAMZC,MAAAA,IAAI,EAAE;AANM,KAfe;AAwB/BoE,IAAAA,WAAW,EAAEA,WAxBkB;AAyB/BS,IAAAA,eAAe,EAAET,WAzBc;AA0B/BU,IAAAA,gBAAgB,EAAEA,gBA1Ba;AA4B/BT,IAAAA,WAAW,EACP,8KA7B2B;AA+B/BT,IAAAA,gBAAgB,EACZ,8KAhC2B;AAkC/BU,IAAAA,iBAAiB,EACb,sIAnC2B;AAqC/BC,IAAAA,sBAAsB,EAClB,qFAtC2B;AAwC/BtE,IAAAA,QAAQ,EAAE;AACNC,MAAAA,OAAO,EAAE,SADH;AAENC,MAAAA,OAAO,EAAE,SAFH;AAGNC,MAAAA,QAAQ,EAAE,UAHJ;AAINC,MAAAA,OAAO,EAAE,SAJH;AAKNC,MAAAA,QAAQ,EAAE,kBALJ;AAMNC,MAAAA,QAAQ,EAAE;AANJ,KAxCqB;AAgD/BC,IAAAA,YAAY,EAAE;AACVC,MAAAA,MAAM,EAAE,QADE;AAEVC,MAAAA,IAAI,EAAE,SAFI;AAGVl9K,MAAAA,CAAC,EAAE,aAHO;AAIVm9K,MAAAA,EAAE,EAAE,UAJM;AAKVj7K,MAAAA,CAAC,EAAE,SALO;AAMVk7K,MAAAA,EAAE,EAAE,SANM;AAOV9wC,MAAAA,CAAC,EAAE,SAPO;AAQV+wC,MAAAA,EAAE,EAAE,SARM;AASV/9K,MAAAA,CAAC,EAAE,QATO;AAUVg+K,MAAAA,EAAE,EAAE,QAVM;AAWVC,MAAAA,CAAC,EAAE,UAXO;AAYVC,MAAAA,EAAE,EAAE,UAZM;AAaV/7K,MAAAA,CAAC,EAAE,SAbO;AAcVg8K,MAAAA,EAAE,EAAE;AAdM,KAhDiB;AAgE/BkB,IAAAA,QAAQ,EAAE,UAAU5K,MAAV,EAAkB;AACxB,aAAOA,MAAM,CAACh/L,OAAP,CAAe,eAAf,EAAgC,UAAU6qE,KAAV,EAAiB;AACpD,eAAOi/H,SAAS,CAACj/H,KAAD,CAAhB;AACH,OAFM,CAAP;AAGH,KApE8B;AAqE/B2+H,IAAAA,UAAU,EAAE,UAAUxK,MAAV,EAAkB;AAC1B,aAAOA,MAAM,CAACh/L,OAAP,CAAe,KAAf,EAAsB,UAAU6qE,KAAV,EAAiB;AAC1C,eAAO6+H,SAAS,CAAC7+H,KAAD,CAAhB;AACH,OAFM,CAAP;AAGH,KAzE8B;AA0E/B;AACA;AACAg8H,IAAAA,aAAa,EAAE,oBA5EgB;AA6E/BqE,IAAAA,YAAY,EAAE,UAAUvzE,IAAV,EAAgBovE,QAAhB,EAA0B;AACpC,UAAIpvE,IAAI,KAAK,EAAb,EAAiB;AACbA,QAAAA,IAAI,GAAG,CAAP;AACH;;AACD,UAAIovE,QAAQ,KAAK,KAAjB,EAAwB;AACpB,eAAOpvE,IAAI,GAAG,CAAP,GAAWA,IAAX,GAAkBA,IAAI,GAAG,EAAhC;AACH,OAFD,MAEO,IAAIovE,QAAQ,KAAK,MAAjB,EAAyB;AAC5B,eAAOpvE,IAAP;AACH,OAFM,MAEA,IAAIovE,QAAQ,KAAK,OAAjB,EAA0B;AAC7B,eAAOpvE,IAAI,IAAI,EAAR,GAAaA,IAAb,GAAoBA,IAAI,GAAG,EAAlC;AACH,OAFM,MAEA,IAAIovE,QAAQ,KAAK,KAAjB,EAAwB;AAC3B,eAAOpvE,IAAI,GAAG,EAAd;AACH;AACJ,KA1F8B;AA2F/BovE,IAAAA,QAAQ,EAAE,UAAUpvE,IAAV,EAAgB4xE,MAAhB,EAAwBrC,OAAxB,EAAiC;AACvC,UAAIvvE,IAAI,GAAG,CAAX,EAAc;AACV,eAAO,KAAP;AACH,OAFD,MAEO,IAAIA,IAAI,GAAG,EAAX,EAAe;AAClB,eAAO,MAAP;AACH,OAFM,MAEA,IAAIA,IAAI,GAAG,EAAX,EAAe;AAClB,eAAO,OAAP;AACH,OAFM,MAEA,IAAIA,IAAI,GAAG,EAAX,EAAe;AAClB,eAAO,KAAP;AACH,OAFM,MAEA;AACH,eAAO,KAAP;AACH;AACJ,KAvG8B;AAwG/BkxE,IAAAA,IAAI,EAAE;AACFC,MAAAA,GAAG,EAAE,CADH;AACM;AACRC,MAAAA,GAAG,EAAE,CAFH,CAEM;;AAFN;AAxGyB,GAA1B,CAAT;AA8GA,SAAO5I,EAAP;AAEH,CA9KC,CAAD;;;;;;;;;;ACJD;AACA;AACA;AAEA;;AAAE,WAAUr0C,MAAV,EAAkB98J,OAAlB,EAA2B;AAC1B,UACuCA,OAAO,CAACy2L,mBAAO,CAAC,sBAAD,CAAR,CAD9C,GAEA,CAFA;AAIF,CALC,EAKA,IALA,EAKO,UAAUtwK,MAAV,EAAkB;AAAE,eAAF,CAEvB;;AAEA,WAAS70B,SAAT,CAAmBgoJ,MAAnB,EAA2B6gE,aAA3B,EAA0C1iL,GAA1C,EAA+C;AAC3C,QAAIn0B,MAAM,GAAGg2I,MAAM,GAAG,GAAtB;;AACA,YAAQ7hH,GAAR;AACI,WAAK,IAAL;AACI,YAAI6hH,MAAM,KAAK,CAAf,EAAkB;AACdh2I,UAAAA,MAAM,IAAI,SAAV;AACH,SAFD,MAEO,IAAIg2I,MAAM,KAAK,CAAX,IAAgBA,MAAM,KAAK,CAA3B,IAAgCA,MAAM,KAAK,CAA/C,EAAkD;AACrDh2I,UAAAA,MAAM,IAAI,SAAV;AACH,SAFM,MAEA;AACHA,UAAAA,MAAM,IAAI,SAAV;AACH;;AACD,eAAOA,MAAP;;AACJ,WAAK,GAAL;AACI,eAAO62M,aAAa,GAAG,cAAH,GAAoB,cAAxC;;AACJ,WAAK,IAAL;AACI,YAAI7gE,MAAM,KAAK,CAAf,EAAkB;AACdh2I,UAAAA,MAAM,IAAI,QAAV;AACH,SAFD,MAEO,IAAIg2I,MAAM,KAAK,CAAX,IAAgBA,MAAM,KAAK,CAA3B,IAAgCA,MAAM,KAAK,CAA/C,EAAkD;AACrDh2I,UAAAA,MAAM,IAAI,QAAV;AACH,SAFM,MAEA;AACHA,UAAAA,MAAM,IAAI,QAAV;AACH;;AACD,eAAOA,MAAP;;AACJ,WAAK,GAAL;AACI,eAAO62M,aAAa,GAAG,WAAH,GAAiB,aAArC;;AACJ,WAAK,IAAL;AACI,YAAI7gE,MAAM,KAAK,CAAf,EAAkB;AACdh2I,UAAAA,MAAM,IAAI,KAAV;AACH,SAFD,MAEO,IAAIg2I,MAAM,KAAK,CAAX,IAAgBA,MAAM,KAAK,CAA3B,IAAgCA,MAAM,KAAK,CAA/C,EAAkD;AACrDh2I,UAAAA,MAAM,IAAI,MAAV;AACH,SAFM,MAEA;AACHA,UAAAA,MAAM,IAAI,MAAV;AACH;;AACD,eAAOA,MAAP;;AACJ,WAAK,IAAL;AACI,YAAIg2I,MAAM,KAAK,CAAf,EAAkB;AACdh2I,UAAAA,MAAM,IAAI,KAAV;AACH,SAFD,MAEO;AACHA,UAAAA,MAAM,IAAI,MAAV;AACH;;AACD,eAAOA,MAAP;;AACJ,WAAK,IAAL;AACI,YAAIg2I,MAAM,KAAK,CAAf,EAAkB;AACdh2I,UAAAA,MAAM,IAAI,QAAV;AACH,SAFD,MAEO,IAAIg2I,MAAM,KAAK,CAAX,IAAgBA,MAAM,KAAK,CAA3B,IAAgCA,MAAM,KAAK,CAA/C,EAAkD;AACrDh2I,UAAAA,MAAM,IAAI,SAAV;AACH,SAFM,MAEA;AACHA,UAAAA,MAAM,IAAI,SAAV;AACH;;AACD,eAAOA,MAAP;;AACJ,WAAK,IAAL;AACI,YAAIg2I,MAAM,KAAK,CAAf,EAAkB;AACdh2I,UAAAA,MAAM,IAAI,QAAV;AACH,SAFD,MAEO,IAAIg2I,MAAM,KAAK,CAAX,IAAgBA,MAAM,KAAK,CAA3B,IAAgCA,MAAM,KAAK,CAA/C,EAAkD;AACrDh2I,UAAAA,MAAM,IAAI,QAAV;AACH,SAFM,MAEA;AACHA,UAAAA,MAAM,IAAI,QAAV;AACH;;AACD,eAAOA,MAAP;AAxDR;AA0DH;;AAED,MAAI+9M,EAAE,GAAGl7L,MAAM,CAACoxL,YAAP,CAAoB,IAApB,EAA0B;AAC/BC,IAAAA,MAAM,EAAE;AACJhxL,MAAAA,MAAM,EAAE,oGAAoG9V,KAApG,CACJ,GADI,CADJ;AAIJ8qM,MAAAA,UAAU,EACN,gGAAgG9qM,KAAhG,CACI,GADJ;AALA,KADuB;AAU/B+mM,IAAAA,WAAW,EACP,+DAA+D/mM,KAA/D,CACI,GADJ,CAX2B;AAc/B4rM,IAAAA,gBAAgB,EAAE,IAda;AAe/B5E,IAAAA,QAAQ,EAAE,4DAA4DhnM,KAA5D,CACN,GADM,CAfqB;AAkB/BinM,IAAAA,aAAa,EAAE,qCAAqCjnM,KAArC,CAA2C,GAA3C,CAlBgB;AAmB/BknM,IAAAA,WAAW,EAAE,uBAAuBlnM,KAAvB,CAA6B,GAA7B,CAnBkB;AAoB/B4pM,IAAAA,kBAAkB,EAAE,IApBW;AAqB/BnC,IAAAA,cAAc,EAAE;AACZC,MAAAA,EAAE,EAAE,MADQ;AAEZC,MAAAA,GAAG,EAAE,SAFO;AAGZC,MAAAA,CAAC,EAAE,YAHS;AAIZC,MAAAA,EAAE,EAAE,cAJQ;AAKZC,MAAAA,GAAG,EAAE,mBALO;AAMZC,MAAAA,IAAI,EAAE;AANM,KArBe;AA6B/BC,IAAAA,QAAQ,EAAE;AACNC,MAAAA,OAAO,EAAE,cADH;AAENC,MAAAA,OAAO,EAAE,cAFH;AAGNC,MAAAA,QAAQ,EAAE,YAAY;AAClB,gBAAQ,KAAK6C,GAAL,EAAR;AACI,eAAK,CAAL;AACI,mBAAO,uBAAP;;AACJ,eAAK,CAAL;AACI,mBAAO,sBAAP;;AACJ,eAAK,CAAL;AACI,mBAAO,qBAAP;;AACJ,eAAK,CAAL;AACA,eAAK,CAAL;AACA,eAAK,CAAL;AACA,eAAK,CAAL;AACI,mBAAO,iBAAP;AAXR;AAaH,OAjBK;AAkBN5C,MAAAA,OAAO,EAAE,cAlBH;AAmBNC,MAAAA,QAAQ,EAAE,YAAY;AAClB,gBAAQ,KAAK2C,GAAL,EAAR;AACI,eAAK,CAAL;AACI,mBAAO,4BAAP;;AACJ,eAAK,CAAL;AACI,mBAAO,2BAAP;;AACJ,eAAK,CAAL;AACI,mBAAO,0BAAP;;AACJ,eAAK,CAAL;AACA,eAAK,CAAL;AACA,eAAK,CAAL;AACA,eAAK,CAAL;AACI,mBAAO,sBAAP;AAXR;AAaH,OAjCK;AAkCN1C,MAAAA,QAAQ,EAAE;AAlCJ,KA7BqB;AAiE/BC,IAAAA,YAAY,EAAE;AACVC,MAAAA,MAAM,EAAE,OADE;AAEVC,MAAAA,IAAI,EAAE,UAFI;AAGVl9K,MAAAA,CAAC,EAAE,aAHO;AAIVm9K,MAAAA,EAAE,EAAE9nN,SAJM;AAKV6sC,MAAAA,CAAC,EAAE7sC,SALO;AAMV+nN,MAAAA,EAAE,EAAE/nN,SANM;AAOVi3K,MAAAA,CAAC,EAAEj3K,SAPO;AAQVgoN,MAAAA,EAAE,EAAEhoN,SARM;AASViqC,MAAAA,CAAC,EAAE,KATO;AAUVg+K,MAAAA,EAAE,EAAEjoN,SAVM;AAWVkoN,MAAAA,CAAC,EAAE,QAXO;AAYVC,MAAAA,EAAE,EAAEnoN,SAZM;AAaVosC,MAAAA,CAAC,EAAE,QAbO;AAcVg8K,MAAAA,EAAE,EAAEpoN;AAdM,KAjEiB;AAiF/BqoN,IAAAA,sBAAsB,EAAE,WAjFO;AAkF/BC,IAAAA,OAAO,EAAE,KAlFsB;AAmF/BC,IAAAA,IAAI,EAAE;AACFC,MAAAA,GAAG,EAAE,CADH;AACM;AACRC,MAAAA,GAAG,EAAE,CAFH,CAEM;;AAFN;AAnFyB,GAA1B,CAAT;AAyFA,SAAOsH,EAAP;AAEH,CAlKC,CAAD;;;;;;;;;;ACJD;AACA;AACA;AACA;AAEA;;AAAE,WAAUvkD,MAAV,EAAkB98J,OAAlB,EAA2B;AAC1B,UACuCA,OAAO,CAACy2L,mBAAO,CAAC,sBAAD,CAAR,CAD9C,GAEA,CAFA;AAIF,CALC,EAKA,IALA,EAKO,UAAUtwK,MAAV,EAAkB;AAAE,eAAF,CAEvB;;AAEA,MAAIm7L,WAAW,GACX,gEAAgE5wM,KAAhE,CAAsE,GAAtE,CADJ;;AAEA,WAASpf,SAAT,CAAmBgoJ,MAAnB,EAA2B6gE,aAA3B,EAA0C1iL,GAA1C,EAA+C2iL,QAA/C,EAAyD;AACrD,QAAIzmI,GAAG,GAAG2lE,MAAV;;AACA,YAAQ7hH,GAAR;AACI,WAAK,GAAL;AACI,eAAO2iL,QAAQ,IAAID,aAAZ,GACD,kBADC,GAED,mBAFN;;AAGJ,WAAK,IAAL;AACI,eAAOxmI,GAAG,IAAIymI,QAAQ,IAAID,aAAhB,CAAH,GACD,YADC,GAED,aAFN;;AAGJ,WAAK,GAAL;AACI,eAAO,SAASC,QAAQ,IAAID,aAAZ,GAA4B,OAA5B,GAAsC,QAA/C,CAAP;;AACJ,WAAK,IAAL;AACI,eAAOxmI,GAAG,IAAIymI,QAAQ,IAAID,aAAZ,GAA4B,OAA5B,GAAsC,QAA1C,CAAV;;AACJ,WAAK,GAAL;AACI,eAAO,SAASC,QAAQ,IAAID,aAAZ,GAA4B,MAA5B,GAAqC,QAA9C,CAAP;;AACJ,WAAK,IAAL;AACI,eAAOxmI,GAAG,IAAIymI,QAAQ,IAAID,aAAZ,GAA4B,MAA5B,GAAqC,QAAzC,CAAV;;AACJ,WAAK,GAAL;AACI,eAAO,SAASC,QAAQ,IAAID,aAAZ,GAA4B,MAA5B,GAAqC,QAA9C,CAAP;;AACJ,WAAK,IAAL;AACI,eAAOxmI,GAAG,IAAIymI,QAAQ,IAAID,aAAZ,GAA4B,MAA5B,GAAqC,QAAzC,CAAV;;AACJ,WAAK,GAAL;AACI,eAAO,SAASC,QAAQ,IAAID,aAAZ,GAA4B,QAA5B,GAAuC,UAAhD,CAAP;;AACJ,WAAK,IAAL;AACI,eAAOxmI,GAAG,IAAIymI,QAAQ,IAAID,aAAZ,GAA4B,QAA5B,GAAuC,UAA3C,CAAV;;AACJ,WAAK,GAAL;AACI,eAAO,SAASC,QAAQ,IAAID,aAAZ,GAA4B,KAA5B,GAAoC,MAA7C,CAAP;;AACJ,WAAK,IAAL;AACI,eAAOxmI,GAAG,IAAIymI,QAAQ,IAAID,aAAZ,GAA4B,KAA5B,GAAoC,MAAxC,CAAV;AA5BR;;AA8BA,WAAO,EAAP;AACH;;AACD,WAASN,IAAT,CAAcO,QAAd,EAAwB;AACpB,WACI,CAACA,QAAQ,GAAG,EAAH,GAAQ,SAAjB,IACA,GADA,GAEAkH,WAAW,CAAC,KAAK5F,GAAL,EAAD,CAFX,GAGA,YAJJ;AAMH;;AAED,MAAI6F,EAAE,GAAGp7L,MAAM,CAACoxL,YAAP,CAAoB,IAApB,EAA0B;AAC/BC,IAAAA,MAAM,EAAE,oGAAoG9mM,KAApG,CACJ,GADI,CADuB;AAI/B+mM,IAAAA,WAAW,EACP,iEAAiE/mM,KAAjE,CACI,GADJ,CAL2B;AAQ/B4rM,IAAAA,gBAAgB,EAAE,IARa;AAS/B5E,IAAAA,QAAQ,EAAE,sDAAsDhnM,KAAtD,CAA4D,GAA5D,CATqB;AAU/BinM,IAAAA,aAAa,EAAE,gCAAgCjnM,KAAhC,CAAsC,GAAtC,CAVgB;AAW/BknM,IAAAA,WAAW,EAAE,qBAAqBlnM,KAArB,CAA2B,GAA3B,CAXkB;AAY/BynM,IAAAA,cAAc,EAAE;AACZC,MAAAA,EAAE,EAAE,MADQ;AAEZC,MAAAA,GAAG,EAAE,SAFO;AAGZC,MAAAA,CAAC,EAAE,aAHS;AAIZC,MAAAA,EAAE,EAAE,eAJQ;AAKZC,MAAAA,GAAG,EAAE,oBALO;AAMZC,MAAAA,IAAI,EAAE;AANM,KAZe;AAoB/BZ,IAAAA,aAAa,EAAE,QApBgB;AAqB/BC,IAAAA,IAAI,EAAE,UAAU5tJ,KAAV,EAAiB;AACnB,aAAOA,KAAK,CAAChR,MAAN,CAAa,CAAb,EAAgBlgB,WAAhB,OAAkC,GAAzC;AACH,KAvB8B;AAwB/B++K,IAAAA,QAAQ,EAAE,UAAUC,KAAV,EAAiBC,OAAjB,EAA0BC,OAA1B,EAAmC;AACzC,UAAIF,KAAK,GAAG,EAAZ,EAAgB;AACZ,eAAOE,OAAO,KAAK,IAAZ,GAAmB,IAAnB,GAA0B,IAAjC;AACH,OAFD,MAEO;AACH,eAAOA,OAAO,KAAK,IAAZ,GAAmB,IAAnB,GAA0B,IAAjC;AACH;AACJ,KA9B8B;AA+B/BQ,IAAAA,QAAQ,EAAE;AACNC,MAAAA,OAAO,EAAE,eADH;AAENC,MAAAA,OAAO,EAAE,mBAFH;AAGNC,MAAAA,QAAQ,EAAE,YAAY;AAClB,eAAOgB,IAAI,CAAC/+K,IAAL,CAAU,IAAV,EAAgB,IAAhB,CAAP;AACH,OALK;AAMNg+K,MAAAA,OAAO,EAAE,mBANH;AAONC,MAAAA,QAAQ,EAAE,YAAY;AAClB,eAAOc,IAAI,CAAC/+K,IAAL,CAAU,IAAV,EAAgB,KAAhB,CAAP;AACH,OATK;AAUNk+K,MAAAA,QAAQ,EAAE;AAVJ,KA/BqB;AA2C/BC,IAAAA,YAAY,EAAE;AACVC,MAAAA,MAAM,EAAE,UADE;AAEVC,MAAAA,IAAI,EAAE,IAFI;AAGVl9K,MAAAA,CAAC,EAAE3qC,SAHO;AAIV8nN,MAAAA,EAAE,EAAE9nN,SAJM;AAKV6sC,MAAAA,CAAC,EAAE7sC,SALO;AAMV+nN,MAAAA,EAAE,EAAE/nN,SANM;AAOVi3K,MAAAA,CAAC,EAAEj3K,SAPO;AAQVgoN,MAAAA,EAAE,EAAEhoN,SARM;AASViqC,MAAAA,CAAC,EAAEjqC,SATO;AAUVioN,MAAAA,EAAE,EAAEjoN,SAVM;AAWVkoN,MAAAA,CAAC,EAAEloN,SAXO;AAYVmoN,MAAAA,EAAE,EAAEnoN,SAZM;AAaVosC,MAAAA,CAAC,EAAEpsC,SAbO;AAcVooN,MAAAA,EAAE,EAAEpoN;AAdM,KA3CiB;AA2D/BqoN,IAAAA,sBAAsB,EAAE,WA3DO;AA4D/BC,IAAAA,OAAO,EAAE,KA5DsB;AA6D/BC,IAAAA,IAAI,EAAE;AACFC,MAAAA,GAAG,EAAE,CADH;AACM;AACRC,MAAAA,GAAG,EAAE,CAFH,CAEM;;AAFN;AA7DyB,GAA1B,CAAT;AAmEA,SAAOwH,EAAP;AAEH,CA3HC,CAAD;;;;;;;;;;ACLD;AACA;AACA;AAEA;;AAAE,WAAUzkD,MAAV,EAAkB98J,OAAlB,EAA2B;AAC1B,UACuCA,OAAO,CAACy2L,mBAAO,CAAC,sBAAD,CAAR,CAD9C,GAEA,CAFA;AAIF,CALC,EAKA,IALA,EAKO,UAAUtwK,MAAV,EAAkB;AAAE,eAAF,CAEvB;;AAEA,MAAIq7L,IAAI,GAAGr7L,MAAM,CAACoxL,YAAP,CAAoB,OAApB,EAA6B;AACpCC,IAAAA,MAAM,EAAE;AACJhxL,MAAAA,MAAM,EAAE,4GAA4G9V,KAA5G,CACJ,GADI,CADJ;AAIJ8qM,MAAAA,UAAU,EACN,gGAAgG9qM,KAAhG,CACI,GADJ;AALA,KAD4B;AAUpC+mM,IAAAA,WAAW,EAAE,kDAAkD/mM,KAAlD,CAAwD,GAAxD,CAVuB;AAWpCgnM,IAAAA,QAAQ,EACJ,gEAAgEhnM,KAAhE,CACI,GADJ,CAZgC;AAepCinM,IAAAA,aAAa,EAAE,+BAA+BjnM,KAA/B,CAAqC,GAArC,CAfqB;AAgBpCknM,IAAAA,WAAW,EAAE,+BAA+BlnM,KAA/B,CAAqC,GAArC,CAhBuB;AAiBpCynM,IAAAA,cAAc,EAAE;AACZC,MAAAA,EAAE,EAAE,OADQ;AAEZC,MAAAA,GAAG,EAAE,UAFO;AAGZC,MAAAA,CAAC,EAAE,YAHS;AAIZC,MAAAA,EAAE,EAAE,gBAJQ;AAKZC,MAAAA,GAAG,EAAE,uBALO;AAMZC,MAAAA,IAAI,EAAE;AANM,KAjBoB;AAyBpCC,IAAAA,QAAQ,EAAE;AACNC,MAAAA,OAAO,EAAE,YADH;AAENC,MAAAA,OAAO,EAAE,WAFH;AAGNE,MAAAA,OAAO,EAAE,WAHH;AAIND,MAAAA,QAAQ,EAAE,YAAY;AAClB,eAAO,oBAAP;AACH,OANK;AAONE,MAAAA,QAAQ,EAAE,YAAY;AAClB,eAAO,4BAAP;AACH,OATK;AAUNC,MAAAA,QAAQ,EAAE;AAVJ,KAzB0B;AAqCpCC,IAAAA,YAAY,EAAE;AACVC,MAAAA,MAAM,EAAE,SADE;AAEVC,MAAAA,IAAI,EAAE,SAFI;AAGVl9K,MAAAA,CAAC,EAAE,kBAHO;AAIVm9K,MAAAA,EAAE,EAAE,aAJM;AAKVj7K,MAAAA,CAAC,EAAE,MALO;AAMVk7K,MAAAA,EAAE,EAAE,SANM;AAOV9wC,MAAAA,CAAC,EAAE,KAPO;AAQV+wC,MAAAA,EAAE,EAAE,QARM;AASV/9K,MAAAA,CAAC,EAAE,IATO;AAUVg+K,MAAAA,EAAE,EAAE,OAVM;AAWVC,MAAAA,CAAC,EAAE,MAXO;AAYVC,MAAAA,EAAE,EAAE,SAZM;AAaV/7K,MAAAA,CAAC,EAAE,MAbO;AAcVg8K,MAAAA,EAAE,EAAE;AAdM,KArCsB;AAqDpC7B,IAAAA,aAAa,EAAE,mCArDqB;AAsDpCC,IAAAA,IAAI,EAAE,UAAU5tJ,KAAV,EAAiB;AACnB,aAAO,uBAAuBljC,IAAvB,CAA4BkjC,KAA5B,CAAP;AACH,KAxDmC;AAyDpC6tJ,IAAAA,QAAQ,EAAE,UAAUpvE,IAAV,EAAgB;AACtB,UAAIA,IAAI,GAAG,CAAX,EAAc;AACV,eAAO,SAAP;AACH,OAFD,MAEO,IAAIA,IAAI,GAAG,EAAX,EAAe;AAClB,eAAO,UAAP;AACH,OAFM,MAEA,IAAIA,IAAI,GAAG,EAAX,EAAe;AAClB,eAAO,SAAP;AACH,OAFM,MAEA;AACH,eAAO,UAAP;AACH;AACJ,KAnEmC;AAoEpCgxE,IAAAA,sBAAsB,EAAE,yBApEY;AAqEpCC,IAAAA,OAAO,EAAE,UAAUtgE,MAAV,EAAkBqiE,MAAlB,EAA0B;AAC/B,cAAQA,MAAR;AACI,aAAK,KAAL;AACA,aAAK,GAAL;AACA,aAAK,GAAL;AACA,aAAK,MAAL;AACI,cAAIriE,MAAM,KAAK,CAAf,EAAkB;AACd,mBAAOA,MAAM,GAAG,KAAhB;AACH;;AACD,iBAAOA,MAAM,GAAG,KAAhB;;AACJ;AACI,iBAAOA,MAAP;AAVR;AAYH,KAlFmC;AAmFpCugE,IAAAA,IAAI,EAAE;AACFC,MAAAA,GAAG,EAAE,CADH;AACM;AACRC,MAAAA,GAAG,EAAE,CAFH,CAEM;;AAFN;AAnF8B,GAA7B,CAAX;AAyFA,SAAOyH,IAAP;AAEH,CApGC,CAAD;;;;;;;;;;ACJD;AACA;AACA;AACA;AAEA;;AAAE,WAAU1kD,MAAV,EAAkB98J,OAAlB,EAA2B;AAC1B,UACuCA,OAAO,CAACy2L,mBAAO,CAAC,sBAAD,CAAR,CAD9C,GAEA,CAFA;AAIF,CALC,EAKA,IALA,EAKO,UAAUtwK,MAAV,EAAkB;AAAE,eAAF,CAEvB;;AAEA,MAAIrnB,EAAE,GAAGqnB,MAAM,CAACoxL,YAAP,CAAoB,IAApB,EAA0B;AAC/BC,IAAAA,MAAM,EAAE,yFAAyF9mM,KAAzF,CACJ,GADI,CADuB;AAI/B+mM,IAAAA,WAAW,EAAE,kDAAkD/mM,KAAlD,CAAwD,GAAxD,CAJkB;AAK/BgnM,IAAAA,QAAQ,EAAE,6CAA6ChnM,KAA7C,CAAmD,GAAnD,CALqB;AAM/BinM,IAAAA,aAAa,EAAE,8BAA8BjnM,KAA9B,CAAoC,GAApC,CANgB;AAO/BknM,IAAAA,WAAW,EAAE,uBAAuBlnM,KAAvB,CAA6B,GAA7B,CAPkB;AAQ/BynM,IAAAA,cAAc,EAAE;AACZC,MAAAA,EAAE,EAAE,OADQ;AAEZC,MAAAA,GAAG,EAAE,UAFO;AAGZC,MAAAA,CAAC,EAAE,YAHS;AAIZC,MAAAA,EAAE,EAAE,aAJQ;AAKZC,MAAAA,GAAG,EAAE,2BALO;AAMZC,MAAAA,IAAI,EAAE;AANM,KARe;AAgB/BZ,IAAAA,aAAa,EAAE,uBAhBgB;AAiB/BqE,IAAAA,YAAY,EAAE,UAAUvzE,IAAV,EAAgBovE,QAAhB,EAA0B;AACpC,UAAIpvE,IAAI,KAAK,EAAb,EAAiB;AACbA,QAAAA,IAAI,GAAG,CAAP;AACH;;AACD,UAAIovE,QAAQ,KAAK,MAAjB,EAAyB;AACrB,eAAOpvE,IAAP;AACH,OAFD,MAEO,IAAIovE,QAAQ,KAAK,OAAjB,EAA0B;AAC7B,eAAOpvE,IAAI,IAAI,EAAR,GAAaA,IAAb,GAAoBA,IAAI,GAAG,EAAlC;AACH,OAFM,MAEA,IAAIovE,QAAQ,KAAK,MAAb,IAAuBA,QAAQ,KAAK,OAAxC,EAAiD;AACpD,eAAOpvE,IAAI,GAAG,EAAd;AACH;AACJ,KA5B8B;AA6B/BovE,IAAAA,QAAQ,EAAE,UAAUC,KAAV,EAAiBC,OAAjB,EAA0BC,OAA1B,EAAmC;AACzC,UAAIF,KAAK,GAAG,EAAZ,EAAgB;AACZ,eAAO,MAAP;AACH,OAFD,MAEO,IAAIA,KAAK,GAAG,EAAZ,EAAgB;AACnB,eAAO,OAAP;AACH,OAFM,MAEA,IAAIA,KAAK,GAAG,EAAZ,EAAgB;AACnB,eAAO,MAAP;AACH,OAFM,MAEA;AACH,eAAO,OAAP;AACH;AACJ,KAvC8B;AAwC/BU,IAAAA,QAAQ,EAAE;AACNC,MAAAA,OAAO,EAAE,qBADH;AAENC,MAAAA,OAAO,EAAE,kBAFH;AAGNC,MAAAA,QAAQ,EAAE,iBAHJ;AAINC,MAAAA,OAAO,EAAE,oBAJH;AAKNC,MAAAA,QAAQ,EAAE,sBALJ;AAMNC,MAAAA,QAAQ,EAAE;AANJ,KAxCqB;AAgD/BC,IAAAA,YAAY,EAAE;AACVC,MAAAA,MAAM,EAAE,UADE;AAEVC,MAAAA,IAAI,EAAE,cAFI;AAGVl9K,MAAAA,CAAC,EAAE,gBAHO;AAIVm9K,MAAAA,EAAE,EAAE,UAJM;AAKVj7K,MAAAA,CAAC,EAAE,SALO;AAMVk7K,MAAAA,EAAE,EAAE,UANM;AAOV9wC,MAAAA,CAAC,EAAE,OAPO;AAQV+wC,MAAAA,EAAE,EAAE,QARM;AASV/9K,MAAAA,CAAC,EAAE,QATO;AAUVg+K,MAAAA,EAAE,EAAE,SAVM;AAWVC,MAAAA,CAAC,EAAE,SAXO;AAYVC,MAAAA,EAAE,EAAE,UAZM;AAaV/7K,MAAAA,CAAC,EAAE,SAbO;AAcVg8K,MAAAA,EAAE,EAAE;AAdM,KAhDiB;AAgE/BG,IAAAA,IAAI,EAAE;AACFC,MAAAA,GAAG,EAAE,CADH;AACM;AACRC,MAAAA,GAAG,EAAE,CAFH,CAEM;;AAFN;AAhEyB,GAA1B,CAAT;AAsEA,SAAOj7M,EAAP;AAEH,CAjFC,CAAD;;;;;;;;;;ACLD;AACA;AACA;AAEA;;AAAE,WAAUg+J,MAAV,EAAkB98J,OAAlB,EAA2B;AAC1B,UACuCA,OAAO,CAACy2L,mBAAO,CAAC,sBAAD,CAAR,CAD9C,GAEA,CAFA;AAIF,CALC,EAKA,IALA,EAKO,UAAUtwK,MAAV,EAAkB;AAAE,eAAF,CAEvB;;AAEA,WAASg1L,MAAT,CAAgBj/K,CAAhB,EAAmB;AACf,QAAIA,CAAC,GAAG,GAAJ,KAAY,EAAhB,EAAoB;AAChB,aAAO,IAAP;AACH,KAFD,MAEO,IAAIA,CAAC,GAAG,EAAJ,KAAW,CAAf,EAAkB;AACrB,aAAO,KAAP;AACH;;AACD,WAAO,IAAP;AACH;;AACD,WAAS5qC,SAAT,CAAmBgoJ,MAAnB,EAA2B6gE,aAA3B,EAA0C1iL,GAA1C,EAA+C2iL,QAA/C,EAAyD;AACrD,QAAI92M,MAAM,GAAGg2I,MAAM,GAAG,GAAtB;;AACA,YAAQ7hH,GAAR;AACI,WAAK,GAAL;AACI,eAAO0iL,aAAa,IAAIC,QAAjB,GACD,kBADC,GAED,kBAFN;;AAGJ,WAAK,IAAL;AACI,YAAIe,MAAM,CAAC7hE,MAAD,CAAV,EAAoB;AAChB,iBACIh2I,MAAM,IACL62M,aAAa,IAAIC,QAAjB,GAA4B,UAA5B,GAAyC,UADpC,CADV;AAIH;;AACD,eAAO92M,MAAM,GAAG,SAAhB;;AACJ,WAAK,GAAL;AACI,eAAO62M,aAAa,GAAG,QAAH,GAAc,QAAlC;;AACJ,WAAK,IAAL;AACI,YAAIgB,MAAM,CAAC7hE,MAAD,CAAV,EAAoB;AAChB,iBACIh2I,MAAM,IAAI62M,aAAa,IAAIC,QAAjB,GAA4B,SAA5B,GAAwC,SAA5C,CADV;AAGH,SAJD,MAIO,IAAID,aAAJ,EAAmB;AACtB,iBAAO72M,MAAM,GAAG,QAAhB;AACH;;AACD,eAAOA,MAAM,GAAG,QAAhB;;AACJ,WAAK,IAAL;AACI,YAAI63M,MAAM,CAAC7hE,MAAD,CAAV,EAAoB;AAChB,iBACIh2I,MAAM,IACL62M,aAAa,IAAIC,QAAjB,GACK,eADL,GAEK,eAHA,CADV;AAMH;;AACD,eAAO92M,MAAM,GAAG,aAAhB;;AACJ,WAAK,GAAL;AACI,YAAI62M,aAAJ,EAAmB;AACf,iBAAO,OAAP;AACH;;AACD,eAAOC,QAAQ,GAAG,KAAH,GAAW,MAA1B;;AACJ,WAAK,IAAL;AACI,YAAIe,MAAM,CAAC7hE,MAAD,CAAV,EAAoB;AAChB,cAAI6gE,aAAJ,EAAmB;AACf,mBAAO72M,MAAM,GAAG,OAAhB;AACH;;AACD,iBAAOA,MAAM,IAAI82M,QAAQ,GAAG,MAAH,GAAY,OAAxB,CAAb;AACH,SALD,MAKO,IAAID,aAAJ,EAAmB;AACtB,iBAAO72M,MAAM,GAAG,OAAhB;AACH;;AACD,eAAOA,MAAM,IAAI82M,QAAQ,GAAG,KAAH,GAAW,MAAvB,CAAb;;AACJ,WAAK,GAAL;AACI,YAAID,aAAJ,EAAmB;AACf,iBAAO,SAAP;AACH;;AACD,eAAOC,QAAQ,GAAG,OAAH,GAAa,QAA5B;;AACJ,WAAK,IAAL;AACI,YAAIe,MAAM,CAAC7hE,MAAD,CAAV,EAAoB;AAChB,cAAI6gE,aAAJ,EAAmB;AACf,mBAAO72M,MAAM,GAAG,SAAhB;AACH;;AACD,iBAAOA,MAAM,IAAI82M,QAAQ,GAAG,QAAH,GAAc,SAA1B,CAAb;AACH,SALD,MAKO,IAAID,aAAJ,EAAmB;AACtB,iBAAO72M,MAAM,GAAG,SAAhB;AACH;;AACD,eAAOA,MAAM,IAAI82M,QAAQ,GAAG,OAAH,GAAa,QAAzB,CAAb;;AACJ,WAAK,GAAL;AACI,eAAOD,aAAa,IAAIC,QAAjB,GAA4B,IAA5B,GAAmC,KAA1C;;AACJ,WAAK,IAAL;AACI,YAAIe,MAAM,CAAC7hE,MAAD,CAAV,EAAoB;AAChB,iBAAOh2I,MAAM,IAAI62M,aAAa,IAAIC,QAAjB,GAA4B,IAA5B,GAAmC,MAAvC,CAAb;AACH;;AACD,eAAO92M,MAAM,IAAI62M,aAAa,IAAIC,QAAjB,GAA4B,IAA5B,GAAmC,KAAvC,CAAb;AAtER;AAwEH;;AAED,MAAI59F,EAAE,GAAGr2F,MAAM,CAACoxL,YAAP,CAAoB,IAApB,EAA0B;AAC/BC,IAAAA,MAAM,EAAE,oFAAoF9mM,KAApF,CACJ,GADI,CADuB;AAI/B+mM,IAAAA,WAAW,EAAE,kDAAkD/mM,KAAlD,CAAwD,GAAxD,CAJkB;AAK/BgnM,IAAAA,QAAQ,EACJ,mFAAmFhnM,KAAnF,CACI,GADJ,CAN2B;AAS/BinM,IAAAA,aAAa,EAAE,8BAA8BjnM,KAA9B,CAAoC,GAApC,CATgB;AAU/BknM,IAAAA,WAAW,EAAE,uBAAuBlnM,KAAvB,CAA6B,GAA7B,CAVkB;AAW/BynM,IAAAA,cAAc,EAAE;AACZC,MAAAA,EAAE,EAAE,MADQ;AAEZC,MAAAA,GAAG,EAAE,SAFO;AAGZC,MAAAA,CAAC,EAAE,YAHS;AAIZC,MAAAA,EAAE,EAAE,cAJQ;AAKZC,MAAAA,GAAG,EAAE,yBALO;AAMZC,MAAAA,IAAI,EAAE;AANM,KAXe;AAmB/BC,IAAAA,QAAQ,EAAE;AACNC,MAAAA,OAAO,EAAE,gBADH;AAENC,MAAAA,OAAO,EAAE,mBAFH;AAGNC,MAAAA,QAAQ,EAAE,eAHJ;AAINC,MAAAA,OAAO,EAAE,gBAJH;AAKNC,MAAAA,QAAQ,EAAE,yBALJ;AAMNC,MAAAA,QAAQ,EAAE;AANJ,KAnBqB;AA2B/BC,IAAAA,YAAY,EAAE;AACVC,MAAAA,MAAM,EAAE,UADE;AAEVC,MAAAA,IAAI,EAAE,gBAFI;AAGVl9K,MAAAA,CAAC,EAAE3qC,SAHO;AAIV8nN,MAAAA,EAAE,EAAE9nN,SAJM;AAKV6sC,MAAAA,CAAC,EAAE7sC,SALO;AAMV+nN,MAAAA,EAAE,EAAE/nN,SANM;AAOVi3K,MAAAA,CAAC,EAAE,aAPO;AAQV+wC,MAAAA,EAAE,EAAEhoN,SARM;AASViqC,MAAAA,CAAC,EAAEjqC,SATO;AAUVioN,MAAAA,EAAE,EAAEjoN,SAVM;AAWVkoN,MAAAA,CAAC,EAAEloN,SAXO;AAYVmoN,MAAAA,EAAE,EAAEnoN,SAZM;AAaVosC,MAAAA,CAAC,EAAEpsC,SAbO;AAcVooN,MAAAA,EAAE,EAAEpoN;AAdM,KA3BiB;AA2C/BqoN,IAAAA,sBAAsB,EAAE,WA3CO;AA4C/BC,IAAAA,OAAO,EAAE,KA5CsB;AA6C/BC,IAAAA,IAAI,EAAE;AACFC,MAAAA,GAAG,EAAE,CADH;AACM;AACRC,MAAAA,GAAG,EAAE,CAFH,CAEM;;AAFN;AA7CyB,GAA1B,CAAT;AAmDA,SAAOv9F,EAAP;AAEH,CAlJC,CAAD;;;;;;;;;;ACJD;AACA;AACA;AAEA;;AAAE,WAAUsgD,MAAV,EAAkB98J,OAAlB,EAA2B;AAC1B,UACuCA,OAAO,CAACy2L,mBAAO,CAAC,sBAAD,CAAR,CAD9C,GAEA,CAFA;AAIF,CALC,EAKA,IALA,EAKO,UAAUtwK,MAAV,EAAkB;AAAE,eAAF,CAEvB;;AAEA,MAAIs7L,IAAI,GAAGt7L,MAAM,CAACoxL,YAAP,CAAoB,OAApB,EAA6B;AACpCC,IAAAA,MAAM,EAAE,gGAAgG9mM,KAAhG,CACJ,GADI,CAD4B;AAIpC+mM,IAAAA,WAAW,EAAE,kDAAkD/mM,KAAlD,CAAwD,GAAxD,CAJuB;AAKpCgnM,IAAAA,QAAQ,EAAE,2DAA2DhnM,KAA3D,CACN,GADM,CAL0B;AAQpCinM,IAAAA,aAAa,EAAE,8BAA8BjnM,KAA9B,CAAoC,GAApC,CARqB;AASpCknM,IAAAA,WAAW,EAAE,uBAAuBlnM,KAAvB,CAA6B,GAA7B,CATuB;AAUpCynM,IAAAA,cAAc,EAAE;AACZC,MAAAA,EAAE,EAAE,OADQ;AAEZC,MAAAA,GAAG,EAAE,UAFO;AAGZC,MAAAA,CAAC,EAAE,YAHS;AAIZC,MAAAA,EAAE,EAAE,aAJQ;AAKZC,MAAAA,GAAG,EAAE,mBALO;AAMZC,MAAAA,IAAI,EAAE;AANM,KAVoB;AAkBpCC,IAAAA,QAAQ,EAAE;AACNC,MAAAA,OAAO,EAAE,gBADH;AAENC,MAAAA,OAAO,EAAE,kBAFH;AAGNC,MAAAA,QAAQ,EAAE,gBAHJ;AAINC,MAAAA,OAAO,EAAE,gBAJH;AAKNC,MAAAA,QAAQ,EAAE,YAAY;AAClB,gBAAQ,KAAK2C,GAAL,EAAR;AACI,eAAK,CAAL;AACI,mBAAO,4BAAP;;AACJ;AACI,mBAAO,4BAAP;AAJR;AAMH,OAZK;AAaN1C,MAAAA,QAAQ,EAAE;AAbJ,KAlB0B;AAiCpCC,IAAAA,YAAY,EAAE;AACVC,MAAAA,MAAM,EAAE,UAAUj9K,CAAV,EAAa;AACjB,eAAO,CAAC,YAAYjV,IAAZ,CAAiBiV,CAAjB,IAAsB,KAAtB,GAA8B,IAA/B,IAAuC,GAAvC,GAA6CA,CAApD;AACH,OAHS;AAIVk9K,MAAAA,IAAI,EAAE,OAJI;AAKVl9K,MAAAA,CAAC,EAAE,gBALO;AAMVm9K,MAAAA,EAAE,EAAE,YANM;AAOVj7K,MAAAA,CAAC,EAAE,WAPO;AAQVk7K,MAAAA,EAAE,EAAE,WARM;AASV9wC,MAAAA,CAAC,EAAE,QATO;AAUV+wC,MAAAA,EAAE,EAAE,QAVM;AAWV/9K,MAAAA,CAAC,EAAE,WAXO;AAYVg+K,MAAAA,EAAE,EAAE,WAZM;AAaVC,MAAAA,CAAC,EAAE,SAbO;AAcVC,MAAAA,EAAE,EAAE,SAdM;AAeV/7K,MAAAA,CAAC,EAAE,SAfO;AAgBVg8K,MAAAA,EAAE,EAAE;AAhBM,KAjCsB;AAmDpCC,IAAAA,sBAAsB,EAAE,UAnDY;AAoDpCC,IAAAA,OAAO,EAAE,KApD2B;AAqDpCC,IAAAA,IAAI,EAAE;AACFC,MAAAA,GAAG,EAAE,CADH;AACM;AACRC,MAAAA,GAAG,EAAE,CAFH,CAEM;;AAFN;AArD8B,GAA7B,CAAX;AA2DA,SAAO0H,IAAP;AAEH,CAtEC,CAAD;;;;;;;;;;ACJD;AACA;AACA;AACA;AACA;AAEA;;AAAE,WAAU3kD,MAAV,EAAkB98J,OAAlB,EAA2B;AAC1B,UACuCA,OAAO,CAACy2L,mBAAO,CAAC,sBAAD,CAAR,CAD9C,GAEA,CAFA;AAIF,CALC,EAKA,IALA,EAKO,UAAUtwK,MAAV,EAAkB;AAAE,eAAF,CAEvB;;AAEA,MAAIu7L,EAAE,GAAGv7L,MAAM,CAACoxL,YAAP,CAAoB,IAApB,EAA0B;AAC/BC,IAAAA,MAAM,EAAE,gGAAgG9mM,KAAhG,CACJ,GADI,CADuB;AAI/B+mM,IAAAA,WAAW,EAAE,kDAAkD/mM,KAAlD,CAAwD,GAAxD,CAJkB;AAK/BgnM,IAAAA,QAAQ,EAAE,2DAA2DhnM,KAA3D,CACN,GADM,CALqB;AAQ/BinM,IAAAA,aAAa,EAAE,8BAA8BjnM,KAA9B,CAAoC,GAApC,CARgB;AAS/BknM,IAAAA,WAAW,EAAE,uBAAuBlnM,KAAvB,CAA6B,GAA7B,CATkB;AAU/BynM,IAAAA,cAAc,EAAE;AACZC,MAAAA,EAAE,EAAE,OADQ;AAEZC,MAAAA,GAAG,EAAE,UAFO;AAGZC,MAAAA,CAAC,EAAE,YAHS;AAIZC,MAAAA,EAAE,EAAE,aAJQ;AAKZC,MAAAA,GAAG,EAAE,mBALO;AAMZC,MAAAA,IAAI,EAAE;AANM,KAVe;AAkB/BC,IAAAA,QAAQ,EAAE;AACNC,MAAAA,OAAO,EAAE,YAAY;AACjB,eACI,aACC,KAAKX,KAAL,KAAe,CAAf,GAAmB,MAAnB,GAA4B,KAAKA,KAAL,OAAiB,CAAjB,GAAqB,GAArB,GAA2B,KADxD,IAEA,KAHJ;AAKH,OAPK;AAQNY,MAAAA,OAAO,EAAE,YAAY;AACjB,eACI,eACC,KAAKZ,KAAL,KAAe,CAAf,GAAmB,MAAnB,GAA4B,KAAKA,KAAL,OAAiB,CAAjB,GAAqB,GAArB,GAA2B,KADxD,IAEA,KAHJ;AAKH,OAdK;AAeNa,MAAAA,QAAQ,EAAE,YAAY;AAClB,eACI,aACC,KAAKb,KAAL,KAAe,CAAf,GAAmB,MAAnB,GAA4B,KAAKA,KAAL,OAAiB,CAAjB,GAAqB,GAArB,GAA2B,KADxD,IAEA,KAHJ;AAKH,OArBK;AAsBNc,MAAAA,OAAO,EAAE,YAAY;AACjB,eACI,aACC,KAAKd,KAAL,KAAe,CAAf,GAAmB,MAAnB,GAA4B,KAAKA,KAAL,OAAiB,CAAjB,GAAqB,GAArB,GAA2B,KADxD,IAEA,KAHJ;AAKH,OA5BK;AA6BNe,MAAAA,QAAQ,EAAE,YAAY;AAClB,gBAAQ,KAAK2C,GAAL,EAAR;AACI,eAAK,CAAL;AACI,mBACI,yBACC,KAAK1D,KAAL,KAAe,CAAf,GACK,MADL,GAEK,KAAKA,KAAL,OAAiB,CAAjB,GACA,GADA,GAEA,KALN,IAMA,KAPJ;;AASJ;AACI,mBACI,yBACC,KAAKA,KAAL,KAAe,CAAf,GACK,MADL,GAEK,KAAKA,KAAL,OAAiB,CAAjB,GACA,GADA,GAEA,KALN,IAMA,KAPJ;AAZR;AAsBH,OApDK;AAqDNgB,MAAAA,QAAQ,EAAE;AArDJ,KAlBqB;AAyE/BC,IAAAA,YAAY,EAAE;AACVC,MAAAA,MAAM,EAAE,QADE;AAEVC,MAAAA,IAAI,EAAE,OAFI;AAGVl9K,MAAAA,CAAC,EAAE,gBAHO;AAIVm9K,MAAAA,EAAE,EAAE,YAJM;AAKVj7K,MAAAA,CAAC,EAAE,WALO;AAMVk7K,MAAAA,EAAE,EAAE,WANM;AAOV9wC,MAAAA,CAAC,EAAE,QAPO;AAQV+wC,MAAAA,EAAE,EAAE,QARM;AASV/9K,MAAAA,CAAC,EAAE,WATO;AAUVg+K,MAAAA,EAAE,EAAE,WAVM;AAWVx5C,MAAAA,CAAC,EAAE,eAXO;AAYV87C,MAAAA,EAAE,EAAE,cAZM;AAaVrC,MAAAA,CAAC,EAAE,SAbO;AAcVC,MAAAA,EAAE,EAAE,SAdM;AAeV/7K,MAAAA,CAAC,EAAE,SAfO;AAgBVg8K,MAAAA,EAAE,EAAE;AAhBM,KAzEiB;AA2F/BC,IAAAA,sBAAsB,EAAE,UA3FO;AA4F/BC,IAAAA,OAAO,EAAE,KA5FsB;AA6F/BC,IAAAA,IAAI,EAAE;AACFC,MAAAA,GAAG,EAAE,CADH;AACM;AACRC,MAAAA,GAAG,EAAE,CAFH,CAEM;;AAFN;AA7FyB,GAA1B,CAAT;AAmGA,SAAO2H,EAAP;AAEH,CA9GC,CAAD;;;;;;;;;;ACND;AACA;AACA;AAEA;;AAAE,WAAU5kD,MAAV,EAAkB98J,OAAlB,EAA2B;AAC1B,UACuCA,OAAO,CAACy2L,mBAAO,CAAC,sBAAD,CAAR,CAD9C,GAEA,CAFA;AAIF,CALC,EAKA,IALA,EAKO,UAAUtwK,MAAV,EAAkB;AAAE,eAAF,CAEvB;;AAEA,MAAIw7L,EAAE,GAAGx7L,MAAM,CAACoxL,YAAP,CAAoB,IAApB,EAA0B;AAC/BqK,IAAAA,IAAI,EAAE,CACF;AACIC,MAAAA,KAAK,EAAE,YADX;AAEI7yG,MAAAA,MAAM,EAAE,CAFZ;AAGI7sG,MAAAA,IAAI,EAAE,IAHV;AAII2/M,MAAAA,MAAM,EAAE,GAJZ;AAKIlQ,MAAAA,IAAI,EAAE;AALV,KADE,EAQF;AACIiQ,MAAAA,KAAK,EAAE,YADX;AAEIn5M,MAAAA,KAAK,EAAE,YAFX;AAGIsmG,MAAAA,MAAM,EAAE,CAHZ;AAII7sG,MAAAA,IAAI,EAAE,IAJV;AAKI2/M,MAAAA,MAAM,EAAE,GALZ;AAMIlQ,MAAAA,IAAI,EAAE;AANV,KARE,EAgBF;AACIiQ,MAAAA,KAAK,EAAE,YADX;AAEIn5M,MAAAA,KAAK,EAAE,YAFX;AAGIsmG,MAAAA,MAAM,EAAE,CAHZ;AAII7sG,MAAAA,IAAI,EAAE,IAJV;AAKI2/M,MAAAA,MAAM,EAAE,GALZ;AAMIlQ,MAAAA,IAAI,EAAE;AANV,KAhBE,EAwBF;AACIiQ,MAAAA,KAAK,EAAE,YADX;AAEIn5M,MAAAA,KAAK,EAAE,YAFX;AAGIsmG,MAAAA,MAAM,EAAE,CAHZ;AAII7sG,MAAAA,IAAI,EAAE,IAJV;AAKI2/M,MAAAA,MAAM,EAAE,GALZ;AAMIlQ,MAAAA,IAAI,EAAE;AANV,KAxBE,EAgCF;AACIiQ,MAAAA,KAAK,EAAE,YADX;AAEIn5M,MAAAA,KAAK,EAAE,YAFX;AAGIsmG,MAAAA,MAAM,EAAE,CAHZ;AAII7sG,MAAAA,IAAI,EAAE,IAJV;AAKI2/M,MAAAA,MAAM,EAAE,GALZ;AAMIlQ,MAAAA,IAAI,EAAE;AANV,KAhCE,EAwCF;AACIiQ,MAAAA,KAAK,EAAE,YADX;AAEIn5M,MAAAA,KAAK,EAAE,YAFX;AAGIsmG,MAAAA,MAAM,EAAE,CAHZ;AAII7sG,MAAAA,IAAI,EAAE,IAJV;AAKI2/M,MAAAA,MAAM,EAAE,IALZ;AAMIlQ,MAAAA,IAAI,EAAE;AANV,KAxCE,EAgDF;AACIiQ,MAAAA,KAAK,EAAE,YADX;AAEIn5M,MAAAA,KAAK,EAAE,CAAC4nM,QAFZ;AAGIthG,MAAAA,MAAM,EAAE,CAHZ;AAII7sG,MAAAA,IAAI,EAAE,KAJV;AAKI2/M,MAAAA,MAAM,EAAE,IALZ;AAMIlQ,MAAAA,IAAI,EAAE;AANV,KAhDE,CADyB;AA0D/BmQ,IAAAA,mBAAmB,EAAE,UA1DU;AA2D/BC,IAAAA,mBAAmB,EAAE,UAAU93J,KAAV,EAAiB2xB,KAAjB,EAAwB;AACzC,aAAOA,KAAK,CAAC,CAAD,CAAL,KAAa,GAAb,GAAmB,CAAnB,GAAuBtmD,QAAQ,CAACsmD,KAAK,CAAC,CAAD,CAAL,IAAY3xB,KAAb,EAAoB,EAApB,CAAtC;AACH,KA7D8B;AA8D/BstJ,IAAAA,MAAM,EAAE,yCAAyC9mM,KAAzC,CAA+C,GAA/C,CA9DuB;AA+D/B+mM,IAAAA,WAAW,EAAE,yCAAyC/mM,KAAzC,CACT,GADS,CA/DkB;AAkE/BgnM,IAAAA,QAAQ,EAAE,8BAA8BhnM,KAA9B,CAAoC,GAApC,CAlEqB;AAmE/BinM,IAAAA,aAAa,EAAE,gBAAgBjnM,KAAhB,CAAsB,GAAtB,CAnEgB;AAoE/BknM,IAAAA,WAAW,EAAE,gBAAgBlnM,KAAhB,CAAsB,GAAtB,CApEkB;AAqE/BynM,IAAAA,cAAc,EAAE;AACZC,MAAAA,EAAE,EAAE,OADQ;AAEZC,MAAAA,GAAG,EAAE,UAFO;AAGZC,MAAAA,CAAC,EAAE,YAHS;AAIZC,MAAAA,EAAE,EAAE,WAJQ;AAKZC,MAAAA,GAAG,EAAE,iBALO;AAMZC,MAAAA,IAAI,EAAE,sBANM;AAOZoF,MAAAA,CAAC,EAAE,YAPS;AAQZH,MAAAA,EAAE,EAAE,WARQ;AASZC,MAAAA,GAAG,EAAE,iBATO;AAUZC,MAAAA,IAAI,EAAE;AAVM,KArEe;AAiF/B/F,IAAAA,aAAa,EAAE,QAjFgB;AAkF/BC,IAAAA,IAAI,EAAE,UAAU5tJ,KAAV,EAAiB;AACnB,aAAOA,KAAK,KAAK,IAAjB;AACH,KApF8B;AAqF/B6tJ,IAAAA,QAAQ,EAAE,UAAUpvE,IAAV,EAAgB4xE,MAAhB,EAAwBrC,OAAxB,EAAiC;AACvC,UAAIvvE,IAAI,GAAG,EAAX,EAAe;AACX,eAAO,IAAP;AACH,OAFD,MAEO;AACH,eAAO,IAAP;AACH;AACJ,KA3F8B;AA4F/B+vE,IAAAA,QAAQ,EAAE;AACNC,MAAAA,OAAO,EAAE,SADH;AAENC,MAAAA,OAAO,EAAE,SAFH;AAGNC,MAAAA,QAAQ,EAAE,UAAUpgJ,GAAV,EAAe;AACrB,YAAIA,GAAG,CAACohJ,IAAJ,OAAe,KAAKA,IAAL,EAAnB,EAAgC;AAC5B,iBAAO,aAAP;AACH,SAFD,MAEO;AACH,iBAAO,SAAP;AACH;AACJ,OATK;AAUNf,MAAAA,OAAO,EAAE,SAVH;AAWNC,MAAAA,QAAQ,EAAE,UAAUtgJ,GAAV,EAAe;AACrB,YAAI,KAAKohJ,IAAL,OAAgBphJ,GAAG,CAACohJ,IAAJ,EAApB,EAAgC;AAC5B,iBAAO,aAAP;AACH,SAFD,MAEO;AACH,iBAAO,SAAP;AACH;AACJ,OAjBK;AAkBNb,MAAAA,QAAQ,EAAE;AAlBJ,KA5FqB;AAgH/BW,IAAAA,sBAAsB,EAAE,UAhHO;AAiH/BC,IAAAA,OAAO,EAAE,UAAUtgE,MAAV,EAAkBqiE,MAAlB,EAA0B;AAC/B,cAAQA,MAAR;AACI,aAAK,GAAL;AACI,iBAAOriE,MAAM,KAAK,CAAX,GAAe,IAAf,GAAsBA,MAAM,GAAG,GAAtC;;AACJ,aAAK,GAAL;AACA,aAAK,GAAL;AACA,aAAK,KAAL;AACI,iBAAOA,MAAM,GAAG,GAAhB;;AACJ;AACI,iBAAOA,MAAP;AARR;AAUH,KA5H8B;AA6H/B2/D,IAAAA,YAAY,EAAE;AACVC,MAAAA,MAAM,EAAE,KADE;AAEVC,MAAAA,IAAI,EAAE,KAFI;AAGVl9K,MAAAA,CAAC,EAAE,IAHO;AAIVm9K,MAAAA,EAAE,EAAE,KAJM;AAKVj7K,MAAAA,CAAC,EAAE,IALO;AAMVk7K,MAAAA,EAAE,EAAE,KANM;AAOV9wC,MAAAA,CAAC,EAAE,KAPO;AAQV+wC,MAAAA,EAAE,EAAE,MARM;AASV/9K,MAAAA,CAAC,EAAE,IATO;AAUVg+K,MAAAA,EAAE,EAAE,KAVM;AAWVC,MAAAA,CAAC,EAAE,KAXO;AAYVC,MAAAA,EAAE,EAAE,MAZM;AAaV/7K,MAAAA,CAAC,EAAE,IAbO;AAcVg8K,MAAAA,EAAE,EAAE;AAdM;AA7HiB,GAA1B,CAAT;AA+IA,SAAOiI,EAAP;AAEH,CA1JC,CAAD;;;;;;;;;;ACJD;AACA;AACA;AACA;AAEA;;AAAE,WAAU7kD,MAAV,EAAkB98J,OAAlB,EAA2B;AAC1B,UACuCA,OAAO,CAACy2L,mBAAO,CAAC,sBAAD,CAAR,CAD9C,GAEA,CAFA;AAIF,CALC,EAKA,IALA,EAKO,UAAUtwK,MAAV,EAAkB;AAAE,eAAF,CAEvB;;AAEA,MAAI87L,EAAE,GAAG97L,MAAM,CAACoxL,YAAP,CAAoB,IAApB,EAA0B;AAC/BC,IAAAA,MAAM,EAAE,yFAAyF9mM,KAAzF,CACJ,GADI,CADuB;AAI/B+mM,IAAAA,WAAW,EAAE,kDAAkD/mM,KAAlD,CAAwD,GAAxD,CAJkB;AAK/BgnM,IAAAA,QAAQ,EAAE,+CAA+ChnM,KAA/C,CAAqD,GAArD,CALqB;AAM/BinM,IAAAA,aAAa,EAAE,8BAA8BjnM,KAA9B,CAAoC,GAApC,CANgB;AAO/BknM,IAAAA,WAAW,EAAE,uBAAuBlnM,KAAvB,CAA6B,GAA7B,CAPkB;AAQ/BynM,IAAAA,cAAc,EAAE;AACZC,MAAAA,EAAE,EAAE,OADQ;AAEZC,MAAAA,GAAG,EAAE,UAFO;AAGZC,MAAAA,CAAC,EAAE,YAHS;AAIZC,MAAAA,EAAE,EAAE,aAJQ;AAKZC,MAAAA,GAAG,EAAE,2BALO;AAMZC,MAAAA,IAAI,EAAE;AANM,KARe;AAgB/BZ,IAAAA,aAAa,EAAE,4BAhBgB;AAiB/BqE,IAAAA,YAAY,EAAE,UAAUvzE,IAAV,EAAgBovE,QAAhB,EAA0B;AACpC,UAAIpvE,IAAI,KAAK,EAAb,EAAiB;AACbA,QAAAA,IAAI,GAAG,CAAP;AACH;;AACD,UAAIovE,QAAQ,KAAK,QAAjB,EAA2B;AACvB,eAAOpvE,IAAP;AACH,OAFD,MAEO,IAAIovE,QAAQ,KAAK,QAAjB,EAA2B;AAC9B,eAAOpvE,IAAI,IAAI,EAAR,GAAaA,IAAb,GAAoBA,IAAI,GAAG,EAAlC;AACH,OAFM,MAEA,IAAIovE,QAAQ,KAAK,QAAb,IAAyBA,QAAQ,KAAK,OAA1C,EAAmD;AACtD,eAAOpvE,IAAI,GAAG,EAAd;AACH;AACJ,KA5B8B;AA6B/BovE,IAAAA,QAAQ,EAAE,UAAUC,KAAV,EAAiBC,OAAjB,EAA0BC,OAA1B,EAAmC;AACzC,UAAIF,KAAK,GAAG,EAAZ,EAAgB;AACZ,eAAO,QAAP;AACH,OAFD,MAEO,IAAIA,KAAK,GAAG,EAAZ,EAAgB;AACnB,eAAO,QAAP;AACH,OAFM,MAEA,IAAIA,KAAK,GAAG,EAAZ,EAAgB;AACnB,eAAO,QAAP;AACH,OAFM,MAEA;AACH,eAAO,OAAP;AACH;AACJ,KAvC8B;AAwC/BU,IAAAA,QAAQ,EAAE;AACNC,MAAAA,OAAO,EAAE,0BADH;AAENC,MAAAA,OAAO,EAAE,qBAFH;AAGNC,MAAAA,QAAQ,EAAE,iBAHJ;AAINC,MAAAA,OAAO,EAAE,uBAJH;AAKNC,MAAAA,QAAQ,EAAE,2BALJ;AAMNC,MAAAA,QAAQ,EAAE;AANJ,KAxCqB;AAgD/BC,IAAAA,YAAY,EAAE;AACVC,MAAAA,MAAM,EAAE,eADE;AAEVC,MAAAA,IAAI,EAAE,sBAFI;AAGVl9K,MAAAA,CAAC,EAAE,iBAHO;AAIVm9K,MAAAA,EAAE,EAAE,UAJM;AAKVj7K,MAAAA,CAAC,EAAE,iBALO;AAMVk7K,MAAAA,EAAE,EAAE,UANM;AAOV9wC,MAAAA,CAAC,EAAE,eAPO;AAQV+wC,MAAAA,EAAE,EAAE,QARM;AASV/9K,MAAAA,CAAC,EAAE,UATO;AAUVg+K,MAAAA,EAAE,EAAE,WAVM;AAWVC,MAAAA,CAAC,EAAE,SAXO;AAYVC,MAAAA,EAAE,EAAE,UAZM;AAaV/7K,MAAAA,CAAC,EAAE,QAbO;AAcVg8K,MAAAA,EAAE,EAAE;AAdM,KAhDiB;AAgE/BG,IAAAA,IAAI,EAAE;AACFC,MAAAA,GAAG,EAAE,CADH;AACM;AACRC,MAAAA,GAAG,EAAE,CAFH,CAEM;;AAFN;AAhEyB,GAA1B,CAAT;AAsEA,SAAOkI,EAAP;AAEH,CAjFC,CAAD;;;;;;;;;;ACLD;AACA;AACA;AAEA;;AAAE,WAAUnlD,MAAV,EAAkB98J,OAAlB,EAA2B;AAC1B,UACuCA,OAAO,CAACy2L,mBAAO,CAAC,sBAAD,CAAR,CAD9C,GAEA,CAFA;AAIF,CALC,EAKA,IALA,EAKO,UAAUtwK,MAAV,EAAkB;AAAE,eAAF,CAEvB;;AAEA,MAAI+7L,EAAE,GAAG/7L,MAAM,CAACoxL,YAAP,CAAoB,IAApB,EAA0B;AAC/BC,IAAAA,MAAM,EAAE,qGAAqG9mM,KAArG,CACJ,GADI,CADuB;AAI/B+mM,IAAAA,WAAW,EAAE,kDAAkD/mM,KAAlD,CAAwD,GAAxD,CAJkB;AAK/BgnM,IAAAA,QAAQ,EAAE;AACN8D,MAAAA,UAAU,EACN,gEAAgE9qM,KAAhE,CACI,GADJ,CAFE;AAKN8V,MAAAA,MAAM,EAAE,iEAAiE9V,KAAjE,CACJ,GADI,CALF;AAQN+qM,MAAAA,QAAQ,EAAE;AARJ,KALqB;AAe/B9D,IAAAA,aAAa,EAAE,8BAA8BjnM,KAA9B,CAAoC,GAApC,CAfgB;AAgB/BknM,IAAAA,WAAW,EAAE,uBAAuBlnM,KAAvB,CAA6B,GAA7B,CAhBkB;AAiB/BynM,IAAAA,cAAc,EAAE;AACZC,MAAAA,EAAE,EAAE,OADQ;AAEZC,MAAAA,GAAG,EAAE,UAFO;AAGZC,MAAAA,CAAC,EAAE,YAHS;AAIZC,MAAAA,EAAE,EAAE,aAJQ;AAKZC,MAAAA,GAAG,EAAE,mBALO;AAMZC,MAAAA,IAAI,EAAE;AANM,KAjBe;AAyB/BC,IAAAA,QAAQ,EAAE;AACNC,MAAAA,OAAO,EAAE,gBADH;AAENC,MAAAA,OAAO,EAAE,gBAFH;AAGNE,MAAAA,OAAO,EAAE,iBAHH;AAIND,MAAAA,QAAQ,EAAE,uBAJJ;AAKNE,MAAAA,QAAQ,EAAE,mBALJ;AAMNC,MAAAA,QAAQ,EAAE;AANJ,KAzBqB;AAiC/BC,IAAAA,YAAY,EAAE;AACVC,MAAAA,MAAM,EAAE,UAAUj9K,CAAV,EAAa;AACjB,eAAOA,CAAC,CAACjrB,OAAF,CACH,+BADG,EAEH,UAAUmxM,EAAV,EAAcC,EAAd,EAAkBC,EAAlB,EAAsB;AAClB,iBAAOA,EAAE,KAAK,GAAP,GAAaD,EAAE,GAAG,IAAlB,GAAyBA,EAAE,GAAGC,EAAL,GAAU,IAA1C;AACH,SAJE,CAAP;AAMH,OARS;AASVlJ,MAAAA,IAAI,EAAE,UAAUl9K,CAAV,EAAa;AACf,YAAI,4BAA4BjV,IAA5B,CAAiCiV,CAAjC,CAAJ,EAAyC;AACrC,iBAAOA,CAAC,CAACjrB,OAAF,CAAU,QAAV,EAAoB,QAApB,CAAP;AACH;;AACD,YAAI,OAAOgW,IAAP,CAAYiV,CAAZ,CAAJ,EAAoB;AAChB,iBAAOA,CAAC,CAACjrB,OAAF,CAAU,OAAV,EAAmB,UAAnB,CAAP;AACH;;AACD,eAAOirB,CAAP;AACH,OAjBS;AAkBVA,MAAAA,CAAC,EAAE,gBAlBO;AAmBVm9K,MAAAA,EAAE,EAAE,SAnBM;AAoBVj7K,MAAAA,CAAC,EAAE,MApBO;AAqBVk7K,MAAAA,EAAE,EAAE,SArBM;AAsBV9wC,MAAAA,CAAC,EAAE,OAtBO;AAuBV+wC,MAAAA,EAAE,EAAE,UAvBM;AAwBV/9K,MAAAA,CAAC,EAAE,KAxBO;AAyBVg+K,MAAAA,EAAE,EAAE,QAzBM;AA0BVC,MAAAA,CAAC,EAAE,KA1BO;AA2BVC,MAAAA,EAAE,EAAE,QA3BM;AA4BV/7K,MAAAA,CAAC,EAAE,MA5BO;AA6BVg8K,MAAAA,EAAE,EAAE;AA7BM,KAjCiB;AAgE/BC,IAAAA,sBAAsB,EAAE,6BAhEO;AAiE/BC,IAAAA,OAAO,EAAE,UAAUtgE,MAAV,EAAkB;AACvB,UAAIA,MAAM,KAAK,CAAf,EAAkB;AACd,eAAOA,MAAP;AACH;;AACD,UAAIA,MAAM,KAAK,CAAf,EAAkB;AACd,eAAOA,MAAM,GAAG,KAAhB;AACH;;AACD,UACIA,MAAM,GAAG,EAAT,IACCA,MAAM,IAAI,GAAV,IAAiBA,MAAM,GAAG,EAAT,KAAgB,CADlC,IAEAA,MAAM,GAAG,GAAT,KAAiB,CAHrB,EAIE;AACE,eAAO,QAAQA,MAAf;AACH;;AACD,aAAOA,MAAM,GAAG,IAAhB;AACH,KAhF8B;AAiF/BugE,IAAAA,IAAI,EAAE;AACFC,MAAAA,GAAG,EAAE,CADH;AAEFC,MAAAA,GAAG,EAAE;AAFH;AAjFyB,GAA1B,CAAT;AAuFA,SAAOmI,EAAP;AAEH,CAlGC,CAAD;;;;;;;;;;ACJD;AACA;AACA;AAEA;;AAAE,WAAUplD,MAAV,EAAkB98J,OAAlB,EAA2B;AAC1B,UACuCA,OAAO,CAACy2L,mBAAO,CAAC,sBAAD,CAAR,CAD9C,GAEA,CAFA;AAIF,CALC,EAKA,IALA,EAKO,UAAUtwK,MAAV,EAAkB;AAAE,eAAF,CAEvB;;AAEA,MAAI80L,QAAQ,GAAG;AACX,OAAG,KADQ;AAEX,OAAG,KAFQ;AAGX,OAAG,KAHQ;AAIX,OAAG,KAJQ;AAKX,OAAG,KALQ;AAMX,OAAG,KANQ;AAOX,OAAG,KAPQ;AAQX,OAAG,KARQ;AASX,OAAG,KATQ;AAUX,OAAG,KAVQ;AAWX,QAAI,KAXO;AAYX,QAAI,KAZO;AAaX,QAAI,KAbO;AAcX,QAAI,KAdO;AAeX,QAAI,KAfO;AAgBX,QAAI,KAhBO;AAiBX,QAAI,KAjBO;AAkBX,QAAI,KAlBO;AAmBX,QAAI,KAnBO;AAoBX,SAAK;AApBM,GAAf;AAuBA,MAAIqH,EAAE,GAAGn8L,MAAM,CAACoxL,YAAP,CAAoB,IAApB,EAA0B;AAC/BC,IAAAA,MAAM,EAAE,qFAAqF9mM,KAArF,CACJ,GADI,CADuB;AAI/B+mM,IAAAA,WAAW,EAAE,kDAAkD/mM,KAAlD,CAAwD,GAAxD,CAJkB;AAK/BgnM,IAAAA,QAAQ,EAAE,0DAA0DhnM,KAA1D,CACN,GADM,CALqB;AAQ/BinM,IAAAA,aAAa,EAAE,8BAA8BjnM,KAA9B,CAAoC,GAApC,CARgB;AAS/BknM,IAAAA,WAAW,EAAE,uBAAuBlnM,KAAvB,CAA6B,GAA7B,CATkB;AAU/BynM,IAAAA,cAAc,EAAE;AACZC,MAAAA,EAAE,EAAE,OADQ;AAEZC,MAAAA,GAAG,EAAE,UAFO;AAGZC,MAAAA,CAAC,EAAE,YAHS;AAIZC,MAAAA,EAAE,EAAE,aAJQ;AAKZC,MAAAA,GAAG,EAAE,mBALO;AAMZC,MAAAA,IAAI,EAAE;AANM,KAVe;AAkB/BC,IAAAA,QAAQ,EAAE;AACNC,MAAAA,OAAO,EAAE,kBADH;AAENC,MAAAA,OAAO,EAAE,kBAFH;AAGNC,MAAAA,QAAQ,EAAE,iBAHJ;AAINC,MAAAA,OAAO,EAAE,iBAJH;AAKNC,MAAAA,QAAQ,EAAE,iCALJ;AAMNC,MAAAA,QAAQ,EAAE;AANJ,KAlBqB;AA0B/BC,IAAAA,YAAY,EAAE;AACVC,MAAAA,MAAM,EAAE,WADE;AAEVC,MAAAA,IAAI,EAAE,UAFI;AAGVl9K,MAAAA,CAAC,EAAE,gBAHO;AAIVm9K,MAAAA,EAAE,EAAE,WAJM;AAKVj7K,MAAAA,CAAC,EAAE,WALO;AAMVk7K,MAAAA,EAAE,EAAE,UANM;AAOV9wC,MAAAA,CAAC,EAAE,WAPO;AAQV+wC,MAAAA,EAAE,EAAE,UARM;AASV/9K,MAAAA,CAAC,EAAE,SATO;AAUVg+K,MAAAA,EAAE,EAAE,QAVM;AAWVC,MAAAA,CAAC,EAAE,QAXO;AAYVC,MAAAA,EAAE,EAAE,OAZM;AAaV/7K,MAAAA,CAAC,EAAE,SAbO;AAcVg8K,MAAAA,EAAE,EAAE;AAdM,KA1BiB;AA0C/BC,IAAAA,sBAAsB,EAAE,iBA1CO;AA2C/BC,IAAAA,OAAO,EAAE,UAAUtgE,MAAV,EAAkB;AACvB,UAAIvlE,CAAC,GAAGulE,MAAM,GAAG,EAAjB;AAAA,UACI99G,CAAC,GAAG89G,MAAM,IAAI,GAAV,GAAgB,GAAhB,GAAsB,IAD9B;AAEA,aAAOA,MAAM,IAAI2hE,QAAQ,CAAC3hE,MAAD,CAAR,IAAoB2hE,QAAQ,CAAClnI,CAAD,CAA5B,IAAmCknI,QAAQ,CAACz/K,CAAD,CAA/C,CAAb;AACH,KA/C8B;AAgD/Bq+K,IAAAA,IAAI,EAAE;AACFC,MAAAA,GAAG,EAAE,CADH;AACM;AACRC,MAAAA,GAAG,EAAE,CAFH,CAEM;;AAFN;AAhDyB,GAA1B,CAAT;AAsDA,SAAOuI,EAAP;AAEH,CAxFC,CAAD;;;;;;;;;;ACJD;AACA;AACA;AAEA;;AAAE,WAAUxlD,MAAV,EAAkB98J,OAAlB,EAA2B;AAC1B,UACuCA,OAAO,CAACy2L,mBAAO,CAAC,sBAAD,CAAR,CAD9C,GAEA,CAFA;AAIF,CALC,EAKA,IALA,EAKO,UAAUtwK,MAAV,EAAkB;AAAE,eAAF,CAEvB;;AAEA,MAAIu0L,SAAS,GAAG;AACR,OAAG,GADK;AAER,OAAG,GAFK;AAGR,OAAG,GAHK;AAIR,OAAG,GAJK;AAKR,OAAG,GALK;AAMR,OAAG,GANK;AAOR,OAAG,GAPK;AAQR,OAAG,GARK;AASR,OAAG,GATK;AAUR,OAAG;AAVK,GAAhB;AAAA,MAYII,SAAS,GAAG;AACR,SAAK,GADG;AAER,SAAK,GAFG;AAGR,SAAK,GAHG;AAIR,SAAK,GAJG;AAKR,SAAK,GALG;AAMR,SAAK,GANG;AAOR,SAAK,GAPG;AAQR,SAAK,GARG;AASR,SAAK,GATG;AAUR,SAAK;AAVG,GAZhB;AAyBA,MAAIyH,EAAE,GAAGp8L,MAAM,CAACoxL,YAAP,CAAoB,IAApB,EAA0B;AAC/BC,IAAAA,MAAM,EAAE,yEAAyE9mM,KAAzE,CACJ,GADI,CADuB;AAI/B+mM,IAAAA,WAAW,EACP,yEAAyE/mM,KAAzE,CACI,GADJ,CAL2B;AAQ/BgnM,IAAAA,QAAQ,EAAE,iDAAiDhnM,KAAjD,CAAuD,GAAvD,CARqB;AAS/BinM,IAAAA,aAAa,EAAE,oBAAoBjnM,KAApB,CAA0B,GAA1B,CATgB;AAU/BknM,IAAAA,WAAW,EAAE,oBAAoBlnM,KAApB,CAA0B,GAA1B,CAVkB;AAW/B4pM,IAAAA,kBAAkB,EAAE,IAXW;AAY/BnC,IAAAA,cAAc,EAAE;AACZC,MAAAA,EAAE,EAAE,OADQ;AAEZC,MAAAA,GAAG,EAAE,UAFO;AAGZC,MAAAA,CAAC,EAAE,YAHS;AAIZC,MAAAA,EAAE,EAAE,aAJQ;AAKZC,MAAAA,GAAG,EAAE,mBALO;AAMZC,MAAAA,IAAI,EAAE;AANM,KAZe;AAoB/BZ,IAAAA,aAAa,EAAE,aApBgB;AAqB/BC,IAAAA,IAAI,EAAE,UAAU5tJ,KAAV,EAAiB;AACnB,aAAOA,KAAK,KAAK,OAAjB;AACH,KAvB8B;AAwB/B6tJ,IAAAA,QAAQ,EAAE,UAAUpvE,IAAV,EAAgB4xE,MAAhB,EAAwBrC,OAAxB,EAAiC;AACvC,UAAIvvE,IAAI,GAAG,EAAX,EAAe;AACX,eAAO,OAAP;AACH,OAFD,MAEO;AACH,eAAO,OAAP;AACH;AACJ,KA9B8B;AA+B/B+vE,IAAAA,QAAQ,EAAE;AACNC,MAAAA,OAAO,EAAE,mBADH;AAENC,MAAAA,OAAO,EAAE,iBAFH;AAGNC,MAAAA,QAAQ,EAAE,gBAHJ;AAINC,MAAAA,OAAO,EAAE,oBAJH;AAKNC,MAAAA,QAAQ,EAAE,6BALJ;AAMNC,MAAAA,QAAQ,EAAE;AANJ,KA/BqB;AAuC/BC,IAAAA,YAAY,EAAE;AACVC,MAAAA,MAAM,EAAE,OADE;AAEVC,MAAAA,IAAI,EAAE,OAFI;AAGVl9K,MAAAA,CAAC,EAAE,gBAHO;AAIVm9K,MAAAA,EAAE,EAAE,WAJM;AAKVj7K,MAAAA,CAAC,EAAE,SALO;AAMVk7K,MAAAA,EAAE,EAAE,SANM;AAOV9wC,MAAAA,CAAC,EAAE,SAPO;AAQV+wC,MAAAA,EAAE,EAAE,SARM;AASV/9K,MAAAA,CAAC,EAAE,SATO;AAUVg+K,MAAAA,EAAE,EAAE,SAVM;AAWVC,MAAAA,CAAC,EAAE,OAXO;AAYVC,MAAAA,EAAE,EAAE,OAZM;AAaV/7K,MAAAA,CAAC,EAAE,UAbO;AAcVg8K,MAAAA,EAAE,EAAE;AAdM,KAvCiB;AAuD/BC,IAAAA,sBAAsB,EAAE,WAvDO;AAwD/BC,IAAAA,OAAO,EAAE,MAxDsB;AAyD/BgB,IAAAA,QAAQ,EAAE,UAAU5K,MAAV,EAAkB;AACxB,aAAOA,MAAM,CAACh/L,OAAP,CAAe,eAAf,EAAgC,UAAU6qE,KAAV,EAAiB;AACpD,eAAOi/H,SAAS,CAACj/H,KAAD,CAAhB;AACH,OAFM,CAAP;AAGH,KA7D8B;AA8D/B2+H,IAAAA,UAAU,EAAE,UAAUxK,MAAV,EAAkB;AAC1B,aAAOA,MAAM,CAACh/L,OAAP,CAAe,KAAf,EAAsB,UAAU6qE,KAAV,EAAiB;AAC1C,eAAO6+H,SAAS,CAAC7+H,KAAD,CAAhB;AACH,OAFM,CAAP;AAGH,KAlE8B;AAmE/Bg+H,IAAAA,IAAI,EAAE;AACFC,MAAAA,GAAG,EAAE,CADH;AACM;AACRC,MAAAA,GAAG,EAAE,CAFH,CAEM;;AAFN;AAnEyB,GAA1B,CAAT;AAyEA,SAAOwI,EAAP;AAEH,CA7GC,CAAD;;;;;;;;;;ACJD;AACA;AACA;AAEA;;AAAE,WAAUzlD,MAAV,EAAkB98J,OAAlB,EAA2B;AAC1B,UACuCA,OAAO,CAACy2L,mBAAO,CAAC,sBAAD,CAAR,CAD9C,GAEA,CAFA;AAIF,CALC,EAKA,IALA,EAKO,UAAUtwK,MAAV,EAAkB;AAAE,eAAF,CAEvB;;AAEA,MAAIu0L,SAAS,GAAG;AACR,OAAG,GADK;AAER,OAAG,GAFK;AAGR,OAAG,GAHK;AAIR,OAAG,GAJK;AAKR,OAAG,GALK;AAMR,OAAG,GANK;AAOR,OAAG,GAPK;AAQR,OAAG,GARK;AASR,OAAG,GATK;AAUR,OAAG;AAVK,GAAhB;AAAA,MAYII,SAAS,GAAG;AACR,SAAK,GADG;AAER,SAAK,GAFG;AAGR,SAAK,GAHG;AAIR,SAAK,GAJG;AAKR,SAAK,GALG;AAMR,SAAK,GANG;AAOR,SAAK,GAPG;AAQR,SAAK,GARG;AASR,SAAK,GATG;AAUR,SAAK;AAVG,GAZhB;AAyBA,MAAI0H,EAAE,GAAGr8L,MAAM,CAACoxL,YAAP,CAAoB,IAApB,EAA0B;AAC/BC,IAAAA,MAAM,EAAE,6FAA6F9mM,KAA7F,CACJ,GADI,CADuB;AAI/B+mM,IAAAA,WAAW,EACP,2EAA2E/mM,KAA3E,CACI,GADJ,CAL2B;AAQ/B4rM,IAAAA,gBAAgB,EAAE,IARa;AAS/B5E,IAAAA,QAAQ,EAAE,0DAA0DhnM,KAA1D,CACN,GADM,CATqB;AAY/BinM,IAAAA,aAAa,EAAE,qCAAqCjnM,KAArC,CAA2C,GAA3C,CAZgB;AAa/BknM,IAAAA,WAAW,EAAE,wBAAwBlnM,KAAxB,CAA8B,GAA9B,CAbkB;AAc/BynM,IAAAA,cAAc,EAAE;AACZC,MAAAA,EAAE,EAAE,QADQ;AAEZC,MAAAA,GAAG,EAAE,WAFO;AAGZC,MAAAA,CAAC,EAAE,YAHS;AAIZC,MAAAA,EAAE,EAAE,aAJQ;AAKZC,MAAAA,GAAG,EAAE,qBALO;AAMZC,MAAAA,IAAI,EAAE;AANM,KAde;AAsB/BC,IAAAA,QAAQ,EAAE;AACNC,MAAAA,OAAO,EAAE,WADH;AAENC,MAAAA,OAAO,EAAE,WAFH;AAGNC,MAAAA,QAAQ,EAAE,UAHJ;AAINC,MAAAA,OAAO,EAAE,aAJH;AAKNC,MAAAA,QAAQ,EAAE,mBALJ;AAMNC,MAAAA,QAAQ,EAAE;AANJ,KAtBqB;AA8B/BC,IAAAA,YAAY,EAAE;AACVC,MAAAA,MAAM,EAAE,SADE;AAEVC,MAAAA,IAAI,EAAE,UAFI;AAGVl9K,MAAAA,CAAC,EAAE,eAHO;AAIVm9K,MAAAA,EAAE,EAAE,eAJM;AAKVj7K,MAAAA,CAAC,EAAE,YALO;AAMVk7K,MAAAA,EAAE,EAAE,UANM;AAOV9wC,MAAAA,CAAC,EAAE,WAPO;AAQV+wC,MAAAA,EAAE,EAAE,SARM;AASV/9K,MAAAA,CAAC,EAAE,UATO;AAUVg+K,MAAAA,EAAE,EAAE,QAVM;AAWVC,MAAAA,CAAC,EAAE,aAXO;AAYVC,MAAAA,EAAE,EAAE,WAZM;AAaV/7K,MAAAA,CAAC,EAAE,WAbO;AAcVg8K,MAAAA,EAAE,EAAE;AAdM,KA9BiB;AA8C/BkB,IAAAA,QAAQ,EAAE,UAAU5K,MAAV,EAAkB;AACxB,aAAOA,MAAM,CAACh/L,OAAP,CAAe,eAAf,EAAgC,UAAU6qE,KAAV,EAAiB;AACpD,eAAOi/H,SAAS,CAACj/H,KAAD,CAAhB;AACH,OAFM,CAAP;AAGH,KAlD8B;AAmD/B2+H,IAAAA,UAAU,EAAE,UAAUxK,MAAV,EAAkB;AAC1B,aAAOA,MAAM,CAACh/L,OAAP,CAAe,KAAf,EAAsB,UAAU6qE,KAAV,EAAiB;AAC1C,eAAO6+H,SAAS,CAAC7+H,KAAD,CAAhB;AACH,OAFM,CAAP;AAGH,KAvD8B;AAwD/Bg8H,IAAAA,aAAa,EAAE,+BAxDgB;AAyD/BqE,IAAAA,YAAY,EAAE,UAAUvzE,IAAV,EAAgBovE,QAAhB,EAA0B;AACpC,UAAIpvE,IAAI,KAAK,EAAb,EAAiB;AACbA,QAAAA,IAAI,GAAG,CAAP;AACH;;AACD,UAAIovE,QAAQ,KAAK,QAAjB,EAA2B;AACvB,eAAOpvE,IAAI,GAAG,CAAP,GAAWA,IAAX,GAAkBA,IAAI,GAAG,EAAhC;AACH,OAFD,MAEO,IAAIovE,QAAQ,KAAK,UAAjB,EAA6B;AAChC,eAAOpvE,IAAP;AACH,OAFM,MAEA,IAAIovE,QAAQ,KAAK,UAAjB,EAA6B;AAChC,eAAOpvE,IAAI,IAAI,EAAR,GAAaA,IAAb,GAAoBA,IAAI,GAAG,EAAlC;AACH,OAFM,MAEA,IAAIovE,QAAQ,KAAK,MAAjB,EAAyB;AAC5B,eAAOpvE,IAAI,GAAG,EAAd;AACH;AACJ,KAtE8B;AAuE/BovE,IAAAA,QAAQ,EAAE,UAAUpvE,IAAV,EAAgB4xE,MAAhB,EAAwBrC,OAAxB,EAAiC;AACvC,UAAIvvE,IAAI,GAAG,CAAX,EAAc;AACV,eAAO,QAAP;AACH,OAFD,MAEO,IAAIA,IAAI,GAAG,EAAX,EAAe;AAClB,eAAO,UAAP;AACH,OAFM,MAEA,IAAIA,IAAI,GAAG,EAAX,EAAe;AAClB,eAAO,UAAP;AACH,OAFM,MAEA,IAAIA,IAAI,GAAG,EAAX,EAAe;AAClB,eAAO,MAAP;AACH,OAFM,MAEA;AACH,eAAO,QAAP;AACH;AACJ,KAnF8B;AAoF/BgxE,IAAAA,sBAAsB,EAAE,cApFO;AAqF/BC,IAAAA,OAAO,EAAE,UAAUtgE,MAAV,EAAkB;AACvB,aAAOA,MAAM,GAAG,KAAhB;AACH,KAvF8B;AAwF/BugE,IAAAA,IAAI,EAAE;AACFC,MAAAA,GAAG,EAAE,CADH;AACM;AACRC,MAAAA,GAAG,EAAE,CAFH,CAEM;;AAFN;AAxFyB,GAA1B,CAAT;AA8FA,SAAOyI,EAAP;AAEH,CAlIC,CAAD;;;;;;;;;;ACJD;AACA;AACA;AACA;AAEA;;AAAE,WAAU1lD,MAAV,EAAkB98J,OAAlB,EAA2B;AAC1B,UACuCA,OAAO,CAACy2L,mBAAO,CAAC,sBAAD,CAAR,CAD9C,GAEA,CAFA;AAIF,CALC,EAKA,IALA,EAKO,UAAUtwK,MAAV,EAAkB;AAAE,eAAF,CAEvB;;AAEA,MAAIs8L,EAAE,GAAGt8L,MAAM,CAACoxL,YAAP,CAAoB,IAApB,EAA0B;AAC/BC,IAAAA,MAAM,EAAE,yCAAyC9mM,KAAzC,CAA+C,GAA/C,CADuB;AAE/B+mM,IAAAA,WAAW,EAAE,yCAAyC/mM,KAAzC,CACT,GADS,CAFkB;AAK/BgnM,IAAAA,QAAQ,EAAE,8BAA8BhnM,KAA9B,CAAoC,GAApC,CALqB;AAM/BinM,IAAAA,aAAa,EAAE,gBAAgBjnM,KAAhB,CAAsB,GAAtB,CANgB;AAO/BknM,IAAAA,WAAW,EAAE,gBAAgBlnM,KAAhB,CAAsB,GAAtB,CAPkB;AAQ/BynM,IAAAA,cAAc,EAAE;AACZC,MAAAA,EAAE,EAAE,QADQ;AAEZC,MAAAA,GAAG,EAAE,WAFO;AAGZC,MAAAA,CAAC,EAAE,aAHS;AAIZC,MAAAA,EAAE,EAAE,eAJQ;AAKZC,MAAAA,GAAG,EAAE,sBALO;AAMZC,MAAAA,IAAI,EAAE,2BANM;AAOZoF,MAAAA,CAAC,EAAE,aAPS;AAQZH,MAAAA,EAAE,EAAE,eARQ;AASZC,MAAAA,GAAG,EAAE,sBATO;AAUZC,MAAAA,IAAI,EAAE;AAVM,KARe;AAoB/BlF,IAAAA,QAAQ,EAAE;AACNC,MAAAA,OAAO,EAAE,OADH;AAENC,MAAAA,OAAO,EAAE,OAFH;AAGNC,MAAAA,QAAQ,EAAE,SAHJ;AAINC,MAAAA,OAAO,EAAE,OAJH;AAKNC,MAAAA,QAAQ,EAAE,aALJ;AAMNC,MAAAA,QAAQ,EAAE;AANJ,KApBqB;AA4B/BC,IAAAA,YAAY,EAAE;AACVC,MAAAA,MAAM,EAAE,MADE;AAEVC,MAAAA,IAAI,EAAE,MAFI;AAGVl9K,MAAAA,CAAC,EAAE,KAHO;AAIVm9K,MAAAA,EAAE,EAAE,KAJM;AAKVj7K,MAAAA,CAAC,EAAE,IALO;AAMVk7K,MAAAA,EAAE,EAAE,KANM;AAOV9wC,MAAAA,CAAC,EAAE,MAPO;AAQV+wC,MAAAA,EAAE,EAAE,MARM;AASV/9K,MAAAA,CAAC,EAAE,IATO;AAUVg+K,MAAAA,EAAE,EAAE,KAVM;AAWVC,MAAAA,CAAC,EAAE,KAXO;AAYVC,MAAAA,EAAE,EAAE,KAZM;AAaV/7K,MAAAA,CAAC,EAAE,KAbO;AAcVg8K,MAAAA,EAAE,EAAE;AAdM,KA5BiB;AA4C/BC,IAAAA,sBAAsB,EAAE,gBA5CO;AA6C/BC,IAAAA,OAAO,EAAE,UAAUtgE,MAAV,EAAkBqiE,MAAlB,EAA0B;AAC/B,cAAQA,MAAR;AACI,aAAK,GAAL;AACA,aAAK,GAAL;AACA,aAAK,KAAL;AACI,iBAAOriE,MAAM,GAAG,GAAhB;;AACJ,aAAK,GAAL;AACI,iBAAOA,MAAM,GAAG,GAAhB;;AACJ,aAAK,GAAL;AACA,aAAK,GAAL;AACI,iBAAOA,MAAM,GAAG,GAAhB;;AACJ;AACI,iBAAOA,MAAP;AAXR;AAaH,KA3D8B;AA4D/Bu+D,IAAAA,aAAa,EAAE,OA5DgB;AA6D/BC,IAAAA,IAAI,EAAE,UAAU/lL,KAAV,EAAiB;AACnB,aAAOA,KAAK,KAAK,IAAjB;AACH,KA/D8B;AAgE/BgmL,IAAAA,QAAQ,EAAE,UAAUpvE,IAAV,EAAgB4xE,MAAhB,EAAwBmI,OAAxB,EAAiC;AACvC,aAAO/5E,IAAI,GAAG,EAAP,GAAY,IAAZ,GAAmB,IAA1B;AACH;AAlE8B,GAA1B,CAAT;AAqEA,SAAO85E,EAAP;AAEH,CAhFC,CAAD;;;;;;;;;;ACLD;AACA;AACA;AAEA;;AAAE,WAAU3lD,MAAV,EAAkB98J,OAAlB,EAA2B;AAC1B,UACuCA,OAAO,CAACy2L,mBAAO,CAAC,sBAAD,CAAR,CAD9C,GAEA,CAFA;AAIF,CALC,EAKA,IALA,EAKO,UAAUtwK,MAAV,EAAkB;AAAE,eAAF,CAEvB;;AAEA,MAAIu0L,SAAS,GAAG;AACR,OAAG,GADK;AAER,OAAG,GAFK;AAGR,OAAG,GAHK;AAIR,OAAG,GAJK;AAKR,OAAG,GALK;AAMR,OAAG,GANK;AAOR,OAAG,GAPK;AAQR,OAAG,GARK;AASR,OAAG,GATK;AAUR,OAAG;AAVK,GAAhB;AAAA,MAYII,SAAS,GAAG;AACR,SAAK,GADG;AAER,SAAK,GAFG;AAGR,SAAK,GAHG;AAIR,SAAK,GAJG;AAKR,SAAK,GALG;AAMR,SAAK,GANG;AAOR,SAAK,GAPG;AAQR,SAAK,GARG;AASR,SAAK,GATG;AAUR,SAAK;AAVG,GAZhB;AAAA,MAwBItD,MAAM,GAAG,CACL,cADK,EAEL,OAFK,EAGL,OAHK,EAIL,OAJK,EAKL,OALK,EAML,UANK,EAOL,QAPK,EAQL,KARK,EASL,SATK,EAUL,cAVK,EAWL,cAXK,EAYL,cAZK,CAxBb;AAuCA,MAAImL,EAAE,GAAGx8L,MAAM,CAACoxL,YAAP,CAAoB,IAApB,EAA0B;AAC/BC,IAAAA,MAAM,EAAEA,MADuB;AAE/BC,IAAAA,WAAW,EAAED,MAFkB;AAG/BE,IAAAA,QAAQ,EACJ,0EAA0EhnM,KAA1E,CACI,GADJ,CAJ2B;AAO/BinM,IAAAA,aAAa,EACT,2DAA2DjnM,KAA3D,CAAiE,GAAjE,CAR2B;AAS/BknM,IAAAA,WAAW,EAAE,gBAAgBlnM,KAAhB,CAAsB,GAAtB,CATkB;AAU/B4pM,IAAAA,kBAAkB,EAAE,IAVW;AAW/BnC,IAAAA,cAAc,EAAE;AACZC,MAAAA,EAAE,EAAE,OADQ;AAEZC,MAAAA,GAAG,EAAE,UAFO;AAGZC,MAAAA,CAAC,EAAE,YAHS;AAIZC,MAAAA,EAAE,EAAE,aAJQ;AAKZC,MAAAA,GAAG,EAAE,mBALO;AAMZC,MAAAA,IAAI,EAAE;AANM,KAXe;AAmB/BZ,IAAAA,aAAa,EAAE,iBAnBgB;AAoB/BC,IAAAA,IAAI,EAAE,UAAU5tJ,KAAV,EAAiB;AACnB,aAAO,UAAUljC,IAAV,CAAekjC,KAAf,CAAP;AACH,KAtB8B;AAuB/B6tJ,IAAAA,QAAQ,EAAE,UAAUpvE,IAAV,EAAgB4xE,MAAhB,EAAwBrC,OAAxB,EAAiC;AACvC,UAAIvvE,IAAI,GAAG,EAAX,EAAe;AACX,eAAO,SAAP;AACH,OAFD,MAEO;AACH,eAAO,SAAP;AACH;AACJ,KA7B8B;AA8B/B+vE,IAAAA,QAAQ,EAAE;AACNC,MAAAA,OAAO,EAAE,qBADH;AAENC,MAAAA,OAAO,EAAE,sBAFH;AAGNC,MAAAA,QAAQ,EAAE,mBAHJ;AAINC,MAAAA,OAAO,EAAE,oBAJH;AAKNC,MAAAA,QAAQ,EAAE,mBALJ;AAMNC,MAAAA,QAAQ,EAAE;AANJ,KA9BqB;AAsC/BC,IAAAA,YAAY,EAAE;AACVC,MAAAA,MAAM,EAAE,QADE;AAEVC,MAAAA,IAAI,EAAE,IAFI;AAGVl9K,MAAAA,CAAC,EAAE,iBAHO;AAIVm9K,MAAAA,EAAE,EAAE,UAJM;AAKVj7K,MAAAA,CAAC,EAAE,aALO;AAMVk7K,MAAAA,EAAE,EAAE,WANM;AAOV9wC,MAAAA,CAAC,EAAE,cAPO;AAQV+wC,MAAAA,EAAE,EAAE,YARM;AASV/9K,MAAAA,CAAC,EAAE,UATO;AAUVg+K,MAAAA,EAAE,EAAE,QAVM;AAWVC,MAAAA,CAAC,EAAE,WAXO;AAYVC,MAAAA,EAAE,EAAE,SAZM;AAaV/7K,MAAAA,CAAC,EAAE,UAbO;AAcVg8K,MAAAA,EAAE,EAAE;AAdM,KAtCiB;AAsD/BkB,IAAAA,QAAQ,EAAE,UAAU5K,MAAV,EAAkB;AACxB,aAAOA,MAAM,CACRh/L,OADE,CACM,eADN,EACuB,UAAU6qE,KAAV,EAAiB;AACvC,eAAOi/H,SAAS,CAACj/H,KAAD,CAAhB;AACH,OAHE,EAIF7qE,OAJE,CAIM,IAJN,EAIY,GAJZ,CAAP;AAKH,KA5D8B;AA6D/BwpM,IAAAA,UAAU,EAAE,UAAUxK,MAAV,EAAkB;AAC1B,aAAOA,MAAM,CACRh/L,OADE,CACM,KADN,EACa,UAAU6qE,KAAV,EAAiB;AAC7B,eAAO6+H,SAAS,CAAC7+H,KAAD,CAAhB;AACH,OAHE,EAIF7qE,OAJE,CAIM,IAJN,EAIY,GAJZ,CAAP;AAKH,KAnE8B;AAoE/B6oM,IAAAA,IAAI,EAAE;AACFC,MAAAA,GAAG,EAAE,CADH;AACM;AACRC,MAAAA,GAAG,EAAE,EAFH,CAEO;;AAFP;AApEyB,GAA1B,CAAT;AA0EA,SAAO4I,EAAP;AAEH,CA5HC,CAAD;;;;;;;;;;ACJD;AACA;AACA;AAEA;;AAAE,WAAU7lD,MAAV,EAAkB98J,OAAlB,EAA2B;AAC1B,UACuCA,OAAO,CAACy2L,mBAAO,CAAC,sBAAD,CAAR,CAD9C,GAEA,CAFA;AAIF,CALC,EAKA,IALA,EAKO,UAAUtwK,MAAV,EAAkB;AAAE,eAAF,CAEvB;;AAEA,MAAI80L,QAAQ,GAAG;AACX,OAAG,KADQ;AAEX,OAAG,KAFQ;AAGX,OAAG,KAHQ;AAIX,OAAG,KAJQ;AAKX,OAAG,KALQ;AAMX,OAAG,KANQ;AAOX,OAAG,KAPQ;AAQX,OAAG,KARQ;AASX,OAAG,KATQ;AAUX,OAAG,KAVQ;AAWX,QAAI,KAXO;AAYX,QAAI,KAZO;AAaX,QAAI,KAbO;AAcX,QAAI,KAdO;AAeX,QAAI,KAfO;AAgBX,QAAI,KAhBO;AAiBX,QAAI,KAjBO;AAkBX,QAAI,KAlBO;AAmBX,QAAI,KAnBO;AAoBX,SAAK;AApBM,GAAf;AAuBA,MAAI2H,EAAE,GAAGz8L,MAAM,CAACoxL,YAAP,CAAoB,IAApB,EAA0B;AAC/BC,IAAAA,MAAM,EAAE,kFAAkF9mM,KAAlF,CACJ,GADI,CADuB;AAI/B+mM,IAAAA,WAAW,EAAE,qDAAqD/mM,KAArD,CACT,GADS,CAJkB;AAO/BgnM,IAAAA,QAAQ,EAAE,2DAA2DhnM,KAA3D,CACN,GADM,CAPqB;AAU/BinM,IAAAA,aAAa,EAAE,8BAA8BjnM,KAA9B,CAAoC,GAApC,CAVgB;AAW/BknM,IAAAA,WAAW,EAAE,uBAAuBlnM,KAAvB,CAA6B,GAA7B,CAXkB;AAY/BynM,IAAAA,cAAc,EAAE;AACZC,MAAAA,EAAE,EAAE,OADQ;AAEZC,MAAAA,GAAG,EAAE,UAFO;AAGZC,MAAAA,CAAC,EAAE,YAHS;AAIZC,MAAAA,EAAE,EAAE,aAJQ;AAKZC,MAAAA,GAAG,EAAE,mBALO;AAMZC,MAAAA,IAAI,EAAE;AANM,KAZe;AAoB/BC,IAAAA,QAAQ,EAAE;AACNC,MAAAA,OAAO,EAAE,iBADH;AAENC,MAAAA,OAAO,EAAE,iBAFH;AAGNC,MAAAA,QAAQ,EAAE,gBAHJ;AAINC,MAAAA,OAAO,EAAE,iBAJH;AAKNC,MAAAA,QAAQ,EAAE,uCALJ;AAMNC,MAAAA,QAAQ,EAAE;AANJ,KApBqB;AA4B/BC,IAAAA,YAAY,EAAE;AACVC,MAAAA,MAAM,EAAE,WADE;AAEVC,MAAAA,IAAI,EAAE,UAFI;AAGVl9K,MAAAA,CAAC,EAAE,gBAHO;AAIVm9K,MAAAA,EAAE,EAAE,WAJM;AAKVj7K,MAAAA,CAAC,EAAE,WALO;AAMVk7K,MAAAA,EAAE,EAAE,UANM;AAOV9wC,MAAAA,CAAC,EAAE,UAPO;AAQV+wC,MAAAA,EAAE,EAAE,SARM;AASV/9K,MAAAA,CAAC,EAAE,SATO;AAUVg+K,MAAAA,EAAE,EAAE,QAVM;AAWVC,MAAAA,CAAC,EAAE,QAXO;AAYVC,MAAAA,EAAE,EAAE,OAZM;AAaV/7K,MAAAA,CAAC,EAAE,SAbO;AAcVg8K,MAAAA,EAAE,EAAE;AAdM,KA5BiB;AA4C/BC,IAAAA,sBAAsB,EAAE,uBA5CO;AA6C/BC,IAAAA,OAAO,EAAE,UAAUtgE,MAAV,EAAkB;AACvB,UAAIvlE,CAAC,GAAGulE,MAAM,GAAG,EAAjB;AAAA,UACI99G,CAAC,GAAG89G,MAAM,IAAI,GAAV,GAAgB,GAAhB,GAAsB,IAD9B;AAEA,aAAOA,MAAM,IAAI2hE,QAAQ,CAAC3hE,MAAD,CAAR,IAAoB2hE,QAAQ,CAAClnI,CAAD,CAA5B,IAAmCknI,QAAQ,CAACz/K,CAAD,CAA/C,CAAb;AACH,KAjD8B;AAkD/Bq+K,IAAAA,IAAI,EAAE;AACFC,MAAAA,GAAG,EAAE,CADH;AACM;AACRC,MAAAA,GAAG,EAAE,CAFH,CAEM;;AAFN;AAlDyB,GAA1B,CAAT;AAwDA,SAAO6I,EAAP;AAEH,CA1FC,CAAD;;;;;;;;;;ACJD;AACA;AACA;AACA;AAEA;;AAAE,WAAU9lD,MAAV,EAAkB98J,OAAlB,EAA2B;AAC1B,UACuCA,OAAO,CAACy2L,mBAAO,CAAC,sBAAD,CAAR,CAD9C,GAEA,CAFA;AAIF,CALC,EAKA,IALA,EAKO,UAAUtwK,MAAV,EAAkB;AAAE,eAAF,CAEvB;;AAEA,WAASg4L,mBAAT,CAA6B7kE,MAA7B,EAAqC6gE,aAArC,EAAoD1iL,GAApD,EAAyD2iL,QAAzD,EAAmE;AAC/D,QAAI5zL,MAAM,GAAG;AACT2X,MAAAA,CAAC,EAAE,CAAC,YAAD,EAAe,cAAf,CADM;AAEToqI,MAAAA,CAAC,EAAE,CAAC,WAAD,EAAc,aAAd,CAFM;AAGThtI,MAAAA,CAAC,EAAE,CAAC,SAAD,EAAY,WAAZ,CAHM;AAITi+K,MAAAA,CAAC,EAAE,CAAC,UAAD,EAAa,aAAb,CAJM;AAKT97K,MAAAA,CAAC,EAAE,CAAC,SAAD,EAAY,YAAZ;AALM,KAAb;AAOA,WAAOy8K,aAAa,GAAG3zL,MAAM,CAACiR,GAAD,CAAN,CAAY,CAAZ,CAAH,GAAoBjR,MAAM,CAACiR,GAAD,CAAN,CAAY,CAAZ,CAAxC;AACH;;AACD,WAASorL,iBAAT,CAA2B7S,MAA3B,EAAmC;AAC/B,QAAI12D,MAAM,GAAG02D,MAAM,CAACp/D,MAAP,CAAc,CAAd,EAAiBo/D,MAAM,CAACjmM,OAAP,CAAe,GAAf,CAAjB,CAAb;;AACA,QAAI+4M,2BAA2B,CAACxpE,MAAD,CAA/B,EAAyC;AACrC,aAAO,OAAO02D,MAAd;AACH;;AACD,WAAO,QAAQA,MAAf;AACH;;AACD,WAAS+S,eAAT,CAAyB/S,MAAzB,EAAiC;AAC7B,QAAI12D,MAAM,GAAG02D,MAAM,CAACp/D,MAAP,CAAc,CAAd,EAAiBo/D,MAAM,CAACjmM,OAAP,CAAe,GAAf,CAAjB,CAAb;;AACA,QAAI+4M,2BAA2B,CAACxpE,MAAD,CAA/B,EAAyC;AACrC,aAAO,UAAU02D,MAAjB;AACH;;AACD,WAAO,WAAWA,MAAlB;AACH;AACD;AACJ;AACA;AACA;AACA;AACA;AACA;;;AACI,WAAS8S,2BAAT,CAAqCxpE,MAArC,EAA6C;AACzCA,IAAAA,MAAM,GAAG/jH,QAAQ,CAAC+jH,MAAD,EAAS,EAAT,CAAjB;;AACA,QAAIj0H,KAAK,CAACi0H,MAAD,CAAT,EAAmB;AACf,aAAO,KAAP;AACH;;AACD,QAAIA,MAAM,GAAG,CAAb,EAAgB;AACZ;AACA,aAAO,IAAP;AACH,KAHD,MAGO,IAAIA,MAAM,GAAG,EAAb,EAAiB;AACpB;AACA,UAAI,KAAKA,MAAL,IAAeA,MAAM,IAAI,CAA7B,EAAgC;AAC5B,eAAO,IAAP;AACH;;AACD,aAAO,KAAP;AACH,KANM,MAMA,IAAIA,MAAM,GAAG,GAAb,EAAkB;AACrB;AACA,UAAIwiE,SAAS,GAAGxiE,MAAM,GAAG,EAAzB;AAAA,UACI0pE,UAAU,GAAG1pE,MAAM,GAAG,EAD1B;;AAEA,UAAIwiE,SAAS,KAAK,CAAlB,EAAqB;AACjB,eAAOgH,2BAA2B,CAACE,UAAD,CAAlC;AACH;;AACD,aAAOF,2BAA2B,CAAChH,SAAD,CAAlC;AACH,KARM,MAQA,IAAIxiE,MAAM,GAAG,KAAb,EAAoB;AACvB;AACA,aAAOA,MAAM,IAAI,EAAjB,EAAqB;AACjBA,QAAAA,MAAM,GAAGA,MAAM,GAAG,EAAlB;AACH;;AACD,aAAOwpE,2BAA2B,CAACxpE,MAAD,CAAlC;AACH,KANM,MAMA;AACH;AACAA,MAAAA,MAAM,GAAGA,MAAM,GAAG,IAAlB;AACA,aAAOwpE,2BAA2B,CAACxpE,MAAD,CAAlC;AACH;AACJ;;AAED,MAAI2pE,EAAE,GAAG98L,MAAM,CAACoxL,YAAP,CAAoB,IAApB,EAA0B;AAC/BC,IAAAA,MAAM,EAAE,uFAAuF9mM,KAAvF,CACJ,GADI,CADuB;AAI/B+mM,IAAAA,WAAW,EACP,+DAA+D/mM,KAA/D,CACI,GADJ,CAL2B;AAQ/B4rM,IAAAA,gBAAgB,EAAE,IARa;AAS/B5E,IAAAA,QAAQ,EACJ,mEAAmEhnM,KAAnE,CACI,GADJ,CAV2B;AAa/BinM,IAAAA,aAAa,EAAE,8BAA8BjnM,KAA9B,CAAoC,GAApC,CAbgB;AAc/BknM,IAAAA,WAAW,EAAE,uBAAuBlnM,KAAvB,CAA6B,GAA7B,CAdkB;AAe/B4pM,IAAAA,kBAAkB,EAAE,IAfW;AAgB/BnC,IAAAA,cAAc,EAAE;AACZC,MAAAA,EAAE,EAAE,aADQ;AAEZC,MAAAA,GAAG,EAAE,gBAFO;AAGZC,MAAAA,CAAC,EAAE,YAHS;AAIZC,MAAAA,EAAE,EAAE,cAJQ;AAKZC,MAAAA,GAAG,EAAE,0BALO;AAMZC,MAAAA,IAAI,EAAE;AANM,KAhBe;AAwB/BC,IAAAA,QAAQ,EAAE;AACNC,MAAAA,OAAO,EAAE,cADH;AAENK,MAAAA,QAAQ,EAAE,GAFJ;AAGNJ,MAAAA,OAAO,EAAE,cAHH;AAINC,MAAAA,QAAQ,EAAE,cAJJ;AAKNC,MAAAA,OAAO,EAAE,kBALH;AAMNC,MAAAA,QAAQ,EAAE,YAAY;AAClB;AACA,gBAAQ,KAAK2C,GAAL,EAAR;AACI,eAAK,CAAL;AACA,eAAK,CAAL;AACI,mBAAO,yBAAP;;AACJ;AACI,mBAAO,wBAAP;AALR;AAOH;AAfK,KAxBqB;AAyC/BzC,IAAAA,YAAY,EAAE;AACVC,MAAAA,MAAM,EAAE2J,iBADE;AAEV1J,MAAAA,IAAI,EAAE4J,eAFI;AAGV9mL,MAAAA,CAAC,EAAE,iBAHO;AAIVm9K,MAAAA,EAAE,EAAE,aAJM;AAKVj7K,MAAAA,CAAC,EAAEggL,mBALO;AAMV9E,MAAAA,EAAE,EAAE,aANM;AAOV9wC,MAAAA,CAAC,EAAE41C,mBAPO;AAQV7E,MAAAA,EAAE,EAAE,YARM;AASV/9K,MAAAA,CAAC,EAAE4iL,mBATO;AAUV5E,MAAAA,EAAE,EAAE,SAVM;AAWVC,MAAAA,CAAC,EAAE2E,mBAXO;AAYV1E,MAAAA,EAAE,EAAE,UAZM;AAaV/7K,MAAAA,CAAC,EAAEygL,mBAbO;AAcVzE,MAAAA,EAAE,EAAE;AAdM,KAzCiB;AAyD/BC,IAAAA,sBAAsB,EAAE,WAzDO;AA0D/BC,IAAAA,OAAO,EAAE,KA1DsB;AA2D/BC,IAAAA,IAAI,EAAE;AACFC,MAAAA,GAAG,EAAE,CADH;AACM;AACRC,MAAAA,GAAG,EAAE,CAFH,CAEM;;AAFN;AA3DyB,GAA1B,CAAT;AAiEA,SAAOkJ,EAAP;AAEH,CA9IC,CAAD;;;;;;;;;;ACLD;AACA;AACA;AAEA;;AAAE,WAAUnmD,MAAV,EAAkB98J,OAAlB,EAA2B;AAC1B,UACuCA,OAAO,CAACy2L,mBAAO,CAAC,sBAAD,CAAR,CAD9C,GAEA,CAFA;AAIF,CALC,EAKA,IALA,EAKO,UAAUtwK,MAAV,EAAkB;AAAE,eAAF,CAEvB;;AAEA,MAAI+qL,EAAE,GAAG/qL,MAAM,CAACoxL,YAAP,CAAoB,IAApB,EAA0B;AAC/BC,IAAAA,MAAM,EAAE,6EAA6E9mM,KAA7E,CACJ,GADI,CADuB;AAI/B+mM,IAAAA,WAAW,EACP,6EAA6E/mM,KAA7E,CACI,GADJ,CAL2B;AAQ/BgnM,IAAAA,QAAQ,EAAE,sCAAsChnM,KAAtC,CAA4C,GAA5C,CARqB;AAS/BinM,IAAAA,aAAa,EAAE,oCAAoCjnM,KAApC,CAA0C,GAA1C,CATgB;AAU/BknM,IAAAA,WAAW,EAAE,mBAAmBlnM,KAAnB,CAAyB,GAAzB,CAVkB;AAW/B4pM,IAAAA,kBAAkB,EAAE,IAXW;AAY/BnC,IAAAA,cAAc,EAAE;AACZC,MAAAA,EAAE,EAAE,OADQ;AAEZC,MAAAA,GAAG,EAAE,UAFO;AAGZC,MAAAA,CAAC,EAAE,YAHS;AAIZC,MAAAA,EAAE,EAAE,aAJQ;AAKZC,MAAAA,GAAG,EAAE,mBALO;AAMZC,MAAAA,IAAI,EAAE;AANM,KAZe;AAoB/BZ,IAAAA,aAAa,EAAE,iBApBgB;AAqB/BC,IAAAA,IAAI,EAAE,UAAU5tJ,KAAV,EAAiB;AACnB,aAAOA,KAAK,KAAK,QAAjB;AACH,KAvB8B;AAwB/B6tJ,IAAAA,QAAQ,EAAE,UAAUpvE,IAAV,EAAgB4xE,MAAhB,EAAwBrC,OAAxB,EAAiC;AACvC,UAAIvvE,IAAI,GAAG,EAAX,EAAe;AACX,eAAO,UAAP;AACH,OAFD,MAEO;AACH,eAAO,QAAP;AACH;AACJ,KA9B8B;AA+B/B+vE,IAAAA,QAAQ,EAAE;AACNC,MAAAA,OAAO,EAAE,iBADH;AAENC,MAAAA,OAAO,EAAE,kBAFH;AAGNC,MAAAA,QAAQ,EAAE,uBAHJ;AAINC,MAAAA,OAAO,EAAE,oBAJH;AAKNC,MAAAA,QAAQ,EAAE,2BALJ;AAMNC,MAAAA,QAAQ,EAAE;AANJ,KA/BqB;AAuC/BC,IAAAA,YAAY,EAAE;AACVC,MAAAA,MAAM,EAAE,QADE;AAEVC,MAAAA,IAAI,EAAE,UAFI;AAGVl9K,MAAAA,CAAC,EAAE,kBAHO;AAIVm9K,MAAAA,EAAE,EAAE,WAJM;AAKVj7K,MAAAA,CAAC,EAAE,QALO;AAMVk7K,MAAAA,EAAE,EAAE,SANM;AAOV9wC,MAAAA,CAAC,EAAE,WAPO;AAQV+wC,MAAAA,EAAE,EAAE,YARM;AASV/9K,MAAAA,CAAC,EAAE,OATO;AAUVg+K,MAAAA,EAAE,EAAE,QAVM;AAWVC,MAAAA,CAAC,EAAE,SAXO;AAYVC,MAAAA,EAAE,EAAE,UAZM;AAaV/7K,MAAAA,CAAC,EAAE,MAbO;AAcVg8K,MAAAA,EAAE,EAAE;AAdM,KAvCiB;AAuD/BC,IAAAA,sBAAsB,EAAE,cAvDO;AAwD/BC,IAAAA,OAAO,EAAE,UAAUtgE,MAAV,EAAkB;AACvB,aAAO,QAAQA,MAAf;AACH;AA1D8B,GAA1B,CAAT;AA6DA,SAAO43D,EAAP;AAEH,CAxEC,CAAD;;;;;;;;;;ACJD;AACA;AACA;AAEA;;AAAE,WAAUp0C,MAAV,EAAkB98J,OAAlB,EAA2B;AAC1B,UACuCA,OAAO,CAACy2L,mBAAO,CAAC,sBAAD,CAAR,CAD9C,GAEA,CAFA;AAIF,CALC,EAKA,IALA,EAKO,UAAUtwK,MAAV,EAAkB;AAAE,eAAF,CAEvB;;AAEA,MAAI+8L,KAAK,GAAG;AACR9J,IAAAA,EAAE,EAAE,4BADI;AAERj7K,IAAAA,CAAC,EAAE,uBAFK;AAGRk7K,IAAAA,EAAE,EAAE,yBAHI;AAIR9wC,IAAAA,CAAC,EAAE,0BAJK;AAKR+wC,IAAAA,EAAE,EAAE,2BALI;AAMR/9K,IAAAA,CAAC,EAAE,oBANK;AAORg+K,IAAAA,EAAE,EAAE,qBAPI;AAQRC,IAAAA,CAAC,EAAE,sBARK;AASRC,IAAAA,EAAE,EAAE,2BATI;AAUR/7K,IAAAA,CAAC,EAAE,kBAVK;AAWRg8K,IAAAA,EAAE,EAAE;AAXI,GAAZ;;AAaA,WAASyJ,gBAAT,CAA0B7pE,MAA1B,EAAkC6gE,aAAlC,EAAiD1iL,GAAjD,EAAsD2iL,QAAtD,EAAgE;AAC5D,QAAID,aAAJ,EAAmB;AACf,aAAO,iBAAP;AACH,KAFD,MAEO;AACH,aAAOC,QAAQ,GAAG,iBAAH,GAAuB,iBAAtC;AACH;AACJ;;AACD,WAASgJ,iBAAT,CAA2B9pE,MAA3B,EAAmC6gE,aAAnC,EAAkD1iL,GAAlD,EAAuD2iL,QAAvD,EAAiE;AAC7D,WAAOD,aAAa,GACdkB,KAAK,CAAC5jL,GAAD,CAAL,CAAW,CAAX,CADc,GAEd2iL,QAAQ,GACRiB,KAAK,CAAC5jL,GAAD,CAAL,CAAW,CAAX,CADQ,GAER4jL,KAAK,CAAC5jL,GAAD,CAAL,CAAW,CAAX,CAJN;AAKH;;AACD,WAAS4rL,OAAT,CAAiB/pE,MAAjB,EAAyB;AACrB,WAAOA,MAAM,GAAG,EAAT,KAAgB,CAAhB,IAAsBA,MAAM,GAAG,EAAT,IAAeA,MAAM,GAAG,EAArD;AACH;;AACD,WAAS+hE,KAAT,CAAe5jL,GAAf,EAAoB;AAChB,WAAOyrL,KAAK,CAACzrL,GAAD,CAAL,CAAW/mB,KAAX,CAAiB,GAAjB,CAAP;AACH;;AACD,WAASpf,SAAT,CAAmBgoJ,MAAnB,EAA2B6gE,aAA3B,EAA0C1iL,GAA1C,EAA+C2iL,QAA/C,EAAyD;AACrD,QAAI92M,MAAM,GAAGg2I,MAAM,GAAG,GAAtB;;AACA,QAAIA,MAAM,KAAK,CAAf,EAAkB;AACd,aACIh2I,MAAM,GAAG8/M,iBAAiB,CAAC9pE,MAAD,EAAS6gE,aAAT,EAAwB1iL,GAAG,CAAC,CAAD,CAA3B,EAAgC2iL,QAAhC,CAD9B;AAGH,KAJD,MAIO,IAAID,aAAJ,EAAmB;AACtB,aAAO72M,MAAM,IAAI+/M,OAAO,CAAC/pE,MAAD,CAAP,GAAkB+hE,KAAK,CAAC5jL,GAAD,CAAL,CAAW,CAAX,CAAlB,GAAkC4jL,KAAK,CAAC5jL,GAAD,CAAL,CAAW,CAAX,CAAtC,CAAb;AACH,KAFM,MAEA;AACH,UAAI2iL,QAAJ,EAAc;AACV,eAAO92M,MAAM,GAAG+3M,KAAK,CAAC5jL,GAAD,CAAL,CAAW,CAAX,CAAhB;AACH,OAFD,MAEO;AACH,eAAOn0B,MAAM,IAAI+/M,OAAO,CAAC/pE,MAAD,CAAP,GAAkB+hE,KAAK,CAAC5jL,GAAD,CAAL,CAAW,CAAX,CAAlB,GAAkC4jL,KAAK,CAAC5jL,GAAD,CAAL,CAAW,CAAX,CAAtC,CAAb;AACH;AACJ;AACJ;;AACD,MAAI6rL,EAAE,GAAGn9L,MAAM,CAACoxL,YAAP,CAAoB,IAApB,EAA0B;AAC/BC,IAAAA,MAAM,EAAE;AACJhxL,MAAAA,MAAM,EAAE,oGAAoG9V,KAApG,CACJ,GADI,CADJ;AAIJ8qM,MAAAA,UAAU,EACN,kGAAkG9qM,KAAlG,CACI,GADJ,CALA;AAQJ+qM,MAAAA,QAAQ,EAAE;AARN,KADuB;AAW/BhE,IAAAA,WAAW,EAAE,kDAAkD/mM,KAAlD,CAAwD,GAAxD,CAXkB;AAY/BgnM,IAAAA,QAAQ,EAAE;AACNlxL,MAAAA,MAAM,EAAE,oFAAoF9V,KAApF,CACJ,GADI,CADF;AAIN8qM,MAAAA,UAAU,EACN,2FAA2F9qM,KAA3F,CACI,GADJ,CALE;AAQN+qM,MAAAA,QAAQ,EAAE;AARJ,KAZqB;AAsB/B9D,IAAAA,aAAa,EAAE,8BAA8BjnM,KAA9B,CAAoC,GAApC,CAtBgB;AAuB/BknM,IAAAA,WAAW,EAAE,iBAAiBlnM,KAAjB,CAAuB,GAAvB,CAvBkB;AAwB/B4pM,IAAAA,kBAAkB,EAAE,IAxBW;AAyB/BnC,IAAAA,cAAc,EAAE;AACZC,MAAAA,EAAE,EAAE,OADQ;AAEZC,MAAAA,GAAG,EAAE,UAFO;AAGZC,MAAAA,CAAC,EAAE,YAHS;AAIZC,MAAAA,EAAE,EAAE,uBAJQ;AAKZC,MAAAA,GAAG,EAAE,qCALO;AAMZC,MAAAA,IAAI,EAAE,2CANM;AAOZoF,MAAAA,CAAC,EAAE,YAPS;AAQZH,MAAAA,EAAE,EAAE,uBARQ;AASZC,MAAAA,GAAG,EAAE,qCATO;AAUZC,MAAAA,IAAI,EAAE;AAVM,KAzBe;AAqC/BlF,IAAAA,QAAQ,EAAE;AACNC,MAAAA,OAAO,EAAE,eADH;AAENC,MAAAA,OAAO,EAAE,YAFH;AAGNC,MAAAA,QAAQ,EAAE,SAHJ;AAINC,MAAAA,OAAO,EAAE,YAJH;AAKNC,MAAAA,QAAQ,EAAE,oBALJ;AAMNC,MAAAA,QAAQ,EAAE;AANJ,KArCqB;AA6C/BC,IAAAA,YAAY,EAAE;AACVC,MAAAA,MAAM,EAAE,OADE;AAEVC,MAAAA,IAAI,EAAE,UAFI;AAGVl9K,MAAAA,CAAC,EAAEknL,gBAHO;AAIV/J,MAAAA,EAAE,EAAE9nN,SAJM;AAKV6sC,MAAAA,CAAC,EAAEilL,iBALO;AAMV/J,MAAAA,EAAE,EAAE/nN,SANM;AAOVi3K,MAAAA,CAAC,EAAE66C,iBAPO;AAQV9J,MAAAA,EAAE,EAAEhoN,SARM;AASViqC,MAAAA,CAAC,EAAE6nL,iBATO;AAUV7J,MAAAA,EAAE,EAAEjoN,SAVM;AAWVkoN,MAAAA,CAAC,EAAE4J,iBAXO;AAYV3J,MAAAA,EAAE,EAAEnoN,SAZM;AAaVosC,MAAAA,CAAC,EAAE0lL,iBAbO;AAcV1J,MAAAA,EAAE,EAAEpoN;AAdM,KA7CiB;AA6D/BqoN,IAAAA,sBAAsB,EAAE,aA7DO;AA8D/BC,IAAAA,OAAO,EAAE,UAAUtgE,MAAV,EAAkB;AACvB,aAAOA,MAAM,GAAG,MAAhB;AACH,KAhE8B;AAiE/BugE,IAAAA,IAAI,EAAE;AACFC,MAAAA,GAAG,EAAE,CADH;AACM;AACRC,MAAAA,GAAG,EAAE,CAFH,CAEM;;AAFN;AAjEyB,GAA1B,CAAT;AAuEA,SAAOuJ,EAAP;AAEH,CAnIC,CAAD;;;;;;;;;;ACJD;AACA;AACA;AACA;AAEA;;AAAE,WAAUxmD,MAAV,EAAkB98J,OAAlB,EAA2B;AAC1B,UACuCA,OAAO,CAACy2L,mBAAO,CAAC,sBAAD,CAAR,CAD9C,GAEA,CAFA;AAIF,CALC,EAKA,IALA,EAKO,UAAUtwK,MAAV,EAAkB;AAAE,eAAF,CAEvB;;AAEA,MAAI+8L,KAAK,GAAG;AACR9J,IAAAA,EAAE,EAAE,qCAAqC1oM,KAArC,CAA2C,GAA3C,CADI;AAERytB,IAAAA,CAAC,EAAE,iCAAiCztB,KAAjC,CAAuC,GAAvC,CAFK;AAGR2oM,IAAAA,EAAE,EAAE,iCAAiC3oM,KAAjC,CAAuC,GAAvC,CAHI;AAIR63J,IAAAA,CAAC,EAAE,iCAAiC73J,KAAjC,CAAuC,GAAvC,CAJK;AAKR4oM,IAAAA,EAAE,EAAE,iCAAiC5oM,KAAjC,CAAuC,GAAvC,CALI;AAMR6qB,IAAAA,CAAC,EAAE,6BAA6B7qB,KAA7B,CAAmC,GAAnC,CANK;AAOR6oM,IAAAA,EAAE,EAAE,6BAA6B7oM,KAA7B,CAAmC,GAAnC,CAPI;AAQR8oM,IAAAA,CAAC,EAAE,iCAAiC9oM,KAAjC,CAAuC,GAAvC,CARK;AASR+oM,IAAAA,EAAE,EAAE,iCAAiC/oM,KAAjC,CAAuC,GAAvC,CATI;AAURgtB,IAAAA,CAAC,EAAE,wBAAwBhtB,KAAxB,CAA8B,GAA9B,CAVK;AAWRgpM,IAAAA,EAAE,EAAE,wBAAwBhpM,KAAxB,CAA8B,GAA9B;AAXI,GAAZ;AAaA;AACJ;AACA;;AACI,WAAS8V,MAAT,CAAgB60L,KAAhB,EAAuB/hE,MAAvB,EAA+B6gE,aAA/B,EAA8C;AAC1C,QAAIA,aAAJ,EAAmB;AACf;AACA,aAAO7gE,MAAM,GAAG,EAAT,KAAgB,CAAhB,IAAqBA,MAAM,GAAG,GAAT,KAAiB,EAAtC,GAA2C+hE,KAAK,CAAC,CAAD,CAAhD,GAAsDA,KAAK,CAAC,CAAD,CAAlE;AACH,KAHD,MAGO;AACH;AACA;AACA,aAAO/hE,MAAM,GAAG,EAAT,KAAgB,CAAhB,IAAqBA,MAAM,GAAG,GAAT,KAAiB,EAAtC,GAA2C+hE,KAAK,CAAC,CAAD,CAAhD,GAAsDA,KAAK,CAAC,CAAD,CAAlE;AACH;AACJ;;AACD,WAASC,sBAAT,CAAgChiE,MAAhC,EAAwC6gE,aAAxC,EAAuD1iL,GAAvD,EAA4D;AACxD,WAAO6hH,MAAM,GAAG,GAAT,GAAe9yH,MAAM,CAAC08L,KAAK,CAACzrL,GAAD,CAAN,EAAa6hH,MAAb,EAAqB6gE,aAArB,CAA5B;AACH;;AACD,WAASoJ,wBAAT,CAAkCjqE,MAAlC,EAA0C6gE,aAA1C,EAAyD1iL,GAAzD,EAA8D;AAC1D,WAAOjR,MAAM,CAAC08L,KAAK,CAACzrL,GAAD,CAAN,EAAa6hH,MAAb,EAAqB6gE,aAArB,CAAb;AACH;;AACD,WAASqJ,eAAT,CAAyBlqE,MAAzB,EAAiC6gE,aAAjC,EAAgD;AAC5C,WAAOA,aAAa,GAAG,gBAAH,GAAsB,gBAA1C;AACH;;AAED,MAAIsJ,EAAE,GAAGt9L,MAAM,CAACoxL,YAAP,CAAoB,IAApB,EAA0B;AAC/BC,IAAAA,MAAM,EAAE,uGAAuG9mM,KAAvG,CACJ,GADI,CADuB;AAI/B+mM,IAAAA,WAAW,EAAE,kDAAkD/mM,KAAlD,CAAwD,GAAxD,CAJkB;AAK/BgnM,IAAAA,QAAQ,EACJ,0EAA0EhnM,KAA1E,CACI,GADJ,CAN2B;AAS/BinM,IAAAA,aAAa,EAAE,kBAAkBjnM,KAAlB,CAAwB,GAAxB,CATgB;AAU/BknM,IAAAA,WAAW,EAAE,kBAAkBlnM,KAAlB,CAAwB,GAAxB,CAVkB;AAW/B4pM,IAAAA,kBAAkB,EAAE,IAXW;AAY/BnC,IAAAA,cAAc,EAAE;AACZC,MAAAA,EAAE,EAAE,OADQ;AAEZC,MAAAA,GAAG,EAAE,UAFO;AAGZC,MAAAA,CAAC,EAAE,aAHS;AAIZC,MAAAA,EAAE,EAAE,sBAJQ;AAKZC,MAAAA,GAAG,EAAE,6BALO;AAMZC,MAAAA,IAAI,EAAE;AANM,KAZe;AAoB/BC,IAAAA,QAAQ,EAAE;AACNC,MAAAA,OAAO,EAAE,sBADH;AAENC,MAAAA,OAAO,EAAE,mBAFH;AAGNC,MAAAA,QAAQ,EAAE,oBAHJ;AAINC,MAAAA,OAAO,EAAE,qBAJH;AAKNC,MAAAA,QAAQ,EAAE,+BALJ;AAMNC,MAAAA,QAAQ,EAAE;AANJ,KApBqB;AA4B/BC,IAAAA,YAAY,EAAE;AACVC,MAAAA,MAAM,EAAE,QADE;AAEVC,MAAAA,IAAI,EAAE,UAFI;AAGVl9K,MAAAA,CAAC,EAAEunL,eAHO;AAIVpK,MAAAA,EAAE,EAAEkC,sBAJM;AAKVn9K,MAAAA,CAAC,EAAEolL,wBALO;AAMVlK,MAAAA,EAAE,EAAEiC,sBANM;AAOV/yC,MAAAA,CAAC,EAAEg7C,wBAPO;AAQVjK,MAAAA,EAAE,EAAEgC,sBARM;AASV//K,MAAAA,CAAC,EAAEgoL,wBATO;AAUVhK,MAAAA,EAAE,EAAE+B,sBAVM;AAWV9B,MAAAA,CAAC,EAAE+J,wBAXO;AAYV9J,MAAAA,EAAE,EAAE6B,sBAZM;AAaV59K,MAAAA,CAAC,EAAE6lL,wBAbO;AAcV7J,MAAAA,EAAE,EAAE4B;AAdM,KA5BiB;AA4C/B3B,IAAAA,sBAAsB,EAAE,WA5CO;AA6C/BC,IAAAA,OAAO,EAAE,KA7CsB;AA8C/BC,IAAAA,IAAI,EAAE;AACFC,MAAAA,GAAG,EAAE,CADH;AACM;AACRC,MAAAA,GAAG,EAAE,CAFH,CAEM;;AAFN;AA9CyB,GAA1B,CAAT;AAoDA,SAAO0J,EAAP;AAEH,CAnGC,CAAD;;;;;;;;;;ACLD;AACA;AACA;AAEA;;AAAE,WAAU3mD,MAAV,EAAkB98J,OAAlB,EAA2B;AAC1B,UACuCA,OAAO,CAACy2L,mBAAO,CAAC,sBAAD,CAAR,CAD9C,GAEA,CAFA;AAIF,CALC,EAKA,IALA,EAKO,UAAUtwK,MAAV,EAAkB;AAAE,eAAF,CAEvB;;AAEA,MAAIu9L,UAAU,GAAG;AACbC,IAAAA,KAAK,EAAE;AACH;AACAvK,MAAAA,EAAE,EAAE,CAAC,QAAD,EAAW,SAAX,EAAsB,SAAtB,CAFD;AAGHj7K,MAAAA,CAAC,EAAE,CAAC,aAAD,EAAgB,eAAhB,CAHA;AAIHk7K,MAAAA,EAAE,EAAE,CAAC,OAAD,EAAU,QAAV,EAAoB,QAApB,CAJD;AAKH9wC,MAAAA,CAAC,EAAE,CAAC,WAAD,EAAc,aAAd,CALA;AAMH+wC,MAAAA,EAAE,EAAE,CAAC,KAAD,EAAQ,MAAR,EAAgB,MAAhB,CAND;AAOHC,MAAAA,EAAE,EAAE,CAAC,KAAD,EAAQ,MAAR,EAAgB,MAAhB,CAPD;AAQHE,MAAAA,EAAE,EAAE,CAAC,QAAD,EAAW,SAAX,EAAsB,SAAtB,CARD;AASHC,MAAAA,EAAE,EAAE,CAAC,QAAD,EAAW,QAAX,EAAqB,QAArB;AATD,KADM;AAYbkK,IAAAA,sBAAsB,EAAE,UAAUtqE,MAAV,EAAkBuqE,OAAlB,EAA2B;AAC/C,aAAOvqE,MAAM,KAAK,CAAX,GACDuqE,OAAO,CAAC,CAAD,CADN,GAEDvqE,MAAM,IAAI,CAAV,IAAeA,MAAM,IAAI,CAAzB,GACAuqE,OAAO,CAAC,CAAD,CADP,GAEAA,OAAO,CAAC,CAAD,CAJb;AAKH,KAlBY;AAmBbvyN,IAAAA,SAAS,EAAE,UAAUgoJ,MAAV,EAAkB6gE,aAAlB,EAAiC1iL,GAAjC,EAAsC;AAC7C,UAAIosL,OAAO,GAAGH,UAAU,CAACC,KAAX,CAAiBlsL,GAAjB,CAAd;;AACA,UAAIA,GAAG,CAACn5B,MAAJ,KAAe,CAAnB,EAAsB;AAClB,eAAO67M,aAAa,GAAG0J,OAAO,CAAC,CAAD,CAAV,GAAgBA,OAAO,CAAC,CAAD,CAA3C;AACH,OAFD,MAEO;AACH,eACIvqE,MAAM,GACN,GADA,GAEAoqE,UAAU,CAACE,sBAAX,CAAkCtqE,MAAlC,EAA0CuqE,OAA1C,CAHJ;AAKH;AACJ;AA9BY,GAAjB;AAiCA,MAAIC,EAAE,GAAG39L,MAAM,CAACoxL,YAAP,CAAoB,IAApB,EAA0B;AAC/BC,IAAAA,MAAM,EAAE,mFAAmF9mM,KAAnF,CACJ,GADI,CADuB;AAI/B+mM,IAAAA,WAAW,EACP,2DAA2D/mM,KAA3D,CAAiE,GAAjE,CAL2B;AAM/B4rM,IAAAA,gBAAgB,EAAE,IANa;AAO/B5E,IAAAA,QAAQ,EAAE,4DAA4DhnM,KAA5D,CACN,GADM,CAPqB;AAU/BinM,IAAAA,aAAa,EAAE,qCAAqCjnM,KAArC,CAA2C,GAA3C,CAVgB;AAW/BknM,IAAAA,WAAW,EAAE,uBAAuBlnM,KAAvB,CAA6B,GAA7B,CAXkB;AAY/B4pM,IAAAA,kBAAkB,EAAE,IAZW;AAa/BnC,IAAAA,cAAc,EAAE;AACZC,MAAAA,EAAE,EAAE,MADQ;AAEZC,MAAAA,GAAG,EAAE,SAFO;AAGZC,MAAAA,CAAC,EAAE,YAHS;AAIZC,MAAAA,EAAE,EAAE,cAJQ;AAKZC,MAAAA,GAAG,EAAE,mBALO;AAMZC,MAAAA,IAAI,EAAE;AANM,KAbe;AAqB/BC,IAAAA,QAAQ,EAAE;AACNC,MAAAA,OAAO,EAAE,cADH;AAENC,MAAAA,OAAO,EAAE,eAFH;AAINC,MAAAA,QAAQ,EAAE,YAAY;AAClB,gBAAQ,KAAK6C,GAAL,EAAR;AACI,eAAK,CAAL;AACI,mBAAO,uBAAP;;AACJ,eAAK,CAAL;AACI,mBAAO,sBAAP;;AACJ,eAAK,CAAL;AACI,mBAAO,qBAAP;;AACJ,eAAK,CAAL;AACA,eAAK,CAAL;AACA,eAAK,CAAL;AACA,eAAK,CAAL;AACI,mBAAO,iBAAP;AAXR;AAaH,OAlBK;AAmBN5C,MAAAA,OAAO,EAAE,aAnBH;AAoBNC,MAAAA,QAAQ,EAAE,YAAY;AAClB,YAAIgL,YAAY,GAAG,CACf,4BADe,EAEf,gCAFe,EAGf,2BAHe,EAIf,2BAJe,EAKf,6BALe,EAMf,0BANe,EAOf,0BAPe,CAAnB;AASA,eAAOA,YAAY,CAAC,KAAKrI,GAAL,EAAD,CAAnB;AACH,OA/BK;AAgCN1C,MAAAA,QAAQ,EAAE;AAhCJ,KArBqB;AAuD/BC,IAAAA,YAAY,EAAE;AACVC,MAAAA,MAAM,EAAE,OADE;AAEVC,MAAAA,IAAI,EAAE,UAFI;AAGVl9K,MAAAA,CAAC,EAAE,kBAHO;AAIVm9K,MAAAA,EAAE,EAAEsK,UAAU,CAACpyN,SAJL;AAKV6sC,MAAAA,CAAC,EAAEulL,UAAU,CAACpyN,SALJ;AAMV+nN,MAAAA,EAAE,EAAEqK,UAAU,CAACpyN,SANL;AAOVi3K,MAAAA,CAAC,EAAEm7C,UAAU,CAACpyN,SAPJ;AAQVgoN,MAAAA,EAAE,EAAEoK,UAAU,CAACpyN,SARL;AASViqC,MAAAA,CAAC,EAAE,KATO;AAUVg+K,MAAAA,EAAE,EAAEmK,UAAU,CAACpyN,SAVL;AAWVkoN,MAAAA,CAAC,EAAE,QAXO;AAYVC,MAAAA,EAAE,EAAEiK,UAAU,CAACpyN,SAZL;AAaVosC,MAAAA,CAAC,EAAE,QAbO;AAcVg8K,MAAAA,EAAE,EAAEgK,UAAU,CAACpyN;AAdL,KAvDiB;AAuE/BqoN,IAAAA,sBAAsB,EAAE,WAvEO;AAwE/BC,IAAAA,OAAO,EAAE,KAxEsB;AAyE/BC,IAAAA,IAAI,EAAE;AACFC,MAAAA,GAAG,EAAE,CADH;AACM;AACRC,MAAAA,GAAG,EAAE,CAFH,CAEM;;AAFN;AAzEyB,GAA1B,CAAT;AA+EA,SAAO+J,EAAP;AAEH,CA3HC,CAAD;;;;;;;;;;ACJD;AACA;AACA;AAEA;;AAAE,WAAUhnD,MAAV,EAAkB98J,OAAlB,EAA2B;AAC1B,UACuCA,OAAO,CAACy2L,mBAAO,CAAC,sBAAD,CAAR,CAD9C,GAEA,CAFA;AAIF,CALC,EAKA,IALA,EAKO,UAAUtwK,MAAV,EAAkB;AAAE,eAAF,CAEvB;;AAEA,MAAI69L,EAAE,GAAG79L,MAAM,CAACoxL,YAAP,CAAoB,IAApB,EAA0B;AAC/BC,IAAAA,MAAM,EAAE,8IAA8I9mM,KAA9I,CACJ,GADI,CADuB;AAI/B+mM,IAAAA,WAAW,EACP,iEAAiE/mM,KAAjE,CACI,GADJ,CAL2B;AAQ/BosM,IAAAA,WAAW,EAAE,wCARkB;AAS/BC,IAAAA,iBAAiB,EAAE,wCATY;AAU/BV,IAAAA,gBAAgB,EAAE,wCAVa;AAW/BW,IAAAA,sBAAsB,EAAE,wCAXO;AAY/BtF,IAAAA,QAAQ,EAAE,kDAAkDhnM,KAAlD,CAAwD,GAAxD,CAZqB;AAa/BinM,IAAAA,aAAa,EAAE,wBAAwBjnM,KAAxB,CAA8B,GAA9B,CAbgB;AAc/BknM,IAAAA,WAAW,EAAE,wBAAwBlnM,KAAxB,CAA8B,GAA9B,CAdkB;AAe/BynM,IAAAA,cAAc,EAAE;AACZC,MAAAA,EAAE,EAAE,OADQ;AAEZC,MAAAA,GAAG,EAAE,UAFO;AAGZC,MAAAA,CAAC,EAAE,YAHS;AAIZC,MAAAA,EAAE,EAAE,aAJQ;AAKZC,MAAAA,GAAG,EAAE,uBALO;AAMZC,MAAAA,IAAI,EAAE;AANM,KAfe;AAuB/BC,IAAAA,QAAQ,EAAE;AACNC,MAAAA,OAAO,EAAE,uBADH;AAENC,MAAAA,OAAO,EAAE,cAFH;AAGNC,MAAAA,QAAQ,EAAE,aAHJ;AAINC,MAAAA,OAAO,EAAE,gBAJH;AAKNC,MAAAA,QAAQ,EAAE,0BALJ;AAMNC,MAAAA,QAAQ,EAAE;AANJ,KAvBqB;AA+B/BC,IAAAA,YAAY,EAAE;AACVC,MAAAA,MAAM,EAAE,aADE;AAEVC,MAAAA,IAAI,EAAE,UAFI;AAGVl9K,MAAAA,CAAC,EAAE,kBAHO;AAIVm9K,MAAAA,EAAE,EAAE,WAJM;AAKVj7K,MAAAA,CAAC,EAAE,WALO;AAMVk7K,MAAAA,EAAE,EAAE,WANM;AAOV9wC,MAAAA,CAAC,EAAE,UAPO;AAQV+wC,MAAAA,EAAE,EAAE,UARM;AASV/9K,MAAAA,CAAC,EAAE,OATO;AAUVg+K,MAAAA,EAAE,EAAE,OAVM;AAWVC,MAAAA,CAAC,EAAE,WAXO;AAYVC,MAAAA,EAAE,EAAE,WAZM;AAaV/7K,MAAAA,CAAC,EAAE,QAbO;AAcVg8K,MAAAA,EAAE,EAAE;AAdM,KA/BiB;AA+C/BC,IAAAA,sBAAsB,EAAE,UA/CO;AAgD/BC,IAAAA,OAAO,EAAE,KAhDsB;AAiD/BC,IAAAA,IAAI,EAAE;AACFC,MAAAA,GAAG,EAAE,CADH;AACM;AACRC,MAAAA,GAAG,EAAE,CAFH,CAEM;;AAFN;AAjDyB,GAA1B,CAAT;AAuDA,SAAOiK,EAAP;AAEH,CAlEC,CAAD;;;;;;;;;;ACJD;AACA;AACA;AACA;AAEA;;AAAE,WAAUlnD,MAAV,EAAkB98J,OAAlB,EAA2B;AAC1B,UACuCA,OAAO,CAACy2L,mBAAO,CAAC,sBAAD,CAAR,CAD9C,GAEA,CAFA;AAIF,CALC,EAKA,IALA,EAKO,UAAUtwK,MAAV,EAAkB;AAAE,eAAF,CAEvB;;AAEA,MAAI89L,EAAE,GAAG99L,MAAM,CAACoxL,YAAP,CAAoB,IAApB,EAA0B;AAC/BC,IAAAA,MAAM,EAAE,uFAAuF9mM,KAAvF,CACJ,GADI,CADuB;AAI/B+mM,IAAAA,WAAW,EAAE,kDAAkD/mM,KAAlD,CAAwD,GAAxD,CAJkB;AAK/BgnM,IAAAA,QAAQ,EAAE,wDAAwDhnM,KAAxD,CACN,GADM,CALqB;AAQ/BinM,IAAAA,aAAa,EAAE,8BAA8BjnM,KAA9B,CAAoC,GAApC,CARgB;AAS/BknM,IAAAA,WAAW,EAAE,uBAAuBlnM,KAAvB,CAA6B,GAA7B,CATkB;AAU/BynM,IAAAA,cAAc,EAAE;AACZC,MAAAA,EAAE,EAAE,MADQ;AAEZC,MAAAA,GAAG,EAAE,SAFO;AAGZC,MAAAA,CAAC,EAAE,WAHS;AAIZC,MAAAA,EAAE,EAAE,aAJQ;AAKZC,MAAAA,GAAG,EAAE,kBALO;AAMZC,MAAAA,IAAI,EAAE;AANM,KAVe;AAkB/BC,IAAAA,QAAQ,EAAE;AACNC,MAAAA,OAAO,EAAE,eADH;AAENC,MAAAA,OAAO,EAAE,cAFH;AAGNC,MAAAA,QAAQ,EAAE,mBAHJ;AAINC,MAAAA,OAAO,EAAE,eAJH;AAKNC,MAAAA,QAAQ,EAAE,YAAY;AAClB,gBAAQ,KAAK2C,GAAL,EAAR;AACI,eAAK,CAAL;AACA,eAAK,CAAL;AACA,eAAK,CAAL;AACI,mBAAO,2BAAP;;AACJ,eAAK,CAAL;AACA,eAAK,CAAL;AACA,eAAK,CAAL;AACA,eAAK,CAAL;AACI,mBAAO,2BAAP;AATR;AAWH,OAjBK;AAkBN1C,MAAAA,QAAQ,EAAE;AAlBJ,KAlBqB;AAsC/BC,IAAAA,YAAY,EAAE;AACVC,MAAAA,MAAM,EAAE,OADE;AAEVC,MAAAA,IAAI,EAAE,SAFI;AAGVl9K,MAAAA,CAAC,EAAE,iBAHO;AAIVm9K,MAAAA,EAAE,EAAE,YAJM;AAKVj7K,MAAAA,CAAC,EAAE,aALO;AAMVk7K,MAAAA,EAAE,EAAE,WANM;AAOV9wC,MAAAA,CAAC,EAAE,UAPO;AAQV+wC,MAAAA,EAAE,EAAE,SARM;AASV/9K,MAAAA,CAAC,EAAE,UATO;AAUVg+K,MAAAA,EAAE,EAAE,SAVM;AAWVC,MAAAA,CAAC,EAAE,YAXO;AAYVC,MAAAA,EAAE,EAAE,WAZM;AAaV/7K,MAAAA,CAAC,EAAE,aAbO;AAcVg8K,MAAAA,EAAE,EAAE;AAdM,KAtCiB;AAsD/BC,IAAAA,sBAAsB,EAAE,6BAtDO;AAuD/BC,IAAAA,OAAO,EAAE,UAAUtgE,MAAV,EAAkB;AACvB,UAAIwiE,SAAS,GAAGxiE,MAAM,GAAG,EAAzB;AAAA,UACIyiE,WAAW,GAAGziE,MAAM,GAAG,GAD3B;;AAEA,UAAIA,MAAM,KAAK,CAAf,EAAkB;AACd,eAAOA,MAAM,GAAG,KAAhB;AACH,OAFD,MAEO,IAAIyiE,WAAW,KAAK,CAApB,EAAuB;AAC1B,eAAOziE,MAAM,GAAG,KAAhB;AACH,OAFM,MAEA,IAAIyiE,WAAW,GAAG,EAAd,IAAoBA,WAAW,GAAG,EAAtC,EAA0C;AAC7C,eAAOziE,MAAM,GAAG,KAAhB;AACH,OAFM,MAEA,IAAIwiE,SAAS,KAAK,CAAlB,EAAqB;AACxB,eAAOxiE,MAAM,GAAG,KAAhB;AACH,OAFM,MAEA,IAAIwiE,SAAS,KAAK,CAAlB,EAAqB;AACxB,eAAOxiE,MAAM,GAAG,KAAhB;AACH,OAFM,MAEA,IAAIwiE,SAAS,KAAK,CAAd,IAAmBA,SAAS,KAAK,CAArC,EAAwC;AAC3C,eAAOxiE,MAAM,GAAG,KAAhB;AACH,OAFM,MAEA;AACH,eAAOA,MAAM,GAAG,KAAhB;AACH;AACJ,KAzE8B;AA0E/BugE,IAAAA,IAAI,EAAE;AACFC,MAAAA,GAAG,EAAE,CADH;AACM;AACRC,MAAAA,GAAG,EAAE,CAFH,CAEM;;AAFN;AA1EyB,GAA1B,CAAT;AAgFA,SAAOkK,EAAP;AAEH,CA3FC,CAAD;;;;;;;;;;ACLD;AACA;AACA;AAEA;;AAAE,WAAUnnD,MAAV,EAAkB98J,OAAlB,EAA2B;AAC1B,UACuCA,OAAO,CAACy2L,mBAAO,CAAC,sBAAD,CAAR,CAD9C,GAEA,CAFA;AAIF,CALC,EAKA,IALA,EAKO,UAAUtwK,MAAV,EAAkB;AAAE,eAAF,CAEvB;;AAEA,MAAI+9L,EAAE,GAAG/9L,MAAM,CAACoxL,YAAP,CAAoB,IAApB,EAA0B;AAC/BC,IAAAA,MAAM,EAAE,yFAAyF9mM,KAAzF,CACJ,GADI,CADuB;AAI/B+mM,IAAAA,WAAW,EACP,yEAAyE/mM,KAAzE,CACI,GADJ,CAL2B;AAQ/B4rM,IAAAA,gBAAgB,EAAE,IARa;AAS/B5E,IAAAA,QAAQ,EACJ,wEAAwEhnM,KAAxE,CACI,GADJ,CAV2B;AAa/BinM,IAAAA,aAAa,EAAE,2CAA2CjnM,KAA3C,CAAiD,GAAjD,CAbgB;AAc/BknM,IAAAA,WAAW,EAAE,wBAAwBlnM,KAAxB,CAA8B,GAA9B,CAdkB;AAe/BynM,IAAAA,cAAc,EAAE;AACZC,MAAAA,EAAE,EAAE,YADQ;AAEZC,MAAAA,GAAG,EAAE,eAFO;AAGZC,MAAAA,CAAC,EAAE,YAHS;AAIZC,MAAAA,EAAE,EAAE,aAJQ;AAKZC,MAAAA,GAAG,EAAE,yBALO;AAMZC,MAAAA,IAAI,EAAE;AANM,KAfe;AAuB/BC,IAAAA,QAAQ,EAAE;AACNC,MAAAA,OAAO,EAAE,YADH;AAENC,MAAAA,OAAO,EAAE,WAFH;AAGNC,MAAAA,QAAQ,EAAE,UAHJ;AAINC,MAAAA,OAAO,EAAE,aAJH;AAKNC,MAAAA,QAAQ,EAAE,mBALJ;AAMNC,MAAAA,QAAQ,EAAE;AANJ,KAvBqB;AA+B/BC,IAAAA,YAAY,EAAE;AACVC,MAAAA,MAAM,EAAE,YADE;AAEVC,MAAAA,IAAI,EAAE,UAFI;AAGVl9K,MAAAA,CAAC,EAAE,eAHO;AAIVm9K,MAAAA,EAAE,EAAE,aAJM;AAKVj7K,MAAAA,CAAC,EAAE,cALO;AAMVk7K,MAAAA,EAAE,EAAE,aANM;AAOV9wC,MAAAA,CAAC,EAAE,cAPO;AAQV+wC,MAAAA,EAAE,EAAE,aARM;AASV/9K,MAAAA,CAAC,EAAE,WATO;AAUVg+K,MAAAA,EAAE,EAAE,UAVM;AAWVC,MAAAA,CAAC,EAAE,UAXO;AAYVC,MAAAA,EAAE,EAAE,SAZM;AAaV/7K,MAAAA,CAAC,EAAE,UAbO;AAcVg8K,MAAAA,EAAE,EAAE;AAdM,KA/BiB;AA+C/B7B,IAAAA,aAAa,EAAE,+CA/CgB;AAgD/BqE,IAAAA,YAAY,EAAE,UAAUvzE,IAAV,EAAgBovE,QAAhB,EAA0B;AACpC,UAAIpvE,IAAI,KAAK,EAAb,EAAiB;AACbA,QAAAA,IAAI,GAAG,CAAP;AACH;;AACD,UACKovE,QAAQ,KAAK,QAAb,IAAyBpvE,IAAI,IAAI,CAAlC,IACAovE,QAAQ,KAAK,cADb,IAEAA,QAAQ,KAAK,YAHjB,EAIE;AACE,eAAOpvE,IAAI,GAAG,EAAd;AACH,OAND,MAMO;AACH,eAAOA,IAAP;AACH;AACJ,KA7D8B;AA8D/BovE,IAAAA,QAAQ,EAAE,UAAUpvE,IAAV,EAAgB4xE,MAAhB,EAAwBrC,OAAxB,EAAiC;AACvC,UAAIvvE,IAAI,GAAG,CAAX,EAAc;AACV,eAAO,QAAP;AACH,OAFD,MAEO,IAAIA,IAAI,GAAG,EAAX,EAAe;AAClB,eAAO,QAAP;AACH,OAFM,MAEA,IAAIA,IAAI,GAAG,EAAX,EAAe;AAClB,eAAO,cAAP;AACH,OAFM,MAEA,IAAIA,IAAI,GAAG,EAAX,EAAe;AAClB,eAAO,YAAP;AACH,OAFM,MAEA;AACH,eAAO,QAAP;AACH;AACJ;AA1E8B,GAA1B,CAAT;AA6EA,SAAOu7E,EAAP;AAEH,CAxFC,CAAD;;;;;;;;;;ACJD;AACA;AACA;AAEA;;AAAE,WAAUpnD,MAAV,EAAkB98J,OAAlB,EAA2B;AAC1B,UACuCA,OAAO,CAACy2L,mBAAO,CAAC,sBAAD,CAAR,CAD9C,GAEA,CAFA;AAIF,CALC,EAKA,IALA,EAKO,UAAUtwK,MAAV,EAAkB;AAAE,eAAF,CAEvB;;AAEA,WAAS70B,SAAT,CAAmBgoJ,MAAnB,EAA2B6gE,aAA3B,EAA0C1iL,GAA1C,EAA+C2iL,QAA/C,EAAyD;AACrD,YAAQ3iL,GAAR;AACI,WAAK,GAAL;AACI,eAAO0iL,aAAa,GAAG,eAAH,GAAqB,iBAAzC;;AACJ,WAAK,IAAL;AACI,eAAO7gE,MAAM,IAAI6gE,aAAa,GAAG,SAAH,GAAe,WAAhC,CAAb;;AACJ,WAAK,GAAL;AACA,WAAK,IAAL;AACI,eAAO7gE,MAAM,IAAI6gE,aAAa,GAAG,QAAH,GAAc,UAA/B,CAAb;;AACJ,WAAK,GAAL;AACA,WAAK,IAAL;AACI,eAAO7gE,MAAM,IAAI6gE,aAAa,GAAG,MAAH,GAAY,SAA7B,CAAb;;AACJ,WAAK,GAAL;AACA,WAAK,IAAL;AACI,eAAO7gE,MAAM,IAAI6gE,aAAa,GAAG,OAAH,GAAa,SAA9B,CAAb;;AACJ,WAAK,GAAL;AACA,WAAK,IAAL;AACI,eAAO7gE,MAAM,IAAI6gE,aAAa,GAAG,MAAH,GAAY,QAA7B,CAAb;;AACJ,WAAK,GAAL;AACA,WAAK,IAAL;AACI,eAAO7gE,MAAM,IAAI6gE,aAAa,GAAG,MAAH,GAAY,SAA7B,CAAb;;AACJ;AACI,eAAO7gE,MAAP;AArBR;AAuBH;;AAED,MAAI6qE,EAAE,GAAGh+L,MAAM,CAACoxL,YAAP,CAAoB,IAApB,EAA0B;AAC/BC,IAAAA,MAAM,EAAE,+LAA+L9mM,KAA/L,CACJ,GADI,CADuB;AAI/B+mM,IAAAA,WAAW,EACP,6EAA6E/mM,KAA7E,CACI,GADJ,CAL2B;AAQ/B4rM,IAAAA,gBAAgB,EAAE,IARa;AAS/B5E,IAAAA,QAAQ,EAAE,6CAA6ChnM,KAA7C,CAAmD,GAAnD,CATqB;AAU/BinM,IAAAA,aAAa,EAAE,8BAA8BjnM,KAA9B,CAAoC,GAApC,CAVgB;AAW/BknM,IAAAA,WAAW,EAAE,uBAAuBlnM,KAAvB,CAA6B,GAA7B,CAXkB;AAY/B4pM,IAAAA,kBAAkB,EAAE,IAZW;AAa/BnC,IAAAA,cAAc,EAAE;AACZC,MAAAA,EAAE,EAAE,OADQ;AAEZC,MAAAA,GAAG,EAAE,UAFO;AAGZC,MAAAA,CAAC,EAAE,YAHS;AAIZC,MAAAA,EAAE,EAAE,mBAJQ;AAKZC,MAAAA,GAAG,EAAE,yBALO;AAMZC,MAAAA,IAAI,EAAE;AANM,KAbe;AAqB/BZ,IAAAA,aAAa,EAAE,QArBgB;AAsB/BC,IAAAA,IAAI,EAAE,UAAU5tJ,KAAV,EAAiB;AACnB,aAAOA,KAAK,KAAK,IAAjB;AACH,KAxB8B;AAyB/B6tJ,IAAAA,QAAQ,EAAE,UAAUpvE,IAAV,EAAgB4xE,MAAhB,EAAwBrC,OAAxB,EAAiC;AACvC,UAAIvvE,IAAI,GAAG,EAAX,EAAe;AACX,eAAO,IAAP;AACH,OAFD,MAEO;AACH,eAAO,IAAP;AACH;AACJ,KA/B8B;AAgC/B+vE,IAAAA,QAAQ,EAAE;AACNC,MAAAA,OAAO,EAAE,cADH;AAENC,MAAAA,OAAO,EAAE,cAFH;AAGNC,MAAAA,QAAQ,EAAE,gBAHJ;AAINC,MAAAA,OAAO,EAAE,cAJH;AAKNC,MAAAA,QAAQ,EAAE,oBALJ;AAMNC,MAAAA,QAAQ,EAAE;AANJ,KAhCqB;AAwC/BC,IAAAA,YAAY,EAAE;AACVC,MAAAA,MAAM,EAAE,UADE;AAEVC,MAAAA,IAAI,EAAE,SAFI;AAGVl9K,MAAAA,CAAC,EAAE3qC,SAHO;AAIV8nN,MAAAA,EAAE,EAAE9nN,SAJM;AAKV6sC,MAAAA,CAAC,EAAE7sC,SALO;AAMV+nN,MAAAA,EAAE,EAAE/nN,SANM;AAOVi3K,MAAAA,CAAC,EAAEj3K,SAPO;AAQVgoN,MAAAA,EAAE,EAAEhoN,SARM;AASViqC,MAAAA,CAAC,EAAEjqC,SATO;AAUVioN,MAAAA,EAAE,EAAEjoN,SAVM;AAWVkoN,MAAAA,CAAC,EAAEloN,SAXO;AAYVmoN,MAAAA,EAAE,EAAEnoN,SAZM;AAaVosC,MAAAA,CAAC,EAAEpsC,SAbO;AAcVooN,MAAAA,EAAE,EAAEpoN;AAdM,KAxCiB;AAwD/BqoN,IAAAA,sBAAsB,EAAE,cAxDO;AAyD/BC,IAAAA,OAAO,EAAE,UAAUtgE,MAAV,EAAkBqiE,MAAlB,EAA0B;AAC/B,cAAQA,MAAR;AACI,aAAK,GAAL;AACA,aAAK,GAAL;AACA,aAAK,KAAL;AACI,iBAAOriE,MAAM,GAAG,OAAhB;;AACJ;AACI,iBAAOA,MAAP;AANR;AAQH;AAlE8B,GAA1B,CAAT;AAqEA,SAAO6qE,EAAP;AAEH,CA1GC,CAAD;;;;;;;;;;ACJD;AACA;AACA;AACA;AAEA;;AAAE,WAAUrnD,MAAV,EAAkB98J,OAAlB,EAA2B;AAC1B,UACuCA,OAAO,CAACy2L,mBAAO,CAAC,sBAAD,CAAR,CAD9C,GAEA,CAFA;AAIF,CALC,EAKA,IALA,EAKO,UAAUtwK,MAAV,EAAkB;AAAE,eAAF,CAEvB;;AAEA,MAAIu0L,SAAS,GAAG;AACR,OAAG,GADK;AAER,OAAG,GAFK;AAGR,OAAG,GAHK;AAIR,OAAG,GAJK;AAKR,OAAG,GALK;AAMR,OAAG,GANK;AAOR,OAAG,GAPK;AAQR,OAAG,GARK;AASR,OAAG,GATK;AAUR,OAAG;AAVK,GAAhB;AAAA,MAYII,SAAS,GAAG;AACR,SAAK,GADG;AAER,SAAK,GAFG;AAGR,SAAK,GAHG;AAIR,SAAK,GAJG;AAKR,SAAK,GALG;AAMR,SAAK,GANG;AAOR,SAAK,GAPG;AAQR,SAAK,GARG;AASR,SAAK,GATG;AAUR,SAAK;AAVG,GAZhB;;AAyBA,WAASsJ,cAAT,CAAwB9qE,MAAxB,EAAgC6gE,aAAhC,EAA+CnK,MAA/C,EAAuDoK,QAAvD,EAAiE;AAC7D,QAAIl1E,MAAM,GAAG,EAAb;;AACA,QAAIi1E,aAAJ,EAAmB;AACf,cAAQnK,MAAR;AACI,aAAK,GAAL;AACI9qE,UAAAA,MAAM,GAAG,YAAT;AACA;;AACJ,aAAK,IAAL;AACIA,UAAAA,MAAM,GAAG,UAAT;AACA;;AACJ,aAAK,GAAL;AACIA,UAAAA,MAAM,GAAG,UAAT;AACA;;AACJ,aAAK,IAAL;AACIA,UAAAA,MAAM,GAAG,WAAT;AACA;;AACJ,aAAK,GAAL;AACIA,UAAAA,MAAM,GAAG,QAAT;AACA;;AACJ,aAAK,IAAL;AACIA,UAAAA,MAAM,GAAG,QAAT;AACA;;AACJ,aAAK,GAAL;AACIA,UAAAA,MAAM,GAAG,SAAT;AACA;;AACJ,aAAK,IAAL;AACIA,UAAAA,MAAM,GAAG,SAAT;AACA;;AACJ,aAAK,GAAL;AACIA,UAAAA,MAAM,GAAG,UAAT;AACA;;AACJ,aAAK,IAAL;AACIA,UAAAA,MAAM,GAAG,UAAT;AACA;;AACJ,aAAK,GAAL;AACIA,UAAAA,MAAM,GAAG,SAAT;AACA;;AACJ,aAAK,IAAL;AACIA,UAAAA,MAAM,GAAG,UAAT;AACA;AApCR;AAsCH,KAvCD,MAuCO;AACH,cAAQ8qE,MAAR;AACI,aAAK,GAAL;AACI9qE,UAAAA,MAAM,GAAG,cAAT;AACA;;AACJ,aAAK,IAAL;AACIA,UAAAA,MAAM,GAAG,YAAT;AACA;;AACJ,aAAK,GAAL;AACIA,UAAAA,MAAM,GAAG,YAAT;AACA;;AACJ,aAAK,IAAL;AACIA,UAAAA,MAAM,GAAG,YAAT;AACA;;AACJ,aAAK,GAAL;AACIA,UAAAA,MAAM,GAAG,UAAT;AACA;;AACJ,aAAK,IAAL;AACIA,UAAAA,MAAM,GAAG,UAAT;AACA;;AACJ,aAAK,GAAL;AACIA,UAAAA,MAAM,GAAG,WAAT;AACA;;AACJ,aAAK,IAAL;AACIA,UAAAA,MAAM,GAAG,WAAT;AACA;;AACJ,aAAK,GAAL;AACIA,UAAAA,MAAM,GAAG,aAAT;AACA;;AACJ,aAAK,IAAL;AACIA,UAAAA,MAAM,GAAG,aAAT;AACA;;AACJ,aAAK,GAAL;AACIA,UAAAA,MAAM,GAAG,WAAT;AACA;;AACJ,aAAK,IAAL;AACIA,UAAAA,MAAM,GAAG,WAAT;AACA;AApCR;AAsCH;;AACD,WAAOA,MAAM,CAACl0H,OAAP,CAAe,KAAf,EAAsBsoI,MAAtB,CAAP;AACH;;AAED,MAAI+qE,EAAE,GAAGl+L,MAAM,CAACoxL,YAAP,CAAoB,IAApB,EAA0B;AAC/BC,IAAAA,MAAM,EAAE,wFAAwF9mM,KAAxF,CACJ,GADI,CADuB;AAI/B+mM,IAAAA,WAAW,EACP,gFAAgF/mM,KAAhF,CACI,GADJ,CAL2B;AAQ/B4rM,IAAAA,gBAAgB,EAAE,IARa;AAS/B5E,IAAAA,QAAQ,EAAE,uDAAuDhnM,KAAvD,CAA6D,GAA7D,CATqB;AAU/BinM,IAAAA,aAAa,EAAE,kCAAkCjnM,KAAlC,CAAwC,GAAxC,CAVgB;AAW/BknM,IAAAA,WAAW,EAAE,qBAAqBlnM,KAArB,CAA2B,GAA3B,CAXkB;AAY/BynM,IAAAA,cAAc,EAAE;AACZC,MAAAA,EAAE,EAAE,cADQ;AAEZC,MAAAA,GAAG,EAAE,iBAFO;AAGZC,MAAAA,CAAC,EAAE,YAHS;AAIZC,MAAAA,EAAE,EAAE,aAJQ;AAKZC,MAAAA,GAAG,EAAE,2BALO;AAMZC,MAAAA,IAAI,EAAE;AANM,KAZe;AAoB/BC,IAAAA,QAAQ,EAAE;AACNC,MAAAA,OAAO,EAAE,SADH;AAENC,MAAAA,OAAO,EAAE,YAFH;AAGNC,MAAAA,QAAQ,EAAE,UAHJ;AAINC,MAAAA,OAAO,EAAE,UAJH;AAKNC,MAAAA,QAAQ,EAAE,kBALJ;AAMNC,MAAAA,QAAQ,EAAE;AANJ,KApBqB;AA4B/BC,IAAAA,YAAY,EAAE;AACVC,MAAAA,MAAM,EAAE,SADE;AAEVC,MAAAA,IAAI,EAAE,UAFI;AAGVl9K,MAAAA,CAAC,EAAEmoL,cAHO;AAIVhL,MAAAA,EAAE,EAAEgL,cAJM;AAKVjmL,MAAAA,CAAC,EAAEimL,cALO;AAMV/K,MAAAA,EAAE,EAAE+K,cANM;AAOV77C,MAAAA,CAAC,EAAE67C,cAPO;AAQV9K,MAAAA,EAAE,EAAE8K,cARM;AASV7oL,MAAAA,CAAC,EAAE6oL,cATO;AAUV7K,MAAAA,EAAE,EAAE6K,cAVM;AAWV5K,MAAAA,CAAC,EAAE4K,cAXO;AAYV3K,MAAAA,EAAE,EAAE2K,cAZM;AAaV1mL,MAAAA,CAAC,EAAE0mL,cAbO;AAcV1K,MAAAA,EAAE,EAAE0K;AAdM,KA5BiB;AA4C/BxJ,IAAAA,QAAQ,EAAE,UAAU5K,MAAV,EAAkB;AACxB,aAAOA,MAAM,CAACh/L,OAAP,CAAe,eAAf,EAAgC,UAAU6qE,KAAV,EAAiB;AACpD,eAAOi/H,SAAS,CAACj/H,KAAD,CAAhB;AACH,OAFM,CAAP;AAGH,KAhD8B;AAiD/B2+H,IAAAA,UAAU,EAAE,UAAUxK,MAAV,EAAkB;AAC1B,aAAOA,MAAM,CAACh/L,OAAP,CAAe,KAAf,EAAsB,UAAU6qE,KAAV,EAAiB;AAC1C,eAAO6+H,SAAS,CAAC7+H,KAAD,CAAhB;AACH,OAFM,CAAP;AAGH,KArD8B;AAsD/Bg8H,IAAAA,aAAa,EAAE,oCAtDgB;AAuD/BqE,IAAAA,YAAY,EAAE,UAAUvzE,IAAV,EAAgBovE,QAAhB,EAA0B;AACpC,UAAIpvE,IAAI,KAAK,EAAb,EAAiB;AACbA,QAAAA,IAAI,GAAG,CAAP;AACH;;AACD,UAAIovE,QAAQ,KAAK,OAAb,IAAwBA,QAAQ,KAAK,OAAzC,EAAkD;AAC9C,eAAOpvE,IAAP;AACH,OAFD,MAEO,IACHovE,QAAQ,KAAK,QAAb,IACAA,QAAQ,KAAK,UADb,IAEAA,QAAQ,KAAK,QAHV,EAIL;AACE,eAAOpvE,IAAI,IAAI,EAAR,GAAaA,IAAb,GAAoBA,IAAI,GAAG,EAAlC;AACH;AACJ,KApE8B;AAqE/BovE,IAAAA,QAAQ,EAAE,UAAUpvE,IAAV,EAAgB4xE,MAAhB,EAAwBrC,OAAxB,EAAiC;AACvC,UAAIvvE,IAAI,IAAI,CAAR,IAAaA,IAAI,GAAG,CAAxB,EAA2B;AACvB,eAAO,OAAP;AACH,OAFD,MAEO,IAAIA,IAAI,GAAG,EAAX,EAAe;AAClB,eAAO,OAAP;AACH,OAFM,MAEA,IAAIA,IAAI,GAAG,EAAX,EAAe;AAClB,eAAO,QAAP;AACH,OAFM,MAEA,IAAIA,IAAI,GAAG,EAAX,EAAe;AAClB,eAAO,UAAP;AACH,OAFM,MAEA;AACH,eAAO,QAAP;AACH;AACJ,KAjF8B;AAkF/BkxE,IAAAA,IAAI,EAAE;AACFC,MAAAA,GAAG,EAAE,CADH;AACM;AACRC,MAAAA,GAAG,EAAE,CAFH,CAEM;;AAFN;AAlFyB,GAA1B,CAAT;AAwFA,SAAOsK,EAAP;AAEH,CAhNC,CAAD;;;;;;;;;;ACLD;AACA;AACA;AACA;AAEA;;AAAE,WAAUvnD,MAAV,EAAkB98J,OAAlB,EAA2B;AAC1B,UACuCA,OAAO,CAACy2L,mBAAO,CAAC,sBAAD,CAAR,CAD9C,GAEA,CAFA;AAIF,CALC,EAKA,IALA,EAKO,UAAUtwK,MAAV,EAAkB;AAAE,eAAF,CAEvB;;AAEA,MAAIm+L,IAAI,GAAGn+L,MAAM,CAACoxL,YAAP,CAAoB,OAApB,EAA6B;AACpCC,IAAAA,MAAM,EAAE,oFAAoF9mM,KAApF,CACJ,GADI,CAD4B;AAIpC+mM,IAAAA,WAAW,EAAE,kDAAkD/mM,KAAlD,CAAwD,GAAxD,CAJuB;AAKpCgnM,IAAAA,QAAQ,EAAE,6CAA6ChnM,KAA7C,CAAmD,GAAnD,CAL0B;AAMpCinM,IAAAA,aAAa,EAAE,8BAA8BjnM,KAA9B,CAAoC,GAApC,CANqB;AAOpCknM,IAAAA,WAAW,EAAE,uBAAuBlnM,KAAvB,CAA6B,GAA7B,CAPuB;AAQpCynM,IAAAA,cAAc,EAAE;AACZC,MAAAA,EAAE,EAAE,OADQ;AAEZC,MAAAA,GAAG,EAAE,UAFO;AAGZC,MAAAA,CAAC,EAAE,YAHS;AAIZC,MAAAA,EAAE,EAAE,aAJQ;AAKZC,MAAAA,GAAG,EAAE,2BALO;AAMZC,MAAAA,IAAI,EAAE;AANM,KARoB;AAgBpCZ,IAAAA,aAAa,EAAE,6BAhBqB;AAiBpCqE,IAAAA,YAAY,EAAE,UAAUvzE,IAAV,EAAgBovE,QAAhB,EAA0B;AACpC,UAAIpvE,IAAI,KAAK,EAAb,EAAiB;AACbA,QAAAA,IAAI,GAAG,CAAP;AACH;;AACD,UAAIovE,QAAQ,KAAK,MAAjB,EAAyB;AACrB,eAAOpvE,IAAP;AACH,OAFD,MAEO,IAAIovE,QAAQ,KAAK,WAAjB,EAA8B;AACjC,eAAOpvE,IAAI,IAAI,EAAR,GAAaA,IAAb,GAAoBA,IAAI,GAAG,EAAlC;AACH,OAFM,MAEA,IAAIovE,QAAQ,KAAK,QAAb,IAAyBA,QAAQ,KAAK,OAA1C,EAAmD;AACtD,eAAOpvE,IAAI,GAAG,EAAd;AACH;AACJ,KA5BmC;AA6BpCovE,IAAAA,QAAQ,EAAE,UAAUC,KAAV,EAAiBC,OAAjB,EAA0BC,OAA1B,EAAmC;AACzC,UAAIF,KAAK,GAAG,EAAZ,EAAgB;AACZ,eAAO,MAAP;AACH,OAFD,MAEO,IAAIA,KAAK,GAAG,EAAZ,EAAgB;AACnB,eAAO,WAAP;AACH,OAFM,MAEA,IAAIA,KAAK,GAAG,EAAZ,EAAgB;AACnB,eAAO,QAAP;AACH,OAFM,MAEA;AACH,eAAO,OAAP;AACH;AACJ,KAvCmC;AAwCpCU,IAAAA,QAAQ,EAAE;AACNC,MAAAA,OAAO,EAAE,qBADH;AAENC,MAAAA,OAAO,EAAE,iBAFH;AAGNC,MAAAA,QAAQ,EAAE,iBAHJ;AAINC,MAAAA,OAAO,EAAE,qBAJH;AAKNC,MAAAA,QAAQ,EAAE,uBALJ;AAMNC,MAAAA,QAAQ,EAAE;AANJ,KAxC0B;AAgDpCC,IAAAA,YAAY,EAAE;AACVC,MAAAA,MAAM,EAAE,UADE;AAEVC,MAAAA,IAAI,EAAE,eAFI;AAGVl9K,MAAAA,CAAC,EAAE,eAHO;AAIVm9K,MAAAA,EAAE,EAAE,SAJM;AAKVj7K,MAAAA,CAAC,EAAE,SALO;AAMVk7K,MAAAA,EAAE,EAAE,UANM;AAOV9wC,MAAAA,CAAC,EAAE,OAPO;AAQV+wC,MAAAA,EAAE,EAAE,QARM;AASV/9K,MAAAA,CAAC,EAAE,QATO;AAUVg+K,MAAAA,EAAE,EAAE,SAVM;AAWVC,MAAAA,CAAC,EAAE,SAXO;AAYVC,MAAAA,EAAE,EAAE,UAZM;AAaV/7K,MAAAA,CAAC,EAAE,SAbO;AAcVg8K,MAAAA,EAAE,EAAE;AAdM,KAhDsB;AAgEpCG,IAAAA,IAAI,EAAE;AACFC,MAAAA,GAAG,EAAE,CADH;AACM;AACRC,MAAAA,GAAG,EAAE,CAFH,CAEM;;AAFN;AAhE8B,GAA7B,CAAX;AAsEA,SAAOuK,IAAP;AAEH,CAjFC,CAAD;;;;;;;;;;ACLD;AACA;AACA;AAEA;;AAAE,WAAUxnD,MAAV,EAAkB98J,OAAlB,EAA2B;AAC1B,UACuCA,OAAO,CAACy2L,mBAAO,CAAC,sBAAD,CAAR,CAD9C,GAEA,CAFA;AAIF,CALC,EAKA,IALA,EAKO,UAAUtwK,MAAV,EAAkB;AAAE,eAAF,CAEvB;;AAEA,MAAIsiH,EAAE,GAAGtiH,MAAM,CAACoxL,YAAP,CAAoB,IAApB,EAA0B;AAC/BC,IAAAA,MAAM,EAAE,oFAAoF9mM,KAApF,CACJ,GADI,CADuB;AAI/B+mM,IAAAA,WAAW,EAAE,kDAAkD/mM,KAAlD,CAAwD,GAAxD,CAJkB;AAK/BgnM,IAAAA,QAAQ,EAAE,6CAA6ChnM,KAA7C,CAAmD,GAAnD,CALqB;AAM/BinM,IAAAA,aAAa,EAAE,8BAA8BjnM,KAA9B,CAAoC,GAApC,CANgB;AAO/BknM,IAAAA,WAAW,EAAE,uBAAuBlnM,KAAvB,CAA6B,GAA7B,CAPkB;AAQ/BynM,IAAAA,cAAc,EAAE;AACZC,MAAAA,EAAE,EAAE,OADQ;AAEZC,MAAAA,GAAG,EAAE,UAFO;AAGZC,MAAAA,CAAC,EAAE,YAHS;AAIZC,MAAAA,EAAE,EAAE,aAJQ;AAKZC,MAAAA,GAAG,EAAE,2BALO;AAMZC,MAAAA,IAAI,EAAE;AANM,KARe;AAgB/BZ,IAAAA,aAAa,EAAE,6BAhBgB;AAiB/BqE,IAAAA,YAAY,EAAE,UAAUvzE,IAAV,EAAgBovE,QAAhB,EAA0B;AACpC,UAAIpvE,IAAI,KAAK,EAAb,EAAiB;AACbA,QAAAA,IAAI,GAAG,CAAP;AACH;;AACD,UAAIovE,QAAQ,KAAK,MAAjB,EAAyB;AACrB,eAAOpvE,IAAP;AACH,OAFD,MAEO,IAAIovE,QAAQ,KAAK,WAAjB,EAA8B;AACjC,eAAOpvE,IAAI,IAAI,EAAR,GAAaA,IAAb,GAAoBA,IAAI,GAAG,EAAlC;AACH,OAFM,MAEA,IAAIovE,QAAQ,KAAK,QAAb,IAAyBA,QAAQ,KAAK,OAA1C,EAAmD;AACtD,eAAOpvE,IAAI,GAAG,EAAd;AACH;AACJ,KA5B8B;AA6B/BovE,IAAAA,QAAQ,EAAE,UAAUC,KAAV,EAAiBC,OAAjB,EAA0BC,OAA1B,EAAmC;AACzC,UAAIF,KAAK,GAAG,EAAZ,EAAgB;AACZ,eAAO,MAAP;AACH,OAFD,MAEO,IAAIA,KAAK,GAAG,EAAZ,EAAgB;AACnB,eAAO,WAAP;AACH,OAFM,MAEA,IAAIA,KAAK,GAAG,EAAZ,EAAgB;AACnB,eAAO,QAAP;AACH,OAFM,MAEA;AACH,eAAO,OAAP;AACH;AACJ,KAvC8B;AAwC/BU,IAAAA,QAAQ,EAAE;AACNC,MAAAA,OAAO,EAAE,qBADH;AAENC,MAAAA,OAAO,EAAE,iBAFH;AAGNC,MAAAA,QAAQ,EAAE,iBAHJ;AAINC,MAAAA,OAAO,EAAE,qBAJH;AAKNC,MAAAA,QAAQ,EAAE,uBALJ;AAMNC,MAAAA,QAAQ,EAAE;AANJ,KAxCqB;AAgD/BC,IAAAA,YAAY,EAAE;AACVC,MAAAA,MAAM,EAAE,UADE;AAEVC,MAAAA,IAAI,EAAE,eAFI;AAGVl9K,MAAAA,CAAC,EAAE,eAHO;AAIVm9K,MAAAA,EAAE,EAAE,SAJM;AAKVj7K,MAAAA,CAAC,EAAE,SALO;AAMVk7K,MAAAA,EAAE,EAAE,UANM;AAOV9wC,MAAAA,CAAC,EAAE,OAPO;AAQV+wC,MAAAA,EAAE,EAAE,QARM;AASV/9K,MAAAA,CAAC,EAAE,QATO;AAUVg+K,MAAAA,EAAE,EAAE,SAVM;AAWVC,MAAAA,CAAC,EAAE,SAXO;AAYVC,MAAAA,EAAE,EAAE,UAZM;AAaV/7K,MAAAA,CAAC,EAAE,SAbO;AAcVg8K,MAAAA,EAAE,EAAE;AAdM,KAhDiB;AAgE/BG,IAAAA,IAAI,EAAE;AACFC,MAAAA,GAAG,EAAE,CADH;AACM;AACRC,MAAAA,GAAG,EAAE,CAFH,CAEM;;AAFN;AAhEyB,GAA1B,CAAT;AAsEA,SAAOtxE,EAAP;AAEH,CAjFC,CAAD;;;;;;;;;;ACJD;AACA;AACA;AAEA;;AAAE,WAAUq0B,MAAV,EAAkB98J,OAAlB,EAA2B;AAC1B,UACuCA,OAAO,CAACy2L,mBAAO,CAAC,sBAAD,CAAR,CAD9C,GAEA,CAFA;AAIF,CALC,EAKA,IALA,EAKO,UAAUtwK,MAAV,EAAkB;AAAE,eAAF,CAEvB;;AAEA,MAAIo+L,EAAE,GAAGp+L,MAAM,CAACoxL,YAAP,CAAoB,IAApB,EAA0B;AAC/BC,IAAAA,MAAM,EAAE,wFAAwF9mM,KAAxF,CACJ,GADI,CADuB;AAI/B+mM,IAAAA,WAAW,EAAE,kDAAkD/mM,KAAlD,CAAwD,GAAxD,CAJkB;AAK/BgnM,IAAAA,QAAQ,EACJ,iEAAiEhnM,KAAjE,CACI,GADJ,CAN2B;AAS/BinM,IAAAA,aAAa,EAAE,8BAA8BjnM,KAA9B,CAAoC,GAApC,CATgB;AAU/BknM,IAAAA,WAAW,EAAE,uBAAuBlnM,KAAvB,CAA6B,GAA7B,CAVkB;AAW/BynM,IAAAA,cAAc,EAAE;AACZC,MAAAA,EAAE,EAAE,OADQ;AAEZC,MAAAA,GAAG,EAAE,UAFO;AAGZC,MAAAA,CAAC,EAAE,YAHS;AAIZC,MAAAA,EAAE,EAAE,aAJQ;AAKZC,MAAAA,GAAG,EAAE,mBALO;AAMZC,MAAAA,IAAI,EAAE;AANM,KAXe;AAmB/BC,IAAAA,QAAQ,EAAE;AACNC,MAAAA,OAAO,EAAE,gBADH;AAENC,MAAAA,OAAO,EAAE,gBAFH;AAGNC,MAAAA,QAAQ,EAAE,eAHJ;AAINC,MAAAA,OAAO,EAAE,oBAJH;AAKNC,MAAAA,QAAQ,EAAE,2BALJ;AAMNC,MAAAA,QAAQ,EAAE;AANJ,KAnBqB;AA2B/BC,IAAAA,YAAY,EAAE;AACVC,MAAAA,MAAM,EAAE,OADE;AAEVC,MAAAA,IAAI,EAAE,QAFI;AAGVl9K,MAAAA,CAAC,EAAE,cAHO;AAIVm9K,MAAAA,EAAE,EAAE,YAJM;AAKVj7K,MAAAA,CAAC,EAAE,QALO;AAMVk7K,MAAAA,EAAE,EAAE,WANM;AAOV9wC,MAAAA,CAAC,EAAE,QAPO;AAQV+wC,MAAAA,EAAE,EAAE,YARM;AASV/9K,MAAAA,CAAC,EAAE,SATO;AAUVg+K,MAAAA,EAAE,EAAE,WAVM;AAWVC,MAAAA,CAAC,EAAE,OAXO;AAYVC,MAAAA,EAAE,EAAE,SAZM;AAaV/7K,MAAAA,CAAC,EAAE,MAbO;AAcVg8K,MAAAA,EAAE,EAAE;AAdM,KA3BiB;AA2C/BC,IAAAA,sBAAsB,EAAE,UA3CO;AA4C/BC,IAAAA,OAAO,EAAE,KA5CsB;AA6C/BC,IAAAA,IAAI,EAAE;AACFC,MAAAA,GAAG,EAAE,CADH;AACM;AACRC,MAAAA,GAAG,EAAE,CAFH,CAEM;;AAFN;AA7CyB,GAA1B,CAAT;AAmDA,SAAOwK,EAAP;AAEH,CA9DC,CAAD;;;;;;;;;;ACJD;AACA;AACA;AACA;AACA;AAEA;;AAAE,WAAUznD,MAAV,EAAkB98J,OAAlB,EAA2B;AAC1B,UACuCA,OAAO,CAACy2L,mBAAO,CAAC,sBAAD,CAAR,CAD9C,GAEA,CAFA;AAIF,CALC,EAKA,IALA,EAKO,UAAUtwK,MAAV,EAAkB;AAAE,eAAF,CAEvB;;AAEA,MAAIu0L,SAAS,GAAG;AACR,OAAG,GADK;AAER,OAAG,GAFK;AAGR,OAAG,GAHK;AAIR,OAAG,GAJK;AAKR,OAAG,GALK;AAMR,OAAG,GANK;AAOR,OAAG,GAPK;AAQR,OAAG,GARK;AASR,OAAG,GATK;AAUR,OAAG;AAVK,GAAhB;AAAA,MAYII,SAAS,GAAG;AACR,SAAK,GADG;AAER,SAAK,GAFG;AAGR,SAAK,GAHG;AAIR,SAAK,GAJG;AAKR,SAAK,GALG;AAMR,SAAK,GANG;AAOR,SAAK,GAPG;AAQR,SAAK,GARG;AASR,SAAK,GATG;AAUR,SAAK;AAVG,GAZhB;AAyBA,MAAI0J,EAAE,GAAGr+L,MAAM,CAACoxL,YAAP,CAAoB,IAApB,EAA0B;AAC/BC,IAAAA,MAAM,EAAE,2FAA2F9mM,KAA3F,CACJ,GADI,CADuB;AAI/B+mM,IAAAA,WAAW,EAAE,mDAAmD/mM,KAAnD,CAAyD,GAAzD,CAJkB;AAK/BgnM,IAAAA,QAAQ,EAAE,wDAAwDhnM,KAAxD,CACN,GADM,CALqB;AAQ/BinM,IAAAA,aAAa,EAAE,2BAA2BjnM,KAA3B,CAAiC,GAAjC,CARgB;AAS/BknM,IAAAA,WAAW,EAAE,2BAA2BlnM,KAA3B,CAAiC,GAAjC,CATkB;AAW/BynM,IAAAA,cAAc,EAAE;AACZC,MAAAA,EAAE,EAAE,OADQ;AAEZC,MAAAA,GAAG,EAAE,UAFO;AAGZC,MAAAA,CAAC,EAAE,YAHS;AAIZC,MAAAA,EAAE,EAAE,aAJQ;AAKZC,MAAAA,GAAG,EAAE,mBALO;AAMZC,MAAAA,IAAI,EAAE;AANM,KAXe;AAmB/BC,IAAAA,QAAQ,EAAE;AACNC,MAAAA,OAAO,EAAE,iBADH;AAENC,MAAAA,OAAO,EAAE,qBAFH;AAGNC,MAAAA,QAAQ,EAAE,eAHJ;AAINC,MAAAA,OAAO,EAAE,kBAJH;AAKNC,MAAAA,QAAQ,EAAE,4BALJ;AAMNC,MAAAA,QAAQ,EAAE;AANJ,KAnBqB;AA2B/BC,IAAAA,YAAY,EAAE;AACVC,MAAAA,MAAM,EAAE,eADE;AAEVC,MAAAA,IAAI,EAAE,iBAFI;AAGVl9K,MAAAA,CAAC,EAAE,iBAHO;AAIVm9K,MAAAA,EAAE,EAAE,YAJM;AAKVj7K,MAAAA,CAAC,EAAE,UALO;AAMVk7K,MAAAA,EAAE,EAAE,UANM;AAOV9wC,MAAAA,CAAC,EAAE,SAPO;AAQV+wC,MAAAA,EAAE,EAAE,SARM;AASV/9K,MAAAA,CAAC,EAAE,QATO;AAUVg+K,MAAAA,EAAE,EAAE,QAVM;AAWVC,MAAAA,CAAC,EAAE,MAXO;AAYVC,MAAAA,EAAE,EAAE,MAZM;AAaV/7K,MAAAA,CAAC,EAAE,SAbO;AAcVg8K,MAAAA,EAAE,EAAE;AAdM,KA3BiB;AA2C/BkB,IAAAA,QAAQ,EAAE,UAAU5K,MAAV,EAAkB;AACxB,aAAOA,MAAM,CAACh/L,OAAP,CAAe,eAAf,EAAgC,UAAU6qE,KAAV,EAAiB;AACpD,eAAOi/H,SAAS,CAACj/H,KAAD,CAAhB;AACH,OAFM,CAAP;AAGH,KA/C8B;AAgD/B2+H,IAAAA,UAAU,EAAE,UAAUxK,MAAV,EAAkB;AAC1B,aAAOA,MAAM,CAACh/L,OAAP,CAAe,KAAf,EAAsB,UAAU6qE,KAAV,EAAiB;AAC1C,eAAO6+H,SAAS,CAAC7+H,KAAD,CAAhB;AACH,OAFM,CAAP;AAGH,KApD8B;AAqD/Bg+H,IAAAA,IAAI,EAAE;AACFC,MAAAA,GAAG,EAAE,CADH;AACM;AACRC,MAAAA,GAAG,EAAE,CAFH,CAEM;;AAFN;AArDyB,GAA1B,CAAT;AA2DA,SAAOyK,EAAP;AAEH,CA/FC,CAAD;;;;;;;;;;ACND;AACA;AACA;AACA;AACA;AAEA;;AAAE,WAAU1nD,MAAV,EAAkB98J,OAAlB,EAA2B;AAC1B,UACuCA,OAAO,CAACy2L,mBAAO,CAAC,sBAAD,CAAR,CAD9C,GAEA,CAFA;AAIF,CALC,EAKA,IALA,EAKO,UAAUtwK,MAAV,EAAkB;AAAE,eAAF,CAEvB;;AAEA,MAAIs+L,EAAE,GAAGt+L,MAAM,CAACoxL,YAAP,CAAoB,IAApB,EAA0B;AAC/BC,IAAAA,MAAM,EAAE,qFAAqF9mM,KAArF,CACJ,GADI,CADuB;AAI/B+mM,IAAAA,WAAW,EACP,6DAA6D/mM,KAA7D,CAAmE,GAAnE,CAL2B;AAM/B4rM,IAAAA,gBAAgB,EAAE,IANa;AAO/B5E,IAAAA,QAAQ,EAAE,qDAAqDhnM,KAArD,CAA2D,GAA3D,CAPqB;AAQ/BinM,IAAAA,aAAa,EAAE,8BAA8BjnM,KAA9B,CAAoC,GAApC,CARgB;AAS/BknM,IAAAA,WAAW,EAAE,uBAAuBlnM,KAAvB,CAA6B,GAA7B,CATkB;AAU/B4pM,IAAAA,kBAAkB,EAAE,IAVW;AAW/BnC,IAAAA,cAAc,EAAE;AACZC,MAAAA,EAAE,EAAE,OADQ;AAEZC,MAAAA,GAAG,EAAE,UAFO;AAGZC,MAAAA,CAAC,EAAE,YAHS;AAIZC,MAAAA,EAAE,EAAE,cAJQ;AAKZC,MAAAA,GAAG,EAAE,0BALO;AAMZC,MAAAA,IAAI,EAAE;AANM,KAXe;AAmB/BC,IAAAA,QAAQ,EAAE;AACNC,MAAAA,OAAO,EAAE,gBADH;AAENC,MAAAA,OAAO,EAAE,mBAFH;AAGNC,MAAAA,QAAQ,EAAE,eAHJ;AAINC,MAAAA,OAAO,EAAE,gBAJH;AAKNC,MAAAA,QAAQ,EAAE,yBALJ;AAMNC,MAAAA,QAAQ,EAAE;AANJ,KAnBqB;AA2B/BC,IAAAA,YAAY,EAAE;AACVC,MAAAA,MAAM,EAAE,OADE;AAEVC,MAAAA,IAAI,EAAE,UAFI;AAGVl9K,MAAAA,CAAC,EAAE,eAHO;AAIVm9K,MAAAA,EAAE,EAAE,aAJM;AAKVj7K,MAAAA,CAAC,EAAE,YALO;AAMVk7K,MAAAA,EAAE,EAAE,aANM;AAOV9wC,MAAAA,CAAC,EAAE,SAPO;AAQV+wC,MAAAA,EAAE,EAAE,UARM;AASV/9K,MAAAA,CAAC,EAAE,QATO;AAUVg+K,MAAAA,EAAE,EAAE,UAVM;AAWVx5C,MAAAA,CAAC,EAAE,QAXO;AAYV87C,MAAAA,EAAE,EAAE,SAZM;AAaVrC,MAAAA,CAAC,EAAE,UAbO;AAcVC,MAAAA,EAAE,EAAE,YAdM;AAeV/7K,MAAAA,CAAC,EAAE,QAfO;AAgBVg8K,MAAAA,EAAE,EAAE;AAhBM,KA3BiB;AA6C/BC,IAAAA,sBAAsB,EAAE,WA7CO;AA8C/BC,IAAAA,OAAO,EAAE,KA9CsB;AA+C/BC,IAAAA,IAAI,EAAE;AACFC,MAAAA,GAAG,EAAE,CADH;AACM;AACRC,MAAAA,GAAG,EAAE,CAFH,CAEM;;AAFN;AA/CyB,GAA1B,CAAT;AAqDA,SAAO0K,EAAP;AAEH,CAhEC,CAAD;;;;;;;;;;ACND;AACA;AACA;AAEA;;AAAE,WAAU3nD,MAAV,EAAkB98J,OAAlB,EAA2B;AAC1B,UACuCA,OAAO,CAACy2L,mBAAO,CAAC,sBAAD,CAAR,CAD9C,GAEA,CAFA;AAIF,CALC,EAKA,IALA,EAKO,UAAUtwK,MAAV,EAAkB;AAAE,eAAF,CAEvB;;AAEA,MAAIu0L,SAAS,GAAG;AACR,OAAG,GADK;AAER,OAAG,GAFK;AAGR,OAAG,GAHK;AAIR,OAAG,GAJK;AAKR,OAAG,GALK;AAMR,OAAG,GANK;AAOR,OAAG,GAPK;AAQR,OAAG,GARK;AASR,OAAG,GATK;AAUR,OAAG;AAVK,GAAhB;AAAA,MAYII,SAAS,GAAG;AACR,SAAK,GADG;AAER,SAAK,GAFG;AAGR,SAAK,GAHG;AAIR,SAAK,GAJG;AAKR,SAAK,GALG;AAMR,SAAK,GANG;AAOR,SAAK,GAPG;AAQR,SAAK,GARG;AASR,SAAK,GATG;AAUR,SAAK;AAVG,GAZhB;AAyBA,MAAI4J,EAAE,GAAGv+L,MAAM,CAACoxL,YAAP,CAAoB,IAApB,EAA0B;AAC/BC,IAAAA,MAAM,EAAE,uFAAuF9mM,KAAvF,CACJ,GADI,CADuB;AAI/B+mM,IAAAA,WAAW,EACP,uEAAuE/mM,KAAvE,CACI,GADJ,CAL2B;AAQ/B4rM,IAAAA,gBAAgB,EAAE,IARa;AAS/B5E,IAAAA,QAAQ,EAAE,wDAAwDhnM,KAAxD,CACN,GADM,CATqB;AAY/BinM,IAAAA,aAAa,EAAE,0CAA0CjnM,KAA1C,CAAgD,GAAhD,CAZgB;AAa/BknM,IAAAA,WAAW,EAAE,4BAA4BlnM,KAA5B,CAAkC,GAAlC,CAbkB;AAc/B4pM,IAAAA,kBAAkB,EAAE,IAdW;AAe/BnC,IAAAA,cAAc,EAAE;AACZC,MAAAA,EAAE,EAAE,cADQ;AAEZC,MAAAA,GAAG,EAAE,iBAFO;AAGZC,MAAAA,CAAC,EAAE,YAHS;AAIZC,MAAAA,EAAE,EAAE,aAJQ;AAKZC,MAAAA,GAAG,EAAE,2BALO;AAMZC,MAAAA,IAAI,EAAE;AANM,KAfe;AAuB/BmC,IAAAA,QAAQ,EAAE,UAAU5K,MAAV,EAAkB;AACxB,aAAOA,MAAM,CAACh/L,OAAP,CAAe,eAAf,EAAgC,UAAU6qE,KAAV,EAAiB;AACpD,eAAOi/H,SAAS,CAACj/H,KAAD,CAAhB;AACH,OAFM,CAAP;AAGH,KA3B8B;AA4B/B2+H,IAAAA,UAAU,EAAE,UAAUxK,MAAV,EAAkB;AAC1B,aAAOA,MAAM,CAACh/L,OAAP,CAAe,KAAf,EAAsB,UAAU6qE,KAAV,EAAiB;AAC1C,eAAO6+H,SAAS,CAAC7+H,KAAD,CAAhB;AACH,OAFM,CAAP;AAGH,KAhC8B;AAiC/Bg8H,IAAAA,aAAa,EAAE,wBAjCgB;AAkC/BqE,IAAAA,YAAY,EAAE,UAAUvzE,IAAV,EAAgBovE,QAAhB,EAA0B;AACpC,UAAIpvE,IAAI,KAAK,EAAb,EAAiB;AACbA,QAAAA,IAAI,GAAG,CAAP;AACH;;AACD,UAAIovE,QAAQ,KAAK,MAAjB,EAAyB;AACrB,eAAOpvE,IAAI,GAAG,CAAP,GAAWA,IAAX,GAAkBA,IAAI,GAAG,EAAhC;AACH,OAFD,MAEO,IAAIovE,QAAQ,KAAK,OAAjB,EAA0B;AAC7B,eAAOpvE,IAAP;AACH,OAFM,MAEA,IAAIovE,QAAQ,KAAK,QAAjB,EAA2B;AAC9B,eAAOpvE,IAAI,IAAI,EAAR,GAAaA,IAAb,GAAoBA,IAAI,GAAG,EAAlC;AACH,OAFM,MAEA,IAAIovE,QAAQ,KAAK,MAAjB,EAAyB;AAC5B,eAAOpvE,IAAI,GAAG,EAAd;AACH;AACJ,KA/C8B;AAgD/BovE,IAAAA,QAAQ,EAAE,UAAUpvE,IAAV,EAAgB4xE,MAAhB,EAAwBrC,OAAxB,EAAiC;AACvC,UAAIvvE,IAAI,GAAG,CAAX,EAAc;AACV,eAAO,MAAP;AACH,OAFD,MAEO,IAAIA,IAAI,GAAG,EAAX,EAAe;AAClB,eAAO,OAAP;AACH,OAFM,MAEA,IAAIA,IAAI,GAAG,EAAX,EAAe;AAClB,eAAO,QAAP;AACH,OAFM,MAEA,IAAIA,IAAI,GAAG,EAAX,EAAe;AAClB,eAAO,MAAP;AACH,OAFM,MAEA;AACH,eAAO,MAAP;AACH;AACJ,KA5D8B;AA6D/B+vE,IAAAA,QAAQ,EAAE;AACNC,MAAAA,OAAO,EAAE,SADH;AAENC,MAAAA,OAAO,EAAE,WAFH;AAGNC,MAAAA,QAAQ,EAAE,oBAHJ;AAINC,MAAAA,OAAO,EAAE,WAJH;AAKNC,MAAAA,QAAQ,EAAE,mBALJ;AAMNC,MAAAA,QAAQ,EAAE;AANJ,KA7DqB;AAqE/BC,IAAAA,YAAY,EAAE;AACVC,MAAAA,MAAM,EAAE,MADE;AAEVC,MAAAA,IAAI,EAAE,UAFI;AAGVl9K,MAAAA,CAAC,EAAE,WAHO;AAIVm9K,MAAAA,EAAE,EAAE,YAJM;AAKVj7K,MAAAA,CAAC,EAAE,UALO;AAMVk7K,MAAAA,EAAE,EAAE,UANM;AAOV9wC,MAAAA,CAAC,EAAE,UAPO;AAQV+wC,MAAAA,EAAE,EAAE,UARM;AASV/9K,MAAAA,CAAC,EAAE,QATO;AAUVg+K,MAAAA,EAAE,EAAE,QAVM;AAWVC,MAAAA,CAAC,EAAE,UAXO;AAYVC,MAAAA,EAAE,EAAE,UAZM;AAaV/7K,MAAAA,CAAC,EAAE,SAbO;AAcVg8K,MAAAA,EAAE,EAAE;AAdM,KArEiB;AAqF/BG,IAAAA,IAAI,EAAE;AACFC,MAAAA,GAAG,EAAE,CADH;AACM;AACRC,MAAAA,GAAG,EAAE,CAFH,CAEM;;AAFN;AArFyB,GAA1B,CAAT;AA2FA,SAAO2K,EAAP;AAEH,CA/HC,CAAD;;;;;;;;;;ACJD;AACA;AACA;AACA;AAEA;;AAAE,WAAU5nD,MAAV,EAAkB98J,OAAlB,EAA2B;AAC1B,UACuCA,OAAO,CAACy2L,mBAAO,CAAC,sBAAD,CAAR,CAD9C,GAEA,CAFA;AAIF,CALC,EAKA,IALA,EAKO,UAAUtwK,MAAV,EAAkB;AAAE,eAAF,CAEvB;;AAEA,MAAIy6L,mBAAmB,GACf,6DAA6DlwM,KAA7D,CAAmE,GAAnE,CADR;AAAA,MAEImwM,sBAAsB,GAClB,kDAAkDnwM,KAAlD,CAAwD,GAAxD,CAHR;AAAA,MAIImsM,WAAW,GAAG,CACV,OADU,EAEV,OAFU,EAGV,gBAHU,EAIV,OAJU,EAKV,QALU,EAMV,aANU,EAOV,aAPU,EAQV,OARU,EASV,OATU,EAUV,OAVU,EAWV,OAXU,EAYV,OAZU,CAJlB;AAAA,MAkBIC,WAAW,GACP,oKAnBR;AAqBA,MAAI6H,IAAI,GAAGx+L,MAAM,CAACoxL,YAAP,CAAoB,OAApB,EAA6B;AACpCC,IAAAA,MAAM,EAAE,0FAA0F9mM,KAA1F,CACJ,GADI,CAD4B;AAIpC+mM,IAAAA,WAAW,EAAE,UAAUt5K,CAAV,EAAa3X,MAAb,EAAqB;AAC9B,UAAI,CAAC2X,CAAL,EAAQ;AACJ,eAAOyiL,mBAAP;AACH,OAFD,MAEO,IAAI,QAAQ55L,IAAR,CAAaR,MAAb,CAAJ,EAA0B;AAC7B,eAAOq6L,sBAAsB,CAAC1iL,CAAC,CAAC2gL,KAAF,EAAD,CAA7B;AACH,OAFM,MAEA;AACH,eAAO8B,mBAAmB,CAACziL,CAAC,CAAC2gL,KAAF,EAAD,CAA1B;AACH;AACJ,KAZmC;AAcpChC,IAAAA,WAAW,EAAEA,WAduB;AAepCT,IAAAA,gBAAgB,EAAES,WAfkB;AAgBpCC,IAAAA,iBAAiB,EACb,2FAjBgC;AAkBpCC,IAAAA,sBAAsB,EAClB,kFAnBgC;AAqBpCH,IAAAA,WAAW,EAAEA,WArBuB;AAsBpCS,IAAAA,eAAe,EAAET,WAtBmB;AAuBpCU,IAAAA,gBAAgB,EAAEV,WAvBkB;AAyBpCnF,IAAAA,QAAQ,EACJ,6DAA6DhnM,KAA7D,CAAmE,GAAnE,CA1BgC;AA2BpCinM,IAAAA,aAAa,EAAE,8BAA8BjnM,KAA9B,CAAoC,GAApC,CA3BqB;AA4BpCknM,IAAAA,WAAW,EAAE,uBAAuBlnM,KAAvB,CAA6B,GAA7B,CA5BuB;AA6BpC4pM,IAAAA,kBAAkB,EAAE,IA7BgB;AA8BpCnC,IAAAA,cAAc,EAAE;AACZC,MAAAA,EAAE,EAAE,OADQ;AAEZC,MAAAA,GAAG,EAAE,UAFO;AAGZC,MAAAA,CAAC,EAAE,YAHS;AAIZC,MAAAA,EAAE,EAAE,aAJQ;AAKZC,MAAAA,GAAG,EAAE,mBALO;AAMZC,MAAAA,IAAI,EAAE;AANM,KA9BoB;AAsCpCC,IAAAA,QAAQ,EAAE;AACNC,MAAAA,OAAO,EAAE,iBADH;AAENC,MAAAA,OAAO,EAAE,gBAFH;AAGNC,MAAAA,QAAQ,EAAE,cAHJ;AAINC,MAAAA,OAAO,EAAE,kBAJH;AAKNC,MAAAA,QAAQ,EAAE,0BALJ;AAMNC,MAAAA,QAAQ,EAAE;AANJ,KAtC0B;AA8CpCC,IAAAA,YAAY,EAAE;AACVC,MAAAA,MAAM,EAAE,SADE;AAEVC,MAAAA,IAAI,EAAE,YAFI;AAGVl9K,MAAAA,CAAC,EAAE,mBAHO;AAIVm9K,MAAAA,EAAE,EAAE,aAJM;AAKVj7K,MAAAA,CAAC,EAAE,YALO;AAMVk7K,MAAAA,EAAE,EAAE,YANM;AAOV9wC,MAAAA,CAAC,EAAE,SAPO;AAQV+wC,MAAAA,EAAE,EAAE,QARM;AASV/9K,MAAAA,CAAC,EAAE,SATO;AAUVg+K,MAAAA,EAAE,EAAE,UAVM;AAWVC,MAAAA,CAAC,EAAE,WAXO;AAYVC,MAAAA,EAAE,EAAE,YAZM;AAaV/7K,MAAAA,CAAC,EAAE,UAbO;AAcVg8K,MAAAA,EAAE,EAAE;AAdM,KA9CsB;AA8DpCC,IAAAA,sBAAsB,EAAE,iBA9DY;AA+DpCC,IAAAA,OAAO,EAAE,UAAUtgE,MAAV,EAAkB;AACvB,aACIA,MAAM,IACLA,MAAM,KAAK,CAAX,IAAgBA,MAAM,KAAK,CAA3B,IAAgCA,MAAM,IAAI,EAA1C,GAA+C,KAA/C,GAAuD,IADlD,CADV;AAIH,KApEmC;AAqEpCugE,IAAAA,IAAI,EAAE;AACFC,MAAAA,GAAG,EAAE,CADH;AACM;AACRC,MAAAA,GAAG,EAAE,CAFH,CAEM;;AAFN;AArE8B,GAA7B,CAAX;AA2EA,SAAO4K,IAAP;AAEH,CA3GC,CAAD;;;;;;;;;;ACLD;AACA;AACA;AACA;AAEA;;AAAE,WAAU7nD,MAAV,EAAkB98J,OAAlB,EAA2B;AAC1B,UACuCA,OAAO,CAACy2L,mBAAO,CAAC,sBAAD,CAAR,CAD9C,GAEA,CAFA;AAIF,CALC,EAKA,IALA,EAKO,UAAUtwK,MAAV,EAAkB;AAAE,eAAF,CAEvB;;AAEA,MAAIy6L,mBAAmB,GACf,6DAA6DlwM,KAA7D,CAAmE,GAAnE,CADR;AAAA,MAEImwM,sBAAsB,GAClB,kDAAkDnwM,KAAlD,CAAwD,GAAxD,CAHR;AAAA,MAIImsM,WAAW,GAAG,CACV,OADU,EAEV,OAFU,EAGV,gBAHU,EAIV,OAJU,EAKV,QALU,EAMV,aANU,EAOV,aAPU,EAQV,OARU,EASV,OATU,EAUV,OAVU,EAWV,OAXU,EAYV,OAZU,CAJlB;AAAA,MAkBIC,WAAW,GACP,oKAnBR;AAqBA,MAAI8H,EAAE,GAAGz+L,MAAM,CAACoxL,YAAP,CAAoB,IAApB,EAA0B;AAC/BC,IAAAA,MAAM,EAAE,0FAA0F9mM,KAA1F,CACJ,GADI,CADuB;AAI/B+mM,IAAAA,WAAW,EAAE,UAAUt5K,CAAV,EAAa3X,MAAb,EAAqB;AAC9B,UAAI,CAAC2X,CAAL,EAAQ;AACJ,eAAOyiL,mBAAP;AACH,OAFD,MAEO,IAAI,QAAQ55L,IAAR,CAAaR,MAAb,CAAJ,EAA0B;AAC7B,eAAOq6L,sBAAsB,CAAC1iL,CAAC,CAAC2gL,KAAF,EAAD,CAA7B;AACH,OAFM,MAEA;AACH,eAAO8B,mBAAmB,CAACziL,CAAC,CAAC2gL,KAAF,EAAD,CAA1B;AACH;AACJ,KAZ8B;AAc/BhC,IAAAA,WAAW,EAAEA,WAdkB;AAe/BT,IAAAA,gBAAgB,EAAES,WAfa;AAgB/BC,IAAAA,iBAAiB,EACb,2FAjB2B;AAkB/BC,IAAAA,sBAAsB,EAClB,kFAnB2B;AAqB/BH,IAAAA,WAAW,EAAEA,WArBkB;AAsB/BS,IAAAA,eAAe,EAAET,WAtBc;AAuB/BU,IAAAA,gBAAgB,EAAEV,WAvBa;AAyB/BnF,IAAAA,QAAQ,EACJ,6DAA6DhnM,KAA7D,CAAmE,GAAnE,CA1B2B;AA2B/BinM,IAAAA,aAAa,EAAE,8BAA8BjnM,KAA9B,CAAoC,GAApC,CA3BgB;AA4B/BknM,IAAAA,WAAW,EAAE,uBAAuBlnM,KAAvB,CAA6B,GAA7B,CA5BkB;AA6B/B4pM,IAAAA,kBAAkB,EAAE,IA7BW;AA8B/BnC,IAAAA,cAAc,EAAE;AACZC,MAAAA,EAAE,EAAE,OADQ;AAEZC,MAAAA,GAAG,EAAE,UAFO;AAGZC,MAAAA,CAAC,EAAE,YAHS;AAIZC,MAAAA,EAAE,EAAE,aAJQ;AAKZC,MAAAA,GAAG,EAAE,mBALO;AAMZC,MAAAA,IAAI,EAAE;AANM,KA9Be;AAsC/BC,IAAAA,QAAQ,EAAE;AACNC,MAAAA,OAAO,EAAE,iBADH;AAENC,MAAAA,OAAO,EAAE,gBAFH;AAGNC,MAAAA,QAAQ,EAAE,cAHJ;AAINC,MAAAA,OAAO,EAAE,kBAJH;AAKNC,MAAAA,QAAQ,EAAE,0BALJ;AAMNC,MAAAA,QAAQ,EAAE;AANJ,KAtCqB;AA8C/BC,IAAAA,YAAY,EAAE;AACVC,MAAAA,MAAM,EAAE,SADE;AAEVC,MAAAA,IAAI,EAAE,YAFI;AAGVl9K,MAAAA,CAAC,EAAE,mBAHO;AAIVm9K,MAAAA,EAAE,EAAE,aAJM;AAKVj7K,MAAAA,CAAC,EAAE,YALO;AAMVk7K,MAAAA,EAAE,EAAE,YANM;AAOV9wC,MAAAA,CAAC,EAAE,SAPO;AAQV+wC,MAAAA,EAAE,EAAE,QARM;AASV/9K,MAAAA,CAAC,EAAE,SATO;AAUVg+K,MAAAA,EAAE,EAAE,UAVM;AAWVx5C,MAAAA,CAAC,EAAE,UAXO;AAYV87C,MAAAA,EAAE,EAAE,UAZM;AAaVrC,MAAAA,CAAC,EAAE,WAbO;AAcVC,MAAAA,EAAE,EAAE,YAdM;AAeV/7K,MAAAA,CAAC,EAAE,UAfO;AAgBVg8K,MAAAA,EAAE,EAAE;AAhBM,KA9CiB;AAgE/BC,IAAAA,sBAAsB,EAAE,iBAhEO;AAiE/BC,IAAAA,OAAO,EAAE,UAAUtgE,MAAV,EAAkB;AACvB,aACIA,MAAM,IACLA,MAAM,KAAK,CAAX,IAAgBA,MAAM,KAAK,CAA3B,IAAgCA,MAAM,IAAI,EAA1C,GAA+C,KAA/C,GAAuD,IADlD,CADV;AAIH,KAtE8B;AAuE/BugE,IAAAA,IAAI,EAAE;AACFC,MAAAA,GAAG,EAAE,CADH;AACM;AACRC,MAAAA,GAAG,EAAE,CAFH,CAEM;;AAFN;AAvEyB,GAA1B,CAAT;AA6EA,SAAO6K,EAAP;AAEH,CA7GC,CAAD;;;;;;;;;;ACLD;AACA;AACA;AACA;AAEA;;AAAE,WAAU9nD,MAAV,EAAkB98J,OAAlB,EAA2B;AAC1B,UACuCA,OAAO,CAACy2L,mBAAO,CAAC,sBAAD,CAAR,CAD9C,GAEA,CAFA;AAIF,CALC,EAKA,IALA,EAKO,UAAUtwK,MAAV,EAAkB;AAAE,eAAF,CAEvB;;AAEA,MAAI0+L,EAAE,GAAG1+L,MAAM,CAACoxL,YAAP,CAAoB,IAApB,EAA0B;AAC/BC,IAAAA,MAAM,EAAE,qFAAqF9mM,KAArF,CACJ,GADI,CADuB;AAI/B+mM,IAAAA,WAAW,EACP,6DAA6D/mM,KAA7D,CAAmE,GAAnE,CAL2B;AAM/B4rM,IAAAA,gBAAgB,EAAE,IANa;AAO/B5E,IAAAA,QAAQ,EAAE,qDAAqDhnM,KAArD,CAA2D,GAA3D,CAPqB;AAQ/BinM,IAAAA,aAAa,EAAE,+BAA+BjnM,KAA/B,CAAqC,GAArC,CARgB;AAS/BknM,IAAAA,WAAW,EAAE,uBAAuBlnM,KAAvB,CAA6B,GAA7B,CATkB;AAU/B4pM,IAAAA,kBAAkB,EAAE,IAVW;AAW/BnC,IAAAA,cAAc,EAAE;AACZC,MAAAA,EAAE,EAAE,OADQ;AAEZC,MAAAA,GAAG,EAAE,UAFO;AAGZC,MAAAA,CAAC,EAAE,YAHS;AAIZC,MAAAA,EAAE,EAAE,cAJQ;AAKZC,MAAAA,GAAG,EAAE,yBALO;AAMZC,MAAAA,IAAI,EAAE;AANM,KAXe;AAmB/BC,IAAAA,QAAQ,EAAE;AACNC,MAAAA,OAAO,EAAE,mBADH;AAENC,MAAAA,OAAO,EAAE,sBAFH;AAGNC,MAAAA,QAAQ,EAAE,kBAHJ;AAINC,MAAAA,OAAO,EAAE,mBAJH;AAKNC,MAAAA,QAAQ,EAAE,+BALJ;AAMNC,MAAAA,QAAQ,EAAE;AANJ,KAnBqB;AA2B/BC,IAAAA,YAAY,EAAE;AACVC,MAAAA,MAAM,EAAE,OADE;AAEVC,MAAAA,IAAI,EAAE,UAFI;AAGVl9K,MAAAA,CAAC,EAAE,cAHO;AAIVm9K,MAAAA,EAAE,EAAE,WAJM;AAKVj7K,MAAAA,CAAC,EAAE,YALO;AAMVk7K,MAAAA,EAAE,EAAE,WANM;AAOV9wC,MAAAA,CAAC,EAAE,UAPO;AAQV+wC,MAAAA,EAAE,EAAE,UARM;AASV/9K,MAAAA,CAAC,EAAE,SATO;AAUVg+K,MAAAA,EAAE,EAAE,UAVM;AAWVx5C,MAAAA,CAAC,EAAE,SAXO;AAYV87C,MAAAA,EAAE,EAAE,UAZM;AAaVrC,MAAAA,CAAC,EAAE,WAbO;AAcVC,MAAAA,EAAE,EAAE,YAdM;AAeV/7K,MAAAA,CAAC,EAAE,QAfO;AAgBVg8K,MAAAA,EAAE,EAAE;AAhBM,KA3BiB;AA6C/BC,IAAAA,sBAAsB,EAAE,WA7CO;AA8C/BC,IAAAA,OAAO,EAAE,KA9CsB;AA+C/BC,IAAAA,IAAI,EAAE;AACFC,MAAAA,GAAG,EAAE,CADH;AACM;AACRC,MAAAA,GAAG,EAAE,CAFH,CAEM;;AAFN;AA/CyB,GAA1B,CAAT;AAqDA,SAAO8K,EAAP;AAEH,CAhEC,CAAD;;;;;;;;;;ACLD;AACA;AACA;AAEA;;AAAE,WAAU/nD,MAAV,EAAkB98J,OAAlB,EAA2B;AAC1B,UACuCA,OAAO,CAACy2L,mBAAO,CAAC,sBAAD,CAAR,CAD9C,GAEA,CAFA;AAIF,CALC,EAKA,IALA,EAKO,UAAUtwK,MAAV,EAAkB;AAAE,eAAF,CAEvB;;AAEA,MAAI2+L,KAAK,GAAG3+L,MAAM,CAACoxL,YAAP,CAAoB,QAApB,EAA8B;AACtCC,IAAAA,MAAM,EAAE;AACJgE,MAAAA,UAAU,EACN,qFAAqF9qM,KAArF,CACI,GADJ,CAFA;AAKJ8V,MAAAA,MAAM,EAAE,sHAAsH9V,KAAtH,CACJ,GADI,CALJ;AAQJ+qM,MAAAA,QAAQ,EAAE;AARN,KAD8B;AAWtChE,IAAAA,WAAW,EACP,+DAA+D/mM,KAA/D,CACI,GADJ,CAZkC;AAetC4rM,IAAAA,gBAAgB,EAAE,IAfoB;AAgBtC5E,IAAAA,QAAQ,EAAE,2DAA2DhnM,KAA3D,CACN,GADM,CAhB4B;AAmBtCinM,IAAAA,aAAa,EAAE,8BAA8BjnM,KAA9B,CAAoC,GAApC,CAnBuB;AAoBtCknM,IAAAA,WAAW,EAAE,uBAAuBlnM,KAAvB,CAA6B,GAA7B,CApByB;AAqBtC4pM,IAAAA,kBAAkB,EAAE,IArBkB;AAsBtCnC,IAAAA,cAAc,EAAE;AACZC,MAAAA,EAAE,EAAE,MADQ;AAEZC,MAAAA,GAAG,EAAE,SAFO;AAGZC,MAAAA,CAAC,EAAE,YAHS;AAIZC,MAAAA,EAAE,EAAE,kBAJQ;AAKZmF,MAAAA,EAAE,EAAE,YALQ;AAMZlF,MAAAA,GAAG,EAAE,2BANO;AAOZmF,MAAAA,GAAG,EAAE,kBAPO;AAQZlF,MAAAA,IAAI,EAAE,gCARM;AASZmF,MAAAA,IAAI,EAAE;AATM,KAtBsB;AAiCtClF,IAAAA,QAAQ,EAAE;AACNC,MAAAA,OAAO,EAAE,YADH;AAENC,MAAAA,OAAO,EAAE,cAFH;AAGNC,MAAAA,QAAQ,EAAE,aAHJ;AAINC,MAAAA,OAAO,EAAE,YAJH;AAKNC,MAAAA,QAAQ,EAAE,oBALJ;AAMNC,MAAAA,QAAQ,EAAE;AANJ,KAjC4B;AAyCtCC,IAAAA,YAAY,EAAE;AACVC,MAAAA,MAAM,EAAE,WADE;AAEVC,MAAAA,IAAI,EAAE,OAFI;AAGVl9K,MAAAA,CAAC,EAAE,eAHO;AAIVm9K,MAAAA,EAAE,EAAE,aAJM;AAKVj7K,MAAAA,CAAC,EAAE,YALO;AAMVk7K,MAAAA,EAAE,EAAE,YANM;AAOV9wC,MAAAA,CAAC,EAAE,SAPO;AAQV+wC,MAAAA,EAAE,EAAE,SARM;AASV/9K,MAAAA,CAAC,EAAE,SATO;AAUVg+K,MAAAA,EAAE,EAAE,UAVM;AAWVC,MAAAA,CAAC,EAAE,QAXO;AAYVC,MAAAA,EAAE,EAAE,UAZM;AAaV/7K,MAAAA,CAAC,EAAE,OAbO;AAcVg8K,MAAAA,EAAE,EAAE;AAdM,KAzCwB;AAyDtCC,IAAAA,sBAAsB,EAAE,oBAzDc;AA0DtCC,IAAAA,OAAO,EAAE,UAAUtgE,MAAV,EAAkBqiE,MAAlB,EAA0B;AAC/B,UAAIz2E,MAAM,GACNoU,MAAM,KAAK,CAAX,GACM,GADN,GAEMA,MAAM,KAAK,CAAX,GACA,GADA,GAEAA,MAAM,KAAK,CAAX,GACA,GADA,GAEAA,MAAM,KAAK,CAAX,GACA,GADA,GAEA,GATV;;AAUA,UAAIqiE,MAAM,KAAK,GAAX,IAAkBA,MAAM,KAAK,GAAjC,EAAsC;AAClCz2E,QAAAA,MAAM,GAAG,GAAT;AACH;;AACD,aAAOoU,MAAM,GAAGpU,MAAhB;AACH,KAzEqC;AA0EtC20E,IAAAA,IAAI,EAAE;AACFC,MAAAA,GAAG,EAAE,CADH;AACM;AACRC,MAAAA,GAAG,EAAE;AAFH;AA1EgC,GAA9B,CAAZ;AAgFA,SAAO+K,KAAP;AAEH,CA3FC,CAAD;;;;;;;;;;ACJD;AACA;AACA;AAEA;;AAAE,WAAUhoD,MAAV,EAAkB98J,OAAlB,EAA2B;AAC1B,UACuCA,OAAO,CAACy2L,mBAAO,CAAC,sBAAD,CAAR,CAD9C,GAEA,CAFA;AAIF,CALC,EAKA,IALA,EAKO,UAAUtwK,MAAV,EAAkB;AAAE,eAAF,CAEvB;;AAEA,MAAIu0L,SAAS,GAAG;AACR,OAAG,GADK;AAER,OAAG,GAFK;AAGR,OAAG,GAHK;AAIR,OAAG,GAJK;AAKR,OAAG,GALK;AAMR,OAAG,GANK;AAOR,OAAG,GAPK;AAQR,OAAG,GARK;AASR,OAAG,GATK;AAUR,OAAG;AAVK,GAAhB;AAAA,MAYII,SAAS,GAAG;AACR,SAAK,GADG;AAER,SAAK,GAFG;AAGR,SAAK,GAHG;AAIR,SAAK,GAJG;AAKR,SAAK,GALG;AAMR,SAAK,GANG;AAOR,SAAK,GAPG;AAQR,SAAK,GARG;AASR,SAAK,GATG;AAUR,SAAK;AAVG,GAZhB;AAyBA,MAAIiK,IAAI,GAAG5+L,MAAM,CAACoxL,YAAP,CAAoB,OAApB,EAA6B;AACpC;AACAC,IAAAA,MAAM,EAAE,sEAAsE9mM,KAAtE,CACJ,GADI,CAF4B;AAKpC+mM,IAAAA,WAAW,EACP,sEAAsE/mM,KAAtE,CACI,GADJ,CANgC;AASpCgnM,IAAAA,QAAQ,EAAE,yDAAyDhnM,KAAzD,CACN,GADM,CAT0B;AAYpCinM,IAAAA,aAAa,EAAE,iCAAiCjnM,KAAjC,CAAuC,GAAvC,CAZqB;AAapCknM,IAAAA,WAAW,EAAE,iCAAiClnM,KAAjC,CAAuC,GAAvC,CAbuB;AAcpCynM,IAAAA,cAAc,EAAE;AACZC,MAAAA,EAAE,EAAE,YADQ;AAEZC,MAAAA,GAAG,EAAE,eAFO;AAGZC,MAAAA,CAAC,EAAE,YAHS;AAIZC,MAAAA,EAAE,EAAE,aAJQ;AAKZC,MAAAA,GAAG,EAAE,yBALO;AAMZC,MAAAA,IAAI,EAAE;AANM,KAdoB;AAsBpCC,IAAAA,QAAQ,EAAE;AACNC,MAAAA,OAAO,EAAE,SADH;AAENC,MAAAA,OAAO,EAAE,SAFH;AAGNC,MAAAA,QAAQ,EAAE,iBAHJ;AAINC,MAAAA,OAAO,EAAE,SAJH;AAKNC,MAAAA,QAAQ,EAAE,kBALJ;AAMNC,MAAAA,QAAQ,EAAE;AANJ,KAtB0B;AA8BpCC,IAAAA,YAAY,EAAE;AACVC,MAAAA,MAAM,EAAE,SADE;AAEVC,MAAAA,IAAI,EAAE,UAFI;AAGVl9K,MAAAA,CAAC,EAAE,WAHO;AAIVm9K,MAAAA,EAAE,EAAE,UAJM;AAKVj7K,MAAAA,CAAC,EAAE,SALO;AAMVk7K,MAAAA,EAAE,EAAE,SANM;AAOV9wC,MAAAA,CAAC,EAAE,UAPO;AAQV+wC,MAAAA,EAAE,EAAE,SARM;AASV/9K,MAAAA,CAAC,EAAE,SATO;AAUVg+K,MAAAA,EAAE,EAAE,QAVM;AAWVC,MAAAA,CAAC,EAAE,WAXO;AAYVC,MAAAA,EAAE,EAAE,UAZM;AAaV/7K,MAAAA,CAAC,EAAE,SAbO;AAcVg8K,MAAAA,EAAE,EAAE;AAdM,KA9BsB;AA8CpCkB,IAAAA,QAAQ,EAAE,UAAU5K,MAAV,EAAkB;AACxB,aAAOA,MAAM,CAACh/L,OAAP,CAAe,eAAf,EAAgC,UAAU6qE,KAAV,EAAiB;AACpD,eAAOi/H,SAAS,CAACj/H,KAAD,CAAhB;AACH,OAFM,CAAP;AAGH,KAlDmC;AAmDpC2+H,IAAAA,UAAU,EAAE,UAAUxK,MAAV,EAAkB;AAC1B,aAAOA,MAAM,CAACh/L,OAAP,CAAe,KAAf,EAAsB,UAAU6qE,KAAV,EAAiB;AAC1C,eAAO6+H,SAAS,CAAC7+H,KAAD,CAAhB;AACH,OAFM,CAAP;AAGH,KAvDmC;AAwDpC;AACA;AACAg8H,IAAAA,aAAa,EAAE,sBA1DqB;AA2DpCqE,IAAAA,YAAY,EAAE,UAAUvzE,IAAV,EAAgBovE,QAAhB,EAA0B;AACpC,UAAIpvE,IAAI,KAAK,EAAb,EAAiB;AACbA,QAAAA,IAAI,GAAG,CAAP;AACH;;AACD,UAAIovE,QAAQ,KAAK,KAAjB,EAAwB;AACpB,eAAOpvE,IAAI,GAAG,CAAP,GAAWA,IAAX,GAAkBA,IAAI,GAAG,EAAhC;AACH,OAFD,MAEO,IAAIovE,QAAQ,KAAK,MAAjB,EAAyB;AAC5B,eAAOpvE,IAAP;AACH,OAFM,MAEA,IAAIovE,QAAQ,KAAK,QAAjB,EAA2B;AAC9B,eAAOpvE,IAAI,IAAI,EAAR,GAAaA,IAAb,GAAoBA,IAAI,GAAG,EAAlC;AACH,OAFM,MAEA,IAAIovE,QAAQ,KAAK,MAAjB,EAAyB;AAC5B,eAAOpvE,IAAI,GAAG,EAAd;AACH;AACJ,KAxEmC;AAyEpCovE,IAAAA,QAAQ,EAAE,UAAUpvE,IAAV,EAAgB4xE,MAAhB,EAAwBrC,OAAxB,EAAiC;AACvC,UAAIvvE,IAAI,GAAG,CAAX,EAAc;AACV,eAAO,KAAP;AACH,OAFD,MAEO,IAAIA,IAAI,GAAG,EAAX,EAAe;AAClB,eAAO,MAAP;AACH,OAFM,MAEA,IAAIA,IAAI,GAAG,EAAX,EAAe;AAClB,eAAO,QAAP;AACH,OAFM,MAEA,IAAIA,IAAI,GAAG,EAAX,EAAe;AAClB,eAAO,MAAP;AACH,OAFM,MAEA;AACH,eAAO,KAAP;AACH;AACJ,KArFmC;AAsFpCkxE,IAAAA,IAAI,EAAE;AACFC,MAAAA,GAAG,EAAE,CADH;AACM;AACRC,MAAAA,GAAG,EAAE,CAFH,CAEM;;AAFN;AAtF8B,GAA7B,CAAX;AA4FA,SAAOgL,IAAP;AAEH,CAhIC,CAAD;;;;;;;;;;ACJD;AACA;AACA;AAEA;;AAAE,WAAUjoD,MAAV,EAAkB98J,OAAlB,EAA2B;AAC1B,UACuCA,OAAO,CAACy2L,mBAAO,CAAC,sBAAD,CAAR,CAD9C,GAEA,CAFA;AAIF,CALC,EAKA,IALA,EAKO,UAAUtwK,MAAV,EAAkB;AAAE,eAAF,CAEvB;;AAEA,MAAI6+L,gBAAgB,GACZ,mGAAmGt0M,KAAnG,CACI,GADJ,CADR;AAAA,MAIIu0M,gBAAgB,GACZ,qGAAqGv0M,KAArG,CACI,GADJ,CALR;AAAA,MAQImsM,WAAW,GAAG,CACV,OADU,EAEV,OAFU,EAGV,OAHU,EAIV,OAJU,EAKV,OALU,EAMV,OANU,EAOV,OAPU,EAQV,OARU,EASV,OATU,EAUV,OAVU,EAWV,OAXU,EAYV,OAZU,CARlB;;AAsBA,WAAS1B,MAAT,CAAgBj/K,CAAhB,EAAmB;AACf,WAAOA,CAAC,GAAG,EAAJ,GAAS,CAAT,IAAcA,CAAC,GAAG,EAAJ,GAAS,CAAvB,IAA4B,CAAC,EAAEA,CAAC,GAAG,EAAN,CAAD,GAAa,EAAb,KAAoB,CAAvD;AACH;;AACD,WAAS5qC,SAAT,CAAmBgoJ,MAAnB,EAA2B6gE,aAA3B,EAA0C1iL,GAA1C,EAA+C;AAC3C,QAAIn0B,MAAM,GAAGg2I,MAAM,GAAG,GAAtB;;AACA,YAAQ7hH,GAAR;AACI,WAAK,IAAL;AACI,eAAOn0B,MAAM,IAAI63M,MAAM,CAAC7hE,MAAD,CAAN,GAAiB,SAAjB,GAA6B,QAAjC,CAAb;;AACJ,WAAK,GAAL;AACI,eAAO6gE,aAAa,GAAG,QAAH,GAAc,QAAlC;;AACJ,WAAK,IAAL;AACI,eAAO72M,MAAM,IAAI63M,MAAM,CAAC7hE,MAAD,CAAN,GAAiB,QAAjB,GAA4B,OAAhC,CAAb;;AACJ,WAAK,GAAL;AACI,eAAO6gE,aAAa,GAAG,SAAH,GAAe,SAAnC;;AACJ,WAAK,IAAL;AACI,eAAO72M,MAAM,IAAI63M,MAAM,CAAC7hE,MAAD,CAAN,GAAiB,SAAjB,GAA6B,QAAjC,CAAb;;AACJ,WAAK,IAAL;AACI,eAAOh2I,MAAM,IAAI63M,MAAM,CAAC7hE,MAAD,CAAN,GAAiB,UAAjB,GAA8B,SAAlC,CAAb;;AACJ,WAAK,IAAL;AACI,eAAOh2I,MAAM,IAAI63M,MAAM,CAAC7hE,MAAD,CAAN,GAAiB,UAAjB,GAA8B,UAAlC,CAAb;;AACJ,WAAK,IAAL;AACI,eAAOh2I,MAAM,IAAI63M,MAAM,CAAC7hE,MAAD,CAAN,GAAiB,MAAjB,GAA0B,KAA9B,CAAb;AAhBR;AAkBH;;AAED,MAAI4rE,EAAE,GAAG/+L,MAAM,CAACoxL,YAAP,CAAoB,IAApB,EAA0B;AAC/BC,IAAAA,MAAM,EAAE,UAAUmH,cAAV,EAA0Bn4L,MAA1B,EAAkC;AACtC,UAAI,CAACm4L,cAAL,EAAqB;AACjB,eAAOqG,gBAAP;AACH,OAFD,MAEO,IAAI,SAASh+L,IAAT,CAAcR,MAAd,CAAJ,EAA2B;AAC9B,eAAOy+L,gBAAgB,CAACtG,cAAc,CAACG,KAAf,EAAD,CAAvB;AACH,OAFM,MAEA;AACH,eAAOkG,gBAAgB,CAACrG,cAAc,CAACG,KAAf,EAAD,CAAvB;AACH;AACJ,KAT8B;AAU/BrH,IAAAA,WAAW,EAAE,kDAAkD/mM,KAAlD,CAAwD,GAAxD,CAVkB;AAW/BmsM,IAAAA,WAAW,EAAEA,WAXkB;AAY/BS,IAAAA,eAAe,EAAET,WAZc;AAa/BU,IAAAA,gBAAgB,EAAEV,WAba;AAc/BnF,IAAAA,QAAQ,EACJ,6DAA6DhnM,KAA7D,CAAmE,GAAnE,CAf2B;AAgB/BinM,IAAAA,aAAa,EAAE,2BAA2BjnM,KAA3B,CAAiC,GAAjC,CAhBgB;AAiB/BknM,IAAAA,WAAW,EAAE,uBAAuBlnM,KAAvB,CAA6B,GAA7B,CAjBkB;AAkB/BynM,IAAAA,cAAc,EAAE;AACZC,MAAAA,EAAE,EAAE,OADQ;AAEZC,MAAAA,GAAG,EAAE,UAFO;AAGZC,MAAAA,CAAC,EAAE,YAHS;AAIZC,MAAAA,EAAE,EAAE,aAJQ;AAKZC,MAAAA,GAAG,EAAE,mBALO;AAMZC,MAAAA,IAAI,EAAE;AANM,KAlBe;AA0B/BC,IAAAA,QAAQ,EAAE;AACNC,MAAAA,OAAO,EAAE,aADH;AAENC,MAAAA,OAAO,EAAE,cAFH;AAGNC,MAAAA,QAAQ,EAAE,YAAY;AAClB,gBAAQ,KAAK6C,GAAL,EAAR;AACI,eAAK,CAAL;AACI,mBAAO,oBAAP;;AAEJ,eAAK,CAAL;AACI,mBAAO,kBAAP;;AAEJ,eAAK,CAAL;AACI,mBAAO,gBAAP;;AAEJ,eAAK,CAAL;AACI,mBAAO,iBAAP;;AAEJ;AACI,mBAAO,iBAAP;AAdR;AAgBH,OApBK;AAqBN5C,MAAAA,OAAO,EAAE,gBArBH;AAsBNC,MAAAA,QAAQ,EAAE,YAAY;AAClB,gBAAQ,KAAK2C,GAAL,EAAR;AACI,eAAK,CAAL;AACI,mBAAO,2BAAP;;AACJ,eAAK,CAAL;AACI,mBAAO,uBAAP;;AACJ,eAAK,CAAL;AACI,mBAAO,wBAAP;;AACJ;AACI,mBAAO,wBAAP;AARR;AAUH,OAjCK;AAkCN1C,MAAAA,QAAQ,EAAE;AAlCJ,KA1BqB;AA8D/BC,IAAAA,YAAY,EAAE;AACVC,MAAAA,MAAM,EAAE,OADE;AAEVC,MAAAA,IAAI,EAAE,SAFI;AAGVl9K,MAAAA,CAAC,EAAE,cAHO;AAIVm9K,MAAAA,EAAE,EAAE9nN,SAJM;AAKV6sC,MAAAA,CAAC,EAAE7sC,SALO;AAMV+nN,MAAAA,EAAE,EAAE/nN,SANM;AAOVi3K,MAAAA,CAAC,EAAEj3K,SAPO;AAQVgoN,MAAAA,EAAE,EAAEhoN,SARM;AASViqC,MAAAA,CAAC,EAAE,SATO;AAUVg+K,MAAAA,EAAE,EAAE,QAVM;AAWVx5C,MAAAA,CAAC,EAAE,SAXO;AAYV87C,MAAAA,EAAE,EAAEvqN,SAZM;AAaVkoN,MAAAA,CAAC,EAAE,SAbO;AAcVC,MAAAA,EAAE,EAAEnoN,SAdM;AAeVosC,MAAAA,CAAC,EAAE,KAfO;AAgBVg8K,MAAAA,EAAE,EAAEpoN;AAhBM,KA9DiB;AAgF/BqoN,IAAAA,sBAAsB,EAAE,WAhFO;AAiF/BC,IAAAA,OAAO,EAAE,KAjFsB;AAkF/BC,IAAAA,IAAI,EAAE;AACFC,MAAAA,GAAG,EAAE,CADH;AACM;AACRC,MAAAA,GAAG,EAAE,CAFH,CAEM;;AAFN;AAlFyB,GAA1B,CAAT;AAwFA,SAAOmL,EAAP;AAEH,CAlJC,CAAD;;;;;;;;;;ACJD;AACA;AACA;AAEA;;AAAE,WAAUpoD,MAAV,EAAkB98J,OAAlB,EAA2B;AAC1B,UACuCA,OAAO,CAACy2L,mBAAO,CAAC,sBAAD,CAAR,CAD9C,GAEA,CAFA;AAIF,CALC,EAKA,IALA,EAKO,UAAUtwK,MAAV,EAAkB;AAAE,eAAF,CAEvB;;AAEA,MAAIg/L,IAAI,GAAGh/L,MAAM,CAACoxL,YAAP,CAAoB,OAApB,EAA6B;AACpCC,IAAAA,MAAM,EAAE,2FAA2F9mM,KAA3F,CACJ,GADI,CAD4B;AAIpC+mM,IAAAA,WAAW,EAAE,kDAAkD/mM,KAAlD,CAAwD,GAAxD,CAJuB;AAKpCgnM,IAAAA,QAAQ,EACJ,iFAAiFhnM,KAAjF,CACI,GADJ,CANgC;AASpCinM,IAAAA,aAAa,EAAE,8BAA8BjnM,KAA9B,CAAoC,GAApC,CATqB;AAUpCknM,IAAAA,WAAW,EAAE,uBAAuBlnM,KAAvB,CAA6B,GAA7B,CAVuB;AAWpC4pM,IAAAA,kBAAkB,EAAE,IAXgB;AAYpCnC,IAAAA,cAAc,EAAE;AACZC,MAAAA,EAAE,EAAE,OADQ;AAEZC,MAAAA,GAAG,EAAE,UAFO;AAGZC,MAAAA,CAAC,EAAE,YAHS;AAIZC,MAAAA,EAAE,EAAE,uBAJQ;AAKZC,MAAAA,GAAG,EAAE,kCALO;AAMZC,MAAAA,IAAI,EAAE;AANM,KAZoB;AAoBpCC,IAAAA,QAAQ,EAAE;AACNC,MAAAA,OAAO,EAAE,cADH;AAENC,MAAAA,OAAO,EAAE,gBAFH;AAGNC,MAAAA,QAAQ,EAAE,cAHJ;AAINC,MAAAA,OAAO,EAAE,eAJH;AAKNC,MAAAA,QAAQ,EAAE,YAAY;AAClB,eAAO,KAAK2C,GAAL,OAAe,CAAf,IAAoB,KAAKA,GAAL,OAAe,CAAnC,GACD,uBADC,CACuB;AADvB,UAED,uBAFN,CADkB,CAGa;AAClC,OATK;AAUN1C,MAAAA,QAAQ,EAAE;AAVJ,KApB0B;AAgCpCC,IAAAA,YAAY,EAAE;AACVC,MAAAA,MAAM,EAAE,OADE;AAEVC,MAAAA,IAAI,EAAE,OAFI;AAGVl9K,MAAAA,CAAC,EAAE,iBAHO;AAIVm9K,MAAAA,EAAE,EAAE,aAJM;AAKVj7K,MAAAA,CAAC,EAAE,WALO;AAMVk7K,MAAAA,EAAE,EAAE,YANM;AAOV9wC,MAAAA,CAAC,EAAE,UAPO;AAQV+wC,MAAAA,EAAE,EAAE,UARM;AASV/9K,MAAAA,CAAC,EAAE,QATO;AAUVg+K,MAAAA,EAAE,EAAE,SAVM;AAWVC,MAAAA,CAAC,EAAE,QAXO;AAYVC,MAAAA,EAAE,EAAE,UAZM;AAaV/7K,MAAAA,CAAC,EAAE,QAbO;AAcVg8K,MAAAA,EAAE,EAAE;AAdM,KAhCsB;AAgDpCC,IAAAA,sBAAsB,EAAE,UAhDY;AAiDpCC,IAAAA,OAAO,EAAE,KAjD2B;AAkDpCiG,IAAAA,WAAW,EAAE;AAlDuB,GAA7B,CAAX;AAqDA,SAAOsF,IAAP;AAEH,CAhEC,CAAD;;;;;;;;;;ACJD;AACA;AACA;AAEA;;AAAE,WAAUroD,MAAV,EAAkB98J,OAAlB,EAA2B;AAC1B,UACuCA,OAAO,CAACy2L,mBAAO,CAAC,sBAAD,CAAR,CAD9C,GAEA,CAFA;AAIF,CALC,EAKA,IALA,EAKO,UAAUtwK,MAAV,EAAkB;AAAE,eAAF,CAEvB;;AAEA,MAAIi/L,EAAE,GAAGj/L,MAAM,CAACoxL,YAAP,CAAoB,IAApB,EAA0B;AAC/BC,IAAAA,MAAM,EAAE,2FAA2F9mM,KAA3F,CACJ,GADI,CADuB;AAI/B+mM,IAAAA,WAAW,EAAE,kDAAkD/mM,KAAlD,CAAwD,GAAxD,CAJkB;AAK/BgnM,IAAAA,QAAQ,EACJ,iFAAiFhnM,KAAjF,CACI,GADJ,CAN2B;AAS/BinM,IAAAA,aAAa,EAAE,8BAA8BjnM,KAA9B,CAAoC,GAApC,CATgB;AAU/BknM,IAAAA,WAAW,EAAE,uBAAuBlnM,KAAvB,CAA6B,GAA7B,CAVkB;AAW/B4pM,IAAAA,kBAAkB,EAAE,IAXW;AAY/BnC,IAAAA,cAAc,EAAE;AACZC,MAAAA,EAAE,EAAE,OADQ;AAEZC,MAAAA,GAAG,EAAE,UAFO;AAGZC,MAAAA,CAAC,EAAE,YAHS;AAIZC,MAAAA,EAAE,EAAE,uBAJQ;AAKZC,MAAAA,GAAG,EAAE,6BALO;AAMZC,MAAAA,IAAI,EAAE;AANM,KAZe;AAoB/BC,IAAAA,QAAQ,EAAE;AACNC,MAAAA,OAAO,EAAE,cADH;AAENC,MAAAA,OAAO,EAAE,gBAFH;AAGNC,MAAAA,QAAQ,EAAE,cAHJ;AAINC,MAAAA,OAAO,EAAE,eAJH;AAKNC,MAAAA,QAAQ,EAAE,YAAY;AAClB,eAAO,KAAK2C,GAAL,OAAe,CAAf,IAAoB,KAAKA,GAAL,OAAe,CAAnC,GACD,uBADC,CACuB;AADvB,UAED,uBAFN,CADkB,CAGa;AAClC,OATK;AAUN1C,MAAAA,QAAQ,EAAE;AAVJ,KApBqB;AAgC/BC,IAAAA,YAAY,EAAE;AACVC,MAAAA,MAAM,EAAE,OADE;AAEVC,MAAAA,IAAI,EAAE,OAFI;AAGVl9K,MAAAA,CAAC,EAAE,UAHO;AAIVm9K,MAAAA,EAAE,EAAE,aAJM;AAKVj7K,MAAAA,CAAC,EAAE,WALO;AAMVk7K,MAAAA,EAAE,EAAE,YANM;AAOV9wC,MAAAA,CAAC,EAAE,UAPO;AAQV+wC,MAAAA,EAAE,EAAE,UARM;AASV/9K,MAAAA,CAAC,EAAE,QATO;AAUVg+K,MAAAA,EAAE,EAAE,SAVM;AAWVx5C,MAAAA,CAAC,EAAE,YAXO;AAYV87C,MAAAA,EAAE,EAAE,YAZM;AAaVrC,MAAAA,CAAC,EAAE,QAbO;AAcVC,MAAAA,EAAE,EAAE,UAdM;AAeV/7K,MAAAA,CAAC,EAAE,QAfO;AAgBVg8K,MAAAA,EAAE,EAAE;AAhBM,KAhCiB;AAkD/BC,IAAAA,sBAAsB,EAAE,UAlDO;AAmD/BC,IAAAA,OAAO,EAAE,KAnDsB;AAoD/BC,IAAAA,IAAI,EAAE;AACFC,MAAAA,GAAG,EAAE,CADH;AACM;AACRC,MAAAA,GAAG,EAAE,CAFH,CAEM;;AAFN;AApDyB,GAA1B,CAAT;AA0DA,SAAOqL,EAAP;AAEH,CArEC,CAAD;;;;;;;;;;ACJD;AACA;AACA;AACA;AACA;AAEA;;AAAE,WAAUtoD,MAAV,EAAkB98J,OAAlB,EAA2B;AAC1B,UACuCA,OAAO,CAACy2L,mBAAO,CAAC,sBAAD,CAAR,CAD9C,GAEA,CAFA;AAIF,CALC,EAKA,IALA,EAKO,UAAUtwK,MAAV,EAAkB;AAAE,eAAF,CAEvB;;AAEA,WAASm1L,sBAAT,CAAgChiE,MAAhC,EAAwC6gE,aAAxC,EAAuD1iL,GAAvD,EAA4D;AACxD,QAAIjR,MAAM,GAAG;AACL4yL,MAAAA,EAAE,EAAE,SADC;AAELC,MAAAA,EAAE,EAAE,QAFC;AAGLC,MAAAA,EAAE,EAAE,KAHC;AAILC,MAAAA,EAAE,EAAE,MAJC;AAKLsC,MAAAA,EAAE,EAAE,WALC;AAMLpC,MAAAA,EAAE,EAAE,MANC;AAOLC,MAAAA,EAAE,EAAE;AAPC,KAAb;AAAA,QASItxH,SAAS,GAAG,GAThB;;AAUA,QAAIkxD,MAAM,GAAG,GAAT,IAAgB,EAAhB,IAAuBA,MAAM,IAAI,GAAV,IAAiBA,MAAM,GAAG,GAAT,KAAiB,CAA7D,EAAiE;AAC7DlxD,MAAAA,SAAS,GAAG,MAAZ;AACH;;AACD,WAAOkxD,MAAM,GAAGlxD,SAAT,GAAqB5hE,MAAM,CAACiR,GAAD,CAAlC;AACH;;AAED,MAAI4tL,EAAE,GAAGl/L,MAAM,CAACoxL,YAAP,CAAoB,IAApB,EAA0B;AAC/BC,IAAAA,MAAM,EAAE,oGAAoG9mM,KAApG,CACJ,GADI,CADuB;AAI/B+mM,IAAAA,WAAW,EACP,+DAA+D/mM,KAA/D,CACI,GADJ,CAL2B;AAQ/B4rM,IAAAA,gBAAgB,EAAE,IARa;AAS/B5E,IAAAA,QAAQ,EAAE,kDAAkDhnM,KAAlD,CAAwD,GAAxD,CATqB;AAU/BinM,IAAAA,aAAa,EAAE,8BAA8BjnM,KAA9B,CAAoC,GAApC,CAVgB;AAW/BknM,IAAAA,WAAW,EAAE,uBAAuBlnM,KAAvB,CAA6B,GAA7B,CAXkB;AAY/BynM,IAAAA,cAAc,EAAE;AACZC,MAAAA,EAAE,EAAE,MADQ;AAEZC,MAAAA,GAAG,EAAE,SAFO;AAGZC,MAAAA,CAAC,EAAE,YAHS;AAIZC,MAAAA,EAAE,EAAE,aAJQ;AAKZC,MAAAA,GAAG,EAAE,kBALO;AAMZC,MAAAA,IAAI,EAAE;AANM,KAZe;AAoB/BC,IAAAA,QAAQ,EAAE;AACNC,MAAAA,OAAO,EAAE,aADH;AAENC,MAAAA,OAAO,EAAE,eAFH;AAGNC,MAAAA,QAAQ,EAAE,cAHJ;AAINC,MAAAA,OAAO,EAAE,cAJH;AAKNC,MAAAA,QAAQ,EAAE,sBALJ;AAMNC,MAAAA,QAAQ,EAAE;AANJ,KApBqB;AA4B/BC,IAAAA,YAAY,EAAE;AACVC,MAAAA,MAAM,EAAE,UADE;AAEVC,MAAAA,IAAI,EAAE,YAFI;AAGVl9K,MAAAA,CAAC,EAAE,gBAHO;AAIVm9K,MAAAA,EAAE,EAAEkC,sBAJM;AAKVn9K,MAAAA,CAAC,EAAE,UALO;AAMVk7K,MAAAA,EAAE,EAAEiC,sBANM;AAOV/yC,MAAAA,CAAC,EAAE,OAPO;AAQV+wC,MAAAA,EAAE,EAAEgC,sBARM;AASV//K,MAAAA,CAAC,EAAE,MATO;AAUVg+K,MAAAA,EAAE,EAAE+B,sBAVM;AAWVv7C,MAAAA,CAAC,EAAE,aAXO;AAYV87C,MAAAA,EAAE,EAAEP,sBAZM;AAaV9B,MAAAA,CAAC,EAAE,QAbO;AAcVC,MAAAA,EAAE,EAAE6B,sBAdM;AAeV59K,MAAAA,CAAC,EAAE,OAfO;AAgBVg8K,MAAAA,EAAE,EAAE4B;AAhBM,KA5BiB;AA8C/BzB,IAAAA,IAAI,EAAE;AACFC,MAAAA,GAAG,EAAE,CADH;AACM;AACRC,MAAAA,GAAG,EAAE,CAFH,CAEM;;AAFN;AA9CyB,GAA1B,CAAT;AAoDA,SAAOsL,EAAP;AAEH,CAhFC,CAAD;;;;;;;;;;ACND;AACA;AACA;AACA;AACA;AAEA;;AAAE,WAAUvoD,MAAV,EAAkB98J,OAAlB,EAA2B;AAC1B,UACuCA,OAAO,CAACy2L,mBAAO,CAAC,sBAAD,CAAR,CAD9C,GAEA,CAFA;AAIF,CALC,EAKA,IALA,EAKO,UAAUtwK,MAAV,EAAkB;AAAE,eAAF,CAEvB;;AAEA,WAASg1L,MAAT,CAAgBC,IAAhB,EAAsBznI,GAAtB,EAA2B;AACvB,QAAI0nI,KAAK,GAAGD,IAAI,CAAC1qM,KAAL,CAAW,GAAX,CAAZ;AACA,WAAOijE,GAAG,GAAG,EAAN,KAAa,CAAb,IAAkBA,GAAG,GAAG,GAAN,KAAc,EAAhC,GACD0nI,KAAK,CAAC,CAAD,CADJ,GAED1nI,GAAG,GAAG,EAAN,IAAY,CAAZ,IAAiBA,GAAG,GAAG,EAAN,IAAY,CAA7B,KAAmCA,GAAG,GAAG,GAAN,GAAY,EAAZ,IAAkBA,GAAG,GAAG,GAAN,IAAa,EAAlE,IACA0nI,KAAK,CAAC,CAAD,CADL,GAEAA,KAAK,CAAC,CAAD,CAJX;AAKH;;AACD,WAASC,sBAAT,CAAgChiE,MAAhC,EAAwC6gE,aAAxC,EAAuD1iL,GAAvD,EAA4D;AACxD,QAAIjR,MAAM,GAAG;AACT4yL,MAAAA,EAAE,EAAEe,aAAa,GAAG,wBAAH,GAA8B,wBADtC;AAETd,MAAAA,EAAE,EAAEc,aAAa,GAAG,qBAAH,GAA2B,qBAFnC;AAGTb,MAAAA,EAAE,EAAE,gBAHK;AAITC,MAAAA,EAAE,EAAE,eAJK;AAKTsC,MAAAA,EAAE,EAAE,sBALK;AAMTpC,MAAAA,EAAE,EAAE,sBANK;AAOTC,MAAAA,EAAE,EAAE;AAPK,KAAb;;AASA,QAAIjiL,GAAG,KAAK,GAAZ,EAAiB;AACb,aAAO0iL,aAAa,GAAG,QAAH,GAAc,QAAlC;AACH,KAFD,MAEO;AACH,aAAO7gE,MAAM,GAAG,GAAT,GAAe6hE,MAAM,CAAC30L,MAAM,CAACiR,GAAD,CAAP,EAAc,CAAC6hH,MAAf,CAA5B;AACH;AACJ;;AACD,MAAIujE,WAAW,GAAG,CACd,OADc,EAEd,OAFc,EAGd,OAHc,EAId,OAJc,EAKd,UALc,EAMd,OANc,EAOd,OAPc,EAQd,OARc,EASd,OATc,EAUd,OAVc,EAWd,OAXc,EAYd,OAZc,CAAlB,CA5BuB,CA2CvB;AACA;AACA;;AACA,MAAIyI,EAAE,GAAGn/L,MAAM,CAACoxL,YAAP,CAAoB,IAApB,EAA0B;AAC/BC,IAAAA,MAAM,EAAE;AACJhxL,MAAAA,MAAM,EAAE,oFAAoF9V,KAApF,CACJ,GADI,CADJ;AAIJ8qM,MAAAA,UAAU,EACN,kFAAkF9qM,KAAlF,CACI,GADJ;AALA,KADuB;AAU/B+mM,IAAAA,WAAW,EAAE;AACT;AACAjxL,MAAAA,MAAM,EAAE,gEAAgE9V,KAAhE,CACJ,GADI,CAFC;AAKT8qM,MAAAA,UAAU,EACN,gEAAgE9qM,KAAhE,CACI,GADJ;AANK,KAVkB;AAoB/BgnM,IAAAA,QAAQ,EAAE;AACN8D,MAAAA,UAAU,EACN,gEAAgE9qM,KAAhE,CACI,GADJ,CAFE;AAKN8V,MAAAA,MAAM,EAAE,gEAAgE9V,KAAhE,CACJ,GADI,CALF;AAQN+qM,MAAAA,QAAQ,EAAE;AARJ,KApBqB;AA8B/B9D,IAAAA,aAAa,EAAE,uBAAuBjnM,KAAvB,CAA6B,GAA7B,CA9BgB;AA+B/BknM,IAAAA,WAAW,EAAE,uBAAuBlnM,KAAvB,CAA6B,GAA7B,CA/BkB;AAgC/BmsM,IAAAA,WAAW,EAAEA,WAhCkB;AAiC/BS,IAAAA,eAAe,EAAET,WAjCc;AAkC/BU,IAAAA,gBAAgB,EAAEV,WAlCa;AAoC/B;AACAC,IAAAA,WAAW,EACP,0MAtC2B;AAwC/B;AACAT,IAAAA,gBAAgB,EACZ,0MA1C2B;AA4C/B;AACAU,IAAAA,iBAAiB,EACb,uHA9C2B;AAgD/B;AACAC,IAAAA,sBAAsB,EAClB,4FAlD2B;AAmD/B7E,IAAAA,cAAc,EAAE;AACZC,MAAAA,EAAE,EAAE,MADQ;AAEZC,MAAAA,GAAG,EAAE,SAFO;AAGZC,MAAAA,CAAC,EAAE,YAHS;AAIZC,MAAAA,EAAE,EAAE,gBAJQ;AAKZC,MAAAA,GAAG,EAAE,sBALO;AAMZC,MAAAA,IAAI,EAAE;AANM,KAnDe;AA2D/BC,IAAAA,QAAQ,EAAE;AACNC,MAAAA,OAAO,EAAE,iBADH;AAENC,MAAAA,OAAO,EAAE,gBAFH;AAGNE,MAAAA,OAAO,EAAE,eAHH;AAIND,MAAAA,QAAQ,EAAE,UAAUpgJ,GAAV,EAAe;AACrB,YAAIA,GAAG,CAACohJ,IAAJ,OAAe,KAAKA,IAAL,EAAnB,EAAgC;AAC5B,kBAAQ,KAAK6B,GAAL,EAAR;AACI,iBAAK,CAAL;AACI,qBAAO,4BAAP;;AACJ,iBAAK,CAAL;AACA,iBAAK,CAAL;AACA,iBAAK,CAAL;AACI,qBAAO,4BAAP;;AACJ,iBAAK,CAAL;AACA,iBAAK,CAAL;AACA,iBAAK,CAAL;AACI,qBAAO,4BAAP;AAVR;AAYH,SAbD,MAaO;AACH,cAAI,KAAKA,GAAL,OAAe,CAAnB,EAAsB;AAClB,mBAAO,mBAAP;AACH,WAFD,MAEO;AACH,mBAAO,kBAAP;AACH;AACJ;AACJ,OAzBK;AA0BN3C,MAAAA,QAAQ,EAAE,UAAUtgJ,GAAV,EAAe;AACrB,YAAIA,GAAG,CAACohJ,IAAJ,OAAe,KAAKA,IAAL,EAAnB,EAAgC;AAC5B,kBAAQ,KAAK6B,GAAL,EAAR;AACI,iBAAK,CAAL;AACI,qBAAO,0BAAP;;AACJ,iBAAK,CAAL;AACA,iBAAK,CAAL;AACA,iBAAK,CAAL;AACI,qBAAO,0BAAP;;AACJ,iBAAK,CAAL;AACA,iBAAK,CAAL;AACA,iBAAK,CAAL;AACI,qBAAO,0BAAP;AAVR;AAYH,SAbD,MAaO;AACH,cAAI,KAAKA,GAAL,OAAe,CAAnB,EAAsB;AAClB,mBAAO,mBAAP;AACH,WAFD,MAEO;AACH,mBAAO,kBAAP;AACH;AACJ;AACJ,OA/CK;AAgDN1C,MAAAA,QAAQ,EAAE;AAhDJ,KA3DqB;AA6G/BC,IAAAA,YAAY,EAAE;AACVC,MAAAA,MAAM,EAAE,UADE;AAEVC,MAAAA,IAAI,EAAE,UAFI;AAGVl9K,MAAAA,CAAC,EAAE,kBAHO;AAIVm9K,MAAAA,EAAE,EAAEkC,sBAJM;AAKVn9K,MAAAA,CAAC,EAAEm9K,sBALO;AAMVjC,MAAAA,EAAE,EAAEiC,sBANM;AAOV/yC,MAAAA,CAAC,EAAE,KAPO;AAQV+wC,MAAAA,EAAE,EAAEgC,sBARM;AASV//K,MAAAA,CAAC,EAAE,MATO;AAUVg+K,MAAAA,EAAE,EAAE+B,sBAVM;AAWVv7C,MAAAA,CAAC,EAAE,QAXO;AAYV87C,MAAAA,EAAE,EAAEP,sBAZM;AAaV9B,MAAAA,CAAC,EAAE,OAbO;AAcVC,MAAAA,EAAE,EAAE6B,sBAdM;AAeV59K,MAAAA,CAAC,EAAE,KAfO;AAgBVg8K,MAAAA,EAAE,EAAE4B;AAhBM,KA7GiB;AA+H/BzD,IAAAA,aAAa,EAAE,uBA/HgB;AAgI/BC,IAAAA,IAAI,EAAE,UAAU5tJ,KAAV,EAAiB;AACnB,aAAO,iBAAiBljC,IAAjB,CAAsBkjC,KAAtB,CAAP;AACH,KAlI8B;AAmI/B6tJ,IAAAA,QAAQ,EAAE,UAAUpvE,IAAV,EAAgB4xE,MAAhB,EAAwBrC,OAAxB,EAAiC;AACvC,UAAIvvE,IAAI,GAAG,CAAX,EAAc;AACV,eAAO,MAAP;AACH,OAFD,MAEO,IAAIA,IAAI,GAAG,EAAX,EAAe;AAClB,eAAO,MAAP;AACH,OAFM,MAEA,IAAIA,IAAI,GAAG,EAAX,EAAe;AAClB,eAAO,KAAP;AACH,OAFM,MAEA;AACH,eAAO,QAAP;AACH;AACJ,KA7I8B;AA8I/BgxE,IAAAA,sBAAsB,EAAE,kBA9IO;AA+I/BC,IAAAA,OAAO,EAAE,UAAUtgE,MAAV,EAAkBqiE,MAAlB,EAA0B;AAC/B,cAAQA,MAAR;AACI,aAAK,GAAL;AACA,aAAK,GAAL;AACA,aAAK,KAAL;AACI,iBAAOriE,MAAM,GAAG,IAAhB;;AACJ,aAAK,GAAL;AACI,iBAAOA,MAAM,GAAG,KAAhB;;AACJ,aAAK,GAAL;AACA,aAAK,GAAL;AACI,iBAAOA,MAAM,GAAG,IAAhB;;AACJ;AACI,iBAAOA,MAAP;AAXR;AAaH,KA7J8B;AA8J/BugE,IAAAA,IAAI,EAAE;AACFC,MAAAA,GAAG,EAAE,CADH;AACM;AACRC,MAAAA,GAAG,EAAE,CAFH,CAEM;;AAFN;AA9JyB,GAA1B,CAAT;AAoKA,SAAOuL,EAAP;AAEH,CAzNC,CAAD;;;;;;;;;;ACND;AACA;AACA;AAEA;;AAAE,WAAUxoD,MAAV,EAAkB98J,OAAlB,EAA2B;AAC1B,UACuCA,OAAO,CAACy2L,mBAAO,CAAC,sBAAD,CAAR,CAD9C,GAEA,CAFA;AAIF,CALC,EAKA,IALA,EAKO,UAAUtwK,MAAV,EAAkB;AAAE,eAAF,CAEvB;;AAEA,MAAIqxL,MAAM,GAAG,CACL,OADK,EAEL,SAFK,EAGL,MAHK,EAIL,OAJK,EAKL,KALK,EAML,KANK,EAOL,QAPK,EAQL,MARK,EASL,SATK,EAUL,QAVK,EAWL,OAXK,EAYL,OAZK,CAAb;AAAA,MAcI5uE,IAAI,GAAG,CAAC,KAAD,EAAQ,MAAR,EAAgB,OAAhB,EAAyB,MAAzB,EAAiC,MAAjC,EAAyC,KAAzC,EAAgD,MAAhD,CAdX;AAgBA,MAAI28E,EAAE,GAAGp/L,MAAM,CAACoxL,YAAP,CAAoB,IAApB,EAA0B;AAC/BC,IAAAA,MAAM,EAAEA,MADuB;AAE/BC,IAAAA,WAAW,EAAED,MAFkB;AAG/BE,IAAAA,QAAQ,EAAE9uE,IAHqB;AAI/B+uE,IAAAA,aAAa,EAAE/uE,IAJgB;AAK/BgvE,IAAAA,WAAW,EAAEhvE,IALkB;AAM/BuvE,IAAAA,cAAc,EAAE;AACZC,MAAAA,EAAE,EAAE,OADQ;AAEZC,MAAAA,GAAG,EAAE,UAFO;AAGZC,MAAAA,CAAC,EAAE,YAHS;AAIZC,MAAAA,EAAE,EAAE,aAJQ;AAKZC,MAAAA,GAAG,EAAE,mBALO;AAMZC,MAAAA,IAAI,EAAE;AANM,KANe;AAc/BZ,IAAAA,aAAa,EAAE,SAdgB;AAe/BC,IAAAA,IAAI,EAAE,UAAU5tJ,KAAV,EAAiB;AACnB,aAAO,UAAUA,KAAjB;AACH,KAjB8B;AAkB/B6tJ,IAAAA,QAAQ,EAAE,UAAUpvE,IAAV,EAAgB4xE,MAAhB,EAAwBrC,OAAxB,EAAiC;AACvC,UAAIvvE,IAAI,GAAG,EAAX,EAAe;AACX,eAAO,KAAP;AACH;;AACD,aAAO,KAAP;AACH,KAvB8B;AAwB/B+vE,IAAAA,QAAQ,EAAE;AACNC,MAAAA,OAAO,EAAE,SADH;AAENC,MAAAA,OAAO,EAAE,YAFH;AAGNC,MAAAA,QAAQ,EAAE,wBAHJ;AAINC,MAAAA,OAAO,EAAE,YAJH;AAKNC,MAAAA,QAAQ,EAAE,2BALJ;AAMNC,MAAAA,QAAQ,EAAE;AANJ,KAxBqB;AAgC/BC,IAAAA,YAAY,EAAE;AACVC,MAAAA,MAAM,EAAE,QADE;AAEVC,MAAAA,IAAI,EAAE,OAFI;AAGVl9K,MAAAA,CAAC,EAAE,WAHO;AAIVm9K,MAAAA,EAAE,EAAE,UAJM;AAKVj7K,MAAAA,CAAC,EAAE,QALO;AAMVk7K,MAAAA,EAAE,EAAE,QANM;AAOV9wC,MAAAA,CAAC,EAAE,SAPO;AAQV+wC,MAAAA,EAAE,EAAE,SARM;AASV/9K,MAAAA,CAAC,EAAE,UATO;AAUVg+K,MAAAA,EAAE,EAAE,UAVM;AAWVC,MAAAA,CAAC,EAAE,UAXO;AAYVC,MAAAA,EAAE,EAAE,UAZM;AAaV/7K,MAAAA,CAAC,EAAE,QAbO;AAcVg8K,MAAAA,EAAE,EAAE;AAdM,KAhCiB;AAgD/BkB,IAAAA,QAAQ,EAAE,UAAU5K,MAAV,EAAkB;AACxB,aAAOA,MAAM,CAACh/L,OAAP,CAAe,IAAf,EAAqB,GAArB,CAAP;AACH,KAlD8B;AAmD/BwpM,IAAAA,UAAU,EAAE,UAAUxK,MAAV,EAAkB;AAC1B,aAAOA,MAAM,CAACh/L,OAAP,CAAe,IAAf,EAAqB,GAArB,CAAP;AACH,KArD8B;AAsD/B6oM,IAAAA,IAAI,EAAE;AACFC,MAAAA,GAAG,EAAE,CADH;AACM;AACRC,MAAAA,GAAG,EAAE,CAFH,CAEM;;AAFN;AAtDyB,GAA1B,CAAT;AA4DA,SAAOwL,EAAP;AAEH,CAvFC,CAAD;;;;;;;;;;ACJD;AACA;AACA;AAEA;;AAAE,WAAUzoD,MAAV,EAAkB98J,OAAlB,EAA2B;AAC1B,UACuCA,OAAO,CAACy2L,mBAAO,CAAC,sBAAD,CAAR,CAD9C,GAEA,CAFA;AAIF,CALC,EAKA,IALA,EAKO,UAAUtwK,MAAV,EAAkB;AAAE,eAAF,CAEvB;;AAEA,MAAIq/L,EAAE,GAAGr/L,MAAM,CAACoxL,YAAP,CAAoB,IAApB,EAA0B;AAC/BC,IAAAA,MAAM,EAAE,mJAAmJ9mM,KAAnJ,CACJ,GADI,CADuB;AAI/B+mM,IAAAA,WAAW,EACP,6DAA6D/mM,KAA7D,CAAmE,GAAnE,CAL2B;AAM/BgnM,IAAAA,QAAQ,EACJ,6EAA6EhnM,KAA7E,CACI,GADJ,CAP2B;AAU/BinM,IAAAA,aAAa,EAAE,mCAAmCjnM,KAAnC,CAAyC,GAAzC,CAVgB;AAW/BknM,IAAAA,WAAW,EAAE,gBAAgBlnM,KAAhB,CAAsB,GAAtB,CAXkB;AAY/BynM,IAAAA,cAAc,EAAE;AACZC,MAAAA,EAAE,EAAE,OADQ;AAEZC,MAAAA,GAAG,EAAE,UAFO;AAGZC,MAAAA,CAAC,EAAE,YAHS;AAIZC,MAAAA,EAAE,EAAE,mBAJQ;AAKZC,MAAAA,GAAG,EAAE,+BALO;AAMZC,MAAAA,IAAI,EAAE;AANM,KAZe;AAoB/BC,IAAAA,QAAQ,EAAE;AACNC,MAAAA,OAAO,EAAE,cADH;AAENC,MAAAA,OAAO,EAAE,gBAFH;AAGNC,MAAAA,QAAQ,EAAE,cAHJ;AAINC,MAAAA,OAAO,EAAE,cAJH;AAKNC,MAAAA,QAAQ,EAAE,uBALJ;AAMNC,MAAAA,QAAQ,EAAE;AANJ,KApBqB;AA4B/BC,IAAAA,YAAY,EAAE;AACVC,MAAAA,MAAM,EAAE,WADE;AAEVC,MAAAA,IAAI,EAAE,UAFI;AAGVl9K,MAAAA,CAAC,EAAE,kBAHO;AAIVm9K,MAAAA,EAAE,EAAE,cAJM;AAKVj7K,MAAAA,CAAC,EAAE,cALO;AAMVk7K,MAAAA,EAAE,EAAE,aANM;AAOV9wC,MAAAA,CAAC,EAAE,aAPO;AAQV+wC,MAAAA,EAAE,EAAE,YARM;AASV/9K,MAAAA,CAAC,EAAE,aATO;AAUVg+K,MAAAA,EAAE,EAAE,aAVM;AAWVC,MAAAA,CAAC,EAAE,YAXO;AAYVC,MAAAA,EAAE,EAAE,UAZM;AAaV/7K,MAAAA,CAAC,EAAE,YAbO;AAcVg8K,MAAAA,EAAE,EAAE;AAdM,KA5BiB;AA4C/BC,IAAAA,sBAAsB,EAAE,WA5CO;AA6C/BC,IAAAA,OAAO,EAAE,KA7CsB;AA8C/BC,IAAAA,IAAI,EAAE;AACFC,MAAAA,GAAG,EAAE,CADH;AACM;AACRC,MAAAA,GAAG,EAAE,CAFH,CAEM;;AAFN;AA9CyB,GAA1B,CAAT;AAoDA,SAAOyL,EAAP;AAEH,CA/DC,CAAD;;;;;;;;;;ACJD;AACA;AACA;AAEA;;AAAE,WAAU1oD,MAAV,EAAkB98J,OAAlB,EAA2B;AAC1B,UACuCA,OAAO,CAACy2L,mBAAO,CAAC,sBAAD,CAAR,CAD9C,GAEA,CAFA;AAIF,CALC,EAKA,IALA,EAKO,UAAUtwK,MAAV,EAAkB;AAAE,eAAF,CAEvB;;AAEA;;AACA,MAAI5c,EAAE,GAAG4c,MAAM,CAACoxL,YAAP,CAAoB,IAApB,EAA0B;AAC/BC,IAAAA,MAAM,EAAE,kGAAkG9mM,KAAlG,CACJ,GADI,CADuB;AAI/B+mM,IAAAA,WAAW,EAAE,wDAAwD/mM,KAAxD,CACT,GADS,CAJkB;AAO/BgnM,IAAAA,QAAQ,EACJ,gEAAgEhnM,KAAhE,CACI,GADJ,CAR2B;AAW/BinM,IAAAA,aAAa,EAAE,gCAAgCjnM,KAAhC,CAAsC,GAAtC,CAXgB;AAY/BknM,IAAAA,WAAW,EAAE,qBAAqBlnM,KAArB,CAA2B,GAA3B,CAZkB;AAa/B4pM,IAAAA,kBAAkB,EAAE,IAbW;AAc/BnC,IAAAA,cAAc,EAAE;AACZC,MAAAA,EAAE,EAAE,QADQ;AAEZC,MAAAA,GAAG,EAAE,WAFO;AAGZC,MAAAA,CAAC,EAAE,YAHS;AAIZC,MAAAA,EAAE,EAAE,aAJQ;AAKZC,MAAAA,GAAG,EAAE,qBALO;AAMZC,MAAAA,IAAI,EAAE;AANM,KAde;AAsB/BC,IAAAA,QAAQ,EAAE;AACNC,MAAAA,OAAO,EAAE,YADH;AAENC,MAAAA,OAAO,EAAE,aAFH;AAGNC,MAAAA,QAAQ,EAAE,YAHJ;AAINC,MAAAA,OAAO,EAAE,aAJH;AAKNC,MAAAA,QAAQ,EAAE,qBALJ;AAMNC,MAAAA,QAAQ,EAAE;AANJ,KAtBqB;AA8B/BC,IAAAA,YAAY,EAAE;AACVC,MAAAA,MAAM,EAAE,QADE;AAEVC,MAAAA,IAAI,EAAE,UAFI;AAGVl9K,MAAAA,CAAC,EAAE,cAHO;AAIVm9K,MAAAA,EAAE,EAAE,UAJM;AAKVj7K,MAAAA,CAAC,EAAE,WALO;AAMVk7K,MAAAA,EAAE,EAAE,aANM;AAOV9wC,MAAAA,CAAC,EAAE,KAPO;AAQV+wC,MAAAA,EAAE,EAAE,QARM;AASV/9K,MAAAA,CAAC,EAAE,MATO;AAUVg+K,MAAAA,EAAE,EAAE,QAVM;AAWVC,MAAAA,CAAC,EAAE,MAXO;AAYVC,MAAAA,EAAE,EAAE,QAZM;AAaV/7K,MAAAA,CAAC,EAAE,KAbO;AAcVg8K,MAAAA,EAAE,EAAE;AAdM,KA9BiB;AA8C/BC,IAAAA,sBAAsB,EAAE,cA9CO;AA+C/BC,IAAAA,OAAO,EAAE,UAAUtgE,MAAV,EAAkB;AACvB,aAAOA,MAAM,GAAG,OAAhB;AACH,KAjD8B;AAkD/Bu+D,IAAAA,aAAa,EAAE,2BAlDgB;AAmD/BC,IAAAA,IAAI,EAAE,UAAU5tJ,KAAV,EAAiB;AACnB,aAAOA,KAAK,KAAK,MAAV,IAAoBA,KAAK,KAAK,SAArC;AACH,KArD8B;AAsD/B6tJ,IAAAA,QAAQ,EAAE,UAAUC,KAAV,EAAiBC,OAAjB,EAA0BC,OAA1B,EAAmC;AACzC,UAAIF,KAAK,GAAG,EAAZ,EAAgB;AACZ,eAAOE,OAAO,GAAG,MAAH,GAAY,SAA1B;AACH,OAFD,MAEO;AACH,eAAOA,OAAO,GAAG,OAAH,GAAa,SAA3B;AACH;AACJ;AA5D8B,GAA1B,CAAT;AA+DA,SAAO3uM,EAAP;AAEH,CA3EC,CAAD;;;;;;;;;;ACJD;AACA;AACA;AACA;AAEA;;AAAE,WAAUuzJ,MAAV,EAAkB98J,OAAlB,EAA2B;AAC1B,UACuCA,OAAO,CAACy2L,mBAAO,CAAC,sBAAD,CAAR,CAD9C,GAEA,CAFA;AAIF,CALC,EAKA,IALA,EAKO,UAAUtwK,MAAV,EAAkB;AAAE,eAAF,CAEvB;;AAEA,MAAIqxL,MAAM,GACF,oFAAoF9mM,KAApF,CACI,GADJ,CADR;AAAA,MAII+mM,WAAW,GAAG,kDAAkD/mM,KAAlD,CAAwD,GAAxD,CAJlB;;AAKA,WAASyqM,MAAT,CAAgBj/K,CAAhB,EAAmB;AACf,WAAOA,CAAC,GAAG,CAAJ,IAASA,CAAC,GAAG,CAApB;AACH;;AACD,WAAS5qC,SAAT,CAAmBgoJ,MAAnB,EAA2B6gE,aAA3B,EAA0C1iL,GAA1C,EAA+C2iL,QAA/C,EAAyD;AACrD,QAAI92M,MAAM,GAAGg2I,MAAM,GAAG,GAAtB;;AACA,YAAQ7hH,GAAR;AACI,WAAK,GAAL;AAAU;AACN,eAAO0iL,aAAa,IAAIC,QAAjB,GAA4B,YAA5B,GAA2C,eAAlD;;AACJ,WAAK,IAAL;AAAW;AACP,YAAID,aAAa,IAAIC,QAArB,EAA+B;AAC3B,iBAAO92M,MAAM,IAAI63M,MAAM,CAAC7hE,MAAD,CAAN,GAAiB,SAAjB,GAA6B,QAAjC,CAAb;AACH,SAFD,MAEO;AACH,iBAAOh2I,MAAM,GAAG,WAAhB;AACH;;AACL,WAAK,GAAL;AAAU;AACN,eAAO62M,aAAa,GAAG,QAAH,GAAcC,QAAQ,GAAG,QAAH,GAAc,SAAxD;;AACJ,WAAK,IAAL;AAAW;AACP,YAAID,aAAa,IAAIC,QAArB,EAA+B;AAC3B,iBAAO92M,MAAM,IAAI63M,MAAM,CAAC7hE,MAAD,CAAN,GAAiB,QAAjB,GAA4B,OAAhC,CAAb;AACH,SAFD,MAEO;AACH,iBAAOh2I,MAAM,GAAG,UAAhB;AACH;;AACL,WAAK,GAAL;AAAU;AACN,eAAO62M,aAAa,GAAG,QAAH,GAAcC,QAAQ,GAAG,QAAH,GAAc,SAAxD;;AACJ,WAAK,IAAL;AAAW;AACP,YAAID,aAAa,IAAIC,QAArB,EAA+B;AAC3B,iBAAO92M,MAAM,IAAI63M,MAAM,CAAC7hE,MAAD,CAAN,GAAiB,QAAjB,GAA4B,OAAhC,CAAb;AACH,SAFD,MAEO;AACH,iBAAOh2I,MAAM,GAAG,UAAhB;AACH;;AACL,WAAK,GAAL;AAAU;AACN,eAAO62M,aAAa,IAAIC,QAAjB,GAA4B,KAA5B,GAAoC,MAA3C;;AACJ,WAAK,IAAL;AAAW;AACP,YAAID,aAAa,IAAIC,QAArB,EAA+B;AAC3B,iBAAO92M,MAAM,IAAI63M,MAAM,CAAC7hE,MAAD,CAAN,GAAiB,KAAjB,GAAyB,KAA7B,CAAb;AACH,SAFD,MAEO;AACH,iBAAOh2I,MAAM,GAAG,OAAhB;AACH;;AACL,WAAK,GAAL;AAAU;AACN,eAAO62M,aAAa,IAAIC,QAAjB,GAA4B,QAA5B,GAAuC,UAA9C;;AACJ,WAAK,IAAL;AAAW;AACP,YAAID,aAAa,IAAIC,QAArB,EAA+B;AAC3B,iBAAO92M,MAAM,IAAI63M,MAAM,CAAC7hE,MAAD,CAAN,GAAiB,SAAjB,GAA6B,UAAjC,CAAb;AACH,SAFD,MAEO;AACH,iBAAOh2I,MAAM,GAAG,UAAhB;AACH;;AACL,WAAK,GAAL;AAAU;AACN,eAAO62M,aAAa,IAAIC,QAAjB,GAA4B,KAA5B,GAAoC,OAA3C;;AACJ,WAAK,IAAL;AAAW;AACP,YAAID,aAAa,IAAIC,QAArB,EAA+B;AAC3B,iBAAO92M,MAAM,IAAI63M,MAAM,CAAC7hE,MAAD,CAAN,GAAiB,MAAjB,GAA0B,OAA9B,CAAb;AACH,SAFD,MAEO;AACH,iBAAOh2I,MAAM,GAAG,OAAhB;AACH;;AAhDT;AAkDH;;AAED,MAAImiN,EAAE,GAAGt/L,MAAM,CAACoxL,YAAP,CAAoB,IAApB,EAA0B;AAC/BC,IAAAA,MAAM,EAAEA,MADuB;AAE/BC,IAAAA,WAAW,EAAEA,WAFkB;AAG/BC,IAAAA,QAAQ,EAAE,sDAAsDhnM,KAAtD,CAA4D,GAA5D,CAHqB;AAI/BinM,IAAAA,aAAa,EAAE,uBAAuBjnM,KAAvB,CAA6B,GAA7B,CAJgB;AAK/BknM,IAAAA,WAAW,EAAE,uBAAuBlnM,KAAvB,CAA6B,GAA7B,CALkB;AAM/BynM,IAAAA,cAAc,EAAE;AACZC,MAAAA,EAAE,EAAE,MADQ;AAEZC,MAAAA,GAAG,EAAE,SAFO;AAGZC,MAAAA,CAAC,EAAE,YAHS;AAIZC,MAAAA,EAAE,EAAE,cAJQ;AAKZC,MAAAA,GAAG,EAAE,mBALO;AAMZC,MAAAA,IAAI,EAAE;AANM,KANe;AAc/BC,IAAAA,QAAQ,EAAE;AACNC,MAAAA,OAAO,EAAE,aADH;AAENC,MAAAA,OAAO,EAAE,eAFH;AAGNC,MAAAA,QAAQ,EAAE,YAAY;AAClB,gBAAQ,KAAK6C,GAAL,EAAR;AACI,eAAK,CAAL;AACI,mBAAO,iBAAP;;AACJ,eAAK,CAAL;AACA,eAAK,CAAL;AACI,mBAAO,iBAAP;;AACJ,eAAK,CAAL;AACI,mBAAO,iBAAP;;AACJ,eAAK,CAAL;AACI,mBAAO,mBAAP;;AACJ,eAAK,CAAL;AACI,mBAAO,iBAAP;;AACJ,eAAK,CAAL;AACI,mBAAO,iBAAP;AAbR;AAeH,OAnBK;AAoBN5C,MAAAA,OAAO,EAAE,cApBH;AAqBNC,MAAAA,QAAQ,EAAE,YAAY;AAClB,gBAAQ,KAAK2C,GAAL,EAAR;AACI,eAAK,CAAL;AACI,mBAAO,sBAAP;;AACJ,eAAK,CAAL;AACA,eAAK,CAAL;AACI,mBAAO,sBAAP;;AACJ,eAAK,CAAL;AACI,mBAAO,sBAAP;;AACJ,eAAK,CAAL;AACA,eAAK,CAAL;AACI,mBAAO,sBAAP;;AACJ,eAAK,CAAL;AACI,mBAAO,sBAAP;AAZR;AAcH,OApCK;AAqCN1C,MAAAA,QAAQ,EAAE;AArCJ,KAdqB;AAqD/BC,IAAAA,YAAY,EAAE;AACVC,MAAAA,MAAM,EAAE,OADE;AAEVC,MAAAA,IAAI,EAAE,SAFI;AAGVl9K,MAAAA,CAAC,EAAE3qC,SAHO;AAIV8nN,MAAAA,EAAE,EAAE9nN,SAJM;AAKV6sC,MAAAA,CAAC,EAAE7sC,SALO;AAMV+nN,MAAAA,EAAE,EAAE/nN,SANM;AAOVi3K,MAAAA,CAAC,EAAEj3K,SAPO;AAQVgoN,MAAAA,EAAE,EAAEhoN,SARM;AASViqC,MAAAA,CAAC,EAAEjqC,SATO;AAUVioN,MAAAA,EAAE,EAAEjoN,SAVM;AAWVkoN,MAAAA,CAAC,EAAEloN,SAXO;AAYVmoN,MAAAA,EAAE,EAAEnoN,SAZM;AAaVosC,MAAAA,CAAC,EAAEpsC,SAbO;AAcVooN,MAAAA,EAAE,EAAEpoN;AAdM,KArDiB;AAqE/BqoN,IAAAA,sBAAsB,EAAE,WArEO;AAsE/BC,IAAAA,OAAO,EAAE,KAtEsB;AAuE/BC,IAAAA,IAAI,EAAE;AACFC,MAAAA,GAAG,EAAE,CADH;AACM;AACRC,MAAAA,GAAG,EAAE,CAFH,CAEM;;AAFN;AAvEyB,GAA1B,CAAT;AA6EA,SAAO0L,EAAP;AAEH,CAtJC,CAAD;;;;;;;;;;ACLD;AACA;AACA;AAEA;;AAAE,WAAU3oD,MAAV,EAAkB98J,OAAlB,EAA2B;AAC1B,UACuCA,OAAO,CAACy2L,mBAAO,CAAC,sBAAD,CAAR,CAD9C,GAEA,CAFA;AAIF,CALC,EAKA,IALA,EAKO,UAAUtwK,MAAV,EAAkB;AAAE,eAAF,CAEvB;;AAEA,WAASg4L,mBAAT,CAA6B7kE,MAA7B,EAAqC6gE,aAArC,EAAoD1iL,GAApD,EAAyD2iL,QAAzD,EAAmE;AAC/D,QAAI92M,MAAM,GAAGg2I,MAAM,GAAG,GAAtB;;AACA,YAAQ7hH,GAAR;AACI,WAAK,GAAL;AACI,eAAO0iL,aAAa,IAAIC,QAAjB,GACD,cADC,GAED,iBAFN;;AAGJ,WAAK,IAAL;AACI,YAAI9gE,MAAM,KAAK,CAAf,EAAkB;AACdh2I,UAAAA,MAAM,IAAI62M,aAAa,GAAG,SAAH,GAAe,SAAtC;AACH,SAFD,MAEO,IAAI7gE,MAAM,KAAK,CAAf,EAAkB;AACrBh2I,UAAAA,MAAM,IAAI62M,aAAa,IAAIC,QAAjB,GAA4B,SAA5B,GAAwC,UAAlD;AACH,SAFM,MAEA,IAAI9gE,MAAM,GAAG,CAAb,EAAgB;AACnBh2I,UAAAA,MAAM,IAAI62M,aAAa,IAAIC,QAAjB,GAA4B,SAA5B,GAAwC,UAAlD;AACH,SAFM,MAEA;AACH92M,UAAAA,MAAM,IAAI,QAAV;AACH;;AACD,eAAOA,MAAP;;AACJ,WAAK,GAAL;AACI,eAAO62M,aAAa,GAAG,YAAH,GAAkB,YAAtC;;AACJ,WAAK,IAAL;AACI,YAAI7gE,MAAM,KAAK,CAAf,EAAkB;AACdh2I,UAAAA,MAAM,IAAI62M,aAAa,GAAG,QAAH,GAAc,QAArC;AACH,SAFD,MAEO,IAAI7gE,MAAM,KAAK,CAAf,EAAkB;AACrBh2I,UAAAA,MAAM,IAAI62M,aAAa,IAAIC,QAAjB,GAA4B,QAA5B,GAAuC,UAAjD;AACH,SAFM,MAEA,IAAI9gE,MAAM,GAAG,CAAb,EAAgB;AACnBh2I,UAAAA,MAAM,IAAI62M,aAAa,IAAIC,QAAjB,GAA4B,QAA5B,GAAuC,UAAjD;AACH,SAFM,MAEA;AACH92M,UAAAA,MAAM,IAAI62M,aAAa,IAAIC,QAAjB,GAA4B,OAA5B,GAAsC,UAAhD;AACH;;AACD,eAAO92M,MAAP;;AACJ,WAAK,GAAL;AACI,eAAO62M,aAAa,GAAG,SAAH,GAAe,SAAnC;;AACJ,WAAK,IAAL;AACI,YAAI7gE,MAAM,KAAK,CAAf,EAAkB;AACdh2I,UAAAA,MAAM,IAAI62M,aAAa,GAAG,KAAH,GAAW,KAAlC;AACH,SAFD,MAEO,IAAI7gE,MAAM,KAAK,CAAf,EAAkB;AACrBh2I,UAAAA,MAAM,IAAI62M,aAAa,IAAIC,QAAjB,GAA4B,KAA5B,GAAoC,OAA9C;AACH,SAFM,MAEA,IAAI9gE,MAAM,GAAG,CAAb,EAAgB;AACnBh2I,UAAAA,MAAM,IAAI62M,aAAa,IAAIC,QAAjB,GAA4B,KAA5B,GAAoC,OAA9C;AACH,SAFM,MAEA;AACH92M,UAAAA,MAAM,IAAI62M,aAAa,IAAIC,QAAjB,GAA4B,IAA5B,GAAmC,OAA7C;AACH;;AACD,eAAO92M,MAAP;;AACJ,WAAK,GAAL;AACI,eAAO62M,aAAa,IAAIC,QAAjB,GAA4B,QAA5B,GAAuC,WAA9C;;AACJ,WAAK,IAAL;AACI,YAAI9gE,MAAM,KAAK,CAAf,EAAkB;AACdh2I,UAAAA,MAAM,IAAI62M,aAAa,IAAIC,QAAjB,GAA4B,KAA5B,GAAoC,MAA9C;AACH,SAFD,MAEO,IAAI9gE,MAAM,KAAK,CAAf,EAAkB;AACrBh2I,UAAAA,MAAM,IAAI62M,aAAa,IAAIC,QAAjB,GAA4B,KAA5B,GAAoC,SAA9C;AACH,SAFM,MAEA;AACH92M,UAAAA,MAAM,IAAI62M,aAAa,IAAIC,QAAjB,GAA4B,KAA5B,GAAoC,OAA9C;AACH;;AACD,eAAO92M,MAAP;;AACJ,WAAK,GAAL;AACI,eAAO62M,aAAa,IAAIC,QAAjB,GAA4B,UAA5B,GAAyC,cAAhD;;AACJ,WAAK,IAAL;AACI,YAAI9gE,MAAM,KAAK,CAAf,EAAkB;AACdh2I,UAAAA,MAAM,IAAI62M,aAAa,IAAIC,QAAjB,GAA4B,OAA5B,GAAsC,SAAhD;AACH,SAFD,MAEO,IAAI9gE,MAAM,KAAK,CAAf,EAAkB;AACrBh2I,UAAAA,MAAM,IAAI62M,aAAa,IAAIC,QAAjB,GAA4B,QAA5B,GAAuC,UAAjD;AACH,SAFM,MAEA,IAAI9gE,MAAM,GAAG,CAAb,EAAgB;AACnBh2I,UAAAA,MAAM,IAAI62M,aAAa,IAAIC,QAAjB,GAA4B,QAA5B,GAAuC,QAAjD;AACH,SAFM,MAEA;AACH92M,UAAAA,MAAM,IAAI62M,aAAa,IAAIC,QAAjB,GAA4B,SAA5B,GAAwC,QAAlD;AACH;;AACD,eAAO92M,MAAP;;AACJ,WAAK,GAAL;AACI,eAAO62M,aAAa,IAAIC,QAAjB,GAA4B,UAA5B,GAAyC,YAAhD;;AACJ,WAAK,IAAL;AACI,YAAI9gE,MAAM,KAAK,CAAf,EAAkB;AACdh2I,UAAAA,MAAM,IAAI62M,aAAa,IAAIC,QAAjB,GAA4B,MAA5B,GAAqC,OAA/C;AACH,SAFD,MAEO,IAAI9gE,MAAM,KAAK,CAAf,EAAkB;AACrBh2I,UAAAA,MAAM,IAAI62M,aAAa,IAAIC,QAAjB,GAA4B,MAA5B,GAAqC,QAA/C;AACH,SAFM,MAEA,IAAI9gE,MAAM,GAAG,CAAb,EAAgB;AACnBh2I,UAAAA,MAAM,IAAI62M,aAAa,IAAIC,QAAjB,GAA4B,MAA5B,GAAqC,MAA/C;AACH,SAFM,MAEA;AACH92M,UAAAA,MAAM,IAAI62M,aAAa,IAAIC,QAAjB,GAA4B,KAA5B,GAAoC,MAA9C;AACH;;AACD,eAAO92M,MAAP;AA9ER;AAgFH;;AAED,MAAIoiN,EAAE,GAAGv/L,MAAM,CAACoxL,YAAP,CAAoB,IAApB,EAA0B;AAC/BC,IAAAA,MAAM,EAAE,wFAAwF9mM,KAAxF,CACJ,GADI,CADuB;AAI/B+mM,IAAAA,WAAW,EACP,8DAA8D/mM,KAA9D,CACI,GADJ,CAL2B;AAQ/B4rM,IAAAA,gBAAgB,EAAE,IARa;AAS/B5E,IAAAA,QAAQ,EAAE,sDAAsDhnM,KAAtD,CAA4D,GAA5D,CATqB;AAU/BinM,IAAAA,aAAa,EAAE,qCAAqCjnM,KAArC,CAA2C,GAA3C,CAVgB;AAW/BknM,IAAAA,WAAW,EAAE,uBAAuBlnM,KAAvB,CAA6B,GAA7B,CAXkB;AAY/B4pM,IAAAA,kBAAkB,EAAE,IAZW;AAa/BnC,IAAAA,cAAc,EAAE;AACZC,MAAAA,EAAE,EAAE,MADQ;AAEZC,MAAAA,GAAG,EAAE,SAFO;AAGZC,MAAAA,CAAC,EAAE,cAHS;AAIZC,MAAAA,EAAE,EAAE,cAJQ;AAKZC,MAAAA,GAAG,EAAE,mBALO;AAMZC,MAAAA,IAAI,EAAE;AANM,KAbe;AAqB/BC,IAAAA,QAAQ,EAAE;AACNC,MAAAA,OAAO,EAAE,eADH;AAENC,MAAAA,OAAO,EAAE,eAFH;AAINC,MAAAA,QAAQ,EAAE,YAAY;AAClB,gBAAQ,KAAK6C,GAAL,EAAR;AACI,eAAK,CAAL;AACI,mBAAO,uBAAP;;AACJ,eAAK,CAAL;AACI,mBAAO,qBAAP;;AACJ,eAAK,CAAL;AACI,mBAAO,sBAAP;;AACJ,eAAK,CAAL;AACA,eAAK,CAAL;AACA,eAAK,CAAL;AACA,eAAK,CAAL;AACI,mBAAO,kBAAP;AAXR;AAaH,OAlBK;AAmBN5C,MAAAA,OAAO,EAAE,gBAnBH;AAoBNC,MAAAA,QAAQ,EAAE,YAAY;AAClB,gBAAQ,KAAK2C,GAAL,EAAR;AACI,eAAK,CAAL;AACI,mBAAO,8BAAP;;AACJ,eAAK,CAAL;AACI,mBAAO,4BAAP;;AACJ,eAAK,CAAL;AACI,mBAAO,6BAAP;;AACJ,eAAK,CAAL;AACA,eAAK,CAAL;AACA,eAAK,CAAL;AACA,eAAK,CAAL;AACI,mBAAO,yBAAP;AAXR;AAaH,OAlCK;AAmCN1C,MAAAA,QAAQ,EAAE;AAnCJ,KArBqB;AA0D/BC,IAAAA,YAAY,EAAE;AACVC,MAAAA,MAAM,EAAE,QADE;AAEVC,MAAAA,IAAI,EAAE,SAFI;AAGVl9K,MAAAA,CAAC,EAAEkiL,mBAHO;AAIV/E,MAAAA,EAAE,EAAE+E,mBAJM;AAKVhgL,MAAAA,CAAC,EAAEggL,mBALO;AAMV9E,MAAAA,EAAE,EAAE8E,mBANM;AAOV51C,MAAAA,CAAC,EAAE41C,mBAPO;AAQV7E,MAAAA,EAAE,EAAE6E,mBARM;AASV5iL,MAAAA,CAAC,EAAE4iL,mBATO;AAUV5E,MAAAA,EAAE,EAAE4E,mBAVM;AAWV3E,MAAAA,CAAC,EAAE2E,mBAXO;AAYV1E,MAAAA,EAAE,EAAE0E,mBAZM;AAaVzgL,MAAAA,CAAC,EAAEygL,mBAbO;AAcVzE,MAAAA,EAAE,EAAEyE;AAdM,KA1DiB;AA0E/BxE,IAAAA,sBAAsB,EAAE,WA1EO;AA2E/BC,IAAAA,OAAO,EAAE,KA3EsB;AA4E/BC,IAAAA,IAAI,EAAE;AACFC,MAAAA,GAAG,EAAE,CADH;AACM;AACRC,MAAAA,GAAG,EAAE,CAFH,CAEM;;AAFN;AA5EyB,GAA1B,CAAT;AAkFA,SAAO2L,EAAP;AAEH,CAjLC,CAAD;;;;;;;;;;ACJD;AACA;AACA;AACA;AACA;AAEA;;AAAE,WAAU5oD,MAAV,EAAkB98J,OAAlB,EAA2B;AAC1B,UACuCA,OAAO,CAACy2L,mBAAO,CAAC,sBAAD,CAAR,CAD9C,GAEA,CAFA;AAIF,CALC,EAKA,IALA,EAKO,UAAUtwK,MAAV,EAAkB;AAAE,eAAF,CAEvB;;AAEA,MAAIw/L,EAAE,GAAGx/L,MAAM,CAACoxL,YAAP,CAAoB,IAApB,EAA0B;AAC/BC,IAAAA,MAAM,EAAE,gFAAgF9mM,KAAhF,CACJ,GADI,CADuB;AAI/B+mM,IAAAA,WAAW,EAAE,kDAAkD/mM,KAAlD,CAAwD,GAAxD,CAJkB;AAK/BgnM,IAAAA,QAAQ,EAAE,4DAA4DhnM,KAA5D,CACN,GADM,CALqB;AAQ/BinM,IAAAA,aAAa,EAAE,8BAA8BjnM,KAA9B,CAAoC,GAApC,CARgB;AAS/BknM,IAAAA,WAAW,EAAE,mBAAmBlnM,KAAnB,CAAyB,GAAzB,CATkB;AAU/B4pM,IAAAA,kBAAkB,EAAE,IAVW;AAW/BzC,IAAAA,aAAa,EAAE,OAXgB;AAY/BC,IAAAA,IAAI,EAAE,UAAU5tJ,KAAV,EAAiB;AACnB,aAAOA,KAAK,CAAChR,MAAN,CAAa,CAAb,MAAoB,GAA3B;AACH,KAd8B;AAe/B6+J,IAAAA,QAAQ,EAAE,UAAUC,KAAV,EAAiBC,OAAjB,EAA0BC,OAA1B,EAAmC;AACzC,aAAOF,KAAK,GAAG,EAAR,GAAa,IAAb,GAAoB,IAA3B;AACH,KAjB8B;AAkB/BG,IAAAA,cAAc,EAAE;AACZC,MAAAA,EAAE,EAAE,OADQ;AAEZC,MAAAA,GAAG,EAAE,UAFO;AAGZC,MAAAA,CAAC,EAAE,YAHS;AAIZC,MAAAA,EAAE,EAAE,aAJQ;AAKZC,MAAAA,GAAG,EAAE,mBALO;AAMZC,MAAAA,IAAI,EAAE;AANM,KAlBe;AA0B/BC,IAAAA,QAAQ,EAAE;AACNC,MAAAA,OAAO,EAAE,aADH;AAENC,MAAAA,OAAO,EAAE,eAFH;AAGNC,MAAAA,QAAQ,EAAE,cAHJ;AAINC,MAAAA,OAAO,EAAE,aAJH;AAKNC,MAAAA,QAAQ,EAAE,uBALJ;AAMNC,MAAAA,QAAQ,EAAE;AANJ,KA1BqB;AAkC/BC,IAAAA,YAAY,EAAE;AACVC,MAAAA,MAAM,EAAE,OADE;AAEVC,MAAAA,IAAI,EAAE,YAFI;AAGVl9K,MAAAA,CAAC,EAAE,cAHO;AAIVm9K,MAAAA,EAAE,EAAE,YAJM;AAKVj7K,MAAAA,CAAC,EAAE,YALO;AAMVk7K,MAAAA,EAAE,EAAE,WANM;AAOV9wC,MAAAA,CAAC,EAAE,SAPO;AAQV+wC,MAAAA,EAAE,EAAE,QARM;AASV/9K,MAAAA,CAAC,EAAE,UATO;AAUVg+K,MAAAA,EAAE,EAAE,SAVM;AAWVC,MAAAA,CAAC,EAAE,UAXO;AAYVC,MAAAA,EAAE,EAAE,SAZM;AAaV/7K,MAAAA,CAAC,EAAE,SAbO;AAcVg8K,MAAAA,EAAE,EAAE;AAdM,KAlCiB;AAkD/BC,IAAAA,sBAAsB,EAAE,WAlDO;AAmD/BC,IAAAA,OAAO,EAAE,KAnDsB;AAoD/BC,IAAAA,IAAI,EAAE;AACFC,MAAAA,GAAG,EAAE,CADH;AACM;AACRC,MAAAA,GAAG,EAAE,CAFH,CAEM;;AAFN;AApDyB,GAA1B,CAAT;AA0DA,SAAO4L,EAAP;AAEH,CArEC,CAAD;;;;;;;;;;ACND;AACA;AACA;AACA;AAEA;;AAAE,WAAU7oD,MAAV,EAAkB98J,OAAlB,EAA2B;AAC1B,UACuCA,OAAO,CAACy2L,mBAAO,CAAC,sBAAD,CAAR,CAD9C,GAEA,CAFA;AAIF,CALC,EAKA,IALA,EAKO,UAAUtwK,MAAV,EAAkB;AAAE,eAAF,CAEvB;;AAEA,MAAIu9L,UAAU,GAAG;AACbC,IAAAA,KAAK,EAAE;AACH;AACAvK,MAAAA,EAAE,EAAE,CAAC,SAAD,EAAY,SAAZ,EAAuB,SAAvB,CAFD;AAGHj7K,MAAAA,CAAC,EAAE,CAAC,aAAD,EAAgB,eAAhB,CAHA;AAIHk7K,MAAAA,EAAE,EAAE,CAAC,OAAD,EAAU,QAAV,EAAoB,QAApB,CAJD;AAKH9wC,MAAAA,CAAC,EAAE,CAAC,WAAD,EAAc,aAAd,CALA;AAMH+wC,MAAAA,EAAE,EAAE,CAAC,KAAD,EAAQ,MAAR,EAAgB,MAAhB,CAND;AAOH/9K,MAAAA,CAAC,EAAE,CAAC,WAAD,EAAc,aAAd,CAPA;AAQHg+K,MAAAA,EAAE,EAAE,CAAC,KAAD,EAAQ,MAAR,EAAgB,MAAhB,CARD;AASHC,MAAAA,CAAC,EAAE,CAAC,aAAD,EAAgB,eAAhB,CATA;AAUHC,MAAAA,EAAE,EAAE,CAAC,OAAD,EAAU,QAAV,EAAoB,QAApB,CAVD;AAWH/7K,MAAAA,CAAC,EAAE,CAAC,cAAD,EAAiB,cAAjB,CAXA;AAYHg8K,MAAAA,EAAE,EAAE,CAAC,QAAD,EAAW,QAAX,EAAqB,QAArB;AAZD,KADM;AAebkK,IAAAA,sBAAsB,EAAE,UAAUtqE,MAAV,EAAkBuqE,OAAlB,EAA2B;AAC/C,UACIvqE,MAAM,GAAG,EAAT,IAAe,CAAf,IACAA,MAAM,GAAG,EAAT,IAAe,CADf,KAECA,MAAM,GAAG,GAAT,GAAe,EAAf,IAAqBA,MAAM,GAAG,GAAT,IAAgB,EAFtC,CADJ,EAIE;AACE,eAAOA,MAAM,GAAG,EAAT,KAAgB,CAAhB,GAAoBuqE,OAAO,CAAC,CAAD,CAA3B,GAAiCA,OAAO,CAAC,CAAD,CAA/C;AACH;;AACD,aAAOA,OAAO,CAAC,CAAD,CAAd;AACH,KAxBY;AAyBbvyN,IAAAA,SAAS,EAAE,UAAUgoJ,MAAV,EAAkB6gE,aAAlB,EAAiC1iL,GAAjC,EAAsC2iL,QAAtC,EAAgD;AACvD,UAAIyJ,OAAO,GAAGH,UAAU,CAACC,KAAX,CAAiBlsL,GAAjB,CAAd;AAAA,UACI2jL,IADJ;;AAGA,UAAI3jL,GAAG,CAACn5B,MAAJ,KAAe,CAAnB,EAAsB;AAClB;AACA,YAAIm5B,GAAG,KAAK,GAAR,IAAe0iL,aAAnB,EAAkC,OAAO,cAAP;AAClC,eAAOC,QAAQ,IAAID,aAAZ,GAA4B0J,OAAO,CAAC,CAAD,CAAnC,GAAyCA,OAAO,CAAC,CAAD,CAAvD;AACH;;AAEDzI,MAAAA,IAAI,GAAGsI,UAAU,CAACE,sBAAX,CAAkCtqE,MAAlC,EAA0CuqE,OAA1C,CAAP,CAVuD,CAWvD;;AACA,UAAIpsL,GAAG,KAAK,IAAR,IAAgB0iL,aAAhB,IAAiCiB,IAAI,KAAK,QAA9C,EAAwD;AACpD,eAAO9hE,MAAM,GAAG,SAAhB;AACH;;AAED,aAAOA,MAAM,GAAG,GAAT,GAAe8hE,IAAtB;AACH;AA1CY,GAAjB;AA6CA,MAAIwK,MAAM,GAAGz/L,MAAM,CAACoxL,YAAP,CAAoB,SAApB,EAA+B;AACxCC,IAAAA,MAAM,EAAE,mFAAmF9mM,KAAnF,CACJ,GADI,CADgC;AAIxC+mM,IAAAA,WAAW,EACP,2DAA2D/mM,KAA3D,CAAiE,GAAjE,CALoC;AAMxC4rM,IAAAA,gBAAgB,EAAE,IANsB;AAOxC5E,IAAAA,QAAQ,EAAE,sDAAsDhnM,KAAtD,CAA4D,GAA5D,CAP8B;AAQxCinM,IAAAA,aAAa,EAAE,qCAAqCjnM,KAArC,CAA2C,GAA3C,CARyB;AASxCknM,IAAAA,WAAW,EAAE,uBAAuBlnM,KAAvB,CAA6B,GAA7B,CAT2B;AAUxC4pM,IAAAA,kBAAkB,EAAE,IAVoB;AAWxCnC,IAAAA,cAAc,EAAE;AACZC,MAAAA,EAAE,EAAE,MADQ;AAEZC,MAAAA,GAAG,EAAE,SAFO;AAGZC,MAAAA,CAAC,EAAE,aAHS;AAIZC,MAAAA,EAAE,EAAE,eAJQ;AAKZC,MAAAA,GAAG,EAAE,oBALO;AAMZC,MAAAA,IAAI,EAAE;AANM,KAXwB;AAmBxCC,IAAAA,QAAQ,EAAE;AACNC,MAAAA,OAAO,EAAE,cADH;AAENC,MAAAA,OAAO,EAAE,cAFH;AAGNC,MAAAA,QAAQ,EAAE,YAAY;AAClB,gBAAQ,KAAK6C,GAAL,EAAR;AACI,eAAK,CAAL;AACI,mBAAO,qBAAP;;AACJ,eAAK,CAAL;AACI,mBAAO,oBAAP;;AACJ,eAAK,CAAL;AACI,mBAAO,qBAAP;;AACJ,eAAK,CAAL;AACA,eAAK,CAAL;AACA,eAAK,CAAL;AACA,eAAK,CAAL;AACI,mBAAO,iBAAP;AAXR;AAaH,OAjBK;AAkBN5C,MAAAA,OAAO,EAAE,aAlBH;AAmBNC,MAAAA,QAAQ,EAAE,YAAY;AAClB,YAAIgL,YAAY,GAAG,CACf,0BADe,EAEf,8BAFe,EAGf,2BAHe,EAIf,yBAJe,EAKf,6BALe,EAMf,0BANe,EAOf,0BAPe,CAAnB;AASA,eAAOA,YAAY,CAAC,KAAKrI,GAAL,EAAD,CAAnB;AACH,OA9BK;AA+BN1C,MAAAA,QAAQ,EAAE;AA/BJ,KAnB8B;AAoDxCC,IAAAA,YAAY,EAAE;AACVC,MAAAA,MAAM,EAAE,OADE;AAEVC,MAAAA,IAAI,EAAE,QAFI;AAGVl9K,MAAAA,CAAC,EAAE,kBAHO;AAIVm9K,MAAAA,EAAE,EAAEsK,UAAU,CAACpyN,SAJL;AAKV6sC,MAAAA,CAAC,EAAEulL,UAAU,CAACpyN,SALJ;AAMV+nN,MAAAA,EAAE,EAAEqK,UAAU,CAACpyN,SANL;AAOVi3K,MAAAA,CAAC,EAAEm7C,UAAU,CAACpyN,SAPJ;AAQVgoN,MAAAA,EAAE,EAAEoK,UAAU,CAACpyN,SARL;AASViqC,MAAAA,CAAC,EAAEmoL,UAAU,CAACpyN,SATJ;AAUVioN,MAAAA,EAAE,EAAEmK,UAAU,CAACpyN,SAVL;AAWVkoN,MAAAA,CAAC,EAAEkK,UAAU,CAACpyN,SAXJ;AAYVmoN,MAAAA,EAAE,EAAEiK,UAAU,CAACpyN,SAZL;AAaVosC,MAAAA,CAAC,EAAEgmL,UAAU,CAACpyN,SAbJ;AAcVooN,MAAAA,EAAE,EAAEgK,UAAU,CAACpyN;AAdL,KApD0B;AAoExCqoN,IAAAA,sBAAsB,EAAE,WApEgB;AAqExCC,IAAAA,OAAO,EAAE,KArE+B;AAsExCC,IAAAA,IAAI,EAAE;AACFC,MAAAA,GAAG,EAAE,CADH;AACM;AACRC,MAAAA,GAAG,EAAE,CAFH,CAEM;;AAFN;AAtEkC,GAA/B,CAAb;AA4EA,SAAO6L,MAAP;AAEH,CApIC,CAAD;;;;;;;;;;ACLD;AACA;AACA;AACA;AAEA;;AAAE,WAAU9oD,MAAV,EAAkB98J,OAAlB,EAA2B;AAC1B,UACuCA,OAAO,CAACy2L,mBAAO,CAAC,sBAAD,CAAR,CAD9C,GAEA,CAFA;AAIF,CALC,EAKA,IALA,EAKO,UAAUtwK,MAAV,EAAkB;AAAE,eAAF,CAEvB;;AAEA,MAAIu9L,UAAU,GAAG;AACbC,IAAAA,KAAK,EAAE;AACH;AACAvK,MAAAA,EAAE,EAAE,CAAC,SAAD,EAAY,SAAZ,EAAuB,SAAvB,CAFD;AAGHj7K,MAAAA,CAAC,EAAE,CAAC,aAAD,EAAgB,eAAhB,CAHA;AAIHk7K,MAAAA,EAAE,EAAE,CAAC,OAAD,EAAU,QAAV,EAAoB,QAApB,CAJD;AAKH9wC,MAAAA,CAAC,EAAE,CAAC,WAAD,EAAc,aAAd,CALA;AAMH+wC,MAAAA,EAAE,EAAE,CAAC,KAAD,EAAQ,MAAR,EAAgB,MAAhB,CAND;AAOH/9K,MAAAA,CAAC,EAAE,CAAC,WAAD,EAAc,aAAd,CAPA;AAQHg+K,MAAAA,EAAE,EAAE,CAAC,KAAD,EAAQ,MAAR,EAAgB,MAAhB,CARD;AASHC,MAAAA,CAAC,EAAE,CAAC,aAAD,EAAgB,eAAhB,CATA;AAUHC,MAAAA,EAAE,EAAE,CAAC,OAAD,EAAU,QAAV,EAAoB,QAApB,CAVD;AAWH/7K,MAAAA,CAAC,EAAE,CAAC,cAAD,EAAiB,cAAjB,CAXA;AAYHg8K,MAAAA,EAAE,EAAE,CAAC,QAAD,EAAW,QAAX,EAAqB,QAArB;AAZD,KADM;AAebkK,IAAAA,sBAAsB,EAAE,UAAUtqE,MAAV,EAAkBuqE,OAAlB,EAA2B;AAC/C,UACIvqE,MAAM,GAAG,EAAT,IAAe,CAAf,IACAA,MAAM,GAAG,EAAT,IAAe,CADf,KAECA,MAAM,GAAG,GAAT,GAAe,EAAf,IAAqBA,MAAM,GAAG,GAAT,IAAgB,EAFtC,CADJ,EAIE;AACE,eAAOA,MAAM,GAAG,EAAT,KAAgB,CAAhB,GAAoBuqE,OAAO,CAAC,CAAD,CAA3B,GAAiCA,OAAO,CAAC,CAAD,CAA/C;AACH;;AACD,aAAOA,OAAO,CAAC,CAAD,CAAd;AACH,KAxBY;AAyBbvyN,IAAAA,SAAS,EAAE,UAAUgoJ,MAAV,EAAkB6gE,aAAlB,EAAiC1iL,GAAjC,EAAsC2iL,QAAtC,EAAgD;AACvD,UAAIyJ,OAAO,GAAGH,UAAU,CAACC,KAAX,CAAiBlsL,GAAjB,CAAd;AAAA,UACI2jL,IADJ;;AAGA,UAAI3jL,GAAG,CAACn5B,MAAJ,KAAe,CAAnB,EAAsB;AAClB;AACA,YAAIm5B,GAAG,KAAK,GAAR,IAAe0iL,aAAnB,EAAkC,OAAO,cAAP;AAClC,eAAOC,QAAQ,IAAID,aAAZ,GAA4B0J,OAAO,CAAC,CAAD,CAAnC,GAAyCA,OAAO,CAAC,CAAD,CAAvD;AACH;;AAEDzI,MAAAA,IAAI,GAAGsI,UAAU,CAACE,sBAAX,CAAkCtqE,MAAlC,EAA0CuqE,OAA1C,CAAP,CAVuD,CAWvD;;AACA,UAAIpsL,GAAG,KAAK,IAAR,IAAgB0iL,aAAhB,IAAiCiB,IAAI,KAAK,QAA9C,EAAwD;AACpD,eAAO9hE,MAAM,GAAG,SAAhB;AACH;;AAED,aAAOA,MAAM,GAAG,GAAT,GAAe8hE,IAAtB;AACH;AA1CY,GAAjB;AA6CA,MAAIyK,EAAE,GAAG1/L,MAAM,CAACoxL,YAAP,CAAoB,IAApB,EAA0B;AAC/BC,IAAAA,MAAM,EAAE,mFAAmF9mM,KAAnF,CACJ,GADI,CADuB;AAI/B+mM,IAAAA,WAAW,EACP,2DAA2D/mM,KAA3D,CAAiE,GAAjE,CAL2B;AAM/B4rM,IAAAA,gBAAgB,EAAE,IANa;AAO/B5E,IAAAA,QAAQ,EAAE,wDAAwDhnM,KAAxD,CACN,GADM,CAPqB;AAU/BinM,IAAAA,aAAa,EAAE,qCAAqCjnM,KAArC,CAA2C,GAA3C,CAVgB;AAW/BknM,IAAAA,WAAW,EAAE,uBAAuBlnM,KAAvB,CAA6B,GAA7B,CAXkB;AAY/B4pM,IAAAA,kBAAkB,EAAE,IAZW;AAa/BnC,IAAAA,cAAc,EAAE;AACZC,MAAAA,EAAE,EAAE,MADQ;AAEZC,MAAAA,GAAG,EAAE,SAFO;AAGZC,MAAAA,CAAC,EAAE,aAHS;AAIZC,MAAAA,EAAE,EAAE,eAJQ;AAKZC,MAAAA,GAAG,EAAE,oBALO;AAMZC,MAAAA,IAAI,EAAE;AANM,KAbe;AAqB/BC,IAAAA,QAAQ,EAAE;AACNC,MAAAA,OAAO,EAAE,cADH;AAENC,MAAAA,OAAO,EAAE,cAFH;AAGNC,MAAAA,QAAQ,EAAE,YAAY;AAClB,gBAAQ,KAAK6C,GAAL,EAAR;AACI,eAAK,CAAL;AACI,mBAAO,sBAAP;;AACJ,eAAK,CAAL;AACI,mBAAO,oBAAP;;AACJ,eAAK,CAAL;AACI,mBAAO,qBAAP;;AACJ,eAAK,CAAL;AACA,eAAK,CAAL;AACA,eAAK,CAAL;AACA,eAAK,CAAL;AACI,mBAAO,iBAAP;AAXR;AAaH,OAjBK;AAkBN5C,MAAAA,OAAO,EAAE,aAlBH;AAmBNC,MAAAA,QAAQ,EAAE,YAAY;AAClB,YAAIgL,YAAY,GAAG,CACf,2BADe,EAEf,+BAFe,EAGf,2BAHe,EAIf,yBAJe,EAKf,6BALe,EAMf,0BANe,EAOf,0BAPe,CAAnB;AASA,eAAOA,YAAY,CAAC,KAAKrI,GAAL,EAAD,CAAnB;AACH,OA9BK;AA+BN1C,MAAAA,QAAQ,EAAE;AA/BJ,KArBqB;AAsD/BC,IAAAA,YAAY,EAAE;AACVC,MAAAA,MAAM,EAAE,OADE;AAEVC,MAAAA,IAAI,EAAE,QAFI;AAGVl9K,MAAAA,CAAC,EAAE,kBAHO;AAIVm9K,MAAAA,EAAE,EAAEsK,UAAU,CAACpyN,SAJL;AAKV6sC,MAAAA,CAAC,EAAEulL,UAAU,CAACpyN,SALJ;AAMV+nN,MAAAA,EAAE,EAAEqK,UAAU,CAACpyN,SANL;AAOVi3K,MAAAA,CAAC,EAAEm7C,UAAU,CAACpyN,SAPJ;AAQVgoN,MAAAA,EAAE,EAAEoK,UAAU,CAACpyN,SARL;AASViqC,MAAAA,CAAC,EAAEmoL,UAAU,CAACpyN,SATJ;AAUVioN,MAAAA,EAAE,EAAEmK,UAAU,CAACpyN,SAVL;AAWVkoN,MAAAA,CAAC,EAAEkK,UAAU,CAACpyN,SAXJ;AAYVmoN,MAAAA,EAAE,EAAEiK,UAAU,CAACpyN,SAZL;AAaVosC,MAAAA,CAAC,EAAEgmL,UAAU,CAACpyN,SAbJ;AAcVooN,MAAAA,EAAE,EAAEgK,UAAU,CAACpyN;AAdL,KAtDiB;AAsE/BqoN,IAAAA,sBAAsB,EAAE,WAtEO;AAuE/BC,IAAAA,OAAO,EAAE,KAvEsB;AAwE/BC,IAAAA,IAAI,EAAE;AACFC,MAAAA,GAAG,EAAE,CADH;AACM;AACRC,MAAAA,GAAG,EAAE,CAFH,CAEM;;AAFN;AAxEyB,GAA1B,CAAT;AA8EA,SAAO8L,EAAP;AAEH,CAtIC,CAAD;;;;;;;;;;ACLD;AACA;AACA;AAEA;;AAAE,WAAU/oD,MAAV,EAAkB98J,OAAlB,EAA2B;AAC1B,UACuCA,OAAO,CAACy2L,mBAAO,CAAC,sBAAD,CAAR,CAD9C,GAEA,CAFA;AAIF,CALC,EAKA,IALA,EAKO,UAAUtwK,MAAV,EAAkB;AAAE,eAAF,CAEvB;;AAEA,MAAIizL,EAAE,GAAGjzL,MAAM,CAACoxL,YAAP,CAAoB,IAApB,EAA0B;AAC/BC,IAAAA,MAAM,EAAE,mHAAmH9mM,KAAnH,CACJ,GADI,CADuB;AAI/B+mM,IAAAA,WAAW,EAAE,kDAAkD/mM,KAAlD,CAAwD,GAAxD,CAJkB;AAK/BgnM,IAAAA,QAAQ,EACJ,sEAAsEhnM,KAAtE,CACI,GADJ,CAN2B;AAS/BinM,IAAAA,aAAa,EAAE,8BAA8BjnM,KAA9B,CAAoC,GAApC,CATgB;AAU/BknM,IAAAA,WAAW,EAAE,uBAAuBlnM,KAAvB,CAA6B,GAA7B,CAVkB;AAW/B4pM,IAAAA,kBAAkB,EAAE,IAXW;AAY/BnC,IAAAA,cAAc,EAAE;AACZC,MAAAA,EAAE,EAAE,QADQ;AAEZC,MAAAA,GAAG,EAAE,WAFO;AAGZC,MAAAA,CAAC,EAAE,YAHS;AAIZC,MAAAA,EAAE,EAAE,aAJQ;AAKZC,MAAAA,GAAG,EAAE,oBALO;AAMZC,MAAAA,IAAI,EAAE;AANM,KAZe;AAoB/BC,IAAAA,QAAQ,EAAE;AACNC,MAAAA,OAAO,EAAE,kBADH;AAENC,MAAAA,OAAO,EAAE,iBAFH;AAGNC,MAAAA,QAAQ,EAAE,eAHJ;AAINC,MAAAA,OAAO,EAAE,gBAJH;AAKNC,MAAAA,QAAQ,EAAE,6BALJ;AAMNC,MAAAA,QAAQ,EAAE;AANJ,KApBqB;AA4B/BC,IAAAA,YAAY,EAAE;AACVC,MAAAA,MAAM,EAAE,QADE;AAEVC,MAAAA,IAAI,EAAE,gBAFI;AAGVl9K,MAAAA,CAAC,EAAE,oBAHO;AAIVm9K,MAAAA,EAAE,EAAE,aAJM;AAKVj7K,MAAAA,CAAC,EAAE,QALO;AAMVk7K,MAAAA,EAAE,EAAE,YANM;AAOV9wC,MAAAA,CAAC,EAAE,QAPO;AAQV+wC,MAAAA,EAAE,EAAE,YARM;AASV/9K,MAAAA,CAAC,EAAE,SATO;AAUVg+K,MAAAA,EAAE,EAAE,aAVM;AAWVC,MAAAA,CAAC,EAAE,SAXO;AAYVC,MAAAA,EAAE,EAAE,aAZM;AAaV/7K,MAAAA,CAAC,EAAE,SAbO;AAcVg8K,MAAAA,EAAE,EAAE;AAdM,KA5BiB;AA4C/B7B,IAAAA,aAAa,EAAE,kCA5CgB;AA6C/BE,IAAAA,QAAQ,EAAE,UAAUC,KAAV,EAAiBC,OAAjB,EAA0BC,OAA1B,EAAmC;AACzC,UAAIF,KAAK,GAAG,EAAZ,EAAgB;AACZ,eAAO,SAAP;AACH,OAFD,MAEO,IAAIA,KAAK,GAAG,EAAZ,EAAgB;AACnB,eAAO,OAAP;AACH,OAFM,MAEA,IAAIA,KAAK,GAAG,EAAZ,EAAgB;AACnB,eAAO,YAAP;AACH,OAFM,MAEA;AACH,eAAO,SAAP;AACH;AACJ,KAvD8B;AAwD/BkE,IAAAA,YAAY,EAAE,UAAUvzE,IAAV,EAAgBovE,QAAhB,EAA0B;AACpC,UAAIpvE,IAAI,KAAK,EAAb,EAAiB;AACbA,QAAAA,IAAI,GAAG,CAAP;AACH;;AACD,UAAIovE,QAAQ,KAAK,SAAjB,EAA4B;AACxB,eAAOpvE,IAAP;AACH,OAFD,MAEO,IAAIovE,QAAQ,KAAK,OAAjB,EAA0B;AAC7B,eAAOpvE,IAAI,IAAI,EAAR,GAAaA,IAAb,GAAoBA,IAAI,GAAG,EAAlC;AACH,OAFM,MAEA,IAAIovE,QAAQ,KAAK,YAAb,IAA6BA,QAAQ,KAAK,SAA9C,EAAyD;AAC5D,YAAIpvE,IAAI,KAAK,CAAb,EAAgB;AACZ,iBAAO,CAAP;AACH;;AACD,eAAOA,IAAI,GAAG,EAAd;AACH;AACJ,KAtE8B;AAuE/BgxE,IAAAA,sBAAsB,EAAE,SAvEO;AAwE/BC,IAAAA,OAAO,EAAE,IAxEsB;AAyE/BC,IAAAA,IAAI,EAAE;AACFC,MAAAA,GAAG,EAAE,CADH;AACM;AACRC,MAAAA,GAAG,EAAE,CAFH,CAEM;;AAFN;AAzEyB,GAA1B,CAAT;AA+EA,SAAOX,EAAP;AAEH,CA1FC,CAAD;;;;;;;;;;ACJD;AACA;AACA;AAEA;;AAAE,WAAUt8C,MAAV,EAAkB98J,OAAlB,EAA2B;AAC1B,UACuCA,OAAO,CAACy2L,mBAAO,CAAC,sBAAD,CAAR,CAD9C,GAEA,CAFA;AAIF,CALC,EAKA,IALA,EAKO,UAAUtwK,MAAV,EAAkB;AAAE,eAAF,CAEvB;;AAEA,MAAIynK,EAAE,GAAGznK,MAAM,CAACoxL,YAAP,CAAoB,IAApB,EAA0B;AAC/BC,IAAAA,MAAM,EAAE,wFAAwF9mM,KAAxF,CACJ,GADI,CADuB;AAI/B+mM,IAAAA,WAAW,EAAE,kDAAkD/mM,KAAlD,CAAwD,GAAxD,CAJkB;AAK/BgnM,IAAAA,QAAQ,EAAE,oDAAoDhnM,KAApD,CAA0D,GAA1D,CALqB;AAM/BinM,IAAAA,aAAa,EAAE,8BAA8BjnM,KAA9B,CAAoC,GAApC,CANgB;AAO/BknM,IAAAA,WAAW,EAAE,uBAAuBlnM,KAAvB,CAA6B,GAA7B,CAPkB;AAQ/BynM,IAAAA,cAAc,EAAE;AACZC,MAAAA,EAAE,EAAE,OADQ;AAEZC,MAAAA,GAAG,EAAE,UAFO;AAGZC,MAAAA,CAAC,EAAE,YAHS;AAIZC,MAAAA,EAAE,EAAE,aAJQ;AAKZC,MAAAA,GAAG,EAAE,yBALO;AAMZC,MAAAA,IAAI,EAAE,8BANM;AAOZkF,MAAAA,GAAG,EAAE,kBAPO;AAQZC,MAAAA,IAAI,EAAE;AARM,KARe;AAkB/BlF,IAAAA,QAAQ,EAAE;AACNC,MAAAA,OAAO,EAAE,WADH;AAENC,MAAAA,OAAO,EAAE,cAFH;AAGNE,MAAAA,OAAO,EAAE,WAHH;AAIND,MAAAA,QAAQ,EAAE,cAJJ;AAKNE,MAAAA,QAAQ,EAAE,gBALJ;AAMNC,MAAAA,QAAQ,EAAE;AANJ,KAlBqB;AA0B/BC,IAAAA,YAAY,EAAE;AACVC,MAAAA,MAAM,EAAE,OADE;AAEVC,MAAAA,IAAI,EAAE,cAFI;AAGVl9K,MAAAA,CAAC,EAAE,gBAHO;AAIVm9K,MAAAA,EAAE,EAAE,aAJM;AAKVj7K,MAAAA,CAAC,EAAE,UALO;AAMVk7K,MAAAA,EAAE,EAAE,YANM;AAOV9wC,MAAAA,CAAC,EAAE,UAPO;AAQV+wC,MAAAA,EAAE,EAAE,WARM;AASV/9K,MAAAA,CAAC,EAAE,QATO;AAUVg+K,MAAAA,EAAE,EAAE,UAVM;AAWVC,MAAAA,CAAC,EAAE,UAXO;AAYVC,MAAAA,EAAE,EAAE,YAZM;AAaV/7K,MAAAA,CAAC,EAAE,QAbO;AAcVg8K,MAAAA,EAAE,EAAE;AAdM,KA1BiB;AA0C/BC,IAAAA,sBAAsB,EAAE,kBA1CO;AA2C/BC,IAAAA,OAAO,EAAE,UAAUtgE,MAAV,EAAkB;AACvB,UAAI99G,CAAC,GAAG89G,MAAM,GAAG,EAAjB;AAAA,UACIpU,MAAM,GACF,CAAC,EAAGoU,MAAM,GAAG,GAAV,GAAiB,EAAnB,CAAD,KAA4B,CAA5B,GACM,IADN,GAEM99G,CAAC,KAAK,CAAN,GACA,IADA,GAEAA,CAAC,KAAK,CAAN,GACA,IADA,GAEAA,CAAC,KAAK,CAAN,GACA,IADA,GAEA,IAVd;AAWA,aAAO89G,MAAM,GAAGpU,MAAhB;AACH,KAxD8B;AAyD/B20E,IAAAA,IAAI,EAAE;AACFC,MAAAA,GAAG,EAAE,CADH;AACM;AACRC,MAAAA,GAAG,EAAE,CAFH,CAEM;;AAFN;AAzDyB,GAA1B,CAAT;AA+DA,SAAOnsB,EAAP;AAEH,CA1EC,CAAD;;;;;;;;;;ACJD;AACA;AACA;AAEA;;AAAE,WAAU9wB,MAAV,EAAkB98J,OAAlB,EAA2B;AAC1B,UACuCA,OAAO,CAACy2L,mBAAO,CAAC,sBAAD,CAAR,CAD9C,GAEA,CAFA;AAIF,CALC,EAKA,IALA,EAKO,UAAUtwK,MAAV,EAAkB;AAAE,eAAF,CAEvB;;AAEA,MAAI2/L,EAAE,GAAG3/L,MAAM,CAACoxL,YAAP,CAAoB,IAApB,EAA0B;AAC/BC,IAAAA,MAAM,EAAE,sFAAsF9mM,KAAtF,CACJ,GADI,CADuB;AAI/B+mM,IAAAA,WAAW,EAAE,kDAAkD/mM,KAAlD,CAAwD,GAAxD,CAJkB;AAK/BgnM,IAAAA,QAAQ,EACJ,8DAA8DhnM,KAA9D,CACI,GADJ,CAN2B;AAS/BinM,IAAAA,aAAa,EAAE,kCAAkCjnM,KAAlC,CAAwC,GAAxC,CATgB;AAU/BknM,IAAAA,WAAW,EAAE,uBAAuBlnM,KAAvB,CAA6B,GAA7B,CAVkB;AAW/B4pM,IAAAA,kBAAkB,EAAE,IAXW;AAY/BnC,IAAAA,cAAc,EAAE;AACZC,MAAAA,EAAE,EAAE,SADQ;AAEZC,MAAAA,GAAG,EAAE,UAFO;AAGZC,MAAAA,CAAC,EAAE,YAHS;AAIZC,MAAAA,EAAE,EAAE,aAJQ;AAKZC,MAAAA,GAAG,EAAE,mBALO;AAMZC,MAAAA,IAAI,EAAE;AANM,KAZe;AAoB/BC,IAAAA,QAAQ,EAAE;AACNC,MAAAA,OAAO,EAAE,cADH;AAENC,MAAAA,OAAO,EAAE,gBAFH;AAGNC,MAAAA,QAAQ,EAAE,6BAHJ;AAINC,MAAAA,OAAO,EAAE,WAJH;AAKNC,MAAAA,QAAQ,EAAE,iCALJ;AAMNC,MAAAA,QAAQ,EAAE;AANJ,KApBqB;AA4B/BC,IAAAA,YAAY,EAAE;AACVC,MAAAA,MAAM,EAAE,YADE;AAEVC,MAAAA,IAAI,EAAE,UAFI;AAGVl9K,MAAAA,CAAC,EAAE,YAHO;AAIVm9K,MAAAA,EAAE,EAAE,YAJM;AAKVj7K,MAAAA,CAAC,EAAE,aALO;AAMVk7K,MAAAA,EAAE,EAAE,WANM;AAOV9wC,MAAAA,CAAC,EAAE,YAPO;AAQV+wC,MAAAA,EAAE,EAAE,UARM;AASV/9K,MAAAA,CAAC,EAAE,WATO;AAUVg+K,MAAAA,EAAE,EAAE,SAVM;AAWVC,MAAAA,CAAC,EAAE,aAXO;AAYVC,MAAAA,EAAE,EAAE,UAZM;AAaV/7K,MAAAA,CAAC,EAAE,aAbO;AAcVg8K,MAAAA,EAAE,EAAE;AAdM,KA5BiB;AA4C/BG,IAAAA,IAAI,EAAE;AACFC,MAAAA,GAAG,EAAE,CADH;AACM;AACRC,MAAAA,GAAG,EAAE,CAFH,CAEM;;AAFN;AA5CyB,GAA1B,CAAT;AAkDA,SAAO+L,EAAP;AAEH,CA7DC,CAAD;;;;;;;;;;ACJD;AACA;AACA;AAEA;;AAAE,WAAUhpD,MAAV,EAAkB98J,OAAlB,EAA2B;AAC1B,UACuCA,OAAO,CAACy2L,mBAAO,CAAC,sBAAD,CAAR,CAD9C,GAEA,CAFA;AAIF,CALC,EAKA,IALA,EAKO,UAAUtwK,MAAV,EAAkB;AAAE,eAAF,CAEvB;;AAEA,MAAIu0L,SAAS,GAAG;AACR,OAAG,GADK;AAER,OAAG,GAFK;AAGR,OAAG,GAHK;AAIR,OAAG,GAJK;AAKR,OAAG,GALK;AAMR,OAAG,GANK;AAOR,OAAG,GAPK;AAQR,OAAG,GARK;AASR,OAAG,GATK;AAUR,OAAG;AAVK,GAAhB;AAAA,MAYII,SAAS,GAAG;AACR,SAAK,GADG;AAER,SAAK,GAFG;AAGR,SAAK,GAHG;AAIR,SAAK,GAJG;AAKR,SAAK,GALG;AAMR,SAAK,GANG;AAOR,SAAK,GAPG;AAQR,SAAK,GARG;AASR,SAAK,GATG;AAUR,SAAK;AAVG,GAZhB;AAyBA,MAAIiL,EAAE,GAAG5/L,MAAM,CAACoxL,YAAP,CAAoB,IAApB,EAA0B;AAC/BC,IAAAA,MAAM,EAAE,0FAA0F9mM,KAA1F,CACJ,GADI,CADuB;AAI/B+mM,IAAAA,WAAW,EACP,0FAA0F/mM,KAA1F,CACI,GADJ,CAL2B;AAQ/BgnM,IAAAA,QAAQ,EACJ,8FAA8FhnM,KAA9F,CACI,GADJ,CAT2B;AAY/BinM,IAAAA,aAAa,EAAE,mDAAmDjnM,KAAnD,CACX,GADW,CAZgB;AAe/BknM,IAAAA,WAAW,EAAE,sBAAsBlnM,KAAtB,CAA4B,GAA5B,CAfkB;AAgB/BynM,IAAAA,cAAc,EAAE;AACZC,MAAAA,EAAE,EAAE,OADQ;AAEZC,MAAAA,GAAG,EAAE,UAFO;AAGZC,MAAAA,CAAC,EAAE,YAHS;AAIZC,MAAAA,EAAE,EAAE,aAJQ;AAKZC,MAAAA,GAAG,EAAE,oBALO;AAMZC,MAAAA,IAAI,EAAE;AANM,KAhBe;AAwB/BC,IAAAA,QAAQ,EAAE;AACNC,MAAAA,OAAO,EAAE,YADH;AAENC,MAAAA,OAAO,EAAE,WAFH;AAGNC,MAAAA,QAAQ,EAAE,UAHJ;AAINC,MAAAA,OAAO,EAAE,aAJH;AAKNC,MAAAA,QAAQ,EAAE,wBALJ;AAMNC,MAAAA,QAAQ,EAAE;AANJ,KAxBqB;AAgC/BC,IAAAA,YAAY,EAAE;AACVC,MAAAA,MAAM,EAAE,QADE;AAEVC,MAAAA,IAAI,EAAE,SAFI;AAGVl9K,MAAAA,CAAC,EAAE,mBAHO;AAIVm9K,MAAAA,EAAE,EAAE,cAJM;AAKVj7K,MAAAA,CAAC,EAAE,aALO;AAMVk7K,MAAAA,EAAE,EAAE,eANM;AAOV9wC,MAAAA,CAAC,EAAE,eAPO;AAQV+wC,MAAAA,EAAE,EAAE,cARM;AASV/9K,MAAAA,CAAC,EAAE,UATO;AAUVg+K,MAAAA,EAAE,EAAE,YAVM;AAWVC,MAAAA,CAAC,EAAE,WAXO;AAYVC,MAAAA,EAAE,EAAE,aAZM;AAaV/7K,MAAAA,CAAC,EAAE,YAbO;AAcVg8K,MAAAA,EAAE,EAAE;AAdM,KAhCiB;AAgD/BC,IAAAA,sBAAsB,EAAE,YAhDO;AAiD/BC,IAAAA,OAAO,EAAE,UAAUtgE,MAAV,EAAkB;AACvB,aAAOA,MAAM,GAAG,KAAhB;AACH,KAnD8B;AAoD/BshE,IAAAA,QAAQ,EAAE,UAAU5K,MAAV,EAAkB;AACxB,aAAOA,MAAM,CAACh/L,OAAP,CAAe,eAAf,EAAgC,UAAU6qE,KAAV,EAAiB;AACpD,eAAOi/H,SAAS,CAACj/H,KAAD,CAAhB;AACH,OAFM,CAAP;AAGH,KAxD8B;AAyD/B2+H,IAAAA,UAAU,EAAE,UAAUxK,MAAV,EAAkB;AAC1B,aAAOA,MAAM,CAACh/L,OAAP,CAAe,KAAf,EAAsB,UAAU6qE,KAAV,EAAiB;AAC1C,eAAO6+H,SAAS,CAAC7+H,KAAD,CAAhB;AACH,OAFM,CAAP;AAGH,KA7D8B;AA8D/B;AACAg8H,IAAAA,aAAa,EAAE,uCA/DgB;AAgE/BE,IAAAA,QAAQ,EAAE,UAAUpvE,IAAV,EAAgB4xE,MAAhB,EAAwBrC,OAAxB,EAAiC;AACvC,UAAIvvE,IAAI,GAAG,CAAX,EAAc;AACV,eAAO,QAAP;AACH,OAFD,MAEO,IAAIA,IAAI,GAAG,CAAX,EAAc;AACjB,eAAO,QAAP,CADiB,CACA;AACpB,OAFM,MAEA,IAAIA,IAAI,GAAG,EAAX,EAAe;AAClB,eAAO,OAAP,CADkB,CACF;AACnB,OAFM,MAEA,IAAIA,IAAI,GAAG,EAAX,EAAe;AAClB,eAAO,UAAP,CADkB,CACC;AACtB,OAFM,MAEA,IAAIA,IAAI,GAAG,EAAX,EAAe;AAClB,eAAO,UAAP,CADkB,CACC;AACtB,OAFM,MAEA,IAAIA,IAAI,GAAG,EAAX,EAAe;AAClB,eAAO,OAAP,CADkB,CACF;AACnB,OAFM,MAEA;AACH,eAAO,QAAP;AACH;AACJ,KAhF8B;AAiF/BuzE,IAAAA,YAAY,EAAE,UAAUvzE,IAAV,EAAgBovE,QAAhB,EAA0B;AACpC,UAAIpvE,IAAI,KAAK,EAAb,EAAiB;AACbA,QAAAA,IAAI,GAAG,CAAP;AACH;;AACD,UAAIovE,QAAQ,KAAK,OAAjB,EAA0B;AACtB,eAAOpvE,IAAI,GAAG,CAAP,GAAWA,IAAX,GAAkBA,IAAI,GAAG,EAAhC;AACH,OAFD,MAEO,IAAIovE,QAAQ,KAAK,OAAb,IAAwBA,QAAQ,KAAK,MAAzC,EAAiD;AACpD,eAAOpvE,IAAP;AACH,OAFM,MAEA,IAAIovE,QAAQ,KAAK,SAAjB,EAA4B;AAC/B,eAAOpvE,IAAI,IAAI,EAAR,GAAaA,IAAb,GAAoBA,IAAI,GAAG,EAAlC;AACH,OAFM,MAEA;AACH,eAAOA,IAAI,GAAG,EAAd;AACH;AACJ,KA9F8B;AA+F/BkxE,IAAAA,IAAI,EAAE;AACFC,MAAAA,GAAG,EAAE,CADH;AACM;AACRC,MAAAA,GAAG,EAAE,CAFH,CAEM;;AAFN;AA/FyB,GAA1B,CAAT;AAqGA,SAAOgM,EAAP;AAEH,CAzIC,CAAD;;;;;;;;;;ACJD;AACA;AACA;AAEA;;AAAE,WAAUjpD,MAAV,EAAkB98J,OAAlB,EAA2B;AAC1B,UACuCA,OAAO,CAACy2L,mBAAO,CAAC,sBAAD,CAAR,CAD9C,GAEA,CAFA;AAIF,CALC,EAKA,IALA,EAKO,UAAUtwK,MAAV,EAAkB;AAAE,eAAF,CAEvB;;AAEA,MAAI6/L,EAAE,GAAG7/L,MAAM,CAACoxL,YAAP,CAAoB,IAApB,EAA0B;AAC/BC,IAAAA,MAAM,EAAE,wFAAwF9mM,KAAxF,CACJ,GADI,CADuB;AAI/B+mM,IAAAA,WAAW,EACP,mEAAmE/mM,KAAnE,CACI,GADJ,CAL2B;AAQ/B4rM,IAAAA,gBAAgB,EAAE,IARa;AAS/B5E,IAAAA,QAAQ,EACJ,8DAA8DhnM,KAA9D,CACI,GADJ,CAV2B;AAa/BinM,IAAAA,aAAa,EAAE,kCAAkCjnM,KAAlC,CAAwC,GAAxC,CAbgB;AAc/BknM,IAAAA,WAAW,EAAE,qBAAqBlnM,KAArB,CAA2B,GAA3B,CAdkB;AAe/BynM,IAAAA,cAAc,EAAE;AACZC,MAAAA,EAAE,EAAE,QADQ;AAEZC,MAAAA,GAAG,EAAE,WAFO;AAGZC,MAAAA,CAAC,EAAE,YAHS;AAIZC,MAAAA,EAAE,EAAE,aAJQ;AAKZC,MAAAA,GAAG,EAAE,qBALO;AAMZC,MAAAA,IAAI,EAAE;AANM,KAfe;AAuB/BC,IAAAA,QAAQ,EAAE;AACNC,MAAAA,OAAO,EAAE,WADH;AAENC,MAAAA,OAAO,EAAE,WAFH;AAGNC,MAAAA,QAAQ,EAAE,UAHJ;AAINC,MAAAA,OAAO,EAAE,YAJH;AAKNC,MAAAA,QAAQ,EAAE,eALJ;AAMNC,MAAAA,QAAQ,EAAE;AANJ,KAvBqB;AA+B/BC,IAAAA,YAAY,EAAE;AACVC,MAAAA,MAAM,EAAE,OADE;AAEVC,MAAAA,IAAI,EAAE,WAFI;AAGVl9K,MAAAA,CAAC,EAAE,gBAHO;AAIVm9K,MAAAA,EAAE,EAAE,YAJM;AAKVj7K,MAAAA,CAAC,EAAE,WALO;AAMVk7K,MAAAA,EAAE,EAAE,aANM;AAOV9wC,MAAAA,CAAC,EAAE,QAPO;AAQV+wC,MAAAA,EAAE,EAAE,UARM;AASV/9K,MAAAA,CAAC,EAAE,SATO;AAUVg+K,MAAAA,EAAE,EAAE,WAVM;AAWVC,MAAAA,CAAC,EAAE,QAXO;AAYVC,MAAAA,EAAE,EAAE,UAZM;AAaV/7K,MAAAA,CAAC,EAAE,aAbO;AAcVg8K,MAAAA,EAAE,EAAE;AAdM,KA/BiB;AA+C/BC,IAAAA,sBAAsB,EAAE,UA/CO;AAgD/BC,IAAAA,OAAO,EAAE,KAhDsB;AAiD/B/B,IAAAA,aAAa,EAAE,gCAjDgB;AAkD/BqE,IAAAA,YAAY,EAAE,UAAUvzE,IAAV,EAAgBovE,QAAhB,EAA0B;AACpC,UAAIpvE,IAAI,KAAK,EAAb,EAAiB;AACbA,QAAAA,IAAI,GAAG,CAAP;AACH;;AACD,UAAIovE,QAAQ,KAAK,QAAjB,EAA2B;AACvB,eAAOpvE,IAAI,GAAG,CAAP,GAAWA,IAAX,GAAkBA,IAAI,GAAG,EAAhC;AACH,OAFD,MAEO,IAAIovE,QAAQ,KAAK,MAAjB,EAAyB;AAC5B,eAAOpvE,IAAP;AACH,OAFM,MAEA,IAAIovE,QAAQ,KAAK,WAAjB,EAA8B;AACjC,eAAOpvE,IAAI,IAAI,EAAR,GAAaA,IAAb,GAAoBA,IAAI,GAAG,EAAlC;AACH,OAFM,MAEA,IAAIovE,QAAQ,KAAK,UAAjB,EAA6B;AAChC,eAAOpvE,IAAI,GAAG,EAAd;AACH;AACJ,KA/D8B;AAgE/BovE,IAAAA,QAAQ,EAAE,UAAUpvE,IAAV,EAAgB4xE,MAAhB,EAAwBrC,OAAxB,EAAiC;AACvC,UAAIvvE,IAAI,GAAG,CAAX,EAAc;AACV,eAAO,QAAP;AACH,OAFD,MAEO,IAAIA,IAAI,GAAG,EAAX,EAAe;AAClB,eAAO,MAAP;AACH,OAFM,MAEA,IAAIA,IAAI,GAAG,EAAX,EAAe;AAClB,eAAO,WAAP;AACH,OAFM,MAEA,IAAIA,IAAI,GAAG,EAAX,EAAe;AAClB,eAAO,UAAP;AACH,OAFM,MAEA;AACH,eAAO,QAAP;AACH;AACJ,KA5E8B;AA6E/BkxE,IAAAA,IAAI,EAAE;AACFC,MAAAA,GAAG,EAAE,CADH;AACM;AACRC,MAAAA,GAAG,EAAE,CAFH,CAEM;;AAFN;AA7EyB,GAA1B,CAAT;AAmFA,SAAOiM,EAAP;AAEH,CA9FC,CAAD;;;;;;;;;;ACJD;AACA;AACA;AACA;AACA;AAEA;;AAAE,WAAUlpD,MAAV,EAAkB98J,OAAlB,EAA2B;AAC1B,UACuCA,OAAO,CAACy2L,mBAAO,CAAC,sBAAD,CAAR,CAD9C,GAEA,CAFA;AAIF,CALC,EAKA,IALA,EAKO,UAAUtwK,MAAV,EAAkB;AAAE,eAAF,CAEvB;;AAEA,MAAI8/L,GAAG,GAAG9/L,MAAM,CAACoxL,YAAP,CAAoB,KAApB,EAA2B;AACjCC,IAAAA,MAAM,EAAE,0FAA0F9mM,KAA1F,CACJ,GADI,CADyB;AAIjC+mM,IAAAA,WAAW,EAAE,kDAAkD/mM,KAAlD,CAAwD,GAAxD,CAJoB;AAKjCgnM,IAAAA,QAAQ,EAAE,kDAAkDhnM,KAAlD,CAAwD,GAAxD,CALuB;AAMjCinM,IAAAA,aAAa,EAAE,iCAAiCjnM,KAAjC,CAAuC,GAAvC,CANkB;AAOjCknM,IAAAA,WAAW,EAAE,yBAAyBlnM,KAAzB,CAA+B,GAA/B,CAPoB;AAQjCynM,IAAAA,cAAc,EAAE;AACZC,MAAAA,EAAE,EAAE,OADQ;AAEZC,MAAAA,GAAG,EAAE,UAFO;AAGZC,MAAAA,CAAC,EAAE,YAHS;AAIZC,MAAAA,EAAE,EAAE,aAJQ;AAKZC,MAAAA,GAAG,EAAE,mBALO;AAMZC,MAAAA,IAAI,EAAE;AANM,KARiB;AAgBjCC,IAAAA,QAAQ,EAAE;AACNC,MAAAA,OAAO,EAAE,eADH;AAENC,MAAAA,OAAO,EAAE,eAFH;AAGNC,MAAAA,QAAQ,EAAE,eAHJ;AAINC,MAAAA,OAAO,EAAE,mBAJH;AAKNC,MAAAA,QAAQ,EAAE,8BALJ;AAMNC,MAAAA,QAAQ,EAAE;AANJ,KAhBuB;AAwBjCC,IAAAA,YAAY,EAAE;AACVC,MAAAA,MAAM,EAAE,QADE;AAEVC,MAAAA,IAAI,EAAE,UAFI;AAGVl9K,MAAAA,CAAC,EAAE,eAHO;AAIVm9K,MAAAA,EAAE,EAAE,YAJM;AAKVj7K,MAAAA,CAAC,EAAE,YALO;AAMVk7K,MAAAA,EAAE,EAAE,WANM;AAOV9wC,MAAAA,CAAC,EAAE,UAPO;AAQV+wC,MAAAA,EAAE,EAAE,SARM;AASV/9K,MAAAA,CAAC,EAAE,WATO;AAUVg+K,MAAAA,EAAE,EAAE,UAVM;AAWVC,MAAAA,CAAC,EAAE,WAXO;AAYVC,MAAAA,EAAE,EAAE,UAZM;AAaV/7K,MAAAA,CAAC,EAAE,WAbO;AAcVg8K,MAAAA,EAAE,EAAE;AAdM,KAxBmB;AAwCjCC,IAAAA,sBAAsB,EAAE,sBAxCS;AAyCjCC,IAAAA,OAAO,EAAE,UAAUtgE,MAAV,EAAkB;AACvB,UAAI99G,CAAC,GAAG89G,MAAM,GAAG,EAAjB;AAAA,UACIpU,MAAM,GACF,CAAC,EAAGoU,MAAM,GAAG,GAAV,GAAiB,EAAnB,CAAD,KAA4B,CAA5B,GACM,IADN,GAEM99G,CAAC,KAAK,CAAN,GACA,IADA,GAEAA,CAAC,KAAK,CAAN,GACA,IADA,GAEAA,CAAC,KAAK,CAAN,GACA,IADA,GAEA,IAVd;AAWA,aAAO89G,MAAM,GAAGpU,MAAhB;AACH,KAtDgC;AAuDjC20E,IAAAA,IAAI,EAAE;AACFC,MAAAA,GAAG,EAAE,CADH;AACM;AACRC,MAAAA,GAAG,EAAE,CAFH,CAEM;;AAFN;AAvD2B,GAA3B,CAAV;AA6DA,SAAOkM,GAAP;AAEH,CAxEC,CAAD;;;;;;;;;;ACND;AACA;AACA;AAEA;;AAAE,WAAUnpD,MAAV,EAAkB98J,OAAlB,EAA2B;AAC1B,UACuCA,OAAO,CAACy2L,mBAAO,CAAC,sBAAD,CAAR,CAD9C,GAEA,CAFA;AAIF,CALC,EAKA,IALA,EAKO,UAAUtwK,MAAV,EAAkB;AAAE,eAAF,CAEvB;;AAEA,MAAI80L,QAAQ,GAAG;AACX,OAAG,KADQ;AAEX,OAAG,KAFQ;AAGX,OAAG,KAHQ;AAIX,OAAG,KAJQ;AAKX,OAAG,KALQ;AAMX,OAAG,KANQ;AAOX,OAAG,KAPQ;AAQX,OAAG,KARQ;AASX,OAAG,KATQ;AAUX,OAAG,KAVQ;AAWX,QAAI,KAXO;AAYX,QAAI,KAZO;AAaX,QAAI,KAbO;AAcX,QAAI,KAdO;AAeX,QAAI,KAfO;AAgBX,QAAI,KAhBO;AAiBX,QAAI,KAjBO;AAkBX,QAAI,KAlBO;AAmBX,QAAI,KAnBO;AAoBX,QAAI,KApBO;AAqBX,QAAI,KArBO;AAsBX,SAAK;AAtBM,GAAf;AAyBA,MAAIpmF,EAAE,GAAG1uG,MAAM,CAACoxL,YAAP,CAAoB,IAApB,EAA0B;AAC/BC,IAAAA,MAAM,EAAE;AACJhxL,MAAAA,MAAM,EAAE,qFAAqF9V,KAArF,CACJ,GADI,CADJ;AAIJ8qM,MAAAA,UAAU,EACN,yEAAyE9qM,KAAzE,CACI,GADJ;AALA,KADuB;AAU/B+mM,IAAAA,WAAW,EAAE,kDAAkD/mM,KAAlD,CAAwD,GAAxD,CAVkB;AAW/BgnM,IAAAA,QAAQ,EAAE,yDAAyDhnM,KAAzD,CACN,GADM,CAXqB;AAc/BinM,IAAAA,aAAa,EAAE,8BAA8BjnM,KAA9B,CAAoC,GAApC,CAdgB;AAe/BknM,IAAAA,WAAW,EAAE,uBAAuBlnM,KAAvB,CAA6B,GAA7B,CAfkB;AAgB/BynM,IAAAA,cAAc,EAAE;AACZC,MAAAA,EAAE,EAAE,OADQ;AAEZC,MAAAA,GAAG,EAAE,UAFO;AAGZC,MAAAA,CAAC,EAAE,YAHS;AAIZC,MAAAA,EAAE,EAAE,aAJQ;AAKZC,MAAAA,GAAG,EAAE,mBALO;AAMZC,MAAAA,IAAI,EAAE;AANM,KAhBe;AAwB/BC,IAAAA,QAAQ,EAAE;AACNC,MAAAA,OAAO,EAAE,kBADH;AAENC,MAAAA,OAAO,EAAE,kBAFH;AAGNE,MAAAA,OAAO,EAAE,kBAHH;AAIND,MAAAA,QAAQ,EAAE,iCAJJ;AAKNE,MAAAA,QAAQ,EAAE,mCALJ;AAMNC,MAAAA,QAAQ,EAAE;AANJ,KAxBqB;AAgC/BC,IAAAA,YAAY,EAAE;AACVC,MAAAA,MAAM,EAAE,UADE;AAEVC,MAAAA,IAAI,EAAE,QAFI;AAGVl9K,MAAAA,CAAC,EAAE,cAHO;AAIVkC,MAAAA,CAAC,EAAE,WAJO;AAKVk7K,MAAAA,EAAE,EAAE,WALM;AAMV9wC,MAAAA,CAAC,EAAE,SANO;AAOV+wC,MAAAA,EAAE,EAAE,SAPM;AAQV/9K,MAAAA,CAAC,EAAE,QARO;AASVg+K,MAAAA,EAAE,EAAE,QATM;AAUVC,MAAAA,CAAC,EAAE,QAVO;AAWVC,MAAAA,EAAE,EAAE,QAXM;AAYV/7K,MAAAA,CAAC,EAAE,QAZO;AAaVg8K,MAAAA,EAAE,EAAE;AAbM,KAhCiB;AA+C/B7B,IAAAA,aAAa,EAAE,oBA/CgB;AAgD/BqE,IAAAA,YAAY,EAAE,UAAUvzE,IAAV,EAAgBovE,QAAhB,EAA0B;AACpC,UAAIpvE,IAAI,KAAK,EAAb,EAAiB;AACbA,QAAAA,IAAI,GAAG,CAAP;AACH;;AACD,UAAIovE,QAAQ,KAAK,KAAjB,EAAwB;AACpB,eAAOpvE,IAAI,GAAG,CAAP,GAAWA,IAAX,GAAkBA,IAAI,GAAG,EAAhC;AACH,OAFD,MAEO,IAAIovE,QAAQ,KAAK,MAAjB,EAAyB;AAC5B,eAAOpvE,IAAP;AACH,OAFM,MAEA,IAAIovE,QAAQ,KAAK,KAAjB,EAAwB;AAC3B,eAAOpvE,IAAI,IAAI,EAAR,GAAaA,IAAb,GAAoBA,IAAI,GAAG,EAAlC;AACH,OAFM,MAEA,IAAIovE,QAAQ,KAAK,OAAjB,EAA0B;AAC7B,eAAOpvE,IAAI,GAAG,EAAd;AACH;AACJ,KA7D8B;AA8D/BovE,IAAAA,QAAQ,EAAE,UAAUpvE,IAAV,EAAgB4xE,MAAhB,EAAwBrC,OAAxB,EAAiC;AACvC,UAAIvvE,IAAI,GAAG,CAAX,EAAc;AACV,eAAO,KAAP;AACH,OAFD,MAEO,IAAIA,IAAI,GAAG,EAAX,EAAe;AAClB,eAAO,MAAP;AACH,OAFM,MAEA,IAAIA,IAAI,GAAG,EAAX,EAAe;AAClB,eAAO,KAAP;AACH,OAFM,MAEA,IAAIA,IAAI,GAAG,EAAX,EAAe;AAClB,eAAO,OAAP;AACH,OAFM,MAEA;AACH,eAAO,KAAP;AACH;AACJ,KA1E8B;AA2E/BgxE,IAAAA,sBAAsB,EAAE,iBA3EO;AA4E/BC,IAAAA,OAAO,EAAE,UAAUtgE,MAAV,EAAkB;AACvB,UAAIvlE,CAAC,GAAGulE,MAAM,GAAG,EAAjB;AAAA,UACI99G,CAAC,GAAG89G,MAAM,IAAI,GAAV,GAAgB,GAAhB,GAAsB,IAD9B;AAEA,aAAOA,MAAM,IAAI2hE,QAAQ,CAAC3hE,MAAD,CAAR,IAAoB2hE,QAAQ,CAAClnI,CAAD,CAA5B,IAAmCknI,QAAQ,CAACz/K,CAAD,CAA/C,CAAb;AACH,KAhF8B;AAiF/Bq+K,IAAAA,IAAI,EAAE;AACFC,MAAAA,GAAG,EAAE,CADH;AACM;AACRC,MAAAA,GAAG,EAAE,CAFH,CAEM;;AAFN;AAjFyB,GAA1B,CAAT;AAuFA,SAAOllF,EAAP;AAEH,CA3HC,CAAD;;;;;;;;;;ACJD;AACA;AACA;AAEA;;AAAE,WAAUioC,MAAV,EAAkB98J,OAAlB,EAA2B;AAC1B,UACuCA,OAAO,CAACy2L,mBAAO,CAAC,sBAAD,CAAR,CAD9C,GAEA,CAFA;AAIF,CALC,EAKA,IALA,EAKO,UAAUtwK,MAAV,EAAkB;AAAE,eAAF,CAEvB;;AAEA,MAAI+/L,EAAE,GAAG//L,MAAM,CAACoxL,YAAP,CAAoB,IAApB,EAA0B;AAC/BC,IAAAA,MAAM,EAAE,oGAAoG9mM,KAApG,CACJ,GADI,CADuB;AAI/B+mM,IAAAA,WAAW,EACP,iEAAiE/mM,KAAjE,CACI,GADJ,CAL2B;AAQ/B4rM,IAAAA,gBAAgB,EAAE,IARa;AAS/B5E,IAAAA,QAAQ,EAAE,iDAAiDhnM,KAAjD,CAAuD,GAAvD,CATqB;AAU/BinM,IAAAA,aAAa,EAAE,8CAA8CjnM,KAA9C,CAAoD,GAApD,CAVgB;AAU0C;AACzEknM,IAAAA,WAAW,EAAE,yBAAyBlnM,KAAzB,CAA+B,GAA/B,CAXkB;AAY/B4pM,IAAAA,kBAAkB,EAAE,IAZW;AAa/BnC,IAAAA,cAAc,EAAE;AACZC,MAAAA,EAAE,EAAE,MADQ;AAEZC,MAAAA,GAAG,EAAE,SAFO;AAGZC,MAAAA,CAAC,EAAE,YAHS;AAIZC,MAAAA,EAAE,EAAE,aAJQ;AAKZC,MAAAA,GAAG,EAAE,uBALO;AAMZC,MAAAA,IAAI,EAAE;AANM,KAbe;AAqB/BZ,IAAAA,aAAa,EAAE,uBArBgB;AAsB/BC,IAAAA,IAAI,EAAE,UAAU5tJ,KAAV,EAAiB;AACnB,aAAOA,KAAK,KAAK,YAAjB;AACH,KAxB8B;AAyB/B6tJ,IAAAA,QAAQ,EAAE,UAAUpvE,IAAV,EAAgB4xE,MAAhB,EAAwBrC,OAAxB,EAAiC;AACvC,UAAIvvE,IAAI,GAAG,EAAX,EAAe;AACX,eAAO,YAAP;AACH,OAFD,MAEO;AACH,eAAO,YAAP;AACH;AACJ,KA/B8B;AAgC/B+vE,IAAAA,QAAQ,EAAE;AACNC,MAAAA,OAAO,EAAE,kBADH;AAENC,MAAAA,OAAO,EAAE,oBAFH;AAGNC,MAAAA,QAAQ,EAAE,oBAHJ;AAINC,MAAAA,OAAO,EAAE,uBAJH;AAKNC,MAAAA,QAAQ,EAAE,4BALJ;AAMNC,MAAAA,QAAQ,EAAE;AANJ,KAhCqB;AAwC/BC,IAAAA,YAAY,EAAE;AACVC,MAAAA,MAAM,EAAE,QADE;AAEVC,MAAAA,IAAI,EAAE,WAFI;AAGVl9K,MAAAA,CAAC,EAAE,cAHO;AAIVm9K,MAAAA,EAAE,EAAE,WAJM;AAKVj7K,MAAAA,CAAC,EAAE,QALO;AAMVk7K,MAAAA,EAAE,EAAE,SANM;AAOV9wC,MAAAA,CAAC,EAAE,WAPO;AAQV+wC,MAAAA,EAAE,EAAE,YARM;AASV/9K,MAAAA,CAAC,EAAE,OATO;AAUVg+K,MAAAA,EAAE,EAAE,QAVM;AAWVx5C,MAAAA,CAAC,EAAE,WAXO;AAYV87C,MAAAA,EAAE,EAAE,YAZM;AAaVrC,MAAAA,CAAC,EAAE,SAbO;AAcVC,MAAAA,EAAE,EAAE,UAdM;AAeV/7K,MAAAA,CAAC,EAAE,MAfO;AAgBVg8K,MAAAA,EAAE,EAAE;AAhBM;AAxCiB,GAA1B,CAAT;AA4DA,SAAOwM,EAAP;AAEH,CAvEC,CAAD;;;;;;;;;;ACJD;AACA;AACA;AAEA;;AAAE,WAAUppD,MAAV,EAAkB98J,OAAlB,EAA2B;AAC1B,UACuCA,OAAO,CAACy2L,mBAAO,CAAC,sBAAD,CAAR,CAD9C,GAEA,CAFA;AAIF,CALC,EAKA,IALA,EAKO,UAAUtwK,MAAV,EAAkB;AAAE,eAAF,CAEvB;;AAEA,MAAI80L,QAAQ,GAAG;AACX,OAAG,OADQ;AAEX,OAAG,OAFQ;AAGX,OAAG,OAHQ;AAIX,QAAI,OAJO;AAKX,QAAI,OALO;AAMX,OAAG,MANQ;AAOX,OAAG,MAPQ;AAQX,QAAI,MARO;AASX,QAAI,MATO;AAUX,OAAG,OAVQ;AAWX,OAAG,OAXQ;AAYX,SAAK,OAZM;AAaX,OAAG,MAbQ;AAcX,OAAG,OAdQ;AAeX,QAAI,OAfO;AAgBX,QAAI,OAhBO;AAiBX,QAAI,OAjBO;AAkBX,QAAI;AAlBO,GAAf;AAqBA,MAAIkL,EAAE,GAAGhgM,MAAM,CAACoxL,YAAP,CAAoB,IAApB,EAA0B;AAC/BC,IAAAA,MAAM,EAAE,+EAA+E9mM,KAA/E,CACJ,GADI,CADuB;AAI/B+mM,IAAAA,WAAW,EAAE,kDAAkD/mM,KAAlD,CAAwD,GAAxD,CAJkB;AAK/BgnM,IAAAA,QAAQ,EAAE,wDAAwDhnM,KAAxD,CACN,GADM,CALqB;AAQ/BinM,IAAAA,aAAa,EAAE,8BAA8BjnM,KAA9B,CAAoC,GAApC,CARgB;AAS/BknM,IAAAA,WAAW,EAAE,uBAAuBlnM,KAAvB,CAA6B,GAA7B,CATkB;AAU/BynM,IAAAA,cAAc,EAAE;AACZC,MAAAA,EAAE,EAAE,OADQ;AAEZC,MAAAA,GAAG,EAAE,UAFO;AAGZC,MAAAA,CAAC,EAAE,YAHS;AAIZC,MAAAA,EAAE,EAAE,aAJQ;AAKZC,MAAAA,GAAG,EAAE,mBALO;AAMZC,MAAAA,IAAI,EAAE;AANM,KAVe;AAkB/BC,IAAAA,QAAQ,EAAE;AACNC,MAAAA,OAAO,EAAE,kBADH;AAENC,MAAAA,OAAO,EAAE,kBAFH;AAGNC,MAAAA,QAAQ,EAAE,0BAHJ;AAINC,MAAAA,OAAO,EAAE,WAJH;AAKNC,MAAAA,QAAQ,EAAE,yBALJ;AAMNC,MAAAA,QAAQ,EAAE;AANJ,KAlBqB;AA0B/BC,IAAAA,YAAY,EAAE;AACVC,MAAAA,MAAM,EAAE,QADE;AAEVC,MAAAA,IAAI,EAAE,OAFI;AAGVl9K,MAAAA,CAAC,EAAE,gBAHO;AAIVkC,MAAAA,CAAC,EAAE,WAJO;AAKVk7K,MAAAA,EAAE,EAAE,UALM;AAMV9wC,MAAAA,CAAC,EAAE,WANO;AAOV+wC,MAAAA,EAAE,EAAE,UAPM;AAQV/9K,MAAAA,CAAC,EAAE,SARO;AASVg+K,MAAAA,EAAE,EAAE,QATM;AAUVC,MAAAA,CAAC,EAAE,QAVO;AAWVC,MAAAA,EAAE,EAAE,OAXM;AAYV/7K,MAAAA,CAAC,EAAE,SAZO;AAaVg8K,MAAAA,EAAE,EAAE;AAbM,KA1BiB;AAyC/BE,IAAAA,OAAO,EAAE,UAAUtgE,MAAV,EAAkBqiE,MAAlB,EAA0B;AAC/B,cAAQA,MAAR;AACI,aAAK,GAAL;AACA,aAAK,GAAL;AACA,aAAK,IAAL;AACA,aAAK,IAAL;AACI,iBAAOriE,MAAP;;AACJ;AACI,cAAIA,MAAM,KAAK,CAAf,EAAkB;AACd;AACA,mBAAOA,MAAM,GAAG,OAAhB;AACH;;AACD,cAAIvlE,CAAC,GAAGulE,MAAM,GAAG,EAAjB;AAAA,cACI99G,CAAC,GAAI89G,MAAM,GAAG,GAAV,GAAiBvlE,CADzB;AAAA,cAEIu7F,CAAC,GAAGh2B,MAAM,IAAI,GAAV,GAAgB,GAAhB,GAAsB,IAF9B;AAGA,iBAAOA,MAAM,IAAI2hE,QAAQ,CAAClnI,CAAD,CAAR,IAAeknI,QAAQ,CAACz/K,CAAD,CAAvB,IAA8By/K,QAAQ,CAAC3rC,CAAD,CAA1C,CAAb;AAdR;AAgBH,KA1D8B;AA2D/BuqC,IAAAA,IAAI,EAAE;AACFC,MAAAA,GAAG,EAAE,CADH;AACM;AACRC,MAAAA,GAAG,EAAE,CAFH,CAEM;;AAFN;AA3DyB,GAA1B,CAAT;AAiEA,SAAOoM,EAAP;AAEH,CAjGC,CAAD;;;;;;;;;;ACJD;AACA;AACA;AAEA;;AAAE,WAAUrpD,MAAV,EAAkB98J,OAAlB,EAA2B;AAC1B,UACuCA,OAAO,CAACy2L,mBAAO,CAAC,sBAAD,CAAR,CAD9C,GAEA,CAFA;AAIF,CALC,EAKA,IALA,EAKO,UAAUtwK,MAAV,EAAkB;AAAE,eAAF,CAEvB;;AAEA,MAAIigM,IAAI,GAAGjgM,MAAM,CAACoxL,YAAP,CAAoB,OAApB,EAA6B;AACpCC,IAAAA,MAAM,EAAE,0FAA0F9mM,KAA1F,CACJ,GADI,CAD4B;AAIpC+mM,IAAAA,WAAW,EAAE,kDAAkD/mM,KAAlD,CAAwD,GAAxD,CAJuB;AAKpCgnM,IAAAA,QAAQ,EAAE,yDAAyDhnM,KAAzD,CACN,GADM,CAL0B;AAQpCinM,IAAAA,aAAa,EAAE,8BAA8BjnM,KAA9B,CAAoC,GAApC,CARqB;AASpCknM,IAAAA,WAAW,EAAE,wBAAwBlnM,KAAxB,CAA8B,GAA9B,CATuB;AAUpCynM,IAAAA,cAAc,EAAE;AACZC,MAAAA,EAAE,EAAE,OADQ;AAEZC,MAAAA,GAAG,EAAE,UAFO;AAGZC,MAAAA,CAAC,EAAE,WAHS;AAIZC,MAAAA,EAAE,EAAE,cAJQ;AAKZC,MAAAA,GAAG,EAAE,oBALO;AAMZC,MAAAA,IAAI,EAAE;AANM,KAVoB;AAkBpCC,IAAAA,QAAQ,EAAE;AACNC,MAAAA,OAAO,EAAE,mBADH;AAENC,MAAAA,OAAO,EAAE,eAFH;AAGNC,MAAAA,QAAQ,EAAE,yBAHJ;AAINC,MAAAA,OAAO,EAAE,cAJH;AAKNC,MAAAA,QAAQ,EAAE,2BALJ;AAMNC,MAAAA,QAAQ,EAAE;AANJ,KAlB0B;AA0BpCC,IAAAA,YAAY,EAAE;AACVC,MAAAA,MAAM,EAAE,eADE;AAEVC,MAAAA,IAAI,EAAE,kBAFI;AAGVl9K,MAAAA,CAAC,EAAE,eAHO;AAIVm9K,MAAAA,EAAE,EAAE,YAJM;AAKVj7K,MAAAA,CAAC,EAAE,cALO;AAMVk7K,MAAAA,EAAE,EAAE,WANM;AAOV9wC,MAAAA,CAAC,EAAE,YAPO;AAQV+wC,MAAAA,EAAE,EAAE,SARM;AASV/9K,MAAAA,CAAC,EAAE,YATO;AAUVg+K,MAAAA,EAAE,EAAE,SAVM;AAWVC,MAAAA,CAAC,EAAE,aAXO;AAYVC,MAAAA,EAAE,EAAE,UAZM;AAaV/7K,MAAAA,CAAC,EAAE,YAbO;AAcVg8K,MAAAA,EAAE,EAAE;AAdM,KA1BsB;AA0CpCC,IAAAA,sBAAsB,EAAE,SA1CY;AA2CpCC,IAAAA,OAAO,EAAE,UAAUtgE,MAAV,EAAkB;AACvB,aAAOA,MAAP;AACH,KA7CmC;AA8CpCugE,IAAAA,IAAI,EAAE;AACFC,MAAAA,GAAG,EAAE,CADH;AACM;AACRC,MAAAA,GAAG,EAAE,CAFH,CAEM;;AAFN;AA9C8B,GAA7B,CAAX;AAoDA,SAAOqM,IAAP;AAEH,CA/DC,CAAD;;;;;;;;;;ACJD;AACA;AACA;AAEA;;AAAE,WAAUtpD,MAAV,EAAkB98J,OAAlB,EAA2B;AAC1B,UACuCA,OAAO,CAACy2L,mBAAO,CAAC,sBAAD,CAAR,CAD9C,GAEA,CAFA;AAIF,CALC,EAKA,IALA,EAKO,UAAUtwK,MAAV,EAAkB;AAAE,eAAF,CAEvB;;AAEA,MAAIkgM,YAAY,GAAG,iDAAiD31M,KAAjD,CAAuD,GAAvD,CAAnB;;AAEA,WAAS41M,eAAT,CAAyBphF,MAAzB,EAAiC;AAC7B,QAAIrnC,IAAI,GAAGqnC,MAAX;AACArnC,IAAAA,IAAI,GACAqnC,MAAM,CAACn7H,OAAP,CAAe,KAAf,MAA0B,CAAC,CAA3B,GACM8zF,IAAI,CAACwM,KAAL,CAAW,CAAX,EAAc,CAAC,CAAf,IAAoB,KAD1B,GAEM66B,MAAM,CAACn7H,OAAP,CAAe,KAAf,MAA0B,CAAC,CAA3B,GACA8zF,IAAI,CAACwM,KAAL,CAAW,CAAX,EAAc,CAAC,CAAf,IAAoB,KADpB,GAEA66B,MAAM,CAACn7H,OAAP,CAAe,KAAf,MAA0B,CAAC,CAA3B,GACA8zF,IAAI,CAACwM,KAAL,CAAW,CAAX,EAAc,CAAC,CAAf,IAAoB,KADpB,GAEAxM,IAAI,GAAG,MAPjB;AAQA,WAAOA,IAAP;AACH;;AAED,WAAS0oH,aAAT,CAAuBrhF,MAAvB,EAA+B;AAC3B,QAAIrnC,IAAI,GAAGqnC,MAAX;AACArnC,IAAAA,IAAI,GACAqnC,MAAM,CAACn7H,OAAP,CAAe,KAAf,MAA0B,CAAC,CAA3B,GACM8zF,IAAI,CAACwM,KAAL,CAAW,CAAX,EAAc,CAAC,CAAf,IAAoB,KAD1B,GAEM66B,MAAM,CAACn7H,OAAP,CAAe,KAAf,MAA0B,CAAC,CAA3B,GACA8zF,IAAI,CAACwM,KAAL,CAAW,CAAX,EAAc,CAAC,CAAf,IAAoB,KADpB,GAEA66B,MAAM,CAACn7H,OAAP,CAAe,KAAf,MAA0B,CAAC,CAA3B,GACA8zF,IAAI,CAACwM,KAAL,CAAW,CAAX,EAAc,CAAC,CAAf,IAAoB,KADpB,GAEAxM,IAAI,GAAG,MAPjB;AAQA,WAAOA,IAAP;AACH;;AAED,WAASvsG,SAAT,CAAmBgoJ,MAAnB,EAA2B6gE,aAA3B,EAA0CnK,MAA1C,EAAkDoK,QAAlD,EAA4D;AACxD,QAAIoM,UAAU,GAAGC,YAAY,CAACntE,MAAD,CAA7B;;AACA,YAAQ02D,MAAR;AACI,WAAK,IAAL;AACI,eAAOwW,UAAU,GAAG,MAApB;;AACJ,WAAK,IAAL;AACI,eAAOA,UAAU,GAAG,MAApB;;AACJ,WAAK,IAAL;AACI,eAAOA,UAAU,GAAG,MAApB;;AACJ,WAAK,IAAL;AACI,eAAOA,UAAU,GAAG,MAApB;;AACJ,WAAK,IAAL;AACI,eAAOA,UAAU,GAAG,MAApB;;AACJ,WAAK,IAAL;AACI,eAAOA,UAAU,GAAG,MAApB;AAZR;AAcH;;AAED,WAASC,YAAT,CAAsBntE,MAAtB,EAA8B;AAC1B,QAAIotE,OAAO,GAAG74J,IAAI,CAACkwC,KAAL,CAAYu7C,MAAM,GAAG,IAAV,GAAkB,GAA7B,CAAd;AAAA,QACIqtE,GAAG,GAAG94J,IAAI,CAACkwC,KAAL,CAAYu7C,MAAM,GAAG,GAAV,GAAiB,EAA5B,CADV;AAAA,QAEIstE,GAAG,GAAGttE,MAAM,GAAG,EAFnB;AAAA,QAGI8hE,IAAI,GAAG,EAHX;;AAIA,QAAIsL,OAAO,GAAG,CAAd,EAAiB;AACbtL,MAAAA,IAAI,IAAIiL,YAAY,CAACK,OAAD,CAAZ,GAAwB,OAAhC;AACH;;AACD,QAAIC,GAAG,GAAG,CAAV,EAAa;AACTvL,MAAAA,IAAI,IAAI,CAACA,IAAI,KAAK,EAAT,GAAc,GAAd,GAAoB,EAArB,IAA2BiL,YAAY,CAACM,GAAD,CAAvC,GAA+C,KAAvD;AACH;;AACD,QAAIC,GAAG,GAAG,CAAV,EAAa;AACTxL,MAAAA,IAAI,IAAI,CAACA,IAAI,KAAK,EAAT,GAAc,GAAd,GAAoB,EAArB,IAA2BiL,YAAY,CAACO,GAAD,CAA/C;AACH;;AACD,WAAOxL,IAAI,KAAK,EAAT,GAAc,MAAd,GAAuBA,IAA9B;AACH;;AAED,MAAIyL,GAAG,GAAG1gM,MAAM,CAACoxL,YAAP,CAAoB,KAApB,EAA2B;AACjCC,IAAAA,MAAM,EAAE,kMAAkM9mM,KAAlM,CACJ,GADI,CADyB;AAIjC+mM,IAAAA,WAAW,EACP,0HAA0H/mM,KAA1H,CACI,GADJ,CAL6B;AAQjC4rM,IAAAA,gBAAgB,EAAE,IARe;AASjC5E,IAAAA,QAAQ,EAAE,2DAA2DhnM,KAA3D,CACN,GADM,CATuB;AAYjCinM,IAAAA,aAAa,EACT,2DAA2DjnM,KAA3D,CAAiE,GAAjE,CAb6B;AAcjCknM,IAAAA,WAAW,EACP,2DAA2DlnM,KAA3D,CAAiE,GAAjE,CAf6B;AAgBjCynM,IAAAA,cAAc,EAAE;AACZC,MAAAA,EAAE,EAAE,OADQ;AAEZC,MAAAA,GAAG,EAAE,UAFO;AAGZC,MAAAA,CAAC,EAAE,YAHS;AAIZC,MAAAA,EAAE,EAAE,aAJQ;AAKZC,MAAAA,GAAG,EAAE,mBALO;AAMZC,MAAAA,IAAI,EAAE;AANM,KAhBiB;AAwBjCC,IAAAA,QAAQ,EAAE;AACNC,MAAAA,OAAO,EAAE,aADH;AAENC,MAAAA,OAAO,EAAE,aAFH;AAGNC,MAAAA,QAAQ,EAAE,KAHJ;AAINC,MAAAA,OAAO,EAAE,aAJH;AAKNC,MAAAA,QAAQ,EAAE,KALJ;AAMNC,MAAAA,QAAQ,EAAE;AANJ,KAxBuB;AAgCjCC,IAAAA,YAAY,EAAE;AACVC,MAAAA,MAAM,EAAEoN,eADE;AAEVnN,MAAAA,IAAI,EAAEoN,aAFI;AAGVtqL,MAAAA,CAAC,EAAE,SAHO;AAIVm9K,MAAAA,EAAE,EAAE9nN,SAJM;AAKV6sC,MAAAA,CAAC,EAAE,SALO;AAMVk7K,MAAAA,EAAE,EAAE/nN,SANM;AAOVi3K,MAAAA,CAAC,EAAE,SAPO;AAQV+wC,MAAAA,EAAE,EAAEhoN,SARM;AASViqC,MAAAA,CAAC,EAAE,SATO;AAUVg+K,MAAAA,EAAE,EAAEjoN,SAVM;AAWVkoN,MAAAA,CAAC,EAAE,SAXO;AAYVC,MAAAA,EAAE,EAAEnoN,SAZM;AAaVosC,MAAAA,CAAC,EAAE,SAbO;AAcVg8K,MAAAA,EAAE,EAAEpoN;AAdM,KAhCmB;AAgDjCqoN,IAAAA,sBAAsB,EAAE,WAhDS;AAiDjCC,IAAAA,OAAO,EAAE,KAjDwB;AAkDjCC,IAAAA,IAAI,EAAE;AACFC,MAAAA,GAAG,EAAE,CADH;AACM;AACRC,MAAAA,GAAG,EAAE,CAFH,CAEM;;AAFN;AAlD2B,GAA3B,CAAV;AAwDA,SAAO8M,GAAP;AAEH,CAlIC,CAAD;;;;;;;;;;ACJD;AACA;AACA;AACA;AAEA;;AAAE,WAAU/pD,MAAV,EAAkB98J,OAAlB,EAA2B;AAC1B,UACuCA,OAAO,CAACy2L,mBAAO,CAAC,sBAAD,CAAR,CAD9C,GAEA,CAFA;AAIF,CALC,EAKA,IALA,EAKO,UAAUtwK,MAAV,EAAkB;AAAE,eAAF,CAEvB;;AAEA,MAAI80L,QAAQ,GAAG;AACX,OAAG,OADQ;AAEX,OAAG,OAFQ;AAGX,OAAG,OAHQ;AAIX,QAAI,OAJO;AAKX,QAAI,OALO;AAMX,OAAG,MANQ;AAOX,OAAG,MAPQ;AAQX,QAAI,MARO;AASX,QAAI,MATO;AAUX,OAAG,OAVQ;AAWX,OAAG,OAXQ;AAYX,SAAK,OAZM;AAaX,OAAG,MAbQ;AAcX,OAAG,OAdQ;AAeX,QAAI,OAfO;AAgBX,QAAI,OAhBO;AAiBX,QAAI,OAjBO;AAkBX,QAAI;AAlBO,GAAf;AAqBA,MAAI6L,EAAE,GAAG3gM,MAAM,CAACoxL,YAAP,CAAoB,IAApB,EAA0B;AAC/BC,IAAAA,MAAM,EAAE,6EAA6E9mM,KAA7E,CACJ,GADI,CADuB;AAI/B+mM,IAAAA,WAAW,EAAE,kDAAkD/mM,KAAlD,CAAwD,GAAxD,CAJkB;AAK/BgnM,IAAAA,QAAQ,EAAE,wDAAwDhnM,KAAxD,CACN,GADM,CALqB;AAQ/BinM,IAAAA,aAAa,EAAE,8BAA8BjnM,KAA9B,CAAoC,GAApC,CARgB;AAS/BknM,IAAAA,WAAW,EAAE,uBAAuBlnM,KAAvB,CAA6B,GAA7B,CATkB;AAU/BqnM,IAAAA,QAAQ,EAAE,UAAUC,KAAV,EAAiBC,OAAjB,EAA0BC,OAA1B,EAAmC;AACzC,UAAIF,KAAK,GAAG,EAAZ,EAAgB;AACZ,eAAOE,OAAO,GAAG,IAAH,GAAU,IAAxB;AACH,OAFD,MAEO;AACH,eAAOA,OAAO,GAAG,IAAH,GAAU,IAAxB;AACH;AACJ,KAhB8B;AAiB/BL,IAAAA,aAAa,EAAE,aAjBgB;AAkB/BC,IAAAA,IAAI,EAAE,UAAU5tJ,KAAV,EAAiB;AACnB,aAAOA,KAAK,KAAK,IAAV,IAAkBA,KAAK,KAAK,IAAnC;AACH,KApB8B;AAqB/BiuJ,IAAAA,cAAc,EAAE;AACZC,MAAAA,EAAE,EAAE,OADQ;AAEZC,MAAAA,GAAG,EAAE,UAFO;AAGZC,MAAAA,CAAC,EAAE,YAHS;AAIZC,MAAAA,EAAE,EAAE,aAJQ;AAKZC,MAAAA,GAAG,EAAE,mBALO;AAMZC,MAAAA,IAAI,EAAE;AANM,KArBe;AA6B/BC,IAAAA,QAAQ,EAAE;AACNC,MAAAA,OAAO,EAAE,iBADH;AAENC,MAAAA,OAAO,EAAE,iBAFH;AAGNC,MAAAA,QAAQ,EAAE,0BAHJ;AAINC,MAAAA,OAAO,EAAE,UAJH;AAKNC,MAAAA,QAAQ,EAAE,wBALJ;AAMNC,MAAAA,QAAQ,EAAE;AANJ,KA7BqB;AAqC/BC,IAAAA,YAAY,EAAE;AACVC,MAAAA,MAAM,EAAE,UADE;AAEVC,MAAAA,IAAI,EAAE,SAFI;AAGVl9K,MAAAA,CAAC,EAAE,eAHO;AAIVm9K,MAAAA,EAAE,EAAE,WAJM;AAKVj7K,MAAAA,CAAC,EAAE,YALO;AAMVk7K,MAAAA,EAAE,EAAE,WANM;AAOV9wC,MAAAA,CAAC,EAAE,UAPO;AAQV+wC,MAAAA,EAAE,EAAE,SARM;AASV/9K,MAAAA,CAAC,EAAE,SATO;AAUVg+K,MAAAA,EAAE,EAAE,QAVM;AAWVx5C,MAAAA,CAAC,EAAE,WAXO;AAYV87C,MAAAA,EAAE,EAAE,UAZM;AAaVrC,MAAAA,CAAC,EAAE,QAbO;AAcVC,MAAAA,EAAE,EAAE,OAdM;AAeV/7K,MAAAA,CAAC,EAAE,SAfO;AAgBVg8K,MAAAA,EAAE,EAAE;AAhBM,KArCiB;AAuD/BE,IAAAA,OAAO,EAAE,UAAUtgE,MAAV,EAAkBqiE,MAAlB,EAA0B;AAC/B,cAAQA,MAAR;AACI,aAAK,GAAL;AACA,aAAK,GAAL;AACA,aAAK,IAAL;AACA,aAAK,IAAL;AACI,iBAAOriE,MAAP;;AACJ;AACI,cAAIA,MAAM,KAAK,CAAf,EAAkB;AACd;AACA,mBAAOA,MAAM,GAAG,OAAhB;AACH;;AACD,cAAIvlE,CAAC,GAAGulE,MAAM,GAAG,EAAjB;AAAA,cACI99G,CAAC,GAAI89G,MAAM,GAAG,GAAV,GAAiBvlE,CADzB;AAAA,cAEIu7F,CAAC,GAAGh2B,MAAM,IAAI,GAAV,GAAgB,GAAhB,GAAsB,IAF9B;AAGA,iBAAOA,MAAM,IAAI2hE,QAAQ,CAAClnI,CAAD,CAAR,IAAeknI,QAAQ,CAACz/K,CAAD,CAAvB,IAA8By/K,QAAQ,CAAC3rC,CAAD,CAA1C,CAAb;AAdR;AAgBH,KAxE8B;AAyE/BuqC,IAAAA,IAAI,EAAE;AACFC,MAAAA,GAAG,EAAE,CADH;AACM;AACRC,MAAAA,GAAG,EAAE,CAFH,CAEM;;AAFN;AAzEyB,GAA1B,CAAT;AA+EA,SAAO+M,EAAP;AAEH,CA/GC,CAAD;;;;;;;;;;ACLD;AACA;AACA;AACA;AAEA;;AAAE,WAAUhqD,MAAV,EAAkB98J,OAAlB,EAA2B;AAC1B,UACuCA,OAAO,CAACy2L,mBAAO,CAAC,sBAAD,CAAR,CAD9C,GAEA,CAFA;AAIF,CALC,EAKA,IALA,EAKO,UAAUtwK,MAAV,EAAkB;AAAE,eAAF,CAEvB;AAEA;AACA;;AACA,MAAI4gM,GAAG,GAAG5gM,MAAM,CAACoxL,YAAP,CAAoB,KAApB,EAA2B;AACjCC,IAAAA,MAAM,EAAE,sFAAsF9mM,KAAtF,CACJ,GADI,CADyB;AAIjC+mM,IAAAA,WAAW,EAAE,kDAAkD/mM,KAAlD,CAAwD,GAAxD,CAJoB;AAKjCgnM,IAAAA,QAAQ,EAAE,sDAAsDhnM,KAAtD,CAA4D,GAA5D,CALuB;AAMjCinM,IAAAA,aAAa,EAAE,8BAA8BjnM,KAA9B,CAAoC,GAApC,CANkB;AAOjCknM,IAAAA,WAAW,EAAE,uBAAuBlnM,KAAvB,CAA6B,GAA7B,CAPoB;AAQjCynM,IAAAA,cAAc,EAAE;AACZC,MAAAA,EAAE,EAAE,OADQ;AAEZC,MAAAA,GAAG,EAAE,UAFO;AAGZC,MAAAA,CAAC,EAAE,YAHS;AAIZC,MAAAA,EAAE,EAAE,uBAJQ;AAKZC,MAAAA,GAAG,EAAE,6BALO;AAMZC,MAAAA,IAAI,EAAE;AANM,KARiB;AAgBjCZ,IAAAA,aAAa,EAAE,YAhBkB;AAiBjCC,IAAAA,IAAI,EAAE,UAAU5tJ,KAAV,EAAiB;AACnB,aAAO,UAAUA,KAAK,CAAClxB,WAAN,EAAjB;AACH,KAnBgC;AAoBjC++K,IAAAA,QAAQ,EAAE,UAAUC,KAAV,EAAiBC,OAAjB,EAA0BC,OAA1B,EAAmC;AACzC,UAAIF,KAAK,GAAG,EAAZ,EAAgB;AACZ,eAAOE,OAAO,GAAG,KAAH,GAAW,KAAzB;AACH,OAFD,MAEO;AACH,eAAOA,OAAO,GAAG,KAAH,GAAW,KAAzB;AACH;AACJ,KA1BgC;AA2BjCQ,IAAAA,QAAQ,EAAE;AACNC,MAAAA,OAAO,EAAE,aADH;AAENC,MAAAA,OAAO,EAAE,aAFH;AAGNC,MAAAA,QAAQ,EAAE,aAHJ;AAINC,MAAAA,OAAO,EAAE,cAJH;AAKNC,MAAAA,QAAQ,EAAE,6BALJ;AAMNC,MAAAA,QAAQ,EAAE;AANJ,KA3BuB;AAmCjCC,IAAAA,YAAY,EAAE;AACVC,MAAAA,MAAM,EAAE,WADE;AAEVC,MAAAA,IAAI,EAAE,MAFI;AAGVl9K,MAAAA,CAAC,EAAEkiL,mBAHO;AAIV/E,MAAAA,EAAE,EAAE+E,mBAJM;AAKVhgL,MAAAA,CAAC,EAAEggL,mBALO;AAMV9E,MAAAA,EAAE,EAAE8E,mBANM;AAOV51C,MAAAA,CAAC,EAAE41C,mBAPO;AAQV7E,MAAAA,EAAE,EAAE6E,mBARM;AASV5iL,MAAAA,CAAC,EAAE4iL,mBATO;AAUV5E,MAAAA,EAAE,EAAE4E,mBAVM;AAWV3E,MAAAA,CAAC,EAAE2E,mBAXO;AAYV1E,MAAAA,EAAE,EAAE0E,mBAZM;AAaVzgL,MAAAA,CAAC,EAAEygL,mBAbO;AAcVzE,MAAAA,EAAE,EAAEyE;AAdM,KAnCmB;AAmDjCxE,IAAAA,sBAAsB,EAAE,WAnDS;AAoDjCC,IAAAA,OAAO,EAAE,KApDwB;AAqDjCC,IAAAA,IAAI,EAAE;AACFC,MAAAA,GAAG,EAAE,CADH;AACM;AACRC,MAAAA,GAAG,EAAE,CAFH,CAEM;;AAFN;AArD2B,GAA3B,CAAV;;AA2DA,WAASoE,mBAAT,CAA6B7kE,MAA7B,EAAqC6gE,aAArC,EAAoD1iL,GAApD,EAAyD2iL,QAAzD,EAAmE;AAC/D,QAAI5zL,MAAM,GAAG;AACTyV,MAAAA,CAAC,EAAE,CAAC,iBAAD,EAAoB,iBAApB,CADM;AAETm9K,MAAAA,EAAE,EAAE,CAAC9/D,MAAM,GAAG,UAAV,EAAsB,KAAKA,MAAL,GAAc,UAApC,CAFK;AAGTn7G,MAAAA,CAAC,EAAE,CAAC,SAAD,EAAY,YAAZ,CAHM;AAITk7K,MAAAA,EAAE,EAAE,CAAC//D,MAAM,GAAG,QAAV,EAAoB,KAAKA,MAAL,GAAc,QAAlC,CAJK;AAKTivB,MAAAA,CAAC,EAAE,CAAC,SAAD,EAAY,aAAZ,CALM;AAMT+wC,MAAAA,EAAE,EAAE,CAAChgE,MAAM,GAAG,QAAV,EAAoB,KAAKA,MAAL,GAAc,QAAlC,CANK;AAOT/9G,MAAAA,CAAC,EAAE,CAAC,SAAD,EAAY,aAAZ,CAPM;AAQTg+K,MAAAA,EAAE,EAAE,CAACjgE,MAAM,GAAG,QAAV,EAAoB,KAAKA,MAAL,GAAc,QAAlC,CARK;AASTkgE,MAAAA,CAAC,EAAE,CAAC,QAAD,EAAW,WAAX,CATM;AAUTC,MAAAA,EAAE,EAAE,CAACngE,MAAM,GAAG,QAAV,EAAoB,KAAKA,MAAL,GAAc,QAAlC,CAVK;AAWT57G,MAAAA,CAAC,EAAE,CAAC,OAAD,EAAU,UAAV,CAXM;AAYTg8K,MAAAA,EAAE,EAAE,CAACpgE,MAAM,GAAG,MAAV,EAAkB,KAAKA,MAAL,GAAc,MAAhC;AAZK,KAAb;AAcA,WAAO8gE,QAAQ,GACT5zL,MAAM,CAACiR,GAAD,CAAN,CAAY,CAAZ,CADS,GAET0iL,aAAa,GACb3zL,MAAM,CAACiR,GAAD,CAAN,CAAY,CAAZ,CADa,GAEbjR,MAAM,CAACiR,GAAD,CAAN,CAAY,CAAZ,CAJN;AAKH;;AAED,SAAOsvL,GAAP;AAEH,CA9FC,CAAD;;;;;;;;;;ACLD;AACA;AACA;AAEA;;AAAE,WAAUjqD,MAAV,EAAkB98J,OAAlB,EAA2B;AAC1B,UACuCA,OAAO,CAACy2L,mBAAO,CAAC,sBAAD,CAAR,CAD9C,GAEA,CAFA;AAIF,CALC,EAKA,IALA,EAKO,UAAUtwK,MAAV,EAAkB;AAAE,eAAF,CAEvB;;AAEA,MAAI6gM,OAAO,GAAG7gM,MAAM,CAACoxL,YAAP,CAAoB,UAApB,EAAgC;AAC1CC,IAAAA,MAAM,EAAE,wFAAwF9mM,KAAxF,CACJ,GADI,CADkC;AAI1C+mM,IAAAA,WAAW,EACP,wFAAwF/mM,KAAxF,CACI,GADJ,CALsC;AAQ1CgnM,IAAAA,QAAQ,EAAE,kDAAkDhnM,KAAlD,CAAwD,GAAxD,CARgC;AAS1CinM,IAAAA,aAAa,EAAE,kDAAkDjnM,KAAlD,CAAwD,GAAxD,CAT2B;AAU1CknM,IAAAA,WAAW,EAAE,kDAAkDlnM,KAAlD,CAAwD,GAAxD,CAV6B;AAW1CynM,IAAAA,cAAc,EAAE;AACZC,MAAAA,EAAE,EAAE,OADQ;AAEZC,MAAAA,GAAG,EAAE,UAFO;AAGZC,MAAAA,CAAC,EAAE,YAHS;AAIZC,MAAAA,EAAE,EAAE,aAJQ;AAKZC,MAAAA,GAAG,EAAE,mBALO;AAMZC,MAAAA,IAAI,EAAE;AANM,KAX0B;AAmB1CC,IAAAA,QAAQ,EAAE;AACNC,MAAAA,OAAO,EAAE,cADH;AAENC,MAAAA,OAAO,EAAE,aAFH;AAGNC,MAAAA,QAAQ,EAAE,aAHJ;AAINC,MAAAA,OAAO,EAAE,eAJH;AAKNC,MAAAA,QAAQ,EAAE,aALJ;AAMNC,MAAAA,QAAQ,EAAE;AANJ,KAnBgC;AA2B1CC,IAAAA,YAAY,EAAE;AACVC,MAAAA,MAAM,EAAE,gBADE;AAEVC,MAAAA,IAAI,EAAE,QAFI;AAGVl9K,MAAAA,CAAC,EAAE,MAHO;AAIVm9K,MAAAA,EAAE,EAAE,SAJM;AAKVj7K,MAAAA,CAAC,EAAE,OALO;AAMVk7K,MAAAA,EAAE,EAAE,UANM;AAOV9wC,MAAAA,CAAC,EAAE,MAPO;AAQV+wC,MAAAA,EAAE,EAAE,aARM;AASV/9K,MAAAA,CAAC,EAAE,KATO;AAUVg+K,MAAAA,EAAE,EAAE,UAVM;AAWVC,MAAAA,CAAC,EAAE,OAXO;AAYVC,MAAAA,EAAE,EAAE,WAZM;AAaV/7K,MAAAA,CAAC,EAAE,OAbO;AAcVg8K,MAAAA,EAAE,EAAE;AAdM,KA3B4B;AA2C1CG,IAAAA,IAAI,EAAE;AACFC,MAAAA,GAAG,EAAE,CADH;AACM;AACRC,MAAAA,GAAG,EAAE,EAFH,CAEO;;AAFP;AA3CoC,GAAhC,CAAd;AAiDA,SAAOiN,OAAP;AAEH,CA5DC,CAAD;;;;;;;;;;ACJD;AACA;AACA;AAEA;;AAAE,WAAUlqD,MAAV,EAAkB98J,OAAlB,EAA2B;AAC1B,UACuCA,OAAO,CAACy2L,mBAAO,CAAC,sBAAD,CAAR,CAD9C,GAEA,CAFA;AAIF,CALC,EAKA,IALA,EAKO,UAAUtwK,MAAV,EAAkB;AAAE,eAAF,CAEvB;;AAEA,MAAI8gM,GAAG,GAAG9gM,MAAM,CAACoxL,YAAP,CAAoB,KAApB,EAA2B;AACjCC,IAAAA,MAAM,EAAE,kFAAkF9mM,KAAlF,CACJ,GADI,CADyB;AAIjC+mM,IAAAA,WAAW,EACP,kFAAkF/mM,KAAlF,CACI,GADJ,CAL6B;AAQjCgnM,IAAAA,QAAQ,EAAE,kDAAkDhnM,KAAlD,CAAwD,GAAxD,CARuB;AASjCinM,IAAAA,aAAa,EAAE,kDAAkDjnM,KAAlD,CAAwD,GAAxD,CATkB;AAUjCknM,IAAAA,WAAW,EAAE,kDAAkDlnM,KAAlD,CAAwD,GAAxD,CAVoB;AAWjCynM,IAAAA,cAAc,EAAE;AACZC,MAAAA,EAAE,EAAE,OADQ;AAEZC,MAAAA,GAAG,EAAE,UAFO;AAGZC,MAAAA,CAAC,EAAE,YAHS;AAIZC,MAAAA,EAAE,EAAE,aAJQ;AAKZC,MAAAA,GAAG,EAAE,mBALO;AAMZC,MAAAA,IAAI,EAAE;AANM,KAXiB;AAmBjCC,IAAAA,QAAQ,EAAE;AACNC,MAAAA,OAAO,EAAE,aADH;AAENC,MAAAA,OAAO,EAAE,aAFH;AAGNC,MAAAA,QAAQ,EAAE,aAHJ;AAINC,MAAAA,OAAO,EAAE,cAJH;AAKNC,MAAAA,QAAQ,EAAE,aALJ;AAMNC,MAAAA,QAAQ,EAAE;AANJ,KAnBuB;AA2BjCC,IAAAA,YAAY,EAAE;AACVC,MAAAA,MAAM,EAAE,eADE;AAEVC,MAAAA,IAAI,EAAE,QAFI;AAGVl9K,MAAAA,CAAC,EAAE,MAHO;AAIVm9K,MAAAA,EAAE,EAAE,SAJM;AAKVj7K,MAAAA,CAAC,EAAE,OALO;AAMVk7K,MAAAA,EAAE,EAAE,UANM;AAOV9wC,MAAAA,CAAC,EAAE,MAPO;AAQV+wC,MAAAA,EAAE,EAAE,aARM;AASV/9K,MAAAA,CAAC,EAAE,KATO;AAUVg+K,MAAAA,EAAE,EAAE,UAVM;AAWVC,MAAAA,CAAC,EAAE,OAXO;AAYVC,MAAAA,EAAE,EAAE,WAZM;AAaV/7K,MAAAA,CAAC,EAAE,OAbO;AAcVg8K,MAAAA,EAAE,EAAE;AAdM,KA3BmB;AA2CjCG,IAAAA,IAAI,EAAE;AACFC,MAAAA,GAAG,EAAE,CADH;AACM;AACRC,MAAAA,GAAG,EAAE,EAFH,CAEO;;AAFP;AA3C2B,GAA3B,CAAV;AAiDA,SAAOkN,GAAP;AAEH,CA5DC,CAAD;;;;;;;;;;ACJD;AACA;AACA;AAEA;;AAAE,WAAUnqD,MAAV,EAAkB98J,OAAlB,EAA2B;AAC1B,UACuCA,OAAO,CAACy2L,mBAAO,CAAC,sBAAD,CAAR,CAD9C,GAEA,CAFA;AAIF,CALC,EAKA,IALA,EAKO,UAAUtwK,MAAV,EAAkB;AAAE,eAAF,CAEvB;;AAEA,MAAI+gM,IAAI,GAAG/gM,MAAM,CAACoxL,YAAP,CAAoB,OAApB,EAA6B;AACpCC,IAAAA,MAAM,EAAE,sFAAsF9mM,KAAtF,CACJ,GADI,CAD4B;AAIpC+mM,IAAAA,WAAW,EACP,sFAAsF/mM,KAAtF,CACI,GADJ,CALgC;AAQpCgnM,IAAAA,QAAQ,EAAE,yDAAyDhnM,KAAzD,CACN,GADM,CAR0B;AAWpCinM,IAAAA,aAAa,EAAE,uBAAuBjnM,KAAvB,CAA6B,GAA7B,CAXqB;AAYpCknM,IAAAA,WAAW,EAAE,uBAAuBlnM,KAAvB,CAA6B,GAA7B,CAZuB;AAapCynM,IAAAA,cAAc,EAAE;AACZC,MAAAA,EAAE,EAAE,OADQ;AAEZC,MAAAA,GAAG,EAAE,UAFO;AAGZC,MAAAA,CAAC,EAAE,YAHS;AAIZC,MAAAA,EAAE,EAAE,yBAJQ;AAKZC,MAAAA,GAAG,EAAE,gCALO;AAMZC,MAAAA,IAAI,EAAE;AANM,KAboB;AAqBpCZ,IAAAA,aAAa,EAAE,oDArBqB;AAsBpCqE,IAAAA,YAAY,EAAE,UAAUvzE,IAAV,EAAgBovE,QAAhB,EAA0B;AACpC,UAAIpvE,IAAI,KAAK,EAAb,EAAiB;AACbA,QAAAA,IAAI,GAAG,CAAP;AACH;;AACD,UACIovE,QAAQ,KAAK,YAAb,IACAA,QAAQ,KAAK,OADb,IAEAA,QAAQ,KAAK,cAHjB,EAIE;AACE,eAAOpvE,IAAP;AACH,OAND,MAMO,IAAIovE,QAAQ,KAAK,cAAb,IAA+BA,QAAQ,KAAK,KAAhD,EAAuD;AAC1D,eAAOpvE,IAAI,GAAG,EAAd;AACH,OAFM,MAEA;AACH,eAAOA,IAAI,IAAI,EAAR,GAAaA,IAAb,GAAoBA,IAAI,GAAG,EAAlC;AACH;AACJ,KArCmC;AAsCpCovE,IAAAA,QAAQ,EAAE,UAAUpvE,IAAV,EAAgB4xE,MAAhB,EAAwBrC,OAAxB,EAAiC;AACvC,UAAIiP,EAAE,GAAGx+E,IAAI,GAAG,GAAP,GAAa4xE,MAAtB;;AACA,UAAI4M,EAAE,GAAG,GAAT,EAAc;AACV,eAAO,YAAP;AACH,OAFD,MAEO,IAAIA,EAAE,GAAG,GAAT,EAAc;AACjB,eAAO,OAAP;AACH,OAFM,MAEA,IAAIA,EAAE,GAAG,IAAT,EAAe;AAClB,eAAO,cAAP;AACH,OAFM,MAEA,IAAIA,EAAE,GAAG,IAAT,EAAe;AAClB,eAAO,KAAP;AACH,OAFM,MAEA,IAAIA,EAAE,GAAG,IAAT,EAAe;AAClB,eAAO,cAAP;AACH,OAFM,MAEA;AACH,eAAO,KAAP;AACH;AACJ,KArDmC;AAsDpCzO,IAAAA,QAAQ,EAAE;AACNC,MAAAA,OAAO,EAAE,kBADH;AAENC,MAAAA,OAAO,EAAE,iBAFH;AAGNC,MAAAA,QAAQ,EAAE,2BAHJ;AAINC,MAAAA,OAAO,EAAE,cAJH;AAKNC,MAAAA,QAAQ,EAAE,4BALJ;AAMNC,MAAAA,QAAQ,EAAE;AANJ,KAtD0B;AA8DpCC,IAAAA,YAAY,EAAE;AACVC,MAAAA,MAAM,EAAE,UADE;AAEVC,MAAAA,IAAI,EAAE,UAFI;AAGVl9K,MAAAA,CAAC,EAAE,cAHO;AAIVm9K,MAAAA,EAAE,EAAE,WAJM;AAKVj7K,MAAAA,CAAC,EAAE,WALO;AAMVk7K,MAAAA,EAAE,EAAE,UANM;AAOV9wC,MAAAA,CAAC,EAAE,WAPO;AAQV+wC,MAAAA,EAAE,EAAE,UARM;AASV/9K,MAAAA,CAAC,EAAE,SATO;AAUVg+K,MAAAA,EAAE,EAAE,QAVM;AAWVC,MAAAA,CAAC,EAAE,SAXO;AAYVC,MAAAA,EAAE,EAAE,QAZM;AAaV/7K,MAAAA,CAAC,EAAE,SAbO;AAcVg8K,MAAAA,EAAE,EAAE;AAdM,KA9DsB;AA+EpCC,IAAAA,sBAAsB,EAAE,4BA/EY;AAgFpCC,IAAAA,OAAO,EAAE,UAAUtgE,MAAV,EAAkBqiE,MAAlB,EAA0B;AAC/B,cAAQA,MAAR;AACI,aAAK,GAAL;AACA,aAAK,GAAL;AACA,aAAK,KAAL;AACI,iBAAOriE,MAAM,GAAG,OAAhB;;AACJ,aAAK,GAAL;AACA,aAAK,GAAL;AACI,iBAAOA,MAAM,GAAG,QAAhB;;AACJ;AACI,iBAAOA,MAAP;AATR;AAWH,KA5FmC;AA6FpCshE,IAAAA,QAAQ,EAAE,UAAU5K,MAAV,EAAkB;AACxB,aAAOA,MAAM,CAACh/L,OAAP,CAAe,IAAf,EAAqB,GAArB,CAAP;AACH,KA/FmC;AAgGpCwpM,IAAAA,UAAU,EAAE,UAAUxK,MAAV,EAAkB;AAC1B,aAAOA,MAAM,CAACh/L,OAAP,CAAe,IAAf,EAAqB,GAArB,CAAP;AACH,KAlGmC;AAmGpC6oM,IAAAA,IAAI,EAAE;AACF;AACAC,MAAAA,GAAG,EAAE,CAFH;AAEM;AACRC,MAAAA,GAAG,EAAE,CAHH,CAGM;;AAHN;AAnG8B,GAA7B,CAAX;AA0GA,SAAOmN,IAAP;AAEH,CArHC,CAAD;;;;;;;;;;ACJD;AACA;AACA;AACA;AAEA;;AAAE,WAAUpqD,MAAV,EAAkB98J,OAAlB,EAA2B;AAC1B,UACuCA,OAAO,CAACy2L,mBAAO,CAAC,sBAAD,CAAR,CAD9C,GAEA,CAFA;AAIF,CALC,EAKA,IALA,EAKO,UAAUtwK,MAAV,EAAkB;AAAE,eAAF,CAEvB;;AAEA,WAASg1L,MAAT,CAAgBC,IAAhB,EAAsBznI,GAAtB,EAA2B;AACvB,QAAI0nI,KAAK,GAAGD,IAAI,CAAC1qM,KAAL,CAAW,GAAX,CAAZ;AACA,WAAOijE,GAAG,GAAG,EAAN,KAAa,CAAb,IAAkBA,GAAG,GAAG,GAAN,KAAc,EAAhC,GACD0nI,KAAK,CAAC,CAAD,CADJ,GAED1nI,GAAG,GAAG,EAAN,IAAY,CAAZ,IAAiBA,GAAG,GAAG,EAAN,IAAY,CAA7B,KAAmCA,GAAG,GAAG,GAAN,GAAY,EAAZ,IAAkBA,GAAG,GAAG,GAAN,IAAa,EAAlE,IACA0nI,KAAK,CAAC,CAAD,CADL,GAEAA,KAAK,CAAC,CAAD,CAJX;AAKH;;AACD,WAASC,sBAAT,CAAgChiE,MAAhC,EAAwC6gE,aAAxC,EAAuD1iL,GAAvD,EAA4D;AACxD,QAAIjR,MAAM,GAAG;AACT4yL,MAAAA,EAAE,EAAEe,aAAa,GAAG,wBAAH,GAA8B,wBADtC;AAETd,MAAAA,EAAE,EAAEc,aAAa,GAAG,wBAAH,GAA8B,wBAFtC;AAGTb,MAAAA,EAAE,EAAEa,aAAa,GAAG,qBAAH,GAA2B,qBAHnC;AAITZ,MAAAA,EAAE,EAAE,eAJK;AAKTE,MAAAA,EAAE,EAAE,uBALK;AAMTC,MAAAA,EAAE,EAAE;AANK,KAAb;;AAQA,QAAIjiL,GAAG,KAAK,GAAZ,EAAiB;AACb,aAAO0iL,aAAa,GAAG,SAAH,GAAe,SAAnC;AACH,KAFD,MAEO,IAAI1iL,GAAG,KAAK,GAAZ,EAAiB;AACpB,aAAO0iL,aAAa,GAAG,QAAH,GAAc,QAAlC;AACH,KAFM,MAEA;AACH,aAAO7gE,MAAM,GAAG,GAAT,GAAe6hE,MAAM,CAAC30L,MAAM,CAACiR,GAAD,CAAP,EAAc,CAAC6hH,MAAf,CAA5B;AACH;AACJ;;AACD,WAAS8tE,mBAAT,CAA6BjpL,CAA7B,EAAgC3X,MAAhC,EAAwC;AACpC,QAAIkxL,QAAQ,GAAG;AACP2P,MAAAA,UAAU,EACN,0DAA0D32M,KAA1D,CACI,GADJ,CAFG;AAKP42M,MAAAA,UAAU,EACN,0DAA0D52M,KAA1D,CACI,GADJ,CANG;AASP62M,MAAAA,QAAQ,EACJ,4DAA4D72M,KAA5D,CACI,GADJ;AAVG,KAAf;AAAA,QAcI82M,QAdJ;;AAgBA,QAAIrpL,CAAC,KAAK,IAAV,EAAgB;AACZ,aAAOu5K,QAAQ,CAAC,YAAD,CAAR,CACFrtG,KADE,CACI,CADJ,EACO,CADP,EAEF9rE,MAFE,CAEKm5K,QAAQ,CAAC,YAAD,CAAR,CAAuBrtG,KAAvB,CAA6B,CAA7B,EAAgC,CAAhC,CAFL,CAAP;AAGH;;AACD,QAAI,CAAClsE,CAAL,EAAQ;AACJ,aAAOu5K,QAAQ,CAAC,YAAD,CAAf;AACH;;AAED8P,IAAAA,QAAQ,GAAG,qBAAqBxgM,IAArB,CAA0BR,MAA1B,IACL,YADK,GAEL,sCAAsCQ,IAAtC,CAA2CR,MAA3C,IACA,UADA,GAEA,YAJN;AAKA,WAAOkxL,QAAQ,CAAC8P,QAAD,CAAR,CAAmBrpL,CAAC,CAACu9K,GAAF,EAAnB,CAAP;AACH;;AACD,WAAS+L,oBAAT,CAA8B74G,GAA9B,EAAmC;AAC/B,WAAO,YAAY;AACf,aAAOA,GAAG,GAAG,GAAN,IAAa,KAAKopG,KAAL,OAAiB,EAAjB,GAAsB,GAAtB,GAA4B,EAAzC,IAA+C,MAAtD;AACH,KAFD;AAGH;;AAED,MAAI0P,EAAE,GAAGvhM,MAAM,CAACoxL,YAAP,CAAoB,IAApB,EAA0B;AAC/BC,IAAAA,MAAM,EAAE;AACJhxL,MAAAA,MAAM,EAAE,yFAAyF9V,KAAzF,CACJ,GADI,CADJ;AAIJ8qM,MAAAA,UAAU,EACN,iGAAiG9qM,KAAjG,CACI,GADJ;AALA,KADuB;AAU/B+mM,IAAAA,WAAW,EAAE,yDAAyD/mM,KAAzD,CACT,GADS,CAVkB;AAa/BgnM,IAAAA,QAAQ,EAAE0P,mBAbqB;AAc/BzP,IAAAA,aAAa,EAAE,uBAAuBjnM,KAAvB,CAA6B,GAA7B,CAdgB;AAe/BknM,IAAAA,WAAW,EAAE,uBAAuBlnM,KAAvB,CAA6B,GAA7B,CAfkB;AAgB/BynM,IAAAA,cAAc,EAAE;AACZC,MAAAA,EAAE,EAAE,OADQ;AAEZC,MAAAA,GAAG,EAAE,UAFO;AAGZC,MAAAA,CAAC,EAAE,YAHS;AAIZC,MAAAA,EAAE,EAAE,gBAJQ;AAKZC,MAAAA,GAAG,EAAE,uBALO;AAMZC,MAAAA,IAAI,EAAE;AANM,KAhBe;AAwB/BC,IAAAA,QAAQ,EAAE;AACNC,MAAAA,OAAO,EAAE8O,oBAAoB,CAAC,YAAD,CADvB;AAEN7O,MAAAA,OAAO,EAAE6O,oBAAoB,CAAC,UAAD,CAFvB;AAGN3O,MAAAA,OAAO,EAAE2O,oBAAoB,CAAC,SAAD,CAHvB;AAIN5O,MAAAA,QAAQ,EAAE4O,oBAAoB,CAAC,YAAD,CAJxB;AAKN1O,MAAAA,QAAQ,EAAE,YAAY;AAClB,gBAAQ,KAAK2C,GAAL,EAAR;AACI,eAAK,CAAL;AACA,eAAK,CAAL;AACA,eAAK,CAAL;AACA,eAAK,CAAL;AACI,mBAAO+L,oBAAoB,CAAC,kBAAD,CAApB,CAAyC3sL,IAAzC,CAA8C,IAA9C,CAAP;;AACJ,eAAK,CAAL;AACA,eAAK,CAAL;AACA,eAAK,CAAL;AACI,mBAAO2sL,oBAAoB,CAAC,mBAAD,CAApB,CAA0C3sL,IAA1C,CAA+C,IAA/C,CAAP;AATR;AAWH,OAjBK;AAkBNk+K,MAAAA,QAAQ,EAAE;AAlBJ,KAxBqB;AA4C/BC,IAAAA,YAAY,EAAE;AACVC,MAAAA,MAAM,EAAE,OADE;AAEVC,MAAAA,IAAI,EAAE,SAFI;AAGVl9K,MAAAA,CAAC,EAAE,iBAHO;AAIVm9K,MAAAA,EAAE,EAAEkC,sBAJM;AAKVn9K,MAAAA,CAAC,EAAEm9K,sBALO;AAMVjC,MAAAA,EAAE,EAAEiC,sBANM;AAOV/yC,MAAAA,CAAC,EAAE,QAPO;AAQV+wC,MAAAA,EAAE,EAAEgC,sBARM;AASV//K,MAAAA,CAAC,EAAE,MATO;AAUVg+K,MAAAA,EAAE,EAAE+B,sBAVM;AAWV9B,MAAAA,CAAC,EAAE,QAXO;AAYVC,MAAAA,EAAE,EAAE6B,sBAZM;AAaV59K,MAAAA,CAAC,EAAE,KAbO;AAcVg8K,MAAAA,EAAE,EAAE4B;AAdM,KA5CiB;AA4D/B;AACAzD,IAAAA,aAAa,EAAE,uBA7DgB;AA8D/BC,IAAAA,IAAI,EAAE,UAAU5tJ,KAAV,EAAiB;AACnB,aAAO,iBAAiBljC,IAAjB,CAAsBkjC,KAAtB,CAAP;AACH,KAhE8B;AAiE/B6tJ,IAAAA,QAAQ,EAAE,UAAUpvE,IAAV,EAAgB4xE,MAAhB,EAAwBrC,OAAxB,EAAiC;AACvC,UAAIvvE,IAAI,GAAG,CAAX,EAAc;AACV,eAAO,MAAP;AACH,OAFD,MAEO,IAAIA,IAAI,GAAG,EAAX,EAAe;AAClB,eAAO,OAAP;AACH,OAFM,MAEA,IAAIA,IAAI,GAAG,EAAX,EAAe;AAClB,eAAO,KAAP;AACH,OAFM,MAEA;AACH,eAAO,QAAP;AACH;AACJ,KA3E8B;AA4E/BgxE,IAAAA,sBAAsB,EAAE,gBA5EO;AA6E/BC,IAAAA,OAAO,EAAE,UAAUtgE,MAAV,EAAkBqiE,MAAlB,EAA0B;AAC/B,cAAQA,MAAR;AACI,aAAK,GAAL;AACA,aAAK,GAAL;AACA,aAAK,KAAL;AACA,aAAK,GAAL;AACA,aAAK,GAAL;AACI,iBAAOriE,MAAM,GAAG,IAAhB;;AACJ,aAAK,GAAL;AACI,iBAAOA,MAAM,GAAG,KAAhB;;AACJ;AACI,iBAAOA,MAAP;AAVR;AAYH,KA1F8B;AA2F/BugE,IAAAA,IAAI,EAAE;AACFC,MAAAA,GAAG,EAAE,CADH;AACM;AACRC,MAAAA,GAAG,EAAE,CAFH,CAEM;;AAFN;AA3FyB,GAA1B,CAAT;AAiGA,SAAO2N,EAAP;AAEH,CA5KC,CAAD;;;;;;;;;;ACLD;AACA;AACA;AACA;AAEA;;AAAE,WAAU5qD,MAAV,EAAkB98J,OAAlB,EAA2B;AAC1B,UACuCA,OAAO,CAACy2L,mBAAO,CAAC,sBAAD,CAAR,CAD9C,GAEA,CAFA;AAIF,CALC,EAKA,IALA,EAKO,UAAUtwK,MAAV,EAAkB;AAAE,eAAF,CAEvB;;AAEA,MAAIqxL,MAAM,GAAG,CACL,OADK,EAEL,OAFK,EAGL,MAHK,EAIL,OAJK,EAKL,KALK,EAML,KANK,EAOL,QAPK,EAQL,MARK,EASL,OATK,EAUL,QAVK,EAWL,OAXK,EAYL,OAZK,CAAb;AAAA,MAcI5uE,IAAI,GAAG,CAAC,OAAD,EAAU,KAAV,EAAiB,MAAjB,EAAyB,KAAzB,EAAgC,QAAhC,EAA0C,MAA1C,EAAkD,MAAlD,CAdX;AAgBA,MAAI++E,EAAE,GAAGxhM,MAAM,CAACoxL,YAAP,CAAoB,IAApB,EAA0B;AAC/BC,IAAAA,MAAM,EAAEA,MADuB;AAE/BC,IAAAA,WAAW,EAAED,MAFkB;AAG/BE,IAAAA,QAAQ,EAAE9uE,IAHqB;AAI/B+uE,IAAAA,aAAa,EAAE/uE,IAJgB;AAK/BgvE,IAAAA,WAAW,EAAEhvE,IALkB;AAM/BuvE,IAAAA,cAAc,EAAE;AACZC,MAAAA,EAAE,EAAE,OADQ;AAEZC,MAAAA,GAAG,EAAE,UAFO;AAGZC,MAAAA,CAAC,EAAE,YAHS;AAIZC,MAAAA,EAAE,EAAE,aAJQ;AAKZC,MAAAA,GAAG,EAAE,mBALO;AAMZC,MAAAA,IAAI,EAAE;AANM,KANe;AAc/BZ,IAAAA,aAAa,EAAE,SAdgB;AAe/BC,IAAAA,IAAI,EAAE,UAAU5tJ,KAAV,EAAiB;AACnB,aAAO,UAAUA,KAAjB;AACH,KAjB8B;AAkB/B6tJ,IAAAA,QAAQ,EAAE,UAAUpvE,IAAV,EAAgB4xE,MAAhB,EAAwBrC,OAAxB,EAAiC;AACvC,UAAIvvE,IAAI,GAAG,EAAX,EAAe;AACX,eAAO,KAAP;AACH;;AACD,aAAO,KAAP;AACH,KAvB8B;AAwB/B+vE,IAAAA,QAAQ,EAAE;AACNC,MAAAA,OAAO,EAAE,cADH;AAENC,MAAAA,OAAO,EAAE,cAFH;AAGNC,MAAAA,QAAQ,EAAE,gBAHJ;AAINC,MAAAA,OAAO,EAAE,qBAJH;AAKNC,MAAAA,QAAQ,EAAE,wBALJ;AAMNC,MAAAA,QAAQ,EAAE;AANJ,KAxBqB;AAgC/BC,IAAAA,YAAY,EAAE;AACVC,MAAAA,MAAM,EAAE,QADE;AAEVC,MAAAA,IAAI,EAAE,QAFI;AAGVl9K,MAAAA,CAAC,EAAE,WAHO;AAIVm9K,MAAAA,EAAE,EAAE,UAJM;AAKVj7K,MAAAA,CAAC,EAAE,SALO;AAMVk7K,MAAAA,EAAE,EAAE,QANM;AAOV9wC,MAAAA,CAAC,EAAE,WAPO;AAQV+wC,MAAAA,EAAE,EAAE,UARM;AASV/9K,MAAAA,CAAC,EAAE,QATO;AAUVg+K,MAAAA,EAAE,EAAE,OAVM;AAWVC,MAAAA,CAAC,EAAE,SAXO;AAYVC,MAAAA,EAAE,EAAE,QAZM;AAaV/7K,MAAAA,CAAC,EAAE,SAbO;AAcVg8K,MAAAA,EAAE,EAAE;AAdM,KAhCiB;AAgD/BkB,IAAAA,QAAQ,EAAE,UAAU5K,MAAV,EAAkB;AACxB,aAAOA,MAAM,CAACh/L,OAAP,CAAe,IAAf,EAAqB,GAArB,CAAP;AACH,KAlD8B;AAmD/BwpM,IAAAA,UAAU,EAAE,UAAUxK,MAAV,EAAkB;AAC1B,aAAOA,MAAM,CAACh/L,OAAP,CAAe,IAAf,EAAqB,GAArB,CAAP;AACH,KArD8B;AAsD/B6oM,IAAAA,IAAI,EAAE;AACFC,MAAAA,GAAG,EAAE,CADH;AACM;AACRC,MAAAA,GAAG,EAAE,CAFH,CAEM;;AAFN;AAtDyB,GAA1B,CAAT;AA4DA,SAAO4N,EAAP;AAEH,CAvFC,CAAD;;;;;;;;;;ACLD;AACA;AACA;AAEA;;AAAE,WAAU7qD,MAAV,EAAkB98J,OAAlB,EAA2B;AAC1B,UACuCA,OAAO,CAACy2L,mBAAO,CAAC,sBAAD,CAAR,CAD9C,GAEA,CAFA;AAIF,CALC,EAKA,IALA,EAKO,UAAUtwK,MAAV,EAAkB;AAAE,eAAF,CAEvB;;AAEA,MAAIyhM,MAAM,GAAGzhM,MAAM,CAACoxL,YAAP,CAAoB,SAApB,EAA+B;AACxCC,IAAAA,MAAM,EAAE,6EAA6E9mM,KAA7E,CACJ,GADI,CADgC;AAIxC+mM,IAAAA,WAAW,EAAE,oDAAoD/mM,KAApD,CAA0D,GAA1D,CAJ2B;AAKxCgnM,IAAAA,QAAQ,EACJ,+DAA+DhnM,KAA/D,CACI,GADJ,CANoC;AASxCinM,IAAAA,aAAa,EAAE,kCAAkCjnM,KAAlC,CAAwC,GAAxC,CATyB;AAUxCknM,IAAAA,WAAW,EAAE,yBAAyBlnM,KAAzB,CAA+B,GAA/B,CAV2B;AAWxCynM,IAAAA,cAAc,EAAE;AACZC,MAAAA,EAAE,EAAE,OADQ;AAEZC,MAAAA,GAAG,EAAE,UAFO;AAGZC,MAAAA,CAAC,EAAE,YAHS;AAIZC,MAAAA,EAAE,EAAE,aAJQ;AAKZC,MAAAA,GAAG,EAAE,mBALO;AAMZC,MAAAA,IAAI,EAAE;AANM,KAXwB;AAmBxCC,IAAAA,QAAQ,EAAE;AACNC,MAAAA,OAAO,EAAE,sBADH;AAENC,MAAAA,OAAO,EAAE,kBAFH;AAGNC,MAAAA,QAAQ,EAAE,0BAHJ;AAINC,MAAAA,OAAO,EAAE,sBAJH;AAKNC,MAAAA,QAAQ,EAAE,mCALJ;AAMNC,MAAAA,QAAQ,EAAE;AANJ,KAnB8B;AA2BxCC,IAAAA,YAAY,EAAE;AACVC,MAAAA,MAAM,EAAE,iBADE;AAEVC,MAAAA,IAAI,EAAE,oBAFI;AAGVl9K,MAAAA,CAAC,EAAE,QAHO;AAIVm9K,MAAAA,EAAE,EAAE,WAJM;AAKVj7K,MAAAA,CAAC,EAAE,YALO;AAMVk7K,MAAAA,EAAE,EAAE,WANM;AAOV9wC,MAAAA,CAAC,EAAE,UAPO;AAQV+wC,MAAAA,EAAE,EAAE,SARM;AASV/9K,MAAAA,CAAC,EAAE,SATO;AAUVg+K,MAAAA,EAAE,EAAE,QAVM;AAWVC,MAAAA,CAAC,EAAE,QAXO;AAYVC,MAAAA,EAAE,EAAE,OAZM;AAaV/7K,MAAAA,CAAC,EAAE,SAbO;AAcVg8K,MAAAA,EAAE,EAAE;AAdM,KA3B0B;AA2CxCG,IAAAA,IAAI,EAAE;AACFC,MAAAA,GAAG,EAAE,CADH;AACM;AACRC,MAAAA,GAAG,EAAE,CAFH,CAEM;;AAFN;AA3CkC,GAA/B,CAAb;AAiDA,SAAO6N,MAAP;AAEH,CA5DC,CAAD;;;;;;;;;;ACJD;AACA;AACA;AAEA;;AAAE,WAAU9qD,MAAV,EAAkB98J,OAAlB,EAA2B;AAC1B,UACuCA,OAAO,CAACy2L,mBAAO,CAAC,sBAAD,CAAR,CAD9C,GAEA,CAFA;AAIF,CALC,EAKA,IALA,EAKO,UAAUtwK,MAAV,EAAkB;AAAE,eAAF,CAEvB;;AAEA,MAAI0hM,EAAE,GAAG1hM,MAAM,CAACoxL,YAAP,CAAoB,IAApB,EAA0B;AAC/BC,IAAAA,MAAM,EAAE,yEAAyE9mM,KAAzE,CACJ,GADI,CADuB;AAI/B+mM,IAAAA,WAAW,EAAE,kDAAkD/mM,KAAlD,CAAwD,GAAxD,CAJkB;AAK/BgnM,IAAAA,QAAQ,EAAE,uDAAuDhnM,KAAvD,CAA6D,GAA7D,CALqB;AAM/BinM,IAAAA,aAAa,EAAE,8BAA8BjnM,KAA9B,CAAoC,GAApC,CANgB;AAO/BknM,IAAAA,WAAW,EAAE,uBAAuBlnM,KAAvB,CAA6B,GAA7B,CAPkB;AAQ/BynM,IAAAA,cAAc,EAAE;AACZC,MAAAA,EAAE,EAAE,OADQ;AAEZC,MAAAA,GAAG,EAAE,UAFO;AAGZC,MAAAA,CAAC,EAAE,YAHS;AAIZC,MAAAA,EAAE,EAAE,aAJQ;AAKZC,MAAAA,GAAG,EAAE,mBALO;AAMZC,MAAAA,IAAI,EAAE;AANM,KARe;AAgB/BC,IAAAA,QAAQ,EAAE;AACNC,MAAAA,OAAO,EAAE,sBADH;AAENC,MAAAA,OAAO,EAAE,kBAFH;AAGNC,MAAAA,QAAQ,EAAE,0BAHJ;AAINC,MAAAA,OAAO,EAAE,qBAJH;AAKNC,MAAAA,QAAQ,EAAE,kCALJ;AAMNC,MAAAA,QAAQ,EAAE;AANJ,KAhBqB;AAwB/BC,IAAAA,YAAY,EAAE;AACVC,MAAAA,MAAM,EAAE,eADE;AAEVC,MAAAA,IAAI,EAAE,mBAFI;AAGVl9K,MAAAA,CAAC,EAAE,QAHO;AAIVm9K,MAAAA,EAAE,EAAE,WAJM;AAKVj7K,MAAAA,CAAC,EAAE,YALO;AAMVk7K,MAAAA,EAAE,EAAE,WANM;AAOV9wC,MAAAA,CAAC,EAAE,UAPO;AAQV+wC,MAAAA,EAAE,EAAE,SARM;AASV/9K,MAAAA,CAAC,EAAE,SATO;AAUVg+K,MAAAA,EAAE,EAAE,QAVM;AAWVC,MAAAA,CAAC,EAAE,QAXO;AAYVC,MAAAA,EAAE,EAAE,OAZM;AAaV/7K,MAAAA,CAAC,EAAE,SAbO;AAcVg8K,MAAAA,EAAE,EAAE;AAdM,KAxBiB;AAwC/BG,IAAAA,IAAI,EAAE;AACFC,MAAAA,GAAG,EAAE,CADH;AACM;AACRC,MAAAA,GAAG,EAAE,CAFH,CAEM;;AAFN;AAxCyB,GAA1B,CAAT;AA8CA,SAAO8N,EAAP;AAEH,CAzDC,CAAD;;;;;;;;;;ACJD;AACA;AACA;AACA;AAEA;;AAAE,WAAU/qD,MAAV,EAAkB98J,OAAlB,EAA2B;AAC1B,UACuCA,OAAO,CAACy2L,mBAAO,CAAC,sBAAD,CAAR,CAD9C,GAEA,CAFA;AAIF,CALC,EAKA,IALA,EAKO,UAAUtwK,MAAV,EAAkB;AAAE,eAAF,CAEvB;;AAEA,MAAI2hM,EAAE,GAAG3hM,MAAM,CAACoxL,YAAP,CAAoB,IAApB,EAA0B;AAC/BC,IAAAA,MAAM,EAAE,qGAAqG9mM,KAArG,CACJ,GADI,CADuB;AAI/B+mM,IAAAA,WAAW,EACP,sFAAsF/mM,KAAtF,CACI,GADJ,CAL2B;AAQ/B4rM,IAAAA,gBAAgB,EAAE,IARa;AAS/B5E,IAAAA,QAAQ,EAAE,yDAAyDhnM,KAAzD,CACN,GADM,CATqB;AAY/BinM,IAAAA,aAAa,EAAE,uBAAuBjnM,KAAvB,CAA6B,GAA7B,CAZgB;AAa/BknM,IAAAA,WAAW,EAAE,uBAAuBlnM,KAAvB,CAA6B,GAA7B,CAbkB;AAc/B4pM,IAAAA,kBAAkB,EAAE,IAdW;AAe/BzC,IAAAA,aAAa,EAAE,QAfgB;AAgB/BC,IAAAA,IAAI,EAAE,UAAU5tJ,KAAV,EAAiB;AACnB,aAAO,QAAQljC,IAAR,CAAakjC,KAAb,CAAP;AACH,KAlB8B;AAmB/B6tJ,IAAAA,QAAQ,EAAE,UAAUC,KAAV,EAAiBC,OAAjB,EAA0BC,OAA1B,EAAmC;AACzC,UAAIF,KAAK,GAAG,EAAZ,EAAgB;AACZ,eAAOE,OAAO,GAAG,IAAH,GAAU,IAAxB;AACH,OAFD,MAEO;AACH,eAAOA,OAAO,GAAG,IAAH,GAAU,IAAxB;AACH;AACJ,KAzB8B;AA0B/BC,IAAAA,cAAc,EAAE;AACZC,MAAAA,EAAE,EAAE,OADQ;AAEZC,MAAAA,GAAG,EAAE,UAFO;AAGZC,MAAAA,CAAC,EAAE,YAHS;AAIZC,MAAAA,EAAE,EAAE,mBAJQ;AAKZC,MAAAA,GAAG,EAAE,yBALO;AAMZC,MAAAA,IAAI,EAAE,+BANM;AAOZoF,MAAAA,CAAC,EAAE,WAPS;AAQZH,MAAAA,EAAE,EAAE,YARQ;AASZC,MAAAA,GAAG,EAAE,kBATO;AAUZC,MAAAA,IAAI,EAAE;AAVM,KA1Be;AAsC/BlF,IAAAA,QAAQ,EAAE;AACNC,MAAAA,OAAO,EAAE,kBADH;AAENC,MAAAA,OAAO,EAAE,mBAFH;AAGNC,MAAAA,QAAQ,EAAE,wBAHJ;AAINC,MAAAA,OAAO,EAAE,kBAJH;AAKNC,MAAAA,QAAQ,EAAE,0BALJ;AAMNC,MAAAA,QAAQ,EAAE;AANJ,KAtCqB;AA8C/BC,IAAAA,YAAY,EAAE;AACVC,MAAAA,MAAM,EAAE,QADE;AAEVC,MAAAA,IAAI,EAAE,UAFI;AAGVl9K,MAAAA,CAAC,EAAE,UAHO;AAIVm9K,MAAAA,EAAE,EAAE,SAJM;AAKVj7K,MAAAA,CAAC,EAAE,UALO;AAMVk7K,MAAAA,EAAE,EAAE,SANM;AAOV9wC,MAAAA,CAAC,EAAE,SAPO;AAQV+wC,MAAAA,EAAE,EAAE,QARM;AASV/9K,MAAAA,CAAC,EAAE,UATO;AAUVg+K,MAAAA,EAAE,EAAE,SAVM;AAWVx5C,MAAAA,CAAC,EAAE,UAXO;AAYV87C,MAAAA,EAAE,EAAE,SAZM;AAaVrC,MAAAA,CAAC,EAAE,WAbO;AAcVC,MAAAA,EAAE,EAAE,UAdM;AAeV/7K,MAAAA,CAAC,EAAE,SAfO;AAgBVg8K,MAAAA,EAAE,EAAE;AAhBM,KA9CiB;AAgE/BC,IAAAA,sBAAsB,EAAE,SAhEO;AAiE/BC,IAAAA,OAAO,EAAE,UAAUtgE,MAAV,EAAkB;AACvB,aAAOA,MAAP;AACH,KAnE8B;AAoE/BugE,IAAAA,IAAI,EAAE;AACFC,MAAAA,GAAG,EAAE,CADH;AACM;AACRC,MAAAA,GAAG,EAAE,CAFH,CAEM;;AAFN;AApEyB,GAA1B,CAAT;AA0EA,SAAO+N,EAAP;AAEH,CArFC,CAAD;;;;;;;;;;ACLD;AACA;AACA;AAEA;;AAAE,WAAUhrD,MAAV,EAAkB98J,OAAlB,EAA2B;AAC1B,UACuCA,OAAO,CAACy2L,mBAAO,CAAC,sBAAD,CAAR,CAD9C,GAEA,CAFA;AAIF,CALC,EAKA,IALA,EAKO,UAAUtwK,MAAV,EAAkB;AAAE,eAAF,CAEvB;;AAEA,MAAI4hM,OAAO,GAAG5hM,MAAM,CAACoxL,YAAP,CAAoB,UAApB,EAAgC;AAC1CC,IAAAA,MAAM,EAAE,6GAA6G9mM,KAA7G,CACJ,GADI,CADkC;AAI1C+mM,IAAAA,WAAW,EACP,8DAA8D/mM,KAA9D,CACI,GADJ,CALsC;AAQ1C4rM,IAAAA,gBAAgB,EAAE,IARwB;AAS1C5E,IAAAA,QAAQ,EACJ,yEAAyEhnM,KAAzE,CACI,GADJ,CAVsC;AAa1CinM,IAAAA,aAAa,EAAE,qCAAqCjnM,KAArC,CAA2C,GAA3C,CAb2B;AAc1CknM,IAAAA,WAAW,EAAE,4BAA4BlnM,KAA5B,CAAkC,GAAlC,CAd6B;AAe1C4pM,IAAAA,kBAAkB,EAAE,IAfsB;AAgB1CnC,IAAAA,cAAc,EAAE;AACZC,MAAAA,EAAE,EAAE,OADQ;AAEZE,MAAAA,CAAC,EAAE,YAFS;AAGZC,MAAAA,EAAE,EAAE,aAHQ;AAIZC,MAAAA,GAAG,EAAE,mBAJO;AAKZC,MAAAA,IAAI,EAAE;AALM,KAhB0B;AAuB1CC,IAAAA,QAAQ,EAAE;AACNC,MAAAA,OAAO,EAAE,iBADH;AAENC,MAAAA,OAAO,EAAE,qBAFH;AAGNC,MAAAA,QAAQ,EAAE,cAHJ;AAINC,MAAAA,OAAO,EAAE,sBAJH;AAKNC,MAAAA,QAAQ,EAAE,sBALJ;AAMNC,MAAAA,QAAQ,EAAE;AANJ,KAvBgC;AA+B1CC,IAAAA,YAAY,EAAE;AACVC,MAAAA,MAAM,EAAE,QADE;AAEVC,MAAAA,IAAI,EAAE,SAFI;AAGVl9K,MAAAA,CAAC,EAAE,kBAHO;AAIVm9K,MAAAA,EAAE,EAAE,cAJM;AAKVj7K,MAAAA,CAAC,EAAE,YALO;AAMVk7K,MAAAA,EAAE,EAAE,cANM;AAOV9wC,MAAAA,CAAC,EAAE,WAPO;AAQV+wC,MAAAA,EAAE,EAAE,WARM;AASV/9K,MAAAA,CAAC,EAAE,QATO;AAUVg+K,MAAAA,EAAE,EAAE,UAVM;AAWVC,MAAAA,CAAC,EAAE,WAXO;AAYVC,MAAAA,EAAE,EAAE,aAZM;AAaV/7K,MAAAA,CAAC,EAAE,SAbO;AAcVg8K,MAAAA,EAAE,EAAE;AAdM,KA/B4B;AA+C1CC,IAAAA,sBAAsB,EAAE,sBA/CkB;AAgD1CC,IAAAA,OAAO,EAAE,UAAUtgE,MAAV,EAAkB;AACvB,UAAI99G,CAAC,GAAG89G,MAAM,GAAG,EAAjB;AAAA,UACIpU,MAAM,GACF,CAAC,EAAGoU,MAAM,GAAG,GAAV,GAAiB,EAAnB,CAAD,KAA4B,CAA5B,GACM,IADN,GAEM99G,CAAC,KAAK,CAAN,GACA,IADA,GAEAA,CAAC,KAAK,CAAN,GACA,IADA,GAEAA,CAAC,KAAK,CAAN,GACA,IADA,GAEA,IAVd;AAWA,aAAO89G,MAAM,GAAGpU,MAAhB;AACH,KA7DyC;AA8D1C20E,IAAAA,IAAI,EAAE;AACFC,MAAAA,GAAG,EAAE,CADH;AACM;AACRC,MAAAA,GAAG,EAAE,CAFH,CAEM;;AAFN;AA9DoC,GAAhC,CAAd;AAoEA,SAAOgO,OAAP;AAEH,CA/EC,CAAD;;;;;;;;;;ACJD;AACA;AACA;AAEA;;AAAE,WAAUjrD,MAAV,EAAkB98J,OAAlB,EAA2B;AAC1B,UACuCA,OAAO,CAACy2L,mBAAO,CAAC,sBAAD,CAAR,CAD9C,GAEA,CAFA;AAIF,CALC,EAKA,IALA,EAKO,UAAUtwK,MAAV,EAAkB;AAAE,eAAF,CAEvB;;AAEA,MAAI6hM,EAAE,GAAG7hM,MAAM,CAACoxL,YAAP,CAAoB,IAApB,EAA0B;AAC/BC,IAAAA,MAAM,EAAE,0FAA0F9mM,KAA1F,CACJ,GADI,CADuB;AAI/B+mM,IAAAA,WAAW,EAAE,gEAAgE/mM,KAAhE,CAAsE,GAAtE,CAJkB;AAK/BgnM,IAAAA,QAAQ,EAAE,uDAAuDhnM,KAAvD,CAA6D,GAA7D,CALqB;AAM/BinM,IAAAA,aAAa,EAAE,sCAAsCjnM,KAAtC,CAA4C,GAA5C,CANgB;AAO/BknM,IAAAA,WAAW,EAAE,2BAA2BlnM,KAA3B,CAAiC,GAAjC,CAPkB;AAQ/BynM,IAAAA,cAAc,EAAE;AACZC,MAAAA,EAAE,EAAE,QADQ;AAEZC,MAAAA,GAAG,EAAE,WAFO;AAGZC,MAAAA,CAAC,EAAE,YAHS;AAIZC,MAAAA,EAAE,EAAE,aAJQ;AAKZC,MAAAA,GAAG,EAAE,oBALO;AAMZC,MAAAA,IAAI,EAAE;AANM,KARe;AAgB/BC,IAAAA,QAAQ,EAAE;AACNC,MAAAA,OAAO,EAAE,eADH;AAENC,MAAAA,OAAO,EAAE,cAFH;AAGNC,MAAAA,QAAQ,EAAE,6BAHJ;AAINC,MAAAA,OAAO,EAAE,cAJH;AAKNC,MAAAA,QAAQ,EAAE,4BALJ;AAMNC,MAAAA,QAAQ,EAAE;AANJ,KAhBqB;AAwB/BC,IAAAA,YAAY,EAAE;AACVC,MAAAA,MAAM,EAAE,QADE;AAEVC,MAAAA,IAAI,EAAE,UAFI;AAGVl9K,MAAAA,CAAC,EAAE,mBAHO;AAIVm9K,MAAAA,EAAE,EAAE,UAJM;AAKVj7K,MAAAA,CAAC,EAAE,aALO;AAMVk7K,MAAAA,EAAE,EAAE,YANM;AAOV9wC,MAAAA,CAAC,EAAE,aAPO;AAQV+wC,MAAAA,EAAE,EAAE,YARM;AASV/9K,MAAAA,CAAC,EAAE,UATO;AAUVg+K,MAAAA,EAAE,EAAE,SAVM;AAWVC,MAAAA,CAAC,EAAE,UAXO;AAYVC,MAAAA,EAAE,EAAE,SAZM;AAaV/7K,MAAAA,CAAC,EAAE,WAbO;AAcVg8K,MAAAA,EAAE,EAAE;AAdM,KAxBiB;AAwC/BC,IAAAA,sBAAsB,EAAE,eAxCO;AAyC/BC,IAAAA,OAAO,EAAE,SAzCsB;AA0C/BC,IAAAA,IAAI,EAAE;AACFC,MAAAA,GAAG,EAAE,CADH;AACM;AACRC,MAAAA,GAAG,EAAE,CAFH,CAEM;;AAFN;AA1CyB,GAA1B,CAAT;AAgDA,SAAOiO,EAAP;AAEH,CA3DC,CAAD;;;;;;;;;;ACJD;AACA;AACA;AACA;AACA;AAEA;;AAAE,WAAUlrD,MAAV,EAAkB98J,OAAlB,EAA2B;AAC1B,UACuCA,OAAO,CAACy2L,mBAAO,CAAC,sBAAD,CAAR,CAD9C,GAEA,CAFA;AAIF,CALC,EAKA,IALA,EAKO,UAAUtwK,MAAV,EAAkB;AAAE,eAAF,CAEvB;;AAEA,MAAI8hM,IAAI,GAAG9hM,MAAM,CAACoxL,YAAP,CAAoB,OAApB,EAA6B;AACpCC,IAAAA,MAAM,EAAE,wCAAwC9mM,KAAxC,CACJ,GADI,CAD4B;AAIpC+mM,IAAAA,WAAW,EAAE,yCAAyC/mM,KAAzC,CACT,GADS,CAJuB;AAOpCgnM,IAAAA,QAAQ,EAAE,8BAA8BhnM,KAA9B,CAAoC,GAApC,CAP0B;AAQpCinM,IAAAA,aAAa,EAAE,uBAAuBjnM,KAAvB,CAA6B,GAA7B,CARqB;AASpCknM,IAAAA,WAAW,EAAE,gBAAgBlnM,KAAhB,CAAsB,GAAtB,CATuB;AAUpCynM,IAAAA,cAAc,EAAE;AACZC,MAAAA,EAAE,EAAE,OADQ;AAEZC,MAAAA,GAAG,EAAE,UAFO;AAGZC,MAAAA,CAAC,EAAE,YAHS;AAIZC,MAAAA,EAAE,EAAE,WAJQ;AAKZC,MAAAA,GAAG,EAAE,iBALO;AAMZC,MAAAA,IAAI,EAAE,qBANM;AAOZoF,MAAAA,CAAC,EAAE,UAPS;AAQZH,MAAAA,EAAE,EAAE,WARQ;AASZC,MAAAA,GAAG,EAAE,iBATO;AAUZC,MAAAA,IAAI,EAAE;AAVM,KAVoB;AAsBpC/F,IAAAA,aAAa,EAAE,mBAtBqB;AAuBpCqE,IAAAA,YAAY,EAAE,UAAUvzE,IAAV,EAAgBovE,QAAhB,EAA0B;AACpC,UAAIpvE,IAAI,KAAK,EAAb,EAAiB;AACbA,QAAAA,IAAI,GAAG,CAAP;AACH;;AACD,UAAIovE,QAAQ,KAAK,IAAb,IAAqBA,QAAQ,KAAK,IAAlC,IAA0CA,QAAQ,KAAK,IAA3D,EAAiE;AAC7D,eAAOpvE,IAAP;AACH,OAFD,MAEO,IAAIovE,QAAQ,KAAK,IAAb,IAAqBA,QAAQ,KAAK,IAAtC,EAA4C;AAC/C,eAAOpvE,IAAI,GAAG,EAAd;AACH,OAFM,MAEA;AACH;AACA,eAAOA,IAAI,IAAI,EAAR,GAAaA,IAAb,GAAoBA,IAAI,GAAG,EAAlC;AACH;AACJ,KAnCmC;AAoCpCovE,IAAAA,QAAQ,EAAE,UAAUpvE,IAAV,EAAgB4xE,MAAhB,EAAwBrC,OAAxB,EAAiC;AACvC,UAAIiP,EAAE,GAAGx+E,IAAI,GAAG,GAAP,GAAa4xE,MAAtB;;AACA,UAAI4M,EAAE,GAAG,GAAT,EAAc;AACV,eAAO,IAAP;AACH,OAFD,MAEO,IAAIA,EAAE,GAAG,GAAT,EAAc;AACjB,eAAO,IAAP;AACH,OAFM,MAEA,IAAIA,EAAE,GAAG,IAAT,EAAe;AAClB,eAAO,IAAP;AACH,OAFM,MAEA,IAAIA,EAAE,GAAG,IAAT,EAAe;AAClB,eAAO,IAAP;AACH,OAFM,MAEA,IAAIA,EAAE,GAAG,IAAT,EAAe;AAClB,eAAO,IAAP;AACH,OAFM,MAEA;AACH,eAAO,IAAP;AACH;AACJ,KAnDmC;AAoDpCzO,IAAAA,QAAQ,EAAE;AACNC,MAAAA,OAAO,EAAE,QADH;AAENC,MAAAA,OAAO,EAAE,QAFH;AAGNC,MAAAA,QAAQ,EAAE,UAAUpgJ,GAAV,EAAe;AACrB,YAAIA,GAAG,CAACohJ,IAAJ,OAAe,KAAKA,IAAL,EAAnB,EAAgC;AAC5B,iBAAO,UAAP;AACH,SAFD,MAEO;AACH,iBAAO,UAAP;AACH;AACJ,OATK;AAUNf,MAAAA,OAAO,EAAE,QAVH;AAWNC,MAAAA,QAAQ,EAAE,UAAUtgJ,GAAV,EAAe;AACrB,YAAI,KAAKohJ,IAAL,OAAgBphJ,GAAG,CAACohJ,IAAJ,EAApB,EAAgC;AAC5B,iBAAO,UAAP;AACH,SAFD,MAEO;AACH,iBAAO,UAAP;AACH;AACJ,OAjBK;AAkBNb,MAAAA,QAAQ,EAAE;AAlBJ,KApD0B;AAwEpCW,IAAAA,sBAAsB,EAAE,gBAxEY;AAyEpCC,IAAAA,OAAO,EAAE,UAAUtgE,MAAV,EAAkBqiE,MAAlB,EAA0B;AAC/B,cAAQA,MAAR;AACI,aAAK,GAAL;AACA,aAAK,GAAL;AACA,aAAK,KAAL;AACI,iBAAOriE,MAAM,GAAG,GAAhB;;AACJ,aAAK,GAAL;AACI,iBAAOA,MAAM,GAAG,GAAhB;;AACJ,aAAK,GAAL;AACA,aAAK,GAAL;AACI,iBAAOA,MAAM,GAAG,GAAhB;;AACJ;AACI,iBAAOA,MAAP;AAXR;AAaH,KAvFmC;AAwFpC2/D,IAAAA,YAAY,EAAE;AACVC,MAAAA,MAAM,EAAE,KADE;AAEVC,MAAAA,IAAI,EAAE,KAFI;AAGVl9K,MAAAA,CAAC,EAAE,IAHO;AAIVm9K,MAAAA,EAAE,EAAE,MAJM;AAKVj7K,MAAAA,CAAC,EAAE,MALO;AAMVk7K,MAAAA,EAAE,EAAE,OANM;AAOV9wC,MAAAA,CAAC,EAAE,MAPO;AAQV+wC,MAAAA,EAAE,EAAE,OARM;AASV/9K,MAAAA,CAAC,EAAE,KATO;AAUVg+K,MAAAA,EAAE,EAAE,MAVM;AAWVx5C,MAAAA,CAAC,EAAE,KAXO;AAYV87C,MAAAA,EAAE,EAAE,MAZM;AAaVrC,MAAAA,CAAC,EAAE,MAbO;AAcVC,MAAAA,EAAE,EAAE,OAdM;AAeV/7K,MAAAA,CAAC,EAAE,KAfO;AAgBVg8K,MAAAA,EAAE,EAAE;AAhBM,KAxFsB;AA0GpCG,IAAAA,IAAI,EAAE;AACF;AACAC,MAAAA,GAAG,EAAE,CAFH;AAEM;AACRC,MAAAA,GAAG,EAAE,CAHH,CAGM;;AAHN;AA1G8B,GAA7B,CAAX;AAiHA,SAAOkO,IAAP;AAEH,CA5HC,CAAD;;;;;;;;;;ACND;AACA;AACA;AACA;AACA;AACA;AAEA;;AAAE,WAAUnrD,MAAV,EAAkB98J,OAAlB,EAA2B;AAC1B,UACuCA,OAAO,CAACy2L,mBAAO,CAAC,sBAAD,CAAR,CAD9C,GAEA,CAFA;AAIF,CALC,EAKA,IALA,EAKO,UAAUtwK,MAAV,EAAkB;AAAE,eAAF,CAEvB;;AAEA,MAAI+hM,IAAI,GAAG/hM,MAAM,CAACoxL,YAAP,CAAoB,OAApB,EAA6B;AACpCC,IAAAA,MAAM,EAAE,wCAAwC9mM,KAAxC,CACJ,GADI,CAD4B;AAIpC+mM,IAAAA,WAAW,EAAE,yCAAyC/mM,KAAzC,CACT,GADS,CAJuB;AAOpCgnM,IAAAA,QAAQ,EAAE,8BAA8BhnM,KAA9B,CAAoC,GAApC,CAP0B;AAQpCinM,IAAAA,aAAa,EAAE,uBAAuBjnM,KAAvB,CAA6B,GAA7B,CARqB;AASpCknM,IAAAA,WAAW,EAAE,gBAAgBlnM,KAAhB,CAAsB,GAAtB,CATuB;AAUpCynM,IAAAA,cAAc,EAAE;AACZC,MAAAA,EAAE,EAAE,OADQ;AAEZC,MAAAA,GAAG,EAAE,UAFO;AAGZC,MAAAA,CAAC,EAAE,YAHS;AAIZC,MAAAA,EAAE,EAAE,WAJQ;AAKZC,MAAAA,GAAG,EAAE,iBALO;AAMZC,MAAAA,IAAI,EAAE,qBANM;AAOZoF,MAAAA,CAAC,EAAE,UAPS;AAQZH,MAAAA,EAAE,EAAE,WARQ;AASZC,MAAAA,GAAG,EAAE,iBATO;AAUZC,MAAAA,IAAI,EAAE;AAVM,KAVoB;AAsBpC/F,IAAAA,aAAa,EAAE,mBAtBqB;AAuBpCqE,IAAAA,YAAY,EAAE,UAAUvzE,IAAV,EAAgBovE,QAAhB,EAA0B;AACpC,UAAIpvE,IAAI,KAAK,EAAb,EAAiB;AACbA,QAAAA,IAAI,GAAG,CAAP;AACH;;AACD,UAAIovE,QAAQ,KAAK,IAAb,IAAqBA,QAAQ,KAAK,IAAlC,IAA0CA,QAAQ,KAAK,IAA3D,EAAiE;AAC7D,eAAOpvE,IAAP;AACH,OAFD,MAEO,IAAIovE,QAAQ,KAAK,IAAjB,EAAuB;AAC1B,eAAOpvE,IAAI,IAAI,EAAR,GAAaA,IAAb,GAAoBA,IAAI,GAAG,EAAlC;AACH,OAFM,MAEA,IAAIovE,QAAQ,KAAK,IAAb,IAAqBA,QAAQ,KAAK,IAAtC,EAA4C;AAC/C,eAAOpvE,IAAI,GAAG,EAAd;AACH;AACJ,KAlCmC;AAmCpCovE,IAAAA,QAAQ,EAAE,UAAUpvE,IAAV,EAAgB4xE,MAAhB,EAAwBrC,OAAxB,EAAiC;AACvC,UAAIiP,EAAE,GAAGx+E,IAAI,GAAG,GAAP,GAAa4xE,MAAtB;;AACA,UAAI4M,EAAE,GAAG,GAAT,EAAc;AACV,eAAO,IAAP;AACH,OAFD,MAEO,IAAIA,EAAE,GAAG,GAAT,EAAc;AACjB,eAAO,IAAP;AACH,OAFM,MAEA,IAAIA,EAAE,GAAG,IAAT,EAAe;AAClB,eAAO,IAAP;AACH,OAFM,MAEA,IAAIA,EAAE,KAAK,IAAX,EAAiB;AACpB,eAAO,IAAP;AACH,OAFM,MAEA,IAAIA,EAAE,GAAG,IAAT,EAAe;AAClB,eAAO,IAAP;AACH,OAFM,MAEA;AACH,eAAO,IAAP;AACH;AACJ,KAlDmC;AAmDpCzO,IAAAA,QAAQ,EAAE;AACNC,MAAAA,OAAO,EAAE,QADH;AAENC,MAAAA,OAAO,EAAE,QAFH;AAGNC,MAAAA,QAAQ,EAAE,WAHJ;AAINC,MAAAA,OAAO,EAAE,QAJH;AAKNC,MAAAA,QAAQ,EAAE,WALJ;AAMNC,MAAAA,QAAQ,EAAE;AANJ,KAnD0B;AA2DpCW,IAAAA,sBAAsB,EAAE,gBA3DY;AA4DpCC,IAAAA,OAAO,EAAE,UAAUtgE,MAAV,EAAkBqiE,MAAlB,EAA0B;AAC/B,cAAQA,MAAR;AACI,aAAK,GAAL;AACA,aAAK,GAAL;AACA,aAAK,KAAL;AACI,iBAAOriE,MAAM,GAAG,GAAhB;;AACJ,aAAK,GAAL;AACI,iBAAOA,MAAM,GAAG,GAAhB;;AACJ,aAAK,GAAL;AACA,aAAK,GAAL;AACI,iBAAOA,MAAM,GAAG,GAAhB;;AACJ;AACI,iBAAOA,MAAP;AAXR;AAaH,KA1EmC;AA2EpC2/D,IAAAA,YAAY,EAAE;AACVC,MAAAA,MAAM,EAAE,KADE;AAEVC,MAAAA,IAAI,EAAE,KAFI;AAGVl9K,MAAAA,CAAC,EAAE,IAHO;AAIVm9K,MAAAA,EAAE,EAAE,MAJM;AAKVj7K,MAAAA,CAAC,EAAE,MALO;AAMVk7K,MAAAA,EAAE,EAAE,OANM;AAOV9wC,MAAAA,CAAC,EAAE,MAPO;AAQV+wC,MAAAA,EAAE,EAAE,OARM;AASV/9K,MAAAA,CAAC,EAAE,KATO;AAUVg+K,MAAAA,EAAE,EAAE,MAVM;AAWVC,MAAAA,CAAC,EAAE,MAXO;AAYVC,MAAAA,EAAE,EAAE,OAZM;AAaV/7K,MAAAA,CAAC,EAAE,KAbO;AAcVg8K,MAAAA,EAAE,EAAE;AAdM;AA3EsB,GAA7B,CAAX;AA6FA,SAAOwO,IAAP;AAEH,CAxGC,CAAD;;;;;;;;;;ACPD;AACA;AACA;AACA;AACA;AAEA;;AAAE,WAAUprD,MAAV,EAAkB98J,OAAlB,EAA2B;AAC1B,UACuCA,OAAO,CAACy2L,mBAAO,CAAC,sBAAD,CAAR,CAD9C,GAEA,CAFA;AAIF,CALC,EAKA,IALA,EAKO,UAAUtwK,MAAV,EAAkB;AAAE,eAAF,CAEvB;;AAEA,MAAIgiM,IAAI,GAAGhiM,MAAM,CAACoxL,YAAP,CAAoB,OAApB,EAA6B;AACpCC,IAAAA,MAAM,EAAE,wCAAwC9mM,KAAxC,CACJ,GADI,CAD4B;AAIpC+mM,IAAAA,WAAW,EAAE,yCAAyC/mM,KAAzC,CACT,GADS,CAJuB;AAOpCgnM,IAAAA,QAAQ,EAAE,8BAA8BhnM,KAA9B,CAAoC,GAApC,CAP0B;AAQpCinM,IAAAA,aAAa,EAAE,uBAAuBjnM,KAAvB,CAA6B,GAA7B,CARqB;AASpCknM,IAAAA,WAAW,EAAE,gBAAgBlnM,KAAhB,CAAsB,GAAtB,CATuB;AAUpCynM,IAAAA,cAAc,EAAE;AACZC,MAAAA,EAAE,EAAE,OADQ;AAEZC,MAAAA,GAAG,EAAE,UAFO;AAGZC,MAAAA,CAAC,EAAE,YAHS;AAIZC,MAAAA,EAAE,EAAE,WAJQ;AAKZC,MAAAA,GAAG,EAAE,iBALO;AAMZC,MAAAA,IAAI,EAAE,qBANM;AAOZoF,MAAAA,CAAC,EAAE,UAPS;AAQZH,MAAAA,EAAE,EAAE,WARQ;AASZC,MAAAA,GAAG,EAAE,iBATO;AAUZC,MAAAA,IAAI,EAAE;AAVM,KAVoB;AAsBpC/F,IAAAA,aAAa,EAAE,mBAtBqB;AAuBpCqE,IAAAA,YAAY,EAAE,UAAUvzE,IAAV,EAAgBovE,QAAhB,EAA0B;AACpC,UAAIpvE,IAAI,KAAK,EAAb,EAAiB;AACbA,QAAAA,IAAI,GAAG,CAAP;AACH;;AACD,UAAIovE,QAAQ,KAAK,IAAb,IAAqBA,QAAQ,KAAK,IAAlC,IAA0CA,QAAQ,KAAK,IAA3D,EAAiE;AAC7D,eAAOpvE,IAAP;AACH,OAFD,MAEO,IAAIovE,QAAQ,KAAK,IAAjB,EAAuB;AAC1B,eAAOpvE,IAAI,IAAI,EAAR,GAAaA,IAAb,GAAoBA,IAAI,GAAG,EAAlC;AACH,OAFM,MAEA,IAAIovE,QAAQ,KAAK,IAAb,IAAqBA,QAAQ,KAAK,IAAtC,EAA4C;AAC/C,eAAOpvE,IAAI,GAAG,EAAd;AACH;AACJ,KAlCmC;AAmCpCovE,IAAAA,QAAQ,EAAE,UAAUpvE,IAAV,EAAgB4xE,MAAhB,EAAwBrC,OAAxB,EAAiC;AACvC,UAAIiP,EAAE,GAAGx+E,IAAI,GAAG,GAAP,GAAa4xE,MAAtB;;AACA,UAAI4M,EAAE,GAAG,GAAT,EAAc;AACV,eAAO,IAAP;AACH,OAFD,MAEO,IAAIA,EAAE,GAAG,GAAT,EAAc;AACjB,eAAO,IAAP;AACH,OAFM,MAEA,IAAIA,EAAE,GAAG,IAAT,EAAe;AAClB,eAAO,IAAP;AACH,OAFM,MAEA,IAAIA,EAAE,GAAG,IAAT,EAAe;AAClB,eAAO,IAAP;AACH,OAFM,MAEA,IAAIA,EAAE,GAAG,IAAT,EAAe;AAClB,eAAO,IAAP;AACH,OAFM,MAEA;AACH,eAAO,IAAP;AACH;AACJ,KAlDmC;AAmDpCzO,IAAAA,QAAQ,EAAE;AACNC,MAAAA,OAAO,EAAE,SADH;AAENC,MAAAA,OAAO,EAAE,SAFH;AAGNC,MAAAA,QAAQ,EAAE,YAHJ;AAINC,MAAAA,OAAO,EAAE,SAJH;AAKNC,MAAAA,QAAQ,EAAE,YALJ;AAMNC,MAAAA,QAAQ,EAAE;AANJ,KAnD0B;AA2DpCW,IAAAA,sBAAsB,EAAE,gBA3DY;AA4DpCC,IAAAA,OAAO,EAAE,UAAUtgE,MAAV,EAAkBqiE,MAAlB,EAA0B;AAC/B,cAAQA,MAAR;AACI,aAAK,GAAL;AACA,aAAK,GAAL;AACA,aAAK,KAAL;AACI,iBAAOriE,MAAM,GAAG,GAAhB;;AACJ,aAAK,GAAL;AACI,iBAAOA,MAAM,GAAG,GAAhB;;AACJ,aAAK,GAAL;AACA,aAAK,GAAL;AACI,iBAAOA,MAAM,GAAG,GAAhB;;AACJ;AACI,iBAAOA,MAAP;AAXR;AAaH,KA1EmC;AA2EpC2/D,IAAAA,YAAY,EAAE;AACVC,MAAAA,MAAM,EAAE,KADE;AAEVC,MAAAA,IAAI,EAAE,KAFI;AAGVl9K,MAAAA,CAAC,EAAE,IAHO;AAIVm9K,MAAAA,EAAE,EAAE,MAJM;AAKVj7K,MAAAA,CAAC,EAAE,MALO;AAMVk7K,MAAAA,EAAE,EAAE,OANM;AAOV9wC,MAAAA,CAAC,EAAE,MAPO;AAQV+wC,MAAAA,EAAE,EAAE,OARM;AASV/9K,MAAAA,CAAC,EAAE,KATO;AAUVg+K,MAAAA,EAAE,EAAE,MAVM;AAWVC,MAAAA,CAAC,EAAE,MAXO;AAYVC,MAAAA,EAAE,EAAE,OAZM;AAaV/7K,MAAAA,CAAC,EAAE,KAbO;AAcVg8K,MAAAA,EAAE,EAAE;AAdM;AA3EsB,GAA7B,CAAX;AA6FA,SAAOyO,IAAP;AAEH,CAxGC,CAAD;;;;;;;;;;ACND;AACA;AACA;AACA;AAEA;;AAAE,WAAUrrD,MAAV,EAAkB98J,OAAlB,EAA2B;AAC1B,UACuCA,OAAO,CAACy2L,mBAAO,CAAC,sBAAD,CAAR,CAD9C,GAEA,CAFA;AAIF,CALC,EAKA,IALA,EAKO,UAAUtwK,MAAV,EAAkB;AAAE,eAAF,CAEvB;;AAEA,MAAIiiM,IAAI,GAAGjiM,MAAM,CAACoxL,YAAP,CAAoB,OAApB,EAA6B;AACpCC,IAAAA,MAAM,EAAE,wCAAwC9mM,KAAxC,CACJ,GADI,CAD4B;AAIpC+mM,IAAAA,WAAW,EAAE,yCAAyC/mM,KAAzC,CACT,GADS,CAJuB;AAOpCgnM,IAAAA,QAAQ,EAAE,8BAA8BhnM,KAA9B,CAAoC,GAApC,CAP0B;AAQpCinM,IAAAA,aAAa,EAAE,uBAAuBjnM,KAAvB,CAA6B,GAA7B,CARqB;AASpCknM,IAAAA,WAAW,EAAE,gBAAgBlnM,KAAhB,CAAsB,GAAtB,CATuB;AAUpCynM,IAAAA,cAAc,EAAE;AACZC,MAAAA,EAAE,EAAE,OADQ;AAEZC,MAAAA,GAAG,EAAE,UAFO;AAGZC,MAAAA,CAAC,EAAE,YAHS;AAIZC,MAAAA,EAAE,EAAE,WAJQ;AAKZC,MAAAA,GAAG,EAAE,iBALO;AAMZC,MAAAA,IAAI,EAAE,qBANM;AAOZoF,MAAAA,CAAC,EAAE,UAPS;AAQZH,MAAAA,EAAE,EAAE,WARQ;AASZC,MAAAA,GAAG,EAAE,iBATO;AAUZC,MAAAA,IAAI,EAAE;AAVM,KAVoB;AAsBpC/F,IAAAA,aAAa,EAAE,mBAtBqB;AAuBpCqE,IAAAA,YAAY,EAAE,UAAUvzE,IAAV,EAAgBovE,QAAhB,EAA0B;AACpC,UAAIpvE,IAAI,KAAK,EAAb,EAAiB;AACbA,QAAAA,IAAI,GAAG,CAAP;AACH;;AACD,UAAIovE,QAAQ,KAAK,IAAb,IAAqBA,QAAQ,KAAK,IAAlC,IAA0CA,QAAQ,KAAK,IAA3D,EAAiE;AAC7D,eAAOpvE,IAAP;AACH,OAFD,MAEO,IAAIovE,QAAQ,KAAK,IAAjB,EAAuB;AAC1B,eAAOpvE,IAAI,IAAI,EAAR,GAAaA,IAAb,GAAoBA,IAAI,GAAG,EAAlC;AACH,OAFM,MAEA,IAAIovE,QAAQ,KAAK,IAAb,IAAqBA,QAAQ,KAAK,IAAtC,EAA4C;AAC/C,eAAOpvE,IAAI,GAAG,EAAd;AACH;AACJ,KAlCmC;AAmCpCovE,IAAAA,QAAQ,EAAE,UAAUpvE,IAAV,EAAgB4xE,MAAhB,EAAwBrC,OAAxB,EAAiC;AACvC,UAAIiP,EAAE,GAAGx+E,IAAI,GAAG,GAAP,GAAa4xE,MAAtB;;AACA,UAAI4M,EAAE,GAAG,GAAT,EAAc;AACV,eAAO,IAAP;AACH,OAFD,MAEO,IAAIA,EAAE,GAAG,GAAT,EAAc;AACjB,eAAO,IAAP;AACH,OAFM,MAEA,IAAIA,EAAE,GAAG,IAAT,EAAe;AAClB,eAAO,IAAP;AACH,OAFM,MAEA,IAAIA,EAAE,GAAG,IAAT,EAAe;AAClB,eAAO,IAAP;AACH,OAFM,MAEA,IAAIA,EAAE,GAAG,IAAT,EAAe;AAClB,eAAO,IAAP;AACH,OAFM,MAEA;AACH,eAAO,IAAP;AACH;AACJ,KAlDmC;AAmDpCzO,IAAAA,QAAQ,EAAE;AACNC,MAAAA,OAAO,EAAE,SADH;AAENC,MAAAA,OAAO,EAAE,SAFH;AAGNC,MAAAA,QAAQ,EAAE,YAHJ;AAINC,MAAAA,OAAO,EAAE,SAJH;AAKNC,MAAAA,QAAQ,EAAE,YALJ;AAMNC,MAAAA,QAAQ,EAAE;AANJ,KAnD0B;AA2DpCW,IAAAA,sBAAsB,EAAE,gBA3DY;AA4DpCC,IAAAA,OAAO,EAAE,UAAUtgE,MAAV,EAAkBqiE,MAAlB,EAA0B;AAC/B,cAAQA,MAAR;AACI,aAAK,GAAL;AACA,aAAK,GAAL;AACA,aAAK,KAAL;AACI,iBAAOriE,MAAM,GAAG,GAAhB;;AACJ,aAAK,GAAL;AACI,iBAAOA,MAAM,GAAG,GAAhB;;AACJ,aAAK,GAAL;AACA,aAAK,GAAL;AACI,iBAAOA,MAAM,GAAG,GAAhB;;AACJ;AACI,iBAAOA,MAAP;AAXR;AAaH,KA1EmC;AA2EpC2/D,IAAAA,YAAY,EAAE;AACVC,MAAAA,MAAM,EAAE,KADE;AAEVC,MAAAA,IAAI,EAAE,KAFI;AAGVl9K,MAAAA,CAAC,EAAE,IAHO;AAIVm9K,MAAAA,EAAE,EAAE,MAJM;AAKVj7K,MAAAA,CAAC,EAAE,MALO;AAMVk7K,MAAAA,EAAE,EAAE,OANM;AAOV9wC,MAAAA,CAAC,EAAE,MAPO;AAQV+wC,MAAAA,EAAE,EAAE,OARM;AASV/9K,MAAAA,CAAC,EAAE,KATO;AAUVg+K,MAAAA,EAAE,EAAE,MAVM;AAWVC,MAAAA,CAAC,EAAE,MAXO;AAYVC,MAAAA,EAAE,EAAE,OAZM;AAaV/7K,MAAAA,CAAC,EAAE,KAbO;AAcVg8K,MAAAA,EAAE,EAAE;AAdM;AA3EsB,GAA7B,CAAX;AA6FA,SAAO0O,IAAP;AAEH,CAxGC,CAAD;;;;;;;;;;;ACLD;AACA;AACA;AACA;AACA;AAEA;;AAAE,WAAUtrD,MAAV,EAAkB98J,OAAlB,EAA2B;AACzB,UAA+DgvM,MAAM,CAACx2L,OAAP,GAAiBxY,OAAO,EAAvF,GACA,CADA;AAGH,CAJC,EAIA,IAJA,EAIO,YAAY;AAAE;;AAEnB,MAAIqoN,YAAJ;;AAEA,WAAS/5D,KAAT,GAAiB;AACb,WAAO+5D,YAAY,CAACjsL,KAAb,CAAmB,IAAnB,EAAyBD,SAAzB,CAAP;AACH,GANgB,CAQjB;AACA;;;AACA,WAASmsL,eAAT,CAAyB/+K,QAAzB,EAAmC;AAC/B8+K,IAAAA,YAAY,GAAG9+K,QAAf;AACH;;AAED,WAASwpE,OAAT,CAAiB7oD,KAAjB,EAAwB;AACpB,WACIA,KAAK,YAAYpzB,KAAjB,IACAhD,MAAM,CAAC8H,SAAP,CAAiBiT,QAAjB,CAA0B/T,IAA1B,CAA+BovB,KAA/B,MAA0C,gBAF9C;AAIH;;AAED,WAAS8vD,QAAT,CAAkB9vD,KAAlB,EAAyB;AACrB;AACA;AACA,WACIA,KAAK,IAAI,IAAT,IACAp2B,MAAM,CAAC8H,SAAP,CAAiBiT,QAAjB,CAA0B/T,IAA1B,CAA+BovB,KAA/B,MAA0C,iBAF9C;AAIH;;AAED,WAASq+J,UAAT,CAAoBx0I,CAApB,EAAuBv4C,CAAvB,EAA0B;AACtB,WAAO1H,MAAM,CAAC8H,SAAP,CAAiBC,cAAjB,CAAgCf,IAAhC,CAAqCi5C,CAArC,EAAwCv4C,CAAxC,CAAP;AACH;;AAED,WAASgtL,aAAT,CAAuB1gM,GAAvB,EAA4B;AACxB,QAAIgM,MAAM,CAAC20L,mBAAX,EAAgC;AAC5B,aAAO30L,MAAM,CAAC20L,mBAAP,CAA2B3gM,GAA3B,EAAgCxpB,MAAhC,KAA2C,CAAlD;AACH,KAFD,MAEO;AACH,UAAIw1E,CAAJ;;AACA,WAAKA,CAAL,IAAUhsD,GAAV,EAAe;AACX,YAAIygM,UAAU,CAACzgM,GAAD,EAAMgsD,CAAN,CAAd,EAAwB;AACpB,iBAAO,KAAP;AACH;AACJ;;AACD,aAAO,IAAP;AACH;AACJ;;AAED,WAASurC,WAAT,CAAqBn1D,KAArB,EAA4B;AACxB,WAAOA,KAAK,KAAK,KAAK,CAAtB;AACH;;AAED,WAASqnE,QAAT,CAAkBrnE,KAAlB,EAAyB;AACrB,WACI,OAAOA,KAAP,KAAiB,QAAjB,IACAp2B,MAAM,CAAC8H,SAAP,CAAiBiT,QAAjB,CAA0B/T,IAA1B,CAA+BovB,KAA/B,MAA0C,iBAF9C;AAIH;;AAED,WAAS+yF,MAAT,CAAgB/yF,KAAhB,EAAuB;AACnB,WACIA,KAAK,YAAYxQ,IAAjB,IACA5lB,MAAM,CAAC8H,SAAP,CAAiBiT,QAAjB,CAA0B/T,IAA1B,CAA+BovB,KAA/B,MAA0C,eAF9C;AAIH;;AAED,WAAS/uD,GAAT,CAAaqO,GAAb,EAAkBukJ,EAAlB,EAAsB;AAClB,QAAIjtI,GAAG,GAAG,EAAV;AAAA,QACIxY,CADJ;AAAA,QAEIogN,MAAM,GAAGl/M,GAAG,CAAClL,MAFjB;;AAGA,SAAKgK,CAAC,GAAG,CAAT,EAAYA,CAAC,GAAGogN,MAAhB,EAAwB,EAAEpgN,CAA1B,EAA6B;AACzBwY,MAAAA,GAAG,CAAC8W,IAAJ,CAASm2H,EAAE,CAACvkJ,GAAG,CAAClB,CAAD,CAAJ,EAASA,CAAT,CAAX;AACH;;AACD,WAAOwY,GAAP;AACH;;AAED,WAAS6nM,MAAT,CAAgB50I,CAAhB,EAAmBv4C,CAAnB,EAAsB;AAClB,SAAK,IAAIlzB,CAAT,IAAckzB,CAAd,EAAiB;AACb,UAAI+sL,UAAU,CAAC/sL,CAAD,EAAIlzB,CAAJ,CAAd,EAAsB;AAClByrE,QAAAA,CAAC,CAACzrE,CAAD,CAAD,GAAOkzB,CAAC,CAAClzB,CAAD,CAAR;AACH;AACJ;;AAED,QAAIigN,UAAU,CAAC/sL,CAAD,EAAI,UAAJ,CAAd,EAA+B;AAC3Bu4C,MAAAA,CAAC,CAACllC,QAAF,GAAarT,CAAC,CAACqT,QAAf;AACH;;AAED,QAAI05K,UAAU,CAAC/sL,CAAD,EAAI,SAAJ,CAAd,EAA8B;AAC1Bu4C,MAAAA,CAAC,CAAC60I,OAAF,GAAYptL,CAAC,CAACotL,OAAd;AACH;;AAED,WAAO70I,CAAP;AACH;;AAED,WAAS80I,SAAT,CAAmB3+J,KAAnB,EAA0B1jC,MAA1B,EAAkCsiM,MAAlC,EAA0CC,MAA1C,EAAkD;AAC9C,WAAOC,gBAAgB,CAAC9+J,KAAD,EAAQ1jC,MAAR,EAAgBsiM,MAAhB,EAAwBC,MAAxB,EAAgC,IAAhC,CAAhB,CAAsD9gM,GAAtD,EAAP;AACH;;AAED,WAASghM,mBAAT,GAA+B;AAC3B;AACA,WAAO;AACHC,MAAAA,KAAK,EAAE,KADJ;AAEHC,MAAAA,YAAY,EAAE,EAFX;AAGHC,MAAAA,WAAW,EAAE,EAHV;AAIH7+G,MAAAA,QAAQ,EAAE,CAAC,CAJR;AAKH8+G,MAAAA,aAAa,EAAE,CALZ;AAMHC,MAAAA,SAAS,EAAE,KANR;AAOHC,MAAAA,UAAU,EAAE,IAPT;AAQHC,MAAAA,YAAY,EAAE,IARX;AASHC,MAAAA,aAAa,EAAE,KATZ;AAUHC,MAAAA,eAAe,EAAE,KAVd;AAWHC,MAAAA,GAAG,EAAE,KAXF;AAYHC,MAAAA,eAAe,EAAE,EAZd;AAaHC,MAAAA,GAAG,EAAE,IAbF;AAcH9R,MAAAA,QAAQ,EAAE,IAdP;AAeH+R,MAAAA,OAAO,EAAE,KAfN;AAgBHC,MAAAA,eAAe,EAAE;AAhBd,KAAP;AAkBH;;AAED,WAASC,eAAT,CAAyB7rL,CAAzB,EAA4B;AACxB,QAAIA,CAAC,CAAC8rL,GAAF,IAAS,IAAb,EAAmB;AACf9rL,MAAAA,CAAC,CAAC8rL,GAAF,GAAQhB,mBAAmB,EAA3B;AACH;;AACD,WAAO9qL,CAAC,CAAC8rL,GAAT;AACH;;AAED,MAAIz8M,IAAJ;;AACA,MAAIspB,KAAK,CAAC8E,SAAN,CAAgBpuB,IAApB,EAA0B;AACtBA,IAAAA,IAAI,GAAGspB,KAAK,CAAC8E,SAAN,CAAgBpuB,IAAvB;AACH,GAFD,MAEO;AACHA,IAAAA,IAAI,GAAG,UAAU08M,GAAV,EAAe;AAClB,UAAIv4L,CAAC,GAAGmC,MAAM,CAAC,IAAD,CAAd;AAAA,UACIwgI,GAAG,GAAG3iI,CAAC,CAACrzB,MAAF,KAAa,CADvB;AAAA,UAEIgK,CAFJ;;AAIA,WAAKA,CAAC,GAAG,CAAT,EAAYA,CAAC,GAAGgsJ,GAAhB,EAAqBhsJ,CAAC,EAAtB,EAA0B;AACtB,YAAIA,CAAC,IAAIqpB,CAAL,IAAUu4L,GAAG,CAACpvL,IAAJ,CAAS,IAAT,EAAenJ,CAAC,CAACrpB,CAAD,CAAhB,EAAqBA,CAArB,EAAwBqpB,CAAxB,CAAd,EAA0C;AACtC,iBAAO,IAAP;AACH;AACJ;;AAED,aAAO,KAAP;AACH,KAZD;AAaH;;AAED,WAASu7F,OAAT,CAAiB/uF,CAAjB,EAAoB;AAChB,QAAIA,CAAC,CAACizI,QAAF,IAAc,IAAlB,EAAwB;AACpB,UAAIM,KAAK,GAAGs4C,eAAe,CAAC7rL,CAAD,CAA3B;AAAA,UACIgsL,WAAW,GAAG38M,IAAI,CAACstB,IAAL,CAAU42I,KAAK,CAACk4C,eAAhB,EAAiC,UAAUthN,CAAV,EAAa;AACxD,eAAOA,CAAC,IAAI,IAAZ;AACH,OAFa,CADlB;AAAA,UAII8hN,UAAU,GACN,CAAC/kM,KAAK,CAAC8Y,CAAC,CAAC0mC,EAAF,CAAKjrB,OAAL,EAAD,CAAN,IACA83H,KAAK,CAACnnE,QAAN,GAAiB,CADjB,IAEA,CAACmnE,KAAK,CAACw3C,KAFP,IAGA,CAACx3C,KAAK,CAAC63C,UAHP,IAIA,CAAC73C,KAAK,CAAC83C,YAJP,IAKA,CAAC93C,KAAK,CAAC24C,cALP,IAMA,CAAC34C,KAAK,CAACq4C,eANP,IAOA,CAACr4C,KAAK,CAAC43C,SAPP,IAQA,CAAC53C,KAAK,CAAC+3C,aARP,IASA,CAAC/3C,KAAK,CAACg4C,eATP,KAUC,CAACh4C,KAAK,CAACqmC,QAAP,IAAoBrmC,KAAK,CAACqmC,QAAN,IAAkBoS,WAVvC,CALR;;AAiBA,UAAIhsL,CAAC,CAACmsL,OAAN,EAAe;AACXF,QAAAA,UAAU,GACNA,UAAU,IACV14C,KAAK,CAAC23C,aAAN,KAAwB,CADxB,IAEA33C,KAAK,CAACy3C,YAAN,CAAmB7qN,MAAnB,KAA8B,CAF9B,IAGAozK,KAAK,CAAC64C,OAAN,KAAkBvmL,SAJtB;AAKH;;AAED,UAAIlQ,MAAM,CAAC02L,QAAP,IAAmB,IAAnB,IAA2B,CAAC12L,MAAM,CAAC02L,QAAP,CAAgBrsL,CAAhB,CAAhC,EAAoD;AAChDA,QAAAA,CAAC,CAACizI,QAAF,GAAag5C,UAAb;AACH,OAFD,MAEO;AACH,eAAOA,UAAP;AACH;AACJ;;AACD,WAAOjsL,CAAC,CAACizI,QAAT;AACH;;AAED,WAASq5C,aAAT,CAAuB/4C,KAAvB,EAA8B;AAC1B,QAAIvzI,CAAC,GAAG0qL,SAAS,CAAC6B,GAAD,CAAjB;;AACA,QAAIh5C,KAAK,IAAI,IAAb,EAAmB;AACfi3C,MAAAA,MAAM,CAACqB,eAAe,CAAC7rL,CAAD,CAAhB,EAAqBuzI,KAArB,CAAN;AACH,KAFD,MAEO;AACHs4C,MAAAA,eAAe,CAAC7rL,CAAD,CAAf,CAAmBurL,eAAnB,GAAqC,IAArC;AACH;;AAED,WAAOvrL,CAAP;AACH,GA/LgB,CAiMjB;AACA;;;AACA,MAAIk5K,gBAAgB,GAAI/oD,KAAK,CAAC+oD,gBAAN,GAAyB,EAAjD;AAAA,MACIsT,gBAAgB,GAAG,KADvB;;AAGA,WAASC,UAAT,CAAoBxsC,EAApB,EAAwBnvJ,IAAxB,EAA8B;AAC1B,QAAI3mB,CAAJ;AAAA,QACIgoI,IADJ;AAAA,QAEIzrC,GAFJ;AAAA,QAGIgmH,mBAAmB,GAAGxT,gBAAgB,CAAC/4M,MAH3C;;AAKA,QAAI,CAAC+gH,WAAW,CAACpwF,IAAI,CAAC67L,gBAAN,CAAhB,EAAyC;AACrC1sC,MAAAA,EAAE,CAAC0sC,gBAAH,GAAsB77L,IAAI,CAAC67L,gBAA3B;AACH;;AACD,QAAI,CAACzrG,WAAW,CAACpwF,IAAI,CAACq5D,EAAN,CAAhB,EAA2B;AACvB81F,MAAAA,EAAE,CAAC91F,EAAH,GAAQr5D,IAAI,CAACq5D,EAAb;AACH;;AACD,QAAI,CAAC+2B,WAAW,CAACpwF,IAAI,CAACqrD,EAAN,CAAhB,EAA2B;AACvB8jG,MAAAA,EAAE,CAAC9jG,EAAH,GAAQrrD,IAAI,CAACqrD,EAAb;AACH;;AACD,QAAI,CAAC+kC,WAAW,CAACpwF,IAAI,CAAC87L,EAAN,CAAhB,EAA2B;AACvB3sC,MAAAA,EAAE,CAAC2sC,EAAH,GAAQ97L,IAAI,CAAC87L,EAAb;AACH;;AACD,QAAI,CAAC1rG,WAAW,CAACpwF,IAAI,CAACq7L,OAAN,CAAhB,EAAgC;AAC5BlsC,MAAAA,EAAE,CAACksC,OAAH,GAAar7L,IAAI,CAACq7L,OAAlB;AACH;;AACD,QAAI,CAACjrG,WAAW,CAACpwF,IAAI,CAACgnL,IAAN,CAAhB,EAA6B;AACzB73B,MAAAA,EAAE,CAAC63B,IAAH,GAAUhnL,IAAI,CAACgnL,IAAf;AACH;;AACD,QAAI,CAAC52F,WAAW,CAACpwF,IAAI,CAAC0nL,MAAN,CAAhB,EAA+B;AAC3Bv4B,MAAAA,EAAE,CAACu4B,MAAH,GAAY1nL,IAAI,CAAC0nL,MAAjB;AACH;;AACD,QAAI,CAACt3F,WAAW,CAACpwF,IAAI,CAAC+7L,OAAN,CAAhB,EAAgC;AAC5B5sC,MAAAA,EAAE,CAAC4sC,OAAH,GAAa/7L,IAAI,CAAC+7L,OAAlB;AACH;;AACD,QAAI,CAAC3rG,WAAW,CAACpwF,IAAI,CAACg7L,GAAN,CAAhB,EAA4B;AACxB7rC,MAAAA,EAAE,CAAC6rC,GAAH,GAASD,eAAe,CAAC/6L,IAAD,CAAxB;AACH;;AACD,QAAI,CAACowF,WAAW,CAACpwF,IAAI,CAACg8L,OAAN,CAAhB,EAAgC;AAC5B7sC,MAAAA,EAAE,CAAC6sC,OAAH,GAAah8L,IAAI,CAACg8L,OAAlB;AACH;;AAED,QAAIJ,mBAAmB,GAAG,CAA1B,EAA6B;AACzB,WAAKviN,CAAC,GAAG,CAAT,EAAYA,CAAC,GAAGuiN,mBAAhB,EAAqCviN,CAAC,EAAtC,EAA0C;AACtCgoI,QAAAA,IAAI,GAAG+mE,gBAAgB,CAAC/uM,CAAD,CAAvB;AACAu8F,QAAAA,GAAG,GAAG51E,IAAI,CAACqhH,IAAD,CAAV;;AACA,YAAI,CAACjxB,WAAW,CAACxa,GAAD,CAAhB,EAAuB;AACnBu5E,UAAAA,EAAE,CAAC9tC,IAAD,CAAF,GAAWzrC,GAAX;AACH;AACJ;AACJ;;AAED,WAAOu5E,EAAP;AACH,GAtPgB,CAwPjB;;;AACA,WAAS8sC,MAAT,CAAgB75N,MAAhB,EAAwB;AACpBu5N,IAAAA,UAAU,CAAC,IAAD,EAAOv5N,MAAP,CAAV;AACA,SAAKwzE,EAAL,GAAU,IAAInrB,IAAJ,CAASroD,MAAM,CAACwzE,EAAP,IAAa,IAAb,GAAoBxzE,MAAM,CAACwzE,EAAP,CAAUjrB,OAAV,EAApB,GAA0C8wK,GAAnD,CAAV;;AACA,QAAI,CAAC,KAAKx9F,OAAL,EAAL,EAAqB;AACjB,WAAKroD,EAAL,GAAU,IAAInrB,IAAJ,CAASgxK,GAAT,CAAV;AACH,KALmB,CAMpB;AACA;;;AACA,QAAIC,gBAAgB,KAAK,KAAzB,EAAgC;AAC5BA,MAAAA,gBAAgB,GAAG,IAAnB;AACAr8D,MAAAA,KAAK,CAACkoD,YAAN,CAAmB,IAAnB;AACAmU,MAAAA,gBAAgB,GAAG,KAAnB;AACH;AACJ;;AAED,WAASzU,QAAT,CAAkBpuL,GAAlB,EAAuB;AACnB,WACIA,GAAG,YAAYojM,MAAf,IAA0BpjM,GAAG,IAAI,IAAP,IAAeA,GAAG,CAACgjM,gBAAJ,IAAwB,IADrE;AAGH;;AAED,WAASvmB,IAAT,CAAcx5E,GAAd,EAAmB;AACf,QACIujC,KAAK,CAAC68D,2BAAN,KAAsC,KAAtC,IACA,OAAO13N,OAAP,KAAmB,WADnB,IAEAA,OAAO,CAAC8wM,IAHZ,EAIE;AACE9wM,MAAAA,OAAO,CAAC8wM,IAAR,CAAa,0BAA0Bx5E,GAAvC;AACH;AACJ;;AAED,WAASqgG,SAAT,CAAmBrgG,GAAnB,EAAwBgjC,EAAxB,EAA4B;AACxB,QAAIs9D,SAAS,GAAG,IAAhB;AAEA,WAAO1C,MAAM,CAAC,YAAY;AACtB,UAAIr6D,KAAK,CAACg9D,kBAAN,IAA4B,IAAhC,EAAsC;AAClCh9D,QAAAA,KAAK,CAACg9D,kBAAN,CAAyB,IAAzB,EAA+BvgG,GAA/B;AACH;;AACD,UAAIsgG,SAAJ,EAAe;AACX,YAAItvG,IAAI,GAAG,EAAX;AAAA,YACIqrD,GADJ;AAAA,YAEI9+J,CAFJ;AAAA,YAGImvB,GAHJ;AAAA,YAIIyvI,MAAM,GAAG/qI,SAAS,CAAC79B,MAJvB;;AAKA,aAAKgK,CAAC,GAAG,CAAT,EAAYA,CAAC,GAAG4+J,MAAhB,EAAwB5+J,CAAC,EAAzB,EAA6B;AACzB8+J,UAAAA,GAAG,GAAG,EAAN;;AACA,cAAI,OAAOjrI,SAAS,CAAC7zB,CAAD,CAAhB,KAAwB,QAA5B,EAAsC;AAClC8+J,YAAAA,GAAG,IAAI,QAAQ9+J,CAAR,GAAY,IAAnB;;AACA,iBAAKmvB,GAAL,IAAY0E,SAAS,CAAC,CAAD,CAArB,EAA0B;AACtB,kBAAIosL,UAAU,CAACpsL,SAAS,CAAC,CAAD,CAAV,EAAe1E,GAAf,CAAd,EAAmC;AAC/B2vI,gBAAAA,GAAG,IAAI3vI,GAAG,GAAG,IAAN,GAAa0E,SAAS,CAAC,CAAD,CAAT,CAAa1E,GAAb,CAAb,GAAiC,IAAxC;AACH;AACJ;;AACD2vI,YAAAA,GAAG,GAAGA,GAAG,CAAC/8D,KAAJ,CAAU,CAAV,EAAa,CAAC,CAAd,CAAN,CAPkC,CAOV;AAC3B,WARD,MAQO;AACH+8D,YAAAA,GAAG,GAAGjrI,SAAS,CAAC7zB,CAAD,CAAf;AACH;;AACDyzG,UAAAA,IAAI,CAACnkF,IAAL,CAAUwvI,GAAV;AACH;;AACDm9B,QAAAA,IAAI,CACAx5E,GAAG,GACC,eADJ,GAEIj0F,KAAK,CAAC8E,SAAN,CAAgByuE,KAAhB,CAAsBvvE,IAAtB,CAA2BihF,IAA3B,EAAiCr9G,IAAjC,CAAsC,EAAtC,CAFJ,GAGI,IAHJ,GAII,IAAIogD,KAAJ,GAAYm9D,KALhB,CAAJ;AAOAovG,QAAAA,SAAS,GAAG,KAAZ;AACH;;AACD,aAAOt9D,EAAE,CAAC3xH,KAAH,CAAS,IAAT,EAAeD,SAAf,CAAP;AACH,KAnCY,EAmCV4xH,EAnCU,CAAb;AAoCH;;AAED,MAAIw9D,YAAY,GAAG,EAAnB;;AAEA,WAASC,eAAT,CAAyBrpN,IAAzB,EAA+B4oH,GAA/B,EAAoC;AAChC,QAAIujC,KAAK,CAACg9D,kBAAN,IAA4B,IAAhC,EAAsC;AAClCh9D,MAAAA,KAAK,CAACg9D,kBAAN,CAAyBnpN,IAAzB,EAA+B4oH,GAA/B;AACH;;AACD,QAAI,CAACwgG,YAAY,CAACppN,IAAD,CAAjB,EAAyB;AACrBoiM,MAAAA,IAAI,CAACx5E,GAAD,CAAJ;AACAwgG,MAAAA,YAAY,CAACppN,IAAD,CAAZ,GAAqB,IAArB;AACH;AACJ;;AAEDmsJ,EAAAA,KAAK,CAAC68D,2BAAN,GAAoC,KAApC;AACA78D,EAAAA,KAAK,CAACg9D,kBAAN,GAA2B,IAA3B;;AAEA,WAASpsG,UAAT,CAAoBh1D,KAApB,EAA2B;AACvB,WACK,OAAO4nI,QAAP,KAAoB,WAApB,IAAmC5nI,KAAK,YAAY4nI,QAArD,IACAh+J,MAAM,CAAC8H,SAAP,CAAiBiT,QAAjB,CAA0B/T,IAA1B,CAA+BovB,KAA/B,MAA0C,mBAF9C;AAIH;;AAED,WAASzzB,GAAT,CAAaplC,MAAb,EAAqB;AACjB,QAAIi/I,IAAJ,EAAUhoI,CAAV;;AACA,SAAKA,CAAL,IAAUjX,MAAV,EAAkB;AACd,UAAIk3N,UAAU,CAACl3N,MAAD,EAASiX,CAAT,CAAd,EAA2B;AACvBgoI,QAAAA,IAAI,GAAGj/I,MAAM,CAACiX,CAAD,CAAb;;AACA,YAAI42G,UAAU,CAACoxB,IAAD,CAAd,EAAsB;AAClB,eAAKhoI,CAAL,IAAUgoI,IAAV;AACH,SAFD,MAEO;AACH,eAAK,MAAMhoI,CAAX,IAAgBgoI,IAAhB;AACH;AACJ;AACJ;;AACD,SAAKv8B,OAAL,GAAe1iH,MAAf,CAZiB,CAajB;AACA;AACA;;AACA,SAAKo6N,8BAAL,GAAsC,IAAI1kM,MAAJ,CAClC,CAAC,KAAK2kM,uBAAL,CAA6Bx9K,MAA7B,IAAuC,KAAKy9K,aAAL,CAAmBz9K,MAA3D,IACI,GADJ,GAEI,UAAUA,MAHoB,CAAtC;AAKH;;AAED,WAAS09K,YAAT,CAAsBC,YAAtB,EAAoCC,WAApC,EAAiD;AAC7C,QAAIhrM,GAAG,GAAG6nM,MAAM,CAAC,EAAD,EAAKkD,YAAL,CAAhB;AAAA,QACIv7E,IADJ;;AAEA,SAAKA,IAAL,IAAaw7E,WAAb,EAA0B;AACtB,UAAIvD,UAAU,CAACuD,WAAD,EAAcx7E,IAAd,CAAd,EAAmC;AAC/B,YAAIt2B,QAAQ,CAAC6xG,YAAY,CAACv7E,IAAD,CAAb,CAAR,IAAgCt2B,QAAQ,CAAC8xG,WAAW,CAACx7E,IAAD,CAAZ,CAA5C,EAAiE;AAC7DxvH,UAAAA,GAAG,CAACwvH,IAAD,CAAH,GAAY,EAAZ;AACAq4E,UAAAA,MAAM,CAAC7nM,GAAG,CAACwvH,IAAD,CAAJ,EAAYu7E,YAAY,CAACv7E,IAAD,CAAxB,CAAN;AACAq4E,UAAAA,MAAM,CAAC7nM,GAAG,CAACwvH,IAAD,CAAJ,EAAYw7E,WAAW,CAACx7E,IAAD,CAAvB,CAAN;AACH,SAJD,MAIO,IAAIw7E,WAAW,CAACx7E,IAAD,CAAX,IAAqB,IAAzB,EAA+B;AAClCxvH,UAAAA,GAAG,CAACwvH,IAAD,CAAH,GAAYw7E,WAAW,CAACx7E,IAAD,CAAvB;AACH,SAFM,MAEA;AACH,iBAAOxvH,GAAG,CAACwvH,IAAD,CAAV;AACH;AACJ;AACJ;;AACD,SAAKA,IAAL,IAAau7E,YAAb,EAA2B;AACvB,UACItD,UAAU,CAACsD,YAAD,EAAev7E,IAAf,CAAV,IACA,CAACi4E,UAAU,CAACuD,WAAD,EAAcx7E,IAAd,CADX,IAEAt2B,QAAQ,CAAC6xG,YAAY,CAACv7E,IAAD,CAAb,CAHZ,EAIE;AACE;AACAxvH,QAAAA,GAAG,CAACwvH,IAAD,CAAH,GAAYq4E,MAAM,CAAC,EAAD,EAAK7nM,GAAG,CAACwvH,IAAD,CAAR,CAAlB;AACH;AACJ;;AACD,WAAOxvH,GAAP;AACH;;AAED,WAASirM,MAAT,CAAgB16N,MAAhB,EAAwB;AACpB,QAAIA,MAAM,IAAI,IAAd,EAAoB;AAChB,WAAKolC,GAAL,CAASplC,MAAT;AACH;AACJ;;AAED,MAAI2lC,IAAJ;;AAEA,MAAIlD,MAAM,CAACkD,IAAX,EAAiB;AACbA,IAAAA,IAAI,GAAGlD,MAAM,CAACkD,IAAd;AACH,GAFD,MAEO;AACHA,IAAAA,IAAI,GAAG,UAAUlP,GAAV,EAAe;AAClB,UAAIxf,CAAJ;AAAA,UACIwY,GAAG,GAAG,EADV;;AAEA,WAAKxY,CAAL,IAAUwf,GAAV,EAAe;AACX,YAAIygM,UAAU,CAACzgM,GAAD,EAAMxf,CAAN,CAAd,EAAwB;AACpBwY,UAAAA,GAAG,CAAC8W,IAAJ,CAAStvB,CAAT;AACH;AACJ;;AACD,aAAOwY,GAAP;AACH,KATD;AAUH;;AAED,MAAIkrM,eAAe,GAAG;AAClBrT,IAAAA,OAAO,EAAE,eADS;AAElBC,IAAAA,OAAO,EAAE,kBAFS;AAGlBC,IAAAA,QAAQ,EAAE,cAHQ;AAIlBC,IAAAA,OAAO,EAAE,mBAJS;AAKlBC,IAAAA,QAAQ,EAAE,qBALQ;AAMlBC,IAAAA,QAAQ,EAAE;AANQ,GAAtB;;AASA,WAASN,QAAT,CAAkBjhL,GAAlB,EAAuBo6K,GAAvB,EAA4Bp5I,GAA5B,EAAiC;AAC7B,QAAIysE,MAAM,GAAG,KAAK+mF,SAAL,CAAex0L,GAAf,KAAuB,KAAKw0L,SAAL,CAAe,UAAf,CAApC;AACA,WAAO/sG,UAAU,CAACgmB,MAAD,CAAV,GAAqBA,MAAM,CAACpqG,IAAP,CAAY+2K,GAAZ,EAAiBp5I,GAAjB,CAArB,GAA6CysE,MAApD;AACH;;AAED,WAASgnF,QAAT,CAAkB5yE,MAAlB,EAA0B6yE,YAA1B,EAAwCC,SAAxC,EAAmD;AAC/C,QAAIC,SAAS,GAAG,KAAKx+J,IAAI,CAAC+4E,GAAL,CAAS0S,MAAT,CAArB;AAAA,QACIgzE,WAAW,GAAGH,YAAY,GAAGE,SAAS,CAAC/tN,MAD3C;AAAA,QAEIgrD,IAAI,GAAGgwF,MAAM,IAAI,CAFrB;AAGA,WACI,CAAChwF,IAAI,GAAI8iK,SAAS,GAAG,GAAH,GAAS,EAAtB,GAA4B,GAAjC,IACAv+J,IAAI,CAACq2E,GAAL,CAAS,EAAT,EAAar2E,IAAI,CAAC1qC,GAAL,CAAS,CAAT,EAAYmpM,WAAZ,CAAb,EAAuCz9K,QAAvC,GAAkD+hG,MAAlD,CAAyD,CAAzD,CADA,GAEAy7E,SAHJ;AAKH;;AAED,MAAIE,gBAAgB,GACZ,wMADR;AAAA,MAEIC,qBAAqB,GAAG,4CAF5B;AAAA,MAGIC,eAAe,GAAG,EAHtB;AAAA,MAIIC,oBAAoB,GAAG,EAJ3B,CA3biB,CAicjB;AACA;AACA;AACA;;AACA,WAASC,cAAT,CAAwB56L,KAAxB,EAA+B66L,MAA/B,EAAuChT,OAAvC,EAAgDrwK,QAAhD,EAA0D;AACtD,QAAIo7F,IAAI,GAAGp7F,QAAX;;AACA,QAAI,OAAOA,QAAP,KAAoB,QAAxB,EAAkC;AAC9Bo7F,MAAAA,IAAI,GAAG,YAAY;AACf,eAAO,KAAKp7F,QAAL,GAAP;AACH,OAFD;AAGH;;AACD,QAAIxX,KAAJ,EAAW;AACP26L,MAAAA,oBAAoB,CAAC36L,KAAD,CAApB,GAA8B4yG,IAA9B;AACH;;AACD,QAAIioF,MAAJ,EAAY;AACRF,MAAAA,oBAAoB,CAACE,MAAM,CAAC,CAAD,CAAP,CAApB,GAAkC,YAAY;AAC1C,eAAOV,QAAQ,CAACvnF,IAAI,CAACvoG,KAAL,CAAW,IAAX,EAAiBD,SAAjB,CAAD,EAA8BywL,MAAM,CAAC,CAAD,CAApC,EAAyCA,MAAM,CAAC,CAAD,CAA/C,CAAf;AACH,OAFD;AAGH;;AACD,QAAIhT,OAAJ,EAAa;AACT8S,MAAAA,oBAAoB,CAAC9S,OAAD,CAApB,GAAgC,YAAY;AACxC,eAAO,KAAKiT,UAAL,GAAkBjT,OAAlB,CACHj1E,IAAI,CAACvoG,KAAL,CAAW,IAAX,EAAiBD,SAAjB,CADG,EAEHpK,KAFG,CAAP;AAIH,OALD;AAMH;AACJ;;AAED,WAAS+6L,sBAAT,CAAgC5iK,KAAhC,EAAuC;AACnC,QAAIA,KAAK,CAAC2xB,KAAN,CAAY,UAAZ,CAAJ,EAA6B;AACzB,aAAO3xB,KAAK,CAACl5C,OAAN,CAAc,UAAd,EAA0B,EAA1B,CAAP;AACH;;AACD,WAAOk5C,KAAK,CAACl5C,OAAN,CAAc,KAAd,EAAqB,EAArB,CAAP;AACH;;AAED,WAAS+7M,kBAAT,CAA4BvmM,MAA5B,EAAoC;AAChC,QAAIo+E,KAAK,GAAGp+E,MAAM,CAACq1D,KAAP,CAAa0wI,gBAAb,CAAZ;AAAA,QACIjkN,CADJ;AAAA,QAEIhK,MAFJ;;AAIA,SAAKgK,CAAC,GAAG,CAAJ,EAAOhK,MAAM,GAAGsmG,KAAK,CAACtmG,MAA3B,EAAmCgK,CAAC,GAAGhK,MAAvC,EAA+CgK,CAAC,EAAhD,EAAoD;AAChD,UAAIokN,oBAAoB,CAAC9nH,KAAK,CAACt8F,CAAD,CAAN,CAAxB,EAAoC;AAChCs8F,QAAAA,KAAK,CAACt8F,CAAD,CAAL,GAAWokN,oBAAoB,CAAC9nH,KAAK,CAACt8F,CAAD,CAAN,CAA/B;AACH,OAFD,MAEO;AACHs8F,QAAAA,KAAK,CAACt8F,CAAD,CAAL,GAAWwkN,sBAAsB,CAACloH,KAAK,CAACt8F,CAAD,CAAN,CAAjC;AACH;AACJ;;AAED,WAAO,UAAUupM,GAAV,EAAe;AAClB,UAAI3sE,MAAM,GAAG,EAAb;AAAA,UACI58H,CADJ;;AAEA,WAAKA,CAAC,GAAG,CAAT,EAAYA,CAAC,GAAGhK,MAAhB,EAAwBgK,CAAC,EAAzB,EAA6B;AACzB48H,QAAAA,MAAM,IAAIhmB,UAAU,CAACta,KAAK,CAACt8F,CAAD,CAAN,CAAV,GACJs8F,KAAK,CAACt8F,CAAD,CAAL,CAASwyB,IAAT,CAAc+2K,GAAd,EAAmBrrL,MAAnB,CADI,GAEJo+E,KAAK,CAACt8F,CAAD,CAFX;AAGH;;AACD,aAAO48H,MAAP;AACH,KATD;AAUH,GA5fgB,CA8fjB;;;AACA,WAAS8nF,YAAT,CAAsB7uL,CAAtB,EAAyB3X,MAAzB,EAAiC;AAC7B,QAAI,CAAC2X,CAAC,CAAC+uF,OAAF,EAAL,EAAkB;AACd,aAAO/uF,CAAC,CAAC0uL,UAAF,GAAehN,WAAf,EAAP;AACH;;AAEDr5L,IAAAA,MAAM,GAAGymM,YAAY,CAACzmM,MAAD,EAAS2X,CAAC,CAAC0uL,UAAF,EAAT,CAArB;AACAJ,IAAAA,eAAe,CAACjmM,MAAD,CAAf,GACIimM,eAAe,CAACjmM,MAAD,CAAf,IAA2BumM,kBAAkB,CAACvmM,MAAD,CADjD;AAGA,WAAOimM,eAAe,CAACjmM,MAAD,CAAf,CAAwB2X,CAAxB,CAAP;AACH;;AAED,WAAS8uL,YAAT,CAAsBzmM,MAAtB,EAA8BsiM,MAA9B,EAAsC;AAClC,QAAIxgN,CAAC,GAAG,CAAR;;AAEA,aAAS4kN,2BAAT,CAAqChjK,KAArC,EAA4C;AACxC,aAAO4+J,MAAM,CAAC3Q,cAAP,CAAsBjuJ,KAAtB,KAAgCA,KAAvC;AACH;;AAEDsiK,IAAAA,qBAAqB,CAACW,SAAtB,GAAkC,CAAlC;;AACA,WAAO7kN,CAAC,IAAI,CAAL,IAAUkkN,qBAAqB,CAACxlM,IAAtB,CAA2BR,MAA3B,CAAjB,EAAqD;AACjDA,MAAAA,MAAM,GAAGA,MAAM,CAACxV,OAAP,CACLw7M,qBADK,EAELU,2BAFK,CAAT;AAIAV,MAAAA,qBAAqB,CAACW,SAAtB,GAAkC,CAAlC;AACA7kN,MAAAA,CAAC,IAAI,CAAL;AACH;;AAED,WAAOke,MAAP;AACH;;AAED,MAAI4mM,qBAAqB,GAAG;AACxB/U,IAAAA,GAAG,EAAE,WADmB;AAExBD,IAAAA,EAAE,EAAE,QAFoB;AAGxBE,IAAAA,CAAC,EAAE,YAHqB;AAIxBC,IAAAA,EAAE,EAAE,cAJoB;AAKxBC,IAAAA,GAAG,EAAE,qBALmB;AAMxBC,IAAAA,IAAI,EAAE;AANkB,GAA5B;;AASA,WAASN,cAAT,CAAwB1gL,GAAxB,EAA6B;AACzB,QAAIjR,MAAM,GAAG,KAAK6mM,eAAL,CAAqB51L,GAArB,CAAb;AAAA,QACI61L,WAAW,GAAG,KAAKD,eAAL,CAAqB51L,GAAG,CAACu8D,WAAJ,EAArB,CADlB;;AAGA,QAAIxtE,MAAM,IAAI,CAAC8mM,WAAf,EAA4B;AACxB,aAAO9mM,MAAP;AACH;;AAED,SAAK6mM,eAAL,CAAqB51L,GAArB,IAA4B61L,WAAW,CAClCzxI,KADuB,CACjB0wI,gBADiB,EAEvBpxN,GAFuB,CAEnB,UAAUoyN,GAAV,EAAe;AAChB,UACIA,GAAG,KAAK,MAAR,IACAA,GAAG,KAAK,IADR,IAEAA,GAAG,KAAK,IAFR,IAGAA,GAAG,KAAK,MAJZ,EAKE;AACE,eAAOA,GAAG,CAACljH,KAAJ,CAAU,CAAV,CAAP;AACH;;AACD,aAAOkjH,GAAP;AACH,KAZuB,EAavB7uN,IAbuB,CAalB,EAbkB,CAA5B;AAeA,WAAO,KAAK2uN,eAAL,CAAqB51L,GAArB,CAAP;AACH;;AAED,MAAI+1L,kBAAkB,GAAG,cAAzB;;AAEA,WAAS3N,WAAT,GAAuB;AACnB,WAAO,KAAK4N,YAAZ;AACH;;AAED,MAAIC,cAAc,GAAG,IAArB;AAAA,MACIC,6BAA6B,GAAG,SADpC;;AAGA,WAAS/T,OAAT,CAAiBtgE,MAAjB,EAAyB;AACrB,WAAO,KAAKs0E,QAAL,CAAc58M,OAAd,CAAsB,IAAtB,EAA4BsoI,MAA5B,CAAP;AACH;;AAED,MAAIu0E,mBAAmB,GAAG;AACtB3U,IAAAA,MAAM,EAAE,OADc;AAEtBC,IAAAA,IAAI,EAAE,QAFgB;AAGtBl9K,IAAAA,CAAC,EAAE,eAHmB;AAItBm9K,IAAAA,EAAE,EAAE,YAJkB;AAKtBj7K,IAAAA,CAAC,EAAE,UALmB;AAMtBk7K,IAAAA,EAAE,EAAE,YANkB;AAOtB9wC,IAAAA,CAAC,EAAE,SAPmB;AAQtB+wC,IAAAA,EAAE,EAAE,UARkB;AAStB/9K,IAAAA,CAAC,EAAE,OATmB;AAUtBg+K,IAAAA,EAAE,EAAE,SAVkB;AAWtBx5C,IAAAA,CAAC,EAAE,QAXmB;AAYtB87C,IAAAA,EAAE,EAAE,UAZkB;AAatBrC,IAAAA,CAAC,EAAE,SAbmB;AActBC,IAAAA,EAAE,EAAE,WAdkB;AAetB/7K,IAAAA,CAAC,EAAE,QAfmB;AAgBtBg8K,IAAAA,EAAE,EAAE;AAhBkB,GAA1B;;AAmBA,WAAST,YAAT,CAAsB3/D,MAAtB,EAA8B6gE,aAA9B,EAA6CnK,MAA7C,EAAqDoK,QAArD,EAA+D;AAC3D,QAAIl1E,MAAM,GAAG,KAAK4oF,aAAL,CAAmB9d,MAAnB,CAAb;AACA,WAAO9wF,UAAU,CAACgmB,MAAD,CAAV,GACDA,MAAM,CAACoU,MAAD,EAAS6gE,aAAT,EAAwBnK,MAAxB,EAAgCoK,QAAhC,CADL,GAEDl1E,MAAM,CAACl0H,OAAP,CAAe,KAAf,EAAsBsoI,MAAtB,CAFN;AAGH;;AAED,WAASy0E,UAAT,CAAoBhb,IAApB,EAA0B7tE,MAA1B,EAAkC;AAC9B,QAAI1+G,MAAM,GAAG,KAAKsnM,aAAL,CAAmB/a,IAAI,GAAG,CAAP,GAAW,QAAX,GAAsB,MAAzC,CAAb;AACA,WAAO7zF,UAAU,CAAC14F,MAAD,CAAV,GAAqBA,MAAM,CAAC0+G,MAAD,CAA3B,GAAsC1+G,MAAM,CAACxV,OAAP,CAAe,KAAf,EAAsBk0H,MAAtB,CAA7C;AACH;;AAED,MAAIxoD,OAAO,GAAG,EAAd;;AAEA,WAASsxI,YAAT,CAAsBC,IAAtB,EAA4BC,SAA5B,EAAuC;AACnC,QAAIC,SAAS,GAAGF,IAAI,CAACj1L,WAAL,EAAhB;AACA0jD,IAAAA,OAAO,CAACyxI,SAAD,CAAP,GAAqBzxI,OAAO,CAACyxI,SAAS,GAAG,GAAb,CAAP,GAA2BzxI,OAAO,CAACwxI,SAAD,CAAP,GAAqBD,IAArE;AACH;;AAED,WAASG,cAAT,CAAwBlL,KAAxB,EAA+B;AAC3B,WAAO,OAAOA,KAAP,KAAiB,QAAjB,GACDxmI,OAAO,CAACwmI,KAAD,CAAP,IAAkBxmI,OAAO,CAACwmI,KAAK,CAAClqL,WAAN,EAAD,CADxB,GAEDgL,SAFN;AAGH;;AAED,WAASqqL,oBAAT,CAA8BC,WAA9B,EAA2C;AACvC,QAAIC,eAAe,GAAG,EAAtB;AAAA,QACIC,cADJ;AAAA,QAEIl+E,IAFJ;;AAIA,SAAKA,IAAL,IAAag+E,WAAb,EAA0B;AACtB,UAAI/F,UAAU,CAAC+F,WAAD,EAAch+E,IAAd,CAAd,EAAmC;AAC/Bk+E,QAAAA,cAAc,GAAGJ,cAAc,CAAC99E,IAAD,CAA/B;;AACA,YAAIk+E,cAAJ,EAAoB;AAChBD,UAAAA,eAAe,CAACC,cAAD,CAAf,GAAkCF,WAAW,CAACh+E,IAAD,CAA7C;AACH;AACJ;AACJ;;AAED,WAAOi+E,eAAP;AACH;;AAED,MAAIE,UAAU,GAAG,EAAjB;;AAEA,WAASC,eAAT,CAAyBT,IAAzB,EAA+B32G,QAA/B,EAAyC;AACrCm3G,IAAAA,UAAU,CAACR,IAAD,CAAV,GAAmB32G,QAAnB;AACH;;AAED,WAASq3G,mBAAT,CAA6BC,QAA7B,EAAuC;AACnC,QAAI1L,KAAK,GAAG,EAAZ;AAAA,QACIzsM,CADJ;;AAEA,SAAKA,CAAL,IAAUm4M,QAAV,EAAoB;AAChB,UAAIrG,UAAU,CAACqG,QAAD,EAAWn4M,CAAX,CAAd,EAA6B;AACzBysM,QAAAA,KAAK,CAACtrL,IAAN,CAAW;AAAEq2L,UAAAA,IAAI,EAAEx3M,CAAR;AAAW6gG,UAAAA,QAAQ,EAAEm3G,UAAU,CAACh4M,CAAD;AAA/B,SAAX;AACH;AACJ;;AACDysM,IAAAA,KAAK,CAAC1wI,IAAN,CAAW,UAAUuB,CAAV,EAAav4C,CAAb,EAAgB;AACvB,aAAOu4C,CAAC,CAACujC,QAAF,GAAa97E,CAAC,CAAC87E,QAAtB;AACH,KAFD;AAGA,WAAO4rG,KAAP;AACH;;AAED,WAAS2L,UAAT,CAAoBC,IAApB,EAA0B;AACtB,WAAQA,IAAI,GAAG,CAAP,KAAa,CAAb,IAAkBA,IAAI,GAAG,GAAP,KAAe,CAAlC,IAAwCA,IAAI,GAAG,GAAP,KAAe,CAA9D;AACH;;AAED,WAASC,QAAT,CAAkBz1E,MAAlB,EAA0B;AACtB,QAAIA,MAAM,GAAG,CAAb,EAAgB;AACZ;AACA,aAAOzrF,IAAI,CAACyC,IAAL,CAAUgpF,MAAV,KAAqB,CAA5B;AACH,KAHD,MAGO;AACH,aAAOzrF,IAAI,CAACkwC,KAAL,CAAWu7C,MAAX,CAAP;AACH;AACJ;;AAED,WAAS01E,KAAT,CAAeC,mBAAf,EAAoC;AAChC,QAAIC,aAAa,GAAG,CAACD,mBAArB;AAAA,QACIpsN,KAAK,GAAG,CADZ;;AAGA,QAAIqsN,aAAa,KAAK,CAAlB,IAAuBC,QAAQ,CAACD,aAAD,CAAnC,EAAoD;AAChDrsN,MAAAA,KAAK,GAAGksN,QAAQ,CAACG,aAAD,CAAhB;AACH;;AAED,WAAOrsN,KAAP;AACH;;AAED,WAASusN,UAAT,CAAoBnB,IAApB,EAA0BxX,QAA1B,EAAoC;AAChC,WAAO,UAAU5zM,KAAV,EAAiB;AACpB,UAAIA,KAAK,IAAI,IAAb,EAAmB;AACfwsN,QAAAA,KAAK,CAAC,IAAD,EAAOpB,IAAP,EAAaprN,KAAb,CAAL;AACAyrJ,QAAAA,KAAK,CAACkoD,YAAN,CAAmB,IAAnB,EAAyBC,QAAzB;AACA,eAAO,IAAP;AACH,OAJD,MAIO;AACH,eAAOrkN,GAAG,CAAC,IAAD,EAAO67N,IAAP,CAAV;AACH;AACJ,KARD;AASH;;AAED,WAAS77N,GAAT,CAAay/M,GAAb,EAAkBoc,IAAlB,EAAwB;AACpB,WAAOpc,GAAG,CAAC3kF,OAAJ,KACD2kF,GAAG,CAAChtI,EAAJ,CAAO,SAASgtI,GAAG,CAAC8E,MAAJ,GAAa,KAAb,GAAqB,EAA9B,IAAoCsX,IAA3C,GADC,GAEDvD,GAFN;AAGH;;AAED,WAAS2E,KAAT,CAAexd,GAAf,EAAoBoc,IAApB,EAA0BprN,KAA1B,EAAiC;AAC7B,QAAIgvM,GAAG,CAAC3kF,OAAJ,MAAiB,CAAC7nG,KAAK,CAACxiB,KAAD,CAA3B,EAAoC;AAChC,UACIorN,IAAI,KAAK,UAAT,IACAY,UAAU,CAAChd,GAAG,CAACid,IAAJ,EAAD,CADV,IAEAjd,GAAG,CAACiN,KAAJ,OAAgB,CAFhB,IAGAjN,GAAG,CAACv1F,IAAJ,OAAe,EAJnB,EAKE;AACEz5G,QAAAA,KAAK,GAAGmsN,KAAK,CAACnsN,KAAD,CAAb;;AACAgvM,QAAAA,GAAG,CAAChtI,EAAJ,CAAO,SAASgtI,GAAG,CAAC8E,MAAJ,GAAa,KAAb,GAAqB,EAA9B,IAAoCsX,IAA3C,EACIprN,KADJ,EAEIgvM,GAAG,CAACiN,KAAJ,EAFJ,EAGIwQ,WAAW,CAACzsN,KAAD,EAAQgvM,GAAG,CAACiN,KAAJ,EAAR,CAHf;AAKH,OAZD,MAYO;AACHjN,QAAAA,GAAG,CAAChtI,EAAJ,CAAO,SAASgtI,GAAG,CAAC8E,MAAJ,GAAa,KAAb,GAAqB,EAA9B,IAAoCsX,IAA3C,EAAiDprN,KAAjD;AACH;AACJ;AACJ,GA5tBgB,CA8tBjB;;;AAEA,WAAS0sN,SAAT,CAAmBrM,KAAnB,EAA0B;AACtBA,IAAAA,KAAK,GAAGkL,cAAc,CAAClL,KAAD,CAAtB;;AACA,QAAIhkG,UAAU,CAAC,KAAKgkG,KAAL,CAAD,CAAd,EAA6B;AACzB,aAAO,KAAKA,KAAL,GAAP;AACH;;AACD,WAAO,IAAP;AACH;;AAED,WAASsM,SAAT,CAAmBtM,KAAnB,EAA0BrgN,KAA1B,EAAiC;AAC7B,QAAI,OAAOqgN,KAAP,KAAiB,QAArB,EAA+B;AAC3BA,MAAAA,KAAK,GAAGmL,oBAAoB,CAACnL,KAAD,CAA5B;AACA,UAAIuM,WAAW,GAAGd,mBAAmB,CAACzL,KAAD,CAArC;AAAA,UACI56M,CADJ;AAAA,UAEIonN,cAAc,GAAGD,WAAW,CAACnxN,MAFjC;;AAGA,WAAKgK,CAAC,GAAG,CAAT,EAAYA,CAAC,GAAGonN,cAAhB,EAAgCpnN,CAAC,EAAjC,EAAqC;AACjC,aAAKmnN,WAAW,CAACnnN,CAAD,CAAX,CAAe2lN,IAApB,EAA0B/K,KAAK,CAACuM,WAAW,CAACnnN,CAAD,CAAX,CAAe2lN,IAAhB,CAA/B;AACH;AACJ,KARD,MAQO;AACH/K,MAAAA,KAAK,GAAGkL,cAAc,CAAClL,KAAD,CAAtB;;AACA,UAAIhkG,UAAU,CAAC,KAAKgkG,KAAL,CAAD,CAAd,EAA6B;AACzB,eAAO,KAAKA,KAAL,EAAYrgN,KAAZ,CAAP;AACH;AACJ;;AACD,WAAO,IAAP;AACH;;AAED,MAAI8sN,MAAM,GAAG,IAAb;AAAA,MAAmB;AACfC,EAAAA,MAAM,GAAG,MADb;AAAA,MACqB;AACjBC,EAAAA,MAAM,GAAG,OAFb;AAAA,MAEsB;AAClBC,EAAAA,MAAM,GAAG,OAHb;AAAA,MAGsB;AAClBC,EAAAA,MAAM,GAAG,YAJb;AAAA,MAI2B;AACvBC,EAAAA,SAAS,GAAG,OALhB;AAAA,MAKyB;AACrBC,EAAAA,SAAS,GAAG,WANhB;AAAA,MAM6B;AACzBC,EAAAA,SAAS,GAAG,eAPhB;AAAA,MAOiC;AAC7BC,EAAAA,SAAS,GAAG,SARhB;AAAA,MAQ2B;AACvBC,EAAAA,SAAS,GAAG,SAThB;AAAA,MAS2B;AACvBC,EAAAA,SAAS,GAAG,cAVhB;AAAA,MAUgC;AAC5BC,EAAAA,aAAa,GAAG,KAXpB;AAAA,MAW2B;AACvBC,EAAAA,WAAW,GAAG,UAZlB;AAAA,MAY8B;AAC1BC,EAAAA,WAAW,GAAG,oBAblB;AAAA,MAawC;AACpCC,EAAAA,gBAAgB,GAAG,yBAdvB;AAAA,MAckD;AAC9CC,EAAAA,cAAc,GAAG,sBAfrB;AAAA,MAe6C;AACzC;AACA;AACAC,EAAAA,SAAS,GACL,uJAnBR;AAAA,MAoBIC,OApBJ;AAsBAA,EAAAA,OAAO,GAAG,EAAV;;AAEA,WAASC,aAAT,CAAuB9+L,KAAvB,EAA8BjL,KAA9B,EAAqCgqM,WAArC,EAAkD;AAC9CF,IAAAA,OAAO,CAAC7+L,KAAD,CAAP,GAAiBmtF,UAAU,CAACp4F,KAAD,CAAV,GACXA,KADW,GAEX,UAAUiqM,QAAV,EAAoBlE,UAApB,EAAgC;AAC5B,aAAOkE,QAAQ,IAAID,WAAZ,GAA0BA,WAA1B,GAAwChqM,KAA/C;AACH,KAJP;AAKH;;AAED,WAASkqM,qBAAT,CAA+Bj/L,KAA/B,EAAsC1gC,MAAtC,EAA8C;AAC1C,QAAI,CAACk3N,UAAU,CAACqI,OAAD,EAAU7+L,KAAV,CAAf,EAAiC;AAC7B,aAAO,IAAIhL,MAAJ,CAAWkqM,cAAc,CAACl/L,KAAD,CAAzB,CAAP;AACH;;AAED,WAAO6+L,OAAO,CAAC7+L,KAAD,CAAP,CAAe1gC,MAAM,CAACi5N,OAAtB,EAA+Bj5N,MAAM,CAAC45N,OAAtC,CAAP;AACH,GAhyBgB,CAkyBjB;;;AACA,WAASgG,cAAT,CAAwBh1L,CAAxB,EAA2B;AACvB,WAAOi1L,WAAW,CACdj1L,CAAC,CACIjrB,OADL,CACa,IADb,EACmB,EADnB,EAEKA,OAFL,CAGQ,qCAHR,EAIQ,UAAUmgN,OAAV,EAAmBC,EAAnB,EAAuBC,EAAvB,EAA2BC,EAA3B,EAA+BC,EAA/B,EAAmC;AAC/B,aAAOH,EAAE,IAAIC,EAAN,IAAYC,EAAZ,IAAkBC,EAAzB;AACH,KANT,CADc,CAAlB;AAUH;;AAED,WAASL,WAAT,CAAqBj1L,CAArB,EAAwB;AACpB,WAAOA,CAAC,CAACjrB,OAAF,CAAU,wBAAV,EAAoC,MAApC,CAAP;AACH;;AAED,MAAIwyK,MAAM,GAAG,EAAb;;AAEA,WAASguC,aAAT,CAAuBz/L,KAAvB,EAA8BwX,QAA9B,EAAwC;AACpC,QAAIjhC,CAAJ;AAAA,QACIq8H,IAAI,GAAGp7F,QADX;AAAA,QAEIkoL,QAFJ;;AAGA,QAAI,OAAO1/L,KAAP,KAAiB,QAArB,EAA+B;AAC3BA,MAAAA,KAAK,GAAG,CAACA,KAAD,CAAR;AACH;;AACD,QAAIw/F,QAAQ,CAAChoF,QAAD,CAAZ,EAAwB;AACpBo7F,MAAAA,IAAI,GAAG,UAAUz6E,KAAV,EAAiB06C,KAAjB,EAAwB;AAC3BA,QAAAA,KAAK,CAACr7D,QAAD,CAAL,GAAkBylL,KAAK,CAAC9kK,KAAD,CAAvB;AACH,OAFD;AAGH;;AACDunK,IAAAA,QAAQ,GAAG1/L,KAAK,CAACzzB,MAAjB;;AACA,SAAKgK,CAAC,GAAG,CAAT,EAAYA,CAAC,GAAGmpN,QAAhB,EAA0BnpN,CAAC,EAA3B,EAA+B;AAC3Bk7K,MAAAA,MAAM,CAACzxJ,KAAK,CAACzpB,CAAD,CAAN,CAAN,GAAmBq8H,IAAnB;AACH;AACJ;;AAED,WAAS+sF,iBAAT,CAA2B3/L,KAA3B,EAAkCwX,QAAlC,EAA4C;AACxCioL,IAAAA,aAAa,CAACz/L,KAAD,EAAQ,UAAUm4B,KAAV,EAAiB06C,KAAjB,EAAwBvzG,MAAxB,EAAgC0gC,KAAhC,EAAuC;AACxD1gC,MAAAA,MAAM,CAACsgO,EAAP,GAAYtgO,MAAM,CAACsgO,EAAP,IAAa,EAAzB;AACApoL,MAAAA,QAAQ,CAAC2gB,KAAD,EAAQ74D,MAAM,CAACsgO,EAAf,EAAmBtgO,MAAnB,EAA2B0gC,KAA3B,CAAR;AACH,KAHY,CAAb;AAIH;;AAED,WAAS6/L,uBAAT,CAAiC7/L,KAAjC,EAAwCm4B,KAAxC,EAA+C74D,MAA/C,EAAuD;AACnD,QAAI64D,KAAK,IAAI,IAAT,IAAiBq+J,UAAU,CAAC/kC,MAAD,EAASzxJ,KAAT,CAA/B,EAAgD;AAC5CyxJ,MAAAA,MAAM,CAACzxJ,KAAD,CAAN,CAAcm4B,KAAd,EAAqB74D,MAAM,CAACqwC,EAA5B,EAAgCrwC,MAAhC,EAAwC0gC,KAAxC;AACH;AACJ;;AAED,MAAI8/L,IAAI,GAAG,CAAX;AAAA,MACIC,KAAK,GAAG,CADZ;AAAA,MAEIC,IAAI,GAAG,CAFX;AAAA,MAGIC,IAAI,GAAG,CAHX;AAAA,MAIIC,MAAM,GAAG,CAJb;AAAA,MAKIC,MAAM,GAAG,CALb;AAAA,MAMIC,WAAW,GAAG,CANlB;AAAA,MAOIC,IAAI,GAAG,CAPX;AAAA,MAQIC,OAAO,GAAG,CARd;;AAUA,WAAS3nC,GAAT,CAAaxuJ,CAAb,EAAgB9tB,CAAhB,EAAmB;AACf,WAAO,CAAE8tB,CAAC,GAAG9tB,CAAL,GAAUA,CAAX,IAAgBA,CAAvB;AACH;;AAED,MAAIrE,OAAJ;;AAEA,MAAI+sB,KAAK,CAAC8E,SAAN,CAAgB7xB,OAApB,EAA6B;AACzBA,IAAAA,OAAO,GAAG+sB,KAAK,CAAC8E,SAAN,CAAgB7xB,OAA1B;AACH,GAFD,MAEO;AACHA,IAAAA,OAAO,GAAG,UAAUm0B,CAAV,EAAa;AACnB;AACA,UAAI51B,CAAJ;;AACA,WAAKA,CAAC,GAAG,CAAT,EAAYA,CAAC,GAAG,KAAKhK,MAArB,EAA6B,EAAEgK,CAA/B,EAAkC;AAC9B,YAAI,KAAKA,CAAL,MAAY41B,CAAhB,EAAmB;AACf,iBAAO51B,CAAP;AACH;AACJ;;AACD,aAAO,CAAC,CAAR;AACH,KATD;AAUH;;AAED,WAASgnN,WAAT,CAAqBR,IAArB,EAA2BhQ,KAA3B,EAAkC;AAC9B,QAAIz5L,KAAK,CAACypM,IAAD,CAAL,IAAezpM,KAAK,CAACy5L,KAAD,CAAxB,EAAiC;AAC7B,aAAO4L,GAAP;AACH;;AACD,QAAI4H,QAAQ,GAAG5nC,GAAG,CAACo0B,KAAD,EAAQ,EAAR,CAAlB;AACAgQ,IAAAA,IAAI,IAAI,CAAChQ,KAAK,GAAGwT,QAAT,IAAqB,EAA7B;AACA,WAAOA,QAAQ,KAAK,CAAb,GACDzD,UAAU,CAACC,IAAD,CAAV,GACI,EADJ,GAEI,EAHH,GAID,KAAOwD,QAAQ,GAAG,CAAZ,GAAiB,CAJ7B;AAKH,GA/3BgB,CAi4BjB;;;AAEA3F,EAAAA,cAAc,CAAC,GAAD,EAAM,CAAC,IAAD,EAAO,CAAP,CAAN,EAAiB,IAAjB,EAAuB,YAAY;AAC7C,WAAO,KAAK7N,KAAL,KAAe,CAAtB;AACH,GAFa,CAAd;AAIA6N,EAAAA,cAAc,CAAC,KAAD,EAAQ,CAAR,EAAW,CAAX,EAAc,UAAUnmM,MAAV,EAAkB;AAC1C,WAAO,KAAKqmM,UAAL,GAAkBpV,WAAlB,CAA8B,IAA9B,EAAoCjxL,MAApC,CAAP;AACH,GAFa,CAAd;AAIAmmM,EAAAA,cAAc,CAAC,MAAD,EAAS,CAAT,EAAY,CAAZ,EAAe,UAAUnmM,MAAV,EAAkB;AAC3C,WAAO,KAAKqmM,UAAL,GAAkBrV,MAAlB,CAAyB,IAAzB,EAA+BhxL,MAA/B,CAAP;AACH,GAFa,CAAd,CA34BiB,CA+4BjB;;AAEAwnM,EAAAA,YAAY,CAAC,OAAD,EAAU,GAAV,CAAZ,CAj5BiB,CAm5BjB;;AAEAU,EAAAA,eAAe,CAAC,OAAD,EAAU,CAAV,CAAf,CAr5BiB,CAu5BjB;;AAEAmC,EAAAA,aAAa,CAAC,GAAD,EAAMb,SAAN,CAAb;AACAa,EAAAA,aAAa,CAAC,IAAD,EAAOb,SAAP,EAAkBJ,MAAlB,CAAb;AACAiB,EAAAA,aAAa,CAAC,KAAD,EAAQ,UAAUE,QAAV,EAAoBjI,MAApB,EAA4B;AAC7C,WAAOA,MAAM,CAACzM,gBAAP,CAAwB0U,QAAxB,CAAP;AACH,GAFY,CAAb;AAGAF,EAAAA,aAAa,CAAC,MAAD,EAAS,UAAUE,QAAV,EAAoBjI,MAApB,EAA4B;AAC9C,WAAOA,MAAM,CAAChM,WAAP,CAAmBiU,QAAnB,CAAP;AACH,GAFY,CAAb;AAIAS,EAAAA,aAAa,CAAC,CAAC,GAAD,EAAM,IAAN,CAAD,EAAc,UAAUtnK,KAAV,EAAiB06C,KAAjB,EAAwB;AAC/CA,IAAAA,KAAK,CAACktH,KAAD,CAAL,GAAe9C,KAAK,CAAC9kK,KAAD,CAAL,GAAe,CAA9B;AACH,GAFY,CAAb;AAIAsnK,EAAAA,aAAa,CAAC,CAAC,KAAD,EAAQ,MAAR,CAAD,EAAkB,UAAUtnK,KAAV,EAAiB06C,KAAjB,EAAwBvzG,MAAxB,EAAgC0gC,KAAhC,EAAuC;AAClE,QAAI+sL,KAAK,GAAGztN,MAAM,CAAC45N,OAAP,CAAepO,WAAf,CAA2B3yJ,KAA3B,EAAkCn4B,KAAlC,EAAyC1gC,MAAM,CAACi5N,OAAhD,CAAZ,CADkE,CAElE;;;AACA,QAAIxL,KAAK,IAAI,IAAb,EAAmB;AACfl6G,MAAAA,KAAK,CAACktH,KAAD,CAAL,GAAehT,KAAf;AACH,KAFD,MAEO;AACHkL,MAAAA,eAAe,CAAC34N,MAAD,CAAf,CAAwBm4N,YAAxB,GAAuCt/J,KAAvC;AACH;AACJ,GARY,CAAb,CAt6BiB,CAg7BjB;;AAEA,MAAIqoK,mBAAmB,GACf,wFAAwF7hN,KAAxF,CACI,GADJ,CADR;AAAA,MAII8hN,wBAAwB,GACpB,kDAAkD9hN,KAAlD,CAAwD,GAAxD,CALR;AAAA,MAMI+hN,gBAAgB,GAAG,+BANvB;AAAA,MAOIC,uBAAuB,GAAG/B,SAP9B;AAAA,MAQIgC,kBAAkB,GAAGhC,SARzB;;AAUA,WAASiC,YAAT,CAAsBz0L,CAAtB,EAAyB3X,MAAzB,EAAiC;AAC7B,QAAI,CAAC2X,CAAL,EAAQ;AACJ,aAAO40E,OAAO,CAAC,KAAK8/G,OAAN,CAAP,GACD,KAAKA,OADJ,GAED,KAAKA,OAAL,CAAa,YAAb,CAFN;AAGH;;AACD,WAAO9/G,OAAO,CAAC,KAAK8/G,OAAN,CAAP,GACD,KAAKA,OAAL,CAAa10L,CAAC,CAAC2gL,KAAF,EAAb,CADC,GAED,KAAK+T,OAAL,CACI,CAAC,KAAKA,OAAL,CAAapX,QAAb,IAAyBgX,gBAA1B,EAA4CzrM,IAA5C,CAAiDR,MAAjD,IACM,QADN,GAEM,YAHV,EAIE2X,CAAC,CAAC2gL,KAAF,EAJF,CAFN;AAOH;;AAED,WAASgU,iBAAT,CAA2B30L,CAA3B,EAA8B3X,MAA9B,EAAsC;AAClC,QAAI,CAAC2X,CAAL,EAAQ;AACJ,aAAO40E,OAAO,CAAC,KAAKggH,YAAN,CAAP,GACD,KAAKA,YADJ,GAED,KAAKA,YAAL,CAAkB,YAAlB,CAFN;AAGH;;AACD,WAAOhgH,OAAO,CAAC,KAAKggH,YAAN,CAAP,GACD,KAAKA,YAAL,CAAkB50L,CAAC,CAAC2gL,KAAF,EAAlB,CADC,GAED,KAAKiU,YAAL,CACIN,gBAAgB,CAACzrM,IAAjB,CAAsBR,MAAtB,IAAgC,QAAhC,GAA2C,YAD/C,EAEE2X,CAAC,CAAC2gL,KAAF,EAFF,CAFN;AAKH;;AAED,WAASkU,iBAAT,CAA2BC,SAA3B,EAAsCzsM,MAAtC,EAA8CuiM,MAA9C,EAAsD;AAClD,QAAIzgN,CAAJ;AAAA,QACI4qN,EADJ;AAAA,QAEIrhB,GAFJ;AAAA,QAGIshB,GAAG,GAAGF,SAAS,CAACG,iBAAV,EAHV;;AAIA,QAAI,CAAC,KAAKC,YAAV,EAAwB;AACpB;AACA,WAAKA,YAAL,GAAoB,EAApB;AACA,WAAKC,gBAAL,GAAwB,EAAxB;AACA,WAAKC,iBAAL,GAAyB,EAAzB;;AACA,WAAKjrN,CAAC,GAAG,CAAT,EAAYA,CAAC,GAAG,EAAhB,EAAoB,EAAEA,CAAtB,EAAyB;AACrBupM,QAAAA,GAAG,GAAGgX,SAAS,CAAC,CAAC,IAAD,EAAOvgN,CAAP,CAAD,CAAf;AACA,aAAKirN,iBAAL,CAAuBjrN,CAAvB,IAA4B,KAAKmvM,WAAL,CACxB5F,GADwB,EAExB,EAFwB,EAG1BuhB,iBAH0B,EAA5B;AAIA,aAAKE,gBAAL,CAAsBhrN,CAAtB,IAA2B,KAAKkvM,MAAL,CAAY3F,GAAZ,EAAiB,EAAjB,EAAqBuhB,iBAArB,EAA3B;AACH;AACJ;;AAED,QAAIrK,MAAJ,EAAY;AACR,UAAIviM,MAAM,KAAK,KAAf,EAAsB;AAClB0sM,QAAAA,EAAE,GAAGnpN,OAAO,CAAC+wB,IAAR,CAAa,KAAKy4L,iBAAlB,EAAqCJ,GAArC,CAAL;AACA,eAAOD,EAAE,KAAK,CAAC,CAAR,GAAYA,EAAZ,GAAiB,IAAxB;AACH,OAHD,MAGO;AACHA,QAAAA,EAAE,GAAGnpN,OAAO,CAAC+wB,IAAR,CAAa,KAAKw4L,gBAAlB,EAAoCH,GAApC,CAAL;AACA,eAAOD,EAAE,KAAK,CAAC,CAAR,GAAYA,EAAZ,GAAiB,IAAxB;AACH;AACJ,KARD,MAQO;AACH,UAAI1sM,MAAM,KAAK,KAAf,EAAsB;AAClB0sM,QAAAA,EAAE,GAAGnpN,OAAO,CAAC+wB,IAAR,CAAa,KAAKy4L,iBAAlB,EAAqCJ,GAArC,CAAL;;AACA,YAAID,EAAE,KAAK,CAAC,CAAZ,EAAe;AACX,iBAAOA,EAAP;AACH;;AACDA,QAAAA,EAAE,GAAGnpN,OAAO,CAAC+wB,IAAR,CAAa,KAAKw4L,gBAAlB,EAAoCH,GAApC,CAAL;AACA,eAAOD,EAAE,KAAK,CAAC,CAAR,GAAYA,EAAZ,GAAiB,IAAxB;AACH,OAPD,MAOO;AACHA,QAAAA,EAAE,GAAGnpN,OAAO,CAAC+wB,IAAR,CAAa,KAAKw4L,gBAAlB,EAAoCH,GAApC,CAAL;;AACA,YAAID,EAAE,KAAK,CAAC,CAAZ,EAAe;AACX,iBAAOA,EAAP;AACH;;AACDA,QAAAA,EAAE,GAAGnpN,OAAO,CAAC+wB,IAAR,CAAa,KAAKy4L,iBAAlB,EAAqCJ,GAArC,CAAL;AACA,eAAOD,EAAE,KAAK,CAAC,CAAR,GAAYA,EAAZ,GAAiB,IAAxB;AACH;AACJ;AACJ;;AAED,WAASM,iBAAT,CAA2BP,SAA3B,EAAsCzsM,MAAtC,EAA8CuiM,MAA9C,EAAsD;AAClD,QAAIzgN,CAAJ,EAAOupM,GAAP,EAAY/qL,KAAZ;;AAEA,QAAI,KAAK2sM,iBAAT,EAA4B;AACxB,aAAOT,iBAAiB,CAACl4L,IAAlB,CAAuB,IAAvB,EAA6Bm4L,SAA7B,EAAwCzsM,MAAxC,EAAgDuiM,MAAhD,CAAP;AACH;;AAED,QAAI,CAAC,KAAKsK,YAAV,EAAwB;AACpB,WAAKA,YAAL,GAAoB,EAApB;AACA,WAAKC,gBAAL,GAAwB,EAAxB;AACA,WAAKC,iBAAL,GAAyB,EAAzB;AACH,KAXiD,CAalD;AACA;AACA;;;AACA,SAAKjrN,CAAC,GAAG,CAAT,EAAYA,CAAC,GAAG,EAAhB,EAAoBA,CAAC,EAArB,EAAyB;AACrB;AACAupM,MAAAA,GAAG,GAAGgX,SAAS,CAAC,CAAC,IAAD,EAAOvgN,CAAP,CAAD,CAAf;;AACA,UAAIygN,MAAM,IAAI,CAAC,KAAKuK,gBAAL,CAAsBhrN,CAAtB,CAAf,EAAyC;AACrC,aAAKgrN,gBAAL,CAAsBhrN,CAAtB,IAA2B,IAAIye,MAAJ,CACvB,MAAM,KAAKywL,MAAL,CAAY3F,GAAZ,EAAiB,EAAjB,EAAqB7gM,OAArB,CAA6B,GAA7B,EAAkC,EAAlC,CAAN,GAA8C,GADvB,EAEvB,GAFuB,CAA3B;AAIA,aAAKuiN,iBAAL,CAAuBjrN,CAAvB,IAA4B,IAAIye,MAAJ,CACxB,MAAM,KAAK0wL,WAAL,CAAiB5F,GAAjB,EAAsB,EAAtB,EAA0B7gM,OAA1B,CAAkC,GAAlC,EAAuC,EAAvC,CAAN,GAAmD,GAD3B,EAExB,GAFwB,CAA5B;AAIH;;AACD,UAAI,CAAC+3M,MAAD,IAAW,CAAC,KAAKsK,YAAL,CAAkB/qN,CAAlB,CAAhB,EAAsC;AAClCwe,QAAAA,KAAK,GACD,MAAM,KAAK0wL,MAAL,CAAY3F,GAAZ,EAAiB,EAAjB,CAAN,GAA6B,IAA7B,GAAoC,KAAK4F,WAAL,CAAiB5F,GAAjB,EAAsB,EAAtB,CADxC;AAEA,aAAKwhB,YAAL,CAAkB/qN,CAAlB,IAAuB,IAAIye,MAAJ,CAAWD,KAAK,CAAC9V,OAAN,CAAc,GAAd,EAAmB,EAAnB,CAAX,EAAmC,GAAnC,CAAvB;AACH,OAjBoB,CAkBrB;;;AACA,UACI+3M,MAAM,IACNviM,MAAM,KAAK,MADX,IAEA,KAAK8sM,gBAAL,CAAsBhrN,CAAtB,EAAyB0e,IAAzB,CAA8BisM,SAA9B,CAHJ,EAIE;AACE,eAAO3qN,CAAP;AACH,OAND,MAMO,IACHygN,MAAM,IACNviM,MAAM,KAAK,KADX,IAEA,KAAK+sM,iBAAL,CAAuBjrN,CAAvB,EAA0B0e,IAA1B,CAA+BisM,SAA/B,CAHG,EAIL;AACE,eAAO3qN,CAAP;AACH,OANM,MAMA,IAAI,CAACygN,MAAD,IAAW,KAAKsK,YAAL,CAAkB/qN,CAAlB,EAAqB0e,IAArB,CAA0BisM,SAA1B,CAAf,EAAqD;AACxD,eAAO3qN,CAAP;AACH;AACJ;AACJ,GA1jCgB,CA4jCjB;;;AAEA,WAASorN,QAAT,CAAkB7hB,GAAlB,EAAuBhvM,KAAvB,EAA8B;AAC1B,QAAI8wN,UAAJ;;AAEA,QAAI,CAAC9hB,GAAG,CAAC3kF,OAAJ,EAAL,EAAoB;AAChB;AACA,aAAO2kF,GAAP;AACH;;AAED,QAAI,OAAOhvM,KAAP,KAAiB,QAArB,EAA+B;AAC3B,UAAI,QAAQmkB,IAAR,CAAankB,KAAb,CAAJ,EAAyB;AACrBA,QAAAA,KAAK,GAAGmsN,KAAK,CAACnsN,KAAD,CAAb;AACH,OAFD,MAEO;AACHA,QAAAA,KAAK,GAAGgvM,GAAG,CAACgb,UAAJ,GAAiBhQ,WAAjB,CAA6Bh6M,KAA7B,CAAR,CADG,CAEH;;AACA,YAAI,CAAC0uH,QAAQ,CAAC1uH,KAAD,CAAb,EAAsB;AAClB,iBAAOgvM,GAAP;AACH;AACJ;AACJ;;AAED8hB,IAAAA,UAAU,GAAG9lK,IAAI,CAACzqC,GAAL,CAASyuL,GAAG,CAACv1F,IAAJ,EAAT,EAAqBgzG,WAAW,CAACzd,GAAG,CAACid,IAAJ,EAAD,EAAajsN,KAAb,CAAhC,CAAb;;AACAgvM,IAAAA,GAAG,CAAChtI,EAAJ,CAAO,SAASgtI,GAAG,CAAC8E,MAAJ,GAAa,KAAb,GAAqB,EAA9B,IAAoC,OAA3C,EAAoD9zM,KAApD,EAA2D8wN,UAA3D;;AACA,WAAO9hB,GAAP;AACH;;AAED,WAAS+hB,WAAT,CAAqB/wN,KAArB,EAA4B;AACxB,QAAIA,KAAK,IAAI,IAAb,EAAmB;AACf6wN,MAAAA,QAAQ,CAAC,IAAD,EAAO7wN,KAAP,CAAR;AACAyrJ,MAAAA,KAAK,CAACkoD,YAAN,CAAmB,IAAnB,EAAyB,IAAzB;AACA,aAAO,IAAP;AACH,KAJD,MAIO;AACH,aAAOpkN,GAAG,CAAC,IAAD,EAAO,OAAP,CAAV;AACH;AACJ;;AAED,WAASyhO,cAAT,GAA0B;AACtB,WAAOvE,WAAW,CAAC,KAAKR,IAAL,EAAD,EAAc,KAAKhQ,KAAL,EAAd,CAAlB;AACH;;AAED,WAASzC,gBAAT,CAA0B0U,QAA1B,EAAoC;AAChC,QAAI,KAAK0C,iBAAT,EAA4B;AACxB,UAAI,CAAClL,UAAU,CAAC,IAAD,EAAO,cAAP,CAAf,EAAuC;AACnCuL,QAAAA,kBAAkB,CAACh5L,IAAnB,CAAwB,IAAxB;AACH;;AACD,UAAIi2L,QAAJ,EAAc;AACV,eAAO,KAAKgD,uBAAZ;AACH,OAFD,MAEO;AACH,eAAO,KAAKC,iBAAZ;AACH;AACJ,KATD,MASO;AACH,UAAI,CAACzL,UAAU,CAAC,IAAD,EAAO,mBAAP,CAAf,EAA4C;AACxC,aAAKyL,iBAAL,GAAyBtB,uBAAzB;AACH;;AACD,aAAO,KAAKqB,uBAAL,IAAgChD,QAAhC,GACD,KAAKgD,uBADJ,GAED,KAAKC,iBAFX;AAGH;AACJ;;AAED,WAASlX,WAAT,CAAqBiU,QAArB,EAA+B;AAC3B,QAAI,KAAK0C,iBAAT,EAA4B;AACxB,UAAI,CAAClL,UAAU,CAAC,IAAD,EAAO,cAAP,CAAf,EAAuC;AACnCuL,QAAAA,kBAAkB,CAACh5L,IAAnB,CAAwB,IAAxB;AACH;;AACD,UAAIi2L,QAAJ,EAAc;AACV,eAAO,KAAKkD,kBAAZ;AACH,OAFD,MAEO;AACH,eAAO,KAAKC,YAAZ;AACH;AACJ,KATD,MASO;AACH,UAAI,CAAC3L,UAAU,CAAC,IAAD,EAAO,cAAP,CAAf,EAAuC;AACnC,aAAK2L,YAAL,GAAoBvB,kBAApB;AACH;;AACD,aAAO,KAAKsB,kBAAL,IAA2BlD,QAA3B,GACD,KAAKkD,kBADJ,GAED,KAAKC,YAFX;AAGH;AACJ;;AAED,WAASJ,kBAAT,GAA8B;AAC1B,aAASK,SAAT,CAAmBpgJ,CAAnB,EAAsBv4C,CAAtB,EAAyB;AACrB,aAAOA,CAAC,CAACl9B,MAAF,GAAWy1E,CAAC,CAACz1E,MAApB;AACH;;AAED,QAAI81N,WAAW,GAAG,EAAlB;AAAA,QACIC,UAAU,GAAG,EADjB;AAAA,QAEIC,WAAW,GAAG,EAFlB;AAAA,QAGIhsN,CAHJ;AAAA,QAIIupM,GAJJ;;AAKA,SAAKvpM,CAAC,GAAG,CAAT,EAAYA,CAAC,GAAG,EAAhB,EAAoBA,CAAC,EAArB,EAAyB;AACrB;AACAupM,MAAAA,GAAG,GAAGgX,SAAS,CAAC,CAAC,IAAD,EAAOvgN,CAAP,CAAD,CAAf;AACA8rN,MAAAA,WAAW,CAACx8L,IAAZ,CAAiB,KAAK6/K,WAAL,CAAiB5F,GAAjB,EAAsB,EAAtB,CAAjB;AACAwiB,MAAAA,UAAU,CAACz8L,IAAX,CAAgB,KAAK4/K,MAAL,CAAY3F,GAAZ,EAAiB,EAAjB,CAAhB;AACAyiB,MAAAA,WAAW,CAAC18L,IAAZ,CAAiB,KAAK4/K,MAAL,CAAY3F,GAAZ,EAAiB,EAAjB,CAAjB;AACAyiB,MAAAA,WAAW,CAAC18L,IAAZ,CAAiB,KAAK6/K,WAAL,CAAiB5F,GAAjB,EAAsB,EAAtB,CAAjB;AACH,KAjByB,CAkB1B;AACA;;;AACAuiB,IAAAA,WAAW,CAAC5hJ,IAAZ,CAAiB2hJ,SAAjB;AACAE,IAAAA,UAAU,CAAC7hJ,IAAX,CAAgB2hJ,SAAhB;AACAG,IAAAA,WAAW,CAAC9hJ,IAAZ,CAAiB2hJ,SAAjB;;AACA,SAAK7rN,CAAC,GAAG,CAAT,EAAYA,CAAC,GAAG,EAAhB,EAAoBA,CAAC,EAArB,EAAyB;AACrB8rN,MAAAA,WAAW,CAAC9rN,CAAD,CAAX,GAAiB4oN,WAAW,CAACkD,WAAW,CAAC9rN,CAAD,CAAZ,CAA5B;AACA+rN,MAAAA,UAAU,CAAC/rN,CAAD,CAAV,GAAgB4oN,WAAW,CAACmD,UAAU,CAAC/rN,CAAD,CAAX,CAA3B;AACH;;AACD,SAAKA,CAAC,GAAG,CAAT,EAAYA,CAAC,GAAG,EAAhB,EAAoBA,CAAC,EAArB,EAAyB;AACrBgsN,MAAAA,WAAW,CAAChsN,CAAD,CAAX,GAAiB4oN,WAAW,CAACoD,WAAW,CAAChsN,CAAD,CAAZ,CAA5B;AACH;;AAED,SAAK4rN,YAAL,GAAoB,IAAIntM,MAAJ,CAAW,OAAOutM,WAAW,CAAC51N,IAAZ,CAAiB,GAAjB,CAAP,GAA+B,GAA1C,EAA+C,GAA/C,CAApB;AACA,SAAKs1N,iBAAL,GAAyB,KAAKE,YAA9B;AACA,SAAKD,kBAAL,GAA0B,IAAIltM,MAAJ,CACtB,OAAOstM,UAAU,CAAC31N,IAAX,CAAgB,GAAhB,CAAP,GAA8B,GADR,EAEtB,GAFsB,CAA1B;AAIA,SAAKq1N,uBAAL,GAA+B,IAAIhtM,MAAJ,CAC3B,OAAOqtM,WAAW,CAAC11N,IAAZ,CAAiB,GAAjB,CAAP,GAA+B,GADJ,EAE3B,GAF2B,CAA/B;AAIH,GAtrCgB,CAwrCjB;;;AAEAiuN,EAAAA,cAAc,CAAC,GAAD,EAAM,CAAN,EAAS,CAAT,EAAY,YAAY;AAClC,QAAIjvL,CAAC,GAAG,KAAKoxL,IAAL,EAAR;AACA,WAAOpxL,CAAC,IAAI,IAAL,GAAYwuL,QAAQ,CAACxuL,CAAD,EAAI,CAAJ,CAApB,GAA6B,MAAMA,CAA1C;AACH,GAHa,CAAd;AAKAivL,EAAAA,cAAc,CAAC,CAAD,EAAI,CAAC,IAAD,EAAO,CAAP,CAAJ,EAAe,CAAf,EAAkB,YAAY;AACxC,WAAO,KAAKmC,IAAL,KAAc,GAArB;AACH,GAFa,CAAd;AAIAnC,EAAAA,cAAc,CAAC,CAAD,EAAI,CAAC,MAAD,EAAS,CAAT,CAAJ,EAAiB,CAAjB,EAAoB,MAApB,CAAd;AACAA,EAAAA,cAAc,CAAC,CAAD,EAAI,CAAC,OAAD,EAAU,CAAV,CAAJ,EAAkB,CAAlB,EAAqB,MAArB,CAAd;AACAA,EAAAA,cAAc,CAAC,CAAD,EAAI,CAAC,QAAD,EAAW,CAAX,EAAc,IAAd,CAAJ,EAAyB,CAAzB,EAA4B,MAA5B,CAAd,CArsCiB,CAusCjB;;AAEAqB,EAAAA,YAAY,CAAC,MAAD,EAAS,GAAT,CAAZ,CAzsCiB,CA2sCjB;;AAEAU,EAAAA,eAAe,CAAC,MAAD,EAAS,CAAT,CAAf,CA7sCiB,CA+sCjB;;AAEAmC,EAAAA,aAAa,CAAC,GAAD,EAAMN,WAAN,CAAb;AACAM,EAAAA,aAAa,CAAC,IAAD,EAAOb,SAAP,EAAkBJ,MAAlB,CAAb;AACAiB,EAAAA,aAAa,CAAC,MAAD,EAAST,SAAT,EAAoBN,MAApB,CAAb;AACAe,EAAAA,aAAa,CAAC,OAAD,EAAUR,SAAV,EAAqBN,MAArB,CAAb;AACAc,EAAAA,aAAa,CAAC,QAAD,EAAWR,SAAX,EAAsBN,MAAtB,CAAb;AAEAyB,EAAAA,aAAa,CAAC,CAAC,OAAD,EAAU,QAAV,CAAD,EAAsBK,IAAtB,CAAb;AACAL,EAAAA,aAAa,CAAC,MAAD,EAAS,UAAUtnK,KAAV,EAAiB06C,KAAjB,EAAwB;AAC1CA,IAAAA,KAAK,CAACitH,IAAD,CAAL,GACI3nK,KAAK,CAAC5rD,MAAN,KAAiB,CAAjB,GAAqBgwJ,KAAK,CAACimE,iBAAN,CAAwBrqK,KAAxB,CAArB,GAAsD8kK,KAAK,CAAC9kK,KAAD,CAD/D;AAEH,GAHY,CAAb;AAIAsnK,EAAAA,aAAa,CAAC,IAAD,EAAO,UAAUtnK,KAAV,EAAiB06C,KAAjB,EAAwB;AACxCA,IAAAA,KAAK,CAACitH,IAAD,CAAL,GAAcvjE,KAAK,CAACimE,iBAAN,CAAwBrqK,KAAxB,CAAd;AACH,GAFY,CAAb;AAGAsnK,EAAAA,aAAa,CAAC,GAAD,EAAM,UAAUtnK,KAAV,EAAiB06C,KAAjB,EAAwB;AACvCA,IAAAA,KAAK,CAACitH,IAAD,CAAL,GAAct8L,QAAQ,CAAC20B,KAAD,EAAQ,EAAR,CAAtB;AACH,GAFY,CAAb,CA/tCiB,CAmuCjB;;AAEA,WAASsqK,UAAT,CAAoB1F,IAApB,EAA0B;AACtB,WAAOD,UAAU,CAACC,IAAD,CAAV,GAAmB,GAAnB,GAAyB,GAAhC;AACH,GAvuCgB,CAyuCjB;;;AAEAxgE,EAAAA,KAAK,CAACimE,iBAAN,GAA0B,UAAUrqK,KAAV,EAAiB;AACvC,WAAO8kK,KAAK,CAAC9kK,KAAD,CAAL,IAAgB8kK,KAAK,CAAC9kK,KAAD,CAAL,GAAe,EAAf,GAAoB,IAApB,GAA2B,IAA3C,CAAP;AACH,GAFD,CA3uCiB,CA+uCjB;;;AAEA,MAAIuqK,UAAU,GAAGrF,UAAU,CAAC,UAAD,EAAa,IAAb,CAA3B;;AAEA,WAASsF,aAAT,GAAyB;AACrB,WAAO7F,UAAU,CAAC,KAAKC,IAAL,EAAD,CAAjB;AACH;;AAED,WAAS6F,UAAT,CAAoBj3L,CAApB,EAAuBS,CAAvB,EAA0B5C,CAA1B,EAA6BgtI,CAA7B,EAAgCixC,CAAhC,EAAmCv9K,CAAnC,EAAsCwsG,EAAtC,EAA0C;AACtC;AACA;AACA,QAAInsB,IAAJ,CAHsC,CAItC;;AACA,QAAI5+E,CAAC,GAAG,GAAJ,IAAWA,CAAC,IAAI,CAApB,EAAuB;AACnB;AACA4+E,MAAAA,IAAI,GAAG,IAAI5iE,IAAJ,CAAShc,CAAC,GAAG,GAAb,EAAkBS,CAAlB,EAAqB5C,CAArB,EAAwBgtI,CAAxB,EAA2BixC,CAA3B,EAA8Bv9K,CAA9B,EAAiCwsG,EAAjC,CAAP;;AACA,UAAI0mF,QAAQ,CAAC7yG,IAAI,CAAC42F,WAAL,EAAD,CAAZ,EAAkC;AAC9B52F,QAAAA,IAAI,CAACs4G,WAAL,CAAiBl3L,CAAjB;AACH;AACJ,KAND,MAMO;AACH4+E,MAAAA,IAAI,GAAG,IAAI5iE,IAAJ,CAAShc,CAAT,EAAYS,CAAZ,EAAe5C,CAAf,EAAkBgtI,CAAlB,EAAqBixC,CAArB,EAAwBv9K,CAAxB,EAA2BwsG,EAA3B,CAAP;AACH;;AAED,WAAOnsB,IAAP;AACH;;AAED,WAASu4G,aAAT,CAAuBn3L,CAAvB,EAA0B;AACtB,QAAI4+E,IAAJ,EAAUP,IAAV,CADsB,CAEtB;;AACA,QAAIr+E,CAAC,GAAG,GAAJ,IAAWA,CAAC,IAAI,CAApB,EAAuB;AACnBq+E,MAAAA,IAAI,GAAGjlF,KAAK,CAAC8E,SAAN,CAAgByuE,KAAhB,CAAsBvvE,IAAtB,CAA2BqB,SAA3B,CAAP,CADmB,CAEnB;;AACA4/E,MAAAA,IAAI,CAAC,CAAD,CAAJ,GAAUr+E,CAAC,GAAG,GAAd;AACA4+E,MAAAA,IAAI,GAAG,IAAI5iE,IAAJ,CAASA,IAAI,CAACo7K,GAAL,CAAS14L,KAAT,CAAe,IAAf,EAAqB2/E,IAArB,CAAT,CAAP;;AACA,UAAIozG,QAAQ,CAAC7yG,IAAI,CAACu+B,cAAL,EAAD,CAAZ,EAAqC;AACjCv+B,QAAAA,IAAI,CAACy4G,cAAL,CAAoBr3L,CAApB;AACH;AACJ,KARD,MAQO;AACH4+E,MAAAA,IAAI,GAAG,IAAI5iE,IAAJ,CAASA,IAAI,CAACo7K,GAAL,CAAS14L,KAAT,CAAe,IAAf,EAAqBD,SAArB,CAAT,CAAP;AACH;;AAED,WAAOmgF,IAAP;AACH,GAzxCgB,CA2xCjB;;;AACA,WAAS04G,eAAT,CAAyBlG,IAAzB,EAA+BhV,GAA/B,EAAoCC,GAApC,EAAyC;AACrC,QAAI;AACAkb,IAAAA,GAAG,GAAG,IAAInb,GAAJ,GAAUC,GADpB;AAAA,QAEI;AACAmb,IAAAA,KAAK,GAAG,CAAC,IAAIL,aAAa,CAAC/F,IAAD,EAAO,CAAP,EAAUmG,GAAV,CAAb,CAA4BE,SAA5B,EAAJ,GAA8Crb,GAA/C,IAAsD,CAHlE;AAKA,WAAO,CAACob,KAAD,GAASD,GAAT,GAAe,CAAtB;AACH,GAnyCgB,CAqyCjB;;;AACA,WAASG,kBAAT,CAA4BtG,IAA5B,EAAkCjV,IAAlC,EAAwCwb,OAAxC,EAAiDvb,GAAjD,EAAsDC,GAAtD,EAA2D;AACvD,QAAIub,YAAY,GAAG,CAAC,IAAID,OAAJ,GAAcvb,GAAf,IAAsB,CAAzC;AAAA,QACIyb,UAAU,GAAGP,eAAe,CAAClG,IAAD,EAAOhV,GAAP,EAAYC,GAAZ,CADhC;AAAA,QAEIyb,SAAS,GAAG,IAAI,KAAK3b,IAAI,GAAG,CAAZ,CAAJ,GAAqByb,YAArB,GAAoCC,UAFpD;AAAA,QAGIE,OAHJ;AAAA,QAIIC,YAJJ;;AAMA,QAAIF,SAAS,IAAI,CAAjB,EAAoB;AAChBC,MAAAA,OAAO,GAAG3G,IAAI,GAAG,CAAjB;AACA4G,MAAAA,YAAY,GAAGlB,UAAU,CAACiB,OAAD,CAAV,GAAsBD,SAArC;AACH,KAHD,MAGO,IAAIA,SAAS,GAAGhB,UAAU,CAAC1F,IAAD,CAA1B,EAAkC;AACrC2G,MAAAA,OAAO,GAAG3G,IAAI,GAAG,CAAjB;AACA4G,MAAAA,YAAY,GAAGF,SAAS,GAAGhB,UAAU,CAAC1F,IAAD,CAArC;AACH,KAHM,MAGA;AACH2G,MAAAA,OAAO,GAAG3G,IAAV;AACA4G,MAAAA,YAAY,GAAGF,SAAf;AACH;;AAED,WAAO;AACH1G,MAAAA,IAAI,EAAE2G,OADH;AAEHD,MAAAA,SAAS,EAAEE;AAFR,KAAP;AAIH;;AAED,WAASC,UAAT,CAAoB9jB,GAApB,EAAyBiI,GAAzB,EAA8BC,GAA9B,EAAmC;AAC/B,QAAIwb,UAAU,GAAGP,eAAe,CAACnjB,GAAG,CAACid,IAAJ,EAAD,EAAahV,GAAb,EAAkBC,GAAlB,CAAhC;AAAA,QACIF,IAAI,GAAGhsJ,IAAI,CAACkwC,KAAL,CAAW,CAAC8zG,GAAG,CAAC2jB,SAAJ,KAAkBD,UAAlB,GAA+B,CAAhC,IAAqC,CAAhD,IAAqD,CADhE;AAAA,QAEIK,OAFJ;AAAA,QAGIH,OAHJ;;AAKA,QAAI5b,IAAI,GAAG,CAAX,EAAc;AACV4b,MAAAA,OAAO,GAAG5jB,GAAG,CAACid,IAAJ,KAAa,CAAvB;AACA8G,MAAAA,OAAO,GAAG/b,IAAI,GAAGgc,WAAW,CAACJ,OAAD,EAAU3b,GAAV,EAAeC,GAAf,CAA5B;AACH,KAHD,MAGO,IAAIF,IAAI,GAAGgc,WAAW,CAAChkB,GAAG,CAACid,IAAJ,EAAD,EAAahV,GAAb,EAAkBC,GAAlB,CAAtB,EAA8C;AACjD6b,MAAAA,OAAO,GAAG/b,IAAI,GAAGgc,WAAW,CAAChkB,GAAG,CAACid,IAAJ,EAAD,EAAahV,GAAb,EAAkBC,GAAlB,CAA5B;AACA0b,MAAAA,OAAO,GAAG5jB,GAAG,CAACid,IAAJ,KAAa,CAAvB;AACH,KAHM,MAGA;AACH2G,MAAAA,OAAO,GAAG5jB,GAAG,CAACid,IAAJ,EAAV;AACA8G,MAAAA,OAAO,GAAG/b,IAAV;AACH;;AAED,WAAO;AACHA,MAAAA,IAAI,EAAE+b,OADH;AAEH9G,MAAAA,IAAI,EAAE2G;AAFH,KAAP;AAIH;;AAED,WAASI,WAAT,CAAqB/G,IAArB,EAA2BhV,GAA3B,EAAgCC,GAAhC,EAAqC;AACjC,QAAIwb,UAAU,GAAGP,eAAe,CAAClG,IAAD,EAAOhV,GAAP,EAAYC,GAAZ,CAAhC;AAAA,QACI+b,cAAc,GAAGd,eAAe,CAAClG,IAAI,GAAG,CAAR,EAAWhV,GAAX,EAAgBC,GAAhB,CADpC;AAEA,WAAO,CAACya,UAAU,CAAC1F,IAAD,CAAV,GAAmByG,UAAnB,GAAgCO,cAAjC,IAAmD,CAA1D;AACH,GAz1CgB,CA21CjB;;;AAEAnJ,EAAAA,cAAc,CAAC,GAAD,EAAM,CAAC,IAAD,EAAO,CAAP,CAAN,EAAiB,IAAjB,EAAuB,MAAvB,CAAd;AACAA,EAAAA,cAAc,CAAC,GAAD,EAAM,CAAC,IAAD,EAAO,CAAP,CAAN,EAAiB,IAAjB,EAAuB,SAAvB,CAAd,CA91CiB,CAg2CjB;;AAEAqB,EAAAA,YAAY,CAAC,MAAD,EAAS,GAAT,CAAZ;AACAA,EAAAA,YAAY,CAAC,SAAD,EAAY,GAAZ,CAAZ,CAn2CiB,CAq2CjB;;AAEAU,EAAAA,eAAe,CAAC,MAAD,EAAS,CAAT,CAAf;AACAA,EAAAA,eAAe,CAAC,SAAD,EAAY,CAAZ,CAAf,CAx2CiB,CA02CjB;;AAEAmC,EAAAA,aAAa,CAAC,GAAD,EAAMb,SAAN,CAAb;AACAa,EAAAA,aAAa,CAAC,IAAD,EAAOb,SAAP,EAAkBJ,MAAlB,CAAb;AACAiB,EAAAA,aAAa,CAAC,GAAD,EAAMb,SAAN,CAAb;AACAa,EAAAA,aAAa,CAAC,IAAD,EAAOb,SAAP,EAAkBJ,MAAlB,CAAb;AAEA8B,EAAAA,iBAAiB,CACb,CAAC,GAAD,EAAM,IAAN,EAAY,GAAZ,EAAiB,IAAjB,CADa,EAEb,UAAUxnK,KAAV,EAAiB2vJ,IAAjB,EAAuBxoN,MAAvB,EAA+B0gC,KAA/B,EAAsC;AAClC8nL,IAAAA,IAAI,CAAC9nL,KAAK,CAAC6+G,MAAN,CAAa,CAAb,EAAgB,CAAhB,CAAD,CAAJ,GAA2Bo+E,KAAK,CAAC9kK,KAAD,CAAhC;AACH,GAJY,CAAjB,CAj3CiB,CAw3CjB;AAEA;;AAEA,WAAS6rK,UAAT,CAAoBlkB,GAApB,EAAyB;AACrB,WAAO8jB,UAAU,CAAC9jB,GAAD,EAAM,KAAKmkB,KAAL,CAAWlc,GAAjB,EAAsB,KAAKkc,KAAL,CAAWjc,GAAjC,CAAV,CAAgDF,IAAvD;AACH;;AAED,MAAIoc,iBAAiB,GAAG;AACpBnc,IAAAA,GAAG,EAAE,CADe;AACZ;AACRC,IAAAA,GAAG,EAAE,CAFe,CAEZ;;AAFY,GAAxB;;AAKA,WAASmc,oBAAT,GAAgC;AAC5B,WAAO,KAAKF,KAAL,CAAWlc,GAAlB;AACH;;AAED,WAASqc,oBAAT,GAAgC;AAC5B,WAAO,KAAKH,KAAL,CAAWjc,GAAlB;AACH,GA34CgB,CA64CjB;;;AAEA,WAASqc,UAAT,CAAoBlsK,KAApB,EAA2B;AACvB,QAAI2vJ,IAAI,GAAG,KAAKgT,UAAL,GAAkBhT,IAAlB,CAAuB,IAAvB,CAAX;AACA,WAAO3vJ,KAAK,IAAI,IAAT,GAAgB2vJ,IAAhB,GAAuB,KAAKtzL,GAAL,CAAS,CAAC2jC,KAAK,GAAG2vJ,IAAT,IAAiB,CAA1B,EAA6B,GAA7B,CAA9B;AACH;;AAED,WAASwc,aAAT,CAAuBnsK,KAAvB,EAA8B;AAC1B,QAAI2vJ,IAAI,GAAG8b,UAAU,CAAC,IAAD,EAAO,CAAP,EAAU,CAAV,CAAV,CAAuB9b,IAAlC;AACA,WAAO3vJ,KAAK,IAAI,IAAT,GAAgB2vJ,IAAhB,GAAuB,KAAKtzL,GAAL,CAAS,CAAC2jC,KAAK,GAAG2vJ,IAAT,IAAiB,CAA1B,EAA6B,GAA7B,CAA9B;AACH,GAv5CgB,CAy5CjB;;;AAEA8S,EAAAA,cAAc,CAAC,GAAD,EAAM,CAAN,EAAS,IAAT,EAAe,KAAf,CAAd;AAEAA,EAAAA,cAAc,CAAC,IAAD,EAAO,CAAP,EAAU,CAAV,EAAa,UAAUnmM,MAAV,EAAkB;AACzC,WAAO,KAAKqmM,UAAL,GAAkBjV,WAAlB,CAA8B,IAA9B,EAAoCpxL,MAApC,CAAP;AACH,GAFa,CAAd;AAIAmmM,EAAAA,cAAc,CAAC,KAAD,EAAQ,CAAR,EAAW,CAAX,EAAc,UAAUnmM,MAAV,EAAkB;AAC1C,WAAO,KAAKqmM,UAAL,GAAkBlV,aAAlB,CAAgC,IAAhC,EAAsCnxL,MAAtC,CAAP;AACH,GAFa,CAAd;AAIAmmM,EAAAA,cAAc,CAAC,MAAD,EAAS,CAAT,EAAY,CAAZ,EAAe,UAAUnmM,MAAV,EAAkB;AAC3C,WAAO,KAAKqmM,UAAL,GAAkBnV,QAAlB,CAA2B,IAA3B,EAAiClxL,MAAjC,CAAP;AACH,GAFa,CAAd;AAIAmmM,EAAAA,cAAc,CAAC,GAAD,EAAM,CAAN,EAAS,CAAT,EAAY,SAAZ,CAAd;AACAA,EAAAA,cAAc,CAAC,GAAD,EAAM,CAAN,EAAS,CAAT,EAAY,YAAZ,CAAd,CA16CiB,CA46CjB;;AAEAqB,EAAAA,YAAY,CAAC,KAAD,EAAQ,GAAR,CAAZ;AACAA,EAAAA,YAAY,CAAC,SAAD,EAAY,GAAZ,CAAZ;AACAA,EAAAA,YAAY,CAAC,YAAD,EAAe,GAAf,CAAZ,CAh7CiB,CAk7CjB;;AACAU,EAAAA,eAAe,CAAC,KAAD,EAAQ,EAAR,CAAf;AACAA,EAAAA,eAAe,CAAC,SAAD,EAAY,EAAZ,CAAf;AACAA,EAAAA,eAAe,CAAC,YAAD,EAAe,EAAf,CAAf,CAr7CiB,CAu7CjB;;AAEAmC,EAAAA,aAAa,CAAC,GAAD,EAAMb,SAAN,CAAb;AACAa,EAAAA,aAAa,CAAC,GAAD,EAAMb,SAAN,CAAb;AACAa,EAAAA,aAAa,CAAC,GAAD,EAAMb,SAAN,CAAb;AACAa,EAAAA,aAAa,CAAC,IAAD,EAAO,UAAUE,QAAV,EAAoBjI,MAApB,EAA4B;AAC5C,WAAOA,MAAM,CAACwN,gBAAP,CAAwBvF,QAAxB,CAAP;AACH,GAFY,CAAb;AAGAF,EAAAA,aAAa,CAAC,KAAD,EAAQ,UAAUE,QAAV,EAAoBjI,MAApB,EAA4B;AAC7C,WAAOA,MAAM,CAACyN,kBAAP,CAA0BxF,QAA1B,CAAP;AACH,GAFY,CAAb;AAGAF,EAAAA,aAAa,CAAC,MAAD,EAAS,UAAUE,QAAV,EAAoBjI,MAApB,EAA4B;AAC9C,WAAOA,MAAM,CAAC0N,aAAP,CAAqBzF,QAArB,CAAP;AACH,GAFY,CAAb;AAIAW,EAAAA,iBAAiB,CAAC,CAAC,IAAD,EAAO,KAAP,EAAc,MAAd,CAAD,EAAwB,UAAUxnK,KAAV,EAAiB2vJ,IAAjB,EAAuBxoN,MAAvB,EAA+B0gC,KAA/B,EAAsC;AAC3E,QAAIsjM,OAAO,GAAGhkO,MAAM,CAAC45N,OAAP,CAAe5N,aAAf,CAA6BnzJ,KAA7B,EAAoCn4B,KAApC,EAA2C1gC,MAAM,CAACi5N,OAAlD,CAAd,CAD2E,CAE3E;;;AACA,QAAI+K,OAAO,IAAI,IAAf,EAAqB;AACjBxb,MAAAA,IAAI,CAACt+K,CAAL,GAAS85L,OAAT;AACH,KAFD,MAEO;AACHrL,MAAAA,eAAe,CAAC34N,MAAD,CAAf,CAAwBg5N,cAAxB,GAAyCngK,KAAzC;AACH;AACJ,GARgB,CAAjB;AAUAwnK,EAAAA,iBAAiB,CAAC,CAAC,GAAD,EAAM,GAAN,EAAW,GAAX,CAAD,EAAkB,UAAUxnK,KAAV,EAAiB2vJ,IAAjB,EAAuBxoN,MAAvB,EAA+B0gC,KAA/B,EAAsC;AACrE8nL,IAAAA,IAAI,CAAC9nL,KAAD,CAAJ,GAAci9L,KAAK,CAAC9kK,KAAD,CAAnB;AACH,GAFgB,CAAjB,CAh9CiB,CAo9CjB;;AAEA,WAASusK,YAAT,CAAsBvsK,KAAtB,EAA6B4+J,MAA7B,EAAqC;AACjC,QAAI,OAAO5+J,KAAP,KAAiB,QAArB,EAA+B;AAC3B,aAAOA,KAAP;AACH;;AAED,QAAI,CAAC7kC,KAAK,CAAC6kC,KAAD,CAAV,EAAmB;AACf,aAAO30B,QAAQ,CAAC20B,KAAD,EAAQ,EAAR,CAAf;AACH;;AAEDA,IAAAA,KAAK,GAAG4+J,MAAM,CAACzL,aAAP,CAAqBnzJ,KAArB,CAAR;;AACA,QAAI,OAAOA,KAAP,KAAiB,QAArB,EAA+B;AAC3B,aAAOA,KAAP;AACH;;AAED,WAAO,IAAP;AACH;;AAED,WAASwsK,eAAT,CAAyBxsK,KAAzB,EAAgC4+J,MAAhC,EAAwC;AACpC,QAAI,OAAO5+J,KAAP,KAAiB,QAArB,EAA+B;AAC3B,aAAO4+J,MAAM,CAACzL,aAAP,CAAqBnzJ,KAArB,IAA8B,CAA9B,IAAmC,CAA1C;AACH;;AACD,WAAO7kC,KAAK,CAAC6kC,KAAD,CAAL,GAAe,IAAf,GAAsBA,KAA7B;AACH,GA5+CgB,CA8+CjB;;;AACA,WAASysK,aAAT,CAAuBC,EAAvB,EAA2B16L,CAA3B,EAA8B;AAC1B,WAAO06L,EAAE,CAACvsH,KAAH,CAASnuE,CAAT,EAAY,CAAZ,EAAeqC,MAAf,CAAsBq4L,EAAE,CAACvsH,KAAH,CAAS,CAAT,EAAYnuE,CAAZ,CAAtB,CAAP;AACH;;AAED,MAAI26L,qBAAqB,GACjB,2DAA2DnmN,KAA3D,CAAiE,GAAjE,CADR;AAAA,MAEIomN,0BAA0B,GAAG,8BAA8BpmN,KAA9B,CAAoC,GAApC,CAFjC;AAAA,MAGIqmN,wBAAwB,GAAG,uBAAuBrmN,KAAvB,CAA6B,GAA7B,CAH/B;AAAA,MAIIsmN,oBAAoB,GAAGrG,SAJ3B;AAAA,MAKIsG,yBAAyB,GAAGtG,SALhC;AAAA,MAMIuG,uBAAuB,GAAGvG,SAN9B;;AAQA,WAASwG,cAAT,CAAwBh5L,CAAxB,EAA2B3X,MAA3B,EAAmC;AAC/B,QAAIkxL,QAAQ,GAAG3kG,OAAO,CAAC,KAAKqkH,SAAN,CAAP,GACT,KAAKA,SADI,GAET,KAAKA,SAAL,CACIj5L,CAAC,IAAIA,CAAC,KAAK,IAAX,IAAmB,KAAKi5L,SAAL,CAAe3b,QAAf,CAAwBz0L,IAAxB,CAA6BR,MAA7B,CAAnB,GACM,QADN,GAEM,YAHV,CAFN;AAOA,WAAO2X,CAAC,KAAK,IAAN,GACDw4L,aAAa,CAACjf,QAAD,EAAW,KAAKse,KAAL,CAAWlc,GAAtB,CADZ,GAED37K,CAAC,GACDu5K,QAAQ,CAACv5K,CAAC,CAACu9K,GAAF,EAAD,CADP,GAEDhE,QAJN;AAKH;;AAED,WAAS2f,mBAAT,CAA6Bl5L,CAA7B,EAAgC;AAC5B,WAAOA,CAAC,KAAK,IAAN,GACDw4L,aAAa,CAAC,KAAKW,cAAN,EAAsB,KAAKtB,KAAL,CAAWlc,GAAjC,CADZ,GAED37K,CAAC,GACD,KAAKm5L,cAAL,CAAoBn5L,CAAC,CAACu9K,GAAF,EAApB,CADC,GAED,KAAK4b,cAJX;AAKH;;AAED,WAASC,iBAAT,CAA2Bp5L,CAA3B,EAA8B;AAC1B,WAAOA,CAAC,KAAK,IAAN,GACDw4L,aAAa,CAAC,KAAKa,YAAN,EAAoB,KAAKxB,KAAL,CAAWlc,GAA/B,CADZ,GAED37K,CAAC,GACD,KAAKq5L,YAAL,CAAkBr5L,CAAC,CAACu9K,GAAF,EAAlB,CADC,GAED,KAAK8b,YAJX;AAKH;;AAED,WAASC,mBAAT,CAA6BC,WAA7B,EAA0ClxM,MAA1C,EAAkDuiM,MAAlD,EAA0D;AACtD,QAAIzgN,CAAJ;AAAA,QACI4qN,EADJ;AAAA,QAEIrhB,GAFJ;AAAA,QAGIshB,GAAG,GAAGuE,WAAW,CAACtE,iBAAZ,EAHV;;AAIA,QAAI,CAAC,KAAKuE,cAAV,EAA0B;AACtB,WAAKA,cAAL,GAAsB,EAAtB;AACA,WAAKC,mBAAL,GAA2B,EAA3B;AACA,WAAKC,iBAAL,GAAyB,EAAzB;;AAEA,WAAKvvN,CAAC,GAAG,CAAT,EAAYA,CAAC,GAAG,CAAhB,EAAmB,EAAEA,CAArB,EAAwB;AACpBupM,QAAAA,GAAG,GAAGgX,SAAS,CAAC,CAAC,IAAD,EAAO,CAAP,CAAD,CAAT,CAAqBnN,GAArB,CAAyBpzM,CAAzB,CAAN;AACA,aAAKuvN,iBAAL,CAAuBvvN,CAAvB,IAA4B,KAAKsvM,WAAL,CACxB/F,GADwB,EAExB,EAFwB,EAG1BuhB,iBAH0B,EAA5B;AAIA,aAAKwE,mBAAL,CAAyBtvN,CAAzB,IAA8B,KAAKqvM,aAAL,CAC1B9F,GAD0B,EAE1B,EAF0B,EAG5BuhB,iBAH4B,EAA9B;AAIA,aAAKuE,cAAL,CAAoBrvN,CAApB,IAAyB,KAAKovM,QAAL,CAAc7F,GAAd,EAAmB,EAAnB,EAAuBuhB,iBAAvB,EAAzB;AACH;AACJ;;AAED,QAAIrK,MAAJ,EAAY;AACR,UAAIviM,MAAM,KAAK,MAAf,EAAuB;AACnB0sM,QAAAA,EAAE,GAAGnpN,OAAO,CAAC+wB,IAAR,CAAa,KAAK68L,cAAlB,EAAkCxE,GAAlC,CAAL;AACA,eAAOD,EAAE,KAAK,CAAC,CAAR,GAAYA,EAAZ,GAAiB,IAAxB;AACH,OAHD,MAGO,IAAI1sM,MAAM,KAAK,KAAf,EAAsB;AACzB0sM,QAAAA,EAAE,GAAGnpN,OAAO,CAAC+wB,IAAR,CAAa,KAAK88L,mBAAlB,EAAuCzE,GAAvC,CAAL;AACA,eAAOD,EAAE,KAAK,CAAC,CAAR,GAAYA,EAAZ,GAAiB,IAAxB;AACH,OAHM,MAGA;AACHA,QAAAA,EAAE,GAAGnpN,OAAO,CAAC+wB,IAAR,CAAa,KAAK+8L,iBAAlB,EAAqC1E,GAArC,CAAL;AACA,eAAOD,EAAE,KAAK,CAAC,CAAR,GAAYA,EAAZ,GAAiB,IAAxB;AACH;AACJ,KAXD,MAWO;AACH,UAAI1sM,MAAM,KAAK,MAAf,EAAuB;AACnB0sM,QAAAA,EAAE,GAAGnpN,OAAO,CAAC+wB,IAAR,CAAa,KAAK68L,cAAlB,EAAkCxE,GAAlC,CAAL;;AACA,YAAID,EAAE,KAAK,CAAC,CAAZ,EAAe;AACX,iBAAOA,EAAP;AACH;;AACDA,QAAAA,EAAE,GAAGnpN,OAAO,CAAC+wB,IAAR,CAAa,KAAK88L,mBAAlB,EAAuCzE,GAAvC,CAAL;;AACA,YAAID,EAAE,KAAK,CAAC,CAAZ,EAAe;AACX,iBAAOA,EAAP;AACH;;AACDA,QAAAA,EAAE,GAAGnpN,OAAO,CAAC+wB,IAAR,CAAa,KAAK+8L,iBAAlB,EAAqC1E,GAArC,CAAL;AACA,eAAOD,EAAE,KAAK,CAAC,CAAR,GAAYA,EAAZ,GAAiB,IAAxB;AACH,OAXD,MAWO,IAAI1sM,MAAM,KAAK,KAAf,EAAsB;AACzB0sM,QAAAA,EAAE,GAAGnpN,OAAO,CAAC+wB,IAAR,CAAa,KAAK88L,mBAAlB,EAAuCzE,GAAvC,CAAL;;AACA,YAAID,EAAE,KAAK,CAAC,CAAZ,EAAe;AACX,iBAAOA,EAAP;AACH;;AACDA,QAAAA,EAAE,GAAGnpN,OAAO,CAAC+wB,IAAR,CAAa,KAAK68L,cAAlB,EAAkCxE,GAAlC,CAAL;;AACA,YAAID,EAAE,KAAK,CAAC,CAAZ,EAAe;AACX,iBAAOA,EAAP;AACH;;AACDA,QAAAA,EAAE,GAAGnpN,OAAO,CAAC+wB,IAAR,CAAa,KAAK+8L,iBAAlB,EAAqC1E,GAArC,CAAL;AACA,eAAOD,EAAE,KAAK,CAAC,CAAR,GAAYA,EAAZ,GAAiB,IAAxB;AACH,OAXM,MAWA;AACHA,QAAAA,EAAE,GAAGnpN,OAAO,CAAC+wB,IAAR,CAAa,KAAK+8L,iBAAlB,EAAqC1E,GAArC,CAAL;;AACA,YAAID,EAAE,KAAK,CAAC,CAAZ,EAAe;AACX,iBAAOA,EAAP;AACH;;AACDA,QAAAA,EAAE,GAAGnpN,OAAO,CAAC+wB,IAAR,CAAa,KAAK68L,cAAlB,EAAkCxE,GAAlC,CAAL;;AACA,YAAID,EAAE,KAAK,CAAC,CAAZ,EAAe;AACX,iBAAOA,EAAP;AACH;;AACDA,QAAAA,EAAE,GAAGnpN,OAAO,CAAC+wB,IAAR,CAAa,KAAK88L,mBAAlB,EAAuCzE,GAAvC,CAAL;AACA,eAAOD,EAAE,KAAK,CAAC,CAAR,GAAYA,EAAZ,GAAiB,IAAxB;AACH;AACJ;AACJ;;AAED,WAAS4E,mBAAT,CAA6BJ,WAA7B,EAA0ClxM,MAA1C,EAAkDuiM,MAAlD,EAA0D;AACtD,QAAIzgN,CAAJ,EAAOupM,GAAP,EAAY/qL,KAAZ;;AAEA,QAAI,KAAKixM,mBAAT,EAA8B;AAC1B,aAAON,mBAAmB,CAAC38L,IAApB,CAAyB,IAAzB,EAA+B48L,WAA/B,EAA4ClxM,MAA5C,EAAoDuiM,MAApD,CAAP;AACH;;AAED,QAAI,CAAC,KAAK4O,cAAV,EAA0B;AACtB,WAAKA,cAAL,GAAsB,EAAtB;AACA,WAAKE,iBAAL,GAAyB,EAAzB;AACA,WAAKD,mBAAL,GAA2B,EAA3B;AACA,WAAKI,kBAAL,GAA0B,EAA1B;AACH;;AAED,SAAK1vN,CAAC,GAAG,CAAT,EAAYA,CAAC,GAAG,CAAhB,EAAmBA,CAAC,EAApB,EAAwB;AACpB;AAEAupM,MAAAA,GAAG,GAAGgX,SAAS,CAAC,CAAC,IAAD,EAAO,CAAP,CAAD,CAAT,CAAqBnN,GAArB,CAAyBpzM,CAAzB,CAAN;;AACA,UAAIygN,MAAM,IAAI,CAAC,KAAKiP,kBAAL,CAAwB1vN,CAAxB,CAAf,EAA2C;AACvC,aAAK0vN,kBAAL,CAAwB1vN,CAAxB,IAA6B,IAAIye,MAAJ,CACzB,MAAM,KAAK2wL,QAAL,CAAc7F,GAAd,EAAmB,EAAnB,EAAuB7gM,OAAvB,CAA+B,GAA/B,EAAoC,MAApC,CAAN,GAAoD,GAD3B,EAEzB,GAFyB,CAA7B;AAIA,aAAK4mN,mBAAL,CAAyBtvN,CAAzB,IAA8B,IAAIye,MAAJ,CAC1B,MAAM,KAAK4wL,aAAL,CAAmB9F,GAAnB,EAAwB,EAAxB,EAA4B7gM,OAA5B,CAAoC,GAApC,EAAyC,MAAzC,CAAN,GAAyD,GAD/B,EAE1B,GAF0B,CAA9B;AAIA,aAAK6mN,iBAAL,CAAuBvvN,CAAvB,IAA4B,IAAIye,MAAJ,CACxB,MAAM,KAAK6wL,WAAL,CAAiB/F,GAAjB,EAAsB,EAAtB,EAA0B7gM,OAA1B,CAAkC,GAAlC,EAAuC,MAAvC,CAAN,GAAuD,GAD/B,EAExB,GAFwB,CAA5B;AAIH;;AACD,UAAI,CAAC,KAAK2mN,cAAL,CAAoBrvN,CAApB,CAAL,EAA6B;AACzBwe,QAAAA,KAAK,GACD,MACA,KAAK4wL,QAAL,CAAc7F,GAAd,EAAmB,EAAnB,CADA,GAEA,IAFA,GAGA,KAAK8F,aAAL,CAAmB9F,GAAnB,EAAwB,EAAxB,CAHA,GAIA,IAJA,GAKA,KAAK+F,WAAL,CAAiB/F,GAAjB,EAAsB,EAAtB,CANJ;AAOA,aAAK8lB,cAAL,CAAoBrvN,CAApB,IAAyB,IAAIye,MAAJ,CAAWD,KAAK,CAAC9V,OAAN,CAAc,GAAd,EAAmB,EAAnB,CAAX,EAAmC,GAAnC,CAAzB;AACH,OA3BmB,CA4BpB;;;AACA,UACI+3M,MAAM,IACNviM,MAAM,KAAK,MADX,IAEA,KAAKwxM,kBAAL,CAAwB1vN,CAAxB,EAA2B0e,IAA3B,CAAgC0wM,WAAhC,CAHJ,EAIE;AACE,eAAOpvN,CAAP;AACH,OAND,MAMO,IACHygN,MAAM,IACNviM,MAAM,KAAK,KADX,IAEA,KAAKoxM,mBAAL,CAAyBtvN,CAAzB,EAA4B0e,IAA5B,CAAiC0wM,WAAjC,CAHG,EAIL;AACE,eAAOpvN,CAAP;AACH,OANM,MAMA,IACHygN,MAAM,IACNviM,MAAM,KAAK,IADX,IAEA,KAAKqxM,iBAAL,CAAuBvvN,CAAvB,EAA0B0e,IAA1B,CAA+B0wM,WAA/B,CAHG,EAIL;AACE,eAAOpvN,CAAP;AACH,OANM,MAMA,IAAI,CAACygN,MAAD,IAAW,KAAK4O,cAAL,CAAoBrvN,CAApB,EAAuB0e,IAAvB,CAA4B0wM,WAA5B,CAAf,EAAyD;AAC5D,eAAOpvN,CAAP;AACH;AACJ;AACJ,GApqDgB,CAsqDjB;;;AAEA,WAAS2vN,eAAT,CAAyB/tK,KAAzB,EAAgC;AAC5B,QAAI,CAAC,KAAKgjE,OAAL,EAAL,EAAqB;AACjB,aAAOhjE,KAAK,IAAI,IAAT,GAAgB,IAAhB,GAAuBwgK,GAA9B;AACH;;AACD,QAAIhP,GAAG,GAAG,KAAK/E,MAAL,GAAc,KAAK9xI,EAAL,CAAQswJ,SAAR,EAAd,GAAoC,KAAKtwJ,EAAL,CAAQqzJ,MAAR,EAA9C;;AACA,QAAIhuK,KAAK,IAAI,IAAb,EAAmB;AACfA,MAAAA,KAAK,GAAGusK,YAAY,CAACvsK,KAAD,EAAQ,KAAK2iK,UAAL,EAAR,CAApB;AACA,aAAO,KAAKtmM,GAAL,CAAS2jC,KAAK,GAAGwxJ,GAAjB,EAAsB,GAAtB,CAAP;AACH,KAHD,MAGO;AACH,aAAOA,GAAP;AACH;AACJ;;AAED,WAASyc,qBAAT,CAA+BjuK,KAA/B,EAAsC;AAClC,QAAI,CAAC,KAAKgjE,OAAL,EAAL,EAAqB;AACjB,aAAOhjE,KAAK,IAAI,IAAT,GAAgB,IAAhB,GAAuBwgK,GAA9B;AACH;;AACD,QAAI2K,OAAO,GAAG,CAAC,KAAK3Z,GAAL,KAAa,CAAb,GAAiB,KAAKmR,UAAL,GAAkBmJ,KAAlB,CAAwBlc,GAA1C,IAAiD,CAA/D;AACA,WAAO5vJ,KAAK,IAAI,IAAT,GAAgBmrK,OAAhB,GAA0B,KAAK9uM,GAAL,CAAS2jC,KAAK,GAAGmrK,OAAjB,EAA0B,GAA1B,CAAjC;AACH;;AAED,WAAS+C,kBAAT,CAA4BluK,KAA5B,EAAmC;AAC/B,QAAI,CAAC,KAAKgjE,OAAL,EAAL,EAAqB;AACjB,aAAOhjE,KAAK,IAAI,IAAT,GAAgB,IAAhB,GAAuBwgK,GAA9B;AACH,KAH8B,CAK/B;AACA;AACA;;;AAEA,QAAIxgK,KAAK,IAAI,IAAb,EAAmB;AACf,UAAImrK,OAAO,GAAGqB,eAAe,CAACxsK,KAAD,EAAQ,KAAK2iK,UAAL,EAAR,CAA7B;AACA,aAAO,KAAKnR,GAAL,CAAS,KAAKA,GAAL,KAAa,CAAb,GAAiB2Z,OAAjB,GAA2BA,OAAO,GAAG,CAA9C,CAAP;AACH,KAHD,MAGO;AACH,aAAO,KAAK3Z,GAAL,MAAc,CAArB;AACH;AACJ;;AAED,WAAS8a,aAAT,CAAuBzF,QAAvB,EAAiC;AAC7B,QAAI,KAAKgH,mBAAT,EAA8B;AAC1B,UAAI,CAACxP,UAAU,CAAC,IAAD,EAAO,gBAAP,CAAf,EAAyC;AACrC8P,QAAAA,oBAAoB,CAACv9L,IAArB,CAA0B,IAA1B;AACH;;AACD,UAAIi2L,QAAJ,EAAc;AACV,eAAO,KAAKuH,oBAAZ;AACH,OAFD,MAEO;AACH,eAAO,KAAKC,cAAZ;AACH;AACJ,KATD,MASO;AACH,UAAI,CAAChQ,UAAU,CAAC,IAAD,EAAO,gBAAP,CAAf,EAAyC;AACrC,aAAKgQ,cAAL,GAAsBvB,oBAAtB;AACH;;AACD,aAAO,KAAKsB,oBAAL,IAA6BvH,QAA7B,GACD,KAAKuH,oBADJ,GAED,KAAKC,cAFX;AAGH;AACJ;;AAED,WAAShC,kBAAT,CAA4BxF,QAA5B,EAAsC;AAClC,QAAI,KAAKgH,mBAAT,EAA8B;AAC1B,UAAI,CAACxP,UAAU,CAAC,IAAD,EAAO,gBAAP,CAAf,EAAyC;AACrC8P,QAAAA,oBAAoB,CAACv9L,IAArB,CAA0B,IAA1B;AACH;;AACD,UAAIi2L,QAAJ,EAAc;AACV,eAAO,KAAKyH,yBAAZ;AACH,OAFD,MAEO;AACH,eAAO,KAAKC,mBAAZ;AACH;AACJ,KATD,MASO;AACH,UAAI,CAAClQ,UAAU,CAAC,IAAD,EAAO,qBAAP,CAAf,EAA8C;AAC1C,aAAKkQ,mBAAL,GAA2BxB,yBAA3B;AACH;;AACD,aAAO,KAAKuB,yBAAL,IAAkCzH,QAAlC,GACD,KAAKyH,yBADJ,GAED,KAAKC,mBAFX;AAGH;AACJ;;AAED,WAASnC,gBAAT,CAA0BvF,QAA1B,EAAoC;AAChC,QAAI,KAAKgH,mBAAT,EAA8B;AAC1B,UAAI,CAACxP,UAAU,CAAC,IAAD,EAAO,gBAAP,CAAf,EAAyC;AACrC8P,QAAAA,oBAAoB,CAACv9L,IAArB,CAA0B,IAA1B;AACH;;AACD,UAAIi2L,QAAJ,EAAc;AACV,eAAO,KAAK2H,uBAAZ;AACH,OAFD,MAEO;AACH,eAAO,KAAKC,iBAAZ;AACH;AACJ,KATD,MASO;AACH,UAAI,CAACpQ,UAAU,CAAC,IAAD,EAAO,mBAAP,CAAf,EAA4C;AACxC,aAAKoQ,iBAAL,GAAyBzB,uBAAzB;AACH;;AACD,aAAO,KAAKwB,uBAAL,IAAgC3H,QAAhC,GACD,KAAK2H,uBADJ,GAED,KAAKC,iBAFX;AAGH;AACJ;;AAED,WAASN,oBAAT,GAAgC;AAC5B,aAASlE,SAAT,CAAmBpgJ,CAAnB,EAAsBv4C,CAAtB,EAAyB;AACrB,aAAOA,CAAC,CAACl9B,MAAF,GAAWy1E,CAAC,CAACz1E,MAApB;AACH;;AAED,QAAIs6N,SAAS,GAAG,EAAhB;AAAA,QACIxE,WAAW,GAAG,EADlB;AAAA,QAEIC,UAAU,GAAG,EAFjB;AAAA,QAGIC,WAAW,GAAG,EAHlB;AAAA,QAIIhsN,CAJJ;AAAA,QAKIupM,GALJ;AAAA,QAMIgnB,IANJ;AAAA,QAOIC,MAPJ;AAAA,QAQIC,KARJ;;AASA,SAAKzwN,CAAC,GAAG,CAAT,EAAYA,CAAC,GAAG,CAAhB,EAAmBA,CAAC,EAApB,EAAwB;AACpB;AACAupM,MAAAA,GAAG,GAAGgX,SAAS,CAAC,CAAC,IAAD,EAAO,CAAP,CAAD,CAAT,CAAqBnN,GAArB,CAAyBpzM,CAAzB,CAAN;AACAuwN,MAAAA,IAAI,GAAG3H,WAAW,CAAC,KAAKtZ,WAAL,CAAiB/F,GAAjB,EAAsB,EAAtB,CAAD,CAAlB;AACAinB,MAAAA,MAAM,GAAG5H,WAAW,CAAC,KAAKvZ,aAAL,CAAmB9F,GAAnB,EAAwB,EAAxB,CAAD,CAApB;AACAknB,MAAAA,KAAK,GAAG7H,WAAW,CAAC,KAAKxZ,QAAL,CAAc7F,GAAd,EAAmB,EAAnB,CAAD,CAAnB;AACA+mB,MAAAA,SAAS,CAAChhM,IAAV,CAAeihM,IAAf;AACAzE,MAAAA,WAAW,CAACx8L,IAAZ,CAAiBkhM,MAAjB;AACAzE,MAAAA,UAAU,CAACz8L,IAAX,CAAgBmhM,KAAhB;AACAzE,MAAAA,WAAW,CAAC18L,IAAZ,CAAiBihM,IAAjB;AACAvE,MAAAA,WAAW,CAAC18L,IAAZ,CAAiBkhM,MAAjB;AACAxE,MAAAA,WAAW,CAAC18L,IAAZ,CAAiBmhM,KAAjB;AACH,KA1B2B,CA2B5B;AACA;;;AACAH,IAAAA,SAAS,CAACpmJ,IAAV,CAAe2hJ,SAAf;AACAC,IAAAA,WAAW,CAAC5hJ,IAAZ,CAAiB2hJ,SAAjB;AACAE,IAAAA,UAAU,CAAC7hJ,IAAX,CAAgB2hJ,SAAhB;AACAG,IAAAA,WAAW,CAAC9hJ,IAAZ,CAAiB2hJ,SAAjB;AAEA,SAAKoE,cAAL,GAAsB,IAAIxxM,MAAJ,CAAW,OAAOutM,WAAW,CAAC51N,IAAZ,CAAiB,GAAjB,CAAP,GAA+B,GAA1C,EAA+C,GAA/C,CAAtB;AACA,SAAK+5N,mBAAL,GAA2B,KAAKF,cAAhC;AACA,SAAKI,iBAAL,GAAyB,KAAKJ,cAA9B;AAEA,SAAKD,oBAAL,GAA4B,IAAIvxM,MAAJ,CACxB,OAAOstM,UAAU,CAAC31N,IAAX,CAAgB,GAAhB,CAAP,GAA8B,GADN,EAExB,GAFwB,CAA5B;AAIA,SAAK85N,yBAAL,GAAiC,IAAIzxM,MAAJ,CAC7B,OAAOqtM,WAAW,CAAC11N,IAAZ,CAAiB,GAAjB,CAAP,GAA+B,GADF,EAE7B,GAF6B,CAAjC;AAIA,SAAKg6N,uBAAL,GAA+B,IAAI3xM,MAAJ,CAC3B,OAAO6xM,SAAS,CAACl6N,IAAV,CAAe,GAAf,CAAP,GAA6B,GADF,EAE3B,GAF2B,CAA/B;AAIH,GA5zDgB,CA8zDjB;;;AAEA,WAASs6N,OAAT,GAAmB;AACf,WAAO,KAAKhhB,KAAL,KAAe,EAAf,IAAqB,EAA5B;AACH;;AAED,WAASihB,OAAT,GAAmB;AACf,WAAO,KAAKjhB,KAAL,MAAgB,EAAvB;AACH;;AAED2U,EAAAA,cAAc,CAAC,GAAD,EAAM,CAAC,IAAD,EAAO,CAAP,CAAN,EAAiB,CAAjB,EAAoB,MAApB,CAAd;AACAA,EAAAA,cAAc,CAAC,GAAD,EAAM,CAAC,IAAD,EAAO,CAAP,CAAN,EAAiB,CAAjB,EAAoBqM,OAApB,CAAd;AACArM,EAAAA,cAAc,CAAC,GAAD,EAAM,CAAC,IAAD,EAAO,CAAP,CAAN,EAAiB,CAAjB,EAAoBsM,OAApB,CAAd;AAEAtM,EAAAA,cAAc,CAAC,KAAD,EAAQ,CAAR,EAAW,CAAX,EAAc,YAAY;AACpC,WAAO,KAAKqM,OAAO,CAAC58L,KAAR,CAAc,IAAd,CAAL,GAA2B8vL,QAAQ,CAAC,KAAKjU,OAAL,EAAD,EAAiB,CAAjB,CAA1C;AACH,GAFa,CAAd;AAIA0U,EAAAA,cAAc,CAAC,OAAD,EAAU,CAAV,EAAa,CAAb,EAAgB,YAAY;AACtC,WACI,KACAqM,OAAO,CAAC58L,KAAR,CAAc,IAAd,CADA,GAEA8vL,QAAQ,CAAC,KAAKjU,OAAL,EAAD,EAAiB,CAAjB,CAFR,GAGAiU,QAAQ,CAAC,KAAKgN,OAAL,EAAD,EAAiB,CAAjB,CAJZ;AAMH,GAPa,CAAd;AASAvM,EAAAA,cAAc,CAAC,KAAD,EAAQ,CAAR,EAAW,CAAX,EAAc,YAAY;AACpC,WAAO,KAAK,KAAK3U,KAAL,EAAL,GAAoBkU,QAAQ,CAAC,KAAKjU,OAAL,EAAD,EAAiB,CAAjB,CAAnC;AACH,GAFa,CAAd;AAIA0U,EAAAA,cAAc,CAAC,OAAD,EAAU,CAAV,EAAa,CAAb,EAAgB,YAAY;AACtC,WACI,KACA,KAAK3U,KAAL,EADA,GAEAkU,QAAQ,CAAC,KAAKjU,OAAL,EAAD,EAAiB,CAAjB,CAFR,GAGAiU,QAAQ,CAAC,KAAKgN,OAAL,EAAD,EAAiB,CAAjB,CAJZ;AAMH,GAPa,CAAd;;AASA,WAASnhB,QAAT,CAAkBhmL,KAAlB,EAAyBonM,SAAzB,EAAoC;AAChCxM,IAAAA,cAAc,CAAC56L,KAAD,EAAQ,CAAR,EAAW,CAAX,EAAc,YAAY;AACpC,aAAO,KAAK86L,UAAL,GAAkB9U,QAAlB,CACH,KAAKC,KAAL,EADG,EAEH,KAAKC,OAAL,EAFG,EAGHkhB,SAHG,CAAP;AAKH,KANa,CAAd;AAOH;;AAEDphB,EAAAA,QAAQ,CAAC,GAAD,EAAM,IAAN,CAAR;AACAA,EAAAA,QAAQ,CAAC,GAAD,EAAM,KAAN,CAAR,CAj3DiB,CAm3DjB;;AAEAiW,EAAAA,YAAY,CAAC,MAAD,EAAS,GAAT,CAAZ,CAr3DiB,CAu3DjB;;AACAU,EAAAA,eAAe,CAAC,MAAD,EAAS,EAAT,CAAf,CAx3DiB,CA03DjB;;AAEA,WAAS0K,aAAT,CAAuBrI,QAAvB,EAAiCjI,MAAjC,EAAyC;AACrC,WAAOA,MAAM,CAACuQ,cAAd;AACH;;AAEDxI,EAAAA,aAAa,CAAC,GAAD,EAAMuI,aAAN,CAAb;AACAvI,EAAAA,aAAa,CAAC,GAAD,EAAMuI,aAAN,CAAb;AACAvI,EAAAA,aAAa,CAAC,GAAD,EAAMb,SAAN,CAAb;AACAa,EAAAA,aAAa,CAAC,GAAD,EAAMb,SAAN,CAAb;AACAa,EAAAA,aAAa,CAAC,GAAD,EAAMb,SAAN,CAAb;AACAa,EAAAA,aAAa,CAAC,IAAD,EAAOb,SAAP,EAAkBJ,MAAlB,CAAb;AACAiB,EAAAA,aAAa,CAAC,IAAD,EAAOb,SAAP,EAAkBJ,MAAlB,CAAb;AACAiB,EAAAA,aAAa,CAAC,IAAD,EAAOb,SAAP,EAAkBJ,MAAlB,CAAb;AAEAiB,EAAAA,aAAa,CAAC,KAAD,EAAQZ,SAAR,CAAb;AACAY,EAAAA,aAAa,CAAC,OAAD,EAAUX,SAAV,CAAb;AACAW,EAAAA,aAAa,CAAC,KAAD,EAAQZ,SAAR,CAAb;AACAY,EAAAA,aAAa,CAAC,OAAD,EAAUX,SAAV,CAAb;AAEAsB,EAAAA,aAAa,CAAC,CAAC,GAAD,EAAM,IAAN,CAAD,EAAcQ,IAAd,CAAb;AACAR,EAAAA,aAAa,CAAC,CAAC,GAAD,EAAM,IAAN,CAAD,EAAc,UAAUtnK,KAAV,EAAiB06C,KAAjB,EAAwBvzG,MAAxB,EAAgC;AACvD,QAAIioO,MAAM,GAAGtK,KAAK,CAAC9kK,KAAD,CAAlB;AACA06C,IAAAA,KAAK,CAACotH,IAAD,CAAL,GAAcsH,MAAM,KAAK,EAAX,GAAgB,CAAhB,GAAoBA,MAAlC;AACH,GAHY,CAAb;AAIA9H,EAAAA,aAAa,CAAC,CAAC,GAAD,EAAM,GAAN,CAAD,EAAa,UAAUtnK,KAAV,EAAiB06C,KAAjB,EAAwBvzG,MAAxB,EAAgC;AACtDA,IAAAA,MAAM,CAACkoO,KAAP,GAAeloO,MAAM,CAAC45N,OAAP,CAAenT,IAAf,CAAoB5tJ,KAApB,CAAf;AACA74D,IAAAA,MAAM,CAACmoO,SAAP,GAAmBtvK,KAAnB;AACH,GAHY,CAAb;AAIAsnK,EAAAA,aAAa,CAAC,CAAC,GAAD,EAAM,IAAN,CAAD,EAAc,UAAUtnK,KAAV,EAAiB06C,KAAjB,EAAwBvzG,MAAxB,EAAgC;AACvDuzG,IAAAA,KAAK,CAACotH,IAAD,CAAL,GAAchD,KAAK,CAAC9kK,KAAD,CAAnB;AACA8/J,IAAAA,eAAe,CAAC34N,MAAD,CAAf,CAAwBk5N,OAAxB,GAAkC,IAAlC;AACH,GAHY,CAAb;AAIAiH,EAAAA,aAAa,CAAC,KAAD,EAAQ,UAAUtnK,KAAV,EAAiB06C,KAAjB,EAAwBvzG,MAAxB,EAAgC;AACjD,QAAIwyK,GAAG,GAAG35G,KAAK,CAAC5rD,MAAN,GAAe,CAAzB;AACAsmG,IAAAA,KAAK,CAACotH,IAAD,CAAL,GAAchD,KAAK,CAAC9kK,KAAK,CAAC0mF,MAAN,CAAa,CAAb,EAAgBizB,GAAhB,CAAD,CAAnB;AACAj/D,IAAAA,KAAK,CAACqtH,MAAD,CAAL,GAAgBjD,KAAK,CAAC9kK,KAAK,CAAC0mF,MAAN,CAAaizB,GAAb,CAAD,CAArB;AACAmmD,IAAAA,eAAe,CAAC34N,MAAD,CAAf,CAAwBk5N,OAAxB,GAAkC,IAAlC;AACH,GALY,CAAb;AAMAiH,EAAAA,aAAa,CAAC,OAAD,EAAU,UAAUtnK,KAAV,EAAiB06C,KAAjB,EAAwBvzG,MAAxB,EAAgC;AACnD,QAAIooO,IAAI,GAAGvvK,KAAK,CAAC5rD,MAAN,GAAe,CAA1B;AAAA,QACIo7N,IAAI,GAAGxvK,KAAK,CAAC5rD,MAAN,GAAe,CAD1B;AAEAsmG,IAAAA,KAAK,CAACotH,IAAD,CAAL,GAAchD,KAAK,CAAC9kK,KAAK,CAAC0mF,MAAN,CAAa,CAAb,EAAgB6oF,IAAhB,CAAD,CAAnB;AACA70H,IAAAA,KAAK,CAACqtH,MAAD,CAAL,GAAgBjD,KAAK,CAAC9kK,KAAK,CAAC0mF,MAAN,CAAa6oF,IAAb,EAAmB,CAAnB,CAAD,CAArB;AACA70H,IAAAA,KAAK,CAACstH,MAAD,CAAL,GAAgBlD,KAAK,CAAC9kK,KAAK,CAAC0mF,MAAN,CAAa8oF,IAAb,CAAD,CAArB;AACA1P,IAAAA,eAAe,CAAC34N,MAAD,CAAf,CAAwBk5N,OAAxB,GAAkC,IAAlC;AACH,GAPY,CAAb;AAQAiH,EAAAA,aAAa,CAAC,KAAD,EAAQ,UAAUtnK,KAAV,EAAiB06C,KAAjB,EAAwBvzG,MAAxB,EAAgC;AACjD,QAAIwyK,GAAG,GAAG35G,KAAK,CAAC5rD,MAAN,GAAe,CAAzB;AACAsmG,IAAAA,KAAK,CAACotH,IAAD,CAAL,GAAchD,KAAK,CAAC9kK,KAAK,CAAC0mF,MAAN,CAAa,CAAb,EAAgBizB,GAAhB,CAAD,CAAnB;AACAj/D,IAAAA,KAAK,CAACqtH,MAAD,CAAL,GAAgBjD,KAAK,CAAC9kK,KAAK,CAAC0mF,MAAN,CAAaizB,GAAb,CAAD,CAArB;AACH,GAJY,CAAb;AAKA2tD,EAAAA,aAAa,CAAC,OAAD,EAAU,UAAUtnK,KAAV,EAAiB06C,KAAjB,EAAwBvzG,MAAxB,EAAgC;AACnD,QAAIooO,IAAI,GAAGvvK,KAAK,CAAC5rD,MAAN,GAAe,CAA1B;AAAA,QACIo7N,IAAI,GAAGxvK,KAAK,CAAC5rD,MAAN,GAAe,CAD1B;AAEAsmG,IAAAA,KAAK,CAACotH,IAAD,CAAL,GAAchD,KAAK,CAAC9kK,KAAK,CAAC0mF,MAAN,CAAa,CAAb,EAAgB6oF,IAAhB,CAAD,CAAnB;AACA70H,IAAAA,KAAK,CAACqtH,MAAD,CAAL,GAAgBjD,KAAK,CAAC9kK,KAAK,CAAC0mF,MAAN,CAAa6oF,IAAb,EAAmB,CAAnB,CAAD,CAArB;AACA70H,IAAAA,KAAK,CAACstH,MAAD,CAAL,GAAgBlD,KAAK,CAAC9kK,KAAK,CAAC0mF,MAAN,CAAa8oF,IAAb,CAAD,CAArB;AACH,GANY,CAAb,CA96DiB,CAs7DjB;;AAEA,WAASC,UAAT,CAAoBzvK,KAApB,EAA2B;AACvB;AACA;AACA,WAAO,CAACA,KAAK,GAAG,EAAT,EAAalxB,WAAb,GAA2BkgB,MAA3B,CAAkC,CAAlC,MAAyC,GAAhD;AACH;;AAED,MAAI0gL,0BAA0B,GAAG,eAAjC;AAAA,MACI;AACA;AACA;AACA;AACAC,EAAAA,UAAU,GAAGzK,UAAU,CAAC,OAAD,EAAU,IAAV,CAL3B;;AAOA,WAAS0K,cAAT,CAAwB9hB,KAAxB,EAA+BC,OAA/B,EAAwCC,OAAxC,EAAiD;AAC7C,QAAIF,KAAK,GAAG,EAAZ,EAAgB;AACZ,aAAOE,OAAO,GAAG,IAAH,GAAU,IAAxB;AACH,KAFD,MAEO;AACH,aAAOA,OAAO,GAAG,IAAH,GAAU,IAAxB;AACH;AACJ;;AAED,MAAI6hB,UAAU,GAAG;AACbrhB,IAAAA,QAAQ,EAAEsT,eADG;AAEb7T,IAAAA,cAAc,EAAEiV,qBAFH;AAGbvN,IAAAA,WAAW,EAAE2N,kBAHA;AAIb5T,IAAAA,OAAO,EAAE8T,cAJI;AAKb/T,IAAAA,sBAAsB,EAAEgU,6BALX;AAMb1U,IAAAA,YAAY,EAAE4U,mBAND;AAQbrW,IAAAA,MAAM,EAAE+a,mBARK;AASb9a,IAAAA,WAAW,EAAE+a,wBATA;AAWb3Y,IAAAA,IAAI,EAAEoc,iBAXO;AAabve,IAAAA,QAAQ,EAAEmf,qBAbG;AAcbjf,IAAAA,WAAW,EAAEmf,wBAdA;AAebpf,IAAAA,aAAa,EAAEmf,0BAfF;AAiBbjf,IAAAA,aAAa,EAAE+hB;AAjBF,GAAjB,CA78DiB,CAi+DjB;;AACA,MAAII,OAAO,GAAG,EAAd;AAAA,MACIC,cAAc,GAAG,EADrB;AAAA,MAEIC,YAFJ;;AAIA,WAASC,YAAT,CAAsBC,IAAtB,EAA4BC,IAA5B,EAAkC;AAC9B,QAAI/xN,CAAJ;AAAA,QACIgyN,IAAI,GAAGzsK,IAAI,CAACzqC,GAAL,CAASg3M,IAAI,CAAC97N,MAAd,EAAsB+7N,IAAI,CAAC/7N,MAA3B,CADX;;AAEA,SAAKgK,CAAC,GAAG,CAAT,EAAYA,CAAC,GAAGgyN,IAAhB,EAAsBhyN,CAAC,IAAI,CAA3B,EAA8B;AAC1B,UAAI8xN,IAAI,CAAC9xN,CAAD,CAAJ,KAAY+xN,IAAI,CAAC/xN,CAAD,CAApB,EAAyB;AACrB,eAAOA,CAAP;AACH;AACJ;;AACD,WAAOgyN,IAAP;AACH;;AAED,WAASC,eAAT,CAAyB9iM,GAAzB,EAA8B;AAC1B,WAAOA,GAAG,GAAGA,GAAG,CAACuB,WAAJ,GAAkBhoB,OAAlB,CAA0B,GAA1B,EAA+B,GAA/B,CAAH,GAAyCymB,GAAnD;AACH,GAn/DgB,CAq/DjB;AACA;AACA;;;AACA,WAAS+iM,YAAT,CAAsBjrB,KAAtB,EAA6B;AACzB,QAAIjnM,CAAC,GAAG,CAAR;AAAA,QACI0rE,CADJ;AAAA,QAEIz3E,IAFJ;AAAA,QAGIusN,MAHJ;AAAA,QAIIp4M,KAJJ;;AAMA,WAAOpI,CAAC,GAAGinM,KAAK,CAACjxM,MAAjB,EAAyB;AACrBoS,MAAAA,KAAK,GAAG6pN,eAAe,CAAChrB,KAAK,CAACjnM,CAAD,CAAN,CAAf,CAA0BoI,KAA1B,CAAgC,GAAhC,CAAR;AACAsjE,MAAAA,CAAC,GAAGtjE,KAAK,CAACpS,MAAV;AACA/B,MAAAA,IAAI,GAAGg+N,eAAe,CAAChrB,KAAK,CAACjnM,CAAC,GAAG,CAAL,CAAN,CAAtB;AACA/L,MAAAA,IAAI,GAAGA,IAAI,GAAGA,IAAI,CAACmU,KAAL,CAAW,GAAX,CAAH,GAAqB,IAAhC;;AACA,aAAOsjE,CAAC,GAAG,CAAX,EAAc;AACV80I,QAAAA,MAAM,GAAG2R,UAAU,CAAC/pN,KAAK,CAAC25F,KAAN,CAAY,CAAZ,EAAer2B,CAAf,EAAkBt1E,IAAlB,CAAuB,GAAvB,CAAD,CAAnB;;AACA,YAAIoqN,MAAJ,EAAY;AACR,iBAAOA,MAAP;AACH;;AACD,YACIvsN,IAAI,IACJA,IAAI,CAAC+B,MAAL,IAAe01E,CADf,IAEAmmJ,YAAY,CAACzpN,KAAD,EAAQnU,IAAR,CAAZ,IAA6By3E,CAAC,GAAG,CAHrC,EAIE;AACE;AACA;AACH;;AACDA,QAAAA,CAAC;AACJ;;AACD1rE,MAAAA,CAAC;AACJ;;AACD,WAAO4xN,YAAP;AACH;;AAED,WAASQ,gBAAT,CAA0Bv4N,IAA1B,EAAgC;AAC5B;AACA,WAAOA,IAAI,CAAC05E,KAAL,CAAW,aAAX,KAA6B,IAApC;AACH;;AAED,WAAS4+I,UAAT,CAAoBt4N,IAApB,EAA0B;AACtB,QAAIw4N,SAAS,GAAG,IAAhB;AAAA,QACIC,cADJ,CADsB,CAGtB;;AACA,QACIZ,OAAO,CAAC73N,IAAD,CAAP,KAAkB6hC,SAAlB,IACA,aAAkB,WADlB,IAEAgrK,MAFA,IAGAA,MAAM,CAACx2L,OAHP,IAIAkiN,gBAAgB,CAACv4N,IAAD,CALpB,EAME;AACE,UAAI;AACAw4N,QAAAA,SAAS,GAAGT,YAAY,CAACW,KAAzB;AACAD,QAAAA,cAAc,GAAGnkC,SAAjB;AACAmkC,QAAAA,2BAAe,IAAW,GAAGz4N,IAAf,CAAd;AACA24N,QAAAA,kBAAkB,CAACH,SAAD,CAAlB;AACH,OALD,CAKE,OAAOr+L,CAAP,EAAU;AACR;AACA;AACA09L,QAAAA,OAAO,CAAC73N,IAAD,CAAP,GAAgB,IAAhB,CAHQ,CAGc;AACzB;AACJ;;AACD,WAAO63N,OAAO,CAAC73N,IAAD,CAAd;AACH,GApjEgB,CAsjEjB;AACA;AACA;;;AACA,WAAS24N,kBAAT,CAA4BrjM,GAA5B,EAAiCub,MAAjC,EAAyC;AACrC,QAAI15C,IAAJ;;AACA,QAAIm+B,GAAJ,EAAS;AACL,UAAI4nF,WAAW,CAACrsE,MAAD,CAAf,EAAyB;AACrB15C,QAAAA,IAAI,GAAGyhO,SAAS,CAACtjM,GAAD,CAAhB;AACH,OAFD,MAEO;AACHn+B,QAAAA,IAAI,GAAGi+M,YAAY,CAAC9/K,GAAD,EAAMub,MAAN,CAAnB;AACH;;AAED,UAAI15C,IAAJ,EAAU;AACN;AACA4gO,QAAAA,YAAY,GAAG5gO,IAAf;AACH,OAHD,MAGO;AACH,YAAI,OAAO7F,OAAP,KAAmB,WAAnB,IAAkCA,OAAO,CAAC8wM,IAA9C,EAAoD;AAChD;AACA9wM,UAAAA,OAAO,CAAC8wM,IAAR,CACI,YAAY9sK,GAAZ,GAAkB,wCADtB;AAGH;AACJ;AACJ;;AAED,WAAOyiM,YAAY,CAACW,KAApB;AACH;;AAED,WAAStjB,YAAT,CAAsBp1M,IAAtB,EAA4B9Q,MAA5B,EAAoC;AAChC,QAAIA,MAAM,KAAK,IAAf,EAAqB;AACjB,UAAIy3N,MAAJ;AAAA,UACI+C,YAAY,GAAGkO,UADnB;AAEA1oO,MAAAA,MAAM,CAACugN,IAAP,GAAczvM,IAAd;;AACA,UAAI63N,OAAO,CAAC73N,IAAD,CAAP,IAAiB,IAArB,EAA2B;AACvBqpN,QAAAA,eAAe,CACX,sBADW,EAEX,2DACI,sDADJ,GAEI,wDAFJ,GAGI,yEALO,CAAf;AAOAK,QAAAA,YAAY,GAAGmO,OAAO,CAAC73N,IAAD,CAAP,CAAc4xG,OAA7B;AACH,OATD,MASO,IAAI1iH,MAAM,CAAC2pO,YAAP,IAAuB,IAA3B,EAAiC;AACpC,YAAIhB,OAAO,CAAC3oO,MAAM,CAAC2pO,YAAR,CAAP,IAAgC,IAApC,EAA0C;AACtCnP,UAAAA,YAAY,GAAGmO,OAAO,CAAC3oO,MAAM,CAAC2pO,YAAR,CAAP,CAA6BjnH,OAA5C;AACH,SAFD,MAEO;AACH+0G,UAAAA,MAAM,GAAG2R,UAAU,CAACppO,MAAM,CAAC2pO,YAAR,CAAnB;;AACA,cAAIlS,MAAM,IAAI,IAAd,EAAoB;AAChB+C,YAAAA,YAAY,GAAG/C,MAAM,CAAC/0G,OAAtB;AACH,WAFD,MAEO;AACH,gBAAI,CAACkmH,cAAc,CAAC5oO,MAAM,CAAC2pO,YAAR,CAAnB,EAA0C;AACtCf,cAAAA,cAAc,CAAC5oO,MAAM,CAAC2pO,YAAR,CAAd,GAAsC,EAAtC;AACH;;AACDf,YAAAA,cAAc,CAAC5oO,MAAM,CAAC2pO,YAAR,CAAd,CAAoCpjM,IAApC,CAAyC;AACrCz1B,cAAAA,IAAI,EAAEA,IAD+B;AAErC9Q,cAAAA,MAAM,EAAEA;AAF6B,aAAzC;AAIA,mBAAO,IAAP;AACH;AACJ;AACJ;;AACD2oO,MAAAA,OAAO,CAAC73N,IAAD,CAAP,GAAgB,IAAI4pN,MAAJ,CAAWH,YAAY,CAACC,YAAD,EAAex6N,MAAf,CAAvB,CAAhB;;AAEA,UAAI4oO,cAAc,CAAC93N,IAAD,CAAlB,EAA0B;AACtB83N,QAAAA,cAAc,CAAC93N,IAAD,CAAd,CAAqBq1B,OAArB,CAA6B,UAAUppB,CAAV,EAAa;AACtCmpM,UAAAA,YAAY,CAACnpM,CAAC,CAACjM,IAAH,EAASiM,CAAC,CAAC/c,MAAX,CAAZ;AACH,SAFD;AAGH,OAtCgB,CAwCjB;AACA;AACA;;;AACAypO,MAAAA,kBAAkB,CAAC34N,IAAD,CAAlB;AAEA,aAAO63N,OAAO,CAAC73N,IAAD,CAAd;AACH,KA9CD,MA8CO;AACH;AACA,aAAO63N,OAAO,CAAC73N,IAAD,CAAd;AACA,aAAO,IAAP;AACH;AACJ;;AAED,WAAS84N,YAAT,CAAsB94N,IAAtB,EAA4B9Q,MAA5B,EAAoC;AAChC,QAAIA,MAAM,IAAI,IAAd,EAAoB;AAChB,UAAIy3N,MAAJ;AAAA,UACIoS,SADJ;AAAA,UAEIrP,YAAY,GAAGkO,UAFnB;;AAIA,UAAIC,OAAO,CAAC73N,IAAD,CAAP,IAAiB,IAAjB,IAAyB63N,OAAO,CAAC73N,IAAD,CAAP,CAAc64N,YAAd,IAA8B,IAA3D,EAAiE;AAC7D;AACAhB,QAAAA,OAAO,CAAC73N,IAAD,CAAP,CAAcs0B,GAAd,CAAkBm1L,YAAY,CAACoO,OAAO,CAAC73N,IAAD,CAAP,CAAc4xG,OAAf,EAAwB1iH,MAAxB,CAA9B;AACH,OAHD,MAGO;AACH;AACA6pO,QAAAA,SAAS,GAAGT,UAAU,CAACt4N,IAAD,CAAtB;;AACA,YAAI+4N,SAAS,IAAI,IAAjB,EAAuB;AACnBrP,UAAAA,YAAY,GAAGqP,SAAS,CAACnnH,OAAzB;AACH;;AACD1iH,QAAAA,MAAM,GAAGu6N,YAAY,CAACC,YAAD,EAAex6N,MAAf,CAArB;;AACA,YAAI6pO,SAAS,IAAI,IAAjB,EAAuB;AACnB;AACA;AACA;AACA7pO,UAAAA,MAAM,CAACugN,IAAP,GAAczvM,IAAd;AACH;;AACD2mN,QAAAA,MAAM,GAAG,IAAIiD,MAAJ,CAAW16N,MAAX,CAAT;AACAy3N,QAAAA,MAAM,CAACkS,YAAP,GAAsBhB,OAAO,CAAC73N,IAAD,CAA7B;AACA63N,QAAAA,OAAO,CAAC73N,IAAD,CAAP,GAAgB2mN,MAAhB;AACH,OAxBe,CA0BhB;;;AACAgS,MAAAA,kBAAkB,CAAC34N,IAAD,CAAlB;AACH,KA5BD,MA4BO;AACH;AACA,UAAI63N,OAAO,CAAC73N,IAAD,CAAP,IAAiB,IAArB,EAA2B;AACvB,YAAI63N,OAAO,CAAC73N,IAAD,CAAP,CAAc64N,YAAd,IAA8B,IAAlC,EAAwC;AACpChB,UAAAA,OAAO,CAAC73N,IAAD,CAAP,GAAgB63N,OAAO,CAAC73N,IAAD,CAAP,CAAc64N,YAA9B;;AACA,cAAI74N,IAAI,KAAK24N,kBAAkB,EAA/B,EAAmC;AAC/BA,YAAAA,kBAAkB,CAAC34N,IAAD,CAAlB;AACH;AACJ,SALD,MAKO,IAAI63N,OAAO,CAAC73N,IAAD,CAAP,IAAiB,IAArB,EAA2B;AAC9B,iBAAO63N,OAAO,CAAC73N,IAAD,CAAd;AACH;AACJ;AACJ;;AACD,WAAO63N,OAAO,CAAC73N,IAAD,CAAd;AACH,GAnrEgB,CAqrEjB;;;AACA,WAAS44N,SAAT,CAAmBtjM,GAAnB,EAAwB;AACpB,QAAIqxL,MAAJ;;AAEA,QAAIrxL,GAAG,IAAIA,GAAG,CAACwzL,OAAX,IAAsBxzL,GAAG,CAACwzL,OAAJ,CAAY4P,KAAtC,EAA6C;AACzCpjM,MAAAA,GAAG,GAAGA,GAAG,CAACwzL,OAAJ,CAAY4P,KAAlB;AACH;;AAED,QAAI,CAACpjM,GAAL,EAAU;AACN,aAAOyiM,YAAP;AACH;;AAED,QAAI,CAACnnH,OAAO,CAACt7E,GAAD,CAAZ,EAAmB;AACf;AACAqxL,MAAAA,MAAM,GAAG2R,UAAU,CAAChjM,GAAD,CAAnB;;AACA,UAAIqxL,MAAJ,EAAY;AACR,eAAOA,MAAP;AACH;;AACDrxL,MAAAA,GAAG,GAAG,CAACA,GAAD,CAAN;AACH;;AAED,WAAO+iM,YAAY,CAAC/iM,GAAD,CAAnB;AACH;;AAED,WAAS0jM,WAAT,GAAuB;AACnB,WAAOnkM,IAAI,CAACgjM,OAAD,CAAX;AACH;;AAED,WAASoB,aAAT,CAAuBj9L,CAAvB,EAA0B;AACtB,QAAIosE,QAAJ;AAAA,QACIx2B,CAAC,GAAG51C,CAAC,CAACuD,EADV;;AAGA,QAAIqyC,CAAC,IAAIi2I,eAAe,CAAC7rL,CAAD,CAAf,CAAmBosE,QAAnB,KAAgC,CAAC,CAA1C,EAA6C;AACzCA,MAAAA,QAAQ,GACJx2B,CAAC,CAAC+9I,KAAD,CAAD,GAAW,CAAX,IAAgB/9I,CAAC,CAAC+9I,KAAD,CAAD,GAAW,EAA3B,GACMA,KADN,GAEM/9I,CAAC,CAACg+I,IAAD,CAAD,GAAU,CAAV,IAAeh+I,CAAC,CAACg+I,IAAD,CAAD,GAAUzC,WAAW,CAACv7I,CAAC,CAAC89I,IAAD,CAAF,EAAU99I,CAAC,CAAC+9I,KAAD,CAAX,CAApC,GACAC,IADA,GAEAh+I,CAAC,CAACi+I,IAAD,CAAD,GAAU,CAAV,IACAj+I,CAAC,CAACi+I,IAAD,CAAD,GAAU,EADV,IAECj+I,CAAC,CAACi+I,IAAD,CAAD,KAAY,EAAZ,KACIj+I,CAAC,CAACk+I,MAAD,CAAD,KAAc,CAAd,IACGl+I,CAAC,CAACm+I,MAAD,CAAD,KAAc,CADjB,IAEGn+I,CAAC,CAACo+I,WAAD,CAAD,KAAmB,CAH1B,CAFD,GAMAH,IANA,GAOAj+I,CAAC,CAACk+I,MAAD,CAAD,GAAY,CAAZ,IAAiBl+I,CAAC,CAACk+I,MAAD,CAAD,GAAY,EAA7B,GACAA,MADA,GAEAl+I,CAAC,CAACm+I,MAAD,CAAD,GAAY,CAAZ,IAAiBn+I,CAAC,CAACm+I,MAAD,CAAD,GAAY,EAA7B,GACAA,MADA,GAEAn+I,CAAC,CAACo+I,WAAD,CAAD,GAAiB,CAAjB,IAAsBp+I,CAAC,CAACo+I,WAAD,CAAD,GAAiB,GAAvC,GACAA,WADA,GAEA,CAAC,CAlBX;;AAoBA,UACInI,eAAe,CAAC7rL,CAAD,CAAf,CAAmBk9L,kBAAnB,KACC9wH,QAAQ,GAAGsnH,IAAX,IAAmBtnH,QAAQ,GAAGwnH,IAD/B,CADJ,EAGE;AACExnH,QAAAA,QAAQ,GAAGwnH,IAAX;AACH;;AACD,UAAI/H,eAAe,CAAC7rL,CAAD,CAAf,CAAmBm9L,cAAnB,IAAqC/wH,QAAQ,KAAK,CAAC,CAAvD,EAA0D;AACtDA,QAAAA,QAAQ,GAAG6nH,IAAX;AACH;;AACD,UAAIpI,eAAe,CAAC7rL,CAAD,CAAf,CAAmBo9L,gBAAnB,IAAuChxH,QAAQ,KAAK,CAAC,CAAzD,EAA4D;AACxDA,QAAAA,QAAQ,GAAG8nH,OAAX;AACH;;AAEDrI,MAAAA,eAAe,CAAC7rL,CAAD,CAAf,CAAmBosE,QAAnB,GAA8BA,QAA9B;AACH;;AAED,WAAOpsE,CAAP;AACH,GA3vEgB,CA6vEjB;AACA;;;AACA,MAAIq9L,gBAAgB,GACZ,gJADR;AAAA,MAEIC,aAAa,GACT,4IAHR;AAAA,MAIIC,OAAO,GAAG,uBAJd;AAAA,MAKIC,QAAQ,GAAG,CACP,CAAC,cAAD,EAAiB,qBAAjB,CADO,EAEP,CAAC,YAAD,EAAe,iBAAf,CAFO,EAGP,CAAC,cAAD,EAAiB,gBAAjB,CAHO,EAIP,CAAC,YAAD,EAAe,aAAf,EAA8B,KAA9B,CAJO,EAKP,CAAC,UAAD,EAAa,aAAb,CALO,EAMP,CAAC,SAAD,EAAY,YAAZ,EAA0B,KAA1B,CANO,EAOP,CAAC,YAAD,EAAe,YAAf,CAPO,EAQP,CAAC,UAAD,EAAa,OAAb,CARO,EASP,CAAC,YAAD,EAAe,aAAf,CATO,EAUP,CAAC,WAAD,EAAc,aAAd,EAA6B,KAA7B,CAVO,EAWP,CAAC,SAAD,EAAY,OAAZ,CAXO,EAYP,CAAC,QAAD,EAAW,OAAX,EAAoB,KAApB,CAZO,EAaP,CAAC,MAAD,EAAS,OAAT,EAAkB,KAAlB,CAbO,CALf;AAAA,MAoBI;AACAC,EAAAA,QAAQ,GAAG,CACP,CAAC,eAAD,EAAkB,qBAAlB,CADO,EAEP,CAAC,eAAD,EAAkB,oBAAlB,CAFO,EAGP,CAAC,UAAD,EAAa,gBAAb,CAHO,EAIP,CAAC,OAAD,EAAU,WAAV,CAJO,EAKP,CAAC,aAAD,EAAgB,mBAAhB,CALO,EAMP,CAAC,aAAD,EAAgB,kBAAhB,CANO,EAOP,CAAC,QAAD,EAAW,cAAX,CAPO,EAQP,CAAC,MAAD,EAAS,UAAT,CARO,EASP,CAAC,IAAD,EAAO,MAAP,CATO,CArBf;AAAA,MAgCIC,eAAe,GAAG,oBAhCtB;AAAA,MAiCI;AACA/R,EAAAA,OAAO,GACH,yLAnCR;AAAA,MAoCIgS,UAAU,GAAG;AACTC,IAAAA,EAAE,EAAE,CADK;AAETC,IAAAA,GAAG,EAAE,CAFI;AAGTC,IAAAA,GAAG,EAAE,CAAC,CAAD,GAAK,EAHD;AAITC,IAAAA,GAAG,EAAE,CAAC,CAAD,GAAK,EAJD;AAKTC,IAAAA,GAAG,EAAE,CAAC,CAAD,GAAK,EALD;AAMTC,IAAAA,GAAG,EAAE,CAAC,CAAD,GAAK,EAND;AAOTC,IAAAA,GAAG,EAAE,CAAC,CAAD,GAAK,EAPD;AAQTC,IAAAA,GAAG,EAAE,CAAC,CAAD,GAAK,EARD;AASTC,IAAAA,GAAG,EAAE,CAAC,CAAD,GAAK,EATD;AAUTC,IAAAA,GAAG,EAAE,CAAC,CAAD,GAAK;AAVD,GApCjB,CA/vEiB,CAgzEjB;;AACA,WAASC,aAAT,CAAuBprO,MAAvB,EAA+B;AAC3B,QAAIiX,CAAJ;AAAA,QACIu1M,CADJ;AAAA,QAEI7N,MAAM,GAAG3+M,MAAM,CAACi3F,EAFpB;AAAA,QAGIzM,KAAK,GAAG2/I,gBAAgB,CAAChtH,IAAjB,CAAsBwhG,MAAtB,KAAiCyrB,aAAa,CAACjtH,IAAd,CAAmBwhG,MAAnB,CAH7C;AAAA,QAII0sB,SAJJ;AAAA,QAKIC,UALJ;AAAA,QAMIC,UANJ;AAAA,QAOIC,QAPJ;AAAA,QAQIC,WAAW,GAAGnB,QAAQ,CAACr9N,MAR3B;AAAA,QASIy+N,WAAW,GAAGnB,QAAQ,CAACt9N,MAT3B;;AAWA,QAAIu9E,KAAJ,EAAW;AACPmuI,MAAAA,eAAe,CAAC34N,MAAD,CAAf,CAAwBs4N,GAAxB,GAA8B,IAA9B;;AACA,WAAKrhN,CAAC,GAAG,CAAJ,EAAOu1M,CAAC,GAAGif,WAAhB,EAA6Bx0N,CAAC,GAAGu1M,CAAjC,EAAoCv1M,CAAC,EAArC,EAAyC;AACrC,YAAIqzN,QAAQ,CAACrzN,CAAD,CAAR,CAAY,CAAZ,EAAekmG,IAAf,CAAoB3yB,KAAK,CAAC,CAAD,CAAzB,CAAJ,EAAmC;AAC/B8gJ,UAAAA,UAAU,GAAGhB,QAAQ,CAACrzN,CAAD,CAAR,CAAY,CAAZ,CAAb;AACAo0N,UAAAA,SAAS,GAAGf,QAAQ,CAACrzN,CAAD,CAAR,CAAY,CAAZ,MAAmB,KAA/B;AACA;AACH;AACJ;;AACD,UAAIq0N,UAAU,IAAI,IAAlB,EAAwB;AACpBtrO,QAAAA,MAAM,CAAC+/K,QAAP,GAAkB,KAAlB;AACA;AACH;;AACD,UAAIv1F,KAAK,CAAC,CAAD,CAAT,EAAc;AACV,aAAKvzE,CAAC,GAAG,CAAJ,EAAOu1M,CAAC,GAAGkf,WAAhB,EAA6Bz0N,CAAC,GAAGu1M,CAAjC,EAAoCv1M,CAAC,EAArC,EAAyC;AACrC,cAAIszN,QAAQ,CAACtzN,CAAD,CAAR,CAAY,CAAZ,EAAekmG,IAAf,CAAoB3yB,KAAK,CAAC,CAAD,CAAzB,CAAJ,EAAmC;AAC/B;AACA+gJ,YAAAA,UAAU,GAAG,CAAC/gJ,KAAK,CAAC,CAAD,CAAL,IAAY,GAAb,IAAoB+/I,QAAQ,CAACtzN,CAAD,CAAR,CAAY,CAAZ,CAAjC;AACA;AACH;AACJ;;AACD,YAAIs0N,UAAU,IAAI,IAAlB,EAAwB;AACpBvrO,UAAAA,MAAM,CAAC+/K,QAAP,GAAkB,KAAlB;AACA;AACH;AACJ;;AACD,UAAI,CAACsrD,SAAD,IAAcE,UAAU,IAAI,IAAhC,EAAsC;AAClCvrO,QAAAA,MAAM,CAAC+/K,QAAP,GAAkB,KAAlB;AACA;AACH;;AACD,UAAIv1F,KAAK,CAAC,CAAD,CAAT,EAAc;AACV,YAAI6/I,OAAO,CAACltH,IAAR,CAAa3yB,KAAK,CAAC,CAAD,CAAlB,CAAJ,EAA4B;AACxBghJ,UAAAA,QAAQ,GAAG,GAAX;AACH,SAFD,MAEO;AACHxrO,UAAAA,MAAM,CAAC+/K,QAAP,GAAkB,KAAlB;AACA;AACH;AACJ;;AACD//K,MAAAA,MAAM,CAACipF,EAAP,GAAYqiJ,UAAU,IAAIC,UAAU,IAAI,EAAlB,CAAV,IAAmCC,QAAQ,IAAI,EAA/C,CAAZ;AACAG,MAAAA,yBAAyB,CAAC3rO,MAAD,CAAzB;AACH,KAxCD,MAwCO;AACHA,MAAAA,MAAM,CAAC+/K,QAAP,GAAkB,KAAlB;AACH;AACJ;;AAED,WAAS6rD,yBAAT,CACIC,OADJ,EAEIC,QAFJ,EAGIC,MAHJ,EAIIC,OAJJ,EAKIC,SALJ,EAMIC,SANJ,EAOE;AACE,QAAIj6N,MAAM,GAAG,CACTk6N,cAAc,CAACN,OAAD,CADL,EAET1K,wBAAwB,CAACzoN,OAAzB,CAAiCozN,QAAjC,CAFS,EAGT5nM,QAAQ,CAAC6nM,MAAD,EAAS,EAAT,CAHC,EAIT7nM,QAAQ,CAAC8nM,OAAD,EAAU,EAAV,CAJC,EAKT9nM,QAAQ,CAAC+nM,SAAD,EAAY,EAAZ,CALC,CAAb;;AAQA,QAAIC,SAAJ,EAAe;AACXj6N,MAAAA,MAAM,CAACs0B,IAAP,CAAYrC,QAAQ,CAACgoM,SAAD,EAAY,EAAZ,CAApB;AACH;;AAED,WAAOj6N,MAAP;AACH;;AAED,WAASk6N,cAAT,CAAwBN,OAAxB,EAAiC;AAC7B,QAAIpO,IAAI,GAAGv5L,QAAQ,CAAC2nM,OAAD,EAAU,EAAV,CAAnB;;AACA,QAAIpO,IAAI,IAAI,EAAZ,EAAgB;AACZ,aAAO,OAAOA,IAAd;AACH,KAFD,MAEO,IAAIA,IAAI,IAAI,GAAZ,EAAiB;AACpB,aAAO,OAAOA,IAAd;AACH;;AACD,WAAOA,IAAP;AACH;;AAED,WAAS2O,iBAAT,CAA2BxhM,CAA3B,EAA8B;AAC1B;AACA,WAAOA,CAAC,CACHjrB,OADE,CACM,oBADN,EAC4B,GAD5B,EAEFA,OAFE,CAEM,UAFN,EAEkB,GAFlB,EAGFA,OAHE,CAGM,QAHN,EAGgB,EAHhB,EAIFA,OAJE,CAIM,QAJN,EAIgB,EAJhB,CAAP;AAKH;;AAED,WAAS0sN,YAAT,CAAsBC,UAAtB,EAAkCC,WAAlC,EAA+CvsO,MAA/C,EAAuD;AACnD,QAAIssO,UAAJ,EAAgB;AACZ;AACA,UAAIE,eAAe,GAAG/G,0BAA0B,CAAC/sN,OAA3B,CAAmC4zN,UAAnC,CAAtB;AAAA,UACIG,aAAa,GAAG,IAAIpkL,IAAJ,CACZkkL,WAAW,CAAC,CAAD,CADC,EAEZA,WAAW,CAAC,CAAD,CAFC,EAGZA,WAAW,CAAC,CAAD,CAHC,EAId1F,MAJc,EADpB;;AAMA,UAAI2F,eAAe,KAAKC,aAAxB,EAAuC;AACnC9T,QAAAA,eAAe,CAAC34N,MAAD,CAAf,CAAwB04N,eAAxB,GAA0C,IAA1C;AACA14N,QAAAA,MAAM,CAAC+/K,QAAP,GAAkB,KAAlB;AACA,eAAO,KAAP;AACH;AACJ;;AACD,WAAO,IAAP;AACH;;AAED,WAAS2sD,eAAT,CAAyBC,SAAzB,EAAoCC,cAApC,EAAoDC,SAApD,EAA+D;AAC3D,QAAIF,SAAJ,EAAe;AACX,aAAOlC,UAAU,CAACkC,SAAD,CAAjB;AACH,KAFD,MAEO,IAAIC,cAAJ,EAAoB;AACvB;AACA,aAAO,CAAP;AACH,KAHM,MAGA;AACH,UAAI9W,EAAE,GAAG5xL,QAAQ,CAAC2oM,SAAD,EAAY,EAAZ,CAAjB;AAAA,UACI//L,CAAC,GAAGgpL,EAAE,GAAG,GADb;AAAA,UAEI5+C,CAAC,GAAG,CAAC4+C,EAAE,GAAGhpL,CAAN,IAAW,GAFnB;AAGA,aAAOoqI,CAAC,GAAG,EAAJ,GAASpqI,CAAhB;AACH;AACJ,GAl7EgB,CAo7EjB;;;AACA,WAASggM,iBAAT,CAA2B9sO,MAA3B,EAAmC;AAC/B,QAAIwqF,KAAK,GAAGiuI,OAAO,CAACt7G,IAAR,CAAaivH,iBAAiB,CAACpsO,MAAM,CAACi3F,EAAR,CAA9B,CAAZ;AAAA,QACI81I,WADJ;;AAEA,QAAIviJ,KAAJ,EAAW;AACPuiJ,MAAAA,WAAW,GAAGnB,yBAAyB,CACnCphJ,KAAK,CAAC,CAAD,CAD8B,EAEnCA,KAAK,CAAC,CAAD,CAF8B,EAGnCA,KAAK,CAAC,CAAD,CAH8B,EAInCA,KAAK,CAAC,CAAD,CAJ8B,EAKnCA,KAAK,CAAC,CAAD,CAL8B,EAMnCA,KAAK,CAAC,CAAD,CAN8B,CAAvC;;AAQA,UAAI,CAAC6hJ,YAAY,CAAC7hJ,KAAK,CAAC,CAAD,CAAN,EAAWuiJ,WAAX,EAAwB/sO,MAAxB,CAAjB,EAAkD;AAC9C;AACH;;AAEDA,MAAAA,MAAM,CAACqwC,EAAP,GAAY08L,WAAZ;AACA/sO,MAAAA,MAAM,CAAC4kN,IAAP,GAAc8nB,eAAe,CAACliJ,KAAK,CAAC,CAAD,CAAN,EAAWA,KAAK,CAAC,CAAD,CAAhB,EAAqBA,KAAK,CAAC,EAAD,CAA1B,CAA7B;AAEAxqF,MAAAA,MAAM,CAACwzE,EAAP,GAAYgwJ,aAAa,CAACz4L,KAAd,CAAoB,IAApB,EAA0B/qC,MAAM,CAACqwC,EAAjC,CAAZ;;AACArwC,MAAAA,MAAM,CAACwzE,EAAP,CAAUw5J,aAAV,CAAwBhtO,MAAM,CAACwzE,EAAP,CAAU4/F,aAAV,KAA4BpzK,MAAM,CAAC4kN,IAA3D;;AAEA+T,MAAAA,eAAe,CAAC34N,MAAD,CAAf,CAAwBy4N,OAAxB,GAAkC,IAAlC;AACH,KApBD,MAoBO;AACHz4N,MAAAA,MAAM,CAAC+/K,QAAP,GAAkB,KAAlB;AACH;AACJ,GA/8EgB,CAi9EjB;;;AACA,WAASktD,gBAAT,CAA0BjtO,MAA1B,EAAkC;AAC9B,QAAI8/N,OAAO,GAAG0K,eAAe,CAACrtH,IAAhB,CAAqBn9G,MAAM,CAACi3F,EAA5B,CAAd;;AACA,QAAI6oI,OAAO,KAAK,IAAhB,EAAsB;AAClB9/N,MAAAA,MAAM,CAACwzE,EAAP,GAAY,IAAInrB,IAAJ,CAAS,CAACy3K,OAAO,CAAC,CAAD,CAAjB,CAAZ;AACA;AACH;;AAEDsL,IAAAA,aAAa,CAACprO,MAAD,CAAb;;AACA,QAAIA,MAAM,CAAC+/K,QAAP,KAAoB,KAAxB,EAA+B;AAC3B,aAAO//K,MAAM,CAAC+/K,QAAd;AACH,KAFD,MAEO;AACH;AACH;;AAED+sD,IAAAA,iBAAiB,CAAC9sO,MAAD,CAAjB;;AACA,QAAIA,MAAM,CAAC+/K,QAAP,KAAoB,KAAxB,EAA+B;AAC3B,aAAO//K,MAAM,CAAC+/K,QAAd;AACH,KAFD,MAEO;AACH;AACH;;AAED,QAAI//K,MAAM,CAACi5N,OAAX,EAAoB;AAChBj5N,MAAAA,MAAM,CAAC+/K,QAAP,GAAkB,KAAlB;AACH,KAFD,MAEO;AACH;AACA9iB,MAAAA,KAAK,CAACiwE,uBAAN,CAA8BltO,MAA9B;AACH;AACJ;;AAEDi9J,EAAAA,KAAK,CAACiwE,uBAAN,GAAgCnT,SAAS,CACrC,+GACI,2FADJ,GAEI,4FAHiC,EAIrC,UAAU/5N,MAAV,EAAkB;AACdA,IAAAA,MAAM,CAACwzE,EAAP,GAAY,IAAInrB,IAAJ,CAASroD,MAAM,CAACi3F,EAAP,IAAaj3F,MAAM,CAACmtO,OAAP,GAAiB,MAAjB,GAA0B,EAAvC,CAAT,CAAZ;AACH,GANoC,CAAzC,CA/+EiB,CAw/EjB;;AACA,WAASn2G,QAAT,CAAkBt0C,CAAlB,EAAqBv4C,CAArB,EAAwB8zI,CAAxB,EAA2B;AACvB,QAAIv7F,CAAC,IAAI,IAAT,EAAe;AACX,aAAOA,CAAP;AACH;;AACD,QAAIv4C,CAAC,IAAI,IAAT,EAAe;AACX,aAAOA,CAAP;AACH;;AACD,WAAO8zI,CAAP;AACH;;AAED,WAASmvD,gBAAT,CAA0BptO,MAA1B,EAAkC;AAC9B;AACA,QAAIqtO,QAAQ,GAAG,IAAIhlL,IAAJ,CAAS40G,KAAK,CAAC71F,GAAN,EAAT,CAAf;;AACA,QAAIpnE,MAAM,CAACmtO,OAAX,EAAoB;AAChB,aAAO,CACHE,QAAQ,CAAC7jF,cAAT,EADG,EAEH6jF,QAAQ,CAAC5jF,WAAT,EAFG,EAGH4jF,QAAQ,CAACn6D,UAAT,EAHG,CAAP;AAKH;;AACD,WAAO,CAACm6D,QAAQ,CAACxrB,WAAT,EAAD,EAAyBwrB,QAAQ,CAACC,QAAT,EAAzB,EAA8CD,QAAQ,CAACljF,OAAT,EAA9C,CAAP;AACH,GA9gFgB,CAghFjB;AACA;AACA;AACA;;;AACA,WAASojF,eAAT,CAAyBvtO,MAAzB,EAAiC;AAC7B,QAAIiX,CAAJ;AAAA,QACIg0G,IADJ;AAAA,QAEIpyD,KAAK,GAAG,EAFZ;AAAA,QAGIliC,WAHJ;AAAA,QAII62M,eAJJ;AAAA,QAKIC,SALJ;;AAOA,QAAIztO,MAAM,CAACwzE,EAAX,EAAe;AACX;AACH;;AAED78C,IAAAA,WAAW,GAAGy2M,gBAAgB,CAACptO,MAAD,CAA9B,CAZ6B,CAc7B;;AACA,QAAIA,MAAM,CAACsgO,EAAP,IAAatgO,MAAM,CAACqwC,EAAP,CAAUqwL,IAAV,KAAmB,IAAhC,IAAwC1gO,MAAM,CAACqwC,EAAP,CAAUowL,KAAV,KAAoB,IAAhE,EAAsE;AAClEiN,MAAAA,qBAAqB,CAAC1tO,MAAD,CAArB;AACH,KAjB4B,CAmB7B;;;AACA,QAAIA,MAAM,CAAC2tO,UAAP,IAAqB,IAAzB,EAA+B;AAC3BF,MAAAA,SAAS,GAAGz2G,QAAQ,CAACh3H,MAAM,CAACqwC,EAAP,CAAUmwL,IAAV,CAAD,EAAkB7pM,WAAW,CAAC6pM,IAAD,CAA7B,CAApB;;AAEA,UACIxgO,MAAM,CAAC2tO,UAAP,GAAoBxK,UAAU,CAACsK,SAAD,CAA9B,IACAztO,MAAM,CAAC2tO,UAAP,KAAsB,CAF1B,EAGE;AACEhV,QAAAA,eAAe,CAAC34N,MAAD,CAAf,CAAwBgqO,kBAAxB,GAA6C,IAA7C;AACH;;AAED/+G,MAAAA,IAAI,GAAGu4G,aAAa,CAACiK,SAAD,EAAY,CAAZ,EAAeztO,MAAM,CAAC2tO,UAAtB,CAApB;AACA3tO,MAAAA,MAAM,CAACqwC,EAAP,CAAUowL,KAAV,IAAmBx1G,IAAI,CAACw+B,WAAL,EAAnB;AACAzpJ,MAAAA,MAAM,CAACqwC,EAAP,CAAUqwL,IAAV,IAAkBz1G,IAAI,CAACioD,UAAL,EAAlB;AACH,KAjC4B,CAmC7B;AACA;AACA;AACA;AACA;;;AACA,SAAKj8J,CAAC,GAAG,CAAT,EAAYA,CAAC,GAAG,CAAJ,IAASjX,MAAM,CAACqwC,EAAP,CAAUp5B,CAAV,KAAgB,IAArC,EAA2C,EAAEA,CAA7C,EAAgD;AAC5CjX,MAAAA,MAAM,CAACqwC,EAAP,CAAUp5B,CAAV,IAAe4hD,KAAK,CAAC5hD,CAAD,CAAL,GAAW0f,WAAW,CAAC1f,CAAD,CAArC;AACH,KA1C4B,CA4C7B;;;AACA,WAAOA,CAAC,GAAG,CAAX,EAAcA,CAAC,EAAf,EAAmB;AACfjX,MAAAA,MAAM,CAACqwC,EAAP,CAAUp5B,CAAV,IAAe4hD,KAAK,CAAC5hD,CAAD,CAAL,GACXjX,MAAM,CAACqwC,EAAP,CAAUp5B,CAAV,KAAgB,IAAhB,GAAwBA,CAAC,KAAK,CAAN,GAAU,CAAV,GAAc,CAAtC,GAA2CjX,MAAM,CAACqwC,EAAP,CAAUp5B,CAAV,CAD/C;AAEH,KAhD4B,CAkD7B;;;AACA,QACIjX,MAAM,CAACqwC,EAAP,CAAUswL,IAAV,MAAoB,EAApB,IACA3gO,MAAM,CAACqwC,EAAP,CAAUuwL,MAAV,MAAsB,CADtB,IAEA5gO,MAAM,CAACqwC,EAAP,CAAUwwL,MAAV,MAAsB,CAFtB,IAGA7gO,MAAM,CAACqwC,EAAP,CAAUywL,WAAV,MAA2B,CAJ/B,EAKE;AACE9gO,MAAAA,MAAM,CAAC4tO,QAAP,GAAkB,IAAlB;AACA5tO,MAAAA,MAAM,CAACqwC,EAAP,CAAUswL,IAAV,IAAkB,CAAlB;AACH;;AAED3gO,IAAAA,MAAM,CAACwzE,EAAP,GAAY,CAACxzE,MAAM,CAACmtO,OAAP,GAAiB3J,aAAjB,GAAiCF,UAAlC,EAA8Cv4L,KAA9C,CACR,IADQ,EAER8tB,KAFQ,CAAZ;AAIA20K,IAAAA,eAAe,GAAGxtO,MAAM,CAACmtO,OAAP,GACZntO,MAAM,CAACwzE,EAAP,CAAUswJ,SAAV,EADY,GAEZ9jO,MAAM,CAACwzE,EAAP,CAAUqzJ,MAAV,EAFN,CAjE6B,CAqE7B;AACA;;AACA,QAAI7mO,MAAM,CAAC4kN,IAAP,IAAe,IAAnB,EAAyB;AACrB5kN,MAAAA,MAAM,CAACwzE,EAAP,CAAUw5J,aAAV,CAAwBhtO,MAAM,CAACwzE,EAAP,CAAU4/F,aAAV,KAA4BpzK,MAAM,CAAC4kN,IAA3D;AACH;;AAED,QAAI5kN,MAAM,CAAC4tO,QAAX,EAAqB;AACjB5tO,MAAAA,MAAM,CAACqwC,EAAP,CAAUswL,IAAV,IAAkB,EAAlB;AACH,KA7E4B,CA+E7B;;;AACA,QACI3gO,MAAM,CAACsgO,EAAP,IACA,OAAOtgO,MAAM,CAACsgO,EAAP,CAAUp2L,CAAjB,KAAuB,WADvB,IAEAlqC,MAAM,CAACsgO,EAAP,CAAUp2L,CAAV,KAAgBsjM,eAHpB,EAIE;AACE7U,MAAAA,eAAe,CAAC34N,MAAD,CAAf,CAAwB04N,eAAxB,GAA0C,IAA1C;AACH;AACJ;;AAED,WAASgV,qBAAT,CAA+B1tO,MAA/B,EAAuC;AACnC,QAAI0uK,CAAJ,EAAOm/D,QAAP,EAAiBrlB,IAAjB,EAAuBwb,OAAvB,EAAgCvb,GAAhC,EAAqCC,GAArC,EAA0ColB,IAA1C,EAAgDC,eAAhD,EAAiEC,OAAjE;AAEAt/D,IAAAA,CAAC,GAAG1uK,MAAM,CAACsgO,EAAX;;AACA,QAAI5xD,CAAC,CAACu/D,EAAF,IAAQ,IAAR,IAAgBv/D,CAAC,CAACw/D,CAAF,IAAO,IAAvB,IAA+Bx/D,CAAC,CAACy/D,CAAF,IAAO,IAA1C,EAAgD;AAC5C1lB,MAAAA,GAAG,GAAG,CAAN;AACAC,MAAAA,GAAG,GAAG,CAAN,CAF4C,CAI5C;AACA;AACA;AACA;;AACAmlB,MAAAA,QAAQ,GAAG72G,QAAQ,CACf03C,CAAC,CAACu/D,EADa,EAEfjuO,MAAM,CAACqwC,EAAP,CAAUmwL,IAAV,CAFe,EAGf8D,UAAU,CAAC8J,WAAW,EAAZ,EAAgB,CAAhB,EAAmB,CAAnB,CAAV,CAAgC3Q,IAHjB,CAAnB;AAKAjV,MAAAA,IAAI,GAAGxxF,QAAQ,CAAC03C,CAAC,CAACw/D,CAAH,EAAM,CAAN,CAAf;AACAlK,MAAAA,OAAO,GAAGhtG,QAAQ,CAAC03C,CAAC,CAACy/D,CAAH,EAAM,CAAN,CAAlB;;AACA,UAAInK,OAAO,GAAG,CAAV,IAAeA,OAAO,GAAG,CAA7B,EAAgC;AAC5B+J,QAAAA,eAAe,GAAG,IAAlB;AACH;AACJ,KAlBD,MAkBO;AACHtlB,MAAAA,GAAG,GAAGzoN,MAAM,CAAC45N,OAAP,CAAe+K,KAAf,CAAqBlc,GAA3B;AACAC,MAAAA,GAAG,GAAG1oN,MAAM,CAAC45N,OAAP,CAAe+K,KAAf,CAAqBjc,GAA3B;AAEAslB,MAAAA,OAAO,GAAG1J,UAAU,CAAC8J,WAAW,EAAZ,EAAgB3lB,GAAhB,EAAqBC,GAArB,CAApB;AAEAmlB,MAAAA,QAAQ,GAAG72G,QAAQ,CAAC03C,CAAC,CAAC2/D,EAAH,EAAOruO,MAAM,CAACqwC,EAAP,CAAUmwL,IAAV,CAAP,EAAwBwN,OAAO,CAACvQ,IAAhC,CAAnB,CANG,CAQH;;AACAjV,MAAAA,IAAI,GAAGxxF,QAAQ,CAAC03C,CAAC,CAACA,CAAH,EAAMs/D,OAAO,CAACxlB,IAAd,CAAf;;AAEA,UAAI95C,CAAC,CAACxkI,CAAF,IAAO,IAAX,EAAiB;AACb;AACA85L,QAAAA,OAAO,GAAGt1D,CAAC,CAACxkI,CAAZ;;AACA,YAAI85L,OAAO,GAAG,CAAV,IAAeA,OAAO,GAAG,CAA7B,EAAgC;AAC5B+J,UAAAA,eAAe,GAAG,IAAlB;AACH;AACJ,OAND,MAMO,IAAIr/D,CAAC,CAACzjI,CAAF,IAAO,IAAX,EAAiB;AACpB;AACA+4L,QAAAA,OAAO,GAAGt1D,CAAC,CAACzjI,CAAF,GAAMw9K,GAAhB;;AACA,YAAI/5C,CAAC,CAACzjI,CAAF,GAAM,CAAN,IAAWyjI,CAAC,CAACzjI,CAAF,GAAM,CAArB,EAAwB;AACpB8iM,UAAAA,eAAe,GAAG,IAAlB;AACH;AACJ,OANM,MAMA;AACH;AACA/J,QAAAA,OAAO,GAAGvb,GAAV;AACH;AACJ;;AACD,QAAID,IAAI,GAAG,CAAP,IAAYA,IAAI,GAAGgc,WAAW,CAACqJ,QAAD,EAAWplB,GAAX,EAAgBC,GAAhB,CAAlC,EAAwD;AACpDiQ,MAAAA,eAAe,CAAC34N,MAAD,CAAf,CAAwBiqO,cAAxB,GAAyC,IAAzC;AACH,KAFD,MAEO,IAAI8D,eAAe,IAAI,IAAvB,EAA6B;AAChCpV,MAAAA,eAAe,CAAC34N,MAAD,CAAf,CAAwBkqO,gBAAxB,GAA2C,IAA3C;AACH,KAFM,MAEA;AACH4D,MAAAA,IAAI,GAAG/J,kBAAkB,CAAC8J,QAAD,EAAWrlB,IAAX,EAAiBwb,OAAjB,EAA0Bvb,GAA1B,EAA+BC,GAA/B,CAAzB;AACA1oN,MAAAA,MAAM,CAACqwC,EAAP,CAAUmwL,IAAV,IAAkBsN,IAAI,CAACrQ,IAAvB;AACAz9N,MAAAA,MAAM,CAAC2tO,UAAP,GAAoBG,IAAI,CAAC3J,SAAzB;AACH;AACJ,GAxqFgB,CA0qFjB;;;AACAlnE,EAAAA,KAAK,CAACqxE,QAAN,GAAiB,YAAY,CAAE,CAA/B,CA3qFiB,CA6qFjB;;;AACArxE,EAAAA,KAAK,CAACsxE,QAAN,GAAiB,YAAY,CAAE,CAA/B,CA9qFiB,CAgrFjB;;;AACA,WAAS5C,yBAAT,CAAmC3rO,MAAnC,EAA2C;AACvC;AACA,QAAIA,MAAM,CAACipF,EAAP,KAAcg0E,KAAK,CAACqxE,QAAxB,EAAkC;AAC9BlD,MAAAA,aAAa,CAACprO,MAAD,CAAb;AACA;AACH;;AACD,QAAIA,MAAM,CAACipF,EAAP,KAAcg0E,KAAK,CAACsxE,QAAxB,EAAkC;AAC9BzB,MAAAA,iBAAiB,CAAC9sO,MAAD,CAAjB;AACA;AACH;;AACDA,IAAAA,MAAM,CAACqwC,EAAP,GAAY,EAAZ;AACAsoL,IAAAA,eAAe,CAAC34N,MAAD,CAAf,CAAwB63N,KAAxB,GAAgC,IAAhC,CAXuC,CAavC;;AACA,QAAIlZ,MAAM,GAAG,KAAK3+M,MAAM,CAACi3F,EAAzB;AAAA,QACIhgF,CADJ;AAAA,QAEIs1N,WAFJ;AAAA,QAGIp6C,MAHJ;AAAA,QAIIzxJ,KAJJ;AAAA,QAKI8tM,OALJ;AAAA,QAMIC,YAAY,GAAG9vB,MAAM,CAAC1xM,MAN1B;AAAA,QAOIyhO,sBAAsB,GAAG,CAP7B;AAAA,QAQIlW,GARJ;AAAA,QASI4H,QATJ;AAWAjuC,IAAAA,MAAM,GACFypC,YAAY,CAAC57N,MAAM,CAACipF,EAAR,EAAYjpF,MAAM,CAAC45N,OAAnB,CAAZ,CAAwCpvI,KAAxC,CAA8C0wI,gBAA9C,KAAmE,EADvE;AAEAkF,IAAAA,QAAQ,GAAGjuC,MAAM,CAACllL,MAAlB;;AACA,SAAKgK,CAAC,GAAG,CAAT,EAAYA,CAAC,GAAGmpN,QAAhB,EAA0BnpN,CAAC,EAA3B,EAA+B;AAC3BypB,MAAAA,KAAK,GAAGyxJ,MAAM,CAACl7K,CAAD,CAAd;AACAs1N,MAAAA,WAAW,GAAG,CAAC5tB,MAAM,CAACn0H,KAAP,CAAam1I,qBAAqB,CAACj/L,KAAD,EAAQ1gC,MAAR,CAAlC,KACX,EADU,EACN,CADM,CAAd;;AAEA,UAAIusO,WAAJ,EAAiB;AACbiC,QAAAA,OAAO,GAAG7vB,MAAM,CAACp/D,MAAP,CAAc,CAAd,EAAiBo/D,MAAM,CAACjmM,OAAP,CAAe6zN,WAAf,CAAjB,CAAV;;AACA,YAAIiC,OAAO,CAACvhO,MAAR,GAAiB,CAArB,EAAwB;AACpB0rN,UAAAA,eAAe,CAAC34N,MAAD,CAAf,CAAwB+3N,WAAxB,CAAoCxxL,IAApC,CAAyCioM,OAAzC;AACH;;AACD7vB,QAAAA,MAAM,GAAGA,MAAM,CAAC3lG,KAAP,CACL2lG,MAAM,CAACjmM,OAAP,CAAe6zN,WAAf,IAA8BA,WAAW,CAACt/N,MADrC,CAAT;AAGAyhO,QAAAA,sBAAsB,IAAInC,WAAW,CAACt/N,MAAtC;AACH,OAb0B,CAc3B;;;AACA,UAAIouN,oBAAoB,CAAC36L,KAAD,CAAxB,EAAiC;AAC7B,YAAI6rM,WAAJ,EAAiB;AACb5T,UAAAA,eAAe,CAAC34N,MAAD,CAAf,CAAwB63N,KAAxB,GAAgC,KAAhC;AACH,SAFD,MAEO;AACHc,UAAAA,eAAe,CAAC34N,MAAD,CAAf,CAAwB83N,YAAxB,CAAqCvxL,IAArC,CAA0C7F,KAA1C;AACH;;AACD6/L,QAAAA,uBAAuB,CAAC7/L,KAAD,EAAQ6rM,WAAR,EAAqBvsO,MAArB,CAAvB;AACH,OAPD,MAOO,IAAIA,MAAM,CAACi5N,OAAP,IAAkB,CAACsT,WAAvB,EAAoC;AACvC5T,QAAAA,eAAe,CAAC34N,MAAD,CAAf,CAAwB83N,YAAxB,CAAqCvxL,IAArC,CAA0C7F,KAA1C;AACH;AACJ,KArDsC,CAuDvC;;;AACAi4L,IAAAA,eAAe,CAAC34N,MAAD,CAAf,CAAwBg4N,aAAxB,GACIyW,YAAY,GAAGC,sBADnB;;AAEA,QAAI/vB,MAAM,CAAC1xM,MAAP,GAAgB,CAApB,EAAuB;AACnB0rN,MAAAA,eAAe,CAAC34N,MAAD,CAAf,CAAwB+3N,WAAxB,CAAoCxxL,IAApC,CAAyCo4K,MAAzC;AACH,KA5DsC,CA8DvC;;;AACA,QACI3+M,MAAM,CAACqwC,EAAP,CAAUswL,IAAV,KAAmB,EAAnB,IACAhI,eAAe,CAAC34N,MAAD,CAAf,CAAwBk5N,OAAxB,KAAoC,IADpC,IAEAl5N,MAAM,CAACqwC,EAAP,CAAUswL,IAAV,IAAkB,CAHtB,EAIE;AACEhI,MAAAA,eAAe,CAAC34N,MAAD,CAAf,CAAwBk5N,OAAxB,GAAkCvmL,SAAlC;AACH;;AAEDgmL,IAAAA,eAAe,CAAC34N,MAAD,CAAf,CAAwBu4N,eAAxB,GAA0Cv4N,MAAM,CAACqwC,EAAP,CAAU2oE,KAAV,CAAgB,CAAhB,CAA1C;AACA2/G,IAAAA,eAAe,CAAC34N,MAAD,CAAf,CAAwB0mN,QAAxB,GAAmC1mN,MAAM,CAACmoO,SAA1C,CAxEuC,CAyEvC;;AACAnoO,IAAAA,MAAM,CAACqwC,EAAP,CAAUswL,IAAV,IAAkBgO,eAAe,CAC7B3uO,MAAM,CAAC45N,OADsB,EAE7B55N,MAAM,CAACqwC,EAAP,CAAUswL,IAAV,CAF6B,EAG7B3gO,MAAM,CAACmoO,SAHsB,CAAjC,CA1EuC,CAgFvC;;AACA3P,IAAAA,GAAG,GAAGG,eAAe,CAAC34N,MAAD,CAAf,CAAwBw4N,GAA9B;;AACA,QAAIA,GAAG,KAAK,IAAZ,EAAkB;AACdx4N,MAAAA,MAAM,CAACqwC,EAAP,CAAUmwL,IAAV,IAAkBxgO,MAAM,CAAC45N,OAAP,CAAegV,eAAf,CAA+BpW,GAA/B,EAAoCx4N,MAAM,CAACqwC,EAAP,CAAUmwL,IAAV,CAApC,CAAlB;AACH;;AAED+M,IAAAA,eAAe,CAACvtO,MAAD,CAAf;AACA+pO,IAAAA,aAAa,CAAC/pO,MAAD,CAAb;AACH;;AAED,WAAS2uO,eAAT,CAAyBlX,MAAzB,EAAiCngF,IAAjC,EAAuCovE,QAAvC,EAAiD;AAC7C,QAAImoB,IAAJ;;AAEA,QAAInoB,QAAQ,IAAI,IAAhB,EAAsB;AAClB;AACA,aAAOpvE,IAAP;AACH;;AACD,QAAImgF,MAAM,CAAC5M,YAAP,IAAuB,IAA3B,EAAiC;AAC7B,aAAO4M,MAAM,CAAC5M,YAAP,CAAoBvzE,IAApB,EAA0BovE,QAA1B,CAAP;AACH,KAFD,MAEO,IAAI+Q,MAAM,CAAChR,IAAP,IAAe,IAAnB,EAAyB;AAC5B;AACAooB,MAAAA,IAAI,GAAGpX,MAAM,CAAChR,IAAP,CAAYC,QAAZ,CAAP;;AACA,UAAImoB,IAAI,IAAIv3F,IAAI,GAAG,EAAnB,EAAuB;AACnBA,QAAAA,IAAI,IAAI,EAAR;AACH;;AACD,UAAI,CAACu3F,IAAD,IAASv3F,IAAI,KAAK,EAAtB,EAA0B;AACtBA,QAAAA,IAAI,GAAG,CAAP;AACH;;AACD,aAAOA,IAAP;AACH,KAVM,MAUA;AACH;AACA,aAAOA,IAAP;AACH;AACJ,GAlyFgB,CAoyFjB;;;AACA,WAASw3F,wBAAT,CAAkC9uO,MAAlC,EAA0C;AACtC,QAAI+uO,UAAJ;AAAA,QACIC,UADJ;AAAA,QAEIC,WAFJ;AAAA,QAGIh4N,CAHJ;AAAA,QAIIi4N,YAJJ;AAAA,QAKIC,gBALJ;AAAA,QAMIC,iBAAiB,GAAG,KANxB;AAAA,QAOIC,UAAU,GAAGrvO,MAAM,CAACipF,EAAP,CAAUh8E,MAP3B;;AASA,QAAIoiO,UAAU,KAAK,CAAnB,EAAsB;AAClB1W,MAAAA,eAAe,CAAC34N,MAAD,CAAf,CAAwBo4N,aAAxB,GAAwC,IAAxC;AACAp4N,MAAAA,MAAM,CAACwzE,EAAP,GAAY,IAAInrB,IAAJ,CAASgxK,GAAT,CAAZ;AACA;AACH;;AAED,SAAKpiN,CAAC,GAAG,CAAT,EAAYA,CAAC,GAAGo4N,UAAhB,EAA4Bp4N,CAAC,EAA7B,EAAiC;AAC7Bi4N,MAAAA,YAAY,GAAG,CAAf;AACAC,MAAAA,gBAAgB,GAAG,KAAnB;AACAJ,MAAAA,UAAU,GAAGxV,UAAU,CAAC,EAAD,EAAKv5N,MAAL,CAAvB;;AACA,UAAIA,MAAM,CAACmtO,OAAP,IAAkB,IAAtB,EAA4B;AACxB4B,QAAAA,UAAU,CAAC5B,OAAX,GAAqBntO,MAAM,CAACmtO,OAA5B;AACH;;AACD4B,MAAAA,UAAU,CAAC9lJ,EAAX,GAAgBjpF,MAAM,CAACipF,EAAP,CAAUhyE,CAAV,CAAhB;AACA00N,MAAAA,yBAAyB,CAACoD,UAAD,CAAzB;;AAEA,UAAIlzG,OAAO,CAACkzG,UAAD,CAAX,EAAyB;AACrBI,QAAAA,gBAAgB,GAAG,IAAnB;AACH,OAZ4B,CAc7B;;;AACAD,MAAAA,YAAY,IAAIvW,eAAe,CAACoW,UAAD,CAAf,CAA4B/W,aAA5C,CAf6B,CAiB7B;;AACAkX,MAAAA,YAAY,IAAIvW,eAAe,CAACoW,UAAD,CAAf,CAA4BjX,YAA5B,CAAyC7qN,MAAzC,GAAkD,EAAlE;AAEA0rN,MAAAA,eAAe,CAACoW,UAAD,CAAf,CAA4B15F,KAA5B,GAAoC65F,YAApC;;AAEA,UAAI,CAACE,iBAAL,EAAwB;AACpB,YACIH,WAAW,IAAI,IAAf,IACAC,YAAY,GAAGD,WADf,IAEAE,gBAHJ,EAIE;AACEF,UAAAA,WAAW,GAAGC,YAAd;AACAF,UAAAA,UAAU,GAAGD,UAAb;;AACA,cAAII,gBAAJ,EAAsB;AAClBC,YAAAA,iBAAiB,GAAG,IAApB;AACH;AACJ;AACJ,OAZD,MAYO;AACH,YAAIF,YAAY,GAAGD,WAAnB,EAAgC;AAC5BA,UAAAA,WAAW,GAAGC,YAAd;AACAF,UAAAA,UAAU,GAAGD,UAAb;AACH;AACJ;AACJ;;AAEDzX,IAAAA,MAAM,CAACt3N,MAAD,EAASgvO,UAAU,IAAID,UAAvB,CAAN;AACH;;AAED,WAASO,gBAAT,CAA0BtvO,MAA1B,EAAkC;AAC9B,QAAIA,MAAM,CAACwzE,EAAX,EAAe;AACX;AACH;;AAED,QAAIv8D,CAAC,GAAG+lN,oBAAoB,CAACh9N,MAAM,CAACi3F,EAAR,CAA5B;AAAA,QACIs4I,SAAS,GAAGt4N,CAAC,CAACozM,GAAF,KAAU13K,SAAV,GAAsB17B,CAAC,CAACg0G,IAAxB,GAA+Bh0G,CAAC,CAACozM,GADjD;AAEArqN,IAAAA,MAAM,CAACqwC,EAAP,GAAYvmC,GAAG,CACX,CAACmN,CAAC,CAACwmN,IAAH,EAASxmN,CAAC,CAACw2M,KAAX,EAAkB8hB,SAAlB,EAA6Bt4N,CAAC,CAACqgI,IAA/B,EAAqCrgI,CAAC,CAACiyM,MAAvC,EAA+CjyM,CAAC,CAACu4N,MAAjD,EAAyDv4N,CAAC,CAACw4N,WAA3D,CADW,EAEX,UAAUh5M,GAAV,EAAe;AACX,aAAOA,GAAG,IAAIyN,QAAQ,CAACzN,GAAD,EAAM,EAAN,CAAtB;AACH,KAJU,CAAf;AAOA82M,IAAAA,eAAe,CAACvtO,MAAD,CAAf;AACH;;AAED,WAAS0vO,gBAAT,CAA0B1vO,MAA1B,EAAkC;AAC9B,QAAIyvB,GAAG,GAAG,IAAIoqM,MAAJ,CAAWkQ,aAAa,CAAC4F,aAAa,CAAC3vO,MAAD,CAAd,CAAxB,CAAV;;AACA,QAAIyvB,GAAG,CAACm+M,QAAR,EAAkB;AACd;AACAn+M,MAAAA,GAAG,CAACyF,GAAJ,CAAQ,CAAR,EAAW,GAAX;AACAzF,MAAAA,GAAG,CAACm+M,QAAJ,GAAej7L,SAAf;AACH;;AAED,WAAOljB,GAAP;AACH;;AAED,WAASkgN,aAAT,CAAuB3vO,MAAvB,EAA+B;AAC3B,QAAI64D,KAAK,GAAG74D,MAAM,CAACi3F,EAAnB;AAAA,QACI9hE,MAAM,GAAGn1B,MAAM,CAACipF,EADpB;AAGAjpF,IAAAA,MAAM,CAAC45N,OAAP,GAAiB55N,MAAM,CAAC45N,OAAP,IAAkB8P,SAAS,CAAC1pO,MAAM,CAAC05N,EAAR,CAA5C;;AAEA,QAAI7gK,KAAK,KAAK,IAAV,IAAmB1jC,MAAM,KAAKwd,SAAX,IAAwBkmB,KAAK,KAAK,EAAzD,EAA8D;AAC1D,aAAOugK,aAAa,CAAC;AAAEnB,QAAAA,SAAS,EAAE;AAAb,OAAD,CAApB;AACH;;AAED,QAAI,OAAOp/J,KAAP,KAAiB,QAArB,EAA+B;AAC3B74D,MAAAA,MAAM,CAACi3F,EAAP,GAAYp+B,KAAK,GAAG74D,MAAM,CAAC45N,OAAP,CAAerQ,QAAf,CAAwB1wJ,KAAxB,CAApB;AACH;;AAED,QAAIgsJ,QAAQ,CAAChsJ,KAAD,CAAZ,EAAqB;AACjB,aAAO,IAAIghK,MAAJ,CAAWkQ,aAAa,CAAClxK,KAAD,CAAxB,CAAP;AACH,KAFD,MAEO,IAAI+yF,MAAM,CAAC/yF,KAAD,CAAV,EAAmB;AACtB74D,MAAAA,MAAM,CAACwzE,EAAP,GAAY3a,KAAZ;AACH,KAFM,MAEA,IAAI6oD,OAAO,CAACvsF,MAAD,CAAX,EAAqB;AACxB25M,MAAAA,wBAAwB,CAAC9uO,MAAD,CAAxB;AACH,KAFM,MAEA,IAAIm1B,MAAJ,EAAY;AACfw2M,MAAAA,yBAAyB,CAAC3rO,MAAD,CAAzB;AACH,KAFM,MAEA;AACH4vO,MAAAA,eAAe,CAAC5vO,MAAD,CAAf;AACH;;AAED,QAAI,CAAC67H,OAAO,CAAC77H,MAAD,CAAZ,EAAsB;AAClBA,MAAAA,MAAM,CAACwzE,EAAP,GAAY,IAAZ;AACH;;AAED,WAAOxzE,MAAP;AACH;;AAED,WAAS4vO,eAAT,CAAyB5vO,MAAzB,EAAiC;AAC7B,QAAI64D,KAAK,GAAG74D,MAAM,CAACi3F,EAAnB;;AACA,QAAI+2B,WAAW,CAACn1D,KAAD,CAAf,EAAwB;AACpB74D,MAAAA,MAAM,CAACwzE,EAAP,GAAY,IAAInrB,IAAJ,CAAS40G,KAAK,CAAC71F,GAAN,EAAT,CAAZ;AACH,KAFD,MAEO,IAAIwkF,MAAM,CAAC/yF,KAAD,CAAV,EAAmB;AACtB74D,MAAAA,MAAM,CAACwzE,EAAP,GAAY,IAAInrB,IAAJ,CAASwQ,KAAK,CAAC0+J,OAAN,EAAT,CAAZ;AACH,KAFM,MAEA,IAAI,OAAO1+J,KAAP,KAAiB,QAArB,EAA+B;AAClCo0K,MAAAA,gBAAgB,CAACjtO,MAAD,CAAhB;AACH,KAFM,MAEA,IAAI0hH,OAAO,CAAC7oD,KAAD,CAAX,EAAoB;AACvB74D,MAAAA,MAAM,CAACqwC,EAAP,GAAYvmC,GAAG,CAAC+uD,KAAK,CAACmgD,KAAN,CAAY,CAAZ,CAAD,EAAiB,UAAUviF,GAAV,EAAe;AAC3C,eAAOyN,QAAQ,CAACzN,GAAD,EAAM,EAAN,CAAf;AACH,OAFc,CAAf;AAGA82M,MAAAA,eAAe,CAACvtO,MAAD,CAAf;AACH,KALM,MAKA,IAAI2oH,QAAQ,CAAC9vD,KAAD,CAAZ,EAAqB;AACxBy2K,MAAAA,gBAAgB,CAACtvO,MAAD,CAAhB;AACH,KAFM,MAEA,IAAIkgI,QAAQ,CAACrnE,KAAD,CAAZ,EAAqB;AACxB;AACA74D,MAAAA,MAAM,CAACwzE,EAAP,GAAY,IAAInrB,IAAJ,CAASwQ,KAAT,CAAZ;AACH,KAHM,MAGA;AACHokG,MAAAA,KAAK,CAACiwE,uBAAN,CAA8BltO,MAA9B;AACH;AACJ;;AAED,WAAS23N,gBAAT,CAA0B9+J,KAA1B,EAAiC1jC,MAAjC,EAAyCsiM,MAAzC,EAAiDC,MAAjD,EAAyDmY,KAAzD,EAAgE;AAC5D,QAAI5xD,CAAC,GAAG,EAAR;;AAEA,QAAI9oJ,MAAM,KAAK,IAAX,IAAmBA,MAAM,KAAK,KAAlC,EAAyC;AACrCuiM,MAAAA,MAAM,GAAGviM,MAAT;AACAA,MAAAA,MAAM,GAAGwd,SAAT;AACH;;AAED,QAAI8kL,MAAM,KAAK,IAAX,IAAmBA,MAAM,KAAK,KAAlC,EAAyC;AACrCC,MAAAA,MAAM,GAAGD,MAAT;AACAA,MAAAA,MAAM,GAAG9kL,SAAT;AACH;;AAED,QACKg2E,QAAQ,CAAC9vD,KAAD,CAAR,IAAmBs+J,aAAa,CAACt+J,KAAD,CAAjC,IACC6oD,OAAO,CAAC7oD,KAAD,CAAP,IAAkBA,KAAK,CAAC5rD,MAAN,KAAiB,CAFxC,EAGE;AACE4rD,MAAAA,KAAK,GAAGlmB,SAAR;AACH,KAlB2D,CAmB5D;AACA;;;AACAsrI,IAAAA,CAAC,CAACw7C,gBAAF,GAAqB,IAArB;AACAx7C,IAAAA,CAAC,CAACkvD,OAAF,GAAYlvD,CAAC,CAACqnC,MAAF,GAAWuqB,KAAvB;AACA5xD,IAAAA,CAAC,CAACy7C,EAAF,GAAOjC,MAAP;AACAx5C,IAAAA,CAAC,CAAChnF,EAAF,GAAOp+B,KAAP;AACAolH,IAAAA,CAAC,CAACh1F,EAAF,GAAO9zD,MAAP;AACA8oJ,IAAAA,CAAC,CAACg7C,OAAF,GAAYvB,MAAZ;AAEA,WAAOgY,gBAAgB,CAACzxD,CAAD,CAAvB;AACH;;AAED,WAASmwD,WAAT,CAAqBv1K,KAArB,EAA4B1jC,MAA5B,EAAoCsiM,MAApC,EAA4CC,MAA5C,EAAoD;AAChD,WAAOC,gBAAgB,CAAC9+J,KAAD,EAAQ1jC,MAAR,EAAgBsiM,MAAhB,EAAwBC,MAAxB,EAAgC,KAAhC,CAAvB;AACH;;AAED,MAAIoY,YAAY,GAAG/V,SAAS,CACpB,oGADoB,EAEpB,YAAY;AACR,QAAIgW,KAAK,GAAG3B,WAAW,CAACrjM,KAAZ,CAAkB,IAAlB,EAAwBD,SAAxB,CAAZ;;AACA,QAAI,KAAK+wF,OAAL,MAAkBk0G,KAAK,CAACl0G,OAAN,EAAtB,EAAuC;AACnC,aAAOk0G,KAAK,GAAG,IAAR,GAAe,IAAf,GAAsBA,KAA7B;AACH,KAFD,MAEO;AACH,aAAO3W,aAAa,EAApB;AACH;AACJ,GATmB,CAA5B;AAAA,MAWI4W,YAAY,GAAGjW,SAAS,CACpB,oGADoB,EAEpB,YAAY;AACR,QAAIgW,KAAK,GAAG3B,WAAW,CAACrjM,KAAZ,CAAkB,IAAlB,EAAwBD,SAAxB,CAAZ;;AACA,QAAI,KAAK+wF,OAAL,MAAkBk0G,KAAK,CAACl0G,OAAN,EAAtB,EAAuC;AACnC,aAAOk0G,KAAK,GAAG,IAAR,GAAe,IAAf,GAAsBA,KAA7B;AACH,KAFD,MAEO;AACH,aAAO3W,aAAa,EAApB;AACH;AACJ,GATmB,CAX5B,CAz9FiB,CAg/FjB;AACA;AACA;AACA;AACA;;AACA,WAAS6W,MAAT,CAAgBvzE,EAAhB,EAAoBwzE,OAApB,EAA6B;AACzB,QAAIzgN,GAAJ,EAASxY,CAAT;;AACA,QAAIi5N,OAAO,CAACjjO,MAAR,KAAmB,CAAnB,IAAwBy0G,OAAO,CAACwuH,OAAO,CAAC,CAAD,CAAR,CAAnC,EAAiD;AAC7CA,MAAAA,OAAO,GAAGA,OAAO,CAAC,CAAD,CAAjB;AACH;;AACD,QAAI,CAACA,OAAO,CAACjjO,MAAb,EAAqB;AACjB,aAAOmhO,WAAW,EAAlB;AACH;;AACD3+M,IAAAA,GAAG,GAAGygN,OAAO,CAAC,CAAD,CAAb;;AACA,SAAKj5N,CAAC,GAAG,CAAT,EAAYA,CAAC,GAAGi5N,OAAO,CAACjjO,MAAxB,EAAgC,EAAEgK,CAAlC,EAAqC;AACjC,UAAI,CAACi5N,OAAO,CAACj5N,CAAD,CAAP,CAAW4kH,OAAX,EAAD,IAAyBq0G,OAAO,CAACj5N,CAAD,CAAP,CAAWylJ,EAAX,EAAejtI,GAAf,CAA7B,EAAkD;AAC9CA,QAAAA,GAAG,GAAGygN,OAAO,CAACj5N,CAAD,CAAb;AACH;AACJ;;AACD,WAAOwY,GAAP;AACH,GApgGgB,CAsgGjB;;;AACA,WAASsC,GAAT,GAAe;AACX,QAAI24F,IAAI,GAAG,GAAG1R,KAAH,CAASvvE,IAAT,CAAcqB,SAAd,EAAyB,CAAzB,CAAX;AAEA,WAAOmlM,MAAM,CAAC,UAAD,EAAavlH,IAAb,CAAb;AACH;;AAED,WAAS54F,GAAT,GAAe;AACX,QAAI44F,IAAI,GAAG,GAAG1R,KAAH,CAASvvE,IAAT,CAAcqB,SAAd,EAAyB,CAAzB,CAAX;AAEA,WAAOmlM,MAAM,CAAC,SAAD,EAAYvlH,IAAZ,CAAb;AACH;;AAED,MAAItjD,GAAG,GAAG,YAAY;AAClB,WAAO/e,IAAI,CAAC+e,GAAL,GAAW/e,IAAI,CAAC+e,GAAL,EAAX,GAAwB,CAAC,IAAI/e,IAAJ,EAAhC;AACH,GAFD;;AAIA,MAAI8nL,QAAQ,GAAG,CACX,MADW,EAEX,SAFW,EAGX,OAHW,EAIX,MAJW,EAKX,KALW,EAMX,MANW,EAOX,QAPW,EAQX,QARW,EASX,aATW,CAAf;;AAYA,WAASC,eAAT,CAAyBtjM,CAAzB,EAA4B;AACxB,QAAI1G,GAAJ;AAAA,QACIiqM,cAAc,GAAG,KADrB;AAAA,QAEIp5N,CAFJ;AAAA,QAGIq5N,QAAQ,GAAGH,QAAQ,CAACljO,MAHxB;;AAIA,SAAKm5B,GAAL,IAAY0G,CAAZ,EAAe;AACX,UACIoqL,UAAU,CAACpqL,CAAD,EAAI1G,GAAJ,CAAV,IACA,EACI1tB,OAAO,CAAC+wB,IAAR,CAAa0mM,QAAb,EAAuB/pM,GAAvB,MAAgC,CAAC,CAAjC,KACC0G,CAAC,CAAC1G,GAAD,CAAD,IAAU,IAAV,IAAkB,CAACpS,KAAK,CAAC8Y,CAAC,CAAC1G,GAAD,CAAF,CADzB,CADJ,CAFJ,EAME;AACE,eAAO,KAAP;AACH;AACJ;;AAED,SAAKnvB,CAAC,GAAG,CAAT,EAAYA,CAAC,GAAGq5N,QAAhB,EAA0B,EAAEr5N,CAA5B,EAA+B;AAC3B,UAAI61B,CAAC,CAACqjM,QAAQ,CAACl5N,CAAD,CAAT,CAAL,EAAoB;AAChB,YAAIo5N,cAAJ,EAAoB;AAChB,iBAAO,KAAP,CADgB,CACF;AACjB;;AACD,YAAI37F,UAAU,CAAC5nG,CAAC,CAACqjM,QAAQ,CAACl5N,CAAD,CAAT,CAAF,CAAV,KAA+B0mN,KAAK,CAAC7wL,CAAC,CAACqjM,QAAQ,CAACl5N,CAAD,CAAT,CAAF,CAAxC,EAA0D;AACtDo5N,UAAAA,cAAc,GAAG,IAAjB;AACH;AACJ;AACJ;;AAED,WAAO,IAAP;AACH;;AAED,WAASE,SAAT,GAAqB;AACjB,WAAO,KAAKxwD,QAAZ;AACH;;AAED,WAASywD,eAAT,GAA2B;AACvB,WAAOC,cAAc,CAACpX,GAAD,CAArB;AACH;;AAED,WAASpkM,QAAT,CAAkBlc,QAAlB,EAA4B;AACxB,QAAImkN,eAAe,GAAGF,oBAAoB,CAACjkN,QAAD,CAA1C;AAAA,QACI23N,KAAK,GAAGxT,eAAe,CAACO,IAAhB,IAAwB,CADpC;AAAA,QAEIkT,QAAQ,GAAGzT,eAAe,CAAC0T,OAAhB,IAA2B,CAF1C;AAAA,QAGIzqB,MAAM,GAAG+W,eAAe,CAACzP,KAAhB,IAAyB,CAHtC;AAAA,QAIIojB,KAAK,GAAG3T,eAAe,CAAC1U,IAAhB,IAAwB0U,eAAe,CAAC4T,OAAxC,IAAmD,CAJ/D;AAAA,QAKIv5F,IAAI,GAAG2lF,eAAe,CAAC7S,GAAhB,IAAuB,CALlC;AAAA,QAMI1D,KAAK,GAAGuW,eAAe,CAAC5lF,IAAhB,IAAwB,CANpC;AAAA,QAOIsvE,OAAO,GAAGsW,eAAe,CAAChU,MAAhB,IAA0B,CAPxC;AAAA,QAQI2e,OAAO,GAAG3K,eAAe,CAACsS,MAAhB,IAA0B,CARxC;AAAA,QASIuB,YAAY,GAAG7T,eAAe,CAACuS,WAAhB,IAA+B,CATlD;AAWA,SAAK1vD,QAAL,GAAgBqwD,eAAe,CAAClT,eAAD,CAA/B,CAZwB,CAcxB;;AACA,SAAK8T,aAAL,GACI,CAACD,YAAD,GACAlJ,OAAO,GAAG,GADV,GACgB;AAChBjhB,IAAAA,OAAO,GAAG,GAFV,GAEgB;AAChBD,IAAAA,KAAK,GAAG,IAAR,GAAe,EAAf,GAAoB,EAJxB,CAfwB,CAmBI;AAC5B;AACA;;AACA,SAAKsqB,KAAL,GAAa,CAAC15F,IAAD,GAAQs5F,KAAK,GAAG,CAA7B,CAtBwB,CAuBxB;AACA;AACA;;AACA,SAAKrP,OAAL,GAAe,CAACrb,MAAD,GAAUwqB,QAAQ,GAAG,CAArB,GAAyBD,KAAK,GAAG,EAAhD;AAEA,SAAK3tH,KAAL,GAAa,EAAb;AAEA,SAAK62G,OAAL,GAAe8P,SAAS,EAAxB;;AAEA,SAAKwH,OAAL;AACH;;AAED,WAASC,UAAT,CAAoB16M,GAApB,EAAyB;AACrB,WAAOA,GAAG,YAAYxB,QAAtB;AACH;;AAED,WAASm8M,QAAT,CAAkBnpF,MAAlB,EAA0B;AACtB,QAAIA,MAAM,GAAG,CAAb,EAAgB;AACZ,aAAOzrF,IAAI,CAACk6C,KAAL,CAAW,CAAC,CAAD,GAAKuxC,MAAhB,IAA0B,CAAC,CAAlC;AACH,KAFD,MAEO;AACH,aAAOzrF,IAAI,CAACk6C,KAAL,CAAWuxC,MAAX,CAAP;AACH;AACJ,GAvnGgB,CAynGjB;;;AACA,WAASopF,aAAT,CAAuBC,MAAvB,EAA+BC,MAA/B,EAAuCC,WAAvC,EAAoD;AAChD,QAAIvuE,GAAG,GAAGzmG,IAAI,CAACzqC,GAAL,CAASu/M,MAAM,CAACrkO,MAAhB,EAAwBskO,MAAM,CAACtkO,MAA/B,CAAV;AAAA,QACIwkO,UAAU,GAAGj1K,IAAI,CAAC+4E,GAAL,CAAS+7F,MAAM,CAACrkO,MAAP,GAAgBskO,MAAM,CAACtkO,MAAhC,CADjB;AAAA,QAEIykO,KAAK,GAAG,CAFZ;AAAA,QAGIz6N,CAHJ;;AAIA,SAAKA,CAAC,GAAG,CAAT,EAAYA,CAAC,GAAGgsJ,GAAhB,EAAqBhsJ,CAAC,EAAtB,EAA0B;AACtB,UACKu6N,WAAW,IAAIF,MAAM,CAACr6N,CAAD,CAAN,KAAcs6N,MAAM,CAACt6N,CAAD,CAApC,IACC,CAACu6N,WAAD,IAAgB7T,KAAK,CAAC2T,MAAM,CAACr6N,CAAD,CAAP,CAAL,KAAqB0mN,KAAK,CAAC4T,MAAM,CAACt6N,CAAD,CAAP,CAF/C,EAGE;AACEy6N,QAAAA,KAAK;AACR;AACJ;;AACD,WAAOA,KAAK,GAAGD,UAAf;AACH,GAxoGgB,CA0oGjB;;;AAEA,WAAS9zH,MAAT,CAAgBj9E,KAAhB,EAAuBq2D,SAAvB,EAAkC;AAC9BukI,IAAAA,cAAc,CAAC56L,KAAD,EAAQ,CAAR,EAAW,CAAX,EAAc,YAAY;AACpC,UAAIi9E,MAAM,GAAG,KAAK8iG,SAAL,EAAb;AAAA,UACIxoJ,IAAI,GAAG,GADX;;AAEA,UAAI0lD,MAAM,GAAG,CAAb,EAAgB;AACZA,QAAAA,MAAM,GAAG,CAACA,MAAV;AACA1lD,QAAAA,IAAI,GAAG,GAAP;AACH;;AACD,aACIA,IAAI,GACJ4iK,QAAQ,CAAC,CAAC,EAAEl9G,MAAM,GAAG,EAAX,CAAF,EAAkB,CAAlB,CADR,GAEA5mB,SAFA,GAGA8jI,QAAQ,CAAC,CAAC,CAACl9G,MAAF,GAAW,EAAZ,EAAgB,CAAhB,CAJZ;AAMH,KAba,CAAd;AAcH;;AAEDA,EAAAA,MAAM,CAAC,GAAD,EAAM,GAAN,CAAN;AACAA,EAAAA,MAAM,CAAC,IAAD,EAAO,EAAP,CAAN,CA9pGiB,CAgqGjB;;AAEA6hH,EAAAA,aAAa,CAAC,GAAD,EAAMJ,gBAAN,CAAb;AACAI,EAAAA,aAAa,CAAC,IAAD,EAAOJ,gBAAP,CAAb;AACAe,EAAAA,aAAa,CAAC,CAAC,GAAD,EAAM,IAAN,CAAD,EAAc,UAAUtnK,KAAV,EAAiB06C,KAAjB,EAAwBvzG,MAAxB,EAAgC;AACvDA,IAAAA,MAAM,CAACmtO,OAAP,GAAiB,IAAjB;AACAntO,IAAAA,MAAM,CAAC4kN,IAAP,GAAc+sB,gBAAgB,CAACvS,gBAAD,EAAmBvmK,KAAnB,CAA9B;AACH,GAHY,CAAb,CApqGiB,CAyqGjB;AAEA;AACA;AACA;;AACA,MAAI+4K,WAAW,GAAG,iBAAlB;;AAEA,WAASD,gBAAT,CAA0BE,OAA1B,EAAmClzB,MAAnC,EAA2C;AACvC,QAAI5zH,OAAO,GAAG,CAAC4zH,MAAM,IAAI,EAAX,EAAen0H,KAAf,CAAqBqnJ,OAArB,CAAd;AAAA,QACIC,KADJ;AAAA,QAEIvzJ,KAFJ;AAAA,QAGIqoI,OAHJ;;AAKA,QAAI77H,OAAO,KAAK,IAAhB,EAAsB;AAClB,aAAO,IAAP;AACH;;AAED+mJ,IAAAA,KAAK,GAAG/mJ,OAAO,CAACA,OAAO,CAAC99E,MAAR,GAAiB,CAAlB,CAAP,IAA+B,EAAvC;AACAsxE,IAAAA,KAAK,GAAG,CAACuzJ,KAAK,GAAG,EAAT,EAAatnJ,KAAb,CAAmBonJ,WAAnB,KAAmC,CAAC,GAAD,EAAM,CAAN,EAAS,CAAT,CAA3C;AACAhrB,IAAAA,OAAO,GAAG,EAAEroI,KAAK,CAAC,CAAD,CAAL,GAAW,EAAb,IAAmBo/I,KAAK,CAACp/I,KAAK,CAAC,CAAD,CAAN,CAAlC;AAEA,WAAOqoI,OAAO,KAAK,CAAZ,GAAgB,CAAhB,GAAoBroI,KAAK,CAAC,CAAD,CAAL,KAAa,GAAb,GAAmBqoI,OAAnB,GAA6B,CAACA,OAAzD;AACH,GA/rGgB,CAisGjB;;;AACA,WAASmrB,eAAT,CAAyBl5K,KAAzB,EAAgCh8C,KAAhC,EAAuC;AACnC,QAAI4S,GAAJ,EAASiyL,IAAT;;AACA,QAAI7kM,KAAK,CAACyoM,MAAV,EAAkB;AACd71L,MAAAA,GAAG,GAAG5S,KAAK,CAACqjB,KAAN,EAAN;AACAwhL,MAAAA,IAAI,GACA,CAACmD,QAAQ,CAAChsJ,KAAD,CAAR,IAAmB+yF,MAAM,CAAC/yF,KAAD,CAAzB,GACKA,KAAK,CAAC0+J,OAAN,EADL,GAEK6W,WAAW,CAACv1K,KAAD,CAAX,CAAmB0+J,OAAnB,EAFN,IAEsC9nM,GAAG,CAAC8nM,OAAJ,EAH1C,CAFc,CAMd;;AACA9nM,MAAAA,GAAG,CAAC+jD,EAAJ,CAAOguF,OAAP,CAAe/xI,GAAG,CAAC+jD,EAAJ,CAAO+jJ,OAAP,KAAmB7V,IAAlC;;AACAzkD,MAAAA,KAAK,CAACkoD,YAAN,CAAmB11L,GAAnB,EAAwB,KAAxB;AACA,aAAOA,GAAP;AACH,KAVD,MAUO;AACH,aAAO2+M,WAAW,CAACv1K,KAAD,CAAX,CAAmBitJ,KAAnB,EAAP;AACH;AACJ;;AAED,WAASksB,aAAT,CAAuBllM,CAAvB,EAA0B;AACtB;AACA;AACA,WAAO,CAAC0vB,IAAI,CAACk6C,KAAL,CAAW5pE,CAAC,CAAC0mC,EAAF,CAAKwtI,iBAAL,EAAX,CAAR;AACH,GAvtGgB,CAytGjB;AAEA;AACA;;;AACA/jD,EAAAA,KAAK,CAACkoD,YAAN,GAAqB,YAAY,CAAE,CAAnC,CA7tGiB,CA+tGjB;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,WAAS8sB,YAAT,CAAsBp5K,KAAtB,EAA6Bq5K,aAA7B,EAA4CC,WAA5C,EAAyD;AACrD,QAAIx0H,MAAM,GAAG,KAAKg8G,OAAL,IAAgB,CAA7B;AAAA,QACIyY,WADJ;;AAEA,QAAI,CAAC,KAAKv2G,OAAL,EAAL,EAAqB;AACjB,aAAOhjE,KAAK,IAAI,IAAT,GAAgB,IAAhB,GAAuBwgK,GAA9B;AACH;;AACD,QAAIxgK,KAAK,IAAI,IAAb,EAAmB;AACf,UAAI,OAAOA,KAAP,KAAiB,QAArB,EAA+B;AAC3BA,QAAAA,KAAK,GAAG84K,gBAAgB,CAACvS,gBAAD,EAAmBvmK,KAAnB,CAAxB;;AACA,YAAIA,KAAK,KAAK,IAAd,EAAoB;AAChB,iBAAO,IAAP;AACH;AACJ,OALD,MAKO,IAAI2D,IAAI,CAAC+4E,GAAL,CAAS18E,KAAT,IAAkB,EAAlB,IAAwB,CAACs5K,WAA7B,EAA0C;AAC7Ct5K,QAAAA,KAAK,GAAGA,KAAK,GAAG,EAAhB;AACH;;AACD,UAAI,CAAC,KAAKysJ,MAAN,IAAgB4sB,aAApB,EAAmC;AAC/BE,QAAAA,WAAW,GAAGJ,aAAa,CAAC,IAAD,CAA3B;AACH;;AACD,WAAKrY,OAAL,GAAe9gK,KAAf;AACA,WAAKysJ,MAAL,GAAc,IAAd;;AACA,UAAI8sB,WAAW,IAAI,IAAnB,EAAyB;AACrB,aAAKl9M,GAAL,CAASk9M,WAAT,EAAsB,GAAtB;AACH;;AACD,UAAIz0H,MAAM,KAAK9kD,KAAf,EAAsB;AAClB,YAAI,CAACq5K,aAAD,IAAkB,KAAKG,iBAA3B,EAA8C;AAC1CC,UAAAA,WAAW,CACP,IADO,EAEP7B,cAAc,CAAC53K,KAAK,GAAG8kD,MAAT,EAAiB,GAAjB,CAFP,EAGP,CAHO,EAIP,KAJO,CAAX;AAMH,SAPD,MAOO,IAAI,CAAC,KAAK00H,iBAAV,EAA6B;AAChC,eAAKA,iBAAL,GAAyB,IAAzB;AACAp1E,UAAAA,KAAK,CAACkoD,YAAN,CAAmB,IAAnB,EAAyB,IAAzB;AACA,eAAKktB,iBAAL,GAAyB,IAAzB;AACH;AACJ;;AACD,aAAO,IAAP;AACH,KAhCD,MAgCO;AACH,aAAO,KAAK/sB,MAAL,GAAc3nG,MAAd,GAAuBq0H,aAAa,CAAC,IAAD,CAA3C;AACH;AACJ;;AAED,WAASO,UAAT,CAAoB15K,KAApB,EAA2Bq5K,aAA3B,EAA0C;AACtC,QAAIr5K,KAAK,IAAI,IAAb,EAAmB;AACf,UAAI,OAAOA,KAAP,KAAiB,QAArB,EAA+B;AAC3BA,QAAAA,KAAK,GAAG,CAACA,KAAT;AACH;;AAED,WAAK4nJ,SAAL,CAAe5nJ,KAAf,EAAsBq5K,aAAtB;AAEA,aAAO,IAAP;AACH,KARD,MAQO;AACH,aAAO,CAAC,KAAKzxB,SAAL,EAAR;AACH;AACJ;;AAED,WAAS+xB,cAAT,CAAwBN,aAAxB,EAAuC;AACnC,WAAO,KAAKzxB,SAAL,CAAe,CAAf,EAAkByxB,aAAlB,CAAP;AACH;;AAED,WAASO,gBAAT,CAA0BP,aAA1B,EAAyC;AACrC,QAAI,KAAK5sB,MAAT,EAAiB;AACb,WAAK7E,SAAL,CAAe,CAAf,EAAkByxB,aAAlB;AACA,WAAK5sB,MAAL,GAAc,KAAd;;AAEA,UAAI4sB,aAAJ,EAAmB;AACf,aAAKQ,QAAL,CAAcV,aAAa,CAAC,IAAD,CAA3B,EAAmC,GAAnC;AACH;AACJ;;AACD,WAAO,IAAP;AACH;;AAED,WAASW,uBAAT,GAAmC;AAC/B,QAAI,KAAK/tB,IAAL,IAAa,IAAjB,EAAuB;AACnB,WAAKnE,SAAL,CAAe,KAAKmE,IAApB,EAA0B,KAA1B,EAAiC,IAAjC;AACH,KAFD,MAEO,IAAI,OAAO,KAAK3tH,EAAZ,KAAmB,QAAvB,EAAiC;AACpC,UAAI27I,KAAK,GAAGjB,gBAAgB,CAACxS,WAAD,EAAc,KAAKloI,EAAnB,CAA5B;;AACA,UAAI27I,KAAK,IAAI,IAAb,EAAmB;AACf,aAAKnyB,SAAL,CAAemyB,KAAf;AACH,OAFD,MAEO;AACH,aAAKnyB,SAAL,CAAe,CAAf,EAAkB,IAAlB;AACH;AACJ;;AACD,WAAO,IAAP;AACH;;AAED,WAASoyB,oBAAT,CAA8Bh6K,KAA9B,EAAqC;AACjC,QAAI,CAAC,KAAKgjE,OAAL,EAAL,EAAqB;AACjB,aAAO,KAAP;AACH;;AACDhjE,IAAAA,KAAK,GAAGA,KAAK,GAAGu1K,WAAW,CAACv1K,KAAD,CAAX,CAAmB4nJ,SAAnB,EAAH,GAAoC,CAAjD;AAEA,WAAO,CAAC,KAAKA,SAAL,KAAmB5nJ,KAApB,IAA6B,EAA7B,KAAoC,CAA3C;AACH;;AAED,WAASi6K,oBAAT,GAAgC;AAC5B,WACI,KAAKryB,SAAL,KAAmB,KAAKvgL,KAAL,GAAautL,KAAb,CAAmB,CAAnB,EAAsBhN,SAAtB,EAAnB,IACA,KAAKA,SAAL,KAAmB,KAAKvgL,KAAL,GAAautL,KAAb,CAAmB,CAAnB,EAAsBhN,SAAtB,EAFvB;AAIH;;AAED,WAASsyB,2BAAT,GAAuC;AACnC,QAAI,CAAC/kH,WAAW,CAAC,KAAKglH,aAAN,CAAhB,EAAsC;AAClC,aAAO,KAAKA,aAAZ;AACH;;AAED,QAAI/0D,CAAC,GAAG,EAAR;AAAA,QACI8xD,KADJ;AAGAxW,IAAAA,UAAU,CAACt7C,CAAD,EAAI,IAAJ,CAAV;AACAA,IAAAA,CAAC,GAAG0xD,aAAa,CAAC1xD,CAAD,CAAjB;;AAEA,QAAIA,CAAC,CAAC5tI,EAAN,EAAU;AACN0/L,MAAAA,KAAK,GAAG9xD,CAAC,CAACqnC,MAAF,GAAWkS,SAAS,CAACv5C,CAAC,CAAC5tI,EAAH,CAApB,GAA6B+9L,WAAW,CAACnwD,CAAC,CAAC5tI,EAAH,CAAhD;AACA,WAAK2iM,aAAL,GACI,KAAKn3G,OAAL,MAAkBw1G,aAAa,CAACpzD,CAAC,CAAC5tI,EAAH,EAAO0/L,KAAK,CAAC9vH,OAAN,EAAP,CAAb,GAAuC,CAD7D;AAEH,KAJD,MAIO;AACH,WAAK+yH,aAAL,GAAqB,KAArB;AACH;;AAED,WAAO,KAAKA,aAAZ;AACH;;AAED,WAASC,OAAT,GAAmB;AACf,WAAO,KAAKp3G,OAAL,KAAiB,CAAC,KAAKypF,MAAvB,GAAgC,KAAvC;AACH;;AAED,WAAS4tB,WAAT,GAAuB;AACnB,WAAO,KAAKr3G,OAAL,KAAiB,KAAKypF,MAAtB,GAA+B,KAAtC;AACH;;AAED,WAAS6tB,KAAT,GAAiB;AACb,WAAO,KAAKt3G,OAAL,KAAiB,KAAKypF,MAAL,IAAe,KAAKqU,OAAL,KAAiB,CAAjD,GAAqD,KAA5D;AACH,GAl3GgB,CAo3GjB;;;AACA,MAAIyZ,WAAW,GAAG,uDAAlB;AAAA,MACI;AACA;AACA;AACAC,EAAAA,QAAQ,GACJ,qKALR;;AAOA,WAAS5C,cAAT,CAAwB53K,KAAxB,EAA+BzyB,GAA/B,EAAoC;AAChC,QAAIrtB,QAAQ,GAAG8/C,KAAf;AAAA,QACI;AACA2xB,IAAAA,KAAK,GAAG,IAFZ;AAAA,QAGIvyB,IAHJ;AAAA,QAIIq7K,GAJJ;AAAA,QAKIC,OALJ;;AAOA,QAAIpC,UAAU,CAACt4K,KAAD,CAAd,EAAuB;AACnB9/C,MAAAA,QAAQ,GAAG;AACPq+H,QAAAA,EAAE,EAAEv+E,KAAK,CAACm4K,aADH;AAEP9mM,QAAAA,CAAC,EAAE2uB,KAAK,CAACo4K,KAFF;AAGP9oB,QAAAA,CAAC,EAAEtvJ,KAAK,CAAC2oK;AAHF,OAAX;AAKH,KAND,MAMO,IAAIthG,QAAQ,CAACrnE,KAAD,CAAR,IAAmB,CAAC7kC,KAAK,CAAC,CAAC6kC,KAAF,CAA7B,EAAuC;AAC1C9/C,MAAAA,QAAQ,GAAG,EAAX;;AACA,UAAIqtB,GAAJ,EAAS;AACLrtB,QAAAA,QAAQ,CAACqtB,GAAD,CAAR,GAAgB,CAACyyB,KAAjB;AACH,OAFD,MAEO;AACH9/C,QAAAA,QAAQ,CAACg4N,YAAT,GAAwB,CAACl4K,KAAzB;AACH;AACJ,KAPM,MAOA,IAAK2xB,KAAK,GAAG4oJ,WAAW,CAACj2H,IAAZ,CAAiBtkD,KAAjB,CAAb,EAAuC;AAC1CZ,MAAAA,IAAI,GAAGuyB,KAAK,CAAC,CAAD,CAAL,KAAa,GAAb,GAAmB,CAAC,CAApB,GAAwB,CAA/B;AACAzxE,MAAAA,QAAQ,GAAG;AACPszB,QAAAA,CAAC,EAAE,CADI;AAEPnC,QAAAA,CAAC,EAAEyzL,KAAK,CAACnzI,KAAK,CAACk2I,IAAD,CAAN,CAAL,GAAqBzoK,IAFjB;AAGPi/G,QAAAA,CAAC,EAAEymD,KAAK,CAACnzI,KAAK,CAACm2I,IAAD,CAAN,CAAL,GAAqB1oK,IAHjB;AAIPnrB,QAAAA,CAAC,EAAE6wL,KAAK,CAACnzI,KAAK,CAACo2I,MAAD,CAAN,CAAL,GAAuB3oK,IAJnB;AAKPrtB,QAAAA,CAAC,EAAE+yL,KAAK,CAACnzI,KAAK,CAACq2I,MAAD,CAAN,CAAL,GAAuB5oK,IALnB;AAMPm/E,QAAAA,EAAE,EAAEumF,KAAK,CAACyT,QAAQ,CAAC5mJ,KAAK,CAACs2I,WAAD,CAAL,GAAqB,IAAtB,CAAT,CAAL,GAA6C7oK,IAN1C,CAMgD;;AANhD,OAAX;AAQH,KAVM,MAUA,IAAKuyB,KAAK,GAAG6oJ,QAAQ,CAACl2H,IAAT,CAActkD,KAAd,CAAb,EAAoC;AACvCZ,MAAAA,IAAI,GAAGuyB,KAAK,CAAC,CAAD,CAAL,KAAa,GAAb,GAAmB,CAAC,CAApB,GAAwB,CAA/B;AACAzxE,MAAAA,QAAQ,GAAG;AACPszB,QAAAA,CAAC,EAAEmnM,QAAQ,CAAChpJ,KAAK,CAAC,CAAD,CAAN,EAAWvyB,IAAX,CADJ;AAEPkwJ,QAAAA,CAAC,EAAEqrB,QAAQ,CAAChpJ,KAAK,CAAC,CAAD,CAAN,EAAWvyB,IAAX,CAFJ;AAGPy2G,QAAAA,CAAC,EAAE8kE,QAAQ,CAAChpJ,KAAK,CAAC,CAAD,CAAN,EAAWvyB,IAAX,CAHJ;AAIP/tB,QAAAA,CAAC,EAAEspM,QAAQ,CAAChpJ,KAAK,CAAC,CAAD,CAAN,EAAWvyB,IAAX,CAJJ;AAKPi/G,QAAAA,CAAC,EAAEs8D,QAAQ,CAAChpJ,KAAK,CAAC,CAAD,CAAN,EAAWvyB,IAAX,CALJ;AAMPnrB,QAAAA,CAAC,EAAE0mM,QAAQ,CAAChpJ,KAAK,CAAC,CAAD,CAAN,EAAWvyB,IAAX,CANJ;AAOPrtB,QAAAA,CAAC,EAAE4oM,QAAQ,CAAChpJ,KAAK,CAAC,CAAD,CAAN,EAAWvyB,IAAX;AAPJ,OAAX;AASH,KAXM,MAWA,IAAIl/C,QAAQ,IAAI,IAAhB,EAAsB;AACzB;AACAA,MAAAA,QAAQ,GAAG,EAAX;AACH,KAHM,MAGA,IACH,OAAOA,QAAP,KAAoB,QAApB,KACC,UAAUA,QAAV,IAAsB,QAAQA,QAD/B,CADG,EAGL;AACEw6N,MAAAA,OAAO,GAAGE,iBAAiB,CACvBrF,WAAW,CAACr1N,QAAQ,CAAC6kB,IAAV,CADY,EAEvBwwM,WAAW,CAACr1N,QAAQ,CAACg0K,EAAV,CAFY,CAA3B;AAKAh0K,MAAAA,QAAQ,GAAG,EAAX;AACAA,MAAAA,QAAQ,CAACq+H,EAAT,GAAcm8F,OAAO,CAACxC,YAAtB;AACAh4N,MAAAA,QAAQ,CAACovM,CAAT,GAAaorB,OAAO,CAACptB,MAArB;AACH;;AAEDmtB,IAAAA,GAAG,GAAG,IAAIr+M,QAAJ,CAAalc,QAAb,CAAN;;AAEA,QAAIo4N,UAAU,CAACt4K,KAAD,CAAV,IAAqBq+J,UAAU,CAACr+J,KAAD,EAAQ,SAAR,CAAnC,EAAuD;AACnDy6K,MAAAA,GAAG,CAAC1Z,OAAJ,GAAc/gK,KAAK,CAAC+gK,OAApB;AACH;;AAED,QAAIuX,UAAU,CAACt4K,KAAD,CAAV,IAAqBq+J,UAAU,CAACr+J,KAAD,EAAQ,UAAR,CAAnC,EAAwD;AACpDy6K,MAAAA,GAAG,CAACvzD,QAAJ,GAAelnH,KAAK,CAACknH,QAArB;AACH;;AAED,WAAOuzD,GAAP;AACH;;AAED7C,EAAAA,cAAc,CAAC/zE,EAAf,GAAoBznI,QAAQ,CAACsV,SAA7B;AACAkmM,EAAAA,cAAc,CAACiD,OAAf,GAAyBlD,eAAzB;;AAEA,WAASgD,QAAT,CAAkBG,GAAlB,EAAuB17K,IAAvB,EAA6B;AACzB;AACA;AACA;AACA,QAAIxoC,GAAG,GAAGkkN,GAAG,IAAIj/F,UAAU,CAACi/F,GAAG,CAACh0N,OAAJ,CAAY,GAAZ,EAAiB,GAAjB,CAAD,CAA3B,CAJyB,CAKzB;;AACA,WAAO,CAACqU,KAAK,CAACvE,GAAD,CAAL,GAAa,CAAb,GAAiBA,GAAlB,IAAyBwoC,IAAhC;AACH;;AAED,WAAS27K,yBAAT,CAAmCC,IAAnC,EAAyC9D,KAAzC,EAAgD;AAC5C,QAAItgN,GAAG,GAAG,EAAV;AAEAA,IAAAA,GAAG,CAAC02L,MAAJ,GACI4pB,KAAK,CAACtiB,KAAN,KAAgBomB,IAAI,CAACpmB,KAAL,EAAhB,GAA+B,CAACsiB,KAAK,CAACtS,IAAN,KAAeoW,IAAI,CAACpW,IAAL,EAAhB,IAA+B,EADlE;;AAEA,QAAIoW,IAAI,CAAC3zM,KAAL,GAAahL,GAAb,CAAiBzF,GAAG,CAAC02L,MAArB,EAA6B,GAA7B,EAAkC2tB,OAAlC,CAA0C/D,KAA1C,CAAJ,EAAsD;AAClD,QAAEtgN,GAAG,CAAC02L,MAAN;AACH;;AAED12L,IAAAA,GAAG,CAACshN,YAAJ,GAAmB,CAAChB,KAAD,GAAS,CAAC8D,IAAI,CAAC3zM,KAAL,GAAahL,GAAb,CAAiBzF,GAAG,CAAC02L,MAArB,EAA6B,GAA7B,CAA7B;AAEA,WAAO12L,GAAP;AACH;;AAED,WAASgkN,iBAAT,CAA2BI,IAA3B,EAAiC9D,KAAjC,EAAwC;AACpC,QAAItgN,GAAJ;;AACA,QAAI,EAAEokN,IAAI,CAACh4G,OAAL,MAAkBk0G,KAAK,CAACl0G,OAAN,EAApB,CAAJ,EAA0C;AACtC,aAAO;AAAEk1G,QAAAA,YAAY,EAAE,CAAhB;AAAmB5qB,QAAAA,MAAM,EAAE;AAA3B,OAAP;AACH;;AAED4pB,IAAAA,KAAK,GAAGgC,eAAe,CAAChC,KAAD,EAAQ8D,IAAR,CAAvB;;AACA,QAAIA,IAAI,CAAC39M,QAAL,CAAc65M,KAAd,CAAJ,EAA0B;AACtBtgN,MAAAA,GAAG,GAAGmkN,yBAAyB,CAACC,IAAD,EAAO9D,KAAP,CAA/B;AACH,KAFD,MAEO;AACHtgN,MAAAA,GAAG,GAAGmkN,yBAAyB,CAAC7D,KAAD,EAAQ8D,IAAR,CAA/B;AACApkN,MAAAA,GAAG,CAACshN,YAAJ,GAAmB,CAACthN,GAAG,CAACshN,YAAxB;AACAthN,MAAAA,GAAG,CAAC02L,MAAJ,GAAa,CAAC12L,GAAG,CAAC02L,MAAlB;AACH;;AAED,WAAO12L,GAAP;AACH,GA9+GgB,CAg/GjB;;;AACA,WAASskN,WAAT,CAAqBC,SAArB,EAAgCljO,IAAhC,EAAsC;AAClC,WAAO,UAAU0iG,GAAV,EAAe82G,MAAf,EAAuB;AAC1B,UAAI2pB,GAAJ,EAAS7wE,GAAT,CAD0B,CAE1B;;AACA,UAAIknD,MAAM,KAAK,IAAX,IAAmB,CAACt2L,KAAK,CAAC,CAACs2L,MAAF,CAA7B,EAAwC;AACpC6P,QAAAA,eAAe,CACXrpN,IADW,EAEX,cACIA,IADJ,GAEI,sDAFJ,GAGIA,IAHJ,GAII,oBAJJ,GAKI,8EAPO,CAAf;AASAsyJ,QAAAA,GAAG,GAAG5vD,GAAN;AACAA,QAAAA,GAAG,GAAG82G,MAAN;AACAA,QAAAA,MAAM,GAAGlnD,GAAT;AACH;;AAED6wE,MAAAA,GAAG,GAAGxD,cAAc,CAACj9H,GAAD,EAAM82G,MAAN,CAApB;AACAgoB,MAAAA,WAAW,CAAC,IAAD,EAAO2B,GAAP,EAAYD,SAAZ,CAAX;AACA,aAAO,IAAP;AACH,KArBD;AAsBH;;AAED,WAAS1B,WAAT,CAAqB9xB,GAArB,EAA0BznM,QAA1B,EAAoCm7N,QAApC,EAA8C/uB,YAA9C,EAA4D;AACxD,QAAI4rB,YAAY,GAAGh4N,QAAQ,CAACi4N,aAA5B;AAAA,QACIz5F,IAAI,GAAG65F,QAAQ,CAACr4N,QAAQ,CAACk4N,KAAV,CADnB;AAAA,QAEI9qB,MAAM,GAAGirB,QAAQ,CAACr4N,QAAQ,CAACyoN,OAAV,CAFrB;;AAIA,QAAI,CAAChhB,GAAG,CAAC3kF,OAAJ,EAAL,EAAoB;AAChB;AACA;AACH;;AAEDspF,IAAAA,YAAY,GAAGA,YAAY,IAAI,IAAhB,GAAuB,IAAvB,GAA8BA,YAA7C;;AAEA,QAAIgB,MAAJ,EAAY;AACRkc,MAAAA,QAAQ,CAAC7hB,GAAD,EAAMz/M,GAAG,CAACy/M,GAAD,EAAM,OAAN,CAAH,GAAoB2F,MAAM,GAAG+tB,QAAnC,CAAR;AACH;;AACD,QAAI38F,IAAJ,EAAU;AACNymF,MAAAA,KAAK,CAACxd,GAAD,EAAM,MAAN,EAAcz/M,GAAG,CAACy/M,GAAD,EAAM,MAAN,CAAH,GAAmBjpE,IAAI,GAAG28F,QAAxC,CAAL;AACH;;AACD,QAAInD,YAAJ,EAAkB;AACdvwB,MAAAA,GAAG,CAAChtI,EAAJ,CAAOguF,OAAP,CAAeg/C,GAAG,CAAChtI,EAAJ,CAAO+jJ,OAAP,KAAmBwZ,YAAY,GAAGmD,QAAjD;AACH;;AACD,QAAI/uB,YAAJ,EAAkB;AACdloD,MAAAA,KAAK,CAACkoD,YAAN,CAAmB3E,GAAnB,EAAwBjpE,IAAI,IAAI4uE,MAAhC;AACH;AACJ;;AAED,MAAIjxL,GAAG,GAAG6+M,WAAW,CAAC,CAAD,EAAI,KAAJ,CAArB;AAAA,MACIrB,QAAQ,GAAGqB,WAAW,CAAC,CAAC,CAAF,EAAK,UAAL,CAD1B;;AAGA,WAAShmH,QAAT,CAAkBl1D,KAAlB,EAAyB;AACrB,WAAO,OAAOA,KAAP,KAAiB,QAAjB,IAA6BA,KAAK,YAAYmH,MAArD;AACH,GAziHgB,CA2iHjB;;;AACA,WAASm0K,aAAT,CAAuBt7K,KAAvB,EAA8B;AAC1B,WACIgsJ,QAAQ,CAAChsJ,KAAD,CAAR,IACA+yF,MAAM,CAAC/yF,KAAD,CADN,IAEAk1D,QAAQ,CAACl1D,KAAD,CAFR,IAGAqnE,QAAQ,CAACrnE,KAAD,CAHR,IAIAu7K,qBAAqB,CAACv7K,KAAD,CAJrB,IAKAw7K,mBAAmB,CAACx7K,KAAD,CALnB,IAMAA,KAAK,KAAK,IANV,IAOAA,KAAK,KAAKlmB,SARd;AAUH;;AAED,WAAS0hM,mBAAT,CAA6Bx7K,KAA7B,EAAoC;AAChC,QAAIy7K,UAAU,GAAG3rH,QAAQ,CAAC9vD,KAAD,CAAR,IAAmB,CAACs+J,aAAa,CAACt+J,KAAD,CAAlD;AAAA,QACI07K,YAAY,GAAG,KADnB;AAAA,QAEIvmK,UAAU,GAAG,CACT,OADS,EAET,MAFS,EAGT,GAHS,EAIT,QAJS,EAKT,OALS,EAMT,GANS,EAOT,MAPS,EAQT,KARS,EAST,GATS,EAUT,OAVS,EAWT,MAXS,EAYT,GAZS,EAaT,OAbS,EAcT,MAdS,EAeT,GAfS,EAgBT,SAhBS,EAiBT,QAjBS,EAkBT,GAlBS,EAmBT,SAnBS,EAoBT,QApBS,EAqBT,GArBS,EAsBT,cAtBS,EAuBT,aAvBS,EAwBT,IAxBS,CAFjB;AAAA,QA4BI/2D,CA5BJ;AAAA,QA6BIkyJ,QA7BJ;AAAA,QA8BIqrE,WAAW,GAAGxmK,UAAU,CAAC/gE,MA9B7B;;AAgCA,SAAKgK,CAAC,GAAG,CAAT,EAAYA,CAAC,GAAGu9N,WAAhB,EAA6Bv9N,CAAC,IAAI,CAAlC,EAAqC;AACjCkyJ,MAAAA,QAAQ,GAAGn7F,UAAU,CAAC/2D,CAAD,CAArB;AACAs9N,MAAAA,YAAY,GAAGA,YAAY,IAAIrd,UAAU,CAACr+J,KAAD,EAAQswG,QAAR,CAAzC;AACH;;AAED,WAAOmrE,UAAU,IAAIC,YAArB;AACH;;AAED,WAASH,qBAAT,CAA+Bv7K,KAA/B,EAAsC;AAClC,QAAI47K,SAAS,GAAG/yH,OAAO,CAAC7oD,KAAD,CAAvB;AAAA,QACI67K,YAAY,GAAG,KADnB;;AAEA,QAAID,SAAJ,EAAe;AACXC,MAAAA,YAAY,GACR77K,KAAK,CAAC5uD,MAAN,CAAa,UAAU6Q,IAAV,EAAgB;AACzB,eAAO,CAAColH,QAAQ,CAACplH,IAAD,CAAT,IAAmBizG,QAAQ,CAACl1D,KAAD,CAAlC;AACH,OAFD,EAEG5rD,MAFH,KAEc,CAHlB;AAIH;;AACD,WAAOwnO,SAAS,IAAIC,YAApB;AACH;;AAED,WAASC,cAAT,CAAwB97K,KAAxB,EAA+B;AAC3B,QAAIy7K,UAAU,GAAG3rH,QAAQ,CAAC9vD,KAAD,CAAR,IAAmB,CAACs+J,aAAa,CAACt+J,KAAD,CAAlD;AAAA,QACI07K,YAAY,GAAG,KADnB;AAAA,QAEIvmK,UAAU,GAAG,CACT,SADS,EAET,SAFS,EAGT,SAHS,EAIT,UAJS,EAKT,UALS,EAMT,UANS,CAFjB;AAAA,QAUI/2D,CAVJ;AAAA,QAWIkyJ,QAXJ;;AAaA,SAAKlyJ,CAAC,GAAG,CAAT,EAAYA,CAAC,GAAG+2D,UAAU,CAAC/gE,MAA3B,EAAmCgK,CAAC,IAAI,CAAxC,EAA2C;AACvCkyJ,MAAAA,QAAQ,GAAGn7F,UAAU,CAAC/2D,CAAD,CAArB;AACAs9N,MAAAA,YAAY,GAAGA,YAAY,IAAIrd,UAAU,CAACr+J,KAAD,EAAQswG,QAAR,CAAzC;AACH;;AAED,WAAOmrE,UAAU,IAAIC,YAArB;AACH;;AAED,WAASK,iBAAT,CAA2BC,QAA3B,EAAqCztK,GAArC,EAA0C;AACtC,QAAIs6I,IAAI,GAAGmzB,QAAQ,CAACnzB,IAAT,CAAct6I,GAAd,EAAmB,MAAnB,EAA2B,IAA3B,CAAX;AACA,WAAOs6I,IAAI,GAAG,CAAC,CAAR,GACD,UADC,GAEDA,IAAI,GAAG,CAAC,CAAR,GACA,UADA,GAEAA,IAAI,GAAG,CAAP,GACA,SADA,GAEAA,IAAI,GAAG,CAAP,GACA,SADA,GAEAA,IAAI,GAAG,CAAP,GACA,SADA,GAEAA,IAAI,GAAG,CAAP,GACA,UADA,GAEA,UAZN;AAaH;;AAED,WAASozB,UAAT,CAAoBtoI,IAApB,EAA0BuoI,OAA1B,EAAmC;AAC/B;AACA,QAAIjqM,SAAS,CAAC79B,MAAV,KAAqB,CAAzB,EAA4B;AACxB,UAAI,CAAC69B,SAAS,CAAC,CAAD,CAAd,EAAmB;AACf0hE,QAAAA,IAAI,GAAG75D,SAAP;AACAoiM,QAAAA,OAAO,GAAGpiM,SAAV;AACH,OAHD,MAGO,IAAIwhM,aAAa,CAACrpM,SAAS,CAAC,CAAD,CAAV,CAAjB,EAAiC;AACpC0hE,QAAAA,IAAI,GAAG1hE,SAAS,CAAC,CAAD,CAAhB;AACAiqM,QAAAA,OAAO,GAAGpiM,SAAV;AACH,OAHM,MAGA,IAAIgiM,cAAc,CAAC7pM,SAAS,CAAC,CAAD,CAAV,CAAlB,EAAkC;AACrCiqM,QAAAA,OAAO,GAAGjqM,SAAS,CAAC,CAAD,CAAnB;AACA0hE,QAAAA,IAAI,GAAG75D,SAAP;AACH;AACJ,KAb8B,CAc/B;AACA;;;AACA,QAAIy0B,GAAG,GAAGolC,IAAI,IAAI4hI,WAAW,EAA7B;AAAA,QACI4G,GAAG,GAAGjD,eAAe,CAAC3qK,GAAD,EAAM,IAAN,CAAf,CAA2B6tK,OAA3B,CAAmC,KAAnC,CADV;AAAA,QAEI9/M,MAAM,GAAG8nI,KAAK,CAACi4E,cAAN,CAAqB,IAArB,EAA2BF,GAA3B,KAAmC,UAFhD;AAAA,QAGInhG,MAAM,GACFkhG,OAAO,KACNlnH,UAAU,CAACknH,OAAO,CAAC5/M,MAAD,CAAR,CAAV,GACK4/M,OAAO,CAAC5/M,MAAD,CAAP,CAAgBsU,IAAhB,CAAqB,IAArB,EAA2B29B,GAA3B,CADL,GAEK2tK,OAAO,CAAC5/M,MAAD,CAHN,CAJf;AASA,WAAO,KAAKA,MAAL,CACH0+G,MAAM,IAAI,KAAK2nF,UAAL,GAAkBnU,QAAlB,CAA2BlyL,MAA3B,EAAmC,IAAnC,EAAyCi5M,WAAW,CAAChnK,GAAD,CAApD,CADP,CAAP;AAGH;;AAED,WAASlnC,KAAT,GAAiB;AACb,WAAO,IAAI25L,MAAJ,CAAW,IAAX,CAAP;AACH;;AAED,WAASia,OAAT,CAAiBj7K,KAAjB,EAAwBg5J,KAAxB,EAA+B;AAC3B,QAAIsjB,UAAU,GAAGtwB,QAAQ,CAAChsJ,KAAD,CAAR,GAAkBA,KAAlB,GAA0Bu1K,WAAW,CAACv1K,KAAD,CAAtD;;AACA,QAAI,EAAE,KAAKgjE,OAAL,MAAkBs5G,UAAU,CAACt5G,OAAX,EAApB,CAAJ,EAA+C;AAC3C,aAAO,KAAP;AACH;;AACDg2F,IAAAA,KAAK,GAAGkL,cAAc,CAAClL,KAAD,CAAd,IAAyB,aAAjC;;AACA,QAAIA,KAAK,KAAK,aAAd,EAA6B;AACzB,aAAO,KAAK0F,OAAL,KAAiB4d,UAAU,CAAC5d,OAAX,EAAxB;AACH,KAFD,MAEO;AACH,aAAO4d,UAAU,CAAC5d,OAAX,KAAuB,KAAKr3L,KAAL,GAAa+0M,OAAb,CAAqBpjB,KAArB,EAA4B0F,OAA5B,EAA9B;AACH;AACJ;;AAED,WAASrhM,QAAT,CAAkB2iC,KAAlB,EAAyBg5J,KAAzB,EAAgC;AAC5B,QAAIsjB,UAAU,GAAGtwB,QAAQ,CAAChsJ,KAAD,CAAR,GAAkBA,KAAlB,GAA0Bu1K,WAAW,CAACv1K,KAAD,CAAtD;;AACA,QAAI,EAAE,KAAKgjE,OAAL,MAAkBs5G,UAAU,CAACt5G,OAAX,EAApB,CAAJ,EAA+C;AAC3C,aAAO,KAAP;AACH;;AACDg2F,IAAAA,KAAK,GAAGkL,cAAc,CAAClL,KAAD,CAAd,IAAyB,aAAjC;;AACA,QAAIA,KAAK,KAAK,aAAd,EAA6B;AACzB,aAAO,KAAK0F,OAAL,KAAiB4d,UAAU,CAAC5d,OAAX,EAAxB;AACH,KAFD,MAEO;AACH,aAAO,KAAKr3L,KAAL,GAAak1M,KAAb,CAAmBvjB,KAAnB,EAA0B0F,OAA1B,KAAsC4d,UAAU,CAAC5d,OAAX,EAA7C;AACH;AACJ;;AAED,WAASphM,SAAT,CAAmByH,IAAnB,EAAyBmvJ,EAAzB,EAA6B8kC,KAA7B,EAAoCwjB,WAApC,EAAiD;AAC7C,QAAIC,SAAS,GAAGzwB,QAAQ,CAACjnL,IAAD,CAAR,GAAiBA,IAAjB,GAAwBwwM,WAAW,CAACxwM,IAAD,CAAnD;AAAA,QACI23M,OAAO,GAAG1wB,QAAQ,CAAC93B,EAAD,CAAR,GAAeA,EAAf,GAAoBqhD,WAAW,CAACrhD,EAAD,CAD7C;;AAEA,QAAI,EAAE,KAAKlxD,OAAL,MAAkBy5G,SAAS,CAACz5G,OAAV,EAAlB,IAAyC05G,OAAO,CAAC15G,OAAR,EAA3C,CAAJ,EAAmE;AAC/D,aAAO,KAAP;AACH;;AACDw5G,IAAAA,WAAW,GAAGA,WAAW,IAAI,IAA7B;AACA,WACI,CAACA,WAAW,CAAC,CAAD,CAAX,KAAmB,GAAnB,GACK,KAAKvB,OAAL,CAAawB,SAAb,EAAwBzjB,KAAxB,CADL,GAEK,CAAC,KAAK37L,QAAL,CAAco/M,SAAd,EAAyBzjB,KAAzB,CAFP,MAGCwjB,WAAW,CAAC,CAAD,CAAX,KAAmB,GAAnB,GACK,KAAKn/M,QAAL,CAAcq/M,OAAd,EAAuB1jB,KAAvB,CADL,GAEK,CAAC,KAAKiiB,OAAL,CAAayB,OAAb,EAAsB1jB,KAAtB,CALP,CADJ;AAQH;;AAED,WAAS2jB,MAAT,CAAgB38K,KAAhB,EAAuBg5J,KAAvB,EAA8B;AAC1B,QAAIsjB,UAAU,GAAGtwB,QAAQ,CAAChsJ,KAAD,CAAR,GAAkBA,KAAlB,GAA0Bu1K,WAAW,CAACv1K,KAAD,CAAtD;AAAA,QACI48K,OADJ;;AAEA,QAAI,EAAE,KAAK55G,OAAL,MAAkBs5G,UAAU,CAACt5G,OAAX,EAApB,CAAJ,EAA+C;AAC3C,aAAO,KAAP;AACH;;AACDg2F,IAAAA,KAAK,GAAGkL,cAAc,CAAClL,KAAD,CAAd,IAAyB,aAAjC;;AACA,QAAIA,KAAK,KAAK,aAAd,EAA6B;AACzB,aAAO,KAAK0F,OAAL,OAAmB4d,UAAU,CAAC5d,OAAX,EAA1B;AACH,KAFD,MAEO;AACHke,MAAAA,OAAO,GAAGN,UAAU,CAAC5d,OAAX,EAAV;AACA,aACI,KAAKr3L,KAAL,GAAa+0M,OAAb,CAAqBpjB,KAArB,EAA4B0F,OAA5B,MAAyCke,OAAzC,IACAA,OAAO,IAAI,KAAKv1M,KAAL,GAAak1M,KAAb,CAAmBvjB,KAAnB,EAA0B0F,OAA1B,EAFf;AAIH;AACJ;;AAED,WAASme,aAAT,CAAuB78K,KAAvB,EAA8Bg5J,KAA9B,EAAqC;AACjC,WAAO,KAAK2jB,MAAL,CAAY38K,KAAZ,EAAmBg5J,KAAnB,KAA6B,KAAKiiB,OAAL,CAAaj7K,KAAb,EAAoBg5J,KAApB,CAApC;AACH;;AAED,WAAS8jB,cAAT,CAAwB98K,KAAxB,EAA+Bg5J,KAA/B,EAAsC;AAClC,WAAO,KAAK2jB,MAAL,CAAY38K,KAAZ,EAAmBg5J,KAAnB,KAA6B,KAAK37L,QAAL,CAAc2iC,KAAd,EAAqBg5J,KAArB,CAApC;AACH;;AAED,WAASnQ,IAAT,CAAc7oJ,KAAd,EAAqBg5J,KAArB,EAA4B+jB,OAA5B,EAAqC;AACjC,QAAIv6D,IAAJ,EAAUw6D,SAAV,EAAqBhiG,MAArB;;AAEA,QAAI,CAAC,KAAKhY,OAAL,EAAL,EAAqB;AACjB,aAAOw9F,GAAP;AACH;;AAEDh+C,IAAAA,IAAI,GAAG02D,eAAe,CAACl5K,KAAD,EAAQ,IAAR,CAAtB;;AAEA,QAAI,CAACwiH,IAAI,CAACx/C,OAAL,EAAL,EAAqB;AACjB,aAAOw9F,GAAP;AACH;;AAEDwc,IAAAA,SAAS,GAAG,CAACx6D,IAAI,CAAColC,SAAL,KAAmB,KAAKA,SAAL,EAApB,IAAwC,GAApD;AAEAoR,IAAAA,KAAK,GAAGkL,cAAc,CAAClL,KAAD,CAAtB;;AAEA,YAAQA,KAAR;AACI,WAAK,MAAL;AACIh+E,QAAAA,MAAM,GAAGiiG,SAAS,CAAC,IAAD,EAAOz6D,IAAP,CAAT,GAAwB,EAAjC;AACA;;AACJ,WAAK,OAAL;AACIxnC,QAAAA,MAAM,GAAGiiG,SAAS,CAAC,IAAD,EAAOz6D,IAAP,CAAlB;AACA;;AACJ,WAAK,SAAL;AACIxnC,QAAAA,MAAM,GAAGiiG,SAAS,CAAC,IAAD,EAAOz6D,IAAP,CAAT,GAAwB,CAAjC;AACA;;AACJ,WAAK,QAAL;AACIxnC,QAAAA,MAAM,GAAG,CAAC,OAAOwnC,IAAR,IAAgB,GAAzB;AACA;AAAO;;AACX,WAAK,QAAL;AACIxnC,QAAAA,MAAM,GAAG,CAAC,OAAOwnC,IAAR,IAAgB,GAAzB;AACA;AAAO;;AACX,WAAK,MAAL;AACIxnC,QAAAA,MAAM,GAAG,CAAC,OAAOwnC,IAAR,IAAgB,IAAzB;AACA;AAAO;;AACX,WAAK,KAAL;AACIxnC,QAAAA,MAAM,GAAG,CAAC,OAAOwnC,IAAP,GAAcw6D,SAAf,IAA4B,KAArC;AACA;AAAO;;AACX,WAAK,MAAL;AACIhiG,QAAAA,MAAM,GAAG,CAAC,OAAOwnC,IAAP,GAAcw6D,SAAf,IAA4B,MAArC;AACA;AAAO;;AACX;AACIhiG,QAAAA,MAAM,GAAG,OAAOwnC,IAAhB;AA1BR;;AA6BA,WAAOu6D,OAAO,GAAG/hG,MAAH,GAAY6pF,QAAQ,CAAC7pF,MAAD,CAAlC;AACH;;AAED,WAASiiG,SAAT,CAAmBpzJ,CAAnB,EAAsBv4C,CAAtB,EAAyB;AACrB,QAAIu4C,CAAC,CAACuoC,IAAF,KAAW9gF,CAAC,CAAC8gF,IAAF,EAAf,EAAyB;AACrB;AACA;AACA,aAAO,CAAC6qH,SAAS,CAAC3rM,CAAD,EAAIu4C,CAAJ,CAAjB;AACH,KALoB,CAMrB;;;AACA,QAAIqzJ,cAAc,GAAG,CAAC5rM,CAAC,CAACszL,IAAF,KAAW/6I,CAAC,CAAC+6I,IAAF,EAAZ,IAAwB,EAAxB,IAA8BtzL,CAAC,CAACsjL,KAAF,KAAY/qI,CAAC,CAAC+qI,KAAF,EAA1C,CAArB;AAAA,QACI;AACAuoB,IAAAA,MAAM,GAAGtzJ,CAAC,CAACxiD,KAAF,GAAUhL,GAAV,CAAc6gN,cAAd,EAA8B,QAA9B,CAFb;AAAA,QAGIE,OAHJ;AAAA,QAIIC,MAJJ;;AAMA,QAAI/rM,CAAC,GAAG6rM,MAAJ,GAAa,CAAjB,EAAoB;AAChBC,MAAAA,OAAO,GAAGvzJ,CAAC,CAACxiD,KAAF,GAAUhL,GAAV,CAAc6gN,cAAc,GAAG,CAA/B,EAAkC,QAAlC,CAAV,CADgB,CAEhB;;AACAG,MAAAA,MAAM,GAAG,CAAC/rM,CAAC,GAAG6rM,MAAL,KAAgBA,MAAM,GAAGC,OAAzB,CAAT;AACH,KAJD,MAIO;AACHA,MAAAA,OAAO,GAAGvzJ,CAAC,CAACxiD,KAAF,GAAUhL,GAAV,CAAc6gN,cAAc,GAAG,CAA/B,EAAkC,QAAlC,CAAV,CADG,CAEH;;AACAG,MAAAA,MAAM,GAAG,CAAC/rM,CAAC,GAAG6rM,MAAL,KAAgBC,OAAO,GAAGD,MAA1B,CAAT;AACH,KArBoB,CAuBrB;;;AACA,WAAO,EAAED,cAAc,GAAGG,MAAnB,KAA8B,CAArC;AACH;;AAEDj5E,EAAAA,KAAK,CAACk5E,aAAN,GAAsB,sBAAtB;AACAl5E,EAAAA,KAAK,CAACm5E,gBAAN,GAAyB,wBAAzB;;AAEA,WAAS54L,QAAT,GAAoB;AAChB,WAAO,KAAKtd,KAAL,GAAau3L,MAAb,CAAoB,IAApB,EAA0BtiM,MAA1B,CAAiC,kCAAjC,CAAP;AACH;;AAED,WAAS2B,WAAT,CAAqBu/M,UAArB,EAAiC;AAC7B,QAAI,CAAC,KAAKx6G,OAAL,EAAL,EAAqB;AACjB,aAAO,IAAP;AACH;;AACD,QAAIjlG,GAAG,GAAGy/M,UAAU,KAAK,IAAzB;AAAA,QACIvpM,CAAC,GAAGlW,GAAG,GAAG,KAAKsJ,KAAL,GAAatJ,GAAb,EAAH,GAAwB,IADnC;;AAEA,QAAIkW,CAAC,CAAC2wL,IAAF,KAAW,CAAX,IAAgB3wL,CAAC,CAAC2wL,IAAF,KAAW,IAA/B,EAAqC;AACjC,aAAO9B,YAAY,CACf7uL,CADe,EAEflW,GAAG,GACG,gCADH,GAEG,8BAJS,CAAnB;AAMH;;AACD,QAAIi3F,UAAU,CAACxlE,IAAI,CAAC9d,SAAL,CAAezT,WAAhB,CAAd,EAA4C;AACxC;AACA,UAAIF,GAAJ,EAAS;AACL,eAAO,KAAK0/M,MAAL,GAAcx/M,WAAd,EAAP;AACH,OAFD,MAEO;AACH,eAAO,IAAIuxB,IAAJ,CAAS,KAAKkvK,OAAL,KAAiB,KAAK9W,SAAL,KAAmB,EAAnB,GAAwB,IAAlD,EACF3pL,WADE,GAEFnX,OAFE,CAEM,GAFN,EAEWg8M,YAAY,CAAC7uL,CAAD,EAAI,GAAJ,CAFvB,CAAP;AAGH;AACJ;;AACD,WAAO6uL,YAAY,CACf7uL,CADe,EAEflW,GAAG,GAAG,8BAAH,GAAoC,4BAFxB,CAAnB;AAIH;AAED;AACJ;AACA;AACA;AACA;AACA;;;AACI,WAAS2/M,OAAT,GAAmB;AACf,QAAI,CAAC,KAAK16G,OAAL,EAAL,EAAqB;AACjB,aAAO,uBAAuB,KAAK5kC,EAA5B,GAAiC,MAAxC;AACH;;AACD,QAAIq8C,IAAI,GAAG,QAAX;AAAA,QACI4tE,IAAI,GAAG,EADX;AAAA,QAEIr3D,MAFJ;AAAA,QAGI4zE,IAHJ;AAAA,QAII+Y,QAJJ;AAAA,QAKIC,MALJ;;AAMA,QAAI,CAAC,KAAKxD,OAAL,EAAL,EAAqB;AACjB3/F,MAAAA,IAAI,GAAG,KAAKmtE,SAAL,OAAqB,CAArB,GAAyB,YAAzB,GAAwC,kBAA/C;AACAS,MAAAA,IAAI,GAAG,GAAP;AACH;;AACDr3D,IAAAA,MAAM,GAAG,MAAMvW,IAAN,GAAa,KAAtB;AACAmqF,IAAAA,IAAI,GAAG,KAAK,KAAKA,IAAL,EAAL,IAAoB,KAAKA,IAAL,MAAe,IAAnC,GAA0C,MAA1C,GAAmD,QAA1D;AACA+Y,IAAAA,QAAQ,GAAG,uBAAX;AACAC,IAAAA,MAAM,GAAGv1B,IAAI,GAAG,MAAhB;AAEA,WAAO,KAAK/rL,MAAL,CAAY00H,MAAM,GAAG4zE,IAAT,GAAgB+Y,QAAhB,GAA2BC,MAAvC,CAAP;AACH;;AAED,WAASthN,MAAT,CAAgBuhN,WAAhB,EAA6B;AACzB,QAAI,CAACA,WAAL,EAAkB;AACdA,MAAAA,WAAW,GAAG,KAAKvD,KAAL,KACRl2E,KAAK,CAACm5E,gBADE,GAERn5E,KAAK,CAACk5E,aAFZ;AAGH;;AACD,QAAItiG,MAAM,GAAG8nF,YAAY,CAAC,IAAD,EAAO+a,WAAP,CAAzB;AACA,WAAO,KAAKlb,UAAL,GAAkBrS,UAAlB,CAA6Bt1E,MAA7B,CAAP;AACH;;AAED,WAASj2G,IAAT,CAAc4uE,IAAd,EAAoBs8G,aAApB,EAAmC;AAC/B,QACI,KAAKjtF,OAAL,OACEgpF,QAAQ,CAACr4G,IAAD,CAAR,IAAkBA,IAAI,CAACqvB,OAAL,EAAnB,IAAsCuyG,WAAW,CAAC5hI,IAAD,CAAX,CAAkBqvB,OAAlB,EADvC,CADJ,EAGE;AACE,aAAO40G,cAAc,CAAC;AAAE1jD,QAAAA,EAAE,EAAE,IAAN;AAAYnvJ,QAAAA,IAAI,EAAE4uE;AAAlB,OAAD,CAAd,CACFirH,MADE,CACK,KAAKA,MAAL,EADL,EAEFkf,QAFE,CAEO,CAAC7tB,aAFR,CAAP;AAGH,KAPD,MAOO;AACH,aAAO,KAAK0S,UAAL,GAAkBhN,WAAlB,EAAP;AACH;AACJ;;AAED,WAASooB,OAAT,CAAiB9tB,aAAjB,EAAgC;AAC5B,WAAO,KAAKlrL,IAAL,CAAUwwM,WAAW,EAArB,EAAyBtlB,aAAzB,CAAP;AACH;;AAED,WAAS/7B,EAAT,CAAYvgF,IAAZ,EAAkBs8G,aAAlB,EAAiC;AAC7B,QACI,KAAKjtF,OAAL,OACEgpF,QAAQ,CAACr4G,IAAD,CAAR,IAAkBA,IAAI,CAACqvB,OAAL,EAAnB,IAAsCuyG,WAAW,CAAC5hI,IAAD,CAAX,CAAkBqvB,OAAlB,EADvC,CADJ,EAGE;AACE,aAAO40G,cAAc,CAAC;AAAE7yM,QAAAA,IAAI,EAAE,IAAR;AAAcmvJ,QAAAA,EAAE,EAAEvgF;AAAlB,OAAD,CAAd,CACFirH,MADE,CACK,KAAKA,MAAL,EADL,EAEFkf,QAFE,CAEO,CAAC7tB,aAFR,CAAP;AAGH,KAPD,MAOO;AACH,aAAO,KAAK0S,UAAL,GAAkBhN,WAAlB,EAAP;AACH;AACJ;;AAED,WAASqoB,KAAT,CAAe/tB,aAAf,EAA8B;AAC1B,WAAO,KAAK/7B,EAAL,CAAQqhD,WAAW,EAAnB,EAAuBtlB,aAAvB,CAAP;AACH,GAn7HgB,CAq7HjB;AACA;AACA;;;AACA,WAAS2O,MAAT,CAAgBrxL,GAAhB,EAAqB;AACjB,QAAI0wM,aAAJ;;AAEA,QAAI1wM,GAAG,KAAKuM,SAAZ,EAAuB;AACnB,aAAO,KAAKinL,OAAL,CAAa4P,KAApB;AACH,KAFD,MAEO;AACHsN,MAAAA,aAAa,GAAGpN,SAAS,CAACtjM,GAAD,CAAzB;;AACA,UAAI0wM,aAAa,IAAI,IAArB,EAA2B;AACvB,aAAKld,OAAL,GAAekd,aAAf;AACH;;AACD,aAAO,IAAP;AACH;AACJ;;AAED,MAAIvgO,IAAI,GAAGwjN,SAAS,CAChB,iJADgB,EAEhB,UAAU3zL,GAAV,EAAe;AACX,QAAIA,GAAG,KAAKuM,SAAZ,EAAuB;AACnB,aAAO,KAAK6oL,UAAL,EAAP;AACH,KAFD,MAEO;AACH,aAAO,KAAK/D,MAAL,CAAYrxL,GAAZ,CAAP;AACH;AACJ,GARe,CAApB;;AAWA,WAASo1L,UAAT,GAAsB;AAClB,WAAO,KAAK5B,OAAZ;AACH;;AAED,MAAImd,aAAa,GAAG,IAApB;AAAA,MACIC,aAAa,GAAG,KAAKD,aADzB;AAAA,MAEIE,WAAW,GAAG,KAAKD,aAFvB;AAAA,MAGIE,gBAAgB,GAAG,CAAC,MAAM,GAAN,GAAY,EAAb,IAAmB,EAAnB,GAAwBD,WAH/C,CAr9HiB,CA09HjB;;AACA,WAASE,KAAT,CAAeC,QAAf,EAAyBC,OAAzB,EAAkC;AAC9B,WAAO,CAAED,QAAQ,GAAGC,OAAZ,GAAuBA,OAAxB,IAAmCA,OAA1C;AACH;;AAED,WAASC,gBAAT,CAA0BjrM,CAA1B,EAA6BS,CAA7B,EAAgC5C,CAAhC,EAAmC;AAC/B;AACA,QAAImC,CAAC,GAAG,GAAJ,IAAWA,CAAC,IAAI,CAApB,EAAuB;AACnB;AACA,aAAO,IAAIgc,IAAJ,CAAShc,CAAC,GAAG,GAAb,EAAkBS,CAAlB,EAAqB5C,CAArB,IAA0BgtM,gBAAjC;AACH,KAHD,MAGO;AACH,aAAO,IAAI7uL,IAAJ,CAAShc,CAAT,EAAYS,CAAZ,EAAe5C,CAAf,EAAkBqtL,OAAlB,EAAP;AACH;AACJ;;AAED,WAASggB,cAAT,CAAwBlrM,CAAxB,EAA2BS,CAA3B,EAA8B5C,CAA9B,EAAiC;AAC7B;AACA,QAAImC,CAAC,GAAG,GAAJ,IAAWA,CAAC,IAAI,CAApB,EAAuB;AACnB;AACA,aAAOgc,IAAI,CAACo7K,GAAL,CAASp3L,CAAC,GAAG,GAAb,EAAkBS,CAAlB,EAAqB5C,CAArB,IAA0BgtM,gBAAjC;AACH,KAHD,MAGO;AACH,aAAO7uL,IAAI,CAACo7K,GAAL,CAASp3L,CAAT,EAAYS,CAAZ,EAAe5C,CAAf,CAAP;AACH;AACJ;;AAED,WAAS+qM,OAAT,CAAiBpjB,KAAjB,EAAwB;AACpB,QAAIrlH,IAAJ,EAAUgrI,WAAV;AACA3lB,IAAAA,KAAK,GAAGkL,cAAc,CAAClL,KAAD,CAAtB;;AACA,QAAIA,KAAK,KAAKl/K,SAAV,IAAuBk/K,KAAK,KAAK,aAAjC,IAAkD,CAAC,KAAKh2F,OAAL,EAAvD,EAAuE;AACnE,aAAO,IAAP;AACH;;AAED27G,IAAAA,WAAW,GAAG,KAAKlyB,MAAL,GAAciyB,cAAd,GAA+BD,gBAA7C;;AAEA,YAAQzlB,KAAR;AACI,WAAK,MAAL;AACIrlH,QAAAA,IAAI,GAAGgrI,WAAW,CAAC,KAAK/Z,IAAL,EAAD,EAAc,CAAd,EAAiB,CAAjB,CAAlB;AACA;;AACJ,WAAK,SAAL;AACIjxH,QAAAA,IAAI,GAAGgrI,WAAW,CACd,KAAK/Z,IAAL,EADc,EAEd,KAAKhQ,KAAL,KAAgB,KAAKA,KAAL,KAAe,CAFjB,EAGd,CAHc,CAAlB;AAKA;;AACJ,WAAK,OAAL;AACIjhH,QAAAA,IAAI,GAAGgrI,WAAW,CAAC,KAAK/Z,IAAL,EAAD,EAAc,KAAKhQ,KAAL,EAAd,EAA4B,CAA5B,CAAlB;AACA;;AACJ,WAAK,MAAL;AACIjhH,QAAAA,IAAI,GAAGgrI,WAAW,CACd,KAAK/Z,IAAL,EADc,EAEd,KAAKhQ,KAAL,EAFc,EAGd,KAAKxiG,IAAL,KAAc,KAAK+4G,OAAL,EAHA,CAAlB;AAKA;;AACJ,WAAK,SAAL;AACIx3H,QAAAA,IAAI,GAAGgrI,WAAW,CACd,KAAK/Z,IAAL,EADc,EAEd,KAAKhQ,KAAL,EAFc,EAGd,KAAKxiG,IAAL,MAAe,KAAKwsH,UAAL,KAAoB,CAAnC,CAHc,CAAlB;AAKA;;AACJ,WAAK,KAAL;AACA,WAAK,MAAL;AACIjrI,QAAAA,IAAI,GAAGgrI,WAAW,CAAC,KAAK/Z,IAAL,EAAD,EAAc,KAAKhQ,KAAL,EAAd,EAA4B,KAAKxiG,IAAL,EAA5B,CAAlB;AACA;;AACJ,WAAK,MAAL;AACIze,QAAAA,IAAI,GAAG,KAAKh5B,EAAL,CAAQ+jJ,OAAR,EAAP;AACA/qH,QAAAA,IAAI,IAAI2qI,KAAK,CACT3qI,IAAI,IAAI,KAAK84G,MAAL,GAAc,CAAd,GAAkB,KAAK7E,SAAL,KAAmBu2B,aAAzC,CADK,EAETC,WAFS,CAAb;AAIA;;AACJ,WAAK,QAAL;AACIzqI,QAAAA,IAAI,GAAG,KAAKh5B,EAAL,CAAQ+jJ,OAAR,EAAP;AACA/qH,QAAAA,IAAI,IAAI2qI,KAAK,CAAC3qI,IAAD,EAAOwqI,aAAP,CAAb;AACA;;AACJ,WAAK,QAAL;AACIxqI,QAAAA,IAAI,GAAG,KAAKh5B,EAAL,CAAQ+jJ,OAAR,EAAP;AACA/qH,QAAAA,IAAI,IAAI2qI,KAAK,CAAC3qI,IAAD,EAAOuqI,aAAP,CAAb;AACA;AA9CR;;AAiDA,SAAKvjK,EAAL,CAAQguF,OAAR,CAAgBh1D,IAAhB;;AACAywD,IAAAA,KAAK,CAACkoD,YAAN,CAAmB,IAAnB,EAAyB,IAAzB;AACA,WAAO,IAAP;AACH;;AAED,WAASiwB,KAAT,CAAevjB,KAAf,EAAsB;AAClB,QAAIrlH,IAAJ,EAAUgrI,WAAV;AACA3lB,IAAAA,KAAK,GAAGkL,cAAc,CAAClL,KAAD,CAAtB;;AACA,QAAIA,KAAK,KAAKl/K,SAAV,IAAuBk/K,KAAK,KAAK,aAAjC,IAAkD,CAAC,KAAKh2F,OAAL,EAAvD,EAAuE;AACnE,aAAO,IAAP;AACH;;AAED27G,IAAAA,WAAW,GAAG,KAAKlyB,MAAL,GAAciyB,cAAd,GAA+BD,gBAA7C;;AAEA,YAAQzlB,KAAR;AACI,WAAK,MAAL;AACIrlH,QAAAA,IAAI,GAAGgrI,WAAW,CAAC,KAAK/Z,IAAL,KAAc,CAAf,EAAkB,CAAlB,EAAqB,CAArB,CAAX,GAAqC,CAA5C;AACA;;AACJ,WAAK,SAAL;AACIjxH,QAAAA,IAAI,GACAgrI,WAAW,CACP,KAAK/Z,IAAL,EADO,EAEP,KAAKhQ,KAAL,KAAgB,KAAKA,KAAL,KAAe,CAA/B,GAAoC,CAF7B,EAGP,CAHO,CAAX,GAII,CALR;AAMA;;AACJ,WAAK,OAAL;AACIjhH,QAAAA,IAAI,GAAGgrI,WAAW,CAAC,KAAK/Z,IAAL,EAAD,EAAc,KAAKhQ,KAAL,KAAe,CAA7B,EAAgC,CAAhC,CAAX,GAAgD,CAAvD;AACA;;AACJ,WAAK,MAAL;AACIjhH,QAAAA,IAAI,GACAgrI,WAAW,CACP,KAAK/Z,IAAL,EADO,EAEP,KAAKhQ,KAAL,EAFO,EAGP,KAAKxiG,IAAL,KAAc,KAAK+4G,OAAL,EAAd,GAA+B,CAHxB,CAAX,GAII,CALR;AAMA;;AACJ,WAAK,SAAL;AACIx3H,QAAAA,IAAI,GACAgrI,WAAW,CACP,KAAK/Z,IAAL,EADO,EAEP,KAAKhQ,KAAL,EAFO,EAGP,KAAKxiG,IAAL,MAAe,KAAKwsH,UAAL,KAAoB,CAAnC,IAAwC,CAHjC,CAAX,GAII,CALR;AAMA;;AACJ,WAAK,KAAL;AACA,WAAK,MAAL;AACIjrI,QAAAA,IAAI,GAAGgrI,WAAW,CAAC,KAAK/Z,IAAL,EAAD,EAAc,KAAKhQ,KAAL,EAAd,EAA4B,KAAKxiG,IAAL,KAAc,CAA1C,CAAX,GAA0D,CAAjE;AACA;;AACJ,WAAK,MAAL;AACIze,QAAAA,IAAI,GAAG,KAAKh5B,EAAL,CAAQ+jJ,OAAR,EAAP;AACA/qH,QAAAA,IAAI,IACAyqI,WAAW,GACXE,KAAK,CACD3qI,IAAI,IAAI,KAAK84G,MAAL,GAAc,CAAd,GAAkB,KAAK7E,SAAL,KAAmBu2B,aAAzC,CADH,EAEDC,WAFC,CADL,GAKA,CANJ;AAOA;;AACJ,WAAK,QAAL;AACIzqI,QAAAA,IAAI,GAAG,KAAKh5B,EAAL,CAAQ+jJ,OAAR,EAAP;AACA/qH,QAAAA,IAAI,IAAIwqI,aAAa,GAAGG,KAAK,CAAC3qI,IAAD,EAAOwqI,aAAP,CAArB,GAA6C,CAArD;AACA;;AACJ,WAAK,QAAL;AACIxqI,QAAAA,IAAI,GAAG,KAAKh5B,EAAL,CAAQ+jJ,OAAR,EAAP;AACA/qH,QAAAA,IAAI,IAAIuqI,aAAa,GAAGI,KAAK,CAAC3qI,IAAD,EAAOuqI,aAAP,CAArB,GAA6C,CAArD;AACA;AApDR;;AAuDA,SAAKvjK,EAAL,CAAQguF,OAAR,CAAgBh1D,IAAhB;;AACAywD,IAAAA,KAAK,CAACkoD,YAAN,CAAmB,IAAnB,EAAyB,IAAzB;AACA,WAAO,IAAP;AACH;;AAED,WAASoS,OAAT,GAAmB;AACf,WAAO,KAAK/jJ,EAAL,CAAQ+jJ,OAAR,KAAoB,CAAC,KAAKoC,OAAL,IAAgB,CAAjB,IAAsB,KAAjD;AACH;;AAED,WAASvgM,IAAT,GAAgB;AACZ,WAAOojC,IAAI,CAACkwC,KAAL,CAAW,KAAK6qH,OAAL,KAAiB,IAA5B,CAAP;AACH;;AAED,WAAS+e,MAAT,GAAkB;AACd,WAAO,IAAIjuL,IAAJ,CAAS,KAAKkvK,OAAL,EAAT,CAAP;AACH;;AAED,WAASt3G,OAAT,GAAmB;AACf,QAAInzE,CAAC,GAAG,IAAR;AACA,WAAO,CACHA,CAAC,CAAC2wL,IAAF,EADG,EAEH3wL,CAAC,CAAC2gL,KAAF,EAFG,EAGH3gL,CAAC,CAACm+E,IAAF,EAHG,EAIHn+E,CAAC,CAACwqG,IAAF,EAJG,EAKHxqG,CAAC,CAACo8K,MAAF,EALG,EAMHp8K,CAAC,CAAC0iM,MAAF,EANG,EAOH1iM,CAAC,CAAC2iM,WAAF,EAPG,CAAP;AASH;;AAED,WAAShtL,QAAT,GAAoB;AAChB,QAAI3V,CAAC,GAAG,IAAR;AACA,WAAO;AACH4jM,MAAAA,KAAK,EAAE5jM,CAAC,CAAC2wL,IAAF,EADJ;AAEHtX,MAAAA,MAAM,EAAEr5K,CAAC,CAAC2gL,KAAF,EAFL;AAGHxiG,MAAAA,IAAI,EAAEn+E,CAAC,CAACm+E,IAAF,EAHH;AAIH07F,MAAAA,KAAK,EAAE75K,CAAC,CAAC65K,KAAF,EAJJ;AAKHC,MAAAA,OAAO,EAAE95K,CAAC,CAAC85K,OAAF,EALN;AAMHihB,MAAAA,OAAO,EAAE/6L,CAAC,CAAC+6L,OAAF,EANN;AAOHkJ,MAAAA,YAAY,EAAEjkM,CAAC,CAACikM,YAAF;AAPX,KAAP;AASH;;AAED,WAASjsH,MAAT,GAAkB;AACd;AACA,WAAO,KAAK+W,OAAL,KAAiB,KAAK/kG,WAAL,EAAjB,GAAsC,IAA7C;AACH;;AAED,WAAS4gN,SAAT,GAAqB;AACjB,WAAO77G,OAAO,CAAC,IAAD,CAAd;AACH;;AAED,WAAS87G,YAAT,GAAwB;AACpB,WAAOrgB,MAAM,CAAC,EAAD,EAAKqB,eAAe,CAAC,IAAD,CAApB,CAAb;AACH;;AAED,WAASif,SAAT,GAAqB;AACjB,WAAOjf,eAAe,CAAC,IAAD,CAAf,CAAsBz/G,QAA7B;AACH;;AAED,WAAS2+H,YAAT,GAAwB;AACpB,WAAO;AACHh/K,MAAAA,KAAK,EAAE,KAAKo+B,EADT;AAEH9hE,MAAAA,MAAM,EAAE,KAAK8zD,EAFV;AAGHwuI,MAAAA,MAAM,EAAE,KAAKmC,OAHV;AAIHiW,MAAAA,KAAK,EAAE,KAAKvqB,MAJT;AAKHoS,MAAAA,MAAM,EAAE,KAAKuB;AALV,KAAP;AAOH;;AAEDqC,EAAAA,cAAc,CAAC,GAAD,EAAM,CAAN,EAAS,CAAT,EAAY,SAAZ,CAAd;AACAA,EAAAA,cAAc,CAAC,IAAD,EAAO,CAAP,EAAU,CAAV,EAAa,SAAb,CAAd;AACAA,EAAAA,cAAc,CAAC,KAAD,EAAQ,CAAR,EAAW,CAAX,EAAc,SAAd,CAAd;AACAA,EAAAA,cAAc,CAAC,MAAD,EAAS,CAAT,EAAY,CAAZ,EAAe,SAAf,CAAd;AACAA,EAAAA,cAAc,CAAC,OAAD,EAAU,CAAV,EAAa,CAAb,EAAgB,WAAhB,CAAd;AAEAA,EAAAA,cAAc,CAAC,GAAD,EAAM,CAAC,GAAD,EAAM,CAAN,CAAN,EAAgB,IAAhB,EAAsB,SAAtB,CAAd;AACAA,EAAAA,cAAc,CAAC,GAAD,EAAM,CAAC,IAAD,EAAO,CAAP,CAAN,EAAiB,CAAjB,EAAoB,SAApB,CAAd;AACAA,EAAAA,cAAc,CAAC,GAAD,EAAM,CAAC,KAAD,EAAQ,CAAR,CAAN,EAAkB,CAAlB,EAAqB,SAArB,CAAd;AACAA,EAAAA,cAAc,CAAC,GAAD,EAAM,CAAC,MAAD,EAAS,CAAT,CAAN,EAAmB,CAAnB,EAAsB,SAAtB,CAAd;AAEAkE,EAAAA,aAAa,CAAC,GAAD,EAAMsY,YAAN,CAAb;AACAtY,EAAAA,aAAa,CAAC,IAAD,EAAOsY,YAAP,CAAb;AACAtY,EAAAA,aAAa,CAAC,KAAD,EAAQsY,YAAR,CAAb;AACAtY,EAAAA,aAAa,CAAC,MAAD,EAASuY,YAAT,CAAb;AACAvY,EAAAA,aAAa,CAAC,OAAD,EAAUwY,cAAV,CAAb;AAEA7X,EAAAA,aAAa,CACT,CAAC,GAAD,EAAM,IAAN,EAAY,KAAZ,EAAmB,MAAnB,EAA2B,OAA3B,CADS,EAET,UAAUtnK,KAAV,EAAiB06C,KAAjB,EAAwBvzG,MAAxB,EAAgC0gC,KAAhC,EAAuC;AACnC,QAAI83L,GAAG,GAAGx4N,MAAM,CAAC45N,OAAP,CAAeqe,SAAf,CAAyBp/K,KAAzB,EAAgCn4B,KAAhC,EAAuC1gC,MAAM,CAACi5N,OAA9C,CAAV;;AACA,QAAIT,GAAJ,EAAS;AACLG,MAAAA,eAAe,CAAC34N,MAAD,CAAf,CAAwBw4N,GAAxB,GAA8BA,GAA9B;AACH,KAFD,MAEO;AACHG,MAAAA,eAAe,CAAC34N,MAAD,CAAf,CAAwBk4N,UAAxB,GAAqCr/J,KAArC;AACH;AACJ,GATQ,CAAb;AAYA2mK,EAAAA,aAAa,CAAC,GAAD,EAAMP,aAAN,CAAb;AACAO,EAAAA,aAAa,CAAC,IAAD,EAAOP,aAAP,CAAb;AACAO,EAAAA,aAAa,CAAC,KAAD,EAAQP,aAAR,CAAb;AACAO,EAAAA,aAAa,CAAC,MAAD,EAASP,aAAT,CAAb;AACAO,EAAAA,aAAa,CAAC,IAAD,EAAO0Y,mBAAP,CAAb;AAEA/X,EAAAA,aAAa,CAAC,CAAC,GAAD,EAAM,IAAN,EAAY,KAAZ,EAAmB,MAAnB,CAAD,EAA6BK,IAA7B,CAAb;AACAL,EAAAA,aAAa,CAAC,CAAC,IAAD,CAAD,EAAS,UAAUtnK,KAAV,EAAiB06C,KAAjB,EAAwBvzG,MAAxB,EAAgC0gC,KAAhC,EAAuC;AACzD,QAAI8pD,KAAJ;;AACA,QAAIxqF,MAAM,CAAC45N,OAAP,CAAeue,oBAAnB,EAAyC;AACrC3tJ,MAAAA,KAAK,GAAG3xB,KAAK,CAAC2xB,KAAN,CAAYxqF,MAAM,CAAC45N,OAAP,CAAeue,oBAA3B,CAAR;AACH;;AAED,QAAIn4O,MAAM,CAAC45N,OAAP,CAAejJ,mBAAnB,EAAwC;AACpCp9G,MAAAA,KAAK,CAACitH,IAAD,CAAL,GAAcxgO,MAAM,CAAC45N,OAAP,CAAejJ,mBAAf,CAAmC93J,KAAnC,EAA0C2xB,KAA1C,CAAd;AACH,KAFD,MAEO;AACH+oB,MAAAA,KAAK,CAACitH,IAAD,CAAL,GAAct8L,QAAQ,CAAC20B,KAAD,EAAQ,EAAR,CAAtB;AACH;AACJ,GAXY,CAAb;;AAaA,WAASu/K,UAAT,CAAoBtrM,CAApB,EAAuB3X,MAAvB,EAA+B;AAC3B,QAAIle,CAAJ;AAAA,QACIu1M,CADJ;AAAA,QAEIvhG,IAFJ;AAAA,QAGIslG,IAAI,GAAG,KAAK8nB,KAAL,IAAc3O,SAAS,CAAC,IAAD,CAAT,CAAgB2O,KAHzC;;AAIA,SAAKphO,CAAC,GAAG,CAAJ,EAAOu1M,CAAC,GAAG+D,IAAI,CAACtjN,MAArB,EAA6BgK,CAAC,GAAGu1M,CAAjC,EAAoC,EAAEv1M,CAAtC,EAAyC;AACrC,cAAQ,OAAOs5M,IAAI,CAACt5M,CAAD,CAAJ,CAAQu5M,KAAvB;AACI,aAAK,QAAL;AACI;AACAvlG,UAAAA,IAAI,GAAGgyC,KAAK,CAACszD,IAAI,CAACt5M,CAAD,CAAJ,CAAQu5M,KAAT,CAAL,CAAqBykB,OAArB,CAA6B,KAA7B,CAAP;AACA1kB,UAAAA,IAAI,CAACt5M,CAAD,CAAJ,CAAQu5M,KAAR,GAAgBvlG,IAAI,CAACssG,OAAL,EAAhB;AACA;AALR;;AAQA,cAAQ,OAAOhH,IAAI,CAACt5M,CAAD,CAAJ,CAAQI,KAAvB;AACI,aAAK,WAAL;AACIk5M,UAAAA,IAAI,CAACt5M,CAAD,CAAJ,CAAQI,KAAR,GAAgB,CAAC4nM,QAAjB;AACA;;AACJ,aAAK,QAAL;AACI;AACAh0F,UAAAA,IAAI,GAAGgyC,KAAK,CAACszD,IAAI,CAACt5M,CAAD,CAAJ,CAAQI,KAAT,CAAL,CAAqB49N,OAArB,CAA6B,KAA7B,EAAoC1d,OAApC,EAAP;AACAhH,UAAAA,IAAI,CAACt5M,CAAD,CAAJ,CAAQI,KAAR,GAAgB4zG,IAAI,CAACssG,OAAL,EAAhB;AACA;AARR;AAUH;;AACD,WAAOhH,IAAP;AACH;;AAED,WAAS+nB,eAAT,CAAyBC,OAAzB,EAAkCpjN,MAAlC,EAA0CuiM,MAA1C,EAAkD;AAC9C,QAAIzgN,CAAJ;AAAA,QACIu1M,CADJ;AAAA,QAEI+D,IAAI,GAAG,KAAKA,IAAL,EAFX;AAAA,QAGIz/M,IAHJ;AAAA,QAIIyvM,IAJJ;AAAA,QAKIkQ,MALJ;AAMA8nB,IAAAA,OAAO,GAAGA,OAAO,CAAC51I,WAAR,EAAV;;AAEA,SAAK1rF,CAAC,GAAG,CAAJ,EAAOu1M,CAAC,GAAG+D,IAAI,CAACtjN,MAArB,EAA6BgK,CAAC,GAAGu1M,CAAjC,EAAoC,EAAEv1M,CAAtC,EAAyC;AACrCnG,MAAAA,IAAI,GAAGy/M,IAAI,CAACt5M,CAAD,CAAJ,CAAQnG,IAAR,CAAa6xF,WAAb,EAAP;AACA49G,MAAAA,IAAI,GAAGgQ,IAAI,CAACt5M,CAAD,CAAJ,CAAQspM,IAAR,CAAa59G,WAAb,EAAP;AACA8tH,MAAAA,MAAM,GAAGF,IAAI,CAACt5M,CAAD,CAAJ,CAAQw5M,MAAR,CAAe9tH,WAAf,EAAT;;AAEA,UAAI+0H,MAAJ,EAAY;AACR,gBAAQviM,MAAR;AACI,eAAK,GAAL;AACA,eAAK,IAAL;AACA,eAAK,KAAL;AACI,gBAAIorL,IAAI,KAAKg4B,OAAb,EAAsB;AAClB,qBAAOhoB,IAAI,CAACt5M,CAAD,CAAX;AACH;;AACD;;AAEJ,eAAK,MAAL;AACI,gBAAInG,IAAI,KAAKynO,OAAb,EAAsB;AAClB,qBAAOhoB,IAAI,CAACt5M,CAAD,CAAX;AACH;;AACD;;AAEJ,eAAK,OAAL;AACI,gBAAIw5M,MAAM,KAAK8nB,OAAf,EAAwB;AACpB,qBAAOhoB,IAAI,CAACt5M,CAAD,CAAX;AACH;;AACD;AAnBR;AAqBH,OAtBD,MAsBO,IAAI,CAACnG,IAAD,EAAOyvM,IAAP,EAAakQ,MAAb,EAAqB/3M,OAArB,CAA6B6/N,OAA7B,KAAyC,CAA7C,EAAgD;AACnD,eAAOhoB,IAAI,CAACt5M,CAAD,CAAX;AACH;AACJ;AACJ;;AAED,WAASuhO,qBAAT,CAA+BhgB,GAA/B,EAAoCiF,IAApC,EAA0C;AACtC,QAAIgb,GAAG,GAAGjgB,GAAG,CAAChI,KAAJ,IAAagI,GAAG,CAACnhN,KAAjB,GAAyB,CAAC,CAA1B,GAA8B,CAAC,CAAzC;;AACA,QAAIomN,IAAI,KAAK9qL,SAAb,EAAwB;AACpB,aAAOsqH,KAAK,CAACu7D,GAAG,CAAChI,KAAL,CAAL,CAAiBiN,IAAjB,EAAP;AACH,KAFD,MAEO;AACH,aAAOxgE,KAAK,CAACu7D,GAAG,CAAChI,KAAL,CAAL,CAAiBiN,IAAjB,KAA0B,CAACA,IAAI,GAAGjF,GAAG,CAAC76G,MAAZ,IAAsB86H,GAAvD;AACH;AACJ;;AAED,WAASC,UAAT,GAAsB;AAClB,QAAIzhO,CAAJ;AAAA,QACIu1M,CADJ;AAAA,QAEIh5G,GAFJ;AAAA,QAGI+8G,IAAI,GAAG,KAAKiL,UAAL,GAAkBjL,IAAlB,EAHX;;AAIA,SAAKt5M,CAAC,GAAG,CAAJ,EAAOu1M,CAAC,GAAG+D,IAAI,CAACtjN,MAArB,EAA6BgK,CAAC,GAAGu1M,CAAjC,EAAoC,EAAEv1M,CAAtC,EAAyC;AACrC;AACAu8F,MAAAA,GAAG,GAAG,KAAKtzE,KAAL,GAAa+0M,OAAb,CAAqB,KAArB,EAA4B1d,OAA5B,EAAN;;AAEA,UAAIhH,IAAI,CAACt5M,CAAD,CAAJ,CAAQu5M,KAAR,IAAiBh9G,GAAjB,IAAwBA,GAAG,IAAI+8G,IAAI,CAACt5M,CAAD,CAAJ,CAAQI,KAA3C,EAAkD;AAC9C,eAAOk5M,IAAI,CAACt5M,CAAD,CAAJ,CAAQnG,IAAf;AACH;;AACD,UAAIy/M,IAAI,CAACt5M,CAAD,CAAJ,CAAQI,KAAR,IAAiBm8F,GAAjB,IAAwBA,GAAG,IAAI+8G,IAAI,CAACt5M,CAAD,CAAJ,CAAQu5M,KAA3C,EAAkD;AAC9C,eAAOD,IAAI,CAACt5M,CAAD,CAAJ,CAAQnG,IAAf;AACH;AACJ;;AAED,WAAO,EAAP;AACH;;AAED,WAAS6nO,YAAT,GAAwB;AACpB,QAAI1hO,CAAJ;AAAA,QACIu1M,CADJ;AAAA,QAEIh5G,GAFJ;AAAA,QAGI+8G,IAAI,GAAG,KAAKiL,UAAL,GAAkBjL,IAAlB,EAHX;;AAIA,SAAKt5M,CAAC,GAAG,CAAJ,EAAOu1M,CAAC,GAAG+D,IAAI,CAACtjN,MAArB,EAA6BgK,CAAC,GAAGu1M,CAAjC,EAAoC,EAAEv1M,CAAtC,EAAyC;AACrC;AACAu8F,MAAAA,GAAG,GAAG,KAAKtzE,KAAL,GAAa+0M,OAAb,CAAqB,KAArB,EAA4B1d,OAA5B,EAAN;;AAEA,UAAIhH,IAAI,CAACt5M,CAAD,CAAJ,CAAQu5M,KAAR,IAAiBh9G,GAAjB,IAAwBA,GAAG,IAAI+8G,IAAI,CAACt5M,CAAD,CAAJ,CAAQI,KAA3C,EAAkD;AAC9C,eAAOk5M,IAAI,CAACt5M,CAAD,CAAJ,CAAQw5M,MAAf;AACH;;AACD,UAAIF,IAAI,CAACt5M,CAAD,CAAJ,CAAQI,KAAR,IAAiBm8F,GAAjB,IAAwBA,GAAG,IAAI+8G,IAAI,CAACt5M,CAAD,CAAJ,CAAQu5M,KAA3C,EAAkD;AAC9C,eAAOD,IAAI,CAACt5M,CAAD,CAAJ,CAAQw5M,MAAf;AACH;AACJ;;AAED,WAAO,EAAP;AACH;;AAED,WAASmoB,UAAT,GAAsB;AAClB,QAAI3hO,CAAJ;AAAA,QACIu1M,CADJ;AAAA,QAEIh5G,GAFJ;AAAA,QAGI+8G,IAAI,GAAG,KAAKiL,UAAL,GAAkBjL,IAAlB,EAHX;;AAIA,SAAKt5M,CAAC,GAAG,CAAJ,EAAOu1M,CAAC,GAAG+D,IAAI,CAACtjN,MAArB,EAA6BgK,CAAC,GAAGu1M,CAAjC,EAAoC,EAAEv1M,CAAtC,EAAyC;AACrC;AACAu8F,MAAAA,GAAG,GAAG,KAAKtzE,KAAL,GAAa+0M,OAAb,CAAqB,KAArB,EAA4B1d,OAA5B,EAAN;;AAEA,UAAIhH,IAAI,CAACt5M,CAAD,CAAJ,CAAQu5M,KAAR,IAAiBh9G,GAAjB,IAAwBA,GAAG,IAAI+8G,IAAI,CAACt5M,CAAD,CAAJ,CAAQI,KAA3C,EAAkD;AAC9C,eAAOk5M,IAAI,CAACt5M,CAAD,CAAJ,CAAQspM,IAAf;AACH;;AACD,UAAIgQ,IAAI,CAACt5M,CAAD,CAAJ,CAAQI,KAAR,IAAiBm8F,GAAjB,IAAwBA,GAAG,IAAI+8G,IAAI,CAACt5M,CAAD,CAAJ,CAAQu5M,KAA3C,EAAkD;AAC9C,eAAOD,IAAI,CAACt5M,CAAD,CAAJ,CAAQspM,IAAf;AACH;AACJ;;AAED,WAAO,EAAP;AACH;;AAED,WAASs4B,UAAT,GAAsB;AAClB,QAAI5hO,CAAJ;AAAA,QACIu1M,CADJ;AAAA,QAEIisB,GAFJ;AAAA,QAGIjlI,GAHJ;AAAA,QAII+8G,IAAI,GAAG,KAAKiL,UAAL,GAAkBjL,IAAlB,EAJX;;AAKA,SAAKt5M,CAAC,GAAG,CAAJ,EAAOu1M,CAAC,GAAG+D,IAAI,CAACtjN,MAArB,EAA6BgK,CAAC,GAAGu1M,CAAjC,EAAoC,EAAEv1M,CAAtC,EAAyC;AACrCwhO,MAAAA,GAAG,GAAGloB,IAAI,CAACt5M,CAAD,CAAJ,CAAQu5M,KAAR,IAAiBD,IAAI,CAACt5M,CAAD,CAAJ,CAAQI,KAAzB,GAAiC,CAAC,CAAlC,GAAsC,CAAC,CAA7C,CADqC,CAGrC;;AACAm8F,MAAAA,GAAG,GAAG,KAAKtzE,KAAL,GAAa+0M,OAAb,CAAqB,KAArB,EAA4B1d,OAA5B,EAAN;;AAEA,UACKhH,IAAI,CAACt5M,CAAD,CAAJ,CAAQu5M,KAAR,IAAiBh9G,GAAjB,IAAwBA,GAAG,IAAI+8G,IAAI,CAACt5M,CAAD,CAAJ,CAAQI,KAAxC,IACCk5M,IAAI,CAACt5M,CAAD,CAAJ,CAAQI,KAAR,IAAiBm8F,GAAjB,IAAwBA,GAAG,IAAI+8G,IAAI,CAACt5M,CAAD,CAAJ,CAAQu5M,KAF5C,EAGE;AACE,eACI,CAAC,KAAKiN,IAAL,KAAcxgE,KAAK,CAACszD,IAAI,CAACt5M,CAAD,CAAJ,CAAQu5M,KAAT,CAAL,CAAqBiN,IAArB,EAAf,IAA8Cgb,GAA9C,GACAloB,IAAI,CAACt5M,CAAD,CAAJ,CAAQ0mG,MAFZ;AAIH;AACJ;;AAED,WAAO,KAAK8/G,IAAL,EAAP;AACH;;AAED,WAASqb,aAAT,CAAuBpZ,QAAvB,EAAiC;AAC7B,QAAI,CAACxI,UAAU,CAAC,IAAD,EAAO,gBAAP,CAAf,EAAyC;AACrC6hB,MAAAA,gBAAgB,CAACtvM,IAAjB,CAAsB,IAAtB;AACH;;AACD,WAAOi2L,QAAQ,GAAG,KAAKsZ,cAAR,GAAyB,KAAKC,UAA7C;AACH;;AAED,WAASC,aAAT,CAAuBxZ,QAAvB,EAAiC;AAC7B,QAAI,CAACxI,UAAU,CAAC,IAAD,EAAO,gBAAP,CAAf,EAAyC;AACrC6hB,MAAAA,gBAAgB,CAACtvM,IAAjB,CAAsB,IAAtB;AACH;;AACD,WAAOi2L,QAAQ,GAAG,KAAKyZ,cAAR,GAAyB,KAAKF,UAA7C;AACH;;AAED,WAASG,eAAT,CAAyB1Z,QAAzB,EAAmC;AAC/B,QAAI,CAACxI,UAAU,CAAC,IAAD,EAAO,kBAAP,CAAf,EAA2C;AACvC6hB,MAAAA,gBAAgB,CAACtvM,IAAjB,CAAsB,IAAtB;AACH;;AACD,WAAOi2L,QAAQ,GAAG,KAAK2Z,gBAAR,GAA2B,KAAKJ,UAA/C;AACH;;AAED,WAASnB,YAAT,CAAsBpY,QAAtB,EAAgCjI,MAAhC,EAAwC;AACpC,WAAOA,MAAM,CAACyhB,aAAP,CAAqBxZ,QAArB,CAAP;AACH;;AAED,WAASqY,YAAT,CAAsBrY,QAAtB,EAAgCjI,MAAhC,EAAwC;AACpC,WAAOA,MAAM,CAACqhB,aAAP,CAAqBpZ,QAArB,CAAP;AACH;;AAED,WAASsY,cAAT,CAAwBtY,QAAxB,EAAkCjI,MAAlC,EAA0C;AACtC,WAAOA,MAAM,CAAC2hB,eAAP,CAAuB1Z,QAAvB,CAAP;AACH;;AAED,WAASwY,mBAAT,CAA6BxY,QAA7B,EAAuCjI,MAAvC,EAA+C;AAC3C,WAAOA,MAAM,CAAC0gB,oBAAP,IAA+BlZ,aAAtC;AACH;;AAED,WAAS8Z,gBAAT,GAA4B;AACxB,QAAIO,UAAU,GAAG,EAAjB;AAAA,QACIC,UAAU,GAAG,EADjB;AAAA,QAEIC,YAAY,GAAG,EAFnB;AAAA,QAGIvW,WAAW,GAAG,EAHlB;AAAA,QAIIhsN,CAJJ;AAAA,QAKIu1M,CALJ;AAAA,QAMI+D,IAAI,GAAG,KAAKA,IAAL,EANX;;AAQA,SAAKt5M,CAAC,GAAG,CAAJ,EAAOu1M,CAAC,GAAG+D,IAAI,CAACtjN,MAArB,EAA6BgK,CAAC,GAAGu1M,CAAjC,EAAoC,EAAEv1M,CAAtC,EAAyC;AACrCsiO,MAAAA,UAAU,CAAChzM,IAAX,CAAgBs5L,WAAW,CAACtP,IAAI,CAACt5M,CAAD,CAAJ,CAAQnG,IAAT,CAA3B;AACAwoO,MAAAA,UAAU,CAAC/yM,IAAX,CAAgBs5L,WAAW,CAACtP,IAAI,CAACt5M,CAAD,CAAJ,CAAQspM,IAAT,CAA3B;AACAi5B,MAAAA,YAAY,CAACjzM,IAAb,CAAkBs5L,WAAW,CAACtP,IAAI,CAACt5M,CAAD,CAAJ,CAAQw5M,MAAT,CAA7B;AAEAwS,MAAAA,WAAW,CAAC18L,IAAZ,CAAiBs5L,WAAW,CAACtP,IAAI,CAACt5M,CAAD,CAAJ,CAAQnG,IAAT,CAA5B;AACAmyN,MAAAA,WAAW,CAAC18L,IAAZ,CAAiBs5L,WAAW,CAACtP,IAAI,CAACt5M,CAAD,CAAJ,CAAQspM,IAAT,CAA5B;AACA0iB,MAAAA,WAAW,CAAC18L,IAAZ,CAAiBs5L,WAAW,CAACtP,IAAI,CAACt5M,CAAD,CAAJ,CAAQw5M,MAAT,CAA5B;AACH;;AAED,SAAKwoB,UAAL,GAAkB,IAAIvjN,MAAJ,CAAW,OAAOutM,WAAW,CAAC51N,IAAZ,CAAiB,GAAjB,CAAP,GAA+B,GAA1C,EAA+C,GAA/C,CAAlB;AACA,SAAK2rO,cAAL,GAAsB,IAAItjN,MAAJ,CAAW,OAAO6jN,UAAU,CAAClsO,IAAX,CAAgB,GAAhB,CAAP,GAA8B,GAAzC,EAA8C,GAA9C,CAAtB;AACA,SAAK8rO,cAAL,GAAsB,IAAIzjN,MAAJ,CAAW,OAAO4jN,UAAU,CAACjsO,IAAX,CAAgB,GAAhB,CAAP,GAA8B,GAAzC,EAA8C,GAA9C,CAAtB;AACA,SAAKgsO,gBAAL,GAAwB,IAAI3jN,MAAJ,CACpB,OAAO8jN,YAAY,CAACnsO,IAAb,CAAkB,GAAlB,CAAP,GAAgC,GADZ,EAEpB,GAFoB,CAAxB;AAIH,GA78IgB,CA+8IjB;;;AAEAiuN,EAAAA,cAAc,CAAC,CAAD,EAAI,CAAC,IAAD,EAAO,CAAP,CAAJ,EAAe,CAAf,EAAkB,YAAY;AACxC,WAAO,KAAKuS,QAAL,KAAkB,GAAzB;AACH,GAFa,CAAd;AAIAvS,EAAAA,cAAc,CAAC,CAAD,EAAI,CAAC,IAAD,EAAO,CAAP,CAAJ,EAAe,CAAf,EAAkB,YAAY;AACxC,WAAO,KAAKme,WAAL,KAAqB,GAA5B;AACH,GAFa,CAAd;;AAIA,WAASC,sBAAT,CAAgCh5M,KAAhC,EAAuCi5M,MAAvC,EAA+C;AAC3Cre,IAAAA,cAAc,CAAC,CAAD,EAAI,CAAC56L,KAAD,EAAQA,KAAK,CAACzzB,MAAd,CAAJ,EAA2B,CAA3B,EAA8B0sO,MAA9B,CAAd;AACH;;AAEDD,EAAAA,sBAAsB,CAAC,MAAD,EAAS,UAAT,CAAtB;AACAA,EAAAA,sBAAsB,CAAC,OAAD,EAAU,UAAV,CAAtB;AACAA,EAAAA,sBAAsB,CAAC,MAAD,EAAS,aAAT,CAAtB;AACAA,EAAAA,sBAAsB,CAAC,OAAD,EAAU,aAAV,CAAtB,CAh+IiB,CAk+IjB;;AAEA/c,EAAAA,YAAY,CAAC,UAAD,EAAa,IAAb,CAAZ;AACAA,EAAAA,YAAY,CAAC,aAAD,EAAgB,IAAhB,CAAZ,CAr+IiB,CAu+IjB;;AAEAU,EAAAA,eAAe,CAAC,UAAD,EAAa,CAAb,CAAf;AACAA,EAAAA,eAAe,CAAC,aAAD,EAAgB,CAAhB,CAAf,CA1+IiB,CA4+IjB;;AAEAmC,EAAAA,aAAa,CAAC,GAAD,EAAMN,WAAN,CAAb;AACAM,EAAAA,aAAa,CAAC,GAAD,EAAMN,WAAN,CAAb;AACAM,EAAAA,aAAa,CAAC,IAAD,EAAOb,SAAP,EAAkBJ,MAAlB,CAAb;AACAiB,EAAAA,aAAa,CAAC,IAAD,EAAOb,SAAP,EAAkBJ,MAAlB,CAAb;AACAiB,EAAAA,aAAa,CAAC,MAAD,EAAST,SAAT,EAAoBN,MAApB,CAAb;AACAe,EAAAA,aAAa,CAAC,MAAD,EAAST,SAAT,EAAoBN,MAApB,CAAb;AACAe,EAAAA,aAAa,CAAC,OAAD,EAAUR,SAAV,EAAqBN,MAArB,CAAb;AACAc,EAAAA,aAAa,CAAC,OAAD,EAAUR,SAAV,EAAqBN,MAArB,CAAb;AAEA2B,EAAAA,iBAAiB,CACb,CAAC,MAAD,EAAS,OAAT,EAAkB,MAAlB,EAA0B,OAA1B,CADa,EAEb,UAAUxnK,KAAV,EAAiB2vJ,IAAjB,EAAuBxoN,MAAvB,EAA+B0gC,KAA/B,EAAsC;AAClC8nL,IAAAA,IAAI,CAAC9nL,KAAK,CAAC6+G,MAAN,CAAa,CAAb,EAAgB,CAAhB,CAAD,CAAJ,GAA2Bo+E,KAAK,CAAC9kK,KAAD,CAAhC;AACH,GAJY,CAAjB;AAOAwnK,EAAAA,iBAAiB,CAAC,CAAC,IAAD,EAAO,IAAP,CAAD,EAAe,UAAUxnK,KAAV,EAAiB2vJ,IAAjB,EAAuBxoN,MAAvB,EAA+B0gC,KAA/B,EAAsC;AAClE8nL,IAAAA,IAAI,CAAC9nL,KAAD,CAAJ,GAAcu8H,KAAK,CAACimE,iBAAN,CAAwBrqK,KAAxB,CAAd;AACH,GAFgB,CAAjB,CA9/IiB,CAkgJjB;;AAEA,WAAS+gL,cAAT,CAAwB/gL,KAAxB,EAA+B;AAC3B,WAAOghL,oBAAoB,CAACpwM,IAArB,CACH,IADG,EAEHovB,KAFG,EAGH,KAAK2vJ,IAAL,EAHG,EAIH,KAAKwb,OAAL,EAJG,EAKH,KAAKxI,UAAL,GAAkBmJ,KAAlB,CAAwBlc,GALrB,EAMH,KAAK+S,UAAL,GAAkBmJ,KAAlB,CAAwBjc,GANrB,CAAP;AAQH;;AAED,WAASoxB,iBAAT,CAA2BjhL,KAA3B,EAAkC;AAC9B,WAAOghL,oBAAoB,CAACpwM,IAArB,CACH,IADG,EAEHovB,KAFG,EAGH,KAAKi4K,OAAL,EAHG,EAIH,KAAK2G,UAAL,EAJG,EAKH,CALG,EAMH,CANG,CAAP;AAQH;;AAED,WAASsC,iBAAT,GAA6B;AACzB,WAAOvV,WAAW,CAAC,KAAK/G,IAAL,EAAD,EAAc,CAAd,EAAiB,CAAjB,CAAlB;AACH;;AAED,WAASuc,wBAAT,GAAoC;AAChC,WAAOxV,WAAW,CAAC,KAAKiV,WAAL,EAAD,EAAqB,CAArB,EAAwB,CAAxB,CAAlB;AACH;;AAED,WAASQ,cAAT,GAA0B;AACtB,QAAIC,QAAQ,GAAG,KAAK1e,UAAL,GAAkBmJ,KAAjC;;AACA,WAAOH,WAAW,CAAC,KAAK/G,IAAL,EAAD,EAAcyc,QAAQ,CAACzxB,GAAvB,EAA4ByxB,QAAQ,CAACxxB,GAArC,CAAlB;AACH;;AAED,WAASyxB,kBAAT,GAA8B;AAC1B,QAAID,QAAQ,GAAG,KAAK1e,UAAL,GAAkBmJ,KAAjC;;AACA,WAAOH,WAAW,CAAC,KAAKqJ,QAAL,EAAD,EAAkBqM,QAAQ,CAACzxB,GAA3B,EAAgCyxB,QAAQ,CAACxxB,GAAzC,CAAlB;AACH;;AAED,WAASmxB,oBAAT,CAA8BhhL,KAA9B,EAAqC2vJ,IAArC,EAA2Cwb,OAA3C,EAAoDvb,GAApD,EAAyDC,GAAzD,EAA8D;AAC1D,QAAI0xB,WAAJ;;AACA,QAAIvhL,KAAK,IAAI,IAAb,EAAmB;AACf,aAAOyrK,UAAU,CAAC,IAAD,EAAO7b,GAAP,EAAYC,GAAZ,CAAV,CAA2B+U,IAAlC;AACH,KAFD,MAEO;AACH2c,MAAAA,WAAW,GAAG5V,WAAW,CAAC3rK,KAAD,EAAQ4vJ,GAAR,EAAaC,GAAb,CAAzB;;AACA,UAAIF,IAAI,GAAG4xB,WAAX,EAAwB;AACpB5xB,QAAAA,IAAI,GAAG4xB,WAAP;AACH;;AACD,aAAOC,UAAU,CAAC5wM,IAAX,CAAgB,IAAhB,EAAsBovB,KAAtB,EAA6B2vJ,IAA7B,EAAmCwb,OAAnC,EAA4Cvb,GAA5C,EAAiDC,GAAjD,CAAP;AACH;AACJ;;AAED,WAAS2xB,UAAT,CAAoBxM,QAApB,EAA8BrlB,IAA9B,EAAoCwb,OAApC,EAA6Cvb,GAA7C,EAAkDC,GAAlD,EAAuD;AACnD,QAAI4xB,aAAa,GAAGvW,kBAAkB,CAAC8J,QAAD,EAAWrlB,IAAX,EAAiBwb,OAAjB,EAA0Bvb,GAA1B,EAA+BC,GAA/B,CAAtC;AAAA,QACIz9F,IAAI,GAAGu4G,aAAa,CAAC8W,aAAa,CAAC7c,IAAf,EAAqB,CAArB,EAAwB6c,aAAa,CAACnW,SAAtC,CADxB;AAGA,SAAK1G,IAAL,CAAUxyG,IAAI,CAACu+B,cAAL,EAAV;AACA,SAAKikE,KAAL,CAAWxiG,IAAI,CAACw+B,WAAL,EAAX;AACA,SAAKx+B,IAAL,CAAUA,IAAI,CAACioD,UAAL,EAAV;AACA,WAAO,IAAP;AACH,GAjkJgB,CAmkJjB;;;AAEAooD,EAAAA,cAAc,CAAC,GAAD,EAAM,CAAN,EAAS,IAAT,EAAe,SAAf,CAAd,CArkJiB,CAukJjB;;AAEAqB,EAAAA,YAAY,CAAC,SAAD,EAAY,GAAZ,CAAZ,CAzkJiB,CA2kJjB;;AAEAU,EAAAA,eAAe,CAAC,SAAD,EAAY,CAAZ,CAAf,CA7kJiB,CA+kJjB;;AAEAmC,EAAAA,aAAa,CAAC,GAAD,EAAMlB,MAAN,CAAb;AACA6B,EAAAA,aAAa,CAAC,GAAD,EAAM,UAAUtnK,KAAV,EAAiB06C,KAAjB,EAAwB;AACvCA,IAAAA,KAAK,CAACktH,KAAD,CAAL,GAAe,CAAC9C,KAAK,CAAC9kK,KAAD,CAAL,GAAe,CAAhB,IAAqB,CAApC;AACH,GAFY,CAAb,CAllJiB,CAslJjB;;AAEA,WAAS0hL,aAAT,CAAuB1hL,KAAvB,EAA8B;AAC1B,WAAOA,KAAK,IAAI,IAAT,GACD2D,IAAI,CAACyC,IAAL,CAAU,CAAC,KAAKwuJ,KAAL,KAAe,CAAhB,IAAqB,CAA/B,CADC,GAED,KAAKA,KAAL,CAAW,CAAC50J,KAAK,GAAG,CAAT,IAAc,CAAd,GAAmB,KAAK40J,KAAL,KAAe,CAA7C,CAFN;AAGH,GA5lJgB,CA8lJjB;;;AAEA6N,EAAAA,cAAc,CAAC,GAAD,EAAM,CAAC,IAAD,EAAO,CAAP,CAAN,EAAiB,IAAjB,EAAuB,MAAvB,CAAd,CAhmJiB,CAkmJjB;;AAEAqB,EAAAA,YAAY,CAAC,MAAD,EAAS,GAAT,CAAZ,CApmJiB,CAsmJjB;;AACAU,EAAAA,eAAe,CAAC,MAAD,EAAS,CAAT,CAAf,CAvmJiB,CAymJjB;;AAEAmC,EAAAA,aAAa,CAAC,GAAD,EAAMb,SAAN,CAAb;AACAa,EAAAA,aAAa,CAAC,IAAD,EAAOb,SAAP,EAAkBJ,MAAlB,CAAb;AACAiB,EAAAA,aAAa,CAAC,IAAD,EAAO,UAAUE,QAAV,EAAoBjI,MAApB,EAA4B;AAC5C;AACA,WAAOiI,QAAQ,GACTjI,MAAM,CAAC4C,uBAAP,IAAkC5C,MAAM,CAAC6C,aADhC,GAET7C,MAAM,CAAC2C,8BAFb;AAGH,GALY,CAAb;AAOA+F,EAAAA,aAAa,CAAC,CAAC,GAAD,EAAM,IAAN,CAAD,EAAcO,IAAd,CAAb;AACAP,EAAAA,aAAa,CAAC,IAAD,EAAO,UAAUtnK,KAAV,EAAiB06C,KAAjB,EAAwB;AACxCA,IAAAA,KAAK,CAACmtH,IAAD,CAAL,GAAc/C,KAAK,CAAC9kK,KAAK,CAAC2xB,KAAN,CAAYm0I,SAAZ,EAAuB,CAAvB,CAAD,CAAnB;AACH,GAFY,CAAb,CArnJiB,CAynJjB;;AAEA,MAAI6b,gBAAgB,GAAGzc,UAAU,CAAC,MAAD,EAAS,IAAT,CAAjC,CA3nJiB,CA6nJjB;;AAEAzC,EAAAA,cAAc,CAAC,KAAD,EAAQ,CAAC,MAAD,EAAS,CAAT,CAAR,EAAqB,MAArB,EAA6B,WAA7B,CAAd,CA/nJiB,CAioJjB;;AAEAqB,EAAAA,YAAY,CAAC,WAAD,EAAc,KAAd,CAAZ,CAnoJiB,CAqoJjB;;AACAU,EAAAA,eAAe,CAAC,WAAD,EAAc,CAAd,CAAf,CAtoJiB,CAwoJjB;;AAEAmC,EAAAA,aAAa,CAAC,KAAD,EAAQV,SAAR,CAAb;AACAU,EAAAA,aAAa,CAAC,MAAD,EAAShB,MAAT,CAAb;AACA2B,EAAAA,aAAa,CAAC,CAAC,KAAD,EAAQ,MAAR,CAAD,EAAkB,UAAUtnK,KAAV,EAAiB06C,KAAjB,EAAwBvzG,MAAxB,EAAgC;AAC3DA,IAAAA,MAAM,CAAC2tO,UAAP,GAAoBhQ,KAAK,CAAC9kK,KAAD,CAAzB;AACH,GAFY,CAAb,CA5oJiB,CAgpJjB;AAEA;;AAEA,WAAS4hL,eAAT,CAAyB5hL,KAAzB,EAAgC;AAC5B,QAAIsrK,SAAS,GACT3nK,IAAI,CAACk6C,KAAL,CACI,CAAC,KAAKx2E,KAAL,GAAa+0M,OAAb,CAAqB,KAArB,IAA8B,KAAK/0M,KAAL,GAAa+0M,OAAb,CAAqB,MAArB,CAA/B,IAA+D,KADnE,IAEI,CAHR;AAIA,WAAOp8K,KAAK,IAAI,IAAT,GAAgBsrK,SAAhB,GAA4B,KAAKjvM,GAAL,CAAS2jC,KAAK,GAAGsrK,SAAjB,EAA4B,GAA5B,CAAnC;AACH,GA1pJgB,CA4pJjB;;;AAEA7I,EAAAA,cAAc,CAAC,GAAD,EAAM,CAAC,IAAD,EAAO,CAAP,CAAN,EAAiB,CAAjB,EAAoB,QAApB,CAAd,CA9pJiB,CAgqJjB;;AAEAqB,EAAAA,YAAY,CAAC,QAAD,EAAW,GAAX,CAAZ,CAlqJiB,CAoqJjB;;AAEAU,EAAAA,eAAe,CAAC,QAAD,EAAW,EAAX,CAAf,CAtqJiB,CAwqJjB;;AAEAmC,EAAAA,aAAa,CAAC,GAAD,EAAMb,SAAN,CAAb;AACAa,EAAAA,aAAa,CAAC,IAAD,EAAOb,SAAP,EAAkBJ,MAAlB,CAAb;AACA4B,EAAAA,aAAa,CAAC,CAAC,GAAD,EAAM,IAAN,CAAD,EAAcS,MAAd,CAAb,CA5qJiB,CA8qJjB;;AAEA,MAAI8Z,YAAY,GAAG3c,UAAU,CAAC,SAAD,EAAY,KAAZ,CAA7B,CAhrJiB,CAkrJjB;;AAEAzC,EAAAA,cAAc,CAAC,GAAD,EAAM,CAAC,IAAD,EAAO,CAAP,CAAN,EAAiB,CAAjB,EAAoB,QAApB,CAAd,CAprJiB,CAsrJjB;;AAEAqB,EAAAA,YAAY,CAAC,QAAD,EAAW,GAAX,CAAZ,CAxrJiB,CA0rJjB;;AAEAU,EAAAA,eAAe,CAAC,QAAD,EAAW,EAAX,CAAf,CA5rJiB,CA8rJjB;;AAEAmC,EAAAA,aAAa,CAAC,GAAD,EAAMb,SAAN,CAAb;AACAa,EAAAA,aAAa,CAAC,IAAD,EAAOb,SAAP,EAAkBJ,MAAlB,CAAb;AACA4B,EAAAA,aAAa,CAAC,CAAC,GAAD,EAAM,IAAN,CAAD,EAAcU,MAAd,CAAb,CAlsJiB,CAosJjB;;AAEA,MAAI8Z,YAAY,GAAG5c,UAAU,CAAC,SAAD,EAAY,KAAZ,CAA7B,CAtsJiB,CAwsJjB;;AAEAzC,EAAAA,cAAc,CAAC,GAAD,EAAM,CAAN,EAAS,CAAT,EAAY,YAAY;AAClC,WAAO,CAAC,EAAE,KAAKmU,WAAL,KAAqB,GAAvB,CAAR;AACH,GAFa,CAAd;AAIAnU,EAAAA,cAAc,CAAC,CAAD,EAAI,CAAC,IAAD,EAAO,CAAP,CAAJ,EAAe,CAAf,EAAkB,YAAY;AACxC,WAAO,CAAC,EAAE,KAAKmU,WAAL,KAAqB,EAAvB,CAAR;AACH,GAFa,CAAd;AAIAnU,EAAAA,cAAc,CAAC,CAAD,EAAI,CAAC,KAAD,EAAQ,CAAR,CAAJ,EAAgB,CAAhB,EAAmB,aAAnB,CAAd;AACAA,EAAAA,cAAc,CAAC,CAAD,EAAI,CAAC,MAAD,EAAS,CAAT,CAAJ,EAAiB,CAAjB,EAAoB,YAAY;AAC1C,WAAO,KAAKmU,WAAL,KAAqB,EAA5B;AACH,GAFa,CAAd;AAGAnU,EAAAA,cAAc,CAAC,CAAD,EAAI,CAAC,OAAD,EAAU,CAAV,CAAJ,EAAkB,CAAlB,EAAqB,YAAY;AAC3C,WAAO,KAAKmU,WAAL,KAAqB,GAA5B;AACH,GAFa,CAAd;AAGAnU,EAAAA,cAAc,CAAC,CAAD,EAAI,CAAC,QAAD,EAAW,CAAX,CAAJ,EAAmB,CAAnB,EAAsB,YAAY;AAC5C,WAAO,KAAKmU,WAAL,KAAqB,IAA5B;AACH,GAFa,CAAd;AAGAnU,EAAAA,cAAc,CAAC,CAAD,EAAI,CAAC,SAAD,EAAY,CAAZ,CAAJ,EAAoB,CAApB,EAAuB,YAAY;AAC7C,WAAO,KAAKmU,WAAL,KAAqB,KAA5B;AACH,GAFa,CAAd;AAGAnU,EAAAA,cAAc,CAAC,CAAD,EAAI,CAAC,UAAD,EAAa,CAAb,CAAJ,EAAqB,CAArB,EAAwB,YAAY;AAC9C,WAAO,KAAKmU,WAAL,KAAqB,MAA5B;AACH,GAFa,CAAd;AAGAnU,EAAAA,cAAc,CAAC,CAAD,EAAI,CAAC,WAAD,EAAc,CAAd,CAAJ,EAAsB,CAAtB,EAAyB,YAAY;AAC/C,WAAO,KAAKmU,WAAL,KAAqB,OAA5B;AACH,GAFa,CAAd,CAluJiB,CAsuJjB;;AAEA9S,EAAAA,YAAY,CAAC,aAAD,EAAgB,IAAhB,CAAZ,CAxuJiB,CA0uJjB;;AAEAU,EAAAA,eAAe,CAAC,aAAD,EAAgB,EAAhB,CAAf,CA5uJiB,CA8uJjB;;AAEAmC,EAAAA,aAAa,CAAC,GAAD,EAAMV,SAAN,EAAiBR,MAAjB,CAAb;AACAkB,EAAAA,aAAa,CAAC,IAAD,EAAOV,SAAP,EAAkBP,MAAlB,CAAb;AACAiB,EAAAA,aAAa,CAAC,KAAD,EAAQV,SAAR,EAAmBN,MAAnB,CAAb;AAEA,MAAI99L,KAAJ,EAAWk6M,iBAAX;;AACA,OAAKl6M,KAAK,GAAG,MAAb,EAAqBA,KAAK,CAACzzB,MAAN,IAAgB,CAArC,EAAwCyzB,KAAK,IAAI,GAAjD,EAAsD;AAClD8+L,IAAAA,aAAa,CAAC9+L,KAAD,EAAQu+L,aAAR,CAAb;AACH;;AAED,WAAS4b,OAAT,CAAiBhiL,KAAjB,EAAwB06C,KAAxB,EAA+B;AAC3BA,IAAAA,KAAK,CAACutH,WAAD,CAAL,GAAqBnD,KAAK,CAAC,CAAC,OAAO9kK,KAAR,IAAiB,IAAlB,CAA1B;AACH;;AAED,OAAKn4B,KAAK,GAAG,GAAb,EAAkBA,KAAK,CAACzzB,MAAN,IAAgB,CAAlC,EAAqCyzB,KAAK,IAAI,GAA9C,EAAmD;AAC/Cy/L,IAAAA,aAAa,CAACz/L,KAAD,EAAQm6M,OAAR,CAAb;AACH;;AAEDD,EAAAA,iBAAiB,GAAG7c,UAAU,CAAC,cAAD,EAAiB,KAAjB,CAA9B,CAjwJiB,CAmwJjB;;AAEAzC,EAAAA,cAAc,CAAC,GAAD,EAAM,CAAN,EAAS,CAAT,EAAY,UAAZ,CAAd;AACAA,EAAAA,cAAc,CAAC,IAAD,EAAO,CAAP,EAAU,CAAV,EAAa,UAAb,CAAd,CAtwJiB,CAwwJjB;;AAEA,WAASwf,WAAT,GAAuB;AACnB,WAAO,KAAKx1B,MAAL,GAAc,KAAd,GAAsB,EAA7B;AACH;;AAED,WAASy1B,WAAT,GAAuB;AACnB,WAAO,KAAKz1B,MAAL,GAAc,4BAAd,GAA6C,EAApD;AACH;;AAED,MAAIj8C,KAAK,GAAGwwD,MAAM,CAACtvL,SAAnB;AAEA8+H,EAAAA,KAAK,CAACn0I,GAAN,GAAYA,GAAZ;AACAm0I,EAAAA,KAAK,CAACg+C,QAAN,GAAiBytB,UAAjB;AACAzrE,EAAAA,KAAK,CAACnpI,KAAN,GAAcA,KAAd;AACAmpI,EAAAA,KAAK,CAACq4C,IAAN,GAAaA,IAAb;AACAr4C,EAAAA,KAAK,CAAC+rE,KAAN,GAAcA,KAAd;AACA/rE,EAAAA,KAAK,CAACl0I,MAAN,GAAeA,MAAf;AACAk0I,EAAAA,KAAK,CAACzrI,IAAN,GAAaA,IAAb;AACAyrI,EAAAA,KAAK,CAACutE,OAAN,GAAgBA,OAAhB;AACAvtE,EAAAA,KAAK,CAAC0jB,EAAN,GAAWA,EAAX;AACA1jB,EAAAA,KAAK,CAACwtE,KAAN,GAAcA,KAAd;AACAxtE,EAAAA,KAAK,CAACtoK,GAAN,GAAYm9N,SAAZ;AACA70D,EAAAA,KAAK,CAACuuE,SAAN,GAAkBA,SAAlB;AACAvuE,EAAAA,KAAK,CAACyqE,OAAN,GAAgBA,OAAhB;AACAzqE,EAAAA,KAAK,CAACnzI,QAAN,GAAiBA,QAAjB;AACAmzI,EAAAA,KAAK,CAAClzI,SAAN,GAAkBA,SAAlB;AACAkzI,EAAAA,KAAK,CAACmsE,MAAN,GAAeA,MAAf;AACAnsE,EAAAA,KAAK,CAACqsE,aAAN,GAAsBA,aAAtB;AACArsE,EAAAA,KAAK,CAACssE,cAAN,GAAuBA,cAAvB;AACAtsE,EAAAA,KAAK,CAACxtC,OAAN,GAAgB67G,SAAhB;AACAruE,EAAAA,KAAK,CAAC9yJ,IAAN,GAAaA,IAAb;AACA8yJ,EAAAA,KAAK,CAACouD,MAAN,GAAeA,MAAf;AACApuD,EAAAA,KAAK,CAACmyD,UAAN,GAAmBA,UAAnB;AACAnyD,EAAAA,KAAK,CAACv3I,GAAN,GAAYk+M,YAAZ;AACA3mE,EAAAA,KAAK,CAACt3I,GAAN,GAAY+9M,YAAZ;AACAzmE,EAAAA,KAAK,CAACsuE,YAAN,GAAqBA,YAArB;AACAtuE,EAAAA,KAAK,CAACjkI,GAAN,GAAY+4L,SAAZ;AACA90D,EAAAA,KAAK,CAAC4rE,OAAN,GAAgBA,OAAhB;AACA5rE,EAAAA,KAAK,CAACqpE,QAAN,GAAiBA,QAAjB;AACArpE,EAAAA,KAAK,CAACppD,OAAN,GAAgBA,OAAhB;AACAopD,EAAAA,KAAK,CAAC5mH,QAAN,GAAiBA,QAAjB;AACA4mH,EAAAA,KAAK,CAACitE,MAAN,GAAeA,MAAf;AACAjtE,EAAAA,KAAK,CAACvyI,WAAN,GAAoBA,WAApB;AACAuyI,EAAAA,KAAK,CAACktE,OAAN,GAAgBA,OAAhB;;AACA,MAAI,OAAO/pM,MAAP,KAAkB,WAAlB,IAAiCA,MAAM,CAACwuM,GAAP,IAAc,IAAnD,EAAyD;AACrD3xE,IAAAA,KAAK,CAAC78H,MAAM,CAACwuM,GAAP,CAAW,4BAAX,CAAD,CAAL,GAAkD,YAAY;AAC1D,aAAO,YAAY,KAAK7lN,MAAL,EAAZ,GAA4B,GAAnC;AACH,KAFD;AAGH;;AACDk0I,EAAAA,KAAK,CAACvkD,MAAN,GAAeA,MAAf;AACAukD,EAAAA,KAAK,CAAC7rH,QAAN,GAAiBA,QAAjB;AACA6rH,EAAAA,KAAK,CAACjwI,IAAN,GAAaA,IAAb;AACAiwI,EAAAA,KAAK,CAACkuD,OAAN,GAAgBA,OAAhB;AACAluD,EAAAA,KAAK,CAACwuE,YAAN,GAAqBA,YAArB;AACAxuE,EAAAA,KAAK,CAACkvE,OAAN,GAAgBG,UAAhB;AACArvE,EAAAA,KAAK,CAAC4xE,SAAN,GAAkBtC,YAAlB;AACAtvE,EAAAA,KAAK,CAAC6xE,OAAN,GAAgBtC,UAAhB;AACAvvE,EAAAA,KAAK,CAAC8xE,OAAN,GAAgBtC,UAAhB;AACAxvE,EAAAA,KAAK,CAACo0D,IAAN,GAAa2F,UAAb;AACA/5D,EAAAA,KAAK,CAACm0D,UAAN,GAAmB6F,aAAnB;AACAh6D,EAAAA,KAAK,CAACwkE,QAAN,GAAiB+L,cAAjB;AACAvwE,EAAAA,KAAK,CAACowE,WAAN,GAAoBK,iBAApB;AACAzwE,EAAAA,KAAK,CAACunE,OAAN,GAAgBvnE,KAAK,CAACsnE,QAAN,GAAiB4J,aAAjC;AACAlxE,EAAAA,KAAK,CAACokD,KAAN,GAAc8U,WAAd;AACAl5D,EAAAA,KAAK,CAAC40D,WAAN,GAAoBuE,cAApB;AACAn5D,EAAAA,KAAK,CAACm/C,IAAN,GAAan/C,KAAK,CAACwnE,KAAN,GAAc9L,UAA3B;AACA17D,EAAAA,KAAK,CAACynE,OAAN,GAAgBznE,KAAK,CAAC+xE,QAAN,GAAiBpW,aAAjC;AACA37D,EAAAA,KAAK,CAACm7D,WAAN,GAAoByV,cAApB;AACA5wE,EAAAA,KAAK,CAACgyE,eAAN,GAAwBlB,kBAAxB;AACA9wE,EAAAA,KAAK,CAACiyE,cAAN,GAAuBvB,iBAAvB;AACA1wE,EAAAA,KAAK,CAACkyE,qBAAN,GAA8BvB,wBAA9B;AACA3wE,EAAAA,KAAK,CAACp+C,IAAN,GAAauvH,gBAAb;AACAnxE,EAAAA,KAAK,CAACghD,GAAN,GAAYhhD,KAAK,CAAC9xB,IAAN,GAAaqvF,eAAzB;AACAv9D,EAAAA,KAAK,CAAC26D,OAAN,GAAgB8C,qBAAhB;AACAz9D,EAAAA,KAAK,CAACouE,UAAN,GAAmB1Q,kBAAnB;AACA19D,EAAAA,KAAK,CAAC86D,SAAN,GAAkBsW,eAAlB;AACApxE,EAAAA,KAAK,CAAC/xB,IAAN,GAAa+xB,KAAK,CAACs9C,KAAN,GAAc6hB,UAA3B;AACAn/D,EAAAA,KAAK,CAAC6/C,MAAN,GAAe7/C,KAAK,CAACu9C,OAAN,GAAgB8zB,YAA/B;AACArxE,EAAAA,KAAK,CAACmmE,MAAN,GAAenmE,KAAK,CAACw+D,OAAN,GAAgB8S,YAA/B;AACAtxE,EAAAA,KAAK,CAAComE,WAAN,GAAoBpmE,KAAK,CAAC0nE,YAAN,GAAqB6J,iBAAzC;AACAvxE,EAAAA,KAAK,CAACo3C,SAAN,GAAkBwxB,YAAlB;AACA5oE,EAAAA,KAAK,CAACzyI,GAAN,GAAY47M,cAAZ;AACAnpE,EAAAA,KAAK,CAACy8C,KAAN,GAAc2sB,gBAAd;AACAppE,EAAAA,KAAK,CAACmyE,SAAN,GAAkB7I,uBAAlB;AACAtpE,EAAAA,KAAK,CAACwpE,oBAAN,GAA6BA,oBAA7B;AACAxpE,EAAAA,KAAK,CAACoyE,KAAN,GAAc3I,oBAAd;AACAzpE,EAAAA,KAAK,CAAC4pE,OAAN,GAAgBA,OAAhB;AACA5pE,EAAAA,KAAK,CAAC6pE,WAAN,GAAoBA,WAApB;AACA7pE,EAAAA,KAAK,CAAC8pE,KAAN,GAAcA,KAAd;AACA9pE,EAAAA,KAAK,CAACwmE,KAAN,GAAcsD,KAAd;AACA9pE,EAAAA,KAAK,CAACw8C,QAAN,GAAiBi1B,WAAjB;AACAzxE,EAAAA,KAAK,CAACu8C,QAAN,GAAiBm1B,WAAjB;AACA1xE,EAAAA,KAAK,CAACqyE,KAAN,GAAc3hB,SAAS,CACnB,iDADmB,EAEnBygB,gBAFmB,CAAvB;AAIAnxE,EAAAA,KAAK,CAAC88C,MAAN,GAAe4T,SAAS,CACpB,kDADoB,EAEpBwI,WAFoB,CAAxB;AAIAl5D,EAAAA,KAAK,CAACqnE,KAAN,GAAc3W,SAAS,CACnB,gDADmB,EAEnBqJ,UAFmB,CAAvB;AAIA/5D,EAAAA,KAAK,CAAC63C,IAAN,GAAa6Y,SAAS,CAClB,0GADkB,EAElBwY,UAFkB,CAAtB;AAIAlpE,EAAAA,KAAK,CAACsyE,YAAN,GAAqB5hB,SAAS,CAC1B,yGAD0B,EAE1BgZ,2BAF0B,CAA9B;;AAKA,WAAS6I,UAAT,CAAoB/iL,KAApB,EAA2B;AACvB,WAAOu1K,WAAW,CAACv1K,KAAK,GAAG,IAAT,CAAlB;AACH;;AAED,WAASgjL,YAAT,GAAwB;AACpB,WAAOzN,WAAW,CAACrjM,KAAZ,CAAkB,IAAlB,EAAwBD,SAAxB,EAAmC0wM,SAAnC,EAAP;AACH;;AAED,WAASM,kBAAT,CAA4Bn9B,MAA5B,EAAoC;AAChC,WAAOA,MAAP;AACH;;AAED,MAAIo9B,OAAO,GAAGrhB,MAAM,CAACnwL,SAArB;AAEAwxM,EAAAA,OAAO,CAAC10B,QAAR,GAAmBA,QAAnB;AACA00B,EAAAA,OAAO,CAACj1B,cAAR,GAAyBA,cAAzB;AACAi1B,EAAAA,OAAO,CAACvtB,WAAR,GAAsBA,WAAtB;AACAutB,EAAAA,OAAO,CAACxzB,OAAR,GAAkBA,OAAlB;AACAwzB,EAAAA,OAAO,CAACxyB,QAAR,GAAmBuyB,kBAAnB;AACAC,EAAAA,OAAO,CAAC5yB,UAAR,GAAqB2yB,kBAArB;AACAC,EAAAA,OAAO,CAACn0B,YAAR,GAAuBA,YAAvB;AACAm0B,EAAAA,OAAO,CAACrf,UAAR,GAAqBA,UAArB;AACAqf,EAAAA,OAAO,CAAC32M,GAAR,GAAcA,GAAd;AACA22M,EAAAA,OAAO,CAACxrB,IAAR,GAAe6nB,UAAf;AACA2D,EAAAA,OAAO,CAAC9D,SAAR,GAAoBK,eAApB;AACAyD,EAAAA,OAAO,CAACnN,eAAR,GAA0B4J,qBAA1B;AACAuD,EAAAA,OAAO,CAAC7C,aAAR,GAAwBA,aAAxB;AACA6C,EAAAA,OAAO,CAACjD,aAAR,GAAwBA,aAAxB;AACAiD,EAAAA,OAAO,CAAC3C,eAAR,GAA0BA,eAA1B;AAEA2C,EAAAA,OAAO,CAAC51B,MAAR,GAAiBob,YAAjB;AACAwa,EAAAA,OAAO,CAAC31B,WAAR,GAAsBqb,iBAAtB;AACAsa,EAAAA,OAAO,CAACvwB,WAAR,GAAsB2W,iBAAtB;AACA4Z,EAAAA,OAAO,CAACtwB,WAAR,GAAsBA,WAAtB;AACAswB,EAAAA,OAAO,CAAC/wB,gBAAR,GAA2BA,gBAA3B;AACA+wB,EAAAA,OAAO,CAACvzB,IAAR,GAAekc,UAAf;AACAqX,EAAAA,OAAO,CAACC,cAAR,GAAyBlX,oBAAzB;AACAiX,EAAAA,OAAO,CAACE,cAAR,GAAyBpX,oBAAzB;AAEAkX,EAAAA,OAAO,CAAC11B,QAAR,GAAmByf,cAAnB;AACAiW,EAAAA,OAAO,CAACx1B,WAAR,GAAsB2f,iBAAtB;AACA6V,EAAAA,OAAO,CAACz1B,aAAR,GAAwB0f,mBAAxB;AACA+V,EAAAA,OAAO,CAAC/vB,aAAR,GAAwBya,mBAAxB;AAEAsV,EAAAA,OAAO,CAAC5W,aAAR,GAAwBA,aAAxB;AACA4W,EAAAA,OAAO,CAAC7W,kBAAR,GAA6BA,kBAA7B;AACA6W,EAAAA,OAAO,CAAC9W,gBAAR,GAA2BA,gBAA3B;AAEA8W,EAAAA,OAAO,CAACt1B,IAAR,GAAe6hB,UAAf;AACAyT,EAAAA,OAAO,CAACr1B,QAAR,GAAmB+hB,cAAnB;;AAEA,WAASyT,KAAT,CAAe/mN,MAAf,EAAuB2sB,KAAvB,EAA8Bo1E,KAA9B,EAAqCilH,MAArC,EAA6C;AACzC,QAAI1kB,MAAM,GAAGiS,SAAS,EAAtB;AAAA,QACI9yM,GAAG,GAAG4gM,SAAS,GAAGpyL,GAAZ,CAAgB+2M,MAAhB,EAAwBr6L,KAAxB,CADV;AAEA,WAAO21K,MAAM,CAACvgG,KAAD,CAAN,CAActgG,GAAd,EAAmBzB,MAAnB,CAAP;AACH;;AAED,WAASinN,cAAT,CAAwBjnN,MAAxB,EAAgC2sB,KAAhC,EAAuCo1E,KAAvC,EAA8C;AAC1C,QAAIgJ,QAAQ,CAAC/qG,MAAD,CAAZ,EAAsB;AAClB2sB,MAAAA,KAAK,GAAG3sB,MAAR;AACAA,MAAAA,MAAM,GAAGwd,SAAT;AACH;;AAEDxd,IAAAA,MAAM,GAAGA,MAAM,IAAI,EAAnB;;AAEA,QAAI2sB,KAAK,IAAI,IAAb,EAAmB;AACf,aAAOo6L,KAAK,CAAC/mN,MAAD,EAAS2sB,KAAT,EAAgBo1E,KAAhB,EAAuB,OAAvB,CAAZ;AACH;;AAED,QAAIjgH,CAAJ;AAAA,QACI0/L,GAAG,GAAG,EADV;;AAEA,SAAK1/L,CAAC,GAAG,CAAT,EAAYA,CAAC,GAAG,EAAhB,EAAoBA,CAAC,EAArB,EAAyB;AACrB0/L,MAAAA,GAAG,CAAC1/L,CAAD,CAAH,GAASilO,KAAK,CAAC/mN,MAAD,EAASle,CAAT,EAAYigH,KAAZ,EAAmB,OAAnB,CAAd;AACH;;AACD,WAAOy/E,GAAP;AACH,GAr8JgB,CAu8JjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,WAAS0lC,gBAAT,CAA0BC,YAA1B,EAAwCnnN,MAAxC,EAAgD2sB,KAAhD,EAAuDo1E,KAAvD,EAA8D;AAC1D,QAAI,OAAOolH,YAAP,KAAwB,SAA5B,EAAuC;AACnC,UAAIp8G,QAAQ,CAAC/qG,MAAD,CAAZ,EAAsB;AAClB2sB,QAAAA,KAAK,GAAG3sB,MAAR;AACAA,QAAAA,MAAM,GAAGwd,SAAT;AACH;;AAEDxd,MAAAA,MAAM,GAAGA,MAAM,IAAI,EAAnB;AACH,KAPD,MAOO;AACHA,MAAAA,MAAM,GAAGmnN,YAAT;AACAx6L,MAAAA,KAAK,GAAG3sB,MAAR;AACAmnN,MAAAA,YAAY,GAAG,KAAf;;AAEA,UAAIp8G,QAAQ,CAAC/qG,MAAD,CAAZ,EAAsB;AAClB2sB,QAAAA,KAAK,GAAG3sB,MAAR;AACAA,QAAAA,MAAM,GAAGwd,SAAT;AACH;;AAEDxd,MAAAA,MAAM,GAAGA,MAAM,IAAI,EAAnB;AACH;;AAED,QAAIsiM,MAAM,GAAGiS,SAAS,EAAtB;AAAA,QACIjrJ,KAAK,GAAG69J,YAAY,GAAG7kB,MAAM,CAACkN,KAAP,CAAalc,GAAhB,GAAsB,CAD9C;AAAA,QAEIxxM,CAFJ;AAAA,QAGI0/L,GAAG,GAAG,EAHV;;AAKA,QAAI70J,KAAK,IAAI,IAAb,EAAmB;AACf,aAAOo6L,KAAK,CAAC/mN,MAAD,EAAS,CAAC2sB,KAAK,GAAG28B,KAAT,IAAkB,CAA3B,EAA8By4C,KAA9B,EAAqC,KAArC,CAAZ;AACH;;AAED,SAAKjgH,CAAC,GAAG,CAAT,EAAYA,CAAC,GAAG,CAAhB,EAAmBA,CAAC,EAApB,EAAwB;AACpB0/L,MAAAA,GAAG,CAAC1/L,CAAD,CAAH,GAASilO,KAAK,CAAC/mN,MAAD,EAAS,CAACle,CAAC,GAAGwnE,KAAL,IAAc,CAAvB,EAA0By4C,KAA1B,EAAiC,KAAjC,CAAd;AACH;;AACD,WAAOy/E,GAAP;AACH;;AAED,WAAS4lC,UAAT,CAAoBpnN,MAApB,EAA4B2sB,KAA5B,EAAmC;AAC/B,WAAOs6L,cAAc,CAACjnN,MAAD,EAAS2sB,KAAT,EAAgB,QAAhB,CAArB;AACH;;AAED,WAAS06L,eAAT,CAAyBrnN,MAAzB,EAAiC2sB,KAAjC,EAAwC;AACpC,WAAOs6L,cAAc,CAACjnN,MAAD,EAAS2sB,KAAT,EAAgB,aAAhB,CAArB;AACH;;AAED,WAAS26L,YAAT,CAAsBH,YAAtB,EAAoCnnN,MAApC,EAA4C2sB,KAA5C,EAAmD;AAC/C,WAAOu6L,gBAAgB,CAACC,YAAD,EAAennN,MAAf,EAAuB2sB,KAAvB,EAA8B,UAA9B,CAAvB;AACH;;AAED,WAAS46L,iBAAT,CAA2BJ,YAA3B,EAAyCnnN,MAAzC,EAAiD2sB,KAAjD,EAAwD;AACpD,WAAOu6L,gBAAgB,CAACC,YAAD,EAAennN,MAAf,EAAuB2sB,KAAvB,EAA8B,eAA9B,CAAvB;AACH;;AAED,WAAS66L,eAAT,CAAyBL,YAAzB,EAAuCnnN,MAAvC,EAA+C2sB,KAA/C,EAAsD;AAClD,WAAOu6L,gBAAgB,CAACC,YAAD,EAAennN,MAAf,EAAuB2sB,KAAvB,EAA8B,aAA9B,CAAvB;AACH;;AAED2nL,EAAAA,kBAAkB,CAAC,IAAD,EAAO;AACrBlZ,IAAAA,IAAI,EAAE,CACF;AACIC,MAAAA,KAAK,EAAE,YADX;AAEIn5M,MAAAA,KAAK,EAAE,CAAC4nM,QAFZ;AAGIthG,MAAAA,MAAM,EAAE,CAHZ;AAII7sG,MAAAA,IAAI,EAAE,aAJV;AAKI2/M,MAAAA,MAAM,EAAE,IALZ;AAMIlQ,MAAAA,IAAI,EAAE;AANV,KADE,EASF;AACIiQ,MAAAA,KAAK,EAAE,YADX;AAEIn5M,MAAAA,KAAK,EAAE,CAAC4nM,QAFZ;AAGIthG,MAAAA,MAAM,EAAE,CAHZ;AAII7sG,MAAAA,IAAI,EAAE,eAJV;AAKI2/M,MAAAA,MAAM,EAAE,IALZ;AAMIlQ,MAAAA,IAAI,EAAE;AANV,KATE,CADe;AAmBrB+H,IAAAA,sBAAsB,EAAE,sBAnBH;AAoBrBC,IAAAA,OAAO,EAAE,UAAUtgE,MAAV,EAAkB;AACvB,UAAI99G,CAAC,GAAG89G,MAAM,GAAG,EAAjB;AAAA,UACIpU,MAAM,GACF8pF,KAAK,CAAE11E,MAAM,GAAG,GAAV,GAAiB,EAAlB,CAAL,KAA+B,CAA/B,GACM,IADN,GAEM99G,CAAC,KAAK,CAAN,GACA,IADA,GAEAA,CAAC,KAAK,CAAN,GACA,IADA,GAEAA,CAAC,KAAK,CAAN,GACA,IADA,GAEA,IAVd;AAWA,aAAO89G,MAAM,GAAGpU,MAAhB;AACH;AAjCoB,GAAP,CAAlB,CAvgKiB,CA2iKjB;;AAEAopB,EAAAA,KAAK,CAAC1mJ,IAAN,GAAawjN,SAAS,CAClB,uDADkB,EAElB0P,kBAFkB,CAAtB;AAIAxsE,EAAAA,KAAK,CAAC2/E,QAAN,GAAiB7iB,SAAS,CACtB,+DADsB,EAEtB2P,SAFsB,CAA1B;AAKA,MAAImT,OAAO,GAAGrgL,IAAI,CAAC+4E,GAAnB;;AAEA,WAASA,GAAT,GAAe;AACX,QAAIttI,IAAI,GAAG,KAAK86G,KAAhB;AAEA,SAAKiuH,aAAL,GAAqB6L,OAAO,CAAC,KAAK7L,aAAN,CAA5B;AACA,SAAKC,KAAL,GAAa4L,OAAO,CAAC,KAAK5L,KAAN,CAApB;AACA,SAAKzP,OAAL,GAAeqb,OAAO,CAAC,KAAKrb,OAAN,CAAtB;AAEAv5N,IAAAA,IAAI,CAAC8oO,YAAL,GAAoB8L,OAAO,CAAC50O,IAAI,CAAC8oO,YAAN,CAA3B;AACA9oO,IAAAA,IAAI,CAAC4/N,OAAL,GAAegV,OAAO,CAAC50O,IAAI,CAAC4/N,OAAN,CAAtB;AACA5/N,IAAAA,IAAI,CAAC2+M,OAAL,GAAei2B,OAAO,CAAC50O,IAAI,CAAC2+M,OAAN,CAAtB;AACA3+M,IAAAA,IAAI,CAAC0+M,KAAL,GAAak2B,OAAO,CAAC50O,IAAI,CAAC0+M,KAAN,CAApB;AACA1+M,IAAAA,IAAI,CAACk+M,MAAL,GAAc02B,OAAO,CAAC50O,IAAI,CAACk+M,MAAN,CAArB;AACAl+M,IAAAA,IAAI,CAACyoO,KAAL,GAAamM,OAAO,CAAC50O,IAAI,CAACyoO,KAAN,CAApB;AAEA,WAAO,IAAP;AACH;;AAED,WAASoM,aAAT,CAAuB/jO,QAAvB,EAAiC8/C,KAAjC,EAAwCrnD,KAAxC,EAA+CwiO,SAA/C,EAA0D;AACtD,QAAIjE,KAAK,GAAGU,cAAc,CAAC53K,KAAD,EAAQrnD,KAAR,CAA1B;AAEAuH,IAAAA,QAAQ,CAACi4N,aAAT,IAA0BgD,SAAS,GAAGjE,KAAK,CAACiB,aAA5C;AACAj4N,IAAAA,QAAQ,CAACk4N,KAAT,IAAkB+C,SAAS,GAAGjE,KAAK,CAACkB,KAApC;AACAl4N,IAAAA,QAAQ,CAACyoN,OAAT,IAAoBwS,SAAS,GAAGjE,KAAK,CAACvO,OAAtC;AAEA,WAAOzoN,QAAQ,CAACm4N,OAAT,EAAP;AACH,GAjlKgB,CAmlKjB;;;AACA,WAAS6L,KAAT,CAAelkL,KAAf,EAAsBrnD,KAAtB,EAA6B;AACzB,WAAOsrO,aAAa,CAAC,IAAD,EAAOjkL,KAAP,EAAcrnD,KAAd,EAAqB,CAArB,CAApB;AACH,GAtlKgB,CAwlKjB;;;AACA,WAASwrO,UAAT,CAAoBnkL,KAApB,EAA2BrnD,KAA3B,EAAkC;AAC9B,WAAOsrO,aAAa,CAAC,IAAD,EAAOjkL,KAAP,EAAcrnD,KAAd,EAAqB,CAAC,CAAtB,CAApB;AACH;;AAED,WAASyrO,OAAT,CAAiBh1F,MAAjB,EAAyB;AACrB,QAAIA,MAAM,GAAG,CAAb,EAAgB;AACZ,aAAOzrF,IAAI,CAACkwC,KAAL,CAAWu7C,MAAX,CAAP;AACH,KAFD,MAEO;AACH,aAAOzrF,IAAI,CAACyC,IAAL,CAAUgpF,MAAV,CAAP;AACH;AACJ;;AAED,WAASi1F,MAAT,GAAkB;AACd,QAAInM,YAAY,GAAG,KAAKC,aAAxB;AAAA,QACIz5F,IAAI,GAAG,KAAK05F,KADhB;AAAA,QAEI9qB,MAAM,GAAG,KAAKqb,OAFlB;AAAA,QAGIv5N,IAAI,GAAG,KAAK86G,KAHhB;AAAA,QAII8kH,OAJJ;AAAA,QAKIjhB,OALJ;AAAA,QAMID,KANJ;AAAA,QAOI+pB,KAPJ;AAAA,QAQIyM,cARJ,CADc,CAWd;AACA;;AACA,QACI,EACKpM,YAAY,IAAI,CAAhB,IAAqBx5F,IAAI,IAAI,CAA7B,IAAkC4uE,MAAM,IAAI,CAA7C,IACC4qB,YAAY,IAAI,CAAhB,IAAqBx5F,IAAI,IAAI,CAA7B,IAAkC4uE,MAAM,IAAI,CAFjD,CADJ,EAKE;AACE4qB,MAAAA,YAAY,IAAIkM,OAAO,CAACG,YAAY,CAACj3B,MAAD,CAAZ,GAAuB5uE,IAAxB,CAAP,GAAuC,KAAvD;AACAA,MAAAA,IAAI,GAAG,CAAP;AACA4uE,MAAAA,MAAM,GAAG,CAAT;AACH,KAtBa,CAwBd;AACA;;;AACAl+M,IAAAA,IAAI,CAAC8oO,YAAL,GAAoBA,YAAY,GAAG,IAAnC;AAEAlJ,IAAAA,OAAO,GAAGnK,QAAQ,CAACqT,YAAY,GAAG,IAAhB,CAAlB;AACA9oO,IAAAA,IAAI,CAAC4/N,OAAL,GAAeA,OAAO,GAAG,EAAzB;AAEAjhB,IAAAA,OAAO,GAAG8W,QAAQ,CAACmK,OAAO,GAAG,EAAX,CAAlB;AACA5/N,IAAAA,IAAI,CAAC2+M,OAAL,GAAeA,OAAO,GAAG,EAAzB;AAEAD,IAAAA,KAAK,GAAG+W,QAAQ,CAAC9W,OAAO,GAAG,EAAX,CAAhB;AACA3+M,IAAAA,IAAI,CAAC0+M,KAAL,GAAaA,KAAK,GAAG,EAArB;AAEApvE,IAAAA,IAAI,IAAImmF,QAAQ,CAAC/W,KAAK,GAAG,EAAT,CAAhB,CArCc,CAuCd;;AACAw2B,IAAAA,cAAc,GAAGzf,QAAQ,CAAC2f,YAAY,CAAC9lG,IAAD,CAAb,CAAzB;AACA4uE,IAAAA,MAAM,IAAIg3B,cAAV;AACA5lG,IAAAA,IAAI,IAAI0lG,OAAO,CAACG,YAAY,CAACD,cAAD,CAAb,CAAf,CA1Cc,CA4Cd;;AACAzM,IAAAA,KAAK,GAAGhT,QAAQ,CAACvX,MAAM,GAAG,EAAV,CAAhB;AACAA,IAAAA,MAAM,IAAI,EAAV;AAEAl+M,IAAAA,IAAI,CAACsvI,IAAL,GAAYA,IAAZ;AACAtvI,IAAAA,IAAI,CAACk+M,MAAL,GAAcA,MAAd;AACAl+M,IAAAA,IAAI,CAACyoO,KAAL,GAAaA,KAAb;AAEA,WAAO,IAAP;AACH;;AAED,WAAS2M,YAAT,CAAsB9lG,IAAtB,EAA4B;AACxB;AACA;AACA,WAAQA,IAAI,GAAG,IAAR,GAAgB,MAAvB;AACH;;AAED,WAAS6lG,YAAT,CAAsBj3B,MAAtB,EAA8B;AAC1B;AACA,WAAQA,MAAM,GAAG,MAAV,GAAoB,IAA3B;AACH;;AAED,WAASm3B,EAAT,CAAYzrB,KAAZ,EAAmB;AACf,QAAI,CAAC,KAAKh2F,OAAL,EAAL,EAAqB;AACjB,aAAOw9F,GAAP;AACH;;AACD,QAAI9hF,IAAJ;AAAA,QACI4uE,MADJ;AAAA,QAEI4qB,YAAY,GAAG,KAAKC,aAFxB;AAIAnf,IAAAA,KAAK,GAAGkL,cAAc,CAAClL,KAAD,CAAtB;;AAEA,QAAIA,KAAK,KAAK,OAAV,IAAqBA,KAAK,KAAK,SAA/B,IAA4CA,KAAK,KAAK,MAA1D,EAAkE;AAC9Dt6E,MAAAA,IAAI,GAAG,KAAK05F,KAAL,GAAaF,YAAY,GAAG,KAAnC;AACA5qB,MAAAA,MAAM,GAAG,KAAKqb,OAAL,GAAe6b,YAAY,CAAC9lG,IAAD,CAApC;;AACA,cAAQs6E,KAAR;AACI,aAAK,OAAL;AACI,iBAAO1L,MAAP;;AACJ,aAAK,SAAL;AACI,iBAAOA,MAAM,GAAG,CAAhB;;AACJ,aAAK,MAAL;AACI,iBAAOA,MAAM,GAAG,EAAhB;AANR;AAQH,KAXD,MAWO;AACH;AACA5uE,MAAAA,IAAI,GAAG,KAAK05F,KAAL,GAAaz0K,IAAI,CAACk6C,KAAL,CAAW0mI,YAAY,CAAC,KAAK5b,OAAN,CAAvB,CAApB;;AACA,cAAQ3P,KAAR;AACI,aAAK,MAAL;AACI,iBAAOt6E,IAAI,GAAG,CAAP,GAAWw5F,YAAY,GAAG,MAAjC;;AACJ,aAAK,KAAL;AACI,iBAAOx5F,IAAI,GAAGw5F,YAAY,GAAG,KAA7B;;AACJ,aAAK,MAAL;AACI,iBAAOx5F,IAAI,GAAG,EAAP,GAAYw5F,YAAY,GAAG,IAAlC;;AACJ,aAAK,QAAL;AACI,iBAAOx5F,IAAI,GAAG,IAAP,GAAcw5F,YAAY,GAAG,GAApC;;AACJ,aAAK,QAAL;AACI,iBAAOx5F,IAAI,GAAG,KAAP,GAAew5F,YAAY,GAAG,IAArC;AACJ;;AACA,aAAK,aAAL;AACI,iBAAOv0K,IAAI,CAACkwC,KAAL,CAAW6qC,IAAI,GAAG,KAAlB,IAA2Bw5F,YAAlC;;AACJ;AACI,gBAAM,IAAItjL,KAAJ,CAAU,kBAAkBokK,KAA5B,CAAN;AAfR;AAiBH;AACJ,GAjtKgB,CAmtKjB;;;AACA,WAAS0rB,SAAT,GAAqB;AACjB,QAAI,CAAC,KAAK1hH,OAAL,EAAL,EAAqB;AACjB,aAAOw9F,GAAP;AACH;;AACD,WACI,KAAK2X,aAAL,GACA,KAAKC,KAAL,GAAa,KADb,GAEC,KAAKzP,OAAL,GAAe,EAAhB,GAAsB,MAFtB,GAGA7D,KAAK,CAAC,KAAK6D,OAAL,GAAe,EAAhB,CAAL,GAA2B,OAJ/B;AAMH;;AAED,WAASgc,MAAT,CAAgB35B,KAAhB,EAAuB;AACnB,WAAO,YAAY;AACf,aAAO,KAAKy5B,EAAL,CAAQz5B,KAAR,CAAP;AACH,KAFD;AAGH;;AAED,MAAI45B,cAAc,GAAGD,MAAM,CAAC,IAAD,CAA3B;AAAA,MACIE,SAAS,GAAGF,MAAM,CAAC,GAAD,CADtB;AAAA,MAEIG,SAAS,GAAGH,MAAM,CAAC,GAAD,CAFtB;AAAA,MAGII,OAAO,GAAGJ,MAAM,CAAC,GAAD,CAHpB;AAAA,MAIIK,MAAM,GAAGL,MAAM,CAAC,GAAD,CAJnB;AAAA,MAKIM,OAAO,GAAGN,MAAM,CAAC,GAAD,CALpB;AAAA,MAMIO,QAAQ,GAAGP,MAAM,CAAC,GAAD,CANrB;AAAA,MAOIQ,UAAU,GAAGR,MAAM,CAAC,GAAD,CAPvB;AAAA,MAQIS,OAAO,GAAGT,MAAM,CAAC,GAAD,CARpB;;AAUA,WAASU,OAAT,GAAmB;AACf,WAAOzN,cAAc,CAAC,IAAD,CAArB;AACH;;AAED,WAAS0N,KAAT,CAAetsB,KAAf,EAAsB;AAClBA,IAAAA,KAAK,GAAGkL,cAAc,CAAClL,KAAD,CAAtB;AACA,WAAO,KAAKh2F,OAAL,KAAiB,KAAKg2F,KAAK,GAAG,GAAb,GAAjB,GAAuCwH,GAA9C;AACH;;AAED,WAAS+kB,UAAT,CAAoBttO,IAApB,EAA0B;AACtB,WAAO,YAAY;AACf,aAAO,KAAK+qH,OAAL,KAAiB,KAAK9Y,KAAL,CAAWjyG,IAAX,CAAjB,GAAoCuoN,GAA3C;AACH,KAFD;AAGH;;AAED,MAAI0X,YAAY,GAAGqN,UAAU,CAAC,cAAD,CAA7B;AAAA,MACIvW,OAAO,GAAGuW,UAAU,CAAC,SAAD,CADxB;AAAA,MAEIx3B,OAAO,GAAGw3B,UAAU,CAAC,SAAD,CAFxB;AAAA,MAGIz3B,KAAK,GAAGy3B,UAAU,CAAC,OAAD,CAHtB;AAAA,MAII7mG,IAAI,GAAG6mG,UAAU,CAAC,MAAD,CAJrB;AAAA,MAKIj4B,MAAM,GAAGi4B,UAAU,CAAC,QAAD,CALvB;AAAA,MAMI1N,KAAK,GAAG0N,UAAU,CAAC,OAAD,CANtB;;AAQA,WAASvN,KAAT,GAAiB;AACb,WAAOnT,QAAQ,CAAC,KAAKnmF,IAAL,KAAc,CAAf,CAAf;AACH;;AAED,MAAI7gC,KAAK,GAAGl6C,IAAI,CAACk6C,KAAjB;AAAA,MACI2nI,UAAU,GAAG;AACTt2B,IAAAA,EAAE,EAAE,EADK;AACD;AACRn9K,IAAAA,CAAC,EAAE,EAFM;AAEF;AACPkC,IAAAA,CAAC,EAAE,EAHM;AAGF;AACPoqI,IAAAA,CAAC,EAAE,EAJM;AAIF;AACPhtI,IAAAA,CAAC,EAAE,EALM;AAKF;AACPwkI,IAAAA,CAAC,EAAE,IANM;AAMA;AACTy5C,IAAAA,CAAC,EAAE,EAPM,CAOF;;AAPE,GADjB,CA3wKiB,CAsxKjB;;AACA,WAASm2B,iBAAT,CAA2B3/B,MAA3B,EAAmC12D,MAAnC,EAA2C6gE,aAA3C,EAA0DC,QAA1D,EAAoE0O,MAApE,EAA4E;AACxE,WAAOA,MAAM,CAAC7P,YAAP,CAAoB3/D,MAAM,IAAI,CAA9B,EAAiC,CAAC,CAAC6gE,aAAnC,EAAkDnK,MAAlD,EAA0DoK,QAA1D,CAAP;AACH;;AAED,WAASw1B,cAAT,CAAwBC,cAAxB,EAAwC11B,aAAxC,EAAuDu1B,UAAvD,EAAmE5mB,MAAnE,EAA2E;AACvE,QAAI1+M,QAAQ,GAAG03N,cAAc,CAAC+N,cAAD,CAAd,CAA+BjpG,GAA/B,EAAf;AAAA,QACIsyF,OAAO,GAAGnxH,KAAK,CAAC39F,QAAQ,CAACukO,EAAT,CAAY,GAAZ,CAAD,CADnB;AAAA,QAEI12B,OAAO,GAAGlwG,KAAK,CAAC39F,QAAQ,CAACukO,EAAT,CAAY,GAAZ,CAAD,CAFnB;AAAA,QAGI32B,KAAK,GAAGjwG,KAAK,CAAC39F,QAAQ,CAACukO,EAAT,CAAY,GAAZ,CAAD,CAHjB;AAAA,QAII/lG,IAAI,GAAG7gC,KAAK,CAAC39F,QAAQ,CAACukO,EAAT,CAAY,GAAZ,CAAD,CAJhB;AAAA,QAKIn3B,MAAM,GAAGzvG,KAAK,CAAC39F,QAAQ,CAACukO,EAAT,CAAY,GAAZ,CAAD,CALlB;AAAA,QAMIzM,KAAK,GAAGn6H,KAAK,CAAC39F,QAAQ,CAACukO,EAAT,CAAY,GAAZ,CAAD,CANjB;AAAA,QAOI5M,KAAK,GAAGh6H,KAAK,CAAC39F,QAAQ,CAACukO,EAAT,CAAY,GAAZ,CAAD,CAPjB;AAAA,QAQI56J,CAAC,GACImlJ,OAAO,IAAIwW,UAAU,CAACt2B,EAAtB,IAA4B,CAAC,GAAD,EAAM8f,OAAN,CAA7B,IACCA,OAAO,GAAGwW,UAAU,CAACzzM,CAArB,IAA0B,CAAC,IAAD,EAAOi9L,OAAP,CAD3B,IAECjhB,OAAO,IAAI,CAAX,IAAgB,CAAC,GAAD,CAFjB,IAGCA,OAAO,GAAGy3B,UAAU,CAACvxM,CAArB,IAA0B,CAAC,IAAD,EAAO85K,OAAP,CAH3B,IAICD,KAAK,IAAI,CAAT,IAAc,CAAC,GAAD,CAJf,IAKCA,KAAK,GAAG03B,UAAU,CAACnnE,CAAnB,IAAwB,CAAC,IAAD,EAAOyvC,KAAP,CALzB,IAMCpvE,IAAI,IAAI,CAAR,IAAa,CAAC,GAAD,CANd,IAOCA,IAAI,GAAG8mG,UAAU,CAACn0M,CAAlB,IAAuB,CAAC,IAAD,EAAOqtG,IAAP,CAhBhC;;AAkBA,QAAI8mG,UAAU,CAAC3vE,CAAX,IAAgB,IAApB,EAA0B;AACtBhsF,MAAAA,CAAC,GACGA,CAAC,IACAmuJ,KAAK,IAAI,CAAT,IAAc,CAAC,GAAD,CADf,IAECA,KAAK,GAAGwN,UAAU,CAAC3vE,CAAnB,IAAwB,CAAC,IAAD,EAAOmiE,KAAP,CAH7B;AAIH;;AACDnuJ,IAAAA,CAAC,GAAGA,CAAC,IACAyjI,MAAM,IAAI,CAAV,IAAe,CAAC,GAAD,CADhB,IAECA,MAAM,GAAGk4B,UAAU,CAACl2B,CAApB,IAAyB,CAAC,IAAD,EAAOhC,MAAP,CAF1B,IAGCuqB,KAAK,IAAI,CAAT,IAAc,CAAC,GAAD,CAHf,IAGyB,CAAC,IAAD,EAAOA,KAAP,CAH7B;AAKAhuJ,IAAAA,CAAC,CAAC,CAAD,CAAD,GAAOomI,aAAP;AACApmI,IAAAA,CAAC,CAAC,CAAD,CAAD,GAAO,CAAC87J,cAAD,GAAkB,CAAzB;AACA97J,IAAAA,CAAC,CAAC,CAAD,CAAD,GAAO+0I,MAAP;AACA,WAAO6mB,iBAAiB,CAACvzM,KAAlB,CAAwB,IAAxB,EAA8B23C,CAA9B,CAAP;AACH,GA7zKgB,CA+zKjB;;;AACA,WAAS+7J,0BAAT,CAAoCC,gBAApC,EAAsD;AAClD,QAAIA,gBAAgB,KAAK/rM,SAAzB,EAAoC;AAChC,aAAO+jE,KAAP;AACH;;AACD,QAAI,OAAOgoI,gBAAP,KAA4B,UAAhC,EAA4C;AACxChoI,MAAAA,KAAK,GAAGgoI,gBAAR;AACA,aAAO,IAAP;AACH;;AACD,WAAO,KAAP;AACH,GAz0KgB,CA20KjB;;;AACA,WAASC,2BAAT,CAAqCC,SAArC,EAAgD12F,KAAhD,EAAuD;AACnD,QAAIm2F,UAAU,CAACO,SAAD,CAAV,KAA0BjsM,SAA9B,EAAyC;AACrC,aAAO,KAAP;AACH;;AACD,QAAIu1G,KAAK,KAAKv1G,SAAd,EAAyB;AACrB,aAAO0rM,UAAU,CAACO,SAAD,CAAjB;AACH;;AACDP,IAAAA,UAAU,CAACO,SAAD,CAAV,GAAwB12F,KAAxB;;AACA,QAAI02F,SAAS,KAAK,GAAlB,EAAuB;AACnBP,MAAAA,UAAU,CAACt2B,EAAX,GAAgB7/D,KAAK,GAAG,CAAxB;AACH;;AACD,WAAO,IAAP;AACH;;AAED,WAASyuF,QAAT,CAAkBkI,aAAlB,EAAiCC,aAAjC,EAAgD;AAC5C,QAAI,CAAC,KAAKjjH,OAAL,EAAL,EAAqB;AACjB,aAAO,KAAK2/F,UAAL,GAAkBhN,WAAlB,EAAP;AACH;;AAED,QAAIuwB,UAAU,GAAG,KAAjB;AAAA,QACIlqB,EAAE,GAAGwpB,UADT;AAAA,QAEI5mB,MAFJ;AAAA,QAGI5jF,MAHJ;;AAKA,QAAI,OAAOgrG,aAAP,KAAyB,QAA7B,EAAuC;AACnCC,MAAAA,aAAa,GAAGD,aAAhB;AACAA,MAAAA,aAAa,GAAG,KAAhB;AACH;;AACD,QAAI,OAAOA,aAAP,KAAyB,SAA7B,EAAwC;AACpCE,MAAAA,UAAU,GAAGF,aAAb;AACH;;AACD,QAAI,OAAOC,aAAP,KAAyB,QAA7B,EAAuC;AACnCjqB,MAAAA,EAAE,GAAGpyL,MAAM,CAACC,MAAP,CAAc,EAAd,EAAkB27M,UAAlB,EAA8BS,aAA9B,CAAL;;AACA,UAAIA,aAAa,CAACl0M,CAAd,IAAmB,IAAnB,IAA2Bk0M,aAAa,CAAC/2B,EAAd,IAAoB,IAAnD,EAAyD;AACrD8M,QAAAA,EAAE,CAAC9M,EAAH,GAAQ+2B,aAAa,CAACl0M,CAAd,GAAkB,CAA1B;AACH;AACJ;;AAED6sL,IAAAA,MAAM,GAAG,KAAK+D,UAAL,EAAT;AACA3nF,IAAAA,MAAM,GAAG0qG,cAAc,CAAC,IAAD,EAAO,CAACQ,UAAR,EAAoBlqB,EAApB,EAAwB4C,MAAxB,CAAvB;;AAEA,QAAIsnB,UAAJ,EAAgB;AACZlrG,MAAAA,MAAM,GAAG4jF,MAAM,CAACiF,UAAP,CAAkB,CAAC,IAAnB,EAAyB7oF,MAAzB,CAAT;AACH;;AAED,WAAO4jF,MAAM,CAACtO,UAAP,CAAkBt1E,MAAlB,CAAP;AACH;;AAED,MAAImrG,KAAK,GAAGxiL,IAAI,CAAC+4E,GAAjB;;AAEA,WAASt9E,IAAT,CAAcl7C,CAAd,EAAiB;AACb,WAAO,CAACA,CAAC,GAAG,CAAL,KAAWA,CAAC,GAAG,CAAf,KAAqB,CAACA,CAA7B;AACH;;AAED,WAASkiO,aAAT,GAAyB;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAI,CAAC,KAAKpjH,OAAL,EAAL,EAAqB;AACjB,aAAO,KAAK2/F,UAAL,GAAkBhN,WAAlB,EAAP;AACH;;AAED,QAAIqZ,OAAO,GAAGmX,KAAK,CAAC,KAAKhO,aAAN,CAAL,GAA4B,IAA1C;AAAA,QACIz5F,IAAI,GAAGynG,KAAK,CAAC,KAAK/N,KAAN,CADhB;AAAA,QAEI9qB,MAAM,GAAG64B,KAAK,CAAC,KAAKxd,OAAN,CAFlB;AAAA,QAGI5a,OAHJ;AAAA,QAIID,KAJJ;AAAA,QAKI+pB,KALJ;AAAA,QAMI9lM,CANJ;AAAA,QAOI+yF,KAAK,GAAG,KAAK+/G,SAAL,EAPZ;AAAA,QAQIwB,SARJ;AAAA,QASIC,MATJ;AAAA,QAUIC,QAVJ;AAAA,QAWIC,OAXJ;;AAaA,QAAI,CAAC1hH,KAAL,EAAY;AACR;AACA;AACA,aAAO,KAAP;AACH,KA7BoB,CA+BrB;;;AACAipF,IAAAA,OAAO,GAAG8W,QAAQ,CAACmK,OAAO,GAAG,EAAX,CAAlB;AACAlhB,IAAAA,KAAK,GAAG+W,QAAQ,CAAC9W,OAAO,GAAG,EAAX,CAAhB;AACAihB,IAAAA,OAAO,IAAI,EAAX;AACAjhB,IAAAA,OAAO,IAAI,EAAX,CAnCqB,CAqCrB;;AACA8pB,IAAAA,KAAK,GAAGhT,QAAQ,CAACvX,MAAM,GAAG,EAAV,CAAhB;AACAA,IAAAA,MAAM,IAAI,EAAV,CAvCqB,CAyCrB;;AACAv7K,IAAAA,CAAC,GAAGi9L,OAAO,GAAGA,OAAO,CAACt0D,OAAR,CAAgB,CAAhB,EAAmB5zJ,OAAnB,CAA2B,QAA3B,EAAqC,EAArC,CAAH,GAA8C,EAAzD;AAEAu/N,IAAAA,SAAS,GAAGvhH,KAAK,GAAG,CAAR,GAAY,GAAZ,GAAkB,EAA9B;AACAwhH,IAAAA,MAAM,GAAGlnL,IAAI,CAAC,KAAKupK,OAAN,CAAJ,KAAuBvpK,IAAI,CAAC0lE,KAAD,CAA3B,GAAqC,GAArC,GAA2C,EAApD;AACAyhH,IAAAA,QAAQ,GAAGnnL,IAAI,CAAC,KAAKg5K,KAAN,CAAJ,KAAqBh5K,IAAI,CAAC0lE,KAAD,CAAzB,GAAmC,GAAnC,GAAyC,EAApD;AACA0hH,IAAAA,OAAO,GAAGpnL,IAAI,CAAC,KAAK+4K,aAAN,CAAJ,KAA6B/4K,IAAI,CAAC0lE,KAAD,CAAjC,GAA2C,GAA3C,GAAiD,EAA3D;AAEA,WACIuhH,SAAS,GACT,GADA,IAECxO,KAAK,GAAGyO,MAAM,GAAGzO,KAAT,GAAiB,GAApB,GAA0B,EAFhC,KAGCvqB,MAAM,GAAGg5B,MAAM,GAAGh5B,MAAT,GAAkB,GAArB,GAA2B,EAHlC,KAIC5uE,IAAI,GAAG6nG,QAAQ,GAAG7nG,IAAX,GAAkB,GAArB,GAA2B,EAJhC,KAKCovE,KAAK,IAAIC,OAAT,IAAoBihB,OAApB,GAA8B,GAA9B,GAAoC,EALrC,KAMClhB,KAAK,GAAG04B,OAAO,GAAG14B,KAAV,GAAkB,GAArB,GAA2B,EANjC,KAOCC,OAAO,GAAGy4B,OAAO,GAAGz4B,OAAV,GAAoB,GAAvB,GAA6B,EAPrC,KAQCihB,OAAO,GAAGwX,OAAO,GAAGz0M,CAAV,GAAc,GAAjB,GAAuB,EAR/B,CADJ;AAWH;;AAED,MAAI00M,OAAO,GAAGrqN,QAAQ,CAACsV,SAAvB;AAEA+0M,EAAAA,OAAO,CAACzjH,OAAR,GAAkB00G,SAAlB;AACA+O,EAAAA,OAAO,CAAC/pG,GAAR,GAAcA,GAAd;AACA+pG,EAAAA,OAAO,CAACpqN,GAAR,GAAc6nN,KAAd;AACAuC,EAAAA,OAAO,CAAC5M,QAAR,GAAmBsK,UAAnB;AACAsC,EAAAA,OAAO,CAAChC,EAAR,GAAaA,EAAb;AACAgC,EAAAA,OAAO,CAAC7B,cAAR,GAAyBA,cAAzB;AACA6B,EAAAA,OAAO,CAAC5B,SAAR,GAAoBA,SAApB;AACA4B,EAAAA,OAAO,CAAC3B,SAAR,GAAoBA,SAApB;AACA2B,EAAAA,OAAO,CAAC1B,OAAR,GAAkBA,OAAlB;AACA0B,EAAAA,OAAO,CAACzB,MAAR,GAAiBA,MAAjB;AACAyB,EAAAA,OAAO,CAACxB,OAAR,GAAkBA,OAAlB;AACAwB,EAAAA,OAAO,CAACvB,QAAR,GAAmBA,QAAnB;AACAuB,EAAAA,OAAO,CAACtB,UAAR,GAAqBA,UAArB;AACAsB,EAAAA,OAAO,CAACrB,OAAR,GAAkBA,OAAlB;AACAqB,EAAAA,OAAO,CAAC/nB,OAAR,GAAkBgmB,SAAlB;AACA+B,EAAAA,OAAO,CAACpO,OAAR,GAAkBgM,MAAlB;AACAoC,EAAAA,OAAO,CAACp/M,KAAR,GAAgBg+M,OAAhB;AACAoB,EAAAA,OAAO,CAACv+O,GAAR,GAAco9O,KAAd;AACAmB,EAAAA,OAAO,CAACvO,YAAR,GAAuBA,YAAvB;AACAuO,EAAAA,OAAO,CAACzX,OAAR,GAAkBA,OAAlB;AACAyX,EAAAA,OAAO,CAAC14B,OAAR,GAAkBA,OAAlB;AACA04B,EAAAA,OAAO,CAAC34B,KAAR,GAAgBA,KAAhB;AACA24B,EAAAA,OAAO,CAAC/nG,IAAR,GAAeA,IAAf;AACA+nG,EAAAA,OAAO,CAACzO,KAAR,GAAgBA,KAAhB;AACAyO,EAAAA,OAAO,CAACn5B,MAAR,GAAiBA,MAAjB;AACAm5B,EAAAA,OAAO,CAAC5O,KAAR,GAAgBA,KAAhB;AACA4O,EAAAA,OAAO,CAAC3I,QAAR,GAAmBA,QAAnB;AACA2I,EAAAA,OAAO,CAACxoN,WAAR,GAAsBmoN,aAAtB;AACAK,EAAAA,OAAO,CAAC9hM,QAAR,GAAmByhM,aAAnB;AACAK,EAAAA,OAAO,CAACx6H,MAAR,GAAiBm6H,aAAjB;AACAK,EAAAA,OAAO,CAAC7nB,MAAR,GAAiBA,MAAjB;AACA6nB,EAAAA,OAAO,CAAC9jB,UAAR,GAAqBA,UAArB;AAEA8jB,EAAAA,OAAO,CAACC,WAAR,GAAsBxlB,SAAS,CAC3B,qFAD2B,EAE3BklB,aAF2B,CAA/B;AAIAK,EAAAA,OAAO,CAAC/oO,IAAR,GAAeA,IAAf,CAv+KiB,CAy+KjB;;AAEA+kN,EAAAA,cAAc,CAAC,GAAD,EAAM,CAAN,EAAS,CAAT,EAAY,MAAZ,CAAd;AACAA,EAAAA,cAAc,CAAC,GAAD,EAAM,CAAN,EAAS,CAAT,EAAY,SAAZ,CAAd,CA5+KiB,CA8+KjB;;AAEAkE,EAAAA,aAAa,CAAC,GAAD,EAAMN,WAAN,CAAb;AACAM,EAAAA,aAAa,CAAC,GAAD,EAAMH,cAAN,CAAb;AACAc,EAAAA,aAAa,CAAC,GAAD,EAAM,UAAUtnK,KAAV,EAAiB06C,KAAjB,EAAwBvzG,MAAxB,EAAgC;AAC/CA,IAAAA,MAAM,CAACwzE,EAAP,GAAY,IAAInrB,IAAJ,CAASqsF,UAAU,CAAC77E,KAAD,CAAV,GAAoB,IAA7B,CAAZ;AACH,GAFY,CAAb;AAGAsnK,EAAAA,aAAa,CAAC,GAAD,EAAM,UAAUtnK,KAAV,EAAiB06C,KAAjB,EAAwBvzG,MAAxB,EAAgC;AAC/CA,IAAAA,MAAM,CAACwzE,EAAP,GAAY,IAAInrB,IAAJ,CAASs1K,KAAK,CAAC9kK,KAAD,CAAd,CAAZ;AACH,GAFY,CAAb,CAr/KiB,CAy/KjB;;AAEAokG,EAAAA,KAAK,CAAC/7J,OAAN,GAAgB,QAAhB;AAEA+1N,EAAAA,eAAe,CAACmX,WAAD,CAAf;AAEAnxE,EAAAA,KAAK,CAACP,EAAN,GAAW2M,KAAX;AACApM,EAAAA,KAAK,CAAClrI,GAAN,GAAYA,GAAZ;AACAkrI,EAAAA,KAAK,CAACnrI,GAAN,GAAYA,GAAZ;AACAmrI,EAAAA,KAAK,CAAC71F,GAAN,GAAYA,GAAZ;AACA61F,EAAAA,KAAK,CAACrmI,GAAN,GAAY4gM,SAAZ;AACAv6D,EAAAA,KAAK,CAAC7jI,IAAN,GAAawiN,UAAb;AACA3+E,EAAAA,KAAK,CAACkpD,MAAN,GAAeo2B,UAAf;AACAt/E,EAAAA,KAAK,CAACrR,MAAN,GAAeA,MAAf;AACAqR,EAAAA,KAAK,CAACw6D,MAAN,GAAegS,kBAAf;AACAxsE,EAAAA,KAAK,CAACy2E,OAAN,GAAgBta,aAAhB;AACAn8D,EAAAA,KAAK,CAAClkJ,QAAN,GAAiB03N,cAAjB;AACAxzE,EAAAA,KAAK,CAAC4nD,QAAN,GAAiBA,QAAjB;AACA5nD,EAAAA,KAAK,CAACopD,QAAN,GAAiBo2B,YAAjB;AACAx/E,EAAAA,KAAK,CAACu+E,SAAN,GAAkBK,YAAlB;AACA5+E,EAAAA,KAAK,CAACu+D,UAAN,GAAmBkO,SAAnB;AACAzsE,EAAAA,KAAK,CAACk0E,UAAN,GAAmBA,UAAnB;AACAl0E,EAAAA,KAAK,CAACmpD,WAAN,GAAoBo2B,eAApB;AACAv/E,EAAAA,KAAK,CAACspD,WAAN,GAAoBo2B,eAApB;AACA1/E,EAAAA,KAAK,CAACipD,YAAN,GAAqBA,YAArB;AACAjpD,EAAAA,KAAK,CAAC2sE,YAAN,GAAqBA,YAArB;AACA3sE,EAAAA,KAAK,CAAC0rE,OAAN,GAAgBmB,WAAhB;AACA7sE,EAAAA,KAAK,CAACqpD,aAAN,GAAsBo2B,iBAAtB;AACAz/E,EAAAA,KAAK,CAAC8/D,cAAN,GAAuBA,cAAvB;AACA9/D,EAAAA,KAAK,CAACuiF,oBAAN,GAA6Bf,0BAA7B;AACAxhF,EAAAA,KAAK,CAACwiF,qBAAN,GAA8Bd,2BAA9B;AACA1hF,EAAAA,KAAK,CAACi4E,cAAN,GAAuBN,iBAAvB;AACA33E,EAAAA,KAAK,CAAC1yH,SAAN,GAAkB8+H,KAAlB,CAzhLiB,CA2hLjB;;AACApM,EAAAA,KAAK,CAACyiF,SAAN,GAAkB;AACdC,IAAAA,cAAc,EAAE,kBADF;AACsB;AACpCC,IAAAA,sBAAsB,EAAE,qBAFV;AAEiC;AAC/CC,IAAAA,iBAAiB,EAAE,yBAHL;AAGgC;AAC9Cnf,IAAAA,IAAI,EAAE,YAJQ;AAIM;AACpBof,IAAAA,IAAI,EAAE,OALQ;AAKC;AACfC,IAAAA,YAAY,EAAE,UANA;AAMY;AAC1BC,IAAAA,OAAO,EAAE,cAPK;AAOW;AACzBjf,IAAAA,IAAI,EAAE,YARQ;AAQM;AACpBN,IAAAA,KAAK,EAAE,SATO,CASI;;AATJ,GAAlB;AAYA,SAAOxjE,KAAP;AAEH,CA9iLC,CAAD;;;;;;;;;;;;;;;;;;;;;;ACND;AACA;AAEA;AACA;AACA;AACA;;AACA;AACA;AACA;AACA;;AACA;;AACA,SAASp7C,SAAT,CAAmB8E,IAAnB,EAAyB;AACrB,SAAO,CAAC,EAAEA,IAAI,KAAKA,IAAI,CAACy5H,QAAL,IAAiBz5H,IAAI,CAACs4B,IAAL,IAAat4B,IAAI,CAAC05H,IAAlB,IAA0B15H,IAAI,CAAC9rG,IAArD,CAAN,CAAR;AACH;;AACD,MAAMylO,cAAN,CAAqB;AACjB;AACJ;AACA;AACIvgP,EAAAA,WAAW,CAACwgP,WAAD,EAAc;AACrB,SAAKC,OAAL,GAAeD,WAAf;AACA;;AACA,QAAIE,OAAO,GAAG5+H,SAAS,CAAC0+H,WAAD,CAAvB;AACA;;AACA,QAAIG,gBAAgB,GAAGD,OAAO,GAAGF,WAAW,CAAC/uO,KAAf,GAAuB+uO,WAArD;AACA;;AACA,QAAII,OAAO,GAAG,OAAOD,gBAAP,KAA4B,QAA5B,GAAuC,UAAvC,GAAoD,QAAlE;AACA;;AACA,QAAI77M,MAAM,GAAG,gBAAgB87M,OAA7B;;AACE;AAAkB,QAApB,CAA4B97M,MAA5B,EAAoC67M,gBAApC;AACH;AACD;AACJ;AACA;AACA;;;AACIE,EAAAA,mBAAmB,CAACt5O,IAAD,EAAO;AACtB,SAAKu5O,gBAAL,GAAwB,KAAK,CAA7B;AACA,SAAKpuI,IAAL,GAAY,KAAK,CAAjB;AACA,SAAKl7F,IAAL,GAAY,UAAUjQ,IAAI,CAAC0xG,KAAL,CAAW1xG,IAAI,CAAC88B,WAAL,CAAiB,GAAjB,IAAwB,CAAnC,EAAsCuD,WAAtC,EAAtB;AACA,SAAK72B,IAAL,GAAYxJ,IAAI,CAAC0xG,KAAL,CAAW1xG,IAAI,CAAC88B,WAAL,CAAiB,GAAjB,IAAwB98B,IAAI,CAAC88B,WAAL,CAAiB,IAAjB,CAAxB,GAAiD,CAA5D,CAAZ;AACH;AACD;AACJ;AACA;AACA;;;AACI08M,EAAAA,iBAAiB,CAAC12E,MAAD,EAAS;AACtB,SAAK33D,IAAL,GAAY23D,MAAM,CAAC33D,IAAnB;AACA,SAAKl7F,IAAL,GAAY6yJ,MAAM,CAAC7yJ,IAAnB;AACA,SAAKzG,IAAL,GAAYs5J,MAAM,CAACt5J,IAAnB;AACH;;AAlCgB;;AAoCrB,IAAI,KAAJ,EAAW,EAWV;AAED;AACA;AACA;AACA;;;AACA,MAAMiwO,QAAN,CAAe;AACX;AACJ;AACA;AACA;AACA;AACIhhP,EAAAA,WAAW,CAACihP,QAAD,EAAW7kO,IAAX,EAAiB6R,OAAjB,EAA0B;AACjC,SAAKtQ,GAAL,GAAW,GAAX;AACA,SAAKynB,OAAL,GAAe,EAAf;AACA,SAAKygK,eAAL,GAAuB,IAAvB;AACA,SAAKq7C,QAAL,GAAgB,EAAhB;AACA,SAAKr5F,OAAL,GAAe,KAAf;AACA,SAAKs5F,WAAL,GAAmB,KAAnB;AACA,SAAKC,UAAL,GAAkB,KAAlB;AACA,SAAKC,SAAL,GAAiB,KAAjB;AACA,SAAKC,QAAL,GAAgB,KAAhB;AACA,SAAKzzH,OAAL,GAAe,KAAf;AACA,SAAK0zH,QAAL,GAAgB,CAAhB;AACA,SAAKx/L,KAAL,GAAa,KAAK,CAAlB;AACA,SAAKk/L,QAAL,GAAgBA,QAAhB;AACA,SAAK7kO,IAAL,GAAYA,IAAZ;AACA,SAAK6R,OAAL,GAAeA,OAAf;AACA,SAAKuzN,IAAL,GAAY,IAAIjB,cAAJ,CAAmBnkO,IAAnB,CAAZ;AACA,SAAKqlO,KAAL,GAAarlO,IAAb;;AACA,QAAI6kO,QAAQ,CAAChzN,OAAb,EAAsB;AAClB,WAAK6W,MAAL,GAAcm8M,QAAQ,CAAChzN,OAAT,CAAiB6W,MAAjB,IAA2B,MAAzC;AACA,WAAKg/K,KAAL,GAAam9B,QAAQ,CAAChzN,OAAT,CAAiByzN,SAAjB,IAA8B,MAA3C;AACH;;AACD,SAAK/jO,GAAL,GAAWsjO,QAAQ,CAAChzN,OAAT,CAAiBtQ,GAA5B;AACH;AACD;AACJ;AACA;;;AACIgkO,EAAAA,MAAM,GAAG;AACL,QAAI;AACA,WAAKV,QAAL,CAAcW,UAAd,CAAyB,IAAzB;AACH,KAFD,CAGA,OAAO12M,CAAP,EAAU;AACN,WAAK+1M,QAAL,CAAcY,eAAd,CAA8B,IAA9B,EAAoC,EAApC,EAAwC,CAAxC,EAA2C,EAA3C;;AACA,WAAKZ,QAAL,CAAca,YAAd,CAA2B,IAA3B,EAAiC,EAAjC,EAAqC,CAArC,EAAwC,EAAxC;AACH;AACJ;AACD;AACJ;AACA;;;AACIj+H,EAAAA,MAAM,GAAG;AACL,SAAKo9H,QAAL,CAAcc,UAAd,CAAyB,IAAzB;AACH;AACD;AACJ;AACA;;;AACIvhI,EAAAA,MAAM,GAAG;AACL,SAAKygI,QAAL,CAAce,eAAd,CAA8B,IAA9B;AACH;AACD;AACJ;AACA;;;AACIC,EAAAA,cAAc,GAAG;AACb,WAAO,KAAK,CAAZ;AACH;AACD;AACJ;AACA;AACA;;;AACIC,EAAAA,WAAW,CAACxjO,IAAD,EAAO;AACd,WAAO;AAAEA,MAAAA;AAAF,KAAP;AACH;AACD;AACJ;AACA;AACA;;;AACIyjO,EAAAA,UAAU,CAACZ,QAAD,EAAW;AACjB,WAAO;AAAEA,MAAAA;AAAF,KAAP;AACH;AACD;AACJ;AACA;AACA;AACA;AACA;;;AACIa,EAAAA,SAAS,CAACt/M,QAAD,EAAWngB,MAAX,EAAmByiB,OAAnB,EAA4B;AACjC,WAAO;AAAEtC,MAAAA,QAAF;AAAYngB,MAAAA,MAAZ;AAAoByiB,MAAAA;AAApB,KAAP;AACH;AACD;AACJ;AACA;AACA;AACA;AACA;;;AACIi9M,EAAAA,OAAO,CAACv/M,QAAD,EAAWngB,MAAX,EAAmByiB,OAAnB,EAA4B;AAC/B,WAAO;AAAEtC,MAAAA,QAAF;AAAYngB,MAAAA,MAAZ;AAAoByiB,MAAAA;AAApB,KAAP;AACH;AACD;AACJ;AACA;AACA;AACA;AACA;;;AACIk9M,EAAAA,QAAQ,CAACx/M,QAAD,EAAWngB,MAAX,EAAmByiB,OAAnB,EAA4B;AAChC,WAAO;AAAEtC,MAAAA,QAAF;AAAYngB,MAAAA,MAAZ;AAAoByiB,MAAAA;AAApB,KAAP;AACH;AACD;AACJ;AACA;AACA;AACA;AACA;;;AACI04H,EAAAA,UAAU,CAACh7H,QAAD,EAAWngB,MAAX,EAAmByiB,OAAnB,EAA4B;AAClC,WAAO;AAAEtC,MAAAA,QAAF;AAAYngB,MAAAA,MAAZ;AAAoByiB,MAAAA;AAApB,KAAP;AACH;AACD;AACJ;AACA;;;AACIm9M,EAAAA,eAAe,GAAG;AACd,SAAK16F,OAAL,GAAe,IAAf;AACA,SAAKs5F,WAAL,GAAmB,IAAnB;AACA,SAAKC,UAAL,GAAkB,KAAlB;AACA,SAAKC,SAAL,GAAiB,KAAjB;AACA,SAAKC,QAAL,GAAgB,KAAhB;AACA,SAAKzzH,OAAL,GAAe,KAAf;AACA,SAAK0zH,QAAL,GAAgB,CAAhB;AACA,SAAKU,cAAL;AACH;AACD;AACJ;AACA;AACA;;;AACIO,EAAAA,YAAY,CAAC9jO,IAAD,EAAO;AACf,SAAKwjO,WAAL,CAAiBxjO,IAAjB;AACH;AACD;AACJ;AACA;AACA;;;AACI+jO,EAAAA,WAAW,CAAClB,QAAD,EAAW;AAClB,SAAKA,QAAL,GAAgBA,QAAhB;AACA,SAAKY,UAAL,CAAgBZ,QAAhB;AACH;AACD;AACJ;AACA;AACA;AACA;AACA;;;AACIjwG,EAAAA,UAAU,CAACxuG,QAAD,EAAWngB,MAAX,EAAmByiB,OAAnB,EAA4B;AAClC,SAAKyiH,OAAL,GAAe,KAAf;AACA,SAAKs5F,WAAL,GAAmB,KAAnB;AACA,SAAKC,UAAL,GAAkB,IAAlB;AACA,SAAKC,SAAL,GAAiB,IAAjB;AACA,SAAKC,QAAL,GAAgB,KAAhB;AACA,SAAKzzH,OAAL,GAAe,KAAf;AACA,SAAK0zH,QAAL,GAAgB,GAAhB;AACA,SAAKx/L,KAAL,GAAa,KAAK,CAAlB;AACA,SAAKqgM,SAAL,CAAet/M,QAAf,EAAyBngB,MAAzB,EAAiCyiB,OAAjC;AACH;AACD;AACJ;AACA;AACA;AACA;AACA;;;AACIs9M,EAAAA,QAAQ,CAAC5/M,QAAD,EAAWngB,MAAX,EAAmByiB,OAAnB,EAA4B;AAChC,SAAKyiH,OAAL,GAAe,KAAf;AACA,SAAKs5F,WAAL,GAAmB,KAAnB;AACA,SAAKC,UAAL,GAAkB,IAAlB;AACA,SAAKC,SAAL,GAAiB,KAAjB;AACA,SAAKC,QAAL,GAAgB,KAAhB;AACA,SAAKzzH,OAAL,GAAe,IAAf;AACA,SAAK0zH,QAAL,GAAgB,CAAhB;AACA,SAAKx/L,KAAL,GAAa,KAAK,CAAlB;AACA,SAAKsgM,OAAL,CAAav/M,QAAb,EAAuBngB,MAAvB,EAA+ByiB,OAA/B;AACH;AACD;AACJ;AACA;AACA;AACA;AACA;;;AACIu9M,EAAAA,SAAS,CAAC7/M,QAAD,EAAWngB,MAAX,EAAmByiB,OAAnB,EAA4B;AACjC,SAAKyiH,OAAL,GAAe,KAAf;AACA,SAAKs5F,WAAL,GAAmB,KAAnB;AACA,SAAKC,UAAL,GAAkB,KAAlB;AACA,SAAKC,SAAL,GAAiB,KAAjB;AACA,SAAKC,QAAL,GAAgB,IAAhB;AACA,SAAKzzH,OAAL,GAAe,KAAf;AACA,SAAK0zH,QAAL,GAAgB,CAAhB;AACA,SAAKx/L,KAAL,GAAa,KAAK,CAAlB;AACA,SAAKugM,QAAL,CAAcx/M,QAAd,EAAwBngB,MAAxB,EAAgCyiB,OAAhC;AACH;AACD;AACJ;AACA;AACA;AACA;AACA;;;AACIw1I,EAAAA,WAAW,CAAC93I,QAAD,EAAWngB,MAAX,EAAmByiB,OAAnB,EAA4B;AACnC,SAAK04H,UAAL,CAAgBh7H,QAAhB,EAA0BngB,MAA1B,EAAkCyiB,OAAlC;;AACA,QAAI,KAAK67M,QAAL,CAAchzN,OAAd,CAAsB20N,iBAA1B,EAA6C;AACzC,WAAKpiI,MAAL;AACH;AACJ;AACD;AACJ;AACA;;;AACIqiI,EAAAA,mBAAmB,GAAG;AAClB,SAAK9gM,KAAL,GAAa,KAAKA,KAAL,IAAc,EAAE,KAAKk/L,QAAL,CAAc6B,UAA3C;AACA,SAAKj7F,OAAL,GAAe,IAAf;AACH;;AA/MU;;AAiNf,IAAI,KAAJ,EAAW,EAoDV;AAED;AACA;AACA;AACA;;;IACMo7F;AAAN,QAAMA,QAAN,CAAe;AACX;AACJ;AACA;AACA;AACuB,WAAZC,YAAY,CAAC1B,IAAD,EAAO;AACtB;AACA,UAAI2B,SAAS,GAAG,aAAhB;;AACA,UAAI,KAAKC,QAAL,CAAczqO,OAAd,CAAsB6oO,IAAI,CAAChqO,IAA3B,MAAqC,CAAC,CAA1C,EAA6C;AACzC2rO,QAAAA,SAAS,GAAG,OAAZ;AACH,OAFD,MAGK,IAAI3B,IAAI,CAAChqO,IAAL,CAAUizE,KAAV,CAAgB,SAAhB,CAAJ,EAAgC;AACjC04J,QAAAA,SAAS,GAAG,OAAZ;AACH,OAFI,MAGA,IAAI3B,IAAI,CAAChqO,IAAL,CAAUizE,KAAV,CAAgB,SAAhB,CAAJ,EAAgC;AACjC04J,QAAAA,SAAS,GAAG,OAAZ;AACH,OAFI,MAGA,IAAI3B,IAAI,CAAChqO,IAAL,CAAUizE,KAAV,CAAgB,SAAhB,CAAJ,EAAgC;AACjC04J,QAAAA,SAAS,GAAG,OAAZ;AACH,OAFI,MAGA,IAAI3B,IAAI,CAAChqO,IAAL,KAAc,iBAAlB,EAAqC;AACtC2rO,QAAAA,SAAS,GAAG,KAAZ;AACH,OAFI,MAGA,IAAI,KAAKE,aAAL,CAAmB1qO,OAAnB,CAA2B6oO,IAAI,CAAChqO,IAAhC,MAA0C,CAAC,CAA/C,EAAkD;AACnD2rO,QAAAA,SAAS,GAAG,UAAZ;AACH,OAFI,MAGA,IAAI,KAAKG,QAAL,CAAc3qO,OAAd,CAAsB6oO,IAAI,CAAChqO,IAA3B,MAAqC,CAAC,CAA1C,EAA6C;AAC9C2rO,QAAAA,SAAS,GAAG,KAAZ;AACH,OAFI,MAGA,IAAI,KAAKI,QAAL,CAAc5qO,OAAd,CAAsB6oO,IAAI,CAAChqO,IAA3B,MAAqC,CAAC,CAA1C,EAA6C;AAC9C2rO,QAAAA,SAAS,GAAG,KAAZ;AACH,OAFI,MAGA,IAAI,KAAKK,QAAL,CAAc7qO,OAAd,CAAsB6oO,IAAI,CAAChqO,IAA3B,MAAqC,CAAC,CAA1C,EAA6C;AAC9C2rO,QAAAA,SAAS,GAAG,KAAZ;AACH;;AACD,UAAIA,SAAS,KAAK,aAAlB,EAAiC;AAC7BA,QAAAA,SAAS,GAAG,KAAKM,iBAAL,CAAuBjC,IAAI,CAACzwO,IAA5B,CAAZ;AACH;;AACD,aAAOoyO,SAAP;AACH;AACD;AACJ;AACA;AACA;;;AAC4B,WAAjBM,iBAAiB,CAACC,aAAD,EAAgB;AACpC;AACA,UAAIC,KAAK,GAAG;AACR,eAAO,OADC;AAER,gBAAQ,OAFA;AAGR,eAAO,OAHC;AAIR,eAAO,OAJC;AAKR,eAAO,OALC;AAMR,eAAO,OANC;AAOR,eAAO,OAPC;AAQR,gBAAQ,OARA;AASR,eAAO,OATC;AAUR,eAAO,OAVC;AAWR,eAAO,OAXC;AAYR,cAAM,OAZE;AAaR,gBAAQ,OAbA;AAcR,eAAO,OAdC;AAeR,eAAO,OAfC;AAgBR,eAAO,OAhBC;AAiBR,eAAO,OAjBC;AAkBR,eAAO,OAlBC;AAmBR,eAAO,OAnBC;AAoBR,eAAO,OApBC;AAqBR,eAAO,OArBC;AAsBR,eAAO,OAtBC;AAuBR,eAAO,OAvBC;AAwBR,oBAAY,UAxBJ;AAyBR,eAAO,UAzBC;AA0BR,eAAO,UA1BC;AA2BR,cAAM,UA3BE;AA4BR,cAAM,UA5BE;AA6BR,eAAO,UA7BC;AA8BR,eAAO,UA9BC;AA+BR,cAAM,UA/BE;AAgCR,eAAO,KAhCC;AAiCR,eAAO,KAjCC;AAkCR,gBAAQ,KAlCA;AAmCR,eAAO,KAnCC;AAoCR,eAAO,OApCC;AAqCR,eAAO,OArCC;AAsCR,eAAO,OAtCC;AAuCR,eAAO,OAvCC;AAwCR,eAAO,OAxCC;AAyCR,eAAO,OAzCC;AA0CR,eAAO,OA1CC;AA2CR,eAAO,OA3CC;AA4CR,eAAO,OA5CC;AA6CR,gBAAQ,OA7CA;AA8CR,gBAAQ,OA9CA;AA+CR,eAAO,OA/CC;AAgDR,eAAO,KAhDC;AAiDR,gBAAQ,KAjDA;AAkDR,eAAO,KAlDC;AAmDR,eAAO,KAnDC;AAoDR,eAAO,KApDC;AAqDR,eAAO,KArDC;AAsDR,eAAO,KAtDC;AAuDR,gBAAQ,KAvDA;AAwDR,eAAO,KAxDC;AAyDR,gBAAQ,KAzDA;AA0DR,eAAO;AA1DC,OAAZ;AA4DA;;AACA,UAAIC,MAAM,GAAGF,aAAa,CAACpkO,KAAd,CAAoB,GAApB,CAAb;;AACA,UAAIskO,MAAM,CAAC12O,MAAP,GAAgB,CAApB,EAAuB;AACnB,eAAO,aAAP;AACH;AACD;;;AACA,UAAIwqI,SAAS,GAAGksG,MAAM,CAACA,MAAM,CAAC12O,MAAP,GAAgB,CAAjB,CAAN,CAA0B06B,WAA1B,EAAhB;;AACA,UAAI+7M,KAAK,CAACjsG,SAAD,CAAL,KAAqB9kG,SAAzB,EAAoC;AAChC,eAAO,aAAP;AACH,OAFD,MAGK;AACD,eAAO+wM,KAAK,CAACjsG,SAAD,CAAZ;AACH;AACJ;;AAvHU;;AAyHf;;AAiCA;;AASA;AAzCAurG,EAAAA,QAAQ,CAACK,QAAT,GAAoB,CAChB,oBADgB,EAEhB,oBAFgB,EAGhB,yEAHgB,EAIhB,yEAJgB,EAKhB,kDALgB,EAMhB,kDANgB,CAApB;AAQAL,EAAAA,QAAQ,CAACM,QAAT,GAAoB,CAChB,0BADgB,EAEhB,0BAFgB,EAGhB,0BAHgB,EAIhB,mEAJgB,EAKhB,sEALgB,EAMhB,gDANgB,EAOhB,mDAPgB,EAQhB,gDARgB,EAShB,uDATgB,CAApB;AAWAN,EAAAA,QAAQ,CAACO,QAAT,GAAoB,CAChB,+BADgB,EAEhB,+BAFgB,EAGhB,+BAHgB,EAIhB,+BAJgB,EAKhB,2EALgB,EAMhB,uEANgB,EAOhB,wEAPgB,EAQhB,qDARgB,EAShB,4DATgB,EAUhB,4DAVgB,EAWhB,yDAXgB,CAApB;AAcAP,EAAAA,QAAQ,CAACG,QAAT,GAAoB,CAChB,iBADgB,EAEhB,mBAFgB,EAGhB,WAHgB,EAIhB,uBAJgB,EAKhB,iBALgB,EAMhB,gCANgB,CAApB;AASAH,EAAAA,QAAQ,CAACI,aAAT,GAAyB,CACrB,oBADqB,EAErB,yBAFqB,EAGrB,sBAHqB,EAIrB,mBAJqB,EAKrB,8BALqB,EAMrB,0BANqB,EAOrB,8BAPqB,EAQrB,4BARqB,EASrB,6BATqB,EAUrB,kBAVqB,EAWrB,qBAXqB,CAAzB;SApKMJ;;;AAiLN,IAAI,KAAJ,EAAW,EAWV;AAED;AACA;AACA;AACA;;AACA;AACA;AACA;AACA;;;AACA,SAASY,MAAT,CAAgBpyO,KAAhB,EAAuB;AACnB,SAAQqyO,IAAI,IAAIryO,KAAK,YAAYqyO,IAAjC;AACH;AACD;AACA;AACA;;;AACA,SAAS3mK,OAAT,GAAmB,CAAG;;AACtB,IAAI,KAAJ,EAAW,EAKV;AACD;AACA;AACA;;;AACA,SAAS4mK,mBAAT,GAA+B,CAAG;;AAClC,IAAI,KAAJ,EAAW,EAuCV;;AACD,MAAMc,YAAN,CAAmB;AACf;AACJ;AACA;AACI7kP,EAAAA,WAAW,CAACiuB,OAAD,EAAU;AACjB,SAAKkzN,WAAL,GAAmB,KAAnB;AACA,SAAKtpF,KAAL,GAAa,EAAb;AACA,SAAK0pF,QAAL,GAAgB,CAAhB;AACA,SAAKuB,UAAL,GAAkB,CAAlB;AACA,SAAK70N,OAAL,GAAe;AACXi2N,MAAAA,UAAU,EAAE,KADD;AAEXC,MAAAA,OAAO,EAAE,IAFE;AAGXC,MAAAA,OAAO,EAAE,EAHE;AAIXxB,MAAAA,iBAAiB,EAAE,KAJR;AAKX2B,MAAAA,gBAAgB,EAAE,KALP;AAMXI,MAAAA,kBAAkB;AAAG;AACjC;AACA;AACA;AACa5pO,MAAAA,IAAD,IAAUA,IAAI,CAAC0mO,KAVJ;AAWXmD,MAAAA,yBAAyB,EAAE;AAXhB,KAAf;AAaA,SAAKE,UAAL,CAAgB72N,OAAhB;AACA,SAAK6U,QAAL,GAAgB,IAAIvX,uDAAJ,EAAhB;AACH;AACD;AACJ;AACA;AACA;;;AACIu5N,EAAAA,UAAU,CAAC72N,OAAD,EAAU;AAChB,SAAKA,OAAL,GAAeyU,MAAM,CAACC,MAAP,CAAc,KAAK1U,OAAnB,EAA4BA,OAA5B,CAAf;AACA,SAAKivF,SAAL,GAAiB,KAAKjvF,OAAL,CAAaivF,SAA9B;AACA,SAAKsnI,eAAL,GAAuB,KAAKv2N,OAAL,CAAau2N,eAAb,IAAgC,eAAvD;AACA,SAAKN,UAAL,GAAkB,KAAKj2N,OAAL,CAAai2N,UAA/B;AACA,SAAKj2N,OAAL,CAAam2N,OAAb,CAAqB/6H,OAArB,CAA6B;AAAEt4G,MAAAA,IAAI,EAAE,YAAR;AAAsB4rJ,MAAAA,EAAE,EAAE,KAAKooF;AAA/B,KAA7B;;AACA,QAAI,KAAK92N,OAAL,CAAao2N,WAAjB,EAA8B;AAC1B,WAAKp2N,OAAL,CAAam2N,OAAb,CAAqB/6H,OAArB,CAA6B;AAAEt4G,QAAAA,IAAI,EAAE,UAAR;AAAoB4rJ,QAAAA,EAAE,EAAE,KAAKqoF;AAA7B,OAA7B;AACH;;AACD,QAAI,KAAK/2N,OAAL,CAAag2N,eAAjB,EAAkC;AAC9B,WAAKh2N,OAAL,CAAam2N,OAAb,CAAqB/6H,OAArB,CAA6B;AAAEt4G,QAAAA,IAAI,EAAE,UAAR;AAAoB4rJ,QAAAA,EAAE,EAAE,KAAKsoF;AAA7B,OAA7B;AACH;;AACD,QAAI,KAAKh3N,OAAL,CAAa+1N,eAAjB,EAAkC;AAC9B,WAAK/1N,OAAL,CAAam2N,OAAb,CAAqB/6H,OAArB,CAA6B;AAAEt4G,QAAAA,IAAI,EAAE,UAAR;AAAoB4rJ,QAAAA,EAAE,EAAE,KAAKuoF;AAA7B,OAA7B;AACH;;AACD,SAAK,IAAIhuO,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAG,KAAK2gJ,KAAL,CAAW3qJ,MAA/B,EAAuCgK,CAAC,EAAxC,EAA4C;AACxC,WAAK2gJ,KAAL,CAAW3gJ,CAAX,EAAcyG,GAAd,GAAoB,KAAKsQ,OAAL,CAAatQ,GAAjC;AACH;AACJ;AACD;AACJ;AACA;AACA;AACA;AACA;;;AACIwnO,EAAAA,UAAU,CAACC,KAAD,EAAQn3N,OAAR,EAAiBm2N,OAAjB,EAA0B;AAChC;AACA,QAAIiB,IAAI,GAAG,EAAX;;AACA,SAAK,IAAI7D,IAAT,IAAiB4D,KAAjB,EAAwB;AACpBC,MAAAA,IAAI,CAAC7+M,IAAL,CAAUg7M,IAAV;AACH;AACD;;;AACA,QAAI8D,cAAc,GAAG,KAAKC,WAAL,CAAiBnB,OAAjB,CAArB;AACA;;;AACA,QAAIj1L,KAAK,GAAG,KAAK0oG,KAAL,CAAW3qJ,MAAvB;AACA;;AACA,QAAIs4O,cAAc,GAAG,EAArB;AACAH,IAAAA,IAAI,CAACt7O,GAAL;AAAU;AAClB;AACA;AACA;AACSqS,IAAAA,IAAD,IAAU;AACN,UAAI,CAAC6R,OAAL,EAAc;AACVA,QAAAA,OAAO,GAAG,KAAKA,OAAf;AACH;AACD;;;AACA,UAAI8/M,IAAI,GAAG,IAAIwS,cAAJ,CAAmBnkO,IAAnB,CAAX;;AACA,UAAI,KAAKqpO,YAAL,CAAkB1X,IAAlB,EAAwBuX,cAAxB,EAAwCr3N,OAAxC,CAAJ,EAAsD;AAClD;AACA,YAAIy3N,QAAQ,GAAG,IAAI1E,QAAJ,CAAa,IAAb,EAAmB5kO,IAAnB,EAAyB6R,OAAzB,CAAf;AACAu3N,QAAAA,cAAc,CAACh/M,IAAf,CAAoBk/M,QAApB;AACA,aAAK7tF,KAAL,CAAWrxH,IAAX,CAAgBk/M,QAAhB;;AACA,aAAKC,kBAAL,CAAwBD,QAAxB;AACH,OAND,MAOK;AACD;AACA,YAAIx7O,MAAM,GAAGo7O,cAAc,CAAC,KAAKM,gBAAN,CAA3B;;AACA,aAAKC,uBAAL,CAA6B9X,IAA7B,EAAmC7jO,MAAnC,EAA2C+jB,OAA3C;AACH;AACJ,KAtBD;;AAuBA,QAAI,KAAK4pI,KAAL,CAAW3qJ,MAAX,KAAsBiiD,KAA1B,EAAiC;AAC7B,WAAK22L,iBAAL,CAAuBN,cAAvB;;AACA,WAAKjE,QAAL,GAAgB,KAAKwE,iBAAL,EAAhB;AACH;;AACD,SAAKC,OAAL;;AACA,QAAI,KAAK/3N,OAAL,CAAai2N,UAAjB,EAA6B;AACzB,WAAK+B,SAAL;AACH;AACJ;AACD;AACJ;AACA;AACA;;;AACIjE,EAAAA,eAAe,CAACvwO,KAAD,EAAQ;AACnB;AACA,QAAIswC,KAAK,GAAG,KAAKmkM,cAAL,CAAoBz0O,KAApB,CAAZ;AACA;;AACA,QAAIsJ,IAAI,GAAG,KAAK88I,KAAL,CAAW91G,KAAX,CAAX;;AACA,QAAIhnC,IAAI,CAAComO,WAAT,EAAsB;AAClBpmO,MAAAA,IAAI,CAAC8oG,MAAL;AACH;;AACD,SAAKg0C,KAAL,CAAWn0B,MAAX,CAAkB3hF,KAAlB,EAAyB,CAAzB;AACA,SAAKw/L,QAAL,GAAgB,KAAKwE,iBAAL,EAAhB;AACH;AACD;AACJ;AACA;;;AACII,EAAAA,UAAU,GAAG;AACT,WAAO,KAAKtuF,KAAL,CAAW3qJ,MAAlB,EAA0B;AACtB,WAAK2qJ,KAAL,CAAW,CAAX,EAAcr3C,MAAd;AACH;;AACD,SAAK+gI,QAAL,GAAgB,CAAhB;AACH;AACD;AACJ;AACA;AACA;;;AACIK,EAAAA,UAAU,CAACnwO,KAAD,EAAQ;AACd;AACA,QAAIswC,KAAK,GAAG,KAAKmkM,cAAL,CAAoBz0O,KAApB,CAAZ;AACA;;AACA,QAAIsJ,IAAI,GAAG,KAAK88I,KAAL,CAAW91G,KAAX,CAAX;AACA;;AACA,QAAI2iJ,SAAS,GAAG,KAAKz2K,OAAL,CAAak2N,OAAb,GAAuB,eAAvB,GAAyC,kBAAzD;;AACAppO,IAAAA,IAAI,CAAC8nO,mBAAL;;AACA,QAAI,KAAK1B,WAAT,EAAsB;AAClB;AACH;;AACD,SAAKA,WAAL,GAAmB,IAAnB;;AACE;AAAkB,QAApB,CAA4Bz8C,SAA5B,EAAuC3pL,IAAvC;AACH;AACD;AACJ;AACA;AACA;;;AACIgnO,EAAAA,UAAU,CAACtwO,KAAD,EAAQ;AACd;AACA,QAAIswC,KAAK,GAAG,KAAKmkM,cAAL,CAAoBz0O,KAApB,CAAZ;AACA;;AACA,QAAIsJ,IAAI,GAAG,KAAK88I,KAAL,CAAW91G,KAAX,CAAX;AACA;;AACA,QAAIm9F,IAAI,GAAG,KAAKjxH,OAAL,CAAak2N,OAAb,GAAuBppO,IAAI,CAACgoO,IAA5B,GAAmChoO,IAAI,CAACioO,KAAnD;;AACA,QAAIjoO,IAAI,IAAIA,IAAI,CAAComO,WAAjB,EAA8B;AAC1BjiG,MAAAA,IAAI,CAAC0lC,KAAL;AACH;AACJ;AACD;AACJ;AACA;;;AACIqhE,EAAAA,SAAS,GAAG;AACR;AACA,QAAIprO,KAAK,GAAG,KAAKurO,mBAAL,GAA2Bl8O,MAA3B;AAAmC;AACvD;AACA;AACA;AACS6Q,IAAAA,IAAD,IAAU,CAACA,IAAI,CAAComO,WAJJ,CAAZ;;AAKA,QAAI,CAACtmO,KAAK,CAAC3N,MAAX,EAAmB;AACf;AACH;;AACD2N,IAAAA,KAAK,CAAC9Q,GAAN;AAAW;AACnB;AACA;AACA;AACSgR,IAAAA,IAAD,IAAUA,IAAI,CAAC8nO,mBAAL,EAJV;AAKAhoO,IAAAA,KAAK,CAAC,CAAD,CAAL,CAAS8mO,MAAT;AACH;AACD;AACJ;AACA;;;AACI0E,EAAAA,SAAS,GAAG;AACR;AACA,QAAIxrO,KAAK,GAAG,KAAKurO,mBAAL,EAAZ;AACAvrO,IAAAA,KAAK,CAAC9Q,GAAN;AAAW;AACnB;AACA;AACA;AACSgR,IAAAA,IAAD,IAAUA,IAAI,CAAC8oG,MAAL,EAJV;AAKH;AACD;AACJ;AACA;AACA;;;AACIggI,EAAAA,MAAM,CAACpyO,KAAD,EAAQ;AACV,WAAOoyO,MAAM,CAACpyO,KAAD,CAAb;AACH;AACD;AACJ;AACA;AACA;;;AACI60O,EAAAA,gBAAgB,CAAC70O,KAAD,EAAQ;AACpB,WAAOA,KAAK,YAAY8uO,cAAxB;AACH;AACD;AACJ;AACA;AACA;;;AACI2F,EAAAA,cAAc,CAACz0O,KAAD,EAAQ;AAClB,WAAO,OAAOA,KAAP,KAAiB,QAAjB,GAA4BA,KAA5B,GAAoC,KAAKomJ,KAAL,CAAWl/I,OAAX,CAAmBlH,KAAnB,CAA3C;AACH;AACD;AACJ;AACA;;;AACI20O,EAAAA,mBAAmB,GAAG;AAClB,WAAO,KAAKvuF,KAAL,CAAW3tJ,MAAX;AAAmB;AAClC;AACA;AACA;AACS6Q,IAAAA,IAAD,IAAU,CAACA,IAAI,CAACqmO,UAJT,CAAP;AAKH;AACD;AACJ;AACA;;;AACImF,EAAAA,aAAa,GAAG;AACZ,WAAO,KAAK1uF,KAAL,CACF3tJ,MADE;AACM;AACrB;AACA;AACA;AACS6Q,IAAAA,IAAD,IAAWA,IAAI,CAAC8sI,OAAL,IAAgB,CAAC9sI,IAAI,CAAComO,WAL1B,EAMF//J,IANE;AAMI;AACnB;AACA;AACA;AACA;AACQ,KAAColK,KAAD,EAAQC,KAAR,KAAkBD,KAAK,CAACzkM,KAAN,GAAc0kM,KAAK,CAAC1kM,KAX/B,CAAP;AAYH;AACD;AACJ;AACA;;;AACIm9D,EAAAA,OAAO,GAAG;AACN,WAAO,KAAK,CAAZ;AACH;AACD;AACJ;AACA;AACA;;;AACIwnI,EAAAA,gBAAgB,CAACC,SAAD,EAAY;AACxB,WAAO;AAAEA,MAAAA;AAAF,KAAP;AACH;AACD;AACJ;AACA;AACA;AACA;;;AACIC,EAAAA,eAAe,CAAClB,QAAD,EAAWhnO,IAAX,EAAiB;AAC5B,WAAO;AAAEgnO,MAAAA,QAAF;AAAYhnO,MAAAA;AAAZ,KAAP;AACH;AACD;AACJ;AACA;AACA;;;AACImoO,EAAAA,iBAAiB,CAACnB,QAAD,EAAW;AACxB,WAAO;AAAEA,MAAAA;AAAF,KAAP;AACH;AACD;AACJ;AACA;AACA;AACA;AACA;;;AACIoB,EAAAA,sBAAsB,CAAC/rO,IAAD,EAAO7Q,MAAP,EAAe+jB,OAAf,EAAwB;AAC1C,WAAO;AAAElT,MAAAA,IAAF;AAAQ7Q,MAAAA,MAAR;AAAgB+jB,MAAAA;AAAhB,KAAP;AACH;AACD;AACJ;AACA;AACA;;;AACI84N,EAAAA,kBAAkB,CAACrB,QAAD,EAAW;AACzB,WAAO;AAAEA,MAAAA;AAAF,KAAP;AACH;AACD;AACJ;AACA;AACA;AACA;;;AACIsB,EAAAA,cAAc,CAACtB,QAAD,EAAWnE,QAAX,EAAqB;AAC/B,WAAO;AAAEmE,MAAAA,QAAF;AAAYnE,MAAAA;AAAZ,KAAP;AACH;AACD;AACJ;AACA;AACA;;;AACI0F,EAAAA,aAAa,CAAC1F,QAAD,EAAW;AACpB,WAAO;AAAEA,MAAAA;AAAF,KAAP;AACH;AACD;AACJ;AACA;AACA;AACA;AACA;AACA;;;AACI2F,EAAAA,aAAa,CAACnsO,IAAD,EAAO+nB,QAAP,EAAiBngB,MAAjB,EAAyByiB,OAAzB,EAAkC;AAC3C,WAAO;AAAErqB,MAAAA,IAAF;AAAQ+nB,MAAAA,QAAR;AAAkBngB,MAAAA,MAAlB;AAA0ByiB,MAAAA;AAA1B,KAAP;AACH;AACD;AACJ;AACA;AACA;AACA;AACA;AACA;;;AACI+hN,EAAAA,WAAW,CAACpsO,IAAD,EAAO+nB,QAAP,EAAiBngB,MAAjB,EAAyByiB,OAAzB,EAAkC;AACzC,WAAO;AAAErqB,MAAAA,IAAF;AAAQ+nB,MAAAA,QAAR;AAAkBngB,MAAAA,MAAlB;AAA0ByiB,MAAAA;AAA1B,KAAP;AACH;AACD;AACJ;AACA;AACA;AACA;AACA;AACA;;;AACIgiN,EAAAA,YAAY,CAACrsO,IAAD,EAAO+nB,QAAP,EAAiBngB,MAAjB,EAAyByiB,OAAzB,EAAkC;AAC1C,WAAO;AAAErqB,MAAAA,IAAF;AAAQ+nB,MAAAA,QAAR;AAAkBngB,MAAAA,MAAlB;AAA0ByiB,MAAAA;AAA1B,KAAP;AACH;AACD;AACJ;AACA;AACA;AACA;AACA;AACA;;;AACIiiN,EAAAA,cAAc,CAACtsO,IAAD,EAAO+nB,QAAP,EAAiBngB,MAAjB,EAAyByiB,OAAzB,EAAkC;AAC5C,WAAO;AAAErqB,MAAAA,IAAF;AAAQ+nB,MAAAA,QAAR;AAAkBngB,MAAAA,MAAlB;AAA0ByiB,MAAAA;AAA1B,KAAP;AACH;AACD;AACJ;AACA;;;AACIkiN,EAAAA,aAAa,GAAG;AACZ,WAAO,KAAK,CAAZ;AACH;AACD;AACJ;AACA;AACA;;;AACIpC,EAAAA,eAAe,CAACnqO,IAAD,EAAO;AAClB,WAAO,EAAE,KAAKkT,OAAL,CAAa+1N,eAAb,IAAgC,KAAK/1N,OAAL,CAAa+1N,eAAb,CAA6BrrO,OAA7B,CAAqCoC,IAAI,CAACvD,IAA1C,MAAoD,CAAC,CAAvF,CAAP;AACH;AACD;AACJ;AACA;AACA;;;AACIwtO,EAAAA,eAAe,CAACjqO,IAAD,EAAO;AAClB,WAAO,EAAE,KAAKkT,OAAL,CAAao2N,WAAb,IAA4BtpO,IAAI,CAAC23F,IAAL,GAAY,KAAKzkF,OAAL,CAAao2N,WAAvD,CAAP;AACH;AACD;AACJ;AACA;AACA;;;AACIY,EAAAA,eAAe,CAAClqO,IAAD,EAAO;AAClB,WAAO,EAAE,KAAKkT,OAAL,CAAag2N,eAAb,IACL,KAAKh2N,OAAL,CAAag2N,eAAb,CAA6BtrO,OAA7B,CAAqCsqO,QAAQ,CAACC,YAAT,CAAsBnoO,IAAtB,CAArC,MAAsE,CAAC,CADpE,CAAP;AAEH;AACD;AACJ;AACA;AACA;AACA;AACA;AACA;;;AACI+mO,EAAAA,YAAY,CAAC/mO,IAAD,EAAO+nB,QAAP,EAAiBngB,MAAjB,EAAyByiB,OAAzB,EAAkC;AAC1CrqB,IAAAA,IAAI,CAAC2nO,QAAL,CAAc5/M,QAAd,EAAwBngB,MAAxB,EAAgCyiB,OAAhC;;AACA,SAAK+hN,WAAL,CAAiBpsO,IAAjB,EAAuB+nB,QAAvB,EAAiCngB,MAAjC,EAAyCyiB,OAAzC;AACH;AACD;AACJ;AACA;AACA;AACA;AACA;AACA;;;AACIy8M,EAAAA,eAAe,CAAC9mO,IAAD,EAAO+nB,QAAP,EAAiBngB,MAAjB,EAAyByiB,OAAzB,EAAkC;AAC7CrqB,IAAAA,IAAI,CAAC6/J,WAAL,CAAiB93I,QAAjB,EAA2BngB,MAA3B,EAAmCyiB,OAAnC;;AACA,SAAKiiN,cAAL,CAAoBtsO,IAApB,EAA0B+nB,QAA1B,EAAoCngB,MAApC,EAA4CyiB,OAA5C;AACA;;AACA,QAAImiN,QAAQ,GAAG,KAAKhB,aAAL,GAAqB,CAArB,CAAf;AACA,SAAKpF,WAAL,GAAmB,KAAnB;;AACA,QAAIoG,QAAJ,EAAc;AACVA,MAAAA,QAAQ,CAAC5F,MAAT;AACA;AACH;;AACD,SAAK2F,aAAL;AACA,SAAK/F,QAAL,GAAgB,KAAKwE,iBAAL,EAAhB;;AACA,SAAKC,OAAL;AACH;AACD;AACJ;AACA;AACA;AACA;;;AACIwB,EAAAA,cAAc,CAACC,aAAD,EAAgB;AAC1B;AAAQ;AAChB;AACA;AACA;AACS12O,MAAAA,IAAD,IAAU;AACN,YAAIA,IAAJ,EAAU;AACN,iBAAO02O,aAAa,CAAC12O,IAAI,CAAC62B,WAAL,EAAD,CAAb,IAAqC,KAAK,CAAjD;AACH;;AACD,eAAO6/M,aAAP;AACH;AATD;AAUH;AACD;AACJ;AACA;AACA;AACA;;;AACIC,EAAAA,aAAa,CAAC3sO,IAAD,EAAO;AAChB;AACA,QAAIugK,IAAI,GAAG,IAAX;AACA;;AACA,QAAI79F,GAAG,GAAG1iE,IAAI,CAACgoO,IAAL,GAAY,IAAIrlK,cAAJ,EAAtB;AACA;;AACA,QAAIiqK,QAAJ;;AACA,SAAKC,mBAAL,CAAyB7sO,IAAzB;;AACA,QAAI,OAAOA,IAAI,CAAC0mO,KAAL,CAAW/uI,IAAlB,KAA2B,QAA/B,EAAyC;AACrC,YAAM,IAAI9lE,SAAJ,CAAc,uCAAd,CAAN;AACH;;AACD,QAAI,CAAC,KAAK3e,OAAL,CAAas2N,gBAAlB,EAAoC;AAChCoD,MAAAA,QAAQ,GAAG,IAAIE,QAAJ,EAAX;;AACA,WAAKC,gBAAL,CAAsB/sO,IAAtB,EAA4B4sO,QAA5B;AACA;;;AACA,YAAMI,UAAU;AAAI;AAChC;AACA;AACY,YAAMJ,QAAQ,CAACtqK,MAAT,CAAgBtiE,IAAI,CAAC+oM,KAArB,EAA4B/oM,IAAI,CAAC0mO,KAAjC,EAAwC1mO,IAAI,CAACymO,IAAL,CAAUzwO,IAAlD,CAHN;;AAIA,UAAI,CAAC,KAAKkd,OAAL,CAAay2N,qBAAlB,EAAyC;AACrCqD,QAAAA,UAAU;AACb,OAV+B,CAWhC;;;AACA,UAAI,KAAK95N,OAAL,CAAaw2N,mBAAb,KAAqC7xM,SAAzC,EAAoD;AAChDlQ,QAAAA,MAAM,CAACkD,IAAP,CAAY,KAAK3X,OAAL,CAAaw2N,mBAAzB,EAA8Cr+M,OAA9C;AAAuD;AACvE;AACA;AACA;AACiBC,QAAAA,GAAD,IAAS;AACL;AACA,cAAI2hN,QAAQ,GAAG,KAAK/5N,OAAL,CAAaw2N,mBAAb,CAAiCp+M,GAAjC,CAAf,CAFK,CAGL;;AACA,cAAI,OAAO2hN,QAAP,KAAoB,QAApB,IAAgCA,QAAQ,CAACrvO,OAAT,CAAiB,eAAjB,KAAqC,CAAzE,EAA4E;AACxEqvO,YAAAA,QAAQ,GAAGA,QAAQ,CAACpoO,OAAT,CAAiB,eAAjB,EAAkC7E,IAAI,CAACymO,IAAL,CAAUzwO,IAA5C,CAAX;AACH;;AACD42O,UAAAA,QAAQ,CAACtqK,MAAT,CAAgBh3C,GAAhB,EAAqB2hN,QAArB;AACH,SAZD;AAaH;;AACD,UAAI,KAAK/5N,OAAL,CAAay2N,qBAAjB,EAAwC;AACpCqD,QAAAA,UAAU;AACb;AACJ,KA9BD,MA+BK;AACDJ,MAAAA,QAAQ,GAAG,KAAK15N,OAAL,CAAa02N,kBAAb,CAAgC5pO,IAAhC,CAAX;AACH;;AACD0iE,IAAAA,GAAG,CAACkkK,MAAJ,CAAWsG,UAAX;AAAyB;AACjC;AACA;AACA;AACSl8N,IAAAA,KAAD,IAAW;AACP;AACA,UAAIw1N,QAAQ,GAAG9kL,IAAI,CAACk6C,KAAL,CAAW5qF,KAAK,CAACm8N,gBAAN,GAAyBn8N,KAAK,CAACo8N,MAAN,GAAe,GAAf,GAAqBp8N,KAAK,CAAC6xG,KAApD,GAA4D,CAAvE,CAAf;;AACA,WAAKwqH,eAAL,CAAqBrtO,IAArB,EAA2BwmO,QAA3B;AACH,KARD;;AASA9jK,IAAAA,GAAG,CAACG,MAAJ;AAAc;AACtB;AACA;AACQ,UAAM;AACF;AACA,UAAIx4C,OAAO,GAAG,KAAKijN,aAAL,CAAmB5qK,GAAG,CAACY,qBAAJ,EAAnB,CAAd;AACA;;;AACA,UAAIv7C,QAAQ,GAAG,KAAKwlN,kBAAL,CAAwB7qK,GAAG,CAAC36C,QAA5B,EAAsCsC,OAAtC,CAAf;AACA;;;AACA,UAAImjN,IAAI,GAAG,KAAKC,cAAL,CAAoB/qK,GAAG,CAAC96D,MAAxB,IAAkC,SAAlC,GAA8C,OAAzD;AACA;;AACA,UAAImiB,MAAM,GAAG,QAAQyjN,IAAR,GAAe,MAA5B;;AACE;AAAkB,UAApB,CAA4BzjN,MAA5B,EAAoC/pB,IAApC,EAA0C+nB,QAA1C,EAAoD26C,GAAG,CAAC96D,MAAxD,EAAgEyiB,OAAhE;;AACA,WAAKy8M,eAAL,CAAqB9mO,IAArB,EAA2B+nB,QAA3B,EAAqC26C,GAAG,CAAC96D,MAAzC,EAAiDyiB,OAAjD;AACH,KAdD;;AAeAq4C,IAAAA,GAAG,CAACO,OAAJ;AAAe;AACvB;AACA;AACQ,UAAM;AACF;AACA,UAAI54C,OAAO,GAAG,KAAKijN,aAAL,CAAmB5qK,GAAG,CAACY,qBAAJ,EAAnB,CAAd;AACA;;;AACA,UAAIv7C,QAAQ,GAAG,KAAKwlN,kBAAL,CAAwB7qK,GAAG,CAAC36C,QAA5B,EAAsCsC,OAAtC,CAAf;;AACA,WAAK08M,YAAL,CAAkB/mO,IAAlB,EAAwB+nB,QAAxB,EAAkC26C,GAAG,CAAC96D,MAAtC,EAA8CyiB,OAA9C;;AACA,WAAKy8M,eAAL,CAAqB9mO,IAArB,EAA2B+nB,QAA3B,EAAqC26C,GAAG,CAAC96D,MAAzC,EAAiDyiB,OAAjD;AACH,KAVD;;AAWAq4C,IAAAA,GAAG,CAAC0lH,OAAJ;AAAe;AACvB;AACA;AACQ,UAAM;AACF;AACA,UAAI/9J,OAAO,GAAG,KAAKijN,aAAL,CAAmB5qK,GAAG,CAACY,qBAAJ,EAAnB,CAAd;AACA;;;AACA,UAAIv7C,QAAQ,GAAG,KAAKwlN,kBAAL,CAAwB7qK,GAAG,CAAC36C,QAA5B,EAAsCsC,OAAtC,CAAf;;AACA,WAAKqjN,aAAL,CAAmB1tO,IAAnB,EAAyB+nB,QAAzB,EAAmC26C,GAAG,CAAC96D,MAAvC,EAA+CyiB,OAA/C;;AACA,WAAKy8M,eAAL,CAAqB9mO,IAArB,EAA2B+nB,QAA3B,EAAqC26C,GAAG,CAAC96D,MAAzC,EAAiDyiB,OAAjD;AACH,KAVD;;AAWAq4C,IAAAA,GAAG,CAAC/sE,IAAJ,CAASqK,IAAI,CAAC+pB,MAAd,EAAsB/pB,IAAI,CAAC4C,GAA3B,EAAgC,IAAhC;AACA8/D,IAAAA,GAAG,CAACooH,eAAJ,GAAsB9qL,IAAI,CAAC8qL,eAA3B;;AACA,QAAI,KAAK53K,OAAL,CAAamX,OAAjB,EAA0B;AACtB,WAAK,IAAIk4E,MAAT,IAAmB,KAAKrvF,OAAL,CAAamX,OAAhC,EAAyC;AACrCq4C,QAAAA,GAAG,CAACU,gBAAJ,CAAqBm/B,MAAM,CAACvsG,IAA5B,EAAkCusG,MAAM,CAAC7rG,KAAzC;AACH;AACJ;;AACD,QAAIsJ,IAAI,CAACqqB,OAAL,CAAal4B,MAAjB,EAAyB;AACrB,WAAK,IAAIowG,MAAT,IAAmBviG,IAAI,CAACqqB,OAAxB,EAAiC;AAC7Bq4C,QAAAA,GAAG,CAACU,gBAAJ,CAAqBm/B,MAAM,CAACvsG,IAA5B,EAAkCusG,MAAM,CAAC7rG,KAAzC;AACH;AACJ;;AACD,QAAI,KAAKyrG,SAAT,EAAoB;AAChBz/B,MAAAA,GAAG,CAACU,gBAAJ,CAAqB,KAAKqmK,eAA1B,EAA2C,KAAKtnI,SAAhD;AACH;;AACDz/B,IAAAA,GAAG,CAACi0D,kBAAJ;AAA0B;AAClC;AACA;AACQ,gBAAY;AACR,UAAIj0D,GAAG,CAAC0xD,UAAJ,IAAkBzxD,cAAc,CAACgrK,IAArC,EAA2C;AACvCptE,QAAAA,IAAI,CAACx4I,QAAL,CAAc7W,IAAd,CAAmBwxD,GAAG,CAACK,YAAvB;AACH;AACJ,KAPD;;AAQA,QAAI,KAAK7vD,OAAL,CAAa22N,yBAAjB,EAA4C;AACxC+C,MAAAA,QAAQ,CAAC5/O,IAAT;AAAe;AAC3B;AACA;AACA;AACamK,MAAAA,MAAD,IAAYurE,GAAG,CAACQ,IAAJ,CAAS7+D,IAAI,CAACI,SAAL,CAAetN,MAAf,CAAT,CAJZ;AAKH,KAND,MAOK;AACDurE,MAAAA,GAAG,CAACQ,IAAJ,CAAS0pK,QAAT;AACH;;AACD,SAAK3B,OAAL;AACH;AACD;AACJ;AACA;AACA;AACA;;;AACID,EAAAA,iBAAiB,CAACt0O,KAAK,GAAG,CAAT,EAAY;AACzB,QAAI,KAAKwc,OAAL,CAAa20N,iBAAjB,EAAoC;AAChC,aAAOnxO,KAAP;AACH;AACD;;;AACA,QAAIk3O,WAAW,GAAG,KAAKvC,mBAAL,GAA2Bl5O,MAA7C;AACA;;AACA,QAAI07O,QAAQ,GAAGD,WAAW,GAAG,KAAK9wF,KAAL,CAAW3qJ,MAAX,GAAoBy7O,WAAvB,GAAqC,KAAK9wF,KAAL,CAAW3qJ,MAA1E;AACA;;AACA,QAAI27O,KAAK,GAAG,MAAM,KAAKhxF,KAAL,CAAW3qJ,MAA7B;AACA;;AACA,QAAI0qG,OAAO,GAAGnmG,KAAK,GAAGo3O,KAAR,GAAgB,GAA9B;AACA,WAAOpsL,IAAI,CAACk6C,KAAL,CAAWiyI,QAAQ,GAAGC,KAAX,GAAmBjxI,OAA9B,CAAP;AACH;AACD;AACJ;AACA;AACA;AACA;;;AACI2tI,EAAAA,WAAW,CAACnB,OAAD,EAAU;AACjB,QAAI,CAACA,OAAL,EAAc;AACV,aAAO,KAAKn2N,OAAL,CAAam2N,OAApB;AACH;;AACD,QAAI1+M,KAAK,CAACi8E,OAAN,CAAcyiI,OAAd,CAAJ,EAA4B;AACxB,aAAOA,OAAP;AACH;;AACD,QAAI,OAAOA,OAAP,KAAmB,QAAvB,EAAiC;AAC7B;AACA,UAAIjmC,KAAK,GAAGimC,OAAO,CAAC35J,KAAR,CAAc,UAAd,CAAZ;AACA,aAAO,KAAKx8D,OAAL,CAAam2N,OAAb,CACFl6O,MADE;AACM;AACzB;AACA;AACA;AACaA,MAAAA,MAAD,IAAYi0M,KAAK,CAACxlM,OAAN,CAAczO,MAAM,CAAC6G,IAArB,MAA+B,CAAC,CALrC,CAAP;AAMH;;AACD,WAAO,KAAKkd,OAAL,CAAam2N,OAApB;AACH;AACD;AACJ;AACA;AACA;;;AACI4B,EAAAA,OAAO,GAAG;AACN,WAAO,KAAK,CAAZ;AACH;AACD;AACJ;AACA;AACA;;;AACIjB,EAAAA,iBAAiB,GAAG;AAChB,WAAO,KAAK92N,OAAL,CAAaq2N,UAAb,KAA4B1xM,SAA5B,IAAyC,KAAKilH,KAAL,CAAW3qJ,MAAX,GAAoB,KAAK+gB,OAAL,CAAaq2N,UAAjF;AACH;AACD;AACJ;AACA;AACA;AACA;AACA;AACA;;;AACImB,EAAAA,YAAY,CAACjE,IAAD,EAAO4C,OAAP,EAAgBn2N,OAAhB,EAAyB;AACjC,SAAK23N,gBAAL,GAAwB,CAAC,CAAzB;AACA,WAAO,CAACxB,OAAO,CAACl3O,MAAT,GAAkB,IAAlB,GAAyBk3O,OAAO,CAACzxI,KAAR;AAAe;AACvD;AACA;AACA;AACSzoG,IAAAA,MAAD,IAAY;AACR,WAAK07O,gBAAL;AACA,aAAO17O,MAAM,CAACyyJ,EAAP,CAAUjzH,IAAV,CAAe,IAAf,EAAqB83M,IAArB,EAA2BvzN,OAA3B,CAAP;AACH,KAP+B,CAAhC;AAQH;AACD;AACJ;AACA;AACA;AACA;;;AACIu6N,EAAAA,cAAc,CAAC7lO,MAAD,EAAS;AACnB,WAAQA,MAAM,IAAI,GAAV,IAAiBA,MAAM,GAAG,GAA3B,IAAmCA,MAAM,KAAK,GAArD;AACH;AACD;AACJ;AACA;AACA;AACA;AACA;;;AACI2lO,EAAAA,kBAAkB,CAACxlN,QAAD,EAAWsC,OAAX,EAAoB;AAClC,WAAOtC,QAAP;AACH;AACD;AACJ;AACA;AACA;AACA;;;AACIulN,EAAAA,aAAa,CAACjjN,OAAD,EAAU;AACnB;AACA,QAAI0jN,MAAM,GAAG,EAAb;AACA;;AACA,QAAIziN,GAAJ;AACA;;AACA,QAAIotE,GAAJ;AACA;;AACA,QAAIv8F,CAAJ;;AACA,QAAI,CAACkuB,OAAL,EAAc;AACV,aAAO0jN,MAAP;AACH;;AACD1jN,IAAAA,OAAO,CAAC9lB,KAAR,CAAc,IAAd,EAAoBvV,GAApB;AAAyB;AACjC;AACA;AACA;AACSi7I,IAAAA,IAAD,IAAU;AACN9tI,MAAAA,CAAC,GAAG8tI,IAAI,CAACrsI,OAAL,CAAa,GAAb,CAAJ;AACA0tB,MAAAA,GAAG,GAAG2+G,IAAI,CAAC/rC,KAAL,CAAW,CAAX,EAAc/hG,CAAd,EAAiBqnE,IAAjB,GAAwB32C,WAAxB,EAAN;AACA6rE,MAAAA,GAAG,GAAGuxC,IAAI,CAAC/rC,KAAL,CAAW/hG,CAAC,GAAG,CAAf,EAAkBqnE,IAAlB,EAAN;;AACA,UAAIl4C,GAAJ,EAAS;AACLyiN,QAAAA,MAAM,CAACziN,GAAD,CAAN,GAAcyiN,MAAM,CAACziN,GAAD,CAAN,GAAcyiN,MAAM,CAACziN,GAAD,CAAN,GAAc,IAAd,GAAqBotE,GAAnC,GAAyCA,GAAvD;AACH;AACJ,KAXD;AAYA,WAAOq1I,MAAP;AACH;AACD;AACJ;AACA;AACA;AACA;AACA;AACA;;;AACIjD,EAAAA,uBAAuB,CAAC9qO,IAAD,EAAO7Q,MAAP,EAAe+jB,OAAf,EAAwB;AAC3C,SAAK64N,sBAAL,CAA4B/rO,IAA5B,EAAkC7Q,MAAlC,EAA0C+jB,OAA1C;AACH;AACD;AACJ;AACA;AACA;AACA;;;AACI03N,EAAAA,kBAAkB,CAAC5qO,IAAD,EAAO;AACrB,SAAK8rO,iBAAL,CAAuB9rO,IAAvB;AACH;AACD;AACJ;AACA;AACA;AACA;;;AACI+qO,EAAAA,iBAAiB,CAACjrO,KAAD,EAAQ;AACrB,SAAK6rO,gBAAL,CAAsB7rO,KAAtB;AACH;AACD;AACJ;AACA;AACA;AACA;;;AACI+sO,EAAAA,mBAAmB,CAAC7sO,IAAD,EAAO;AACtBA,IAAAA,IAAI,CAACwnO,eAAL;;AACA,SAAKwE,kBAAL,CAAwBhsO,IAAxB;AACH;AACD;AACJ;AACA;AACA;AACA;AACA;;;AACI+sO,EAAAA,gBAAgB,CAAC/sO,IAAD,EAAO2D,IAAP,EAAa;AACzB3D,IAAAA,IAAI,CAACynO,YAAL,CAAkB9jO,IAAlB;;AACA,SAAKkoO,eAAL,CAAqB7rO,IAArB,EAA2B2D,IAA3B;AACH;AACD;AACJ;AACA;AACA;AACA;AACA;;;AACI0pO,EAAAA,eAAe,CAACrtO,IAAD,EAAOwmO,QAAP,EAAiB;AAC5B;AACA,QAAI3jH,KAAK,GAAG,KAAKmoH,iBAAL,CAAuBxE,QAAvB,CAAZ;;AACA,SAAKA,QAAL,GAAgB3jH,KAAhB;;AACA7iH,IAAAA,IAAI,CAAC0nO,WAAL,CAAiBlB,QAAjB;;AACA,SAAKyF,cAAL,CAAoBjsO,IAApB,EAA0BwmO,QAA1B;AACA,SAAK0F,aAAL,CAAmBrpH,KAAnB;;AACA,SAAKooH,OAAL;AACH;AACD;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;;;AACI+C,EAAAA,cAAc,CAAChuO,IAAD,EAAO+nB,QAAP,EAAiBngB,MAAjB,EAAyByiB,OAAzB,EAAkC;AAC5CrqB,IAAAA,IAAI,CAACu2H,UAAL,CAAgBxuG,QAAhB,EAA0BngB,MAA1B,EAAkCyiB,OAAlC;;AACA,SAAK8hN,aAAL,CAAmBnsO,IAAnB,EAAyB+nB,QAAzB,EAAmCngB,MAAnC,EAA2CyiB,OAA3C;AACH;AACD;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;;;AACIqjN,EAAAA,aAAa,CAAC1tO,IAAD,EAAO+nB,QAAP,EAAiBngB,MAAjB,EAAyByiB,OAAzB,EAAkC;AAC3CrqB,IAAAA,IAAI,CAAC4nO,SAAL,CAAe7/M,QAAf,EAAyBngB,MAAzB,EAAiCyiB,OAAjC;;AACA,SAAKgiN,YAAL,CAAkBrsO,IAAlB,EAAwB+nB,QAAxB,EAAkCngB,MAAlC,EAA0CyiB,OAA1C;AACH;;AA5uBc;;AA8uBnB,IAAI,KAAJ,EAAW,EAwBV;AAED;AACA;AACA;AACA;;;IACM4jN;AAAN,QAAMA,mBAAN,CAA0B;AACtB;AACJ;AACA;AACIhpP,IAAAA,WAAW,CAACupB,OAAD,EAAU;AACjB,WAAK0/N,cAAL,GAAsB,IAAI19N,uDAAJ,EAAtB;AACA,WAAKhC,OAAL,GAAeA,OAAf;AACH;AACD;AACJ;AACA;;;AACI2/N,IAAAA,UAAU,GAAG;AACT,aAAO,KAAKjI,QAAL,CAAchzN,OAArB;AACH;AACD;AACJ;AACA;;;AACIk7N,IAAAA,UAAU,GAAG;AACT,aAAO,EAAP;AACH;AACD;AACJ;AACA;;;AACIC,IAAAA,qBAAqB,GAAG;AACpB,aAAO,CAAC,CAAC,KAAK7/N,OAAL,CAAaE,aAAb,CAA2B+6F,UAA3B,CAAsC6kI,QAA/C;AACH;AACD;AACJ;AACA;;;AACI9vC,IAAAA,QAAQ,GAAG;AACP;AACA,UAAI6rC,KAAK,GAAG,KAAK77N,OAAL,CAAaE,aAAb,CAA2B27N,KAAvC;AACA;;AACA,UAAIn3N,OAAO,GAAG,KAAKi7N,UAAL,EAAd;AACA;;AACA,UAAI9E,OAAO,GAAG,KAAK+E,UAAL,EAAd;AACA,WAAKlI,QAAL,CAAckE,UAAd,CAAyBC,KAAzB,EAAgCn3N,OAAhC,EAAyCm2N,OAAzC;AACA,WAAK6E,cAAL,CAAoBh9N,IAApB,CAAyBm5N,KAAzB;;AACA,UAAI,KAAKgE,qBAAL,EAAJ,EAAkC;AAC9B,aAAK7/N,OAAL,CAAaE,aAAb,CAA2BhY,KAA3B,GAAmC,EAAnC;AACH;AACJ;;AAzCqB;;AA2C1Bu3O,EAAAA,mBAAmB,CAAC3oN,IAApB,GAA2B,SAASipN,2BAAT,CAAqC/oN,CAArC,EAAwC;AAAE,WAAO,KAAKA,CAAC,IAAIyoN,mBAAV,EAA+B5qN,+DAAA,CAAyBA,qDAAzB,CAA/B,CAAP;AAAqF,GAA1J;;AACA4qN,EAAAA,mBAAmB,CAAC/tC,IAApB,GAA2B,aAAc78K,+DAAA,CAAyB;AAAE5mB,IAAAA,IAAI,EAAEwxO,mBAAR;AAA6BxmP,IAAAA,SAAS,EAAE,CAAC,CAAC,EAAD,EAAK,eAAL,EAAsB,EAAtB,CAAD,CAAxC;AAAqE24M,IAAAA,YAAY,EAAE,SAASouC,gCAAT,CAA0ClhN,EAA1C,EAA8Cr6B,GAA9C,EAAmD;AAAE,UAAIq6B,EAAE,GAAG,CAAT,EAAY;AAC9MjK,QAAAA,wDAAA,CAAkB,QAAlB,EAA4B,SAASorN,6CAAT,GAAyD;AAAE,iBAAOx7O,GAAG,CAACurM,QAAJ,EAAP;AAAwB,SAA/G;AACH;AAAE,KAF2D;AAEzDnxL,IAAAA,MAAM,EAAE;AAAE64N,MAAAA,QAAQ,EAAE;AAAZ,KAFiD;AAEvBp0N,IAAAA,OAAO,EAAE;AAAEo8N,MAAAA,cAAc,EAAE;AAAlB;AAFc,GAAzB,CAAzC;AAGA;;SA/CMD;;;AAwDN,CAAC,YAAY;AAAE,GAAC,OAAOpoN,SAAP,KAAqB,WAArB,IAAoCA,SAArC;AAcC,CAdhB;;AAeA,IAAI,KAAJ,EAAW,EAUV;AAED;AACA;AACA;AACA;;;IACM6oN;AAAN,QAAMA,iBAAN,CAAwB;AACpB;AACJ;AACA;AACIzpP,IAAAA,WAAW,CAACupB,OAAD,EAAU;AACjB,WAAKmgO,QAAL,GAAgB,IAAIn+N,uDAAJ,EAAhB;AACA,WAAKo+N,UAAL,GAAkB,IAAIp+N,uDAAJ,EAAlB;AACA,WAAKhC,OAAL,GAAeA,OAAf;AACH;AACD;AACJ;AACA;;;AACI2/N,IAAAA,UAAU,GAAG;AACT,aAAO,KAAKjI,QAAL,CAAchzN,OAArB;AACH;AACD;AACJ;AACA;;;AACIk7N,IAAAA,UAAU,GAAG;AACT,aAAO,EAAP;AACH;AACD;AACJ;AACA;AACA;;;AACIS,IAAAA,MAAM,CAAC79N,KAAD,EAAQ;AACV;AACA,UAAI89N,QAAQ,GAAG,KAAKC,YAAL,CAAkB/9N,KAAlB,CAAf;;AACA,UAAI,CAAC89N,QAAL,EAAe;AACX;AACH;AACD;;;AACA,UAAI57N,OAAO,GAAG,KAAKi7N,UAAL,EAAd;AACA;;AACA,UAAI9E,OAAO,GAAG,KAAK+E,UAAL,EAAd;;AACA,WAAKY,eAAL,CAAqBh+N,KAArB;;AACA,WAAKk1N,QAAL,CAAckE,UAAd,CAAyB0E,QAAQ,CAACzE,KAAlC,EAAyCn3N,OAAzC,EAAkDm2N,OAAlD;AACA,WAAKsF,QAAL,CAAcz9N,IAAd,CAAmB,KAAnB;AACA,WAAK09N,UAAL,CAAgB19N,IAAhB,CAAqB49N,QAAQ,CAACzE,KAA9B;AACH;AACD;AACJ;AACA;AACA;;;AACI4E,IAAAA,UAAU,CAACj+N,KAAD,EAAQ;AACd;AACA,UAAI89N,QAAQ,GAAG,KAAKC,YAAL,CAAkB/9N,KAAlB,CAAf;;AACA,UAAI,CAAC,KAAKk+N,UAAL,CAAgBJ,QAAQ,CAAClG,KAAzB,CAAL,EAAsC;AAClC;AACH;;AACDkG,MAAAA,QAAQ,CAACK,UAAT,GAAsB,MAAtB;;AACA,WAAKH,eAAL,CAAqBh+N,KAArB;;AACA,WAAK29N,QAAL,CAAcz9N,IAAd,CAAmB,IAAnB;AACH;AACD;AACJ;AACA;AACA;;;AACIk+N,IAAAA,WAAW,CAACp+N,KAAD,EAAQ;AACf;AAAM;AAAkB,UAApB,CAA4BxC,OAAhC,EAAyC;AACrC,YAAIwC,KAAK,CAACq+N,aAAN;AAA0B;AAAkB,YAApB,CAA4B7gO,OAA5B,CAAoC,CAApC,CAA5B,EAAoE;AAChE;AACH;AACJ;;AACD,WAAKwgO,eAAL,CAAqBh+N,KAArB;;AACA,WAAK29N,QAAL,CAAcz9N,IAAd,CAAmB,KAAnB;AACH;AACD;AACJ;AACA;AACA;AACA;;;AACI69N,IAAAA,YAAY,CAAC/9N,KAAD,EAAQ;AAChB,aAAOA,KAAK,CAACs+N,YAAN,GAAqBt+N,KAAK,CAACs+N,YAA3B,GAA0Ct+N,KAAK,CAACu+N,aAAN,CAAoBD,YAArE,CADgB,CACmE;AACtF;AACD;AACJ;AACA;AACA;AACA;;;AACIN,IAAAA,eAAe,CAACh+N,KAAD,EAAQ;AACnBA,MAAAA,KAAK,CAAC+oD,cAAN;AACA/oD,MAAAA,KAAK,CAACw+N,eAAN;AACH;AACD;AACJ;AACA;AACA;AACA;;;AACIN,IAAAA,UAAU,CAACtG,KAAD,EAAQ;AACd,UAAI,CAACA,KAAL,EAAY;AACR,eAAO,KAAP;AACH;;AACD,UAAIA,KAAK,CAAChrO,OAAV,EAAmB;AACf,eAAOgrO,KAAK,CAAChrO,OAAN,CAAc,OAAd,MAA2B,CAAC,CAAnC;AACH,OAFD,MAGK,IAAIgrO,KAAK,CAAC6G,QAAV,EAAoB;AACrB,eAAO7G,KAAK,CAAC6G,QAAN,CAAe,OAAf,CAAP;AACH,OAFI,MAGA;AACD,eAAO,KAAP;AACH;AACJ;;AAtGmB;;AAwGxBf,EAAAA,iBAAiB,CAACppN,IAAlB,GAAyB,SAASoqN,yBAAT,CAAmClqN,CAAnC,EAAsC;AAAE,WAAO,KAAKA,CAAC,IAAIkpN,iBAAV,EAA6BrrN,+DAAA,CAAyBA,qDAAzB,CAA7B,CAAP;AAAmF,GAApJ;;AACAqrN,EAAAA,iBAAiB,CAACxuC,IAAlB,GAAyB,aAAc78K,+DAAA,CAAyB;AAAE5mB,IAAAA,IAAI,EAAEiyO,iBAAR;AAA2BjnP,IAAAA,SAAS,EAAE,CAAC,CAAC,EAAD,EAAK,aAAL,EAAoB,EAApB,CAAD,CAAtC;AAAiE24M,IAAAA,YAAY,EAAE,SAASuvC,8BAAT,CAAwCriN,EAAxC,EAA4Cr6B,GAA5C,EAAiD;AAAE,UAAIq6B,EAAE,GAAG,CAAT,EAAY;AACtMjK,QAAAA,wDAAA,CAAkB,MAAlB,EAA0B,SAASusN,yCAAT,CAAmDpvC,MAAnD,EAA2D;AAAE,iBAAOvtM,GAAG,CAAC47O,MAAJ,CAAWruC,MAAX,CAAP;AAA4B,SAAnH,EAAqH,UAArH,EAAiI,SAASqvC,6CAAT,CAAuDrvC,MAAvD,EAA+D;AAAE,iBAAOvtM,GAAG,CAACg8O,UAAJ,CAAezuC,MAAf,CAAP;AAAgC,SAAlO,EAAoO,WAApO,EAAiP,SAASsvC,8CAAT,CAAwDtvC,MAAxD,EAAgE;AAAE,iBAAOvtM,GAAG,CAACm8O,WAAJ,CAAgB5uC,MAAhB,CAAP;AAAiC,SAApV;AACH;AAAE,KAFyD;AAEvDnzL,IAAAA,MAAM,EAAE;AAAE64N,MAAAA,QAAQ,EAAE;AAAZ,KAF+C;AAErBp0N,IAAAA,OAAO,EAAE;AAAE68N,MAAAA,QAAQ,EAAE,UAAZ;AAAwBC,MAAAA,UAAU,EAAE;AAApC;AAFY,GAAzB,CAAvC;AAGA;;SA5GMF;;;AAwHN,CAAC,YAAY;AAAE,GAAC,OAAO7oN,SAAP,KAAqB,WAArB,IAAoCA,SAArC;AAiCC,CAjChB;;AAkCA,IAAI,KAAJ,EAAW,EAYV;AAED;AACA;AACA;AACA;;;IACMkqN;AAAN,QAAMA,gBAAN,CAAuB;;AAEvBA,EAAAA,gBAAgB,CAACzqN,IAAjB,GAAwB,SAAS0qN,wBAAT,CAAkCxqN,CAAlC,EAAqC;AAAE,WAAO,KAAKA,CAAC,IAAIuqN,gBAAV,GAAP;AAAuC,GAAtG;;AACAA,EAAAA,gBAAgB,CAACjiN,IAAjB,GAAwB,aAAczK,8DAAA,CAAwB;AAAE5mB,IAAAA,IAAI,EAAEszO;AAAR,GAAxB,CAAtC;AACAA,EAAAA,gBAAgB,CAAC/hN,IAAjB,GAAwB,aAAc3K,8DAAA,CAAwB;AAAEr4B,IAAAA,OAAO,EAAE,CAAC,CAACghB,yDAAD,CAAD;AAAX,GAAxB,CAAtC;SAJM+jO;;;AAKN,CAAC,YAAY;AAAE,GAAC,OAAOlqN,SAAP,KAAqB,WAArB,IAAoCA,SAArC;AAOO,CAPtB;;AAQA,CAAC,YAAY;AAAE,GAAC,OAAOqI,SAAP,KAAqB,WAArB,IAAoCA,SAArC,KAAmD7K,gEAAA,CAA0B0sN,gBAA1B,EAA4C;AAAEpkP,IAAAA,YAAY,EAAE,YAAY;AAAE,aAAO,CAAC+iP,iBAAD,EAAoBT,mBAApB,CAAP;AAAkD,KAAhF;AAAkFjjP,IAAAA,OAAO,EAAE,YAAY;AAAE,aAAO,CAACghB,yDAAD,CAAP;AAAwB,KAAjI;AAAmIK,IAAAA,OAAO,EAAE,YAAY;AAAE,aAAO,CAACqiO,iBAAD,EAAoBT,mBAApB,CAAP;AAAkD;AAA5M,GAA5C,CAAnD;AAAiT,CAAhU;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;;;;;;;;;;;;;;;;;;;;;;;;;ACpnDA;AACA;AAEA;AACA;;AAEA,SAASoC,kDAAT,CAA4D/iN,EAA5D,EAAgEr6B,GAAhE,EAAqE;AAAE,MAAIq6B,EAAE,GAAG,CAAT,EAAY;AAC/E,QAAIgjN,GAAG,GAAGjtN,8DAAA,EAAV;;AACAA,IAAAA,4DAAA,CAAsB,CAAtB,EAAyB,GAAzB,EAA8B,EAA9B;AACAA,IAAAA,wDAAA,CAAkB,aAAlB,EAAiC,SAASotN,2EAAT,GAAuF;AAAEptN,MAAAA,2DAAA,CAAqBitN,GAArB;AAA2BjtN,MAAAA,2DAAA,CAAqB,CAArB;;AAAyB,UAAIutN,GAAG,GAAGvtN,yDAAA,CAAmB,CAAnB,CAAV;;AAAiC,aAAOutN,GAAG,CAACh0I,QAAJ,EAAP;AAAwB,KAAvO,EAAyO,OAAzO,EAAkP,SAASk0I,qEAAT,GAAiF;AAAEztN,MAAAA,2DAAA,CAAqBitN,GAArB;AAA2BjtN,MAAAA,2DAAA,CAAqB,CAArB;;AAAyB,UAAIutN,GAAG,GAAGvtN,yDAAA,CAAmB,CAAnB,CAAV;;AAAiC,aAAOutN,GAAG,CAACh0I,QAAJ,EAAP;AAAwB,KAAlb;AACAv5E,IAAAA,oDAAA,CAAc,CAAd;AACAA,IAAAA,4DAAA,CAAsB,CAAtB,EAAyB,MAAzB,EAAiC,EAAjC;AACAA,IAAAA,oDAAA,CAAc,CAAd;AACAA,IAAAA,0DAAA;AACH;;AAAC,MAAIiK,EAAE,GAAG,CAAT,EAAY;AACV,QAAI/9B,MAAM,GAAG8zB,2DAAA,CAAqB,CAArB,CAAb;AACAA,IAAAA,yDAAA,CAAmB,YAAnB,EAAiC9zB,MAAM,CAAC2hP,aAAP,GAAuB,GAAvB,GAA6B3hP,MAAM,CAAC4hP,qBAArE;AACA9tN,IAAAA,uDAAA,CAAiB,CAAjB;AACAA,IAAAA,gEAAA,CAA0B,GAA1B,EAA+B9zB,MAAM,CAAC2hP,aAAtC,EAAqD,GAArD;AACA7tN,IAAAA,uDAAA,CAAiB,CAAjB;AACAA,IAAAA,+DAAA,CAAyB9zB,MAAM,CAAC4hP,qBAAhC;AACH;AAAE;;AACH,SAASI,qDAAT,CAA+DjkN,EAA/D,EAAmEr6B,GAAnE,EAAwE;AAAE,MAAIq6B,EAAE,GAAG,CAAT,EAAY;AAClFjK,IAAAA,4DAAA,CAAsB,CAAtB,EAAyB,MAAzB;AACAA,IAAAA,oDAAA,CAAc,CAAd;AACAA,IAAAA,4DAAA,CAAsB,CAAtB,EAAyB,MAAzB,EAAiC,EAAjC;AACAA,IAAAA,oDAAA,CAAc,CAAd;AACAA,IAAAA,0DAAA;AACH;;AAAC,MAAIiK,EAAE,GAAG,CAAT,EAAY;AACV,QAAI99B,MAAM,GAAG6zB,2DAAA,CAAqB,CAArB,CAAb;AACAA,IAAAA,uDAAA,CAAiB,CAAjB;AACAA,IAAAA,gEAAA,CAA0B,GAA1B,EAA+B7zB,MAAM,CAAC0hP,aAAtC,EAAqD,GAArD;AACA7tN,IAAAA,uDAAA,CAAiB,CAAjB;AACAA,IAAAA,+DAAA,CAAyB7zB,MAAM,CAAC2hP,qBAAhC;AACH;AAAE;;AACH,SAASK,8CAAT,CAAwDlkN,EAAxD,EAA4Dr6B,GAA5D,EAAiE;AAAE,MAAIq6B,EAAE,GAAG,CAAT,EAAY;AAC3EjK,IAAAA,4DAAA,CAAsB,CAAtB,EAAyB,IAAzB,EAA+B,CAA/B;AACAA,IAAAA,wDAAA,CAAkB,CAAlB,EAAqBgtN,kDAArB,EAAyE,CAAzE,EAA4E,CAA5E,EAA+E,GAA/E,EAAoF,CAApF;AACAhtN,IAAAA,wDAAA,CAAkB,CAAlB,EAAqBkuN,qDAArB,EAA4E,CAA5E,EAA+E,CAA/E,EAAkF,MAAlF,EAA0F,EAA1F;AACAluN,IAAAA,0DAAA;AACH;;AAAC,MAAIiK,EAAE,GAAG,CAAT,EAAY;AACVjK,IAAAA,2DAAA,CAAqB,CAArB;;AACA,QAAIutN,GAAG,GAAGvtN,yDAAA,CAAmB,CAAnB,CAAV;;AACAA,IAAAA,yDAAA,CAAmB,UAAnB,EAA+ButN,GAAG,CAACe,WAAJ,EAA/B;AACAtuN,IAAAA,uDAAA,CAAiB,CAAjB;AACAA,IAAAA,wDAAA,CAAkB,MAAlB,EAA0B,IAAIutN,GAAG,CAACiB,UAAJ,EAA9B;AACAxuN,IAAAA,uDAAA,CAAiB,CAAjB;AACAA,IAAAA,wDAAA,CAAkB,MAAlB,EAA0ButN,GAAG,CAACe,WAAJ,EAA1B;AACH;AAAE;;AACH,SAASG,kDAAT,CAA4DxkN,EAA5D,EAAgEr6B,GAAhE,EAAqE;AAAE,MAAIq6B,EAAE,GAAG,CAAT,EAAY;AAC/E,QAAIykN,IAAI,GAAG1uN,8DAAA,EAAX;;AACAA,IAAAA,4DAAA,CAAsB,CAAtB,EAAyB,GAAzB,EAA8B,EAA9B;AACAA,IAAAA,wDAAA,CAAkB,aAAlB,EAAiC,SAAS2uN,2EAAT,GAAuF;AAAE3uN,MAAAA,2DAAA,CAAqB0uN,IAArB;AAA4B,UAAIE,QAAQ,GAAG5uN,2DAAA,GAAuB6uN,SAAtC;AAAiD7uN,MAAAA,2DAAA,CAAqB,CAArB;;AAAyB,UAAIutN,GAAG,GAAGvtN,yDAAA,CAAmB,CAAnB,CAAV;;AAAiC,aAAOutN,GAAG,CAACuB,UAAJ,CAAeF,QAAQ,CAACv7O,KAAxB,CAAP;AAAwC,KAAzS,EAA2S,OAA3S,EAAoT,SAAS07O,qEAAT,GAAiF;AAAE/uN,MAAAA,2DAAA,CAAqB0uN,IAArB;AAA4B,UAAIE,QAAQ,GAAG5uN,2DAAA,GAAuB6uN,SAAtC;AAAiD7uN,MAAAA,2DAAA,CAAqB,CAArB;;AAAyB,UAAIutN,GAAG,GAAGvtN,yDAAA,CAAmB,CAAnB,CAAV;;AAAiC,aAAOutN,GAAG,CAACuB,UAAJ,CAAeF,QAAQ,CAACv7O,KAAxB,CAAP;AAAwC,KAAtjB;AACA2sB,IAAAA,4DAAA,CAAsB,CAAtB,EAAyB,MAAzB,EAAiC,EAAjC;AACAA,IAAAA,oDAAA,CAAc,CAAd;AACAA,IAAAA,0DAAA;AACAA,IAAAA,4DAAA,CAAsB,CAAtB,EAAyB,MAAzB;AACAA,IAAAA,oDAAA,CAAc,CAAd;AACAA,IAAAA,oDAAA,CAAc,CAAd,EAAiB,QAAjB;AACAA,IAAAA,0DAAA;AACH;;AAAC,MAAIiK,EAAE,GAAG,CAAT,EAAY;AACV,QAAI2kN,QAAQ,GAAG5uN,2DAAA,GAAuB6uN,SAAtC;AACA,QAAII,OAAO,GAAGjvN,2DAAA,CAAqB,CAArB,CAAd;AACAA,IAAAA,uDAAA,CAAiB,CAAjB;AACAA,IAAAA,gEAAA,CAA0B,EAA1B,EAA8BivN,OAAO,CAACnB,qBAAtC,EAA6D,GAA7D;AACA9tN,IAAAA,uDAAA,CAAiB,CAAjB;AACAA,IAAAA,+DAAA,CAAyB4uN,QAAQ,CAAC/gN,KAAT,KAAmB,KAAnB,GAA2B+gN,QAAQ,CAAC/gN,KAApC,GAA4C7N,yDAAA,CAAmB,CAAnB,EAAsB,CAAtB,EAAyB4uN,QAAQ,CAAC/gN,KAAlC,EAAyC,EAAzC,CAArE;AACH;AAAE;;AACH,SAASshN,6DAAT,CAAuEllN,EAAvE,EAA2Er6B,GAA3E,EAAgF;AAAE,MAAIq6B,EAAE,GAAG,CAAT,EAAY;AAC1FjK,IAAAA,qEAAA,CAA+B,CAA/B;AACAA,IAAAA,4DAAA,CAAsB,CAAtB,EAAyB,MAAzB,EAAiC,EAAjC;AACAA,IAAAA,oDAAA,CAAc,CAAd;AACAA,IAAAA,0DAAA;AACAA,IAAAA,4DAAA,CAAsB,CAAtB,EAAyB,MAAzB;AACAA,IAAAA,oDAAA,CAAc,CAAd;AACAA,IAAAA,oDAAA,CAAc,CAAd,EAAiB,QAAjB;AACAA,IAAAA,0DAAA;AACAA,IAAAA,mEAAA;AACH;;AAAC,MAAIiK,EAAE,GAAG,CAAT,EAAY;AACV,QAAI2kN,QAAQ,GAAG5uN,2DAAA,GAAuB6uN,SAAtC;AACA,QAAIS,OAAO,GAAGtvN,2DAAA,CAAqB,CAArB,CAAd;AACAA,IAAAA,uDAAA,CAAiB,CAAjB;AACAA,IAAAA,gEAAA,CAA0B,EAA1B,EAA8BsvN,OAAO,CAACC,wBAAtC,EAAgE,GAAhE;AACAvvN,IAAAA,uDAAA,CAAiB,CAAjB;AACAA,IAAAA,+DAAA,CAAyB4uN,QAAQ,CAAC/gN,KAAT,KAAmB,KAAnB,GAA2B+gN,QAAQ,CAAC/gN,KAApC,GAA4C7N,yDAAA,CAAmB,CAAnB,EAAsB,CAAtB,EAAyB4uN,QAAQ,CAAC/gN,KAAlC,EAAyC,EAAzC,CAArE;AACH;AAAE;;AACH,SAAS2hN,8CAAT,CAAwDvlN,EAAxD,EAA4Dr6B,GAA5D,EAAiE;AAAE,MAAIq6B,EAAE,GAAG,CAAT,EAAY;AAC3EjK,IAAAA,4DAAA,CAAsB,CAAtB,EAAyB,IAAzB;AACAA,IAAAA,wDAAA,CAAkB,CAAlB,EAAqByuN,kDAArB,EAAyE,CAAzE,EAA4E,CAA5E,EAA+E,GAA/E,EAAoF,CAApF;AACAzuN,IAAAA,wDAAA,CAAkB,CAAlB,EAAqBmvN,6DAArB,EAAoF,CAApF,EAAuF,CAAvF,EAA0F,cAA1F,EAA0G,EAA1G;AACAnvN,IAAAA,0DAAA;AACH;;AAAC,MAAIiK,EAAE,GAAG,CAAT,EAAY;AACV,QAAI2kN,QAAQ,GAAGh/O,GAAG,CAACi/O,SAAnB;AACA7uN,IAAAA,2DAAA,CAAqB,CAArB;;AACA,QAAIutN,GAAG,GAAGvtN,yDAAA,CAAmB,CAAnB,CAAV;;AACAA,IAAAA,yDAAA,CAAmB,SAAnB,EAA8ButN,GAAG,CAACiB,UAAJ,OAAqBI,QAAQ,CAACv7O,KAA5D,EAAmE,UAAnE,EAA+Eu7O,QAAQ,CAAC/gN,KAAT,KAAmB,KAAlG;AACA7N,IAAAA,uDAAA,CAAiB,CAAjB;AACAA,IAAAA,wDAAA,CAAkB,MAAlB,EAA0ButN,GAAG,CAACiB,UAAJ,OAAqBI,QAAQ,CAACv7O,KAAxD;AACA2sB,IAAAA,uDAAA,CAAiB,CAAjB;AACAA,IAAAA,wDAAA,CAAkB,MAAlB,EAA0ButN,GAAG,CAACiB,UAAJ,OAAqBI,QAAQ,CAACv7O,KAAxD;AACH;AAAE;;AACH,SAASo8O,kDAAT,CAA4DxlN,EAA5D,EAAgEr6B,GAAhE,EAAqE;AAAE,MAAIq6B,EAAE,GAAG,CAAT,EAAY;AAC/E,QAAIylN,IAAI,GAAG1vN,8DAAA,EAAX;;AACAA,IAAAA,4DAAA,CAAsB,CAAtB,EAAyB,GAAzB,EAA8B,EAA9B;AACAA,IAAAA,wDAAA,CAAkB,aAAlB,EAAiC,SAAS2vN,2EAAT,GAAuF;AAAE3vN,MAAAA,2DAAA,CAAqB0vN,IAArB;AAA4B1vN,MAAAA,2DAAA,CAAqB,CAArB;;AAAyB,UAAIutN,GAAG,GAAGvtN,yDAAA,CAAmB,CAAnB,CAAV;;AAAiC,aAAOutN,GAAG,CAACxgP,IAAJ,EAAP;AAAoB,KAApO,EAAsO,OAAtO,EAA+O,SAAS6iP,qEAAT,GAAiF;AAAE5vN,MAAAA,2DAAA,CAAqB0vN,IAArB;AAA4B1vN,MAAAA,2DAAA,CAAqB,CAArB;;AAAyB,UAAIutN,GAAG,GAAGvtN,yDAAA,CAAmB,CAAnB,CAAV;;AAAiC,aAAOutN,GAAG,CAACxgP,IAAJ,EAAP;AAAoB,KAA5a;AACAizB,IAAAA,oDAAA,CAAc,CAAd;AACAA,IAAAA,4DAAA,CAAsB,CAAtB,EAAyB,MAAzB,EAAiC,EAAjC;AACAA,IAAAA,oDAAA,CAAc,CAAd;AACAA,IAAAA,0DAAA;AACH;;AAAC,MAAIiK,EAAE,GAAG,CAAT,EAAY;AACV,QAAIrZ,OAAO,GAAGoP,2DAAA,CAAqB,CAArB,CAAd;AACAA,IAAAA,yDAAA,CAAmB,YAAnB,EAAiCpP,OAAO,CAACi/N,SAAR,GAAoB,GAApB,GAA0Bj/N,OAAO,CAACk9N,qBAAnE;AACA9tN,IAAAA,uDAAA,CAAiB,CAAjB;AACAA,IAAAA,gEAAA,CAA0B,GAA1B,EAA+BpP,OAAO,CAACi/N,SAAvC,EAAkD,GAAlD;AACA7vN,IAAAA,uDAAA,CAAiB,CAAjB;AACAA,IAAAA,+DAAA,CAAyBpP,OAAO,CAACk9N,qBAAjC;AACH;AAAE;;AACH,SAASgC,qDAAT,CAA+D7lN,EAA/D,EAAmEr6B,GAAnE,EAAwE;AAAE,MAAIq6B,EAAE,GAAG,CAAT,EAAY;AAClFjK,IAAAA,4DAAA,CAAsB,CAAtB,EAAyB,MAAzB;AACAA,IAAAA,oDAAA,CAAc,CAAd;AACAA,IAAAA,4DAAA,CAAsB,CAAtB,EAAyB,MAAzB,EAAiC,EAAjC;AACAA,IAAAA,oDAAA,CAAc,CAAd;AACAA,IAAAA,0DAAA;AACH;;AAAC,MAAIiK,EAAE,GAAG,CAAT,EAAY;AACV,QAAI8lN,OAAO,GAAG/vN,2DAAA,CAAqB,CAArB,CAAd;AACAA,IAAAA,uDAAA,CAAiB,CAAjB;AACAA,IAAAA,gEAAA,CAA0B,GAA1B,EAA+B+vN,OAAO,CAACF,SAAvC,EAAkD,GAAlD;AACA7vN,IAAAA,uDAAA,CAAiB,CAAjB;AACAA,IAAAA,+DAAA,CAAyB+vN,OAAO,CAACjC,qBAAjC;AACH;AAAE;;AACH,SAASkC,8CAAT,CAAwD/lN,EAAxD,EAA4Dr6B,GAA5D,EAAiE;AAAE,MAAIq6B,EAAE,GAAG,CAAT,EAAY;AAC3EjK,IAAAA,4DAAA,CAAsB,CAAtB,EAAyB,IAAzB,EAA+B,EAA/B;AACAA,IAAAA,wDAAA,CAAkB,CAAlB,EAAqByvN,kDAArB,EAAyE,CAAzE,EAA4E,CAA5E,EAA+E,GAA/E,EAAoF,CAApF;AACAzvN,IAAAA,wDAAA,CAAkB,CAAlB,EAAqB8vN,qDAArB,EAA4E,CAA5E,EAA+E,CAA/E,EAAkF,MAAlF,EAA0F,EAA1F;AACA9vN,IAAAA,0DAAA;AACH;;AAAC,MAAIiK,EAAE,GAAG,CAAT,EAAY;AACVjK,IAAAA,2DAAA,CAAqB,CAArB;;AACA,QAAIutN,GAAG,GAAGvtN,yDAAA,CAAmB,CAAnB,CAAV;;AACAA,IAAAA,yDAAA,CAAmB,UAAnB,EAA+ButN,GAAG,CAAC0C,UAAJ,EAA/B;AACAjwN,IAAAA,uDAAA,CAAiB,CAAjB;AACAA,IAAAA,wDAAA,CAAkB,MAAlB,EAA0B,CAACutN,GAAG,CAAC0C,UAAJ,EAA3B;AACAjwN,IAAAA,uDAAA,CAAiB,CAAjB;AACAA,IAAAA,wDAAA,CAAkB,MAAlB,EAA0ButN,GAAG,CAAC0C,UAAJ,EAA1B;AACH;AAAE;;AACH,SAASC,yCAAT,CAAmDjmN,EAAnD,EAAuDr6B,GAAvD,EAA4D;AAAE,MAAIq6B,EAAE,GAAG,CAAT,EAAY;AACtEjK,IAAAA,4DAAA,CAAsB,CAAtB,EAAyB,IAAzB,EAA+B,CAA/B;AACAA,IAAAA,wDAAA,CAAkB,CAAlB,EAAqBmuN,8CAArB,EAAqE,CAArE,EAAwE,CAAxE,EAA2E,IAA3E,EAAiF,CAAjF;AACAnuN,IAAAA,4DAAA,CAAsB,CAAtB,EAAyB,IAAzB,EAA+B,CAA/B;AACAA,IAAAA,oDAAA,CAAc,CAAd;AACAA,IAAAA,0DAAA;AACAA,IAAAA,wDAAA,CAAkB,CAAlB,EAAqBwvN,8CAArB,EAAqE,CAArE,EAAwE,CAAxE,EAA2E,IAA3E,EAAiF,CAAjF;AACAxvN,IAAAA,wDAAA,CAAkB,CAAlB,EAAqBgwN,8CAArB,EAAqE,CAArE,EAAwE,CAAxE,EAA2E,IAA3E,EAAiF,CAAjF;AACAhwN,IAAAA,0DAAA;AACH;;AAAC,MAAIiK,EAAE,GAAG,CAAT,EAAY;AACV,QAAI3f,MAAM,GAAG0V,2DAAA,EAAb;;AACA,QAAIutN,GAAG,GAAGvtN,yDAAA,CAAmB,CAAnB,CAAV;;AACAA,IAAAA,yDAAA,CAAmB,YAAnB,EAAiC1V,MAAM,CAAC6lO,UAAxC;AACAnwN,IAAAA,yDAAA,CAAmB,YAAnB,EAAiC1V,MAAM,CAAC8lO,2BAAxC;AACApwN,IAAAA,uDAAA,CAAiB,CAAjB;AACAA,IAAAA,wDAAA,CAAkB,MAAlB,EAA0B1V,MAAM,CAAC+lO,cAAjC;AACArwN,IAAAA,uDAAA,CAAiB,CAAjB;AACAA,IAAAA,gEAAA,CAA0B,GAA1B,EAA+ButN,GAAG,CAACiB,UAAJ,EAA/B,EAAiD,KAAjD,EAAwDjB,GAAG,CAACgD,WAAJ,EAAxD,EAA2E,GAA3E;AACAvwN,IAAAA,uDAAA,CAAiB,CAAjB;AACAA,IAAAA,wDAAA,CAAkB,SAAlB,EAA6ButN,GAAG,CAACiD,KAAjC,EAAwC,cAAxC,EAAwDlmO,MAAM,CAACmmO,YAA/D;AACAzwN,IAAAA,uDAAA,CAAiB,CAAjB;AACAA,IAAAA,wDAAA,CAAkB,MAAlB,EAA0B1V,MAAM,CAAC+lO,cAAjC;AACH;AAAE;;AACH,IAAIK,iBAAiB;AAAG;AAAe,YAAY;AAC/C,WAASA,iBAAT,GAA6B;AACzB,SAAK7sC,MAAL,GAAc,IAAI12L,uDAAJ,EAAd;AACA,SAAKwjO,SAAL,GAAiB,EAAjB;AACA,SAAKC,UAAL,GAAkB,uBAAlB;AACH;;AACDF,EAAAA,iBAAiB,CAACtkN,SAAlB,CAA4BykN,SAA5B,GAAwC,YAAY;AAAE,WAAO,KAAKD,UAAZ;AAAyB,GAA/E;AACA;AACJ;AACA;AACA;AACA;;;AACIF,EAAAA,iBAAiB,CAACtkN,SAAlB,CAA4B0kN,QAA5B,GAAuC,UAAUtwN,QAAV,EAAoB;AACvD,QAAIA,QAAQ,CAAClxB,EAAT,IAAe,IAAnB,EAAyB;AACrBkxB,MAAAA,QAAQ,CAAClxB,EAAT,GAAc,KAAKshP,UAAnB;AACH;;AACD,QAAI,CAAC,KAAKD,SAAL,CAAenwN,QAAQ,CAAClxB,EAAxB,CAAL,EAAkC;AAC9B,WAAKqhP,SAAL,CAAenwN,QAAQ,CAAClxB,EAAxB,IAA8BkxB,QAA9B;AACA,aAAO,IAAP;AACH,KAHD,MAIK;AACD,aAAO,KAAKuwN,cAAL,CAAoBvwN,QAApB,CAAP;AACH;AACJ,GAXD;AAYA;AACJ;AACA;AACA;;;AACIkwN,EAAAA,iBAAiB,CAACtkN,SAAlB,CAA4B2kN,cAA5B,GAA6C,UAAUvwN,QAAV,EAAoB;AAC7D,QAAIwwN,OAAO,GAAG,KAAd;;AACA,SAAK,IAAIlwG,IAAT,IAAiB,KAAK6vG,SAAL,CAAenwN,QAAQ,CAAClxB,EAAxB,CAAjB,EAA8C;AAC1C,UAAIkxB,QAAQ,CAACsgH,IAAD,CAAR,KAAmB,KAAK6vG,SAAL,CAAenwN,QAAQ,CAAClxB,EAAxB,EAA4BwxI,IAA5B,CAAvB,EAA0D;AACtD,aAAK6vG,SAAL,CAAenwN,QAAQ,CAAClxB,EAAxB,EAA4BwxI,IAA5B,IAAoCtgH,QAAQ,CAACsgH,IAAD,CAA5C;AACAkwG,QAAAA,OAAO,GAAG,IAAV;AACH;AACJ;;AACD,WAAOA,OAAP;AACH,GATD;AAUA;AACJ;AACA;;;AACIN,EAAAA,iBAAiB,CAACtkN,SAAlB,CAA4B6kN,cAA5B,GAA6C,UAAU3hP,EAAV,EAAc;AACvD,QAAI,KAAKqhP,SAAL,CAAerhP,EAAf,CAAJ,EAAwB;AACpB,aAAO,KAAKqhP,SAAL,CAAerhP,EAAf,EAAmB4hP,WAA1B;AACH;AACJ,GAJD;AAKA;AACJ;AACA;;;AACIR,EAAAA,iBAAiB,CAACtkN,SAAlB,CAA4B+kN,cAA5B,GAA6C,UAAU7hP,EAAV,EAAcmX,IAAd,EAAoB;AAC7D,QAAI,KAAKkqO,SAAL,CAAerhP,EAAf,CAAJ,EAAwB;AACpB,UAAIkxB,QAAQ,GAAG,KAAKmwN,SAAL,CAAerhP,EAAf,CAAf;AACA,UAAI8hP,OAAO,GAAG/yL,IAAI,CAACyC,IAAL,CAAUtgC,QAAQ,CAAC6wN,UAAT,GAAsB7wN,QAAQ,CAAC8wN,YAAzC,CAAd;;AACA,UAAI7qO,IAAI,IAAI2qO,OAAR,IAAmB,KAAK3qO,IAA5B,EAAkC;AAC9B,aAAKkqO,SAAL,CAAerhP,EAAf,EAAmB4hP,WAAnB,GAAiCzqO,IAAjC;AACA,aAAKo9L,MAAL,CAAYh2L,IAAZ,CAAiBve,EAAjB;AACH;AACJ;AACJ,GATD;AAUA;AACJ;AACA;;;AACIohP,EAAAA,iBAAiB,CAACtkN,SAAlB,CAA4BmlN,aAA5B,GAA4C,UAAUjiP,EAAV,EAAc+hP,UAAd,EAA0B;AAClE,QAAI,KAAKV,SAAL,CAAerhP,EAAf,KAAsB,KAAK+hP,UAA/B,EAA2C;AACvC,WAAKV,SAAL,CAAerhP,EAAf,EAAmB+hP,UAAnB,GAAgCA,UAAhC;AACA,WAAKxtC,MAAL,CAAYh2L,IAAZ,CAAiBve,EAAjB;AACH;AACJ,GALD;AAMA;AACJ;AACA;;;AACIohP,EAAAA,iBAAiB,CAACtkN,SAAlB,CAA4BolN,eAA5B,GAA8C,UAAUliP,EAAV,EAAcgiP,YAAd,EAA4B;AACtE,QAAI,KAAKX,SAAL,CAAerhP,EAAf,CAAJ,EAAwB;AACpB,WAAKqhP,SAAL,CAAerhP,EAAf,EAAmBgiP,YAAnB,GAAkCA,YAAlC;AACA,WAAKztC,MAAL,CAAYh2L,IAAZ,CAAiBve,EAAjB;AACH;AACJ,GALD;AAMA;AACJ;AACA;AACA;;;AACIohP,EAAAA,iBAAiB,CAACtkN,SAAlB,CAA4BqlN,WAA5B,GAA0C,UAAUniP,EAAV,EAAc;AACpD,QAAIA,EAAE,KAAK,KAAK,CAAhB,EAAmB;AAAEA,MAAAA,EAAE,GAAG,KAAKshP,UAAV;AAAuB;;AAC5C,QAAI,KAAKD,SAAL,CAAerhP,EAAf,CAAJ,EAAwB;AACpB,aAAO,KAAKyyB,KAAL,CAAW,KAAK4uN,SAAL,CAAerhP,EAAf,CAAX,CAAP;AACH;;AACD,WAAO,EAAP;AACH,GAND;AAOA;AACJ;AACA;;;AACIohP,EAAAA,iBAAiB,CAACtkN,SAAlB,CAA4BrK,KAA5B,GAAoC,UAAUzJ,GAAV,EAAe;AAC/C,QAAIy3B,MAAM,GAAG,EAAb;;AACA,SAAK,IAAIj3C,CAAT,IAAcwf,GAAd,EAAmB;AACf,UAAIA,GAAG,CAAC+T,cAAJ,CAAmBvzB,CAAnB,CAAJ,EAA2B;AACvBi3C,QAAAA,MAAM,CAACj3C,CAAD,CAAN,GAAYwf,GAAG,CAACxf,CAAD,CAAf;AACH;AACJ;;AACD,WAAOi3C,MAAP;AACH,GARD;;AASJ2gM,EAAAA,iBAAiB,CAACzuN,IAAlB,GAAyB,SAASyvN,yBAAT,CAAmCvvN,CAAnC,EAAsC;AAAE,WAAO,KAAKA,CAAC,IAAIuuN,iBAAV,GAAP;AAAwC,GAAzG;;AACAA,EAAAA,iBAAiB,CAACruN,KAAlB,GAA0B,aAAcrC,gEAAA,CAA0B;AAAEuC,IAAAA,KAAK,EAAEmuN,iBAAT;AAA4BlgP,IAAAA,OAAO,EAAE,UAAU2xB,CAAV,EAAa;AAAE,aAAOuuN,iBAAiB,CAACzuN,IAAlB,CAAuBE,CAAvB,CAAP;AAAmC;AAAvF,GAA1B,CAAxC;AAEI,SAAOuuN,iBAAP;AACH,CAxGsC,EAAvC;;AA0GA,IAAIiB,YAAY,GAAIn9M,MAAD,IAAuC,UAAUylJ,UAAV,EAAsBlqI,MAAtB,EAA8B9nB,GAA9B,EAAmCi6B,IAAnC,EAAyC;AAC/F,MAAI49G,CAAC,GAAGnzI,SAAS,CAAC79B,MAAlB;AAAA,MAA0B8/B,CAAC,GAAGkxI,CAAC,GAAG,CAAJ,GAAQ/vH,MAAR,GAAiBmS,IAAI,KAAK,IAAT,GAAgBA,IAAI,GAAG59B,MAAM,CAACutN,wBAAP,CAAgC9hM,MAAhC,EAAwC9nB,GAAxC,CAAvB,GAAsEi6B,IAArH;AAAA,MAA2Hn2B,CAA3H;AACA,MAAI,OAAO+lN,OAAP,KAAmB,QAAnB,IAA+B,OAAOA,OAAO,CAACC,QAAf,KAA4B,UAA/D,EAA2EnjN,CAAC,GAAGkjN,OAAO,CAACC,QAAR,CAAiB93D,UAAjB,EAA6BlqI,MAA7B,EAAqC9nB,GAArC,EAA0Ci6B,IAA1C,CAAJ,CAA3E,KACK,KAAK,IAAIppD,CAAC,GAAGmhL,UAAU,CAACnrL,MAAX,GAAoB,CAAjC,EAAoCgK,CAAC,IAAI,CAAzC,EAA4CA,CAAC,EAA7C,EAAiD,IAAIizB,CAAC,GAAGkuJ,UAAU,CAACnhL,CAAD,CAAlB,EAAuB81B,CAAC,GAAG,CAACkxI,CAAC,GAAG,CAAJ,GAAQ/zI,CAAC,CAAC6C,CAAD,CAAT,GAAekxI,CAAC,GAAG,CAAJ,GAAQ/zI,CAAC,CAACgkB,MAAD,EAAS9nB,GAAT,EAAc2G,CAAd,CAAT,GAA4B7C,CAAC,CAACgkB,MAAD,EAAS9nB,GAAT,CAA7C,KAA+D2G,CAAnE;AAC7E,SAAOkxI,CAAC,GAAG,CAAJ,IAASlxI,CAAT,IAActK,MAAM,CAAC2iD,cAAP,CAAsBl3B,MAAtB,EAA8B9nB,GAA9B,EAAmC2G,CAAnC,CAAd,EAAqDA,CAA5D;AACH,CALD;;AAMA,IAAIojN,UAAU,GAAIx9M,MAAD,IAAuC,UAAU8vC,CAAV,EAAahsE,CAAb,EAAgB;AACpE,MAAI,OAAOw5O,OAAP,KAAmB,QAAnB,IAA+B,OAAOA,OAAO,CAAChqK,QAAf,KAA4B,UAA/D,EAA2E,OAAOgqK,OAAO,CAAChqK,QAAR,CAAiBxD,CAAjB,EAAoBhsE,CAApB,CAAP;AAC9E,CAFD;;AAGA,IAAI25O,YAAY,GAAGr8N,MAAM,CAACs8N,gBAA1B;;AACA,IAAIC,YAAY;AAAG;AAAe,YAAY;AAC1C,WAASA,YAAT,CAAsBC,OAAtB,EAA+B;AAC3B,SAAKA,OAAL,GAAeA,OAAf,CAD2B,CAE3B;;AACA,SAAKx0O,KAAL,GAAa,EAAb;AACH;;AACDu0O,EAAAA,YAAY,CAAC/lN,SAAb,CAAuBimN,SAAvB,GAAmC,UAAUC,UAAV,EAAsB/lI,IAAtB,EAA4B;AAC3D;AACA;AACA;AACA;AACA,QAAI,EAAE+lI,UAAU,YAAYhrN,KAAxB,CAAJ,EAAoC;AAChC,UAAIk3I,GAAG,GAAGjyD,IAAI,CAACj9G,EAAL,IAAW,KAAK8iP,OAAL,CAAavB,SAAb,EAArB;;AACA,UAAI,KAAKjzO,KAAL,CAAW4gK,GAAX,CAAJ,EAAqB;AACjB,eAAO,KAAK5gK,KAAL,CAAW4gK,GAAX,EAAgB3jE,KAAvB;AACH,OAFD,MAGK;AACD,eAAOy3I,UAAP;AACH;AACJ;;AACD,QAAIC,cAAc,GAAGhmI,IAAI,CAAC8kI,UAAL,IAAmB9kI,IAAI,CAAC8kI,UAAL,KAAoBiB,UAAU,CAACxjP,MAAvE;AACA,QAAI0xB,QAAQ,GAAG,KAAKytD,cAAL,CAAoBqkK,UAApB,EAAgC/lI,IAAhC,CAAf;AACA,QAAIj9G,EAAE,GAAGkxB,QAAQ,CAAClxB,EAAlB;AACA,QAAIs5G,KAAJ,EAAWC,GAAX;AACA,QAAI2pI,OAAO,GAAGhyN,QAAQ,CAAC8wN,YAAvB;AACA,QAAImB,UAAU,GAAG,KAAKL,OAAL,CAAatB,QAAb,CAAsBtwN,QAAtB,CAAjB;;AACA,QAAI,CAAC+xN,cAAD,IAAmBD,UAAU,YAAYhrN,KAA7C,EAAoD;AAChDkrN,MAAAA,OAAO,GAAG,CAACA,OAAD,IAAYP,YAAtB;AACArpI,MAAAA,KAAK,GAAG,CAACpoF,QAAQ,CAAC0wN,WAAT,GAAuB,CAAxB,IAA6BsB,OAArC;AACA3pI,MAAAA,GAAG,GAAGD,KAAK,GAAG4pI,OAAd;AACA,UAAIE,WAAW,GAAG,KAAKC,gBAAL,CAAsBrjP,EAAtB,EAA0BgjP,UAA1B,EAAsC1pI,KAAtC,EAA6CC,GAA7C,CAAlB;;AACA,UAAI6pI,WAAJ,EAAiB;AACb,eAAO,KAAK90O,KAAL,CAAWtO,EAAX,EAAeurG,KAAtB;AACH,OAFD,MAGK;AACD,YAAIA,KAAK,GAAGy3I,UAAU,CAACz3I,KAAX,CAAiB+N,KAAjB,EAAwBC,GAAxB,CAAZ;AACA,aAAK+pI,SAAL,CAAetjP,EAAf,EAAmBgjP,UAAnB,EAA+Bz3I,KAA/B,EAAsC+N,KAAtC,EAA6CC,GAA7C;AACA,aAAKupI,OAAL,CAAavuC,MAAb,CAAoBh2L,IAApB,CAAyBve,EAAzB;AACA,eAAOurG,KAAP;AACH;AACJ,KAdD,MAeK;AACD,UAAI43I,UAAJ,EAAgB;AACZ,aAAKL,OAAL,CAAavuC,MAAb,CAAoBh2L,IAApB,CAAyBve,EAAzB;AACH,OAHA,CAID;AACA;;;AACA,WAAKsjP,SAAL,CAAetjP,EAAf,EAAmBgjP,UAAnB,EAA+BA,UAA/B,EAA2C1pI,KAA3C,EAAkDC,GAAlD;AACA,aAAOypI,UAAP;AACH;AACJ,GA5CD;AA6CA;AACJ;AACA;;;AACIH,EAAAA,YAAY,CAAC/lN,SAAb,CAAuB6hD,cAAvB,GAAwC,UAAUqkK,UAAV,EAAsBzwP,MAAtB,EAA8B;AAClE,SAAKgxP,WAAL,CAAiBhxP,MAAjB;AACA,WAAO;AACHyN,MAAAA,EAAE,EAAEzN,MAAM,CAACyN,EAAP,IAAa,IAAb,GAAoBzN,MAAM,CAACyN,EAA3B,GAAgC,KAAK8iP,OAAL,CAAavB,SAAb,EADjC;AAEHS,MAAAA,YAAY,EAAE,CAACzvP,MAAM,CAACyvP,YAAR,IAAwB,CAFnC;AAGHJ,MAAAA,WAAW,EAAE,CAACrvP,MAAM,CAACqvP,WAAR,IAAuB,CAHjC;AAIHG,MAAAA,UAAU,EAAE,CAACxvP,MAAM,CAACwvP,UAAR,IAAsBiB,UAAU,CAACxjP;AAJ1C,KAAP;AAMH,GARD;AASA;AACJ;AACA;;;AACIqjP,EAAAA,YAAY,CAAC/lN,SAAb,CAAuBymN,WAAvB,GAAqC,UAAUhxP,MAAV,EAAkB;AACnD,QAAI8oB,QAAQ,GAAG,CAAC,cAAD,EAAiB,aAAjB,CAAf;AACA,QAAImoO,OAAO,GAAGnoO,QAAQ,CAAC7e,MAAT,CAAgB,UAAUg1I,IAAV,EAAgB;AAAE,aAAO,EAAEA,IAAI,IAAIj/I,MAAV,CAAP;AAA2B,KAA7D,CAAd;;AACA,QAAI,IAAIixP,OAAO,CAAChkP,MAAhB,EAAwB;AACpB,YAAM,IAAIwgD,KAAJ,CAAU,0EAA0EwjM,OAAO,CAAC5jP,IAAR,CAAa,IAAb,CAApF,CAAN;AACH;AACJ,GAND;AAOA;AACJ;AACA;AACA;AACA;AACA;;;AACIijP,EAAAA,YAAY,CAAC/lN,SAAb,CAAuBwmN,SAAvB,GAAmC,UAAUtjP,EAAV,EAAcgjP,UAAd,EAA0Bz3I,KAA1B,EAAiC+N,KAAjC,EAAwCC,GAAxC,EAA6C;AAC5E,SAAKjrG,KAAL,CAAWtO,EAAX,IAAiB;AACbgjP,MAAAA,UAAU,EAAEA,UADC;AAEbh+I,MAAAA,IAAI,EAAEg+I,UAAU,CAACxjP,MAFJ;AAGb+rG,MAAAA,KAAK,EAAEA,KAHM;AAIb+N,MAAAA,KAAK,EAAEA,KAJM;AAKbC,MAAAA,GAAG,EAAEA;AALQ,KAAjB;AAOH,GARD;AASA;AACJ;AACA;;;AACIspI,EAAAA,YAAY,CAAC/lN,SAAb,CAAuBumN,gBAAvB,GAA0C,UAAUrjP,EAAV,EAAcgjP,UAAd,EAA0B1pI,KAA1B,EAAiCC,GAAjC,EAAsC;AAC5E,QAAIjrG,KAAK,GAAG,KAAKA,KAAL,CAAWtO,EAAX,CAAZ;;AACA,QAAI,CAACsO,KAAL,EAAY;AACR,aAAO,KAAP;AACH;;AACD,QAAIm1O,mBAAmB,GAAGn1O,KAAK,CAAC02F,IAAN,KAAeg+I,UAAU,CAACxjP,MAA1B,IACtB8O,KAAK,CAACgrG,KAAN,KAAgBA,KADM,IAEtBhrG,KAAK,CAACirG,GAAN,KAAcA,GAFlB;;AAGA,QAAI,CAACkqI,mBAAL,EAA0B;AACtB,aAAO,KAAP;AACH;;AACD,WAAOn1O,KAAK,CAACi9F,KAAN,CAAYtG,KAAZ,CAAkB,UAAUppF,OAAV,EAAmBw4B,KAAnB,EAA0B;AAAE,aAAOx4B,OAAO,KAAKmnO,UAAU,CAAC1pI,KAAK,GAAGjlE,KAAT,CAA7B;AAA+C,KAA7F,CAAP;AACH,GAZD;;AAaAwuM,EAAAA,YAAY,GAAGR,YAAY,CAAC,CAAEK,UAAU,CAAC,mBAAD,EAAsB,CAACtB,iBAAD,CAAtB,CAAZ,CAAD,EACxByB,YADwB,CAA3B;;AAEJA,EAAAA,YAAY,CAAClwN,IAAb,GAAoB,SAAS+wN,oBAAT,CAA8B7wN,CAA9B,EAAiC;AAAE,WAAO,KAAKA,CAAC,IAAIgwN,YAAV,EAAwBnyN,+DAAA,CAAyB0wN,iBAAzB,EAA4C,EAA5C,CAAxB,CAAP;AAAkF,GAAzI;;AACAyB,EAAAA,YAAY,CAACc,KAAb,GAAqB,aAAcjzN,0DAAA,CAAoB;AAAErtB,IAAAA,IAAI,EAAE,UAAR;AAAoByG,IAAAA,IAAI,EAAE+4O,YAA1B;AAAwCgB,IAAAA,IAAI,EAAE;AAA9C,GAApB,CAAnC;;AACA,GAAC,YAAY;AAAE,KAAC,OAAO3wN,SAAP,KAAqB,WAArB,IAAoCA,SAArC;AAMwD,GANvE;;AAOI,SAAO2vN,YAAP;AACH,CApHiC,EAAlC;AAsHA;AACA;AACA;AACA;;;AACA,IAAIiB,gBAAgB,GAAG,0kFAAvB;AACA,IAAIC,cAAc,GAAG,m1DAArB;;AAEA,IAAIC,YAAY,GAAI9+M,MAAD,IAAuC,UAAUylJ,UAAV,EAAsBlqI,MAAtB,EAA8B9nB,GAA9B,EAAmCi6B,IAAnC,EAAyC;AAC/F,MAAI49G,CAAC,GAAGnzI,SAAS,CAAC79B,MAAlB;AAAA,MAA0B8/B,CAAC,GAAGkxI,CAAC,GAAG,CAAJ,GAAQ/vH,MAAR,GAAiBmS,IAAI,KAAK,IAAT,GAAgBA,IAAI,GAAG59B,MAAM,CAACutN,wBAAP,CAAgC9hM,MAAhC,EAAwC9nB,GAAxC,CAAvB,GAAsEi6B,IAArH;AAAA,MAA2Hn2B,CAA3H;AACA,MAAI,OAAO+lN,OAAP,KAAmB,QAAnB,IAA+B,OAAOA,OAAO,CAACC,QAAf,KAA4B,UAA/D,EAA2EnjN,CAAC,GAAGkjN,OAAO,CAACC,QAAR,CAAiB93D,UAAjB,EAA6BlqI,MAA7B,EAAqC9nB,GAArC,EAA0Ci6B,IAA1C,CAAJ,CAA3E,KACK,KAAK,IAAIppD,CAAC,GAAGmhL,UAAU,CAACnrL,MAAX,GAAoB,CAAjC,EAAoCgK,CAAC,IAAI,CAAzC,EAA4CA,CAAC,EAA7C,EAAiD,IAAIizB,CAAC,GAAGkuJ,UAAU,CAACnhL,CAAD,CAAlB,EAAuB81B,CAAC,GAAG,CAACkxI,CAAC,GAAG,CAAJ,GAAQ/zI,CAAC,CAAC6C,CAAD,CAAT,GAAekxI,CAAC,GAAG,CAAJ,GAAQ/zI,CAAC,CAACgkB,MAAD,EAAS9nB,GAAT,EAAc2G,CAAd,CAAT,GAA4B7C,CAAC,CAACgkB,MAAD,EAAS9nB,GAAT,CAA7C,KAA+D2G,CAAnE;AAC7E,SAAOkxI,CAAC,GAAG,CAAJ,IAASlxI,CAAT,IAActK,MAAM,CAAC2iD,cAAP,CAAsBl3B,MAAtB,EAA8B9nB,GAA9B,EAAmC2G,CAAnC,CAAd,EAAqDA,CAA5D;AACH,CALD;;AAMA,IAAI2kN,YAAY,GAAI/+M,MAAD,IAAuC,UAAU8vC,CAAV,EAAahsE,CAAb,EAAgB;AACtE,MAAI,OAAOw5O,OAAP,KAAmB,QAAnB,IAA+B,OAAOA,OAAO,CAAChqK,QAAf,KAA4B,UAA/D,EAA2E,OAAOgqK,OAAO,CAAChqK,QAAR,CAAiBxD,CAAjB,EAAoBhsE,CAApB,CAAP;AAC9E,CAFD;;AAGA,SAASk7O,eAAT,CAAyB94L,KAAzB,EAAgC;AAC5B,SAAO,CAAC,CAACA,KAAF,IAAWA,KAAK,KAAK,OAA5B;AACH;AACD;AACA;AACA;;;AACA,IAAI+4L,2BAA2B;AAAG;AAAe,YAAY;AACzD,WAASA,2BAAT,GAAuC;AACnC,SAAKC,OAAL,GAAe,CAAf;AACA,SAAK7F,aAAL,GAAqB,UAArB;AACA,SAAKgC,SAAL,GAAiB,MAAjB;AACA,SAAKO,2BAAL,GAAmC,YAAnC;AACA,SAAKtC,qBAAL,GAA6B,MAA7B;AACA,SAAKyB,wBAAL,GAAgC,gBAAhC;AACA,SAAKoE,UAAL,GAAkB,IAAIxmO,uDAAJ,EAAlB;AACA,SAAKymO,oBAAL,GAA4B,IAAIzmO,uDAAJ,EAA5B;AACA,SAAK0mO,eAAL,GAAuB,IAAvB;AACA,SAAKC,SAAL,GAAiB,KAAjB;AACA,SAAKC,WAAL,GAAmB,KAAnB;AACH;;AACDzvN,EAAAA,MAAM,CAAC2iD,cAAP,CAAsBwsK,2BAA2B,CAACrnN,SAAlD,EAA6D,gBAA7D,EAA+E;AAC3ExpC,IAAAA,GAAG,EAAE,YAAY;AACb,aAAO,KAAKixP,eAAZ;AACH,KAH0E;AAI3E5sN,IAAAA,GAAG,EAAE,UAAU5zB,KAAV,EAAiB;AAClB,WAAKwgP,eAAL,GAAuBL,eAAe,CAACngP,KAAD,CAAtC;AACH,KAN0E;AAO3Eo0E,IAAAA,UAAU,EAAE,IAP+D;AAQ3EC,IAAAA,YAAY,EAAE;AAR6D,GAA/E;AAUApjD,EAAAA,MAAM,CAAC2iD,cAAP,CAAsBwsK,2BAA2B,CAACrnN,SAAlD,EAA6D,UAA7D,EAAyE;AACrExpC,IAAAA,GAAG,EAAE,YAAY;AACb,aAAO,KAAKkxP,SAAZ;AACH,KAHoE;AAIrE7sN,IAAAA,GAAG,EAAE,UAAU5zB,KAAV,EAAiB;AAClB,WAAKygP,SAAL,GAAiBN,eAAe,CAACngP,KAAD,CAAhC;AACH,KANoE;AAOrEo0E,IAAAA,UAAU,EAAE,IAPyD;AAQrEC,IAAAA,YAAY,EAAE;AARuD,GAAzE;AAUApjD,EAAAA,MAAM,CAAC2iD,cAAP,CAAsBwsK,2BAA2B,CAACrnN,SAAlD,EAA6D,YAA7D,EAA2E;AACvExpC,IAAAA,GAAG,EAAE,YAAY;AACb,aAAO,KAAKmxP,WAAZ;AACH,KAHsE;AAIvE9sN,IAAAA,GAAG,EAAE,UAAU5zB,KAAV,EAAiB;AAClB,WAAK0gP,WAAL,GAAmBP,eAAe,CAACngP,KAAD,CAAlC;AACH,KANsE;AAOvEo0E,IAAAA,UAAU,EAAE,IAP2D;AAQvEC,IAAAA,YAAY,EAAE;AARyD,GAA3E;;AAUA+rK,EAAAA,2BAA2B,CAACrnN,SAA5B,CAAsCqkN,YAAtC,GAAqD,UAAU9sM,KAAV,EAAiB;AAClE,WAAOA,KAAP;AACH,GAFD;;AAGA2vM,EAAAA,YAAY,CAAC,CACT32C,oDAAK,EADI,EAET42C,YAAY,CAAC,aAAD,EAAgB1xL,MAAhB,CAFH,CAAD,EAGT4xL,2BAA2B,CAACrnN,SAHnB,EAG8B,IAH9B,EAGoC,KAAK,CAHzC,CAAZ;;AAIAknN,EAAAA,YAAY,CAAC,CACT32C,oDAAK,EADI,EAET42C,YAAY,CAAC,aAAD,EAAgB39N,MAAhB,CAFH,CAAD,EAGT69N,2BAA2B,CAACrnN,SAHnB,EAG8B,SAH9B,EAGyC,KAAK,CAH9C,CAAZ;;AAIAknN,EAAAA,YAAY,CAAC,CACT32C,oDAAK,EADI,EAET42C,YAAY,CAAC,aAAD,EAAgBloF,OAAhB,CAFH,EAGTkoF,YAAY,CAAC,mBAAD,EAAsB,CAACloF,OAAD,CAAtB,CAHH,CAAD,EAITooF,2BAA2B,CAACrnN,SAJnB,EAI8B,gBAJ9B,EAIgD,IAJhD,CAAZ;;AAKAknN,EAAAA,YAAY,CAAC,CACT32C,oDAAK,EADI,EAET42C,YAAY,CAAC,aAAD,EAAgBloF,OAAhB,CAFH,EAGTkoF,YAAY,CAAC,mBAAD,EAAsB,CAACloF,OAAD,CAAtB,CAHH,CAAD,EAITooF,2BAA2B,CAACrnN,SAJnB,EAI8B,UAJ9B,EAI0C,IAJ1C,CAAZ;;AAKAknN,EAAAA,YAAY,CAAC,CACT32C,oDAAK,EADI,EAET42C,YAAY,CAAC,aAAD,EAAgBloF,OAAhB,CAFH,EAGTkoF,YAAY,CAAC,mBAAD,EAAsB,CAACloF,OAAD,CAAtB,CAHH,CAAD,EAITooF,2BAA2B,CAACrnN,SAJnB,EAI8B,YAJ9B,EAI4C,IAJ5C,CAAZ;;AAKAknN,EAAAA,YAAY,CAAC,CACT32C,oDAAK,EADI,EAET42C,YAAY,CAAC,aAAD,EAAgB1xL,MAAhB,CAFH,CAAD,EAGT4xL,2BAA2B,CAACrnN,SAHnB,EAG8B,eAH9B,EAG+C,KAAK,CAHpD,CAAZ;;AAIAknN,EAAAA,YAAY,CAAC,CACT32C,oDAAK,EADI,EAET42C,YAAY,CAAC,aAAD,EAAgB1xL,MAAhB,CAFH,CAAD,EAGT4xL,2BAA2B,CAACrnN,SAHnB,EAG8B,WAH9B,EAG2C,KAAK,CAHhD,CAAZ;;AAIAknN,EAAAA,YAAY,CAAC,CACT32C,oDAAK,EADI,EAET42C,YAAY,CAAC,aAAD,EAAgB1xL,MAAhB,CAFH,CAAD,EAGT4xL,2BAA2B,CAACrnN,SAHnB,EAG8B,6BAH9B,EAG6D,KAAK,CAHlE,CAAZ;;AAIAknN,EAAAA,YAAY,CAAC,CACT32C,oDAAK,EADI,EAET42C,YAAY,CAAC,aAAD,EAAgB1xL,MAAhB,CAFH,CAAD,EAGT4xL,2BAA2B,CAACrnN,SAHnB,EAG8B,uBAH9B,EAGuD,KAAK,CAH5D,CAAZ;;AAIAknN,EAAAA,YAAY,CAAC,CACT32C,oDAAK,EADI,EAET42C,YAAY,CAAC,aAAD,EAAgB1xL,MAAhB,CAFH,CAAD,EAGT4xL,2BAA2B,CAACrnN,SAHnB,EAG8B,0BAH9B,EAG0D,KAAK,CAH/D,CAAZ;;AAIAknN,EAAAA,YAAY,CAAC,CACTvR,qDAAM,EADG,EAETwR,YAAY,CAAC,aAAD,EAAgBpmO,uDAAhB,CAFH,CAAD,EAGTsmO,2BAA2B,CAACrnN,SAHnB,EAG8B,YAH9B,EAG4C,KAAK,CAHjD,CAAZ;;AAIAknN,EAAAA,YAAY,CAAC,CACTvR,qDAAM,EADG,EAETwR,YAAY,CAAC,aAAD,EAAgBpmO,uDAAhB,CAFH,CAAD,EAGTsmO,2BAA2B,CAACrnN,SAHnB,EAG8B,sBAH9B,EAGsD,KAAK,CAH3D,CAAZ;;AAIJqnN,EAAAA,2BAA2B,CAACxxN,IAA5B,GAAmC,SAAS+xN,mCAAT,CAA6C7xN,CAA7C,EAAgD;AAAE,WAAO,KAAKA,CAAC,IAAIsxN,2BAAV,GAAP;AAAkD,GAAvI;;AACAA,EAAAA,2BAA2B,CAAC3pN,IAA5B,GAAmC,aAAc9J,+DAAA,CAAyB;AAAE5mB,IAAAA,IAAI,EAAEq6O,2BAAR;AAAqCrvP,IAAAA,SAAS,EAAE,CAAC,CAAC,qBAAD,CAAD,CAAhD;AAA2E4lB,IAAAA,MAAM,EAAE;AAAE0pO,MAAAA,OAAO,EAAE,SAAX;AAAsB7F,MAAAA,aAAa,EAAE,eAArC;AAAsDgC,MAAAA,SAAS,EAAE,WAAjE;AAA8EO,MAAAA,2BAA2B,EAAE,6BAA3G;AAA0ItC,MAAAA,qBAAqB,EAAE,uBAAjK;AAA0LyB,MAAAA,wBAAwB,EAAE,0BAApN;AAAgPc,MAAAA,cAAc,EAAE,gBAAhQ;AAAkR4D,MAAAA,QAAQ,EAAE,UAA5R;AAAwS9D,MAAAA,UAAU,EAAE,YAApT;AAAkU7gP,MAAAA,EAAE,EAAE;AAAtU,KAAnF;AAAiamf,IAAAA,OAAO,EAAE;AAAEklO,MAAAA,UAAU,EAAE,YAAd;AAA4BC,MAAAA,oBAAoB,EAAE;AAAlD,KAA1a;AAAsflvP,IAAAA,KAAK,EAAE,CAA7f;AAAggBC,IAAAA,IAAI,EAAE,CAAtgB;AAAygBgL,IAAAA,MAAM,EAAE,CAAC,CAAC,CAAD,EAAI,IAAJ,EAAU,SAAV,EAAqB,YAArB,EAAmC,sBAAnC,CAAD,EAA6D,CAAC,GAAD,EAAM,eAAN,CAA7D,EAAqF,CAAC,OAAD,EAAU,gBAAV,EAA4B,CAA5B,EAA+B,YAA/B,EAA6C,CAA7C,EAAgD,MAAhD,CAArF,EAA8I,CAAC,CAAD,EAAI,gBAAJ,CAA9I,EAAqK,CAAC,OAAD,EAAU,qBAAV,EAAiC,CAAjC,EAAoC,UAApC,EAAgD,CAAhD,EAAmD,MAAnD,CAArK,EAAiO,CAAC,CAAD,EAAI,cAAJ,CAAjO,EAAsP,CAAC,CAAD,EAAI,SAAJ,EAAe,UAAf,EAA2B,CAA3B,EAA8B,OAA9B,EAAuC,SAAvC,EAAkD,cAAlD,CAAtP,EAAyT,CAAC,OAAD,EAAU,iBAAV,EAA6B,CAA7B,EAAgC,UAAhC,EAA4C,CAA5C,EAA+C,MAA/C,CAAzT,EAAiX,CAAC,CAAD,EAAI,qBAAJ,CAAjX,EAA6Y,CAAC,UAAD,EAAa,GAAb,EAAkB,CAAlB,EAAqB,aAArB,EAAoC,OAApC,EAA6C,CAA7C,EAAgD,MAAhD,CAA7Y,EAAsc,CAAC,CAAD,EAAI,MAAJ,CAAtc,EAAmd,CAAC,UAAD,EAAa,GAAb,EAAkB,CAAlB,EAAqB,aAArB,EAAoC,OAApC,CAAnd,EAAigB,CAAC,CAAD,EAAI,aAAJ,CAAjgB,EAAqhB,CAAC,CAAD,EAAI,iBAAJ,CAArhB,CAAjhB;AAA+jC/K,IAAAA,QAAQ,EAAE,SAASsvP,oCAAT,CAA8CjqN,EAA9C,EAAkDr6B,GAAlD,EAAuD;AAAE,UAAIq6B,EAAE,GAAG,CAAT,EAAY;AAChtCjK,QAAAA,4DAAA,CAAsB,CAAtB,EAAyB,qBAAzB,EAAgD,CAAhD,EAAmD,CAAnD;AACAA,QAAAA,wDAAA,CAAkB,YAAlB,EAAgC,SAASm0N,8EAAT,CAAwFh3C,MAAxF,EAAgG;AAAE,iBAAOvtM,GAAG,CAAC+jP,UAAJ,CAAe9lO,IAAf,CAAoBsvL,MAApB,CAAP;AAAqC,SAAvK,EAAyK,sBAAzK,EAAiM,SAASi3C,wFAAT,CAAkGj3C,MAAlG,EAA0G;AAAE,iBAAOvtM,GAAG,CAACgkP,oBAAJ,CAAyB/lO,IAAzB,CAA8BsvL,MAA9B,CAAP;AAA+C,SAA5V;AACAn9K,QAAAA,wDAAA,CAAkB,CAAlB,EAAqBkwN,yCAArB,EAAgE,CAAhE,EAAmE,CAAnE,EAAsE,IAAtE,EAA4E,CAA5E;AACAlwN,QAAAA,0DAAA;AACH;;AAAC,UAAIiK,EAAE,GAAG,CAAT,EAAY;AACV,YAAIsjN,GAAG,GAAGvtN,yDAAA,CAAmB,CAAnB,CAAV;;AACAA,QAAAA,wDAAA,CAAkB,IAAlB,EAAwBpwB,GAAG,CAACN,EAA5B,EAAgC,SAAhC,EAA2CM,GAAG,CAAC8jP,OAA/C;AACA1zN,QAAAA,uDAAA,CAAiB,CAAjB;AACAA,QAAAA,wDAAA,CAAkB,MAAlB,EAA0B,EAAEpwB,GAAG,CAACqkP,QAAJ,IAAgB1G,GAAG,CAACiD,KAAJ,CAAU1hP,MAAV,IAAoB,CAAtC,CAA1B;AACH;AAAE,KAVmE;AAUjEulP,IAAAA,UAAU,EAAE,YAAY;AAAE,aAAO,CAACC,2BAAD,EAA8Br0N,iDAA9B,EAA2CA,oDAA3C,CAAP;AAAoE,KAV7B;AAU+Bw0N,IAAAA,KAAK,EAAE,YAAY;AAAE,aAAO,CAACx0N,wDAAD,CAAP;AAA8B,KAVlF;AAUoF00N,IAAAA,MAAM,EAAE,CAAC,m1DAAD,CAV5F;AAUm7DzqN,IAAAA,aAAa,EAAE,CAVl8D;AAUq8D0qN,IAAAA,eAAe,EAAE;AAVt9D,GAAzB,CAAjD;;AAWA,GAAC,YAAY;AAAE,KAAC,OAAOpyN,SAAP,KAAqB,WAArB,IAAoCA,SAArC;AAiCC,GAjChB;;AAkCI,SAAOixN,2BAAP;AACH,CAjJgD,EAAjD;;AAmJA,IAAIoB,YAAY,GAAIrgN,MAAD,IAAuC,UAAUylJ,UAAV,EAAsBlqI,MAAtB,EAA8B9nB,GAA9B,EAAmCi6B,IAAnC,EAAyC;AAC/F,MAAI49G,CAAC,GAAGnzI,SAAS,CAAC79B,MAAlB;AAAA,MAA0B8/B,CAAC,GAAGkxI,CAAC,GAAG,CAAJ,GAAQ/vH,MAAR,GAAiBmS,IAAI,KAAK,IAAT,GAAgBA,IAAI,GAAG59B,MAAM,CAACutN,wBAAP,CAAgC9hM,MAAhC,EAAwC9nB,GAAxC,CAAvB,GAAsEi6B,IAArH;AAAA,MAA2Hn2B,CAA3H;AACA,MAAI,OAAO+lN,OAAP,KAAmB,QAAnB,IAA+B,OAAOA,OAAO,CAACC,QAAf,KAA4B,UAA/D,EAA2EnjN,CAAC,GAAGkjN,OAAO,CAACC,QAAR,CAAiB93D,UAAjB,EAA6BlqI,MAA7B,EAAqC9nB,GAArC,EAA0Ci6B,IAA1C,CAAJ,CAA3E,KACK,KAAK,IAAIppD,CAAC,GAAGmhL,UAAU,CAACnrL,MAAX,GAAoB,CAAjC,EAAoCgK,CAAC,IAAI,CAAzC,EAA4CA,CAAC,EAA7C,EAAiD,IAAIizB,CAAC,GAAGkuJ,UAAU,CAACnhL,CAAD,CAAlB,EAAuB81B,CAAC,GAAG,CAACkxI,CAAC,GAAG,CAAJ,GAAQ/zI,CAAC,CAAC6C,CAAD,CAAT,GAAekxI,CAAC,GAAG,CAAJ,GAAQ/zI,CAAC,CAACgkB,MAAD,EAAS9nB,GAAT,EAAc2G,CAAd,CAAT,GAA4B7C,CAAC,CAACgkB,MAAD,EAAS9nB,GAAT,CAA7C,KAA+D2G,CAAnE;AAC7E,SAAOkxI,CAAC,GAAG,CAAJ,IAASlxI,CAAT,IAActK,MAAM,CAAC2iD,cAAP,CAAsBl3B,MAAtB,EAA8B9nB,GAA9B,EAAmC2G,CAAnC,CAAd,EAAqDA,CAA5D;AACH,CALD;;AAMA,IAAIkmN,YAAY,GAAItgN,MAAD,IAAuC,UAAU8vC,CAAV,EAAahsE,CAAb,EAAgB;AACtE,MAAI,OAAOw5O,OAAP,KAAmB,QAAnB,IAA+B,OAAOA,OAAO,CAAChqK,QAAf,KAA4B,UAA/D,EAA2E,OAAOgqK,OAAO,CAAChqK,QAAR,CAAiBxD,CAAjB,EAAoBhsE,CAApB,CAAP;AAC9E,CAFD;AAGA;AACA;AACA;AACA;AACA;;;AACA,IAAIg8O,2BAA2B;AAAG;AAAe,YAAY;AACzD,WAASA,2BAAT,CAAqClC,OAArC,EAA8C2C,iBAA9C,EAAiE;AAC7D,QAAI/hN,KAAK,GAAG,IAAZ;;AACA,SAAKo/M,OAAL,GAAeA,OAAf;AACA,SAAK2C,iBAAL,GAAyBA,iBAAzB;AACA,SAAKrB,OAAL,GAAe,CAAf;AACA,SAAKC,UAAL,GAAkB,IAAIxmO,uDAAJ,EAAlB;AACA,SAAKymO,oBAAL,GAA4B,IAAIzmO,uDAAJ,EAA5B;AACA,SAAKqjO,KAAL,GAAa,EAAb;AACA,SAAKwE,SAAL,GAAiB,KAAK5C,OAAL,CAAavuC,MAAb,CACZ/gN,SADY,CACF,UAAUwM,EAAV,EAAc;AACzB,UAAI0jC,KAAK,CAAC1jC,EAAN,KAAaA,EAAjB,EAAqB;AACjB0jC,QAAAA,KAAK,CAACiiN,eAAN;;AACAjiN,QAAAA,KAAK,CAAC+hN,iBAAN,CAAwB5mP,YAAxB;;AACA6kC,QAAAA,KAAK,CAAC+hN,iBAAN,CAAwBnpO,aAAxB;AACH;AACJ,KAPgB,CAAjB;AAQH;;AACD0oO,EAAAA,2BAA2B,CAACloN,SAA5B,CAAsC1pC,QAAtC,GAAiD,YAAY;AACzD,QAAI,KAAK4M,EAAL,KAAYklC,SAAhB,EAA2B;AACvB,WAAKllC,EAAL,GAAU,KAAK8iP,OAAL,CAAavB,SAAb,EAAV;AACH;;AACD,SAAKoE,eAAL;AACH,GALD;;AAMAX,EAAAA,2BAA2B,CAACloN,SAA5B,CAAsCkvK,WAAtC,GAAoD,UAAUC,OAAV,EAAmB;AACnE,SAAK05C,eAAL;AACH,GAFD;;AAGAX,EAAAA,2BAA2B,CAACloN,SAA5B,CAAsCv/B,WAAtC,GAAoD,YAAY;AAC5D,SAAKmoP,SAAL,CAAeE,WAAf;AACH,GAFD;AAGA;AACJ;AACA;;;AACIZ,EAAAA,2BAA2B,CAACloN,SAA5B,CAAsCmtE,QAAtC,GAAiD,YAAY;AACzD,SAAK47I,YAAL;AACA,SAAKrG,UAAL,CAAgB,KAAKN,UAAL,KAAoB,CAApC;AACH,GAHD;AAIA;AACJ;AACA;;;AACI8F,EAAAA,2BAA2B,CAACloN,SAA5B,CAAsCr/B,IAAtC,GAA6C,YAAY;AACrD,SAAKooP,YAAL;AACA,SAAKrG,UAAL,CAAgB,KAAKN,UAAL,KAAoB,CAApC;AACH,GAHD;AAIA;AACJ;AACA;;;AACI8F,EAAAA,2BAA2B,CAACloN,SAA5B,CAAsCkiN,WAAtC,GAAoD,YAAY;AAC5D,WAAO,KAAKE,UAAL,OAAsB,CAA7B;AACH,GAFD;AAGA;AACJ;AACA;;;AACI8F,EAAAA,2BAA2B,CAACloN,SAA5B,CAAsC6jN,UAAtC,GAAmD,YAAY;AAC3D,WAAO,KAAKM,WAAL,OAAuB,KAAK/B,UAAL,EAA9B;AACH,GAFD;AAGA;AACJ;AACA;;;AACI8F,EAAAA,2BAA2B,CAACloN,SAA5B,CAAsC0iN,UAAtC,GAAmD,UAAUroO,IAAV,EAAgB;AAC/D,SAAKktO,UAAL,CAAgB9lO,IAAhB,CAAqBpH,IAArB;AACH,GAFD;AAGA;AACJ;AACA;;;AACI6tO,EAAAA,2BAA2B,CAACloN,SAA5B,CAAsCoiN,UAAtC,GAAmD,YAAY;AAC3D,WAAO,KAAK4D,OAAL,CAAanB,cAAb,CAA4B,KAAK3hP,EAAjC,CAAP;AACH,GAFD;AAGA;AACJ;AACA;;;AACIglP,EAAAA,2BAA2B,CAACloN,SAA5B,CAAsCmkN,WAAtC,GAAoD,YAAY;AAC5D,QAAI3uF,IAAI,GAAG,KAAKwwF,OAAL,CAAaX,WAAb,CAAyB,KAAKniP,EAA9B,CAAX;;AACA,QAAIsyJ,IAAI,CAACyvF,UAAL,GAAkB,CAAtB,EAAyB;AACrB;AACA;AACA,aAAO,CAAP;AACH;;AACD,WAAOhzL,IAAI,CAACyC,IAAL,CAAU8gG,IAAI,CAACyvF,UAAL,GAAkBzvF,IAAI,CAAC0vF,YAAjC,CAAP;AACH,GARD;;AASAgD,EAAAA,2BAA2B,CAACloN,SAA5B,CAAsCgpN,aAAtC,GAAsD,YAAY;AAC9D,WAAO,KAAKhD,OAAL,CAAaX,WAAb,CAAyB,KAAKniP,EAA9B,EAAkC+hP,UAAzC;AACH,GAFD;;AAGAiD,EAAAA,2BAA2B,CAACloN,SAA5B,CAAsC+oN,YAAtC,GAAqD,YAAY;AAC7D,QAAI,KAAK/C,OAAL,CAAaX,WAAb,CAAyB,KAAKniP,EAA9B,EAAkCA,EAAlC,IAAwC,IAA5C,EAAkD;AAC9CrL,MAAAA,OAAO,CAAC8wM,IAAR,CAAa,qDAAqD,KAAKzlM,EAA1D,GAA+D,qDAA5E;AACH;AACJ,GAJD;AAKA;AACJ;AACA;AACA;AACA;;;AACIglP,EAAAA,2BAA2B,CAACloN,SAA5B,CAAsC6oN,eAAtC,GAAwD,YAAY;AAChE,QAAIjiN,KAAK,GAAG,IAAZ;;AACA,QAAI4uH,IAAI,GAAG,KAAKwwF,OAAL,CAAaX,WAAb,CAAyB,KAAKniP,EAA9B,CAAX;AACA,QAAI+lP,oBAAoB,GAAG,KAAKC,oBAAL,CAA0B1zF,IAA1B,CAA3B;;AACA,QAAIyzF,oBAAoB,KAAKzzF,IAAI,CAACsvF,WAAlC,EAA+C;AAC3C7vO,MAAAA,UAAU,CAAC,YAAY;AACnB2xB,QAAAA,KAAK,CAAC4gN,oBAAN,CAA2B/lO,IAA3B,CAAgCwnO,oBAAhC;;AACAriN,QAAAA,KAAK,CAACw9M,KAAN,GAAcx9M,KAAK,CAACuiN,eAAN,CAAsB3zF,IAAI,CAACsvF,WAA3B,EAAwCtvF,IAAI,CAAC0vF,YAA7C,EAA2D1vF,IAAI,CAACyvF,UAAhE,EAA4Er+M,KAAK,CAAC0gN,OAAlF,CAAd;AACH,OAHS,CAAV;AAIH,KALD,MAMK;AACD,WAAKlD,KAAL,GAAa,KAAK+E,eAAL,CAAqB3zF,IAAI,CAACsvF,WAA1B,EAAuCtvF,IAAI,CAAC0vF,YAA5C,EAA0D1vF,IAAI,CAACyvF,UAA/D,EAA2E,KAAKqC,OAAhF,CAAb;AACH;AACJ,GAbD;AAcA;AACJ;AACA;AACA;;;AACIY,EAAAA,2BAA2B,CAACloN,SAA5B,CAAsCkpN,oBAAtC,GAA6D,UAAU90N,QAAV,EAAoB;AAC7E,QAAIg1N,UAAU,GAAGn3L,IAAI,CAACyC,IAAL,CAAUtgC,QAAQ,CAAC6wN,UAAT,GAAsB7wN,QAAQ,CAAC8wN,YAAzC,CAAjB;;AACA,QAAIkE,UAAU,GAAGh1N,QAAQ,CAAC0wN,WAAtB,IAAqC,IAAIsE,UAA7C,EAAyD;AACrD,aAAOA,UAAP;AACH,KAFD,MAGK,IAAIh1N,QAAQ,CAAC0wN,WAAT,GAAuB,CAA3B,EAA8B;AAC/B,aAAO,CAAP;AACH;;AACD,WAAO1wN,QAAQ,CAAC0wN,WAAhB;AACH,GATD;AAUA;AACJ;AACA;;;AACIoD,EAAAA,2BAA2B,CAACloN,SAA5B,CAAsCmpN,eAAtC,GAAwD,UAAUrE,WAAV,EAAuBI,YAAvB,EAAqCD,UAArC,EAAiDoE,eAAjD,EAAkE;AACtH;AACAA,IAAAA,eAAe,GAAG,CAACA,eAAnB;AACA,QAAIjF,KAAK,GAAG,EAAZ,CAHsH,CAItH;AACA;;AACA,QAAIgF,UAAU,GAAGn3L,IAAI,CAAC1qC,GAAL,CAAS0qC,IAAI,CAACyC,IAAL,CAAUuwL,UAAU,GAAGC,YAAvB,CAAT,EAA+C,CAA/C,CAAjB;AACA,QAAIoE,OAAO,GAAGr3L,IAAI,CAACyC,IAAL,CAAU20L,eAAe,GAAG,CAA5B,CAAd;AACA,QAAIE,OAAO,GAAGzE,WAAW,IAAIwE,OAA7B;AACA,QAAIE,KAAK,GAAGJ,UAAU,GAAGE,OAAb,GAAuBxE,WAAnC;AACA,QAAI2E,QAAQ,GAAG,CAACF,OAAD,IAAY,CAACC,KAA5B;AACA,QAAIE,cAAc,GAAGL,eAAe,GAAGD,UAAvC;AACA,QAAI18O,CAAC,GAAG,CAAR;;AACA,WAAOA,CAAC,IAAI08O,UAAL,IAAmB18O,CAAC,IAAI28O,eAA/B,EAAgD;AAC5C,UAAI5nN,KAAK,GAAG,KAAK,CAAjB;AACA,UAAIkoN,UAAU,GAAG,KAAKC,mBAAL,CAAyBl9O,CAAzB,EAA4Bo4O,WAA5B,EAAyCuE,eAAzC,EAA0DD,UAA1D,CAAjB;AACA,UAAIS,qBAAqB,GAAIn9O,CAAC,KAAK,CAAN,KAAY+8O,QAAQ,IAAID,KAAxB,CAA7B;AACA,UAAIM,qBAAqB,GAAIp9O,CAAC,KAAK28O,eAAe,GAAG,CAAxB,KAA8BI,QAAQ,IAAIF,OAA1C,CAA7B;;AACA,UAAIG,cAAc,KAAKG,qBAAqB,IAAIC,qBAA9B,CAAlB,EAAwE;AACpEroN,QAAAA,KAAK,GAAG,KAAR;AACH,OAFD,MAGK;AACDA,QAAAA,KAAK,GAAGkoN,UAAR;AACH;;AACDvF,MAAAA,KAAK,CAACpoN,IAAN,CAAW;AACPyF,QAAAA,KAAK,EAAEA,KADA;AAEPx6B,QAAAA,KAAK,EAAE0iP;AAFA,OAAX;AAIAj9O,MAAAA,CAAC;AACJ;;AACD,WAAO03O,KAAP;AACH,GA/BD;AAgCA;AACJ;AACA;AACA;;;AACI8D,EAAAA,2BAA2B,CAACloN,SAA5B,CAAsC4pN,mBAAtC,GAA4D,UAAUl9O,CAAV,EAAao4O,WAAb,EAA0BuE,eAA1B,EAA2CD,UAA3C,EAAuD;AAC/G,QAAIE,OAAO,GAAGr3L,IAAI,CAACyC,IAAL,CAAU20L,eAAe,GAAG,CAA5B,CAAd;;AACA,QAAI38O,CAAC,KAAK28O,eAAV,EAA2B;AACvB,aAAOD,UAAP;AACH,KAFD,MAGK,IAAI18O,CAAC,KAAK,CAAV,EAAa;AACd,aAAOA,CAAP;AACH,KAFI,MAGA,IAAI28O,eAAe,GAAGD,UAAtB,EAAkC;AACnC,UAAIA,UAAU,GAAGE,OAAb,GAAuBxE,WAA3B,EAAwC;AACpC,eAAOsE,UAAU,GAAGC,eAAb,GAA+B38O,CAAtC;AACH,OAFD,MAGK,IAAI48O,OAAO,GAAGxE,WAAd,EAA2B;AAC5B,eAAOA,WAAW,GAAGwE,OAAd,GAAwB58O,CAA/B;AACH,OAFI,MAGA;AACD,eAAOA,CAAP;AACH;AACJ,KAVI,MAWA;AACD,aAAOA,CAAP;AACH;AACJ,GAtBD;;AAuBA+7O,EAAAA,YAAY,CAAC,CACTl4C,oDAAK,EADI,EAETm4C,YAAY,CAAC,aAAD,EAAgBjzL,MAAhB,CAFH,CAAD,EAGTyyL,2BAA2B,CAACloN,SAHnB,EAG8B,IAH9B,EAGoC,KAAK,CAHzC,CAAZ;;AAIAyoN,EAAAA,YAAY,CAAC,CACTl4C,oDAAK,EADI,EAETm4C,YAAY,CAAC,aAAD,EAAgBl/N,MAAhB,CAFH,CAAD,EAGT0+N,2BAA2B,CAACloN,SAHnB,EAG8B,SAH9B,EAGyC,KAAK,CAH9C,CAAZ;;AAIAyoN,EAAAA,YAAY,CAAC,CACT9S,qDAAM,EADG,EAET+S,YAAY,CAAC,aAAD,EAAgB3nO,uDAAhB,CAFH,CAAD,EAGTmnO,2BAA2B,CAACloN,SAHnB,EAG8B,YAH9B,EAG4C,KAAK,CAHjD,CAAZ;;AAIAyoN,EAAAA,YAAY,CAAC,CACT9S,qDAAM,EADG,EAET+S,YAAY,CAAC,aAAD,EAAgB3nO,uDAAhB,CAFH,CAAD,EAGTmnO,2BAA2B,CAACloN,SAHnB,EAG8B,sBAH9B,EAGsD,KAAK,CAH3D,CAAZ;;AAIAkoN,EAAAA,2BAA2B,GAAGO,YAAY,CAAC,CAAEC,YAAY,CAAC,mBAAD,EAAsB,CAACpE,iBAAD,EACvE7D,4DADuE,CAAtB,CAAd,CAAD,EAEvCyH,2BAFuC,CAA1C;;AAGJA,EAAAA,2BAA2B,CAACryN,IAA5B,GAAmC,SAASk0N,mCAAT,CAA6Ch0N,CAA7C,EAAgD;AAAE,WAAO,KAAKA,CAAC,IAAImyN,2BAAV,EAAuCt0N,+DAAA,CAAyB0wN,iBAAzB,CAAvC,EAAoF1wN,+DAAA,CAAyBA,4DAAzB,CAApF,CAAP;AAAiJ,GAAtO;;AACAs0N,EAAAA,2BAA2B,CAACz3C,IAA5B,GAAmC,aAAc78K,+DAAA,CAAyB;AAAE5mB,IAAAA,IAAI,EAAEk7O,2BAAR;AAAqClwP,IAAAA,SAAS,EAAE,CAAC,CAAC,qBAAD,CAAD,EAA0B,CAAC,EAAD,EAAK,qBAAL,EAA4B,EAA5B,CAA1B,CAAhD;AAA4G4lB,IAAAA,MAAM,EAAE;AAAE0pO,MAAAA,OAAO,EAAE,SAAX;AAAsBpkP,MAAAA,EAAE,EAAE;AAA1B,KAApH;AAAsJmf,IAAAA,OAAO,EAAE;AAAEklO,MAAAA,UAAU,EAAE,YAAd;AAA4BC,MAAAA,oBAAoB,EAAE;AAAlD,KAA/J;AAA2Or2C,IAAAA,QAAQ,EAAE,CAAC,eAAD,CAArP;AAAwQl5M,IAAAA,QAAQ,EAAE,CAAC27B,kEAAD;AAAlR,GAAzB,CAAjD;;AACA,GAAC,YAAY;AAAE,KAAC,OAAOwC,SAAP,KAAqB,WAArB,IAAoCA,SAArC;AAcC,GAdhB;;AAeI,SAAO8xN,2BAAP;AACH,CA5NgD,EAAjD;;AA8NA,IAAI1C,UAAU,GAAIp9M,MAAD,IAAuC,UAAUylJ,UAAV,EAAsBlqI,MAAtB,EAA8B9nB,GAA9B,EAAmCi6B,IAAnC,EAAyC;AAC7F,MAAI49G,CAAC,GAAGnzI,SAAS,CAAC79B,MAAlB;AAAA,MAA0B8/B,CAAC,GAAGkxI,CAAC,GAAG,CAAJ,GAAQ/vH,MAAR,GAAiBmS,IAAI,KAAK,IAAT,GAAgBA,IAAI,GAAG59B,MAAM,CAACutN,wBAAP,CAAgC9hM,MAAhC,EAAwC9nB,GAAxC,CAAvB,GAAsEi6B,IAArH;AAAA,MAA2Hn2B,CAA3H;AACA,MAAI,OAAO+lN,OAAP,KAAmB,QAAnB,IAA+B,OAAOA,OAAO,CAACC,QAAf,KAA4B,UAA/D,EAA2EnjN,CAAC,GAAGkjN,OAAO,CAACC,QAAR,CAAiB93D,UAAjB,EAA6BlqI,MAA7B,EAAqC9nB,GAArC,EAA0Ci6B,IAA1C,CAAJ,CAA3E,KACK,KAAK,IAAIppD,CAAC,GAAGmhL,UAAU,CAACnrL,MAAX,GAAoB,CAAjC,EAAoCgK,CAAC,IAAI,CAAzC,EAA4CA,CAAC,EAA7C,EAAiD,IAAIizB,CAAC,GAAGkuJ,UAAU,CAACnhL,CAAD,CAAlB,EAAuB81B,CAAC,GAAG,CAACkxI,CAAC,GAAG,CAAJ,GAAQ/zI,CAAC,CAAC6C,CAAD,CAAT,GAAekxI,CAAC,GAAG,CAAJ,GAAQ/zI,CAAC,CAACgkB,MAAD,EAAS9nB,GAAT,EAAc2G,CAAd,CAAT,GAA4B7C,CAAC,CAACgkB,MAAD,EAAS9nB,GAAT,CAA7C,KAA+D2G,CAAnE;AAC7E,SAAOkxI,CAAC,GAAG,CAAJ,IAASlxI,CAAT,IAActK,MAAM,CAAC2iD,cAAP,CAAsBl3B,MAAtB,EAA8B9nB,GAA9B,EAAmC2G,CAAnC,CAAd,EAAqDA,CAA5D;AACH,CALD;;AAMA,IAAIwnN,mBAAmB;AAAG;AAAe,YAAY;AACjD,WAASA,mBAAT,GAA+B,CAC9B;;AACLA,EAAAA,mBAAmB,CAACn0N,IAApB,GAA2B,SAASo0N,2BAAT,CAAqCl0N,CAArC,EAAwC;AAAE,WAAO,KAAKA,CAAC,IAAIi0N,mBAAV,GAAP;AAA0C,GAA/G;;AACAA,EAAAA,mBAAmB,CAAC3rN,IAApB,GAA2B,aAAczK,8DAAA,CAAwB;AAAE5mB,IAAAA,IAAI,EAAEg9O;AAAR,GAAxB,CAAzC;AACAA,EAAAA,mBAAmB,CAACzrN,IAApB,GAA2B,aAAc3K,8DAAA,CAAwB;AAAEsK,IAAAA,SAAS,EAAE,CAAComN,iBAAD,CAAb;AAAkC/oP,IAAAA,OAAO,EAAE,CAAC,CAACghB,yDAAD,CAAD;AAA3C,GAAxB,CAAzC;;AACA,GAAC,YAAY;AAAE,KAAC,OAAO6Z,SAAP,KAAqB,WAArB,IAAoCA,SAArC;AAY6B,GAZ5C;;AAaA,GAAC,YAAY;AAAE,KAAC,OAAOqI,SAAP,KAAqB,WAArB,IAAoCA,SAArC,KAAmD7K,gEAAA,CAA0Bo2N,mBAA1B,EAA+C;AAAE9tP,MAAAA,YAAY,EAAE,YAAY;AAAE,eAAO,CAAC6pP,YAAD,EAAesB,2BAAf,EAA4Ca,2BAA5C,CAAP;AAAkF,OAAhH;AAAkH3sP,MAAAA,OAAO,EAAE,YAAY;AAAE,eAAO,CAACghB,yDAAD,CAAP;AAAwB,OAAjK;AAAmKK,MAAAA,OAAO,EAAE,YAAY;AAAE,eAAO,CAACmpO,YAAD,EAAesB,2BAAf,EAA4Ca,2BAA5C,CAAP;AAAkF;AAA5Q,KAA/C,CAAnD;AAAoX,GAAnY;;AACI,SAAO8B,mBAAP;AACH,CArBwC,EAAzC;AAuBA;AACA;AACA;;;;;;;;;;;;;;ACr0BA,CAAC,UAASj0N,CAAT,EAAW;AAAC,QAAM2K,CAAC,GAAC3K,CAAC,CAAC7/B,EAAF,GAAK6/B,CAAC,CAAC7/B,EAAF,IAAM,EAAnB;AAAsBwqC,EAAAA,CAAC,CAAC0pN,UAAF,GAAalyN,MAAM,CAACC,MAAP,CAAcuI,CAAC,CAAC0pN,UAAF,IAAc,EAA5B,EAA+B;AAAC,gBAAW,UAAZ;AAAuBC,IAAAA,MAAM,EAAC,QAA9B;AAAuC,qCAAgC,+BAAvE;AAAuG,qCAAgC,+BAAvI;AAAuK,mCAA8B,6BAArM;AAAmO,qCAAgC,+BAAnQ;AAAmS,oCAA+B,8BAAlU;AAAiW,kCAA6B,4BAA9X;AAA2Z,oBAAe,cAA1a;AAAyb,kBAAa,YAAtc;AAAmd,mBAAc,aAAje;AAA+e,+BAA0B,yBAAzgB;AAAmiB,gCAA2B,0BAA9jB;AAAylBC,IAAAA,SAAS,EAAC,WAAnmB;AAA+mBC,IAAAA,UAAU,EAAC,YAA1nB;AAAuoBC,IAAAA,UAAU,EAAC,YAAlpB;AAA+pBC,IAAAA,GAAG,EAAC,KAAnqB;AAAyqBC,IAAAA,KAAK,EAAC,OAA/qB;AAAurBC,IAAAA,IAAI,EAAC,MAA5rB;AAAmsBC,IAAAA,IAAI,EAAC,MAAxsB;AAA+sBC,IAAAA,MAAM,EAAC,QAAttB;AAA+tB,qBAAgB,eAA/uB;AAA+vB,oCAA+B,8BAA9xB;AAA6zBz/O,IAAAA,MAAM,EAAC,QAAp0B;AAA60B,uBAAkB,iBAA/1B;AAAi3B,oBAAe,cAAh4B;AAA+4B0/O,IAAAA,MAAM,EAAC,QAAt5B;AAA+5BC,IAAAA,KAAK,EAAC,OAAr6B;AAA66B,2BAAsB,qBAAn8B;AAAy9BC,IAAAA,IAAI,EAAC,MAA99B;AAAq+BC,IAAAA,KAAK,EAAC,OAA3+B;AAAm/B,oBAAe,cAAlgC;AAAihCC,IAAAA,MAAM,EAAC,QAAxhC;AAAiiCC,IAAAA,MAAM,EAAC,QAAxiC;AAAijCC,IAAAA,OAAO,EAAC,SAAzjC;AAAmkC,iCAA4B,2BAA/lC;AAA2nC,uBAAkB,iBAA7oC;AAA+pCvlO,IAAAA,OAAO,EAAC,SAAvqC;AAAirC,qBAAgB,eAAjsC;AAAitC,kBAAa,YAA9tC;AAA2uC,gBAAW,UAAtvC;AAAiwCwlO,IAAAA,UAAU,EAAC,YAA5wC;AAAyxCC,IAAAA,IAAI,EAAC,MAA9xC;AAAqyC,uBAAkB,iBAAvzC;AAAy0CC,IAAAA,MAAM,EAAC,QAAh1C;AAAy1CC,IAAAA,MAAM,EAAC,QAAh2C;AAAy2C,oBAAe,cAAx3C;AAAu4C,wBAAmB,kBAA15C;AAA66C,kBAAa,YAA17C;AAAu8C,oCAA+B,8BAAt+C;AAAqgD,iCAA4B,2BAAjiD;AAA6jD,+BAA0B,yBAAvlD;AAAinD,sBAAiB,gBAAloD;AAAmpD,2BAAsB,qBAAzqD;AAA+rD,6BAAwB,uBAAvtD;AAA+uD,kBAAa,YAA5vD;AAAywD,mBAAc,aAAvxD;AAAqyD,iBAAY,WAAjzD;AAA6zDC,IAAAA,KAAK,EAAC,OAAn0D;AAA20DC,IAAAA,IAAI,EAAC,MAAh1D;AAAu1DC,IAAAA,MAAM,EAAC,QAA91D;AAAu2D,qBAAgB,eAAv3D;AAAu4D,kBAAa,YAAp5D;AAAi6DC,IAAAA,MAAM,EAAC,QAAx6D;AAAi7DC,IAAAA,GAAG,EAAC,KAAr7D;AAA27D,yCAAoC,mCAA/9D;AAAmgEC,IAAAA,IAAI,EAAC,MAAxgE;AAA+gE,uBAAkB,iBAAjiE;AAAmjE,0BAAqB,oBAAxkE;AAA6lE,2BAAsB,qBAAnnE;AAAyoE,oCAA+B,8BAAxqE;AAAusE,qCAAgC,+BAAvuE;AAAuwE,wBAAmB,kBAA1xE;AAA6yE,wBAAmB,kBAAh0E;AAAm1E,oBAAe,cAAl2E;AAAi3EC,IAAAA,KAAK,EAAC,OAAv3E;AAA+3EC,IAAAA,MAAM,EAAC,QAAt4E;AAA+4EC,IAAAA,OAAO,EAAC,SAAv5E;AAAi6E,yBAAoB,mBAAr7E;AAAy8E,kBAAa,YAAt9E;AAAm+E,mBAAc,aAAj/E;AAA+/E,kBAAa,YAA5gF;AAAyhF,uBAAkB,iBAA3iF;AAA6jF,mBAAc,aAA3kF;AAAylF,mBAAc,aAAvmF;AAAqnF,uBAAkB,iBAAvoF;AAAypF,uBAAkB,iBAA3qF;AAA6rF,wBAAmB,kBAAhtF;AAAmuF,qBAAgB,eAAnvF;AAAmwF,mBAAc,aAAjxF;AAA+xFC,IAAAA,IAAI,EAAC,MAApyF;AAA2yF,wBAAmB,kBAA9zF;AAAi1F,2BAAsB,qBAAv2F;AAA63F/hM,IAAAA,IAAI,EAAC,MAAl4F;AAAy4F,qBAAgB,eAAz5F;AAAy6F,oCAA+B,8BAAx8F;AAAu+FgiM,IAAAA,MAAM,EAAC,QAA9+F;AAAu/FC,IAAAA,MAAM,EAAC,QAA9/F;AAAugGC,IAAAA,OAAO,EAAC,SAA/gG;AAAyhG,kFAA6E,4EAAtmG;AAAmrGC,IAAAA,QAAQ,EAAC,UAA5rG;AAAusGC,IAAAA,MAAM,EAAC,QAA9sG;AAAutGC,IAAAA,GAAG,EAAC,KAA3tG;AAAiuGC,IAAAA,IAAI,EAAC,MAAtuG;AAA6uG,oBAAe,cAA5vG;AAA2wG,uBAAkB,iBAA7xG;AAA+yG,sBAAiB,gBAAh0G;AAAi1G,wBAAmB,kBAAp2G;AAAu3GC,IAAAA,KAAK,EAAC,OAA73G;AAAq4GC,IAAAA,GAAG,EAAC,KAAz4G;AAA+4GC,IAAAA,IAAI,EAAC,MAAp5G;AAA25G,kBAAa,YAAx6G;AAAq7G,qBAAgB,eAAr8G;AAAq9G,kBAAa,YAAl+G;AAA++G,uBAAkB,iBAAjgH;AAAmhHC,IAAAA,KAAK,EAAC,OAAzhH;AAAiiHC,IAAAA,KAAK,EAAC,OAAviH;AAA+iH,+BAA0B,yBAAzkH;AAAmmH,6BAAwB,uBAA3nH;AAAmpHC,IAAAA,MAAM,EAAC,QAA1pH;AAAmqH,gBAAW,UAA9qH;AAAyrH,2CAAsC,qCAA/tH;AAAqwHC,IAAAA,aAAa,EAAC,eAAnxH;AAAmyHC,IAAAA,KAAK,EAAC,OAAzyH;AAAizHC,IAAAA,SAAS,EAAC,WAA3zH;AAAu0HC,IAAAA,WAAW,EAAC,aAAn1H;AAAi2H,+BAA0B,yBAA33H;AAAq5H,iCAA4B,2BAAj7H;AAA68H,wBAAmB,kBAAh+H;AAAm/H,qBAAgB,eAAngI;AAAmhI,sBAAiB,gBAApiI;AAAqjI,8BAAyB,wBAA9kI;AAAumI,uEAAkE,iEAAzqI;AAA2uI,gEAA2D,0DAAtyI;AAAi2IC,IAAAA,IAAI,EAAC,MAAt2I;AAA62I,kBAAa,YAA13I;AAAu4I,0BAAqB,oBAA55I;AAAi7I,yBAAoB,mBAAr8I;AAAy9I,oCAA+B,8BAAx/I;AAAuhJ,qCAAgC,+BAAvjJ;AAAulJ,uDAAkD,iDAAzoJ;AAA2rJ,kCAA6B,4BAAxtJ;AAAqvJ,yCAAoC,mCAAzxJ;AAA6zJ,yCAAoC,mCAAj2J;AAAq4J,oCAA+B,8BAAp6J;AAAm8J,yCAAoC,mCAAv+J;AAA2gK,yCAAoC,mCAA/iK;AAAmlKC,IAAAA,SAAS,EAAC,WAA7lK;AAAymKC,IAAAA,SAAS,EAAC,WAAnnK;AAA+nKC,IAAAA,IAAI,EAAC,MAApoK;AAA2oK,mBAAc,aAAzpK;AAAuqK,mBAAc,aAArrK;AAAmsK,uCAAkC,iCAAruK;AAAuwKC,IAAAA,KAAK,EAAC,OAA7wK;AAAqxK,sBAAiB,gBAAtyK;AAAuzKC,IAAAA,KAAK,EAAC,OAA7zK;AAAq0KC,IAAAA,MAAM,EAAC;AAA50K,GAA/B,CAAb;AAAm4K,CAAr6K,CAAs6Kx4O,MAAM,CAACy4O,qBAAP,KAA+Bz4O,MAAM,CAACy4O,qBAAP,GAA6B,EAA5D,CAAt6K,CAAD;AACA;AACA;AACA;AACA;AACA,UAAS53N,CAAT,EAAW2K,CAAX,EAAa;AAAC,UAAkD0yK,MAAM,CAACx2L,OAAP,GAAe8jB,CAAC,EAAlE,GAAqE,CAArE;AAA+L,CAA7M,CAA8MqsJ,UAA9M,EAA0N,MAAI,CAAC,MAAI;AAAC,MAAIh3J,CAAC,GAAC;AAAC,UAAK,CAACA,CAAD,EAAG2K,CAAH,EAAKJ,CAAL,KAAS;AAAC,YAAMgC,CAAC,GAAChC,CAAC,CAAC,IAAD,CAAT;AAAA,YAAgB5zB,CAAC,GAAC,EAAlB;;AAAqB,WAAI,MAAMqpB,CAAV,IAAemC,MAAM,CAACkD,IAAP,CAAYkH,CAAZ,CAAf,EAA8B51B,CAAC,CAAC41B,CAAC,CAACvM,CAAD,CAAF,CAAD,GAAQA,CAAR;;AAAU,YAAMyM,CAAC,GAAC;AAACqrN,QAAAA,GAAG,EAAC;AAACzgG,UAAAA,QAAQ,EAAC,CAAV;AAAY0gG,UAAAA,MAAM,EAAC;AAAnB,SAAL;AAA+BC,QAAAA,GAAG,EAAC;AAAC3gG,UAAAA,QAAQ,EAAC,CAAV;AAAY0gG,UAAAA,MAAM,EAAC;AAAnB,SAAnC;AAA6DE,QAAAA,GAAG,EAAC;AAAC5gG,UAAAA,QAAQ,EAAC,CAAV;AAAY0gG,UAAAA,MAAM,EAAC;AAAnB,SAAjE;AAA2FG,QAAAA,GAAG,EAAC;AAAC7gG,UAAAA,QAAQ,EAAC,CAAV;AAAY0gG,UAAAA,MAAM,EAAC;AAAnB,SAA/F;AAAyHI,QAAAA,IAAI,EAAC;AAAC9gG,UAAAA,QAAQ,EAAC,CAAV;AAAY0gG,UAAAA,MAAM,EAAC;AAAnB,SAA9H;AAAyJK,QAAAA,GAAG,EAAC;AAAC/gG,UAAAA,QAAQ,EAAC,CAAV;AAAY0gG,UAAAA,MAAM,EAAC;AAAnB,SAA7J;AAAuLM,QAAAA,GAAG,EAAC;AAAChhG,UAAAA,QAAQ,EAAC,CAAV;AAAY0gG,UAAAA,MAAM,EAAC;AAAnB,SAA3L;AAAqNO,QAAAA,GAAG,EAAC;AAACjhG,UAAAA,QAAQ,EAAC,CAAV;AAAY0gG,UAAAA,MAAM,EAAC;AAAnB,SAAzN;AAAmP/7L,QAAAA,GAAG,EAAC;AAACq7F,UAAAA,QAAQ,EAAC,CAAV;AAAY0gG,UAAAA,MAAM,EAAC,CAAC,KAAD;AAAnB,SAAvP;AAAmRQ,QAAAA,OAAO,EAAC;AAAClhG,UAAAA,QAAQ,EAAC,CAAV;AAAY0gG,UAAAA,MAAM,EAAC,CAAC,SAAD;AAAnB,SAA3R;AAA2TS,QAAAA,MAAM,EAAC;AAACnhG,UAAAA,QAAQ,EAAC,CAAV;AAAY0gG,UAAAA,MAAM,EAAC,CAAC,QAAD;AAAnB,SAAlU;AAAiWU,QAAAA,OAAO,EAAC;AAACphG,UAAAA,QAAQ,EAAC,CAAV;AAAY0gG,UAAAA,MAAM,EAAC,CAAC,SAAD;AAAnB,SAAzW;AAAyYW,QAAAA,GAAG,EAAC;AAACrhG,UAAAA,QAAQ,EAAC,CAAV;AAAY0gG,UAAAA,MAAM,EAAC,CAAC,GAAD,EAAK,GAAL,EAAS,GAAT;AAAnB,SAA7Y;AAA+aY,QAAAA,KAAK,EAAC;AAACthG,UAAAA,QAAQ,EAAC,CAAV;AAAY0gG,UAAAA,MAAM,EAAC,CAAC,KAAD,EAAO,KAAP,EAAa,KAAb;AAAnB,SAArb;AAA6da,QAAAA,IAAI,EAAC;AAACvhG,UAAAA,QAAQ,EAAC,CAAV;AAAY0gG,UAAAA,MAAM,EAAC,CAAC,MAAD;AAAnB;AAAle,OAAR;AAAwgB/3N,MAAAA,CAAC,CAACnZ,OAAF,GAAU4lB,CAAV;;AAAY,WAAI,MAAMzM,CAAV,IAAemC,MAAM,CAACkD,IAAP,CAAYoH,CAAZ,CAAf,EAA8B;AAAC,YAAG,EAAE,cAAaA,CAAC,CAACzM,CAAD,CAAhB,CAAH,EAAwB,MAAM,IAAImtB,KAAJ,CAAU,gCAA8BntB,CAAxC,CAAN;AAAiD,YAAG,EAAE,YAAWyM,CAAC,CAACzM,CAAD,CAAd,CAAH,EAAsB,MAAM,IAAImtB,KAAJ,CAAU,sCAAoCntB,CAA9C,CAAN;AAAuD,YAAGyM,CAAC,CAACzM,CAAD,CAAD,CAAK+3N,MAAL,CAAYprP,MAAZ,KAAqB8/B,CAAC,CAACzM,CAAD,CAAD,CAAKq3H,QAA7B,EAAsC,MAAM,IAAIlqG,KAAJ,CAAU,wCAAsCntB,CAAhD,CAAN;AAAyD,cAAK;AAACq3H,UAAAA,QAAQ,EAAC1sH,CAAV;AAAYotN,UAAAA,MAAM,EAACxtN;AAAnB,YAAsBkC,CAAC,CAACzM,CAAD,CAA5B;AAAgC,eAAOyM,CAAC,CAACzM,CAAD,CAAD,CAAKq3H,QAAZ,EAAqB,OAAO5qH,CAAC,CAACzM,CAAD,CAAD,CAAK+3N,MAAjC,EAAwC51N,MAAM,CAAC2iD,cAAP,CAAsBr4C,CAAC,CAACzM,CAAD,CAAvB,EAA2B,UAA3B,EAAsC;AAAC9uB,UAAAA,KAAK,EAACy5B;AAAP,SAAtC,CAAxC,EAAyFxI,MAAM,CAAC2iD,cAAP,CAAsBr4C,CAAC,CAACzM,CAAD,CAAvB,EAA2B,QAA3B,EAAoC;AAAC9uB,UAAAA,KAAK,EAACq5B;AAAP,SAApC,CAAzF;AAAwI;;AAAAkC,MAAAA,CAAC,CAACqrN,GAAF,CAAME,GAAN,GAAU,UAASh4N,CAAT,EAAW;AAAC,cAAM2K,CAAC,GAAC3K,CAAC,CAAC,CAAD,CAAD,GAAK,GAAb;AAAA,cAAiBuK,CAAC,GAACvK,CAAC,CAAC,CAAD,CAAD,GAAK,GAAxB;AAAA,cAA4BuM,CAAC,GAACvM,CAAC,CAAC,CAAD,CAAD,GAAK,GAAnC;AAAA,cAAuCrpB,CAAC,GAACulD,IAAI,CAACzqC,GAAL,CAASkZ,CAAT,EAAWJ,CAAX,EAAagC,CAAb,CAAzC;AAAA,cAAyDE,CAAC,GAACyvB,IAAI,CAAC1qC,GAAL,CAASmZ,CAAT,EAAWJ,CAAX,EAAagC,CAAb,CAA3D;AAAA,cAA2EjC,CAAC,GAACmC,CAAC,GAAC91B,CAA/E;AAAiF,YAAIyrE,CAAJ,EAAMu7F,CAAN;AAAQlxI,QAAAA,CAAC,KAAG91B,CAAJ,GAAMyrE,CAAC,GAAC,CAAR,GAAUz3C,CAAC,KAAG8B,CAAJ,GAAM21C,CAAC,GAAC,CAAC73C,CAAC,GAACgC,CAAH,IAAMjC,CAAd,GAAgBC,CAAC,KAAGkC,CAAJ,GAAM21C,CAAC,GAAC,IAAE,CAAC71C,CAAC,GAAC5B,CAAH,IAAML,CAAhB,GAAkBiC,CAAC,KAAGE,CAAJ,KAAQ21C,CAAC,GAAC,IAAE,CAACz3C,CAAC,GAACJ,CAAH,IAAMD,CAAlB,CAA5C,EAAiE83C,CAAC,GAAClmB,IAAI,CAACzqC,GAAL,CAAS,KAAG2wD,CAAZ,EAAc,GAAd,CAAnE,EAAsFA,CAAC,GAAC,CAAF,KAAMA,CAAC,IAAE,GAAT,CAAtF;AAAoG,cAAM8pI,CAAC,GAAC,CAACv1M,CAAC,GAAC81B,CAAH,IAAM,CAAd;AAAgB,eAAOkxI,CAAC,GAAClxI,CAAC,KAAG91B,CAAJ,GAAM,CAAN,GAAQu1M,CAAC,IAAE,EAAH,GAAM5hL,CAAC,IAAEmC,CAAC,GAAC91B,CAAJ,CAAP,GAAc2zB,CAAC,IAAE,IAAEmC,CAAF,GAAI91B,CAAN,CAAzB,EAAkC,CAACyrE,CAAD,EAAG,MAAIu7F,CAAP,EAAS,MAAIuuC,CAAb,CAAzC;AAAyD,OAA5R,EAA6Rz/K,CAAC,CAACqrN,GAAF,CAAMG,GAAN,GAAU,UAASj4N,CAAT,EAAW;AAAC,YAAI2K,CAAJ,EAAMJ,CAAN,EAAQgC,CAAR,EAAU51B,CAAV,EAAY81B,CAAZ;;AAAc,cAAMnC,CAAC,GAACtK,CAAC,CAAC,CAAD,CAAD,GAAK,GAAb;AAAA,cAAiBoiD,CAAC,GAACpiD,CAAC,CAAC,CAAD,CAAD,GAAK,GAAxB;AAAA,cAA4B29I,CAAC,GAAC39I,CAAC,CAAC,CAAD,CAAD,GAAK,GAAnC;AAAA,cAAuCksL,CAAC,GAAChwJ,IAAI,CAAC1qC,GAAL,CAAS8Y,CAAT,EAAW83C,CAAX,EAAau7F,CAAb,CAAzC;AAAA,cAAyD/zI,CAAC,GAACsiL,CAAC,GAAChwJ,IAAI,CAACzqC,GAAL,CAAS6Y,CAAT,EAAW83C,CAAX,EAAau7F,CAAb,CAA7D;AAAA,cAA6E/G,CAAC,GAAC,UAAS52I,CAAT,EAAW;AAAC,iBAAM,CAACksL,CAAC,GAAClsL,CAAH,IAAM,CAAN,GAAQ4J,CAAR,GAAU,EAAhB;AAAmB,SAA9G;;AAA+G,eAAO,MAAIA,CAAJ,IAAOjzB,CAAC,GAAC,CAAF,EAAI81B,CAAC,GAAC,CAAb,KAAiBA,CAAC,GAAC7C,CAAC,GAACsiL,CAAJ,EAAMvhL,CAAC,GAACisI,CAAC,CAACtsI,CAAD,CAAT,EAAaC,CAAC,GAACqsI,CAAC,CAACx0F,CAAD,CAAhB,EAAoB71C,CAAC,GAACqqI,CAAC,CAAC+G,CAAD,CAAvB,EAA2BrzI,CAAC,KAAG4hL,CAAJ,GAAMv1M,CAAC,GAAC41B,CAAC,GAAChC,CAAV,GAAY63C,CAAC,KAAG8pI,CAAJ,GAAMv1M,CAAC,GAAC,IAAE,CAAF,GAAIg0B,CAAJ,GAAM4B,CAAd,GAAgBoxI,CAAC,KAAGuuC,CAAJ,KAAQv1M,CAAC,GAAC,IAAE,CAAF,GAAI4zB,CAAJ,GAAMI,CAAhB,CAAvD,EAA0Eh0B,CAAC,GAAC,CAAF,GAAIA,CAAC,IAAE,CAAP,GAASA,CAAC,GAAC,CAAF,KAAMA,CAAC,IAAE,CAAT,CAApG,GAAiH,CAAC,MAAIA,CAAL,EAAO,MAAI81B,CAAX,EAAa,MAAIy/K,CAAjB,CAAxH;AAA4I,OAA5jB,EAA6jBz/K,CAAC,CAACqrN,GAAF,CAAMI,GAAN,GAAU,UAASl4N,CAAT,EAAW;AAAC,cAAM2K,CAAC,GAAC3K,CAAC,CAAC,CAAD,CAAT;AAAA,cAAauK,CAAC,GAACvK,CAAC,CAAC,CAAD,CAAhB;AAAoB,YAAIuM,CAAC,GAACvM,CAAC,CAAC,CAAD,CAAP;AAAW,cAAMrpB,CAAC,GAAC81B,CAAC,CAACqrN,GAAF,CAAME,GAAN,CAAUh4N,CAAV,EAAa,CAAb,CAAR;AAAA,cAAwBsK,CAAC,GAAC,IAAE,GAAF,GAAM4xB,IAAI,CAACzqC,GAAL,CAASkZ,CAAT,EAAWuxB,IAAI,CAACzqC,GAAL,CAAS8Y,CAAT,EAAWgC,CAAX,CAAX,CAAhC;AAA0D,eAAOA,CAAC,GAAC,IAAE,IAAE,GAAF,GAAM2vB,IAAI,CAAC1qC,GAAL,CAASmZ,CAAT,EAAWuxB,IAAI,CAAC1qC,GAAL,CAAS+Y,CAAT,EAAWgC,CAAX,CAAX,CAAV,EAAoC,CAAC51B,CAAD,EAAG,MAAI2zB,CAAP,EAAS,MAAIiC,CAAb,CAA3C;AAA2D,OAAvuB,EAAwuBE,CAAC,CAACqrN,GAAF,CAAMK,IAAN,GAAW,UAASn4N,CAAT,EAAW;AAAC,cAAM2K,CAAC,GAAC3K,CAAC,CAAC,CAAD,CAAD,GAAK,GAAb;AAAA,cAAiBuK,CAAC,GAACvK,CAAC,CAAC,CAAD,CAAD,GAAK,GAAxB;AAAA,cAA4BuM,CAAC,GAACvM,CAAC,CAAC,CAAD,CAAD,GAAK,GAAnC;AAAA,cAAuCrpB,CAAC,GAACulD,IAAI,CAACzqC,GAAL,CAAS,IAAEkZ,CAAX,EAAa,IAAEJ,CAAf,EAAiB,IAAEgC,CAAnB,CAAzC;AAA+D,eAAM,CAAC,OAAK,CAAC,IAAE5B,CAAF,GAAIh0B,CAAL,KAAS,IAAEA,CAAX,KAAe,CAApB,CAAD,EAAwB,OAAK,CAAC,IAAE4zB,CAAF,GAAI5zB,CAAL,KAAS,IAAEA,CAAX,KAAe,CAApB,CAAxB,EAA+C,OAAK,CAAC,IAAE41B,CAAF,GAAI51B,CAAL,KAAS,IAAEA,CAAX,KAAe,CAApB,CAA/C,EAAsE,MAAIA,CAA1E,CAAN;AAAmF,OAAj5B,EAAk5B81B,CAAC,CAACqrN,GAAF,CAAMS,OAAN,GAAc,UAASv4N,CAAT,EAAW;AAAC,cAAM2K,CAAC,GAACh0B,CAAC,CAACqpB,CAAD,CAAT;AAAa,YAAG2K,CAAH,EAAK,OAAOA,CAAP;AAAS,YAAIJ,CAAJ;AAAA,YAAMkC,CAAC,GAAC,IAAE,CAAV;;AAAY,aAAI,MAAM9B,CAAV,IAAexI,MAAM,CAACkD,IAAP,CAAYkH,CAAZ,CAAf,EAA8B;AAAC,gBAAM51B,CAAC,GAAC41B,CAAC,CAAC5B,CAAD,CAAT;AAAA,gBAAagzI,CAAC,IAAEv7F,CAAC,GAACzrE,CAAF,EAAI,CAAC,CAAC2zB,CAAC,GAACtK,CAAH,EAAM,CAAN,IAASoiD,CAAC,CAAC,CAAD,CAAX,KAAiB,CAAjB,GAAmB,CAAC93C,CAAC,CAAC,CAAD,CAAD,GAAK83C,CAAC,CAAC,CAAD,CAAP,KAAa,CAAhC,GAAkC,CAAC93C,CAAC,CAAC,CAAD,CAAD,GAAK83C,CAAC,CAAC,CAAD,CAAP,KAAa,CAArD,CAAd;AAAsEu7F,UAAAA,CAAC,GAAClxI,CAAF,KAAMA,CAAC,GAACkxI,CAAF,EAAIpzI,CAAC,GAACI,CAAZ;AAAe;;AAAA,YAAIL,CAAJ,EAAM83C,CAAN;AAAQ,eAAO73C,CAAP;AAAS,OAAxlC,EAAylCkC,CAAC,CAAC8rN,OAAF,CAAUT,GAAV,GAAc,UAAS93N,CAAT,EAAW;AAAC,eAAOuM,CAAC,CAACvM,CAAD,CAAR;AAAY,OAA/nC,EAAgoCyM,CAAC,CAACqrN,GAAF,CAAMM,GAAN,GAAU,UAASp4N,CAAT,EAAW;AAAC,YAAI2K,CAAC,GAAC3K,CAAC,CAAC,CAAD,CAAD,GAAK,GAAX;AAAA,YAAeuK,CAAC,GAACvK,CAAC,CAAC,CAAD,CAAD,GAAK,GAAtB;AAAA,YAA0BuM,CAAC,GAACvM,CAAC,CAAC,CAAD,CAAD,GAAK,GAAjC;AAAqC2K,QAAAA,CAAC,GAACA,CAAC,GAAC,MAAF,GAAS,CAAC,CAACA,CAAC,GAAC,IAAH,IAAS,KAAV,KAAkB,GAA3B,GAA+BA,CAAC,GAAC,KAAnC,EAAyCJ,CAAC,GAACA,CAAC,GAAC,MAAF,GAAS,CAAC,CAACA,CAAC,GAAC,IAAH,IAAS,KAAV,KAAkB,GAA3B,GAA+BA,CAAC,GAAC,KAA5E,EAAkFgC,CAAC,GAACA,CAAC,GAAC,MAAF,GAAS,CAAC,CAACA,CAAC,GAAC,IAAH,IAAS,KAAV,KAAkB,GAA3B,GAA+BA,CAAC,GAAC,KAArH;AAA2H,eAAM,CAAC,OAAK,QAAM5B,CAAN,GAAQ,QAAMJ,CAAd,GAAgB,QAAMgC,CAA3B,CAAD,EAA+B,OAAK,QAAM5B,CAAN,GAAQ,QAAMJ,CAAd,GAAgB,QAAMgC,CAA3B,CAA/B,EAA6D,OAAK,QAAM5B,CAAN,GAAQ,QAAMJ,CAAd,GAAgB,QAAMgC,CAA3B,CAA7D,CAAN;AAAkG,OAAx5C,EAAy5CE,CAAC,CAACqrN,GAAF,CAAMO,GAAN,GAAU,UAASr4N,CAAT,EAAW;AAAC,cAAM2K,CAAC,GAAC8B,CAAC,CAACqrN,GAAF,CAAMM,GAAN,CAAUp4N,CAAV,CAAR;AAAqB,YAAIuK,CAAC,GAACI,CAAC,CAAC,CAAD,CAAP;AAAA,YAAW4B,CAAC,GAAC5B,CAAC,CAAC,CAAD,CAAd;AAAA,YAAkBh0B,CAAC,GAACg0B,CAAC,CAAC,CAAD,CAArB;AAAyBJ,QAAAA,CAAC,IAAE,MAAH,EAAUgC,CAAC,IAAE,GAAb,EAAiB51B,CAAC,IAAE,OAApB,EAA4B4zB,CAAC,GAACA,CAAC,GAAC,OAAF,GAAUA,CAAC,KAAG,IAAE,CAAL,CAAX,GAAmB,QAAMA,CAAN,GAAQ,KAAG,GAA5D,EAAgEgC,CAAC,GAACA,CAAC,GAAC,OAAF,GAAUA,CAAC,KAAG,IAAE,CAAL,CAAX,GAAmB,QAAMA,CAAN,GAAQ,KAAG,GAAhG,EAAoG51B,CAAC,GAACA,CAAC,GAAC,OAAF,GAAUA,CAAC,KAAG,IAAE,CAAL,CAAX,GAAmB,QAAMA,CAAN,GAAQ,KAAG,GAApI;AAAwI,eAAM,CAAC,MAAI41B,CAAJ,GAAM,EAAP,EAAU,OAAKhC,CAAC,GAACgC,CAAP,CAAV,EAAoB,OAAKA,CAAC,GAAC51B,CAAP,CAApB,CAAN;AAAqC,OAA1oD,EAA2oD81B,CAAC,CAACurN,GAAF,CAAMF,GAAN,GAAU,UAAS93N,CAAT,EAAW;AAAC,cAAM2K,CAAC,GAAC3K,CAAC,CAAC,CAAD,CAAD,GAAK,GAAb;AAAA,cAAiBuK,CAAC,GAACvK,CAAC,CAAC,CAAD,CAAD,GAAK,GAAxB;AAAA,cAA4BuM,CAAC,GAACvM,CAAC,CAAC,CAAD,CAAD,GAAK,GAAnC;AAAuC,YAAIrpB,CAAJ,EAAM81B,CAAN,EAAQnC,CAAR;AAAU,YAAG,MAAIC,CAAP,EAAS,OAAOD,CAAC,GAAC,MAAIiC,CAAN,EAAQ,CAACjC,CAAD,EAAGA,CAAH,EAAKA,CAAL,CAAf;AAAuB3zB,QAAAA,CAAC,GAAC41B,CAAC,GAAC,EAAF,GAAKA,CAAC,IAAE,IAAEhC,CAAJ,CAAN,GAAagC,CAAC,GAAChC,CAAF,GAAIgC,CAAC,GAAChC,CAArB;AAAuB,cAAM63C,CAAC,GAAC,IAAE71C,CAAF,GAAI51B,CAAZ;AAAA,cAAcgnK,CAAC,GAAC,CAAC,CAAD,EAAG,CAAH,EAAK,CAAL,CAAhB;;AAAwB,aAAI,IAAI39I,CAAC,GAAC,CAAV,EAAYA,CAAC,GAAC,CAAd,EAAgBA,CAAC,EAAjB,EAAoByM,CAAC,GAAC9B,CAAC,GAAC,IAAE,CAAF,GAAI,EAAE3K,CAAC,GAAC,CAAJ,CAAR,EAAeyM,CAAC,GAAC,CAAF,IAAKA,CAAC,EAArB,EAAwBA,CAAC,GAAC,CAAF,IAAKA,CAAC,EAA9B,EAAiCnC,CAAC,GAAC,IAAEmC,CAAF,GAAI,CAAJ,GAAM21C,CAAC,GAAC,KAAGzrE,CAAC,GAACyrE,CAAL,IAAQ31C,CAAhB,GAAkB,IAAEA,CAAF,GAAI,CAAJ,GAAM91B,CAAN,GAAQ,IAAE81B,CAAF,GAAI,CAAJ,GAAM21C,CAAC,GAAC,CAACzrE,CAAC,GAACyrE,CAAH,KAAO,IAAE,CAAF,GAAI31C,CAAX,IAAc,CAAtB,GAAwB21C,CAArF,EAAuFu7F,CAAC,CAAC39I,CAAD,CAAD,GAAK,MAAIsK,CAAhG;;AAAkG,eAAOqzI,CAAP;AAAS,OAAh6D,EAAi6DlxI,CAAC,CAACurN,GAAF,CAAMC,GAAN,GAAU,UAASj4N,CAAT,EAAW;AAAC,cAAM2K,CAAC,GAAC3K,CAAC,CAAC,CAAD,CAAT;AAAa,YAAIuK,CAAC,GAACvK,CAAC,CAAC,CAAD,CAAD,GAAK,GAAX;AAAA,YAAeuM,CAAC,GAACvM,CAAC,CAAC,CAAD,CAAD,GAAK,GAAtB;AAAA,YAA0BrpB,CAAC,GAAC4zB,CAA5B;AAA8B,cAAMkC,CAAC,GAACyvB,IAAI,CAAC1qC,GAAL,CAAS+a,CAAT,EAAW,GAAX,CAAR;AAAwBA,QAAAA,CAAC,IAAE,CAAH,EAAKhC,CAAC,IAAEgC,CAAC,IAAE,CAAH,GAAKA,CAAL,GAAO,IAAEA,CAAjB,EAAmB51B,CAAC,IAAE81B,CAAC,IAAE,CAAH,GAAKA,CAAL,GAAO,IAAEA,CAA/B;AAAiC,eAAM,CAAC9B,CAAD,EAAG,OAAK,MAAI4B,CAAJ,GAAM,IAAE51B,CAAF,IAAK81B,CAAC,GAAC91B,CAAP,CAAN,GAAgB,IAAE4zB,CAAF,IAAKgC,CAAC,GAAChC,CAAP,CAArB,CAAH,EAAmC,OAAK,CAACgC,CAAC,GAAChC,CAAH,IAAM,CAAX,CAAnC,CAAN;AAAwD,OAAnlE,EAAolEkC,CAAC,CAACwrN,GAAF,CAAMH,GAAN,GAAU,UAAS93N,CAAT,EAAW;AAAC,cAAM2K,CAAC,GAAC3K,CAAC,CAAC,CAAD,CAAD,GAAK,EAAb;AAAA,cAAgBuK,CAAC,GAACvK,CAAC,CAAC,CAAD,CAAD,GAAK,GAAvB;AAA2B,YAAIuM,CAAC,GAACvM,CAAC,CAAC,CAAD,CAAD,GAAK,GAAX;AAAe,cAAMrpB,CAAC,GAACulD,IAAI,CAACkwC,KAAL,CAAWzhE,CAAX,IAAc,CAAtB;AAAA,cAAwB8B,CAAC,GAAC9B,CAAC,GAACuxB,IAAI,CAACkwC,KAAL,CAAWzhE,CAAX,CAA5B;AAAA,cAA0CL,CAAC,GAAC,MAAIiC,CAAJ,IAAO,IAAEhC,CAAT,CAA5C;AAAA,cAAwD63C,CAAC,GAAC,MAAI71C,CAAJ,IAAO,IAAEhC,CAAC,GAACkC,CAAX,CAA1D;AAAA,cAAwEkxI,CAAC,GAAC,MAAIpxI,CAAJ,IAAO,IAAEhC,CAAC,IAAE,IAAEkC,CAAJ,CAAV,CAA1E;;AAA4F,gBAAOF,CAAC,IAAE,GAAH,EAAO51B,CAAd;AAAiB,eAAK,CAAL;AAAO,mBAAM,CAAC41B,CAAD,EAAGoxI,CAAH,EAAKrzI,CAAL,CAAN;;AAAc,eAAK,CAAL;AAAO,mBAAM,CAAC83C,CAAD,EAAG71C,CAAH,EAAKjC,CAAL,CAAN;;AAAc,eAAK,CAAL;AAAO,mBAAM,CAACA,CAAD,EAAGiC,CAAH,EAAKoxI,CAAL,CAAN;;AAAc,eAAK,CAAL;AAAO,mBAAM,CAACrzI,CAAD,EAAG83C,CAAH,EAAK71C,CAAL,CAAN;;AAAc,eAAK,CAAL;AAAO,mBAAM,CAACoxI,CAAD,EAAGrzI,CAAH,EAAKiC,CAAL,CAAN;;AAAc,eAAK,CAAL;AAAO,mBAAM,CAACA,CAAD,EAAGjC,CAAH,EAAK83C,CAAL,CAAN;AAAjI;AAAgJ,OAAh4E,EAAi4E31C,CAAC,CAACwrN,GAAF,CAAMD,GAAN,GAAU,UAASh4N,CAAT,EAAW;AAAC,cAAM2K,CAAC,GAAC3K,CAAC,CAAC,CAAD,CAAT;AAAA,cAAauK,CAAC,GAACvK,CAAC,CAAC,CAAD,CAAD,GAAK,GAApB;AAAA,cAAwBuM,CAAC,GAACvM,CAAC,CAAC,CAAD,CAAD,GAAK,GAA/B;AAAA,cAAmCrpB,CAAC,GAACulD,IAAI,CAAC1qC,GAAL,CAAS+a,CAAT,EAAW,GAAX,CAArC;AAAqD,YAAIE,CAAJ,EAAMnC,CAAN;AAAQA,QAAAA,CAAC,GAAC,CAAC,IAAEC,CAAH,IAAMgC,CAAR;AAAU,cAAM61C,CAAC,GAAC,CAAC,IAAE73C,CAAH,IAAM5zB,CAAd;AAAgB,eAAO81B,CAAC,GAAClC,CAAC,GAAC5zB,CAAJ,EAAM81B,CAAC,IAAE21C,CAAC,IAAE,CAAH,GAAKA,CAAL,GAAO,IAAEA,CAAlB,EAAoB31C,CAAC,GAACA,CAAC,IAAE,CAAzB,EAA2BnC,CAAC,IAAE,CAA9B,EAAgC,CAACK,CAAD,EAAG,MAAI8B,CAAP,EAAS,MAAInC,CAAb,CAAvC;AAAuD,OAAriF,EAAsiFmC,CAAC,CAACyrN,GAAF,CAAMJ,GAAN,GAAU,UAAS93N,CAAT,EAAW;AAAC,cAAM2K,CAAC,GAAC3K,CAAC,CAAC,CAAD,CAAD,GAAK,GAAb;AAAiB,YAAIuK,CAAC,GAACvK,CAAC,CAAC,CAAD,CAAD,GAAK,GAAX;AAAA,YAAeuM,CAAC,GAACvM,CAAC,CAAC,CAAD,CAAD,GAAK,GAAtB;AAA0B,cAAMrpB,CAAC,GAAC4zB,CAAC,GAACgC,CAAV;AAAY,YAAIE,CAAJ;AAAM91B,QAAAA,CAAC,GAAC,CAAF,KAAM4zB,CAAC,IAAE5zB,CAAH,EAAK41B,CAAC,IAAE51B,CAAd;AAAiB,cAAM2zB,CAAC,GAAC4xB,IAAI,CAACkwC,KAAL,CAAW,IAAEzhE,CAAb,CAAR;AAAA,cAAwBy3C,CAAC,GAAC,IAAE71C,CAA5B;AAA8BE,QAAAA,CAAC,GAAC,IAAE9B,CAAF,GAAIL,CAAN,EAAQ,MAAI,IAAEA,CAAN,MAAWmC,CAAC,GAAC,IAAEA,CAAf,CAAR;AAA0B,cAAMkxI,CAAC,GAACpzI,CAAC,GAACkC,CAAC,IAAE21C,CAAC,GAAC73C,CAAJ,CAAX;AAAkB,YAAI2hL,CAAJ,EAAMtiL,CAAN,EAAQgtI,CAAR;;AAAU,gBAAOtsI,CAAP;AAAU;AAAQ,eAAK,CAAL;AAAO,eAAK,CAAL;AAAO4hL,YAAAA,CAAC,GAAC9pI,CAAF,EAAIx4C,CAAC,GAAC+zI,CAAN,EAAQ/G,CAAC,GAACrsI,CAAV;AAAY;;AAAM,eAAK,CAAL;AAAO2hL,YAAAA,CAAC,GAACvuC,CAAF,EAAI/zI,CAAC,GAACw4C,CAAN,EAAQw0F,CAAC,GAACrsI,CAAV;AAAY;;AAAM,eAAK,CAAL;AAAO2hL,YAAAA,CAAC,GAAC3hL,CAAF,EAAIX,CAAC,GAACw4C,CAAN,EAAQw0F,CAAC,GAAC+G,CAAV;AAAY;;AAAM,eAAK,CAAL;AAAOuuC,YAAAA,CAAC,GAAC3hL,CAAF,EAAIX,CAAC,GAAC+zI,CAAN,EAAQ/G,CAAC,GAACx0F,CAAV;AAAY;;AAAM,eAAK,CAAL;AAAO8pI,YAAAA,CAAC,GAACvuC,CAAF,EAAI/zI,CAAC,GAACW,CAAN,EAAQqsI,CAAC,GAACx0F,CAAV;AAAY;;AAAM,eAAK,CAAL;AAAO8pI,YAAAA,CAAC,GAAC9pI,CAAF,EAAIx4C,CAAC,GAACW,CAAN,EAAQqsI,CAAC,GAAC+G,CAAV;AAA7J;;AAAyK,eAAM,CAAC,MAAIuuC,CAAL,EAAO,MAAItiL,CAAX,EAAa,MAAIgtI,CAAjB,CAAN;AAA0B,OAAj6F,EAAk6FnqI,CAAC,CAAC0rN,IAAF,CAAOL,GAAP,GAAW,UAAS93N,CAAT,EAAW;AAAC,cAAM2K,CAAC,GAAC3K,CAAC,CAAC,CAAD,CAAD,GAAK,GAAb;AAAA,cAAiBuK,CAAC,GAACvK,CAAC,CAAC,CAAD,CAAD,GAAK,GAAxB;AAAA,cAA4BuM,CAAC,GAACvM,CAAC,CAAC,CAAD,CAAD,GAAK,GAAnC;AAAA,cAAuCrpB,CAAC,GAACqpB,CAAC,CAAC,CAAD,CAAD,GAAK,GAA9C;AAAkD,eAAM,CAAC,OAAK,IAAEk8B,IAAI,CAACzqC,GAAL,CAAS,CAAT,EAAWkZ,CAAC,IAAE,IAAEh0B,CAAJ,CAAD,GAAQA,CAAnB,CAAP,CAAD,EAA+B,OAAK,IAAEulD,IAAI,CAACzqC,GAAL,CAAS,CAAT,EAAW8Y,CAAC,IAAE,IAAE5zB,CAAJ,CAAD,GAAQA,CAAnB,CAAP,CAA/B,EAA6D,OAAK,IAAEulD,IAAI,CAACzqC,GAAL,CAAS,CAAT,EAAW8a,CAAC,IAAE,IAAE51B,CAAJ,CAAD,GAAQA,CAAnB,CAAP,CAA7D,CAAN;AAAkG,OAA7kG,EAA8kG81B,CAAC,CAAC2rN,GAAF,CAAMN,GAAN,GAAU,UAAS93N,CAAT,EAAW;AAAC,cAAM2K,CAAC,GAAC3K,CAAC,CAAC,CAAD,CAAD,GAAK,GAAb;AAAA,cAAiBuK,CAAC,GAACvK,CAAC,CAAC,CAAD,CAAD,GAAK,GAAxB;AAAA,cAA4BuM,CAAC,GAACvM,CAAC,CAAC,CAAD,CAAD,GAAK,GAAnC;AAAuC,YAAIrpB,CAAJ,EAAM81B,CAAN,EAAQnC,CAAR;AAAU,eAAO3zB,CAAC,GAAC,SAAOg0B,CAAP,GAAS,CAAC,MAAD,GAAQJ,CAAjB,GAAmB,CAAC,KAAD,GAAOgC,CAA5B,EAA8BE,CAAC,GAAC,CAAC,KAAD,GAAO9B,CAAP,GAAS,SAAOJ,CAAhB,GAAkB,QAAMgC,CAAxD,EAA0DjC,CAAC,GAAC,QAAMK,CAAN,GAAQ,CAAC,IAAD,GAAMJ,CAAd,GAAgB,QAAMgC,CAAlF,EAAoF51B,CAAC,GAACA,CAAC,GAAC,QAAF,GAAW,QAAMA,CAAC,KAAG,IAAE,GAAL,CAAP,GAAiB,IAA5B,GAAiC,QAAMA,CAA7H,EAA+H81B,CAAC,GAACA,CAAC,GAAC,QAAF,GAAW,QAAMA,CAAC,KAAG,IAAE,GAAL,CAAP,GAAiB,IAA5B,GAAiC,QAAMA,CAAxK,EAA0KnC,CAAC,GAACA,CAAC,GAAC,QAAF,GAAW,QAAMA,CAAC,KAAG,IAAE,GAAL,CAAP,GAAiB,IAA5B,GAAiC,QAAMA,CAAnN,EAAqN3zB,CAAC,GAACulD,IAAI,CAACzqC,GAAL,CAASyqC,IAAI,CAAC1qC,GAAL,CAAS,CAAT,EAAW7a,CAAX,CAAT,EAAuB,CAAvB,CAAvN,EAAiP81B,CAAC,GAACyvB,IAAI,CAACzqC,GAAL,CAASyqC,IAAI,CAAC1qC,GAAL,CAAS,CAAT,EAAWib,CAAX,CAAT,EAAuB,CAAvB,CAAnP,EAA6QnC,CAAC,GAAC4xB,IAAI,CAACzqC,GAAL,CAASyqC,IAAI,CAAC1qC,GAAL,CAAS,CAAT,EAAW8Y,CAAX,CAAT,EAAuB,CAAvB,CAA/Q,EAAyS,CAAC,MAAI3zB,CAAL,EAAO,MAAI81B,CAAX,EAAa,MAAInC,CAAjB,CAAhT;AAAoU,OAAz9G,EAA09GmC,CAAC,CAAC2rN,GAAF,CAAMC,GAAN,GAAU,UAASr4N,CAAT,EAAW;AAAC,YAAI2K,CAAC,GAAC3K,CAAC,CAAC,CAAD,CAAP;AAAA,YAAWuK,CAAC,GAACvK,CAAC,CAAC,CAAD,CAAd;AAAA,YAAkBuM,CAAC,GAACvM,CAAC,CAAC,CAAD,CAArB;AAAyB2K,QAAAA,CAAC,IAAE,MAAH,EAAUJ,CAAC,IAAE,GAAb,EAAiBgC,CAAC,IAAE,OAApB,EAA4B5B,CAAC,GAACA,CAAC,GAAC,OAAF,GAAUA,CAAC,KAAG,IAAE,CAAL,CAAX,GAAmB,QAAMA,CAAN,GAAQ,KAAG,GAA5D,EAAgEJ,CAAC,GAACA,CAAC,GAAC,OAAF,GAAUA,CAAC,KAAG,IAAE,CAAL,CAAX,GAAmB,QAAMA,CAAN,GAAQ,KAAG,GAAhG,EAAoGgC,CAAC,GAACA,CAAC,GAAC,OAAF,GAAUA,CAAC,KAAG,IAAE,CAAL,CAAX,GAAmB,QAAMA,CAAN,GAAQ,KAAG,GAApI;AAAwI,eAAM,CAAC,MAAIhC,CAAJ,GAAM,EAAP,EAAU,OAAKI,CAAC,GAACJ,CAAP,CAAV,EAAoB,OAAKA,CAAC,GAACgC,CAAP,CAApB,CAAN;AAAqC,OAAtrH,EAAurHE,CAAC,CAAC4rN,GAAF,CAAMD,GAAN,GAAU,UAASp4N,CAAT,EAAW;AAAC,YAAI2K,CAAJ,EAAMJ,CAAN,EAAQgC,CAAR;AAAUhC,QAAAA,CAAC,GAAC,CAACvK,CAAC,CAAC,CAAD,CAAD,GAAK,EAAN,IAAU,GAAZ,EAAgB2K,CAAC,GAAC3K,CAAC,CAAC,CAAD,CAAD,GAAK,GAAL,GAASuK,CAA3B,EAA6BgC,CAAC,GAAChC,CAAC,GAACvK,CAAC,CAAC,CAAD,CAAD,GAAK,GAAtC;AAA0C,cAAMrpB,CAAC,GAAC4zB,CAAC,IAAE,CAAX;AAAA,cAAakC,CAAC,GAAC9B,CAAC,IAAE,CAAlB;AAAA,cAAoBL,CAAC,GAACiC,CAAC,IAAE,CAAzB;AAA2B,eAAOhC,CAAC,GAAC5zB,CAAC,GAAC,OAAF,GAAUA,CAAV,GAAY,CAAC4zB,CAAC,GAAC,KAAG,GAAN,IAAW,KAAzB,EAA+BI,CAAC,GAAC8B,CAAC,GAAC,OAAF,GAAUA,CAAV,GAAY,CAAC9B,CAAC,GAAC,KAAG,GAAN,IAAW,KAAxD,EAA8D4B,CAAC,GAACjC,CAAC,GAAC,OAAF,GAAUA,CAAV,GAAY,CAACiC,CAAC,GAAC,KAAG,GAAN,IAAW,KAAvF,EAA6F5B,CAAC,IAAE,MAAhG,EAAuGJ,CAAC,IAAE,GAA1G,EAA8GgC,CAAC,IAAE,OAAjH,EAAyH,CAAC5B,CAAD,EAAGJ,CAAH,EAAKgC,CAAL,CAAhI;AAAwI,OAAp6H,EAAq6HE,CAAC,CAAC4rN,GAAF,CAAMC,GAAN,GAAU,UAASt4N,CAAT,EAAW;AAAC,cAAM2K,CAAC,GAAC3K,CAAC,CAAC,CAAD,CAAT;AAAA,cAAauK,CAAC,GAACvK,CAAC,CAAC,CAAD,CAAhB;AAAA,cAAoBuM,CAAC,GAACvM,CAAC,CAAC,CAAD,CAAvB;AAA2B,YAAIrpB,CAAJ;AAAMA,QAAAA,CAAC,GAAC,MAAIulD,IAAI,CAAC28L,KAAL,CAAWtsN,CAAX,EAAahC,CAAb,CAAJ,GAAoB,CAApB,GAAsB2xB,IAAI,CAAC48L,EAA7B,EAAgCniP,CAAC,GAAC,CAAF,KAAMA,CAAC,IAAE,GAAT,CAAhC;AAA8C,eAAM,CAACg0B,CAAD,EAAGuxB,IAAI,CAAC68L,IAAL,CAAUxuN,CAAC,GAACA,CAAF,GAAIgC,CAAC,GAACA,CAAhB,CAAH,EAAsB51B,CAAtB,CAAN;AAA+B,OAAziI,EAA0iI81B,CAAC,CAAC6rN,GAAF,CAAMD,GAAN,GAAU,UAASr4N,CAAT,EAAW;AAAC,cAAM2K,CAAC,GAAC3K,CAAC,CAAC,CAAD,CAAT;AAAA,cAAauK,CAAC,GAACvK,CAAC,CAAC,CAAD,CAAhB;AAAA,cAAoBuM,CAAC,GAACvM,CAAC,CAAC,CAAD,CAAD,GAAK,GAAL,GAAS,CAAT,GAAWk8B,IAAI,CAAC48L,EAAtC;AAAyC,eAAM,CAACnuN,CAAD,EAAGJ,CAAC,GAAC2xB,IAAI,CAAC88L,GAAL,CAASzsN,CAAT,CAAL,EAAiBhC,CAAC,GAAC2xB,IAAI,CAAC+8L,GAAL,CAAS1sN,CAAT,CAAnB,CAAN;AAAsC,OAA/oI,EAAgpIE,CAAC,CAACqrN,GAAF,CAAMU,MAAN,GAAa,UAASx4N,CAAT,EAAW2K,CAAC,GAAC,IAAb,EAAkB;AAAC,cAAK,CAACJ,CAAD,EAAGgC,CAAH,EAAK51B,CAAL,IAAQqpB,CAAb;AAAe,YAAIsK,CAAC,GAAC,SAAOK,CAAP,GAAS8B,CAAC,CAACqrN,GAAF,CAAMG,GAAN,CAAUj4N,CAAV,EAAa,CAAb,CAAT,GAAyB2K,CAA/B;AAAiC,YAAGL,CAAC,GAAC4xB,IAAI,CAACk6C,KAAL,CAAW9rE,CAAC,GAAC,EAAb,CAAF,EAAmB,MAAIA,CAA1B,EAA4B,OAAO,EAAP;AAAU,YAAI83C,CAAC,GAAC,MAAIlmB,IAAI,CAACk6C,KAAL,CAAWz/F,CAAC,GAAC,GAAb,KAAmB,CAAnB,GAAqBulD,IAAI,CAACk6C,KAAL,CAAW7pE,CAAC,GAAC,GAAb,KAAmB,CAAxC,GAA0C2vB,IAAI,CAACk6C,KAAL,CAAW7rE,CAAC,GAAC,GAAb,CAA9C,CAAN;AAAuE,eAAO,MAAID,CAAJ,KAAQ83C,CAAC,IAAE,EAAX,GAAeA,CAAtB;AAAwB,OAAr2I,EAAs2I31C,CAAC,CAACwrN,GAAF,CAAMO,MAAN,GAAa,UAASx4N,CAAT,EAAW;AAAC,eAAOyM,CAAC,CAACqrN,GAAF,CAAMU,MAAN,CAAa/rN,CAAC,CAACwrN,GAAF,CAAMH,GAAN,CAAU93N,CAAV,CAAb,EAA0BA,CAAC,CAAC,CAAD,CAA3B,CAAP;AAAuC,OAAt6I,EAAu6IyM,CAAC,CAACqrN,GAAF,CAAMW,OAAN,GAAc,UAASz4N,CAAT,EAAW;AAAC,cAAM2K,CAAC,GAAC3K,CAAC,CAAC,CAAD,CAAT;AAAA,cAAauK,CAAC,GAACvK,CAAC,CAAC,CAAD,CAAhB;AAAA,cAAoBuM,CAAC,GAACvM,CAAC,CAAC,CAAD,CAAvB;AAA2B,YAAG2K,CAAC,KAAGJ,CAAJ,IAAOA,CAAC,KAAGgC,CAAd,EAAgB,OAAO5B,CAAC,GAAC,CAAF,GAAI,EAAJ,GAAOA,CAAC,GAAC,GAAF,GAAM,GAAN,GAAUuxB,IAAI,CAACk6C,KAAL,CAAW,CAACzrE,CAAC,GAAC,CAAH,IAAM,GAAN,GAAU,EAArB,IAAyB,GAAjD;AAAqD,eAAO,KAAG,KAAGuxB,IAAI,CAACk6C,KAAL,CAAWzrE,CAAC,GAAC,GAAF,GAAM,CAAjB,CAAN,GAA0B,IAAEuxB,IAAI,CAACk6C,KAAL,CAAW7rE,CAAC,GAAC,GAAF,GAAM,CAAjB,CAA5B,GAAgD2xB,IAAI,CAACk6C,KAAL,CAAW7pE,CAAC,GAAC,GAAF,GAAM,CAAjB,CAAvD;AAA2E,OAA5mJ,EAA6mJE,CAAC,CAAC+rN,MAAF,CAASV,GAAT,GAAa,UAAS93N,CAAT,EAAW;AAAC,YAAI2K,CAAC,GAAC3K,CAAC,GAAC,EAAR;AAAW,YAAG,MAAI2K,CAAJ,IAAO,MAAIA,CAAd,EAAgB,OAAO3K,CAAC,GAAC,EAAF,KAAO2K,CAAC,IAAE,GAAV,GAAeA,CAAC,GAACA,CAAC,GAAC,IAAF,GAAO,GAAxB,EAA4B,CAACA,CAAD,EAAGA,CAAH,EAAKA,CAAL,CAAnC;AAA2C,cAAMJ,CAAC,GAAC,MAAI,IAAE,CAAC,EAAEvK,CAAC,GAAC,EAAJ,CAAP,CAAR;AAAwB,eAAM,CAAC,CAAC,IAAE2K,CAAH,IAAMJ,CAAN,GAAQ,GAAT,EAAa,CAACI,CAAC,IAAE,CAAH,GAAK,CAAN,IAASJ,CAAT,GAAW,GAAxB,EAA4B,CAACI,CAAC,IAAE,CAAH,GAAK,CAAN,IAASJ,CAAT,GAAW,GAAvC,CAAN;AAAkD,OAAtxJ,EAAuxJkC,CAAC,CAACgsN,OAAF,CAAUX,GAAV,GAAc,UAAS93N,CAAT,EAAW;AAAC,YAAGA,CAAC,IAAE,GAAN,EAAU;AAAC,gBAAM2K,CAAC,GAAC,MAAI3K,CAAC,GAAC,GAAN,IAAW,CAAnB;AAAqB,iBAAM,CAAC2K,CAAD,EAAGA,CAAH,EAAKA,CAAL,CAAN;AAAc;;AAAA,YAAIA,CAAJ;AAAM3K,QAAAA,CAAC,IAAE,EAAH;AAAM,eAAM,CAACk8B,IAAI,CAACkwC,KAAL,CAAWpsE,CAAC,GAAC,EAAb,IAAiB,CAAjB,GAAmB,GAApB,EAAwBk8B,IAAI,CAACkwC,KAAL,CAAW,CAACzhE,CAAC,GAAC3K,CAAC,GAAC,EAAL,IAAS,CAApB,IAAuB,CAAvB,GAAyB,GAAjD,EAAqD2K,CAAC,GAAC,CAAF,GAAI,CAAJ,GAAM,GAA3D,CAAN;AAAsE,OAAj7J,EAAk7J8B,CAAC,CAACqrN,GAAF,CAAM97L,GAAN,GAAU,UAASh8B,CAAT,EAAW;AAAC,cAAM2K,CAAC,GAAC,CAAC,CAAC,CAAC,MAAIuxB,IAAI,CAACk6C,KAAL,CAAWp2E,CAAC,CAAC,CAAD,CAAZ,CAAL,KAAwB,EAAzB,KAA8B,CAAC,MAAIk8B,IAAI,CAACk6C,KAAL,CAAWp2E,CAAC,CAAC,CAAD,CAAZ,CAAL,KAAwB,CAAtD,KAA0D,MAAIk8B,IAAI,CAACk6C,KAAL,CAAWp2E,CAAC,CAAC,CAAD,CAAZ,CAA9D,CAAD,EAAkFkd,QAAlF,CAA2F,EAA3F,EAA+FmlD,WAA/F,EAAR;AAAqH,eAAM,SAAS76C,SAAT,CAAmB7c,CAAC,CAACh+B,MAArB,IAA6Bg+B,CAAnC;AAAqC,OAAlmK,EAAmmK8B,CAAC,CAACuvB,GAAF,CAAM87L,GAAN,GAAU,UAAS93N,CAAT,EAAW;AAAC,cAAM2K,CAAC,GAAC3K,CAAC,CAACkd,QAAF,CAAW,EAAX,EAAegtC,KAAf,CAAqB,0BAArB,CAAR;AAAyD,YAAG,CAACv/C,CAAJ,EAAM,OAAM,CAAC,CAAD,EAAG,CAAH,EAAK,CAAL,CAAN;AAAc,YAAIJ,CAAC,GAACI,CAAC,CAAC,CAAD,CAAP;AAAW,cAAIA,CAAC,CAAC,CAAD,CAAD,CAAKh+B,MAAT,KAAkB49B,CAAC,GAACA,CAAC,CAACxrB,KAAF,CAAQ,EAAR,EAAYvV,GAAZ,CAAiBw2B,CAAC,IAAEA,CAAC,GAACA,CAAtB,EAA0BjzB,IAA1B,CAA+B,EAA/B,CAApB;AAAwD,cAAMw/B,CAAC,GAAC3I,QAAQ,CAAC2G,CAAD,EAAG,EAAH,CAAhB;AAAuB,eAAM,CAACgC,CAAC,IAAE,EAAH,GAAM,GAAP,EAAWA,CAAC,IAAE,CAAH,GAAK,GAAhB,EAAoB,MAAIA,CAAxB,CAAN;AAAiC,OAAj0K,EAAk0KE,CAAC,CAACqrN,GAAF,CAAMY,GAAN,GAAU,UAAS14N,CAAT,EAAW;AAAC,cAAM2K,CAAC,GAAC3K,CAAC,CAAC,CAAD,CAAD,GAAK,GAAb;AAAA,cAAiBuK,CAAC,GAACvK,CAAC,CAAC,CAAD,CAAD,GAAK,GAAxB;AAAA,cAA4BuM,CAAC,GAACvM,CAAC,CAAC,CAAD,CAAD,GAAK,GAAnC;AAAA,cAAuCrpB,CAAC,GAACulD,IAAI,CAAC1qC,GAAL,CAAS0qC,IAAI,CAAC1qC,GAAL,CAASmZ,CAAT,EAAWJ,CAAX,CAAT,EAAuBgC,CAAvB,CAAzC;AAAA,cAAmEE,CAAC,GAACyvB,IAAI,CAACzqC,GAAL,CAASyqC,IAAI,CAACzqC,GAAL,CAASkZ,CAAT,EAAWJ,CAAX,CAAT,EAAuBgC,CAAvB,CAArE;AAAA,cAA+FjC,CAAC,GAAC3zB,CAAC,GAAC81B,CAAnG;AAAqG,YAAI21C,CAAJ,EAAMu7F,CAAN;AAAQ,eAAOv7F,CAAC,GAAC93C,CAAC,GAAC,CAAF,GAAImC,CAAC,IAAE,IAAEnC,CAAJ,CAAL,GAAY,CAAd,EAAgBqzI,CAAC,GAACrzI,CAAC,IAAE,CAAH,GAAK,CAAL,GAAO3zB,CAAC,KAAGg0B,CAAJ,GAAM,CAACJ,CAAC,GAACgC,CAAH,IAAMjC,CAAN,GAAQ,CAAd,GAAgB3zB,CAAC,KAAG4zB,CAAJ,GAAM,IAAE,CAACgC,CAAC,GAAC5B,CAAH,IAAML,CAAd,GAAgB,IAAE,CAACK,CAAC,GAACJ,CAAH,IAAMD,CAAjE,EAAmEqzI,CAAC,IAAE,CAAtE,EAAwEA,CAAC,IAAE,CAA3E,EAA6E,CAAC,MAAIA,CAAL,EAAO,MAAIrzI,CAAX,EAAa,MAAI83C,CAAjB,CAApF;AAAwG,OAA7iL,EAA8iL31C,CAAC,CAACurN,GAAF,CAAMU,GAAN,GAAU,UAAS14N,CAAT,EAAW;AAAC,cAAM2K,CAAC,GAAC3K,CAAC,CAAC,CAAD,CAAD,GAAK,GAAb;AAAA,cAAiBuK,CAAC,GAACvK,CAAC,CAAC,CAAD,CAAD,GAAK,GAAxB;AAAA,cAA4BuM,CAAC,GAAChC,CAAC,GAAC,EAAF,GAAK,IAAEI,CAAF,GAAIJ,CAAT,GAAW,IAAEI,CAAF,IAAK,IAAEJ,CAAP,CAAzC;AAAmD,YAAI5zB,CAAC,GAAC,CAAN;AAAQ,eAAO41B,CAAC,GAAC,CAAF,KAAM51B,CAAC,GAAC,CAAC4zB,CAAC,GAAC,KAAGgC,CAAN,KAAU,IAAEA,CAAZ,CAAR,GAAwB,CAACvM,CAAC,CAAC,CAAD,CAAF,EAAM,MAAIuM,CAAV,EAAY,MAAI51B,CAAhB,CAA/B;AAAkD,OAAjrL,EAAkrL81B,CAAC,CAACwrN,GAAF,CAAMS,GAAN,GAAU,UAAS14N,CAAT,EAAW;AAAC,cAAM2K,CAAC,GAAC3K,CAAC,CAAC,CAAD,CAAD,GAAK,GAAb;AAAA,cAAiBuK,CAAC,GAACvK,CAAC,CAAC,CAAD,CAAD,GAAK,GAAxB;AAAA,cAA4BuM,CAAC,GAAC5B,CAAC,GAACJ,CAAhC;AAAkC,YAAI5zB,CAAC,GAAC,CAAN;AAAQ,eAAO41B,CAAC,GAAC,CAAF,KAAM51B,CAAC,GAAC,CAAC4zB,CAAC,GAACgC,CAAH,KAAO,IAAEA,CAAT,CAAR,GAAqB,CAACvM,CAAC,CAAC,CAAD,CAAF,EAAM,MAAIuM,CAAV,EAAY,MAAI51B,CAAhB,CAA5B;AAA+C,OAAjyL,EAAkyL81B,CAAC,CAACisN,GAAF,CAAMZ,GAAN,GAAU,UAAS93N,CAAT,EAAW;AAAC,cAAM2K,CAAC,GAAC3K,CAAC,CAAC,CAAD,CAAD,GAAK,GAAb;AAAA,cAAiBuK,CAAC,GAACvK,CAAC,CAAC,CAAD,CAAD,GAAK,GAAxB;AAAA,cAA4BuM,CAAC,GAACvM,CAAC,CAAC,CAAD,CAAD,GAAK,GAAnC;AAAuC,YAAG,MAAIuK,CAAP,EAAS,OAAM,CAAC,MAAIgC,CAAL,EAAO,MAAIA,CAAX,EAAa,MAAIA,CAAjB,CAAN;AAA0B,cAAM51B,CAAC,GAAC,CAAC,CAAD,EAAG,CAAH,EAAK,CAAL,CAAR;AAAA,cAAgB81B,CAAC,GAAC9B,CAAC,GAAC,CAAF,GAAI,CAAtB;AAAA,cAAwBL,CAAC,GAACmC,CAAC,GAAC,CAA5B;AAAA,cAA8B21C,CAAC,GAAC,IAAE93C,CAAlC;AAAoC,YAAIqzI,CAAC,GAAC,CAAN;;AAAQ,gBAAOzhH,IAAI,CAACkwC,KAAL,CAAW3/D,CAAX,CAAP;AAAsB,eAAK,CAAL;AAAO91B,YAAAA,CAAC,CAAC,CAAD,CAAD,GAAK,CAAL,EAAOA,CAAC,CAAC,CAAD,CAAD,GAAK2zB,CAAZ,EAAc3zB,CAAC,CAAC,CAAD,CAAD,GAAK,CAAnB;AAAqB;;AAAM,eAAK,CAAL;AAAOA,YAAAA,CAAC,CAAC,CAAD,CAAD,GAAKyrE,CAAL,EAAOzrE,CAAC,CAAC,CAAD,CAAD,GAAK,CAAZ,EAAcA,CAAC,CAAC,CAAD,CAAD,GAAK,CAAnB;AAAqB;;AAAM,eAAK,CAAL;AAAOA,YAAAA,CAAC,CAAC,CAAD,CAAD,GAAK,CAAL,EAAOA,CAAC,CAAC,CAAD,CAAD,GAAK,CAAZ,EAAcA,CAAC,CAAC,CAAD,CAAD,GAAK2zB,CAAnB;AAAqB;;AAAM,eAAK,CAAL;AAAO3zB,YAAAA,CAAC,CAAC,CAAD,CAAD,GAAK,CAAL,EAAOA,CAAC,CAAC,CAAD,CAAD,GAAKyrE,CAAZ,EAAczrE,CAAC,CAAC,CAAD,CAAD,GAAK,CAAnB;AAAqB;;AAAM,eAAK,CAAL;AAAOA,YAAAA,CAAC,CAAC,CAAD,CAAD,GAAK2zB,CAAL,EAAO3zB,CAAC,CAAC,CAAD,CAAD,GAAK,CAAZ,EAAcA,CAAC,CAAC,CAAD,CAAD,GAAK,CAAnB;AAAqB;;AAAM;AAAQA,YAAAA,CAAC,CAAC,CAAD,CAAD,GAAK,CAAL,EAAOA,CAAC,CAAC,CAAD,CAAD,GAAK,CAAZ,EAAcA,CAAC,CAAC,CAAD,CAAD,GAAKyrE,CAAnB;AAAxM;;AAA6N,eAAOu7F,CAAC,GAAC,CAAC,IAAEpzI,CAAH,IAAMgC,CAAR,EAAU,CAAC,OAAKhC,CAAC,GAAC5zB,CAAC,CAAC,CAAD,CAAH,GAAOgnK,CAAZ,CAAD,EAAgB,OAAKpzI,CAAC,GAAC5zB,CAAC,CAAC,CAAD,CAAH,GAAOgnK,CAAZ,CAAhB,EAA+B,OAAKpzI,CAAC,GAAC5zB,CAAC,CAAC,CAAD,CAAH,GAAOgnK,CAAZ,CAA/B,CAAjB;AAAgE,OAA3sM,EAA4sMlxI,CAAC,CAACisN,GAAF,CAAMT,GAAN,GAAU,UAASj4N,CAAT,EAAW;AAAC,cAAM2K,CAAC,GAAC3K,CAAC,CAAC,CAAD,CAAD,GAAK,GAAb;AAAA,cAAiBuK,CAAC,GAACI,CAAC,GAAC3K,CAAC,CAAC,CAAD,CAAD,GAAK,GAAL,IAAU,IAAE2K,CAAZ,CAArB;AAAoC,YAAI4B,CAAC,GAAC,CAAN;AAAQ,eAAOhC,CAAC,GAAC,CAAF,KAAMgC,CAAC,GAAC5B,CAAC,GAACJ,CAAV,GAAa,CAACvK,CAAC,CAAC,CAAD,CAAF,EAAM,MAAIuM,CAAV,EAAY,MAAIhC,CAAhB,CAApB;AAAuC,OAArzM,EAAszMkC,CAAC,CAACisN,GAAF,CAAMV,GAAN,GAAU,UAASh4N,CAAT,EAAW;AAAC,cAAM2K,CAAC,GAAC3K,CAAC,CAAC,CAAD,CAAD,GAAK,GAAb;AAAA,cAAiBuK,CAAC,GAACvK,CAAC,CAAC,CAAD,CAAD,GAAK,GAAL,IAAU,IAAE2K,CAAZ,IAAe,KAAGA,CAArC;AAAuC,YAAI4B,CAAC,GAAC,CAAN;AAAQ,eAAOhC,CAAC,GAAC,CAAF,IAAKA,CAAC,GAAC,EAAP,GAAUgC,CAAC,GAAC5B,CAAC,IAAE,IAAEJ,CAAJ,CAAb,GAAoBA,CAAC,IAAE,EAAH,IAAOA,CAAC,GAAC,CAAT,KAAagC,CAAC,GAAC5B,CAAC,IAAE,KAAG,IAAEJ,CAAL,CAAF,CAAhB,CAApB,EAAgD,CAACvK,CAAC,CAAC,CAAD,CAAF,EAAM,MAAIuM,CAAV,EAAY,MAAIhC,CAAhB,CAAvD;AAA0E,OAAr8M,EAAs8MkC,CAAC,CAACisN,GAAF,CAAMR,GAAN,GAAU,UAASl4N,CAAT,EAAW;AAAC,cAAM2K,CAAC,GAAC3K,CAAC,CAAC,CAAD,CAAD,GAAK,GAAb;AAAA,cAAiBuK,CAAC,GAACI,CAAC,GAAC3K,CAAC,CAAC,CAAD,CAAD,GAAK,GAAL,IAAU,IAAE2K,CAAZ,CAArB;AAAoC,eAAM,CAAC3K,CAAC,CAAC,CAAD,CAAF,EAAM,OAAKuK,CAAC,GAACI,CAAP,CAAN,EAAgB,OAAK,IAAEJ,CAAP,CAAhB,CAAN;AAAiC,OAAjiN,EAAkiNkC,CAAC,CAACyrN,GAAF,CAAMQ,GAAN,GAAU,UAAS14N,CAAT,EAAW;AAAC,cAAM2K,CAAC,GAAC3K,CAAC,CAAC,CAAD,CAAD,GAAK,GAAb;AAAA,cAAiBuK,CAAC,GAAC,IAAEvK,CAAC,CAAC,CAAD,CAAD,GAAK,GAA1B;AAAA,cAA8BuM,CAAC,GAAChC,CAAC,GAACI,CAAlC;AAAoC,YAAIh0B,CAAC,GAAC,CAAN;AAAQ,eAAO41B,CAAC,GAAC,CAAF,KAAM51B,CAAC,GAAC,CAAC4zB,CAAC,GAACgC,CAAH,KAAO,IAAEA,CAAT,CAAR,GAAqB,CAACvM,CAAC,CAAC,CAAD,CAAF,EAAM,MAAIuM,CAAV,EAAY,MAAI51B,CAAhB,CAA5B;AAA+C,OAAnpN,EAAopN81B,CAAC,CAACksN,KAAF,CAAQb,GAAR,GAAY,UAAS93N,CAAT,EAAW;AAAC,eAAM,CAACA,CAAC,CAAC,CAAD,CAAD,GAAK,KAAL,GAAW,GAAZ,EAAgBA,CAAC,CAAC,CAAD,CAAD,GAAK,KAAL,GAAW,GAA3B,EAA+BA,CAAC,CAAC,CAAD,CAAD,GAAK,KAAL,GAAW,GAA1C,CAAN;AAAqD,OAAjuN,EAAkuNyM,CAAC,CAACqrN,GAAF,CAAMa,KAAN,GAAY,UAAS34N,CAAT,EAAW;AAAC,eAAM,CAACA,CAAC,CAAC,CAAD,CAAD,GAAK,GAAL,GAAS,KAAV,EAAgBA,CAAC,CAAC,CAAD,CAAD,GAAK,GAAL,GAAS,KAAzB,EAA+BA,CAAC,CAAC,CAAD,CAAD,GAAK,GAAL,GAAS,KAAxC,CAAN;AAAqD,OAA/yN,EAAgzNyM,CAAC,CAACmsN,IAAF,CAAOd,GAAP,GAAW,UAAS93N,CAAT,EAAW;AAAC,eAAM,CAACA,CAAC,CAAC,CAAD,CAAD,GAAK,GAAL,GAAS,GAAV,EAAcA,CAAC,CAAC,CAAD,CAAD,GAAK,GAAL,GAAS,GAAvB,EAA2BA,CAAC,CAAC,CAAD,CAAD,GAAK,GAAL,GAAS,GAApC,CAAN;AAA+C,OAAt3N,EAAu3NyM,CAAC,CAACmsN,IAAF,CAAOZ,GAAP,GAAW,UAASh4N,CAAT,EAAW;AAAC,eAAM,CAAC,CAAD,EAAG,CAAH,EAAKA,CAAC,CAAC,CAAD,CAAN,CAAN;AAAiB,OAA/5N,EAAg6NyM,CAAC,CAACmsN,IAAF,CAAOX,GAAP,GAAWxrN,CAAC,CAACmsN,IAAF,CAAOZ,GAAl7N,EAAs7NvrN,CAAC,CAACmsN,IAAF,CAAOV,GAAP,GAAW,UAASl4N,CAAT,EAAW;AAAC,eAAM,CAAC,CAAD,EAAG,GAAH,EAAOA,CAAC,CAAC,CAAD,CAAR,CAAN;AAAmB,OAAh+N,EAAi+NyM,CAAC,CAACmsN,IAAF,CAAOT,IAAP,GAAY,UAASn4N,CAAT,EAAW;AAAC,eAAM,CAAC,CAAD,EAAG,CAAH,EAAK,CAAL,EAAOA,CAAC,CAAC,CAAD,CAAR,CAAN;AAAmB,OAA5gO,EAA6gOyM,CAAC,CAACmsN,IAAF,CAAOP,GAAP,GAAW,UAASr4N,CAAT,EAAW;AAAC,eAAM,CAACA,CAAC,CAAC,CAAD,CAAF,EAAM,CAAN,EAAQ,CAAR,CAAN;AAAiB,OAArjO,EAAsjOyM,CAAC,CAACmsN,IAAF,CAAO58L,GAAP,GAAW,UAASh8B,CAAT,EAAW;AAAC,cAAM2K,CAAC,GAAC,MAAIuxB,IAAI,CAACk6C,KAAL,CAAWp2E,CAAC,CAAC,CAAD,CAAD,GAAK,GAAL,GAAS,GAApB,CAAZ;AAAA,cAAqCuK,CAAC,GAAC,CAAC,CAACI,CAAC,IAAE,EAAJ,KAASA,CAAC,IAAE,CAAZ,IAAeA,CAAhB,EAAmBuS,QAAnB,CAA4B,EAA5B,EAAgCmlD,WAAhC,EAAvC;AAAqF,eAAM,SAAS76C,SAAT,CAAmBjd,CAAC,CAAC59B,MAArB,IAA6B49B,CAAnC;AAAqC,OAAvsO,EAAwsOkC,CAAC,CAACqrN,GAAF,CAAMc,IAAN,GAAW,UAAS54N,CAAT,EAAW;AAAC,eAAM,CAAC,CAACA,CAAC,CAAC,CAAD,CAAD,GAAKA,CAAC,CAAC,CAAD,CAAN,GAAUA,CAAC,CAAC,CAAD,CAAZ,IAAiB,CAAjB,GAAmB,GAAnB,GAAuB,GAAxB,CAAN;AAAmC,OAAlwO;AAAmwO,KAAhyQ;AAAiyQ,UAAK,CAACA,CAAD,EAAG2K,CAAH,EAAKJ,CAAL,KAAS;AAAC,YAAMgC,CAAC,GAAChC,CAAC,CAAC,IAAD,CAAT;AAAA,YAAgB5zB,CAAC,GAAC4zB,CAAC,CAAC,IAAD,CAAnB;AAAA,YAA0BkC,CAAC,GAAC,EAA5B;AAA+BtK,MAAAA,MAAM,CAACkD,IAAP,CAAYkH,CAAZ,EAAe1G,OAAf,CAAwB7F,CAAC,IAAE;AAACyM,QAAAA,CAAC,CAACzM,CAAD,CAAD,GAAK,EAAL,EAAQmC,MAAM,CAAC2iD,cAAP,CAAsBr4C,CAAC,CAACzM,CAAD,CAAvB,EAA2B,UAA3B,EAAsC;AAAC9uB,UAAAA,KAAK,EAACq7B,CAAC,CAACvM,CAAD,CAAD,CAAKq3H;AAAZ,SAAtC,CAAR,EAAqEl1H,MAAM,CAAC2iD,cAAP,CAAsBr4C,CAAC,CAACzM,CAAD,CAAvB,EAA2B,QAA3B,EAAoC;AAAC9uB,UAAAA,KAAK,EAACq7B,CAAC,CAACvM,CAAD,CAAD,CAAK+3N;AAAZ,SAApC,CAArE;AAA8H,cAAMptN,CAAC,GAACh0B,CAAC,CAACqpB,CAAD,CAAT;AAAamC,QAAAA,MAAM,CAACkD,IAAP,CAAYsF,CAAZ,EAAe9E,OAAf,CAAwB0E,CAAC,IAAE;AAAC,gBAAMgC,CAAC,GAAC5B,CAAC,CAACJ,CAAD,CAAT;AAAakC,UAAAA,CAAC,CAACzM,CAAD,CAAD,CAAKuK,CAAL,IAAQ,UAASvK,CAAT,EAAW;AAAC,kBAAM2K,CAAC,GAAC,UAAS,GAAGA,CAAZ,EAAc;AAAC,oBAAMJ,CAAC,GAACI,CAAC,CAAC,CAAD,CAAT;AAAa,kBAAG,QAAMJ,CAAT,EAAW,OAAOA,CAAP;AAASA,cAAAA,CAAC,CAAC59B,MAAF,GAAS,CAAT,KAAag+B,CAAC,GAACJ,CAAf;AAAkB,oBAAMgC,CAAC,GAACvM,CAAC,CAAC2K,CAAD,CAAT;AAAa,kBAAG,YAAU,OAAO4B,CAApB,EAAsB,KAAI,IAAIvM,CAAC,GAACuM,CAAC,CAAC5/B,MAAR,EAAeg+B,CAAC,GAAC,CAArB,EAAuBA,CAAC,GAAC3K,CAAzB,EAA2B2K,CAAC,EAA5B,EAA+B4B,CAAC,CAAC5B,CAAD,CAAD,GAAKuxB,IAAI,CAACk6C,KAAL,CAAW7pE,CAAC,CAAC5B,CAAD,CAAZ,CAAL;AAAsB,qBAAO4B,CAAP;AAAS,aAA3K;;AAA4K,mBAAM,gBAAevM,CAAf,KAAmB2K,CAAC,CAACuuN,UAAF,GAAal5N,CAAC,CAACk5N,UAAlC,GAA8CvuN,CAApD;AAAsD,WAA9O,CAA+O4B,CAA/O,CAAR,EAA0PE,CAAC,CAACzM,CAAD,CAAD,CAAKuK,CAAL,EAAQsuJ,GAAR,GAAY,UAAS74J,CAAT,EAAW;AAAC,kBAAM2K,CAAC,GAAC,UAAS,GAAGA,CAAZ,EAAc;AAAC,oBAAMJ,CAAC,GAACI,CAAC,CAAC,CAAD,CAAT;AAAa,qBAAO,QAAMJ,CAAN,GAAQA,CAAR,IAAWA,CAAC,CAAC59B,MAAF,GAAS,CAAT,KAAag+B,CAAC,GAACJ,CAAf,GAAkBvK,CAAC,CAAC2K,CAAD,CAA9B,CAAP;AAA0C,aAA9E;;AAA+E,mBAAM,gBAAe3K,CAAf,KAAmB2K,CAAC,CAACuuN,UAAF,GAAal5N,CAAC,CAACk5N,UAAlC,GAA8CvuN,CAApD;AAAsD,WAAjJ,CAAkJ4B,CAAlJ,CAAtQ;AAA2Z,SAApc;AAAuc,OAA9mB,GAAinBvM,CAAC,CAACnZ,OAAF,GAAU4lB,CAA3nB;AAA6nB,KAA58R;AAA68R,UAAK,CAACzM,CAAD,EAAG2K,CAAH,EAAKJ,CAAL,KAAS;AAAC,YAAMgC,CAAC,GAAChC,CAAC,CAAC,IAAD,CAAT;;AAAgB,eAAS5zB,CAAT,CAAWqpB,CAAX,EAAa;AAAC,cAAM2K,CAAC,GAAC,YAAU;AAAC,gBAAM3K,CAAC,GAAC,EAAR;AAAA,gBAAW2K,CAAC,GAACxI,MAAM,CAACkD,IAAP,CAAYkH,CAAZ,CAAb;;AAA4B,eAAI,IAAIhC,CAAC,GAACI,CAAC,CAACh+B,MAAR,EAAe4/B,CAAC,GAAC,CAArB,EAAuBA,CAAC,GAAChC,CAAzB,EAA2BgC,CAAC,EAA5B,EAA+BvM,CAAC,CAAC2K,CAAC,CAAC4B,CAAD,CAAF,CAAD,GAAQ;AAAC4sN,YAAAA,QAAQ,EAAC,CAAC,CAAX;AAAah4K,YAAAA,MAAM,EAAC;AAApB,WAAR;;AAAkC,iBAAOnhD,CAAP;AAAS,SAAjH,EAAR;AAAA,cAA4HuK,CAAC,GAAC,CAACvK,CAAD,CAA9H;;AAAkI,aAAI2K,CAAC,CAAC3K,CAAD,CAAD,CAAKm5N,QAAL,GAAc,CAAlB,EAAoB5uN,CAAC,CAAC59B,MAAtB,GAA8B;AAAC,gBAAMqzB,CAAC,GAACuK,CAAC,CAAChM,GAAF,EAAR;AAAA,gBAAgB5nB,CAAC,GAACwrB,MAAM,CAACkD,IAAP,CAAYkH,CAAC,CAACvM,CAAD,CAAb,CAAlB;;AAAoC,eAAI,IAAIuM,CAAC,GAAC51B,CAAC,CAAChK,MAAR,EAAe8/B,CAAC,GAAC,CAArB,EAAuBA,CAAC,GAACF,CAAzB,EAA2BE,CAAC,EAA5B,EAA+B;AAAC,kBAAMF,CAAC,GAAC51B,CAAC,CAAC81B,CAAD,CAAT;AAAA,kBAAanC,CAAC,GAACK,CAAC,CAAC4B,CAAD,CAAhB;AAAoB,aAAC,CAAD,KAAKjC,CAAC,CAAC6uN,QAAP,KAAkB7uN,CAAC,CAAC6uN,QAAF,GAAWxuN,CAAC,CAAC3K,CAAD,CAAD,CAAKm5N,QAAL,GAAc,CAAzB,EAA2B7uN,CAAC,CAAC62C,MAAF,GAASnhD,CAApC,EAAsCuK,CAAC,CAACu+E,OAAF,CAAUv8E,CAAV,CAAxD;AAAsE;AAAC;;AAAA,eAAO5B,CAAP;AAAS;;AAAA,eAAS8B,CAAT,CAAWzM,CAAX,EAAa2K,CAAb,EAAe;AAAC,eAAO,UAASJ,CAAT,EAAW;AAAC,iBAAOI,CAAC,CAAC3K,CAAC,CAACuK,CAAD,CAAF,CAAR;AAAe,SAAlC;AAAmC;;AAAA,eAASD,CAAT,CAAWtK,CAAX,EAAa2K,CAAb,EAAe;AAAC,cAAMJ,CAAC,GAAC,CAACI,CAAC,CAAC3K,CAAD,CAAD,CAAKmhD,MAAN,EAAanhD,CAAb,CAAR;AAAwB,YAAIrpB,CAAC,GAAC41B,CAAC,CAAC5B,CAAC,CAAC3K,CAAD,CAAD,CAAKmhD,MAAN,CAAD,CAAenhD,CAAf,CAAN;AAAA,YAAwBsK,CAAC,GAACK,CAAC,CAAC3K,CAAD,CAAD,CAAKmhD,MAA/B;;AAAsC,eAAKx2C,CAAC,CAACL,CAAD,CAAD,CAAK62C,MAAV,GAAkB52C,CAAC,CAACu+E,OAAF,CAAUn+E,CAAC,CAACL,CAAD,CAAD,CAAK62C,MAAf,GAAuBxqE,CAAC,GAAC81B,CAAC,CAACF,CAAC,CAAC5B,CAAC,CAACL,CAAD,CAAD,CAAK62C,MAAN,CAAD,CAAe72C,CAAf,CAAD,EAAmB3zB,CAAnB,CAA1B,EAAgD2zB,CAAC,GAACK,CAAC,CAACL,CAAD,CAAD,CAAK62C,MAAvD;;AAA8D,eAAOxqE,CAAC,CAACuiP,UAAF,GAAa3uN,CAAb,EAAe5zB,CAAtB;AAAwB;;AAAAqpB,MAAAA,CAAC,CAACnZ,OAAF,GAAU,UAASmZ,CAAT,EAAW;AAAC,cAAM2K,CAAC,GAACh0B,CAAC,CAACqpB,CAAD,CAAT;AAAA,cAAauK,CAAC,GAAC,EAAf;AAAA,cAAkBgC,CAAC,GAACpK,MAAM,CAACkD,IAAP,CAAYsF,CAAZ,CAApB;;AAAmC,aAAI,IAAI3K,CAAC,GAACuM,CAAC,CAAC5/B,MAAR,EAAegK,CAAC,GAAC,CAArB,EAAuBA,CAAC,GAACqpB,CAAzB,EAA2BrpB,CAAC,EAA5B,EAA+B;AAAC,gBAAMqpB,CAAC,GAACuM,CAAC,CAAC51B,CAAD,CAAT;AAAa,mBAAOg0B,CAAC,CAAC3K,CAAD,CAAD,CAAKmhD,MAAZ,KAAqB52C,CAAC,CAACvK,CAAD,CAAD,GAAKsK,CAAC,CAACtK,CAAD,EAAG2K,CAAH,CAA3B;AAAkC;;AAAA,eAAOJ,CAAP;AAAS,OAAjJ;AAAkJ,KAA9rT;AAA+rT,UAAKvK,CAAC,IAAE;AAAC;;AAAaA,MAAAA,CAAC,CAACnZ,OAAF,GAAU;AAACuyO,QAAAA,SAAS,EAAC,CAAC,GAAD,EAAK,GAAL,EAAS,GAAT,CAAX;AAAyBC,QAAAA,YAAY,EAAC,CAAC,GAAD,EAAK,GAAL,EAAS,GAAT,CAAtC;AAAoDC,QAAAA,IAAI,EAAC,CAAC,CAAD,EAAG,GAAH,EAAO,GAAP,CAAzD;AAAqEC,QAAAA,UAAU,EAAC,CAAC,GAAD,EAAK,GAAL,EAAS,GAAT,CAAhF;AAA8FC,QAAAA,KAAK,EAAC,CAAC,GAAD,EAAK,GAAL,EAAS,GAAT,CAApG;AAAkHC,QAAAA,KAAK,EAAC,CAAC,GAAD,EAAK,GAAL,EAAS,GAAT,CAAxH;AAAsIC,QAAAA,MAAM,EAAC,CAAC,GAAD,EAAK,GAAL,EAAS,GAAT,CAA7I;AAA2JC,QAAAA,KAAK,EAAC,CAAC,CAAD,EAAG,CAAH,EAAK,CAAL,CAAjK;AAAyKC,QAAAA,cAAc,EAAC,CAAC,GAAD,EAAK,GAAL,EAAS,GAAT,CAAxL;AAAsMC,QAAAA,IAAI,EAAC,CAAC,CAAD,EAAG,CAAH,EAAK,GAAL,CAA3M;AAAqNC,QAAAA,UAAU,EAAC,CAAC,GAAD,EAAK,EAAL,EAAQ,GAAR,CAAhO;AAA6OC,QAAAA,KAAK,EAAC,CAAC,GAAD,EAAK,EAAL,EAAQ,EAAR,CAAnP;AAA+PC,QAAAA,SAAS,EAAC,CAAC,GAAD,EAAK,GAAL,EAAS,GAAT,CAAzQ;AAAuRC,QAAAA,SAAS,EAAC,CAAC,EAAD,EAAI,GAAJ,EAAQ,GAAR,CAAjS;AAA8SC,QAAAA,UAAU,EAAC,CAAC,GAAD,EAAK,GAAL,EAAS,CAAT,CAAzT;AAAqUC,QAAAA,SAAS,EAAC,CAAC,GAAD,EAAK,GAAL,EAAS,EAAT,CAA/U;AAA4VC,QAAAA,KAAK,EAAC,CAAC,GAAD,EAAK,GAAL,EAAS,EAAT,CAAlW;AAA+WC,QAAAA,cAAc,EAAC,CAAC,GAAD,EAAK,GAAL,EAAS,GAAT,CAA9X;AAA4YC,QAAAA,QAAQ,EAAC,CAAC,GAAD,EAAK,GAAL,EAAS,GAAT,CAArZ;AAAmaC,QAAAA,OAAO,EAAC,CAAC,GAAD,EAAK,EAAL,EAAQ,EAAR,CAA3a;AAAubC,QAAAA,IAAI,EAAC,CAAC,CAAD,EAAG,GAAH,EAAO,GAAP,CAA5b;AAAwcC,QAAAA,QAAQ,EAAC,CAAC,CAAD,EAAG,CAAH,EAAK,GAAL,CAAjd;AAA2dC,QAAAA,QAAQ,EAAC,CAAC,CAAD,EAAG,GAAH,EAAO,GAAP,CAApe;AAAgfC,QAAAA,aAAa,EAAC,CAAC,GAAD,EAAK,GAAL,EAAS,EAAT,CAA9f;AAA2gBC,QAAAA,QAAQ,EAAC,CAAC,GAAD,EAAK,GAAL,EAAS,GAAT,CAAphB;AAAkiBC,QAAAA,SAAS,EAAC,CAAC,CAAD,EAAG,GAAH,EAAO,CAAP,CAA5iB;AAAsjBC,QAAAA,QAAQ,EAAC,CAAC,GAAD,EAAK,GAAL,EAAS,GAAT,CAA/jB;AAA6kBC,QAAAA,SAAS,EAAC,CAAC,GAAD,EAAK,GAAL,EAAS,GAAT,CAAvlB;AAAqmBC,QAAAA,WAAW,EAAC,CAAC,GAAD,EAAK,CAAL,EAAO,GAAP,CAAjnB;AAA6nBC,QAAAA,cAAc,EAAC,CAAC,EAAD,EAAI,GAAJ,EAAQ,EAAR,CAA5oB;AAAwpBC,QAAAA,UAAU,EAAC,CAAC,GAAD,EAAK,GAAL,EAAS,CAAT,CAAnqB;AAA+qBC,QAAAA,UAAU,EAAC,CAAC,GAAD,EAAK,EAAL,EAAQ,GAAR,CAA1rB;AAAusBC,QAAAA,OAAO,EAAC,CAAC,GAAD,EAAK,CAAL,EAAO,CAAP,CAA/sB;AAAytBC,QAAAA,UAAU,EAAC,CAAC,GAAD,EAAK,GAAL,EAAS,GAAT,CAApuB;AAAkvBC,QAAAA,YAAY,EAAC,CAAC,GAAD,EAAK,GAAL,EAAS,GAAT,CAA/vB;AAA6wBC,QAAAA,aAAa,EAAC,CAAC,EAAD,EAAI,EAAJ,EAAO,GAAP,CAA3xB;AAAuyBC,QAAAA,aAAa,EAAC,CAAC,EAAD,EAAI,EAAJ,EAAO,EAAP,CAArzB;AAAg0BC,QAAAA,aAAa,EAAC,CAAC,EAAD,EAAI,EAAJ,EAAO,EAAP,CAA90B;AAAy1BC,QAAAA,aAAa,EAAC,CAAC,CAAD,EAAG,GAAH,EAAO,GAAP,CAAv2B;AAAm3BC,QAAAA,UAAU,EAAC,CAAC,GAAD,EAAK,CAAL,EAAO,GAAP,CAA93B;AAA04BC,QAAAA,QAAQ,EAAC,CAAC,GAAD,EAAK,EAAL,EAAQ,GAAR,CAAn5B;AAAg6BC,QAAAA,WAAW,EAAC,CAAC,CAAD,EAAG,GAAH,EAAO,GAAP,CAA56B;AAAw7BC,QAAAA,OAAO,EAAC,CAAC,GAAD,EAAK,GAAL,EAAS,GAAT,CAAh8B;AAA88BC,QAAAA,OAAO,EAAC,CAAC,GAAD,EAAK,GAAL,EAAS,GAAT,CAAt9B;AAAo+BC,QAAAA,UAAU,EAAC,CAAC,EAAD,EAAI,GAAJ,EAAQ,GAAR,CAA/+B;AAA4/BC,QAAAA,SAAS,EAAC,CAAC,GAAD,EAAK,EAAL,EAAQ,EAAR,CAAtgC;AAAkhCC,QAAAA,WAAW,EAAC,CAAC,GAAD,EAAK,GAAL,EAAS,GAAT,CAA9hC;AAA4iCC,QAAAA,WAAW,EAAC,CAAC,EAAD,EAAI,GAAJ,EAAQ,EAAR,CAAxjC;AAAokCC,QAAAA,OAAO,EAAC,CAAC,GAAD,EAAK,CAAL,EAAO,GAAP,CAA5kC;AAAwlCC,QAAAA,SAAS,EAAC,CAAC,GAAD,EAAK,GAAL,EAAS,GAAT,CAAlmC;AAAgnCC,QAAAA,UAAU,EAAC,CAAC,GAAD,EAAK,GAAL,EAAS,GAAT,CAA3nC;AAAyoCC,QAAAA,IAAI,EAAC,CAAC,GAAD,EAAK,GAAL,EAAS,CAAT,CAA9oC;AAA0pCC,QAAAA,SAAS,EAAC,CAAC,GAAD,EAAK,GAAL,EAAS,EAAT,CAApqC;AAAirC5D,QAAAA,IAAI,EAAC,CAAC,GAAD,EAAK,GAAL,EAAS,GAAT,CAAtrC;AAAosC6D,QAAAA,KAAK,EAAC,CAAC,CAAD,EAAG,GAAH,EAAO,CAAP,CAA1sC;AAAotCC,QAAAA,WAAW,EAAC,CAAC,GAAD,EAAK,GAAL,EAAS,EAAT,CAAhuC;AAA6uCC,QAAAA,IAAI,EAAC,CAAC,GAAD,EAAK,GAAL,EAAS,GAAT,CAAlvC;AAAgwCC,QAAAA,QAAQ,EAAC,CAAC,GAAD,EAAK,GAAL,EAAS,GAAT,CAAzwC;AAAuxCC,QAAAA,OAAO,EAAC,CAAC,GAAD,EAAK,GAAL,EAAS,GAAT,CAA/xC;AAA6yCC,QAAAA,SAAS,EAAC,CAAC,GAAD,EAAK,EAAL,EAAQ,EAAR,CAAvzC;AAAm0CC,QAAAA,MAAM,EAAC,CAAC,EAAD,EAAI,CAAJ,EAAM,GAAN,CAA10C;AAAq1CC,QAAAA,KAAK,EAAC,CAAC,GAAD,EAAK,GAAL,EAAS,GAAT,CAA31C;AAAy2CC,QAAAA,KAAK,EAAC,CAAC,GAAD,EAAK,GAAL,EAAS,GAAT,CAA/2C;AAA63CC,QAAAA,QAAQ,EAAC,CAAC,GAAD,EAAK,GAAL,EAAS,GAAT,CAAt4C;AAAo5CC,QAAAA,aAAa,EAAC,CAAC,GAAD,EAAK,GAAL,EAAS,GAAT,CAAl6C;AAAg7CC,QAAAA,SAAS,EAAC,CAAC,GAAD,EAAK,GAAL,EAAS,CAAT,CAA17C;AAAs8CC,QAAAA,YAAY,EAAC,CAAC,GAAD,EAAK,GAAL,EAAS,GAAT,CAAn9C;AAAi+CC,QAAAA,SAAS,EAAC,CAAC,GAAD,EAAK,GAAL,EAAS,GAAT,CAA3+C;AAAy/CC,QAAAA,UAAU,EAAC,CAAC,GAAD,EAAK,GAAL,EAAS,GAAT,CAApgD;AAAkhDC,QAAAA,SAAS,EAAC,CAAC,GAAD,EAAK,GAAL,EAAS,GAAT,CAA5hD;AAA0iDC,QAAAA,oBAAoB,EAAC,CAAC,GAAD,EAAK,GAAL,EAAS,GAAT,CAA/jD;AAA6kDC,QAAAA,SAAS,EAAC,CAAC,GAAD,EAAK,GAAL,EAAS,GAAT,CAAvlD;AAAqmDC,QAAAA,UAAU,EAAC,CAAC,GAAD,EAAK,GAAL,EAAS,GAAT,CAAhnD;AAA8nDC,QAAAA,SAAS,EAAC,CAAC,GAAD,EAAK,GAAL,EAAS,GAAT,CAAxoD;AAAspDC,QAAAA,SAAS,EAAC,CAAC,GAAD,EAAK,GAAL,EAAS,GAAT,CAAhqD;AAA8qDC,QAAAA,WAAW,EAAC,CAAC,GAAD,EAAK,GAAL,EAAS,GAAT,CAA1rD;AAAwsDC,QAAAA,aAAa,EAAC,CAAC,EAAD,EAAI,GAAJ,EAAQ,GAAR,CAAttD;AAAmuDC,QAAAA,YAAY,EAAC,CAAC,GAAD,EAAK,GAAL,EAAS,GAAT,CAAhvD;AAA8vDC,QAAAA,cAAc,EAAC,CAAC,GAAD,EAAK,GAAL,EAAS,GAAT,CAA7wD;AAA2xDC,QAAAA,cAAc,EAAC,CAAC,GAAD,EAAK,GAAL,EAAS,GAAT,CAA1yD;AAAwzDC,QAAAA,cAAc,EAAC,CAAC,GAAD,EAAK,GAAL,EAAS,GAAT,CAAv0D;AAAq1DC,QAAAA,WAAW,EAAC,CAAC,GAAD,EAAK,GAAL,EAAS,GAAT,CAAj2D;AAA+2DC,QAAAA,IAAI,EAAC,CAAC,CAAD,EAAG,GAAH,EAAO,CAAP,CAAp3D;AAA83DC,QAAAA,SAAS,EAAC,CAAC,EAAD,EAAI,GAAJ,EAAQ,EAAR,CAAx4D;AAAo5DC,QAAAA,KAAK,EAAC,CAAC,GAAD,EAAK,GAAL,EAAS,GAAT,CAA15D;AAAw6DC,QAAAA,OAAO,EAAC,CAAC,GAAD,EAAK,CAAL,EAAO,GAAP,CAAh7D;AAA47DC,QAAAA,MAAM,EAAC,CAAC,GAAD,EAAK,CAAL,EAAO,CAAP,CAAn8D;AAA68DC,QAAAA,gBAAgB,EAAC,CAAC,GAAD,EAAK,GAAL,EAAS,GAAT,CAA99D;AAA4+DC,QAAAA,UAAU,EAAC,CAAC,CAAD,EAAG,CAAH,EAAK,GAAL,CAAv/D;AAAigEC,QAAAA,YAAY,EAAC,CAAC,GAAD,EAAK,EAAL,EAAQ,GAAR,CAA9gE;AAA2hEC,QAAAA,YAAY,EAAC,CAAC,GAAD,EAAK,GAAL,EAAS,GAAT,CAAxiE;AAAsjEC,QAAAA,cAAc,EAAC,CAAC,EAAD,EAAI,GAAJ,EAAQ,GAAR,CAArkE;AAAklEC,QAAAA,eAAe,EAAC,CAAC,GAAD,EAAK,GAAL,EAAS,GAAT,CAAlmE;AAAgnEC,QAAAA,iBAAiB,EAAC,CAAC,CAAD,EAAG,GAAH,EAAO,GAAP,CAAloE;AAA8oEC,QAAAA,eAAe,EAAC,CAAC,EAAD,EAAI,GAAJ,EAAQ,GAAR,CAA9pE;AAA2qEC,QAAAA,eAAe,EAAC,CAAC,GAAD,EAAK,EAAL,EAAQ,GAAR,CAA3rE;AAAwsEC,QAAAA,YAAY,EAAC,CAAC,EAAD,EAAI,EAAJ,EAAO,GAAP,CAArtE;AAAiuEC,QAAAA,SAAS,EAAC,CAAC,GAAD,EAAK,GAAL,EAAS,GAAT,CAA3uE;AAAyvEC,QAAAA,SAAS,EAAC,CAAC,GAAD,EAAK,GAAL,EAAS,GAAT,CAAnwE;AAAixEC,QAAAA,QAAQ,EAAC,CAAC,GAAD,EAAK,GAAL,EAAS,GAAT,CAA1xE;AAAwyEC,QAAAA,WAAW,EAAC,CAAC,GAAD,EAAK,GAAL,EAAS,GAAT,CAApzE;AAAk0EC,QAAAA,IAAI,EAAC,CAAC,CAAD,EAAG,CAAH,EAAK,GAAL,CAAv0E;AAAi1EC,QAAAA,OAAO,EAAC,CAAC,GAAD,EAAK,GAAL,EAAS,GAAT,CAAz1E;AAAu2EC,QAAAA,KAAK,EAAC,CAAC,GAAD,EAAK,GAAL,EAAS,CAAT,CAA72E;AAAy3EC,QAAAA,SAAS,EAAC,CAAC,GAAD,EAAK,GAAL,EAAS,EAAT,CAAn4E;AAAg5EC,QAAAA,MAAM,EAAC,CAAC,GAAD,EAAK,GAAL,EAAS,CAAT,CAAv5E;AAAm6EC,QAAAA,SAAS,EAAC,CAAC,GAAD,EAAK,EAAL,EAAQ,CAAR,CAA76E;AAAw7EC,QAAAA,MAAM,EAAC,CAAC,GAAD,EAAK,GAAL,EAAS,GAAT,CAA/7E;AAA68EC,QAAAA,aAAa,EAAC,CAAC,GAAD,EAAK,GAAL,EAAS,GAAT,CAA39E;AAAy+EC,QAAAA,SAAS,EAAC,CAAC,GAAD,EAAK,GAAL,EAAS,GAAT,CAAn/E;AAAigFC,QAAAA,aAAa,EAAC,CAAC,GAAD,EAAK,GAAL,EAAS,GAAT,CAA/gF;AAA6hFC,QAAAA,aAAa,EAAC,CAAC,GAAD,EAAK,GAAL,EAAS,GAAT,CAA3iF;AAAyjFC,QAAAA,UAAU,EAAC,CAAC,GAAD,EAAK,GAAL,EAAS,GAAT,CAApkF;AAAklFC,QAAAA,SAAS,EAAC,CAAC,GAAD,EAAK,GAAL,EAAS,GAAT,CAA5lF;AAA0mFC,QAAAA,IAAI,EAAC,CAAC,GAAD,EAAK,GAAL,EAAS,EAAT,CAA/mF;AAA4nFC,QAAAA,IAAI,EAAC,CAAC,GAAD,EAAK,GAAL,EAAS,GAAT,CAAjoF;AAA+oFC,QAAAA,IAAI,EAAC,CAAC,GAAD,EAAK,GAAL,EAAS,GAAT,CAAppF;AAAkqFC,QAAAA,UAAU,EAAC,CAAC,GAAD,EAAK,GAAL,EAAS,GAAT,CAA7qF;AAA2rFC,QAAAA,MAAM,EAAC,CAAC,GAAD,EAAK,CAAL,EAAO,GAAP,CAAlsF;AAA8sFC,QAAAA,aAAa,EAAC,CAAC,GAAD,EAAK,EAAL,EAAQ,GAAR,CAA5tF;AAAyuFC,QAAAA,GAAG,EAAC,CAAC,GAAD,EAAK,CAAL,EAAO,CAAP,CAA7uF;AAAuvFC,QAAAA,SAAS,EAAC,CAAC,GAAD,EAAK,GAAL,EAAS,GAAT,CAAjwF;AAA+wFC,QAAAA,SAAS,EAAC,CAAC,EAAD,EAAI,GAAJ,EAAQ,GAAR,CAAzxF;AAAsyFC,QAAAA,WAAW,EAAC,CAAC,GAAD,EAAK,EAAL,EAAQ,EAAR,CAAlzF;AAA8zFC,QAAAA,MAAM,EAAC,CAAC,GAAD,EAAK,GAAL,EAAS,GAAT,CAAr0F;AAAm1FC,QAAAA,UAAU,EAAC,CAAC,GAAD,EAAK,GAAL,EAAS,EAAT,CAA91F;AAA22FC,QAAAA,QAAQ,EAAC,CAAC,EAAD,EAAI,GAAJ,EAAQ,EAAR,CAAp3F;AAAg4FC,QAAAA,QAAQ,EAAC,CAAC,GAAD,EAAK,GAAL,EAAS,GAAT,CAAz4F;AAAu5FC,QAAAA,MAAM,EAAC,CAAC,GAAD,EAAK,EAAL,EAAQ,EAAR,CAA95F;AAA06FC,QAAAA,MAAM,EAAC,CAAC,GAAD,EAAK,GAAL,EAAS,GAAT,CAAj7F;AAA+7FC,QAAAA,OAAO,EAAC,CAAC,GAAD,EAAK,GAAL,EAAS,GAAT,CAAv8F;AAAq9FC,QAAAA,SAAS,EAAC,CAAC,GAAD,EAAK,EAAL,EAAQ,GAAR,CAA/9F;AAA4+FC,QAAAA,SAAS,EAAC,CAAC,GAAD,EAAK,GAAL,EAAS,GAAT,CAAt/F;AAAogGC,QAAAA,SAAS,EAAC,CAAC,GAAD,EAAK,GAAL,EAAS,GAAT,CAA9gG;AAA4hGC,QAAAA,IAAI,EAAC,CAAC,GAAD,EAAK,GAAL,EAAS,GAAT,CAAjiG;AAA+iGC,QAAAA,WAAW,EAAC,CAAC,CAAD,EAAG,GAAH,EAAO,GAAP,CAA3jG;AAAukGC,QAAAA,SAAS,EAAC,CAAC,EAAD,EAAI,GAAJ,EAAQ,GAAR,CAAjlG;AAA8lGC,QAAAA,GAAG,EAAC,CAAC,GAAD,EAAK,GAAL,EAAS,GAAT,CAAlmG;AAAgnGC,QAAAA,IAAI,EAAC,CAAC,CAAD,EAAG,GAAH,EAAO,GAAP,CAArnG;AAAioGC,QAAAA,OAAO,EAAC,CAAC,GAAD,EAAK,GAAL,EAAS,GAAT,CAAzoG;AAAupGC,QAAAA,MAAM,EAAC,CAAC,GAAD,EAAK,EAAL,EAAQ,EAAR,CAA9pG;AAA0qGC,QAAAA,SAAS,EAAC,CAAC,EAAD,EAAI,GAAJ,EAAQ,GAAR,CAAprG;AAAisGC,QAAAA,MAAM,EAAC,CAAC,GAAD,EAAK,GAAL,EAAS,GAAT,CAAxsG;AAAstGC,QAAAA,KAAK,EAAC,CAAC,GAAD,EAAK,GAAL,EAAS,GAAT,CAA5tG;AAA0uGC,QAAAA,KAAK,EAAC,CAAC,GAAD,EAAK,GAAL,EAAS,GAAT,CAAhvG;AAA8vGC,QAAAA,UAAU,EAAC,CAAC,GAAD,EAAK,GAAL,EAAS,GAAT,CAAzwG;AAAuxGC,QAAAA,MAAM,EAAC,CAAC,GAAD,EAAK,GAAL,EAAS,CAAT,CAA9xG;AAA0yGC,QAAAA,WAAW,EAAC,CAAC,GAAD,EAAK,GAAL,EAAS,EAAT;AAAtzG,OAAV;AAA80G,KAAnia;AAAoia,UAAK,CAACtiO,CAAD,EAAG2K,CAAH,EAAKJ,CAAL,KAAS;AAAC;;AAAaA,MAAAA,CAAC,CAACX,CAAF,CAAIe,CAAJ,EAAM;AAAC43N,QAAAA,CAAC,EAAC,MAAIngL;AAAP,OAAN;AAAiB,UAAI71C,CAAC,GAAChC,CAAC,CAAC,IAAD,CAAP;AAAA,UAAc5zB,CAAC,GAAC4zB,CAAC,CAACA,CAAF,CAAIgC,CAAJ,CAAhB;AAAA,UAAuBE,CAAC,GAAClC,CAAC,CAAC,IAAD,CAA1B;AAAA,UAAiCD,CAAC,GAACC,CAAC,CAACA,CAAF,CAAIkC,CAAJ,IAAS91B,CAAC,EAAV,CAAnC;AAAiD2zB,MAAAA,CAAC,CAACrE,IAAF,CAAO,CAACjG,CAAC,CAAC7yB,EAAH,EAAM,kQAAN,EAAyQ,EAAzQ,EAA4Q;AAACvM,QAAAA,OAAO,EAAC,CAAT;AAAWszI,QAAAA,OAAO,EAAC,CAAC,+DAAD,CAAnB;AAAqF0pE,QAAAA,KAAK,EAAC,EAA3F;AAA8F4kD,QAAAA,QAAQ,EAAC,sGAAvG;AAA8MC,QAAAA,cAAc,EAAC,CAAC,qVAAD,CAA7N;AAAqjBC,QAAAA,UAAU,EAAC;AAAhkB,OAA5Q,CAAP;AAAy1B,YAAMtgL,CAAC,GAAC93C,CAAR;AAAU,KAAr+b;AAAs+b,UAAK,CAACtK,CAAD,EAAG2K,CAAH,EAAKJ,CAAL,KAAS;AAAC;;AAAaA,MAAAA,CAAC,CAACX,CAAF,CAAIe,CAAJ,EAAM;AAAC43N,QAAAA,CAAC,EAAC,MAAIngL;AAAP,OAAN;AAAiB,UAAI71C,CAAC,GAAChC,CAAC,CAAC,IAAD,CAAP;AAAA,UAAc5zB,CAAC,GAAC4zB,CAAC,CAACA,CAAF,CAAIgC,CAAJ,CAAhB;AAAA,UAAuBE,CAAC,GAAClC,CAAC,CAAC,IAAD,CAA1B;AAAA,UAAiCD,CAAC,GAACC,CAAC,CAACA,CAAF,CAAIkC,CAAJ,IAAS91B,CAAC,EAAV,CAAnC;AAAiD2zB,MAAAA,CAAC,CAACrE,IAAF,CAAO,CAACjG,CAAC,CAAC7yB,EAAH,EAAM,mJAAN,EAA0J,EAA1J,EAA6J;AAACvM,QAAAA,OAAO,EAAC,CAAT;AAAWszI,QAAAA,OAAO,EAAC,CAAC,0EAAD,CAAnB;AAAgG0pE,QAAAA,KAAK,EAAC,EAAtG;AAAyG4kD,QAAAA,QAAQ,EAAC,4DAAlH;AAA+KC,QAAAA,cAAc,EAAC,CAAC,4XAAD,CAA9L;AAA6jBC,QAAAA,UAAU,EAAC;AAAxkB,OAA7J,CAAP;AAAkvB,YAAMtgL,CAAC,GAAC93C,CAAR;AAAU,KAAh0d;AAAi0d,SAAI,CAACtK,CAAD,EAAG2K,CAAH,EAAKJ,CAAL,KAAS;AAAC;;AAAaA,MAAAA,CAAC,CAACX,CAAF,CAAIe,CAAJ,EAAM;AAAC43N,QAAAA,CAAC,EAAC,MAAIngL;AAAP,OAAN;AAAiB,UAAI71C,CAAC,GAAChC,CAAC,CAAC,IAAD,CAAP;AAAA,UAAc5zB,CAAC,GAAC4zB,CAAC,CAACA,CAAF,CAAIgC,CAAJ,CAAhB;AAAA,UAAuBE,CAAC,GAAClC,CAAC,CAAC,IAAD,CAA1B;AAAA,UAAiCD,CAAC,GAACC,CAAC,CAACA,CAAF,CAAIkC,CAAJ,IAAS91B,CAAC,EAAV,CAAnC;AAAiD2zB,MAAAA,CAAC,CAACrE,IAAF,CAAO,CAACjG,CAAC,CAAC7yB,EAAH,EAAM,i+EAAN,EAAw+E,EAAx+E,EAA2+E;AAACvM,QAAAA,OAAO,EAAC,CAAT;AAAWszI,QAAAA,OAAO,EAAC,CAAC,4EAAD,EAA8E,iGAA9E,CAAnB;AAAoM0pE,QAAAA,KAAK,EAAC,EAA1M;AAA6M4kD,QAAAA,QAAQ,EAAC,gnBAAtN;AAAu0BC,QAAAA,cAAc,EAAC,CAAC,4wBAAD,EAA8wB,m0FAA9wB,CAAt1B;AAAy6IC,QAAAA,UAAU,EAAC;AAAp7I,OAA3+E,CAAP;AAA46N,YAAMtgL,CAAC,GAAC93C,CAAR;AAAU,KAAp1rB;AAAq1rB,UAAK,CAACtK,CAAD,EAAG2K,CAAH,EAAKJ,CAAL,KAAS;AAAC;;AAAaA,MAAAA,CAAC,CAACX,CAAF,CAAIe,CAAJ,EAAM;AAAC43N,QAAAA,CAAC,EAAC,MAAIngL;AAAP,OAAN;AAAiB,UAAI71C,CAAC,GAAChC,CAAC,CAAC,IAAD,CAAP;AAAA,UAAc5zB,CAAC,GAAC4zB,CAAC,CAACA,CAAF,CAAIgC,CAAJ,CAAhB;AAAA,UAAuBE,CAAC,GAAClC,CAAC,CAAC,IAAD,CAA1B;AAAA,UAAiCD,CAAC,GAACC,CAAC,CAACA,CAAF,CAAIkC,CAAJ,IAAS91B,CAAC,EAAV,CAAnC;AAAiD2zB,MAAAA,CAAC,CAACrE,IAAF,CAAO,CAACjG,CAAC,CAAC7yB,EAAH,EAAM,ovCAAN,EAA2vC,EAA3vC,EAA8vC;AAACvM,QAAAA,OAAO,EAAC,CAAT;AAAWszI,QAAAA,OAAO,EAAC,CAAC,qFAAD,EAAuF,0GAAvF,EAAkM,mFAAlM,CAAnB;AAA0S0pE,QAAAA,KAAK,EAAC,EAAhT;AAAmT4kD,QAAAA,QAAQ,EAAC,oQAA5T;AAAikBC,QAAAA,cAAc,EAAC,CAAC,ilBAAD,EAAmlB,wiCAAnlB,EAA4nD,+dAA5nD,CAAhlB;AAA6qFC,QAAAA,UAAU,EAAC;AAAxrF,OAA9vC,CAAP;AAAm8H,YAAMtgL,CAAC,GAAC93C,CAAR;AAAU,KAAh4zB;AAAi4zB,UAAK,CAACtK,CAAD,EAAG2K,CAAH,EAAKJ,CAAL,KAAS;AAAC;;AAAaA,MAAAA,CAAC,CAACX,CAAF,CAAIe,CAAJ,EAAM;AAAC43N,QAAAA,CAAC,EAAC,MAAIngL;AAAP,OAAN;AAAiB,UAAI71C,CAAC,GAAChC,CAAC,CAAC,IAAD,CAAP;AAAA,UAAc5zB,CAAC,GAAC4zB,CAAC,CAACA,CAAF,CAAIgC,CAAJ,CAAhB;AAAA,UAAuBE,CAAC,GAAClC,CAAC,CAAC,IAAD,CAA1B;AAAA,UAAiCD,CAAC,GAACC,CAAC,CAACA,CAAF,CAAIkC,CAAJ,IAAS91B,CAAC,EAAV,CAAnC;AAAiD2zB,MAAAA,CAAC,CAACrE,IAAF,CAAO,CAACjG,CAAC,CAAC7yB,EAAH,EAAM,2ZAAN,EAAka,EAAla,EAAqa;AAACvM,QAAAA,OAAO,EAAC,CAAT;AAAWszI,QAAAA,OAAO,EAAC,CAAC,2EAAD,EAA6E,gGAA7E,CAAnB;AAAkM0pE,QAAAA,KAAK,EAAC,EAAxM;AAA2M4kD,QAAAA,QAAQ,EAAC,kJAApN;AAAuWC,QAAAA,cAAc,EAAC,CAAC,i5BAAD,EAAm5B,6VAAn5B,CAAtX;AAAwmDC,QAAAA,UAAU,EAAC;AAAnnD,OAAra,CAAP;AAAqiE,YAAMtgL,CAAC,GAAC93C,CAAR;AAAU,KAA9g4B;AAA+g4B,UAAK,CAACtK,CAAD,EAAG2K,CAAH,EAAKJ,CAAL,KAAS;AAAC;;AAAaA,MAAAA,CAAC,CAACX,CAAF,CAAIe,CAAJ,EAAM;AAAC43N,QAAAA,CAAC,EAAC,MAAIngL;AAAP,OAAN;AAAiB,UAAI71C,CAAC,GAAChC,CAAC,CAAC,IAAD,CAAP;AAAA,UAAc5zB,CAAC,GAAC4zB,CAAC,CAACA,CAAF,CAAIgC,CAAJ,CAAhB;AAAA,UAAuBE,CAAC,GAAClC,CAAC,CAAC,IAAD,CAA1B;AAAA,UAAiCD,CAAC,GAACC,CAAC,CAACA,CAAF,CAAIkC,CAAJ,IAAS91B,CAAC,EAAV,CAAnC;AAAiD2zB,MAAAA,CAAC,CAACrE,IAAF,CAAO,CAACjG,CAAC,CAAC7yB,EAAH,EAAM,oEAAN,EAA2E,EAA3E,EAA8E;AAACvM,QAAAA,OAAO,EAAC,CAAT;AAAWszI,QAAAA,OAAO,EAAC,CAAC,wEAAD,CAAnB;AAA8F0pE,QAAAA,KAAK,EAAC,EAApG;AAAuG4kD,QAAAA,QAAQ,EAAC,iBAAhH;AAAkIC,QAAAA,cAAc,EAAC,CAAC,iVAAD,CAAjJ;AAAqeC,QAAAA,UAAU,EAAC;AAAhf,OAA9E,CAAP;AAA2kB,YAAMtgL,CAAC,GAAC93C,CAAR;AAAU,KAAls5B;AAAms5B,UAAK,CAACtK,CAAD,EAAG2K,CAAH,EAAKJ,CAAL,KAAS;AAAC;;AAAaA,MAAAA,CAAC,CAACX,CAAF,CAAIe,CAAJ,EAAM;AAAC43N,QAAAA,CAAC,EAAC,MAAIngL;AAAP,OAAN;AAAiB,UAAI71C,CAAC,GAAChC,CAAC,CAAC,IAAD,CAAP;AAAA,UAAc5zB,CAAC,GAAC4zB,CAAC,CAACA,CAAF,CAAIgC,CAAJ,CAAhB;AAAA,UAAuBE,CAAC,GAAClC,CAAC,CAAC,IAAD,CAA1B;AAAA,UAAiCD,CAAC,GAACC,CAAC,CAACA,CAAF,CAAIkC,CAAJ,IAAS91B,CAAC,EAAV,CAAnC;AAAiD2zB,MAAAA,CAAC,CAACrE,IAAF,CAAO,CAACjG,CAAC,CAAC7yB,EAAH,EAAM,6JAAN,EAAoK,EAApK,EAAuK;AAACvM,QAAAA,OAAO,EAAC,CAAT;AAAWszI,QAAAA,OAAO,EAAC,CAAC,sEAAD,CAAnB;AAA4F0pE,QAAAA,KAAK,EAAC,EAAlG;AAAqG4kD,QAAAA,QAAQ,EAAC,iEAA9G;AAAgLC,QAAAA,cAAc,EAAC,CAAC,+mBAAD,CAA/L;AAAizBC,QAAAA,UAAU,EAAC;AAA5zB,OAAvK,CAAP;AAAg/B,YAAMtgL,CAAC,GAAC93C,CAAR;AAAU,KAA3x7B;AAA4x7B,UAAK,CAACtK,CAAD,EAAG2K,CAAH,EAAKJ,CAAL,KAAS;AAAC;;AAAaA,MAAAA,CAAC,CAACX,CAAF,CAAIe,CAAJ,EAAM;AAAC43N,QAAAA,CAAC,EAAC,MAAIngL;AAAP,OAAN;AAAiB,UAAI71C,CAAC,GAAChC,CAAC,CAAC,IAAD,CAAP;AAAA,UAAc5zB,CAAC,GAAC4zB,CAAC,CAACA,CAAF,CAAIgC,CAAJ,CAAhB;AAAA,UAAuBE,CAAC,GAAClC,CAAC,CAAC,IAAD,CAA1B;AAAA,UAAiCD,CAAC,GAACC,CAAC,CAACA,CAAF,CAAIkC,CAAJ,IAAS91B,CAAC,EAAV,CAAnC;AAAiD2zB,MAAAA,CAAC,CAACrE,IAAF,CAAO,CAACjG,CAAC,CAAC7yB,EAAH,EAAM,s1BAAN,EAA61B,EAA71B,EAAg2B;AAACvM,QAAAA,OAAO,EAAC,CAAT;AAAWszI,QAAAA,OAAO,EAAC,CAAC,yEAAD,EAA2E,8FAA3E,CAAnB;AAA8L0pE,QAAAA,KAAK,EAAC,EAApM;AAAuM4kD,QAAAA,QAAQ,EAAC,4NAAhN;AAA6aC,QAAAA,cAAc,EAAC,CAAC,8RAAD,EAAgS,m/BAAhS,CAA5b;AAAitDC,QAAAA,UAAU,EAAC;AAA5tD,OAAh2B,CAAP;AAAykF,YAAMtgL,CAAC,GAAC93C,CAAR;AAAU,KAA78gC;AAA88gC,UAAK,CAACtK,CAAD,EAAG2K,CAAH,EAAKJ,CAAL,KAAS;AAAC;;AAAaA,MAAAA,CAAC,CAACX,CAAF,CAAIe,CAAJ,EAAM;AAAC43N,QAAAA,CAAC,EAAC,MAAIngL;AAAP,OAAN;AAAiB,UAAI71C,CAAC,GAAChC,CAAC,CAAC,IAAD,CAAP;AAAA,UAAc5zB,CAAC,GAAC4zB,CAAC,CAACA,CAAF,CAAIgC,CAAJ,CAAhB;AAAA,UAAuBE,CAAC,GAAClC,CAAC,CAAC,IAAD,CAA1B;AAAA,UAAiCD,CAAC,GAACC,CAAC,CAACA,CAAF,CAAIkC,CAAJ,IAAS91B,CAAC,EAAV,CAAnC;AAAiD2zB,MAAAA,CAAC,CAACrE,IAAF,CAAO,CAACjG,CAAC,CAAC7yB,EAAH,EAAM,8DAAN,EAAqE,EAArE,EAAwE;AAACvM,QAAAA,OAAO,EAAC,CAAT;AAAWszI,QAAAA,OAAO,EAAC,CAAC,0EAAD,CAAnB;AAAgG0pE,QAAAA,KAAK,EAAC,EAAtG;AAAyG4kD,QAAAA,QAAQ,EAAC,iBAAlH;AAAoIC,QAAAA,cAAc,EAAC,CAAC,uPAAD,CAAnJ;AAA6YC,QAAAA,UAAU,EAAC;AAAxZ,OAAxE,CAAP;AAA6e,YAAMtgL,CAAC,GAAC93C,CAAR;AAAU,KAAniiC;AAAoiiC,UAAK,CAACtK,CAAD,EAAG2K,CAAH,EAAKJ,CAAL,KAAS;AAAC;;AAAaA,MAAAA,CAAC,CAACX,CAAF,CAAIe,CAAJ,EAAM;AAAC43N,QAAAA,CAAC,EAAC,MAAIngL;AAAP,OAAN;AAAiB,UAAI71C,CAAC,GAAChC,CAAC,CAAC,IAAD,CAAP;AAAA,UAAc5zB,CAAC,GAAC4zB,CAAC,CAACA,CAAF,CAAIgC,CAAJ,CAAhB;AAAA,UAAuBE,CAAC,GAAClC,CAAC,CAAC,IAAD,CAA1B;AAAA,UAAiCD,CAAC,GAACC,CAAC,CAACA,CAAF,CAAIkC,CAAJ,IAAS91B,CAAC,EAAV,CAAnC;AAAiD2zB,MAAAA,CAAC,CAACrE,IAAF,CAAO,CAACjG,CAAC,CAAC7yB,EAAH,EAAM,oYAAN,EAA2Y,EAA3Y,EAA8Y;AAACvM,QAAAA,OAAO,EAAC,CAAT;AAAWszI,QAAAA,OAAO,EAAC,CAAC,kEAAD,CAAnB;AAAwF0pE,QAAAA,KAAK,EAAC,EAA9F;AAAiG4kD,QAAAA,QAAQ,EAAC,wIAA1G;AAAmPC,QAAAA,cAAc,EAAC,CAAC,sqBAAD,CAAlQ;AAA26BC,QAAAA,UAAU,EAAC;AAAt7B,OAA9Y,CAAP;AAAi1C,YAAMtgL,CAAC,GAAC93C,CAAR;AAAU,KAA79kC;AAA89kC,UAAK,CAACtK,CAAD,EAAG2K,CAAH,EAAKJ,CAAL,KAAS;AAAC;;AAAaA,MAAAA,CAAC,CAACX,CAAF,CAAIe,CAAJ,EAAM;AAAC43N,QAAAA,CAAC,EAAC,MAAIngL;AAAP,OAAN;AAAiB,UAAI71C,CAAC,GAAChC,CAAC,CAAC,IAAD,CAAP;AAAA,UAAc5zB,CAAC,GAAC4zB,CAAC,CAACA,CAAF,CAAIgC,CAAJ,CAAhB;AAAA,UAAuBE,CAAC,GAAClC,CAAC,CAAC,IAAD,CAA1B;AAAA,UAAiCD,CAAC,GAACC,CAAC,CAACA,CAAF,CAAIkC,CAAJ,IAAS91B,CAAC,EAAV,CAAnC;AAAiD2zB,MAAAA,CAAC,CAACrE,IAAF,CAAO,CAACjG,CAAC,CAAC7yB,EAAH,EAAM,qvCAAN,EAA4vC,EAA5vC,EAA+vC;AAACvM,QAAAA,OAAO,EAAC,CAAT;AAAWszI,QAAAA,OAAO,EAAC,CAAC,iGAAD,CAAnB;AAAuH0pE,QAAAA,KAAK,EAAC,EAA7H;AAAgI4kD,QAAAA,QAAQ,EAAC,6OAAzI;AAAuXC,QAAAA,cAAc,EAAC,CAAC,8jDAAD,CAAtY;AAAu8DC,QAAAA,UAAU,EAAC;AAAl9D,OAA/vC,CAAP;AAA8tG,YAAMtgL,CAAC,GAAC93C,CAAR;AAAU,KAApyrC;AAAqyrC,UAAK,CAACtK,CAAD,EAAG2K,CAAH,EAAKJ,CAAL,KAAS;AAAC;;AAAaA,MAAAA,CAAC,CAACX,CAAF,CAAIe,CAAJ,EAAM;AAAC43N,QAAAA,CAAC,EAAC,MAAIngL;AAAP,OAAN;AAAiB,UAAI71C,CAAC,GAAChC,CAAC,CAAC,IAAD,CAAP;AAAA,UAAc5zB,CAAC,GAAC4zB,CAAC,CAACA,CAAF,CAAIgC,CAAJ,CAAhB;AAAA,UAAuBE,CAAC,GAAClC,CAAC,CAAC,IAAD,CAA1B;AAAA,UAAiCD,CAAC,GAACC,CAAC,CAACA,CAAF,CAAIkC,CAAJ,IAAS91B,CAAC,EAAV,CAAnC;AAAiD2zB,MAAAA,CAAC,CAACrE,IAAF,CAAO,CAACjG,CAAC,CAAC7yB,EAAH,EAAM,udAAN,EAA8d,EAA9d,EAAie;AAACvM,QAAAA,OAAO,EAAC,CAAT;AAAWszI,QAAAA,OAAO,EAAC,CAAC,wEAAD,EAA0E,6FAA1E,CAAnB;AAA4L0pE,QAAAA,KAAK,EAAC,EAAlM;AAAqM4kD,QAAAA,QAAQ,EAAC,oKAA9M;AAAmXC,QAAAA,cAAc,EAAC,CAAC,gOAAD,EAAkO,oqCAAlO,CAAlY;AAA0wDC,QAAAA,UAAU,EAAC;AAArxD,OAAje,CAAP;AAAmwE,YAAMtgL,CAAC,GAAC93C,CAAR;AAAU,KAAhpwC;AAAipwC,UAAK,CAACtK,CAAD,EAAG2K,CAAH,EAAKJ,CAAL,KAAS;AAAC;;AAAaA,MAAAA,CAAC,CAACX,CAAF,CAAIe,CAAJ,EAAM;AAAC43N,QAAAA,CAAC,EAAC,MAAIngL;AAAP,OAAN;AAAiB,UAAI71C,CAAC,GAAChC,CAAC,CAAC,IAAD,CAAP;AAAA,UAAc5zB,CAAC,GAAC4zB,CAAC,CAACA,CAAF,CAAIgC,CAAJ,CAAhB;AAAA,UAAuBE,CAAC,GAAClC,CAAC,CAAC,IAAD,CAA1B;AAAA,UAAiCD,CAAC,GAACC,CAAC,CAACA,CAAF,CAAIkC,CAAJ,IAAS91B,CAAC,EAAV,CAAnC;AAAiD2zB,MAAAA,CAAC,CAACrE,IAAF,CAAO,CAACjG,CAAC,CAAC7yB,EAAH,EAAM,4tHAAN,EAAmuH,EAAnuH,EAAsuH;AAACvM,QAAAA,OAAO,EAAC,CAAT;AAAWszI,QAAAA,OAAO,EAAC,CAAC,sEAAD,CAAnB;AAA4F0pE,QAAAA,KAAK,EAAC,EAAlG;AAAqG4kD,QAAAA,QAAQ,EAAC,4qCAA9G;AAA2xCC,QAAAA,cAAc,EAAC,CAAC,w/FAAD,CAA1yC;AAAqyIC,QAAAA,UAAU,EAAC;AAAhzI,OAAtuH,CAAP;AAAmiQ,YAAMtgL,CAAC,GAAC93C,CAAR;AAAU,KAA5xgD;AAA6xgD,UAAK,CAACtK,CAAD,EAAG2K,CAAH,EAAKJ,CAAL,KAAS;AAAC;;AAAaA,MAAAA,CAAC,CAACX,CAAF,CAAIe,CAAJ,EAAM;AAAC43N,QAAAA,CAAC,EAAC,MAAIngL;AAAP,OAAN;AAAiB,UAAI71C,CAAC,GAAChC,CAAC,CAAC,IAAD,CAAP;AAAA,UAAc5zB,CAAC,GAAC4zB,CAAC,CAACA,CAAF,CAAIgC,CAAJ,CAAhB;AAAA,UAAuBE,CAAC,GAAClC,CAAC,CAAC,IAAD,CAA1B;AAAA,UAAiCD,CAAC,GAACC,CAAC,CAACA,CAAF,CAAIkC,CAAJ,IAAS91B,CAAC,EAAV,CAAnC;AAAiD2zB,MAAAA,CAAC,CAACrE,IAAF,CAAO,CAACjG,CAAC,CAAC7yB,EAAH,EAAM,8oGAAN,EAAqpG,EAArpG,EAAwpG;AAACvM,QAAAA,OAAO,EAAC,CAAT;AAAWszI,QAAAA,OAAO,EAAC,CAAC,yEAAD,EAA2E,8FAA3E,EAA0K,mFAA1K,CAAnB;AAAkR0pE,QAAAA,KAAK,EAAC,EAAxR;AAA2R4kD,QAAAA,QAAQ,EAAC,0sBAApS;AAA++BC,QAAAA,cAAc,EAAC,CAAC,o6BAAD,EAAs6B,48EAAt6B,EAAm3G,+dAAn3G,CAA9/B;AAAk1JC,QAAAA,UAAU,EAAC;AAA71J,OAAxpG,CAAP;AAAkgQ,YAAMtgL,CAAC,GAAC93C,CAAR;AAAU,KAAv4wD;AAAw4wD,UAAK,CAACtK,CAAD,EAAG2K,CAAH,EAAKJ,CAAL,KAAS;AAAC;;AAAaA,MAAAA,CAAC,CAACX,CAAF,CAAIe,CAAJ,EAAM;AAAC43N,QAAAA,CAAC,EAAC,MAAIngL;AAAP,OAAN;AAAiB,UAAI71C,CAAC,GAAChC,CAAC,CAAC,IAAD,CAAP;AAAA,UAAc5zB,CAAC,GAAC4zB,CAAC,CAACA,CAAF,CAAIgC,CAAJ,CAAhB;AAAA,UAAuBE,CAAC,GAAClC,CAAC,CAAC,IAAD,CAA1B;AAAA,UAAiCD,CAAC,GAACC,CAAC,CAACA,CAAF,CAAIkC,CAAJ,IAAS91B,CAAC,EAAV,CAAnC;AAAiD2zB,MAAAA,CAAC,CAACrE,IAAF,CAAO,CAACjG,CAAC,CAAC7yB,EAAH,EAAM,yWAAN,EAAgX,EAAhX,EAAmX;AAACvM,QAAAA,OAAO,EAAC,CAAT;AAAWszI,QAAAA,OAAO,EAAC,CAAC,wFAAD,CAAnB;AAA8G0pE,QAAAA,KAAK,EAAC,EAApH;AAAuH4kD,QAAAA,QAAQ,EAAC,8GAAhI;AAA+OC,QAAAA,cAAc,EAAC,CAAC,2oBAAD,CAA9P;AAA44BC,QAAAA,UAAU,EAAC;AAAv5B,OAAnX,CAAP;AAAuxC,YAAMtgL,CAAC,GAAC93C,CAAR;AAAU,KAAvwzD;AAAwwzD,UAAK,CAACtK,CAAD,EAAG2K,CAAH,EAAKJ,CAAL,KAAS;AAAC;;AAAaA,MAAAA,CAAC,CAACX,CAAF,CAAIe,CAAJ,EAAM;AAAC43N,QAAAA,CAAC,EAAC,MAAIngL;AAAP,OAAN;AAAiB,UAAI71C,CAAC,GAAChC,CAAC,CAAC,IAAD,CAAP;AAAA,UAAc5zB,CAAC,GAAC4zB,CAAC,CAACA,CAAF,CAAIgC,CAAJ,CAAhB;AAAA,UAAuBE,CAAC,GAAClC,CAAC,CAAC,IAAD,CAA1B;AAAA,UAAiCD,CAAC,GAACC,CAAC,CAACA,CAAF,CAAIkC,CAAJ,IAAS91B,CAAC,EAAV,CAAnC;AAAiD2zB,MAAAA,CAAC,CAACrE,IAAF,CAAO,CAACjG,CAAC,CAAC7yB,EAAH,EAAM,qvBAAN,EAA4vB,EAA5vB,EAA+vB;AAACvM,QAAAA,OAAO,EAAC,CAAT;AAAWszI,QAAAA,OAAO,EAAC,CAAC,sEAAD,EAAwE,2FAAxE,CAAnB;AAAwL0pE,QAAAA,KAAK,EAAC,EAA9L;AAAiM4kD,QAAAA,QAAQ,EAAC,wMAA1M;AAAmZC,QAAAA,cAAc,EAAC,CAAC,qhBAAD,EAAuhB,8zBAAvhB,CAAla;AAAyvDC,QAAAA,UAAU,EAAC;AAApwD,OAA/vB,CAAP;AAAghF,YAAMtgL,CAAC,GAAC93C,CAAR;AAAU,KAAh44D;AAAi44D,SAAI,CAACtK,CAAD,EAAG2K,CAAH,EAAKJ,CAAL,KAAS;AAAC;;AAAaA,MAAAA,CAAC,CAACX,CAAF,CAAIe,CAAJ,EAAM;AAAC43N,QAAAA,CAAC,EAAC,MAAIngL;AAAP,OAAN;AAAiB,UAAI71C,CAAC,GAAChC,CAAC,CAAC,IAAD,CAAP;AAAA,UAAc5zB,CAAC,GAAC4zB,CAAC,CAACA,CAAF,CAAIgC,CAAJ,CAAhB;AAAA,UAAuBE,CAAC,GAAClC,CAAC,CAAC,IAAD,CAA1B;AAAA,UAAiCD,CAAC,GAACC,CAAC,CAACA,CAAF,CAAIkC,CAAJ,IAAS91B,CAAC,EAAV,CAAnC;AAAiD2zB,MAAAA,CAAC,CAACrE,IAAF,CAAO,CAACjG,CAAC,CAAC7yB,EAAH,EAAM,2lCAAN,EAAkmC,EAAlmC,EAAqmC;AAACvM,QAAAA,OAAO,EAAC,CAAT;AAAWszI,QAAAA,OAAO,EAAC,CAAC,0EAAD,EAA4E,+FAA5E,CAAnB;AAAgM0pE,QAAAA,KAAK,EAAC,EAAtM;AAAyM4kD,QAAAA,QAAQ,EAAC,uRAAlN;AAA0eC,QAAAA,cAAc,EAAC,CAAC,wRAAD,EAA0R,u2CAA1R,CAAzf;AAA4nEC,QAAAA,UAAU,EAAC;AAAvoE,OAArmC,CAAP;AAAyvG,YAAMtgL,CAAC,GAAC93C,CAAR;AAAU,KAAju/D;AAAku/D,UAAK,CAACtK,CAAD,EAAG2K,CAAH,EAAKJ,CAAL,KAAS;AAAC;;AAAaA,MAAAA,CAAC,CAACX,CAAF,CAAIe,CAAJ,EAAM;AAAC43N,QAAAA,CAAC,EAAC,MAAIngL;AAAP,OAAN;AAAiB,UAAI71C,CAAC,GAAChC,CAAC,CAAC,IAAD,CAAP;AAAA,UAAc5zB,CAAC,GAAC4zB,CAAC,CAACA,CAAF,CAAIgC,CAAJ,CAAhB;AAAA,UAAuBE,CAAC,GAAClC,CAAC,CAAC,IAAD,CAA1B;AAAA,UAAiCD,CAAC,GAACC,CAAC,CAACA,CAAF,CAAIkC,CAAJ,IAAS91B,CAAC,EAAV,CAAnC;AAAiD2zB,MAAAA,CAAC,CAACrE,IAAF,CAAO,CAACjG,CAAC,CAAC7yB,EAAH,EAAM,mgBAAN,EAA0gB,EAA1gB,EAA6gB;AAACvM,QAAAA,OAAO,EAAC,CAAT;AAAWszI,QAAAA,OAAO,EAAC,CAAC,oEAAD,CAAnB;AAA0F0pE,QAAAA,KAAK,EAAC,EAAhG;AAAmG4kD,QAAAA,QAAQ,EAAC,kOAA5G;AAA+UC,QAAAA,cAAc,EAAC,CAAC,w1EAAD,CAA9V;AAAyrFC,QAAAA,UAAU,EAAC;AAApsF,OAA7gB,CAAP;AAA8tG,YAAMtgL,CAAC,GAAC93C,CAAR;AAAU,KAAximE;AAAyimE,UAAK,CAACtK,CAAD,EAAG2K,CAAH,EAAKJ,CAAL,KAAS;AAAC;;AAAaA,MAAAA,CAAC,CAACX,CAAF,CAAIe,CAAJ,EAAM;AAAC43N,QAAAA,CAAC,EAAC,MAAIngL;AAAP,OAAN;AAAiB,UAAI71C,CAAC,GAAChC,CAAC,CAAC,IAAD,CAAP;AAAA,UAAc5zB,CAAC,GAAC4zB,CAAC,CAACA,CAAF,CAAIgC,CAAJ,CAAhB;AAAA,UAAuBE,CAAC,GAAClC,CAAC,CAAC,IAAD,CAA1B;AAAA,UAAiCD,CAAC,GAACC,CAAC,CAACA,CAAF,CAAIkC,CAAJ,IAAS91B,CAAC,EAAV,CAAnC;AAAiD2zB,MAAAA,CAAC,CAACrE,IAAF,CAAO,CAACjG,CAAC,CAAC7yB,EAAH,EAAM,22BAAN,EAAk3B,EAAl3B,EAAq3B;AAACvM,QAAAA,OAAO,EAAC,CAAT;AAAWszI,QAAAA,OAAO,EAAC,CAAC,2EAAD,CAAnB;AAAiG0pE,QAAAA,KAAK,EAAC,EAAvG;AAA0G4kD,QAAAA,QAAQ,EAAC,gSAAnH;AAAoZC,QAAAA,cAAc,EAAC,CAAC,86CAAD,CAAna;AAAo1DC,QAAAA,UAAU,EAAC;AAA/1D,OAAr3B,CAAP;AAAiuF,YAAMtgL,CAAC,GAAC93C,CAAR;AAAU,KAAl3rE;AAAm3rE,UAAK,CAACtK,CAAD,EAAG2K,CAAH,EAAKJ,CAAL,KAAS;AAAC;;AAAaA,MAAAA,CAAC,CAACX,CAAF,CAAIe,CAAJ,EAAM;AAAC43N,QAAAA,CAAC,EAAC,MAAIngL;AAAP,OAAN;AAAiB,UAAI71C,CAAC,GAAChC,CAAC,CAAC,IAAD,CAAP;AAAA,UAAc5zB,CAAC,GAAC4zB,CAAC,CAACA,CAAF,CAAIgC,CAAJ,CAAhB;AAAA,UAAuBE,CAAC,GAAClC,CAAC,CAAC,IAAD,CAA1B;AAAA,UAAiCD,CAAC,GAACC,CAAC,CAACA,CAAF,CAAIkC,CAAJ,IAAS91B,CAAC,EAAV,CAAnC;AAAiD2zB,MAAAA,CAAC,CAACrE,IAAF,CAAO,CAACjG,CAAC,CAAC7yB,EAAH,EAAM,q1BAAN,EAA41B,EAA51B,EAA+1B;AAACvM,QAAAA,OAAO,EAAC,CAAT;AAAWszI,QAAAA,OAAO,EAAC,CAAC,kFAAD,EAAoF,uGAApF,CAAnB;AAAgN0pE,QAAAA,KAAK,EAAC,EAAtN;AAAyN4kD,QAAAA,QAAQ,EAAC,wJAAlO;AAA2XC,QAAAA,cAAc,EAAC,CAAC,6rBAAD,EAA+rB,ypBAA/rB,CAA1Y;AAAouDC,QAAAA,UAAU,EAAC;AAA/uD,OAA/1B,CAAP;AAA2lF,YAAMtgL,CAAC,GAAC93C,CAAR;AAAU,KAAtjxE;AAAujxE,UAAK,CAACtK,CAAD,EAAG2K,CAAH,EAAKJ,CAAL,KAAS;AAAC;;AAAaA,MAAAA,CAAC,CAACX,CAAF,CAAIe,CAAJ,EAAM;AAAC43N,QAAAA,CAAC,EAAC,MAAIngL;AAAP,OAAN;AAAiB,UAAI71C,CAAC,GAAChC,CAAC,CAAC,IAAD,CAAP;AAAA,UAAc5zB,CAAC,GAAC4zB,CAAC,CAACA,CAAF,CAAIgC,CAAJ,CAAhB;AAAA,UAAuBE,CAAC,GAAClC,CAAC,CAAC,IAAD,CAA1B;AAAA,UAAiCD,CAAC,GAACC,CAAC,CAACA,CAAF,CAAIkC,CAAJ,IAAS91B,CAAC,EAAV,CAAnC;AAAiD2zB,MAAAA,CAAC,CAACrE,IAAF,CAAO,CAACjG,CAAC,CAAC7yB,EAAH,EAAM,8oCAAN,EAAqpC,EAArpC,EAAwpC;AAACvM,QAAAA,OAAO,EAAC,CAAT;AAAWszI,QAAAA,OAAO,EAAC,CAAC,gFAAD,CAAnB;AAAsG0pE,QAAAA,KAAK,EAAC,EAA5G;AAA+G4kD,QAAAA,QAAQ,EAAC,iTAAxH;AAA0aC,QAAAA,cAAc,EAAC,CAAC,kkFAAD,CAAzb;AAA8/FC,QAAAA,UAAU,EAAC;AAAzgG,OAAxpC,CAAP;AAA8qI,YAAMtgL,CAAC,GAAC93C,CAAR;AAAU,KAA705E;AAA805E,UAAK,CAACtK,CAAD,EAAG2K,CAAH,EAAKJ,CAAL,KAAS;AAAC;;AAAaA,MAAAA,CAAC,CAACX,CAAF,CAAIe,CAAJ,EAAM;AAAC43N,QAAAA,CAAC,EAAC,MAAIngL;AAAP,OAAN;AAAiB,UAAI71C,CAAC,GAAChC,CAAC,CAAC,IAAD,CAAP;AAAA,UAAc5zB,CAAC,GAAC4zB,CAAC,CAACA,CAAF,CAAIgC,CAAJ,CAAhB;AAAA,UAAuBE,CAAC,GAAClC,CAAC,CAAC,IAAD,CAA1B;AAAA,UAAiCD,CAAC,GAACC,CAAC,CAACA,CAAF,CAAIkC,CAAJ,IAAS91B,CAAC,EAAV,CAAnC;AAAiD2zB,MAAAA,CAAC,CAACrE,IAAF,CAAO,CAACjG,CAAC,CAAC7yB,EAAH,EAAM,6dAAN,EAAoe,EAApe,EAAue;AAACvM,QAAAA,OAAO,EAAC,CAAT;AAAWszI,QAAAA,OAAO,EAAC,CAAC,gGAAD,CAAnB;AAAsH0pE,QAAAA,KAAK,EAAC,EAA5H;AAA+H4kD,QAAAA,QAAQ,EAAC,yEAAxI;AAAkNC,QAAAA,cAAc,EAAC,CAAC,y7BAAD,CAAjO;AAA6pCC,QAAAA,UAAU,EAAC;AAAxqC,OAAve,CAAP;AAA4pD,YAAMtgL,CAAC,GAAC93C,CAAR;AAAU,KAAll9E;AAAml9E,UAAK,CAACtK,CAAD,EAAG2K,CAAH,EAAKJ,CAAL,KAAS;AAAC;;AAAaA,MAAAA,CAAC,CAACX,CAAF,CAAIe,CAAJ,EAAM;AAAC43N,QAAAA,CAAC,EAAC,MAAIngL;AAAP,OAAN;AAAiB,UAAI71C,CAAC,GAAChC,CAAC,CAAC,IAAD,CAAP;AAAA,UAAc5zB,CAAC,GAAC4zB,CAAC,CAACA,CAAF,CAAIgC,CAAJ,CAAhB;AAAA,UAAuBE,CAAC,GAAClC,CAAC,CAAC,IAAD,CAA1B;AAAA,UAAiCD,CAAC,GAACC,CAAC,CAACA,CAAF,CAAIkC,CAAJ,IAAS91B,CAAC,EAAV,CAAnC;AAAiD2zB,MAAAA,CAAC,CAACrE,IAAF,CAAO,CAACjG,CAAC,CAAC7yB,EAAH,EAAM,y0GAAN,EAAg1G,EAAh1G,EAAm1G;AAACvM,QAAAA,OAAO,EAAC,CAAT;AAAWszI,QAAAA,OAAO,EAAC,CAAC,wEAAD,EAA0E,6FAA1E,EAAwK,mFAAxK,CAAnB;AAAgR0pE,QAAAA,KAAK,EAAC,EAAtR;AAAyR4kD,QAAAA,QAAQ,EAAC,orBAAlS;AAAu9BC,QAAAA,cAAc,EAAC,CAAC,m7CAAD,EAAq7C,u1EAAr7C,EAA6wH,+dAA7wH,CAAt+B;AAAotKC,QAAAA,UAAU,EAAC;AAA/tK,OAAn1G,CAAP;AAA+jR,YAAMtgL,CAAC,GAAC93C,CAAR;AAAU,KAA1vuF;AAA2vuF,UAAK,CAACtK,CAAD,EAAG2K,CAAH,EAAKJ,CAAL,KAAS;AAAC;;AAAaA,MAAAA,CAAC,CAACX,CAAF,CAAIe,CAAJ,EAAM;AAAC43N,QAAAA,CAAC,EAAC,MAAIngL;AAAP,OAAN;AAAiB,UAAI71C,CAAC,GAAChC,CAAC,CAAC,IAAD,CAAP;AAAA,UAAc5zB,CAAC,GAAC4zB,CAAC,CAACA,CAAF,CAAIgC,CAAJ,CAAhB;AAAA,UAAuBE,CAAC,GAAClC,CAAC,CAAC,IAAD,CAA1B;AAAA,UAAiCD,CAAC,GAACC,CAAC,CAACA,CAAF,CAAIkC,CAAJ,IAAS91B,CAAC,EAAV,CAAnC;AAAiD2zB,MAAAA,CAAC,CAACrE,IAAF,CAAO,CAACjG,CAAC,CAAC7yB,EAAH,EAAM,ksBAAN,EAAysB,EAAzsB,EAA4sB;AAACvM,QAAAA,OAAO,EAAC,CAAT;AAAWszI,QAAAA,OAAO,EAAC,CAAC,8EAAD,EAAgF,mGAAhF,CAAnB;AAAwM0pE,QAAAA,KAAK,EAAC,EAA9M;AAAiN4kD,QAAAA,QAAQ,EAAC,qJAA1N;AAAgXC,QAAAA,cAAc,EAAC,CAAC,ucAAD,EAAyc,0oBAAzc,CAA/X;AAAo9CC,QAAAA,UAAU,EAAC;AAA/9C,OAA5sB,CAAP;AAAwrE,YAAMtgL,CAAC,GAAC93C,CAAR;AAAU,KAA3hzF;AAA4hzF,UAAK,CAACtK,CAAD,EAAG2K,CAAH,EAAKJ,CAAL,KAAS;AAAC;;AAAaA,MAAAA,CAAC,CAACX,CAAF,CAAIe,CAAJ,EAAM;AAAC43N,QAAAA,CAAC,EAAC,MAAIngL;AAAP,OAAN;AAAiB,UAAI71C,CAAC,GAAChC,CAAC,CAAC,IAAD,CAAP;AAAA,UAAc5zB,CAAC,GAAC4zB,CAAC,CAACA,CAAF,CAAIgC,CAAJ,CAAhB;AAAA,UAAuBE,CAAC,GAAClC,CAAC,CAAC,IAAD,CAA1B;AAAA,UAAiCD,CAAC,GAACC,CAAC,CAACA,CAAF,CAAIkC,CAAJ,IAAS91B,CAAC,EAAV,CAAnC;AAAiD2zB,MAAAA,CAAC,CAACrE,IAAF,CAAO,CAACjG,CAAC,CAAC7yB,EAAH,EAAM,wwCAAN,EAA+wC,EAA/wC,EAAkxC;AAACvM,QAAAA,OAAO,EAAC,CAAT;AAAWszI,QAAAA,OAAO,EAAC,CAAC,kGAAD,CAAnB;AAAwH0pE,QAAAA,KAAK,EAAC,EAA9H;AAAiI4kD,QAAAA,QAAQ,EAAC,wNAA1I;AAAmWC,QAAAA,cAAc,EAAC,CAAC,6pCAAD,CAAlX;AAAkhDC,QAAAA,UAAU,EAAC;AAA7hD,OAAlxC,CAAP;AAA4zF,YAAMtgL,CAAC,GAAC93C,CAAR;AAAU,KAAh84F;AAAi84F,UAAK,CAACtK,CAAD,EAAG2K,CAAH,EAAKJ,CAAL,KAAS;AAAC;;AAAaA,MAAAA,CAAC,CAACX,CAAF,CAAIe,CAAJ,EAAM;AAAC43N,QAAAA,CAAC,EAAC,MAAIngL;AAAP,OAAN;AAAiB,UAAI71C,CAAC,GAAChC,CAAC,CAAC,IAAD,CAAP;AAAA,UAAc5zB,CAAC,GAAC4zB,CAAC,CAACA,CAAF,CAAIgC,CAAJ,CAAhB;AAAA,UAAuBE,CAAC,GAAClC,CAAC,CAAC,IAAD,CAA1B;AAAA,UAAiCD,CAAC,GAACC,CAAC,CAACA,CAAF,CAAIkC,CAAJ,IAAS91B,CAAC,EAAV,CAAnC;AAAiD2zB,MAAAA,CAAC,CAACrE,IAAF,CAAO,CAACjG,CAAC,CAAC7yB,EAAH,EAAM,0EAAN,EAAiF,EAAjF,EAAoF;AAACvM,QAAAA,OAAO,EAAC,CAAT;AAAWszI,QAAAA,OAAO,EAAC,CAAC,0GAAD,CAAnB;AAAgI0pE,QAAAA,KAAK,EAAC,EAAtI;AAAyI4kD,QAAAA,QAAQ,EAAC,wCAAlJ;AAA2LC,QAAAA,cAAc,EAAC,CAAC,6QAAD,CAA1M;AAA0dC,QAAAA,UAAU,EAAC;AAAre,OAApF,CAAP;AAAskB,YAAMtgL,CAAC,GAAC93C,CAAR;AAAU,KAA/m6F;AAAgn6F,UAAK,CAACtK,CAAD,EAAG2K,CAAH,EAAKJ,CAAL,KAAS;AAAC;;AAAaA,MAAAA,CAAC,CAACX,CAAF,CAAIe,CAAJ,EAAM;AAAC43N,QAAAA,CAAC,EAAC,MAAIngL;AAAP,OAAN;AAAiB,UAAI71C,CAAC,GAAChC,CAAC,CAAC,IAAD,CAAP;AAAA,UAAc5zB,CAAC,GAAC4zB,CAAC,CAACA,CAAF,CAAIgC,CAAJ,CAAhB;AAAA,UAAuBE,CAAC,GAAClC,CAAC,CAAC,IAAD,CAA1B;AAAA,UAAiCD,CAAC,GAACC,CAAC,CAACA,CAAF,CAAIkC,CAAJ,IAAS91B,CAAC,EAAV,CAAnC;AAAiD2zB,MAAAA,CAAC,CAACrE,IAAF,CAAO,CAACjG,CAAC,CAAC7yB,EAAH,EAAM,o9BAAN,EAA29B,EAA39B,EAA89B;AAACvM,QAAAA,OAAO,EAAC,CAAT;AAAWszI,QAAAA,OAAO,EAAC,CAAC,gGAAD,EAAkG,qHAAlG,EAAwN,mFAAxN,EAA4S,kFAA5S,CAAnB;AAAmZ0pE,QAAAA,KAAK,EAAC,EAAzZ;AAA4Z4kD,QAAAA,QAAQ,EAAC,mSAAra;AAAysBC,QAAAA,cAAc,EAAC,CAAC,ycAAD,EAA2c,iiCAA3c,EAA6+C,+dAA7+C,EAA68D,qeAA78D,CAAxtB;AAA4oGC,QAAAA,UAAU,EAAC;AAAvpG,OAA99B,CAAP;AAAkoI,YAAMtgL,CAAC,GAAC93C,CAAR;AAAU,KAA11iG;AAA21iG,UAAK,CAACtK,CAAD,EAAG2K,CAAH,EAAKJ,CAAL,KAAS;AAAC;;AAAaA,MAAAA,CAAC,CAACX,CAAF,CAAIe,CAAJ,EAAM;AAAC43N,QAAAA,CAAC,EAAC,MAAIngL;AAAP,OAAN;AAAiB,UAAI71C,CAAC,GAAChC,CAAC,CAAC,IAAD,CAAP;AAAA,UAAc5zB,CAAC,GAAC4zB,CAAC,CAACA,CAAF,CAAIgC,CAAJ,CAAhB;AAAA,UAAuBE,CAAC,GAAClC,CAAC,CAAC,IAAD,CAA1B;AAAA,UAAiCD,CAAC,GAACC,CAAC,CAACA,CAAF,CAAIkC,CAAJ,IAAS91B,CAAC,EAAV,CAAnC;AAAiD2zB,MAAAA,CAAC,CAACrE,IAAF,CAAO,CAACjG,CAAC,CAAC7yB,EAAH,EAAM,kyKAAN,EAAyyK,EAAzyK,EAA4yK;AAACvM,QAAAA,OAAO,EAAC,CAAT;AAAWszI,QAAAA,OAAO,EAAC,CAAC,oFAAD,EAAsF,gFAAtF,EAAuK,yGAAvK,EAAiR,+FAAjR,EAAiX,mFAAjX,EAAqc,iFAArc,EAAuhB,kFAAvhB,EAA0mB,oFAA1mB,CAAnB;AAAmtB0pE,QAAAA,KAAK,EAAC,EAAztB;AAA4tB4kD,QAAAA,QAAQ,EAAC,yiCAAruB;AAA+wDC,QAAAA,cAAc,EAAC,CAAC,2xBAAD,EAA6xB,sWAA7xB,EAAooC,stIAApoC,EAA21K,+wBAA31K,EAA2mM,+dAA3mM,EAA2kN,+VAA3kN,EAA26N,qeAA36N,EAAi5O,sUAAj5O,CAA9xD;AAAu/SC,QAAAA,UAAU,EAAC;AAAlgT,OAA5yK,CAAP;AAA2zd,YAAMtgL,CAAC,GAAC93C,CAAR;AAAU,KAA9vgH;AAA+vgH,UAAK,CAACtK,CAAD,EAAG2K,CAAH,EAAKJ,CAAL,KAAS;AAAC;;AAAaA,MAAAA,CAAC,CAACX,CAAF,CAAIe,CAAJ,EAAM;AAAC43N,QAAAA,CAAC,EAAC,MAAIngL;AAAP,OAAN;AAAiB,UAAI71C,CAAC,GAAChC,CAAC,CAAC,IAAD,CAAP;AAAA,UAAc5zB,CAAC,GAAC4zB,CAAC,CAACA,CAAF,CAAIgC,CAAJ,CAAhB;AAAA,UAAuBE,CAAC,GAAClC,CAAC,CAAC,IAAD,CAA1B;AAAA,UAAiCD,CAAC,GAACC,CAAC,CAACA,CAAF,CAAIkC,CAAJ,IAAS91B,CAAC,EAAV,CAAnC;AAAiD2zB,MAAAA,CAAC,CAACrE,IAAF,CAAO,CAACjG,CAAC,CAAC7yB,EAAH,EAAM,k1GAAN,EAAy1G,EAAz1G,EAA41G;AAACvM,QAAAA,OAAO,EAAC,CAAT;AAAWszI,QAAAA,OAAO,EAAC,CAAC,0FAAD,EAA4F,+GAA5F,EAA4M,mFAA5M,EAAgS,oFAAhS,CAAnB;AAAyY0pE,QAAAA,KAAK,EAAC,EAA/Y;AAAkZ4kD,QAAAA,QAAQ,EAAC,skBAA3Z;AAAk+BC,QAAAA,cAAc,EAAC,CAAC,2UAAD,EAA6U,4qIAA7U,EAA0/I,+dAA1/I,EAA09J,sUAA19J,CAAj/B;AAAmxMC,QAAAA,UAAU,EAAC;AAA9xM,OAA51G,CAAP;AAAuoT,YAAMtgL,CAAC,GAAC93C,CAAR;AAAU,KAA9+zH;AAA++zH,UAAK,CAACtK,CAAD,EAAG2K,CAAH,EAAKJ,CAAL,KAAS;AAAC;;AAAaA,MAAAA,CAAC,CAACX,CAAF,CAAIe,CAAJ,EAAM;AAAC43N,QAAAA,CAAC,EAAC,MAAIngL;AAAP,OAAN;AAAiB,UAAI71C,CAAC,GAAChC,CAAC,CAAC,IAAD,CAAP;AAAA,UAAc5zB,CAAC,GAAC4zB,CAAC,CAACA,CAAF,CAAIgC,CAAJ,CAAhB;AAAA,UAAuBE,CAAC,GAAClC,CAAC,CAAC,IAAD,CAA1B;AAAA,UAAiCD,CAAC,GAACC,CAAC,CAACA,CAAF,CAAIkC,CAAJ,IAAS91B,CAAC,EAAV,CAAnC;AAAiD2zB,MAAAA,CAAC,CAACrE,IAAF,CAAO,CAACjG,CAAC,CAAC7yB,EAAH,EAAM,6sCAAN,EAAotC,EAAptC,EAAutC;AAACvM,QAAAA,OAAO,EAAC,CAAT;AAAWszI,QAAAA,OAAO,EAAC,CAAC,0FAAD,EAA4F,+GAA5F,CAAnB;AAAgO0pE,QAAAA,KAAK,EAAC,EAAtO;AAAyO4kD,QAAAA,QAAQ,EAAC,+TAAlP;AAAkjBC,QAAAA,cAAc,EAAC,CAAC,0NAAD,EAA4N,gvDAA5N,CAAjkB;AAA+gFC,QAAAA,UAAU,EAAC;AAA1hF,OAAvtC,CAAP;AAA8vH,YAAMtgL,CAAC,GAAC93C,CAAR;AAAU,KAAr17H;AAAs17H,UAAK,CAACtK,CAAD,EAAG2K,CAAH,EAAKJ,CAAL,KAAS;AAAC;;AAAaA,MAAAA,CAAC,CAACX,CAAF,CAAIe,CAAJ,EAAM;AAAC43N,QAAAA,CAAC,EAAC,MAAIngL;AAAP,OAAN;AAAiB,UAAI71C,CAAC,GAAChC,CAAC,CAAC,IAAD,CAAP;AAAA,UAAc5zB,CAAC,GAAC4zB,CAAC,CAACA,CAAF,CAAIgC,CAAJ,CAAhB;AAAA,UAAuBE,CAAC,GAAClC,CAAC,CAAC,IAAD,CAA1B;AAAA,UAAiCD,CAAC,GAACC,CAAC,CAACA,CAAF,CAAIkC,CAAJ,IAAS91B,CAAC,EAAV,CAAnC;AAAiD2zB,MAAAA,CAAC,CAACrE,IAAF,CAAO,CAACjG,CAAC,CAAC7yB,EAAH,EAAM,mfAAN,EAA0f,EAA1f,EAA6f;AAACvM,QAAAA,OAAO,EAAC,CAAT;AAAWszI,QAAAA,OAAO,EAAC,CAAC,8FAAD,CAAnB;AAAoH0pE,QAAAA,KAAK,EAAC,EAA1H;AAA6H4kD,QAAAA,QAAQ,EAAC,+KAAtI;AAAsTC,QAAAA,cAAc,EAAC,CAAC,0sBAAD,CAArU;AAAkhCC,QAAAA,UAAU,EAAC;AAA7hC,OAA7f,CAAP;AAAuiD,YAAMtgL,CAAC,GAAC93C,CAAR;AAAU,KAAr++H;AAAs++H,UAAK,CAACtK,CAAD,EAAG2K,CAAH,EAAKJ,CAAL,KAAS;AAAC;;AAAaA,MAAAA,CAAC,CAACX,CAAF,CAAIe,CAAJ,EAAM;AAAC43N,QAAAA,CAAC,EAAC,MAAIngL;AAAP,OAAN;AAAiB,UAAI71C,CAAC,GAAChC,CAAC,CAAC,IAAD,CAAP;AAAA,UAAc5zB,CAAC,GAAC4zB,CAAC,CAACA,CAAF,CAAIgC,CAAJ,CAAhB;AAAA,UAAuBE,CAAC,GAAClC,CAAC,CAAC,IAAD,CAA1B;AAAA,UAAiCD,CAAC,GAACC,CAAC,CAACA,CAAF,CAAIkC,CAAJ,IAAS91B,CAAC,EAAV,CAAnC;AAAiD2zB,MAAAA,CAAC,CAACrE,IAAF,CAAO,CAACjG,CAAC,CAAC7yB,EAAH,EAAM,kjFAAN,EAAyjF,EAAzjF,EAA4jF;AAACvM,QAAAA,OAAO,EAAC,CAAT;AAAWszI,QAAAA,OAAO,EAAC,CAAC,kGAAD,EAAoG,uHAApG,CAAnB;AAAgP0pE,QAAAA,KAAK,EAAC,EAAtP;AAAyP4kD,QAAAA,QAAQ,EAAC,iWAAlQ;AAAomBC,QAAAA,cAAc,EAAC,CAAC,i3BAAD,EAAm3B,+tDAAn3B,CAAnnB;AAAusGC,QAAAA,UAAU,EAAC;AAAltG,OAA5jF,CAAP;AAA2xL,YAAMtgL,CAAC,GAAC93C,CAAR;AAAU,KAAz2qI;AAA02qI,UAAK,CAACtK,CAAD,EAAG2K,CAAH,EAAKJ,CAAL,KAAS;AAAC;;AAAaA,MAAAA,CAAC,CAACX,CAAF,CAAIe,CAAJ,EAAM;AAAC43N,QAAAA,CAAC,EAAC,MAAIngL;AAAP,OAAN;AAAiB,UAAI71C,CAAC,GAAChC,CAAC,CAAC,IAAD,CAAP;AAAA,UAAc5zB,CAAC,GAAC4zB,CAAC,CAACA,CAAF,CAAIgC,CAAJ,CAAhB;AAAA,UAAuBE,CAAC,GAAClC,CAAC,CAAC,IAAD,CAA1B;AAAA,UAAiCD,CAAC,GAACC,CAAC,CAACA,CAAF,CAAIkC,CAAJ,IAAS91B,CAAC,EAAV,CAAnC;AAAiD2zB,MAAAA,CAAC,CAACrE,IAAF,CAAO,CAACjG,CAAC,CAAC7yB,EAAH,EAAM,46HAAN,EAAm7H,EAAn7H,EAAs7H;AAACvM,QAAAA,OAAO,EAAC,CAAT;AAAWszI,QAAAA,OAAO,EAAC,CAAC,wFAAD,EAA0F,6GAA1F,EAAwM,oFAAxM,EAA6R,kFAA7R,EAAgX,mFAAhX,CAAnB;AAAwd0pE,QAAAA,KAAK,EAAC,EAA9d;AAAie4kD,QAAAA,QAAQ,EAAC,s0BAA1e;AAAizCC,QAAAA,cAAc,EAAC,CAAC,i1EAAD,EAAm1E,4hGAAn1E,EAAg3K,sUAAh3K,EAAurL,qeAAvrL,EAA6pM,+dAA7pM,CAAh0C;AAA87PC,QAAAA,UAAU,EAAC;AAAz8P,OAAt7H,CAAP;AAA44X,YAAMtgL,CAAC,GAAC93C,CAAR;AAAU,KAA91iJ;AAA+1iJ,UAAK,CAACtK,CAAD,EAAG2K,CAAH,EAAKJ,CAAL,KAAS;AAAC;;AAAaA,MAAAA,CAAC,CAACX,CAAF,CAAIe,CAAJ,EAAM;AAAC43N,QAAAA,CAAC,EAAC,MAAIngL;AAAP,OAAN;AAAiB,UAAI71C,CAAC,GAAChC,CAAC,CAAC,IAAD,CAAP;AAAA,UAAc5zB,CAAC,GAAC4zB,CAAC,CAACA,CAAF,CAAIgC,CAAJ,CAAhB;AAAA,UAAuBE,CAAC,GAAClC,CAAC,CAAC,IAAD,CAA1B;AAAA,UAAiCD,CAAC,GAACC,CAAC,CAACA,CAAF,CAAIkC,CAAJ,IAAS91B,CAAC,EAAV,CAAnC;AAAiD2zB,MAAAA,CAAC,CAACrE,IAAF,CAAO,CAACjG,CAAC,CAAC7yB,EAAH,EAAM,6iCAAN,EAAojC,EAApjC,EAAujC;AAACvM,QAAAA,OAAO,EAAC,CAAT;AAAWszI,QAAAA,OAAO,EAAC,CAAC,iHAAD,EAAmH,mFAAnH,CAAnB;AAA2N0pE,QAAAA,KAAK,EAAC,EAAjO;AAAoO4kD,QAAAA,QAAQ,EAAC,sLAA7O;AAAoaC,QAAAA,cAAc,EAAC,CAAC,+9BAAD,EAAi+B,+dAAj+B,CAAnb;AAAq3DC,QAAAA,UAAU,EAAC;AAAh4D,OAAvjC,CAAP;AAAo8F,YAAMtgL,CAAC,GAAC93C,CAAR;AAAU,KAA34oJ;AAA44oJ,UAAK,CAACtK,CAAD,EAAG2K,CAAH,EAAKJ,CAAL,KAAS;AAAC;;AAAaA,MAAAA,CAAC,CAACX,CAAF,CAAIe,CAAJ,EAAM;AAAC43N,QAAAA,CAAC,EAAC,MAAIngL;AAAP,OAAN;AAAiB,UAAI71C,CAAC,GAAChC,CAAC,CAAC,IAAD,CAAP;AAAA,UAAc5zB,CAAC,GAAC4zB,CAAC,CAACA,CAAF,CAAIgC,CAAJ,CAAhB;AAAA,UAAuBE,CAAC,GAAClC,CAAC,CAAC,IAAD,CAA1B;AAAA,UAAiCD,CAAC,GAACC,CAAC,CAACA,CAAF,CAAIkC,CAAJ,IAAS91B,CAAC,EAAV,CAAnC;AAAiD2zB,MAAAA,CAAC,CAACrE,IAAF,CAAO,CAACjG,CAAC,CAAC7yB,EAAH,EAAM,wrFAAN,EAA+rF,EAA/rF,EAAksF;AAACvM,QAAAA,OAAO,EAAC,CAAT;AAAWszI,QAAAA,OAAO,EAAC,CAAC,2FAAD,EAA6F,gHAA7F,EAA8M,mFAA9M,CAAnB;AAAsT0pE,QAAAA,KAAK,EAAC,EAA5T;AAA+T4kD,QAAAA,QAAQ,EAAC,icAAxU;AAA0wBC,QAAAA,cAAc,EAAC,CAAC,iYAAD,EAAmY,m6GAAnY,EAAuyH,+dAAvyH,CAAzxB;AAAiiKC,QAAAA,UAAU,EAAC;AAA5iK,OAAlsF,CAAP;AAA2vP,YAAMtgL,CAAC,GAAC93C,CAAR;AAAU,KAA/u4J;AAAgv4J,UAAK,CAACtK,CAAD,EAAG2K,CAAH,EAAKJ,CAAL,KAAS;AAAC;;AAAaA,MAAAA,CAAC,CAACX,CAAF,CAAIe,CAAJ,EAAM;AAAC43N,QAAAA,CAAC,EAAC,MAAIngL;AAAP,OAAN;AAAiB,UAAI71C,CAAC,GAAChC,CAAC,CAAC,IAAD,CAAP;AAAA,UAAc5zB,CAAC,GAAC4zB,CAAC,CAACA,CAAF,CAAIgC,CAAJ,CAAhB;AAAA,UAAuBE,CAAC,GAAClC,CAAC,CAAC,IAAD,CAA1B;AAAA,UAAiCD,CAAC,GAACC,CAAC,CAACA,CAAF,CAAIkC,CAAJ,IAAS91B,CAAC,EAAV,CAAnC;AAAiD2zB,MAAAA,CAAC,CAACrE,IAAF,CAAO,CAACjG,CAAC,CAAC7yB,EAAH,EAAM,0SAAN,EAAiT,EAAjT,EAAoT;AAACvM,QAAAA,OAAO,EAAC,CAAT;AAAWszI,QAAAA,OAAO,EAAC,CAAC,+FAAD,EAAiG,oHAAjG,CAAnB;AAA0O0pE,QAAAA,KAAK,EAAC,EAAhP;AAAmP4kD,QAAAA,QAAQ,EAAC,gFAA5P;AAA6UC,QAAAA,cAAc,EAAC,CAAC,ggBAAD,EAAkgB,wOAAlgB,CAA5V;AAAwkCC,QAAAA,UAAU,EAAC;AAAnlC,OAApT,CAAP;AAAo5C,YAAMtgL,CAAC,GAAC93C,CAAR;AAAU,KAA5u7J;AAA6u7J,UAAK,CAACtK,CAAD,EAAG2K,CAAH,EAAKJ,CAAL,KAAS;AAAC;;AAAaA,MAAAA,CAAC,CAACX,CAAF,CAAIe,CAAJ,EAAM;AAAC43N,QAAAA,CAAC,EAAC,MAAIngL;AAAP,OAAN;AAAiB,UAAI71C,CAAC,GAAChC,CAAC,CAAC,IAAD,CAAP;AAAA,UAAc5zB,CAAC,GAAC4zB,CAAC,CAACA,CAAF,CAAIgC,CAAJ,CAAhB;AAAA,UAAuBE,CAAC,GAAClC,CAAC,CAAC,IAAD,CAA1B;AAAA,UAAiCD,CAAC,GAACC,CAAC,CAACA,CAAF,CAAIkC,CAAJ,IAAS91B,CAAC,EAAV,CAAnC;AAAiD2zB,MAAAA,CAAC,CAACrE,IAAF,CAAO,CAACjG,CAAC,CAAC7yB,EAAH,EAAM,wpCAAN,EAA+pC,EAA/pC,EAAkqC;AAACvM,QAAAA,OAAO,EAAC,CAAT;AAAWszI,QAAAA,OAAO,EAAC,CAAC,6GAAD,EAA+G,mFAA/G,EAAmM,iFAAnM,EAAqR,kFAArR,CAAnB;AAA4X0pE,QAAAA,KAAK,EAAC,EAAlY;AAAqY4kD,QAAAA,QAAQ,EAAC,4PAA9Y;AAA2oBC,QAAAA,cAAc,EAAC,CAAC,y3DAAD,EAA23D,+dAA33D,EAA21E,+VAA31E,EAA2rF,qeAA3rF,CAA1pB;AAA4zHC,QAAAA,UAAU,EAAC;AAAv0H,OAAlqC,CAAP;AAAs/J,YAAMtgL,CAAC,GAAC93C,CAAR;AAAU,KAA30lK;AAA40lK,UAAK,CAACtK,CAAD,EAAG2K,CAAH,EAAKJ,CAAL,KAAS;AAAC;;AAAaA,MAAAA,CAAC,CAACX,CAAF,CAAIe,CAAJ,EAAM;AAAC43N,QAAAA,CAAC,EAAC,MAAIngL;AAAP,OAAN;AAAiB,UAAI71C,CAAC,GAAChC,CAAC,CAAC,IAAD,CAAP;AAAA,UAAc5zB,CAAC,GAAC4zB,CAAC,CAACA,CAAF,CAAIgC,CAAJ,CAAhB;AAAA,UAAuBE,CAAC,GAAClC,CAAC,CAAC,IAAD,CAA1B;AAAA,UAAiCD,CAAC,GAACC,CAAC,CAACA,CAAF,CAAIkC,CAAJ,IAAS91B,CAAC,EAAV,CAAnC;AAAiD2zB,MAAAA,CAAC,CAACrE,IAAF,CAAO,CAACjG,CAAC,CAAC7yB,EAAH,EAAM,unBAAN,EAA8nB,EAA9nB,EAAioB;AAACvM,QAAAA,OAAO,EAAC,CAAT;AAAWszI,QAAAA,OAAO,EAAC,CAAC,4FAAD,EAA8F,iHAA9F,CAAnB;AAAoO0pE,QAAAA,KAAK,EAAC,EAA1O;AAA6O4kD,QAAAA,QAAQ,EAAC,8MAAtP;AAAqcC,QAAAA,cAAc,EAAC,CAAC,gYAAD,EAAkY,svBAAlY,CAApd;AAA8kDC,QAAAA,UAAU,EAAC;AAAzlD,OAAjoB,CAAP;AAAuuE,YAAMtgL,CAAC,GAAC93C,CAAR;AAAU,KAA3pqK;AAA4pqK,UAAK,CAACtK,CAAD,EAAG2K,CAAH,EAAKJ,CAAL,KAAS;AAAC;;AAAaA,MAAAA,CAAC,CAACX,CAAF,CAAIe,CAAJ,EAAM;AAAC43N,QAAAA,CAAC,EAAC,MAAIngL;AAAP,OAAN;AAAiB,UAAI71C,CAAC,GAAChC,CAAC,CAAC,IAAD,CAAP;AAAA,UAAc5zB,CAAC,GAAC4zB,CAAC,CAACA,CAAF,CAAIgC,CAAJ,CAAhB;AAAA,UAAuBE,CAAC,GAAClC,CAAC,CAAC,IAAD,CAA1B;AAAA,UAAiCD,CAAC,GAACC,CAAC,CAACA,CAAF,CAAIkC,CAAJ,IAAS91B,CAAC,EAAV,CAAnC;AAAiD2zB,MAAAA,CAAC,CAACrE,IAAF,CAAO,CAACjG,CAAC,CAAC7yB,EAAH,EAAM,gKAAN,EAAuK,EAAvK,EAA0K;AAACvM,QAAAA,OAAO,EAAC,CAAT;AAAWszI,QAAAA,OAAO,EAAC,CAAC,sGAAD,CAAnB;AAA4H0pE,QAAAA,KAAK,EAAC,EAAlI;AAAqI4kD,QAAAA,QAAQ,EAAC,sEAA9I;AAAqNC,QAAAA,cAAc,EAAC,CAAC,6WAAD,CAApO;AAAolBC,QAAAA,UAAU,EAAC;AAA/lB,OAA1K,CAAP;AAAsxB,YAAMtgL,CAAC,GAAC93C,CAAR;AAAU,KAA1hsK;AAA2hsK,UAAK,CAACtK,CAAD,EAAG2K,CAAH,EAAKJ,CAAL,KAAS;AAAC;;AAAaA,MAAAA,CAAC,CAACX,CAAF,CAAIe,CAAJ,EAAM;AAAC43N,QAAAA,CAAC,EAAC,MAAIngL;AAAP,OAAN;AAAiB,UAAI71C,CAAC,GAAChC,CAAC,CAAC,IAAD,CAAP;AAAA,UAAc5zB,CAAC,GAAC4zB,CAAC,CAACA,CAAF,CAAIgC,CAAJ,CAAhB;AAAA,UAAuBE,CAAC,GAAClC,CAAC,CAAC,IAAD,CAA1B;AAAA,UAAiCD,CAAC,GAACC,CAAC,CAACA,CAAF,CAAIkC,CAAJ,IAAS91B,CAAC,EAAV,CAAnC;AAAiD2zB,MAAAA,CAAC,CAACrE,IAAF,CAAO,CAACjG,CAAC,CAAC7yB,EAAH,EAAM,kaAAN,EAAya,EAAza,EAA4a;AAACvM,QAAAA,OAAO,EAAC,CAAT;AAAWszI,QAAAA,OAAO,EAAC,CAAC,gFAAD,EAAkF,qGAAlF,CAAnB;AAA4M0pE,QAAAA,KAAK,EAAC,EAAlN;AAAqN4kD,QAAAA,QAAQ,EAAC,2IAA9N;AAA0WC,QAAAA,cAAc,EAAC,CAAC,6NAAD,EAA+N,k9BAA/N,CAAzX;AAA4iDC,QAAAA,UAAU,EAAC;AAAvjD,OAA5a,CAAP;AAAg/D,YAAMtgL,CAAC,GAAC93C,CAAR;AAAU,KAAnnwK;AAAonwK,UAAK,CAACtK,CAAD,EAAG2K,CAAH,EAAKJ,CAAL,KAAS;AAAC;;AAAaA,MAAAA,CAAC,CAACX,CAAF,CAAIe,CAAJ,EAAM;AAAC43N,QAAAA,CAAC,EAAC,MAAIngL;AAAP,OAAN;AAAiB,UAAI71C,CAAC,GAAChC,CAAC,CAAC,IAAD,CAAP;AAAA,UAAc5zB,CAAC,GAAC4zB,CAAC,CAACA,CAAF,CAAIgC,CAAJ,CAAhB;AAAA,UAAuBE,CAAC,GAAClC,CAAC,CAAC,IAAD,CAA1B;AAAA,UAAiCD,CAAC,GAACC,CAAC,CAACA,CAAF,CAAIkC,CAAJ,IAAS91B,CAAC,EAAV,CAAnC;AAAiD2zB,MAAAA,CAAC,CAACrE,IAAF,CAAO,CAACjG,CAAC,CAAC7yB,EAAH,EAAM,orCAAN,EAA2rC,EAA3rC,EAA8rC;AAACvM,QAAAA,OAAO,EAAC,CAAT;AAAWszI,QAAAA,OAAO,EAAC,CAAC,uGAAD,EAAyG,mFAAzG,EAA6L,iFAA7L,EAA+Q,kFAA/Q,CAAnB;AAAsX0pE,QAAAA,KAAK,EAAC,EAA5X;AAA+X4kD,QAAAA,QAAQ,EAAC,2XAAxY;AAAowBC,QAAAA,cAAc,EAAC,CAAC,y0DAAD,EAA20D,+dAA30D,EAA2yE,+VAA3yE,EAA2oF,qeAA3oF,CAAnxB;AAAq4HC,QAAAA,UAAU,EAAC;AAAh5H,OAA9rC,CAAP;AAA2lK,YAAMtgL,CAAC,GAAC93C,CAAR;AAAU,KAAvz6K;AAAwz6K,UAAK,CAACtK,CAAD,EAAG2K,CAAH,EAAKJ,CAAL,KAAS;AAAC;;AAAaA,MAAAA,CAAC,CAACX,CAAF,CAAIe,CAAJ,EAAM;AAAC43N,QAAAA,CAAC,EAAC,MAAIngL;AAAP,OAAN;AAAiB,UAAI71C,CAAC,GAAChC,CAAC,CAAC,IAAD,CAAP;AAAA,UAAc5zB,CAAC,GAAC4zB,CAAC,CAACA,CAAF,CAAIgC,CAAJ,CAAhB;AAAA,UAAuBE,CAAC,GAAClC,CAAC,CAAC,IAAD,CAA1B;AAAA,UAAiCD,CAAC,GAACC,CAAC,CAACA,CAAF,CAAIkC,CAAJ,IAAS91B,CAAC,EAAV,CAAnC;AAAiD2zB,MAAAA,CAAC,CAACrE,IAAF,CAAO,CAACjG,CAAC,CAAC7yB,EAAH,EAAM,0FAAN,EAAiG,EAAjG,EAAoG;AAACvM,QAAAA,OAAO,EAAC,CAAT;AAAWszI,QAAAA,OAAO,EAAC,CAAC,kFAAD,EAAoF,uGAApF,CAAnB;AAAgN0pE,QAAAA,KAAK,EAAC,EAAtN;AAAyN4kD,QAAAA,QAAQ,EAAC,+CAAlO;AAAkRC,QAAAA,cAAc,EAAC,CAAC,mQAAD,EAAqQ,yNAArQ,CAAjS;AAAiwBC,QAAAA,UAAU,EAAC;AAA5wB,OAApG,CAAP;AAA63B,YAAMtgL,CAAC,GAAC93C,CAAR;AAAU,KAA7x8K;AAA8x8K,UAAK,CAACtK,CAAD,EAAG2K,CAAH,EAAKJ,CAAL,KAAS;AAAC;;AAAaA,MAAAA,CAAC,CAACX,CAAF,CAAIe,CAAJ,EAAM;AAAC43N,QAAAA,CAAC,EAAC,MAAIngL;AAAP,OAAN;AAAiB,UAAI71C,CAAC,GAAChC,CAAC,CAAC,IAAD,CAAP;AAAA,UAAc5zB,CAAC,GAAC4zB,CAAC,CAACA,CAAF,CAAIgC,CAAJ,CAAhB;AAAA,UAAuBE,CAAC,GAAClC,CAAC,CAAC,IAAD,CAA1B;AAAA,UAAiCD,CAAC,GAACC,CAAC,CAACA,CAAF,CAAIkC,CAAJ,IAAS91B,CAAC,EAAV,CAAnC;AAAiD2zB,MAAAA,CAAC,CAACrE,IAAF,CAAO,CAACjG,CAAC,CAAC7yB,EAAH,EAAM,svIAAN,EAA6vI,EAA7vI,EAAgwI;AAACvM,QAAAA,OAAO,EAAC,CAAT;AAAWszI,QAAAA,OAAO,EAAC,CAAC,oGAAD,EAAsG,yHAAtG,EAAgO,mFAAhO,CAAnB;AAAwU0pE,QAAAA,KAAK,EAAC,EAA9U;AAAiV4kD,QAAAA,QAAQ,EAAC,ymBAA1V;AAAo8BC,QAAAA,cAAc,EAAC,CAAC,6XAAD,EAA+X,osJAA/X,EAAokK,+dAApkK,CAAn9B;AAAw/MC,QAAAA,UAAU,EAAC;AAAngN,OAAhwI,CAAP;AAAgxV,YAAMtgL,CAAC,GAAC93C,CAAR;AAAU,KAAtpyL;AAAupyL,SAAI,CAACtK,CAAD,EAAG2K,CAAH,EAAKJ,CAAL,KAAS;AAAC;;AAAaA,MAAAA,CAAC,CAACX,CAAF,CAAIe,CAAJ,EAAM;AAAC43N,QAAAA,CAAC,EAAC,MAAIngL;AAAP,OAAN;AAAiB,UAAI71C,CAAC,GAAChC,CAAC,CAAC,IAAD,CAAP;AAAA,UAAc5zB,CAAC,GAAC4zB,CAAC,CAACA,CAAF,CAAIgC,CAAJ,CAAhB;AAAA,UAAuBE,CAAC,GAAClC,CAAC,CAAC,IAAD,CAA1B;AAAA,UAAiCD,CAAC,GAACC,CAAC,CAACA,CAAF,CAAIkC,CAAJ,IAAS91B,CAAC,EAAV,CAAnC;AAAiD2zB,MAAAA,CAAC,CAACrE,IAAF,CAAO,CAACjG,CAAC,CAAC7yB,EAAH,EAAM,opEAAN,EAA2pE,EAA3pE,EAA8pE;AAACvM,QAAAA,OAAO,EAAC,CAAT;AAAWszI,QAAAA,OAAO,EAAC,CAAC,gFAAD,EAAkF,gFAAlF,EAAmK,qGAAnK,EAAyQ,mFAAzQ,CAAnB;AAAiX0pE,QAAAA,KAAK,EAAC,EAAvX;AAA0X4kD,QAAAA,QAAQ,EAAC,6mBAAnY;AAAi/BC,QAAAA,cAAc,EAAC,CAAC,sqBAAD,EAAwqB,sWAAxqB,EAA+gC,8xFAA/gC,EAA8yH,+dAA9yH,CAAhgC;AAA+wKC,QAAAA,UAAU,EAAC;AAA1xK,OAA9pE,CAAP;AAAq8O,YAAMtgL,CAAC,GAAC93C,CAAR;AAAU,KAAnshM;AAAoshM,UAAK,CAACtK,CAAD,EAAG2K,CAAH,EAAKJ,CAAL,KAAS;AAAC;;AAAaA,MAAAA,CAAC,CAACX,CAAF,CAAIe,CAAJ,EAAM;AAAC43N,QAAAA,CAAC,EAAC,MAAIngL;AAAP,OAAN;AAAiB,UAAI71C,CAAC,GAAChC,CAAC,CAAC,IAAD,CAAP;AAAA,UAAc5zB,CAAC,GAAC4zB,CAAC,CAACA,CAAF,CAAIgC,CAAJ,CAAhB;AAAA,UAAuBE,CAAC,GAAClC,CAAC,CAAC,IAAD,CAA1B;AAAA,UAAiCD,CAAC,GAACC,CAAC,CAACA,CAAF,CAAIkC,CAAJ,IAAS91B,CAAC,EAAV,CAAnC;AAAiD2zB,MAAAA,CAAC,CAACrE,IAAF,CAAO,CAACjG,CAAC,CAAC7yB,EAAH,EAAM,oxMAAN,EAA2xM,EAA3xM,EAA8xM;AAACvM,QAAAA,OAAO,EAAC,CAAT;AAAWszI,QAAAA,OAAO,EAAC,CAAC,yFAAD,EAA2F,8GAA3F,EAA0M,mFAA1M,EAA8R,kFAA9R,CAAnB;AAAqY0pE,QAAAA,KAAK,EAAC,EAA3Y;AAA8Y4kD,QAAAA,QAAQ,EAAC,qpCAAvZ;AAA6iDC,QAAAA,cAAc,EAAC,CAAC,uqCAAD,EAAyqC,wqLAAzqC,EAAk1N,+dAAl1N,EAAkzO,qeAAlzO,CAA5jD;AAAq1SC,QAAAA,UAAU,EAAC;AAAh2S,OAA9xM,CAAP;AAA2of,YAAMtgL,CAAC,GAAC93C,CAAR;AAAU,KAAv7gN;AAAw7gN,UAAK,CAACtK,CAAD,EAAG2K,CAAH,EAAKJ,CAAL,KAAS;AAAC;;AAAaA,MAAAA,CAAC,CAACX,CAAF,CAAIe,CAAJ,EAAM;AAAC43N,QAAAA,CAAC,EAAC,MAAIngL;AAAP,OAAN;AAAiB,UAAI71C,CAAC,GAAChC,CAAC,CAAC,IAAD,CAAP;AAAA,UAAc5zB,CAAC,GAAC4zB,CAAC,CAACA,CAAF,CAAIgC,CAAJ,CAAhB;AAAA,UAAuBE,CAAC,GAAClC,CAAC,CAAC,IAAD,CAA1B;AAAA,UAAiCD,CAAC,GAACC,CAAC,CAACA,CAAF,CAAIkC,CAAJ,IAAS91B,CAAC,EAAV,CAAnC;AAAiD2zB,MAAAA,CAAC,CAACrE,IAAF,CAAO,CAACjG,CAAC,CAAC7yB,EAAH,EAAM,wrBAAN,EAA+rB,EAA/rB,EAAksB;AAACvM,QAAAA,OAAO,EAAC,CAAT;AAAWszI,QAAAA,OAAO,EAAC,CAAC,2FAAD,EAA6F,gHAA7F,CAAnB;AAAkO0pE,QAAAA,KAAK,EAAC,EAAxO;AAA2O4kD,QAAAA,QAAQ,EAAC,+LAApP;AAAobC,QAAAA,cAAc,EAAC,CAAC,8fAAD,EAAggB,6/BAAhgB,CAAnc;AAAk8DC,QAAAA,UAAU,EAAC;AAA78D,OAAlsB,CAAP;AAA4pF,YAAMtgL,CAAC,GAAC93C,CAAR;AAAU,KAA5rmN;AAA6rmN,UAAK,CAACtK,CAAD,EAAG2K,CAAH,EAAKJ,CAAL,KAAS;AAAC;;AAAaA,MAAAA,CAAC,CAACX,CAAF,CAAIe,CAAJ,EAAM;AAAC43N,QAAAA,CAAC,EAAC,MAAIngL;AAAP,OAAN;AAAiB,UAAI71C,CAAC,GAAChC,CAAC,CAAC,IAAD,CAAP;AAAA,UAAc5zB,CAAC,GAAC4zB,CAAC,CAACA,CAAF,CAAIgC,CAAJ,CAAhB;AAAA,UAAuBE,CAAC,GAAClC,CAAC,CAAC,IAAD,CAA1B;AAAA,UAAiCD,CAAC,GAACC,CAAC,CAACA,CAAF,CAAIkC,CAAJ,IAAS91B,CAAC,EAAV,CAAnC;AAAiD2zB,MAAAA,CAAC,CAACrE,IAAF,CAAO,CAACjG,CAAC,CAAC7yB,EAAH,EAAM,4qCAAN,EAAmrC,EAAnrC,EAAsrC;AAACvM,QAAAA,OAAO,EAAC,CAAT;AAAWszI,QAAAA,OAAO,EAAC,CAAC,sFAAD,EAAwF,2GAAxF,EAAoM,kFAApM,CAAnB;AAA2S0pE,QAAAA,KAAK,EAAC,EAAjT;AAAoT4kD,QAAAA,QAAQ,EAAC,kTAA7T;AAAgnBC,QAAAA,cAAc,EAAC,CAAC,6fAAD,EAA+f,i+CAA/f,EAAi+D,qeAAj+D,CAA/nB;AAAukGC,QAAAA,UAAU,EAAC;AAAllG,OAAtrC,CAAP;AAAqxI,YAAMtgL,CAAC,GAAC93C,CAAR;AAAU,KAA1jvN;AAA2jvN,UAAK,CAACtK,CAAD,EAAG2K,CAAH,EAAKJ,CAAL,KAAS;AAAC;;AAAaA,MAAAA,CAAC,CAACX,CAAF,CAAIe,CAAJ,EAAM;AAAC43N,QAAAA,CAAC,EAAC,MAAIngL;AAAP,OAAN;AAAiB,UAAI71C,CAAC,GAAChC,CAAC,CAAC,IAAD,CAAP;AAAA,UAAc5zB,CAAC,GAAC4zB,CAAC,CAACA,CAAF,CAAIgC,CAAJ,CAAhB;AAAA,UAAuBE,CAAC,GAAClC,CAAC,CAAC,IAAD,CAA1B;AAAA,UAAiCD,CAAC,GAACC,CAAC,CAACA,CAAF,CAAIkC,CAAJ,IAAS91B,CAAC,EAAV,CAAnC;AAAiD2zB,MAAAA,CAAC,CAACrE,IAAF,CAAO,CAACjG,CAAC,CAAC7yB,EAAH,EAAM,uWAAN,EAA8W,EAA9W,EAAiX;AAACvM,QAAAA,OAAO,EAAC,CAAT;AAAWszI,QAAAA,OAAO,EAAC,CAAC,wFAAD,EAA0F,6GAA1F,EAAwM,kFAAxM,CAAnB;AAA+S0pE,QAAAA,KAAK,EAAC,EAArT;AAAwT4kD,QAAAA,QAAQ,EAAC,2HAAjU;AAA6bC,QAAAA,cAAc,EAAC,CAAC,2aAAD,EAA6a,8ZAA7a,EAA40B,qeAA50B,CAA5c;AAA+vDC,QAAAA,UAAU,EAAC;AAA1wD,OAAjX,CAAP;AAAwoE,YAAMtgL,CAAC,GAAC93C,CAAR;AAAU,KAA3yzN;AAA4yzN,UAAK,CAACtK,CAAD,EAAG2K,CAAH,EAAKJ,CAAL,KAAS;AAAC;;AAAaA,MAAAA,CAAC,CAACX,CAAF,CAAIe,CAAJ,EAAM;AAAC43N,QAAAA,CAAC,EAAC,MAAIngL;AAAP,OAAN;AAAiB,UAAI71C,CAAC,GAAChC,CAAC,CAAC,IAAD,CAAP;AAAA,UAAc5zB,CAAC,GAAC4zB,CAAC,CAACA,CAAF,CAAIgC,CAAJ,CAAhB;AAAA,UAAuBE,CAAC,GAAClC,CAAC,CAAC,IAAD,CAA1B;AAAA,UAAiCD,CAAC,GAACC,CAAC,CAACA,CAAF,CAAIkC,CAAJ,IAAS91B,CAAC,EAAV,CAAnC;AAAiD2zB,MAAAA,CAAC,CAACrE,IAAF,CAAO,CAACjG,CAAC,CAAC7yB,EAAH,EAAM,qiGAAN,EAA4iG,EAA5iG,EAA+iG;AAACvM,QAAAA,OAAO,EAAC,CAAT;AAAWszI,QAAAA,OAAO,EAAC,CAAC,oFAAD,EAAsF,yGAAtF,CAAnB;AAAoN0pE,QAAAA,KAAK,EAAC,EAA1N;AAA6N4kD,QAAAA,QAAQ,EAAC,yhBAAtO;AAAgwBC,QAAAA,cAAc,EAAC,CAAC,88BAAD,EAAg9B,s+EAAh9B,CAA/wB;AAAusIC,QAAAA,UAAU,EAAC;AAAltI,OAA/iG,CAAP;AAA8wO,YAAMtgL,CAAC,GAAC93C,CAAR;AAAU,KAAlqiO;AAAmqiO,UAAK,CAACtK,CAAD,EAAG2K,CAAH,EAAKJ,CAAL,KAAS;AAAC;;AAAaA,MAAAA,CAAC,CAACX,CAAF,CAAIe,CAAJ,EAAM;AAAC43N,QAAAA,CAAC,EAAC,MAAIngL;AAAP,OAAN;AAAiB,UAAI71C,CAAC,GAAChC,CAAC,CAAC,IAAD,CAAP;AAAA,UAAc5zB,CAAC,GAAC4zB,CAAC,CAACA,CAAF,CAAIgC,CAAJ,CAAhB;AAAA,UAAuBE,CAAC,GAAClC,CAAC,CAAC,IAAD,CAA1B;AAAA,UAAiCD,CAAC,GAACC,CAAC,CAACA,CAAF,CAAIkC,CAAJ,IAAS91B,CAAC,EAAV,CAAnC;AAAiD2zB,MAAAA,CAAC,CAACrE,IAAF,CAAO,CAACjG,CAAC,CAAC7yB,EAAH,EAAM,6gBAAN,EAAohB,EAAphB,EAAuhB;AAACvM,QAAAA,OAAO,EAAC,CAAT;AAAWszI,QAAAA,OAAO,EAAC,CAAC,sFAAD,EAAwF,2GAAxF,CAAnB;AAAwN0pE,QAAAA,KAAK,EAAC,EAA9N;AAAiO4kD,QAAAA,QAAQ,EAAC,kPAA1O;AAA6dC,QAAAA,cAAc,EAAC,CAAC,icAAD,EAAmc,ypBAAnc,CAA5e;AAA0kDC,QAAAA,UAAU,EAAC;AAArlD,OAAvhB,CAAP;AAAynE,YAAMtgL,CAAC,GAAC93C,CAAR;AAAU,KAAp4mO;AAAq4mO,UAAK,CAACtK,CAAD,EAAG2K,CAAH,EAAKJ,CAAL,KAAS;AAAC;;AAAaA,MAAAA,CAAC,CAACX,CAAF,CAAIe,CAAJ,EAAM;AAAC43N,QAAAA,CAAC,EAAC,MAAIngL;AAAP,OAAN;AAAiB,UAAI71C,CAAC,GAAChC,CAAC,CAAC,IAAD,CAAP;AAAA,UAAc5zB,CAAC,GAAC4zB,CAAC,CAACA,CAAF,CAAIgC,CAAJ,CAAhB;AAAA,UAAuBE,CAAC,GAAClC,CAAC,CAAC,IAAD,CAA1B;AAAA,UAAiCD,CAAC,GAACC,CAAC,CAACA,CAAF,CAAIkC,CAAJ,IAAS91B,CAAC,EAAV,CAAnC;AAAiD2zB,MAAAA,CAAC,CAACrE,IAAF,CAAO,CAACjG,CAAC,CAAC7yB,EAAH,EAAM,iCAAN,EAAwC,EAAxC,EAA2C;AAACvM,QAAAA,OAAO,EAAC,CAAT;AAAWszI,QAAAA,OAAO,EAAC,CAAC,6GAAD,CAAnB;AAAmI0pE,QAAAA,KAAK,EAAC,EAAzI;AAA4I4kD,QAAAA,QAAQ,EAAC,iBAArJ;AAAuKC,QAAAA,cAAc,EAAC,CAAC,mYAAD,CAAtL;AAA4jBC,QAAAA,UAAU,EAAC;AAAvkB,OAA3C,CAAP;AAA+nB,YAAMtgL,CAAC,GAAC93C,CAAR;AAAU,KAA5moO;AAA6moO,UAAK,CAACtK,CAAD,EAAG2K,CAAH,EAAKJ,CAAL,KAAS;AAAC;;AAAaA,MAAAA,CAAC,CAACX,CAAF,CAAIe,CAAJ,EAAM;AAAC43N,QAAAA,CAAC,EAAC,MAAIngL;AAAP,OAAN;AAAiB,UAAI71C,CAAC,GAAChC,CAAC,CAAC,IAAD,CAAP;AAAA,UAAc5zB,CAAC,GAAC4zB,CAAC,CAACA,CAAF,CAAIgC,CAAJ,CAAhB;AAAA,UAAuBE,CAAC,GAAClC,CAAC,CAAC,IAAD,CAA1B;AAAA,UAAiCD,CAAC,GAACC,CAAC,CAACA,CAAF,CAAIkC,CAAJ,IAAS91B,CAAC,EAAV,CAAnC;AAAiD2zB,MAAAA,CAAC,CAACrE,IAAF,CAAO,CAACjG,CAAC,CAAC7yB,EAAH,EAAM,+SAAN,EAAsT,EAAtT,EAAyT;AAACvM,QAAAA,OAAO,EAAC,CAAT;AAAWszI,QAAAA,OAAO,EAAC,CAAC,2FAAD,EAA6F,gHAA7F,CAAnB;AAAkO0pE,QAAAA,KAAK,EAAC,EAAxO;AAA2O4kD,QAAAA,QAAQ,EAAC,0FAApP;AAA+UC,QAAAA,cAAc,EAAC,CAAC,0QAAD,EAA4Q,qbAA5Q,CAA9V;AAAiiCC,QAAAA,UAAU,EAAC;AAA5iC,OAAzT,CAAP;AAAk3C,YAAMtgL,CAAC,GAAC93C,CAAR;AAAU,KAAvkrO;AAAwkrO,UAAK,CAACtK,CAAD,EAAG2K,CAAH,EAAKJ,CAAL,KAAS;AAAC;;AAAaA,MAAAA,CAAC,CAACX,CAAF,CAAIe,CAAJ,EAAM;AAAC43N,QAAAA,CAAC,EAAC,MAAIngL;AAAP,OAAN;AAAiB,UAAI71C,CAAC,GAAChC,CAAC,CAAC,IAAD,CAAP;AAAA,UAAc5zB,CAAC,GAAC4zB,CAAC,CAACA,CAAF,CAAIgC,CAAJ,CAAhB;AAAA,UAAuBE,CAAC,GAAClC,CAAC,CAAC,IAAD,CAA1B;AAAA,UAAiCD,CAAC,GAACC,CAAC,CAACA,CAAF,CAAIkC,CAAJ,IAAS91B,CAAC,EAAV,CAAnC;AAAiD2zB,MAAAA,CAAC,CAACrE,IAAF,CAAO,CAACjG,CAAC,CAAC7yB,EAAH,EAAM,k4IAAN,EAAy4I,EAAz4I,EAA44I;AAACvM,QAAAA,OAAO,EAAC,CAAT;AAAWszI,QAAAA,OAAO,EAAC,CAAC,sFAAD,EAAwF,gFAAxF,EAAyK,2GAAzK,EAAqR,mFAArR,CAAnB;AAA6X0pE,QAAAA,KAAK,EAAC,EAAnY;AAAsY4kD,QAAAA,QAAQ,EAAC,k5BAA/Y;AAAkyCC,QAAAA,cAAc,EAAC,CAAC,2xCAAD,EAA6xC,sWAA7xC,EAAooD,8qLAApoD,EAAmzO,+dAAnzO,CAAjzC;AAAqkSC,QAAAA,UAAU,EAAC;AAAhlS,OAA54I,CAAP;AAAy+a,YAAMtgL,CAAC,GAAC93C,CAAR;AAAU,KAAzpmP;AAA0pmP,UAAK,CAACtK,CAAD,EAAG2K,CAAH,EAAKJ,CAAL,KAAS;AAAC;;AAAaA,MAAAA,CAAC,CAACX,CAAF,CAAIe,CAAJ,EAAM;AAAC43N,QAAAA,CAAC,EAAC,MAAIngL;AAAP,OAAN;AAAiB,UAAI71C,CAAC,GAAChC,CAAC,CAAC,IAAD,CAAP;AAAA,UAAc5zB,CAAC,GAAC4zB,CAAC,CAACA,CAAF,CAAIgC,CAAJ,CAAhB;AAAA,UAAuBE,CAAC,GAAClC,CAAC,CAAC,IAAD,CAA1B;AAAA,UAAiCD,CAAC,GAACC,CAAC,CAACA,CAAF,CAAIkC,CAAJ,IAAS91B,CAAC,EAAV,CAAnC;AAAiD2zB,MAAAA,CAAC,CAACrE,IAAF,CAAO,CAACjG,CAAC,CAAC7yB,EAAH,EAAM,+sBAAN,EAAstB,EAAttB,EAAytB;AAACvM,QAAAA,OAAO,EAAC,CAAT;AAAWszI,QAAAA,OAAO,EAAC,CAAC,sFAAD,EAAwF,2GAAxF,CAAnB;AAAwN0pE,QAAAA,KAAK,EAAC,EAA9N;AAAiO4kD,QAAAA,QAAQ,EAAC,8OAA1O;AAAydC,QAAAA,cAAc,EAAC,CAAC,uVAAD,EAAyV,89BAAzV,CAAxe;AAAiyDC,QAAAA,UAAU,EAAC;AAA5yD,OAAztB,CAAP;AAAkhF,YAAMtgL,CAAC,GAAC93C,CAAR;AAAU,KAApxrP;AAAqxrP,UAAK,CAACtK,CAAD,EAAG2K,CAAH,EAAKJ,CAAL,KAAS;AAAC;;AAAaA,MAAAA,CAAC,CAACX,CAAF,CAAIe,CAAJ,EAAM;AAAC43N,QAAAA,CAAC,EAAC,MAAIngL;AAAP,OAAN;AAAiB,UAAI71C,CAAC,GAAChC,CAAC,CAAC,IAAD,CAAP;AAAA,UAAc5zB,CAAC,GAAC4zB,CAAC,CAACA,CAAF,CAAIgC,CAAJ,CAAhB;AAAA,UAAuBE,CAAC,GAAClC,CAAC,CAAC,IAAD,CAA1B;AAAA,UAAiCD,CAAC,GAACC,CAAC,CAACA,CAAF,CAAIkC,CAAJ,IAAS91B,CAAC,EAAV,CAAnC;AAAiD2zB,MAAAA,CAAC,CAACrE,IAAF,CAAO,CAACjG,CAAC,CAAC7yB,EAAH,EAAM,8jPAAN,EAAqkP,EAArkP,EAAwkP;AAACvM,QAAAA,OAAO,EAAC,CAAT;AAAWszI,QAAAA,OAAO,EAAC,CAAC,2EAAD,EAA6E,0EAA7E,EAAwJ,2EAAxJ,EAAoO,+EAApO,EAAoT,8EAApT,EAAmY,gGAAnY,EAAoe,kGAApe,EAAukB,+FAAvkB,EAAuqB,+FAAvqB,EAAuwB,+FAAvwB,EAAu2B,iGAAv2B,EAAy8B,gGAAz8B,EAA0iC,iGAA1iC,CAAnB;AAAgqC0pE,QAAAA,KAAK,EAAC,EAAtqC;AAAyqC4kD,QAAAA,QAAQ,EAAC,mnEAAlrC;AAAsyGC,QAAAA,cAAc,EAAC,CAAC,6aAAD,EAA+a,uVAA/a,EAAuwB,sQAAvwB,EAA8gC,iWAA9gC,EAAg3C,gzDAAh3C,EAAiqG,+6MAAjqG,EAAilT,oRAAjlT,EAAs2T,8/BAAt2T,EAAq2V,8dAAr2V,EAAo0W,48EAAp0W,EAAixb,kQAAjxb,EAAohc,qoBAAphc,EAA0pd,goBAA1pd,CAArzG;AAAillBC,QAAAA,UAAU,EAAC;AAA5llB,OAAxkP,CAAP;AAAir0B,YAAMtgL,CAAC,GAAC93C,CAAR;AAAU,KAA9igR;AAA+igR,UAAK,CAACtK,CAAD,EAAG2K,CAAH,EAAKJ,CAAL,KAAS;AAAC;;AAAaA,MAAAA,CAAC,CAACX,CAAF,CAAIe,CAAJ,EAAM;AAAC43N,QAAAA,CAAC,EAAC,MAAIngL;AAAP,OAAN;AAAiB,UAAI71C,CAAC,GAAChC,CAAC,CAAC,IAAD,CAAP;AAAA,UAAc5zB,CAAC,GAAC4zB,CAAC,CAACA,CAAF,CAAIgC,CAAJ,CAAhB;AAAA,UAAuBE,CAAC,GAAClC,CAAC,CAAC,IAAD,CAA1B;AAAA,UAAiCD,CAAC,GAACC,CAAC,CAACA,CAAF,CAAIkC,CAAJ,IAAS91B,CAAC,EAAV,CAAnC;AAAiD2zB,MAAAA,CAAC,CAACrE,IAAF,CAAO,CAACjG,CAAC,CAAC7yB,EAAH,EAAM,k4MAAN,EAAy4M,EAAz4M,EAA44M;AAACvM,QAAAA,OAAO,EAAC,CAAT;AAAWszI,QAAAA,OAAO,EAAC,CAAC,sEAAD,EAAwE,2FAAxE,EAAoK,iFAApK,EAAsP,kFAAtP,CAAnB;AAA6V0pE,QAAAA,KAAK,EAAC,EAAnW;AAAsW4kD,QAAAA,QAAQ,EAAC,wmCAA/W;AAAw9CC,QAAAA,cAAc,EAAC,CAAC,6tFAAD,EAA+tF,g4MAA/tF,EAAgmS,+VAAhmS,EAAg8S,qeAAh8S,CAAv+C;AAA84WC,QAAAA,UAAU,EAAC;AAAz5W,OAA54M,CAAP;AAAkzjB,YAAMtgL,CAAC,GAAC93C,CAAR;AAAU,KAAz8jS;AAA08jS,UAAK,CAACtK,CAAD,EAAG2K,CAAH,EAAKJ,CAAL,KAAS;AAAC;;AAAaA,MAAAA,CAAC,CAACX,CAAF,CAAIe,CAAJ,EAAM;AAAC43N,QAAAA,CAAC,EAAC,MAAIngL;AAAP,OAAN;AAAiB,UAAI71C,CAAC,GAAChC,CAAC,CAAC,IAAD,CAAP;AAAA,UAAc5zB,CAAC,GAAC4zB,CAAC,CAACA,CAAF,CAAIgC,CAAJ,CAAhB;AAAA,UAAuBE,CAAC,GAAClC,CAAC,CAAC,IAAD,CAA1B;AAAA,UAAiCD,CAAC,GAACC,CAAC,CAACA,CAAF,CAAIkC,CAAJ,IAAS91B,CAAC,EAAV,CAAnC;AAAiD2zB,MAAAA,CAAC,CAACrE,IAAF,CAAO,CAACjG,CAAC,CAAC7yB,EAAH,EAAM,ygDAAN,EAAghD,EAAhhD,EAAmhD;AAACvM,QAAAA,OAAO,EAAC,CAAT;AAAWszI,QAAAA,OAAO,EAAC,CAAC,4EAAD,EAA8E,iGAA9E,CAAnB;AAAoM0pE,QAAAA,KAAK,EAAC,EAA1M;AAA6M4kD,QAAAA,QAAQ,EAAC,2ZAAtN;AAAknBC,QAAAA,cAAc,EAAC,CAAC,2jCAAD,EAA6jC,ysCAA7jC,CAAjoB;AAAy4FC,QAAAA,UAAU,EAAC;AAAp5F,OAAnhD,CAAP;AAAo7I,YAAMtgL,CAAC,GAAC93C,CAAR;AAAU,KAAt+sS;AAAu+sS,UAAK,CAACtK,CAAD,EAAG2K,CAAH,EAAKJ,CAAL,KAAS;AAAC;;AAAaA,MAAAA,CAAC,CAACX,CAAF,CAAIe,CAAJ,EAAM;AAAC43N,QAAAA,CAAC,EAAC,MAAIngL;AAAP,OAAN;AAAiB,UAAI71C,CAAC,GAAChC,CAAC,CAAC,IAAD,CAAP;AAAA,UAAc5zB,CAAC,GAAC4zB,CAAC,CAACA,CAAF,CAAIgC,CAAJ,CAAhB;AAAA,UAAuBE,CAAC,GAAClC,CAAC,CAAC,IAAD,CAA1B;AAAA,UAAiCD,CAAC,GAACC,CAAC,CAACA,CAAF,CAAIkC,CAAJ,IAAS91B,CAAC,EAAV,CAAnC;AAAiD2zB,MAAAA,CAAC,CAACrE,IAAF,CAAO,CAACjG,CAAC,CAAC7yB,EAAH,EAAM,6rPAAN,EAAosP,EAApsP,EAAusP;AAACvM,QAAAA,OAAO,EAAC,CAAT;AAAWszI,QAAAA,OAAO,EAAC,CAAC,gFAAD,EAAkF,qGAAlF,CAAnB;AAA4M0pE,QAAAA,KAAK,EAAC,EAAlN;AAAqN4kD,QAAAA,QAAQ,EAAC,q5CAA9N;AAAonDC,QAAAA,cAAc,EAAC,CAAC,g2GAAD,EAAk2G,8lRAAl2G,CAAnoD;AAAqkbC,QAAAA,UAAU,EAAC;AAAhlb,OAAvsP,CAAP;AAAoyqB,YAAMtgL,CAAC,GAAC93C,CAAR;AAAU,KAAn33T;AAAo33T,UAAKtK,CAAC,IAAE;AAAC;;AAAaA,MAAAA,CAAC,CAACnZ,OAAF,GAAU,UAASmZ,CAAT,EAAW;AAAC,YAAI2K,CAAC,GAAC,EAAN;AAAS,eAAOA,CAAC,CAACuS,QAAF,GAAW,YAAU;AAAC,iBAAO,KAAK1zC,GAAL,CAAU,UAASmhC,CAAT,EAAW;AAAC,gBAAIJ,CAAC,GAACvK,CAAC,CAAC2K,CAAD,CAAP;AAAW,mBAAOA,CAAC,CAAC,CAAD,CAAD,GAAK,UAAUiC,MAAV,CAAiBjC,CAAC,CAAC,CAAD,CAAlB,EAAsB,IAAtB,EAA4BiC,MAA5B,CAAmCrC,CAAnC,EAAqC,GAArC,CAAL,GAA+CA,CAAtD;AAAwD,WAAzF,EAA4Fx9B,IAA5F,CAAiG,EAAjG,CAAP;AAA4G,SAAlI,EAAmI49B,CAAC,CAACh0B,CAAF,GAAI,UAASqpB,CAAT,EAAWuK,CAAX,EAAagC,CAAb,EAAe;AAAC,sBAAU,OAAOvM,CAAjB,KAAqBA,CAAC,GAAC,CAAC,CAAC,IAAD,EAAMA,CAAN,EAAQ,EAAR,CAAD,CAAvB;AAAsC,cAAIrpB,CAAC,GAAC,EAAN;AAAS,cAAG41B,CAAH,EAAK,KAAI,IAAIE,CAAC,GAAC,CAAV,EAAYA,CAAC,GAAC,KAAK9/B,MAAnB,EAA0B8/B,CAAC,EAA3B,EAA8B;AAAC,gBAAInC,CAAC,GAAC,KAAKmC,CAAL,EAAQ,CAAR,CAAN;AAAiB,oBAAMnC,CAAN,KAAU3zB,CAAC,CAAC2zB,CAAD,CAAD,GAAK,CAAC,CAAhB;AAAmB;;AAAA,eAAI,IAAI83C,CAAC,GAAC,CAAV,EAAYA,CAAC,GAACpiD,CAAC,CAACrzB,MAAhB,EAAuBy1E,CAAC,EAAxB,EAA2B;AAAC,gBAAIu7F,CAAC,GAAC,GAAG/wI,MAAH,CAAU5M,CAAC,CAACoiD,CAAD,CAAX,CAAN;AAAsB71C,YAAAA,CAAC,IAAE51B,CAAC,CAACgnK,CAAC,CAAC,CAAD,CAAF,CAAJ,KAAapzI,CAAC,KAAGozI,CAAC,CAAC,CAAD,CAAD,GAAKA,CAAC,CAAC,CAAD,CAAD,GAAK,GAAG/wI,MAAH,CAAUrC,CAAV,EAAY,OAAZ,EAAqBqC,MAArB,CAA4B+wI,CAAC,CAAC,CAAD,CAA7B,CAAV,GAA4CA,CAAC,CAAC,CAAD,CAAD,GAAKpzI,CAApD,CAAD,EAAwDI,CAAC,CAAC1E,IAAF,CAAO03I,CAAP,CAArE;AAAgF;AAAC,SAAjZ,EAAkZhzI,CAAzZ;AAA2Z,OAA1b;AAA2b,KAAr04T;AAAs04T,UAAK3K,CAAC,IAAE;AAAC;;AAAa,eAAS2K,CAAT,CAAW3K,CAAX,EAAa2K,CAAb,EAAe;AAAC,eAAO,UAAS3K,CAAT,EAAW;AAAC,cAAGmF,KAAK,CAACi8E,OAAN,CAAcphF,CAAd,CAAH,EAAoB,OAAOA,CAAP;AAAS,SAAzC,CAA0CA,CAA1C,KAA8C,UAASA,CAAT,EAAW2K,CAAX,EAAa;AAAC,cAAIJ,CAAC,GAACvK,CAAC,KAAG,eAAa,OAAOkM,MAApB,IAA4BlM,CAAC,CAACkM,MAAM,CAACC,QAAR,CAA7B,IAAgDnM,CAAC,CAAC,YAAD,CAApD,CAAP;AAA2E,cAAG,QAAMuK,CAAT,EAAW;AAAO,cAAIgC,CAAJ;AAAA,cAAM51B,CAAN;AAAA,cAAQ81B,CAAC,GAAC,EAAV;AAAA,cAAanC,CAAC,GAAC,CAAC,CAAhB;AAAA,cAAkB83C,CAAC,GAAC,CAAC,CAArB;;AAAuB,cAAG;AAAC,iBAAI73C,CAAC,GAACA,CAAC,CAACpB,IAAF,CAAOnJ,CAAP,CAAN,EAAgB,EAAEsK,CAAC,GAAC,CAACiC,CAAC,GAAChC,CAAC,CAAC3/B,IAAF,EAAH,EAAa2gC,IAAjB,MAAyBkB,CAAC,CAACxG,IAAF,CAAOsG,CAAC,CAACr7B,KAAT,GAAgB,CAACy5B,CAAD,IAAI8B,CAAC,CAAC9/B,MAAF,KAAWg+B,CAAxD,CAAhB,EAA2EL,CAAC,GAAC,CAAC,CAA9E,CAAgF;AAAE,WAAtF,CAAsF,OAAMtK,CAAN,EAAQ;AAACoiD,YAAAA,CAAC,GAAC,CAAC,CAAH,EAAKzrE,CAAC,GAACqpB,CAAP;AAAS,WAAxG,SAA+G;AAAC,gBAAG;AAACsK,cAAAA,CAAC,IAAE,QAAMC,CAAC,CAACo4N,MAAX,IAAmBp4N,CAAC,CAACo4N,MAAF,EAAnB;AAA8B,aAAlC,SAAyC;AAAC,kBAAGvgL,CAAH,EAAK,MAAMzrE,CAAN;AAAQ;AAAC;;AAAA,iBAAO81B,CAAP;AAAS,SAAnT,CAAoTzM,CAApT,EAAsT2K,CAAtT,CAA9C,IAAwW,UAAS3K,CAAT,EAAW2K,CAAX,EAAa;AAAC,cAAG,CAAC3K,CAAJ,EAAM;AAAO,cAAG,YAAU,OAAOA,CAApB,EAAsB,OAAOuK,CAAC,CAACvK,CAAD,EAAG2K,CAAH,CAAR;AAAc,cAAI4B,CAAC,GAACpK,MAAM,CAAC8H,SAAP,CAAiBiT,QAAjB,CAA0B/T,IAA1B,CAA+BnJ,CAA/B,EAAkC04E,KAAlC,CAAwC,CAAxC,EAA0C,CAAC,CAA3C,CAAN;AAAoD,uBAAWnsE,CAAX,IAAcvM,CAAC,CAACvgC,WAAhB,KAA8B8sC,CAAC,GAACvM,CAAC,CAACvgC,WAAF,CAAc+Q,IAA9C;AAAoD,cAAG,UAAQ+7B,CAAR,IAAW,UAAQA,CAAtB,EAAwB,OAAOpH,KAAK,CAAC7H,IAAN,CAAW0C,CAAX,CAAP;AAAqB,cAAG,gBAAcuM,CAAd,IAAiB,2CAA2ClX,IAA3C,CAAgDkX,CAAhD,CAApB,EAAuE,OAAOhC,CAAC,CAACvK,CAAD,EAAG2K,CAAH,CAAR;AAAc,SAAzS,CAA0S3K,CAA1S,EAA4S2K,CAA5S,CAAxW,IAAwpB,YAAU;AAAC,gBAAM,IAAI0B,SAAJ,CAAc,2IAAd,CAAN;AAAiK,SAA5K,EAA/pB;AAA80B;;AAAA,eAAS9B,CAAT,CAAWvK,CAAX,EAAa2K,CAAb,EAAe;AAAC,SAAC,QAAMA,CAAN,IAASA,CAAC,GAAC3K,CAAC,CAACrzB,MAAd,MAAwBg+B,CAAC,GAAC3K,CAAC,CAACrzB,MAA5B;;AAAoC,aAAI,IAAI49B,CAAC,GAAC,CAAN,EAAQgC,CAAC,GAAC,IAAIpH,KAAJ,CAAUwF,CAAV,CAAd,EAA2BJ,CAAC,GAACI,CAA7B,EAA+BJ,CAAC,EAAhC,EAAmCgC,CAAC,CAAChC,CAAD,CAAD,GAAKvK,CAAC,CAACuK,CAAD,CAAN;;AAAU,eAAOgC,CAAP;AAAS;;AAAAvM,MAAAA,CAAC,CAACnZ,OAAF,GAAU,UAASmZ,CAAT,EAAW;AAAC,YAAIuK,CAAC,GAACI,CAAC,CAAC3K,CAAD,EAAG,CAAH,CAAP;AAAA,YAAauM,CAAC,GAAChC,CAAC,CAAC,CAAD,CAAhB;AAAA,YAAoB5zB,CAAC,GAAC4zB,CAAC,CAAC,CAAD,CAAvB;AAA2B,YAAG,CAAC5zB,CAAJ,EAAM,OAAO41B,CAAP;;AAAS,YAAG,cAAY,OAAOq2N,IAAtB,EAA2B;AAAC,cAAIn2N,CAAC,GAACm2N,IAAI,CAACC,QAAQ,CAAC37M,kBAAkB,CAACroC,IAAI,CAACI,SAAL,CAAetI,CAAf,CAAD,CAAnB,CAAT,CAAV;AAAA,cAA4D2zB,CAAC,GAAC,+DAA+DsC,MAA/D,CAAsEH,CAAtE,CAA9D;AAAA,cAAuI21C,CAAC,GAAC,OAAOx1C,MAAP,CAActC,CAAd,EAAgB,KAAhB,CAAzI;AAAA,cAAgKqzI,CAAC,GAAChnK,CAAC,CAACu9H,OAAF,CAAU1qI,GAAV,CAAe,UAASw2B,CAAT,EAAW;AAAC,mBAAM,iBAAiB4M,MAAjB,CAAwBj2B,CAAC,CAAC+rP,UAAF,IAAc,EAAtC,EAA0C91N,MAA1C,CAAiD5M,CAAjD,EAAmD,KAAnD,CAAN;AAAgE,WAA3F,CAAlK;AAAgQ,iBAAM,CAACuM,CAAD,EAAIK,MAAJ,CAAW+wI,CAAX,EAAc/wI,MAAd,CAAqB,CAACw1C,CAAD,CAArB,EAA0Br1E,IAA1B,CAA+B,IAA/B,CAAN;AAA2C;;AAAA,eAAM,CAACw/B,CAAD,EAAIx/B,IAAJ,CAAS,IAAT,CAAN;AAAqB,OAA5Z;AAA6Z,KAAjs7T;AAAks7T,UAAK,CAACizB,CAAD,EAAG2K,CAAH,EAAKJ,CAAL,KAAS;AAAC;;AAAa,UAAIgC,CAAJ;AAAA,UAAM51B,CAAC,GAAC,YAAU;AAAC,eAAO,KAAK,CAAL,KAAS41B,CAAT,KAAaA,CAAC,GAAC28H,OAAO,CAAC/pJ,MAAM,IAAEuiB,QAAR,IAAkBA,QAAQ,CAACmtD,GAA3B,IAAgC,CAAC1vE,MAAM,CAAC2jP,IAAzC,CAAtB,GAAsEv2N,CAA7E;AAA+E,OAAlG;AAAA,UAAmGE,CAAC,GAAC,YAAU;AAAC,YAAIzM,CAAC,GAAC,EAAN;AAAS,eAAO,UAAS2K,CAAT,EAAW;AAAC,cAAG,KAAK,CAAL,KAAS3K,CAAC,CAAC2K,CAAD,CAAb,EAAiB;AAAC,gBAAIJ,CAAC,GAAC7I,QAAQ,CAACqhO,aAAT,CAAuBp4N,CAAvB,CAAN;AAAgC,gBAAGxrB,MAAM,CAAC6jP,iBAAP,IAA0Bz4N,CAAC,YAAYprB,MAAM,CAAC6jP,iBAAjD,EAAmE,IAAG;AAACz4N,cAAAA,CAAC,GAACA,CAAC,CAAC04N,eAAF,CAAkBj6I,IAApB;AAAyB,aAA7B,CAA6B,OAAMhpF,CAAN,EAAQ;AAACuK,cAAAA,CAAC,GAAC,IAAF;AAAO;AAAAvK,YAAAA,CAAC,CAAC2K,CAAD,CAAD,GAAKJ,CAAL;AAAO;;AAAA,iBAAOvK,CAAC,CAAC2K,CAAD,CAAR;AAAY,SAAxM;AAAyM,OAA7N,EAArG;AAAA,UAAqUL,CAAC,GAAC,EAAvU;;AAA0U,eAAS83C,CAAT,CAAWpiD,CAAX,EAAa;AAAC,aAAI,IAAI2K,CAAC,GAAC,CAAC,CAAP,EAASJ,CAAC,GAAC,CAAf,EAAiBA,CAAC,GAACD,CAAC,CAAC39B,MAArB,EAA4B49B,CAAC,EAA7B,EAAgC,IAAGD,CAAC,CAACC,CAAD,CAAD,CAAK+mF,UAAL,KAAkBtxF,CAArB,EAAuB;AAAC2K,UAAAA,CAAC,GAACJ,CAAF;AAAI;AAAM;;AAAA,eAAOI,CAAP;AAAS;;AAAA,eAASgzI,CAAT,CAAW39I,CAAX,EAAa2K,CAAb,EAAe;AAAC,aAAI,IAAIJ,CAAC,GAAC,EAAN,EAASgC,CAAC,GAAC,EAAX,EAAc51B,CAAC,GAAC,CAApB,EAAsBA,CAAC,GAACqpB,CAAC,CAACrzB,MAA1B,EAAiCgK,CAAC,EAAlC,EAAqC;AAAC,cAAI81B,CAAC,GAACzM,CAAC,CAACrpB,CAAD,CAAP;AAAA,cAAWgnK,CAAC,GAAChzI,CAAC,CAAC4oM,IAAF,GAAO9mM,CAAC,CAAC,CAAD,CAAD,GAAK9B,CAAC,CAAC4oM,IAAd,GAAmB9mM,CAAC,CAAC,CAAD,CAAjC;AAAA,cAAqCy/K,CAAC,GAAC3hL,CAAC,CAACozI,CAAD,CAAD,IAAM,CAA7C;AAAA,cAA+C/zI,CAAC,GAAC,GAAGgD,MAAH,CAAU+wI,CAAV,EAAY,GAAZ,EAAiB/wI,MAAjB,CAAwBs/K,CAAxB,CAAjD;AAA4E3hL,UAAAA,CAAC,CAACozI,CAAD,CAAD,GAAKuuC,CAAC,GAAC,CAAP;AAAS,cAAIt1C,CAAC,GAACx0F,CAAC,CAACx4C,CAAD,CAAP;AAAA,cAAW9kB,CAAC,GAAC;AAACo+O,YAAAA,GAAG,EAACz2N,CAAC,CAAC,CAAD,CAAN;AAAU02N,YAAAA,KAAK,EAAC12N,CAAC,CAAC,CAAD,CAAjB;AAAqB22N,YAAAA,SAAS,EAAC32N,CAAC,CAAC,CAAD;AAAhC,WAAb;AAAkD,WAAC,CAAD,KAAKmqI,CAAL,IAAQtsI,CAAC,CAACssI,CAAD,CAAD,CAAKysF,UAAL,IAAkB/4N,CAAC,CAACssI,CAAD,CAAD,CAAK0sF,OAAL,CAAax+O,CAAb,CAA1B,IAA2CwlB,CAAC,CAACrE,IAAF,CAAO;AAACqrF,YAAAA,UAAU,EAAC1nF,CAAZ;AAAc05N,YAAAA,OAAO,EAACx3N,CAAC,CAAChnB,CAAD,EAAG6lB,CAAH,CAAvB;AAA6B04N,YAAAA,UAAU,EAAC;AAAxC,WAAP,CAA3C,EAA8F92N,CAAC,CAACtG,IAAF,CAAO2D,CAAP,CAA9F;AAAwG;;AAAA,eAAO2C,CAAP;AAAS;;AAAA,eAAS2/K,CAAT,CAAWlsL,CAAX,EAAa;AAAC,YAAI2K,CAAC,GAACjJ,QAAQ,CAACmF,aAAT,CAAuB,OAAvB,CAAN;AAAA,YAAsC0F,CAAC,GAACvM,CAAC,CAACikF,UAAF,IAAc,EAAtD;;AAAyD,YAAG,KAAK,CAAL,KAAS13E,CAAC,CAAC8c,KAAd,EAAoB;AAAC,cAAI1yC,CAAC,GAAC4zB,CAAC,CAACg5N,EAAR;AAAW5sP,UAAAA,CAAC,KAAG41B,CAAC,CAAC8c,KAAF,GAAQ1yC,CAAX,CAAD;AAAe;;AAAA,YAAGwrB,MAAM,CAACkD,IAAP,CAAYkH,CAAZ,EAAe1G,OAAf,CAAwB,UAAS7F,CAAT,EAAW;AAAC2K,UAAAA,CAAC,CAAC+wC,YAAF,CAAe17C,CAAf,EAAiBuM,CAAC,CAACvM,CAAD,CAAlB;AAAuB,SAA3D,GAA8D,cAAY,OAAOA,CAAC,CAACsmF,MAAtF,EAA6FtmF,CAAC,CAACsmF,MAAF,CAAS37E,CAAT,EAA7F,KAA6G;AAAC,cAAIL,CAAC,GAACmC,CAAC,CAACzM,CAAC,CAACsmF,MAAF,IAAU,MAAX,CAAP;AAA0B,cAAG,CAACh8E,CAAJ,EAAM,MAAM,IAAI6iB,KAAJ,CAAU,yGAAV,CAAN;AAA2H7iB,UAAAA,CAAC,CAACqxC,WAAF,CAAchxC,CAAd;AAAiB;AAAA,eAAOA,CAAP;AAAS;;AAAA,UAAIf,CAAJ;AAAA,UAAMgtI,CAAC,IAAEhtI,CAAC,GAAC,EAAF,EAAK,UAAS5J,CAAT,EAAW2K,CAAX,EAAa;AAAC,eAAOf,CAAC,CAAC5J,CAAD,CAAD,GAAK2K,CAAL,EAAOf,CAAC,CAACjgC,MAAF,CAASu/J,OAAT,EAAkBn8J,IAAlB,CAAuB,IAAvB,CAAd;AAA2C,OAAhE,CAAP;;AAAyE,eAAS+X,CAAT,CAAWkb,CAAX,EAAa2K,CAAb,EAAeJ,CAAf,EAAiBgC,CAAjB,EAAmB;AAAC,YAAI51B,CAAC,GAAC4zB,CAAC,GAAC,EAAD,GAAIgC,CAAC,CAAC42N,KAAF,GAAQ,UAAUv2N,MAAV,CAAiBL,CAAC,CAAC42N,KAAnB,EAAyB,IAAzB,EAA+Bv2N,MAA/B,CAAsCL,CAAC,CAAC22N,GAAxC,EAA4C,GAA5C,CAAR,GAAyD32N,CAAC,CAAC22N,GAAtE;AAA0E,YAAGljO,CAAC,CAACwjO,UAAL,EAAgBxjO,CAAC,CAACwjO,UAAF,CAAaC,OAAb,GAAqB7sF,CAAC,CAACjsI,CAAD,EAAGh0B,CAAH,CAAtB,CAAhB,KAAgD;AAAC,cAAI81B,CAAC,GAAC/K,QAAQ,CAACgiO,cAAT,CAAwB/sP,CAAxB,CAAN;AAAA,cAAiC2zB,CAAC,GAACtK,CAAC,CAAC2jO,UAArC;AAAgDr5N,UAAAA,CAAC,CAACK,CAAD,CAAD,IAAM3K,CAAC,CAAC67C,WAAF,CAAcvxC,CAAC,CAACK,CAAD,CAAf,CAAN,EAA0BL,CAAC,CAAC39B,MAAF,GAASqzB,CAAC,CAAC4jO,YAAF,CAAen3N,CAAf,EAAiBnC,CAAC,CAACK,CAAD,CAAlB,CAAT,GAAgC3K,CAAC,CAAC27C,WAAF,CAAclvC,CAAd,CAA1D;AAA2E;AAAC;;AAAA,eAASzC,CAAT,CAAWhK,CAAX,EAAa2K,CAAb,EAAeJ,CAAf,EAAiB;AAAC,YAAIgC,CAAC,GAAChC,CAAC,CAAC24N,GAAR;AAAA,YAAYvsP,CAAC,GAAC4zB,CAAC,CAAC44N,KAAhB;AAAA,YAAsB12N,CAAC,GAAClC,CAAC,CAAC64N,SAA1B;AAAoC,YAAGzsP,CAAC,GAACqpB,CAAC,CAAC07C,YAAF,CAAe,OAAf,EAAuB/kE,CAAvB,CAAD,GAA2BqpB,CAAC,CAAC6jO,eAAF,CAAkB,OAAlB,CAA5B,EAAuDp3N,CAAC,IAAE,eAAa,OAAOm2N,IAAvB,KAA8Br2N,CAAC,IAAE,uDAAuDK,MAAvD,CAA8Dg2N,IAAI,CAACC,QAAQ,CAAC37M,kBAAkB,CAACroC,IAAI,CAACI,SAAL,CAAewtB,CAAf,CAAD,CAAnB,CAAT,CAAlE,EAAoH,KAApH,CAAjC,CAAvD,EAAoNzM,CAAC,CAACwjO,UAAzN,EAAoOxjO,CAAC,CAACwjO,UAAF,CAAaC,OAAb,GAAqBl3N,CAArB,CAApO,KAA+P;AAAC,iBAAKvM,CAAC,CAAC8jO,UAAP,GAAmB9jO,CAAC,CAAC67C,WAAF,CAAc77C,CAAC,CAAC8jO,UAAhB;;AAA4B9jO,UAAAA,CAAC,CAAC27C,WAAF,CAAcj6C,QAAQ,CAACgiO,cAAT,CAAwBn3N,CAAxB,CAAd;AAA0C;AAAC;;AAAA,UAAIP,CAAC,GAAC,IAAN;AAAA,UAAWQ,CAAC,GAAC,CAAb;;AAAe,eAASV,CAAT,CAAW9L,CAAX,EAAa2K,CAAb,EAAe;AAAC,YAAIJ,CAAJ,EAAMgC,CAAN,EAAQ51B,CAAR;;AAAU,YAAGg0B,CAAC,CAACo5N,SAAL,EAAe;AAAC,cAAIt3N,CAAC,GAACD,CAAC,EAAP;AAAUjC,UAAAA,CAAC,GAACyB,CAAC,KAAGA,CAAC,GAACkgL,CAAC,CAACvhL,CAAD,CAAN,CAAH,EAAc4B,CAAC,GAACznB,CAAC,CAACiQ,IAAF,CAAO,IAAP,EAAYwV,CAAZ,EAAckC,CAAd,EAAgB,CAAC,CAAjB,CAAhB,EAAoC91B,CAAC,GAACmO,CAAC,CAACiQ,IAAF,CAAO,IAAP,EAAYwV,CAAZ,EAAckC,CAAd,EAAgB,CAAC,CAAjB,CAAtC;AAA0D,SAApF,MAAyFlC,CAAC,GAAC2hL,CAAC,CAACvhL,CAAD,CAAH,EAAO4B,CAAC,GAACvC,CAAC,CAACjV,IAAF,CAAO,IAAP,EAAYwV,CAAZ,EAAcI,CAAd,CAAT,EAA0Bh0B,CAAC,GAAC,YAAU;AAAC,WAAC,UAASqpB,CAAT,EAAW;AAAC,gBAAG,SAAOA,CAAC,CAAC47C,UAAZ,EAAuB,OAAM,CAAC,CAAP;AAAS57C,YAAAA,CAAC,CAAC47C,UAAF,CAAaC,WAAb,CAAyB77C,CAAzB;AAA4B,WAAxE,CAAyEuK,CAAzE,CAAD;AAA6E,SAApH;;AAAqH,eAAOgC,CAAC,CAACvM,CAAD,CAAD,EAAK,UAAS2K,CAAT,EAAW;AAAC,cAAGA,CAAH,EAAK;AAAC,gBAAGA,CAAC,CAACu4N,GAAF,KAAQljO,CAAC,CAACkjO,GAAV,IAAev4N,CAAC,CAACw4N,KAAF,KAAUnjO,CAAC,CAACmjO,KAA3B,IAAkCx4N,CAAC,CAACy4N,SAAF,KAAcpjO,CAAC,CAACojO,SAArD,EAA+D;AAAO72N,YAAAA,CAAC,CAACvM,CAAC,GAAC2K,CAAH,CAAD;AAAO,WAAnF,MAAwFh0B,CAAC;AAAG,SAApH;AAAqH;;AAAAqpB,MAAAA,CAAC,CAACnZ,OAAF,GAAU,UAASmZ,CAAT,EAAW2K,CAAX,EAAa;AAAC,SAACA,CAAC,GAACA,CAAC,IAAE,EAAN,EAAUo5N,SAAV,IAAqB,aAAW,OAAOp5N,CAAC,CAACo5N,SAAzC,KAAqDp5N,CAAC,CAACo5N,SAAF,GAAYptP,CAAC,EAAlE;AAAsE,YAAI4zB,CAAC,GAACozI,CAAC,CAAC39I,CAAC,GAACA,CAAC,IAAE,EAAN,EAAS2K,CAAT,CAAP;AAAmB,eAAO,UAAS3K,CAAT,EAAW;AAAC,cAAGA,CAAC,GAACA,CAAC,IAAE,EAAL,EAAQ,qBAAmBmC,MAAM,CAAC8H,SAAP,CAAiBiT,QAAjB,CAA0B/T,IAA1B,CAA+BnJ,CAA/B,CAA9B,EAAgE;AAAC,iBAAI,IAAIuM,CAAC,GAAC,CAAV,EAAYA,CAAC,GAAChC,CAAC,CAAC59B,MAAhB,EAAuB4/B,CAAC,EAAxB,EAA2B;AAAC,kBAAI51B,CAAC,GAACyrE,CAAC,CAAC73C,CAAC,CAACgC,CAAD,CAAF,CAAP;AAAcjC,cAAAA,CAAC,CAAC3zB,CAAD,CAAD,CAAK0sP,UAAL;AAAkB;;AAAA,iBAAI,IAAI52N,CAAC,GAACkxI,CAAC,CAAC39I,CAAD,EAAG2K,CAAH,CAAP,EAAauhL,CAAC,GAAC,CAAnB,EAAqBA,CAAC,GAAC3hL,CAAC,CAAC59B,MAAzB,EAAgCu/M,CAAC,EAAjC,EAAoC;AAAC,kBAAItiL,CAAC,GAACw4C,CAAC,CAAC73C,CAAC,CAAC2hL,CAAD,CAAF,CAAP;AAAc,oBAAI5hL,CAAC,CAACV,CAAD,CAAD,CAAKy5N,UAAT,KAAsB/4N,CAAC,CAACV,CAAD,CAAD,CAAK05N,OAAL,IAAeh5N,CAAC,CAAC64F,MAAF,CAASv5F,CAAT,EAAW,CAAX,CAArC;AAAoD;;AAAAW,YAAAA,CAAC,GAACkC,CAAF;AAAI;AAAC,SAA5P;AAA6P,OAA9W;AAA+W;AAAvwgU,GAAN;AAAA,MAA+wgU9B,CAAC,GAAC,EAAjxgU;;AAAoxgU,WAASJ,CAAT,CAAWgC,CAAX,EAAa;AAAC,QAAI51B,CAAC,GAACg0B,CAAC,CAAC4B,CAAD,CAAP;AAAW,QAAG,KAAK,CAAL,KAAS51B,CAAZ,EAAc,OAAOA,CAAC,CAACkQ,OAAT;AAAiB,QAAI4lB,CAAC,GAAC9B,CAAC,CAAC4B,CAAD,CAAD,GAAK;AAACp/B,MAAAA,EAAE,EAACo/B,CAAJ;AAAM1lB,MAAAA,OAAO,EAAC;AAAd,KAAX;AAA6B,WAAOmZ,CAAC,CAACuM,CAAD,CAAD,CAAKE,CAAL,EAAOA,CAAC,CAAC5lB,OAAT,EAAiB0jB,CAAjB,GAAoBkC,CAAC,CAAC5lB,OAA7B;AAAqC;;AAAA0jB,EAAAA,CAAC,CAACA,CAAF,GAAIvK,CAAC,IAAE;AAAC,QAAI2K,CAAC,GAAC3K,CAAC,IAAEA,CAAC,CAACg5J,UAAL,GAAgB,MAAIh5J,CAAC,CAACioF,OAAtB,GAA8B,MAAIjoF,CAAxC;AAA0C,WAAOuK,CAAC,CAACX,CAAF,CAAIe,CAAJ,EAAM;AAACy3C,MAAAA,CAAC,EAACz3C;AAAH,KAAN,GAAaA,CAApB;AAAsB,GAAxE,EAAyEJ,CAAC,CAACX,CAAF,GAAI,CAAC5J,CAAD,EAAG2K,CAAH,KAAO;AAAC,SAAI,IAAI4B,CAAR,IAAa5B,CAAb,EAAeJ,CAAC,CAACgC,CAAF,CAAI5B,CAAJ,EAAM4B,CAAN,KAAU,CAAChC,CAAC,CAACgC,CAAF,CAAIvM,CAAJ,EAAMuM,CAAN,CAAX,IAAqBpK,MAAM,CAAC2iD,cAAP,CAAsB9kD,CAAtB,EAAwBuM,CAAxB,EAA0B;AAAC+4C,MAAAA,UAAU,EAAC,CAAC,CAAb;AAAe7kF,MAAAA,GAAG,EAACkqC,CAAC,CAAC4B,CAAD;AAApB,KAA1B,CAArB;AAAyE,GAA7K,EAA8KhC,CAAC,CAACgC,CAAF,GAAI,CAACvM,CAAD,EAAG2K,CAAH,KAAOxI,MAAM,CAAC8H,SAAP,CAAiBC,cAAjB,CAAgCf,IAAhC,CAAqCnJ,CAArC,EAAuC2K,CAAvC,CAAzL,EAAmOJ,CAAC,CAACg5N,EAAF,GAAK,KAAK,CAA7O;AAA+O,MAAIh3N,CAAC,GAAC,EAAN;AAAS,SAAM,CAAC,MAAI;AAAC;;AAAahC,IAAAA,CAAC,CAACX,CAAF,CAAI2C,CAAJ,EAAM;AAAC07E,MAAAA,OAAO,EAAC,MAAI+7I;AAAb,KAAN;;AAAwB,UAAMhkO,CAAC,GAAC,YAAU;AAAC,UAAG;AAAC,eAAOq8C,SAAS,CAACqF,SAAV,CAAoBr6C,WAApB,EAAP;AAAyC,OAA7C,CAA6C,OAAMrH,CAAN,EAAQ;AAAC,eAAM,EAAN;AAAS;AAAC,KAA3E,EAAR;AAAA,UAAsF2K,CAAC,GAAC;AAACs5N,MAAAA,KAAK,EAACx3N,CAAC,CAACzM,CAAD,CAAR;AAAYkkO,MAAAA,SAAS,EAAC,UAASlkO,CAAT,EAAW;AAAC,eAAOA,CAAC,CAAC5nB,OAAF,CAAU,SAAV,IAAqB,CAAC,CAA7B;AAA+B,OAA3C,CAA4C4nB,CAA5C,CAAtB;AAAqEmkO,MAAAA,OAAO,EAAC,UAASnkO,CAAT,EAAW;AAAC,eAAM,CAAC,CAACA,CAAC,CAACkqD,KAAF,CAAQ,YAAR,CAAR;AAA8B,OAA1C,CAA2ClqD,CAA3C,CAA7E;AAA2HiqI,MAAAA,QAAQ,EAAC,UAASjqI,CAAT,EAAW;AAAC,eAAOA,CAAC,CAAC5nB,OAAF,CAAU,eAAV,IAA2B,CAAC,CAA5B,IAA+B,CAAC,CAAD,KAAK4nB,CAAC,CAAC5nB,OAAF,CAAU,QAAV,CAA3C;AAA+D,OAA3E,CAA4E4nB,CAA5E,CAApI;AAAmNokO,MAAAA,KAAK,EAAC,UAASpkO,CAAT,EAAW;AAAC,eAAM,CAAC,CAACA,CAAC,CAACkqD,KAAF,CAAQ,cAAR,CAAF,IAA2Bz9C,CAAC,CAACzM,CAAD,CAAD,IAAMq8C,SAAS,CAACgoL,cAAV,GAAyB,CAAhE;AAAkE,OAA9E,CAA+ErkO,CAA/E,CAAzN;AAA2SskO,MAAAA,SAAS,EAAC,UAAStkO,CAAT,EAAW;AAAC,eAAOA,CAAC,CAAC5nB,OAAF,CAAU,SAAV,IAAqB,CAAC,CAA7B;AAA+B,OAA3C,CAA4C4nB,CAA5C,CAArT;AAAoWukO,MAAAA,OAAO,EAAC,UAASvkO,CAAT,EAAW;AAAC,eAAOA,CAAC,CAAC5nB,OAAF,CAAU,SAAV,IAAqB,CAAC,CAAtB,IAAyB4nB,CAAC,CAAC5nB,OAAF,CAAU,OAAV,IAAmB,CAAnD;AAAqD,OAAjE,CAAkE4nB,CAAlE,CAA5W;AAAib99B,MAAAA,QAAQ,EAAC;AAACsiQ,QAAAA,gCAAgC,EAAC,YAAU;AAAC,cAAIxkO,CAAC,GAAC,CAAC,CAAP;;AAAS,cAAG;AAACA,YAAAA,CAAC,GAAC,MAAI,IAAIihD,MAAJ,CAAW,IAAI7rD,MAAJ,CAAW,UAAX,EAAsB,GAAtB,CAAX,CAAN;AAA6C,WAAjD,CAAiD,OAAM4K,CAAN,EAAQ,CAAE;;AAAA,iBAAOA,CAAP;AAAS,SAAxF;AAAlC;AAA1b,KAAxF;AAAA,UAAipBrpB,CAAC,GAACg0B,CAAnpB;;AAAqpB,aAAS8B,CAAT,CAAWzM,CAAX,EAAa;AAAC,aAAOA,CAAC,CAAC5nB,OAAF,CAAU,WAAV,IAAuB,CAAC,CAA/B;AAAiC;;AAAA,aAASkyB,CAAT,CAAWtK,CAAX,EAAa2K,CAAb,EAAeJ,CAAf,EAAiBgC,CAAjB,EAAmB;AAAChC,MAAAA,CAAC,GAACA,CAAC,IAAE,UAASvK,CAAT,EAAW2K,CAAX,EAAa;AAAC,eAAO3K,CAAC,KAAG2K,CAAX;AAAa,OAAhC;;AAAiC,YAAMh0B,CAAC,GAACwuB,KAAK,CAACi8E,OAAN,CAAcphF,CAAd,IAAiBA,CAAjB,GAAmBmF,KAAK,CAAC8E,SAAN,CAAgByuE,KAAhB,CAAsBvvE,IAAtB,CAA2BnJ,CAA3B,CAA3B;AAAA,YAAyDyM,CAAC,GAACtH,KAAK,CAACi8E,OAAN,CAAcz2E,CAAd,IAAiBA,CAAjB,GAAmBxF,KAAK,CAAC8E,SAAN,CAAgByuE,KAAhB,CAAsBvvE,IAAtB,CAA2BwB,CAA3B,CAA9E;AAAA,YAA4GL,CAAC,GAAC,UAAStK,CAAT,EAAW2K,CAAX,EAAaJ,CAAb,EAAe;AAAC,cAAMgC,CAAC,GAAC61C,CAAC,CAACpiD,CAAD,EAAG2K,CAAH,EAAKJ,CAAL,CAAT;AAAiB,YAAG,CAAC,CAAD,KAAKgC,CAAR,EAAU,OAAM;AAACk4N,UAAAA,UAAU,EAAC,CAAC,CAAb;AAAeC,UAAAA,YAAY,EAAC,CAAC,CAA7B;AAA+BC,UAAAA,YAAY,EAAC,CAAC;AAA7C,SAAN;AAAsD,cAAMhuP,CAAC,GAACgnK,CAAC,CAAC39I,CAAD,EAAGuM,CAAH,CAAT;AAAA,cAAeE,CAAC,GAACkxI,CAAC,CAAChzI,CAAD,EAAG4B,CAAH,CAAlB;AAAA,cAAwBjC,CAAC,GAAC83C,CAAC,CAACzrE,CAAD,EAAG81B,CAAH,EAAKlC,CAAL,CAA3B;AAAA,cAAmC2hL,CAAC,GAAClsL,CAAC,CAACrzB,MAAF,GAAS29B,CAA9C;AAAA,cAAgDV,CAAC,GAACe,CAAC,CAACh+B,MAAF,GAAS29B,CAA3D;AAA6D,eAAM;AAACm6N,UAAAA,UAAU,EAACl4N,CAAZ;AAAcm4N,UAAAA,YAAY,EAACx4C,CAA3B;AAA6By4C,UAAAA,YAAY,EAAC/6N;AAA1C,SAAN;AAAmD,OAAjN,CAAkNjzB,CAAlN,EAAoN81B,CAApN,EAAsNlC,CAAtN,CAA9G;AAAA,YAAuU2hL,CAAC,GAAC3/K,CAAC,GAAC,UAASvM,CAAT,EAAW2K,CAAX,EAAa;AAAC,cAAK;AAAC85N,UAAAA,UAAU,EAACl6N,CAAZ;AAAcm6N,UAAAA,YAAY,EAACn4N,CAA3B;AAA6Bo4N,UAAAA,YAAY,EAAChuP;AAA1C,YAA6CqpB,CAAlD;AAAoD,YAAG,CAAC,CAAD,KAAKuK,CAAR,EAAU,OAAOpF,KAAK,CAACwF,CAAD,CAAL,CAASi6N,IAAT,CAAc,OAAd,CAAP;AAA8B,YAAIn4N,CAAC,GAAC,EAAN;AAASlC,QAAAA,CAAC,GAAC,CAAF,KAAMkC,CAAC,GAACA,CAAC,CAACG,MAAF,CAASzH,KAAK,CAACoF,CAAD,CAAL,CAASq6N,IAAT,CAAc,OAAd,CAAT,CAAR;AAA0CjuP,QAAAA,CAAC,GAAC4zB,CAAF,GAAI,CAAJ,KAAQkC,CAAC,GAACA,CAAC,CAACG,MAAF,CAASzH,KAAK,CAACxuB,CAAC,GAAC4zB,CAAH,CAAL,CAAWq6N,IAAX,CAAgB,QAAhB,CAAT,CAAV;AAA+Cr4N,QAAAA,CAAC,GAAChC,CAAF,GAAI,CAAJ,KAAQkC,CAAC,GAACA,CAAC,CAACG,MAAF,CAASzH,KAAK,CAACoH,CAAC,GAAChC,CAAH,CAAL,CAAWq6N,IAAX,CAAgB,QAAhB,CAAT,CAAV;AAA+CjuP,QAAAA,CAAC,GAACg0B,CAAF,KAAM8B,CAAC,GAACA,CAAC,CAACG,MAAF,CAASzH,KAAK,CAACwF,CAAC,GAACh0B,CAAH,CAAL,CAAWiuP,IAAX,CAAgB,OAAhB,CAAT,CAAR;AAA4C,eAAOn4N,CAAP;AAAS,OAAhT,CAAiTnC,CAAjT,EAAmTmC,CAAC,CAAC9/B,MAArT,CAAD,GAA8T,UAASqzB,CAAT,EAAW2K,CAAX,EAAa;AAAC,cAAMJ,CAAC,GAAC,EAAR;AAAA,cAAW;AAACk6N,UAAAA,UAAU,EAACl4N,CAAZ;AAAcm4N,UAAAA,YAAY,EAAC/tP,CAA3B;AAA6BguP,UAAAA,YAAY,EAACl4N;AAA1C,YAA6C9B,CAAxD;AAA0D8B,QAAAA,CAAC,GAACF,CAAF,GAAI,CAAJ,IAAOhC,CAAC,CAACtE,IAAF,CAAO;AAACub,UAAAA,KAAK,EAACjV,CAAP;AAASt1B,UAAAA,IAAI,EAAC,QAAd;AAAuBoqC,UAAAA,MAAM,EAACrhB,CAAC,CAAC04E,KAAF,CAAQnsE,CAAR,EAAUE,CAAV;AAA9B,SAAP,CAAP;AAA2D91B,QAAAA,CAAC,GAAC41B,CAAF,GAAI,CAAJ,IAAOhC,CAAC,CAACtE,IAAF,CAAO;AAACub,UAAAA,KAAK,EAACjV,CAAC,IAAEE,CAAC,GAACF,CAAJ,CAAR;AAAet1B,UAAAA,IAAI,EAAC,QAApB;AAA6BysI,UAAAA,OAAO,EAAC/sI,CAAC,GAAC41B;AAAvC,SAAP,CAAP;AAAyD,eAAOhC,CAAP;AAAS,OAArM,CAAsMkC,CAAtM,EAAwMnC,CAAxM,CAAxoB;;AAAm1B,aAAO4hL,CAAP;AAAS;;AAAA,aAAS9pI,CAAT,CAAWpiD,CAAX,EAAa2K,CAAb,EAAeJ,CAAf,EAAiB;AAAC,WAAI,IAAIgC,CAAC,GAAC,CAAV,EAAYA,CAAC,GAAC2vB,IAAI,CAAC1qC,GAAL,CAASwO,CAAC,CAACrzB,MAAX,EAAkBg+B,CAAC,CAACh+B,MAApB,CAAd,EAA0C4/B,CAAC,EAA3C,EAA8C,IAAG,KAAK,CAAL,KAASvM,CAAC,CAACuM,CAAD,CAAV,IAAe,KAAK,CAAL,KAAS5B,CAAC,CAAC4B,CAAD,CAAzB,IAA8B,CAAChC,CAAC,CAACvK,CAAC,CAACuM,CAAD,CAAF,EAAM5B,CAAC,CAAC4B,CAAD,CAAP,CAAnC,EAA+C,OAAOA,CAAP;;AAAS,aAAM,CAAC,CAAP;AAAS;;AAAA,aAASoxI,CAAT,CAAW39I,CAAX,EAAa2K,CAAb,EAAe;AAAC,aAAO3K,CAAC,CAAC04E,KAAF,CAAQ/tE,CAAR,EAAW4kG,OAAX,EAAP;AAA4B;;AAAA,aAAS28E,CAAT,CAAWlsL,CAAX,EAAa2K,CAAb,EAAeJ,CAAf,EAAiB;AAACA,MAAAA,CAAC,GAACA,CAAC,IAAE,UAASvK,CAAT,EAAW2K,CAAX,EAAa;AAAC,eAAO3K,CAAC,KAAG2K,CAAX;AAAa,OAAhC;;AAAiC,YAAM4B,CAAC,GAACvM,CAAC,CAACrzB,MAAV;AAAA,YAAiBgK,CAAC,GAACg0B,CAAC,CAACh+B,MAArB;AAA4B,UAAG4/B,CAAC,GAAC,GAAF,IAAO51B,CAAC,GAAC,GAAT,IAAc41B,CAAC,GAAC51B,CAAF,GAAI,GAArB,EAAyB,OAAOu1M,CAAC,CAAC24C,QAAF,CAAW7kO,CAAX,EAAa2K,CAAb,EAAeJ,CAAf,EAAiB,CAAC,CAAlB,CAAP;AAA4B,UAAIkC,CAAJ,EAAMnC,CAAN;;AAAQ,UAAG3zB,CAAC,GAAC41B,CAAL,EAAO;AAAC,cAAMhC,CAAC,GAACvK,CAAR;AAAUA,QAAAA,CAAC,GAAC2K,CAAF,EAAIA,CAAC,GAACJ,CAAN,EAAQkC,CAAC,GAAC,QAAV,EAAmBnC,CAAC,GAAC,QAArB;AAA8B,OAAhD,MAAqDmC,CAAC,GAAC,QAAF,EAAWnC,CAAC,GAAC,QAAb;;AAAsB,YAAM83C,CAAC,GAACpiD,CAAC,CAACrzB,MAAV;AAAA,YAAiBgxK,CAAC,GAAChzI,CAAC,CAACh+B,MAArB;AAAA,YAA4Bi9B,CAAC,GAAC+zI,CAAC,GAACv7F,CAAhC;AAAA,YAAkCw0F,CAAC,GAAC,EAApC;AAAA,YAAuC9xJ,CAAC,GAAC,EAAzC;;AAA4C,eAASklB,CAAT,CAAWuC,CAAX,EAAa;AAAC,cAAM51B,CAAC,GAAC,CAAC,KAAK,CAAL,KAASmO,CAAC,CAACynB,CAAC,GAAC,CAAH,CAAV,GAAgBznB,CAAC,CAACynB,CAAC,GAAC,CAAH,CAAjB,GAAuB,CAAC,CAAzB,IAA4B,CAApC;AAAA,cAAsC2/K,CAAC,GAAC,KAAK,CAAL,KAASpnM,CAAC,CAACynB,CAAC,GAAC,CAAH,CAAV,GAAgBznB,CAAC,CAACynB,CAAC,GAAC,CAAH,CAAjB,GAAuB,CAAC,CAAhE;AAAA,cAAkE3C,CAAC,GAACjzB,CAAC,GAACu1M,CAAF,GAAI,CAAC,CAAL,GAAO,CAA3E;AAA6Et1C,QAAAA,CAAC,CAACrqI,CAAC,GAAC3C,CAAH,CAAD,KAASgtI,CAAC,CAACrqI,CAAD,CAAD,GAAKqqI,CAAC,CAACrqI,CAAC,GAAC3C,CAAH,CAAD,CAAO8uE,KAAP,CAAa,CAAb,CAAd,GAA+Bk+D,CAAC,CAACrqI,CAAD,CAAD,KAAOqqI,CAAC,CAACrqI,CAAD,CAAD,GAAK,EAAZ,CAA/B,EAA+CqqI,CAAC,CAACrqI,CAAD,CAAD,CAAKtG,IAAL,CAAUtvB,CAAC,GAACu1M,CAAF,GAAIz/K,CAAJ,GAAMnC,CAAhB,CAA/C;AAAkE,YAAIN,CAAC,GAACkyB,IAAI,CAAC1qC,GAAL,CAAS7a,CAAT,EAAWu1M,CAAX,CAAN;AAAA,YAAoBlgL,CAAC,GAAChC,CAAC,GAACuC,CAAxB;;AAA0B,eAAKP,CAAC,GAACo2C,CAAF,IAAKp4C,CAAC,GAAC2zI,CAAP,IAAUpzI,CAAC,CAACvK,CAAC,CAACgM,CAAD,CAAF,EAAMrB,CAAC,CAACX,CAAD,CAAP,CAAhB,GAA6BgC,CAAC,IAAGhC,CAAC,EAAJ,EAAO4sI,CAAC,CAACrqI,CAAD,CAAD,CAAKtG,IAAL,CAAU,OAAV,CAAR;;AAA2B,eAAO+D,CAAP;AAAS;;AAAA,UAAIgC,CAAJ;AAAA,UAAMQ,CAAC,GAAC,CAAR;;AAAU,SAAE;AAAC,aAAIR,CAAC,GAAC,CAACQ,CAAP,EAASR,CAAC,GAACpC,CAAX,EAAaoC,CAAC,EAAd,EAAiBlnB,CAAC,CAACknB,CAAD,CAAD,GAAKhC,CAAC,CAACgC,CAAD,CAAN;;AAAU,aAAIA,CAAC,GAACpC,CAAC,GAAC4C,CAAR,EAAUR,CAAC,GAACpC,CAAZ,EAAcoC,CAAC,EAAf,EAAkBlnB,CAAC,CAACknB,CAAD,CAAD,GAAKhC,CAAC,CAACgC,CAAD,CAAN;;AAAUlnB,QAAAA,CAAC,CAAC8kB,CAAD,CAAD,GAAKI,CAAC,CAACJ,CAAD,CAAN,EAAU4C,CAAC,EAAX;AAAc,OAAxE,QAA8E1nB,CAAC,CAAC8kB,CAAD,CAAD,KAAO+zI,CAArF;;AAAwF,aAAO/G,CAAC,CAAChtI,CAAD,CAAD,CAAK8uE,KAAL,CAAW,CAAX,CAAP;AAAqB;;AAAAwzG,IAAAA,CAAC,CAAC24C,QAAF,GAAWv6N,CAAX;;AAAa,UAAMV,CAAC,GAAC,YAAU;AAAC,aAAO,SAAS5J,CAAT,GAAY;AAACA,QAAAA,CAAC,CAAC8kO,MAAF,GAAS,CAAC,CAAV;AAAY,OAAhC;AAAiC,KAApD;;AAAqD,UAAMluF,CAAN,CAAO;AAACn3K,MAAAA,WAAW,CAACugC,CAAD,EAAG2K,CAAH,EAAK;AAAC,aAAK4R,MAAL,GAAYvc,CAAZ,EAAc,KAAKxvB,IAAL,GAAUm6B,CAAxB,EAA0B,KAAK3jC,IAAL,GAAU,EAApC,EAAuC,KAAKo+G,IAAL,GAAUx7E,CAAC,EAAlD,EAAqD,KAAKhkB,GAAL,GAASgkB,CAAC,EAA/D;AAAkE;;AAApF;;AAAqF,UAAM9kB,CAAC,GAAC,IAAIqgB,KAAJ,CAAU,GAAV,EAAey/N,IAAf,CAAoB,EAApB,EAAwBp7P,GAAxB,CAA6B,CAACw2B,CAAD,EAAG2K,CAAH,KAAO,CAAC,MAAIA,CAAC,CAACuS,QAAF,CAAW,EAAX,CAAL,EAAqBw7D,KAArB,CAA2B,CAAC,CAA5B,CAApC,CAAR;;AAA6E,aAAS1uE,CAAT,GAAY;AAAC,YAAMhK,CAAC,GAAC,aAAWk8B,IAAI,CAACC,MAAL,EAAX,KAA2B,CAAnC;AAAA,YAAqCxxB,CAAC,GAAC,aAAWuxB,IAAI,CAACC,MAAL,EAAX,KAA2B,CAAlE;AAAA,YAAoE5xB,CAAC,GAAC,aAAW2xB,IAAI,CAACC,MAAL,EAAX,KAA2B,CAAjG;AAAA,YAAmG5vB,CAAC,GAAC,aAAW2vB,IAAI,CAACC,MAAL,EAAX,KAA2B,CAAhI;AAAkI,aAAM,MAAIr3C,CAAC,CAACkb,CAAC,IAAE,CAAH,GAAK,GAAN,CAAL,GAAgBlb,CAAC,CAACkb,CAAC,IAAE,CAAH,GAAK,GAAN,CAAjB,GAA4Blb,CAAC,CAACkb,CAAC,IAAE,EAAH,GAAM,GAAP,CAA7B,GAAyClb,CAAC,CAACkb,CAAC,IAAE,EAAH,GAAM,GAAP,CAA1C,GAAsDlb,CAAC,CAAC6lB,CAAC,IAAE,CAAH,GAAK,GAAN,CAAvD,GAAkE7lB,CAAC,CAAC6lB,CAAC,IAAE,CAAH,GAAK,GAAN,CAAnE,GAA8E7lB,CAAC,CAAC6lB,CAAC,IAAE,EAAH,GAAM,GAAP,CAA/E,GAA2F7lB,CAAC,CAAC6lB,CAAC,IAAE,EAAH,GAAM,GAAP,CAA5F,GAAwG7lB,CAAC,CAACylB,CAAC,IAAE,CAAH,GAAK,GAAN,CAAzG,GAAoHzlB,CAAC,CAACylB,CAAC,IAAE,CAAH,GAAK,GAAN,CAArH,GAAgIzlB,CAAC,CAACylB,CAAC,IAAE,EAAH,GAAM,GAAP,CAAjI,GAA6IzlB,CAAC,CAACylB,CAAC,IAAE,EAAH,GAAM,GAAP,CAA9I,GAA0JzlB,CAAC,CAACynB,CAAC,IAAE,CAAH,GAAK,GAAN,CAA3J,GAAsKznB,CAAC,CAACynB,CAAC,IAAE,CAAH,GAAK,GAAN,CAAvK,GAAkLznB,CAAC,CAACynB,CAAC,IAAE,EAAH,GAAM,GAAP,CAAnL,GAA+LznB,CAAC,CAACynB,CAAC,IAAE,EAAH,GAAM,GAAP,CAAtM;AAAkN;;AAAA,UAAMP,CAAC,GAAC;AAACvrC,MAAAA,GAAG,CAACu/B,CAAC,GAAC,QAAH,EAAY;AAAC,eAAM,YAAU,OAAOA,CAAjB,GAAmB,KAAKA,CAAL,KAAS,KAAK+kO,MAAjC,GAAwC/kO,CAA9C;AAAgD,OAAjE;;AAAkEglO,MAAAA,OAAO,EAAC,GAA1E;AAA8E7jD,MAAAA,IAAI,EAAC,GAAnF;AAAuF4jD,MAAAA,MAAM,EAAC,CAA9F;AAAgG7jD,MAAAA,GAAG,EAAC,CAAC,GAArG;AAAyG+jD,MAAAA,MAAM,EAAC,CAAC;AAAjH,KAAR;;AAA8H,aAASz4N,CAAT,CAAWxM,CAAX,EAAa2K,CAAb,EAAe;AAAC,YAAMJ,CAAC,GAACyB,CAAC,CAACvrC,GAAF,CAAMkqC,CAAC,CAACg7E,QAAR,CAAR;;AAA0B,WAAI,IAAIp5E,CAAC,GAAC,CAAV,EAAYA,CAAC,GAACvM,CAAC,CAACrzB,MAAhB,EAAuB4/B,CAAC,EAAxB,EAA2B,IAAGP,CAAC,CAACvrC,GAAF,CAAMu/B,CAAC,CAACuM,CAAD,CAAD,CAAKo5E,QAAX,IAAqBp7E,CAAxB,EAA0B,OAAO,KAAKvK,CAAC,CAACmjG,MAAF,CAAS52F,CAAT,EAAW,CAAX,EAAa5B,CAAb,CAAZ;;AAA4B3K,MAAAA,CAAC,CAACiG,IAAF,CAAO0E,CAAP;AAAU;;AAAA,UAAMmB,CAAC,GAAC,qEAAR;;AAA8E,UAAMq2C,CAAN,SAAgBh1B,KAAhB,CAAqB;AAAC1tD,MAAAA,WAAW,CAACugC,CAAD,EAAG2K,CAAH,EAAKJ,CAAL,EAAO;AAAC,cAAM,UAASvK,CAAT,EAAW2K,CAAX,EAAa;AAAC,gBAAMJ,CAAC,GAAC,IAAI26N,OAAJ,EAAR;AAAA,gBAAoB34N,CAAC,GAAC,CAACvM,CAAD,EAAG2K,CAAH,KAAO;AAAC,gBAAG,YAAU,OAAOA,CAAjB,IAAoB,SAAOA,CAA9B,EAAgC;AAAC,kBAAGJ,CAAC,CAACukB,GAAF,CAAMnkB,CAAN,CAAH,EAAY,OAAO,WAAUA,CAAC,CAAClrC,WAAF,CAAc+Q,IAAK,GAApC;AAAuC+5B,cAAAA,CAAC,CAAC3V,GAAF,CAAM+V,CAAN;AAAS;;AAAA,mBAAOA,CAAP;AAAS,WAApI;AAAA,gBAAqIh0B,CAAC,GAACg0B,CAAC,GAAE,IAAG9rB,IAAI,CAACI,SAAL,CAAe0rB,CAAf,EAAiB4B,CAAjB,CAAoB,EAAzB,GAA2B,EAAnK;AAAA,gBAAsKE,CAAC,GAAC2hI,CAAC,CAACpuI,CAAD,CAAzK;;AAA6K,iBAAOA,CAAC,GAACrpB,CAAF,GAAI81B,CAAX;AAAa,SAAxM,CAAyMzM,CAAzM,EAA2MuK,CAA3M,CAAN,GAAqN,KAAK/5B,IAAL,GAAU,eAA/N,EAA+O,KAAKF,OAAL,GAAaq6B,CAA5P,EAA8P,KAAKhjC,IAAL,GAAU4iC,CAAxQ;AAA0Q;;AAAAsgF,MAAAA,EAAE,CAAC7qF,CAAD,EAAG;AAAC,eAAM,oBAAkBA,CAAxB;AAA0B;;AAA6B,aAAtBmlO,sBAAsB,CAACnlO,CAAD,EAAG2K,CAAH,EAAK;AAAC,YAAG3K,CAAC,CAAC6qF,EAAF,IAAM7qF,CAAC,CAAC6qF,EAAF,CAAK,eAAL,CAAT,EAA+B,MAAM7qF,CAAN;AAAQ,cAAMuK,CAAC,GAAC,IAAI43C,CAAJ,CAAMniD,CAAC,CAACn+B,OAAR,EAAgB8oC,CAAhB,CAAR;AAA2B,cAAMJ,CAAC,CAAC+/E,KAAF,GAAQtqF,CAAC,CAACsqF,KAAV,EAAgB//E,CAAtB;AAAwB;;AAA3b;;AAA4b,aAASV,CAAT,CAAW7J,CAAX,EAAa2K,CAAb,EAAe;AAAC7oC,MAAAA,OAAO,CAAC8wM,IAAR,CAAa,GAAGnnK,CAAC,CAACzL,CAAD,EAAG2K,CAAH,CAAjB;AAAwB;;AAAA,aAASyjI,CAAT,CAAWpuI,CAAX,EAAa;AAAC,aAAO,gBAAe8L,CAAE,UAAS9L,CAAE,EAAnC;AAAqC;;AAAA,aAASyL,CAAT,CAAWzL,CAAX,EAAa2K,CAAb,EAAe;AAAC,YAAMJ,CAAC,GAAC6jI,CAAC,CAACpuI,CAAD,CAAT;AAAa,aAAO2K,CAAC,GAAC,CAAC3K,CAAD,EAAG2K,CAAH,EAAKJ,CAAL,CAAD,GAAS,CAACvK,CAAD,EAAGuK,CAAH,CAAjB;AAAuB;;AAAA,UAAM66N,CAAC,GAAC,QAAR;AAAA,UAAiBC,CAAC,GAAC,IAAIt9M,IAAJ,CAAS,IAAT,EAAc,EAAd,EAAiB,EAAjB,CAAnB;AAAwC,QAAGivI,UAAU,CAACsuE,gBAAd,EAA+B,MAAM,IAAInjL,CAAJ,CAAM,6BAAN,EAAoC,IAApC,CAAN;AAAgD60G,IAAAA,UAAU,CAACsuE,gBAAX,GAA4BF,CAA5B;AAA8B,UAAMjvP,CAAC,GAAC+1B,MAAM,CAAC,aAAD,CAAd;AAAA,UAA8BH,CAAC,GAACG,MAAM,CAAC,WAAD,CAAtC;AAAA,UAAoDzvB,CAAC,GAACyvB,MAAM,CAAC,aAAD,CAA5D;AAAA,UAA4E2hM,CAAC,GAAC03B,CAAC,CAACpjO,MAAD,CAA/E;;AAAwF,aAASojO,CAAT,CAAWvlO,CAAX,EAAa;AAAC,UAAG,CAACA,CAAJ,EAAM,OAAO6tM,CAAP;AAAS,aAAO,cAAc7tM,CAAd,CAAe;AAACve,QAAAA,EAAE,CAACue,CAAD,EAAG2K,CAAH,EAAKJ,CAAL,EAAO;AAAC,eAAKi7N,QAAL,CAAc,IAAd,EAAmBxlO,CAAnB,EAAqB2K,CAArB,EAAuBJ,CAAvB;AAA0B;;AAAAk7N,QAAAA,IAAI,CAACzlO,CAAD,EAAG2K,CAAH,EAAKJ,CAAL,EAAO;AAAC,cAAIgC,CAAC,GAAC,CAAC,CAAP;AAAS,eAAKi5N,QAAL,CAAc,IAAd,EAAmBxlO,CAAnB,EAAsB,CAACA,CAAD,EAAG,GAAGuK,CAAN,KAAU;AAACgC,YAAAA,CAAC,KAAGA,CAAC,GAAC,CAAC,CAAH,EAAKvM,CAAC,CAACpa,GAAF,EAAL,EAAa+kB,CAAC,CAACxB,IAAF,CAAO,IAAP,EAAYnJ,CAAZ,EAAc,GAAGuK,CAAjB,CAAhB,CAAD;AAAsC,WAAvE,EAAyEA,CAAzE;AAA4E;;AAAA3kB,QAAAA,GAAG,CAACoa,CAAD,EAAG2K,CAAH,EAAK;AAAC,eAAK+6N,aAAL,CAAmB,IAAnB,EAAwB1lO,CAAxB,EAA0B2K,CAA1B;AAA6B;;AAAA66N,QAAAA,QAAQ,CAACxlO,CAAD,EAAG2K,CAAH,EAAKJ,CAAL,EAAOgC,CAAC,GAAC,EAAT,EAAY;AAAC,cAAI51B,CAAJ,EAAM81B,CAAN;AAAQ,eAAKt2B,CAAL,MAAU,KAAKA,CAAL,IAAQ,EAAlB;AAAsB,gBAAMm0B,CAAC,GAAC,KAAKn0B,CAAL,CAAR;AAAgBwvP,UAAAA,CAAC,CAAC3lO,CAAD,CAAD,IAAM4lO,CAAC,CAAC5lO,CAAD,CAAP;AAAW,gBAAMoiD,CAAC,GAACujL,CAAC,CAAC3lO,CAAD,CAAT;AAAa,WAACrpB,CAAC,GAAC2zB,CAAC,CAAC83C,CAAD,CAAJ,MAAWzrE,CAAC,GAAC2zB,CAAC,CAAC83C,CAAD,CAAD,GAAK;AAACyjL,YAAAA,OAAO,EAAC7lO,CAAT;AAAW80E,YAAAA,SAAS,EAAC;AAArB,WAAlB,GAA4C,CAACroE,CAAC,GAAC91B,CAAC,CAACm+F,SAAF,CAAYnqE,CAAZ,CAAH,MAAqB8B,CAAC,GAAC91B,CAAC,CAACm+F,SAAF,CAAYnqE,CAAZ,IAAe,EAAtC,CAA5C,EAAsF8B,CAAC,CAACxG,IAAF,CAAOsE,CAAP,CAAtF,EAAgG,UAASvK,CAAT,EAAW2K,CAAX,EAAaJ,CAAb,EAAegC,CAAf,EAAiB51B,CAAjB,EAAmB;AAACg0B,YAAAA,CAAC,CAACm7N,iBAAF,GAAoBn7N,CAAC,CAACm7N,iBAAF,CAAoBv7N,CAApB,EAAsBgC,CAAtB,EAAwB51B,CAAxB,CAApB,GAA+CqpB,CAAC,CAAC8lO,iBAAF,CAAoB38N,IAApB,CAAyBwB,CAAzB,EAA2BJ,CAA3B,EAA6BgC,CAA7B,EAA+B51B,CAA/B,CAA/C;AAAiF,WAArG,CAAsG,IAAtG,EAA2GqpB,CAA3G,EAA6G2K,CAA7G,EAA+GJ,CAA/G,EAAiHgC,CAAjH,CAAhG;AAAoN;;AAAAm5N,QAAAA,aAAa,CAAC1lO,CAAD,EAAG2K,CAAH,EAAKJ,CAAL,EAAO;AAAC,gBAAMgC,CAAC,GAAC,KAAKp2B,CAAL,CAAR;AAAgB,cAAIQ,CAAC,GAACqpB,CAAC,IAAE2lO,CAAC,CAAC3lO,CAAD,CAAV;AAAc,gBAAMyM,CAAC,GAACF,CAAC,IAAE51B,CAAH,GAAK41B,CAAC,CAAC51B,CAAD,CAAN,GAAU,KAAK,CAAvB;AAAA,gBAAyB2zB,CAAC,GAACmC,CAAC,IAAE9B,CAAH,GAAK8B,CAAC,CAACqoE,SAAF,CAAYnqE,CAAZ,CAAL,GAAoB,KAAK,CAApD;AAAsD,cAAG,EAAE,CAAC4B,CAAD,IAAIvM,CAAC,IAAE,CAACyM,CAAR,IAAW9B,CAAC,IAAE,CAACL,CAAjB,CAAH,EAAuB,IAAGC,CAAH,EAAK;AAACw7N,YAAAA,CAAC,CAAC,IAAD,EAAM/lO,CAAN,EAAQ2K,CAAR,EAAUJ,CAAV,CAAD;AAAc,aAAC,CAAD,KAAKD,CAAC,CAAClyB,OAAF,CAAUmyB,CAAV,CAAL,KAAoB,MAAID,CAAC,CAAC39B,MAAN,GAAa,OAAO8/B,CAAC,CAACqoE,SAAF,CAAYnqE,CAAZ,CAApB,GAAmCo7N,CAAC,CAAC,IAAD,EAAM/lO,CAAN,EAAQ2K,CAAR,EAAUJ,CAAV,CAAxD;AAAsE,WAA1F,MAA+F,IAAGD,CAAH,EAAK;AAAC,mBAAKC,CAAC,GAACD,CAAC,CAAC/L,GAAF,EAAP,GAAgBwnO,CAAC,CAAC,IAAD,EAAM/lO,CAAN,EAAQ2K,CAAR,EAAUJ,CAAV,CAAD;;AAAc,mBAAOkC,CAAC,CAACqoE,SAAF,CAAYnqE,CAAZ,CAAP;AAAsB,WAA1D,MAA+D,IAAG8B,CAAH,EAAK;AAAC,iBAAI9B,CAAJ,IAAS8B,CAAC,CAACqoE,SAAX,EAAqB,KAAK4wJ,aAAL,CAAmB1lO,CAAnB,EAAqB2K,CAArB;;AAAwB,mBAAO4B,CAAC,CAAC51B,CAAD,CAAR;AAAY,WAA/D,MAAmE;AAAC,iBAAIA,CAAJ,IAAS41B,CAAT,EAAW,KAAKm5N,aAAL,CAAmBn5N,CAAC,CAAC51B,CAAD,CAAD,CAAKkvP,OAAxB;;AAAiC,mBAAO,KAAK1vP,CAAL,CAAP;AAAe;AAAC;;AAAAuvG,QAAAA,IAAI,CAAC1lF,CAAD,EAAG,GAAG2K,CAAN,EAAQ;AAAC,cAAG;AAAC,kBAAMJ,CAAC,GAACvK,CAAC,YAAY42I,CAAb,GAAe52I,CAAf,GAAiB,IAAI42I,CAAJ,CAAM,IAAN,EAAW52I,CAAX,CAAzB;AAAA,kBAAuCuM,CAAC,GAAChC,CAAC,CAAC/5B,IAA3C;AAAgD,gBAAImG,CAAC,GAACqvP,CAAC,CAAC,IAAD,EAAMz5N,CAAN,CAAP;;AAAgB,gBAAGhC,CAAC,CAACvjC,IAAF,CAAOi/B,IAAP,CAAY,IAAZ,GAAkBtvB,CAArB,EAAuB;AAAC,oBAAMqpB,CAAC,GAAC,CAACuK,CAAD,EAAG,GAAGI,CAAN,CAAR;AAAiBh0B,cAAAA,CAAC,GAACwuB,KAAK,CAAC7H,IAAN,CAAW3mB,CAAX,CAAF;;AAAgB,mBAAI,IAAIg0B,CAAC,GAAC,CAAV,EAAYA,CAAC,GAACh0B,CAAC,CAAChK,MAAJ,KAAagK,CAAC,CAACg0B,CAAD,CAAD,CAAKiN,QAAL,CAAcnN,KAAd,CAAoB,IAApB,EAAyBzK,CAAzB,GAA4BuK,CAAC,CAAC3kB,GAAF,CAAMk/O,MAAN,KAAe,OAAOv6N,CAAC,CAAC3kB,GAAF,CAAMk/O,MAAb,EAAoB,KAAKmB,oBAAL,CAA0B15N,CAA1B,EAA4B51B,CAAC,CAACg0B,CAAD,CAAD,CAAKiN,QAAjC,CAAnC,CAA5B,EAA2G,CAACrN,CAAC,CAAC66E,IAAF,CAAO0/I,MAAhI,CAAZ,EAAoJn6N,CAAC,EAArJ,CAAwJ;AAAE;;AAAA,kBAAM8B,CAAC,GAAC,KAAKhwB,CAAL,CAAR;;AAAgB,gBAAGgwB,CAAH,EAAK;AAAC,oBAAMzM,CAAC,GAACyM,CAAC,CAAChsC,GAAF,CAAM8rC,CAAN,CAAR;AAAA,oBAAiB51B,CAAC,GAAC81B,CAAC,CAAChsC,GAAF,CAAM,GAAN,CAAnB;AAA8Bu/B,cAAAA,CAAC,IAAEkmO,CAAC,CAAClmO,CAAD,EAAGuK,CAAH,EAAKI,CAAL,CAAJ,EAAYh0B,CAAC,IAAEuvP,CAAC,CAACvvP,CAAD,EAAG4zB,CAAH,EAAKI,CAAL,CAAhB;AAAwB;;AAAA,mBAAOJ,CAAC,CAACo4N,MAAT;AAAgB,WAAnX,CAAmX,OAAM3iO,CAAN,EAAQ;AAACmiD,YAAAA,CAAC,CAACgjL,sBAAF,CAAyBnlO,CAAzB,EAA2B,IAA3B;AAAiC;AAAC;;AAAAmmO,QAAAA,QAAQ,CAAC,GAAGnmO,CAAJ,EAAM;AAAC,iBAAM;AAACysJ,YAAAA,EAAE,EAAC,CAAC9hJ,CAAD,EAAGJ,CAAH,KAAO;AAAC,mBAAK9tB,CAAL,MAAU,KAAKA,CAAL,IAAQ,IAAIwyB,GAAJ,EAAlB,GAA2BjP,CAAC,CAAC6F,OAAF,CAAW7F,CAAC,IAAE;AAAC,sBAAMuM,CAAC,GAAC,KAAK9vB,CAAL,EAAQhc,GAAR,CAAYu/B,CAAZ,CAAR;AAAuBuM,gBAAAA,CAAC,GAACA,CAAC,CAACzH,GAAF,CAAM6F,CAAN,EAAQJ,CAAR,CAAD,GAAY,KAAK9tB,CAAL,EAAQqoB,GAAR,CAAY9E,CAAZ,EAAc,IAAIiP,GAAJ,CAAQ,CAAC,CAACtE,CAAD,EAAGJ,CAAH,CAAD,CAAR,CAAd,CAAb;AAA6C,eAAnF,CAA3B;AAAiH;AAA7H,WAAN;AAAqI;;AAAA67N,QAAAA,cAAc,CAACpmO,CAAD,EAAG2K,CAAH,EAAK;AAAC,cAAG,KAAKluB,CAAL,CAAH,EAAW,IAAGujB,CAAH;AAAK,gBAAG2K,CAAH,EAAK;AAAC,oBAAMJ,CAAC,GAAC,KAAK9tB,CAAL,EAAQhc,GAAR,CAAYu/B,CAAZ,CAAR;AAAuBuK,cAAAA,CAAC,IAAEA,CAAC,CAACqK,MAAF,CAASjK,CAAT,CAAH;AAAe,aAA5C,MAAiD,KAAKluB,CAAL,EAAQm4B,MAAR,CAAe5U,CAAf;AAAtD,iBAA6E,KAAKvjB,CAAL,EAAQiiC,KAAR;AAAgB;;AAAAonN,QAAAA,iBAAiB,CAAC9lO,CAAD,EAAG2K,CAAH,EAAKJ,CAAL,EAAO;AAAC,WAAC,UAASvK,CAAT,EAAW2K,CAAX,EAAa;AAAC,kBAAMJ,CAAC,GAAC87N,CAAC,CAACrmO,CAAD,CAAT;AAAa,gBAAGuK,CAAC,CAACI,CAAD,CAAJ,EAAQ;AAAO,gBAAI4B,CAAC,GAAC5B,CAAN;AAAA,gBAAQh0B,CAAC,GAAC,IAAV;AAAe,kBAAM81B,CAAC,GAAC,EAAR;;AAAW,mBAAK,OAAKF,CAAL,IAAQ,CAAChC,CAAC,CAACgC,CAAD,CAAf,GAAoBhC,CAAC,CAACgC,CAAD,CAAD,GAAK;AAACuoE,cAAAA,SAAS,EAAC,EAAX;AAAcwxJ,cAAAA,WAAW,EAAC;AAA1B,aAAL,EAAmC75N,CAAC,CAACxG,IAAF,CAAOsE,CAAC,CAACgC,CAAD,CAAR,CAAnC,EAAgD51B,CAAC,IAAE4zB,CAAC,CAACgC,CAAD,CAAD,CAAK+5N,WAAL,CAAiBrgO,IAAjB,CAAsBtvB,CAAtB,CAAnD,EAA4EA,CAAC,GAAC41B,CAA9E,EAAgFA,CAAC,GAACA,CAAC,CAAC0yG,MAAF,CAAS,CAAT,EAAW1yG,CAAC,CAACzI,WAAF,CAAc,GAAd,CAAX,CAAlF;;AAAiH,gBAAG,OAAKyI,CAAR,EAAU;AAAC,mBAAI,MAAMvM,CAAV,IAAeyM,CAAf,EAAiBzM,CAAC,CAAC80E,SAAF,GAAYvqE,CAAC,CAACgC,CAAD,CAAD,CAAKuoE,SAAL,CAAe4D,KAAf,EAAZ;;AAAmCnuE,cAAAA,CAAC,CAACgC,CAAD,CAAD,CAAK+5N,WAAL,CAAiBrgO,IAAjB,CAAsBtvB,CAAtB;AAAyB;AAAC,WAAlS,CAAmS,IAAnS,EAAwSqpB,CAAxS,CAAD;AAA4S,gBAAMuM,CAAC,GAACvB,CAAC,CAAC,IAAD,EAAMhL,CAAN,CAAT;AAAA,gBAAkBrpB,CAAC,GAAC;AAACihC,YAAAA,QAAQ,EAACjN,CAAV;AAAYg7E,YAAAA,QAAQ,EAAC35E,CAAC,CAACvrC,GAAF,CAAM8pC,CAAC,CAACo7E,QAAR;AAArB,WAApB;;AAA4D,eAAI,MAAM3lF,CAAV,IAAeuM,CAAf,EAAiBC,CAAC,CAACxM,CAAD,EAAGrpB,CAAH,CAAD;AAAO;;AAAAsvP,QAAAA,oBAAoB,CAACjmO,CAAD,EAAG2K,CAAH,EAAK;AAAC,gBAAMJ,CAAC,GAACS,CAAC,CAAC,IAAD,EAAMhL,CAAN,CAAT;;AAAkB,eAAI,MAAMA,CAAV,IAAeuK,CAAf,EAAiB,KAAI,IAAIA,CAAC,GAAC,CAAV,EAAYA,CAAC,GAACvK,CAAC,CAACrzB,MAAhB,EAAuB49B,CAAC,EAAxB,EAA2BvK,CAAC,CAACuK,CAAD,CAAD,CAAKqN,QAAL,IAAejN,CAAf,KAAmB3K,CAAC,CAACmjG,MAAF,CAAS54F,CAAT,EAAW,CAAX,GAAcA,CAAC,EAAlC;AAAsC;;AAA3kE,OAAtB;AAAmmE;;AAAA,aAASq7N,CAAT,CAAW5lO,CAAX,EAAa2K,CAAb,EAAe;AAAC3K,MAAAA,CAAC,CAAC+L,CAAD,CAAD,KAAO/L,CAAC,CAAC+L,CAAD,CAAD,GAAKpB,CAAC,IAAEX,CAAC,EAAhB;AAAoB;;AAAA,aAAS27N,CAAT,CAAW3lO,CAAX,EAAa;AAAC,aAAOA,CAAC,CAAC+L,CAAD,CAAR;AAAY;;AAAA,aAASs6N,CAAT,CAAWrmO,CAAX,EAAa;AAAC,aAAOA,CAAC,CAACs/F,OAAF,IAAWn9F,MAAM,CAAC2iD,cAAP,CAAsB9kD,CAAtB,EAAwB,SAAxB,EAAkC;AAAC9uB,QAAAA,KAAK,EAAC;AAAP,OAAlC,CAAX,EAAyD8uB,CAAC,CAACs/F,OAAlE;AAA0E;;AAAA,aAASt0F,CAAT,CAAWhL,CAAX,EAAa2K,CAAb,EAAe;AAAC,YAAMJ,CAAC,GAAC87N,CAAC,CAACrmO,CAAD,CAAD,CAAK2K,CAAL,CAAR;AAAgB,UAAG,CAACJ,CAAJ,EAAM,OAAM,EAAN;AAAS,UAAIgC,CAAC,GAAC,CAAChC,CAAC,CAACuqE,SAAH,CAAN;;AAAoB,WAAI,IAAInqE,CAAC,GAAC,CAAV,EAAYA,CAAC,GAACJ,CAAC,CAAC+7N,WAAF,CAAc35P,MAA5B,EAAmCg+B,CAAC,EAApC,EAAuC;AAAC,cAAMh0B,CAAC,GAACq0B,CAAC,CAAChL,CAAD,EAAGuK,CAAC,CAAC+7N,WAAF,CAAc37N,CAAd,CAAH,CAAT;AAA8B4B,QAAAA,CAAC,GAACA,CAAC,CAACK,MAAF,CAASj2B,CAAT,CAAF;AAAc;;AAAA,aAAO41B,CAAP;AAAS;;AAAA,aAASy5N,CAAT,CAAWhmO,CAAX,EAAa2K,CAAb,EAAe;AAAC,UAAIJ,CAAJ;AAAM,aAAOvK,CAAC,CAACs/F,OAAF,KAAY/0F,CAAC,GAACvK,CAAC,CAACs/F,OAAF,CAAU30F,CAAV,CAAd,KAA6BJ,CAAC,CAACuqE,SAAF,CAAYnoG,MAAzC,GAAgD49B,CAAC,CAACuqE,SAAlD,GAA4DnqE,CAAC,CAACvyB,OAAF,CAAU,GAAV,IAAe,CAAC,CAAhB,GAAkB4tP,CAAC,CAAChmO,CAAD,EAAG2K,CAAC,CAACs0G,MAAF,CAAS,CAAT,EAAWt0G,CAAC,CAAC7G,WAAF,CAAc,GAAd,CAAX,CAAH,CAAnB,GAAsD,IAAzH;AAA8H;;AAAA,aAASoiO,CAAT,CAAWlmO,CAAX,EAAa2K,CAAb,EAAeJ,CAAf,EAAiB;AAAC,WAAI,IAAG,CAACgC,CAAD,EAAG51B,CAAH,CAAP,IAAeqpB,CAAf,EAAiB;AAACrpB,QAAAA,CAAC,GAAC,cAAY,OAAOA,CAAnB,KAAuBA,CAAC,GAACA,CAAC,CAACg0B,CAAC,CAACn6B,IAAH,CAA1B,CAAD,GAAqCmG,CAAC,GAACg0B,CAAC,CAACn6B,IAA1C;AAA+C,cAAMwvB,CAAC,GAAC,IAAI42I,CAAJ,CAAMjsI,CAAC,CAAC4R,MAAR,EAAe5lC,CAAf,CAAR;AAA0BqpB,QAAAA,CAAC,CAACh5B,IAAF,GAAO,CAAC,GAAG2jC,CAAC,CAAC3jC,IAAN,CAAP,EAAmBulC,CAAC,CAACm5E,IAAF,CAAO1lF,CAAP,EAAS,GAAGuK,CAAZ,CAAnB;AAAkC;AAAC;;AAAA,aAASw7N,CAAT,CAAW/lO,CAAX,EAAa2K,CAAb,EAAeJ,CAAf,EAAiBgC,CAAjB,EAAmB;AAAC5B,MAAAA,CAAC,CAACs7N,oBAAF,GAAuBt7N,CAAC,CAACs7N,oBAAF,CAAuB17N,CAAvB,EAAyBgC,CAAzB,CAAvB,GAAmDvM,CAAC,CAACimO,oBAAF,CAAuB98N,IAAvB,CAA4BwB,CAA5B,EAA8BJ,CAA9B,EAAgCgC,CAAhC,CAAnD;AAAsF;;AAAA,KAAC,IAAD,EAAM,MAAN,EAAa,KAAb,EAAmB,UAAnB,EAA8B,eAA9B,EAA8C,MAA9C,EAAqD,UAArD,EAAgE,gBAAhE,EAAiF,mBAAjF,EAAqG,sBAArG,EAA6H1G,OAA7H,CAAsI7F,CAAC,IAAE;AAACulO,MAAAA,CAAC,CAACvlO,CAAD,CAAD,GAAK6tM,CAAC,CAAC5jM,SAAF,CAAYjK,CAAZ,CAAL;AAAoB,KAA9J;;AAAiK,UAAMilL,CAAC,GAAC,UAASjlL,CAAT,EAAW;AAAC,UAAI2K,CAAC,GAAC,OAAO3K,CAAb;AAAe,aAAO,QAAMA,CAAN,KAAU,YAAU2K,CAAV,IAAa,cAAYA,CAAnC,CAAP;AAA6C,KAAhF;AAAA,UAAiFk9K,CAAC,GAAC37K,MAAM,CAAC,sBAAD,CAAzF;AAAA,UAAkHq6N,CAAC,GAACr6N,MAAM,CAAC,kBAAD,CAA1H;AAAA,UAA+Is6N,CAAC,GAACt6N,MAAM,CAAC,iBAAD,CAAvJ;AAAA,UAA2Ku6N,CAAC,GAACv6N,MAAM,CAAC,kBAAD,CAAnL;AAAA,UAAwMy6K,CAAC,GAACz6K,MAAM,CAAC,mBAAD,CAAhN;AAAA,UAAsOw6N,CAAC,GAACrkL,CAAC,CAACkjL,CAAC,EAAF,CAAzO;;AAA+O,aAASljL,CAAT,CAAWriD,CAAX,EAAa;AAAC,UAAG,CAACA,CAAJ,EAAM,OAAO0mO,CAAP;AAAS,aAAO,cAAc1mO,CAAd,CAAe;AAAC8E,QAAAA,GAAG,CAAC9E,CAAD,EAAG2K,CAAH,EAAK;AAAC,cAAGs6K,CAAC,CAACjlL,CAAD,CAAJ,EAAQ,OAAO,KAAKmC,MAAM,CAACkD,IAAP,CAAYrF,CAAZ,EAAe6F,OAAf,CAAwB8E,CAAC,IAAE;AAAC,iBAAK7F,GAAL,CAAS6F,CAAT,EAAW3K,CAAC,CAAC2K,CAAD,CAAZ;AAAiB,WAA7C,EAA+C,IAA/C,CAAZ;AAAiE23D,UAAAA,CAAC,CAAC,IAAD,CAAD;AAAQ,gBAAM/3D,CAAC,GAAC,KAAKs9K,CAAL,CAAR;AAAgB,cAAG7nL,CAAC,IAAI,IAAL,IAAW,CAACuK,CAAC,CAACukB,GAAF,CAAM9uB,CAAN,CAAf,EAAwB,MAAM,IAAImiD,CAAJ,CAAM,gCAAN,EAAuC,IAAvC,CAAN;AAAmDhgD,UAAAA,MAAM,CAAC2iD,cAAP,CAAsB,IAAtB,EAA2B9kD,CAA3B,EAA6B;AAACslD,YAAAA,UAAU,EAAC,CAAC,CAAb;AAAeC,YAAAA,YAAY,EAAC,CAAC,CAA7B;AAA+B9kF,YAAAA,GAAG,EAAC,MAAI8pC,CAAC,CAAC9pC,GAAF,CAAMu/B,CAAN,CAAvC;;AAAgD8E,YAAAA,GAAG,CAAC6F,CAAD,EAAG;AAAC,oBAAM4B,CAAC,GAAChC,CAAC,CAAC9pC,GAAF,CAAMu/B,CAAN,CAAR;AAAiB,kBAAIrpB,CAAC,GAAC,KAAK+uG,IAAL,CAAW,OAAM1lF,CAAE,EAAnB,EAAqBA,CAArB,EAAuB2K,CAAvB,EAAyB4B,CAAzB,CAAN;AAAkC,mBAAK,CAAL,KAAS51B,CAAT,KAAaA,CAAC,GAACg0B,CAAf,GAAkB4B,CAAC,KAAG51B,CAAJ,IAAO4zB,CAAC,CAACukB,GAAF,CAAM9uB,CAAN,CAAP,KAAkBuK,CAAC,CAACzF,GAAF,CAAM9E,CAAN,EAAQrpB,CAAR,GAAW,KAAK+uG,IAAL,CAAW,UAAS1lF,CAAE,EAAtB,EAAwBA,CAAxB,EAA0BrpB,CAA1B,EAA4B41B,CAA5B,CAA7B,CAAlB;AAA+E;;AAAzL,WAA7B,GAAyN,KAAKvM,CAAL,IAAQ2K,CAAjO;AAAmO;;AAAA5V,QAAAA,IAAI,CAAC,GAAGiL,CAAJ,EAAM;AAAC,cAAG,CAACA,CAAC,CAACrzB,MAAH,IAAW,CAACg6P,CAAC,CAAC3mO,CAAD,CAAhB,EAAoB,MAAM,IAAImiD,CAAJ,CAAM,kCAAN,EAAyC,IAAzC,CAAN;AAAqD,cAAG,IAAI0vB,GAAJ,CAAQ7xE,CAAR,EAAWmyE,IAAX,KAAkBnyE,CAAC,CAACrzB,MAAvB,EAA8B,MAAM,IAAIw1E,CAAJ,CAAM,sCAAN,EAA6C,IAA7C,CAAN;AAAyDmgB,UAAAA,CAAC,CAAC,IAAD,CAAD;AAAQ,gBAAM33D,CAAC,GAAC,KAAK67N,CAAL,CAAR;AAAgBxmO,UAAAA,CAAC,CAAC6F,OAAF,CAAW7F,CAAC,IAAE;AAAC,gBAAG2K,CAAC,CAACmkB,GAAF,CAAM9uB,CAAN,CAAH,EAAY,MAAM,IAAImiD,CAAJ,CAAM,wBAAN,EAA+B,IAA/B,CAAN;AAA2C,WAAtE;AAAyE,gBAAM53C,CAAC,GAAC,IAAI0E,GAAJ,EAAR;AAAgB,iBAAOjP,CAAC,CAAC6F,OAAF,CAAW7F,CAAC,IAAE;AAAC,kBAAMuM,CAAC,GAAC;AAACs8H,cAAAA,QAAQ,EAAC7oI,CAAV;AAAYysJ,cAAAA,EAAE,EAAC;AAAf,aAAR;AAA2B9hJ,YAAAA,CAAC,CAAC7F,GAAF,CAAM9E,CAAN,EAAQuM,CAAR,GAAWhC,CAAC,CAACzF,GAAF,CAAM9E,CAAN,EAAQuM,CAAR,CAAX;AAAsB,WAAhE,GAAmE;AAACkgJ,YAAAA,EAAE,EAACm6E,CAAJ;AAAMC,YAAAA,MAAM,EAACj5B,CAAb;AAAek5B,YAAAA,WAAW,EAAC,IAA3B;AAAgCC,YAAAA,eAAe,EAAC/mO,CAAhD;AAAkDgnO,YAAAA,GAAG,EAAC,EAAtD;AAAyDC,YAAAA,SAAS,EAAC18N;AAAnE,WAA1E;AAAgJ;;AAAA28N,QAAAA,MAAM,CAAC,GAAGlnO,CAAJ,EAAM;AAAC,cAAG,CAAC,KAAK6nL,CAAL,CAAJ,EAAY;AAAO,gBAAMl9K,CAAC,GAAC,KAAK67N,CAAL,CAAR;AAAA,gBAAgBj8N,CAAC,GAAC,KAAKg8N,CAAL,CAAlB;;AAA0B,cAAGvmO,CAAC,CAACrzB,MAAL,EAAY;AAAC,gBAAG,CAACg6P,CAAC,CAAC3mO,CAAD,CAAL,EAAS,MAAM,IAAImiD,CAAJ,CAAM,oCAAN,EAA2C,IAA3C,CAAN;AAAuDniD,YAAAA,CAAC,CAAC6F,OAAF,CAAW7F,CAAC,IAAE;AAAC,oBAAMuM,CAAC,GAAC5B,CAAC,CAAClqC,GAAF,CAAMu/B,CAAN,CAAR;AAAiBuM,cAAAA,CAAC,KAAGA,CAAC,CAACkgJ,EAAF,CAAK5mJ,OAAL,CAAc,CAAC,CAAC7F,CAAD,EAAG2K,CAAH,CAAD,KAAS;AAAC,sBAAMh0B,CAAC,GAAC4zB,CAAC,CAAC9pC,GAAF,CAAMu/B,CAAN,CAAR;AAAA,sBAAiByM,CAAC,GAAC91B,CAAC,CAACg0B,CAAD,CAApB;AAAwB8B,gBAAAA,CAAC,CAACmI,MAAF,CAASrI,CAAT,GAAYE,CAAC,CAAC0lE,IAAF,IAAQ,OAAOx7F,CAAC,CAACg0B,CAAD,CAA5B,EAAgCxI,MAAM,CAACkD,IAAP,CAAY1uB,CAAZ,EAAehK,MAAf,KAAwB49B,CAAC,CAACqK,MAAF,CAAS5U,CAAT,GAAY,KAAK0lO,aAAL,CAAmB1lO,CAAnB,EAAqB,QAArB,CAApC,CAAhC;AAAoG,eAApJ,GAAuJ2K,CAAC,CAACiK,MAAF,CAAS5U,CAAT,CAA1J,CAAD;AAAwK,aAAxM;AAA2M,WAAxR,MAA6RuK,CAAC,CAAC1E,OAAF,CAAW,CAAC7F,CAAD,EAAG2K,CAAH,KAAO;AAAC,iBAAK+6N,aAAL,CAAmB/6N,CAAnB,EAAqB,QAArB;AAA+B,WAAlD,GAAqDJ,CAAC,CAACmU,KAAF,EAArD,EAA+D/T,CAAC,CAAC+T,KAAF,EAA/D;AAAyE;;AAAAkxM,QAAAA,QAAQ,CAAC5vN,CAAD,EAAG;AAACsiE,UAAAA,CAAC,CAAC,IAAD,CAAD;AAAQ,gBAAM33D,CAAC,GAAC,KAAK3K,CAAL,CAAR;AAAgB,cAAG,CAAC2K,CAAJ,EAAM,MAAM,IAAIw3C,CAAJ,CAAM,2CAAN,EAAkD,IAAlD,EAAuD;AAAC2nF,YAAAA,MAAM,EAAC,IAAR;AAAaolC,YAAAA,UAAU,EAAClvK;AAAxB,WAAvD,CAAN;AAAyF,eAAKve,EAAL,CAAQue,CAAR,EAAW,CAACA,CAAD,EAAGuK,CAAH,KAAO;AAACvK,YAAAA,CAAC,CAAC2iO,MAAF,GAASh4N,CAAC,CAACF,KAAF,CAAQ,IAAR,EAAaF,CAAb,CAAT;AAAyB,WAA5C,GAA+C,KAAKvK,CAAL,IAAQ,UAAS,GAAG2K,CAAZ,EAAc;AAAC,mBAAO,KAAK+6E,IAAL,CAAU1lF,CAAV,EAAY2K,CAAZ,CAAP;AAAsB,WAA5F,EAA6F,KAAK3K,CAAL,EAAQ2mL,CAAR,IAAWh8K,CAAxG,EAA0G,KAAK87N,CAAL,MAAU,KAAKA,CAAL,IAAQ,EAAlB,CAA1G,EAAgI,KAAKA,CAAL,EAAQxgO,IAAR,CAAajG,CAAb,CAAhI;AAAgJ;;AAAA0lO,QAAAA,aAAa,CAAC1lO,CAAD,EAAG2K,CAAH,EAAKJ,CAAL,EAAO;AAAC,cAAG,CAACvK,CAAD,IAAI,KAAKymO,CAAL,CAAP,EAAe;AAAC,iBAAI,MAAMzmO,CAAV,IAAe,KAAKymO,CAAL,CAAf,EAAuB,KAAKzmO,CAAL,IAAQ,KAAKA,CAAL,EAAQ2mL,CAAR,CAAR;;AAAmB,mBAAO,KAAK8/C,CAAL,CAAP;AAAe;;AAAA,gBAAMf,aAAN,CAAoB1lO,CAApB,EAAsB2K,CAAtB,EAAwBJ,CAAxB;AAA2B;;AAAjnD,OAAtB;AAAyoD;;AAAA,aAAS+3D,CAAT,CAAWtiE,CAAX,EAAa;AAACA,MAAAA,CAAC,CAAC6nL,CAAD,CAAD,KAAO1lL,MAAM,CAAC2iD,cAAP,CAAsB9kD,CAAtB,EAAwB6nL,CAAxB,EAA0B;AAAC32M,QAAAA,KAAK,EAAC,IAAI+9B,GAAJ;AAAP,OAA1B,GAA2C9M,MAAM,CAAC2iD,cAAP,CAAsB9kD,CAAtB,EAAwBumO,CAAxB,EAA0B;AAACr1P,QAAAA,KAAK,EAAC,IAAI+9B,GAAJ;AAAP,OAA1B,CAA3C,EAAsF9M,MAAM,CAAC2iD,cAAP,CAAsB9kD,CAAtB,EAAwBwmO,CAAxB,EAA0B;AAACt1P,QAAAA,KAAK,EAAC,IAAI+9B,GAAJ;AAAP,OAA1B,CAA7F;AAAyI;;AAAA,aAAS23N,CAAT,CAAW,GAAG5mO,CAAd,EAAgB;AAAC,YAAM2K,CAAC,GAAC,UAAS,GAAG3K,CAAZ,EAAc;AAAC,YAAG,CAACA,CAAC,CAACrzB,MAAN,EAAa,MAAM,IAAIw1E,CAAJ,CAAM,gCAAN,EAAuC,IAAvC,CAAN;AAAmD,cAAMx3C,CAAC,GAAC;AAAC8hJ,UAAAA,EAAE,EAAC;AAAJ,SAAR;AAAgB,YAAIliJ,CAAJ;AAAM,sBAAY,OAAOvK,CAAC,CAACA,CAAC,CAACrzB,MAAF,GAAS,CAAV,CAApB,KAAmCg+B,CAAC,CAACiN,QAAF,GAAW5X,CAAC,CAACzB,GAAF,EAA9C;AAAuD,eAAOyB,CAAC,CAAC6F,OAAF,CAAW7F,CAAC,IAAE;AAAC,cAAG,YAAU,OAAOA,CAApB,EAAsBuK,CAAC,CAACmjC,UAAF,CAAaznC,IAAb,CAAkBjG,CAAlB,EAAtB,KAA+C;AAAC,gBAAG,YAAU,OAAOA,CAApB,EAAsB,MAAM,IAAImiD,CAAJ,CAAM,gCAAN,EAAuC,IAAvC,CAAN;AAAmD53C,YAAAA,CAAC,GAAC;AAAC48N,cAAAA,UAAU,EAACnnO,CAAZ;AAAc0tC,cAAAA,UAAU,EAAC;AAAzB,aAAF,EAA+B/iC,CAAC,CAAC8hJ,EAAF,CAAKxmJ,IAAL,CAAUsE,CAAV,CAA/B;AAA4C;AAAC,SAArL,GAAwLI,CAA/L;AAAiM,OAA7V,CAA8V,GAAG3K,CAAjW,CAAR;AAAA,YAA4WuK,CAAC,GAACpF,KAAK,CAAC7H,IAAN,CAAW,KAAK2pO,SAAL,CAAe5hO,IAAf,EAAX,CAA9W;AAAA,YAAgZkH,CAAC,GAAChC,CAAC,CAAC59B,MAApZ;;AAA2Z,UAAG,CAACg+B,CAAC,CAACiN,QAAH,IAAajN,CAAC,CAAC8hJ,EAAF,CAAK9/K,MAAL,GAAY,CAA5B,EAA8B,MAAM,IAAIw1E,CAAJ,CAAM,gCAAN,EAAuC,IAAvC,CAAN;AAAmD,UAAG51C,CAAC,GAAC,CAAF,IAAK5B,CAAC,CAACiN,QAAV,EAAmB,MAAM,IAAIuqC,CAAJ,CAAM,mCAAN,EAA0C,IAA1C,CAAN;AAAsD,UAAIxrE,CAAJ;AAAMg0B,MAAAA,CAAC,CAAC8hJ,EAAF,CAAK5mJ,OAAL,CAAc7F,CAAC,IAAE;AAAC,YAAGA,CAAC,CAAC0tC,UAAF,CAAa/gE,MAAb,IAAqBqzB,CAAC,CAAC0tC,UAAF,CAAa/gE,MAAb,KAAsB4/B,CAA9C,EAAgD,MAAM,IAAI41C,CAAJ,CAAM,sCAAN,EAA6C,IAA7C,CAAN;AAAyDniD,QAAAA,CAAC,CAAC0tC,UAAF,CAAa/gE,MAAb,KAAsBqzB,CAAC,CAAC0tC,UAAF,GAAa,KAAKq5L,eAAxC;AAAyD,OAApL,GAAuL,KAAKC,GAAL,GAASr8N,CAAC,CAAC8hJ,EAAlM,EAAqM9hJ,CAAC,CAACiN,QAAF,KAAa,KAAKqvN,SAAL,CAAexmQ,GAAf,CAAmB8pC,CAAC,CAAC,CAAD,CAApB,EAAyBqN,QAAzB,GAAkCjN,CAAC,CAACiN,QAAjD,CAArM,EAAgQjhC,CAAC,GAAC,KAAKmwP,WAAvQ,EAAmR,KAAKE,GAAL,CAASnhO,OAAT,CAAkB7F,CAAC,IAAE;AAAC,cAAM2K,CAAC,GAACh0B,CAAC,CAAC4vP,CAAD,CAAT;AAAa,YAAIh8N,CAAJ;AAAMI,QAAAA,CAAC,CAAClqC,GAAF,CAAMu/B,CAAC,CAACmnO,UAAR,KAAqBxwP,CAAC,CAAC6uP,QAAF,CAAWxlO,CAAC,CAACmnO,UAAb,EAAwB,QAAxB,EAAkC,CAAC56N,CAAD,EAAGE,CAAH,KAAO;AAAClC,UAAAA,CAAC,GAACI,CAAC,CAAClqC,GAAF,CAAMu/B,CAAC,CAACmnO,UAAR,EAAoB16N,CAApB,CAAF,EAAyBlC,CAAC,IAAEA,CAAC,CAAC1E,OAAF,CAAW7F,CAAC,IAAE;AAAConO,YAAAA,CAAC,CAACzwP,CAAD,EAAGqpB,CAAC,CAAC6oI,QAAL,CAAD;AAAgB,WAA/B,CAA5B;AAA8D,SAAxG,CAArB;AAAgI,OAAzK,CAAnR,EAA+b,UAAS7oI,CAAT,EAAW;AAAC,YAAI2K,CAAJ;;AAAM3K,QAAAA,CAAC,CAACinO,SAAF,CAAYphO,OAAZ,CAAqB,CAAC0E,CAAD,EAAGgC,CAAH,KAAO;AAACvM,UAAAA,CAAC,CAACgnO,GAAF,CAAMnhO,OAAN,CAAelvB,CAAC,IAAE;AAACg0B,YAAAA,CAAC,GAACh0B,CAAC,CAAC+2D,UAAF,CAAanjC,CAAC,CAACqN,QAAF,GAAW,CAAX,GAAa5X,CAAC,CAAC+mO,eAAF,CAAkB3uP,OAAlB,CAA0Bm0B,CAA1B,CAA1B,CAAF,EAA0DhC,CAAC,CAACkiJ,EAAF,CAAKxmJ,IAAL,CAAU,CAACtvB,CAAC,CAACwwP,UAAH,EAAcx8N,CAAd,CAAV,CAA1D,EAAsF,UAAS3K,CAAT,EAAW2K,CAAX,EAAaJ,CAAb,EAAegC,CAAf,EAAiB;AAAC,oBAAM51B,CAAC,GAACqpB,CAAC,CAACumO,CAAD,CAAT;AAAA,oBAAa95N,CAAC,GAAC91B,CAAC,CAAClW,GAAF,CAAM8pC,CAAN,CAAf;AAAA,oBAAwBD,CAAC,GAACmC,CAAC,IAAE,EAA7B;AAAgCnC,cAAAA,CAAC,CAACiC,CAAD,CAAD,KAAOjC,CAAC,CAACiC,CAAD,CAAD,GAAK,IAAIslE,GAAJ,EAAZ;AAAqBvnE,cAAAA,CAAC,CAACiC,CAAD,CAAD,CAAK3X,GAAL,CAAS+V,CAAT,GAAY8B,CAAC,IAAE91B,CAAC,CAACmuB,GAAF,CAAMyF,CAAN,EAAQD,CAAR,CAAf;AAA0B,aAAjG,CAAkGtK,CAAC,CAAC8mO,WAApG,EAAgHv8N,CAAhH,EAAkH5zB,CAAC,CAACwwP,UAApH,EAA+Hx8N,CAA/H,CAAtF;AAAwN,WAA3O;AAA8O,SAA3Q;AAA8Q,OAAhS,CAAiS,IAAjS,CAA/b,EAAsuB,KAAKo8N,eAAL,CAAqBlhO,OAArB,CAA8B7F,CAAC,IAAE;AAAConO,QAAAA,CAAC,CAAC,KAAKN,WAAN,EAAkB9mO,CAAlB,CAAD;AAAsB,OAAxD,CAAtuB;AAAiyB;;AAAA,aAAS4tM,CAAT,CAAW5tM,CAAX,EAAa2K,CAAb,EAAeJ,CAAf,EAAiB;AAAC,UAAG,KAAK08N,SAAL,CAAe90J,IAAf,GAAoB,CAAvB,EAAyB,MAAM,IAAIhwB,CAAJ,CAAM,yCAAN,EAAgD,IAAhD,CAAN;AAA4D,WAAKsqG,EAAL,CAAQ,GAAG,UAASzsJ,CAAT,EAAW2K,CAAX,EAAa;AAAC,cAAMJ,CAAC,GAACvK,CAAC,CAACx2B,GAAF,CAAOw2B,CAAC,IAAE,CAACA,CAAD,EAAG2K,CAAH,CAAV,CAAR;AAA0B,eAAOxF,KAAK,CAAC8E,SAAN,CAAgB2C,MAAhB,CAAuBnC,KAAvB,CAA6B,EAA7B,EAAgCF,CAAhC,CAAP;AAA0C,OAAlF,CAAmFvK,CAAnF,EAAqF2K,CAArF,CAAX,EAAmGJ,CAAnG;AAAsG;;AAAA,aAASo8N,CAAT,CAAW3mO,CAAX,EAAa;AAAC,aAAOA,CAAC,CAACoyE,KAAF,CAASpyE,CAAC,IAAE,YAAU,OAAOA,CAA7B,CAAP;AAAwC;;AAAA,aAASonO,CAAT,CAAWpnO,CAAX,EAAa2K,CAAb,EAAe;AAAC,YAAMJ,CAAC,GAACvK,CAAC,CAACwmO,CAAD,CAAD,CAAK/lQ,GAAL,CAASkqC,CAAT,CAAR;AAAoB,UAAI4B,CAAJ;AAAMhC,MAAAA,CAAC,CAACqN,QAAF,GAAWrL,CAAC,GAAChC,CAAC,CAACqN,QAAF,CAAWnN,KAAX,CAAiBzK,CAAjB,EAAmBuK,CAAC,CAACkiJ,EAAF,CAAKjjL,GAAL,CAAUw2B,CAAC,IAAEA,CAAC,CAAC,CAAD,CAAD,CAAKA,CAAC,CAAC,CAAD,CAAN,CAAb,CAAnB,CAAb,IAA4DuM,CAAC,GAAChC,CAAC,CAACkiJ,EAAF,CAAK,CAAL,CAAF,EAAUlgJ,CAAC,GAACA,CAAC,CAAC,CAAD,CAAD,CAAKA,CAAC,CAAC,CAAD,CAAN,CAAxE,GAAoFpK,MAAM,CAAC8H,SAAP,CAAiBC,cAAjB,CAAgCf,IAAhC,CAAqCnJ,CAArC,EAAuC2K,CAAvC,IAA0C3K,CAAC,CAAC2K,CAAD,CAAD,GAAK4B,CAA/C,GAAiDvM,CAAC,CAAC8E,GAAF,CAAM6F,CAAN,EAAQ4B,CAAR,CAArI;AAAgJ;;AAAA,KAAC,KAAD,EAAO,MAAP,EAAc,QAAd,EAAuB,UAAvB,EAAkC,IAAlC,EAAuC,MAAvC,EAA8C,KAA9C,EAAoD,UAApD,EAA+D,eAA/D,EAA+E,MAA/E,EAAsF,UAAtF,EAAiG,gBAAjG,EAAkH,mBAAlH,EAAsI,sBAAtI,EAA8J1G,OAA9J,CAAuK7F,CAAC,IAAE;AAACqiD,MAAAA,CAAC,CAACriD,CAAD,CAAD,GAAK0mO,CAAC,CAACz8N,SAAF,CAAYjK,CAAZ,CAAL;AAAoB,KAA/L;;AAAkM,UAAMqnO,CAAN,CAAO;AAAC5nQ,MAAAA,WAAW,GAAE;AAAC,aAAK6nQ,iBAAL,GAAuB,EAAvB;AAA0B;;AAAAjoP,MAAAA,OAAO,CAAC2gB,CAAD,EAAG2K,CAAH,EAAK;AAAC,aAAK28N,iBAAL,CAAuBrhO,IAAvB,CAA4B;AAACjd,UAAAA,OAAO,EAACgX,CAAT;AAAWunO,UAAAA,UAAU,EAAC58N;AAAtB,SAA5B,GAAsD3K,CAAC,CAACu7C,KAAF,CAAQisL,OAAR,GAAgB,MAAtE,EAA6E78N,CAAC,IAAE3K,CAAC,CAAC47C,UAAF,CAAagoL,YAAb,CAA0Bj5N,CAA1B,EAA4B3K,CAAC,CAACynO,WAA9B,CAAhF;AAA2H;;AAAAC,MAAAA,OAAO,GAAE;AAAC,aAAKJ,iBAAL,CAAuBzhO,OAAvB,CAAgC,CAAC;AAAC7c,UAAAA,OAAO,EAACgX,CAAT;AAAWunO,UAAAA,UAAU,EAAC58N;AAAtB,SAAD,KAA4B;AAAC3K,UAAAA,CAAC,CAACu7C,KAAF,CAAQisL,OAAR,GAAgB,EAAhB,EAAmB78N,CAAC,IAAEA,CAAC,CAACs1E,MAAF,EAAtB;AAAiC,SAA9F,GAAiG,KAAKqnJ,iBAAL,GAAuB,EAAxH;AAA2H;;AAAtT;;AAAuT,aAAS/E,CAAT,CAAWviO,CAAX,EAAa;AAAC,UAAI2K,CAAC,GAAC,CAAN;;AAAQ,WAAI,MAAMJ,CAAV,IAAevK,CAAf,EAAiB2K,CAAC;;AAAG,aAAOA,CAAP;AAAS;;AAAA,aAASg9N,CAAT,CAAW3nO,CAAX,EAAa2K,CAAb,EAAe;AAAC,YAAMJ,CAAC,GAAC2xB,IAAI,CAACzqC,GAAL,CAASuO,CAAC,CAACrzB,MAAX,EAAkBg+B,CAAC,CAACh+B,MAApB,CAAR;;AAAoC,WAAI,IAAI4/B,CAAC,GAAC,CAAV,EAAYA,CAAC,GAAChC,CAAd,EAAgBgC,CAAC,EAAjB,EAAoB,IAAGvM,CAAC,CAACuM,CAAD,CAAD,IAAM5B,CAAC,CAAC4B,CAAD,CAAV,EAAc,OAAOA,CAAP;;AAAS,aAAOvM,CAAC,CAACrzB,MAAF,IAAUg+B,CAAC,CAACh+B,MAAZ,GAAmB,MAAnB,GAA0BqzB,CAAC,CAACrzB,MAAF,GAASg+B,CAAC,CAACh+B,MAAX,GAAkB,QAAlB,GAA2B,WAA5D;AAAwE;;AAAA,aAASi7P,CAAT,CAAW5nO,CAAX,EAAa;AAAC,aAAM,EAAE,CAACA,CAAD,IAAI,CAACA,CAAC,CAACkM,MAAM,CAACC,QAAR,CAAR,CAAN;AAAiC;;AAAA,UAAM07N,CAAC,GAAC,YAAU,OAAO18F,MAAjB,IAAyBA,MAAzB,IAAiCA,MAAM,CAAChpI,MAAP,KAAgBA,MAAjD,IAAyDgpI,MAAjE;AAAwE,QAAI28F,CAAC,GAAC,YAAU,OAAO5tI,IAAjB,IAAuBA,IAAvB,IAA6BA,IAAI,CAAC/3F,MAAL,KAAcA,MAA3C,IAAmD+3F,IAAzD;AAA8D,UAAM6tI,EAAE,GAACF,CAAC,IAAEC,CAAH,IAAM3nE,QAAQ,CAAC,aAAD,CAAR,EAAf;AAAyC,UAAMkuB,EAAE,GAAC05C,EAAE,CAAC77N,MAAZ;AAAmB,QAAI87N,EAAE,GAAC7lO,MAAM,CAAC8H,SAAd;AAAA,QAAwBg+N,EAAE,GAACD,EAAE,CAAC99N,cAA9B;AAAA,QAA6C6lL,EAAE,GAACi4C,EAAE,CAAC9qN,QAAnD;AAAA,QAA4DgrN,EAAE,GAAC75C,EAAE,GAACA,EAAE,CAAC85C,WAAJ,GAAgB,KAAK,CAAtF;;AAAwF,UAAMC,EAAE,GAAC,UAASpoO,CAAT,EAAW;AAAC,UAAI2K,CAAC,GAACs9N,EAAE,CAAC9+N,IAAH,CAAQnJ,CAAR,EAAUkoO,EAAV,CAAN;AAAA,UAAoB39N,CAAC,GAACvK,CAAC,CAACkoO,EAAD,CAAvB;;AAA4B,UAAG;AAACloO,QAAAA,CAAC,CAACkoO,EAAD,CAAD,GAAM,KAAK,CAAX;AAAa,YAAI37N,CAAC,GAAC,CAAC,CAAP;AAAS,OAA1B,CAA0B,OAAMvM,CAAN,EAAQ,CAAE;;AAAA,UAAIrpB,CAAC,GAACo5M,EAAE,CAAC5mL,IAAH,CAAQnJ,CAAR,CAAN;AAAiB,aAAOuM,CAAC,KAAG5B,CAAC,GAAC3K,CAAC,CAACkoO,EAAD,CAAD,GAAM39N,CAAP,GAAS,OAAOvK,CAAC,CAACkoO,EAAD,CAArB,CAAD,EAA4BvxP,CAAnC;AAAqC,KAA3I;;AAA4I,QAAIwrF,EAAE,GAAChgE,MAAM,CAAC8H,SAAP,CAAiBiT,QAAxB;;AAAiC,UAAMmrN,EAAE,GAAC,UAASroO,CAAT,EAAW;AAAC,aAAOmiE,EAAE,CAACh5D,IAAH,CAAQnJ,CAAR,CAAP;AAAkB,KAAvC;;AAAwC,QAAI2xL,EAAE,GAACtD,EAAE,GAACA,EAAE,CAAC85C,WAAJ,GAAgB,KAAK,CAA9B;;AAAgC,UAAMt0F,EAAE,GAAC,UAAS7zI,CAAT,EAAW;AAAC,aAAO,QAAMA,CAAN,GAAQ,KAAK,CAAL,KAASA,CAAT,GAAW,oBAAX,GAAgC,eAAxC,GAAwD2xL,EAAE,IAAEA,EAAE,IAAIxvL,MAAM,CAACnC,CAAD,CAAhB,GAAoBooO,EAAE,CAACpoO,CAAD,CAAtB,GAA0BqoO,EAAE,CAACroO,CAAD,CAA3F;AAA+F,KAApH;;AAAqH,UAAMsoO,EAAE,GAACnjO,KAAK,CAACi8E,OAAf;;AAAuB,UAAMmnJ,EAAE,GAAC,UAASvoO,CAAT,EAAW;AAAC,aAAO,QAAMA,CAAN,IAAS,YAAU,OAAOA,CAAjC;AAAmC,KAAxD;;AAAyD,UAAMyzL,EAAE,GAAC,UAASzzL,CAAT,EAAW;AAAC,aAAM,YAAU,OAAOA,CAAjB,IAAoB,CAACsoO,EAAE,CAACtoO,CAAD,CAAH,IAAQuoO,EAAE,CAACvoO,CAAD,CAAV,IAAe,qBAAmB6zI,EAAE,CAAC7zI,CAAD,CAA9D;AAAkE,KAAvF;;AAAwF,aAASwoO,EAAT,CAAYxoO,CAAZ,EAAc2K,CAAd,EAAgBJ,CAAC,GAAC,EAAlB,EAAqBgC,CAAC,GAAC,EAAvB,EAA0B;AAAC,YAAM51B,CAAC,GAAC4zB,CAAC,IAAEA,CAAC,CAACk+N,KAAb;AAAA,YAAmBh8N,CAAC,GAAC91B,CAAC,GAACqpB,CAAC,CAAC0oO,eAAF,CAAkB/xP,CAAlB,EAAoBg0B,CAApB,CAAD,GAAwB3K,CAAC,CAAC6G,aAAF,CAAgB8D,CAAhB,CAA9C;;AAAiE,WAAI,MAAM3K,CAAV,IAAeuK,CAAf,EAAiBkC,CAAC,CAACivC,YAAF,CAAe17C,CAAf,EAAiBuK,CAAC,CAACvK,CAAD,CAAlB;;AAAuB,OAACyzL,EAAE,CAAClnL,CAAD,CAAH,IAAQq7N,CAAC,CAACr7N,CAAD,CAAT,KAAeA,CAAC,GAAC,CAACA,CAAD,CAAjB;;AAAsB,WAAI,IAAI5B,CAAR,IAAa4B,CAAb,EAAeknL,EAAE,CAAC9oL,CAAD,CAAF,KAAQA,CAAC,GAAC3K,CAAC,CAAC0jO,cAAF,CAAiB/4N,CAAjB,CAAV,GAA+B8B,CAAC,CAACkvC,WAAF,CAAchxC,CAAd,CAA/B;;AAAgD,aAAO8B,CAAP;AAAS;;AAAA,UAAMmmL,EAAE,GAAC,UAAS5yL,CAAT,EAAW2K,CAAX,EAAa;AAAC,aAAO,UAASJ,CAAT,EAAW;AAAC,eAAOvK,CAAC,CAAC2K,CAAC,CAACJ,CAAD,CAAF,CAAR;AAAe,OAAlC;AAAmC,KAA1D;;AAA2D,UAAMo+N,EAAE,GAAC/1C,EAAE,CAACzwL,MAAM,CAACymO,cAAR,EAAuBzmO,MAAvB,CAAX;AAA0C,QAAI0mO,EAAE,GAAC1oE,QAAQ,CAACl2J,SAAhB;AAAA,QAA0B6+N,EAAE,GAAC3mO,MAAM,CAAC8H,SAApC;AAAA,QAA8C8+N,EAAE,GAACF,EAAE,CAAC3rN,QAApD;AAAA,QAA6D8rN,EAAE,GAACF,EAAE,CAAC5+N,cAAnE;AAAA,QAAkF++N,EAAE,GAACF,EAAE,CAAC5/N,IAAH,CAAQhH,MAAR,CAArF;;AAAqG,UAAM+mO,EAAE,GAAC,UAASlpO,CAAT,EAAW;AAAC,UAAG,CAACuoO,EAAE,CAACvoO,CAAD,CAAH,IAAQ,qBAAmB6zI,EAAE,CAAC7zI,CAAD,CAAhC,EAAoC,OAAM,CAAC,CAAP;AAAS,UAAI2K,CAAC,GAACg+N,EAAE,CAAC3oO,CAAD,CAAR;AAAY,UAAG,SAAO2K,CAAV,EAAY,OAAM,CAAC,CAAP;AAAS,UAAIJ,CAAC,GAACy+N,EAAE,CAAC7/N,IAAH,CAAQwB,CAAR,EAAU,aAAV,KAA0BA,CAAC,CAAClrC,WAAlC;AAA8C,aAAM,cAAY,OAAO8qC,CAAnB,IAAsBA,CAAC,YAAYA,CAAnC,IAAsCw+N,EAAE,CAAC5/N,IAAH,CAAQoB,CAAR,KAAY0+N,EAAxD;AAA2D,KAA5M;;AAA6M,UAAME,EAAE,GAAC,YAAU;AAAC,WAAKC,QAAL,GAAc,EAAd,EAAiB,KAAKj3J,IAAL,GAAU,CAA3B;AAA6B,KAAjD;;AAAkD,UAAMk3J,EAAE,GAAC,UAASrpO,CAAT,EAAW2K,CAAX,EAAa;AAAC,aAAO3K,CAAC,KAAG2K,CAAJ,IAAO3K,CAAC,IAAEA,CAAH,IAAM2K,CAAC,IAAEA,CAAvB;AAAyB,KAAhD;;AAAiD,UAAM2+N,EAAE,GAAC,UAAStpO,CAAT,EAAW2K,CAAX,EAAa;AAAC,WAAI,IAAIJ,CAAC,GAACvK,CAAC,CAACrzB,MAAZ,EAAmB49B,CAAC,EAApB,GAAwB,IAAG8+N,EAAE,CAACrpO,CAAC,CAACuK,CAAD,CAAD,CAAK,CAAL,CAAD,EAASI,CAAT,CAAL,EAAiB,OAAOJ,CAAP;;AAAS,aAAM,CAAC,CAAP;AAAS,KAAlF;;AAAmF,QAAIg/N,EAAE,GAACpkO,KAAK,CAAC8E,SAAN,CAAgBk5F,MAAvB;;AAA8B,UAAMqmI,EAAE,GAAC,UAASxpO,CAAT,EAAW;AAAC,UAAI2K,CAAC,GAAC,KAAKy+N,QAAX;AAAA,UAAoB7+N,CAAC,GAAC++N,EAAE,CAAC3+N,CAAD,EAAG3K,CAAH,CAAxB;AAA8B,aAAM,EAAEuK,CAAC,GAAC,CAAJ,MAASA,CAAC,IAAEI,CAAC,CAACh+B,MAAF,GAAS,CAAZ,GAAcg+B,CAAC,CAACpM,GAAF,EAAd,GAAsBgrO,EAAE,CAACpgO,IAAH,CAAQwB,CAAR,EAAUJ,CAAV,EAAY,CAAZ,CAAtB,EAAqC,EAAE,KAAK4nE,IAA5C,EAAiD,CAAC,CAA3D,CAAN;AAAoE,KAAvH;;AAAwH,UAAMs3J,EAAE,GAAC,UAASzpO,CAAT,EAAW;AAAC,UAAI2K,CAAC,GAAC,KAAKy+N,QAAX;AAAA,UAAoB7+N,CAAC,GAAC++N,EAAE,CAAC3+N,CAAD,EAAG3K,CAAH,CAAxB;AAA8B,aAAOuK,CAAC,GAAC,CAAF,GAAI,KAAK,CAAT,GAAWI,CAAC,CAACJ,CAAD,CAAD,CAAK,CAAL,CAAlB;AAA0B,KAA7E;;AAA8E,UAAMm/N,EAAE,GAAC,UAAS1pO,CAAT,EAAW;AAAC,aAAOspO,EAAE,CAAC,KAAKF,QAAN,EAAeppO,CAAf,CAAF,GAAoB,CAAC,CAA5B;AAA8B,KAAnD;;AAAoD,UAAM2pO,EAAE,GAAC,UAAS3pO,CAAT,EAAW2K,CAAX,EAAa;AAAC,UAAIJ,CAAC,GAAC,KAAK6+N,QAAX;AAAA,UAAoB78N,CAAC,GAAC+8N,EAAE,CAAC/+N,CAAD,EAAGvK,CAAH,CAAxB;AAA8B,aAAOuM,CAAC,GAAC,CAAF,IAAK,EAAE,KAAK4lE,IAAP,EAAY5nE,CAAC,CAACtE,IAAF,CAAO,CAACjG,CAAD,EAAG2K,CAAH,CAAP,CAAjB,IAAgCJ,CAAC,CAACgC,CAAD,CAAD,CAAK,CAAL,IAAQ5B,CAAxC,EAA0C,IAAjD;AAAsD,KAA3G;;AAA4G,aAASi/N,EAAT,CAAY5pO,CAAZ,EAAc;AAAC,UAAI2K,CAAC,GAAC,CAAC,CAAP;AAAA,UAASJ,CAAC,GAAC,QAAMvK,CAAN,GAAQ,CAAR,GAAUA,CAAC,CAACrzB,MAAvB;;AAA8B,WAAI,KAAK+xC,KAAL,EAAJ,EAAiB,EAAE/T,CAAF,GAAIJ,CAArB,GAAwB;AAAC,YAAIgC,CAAC,GAACvM,CAAC,CAAC2K,CAAD,CAAP;AAAW,aAAK7F,GAAL,CAASyH,CAAC,CAAC,CAAD,CAAV,EAAcA,CAAC,CAAC,CAAD,CAAf;AAAoB;AAAC;;AAAAq9N,IAAAA,EAAE,CAAC3/N,SAAH,CAAayU,KAAb,GAAmByqN,EAAnB,EAAsBS,EAAE,CAAC3/N,SAAH,CAAa2K,MAAb,GAAoB40N,EAA1C,EAA6CI,EAAE,CAAC3/N,SAAH,CAAaxpC,GAAb,GAAiBgpQ,EAA9D,EAAiEG,EAAE,CAAC3/N,SAAH,CAAa6kB,GAAb,GAAiB46M,EAAlF,EAAqFE,EAAE,CAAC3/N,SAAH,CAAanF,GAAb,GAAiB6kO,EAAtG;AAAyG,UAAME,EAAE,GAACD,EAAT;;AAAY,UAAME,EAAE,GAAC,YAAU;AAAC,WAAKV,QAAL,GAAc,IAAIS,EAAJ,EAAd,EAAqB,KAAK13J,IAAL,GAAU,CAA/B;AAAiC,KAArD;;AAAsD,UAAM43J,EAAE,GAAC,UAAS/pO,CAAT,EAAW;AAAC,UAAI2K,CAAC,GAAC,KAAKy+N,QAAX;AAAA,UAAoB7+N,CAAC,GAACI,CAAC,CAACiK,MAAF,CAAS5U,CAAT,CAAtB;AAAkC,aAAO,KAAKmyE,IAAL,GAAUxnE,CAAC,CAACwnE,IAAZ,EAAiB5nE,CAAxB;AAA0B,KAAjF;;AAAkF,UAAMy/N,EAAE,GAAC,UAAShqO,CAAT,EAAW;AAAC,aAAO,KAAKopO,QAAL,CAAc3oQ,GAAd,CAAkBu/B,CAAlB,CAAP;AAA4B,KAAjD;;AAAkD,UAAMiqO,EAAE,GAAC,UAASjqO,CAAT,EAAW;AAAC,aAAO,KAAKopO,QAAL,CAAct6M,GAAd,CAAkB9uB,CAAlB,CAAP;AAA4B,KAAjD;;AAAkD,UAAMkqO,EAAE,GAAC,UAASlqO,CAAT,EAAW;AAAC,UAAG,CAACilL,CAAC,CAACjlL,CAAD,CAAL,EAAS,OAAM,CAAC,CAAP;AAAS,UAAI2K,CAAC,GAACkpI,EAAE,CAAC7zI,CAAD,CAAR;AAAY,aAAM,uBAAqB2K,CAArB,IAAwB,gCAA8BA,CAAtD,IAAyD,4BAA0BA,CAAnF,IAAsF,oBAAkBA,CAA9G;AAAgH,KAAnK;;AAAoK,UAAMw/N,EAAE,GAACpC,EAAE,CAAC,oBAAD,CAAX;;AAAkC,QAAIqC,EAAE,GAAC,YAAU;AAAC,UAAIpqO,CAAC,GAAC,SAAS68E,IAAT,CAAcstJ,EAAE,IAAEA,EAAE,CAAC9kO,IAAP,IAAa8kO,EAAE,CAAC9kO,IAAH,CAAQglO,QAArB,IAA+B,EAA7C,CAAN;AAAuD,aAAOrqO,CAAC,GAAC,mBAAiBA,CAAlB,GAAoB,EAA5B;AAA+B,KAAjG,EAAP;;AAA2G,UAAMsqO,EAAE,GAAC,UAAStqO,CAAT,EAAW;AAAC,aAAM,CAAC,CAACoqO,EAAF,IAAMA,EAAE,IAAIpqO,CAAlB;AAAoB,KAAzC;;AAA0C,QAAIuqO,EAAE,GAACpqE,QAAQ,CAACl2J,SAAT,CAAmBiT,QAA1B;;AAAmC,UAAMstN,EAAE,GAAC,UAASxqO,CAAT,EAAW;AAAC,UAAG,QAAMA,CAAT,EAAW;AAAC,YAAG;AAAC,iBAAOuqO,EAAE,CAACphO,IAAH,CAAQnJ,CAAR,CAAP;AAAkB,SAAtB,CAAsB,OAAMA,CAAN,EAAQ,CAAE;;AAAA,YAAG;AAAC,iBAAOA,CAAC,GAAC,EAAT;AAAY,SAAhB,CAAgB,OAAMA,CAAN,EAAQ,CAAE;AAAC;;AAAA,aAAM,EAAN;AAAS,KAArG;;AAAsG,QAAIyqO,EAAE,GAAC,6BAAP;AAAA,QAAqCC,EAAE,GAACvqE,QAAQ,CAACl2J,SAAjD;AAAA,QAA2D0gO,EAAE,GAACxoO,MAAM,CAAC8H,SAArE;AAAA,QAA+E2gO,EAAE,GAACF,EAAE,CAACxtN,QAArF;AAAA,QAA8F2tN,EAAE,GAACF,EAAE,CAACzgO,cAApG;AAAA,QAAmH4gO,EAAE,GAAC11O,MAAM,CAAC,MAAIw1O,EAAE,CAACzhO,IAAH,CAAQ0hO,EAAR,EAAYxrP,OAAZ,CAAoB,qBAApB,EAA0C,MAA1C,EAAkDA,OAAlD,CAA0D,wDAA1D,EAAmH,OAAnH,CAAJ,GAAgI,GAAjI,CAA5H;;AAAkQ,UAAM0rP,EAAE,GAAC,UAAS/qO,CAAT,EAAW;AAAC,aAAM,EAAE,CAACilL,CAAC,CAACjlL,CAAD,CAAF,IAAOsqO,EAAE,CAACtqO,CAAD,CAAX,KAAiB,CAACkqO,EAAE,CAAClqO,CAAD,CAAF,GAAM8qO,EAAN,GAASL,EAAV,EAAcp1O,IAAd,CAAmBm1O,EAAE,CAACxqO,CAAD,CAArB,CAAvB;AAAiD,KAAtE;;AAAuE,UAAMgrO,EAAE,GAAC,UAAShrO,CAAT,EAAW2K,CAAX,EAAa;AAAC,aAAO,QAAM3K,CAAN,GAAQ,KAAK,CAAb,GAAeA,CAAC,CAAC2K,CAAD,CAAvB;AAA2B,KAAlD;;AAAmD,UAAMsgO,EAAE,GAAC,UAASjrO,CAAT,EAAW2K,CAAX,EAAa;AAAC,UAAIJ,CAAC,GAACygO,EAAE,CAAChrO,CAAD,EAAG2K,CAAH,CAAR;AAAc,aAAOogO,EAAE,CAACxgO,CAAD,CAAF,GAAMA,CAAN,GAAQ,KAAK,CAApB;AAAsB,KAA3D;;AAA4D,UAAM2gO,EAAE,GAACD,EAAE,CAAClD,EAAD,EAAI,KAAJ,CAAX;AAAsB,UAAMoD,EAAE,GAACF,EAAE,CAAC9oO,MAAD,EAAQ,QAAR,CAAX;;AAA6B,UAAMkyL,EAAE,GAAC,YAAU;AAAC,WAAK+0C,QAAL,GAAc+B,EAAE,GAACA,EAAE,CAAC,IAAD,CAAH,GAAU,EAA1B,EAA6B,KAAKh5J,IAAL,GAAU,CAAvC;AAAyC,KAA7D;;AAA8D,UAAMi5J,EAAE,GAAC,UAASprO,CAAT,EAAW;AAAC,UAAI2K,CAAC,GAAC,KAAKmkB,GAAL,CAAS9uB,CAAT,KAAa,OAAO,KAAKopO,QAAL,CAAcppO,CAAd,CAA1B;AAA2C,aAAO,KAAKmyE,IAAL,IAAWxnE,CAAC,GAAC,CAAD,GAAG,CAAf,EAAiBA,CAAxB;AAA0B,KAA1F;;AAA2F,QAAIooL,EAAE,GAAC5wL,MAAM,CAAC8H,SAAP,CAAiBC,cAAxB;;AAAuC,UAAMmhO,EAAE,GAAC,UAASrrO,CAAT,EAAW;AAAC,UAAI2K,CAAC,GAAC,KAAKy+N,QAAX;;AAAoB,UAAG+B,EAAH,EAAM;AAAC,YAAI5gO,CAAC,GAACI,CAAC,CAAC3K,CAAD,CAAP;AAAW,eAAM,gCAA8BuK,CAA9B,GAAgC,KAAK,CAArC,GAAuCA,CAA7C;AAA+C;;AAAA,aAAOwoL,EAAE,CAAC5pL,IAAH,CAAQwB,CAAR,EAAU3K,CAAV,IAAa2K,CAAC,CAAC3K,CAAD,CAAd,GAAkB,KAAK,CAA9B;AAAgC,KAA1I;;AAA2I,QAAIsrO,EAAE,GAACnpO,MAAM,CAAC8H,SAAP,CAAiBC,cAAxB;;AAAuC,UAAMqhO,EAAE,GAAC,UAASvrO,CAAT,EAAW;AAAC,UAAI2K,CAAC,GAAC,KAAKy+N,QAAX;AAAoB,aAAO+B,EAAE,GAAC,KAAK,CAAL,KAASxgO,CAAC,CAAC3K,CAAD,CAAX,GAAesrO,EAAE,CAACniO,IAAH,CAAQwB,CAAR,EAAU3K,CAAV,CAAxB;AAAqC,KAA9E;;AAA+E,UAAM6zL,EAAE,GAAC,UAAS7zL,CAAT,EAAW2K,CAAX,EAAa;AAAC,UAAIJ,CAAC,GAAC,KAAK6+N,QAAX;AAAoB,aAAO,KAAKj3J,IAAL,IAAW,KAAKrjD,GAAL,CAAS9uB,CAAT,IAAY,CAAZ,GAAc,CAAzB,EAA2BuK,CAAC,CAACvK,CAAD,CAAD,GAAKmrO,EAAE,IAAE,KAAK,CAAL,KAASxgO,CAAb,GAAe,2BAAf,GAA2CA,CAA3E,EAA6E,IAApF;AAAyF,KAApI;;AAAqI,aAAS6gO,EAAT,CAAYxrO,CAAZ,EAAc;AAAC,UAAI2K,CAAC,GAAC,CAAC,CAAP;AAAA,UAASJ,CAAC,GAAC,QAAMvK,CAAN,GAAQ,CAAR,GAAUA,CAAC,CAACrzB,MAAvB;;AAA8B,WAAI,KAAK+xC,KAAL,EAAJ,EAAiB,EAAE/T,CAAF,GAAIJ,CAArB,GAAwB;AAAC,YAAIgC,CAAC,GAACvM,CAAC,CAAC2K,CAAD,CAAP;AAAW,aAAK7F,GAAL,CAASyH,CAAC,CAAC,CAAD,CAAV,EAAcA,CAAC,CAAC,CAAD,CAAf;AAAoB;AAAC;;AAAAi/N,IAAAA,EAAE,CAACvhO,SAAH,CAAayU,KAAb,GAAmB21K,EAAnB,EAAsBm3C,EAAE,CAACvhO,SAAH,CAAa2K,MAAb,GAAoBw2N,EAA1C,EAA6CI,EAAE,CAACvhO,SAAH,CAAaxpC,GAAb,GAAiB4qQ,EAA9D,EAAiEG,EAAE,CAACvhO,SAAH,CAAa6kB,GAAb,GAAiBy8M,EAAlF,EAAqFC,EAAE,CAACvhO,SAAH,CAAanF,GAAb,GAAiB+uL,EAAtG;AAAyG,UAAM43C,EAAE,GAACD,EAAT;;AAAY,UAAME,EAAE,GAAC,YAAU;AAAC,WAAKv5J,IAAL,GAAU,CAAV,EAAY,KAAKi3J,QAAL,GAAc;AAAC9qO,QAAAA,IAAI,EAAC,IAAImtO,EAAJ,EAAN;AAAajiQ,QAAAA,GAAG,EAAC,KAAI0hQ,EAAE,IAAErB,EAAR,GAAjB;AAA6BxrD,QAAAA,MAAM,EAAC,IAAIotD,EAAJ;AAApC,OAA1B;AAAsE,KAA1F;;AAA2F,UAAM9+C,EAAE,GAAC,UAAS3sL,CAAT,EAAW;AAAC,UAAI2K,CAAC,GAAC,OAAO3K,CAAb;AAAe,aAAM,YAAU2K,CAAV,IAAa,YAAUA,CAAvB,IAA0B,YAAUA,CAApC,IAAuC,aAAWA,CAAlD,GAAoD,gBAAc3K,CAAlE,GAAoE,SAAOA,CAAjF;AAAmF,KAAvH;;AAAwH,UAAMyvL,EAAE,GAAC,UAASzvL,CAAT,EAAW2K,CAAX,EAAa;AAAC,UAAIJ,CAAC,GAACvK,CAAC,CAACopO,QAAR;AAAiB,aAAOz8C,EAAE,CAAChiL,CAAD,CAAF,GAAMJ,CAAC,CAAC,YAAU,OAAOI,CAAjB,GAAmB,QAAnB,GAA4B,MAA7B,CAAP,GAA4CJ,CAAC,CAAC/gC,GAArD;AAAyD,KAAjG;;AAAkG,UAAMmiQ,EAAE,GAAC,UAAS3rO,CAAT,EAAW;AAAC,UAAI2K,CAAC,GAAC8kL,EAAE,CAAC,IAAD,EAAMzvL,CAAN,CAAF,CAAW4U,MAAX,CAAkB5U,CAAlB,CAAN;AAA2B,aAAO,KAAKmyE,IAAL,IAAWxnE,CAAC,GAAC,CAAD,GAAG,CAAf,EAAiBA,CAAxB;AAA0B,KAA1E;;AAA2E,UAAMihO,EAAE,GAAC,UAAS5rO,CAAT,EAAW;AAAC,aAAOyvL,EAAE,CAAC,IAAD,EAAMzvL,CAAN,CAAF,CAAWv/B,GAAX,CAAeu/B,CAAf,CAAP;AAAyB,KAA9C;;AAA+C,UAAM6rO,EAAE,GAAC,UAAS7rO,CAAT,EAAW;AAAC,aAAOyvL,EAAE,CAAC,IAAD,EAAMzvL,CAAN,CAAF,CAAW8uB,GAAX,CAAe9uB,CAAf,CAAP;AAAyB,KAA9C;;AAA+C,UAAMmyL,EAAE,GAAC,UAASnyL,CAAT,EAAW2K,CAAX,EAAa;AAAC,UAAIJ,CAAC,GAACklL,EAAE,CAAC,IAAD,EAAMzvL,CAAN,CAAR;AAAA,UAAiBuM,CAAC,GAAChC,CAAC,CAAC4nE,IAArB;AAA0B,aAAO5nE,CAAC,CAACzF,GAAF,CAAM9E,CAAN,EAAQ2K,CAAR,GAAW,KAAKwnE,IAAL,IAAW5nE,CAAC,CAAC4nE,IAAF,IAAQ5lE,CAAR,GAAU,CAAV,GAAY,CAAlC,EAAoC,IAA3C;AAAgD,KAAjG;;AAAkG,aAASu/N,EAAT,CAAY9rO,CAAZ,EAAc;AAAC,UAAI2K,CAAC,GAAC,CAAC,CAAP;AAAA,UAASJ,CAAC,GAAC,QAAMvK,CAAN,GAAQ,CAAR,GAAUA,CAAC,CAACrzB,MAAvB;;AAA8B,WAAI,KAAK+xC,KAAL,EAAJ,EAAiB,EAAE/T,CAAF,GAAIJ,CAArB,GAAwB;AAAC,YAAIgC,CAAC,GAACvM,CAAC,CAAC2K,CAAD,CAAP;AAAW,aAAK7F,GAAL,CAASyH,CAAC,CAAC,CAAD,CAAV,EAAcA,CAAC,CAAC,CAAD,CAAf;AAAoB;AAAC;;AAAAu/N,IAAAA,EAAE,CAAC7hO,SAAH,CAAayU,KAAb,GAAmBgtN,EAAnB,EAAsBI,EAAE,CAAC7hO,SAAH,CAAa2K,MAAb,GAAoB+2N,EAA1C,EAA6CG,EAAE,CAAC7hO,SAAH,CAAaxpC,GAAb,GAAiBmrQ,EAA9D,EAAiEE,EAAE,CAAC7hO,SAAH,CAAa6kB,GAAb,GAAiB+8M,EAAlF,EAAqFC,EAAE,CAAC7hO,SAAH,CAAanF,GAAb,GAAiBqtL,EAAtG;AAAyG,UAAM45C,EAAE,GAACD,EAAT;;AAAY,UAAMliD,EAAE,GAAC,UAAS5pL,CAAT,EAAW2K,CAAX,EAAa;AAAC,UAAIJ,CAAC,GAAC,KAAK6+N,QAAX;;AAAoB,UAAG7+N,CAAC,YAAYs/N,EAAhB,EAAmB;AAAC,YAAIt9N,CAAC,GAAChC,CAAC,CAAC6+N,QAAR;AAAiB,YAAG,CAAC8B,EAAD,IAAK3+N,CAAC,CAAC5/B,MAAF,GAAS,GAAjB,EAAqB,OAAO4/B,CAAC,CAACtG,IAAF,CAAO,CAACjG,CAAD,EAAG2K,CAAH,CAAP,GAAc,KAAKwnE,IAAL,GAAU,EAAE5nE,CAAC,CAAC4nE,IAA5B,EAAiC,IAAxC;AAA6C5nE,QAAAA,CAAC,GAAC,KAAK6+N,QAAL,GAAc,IAAI2C,EAAJ,CAAOx/N,CAAP,CAAhB;AAA0B;;AAAA,aAAOhC,CAAC,CAACzF,GAAF,CAAM9E,CAAN,EAAQ2K,CAAR,GAAW,KAAKwnE,IAAL,GAAU5nE,CAAC,CAAC4nE,IAAvB,EAA4B,IAAnC;AAAwC,KAApN;;AAAqN,aAAS65J,EAAT,CAAYhsO,CAAZ,EAAc;AAAC,UAAI2K,CAAC,GAAC,KAAKy+N,QAAL,GAAc,IAAIS,EAAJ,CAAO7pO,CAAP,CAApB;AAA8B,WAAKmyE,IAAL,GAAUxnE,CAAC,CAACwnE,IAAZ;AAAiB;;AAAA65J,IAAAA,EAAE,CAAC/hO,SAAH,CAAayU,KAAb,GAAmBorN,EAAnB,EAAsBkC,EAAE,CAAC/hO,SAAH,CAAa2K,MAAb,GAAoBm1N,EAA1C,EAA6CiC,EAAE,CAAC/hO,SAAH,CAAaxpC,GAAb,GAAiBupQ,EAA9D,EAAiEgC,EAAE,CAAC/hO,SAAH,CAAa6kB,GAAb,GAAiBm7M,EAAlF,EAAqF+B,EAAE,CAAC/hO,SAAH,CAAanF,GAAb,GAAiB8kL,EAAtG;AAAyG,UAAMnhI,EAAE,GAACujL,EAAT;;AAAY,UAAMC,EAAE,GAAC,UAASjsO,CAAT,EAAW2K,CAAX,EAAa;AAAC,WAAI,IAAIJ,CAAC,GAAC,CAAC,CAAP,EAASgC,CAAC,GAAC,QAAMvM,CAAN,GAAQ,CAAR,GAAUA,CAAC,CAACrzB,MAA3B,EAAkC,EAAE49B,CAAF,GAAIgC,CAAJ,IAAO,CAAC,CAAD,KAAK5B,CAAC,CAAC3K,CAAC,CAACuK,CAAD,CAAF,EAAMA,CAAN,EAAQvK,CAAR,CAA/C,EAA2D;;AAAC,aAAOA,CAAP;AAAS,KAA5F;;AAA6F,UAAMksO,EAAE,GAAC,YAAU;AAAC,UAAG;AAAC,YAAIlsO,CAAC,GAACirO,EAAE,CAAC9oO,MAAD,EAAQ,gBAAR,CAAR;AAAkC,eAAOnC,CAAC,CAAC,EAAD,EAAI,EAAJ,EAAO,EAAP,CAAD,EAAYA,CAAnB;AAAqB,OAA3D,CAA2D,OAAMA,CAAN,EAAQ,CAAE;AAAC,KAAjF,EAAT;;AAA6F,UAAMmsO,EAAE,GAAC,UAASnsO,CAAT,EAAW2K,CAAX,EAAaJ,CAAb,EAAe;AAAC,qBAAaI,CAAb,IAAgBuhO,EAAhB,GAAmBA,EAAE,CAAClsO,CAAD,EAAG2K,CAAH,EAAK;AAAC46C,QAAAA,YAAY,EAAC,CAAC,CAAf;AAAiBD,QAAAA,UAAU,EAAC,CAAC,CAA7B;AAA+Bp0E,QAAAA,KAAK,EAACq5B,CAArC;AAAuC6hO,QAAAA,QAAQ,EAAC,CAAC;AAAjD,OAAL,CAArB,GAA+EpsO,CAAC,CAAC2K,CAAD,CAAD,GAAKJ,CAApF;AAAsF,KAA/G;;AAAgH,QAAI8hO,EAAE,GAAClqO,MAAM,CAAC8H,SAAP,CAAiBC,cAAxB;;AAAuC,UAAMoiO,EAAE,GAAC,UAAStsO,CAAT,EAAW2K,CAAX,EAAaJ,CAAb,EAAe;AAAC,UAAIgC,CAAC,GAACvM,CAAC,CAAC2K,CAAD,CAAP;AAAW0hO,MAAAA,EAAE,CAACljO,IAAH,CAAQnJ,CAAR,EAAU2K,CAAV,KAAc0+N,EAAE,CAAC98N,CAAD,EAAGhC,CAAH,CAAhB,KAAwB,KAAK,CAAL,KAASA,CAAT,IAAYI,CAAC,IAAI3K,CAAzC,KAA6CmsO,EAAE,CAACnsO,CAAD,EAAG2K,CAAH,EAAKJ,CAAL,CAA/C;AAAuD,KAA3F;;AAA4F,UAAMgiO,EAAE,GAAC,UAASvsO,CAAT,EAAW2K,CAAX,EAAaJ,CAAb,EAAegC,CAAf,EAAiB;AAAC,UAAI51B,CAAC,GAAC,CAAC4zB,CAAP;AAASA,MAAAA,CAAC,KAAGA,CAAC,GAAC,EAAL,CAAD;;AAAU,WAAI,IAAIkC,CAAC,GAAC,CAAC,CAAP,EAASnC,CAAC,GAACK,CAAC,CAACh+B,MAAjB,EAAwB,EAAE8/B,CAAF,GAAInC,CAA5B,GAA+B;AAAC,YAAI83C,CAAC,GAACz3C,CAAC,CAAC8B,CAAD,CAAP;AAAA,YAAWkxI,CAAC,GAACpxI,CAAC,GAACA,CAAC,CAAChC,CAAC,CAAC63C,CAAD,CAAF,EAAMpiD,CAAC,CAACoiD,CAAD,CAAP,EAAWA,CAAX,EAAa73C,CAAb,EAAevK,CAAf,CAAF,GAAoB,KAAK,CAAvC;AAAyC,aAAK,CAAL,KAAS29I,CAAT,KAAaA,CAAC,GAAC39I,CAAC,CAACoiD,CAAD,CAAhB,GAAqBzrE,CAAC,GAACw1P,EAAE,CAAC5hO,CAAD,EAAG63C,CAAH,EAAKu7F,CAAL,CAAH,GAAW2uF,EAAE,CAAC/hO,CAAD,EAAG63C,CAAH,EAAKu7F,CAAL,CAAnC;AAA2C;;AAAA,aAAOpzI,CAAP;AAAS,KAA3K;;AAA4K,UAAMiiO,EAAE,GAAC,UAASxsO,CAAT,EAAW2K,CAAX,EAAa;AAAC,WAAI,IAAIJ,CAAC,GAAC,CAAC,CAAP,EAASgC,CAAC,GAACpH,KAAK,CAACnF,CAAD,CAApB,EAAwB,EAAEuK,CAAF,GAAIvK,CAA5B,GAA+BuM,CAAC,CAAChC,CAAD,CAAD,GAAKI,CAAC,CAACJ,CAAD,CAAN;;AAAU,aAAOgC,CAAP;AAAS,KAAzE;;AAA0E,UAAMkgO,EAAE,GAAC,UAASzsO,CAAT,EAAW;AAAC,aAAOuoO,EAAE,CAACvoO,CAAD,CAAF,IAAO,wBAAsB6zI,EAAE,CAAC7zI,CAAD,CAAtC;AAA0C,KAA/D;;AAAgE,QAAI0sO,EAAE,GAACvqO,MAAM,CAAC8H,SAAd;AAAA,QAAwB0iO,EAAE,GAACD,EAAE,CAACxiO,cAA9B;AAAA,QAA6C0iO,EAAE,GAACF,EAAE,CAAC7hO,oBAAnD;AAAwE,UAAMgiO,EAAE,GAACJ,EAAE,CAAC,YAAU;AAAC,aAAOjiO,SAAP;AAAiB,KAA5B,EAAD,CAAF,GAAmCiiO,EAAnC,GAAsC,UAASzsO,CAAT,EAAW;AAAC,aAAOuoO,EAAE,CAACvoO,CAAD,CAAF,IAAO2sO,EAAE,CAACxjO,IAAH,CAAQnJ,CAAR,EAAU,QAAV,CAAP,IAA4B,CAAC4sO,EAAE,CAACzjO,IAAH,CAAQnJ,CAAR,EAAU,QAAV,CAApC;AAAwD,KAAnH;;AAAoH,UAAM8sO,EAAE,GAAC,YAAU;AAAC,aAAM,CAAC,CAAP;AAAS,KAA7B;;AAA8B,QAAIC,EAAE,GAAC,SAA0BlmP,OAA1B,IAAmC,CAACA,OAAO,CAACmmP,QAA5C,IAAsDnmP,OAA7D;AAAA,QAAqEomP,EAAE,GAACF,EAAE,IAAE,YAAU,QAAd,IAA6B1vD,MAA7B,IAAqC,CAACA,MAAM,CAAC2vD,QAA7C,IAAuD3vD,MAA/H;AAAA,QAAsI6vD,EAAE,GAACD,EAAE,IAAEA,EAAE,CAACpmP,OAAH,KAAakmP,EAAjB,GAAoBhF,EAAE,CAACoF,MAAvB,GAA8B,KAAK,CAA5K;AAA8K,UAAMC,EAAE,GAAC,CAACF,EAAE,GAACA,EAAE,CAACG,QAAJ,GAAa,KAAK,CAArB,KAAyBP,EAAlC;AAAqC,QAAIQ,EAAE,GAAC,kBAAP;;AAA0B,UAAMC,EAAE,GAAC,UAASvtO,CAAT,EAAW2K,CAAX,EAAa;AAAC,UAAIJ,CAAC,GAAC,OAAOvK,CAAb;AAAe,aAAM,CAAC,EAAE2K,CAAC,GAAC,QAAMA,CAAN,GAAQ,gBAAR,GAAyBA,CAA7B,CAAD,KAAmC,YAAUJ,CAAV,IAAa,YAAUA,CAAV,IAAa+iO,EAAE,CAACj4O,IAAH,CAAQ2K,CAAR,CAA7D,KAA0EA,CAAC,GAAC,CAAC,CAA7E,IAAgFA,CAAC,GAAC,CAAF,IAAK,CAArF,IAAwFA,CAAC,GAAC2K,CAAhG;AAAkG,KAAxI;;AAAyI,UAAM6iO,EAAE,GAAC,UAASxtO,CAAT,EAAW;AAAC,aAAM,YAAU,OAAOA,CAAjB,IAAoBA,CAAC,GAAC,CAAC,CAAvB,IAA0BA,CAAC,GAAC,CAAF,IAAK,CAA/B,IAAkCA,CAAC,IAAE,gBAA3C;AAA4D,KAAjF;;AAAkF,QAAIytO,EAAE,GAAC,EAAP;AAAUA,IAAAA,EAAE,CAAC,uBAAD,CAAF,GAA4BA,EAAE,CAAC,uBAAD,CAAF,GAA4BA,EAAE,CAAC,oBAAD,CAAF,GAAyBA,EAAE,CAAC,qBAAD,CAAF,GAA0BA,EAAE,CAAC,qBAAD,CAAF,GAA0BA,EAAE,CAAC,qBAAD,CAAF,GAA0BA,EAAE,CAAC,4BAAD,CAAF,GAAiCA,EAAE,CAAC,sBAAD,CAAF,GAA2BA,EAAE,CAAC,sBAAD,CAAF,GAA2B,CAAC,CAAvP,EAAyPA,EAAE,CAAC,oBAAD,CAAF,GAAyBA,EAAE,CAAC,gBAAD,CAAF,GAAqBA,EAAE,CAAC,sBAAD,CAAF,GAA2BA,EAAE,CAAC,kBAAD,CAAF,GAAuBA,EAAE,CAAC,mBAAD,CAAF,GAAwBA,EAAE,CAAC,eAAD,CAAF,GAAoBA,EAAE,CAAC,gBAAD,CAAF,GAAqBA,EAAE,CAAC,mBAAD,CAAF,GAAwBA,EAAE,CAAC,cAAD,CAAF,GAAmBA,EAAE,CAAC,iBAAD,CAAF,GAAsBA,EAAE,CAAC,iBAAD,CAAF,GAAsBA,EAAE,CAAC,iBAAD,CAAF,GAAsBA,EAAE,CAAC,cAAD,CAAF,GAAmBA,EAAE,CAAC,iBAAD,CAAF,GAAsBA,EAAE,CAAC,kBAAD,CAAF,GAAuB,CAAC,CAAxkB;;AAA0kB,UAAMC,EAAE,GAAC,UAAS1tO,CAAT,EAAW;AAAC,aAAOuoO,EAAE,CAACvoO,CAAD,CAAF,IAAOwtO,EAAE,CAACxtO,CAAC,CAACrzB,MAAH,CAAT,IAAqB,CAAC,CAAC8gQ,EAAE,CAAC55F,EAAE,CAAC7zI,CAAD,CAAH,CAAhC;AAAwC,KAA7D;;AAA8D,UAAM2tO,EAAE,GAAC,UAAS3tO,CAAT,EAAW;AAAC,aAAO,UAAS2K,CAAT,EAAW;AAAC,eAAO3K,CAAC,CAAC2K,CAAD,CAAR;AAAY,OAA/B;AAAgC,KAArD;;AAAsD,QAAIijO,EAAE,GAAC,SAA0B/mP,OAA1B,IAAmC,CAACA,OAAO,CAACmmP,QAA5C,IAAsDnmP,OAA7D;AAAA,QAAqEgnP,EAAE,GAACD,EAAE,IAAE,YAAU,QAAd,IAA6BvwD,MAA7B,IAAqC,CAACA,MAAM,CAAC2vD,QAA7C,IAAuD3vD,MAA/H;AAAA,QAAsIywD,EAAE,GAACD,EAAE,IAAEA,EAAE,CAAChnP,OAAH,KAAa+mP,EAAjB,IAAqB/F,CAAC,CAAC/wD,OAAhK;;AAAwK,UAAMi3D,EAAE,GAAC,YAAU;AAAC,UAAG;AAAC,YAAI/tO,CAAC,GAAC6tO,EAAE,IAAEA,EAAE,CAAC/oE,OAAP,IAAgB+oE,EAAE,CAAC/oE,OAAH,CAAW,MAAX,EAAmBs+C,KAAzC;;AAA+C,eAAOpjN,CAAC,IAAE8tO,EAAE,IAAEA,EAAE,CAACE,OAAP,IAAgBF,EAAE,CAACE,OAAH,CAAW,MAAX,CAA1B;AAA6C,OAAhG,CAAgG,OAAMhuO,CAAN,EAAQ,CAAE;AAAC,KAAtH,EAAT;;AAAkI,QAAIiuO,EAAE,GAACF,EAAE,IAAEA,EAAE,CAACG,YAAd;AAA2B,UAAMC,EAAE,GAACF,EAAE,GAACN,EAAE,CAACM,EAAD,CAAH,GAAQP,EAAnB;AAAsB,QAAIU,EAAE,GAACjsO,MAAM,CAAC8H,SAAP,CAAiBC,cAAxB;;AAAuC,UAAMmkO,EAAE,GAAC,UAASruO,CAAT,EAAW2K,CAAX,EAAa;AAAC,UAAIJ,CAAC,GAAC+9N,EAAE,CAACtoO,CAAD,CAAR;AAAA,UAAYuM,CAAC,GAAC,CAAChC,CAAD,IAAIsiO,EAAE,CAAC7sO,CAAD,CAApB;AAAA,UAAwBrpB,CAAC,GAAC,CAAC4zB,CAAD,IAAI,CAACgC,CAAL,IAAQ6gO,EAAE,CAACptO,CAAD,CAApC;AAAA,UAAwCyM,CAAC,GAAC,CAAClC,CAAD,IAAI,CAACgC,CAAL,IAAQ,CAAC51B,CAAT,IAAYw3P,EAAE,CAACnuO,CAAD,CAAxD;AAAA,UAA4DsK,CAAC,GAACC,CAAC,IAAEgC,CAAH,IAAM51B,CAAN,IAAS81B,CAAvE;AAAA,UAAyE21C,CAAC,GAAC93C,CAAC,GAACkiO,EAAE,CAACxsO,CAAC,CAACrzB,MAAH,EAAU+yD,MAAV,CAAH,GAAqB,EAAjG;AAAA,UAAoGi+G,CAAC,GAACv7F,CAAC,CAACz1E,MAAxG;;AAA+G,WAAI,IAAIu/M,CAAR,IAAalsL,CAAb,EAAe,CAAC2K,CAAD,IAAI,CAACyjO,EAAE,CAACjlO,IAAH,CAAQnJ,CAAR,EAAUksL,CAAV,CAAL,IAAmB5hL,CAAC,KAAG,YAAU4hL,CAAV,IAAav1M,CAAC,KAAG,YAAUu1M,CAAV,IAAa,YAAUA,CAA1B,CAAd,IAA4Cz/K,CAAC,KAAG,YAAUy/K,CAAV,IAAa,gBAAcA,CAA3B,IAA8B,gBAAcA,CAA/C,CAA7C,IAAgGqhD,EAAE,CAACrhD,CAAD,EAAGvuC,CAAH,CAArG,CAApB,IAAiIv7F,CAAC,CAACn8C,IAAF,CAAOimL,CAAP,CAAjI;;AAA2I,aAAO9pI,CAAP;AAAS,KAAzS;;AAA0S,QAAIksL,EAAE,GAACnsO,MAAM,CAAC8H,SAAd;;AAAwB,UAAMskO,EAAE,GAAC,UAASvuO,CAAT,EAAW;AAAC,UAAI2K,CAAC,GAAC3K,CAAC,IAAEA,CAAC,CAACvgC,WAAX;AAAuB,aAAOugC,CAAC,MAAI,cAAY,OAAO2K,CAAnB,IAAsBA,CAAC,CAACV,SAAxB,IAAmCqkO,EAAvC,CAAR;AAAmD,KAA/F;;AAAgG,UAAME,EAAE,GAAC57C,EAAE,CAACzwL,MAAM,CAACkD,IAAR,EAAalD,MAAb,CAAX;AAAgC,QAAIhiC,EAAE,GAACgiC,MAAM,CAAC8H,SAAP,CAAiBC,cAAxB;;AAAuC,UAAMgpL,EAAE,GAAC,UAASlzL,CAAT,EAAW;AAAC,UAAG,CAACuuO,EAAE,CAACvuO,CAAD,CAAN,EAAU,OAAOwuO,EAAE,CAACxuO,CAAD,CAAT;AAAa,UAAI2K,CAAC,GAAC,EAAN;;AAAS,WAAI,IAAIJ,CAAR,IAAapI,MAAM,CAACnC,CAAD,CAAnB,EAAuB7/B,EAAE,CAACgpC,IAAH,CAAQnJ,CAAR,EAAUuK,CAAV,KAAc,iBAAeA,CAA7B,IAAgCI,CAAC,CAAC1E,IAAF,CAAOsE,CAAP,CAAhC;;AAA0C,aAAOI,CAAP;AAAS,KAA/H;;AAAgI,UAAMlpB,EAAE,GAAC,UAASue,CAAT,EAAW;AAAC,aAAO,QAAMA,CAAN,IAASwtO,EAAE,CAACxtO,CAAC,CAACrzB,MAAH,CAAX,IAAuB,CAACu9P,EAAE,CAAClqO,CAAD,CAAjC;AAAqC,KAA1D;;AAA2D,UAAMyuO,EAAE,GAAC,UAASzuO,CAAT,EAAW;AAAC,aAAOve,EAAE,CAACue,CAAD,CAAF,GAAMquO,EAAE,CAACruO,CAAD,CAAR,GAAYkzL,EAAE,CAAClzL,CAAD,CAArB;AAAyB,KAA9C;;AAA+C,UAAM0uO,EAAE,GAAC,UAAS1uO,CAAT,EAAW2K,CAAX,EAAa;AAAC,aAAO3K,CAAC,IAAEusO,EAAE,CAAC5hO,CAAD,EAAG8jO,EAAE,CAAC9jO,CAAD,CAAL,EAAS3K,CAAT,CAAZ;AAAwB,KAA/C;;AAAgD,UAAM2uO,EAAE,GAAC,UAAS3uO,CAAT,EAAW;AAAC,UAAI2K,CAAC,GAAC,EAAN;AAAS,UAAG,QAAM3K,CAAT,EAAW,KAAI,IAAIuK,CAAR,IAAapI,MAAM,CAACnC,CAAD,CAAnB,EAAuB2K,CAAC,CAAC1E,IAAF,CAAOsE,CAAP;AAAU,aAAOI,CAAP;AAAS,KAAnF;;AAAoF,QAAIikO,EAAE,GAACzsO,MAAM,CAAC8H,SAAP,CAAiBC,cAAxB;;AAAuC,UAAM2kO,EAAE,GAAC,UAAS7uO,CAAT,EAAW;AAAC,UAAG,CAACilL,CAAC,CAACjlL,CAAD,CAAL,EAAS,OAAO2uO,EAAE,CAAC3uO,CAAD,CAAT;AAAa,UAAI2K,CAAC,GAAC4jO,EAAE,CAACvuO,CAAD,CAAR;AAAA,UAAYuK,CAAC,GAAC,EAAd;;AAAiB,WAAI,IAAIgC,CAAR,IAAavM,CAAb,EAAe,CAAC,iBAAeuM,CAAf,IAAkB,CAAC5B,CAAD,IAAIikO,EAAE,CAACzlO,IAAH,CAAQnJ,CAAR,EAAUuM,CAAV,CAAvB,KAAsChC,CAAC,CAACtE,IAAF,CAAOsG,CAAP,CAAtC;;AAAgD,aAAOhC,CAAP;AAAS,KAApI;;AAAqI,UAAMukO,EAAE,GAAC,UAAS9uO,CAAT,EAAW;AAAC,aAAOve,EAAE,CAACue,CAAD,CAAF,GAAMquO,EAAE,CAACruO,CAAD,EAAG,CAAC,CAAJ,CAAR,GAAe6uO,EAAE,CAAC7uO,CAAD,CAAxB;AAA4B,KAAjD;;AAAkD,UAAM+uO,EAAE,GAAC,UAAS/uO,CAAT,EAAW2K,CAAX,EAAa;AAAC,aAAO3K,CAAC,IAAEusO,EAAE,CAAC5hO,CAAD,EAAGmkO,EAAE,CAACnkO,CAAD,CAAL,EAAS3K,CAAT,CAAZ;AAAwB,KAA/C;;AAAgD,QAAIgvO,EAAE,GAAC,SAA0BnoP,OAA1B,IAAmC,CAACA,OAAO,CAACmmP,QAA5C,IAAsDnmP,OAA7D;AAAA,QAAqEooP,EAAE,GAACD,EAAE,IAAE,YAAU,QAAd,IAA6B3xD,MAA7B,IAAqC,CAACA,MAAM,CAAC2vD,QAA7C,IAAuD3vD,MAA/H;AAAA,QAAsI6xD,EAAE,GAACD,EAAE,IAAEA,EAAE,CAACpoP,OAAH,KAAamoP,EAAjB,GAAoBjH,EAAE,CAACoF,MAAvB,GAA8B,KAAK,CAA5K;AAAA,QAA8K36C,EAAE,GAAC08C,EAAE,GAACA,EAAE,CAACC,WAAJ,GAAgB,KAAK,CAAxM;;AAA0M,UAAM/yG,EAAE,GAAC,UAASp8H,CAAT,EAAW2K,CAAX,EAAa;AAAC,UAAGA,CAAH,EAAK,OAAO3K,CAAC,CAAC04E,KAAF,EAAP;AAAiB,UAAInuE,CAAC,GAACvK,CAAC,CAACrzB,MAAR;AAAA,UAAe4/B,CAAC,GAACimL,EAAE,GAACA,EAAE,CAACjoL,CAAD,CAAH,GAAO,IAAIvK,CAAC,CAACvgC,WAAN,CAAkB8qC,CAAlB,CAA1B;AAA+C,aAAOvK,CAAC,CAACovO,IAAF,CAAO7iO,CAAP,GAAUA,CAAjB;AAAmB,KAA/G;;AAAgH,UAAMskL,EAAE,GAAC,UAAS7wL,CAAT,EAAW2K,CAAX,EAAa;AAAC,UAAIJ,CAAC,GAAC,CAAC,CAAP;AAAA,UAASgC,CAAC,GAACvM,CAAC,CAACrzB,MAAb;;AAAoB,WAAIg+B,CAAC,KAAGA,CAAC,GAACxF,KAAK,CAACoH,CAAD,CAAV,CAAL,EAAoB,EAAEhC,CAAF,GAAIgC,CAAxB,GAA2B5B,CAAC,CAACJ,CAAD,CAAD,GAAKvK,CAAC,CAACuK,CAAD,CAAN;;AAAU,aAAOI,CAAP;AAAS,KAAzF;;AAA0F,UAAM6/K,EAAE,GAAC,UAASxqL,CAAT,EAAW2K,CAAX,EAAa;AAAC,WAAI,IAAIJ,CAAC,GAAC,CAAC,CAAP,EAASgC,CAAC,GAAC,QAAMvM,CAAN,GAAQ,CAAR,GAAUA,CAAC,CAACrzB,MAAvB,EAA8BgK,CAAC,GAAC,CAAhC,EAAkC81B,CAAC,GAAC,EAAxC,EAA2C,EAAElC,CAAF,GAAIgC,CAA/C,GAAkD;AAAC,YAAIjC,CAAC,GAACtK,CAAC,CAACuK,CAAD,CAAP;AAAWI,QAAAA,CAAC,CAACL,CAAD,EAAGC,CAAH,EAAKvK,CAAL,CAAD,KAAWyM,CAAC,CAAC91B,CAAC,EAAF,CAAD,GAAO2zB,CAAlB;AAAqB;;AAAA,aAAOmC,CAAP;AAAS,KAAnH;;AAAoH,UAAM4iO,EAAE,GAAC,YAAU;AAAC,aAAM,EAAN;AAAS,KAA7B;;AAA8B,QAAIC,EAAE,GAACntO,MAAM,CAAC8H,SAAP,CAAiBY,oBAAxB;AAAA,QAA6C0kO,EAAE,GAACptO,MAAM,CAACyI,qBAAvD;AAA6E,UAAM4kO,EAAE,GAACD,EAAE,GAAC,UAASvvO,CAAT,EAAW;AAAC,aAAO,QAAMA,CAAN,GAAQ,EAAR,IAAYA,CAAC,GAACmC,MAAM,CAACnC,CAAD,CAAR,EAAYwqL,EAAE,CAAC+kD,EAAE,CAACvvO,CAAD,CAAH,EAAQ,UAAS2K,CAAT,EAAW;AAAC,eAAO2kO,EAAE,CAACnmO,IAAH,CAAQnJ,CAAR,EAAU2K,CAAV,CAAP;AAAoB,OAAxC,CAA1B,CAAP;AAA6E,KAA1F,GAA2F0kO,EAAtG;;AAAyG,UAAMI,EAAE,GAAC,UAASzvO,CAAT,EAAW2K,CAAX,EAAa;AAAC,aAAO4hO,EAAE,CAACvsO,CAAD,EAAGwvO,EAAE,CAACxvO,CAAD,CAAL,EAAS2K,CAAT,CAAT;AAAqB,KAA5C;;AAA6C,UAAM+kO,EAAE,GAAC,UAAS1vO,CAAT,EAAW2K,CAAX,EAAa;AAAC,WAAI,IAAIJ,CAAC,GAAC,CAAC,CAAP,EAASgC,CAAC,GAAC5B,CAAC,CAACh+B,MAAb,EAAoBgK,CAAC,GAACqpB,CAAC,CAACrzB,MAA5B,EAAmC,EAAE49B,CAAF,GAAIgC,CAAvC,GAA0CvM,CAAC,CAACrpB,CAAC,GAAC4zB,CAAH,CAAD,GAAOI,CAAC,CAACJ,CAAD,CAAR;;AAAY,aAAOvK,CAAP;AAAS,KAAtF;;AAAuF,UAAM2vO,EAAE,GAACxtO,MAAM,CAACyI,qBAAP,GAA6B,UAAS5K,CAAT,EAAW;AAAC,WAAI,IAAI2K,CAAC,GAAC,EAAV,EAAa3K,CAAb,GAAgB0vO,EAAE,CAAC/kO,CAAD,EAAG6kO,EAAE,CAACxvO,CAAD,CAAL,CAAF,EAAYA,CAAC,GAAC2oO,EAAE,CAAC3oO,CAAD,CAAhB;;AAAoB,aAAO2K,CAAP;AAAS,KAAtF,GAAuF0kO,EAAhG;;AAAmG,UAAMO,EAAE,GAAC,UAAS5vO,CAAT,EAAW2K,CAAX,EAAa;AAAC,aAAO4hO,EAAE,CAACvsO,CAAD,EAAG2vO,EAAE,CAAC3vO,CAAD,CAAL,EAAS2K,CAAT,CAAT;AAAqB,KAA5C;;AAA6C,UAAMklO,EAAE,GAAC,UAAS7vO,CAAT,EAAW2K,CAAX,EAAaJ,CAAb,EAAe;AAAC,UAAIgC,CAAC,GAAC5B,CAAC,CAAC3K,CAAD,CAAP;AAAW,aAAOsoO,EAAE,CAACtoO,CAAD,CAAF,GAAMuM,CAAN,GAAQmjO,EAAE,CAACnjO,CAAD,EAAGhC,CAAC,CAACvK,CAAD,CAAJ,CAAjB;AAA0B,KAA9D;;AAA+D,UAAM8vO,EAAE,GAAC,UAAS9vO,CAAT,EAAW;AAAC,aAAO6vO,EAAE,CAAC7vO,CAAD,EAAGyuO,EAAH,EAAMe,EAAN,CAAT;AAAmB,KAAxC;;AAAyC,UAAMO,EAAE,GAAC,UAAS/vO,CAAT,EAAW;AAAC,aAAO6vO,EAAE,CAAC7vO,CAAD,EAAG8uO,EAAH,EAAMa,EAAN,CAAT;AAAmB,KAAxC;;AAAyC,UAAMK,EAAE,GAAC/E,EAAE,CAAClD,EAAD,EAAI,UAAJ,CAAX;AAA2B,UAAMkI,EAAE,GAAChF,EAAE,CAAClD,EAAD,EAAI,SAAJ,CAAX;AAA0B,UAAMmI,EAAE,GAACjF,EAAE,CAAClD,EAAD,EAAI,KAAJ,CAAX;AAAsB,UAAMoI,EAAE,GAAClF,EAAE,CAAClD,EAAD,EAAI,SAAJ,CAAX;AAA0B,QAAIqI,EAAE,GAAC,cAAP;AAAA,QAAsBC,EAAE,GAAC,kBAAzB;AAAA,QAA4CC,EAAE,GAAC,cAA/C;AAAA,QAA8DC,EAAE,GAAC,kBAAjE;AAAA,QAAoFC,EAAE,GAAC,mBAAvF;AAAA,QAA2GC,EAAE,GAACjG,EAAE,CAACwF,EAAD,CAAhH;AAAA,QAAqHU,EAAE,GAAClG,EAAE,CAACU,EAAD,CAA1H;AAAA,QAA+HyF,EAAE,GAACnG,EAAE,CAACyF,EAAD,CAApI;AAAA,QAAyIW,EAAE,GAACpG,EAAE,CAAC0F,EAAD,CAA9I;AAAA,QAAmJW,EAAE,GAACrG,EAAE,CAAC2F,EAAD,CAAxJ;AAAA,QAA6JW,EAAE,GAACj9F,EAAhK;AAAmK,KAACm8F,EAAE,IAAEc,EAAE,CAAC,IAAId,EAAJ,CAAO,IAAIvvL,WAAJ,CAAgB,CAAhB,CAAP,CAAD,CAAF,IAAgC+vL,EAApC,IAAwCtF,EAAE,IAAE4F,EAAE,CAAC,IAAI5F,EAAJ,EAAD,CAAF,IAAYkF,EAAxD,IAA4DH,EAAE,IAAEa,EAAE,CAACb,EAAE,CAACxmO,OAAH,EAAD,CAAF,IAAkB4mO,EAAlF,IAAsFH,EAAE,IAAEY,EAAE,CAAC,IAAIZ,EAAJ,EAAD,CAAF,IAAYI,EAAtG,IAA0GH,EAAE,IAAEW,EAAE,CAAC,IAAIX,EAAJ,EAAD,CAAF,IAAYI,EAA3H,MAAiIO,EAAE,GAAC,UAAS9wO,CAAT,EAAW;AAAC,UAAI2K,CAAC,GAACkpI,EAAE,CAAC7zI,CAAD,CAAR;AAAA,UAAYuK,CAAC,GAAC,qBAAmBI,CAAnB,GAAqB3K,CAAC,CAACvgC,WAAvB,GAAmC,KAAK,CAAtD;AAAA,UAAwD8sC,CAAC,GAAChC,CAAC,GAACigO,EAAE,CAACjgO,CAAD,CAAH,GAAO,EAAlE;AAAqE,UAAGgC,CAAH,EAAK,QAAOA,CAAP;AAAU,aAAKkkO,EAAL;AAAQ,iBAAOD,EAAP;;AAAU,aAAKE,EAAL;AAAQ,iBAAON,EAAP;;AAAU,aAAKO,EAAL;AAAQ,iBAAON,EAAP;;AAAU,aAAKO,EAAL;AAAQ,iBAAON,EAAP;;AAAU,aAAKO,EAAL;AAAQ,iBAAON,EAAP;AAA1F;AAAoG,aAAO5lO,CAAP;AAAS,KAAvU;AAAyU,UAAMomO,EAAE,GAACD,EAAT;AAAY,QAAIE,EAAE,GAAC7uO,MAAM,CAAC8H,SAAP,CAAiBC,cAAxB;;AAAuC,UAAM+mO,EAAE,GAAC,UAASjxO,CAAT,EAAW;AAAC,UAAI2K,CAAC,GAAC3K,CAAC,CAACrzB,MAAR;AAAA,UAAe49B,CAAC,GAAC,IAAIvK,CAAC,CAACvgC,WAAN,CAAkBkrC,CAAlB,CAAjB;AAAsC,aAAOA,CAAC,IAAE,YAAU,OAAO3K,CAAC,CAAC,CAAD,CAArB,IAA0BgxO,EAAE,CAAC7nO,IAAH,CAAQnJ,CAAR,EAAU,OAAV,CAA1B,KAA+CuK,CAAC,CAACiX,KAAF,GAAQxhB,CAAC,CAACwhB,KAAV,EAAgBjX,CAAC,CAACguB,KAAF,GAAQv4B,CAAC,CAACu4B,KAAzE,GAAgFhuB,CAAvF;AAAyF,KAApJ;;AAAqJ,UAAM2mO,EAAE,GAACnJ,EAAE,CAAC7xM,UAAZ;;AAAuB,UAAMi7M,EAAE,GAAC,UAASnxO,CAAT,EAAW;AAAC,UAAI2K,CAAC,GAAC,IAAI3K,CAAC,CAACvgC,WAAN,CAAkBugC,CAAC,CAAC0mK,UAApB,CAAN;AAAsC,aAAO,IAAIwqE,EAAJ,CAAOvmO,CAAP,EAAU7F,GAAV,CAAc,IAAIosO,EAAJ,CAAOlxO,CAAP,CAAd,GAAyB2K,CAAhC;AAAkC,KAA7F;;AAA8F,UAAMymO,EAAE,GAAC,UAASpxO,CAAT,EAAW2K,CAAX,EAAa;AAAC,UAAIJ,CAAC,GAACI,CAAC,GAACwmO,EAAE,CAACnxO,CAAC,CAAC67B,MAAH,CAAH,GAAc77B,CAAC,CAAC67B,MAAvB;AAA8B,aAAO,IAAI77B,CAAC,CAACvgC,WAAN,CAAkB8qC,CAAlB,EAAoBvK,CAAC,CAACqxO,UAAtB,EAAiCrxO,CAAC,CAAC0mK,UAAnC,CAAP;AAAsD,KAA3G;;AAA4G,QAAI4qE,EAAE,GAAC,MAAP;;AAAc,UAAMC,EAAE,GAAC,UAASvxO,CAAT,EAAW;AAAC,UAAI2K,CAAC,GAAC,IAAI3K,CAAC,CAACvgC,WAAN,CAAkBugC,CAAC,CAACuc,MAApB,EAA2B+0N,EAAE,CAACz0J,IAAH,CAAQ78E,CAAR,CAA3B,CAAN;AAA6C,aAAO2K,CAAC,CAAC6wL,SAAF,GAAYx7L,CAAC,CAACw7L,SAAd,EAAwB7wL,CAA/B;AAAiC,KAAnG;;AAAoG,QAAI6mO,EAAE,GAACnjD,EAAE,GAACA,EAAE,CAACpkL,SAAJ,GAAc,KAAK,CAA5B;AAAA,QAA8BwiJ,EAAE,GAAC+kF,EAAE,GAACA,EAAE,CAACv6C,OAAJ,GAAY,KAAK,CAApD;;AAAsD,UAAMnJ,EAAE,GAAC,UAAS9tL,CAAT,EAAW;AAAC,aAAOysJ,EAAE,GAACtqJ,MAAM,CAACsqJ,EAAE,CAACtjJ,IAAH,CAAQnJ,CAAR,CAAD,CAAP,GAAoB,EAA7B;AAAgC,KAArD;;AAAsD,UAAMyxO,EAAE,GAAC,UAASzxO,CAAT,EAAW2K,CAAX,EAAa;AAAC,UAAIJ,CAAC,GAACI,CAAC,GAACwmO,EAAE,CAACnxO,CAAC,CAAC67B,MAAH,CAAH,GAAc77B,CAAC,CAAC67B,MAAvB;AAA8B,aAAO,IAAI77B,CAAC,CAACvgC,WAAN,CAAkB8qC,CAAlB,EAAoBvK,CAAC,CAACqxO,UAAtB,EAAiCrxO,CAAC,CAACrzB,MAAnC,CAAP;AAAkD,KAAvG;;AAAwG,UAAM+kQ,EAAE,GAAC,UAAS1xO,CAAT,EAAW2K,CAAX,EAAaJ,CAAb,EAAe;AAAC,UAAIgC,CAAC,GAACvM,CAAC,CAACvgC,WAAR;;AAAoB,cAAOkrC,CAAP;AAAU,aAAI,sBAAJ;AAA2B,iBAAOwmO,EAAE,CAACnxO,CAAD,CAAT;;AAAa,aAAI,kBAAJ;AAAuB,aAAI,eAAJ;AAAoB,iBAAO,IAAIuM,CAAJ,CAAM,CAACvM,CAAP,CAAP;;AAAiB,aAAI,mBAAJ;AAAwB,iBAAOoxO,EAAE,CAACpxO,CAAD,EAAGuK,CAAH,CAAT;;AAAe,aAAI,uBAAJ;AAA4B,aAAI,uBAAJ;AAA4B,aAAI,oBAAJ;AAAyB,aAAI,qBAAJ;AAA0B,aAAI,qBAAJ;AAA0B,aAAI,qBAAJ;AAA0B,aAAI,4BAAJ;AAAiC,aAAI,sBAAJ;AAA2B,aAAI,sBAAJ;AAA2B,iBAAOknO,EAAE,CAACzxO,CAAD,EAAGuK,CAAH,CAAT;;AAAe,aAAI,cAAJ;AAAmB,aAAI,cAAJ;AAAmB,iBAAO,IAAIgC,CAAJ,EAAP;;AAAa,aAAI,iBAAJ;AAAsB,aAAI,iBAAJ;AAAsB,iBAAO,IAAIA,CAAJ,CAAMvM,CAAN,CAAP;;AAAgB,aAAI,iBAAJ;AAAsB,iBAAOuxO,EAAE,CAACvxO,CAAD,CAAT;;AAAa,aAAI,iBAAJ;AAAsB,iBAAO8tL,EAAE,CAAC9tL,CAAD,CAAT;AAAlkB;AAAglB,KAA7nB;;AAA8nB,QAAI2xO,EAAE,GAACxvO,MAAM,CAAC4G,MAAd;;AAAqB,UAAM2qL,EAAE,GAAC,YAAU;AAAC,eAAS1zL,CAAT,GAAY,CAAE;;AAAA,aAAO,UAAS2K,CAAT,EAAW;AAAC,YAAG,CAACs6K,CAAC,CAACt6K,CAAD,CAAL,EAAS,OAAM,EAAN;AAAS,YAAGgnO,EAAH,EAAM,OAAOA,EAAE,CAAChnO,CAAD,CAAT;AAAa3K,QAAAA,CAAC,CAACiK,SAAF,GAAYU,CAAZ;AAAc,YAAIJ,CAAC,GAAC,IAAIvK,CAAJ,EAAN;AAAY,eAAOA,CAAC,CAACiK,SAAF,GAAY,KAAK,CAAjB,EAAmBM,CAA1B;AAA4B,OAA9G;AAA+G,KAAxI,EAAT;;AAAoJ,UAAMqnO,EAAE,GAAC,UAAS5xO,CAAT,EAAW;AAAC,aAAM,cAAY,OAAOA,CAAC,CAACvgC,WAArB,IAAkC8uQ,EAAE,CAACvuO,CAAD,CAApC,GAAwC,EAAxC,GAA2C0zL,EAAE,CAACi1C,EAAE,CAAC3oO,CAAD,CAAH,CAAnD;AAA2D,KAAhF;;AAAiF,UAAM6xO,EAAE,GAAC,UAAS7xO,CAAT,EAAW;AAAC,aAAOuoO,EAAE,CAACvoO,CAAD,CAAF,IAAO,kBAAgB+wO,EAAE,CAAC/wO,CAAD,CAAhC;AAAoC,KAAzD;;AAA0D,QAAI8xO,EAAE,GAAC/D,EAAE,IAAEA,EAAE,CAACgE,KAAd;AAAoB,UAAMxyD,EAAE,GAACuyD,EAAE,GAACnE,EAAE,CAACmE,EAAD,CAAH,GAAQD,EAAnB;;AAAsB,UAAMG,EAAE,GAAC,UAAShyO,CAAT,EAAW;AAAC,aAAOuoO,EAAE,CAACvoO,CAAD,CAAF,IAAO,kBAAgB+wO,EAAE,CAAC/wO,CAAD,CAAhC;AAAoC,KAAzD;;AAA0D,QAAIiyO,EAAE,GAAClE,EAAE,IAAEA,EAAE,CAACmE,KAAd;AAAoB,UAAMC,EAAE,GAACF,EAAE,GAACtE,EAAE,CAACsE,EAAD,CAAH,GAAQD,EAAnB;AAAsB,QAAII,EAAE,GAAC,oBAAP;AAAA,QAA4BC,EAAE,GAAC,mBAA/B;AAAA,QAAmDxjD,EAAE,GAAC,iBAAtD;AAAA,QAAwEiC,EAAE,GAAC,EAA3E;AAA8EA,IAAAA,EAAE,CAACshD,EAAD,CAAF,GAAOthD,EAAE,CAAC,gBAAD,CAAF,GAAqBA,EAAE,CAAC,sBAAD,CAAF,GAA2BA,EAAE,CAAC,mBAAD,CAAF,GAAwBA,EAAE,CAAC,kBAAD,CAAF,GAAuBA,EAAE,CAAC,eAAD,CAAF,GAAoBA,EAAE,CAAC,uBAAD,CAAF,GAA4BA,EAAE,CAAC,uBAAD,CAAF,GAA4BA,EAAE,CAAC,oBAAD,CAAF,GAAyBA,EAAE,CAAC,qBAAD,CAAF,GAA0BA,EAAE,CAAC,qBAAD,CAAF,GAA0BA,EAAE,CAAC,cAAD,CAAF,GAAmBA,EAAE,CAAC,iBAAD,CAAF,GAAsBA,EAAE,CAACjC,EAAD,CAAF,GAAOiC,EAAE,CAAC,iBAAD,CAAF,GAAsBA,EAAE,CAAC,cAAD,CAAF,GAAmBA,EAAE,CAAC,iBAAD,CAAF,GAAsBA,EAAE,CAAC,iBAAD,CAAF,GAAsBA,EAAE,CAAC,qBAAD,CAAF,GAA0BA,EAAE,CAAC,4BAAD,CAAF,GAAiCA,EAAE,CAAC,sBAAD,CAAF,GAA2BA,EAAE,CAAC,sBAAD,CAAF,GAA2B,CAAC,CAAtf,EAAwfA,EAAE,CAAC,gBAAD,CAAF,GAAqBA,EAAE,CAACuhD,EAAD,CAAF,GAAOvhD,EAAE,CAAC,kBAAD,CAAF,GAAuB,CAAC,CAA5iB;;AAA8iB,UAAMrG,EAAE,GAAC,SAASzqL,CAAT,CAAW2K,CAAX,EAAaJ,CAAb,EAAegC,CAAf,EAAiB51B,CAAjB,EAAmB81B,CAAnB,EAAqBnC,CAArB,EAAuB;AAAC,UAAI83C,CAAJ;AAAA,UAAMu7F,CAAC,GAAC,IAAEpzI,CAAV;AAAA,UAAY2hL,CAAC,GAAC,IAAE3hL,CAAhB;AAAA,UAAkBX,CAAC,GAAC,IAAEW,CAAtB;AAAwB,UAAGgC,CAAC,KAAG61C,CAAC,GAAC31C,CAAC,GAACF,CAAC,CAAC5B,CAAD,EAAGh0B,CAAH,EAAK81B,CAAL,EAAOnC,CAAP,CAAF,GAAYiC,CAAC,CAAC5B,CAAD,CAAnB,CAAD,EAAyB,KAAK,CAAL,KAASy3C,CAArC,EAAuC,OAAOA,CAAP;AAAS,UAAG,CAAC6iI,CAAC,CAACt6K,CAAD,CAAL,EAAS,OAAOA,CAAP;AAAS,UAAIisI,CAAC,GAAC0xF,EAAE,CAAC39N,CAAD,CAAR;;AAAY,UAAGisI,CAAH,EAAK;AAAC,YAAGx0F,CAAC,GAAC6uL,EAAE,CAACtmO,CAAD,CAAJ,EAAQ,CAACgzI,CAAZ,EAAc,OAAOkzC,EAAE,CAAClmL,CAAD,EAAGy3C,CAAH,CAAT;AAAe,OAAnC,MAAuC;AAAC,YAAIt9D,CAAC,GAACisP,EAAE,CAACpmO,CAAD,CAAR;AAAA,YAAYX,CAAC,GAACllB,CAAC,IAAEutP,EAAH,IAAO,gCAA8BvtP,CAAnD;AAAqD,YAAGsoP,EAAE,CAACziO,CAAD,CAAL,EAAS,OAAOyxH,EAAE,CAACzxH,CAAD,EAAGgzI,CAAH,CAAT;;AAAe,YAAG74J,CAAC,IAAE+pM,EAAH,IAAO/pM,CAAC,IAAEstP,EAAV,IAAcpoO,CAAC,IAAE,CAACyC,CAArB,EAAuB;AAAC,cAAG21C,CAAC,GAAC8pI,CAAC,IAAEliL,CAAH,GAAK,EAAL,GAAQ4nO,EAAE,CAACjnO,CAAD,CAAZ,EAAgB,CAACgzI,CAApB,EAAsB,OAAOuuC,CAAC,GAAC0jD,EAAE,CAACjlO,CAAD,EAAGokO,EAAE,CAAC3sL,CAAD,EAAGz3C,CAAH,CAAL,CAAH,GAAe8kO,EAAE,CAAC9kO,CAAD,EAAG+jO,EAAE,CAACtsL,CAAD,EAAGz3C,CAAH,CAAL,CAAzB;AAAqC,SAAnF,MAAuF;AAAC,cAAG,CAACmmL,EAAE,CAAChsM,CAAD,CAAN,EAAU,OAAO2nB,CAAC,GAAC9B,CAAD,GAAG,EAAX;AAAcy3C,UAAAA,CAAC,GAACsvL,EAAE,CAAC/mO,CAAD,EAAG7lB,CAAH,EAAK64J,CAAL,CAAJ;AAAY;AAAC;;AAAArzI,MAAAA,CAAC,KAAGA,CAAC,GAAC,IAAIm+C,EAAJ,EAAL,CAAD;AAAc,UAAIz8C,CAAC,GAAC1B,CAAC,CAAC7pC,GAAF,CAAMkqC,CAAN,CAAN;AAAe,UAAGqB,CAAH,EAAK,OAAOA,CAAP;AAAS1B,MAAAA,CAAC,CAACxF,GAAF,CAAM6F,CAAN,EAAQy3C,CAAR,GAAW+vL,EAAE,CAACxnO,CAAD,CAAF,GAAMA,CAAC,CAAC9E,OAAF,CAAW,UAASlvB,CAAT,EAAW;AAACyrE,QAAAA,CAAC,CAACxtD,GAAF,CAAMoL,CAAC,CAACrpB,CAAD,EAAG4zB,CAAH,EAAKgC,CAAL,EAAO51B,CAAP,EAASg0B,CAAT,EAAWL,CAAX,CAAP;AAAsB,OAA7C,CAAN,GAAsDi1K,EAAE,CAAC50K,CAAD,CAAF,IAAOA,CAAC,CAAC9E,OAAF,CAAW,UAASlvB,CAAT,EAAW81B,CAAX,EAAa;AAAC21C,QAAAA,CAAC,CAACt9C,GAAF,CAAM2H,CAAN,EAAQzM,CAAC,CAACrpB,CAAD,EAAG4zB,CAAH,EAAKgC,CAAL,EAAOE,CAAP,EAAS9B,CAAT,EAAWL,CAAX,CAAT;AAAwB,OAAjD,CAAxE;AAA4H,UAAIkC,CAAC,GAACoqI,CAAC,GAAC,KAAK,CAAN,GAAQ,CAAChtI,CAAC,GAACsiL,CAAC,GAAC6jD,EAAD,GAAID,EAAN,GAAS5jD,CAAC,GAAC4iD,EAAD,GAAIL,EAAhB,EAAoB9jO,CAApB,CAAf;AAAsC,aAAOshO,EAAE,CAACz/N,CAAC,IAAE7B,CAAJ,EAAO,UAASh0B,CAAT,EAAW81B,CAAX,EAAa;AAACD,QAAAA,CAAC,KAAG71B,CAAC,GAACg0B,CAAC,CAAC8B,CAAC,GAAC91B,CAAH,CAAN,CAAD,EAAc21P,EAAE,CAAClqL,CAAD,EAAG31C,CAAH,EAAKzM,CAAC,CAACrpB,CAAD,EAAG4zB,CAAH,EAAKgC,CAAL,EAAOE,CAAP,EAAS9B,CAAT,EAAWL,CAAX,CAAN,CAAhB;AAAqC,OAA1D,CAAF,EAA+D83C,CAAtE;AAAwE,KAA9oB;;AAA+oB,UAAMkwL,EAAE,GAAC,UAAStyO,CAAT,EAAW2K,CAAX,EAAa;AAAC,aAAO8/K,EAAE,CAACzqL,CAAD,EAAG,CAAH,EAAK2K,CAAC,GAAC,cAAY,OAAOA,CAAnB,GAAqBA,CAArB,GAAuB,KAAK,CAAnC,CAAT;AAA+C,KAAtE;;AAAuE,UAAM4nO,EAAE,GAAC,UAASvyO,CAAT,EAAW;AAAC,aAAOuoO,EAAE,CAACvoO,CAAD,CAAF,IAAO,MAAIA,CAAC,CAACgtO,QAAb,IAAuB,CAAC9D,EAAE,CAAClpO,CAAD,CAAjC;AAAqC,KAA1D;;AAA2D,UAAMwyO,EAAN,CAAQ;AAAC/yQ,MAAAA,WAAW,CAACugC,CAAD,EAAG2K,CAAH,EAAK;AAAC,aAAKy3E,OAAL,GAAa,EAAb,EAAgBz3E,CAAC,IAAE,KAAK4yK,MAAL,CAAYk1D,EAAE,CAAC9nO,CAAD,CAAd,CAAnB,EAAsC3K,CAAC,IAAE,KAAK0yO,kBAAL,CAAwB,KAAKtwJ,OAA7B,EAAqCpiF,CAArC,CAAzC;AAAiF;;AAAA8E,MAAAA,GAAG,CAAC9E,CAAD,EAAG2K,CAAH,EAAK;AAAC,aAAKgoO,YAAL,CAAkB,KAAKvwJ,OAAvB,EAA+BpiF,CAA/B,EAAiC2K,CAAjC;AAAoC;;AAAA4yK,MAAAA,MAAM,CAACv9K,CAAD,EAAG2K,CAAH,EAAK;AAAC,aAAKgoO,YAAL,CAAkB,KAAKvwJ,OAAvB,EAA+BpiF,CAA/B,EAAiC2K,CAAjC,EAAmC,CAAC,CAApC;AAAuC;;AAAAlqC,MAAAA,GAAG,CAACu/B,CAAD,EAAG;AAAC,eAAO,KAAK4yO,cAAL,CAAoB,KAAKxwJ,OAAzB,EAAiCpiF,CAAjC,CAAP;AAA2C;;AAAM,OAAL49K,KAAK,GAAE;AAAC,aAAI,MAAM59K,CAAV,IAAemC,MAAM,CAACkD,IAAP,CAAY,KAAK+8E,OAAjB,CAAf,EAAyC,MAAMpiF,CAAN;AAAQ;;AAAA2yO,MAAAA,YAAY,CAAC3yO,CAAD,EAAG2K,CAAH,EAAKJ,CAAL,EAAOgC,CAAC,GAAC,CAAC,CAAV,EAAY;AAAC,YAAG28N,EAAE,CAACv+N,CAAD,CAAL,EAAS,OAAO,KAAK,KAAK+nO,kBAAL,CAAwB1yO,CAAxB,EAA0B2K,CAA1B,EAA4B4B,CAA5B,CAAZ;AAA2C,cAAM51B,CAAC,GAACg0B,CAAC,CAAC5rB,KAAF,CAAQ,GAAR,CAAR;AAAqB4rB,QAAAA,CAAC,GAACh0B,CAAC,CAAC4nB,GAAF,EAAF;;AAAU,aAAI,MAAMoM,CAAV,IAAeh0B,CAAf,EAAiBuyP,EAAE,CAAClpO,CAAC,CAAC2K,CAAD,CAAF,CAAF,KAAW3K,CAAC,CAAC2K,CAAD,CAAD,GAAK,EAAhB,GAAoB3K,CAAC,GAACA,CAAC,CAAC2K,CAAD,CAAvB;;AAA2B,YAAGu+N,EAAE,CAAC3+N,CAAD,CAAL,EAAS,OAAO2+N,EAAE,CAAClpO,CAAC,CAAC2K,CAAD,CAAF,CAAF,KAAW3K,CAAC,CAAC2K,CAAD,CAAD,GAAK,EAAhB,GAAoB3K,CAAC,GAACA,CAAC,CAAC2K,CAAD,CAAvB,EAA2B,KAAK,KAAK+nO,kBAAL,CAAwB1yO,CAAxB,EAA0BuK,CAA1B,EAA4BgC,CAA5B,CAAvC;AAAsEA,QAAAA,CAAC,IAAE,KAAK,CAAL,KAASvM,CAAC,CAAC2K,CAAD,CAAb,KAAmB3K,CAAC,CAAC2K,CAAD,CAAD,GAAKJ,CAAxB;AAA2B;;AAAAqoO,MAAAA,cAAc,CAAC5yO,CAAD,EAAG2K,CAAH,EAAK;AAAC,cAAMJ,CAAC,GAACI,CAAC,CAAC5rB,KAAF,CAAQ,GAAR,CAAR;AAAqB4rB,QAAAA,CAAC,GAACJ,CAAC,CAAChM,GAAF,EAAF;;AAAU,aAAI,MAAMoM,CAAV,IAAeJ,CAAf,EAAiB;AAAC,cAAG,CAAC2+N,EAAE,CAAClpO,CAAC,CAAC2K,CAAD,CAAF,CAAN,EAAa;AAAC3K,YAAAA,CAAC,GAAC,IAAF;AAAO;AAAM;;AAAAA,UAAAA,CAAC,GAACA,CAAC,CAAC2K,CAAD,CAAH;AAAO;;AAAA,eAAO3K,CAAC,GAACyyO,EAAE,CAACzyO,CAAC,CAAC2K,CAAD,CAAF,CAAH,GAAU,KAAK,CAAvB;AAAyB;;AAAA+nO,MAAAA,kBAAkB,CAAC1yO,CAAD,EAAG2K,CAAH,EAAKJ,CAAL,EAAO;AAACpI,QAAAA,MAAM,CAACkD,IAAP,CAAYsF,CAAZ,EAAe9E,OAAf,CAAwB0G,CAAC,IAAE;AAAC,eAAKomO,YAAL,CAAkB3yO,CAAlB,EAAoBuM,CAApB,EAAsB5B,CAAC,CAAC4B,CAAD,CAAvB,EAA2BhC,CAA3B;AAA8B,SAA1D;AAA6D;;AAAxwB;;AAAywB,aAASkoO,EAAT,CAAYzyO,CAAZ,EAAc;AAAC,aAAOsyO,EAAE,CAACtyO,CAAD,EAAG6yO,EAAH,CAAT;AAAgB;;AAAA,aAASA,EAAT,CAAY7yO,CAAZ,EAAc;AAAC,aAAOuyO,EAAE,CAACvyO,CAAD,CAAF,IAAO,cAAY,OAAOA,CAA1B,GAA4BA,CAA5B,GAA8B,KAAK,CAA1C;AAA4C;;AAAA,aAASq2L,EAAT,CAAYr2L,CAAZ,EAAc;AAAC,UAAGA,CAAH,EAAK;AAAC,YAAGA,CAAC,CAAC8yO,WAAL,EAAiB,OAAO9yO,CAAC,YAAYA,CAAC,CAAC8yO,WAAF,CAAcC,QAAlC;AAA2C,YAAG/yO,CAAC,CAACgzO,aAAF,IAAiBhzO,CAAC,CAACgzO,aAAF,CAAgBF,WAApC,EAAgD,OAAO9yO,CAAC,YAAYA,CAAC,CAACgzO,aAAF,CAAgBF,WAAhB,CAA4BG,IAAhD;AAAqD;;AAAA,aAAM,CAAC,CAAP;AAAS;;AAAA,aAASC,EAAT,CAAYlzO,CAAZ,EAAc;AAAC,YAAM2K,CAAC,GAACxI,MAAM,CAAC8H,SAAP,CAAiBiT,QAAjB,CAA0BzS,KAA1B,CAAgCzK,CAAhC,CAAR;AAA2C,aAAM,qBAAmB2K,CAAnB,IAAsB,qBAAmBA,CAA/C;AAAiD;;AAAA,UAAMwoO,EAAE,GAACC,EAAE,CAAC7N,CAAC,EAAF,CAAX;;AAAiB,aAAS6N,EAAT,CAAYpzO,CAAZ,EAAc;AAAC,UAAG,CAACA,CAAJ,EAAM,OAAOmzO,EAAP;AAAU,aAAO,cAAcnzO,CAAd,CAAe;AAACwlO,QAAAA,QAAQ,CAACxlO,CAAD,EAAG2K,CAAH,EAAKJ,CAAL,EAAOgC,CAAC,GAAC,EAAT,EAAY;AAAC,cAAG8pL,EAAE,CAACr2L,CAAD,CAAF,IAAOkzO,EAAE,CAAClzO,CAAD,CAAZ,EAAgB;AAAC,kBAAMrpB,CAAC,GAAC;AAAC+2J,cAAAA,OAAO,EAAC,CAAC,CAACnhI,CAAC,CAAC+gI,UAAb;AAAwB+lG,cAAAA,OAAO,EAAC,CAAC,CAAC9mO,CAAC,CAAC+mO;AAApC,aAAR;AAAA,kBAAwD7mO,CAAC,GAAC,KAAK8mO,gBAAL,CAAsBvzO,CAAtB,EAAwBrpB,CAAxB,KAA4B,IAAI68P,EAAJ,CAAOxzO,CAAP,EAASrpB,CAAT,CAAtF;AAAkG,iBAAK6uP,QAAL,CAAc/4N,CAAd,EAAgB9B,CAAhB,EAAkBJ,CAAlB,EAAoBgC,CAApB;AAAuB,WAA1I,MAA+I,MAAMi5N,QAAN,CAAexlO,CAAf,EAAiB2K,CAAjB,EAAmBJ,CAAnB,EAAqBgC,CAArB;AAAwB;;AAAAm5N,QAAAA,aAAa,CAAC1lO,CAAD,EAAG2K,CAAH,EAAKJ,CAAL,EAAO;AAAC,cAAG8rL,EAAE,CAACr2L,CAAD,CAAF,IAAOkzO,EAAE,CAAClzO,CAAD,CAAZ,EAAgB;AAAC,kBAAMuM,CAAC,GAAC,KAAKknO,oBAAL,CAA0BzzO,CAA1B,CAAR;;AAAqC,iBAAI,MAAMA,CAAV,IAAeuM,CAAf,EAAiB,KAAKm5N,aAAL,CAAmB1lO,CAAnB,EAAqB2K,CAArB,EAAuBJ,CAAvB;AAA0B,WAAjG,MAAsG,MAAMm7N,aAAN,CAAoB1lO,CAApB,EAAsB2K,CAAtB,EAAwBJ,CAAxB;AAA2B;;AAAAgpO,QAAAA,gBAAgB,CAACvzO,CAAD,EAAG2K,CAAH,EAAK;AAAC,iBAAO,UAAS3K,CAAT,EAAW2K,CAAX,EAAa;AAAC,kBAAMJ,CAAC,GAACvK,CAAC,CAAC7pB,CAAD,CAAT;AAAa,mBAAOo0B,CAAC,IAAEA,CAAC,CAACI,CAAD,CAAJ,GAAQJ,CAAC,CAACI,CAAD,CAAD,CAAKk7N,OAAb,GAAqB,IAA5B;AAAiC,WAA5D,CAA6D,IAA7D,EAAkE6N,EAAE,CAAC1zO,CAAD,EAAG2K,CAAH,CAApE,CAAP;AAAkF;;AAAA8oO,QAAAA,oBAAoB,CAACzzO,CAAD,EAAG;AAAC,iBAAM,CAAC;AAAC0tI,YAAAA,OAAO,EAAC,CAAC,CAAV;AAAY2lG,YAAAA,OAAO,EAAC,CAAC;AAArB,WAAD,EAAyB;AAAC3lG,YAAAA,OAAO,EAAC,CAAC,CAAV;AAAY2lG,YAAAA,OAAO,EAAC,CAAC;AAArB,WAAzB,EAAiD;AAAC3lG,YAAAA,OAAO,EAAC,CAAC,CAAV;AAAY2lG,YAAAA,OAAO,EAAC,CAAC;AAArB,WAAjD,EAAyE;AAAC3lG,YAAAA,OAAO,EAAC,CAAC,CAAV;AAAY2lG,YAAAA,OAAO,EAAC,CAAC;AAArB,WAAzE,EAAkG7pQ,GAAlG,CAAuGmhC,CAAC,IAAE,KAAK4oO,gBAAL,CAAsBvzO,CAAtB,EAAwB2K,CAAxB,CAA1G,EAAuIhhC,MAAvI,CAA+Iq2B,CAAC,IAAE,CAAC,CAACA,CAApJ,CAAN;AAA8J;;AAAjnB,OAAtB;AAAyoB;;AAAA,KAAC,kBAAD,EAAoB,sBAApB,EAA2C,IAA3C,EAAgD,MAAhD,EAAuD,KAAvD,EAA6D,UAA7D,EAAwE,eAAxE,EAAwF,MAAxF,EAA+F,UAA/F,EAA0G,gBAA1G,EAA2H,mBAA3H,EAA+I,sBAA/I,EAAuK6F,OAAvK,CAAgL7F,CAAC,IAAE;AAACozO,MAAAA,EAAE,CAACpzO,CAAD,CAAF,GAAMmzO,EAAE,CAAClpO,SAAH,CAAajK,CAAb,CAAN;AAAsB,KAA1M;;AAA6M,UAAMwzO,EAAN,SAAiBjO,CAAC,EAAlB,CAAqB;AAAC9lQ,MAAAA,WAAW,CAACugC,CAAD,EAAG2K,CAAH,EAAK;AAAC,iBAAQi7N,CAAC,CAAC,IAAD,EAAM8N,EAAE,CAAC1zO,CAAD,EAAG2K,CAAH,CAAR,CAAT,EAAwB,KAAKgpO,QAAL,GAAc3zO,CAAtC,EAAwC,KAAKqoK,QAAL,GAAc19J,CAAtD;AAAwD;;AAAAipO,MAAAA,MAAM,CAAC5zO,CAAD,EAAG;AAAC,YAAG,KAAK6zO,aAAL,IAAoB,KAAKA,aAAL,CAAmB7zO,CAAnB,CAAvB,EAA6C;;AAAO,cAAM2K,CAAC,GAAC,KAAKmpO,kBAAL,CAAwB9zO,CAAxB,CAAR;;AAAmC,aAAK2zO,QAAL,CAAc53N,gBAAd,CAA+B/b,CAA/B,EAAiC2K,CAAjC,EAAmC,KAAK09J,QAAxC,GAAkD,KAAKwrE,aAAL,KAAqB,KAAKA,aAAL,GAAmB,EAAxC,CAAlD,EAA8F,KAAKA,aAAL,CAAmB7zO,CAAnB,IAAsB2K,CAApH;AAAsH;;AAAAopO,MAAAA,MAAM,CAAC/zO,CAAD,EAAG;AAAC,YAAI2K,CAAJ;AAAM,SAAC,KAAKkpO,aAAL,CAAmB7zO,CAAnB,CAAD,IAAwB,CAAC2K,CAAC,GAAC,KAAK20F,OAAL,CAAat/F,CAAb,CAAH,KAAqB2K,CAAC,CAACmqE,SAAF,CAAYnoG,MAAzD,IAAiE,KAAKknQ,aAAL,CAAmB7zO,CAAnB,EAAsBg0O,cAAtB,EAAjE;AAAwG;;AAAAlO,MAAAA,iBAAiB,CAAC9lO,CAAD,EAAG2K,CAAH,EAAKJ,CAAL,EAAO;AAAC,aAAKqpO,MAAL,CAAY5zO,CAAZ,GAAeulO,CAAC,GAAGt7N,SAAJ,CAAc67N,iBAAd,CAAgC38N,IAAhC,CAAqC,IAArC,EAA0CnJ,CAA1C,EAA4C2K,CAA5C,EAA8CJ,CAA9C,CAAf;AAAgE;;AAAA07N,MAAAA,oBAAoB,CAACjmO,CAAD,EAAG2K,CAAH,EAAK;AAAC46N,QAAAA,CAAC,GAAGt7N,SAAJ,CAAcg8N,oBAAd,CAAmC98N,IAAnC,CAAwC,IAAxC,EAA6CnJ,CAA7C,EAA+C2K,CAA/C,GAAkD,KAAKopO,MAAL,CAAY/zO,CAAZ,CAAlD;AAAiE;;AAAA8zO,MAAAA,kBAAkB,CAAC9zO,CAAD,EAAG;AAAC,cAAM2K,CAAC,GAACA,CAAC,IAAE;AAAC,eAAK+6E,IAAL,CAAU1lF,CAAV,EAAY2K,CAAZ;AAAe,SAA3B;;AAA4B,eAAOA,CAAC,CAACqpO,cAAF,GAAiB,MAAI;AAAC,eAAKL,QAAL,CAAct3N,mBAAd,CAAkCrc,CAAlC,EAAoC2K,CAApC,EAAsC,KAAK09J,QAA3C,GAAqD,OAAO,KAAKwrE,aAAL,CAAmB7zO,CAAnB,CAA5D;AAAkF,SAAxG,EAAyG2K,CAAhH;AAAkH;;AAAjvB;;AAAkvB,aAAS+oO,EAAT,CAAY1zO,CAAZ,EAAc2K,CAAd,EAAgB;AAAC,UAAIJ,CAAC,GAAC,UAASvK,CAAT,EAAW;AAAC,eAAOA,CAAC,CAAC,iBAAD,CAAD,KAAuBA,CAAC,CAAC,iBAAD,CAAD,GAAqBgK,CAAC,EAA7C,CAAP;AAAwD,OAApE,CAAqEhK,CAArE,CAAN;;AAA8E,WAAI,MAAMA,CAAV,IAAemC,MAAM,CAACkD,IAAP,CAAYsF,CAAZ,EAAek2C,IAAf,EAAf,EAAqCl2C,CAAC,CAAC3K,CAAD,CAAD,KAAOuK,CAAC,IAAE,MAAIvK,CAAd;;AAAiB,aAAOuK,CAAP;AAAS;;AAAA,QAAI0pO,EAAJ;;AAAO,QAAG;AAACA,MAAAA,EAAE,GAAC;AAAC90P,QAAAA,MAAD;AAAQuiB,QAAAA;AAAR,OAAH;AAAqB,KAAzB,CAAyB,OAAM1B,CAAN,EAAQ;AAACi0O,MAAAA,EAAE,GAAC;AAAC90P,QAAAA,MAAM,EAAC,EAAR;AAAWuiB,QAAAA,QAAQ,EAAC;AAApB,OAAH;AAA2B;;AAAA,UAAMwyO,EAAE,GAACD,EAAT;;AAAY,aAASE,EAAT,CAAYn0O,CAAZ,EAAc;AAAC,aAAM,mBAAiBmC,MAAM,CAAC8H,SAAP,CAAiBiT,QAAjB,CAA0B/T,IAA1B,CAA+BnJ,CAA/B,CAAvB;AAAyD;;AAAA,aAASo0O,EAAT,CAAYp0O,CAAZ,EAAc;AAAC,aAAM,oBAAkBmC,MAAM,CAAC8H,SAAP,CAAiBiT,QAAjB,CAA0BzS,KAA1B,CAAgCzK,CAAhC,CAAxB;AAA2D;;AAAA,aAASq0O,EAAT,CAAYr0O,CAAZ,EAAc;AAAC,YAAM2K,CAAC,GAAC3K,CAAC,CAACgzO,aAAF,CAAgBF,WAAhB,CAA4BwB,gBAA5B,CAA6Ct0O,CAA7C,CAAR;AAAwD,aAAM;AAACk0C,QAAAA,GAAG,EAACtwC,QAAQ,CAAC+G,CAAC,CAAC4pO,cAAH,EAAkB,EAAlB,CAAb;AAAmC/nP,QAAAA,KAAK,EAACoX,QAAQ,CAAC+G,CAAC,CAAC6pO,gBAAH,EAAoB,EAApB,CAAjD;AAAyEC,QAAAA,MAAM,EAAC7wO,QAAQ,CAAC+G,CAAC,CAAC+pO,iBAAH,EAAqB,EAArB,CAAxF;AAAiHtgM,QAAAA,IAAI,EAACxwC,QAAQ,CAAC+G,CAAC,CAACgqO,eAAH,EAAmB,EAAnB;AAA9H,OAAN;AAA4J;;AAAA,aAASC,EAAT,CAAY50O,CAAZ,EAAc;AAAC,aAAOA,CAAC,IAAEA,CAAC,CAAC47C,UAAL,GAAgB57C,CAAC,CAAC60O,YAAF,KAAiBX,EAAE,CAACxyO,QAAH,CAAYrqB,IAA7B,GAAkC,IAAlC,GAAuC2oB,CAAC,CAAC60O,YAAzD,GAAsE,IAA7E;AAAkF;;AAAA,UAAMC,EAAE,GAAC,CAAC,KAAD,EAAO,OAAP,EAAe,QAAf,EAAwB,MAAxB,EAA+B,OAA/B,EAAuC,QAAvC,CAAT;;AAA0D,UAAMC,EAAN,CAAQ;AAACt1Q,MAAAA,WAAW,CAACugC,CAAD,EAAG;AAAC,cAAM2K,CAAC,GAACypO,EAAE,CAACp0O,CAAD,CAAV;AAAc,YAAGmC,MAAM,CAAC2iD,cAAP,CAAsB,IAAtB,EAA2B,SAA3B,EAAqC;AAAC5zE,UAAAA,KAAK,EAAC8uB,CAAC,CAACg1O,OAAF,IAAWh1O,CAAlB;AAAoBosO,UAAAA,QAAQ,EAAC,CAAC,CAA9B;AAAgC9mL,UAAAA,UAAU,EAAC,CAAC;AAA5C,SAArC,GAAqF2vL,EAAE,CAACj1O,CAAD,CAAF,IAAO2K,CAA/F;AAAiG,cAAGA,CAAH,EAAK;AAAC,kBAAMA,CAAC,GAACoqO,EAAE,CAACG,gBAAH,CAAoBl1O,CAApB,CAAR;AAA+Bm1O,YAAAA,EAAE,CAAC,IAAD,EAAMJ,EAAE,CAACK,eAAH,CAAmBzqO,CAAnB,CAAN,CAAF;AAA+B,WAApE,MAAyEwqO,EAAE,CAAC,IAAD,EAAMn1O,CAAC,CAACq1O,qBAAF,EAAN,CAAF;AAA1K,eAAkN,IAAGnC,EAAE,CAAClzO,CAAD,CAAL,EAAS;AAAC,gBAAK;AAAC0zC,YAAAA,UAAU,EAAC/oC,CAAZ;AAAcmpC,YAAAA,WAAW,EAACvpC;AAA1B,cAA6BvK,CAAlC;AAAoCm1O,UAAAA,EAAE,CAAC,IAAD,EAAM;AAACjhM,YAAAA,GAAG,EAAC,CAAL;AAAO1nD,YAAAA,KAAK,EAACme,CAAb;AAAe8pO,YAAAA,MAAM,EAAClqO,CAAtB;AAAwB6pC,YAAAA,IAAI,EAAC,CAA7B;AAA+BL,YAAAA,KAAK,EAACppC,CAArC;AAAuCspC,YAAAA,MAAM,EAAC1pC;AAA9C,WAAN,CAAF;AAA0D,SAAxG,MAA6G4qO,EAAE,CAAC,IAAD,EAAMn1O,CAAN,CAAF;AAAW;;AAAAJ,MAAAA,KAAK,GAAE;AAAC,eAAO,IAAIm1O,EAAJ,CAAO,IAAP,CAAP;AAAoB;;AAAAO,MAAAA,MAAM,CAACt1O,CAAD,EAAG2K,CAAH,EAAK;AAAC,eAAO,KAAKupC,GAAL,GAASvpC,CAAT,EAAW,KAAKne,KAAL,GAAWwT,CAAC,GAAC,KAAK+zC,KAA7B,EAAmC,KAAK0gM,MAAL,GAAY9pO,CAAC,GAAC,KAAKspC,MAAtD,EAA6D,KAAKG,IAAL,GAAUp0C,CAAvE,EAAyE,IAAhF;AAAqF;;AAAAu1O,MAAAA,MAAM,CAACv1O,CAAD,EAAG2K,CAAH,EAAK;AAAC,eAAO,KAAKupC,GAAL,IAAUvpC,CAAV,EAAY,KAAKne,KAAL,IAAYwT,CAAxB,EAA0B,KAAKo0C,IAAL,IAAWp0C,CAArC,EAAuC,KAAKy0O,MAAL,IAAa9pO,CAApD,EAAsD,IAA7D;AAAkE;;AAAA6qO,MAAAA,eAAe,CAACx1O,CAAD,EAAG;AAAC,cAAM2K,CAAC,GAAC;AAACupC,UAAAA,GAAG,EAAChY,IAAI,CAAC1qC,GAAL,CAAS,KAAK0iD,GAAd,EAAkBl0C,CAAC,CAACk0C,GAApB,CAAL;AAA8B1nD,UAAAA,KAAK,EAAC0vC,IAAI,CAACzqC,GAAL,CAAS,KAAKjF,KAAd,EAAoBwT,CAAC,CAACxT,KAAtB,CAApC;AAAiEioP,UAAAA,MAAM,EAACv4M,IAAI,CAACzqC,GAAL,CAAS,KAAKgjP,MAAd,EAAqBz0O,CAAC,CAACy0O,MAAvB,CAAxE;AAAuGrgM,UAAAA,IAAI,EAAClY,IAAI,CAAC1qC,GAAL,CAAS,KAAK4iD,IAAd,EAAmBp0C,CAAC,CAACo0C,IAArB,CAA5G;AAAuIL,UAAAA,KAAK,EAAC,CAA7I;AAA+IE,UAAAA,MAAM,EAAC;AAAtJ,SAAR;AAAiK,YAAGtpC,CAAC,CAACopC,KAAF,GAAQppC,CAAC,CAACne,KAAF,GAAQme,CAAC,CAACypC,IAAlB,EAAuBzpC,CAAC,CAACspC,MAAF,GAAStpC,CAAC,CAAC8pO,MAAF,GAAS9pO,CAAC,CAACupC,GAA3C,EAA+CvpC,CAAC,CAACopC,KAAF,GAAQ,CAAR,IAAWppC,CAAC,CAACspC,MAAF,GAAS,CAAtE,EAAwE,OAAO,IAAP;AAAY;AAAC,gBAAMj0C,CAAC,GAAC,IAAI+0O,EAAJ,CAAOpqO,CAAP,CAAR;AAAkB,iBAAO3K,CAAC,CAACg1O,OAAF,GAAU,KAAKA,OAAf,EAAuBh1O,CAA9B;AAAgC;AAAC;;AAAAy1O,MAAAA,mBAAmB,CAACz1O,CAAD,EAAG;AAAC,cAAM2K,CAAC,GAAC,KAAK6qO,eAAL,CAAqBx1O,CAArB,CAAR;AAAgC,eAAO2K,CAAC,GAACA,CAAC,CAAC+qO,OAAF,EAAD,GAAa,CAArB;AAAuB;;AAAAA,MAAAA,OAAO,GAAE;AAAC,eAAO,KAAK3hM,KAAL,GAAW,KAAKE,MAAvB;AAA8B;;AAAA0hM,MAAAA,UAAU,GAAE;AAAC,cAAM31O,CAAC,GAAC,KAAKg1O,OAAb;AAAqB,YAAIrqO,CAAC,GAAC,KAAK/K,KAAL,EAAN;AAAmB,YAAGg2O,EAAE,CAAC51O,CAAD,CAAL,EAAS,OAAO2K,CAAP;AAAS,YAAIJ,CAAJ;AAAA,YAAMgC,CAAC,GAACvM,CAAR;AAAA,YAAUrpB,CAAC,GAACqpB,CAAC,CAAC47C,UAAF,IAAc57C,CAAC,CAAC61O,uBAA5B;;AAAoD,eAAKl/P,CAAC,IAAE,CAACi/P,EAAE,CAACj/P,CAAD,CAAX,GAAgB;AAAC,gBAAMqpB,CAAC,GAAC,eAAa,CAACyM,CAAC,GAAC91B,CAAH,aAAgBmmM,WAAhB,GAA4BrwK,CAAC,CAACumO,aAAF,CAAgBF,WAAhB,CAA4BwB,gBAA5B,CAA6C7nO,CAA7C,EAAgDmsE,QAA5E,GAAqF,SAAlG,CAAR;AAAqHrsE,UAAAA,CAAC,YAAYuwK,WAAb,IAA0B,eAAag5D,EAAE,CAACvpO,CAAD,CAAzC,KAA+ChC,CAAC,GAACgC,CAAjD;AAAoD,gBAAMjC,CAAC,GAACwrO,EAAE,CAACn/P,CAAD,CAAV;;AAAc,cAAGqpB,CAAC,IAAEuK,CAAC,KAAG,eAAaD,CAAb,IAAgBtK,CAAhB,IAAmB,eAAasK,CAAnC,CAAP,EAA6C;AAACiC,YAAAA,CAAC,GAAC51B,CAAF,EAAIA,CAAC,GAACA,CAAC,CAACilE,UAAR;AAAmB;AAAS;;AAAA,gBAAMwG,CAAC,GAAC,IAAI2yL,EAAJ,CAAOp+P,CAAP,CAAR;AAAA,gBAAkBgnK,CAAC,GAAChzI,CAAC,CAAC6qO,eAAF,CAAkBpzL,CAAlB,CAApB;AAAyC,cAAG,CAACu7F,CAAJ,EAAM,OAAO,IAAP;AAAYA,UAAAA,CAAC,CAAC+3F,OAAF,KAAY/qO,CAAC,CAAC+qO,OAAF,EAAZ,KAA0B/qO,CAAC,GAACgzI,CAA5B,GAA+BpxI,CAAC,GAAC51B,CAAjC,EAAmCA,CAAC,GAACA,CAAC,CAACilE,UAAvC;AAAkD;;AAAA,YAAInvC,CAAJ;AAAM,eAAO9B,CAAP;AAAS;;AAAAorO,MAAAA,OAAO,CAAC/1O,CAAD,EAAG;AAAC,aAAI,MAAM2K,CAAV,IAAemqO,EAAf,EAAkB,IAAG,KAAKnqO,CAAL,MAAU3K,CAAC,CAAC2K,CAAD,CAAd,EAAkB,OAAM,CAAC,CAAP;;AAAS,eAAM,CAAC,CAAP;AAAS;;AAAAs/M,MAAAA,QAAQ,CAACjqN,CAAD,EAAG;AAAC,cAAM2K,CAAC,GAAC,KAAK6qO,eAAL,CAAqBx1O,CAArB,CAAR;AAAgC,eAAM,EAAE,CAAC2K,CAAD,IAAI,CAACA,CAAC,CAACorO,OAAF,CAAU/1O,CAAV,CAAP,CAAN;AAA2B;;AAAAg2O,MAAAA,cAAc,GAAE;AAAC,cAAK;AAACC,UAAAA,OAAO,EAACj2O,CAAT;AAAWk2O,UAAAA,OAAO,EAACvrO;AAAnB,YAAsBupO,EAAE,CAAC/0P,MAA9B;AAAA,cAAqCorB,CAAC,GAAC,KAAK3K,KAAL,GAAa21O,MAAb,CAAoBv1O,CAApB,EAAsB2K,CAAtB,CAAvC;;AAAgE,YAAGsqO,EAAE,CAAC1qO,CAAC,CAACyqO,OAAH,CAAL,EAAiB;AAAC,gBAAMh1O,CAAC,GAAC40O,EAAE,CAACrqO,CAAC,CAACyqO,OAAH,CAAV;AAAsBh1O,UAAAA,CAAC,IAAE,UAASA,CAAT,EAAW2K,CAAX,EAAa;AAAC,kBAAMJ,CAAC,GAAC,IAAIwqO,EAAJ,CAAOpqO,CAAP,CAAR;AAAA,kBAAkB4B,CAAC,GAAC8nO,EAAE,CAAC1pO,CAAD,CAAtB;AAA0B,gBAAIh0B,CAAC,GAAC,CAAN;AAAA,gBAAQ81B,CAAC,GAAC,CAAV;AAAY91B,YAAAA,CAAC,IAAE4zB,CAAC,CAAC6pC,IAAL,EAAU3nC,CAAC,IAAElC,CAAC,CAAC2pC,GAAf,EAAmBv9D,CAAC,IAAEg0B,CAAC,CAACwrO,UAAxB,EAAmC1pO,CAAC,IAAE9B,CAAC,CAACthB,SAAxC,EAAkD1S,CAAC,IAAE41B,CAAC,CAAC6nC,IAAvD,EAA4D3nC,CAAC,IAAEF,CAAC,CAAC2nC,GAAjE,EAAqEl0C,CAAC,CAACu1O,MAAF,CAAS5+P,CAAT,EAAW81B,CAAX,CAArE;AAAmF,WAAvI,CAAwIlC,CAAxI,EAA0IvK,CAA1I,CAAH;AAAgJ;;AAAA,eAAOuK,CAAP;AAAS;;AAAA6rO,MAAAA,2BAA2B,GAAE;AAAC,cAAMp2O,CAAC,GAAC,KAAKg1O,OAAb;AAAqB,YAAIrqO,CAAJ,EAAMJ,CAAN,EAAQgC,CAAR;AAAU,YAAG2mO,EAAE,CAAClzO,CAAD,CAAL,EAAS2K,CAAC,GAAC3K,CAAC,CAAC0zC,UAAF,GAAa1zC,CAAC,CAAC0B,QAAF,CAAWiyC,eAAX,CAA2BC,WAA1C,EAAsDrpC,CAAC,GAACvK,CAAC,CAAC8zC,WAAF,GAAc9zC,CAAC,CAAC0B,QAAF,CAAWiyC,eAAX,CAA2BrqD,YAAjG,EAA8GijB,CAAC,GAACvM,CAAC,CAACs0O,gBAAF,CAAmBt0O,CAAC,CAAC0B,QAAF,CAAWiyC,eAA9B,EAA+C+/J,SAA/J,CAAT,KAAsL;AAAC,gBAAM/8N,CAAC,GAAC09P,EAAE,CAACr0O,CAAD,CAAV;AAAc2K,UAAAA,CAAC,GAAC3K,CAAC,CAACq2O,WAAF,GAAcr2O,CAAC,CAAC4zC,WAAhB,GAA4Bj9D,CAAC,CAACy9D,IAA9B,GAAmCz9D,CAAC,CAAC6V,KAAvC,EAA6C+d,CAAC,GAACvK,CAAC,CAACs2O,YAAF,GAAet2O,CAAC,CAAC1W,YAAjB,GAA8B3S,CAAC,CAACu9D,GAAhC,GAAoCv9D,CAAC,CAAC89P,MAArF,EAA4FloO,CAAC,GAACvM,CAAC,CAACgzO,aAAF,CAAgBF,WAAhB,CAA4BwB,gBAA5B,CAA6Ct0O,CAA7C,EAAgD0zM,SAA9I,EAAwJ,KAAKt/J,IAAL,IAAWz9D,CAAC,CAACy9D,IAArK,EAA0K,KAAKF,GAAL,IAAUv9D,CAAC,CAACu9D,GAAtL,EAA0L,KAAK1nD,KAAL,IAAY7V,CAAC,CAAC6V,KAAxM,EAA8M,KAAKioP,MAAL,IAAa99P,CAAC,CAAC89P,MAA7N,EAAoO,KAAK1gM,KAAL,GAAW,KAAKvnD,KAAL,GAAW,KAAK4nD,IAA/P,EAAoQ,KAAKH,MAAL,GAAY,KAAKwgM,MAAL,GAAY,KAAKvgM,GAAjS;AAAqS;AAAA,eAAO,KAAKH,KAAL,IAAYppC,CAAZ,EAAc,UAAQ4B,CAAR,GAAU,KAAK/f,KAAL,IAAYme,CAAtB,GAAwB,KAAKypC,IAAL,IAAWzpC,CAAjD,EAAmD,KAAKspC,MAAL,IAAa1pC,CAAhE,EAAkE,KAAKkqO,MAAL,IAAalqO,CAA/E,EAAiF,IAAxF;AAA6F;;AAAuB,aAAhB2qO,gBAAgB,CAACl1O,CAAD,EAAG;AAAC,cAAM2K,CAAC,GAAC,EAAR;AAAA,cAAWJ,CAAC,GAACpF,KAAK,CAAC7H,IAAN,CAAW0C,CAAC,CAACu2O,cAAF,EAAX,CAAb;AAA4C,YAAGhsO,CAAC,CAAC59B,MAAL,EAAY,KAAI,MAAMqzB,CAAV,IAAeuK,CAAf,EAAiBI,CAAC,CAAC1E,IAAF,CAAO,IAAI8uO,EAAJ,CAAO/0O,CAAP,CAAP,EAA7B,KAAmD;AAAC,cAAIuK,CAAC,GAACvK,CAAC,CAACw2O,cAAR;AAAuBrC,UAAAA,EAAE,CAAC5pO,CAAD,CAAF,KAAQA,CAAC,GAACA,CAAC,CAACqxC,UAAZ;AAAwB,gBAAMrvC,CAAC,GAAC,IAAIwoO,EAAJ,CAAOxqO,CAAC,CAAC8qO,qBAAF,EAAP,CAAR;AAA0C9oO,UAAAA,CAAC,CAAC/f,KAAF,GAAQ+f,CAAC,CAAC6nC,IAAV,EAAe7nC,CAAC,CAACwnC,KAAF,GAAQ,CAAvB,EAAyBppC,CAAC,CAAC1E,IAAF,CAAOsG,CAAP,CAAzB;AAAmC;AAAA,eAAO5B,CAAP;AAAS;;AAAsB,aAAfyqO,eAAe,CAACp1O,CAAD,EAAG;AAAC,cAAM2K,CAAC,GAAC;AAACypC,UAAAA,IAAI,EAAC3gD,MAAM,CAACgjP,iBAAb;AAA+BviM,UAAAA,GAAG,EAACzgD,MAAM,CAACgjP,iBAA1C;AAA4DjqP,UAAAA,KAAK,EAACiH,MAAM,CAACijP,iBAAzE;AAA2FjC,UAAAA,MAAM,EAAChhP,MAAM,CAACijP,iBAAzG;AAA2H3iM,UAAAA,KAAK,EAAC,CAAjI;AAAmIE,UAAAA,MAAM,EAAC;AAA1I,SAAR;AAAqJ,YAAI1pC,CAAC,GAAC,CAAN;;AAAQ,aAAI,MAAMgC,CAAV,IAAevM,CAAf,EAAiBuK,CAAC,IAAGI,CAAC,CAACypC,IAAF,GAAOlY,IAAI,CAACzqC,GAAL,CAASkZ,CAAC,CAACypC,IAAX,EAAgB7nC,CAAC,CAAC6nC,IAAlB,CAAV,EAAkCzpC,CAAC,CAACupC,GAAF,GAAMhY,IAAI,CAACzqC,GAAL,CAASkZ,CAAC,CAACupC,GAAX,EAAe3nC,CAAC,CAAC2nC,GAAjB,CAAxC,EAA8DvpC,CAAC,CAACne,KAAF,GAAQ0vC,IAAI,CAAC1qC,GAAL,CAASmZ,CAAC,CAACne,KAAX,EAAiB+f,CAAC,CAAC/f,KAAnB,CAAtE,EAAgGme,CAAC,CAAC8pO,MAAF,GAASv4M,IAAI,CAAC1qC,GAAL,CAASmZ,CAAC,CAAC8pO,MAAX,EAAkBloO,CAAC,CAACkoO,MAApB,CAA1G;;AAAsI,eAAO,KAAGlqO,CAAH,GAAK,IAAL,IAAWI,CAAC,CAACopC,KAAF,GAAQppC,CAAC,CAACne,KAAF,GAAQme,CAAC,CAACypC,IAAlB,EAAuBzpC,CAAC,CAACspC,MAAF,GAAStpC,CAAC,CAAC8pO,MAAF,GAAS9pO,CAAC,CAACupC,GAA3C,EAA+C,IAAI6gM,EAAJ,CAAOpqO,CAAP,CAA1D,CAAP;AAA4E;;AAAtqG;;AAAuqG,aAASwqO,EAAT,CAAYn1O,CAAZ,EAAc2K,CAAd,EAAgB;AAAC,WAAI,MAAMJ,CAAV,IAAeuqO,EAAf,EAAkB90O,CAAC,CAACuK,CAAD,CAAD,GAAKI,CAAC,CAACJ,CAAD,CAAN;AAAU;;AAAA,aAASqrO,EAAT,CAAY51O,CAAZ,EAAc;AAAC,aAAM,CAAC,CAACi1O,EAAE,CAACj1O,CAAD,CAAJ,IAASA,CAAC,KAAGA,CAAC,CAACgzO,aAAF,CAAgB37P,IAAnC;AAAwC;;AAAA,aAAS49P,EAAT,CAAYj1O,CAAZ,EAAc;AAAC,aAAO,SAAOA,CAAP,IAAU,YAAU,OAAOA,CAA3B,IAA8B,MAAIA,CAAC,CAACgtO,QAApC,IAA8C,cAAY,OAAOhtO,CAAC,CAACq1O,qBAA1E;AAAgG;;AAAA,aAASS,EAAT,CAAY91O,CAAZ,EAAc;AAAC,aAAOA,CAAC,YAAY88K,WAAb,GAAyB98K,CAAC,CAACgzO,aAAF,CAAgBF,WAAhB,CAA4BwB,gBAA5B,CAA6Ct0O,CAA7C,EAAgDlwB,QAAzE,GAAkF,QAAzF;AAAkG;;AAAA,UAAM6mQ,EAAN,CAAQ;AAACl3Q,MAAAA,WAAW,CAACugC,CAAD,EAAG2K,CAAH,EAAK;AAACgsO,QAAAA,EAAE,CAACC,iBAAH,IAAsBD,EAAE,CAACE,eAAH,EAAtB,EAA2C,KAAKC,QAAL,GAAc92O,CAAzD,EAA2D,KAAK+2O,SAAL,GAAepsO,CAA1E,EAA4EgsO,EAAE,CAACK,mBAAH,CAAuBh3O,CAAvB,EAAyB2K,CAAzB,CAA5E,EAAwGgsO,EAAE,CAACC,iBAAH,CAAqBK,OAArB,CAA6Bj3O,CAA7B,CAAxG;AAAwI;;AAAW,UAAPhX,OAAO,GAAE;AAAC,eAAO,KAAK8tP,QAAZ;AAAqB;;AAAAn4J,MAAAA,OAAO,GAAE;AAACg4J,QAAAA,EAAE,CAACO,sBAAH,CAA0B,KAAKJ,QAA/B,EAAwC,KAAKC,SAA7C;AAAwD;;AAA0B,aAAnBC,mBAAmB,CAACh3O,CAAD,EAAG2K,CAAH,EAAK;AAACgsO,QAAAA,EAAE,CAACQ,iBAAH,KAAuBR,EAAE,CAACQ,iBAAH,GAAqB,IAAIloO,GAAJ,EAA5C;;AAAqD,YAAI1E,CAAC,GAACosO,EAAE,CAACQ,iBAAH,CAAqB12Q,GAArB,CAAyBu/B,CAAzB,CAAN;;AAAkCuK,QAAAA,CAAC,KAAGA,CAAC,GAAC,IAAIsnE,GAAJ,EAAF,EAAU8kK,EAAE,CAACQ,iBAAH,CAAqBryO,GAArB,CAAyB9E,CAAzB,EAA2BuK,CAA3B,CAAb,CAAD,EAA6CA,CAAC,CAAC3V,GAAF,CAAM+V,CAAN,CAA7C;AAAsD;;AAA6B,aAAtBusO,sBAAsB,CAACl3O,CAAD,EAAG2K,CAAH,EAAK;AAAC,cAAMJ,CAAC,GAACosO,EAAE,CAACS,oBAAH,CAAwBp3O,CAAxB,CAAR;;AAAmCuK,QAAAA,CAAC,KAAGA,CAAC,CAACqK,MAAF,CAASjK,CAAT,GAAYJ,CAAC,CAAC4nE,IAAF,KAASwkK,EAAE,CAACQ,iBAAH,CAAqBviO,MAArB,CAA4B5U,CAA5B,GAA+B22O,EAAE,CAACC,iBAAH,CAAqBS,SAArB,CAA+Br3O,CAA/B,CAAxC,CAAf,CAAD,EAA4F22O,EAAE,CAACQ,iBAAH,IAAsB,CAACR,EAAE,CAACQ,iBAAH,CAAqBhlK,IAA5C,KAAmDwkK,EAAE,CAACC,iBAAH,GAAqB,IAArB,EAA0BD,EAAE,CAACQ,iBAAH,GAAqB,IAAlG,CAA5F;AAAoM;;AAA2B,aAApBC,oBAAoB,CAACp3O,CAAD,EAAG;AAAC,eAAO22O,EAAE,CAACQ,iBAAH,GAAqBR,EAAE,CAACQ,iBAAH,CAAqB12Q,GAArB,CAAyBu/B,CAAzB,CAArB,GAAiD,IAAxD;AAA6D;;AAAsB,aAAf62O,eAAe,GAAE;AAACF,QAAAA,EAAE,CAACC,iBAAH,GAAqB,IAAI1C,EAAE,CAAC/0P,MAAH,CAAUm4P,cAAd,CAA8Bt3O,CAAC,IAAE;AAAC,eAAI,MAAM2K,CAAV,IAAe3K,CAAf,EAAiB;AAAC,kBAAMA,CAAC,GAAC22O,EAAE,CAACS,oBAAH,CAAwBzsO,CAAC,CAACijB,MAA1B,CAAR;;AAA0C,gBAAG5tB,CAAH,EAAK,KAAI,MAAMuK,CAAV,IAAevK,CAAf,EAAiBuK,CAAC,CAACI,CAAD,CAAD;AAAK;AAAC,SAA1H,CAArB;AAAkJ;;AAA77B;;AAA87B,aAAS4sO,EAAT,CAAYv3O,CAAZ,EAAc2K,CAAd,EAAgB;AAAC3K,MAAAA,CAAC,YAAYw3O,mBAAb,KAAmCx3O,CAAC,CAAC9uB,KAAF,GAAQy5B,CAA3C,GAA8C3K,CAAC,CAACy3O,SAAF,GAAY9sO,CAA1D;AAA4D;;AAAA,aAAS+sO,EAAT,CAAY13O,CAAZ,EAAc;AAAC,aAAO2K,CAAC,IAAEA,CAAC,GAAC3K,CAAZ;AAAc;;AAAA,aAAS23O,EAAT,CAAY33O,CAAZ,EAAc;AAAC,UAAI2K,CAAC,GAAC,CAAN;;AAAQ,aAAK3K,CAAC,CAAC43O,eAAP,GAAwB53O,CAAC,GAACA,CAAC,CAAC43O,eAAJ,EAAoBjtO,CAAC,EAArB;;AAAwB,aAAOA,CAAP;AAAS;;AAAA,aAASktO,EAAT,CAAY73O,CAAZ,EAAc2K,CAAd,EAAgBJ,CAAhB,EAAkB;AAACvK,MAAAA,CAAC,CAAC4jO,YAAF,CAAer5N,CAAf,EAAiBvK,CAAC,CAAC2jO,UAAF,CAAah5N,CAAb,KAAiB,IAAlC;AAAwC;;AAAA,aAASmtO,EAAT,CAAY93O,CAAZ,EAAc;AAAC,aAAOA,CAAC,IAAEA,CAAC,CAACgtO,QAAF,KAAaiG,IAAI,CAAC8E,YAA5B;AAAyC;;AAAA,aAASC,EAAT,CAAYh4O,CAAZ,EAAc;AAAC,aAAM,CAAC,EAAEA,CAAC,IAAEA,CAAC,CAACu2O,cAAL,IAAqBv2O,CAAC,CAACu2O,cAAF,GAAmB5pQ,MAA1C,CAAP;AAAyD;;AAAA,aAASsrQ,EAAT,CAAY;AAACjvP,MAAAA,OAAO,EAACgX,CAAT;AAAW4tB,MAAAA,MAAM,EAACjjB,CAAlB;AAAoButO,MAAAA,SAAS,EAAC3tO,CAA9B;AAAgC4tO,MAAAA,OAAO,EAAC5rO,CAAxC;AAA0C6rO,MAAAA,aAAa,EAACzhQ,CAAxD;AAA0D0hQ,MAAAA,oBAAoB,EAAC5rO;AAA/E,KAAZ,EAA8F;AAACy9N,MAAAA,EAAE,CAACv/N,CAAD,CAAF,KAAQA,CAAC,GAACA,CAAC,EAAX,GAAeu/N,EAAE,CAAC39N,CAAD,CAAF,KAAQA,CAAC,GAACA,CAAC,EAAX,CAAf;;AAA8B,YAAMjC,CAAC,GAACsqO,EAAE,CAAC50O,CAAD,CAAV;AAAA,YAAcoiD,CAAC,GAAC,UAASpiD,CAAT,EAAW;AAACA,QAAAA,CAAC,GAACmC,MAAM,CAACC,MAAP,CAAc;AAAC8xC,UAAAA,GAAG,EAAC,CAAL;AAAOugM,UAAAA,MAAM,EAAC,CAAd;AAAgBrgM,UAAAA,IAAI,EAAC,CAArB;AAAuB5nD,UAAAA,KAAK,EAAC;AAA7B,SAAd,EAA8CwT,CAA9C,CAAF;AAAmD,cAAM2K,CAAC,GAAC,IAAIoqO,EAAJ,CAAOb,EAAE,CAAC/0P,MAAV,CAAR;AAA0B,eAAOwrB,CAAC,CAACupC,GAAF,IAAOl0C,CAAC,CAACk0C,GAAT,EAAavpC,CAAC,CAACspC,MAAF,IAAUj0C,CAAC,CAACk0C,GAAzB,EAA6BvpC,CAAC,CAAC8pO,MAAF,IAAUz0O,CAAC,CAACy0O,MAAzC,EAAgD9pO,CAAC,CAACspC,MAAF,IAAUj0C,CAAC,CAACy0O,MAA5D,EAAmE9pO,CAA1E;AAA4E,OAArK,CAAsK8B,CAAtK,CAAhB;AAAA,YAAyLkxI,CAAC,GAAC,IAAIo3F,EAAJ,CAAO/0O,CAAP,CAA3L;AAAA,YAAqMksL,CAAC,GAACosD,EAAE,CAAC3tO,CAAD,EAAGy3C,CAAH,CAAzM;;AAA+M,UAAIx4C,CAAJ;AAAM,UAAG,CAACsiL,CAAD,IAAI,CAAC9pI,CAAC,CAACozL,eAAF,CAAkBtpD,CAAlB,CAAR,EAA6B,OAAO,IAAP;AAAY,YAAMt1C,CAAC,GAAC;AAAC2hG,QAAAA,UAAU,EAACrsD,CAAZ;AAAcssD,QAAAA,WAAW,EAAC76F,CAA1B;AAA4B86F,QAAAA,yBAAyB,EAACnuO,CAAtD;AAAwDouO,QAAAA,YAAY,EAACt2L;AAArE,OAAR;;AAAgF,UAAG71C,CAAC,IAAE51B,CAAN,EAAQ;AAAC,YAAG41B,CAAH,EAAK;AAAC,gBAAMvM,CAAC,GAACs4O,EAAE,CAAC/rO,CAAD,EAAG61C,CAAH,CAAV;AAAgBpiD,UAAAA,CAAC,KAAG42I,CAAC,CAAC+hG,WAAF,GAAc34O,CAAjB,CAAD;AAAqB;;AAAA4J,QAAAA,CAAC,GAAC,UAAS5J,CAAT,EAAW2K,CAAX,EAAa;AAAC,gBAAK;AAAC6tO,YAAAA,WAAW,EAACjuO;AAAb,cAAgBI,CAArB;AAAA,gBAAuB4B,CAAC,GAAChC,CAAC,CAACmrO,OAAF,EAAzB;AAAA,gBAAqC/+P,CAAC,GAACqpB,CAAC,CAACx2B,GAAF,CAAOw2B,CAAC,IAAE,IAAI44O,EAAJ,CAAO54O,CAAP,EAAS2K,CAAT,CAAV,EAAwBhhC,MAAxB,CAAgCq2B,CAAC,IAAE,CAAC,CAACA,CAAC,CAACxvB,IAAvC,CAAvC;AAAqF,cAAIi8B,CAAC,GAAC,CAAN;AAAA,cAAQnC,CAAC,GAAC,IAAV;;AAAe,eAAI,MAAMtK,CAAV,IAAerpB,CAAf,EAAiB;AAAC,kBAAK;AAACkiQ,cAAAA,uBAAuB,EAACluO,CAAzB;AAA2BmuO,cAAAA,wBAAwB,EAACvuO;AAApD,gBAAuDvK,CAA5D;AAA8D,gBAAG2K,CAAC,KAAG4B,CAAP,EAAS,OAAOvM,CAAP;AAAS,kBAAMrpB,CAAC,GAAC4zB,CAAC,IAAE,CAAH,GAAKI,CAAC,IAAE,CAAhB;AAAkBh0B,YAAAA,CAAC,GAAC81B,CAAF,KAAMA,CAAC,GAAC91B,CAAF,EAAI2zB,CAAC,GAACtK,CAAZ;AAAe;;AAAA,iBAAOsK,CAAP;AAAS,SAA9P,CAA+PC,CAA/P,EAAiQqsI,CAAjQ,CAAF;AAAsQ,OAA1T,MAA+ThtI,CAAC,GAAC,IAAIgvO,EAAJ,CAAOruO,CAAC,CAAC,CAAD,CAAR,EAAYqsI,CAAZ,CAAF;;AAAiB,aAAOhtI,CAAP;AAAS;;AAAA,aAAS0uO,EAAT,CAAYt4O,CAAZ,EAAc2K,CAAd,EAAgB;AAAC,YAAMJ,CAAC,GAAC,IAAIwqO,EAAJ,CAAO/0O,CAAP,EAAU21O,UAAV,EAAR;AAA+B,aAAOprO,CAAC,GAACA,CAAC,CAACirO,eAAF,CAAkB7qO,CAAlB,CAAD,GAAsB,IAA9B;AAAmC;;AAAAgsO,IAAAA,EAAE,CAACC,iBAAH,GAAqB,IAArB,EAA0BD,EAAE,CAACQ,iBAAH,GAAqB,IAA/C;;AAAoD,UAAMyB,EAAN,CAAQ;AAACn5Q,MAAAA,WAAW,CAACugC,CAAD,EAAG2K,CAAH,EAAK;AAAC,cAAMJ,CAAC,GAACvK,CAAC,CAAC2K,CAAC,CAAC4tO,UAAH,EAAc5tO,CAAC,CAAC6tO,WAAhB,EAA4B7tO,CAAC,CAAC+tO,YAA9B,EAA2C/tO,CAAC,CAACguO,WAA7C,CAAT;AAAmE,YAAG,CAACpuO,CAAJ,EAAM;AAAO,cAAK;AAAC6pC,UAAAA,IAAI,EAAC7nC,CAAN;AAAQ2nC,UAAAA,GAAG,EAACv9D,CAAZ;AAAcnG,UAAAA,IAAI,EAACi8B,CAAnB;AAAqB/sC,UAAAA,MAAM,EAAC4qC;AAA5B,YAA+BC,CAApC;AAAsC,aAAK/5B,IAAL,GAAUi8B,CAAV,EAAY,KAAK/sC,MAAL,GAAY4qC,CAAxB,EAA0B,KAAKyuO,+BAAL,GAAqC;AAAC3kM,UAAAA,IAAI,EAAC7nC,CAAN;AAAQ2nC,UAAAA,GAAG,EAACv9D;AAAZ,SAA/D,EAA8E,KAAK0xL,QAAL,GAAc19J,CAA5F;AAA8F;;AAAQ,UAAJypC,IAAI,GAAE;AAAC,eAAO,KAAK4kM,aAAL,CAAmB5kM,IAA1B;AAA+B;;AAAO,UAAHF,GAAG,GAAE;AAAC,eAAO,KAAK8kM,aAAL,CAAmB9kM,GAA1B;AAA8B;;AAA2B,UAAvB2kM,uBAAuB,GAAE;AAAC,cAAM74O,CAAC,GAAC,KAAKqoK,QAAL,CAAcswE,WAAtB;AAAkC,eAAO34O,CAAC,GAACA,CAAC,CAACy1O,mBAAF,CAAsB,KAAKwD,KAA3B,CAAD,GAAmC,CAA3C;AAA6C;;AAA4B,UAAxBH,wBAAwB,GAAE;AAAC,eAAO,KAAKzwE,QAAL,CAAcqwE,YAAd,CAA2BjD,mBAA3B,CAA+C,KAAKwD,KAApD,CAAP;AAAkE;;AAAS,UAALA,KAAK,GAAE;AAAC,eAAO,KAAKC,WAAL,KAAmB,KAAKA,WAAL,GAAiB,KAAK7wE,QAAL,CAAcmwE,WAAd,CAA0B54O,KAA1B,GAAkC01O,MAAlC,CAAyC,KAAKyD,+BAAL,CAAqC3kM,IAA9E,EAAmF,KAAK2kM,+BAAL,CAAqC7kM,GAAxH,CAApC,GAAkK,KAAKglM,WAA9K;AAA0L;;AAAiB,UAAbF,aAAa,GAAE;AAAC,eAAO,KAAKG,mBAAL,KAA2B,KAAKA,mBAAL,GAAyB,KAAKF,KAAL,CAAWjD,cAAX,EAApD,GAAiF,KAAKmD,mBAA7F;AAAiH;;AAAj1B;;AAAk1B,aAASC,EAAT,CAAYp5O,CAAZ,EAAc;AAAC,YAAM2K,CAAC,GAAC3K,CAAC,CAAC47C,UAAV;AAAqBjxC,MAAAA,CAAC,IAAEA,CAAC,CAACkxC,WAAF,CAAc77C,CAAd,CAAH;AAAoB;;AAAA,aAASq5O,EAAT,CAAY;AAACl6P,MAAAA,MAAM,EAAC6gB,CAAR;AAAUs5O,MAAAA,IAAI,EAAC3uO,CAAf;AAAiB4uO,MAAAA,UAAU,EAAChvO,CAA5B;AAA8BivO,MAAAA,WAAW,EAACjtO,CAA1C;AAA4CktO,MAAAA,cAAc,EAAC9iQ;AAA3D,KAAZ,EAA0E;AAAC,YAAM81B,CAAC,GAAC9B,CAAC,CAAC/K,KAAF,GAAU21O,MAAV,CAAiB,CAAjB,EAAmB5+P,CAAC,CAAC89P,MAArB,CAAR;AAAA,YAAqCnqO,CAAC,GAACK,CAAC,CAAC/K,KAAF,GAAU21O,MAAV,CAAiB,CAAjB,EAAmB,CAAC5+P,CAAC,CAACu9D,GAAtB,CAAvC;AAAA,YAAkEkO,CAAC,GAAC,IAAI2yL,EAAJ,CAAO/0O,CAAP,EAAUo2O,2BAAV,EAApE;AAAA,YAA4Gz4F,CAAC,GAACpzI,CAAC,IAAEgC,CAAjH;AAAA,YAAmH2/K,CAAC,GAAC,CAAC5hL,CAAD,EAAGmC,CAAH,EAAM2lE,KAAN,CAAapyE,CAAC,IAAEoiD,CAAC,CAAC6nK,QAAF,CAAWjqN,CAAX,CAAhB,CAArH;AAAqJ,UAAG;AAACi2O,QAAAA,OAAO,EAACrsO,CAAT;AAAWssO,QAAAA,OAAO,EAACt/F;AAAnB,UAAsB52I,CAAzB;AAA2B,YAAMlb,CAAC,GAAC8kB,CAAR;AAAA,YAAUI,CAAC,GAAC4sI,CAAZ;AAAc+G,MAAAA,CAAC,GAAC/G,CAAC,IAAEx0F,CAAC,CAAClO,GAAF,GAAMvpC,CAAC,CAACupC,GAAR,GAAYv9D,CAAC,CAACu9D,GAAlB,GAAsBg4I,CAAC,KAAGwtD,EAAE,CAACpvO,CAAD,EAAG83C,CAAH,CAAF,GAAQw0F,CAAC,IAAEx0F,CAAC,CAAClO,GAAF,GAAMvpC,CAAC,CAACupC,GAAR,GAAYv9D,CAAC,CAACu9D,GAAzB,GAA6BylM,EAAE,CAACltO,CAAD,EAAG21C,CAAH,CAAF,KAAUw0F,CAAC,IAAErsI,CAAC,GAACI,CAAC,CAACupC,GAAF,GAAMkO,CAAC,CAAClO,GAAR,GAAYv9D,CAAC,CAACu9D,GAAf,GAAmBvpC,CAAC,CAAC8pO,MAAF,GAASryL,CAAC,CAACqyL,MAAX,GAAkB99P,CAAC,CAAC89P,MAArD,CAAhC,CAAxB,EAAsHvoD,CAAC,KAAG0tD,EAAE,CAACjvO,CAAD,EAAGy3C,CAAH,CAAF,GAAQx4C,CAAC,IAAEw4C,CAAC,CAAChO,IAAF,GAAOzpC,CAAC,CAACypC,IAAT,GAAcz9D,CAAC,CAACy9D,IAA3B,GAAgCmtJ,EAAE,CAAC52L,CAAD,EAAGy3C,CAAH,CAAF,KAAUx4C,CAAC,IAAEe,CAAC,CAACne,KAAF,GAAQ41D,CAAC,CAAC51D,KAAV,GAAgB7V,CAAC,CAAC6V,KAA/B,CAAnC,CAAvH,EAAiMod,CAAC,IAAE9kB,CAAH,IAAM8xJ,CAAC,KAAG5sI,CAAV,IAAahK,CAAC,CAAC65O,QAAF,CAAWjwO,CAAX,EAAagtI,CAAb,CAA9M;AAA8N;;AAAA,aAASkjG,EAAT,CAAY;AAAC34L,MAAAA,MAAM,EAACnhD,CAAR;AAAU+5O,MAAAA,OAAO,EAACpvO,CAAlB;AAAoB4uO,MAAAA,UAAU,EAAChvO,CAA/B;AAAiCivO,MAAAA,WAAW,EAACjtO,CAA7C;AAA+CytO,MAAAA,cAAc,EAACrjQ,CAAC,GAAC,CAAhE;AAAkEsjQ,MAAAA,cAAc,EAACxtO;AAAjF,KAAZ,EAAgG;AAAC,YAAMnC,CAAC,GAAC4vO,EAAE,CAACl6O,CAAD,CAAV;AAAA,YAAcoiD,CAAC,GAAC73C,CAAC,IAAEgC,CAAnB;AAAqB,UAAIoxI,CAAJ,EAAMuuC,CAAN,EAAQtiL,CAAR;AAAU,YAAMgtI,CAAC,GAACnqI,CAAC,IAAEnC,CAAC,CAAC5I,QAAF,CAAWrqB,IAAtB;;AAA2B,aAAK2oB,CAAC,IAAE42I,CAAR,GAAWs1C,CAAC,GAACvhL,CAAC,EAAH,EAAMgzI,CAAC,GAAC,IAAIo3F,EAAJ,CAAO/0O,CAAP,EAAUo2O,2BAAV,EAAR,EAAgDxsO,CAAC,GAAC+zI,CAAC,CAACssE,QAAF,CAAW/9B,CAAX,CAAlD,EAAgE9pI,CAAC,GAACpiD,CAAC,CAAC3W,SAAF,IAAas0J,CAAC,CAACzpG,GAAF,GAAMg4I,CAAC,CAACh4I,GAAR,GAAYv9D,CAA1B,GAA4BizB,CAAC,KAAG8vO,EAAE,CAACxtD,CAAD,EAAGvuC,CAAH,CAAF,GAAQ39I,CAAC,CAAC3W,SAAF,IAAas0J,CAAC,CAACzpG,GAAF,GAAMg4I,CAAC,CAACh4I,GAAR,GAAYv9D,CAAjC,GAAmCgjQ,EAAE,CAACztD,CAAD,EAAGvuC,CAAH,CAAF,KAAU39I,CAAC,CAAC3W,SAAF,IAAakhB,CAAC,GAAC2hL,CAAC,CAACh4I,GAAF,GAAMypG,CAAC,CAACzpG,GAAR,GAAYv9D,CAAb,GAAeu1M,CAAC,CAACuoD,MAAF,GAAS92F,CAAC,CAAC82F,MAAX,GAAkB99P,CAAzD,CAAtC,CAA9F,EAAiMizB,CAAC,KAAGgwO,EAAE,CAAC1tD,CAAD,EAAGvuC,CAAH,CAAF,GAAQ39I,CAAC,CAACm2O,UAAF,IAAcx4F,CAAC,CAACvpG,IAAF,GAAO83I,CAAC,CAAC93I,IAAT,GAAcz9D,CAApC,GAAsC4qN,EAAE,CAACrV,CAAD,EAAGvuC,CAAH,CAAF,KAAU39I,CAAC,CAACm2O,UAAF,IAAcjqD,CAAC,CAAC1/L,KAAF,GAAQmxJ,CAAC,CAACnxJ,KAAV,GAAgB7V,CAAxC,CAAzC,CAAlM,EAAuRqpB,CAAC,GAACA,CAAC,CAAC47C,UAA3R;AAAsS;;AAAA,aAAS+9L,EAAT,CAAY35O,CAAZ,EAAc2K,CAAd,EAAgB;AAAC,aAAO3K,CAAC,CAACy0O,MAAF,GAAS9pO,CAAC,CAAC8pO,MAAlB;AAAyB;;AAAA,aAASiF,EAAT,CAAY15O,CAAZ,EAAc2K,CAAd,EAAgB;AAAC,aAAO3K,CAAC,CAACk0C,GAAF,GAAMvpC,CAAC,CAACupC,GAAf;AAAmB;;AAAA,aAAS0lM,EAAT,CAAY55O,CAAZ,EAAc2K,CAAd,EAAgB;AAAC,aAAO3K,CAAC,CAACo0C,IAAF,GAAOzpC,CAAC,CAACypC,IAAhB;AAAqB;;AAAA,aAASmtJ,EAAT,CAAYvhM,CAAZ,EAAc2K,CAAd,EAAgB;AAAC,aAAO3K,CAAC,CAACxT,KAAF,GAAQme,CAAC,CAACne,KAAjB;AAAuB;;AAAA,aAAS0tP,EAAT,CAAYl6O,CAAZ,EAAc;AAAC,aAAOo0O,EAAE,CAACp0O,CAAD,CAAF,GAAMA,CAAC,CAACw2O,cAAF,CAAiBxD,aAAjB,CAA+BF,WAArC,GAAiD9yO,CAAC,CAACgzO,aAAF,CAAgBF,WAAxE;AAAoF;;AAAA,aAASl7P,EAAT,CAAYooB,CAAZ,EAAc;AAAC,UAAGo0O,EAAE,CAACp0O,CAAD,CAAL,EAAS;AAAC,YAAI2K,CAAC,GAAC3K,CAAC,CAAC61O,uBAAR;AAAgC,eAAO1B,EAAE,CAACxpO,CAAD,CAAF,KAAQA,CAAC,GAACA,CAAC,CAACixC,UAAZ,GAAwBjxC,CAA/B;AAAiC;;AAAA,aAAO3K,CAAC,CAAC47C,UAAT;AAAoB;;AAAA,aAASu+L,EAAT,CAAYn6O,CAAZ,EAAc2K,CAAd,EAAgB;AAAC,YAAMJ,CAAC,GAAC2vO,EAAE,CAACl6O,CAAD,CAAV;AAAA,YAAcuM,CAAC,GAAC,IAAIwoO,EAAJ,CAAO/0O,CAAP,CAAhB;AAA0B,UAAGuK,CAAC,KAAGI,CAAP,EAAS,OAAO4B,CAAP;AAAS;AAAC,YAAIvM,CAAC,GAACuK,CAAN;;AAAQ,eAAKvK,CAAC,IAAE2K,CAAR,GAAW;AAAC,gBAAMA,CAAC,GAAC3K,CAAC,CAACo6O,YAAV;AAAA,gBAAuB7vO,CAAC,GAAC,IAAIwqO,EAAJ,CAAOpqO,CAAP,EAAUyrO,2BAAV,EAAzB;AAAiE7pO,UAAAA,CAAC,CAACgpO,MAAF,CAAShrO,CAAC,CAAC6pC,IAAX,EAAgB7pC,CAAC,CAAC2pC,GAAlB,GAAuBl0C,CAAC,GAACA,CAAC,CAACmhD,MAA3B;AAAkC;AAAC;AAAA,aAAO50C,CAAP;AAAS;;AAAA,UAAM8tO,EAAE,GAAC;AAACC,MAAAA,IAAI,EAAC,GAAN;AAAUC,MAAAA,GAAG,EAAC,GAAd;AAAkBC,MAAAA,GAAG,EAAC,GAAtB;AAA0Br8L,MAAAA,KAAK,EAAC;AAAhC,KAAT;AAAA,UAA8Cs8L,EAAE,GAAC;AAACH,MAAAA,IAAI,EAAC,OAAN;AAAcE,MAAAA,GAAG,EAAC,MAAlB;AAAyBr8L,MAAAA,KAAK,EAAC;AAA/B,KAAjD;AAAA,UAA0Fu8L,EAAE,GAAC,YAAU;AAAC,YAAM16O,CAAC,GAAC;AAAC26O,QAAAA,SAAS,EAAC,EAAX;AAAcC,QAAAA,OAAO,EAAC,EAAtB;AAAyBC,QAAAA,UAAU,EAAC,EAApC;AAAuCC,QAAAA,SAAS,EAAC,EAAjD;AAAoDC,QAAAA,SAAS,EAAC,CAA9D;AAAgEnmO,QAAAA,MAAM,EAAC,EAAvE;AAA0EomO,QAAAA,KAAK,EAAC,EAAhF;AAAmFC,QAAAA,KAAK,EAAC,EAAzF;AAA4FC,QAAAA,GAAG,EAAC,EAAhG;AAAmGC,QAAAA,GAAG,EAAC,CAAvG;AAAyGb,QAAAA,IAAI,EAAC,OAA9G;AAAsHn8L,QAAAA,KAAK,EAAC,OAA5H;AAAoIq8L,QAAAA,GAAG,EAAC,OAAxI;AAAgJD,QAAAA,GAAG,EAAC;AAApJ,OAAR;;AAAqK,WAAI,IAAI5vO,CAAC,GAAC,EAAV,EAAaA,CAAC,IAAE,EAAhB,EAAmBA,CAAC,EAApB,EAAuB;AAAC3K,QAAAA,CAAC,CAAC0/B,MAAM,CAACC,YAAP,CAAoBh1B,CAApB,EAAuBtD,WAAvB,EAAD,CAAD,GAAwCsD,CAAxC;AAA0C;;AAAA,WAAI,IAAIA,CAAC,GAAC,EAAV,EAAaA,CAAC,IAAE,EAAhB,EAAmBA,CAAC,EAApB,EAAuB3K,CAAC,CAAC2K,CAAC,GAAC,EAAH,CAAD,GAAQA,CAAR;;AAAU,WAAI,IAAIA,CAAC,GAAC,GAAV,EAAcA,CAAC,IAAE,GAAjB,EAAqBA,CAAC,EAAtB,EAAyB3K,CAAC,CAAC,OAAK2K,CAAC,GAAC,GAAP,CAAD,CAAD,GAAeA,CAAf;;AAAiB,WAAI,MAAMA,CAAV,IAAc,cAAd,EAA6B3K,CAAC,CAAC2K,CAAD,CAAD,GAAKA,CAAC,CAACw0B,UAAF,CAAa,CAAb,CAAL;;AAAqB,aAAOn/B,CAAP;AAAS,KAAxX,EAA7F;AAAA,UAAwdw/K,EAAE,GAACr9K,MAAM,CAACi5O,WAAP,CAAmBj5O,MAAM,CAACqgF,OAAP,CAAek4J,EAAf,EAAmBlxQ,GAAnB,CAAwB,CAAC,CAACw2B,CAAD,EAAG2K,CAAH,CAAD,KAAS,CAACA,CAAD,EAAG3K,CAAC,CAACunB,MAAF,CAAS,CAAT,EAAY86C,WAAZ,KAA0BriE,CAAC,CAAC04E,KAAF,CAAQ,CAAR,CAA7B,CAAjC,CAAnB,CAA3d;;AAA2jB,aAASwM,EAAT,CAAYllF,CAAZ,EAAc;AAAC,UAAI2K,CAAJ;;AAAM,UAAG,YAAU,OAAO3K,CAApB,EAAsB;AAAC,YAAG2K,CAAC,GAAC+vO,EAAE,CAAC16O,CAAC,CAACqH,WAAF,EAAD,CAAJ,EAAsB,CAACsD,CAA1B,EAA4B,MAAM,IAAIw3C,CAAJ,CAAM,sBAAN,EAA6B,IAA7B,EAAkC;AAACr8C,UAAAA,GAAG,EAAC9F;AAAL,SAAlC,CAAN;AAAiD,OAApG,MAAyG2K,CAAC,GAAC3K,CAAC,CAACq7O,OAAF,IAAWr7O,CAAC,CAACs7O,MAAF,GAASZ,EAAE,CAACF,GAAZ,GAAgB,CAA3B,KAA+Bx6O,CAAC,CAACu7O,OAAF,GAAUb,EAAE,CAACJ,IAAb,GAAkB,CAAjD,KAAqDt6O,CAAC,CAACw7O,QAAF,GAAWd,EAAE,CAACv8L,KAAd,GAAoB,CAAzE,KAA6En+C,CAAC,CAACy7O,OAAF,GAAUf,EAAE,CAACH,GAAb,GAAiB,CAA9F,CAAF;;AAAmG,aAAO5vO,CAAP;AAAS;;AAAA,aAAS+wO,EAAT,CAAY17O,CAAZ,EAAc;AAAC,aAAM,YAAU,OAAOA,CAAjB,KAAqBA,CAAC,GAAC,UAASA,CAAT,EAAW;AAAC,eAAOA,CAAC,CAACjhB,KAAF,CAAQ,GAAR,EAAavV,GAAb,CAAkBw2B,CAAC,IAAEA,CAAC,CAACg+C,IAAF,EAArB,CAAP;AAAuC,OAAnD,CAAoDh+C,CAApD,CAAvB,GAA+EA,CAAC,CAACx2B,GAAF,CAAOw2B,CAAC,IAAE,YAAU,OAAOA,CAAjB,GAAmB,UAASA,CAAT,EAAW;AAAC,YAAGA,CAAC,CAAC+5E,QAAF,CAAW,GAAX,CAAH,EAAmB,OAAOmL,EAAE,CAACllF,CAAC,CAAC04E,KAAF,CAAQ,CAAR,EAAU,CAAC,CAAX,CAAD,CAAT;AAAyB,cAAM/tE,CAAC,GAACu6E,EAAE,CAACllF,CAAD,CAAV;AAAc,eAAM,CAACrpB,CAAC,CAACstP,KAAF,IAASttP,CAAC,CAACytP,KAAZ,KAAoBz5N,CAAC,IAAE+vO,EAAE,CAACJ,IAA1B,GAA+BI,EAAE,CAACH,GAAlC,GAAsC5vO,CAA5C;AAA8C,OAApH,CAAqH3K,CAArH,CAAnB,GAA2IA,CAArJ,EAAyJm3E,MAAzJ,CAAiK,CAACn3E,CAAD,EAAG2K,CAAH,KAAOA,CAAC,GAAC3K,CAA1K,EAA6K,CAA7K,CAArF;AAAqQ;;AAAA,aAAS27O,EAAT,CAAY37O,CAAZ,EAAc;AAAC,UAAI2K,CAAC,GAAC+wO,EAAE,CAAC17O,CAAD,CAAR;AAAY,aAAOmC,MAAM,CAACqgF,OAAP,CAAe7rG,CAAC,CAACstP,KAAF,IAASttP,CAAC,CAACytP,KAAX,GAAiBiW,EAAjB,GAAoBI,EAAnC,EAAuCtjK,MAAvC,CAA+C,CAACn3E,CAAD,EAAG,CAACuK,CAAD,EAAGgC,CAAH,CAAH,MAAY,MAAI5B,CAAC,GAAC+vO,EAAE,CAACnwO,CAAD,CAAR,MAAeI,CAAC,IAAE,CAAC+vO,EAAE,CAACnwO,CAAD,CAAN,EAAUvK,CAAC,IAAEuM,CAA5B,GAA+BvM,CAA3C,CAA/C,EAA8F,EAA9F,KAAmG2K,CAAC,GAAC60K,EAAE,CAAC70K,CAAD,CAAH,GAAO,EAA3G,CAAP;AAAsH;;AAAA,aAAS0nL,EAAT,CAAYryL,CAAZ,EAAc2K,CAAd,EAAgB;AAAC,YAAMJ,CAAC,GAAC,UAAQI,CAAhB;;AAAkB,cAAO3K,CAAP;AAAU,aAAK06O,EAAE,CAACC,SAAR;AAAkB,iBAAOpwO,CAAC,GAAC,MAAD,GAAQ,OAAhB;;AAAwB,aAAKmwO,EAAE,CAACG,UAAR;AAAmB,iBAAOtwO,CAAC,GAAC,OAAD,GAAS,MAAjB;;AAAwB,aAAKmwO,EAAE,CAACE,OAAR;AAAgB,iBAAM,IAAN;;AAAW,aAAKF,EAAE,CAACI,SAAR;AAAkB,iBAAM,MAAN;AAA5I;AAA0J;;AAAA,aAASnsD,EAAT,CAAY3uL,CAAZ,EAAc;AAAC,aAAOmF,KAAK,CAACi8E,OAAN,CAAcphF,CAAd,IAAiBA,CAAjB,GAAmB,CAACA,CAAD,CAA1B;AAA8B;;AAAA,aAAS47O,EAAT,CAAY57O,CAAZ,EAAc2K,CAAd,EAAgBJ,CAAC,GAAC,CAAlB,EAAoB;AAAC,UAAG,YAAU,OAAOA,CAApB,EAAsB,MAAM,IAAI43C,CAAJ,CAAM,2CAAN,EAAkD,IAAlD,EAAuD;AAAC05L,QAAAA,QAAQ,EAACtxO;AAAV,OAAvD,CAAN;AAA2E,YAAMgC,CAAC,GAACpK,MAAM,CAACkD,IAAP,CAAY6uO,EAAE,CAAC/0P,MAAH,CAAUy4O,qBAAtB,EAA6CjrP,MAArD;AAA4D,YAAI4/B,CAAJ,KAAQvM,CAAC,GAACmC,MAAM,CAACkD,IAAP,CAAY6uO,EAAE,CAAC/0P,MAAH,CAAUy4O,qBAAtB,EAA6C,CAA7C,CAAV;AAA2D,YAAMjhP,CAAC,GAACg0B,CAAC,CAACx9B,EAAF,IAAMw9B,CAAC,CAAC0zK,MAAhB;AAAuB,UAAG,MAAI9xK,CAAJ,IAAO,CAAC,UAASvM,CAAT,EAAW2K,CAAX,EAAa;AAAC,eAAM,CAAC,CAACupO,EAAE,CAAC/0P,MAAH,CAAUy4O,qBAAV,CAAgC53N,CAAhC,CAAF,IAAsC,CAAC,CAACk0O,EAAE,CAAC/0P,MAAH,CAAUy4O,qBAAV,CAAgC53N,CAAhC,EAAmCq0N,UAAnC,CAA8C1pN,CAA9C,CAA9C;AAA+F,OAA7G,CAA8G3K,CAA9G,EAAgHrpB,CAAhH,CAAX,EAA8H,OAAO,MAAI4zB,CAAJ,GAAMI,CAAC,CAAC6+K,MAAR,GAAe7+K,CAAC,CAAC0zK,MAAxB;;AAA+B,YAAM5xK,CAAC,GAACynO,EAAE,CAAC/0P,MAAH,CAAUy4O,qBAAV,CAAgC53N,CAAhC,EAAmCq0N,UAA3C;AAAA,YAAsD/pN,CAAC,GAAC4pO,EAAE,CAAC/0P,MAAH,CAAUy4O,qBAAV,CAAgC53N,CAAhC,EAAmC87O,aAAnC,KAAmD97O,CAAC,IAAE,MAAIA,CAAJ,GAAM,CAAN,GAAQ,CAA9D,CAAxD;AAAA,YAAyHoiD,CAAC,GAAC31C,CAAC,CAAC91B,CAAD,CAA5H;;AAAgI,UAAG,YAAU,OAAOyrE,CAApB,EAAsB,OAAOA,CAAP;AAAS,aAAOA,CAAC,CAAC3uD,MAAM,CAAC6W,CAAC,CAACC,CAAD,CAAF,CAAP,CAAR;AAAuB;;AAAA2pO,IAAAA,EAAE,CAAC/0P,MAAH,CAAUy4O,qBAAV,KAAkCsc,EAAE,CAAC/0P,MAAH,CAAUy4O,qBAAV,GAAgC,EAAlE;AAAsE,UAAMp/O,EAAE,GAAC,CAAC,IAAD,EAAM,KAAN,EAAY,IAAZ,EAAiB,KAAjB,EAAuB,KAAvB,EAA6B,IAA7B,EAAkC,KAAlC,EAAwC,IAAxC,EAA6C,KAA7C,EAAmD,IAAnD,EAAwD,KAAxD,CAAT;;AAAwE,aAASujQ,EAAT,CAAY/7O,CAAZ,EAAc;AAAC,aAAOxnB,EAAE,CAACrM,QAAH,CAAY6zB,CAAZ,IAAe,KAAf,GAAqB,KAA5B;AAAkC;;AAAA,UAAM22D,EAAN,CAAQ;AAACl3F,MAAAA,WAAW,CAAC;AAACu8Q,QAAAA,UAAU,EAACh8O,CAAC,GAAC,IAAd;AAAmBi8O,QAAAA,eAAe,EAACtxO;AAAnC,UAAsC,EAAvC,EAA0C;AAAC,aAAKqxO,UAAL,GAAgBh8O,CAAhB,EAAkB,KAAKi8O,eAAL,GAAqBtxO,CAAC,IAAE,KAAKqxO,UAA/C,EAA0D,KAAKE,mBAAL,GAAyBH,EAAE,CAAC,KAAKC,UAAN,CAArF,EAAuG,KAAKG,wBAAL,GAA8BJ,EAAE,CAAC,KAAKE,eAAN,CAAvI,EAA8J,KAAKj8O,CAAL,GAAO,CAACA,CAAD,EAAG2K,CAAH,KAAO,KAAKq+N,EAAL,CAAQhpO,CAAR,EAAU2K,CAAV,CAA5K;AAAyL;;AAAY,UAARzpC,QAAQ,GAAE;AAAC,eAAOY,OAAO,CAAC8wM,IAAR,CAAa,+LAAb,GAA8M,KAAKopE,UAA1N;AAAqO;;AAAAhT,MAAAA,EAAE,CAAChpO,CAAD,EAAG2K,CAAC,GAAC,EAAL,EAAQ;AAACA,QAAAA,CAAC,GAACgkL,EAAE,CAAChkL,CAAD,CAAJ,EAAQ,YAAU,OAAO3K,CAAjB,KAAqBA,CAAC,GAAC;AAACq+K,UAAAA,MAAM,EAACr+K;AAAR,SAAvB,CAAR;AAA2C,cAAMuK,CAAC,GAAC,CAAC,CAACvK,CAAC,CAACwpL,MAAJ,GAAW7+K,CAAC,CAAC,CAAD,CAAZ,GAAgB,CAAxB;AAA0B,eAAO,UAAS3K,CAAT,EAAW2K,CAAX,EAAa;AAAC,iBAAO3K,CAAC,CAAC3gB,OAAF,CAAU,SAAV,EAAqB,CAAC2gB,CAAD,EAAGuK,CAAH,KAAOA,CAAC,GAACI,CAAC,CAACh+B,MAAJ,GAAWg+B,CAAC,CAACJ,CAAD,CAAZ,GAAgBvK,CAA5C,CAAP;AAAuD,SAArE,CAAsE47O,EAAE,CAAC,KAAKI,UAAN,EAAiBh8O,CAAjB,EAAmBuK,CAAnB,CAAxE,EAA8FI,CAA9F,CAAP;AAAwG;;AAA5pB;;AAA6pB,UAAMyxO,EAAN,SAAiB7W,CAAC,EAAlB,CAAqB;AAAC9lQ,MAAAA,WAAW,CAACugC,CAAC,GAAC,EAAH,EAAM2K,CAAC,GAAC,EAAR,EAAW;AAAC;AAAQ,cAAMJ,CAAC,GAACq9N,CAAC,CAAC5nO,CAAD,CAAT;AAAa,YAAGuK,CAAC,KAAGI,CAAC,GAAC3K,CAAL,CAAD,EAAS,KAAKq8O,MAAL,GAAY,EAArB,EAAwB,KAAKC,QAAL,GAAc,IAAIrtO,GAAJ,EAAtC,EAA8C,KAAKstO,WAAL,GAAiB5xO,CAAC,CAAC6xO,UAAF,IAAc,IAA7E,EAAkF,KAAKC,4BAAL,GAAkC,IAAIC,OAAJ,EAApH,EAAgI,KAAKC,4BAAL,GAAkC,IAAID,OAAJ,EAAlK,EAA8K,KAAKE,2BAAL,GAAiC,EAA/M,EAAkNryO,CAArN,EAAuN,KAAI,MAAMI,CAAV,IAAe3K,CAAf,EAAiB,KAAKq8O,MAAL,CAAYp2O,IAAZ,CAAiB0E,CAAjB,GAAoB,KAAK2xO,QAAL,CAAcx3O,GAAd,CAAkB,KAAK+3O,sBAAL,CAA4BlyO,CAA5B,CAAlB,EAAiDA,CAAjD,CAApB;AAAwE;;AAAU,UAANh+B,MAAM,GAAE;AAAC,eAAO,KAAK0vQ,MAAL,CAAY1vQ,MAAnB;AAA0B;;AAAS,UAALmwQ,KAAK,GAAE;AAAC,eAAO,KAAKT,MAAL,CAAY,CAAZ,KAAgB,IAAvB;AAA4B;;AAAQ,UAAJ76D,IAAI,GAAE;AAAC,eAAO,KAAK66D,MAAL,CAAY,KAAK1vQ,MAAL,GAAY,CAAxB,KAA4B,IAAnC;AAAwC;;AAAAioB,MAAAA,GAAG,CAACoL,CAAD,EAAG2K,CAAH,EAAK;AAAC,eAAO,KAAKoyO,OAAL,CAAa,CAAC/8O,CAAD,CAAb,EAAiB2K,CAAjB,CAAP;AAA2B;;AAAAoyO,MAAAA,OAAO,CAAC/8O,CAAD,EAAG2K,CAAH,EAAK;AAAC,YAAG,KAAK,CAAL,KAASA,CAAZ,EAAcA,CAAC,GAAC,KAAK0xO,MAAL,CAAY1vQ,MAAd,CAAd,KAAwC,IAAGg+B,CAAC,GAAC,KAAK0xO,MAAL,CAAY1vQ,MAAd,IAAsBg+B,CAAC,GAAC,CAA3B,EAA6B,MAAM,IAAIw3C,CAAJ,CAAM,mCAAN,EAA0C,IAA1C,CAAN;AAAsD,YAAI53C,CAAC,GAAC,CAAN;;AAAQ,aAAI,MAAMgC,CAAV,IAAevM,CAAf,EAAiB;AAAC,gBAAMA,CAAC,GAAC,KAAK68O,sBAAL,CAA4BtwO,CAA5B,CAAR;AAAA,gBAAuC51B,CAAC,GAACg0B,CAAC,GAACJ,CAA3C;;AAA6C,eAAK8xO,MAAL,CAAYl5I,MAAZ,CAAmBxsH,CAAnB,EAAqB,CAArB,EAAuB41B,CAAvB,GAA0B,KAAK+vO,QAAL,CAAcx3O,GAAd,CAAkB9E,CAAlB,EAAoBuM,CAApB,CAA1B,EAAiD,KAAKm5E,IAAL,CAAU,KAAV,EAAgBn5E,CAAhB,EAAkB51B,CAAlB,CAAjD,EAAsE4zB,CAAC,EAAvE;AAA0E;;AAAA,eAAO,KAAKm7E,IAAL,CAAU,QAAV,EAAmB;AAAC4zC,UAAAA,KAAK,EAACt5H,CAAP;AAASq5H,UAAAA,OAAO,EAAC,EAAjB;AAAoB73G,UAAAA,KAAK,EAAC7W;AAA1B,SAAnB,GAAiD,IAAxD;AAA6D;;AAAAlqC,MAAAA,GAAG,CAACu/B,CAAD,EAAG;AAAC,YAAI2K,CAAJ;AAAM,YAAG,YAAU,OAAO3K,CAApB,EAAsB2K,CAAC,GAAC,KAAK2xO,QAAL,CAAc77Q,GAAd,CAAkBu/B,CAAlB,CAAF,CAAtB,KAAiD;AAAC,cAAG,YAAU,OAAOA,CAApB,EAAsB,MAAM,IAAImiD,CAAJ,CAAM,4BAAN,EAAmC,IAAnC,CAAN;AAA+Cx3C,UAAAA,CAAC,GAAC,KAAK0xO,MAAL,CAAYr8O,CAAZ,CAAF;AAAiB;AAAA,eAAO2K,CAAC,IAAE,IAAV;AAAe;;AAAAmkB,MAAAA,GAAG,CAAC9uB,CAAD,EAAG;AAAC,YAAG,YAAU,OAAOA,CAApB,EAAsB,OAAO,KAAKs8O,QAAL,CAAcxtN,GAAd,CAAkB9uB,CAAlB,CAAP;AAA4B;AAAC,gBAAM2K,CAAC,GAAC3K,CAAC,CAAC,KAAKu8O,WAAN,CAAT;AAA4B,iBAAO5xO,CAAC,IAAE,KAAK2xO,QAAL,CAAcxtN,GAAd,CAAkBnkB,CAAlB,CAAV;AAA+B;AAAC;;AAAAqyO,MAAAA,QAAQ,CAACh9O,CAAD,EAAG;AAAC,YAAI2K,CAAJ;AAAM,eAAOA,CAAC,GAAC,YAAU,OAAO3K,CAAjB,GAAmB,KAAKs8O,QAAL,CAAc77Q,GAAd,CAAkBu/B,CAAlB,CAAnB,GAAwCA,CAA1C,EAA4C2K,CAAC,GAAC,KAAK0xO,MAAL,CAAYjkQ,OAAZ,CAAoBuyB,CAApB,CAAD,GAAwB,CAAC,CAA7E;AAA+E;;AAAAs1E,MAAAA,MAAM,CAACjgF,CAAD,EAAG;AAAC,cAAK,CAAC2K,CAAD,EAAGJ,CAAH,IAAM,KAAK0yO,OAAL,CAAaj9O,CAAb,CAAX;;AAA2B,eAAO,KAAK0lF,IAAL,CAAU,QAAV,EAAmB;AAAC4zC,UAAAA,KAAK,EAAC,EAAP;AAAUD,UAAAA,OAAO,EAAC,CAAC1uH,CAAD,CAAlB;AAAsB6W,UAAAA,KAAK,EAACjX;AAA5B,SAAnB,GAAmDI,CAA1D;AAA4D;;AAAAnhC,MAAAA,GAAG,CAACw2B,CAAD,EAAG2K,CAAH,EAAK;AAAC,eAAO,KAAK0xO,MAAL,CAAY7yQ,GAAZ,CAAgBw2B,CAAhB,EAAkB2K,CAAlB,CAAP;AAA4B;;AAAA9E,MAAAA,OAAO,CAAC7F,CAAD,EAAG2K,CAAH,EAAK;AAAC,aAAK0xO,MAAL,CAAYx2O,OAAZ,CAAoB7F,CAApB,EAAsB2K,CAAtB;AAAyB;;AAAApwB,MAAAA,IAAI,CAACylB,CAAD,EAAG2K,CAAH,EAAK;AAAC,eAAO,KAAK0xO,MAAL,CAAY9hQ,IAAZ,CAAiBylB,CAAjB,EAAmB2K,CAAnB,CAAP;AAA6B;;AAAAhhC,MAAAA,MAAM,CAACq2B,CAAD,EAAG2K,CAAH,EAAK;AAAC,eAAO,KAAK0xO,MAAL,CAAY1yQ,MAAZ,CAAmBq2B,CAAnB,EAAqB2K,CAArB,CAAP;AAA+B;;AAAA+T,MAAAA,KAAK,GAAE;AAAC,aAAKw+N,iBAAL,KAAyB,KAAKxX,aAAL,CAAmB,KAAKwX,iBAAxB,GAA2C,KAAKA,iBAAL,GAAuB,IAA3F;AAAiG,cAAMl9O,CAAC,GAACmF,KAAK,CAAC7H,IAAN,CAAW,KAAK++O,MAAhB,CAAR;;AAAgC,eAAK,KAAK1vQ,MAAV,GAAkB,KAAKswQ,OAAL,CAAa,CAAb;;AAAgB,aAAKv3J,IAAL,CAAU,QAAV,EAAmB;AAAC4zC,UAAAA,KAAK,EAAC,EAAP;AAAUD,UAAAA,OAAO,EAACr5H,CAAlB;AAAoBwhB,UAAAA,KAAK,EAAC;AAA1B,SAAnB;AAAiD;;AAAA27N,MAAAA,MAAM,CAACn9O,CAAD,EAAG;AAAC,YAAG,KAAKk9O,iBAAR,EAA0B,MAAM,IAAI/6L,CAAJ,CAAM,2BAAN,EAAkC,IAAlC,CAAN;AAA8C,eAAO,KAAK+6L,iBAAL,GAAuBl9O,CAAvB,EAAyB;AAACg9M,UAAAA,EAAE,EAACh9M,CAAC,IAAE;AAAC,iBAAKo9O,mBAAL,CAA0BzyO,CAAC,IAAE,IAAI3K,CAAJ,CAAM2K,CAAN,CAA7B;AAAwC,WAAhD;AAAiD0yO,UAAAA,KAAK,EAACr9O,CAAC,IAAE;AAAC,0BAAY,OAAOA,CAAnB,GAAqB,KAAKo9O,mBAAL,CAAyBp9O,CAAzB,CAArB,GAAiD,KAAKo9O,mBAAL,CAA0BzyO,CAAC,IAAEA,CAAC,CAAC3K,CAAD,CAA9B,CAAjD;AAAqF;AAAhJ,SAAhC;AAAkL;;AAAAo9O,MAAAA,mBAAmB,CAACp9O,CAAD,EAAG;AAAC,cAAM2K,CAAC,GAAC,KAAKuyO,iBAAb;AAAA,cAA+B3yO,CAAC,GAAC,CAACA,CAAD,EAAGgC,CAAH,EAAK51B,CAAL,KAAS;AAAC,gBAAM81B,CAAC,GAAC9B,CAAC,CAACuyO,iBAAF,IAAqB,IAA7B;AAAA,gBAAkC5yO,CAAC,GAACK,CAAC,CAACgyO,4BAAF,CAA+Bl8Q,GAA/B,CAAmC8rC,CAAnC,CAApC;;AAA0E,cAAGE,CAAC,IAAEnC,CAAN,EAAQ,KAAKmyO,4BAAL,CAAkC33O,GAAlC,CAAsCyH,CAAtC,EAAwCjC,CAAxC,GAA2C,KAAKqyO,4BAAL,CAAkC73O,GAAlC,CAAsCwF,CAAtC,EAAwCiC,CAAxC,CAA3C,CAAR,KAAkG;AAAC,kBAAMhC,CAAC,GAACvK,CAAC,CAACuM,CAAD,CAAT;AAAa,gBAAG,CAAChC,CAAJ,EAAM,OAAO,KAAK,KAAKqyO,2BAAL,CAAiC32O,IAAjC,CAAsCtvB,CAAtC,CAAZ;AAAqD,gBAAI81B,CAAC,GAAC91B,CAAN;;AAAQ,iBAAI,MAAMqpB,CAAV,IAAe,KAAK48O,2BAApB,EAAgDjmQ,CAAC,GAACqpB,CAAF,IAAKyM,CAAC,EAAN;;AAAS,iBAAI,MAAMzM,CAAV,IAAe2K,CAAC,CAACiyO,2BAAjB,EAA6CnwO,CAAC,IAAEzM,CAAH,IAAMyM,CAAC,EAAP;;AAAU,iBAAKgwO,4BAAL,CAAkC33O,GAAlC,CAAsCyH,CAAtC,EAAwChC,CAAxC,GAA2C,KAAKoyO,4BAAL,CAAkC73O,GAAlC,CAAsCyF,CAAtC,EAAwCgC,CAAxC,CAA3C,EAAsF,KAAK3X,GAAL,CAAS2V,CAAT,EAAWkC,CAAX,CAAtF;;AAAoG,iBAAI,IAAIzM,CAAC,GAAC,CAAV,EAAYA,CAAC,GAAC2K,CAAC,CAACiyO,2BAAF,CAA8BjwQ,MAA5C,EAAmDqzB,CAAC,EAApD,EAAuDyM,CAAC,IAAE9B,CAAC,CAACiyO,2BAAF,CAA8B58O,CAA9B,CAAH,IAAqC2K,CAAC,CAACiyO,2BAAF,CAA8B58O,CAA9B,GAArC;AAAwE;AAAC,SAA5nB;;AAA6nB,aAAI,MAAMA,CAAV,IAAe2K,CAAf,EAAiBJ,CAAC,CAAC,CAAD,EAAGvK,CAAH,EAAK2K,CAAC,CAACqyO,QAAF,CAAWh9O,CAAX,CAAL,CAAD;;AAAqB,aAAKwlO,QAAL,CAAc76N,CAAd,EAAgB,KAAhB,EAAsBJ,CAAtB,GAAyB,KAAKi7N,QAAL,CAAc76N,CAAd,EAAgB,QAAhB,EAA0B,CAAC3K,CAAD,EAAG2K,CAAH,EAAKJ,CAAL,KAAS;AAAC,gBAAMgC,CAAC,GAAC,KAAKkwO,4BAAL,CAAkCh8Q,GAAlC,CAAsCkqC,CAAtC,CAAR;;AAAiD4B,UAAAA,CAAC,IAAE,KAAK0zE,MAAL,CAAY1zE,CAAZ,CAAH,EAAkB,KAAKqwO,2BAAL,GAAiC,KAAKA,2BAAL,CAAiCzlK,MAAjC,CAAyC,CAACn3E,CAAD,EAAG2K,CAAH,MAAQJ,CAAC,GAACI,CAAF,IAAK3K,CAAC,CAACiG,IAAF,CAAO0E,CAAC,GAAC,CAAT,CAAL,EAAiBJ,CAAC,GAACI,CAAF,IAAK3K,CAAC,CAACiG,IAAF,CAAO0E,CAAP,CAAtB,EAAgC3K,CAAxC,CAAzC,EAAqF,EAArF,CAAnD;AAA4I,SAAjO,CAAzB;AAA6P;;AAAA68O,MAAAA,sBAAsB,CAAC78O,CAAD,EAAG;AAAC,cAAM2K,CAAC,GAAC,KAAK4xO,WAAb;AAAyB,YAAIhyO,CAAJ;;AAAM,YAAGI,CAAC,IAAI3K,CAAR,EAAU;AAAC,cAAGuK,CAAC,GAACvK,CAAC,CAAC2K,CAAD,CAAH,EAAO,YAAU,OAAOJ,CAA3B,EAA6B,MAAM,IAAI43C,CAAJ,CAAM,2BAAN,EAAkC,IAAlC,CAAN;AAA8C,cAAG,KAAK1hF,GAAL,CAAS8pC,CAAT,CAAH,EAAe,MAAM,IAAI43C,CAAJ,CAAM,oCAAN,EAA2C,IAA3C,CAAN;AAAuD,SAA5J,MAAiKniD,CAAC,CAAC2K,CAAD,CAAD,GAAKJ,CAAC,GAACP,CAAC,EAAR;;AAAW,eAAOO,CAAP;AAAS;;AAAA0yO,MAAAA,OAAO,CAACj9O,CAAD,EAAG;AAAC,YAAI2K,CAAJ;AAAA,YAAMJ,CAAN;AAAA,YAAQgC,CAAR;AAAA,YAAU51B,CAAC,GAAC,CAAC,CAAb;AAAe,cAAM81B,CAAC,GAAC,KAAK8vO,WAAb;AAAyB,YAAG,YAAU,OAAOv8O,CAAjB,IAAoBuK,CAAC,GAACvK,CAAF,EAAIuM,CAAC,GAAC,KAAK+vO,QAAL,CAAc77Q,GAAd,CAAkB8pC,CAAlB,CAAN,EAA2B5zB,CAAC,GAAC,CAAC41B,CAA9B,EAAgCA,CAAC,KAAG5B,CAAC,GAAC,KAAK0xO,MAAL,CAAYjkQ,OAAZ,CAAoBm0B,CAApB,CAAL,CAArD,IAAmF,YAAU,OAAOvM,CAAjB,IAAoB2K,CAAC,GAAC3K,CAAF,EAAIuM,CAAC,GAAC,KAAK8vO,MAAL,CAAY1xO,CAAZ,CAAN,EAAqBh0B,CAAC,GAAC,CAAC41B,CAAxB,EAA0BA,CAAC,KAAGhC,CAAC,GAACgC,CAAC,CAACE,CAAD,CAAN,CAA/C,KAA4DF,CAAC,GAACvM,CAAF,EAAIuK,CAAC,GAACgC,CAAC,CAACE,CAAD,CAAP,EAAW9B,CAAC,GAAC,KAAK0xO,MAAL,CAAYjkQ,OAAZ,CAAoBm0B,CAApB,CAAb,EAAoC51B,CAAC,GAAC,CAAC,CAAD,IAAIg0B,CAAJ,IAAO,CAAC,KAAK2xO,QAAL,CAAc77Q,GAAd,CAAkB8pC,CAAlB,CAA1G,CAAnF,EAAmN5zB,CAAtN,EAAwN,MAAM,IAAIwrE,CAAJ,CAAM,uBAAN,EAA8B,IAA9B,CAAN;AAA0C,aAAKk6L,MAAL,CAAYl5I,MAAZ,CAAmBx4F,CAAnB,EAAqB,CAArB,GAAwB,KAAK2xO,QAAL,CAAc1nO,MAAd,CAAqBrK,CAArB,CAAxB;;AAAgD,cAAMD,CAAC,GAAC,KAAKqyO,4BAAL,CAAkCl8Q,GAAlC,CAAsC8rC,CAAtC,CAAR;;AAAiD,eAAO,KAAKowO,4BAAL,CAAkC/nO,MAAlC,CAAyCrI,CAAzC,GAA4C,KAAKkwO,4BAAL,CAAkC7nO,MAAlC,CAAyCtK,CAAzC,CAA5C,EAAwF,KAAKo7E,IAAL,CAAU,QAAV,EAAmBn5E,CAAnB,EAAqB5B,CAArB,CAAxF,EAAgH,CAAC4B,CAAD,EAAG5B,CAAH,CAAvH;AAA6H;;AAAgB,OAAfuB,MAAM,CAACC,QAAQ,IAAG;AAAC,eAAO,KAAKkwO,MAAL,CAAYnwO,MAAM,CAACC,QAAnB,GAAP;AAAsC;;AAApqH;;AAAqqH,aAASmxO,EAAT,CAAYt9O,CAAZ,EAAc;AAAC,YAAM2K,CAAC,GAAC3K,CAAC,CAACp1B,IAAF,EAAR;AAAiB,aAAO+/B,CAAC,CAACY,IAAF,GAAO,IAAP,GAAYZ,CAAC,CAACz5B,KAArB;AAA2B;;AAAA,UAAMilN,EAAN,SAAiBi9C,EAAE,CAAC/wL,CAAC,EAAF,CAAnB,CAAyB;AAAC5iF,MAAAA,WAAW,GAAE;AAAC,iBAAQ,KAAK89Q,SAAL,GAAe,IAAI1rK,GAAJ,EAAvB,EAA+B,KAAK2rK,qBAAL,GAA2B,IAA1D,EAA+D,KAAK14O,GAAL,CAAS,WAAT,EAAqB,CAAC,CAAtB,CAA/D,EAAwF,KAAKA,GAAL,CAAS,gBAAT,EAA0B,IAA1B,CAAxF;AAAwH;;AAAAlQ,MAAAA,GAAG,CAACoL,CAAD,EAAG;AAAC,YAAG,KAAKu9O,SAAL,CAAezuN,GAAf,CAAmB9uB,CAAnB,CAAH,EAAyB,MAAM,IAAImiD,CAAJ,CAAM,wCAAN,EAA+C,IAA/C,CAAN;AAA2D,aAAKqjL,QAAL,CAAcxlO,CAAd,EAAgB,OAAhB,EAAyB,MAAI,KAAKy9O,MAAL,CAAYz9O,CAAZ,CAA7B,EAA6C;AAACstI,UAAAA,UAAU,EAAC,CAAC;AAAb,SAA7C,GAA8D,KAAKk4F,QAAL,CAAcxlO,CAAd,EAAgB,MAAhB,EAAwB,MAAI,KAAK09O,KAAL,EAA5B,EAA0C;AAACpwG,UAAAA,UAAU,EAAC,CAAC;AAAb,SAA1C,CAA9D,EAAyH,KAAKiwG,SAAL,CAAe3oP,GAAf,CAAmBoL,CAAnB,CAAzH;AAA+I;;AAAAigF,MAAAA,MAAM,CAACjgF,CAAD,EAAG;AAACA,QAAAA,CAAC,KAAG,KAAK29O,cAAT,IAAyB,KAAKD,KAAL,EAAzB,EAAsC,KAAKH,SAAL,CAAezuN,GAAf,CAAmB9uB,CAAnB,MAAwB,KAAK0lO,aAAL,CAAmB1lO,CAAnB,GAAsB,KAAKu9O,SAAL,CAAe3oO,MAAf,CAAsB5U,CAAtB,CAA9C,CAAtC;AAA8G;;AAAA2+E,MAAAA,OAAO,GAAE;AAAC,aAAK+mJ,aAAL;AAAqB;;AAAA+X,MAAAA,MAAM,CAACz9O,CAAD,EAAG;AAACwc,QAAAA,YAAY,CAAC,KAAKghO,qBAAN,CAAZ,EAAyC,KAAKG,cAAL,GAAoB39O,CAA7D,EAA+D,KAAK49O,SAAL,GAAe,CAAC,CAA/E;AAAiF;;AAAAF,MAAAA,KAAK,GAAE;AAAClhO,QAAAA,YAAY,CAAC,KAAKghO,qBAAN,CAAZ,EAAyC,KAAKA,qBAAL,GAA2Bt+P,UAAU,CAAE,MAAI;AAAC,eAAKy+P,cAAL,GAAoB,IAApB,EAAyB,KAAKC,SAAL,GAAe,CAAC,CAAzC;AAA2C,SAAlD,EAAoD,CAApD,CAA9E;AAAqI;;AAAhvB;;AAAivB,UAAMC,EAAN,CAAQ;AAACp+Q,MAAAA,WAAW,GAAE;AAAC,aAAKq+Q,SAAL,GAAe,KAAI1K,EAAE,EAAN,GAAf;AAAyB;;AAAA5N,MAAAA,QAAQ,CAACxlO,CAAD,EAAG;AAAC,aAAK89O,SAAL,CAAetY,QAAf,CAAwBxlO,CAAxB,EAA0B,SAA1B,EAAqC,CAACA,CAAD,EAAG2K,CAAH,KAAO;AAAC,eAAKmzO,SAAL,CAAep4J,IAAf,CAAoB,cAAYR,EAAE,CAACv6E,CAAD,CAAlC,EAAsCA,CAAtC;AAAyC,SAAtF;AAAyF;;AAAA7F,MAAAA,GAAG,CAAC9E,CAAD,EAAG2K,CAAH,EAAKJ,CAAC,GAAC,EAAP,EAAU;AAAC,cAAMgC,CAAC,GAACmvO,EAAE,CAAC17O,CAAD,CAAV;AAAA,cAAcrpB,CAAC,GAAC4zB,CAAC,CAACo7E,QAAlB;;AAA2B,aAAKm4J,SAAL,CAAetY,QAAf,CAAwB,KAAKsY,SAA7B,EAAuC,cAAYvxO,CAAnD,EAAsD,CAACvM,CAAD,EAAGuK,CAAH,KAAO;AAACI,UAAAA,CAAC,CAACJ,CAAD,EAAI,MAAI;AAACA,YAAAA,CAAC,CAACgqC,cAAF,IAAmBhqC,CAAC,CAACy/M,eAAF,EAAnB,EAAuChqN,CAAC,CAAColF,IAAF,EAAvC;AAAgD,WAAzD,CAAD,EAA6DplF,CAAC,CAAC2iO,MAAF,GAAS,CAAC,CAAvE;AAAyE,SAAvI,EAAyI;AAACh9I,UAAAA,QAAQ,EAAChvG;AAAV,SAAzI;AAAuJ;;AAAAonQ,MAAAA,KAAK,CAAC/9O,CAAD,EAAG;AAAC,eAAM,CAAC,CAAC,KAAK89O,SAAL,CAAep4J,IAAf,CAAoB,cAAYR,EAAE,CAACllF,CAAD,CAAlC,EAAsCA,CAAtC,CAAR;AAAiD;;AAAA0lO,MAAAA,aAAa,CAAC1lO,CAAD,EAAG;AAAC,aAAK89O,SAAL,CAAepY,aAAf,CAA6B1lO,CAA7B;AAAgC;;AAAA2+E,MAAAA,OAAO,GAAE;AAAC,aAAK+mJ,aAAL;AAAqB;;AAAvd;;AAAwd,aAASsY,EAAT,CAAYh+O,CAAZ,EAAc;AAAC,aAAO4nO,CAAC,CAAC5nO,CAAD,CAAD,GAAK,IAAIiP,GAAJ,CAAQjP,CAAR,CAAL,GAAgB,UAASA,CAAT,EAAW;AAAC,cAAM2K,CAAC,GAAC,IAAIsE,GAAJ,EAAR;;AAAgB,aAAI,MAAM1E,CAAV,IAAevK,CAAf,EAAiB2K,CAAC,CAAC7F,GAAF,CAAMyF,CAAN,EAAQvK,CAAC,CAACuK,CAAD,CAAT;;AAAc,eAAOI,CAAP;AAAS,OAApE,CAAqE3K,CAArE,CAAvB;AAA+F;;AAAA,aAASi+O,EAAT,CAAYj+O,CAAZ,EAAc2K,CAAd,EAAgB;AAAC,UAAIJ,CAAJ;;AAAM,eAASgC,CAAT,CAAW,GAAG51B,CAAd,EAAgB;AAAC41B,QAAAA,CAAC,CAAC+2E,MAAF,IAAW/4E,CAAC,GAACrrB,UAAU,CAAE,MAAI8gB,CAAC,CAAC,GAAGrpB,CAAJ,CAAP,EAAeg0B,CAAf,CAAvB;AAAyC;;AAAA,aAAO4B,CAAC,CAAC+2E,MAAF,GAAS,MAAI;AAAC9mE,QAAAA,YAAY,CAACjS,CAAD,CAAZ;AAAgB,OAA9B,EAA+BgC,CAAtC;AAAwC;;AAAA,aAAS2xO,EAAT,CAAYl+O,CAAZ,EAAc2K,CAAd,EAAgB;AAAC,aAAM,CAAC,EAAEJ,CAAC,GAACvK,CAAC,CAACunB,MAAF,CAAS5c,CAAC,GAAC,CAAX,CAAJ,CAAD,IAAqB,KAAGJ,CAAC,CAAC59B,MAA1B,IAAkC,kBAAkB0oB,IAAlB,CAAuBkV,CAAvB,CAAlC,IAA6D,UAASvK,CAAT,EAAW;AAAC,eAAM,CAAC,CAACA,CAAF,IAAK,KAAGA,CAAC,CAACrzB,MAAV,IAAkB,kBAAkB0oB,IAAlB,CAAuB2K,CAAvB,CAAxB;AAAkD,OAA9D,CAA+DA,CAAC,CAACunB,MAAF,CAAS5c,CAAT,CAA/D,CAAnE;AAA+I,UAAIJ,CAAJ;AAAM;;AAAA,aAAS4zO,EAAT,CAAYn+O,CAAZ,EAAc2K,CAAd,EAAgB;AAAC,aAAM,CAAC,EAAEJ,CAAC,GAACvK,CAAC,CAACunB,MAAF,CAAS5c,CAAT,CAAJ,CAAD,IAAmB,KAAGJ,CAAC,CAAC59B,MAAxB,IAAgC,sEAAsE0oB,IAAtE,CAA2EkV,CAA3E,CAAtC;AAAoH,UAAIA,CAAJ;AAAM;;AAAA,UAAM6zO,EAAE,GAAC,YAAU;AAAC,YAAMp+O,CAAC,GAAC,6BAA6Buc,MAArC;AAAA,YAA4C5R,CAAC,GAAC,QAAM,CAAC,2CAAD,EAA6C,6BAA7C,EAA2E,oBAA3E,EAAgG,oEAAhG,EAAsKnhC,GAAtK,CAA2Kw2B,CAAC,IAAEA,CAAC,CAACuc,MAAhL,EAAyLxvC,IAAzL,CAA8L,GAA9L,CAAN,GAAyM,GAAvP;AAA2P,aAAO,IAAIqoB,MAAJ,CAAY,GAAE4K,CAAE,IAAG2K,CAAE,OAAMA,CAAE,IAA7B,EAAiC,IAAjC,CAAP;AAA8C,KAApT,EAAT;;AAAgU,aAAS0zO,EAAT,CAAYr+O,CAAZ,EAAc2K,CAAd,EAAgB;AAAC,YAAMJ,CAAC,GAACm1B,MAAM,CAAC1/B,CAAD,CAAN,CAAUs+O,QAAV,CAAmBF,EAAnB,CAAR;AAA+B,aAAOj5O,KAAK,CAAC7H,IAAN,CAAWiN,CAAX,EAAc1uB,IAAd,CAAoBmkB,CAAC,IAAEA,CAAC,CAACwhB,KAAF,GAAQ7W,CAAR,IAAWA,CAAC,GAAC3K,CAAC,CAACwhB,KAAF,GAAQxhB,CAAC,CAAC,CAAD,CAAD,CAAKrzB,MAAjD,CAAP;AAAiE;;AAAA,UAAM4xQ,EAAN,SAAiBnC,EAAjB,CAAmB;AAAC38Q,MAAAA,WAAW,CAACugC,CAAC,GAAC,EAAH,EAAM;AAAC,cAAMA,CAAN,EAAQ;AAACw8O,UAAAA,UAAU,EAAC;AAAZ,SAAR,GAAgC,KAAK/6P,EAAL,CAAQ,KAAR,EAAe,CAACue,CAAD,EAAG2K,CAAH,EAAKJ,CAAL,KAAS;AAAC,eAAKi0O,+BAAL,CAAqC7zO,CAArC,EAAuCJ,CAAvC;AAA0C,SAAnE,CAAhC,EAAsG,KAAK9oB,EAAL,CAAQ,QAAR,EAAkB,CAACue,CAAD,EAAG2K,CAAH,KAAO;AAACA,UAAAA,CAAC,CAAC3hB,OAAF,IAAW,KAAKy1P,cAAhB,IAAgC9zO,CAAC,CAAC3hB,OAAF,CAAUi3F,MAAV,EAAhC;AAAmD,SAA7E,CAAtG,EAAsL,KAAKw+J,cAAL,GAAoB,IAA1M;AAA+M;;AAAA9/J,MAAAA,OAAO,GAAE;AAAC,aAAKn1G,GAAL,CAAUw2B,CAAC,IAAEA,CAAC,CAAC2+E,OAAF,EAAb;AAA2B;;AAAA+/J,MAAAA,SAAS,CAAC1+O,CAAD,EAAG;AAAC,aAAKy+O,cAAL,GAAoBz+O,CAApB;;AAAsB,aAAI,MAAMA,CAAV,IAAe,IAAf,EAAoB,KAAKw+O,+BAAL,CAAqCx+O,CAArC;AAAwC;;AAAAmmO,MAAAA,QAAQ,CAAC,GAAGnmO,CAAJ,EAAM;AAAC,YAAG,CAACA,CAAC,CAACrzB,MAAH,IAAW,CAACqzB,CAAC,CAACoyE,KAAF,CAASpyE,CAAC,IAAE,YAAU,OAAOA,CAA7B,CAAf,EAAgD,MAAM,IAAImiD,CAAJ,CAAM,yCAAN,EAAgD,IAAhD,CAAN;AAA4D,eAAM;AAACsqG,UAAAA,EAAE,EAAC9hJ,CAAC,IAAE;AAAC,iBAAI,MAAMJ,CAAV,IAAe,IAAf,EAAoB,KAAI,MAAMgC,CAAV,IAAevM,CAAf,EAAiBuK,CAAC,CAAC47N,QAAF,CAAW55N,CAAX,EAAckgJ,EAAd,CAAiB9hJ,CAAjB;;AAAoB,iBAAKlpB,EAAL,CAAQ,KAAR,EAAe,CAAC8oB,CAAD,EAAGgC,CAAH,KAAO;AAAC,mBAAI,MAAMhC,CAAV,IAAevK,CAAf,EAAiBuM,CAAC,CAAC45N,QAAF,CAAW57N,CAAX,EAAckiJ,EAAd,CAAiB9hJ,CAAjB;AAAoB,aAA5D,GAA+D,KAAKlpB,EAAL,CAAQ,QAAR,EAAkB,CAAC8oB,CAAD,EAAGgC,CAAH,KAAO;AAAC,mBAAI,MAAMhC,CAAV,IAAevK,CAAf,EAAiBuM,CAAC,CAAC65N,cAAF,CAAiB77N,CAAjB,EAAmBI,CAAnB;AAAsB,aAAjE,CAA/D;AAAmI;AAApM,SAAN;AAA4M;;AAAA6zO,MAAAA,+BAA+B,CAACx+O,CAAD,EAAG2K,CAAH,EAAK;AAAC3K,QAAAA,CAAC,CAAC2+O,UAAF,IAAc3+O,CAAC,CAAC4+O,MAAF,EAAd,EAAyB5+O,CAAC,CAAChX,OAAF,IAAW,KAAKy1P,cAAhB,IAAgC,KAAKA,cAAL,CAAoB7a,YAApB,CAAiC5jO,CAAC,CAAChX,OAAnC,EAA2C,KAAKy1P,cAAL,CAAoBn3Q,QAApB,CAA6BqjC,CAA7B,CAA3C,CAAzD;AAAqI;;AAAAs1E,MAAAA,MAAM,CAACjgF,CAAD,EAAG;AAAC,eAAO,MAAMigF,MAAN,CAAajgF,CAAb,CAAP;AAAuB;;AAAx3B;;AAAy3B,QAAI6+O,EAAE,GAACt0O,CAAC,CAAC,IAAD,CAAR;AAAA,QAAeu0O,EAAE,GAACv0O,CAAC,CAACA,CAAF,CAAIs0O,EAAJ,CAAlB;AAAA,QAA0BE,EAAE,GAACx0O,CAAC,CAAC,IAAD,CAA9B;AAAA,QAAqCy0O,EAAE,GAAC;AAACC,MAAAA,UAAU,EAAC,mBAAZ;AAAgCh7J,MAAAA,UAAU,EAAC;AAAC,oBAAW,CAAC;AAAb,OAA3C;AAA2DqC,MAAAA,MAAM,EAAC,MAAlE;AAAyEy9I,MAAAA,SAAS,EAAC,CAAC;AAApF,KAAxC;AAA+H+a,IAAAA,EAAE,GAAGC,EAAE,CAACxc,CAAN,EAAQyc,EAAR,CAAF;AAAcD,IAAAA,EAAE,CAACxc,CAAH,CAAK2c,MAAL;;AAAY,UAAMC,EAAN,SAAiB/L,EAAE,CAAC/wL,CAAC,EAAF,CAAnB,CAAyB;AAAC5iF,MAAAA,WAAW,CAACugC,CAAD,EAAG;AAAC,iBAAQ,KAAKhX,OAAL,GAAa,IAArB,EAA0B,KAAK21P,UAAL,GAAgB,CAAC,CAA3C,EAA6C,KAAKxnD,MAAL,GAAYn3L,CAAzD,EAA2D,KAAKA,CAAL,GAAOA,CAAC,IAAEA,CAAC,CAACA,CAAvE,EAAyE,KAAKo/O,gBAAL,GAAsB,IAAIhD,EAAJ,EAA/F,EAAsG,KAAKiD,gBAAL,GAAsB,KAAKC,gBAAL,EAA5H,EAAoJ,KAAKF,gBAAL,CAAsB39P,EAAtB,CAAyB,KAAzB,EAAgC,CAACkpB,CAAD,EAAGJ,CAAH,KAAO;AAACA,UAAAA,CAAC,CAAC4sL,MAAF,GAASn3L,CAAT,EAAWuK,CAAC,CAACvK,CAAF,GAAIA,CAAC,IAAEA,CAAC,CAACA,CAApB;AAAsB,SAA9D,CAApJ,EAAqN,KAAK4vN,QAAL,CAAc,QAAd,CAArN;AAA6O;;AAAgB,UAAZ2vB,YAAY,GAAE;AAAC,eAAO,KAAKC,aAAL,GAAmB,KAAKA,aAAxB,GAAsC,KAAKA,aAAL,GAAmBC,EAAE,CAAC1qP,IAAH,CAAQ,IAAR,EAAa,IAAb,CAAhE;AAAmF;;AAAAuqP,MAAAA,gBAAgB,CAACt/O,CAAD,EAAG;AAAC,cAAM2K,CAAC,GAAC,IAAI4zO,EAAJ,CAAOv+O,CAAP,CAAR;AAAkB,eAAO,KAAKo/O,gBAAL,CAAsBxqP,GAAtB,CAA0B+V,CAA1B,GAA6BA,CAApC;AAAsC;;AAAA+0O,MAAAA,aAAa,CAAC1/O,CAAD,EAAG;AAAC4nO,QAAAA,CAAC,CAAC5nO,CAAD,CAAD,KAAOA,CAAC,GAAC,CAACA,CAAD,CAAT;;AAAc,aAAI,MAAM2K,CAAV,IAAe3K,CAAf,EAAiB,KAAKq/O,gBAAL,CAAsBzqP,GAAtB,CAA0B+V,CAA1B;AAA6B;;AAAAg1O,MAAAA,eAAe,CAAC3/O,CAAD,EAAG;AAAC4nO,QAAAA,CAAC,CAAC5nO,CAAD,CAAD,KAAOA,CAAC,GAAC,CAACA,CAAD,CAAT;;AAAc,aAAI,MAAM2K,CAAV,IAAe3K,CAAf,EAAiB,KAAKq/O,gBAAL,CAAsBp/J,MAAtB,CAA6Bt1E,CAA7B;AAAgC;;AAAAi1O,MAAAA,WAAW,CAAC5/O,CAAD,EAAG;AAAC,aAAKv9B,QAAL,GAAc,IAAIg9Q,EAAJ,CAAOz/O,CAAP,CAAd;AAAwB;;AAAA6/O,MAAAA,cAAc,CAAC7/O,CAAD,EAAG;AAACy/O,QAAAA,EAAE,CAACzoD,MAAH,CAAU,KAAKv0N,QAAf,EAAwBu9B,CAAxB;AAA2B;;AAAA4+O,MAAAA,MAAM,GAAE;AAAC,YAAG,KAAKD,UAAR,EAAmB,MAAM,IAAIx8L,CAAJ,CAAM,iCAAN,EAAwC,IAAxC,CAAN;AAAoD,aAAK1/E,QAAL,KAAgB,KAAKumB,OAAL,GAAa,KAAKvmB,QAAL,CAAcm8Q,MAAd,EAAb,EAAoC,KAAKc,aAAL,CAAmB,KAAKj9Q,QAAL,CAAcq9Q,QAAd,EAAnB,CAApD,GAAkG,KAAKnB,UAAL,GAAgB,CAAC,CAAnH;AAAqH;;AAAAhgK,MAAAA,OAAO,GAAE;AAAC,aAAK+mJ,aAAL,IAAqB,KAAK0Z,gBAAL,CAAsB51Q,GAAtB,CAA2Bw2B,CAAC,IAAEA,CAAC,CAAC2+E,OAAF,EAA9B,CAArB,EAAiE,KAAKl8G,QAAL,IAAe,KAAKA,QAAL,CAAcs9Q,WAA7B,IAA0C,KAAKt9Q,QAAL,CAAcu9Q,MAAd,CAAqB,KAAKh3P,OAA1B,CAA3G;AAA8I;;AAA//B;;AAAggC,UAAMy2P,EAAN,SAAiBla,CAAC,EAAlB,CAAqB;AAAC9lQ,MAAAA,WAAW,CAACugC,CAAD,EAAG;AAAC,iBAAQmC,MAAM,CAACC,MAAP,CAAc,IAAd,EAAmB69O,EAAE,CAACC,EAAE,CAAClgP,CAAD,CAAH,CAArB,CAAR,EAAsC,KAAKmgP,WAAL,GAAiB,CAAC,CAAxD,EAA0D,KAAKJ,WAAL,GAAiB,IAA3E;AAAgF;;AAAAnB,MAAAA,MAAM,GAAE;AAAC,cAAM5+O,CAAC,GAAC,KAAKogP,WAAL,CAAiB;AAACC,UAAAA,YAAY,EAAC,CAAC;AAAf,SAAjB,CAAR;;AAA4C,eAAO,KAAKF,WAAL,GAAiB,CAAC,CAAlB,EAAoBngP,CAA3B;AAA6B;;AAAAyK,MAAAA,KAAK,CAACzK,CAAD,EAAG;AAAC,eAAO,KAAK+/O,WAAL,GAAiB;AAACz4Q,UAAAA,QAAQ,EAAC,EAAV;AAAag5Q,UAAAA,QAAQ,EAAC,EAAtB;AAAyBr8J,UAAAA,UAAU,EAAC;AAApC,SAAjB,EAAyD,KAAKm8J,WAAL,CAAiB;AAAC/5J,UAAAA,IAAI,EAACrmF,CAAN;AAAQqgP,UAAAA,YAAY,EAAC,CAAC,CAAtB;AAAwBE,UAAAA,UAAU,EAAC,CAAC,CAApC;AAAsCC,UAAAA,UAAU,EAAC,KAAKT;AAAtD,SAAjB,CAAzD,EAA8I//O,CAArJ;AAAuJ;;AAAAggP,MAAAA,MAAM,CAAChgP,CAAD,EAAG;AAAC,YAAG,CAAC,KAAK+/O,WAAT,EAAqB,MAAM,IAAI59L,CAAJ,CAAM,gCAAN,EAAuC,CAAC,IAAD,EAAMniD,CAAN,CAAvC,CAAN;;AAAuD,aAAKygP,uBAAL,CAA6BzgP,CAA7B,EAA+B,KAAK+/O,WAApC;AAAiD;;AAAS,OAARD,QAAQ,GAAE;AAAC,eAAM,UAAS9/O,CAAT,CAAW2K,CAAX,EAAa;AAAC,cAAGA,CAAC,CAACrjC,QAAL,EAAc,KAAI,MAAMijC,CAAV,IAAeI,CAAC,CAACrjC,QAAjB,EAA0Bo5Q,EAAE,CAACn2O,CAAD,CAAF,GAAM,MAAMA,CAAZ,GAAc4qL,EAAE,CAAC5qL,CAAD,CAAF,KAAQ,OAAMvK,CAAC,CAACuK,CAAD,CAAf,CAAd;AAAkC,SAAxF,CAAyF,IAAzF,CAAN;AAAqG;;AAAW,aAAJxV,IAAI,CAACiL,CAAD,EAAG2K,CAAH,EAAK;AAAC,eAAM;AAAC8hJ,UAAAA,EAAE,EAAC,CAACliJ,CAAD,EAAGgC,CAAH,KAAO,IAAIo0O,EAAJ,CAAO;AAACC,YAAAA,mBAAmB,EAACr2O,CAArB;AAAuBs2O,YAAAA,SAAS,EAACt2O,CAAjC;AAAmC48N,YAAAA,UAAU,EAACnnO,CAA9C;AAAgD6lO,YAAAA,OAAO,EAACl7N,CAAxD;AAA0DiN,YAAAA,QAAQ,EAACrL;AAAnE,WAAP,CAAX;AAAyFu0O,UAAAA,EAAE,EAAC,CAACv2O,CAAD,EAAGgC,CAAH,EAAK51B,CAAL,KAAS,IAAIoqQ,EAAJ,CAAO;AAAC5Z,YAAAA,UAAU,EAACnnO,CAAZ;AAAc6lO,YAAAA,OAAO,EAACl7N,CAAtB;AAAwBk2O,YAAAA,SAAS,EAACt2O,CAAlC;AAAoCy2O,YAAAA,WAAW,EAACz0O,CAAhD;AAAkDqL,YAAAA,QAAQ,EAACjhC;AAA3D,WAAP;AAArG,SAAN;AAAkL;;AAAa,aAANqgN,MAAM,CAACh3L,CAAD,EAAG2K,CAAH,EAAK;AAAC,YAAG3K,CAAC,CAACmgP,WAAL,EAAiB,MAAM,IAAIh+L,CAAJ,CAAM,wBAAN,EAA+B,CAAC,IAAD,EAAMniD,CAAN,CAA/B,CAAN;AAA+CihP,QAAAA,EAAE,CAACjhP,CAAD,EAAGigP,EAAE,CAACC,EAAE,CAACv1O,CAAD,CAAH,CAAL,CAAF;AAAgB;;AAAAy1O,MAAAA,WAAW,CAACpgP,CAAD,EAAG;AAAC,YAAI2K,CAAJ;AAAM,YAAGA,CAAC,GAAC3K,CAAC,CAACqmF,IAAF,GAAO,KAAK66J,GAAL,IAAU,KAAKnvI,IAAtB,GAA2B,KAAKmvI,GAAL,GAAS,KAAKnvI,IAAd,GAAmB,CAAC,KAAKA,IAAtD,EAA2DpnG,CAA9D,EAAgE,MAAM,IAAIw3C,CAAJ,CAAM,0BAAN,EAAiC,IAAjC,CAAN;AAA6C,eAAO,KAAK4vD,IAAL,GAAU,KAAKovI,WAAL,CAAiBnhP,CAAjB,CAAV,GAA8B,KAAKohP,cAAL,CAAoBphP,CAApB,CAArC;AAA4D;;AAAAohP,MAAAA,cAAc,CAACphP,CAAD,EAAG;AAAC,YAAI2K,CAAC,GAAC3K,CAAC,CAACqmF,IAAR;AAAa,eAAO17E,CAAC,KAAGA,CAAC,GAAC3K,CAAC,CAACqmF,IAAF,GAAO3kF,QAAQ,CAACgnO,eAAT,CAAyB,KAAK/wI,EAAL,IAAS,8BAAlC,EAAiE,KAAKupJ,GAAtE,CAAZ,CAAD,EAAyF,KAAKG,iBAAL,CAAuBrhP,CAAvB,CAAzF,EAAmH,KAAKshP,sBAAL,CAA4BthP,CAA5B,CAAnH,EAAkJ,KAAKuhP,eAAL,CAAqBvhP,CAArB,CAAlJ,EAA0K2K,CAAjL;AAAmL;;AAAAw2O,MAAAA,WAAW,CAACnhP,CAAD,EAAG;AAAC,YAAI2K,CAAC,GAAC3K,CAAC,CAACqmF,IAAR;AAAa,eAAO17E,CAAC,GAAC3K,CAAC,CAACwgP,UAAF,CAAazuI,IAAb,GAAkBpnG,CAAC,CAAC62O,WAArB,GAAiC72O,CAAC,GAAC3K,CAAC,CAACqmF,IAAF,GAAO3kF,QAAQ,CAACgiO,cAAT,CAAwB,EAAxB,CAA3C,EAAuE+d,EAAE,CAAC,KAAK1vI,IAAN,CAAF,GAAc,KAAK2vI,iBAAL,CAAuB;AAACC,UAAAA,MAAM,EAAC,KAAK5vI,IAAb;AAAkBuxH,UAAAA,OAAO,EAACse,EAAE,CAACj3O,CAAD,CAA5B;AAAgChjC,UAAAA,IAAI,EAACq4B;AAArC,SAAvB,CAAd,GAA8E2K,CAAC,CAAC62O,WAAF,GAAc,KAAKzvI,IAAL,CAAUhlI,IAAV,CAAe,EAAf,CAAnK,EAAsL49B,CAA7L;AAA+L;;AAAA02O,MAAAA,iBAAiB,CAACrhP,CAAD,EAAG;AAAC,YAAG,CAAC,KAAKikF,UAAT,EAAoB;AAAO,cAAMt5E,CAAC,GAAC3K,CAAC,CAACqmF,IAAV;AAAA,cAAe97E,CAAC,GAACvK,CAAC,CAACwgP,UAAnB;;AAA8B,aAAI,MAAMj0O,CAAV,IAAe,KAAK03E,UAApB,EAA+B;AAAC,gBAAMttG,CAAC,GAACg0B,CAAC,CAACk3O,YAAF,CAAet1O,CAAf,CAAR;AAAA,gBAA0BE,CAAC,GAAC,KAAKw3E,UAAL,CAAgB13E,CAAhB,CAA5B;AAA+ChC,UAAAA,CAAC,KAAGA,CAAC,CAAC05E,UAAF,CAAa13E,CAAb,IAAgB51B,CAAnB,CAAD;AAAuB,gBAAM2zB,CAAC,GAACw3O,EAAE,CAACr1O,CAAD,CAAF,GAAMA,CAAC,CAAC,CAAD,CAAD,CAAKkrF,EAAX,GAAc,IAAtB;;AAA2B,cAAG8pJ,EAAE,CAACh1O,CAAD,CAAL,EAAS;AAAC,kBAAM21C,CAAC,GAAC0/L,EAAE,CAACr1O,CAAD,CAAF,GAAMA,CAAC,CAAC,CAAD,CAAD,CAAKv7B,KAAX,GAAiBu7B,CAAzB;AAA2BlC,YAAAA,CAAC,IAAEw3O,EAAE,CAACx1O,CAAD,CAAL,IAAU61C,CAAC,CAAC0mC,OAAF,CAAUnyG,CAAV,CAAV,EAAuB,KAAK+qQ,iBAAL,CAAuB;AAACC,cAAAA,MAAM,EAACv/L,CAAR;AAAUkhL,cAAAA,OAAO,EAAC0e,EAAE,CAACr3O,CAAD,EAAG4B,CAAH,EAAKjC,CAAL,CAApB;AAA4B3iC,cAAAA,IAAI,EAACq4B;AAAjC,aAAvB,CAAvB;AAAmF,WAAxH,MAA6H,IAAG,WAASuM,CAAT,IAAY,YAAU,OAAOE,CAAC,CAAC,CAAD,CAAjC,EAAqC,KAAKw1O,qBAAL,CAA2Bx1O,CAAC,CAAC,CAAD,CAA5B,EAAgCzM,CAAhC,EAArC,KAA4E;AAACuK,YAAAA,CAAC,IAAE5zB,CAAH,IAAMorQ,EAAE,CAACx1O,CAAD,CAAR,IAAaE,CAAC,CAACq8E,OAAF,CAAUnyG,CAAV,CAAb;AAA0B,kBAAMqpB,CAAC,GAACyM,CAAC,CAACjjC,GAAF,CAAOw2B,CAAC,IAAEA,CAAC,IAAEA,CAAC,CAAC9uB,KAAL,IAAY8uB,CAAtB,EAA0Bm3E,MAA1B,CAAkC,CAACn3E,CAAD,EAAG2K,CAAH,KAAO3K,CAAC,CAAC4M,MAAF,CAASjC,CAAT,CAAzC,EAAsD,EAAtD,EAA0DwsE,MAA1D,CAAiE+qK,EAAjE,EAAoE,EAApE,CAAR;AAAgFC,YAAAA,EAAE,CAACniP,CAAD,CAAF,IAAO2K,CAAC,CAACy3O,cAAF,CAAiB93O,CAAjB,EAAmBiC,CAAnB,EAAqBvM,CAArB,CAAP;AAA+B;AAAC;AAAC;;AAAAiiP,MAAAA,qBAAqB,CAACjiP,CAAD,EAAG2K,CAAH,EAAK;AAAC,cAAMJ,CAAC,GAACI,CAAC,CAAC07E,IAAV;;AAAe,aAAI,MAAM95E,CAAV,IAAevM,CAAf,EAAiB;AAAC,gBAAMrpB,CAAC,GAACqpB,CAAC,CAACuM,CAAD,CAAT;AAAak1O,UAAAA,EAAE,CAAC9qQ,CAAD,CAAF,GAAM,KAAK+qQ,iBAAL,CAAuB;AAACC,YAAAA,MAAM,EAAC,CAAChrQ,CAAD,CAAR;AAAY2sP,YAAAA,OAAO,EAAC+e,EAAE,CAAC93O,CAAD,EAAGgC,CAAH,CAAtB;AAA4B5kC,YAAAA,IAAI,EAACgjC;AAAjC,WAAvB,CAAN,GAAkEJ,CAAC,CAACgxC,KAAF,CAAQhvC,CAAR,IAAW51B,CAA7E;AAA+E;AAAC;;AAAA2qQ,MAAAA,sBAAsB,CAACthP,CAAD,EAAG;AAAC,cAAM2K,CAAC,GAAC3K,CAAC,CAACqmF,IAAV;AAAA,cAAe97E,CAAC,GAACvK,CAAC,CAACqgP,YAAF,GAAe3+O,QAAQ,CAAC4gP,sBAAT,EAAf,GAAiD33O,CAAlE;AAAA,cAAoE4B,CAAC,GAACvM,CAAC,CAACugP,UAAxE;AAAmF,YAAI5pQ,CAAC,GAAC,CAAN;;AAAQ,aAAI,MAAM81B,CAAV,IAAe,KAAKnlC,QAApB,EAA6B,IAAGi7Q,EAAE,CAAC91O,CAAD,CAAL,EAAS;AAAC,cAAG,CAACF,CAAJ,EAAM;AAACE,YAAAA,CAAC,CAACiyO,SAAF,CAAY/zO,CAAZ;;AAAe,iBAAI,MAAM3K,CAAV,IAAeyM,CAAf,EAAiBlC,CAAC,CAACoxC,WAAF,CAAc37C,CAAC,CAAChX,OAAhB;AAAyB;AAAC,SAA3E,MAAgF,IAAG03P,EAAE,CAACj0O,CAAD,CAAL,EAASF,CAAC,KAAGE,CAAC,CAACkyO,UAAF,IAAclyO,CAAC,CAACmyO,MAAF,EAAd,EAAyBr0O,CAAC,CAACoxC,WAAF,CAAclvC,CAAC,CAACzjB,OAAhB,CAA5B,CAAD,CAAT,KAAqE,IAAGqtM,EAAE,CAAC5pL,CAAD,CAAL,EAASlC,CAAC,CAACoxC,WAAF,CAAclvC,CAAd,EAAT,KAA+B,IAAGF,CAAH,EAAK;AAAC,gBAAM5B,CAAC,GAAC;AAACrjC,YAAAA,QAAQ,EAAC,EAAV;AAAag5Q,YAAAA,QAAQ,EAAC,EAAtB;AAAyBr8J,YAAAA,UAAU,EAAC;AAApC,WAAR;AAAgDjkF,UAAAA,CAAC,CAACwgP,UAAF,CAAal5Q,QAAb,CAAsB2+B,IAAtB,CAA2B0E,CAA3B,GAA8B8B,CAAC,CAAC2zO,WAAF,CAAc;AAACC,YAAAA,YAAY,EAAC,CAAC,CAAf;AAAiBh6J,YAAAA,IAAI,EAAC97E,CAAC,CAACo5N,UAAF,CAAahtP,CAAC,EAAd,CAAtB;AAAwC4pQ,YAAAA,UAAU,EAAC,CAAC,CAApD;AAAsDC,YAAAA,UAAU,EAAC71O;AAAjE,WAAd,CAA9B;AAAiH,SAAvK,MAA4KJ,CAAC,CAACoxC,WAAF,CAAclvC,CAAC,CAACmyO,MAAF,EAAd;;AAA0B5+O,QAAAA,CAAC,CAACqgP,YAAF,IAAgB11O,CAAC,CAACgxC,WAAF,CAAcpxC,CAAd,CAAhB;AAAiC;;AAAAg3O,MAAAA,eAAe,CAACvhP,CAAD,EAAG;AAAC,YAAG,KAAKwiP,cAAR,EAAuB,KAAI,MAAM73O,CAAV,IAAe,KAAK63O,cAApB,EAAmC;AAAC,gBAAMj4O,CAAC,GAAC,KAAKi4O,cAAL,CAAoB73O,CAApB,EAAuBnhC,GAAvB,CAA4B+gC,CAAC,IAAE;AAAC,kBAAK,CAACgC,CAAD,EAAG51B,CAAH,IAAMg0B,CAAC,CAAC5rB,KAAF,CAAQ,GAAR,CAAX;AAAwB,mBAAOwrB,CAAC,CAACk4O,wBAAF,CAA2Bl2O,CAA3B,EAA6B51B,CAA7B,EAA+BqpB,CAA/B,CAAP;AAAyC,WAAjG,CAAR;AAA4GA,UAAAA,CAAC,CAACwgP,UAAF,IAAcxgP,CAAC,CAACwgP,UAAF,CAAaF,QAAb,CAAsBr6O,IAAtB,CAA2BsE,CAA3B,CAAd;AAA4C;AAAC;;AAAAm3O,MAAAA,iBAAiB,CAAC;AAACC,QAAAA,MAAM,EAAC3hP,CAAR;AAAUsjO,QAAAA,OAAO,EAAC34N,CAAlB;AAAoBhjC,QAAAA,IAAI,EAAC4iC;AAAzB,OAAD,EAA6B;AAAC,cAAMgC,CAAC,GAAChC,CAAC,CAACi2O,UAAV;AAAqBkC,QAAAA,EAAE,CAAC1iP,CAAD,EAAG2K,CAAH,EAAKJ,CAAL,CAAF;AAAU,cAAM5zB,CAAC,GAACqpB,CAAC,CAACr2B,MAAF,CAAUq2B,CAAC,IAAE,CAACmiP,EAAE,CAACniP,CAAD,CAAhB,EAAsBr2B,MAAtB,CAA8Bq2B,CAAC,IAAEA,CAAC,CAACmnO,UAAnC,EAAgD39P,GAAhD,CAAqD+iC,CAAC,IAAEA,CAAC,CAACo2O,yBAAF,CAA4B3iP,CAA5B,EAA8B2K,CAA9B,EAAgCJ,CAAhC,CAAxD,CAAR;AAAqGgC,QAAAA,CAAC,IAAEA,CAAC,CAAC+zO,QAAF,CAAWr6O,IAAX,CAAgBtvB,CAAhB,CAAH;AAAsB;;AAAA8pQ,MAAAA,uBAAuB,CAACzgP,CAAD,EAAG2K,CAAH,EAAK;AAAC,aAAI,MAAM3K,CAAV,IAAe2K,CAAC,CAAC21O,QAAjB,EAA0B,KAAI,MAAM31O,CAAV,IAAe3K,CAAf,EAAiB2K,CAAC;;AAAG,YAAGA,CAAC,CAAConG,IAAL,EAAU,OAAO,MAAK/xG,CAAC,CAACwhP,WAAF,GAAc72O,CAAC,CAAConG,IAArB,CAAP;AAAkC,cAAMxnG,CAAC,GAACvK,CAAR;;AAAU,aAAI,MAAMA,CAAV,IAAe2K,CAAC,CAACs5E,UAAjB,EAA4B;AAAC,gBAAM13E,CAAC,GAAC5B,CAAC,CAACs5E,UAAF,CAAajkF,CAAb,CAAR;AAAwB,mBAAOuM,CAAP,GAAShC,CAAC,CAACs5N,eAAF,CAAkB7jO,CAAlB,CAAT,GAA8BuK,CAAC,CAACmxC,YAAF,CAAe17C,CAAf,EAAiBuM,CAAjB,CAA9B;AAAkD;;AAAA,aAAI,IAAIvM,CAAC,GAAC,CAAV,EAAYA,CAAC,GAAC2K,CAAC,CAACrjC,QAAF,CAAWqF,MAAzB,EAAgC,EAAEqzB,CAAlC,EAAoC,KAAKygP,uBAAL,CAA6Bl2O,CAAC,CAACo5N,UAAF,CAAa3jO,CAAb,CAA7B,EAA6C2K,CAAC,CAACrjC,QAAF,CAAW04B,CAAX,CAA7C;AAA4D;;AAA97G;;AAA+7G,UAAM4iP,EAAN,CAAQ;AAACnjR,MAAAA,WAAW,CAACugC,CAAD,EAAG;AAAC,aAAK6gP,SAAL,GAAe7gP,CAAC,CAAC6gP,SAAjB,EAA2B,KAAK1Z,UAAL,GAAgBnnO,CAAC,CAACmnO,UAA7C,EAAwD,KAAKtB,OAAL,GAAa7lO,CAAC,CAAC6lO,OAAvE,EAA+E,KAAKjuN,QAAL,GAAc5X,CAAC,CAAC4X,QAA/F;AAAwG;;AAAAzyC,MAAAA,QAAQ,CAAC66B,CAAD,EAAG;AAAC,cAAM2K,CAAC,GAAC,KAAKw8N,UAAL,CAAgB,KAAK0Z,SAArB,CAAR;AAAwC,eAAO,KAAKjpO,QAAL,GAAc,KAAKA,QAAL,CAAcjN,CAAd,EAAgB3K,CAAhB,CAAd,GAAiC2K,CAAxC;AAA0C;;AAAAg4O,MAAAA,yBAAyB,CAAC3iP,CAAD,EAAG2K,CAAH,EAAKJ,CAAL,EAAO;AAAC,cAAMgC,CAAC,GAAC,MAAIm2O,EAAE,CAAC1iP,CAAD,EAAG2K,CAAH,EAAKJ,CAAL,CAAd;;AAAsB,eAAO,KAAKs7N,OAAL,CAAaL,QAAb,CAAsB,KAAK2B,UAA3B,EAAuC,UAAS,KAAK0Z,SAAU,EAA/D,EAAiEt0O,CAAjE,GAAoE,MAAI;AAAC,eAAKs5N,OAAL,CAAaH,aAAb,CAA2B,KAAKyB,UAAhC,EAA4C,UAAS,KAAK0Z,SAAU,EAApE,EAAsEt0O,CAAtE;AAAyE,SAAzJ;AAA0J;;AAAva;;AAAwa,UAAMo0O,EAAN,SAAiBiC,EAAjB,CAAmB;AAACnjR,MAAAA,WAAW,CAACugC,CAAD,EAAG;AAAC,cAAMA,CAAN,GAAS,KAAK4gP,mBAAL,GAAyB5gP,CAAC,CAAC4gP,mBAApC;AAAwD;;AAAA6B,MAAAA,wBAAwB,CAACziP,CAAD,EAAG2K,CAAH,EAAKJ,CAAL,EAAO;AAAC,cAAMgC,CAAC,GAAC,CAACvM,CAAD,EAAGuK,CAAH,KAAO;AAACI,UAAAA,CAAC,IAAE,CAACJ,CAAC,CAACqjB,MAAF,CAAS68B,OAAT,CAAiB9/C,CAAjB,CAAJ,KAA0B,cAAY,OAAO,KAAKi2O,mBAAxB,GAA4C,KAAKA,mBAAL,CAAyBr2O,CAAzB,CAA5C,GAAwE,KAAK48N,UAAL,CAAgBzhJ,IAAhB,CAAqB,KAAKk7J,mBAA1B,EAA8Cr2O,CAA9C,CAAlG;AAAoJ,SAApK;;AAAqK,eAAO,KAAKs7N,OAAL,CAAaL,QAAb,CAAsBj7N,CAAC,CAAC87E,IAAxB,EAA6BrmF,CAA7B,EAA+BuM,CAA/B,GAAkC,MAAI;AAAC,eAAKs5N,OAAL,CAAaH,aAAb,CAA2Bn7N,CAAC,CAAC87E,IAA7B,EAAkCrmF,CAAlC,EAAoCuM,CAApC;AAAuC,SAArF;AAAsF;;AAAnW;;AAAoW,UAAMw0O,EAAN,SAAiB6B,EAAjB,CAAmB;AAACnjR,MAAAA,WAAW,CAACugC,CAAD,EAAG;AAAC,cAAMA,CAAN,GAAS,KAAKghP,WAAL,GAAiBhhP,CAAC,CAACghP,WAA5B;AAAwC;;AAAA77Q,MAAAA,QAAQ,CAAC66B,CAAD,EAAG;AAAC,eAAM,CAACmiP,EAAE,CAAC,MAAMh9Q,QAAN,CAAe66B,CAAf,CAAD,CAAH,KAAyB,KAAKghP,WAAL,IAAkB,CAAC,CAA5C,CAAN;AAAqD;;AAAzH;;AAA0H,aAASS,EAAT,CAAYzhP,CAAZ,EAAc;AAAC,aAAM,CAAC,CAACA,CAAF,KAAMA,CAAC,CAAC9uB,KAAF,KAAU8uB,CAAC,GAACA,CAAC,CAAC9uB,KAAd,GAAqBi0B,KAAK,CAACi8E,OAAN,CAAcphF,CAAd,IAAiBA,CAAC,CAACnkB,IAAF,CAAO4lQ,EAAP,CAAjB,GAA4BzhP,CAAC,YAAY4iP,EAApE,CAAN;AAA8E;;AAAA,aAASF,EAAT,CAAY1iP,CAAZ,EAAc2K,CAAd,EAAgB;AAAC07E,MAAAA,IAAI,EAAC97E;AAAN,KAAhB,EAAyB;AAAC,YAAMgC,CAAC,GAAC,UAASvM,CAAT,EAAW2K,CAAX,EAAa;AAAC,eAAO3K,CAAC,CAACx2B,GAAF,CAAOw2B,CAAC,IAAEA,CAAC,YAAY4iP,EAAb,GAAgB5iP,CAAC,CAAC76B,QAAF,CAAWwlC,CAAX,CAAhB,GAA8B3K,CAAxC,CAAP;AAAmD,OAAjE,CAAkEA,CAAlE,EAAoEuK,CAApE,CAAR;;AAA+E,UAAI5zB,CAAJ;AAAMA,MAAAA,CAAC,GAAC,KAAGqpB,CAAC,CAACrzB,MAAL,IAAaqzB,CAAC,CAAC,CAAD,CAAD,YAAe+gP,EAA5B,GAA+Bx0O,CAAC,CAAC,CAAD,CAAhC,GAAoCA,CAAC,CAAC4qE,MAAF,CAAS+qK,EAAT,EAAY,EAAZ,CAAtC,EAAsDC,EAAE,CAACxrQ,CAAD,CAAF,GAAMg0B,CAAC,CAACs1E,MAAF,EAAN,GAAiBt1E,CAAC,CAAC7F,GAAF,CAAMnuB,CAAN,CAAvE;AAAgF;;AAAA,aAASirQ,EAAT,CAAY5hP,CAAZ,EAAc;AAAC,aAAM;AAAC8E,QAAAA,GAAG,CAAC6F,CAAD,EAAG;AAAC3K,UAAAA,CAAC,CAACwhP,WAAF,GAAc72O,CAAd;AAAgB,SAAxB;;AAAyBs1E,QAAAA,MAAM,GAAE;AAACjgF,UAAAA,CAAC,CAACwhP,WAAF,GAAc,EAAd;AAAiB;;AAAnD,OAAN;AAA2D;;AAAA,aAASQ,EAAT,CAAYhiP,CAAZ,EAAc2K,CAAd,EAAgBJ,CAAhB,EAAkB;AAAC,aAAM;AAACzF,QAAAA,GAAG,CAACyH,CAAD,EAAG;AAACvM,UAAAA,CAAC,CAACoiP,cAAF,CAAiB73O,CAAjB,EAAmBI,CAAnB,EAAqB4B,CAArB;AAAwB,SAAhC;;AAAiC0zE,QAAAA,MAAM,GAAE;AAACjgF,UAAAA,CAAC,CAAC6iP,iBAAF,CAAoBt4O,CAApB,EAAsBI,CAAtB;AAAyB;;AAAnE,OAAN;AAA2E;;AAAA,aAAS03O,EAAT,CAAYriP,CAAZ,EAAc2K,CAAd,EAAgB;AAAC,aAAM;AAAC7F,QAAAA,GAAG,CAACyF,CAAD,EAAG;AAACvK,UAAAA,CAAC,CAACu7C,KAAF,CAAQ5wC,CAAR,IAAWJ,CAAX;AAAa,SAArB;;AAAsB01E,QAAAA,MAAM,GAAE;AAACjgF,UAAAA,CAAC,CAACu7C,KAAF,CAAQ5wC,CAAR,IAAW,IAAX;AAAgB;;AAA/C,OAAN;AAAuD;;AAAA,aAASu1O,EAAT,CAAYlgP,CAAZ,EAAc;AAAC,aAAOsyO,EAAE,CAACtyO,CAAD,EAAIA,CAAC,IAAE;AAAC,YAAGA,CAAC,KAAGA,CAAC,YAAY4iP,EAAb,IAAiBztD,EAAE,CAACn1L,CAAD,CAAnB,IAAwB0gP,EAAE,CAAC1gP,CAAD,CAA1B,IAA+BuiP,EAAE,CAACviP,CAAD,CAApC,CAAJ,EAA6C,OAAOA,CAAP;AAAS,OAA9D,CAAT;AAA0E;;AAAA,aAASigP,EAAT,CAAYjgP,CAAZ,EAAc;AAAC,UAAG,YAAU,OAAOA,CAAjB,GAAmBA,CAAC,GAAC,UAASA,CAAT,EAAW;AAAC,eAAM;AAAC+xG,UAAAA,IAAI,EAAC,CAAC/xG,CAAD;AAAN,SAAN;AAAiB,OAA7B,CAA8BA,CAA9B,CAArB,GAAsDA,CAAC,CAAC+xG,IAAF,IAAQ,UAAS/xG,CAAT,EAAW;AAACA,QAAAA,CAAC,CAAC+xG,IAAF,GAAO48E,EAAE,CAAC3uL,CAAC,CAAC+xG,IAAH,CAAT;AAAkB,OAA9B,CAA+B/xG,CAA/B,CAA9D,EAAgGA,CAAC,CAACve,EAAF,KAAOue,CAAC,CAACwiP,cAAF,GAAiB,UAASxiP,CAAT,EAAW;AAAC,aAAI,MAAM2K,CAAV,IAAe3K,CAAf,EAAiB8iP,EAAE,CAAC9iP,CAAD,EAAG2K,CAAH,CAAF;;AAAQ,eAAO3K,CAAP;AAAS,OAA9C,CAA+CA,CAAC,CAACve,EAAjD,CAAjB,EAAsE,OAAOue,CAAC,CAACve,EAAtF,CAAhG,EAA0L,CAACue,CAAC,CAAC+xG,IAAhM,EAAqM;AAAC/xG,QAAAA,CAAC,CAACikF,UAAF,IAAc,UAASjkF,CAAT,EAAW;AAAC,eAAI,MAAM2K,CAAV,IAAe3K,CAAf,EAAiBA,CAAC,CAAC2K,CAAD,CAAD,CAAKz5B,KAAL,KAAa8uB,CAAC,CAAC2K,CAAD,CAAD,CAAKz5B,KAAL,GAAWy9M,EAAE,CAAC3uL,CAAC,CAAC2K,CAAD,CAAD,CAAKz5B,KAAN,CAA1B,GAAwC4xQ,EAAE,CAAC9iP,CAAD,EAAG2K,CAAH,CAA1C;AAAgD,SAA7E,CAA8E3K,CAAC,CAACikF,UAAhF,CAAd;AAA0G,cAAMt5E,CAAC,GAAC,EAAR;AAAW,YAAG3K,CAAC,CAAC14B,QAAL,EAAc,IAAGi7Q,EAAE,CAACviP,CAAC,CAAC14B,QAAH,CAAL,EAAkBqjC,CAAC,CAAC1E,IAAF,CAAOjG,CAAC,CAAC14B,QAAT,EAAlB,KAA0C,KAAI,MAAMijC,CAAV,IAAevK,CAAC,CAAC14B,QAAjB,EAA0B6tN,EAAE,CAAC5qL,CAAD,CAAF,IAAOm2O,EAAE,CAACn2O,CAAD,CAAT,IAAc8rL,EAAE,CAAC9rL,CAAD,CAAhB,GAAoBI,CAAC,CAAC1E,IAAF,CAAOsE,CAAP,CAApB,GAA8BI,CAAC,CAAC1E,IAAF,CAAO,IAAIw5O,EAAJ,CAAOl1O,CAAP,CAAP,CAA9B;AAAgDvK,QAAAA,CAAC,CAAC14B,QAAF,GAAWqjC,CAAX;AAAa;;AAAA,aAAO3K,CAAP;AAAS;;AAAA,aAAS8iP,EAAT,CAAY9iP,CAAZ,EAAc2K,CAAd,EAAgB;AAAC3K,MAAAA,CAAC,CAAC2K,CAAD,CAAD,GAAKgkL,EAAE,CAAC3uL,CAAC,CAAC2K,CAAD,CAAF,CAAP;AAAc;;AAAA,aAASu3O,EAAT,CAAYliP,CAAZ,EAAc2K,CAAd,EAAgB;AAAC,aAAOw3O,EAAE,CAACx3O,CAAD,CAAF,GAAM3K,CAAN,GAAQmiP,EAAE,CAACniP,CAAD,CAAF,GAAM2K,CAAN,GAAS,GAAE3K,CAAE,IAAG2K,CAAE,EAAjC;AAAmC;;AAAA,aAASo4O,EAAT,CAAY/iP,CAAZ,EAAc2K,CAAd,EAAgB;AAAC,WAAI,MAAMJ,CAAV,IAAeI,CAAf,EAAiB3K,CAAC,CAACuK,CAAD,CAAD,GAAKvK,CAAC,CAACuK,CAAD,CAAD,CAAKtE,IAAL,CAAU,GAAG0E,CAAC,CAACJ,CAAD,CAAd,CAAL,GAAwBvK,CAAC,CAACuK,CAAD,CAAD,GAAKI,CAAC,CAACJ,CAAD,CAA9B;AAAkC;;AAAA,aAAS02O,EAAT,CAAYjhP,CAAZ,EAAc2K,CAAd,EAAgB;AAAC,UAAGA,CAAC,CAACs5E,UAAF,KAAejkF,CAAC,CAACikF,UAAF,KAAejkF,CAAC,CAACikF,UAAF,GAAa,EAA5B,GAAgC8+J,EAAE,CAAC/iP,CAAC,CAACikF,UAAH,EAAct5E,CAAC,CAACs5E,UAAhB,CAAjD,GAA8Et5E,CAAC,CAAC63O,cAAF,KAAmBxiP,CAAC,CAACwiP,cAAF,KAAmBxiP,CAAC,CAACwiP,cAAF,GAAiB,EAApC,GAAwCO,EAAE,CAAC/iP,CAAC,CAACwiP,cAAH,EAAkB73O,CAAC,CAAC63O,cAApB,CAA7D,CAA9E,EAAgL73O,CAAC,CAAConG,IAAF,IAAQ/xG,CAAC,CAAC+xG,IAAF,CAAO9rG,IAAP,CAAY,GAAG0E,CAAC,CAAConG,IAAjB,CAAxL,EAA+MpnG,CAAC,CAACrjC,QAAF,IAAYqjC,CAAC,CAACrjC,QAAF,CAAWqF,MAAzO,EAAgP;AAAC,YAAGqzB,CAAC,CAAC14B,QAAF,CAAWqF,MAAX,IAAmBg+B,CAAC,CAACrjC,QAAF,CAAWqF,MAAjC,EAAwC,MAAM,IAAIw1E,CAAJ,CAAM,sCAAN,EAA6CniD,CAA7C,CAAN;AAAsD,YAAIuK,CAAC,GAAC,CAAN;;AAAQ,aAAI,MAAMgC,CAAV,IAAe5B,CAAC,CAACrjC,QAAjB,EAA0B25Q,EAAE,CAACjhP,CAAC,CAAC14B,QAAF,CAAWijC,CAAC,EAAZ,CAAD,EAAiBgC,CAAjB,CAAF;AAAsB;AAAC;;AAAA,aAAS41O,EAAT,CAAYniP,CAAZ,EAAc;AAAC,aAAM,CAACA,CAAD,IAAI,MAAIA,CAAd;AAAgB;;AAAA,aAAS0gP,EAAT,CAAY1gP,CAAZ,EAAc;AAAC,aAAOA,CAAC,YAAYm/O,EAApB;AAAuB;;AAAA,aAAShqD,EAAT,CAAYn1L,CAAZ,EAAc;AAAC,aAAOA,CAAC,YAAYy/O,EAApB;AAAuB;;AAAA,aAAS8C,EAAT,CAAYviP,CAAZ,EAAc;AAAC,aAAOA,CAAC,YAAYu+O,EAApB;AAAuB;;AAAA,aAASuD,EAAT,CAAY9hP,CAAZ,EAAc;AAAC,aAAOilL,CAAC,CAACjlL,CAAC,CAAC,CAAD,CAAF,CAAD,IAASA,CAAC,CAAC,CAAD,CAAD,CAAK23F,EAArB;AAAwB;;AAAA,aAASoqJ,EAAT,CAAY/hP,CAAZ,EAAc;AAAC,aAAM,WAASA,CAAT,IAAY,WAASA,CAA3B;AAA6B;;AAAA,UAAMgjP,EAAN,SAAiBzE,EAAjB,CAAmB;AAAC9+Q,MAAAA,WAAW,CAACugC,CAAD,EAAG2K,CAAC,GAAC,EAAL,EAAQ;AAAC,cAAMA,CAAN,GAAS,KAAKwsL,MAAL,GAAYn3L,CAArB;AAAuB;;AAA2B,UAAvBijP,uBAAuB,GAAE;AAAC,eAAO,KAAKC,wBAAZ;AAAqC;;AAAAC,MAAAA,WAAW,GAAE;AAAC,aAAKD,wBAAL,GAA8B,IAAIzD,EAAJ,CAAO;AAACyB,UAAAA,GAAG,EAAC,KAAL;AAAWj9J,UAAAA,UAAU,EAAC;AAACm/J,YAAAA,KAAK,EAAC,CAAC,IAAD,EAAM,cAAN,EAAqB,SAArB,EAA+B,oBAA/B,CAAP;AAA4DjrC,YAAAA,GAAG,EAAC,KAAKhhB,MAAL,CAAY+kD;AAA5E,WAAtB;AAAuH50Q,UAAAA,QAAQ,EAAC;AAAhI,SAAP,EAA8Is3Q,MAA9I,EAA9B;AAAqL,YAAI5+O,CAAC,GAAC0B,QAAQ,CAACqhO,aAAT,CAAuB,kBAAvB,CAAN;AAAiD/iO,QAAAA,CAAC,KAAGA,CAAC,GAACwoO,EAAE,CAAC9mO,QAAD,EAAU,KAAV,EAAgB;AAAC0hP,UAAAA,KAAK,EAAC;AAAP,SAAhB,CAAJ,EAA+C1hP,QAAQ,CAACrqB,IAAT,CAAcskE,WAAd,CAA0B37C,CAA1B,CAAlD,CAAD,EAAiFA,CAAC,CAAC27C,WAAF,CAAc,KAAKunM,wBAAnB,CAAjF;AAA8H;;AAAAG,MAAAA,aAAa,GAAE;AAAC,cAAM1kK,OAAN,IAAgB,KAAKukK,wBAAL,IAA+B,KAAKA,wBAAL,CAA8BjjK,MAA9B,EAA/C;AAAsF,cAAMjgF,CAAC,GAAC0B,QAAQ,CAACqhO,aAAT,CAAuB,kBAAvB,CAAR;AAAmD/iO,QAAAA,CAAC,IAAE,KAAGA,CAAC,CAACsjP,iBAAR,IAA2BtjP,CAAC,CAACigF,MAAF,EAA3B;AAAsC;;AAAhqB;;AAAiqB,QAAIsjK,EAAE,GAACh5O,CAAC,CAAC,IAAD,CAAR;AAAA,QAAe2pL,EAAE,GAAC;AAAC+qD,MAAAA,UAAU,EAAC,mBAAZ;AAAgCh7J,MAAAA,UAAU,EAAC;AAAC,oBAAW,CAAC;AAAb,OAA3C;AAA2DqC,MAAAA,MAAM,EAAC,MAAlE;AAAyEy9I,MAAAA,SAAS,EAAC,CAAC;AAApF,KAAlB;AAAyG+a,IAAAA,EAAE,GAAGyE,EAAE,CAAChhB,CAAN,EAAQruC,EAAR,CAAF;AAAcqvD,IAAAA,EAAE,CAAChhB,CAAH,CAAK2c,MAAL;AAAj5tD,QAAm6tDxyO,EAAn6tD;AAA65tD,YAAMA,EAAN,SAAiByyO,EAAjB,CAAmB;AAAC1/Q,QAAAA,WAAW,GAAE;AAAC;AAAQ,gBAAMugC,CAAC,GAAC,KAAKu/O,YAAb;AAA0B,eAAKz6O,GAAL,CAAS,SAAT,EAAmB,EAAnB,GAAuB,KAAKA,GAAL,CAAS,SAAT,EAAmB,WAAnB,CAAvB,EAAuD,KAAKA,GAAL,CAAS,WAAT,EAAqB,EAArB,CAAvD,EAAgF,KAAKA,GAAL,CAAS,kBAAT,EAA4B,CAAC,CAA7B,CAAhF,EAAgH,KAAKA,GAAL,CAAS,WAAT,EAAqB,CAAC,CAAtB,CAAhH,EAAyI,KAAK86O,WAAL,CAAiB;AAACsB,YAAAA,GAAG,EAAC,KAAL;AAAWvpJ,YAAAA,EAAE,EAAC,4BAAd;AAA2C1T,YAAAA,UAAU,EAAC;AAACm/J,cAAAA,KAAK,EAAC,CAAC,IAAD,EAAM,SAAN,EAAgBpjP,CAAC,CAAC8gP,EAAF,CAAK,WAAL,EAAiB,WAAjB,EAA8B9gP,CAAC,IAAE,CAACA,CAAlC,CAAhB,EAAsD,uBAAtD,EAA8EA,CAAC,CAAC8gP,EAAF,CAAK,kBAAL,EAAwB,uBAAxB,CAA9E,CAAP;AAAuI0C,cAAAA,OAAO,EAACxjP,CAAC,CAACysJ,EAAF,CAAK,SAAL;AAA/I;AAAtD,WAAjB,CAAzI;AAAkX;;AAAAmyF,QAAAA,MAAM,GAAE;AAAC,gBAAMA,MAAN,IAAe,KAAK6E,iBAAL,EAAf,EAAwC,KAAKC,eAAL,EAAxC,EAA+D,KAAKjiQ,EAAL,CAAQ,gBAAR,EAA0B,MAAI;AAAC,iBAAKgiQ,iBAAL,IAAyB,KAAKC,eAAL,EAAzB;AAAgD,WAA/E,CAA/D,EAAiJ,KAAKjiQ,EAAL,CAAQ,kBAAR,EAA4B,MAAI;AAAC,iBAAKiiQ,eAAL;AAAuB,WAAxD,CAAjJ;AAA4M;;AAAAD,QAAAA,iBAAiB,GAAE;AAAC,cAAG,KAAK1/J,OAAR,EAAgB;AAAC,kBAAM/jF,CAAC,GAAE,IAAI2jP,SAAJ,EAAD,CAAgBC,eAAhB,CAAgC,KAAK7/J,OAAL,CAAa/lC,IAAb,EAAhC,EAAoD,eAApD,EAAqE+kL,aAArE,CAAmF,KAAnF,CAAR;AAAA,kBAAkGp4N,CAAC,GAAC3K,CAAC,CAAC6hP,YAAF,CAAe,SAAf,CAApG;AAA8Hl3O,YAAAA,CAAC,KAAG,KAAK64O,OAAL,GAAa74O,CAAhB,CAAD;;AAAoB,iBAAI,MAAK;AAACn6B,cAAAA,IAAI,EAACm6B,CAAN;AAAQz5B,cAAAA,KAAK,EAACq5B;AAAd,aAAT,IAA4BpF,KAAK,CAAC7H,IAAN,CAAW0C,CAAC,CAACikF,UAAb,CAA5B,EAAqDv3E,EAAE,CAACm3O,4BAAH,CAAgC13Q,QAAhC,CAAyCw+B,CAAzC,KAA6C,KAAK3hB,OAAL,CAAa0yD,YAAb,CAA0B/wC,CAA1B,EAA4BJ,CAA5B,CAA7C;;AAA4E,mBAAK,KAAKvhB,OAAL,CAAa86O,UAAlB,GAA8B,KAAK96O,OAAL,CAAa6yD,WAAb,CAAyB,KAAK7yD,OAAL,CAAa86O,UAAtC;;AAAkD,mBAAK9jO,CAAC,CAAC2jO,UAAF,CAAah3P,MAAb,GAAoB,CAAzB,GAA4B,KAAKqc,OAAL,CAAa2yD,WAAb,CAAyB37C,CAAC,CAAC2jO,UAAF,CAAa,CAAb,CAAzB;AAA0C;AAAC;;AAAA+f,QAAAA,eAAe,GAAE;AAAC,eAAKI,SAAL,IAAgB,KAAK96P,OAAL,CAAawhJ,gBAAb,CAA8B,gBAA9B,EAAgD3kI,OAAhD,CAAyD7F,CAAC,IAAE;AAACA,YAAAA,CAAC,CAACu7C,KAAF,CAAQqpL,IAAR,GAAa,KAAKkf,SAAlB;AAA4B,WAAzF,CAAhB;AAA4G;;AAArsC;;AAAssCp3O,MAAAA,EAAE,CAACm3O,4BAAH,GAAgC,CAAC,oBAAD,EAAsB,gBAAtB,EAAuC,WAAvC,EAAmD,WAAnD,EAA+D,OAA/D,EAAuE,qBAAvE,EAA6F,6BAA7F,EAA2H,iBAA3H,EAA6I,QAA7I,EAAsJ,WAAtJ,EAAkK,SAAlK,EAA4K,mBAA5K,EAAgM,MAAhM,EAAuM,cAAvM,EAAsN,WAAtN,EAAkO,QAAlO,EAA2O,aAA3O,EAAyP,eAAzP,EAAyQ,aAAzQ,EAAuR,WAAvR,EAAmS,kBAAnS,EAAsT,cAAtT,EAAqU,YAArU,EAAkV,cAAlV,EAAiW,aAAjW,EAA+W,iBAA/W,EAAiY,gBAAjY,EAAkZ,gBAAlZ,EAAma,YAAna,EAAgb,YAAhb,EAA6b,cAA7b,EAA4c,MAA5c,EAAmd,SAAnd,EAA6d,UAA7d,EAAwe,aAAxe,EAAsf,gBAAtf,EAAugB,iBAAvgB,EAAyhB,YAAzhB,EAAsiB,cAAtiB,EAAqjB,QAArjB,EAA8jB,kBAA9jB,EAAilB,mBAAjlB,EAAqmB,gBAArmB,EAAsnB,iBAAtnB,EAAwoB,mBAAxoB,EAA4pB,gBAA5pB,EAA6qB,cAA7qB,EAA4rB,aAA5rB,EAA0sB,iBAA1sB,EAA4tB,eAA5tB,EAA4uB,gBAA5uB,EAA6vB,WAA7vB,EAAywB,cAAzwB,EAAwxB,eAAxxB,EAAwyB,YAAxyB,EAAqzB,aAArzB,EAAm0B,cAAn0B,EAAk1B,cAAl1B,CAAhC;AAAtnwD,aAAm6tDn3O,EAAn6tD;AAAA;;AAAw/xD,UAAMq3O,EAAN,SAAiB5E,EAAjB,CAAmB;AAAC1/Q,MAAAA,WAAW,GAAE;AAAC,iBAAQ,KAAKqlC,GAAL,CAAS;AAACy2C,UAAAA,KAAK,EAAC,KAAK,CAAZ;AAAcw2D,UAAAA,IAAI,EAAC,KAAK,CAAxB;AAA0B5kI,UAAAA,EAAE,EAAC,KAAK;AAAlC,SAAT,CAAR;AAAuD,cAAM6yB,CAAC,GAAC,KAAKu/O,YAAb;AAA0B,aAAKK,WAAL,CAAiB;AAACsB,UAAAA,GAAG,EAAC,MAAL;AAAYj9J,UAAAA,UAAU,EAAC;AAACm/J,YAAAA,KAAK,EAAC,CAAC,IAAD,EAAM,kBAAN,CAAP;AAAiC7nM,YAAAA,KAAK,EAACv7C,CAAC,CAACysJ,EAAF,CAAK,OAAL,CAAvC;AAAqDt/K,YAAAA,EAAE,EAAC6yB,CAAC,CAACysJ,EAAF,CAAK,IAAL;AAAxD,WAAvB;AAA2FnlL,UAAAA,QAAQ,EAAC,CAAC;AAACyqI,YAAAA,IAAI,EAAC/xG,CAAC,CAACysJ,EAAF,CAAK,MAAL;AAAN,WAAD;AAApG,SAAjB;AAA6I;;AAA7O;;AAA8O,QAAIu3F,EAAE,GAACz5O,CAAC,CAAC,IAAD,CAAR;AAAA,QAAe05O,EAAE,GAAC;AAAChF,MAAAA,UAAU,EAAC,mBAAZ;AAAgCh7J,MAAAA,UAAU,EAAC;AAAC,oBAAW,CAAC;AAAb,OAA3C;AAA2DqC,MAAAA,MAAM,EAAC,MAAlE;AAAyEy9I,MAAAA,SAAS,EAAC,CAAC;AAApF,KAAlB;AAAyG+a,IAAAA,EAAE,GAAGkF,EAAE,CAACzhB,CAAN,EAAQ0hB,EAAR,CAAF;AAAcD,IAAAA,EAAE,CAACzhB,CAAH,CAAK2c,MAAL;;AAAY,UAAMxvD,EAAN,SAAiByvD,EAAjB,CAAmB;AAAC1/Q,MAAAA,WAAW,CAACugC,CAAD,EAAG2K,CAAC,GAAC,IAAIo5O,EAAJ,EAAL,EAAY;AAAC,cAAM/jP,CAAN,GAAS,KAAKkkP,aAAL,GAAmB,IAA5B;AAAiC,cAAM35O,CAAC,GAAC,KAAKg1O,YAAb;AAAA,cAA0BhzO,CAAC,GAACvC,CAAC,EAA7B;AAAgC,aAAKlF,GAAL,CAAS,WAAT,EAAqB,KAAK,CAA1B,GAA6B,KAAKA,GAAL,CAAS,gBAAT,EAA2B,yBAAwByH,CAAE,EAArD,CAA7B,EAAqF,KAAKzH,GAAL,CAAS,OAAT,EAAiB,KAAK,CAAtB,CAArF,EAA8G,KAAKA,GAAL,CAAS,YAAT,EAAsB,KAAK,CAA3B,CAA9G,EAA4I,KAAKA,GAAL,CAAS,MAAT,EAAgB,KAAK,CAArB,CAA5I,EAAoK,KAAKA,GAAL,CAAS,WAAT,EAAqB,CAAC,CAAtB,CAApK,EAA6L,KAAKA,GAAL,CAAS,MAAT,EAAgB,CAAC,CAAjB,CAA7L,EAAiN,KAAKA,GAAL,CAAS,WAAT,EAAqB,CAAC,CAAtB,CAAjN,EAA0O,KAAKA,GAAL,CAAS,cAAT,EAAwB,CAAC,CAAzB,CAA1O,EAAsQ,KAAKA,GAAL,CAAS,WAAT,EAAqB,KAAK,CAA1B,CAAtQ,EAAmS,KAAKA,GAAL,CAAS,OAAT,EAAiB,KAAK,CAAtB,CAAnS,EAA4T,KAAKA,GAAL,CAAS,MAAT,EAAgB,KAAK,CAArB,CAA5T,EAAoV,KAAKA,GAAL,CAAS,UAAT,EAAoB,CAAC,CAArB,CAApV,EAA4W,KAAKA,GAAL,CAAS,SAAT,EAAmB,CAAC,CAApB,CAA5W,EAAmY,KAAKA,GAAL,CAAS,iBAAT,EAA2B,GAA3B,CAAnY,EAAma,KAAKA,GAAL,CAAS,MAAT,EAAgB,QAAhB,CAAna,EAA6b,KAAKA,GAAL,CAAS,UAAT,EAAoB,CAAC,CAArB,CAA7b,EAAqd,KAAKA,GAAL,CAAS,eAAT,EAAyB,CAAC,CAA1B,CAArd,EAAkf,KAAKx9B,QAAL,GAAc,KAAKg4Q,gBAAL,EAAhgB,EAAwhB,KAAK6E,SAAL,GAAe,KAAKC,eAAL,CAAqBz5O,CAArB,CAAviB,EAA+jB,KAAK05O,QAAL,GAAc,IAAI33O,EAAJ,EAA7kB,EAAolB,KAAK23O,QAAL,CAAcxE,cAAd,CAA6B;AAAC57J,UAAAA,UAAU,EAAC;AAACm/J,YAAAA,KAAK,EAAC;AAAP;AAAZ,SAA7B,CAAplB,EAAypB,KAAKkB,aAAL,GAAmB,KAAKC,oBAAL,EAA5qB,EAAwsB,KAAKxvP,IAAL,CAAU,gBAAV,EAA4B03J,EAA5B,CAA+B,IAA/B,EAAoC,SAApC,EAA8C,IAA9C,EAAmD,OAAnD,EAA2D,IAA3D,EAAgE,WAAhE,EAA4E,KAAK+3F,iBAAL,CAAuBzvP,IAAvB,CAA4B,IAA5B,CAA5E,CAAxsB;AAAuzB,cAAM0X,CAAC,GAAC;AAACy0O,UAAAA,GAAG,EAAC,QAAL;AAAcj9J,UAAAA,UAAU,EAAC;AAACm/J,YAAAA,KAAK,EAAC,CAAC,IAAD,EAAM,WAAN,EAAkB74O,CAAC,CAACkiJ,EAAF,CAAK,OAAL,CAAlB,EAAgCliJ,CAAC,CAACu2O,EAAF,CAAK,WAAL,EAAiB,aAAjB,EAAgC9gP,CAAC,IAAE,CAACA,CAApC,CAAhC,EAAwEuK,CAAC,CAACu2O,EAAF,CAAK,WAAL,EAAiB,WAAjB,EAA8B9gP,CAAC,IAAE,CAACA,CAAlC,CAAxE,EAA8GuK,CAAC,CAACkiJ,EAAF,CAAK,MAAL,EAAazsJ,CAAC,IAAEA,CAAC,GAAC,OAAD,GAAS,QAA1B,CAA9G,EAAmJuK,CAAC,CAACu2O,EAAF,CAAK,UAAL,EAAgB,qBAAhB,CAAnJ,EAA0Lv2O,CAAC,CAACu2O,EAAF,CAAK,eAAL,EAAqB,0BAArB,CAA1L,CAAP;AAAmPlzQ,YAAAA,IAAI,EAAC28B,CAAC,CAACkiJ,EAAF,CAAK,MAAL,CAAxP;AAAqQx1K,YAAAA,IAAI,EAACszB,CAAC,CAACkiJ,EAAF,CAAK,MAAL,EAAazsJ,CAAC,IAAEA,CAAC,IAAE,QAAnB,CAA1Q;AAAwSykP,YAAAA,QAAQ,EAACl6O,CAAC,CAACkiJ,EAAF,CAAK,UAAL,CAAjT;AAAkU,0BAAaliJ,CAAC,CAACkiJ,EAAF,CAAK,WAAL,CAA/U;AAAiW,+BAAkBliJ,CAAC,CAACkiJ,EAAF,CAAK,gBAAL,CAAnX;AAA0Y,6BAAgBliJ,CAAC,CAACu2O,EAAF,CAAK,WAAL,EAAiB,CAAC,CAAlB,EAAqB9gP,CAAC,IAAE,CAACA,CAAzB,CAA1Z;AAAub,4BAAeuK,CAAC,CAACkiJ,EAAF,CAAK,MAAL,EAAazsJ,CAAC,IAAE,CAAC,CAAC,KAAK0kP,YAAP,IAAqBhlN,MAAM,CAAC,CAAC,CAAC1/B,CAAH,CAA3C,CAAtc;AAAyf,qCAAwBuK,CAAC,CAACkiJ,EAAF,CAAK,gBAAL,CAAjhB;AAAwiB,yCAA4BliJ,CAAC,CAACkiJ,EAAF,CAAK,iBAAL;AAApkB,WAAzB;AAAsnBnlL,UAAAA,QAAQ,EAAC,KAAKA,QAApoB;AAA6oBma,UAAAA,EAAE,EAAC;AAACy6L,YAAAA,KAAK,EAAC3xK,CAAC,CAACkiJ,EAAF,CAAMzsJ,CAAC,IAAE;AAAC,mBAAKq6H,SAAL,GAAe,KAAK30C,IAAL,CAAU,SAAV,CAAf,GAAoC1lF,CAAC,CAACu0C,cAAF,EAApC;AAAuD,aAAjE;AAAP;AAAhpB,SAAR;AAAquB59D,QAAAA,CAAC,CAACszJ,QAAF,KAAa,KAAKi6G,aAAL,KAAqB,KAAKA,aAAL,GAAmBjG,EAAE,CAAE,MAAI,KAAKjrM,KAAL,EAAN,EAAoB,CAApB,CAA1C,GAAkEvmC,CAAC,CAAChrB,EAAF,CAAKkjQ,SAAL,GAAep6O,CAAC,CAACkiJ,EAAF,CAAM,MAAI;AAAC,eAAKy3F,aAAL;AAAqB,SAAhC,CAAjF,EAAoHz3O,CAAC,CAAChrB,EAAF,CAAKmjQ,OAAL,GAAar6O,CAAC,CAACkiJ,EAAF,CAAM,MAAI;AAAC,eAAKy3F,aAAL,CAAmB5gK,MAAnB;AAA4B,SAAvC,CAA9I,GAAyL,KAAKs8J,WAAL,CAAiBnzO,CAAjB,CAAzL;AAA6M;;AAAAmyO,MAAAA,MAAM,GAAE;AAAC,cAAMA,MAAN,IAAe,KAAKthQ,IAAL,KAAY,KAAK+mQ,QAAL,CAActvP,IAAd,CAAmB,SAAnB,EAA8B03J,EAA9B,CAAiC,IAAjC,EAAsC,MAAtC,GAA8C,KAAKnlL,QAAL,CAAcstB,GAAd,CAAkB,KAAKyvP,QAAvB,CAA1D,CAAf,EAA2G,KAAK/8Q,QAAL,CAAcstB,GAAd,CAAkB,KAAKuvP,SAAvB,CAA3G,EAA6I,KAAKU,aAAL,IAAoB,KAAKC,SAAzB,IAAoC,KAAKx9Q,QAAL,CAAcstB,GAAd,CAAkB,KAAK0vP,aAAvB,CAAjL;AAAuN;;AAAAtxM,MAAAA,KAAK,GAAE;AAAC,aAAKhqD,OAAL,CAAagqD,KAAb;AAAqB;;AAAA2rC,MAAAA,OAAO,GAAE;AAAC,aAAKulK,aAAL,IAAoB,KAAKA,aAAL,CAAmB5gK,MAAnB,EAApB,EAAgD,MAAM3E,OAAN,EAAhD;AAAgE;;AAAAylK,MAAAA,eAAe,CAACpkP,CAAD,EAAG;AAAC,eAAOA,CAAC,CAACjL,IAAF,CAAO,MAAP,EAAc,OAAd,EAAsB,IAAtB,EAA4B03J,EAA5B,CAA+B,IAA/B,EAAoC,OAApC,EAA4C,YAA5C,EAAyD,gBAAzD,GAA2EzsJ,CAAlF;AAAoF;;AAAAukP,MAAAA,oBAAoB,GAAE;AAAC,cAAMvkP,CAAC,GAAC,IAAIm/O,EAAJ,EAAR;AAAe,eAAOn/O,CAAC,CAAC4/O,WAAF,CAAc;AAACsB,UAAAA,GAAG,EAAC,MAAL;AAAYj9J,UAAAA,UAAU,EAAC;AAACm/J,YAAAA,KAAK,EAAC,CAAC,IAAD,EAAM,sBAAN;AAAP,WAAvB;AAA6D97Q,UAAAA,QAAQ,EAAC,CAAC;AAACyqI,YAAAA,IAAI,EAAC,KAAKwtI,YAAL,CAAkB9yF,EAAlB,CAAqB,WAArB,EAAkCzsJ,CAAC,IAAE27O,EAAE,CAAC37O,CAAD,CAAvC;AAAN,WAAD;AAAtE,SAAd,GAA4IA,CAAnJ;AAAqJ;;AAAAwkP,MAAAA,iBAAiB,CAACxkP,CAAD,EAAG2K,CAAH,EAAKJ,CAAL,EAAO;AAAC,eAAOvK,CAAC,GAAC,YAAU,OAAOA,CAAjB,GAAmBA,CAAnB,IAAsBuK,CAAC,KAAGA,CAAC,GAACoxO,EAAE,CAACpxO,CAAD,CAAP,CAAD,EAAavK,CAAC,YAAYmgK,QAAb,GAAsBngK,CAAC,CAAC2K,CAAD,EAAGJ,CAAH,CAAvB,GAA8B,GAAEI,CAAE,GAAEJ,CAAC,GAAE,KAAIA,CAAE,GAAR,GAAW,EAAG,EAAtF,CAAD,GAA0F,EAAlG;AAAqG;;AAA1iF;;AAA2iF,QAAIyrL,EAAE,GAACzrL,CAAC,CAAC,IAAD,CAAR;AAAA,QAAew6O,EAAE,GAAC;AAAC9F,MAAAA,UAAU,EAAC,mBAAZ;AAAgCh7J,MAAAA,UAAU,EAAC;AAAC,oBAAW,CAAC;AAAb,OAA3C;AAA2DqC,MAAAA,MAAM,EAAC,MAAlE;AAAyEy9I,MAAAA,SAAS,EAAC,CAAC;AAApF,KAAlB;AAAyG+a,IAAAA,EAAE,GAAG9oD,EAAE,CAACusC,CAAN,EAAQwiB,EAAR,CAAF;AAAc/uD,IAAAA,EAAE,CAACusC,CAAH,CAAK2c,MAAL;;AAAY,UAAM8F,EAAN,SAAiBt1D,EAAjB,CAAmB;AAACjwN,MAAAA,WAAW,CAACugC,CAAD,EAAG;AAAC,cAAMA,CAAN,GAAS,KAAK0kP,YAAL,GAAkB,CAAC,CAA5B,EAA8B,KAAKO,gBAAL,GAAsB,KAAKC,iBAAL,EAApD,EAA6E,KAAKrF,cAAL,CAAoB;AAAC57J,UAAAA,UAAU,EAAC;AAACm/J,YAAAA,KAAK,EAAC;AAAP;AAAZ,SAApB,CAA7E;AAAyI;;AAAAxE,MAAAA,MAAM,GAAE;AAAC,cAAMA,MAAN,IAAe,KAAKt3Q,QAAL,CAAcstB,GAAd,CAAkB,KAAKqwP,gBAAvB,CAAf;AAAwD;;AAAAC,MAAAA,iBAAiB,GAAE;AAAC,cAAMllP,CAAC,GAAC,IAAIm/O,EAAJ,EAAR;AAAe,eAAOn/O,CAAC,CAAC4/O,WAAF,CAAc;AAACsB,UAAAA,GAAG,EAAC,MAAL;AAAYj9J,UAAAA,UAAU,EAAC;AAACm/J,YAAAA,KAAK,EAAC,CAAC,IAAD,EAAM,mBAAN;AAAP,WAAvB;AAA0D97Q,UAAAA,QAAQ,EAAC,CAAC;AAAC45Q,YAAAA,GAAG,EAAC,MAAL;AAAYj9J,YAAAA,UAAU,EAAC;AAACm/J,cAAAA,KAAK,EAAC,CAAC,IAAD,EAAM,0BAAN;AAAP;AAAvB,WAAD;AAAnE,SAAd,GAAuJpjP,CAA9J;AAAgK;;AAA7Z;;AAA8Z,QAAI0yL,EAAE,GAACnoL,CAAC,CAAC,IAAD,CAAR;AAAA,QAAeykL,EAAE,GAAC;AAACiwD,MAAAA,UAAU,EAAC,mBAAZ;AAAgCh7J,MAAAA,UAAU,EAAC;AAAC,oBAAW,CAAC;AAAb,OAA3C;AAA2DqC,MAAAA,MAAM,EAAC,MAAlE;AAAyEy9I,MAAAA,SAAS,EAAC,CAAC;AAApF,KAAlB;AAAyG+a,IAAAA,EAAE,GAAGpsD,EAAE,CAAC6vC,CAAN,EAAQvzC,EAAR,CAAF;AAAc0D,IAAAA,EAAE,CAAC6vC,CAAH,CAAK2c,MAAL;AAAY30O,IAAAA,CAAC,CAAC,IAAD,CAAD;AAAQA,IAAAA,CAAC,CAAC,IAAD,CAAD;AAAQ,QAAI46O,EAAE,GAAC56O,CAAC,CAAC,IAAD,CAAR;AAAA,QAAekhL,EAAE,GAAC;AAACwzD,MAAAA,UAAU,EAAC,mBAAZ;AAAgCh7J,MAAAA,UAAU,EAAC;AAAC,oBAAW,CAAC;AAAb,OAA3C;AAA2DqC,MAAAA,MAAM,EAAC,MAAlE;AAAyEy9I,MAAAA,SAAS,EAAC,CAAC;AAApF,KAAlB;AAAyG+a,IAAAA,EAAE,GAAGqG,EAAE,CAAC5iB,CAAN,EAAQ92C,EAAR,CAAF;AAAc05D,IAAAA,EAAE,CAAC5iB,CAAH,CAAK2c,MAAL;;AAAY,UAAMkG,EAAN,SAAiBjG,EAAjB,CAAmB;AAAC1/Q,MAAAA,WAAW,CAACugC,CAAD,EAAG;AAAC,cAAMA,CAAN,GAAS,KAAK8E,GAAL,CAAS,MAAT,EAAgB,KAAK,CAArB,CAAT,EAAiC,KAAKA,GAAL,CAAS,KAAT,EAAe,KAAK,CAApB,CAAjC,EAAwD,KAAK33B,EAAL,GAAS,oBAAmB68B,CAAC,EAAG,EAAxF;AAA0F,cAAMW,CAAC,GAAC,KAAK40O,YAAb;AAA0B,aAAKK,WAAL,CAAiB;AAACsB,UAAAA,GAAG,EAAC,OAAL;AAAaj9J,UAAAA,UAAU,EAAC;AAACm/J,YAAAA,KAAK,EAAC,CAAC,IAAD,EAAM,UAAN,CAAP;AAAyBj2Q,YAAAA,EAAE,EAAC,KAAKA,EAAjC;AAAoCutO,YAAAA,GAAG,EAAC/vM,CAAC,CAAC8hJ,EAAF,CAAK,KAAL;AAAxC,WAAxB;AAA6EnlL,UAAAA,QAAQ,EAAC,CAAC;AAACyqI,YAAAA,IAAI,EAACpnG,CAAC,CAAC8hJ,EAAF,CAAK,MAAL;AAAN,WAAD;AAAtF,SAAjB;AAA+H;;AAAnQ;;AAAoQ,QAAI44F,EAAE,GAAC96O,CAAC,CAAC,IAAD,CAAR;AAAA,QAAe+6O,EAAE,GAAC;AAACrG,MAAAA,UAAU,EAAC,mBAAZ;AAAgCh7J,MAAAA,UAAU,EAAC;AAAC,oBAAW,CAAC;AAAb,OAA3C;AAA2DqC,MAAAA,MAAM,EAAC,MAAlE;AAAyEy9I,MAAAA,SAAS,EAAC,CAAC;AAApF,KAAlB;;AAAyG+a,IAAAA,EAAE,GAAGuG,EAAE,CAAC9iB,CAAN,EAAQ+iB,EAAR,CAAF;AAAcD,IAAAA,EAAE,CAAC9iB,CAAH,CAAK2c,MAAL;;AAAY,UAAMqG,EAAN,SAAiBpG,EAAjB,CAAmB;AAAC1/Q,MAAAA,WAAW,CAACugC,CAAD,EAAG2K,CAAH,EAAK;AAAC,cAAM3K,CAAN;AAAS,cAAMuK,CAAC,GAAE,yBAAwBP,CAAC,EAAG,EAArC;AAAA,cAAuCuC,CAAC,GAAE,gCAA+BvC,CAAC,EAAG,EAA7E;AAA+E,aAAKw7O,SAAL,GAAe76O,CAAC,CAAC,IAAD,EAAMJ,CAAN,EAAQgC,CAAR,CAAhB,EAA2B,KAAKzH,GAAL,CAAS,OAAT,EAAiB,KAAK,CAAtB,CAA3B,EAAoD,KAAKA,GAAL,CAAS,WAAT,EAAqB,CAAC,CAAtB,CAApD,EAA6E,KAAKA,GAAL,CAAS,SAAT,EAAmB,CAAC,CAApB,CAA7E,EAAoG,KAAKA,GAAL,CAAS,WAAT,EAAqB,CAAC,CAAtB,CAApG,EAA6H,KAAKA,GAAL,CAAS,WAAT,EAAqB,IAArB,CAA7H,EAAwJ,KAAKA,GAAL,CAAS,UAAT,EAAoB,IAApB,CAAxJ,EAAkL,KAAKA,GAAL,CAAS,OAAT,EAAiB,KAAK,CAAtB,CAAlL,EAA2M,KAAKA,GAAL,CAAS,aAAT,EAAuB,KAAK,CAA5B,CAA3M,EAA0O,KAAKq/O,SAAL,GAAe,KAAKsB,gBAAL,CAAsBl7O,CAAtB,CAAzP,EAAkR,KAAKm7O,UAAL,GAAgB,KAAKC,iBAAL,CAAuBp5O,CAAvB,CAAlS,EAA4T,KAAKq5O,oBAAL,GAA0B,KAAKtG,gBAAL,CAAsB,CAAC,KAAKkG,SAAN,EAAgB,KAAKrB,SAArB,CAAtB,CAAtV,EAA6Y,KAAKpvP,IAAL,CAAU,aAAV,EAAyB03J,EAAzB,CAA4B,IAA5B,EAAiC,WAAjC,EAA6C,IAA7C,EAAkD,UAAlD,EAA8D,CAACzsJ,CAAD,EAAG2K,CAAH,KAAO3K,CAAC,IAAE2K,CAAxE,CAA7Y;AAAyd,cAAMh0B,CAAC,GAAC,KAAK4oQ,YAAb;AAA0B,aAAKK,WAAL,CAAiB;AAACsB,UAAAA,GAAG,EAAC,KAAL;AAAWj9J,UAAAA,UAAU,EAAC;AAACm/J,YAAAA,KAAK,EAAC,CAAC,IAAD,EAAM,uBAAN,EAA8BzsQ,CAAC,CAAC81K,EAAF,CAAK,OAAL,CAA9B,EAA4C91K,CAAC,CAACmqQ,EAAF,CAAK,WAAL,EAAiB,aAAjB,EAAgC9gP,CAAC,IAAE,CAACA,CAApC,CAA5C,EAAoFrpB,CAAC,CAACmqQ,EAAF,CAAK,SAAL,EAAe,6BAAf,CAApF,EAAkInqQ,CAAC,CAACmqQ,EAAF,CAAK,WAAL,EAAiB,+BAAjB,CAAlI,EAAoLnqQ,CAAC,CAACmqQ,EAAF,CAAK,aAAL,EAAmB,mCAAnB,CAApL,EAA4OnqQ,CAAC,CAACmqQ,EAAF,CAAK,WAAL,EAAiB,UAAjB,CAA5O;AAAP,WAAtB;AAAwSx5Q,UAAAA,QAAQ,EAAC,CAAC;AAAC45Q,YAAAA,GAAG,EAAC,KAAL;AAAWj9J,YAAAA,UAAU,EAAC;AAACm/J,cAAAA,KAAK,EAAC,CAAC,IAAD,EAAM,sCAAN;AAAP,aAAtB;AAA4E97Q,YAAAA,QAAQ,EAAC,KAAKs+Q;AAA1F,WAAD,EAAiH,KAAKF,UAAtH;AAAjT,SAAjB;AAAsc;;AAAAD,MAAAA,gBAAgB,CAACzlP,CAAD,EAAG;AAAC,cAAM2K,CAAC,GAAC,IAAIy6O,EAAJ,CAAO,KAAKjuD,MAAZ,CAAR;AAA4B,eAAOxsL,CAAC,CAAC+vM,GAAF,GAAM16M,CAAN,EAAQ2K,CAAC,CAAC5V,IAAF,CAAO,MAAP,EAAe03J,EAAf,CAAkB,IAAlB,EAAuB,OAAvB,CAAR,EAAwC9hJ,CAA/C;AAAiD;;AAAAg7O,MAAAA,iBAAiB,CAAC3lP,CAAD,EAAG;AAAC,cAAM2K,CAAC,GAAC,IAAIw0O,EAAJ,CAAO,KAAKhoD,MAAZ,CAAR;AAAA,cAA4B5sL,CAAC,GAAC,KAAKg1O,YAAnC;AAAgD,eAAO50O,CAAC,CAACi1O,WAAF,CAAc;AAACsB,UAAAA,GAAG,EAAC,KAAL;AAAWj9J,UAAAA,UAAU,EAAC;AAACm/J,YAAAA,KAAK,EAAC,CAAC,IAAD,EAAM,+BAAN,EAAsC74O,CAAC,CAACu2O,EAAF,CAAK,WAAL,EAAiB,qCAAjB,CAAtC,EAA8Fv2O,CAAC,CAACu2O,EAAF,CAAK,aAAL,EAAmB,WAAnB,EAAgC9gP,CAAC,IAAE,CAACA,CAApC,CAA9F,CAAP;AAA8I7yB,YAAAA,EAAE,EAAC6yB,CAAjJ;AAAmJpyB,YAAAA,IAAI,EAAC28B,CAAC,CAACu2O,EAAF,CAAK,WAAL,EAAiB,OAAjB;AAAxJ,WAAtB;AAAyMx5Q,UAAAA,QAAQ,EAAC,CAAC;AAACyqI,YAAAA,IAAI,EAACxnG,CAAC,CAACkiJ,EAAF,CAAK,aAAL;AAAN,WAAD;AAAlN,SAAd,GAA+P9hJ,CAAtQ;AAAwQ;;AAAAqoC,MAAAA,KAAK,CAAChzC,CAAD,EAAG;AAAC,aAAKwlP,SAAL,CAAexyM,KAAf,CAAqBhzC,CAArB;AAAwB;;AAAl/C;;AAAm/C,UAAM6lP,EAAN,SAAiB1G,EAAjB,CAAmB;AAAC1/Q,MAAAA,WAAW,CAACugC,CAAD,EAAG;AAAC,cAAMA,CAAN,GAAS,KAAK8E,GAAL,CAAS,OAAT,EAAiB,KAAK,CAAtB,CAAT,EAAkC,KAAKA,GAAL,CAAS,IAAT,EAAc,KAAK,CAAnB,CAAlC,EAAwD,KAAKA,GAAL,CAAS,aAAT,EAAuB,KAAK,CAA5B,CAAxD,EAAuF,KAAKA,GAAL,CAAS,YAAT,EAAsB,CAAC,CAAvB,CAAvF,EAAiH,KAAKA,GAAL,CAAS,UAAT,EAAoB,CAAC,CAArB,CAAjH,EAAyI,KAAKA,GAAL,CAAS,mBAAT,EAA6B,KAAK,CAAlC,CAAzI,EAA8K,KAAKghP,YAAL,GAAkB,IAAI3vD,EAAJ,EAAhM,EAAuM,KAAKphM,IAAL,CAAU,WAAV,EAAuB03J,EAAvB,CAA0B,KAAKq5F,YAA/B,CAAvM,EAAoP,KAAKhhP,GAAL,CAAS,SAAT,EAAmB,CAAC,CAApB,CAApP;AAA2Q,cAAM6F,CAAC,GAAC,KAAK40O,YAAb;AAA0B,aAAKK,WAAL,CAAiB;AAACsB,UAAAA,GAAG,EAAC,OAAL;AAAaj9J,UAAAA,UAAU,EAAC;AAACm/J,YAAAA,KAAK,EAAC,CAAC,IAAD,EAAM,UAAN,EAAiBz4O,CAAC,CAACm2O,EAAF,CAAK,WAAL,EAAiB,kBAAjB,CAAjB,EAAsDn2O,CAAC,CAACm2O,EAAF,CAAK,SAAL,EAAe,qBAAf,CAAtD,EAA4Fn2O,CAAC,CAACm2O,EAAF,CAAK,UAAL,EAAgB,UAAhB,CAA5F,CAAP;AAAgI3zQ,YAAAA,EAAE,EAACw9B,CAAC,CAAC8hJ,EAAF,CAAK,IAAL,CAAnI;AAA8Is5F,YAAAA,WAAW,EAACp7O,CAAC,CAAC8hJ,EAAF,CAAK,aAAL,CAA1J;AAA8Ku5F,YAAAA,QAAQ,EAACr7O,CAAC,CAAC8hJ,EAAF,CAAK,YAAL,CAAvL;AAA0M,4BAAe9hJ,CAAC,CAACm2O,EAAF,CAAK,UAAL,EAAgB,CAAC,CAAjB,CAAzN;AAA6O,gCAAmBn2O,CAAC,CAAC8hJ,EAAF,CAAK,mBAAL;AAAhQ,WAAxB;AAAmThrK,UAAAA,EAAE,EAAC;AAAC82C,YAAAA,KAAK,EAAC5tB,CAAC,CAAC8hJ,EAAF,CAAM,CAAC,GAAGzsJ,CAAJ,KAAQ;AAAC,mBAAK0lF,IAAL,CAAU,OAAV,EAAkB,GAAG1lF,CAArB,GAAwB,KAAKimP,cAAL,EAAxB;AAA8C,aAA7D,CAAP;AAAuEvkE,YAAAA,MAAM,EAAC/2K,CAAC,CAAC8hJ,EAAF,CAAK,KAAKw5F,cAAL,CAAoBlxP,IAApB,CAAyB,IAAzB,CAAL;AAA9E;AAAtT,SAAjB;AAA6b;;AAAA6pP,MAAAA,MAAM,GAAE;AAAC,cAAMA,MAAN,IAAe,KAAKkH,YAAL,CAAkBlxP,GAAlB,CAAsB,KAAK5L,OAA3B,CAAf,EAAmD,KAAKk9P,mBAAL,CAAyB,KAAKh1Q,KAA9B,CAAnD,EAAwF,KAAK+0Q,cAAL,EAAxF,EAA8G,KAAKxkQ,EAAL,CAAQ,cAAR,EAAwB,CAACue,CAAD,EAAG2K,CAAH,EAAKJ,CAAL,KAAS;AAAC,eAAK27O,mBAAL,CAAyB37O,CAAzB,GAA4B,KAAK07O,cAAL,EAA5B;AAAkD,SAApF,CAA9G;AAAqM;;AAAAtnK,MAAAA,OAAO,GAAE;AAAC,cAAMA,OAAN,IAAgB,KAAKmnK,YAAL,CAAkBnnK,OAAlB,EAAhB;AAA4C;;AAAA1yG,MAAAA,MAAM,GAAE;AAAC,aAAK+c,OAAL,CAAa/c,MAAb;AAAsB;;AAAA+mE,MAAAA,KAAK,GAAE;AAAC,aAAKhqD,OAAL,CAAagqD,KAAb;AAAqB;;AAAAjpD,MAAAA,KAAK,GAAE;AAAC,aAAK7Y,KAAL,GAAW,KAAK8X,OAAL,CAAa9X,KAAb,GAAmB,EAA9B,EAAiC,KAAK+0Q,cAAL,EAAjC;AAAuD;;AAAAA,MAAAA,cAAc,GAAE;AAAC,aAAK5vO,OAAL,GAAa,CAAC,KAAKrtB,OAAL,CAAa9X,KAA3B;AAAiC;;AAAAg1Q,MAAAA,mBAAmB,CAAClmP,CAAD,EAAG;AAAC,aAAKhX,OAAL,CAAa9X,KAAb,GAAmB8uB,CAAC,IAAE,MAAIA,CAAP,GAASA,CAAT,GAAW,EAA9B;AAAiC;;AAA3tC;;AAA4tC,QAAImmP,EAAE,GAAC57O,CAAC,CAAC,IAAD,CAAR;AAAA,QAAe67O,EAAE,GAAC;AAACnH,MAAAA,UAAU,EAAC,mBAAZ;AAAgCh7J,MAAAA,UAAU,EAAC;AAAC,oBAAW,CAAC;AAAb,OAA3C;AAA2DqC,MAAAA,MAAM,EAAC,MAAlE;AAAyEy9I,MAAAA,SAAS,EAAC,CAAC;AAApF,KAAlB;AAAyG+a,IAAAA,EAAE,GAAGqH,EAAE,CAAC5jB,CAAN,EAAQ6jB,EAAR,CAAF;AAAcD,IAAAA,EAAE,CAAC5jB,CAAH,CAAK2c,MAAL;;AAAY,UAAMmH,EAAN,SAAiBR,EAAjB,CAAmB;AAACpmR,MAAAA,WAAW,CAACugC,CAAD,EAAG;AAAC,cAAMA,CAAN,GAAS,KAAK8E,GAAL,CAAS,WAAT,EAAqB,MAArB,CAAT;AAAsC,cAAM6F,CAAC,GAAC,KAAK40O,YAAb;AAA0B,aAAKM,cAAL,CAAoB;AAAC57J,UAAAA,UAAU,EAAC;AAACqiK,YAAAA,SAAS,EAAC37O,CAAC,CAAC8hJ,EAAF,CAAK,WAAL;AAAX;AAAZ,SAApB;AAAgE;;AAAhJ;;AAAiJ,UAAM85F,EAAN,SAAiBF,EAAjB,CAAmB;AAAC5mR,MAAAA,WAAW,CAACugC,CAAD,EAAG;AAAC,cAAMA,CAAN,GAAS,KAAK6/O,cAAL,CAAoB;AAAC57J,UAAAA,UAAU,EAAC;AAAChtG,YAAAA,IAAI,EAAC,MAAN;AAAamsQ,YAAAA,KAAK,EAAC,CAAC,eAAD;AAAnB;AAAZ,SAApB,CAAT;AAAiF;;AAAjG;;AAAkG,QAAIoD,EAAE,GAACj8O,CAAC,CAAC,IAAD,CAAR;AAAA,QAAek8O,EAAE,GAAC;AAACxH,MAAAA,UAAU,EAAC,mBAAZ;AAAgCh7J,MAAAA,UAAU,EAAC;AAAC,oBAAW,CAAC;AAAb,OAA3C;AAA2DqC,MAAAA,MAAM,EAAC,MAAlE;AAAyEy9I,MAAAA,SAAS,EAAC,CAAC;AAApF,KAAlB;AAAyG+a,IAAAA,EAAE,GAAG0H,EAAE,CAACjkB,CAAN,EAAQkkB,EAAR,CAAF;AAAcD,IAAAA,EAAE,CAACjkB,CAAH,CAAK2c,MAAL;;AAAY,UAAMwH,EAAN,SAAiBvH,EAAjB,CAAmB;AAAC1/Q,MAAAA,WAAW,CAACugC,CAAD,EAAG;AAAC,cAAMA,CAAN;AAAS,cAAM2K,CAAC,GAAC,KAAK40O,YAAb;AAA0B,aAAKz6O,GAAL,CAAS,WAAT,EAAqB,CAAC,CAAtB,GAAyB,KAAKA,GAAL,CAAS,UAAT,EAAoB,IAApB,CAAzB,EAAmD,KAAKx9B,QAAL,GAAc,KAAKg4Q,gBAAL,EAAjE,EAAyF,KAAKM,WAAL,CAAiB;AAACsB,UAAAA,GAAG,EAAC,KAAL;AAAWj9J,UAAAA,UAAU,EAAC;AAACm/J,YAAAA,KAAK,EAAC,CAAC,IAAD,EAAM,UAAN,EAAiB,oBAAjB,EAAsCz4O,CAAC,CAAC8hJ,EAAF,CAAK,UAAL,EAAiBzsJ,CAAC,IAAG,sBAAqBA,CAAE,EAA5C,CAAtC,EAAsF2K,CAAC,CAACm2O,EAAF,CAAK,WAAL,EAAiB,4BAAjB,CAAtF,CAAP;AAA6I2D,YAAAA,QAAQ,EAAC;AAAtJ,WAAtB;AAAkLn9Q,UAAAA,QAAQ,EAAC,KAAKA,QAAhM;AAAyMma,UAAAA,EAAE,EAAC;AAACklQ,YAAAA,WAAW,EAACh8O,CAAC,CAAC8hJ,EAAF,CAAMzsJ,CAAC,IAAE;AAAC,0BAAUA,CAAC,CAAC4tB,MAAF,CAASmsJ,OAAT,CAAiB0nB,iBAAjB,EAAV,IAAgDzhM,CAAC,CAACu0C,cAAF,EAAhD;AAAmE,aAA7E;AAAb;AAA5M,SAAjB,CAAzF;AAAsZ;;AAAAvB,MAAAA,KAAK,GAAE;AAAC,YAAG,KAAK1rE,QAAL,CAAcqF,MAAjB,EAAwB;AAAC,gBAAMqzB,CAAC,GAAC,KAAK14B,QAAL,CAAcw1Q,KAAtB;AAA4B,wBAAY,OAAO98O,CAAC,CAACgzC,KAArB,GAA2BhzC,CAAC,CAACgzC,KAAF,EAA3B,GAAqCnpC,CAAC,CAAC,6CAAD,EAA+C;AAAC+8O,YAAAA,SAAS,EAAC,KAAKt/Q,QAAL,CAAcw1Q,KAAzB;AAA+B+J,YAAAA,aAAa,EAAC;AAA7C,WAA/C,CAAtC;AAAyI;AAAC;;AAAAC,MAAAA,SAAS,GAAE;AAAC,YAAG,KAAKx/Q,QAAL,CAAcqF,MAAjB,EAAwB;AAAC,gBAAMqzB,CAAC,GAAC,KAAK14B,QAAL,CAAck6M,IAAtB;AAA2B,wBAAY,OAAOxhL,CAAC,CAAC8mP,SAArB,GAA+B9mP,CAAC,CAAC8mP,SAAF,EAA/B,GAA6C9mP,CAAC,CAACgzC,KAAF,EAA7C;AAAuD;AAAC;;AAAxwB;;AAAywB,QAAI+zM,EAAE,GAACx8O,CAAC,CAAC,IAAD,CAAR;AAAA,QAAey8O,EAAE,GAAC;AAAC/H,MAAAA,UAAU,EAAC,mBAAZ;AAAgCh7J,MAAAA,UAAU,EAAC;AAAC,oBAAW,CAAC;AAAb,OAA3C;AAA2DqC,MAAAA,MAAM,EAAC,MAAlE;AAAyEy9I,MAAAA,SAAS,EAAC,CAAC;AAApF,KAAlB;AAAyG+a,IAAAA,EAAE,GAAGiI,EAAE,CAACxkB,CAAN,EAAQykB,EAAR,CAAF;AAAcD,IAAAA,EAAE,CAACxkB,CAAH,CAAK2c,MAAL;;AAAY,UAAM+H,EAAN,SAAiB9H,EAAjB,CAAmB;AAAC1/Q,MAAAA,WAAW,CAACugC,CAAD,EAAG2K,CAAH,EAAKJ,CAAL,EAAO;AAAC,cAAMvK,CAAN;AAAS,cAAMuM,CAAC,GAAC,KAAKgzO,YAAb;AAA0B,aAAK2H,UAAL,GAAgBv8O,CAAhB,EAAkB,KAAKw8O,SAAL,GAAe58O,CAAjC,EAAmC,KAAKzF,GAAL,CAAS,QAAT,EAAkB,CAAC,CAAnB,CAAnC,EAAyD,KAAKA,GAAL,CAAS,WAAT,EAAqB,CAAC,CAAtB,CAAzD,EAAkF,KAAKA,GAAL,CAAS,OAAT,EAAiB,KAAK,CAAtB,CAAlF,EAA2G,KAAKA,GAAL,CAAS,IAAT,EAAc,KAAK,CAAnB,CAA3G,EAAiI,KAAKA,GAAL,CAAS,eAAT,EAAyB,MAAzB,CAAjI,EAAkK,KAAKqiP,SAAL,CAAepyP,IAAf,CAAoB,WAApB,EAAiC03J,EAAjC,CAAoC,IAApC,EAAyC,QAAzC,CAAlK,EAAqN,KAAK26F,UAAL,GAAgB,IAAIvJ,EAAJ,EAArO,EAA4O,KAAKiI,YAAL,GAAkB,IAAI3vD,EAAJ,EAA9P,EAAqQ,KAAKypD,WAAL,CAAiB;AAACsB,UAAAA,GAAG,EAAC,KAAL;AAAWj9J,UAAAA,UAAU,EAAC;AAACm/J,YAAAA,KAAK,EAAC,CAAC,IAAD,EAAM,aAAN,EAAoB72O,CAAC,CAACkgJ,EAAF,CAAK,OAAL,CAApB,EAAkClgJ,CAAC,CAACu0O,EAAF,CAAK,WAAL,EAAiB,aAAjB,EAAgC9gP,CAAC,IAAE,CAACA,CAApC,CAAlC,CAAP;AAAkF7yB,YAAAA,EAAE,EAACo/B,CAAC,CAACkgJ,EAAF,CAAK,IAAL,CAArF;AAAgG,gCAAmBlgJ,CAAC,CAACkgJ,EAAF,CAAK,mBAAL;AAAnH,WAAtB;AAAoKnlL,UAAAA,QAAQ,EAAC,CAACqjC,CAAD,EAAGJ,CAAH;AAA7K,SAAjB,CAArQ,EAA2cI,CAAC,CAACk1O,cAAF,CAAiB;AAAC57J,UAAAA,UAAU,EAAC;AAACm/J,YAAAA,KAAK,EAAC,CAAC,qBAAD,CAAP;AAA+B,yCAA4B72O,CAAC,CAACkgJ,EAAF,CAAK,QAAL;AAA3D;AAAZ,SAAjB,CAA3c;AAAqjB;;AAAAmyF,MAAAA,MAAM,GAAE;AAAC,cAAMA,MAAN,IAAe,KAAKkH,YAAL,CAAkBlxP,GAAlB,CAAsB,KAAKsyP,UAAL,CAAgBl+P,OAAtC,CAAf,EAA8D,KAAK88P,YAAL,CAAkBlxP,GAAlB,CAAsB,KAAKuyP,SAAL,CAAen+P,OAArC,CAA9D,EAA4G,KAAKw8O,QAAL,CAAc,KAAK0hB,UAAnB,EAA8B,MAA9B,EAAsC,MAAI;AAAC,eAAKG,MAAL,GAAY,CAAC,KAAKA,MAAlB;AAAyB,SAApE,CAA5G,EAAmL,KAAK5lQ,EAAL,CAAQ,eAAR,EAAyB,CAACue,CAAD,EAAG2K,CAAH,EAAKJ,CAAL,KAAS;AAAC,cAAGA,CAAH,EAAK,IAAG,WAAS,KAAK+8O,aAAjB,EAA+B;AAAC,kBAAMtnP,CAAC,GAACinP,EAAE,CAACM,mBAAH,CAAuB;AAACv+P,cAAAA,OAAO,EAAC,KAAKm+P,SAAL,CAAen+P,OAAxB;AAAgC4kC,cAAAA,MAAM,EAAC,KAAKs5N,UAAL,CAAgBl+P,OAAvD;AAA+DovP,cAAAA,aAAa,EAAC,CAAC,CAA9E;AAAgFF,cAAAA,SAAS,EAAC,KAAKsP;AAA/F,aAAvB,CAAR;;AAAgJ,iBAAKL,SAAL,CAAer3Q,QAAf,GAAwBkwB,CAAC,GAACA,CAAC,CAACxvB,IAAH,GAAQ,KAAKg3Q,eAAL,CAAqB,CAArB,EAAwBh3Q,IAAzD;AAA8D,WAA9O,MAAmP,KAAK22Q,SAAL,CAAer3Q,QAAf,GAAwB,KAAKw3Q,aAA7B;AAA2C,SAAtU,CAAnL,EAA4f,KAAKF,UAAL,CAAgB5hB,QAAhB,CAAyB,KAAKx8O,OAA9B,CAA5f;;AAAmiB,cAAMgX,CAAC,GAAC,CAACA,CAAD,EAAG2K,CAAH,KAAO;AAAC,eAAK08O,MAAL,KAAc,KAAKA,MAAL,GAAY,CAAC,CAAb,EAAe18O,CAAC,EAA9B;AAAkC,SAAlD;;AAAmD,aAAKy8O,UAAL,CAAgBtiP,GAAhB,CAAoB,WAApB,EAAiC,CAAC9E,CAAD,EAAG2K,CAAH,KAAO;AAAC,eAAKu8O,UAAL,CAAgB7sH,SAAhB,IAA2B,CAAC,KAAKgtH,MAAjC,KAA0C,KAAKA,MAAL,GAAY,CAAC,CAAb,EAAe18O,CAAC,EAA1D;AAA8D,SAAvG,GAA0G,KAAKy8O,UAAL,CAAgBtiP,GAAhB,CAAoB,YAApB,EAAkC,CAAC9E,CAAD,EAAG2K,CAAH,KAAO;AAAC,eAAK08O,MAAL,IAAa18O,CAAC,EAAd;AAAiB,SAA3D,CAA1G,EAAwK,KAAKy8O,UAAL,CAAgBtiP,GAAhB,CAAoB,WAApB,EAAgC9E,CAAhC,CAAxK,EAA2M,KAAKonP,UAAL,CAAgBtiP,GAAhB,CAAoB,KAApB,EAA0B9E,CAA1B,CAA3M;AAAwO;;AAAAgzC,MAAAA,KAAK,GAAE;AAAC,aAAKk0M,UAAL,CAAgBl0M,KAAhB;AAAwB;;AAAmB,UAAfw0M,eAAe,GAAE;AAAC,cAAK;AAACC,UAAAA,KAAK,EAACznP,CAAP;AAAS0nP,UAAAA,KAAK,EAAC/8O,CAAf;AAAiBg9O,UAAAA,SAAS,EAACp9O,CAA3B;AAA6Bq9O,UAAAA,SAAS,EAACr7O,CAAvC;AAAyCs7O,UAAAA,SAAS,EAAClxQ,CAAnD;AAAqDmxQ,UAAAA,SAAS,EAACr7O,CAA/D;AAAiEs7O,UAAAA,eAAe,EAACz9O,CAAjF;AAAmF09O,UAAAA,eAAe,EAAC5lM,CAAnG;AAAqG6lM,UAAAA,eAAe,EAACtqG,CAArH;AAAuHuqG,UAAAA,eAAe,EAACh8D;AAAvI,YAA0I+6D,EAAE,CAACkB,qBAAlJ;AAAwK,eAAM,UAAQ,KAAKhxD,MAAL,CAAY+kD,mBAApB,GAAwC,CAAC3xO,CAAD,EAAGgC,CAAH,EAAKjC,CAAL,EAAO83C,CAAP,EAASpiD,CAAT,EAAWrpB,CAAX,EAAa81B,CAAb,EAAekxI,CAAf,EAAiBuuC,CAAjB,EAAmBvhL,CAAnB,CAAxC,GAA8D,CAAC4B,CAAD,EAAGhC,CAAH,EAAK63C,CAAL,EAAO93C,CAAP,EAAStK,CAAT,EAAWyM,CAAX,EAAa91B,CAAb,EAAeu1M,CAAf,EAAiBvuC,CAAjB,EAAmBhzI,CAAnB,CAApE;AAA0F;;AAA3uD;;AAA4uDs8O,IAAAA,EAAE,CAACkB,qBAAH,GAAyB;AAACV,MAAAA,KAAK,EAAC,CAACznP,CAAD,EAAG2K,CAAH,MAAQ;AAACupC,QAAAA,GAAG,EAACl0C,CAAC,CAACy0O,MAAP;AAAcrgM,QAAAA,IAAI,EAACp0C,CAAC,CAACo0C,IAAF,GAAO,CAACzpC,CAAC,CAACopC,KAAF,GAAQ/zC,CAAC,CAAC+zC,KAAX,IAAkB,CAA5C;AAA8CvjE,QAAAA,IAAI,EAAC;AAAnD,OAAR,CAAP;AAAwEm3Q,MAAAA,SAAS,EAAC3nP,CAAC,KAAG;AAACk0C,QAAAA,GAAG,EAACl0C,CAAC,CAACy0O,MAAP;AAAcrgM,QAAAA,IAAI,EAACp0C,CAAC,CAACo0C,IAArB;AAA0B5jE,QAAAA,IAAI,EAAC;AAA/B,OAAH,CAAnF;AAA4Ho3Q,MAAAA,SAAS,EAAC,CAAC5nP,CAAD,EAAG2K,CAAH,MAAQ;AAACupC,QAAAA,GAAG,EAACl0C,CAAC,CAACy0O,MAAP;AAAcrgM,QAAAA,IAAI,EAACp0C,CAAC,CAACo0C,IAAF,GAAOzpC,CAAC,CAACopC,KAAT,GAAe/zC,CAAC,CAAC+zC,KAApC;AAA0CvjE,QAAAA,IAAI,EAAC;AAA/C,OAAR,CAAtI;AAAoMu3Q,MAAAA,eAAe,EAAC,CAAC/nP,CAAD,EAAG2K,CAAH,MAAQ;AAACupC,QAAAA,GAAG,EAACl0C,CAAC,CAACy0O,MAAP;AAAcrgM,QAAAA,IAAI,EAACp0C,CAAC,CAACo0C,IAAF,GAAO,CAACzpC,CAAC,CAACopC,KAAF,GAAQ/zC,CAAC,CAAC+zC,KAAX,IAAkB,CAA5C;AAA8CvjE,QAAAA,IAAI,EAAC;AAAnD,OAAR,CAApN;AAAuRw3Q,MAAAA,eAAe,EAAC,CAAChoP,CAAD,EAAG2K,CAAH,MAAQ;AAACupC,QAAAA,GAAG,EAACl0C,CAAC,CAACy0O,MAAP;AAAcrgM,QAAAA,IAAI,EAACp0C,CAAC,CAACo0C,IAAF,GAAO,KAAGzpC,CAAC,CAACopC,KAAF,GAAQ/zC,CAAC,CAAC+zC,KAAb,IAAoB,CAA9C;AAAgDvjE,QAAAA,IAAI,EAAC;AAArD,OAAR,CAAvS;AAA4Wk3Q,MAAAA,KAAK,EAAC,CAAC1nP,CAAD,EAAG2K,CAAH,MAAQ;AAACupC,QAAAA,GAAG,EAACl0C,CAAC,CAACk0C,GAAF,GAAMvpC,CAAC,CAACspC,MAAb;AAAoBG,QAAAA,IAAI,EAACp0C,CAAC,CAACo0C,IAAF,GAAO,CAACzpC,CAAC,CAACopC,KAAF,GAAQ/zC,CAAC,CAAC+zC,KAAX,IAAkB,CAAlD;AAAoDvjE,QAAAA,IAAI,EAAC;AAAzD,OAAR,CAAlX;AAAybq3Q,MAAAA,SAAS,EAAC,CAAC7nP,CAAD,EAAG2K,CAAH,MAAQ;AAACupC,QAAAA,GAAG,EAACl0C,CAAC,CAACk0C,GAAF,GAAMvpC,CAAC,CAACspC,MAAb;AAAoBG,QAAAA,IAAI,EAACp0C,CAAC,CAACo0C,IAA3B;AAAgC5jE,QAAAA,IAAI,EAAC;AAArC,OAAR,CAAnc;AAAufs3Q,MAAAA,SAAS,EAAC,CAAC9nP,CAAD,EAAG2K,CAAH,MAAQ;AAACupC,QAAAA,GAAG,EAACl0C,CAAC,CAACk0C,GAAF,GAAMvpC,CAAC,CAACspC,MAAb;AAAoBG,QAAAA,IAAI,EAACp0C,CAAC,CAACo0C,IAAF,GAAOzpC,CAAC,CAACopC,KAAT,GAAe/zC,CAAC,CAAC+zC,KAA1C;AAAgDvjE,QAAAA,IAAI,EAAC;AAArD,OAAR,CAAjgB;AAAqkBy3Q,MAAAA,eAAe,EAAC,CAACjoP,CAAD,EAAG2K,CAAH,MAAQ;AAACupC,QAAAA,GAAG,EAACl0C,CAAC,CAACk0C,GAAF,GAAMvpC,CAAC,CAACspC,MAAb;AAAoBG,QAAAA,IAAI,EAACp0C,CAAC,CAACo0C,IAAF,GAAO,CAACzpC,CAAC,CAACopC,KAAF,GAAQ/zC,CAAC,CAAC+zC,KAAX,IAAkB,CAAlD;AAAoDvjE,QAAAA,IAAI,EAAC;AAAzD,OAAR,CAArlB;AAA8pB03Q,MAAAA,eAAe,EAAC,CAACloP,CAAD,EAAG2K,CAAH,MAAQ;AAACupC,QAAAA,GAAG,EAACl0C,CAAC,CAACk0C,GAAF,GAAMvpC,CAAC,CAACspC,MAAb;AAAoBG,QAAAA,IAAI,EAACp0C,CAAC,CAACo0C,IAAF,GAAO,KAAGzpC,CAAC,CAACopC,KAAF,GAAQ/zC,CAAC,CAAC+zC,KAAb,IAAoB,CAApD;AAAsDvjE,QAAAA,IAAI,EAAC;AAA3D,OAAR;AAA9qB,KAAzB,EAAmxBy2Q,EAAE,CAACM,mBAAH,GAAuBtP,EAA1yB;AAA6yB,UAAMmQ,EAAE,GAAC,iNAAT;;AAA2N,UAAMC,EAAN,SAAiB34D,EAAjB,CAAmB;AAACjwN,MAAAA,WAAW,CAACugC,CAAD,EAAG;AAAC,cAAMA,CAAN,GAAS,KAAKsoP,SAAL,GAAe,KAAKC,gBAAL,EAAxB,EAAgD,KAAK1I,cAAL,CAAoB;AAAC57J,UAAAA,UAAU,EAAC;AAAC,6BAAgB,CAAC,CAAlB;AAAoB,6BAAgB,KAAKs7J,YAAL,CAAkB9yF,EAAlB,CAAqB,MAArB,EAA6BzsJ,CAAC,IAAE0/B,MAAM,CAAC1/B,CAAD,CAAtC;AAApC;AAAZ,SAApB,CAAhD,EAAmK,KAAKmmO,QAAL,CAAc,SAAd,EAAyB15E,EAAzB,CAA4B,IAA5B,EAAiC,MAAjC,CAAnK;AAA4M;;AAAAmyF,MAAAA,MAAM,GAAE;AAAC,cAAMA,MAAN,IAAe,KAAKt3Q,QAAL,CAAcstB,GAAd,CAAkB,KAAK0zP,SAAvB,CAAf;AAAiD;;AAAAC,MAAAA,gBAAgB,GAAE;AAAC,cAAMvoP,CAAC,GAAC,IAAI0M,EAAJ,EAAR;AAAe,eAAO1M,CAAC,CAAC+jF,OAAF,GAAUqkK,EAAV,EAAapoP,CAAC,CAAC6/O,cAAF,CAAiB;AAAC57J,UAAAA,UAAU,EAAC;AAACm/J,YAAAA,KAAK,EAAC;AAAP;AAAZ,SAAjB,CAAb,EAAyEpjP,CAAhF;AAAkF;;AAA1Y;;AAA2Y,UAAMwoP,EAAN,SAAiBjjB,CAAC,EAAlB,CAAqB;AAAC9lQ,MAAAA,WAAW,CAACugC,CAAD,EAAG;AAAC,YAAG,SAAQ,KAAKyoP,UAAL,GAAgBzoP,CAAC,CAACyoP,UAA1B,EAAqC,KAAK3C,YAAL,GAAkB9lP,CAAC,CAAC8lP,YAAzD,EAAsE,KAAK4C,gBAAL,GAAsB1oP,CAAC,CAAC0oP,gBAA9F,EAA+G,KAAKC,OAAL,GAAa3oP,CAAC,CAAC2oP,OAA9H,EAAsI3oP,CAAC,CAAC2oP,OAAF,IAAW3oP,CAAC,CAAC0oP,gBAAtJ,EAAuK,KAAI,MAAM/9O,CAAV,IAAe3K,CAAC,CAAC2oP,OAAjB,EAAyB;AAAC,cAAIp+O,CAAC,GAACvK,CAAC,CAAC2oP,OAAF,CAAUh+O,CAAV,CAAN;AAAmB,sBAAU,OAAOJ,CAAjB,KAAqBA,CAAC,GAAC,CAACA,CAAD,CAAvB;;AAA4B,eAAI,MAAMgC,CAAV,IAAehC,CAAf,EAAiBvK,CAAC,CAAC0oP,gBAAF,CAAmB5jP,GAAnB,CAAuByH,CAAvB,EAA0B,CAACvM,CAAD,EAAGuK,CAAH,KAAO;AAAC,iBAAKI,CAAL,KAAUJ,CAAC,EAAX;AAAc,WAAhD;AAAmD;AAAA,aAAK9oB,EAAL,CAAQ,cAAR,EAAwB,MAAI,KAAKmnQ,UAAL,EAA5B,EAA+C;AAACjjK,UAAAA,QAAQ,EAAC;AAAV,SAA/C,GAAiE,KAAKlkG,EAAL,CAAQ,eAAR,EAAyB,MAAI,KAAKqlQ,SAAL,EAA7B,EAA+C;AAACnhK,UAAAA,QAAQ,EAAC;AAAV,SAA/C,CAAjE;AAAkI;;AAAS,UAALm3J,KAAK,GAAE;AAAC,eAAO,KAAK2L,UAAL,CAAgBluQ,IAAhB,CAAqBsuQ,EAArB,KAA0B,IAAjC;AAAsC;;AAAQ,UAAJrnE,IAAI,GAAE;AAAC,eAAO,KAAKinE,UAAL,CAAgB9+Q,MAAhB,CAAuBk/Q,EAAvB,EAA2BnwK,KAA3B,CAAiC,CAAC,CAAlC,EAAqC,CAArC,KAAyC,IAAhD;AAAqD;;AAAQ,UAAJ9tG,IAAI,GAAE;AAAC,eAAO,KAAKk+Q,iBAAL,CAAuB,CAAvB,CAAP;AAAiC;;AAAY,UAAR1xK,QAAQ,GAAE;AAAC,eAAO,KAAK0xK,iBAAL,CAAuB,CAAC,CAAxB,CAAP;AAAkC;;AAAW,UAAPzxK,OAAO,GAAE;AAAC,YAAIr3E,CAAC,GAAC,IAAN;AAAW,eAAO,SAAO,KAAK8lP,YAAL,CAAkBnI,cAAzB,GAAwC,IAAxC,IAA8C,KAAK8K,UAAL,CAAgBluQ,IAAhB,CAAsB,CAACowB,CAAD,EAAGJ,CAAH,KAAO;AAAC,gBAAMgC,CAAC,GAAC5B,CAAC,CAAC3hB,OAAF,KAAY,KAAK88P,YAAL,CAAkBnI,cAAtC;AAAqD,iBAAOpxO,CAAC,KAAGvM,CAAC,GAACuK,CAAL,CAAD,EAASgC,CAAhB;AAAkB,SAArG,GAAwGvM,CAAtJ,CAAP;AAAgK;;AAAA4oP,MAAAA,UAAU,GAAE;AAAC,aAAKnL,MAAL,CAAY,KAAKX,KAAjB,EAAuB,CAAvB;AAA0B;;AAAAgK,MAAAA,SAAS,GAAE;AAAC,aAAKrJ,MAAL,CAAY,KAAKj8D,IAAjB,EAAsB,CAAC,CAAvB;AAA0B;;AAAAunE,MAAAA,SAAS,GAAE;AAAC,cAAM/oP,CAAC,GAAC,KAAKp1B,IAAb;AAAkBo1B,QAAAA,CAAC,IAAE,KAAKyoP,UAAL,CAAgBzL,QAAhB,CAAyBh9O,CAAzB,MAA8B,KAAKq3E,OAAtC,KAAgDr3E,CAAC,KAAG,KAAK88O,KAAT,GAAe,KAAKp3J,IAAL,CAAU,cAAV,CAAf,GAAyC,KAAK+3J,MAAL,CAAYz9O,CAAZ,EAAc,CAAd,CAAzF;AAA2G;;AAAAgpP,MAAAA,aAAa,GAAE;AAAC,cAAMhpP,CAAC,GAAC,KAAKo3E,QAAb;AAAsBp3E,QAAAA,CAAC,IAAE,KAAKyoP,UAAL,CAAgBzL,QAAhB,CAAyBh9O,CAAzB,MAA8B,KAAKq3E,OAAtC,KAAgDr3E,CAAC,KAAG,KAAKwhL,IAAT,GAAc,KAAK97F,IAAL,CAAU,eAAV,CAAd,GAAyC,KAAK+3J,MAAL,CAAYz9O,CAAZ,EAAc,CAAC,CAAf,CAAzF;AAA4G;;AAAAy9O,MAAAA,MAAM,CAACz9O,CAAD,EAAG2K,CAAH,EAAK;AAAC3K,QAAAA,CAAC,IAAEA,CAAC,CAACgzC,KAAF,CAAQroC,CAAR,CAAH;AAAc;;AAAAm+O,MAAAA,iBAAiB,CAAC9oP,CAAD,EAAG;AAAC,cAAM2K,CAAC,GAAC,KAAK0sE,OAAb;AAAA,cAAqB9sE,CAAC,GAAC,KAAKk+O,UAAL,CAAgB97Q,MAAvC;AAA8C,YAAG,CAAC49B,CAAJ,EAAM,OAAO,IAAP;AAAY,YAAG,SAAOI,CAAV,EAAY,OAAO,KAAK,MAAI3K,CAAJ,GAAM,OAAN,GAAc,MAAnB,CAAP;AAAkC,YAAIuM,CAAC,GAAC,CAAC5B,CAAC,GAACJ,CAAF,GAAIvK,CAAL,IAAQuK,CAAd;;AAAgB,WAAE;AAAC,gBAAMI,CAAC,GAAC,KAAK89O,UAAL,CAAgBhoR,GAAhB,CAAoB8rC,CAApB,CAAR;AAA+B,cAAGs8O,EAAE,CAACl+O,CAAD,CAAL,EAAS,OAAOA,CAAP;AAAS4B,UAAAA,CAAC,GAAC,CAACA,CAAC,GAAChC,CAAF,GAAIvK,CAAL,IAAQuK,CAAV;AAAY,SAAhE,QAAsEgC,CAAC,KAAG5B,CAA1E;;AAA6E,eAAO,IAAP;AAAY;;AAA57C;;AAA67C,aAASk+O,EAAT,CAAY7oP,CAAZ,EAAc;AAAC,aAAM,EAAE,EAAE,WAAUA,CAAZ,KAAgB,CAACg4O,EAAE,CAACh4O,CAAC,CAAChX,OAAH,CAArB,CAAN;AAAwC;;AAAA,UAAMigQ,EAAN,SAAiB9J,EAAjB,CAAmB;AAAC1/Q,MAAAA,WAAW,CAACugC,CAAD,EAAG;AAAC,cAAMA,CAAN,GAAS,KAAK4/O,WAAL,CAAiB;AAACsB,UAAAA,GAAG,EAAC,MAAL;AAAYj9J,UAAAA,UAAU,EAAC;AAACm/J,YAAAA,KAAK,EAAC,CAAC,IAAD,EAAM,uBAAN;AAAP;AAAvB,SAAjB,CAAT;AAA0F;;AAA1G;;AAA2G,UAAM8F,EAAN,SAAiB/J,EAAjB,CAAmB;AAAC1/Q,MAAAA,WAAW,CAACugC,CAAD,EAAG;AAAC,cAAMA,CAAN,GAAS,KAAK4/O,WAAL,CAAiB;AAACsB,UAAAA,GAAG,EAAC,MAAL;AAAYj9J,UAAAA,UAAU,EAAC;AAACm/J,YAAAA,KAAK,EAAC,CAAC,IAAD,EAAM,wBAAN;AAAP;AAAvB,SAAjB,CAAT;AAA2F;;AAA3G;;AAA4G,aAAS+F,EAAT,CAAYnpP,CAAZ,EAAc;AAAC,UAAGmF,KAAK,CAACi8E,OAAN,CAAcphF,CAAd,CAAH,EAAoB,OAAM;AAAC1lB,QAAAA,KAAK,EAAC0lB,CAAP;AAASopP,QAAAA,WAAW,EAAC;AAArB,OAAN;AAA+B,YAAMz+O,CAAC,GAAC;AAACrwB,QAAAA,KAAK,EAAC,EAAP;AAAU8uQ,QAAAA,WAAW,EAAC;AAAtB,OAAR;AAAkC,aAAOppP,CAAC,GAAC,EAAC,GAAG2K,CAAJ;AAAM,WAAG3K;AAAT,OAAD,GAAa2K,CAArB;AAAuB;;AAAA,UAAM0+O,EAAN,SAAiBhnM,CAAC,EAAlB,CAAqB;AAAC5iF,MAAAA,WAAW,CAACugC,CAAD,EAAG;AAAC,iBAAQ,KAAKspP,aAAL,GAAmB,IAAIz3K,GAAJ,EAA3B,EAAmC,KAAKmQ,MAAL,GAAYhiF,CAA/C,EAAiD,KAAK8E,GAAL,CAAS,WAAT,EAAqB,CAAC,CAAtB,CAAjD;AAA0E;;AAAAykP,MAAAA,aAAa,CAACvpP,CAAD,EAAG;AAAC,aAAKspP,aAAL,CAAmB10P,GAAnB,CAAuBoL,CAAvB,GAA0B,KAAG,KAAKspP,aAAL,CAAmBn3K,IAAtB,KAA6B,KAAK1wF,EAAL,CAAQ,eAAR,EAAwB+nQ,EAAxB,EAA2B;AAAC7jK,UAAAA,QAAQ,EAAC;AAAV,SAA3B,GAAiD,KAAK00C,SAAL,GAAe,CAAC,CAA9F,CAA1B;AAA2H;;AAAAovH,MAAAA,kBAAkB,CAACzpP,CAAD,EAAG;AAAC,aAAKspP,aAAL,CAAmB10O,MAAnB,CAA0B5U,CAA1B,GAA6B,KAAG,KAAKspP,aAAL,CAAmBn3K,IAAtB,KAA6B,KAAKvsF,GAAL,CAAS,eAAT,EAAyB4jQ,EAAzB,GAA6B,KAAKnvH,SAAL,GAAe,CAAC,CAA1E,CAA7B;AAA0G;;AAAA17C,MAAAA,OAAO,GAAE;AAAC,aAAK+mJ,aAAL;AAAqB;;AAA0B,iBAAfgkB,eAAe,GAAE;AAAC,eAAM,CAAC,CAAP;AAAS;;AAA3a;;AAA4a,aAASF,EAAT,CAAYxpP,CAAZ,EAAc;AAACA,MAAAA,CAAC,CAAC2iO,MAAF,GAAS,CAAC,CAAV,EAAY3iO,CAAC,CAAColF,IAAF,EAAZ;AAAqB;;AAAA,UAAMukK,EAAN,SAAiBtnM,CAAC,EAAlB,CAAqB;AAAC5iF,MAAAA,WAAW,CAACugC,CAAD,EAAG;AAAC,iBAAQ,KAAKgiF,MAAL,GAAYhiF,CAApB,EAAsB,KAAK8E,GAAL,CAAS,OAAT,EAAiB,KAAK,CAAtB,CAAtB,EAA+C,KAAKA,GAAL,CAAS,WAAT,EAAqB,CAAC,CAAtB,CAA/C,EAAwE,KAAKu/E,YAAL,GAAkB,CAAC,CAA3F,EAA6F,KAAKulK,0BAAL,GAAgC,CAAC,CAA9H,EAAgI,KAAKN,aAAL,GAAmB,IAAIz3K,GAAJ,EAAnJ,EAA2J,KAAK+9I,QAAL,CAAc,SAAd,CAA3J,EAAoL,KAAK4V,QAAL,CAAc,KAAKxjJ,MAAL,CAAYzlG,KAAZ,CAAkBmlB,QAAhC,EAAyC,QAAzC,EAAmD,MAAI;AAAC,eAAKmoP,OAAL;AAAe,SAAvE,CAApL,EAA8P,KAAKrkB,QAAL,CAAcxlO,CAAd,EAAgB,mBAAhB,EAAqC,MAAI;AAAC,eAAK6pP,OAAL;AAAe,SAAzD,CAA9P,EAA0T,KAAKpoQ,EAAL,CAAQ,eAAR,EAAyBkpB,CAAC,IAAE;AAAC,cAAG,CAAC,KAAKg6E,WAAT,EAAqB;AAAO,gBAAMp6E,CAAC,GAACvK,CAAC,CAACzjB,KAAF,CAAQmlB,QAAR,CAAiBooP,SAAzB;AAAA,gBAAmCv9O,CAAC,GAAC,EAAE,gBAAchC,CAAC,CAACw/O,gBAAF,GAAqBvmP,IAArB,CAA0B8+E,QAA1C,KAAqDtiF,CAAC,CAACzjB,KAAF,CAAQytQ,SAAR,CAAkBz/O,CAAlB,CAA1F;AAA+G,WAACvK,CAAC,CAACiqP,UAAF,IAAc,KAAKL,0BAAL,IAAiC,CAACr9O,CAAjD,MAAsD5B,CAAC,CAACg4N,MAAF,GAAS,CAAC,CAAV,EAAYh4N,CAAC,CAACy6E,IAAF,EAAlE;AAA4E,SAApP,EAAsP;AAACO,UAAAA,QAAQ,EAAC;AAAV,SAAtP,CAA1T,EAAskB,KAAKlkG,EAAL,CAAQ,SAAR,EAAmBue,CAAC,IAAE;AAAC,eAAKq6H,SAAL,IAAgBr6H,CAAC,CAAColF,IAAF,EAAhB;AAAyB,SAAhD,EAAkD;AAACO,UAAAA,QAAQ,EAAC;AAAV,SAAlD,CAAtkB;AAA2oB;;AAAe,UAAXhB,WAAW,GAAE;AAAC,eAAO,KAAKN,YAAZ;AAAyB;;AAAe,UAAXM,WAAW,CAAC3kF,CAAD,EAAG;AAAC,aAAKqkF,YAAL,GAAkBrkF,CAAlB;AAAoB;;AAAA6pP,MAAAA,OAAO,GAAE;AAAC,aAAKxvH,SAAL,GAAe,CAAC,CAAhB;AAAkB;;AAAAkvH,MAAAA,aAAa,CAACvpP,CAAD,EAAG;AAAC,aAAKspP,aAAL,CAAmB10P,GAAnB,CAAuBoL,CAAvB,GAA0B,KAAG,KAAKspP,aAAL,CAAmBn3K,IAAtB,KAA6B,KAAK1wF,EAAL,CAAQ,eAAR,EAAwByoQ,EAAxB,EAA2B;AAACvkK,UAAAA,QAAQ,EAAC;AAAV,SAA3B,GAAiD,KAAK00C,SAAL,GAAe,CAAC,CAA9F,CAA1B;AAA2H;;AAAAovH,MAAAA,kBAAkB,CAACzpP,CAAD,EAAG;AAAC,aAAKspP,aAAL,CAAmB10O,MAAnB,CAA0B5U,CAA1B,GAA6B,KAAG,KAAKspP,aAAL,CAAmBn3K,IAAtB,KAA6B,KAAKvsF,GAAL,CAAS,eAAT,EAAyBskQ,EAAzB,GAA6B,KAAKL,OAAL,EAA1D,CAA7B;AAAuG;;AAAAM,MAAAA,OAAO,CAAC,GAAGnqP,CAAJ,EAAM,CAAE;;AAAA2+E,MAAAA,OAAO,GAAE;AAAC,aAAK+mJ,aAAL;AAAqB;;AAAhkC;;AAAikC,aAASwkB,EAAT,CAAYlqP,CAAZ,EAAc;AAACA,MAAAA,CAAC,CAAC2iO,MAAF,GAAS,CAAC,CAAV,EAAY3iO,CAAC,CAAColF,IAAF,EAAZ;AAAqB;;AAAA,UAAMglK,EAAN,SAAiBT,EAAjB,CAAmB;AAAClqR,MAAAA,WAAW,GAAE;AAAC,cAAM,GAAG+qC,SAAT,GAAoB,KAAK6/O,yBAAL,GAA+B,EAAnD;AAAsD;;AAAAR,MAAAA,OAAO,GAAE,CAAE;;AAAAM,MAAAA,OAAO,CAAC,GAAGnqP,CAAJ,EAAM;AAAC,cAAM2K,CAAC,GAAC,KAAK2/O,uBAAL,EAAR;;AAAuC,eAAM,CAAC,CAAC3/O,CAAF,IAAKA,CAAC,CAACw/O,OAAF,CAAUnqP,CAAV,CAAX;AAAwB;;AAAAuqP,MAAAA,oBAAoB,CAACvqP,CAAD,EAAG2K,CAAC,GAAC,EAAL,EAAQ;AAAC6B,QAAAA,CAAC,CAAC,KAAK69O,yBAAN,EAAgC;AAACG,UAAAA,OAAO,EAACxqP,CAAT;AAAW2lF,UAAAA,QAAQ,EAACh7E,CAAC,CAACg7E,QAAF,IAAY;AAAhC,SAAhC,CAAD,EAA4E3lF,CAAC,CAACve,EAAF,CAAK,kBAAL,EAAyB,MAAI,KAAKgpQ,aAAL,EAA7B,CAA5E,EAAgI,KAAKA,aAAL,EAAhI;AAAqJ;;AAAAA,MAAAA,aAAa,GAAE;AAAC,aAAKpwH,SAAL,GAAe,CAAC,CAAC,KAAKiwH,uBAAL,EAAjB;AAAgD;;AAAAA,MAAAA,uBAAuB,GAAE;AAAC,cAAMtqP,CAAC,GAAC,KAAKqqP,yBAAL,CAA+B9vQ,IAA/B,CAAqC,CAAC;AAACiwQ,UAAAA,OAAO,EAACxqP;AAAT,SAAD,KAAeA,CAAC,CAACq6H,SAAtD,CAAR;;AAA0E,eAAOr6H,CAAC,IAAEA,CAAC,CAACwqP,OAAZ;AAAoB;;AAAvgB;;AAAwgB,UAAME,EAAN,SAAiBnlB,CAAC,EAAlB,CAAqB;AAAC9lQ,MAAAA,WAAW,CAACugC,CAAD,EAAG2K,CAAC,GAAC,EAAL,EAAQJ,CAAC,GAAC,EAAV,EAAa;AAAC,iBAAQ,KAAKogP,QAAL,GAAc,IAAI17O,GAAJ,EAAtB,EAA8B,KAAKkvE,QAAL,GAAcn+E,CAA5C,EAA8C,KAAK4qP,iBAAL,GAAuB,IAAI37O,GAAJ,EAArE;;AAA6E,aAAI,MAAMjP,CAAV,IAAe2K,CAAf,EAAiB3K,CAAC,CAAC6qP,UAAF,IAAc,KAAKD,iBAAL,CAAuB9lP,GAAvB,CAA2B9E,CAAC,CAAC6qP,UAA7B,EAAwC7qP,CAAxC,CAAd;;AAAyD,aAAK8qP,eAAL,GAAqB,IAAI77O,GAAJ,EAArB;;AAA6B,aAAI,MAAK,CAACjP,CAAD,EAAG2K,CAAH,CAAT,IAAiBJ,CAAjB,EAAmB,KAAKugP,eAAL,CAAqBhmP,GAArB,CAAyB9E,CAAzB,EAA2B2K,CAA3B,GAA8B,KAAKmgP,eAAL,CAAqBhmP,GAArB,CAAyB6F,CAAzB,EAA2B3K,CAA3B,CAA9B,EAA4DA,CAAC,CAAC6qP,UAAF,IAAc,KAAKD,iBAAL,CAAuB9lP,GAAvB,CAA2B9E,CAAC,CAAC6qP,UAA7B,EAAwC7qP,CAAxC,CAA1E;AAAqH;;AAAiB,QAAfkM,MAAM,CAACC,QAAQ,IAAG;AAAC,aAAI,MAAMnM,CAAV,IAAe,KAAK2qP,QAApB,EAA6B,cAAY,OAAO3qP,CAAC,CAAC,CAAD,CAApB,KAA0B,MAAMA,CAAhC;AAAmC;;AAAAv/B,MAAAA,GAAG,CAACu/B,CAAD,EAAG;AAAC,cAAM2K,CAAC,GAAC,KAAKggP,QAAL,CAAclqR,GAAd,CAAkBu/B,CAAlB,CAAR;;AAA6B,YAAG,CAAC2K,CAAJ,EAAM;AAAC,cAAIA,CAAC,GAAC3K,CAAN;AAAQ,gBAAK,cAAY,OAAOA,CAAnB,KAAuB2K,CAAC,GAAC3K,CAAC,CAAC6qP,UAAF,IAAc7qP,CAAC,CAACxvB,IAAzC,GAA+C,IAAI2xE,CAAJ,CAAM,oCAAN,EAA2C,KAAKg8B,QAAhD,EAAyD;AAACqa,YAAAA,MAAM,EAAC7tF;AAAR,WAAzD,CAApD;AAAyH;;AAAA,eAAOA,CAAP;AAAS;;AAAAmkB,MAAAA,GAAG,CAAC9uB,CAAD,EAAG;AAAC,eAAO,KAAK2qP,QAAL,CAAc77N,GAAd,CAAkB9uB,CAAlB,CAAP;AAA4B;;AAAAz+B,MAAAA,IAAI,CAACy+B,CAAD,EAAG2K,CAAC,GAAC,EAAL,EAAQJ,CAAC,GAAC,EAAV,EAAa;AAAC,cAAMgC,CAAC,GAAC,IAAR;AAAA,cAAa51B,CAAC,GAAC,KAAKwnG,QAApB;AAA6B,SAAC,SAASn+E,CAAT,CAAW2K,CAAX,EAAaJ,CAAC,GAAC,IAAIsnE,GAAJ,EAAf,EAAuB;AAAClnE,UAAAA,CAAC,CAAC9E,OAAF,CAAW8E,CAAC,IAAE;AAACy3C,YAAAA,CAAC,CAACz3C,CAAD,CAAD,KAAOJ,CAAC,CAACukB,GAAF,CAAMnkB,CAAN,MAAWJ,CAAC,CAAC3V,GAAF,CAAM+V,CAAN,GAASA,CAAC,CAACkgP,UAAF,IAAc,CAACt+O,CAAC,CAACq+O,iBAAF,CAAoB97N,GAApB,CAAwBnkB,CAAC,CAACkgP,UAA1B,CAAf,IAAsDt+O,CAAC,CAACq+O,iBAAF,CAAoB9lP,GAApB,CAAwB6F,CAAC,CAACkgP,UAA1B,EAAqClgP,CAArC,CAA/D,EAAuGA,CAAC,CAACogP,QAAF,IAAY/qP,CAAC,CAAC2K,CAAC,CAACogP,QAAH,EAAYxgP,CAAZ,CAA/H,CAAP;AAAuJ,WAAtK;AAAyK,SAAjM,CAAkMvK,CAAlM,CAAD,EAAsM42I,CAAC,CAAC52I,CAAD,CAAvM;AAA2M,cAAMyM,CAAC,GAAC,CAAC,GAAG,SAASzM,CAAT,CAAW2K,CAAX,EAAaJ,CAAC,GAAC,IAAIsnE,GAAJ,EAAf,EAAuB;AAAC,iBAAOlnE,CAAC,CAACnhC,GAAF,CAAOw2B,CAAC,IAAEoiD,CAAC,CAACpiD,CAAD,CAAD,GAAKA,CAAL,GAAOuM,CAAC,CAACq+O,iBAAF,CAAoBnqR,GAApB,CAAwBu/B,CAAxB,CAAjB,EAA8Cm3E,MAA9C,CAAsD,CAACxsE,CAAD,EAAG4B,CAAH,KAAOhC,CAAC,CAACukB,GAAF,CAAMviB,CAAN,IAAS5B,CAAT,IAAYJ,CAAC,CAAC3V,GAAF,CAAM2X,CAAN,GAASA,CAAC,CAACw+O,QAAF,KAAan0G,CAAC,CAACrqI,CAAC,CAACw+O,QAAH,EAAYx+O,CAAZ,CAAD,EAAgBvM,CAAC,CAACuM,CAAC,CAACw+O,QAAH,EAAYxgP,CAAZ,CAAD,CAAgB1E,OAAhB,CAAyB7F,CAAC,IAAE2K,CAAC,CAAC/V,GAAF,CAAMoL,CAAN,CAA5B,CAA7B,CAAT,EAA8E2K,CAAC,CAAC/V,GAAF,CAAM2X,CAAN,CAA1F,CAA7D,EAAkK,IAAIslE,GAAJ,EAAlK,CAAP;AAAkL,SAA1M,CAA2M7xE,CAAC,CAACr2B,MAAF,CAAUq2B,CAAC,IAAE,CAACksL,CAAC,CAAClsL,CAAD,EAAG2K,CAAH,CAAf,CAA3M,CAAJ,CAAR;AAAgP,SAAC,UAAS3K,CAAT,EAAW2K,CAAX,EAAa;AAAC,eAAI,MAAMJ,CAAV,IAAeI,CAAf,EAAiB;AAAC,gBAAG,cAAY,OAAOJ,CAAtB,EAAwB,MAAM,IAAI43C,CAAJ,CAAM,8CAAN,EAAqD,IAArD,EAA0D;AAAC6oM,cAAAA,UAAU,EAACzgP;AAAZ,aAA1D,CAAN;AAAgF,kBAAMI,CAAC,GAACJ,CAAC,CAACsgP,UAAV;AAAqB,gBAAG,CAAClgP,CAAJ,EAAM,MAAM,IAAIw3C,CAAJ,CAAM,8CAAN,EAAqD,IAArD,EAA0D;AAAC6oM,cAAAA,UAAU,EAACzgP;AAAZ,aAA1D,CAAN;AAAgF,gBAAGA,CAAC,CAACwgP,QAAF,IAAYxgP,CAAC,CAACwgP,QAAF,CAAWp+Q,MAA1B,EAAiC,MAAM,IAAIw1E,CAAJ,CAAM,gEAAN,EAAuE,IAAvE,EAA4E;AAAC0oM,cAAAA,UAAU,EAAClgP;AAAZ,aAA5E,CAAN;;AAAkG,kBAAMh0B,CAAC,GAAC41B,CAAC,CAACq+O,iBAAF,CAAoBnqR,GAApB,CAAwBkqC,CAAxB,CAAR;;AAAmC,gBAAG,CAACh0B,CAAJ,EAAM,MAAM,IAAIwrE,CAAJ,CAAM,iDAAN,EAAwD,IAAxD,EAA6D;AAAC0oM,cAAAA,UAAU,EAAClgP;AAAZ,aAA7D,CAAN;AAAmF,kBAAM8B,CAAC,GAACzM,CAAC,CAAC5nB,OAAF,CAAUzB,CAAV,CAAR;;AAAqB,gBAAG,CAAC,CAAD,KAAK81B,CAAR,EAAU;AAAC,kBAAGF,CAAC,CAACu+O,eAAF,CAAkBh8N,GAAlB,CAAsBn4C,CAAtB,CAAH,EAA4B;AAAO,oBAAM,IAAIwrE,CAAJ,CAAM,kDAAN,EAAyD,IAAzD,EAA8D;AAAC0oM,gBAAAA,UAAU,EAAClgP;AAAZ,eAA9D,CAAN;AAAoF;;AAAA,gBAAGh0B,CAAC,CAACo0Q,QAAF,IAAYp0Q,CAAC,CAACo0Q,QAAF,CAAWp+Q,MAA1B,EAAiC,MAAM,IAAIw1E,CAAJ,CAAM,2DAAN,EAAkE,IAAlE,EAAuE;AAAC0oM,cAAAA,UAAU,EAAClgP;AAAZ,aAAvE,CAAN;AAA6F3K,YAAAA,CAAC,CAACmjG,MAAF,CAAS12F,CAAT,EAAW,CAAX,EAAalC,CAAb,GAAgBgC,CAAC,CAACq+O,iBAAF,CAAoB9lP,GAApB,CAAwB6F,CAAxB,EAA0BJ,CAA1B,CAAhB;AAA6C;AAAC,SAArzB,CAAszBkC,CAAtzB,EAAwzBlC,CAAxzB,CAAD;;AAA4zB,cAAMD,CAAC,GAAC,UAAStK,CAAT,EAAW;AAAC,iBAAOA,CAAC,CAACx2B,GAAF,CAAOw2B,CAAC,IAAE;AAAC,gBAAI2K,CAAC,GAAC4B,CAAC,CAACu+O,eAAF,CAAkBrqR,GAAlB,CAAsBu/B,CAAtB,CAAN;;AAA+B,mBAAO2K,CAAC,GAACA,CAAC,IAAE,IAAI3K,CAAJ,CAAMrpB,CAAN,CAAL,EAAc41B,CAAC,CAAC0+O,IAAF,CAAOjrP,CAAP,EAAS2K,CAAT,CAAd,EAA0BA,CAAjC;AAAmC,WAA7E,CAAP;AAAuF,SAAnG,CAAoG8B,CAApG,CAAR;;AAA+G,eAAO3nB,CAAC,CAACwlB,CAAD,EAAG,MAAH,CAAD,CAAY9iC,IAAZ,CAAkB,MAAIsd,CAAC,CAACwlB,CAAD,EAAG,WAAH,CAAvB,EAAyC9iC,IAAzC,CAA+C,MAAI8iC,CAAnD,CAAP;;AAA8D,iBAAS83C,CAAT,CAAWpiD,CAAX,EAAa;AAAC,iBAAM,cAAY,OAAOA,CAAzB;AAA2B;;AAAA,iBAAS29I,CAAT,CAAW39I,CAAX,EAAa;AAAC,iBAAOoiD,CAAC,CAACpiD,CAAD,CAAD,IAAM,CAAC,CAACA,CAAC,CAAC0pP,eAAjB;AAAiC;;AAAA,iBAASx9D,CAAT,CAAWlsL,CAAX,EAAa2K,CAAb,EAAe;AAAC,iBAAOA,CAAC,CAAC9uB,IAAF,CAAQ8uB,CAAC,IAAEA,CAAC,KAAG3K,CAAJ,IAAQ4J,CAAC,CAAC5J,CAAD,CAAD,KAAO2K,CAAP,IAAUf,CAAC,CAACe,CAAD,CAAD,KAAO3K,CAApC,CAAP;AAAgD;;AAAA,iBAAS4J,CAAT,CAAW5J,CAAX,EAAa;AAAC,iBAAOoiD,CAAC,CAACpiD,CAAD,CAAD,GAAKA,CAAC,CAAC6qP,UAAF,IAAc7qP,CAAC,CAACxvB,IAArB,GAA0BwvB,CAAjC;AAAmC;;AAAA,iBAAS42I,CAAT,CAAW52I,CAAX,EAAauK,CAAC,GAAC,IAAf,EAAoB;AAACvK,UAAAA,CAAC,CAACx2B,GAAF,CAAOw2B,CAAC,IAAEoiD,CAAC,CAACpiD,CAAD,CAAD,GAAKA,CAAL,GAAOuM,CAAC,CAACq+O,iBAAF,CAAoBnqR,GAApB,CAAwBu/B,CAAxB,KAA4BA,CAA7C,EAAiD6F,OAAjD,CAA0D7F,CAAC,IAAE;AAAC,aAAC,UAASA,CAAT,EAAW2K,CAAX,EAAa;AAAC,kBAAGy3C,CAAC,CAACpiD,CAAD,CAAJ,EAAQ;AAAO,kBAAG2K,CAAH,EAAK,MAAM,IAAIw3C,CAAJ,CAAM,gCAAN,EAAuCxrE,CAAvC,EAAyC;AAACu0Q,gBAAAA,aAAa,EAAClrP,CAAf;AAAiBmrP,gBAAAA,UAAU,EAACvhP,CAAC,CAACe,CAAD;AAA7B,eAAzC,CAAN;AAAkF,oBAAM,IAAIw3C,CAAJ,CAAM,mCAAN,EAA0CxrE,CAA1C,EAA4C;AAAC6hH,gBAAAA,MAAM,EAACx4F;AAAR,eAA5C,CAAN;AAA8D,aAAlL,CAAmLA,CAAnL,EAAqLuK,CAArL,CAAD,EAAyL,UAASvK,CAAT,EAAW2K,CAAX,EAAa;AAAC,kBAAG,CAACgzI,CAAC,CAAChzI,CAAD,CAAL,EAAS;AAAO,kBAAGgzI,CAAC,CAAC39I,CAAD,CAAJ,EAAQ;AAAO,oBAAM,IAAImiD,CAAJ,CAAM,mCAAN,EAA0CxrE,CAA1C,EAA4C;AAAC6hH,gBAAAA,MAAM,EAAC5uF,CAAC,CAAC5J,CAAD,CAAT;AAAamrP,gBAAAA,UAAU,EAACvhP,CAAC,CAACe,CAAD;AAAzB,eAA5C,CAAN;AAAiF,aAA9H,CAA+H3K,CAA/H,EAAiIuK,CAAjI,CAAzL,EAA6T,UAASvK,CAAT,EAAWuK,CAAX,EAAa;AAAC,kBAAG,CAACA,CAAJ,EAAM;AAAO,kBAAG,CAAC2hL,CAAC,CAAClsL,CAAD,EAAG2K,CAAH,CAAL,EAAW;AAAO,oBAAM,IAAIw3C,CAAJ,CAAM,2BAAN,EAAkCxrE,CAAlC,EAAoC;AAAC6hH,gBAAAA,MAAM,EAAC5uF,CAAC,CAAC5J,CAAD,CAAT;AAAamrP,gBAAAA,UAAU,EAACvhP,CAAC,CAACW,CAAD;AAAzB,eAApC,CAAN;AAAyE,aAAtH,CAAuHvK,CAAvH,EAAyHuK,CAAzH,CAA7T;AAAyb,WAAvf;AAA0f;;AAAA,iBAASzlB,CAAT,CAAWkb,CAAX,EAAa2K,CAAb,EAAe;AAAC,iBAAO3K,CAAC,CAACm3E,MAAF,CAAU,CAACn3E,CAAD,EAAGuK,CAAH,KAAOA,CAAC,CAACI,CAAD,CAAD,GAAK4B,CAAC,CAACu+O,eAAF,CAAkBh8N,GAAlB,CAAsBvkB,CAAtB,IAAyBvK,CAAzB,GAA2BA,CAAC,CAACx4B,IAAF,CAAO+iC,CAAC,CAACI,CAAD,CAAD,CAAK5V,IAAL,CAAUwV,CAAV,CAAP,CAAhC,GAAqDvK,CAAtE,EAAyEwJ,OAAO,CAACC,OAAR,EAAzE,CAAP;AAAmG;AAAC;;AAAAk1E,MAAAA,OAAO,GAAE;AAAC,cAAM3+E,CAAC,GAAC,EAAR;;AAAW,aAAI,MAAK,GAAE2K,CAAF,CAAT,IAAgB,IAAhB,EAAqB,cAAY,OAAOA,CAAC,CAACg0E,OAArB,IAA8B,KAAKmsK,eAAL,CAAqBh8N,GAArB,CAAyBnkB,CAAzB,CAA9B,IAA2D3K,CAAC,CAACiG,IAAF,CAAO0E,CAAC,CAACg0E,OAAF,EAAP,CAA3D;;AAA+E,eAAOn1E,OAAO,CAACqlD,GAAR,CAAY7uD,CAAZ,CAAP;AAAsB;;AAAAirP,MAAAA,IAAI,CAACjrP,CAAD,EAAG2K,CAAH,EAAK;AAAC,aAAKggP,QAAL,CAAc7lP,GAAd,CAAkB9E,CAAlB,EAAoB2K,CAApB;;AAAuB,cAAMJ,CAAC,GAACvK,CAAC,CAAC6qP,UAAV;;AAAqB,YAAGtgP,CAAH,EAAK;AAAC,cAAG,KAAKogP,QAAL,CAAc77N,GAAd,CAAkBvkB,CAAlB,CAAH,EAAwB,MAAM,IAAI43C,CAAJ,CAAM,uCAAN,EAA8C,IAA9C,EAAmD;AAAC0oM,YAAAA,UAAU,EAACtgP,CAAZ;AAAc6gP,YAAAA,OAAO,EAAC,KAAKT,QAAL,CAAclqR,GAAd,CAAkB8pC,CAAlB,EAAqB9qC,WAA3C;AAAuD4rR,YAAAA,OAAO,EAACrrP;AAA/D,WAAnD,CAAN;;AAA4H,eAAK2qP,QAAL,CAAc7lP,GAAd,CAAkByF,CAAlB,EAAoBI,CAApB;AAAuB;AAAC;;AAAzxG;;AAA0xG,UAAM2gP,EAAN,CAAQ;AAAC7rR,MAAAA,WAAW,CAACugC,CAAD,EAAG;AAAC,aAAKurP,aAAL,GAAmB,IAAnB,EAAwB,KAAK7rR,MAAL,GAAY,IAAI8yQ,EAAJ,CAAOxyO,CAAP,EAAS,KAAKvgC,WAAL,CAAiB2tI,aAA1B,CAApC;AAA6E,cAAMziG,CAAC,GAAC,KAAKlrC,WAAL,CAAiB+rR,cAAzB;AAAwC,aAAK9rR,MAAL,CAAY69M,MAAZ,CAAmB,SAAnB,EAA6B5yK,CAA7B,GAAgC,KAAK84E,OAAL,GAAa,IAAIinK,EAAJ,CAAO,IAAP,EAAY//O,CAAZ,CAA7C;AAA4D,cAAMJ,CAAC,GAAC,KAAK7qC,MAAL,CAAYe,GAAZ,CAAgB,UAAhB,KAA6B,EAArC;AAAwC,aAAK02N,MAAL,GAAY,IAAIxgI,EAAJ,CAAO;AAACqlL,UAAAA,UAAU,EAAC,YAAU,OAAOzxO,CAAjB,GAAmBA,CAAnB,GAAqBA,CAAC,CAAC26E,EAAnC;AAAsC+2J,UAAAA,eAAe,EAAC,KAAKv8Q,MAAL,CAAYe,GAAZ,CAAgB,kBAAhB;AAAtD,SAAP,CAAZ,EAA+G,KAAKu/B,CAAL,GAAO,KAAKm3L,MAAL,CAAYn3L,CAAlI,EAAoI,KAAKyrP,OAAL,GAAa,IAAIrP,EAAJ,EAAjJ;AAAwJ;;AAAAj+F,MAAAA,WAAW,GAAE;AAAC,cAAMn+I,CAAC,GAAC,KAAKtgC,MAAL,CAAYe,GAAZ,CAAgB,SAAhB,KAA4B,EAApC;AAAA,cAAuCkqC,CAAC,GAAC,KAAKjrC,MAAL,CAAYe,GAAZ,CAAgB,mBAAhB,KAAsC,EAA/E;;AAAkF,aAAI,MAAM8pC,CAAV,IAAevK,CAAC,CAAC4M,MAAF,CAASjC,CAAT,CAAf,EAA2B;AAAC,cAAG,cAAY,OAAOJ,CAAtB,EAAwB,MAAM,IAAI43C,CAAJ,CAAM,sCAAN,EAA6C,IAA7C,EAAkD;AAACupM,YAAAA,MAAM,EAACnhP;AAAR,WAAlD,CAAN;AAAoE,cAAG,CAAC,CAAD,KAAKA,CAAC,CAACm/O,eAAV,EAA0B,MAAM,IAAIvnM,CAAJ,CAAM,oCAAN,EAA2C,IAA3C,EAAgD;AAACupM,YAAAA,MAAM,EAACnhP;AAAR,WAAhD,CAAN;AAAkE;;AAAA,eAAO,KAAKk5E,OAAL,CAAaliH,IAAb,CAAkBy+B,CAAlB,EAAoB,EAApB,EAAuB2K,CAAvB,CAAP;AAAiC;;AAAAg0E,MAAAA,OAAO,GAAE;AAAC,eAAOn1E,OAAO,CAACqlD,GAAR,CAAY1pD,KAAK,CAAC7H,IAAN,CAAW,KAAKmuP,OAAhB,EAAyBzrP,CAAC,IAAEA,CAAC,CAAC2+E,OAAF,EAA5B,CAAZ,EAAuDn3G,IAAvD,CAA6D,MAAI,KAAKi8G,OAAL,CAAa9E,OAAb,EAAjE,CAAP;AAAiG;;AAAAgtK,MAAAA,UAAU,CAAC3rP,CAAD,EAAG2K,CAAH,EAAK;AAAC,YAAG,KAAK4gP,aAAR,EAAsB,MAAM,IAAIppM,CAAJ,CAAM,mCAAN,CAAN;AAAiD,aAAKspM,OAAL,CAAa72P,GAAb,CAAiBoL,CAAjB,GAAoB2K,CAAC,KAAG,KAAK4gP,aAAL,GAAmBvrP,CAAtB,CAArB;AAA8C;;AAAA4rP,MAAAA,aAAa,CAAC5rP,CAAD,EAAG;AAAC,eAAO,KAAKyrP,OAAL,CAAa38N,GAAb,CAAiB9uB,CAAjB,KAAqB,KAAKyrP,OAAL,CAAaxrK,MAAb,CAAoBjgF,CAApB,CAArB,EAA4C,KAAKurP,aAAL,KAAqBvrP,CAArB,GAAuB,KAAK2+E,OAAL,EAAvB,GAAsCn1E,OAAO,CAACC,OAAR,EAAzF;AAA2G;;AAAAoiP,MAAAA,gBAAgB,GAAE;AAAC,cAAM7rP,CAAC,GAAC,EAAR;;AAAW,aAAI,MAAM2K,CAAV,IAAe,KAAKjrC,MAAL,CAAYk+M,KAAZ,EAAf,EAAmC,CAAC,SAAD,EAAW,eAAX,EAA2B,cAA3B,EAA2CzxM,QAA3C,CAAoDw+B,CAApD,MAAyD3K,CAAC,CAAC2K,CAAD,CAAD,GAAK,KAAKjrC,MAAL,CAAYe,GAAZ,CAAgBkqC,CAAhB,CAA9D;;AAAkF,eAAO3K,CAAP;AAAS;;AAAa,aAAN+I,MAAM,CAAC/I,CAAD,EAAG;AAAC,eAAO,IAAIwJ,OAAJ,CAAamB,CAAC,IAAE;AAAC,gBAAMJ,CAAC,GAAC,IAAI,IAAJ,CAASvK,CAAT,CAAR;AAAoB2K,UAAAA,CAAC,CAACJ,CAAC,CAAC4zI,WAAF,GAAgB32K,IAAhB,CAAsB,MAAI+iC,CAA1B,CAAD,CAAD;AAAiC,SAAtE,CAAP;AAAgF;;AAA/zC;;AAAg0C,UAAMuhP,EAAN,SAAiBzpM,CAAC,EAAlB,CAAqB;AAAC5iF,MAAAA,WAAW,CAACugC,CAAD,EAAG;AAAC,iBAAQ,KAAK1vB,OAAL,GAAa0vB,CAArB;AAAuB;;AAAA2+E,MAAAA,OAAO,GAAE;AAAC,aAAK+mJ,aAAL;AAAqB;;AAA0B,iBAAfgkB,eAAe,GAAE;AAAC,eAAM,CAAC,CAAP;AAAS;;AAA5G;;AAA6G,QAAIqC,EAAE,GAACxhP,CAAC,CAAC,IAAD,CAAR;AAAA,QAAeyhP,EAAE,GAAC;AAAC/M,MAAAA,UAAU,EAAC,mBAAZ;AAAgCh7J,MAAAA,UAAU,EAAC;AAAC,oBAAW,CAAC;AAAb,OAA3C;AAA2DqC,MAAAA,MAAM,EAAC,MAAlE;AAAyEy9I,MAAAA,SAAS,EAAC,CAAC;AAApF,KAAlB;AAAyG+a,IAAAA,EAAE,GAAGiN,EAAE,CAACxpB,CAAN,EAAQypB,EAAR,CAAF;AAAcD,IAAAA,EAAE,CAACxpB,CAAH,CAAK2c,MAAL;AAAY,UAAM+M,EAAE,GAAC,IAAIvP,OAAJ,EAAT;AAAqB,QAAIwP,EAAE,GAAC,CAAC,CAAR;;AAAU,aAASC,EAAT,CAAY;AAACr2E,MAAAA,IAAI,EAAC91K,CAAN;AAAQhX,MAAAA,OAAO,EAAC2hB,CAAhB;AAAkBonG,MAAAA,IAAI,EAACxnG,CAAvB;AAAyB6hP,MAAAA,YAAY,EAAC7/O,CAAC,GAAC,CAAC,CAAzC;AAA2C8/O,MAAAA,WAAW,EAAC11Q,CAAC,GAAC,CAAC;AAA1D,KAAZ,EAAyE;AAAC,YAAM81B,CAAC,GAACzM,CAAC,CAAC0B,QAAV;;AAAmB,eAAS4I,CAAT,CAAWC,CAAX,EAAa;AAAC0hP,QAAAA,EAAE,CAACxrR,GAAH,CAAOgsC,CAAP,EAAU3H,GAAV,CAAc6F,CAAd,EAAgB;AAAConG,UAAAA,IAAI,EAACxnG,CAAN;AAAQ6hP,UAAAA,YAAY,EAAC7/O,CAArB;AAAuB8/O,UAAAA,WAAW,EAAC11Q,CAAnC;AAAqC21Q,UAAAA,WAAW,EAAC//O,CAAC,GAAC5B,CAAD,GAAG;AAArD,SAAhB,GAA4E3K,CAAC,CAAC0hL,MAAF,CAAU1hL,CAAC,IAAEouL,EAAE,CAAC3hL,CAAD,EAAGzM,CAAH,CAAf,CAA5E;AAAmG;;AAAAisP,MAAAA,EAAE,CAACn9N,GAAH,CAAOriB,CAAP,MAAYw/O,EAAE,CAACnnP,GAAH,CAAO2H,CAAP,EAAS,IAAIwC,GAAJ,EAAT,GAAkBxC,CAAC,CAAC8/O,iBAAF,CAAqBvsP,CAAC,IAAEouL,EAAE,CAAC3hL,CAAD,EAAGzM,CAAH,CAA1B,CAAlB,EAAoDyM,CAAC,CAAChrB,EAAF,CAAK,oBAAL,EAA2B,MAAI;AAACue,QAAAA,CAAC,CAAC0hL,MAAF,CAAU1hL,CAAC,IAAEouL,EAAE,CAAC3hL,CAAD,EAAGzM,CAAH,CAAf;AAAuB,OAAvD,EAAyD;AAAC2lF,QAAAA,QAAQ,EAAC;AAAV,OAAzD,CAAhE,GAA6Ih7E,CAAC,CAACkgF,EAAF,CAAK,iBAAL,KAAyBlgF,CAAC,CAAClpB,EAAF,CAAK,oBAAL,EAA2B,CAACue,CAAD,EAAG2K,CAAH,EAAKJ,CAAL,KAAS;AAACD,QAAAA,CAAC,CAACC,CAAD,CAAD;AAAK,OAA1C,CAAtK,EAAmNI,CAAC,CAACo7O,WAAF,GAAcz7O,CAAC,CAACK,CAAC,CAACo7O,WAAH,CAAf,GAA+Bx7O,CAAC,IAAED,CAAC,CAACC,CAAD,CAAtP,EAA0PA,CAAC,IAAE,YAAU;AAAC2hP,QAAAA,EAAE,IAAEriP,CAAC,CAAC,0CAAD,CAAL;AAAkDqiP,QAAAA,EAAE,GAAC,CAAC,CAAJ;AAAM,OAAnE,EAA7P;AAAmU;;AAAA,aAAS9pL,EAAT,CAAYpiE,CAAZ,EAAc2K,CAAd,EAAgB;AAAC,aAAM,CAAC,CAACA,CAAC,CAAC6hP,QAAF,CAAW,gBAAX,CAAF,KAAiCxsP,CAAC,CAACysP,WAAF,CAAc,gBAAd,EAA+B9hP,CAA/B,GAAkC,CAAC,CAApE,CAAN;AAA6E;;AAAA,aAASyjL,EAAT,CAAYpuL,CAAZ,EAAc2K,CAAd,EAAgB;AAAC,YAAMJ,CAAC,GAAC0hP,EAAE,CAACxrR,GAAH,CAAOu/B,CAAP,CAAR;AAAA,YAAkBuM,CAAC,GAAC,EAApB;AAAuB,UAAI51B,CAAC,GAAC,CAAC,CAAP;;AAAS,WAAI,MAAK,CAACqpB,CAAD,EAAGyM,CAAH,CAAT,IAAiBlC,CAAjB,EAAmBkC,CAAC,CAAC2/O,YAAF,KAAiB7/O,CAAC,CAACtG,IAAF,CAAOjG,CAAP,GAAU23F,EAAE,CAAChtF,CAAD,EAAG3K,CAAH,EAAKyM,CAAL,CAAF,KAAY91B,CAAC,GAAC,CAAC,CAAf,CAA3B;;AAA8C,WAAI,MAAK,CAACqpB,CAAD,EAAGyM,CAAH,CAAT,IAAiBlC,CAAjB,EAAmB;AAAC,YAAGkC,CAAC,CAAC2/O,YAAL,EAAkB;AAAS,cAAM7hP,CAAC,GAACquC,EAAE,CAAC54C,CAAD,CAAV;AAAcuK,QAAAA,CAAC,KAAGgC,CAAC,CAACpgC,QAAF,CAAWo+B,CAAX,MAAgBkC,CAAC,CAAC6/O,WAAF,GAAc/hP,CAAd,EAAgBotF,EAAE,CAAChtF,CAAD,EAAG3K,CAAH,EAAKyM,CAAL,CAAF,KAAY91B,CAAC,GAAC,CAAC,CAAf,CAAhC,CAAH,CAAD;AAAwD;;AAAA,aAAOA,CAAP;AAAS;;AAAA,aAASghH,EAAT,CAAY33F,CAAZ,EAAc2K,CAAd,EAAgBJ,CAAhB,EAAkB;AAAC,YAAK;AAACwnG,QAAAA,IAAI,EAACxlG,CAAN;AAAQ6/O,QAAAA,YAAY,EAACz1Q,CAArB;AAAuB21Q,QAAAA,WAAW,EAAC7/O;AAAnC,UAAsClC,CAA3C;AAA6C,UAAID,CAAC,GAAC,CAAC,CAAP;AAASmC,MAAAA,CAAC,CAACo1O,YAAF,CAAe,kBAAf,MAAqCt1O,CAArC,KAAyCvM,CAAC,CAAC07C,YAAF,CAAe,kBAAf,EAAkCnvC,CAAlC,EAAoCE,CAApC,GAAuCnC,CAAC,GAAC,CAAC,CAAnF;AAAsF,aAAM,CAAC3zB,CAAC,IAAE,KAAGg0B,CAAC,CAAC+hP,UAAT,KAAsB,UAAS1sP,CAAT,EAAW2K,CAAX,EAAa;AAAC,YAAG,CAAC3K,CAAC,CAACwjF,UAAF,EAAJ,EAAmB,OAAM,CAAC,CAAP;AAAS,cAAMj5E,CAAC,GAACpF,KAAK,CAAC7H,IAAN,CAAW0C,CAAC,CAACgkF,WAAF,EAAX,EAA4BnoG,IAA5B,CAAkCmkB,CAAC,IAAE,CAACA,CAAC,CAAC6qF,EAAF,CAAK,WAAL,CAAtC,CAAR;AAAkE,YAAGtgF,CAAH,EAAK,OAAM,CAAC,CAAP;AAAS,cAAMgC,CAAC,GAACvM,CAAC,CAAC0B,QAAV;AAAA,cAAmB/qB,CAAC,GAAC41B,CAAC,CAACu9O,SAAF,CAAYp0C,MAAjC;AAAwC,eAAM,EAAEnpM,CAAC,CAACogP,WAAF,IAAeh2Q,CAAf,IAAkBA,CAAC,CAACwqE,MAAF,KAAWnhD,CAA7B,IAAgC,CAAC2K,CAAD,IAAI4B,CAAC,CAACqxO,SAAN,KAAkB,CAACjnQ,CAAD,IAAIA,CAAC,CAACwqE,MAAF,KAAWnhD,CAAjC,CAAlC,CAAN;AAA6E,OAA/O,CAAgPyM,CAAhP,EAAkPlC,CAAC,CAAC8hP,WAApP,CAAtB,GAAuR,UAASrsP,CAAT,EAAW2K,CAAX,EAAa;AAAC,eAAM,CAACA,CAAC,CAAC6hP,QAAF,CAAW,gBAAX,CAAD,KAAgCxsP,CAAC,CAAC4sP,QAAF,CAAW,gBAAX,EAA4BjiP,CAA5B,GAA+B,CAAC,CAAhE,CAAN;AAAyE,OAAvF,CAAwF3K,CAAxF,EAA0FyM,CAA1F,MAA+FnC,CAAC,GAAC,CAAC,CAAlG,CAAvR,GAA4X83D,EAAE,CAACpiE,CAAD,EAAGyM,CAAH,CAAF,KAAUnC,CAAC,GAAC,CAAC,CAAb,CAA5X,EAA4YA,CAAlZ;AAAoZ;;AAAA,aAASsuC,EAAT,CAAY54C,CAAZ,EAAc;AAAC,UAAGA,CAAC,CAAC0sP,UAAL,EAAgB;AAAC,cAAM/hP,CAAC,GAAC3K,CAAC,CAAC6sP,QAAF,CAAW,CAAX,CAAR;AAAsB,YAAGliP,CAAC,CAACkgF,EAAF,CAAK,SAAL,KAAiB,CAAClgF,CAAC,CAACkgF,EAAF,CAAK,WAAL,CAAlB,IAAqC,CAAClgF,CAAC,CAACkgF,EAAF,CAAK,kBAAL,CAAzC,EAAkE,OAAOlgF,CAAP;AAAS;;AAAA,aAAO,IAAP;AAAY;;AAAA,UAAMkgF,EAAN,CAAQ;AAACA,MAAAA,EAAE,GAAE;AAAC,cAAM,IAAI19D,KAAJ,CAAU,yBAAV,CAAN;AAA2C;;AAAjD;;AAAkD,UAAM2/N,EAAE,GAAC,UAAS9sP,CAAT,EAAW;AAAC,aAAOyqL,EAAE,CAACzqL,CAAD,EAAG,CAAH,CAAT;AAAe,KAApC;;AAAqC,UAAMynL,EAAN,SAAiB89C,CAAC,CAAC16I,EAAD,CAAlB,CAAuB;AAACprH,MAAAA,WAAW,CAACugC,CAAD,EAAG;AAAC,iBAAQ,KAAK0B,QAAL,GAAc1B,CAAtB,EAAwB,KAAKmhD,MAAL,GAAY,IAApC;AAAyC;;AAAS,UAAL3/B,KAAK,GAAE;AAAC,YAAIxhB,CAAJ;AAAM,YAAG,CAAC,KAAKmhD,MAAT,EAAgB,OAAO,IAAP;AAAY,YAAG,CAAC,CAAD,KAAKnhD,CAAC,GAAC,KAAKmhD,MAAL,CAAY4rM,aAAZ,CAA0B,IAA1B,CAAP,CAAH,EAA2C,MAAM,IAAI5qM,CAAJ,CAAM,+BAAN,EAAsC,IAAtC,CAAN;AAAkD,eAAOniD,CAAP;AAAS;;AAAe,UAAXynO,WAAW,GAAE;AAAC,cAAMznO,CAAC,GAAC,KAAKwhB,KAAb;AAAmB,eAAO,SAAOxhB,CAAP,IAAU,KAAKmhD,MAAL,CAAY0rM,QAAZ,CAAqB7sP,CAAC,GAAC,CAAvB,CAAV,IAAqC,IAA5C;AAAiD;;AAAmB,UAAf43O,eAAe,GAAE;AAAC,cAAM53O,CAAC,GAAC,KAAKwhB,KAAb;AAAmB,eAAO,SAAOxhB,CAAP,IAAU,KAAKmhD,MAAL,CAAY0rM,QAAZ,CAAqB7sP,CAAC,GAAC,CAAvB,CAAV,IAAqC,IAA5C;AAAiD;;AAAQ,UAAJwD,IAAI,GAAE;AAAC,YAAIxD,CAAC,GAAC,IAAN;;AAAW,eAAKA,CAAC,CAACmhD,MAAP,GAAenhD,CAAC,GAACA,CAAC,CAACmhD,MAAJ;;AAAW,eAAOnhD,CAAP;AAAS;;AAAAwjF,MAAAA,UAAU,GAAE;AAAC,eAAO,KAAKhgF,IAAL,CAAUqnF,EAAV,CAAa,aAAb,CAAP;AAAmC;;AAAAmiK,MAAAA,OAAO,GAAE;AAAC,cAAMhtP,CAAC,GAAC,EAAR;AAAW,YAAI2K,CAAC,GAAC,IAAN;;AAAW,eAAKA,CAAC,CAACw2C,MAAP,GAAenhD,CAAC,CAAC8oF,OAAF,CAAUn+E,CAAC,CAAC6W,KAAZ,GAAmB7W,CAAC,GAACA,CAAC,CAACw2C,MAAvB;;AAA8B,eAAOnhD,CAAP;AAAS;;AAAAitP,MAAAA,YAAY,CAACjtP,CAAC,GAAC,EAAH,EAAM;AAAC,cAAM2K,CAAC,GAAC,EAAR;AAAW,YAAIJ,CAAC,GAACvK,CAAC,CAACktP,WAAF,GAAc,IAAd,GAAmB,KAAK/rM,MAA9B;;AAAqC,eAAK52C,CAAL,GAAQI,CAAC,CAAC3K,CAAC,CAACmtP,WAAF,GAAc,MAAd,GAAqB,SAAtB,CAAD,CAAkC5iP,CAAlC,GAAqCA,CAAC,GAACA,CAAC,CAAC42C,MAAzC;;AAAgD,eAAOx2C,CAAP;AAAS;;AAAAyiP,MAAAA,iBAAiB,CAACptP,CAAD,EAAG2K,CAAC,GAAC,EAAL,EAAQ;AAAC,cAAMJ,CAAC,GAAC,KAAK0iP,YAAL,CAAkBtiP,CAAlB,CAAR;AAAA,cAA6B4B,CAAC,GAACvM,CAAC,CAACitP,YAAF,CAAetiP,CAAf,CAA/B;AAAiD,YAAIh0B,CAAC,GAAC,CAAN;;AAAQ,eAAK4zB,CAAC,CAAC5zB,CAAD,CAAD,IAAM41B,CAAC,CAAC51B,CAAD,CAAP,IAAY4zB,CAAC,CAAC5zB,CAAD,CAAlB,GAAuBA,CAAC;;AAAG,eAAO,MAAIA,CAAJ,GAAM,IAAN,GAAW4zB,CAAC,CAAC5zB,CAAC,GAAC,CAAH,CAAnB;AAAyB;;AAAAif,MAAAA,QAAQ,CAACoK,CAAD,EAAG;AAAC,YAAG,QAAMA,CAAT,EAAW,OAAM,CAAC,CAAP;AAAS,YAAG,KAAKwD,IAAL,KAAYxD,CAAC,CAACwD,IAAjB,EAAsB,OAAM,CAAC,CAAP;AAAS,cAAMmH,CAAC,GAAC,KAAKqiP,OAAL,EAAR;AAAA,cAAuBziP,CAAC,GAACvK,CAAC,CAACgtP,OAAF,EAAzB;AAAA,cAAqCzgP,CAAC,GAACo7N,CAAC,CAACh9N,CAAD,EAAGJ,CAAH,CAAxC;;AAA8C,gBAAOgC,CAAP;AAAU,eAAI,QAAJ;AAAa,mBAAM,CAAC,CAAP;;AAAS,eAAI,WAAJ;AAAgB,mBAAM,CAAC,CAAP;;AAAS;AAAQ,mBAAO5B,CAAC,CAAC4B,CAAD,CAAD,GAAKhC,CAAC,CAACgC,CAAD,CAAb;AAAjE;AAAmF;;AAAAinM,MAAAA,OAAO,CAACxzM,CAAD,EAAG;AAAC,eAAO,QAAMA,CAAN,IAAU,KAAKwD,IAAL,KAAYxD,CAAC,CAACwD,IAAd,IAAoB,CAAC,KAAK5N,QAAL,CAAcoK,CAAd,CAAtC;AAAwD;;AAAAi9O,MAAAA,OAAO,GAAE;AAAC,aAAK97L,MAAL,CAAYksM,eAAZ,CAA4B,KAAK7rO,KAAjC;AAAwC;;AAAA8rO,MAAAA,WAAW,CAACttP,CAAD,EAAG2K,CAAH,EAAK;AAAC,aAAK+6E,IAAL,CAAW,UAAS1lF,CAAE,EAAtB,EAAwB2K,CAAxB,GAA2B,KAAKw2C,MAAL,IAAa,KAAKA,MAAL,CAAYmsM,WAAZ,CAAwBttP,CAAxB,EAA0B2K,CAA1B,CAAxC;AAAqE;;AAAA65E,MAAAA,MAAM,GAAE;AAAC,cAAMxkF,CAAC,GAAC8sP,EAAE,CAAC,IAAD,CAAV;AAAiB,eAAO,OAAO9sP,CAAC,CAACmhD,MAAT,EAAgBnhD,CAAvB;AAAyB;;AAArwC;;AAAswCynL,IAAAA,EAAE,CAACx9K,SAAH,CAAa4gF,EAAb,GAAgB,UAAS7qF,CAAT,EAAW;AAAC,aAAM,WAASA,CAAT,IAAY,gBAAcA,CAAhC;AAAkC,KAA9D;;AAA+D,UAAMg9M,EAAN,SAAiBv1B,EAAjB,CAAmB;AAAChoN,MAAAA,WAAW,CAACugC,CAAD,EAAG2K,CAAH,EAAK;AAAC,cAAM3K,CAAN,GAAS,KAAKutP,SAAL,GAAe5iP,CAAxB;AAA0B;;AAAQ,UAAJhjC,IAAI,GAAE;AAAC,eAAO,KAAK4lR,SAAZ;AAAsB;;AAAS,UAAL9qK,KAAK,GAAE;AAAC,eAAO,KAAK96G,IAAZ;AAAiB;;AAAS,UAAL86G,KAAK,CAACziF,CAAD,EAAG;AAAC,aAAKstP,WAAL,CAAiB,MAAjB,EAAwB,IAAxB,GAA8B,KAAKC,SAAL,GAAevtP,CAA7C;AAA+C;;AAAAwtP,MAAAA,SAAS,CAACxtP,CAAD,EAAG;AAAC,eAAOA,CAAC,YAAYg9M,EAAb,KAAkB,SAAOh9M,CAAP,IAAU,KAAKr4B,IAAL,KAAYq4B,CAAC,CAACr4B,IAA1C,CAAP;AAAuD;;AAAA8lR,MAAAA,MAAM,GAAE;AAAC,eAAO,IAAIzwC,EAAJ,CAAO,KAAKt7M,QAAZ,EAAqB,KAAK/5B,IAA1B,CAAP;AAAuC;;AAA1R;;AAA2Rq1O,IAAAA,EAAE,CAAC/yM,SAAH,CAAa4gF,EAAb,GAAgB,UAAS7qF,CAAT,EAAW;AAAC,aAAM,YAAUA,CAAV,IAAa,iBAAeA,CAA5B,IAA+B,WAASA,CAAxC,IAA2C,gBAAcA,CAAzD,IAA4D,WAASA,CAArE,IAAwE,gBAAcA,CAA5F;AAA8F,KAA1H;;AAA2H,UAAMk8J,EAAN,SAAiBrxE,EAAjB,CAAmB;AAACprH,MAAAA,WAAW,CAACugC,CAAD,EAAG2K,CAAH,EAAKJ,CAAL,EAAO;AAAC,YAAG,SAAQ,KAAKmjP,QAAL,GAAc1tP,CAAtB,EAAwB2K,CAAC,GAAC,CAAF,IAAKA,CAAC,GAAC3K,CAAC,CAACr4B,IAAF,CAAOgF,MAAzC,EAAgD,MAAM,IAAIw1E,CAAJ,CAAM,mCAAN,EAA0C,IAA1C,CAAN;AAAsD,YAAG53C,CAAC,GAAC,CAAF,IAAKI,CAAC,GAACJ,CAAF,GAAIvK,CAAC,CAACr4B,IAAF,CAAOgF,MAAnB,EAA0B,MAAM,IAAIw1E,CAAJ,CAAM,6BAAN,EAAoC,IAApC,CAAN;AAAgD,aAAKx6E,IAAL,GAAUq4B,CAAC,CAACr4B,IAAF,CAAO6/C,SAAP,CAAiB7c,CAAjB,EAAmBA,CAAC,GAACJ,CAArB,CAAV,EAAkC,KAAKojP,YAAL,GAAkBhjP,CAApD;AAAsD;;AAAc,UAAVijP,UAAU,GAAE;AAAC,eAAO,KAAKjmR,IAAL,CAAUgF,MAAjB;AAAwB;;AAAa,UAATkhR,SAAS,GAAE;AAAC,eAAO,KAAKlmR,IAAL,CAAUgF,MAAV,KAAmB,KAAK+gR,QAAL,CAAc/lR,IAAd,CAAmBgF,MAA7C;AAAoD;;AAAU,UAANw0E,MAAM,GAAE;AAAC,eAAO,KAAKusM,QAAL,CAAcvsM,MAArB;AAA4B;;AAAQ,UAAJ39C,IAAI,GAAE;AAAC,eAAO,KAAKkqP,QAAL,CAAclqP,IAArB;AAA0B;;AAAY,UAAR9B,QAAQ,GAAE;AAAC,eAAO,KAAKgsP,QAAL,CAAchsP,QAArB;AAA8B;;AAAAurP,MAAAA,YAAY,CAACjtP,CAAC,GAAC,EAAH,EAAM;AAAC,cAAM2K,CAAC,GAAC,EAAR;AAAW,YAAIJ,CAAC,GAACvK,CAAC,CAACktP,WAAF,GAAc,KAAKQ,QAAnB,GAA4B,KAAKvsM,MAAvC;;AAA8C,eAAK,SAAO52C,CAAZ,GAAeI,CAAC,CAAC3K,CAAC,CAACmtP,WAAF,GAAc,MAAd,GAAqB,SAAtB,CAAD,CAAkC5iP,CAAlC,GAAqCA,CAAC,GAACA,CAAC,CAAC42C,MAAzC;;AAAgD,eAAOx2C,CAAP;AAAS;;AAAtnB;;AAAunBuxJ,IAAAA,EAAE,CAACjyJ,SAAH,CAAa4gF,EAAb,GAAgB,UAAS7qF,CAAT,EAAW;AAAC,aAAM,iBAAeA,CAAf,IAAkB,sBAAoBA,CAAtC,IAAyC,gBAAcA,CAAvD,IAA0D,qBAAmBA,CAAnF;AAAqF,KAAjH;;AAAkH,UAAM8tP,EAAN,CAAQ;AAACruR,MAAAA,WAAW,CAAC,GAAGugC,CAAJ,EAAM;AAAC,aAAK+tP,SAAL,GAAe,EAAf,EAAkB,KAAKn5P,GAAL,CAAS,GAAGoL,CAAZ,CAAlB;AAAiC;;AAAApL,MAAAA,GAAG,CAAC,GAAGoL,CAAJ,EAAM;AAAC,aAAI,IAAI2K,CAAR,IAAa3K,CAAb,EAAe,CAAC,YAAU,OAAO2K,CAAjB,IAAoBA,CAAC,YAAYvV,MAAlC,MAA4CuV,CAAC,GAAC;AAACn6B,UAAAA,IAAI,EAACm6B;AAAN,SAA9C,GAAwD,KAAKojP,SAAL,CAAe9nP,IAAf,CAAoB0E,CAApB,CAAxD;AAA+E;;AAAAu/C,MAAAA,KAAK,CAAC,GAAGlqD,CAAJ,EAAM;AAAC,aAAI,MAAM2K,CAAV,IAAe3K,CAAf,EAAiB,KAAI,MAAMA,CAAV,IAAe,KAAK+tP,SAApB,EAA8B;AAAC,gBAAMxjP,CAAC,GAACyjP,EAAE,CAACrjP,CAAD,EAAG3K,CAAH,CAAV;AAAgB,cAAGuK,CAAH,EAAK,OAAM;AAACvhB,YAAAA,OAAO,EAAC2hB,CAAT;AAAWjZ,YAAAA,OAAO,EAACsO,CAAnB;AAAqBkqD,YAAAA,KAAK,EAAC3/C;AAA3B,WAAN;AAAoC;;AAAA,eAAO,IAAP;AAAY;;AAAA+zO,MAAAA,QAAQ,CAAC,GAAGt+O,CAAJ,EAAM;AAAC,cAAM2K,CAAC,GAAC,EAAR;;AAAW,aAAI,MAAMJ,CAAV,IAAevK,CAAf,EAAiB,KAAI,MAAMA,CAAV,IAAe,KAAK+tP,SAApB,EAA8B;AAAC,gBAAMxhP,CAAC,GAACyhP,EAAE,CAACzjP,CAAD,EAAGvK,CAAH,CAAV;AAAgBuM,UAAAA,CAAC,IAAE5B,CAAC,CAAC1E,IAAF,CAAO;AAACjd,YAAAA,OAAO,EAACuhB,CAAT;AAAW7Y,YAAAA,OAAO,EAACsO,CAAnB;AAAqBkqD,YAAAA,KAAK,EAAC39C;AAA3B,WAAP,CAAH;AAAyC;;AAAA,eAAO5B,CAAC,CAACh+B,MAAF,GAAS,CAAT,GAAWg+B,CAAX,GAAa,IAApB;AAAyB;;AAAAsjP,MAAAA,cAAc,GAAE;AAAC,YAAG,MAAI,KAAKF,SAAL,CAAephR,MAAtB,EAA6B,OAAO,IAAP;AAAY,cAAMqzB,CAAC,GAAC,KAAK+tP,SAAL,CAAe,CAAf,CAAR;AAAA,cAA0BpjP,CAAC,GAAC3K,CAAC,CAACxvB,IAA9B;AAAmC,eAAM,cAAY,OAAOwvB,CAAnB,IAAsB,CAAC2K,CAAvB,IAA0BA,CAAC,YAAYvV,MAAvC,GAA8C,IAA9C,GAAmDuV,CAAzD;AAA2D;;AAAjlB;;AAAklB,aAASqjP,EAAT,CAAYhuP,CAAZ,EAAc2K,CAAd,EAAgB;AAAC,UAAG,cAAY,OAAOA,CAAtB,EAAwB,OAAOA,CAAC,CAAC3K,CAAD,CAAR;AAAY,YAAMuK,CAAC,GAAC,EAAR;AAAW,aAAOI,CAAC,CAACn6B,IAAF,KAAS+5B,CAAC,CAAC/5B,IAAF,GAAO,UAASwvB,CAAT,EAAW2K,CAAX,EAAa;AAAC,YAAG3K,CAAC,YAAY5K,MAAhB,EAAuB,OAAM,CAAC,CAACuV,CAAC,CAACu/C,KAAF,CAAQlqD,CAAR,CAAR;AAAmB,eAAOA,CAAC,KAAG2K,CAAX;AAAa,OAArE,CAAsEA,CAAC,CAACn6B,IAAxE,EAA6EwvB,CAAC,CAACxvB,IAA/E,CAAP,EAA4F,CAAC+5B,CAAC,CAAC/5B,IAAxG,KAA+Gm6B,CAAC,CAACs5E,UAAF,KAAe15E,CAAC,CAAC05E,UAAF,GAAa,UAASjkF,CAAT,EAAW2K,CAAX,EAAa;AAAC,cAAMJ,CAAC,GAAC,IAAIsnE,GAAJ,CAAQlnE,CAAC,CAACujP,gBAAF,EAAR,CAAR;AAAsChlB,QAAAA,EAAE,CAAClpO,CAAD,CAAF,IAAO,KAAK,CAAL,KAASA,CAAC,CAACu7C,KAAX,IAAkB1xC,CAAC,CAAC,iDAAD,EAAmD7J,CAAnD,CAAnB,EAAyE,KAAK,CAAL,KAASA,CAAC,CAACojP,KAAX,IAAkBv5O,CAAC,CAAC,iDAAD,EAAmD7J,CAAnD,CAAnG,KAA2JuK,CAAC,CAACqK,MAAF,CAAS,OAAT,GAAkBrK,CAAC,CAACqK,MAAF,CAAS,OAAT,CAA7K;AAAgM,eAAOu5O,EAAE,CAACnuP,CAAD,EAAGuK,CAAH,EAAMvK,CAAC,IAAE2K,CAAC,CAACk3O,YAAF,CAAe7hP,CAAf,CAAT,CAAT;AAAsC,OAA1R,CAA2R2K,CAAC,CAACs5E,UAA7R,EAAwSjkF,CAAxS,CAAb,EAAwT,CAACuK,CAAC,CAAC05E,UAA1U,CAA/G,IAAsct5E,CAAC,CAACyjP,OAAF,KAAY7jP,CAAC,CAAC6jP,OAAF,GAAU,UAASpuP,CAAT,EAAW2K,CAAX,EAAa;AAAC,eAAOwjP,EAAE,CAACnuP,CAAD,EAAG2K,CAAC,CAAC0jP,aAAF,EAAH,EAAsB,MAAI,CAAE,CAA5B,CAAT;AAAwC,OAAtD,CAAuD1jP,CAAC,CAACyjP,OAAzD,EAAiEpuP,CAAjE,CAAV,EAA8E,CAACuK,CAAC,CAAC6jP,OAA7F,CAAtc,IAA6iBzjP,CAAC,CAAC6nN,MAAF,KAAWjoN,CAAC,CAACioN,MAAF,GAAS,UAASxyN,CAAT,EAAW2K,CAAX,EAAa;AAAC,eAAOwjP,EAAE,CAACnuP,CAAD,EAAG2K,CAAC,CAAC2jP,aAAF,CAAgB,CAAC,CAAjB,CAAH,EAAwBtuP,CAAC,IAAE2K,CAAC,CAAC4jP,QAAF,CAAWvuP,CAAX,CAA3B,CAAT;AAAoD,OAAlE,CAAmE2K,CAAC,CAAC6nN,MAArE,EAA4ExyN,CAA5E,CAAT,EAAwF,CAACuK,CAAC,CAACioN,MAAtG,CAA7iB,GAA2pB,IAA3pB,GAAgqBjoN,CAAvqB;AAAyqB;;AAAA,aAAS4jP,EAAT,CAAYnuP,CAAZ,EAAc2K,CAAd,EAAgBJ,CAAhB,EAAkB;AAAC,YAAMgC,CAAC,GAAC,UAASvM,CAAT,EAAW;AAAC,YAAGmF,KAAK,CAACi8E,OAAN,CAAcphF,CAAd,CAAH,EAAoB,OAAOA,CAAC,CAACx2B,GAAF,CAAOw2B,CAAC,IAAEkpO,EAAE,CAAClpO,CAAD,CAAF,IAAO,KAAK,CAAL,KAASA,CAAC,CAAC8F,GAAX,IAAgB,KAAK,CAAL,KAAS9F,CAAC,CAAC9uB,KAA3B,IAAkC24B,CAAC,CAAC,sCAAD,EAAwC7J,CAAxC,CAAnC,EAA8E,CAACA,CAAC,CAAC8F,GAAH,EAAO9F,CAAC,CAAC9uB,KAAT,CAArF,IAAsG,CAAC8uB,CAAD,EAAG,CAAC,CAAJ,CAAhH,CAAP;AAAgI,YAAGkpO,EAAE,CAAClpO,CAAD,CAAL,EAAS,OAAOmC,MAAM,CAACqgF,OAAP,CAAexiF,CAAf,CAAP;AAAyB,eAAM,CAAC,CAACA,CAAD,EAAG,CAAC,CAAJ,CAAD,CAAN;AAAe,OAAjN,CAAkNA,CAAlN,CAAR;AAAA,YAA6NrpB,CAAC,GAACwuB,KAAK,CAAC7H,IAAN,CAAWqN,CAAX,CAA/N;AAAA,YAA6O8B,CAAC,GAAC,EAA/O;;AAAkP,UAAGF,CAAC,CAAC1G,OAAF,CAAW,CAAC,CAAC7F,CAAD,EAAG2K,CAAH,CAAD,KAAS;AAACh0B,QAAAA,CAAC,CAACkvB,OAAF,CAAW0G,CAAC,IAAE;AAAC,WAAC,UAASvM,CAAT,EAAW2K,CAAX,EAAa;AAAC,mBAAM,CAAC,CAAD,KAAK3K,CAAL,IAAQA,CAAC,KAAG2K,CAAZ,IAAe3K,CAAC,YAAY5K,MAAb,IAAqBuV,CAAC,CAACu/C,KAAF,CAAQlqD,CAAR,CAA1C;AAAqD,WAApE,EAAsEA,CAAtE,EAAwEuM,CAAxE,KAA4E,UAASvM,CAAT,EAAW2K,CAAX,EAAaJ,CAAb,EAAe;AAAC,gBAAG,CAAC,CAAD,KAAKvK,CAAR,EAAU,OAAM,CAAC,CAAP;AAAS,kBAAMuM,CAAC,GAAChC,CAAC,CAACI,CAAD,CAAT;AAAa,mBAAO3K,CAAC,KAAGuM,CAAJ,IAAOvM,CAAC,YAAY5K,MAAb,IAAqB,CAAC,CAACsqC,MAAM,CAACnzB,CAAD,CAAN,CAAU29C,KAAV,CAAgBlqD,CAAhB,CAArC;AAAwD,WAAxG,CAAyG2K,CAAzG,EAA2G4B,CAA3G,EAA6GhC,CAA7G,CAA5E,IAA6LkC,CAAC,CAACxG,IAAF,CAAOsG,CAAP,CAA7L;AAAuM,SAAtN;AAAyN,OAA9O,GAAiPA,CAAC,CAAC5/B,MAAF,IAAU,EAAE8/B,CAAC,CAAC9/B,MAAF,GAAS4/B,CAAC,CAAC5/B,MAAb,CAA9P,EAAmR,OAAO8/B,CAAP;AAAS;;AAAA,UAAM+hP,EAAE,GAAC,UAASxuP,CAAT,EAAW;AAAC,aAAM,YAAU,OAAOA,CAAjB,IAAoBuoO,EAAE,CAACvoO,CAAD,CAAF,IAAO,qBAAmB6zI,EAAE,CAAC7zI,CAAD,CAAtD;AAA0D,KAA/E;;AAAgF,QAAIyuP,EAAE,GAAC,kDAAP;AAAA,QAA0DC,EAAE,GAAC,OAA7D;;AAAqE,UAAM53I,EAAE,GAAC,UAAS92G,CAAT,EAAW2K,CAAX,EAAa;AAAC,UAAG29N,EAAE,CAACtoO,CAAD,CAAL,EAAS,OAAM,CAAC,CAAP;AAAS,UAAIuK,CAAC,GAAC,OAAOvK,CAAb;AAAe,aAAM,EAAE,YAAUuK,CAAV,IAAa,YAAUA,CAAvB,IAA0B,aAAWA,CAArC,IAAwC,QAAMvK,CAA9C,IAAiD,CAACwuP,EAAE,CAACxuP,CAAD,CAAtD,KAA6D0uP,EAAE,CAACr5P,IAAH,CAAQ2K,CAAR,KAAY,CAACyuP,EAAE,CAACp5P,IAAH,CAAQ2K,CAAR,CAAb,IAAyB,QAAM2K,CAAN,IAAS3K,CAAC,IAAImC,MAAM,CAACwI,CAAD,CAAhH;AAAqH,KAA7K;;AAA8K,aAASgkP,EAAT,CAAY3uP,CAAZ,EAAc2K,CAAd,EAAgB;AAAC,UAAG,cAAY,OAAO3K,CAAnB,IAAsB,QAAM2K,CAAN,IAAS,cAAY,OAAOA,CAArD,EAAuD,MAAM,IAAI0B,SAAJ,CAAc,qBAAd,CAAN;;AAA2C,UAAI9B,CAAC,GAAC,YAAU;AAAC,YAAIgC,CAAC,GAAC/B,SAAN;AAAA,YAAgB7zB,CAAC,GAACg0B,CAAC,GAACA,CAAC,CAACF,KAAF,CAAQ,IAAR,EAAa8B,CAAb,CAAD,GAAiBA,CAAC,CAAC,CAAD,CAArC;AAAA,YAAyCE,CAAC,GAAClC,CAAC,CAACtP,KAA7C;AAAmD,YAAGwR,CAAC,CAACqiB,GAAF,CAAMn4C,CAAN,CAAH,EAAY,OAAO81B,CAAC,CAAChsC,GAAF,CAAMkW,CAAN,CAAP;AAAgB,YAAI2zB,CAAC,GAACtK,CAAC,CAACyK,KAAF,CAAQ,IAAR,EAAa8B,CAAb,CAAN;AAAsB,eAAOhC,CAAC,CAACtP,KAAF,GAAQwR,CAAC,CAAC3H,GAAF,CAAMnuB,CAAN,EAAQ2zB,CAAR,KAAYmC,CAApB,EAAsBnC,CAA7B;AAA+B,OAArJ;;AAAsJ,aAAOC,CAAC,CAACtP,KAAF,GAAQ,KAAI0zP,EAAE,CAACC,KAAH,IAAU7iB,EAAd,GAAR,EAA0BxhO,CAAjC;AAAmC;;AAAAokP,IAAAA,EAAE,CAACC,KAAH,GAAS7iB,EAAT;AAAY,UAAM8iB,EAAE,GAACF,EAAT;;AAAY,UAAM9iE,EAAE,GAAC,UAAS7rL,CAAT,EAAW;AAAC,UAAI2K,CAAC,GAACkkP,EAAE,CAAC7uP,CAAD,EAAI,UAASA,CAAT,EAAW;AAAC,eAAO,QAAMuK,CAAC,CAAC4nE,IAAR,IAAc5nE,CAAC,CAACmU,KAAF,EAAd,EAAwB1e,CAA/B;AAAiC,OAAjD,CAAR;AAAA,UAA4DuK,CAAC,GAACI,CAAC,CAAC1P,KAAhE;AAAsE,aAAO0P,CAAP;AAAS,KAApG;;AAAqG,QAAIs6L,EAAE,GAAC,kGAAP;AAAA,QAA0G6pD,EAAE,GAAC,UAA7G;AAAA,QAAwHC,EAAE,GAACljE,EAAE,CAAE,UAAS7rL,CAAT,EAAW;AAAC,UAAI2K,CAAC,GAAC,EAAN;AAAS,aAAO,OAAK3K,CAAC,CAACm/B,UAAF,CAAa,CAAb,CAAL,IAAsBx0B,CAAC,CAAC1E,IAAF,CAAO,EAAP,CAAtB,EAAiCjG,CAAC,CAAC3gB,OAAF,CAAU4lN,EAAV,EAAc,UAASjlM,CAAT,EAAWuK,CAAX,EAAagC,CAAb,EAAe51B,CAAf,EAAiB;AAACg0B,QAAAA,CAAC,CAAC1E,IAAF,CAAOsG,CAAC,GAAC51B,CAAC,CAAC0I,OAAF,CAAUyvQ,EAAV,EAAa,IAAb,CAAD,GAAoBvkP,CAAC,IAAEvK,CAA/B;AAAkC,OAAlE,CAAjC,EAAsG2K,CAA7G;AAA+G,KAAtI,CAA7H;AAAsQ,UAAMqkP,EAAE,GAACD,EAAT;;AAAY,UAAME,EAAE,GAAC,UAASjvP,CAAT,EAAW2K,CAAX,EAAa;AAAC,WAAI,IAAIJ,CAAC,GAAC,CAAC,CAAP,EAASgC,CAAC,GAAC,QAAMvM,CAAN,GAAQ,CAAR,GAAUA,CAAC,CAACrzB,MAAvB,EAA8BgK,CAAC,GAACwuB,KAAK,CAACoH,CAAD,CAAzC,EAA6C,EAAEhC,CAAF,GAAIgC,CAAjD,GAAoD51B,CAAC,CAAC4zB,CAAD,CAAD,GAAKI,CAAC,CAAC3K,CAAC,CAACuK,CAAD,CAAF,EAAMA,CAAN,EAAQvK,CAAR,CAAN;;AAAiB,aAAOrpB,CAAP;AAAS,KAArG;;AAAsG,QAAIu4Q,EAAE,GAAC7gE,EAAE,GAACA,EAAE,CAACpkL,SAAJ,GAAc,KAAK,CAA5B;AAAA,QAA8BklP,EAAE,GAACD,EAAE,GAACA,EAAE,CAAChyO,QAAJ,GAAa,KAAK,CAArD;;AAAuD,UAAMkyO,EAAE,GAAC,SAASpvP,CAAT,CAAW2K,CAAX,EAAa;AAAC,UAAG,YAAU,OAAOA,CAApB,EAAsB,OAAOA,CAAP;AAAS,UAAG29N,EAAE,CAAC39N,CAAD,CAAL,EAAS,OAAOskP,EAAE,CAACtkP,CAAD,EAAG3K,CAAH,CAAF,GAAQ,EAAf;AAAkB,UAAGwuP,EAAE,CAAC7jP,CAAD,CAAL,EAAS,OAAOwkP,EAAE,GAACA,EAAE,CAAChmP,IAAH,CAAQwB,CAAR,CAAD,GAAY,EAArB;AAAwB,UAAIJ,CAAC,GAACI,CAAC,GAAC,EAAR;AAAW,aAAM,OAAKJ,CAAL,IAAQ,IAAEI,CAAF,IAAK,CAACg0K,QAAd,GAAuB,IAAvB,GAA4Bp0K,CAAlC;AAAoC,KAAjK;;AAAkK,UAAM8kP,EAAE,GAAC,UAASrvP,CAAT,EAAW;AAAC,aAAO,QAAMA,CAAN,GAAQ,EAAR,GAAWovP,EAAE,CAACpvP,CAAD,CAApB;AAAwB,KAA7C;;AAA8C,UAAMsvP,EAAE,GAAC,UAAStvP,CAAT,EAAW2K,CAAX,EAAa;AAAC,aAAO29N,EAAE,CAACtoO,CAAD,CAAF,GAAMA,CAAN,GAAQ82G,EAAE,CAAC92G,CAAD,EAAG2K,CAAH,CAAF,GAAQ,CAAC3K,CAAD,CAAR,GAAYgvP,EAAE,CAACK,EAAE,CAACrvP,CAAD,CAAH,CAA7B;AAAqC,KAA5D;;AAA6D,UAAMuvP,EAAE,GAAC,UAASvvP,CAAT,EAAW;AAAC,UAAI2K,CAAC,GAAC,QAAM3K,CAAN,GAAQ,CAAR,GAAUA,CAAC,CAACrzB,MAAlB;AAAyB,aAAOg+B,CAAC,GAAC3K,CAAC,CAAC2K,CAAC,GAAC,CAAH,CAAF,GAAQ,KAAK,CAArB;AAAuB,KAArE;;AAAsE,UAAM6kP,EAAE,GAAC,UAASxvP,CAAT,EAAW;AAAC,UAAG,YAAU,OAAOA,CAAjB,IAAoBwuP,EAAE,CAACxuP,CAAD,CAAzB,EAA6B,OAAOA,CAAP;AAAS,UAAI2K,CAAC,GAAC3K,CAAC,GAAC,EAAR;AAAW,aAAM,OAAK2K,CAAL,IAAQ,IAAE3K,CAAF,IAAK,CAAC2+K,QAAd,GAAuB,IAAvB,GAA4Bh0K,CAAlC;AAAoC,KAA1G;;AAA2G,UAAM8kP,EAAE,GAAC,UAASzvP,CAAT,EAAW2K,CAAX,EAAa;AAAC,WAAI,IAAIJ,CAAC,GAAC,CAAN,EAAQgC,CAAC,GAAC,CAAC5B,CAAC,GAAC2kP,EAAE,CAAC3kP,CAAD,EAAG3K,CAAH,CAAL,EAAYrzB,MAA1B,EAAiC,QAAMqzB,CAAN,IAASuK,CAAC,GAACgC,CAA5C,GAA+CvM,CAAC,GAACA,CAAC,CAACwvP,EAAE,CAAC7kP,CAAC,CAACJ,CAAC,EAAF,CAAF,CAAH,CAAH;;AAAgB,aAAOA,CAAC,IAAEA,CAAC,IAAEgC,CAAN,GAAQvM,CAAR,GAAU,KAAK,CAAtB;AAAwB,KAA9G;;AAA+G,UAAM0vP,EAAE,GAAC,UAAS1vP,CAAT,EAAW2K,CAAX,EAAaJ,CAAb,EAAe;AAAC,UAAIgC,CAAC,GAAC,CAAC,CAAP;AAAA,UAAS51B,CAAC,GAACqpB,CAAC,CAACrzB,MAAb;AAAoBg+B,MAAAA,CAAC,GAAC,CAAF,KAAMA,CAAC,GAAC,CAACA,CAAD,GAAGh0B,CAAH,GAAK,CAAL,GAAOA,CAAC,GAACg0B,CAAjB,GAAoB,CAACJ,CAAC,GAACA,CAAC,GAAC5zB,CAAF,GAAIA,CAAJ,GAAM4zB,CAAT,IAAY,CAAZ,KAAgBA,CAAC,IAAE5zB,CAAnB,CAApB,EAA0CA,CAAC,GAACg0B,CAAC,GAACJ,CAAF,GAAI,CAAJ,GAAMA,CAAC,GAACI,CAAF,KAAM,CAAxD,EAA0DA,CAAC,MAAI,CAA/D;;AAAiE,WAAI,IAAI8B,CAAC,GAACtH,KAAK,CAACxuB,CAAD,CAAf,EAAmB,EAAE41B,CAAF,GAAI51B,CAAvB,GAA0B81B,CAAC,CAACF,CAAD,CAAD,GAAKvM,CAAC,CAACuM,CAAC,GAAC5B,CAAH,CAAN;;AAAY,aAAO8B,CAAP;AAAS,KAA7J;;AAA8J,UAAMkjP,EAAE,GAAC,UAAS3vP,CAAT,EAAW2K,CAAX,EAAa;AAAC,aAAOA,CAAC,CAACh+B,MAAF,GAAS,CAAT,GAAWqzB,CAAX,GAAayvP,EAAE,CAACzvP,CAAD,EAAG0vP,EAAE,CAAC/kP,CAAD,EAAG,CAAH,EAAK,CAAC,CAAN,CAAL,CAAtB;AAAqC,KAA5D;;AAA6D,UAAMilP,EAAE,GAAC,UAAS5vP,CAAT,EAAW2K,CAAX,EAAa;AAAC,aAAOA,CAAC,GAAC2kP,EAAE,CAAC3kP,CAAD,EAAG3K,CAAH,CAAJ,EAAU,SAAOA,CAAC,GAAC2vP,EAAE,CAAC3vP,CAAD,EAAG2K,CAAH,CAAX,KAAmB,OAAO3K,CAAC,CAACwvP,EAAE,CAACD,EAAE,CAAC5kP,CAAD,CAAH,CAAH,CAA5C;AAAwD,KAA/E;;AAAgF,UAAMklP,EAAE,GAAC,UAAS7vP,CAAT,EAAW2K,CAAX,EAAa;AAAC,aAAO,QAAM3K,CAAN,IAAS4vP,EAAE,CAAC5vP,CAAD,EAAG2K,CAAH,CAAlB;AAAwB,KAA/C;;AAAgD,UAAMmlP,EAAE,GAAC,UAAS9vP,CAAT,EAAW2K,CAAX,EAAaJ,CAAb,EAAe;AAAC,UAAIgC,CAAC,GAAC,QAAMvM,CAAN,GAAQ,KAAK,CAAb,GAAeyvP,EAAE,CAACzvP,CAAD,EAAG2K,CAAH,CAAvB;AAA6B,aAAO,KAAK,CAAL,KAAS4B,CAAT,GAAWhC,CAAX,GAAagC,CAApB;AAAsB,KAA5E;;AAA6E,UAAMwjP,EAAE,GAAC,UAAS/vP,CAAT,EAAW2K,CAAX,EAAaJ,CAAb,EAAe;AAAC,OAAC,KAAK,CAAL,KAASA,CAAT,IAAY,CAAC8+N,EAAE,CAACrpO,CAAC,CAAC2K,CAAD,CAAF,EAAMJ,CAAN,CAAf,IAAyB,KAAK,CAAL,KAASA,CAAT,IAAY,EAAEI,CAAC,IAAI3K,CAAP,CAAtC,KAAkDmsO,EAAE,CAACnsO,CAAD,EAAG2K,CAAH,EAAKJ,CAAL,CAApD;AAA4D,KAArF;;AAAsF,UAAMylP,EAAE,GAAC,UAAShwP,CAAT,EAAW;AAAC,aAAO,UAAS2K,CAAT,EAAWJ,CAAX,EAAagC,CAAb,EAAe;AAAC,aAAI,IAAI51B,CAAC,GAAC,CAAC,CAAP,EAAS81B,CAAC,GAACtK,MAAM,CAACwI,CAAD,CAAjB,EAAqBL,CAAC,GAACiC,CAAC,CAAC5B,CAAD,CAAxB,EAA4By3C,CAAC,GAAC93C,CAAC,CAAC39B,MAApC,EAA2Cy1E,CAAC,EAA5C,GAAgD;AAAC,cAAIu7F,CAAC,GAACrzI,CAAC,CAACtK,CAAC,GAACoiD,CAAD,GAAG,EAAEzrE,CAAP,CAAP;AAAiB,cAAG,CAAC,CAAD,KAAK4zB,CAAC,CAACkC,CAAC,CAACkxI,CAAD,CAAF,EAAMA,CAAN,EAAQlxI,CAAR,CAAT,EAAoB;AAAM;;AAAA,eAAO9B,CAAP;AAAS,OAA5H;AAA6H,KAAzI,EAAT;;AAAqJ,UAAMslP,EAAE,GAAC,UAASjwP,CAAT,EAAW;AAAC,aAAOuoO,EAAE,CAACvoO,CAAD,CAAF,IAAOve,EAAE,CAACue,CAAD,CAAhB;AAAoB,KAAzC;;AAA0C,UAAMkwP,EAAE,GAAC,UAASlwP,CAAT,EAAW2K,CAAX,EAAa;AAAC,UAAG,CAAC,kBAAgBA,CAAhB,IAAmB,cAAY,OAAO3K,CAAC,CAAC2K,CAAD,CAAxC,KAA8C,eAAaA,CAA9D,EAAgE,OAAO3K,CAAC,CAAC2K,CAAD,CAAR;AAAY,KAAnG;;AAAoG,UAAMwlP,EAAE,GAAC,UAASnwP,CAAT,EAAW;AAAC,aAAOusO,EAAE,CAACvsO,CAAD,EAAG8uO,EAAE,CAAC9uO,CAAD,CAAL,CAAT;AAAmB,KAAxC;;AAAyC,UAAMowP,EAAE,GAAC,UAASpwP,CAAT,EAAW2K,CAAX,EAAaJ,CAAb,EAAegC,CAAf,EAAiB51B,CAAjB,EAAmB81B,CAAnB,EAAqBnC,CAArB,EAAuB;AAAC,UAAI83C,CAAC,GAAC8tM,EAAE,CAAClwP,CAAD,EAAGuK,CAAH,CAAR;AAAA,UAAcozI,CAAC,GAACuyG,EAAE,CAACvlP,CAAD,EAAGJ,CAAH,CAAlB;AAAA,UAAwB2hL,CAAC,GAAC5hL,CAAC,CAAC7pC,GAAF,CAAMk9K,CAAN,CAA1B;AAAmC,UAAGuuC,CAAH,EAAK6jE,EAAE,CAAC/vP,CAAD,EAAGuK,CAAH,EAAK2hL,CAAL,CAAF,CAAL,KAAmB;AAAC,YAAItiL,CAAC,GAAC6C,CAAC,GAACA,CAAC,CAAC21C,CAAD,EAAGu7F,CAAH,EAAKpzI,CAAC,GAAC,EAAP,EAAUvK,CAAV,EAAY2K,CAAZ,EAAcL,CAAd,CAAF,GAAmB,KAAK,CAA/B;AAAA,YAAiCssI,CAAC,GAAC,KAAK,CAAL,KAAShtI,CAA5C;;AAA8C,YAAGgtI,CAAH,EAAK;AAAC,cAAI9xJ,CAAC,GAACwjP,EAAE,CAAC3qF,CAAD,CAAR;AAAA,cAAY3zI,CAAC,GAAC,CAACllB,CAAD,IAAIsoP,EAAE,CAACzvF,CAAD,CAApB;AAAA,cAAwB3xI,CAAC,GAAC,CAAClnB,CAAD,IAAI,CAACklB,CAAL,IAAQmkO,EAAE,CAACxwF,CAAD,CAApC;AAAwC/zI,UAAAA,CAAC,GAAC+zI,CAAF,EAAI74J,CAAC,IAAEklB,CAAH,IAAMgC,CAAN,GAAQs8N,EAAE,CAAClmL,CAAD,CAAF,GAAMx4C,CAAC,GAACw4C,CAAR,GAAU6tM,EAAE,CAAC7tM,CAAD,CAAF,GAAMx4C,CAAC,GAACinL,EAAE,CAACzuI,CAAD,CAAV,GAAcp4C,CAAC,IAAE4sI,CAAC,GAAC,CAAC,CAAH,EAAKhtI,CAAC,GAACwyH,EAAE,CAACuhB,CAAD,EAAG,CAAC,CAAJ,CAAX,IAAmB3xI,CAAC,IAAE4qI,CAAC,GAAC,CAAC,CAAH,EAAKhtI,CAAC,GAAC6nO,EAAE,CAAC9zF,CAAD,EAAG,CAAC,CAAJ,CAAX,IAAmB/zI,CAAC,GAAC,EAA1E,GAA6Es/N,EAAE,CAACvrF,CAAD,CAAF,IAAOkvF,EAAE,CAAClvF,CAAD,CAAT,IAAc/zI,CAAC,GAACw4C,CAAF,EAAIyqL,EAAE,CAACzqL,CAAD,CAAF,GAAMx4C,CAAC,GAACumP,EAAE,CAAC/tM,CAAD,CAAV,GAAc6iI,CAAC,CAAC7iI,CAAD,CAAD,IAAM,CAAC8nL,EAAE,CAAC9nL,CAAD,CAAT,KAAex4C,CAAC,GAACgoO,EAAE,CAACj0F,CAAD,CAAnB,CAAhC,IAAyD/G,CAAC,GAAC,CAAC,CAA7I;AAA+I;;AAAAA,QAAAA,CAAC,KAAGtsI,CAAC,CAACxF,GAAF,CAAM64I,CAAN,EAAQ/zI,CAAR,GAAWjzB,CAAC,CAACizB,CAAD,EAAG+zI,CAAH,EAAKpxI,CAAL,EAAOE,CAAP,EAASnC,CAAT,CAAZ,EAAwBA,CAAC,CAACsK,MAAF,CAAS+oI,CAAT,CAA3B,CAAD,EAAyCoyG,EAAE,CAAC/vP,CAAD,EAAGuK,CAAH,EAAKX,CAAL,CAA3C;AAAmD;AAAC,KAAvX;;AAAwX,UAAMymP,EAAE,GAAC,SAASrwP,CAAT,CAAW2K,CAAX,EAAaJ,CAAb,EAAegC,CAAf,EAAiB51B,CAAjB,EAAmB81B,CAAnB,EAAqB;AAAC9B,MAAAA,CAAC,KAAGJ,CAAJ,IAAOylP,EAAE,CAACzlP,CAAD,EAAI,UAASD,CAAT,EAAW83C,CAAX,EAAa;AAAC,YAAG31C,CAAC,KAAGA,CAAC,GAAC,IAAIg8C,EAAJ,EAAL,CAAD,EAAcw8H,CAAC,CAAC36K,CAAD,CAAlB,EAAsB8lP,EAAE,CAACzlP,CAAD,EAAGJ,CAAH,EAAK63C,CAAL,EAAO71C,CAAP,EAASvM,CAAT,EAAWrpB,CAAX,EAAa81B,CAAb,CAAF,CAAtB,KAA4C;AAAC,cAAIkxI,CAAC,GAAChnK,CAAC,GAACA,CAAC,CAACu5Q,EAAE,CAACvlP,CAAD,EAAGy3C,CAAH,CAAH,EAAS93C,CAAT,EAAW83C,CAAC,GAAC,EAAb,EAAgBz3C,CAAhB,EAAkBJ,CAAlB,EAAoBkC,CAApB,CAAF,GAAyB,KAAK,CAArC;AAAuC,eAAK,CAAL,KAASkxI,CAAT,KAAaA,CAAC,GAACrzI,CAAf,GAAkBylP,EAAE,CAACplP,CAAD,EAAGy3C,CAAH,EAAKu7F,CAAL,CAApB;AAA4B;AAAC,OAAnI,EAAqImxF,EAArI,CAAT;AAAkJ,KAAjL;;AAAkL,UAAMwhB,EAAE,GAAC,UAAStwP,CAAT,EAAW;AAAC,aAAOA,CAAP;AAAS,KAA9B;;AAA+B,UAAMuwP,EAAE,GAAC,UAASvwP,CAAT,EAAW2K,CAAX,EAAaJ,CAAb,EAAe;AAAC,cAAOA,CAAC,CAAC59B,MAAT;AAAiB,aAAK,CAAL;AAAO,iBAAOqzB,CAAC,CAACmJ,IAAF,CAAOwB,CAAP,CAAP;;AAAiB,aAAK,CAAL;AAAO,iBAAO3K,CAAC,CAACmJ,IAAF,CAAOwB,CAAP,EAASJ,CAAC,CAAC,CAAD,CAAV,CAAP;;AAAsB,aAAK,CAAL;AAAO,iBAAOvK,CAAC,CAACmJ,IAAF,CAAOwB,CAAP,EAASJ,CAAC,CAAC,CAAD,CAAV,EAAcA,CAAC,CAAC,CAAD,CAAf,CAAP;;AAA2B,aAAK,CAAL;AAAO,iBAAOvK,CAAC,CAACmJ,IAAF,CAAOwB,CAAP,EAASJ,CAAC,CAAC,CAAD,CAAV,EAAcA,CAAC,CAAC,CAAD,CAAf,EAAmBA,CAAC,CAAC,CAAD,CAApB,CAAP;AAA/G;;AAA+I,aAAOvK,CAAC,CAACyK,KAAF,CAAQE,CAAR,EAAUJ,CAAV,CAAP;AAAoB,KAA5L;;AAA6L,QAAIimP,EAAE,GAACt0N,IAAI,CAAC1qC,GAAZ;;AAAgB,UAAMi/P,EAAE,GAAC,UAASzwP,CAAT,EAAW2K,CAAX,EAAaJ,CAAb,EAAe;AAAC,aAAOI,CAAC,GAAC6lP,EAAE,CAAC,KAAK,CAAL,KAAS7lP,CAAT,GAAW3K,CAAC,CAACrzB,MAAF,GAAS,CAApB,GAAsBg+B,CAAvB,EAAyB,CAAzB,CAAJ,EAAgC,YAAU;AAAC,aAAI,IAAI4B,CAAC,GAAC/B,SAAN,EAAgB7zB,CAAC,GAAC,CAAC,CAAnB,EAAqB81B,CAAC,GAAC+jP,EAAE,CAACjkP,CAAC,CAAC5/B,MAAF,GAASg+B,CAAV,EAAY,CAAZ,CAAzB,EAAwCL,CAAC,GAACnF,KAAK,CAACsH,CAAD,CAAnD,EAAuD,EAAE91B,CAAF,GAAI81B,CAA3D,GAA8DnC,CAAC,CAAC3zB,CAAD,CAAD,GAAK41B,CAAC,CAAC5B,CAAC,GAACh0B,CAAH,CAAN;;AAAYA,QAAAA,CAAC,GAAC,CAAC,CAAH;;AAAK,aAAI,IAAIyrE,CAAC,GAACj9C,KAAK,CAACwF,CAAC,GAAC,CAAH,CAAf,EAAqB,EAAEh0B,CAAF,GAAIg0B,CAAzB,GAA4By3C,CAAC,CAACzrE,CAAD,CAAD,GAAK41B,CAAC,CAAC51B,CAAD,CAAN;;AAAU,eAAOyrE,CAAC,CAACz3C,CAAD,CAAD,GAAKJ,CAAC,CAACD,CAAD,CAAN,EAAUimP,EAAE,CAACvwP,CAAD,EAAG,IAAH,EAAQoiD,CAAR,CAAnB;AAA8B,OAArM;AAAsM,KAA/N;;AAAgO,UAAMsuM,EAAE,GAAC,UAAS1wP,CAAT,EAAW;AAAC,aAAO,YAAU;AAAC,eAAOA,CAAP;AAAS,OAA3B;AAA4B,KAAjD;;AAAkD,UAAM2wP,EAAE,GAACzkB,EAAE,GAAC,UAASlsO,CAAT,EAAW2K,CAAX,EAAa;AAAC,aAAOuhO,EAAE,CAAClsO,CAAD,EAAG,UAAH,EAAc;AAACulD,QAAAA,YAAY,EAAC,CAAC,CAAf;AAAiBD,QAAAA,UAAU,EAAC,CAAC,CAA7B;AAA+Bp0E,QAAAA,KAAK,EAACw/Q,EAAE,CAAC/lP,CAAD,CAAvC;AAA2CyhO,QAAAA,QAAQ,EAAC,CAAC;AAArD,OAAd,CAAT;AAAgF,KAA/F,GAAgGkkB,EAA3G;AAA8G,QAAIM,EAAE,GAAC7oO,IAAI,CAAC+e,GAAZ;;AAAgB,UAAM+pN,EAAE,GAAC,UAAS7wP,CAAT,EAAW;AAAC,UAAI2K,CAAC,GAAC,CAAN;AAAA,UAAQJ,CAAC,GAAC,CAAV;AAAY,aAAO,YAAU;AAAC,YAAIgC,CAAC,GAACqkP,EAAE,EAAR;AAAA,YAAWj6Q,CAAC,GAAC,MAAI41B,CAAC,GAAChC,CAAN,CAAb;;AAAsB,YAAGA,CAAC,GAACgC,CAAF,EAAI51B,CAAC,GAAC,CAAT,EAAW;AAAC,cAAG,EAAEg0B,CAAF,IAAK,GAAR,EAAY,OAAOH,SAAS,CAAC,CAAD,CAAhB;AAAoB,SAA5C,MAAiDG,CAAC,GAAC,CAAF;;AAAI,eAAO3K,CAAC,CAACyK,KAAF,CAAQ,KAAK,CAAb,EAAeD,SAAf,CAAP;AAAiC,OAA9H;AAA+H,KAAhK;;AAAiK,UAAMsmP,EAAE,GAACD,EAAE,CAACF,EAAD,CAAX;;AAAgB,UAAMI,EAAE,GAAC,UAAS/wP,CAAT,EAAW2K,CAAX,EAAa;AAAC,aAAOmmP,EAAE,CAACL,EAAE,CAACzwP,CAAD,EAAG2K,CAAH,EAAK2lP,EAAL,CAAH,EAAYtwP,CAAC,GAAC,EAAd,CAAT;AAA2B,KAAlD;;AAAmD,UAAMo0L,EAAE,GAAC,UAASp0L,CAAT,EAAW2K,CAAX,EAAaJ,CAAb,EAAe;AAAC,UAAG,CAAC06K,CAAC,CAAC16K,CAAD,CAAL,EAAS,OAAM,CAAC,CAAP;AAAS,UAAIgC,CAAC,GAAC,OAAO5B,CAAb;AAAe,aAAM,CAAC,EAAE,YAAU4B,CAAV,GAAY9qB,EAAE,CAAC8oB,CAAD,CAAF,IAAOgjO,EAAE,CAAC5iO,CAAD,EAAGJ,CAAC,CAAC59B,MAAL,CAArB,GAAkC,YAAU4/B,CAAV,IAAa5B,CAAC,IAAIJ,CAAtD,CAAD,IAA2D8+N,EAAE,CAAC9+N,CAAC,CAACI,CAAD,CAAF,EAAM3K,CAAN,CAAnE;AAA4E,KAAtI;;AAAuI,UAAMgxP,EAAE,GAAC,UAAShxP,CAAT,EAAW;AAAC,aAAO+wP,EAAE,CAAE,UAASpmP,CAAT,EAAWJ,CAAX,EAAa;AAAC,YAAIgC,CAAC,GAAC,CAAC,CAAP;AAAA,YAAS51B,CAAC,GAAC4zB,CAAC,CAAC59B,MAAb;AAAA,YAAoB8/B,CAAC,GAAC91B,CAAC,GAAC,CAAF,GAAI4zB,CAAC,CAAC5zB,CAAC,GAAC,CAAH,CAAL,GAAW,KAAK,CAAtC;AAAA,YAAwC2zB,CAAC,GAAC3zB,CAAC,GAAC,CAAF,GAAI4zB,CAAC,CAAC,CAAD,CAAL,GAAS,KAAK,CAAxD;;AAA0D,aAAIkC,CAAC,GAACzM,CAAC,CAACrzB,MAAF,GAAS,CAAT,IAAY,cAAY,OAAO8/B,CAA/B,IAAkC91B,CAAC,IAAG81B,CAAtC,IAAyC,KAAK,CAAhD,EAAkDnC,CAAC,IAAE8pL,EAAE,CAAC7pL,CAAC,CAAC,CAAD,CAAF,EAAMA,CAAC,CAAC,CAAD,CAAP,EAAWD,CAAX,CAAL,KAAqBmC,CAAC,GAAC91B,CAAC,GAAC,CAAF,GAAI,KAAK,CAAT,GAAW81B,CAAb,EAAe91B,CAAC,GAAC,CAAtC,CAAlD,EAA2Fg0B,CAAC,GAACxI,MAAM,CAACwI,CAAD,CAAvG,EAA2G,EAAE4B,CAAF,GAAI51B,CAA/G,GAAkH;AAAC,cAAIyrE,CAAC,GAAC73C,CAAC,CAACgC,CAAD,CAAP;AAAW61C,UAAAA,CAAC,IAAEpiD,CAAC,CAAC2K,CAAD,EAAGy3C,CAAH,EAAK71C,CAAL,EAAOE,CAAP,CAAJ;AAAc;;AAAA,eAAO9B,CAAP;AAAS,OAA/N,CAAT;AAA2O,KAAhQ;;AAAiQ,UAAMsmP,EAAE,GAACD,EAAE,CAAE,UAAShxP,CAAT,EAAW2K,CAAX,EAAaJ,CAAb,EAAe;AAAC8lP,MAAAA,EAAE,CAACrwP,CAAD,EAAG2K,CAAH,EAAKJ,CAAL,CAAF;AAAU,KAA5B,CAAX;;AAA0C,UAAM2mP,EAAE,GAAC,UAASlxP,CAAT,EAAW2K,CAAX,EAAaJ,CAAb,EAAegC,CAAf,EAAiB;AAAC,UAAG,CAAC04K,CAAC,CAACjlL,CAAD,CAAL,EAAS,OAAOA,CAAP;;AAAS,WAAI,IAAIrpB,CAAC,GAAC,CAAC,CAAP,EAAS81B,CAAC,GAAC,CAAC9B,CAAC,GAAC2kP,EAAE,CAAC3kP,CAAD,EAAG3K,CAAH,CAAL,EAAYrzB,MAAvB,EAA8B29B,CAAC,GAACmC,CAAC,GAAC,CAAlC,EAAoC21C,CAAC,GAACpiD,CAA1C,EAA4C,QAAMoiD,CAAN,IAAS,EAAEzrE,CAAF,GAAI81B,CAAzD,GAA4D;AAAC,YAAIkxI,CAAC,GAAC6xG,EAAE,CAAC7kP,CAAC,CAACh0B,CAAD,CAAF,CAAR;AAAA,YAAeu1M,CAAC,GAAC3hL,CAAjB;AAAmB,YAAG,gBAAcozI,CAAd,IAAiB,kBAAgBA,CAAjC,IAAoC,gBAAcA,CAArD,EAAuD,OAAO39I,CAAP;;AAAS,YAAGrpB,CAAC,IAAE2zB,CAAN,EAAQ;AAAC,cAAIV,CAAC,GAACw4C,CAAC,CAACu7F,CAAD,CAAP;AAAW,eAAK,CAAL,MAAUuuC,CAAC,GAAC3/K,CAAC,GAACA,CAAC,CAAC3C,CAAD,EAAG+zI,CAAH,EAAKv7F,CAAL,CAAF,GAAU,KAAK,CAA5B,MAAiC8pI,CAAC,GAACjH,CAAC,CAACr7K,CAAD,CAAD,GAAKA,CAAL,GAAO2jO,EAAE,CAAC5iO,CAAC,CAACh0B,CAAC,GAAC,CAAH,CAAF,CAAF,GAAW,EAAX,GAAc,EAAxD;AAA4D;;AAAA21P,QAAAA,EAAE,CAAClqL,CAAD,EAAGu7F,CAAH,EAAKuuC,CAAL,CAAF,EAAU9pI,CAAC,GAACA,CAAC,CAACu7F,CAAD,CAAb;AAAiB;;AAAA,aAAO39I,CAAP;AAAS,KAAvS;;AAAwS,UAAMmxP,EAAE,GAAC,UAASnxP,CAAT,EAAW2K,CAAX,EAAaJ,CAAb,EAAe;AAAC,aAAO,QAAMvK,CAAN,GAAQA,CAAR,GAAUkxP,EAAE,CAAClxP,CAAD,EAAG2K,CAAH,EAAKJ,CAAL,CAAnB;AAA2B,KAApD;;AAAqD,UAAM6mP,EAAN,CAAQ;AAAC3xR,MAAAA,WAAW,CAACugC,CAAD,EAAG;AAAC,aAAKqxP,OAAL,GAAa,EAAb,EAAgB,KAAKC,eAAL,GAAqBtxP,CAArC;AAAuC;;AAAW,UAAPqW,OAAO,GAAE;AAAC,eAAM,CAAClU,MAAM,CAACqgF,OAAP,CAAe,KAAK6uK,OAApB,EAA6B1kR,MAApC;AAA2C;;AAAQ,UAAJwlG,IAAI,GAAE;AAAC,eAAO,KAAK97D,OAAL,GAAa,CAAb,GAAe,KAAKi4O,aAAL,GAAqB3hR,MAA3C;AAAkD;;AAAA4kR,MAAAA,KAAK,CAACvxP,CAAD,EAAG;AAAC,aAAK0e,KAAL;;AAAa,cAAM/T,CAAC,GAAC,UAAS3K,CAAT,EAAW;AAAC,cAAI2K,CAAC,GAAC,IAAN;AAAA,cAAWJ,CAAC,GAAC,CAAb;AAAA,cAAegC,CAAC,GAAC,CAAjB;AAAA,cAAmB51B,CAAC,GAAC,IAArB;AAA0B,gBAAM81B,CAAC,GAAC,IAAIwC,GAAJ,EAAR;AAAgB,cAAG,OAAKjP,CAAR,EAAU,OAAOyM,CAAP;AAAS,iBAAKzM,CAAC,CAACunB,MAAF,CAASvnB,CAAC,CAACrzB,MAAF,GAAS,CAAlB,CAAL,KAA4BqzB,CAAC,IAAE,GAA/B;;AAAoC,eAAI,IAAIsK,CAAC,GAAC,CAAV,EAAYA,CAAC,GAACtK,CAAC,CAACrzB,MAAhB,EAAuB29B,CAAC,EAAxB,EAA2B;AAAC,kBAAM83C,CAAC,GAACpiD,CAAC,CAACunB,MAAF,CAASjd,CAAT,CAAR;AAAoB,gBAAG,SAAOK,CAAV,EAAY,QAAOy3C,CAAP;AAAU,mBAAI,GAAJ;AAAQzrE,gBAAAA,CAAC,KAAGA,CAAC,GAACqpB,CAAC,CAACi/G,MAAF,CAAS10G,CAAT,EAAWD,CAAC,GAACC,CAAb,CAAF,EAAkBgC,CAAC,GAACjC,CAAC,GAAC,CAAzB,CAAD;AAA6B;;AAAM,mBAAI,GAAJ;AAAQ,mBAAI,GAAJ;AAAQK,gBAAAA,CAAC,GAACy3C,CAAF;AAAI;;AAAM,mBAAI,GAAJ;AAAQ;AAAC,wBAAMz3C,CAAC,GAAC3K,CAAC,CAACi/G,MAAF,CAAS1yG,CAAT,EAAWjC,CAAC,GAACiC,CAAb,CAAR;AAAwB51B,kBAAAA,CAAC,IAAE81B,CAAC,CAAC3H,GAAF,CAAMnuB,CAAC,CAACqnE,IAAF,EAAN,EAAerzC,CAAC,CAACqzC,IAAF,EAAf,CAAH,EAA4BrnE,CAAC,GAAC,IAA9B,EAAmC4zB,CAAC,GAACD,CAAC,GAAC,CAAvC;AAAyC;AAAM;AAA/J,aAAZ,MAAiL83C,CAAC,KAAGz3C,CAAJ,KAAQA,CAAC,GAAC,IAAV;AAAgB;;AAAA,iBAAO8B,CAAP;AAAS,SAAvW,CAAwWzM,CAAxW,CAAR;;AAAmX,aAAI,MAAK,CAACA,CAAD,EAAGuK,CAAH,CAAT,IAAiBI,CAAjB,EAAmB,KAAK2mP,eAAL,CAAqBE,gBAArB,CAAsCxxP,CAAtC,EAAwCuK,CAAxC,EAA0C,KAAK8mP,OAA/C;AAAwD;;AAAAviO,MAAAA,GAAG,CAAC9uB,CAAD,EAAG;AAAC,YAAG,KAAKqW,OAAR,EAAgB,OAAM,CAAC,CAAP;;AAAS,cAAM1L,CAAC,GAAC,KAAK2mP,eAAL,CAAqBG,cAArB,CAAoCzxP,CAApC,EAAsC,KAAKqxP,OAA3C,EAAoD92Q,IAApD,CAA0D,CAAC,CAACowB,CAAD,CAAD,KAAOA,CAAC,KAAG3K,CAArE,CAAR;;AAAiF,eAAOmF,KAAK,CAACi8E,OAAN,CAAcz2E,CAAd,CAAP;AAAwB;;AAAA7F,MAAAA,GAAG,CAAC9E,CAAD,EAAG2K,CAAH,EAAK;AAAC,YAAGs6K,CAAC,CAACjlL,CAAD,CAAJ,EAAQ,KAAI,MAAK,CAAC2K,CAAD,EAAGJ,CAAH,CAAT,IAAiBpI,MAAM,CAACqgF,OAAP,CAAexiF,CAAf,CAAjB,EAAmC,KAAKsxP,eAAL,CAAqBE,gBAArB,CAAsC7mP,CAAtC,EAAwCJ,CAAxC,EAA0C,KAAK8mP,OAA/C,EAA3C,KAAwG,KAAKC,eAAL,CAAqBE,gBAArB,CAAsCxxP,CAAtC,EAAwC2K,CAAxC,EAA0C,KAAK0mP,OAA/C;AAAwD;;AAAApxK,MAAAA,MAAM,CAACjgF,CAAD,EAAG;AAAC,cAAM2K,CAAC,GAAC+mP,EAAE,CAAC1xP,CAAD,CAAV;AAAc6vP,QAAAA,EAAE,CAAC,KAAKwB,OAAN,EAAc1mP,CAAd,CAAF,EAAmB,OAAO,KAAK0mP,OAAL,CAAarxP,CAAb,CAA1B,EAA0C,KAAK2xP,wBAAL,CAA8BhnP,CAA9B,CAA1C;AAA2E;;AAAAinP,MAAAA,aAAa,CAAC5xP,CAAD,EAAG;AAAC,eAAO,KAAKsxP,eAAL,CAAqBM,aAArB,CAAmC5xP,CAAnC,EAAqC,KAAKqxP,OAA1C,CAAP;AAA0D;;AAAAn0O,MAAAA,QAAQ,GAAE;AAAC,eAAO,KAAK7G,OAAL,GAAa,EAAb,GAAgB,KAAKw7O,iBAAL,GAAyBroR,GAAzB,CAA8Bw2B,CAAC,IAAEA,CAAC,CAACjzB,IAAF,CAAO,GAAP,CAAjC,EAA+C8zE,IAA/C,GAAsD9zE,IAAtD,CAA2D,GAA3D,IAAgE,GAAvF;AAA2F;;AAAA+kR,MAAAA,WAAW,CAAC9xP,CAAD,EAAG;AAAC,YAAG,KAAKqW,OAAR,EAAgB;AAAO,YAAG,KAAKg7O,OAAL,CAAarxP,CAAb,KAAiB,CAACilL,CAAC,CAAC,KAAKosE,OAAL,CAAarxP,CAAb,CAAD,CAAtB,EAAwC,OAAO,KAAKqxP,OAAL,CAAarxP,CAAb,CAAP;;AAAuB,cAAM2K,CAAC,GAAC,KAAK2mP,eAAL,CAAqBG,cAArB,CAAoCzxP,CAApC,EAAsC,KAAKqxP,OAA3C,EAAoD92Q,IAApD,CAA0D,CAAC,CAACowB,CAAD,CAAD,KAAOA,CAAC,KAAG3K,CAArE,CAAR;;AAAiF,eAAOmF,KAAK,CAACi8E,OAAN,CAAcz2E,CAAd,IAAiBA,CAAC,CAAC,CAAD,CAAlB,GAAsB,KAAK,CAAlC;AAAoC;;AAAA2jP,MAAAA,aAAa,CAACtuP,CAAC,GAAC,CAAC,CAAJ,EAAM;AAAC,YAAG,KAAKqW,OAAR,EAAgB,OAAM,EAAN;AAAS,YAAGrW,CAAH,EAAK,OAAO,KAAKsxP,eAAL,CAAqBhD,aAArB,CAAmC,KAAK+C,OAAxC,CAAP;AAAwD,eAAO,KAAKQ,iBAAL,GAAyBroR,GAAzB,CAA8B,CAAC,CAACw2B,CAAD,CAAD,KAAOA,CAArC,CAAP;AAAgD;;AAAA0e,MAAAA,KAAK,GAAE;AAAC,aAAK2yO,OAAL,GAAa,EAAb;AAAgB;;AAAAQ,MAAAA,iBAAiB,GAAE;AAAC,cAAM7xP,CAAC,GAAC,EAAR;AAAA,cAAW2K,CAAC,GAACxI,MAAM,CAACkD,IAAP,CAAY,KAAKgsP,OAAjB,CAAb;;AAAuC,aAAI,MAAM9mP,CAAV,IAAeI,CAAf,EAAiB3K,CAAC,CAACiG,IAAF,CAAO,GAAG,KAAKqrP,eAAL,CAAqBG,cAArB,CAAoClnP,CAApC,EAAsC,KAAK8mP,OAA3C,CAAV;;AAA+D,eAAOrxP,CAAP;AAAS;;AAAA2xP,MAAAA,wBAAwB,CAAC3xP,CAAD,EAAG;AAAC,cAAM2K,CAAC,GAAC3K,CAAC,CAACjhB,KAAF,CAAQ,GAAR,CAAR;AAAqB,YAAG,EAAE4rB,CAAC,CAACh+B,MAAF,GAAS,CAAX,CAAH,EAAiB;AAAO,cAAM49B,CAAC,GAACI,CAAC,CAACw4F,MAAF,CAAS,CAAT,EAAWx4F,CAAC,CAACh+B,MAAF,GAAS,CAApB,EAAuBI,IAAvB,CAA4B,GAA5B,CAAR;AAAA,cAAyCw/B,CAAC,GAACujP,EAAE,CAAC,KAAKuB,OAAN,EAAc9mP,CAAd,CAA7C;AAA8D,YAAG,CAACgC,CAAJ,EAAM;AAAO,SAACpK,MAAM,CAACkD,IAAP,CAAYkH,CAAZ,EAAe5/B,MAAhB,IAAwB,KAAKszG,MAAL,CAAY11E,CAAZ,CAAxB;AAAuC;;AAAl6D;;AAAm6D,UAAMwnP,EAAN,CAAQ;AAACtyR,MAAAA,WAAW,GAAE;AAAC,aAAKuyR,YAAL,GAAkB,IAAI/iP,GAAJ,EAAlB,EAA0B,KAAKgjP,WAAL,GAAiB,IAAIhjP,GAAJ,EAA3C,EAAmD,KAAKijP,SAAL,GAAe,IAAIjjP,GAAJ,EAAlE,EAA0E,KAAKkjP,YAAL,GAAkB,IAAIljP,GAAJ,EAA5F;AAAoG;;AAAAuiP,MAAAA,gBAAgB,CAACxxP,CAAD,EAAG2K,CAAH,EAAKJ,CAAL,EAAO;AAAC,YAAG06K,CAAC,CAACt6K,CAAD,CAAJ,EAAQmhL,EAAE,CAACvhL,CAAD,EAAGmnP,EAAE,CAAC1xP,CAAD,CAAL,EAAS2K,CAAT,CAAF,CAAR,KAA2B,IAAG,KAAKqnP,YAAL,CAAkBljO,GAAlB,CAAsB9uB,CAAtB,CAAH,EAA4B;AAAC,gBAAMuM,CAAC,GAAC,KAAKylP,YAAL,CAAkBvxR,GAAlB,CAAsBu/B,CAAtB,CAAR;AAAA,gBAAiC;AAACh5B,YAAAA,IAAI,EAAC2P,CAAN;AAAQzF,YAAAA,KAAK,EAACu7B;AAAd,cAAiBF,CAAC,CAAC5B,CAAD,CAAnD;;AAAuDmhL,UAAAA,EAAE,CAACvhL,CAAD,EAAG5zB,CAAH,EAAK81B,CAAL,CAAF;AAAU,SAA9F,MAAmGq/K,EAAE,CAACvhL,CAAD,EAAGvK,CAAH,EAAK2K,CAAL,CAAF;AAAU;;AAAAinP,MAAAA,aAAa,CAAC5xP,CAAD,EAAG2K,CAAH,EAAK;AAAC,YAAG,CAAC3K,CAAJ,EAAM,OAAOixP,EAAE,CAAC,EAAD,EAAItmP,CAAJ,CAAT;AAAgB,YAAG,KAAK,CAAL,KAASA,CAAC,CAAC3K,CAAD,CAAb,EAAiB,OAAO2K,CAAC,CAAC3K,CAAD,CAAR;;AAAY,YAAG,KAAKiyP,WAAL,CAAiBnjO,GAAjB,CAAqB9uB,CAArB,CAAH,EAA2B;AAAC,gBAAMuK,CAAC,GAAC,KAAK0nP,WAAL,CAAiBxxR,GAAjB,CAAqBu/B,CAArB,CAAR;;AAAgC,cAAG,YAAU,OAAOuK,CAApB,EAAsB,OAAOulP,EAAE,CAACnlP,CAAD,EAAGJ,CAAH,CAAT;AAAe,gBAAMgC,CAAC,GAAChC,CAAC,CAACvK,CAAD,EAAG2K,CAAH,CAAT;AAAe,cAAG4B,CAAH,EAAK,OAAOA,CAAP;AAAS;;AAAA,eAAOujP,EAAE,CAACnlP,CAAD,EAAG+mP,EAAE,CAAC1xP,CAAD,CAAL,CAAT;AAAmB;;AAAAyxP,MAAAA,cAAc,CAACzxP,CAAD,EAAG2K,CAAH,EAAK;AAAC,cAAMJ,CAAC,GAAC,KAAKqnP,aAAL,CAAmB5xP,CAAnB,EAAqB2K,CAArB,CAAR;AAAgC,YAAG,KAAK,CAAL,KAASJ,CAAZ,EAAc,OAAM,EAAN;;AAAS,YAAG,KAAK2nP,SAAL,CAAepjO,GAAf,CAAmB9uB,CAAnB,CAAH,EAAyB;AAAC,iBAAO,KAAKkyP,SAAL,CAAezxR,GAAf,CAAmBu/B,CAAnB,EAAsBuK,CAAtB,CAAP;AAAgC;;AAAA,eAAM,CAAC,CAACvK,CAAD,EAAGuK,CAAH,CAAD,CAAN;AAAc;;AAAA+jP,MAAAA,aAAa,CAACtuP,CAAD,EAAG;AAAC,cAAM2K,CAAC,GAACxF,KAAK,CAAC7H,IAAN,CAAW,KAAK60P,YAAL,CAAkB9sP,IAAlB,EAAX,EAAqC17B,MAArC,CAA6CghC,CAAC,IAAE;AAAC,gBAAMJ,CAAC,GAAC,KAAKqnP,aAAL,CAAmBjnP,CAAnB,EAAqB3K,CAArB,CAAR;AAAgC,iBAAOuK,CAAC,IAAE,YAAU,OAAOA,CAApB,GAAsBpI,MAAM,CAACkD,IAAP,CAAYkF,CAAZ,EAAe59B,MAArC,GAA4C49B,CAAnD;AAAqD,SAAtI,CAAR;AAAA,cAAiJA,CAAC,GAAC,IAAIsnE,GAAJ,CAAQ,CAAC,GAAGlnE,CAAJ,EAAM,GAAGxI,MAAM,CAACkD,IAAP,CAAYrF,CAAZ,CAAT,CAAR,CAAnJ;AAAqL,eAAOmF,KAAK,CAAC7H,IAAN,CAAWiN,CAAX,CAAP;AAAqB;;AAAA6nP,MAAAA,gBAAgB,CAACpyP,CAAD,EAAG;AAAC,eAAO,KAAKmyP,YAAL,CAAkB1xR,GAAlB,CAAsBu/B,CAAtB,KAA0B,EAAjC;AAAoC;;AAAAqyP,MAAAA,aAAa,CAACryP,CAAD,EAAG2K,CAAH,EAAK;AAAC,aAAKqnP,YAAL,CAAkBltP,GAAlB,CAAsB9E,CAAtB,EAAwB2K,CAAxB;AAA2B;;AAAA2nP,MAAAA,YAAY,CAACtyP,CAAD,EAAG2K,CAAH,EAAK;AAAC,aAAKsnP,WAAL,CAAiBntP,GAAjB,CAAqB9E,CAArB,EAAuB2K,CAAvB;AAA0B;;AAAA4nP,MAAAA,UAAU,CAACvyP,CAAD,EAAG2K,CAAH,EAAK;AAAC,aAAKunP,SAAL,CAAeptP,GAAf,CAAmB9E,CAAnB,EAAqB2K,CAArB;AAAwB;;AAAA6nP,MAAAA,gBAAgB,CAACxyP,CAAD,EAAG2K,CAAH,EAAK;AAAC,aAAK8nP,cAAL,CAAoBzyP,CAApB,EAAsB2K,CAAtB;;AAAyB,aAAI,MAAMJ,CAAV,IAAeI,CAAf,EAAiB,KAAK8nP,cAAL,CAAoBloP,CAApB,EAAsB,CAACvK,CAAD,CAAtB;AAA2B;;AAAAyyP,MAAAA,cAAc,CAACzyP,CAAD,EAAG2K,CAAH,EAAK;AAAC,aAAKwnP,YAAL,CAAkBrjO,GAAlB,CAAsB9uB,CAAtB,KAA0B,KAAKmyP,YAAL,CAAkBrtP,GAAlB,CAAsB9E,CAAtB,EAAwB,EAAxB,CAA1B,EAAsD,KAAKmyP,YAAL,CAAkB1xR,GAAlB,CAAsBu/B,CAAtB,EAAyBiG,IAAzB,CAA8B,GAAG0E,CAAjC,CAAtD;AAA0F;;AAA3tC;;AAA4tC,aAAS+mP,EAAT,CAAY1xP,CAAZ,EAAc;AAAC,aAAOA,CAAC,CAAC3gB,OAAF,CAAU,GAAV,EAAc,GAAd,CAAP;AAA0B;;AAAA,aAASysM,EAAT,CAAY9rL,CAAZ,EAAc2K,CAAd,EAAgBJ,CAAhB,EAAkB;AAAC,UAAIgC,CAAC,GAAChC,CAAN;AAAQ06K,MAAAA,CAAC,CAAC16K,CAAD,CAAD,KAAOgC,CAAC,GAAC0kP,EAAE,CAAC,EAAD,EAAInB,EAAE,CAAC9vP,CAAD,EAAG2K,CAAH,CAAN,EAAYJ,CAAZ,CAAX,GAA2B4mP,EAAE,CAACnxP,CAAD,EAAG2K,CAAH,EAAK4B,CAAL,CAA7B;AAAqC;;AAAA,UAAMmmP,EAAN,SAAiBjrE,EAAjB,CAAmB;AAAChoN,MAAAA,WAAW,CAACugC,CAAD,EAAG2K,CAAH,EAAKJ,CAAL,EAAOgC,CAAP,EAAS;AAAC,YAAG,MAAMvM,CAAN,GAAS,KAAK2yP,yBAAL,GAA+B,EAAxC,EAA2C,KAAKC,iBAAL,GAAuB,IAAI3jP,GAAJ,EAAlE,EAA0E,KAAKz+B,IAAL,GAAUm6B,CAApF,EAAsF,KAAKkoP,MAAL,GAAY,UAAS7yP,CAAT,EAAW;AAAC,gBAAM2K,CAAC,GAACqzO,EAAE,CAACh+O,CAAD,CAAV;;AAAc,eAAI,MAAK,CAACA,CAAD,EAAGuK,CAAH,CAAT,IAAiBI,CAAjB,EAAmB,SAAOJ,CAAP,GAASI,CAAC,CAACiK,MAAF,CAAS5U,CAAT,CAAT,GAAqB,YAAU,OAAOuK,CAAjB,IAAoBI,CAAC,CAAC7F,GAAF,CAAM9E,CAAN,EAAQ0/B,MAAM,CAACn1B,CAAD,CAAd,CAAzC;;AAA4D,iBAAOI,CAAP;AAAS,SAAlH,CAAmHJ,CAAnH,CAAlG,EAAwN,KAAKuoP,SAAL,GAAe,EAAvO,EAA0OvmP,CAAC,IAAE,KAAKwmP,YAAL,CAAkB,CAAlB,EAAoBxmP,CAApB,CAA7O,EAAoQ,KAAKymP,QAAL,GAAc,IAAInhL,GAAJ,EAAlR,EAA0R,KAAKghL,MAAL,CAAY/jO,GAAZ,CAAgB,OAAhB,CAA7R,EAAsT;AAAC,gBAAM9uB,CAAC,GAAC,KAAK6yP,MAAL,CAAYpyR,GAAZ,CAAgB,OAAhB,CAAR;;AAAiC8rN,UAAAA,EAAE,CAAC,KAAKymE,QAAN,EAAehzP,CAAf,CAAF,EAAoB,KAAK6yP,MAAL,CAAYj+O,MAAZ,CAAmB,OAAnB,CAApB;AAAgD;;AAAA,aAAKy8O,OAAL,GAAa,IAAID,EAAJ,CAAO,KAAK1vP,QAAL,CAAcuxP,eAArB,CAAb,EAAmD,KAAKJ,MAAL,CAAY/jO,GAAZ,CAAgB,OAAhB,MAA2B,KAAKuiO,OAAL,CAAaE,KAAb,CAAmB,KAAKsB,MAAL,CAAYpyR,GAAZ,CAAgB,OAAhB,CAAnB,GAA6C,KAAKoyR,MAAL,CAAYj+O,MAAZ,CAAmB,OAAnB,CAAxE,CAAnD;AAAwJ;;AAAc,UAAV83O,UAAU,GAAE;AAAC,eAAO,KAAKoG,SAAL,CAAenmR,MAAtB;AAA6B;;AAAW,UAAP0pC,OAAO,GAAE;AAAC,eAAO,MAAI,KAAKy8O,SAAL,CAAenmR,MAA1B;AAAiC;;AAAAkgR,MAAAA,QAAQ,CAAC7sP,CAAD,EAAG;AAAC,eAAO,KAAK8yP,SAAL,CAAe9yP,CAAf,CAAP;AAAyB;;AAAA+sP,MAAAA,aAAa,CAAC/sP,CAAD,EAAG;AAAC,eAAO,KAAK8yP,SAAL,CAAe16Q,OAAf,CAAuB4nB,CAAvB,CAAP;AAAiC;;AAAAgkF,MAAAA,WAAW,GAAE;AAAC,eAAO,KAAK8uK,SAAL,CAAe5mP,MAAM,CAACC,QAAtB,GAAP;AAAyC;;AAAiB,OAAhB+hP,gBAAgB,GAAE;AAAC,aAAK8E,QAAL,CAAc7gL,IAAd,GAAmB,CAAnB,KAAuB,MAAK,OAA5B,GAAqC,KAAKk/K,OAAL,CAAah7O,OAAb,KAAuB,MAAK,OAA5B,CAArC,EAA0E,OAAM,KAAKw8O,MAAL,CAAYxtP,IAAZ,EAAhF;AAAmG;;AAAc,OAAb6+E,aAAa,GAAE;AAAC,eAAM,KAAK2uK,MAAL,CAAYrwK,OAAZ,EAAN,EAA4B,KAAKwwK,QAAL,CAAc7gL,IAAd,GAAmB,CAAnB,KAAuB,MAAK,CAAC,OAAD,EAAS,KAAK0vK,YAAL,CAAkB,OAAlB,CAAT,CAA5B,CAA5B,EAA8F,KAAKwP,OAAL,CAAah7O,OAAb,KAAuB,MAAK,CAAC,OAAD,EAAS,KAAKwrO,YAAL,CAAkB,OAAlB,CAAT,CAA5B,CAA9F;AAAgK;;AAAAA,MAAAA,YAAY,CAAC7hP,CAAD,EAAG;AAAC,YAAG,WAASA,CAAZ,EAAc,OAAO,KAAKgzP,QAAL,CAAc7gL,IAAd,GAAmB,CAAnB,GAAqB,CAAC,GAAG,KAAK6gL,QAAT,EAAmBjmR,IAAnB,CAAwB,GAAxB,CAArB,GAAkD,KAAK,CAA9D;;AAAgE,YAAG,WAASizB,CAAZ,EAAc;AAAC,gBAAMA,CAAC,GAAC,KAAKqxP,OAAL,CAAan0O,QAAb,EAAR;;AAAgC,iBAAM,MAAIld,CAAJ,GAAM,KAAK,CAAX,GAAaA,CAAnB;AAAqB;;AAAA,eAAO,KAAK6yP,MAAL,CAAYpyR,GAAZ,CAAgBu/B,CAAhB,CAAP;AAA0B;;AAAAkzP,MAAAA,YAAY,CAAClzP,CAAD,EAAG;AAAC,eAAM,WAASA,CAAT,GAAW,KAAKgzP,QAAL,CAAc7gL,IAAd,GAAmB,CAA9B,GAAgC,WAASnyE,CAAT,GAAW,CAAC,KAAKqxP,OAAL,CAAah7O,OAAzB,GAAiC,KAAKw8O,MAAL,CAAY/jO,GAAZ,CAAgB9uB,CAAhB,CAAvE;AAA0F;;AAAAwtP,MAAAA,SAAS,CAACxtP,CAAD,EAAG;AAAC,YAAG,EAAEA,CAAC,YAAY0yP,EAAf,CAAH,EAAsB,OAAM,CAAC,CAAP;AAAS,YAAG,SAAO1yP,CAAV,EAAY,OAAM,CAAC,CAAP;AAAS,YAAG,KAAKxvB,IAAL,IAAWwvB,CAAC,CAACxvB,IAAhB,EAAqB,OAAM,CAAC,CAAP;AAAS,YAAG,KAAKqiR,MAAL,CAAY1gL,IAAZ,KAAmBnyE,CAAC,CAAC6yP,MAAF,CAAS1gL,IAA5B,IAAkC,KAAK6gL,QAAL,CAAc7gL,IAAd,KAAqBnyE,CAAC,CAACgzP,QAAF,CAAW7gL,IAAlE,IAAwE,KAAKk/K,OAAL,CAAal/K,IAAb,KAAoBnyE,CAAC,CAACqxP,OAAF,CAAUl/K,IAAzG,EAA8G,OAAM,CAAC,CAAP;;AAAS,aAAI,MAAK,CAACxnE,CAAD,EAAGJ,CAAH,CAAT,IAAiB,KAAKsoP,MAAtB,EAA6B,IAAG,CAAC7yP,CAAC,CAAC6yP,MAAF,CAAS/jO,GAAT,CAAankB,CAAb,CAAD,IAAkB3K,CAAC,CAAC6yP,MAAF,CAASpyR,GAAT,CAAakqC,CAAb,MAAkBJ,CAAvC,EAAyC,OAAM,CAAC,CAAP;;AAAS,aAAI,MAAMI,CAAV,IAAe,KAAKqoP,QAApB,EAA6B,IAAG,CAAChzP,CAAC,CAACgzP,QAAF,CAAWlkO,GAAX,CAAenkB,CAAf,CAAJ,EAAsB,OAAM,CAAC,CAAP;;AAAS,aAAI,MAAMA,CAAV,IAAe,KAAK0mP,OAAL,CAAa/C,aAAb,EAAf,EAA4C,IAAG,CAACtuP,CAAC,CAACqxP,OAAF,CAAUviO,GAAV,CAAcnkB,CAAd,CAAD,IAAmB3K,CAAC,CAACqxP,OAAF,CAAUS,WAAV,CAAsBnnP,CAAtB,MAA2B,KAAK0mP,OAAL,CAAaS,WAAb,CAAyBnnP,CAAzB,CAAjD,EAA6E,OAAM,CAAC,CAAP;;AAAS,eAAM,CAAC,CAAP;AAAS;;AAAA6hP,MAAAA,QAAQ,CAAC,GAAGxsP,CAAJ,EAAM;AAAC,aAAI,MAAM2K,CAAV,IAAe3K,CAAf,EAAiB,IAAG,CAAC,KAAKgzP,QAAL,CAAclkO,GAAd,CAAkBnkB,CAAlB,CAAJ,EAAyB,OAAM,CAAC,CAAP;;AAAS,eAAM,CAAC,CAAP;AAAS;;AAAA0jP,MAAAA,aAAa,GAAE;AAAC,eAAO,KAAK2E,QAAL,CAAc3tP,IAAd,EAAP;AAA4B;;AAAAkpP,MAAAA,QAAQ,CAACvuP,CAAD,EAAG;AAAC,eAAO,KAAKqxP,OAAL,CAAaS,WAAb,CAAyB9xP,CAAzB,CAAP;AAAmC;;AAAAmzP,MAAAA,kBAAkB,CAACnzP,CAAD,EAAG;AAAC,eAAO,KAAKqxP,OAAL,CAAaO,aAAb,CAA2B5xP,CAA3B,CAAP;AAAqC;;AAAAsuP,MAAAA,aAAa,CAACtuP,CAAD,EAAG;AAAC,eAAO,KAAKqxP,OAAL,CAAa/C,aAAb,CAA2BtuP,CAA3B,CAAP;AAAqC;;AAAAozP,MAAAA,QAAQ,CAAC,GAAGpzP,CAAJ,EAAM;AAAC,aAAI,MAAM2K,CAAV,IAAe3K,CAAf,EAAiB,IAAG,CAAC,KAAKqxP,OAAL,CAAaviO,GAAb,CAAiBnkB,CAAjB,CAAJ,EAAwB,OAAM,CAAC,CAAP;;AAAS,eAAM,CAAC,CAAP;AAAS;;AAAA0oP,MAAAA,YAAY,CAAC,GAAGrzP,CAAJ,EAAM;AAAC,cAAM2K,CAAC,GAAC,IAAImjP,EAAJ,CAAO,GAAG9tP,CAAV,CAAR;AAAqB,YAAIuK,CAAC,GAAC,KAAK42C,MAAX;;AAAkB,eAAK52C,CAAC,IAAE,CAACA,CAAC,CAACsgF,EAAF,CAAK,kBAAL,CAAT,GAAmC;AAAC,cAAGlgF,CAAC,CAACu/C,KAAF,CAAQ3/C,CAAR,CAAH,EAAc,OAAOA,CAAP;AAASA,UAAAA,CAAC,GAACA,CAAC,CAAC42C,MAAJ;AAAW;;AAAA,eAAO,IAAP;AAAY;;AAAAmyM,MAAAA,iBAAiB,CAACtzP,CAAD,EAAG;AAAC,eAAO,KAAK4yP,iBAAL,CAAuBnyR,GAAvB,CAA2Bu/B,CAA3B,CAAP;AAAqC;;AAAoB,OAAnBuzP,mBAAmB,GAAE;AAAC,eAAM,KAAKX,iBAAL,CAAuBpwK,OAAvB,EAAN;AAAuC;;AAAAgxK,MAAAA,WAAW,GAAE;AAAC,cAAMxzP,CAAC,GAACmF,KAAK,CAAC7H,IAAN,CAAW,KAAK01P,QAAhB,EAA0BnyM,IAA1B,GAAiC9zE,IAAjC,CAAsC,GAAtC,CAAR;AAAA,cAAmD49B,CAAC,GAAC,KAAK0mP,OAAL,CAAan0O,QAAb,EAArD;AAAA,cAA6E3S,CAAC,GAACpF,KAAK,CAAC7H,IAAN,CAAW,KAAKu1P,MAAhB,EAAwBrpR,GAAxB,CAA6Bw2B,CAAC,IAAG,GAAEA,CAAC,CAAC,CAAD,CAAI,KAAIA,CAAC,CAAC,CAAD,CAAI,GAAjD,EAAsD6gD,IAAtD,GAA6D9zE,IAA7D,CAAkE,GAAlE,CAA/E;;AAAsJ,eAAO,KAAKyD,IAAL,IAAW,MAAIwvB,CAAJ,GAAM,EAAN,GAAU,WAAUA,CAAE,GAAjC,KAAsC2K,CAAC,GAAE,WAAUA,CAAE,GAAd,GAAiB,EAAxD,KAA6D,MAAIJ,CAAJ,GAAM,EAAN,GAAU,IAAGA,CAAE,EAA5E,CAAP;AAAsF;;AAAAkpP,MAAAA,2BAA2B,CAACzzP,CAAD,EAAG;AAAC,eAAO,KAAK2yP,yBAAL,CAA+BxmR,QAA/B,CAAwC6zB,CAAxC,CAAP;AAAkD;;AAAAytP,MAAAA,MAAM,CAACztP,CAAC,GAAC,CAAC,CAAJ,EAAM;AAAC,cAAM2K,CAAC,GAAC,EAAR;AAAW,YAAG3K,CAAH,EAAK,KAAI,MAAMuK,CAAV,IAAe,KAAKy5E,WAAL,EAAf,EAAkCr5E,CAAC,CAAC1E,IAAF,CAAOsE,CAAC,CAACkjP,MAAF,CAASztP,CAAT,CAAP;AAAoB,cAAMuK,CAAC,GAAC,IAAI,KAAK9qC,WAAT,CAAqB,KAAKiiC,QAA1B,EAAmC,KAAKlxB,IAAxC,EAA6C,KAAKqiR,MAAlD,EAAyDloP,CAAzD,CAAR;AAAoE,eAAOJ,CAAC,CAACyoP,QAAF,GAAW,IAAInhL,GAAJ,CAAQ,KAAKmhL,QAAb,CAAX,EAAkCzoP,CAAC,CAAC8mP,OAAF,CAAUvsP,GAAV,CAAc,KAAKusP,OAAL,CAAaO,aAAb,EAAd,CAAlC,EAA8ErnP,CAAC,CAACqoP,iBAAF,GAAoB,IAAI3jP,GAAJ,CAAQ,KAAK2jP,iBAAb,CAAlG,EAAkIroP,CAAC,CAACmpP,eAAF,GAAkB,KAAKA,eAAzJ,EAAyKnpP,CAAC,CAACooP,yBAAF,GAA4B,KAAKA,yBAA1M,EAAoOpoP,CAA3O;AAA6O;;AAAAw7E,MAAAA,YAAY,CAAC/lF,CAAD,EAAG;AAAC,eAAO,KAAK+yP,YAAL,CAAkB,KAAKrG,UAAvB,EAAkC1sP,CAAlC,CAAP;AAA4C;;AAAA+yP,MAAAA,YAAY,CAAC/yP,CAAD,EAAG2K,CAAH,EAAK;AAAC,aAAK2iP,WAAL,CAAiB,UAAjB,EAA4B,IAA5B;;AAAkC,YAAI/iP,CAAC,GAAC,CAAN;;AAAQ,cAAMgC,CAAC,GAAC,UAASvM,CAAT,EAAW2K,CAAX,EAAa;AAAC,cAAG,YAAU,OAAOA,CAApB,EAAsB,OAAM,CAAC,IAAIqyM,EAAJ,CAAOh9M,CAAP,EAAS2K,CAAT,CAAD,CAAN;AAAoBi9N,UAAAA,CAAC,CAACj9N,CAAD,CAAD,KAAOA,CAAC,GAAC,CAACA,CAAD,CAAT;AAAc,iBAAOxF,KAAK,CAAC7H,IAAN,CAAWqN,CAAX,EAAcnhC,GAAd,CAAmBmhC,CAAC,IAAE,YAAU,OAAOA,CAAjB,GAAmB,IAAIqyM,EAAJ,CAAOh9M,CAAP,EAAS2K,CAAT,CAAnB,GAA+BA,CAAC,YAAYuxJ,EAAb,GAAgB,IAAI8gD,EAAJ,CAAOh9M,CAAP,EAAS2K,CAAC,CAAChjC,IAAX,CAAhB,GAAiCgjC,CAAtF,CAAP;AAAiG,SAAvK,CAAwK,KAAKjJ,QAA7K,EAAsLiJ,CAAtL,CAAR;;AAAiM,aAAI,MAAMA,CAAV,IAAe4B,CAAf,EAAiB,SAAO5B,CAAC,CAACw2C,MAAT,IAAiBx2C,CAAC,CAACsyO,OAAF,EAAjB,EAA6BtyO,CAAC,CAACw2C,MAAF,GAAS,IAAtC,EAA2Cx2C,CAAC,CAACjJ,QAAF,GAAW,KAAKA,QAA3D,EAAoE,KAAKoxP,SAAL,CAAe3vJ,MAAf,CAAsBnjG,CAAtB,EAAwB,CAAxB,EAA0B2K,CAA1B,CAApE,EAAiG3K,CAAC,EAAlG,EAAqGuK,CAAC,EAAtG;;AAAyG,eAAOA,CAAP;AAAS;;AAAA8iP,MAAAA,eAAe,CAACrtP,CAAD,EAAG2K,CAAC,GAAC,CAAL,EAAO;AAAC,aAAK2iP,WAAL,CAAiB,UAAjB,EAA4B,IAA5B;;AAAkC,aAAI,IAAI/iP,CAAC,GAACvK,CAAV,EAAYuK,CAAC,GAACvK,CAAC,GAAC2K,CAAhB,EAAkBJ,CAAC,EAAnB,EAAsB,KAAKuoP,SAAL,CAAevoP,CAAf,EAAkB42C,MAAlB,GAAyB,IAAzB;;AAA8B,eAAO,KAAK2xM,SAAL,CAAe3vJ,MAAf,CAAsBnjG,CAAtB,EAAwB2K,CAAxB,CAAP;AAAkC;;AAAAgpP,MAAAA,aAAa,CAAC3zP,CAAD,EAAG2K,CAAH,EAAK;AAAC,cAAMJ,CAAC,GAACm1B,MAAM,CAAC/0B,CAAD,CAAd;AAAkB,aAAK2iP,WAAL,CAAiB,YAAjB,EAA8B,IAA9B,GAAoC,WAASttP,CAAT,GAAWusL,EAAE,CAAC,KAAKymE,QAAN,EAAezoP,CAAf,CAAb,GAA+B,WAASvK,CAAT,GAAW,KAAKqxP,OAAL,CAAaE,KAAb,CAAmBhnP,CAAnB,CAAX,GAAiC,KAAKsoP,MAAL,CAAY/tP,GAAZ,CAAgB9E,CAAhB,EAAkBuK,CAAlB,CAApG;AAAyH;;AAAAqpP,MAAAA,gBAAgB,CAAC5zP,CAAD,EAAG;AAAC,eAAO,KAAKstP,WAAL,CAAiB,YAAjB,EAA8B,IAA9B,GAAoC,WAASttP,CAAT,GAAW,KAAKgzP,QAAL,CAAc7gL,IAAd,GAAmB,CAAnB,KAAuB,KAAK6gL,QAAL,CAAct0O,KAAd,IAAsB,CAAC,CAA9C,CAAX,GAA4D,WAAS1e,CAAT,GAAW,CAAC,KAAKqxP,OAAL,CAAah7O,OAAd,KAAwB,KAAKg7O,OAAL,CAAa3yO,KAAb,IAAqB,CAAC,CAA9C,CAAX,GAA4D,KAAKm0O,MAAL,CAAYj+O,MAAZ,CAAmB5U,CAAnB,CAAnK;AAAyL;;AAAA6zP,MAAAA,SAAS,CAAC7zP,CAAD,EAAG;AAAC,aAAKstP,WAAL,CAAiB,YAAjB,EAA8B,IAA9B;;AAAoC,aAAI,MAAM3iP,CAAV,IAAegkL,EAAE,CAAC3uL,CAAD,CAAjB,EAAqB,KAAKgzP,QAAL,CAAcp+P,GAAd,CAAkB+V,CAAlB;AAAqB;;AAAAmpP,MAAAA,YAAY,CAAC9zP,CAAD,EAAG;AAAC,aAAKstP,WAAL,CAAiB,YAAjB,EAA8B,IAA9B;;AAAoC,aAAI,MAAM3iP,CAAV,IAAegkL,EAAE,CAAC3uL,CAAD,CAAjB,EAAqB,KAAKgzP,QAAL,CAAcp+O,MAAd,CAAqBjK,CAArB;AAAwB;;AAAAopP,MAAAA,SAAS,CAAC/zP,CAAD,EAAG2K,CAAH,EAAK;AAAC,aAAK2iP,WAAL,CAAiB,YAAjB,EAA8B,IAA9B,GAAoC,YAAU,OAAOttP,CAAjB,GAAmB,KAAKqxP,OAAL,CAAavsP,GAAb,CAAiB9E,CAAjB,CAAnB,GAAuC,KAAKqxP,OAAL,CAAavsP,GAAb,CAAiB9E,CAAjB,EAAmB2K,CAAnB,CAA3E;AAAiG;;AAAAqpP,MAAAA,YAAY,CAACh0P,CAAD,EAAG;AAAC,aAAKstP,WAAL,CAAiB,YAAjB,EAA8B,IAA9B;;AAAoC,aAAI,MAAM3iP,CAAV,IAAegkL,EAAE,CAAC3uL,CAAD,CAAjB,EAAqB,KAAKqxP,OAAL,CAAapxK,MAAb,CAAoBt1E,CAApB;AAAuB;;AAAAspP,MAAAA,kBAAkB,CAACj0P,CAAD,EAAG2K,CAAH,EAAK;AAAC,aAAKioP,iBAAL,CAAuB9tP,GAAvB,CAA2B9E,CAA3B,EAA6B2K,CAA7B;AAAgC;;AAAAupP,MAAAA,qBAAqB,CAACl0P,CAAD,EAAG;AAAC,eAAO,KAAK4yP,iBAAL,CAAuBh+O,MAAvB,CAA8B5U,CAA9B,CAAP;AAAwC;;AAA1kJ;;AAA2kJ,aAASusL,EAAT,CAAYvsL,CAAZ,EAAc2K,CAAd,EAAgB;AAAC,YAAMJ,CAAC,GAACI,CAAC,CAAC5rB,KAAF,CAAQ,KAAR,CAAR;AAAuBihB,MAAAA,CAAC,CAAC0e,KAAF,IAAUnU,CAAC,CAAC1E,OAAF,CAAW8E,CAAC,IAAE3K,CAAC,CAACpL,GAAF,CAAM+V,CAAN,CAAd,CAAV;AAAmC;;AAAA+nP,IAAAA,EAAE,CAACzoP,SAAH,CAAa4gF,EAAb,GAAgB,UAAS7qF,CAAT,EAAW2K,CAAX,EAAa;AAAC,aAAOA,CAAC,GAACA,CAAC,KAAG,KAAKn6B,IAAT,KAAgB,cAAYwvB,CAAZ,IAAe,mBAAiBA,CAAhD,CAAD,GAAoD,cAAYA,CAAZ,IAAe,mBAAiBA,CAAhC,IAAmC,WAASA,CAA5C,IAA+C,gBAAcA,CAAzH;AAA2H,KAAzJ;;AAA0J,UAAMm0P,EAAN,SAAiBzB,EAAjB,CAAmB;AAACjzR,MAAAA,WAAW,CAACugC,CAAD,EAAG2K,CAAH,EAAKJ,CAAL,EAAOgC,CAAP,EAAS;AAAC,cAAMvM,CAAN,EAAQ2K,CAAR,EAAUJ,CAAV,EAAYgC,CAAZ,GAAe,KAAKmnP,eAAL,GAAqBjyM,EAApC;AAAuC;;AAA7D;;AAA8D,aAASA,EAAT,GAAa;AAAC,YAAMzhD,CAAC,GAAC,CAAC,GAAG,KAAKgkF,WAAL,EAAJ,CAAR;AAAA,YAAgCr5E,CAAC,GAAC3K,CAAC,CAAC,KAAK0sP,UAAL,GAAgB,CAAjB,CAAnC;AAAuD,UAAG/hP,CAAC,IAAEA,CAAC,CAACkgF,EAAF,CAAK,SAAL,EAAe,IAAf,CAAN,EAA2B,OAAO,KAAK6hK,UAAZ;;AAAuB,WAAI,MAAM/hP,CAAV,IAAe3K,CAAf,EAAiB,IAAG,CAAC2K,CAAC,CAACkgF,EAAF,CAAK,WAAL,CAAJ,EAAsB,OAAO,IAAP;;AAAY,aAAO,KAAK6hK,UAAZ;AAAuB;;AAAAyH,IAAAA,EAAE,CAAClqP,SAAH,CAAa4gF,EAAb,GAAgB,UAAS7qF,CAAT,EAAW2K,CAAX,EAAa;AAAC,aAAOA,CAAC,GAACA,CAAC,KAAG,KAAKn6B,IAAT,KAAgB,uBAAqBwvB,CAArB,IAAwB,4BAA0BA,CAAlD,IAAqD,cAAYA,CAAjE,IAAoE,mBAAiBA,CAArG,CAAD,GAAyG,uBAAqBA,CAArB,IAAwB,4BAA0BA,CAAlD,IAAqD,cAAYA,CAAjE,IAAoE,mBAAiBA,CAArF,IAAwF,WAASA,CAAjG,IAAoG,gBAAcA,CAAnO;AAAqO,KAAnQ;;AAAoQ,UAAMo0P,EAAN,SAAiB/xM,CAAC,CAAC8xM,EAAD,CAAlB,CAAuB;AAAC10R,MAAAA,WAAW,CAACugC,CAAD,EAAG2K,CAAH,EAAKJ,CAAL,EAAOgC,CAAP,EAAS;AAAC,cAAMvM,CAAN,EAAQ2K,CAAR,EAAUJ,CAAV,EAAYgC,CAAZ,GAAe,KAAKzH,GAAL,CAAS,YAAT,EAAsB,CAAC,CAAvB,CAAf,EAAyC,KAAKA,GAAL,CAAS,WAAT,EAAqB,CAAC,CAAtB,CAAzC,EAAkE,KAAKA,GAAL,CAAS,aAAT,EAAuB,KAAK,CAA5B,CAAlE,EAAiG,KAAK/P,IAAL,CAAU,YAAV,EAAwB03J,EAAxB,CAA2BzsJ,CAA3B,CAAjG,EAA+H,KAAKjL,IAAL,CAAU,WAAV,EAAuB03J,EAAvB,CAA0BzsJ,CAA1B,EAA4B,WAA5B,EAAyC2K,CAAC,IAAEA,CAAC,IAAE3K,CAAC,CAAC8pP,SAAF,CAAYuK,eAAZ,IAA6B,IAA5E,CAA/H,EAAkN,KAAK7uB,QAAL,CAAcxlO,CAAC,CAAC8pP,SAAhB,EAA0B,QAA1B,EAAoC,MAAI;AAAC,eAAKlM,SAAL,GAAe59O,CAAC,CAAC49O,SAAF,IAAa59O,CAAC,CAAC8pP,SAAF,CAAYuK,eAAZ,IAA6B,IAAzD;AAA8D,SAAvG,CAAlN;AAA4T;;AAAA11K,MAAAA,OAAO,GAAE;AAAC,aAAK+mJ,aAAL;AAAqB;;AAAjX;;AAAkX0uB,IAAAA,EAAE,CAACnqP,SAAH,CAAa4gF,EAAb,GAAgB,UAAS7qF,CAAT,EAAW2K,CAAX,EAAa;AAAC,aAAOA,CAAC,GAACA,CAAC,KAAG,KAAKn6B,IAAT,KAAgB,sBAAoBwvB,CAApB,IAAuB,2BAAyBA,CAAhD,IAAmD,uBAAqBA,CAAxE,IAA2E,4BAA0BA,CAArG,IAAwG,cAAYA,CAApH,IAAuH,mBAAiBA,CAAxJ,CAAD,GAA4J,sBAAoBA,CAApB,IAAuB,2BAAyBA,CAAhD,IAAmD,uBAAqBA,CAAxE,IAA2E,4BAA0BA,CAArG,IAAwG,cAAYA,CAApH,IAAuH,mBAAiBA,CAAxI,IAA2I,WAASA,CAApJ,IAAuJ,gBAAcA,CAAzU;AAA2U,KAAzW;;AAA0W,UAAM5/B,EAAE,GAAC8rC,MAAM,CAAC,UAAD,CAAf;;AAA4B,UAAMooP,EAAN,SAAiBF,EAAjB,CAAmB;AAAC30R,MAAAA,WAAW,CAACugC,CAAD,EAAG2K,CAAH,EAAK;AAAC,cAAM3K,CAAN,EAAQ2K,CAAR,GAAW,KAAK23E,QAAL,GAAc,MAAzB;AAAgC;;AAAY,UAARA,QAAQ,GAAE;AAAC,eAAO,KAAKgxK,iBAAL,CAAuBlzR,EAAvB,CAAP;AAAkC;;AAAY,UAARkiH,QAAQ,CAACtiF,CAAD,EAAG;AAAC,aAAKi0P,kBAAL,CAAwB7zR,EAAxB,EAA2B4/B,CAA3B;AAA8B;;AAAS,UAALu0P,KAAK,CAACv0P,CAAD,EAAG;AAAC,aAAKxvB,IAAL,GAAUwvB,CAAV;AAAY;;AAA1K;;AAA2Ks0P,IAAAA,EAAE,CAACrqP,SAAH,CAAa4gF,EAAb,GAAgB,UAAS7qF,CAAT,EAAW2K,CAAX,EAAa;AAAC,aAAOA,CAAC,GAACA,CAAC,KAAG,KAAKn6B,IAAT,KAAgB,kBAAgBwvB,CAAhB,IAAmB,uBAAqBA,CAAxC,IAA2C,sBAAoBA,CAA/D,IAAkE,2BAAyBA,CAA3F,IAA8F,uBAAqBA,CAAnH,IAAsH,4BAA0BA,CAAhJ,IAAmJ,cAAYA,CAA/J,IAAkK,mBAAiBA,CAAnM,CAAD,GAAuM,kBAAgBA,CAAhB,IAAmB,uBAAqBA,CAAxC,IAA2C,sBAAoBA,CAA/D,IAAkE,2BAAyBA,CAA3F,IAA8F,uBAAqBA,CAAnH,IAAsH,4BAA0BA,CAAhJ,IAAmJ,cAAYA,CAA/J,IAAkK,mBAAiBA,CAAnL,IAAsL,WAASA,CAA/L,IAAkM,gBAAcA,CAA/Z;AAAia,KAA/b;;AAAgc,UAAMuuL,EAAN,CAAQ;AAAC9uN,MAAAA,WAAW,CAACugC,CAAC,GAAC,EAAH,EAAM;AAAC,YAAG,CAACA,CAAC,CAACw0P,UAAH,IAAe,CAACx0P,CAAC,CAAC2mF,aAArB,EAAmC,MAAM,IAAIxkC,CAAJ,CAAM,oCAAN,EAA2C,IAA3C,CAAN;AAAuD,YAAGniD,CAAC,CAAC0zM,SAAF,IAAa,aAAW1zM,CAAC,CAAC0zM,SAA1B,IAAqC,cAAY1zM,CAAC,CAAC0zM,SAAtD,EAAgE,MAAM,IAAIvxJ,CAAJ,CAAM,oCAAN,EAA2CniD,CAAC,CAAC2mF,aAA7C,EAA2D;AAAC+sH,UAAAA,SAAS,EAAC1zM,CAAC,CAAC0zM;AAAb,SAA3D,CAAN;AAA0F,aAAK8gD,UAAL,GAAgBx0P,CAAC,CAACw0P,UAAF,IAAc,IAA9B,EAAmCx0P,CAAC,CAAC2mF,aAAF,GAAgB,KAAK8tK,SAAL,GAAelkE,EAAE,CAACmkE,SAAH,CAAa10P,CAAC,CAAC2mF,aAAf,CAA/B,GAA6D,KAAK8tK,SAAL,GAAelkE,EAAE,CAACmkE,SAAH,CAAa10P,CAAC,CAACw0P,UAAF,CAAa,cAAYx0P,CAAC,CAAC0zM,SAAd,GAAwB,KAAxB,GAA8B,OAA3C,CAAb,CAA/G,EAAiL,KAAKA,SAAL,GAAe1zM,CAAC,CAAC0zM,SAAF,IAAa,SAA7M,EAAuN,KAAKihD,gBAAL,GAAsB,CAAC,CAAC30P,CAAC,CAAC20P,gBAAjP,EAAkQ,KAAKC,OAAL,GAAa,CAAC,CAAC50P,CAAC,CAAC40P,OAAnR,EAA2R,KAAKC,gBAAL,GAAsB,CAAC,CAAC70P,CAAC,CAAC60P,gBAArT,EAAsU,KAAKC,oBAAL,GAA0B,KAAKN,UAAL,GAAgB,KAAKA,UAAL,CAAgB/tK,KAAhB,CAAsBtlC,MAAtC,GAA6C,IAA7Y,EAAkZ,KAAK4zM,kBAAL,GAAwB,KAAKP,UAAL,GAAgB,KAAKA,UAAL,CAAgB9tK,GAAhB,CAAoBvlC,MAApC,GAA2C,IAArd;AAA0d;;AAAgB,OAAfj1C,MAAM,CAACC,QAAQ,IAAG;AAAC,eAAO,IAAP;AAAY;;AAAY,UAARr8B,QAAQ,GAAE;AAAC,eAAO,KAAK2kR,SAAZ;AAAsB;;AAAAO,MAAAA,IAAI,CAACh1P,CAAD,EAAG;AAAC,YAAI2K,CAAJ,EAAMJ,CAAN;;AAAQ,WAAE;AAACA,UAAAA,CAAC,GAAC,KAAKz6B,QAAP,EAAgB66B,CAAC,GAAC,KAAK//B,IAAL,EAAlB;AAA8B,SAAjC,QAAuC,CAAC+/B,CAAC,CAACY,IAAH,IAASvL,CAAC,CAAC2K,CAAC,CAACz5B,KAAH,CAAjD;;AAA4Dy5B,QAAAA,CAAC,CAACY,IAAF,KAAS,KAAKkpP,SAAL,GAAelqP,CAAxB;AAA2B;;AAAA3/B,MAAAA,IAAI,GAAE;AAAC,eAAM,aAAW,KAAK8oO,SAAhB,GAA0B,KAAKp5D,KAAL,EAA1B,GAAuC,KAAK26G,SAAL,EAA7C;AAA8D;;AAAA36G,MAAAA,KAAK,GAAE;AAAC,YAAIt6I,CAAC,GAAC,KAAKlwB,QAAL,CAAc8vB,KAAd,EAAN;AAA4B,cAAM+K,CAAC,GAAC,KAAK76B,QAAb;AAAA,cAAsBy6B,CAAC,GAACvK,CAAC,CAACmhD,MAA1B;AAAiC,YAAG,SAAO52C,CAAC,CAAC42C,MAAT,IAAiBnhD,CAAC,CAACq9E,MAAF,KAAW9yE,CAAC,CAACmiP,UAAjC,EAA4C,OAAM;AAACnhP,UAAAA,IAAI,EAAC,CAAC,CAAP;AAASr6B,UAAAA,KAAK,EAAC,KAAK;AAApB,SAAN;AAA6B,YAAGq5B,CAAC,KAAG,KAAKwqP,kBAAT,IAA6B/0P,CAAC,CAACq9E,MAAF,IAAU,KAAKm3K,UAAL,CAAgB9tK,GAAhB,CAAoBrJ,MAA9D,EAAqE,OAAM;AAAC9xE,UAAAA,IAAI,EAAC,CAAC,CAAP;AAASr6B,UAAAA,KAAK,EAAC,KAAK;AAApB,SAAN;AAA6B,YAAIq7B,CAAJ;;AAAM,YAAGhC,CAAC,YAAYyyM,EAAhB,EAAmB;AAAC,cAAGh9M,CAAC,CAACk1P,OAAL,EAAa,OAAO,KAAKT,SAAL,GAAelkE,EAAE,CAAC4kE,YAAH,CAAgB5qP,CAAhB,CAAf,EAAkC,KAAK+vI,KAAL,EAAzC;AAAsD/tI,UAAAA,CAAC,GAAChC,CAAC,CAAC5iC,IAAF,CAAOq4B,CAAC,CAACq9E,MAAT,CAAF;AAAmB,SAA1G,MAA+G9wE,CAAC,GAAChC,CAAC,CAACsiP,QAAF,CAAW7sP,CAAC,CAACq9E,MAAb,CAAF;;AAAuB,YAAG9wE,CAAC,YAAYmmP,EAAhB,EAAmB;AAAC,cAAG,KAAKkC,OAAR,EAAgB;AAAC,gBAAG,KAAKJ,UAAL,IAAiB,KAAKA,UAAL,CAAgB9tK,GAAhB,CAAoB9wF,QAApB,CAA6BoK,CAA7B,CAApB,EAAoD,OAAM;AAACuL,cAAAA,IAAI,EAAC,CAAC,CAAP;AAASr6B,cAAAA,KAAK,EAAC,KAAK;AAApB,aAAN;AAA6B8uB,YAAAA,CAAC,CAACq9E,MAAF;AAAW,WAA7G,MAAkHr9E,CAAC,GAAC,IAAIuwL,EAAJ,CAAOhkL,CAAP,EAAS,CAAT,CAAF;;AAAc,iBAAO,KAAKkoP,SAAL,GAAez0P,CAAf,EAAiB,KAAKo1P,kBAAL,CAAwB,cAAxB,EAAuC7oP,CAAvC,EAAyC5B,CAAzC,EAA2C3K,CAA3C,EAA6C,CAA7C,CAAxB;AAAwE;;AAAA,YAAGuM,CAAC,YAAYywM,EAAhB,EAAmB;AAAC,cAAG,KAAK23C,gBAAR,EAAyB,OAAO30P,CAAC,GAAC,IAAIuwL,EAAJ,CAAOhkL,CAAP,EAAS,CAAT,CAAF,EAAc,KAAKkoP,SAAL,GAAez0P,CAA7B,EAA+B,KAAKs6I,KAAL,EAAtC;AAAmD,cAAI/vI,CAAJ;AAAA,cAAM5zB,CAAC,GAAC41B,CAAC,CAAC5kC,IAAF,CAAOgF,MAAf;AAAsB,iBAAO4/B,CAAC,IAAE,KAAKwoP,kBAAR,IAA4Bp+Q,CAAC,GAAC,KAAK69Q,UAAL,CAAgB9tK,GAAhB,CAAoBrJ,MAAtB,EAA6B9yE,CAAC,GAAC,IAAI2xJ,EAAJ,CAAO3vJ,CAAP,EAAS,CAAT,EAAW51B,CAAX,CAA/B,EAA6CqpB,CAAC,GAACuwL,EAAE,CAAC4kE,YAAH,CAAgB5qP,CAAhB,CAA3E,KAAgGA,CAAC,GAAC,IAAI2xJ,EAAJ,CAAO3vJ,CAAP,EAAS,CAAT,EAAWA,CAAC,CAAC5kC,IAAF,CAAOgF,MAAlB,CAAF,EAA4BqzB,CAAC,CAACq9E,MAAF,EAA5H,GAAwI,KAAKo3K,SAAL,GAAez0P,CAAvJ,EAAyJ,KAAKo1P,kBAAL,CAAwB,MAAxB,EAA+B7qP,CAA/B,EAAiCI,CAAjC,EAAmC3K,CAAnC,EAAqCrpB,CAArC,CAAhK;AAAwM;;AAAA,YAAG,YAAU,OAAO41B,CAApB,EAAsB;AAAC,cAAIA,CAAJ;AAAM,cAAG,KAAKooP,gBAAR,EAAyBpoP,CAAC,GAAC,CAAF,CAAzB,KAAiC;AAACA,YAAAA,CAAC,GAAC,CAAChC,CAAC,KAAG,KAAKwqP,kBAAT,GAA4B,KAAKP,UAAL,CAAgB9tK,GAAhB,CAAoBrJ,MAAhD,GAAuD9yE,CAAC,CAAC5iC,IAAF,CAAOgF,MAA/D,IAAuEqzB,CAAC,CAACq9E,MAA3E;AAAkF;AAAA,gBAAM1mG,CAAC,GAAC,IAAIulL,EAAJ,CAAO3xJ,CAAP,EAASvK,CAAC,CAACq9E,MAAX,EAAkB9wE,CAAlB,CAAR;AAA6B,iBAAOvM,CAAC,CAACq9E,MAAF,IAAU9wE,CAAV,EAAY,KAAKkoP,SAAL,GAAez0P,CAA3B,EAA6B,KAAKo1P,kBAAL,CAAwB,MAAxB,EAA+Bz+Q,CAA/B,EAAiCg0B,CAAjC,EAAmC3K,CAAnC,EAAqCuM,CAArC,CAApC;AAA4E;;AAAA,eAAOvM,CAAC,GAACuwL,EAAE,CAAC4kE,YAAH,CAAgB5qP,CAAhB,CAAF,EAAqB,KAAKkqP,SAAL,GAAez0P,CAApC,EAAsC,KAAK60P,gBAAL,GAAsB,KAAKv6G,KAAL,EAAtB,GAAmC,KAAK86G,kBAAL,CAAwB,YAAxB,EAAqC7qP,CAArC,EAAuCI,CAAvC,EAAyC3K,CAAzC,CAAhF;AAA4H;;AAAAi1P,MAAAA,SAAS,GAAE;AAAC,YAAIj1P,CAAC,GAAC,KAAKlwB,QAAL,CAAc8vB,KAAd,EAAN;AAA4B,cAAM+K,CAAC,GAAC,KAAK76B,QAAb;AAAA,cAAsBy6B,CAAC,GAACvK,CAAC,CAACmhD,MAA1B;AAAiC,YAAG,SAAO52C,CAAC,CAAC42C,MAAT,IAAiB,MAAInhD,CAAC,CAACq9E,MAA1B,EAAiC,OAAM;AAAC9xE,UAAAA,IAAI,EAAC,CAAC,CAAP;AAASr6B,UAAAA,KAAK,EAAC,KAAK;AAApB,SAAN;AAA6B,YAAGq5B,CAAC,IAAE,KAAKuqP,oBAAR,IAA8B90P,CAAC,CAACq9E,MAAF,IAAU,KAAKm3K,UAAL,CAAgB/tK,KAAhB,CAAsBpJ,MAAjE,EAAwE,OAAM;AAAC9xE,UAAAA,IAAI,EAAC,CAAC,CAAP;AAASr6B,UAAAA,KAAK,EAAC,KAAK;AAApB,SAAN;AAA6B,YAAIq7B,CAAJ;;AAAM,YAAGhC,CAAC,YAAYyyM,EAAhB,EAAmB;AAAC,cAAGh9M,CAAC,CAACq1P,SAAL,EAAe,OAAO,KAAKZ,SAAL,GAAelkE,EAAE,CAAC+kE,aAAH,CAAiB/qP,CAAjB,CAAf,EAAmC,KAAK0qP,SAAL,EAA1C;AAA2D1oP,UAAAA,CAAC,GAAChC,CAAC,CAAC5iC,IAAF,CAAOq4B,CAAC,CAACq9E,MAAF,GAAS,CAAhB,CAAF;AAAqB,SAAnH,MAAwH9wE,CAAC,GAAChC,CAAC,CAACsiP,QAAF,CAAW7sP,CAAC,CAACq9E,MAAF,GAAS,CAApB,CAAF;;AAAyB,YAAG9wE,CAAC,YAAYmmP,EAAhB,EAAmB,OAAO,KAAKkC,OAAL,IAAc50P,CAAC,CAACq9E,MAAF,IAAW,KAAKo3K,SAAL,GAAez0P,CAA1B,EAA4B,KAAKo1P,kBAAL,CAAwB,cAAxB,EAAuC7oP,CAAvC,EAAyC5B,CAAzC,EAA2C3K,CAA3C,EAA6C,CAA7C,CAA1C,KAA4FA,CAAC,GAAC,IAAIuwL,EAAJ,CAAOhkL,CAAP,EAASA,CAAC,CAACmgP,UAAX,CAAF,EAAyB,KAAK+H,SAAL,GAAez0P,CAAxC,EAA0C,KAAK60P,gBAAL,GAAsB,KAAKI,SAAL,EAAtB,GAAuC,KAAKG,kBAAL,CAAwB,YAAxB,EAAqC7oP,CAArC,EAAuC5B,CAAvC,EAAyC3K,CAAzC,CAA7K,CAAP;;AAAiO,YAAGuM,CAAC,YAAYywM,EAAhB,EAAmB;AAAC,cAAG,KAAK23C,gBAAR,EAAyB,OAAO30P,CAAC,GAAC,IAAIuwL,EAAJ,CAAOhkL,CAAP,EAASA,CAAC,CAAC5kC,IAAF,CAAOgF,MAAhB,CAAF,EAA0B,KAAK8nR,SAAL,GAAez0P,CAAzC,EAA2C,KAAKi1P,SAAL,EAAlD;AAAmE,cAAI1qP,CAAJ;AAAA,cAAM5zB,CAAC,GAAC41B,CAAC,CAAC5kC,IAAF,CAAOgF,MAAf;;AAAsB,cAAG4/B,CAAC,IAAE,KAAKuoP,oBAAX,EAAgC;AAAC,kBAAMnqP,CAAC,GAAC,KAAK6pP,UAAL,CAAgB/tK,KAAhB,CAAsBpJ,MAA9B;AAAqC9yE,YAAAA,CAAC,GAAC,IAAI2xJ,EAAJ,CAAO3vJ,CAAP,EAAS5B,CAAT,EAAW4B,CAAC,CAAC5kC,IAAF,CAAOgF,MAAP,GAAcg+B,CAAzB,CAAF,EAA8Bh0B,CAAC,GAAC4zB,CAAC,CAAC5iC,IAAF,CAAOgF,MAAvC,EAA8CqzB,CAAC,GAACuwL,EAAE,CAAC+kE,aAAH,CAAiB/qP,CAAjB,CAAhD;AAAoE,WAA1I,MAA+IA,CAAC,GAAC,IAAI2xJ,EAAJ,CAAO3vJ,CAAP,EAAS,CAAT,EAAWA,CAAC,CAAC5kC,IAAF,CAAOgF,MAAlB,CAAF,EAA4BqzB,CAAC,CAACq9E,MAAF,EAA5B;;AAAuC,iBAAO,KAAKo3K,SAAL,GAAez0P,CAAf,EAAiB,KAAKo1P,kBAAL,CAAwB,MAAxB,EAA+B7qP,CAA/B,EAAiCI,CAAjC,EAAmC3K,CAAnC,EAAqCrpB,CAArC,CAAxB;AAAgE;;AAAA,YAAG,YAAU,OAAO41B,CAApB,EAAsB;AAAC,cAAIA,CAAJ;AAAM,cAAG,KAAKooP,gBAAR,EAAyBpoP,CAAC,GAAC,CAAF,CAAzB,KAAiC;AAAC,kBAAM5B,CAAC,GAACJ,CAAC,KAAG,KAAKuqP,oBAAT,GAA8B,KAAKN,UAAL,CAAgB/tK,KAAhB,CAAsBpJ,MAApD,GAA2D,CAAnE;AAAqE9wE,YAAAA,CAAC,GAACvM,CAAC,CAACq9E,MAAF,GAAS1yE,CAAX;AAAa;AAAA3K,UAAAA,CAAC,CAACq9E,MAAF,IAAU9wE,CAAV;AAAY,gBAAM51B,CAAC,GAAC,IAAIulL,EAAJ,CAAO3xJ,CAAP,EAASvK,CAAC,CAACq9E,MAAX,EAAkB9wE,CAAlB,CAAR;AAA6B,iBAAO,KAAKkoP,SAAL,GAAez0P,CAAf,EAAiB,KAAKo1P,kBAAL,CAAwB,MAAxB,EAA+Bz+Q,CAA/B,EAAiCg0B,CAAjC,EAAmC3K,CAAnC,EAAqCuM,CAArC,CAAxB;AAAgE;;AAAA,eAAOvM,CAAC,GAACuwL,EAAE,CAAC+kE,aAAH,CAAiB/qP,CAAjB,CAAF,EAAsB,KAAKkqP,SAAL,GAAez0P,CAArC,EAAuC,KAAKo1P,kBAAL,CAAwB,cAAxB,EAAuC7qP,CAAvC,EAAyCI,CAAzC,EAA2C3K,CAA3C,EAA6C,CAA7C,CAA9C;AAA8F;;AAAAo1P,MAAAA,kBAAkB,CAACp1P,CAAD,EAAG2K,CAAH,EAAKJ,CAAL,EAAOgC,CAAP,EAAS51B,CAAT,EAAW;AAAC,eAAOg0B,CAAC,YAAYuxJ,EAAb,KAAkBvxJ,CAAC,CAACgjP,YAAF,GAAehjP,CAAC,CAAChjC,IAAF,CAAOgF,MAAtB,IAA8Bg+B,CAAC,CAAC+iP,QAAF,CAAW/lR,IAAX,CAAgBgF,MAA9C,KAAuD,aAAW,KAAK+mO,SAAhB,IAA2B,KAAK8gD,UAAL,IAAiB,KAAKA,UAAL,CAAgB9tK,GAAhB,CAAoBqvJ,OAApB,CAA4B,KAAKjmQ,QAAjC,CAA5C,GAAuFy6B,CAAC,GAACgmL,EAAE,CAAC4kE,YAAH,CAAgBxqP,CAAC,CAAC+iP,QAAlB,CAAzF,IAAsHnhP,CAAC,GAACgkL,EAAE,CAAC4kE,YAAH,CAAgBxqP,CAAC,CAAC+iP,QAAlB,CAAF,EAA8B,KAAK+G,SAAL,GAAeloP,CAAnK,CAAvD,GAA8N,MAAI5B,CAAC,CAACgjP,YAAN,KAAqB,cAAY,KAAKj6C,SAAjB,IAA4B,KAAK8gD,UAAL,IAAiB,KAAKA,UAAL,CAAgB/tK,KAAhB,CAAsBsvJ,OAAtB,CAA8B,KAAKjmQ,QAAnC,CAA7C,GAA0Fy6B,CAAC,GAACgmL,EAAE,CAAC+kE,aAAH,CAAiB3qP,CAAC,CAAC+iP,QAAnB,CAA5F,IAA0HnhP,CAAC,GAACgkL,EAAE,CAAC+kE,aAAH,CAAiB3qP,CAAC,CAAC+iP,QAAnB,CAAF,EAA+B,KAAK+G,SAAL,GAAeloP,CAAxK,CAArB,CAAhP,GAAkb;AAAChB,UAAAA,IAAI,EAAC,CAAC,CAAP;AAASr6B,UAAAA,KAAK,EAAC;AAAC+F,YAAAA,IAAI,EAAC+oB,CAAN;AAAQxlB,YAAAA,IAAI,EAACmwB,CAAb;AAAe4qP,YAAAA,gBAAgB,EAAChrP,CAAhC;AAAkCirP,YAAAA,YAAY,EAACjpP,CAA/C;AAAiD5/B,YAAAA,MAAM,EAACgK;AAAxD;AAAf,SAAzb;AAAogB;;AAA3kI;;AAA4kI,UAAM45M,EAAN,SAAiB1lG,EAAjB,CAAmB;AAACprH,MAAAA,WAAW,CAACugC,CAAD,EAAG2K,CAAH,EAAK;AAAC,iBAAQ,KAAKw2C,MAAL,GAAYnhD,CAApB,EAAsB,KAAKq9E,MAAL,GAAY1yE,CAAlC;AAAoC;;AAAa,UAAT8qP,SAAS,GAAE;AAAC,eAAO,KAAKt0M,MAAL,CAAY0pC,EAAZ,CAAe,OAAf,IAAwB,IAAxB,GAA6B,KAAK1pC,MAAL,CAAY0rM,QAAZ,CAAqB,KAAKxvK,MAA1B,KAAmC,IAAvE;AAA4E;;AAAc,UAAVq4K,UAAU,GAAE;AAAC,eAAO,KAAKv0M,MAAL,CAAY0pC,EAAZ,CAAe,OAAf,IAAwB,IAAxB,GAA6B,KAAK1pC,MAAL,CAAY0rM,QAAZ,CAAqB,KAAKxvK,MAAL,GAAY,CAAjC,KAAqC,IAAzE;AAA8E;;AAAa,UAATg4K,SAAS,GAAE;AAAC,eAAO,MAAI,KAAKh4K,MAAhB;AAAuB;;AAAW,UAAP63K,OAAO,GAAE;AAAC,cAAMl1P,CAAC,GAAC,KAAKmhD,MAAL,CAAY0pC,EAAZ,CAAe,OAAf,IAAwB,KAAK1pC,MAAL,CAAYx5E,IAAZ,CAAiBgF,MAAzC,GAAgD,KAAKw0E,MAAL,CAAYurM,UAApE;AAA+E,eAAO,KAAKrvK,MAAL,KAAcr9E,CAArB;AAAuB;;AAAQ,UAAJwD,IAAI,GAAE;AAAC,eAAO,KAAK29C,MAAL,CAAY39C,IAAnB;AAAwB;;AAAmB,UAAf6wP,eAAe,GAAE;AAAC,YAAIr0P,CAAC,GAAC,KAAKmhD,MAAX;;AAAkB,eAAK,EAAEnhD,CAAC,YAAYo0P,EAAf,CAAL,GAAyB;AAAC,cAAG,CAACp0P,CAAC,CAACmhD,MAAN,EAAa,OAAO,IAAP;AAAYnhD,UAAAA,CAAC,GAACA,CAAC,CAACmhD,MAAJ;AAAW;;AAAA,eAAOnhD,CAAP;AAAS;;AAAA21P,MAAAA,YAAY,CAAC31P,CAAD,EAAG;AAAC,cAAM2K,CAAC,GAAC4lL,EAAE,CAACmkE,SAAH,CAAa,IAAb,CAAR;AAAA,cAA2BnqP,CAAC,GAACI,CAAC,CAAC0yE,MAAF,GAASr9E,CAAtC;;AAAwC,eAAO2K,CAAC,CAAC0yE,MAAF,GAAS9yE,CAAC,GAAC,CAAF,GAAI,CAAJ,GAAMA,CAAf,EAAiBI,CAAxB;AAA0B;;AAAAirP,MAAAA,uBAAuB,CAAC51P,CAAD,EAAG2K,CAAC,GAAC,EAAL,EAAQ;AAACA,QAAAA,CAAC,CAACg8E,aAAF,GAAgB,IAAhB;AAAqB,cAAMp8E,CAAC,GAAC,IAAIgkL,EAAJ,CAAO5jL,CAAP,CAAR;AAAkB,eAAOJ,CAAC,CAACyqP,IAAF,CAAOh1P,CAAP,GAAUuK,CAAC,CAACz6B,QAAnB;AAA4B;;AAAAm9Q,MAAAA,YAAY,GAAE;AAAC,eAAO,KAAK9rM,MAAL,CAAY0pC,EAAZ,CAAe,kBAAf,IAAmC,CAAC,KAAK1pC,MAAN,CAAnC,GAAiD,KAAKA,MAAL,CAAY8rM,YAAZ,CAAyB;AAACC,UAAAA,WAAW,EAAC,CAAC;AAAd,SAAzB,CAAxD;AAAmG;;AAAAE,MAAAA,iBAAiB,CAACptP,CAAD,EAAG;AAAC,cAAM2K,CAAC,GAAC,KAAKsiP,YAAL,EAAR;AAAA,cAA4B1iP,CAAC,GAACvK,CAAC,CAACitP,YAAF,EAA9B;AAA+C,YAAI1gP,CAAC,GAAC,CAAN;;AAAQ,eAAK5B,CAAC,CAAC4B,CAAD,CAAD,IAAMhC,CAAC,CAACgC,CAAD,CAAP,IAAY5B,CAAC,CAAC4B,CAAD,CAAlB,GAAuBA,CAAC;;AAAG,eAAO,MAAIA,CAAJ,GAAM,IAAN,GAAW5B,CAAC,CAAC4B,CAAC,GAAC,CAAH,CAAnB;AAAyB;;AAAAwpO,MAAAA,OAAO,CAAC/1O,CAAD,EAAG;AAAC,eAAO,KAAKmhD,MAAL,IAAanhD,CAAC,CAACmhD,MAAf,IAAuB,KAAKk8B,MAAL,IAAar9E,CAAC,CAACq9E,MAA7C;AAAoD;;AAAAznF,MAAAA,QAAQ,CAACoK,CAAD,EAAG;AAAC,eAAM,YAAU,KAAK61P,WAAL,CAAiB71P,CAAjB,CAAhB;AAAoC;;AAAAwzM,MAAAA,OAAO,CAACxzM,CAAD,EAAG;AAAC,eAAM,WAAS,KAAK61P,WAAL,CAAiB71P,CAAjB,CAAf;AAAmC;;AAAA61P,MAAAA,WAAW,CAAC71P,CAAD,EAAG;AAAC,YAAG,KAAKwD,IAAL,KAAYxD,CAAC,CAACwD,IAAjB,EAAsB,OAAM,WAAN;AAAkB,YAAG,KAAKuyO,OAAL,CAAa/1O,CAAb,CAAH,EAAmB,OAAM,MAAN;AAAa,cAAM2K,CAAC,GAAC,KAAKw2C,MAAL,CAAY0pC,EAAZ,CAAe,MAAf,IAAuB,KAAK1pC,MAAL,CAAY6rM,OAAZ,EAAvB,GAA6C,EAArD;AAAA,cAAwDziP,CAAC,GAACvK,CAAC,CAACmhD,MAAF,CAAS0pC,EAAT,CAAY,MAAZ,IAAoB7qF,CAAC,CAACmhD,MAAF,CAAS6rM,OAAT,EAApB,GAAuC,EAAjG;AAAoGriP,QAAAA,CAAC,CAAC1E,IAAF,CAAO,KAAKo3E,MAAZ,GAAoB9yE,CAAC,CAACtE,IAAF,CAAOjG,CAAC,CAACq9E,MAAT,CAApB;AAAqC,cAAM9wE,CAAC,GAACo7N,CAAC,CAACh9N,CAAD,EAAGJ,CAAH,CAAT;;AAAe,gBAAOgC,CAAP;AAAU,eAAI,QAAJ;AAAa,mBAAM,QAAN;;AAAe,eAAI,WAAJ;AAAgB,mBAAM,OAAN;;AAAc;AAAQ,mBAAO5B,CAAC,CAAC4B,CAAD,CAAD,GAAKhC,CAAC,CAACgC,CAAD,CAAN,GAAU,QAAV,GAAmB,OAA1B;AAA5E;AAA+G;;AAAAupP,MAAAA,SAAS,CAAC91P,CAAC,GAAC,EAAH,EAAM;AAAC,eAAOA,CAAC,CAAC2mF,aAAF,GAAgB,IAAhB,EAAqB,IAAI4nG,EAAJ,CAAOvuL,CAAP,CAA5B;AAAsC;;AAAAJ,MAAAA,KAAK,GAAE;AAAC,eAAO,IAAI2wL,EAAJ,CAAO,KAAKpvI,MAAZ,EAAmB,KAAKk8B,MAAxB,CAAP;AAAuC;;AAAgB,aAATq3K,SAAS,CAAC10P,CAAD,EAAG2K,CAAH,EAAK;AAAC,YAAG3K,CAAC,YAAYuwL,EAAhB,EAAmB,OAAO,IAAI,IAAJ,CAASvwL,CAAC,CAACmhD,MAAX,EAAkBnhD,CAAC,CAACq9E,MAApB,CAAP;AAAmC;AAAC,gBAAM9yE,CAAC,GAACvK,CAAR;AAAU,cAAG,SAAO2K,CAAV,EAAYA,CAAC,GAACJ,CAAC,CAACsgF,EAAF,CAAK,OAAL,IAActgF,CAAC,CAAC5iC,IAAF,CAAOgF,MAArB,GAA4B49B,CAAC,CAACmiP,UAAhC,CAAZ,KAA2D;AAAC,gBAAG,YAAU/hP,CAAb,EAAe,OAAO,KAAK2qP,aAAL,CAAmB/qP,CAAnB,CAAP;AAA6B,gBAAG,WAASI,CAAZ,EAAc,OAAO,KAAKwqP,YAAL,CAAkB5qP,CAAlB,CAAP;AAA4B,gBAAG,MAAII,CAAJ,IAAO,CAACA,CAAX,EAAa,MAAM,IAAIw3C,CAAJ,CAAM,uCAAN,EAA8C53C,CAA9C,CAAN;AAAuD;AAAA,iBAAO,IAAIgmL,EAAJ,CAAOhmL,CAAP,EAASI,CAAT,CAAP;AAAmB;AAAC;;AAAmB,aAAZwqP,YAAY,CAACn1P,CAAD,EAAG;AAAC,YAAGA,CAAC,CAAC6qF,EAAF,CAAK,YAAL,CAAH,EAAsB,OAAO,IAAI0lG,EAAJ,CAAOvwL,CAAC,CAAC0tP,QAAT,EAAkB1tP,CAAC,CAAC2tP,YAAF,GAAe3tP,CAAC,CAACr4B,IAAF,CAAOgF,MAAxC,CAAP;AAAuD,YAAG,CAACqzB,CAAC,CAACmhD,MAAN,EAAa,MAAM,IAAIgB,CAAJ,CAAM,0BAAN,EAAiCniD,CAAjC,EAAmC;AAACwD,UAAAA,IAAI,EAACxD;AAAN,SAAnC,CAAN;AAAmD,eAAO,IAAIuwL,EAAJ,CAAOvwL,CAAC,CAACmhD,MAAT,EAAgBnhD,CAAC,CAACwhB,KAAF,GAAQ,CAAxB,CAAP;AAAkC;;AAAoB,aAAb8zO,aAAa,CAACt1P,CAAD,EAAG;AAAC,YAAGA,CAAC,CAAC6qF,EAAF,CAAK,YAAL,CAAH,EAAsB,OAAO,IAAI0lG,EAAJ,CAAOvwL,CAAC,CAAC0tP,QAAT,EAAkB1tP,CAAC,CAAC2tP,YAApB,CAAP;AAAyC,YAAG,CAAC3tP,CAAC,CAACmhD,MAAN,EAAa,MAAM,IAAIgB,CAAJ,CAAM,2BAAN,EAAkCniD,CAAlC,EAAoC;AAACwD,UAAAA,IAAI,EAACxD;AAAN,SAApC,CAAN;AAAoD,eAAO,IAAIuwL,EAAJ,CAAOvwL,CAAC,CAACmhD,MAAT,EAAgBnhD,CAAC,CAACwhB,KAAlB,CAAP;AAAgC;;AAApuE;;AAAquE+uK,IAAAA,EAAE,CAACtmL,SAAH,CAAa4gF,EAAb,GAAgB,UAAS7qF,CAAT,EAAW;AAAC,aAAM,eAAaA,CAAb,IAAgB,oBAAkBA,CAAxC;AAA0C,KAAtE;;AAAuE,UAAM+1P,EAAN,SAAiBlrK,EAAjB,CAAmB;AAACprH,MAAAA,WAAW,CAACugC,CAAD,EAAG2K,CAAC,GAAC,IAAL,EAAU;AAAC,iBAAQ,KAAK87E,KAAL,GAAWzmF,CAAC,CAACJ,KAAF,EAAnB,EAA6B,KAAK8mF,GAAL,GAAS/7E,CAAC,GAACA,CAAC,CAAC/K,KAAF,EAAD,GAAWI,CAAC,CAACJ,KAAF,EAAlD;AAA4D;;AAAiB,QAAfsM,MAAM,CAACC,QAAQ,IAAG;AAAC,eAAM,IAAIoiL,EAAJ,CAAO;AAACimE,UAAAA,UAAU,EAAC,IAAZ;AAAiBK,UAAAA,gBAAgB,EAAC,CAAC;AAAnC,SAAP,CAAN;AAAoD;;AAAe,UAAXmB,WAAW,GAAE;AAAC,eAAO,KAAKvvK,KAAL,CAAWsvJ,OAAX,CAAmB,KAAKrvJ,GAAxB,CAAP;AAAoC;;AAAU,UAANuvK,MAAM,GAAE;AAAC,eAAO,KAAKxvK,KAAL,CAAWtlC,MAAX,KAAoB,KAAKulC,GAAL,CAASvlC,MAApC;AAA2C;;AAAQ,UAAJ39C,IAAI,GAAE;AAAC,eAAO,KAAKijF,KAAL,CAAWjjF,IAAlB;AAAuB;;AAAA0yP,MAAAA,WAAW,GAAE;AAAC,YAAIl2P,CAAC,GAAC,KAAKymF,KAAL,CAAWmvK,uBAAX,CAAmCO,EAAnC,EAAsC;AAACziD,UAAAA,SAAS,EAAC;AAAX,SAAtC,CAAN;AAAA,YAAoE/oM,CAAC,GAAC,KAAK+7E,GAAL,CAASkvK,uBAAT,CAAiCO,EAAjC,CAAtE;AAA2G,eAAOn2P,CAAC,CAACmhD,MAAF,CAAS0pC,EAAT,CAAY,OAAZ,KAAsB7qF,CAAC,CAACq1P,SAAxB,KAAoCr1P,CAAC,GAACuwL,EAAE,CAAC+kE,aAAH,CAAiBt1P,CAAC,CAACmhD,MAAnB,CAAtC,GAAkEx2C,CAAC,CAACw2C,MAAF,CAAS0pC,EAAT,CAAY,OAAZ,KAAsBlgF,CAAC,CAACuqP,OAAxB,KAAkCvqP,CAAC,GAAC4lL,EAAE,CAAC4kE,YAAH,CAAgBxqP,CAAC,CAACw2C,MAAlB,CAApC,CAAlE,EAAiI,IAAI40M,EAAJ,CAAO/1P,CAAP,EAAS2K,CAAT,CAAxI;AAAoJ;;AAAAyrP,MAAAA,UAAU,GAAE;AAAC,YAAIp2P,CAAC,GAAC,KAAKymF,KAAL,CAAWmvK,uBAAX,CAAmCO,EAAnC,CAAN;AAA6C,YAAGn2P,CAAC,CAACwzM,OAAF,CAAU,KAAK9sH,GAAf,KAAqB1mF,CAAC,CAAC+1O,OAAF,CAAU,KAAKrvJ,GAAf,CAAxB,EAA4C,OAAO,IAAIqvK,EAAJ,CAAO/1P,CAAP,EAASA,CAAT,CAAP;AAAmB,YAAI2K,CAAC,GAAC,KAAK+7E,GAAL,CAASkvK,uBAAT,CAAiCO,EAAjC,EAAoC;AAACziD,UAAAA,SAAS,EAAC;AAAX,SAApC,CAAN;AAAkE,cAAMnpM,CAAC,GAACvK,CAAC,CAACy1P,SAAV;AAAA,cAAoBlpP,CAAC,GAAC5B,CAAC,CAAC+qP,UAAxB;AAAmC,eAAOnrP,CAAC,IAAEA,CAAC,CAACsgF,EAAF,CAAK,OAAL,CAAH,KAAmB7qF,CAAC,GAAC,IAAIuwL,EAAJ,CAAOhmL,CAAP,EAAS,CAAT,CAArB,GAAkCgC,CAAC,IAAEA,CAAC,CAACs+E,EAAF,CAAK,OAAL,CAAH,KAAmBlgF,CAAC,GAAC,IAAI4lL,EAAJ,CAAOhkL,CAAP,EAASA,CAAC,CAAC5kC,IAAF,CAAOgF,MAAhB,CAArB,CAAlC,EAAgF,IAAIopR,EAAJ,CAAO/1P,CAAP,EAAS2K,CAAT,CAAvF;AAAmG;;AAAAorO,MAAAA,OAAO,CAAC/1O,CAAD,EAAG;AAAC,eAAO,QAAMA,CAAN,IAAS,KAAKymF,KAAL,CAAWsvJ,OAAX,CAAmB/1O,CAAC,CAACymF,KAArB,KAA6B,KAAKC,GAAL,CAASqvJ,OAAT,CAAiB/1O,CAAC,CAAC0mF,GAAnB,CAA7C;AAAqE;;AAAA2vK,MAAAA,gBAAgB,CAACr2P,CAAD,EAAG;AAAC,eAAOA,CAAC,CAACwzM,OAAF,CAAU,KAAK/sH,KAAf,KAAuBzmF,CAAC,CAACpK,QAAF,CAAW,KAAK8wF,GAAhB,CAA9B;AAAmD;;AAAA4vK,MAAAA,aAAa,CAACt2P,CAAD,EAAG2K,CAAC,GAAC,CAAC,CAAN,EAAQ;AAAC3K,QAAAA,CAAC,CAACg2P,WAAF,KAAgBrrP,CAAC,GAAC,CAAC,CAAnB;AAAsB,cAAMJ,CAAC,GAAC,KAAK8rP,gBAAL,CAAsBr2P,CAAC,CAACymF,KAAxB,KAAgC97E,CAAC,IAAE,KAAK87E,KAAL,CAAWsvJ,OAAX,CAAmB/1O,CAAC,CAACymF,KAArB,CAA3C;AAAA,cAAuEl6E,CAAC,GAAC,KAAK8pP,gBAAL,CAAsBr2P,CAAC,CAAC0mF,GAAxB,KAA8B/7E,CAAC,IAAE,KAAK+7E,GAAL,CAASqvJ,OAAT,CAAiB/1O,CAAC,CAAC0mF,GAAnB,CAA1G;AAAkI,eAAOn8E,CAAC,IAAEgC,CAAV;AAAY;;AAAAgqP,MAAAA,aAAa,CAACv2P,CAAD,EAAG;AAAC,cAAM2K,CAAC,GAAC,EAAR;AAAW,eAAO,KAAK6rP,cAAL,CAAoBx2P,CAApB,KAAwB,KAAKq2P,gBAAL,CAAsBr2P,CAAC,CAACymF,KAAxB,KAAgC97E,CAAC,CAAC1E,IAAF,CAAO,IAAI8vP,EAAJ,CAAO,KAAKtvK,KAAZ,EAAkBzmF,CAAC,CAACymF,KAApB,CAAP,CAAhC,EAAmE,KAAK4vK,gBAAL,CAAsBr2P,CAAC,CAAC0mF,GAAxB,KAA8B/7E,CAAC,CAAC1E,IAAF,CAAO,IAAI8vP,EAAJ,CAAO/1P,CAAC,CAAC0mF,GAAT,EAAa,KAAKA,GAAlB,CAAP,CAAzH,IAAyJ/7E,CAAC,CAAC1E,IAAF,CAAO,KAAKrG,KAAL,EAAP,CAAzJ,EAA8K+K,CAArL;AAAuL;;AAAA6qO,MAAAA,eAAe,CAACx1O,CAAD,EAAG;AAAC,YAAG,KAAKw2P,cAAL,CAAoBx2P,CAApB,CAAH,EAA0B;AAAC,cAAI2K,CAAC,GAAC,KAAK87E,KAAX;AAAA,cAAiBl8E,CAAC,GAAC,KAAKm8E,GAAxB;AAA4B,iBAAO,KAAK2vK,gBAAL,CAAsBr2P,CAAC,CAACymF,KAAxB,MAAiC97E,CAAC,GAAC3K,CAAC,CAACymF,KAArC,GAA4C,KAAK4vK,gBAAL,CAAsBr2P,CAAC,CAAC0mF,GAAxB,MAA+Bn8E,CAAC,GAACvK,CAAC,CAAC0mF,GAAnC,CAA5C,EAAoF,IAAIqvK,EAAJ,CAAOprP,CAAP,EAASJ,CAAT,CAA3F;AAAuG;;AAAA,eAAO,IAAP;AAAY;;AAAAurP,MAAAA,SAAS,CAAC91P,CAAC,GAAC,EAAH,EAAM;AAAC,eAAOA,CAAC,CAACw0P,UAAF,GAAa,IAAb,EAAkB,IAAIjmE,EAAJ,CAAOvuL,CAAP,CAAzB;AAAmC;;AAAAotP,MAAAA,iBAAiB,GAAE;AAAC,eAAO,KAAK3mK,KAAL,CAAW2mK,iBAAX,CAA6B,KAAK1mK,GAAlC,CAAP;AAA8C;;AAAA+vK,MAAAA,mBAAmB,GAAE;AAAC,YAAG,KAAKT,WAAR,EAAoB,OAAO,IAAP;AAAY,YAAIh2P,CAAC,GAAC,KAAKymF,KAAL,CAAWgvK,SAAjB;AAAA,YAA2B9qP,CAAC,GAAC,KAAK+7E,GAAL,CAASgvK,UAAtC;AAAiD,eAAO,KAAKjvK,KAAL,CAAWtlC,MAAX,CAAkB0pC,EAAlB,CAAqB,OAArB,KAA+B,KAAKpE,KAAL,CAAWyuK,OAA1C,IAAmD,KAAKzuK,KAAL,CAAWtlC,MAAX,CAAkBsmL,WAArE,KAAmFznO,CAAC,GAAC,KAAKymF,KAAL,CAAWtlC,MAAX,CAAkBsmL,WAAvG,GAAoH,KAAK/gJ,GAAL,CAASvlC,MAAT,CAAgB0pC,EAAhB,CAAmB,OAAnB,KAA6B,KAAKnE,GAAL,CAAS2uK,SAAtC,IAAiD,KAAK3uK,GAAL,CAASvlC,MAAT,CAAgBy2L,eAAjE,KAAmFjtO,CAAC,GAAC,KAAK+7E,GAAL,CAASvlC,MAAT,CAAgBy2L,eAArG,CAApH,EAA0O53O,CAAC,IAAEA,CAAC,CAAC6qF,EAAF,CAAK,SAAL,CAAH,IAAoB7qF,CAAC,KAAG2K,CAAxB,GAA0B3K,CAA1B,GAA4B,IAA7Q;AAAkR;;AAAAJ,MAAAA,KAAK,GAAE;AAAC,eAAO,IAAIm2P,EAAJ,CAAO,KAAKtvK,KAAZ,EAAkB,KAAKC,GAAvB,CAAP;AAAmC;;AAAS,OAAR6gB,QAAQ,CAACvnG,CAAC,GAAC,EAAH,EAAM;AAACA,QAAAA,CAAC,CAACw0P,UAAF,GAAa,IAAb,EAAkBx0P,CAAC,CAAC60P,gBAAF,GAAmB,CAAC,CAAtC;AAAwC,cAAMlqP,CAAC,GAAC,IAAI4jL,EAAJ,CAAOvuL,CAAP,CAAR;;AAAkB,aAAI,MAAMA,CAAV,IAAe2K,CAAf,EAAiB,MAAM3K,CAAC,CAACxlB,IAAR;AAAa;;AAAa,OAAZk8Q,YAAY,CAAC12P,CAAC,GAAC,EAAH,EAAM;AAACA,QAAAA,CAAC,CAACw0P,UAAF,GAAa,IAAb;AAAkB,cAAM7pP,CAAC,GAAC,IAAI4jL,EAAJ,CAAOvuL,CAAP,CAAR;AAAkB,cAAM2K,CAAC,CAAC76B,QAAR;;AAAiB,aAAI,MAAMkwB,CAAV,IAAe2K,CAAf,EAAiB,MAAM3K,CAAC,CAACw1P,YAAR;AAAqB;;AAAAgB,MAAAA,cAAc,CAACx2P,CAAD,EAAG;AAAC,eAAO,KAAKymF,KAAL,CAAW7wF,QAAX,CAAoBoK,CAAC,CAAC0mF,GAAtB,KAA4B,KAAKA,GAAL,CAAS8sH,OAAT,CAAiBxzM,CAAC,CAACymF,KAAnB,CAAnC;AAA6D;;AAAmC,aAA5BkwK,4BAA4B,CAAC32P,CAAD,EAAG2K,CAAH,EAAKJ,CAAL,EAAOgC,CAAP,EAAS;AAAC,eAAO,IAAI,IAAJ,CAAS,IAAIgkL,EAAJ,CAAOvwL,CAAP,EAAS2K,CAAT,CAAT,EAAqB,IAAI4lL,EAAJ,CAAOhmL,CAAP,EAASgC,CAAT,CAArB,CAAP;AAAyC;;AAAkC,aAA3BqqP,2BAA2B,CAAC52P,CAAD,EAAG2K,CAAH,EAAK;AAAC,cAAMJ,CAAC,GAACvK,CAAR;AAAA,cAAUuM,CAAC,GAACvM,CAAC,CAAC21P,YAAF,CAAehrP,CAAf,CAAZ;AAA8B,eAAOA,CAAC,GAAC,CAAF,GAAI,IAAI,IAAJ,CAASJ,CAAT,EAAWgC,CAAX,CAAJ,GAAkB,IAAI,IAAJ,CAASA,CAAT,EAAWhC,CAAX,CAAzB;AAAuC;;AAAgB,aAATssP,SAAS,CAAC72P,CAAD,EAAG;AAAC,eAAO,KAAK22P,4BAAL,CAAkC32P,CAAlC,EAAoC,CAApC,EAAsCA,CAAtC,EAAwCA,CAAC,CAAC0sP,UAA1C,CAAP;AAA6D;;AAAgB,aAAToK,SAAS,CAAC92P,CAAD,EAAG;AAAC,cAAM2K,CAAC,GAAC3K,CAAC,CAAC6qF,EAAF,CAAK,YAAL,IAAmB7qF,CAAC,CAAC4tP,UAArB,GAAgC,CAAxC;AAA0C,eAAO,KAAKgJ,2BAAL,CAAiCrmE,EAAE,CAAC+kE,aAAH,CAAiBt1P,CAAjB,CAAjC,EAAqD2K,CAArD,CAAP;AAA+D;;AAA3yF;;AAA4yF,aAASwrP,EAAT,CAAYn2P,CAAZ,EAAc;AAAC,aAAM,EAAE,CAACA,CAAC,CAACxlB,IAAF,CAAOqwG,EAAP,CAAU,kBAAV,CAAD,IAAgC,CAAC7qF,CAAC,CAACxlB,IAAF,CAAOqwG,EAAP,CAAU,WAAV,CAAnC,CAAN;AAAiE;;AAAAkrK,IAAAA,EAAE,CAAC9rP,SAAH,CAAa4gF,EAAb,GAAgB,UAAS7qF,CAAT,EAAW;AAAC,aAAM,YAAUA,CAAV,IAAa,iBAAeA,CAAlC;AAAoC,KAAhE;;AAAiE,UAAM+P,EAAN,SAAiBw1N,CAAC,CAAC16I,EAAD,CAAlB,CAAuB;AAACprH,MAAAA,WAAW,CAAC,GAAGugC,CAAJ,EAAM;AAAC,iBAAQ,KAAK+2P,OAAL,GAAa,EAArB,EAAwB,KAAKC,kBAAL,GAAwB,CAAC,CAAjD,EAAmD,KAAKC,OAAL,GAAa,CAAC,CAAjE,EAAmE,KAAKC,mBAAL,GAAyB,EAA5F,EAA+Fl3P,CAAC,CAACrzB,MAAF,IAAU,KAAK4kR,KAAL,CAAW,GAAGvxP,CAAd,CAAzG;AAA0H;;AAAU,UAANm3P,MAAM,GAAE;AAAC,eAAO,KAAKF,OAAZ;AAAoB;;AAAsB,UAAlBG,kBAAkB,GAAE;AAAC,eAAO,KAAKF,mBAAZ;AAAgC;;AAAU,UAANxhD,MAAM,GAAE;AAAC,YAAG,CAAC,KAAKqhD,OAAL,CAAapqR,MAAjB,EAAwB,OAAO,IAAP;AAAY,cAAMqzB,CAAC,GAAC,KAAK+2P,OAAL,CAAa,KAAKA,OAAL,CAAapqR,MAAb,GAAoB,CAAjC,CAAR;AAA4C,eAAM,CAAC,KAAKqqR,kBAAL,GAAwBh3P,CAAC,CAAC0mF,GAA1B,GAA8B1mF,CAAC,CAACymF,KAAjC,EAAwC7mF,KAAxC,EAAN;AAAsD;;AAAS,UAALozC,KAAK,GAAE;AAAC,YAAG,CAAC,KAAK+jN,OAAL,CAAapqR,MAAjB,EAAwB,OAAO,IAAP;AAAY,cAAMqzB,CAAC,GAAC,KAAK+2P,OAAL,CAAa,KAAKA,OAAL,CAAapqR,MAAb,GAAoB,CAAjC,CAAR;AAA4C,eAAM,CAAC,KAAKqqR,kBAAL,GAAwBh3P,CAAC,CAACymF,KAA1B,GAAgCzmF,CAAC,CAAC0mF,GAAnC,EAAwC9mF,KAAxC,EAAN;AAAsD;;AAAe,UAAXo2P,WAAW,GAAE;AAAC,eAAO,MAAI,KAAKqB,UAAT,IAAqB,KAAKN,OAAL,CAAa,CAAb,EAAgBf,WAA5C;AAAwD;;AAAc,UAAVqB,UAAU,GAAE;AAAC,eAAO,KAAKN,OAAL,CAAapqR,MAApB;AAA2B;;AAAc,UAAV2qR,UAAU,GAAE;AAAC,eAAM,CAAC,KAAKtB,WAAN,IAAmB,KAAKgB,kBAA9B;AAAiD;;AAAmB,UAAf3C,eAAe,GAAE;AAAC,eAAO,KAAK3+C,MAAL,GAAY,KAAKA,MAAL,CAAY2+C,eAAxB,GAAwC,IAA/C;AAAoD;;AAAU,OAATkD,SAAS,GAAE;AAAC,aAAI,MAAMv3P,CAAV,IAAe,KAAK+2P,OAApB,EAA4B,MAAM/2P,CAAC,CAACJ,KAAF,EAAN;AAAgB;;AAAA43P,MAAAA,aAAa,GAAE;AAAC,YAAIx3P,CAAC,GAAC,IAAN;;AAAW,aAAI,MAAM2K,CAAV,IAAe,KAAKosP,OAApB,EAA4B/2P,CAAC,IAAE,CAAC2K,CAAC,CAAC87E,KAAF,CAAQ7wF,QAAR,CAAiBoK,CAAC,CAACymF,KAAnB,CAAJ,KAAgCzmF,CAAC,GAAC2K,CAAlC;;AAAqC,eAAO3K,CAAC,GAACA,CAAC,CAACJ,KAAF,EAAD,GAAW,IAAnB;AAAwB;;AAAA63P,MAAAA,YAAY,GAAE;AAAC,YAAIz3P,CAAC,GAAC,IAAN;;AAAW,aAAI,MAAM2K,CAAV,IAAe,KAAKosP,OAApB,EAA4B/2P,CAAC,IAAE,CAAC2K,CAAC,CAAC+7E,GAAF,CAAM8sH,OAAN,CAAcxzM,CAAC,CAAC0mF,GAAhB,CAAJ,KAA2B1mF,CAAC,GAAC2K,CAA7B;;AAAgC,eAAO3K,CAAC,GAACA,CAAC,CAACJ,KAAF,EAAD,GAAW,IAAnB;AAAwB;;AAAAmqP,MAAAA,gBAAgB,GAAE;AAAC,cAAM/pP,CAAC,GAAC,KAAKw3P,aAAL,EAAR;AAA6B,eAAOx3P,CAAC,GAACA,CAAC,CAACymF,KAAF,CAAQ7mF,KAAR,EAAD,GAAiB,IAAzB;AAA8B;;AAAA83P,MAAAA,eAAe,GAAE;AAAC,cAAM13P,CAAC,GAAC,KAAKy3P,YAAL,EAAR;AAA4B,eAAOz3P,CAAC,GAACA,CAAC,CAAC0mF,GAAF,CAAM9mF,KAAN,EAAD,GAAe,IAAvB;AAA4B;;AAAAm2O,MAAAA,OAAO,CAAC/1O,CAAD,EAAG;AAAC,YAAG,KAAKm3P,MAAL,IAAan3P,CAAC,CAACm3P,MAAlB,EAAyB,OAAM,CAAC,CAAP;AAAS,YAAG,KAAKA,MAAL,IAAa,KAAKC,kBAAL,IAAyBp3P,CAAC,CAACo3P,kBAA3C,EAA8D,OAAM,CAAC,CAAP;AAAS,YAAG,KAAKC,UAAL,IAAiBr3P,CAAC,CAACq3P,UAAtB,EAAiC,OAAM,CAAC,CAAP;AAAS,YAAG,MAAI,KAAKA,UAAZ,EAAuB,OAAM,CAAC,CAAP;AAAS,YAAG,CAAC,KAAK3hD,MAAL,CAAYqgC,OAAZ,CAAoB/1O,CAAC,CAAC01M,MAAtB,CAAD,IAAgC,CAAC,KAAK1iK,KAAL,CAAW+iM,OAAX,CAAmB/1O,CAAC,CAACgzC,KAArB,CAApC,EAAgE,OAAM,CAAC,CAAP;;AAAS,aAAI,MAAMroC,CAAV,IAAe,KAAKosP,OAApB,EAA4B;AAAC,cAAIxsP,CAAC,GAAC,CAAC,CAAP;;AAAS,eAAI,MAAMgC,CAAV,IAAevM,CAAC,CAAC+2P,OAAjB,EAAyB,IAAGpsP,CAAC,CAACorO,OAAF,CAAUxpO,CAAV,CAAH,EAAgB;AAAChC,YAAAA,CAAC,GAAC,CAAC,CAAH;AAAK;AAAM;;AAAA,cAAG,CAACA,CAAJ,EAAM,OAAM,CAAC,CAAP;AAAS;;AAAA,eAAM,CAAC,CAAP;AAAS;;AAAAijP,MAAAA,SAAS,CAACxtP,CAAD,EAAG;AAAC,YAAG,KAAKs3P,UAAL,IAAiBt3P,CAAC,CAACs3P,UAAtB,EAAiC,OAAM,CAAC,CAAP;AAAS,cAAM3sP,CAAC,GAAC43N,CAAC,CAAC,KAAKg1B,SAAL,EAAD,CAAT;AAA4B,YAAG5sP,CAAC,IAAE43N,CAAC,CAACviO,CAAC,CAACu3P,SAAF,EAAD,CAAP,EAAuB,OAAM,CAAC,CAAP;AAAS,YAAG,KAAG5sP,CAAN,EAAQ,OAAM,CAAC,CAAP;;AAAS,aAAI,IAAIA,CAAR,IAAa,KAAK4sP,SAAL,EAAb,EAA8B;AAAC5sP,UAAAA,CAAC,GAACA,CAAC,CAACyrP,UAAF,EAAF;AAAiB,cAAI7rP,CAAC,GAAC,CAAC,CAAP;;AAAS,eAAI,IAAIgC,CAAR,IAAavM,CAAC,CAACu3P,SAAF,EAAb,EAA2B,IAAGhrP,CAAC,GAACA,CAAC,CAAC6pP,UAAF,EAAF,EAAiBzrP,CAAC,CAAC87E,KAAF,CAAQsvJ,OAAR,CAAgBxpO,CAAC,CAACk6E,KAAlB,KAA0B97E,CAAC,CAAC+7E,GAAF,CAAMqvJ,OAAN,CAAcxpO,CAAC,CAACm6E,GAAhB,CAA9C,EAAmE;AAACn8E,YAAAA,CAAC,GAAC,CAAC,CAAH;AAAK;AAAM;;AAAA,cAAG,CAACA,CAAJ,EAAM,OAAM,CAAC,CAAP;AAAS;;AAAA,eAAM,CAAC,CAAP;AAAS;;AAAAotP,MAAAA,kBAAkB,GAAE;AAAC,eAAO,MAAI,KAAKN,UAAT,GAAoB,IAApB,GAAyB,KAAKG,aAAL,GAAqBf,mBAArB,EAAhC;AAA2E;;AAAAlF,MAAAA,KAAK,CAAC,GAAGvxP,CAAJ,EAAM;AAAC,YAAG,CAAC2K,CAAD,EAAGJ,CAAH,EAAKgC,CAAL,IAAQvM,CAAX;AAAa,YAAG,YAAU,OAAOuK,CAAjB,KAAqBgC,CAAC,GAAChC,CAAF,EAAIA,CAAC,GAAC,KAAK,CAAhC,GAAmC,SAAOI,CAA7C,EAA+C,KAAKitP,UAAL,CAAgB,EAAhB,GAAoB,KAAKC,eAAL,CAAqBtrP,CAArB,CAApB,CAA/C,KAAgG,IAAG5B,CAAC,YAAYoF,EAAb,IAAiBpF,CAAC,YAAYmtP,EAAjC,EAAoC,KAAKF,UAAL,CAAgBjtP,CAAC,CAAC4sP,SAAF,EAAhB,EAA8B5sP,CAAC,CAAC2sP,UAAhC,GAA4C,KAAKO,eAAL,CAAqB;AAACE,UAAAA,IAAI,EAACptP,CAAC,CAACwsP,MAAR;AAAezrP,UAAAA,KAAK,EAACf,CAAC,CAACysP;AAAvB,SAArB,CAA5C,CAApC,KAAsJ,IAAGzsP,CAAC,YAAYorP,EAAhB,EAAmB,KAAK6B,UAAL,CAAgB,CAACjtP,CAAD,CAAhB,EAAoB4B,CAAC,IAAEA,CAAC,CAACyrP,QAAzB,GAAmC,KAAKH,eAAL,CAAqBtrP,CAArB,CAAnC,CAAnB,KAAmF,IAAG5B,CAAC,YAAY4lL,EAAhB,EAAmB,KAAKqnE,UAAL,CAAgB,CAAC,IAAI7B,EAAJ,CAAOprP,CAAP,CAAD,CAAhB,GAA6B,KAAKktP,eAAL,CAAqBtrP,CAArB,CAA7B,CAAnB,KAA6E,IAAG5B,CAAC,YAAY88K,EAAhB,EAAmB;AAAC,gBAAMznL,CAAC,GAAC,CAAC,CAACuM,CAAF,IAAK,CAAC,CAACA,CAAC,CAACyrP,QAAjB;AAA0B,cAAIrhR,CAAJ;AAAM,cAAG,KAAK,CAAL,KAAS4zB,CAAZ,EAAc,MAAM,IAAI43C,CAAJ,CAAM,gDAAN,EAAuD,IAAvD,CAAN;AAAmExrE,UAAAA,CAAC,GAAC,QAAM4zB,CAAN,GAAQwrP,EAAE,CAACc,SAAH,CAAalsP,CAAb,CAAR,GAAwB,QAAMJ,CAAN,GAAQwrP,EAAE,CAACe,SAAH,CAAansP,CAAb,CAAR,GAAwB,IAAIorP,EAAJ,CAAOxlE,EAAE,CAACmkE,SAAH,CAAa/pP,CAAb,EAAeJ,CAAf,CAAP,CAAlD,EAA4E,KAAKqtP,UAAL,CAAgB,CAACjhR,CAAD,CAAhB,EAAoBqpB,CAApB,CAA5E,EAAmG,KAAK63P,eAAL,CAAqBtrP,CAArB,CAAnG;AAA2H,SAAhQ,MAAoQ;AAAC,cAAG,CAACq7N,CAAC,CAACj9N,CAAD,CAAL,EAAS,MAAM,IAAIw3C,CAAJ,CAAM,qCAAN,EAA4C,IAA5C,CAAN;AAAwD,eAAKy1M,UAAL,CAAgBjtP,CAAhB,EAAkB4B,CAAC,IAAEA,CAAC,CAACyrP,QAAvB,GAAiC,KAAKH,eAAL,CAAqBtrP,CAArB,CAAjC;AAAyD;AAAA,aAAKm5E,IAAL,CAAU,QAAV;AAAoB;;AAAAuyK,MAAAA,QAAQ,CAACj4P,CAAD,EAAG2K,CAAH,EAAK;AAAC,YAAG,SAAO,KAAK+qM,MAAf,EAAsB,MAAM,IAAIvzJ,CAAJ,CAAM,mCAAN,EAA0C,IAA1C,CAAN;;AAAsD,cAAM53C,CAAC,GAACgmL,EAAE,CAACmkE,SAAH,CAAa10P,CAAb,EAAe2K,CAAf,CAAR;;AAA0B,YAAG,UAAQJ,CAAC,CAACsrP,WAAF,CAAc,KAAK7iN,KAAnB,CAAX,EAAqC;AAAO,cAAMzmC,CAAC,GAAC,KAAKmpM,MAAb;AAAoB,aAAKqhD,OAAL,CAAax4P,GAAb,IAAmB,YAAUgM,CAAC,CAACsrP,WAAF,CAActpP,CAAd,CAAV,GAA2B,KAAK2rP,SAAL,CAAe,IAAInC,EAAJ,CAAOxrP,CAAP,EAASgC,CAAT,CAAf,EAA2B,CAAC,CAA5B,CAA3B,GAA0D,KAAK2rP,SAAL,CAAe,IAAInC,EAAJ,CAAOxpP,CAAP,EAAShC,CAAT,CAAf,CAA7E,EAAyG,KAAKm7E,IAAL,CAAU,QAAV,CAAzG;AAA6H;;AAAAkyK,MAAAA,UAAU,CAAC53P,CAAD,EAAG2K,CAAC,GAAC,CAAC,CAAN,EAAQ;AAAC3K,QAAAA,CAAC,GAACmF,KAAK,CAAC7H,IAAN,CAAW0C,CAAX,CAAF,EAAgB,KAAK+2P,OAAL,GAAa,EAA7B;;AAAgC,aAAI,MAAMpsP,CAAV,IAAe3K,CAAf,EAAiB,KAAKk4P,SAAL,CAAevtP,CAAf;;AAAkB,aAAKqsP,kBAAL,GAAwB,CAAC,CAACrsP,CAA1B;AAA4B;;AAAAktP,MAAAA,eAAe,CAAC73P,CAAC,GAAC,EAAH,EAAM;AAAC,aAAKi3P,OAAL,GAAa,CAAC,CAACj3P,CAAC,CAAC+3P,IAAjB,EAAsB,KAAKb,mBAAL,GAAyBl3P,CAAC,CAAC+3P,IAAF,IAAQ/3P,CAAC,CAAC0L,KAAV,IAAiB,EAAhE;AAAmE;;AAAAwsP,MAAAA,SAAS,CAACl4P,CAAD,EAAG2K,CAAC,GAAC,CAAC,CAAN,EAAQ;AAAC,YAAG,EAAE3K,CAAC,YAAY+1P,EAAf,CAAH,EAAsB,MAAM,IAAI5zM,CAAJ,CAAM,oCAAN,EAA2C,IAA3C,CAAN;AAAuD,aAAKg2M,UAAL,CAAgBn4P,CAAhB,GAAmB,KAAKg3P,kBAAL,GAAwB,CAAC,CAACrsP,CAA7C;AAA+C;;AAAAwtP,MAAAA,UAAU,CAACn4P,CAAD,EAAG;AAAC,aAAI,MAAM2K,CAAV,IAAe,KAAKosP,OAApB,EAA4B,IAAG/2P,CAAC,CAACw2P,cAAF,CAAiB7rP,CAAjB,CAAH,EAAuB,MAAM,IAAIw3C,CAAJ,CAAM,iCAAN,EAAwC,IAAxC,EAA6C;AAACi2M,UAAAA,UAAU,EAACp4P,CAAZ;AAAcq4P,UAAAA,iBAAiB,EAAC1tP;AAAhC,SAA7C,CAAN;;AAAuF,aAAKosP,OAAL,CAAa9wP,IAAb,CAAkB,IAAI8vP,EAAJ,CAAO/1P,CAAC,CAACymF,KAAT,EAAezmF,CAAC,CAAC0mF,GAAjB,CAAlB;AAAyC;;AAAvmH;;AAAwmH32E,IAAAA,EAAE,CAAC9F,SAAH,CAAa4gF,EAAb,GAAgB,UAAS7qF,CAAT,EAAW;AAAC,aAAM,gBAAcA,CAAd,IAAiB,qBAAmBA,CAA1C;AAA4C,KAAxE;;AAAyE,UAAM83P,EAAN,SAAiBvyB,CAAC,CAAC16I,EAAD,CAAlB,CAAuB;AAACprH,MAAAA,WAAW,CAAC,GAAGugC,CAAJ,EAAM;AAAC,iBAAQ,KAAKs4P,UAAL,GAAgB,IAAIvoP,EAAJ,EAAxB,EAA+B,KAAKuoP,UAAL,CAAgBnyB,QAAhB,CAAyB,QAAzB,EAAmC15E,EAAnC,CAAsC,IAAtC,CAA/B,EAA2EzsJ,CAAC,CAACrzB,MAAF,IAAU,KAAK2rR,UAAL,CAAgB/G,KAAhB,CAAsB,GAAGvxP,CAAzB,CAArF;AAAiH;;AAAU,UAANm3P,MAAM,GAAE;AAAC,eAAO,KAAKmB,UAAL,CAAgBnB,MAAvB;AAA8B;;AAAsB,UAAlBC,kBAAkB,GAAE;AAAC,eAAO,KAAKkB,UAAL,CAAgBlB,kBAAvB;AAA0C;;AAAU,UAAN1hD,MAAM,GAAE;AAAC,eAAO,KAAK4iD,UAAL,CAAgB5iD,MAAvB;AAA8B;;AAAS,UAAL1iK,KAAK,GAAE;AAAC,eAAO,KAAKslN,UAAL,CAAgBtlN,KAAvB;AAA6B;;AAAe,UAAXgjN,WAAW,GAAE;AAAC,eAAO,KAAKsC,UAAL,CAAgBtC,WAAvB;AAAmC;;AAAc,UAAVqB,UAAU,GAAE;AAAC,eAAO,KAAKiB,UAAL,CAAgBjB,UAAvB;AAAkC;;AAAc,UAAVC,UAAU,GAAE;AAAC,eAAO,KAAKgB,UAAL,CAAgBhB,UAAvB;AAAkC;;AAAmB,UAAfjD,eAAe,GAAE;AAAC,eAAO,KAAKiE,UAAL,CAAgBjE,eAAvB;AAAuC;;AAAW,UAAP0C,OAAO,GAAE;AAAC,eAAO,KAAKuB,UAAL,CAAgBvB,OAAvB;AAA+B;;AAAU,OAATQ,SAAS,GAAE;AAAC,eAAM,KAAKe,UAAL,CAAgBf,SAAhB,EAAN;AAAkC;;AAAAC,MAAAA,aAAa,GAAE;AAAC,eAAO,KAAKc,UAAL,CAAgBd,aAAhB,EAAP;AAAuC;;AAAAC,MAAAA,YAAY,GAAE;AAAC,eAAO,KAAKa,UAAL,CAAgBb,YAAhB,EAAP;AAAsC;;AAAA1N,MAAAA,gBAAgB,GAAE;AAAC,eAAO,KAAKuO,UAAL,CAAgBvO,gBAAhB,EAAP;AAA0C;;AAAA2N,MAAAA,eAAe,GAAE;AAAC,eAAO,KAAKY,UAAL,CAAgBZ,eAAhB,EAAP;AAAyC;;AAAAC,MAAAA,kBAAkB,GAAE;AAAC,eAAO,KAAKW,UAAL,CAAgBX,kBAAhB,EAAP;AAA4C;;AAAA5hB,MAAAA,OAAO,CAAC/1O,CAAD,EAAG;AAAC,eAAO,KAAKs4P,UAAL,CAAgBviB,OAAhB,CAAwB/1O,CAAxB,CAAP;AAAkC;;AAAAwtP,MAAAA,SAAS,CAACxtP,CAAD,EAAG;AAAC,eAAO,KAAKs4P,UAAL,CAAgB9K,SAAhB,CAA0BxtP,CAA1B,CAAP;AAAoC;;AAAAu4P,MAAAA,MAAM,CAAC,GAAGv4P,CAAJ,EAAM;AAAC,aAAKs4P,UAAL,CAAgB/G,KAAhB,CAAsB,GAAGvxP,CAAzB;AAA4B;;AAAAw4P,MAAAA,SAAS,CAACx4P,CAAD,EAAG2K,CAAH,EAAK;AAAC,aAAK2tP,UAAL,CAAgBL,QAAhB,CAAyBj4P,CAAzB,EAA2B2K,CAA3B;AAA8B;;AAAnlC;;AAAolCmtP,IAAAA,EAAE,CAAC7tP,SAAH,CAAa4gF,EAAb,GAAgB,UAAS7qF,CAAT,EAAW;AAAC,aAAM,gBAAcA,CAAd,IAAiB,uBAAqBA,CAAtC,IAAyC,oBAAkBA,CAA3D,IAA8D,4BAA0BA,CAA9F;AAAgG,KAA5H;;AAA6H,UAAMy4P,EAAN,SAAiB7hH,CAAjB,CAAkB;AAACn3K,MAAAA,WAAW,CAACugC,CAAD,EAAG2K,CAAH,EAAKJ,CAAL,EAAO;AAAC,cAAMvK,CAAN,EAAQ2K,CAAR,GAAW,KAAK+tP,UAAL,GAAgBnuP,CAA3B,EAA6B,KAAKouP,WAAL,GAAiB,MAA9C,EAAqD,KAAKC,cAAL,GAAoB,IAAzE;AAA8E;;AAAc,UAAVC,UAAU,GAAE;AAAC,eAAO,KAAKF,WAAZ;AAAwB;;AAAiB,UAAb9uC,aAAa,GAAE;AAAC,eAAO,KAAK+uC,cAAZ;AAA2B;;AAA1L;;AAA2L,UAAME,EAAE,GAAC5sP,MAAM,CAAC,mBAAD,CAAf;;AAAqC,aAAS6sP,EAAT,CAAY/4P,CAAZ,EAAc;AAAC,aAAO,cAAcA,CAAd,CAAe;AAAC0lF,QAAAA,IAAI,CAAC1lF,CAAD,EAAG,GAAG2K,CAAN,EAAQ;AAAC,cAAG;AAAC,kBAAMJ,CAAC,GAACvK,CAAC,YAAY42I,CAAb,GAAe52I,CAAf,GAAiB,IAAI42I,CAAJ,CAAM,IAAN,EAAW52I,CAAX,CAAzB;AAAA,kBAAuCuM,CAAC,GAACysP,EAAE,CAAC,IAAD,CAA3C;AAAkD,gBAAG,CAACzsP,CAAC,CAAC4lE,IAAN,EAAW;AAAO,gBAAG8mL,EAAE,CAAC1uP,CAAD,EAAG,WAAH,EAAe,IAAf,CAAF,EAAuB2uP,EAAE,CAAC3sP,CAAD,EAAG,UAAH,EAAchC,CAAd,EAAgB,GAAGI,CAAnB,CAA5B,EAAkD,OAAOJ,CAAC,CAACo4N,MAAT;AAAgB,kBAAMhsP,CAAC,GAAC4zB,CAAC,CAACmuP,UAAF,IAAc,KAAK5O,SAAL,CAAe0N,aAAf,EAAtB;AAAA,kBAAqD/qP,CAAC,GAAC91B,CAAC,GAACA,CAAC,CAAC8/Q,mBAAF,EAAD,GAAyB,IAAjF;AAAA,kBAAsFnsP,CAAC,GAAC,CAAC,CAACmC,CAAF,IAAKy8H,OAAO,CAACiwH,EAAE,CAAC5sP,CAAD,EAAGE,CAAH,CAAH,CAApG;;AAA8G,gBAAI21C,CAAC,GAAC31C,CAAC,IAAE,UAASzM,CAAT,EAAW;AAAC,kBAAG,CAACA,CAAJ,EAAM,OAAO,IAAP;AAAY,oBAAM2K,CAAC,GAAC3K,CAAC,CAACymF,KAAF,CAAQtlC,MAAhB;AAAA,oBAAuB52C,CAAC,GAACvK,CAAC,CAAC0mF,GAAF,CAAMvlC,MAA/B;AAAA,oBAAsC50C,CAAC,GAAC5B,CAAC,CAACqiP,OAAF,EAAxC;AAAA,oBAAoDr2Q,CAAC,GAAC4zB,CAAC,CAACyiP,OAAF,EAAtD;AAAkE,qBAAOzgP,CAAC,CAAC5/B,MAAF,GAASgK,CAAC,CAAChK,MAAX,GAAkBg+B,CAAlB,GAAoBJ,CAA3B;AAA6B,aAA7H,CAA8H5zB,CAA9H,CAAT;;AAA0I,gBAAGsiR,EAAE,CAAC1uP,CAAD,EAAG,UAAH,EAAc63C,CAAd,CAAF,EAAmB,CAAC93C,CAAvB,EAAyB;AAAC,kBAAG4uP,EAAE,CAAC3sP,CAAD,EAAG,OAAH,EAAWhC,CAAX,EAAa,GAAGI,CAAhB,CAAL,EAAwB,OAAOJ,CAAC,CAACo4N,MAAT;AAAgBs2B,cAAAA,EAAE,CAAC1uP,CAAD,EAAG,UAAH,EAAc63C,CAAd,CAAF;AAAmB;;AAAA,mBAAKA,CAAL,GAAQ;AAAC,kBAAGA,CAAC,CAACyoC,EAAF,CAAK,aAAL,CAAH,EAAuB;AAAC,oBAAGquK,EAAE,CAAC3sP,CAAD,EAAG,OAAH,EAAWhC,CAAX,EAAa,GAAGI,CAAhB,CAAL,EAAwB,OAAOJ,CAAC,CAACo4N,MAAT;AAAgB,eAAhE,MAAqE,IAAGvgL,CAAC,CAACyoC,EAAF,CAAK,SAAL,KAAiBquK,EAAE,CAAC3sP,CAAD,EAAG61C,CAAC,CAAC5xE,IAAL,EAAU+5B,CAAV,EAAY,GAAGI,CAAf,CAAtB,EAAwC,OAAOJ,CAAC,CAACo4N,MAAT;;AAAgB,kBAAGu2B,EAAE,CAAC3sP,CAAD,EAAG61C,CAAH,EAAK73C,CAAL,EAAO,GAAGI,CAAV,CAAL,EAAkB,OAAOJ,CAAC,CAACo4N,MAAT;AAAgBvgL,cAAAA,CAAC,GAACA,CAAC,CAACjB,MAAJ,EAAW83M,EAAE,CAAC1uP,CAAD,EAAG,UAAH,EAAc63C,CAAd,CAAb;AAA8B;;AAAA,mBAAO62M,EAAE,CAAC1uP,CAAD,EAAG,UAAH,EAAc,IAAd,CAAF,EAAsB2uP,EAAE,CAAC3sP,CAAD,EAAG,WAAH,EAAehC,CAAf,EAAiB,GAAGI,CAApB,CAAxB,EAA+CJ,CAAC,CAACo4N,MAAxD;AAA+D,WAA5tB,CAA4tB,OAAM3iO,CAAN,EAAQ;AAACmiD,YAAAA,CAAC,CAACgjL,sBAAF,CAAyBnlO,CAAzB,EAA2B,IAA3B;AAAiC;AAAC;;AAAA8lO,QAAAA,iBAAiB,CAAC9lO,CAAD,EAAG2K,CAAH,EAAKJ,CAAL,EAAO;AAAC,gBAAMgC,CAAC,GAACoiL,EAAE,CAACpkL,CAAC,CAACj6B,OAAF,IAAW,WAAZ,CAAV;AAAA,gBAAmCqG,CAAC,GAACqiR,EAAE,CAAC,IAAD,CAAvC;;AAA8C,eAAI,MAAMvsP,CAAV,IAAeF,CAAf,EAAiB;AAAC,gBAAIA,CAAC,GAAC51B,CAAC,CAAClW,GAAF,CAAMgsC,CAAN,CAAN;AAAeF,YAAAA,CAAC,KAAGA,CAAC,GAAC,KAAIg5N,CAAC,EAAL,GAAF,EAAW5uP,CAAC,CAACmuB,GAAF,CAAM2H,CAAN,EAAQF,CAAR,CAAd,CAAD,EAA2B,KAAKi5N,QAAL,CAAcj5N,CAAd,EAAgBvM,CAAhB,EAAkB2K,CAAlB,EAAoBJ,CAApB,CAA3B;AAAkD;AAAC;;AAAA07N,QAAAA,oBAAoB,CAACjmO,CAAD,EAAG2K,CAAH,EAAK;AAAC,gBAAMJ,CAAC,GAACyuP,EAAE,CAAC,IAAD,CAAV;;AAAiB,eAAI,MAAMzsP,CAAV,IAAehC,CAAC,CAAC8W,MAAF,EAAf,EAA0B,KAAKqkN,aAAL,CAAmBn5N,CAAnB,EAAqBvM,CAArB,EAAuB2K,CAAvB;AAA0B;;AAA/gC,OAAtB;AAAuiC;;AAAA;AAAC,YAAM3K,CAAC,GAAC+4P,EAAE,CAAC52P,MAAD,CAAV;AAAmB,OAAC,MAAD,EAAQ,mBAAR,EAA4B,sBAA5B,EAAoD0D,OAApD,CAA6D8E,CAAC,IAAE;AAACouP,QAAAA,EAAE,CAACpuP,CAAD,CAAF,GAAM3K,CAAC,CAACiK,SAAF,CAAYU,CAAZ,CAAN;AAAqB,OAAtF;AAAyF;;AAAA,aAASsuP,EAAT,CAAYj5P,CAAZ,EAAc2K,CAAd,EAAgBJ,CAAhB,EAAkB;AAACvK,MAAAA,CAAC,YAAYy4P,EAAb,KAAkBz4P,CAAC,CAAC24P,WAAF,GAAchuP,CAAd,EAAgB3K,CAAC,CAAC44P,cAAF,GAAiBruP,CAAnD;AAAsD;;AAAA,aAAS2uP,EAAT,CAAYl5P,CAAZ,EAAc2K,CAAd,EAAgBJ,CAAhB,EAAkB,GAAGgC,CAArB,EAAuB;AAAC,YAAM51B,CAAC,GAAC,YAAU,OAAOg0B,CAAjB,GAAmB3K,CAAC,CAACv/B,GAAF,CAAMkqC,CAAN,CAAnB,GAA4BwuP,EAAE,CAACn5P,CAAD,EAAG2K,CAAH,CAAtC;AAA4C,aAAM,CAAC,CAACh0B,CAAF,KAAMA,CAAC,CAAC+uG,IAAF,CAAOn7E,CAAP,EAAS,GAAGgC,CAAZ,GAAehC,CAAC,CAAC66E,IAAF,CAAO0/I,MAA5B,CAAN;AAA0C;;AAAA,aAASq0B,EAAT,CAAYn5P,CAAZ,EAAc2K,CAAd,EAAgB;AAAC,WAAI,MAAK,CAACJ,CAAD,EAAGgC,CAAH,CAAT,IAAiBvM,CAAjB,EAAmB,IAAG,cAAY,OAAOuK,CAAnB,IAAsBA,CAAC,CAACI,CAAD,CAA1B,EAA8B,OAAO4B,CAAP;;AAAS,aAAO,IAAP;AAAY;;AAAA,aAASysP,EAAT,CAAYh5P,CAAZ,EAAc;AAAC,aAAOA,CAAC,CAAC84P,EAAD,CAAD,KAAQ94P,CAAC,CAAC84P,EAAD,CAAD,GAAM,IAAI7pP,GAAJ,EAAd,GAAuBjP,CAAC,CAAC84P,EAAD,CAA/B;AAAoC;;AAAA,UAAMM,EAAN,SAAiBL,EAAE,CAAC12M,CAAC,EAAF,CAAnB,CAAyB;AAAC5iF,MAAAA,WAAW,CAACugC,CAAD,EAAG;AAAC,iBAAQ,KAAKq5P,WAAL,GAAiB,IAAIxnL,GAAJ,EAAzB,EAAiC,KAAKi4K,SAAL,GAAe,IAAIgO,EAAJ,EAAhD,EAAuD,KAAKp1K,KAAL,GAAW,IAAI05J,EAAJ,CAAO;AAACI,UAAAA,UAAU,EAAC;AAAZ,SAAP,CAAlE,EAAkG,KAAKyW,eAAL,GAAqBjzP,CAAvH,EAAyH,KAAK8E,GAAL,CAAS,YAAT,EAAsB,CAAC,CAAvB,CAAzH,EAAmJ,KAAKA,GAAL,CAAS,WAAT,EAAqB,CAAC,CAAtB,CAAnJ,EAA4K,KAAKA,GAAL,CAAS,aAAT,EAAuB,CAAC,CAAxB,CAA5K,EAAuM,KAAKA,GAAL,CAAS,aAAT,EAAuB,CAAC,CAAxB,CAAvM;AAAkO;;AAAAshF,MAAAA,OAAO,CAACpmF,CAAC,GAAC,MAAH,EAAU;AAAC,eAAO,KAAK0iF,KAAL,CAAWjiH,GAAX,CAAeu/B,CAAf,CAAP;AAAyB;;AAAAusP,MAAAA,iBAAiB,CAACvsP,CAAD,EAAG;AAAC,aAAKq5P,WAAL,CAAiBzkQ,GAAjB,CAAqBoL,CAArB;AAAwB;;AAAA2+E,MAAAA,OAAO,GAAE;AAAC,aAAK+D,KAAL,CAAW78E,OAAX,CAAoB7F,CAAC,IAAEA,CAAC,CAAC2+E,OAAF,EAAvB,GAAqC,KAAK+mJ,aAAL,EAArC;AAA0D;;AAAA4zB,MAAAA,eAAe,CAACt5P,CAAD,EAAG;AAAC,YAAI2K,CAAC,GAAC,CAAC,CAAP;;AAAS,WAAE;AAAC,eAAI,MAAMJ,CAAV,IAAe,KAAK8uP,WAApB,EAAgC,IAAG1uP,CAAC,GAACJ,CAAC,CAACvK,CAAD,CAAH,EAAO2K,CAAV,EAAY;AAAM,SAArD,QAA2DA,CAA3D;AAA8D;;AAAxe;;AAAye,UAAM4uP,EAAN,SAAiB7G,EAAjB,CAAmB;AAACjzR,MAAAA,WAAW,CAACugC,CAAD,EAAG2K,CAAH,EAAKJ,CAAL,EAAOgC,CAAP,EAAS;AAAC,cAAMvM,CAAN,EAAQ2K,CAAR,EAAUJ,CAAV,EAAYgC,CAAZ,GAAe,KAAKitP,SAAL,GAAe,EAA9B,EAAiC,KAAKn9G,GAAL,GAAS,IAA1C,EAA+C,KAAKo9G,YAAL,GAAkB,IAAjE,EAAsE,KAAK/F,eAAL,GAAqBgG,EAA3F;AAA8F;;AAAY,UAAR/zK,QAAQ,GAAE;AAAC,eAAO,KAAK6zK,SAAZ;AAAsB;;AAAM,UAAFrsR,EAAE,GAAE;AAAC,eAAO,KAAKkvK,GAAZ;AAAgB;;AAAAs9G,MAAAA,qBAAqB,GAAE;AAAC,YAAG,SAAO,KAAKxsR,EAAf,EAAkB,MAAM,IAAIg1E,CAAJ,CAAM,mDAAN,EAA0D,IAA1D,CAAN;AAAsE,eAAO,IAAI0vB,GAAJ,CAAQ,KAAK4nL,YAAb,CAAP;AAAkC;;AAAAjM,MAAAA,SAAS,CAACxtP,CAAD,EAAG;AAAC,eAAO,SAAO,KAAK7yB,EAAZ,IAAgB,SAAO6yB,CAAC,CAAC7yB,EAAzB,GAA4B,KAAKA,EAAL,KAAU6yB,CAAC,CAAC7yB,EAAxC,GAA2C,MAAMqgR,SAAN,CAAgBxtP,CAAhB,KAAoB,KAAK2lF,QAAL,IAAe3lF,CAAC,CAAC2lF,QAAvF;AAAgG;;AAAA8nK,MAAAA,MAAM,CAACztP,CAAC,GAAC,CAAC,CAAJ,EAAM;AAAC,cAAM2K,CAAC,GAAC,MAAM8iP,MAAN,CAAaztP,CAAb,CAAR;;AAAwB,eAAO2K,CAAC,CAAC6uP,SAAF,GAAY,KAAKA,SAAjB,EAA2B7uP,CAAC,CAAC0xI,GAAF,GAAM,KAAKA,GAAtC,EAA0C1xI,CAAjD;AAAmD;;AAAzgB;;AAA0gB,aAAS+uP,EAAT,GAAa;AAAC,UAAGE,EAAE,CAAC,IAAD,CAAL,EAAY,OAAO,IAAP;AAAY,UAAI55P,CAAC,GAAC,KAAKmhD,MAAX;;AAAkB,aAAKnhD,CAAC,IAAEA,CAAC,CAAC6qF,EAAF,CAAK,kBAAL,CAAR,GAAkC;AAAC,YAAG+uK,EAAE,CAAC55P,CAAD,CAAF,GAAM,CAAT,EAAW,OAAO,IAAP;AAAYA,QAAAA,CAAC,GAACA,CAAC,CAACmhD,MAAJ;AAAW;;AAAA,aAAM,CAACnhD,CAAD,IAAI45P,EAAE,CAAC55P,CAAD,CAAF,GAAM,CAAV,GAAY,IAAZ,GAAiB,KAAK0sP,UAA5B;AAAuC;;AAAA,aAASkN,EAAT,CAAY55P,CAAZ,EAAc;AAAC,aAAOmF,KAAK,CAAC7H,IAAN,CAAW0C,CAAC,CAACgkF,WAAF,EAAX,EAA4Br6G,MAA5B,CAAoCq2B,CAAC,IAAE,CAACA,CAAC,CAAC6qF,EAAF,CAAK,WAAL,CAAxC,EAA4Dl+G,MAAnE;AAA0E;;AAAA4sR,IAAAA,EAAE,CAACM,gBAAH,GAAoB,EAApB,EAAuBN,EAAE,CAACtvP,SAAH,CAAa4gF,EAAb,GAAgB,UAAS7qF,CAAT,EAAW2K,CAAX,EAAa;AAAC,aAAOA,CAAC,GAACA,CAAC,KAAG,KAAKn6B,IAAT,KAAgB,uBAAqBwvB,CAArB,IAAwB,4BAA0BA,CAAlD,IAAqD,cAAYA,CAAjE,IAAoE,mBAAiBA,CAArG,CAAD,GAAyG,uBAAqBA,CAArB,IAAwB,4BAA0BA,CAAlD,IAAqD,cAAYA,CAAjE,IAAoE,mBAAiBA,CAArF,IAAwF,WAASA,CAAjG,IAAoG,gBAAcA,CAAnO;AAAqO,KAA1R;;AAA2R,UAAM85P,EAAN,SAAiBpH,EAAjB,CAAmB;AAACjzR,MAAAA,WAAW,CAACugC,CAAD,EAAG2K,CAAH,EAAKJ,CAAL,EAAOgC,CAAP,EAAS;AAAC,cAAMvM,CAAN,EAAQ2K,CAAR,EAAUJ,CAAV,EAAYgC,CAAZ,GAAe,KAAKmnP,eAAL,GAAqBqG,EAApC;AAAuC;;AAAAhH,MAAAA,YAAY,CAAC/yP,CAAD,EAAG2K,CAAH,EAAK;AAAC,YAAGA,CAAC,KAAGA,CAAC,YAAY88K,EAAb,IAAiBtiL,KAAK,CAAC7H,IAAN,CAAWqN,CAAX,EAAch+B,MAAd,GAAqB,CAAzC,CAAJ,EAAgD,MAAM,IAAIw1E,CAAJ,CAAM,8BAAN,EAAqC,CAAC,IAAD,EAAMx3C,CAAN,CAArC,CAAN;AAAqD,eAAO,CAAP;AAAS;;AAA7L;;AAA8L,aAASovP,EAAT,GAAa;AAAC,aAAO,IAAP;AAAY;;AAAAD,IAAAA,EAAE,CAAC7vP,SAAH,CAAa4gF,EAAb,GAAgB,UAAS7qF,CAAT,EAAW2K,CAAX,EAAa;AAAC,aAAOA,CAAC,GAACA,CAAC,KAAG,KAAKn6B,IAAT,KAAgB,mBAAiBwvB,CAAjB,IAAoB,wBAAsBA,CAA1C,IAA6C,cAAYA,CAAzD,IAA4D,mBAAiBA,CAA7F,CAAD,GAAiG,mBAAiBA,CAAjB,IAAoB,wBAAsBA,CAA1C,IAA6C,cAAYA,CAAzD,IAA4D,mBAAiBA,CAA7E,IAAgF,WAASA,CAAzF,IAA4F,gBAAcA,CAAnN;AAAqN,KAAnP;;AAAoP,UAAMg6P,EAAN,SAAiBtH,EAAjB,CAAmB;AAACjzR,MAAAA,WAAW,CAACugC,CAAD,EAAG2K,CAAH,EAAKJ,CAAL,EAAOgC,CAAP,EAAS;AAAC,cAAMvM,CAAN,EAAQ2K,CAAR,EAAUJ,CAAV,EAAYgC,CAAZ,GAAe,KAAKmnP,eAAL,GAAqBuG,EAApC;AAAuC;;AAAAlH,MAAAA,YAAY,CAAC/yP,CAAD,EAAG2K,CAAH,EAAK;AAAC,YAAGA,CAAC,KAAGA,CAAC,YAAY88K,EAAb,IAAiBtiL,KAAK,CAAC7H,IAAN,CAAWqN,CAAX,EAAch+B,MAAd,GAAqB,CAAzC,CAAJ,EAAgD,MAAM,IAAIw1E,CAAJ,CAAM,2BAAN,EAAkC,CAAC,IAAD,EAAMx3C,CAAN,CAAlC,CAAN;AAAkD,eAAO,CAAP;AAAS;;AAAAi0O,MAAAA,MAAM,CAAC5+O,CAAD,EAAG2K,CAAH,EAAK;AAAC,eAAO,KAAKuvP,YAAL,CAAkBl6P,CAAlB,CAAP;AAA4B;;AAAAk6P,MAAAA,YAAY,CAACl6P,CAAD,EAAG;AAAC,cAAM2K,CAAC,GAAC3K,CAAC,CAAC6G,aAAF,CAAgB,KAAKr2B,IAArB,CAAR;;AAAmC,aAAI,MAAMwvB,CAAV,IAAe,KAAKkuP,gBAAL,EAAf,EAAuCvjP,CAAC,CAAC+wC,YAAF,CAAe17C,CAAf,EAAiB,KAAK6hP,YAAL,CAAkB7hP,CAAlB,CAAjB;;AAAuC,eAAO2K,CAAP;AAAS;;AAA5W;;AAA6W,aAASwvP,EAAT,CAAYn6P,CAAZ,EAAc;AAACA,MAAAA,CAAC,CAAC0B,QAAF,CAAWjgB,EAAX,CAAc,UAAd,EAA0B,CAACkpB,CAAD,EAAGJ,CAAH,KAAO,UAASvK,CAAT,EAAW2K,CAAX,EAAaJ,CAAb,EAAe;AAAC,YAAGI,CAAC,CAAC0wO,OAAF,IAAWX,EAAE,CAACG,UAAjB,EAA4B;AAAC,gBAAM76O,CAAC,GAAC2K,CAAC,CAACyvP,SAAF,CAAYpnB,aAAZ,CAA0BF,WAA1B,CAAsCunB,YAAtC,EAAR;AAAA,gBAA6D9tP,CAAC,GAAC,KAAGvM,CAAC,CAACq3P,UAAL,IAAiBr3P,CAAC,CAACs6P,UAAF,CAAa,CAAb,EAAgBvqQ,SAAhG;;AAA0G,cAAGwc,CAAC,IAAE5B,CAAC,CAAC6wO,QAAR,EAAiB;AAAC,kBAAM7wO,CAAC,GAAC3K,CAAC,CAACu6P,SAAV;AAAA,kBAAoB5jR,CAAC,GAACqpB,CAAC,CAACw6P,WAAxB;AAAA,kBAAoC/tP,CAAC,GAAClC,CAAC,CAACkwP,iBAAF,CAAoB9vP,CAApB,EAAsBh0B,CAAtB,CAAtC;AAA+D,gBAAG,SAAO81B,CAAV,EAAY;AAAO,gBAAInC,CAAC,GAAC,CAAC,CAAP;AAAS,kBAAM83C,CAAC,GAAC31C,CAAC,CAACmpP,uBAAF,CAA2B51P,CAAC,KAAGA,CAAC,CAACxlB,IAAF,CAAOqwG,EAAP,CAAU,WAAV,MAAyBvgF,CAAC,GAAC,CAAC,CAA5B,GAA+B,EAAE,CAACtK,CAAC,CAACxlB,IAAF,CAAOqwG,EAAP,CAAU,WAAV,CAAD,IAAyB,CAAC7qF,CAAC,CAACxlB,IAAF,CAAOqwG,EAAP,CAAU,kBAAV,CAA5B,CAAlC,CAA5B,CAAR;;AAAoI,gBAAGvgF,CAAH,EAAK;AAAC,oBAAMK,CAAC,GAACJ,CAAC,CAACmwP,iBAAF,CAAoBt4M,CAApB,CAAR;AAA+B71C,cAAAA,CAAC,GAACvM,CAAC,CAAC26P,QAAF,CAAWhwP,CAAC,CAACw2C,MAAb,EAAoBx2C,CAAC,CAAC0yE,MAAtB,CAAD,GAA+Br9E,CAAC,CAACg3L,MAAF,CAASrsL,CAAC,CAACw2C,MAAX,EAAkBx2C,CAAC,CAAC0yE,MAApB,CAAhC;AAA4D;AAAC;AAAC;AAAC,OAA5e,CAA6e,CAA7e,EAA+e9yE,CAA/e,EAAifvK,CAAC,CAAC46P,YAAnf,CAAjC,EAAmiB;AAACj1K,QAAAA,QAAQ,EAAC;AAAV,OAAniB;AAAqjB;;AAAA,aAASs0K,EAAT,GAAa;AAAC,aAAO,IAAP;AAAY;;AAAAD,IAAAA,EAAE,CAAC/vP,SAAH,CAAa4gF,EAAb,GAAgB,UAAS7qF,CAAT,EAAW2K,CAAX,EAAa;AAAC,aAAOA,CAAC,GAACA,CAAC,KAAG,KAAKn6B,IAAT,KAAgB,gBAAcwvB,CAAd,IAAiB,qBAAmBA,CAApC,IAAuC,cAAYA,CAAnD,IAAsD,mBAAiBA,CAAvF,CAAD,GAA2F,gBAAcA,CAAd,IAAiB,qBAAmBA,CAApC,IAAuC,cAAYA,CAAnD,IAAsD,mBAAiBA,CAAvE,IAA0E,WAASA,CAAnF,IAAsF,gBAAcA,CAAvM;AAAyM,KAAvO;;AAAwO,UAAM66P,EAAN,SAAiBnI,EAAjB,CAAmB;AAACjzR,MAAAA,WAAW,CAACugC,CAAD,EAAG2K,CAAH,EAAKJ,CAAL,EAAOgC,CAAP,EAAS;AAAC,cAAMvM,CAAN,EAAQ2K,CAAR,EAAUJ,CAAV,EAAYgC,CAAZ,GAAe,KAAKmnP,eAAL,GAAqBoH,EAApC;AAAuC;;AAAA/H,MAAAA,YAAY,CAAC/yP,CAAD,EAAG2K,CAAH,EAAK;AAAC,YAAGA,CAAC,KAAGA,CAAC,YAAY88K,EAAb,IAAiBtiL,KAAK,CAAC7H,IAAN,CAAWqN,CAAX,EAAch+B,MAAd,GAAqB,CAAzC,CAAJ,EAAgD,MAAM,IAAIw1E,CAAJ,CAAM,4BAAN,EAAmC,CAAC,IAAD,EAAMx3C,CAAN,CAAnC,CAAN;AAAmD,eAAO,CAAP;AAAS;;AAAAi0O,MAAAA,MAAM,CAAC5+O,CAAD,EAAG2K,CAAH,EAAK,CAAE;;AAAxM;;AAAyM,aAASmwP,EAAT,GAAa;AAAC,aAAO,IAAP;AAAY;;AAAAD,IAAAA,EAAE,CAAC5wP,SAAH,CAAa4gF,EAAb,GAAgB,UAAS7qF,CAAT,EAAW2K,CAAX,EAAa;AAAC,aAAOA,CAAC,GAACA,CAAC,KAAG,KAAKn6B,IAAT,KAAgB,iBAAewvB,CAAf,IAAkB,sBAAoBA,CAAtC,IAAyC,cAAYA,CAArD,IAAwD,mBAAiBA,CAAzF,CAAD,GAA6F,iBAAeA,CAAf,IAAkB,sBAAoBA,CAAtC,IAAyCA,CAAC,KAAG,KAAKxvB,IAAlD,IAAwDwvB,CAAC,KAAG,UAAQ,KAAKxvB,IAAzE,IAA+E,cAAYwvB,CAA3F,IAA8F,mBAAiBA,CAA/G,IAAkH,WAASA,CAA3H,IAA8H,gBAAcA,CAAjP;AAAmP,KAAjR;;AAAkR,UAAM+6P,EAAN,SAAiBx1B,CAAC,CAAC16I,EAAD,CAAlB,CAAuB;AAACprH,MAAAA,WAAW,CAACugC,CAAD,EAAG2K,CAAH,EAAK;AAAC,iBAAQ,KAAKmoP,SAAL,GAAe,EAAvB,EAA0B,KAAKF,iBAAL,GAAuB,IAAI3jP,GAAJ,EAAjD,EAAyD,KAAKvN,QAAL,GAAc1B,CAAvE,EAAyE2K,CAAC,IAAE,KAAKooP,YAAL,CAAkB,CAAlB,EAAoBpoP,CAApB,CAA5E;AAAmG;;AAAgB,OAAfuB,MAAM,CAACC,QAAQ,IAAG;AAAC,eAAO,KAAK2mP,SAAL,CAAe5mP,MAAM,CAACC,QAAtB,GAAP;AAAyC;;AAAc,UAAVugP,UAAU,GAAE;AAAC,eAAO,KAAKoG,SAAL,CAAenmR,MAAtB;AAA6B;;AAAW,UAAP0pC,OAAO,GAAE;AAAC,eAAO,MAAI,KAAKq2O,UAAhB;AAA2B;;AAAQ,UAAJlpP,IAAI,GAAE;AAAC,eAAO,IAAP;AAAY;;AAAU,UAAN29C,MAAM,GAAE;AAAC,eAAO,IAAP;AAAY;;AAAQ,UAAJ3wE,IAAI,GAAE,CAAE;;AAAmB,UAAfkjR,eAAe,GAAE,CAAE;;AAAAJ,MAAAA,iBAAiB,CAACtzP,CAAD,EAAG;AAAC,eAAO,KAAK4yP,iBAAL,CAAuBnyR,GAAvB,CAA2Bu/B,CAA3B,CAAP;AAAqC;;AAAoB,OAAnBuzP,mBAAmB,GAAE;AAAC,eAAM,KAAKX,iBAAL,CAAuBpwK,OAAvB,EAAN;AAAuC;;AAAAuD,MAAAA,YAAY,CAAC/lF,CAAD,EAAG;AAAC,eAAO,KAAK+yP,YAAL,CAAkB,KAAKrG,UAAvB,EAAkC1sP,CAAlC,CAAP;AAA4C;;AAAA6sP,MAAAA,QAAQ,CAAC7sP,CAAD,EAAG;AAAC,eAAO,KAAK8yP,SAAL,CAAe9yP,CAAf,CAAP;AAAyB;;AAAA+sP,MAAAA,aAAa,CAAC/sP,CAAD,EAAG;AAAC,eAAO,KAAK8yP,SAAL,CAAe16Q,OAAf,CAAuB4nB,CAAvB,CAAP;AAAiC;;AAAAgkF,MAAAA,WAAW,GAAE;AAAC,eAAO,KAAK8uK,SAAL,CAAe5mP,MAAM,CAACC,QAAtB,GAAP;AAAyC;;AAAA4mP,MAAAA,YAAY,CAAC/yP,CAAD,EAAG2K,CAAH,EAAK;AAAC,aAAK2iP,WAAL,CAAiB,UAAjB,EAA4B,IAA5B;;AAAkC,YAAI/iP,CAAC,GAAC,CAAN;;AAAQ,cAAMgC,CAAC,GAAC,UAASvM,CAAT,EAAW2K,CAAX,EAAa;AAAC,cAAG,YAAU,OAAOA,CAApB,EAAsB,OAAM,CAAC,IAAIqyM,EAAJ,CAAOh9M,CAAP,EAAS2K,CAAT,CAAD,CAAN;AAAoBi9N,UAAAA,CAAC,CAACj9N,CAAD,CAAD,KAAOA,CAAC,GAAC,CAACA,CAAD,CAAT;AAAc,iBAAOxF,KAAK,CAAC7H,IAAN,CAAWqN,CAAX,EAAcnhC,GAAd,CAAmBmhC,CAAC,IAAE,YAAU,OAAOA,CAAjB,GAAmB,IAAIqyM,EAAJ,CAAOh9M,CAAP,EAAS2K,CAAT,CAAnB,GAA+BA,CAAC,YAAYuxJ,EAAb,GAAgB,IAAI8gD,EAAJ,CAAOh9M,CAAP,EAAS2K,CAAC,CAAChjC,IAAX,CAAhB,GAAiCgjC,CAAtF,CAAP;AAAiG,SAAvK,CAAwK,KAAKjJ,QAA7K,EAAsLiJ,CAAtL,CAAR;;AAAiM,aAAI,MAAMA,CAAV,IAAe4B,CAAf,EAAiB,SAAO5B,CAAC,CAACw2C,MAAT,IAAiBx2C,CAAC,CAACsyO,OAAF,EAAjB,EAA6BtyO,CAAC,CAACw2C,MAAF,GAAS,IAAtC,EAA2C,KAAK2xM,SAAL,CAAe3vJ,MAAf,CAAsBnjG,CAAtB,EAAwB,CAAxB,EAA0B2K,CAA1B,CAA3C,EAAwE3K,CAAC,EAAzE,EAA4EuK,CAAC,EAA7E;;AAAgF,eAAOA,CAAP;AAAS;;AAAA8iP,MAAAA,eAAe,CAACrtP,CAAD,EAAG2K,CAAC,GAAC,CAAL,EAAO;AAAC,aAAK2iP,WAAL,CAAiB,UAAjB,EAA4B,IAA5B;;AAAkC,aAAI,IAAI/iP,CAAC,GAACvK,CAAV,EAAYuK,CAAC,GAACvK,CAAC,GAAC2K,CAAhB,EAAkBJ,CAAC,EAAnB,EAAsB,KAAKuoP,SAAL,CAAevoP,CAAf,EAAkB42C,MAAlB,GAAyB,IAAzB;;AAA8B,eAAO,KAAK2xM,SAAL,CAAe3vJ,MAAf,CAAsBnjG,CAAtB,EAAwB2K,CAAxB,CAAP;AAAkC;;AAAA2iP,MAAAA,WAAW,CAACttP,CAAD,EAAG2K,CAAH,EAAK;AAAC,aAAK+6E,IAAL,CAAU,YAAU1lF,CAApB,EAAsB2K,CAAtB;AAAyB;;AAAAspP,MAAAA,kBAAkB,CAACj0P,CAAD,EAAG2K,CAAH,EAAK;AAAC,aAAKioP,iBAAL,CAAuB9tP,GAAvB,CAA2B9E,CAA3B,EAA6B2K,CAA7B;AAAgC;;AAAAupP,MAAAA,qBAAqB,CAACl0P,CAAD,EAAG;AAAC,eAAO,KAAK4yP,iBAAL,CAAuBh+O,MAAvB,CAA8B5U,CAA9B,CAAP;AAAwC;;AAAvzC;;AAAwzC+6P,IAAAA,EAAE,CAAC9wP,SAAH,CAAa4gF,EAAb,GAAgB,UAAS7qF,CAAT,EAAW;AAAC,aAAM,uBAAqBA,CAArB,IAAwB,4BAA0BA,CAAxD;AAA0D,KAAtF;;AAAuF,UAAMg7P,EAAN,CAAQ;AAACv7R,MAAAA,WAAW,CAACugC,CAAD,EAAG;AAAC,aAAKi7P,YAAL,GAAkB,IAAIhsP,GAAJ,EAAlB,EAA0B,KAAKisP,YAAL,GAAkB,IAA5C,EAAiD,KAAKx5P,QAAL,GAAc1B,CAA/D;AAAiE;;AAAAm7P,MAAAA,YAAY,CAAC,GAAGn7P,CAAJ,EAAM;AAAC,aAAK0B,QAAL,CAAcooP,SAAd,CAAwByO,MAAxB,CAA+B,GAAGv4P,CAAlC;AAAqC;;AAAAo7P,MAAAA,iBAAiB,CAACp7P,CAAD,EAAG2K,CAAH,EAAK;AAAC,aAAKjJ,QAAL,CAAcooP,SAAd,CAAwB0O,SAAxB,CAAkCx4P,CAAlC,EAAoC2K,CAApC;AAAuC;;AAAA23O,MAAAA,sBAAsB,CAACtiP,CAAD,EAAG;AAAC,eAAO,IAAI+6P,EAAJ,CAAO,KAAKr5P,QAAZ,EAAqB1B,CAArB,CAAP;AAA+B;;AAAAgmF,MAAAA,UAAU,CAAChmF,CAAD,EAAG;AAAC,eAAO,IAAIg9M,EAAJ,CAAO,KAAKt7M,QAAZ,EAAqB1B,CAArB,CAAP;AAA+B;;AAAAq7P,MAAAA,sBAAsB,CAACr7P,CAAD,EAAG2K,CAAH,EAAKJ,CAAC,GAAC,EAAP,EAAU;AAAC,cAAMgC,CAAC,GAAC,IAAIgtP,EAAJ,CAAO,KAAK73P,QAAZ,EAAqB1B,CAArB,EAAuB2K,CAAvB,CAAR;AAAkC,eAAM,YAAU,OAAOJ,CAAC,CAACo7E,QAAnB,KAA8Bp5E,CAAC,CAACitP,SAAF,GAAYjvP,CAAC,CAACo7E,QAA5C,GAAsDp7E,CAAC,CAACp9B,EAAF,KAAOo/B,CAAC,CAAC8vI,GAAF,GAAM9xI,CAAC,CAACp9B,EAAf,CAAtD,EAAyEo9B,CAAC,CAAC+wP,sBAAF,IAA0B/uP,CAAC,CAAComP,yBAAF,CAA4B1sP,IAA5B,CAAiC,GAAGsE,CAAC,CAAC+wP,sBAAtC,CAAnG,EAAiK/uP,CAAvK;AAAyK;;AAAAgvP,MAAAA,sBAAsB,CAACv7P,CAAD,EAAG2K,CAAH,EAAKJ,CAAC,GAAC,EAAP,EAAUgC,CAAC,GAAC,EAAZ,EAAe;AAAC,YAAI51B,CAAC,GAAC,IAAN;AAAWuyP,QAAAA,EAAE,CAAC3+N,CAAD,CAAF,GAAMgC,CAAC,GAAChC,CAAR,GAAU5zB,CAAC,GAAC4zB,CAAZ;AAAc,cAAMkC,CAAC,GAAC,IAAI0nP,EAAJ,CAAO,KAAKzyP,QAAZ,EAAqB1B,CAArB,EAAuB2K,CAAvB,EAAyBh0B,CAAzB,CAAR;AAAoC,eAAO41B,CAAC,CAAC+uP,sBAAF,IAA0B7uP,CAAC,CAACkmP,yBAAF,CAA4B1sP,IAA5B,CAAiC,GAAGsG,CAAC,CAAC+uP,sBAAtC,CAA1B,EAAwF7uP,CAA/F;AAAiG;;AAAA+uP,MAAAA,qBAAqB,CAACx7P,CAAD,EAAG2K,CAAH,EAAKJ,CAAC,GAAC,EAAP,EAAU;AAAC,cAAMgC,CAAC,GAAC,IAAI6nP,EAAJ,CAAO,KAAK1yP,QAAZ,EAAqB1B,CAArB,EAAuB2K,CAAvB,CAAR;AAAkC,eAAOJ,CAAC,CAAC+wP,sBAAF,IAA0B/uP,CAAC,CAAComP,yBAAF,CAA4B1sP,IAA5B,CAAiC,GAAGsE,CAAC,CAAC+wP,sBAAtC,CAA1B,EAAwF/uP,CAA/F;AAAiG;;AAAAkvP,MAAAA,kBAAkB,CAACz7P,CAAD,EAAG2K,CAAH,EAAKJ,CAAC,GAAC,EAAP,EAAU;AAAC,cAAMgC,CAAC,GAAC,IAAIutP,EAAJ,CAAO,KAAKp4P,QAAZ,EAAqB1B,CAArB,EAAuB2K,CAAvB,CAAR;AAAkC,eAAOJ,CAAC,CAAC+wP,sBAAF,IAA0B/uP,CAAC,CAAComP,yBAAF,CAA4B1sP,IAA5B,CAAiC,GAAGsE,CAAC,CAAC+wP,sBAAtC,CAA1B,EAAwF/uP,CAA/F;AAAiG;;AAAAmvP,MAAAA,eAAe,CAAC17P,CAAD,EAAG2K,CAAH,EAAKJ,CAAL,EAAO;AAAC,cAAMgC,CAAC,GAAC,IAAIytP,EAAJ,CAAO,KAAKt4P,QAAZ,EAAqB1B,CAArB,EAAuB2K,CAAvB,CAAR;AAAkC,eAAOJ,CAAC,KAAGgC,CAAC,CAACqyO,MAAF,GAASr0O,CAAZ,CAAD,EAAgBgC,CAAvB;AAAyB;;AAAAovP,MAAAA,gBAAgB,CAAC37P,CAAD,EAAG2K,CAAH,EAAKJ,CAAL,EAAOgC,CAAC,GAAC,EAAT,EAAY;AAAC,cAAM51B,CAAC,GAAC,IAAIkkR,EAAJ,CAAO,KAAKn5P,QAAZ,EAAqB1B,CAArB,EAAuB2K,CAAvB,CAAR;AAAkC,eAAOJ,CAAC,KAAG5zB,CAAC,CAACioQ,MAAF,GAASr0O,CAAZ,CAAD,EAAgBgC,CAAC,CAAC+uP,sBAAF,IAA0B3kR,CAAC,CAACg8Q,yBAAF,CAA4B1sP,IAA5B,CAAiC,GAAGsG,CAAC,CAAC+uP,sBAAtC,CAA1C,EAAwG3kR,CAA/G;AAAiH;;AAAA+kE,MAAAA,YAAY,CAAC17C,CAAD,EAAG2K,CAAH,EAAKJ,CAAL,EAAO;AAACA,QAAAA,CAAC,CAACopP,aAAF,CAAgB3zP,CAAhB,EAAkB2K,CAAlB;AAAqB;;AAAAk5N,MAAAA,eAAe,CAAC7jO,CAAD,EAAG2K,CAAH,EAAK;AAACA,QAAAA,CAAC,CAACipP,gBAAF,CAAmB5zP,CAAnB;AAAsB;;AAAA4sP,MAAAA,QAAQ,CAAC5sP,CAAD,EAAG2K,CAAH,EAAK;AAACA,QAAAA,CAAC,CAACkpP,SAAF,CAAY7zP,CAAZ;AAAe;;AAAAysP,MAAAA,WAAW,CAACzsP,CAAD,EAAG2K,CAAH,EAAK;AAACA,QAAAA,CAAC,CAACmpP,YAAF,CAAe9zP,CAAf;AAAkB;;AAAA47P,MAAAA,QAAQ,CAAC57P,CAAD,EAAG2K,CAAH,EAAKJ,CAAL,EAAO;AAAC2+N,QAAAA,EAAE,CAAClpO,CAAD,CAAF,IAAO,KAAK,CAAL,KAASuK,CAAhB,GAAkBI,CAAC,CAACopP,SAAF,CAAY/zP,CAAZ,CAAlB,GAAiCuK,CAAC,CAACwpP,SAAF,CAAY/zP,CAAZ,EAAc2K,CAAd,CAAjC;AAAkD;;AAAAkxP,MAAAA,WAAW,CAAC77P,CAAD,EAAG2K,CAAH,EAAK;AAACA,QAAAA,CAAC,CAACqpP,YAAF,CAAeh0P,CAAf;AAAkB;;AAAA87P,MAAAA,iBAAiB,CAAC97P,CAAD,EAAG2K,CAAH,EAAKJ,CAAL,EAAO;AAACA,QAAAA,CAAC,CAAC0pP,kBAAF,CAAqBj0P,CAArB,EAAuB2K,CAAvB;AAA0B;;AAAAoxP,MAAAA,oBAAoB,CAAC/7P,CAAD,EAAG2K,CAAH,EAAK;AAAC,eAAOA,CAAC,CAACupP,qBAAF,CAAwBl0P,CAAxB,CAAP;AAAkC;;AAAAg8P,MAAAA,eAAe,CAACh8P,CAAD,EAAG;AAAC,eAAOA,CAAC,YAAYuwL,EAAb,GAAgB,KAAK0rE,gBAAL,CAAsBj8P,CAAtB,CAAhB,GAAyC,KAAKk8P,qBAAL,CAA2Bl8P,CAA3B,CAAhD;AAA8E;;AAAAm8P,MAAAA,cAAc,CAACn8P,CAAD,EAAG;AAAC,cAAM2K,CAAC,GAAC3K,CAAC,CAACmhD,MAAV;AAAiB,YAAG,CAACx2C,CAAC,CAACkgF,EAAF,CAAK,kBAAL,CAAJ,EAA6B,MAAM,IAAI1oC,CAAJ,CAAM,yCAAN,EAAgD,KAAKzgD,QAArD,CAAN;AAAqE,YAAG,CAACiJ,CAAC,CAACw2C,MAAN,EAAa,MAAM,IAAIgB,CAAJ,CAAM,wBAAN,EAA+B,KAAKzgD,QAApC,CAAN;AAAoD,YAAG1B,CAAC,CAACq1P,SAAL,EAAe,OAAO9kE,EAAE,CAAC+kE,aAAH,CAAiB3qP,CAAjB,CAAP;;AAA2B,YAAG,CAAC3K,CAAC,CAACk1P,OAAN,EAAc;AAAC,gBAAM3qP,CAAC,GAACI,CAAC,CAAC8iP,MAAF,CAAS,CAAC,CAAV,CAAR;;AAAqB,eAAKnnK,MAAL,CAAYiqG,EAAE,CAAC4kE,YAAH,CAAgBxqP,CAAhB,CAAZ,EAA+BJ,CAA/B;AAAkC,gBAAMgC,CAAC,GAAC,IAAIwpP,EAAJ,CAAO/1P,CAAP,EAASuwL,EAAE,CAACmkE,SAAH,CAAa/pP,CAAb,EAAe,KAAf,CAAT,CAAR;AAAA,gBAAwCh0B,CAAC,GAAC,IAAI45M,EAAJ,CAAOhmL,CAAP,EAAS,CAAT,CAA1C;AAAsD,eAAK6xP,IAAL,CAAU7vP,CAAV,EAAY51B,CAAZ;AAAe;;AAAA,eAAO45M,EAAE,CAAC4kE,YAAH,CAAgBxqP,CAAhB,CAAP;AAA0B;;AAAA0xP,MAAAA,eAAe,CAACr8P,CAAD,EAAG;AAAC,cAAM2K,CAAC,GAAC3K,CAAC,CAACq9E,MAAV;AAAA,cAAiB9yE,CAAC,GAACvK,CAAC,CAACmhD,MAArB;AAA4B,YAAG52C,CAAC,CAACsgF,EAAF,CAAK,OAAL,CAAH,EAAiB,OAAO7qF,CAAP;;AAAS,YAAGuK,CAAC,CAACsgF,EAAF,CAAK,kBAAL,KAA0B,MAAItgF,CAAC,CAACmiP,UAAnC,EAA8C;AAAC,gBAAM1sP,CAAC,GAACuK,CAAC,CAAC42C,MAAV;AAAA,gBAAiBx2C,CAAC,GAACJ,CAAC,CAACiX,KAArB;AAA2B,iBAAOjX,CAAC,CAAC0yO,OAAF,IAAY,KAAKqf,8BAAL,CAAoC/xP,CAApC,CAAZ,EAAmD,KAAK8xP,eAAL,CAAqB,IAAI9rE,EAAJ,CAAOvwL,CAAP,EAAS2K,CAAT,CAArB,CAA1D;AAA4F;;AAAA,cAAM4B,CAAC,GAAChC,CAAC,CAACsiP,QAAF,CAAWliP,CAAC,GAAC,CAAb,CAAR;AAAA,cAAwBh0B,CAAC,GAAC4zB,CAAC,CAACsiP,QAAF,CAAWliP,CAAX,CAA1B;AAAwC,YAAG,CAAC4B,CAAD,IAAI,CAAC51B,CAAR,EAAU,OAAOqpB,CAAP;AAAS,YAAGuM,CAAC,CAACs+E,EAAF,CAAK,OAAL,KAAel0G,CAAC,CAACk0G,EAAF,CAAK,OAAL,CAAlB,EAAgC,OAAO0xK,EAAE,CAAChwP,CAAD,EAAG51B,CAAH,CAAT;;AAAe,YAAG41B,CAAC,CAACs+E,EAAF,CAAK,kBAAL,KAA0Bl0G,CAAC,CAACk0G,EAAF,CAAK,kBAAL,CAA1B,IAAoDt+E,CAAC,CAACihP,SAAF,CAAY72Q,CAAZ,CAAvD,EAAsE;AAAC,gBAAMqpB,CAAC,GAACuM,CAAC,CAACmgP,UAAV;AAAqB,iBAAOngP,CAAC,CAACw5E,YAAF,CAAepvG,CAAC,CAACqtG,WAAF,EAAf,GAAgCrtG,CAAC,CAACsmQ,OAAF,EAAhC,EAA4C,KAAKqf,8BAAL,CAAoC3lR,CAApC,CAA5C,EAAmF,KAAK0lR,eAAL,CAAqB,IAAI9rE,EAAJ,CAAOhkL,CAAP,EAASvM,CAAT,CAArB,CAA1F;AAA4H;;AAAA,eAAOA,CAAP;AAAS;;AAAAw8P,MAAAA,eAAe,CAACx8P,CAAD,EAAG;AAAC,cAAM2K,CAAC,GAAC3K,CAAC,CAAC01P,UAAV;AAAA,cAAqBnrP,CAAC,GAACvK,CAAC,CAACy1P,SAAzB;AAAmC,YAAG,EAAE9qP,CAAC,IAAEJ,CAAH,IAAMI,CAAC,CAACkgF,EAAF,CAAK,kBAAL,CAAN,IAAgCtgF,CAAC,CAACsgF,EAAF,CAAK,kBAAL,CAAlC,CAAH,EAA+D,MAAM,IAAI1oC,CAAJ,CAAM,+CAAN,EAAsD,KAAKzgD,QAA3D,CAAN;AAA2E,cAAM6K,CAAC,GAAC5B,CAAC,CAACkiP,QAAF,CAAWliP,CAAC,CAAC+hP,UAAF,GAAa,CAAxB,CAAR;AAAA,cAAmC/1Q,CAAC,GAAC41B,CAAC,YAAYywM,EAAb,GAAgBzsB,EAAE,CAACmkE,SAAH,CAAanoP,CAAb,EAAe,KAAf,CAAhB,GAAsCgkL,EAAE,CAACmkE,SAAH,CAAa/pP,CAAb,EAAe,KAAf,CAA3E;AAAiG,eAAO,KAAKyxP,IAAL,CAAUrG,EAAE,CAACc,SAAH,CAAatsP,CAAb,CAAV,EAA0BgmL,EAAE,CAACmkE,SAAH,CAAa/pP,CAAb,EAAe,KAAf,CAA1B,GAAiD,KAAKs1E,MAAL,CAAY81K,EAAE,CAACe,SAAH,CAAavsP,CAAb,CAAZ,CAAjD,EAA8E5zB,CAArF;AAAuF;;AAAA2vG,MAAAA,MAAM,CAACtmF,CAAD,EAAG2K,CAAH,EAAK;AAAC8xP,QAAAA,EAAE,CAAC9xP,CAAC,GAACi9N,CAAC,CAACj9N,CAAD,CAAD,GAAK,CAAC,GAAGA,CAAJ,CAAL,GAAY,CAACA,CAAD,CAAf,EAAmB,KAAKjJ,QAAxB,CAAF;AAAoC,cAAM6I,CAAC,GAACI,CAAC,CAACwsE,MAAF,CAAU,CAACn3E,CAAD,EAAG2K,CAAH,KAAO;AAAC,gBAAMJ,CAAC,GAACvK,CAAC,CAACA,CAAC,CAACrzB,MAAF,GAAS,CAAV,CAAT;AAAA,gBAAsB4/B,CAAC,GAAC,CAAC5B,CAAC,CAACkgF,EAAF,CAAK,WAAL,CAAzB;AAA2C,iBAAOtgF,CAAC,IAAEA,CAAC,CAACyxP,eAAF,IAAmBzvP,CAAtB,GAAwBhC,CAAC,CAAC2+E,KAAF,CAAQjjF,IAAR,CAAa0E,CAAb,CAAxB,GAAwC3K,CAAC,CAACiG,IAAF,CAAO;AAAC+1P,YAAAA,eAAe,EAACzvP,CAAjB;AAAmB28E,YAAAA,KAAK,EAAC,CAACv+E,CAAD;AAAzB,WAAP,CAAxC,EAA8E3K,CAArF;AAAuF,SAApJ,EAAsJ,EAAtJ,CAAR;AAAkK,YAAIuM,CAAC,GAAC,IAAN;AAAA,YAAW51B,CAAC,GAACqpB,CAAb;;AAAe,aAAI,MAAK;AAACkpF,UAAAA,KAAK,EAAClpF,CAAP;AAASg8P,UAAAA,eAAe,EAACrxP;AAAzB,SAAT,IAAuCJ,CAAvC,EAAyC;AAAC,gBAAMA,CAAC,GAAC,KAAKmyP,YAAL,CAAkB/lR,CAAlB,EAAoBqpB,CAApB,EAAsB2K,CAAtB,CAAR;;AAAiC4B,UAAAA,CAAC,KAAGA,CAAC,GAAChC,CAAC,CAACk8E,KAAP,CAAD,EAAe9vG,CAAC,GAAC4zB,CAAC,CAACm8E,GAAnB;AAAuB;;AAAA,eAAOn6E,CAAC,GAAC,IAAIwpP,EAAJ,CAAOxpP,CAAP,EAAS51B,CAAT,CAAD,GAAa,IAAIo/Q,EAAJ,CAAO/1P,CAAP,CAArB;AAA+B;;AAAAigF,MAAAA,MAAM,CAACjgF,CAAD,EAAG;AAAC,cAAM2K,CAAC,GAAC3K,CAAC,YAAY+1P,EAAb,GAAgB/1P,CAAhB,GAAkB+1P,EAAE,CAACe,SAAH,CAAa92P,CAAb,CAA1B;AAA0C,YAAG28P,EAAE,CAAChyP,CAAD,EAAG,KAAKjJ,QAAR,CAAF,EAAoBiJ,CAAC,CAACqrP,WAAzB,EAAqC,OAAO,IAAI+E,EAAJ,CAAO,KAAKr5P,QAAZ,CAAP;;AAA6B,cAAK;AAAC+kF,UAAAA,KAAK,EAACl8E,CAAP;AAASm8E,UAAAA,GAAG,EAACn6E;AAAb,YAAgB,KAAK2vP,qBAAL,CAA2BvxP,CAA3B,EAA6B,CAAC,CAA9B,CAArB;AAAA,cAAsDh0B,CAAC,GAAC4zB,CAAC,CAAC42C,MAA1D;AAAA,cAAiE10C,CAAC,GAACF,CAAC,CAAC8wE,MAAF,GAAS9yE,CAAC,CAAC8yE,MAA9E;AAAA,cAAqF/yE,CAAC,GAAC3zB,CAAC,CAAC02Q,eAAF,CAAkB9iP,CAAC,CAAC8yE,MAApB,EAA2B5wE,CAA3B,CAAvF;;AAAqH,aAAI,MAAMzM,CAAV,IAAesK,CAAf,EAAiB,KAAKgyP,8BAAL,CAAoCt8P,CAApC;;AAAuC,cAAMoiD,CAAC,GAAC,KAAKi6M,eAAL,CAAqB9xP,CAArB,CAAR;AAAgC,eAAOI,CAAC,CAAC87E,KAAF,GAAQrkC,CAAR,EAAUz3C,CAAC,CAAC+7E,GAAF,GAAMtkC,CAAC,CAACxiD,KAAF,EAAhB,EAA0B,IAAIm7P,EAAJ,CAAO,KAAKr5P,QAAZ,EAAqB4I,CAArB,CAAjC;AAAyD;;AAAAoU,MAAAA,KAAK,CAAC1e,CAAD,EAAG2K,CAAH,EAAK;AAACgyP,QAAAA,EAAE,CAAC38P,CAAD,EAAG,KAAK0B,QAAR,CAAF;AAAoB,cAAM6I,CAAC,GAACvK,CAAC,CAAC81P,SAAF,CAAY;AAACpiD,UAAAA,SAAS,EAAC,UAAX;AAAsBmhD,UAAAA,gBAAgB,EAAC,CAAC;AAAxC,SAAZ,CAAR;;AAAgE,aAAI,MAAMtoP,CAAV,IAAehC,CAAf,EAAiB;AAAC,gBAAMA,CAAC,GAACgC,CAAC,CAAC/xB,IAAV;AAAe,cAAI7D,CAAJ;AAAM,cAAG4zB,CAAC,CAACsgF,EAAF,CAAK,SAAL,KAAiBlgF,CAAC,CAAC6iP,SAAF,CAAYjjP,CAAZ,CAApB,EAAmC5zB,CAAC,GAACo/Q,EAAE,CAACe,SAAH,CAAavsP,CAAb,CAAF,CAAnC,KAA0D,IAAG,CAACgC,CAAC,CAACipP,YAAF,CAAehiD,OAAf,CAAuBxzM,CAAC,CAACymF,KAAzB,CAAD,IAAkCl8E,CAAC,CAACsgF,EAAF,CAAK,YAAL,CAArC,EAAwD;AAAC,kBAAM7qF,CAAC,GAACuK,CAAC,CAAC0iP,YAAF,GAAiB1yQ,IAAjB,CAAuBylB,CAAC,IAAEA,CAAC,CAAC6qF,EAAF,CAAK,SAAL,KAAiBlgF,CAAC,CAAC6iP,SAAF,CAAYxtP,CAAZ,CAA3C,CAAR;AAAoEA,YAAAA,CAAC,KAAGrpB,CAAC,GAACo/Q,EAAE,CAACc,SAAH,CAAa72P,CAAb,CAAL,CAAD;AAAuB;AAAArpB,UAAAA,CAAC,KAAGA,CAAC,CAAC+vG,GAAF,CAAM8sH,OAAN,CAAcxzM,CAAC,CAAC0mF,GAAhB,MAAuB/vG,CAAC,CAAC+vG,GAAF,GAAM1mF,CAAC,CAAC0mF,GAA/B,GAAoC/vG,CAAC,CAAC8vG,KAAF,CAAQ7wF,QAAR,CAAiBoK,CAAC,CAACymF,KAAnB,MAA4B9vG,CAAC,CAAC8vG,KAAF,GAAQzmF,CAAC,CAACymF,KAAtC,CAApC,EAAiF,KAAKxG,MAAL,CAAYtpG,CAAZ,CAApF,CAAD;AAAqG;AAAC;;AAAAylR,MAAAA,IAAI,CAACp8P,CAAD,EAAG2K,CAAH,EAAK;AAAC,YAAIJ,CAAJ;;AAAM,YAAGI,CAAC,CAAC6oM,OAAF,CAAUxzM,CAAC,CAAC0mF,GAAZ,CAAH,EAAoB;AAAC,gBAAMn6E,CAAC,GAAC,CAAC5B,CAAC,GAAC,KAAKsxP,gBAAL,CAAsBtxP,CAAtB,EAAwB,CAAC,CAAzB,CAAH,EAAgCw2C,MAAxC;AAAA,gBAA+CxqE,CAAC,GAAC41B,CAAC,CAACmgP,UAAnD;;AAA8D1sP,UAAAA,CAAC,GAAC,KAAKk8P,qBAAL,CAA2Bl8P,CAA3B,EAA6B,CAAC,CAA9B,CAAF,EAAmCuK,CAAC,GAAC,KAAK01E,MAAL,CAAYjgF,CAAZ,CAArC,EAAoD2K,CAAC,CAAC0yE,MAAF,IAAU9wE,CAAC,CAACmgP,UAAF,GAAa/1Q,CAA3E;AAA6E,SAAhK,MAAqK4zB,CAAC,GAAC,KAAK01E,MAAL,CAAYjgF,CAAZ,CAAF;;AAAiB,eAAO,KAAKsmF,MAAL,CAAY37E,CAAZ,EAAcJ,CAAd,CAAP;AAAwB;;AAAAqyP,MAAAA,IAAI,CAAC58P,CAAD,EAAG2K,CAAH,EAAK;AAAC,YAAG,EAAEA,CAAC,YAAY4uP,EAAf,CAAH,EAAsB,MAAM,IAAIp3M,CAAJ,CAAM,oCAAN,EAA2C,KAAKzgD,QAAhD,CAAN;;AAAgE,YAAGi7P,EAAE,CAAC38P,CAAD,EAAG,KAAK0B,QAAR,CAAF,EAAoB1B,CAAC,CAACg2P,WAAzB,EAAqC;AAAC,cAAIzpP,CAAC,GAACvM,CAAC,CAACymF,KAAR;AAAcl6E,UAAAA,CAAC,CAAC40C,MAAF,CAAS0pC,EAAT,CAAY,SAAZ,MAAyBtgF,CAAC,GAACgC,CAAC,CAAC40C,MAAJ,EAAW,CAACh8C,KAAK,CAAC7H,IAAN,CAAWiN,CAAC,CAACy5E,WAAF,EAAX,EAA4BnoG,IAA5B,CAAkCmkB,CAAC,IAAE,CAACA,CAAC,CAAC6qF,EAAF,CAAK,WAAL,CAAtC,CAArC,MAAkGt+E,CAAC,GAACA,CAAC,CAACqpP,uBAAF,CAA2B51P,CAAC,IAAEA,CAAC,CAACxlB,IAAF,CAAOqwG,EAAP,CAAU,WAAV,CAA9B,CAApG,GAA4Jt+E,CAAC,GAAC,KAAKswP,aAAL,CAAmBtwP,CAAnB,EAAqB5B,CAArB,CAA9J;AAAsL,gBAAMh0B,CAAC,GAAC,KAAK+qB,QAAL,CAAcooP,SAAtB;AAAgC,iBAAOnzQ,CAAC,CAACq/Q,WAAF,IAAer/Q,CAAC,CAACozQ,gBAAF,GAAqBhU,OAArB,CAA6B/1O,CAAC,CAACymF,KAA/B,CAAf,IAAsD,KAAK00K,YAAL,CAAkB5uP,CAAlB,CAAtD,EAA2E,IAAIwpP,EAAJ,CAAOxpP,CAAP,CAAlF;AAA4F;;AAAA,eAAO,KAAKuwP,UAAL,CAAgB98P,CAAhB,EAAkB2K,CAAlB,CAAP;AAA4B,YAAIJ,CAAJ;AAAM;;AAAAwyP,MAAAA,MAAM,CAAC/8P,CAAD,EAAG2K,CAAH,EAAK;AAAC,YAAG,EAAEA,CAAC,YAAY4uP,EAAf,CAAH,EAAsB,MAAM,IAAIp3M,CAAJ,CAAM,sCAAN,EAA6C,KAAKzgD,QAAlD,CAAN;AAAkE,YAAGi7P,EAAE,CAAC38P,CAAD,EAAG,KAAK0B,QAAR,CAAF,EAAoB1B,CAAC,CAACg2P,WAAzB,EAAqC,OAAOh2P,CAAP;;AAAS,cAAK;AAACymF,UAAAA,KAAK,EAACl8E,CAAP;AAASm8E,UAAAA,GAAG,EAACn6E;AAAb,YAAgB,KAAK2vP,qBAAL,CAA2Bl8P,CAA3B,EAA6B,CAAC,CAA9B,CAArB;AAAA,cAAsDrpB,CAAC,GAAC4zB,CAAC,CAAC42C,MAA1D;AAAA,cAAiE10C,CAAC,GAAC,KAAKuwP,eAAL,CAAqBrmR,CAArB,EAAuB4zB,CAAC,CAAC8yE,MAAzB,EAAgC9wE,CAAC,CAAC8wE,MAAlC,EAAyC1yE,CAAzC,CAAnE;AAAA,cAA+GL,CAAC,GAAC,KAAK+xP,eAAL,CAAqB5vP,CAAC,CAACg6E,KAAvB,CAAjH;;AAA+In8E,QAAAA,CAAC,CAACyrO,OAAF,CAAUtpO,CAAC,CAACg6E,KAAZ,KAAoBh6E,CAAC,CAACi6E,GAAF,CAAMrJ,MAAN,EAApB;AAAmC,cAAMj7B,CAAC,GAAC,KAAKi6M,eAAL,CAAqB5vP,CAAC,CAACi6E,GAAvB,CAAR;AAAoC,eAAO,IAAIqvK,EAAJ,CAAOzrP,CAAP,EAAS83C,CAAT,CAAP;AAAmB;;AAAA66M,MAAAA,MAAM,CAACj9P,CAAD,EAAG2K,CAAH,EAAK;AAAC,cAAMJ,CAAC,GAAC,IAAI4pP,EAAJ,CAAO,KAAKzyP,QAAZ,EAAqB1B,CAArB,EAAuB2K,CAAC,CAACu5E,aAAF,EAAvB,CAAR;AAAkD,eAAO,KAAKoC,MAAL,CAAYiqG,EAAE,CAAC4kE,YAAH,CAAgBxqP,CAAhB,CAAZ,EAA+BJ,CAA/B,GAAkC,KAAK6xP,IAAL,CAAUrG,EAAE,CAACc,SAAH,CAAalsP,CAAb,CAAV,EAA0B4lL,EAAE,CAACmkE,SAAH,CAAanqP,CAAb,EAAe,CAAf,CAA1B,CAAlC,EAA+E,KAAK01E,MAAL,CAAY81K,EAAE,CAACe,SAAH,CAAansP,CAAb,CAAZ,CAA/E,EAA4GJ,CAAnH;AAAqH;;AAAA2yP,MAAAA,wBAAwB,CAACl9P,CAAD,EAAG;AAAC,aAAKi7P,YAAL,CAAkBrmP,MAAlB,CAAyB5U,CAAzB;AAA4B;;AAAAm9P,MAAAA,gBAAgB,CAACn9P,CAAD,EAAG2K,CAAH,EAAK;AAAC,eAAO4lL,EAAE,CAACmkE,SAAH,CAAa10P,CAAb,EAAe2K,CAAf,CAAP;AAAyB;;AAAAyyP,MAAAA,mBAAmB,CAACp9P,CAAD,EAAG;AAAC,eAAOuwL,EAAE,CAAC4kE,YAAH,CAAgBn1P,CAAhB,CAAP;AAA0B;;AAAAq9P,MAAAA,oBAAoB,CAACr9P,CAAD,EAAG;AAAC,eAAOuwL,EAAE,CAAC+kE,aAAH,CAAiBt1P,CAAjB,CAAP;AAA2B;;AAAAgnF,MAAAA,WAAW,CAAChnF,CAAD,EAAG2K,CAAH,EAAK;AAAC,eAAO,IAAIorP,EAAJ,CAAO/1P,CAAP,EAAS2K,CAAT,CAAP;AAAmB;;AAAA2yP,MAAAA,aAAa,CAACt9P,CAAD,EAAG;AAAC,eAAO+1P,EAAE,CAACe,SAAH,CAAa92P,CAAb,CAAP;AAAuB;;AAAAu9P,MAAAA,aAAa,CAACv9P,CAAD,EAAG;AAAC,eAAO+1P,EAAE,CAACc,SAAH,CAAa72P,CAAb,CAAP;AAAuB;;AAAAw9P,MAAAA,eAAe,CAAC,GAAGx9P,CAAJ,EAAM;AAAC,eAAO,IAAI+P,EAAJ,CAAO,GAAG/P,CAAV,CAAP;AAAoB;;AAAAy9P,MAAAA,UAAU,CAACz9P,CAAC,GAAC,UAAH,EAAc;AAAC,YAAG,CAAC,KAAKk7P,YAAT,EAAsB,MAAM,IAAI/4M,CAAJ,CAAM,yCAAN,EAAgD,KAAKzgD,QAArD,CAAN;AAAqE,eAAO,KAAKw5P,YAAL,CAAkB,IAAlB,EAAuBl7P,CAAvB,CAAP;AAAiC;;AAAA09P,MAAAA,oBAAoB,CAAC19P,CAAD,EAAG;AAAC,aAAKk7P,YAAL,GAAkBl7P,CAAlB;AAAoB;;AAAA29P,MAAAA,iBAAiB,GAAE;AAAC,aAAKzC,YAAL,GAAkB,IAAlB;AAAuB;;AAAAwB,MAAAA,YAAY,CAAC18P,CAAD,EAAG2K,CAAH,EAAKJ,CAAL,EAAO;AAAC,YAAIgC,CAAJ,EAAM51B,CAAN;AAAQ,YAAG41B,CAAC,GAAChC,CAAC,GAACylL,EAAE,CAAChwL,CAAD,CAAH,GAAOA,CAAC,CAACmhD,MAAF,CAAS0pC,EAAT,CAAY,OAAZ,IAAqB7qF,CAAC,CAACmhD,MAAF,CAASA,MAA9B,GAAqCnhD,CAAC,CAACmhD,MAAjD,EAAwD,CAAC50C,CAA5D,EAA8D,MAAM,IAAI41C,CAAJ,CAAM,wCAAN,EAA+C,KAAKzgD,QAApD,CAAN;AAAoE/qB,QAAAA,CAAC,GAAC4zB,CAAC,GAAC,KAAK0xP,gBAAL,CAAsBj8P,CAAtB,EAAwB,CAAC,CAAzB,CAAD,GAA6BA,CAAC,CAACmhD,MAAF,CAAS0pC,EAAT,CAAY,OAAZ,IAAqB+yK,EAAE,CAAC59P,CAAD,CAAvB,GAA2BA,CAA3D;;AAA6D,cAAMyM,CAAC,GAACF,CAAC,CAACwmP,YAAF,CAAep8Q,CAAC,CAAC0mG,MAAjB,EAAwB1yE,CAAxB,CAAR;;AAAmC,aAAI,MAAM3K,CAAV,IAAe2K,CAAf,EAAiB,KAAKkzP,yBAAL,CAA+B79P,CAA/B;;AAAkC,cAAMsK,CAAC,GAAC3zB,CAAC,CAACg/Q,YAAF,CAAelpP,CAAf,CAAR;AAAA,cAA0B21C,CAAC,GAAC,KAAKi6M,eAAL,CAAqB1lR,CAArB,CAA5B;AAAoDyrE,QAAAA,CAAC,CAAC2zL,OAAF,CAAUp/P,CAAV,KAAc2zB,CAAC,CAAC+yE,MAAF,EAAd;AAAyB,cAAMsgE,CAAC,GAAC,KAAK0+G,eAAL,CAAqB/xP,CAArB,CAAR;AAAgC,eAAO,IAAIyrP,EAAJ,CAAO3zM,CAAP,EAASu7F,CAAT,CAAP;AAAmB;;AAAAmgH,MAAAA,aAAa,CAAC99P,CAAD,EAAG2K,CAAH,EAAKJ,CAAL,EAAOgC,CAAP,EAAS;AAAC,YAAI51B,CAAC,GAACg0B,CAAN;AAAQ,cAAM8B,CAAC,GAAC,EAAR;;AAAW,eAAK91B,CAAC,GAAC4zB,CAAP,GAAU;AAAC,gBAAMI,CAAC,GAAC3K,CAAC,CAAC6sP,QAAF,CAAWl2Q,CAAX,CAAR;AAAA,gBAAsB4zB,CAAC,GAACI,CAAC,CAACkgF,EAAF,CAAK,OAAL,CAAxB;AAAA,gBAAsCvgF,CAAC,GAACK,CAAC,CAACkgF,EAAF,CAAK,kBAAL,CAAxC;AAAiE,cAAGvgF,CAAC,IAAE,KAAKyzP,qBAAL,CAA2BxxP,CAA3B,EAA6B5B,CAA7B,CAAN,EAAsC8B,CAAC,CAACxG,IAAF,CAAO,IAAIsqL,EAAJ,CAAOvwL,CAAP,EAASrpB,CAAT,CAAP,EAAtC,KAA+D,IAAG4zB,CAAC,IAAE,CAACD,CAAJ,IAAO0zP,EAAE,CAACzxP,CAAD,EAAG5B,CAAH,CAAZ,EAAkB;AAAC,kBAAMJ,CAAC,GAACgC,CAAC,CAACkhP,MAAF,EAAR;;AAAmB9iP,YAAAA,CAAC,CAACsyO,OAAF,IAAY1yO,CAAC,CAACw7E,YAAF,CAAep7E,CAAf,CAAZ,EAA8B3K,CAAC,CAAC+yP,YAAF,CAAep8Q,CAAf,EAAiB4zB,CAAjB,CAA9B,EAAkD,KAAKszP,yBAAL,CAA+BtzP,CAA/B,CAAlD,EAAoFkC,CAAC,CAACxG,IAAF,CAAO,IAAIsqL,EAAJ,CAAOvwL,CAAP,EAASrpB,CAAT,CAAP,CAApF;AAAwG,WAA9I,MAAmJ,KAAKmnR,aAAL,CAAmBnzP,CAAnB,EAAqB,CAArB,EAAuBA,CAAC,CAAC+hP,UAAzB,EAAoCngP,CAApC;AAAuC51B,UAAAA,CAAC;AAAG;;AAAA,YAAI2zB,CAAC,GAAC,CAAN;;AAAQ,aAAI,MAAMtK,CAAV,IAAeyM,CAAf,EAAiB;AAAC,cAAGzM,CAAC,CAACq9E,MAAF,IAAU/yE,CAAV,EAAYtK,CAAC,CAACq9E,MAAF,IAAU1yE,CAAzB,EAA2B;AAAS,eAAK0xP,eAAL,CAAqBr8P,CAArB,EAAwB+1O,OAAxB,CAAgC/1O,CAAhC,MAAqCsK,CAAC,IAAGC,CAAC,EAA1C;AAA8C;;AAAA,eAAOwrP,EAAE,CAACY,4BAAH,CAAgC32P,CAAhC,EAAkC2K,CAAlC,EAAoC3K,CAApC,EAAsCuK,CAAtC,CAAP;AAAgD;;AAAAyyP,MAAAA,eAAe,CAACh9P,CAAD,EAAG2K,CAAH,EAAKJ,CAAL,EAAOgC,CAAP,EAAS;AAAC,YAAI51B,CAAC,GAACg0B,CAAN;AAAQ,cAAM8B,CAAC,GAAC,EAAR;;AAAW,eAAK91B,CAAC,GAAC4zB,CAAP,GAAU;AAAC,gBAAMI,CAAC,GAAC3K,CAAC,CAAC6sP,QAAF,CAAWl2Q,CAAX,CAAR;AAAsB,cAAGg0B,CAAC,CAACkgF,EAAF,CAAK,kBAAL,CAAH;AAA4B,gBAAGlgF,CAAC,CAAC6iP,SAAF,CAAYjhP,CAAZ,CAAH,EAAkB;AAAC,oBAAMA,CAAC,GAAC5B,CAAC,CAACq5E,WAAF,EAAR;AAAA,oBAAwB15E,CAAC,GAACK,CAAC,CAAC+hP,UAA5B;AAAuC/hP,cAAAA,CAAC,CAACsyO,OAAF,IAAYj9O,CAAC,CAAC+yP,YAAF,CAAep8Q,CAAf,EAAiB41B,CAAjB,CAAZ,EAAgC,KAAK+vP,8BAAL,CAAoC3xP,CAApC,CAAhC,EAAuE8B,CAAC,CAACxG,IAAF,CAAO,IAAIsqL,EAAJ,CAAOvwL,CAAP,EAASrpB,CAAT,CAAP,EAAmB,IAAI45M,EAAJ,CAAOvwL,CAAP,EAASrpB,CAAC,GAAC2zB,CAAX,CAAnB,CAAvE,EAAyG3zB,CAAC,IAAE2zB,CAA5G,EAA8GC,CAAC,IAAED,CAAC,GAAC,CAAnH;AAAqH,aAA/K,MAAoL,KAAK2zP,uBAAL,CAA6B1xP,CAA7B,EAA+B5B,CAA/B,KAAmC8B,CAAC,CAACxG,IAAF,CAAO,IAAIsqL,EAAJ,CAAOvwL,CAAP,EAASrpB,CAAT,CAAP,EAAmB,IAAI45M,EAAJ,CAAOvwL,CAAP,EAASrpB,CAAC,GAAC,CAAX,CAAnB,GAAkCA,CAAC,EAAtE,KAA2E,KAAKqmR,eAAL,CAAqBryP,CAArB,EAAuB,CAAvB,EAAyBA,CAAC,CAAC+hP,UAA3B,EAAsCngP,CAAtC,GAAyC51B,CAAC,EAArH;AAAhN,iBAA8UA,CAAC;AAAG;;AAAA,YAAI2zB,CAAC,GAAC,CAAN;;AAAQ,aAAI,MAAMtK,CAAV,IAAeyM,CAAf,EAAiB;AAAC,cAAGzM,CAAC,CAACq9E,MAAF,IAAU/yE,CAAV,EAAYtK,CAAC,CAACq9E,MAAF,IAAU1yE,CAAV,IAAa3K,CAAC,CAACq9E,MAAF,IAAU9yE,CAAtC,EAAwC;AAAS,eAAK8xP,eAAL,CAAqBr8P,CAArB,EAAwB+1O,OAAxB,CAAgC/1O,CAAhC,MAAqCsK,CAAC,IAAGC,CAAC,EAA1C;AAA8C;;AAAA,eAAOwrP,EAAE,CAACY,4BAAH,CAAgC32P,CAAhC,EAAkC2K,CAAlC,EAAoC3K,CAApC,EAAsCuK,CAAtC,CAAP;AAAgD;;AAAAuyP,MAAAA,UAAU,CAAC98P,CAAD,EAAG2K,CAAH,EAAK;AAAC,cAAK;AAAC87E,UAAAA,KAAK,EAACl8E,CAAP;AAASm8E,UAAAA,GAAG,EAACn6E;AAAb,YAAgB,KAAK2vP,qBAAL,CAA2Bl8P,CAA3B,EAA6B,CAAC,CAA9B,CAArB;AAAA,cAAsDrpB,CAAC,GAAC4zB,CAAC,CAAC42C,MAA1D;AAAA,cAAiE10C,CAAC,GAAC,KAAKqxP,aAAL,CAAmBnnR,CAAnB,EAAqB4zB,CAAC,CAAC8yE,MAAvB,EAA8B9wE,CAAC,CAAC8wE,MAAhC,EAAuC1yE,CAAvC,CAAnE;AAAA,cAA6GL,CAAC,GAAC,KAAK+xP,eAAL,CAAqB5vP,CAAC,CAACg6E,KAAvB,CAA/G;;AAA6In8E,QAAAA,CAAC,CAACyrO,OAAF,CAAUtpO,CAAC,CAACg6E,KAAZ,KAAoBh6E,CAAC,CAACi6E,GAAF,CAAMrJ,MAAN,EAApB;AAAmC,cAAMj7B,CAAC,GAAC,KAAKi6M,eAAL,CAAqB5vP,CAAC,CAACi6E,GAAvB,CAAR;AAAoC,eAAO,IAAIqvK,EAAJ,CAAOzrP,CAAP,EAAS83C,CAAT,CAAP;AAAmB;;AAAAy6M,MAAAA,aAAa,CAAC78P,CAAD,EAAG2K,CAAH,EAAK;AAAC,YAAGA,CAAC,CAAC6iP,SAAF,CAAYxtP,CAAC,CAACmhD,MAAd,CAAH,EAAyB,OAAO+8M,EAAE,CAACl+P,CAAC,CAACJ,KAAF,EAAD,CAAT;AAAqBI,QAAAA,CAAC,CAACmhD,MAAF,CAAS0pC,EAAT,CAAY,OAAZ,MAAuB7qF,CAAC,GAAC49P,EAAE,CAAC59P,CAAD,CAA3B;AAAgC,cAAMuK,CAAC,GAAC,KAAK8wP,sBAAL,CAA4B,4BAA5B,CAAR;AAAkE9wP,QAAAA,CAAC,CAACivP,SAAF,GAAY/lQ,MAAM,CAACgjP,iBAAnB,EAAqClsO,CAAC,CAACijP,SAAF,GAAY,MAAI,CAAC,CAAtD,EAAwDxtP,CAAC,CAACmhD,MAAF,CAAS4xM,YAAT,CAAsB/yP,CAAC,CAACq9E,MAAxB,EAA+B9yE,CAA/B,CAAxD;AAA0F,cAAMgC,CAAC,GAAC,IAAIwpP,EAAJ,CAAO/1P,CAAP,EAASA,CAAC,CAAC21P,YAAF,CAAe,CAAf,CAAT,CAAR;AAAoC,aAAKiH,IAAL,CAAUrwP,CAAV,EAAY5B,CAAZ;AAAe,cAAMh0B,CAAC,GAAC,IAAI45M,EAAJ,CAAOhmL,CAAC,CAAC42C,MAAT,EAAgB52C,CAAC,CAACiX,KAAlB,CAAR;;AAAiCjX,QAAAA,CAAC,CAAC0yO,OAAF;;AAAY,cAAMxwO,CAAC,GAAC91B,CAAC,CAAC++Q,UAAV;AAAA,cAAqBprP,CAAC,GAAC3zB,CAAC,CAAC8+Q,SAAzB;AAAmC,eAAOhpP,CAAC,YAAYuwM,EAAb,IAAiB1yM,CAAC,YAAY0yM,EAA9B,GAAiCu/C,EAAE,CAAC9vP,CAAD,EAAGnC,CAAH,CAAnC,GAAyC4zP,EAAE,CAACvnR,CAAD,CAAlD;AAAsD;;AAAAonR,MAAAA,qBAAqB,CAAC/9P,CAAD,EAAG2K,CAAH,EAAK;AAAC,YAAG,CAACwzP,EAAE,CAACn+P,CAAD,EAAG2K,CAAH,CAAN,EAAY,OAAM,CAAC,CAAP;AAAS,YAAG3K,CAAC,CAACxvB,IAAF,KAASm6B,CAAC,CAACn6B,IAAX,IAAiBwvB,CAAC,CAAC2lF,QAAF,KAAah7E,CAAC,CAACg7E,QAAnC,EAA4C,OAAM,CAAC,CAAP;;AAAS,aAAI,MAAMp7E,CAAV,IAAevK,CAAC,CAACkuP,gBAAF,EAAf,EAAoC,IAAG,YAAU3jP,CAAV,IAAa,YAAUA,CAAvB,IAA0BI,CAAC,CAACuoP,YAAF,CAAe3oP,CAAf,CAA1B,IAA6CI,CAAC,CAACk3O,YAAF,CAAet3O,CAAf,MAAoBvK,CAAC,CAAC6hP,YAAF,CAAet3O,CAAf,CAApE,EAAsF,OAAM,CAAC,CAAP;;AAAS,aAAI,MAAMA,CAAV,IAAevK,CAAC,CAACsuP,aAAF,EAAf,EAAiC,IAAG3jP,CAAC,CAACyoP,QAAF,CAAW7oP,CAAX,KAAeI,CAAC,CAAC4jP,QAAF,CAAWhkP,CAAX,MAAgBvK,CAAC,CAACuuP,QAAF,CAAWhkP,CAAX,CAAlC,EAAgD,OAAM,CAAC,CAAP;;AAAS,aAAI,MAAMA,CAAV,IAAevK,CAAC,CAACkuP,gBAAF,EAAf,EAAoC,YAAU3jP,CAAV,IAAa,YAAUA,CAAvB,KAA2BI,CAAC,CAACuoP,YAAF,CAAe3oP,CAAf,KAAmB,KAAKmxC,YAAL,CAAkBnxC,CAAlB,EAAoBvK,CAAC,CAAC6hP,YAAF,CAAet3O,CAAf,CAApB,EAAsCI,CAAtC,CAA9C;;AAAwF,aAAI,MAAMJ,CAAV,IAAevK,CAAC,CAACsuP,aAAF,EAAf,EAAiC3jP,CAAC,CAACyoP,QAAF,CAAW7oP,CAAX,KAAe,KAAKqxP,QAAL,CAAcrxP,CAAd,EAAgBvK,CAAC,CAACuuP,QAAF,CAAWhkP,CAAX,CAAhB,EAA8BI,CAA9B,CAAf;;AAAgD,aAAI,MAAMJ,CAAV,IAAevK,CAAC,CAACquP,aAAF,EAAf,EAAiC1jP,CAAC,CAAC6hP,QAAF,CAAWjiP,CAAX,KAAe,KAAKqiP,QAAL,CAAcriP,CAAd,EAAgBI,CAAhB,CAAf;;AAAkC,eAAM,CAAC,CAAP;AAAS;;AAAAszP,MAAAA,uBAAuB,CAACj+P,CAAD,EAAG2K,CAAH,EAAK;AAAC,YAAG,CAACwzP,EAAE,CAACn+P,CAAD,EAAG2K,CAAH,CAAN,EAAY,OAAM,CAAC,CAAP;AAAS,YAAG3K,CAAC,CAACxvB,IAAF,KAASm6B,CAAC,CAACn6B,IAAX,IAAiBwvB,CAAC,CAAC2lF,QAAF,KAAah7E,CAAC,CAACg7E,QAAnC,EAA4C,OAAM,CAAC,CAAP;;AAAS,aAAI,MAAMp7E,CAAV,IAAevK,CAAC,CAACkuP,gBAAF,EAAf,EAAoC,IAAG,YAAU3jP,CAAV,IAAa,YAAUA,CAAvB,KAA2B,CAACI,CAAC,CAACuoP,YAAF,CAAe3oP,CAAf,CAAD,IAAoBI,CAAC,CAACk3O,YAAF,CAAet3O,CAAf,MAAoBvK,CAAC,CAAC6hP,YAAF,CAAet3O,CAAf,CAAnE,CAAH,EAAyF,OAAM,CAAC,CAAP;;AAAS,YAAG,CAACI,CAAC,CAAC6hP,QAAF,CAAW,GAAGxsP,CAAC,CAACquP,aAAF,EAAd,CAAJ,EAAqC,OAAM,CAAC,CAAP;;AAAS,aAAI,MAAM9jP,CAAV,IAAevK,CAAC,CAACsuP,aAAF,EAAf,EAAiC,IAAG,CAAC3jP,CAAC,CAACyoP,QAAF,CAAW7oP,CAAX,CAAD,IAAgBI,CAAC,CAAC4jP,QAAF,CAAWhkP,CAAX,MAAgBvK,CAAC,CAACuuP,QAAF,CAAWhkP,CAAX,CAAnC,EAAiD,OAAM,CAAC,CAAP;;AAAS,aAAI,MAAMA,CAAV,IAAevK,CAAC,CAACkuP,gBAAF,EAAf,EAAoC,YAAU3jP,CAAV,IAAa,YAAUA,CAAvB,IAA0B,KAAKs5N,eAAL,CAAqBt5N,CAArB,EAAuBI,CAAvB,CAA1B;;AAAoD,eAAO,KAAK8hP,WAAL,CAAiBtnP,KAAK,CAAC7H,IAAN,CAAW0C,CAAC,CAACquP,aAAF,EAAX,CAAjB,EAA+C1jP,CAA/C,GAAkD,KAAKkxP,WAAL,CAAiB12P,KAAK,CAAC7H,IAAN,CAAW0C,CAAC,CAACsuP,aAAF,EAAX,CAAjB,EAA+C3jP,CAA/C,CAAlD,EAAoG,CAAC,CAA5G;AAA8G;;AAAAuxP,MAAAA,qBAAqB,CAACl8P,CAAD,EAAG2K,CAAC,GAAC,CAAC,CAAN,EAAQ;AAAC,cAAMJ,CAAC,GAACvK,CAAC,CAACymF,KAAV;AAAA,cAAgBl6E,CAAC,GAACvM,CAAC,CAAC0mF,GAApB;;AAAwB,YAAGi2K,EAAE,CAAC38P,CAAD,EAAG,KAAK0B,QAAR,CAAF,EAAoB1B,CAAC,CAACg2P,WAAzB,EAAqC;AAAC,gBAAMzrP,CAAC,GAAC,KAAK0xP,gBAAL,CAAsBj8P,CAAC,CAACymF,KAAxB,EAA8B97E,CAA9B,CAAR;;AAAyC,iBAAO,IAAIorP,EAAJ,CAAOxrP,CAAP,EAASA,CAAT,CAAP;AAAmB;;AAAA,cAAM5zB,CAAC,GAAC,KAAKslR,gBAAL,CAAsB1vP,CAAtB,EAAwB5B,CAAxB,CAAR;AAAA,cAAmC8B,CAAC,GAAC91B,CAAC,CAACwqE,MAAF,CAASurM,UAA9C;AAAA,cAAyDpiP,CAAC,GAAC,KAAK2xP,gBAAL,CAAsB1xP,CAAtB,EAAwBI,CAAxB,CAA3D;;AAAsF,eAAOh0B,CAAC,CAAC0mG,MAAF,IAAU1mG,CAAC,CAACwqE,MAAF,CAASurM,UAAT,GAAoBjgP,CAA9B,EAAgC,IAAIspP,EAAJ,CAAOzrP,CAAP,EAAS3zB,CAAT,CAAvC;AAAmD;;AAAAslR,MAAAA,gBAAgB,CAACj8P,CAAD,EAAG2K,CAAC,GAAC,CAAC,CAAN,EAAQ;AAAC,cAAMJ,CAAC,GAACvK,CAAC,CAACq9E,MAAV;AAAA,cAAiB9wE,CAAC,GAACvM,CAAC,CAACmhD,MAArB;AAA4B,YAAGnhD,CAAC,CAACmhD,MAAF,CAAS0pC,EAAT,CAAY,cAAZ,CAAH,EAA+B,MAAM,IAAI1oC,CAAJ,CAAM,wCAAN,EAA+C,KAAKzgD,QAApD,CAAN;AAAoE,YAAG1B,CAAC,CAACmhD,MAAF,CAAS0pC,EAAT,CAAY,WAAZ,CAAH,EAA4B,MAAM,IAAI1oC,CAAJ,CAAM,qCAAN,EAA4C,KAAKzgD,QAAjD,CAAN;AAAiE,YAAG1B,CAAC,CAACmhD,MAAF,CAAS0pC,EAAT,CAAY,YAAZ,CAAH,EAA6B,MAAM,IAAI1oC,CAAJ,CAAM,sCAAN,EAA6C,KAAKzgD,QAAlD,CAAN;AAAkE,YAAG,CAACiJ,CAAD,IAAI4B,CAAC,CAACs+E,EAAF,CAAK,OAAL,CAAJ,IAAmBuzK,EAAE,CAAC7xP,CAAC,CAAC40C,MAAH,CAAxB,EAAmC,OAAOnhD,CAAC,CAACJ,KAAF,EAAP;AAAiB,YAAGw+P,EAAE,CAAC7xP,CAAD,CAAL,EAAS,OAAOvM,CAAC,CAACJ,KAAF,EAAP;AAAiB,YAAG2M,CAAC,CAACs+E,EAAF,CAAK,OAAL,CAAH,EAAiB,OAAO,KAAKoxK,gBAAL,CAAsB2B,EAAE,CAAC59P,CAAD,CAAxB,EAA4B2K,CAA5B,CAAP;;AAAsC,YAAGJ,CAAC,IAAEgC,CAAC,CAACmgP,UAAR,EAAmB;AAAC,gBAAM1sP,CAAC,GAAC,IAAIuwL,EAAJ,CAAOhkL,CAAC,CAAC40C,MAAT,EAAgB50C,CAAC,CAACiV,KAAF,GAAQ,CAAxB,CAAR;AAAmC,iBAAO,KAAKy6O,gBAAL,CAAsBj8P,CAAtB,EAAwB2K,CAAxB,CAAP;AAAkC;;AAAA,YAAG,MAAIJ,CAAP,EAAS;AAAC,gBAAMvK,CAAC,GAAC,IAAIuwL,EAAJ,CAAOhkL,CAAC,CAAC40C,MAAT,EAAgB50C,CAAC,CAACiV,KAAlB,CAAR;AAAiC,iBAAO,KAAKy6O,gBAAL,CAAsBj8P,CAAtB,EAAwB2K,CAAxB,CAAP;AAAkC;;AAAA;AAAC,gBAAM3K,CAAC,GAACuM,CAAC,CAACiV,KAAF,GAAQ,CAAhB;AAAA,gBAAkB7qC,CAAC,GAAC41B,CAAC,CAACkhP,MAAF,EAApB;;AAA+BlhP,UAAAA,CAAC,CAAC40C,MAAF,CAAS4xM,YAAT,CAAsB/yP,CAAtB,EAAwBrpB,CAAxB,GAA2B,KAAKknR,yBAAL,CAA+BlnR,CAA/B,CAA3B;;AAA6D,gBAAM81B,CAAC,GAACF,CAAC,CAACmgP,UAAF,GAAaniP,CAArB;AAAA,gBAAuBD,CAAC,GAACiC,CAAC,CAAC8gP,eAAF,CAAkB9iP,CAAlB,EAAoBkC,CAApB,CAAzB;;AAAgD91B,UAAAA,CAAC,CAACovG,YAAF,CAAez7E,CAAf;;AAAkB,gBAAM83C,CAAC,GAAC,IAAImuI,EAAJ,CAAOhkL,CAAC,CAAC40C,MAAT,EAAgBnhD,CAAhB,CAAR;AAA2B,iBAAO,KAAKi8P,gBAAL,CAAsB75M,CAAtB,EAAwBz3C,CAAxB,CAAP;AAAkC;AAAC;;AAAAkzP,MAAAA,yBAAyB,CAAC79P,CAAD,EAAG;AAAC,YAAG,CAACA,CAAC,CAACwD,IAAF,CAAOqnF,EAAP,CAAU,aAAV,CAAJ,EAA6B;AAAO,YAAG7qF,CAAC,CAAC6qF,EAAF,CAAK,SAAL,CAAH,EAAmB,KAAI,MAAMlgF,CAAV,IAAe3K,CAAC,CAACgkF,WAAF,EAAf,EAA+B,KAAK65K,yBAAL,CAA+BlzP,CAA/B;AAAkC,cAAMA,CAAC,GAAC3K,CAAC,CAAC7yB,EAAV;AAAa,YAAG,CAACw9B,CAAJ,EAAM;;AAAO,YAAIJ,CAAC,GAAC,KAAK0wP,YAAL,CAAkBx6R,GAAlB,CAAsBkqC,CAAtB,CAAN;;AAA+BJ,QAAAA,CAAC,KAAGA,CAAC,GAAC,IAAIsnE,GAAJ,EAAF,EAAU,KAAKopL,YAAL,CAAkBn2P,GAAlB,CAAsB6F,CAAtB,EAAwBJ,CAAxB,CAAb,CAAD,EAA0CA,CAAC,CAAC3V,GAAF,CAAMoL,CAAN,CAA1C,EAAmDA,CAAC,CAACy5P,YAAF,GAAelvP,CAAlE;AAAoE;;AAAA+xP,MAAAA,8BAA8B,CAACt8P,CAAD,EAAG;AAAC,YAAGA,CAAC,CAAC6qF,EAAF,CAAK,SAAL,CAAH,EAAmB,KAAI,MAAMlgF,CAAV,IAAe3K,CAAC,CAACgkF,WAAF,EAAf,EAA+B,KAAKs4K,8BAAL,CAAoC3xP,CAApC;AAAuC,cAAMA,CAAC,GAAC3K,CAAC,CAAC7yB,EAAV;AAAa,YAAG,CAACw9B,CAAJ,EAAM;;AAAO,cAAMJ,CAAC,GAAC,KAAK0wP,YAAL,CAAkBx6R,GAAlB,CAAsBkqC,CAAtB,CAAR;;AAAiCJ,QAAAA,CAAC,IAAEA,CAAC,CAACqK,MAAF,CAAS5U,CAAT,CAAH;AAAe;;AAAn7V;;AAAo7V,aAASgwL,EAAT,CAAYhwL,CAAZ,EAAc;AAAC,UAAI2K,CAAC,GAAC3K,CAAC,CAACmhD,MAAR;;AAAe,aAAK,CAACi9M,EAAE,CAACzzP,CAAD,CAAR,GAAa;AAAC,YAAG,CAACA,CAAJ,EAAM;AAAOA,QAAAA,CAAC,GAACA,CAAC,CAACw2C,MAAJ;AAAW;;AAAA,aAAOx2C,CAAP;AAAS;;AAAA,aAASqzP,EAAT,CAAYh+P,CAAZ,EAAc2K,CAAd,EAAgB;AAAC,aAAO3K,CAAC,CAAC2lF,QAAF,GAAWh7E,CAAC,CAACg7E,QAAb,IAAuB,EAAE3lF,CAAC,CAAC2lF,QAAF,GAAWh7E,CAAC,CAACg7E,QAAf,KAA0B3lF,CAAC,CAACwzP,WAAF,KAAgB7oP,CAAC,CAAC6oP,WAAF,EAAxE;AAAwF;;AAAA,aAAS0K,EAAT,CAAYl+P,CAAZ,EAAc;AAAC,YAAM2K,CAAC,GAAC3K,CAAC,CAAC01P,UAAV;AAAqB,UAAG/qP,CAAC,IAAEA,CAAC,CAACkgF,EAAF,CAAK,OAAL,CAAN,EAAoB,OAAO,IAAI0lG,EAAJ,CAAO5lL,CAAP,EAASA,CAAC,CAAChjC,IAAF,CAAOgF,MAAhB,CAAP;AAA+B,YAAM49B,CAAC,GAACvK,CAAC,CAACy1P,SAAV;AAAoB,aAAOlrP,CAAC,IAAEA,CAAC,CAACsgF,EAAF,CAAK,OAAL,CAAH,GAAiB,IAAI0lG,EAAJ,CAAOhmL,CAAP,EAAS,CAAT,CAAjB,GAA6BvK,CAApC;AAAsC;;AAAA,aAAS49P,EAAT,CAAY59P,CAAZ,EAAc;AAAC,UAAGA,CAAC,CAACq9E,MAAF,IAAUr9E,CAAC,CAACmhD,MAAF,CAASx5E,IAAT,CAAcgF,MAA3B,EAAkC,OAAO,IAAI4jN,EAAJ,CAAOvwL,CAAC,CAACmhD,MAAF,CAASA,MAAhB,EAAuBnhD,CAAC,CAACmhD,MAAF,CAAS3/B,KAAT,GAAe,CAAtC,CAAP;AAAgD,UAAG,MAAIxhB,CAAC,CAACq9E,MAAT,EAAgB,OAAO,IAAIkzG,EAAJ,CAAOvwL,CAAC,CAACmhD,MAAF,CAASA,MAAhB,EAAuBnhD,CAAC,CAACmhD,MAAF,CAAS3/B,KAAhC,CAAP;AAA8C,YAAM7W,CAAC,GAAC3K,CAAC,CAACmhD,MAAF,CAASx5E,IAAT,CAAc+wG,KAAd,CAAoB14E,CAAC,CAACq9E,MAAtB,CAAR;AAAsC,aAAOr9E,CAAC,CAACmhD,MAAF,CAASshC,KAAT,GAAeziF,CAAC,CAACmhD,MAAF,CAASx5E,IAAT,CAAc+wG,KAAd,CAAoB,CAApB,EAAsB14E,CAAC,CAACq9E,MAAxB,CAAf,EAA+Cr9E,CAAC,CAACmhD,MAAF,CAASA,MAAT,CAAgB4xM,YAAhB,CAA6B/yP,CAAC,CAACmhD,MAAF,CAAS3/B,KAAT,GAAe,CAA5C,EAA8C,IAAIw7L,EAAJ,CAAOh9M,CAAC,CAACwD,IAAF,CAAO9B,QAAd,EAAuBiJ,CAAvB,CAA9C,CAA/C,EAAwH,IAAI4lL,EAAJ,CAAOvwL,CAAC,CAACmhD,MAAF,CAASA,MAAhB,EAAuBnhD,CAAC,CAACmhD,MAAF,CAAS3/B,KAAT,GAAe,CAAtC,CAA/H;AAAwK;;AAAA,aAAS+6O,EAAT,CAAYv8P,CAAZ,EAAc2K,CAAd,EAAgB;AAAC,YAAMJ,CAAC,GAACvK,CAAC,CAACr4B,IAAF,CAAOgF,MAAf;AAAsB,aAAOqzB,CAAC,CAACyiF,KAAF,IAAS93E,CAAC,CAAChjC,IAAX,EAAgBgjC,CAAC,CAACsyO,OAAF,EAAhB,EAA4B,IAAI1sD,EAAJ,CAAOvwL,CAAP,EAASuK,CAAT,CAAnC;AAA+C;;AAAA,UAAM8zP,EAAE,GAAC,CAACrhD,EAAD,EAAIu8C,EAAJ,EAAOpF,EAAP,EAAU2F,EAAV,EAAae,EAAb,EAAgBb,EAAhB,CAAT;;AAA6B,aAASyC,EAAT,CAAYz8P,CAAZ,EAAc2K,CAAd,EAAgB;AAAC,WAAI,MAAMJ,CAAV,IAAevK,CAAf,EAAiB;AAAC,YAAG,CAACq+P,EAAE,CAACxiR,IAAH,CAASmkB,CAAC,IAAEuK,CAAC,YAAYvK,CAAzB,CAAJ,EAAiC,MAAM,IAAImiD,CAAJ,CAAM,sCAAN,EAA6Cx3C,CAA7C,CAAN;AAAsDJ,QAAAA,CAAC,CAACsgF,EAAF,CAAK,OAAL,KAAe4xK,EAAE,CAAClyP,CAAC,CAACy5E,WAAF,EAAD,EAAiBr5E,CAAjB,CAAjB;AAAqC;AAAC;;AAAA,aAASyzP,EAAT,CAAYp+P,CAAZ,EAAc;AAAC,aAAOA,CAAC,KAAGA,CAAC,CAAC6qF,EAAF,CAAK,kBAAL,KAA0B7qF,CAAC,CAAC6qF,EAAF,CAAK,kBAAL,CAA7B,CAAR;AAA+D;;AAAA,aAAS8xK,EAAT,CAAY38P,CAAZ,EAAc2K,CAAd,EAAgB;AAAC,YAAMJ,CAAC,GAACylL,EAAE,CAAChwL,CAAC,CAACymF,KAAH,CAAV;AAAA,YAAoBl6E,CAAC,GAACyjL,EAAE,CAAChwL,CAAC,CAAC0mF,GAAH,CAAxB;AAAgC,UAAG,CAACn8E,CAAD,IAAI,CAACgC,CAAL,IAAQhC,CAAC,KAAGgC,CAAf,EAAiB,MAAM,IAAI41C,CAAJ,CAAM,qCAAN,EAA4Cx3C,CAA5C,CAAN;AAAqD;;AAAA,aAASwzP,EAAT,CAAYn+P,CAAZ,EAAc2K,CAAd,EAAgB;AAAC,aAAO,SAAO3K,CAAC,CAAC7yB,EAAT,IAAa,SAAOw9B,CAAC,CAACx9B,EAA7B;AAAgC;;AAAA,UAAMmxR,EAAE,GAACt+P,CAAC,IAAEA,CAAC,CAAC0jO,cAAF,CAAiB,GAAjB,CAAZ;AAAA,UAAkC66B,EAAE,GAACv+P,CAAC,IAAE;AAAC,YAAM2K,CAAC,GAAC3K,CAAC,CAAC6G,aAAF,CAAgB,MAAhB,CAAR;AAAgC,aAAO8D,CAAC,CAAC6zP,OAAF,CAAUC,SAAV,GAAoB,MAApB,EAA2B9zP,CAAC,CAACiyK,SAAF,GAAY,GAAvC,EAA2CjyK,CAAlD;AAAoD,KAA7H;AAAA,UAA8H+zP,EAAE,GAAC1+P,CAAC,IAAE;AAAC,YAAM2K,CAAC,GAAC3K,CAAC,CAAC6G,aAAF,CAAgB,IAAhB,CAAR;AAA8B,aAAO8D,CAAC,CAAC6zP,OAAF,CAAUC,SAAV,GAAoB,MAApB,EAA2B9zP,CAAlC;AAAoC,KAAvM;AAAA,UAAwMg0P,EAAE,GAAC,CAA3M;AAAA,UAA6Mp7B,EAAE,GAAC,IAAIq7B,MAAJ,CAAWD,EAAX,CAAhN;;AAA+N,aAASE,EAAT,CAAY7+P,CAAZ,EAAc;AAAC,aAAM,YAAU,OAAOA,CAAjB,GAAmBA,CAAC,CAACi/G,MAAF,CAAS,CAAT,EAAW0/I,EAAX,MAAiBp7B,EAApC,GAAuC4Q,EAAE,CAACn0O,CAAD,CAAF,IAAOA,CAAC,CAACr4B,IAAF,CAAOs3I,MAAP,CAAc,CAAd,EAAgB0/I,EAAhB,MAAsBp7B,EAA1E;AAA6E;;AAAA,aAASu7B,EAAT,CAAY9+P,CAAZ,EAAc;AAAC,aAAOA,CAAC,CAACr4B,IAAF,CAAOgF,MAAP,IAAegyR,EAAf,IAAmBE,EAAE,CAAC7+P,CAAD,CAA5B;AAAgC;;AAAA,aAAS++P,EAAT,CAAY/+P,CAAZ,EAAc;AAAC,YAAM2K,CAAC,GAAC,YAAU,OAAO3K,CAAjB,GAAmBA,CAAnB,GAAqBA,CAAC,CAACr4B,IAA/B;AAAoC,aAAOk3R,EAAE,CAAC7+P,CAAD,CAAF,GAAM2K,CAAC,CAAC+tE,KAAF,CAAQimL,EAAR,CAAN,GAAkBh0P,CAAzB;AAA2B;;AAAA,aAASq0P,EAAT,CAAYh/P,CAAZ,EAAc2K,CAAd,EAAgB;AAAC,UAAGA,CAAC,CAAC0wO,OAAF,IAAWX,EAAE,CAACC,SAAjB,EAA2B;AAAC,cAAM36O,CAAC,GAAC2K,CAAC,CAACyvP,SAAF,CAAYpnB,aAAZ,CAA0BF,WAA1B,CAAsCunB,YAAtC,EAAR;;AAA6D,YAAG,KAAGr6P,CAAC,CAACq3P,UAAL,IAAiBr3P,CAAC,CAACs6P,UAAF,CAAa,CAAb,EAAgBvqQ,SAApC,EAA8C;AAAC,gBAAM4a,CAAC,GAAC3K,CAAC,CAACs6P,UAAF,CAAa,CAAb,EAAgB9jB,cAAxB;AAAA,gBAAuCjsO,CAAC,GAACvK,CAAC,CAACs6P,UAAF,CAAa,CAAb,EAAgB2E,WAAzD;AAAqEJ,UAAAA,EAAE,CAACl0P,CAAD,CAAF,IAAOJ,CAAC,IAAEo0P,EAAV,IAAc3+P,CAAC,CAAC26P,QAAF,CAAWhwP,CAAX,EAAa,CAAb,CAAd;AAA8B;AAAC;AAAC;;AAAA,QAAIu0P,EAAE,GAAC30P,CAAC,CAAC,IAAD,CAAR;AAAA,QAAe40P,EAAE,GAAC;AAAClgB,MAAAA,UAAU,EAAC,mBAAZ;AAAgCh7J,MAAAA,UAAU,EAAC;AAAC,oBAAW,CAAC;AAAb,OAA3C;AAA2DqC,MAAAA,MAAM,EAAC,MAAlE;AAAyEy9I,MAAAA,SAAS,EAAC,CAAC;AAApF,KAAlB;AAAyG+a,IAAAA,EAAE,GAAGogB,EAAE,CAAC38B,CAAN,EAAQ48B,EAAR,CAAF;AAAcD,IAAAA,EAAE,CAAC38B,CAAH,CAAK2c,MAAL;;AAAY,UAAMkgB,EAAN,SAAiB/8M,CAAC,EAAlB,CAAqB;AAAC5iF,MAAAA,WAAW,CAACugC,CAAD,EAAG2K,CAAH,EAAK;AAAC,iBAAQ,KAAK00P,YAAL,GAAkB,IAAIxtL,GAAJ,EAA1B,EAAkC,KAAKytL,gBAAL,GAAsB,IAAIztL,GAAJ,EAAxD,EAAgE,KAAK0tL,cAAL,GAAoB,IAAI1tL,GAAJ,EAApF,EAA4F,KAAK2tL,WAAL,GAAiB,IAAI3tL,GAAJ,EAA7G,EAAqH,KAAK4tL,aAAL,GAAmB,IAAxI,EAA6I,KAAKC,uBAAL,GAA6B,IAA1K,EAA+K,KAAK9E,YAAL,GAAkB56P,CAAjM,EAAmM,KAAK8pP,SAAL,GAAen/O,CAAlN,EAAoN,KAAK7F,GAAL,CAAS,WAAT,EAAqB,CAAC,CAAtB,CAApN,EAA6O,KAAKA,GAAL,CAAS,aAAT,EAAuB,CAAC,CAAxB,CAA7O,EAAwQnuB,CAAC,CAAC4tP,OAAF,IAAW,CAAC5tP,CAAC,CAAC2tP,SAAd,IAAyB,KAAK7iP,EAAL,CAAQ,oBAAR,EAA8B,MAAI;AAAC,eAAKk+Q,WAAL,IAAkB,KAAK/gB,MAAL,EAAlB;AAAgC,SAAnE,CAAjS,EAAuW,KAAK95O,GAAL,CAAS,aAAT,EAAuB,CAAC,CAAxB,CAAvW,EAAkY,KAAKrjB,EAAL,CAAQ,oBAAR,EAA8B,MAAI;AAAC,eAAKkrQ,WAAL,IAAkB,KAAK/N,MAAL,EAAlB;AAAgC,SAAnE,CAAlY;AAAwc;;AAAAghB,MAAAA,UAAU,CAAC5/P,CAAD,EAAG2K,CAAH,EAAK;AAAC,YAAG,WAAS3K,CAAZ,EAAc,KAAK46P,YAAL,CAAkBiF,YAAlB,CAA+Bl1P,CAAC,CAACw2C,MAAjC,KAA0C,KAAKq+M,WAAL,CAAiB5qQ,GAAjB,CAAqB+V,CAArB,CAA1C,CAAd,KAAoF;AAAC,cAAG,CAAC,KAAKiwP,YAAL,CAAkBiF,YAAlB,CAA+Bl1P,CAA/B,CAAJ,EAAsC;AAAO,cAAG,iBAAe3K,CAAlB,EAAoB,KAAKs/P,gBAAL,CAAsB1qQ,GAAtB,CAA0B+V,CAA1B,EAApB,KAAqD;AAAC,gBAAG,eAAa3K,CAAhB,EAAkB;AAAC,oBAAM,IAAImiD,CAAJ,CAAM,4BAAN,EAAmC,IAAnC,CAAN;AAA+C;;AAAA,iBAAKo9M,cAAL,CAAoB3qQ,GAApB,CAAwB+V,CAAxB;AAA2B;AAAC;AAAC;;AAAAi0O,MAAAA,MAAM,GAAE;AAAC,YAAG,KAAK+N,WAAL,IAAkB,CAACh2Q,CAAC,CAAC2tP,SAAxB,EAAkC;AAAO,YAAItkO,CAAC,GAAC,IAAN;AAAW,cAAM2K,CAAC,GAAC,EAAEh0B,CAAC,CAAC4tP,OAAF,IAAW,CAAC5tP,CAAC,CAAC2tP,SAAhB,KAA4B,CAAC,KAAKq7B,WAA1C;;AAAsD,aAAI,MAAM3/P,CAAV,IAAe,KAAKu/P,cAApB,EAAmC,KAAKO,uBAAL,CAA6B9/P,CAA7B;;AAAgC2K,QAAAA,CAAC,IAAE,KAAK80P,aAAL,IAAoB,CAAC,KAAKM,0BAAL,EAArB,IAAwD,KAAKC,mBAAL,EAAxD,EAAmF,KAAKP,aAAL,GAAmBz/P,CAAC,GAAC,KAAKigQ,wBAAL,EAArB,GAAqD,KAAKC,6BAAL,OAAuClgQ,CAAC,GAAC,KAAK8pP,SAAL,CAAeC,gBAAf,EAAF,EAAoC,KAAKwV,cAAL,CAAoB3qQ,GAApB,CAAwBoL,CAAC,CAACmhD,MAA1B,CAA3E,CAA1I,IAAyP,KAAKs+M,aAAL,IAAoB,KAAKA,aAAL,CAAmB7jN,UAAvC,KAAoD57C,CAAC,GAAC,KAAK46P,YAAL,CAAkBH,iBAAlB,CAAoC,KAAKgF,aAAzC,CAAF,EAA0Dz/P,CAAC,IAAEA,CAAC,CAACmhD,MAAF,CAAS0pC,EAAT,CAAY,OAAZ,CAAH,KAA0B7qF,CAAC,GAACuwL,EAAE,CAAC+kE,aAAH,CAAiBt1P,CAAC,CAACmhD,MAAnB,CAA5B,CAA9G,CAA1P;;AAAia,aAAI,MAAMnhD,CAAV,IAAe,KAAKs/P,gBAApB,EAAqC,KAAKa,YAAL,CAAkBngQ,CAAlB;;AAAqB,aAAI,MAAM2K,CAAV,IAAe,KAAK40P,cAApB,EAAmC,KAAKa,eAAL,CAAqBz1P,CAArB,EAAuB;AAAC01P,UAAAA,oBAAoB,EAACrgQ;AAAtB,SAAvB;;AAAiD,aAAI,MAAM2K,CAAV,IAAe,KAAK60P,WAApB,EAAgC,CAAC,KAAKD,cAAL,CAAoBzwO,GAApB,CAAwBnkB,CAAC,CAACw2C,MAA1B,CAAD,IAAoC,KAAKy5M,YAAL,CAAkBiF,YAAlB,CAA+Bl1P,CAAC,CAACw2C,MAAjC,CAApC,IAA8E,KAAKm/M,WAAL,CAAiB31P,CAAjB,EAAmB;AAAC01P,UAAAA,oBAAoB,EAACrgQ;AAAtB,SAAnB,CAA9E;;AAA2H,YAAG2K,CAAH,EAAK,IAAG3K,CAAH,EAAK;AAAC,gBAAM2K,CAAC,GAAC,KAAKiwP,YAAL,CAAkBF,iBAAlB,CAAoC16P,CAApC,CAAR;AAAA,gBAA+CuK,CAAC,GAACI,CAAC,CAACw2C,MAAF,CAAS6xL,aAA1D;AAAwE6rB,UAAAA,EAAE,CAACl0P,CAAC,CAACw2C,MAAH,CAAF,GAAa,KAAKs+M,aAAL,GAAmB90P,CAAC,CAACw2C,MAAlC,GAAyC,KAAKs+M,aAAL,GAAmBc,EAAE,CAACh2P,CAAD,EAAGI,CAAC,CAACw2C,MAAL,EAAYx2C,CAAC,CAAC0yE,MAAd,CAA9D;AAAoF,SAAlK,MAAuK,KAAKoiL,aAAL,GAAmB,IAAnB;AAAwB,aAAKe,YAAL,IAAoB,KAAKC,gBAAL,EAApB,EAA4C,KAAK7F,YAAL,CAAkB8F,+BAAlB,EAA5C,EAAgG,KAAKlB,WAAL,CAAiB9gP,KAAjB,EAAhG,EAAyH,KAAK4gP,gBAAL,CAAsB5gP,KAAtB,EAAzH,EAAuJ,KAAK6gP,cAAL,CAAoB7gP,KAApB,EAAvJ;AAAmL;;AAAAohP,MAAAA,uBAAuB,CAAC9/P,CAAD,EAAG;AAAC,cAAM2K,CAAC,GAAC,KAAKiwP,YAAL,CAAkBiF,YAAlB,CAA+B7/P,CAA/B,CAAR;AAA0C,YAAG,CAAC2K,CAAJ,EAAM;;AAAO,cAAMJ,CAAC,GAACpF,KAAK,CAAC7H,IAAN,CAAWqN,CAAC,CAACg5N,UAAb,CAAR;AAAA,cAAiCp3N,CAAC,GAACpH,KAAK,CAAC7H,IAAN,CAAW,KAAKs9P,YAAL,CAAkB+F,iBAAlB,CAAoC3gQ,CAApC,EAAsC;AAAC4gQ,UAAAA,YAAY,EAAC,CAAC;AAAf,SAAtC,CAAX,CAAnC;AAAA,cAAwGjqR,CAAC,GAAC,KAAKkqR,cAAL,CAAoBt2P,CAApB,EAAsBgC,CAAtB,CAA1G;AAAA,cAAmIE,CAAC,GAAC,KAAKq0P,kBAAL,CAAwBnqR,CAAxB,EAA0B4zB,CAA1B,EAA4BgC,CAA5B,EAA8Bw0P,EAA9B,CAArI;;AAAuK,YAAG,CAAC,CAAD,KAAKt0P,CAAC,CAACr0B,OAAF,CAAU,QAAV,CAAR,EAA4B;AAAC,gBAAMuyB,CAAC,GAAC;AAACq2P,YAAAA,KAAK,EAAC,CAAP;AAAS16K,YAAAA,MAAM,EAAC,CAAhB;AAAkB1xE,YAAAA,MAAM,EAAC;AAAzB,WAAR;;AAAoC,eAAI,MAAMj+B,CAAV,IAAe81B,CAAf,EAAiB,IAAG,aAAW91B,CAAd,EAAgB;AAAC,kBAAMA,CAAC,GAACg0B,CAAC,CAACq2P,KAAF,GAAQr2P,CAAC,CAAC27E,MAAlB;AAAA,kBAAyB75E,CAAC,GAAC9B,CAAC,CAACq2P,KAAF,GAAQr2P,CAAC,CAACiK,MAArC;AAAA,kBAA4CtK,CAAC,GAACtK,CAAC,CAAC6sP,QAAF,CAAWl2Q,CAAX,CAA9C;AAA4D,aAAC2zB,CAAD,IAAIA,CAAC,CAACugF,EAAF,CAAK,WAAL,CAAJ,IAAuBvgF,CAAC,CAACugF,EAAF,CAAK,YAAL,CAAvB,IAA2C,KAAKo2K,sBAAL,CAA4B32P,CAA5B,EAA8BC,CAAC,CAACkC,CAAD,CAA/B,CAA3C,EAA+E2sO,EAAE,CAAC7sO,CAAC,CAAC51B,CAAD,CAAF,CAAjF,EAAwFg0B,CAAC,CAACq2P,KAAF,EAAxF;AAAkG,WAA/K,MAAoLr2P,CAAC,CAACh0B,CAAD,CAAD;AAAO;AAAC;;AAAAsqR,MAAAA,sBAAsB,CAACjhQ,CAAD,EAAG2K,CAAH,EAAK;AAAC,aAAKiwP,YAAL,CAAkBsG,gBAAlB,CAAmCv2P,CAAnC,GAAsC,KAAKiwP,YAAL,CAAkBuG,YAAlB,CAA+Bx2P,CAA/B,EAAiC3K,CAAjC,CAAtC,EAA0E,KAAKu/P,cAAL,CAAoB3qQ,GAApB,CAAwBoL,CAAxB,CAA1E,EAAqG,KAAKs/P,gBAAL,CAAsB1qQ,GAAtB,CAA0BoL,CAA1B,CAArG;AAAkI;;AAAAigQ,MAAAA,wBAAwB,GAAE;AAAC,cAAMjgQ,CAAC,GAAC,KAAK8pP,SAAL,CAAeC,gBAAf,EAAR;AAA0C,eAAO/pP,CAAC,CAACmhD,MAAF,CAAS0pC,EAAT,CAAY,OAAZ,IAAqB0lG,EAAE,CAAC+kE,aAAH,CAAiBt1P,CAAC,CAACmhD,MAAnB,CAArB,GAAgDnhD,CAAvD;AAAyD;;AAAA+/P,MAAAA,0BAA0B,GAAE;AAAC,YAAG,KAAG,KAAKjW,SAAL,CAAeuN,UAAlB,IAA8B,CAAC,KAAKvN,SAAL,CAAekM,WAAjD,EAA6D,OAAM,CAAC,CAAP;AAAS,cAAMh2P,CAAC,GAAC,KAAK8pP,SAAL,CAAeC,gBAAf,EAAR;AAAA,cAA0Cp/O,CAAC,GAAC,KAAKiwP,YAAL,CAAkBF,iBAAlB,CAAoC16P,CAApC,CAA5C;AAAmF,eAAM,CAAC,EAAE2K,CAAC,IAAEwpO,EAAE,CAACxpO,CAAC,CAACw2C,MAAH,CAAL,IAAiB09M,EAAE,CAACl0P,CAAC,CAACw2C,MAAH,CAArB,CAAP;AAAwC;;AAAA6+M,MAAAA,mBAAmB,GAAE;AAAC,cAAMhgQ,CAAC,GAAC,KAAKy/P,aAAb;AAA2B,YAAG,CAACZ,EAAE,CAAC7+P,CAAD,CAAN,EAAU,MAAM,IAAImiD,CAAJ,CAAM,+BAAN,EAAsC,IAAtC,CAAN;AAAkD28M,QAAAA,EAAE,CAAC9+P,CAAD,CAAF,GAAMA,CAAC,CAACigF,MAAF,EAAN,GAAiBjgF,CAAC,CAACr4B,IAAF,GAAOq4B,CAAC,CAACr4B,IAAF,CAAOs3I,MAAP,CAAc0/I,EAAd,CAAxB,EAA0C,KAAKc,aAAL,GAAmB,IAA7D;AAAkE;;AAAAS,MAAAA,6BAA6B,GAAE;AAAC,YAAG,KAAG,KAAKpW,SAAL,CAAeuN,UAAlB,IAA8B,CAAC,KAAKvN,SAAL,CAAekM,WAAjD,EAA6D,OAAM,CAAC,CAAP;AAAS,cAAMh2P,CAAC,GAAC,KAAK8pP,SAAL,CAAeC,gBAAf,EAAR;AAAA,cAA0Cp/O,CAAC,GAAC3K,CAAC,CAACmhD,MAA9C;AAAA,cAAqD52C,CAAC,GAACvK,CAAC,CAACq9E,MAAzD;AAAgE,YAAG,CAAC,KAAKu9K,YAAL,CAAkBiF,YAAlB,CAA+Bl1P,CAAC,CAACnH,IAAjC,CAAJ,EAA2C,OAAM,CAAC,CAAP;AAAS,YAAG,CAACmH,CAAC,CAACkgF,EAAF,CAAK,SAAL,CAAJ,EAAoB,OAAM,CAAC,CAAP;AAAS,YAAG,CAAC,UAAS7qF,CAAT,EAAW;AAAC,cAAG,WAASA,CAAC,CAAC6hP,YAAF,CAAe,iBAAf,CAAZ,EAA8C,OAAM,CAAC,CAAP;AAAS,gBAAMl3O,CAAC,GAAC3K,CAAC,CAACqzP,YAAF,CAAgBrzP,CAAC,IAAEA,CAAC,CAACkzP,YAAF,CAAe,iBAAf,CAAnB,CAAR;AAA+D,iBAAM,CAACvoP,CAAD,IAAI,UAAQA,CAAC,CAACk3O,YAAF,CAAe,iBAAf,CAAlB;AAAoD,SAAtL,CAAuLl3O,CAAvL,CAAJ,EAA8L,OAAM,CAAC,CAAP;AAAS,YAAGJ,CAAC,KAAGI,CAAC,CAAC+oP,eAAF,EAAP,EAA2B,OAAM,CAAC,CAAP;AAAS,cAAMnnP,CAAC,GAACvM,CAAC,CAAC01P,UAAV;AAAA,cAAqBjpP,CAAC,GAACzM,CAAC,CAACy1P,SAAzB;AAAmC,eAAM,EAAElpP,CAAC,YAAYywM,EAAb,IAAiBvwM,CAAC,YAAYuwM,EAAhC,MAAsC,CAACrmO,CAAC,CAAC2tP,SAAH,IAAc,CAAC/3N,CAAD,IAAI,CAACE,CAAzD,CAAN;AAAkE;;AAAA6zP,MAAAA,WAAW,CAACtgQ,CAAD,EAAG2K,CAAH,EAAK;AAAC,cAAMJ,CAAC,GAAC,KAAKqwP,YAAL,CAAkBwG,wBAAlB,CAA2CphQ,CAA3C,CAAR;AAAsD,YAAIuM,CAAC,GAAC,KAAKquP,YAAL,CAAkByG,SAAlB,CAA4BrhQ,CAA5B,EAA+Br4B,IAArC;AAA0C,cAAMgP,CAAC,GAACg0B,CAAC,CAAC01P,oBAAV;AAA+B1pR,QAAAA,CAAC,IAAEA,CAAC,CAACwqE,MAAF,IAAUnhD,CAAC,CAACmhD,MAAf,IAAuBxqE,CAAC,CAAC0mG,MAAF,IAAUr9E,CAAC,CAACwhB,KAAnC,KAA2CjV,CAAC,GAACg3N,EAAE,GAACh3N,CAAhD,GAAmD+0P,EAAE,CAAC/2P,CAAD,EAAGgC,CAAH,CAArD;AAA2D;;AAAA4zP,MAAAA,YAAY,CAACngQ,CAAD,EAAG;AAAC,cAAM2K,CAAC,GAAC,KAAKiwP,YAAL,CAAkBiF,YAAlB,CAA+B7/P,CAA/B,CAAR;AAA0C,YAAG,CAAC2K,CAAJ,EAAM;AAAO,cAAMJ,CAAC,GAACpF,KAAK,CAAC7H,IAAN,CAAWqN,CAAC,CAACs5E,UAAb,EAAyBz6G,GAAzB,CAA8Bw2B,CAAC,IAAEA,CAAC,CAACxvB,IAAnC,CAAR;AAAA,cAAkD+7B,CAAC,GAACvM,CAAC,CAACkuP,gBAAF,EAApD;;AAAyE,aAAI,MAAM3jP,CAAV,IAAegC,CAAf,EAAiB,KAAKquP,YAAL,CAAkB2G,sBAAlB,CAAyC52P,CAAzC,EAA2CJ,CAA3C,EAA6CvK,CAAC,CAAC6hP,YAAF,CAAet3O,CAAf,CAA7C,EAA+DvK,CAA/D;;AAAkE,aAAI,MAAMuM,CAAV,IAAehC,CAAf,EAAiBvK,CAAC,CAACkzP,YAAF,CAAe3mP,CAAf,KAAmB,KAAKquP,YAAL,CAAkB4G,yBAAlB,CAA4C72P,CAA5C,EAA8C4B,CAA9C,CAAnB;AAAoE;;AAAA6zP,MAAAA,eAAe,CAACpgQ,CAAD,EAAG2K,CAAH,EAAK;AAAC,cAAMJ,CAAC,GAAC,KAAKqwP,YAAL,CAAkBiF,YAAlB,CAA+B7/P,CAA/B,CAAR;AAA0C,YAAG,CAACuK,CAAJ,EAAM;;AAAO,YAAG5zB,CAAC,CAAC2tP,SAAL,EAAe;AAAC,cAAItkO,CAAC,GAAC,IAAN;;AAAW,eAAI,MAAM2K,CAAV,IAAexF,KAAK,CAAC7H,IAAN,CAAWiN,CAAC,CAACo5N,UAAb,CAAf,EAAwC;AAAC,gBAAG3jO,CAAC,IAAEm0O,EAAE,CAACn0O,CAAD,CAAL,IAAUm0O,EAAE,CAACxpO,CAAD,CAAf,EAAmB;AAACJ,cAAAA,CAAC,CAAC1I,SAAF;AAAc;AAAM;;AAAA7B,YAAAA,CAAC,GAAC2K,CAAF;AAAI;AAAC;;AAAA,cAAM4B,CAAC,GAAC5B,CAAC,CAAC01P,oBAAV;AAAA,cAA+B5zP,CAAC,GAAClC,CAAC,CAACo5N,UAAnC;AAAA,cAA8Cr5N,CAAC,GAACnF,KAAK,CAAC7H,IAAN,CAAW,KAAKs9P,YAAL,CAAkB+F,iBAAlB,CAAoC3gQ,CAApC,EAAsC;AAACjL,UAAAA,IAAI,EAAC,CAAC;AAAP,SAAtC,CAAX,CAAhD;AAA6GwX,QAAAA,CAAC,IAAEA,CAAC,CAAC40C,MAAF,KAAWnhD,CAAd,IAAiBugQ,EAAE,CAACh2P,CAAC,CAACyoO,aAAH,EAAiB1oO,CAAjB,EAAmBiC,CAAC,CAAC8wE,MAArB,CAAnB;;AAAgD,cAAMj7B,CAAC,GAAC,KAAKy+M,cAAL,CAAoBp0P,CAApB,EAAsBnC,CAAtB,CAAR;AAAA,cAAiCqzI,CAAC,GAAC,KAAKmjH,kBAAL,CAAwB1+M,CAAxB,EAA0B31C,CAA1B,EAA4BnC,CAA5B,EAA8Bm3P,EAA9B,CAAnC;;AAAqE,YAAIv1E,CAAC,GAAC,CAAN;AAAQ,cAAMtiL,CAAC,GAAC,IAAIioE,GAAJ,EAAR;;AAAgB,aAAI,MAAM7xE,CAAV,IAAe29I,CAAf,EAAiB,aAAW39I,CAAX,IAAc4J,CAAC,CAAChV,GAAF,CAAM6X,CAAC,CAACy/K,CAAD,CAAP,GAAYktD,EAAE,CAAC3sO,CAAC,CAACy/K,CAAD,CAAF,CAA5B,IAAoC,YAAUlsL,CAAV,IAAa,aAAWA,CAAxB,IAA2BksL,CAAC,EAAhE;;AAAmEA,QAAAA,CAAC,GAAC,CAAF;;AAAI,aAAI,MAAMlsL,CAAV,IAAe29I,CAAf,EAAiB,aAAW39I,CAAX,IAAc63O,EAAE,CAACttO,CAAD,EAAG2hL,CAAH,EAAK5hL,CAAC,CAAC4hL,CAAD,CAAN,CAAF,EAAaA,CAAC,EAA5B,IAAgC,aAAWlsL,CAAX,IAAcshQ,EAAE,CAAC70P,CAAC,CAACy/K,CAAD,CAAF,EAAM5hL,CAAC,CAAC4hL,CAAD,CAAD,CAAKvkN,IAAX,CAAF,EAAmBukN,CAAC,EAAlC,IAAsC,YAAUlsL,CAAV,KAAc,KAAK0hQ,yBAAL,CAA+B,KAAK9G,YAAL,CAAkB+G,SAAlB,CAA4Br3P,CAAC,CAAC4hL,CAAD,CAA7B,CAA/B,GAAkEA,CAAC,EAAjF,CAAtE;;AAA2J,aAAI,MAAMlsL,CAAV,IAAe4J,CAAf,EAAiB5J,CAAC,CAAC47C,UAAF,IAAc,KAAKg/M,YAAL,CAAkBsG,gBAAlB,CAAmClhQ,CAAnC,CAAd;AAAoD;;AAAA6gQ,MAAAA,cAAc,CAAC7gQ,CAAD,EAAG2K,CAAH,EAAK;AAAC,eAAO3K,CAAC,GAAC,UAASA,CAAT,EAAW2K,CAAX,EAAa;AAAC,gBAAMJ,CAAC,GAACpF,KAAK,CAAC7H,IAAN,CAAW0C,CAAX,CAAR;AAAsB,cAAG,KAAGuK,CAAC,CAAC59B,MAAL,IAAa,CAACg+B,CAAjB,EAAmB,OAAOJ,CAAP;AAAS,gBAAMgC,CAAC,GAAChC,CAAC,CAACA,CAAC,CAAC59B,MAAF,GAAS,CAAV,CAAT;AAAsB4/B,UAAAA,CAAC,IAAE5B,CAAH,IAAMJ,CAAC,CAAChM,GAAF,EAAN;AAAc,iBAAOgM,CAAP;AAAS,SAA7G,CAA8GvK,CAA9G,EAAgH,KAAK0/P,uBAArH,CAAF,EAAgJxzE,CAAC,CAAClsL,CAAD,EAAG2K,CAAH,EAAKi3P,EAAE,CAAC7sQ,IAAH,CAAQ,IAAR,EAAa,KAAK6lQ,YAAlB,CAAL,CAAxJ;AAA8L;;AAAAkG,MAAAA,kBAAkB,CAAC9gQ,CAAD,EAAG2K,CAAH,EAAKJ,CAAL,EAAOgC,CAAP,EAAS;AAAC,YAAG,CAAC,CAAD,KAAKvM,CAAC,CAAC5nB,OAAF,CAAU,QAAV,CAAL,IAA0B,CAAC,CAAD,KAAK4nB,CAAC,CAAC5nB,OAAF,CAAU,QAAV,CAAlC,EAAsD,OAAO4nB,CAAP;AAAS,YAAIrpB,CAAC,GAAC,EAAN;AAAA,YAAS81B,CAAC,GAAC,EAAX;AAAA,YAAcnC,CAAC,GAAC,EAAhB;AAAmB,cAAM83C,CAAC,GAAC;AAAC4+M,UAAAA,KAAK,EAAC,CAAP;AAAS16K,UAAAA,MAAM,EAAC,CAAhB;AAAkB1xE,UAAAA,MAAM,EAAC;AAAzB,SAAR;;AAAoC,aAAI,MAAM+oI,CAAV,IAAe39I,CAAf,EAAiB,aAAW29I,CAAX,GAAarzI,CAAC,CAACrE,IAAF,CAAOsE,CAAC,CAAC63C,CAAC,CAAC4+M,KAAF,GAAQ5+M,CAAC,CAACkkC,MAAX,CAAR,CAAb,GAAyC,aAAWq3D,CAAX,GAAalxI,CAAC,CAACxG,IAAF,CAAO0E,CAAC,CAACy3C,CAAC,CAAC4+M,KAAF,GAAQ5+M,CAAC,CAACxtC,MAAX,CAAR,CAAb,IAA0Cj+B,CAAC,GAACA,CAAC,CAACi2B,MAAF,CAASs/K,CAAC,CAACz/K,CAAD,EAAGnC,CAAH,EAAKiC,CAAL,CAAD,CAAS/iC,GAAT,CAAcw2B,CAAC,IAAE,YAAUA,CAAV,GAAY,QAAZ,GAAqBA,CAAtC,CAAT,CAAF,EAAsDrpB,CAAC,CAACsvB,IAAF,CAAO,OAAP,CAAtD,EAAsEwG,CAAC,GAAC,EAAxE,EAA2EnC,CAAC,GAAC,EAAvH,CAAzC,EAAoK83C,CAAC,CAACu7F,CAAD,CAAD,EAApK;;AAA2K,eAAOhnK,CAAC,CAACi2B,MAAF,CAASs/K,CAAC,CAACz/K,CAAD,EAAGnC,CAAH,EAAKiC,CAAL,CAAD,CAAS/iC,GAAT,CAAcw2B,CAAC,IAAE,YAAUA,CAAV,GAAY,QAAZ,GAAqBA,CAAtC,CAAT,CAAP;AAA2D;;AAAA0hQ,MAAAA,yBAAyB,CAAC1hQ,CAAD,EAAG;AAAC,YAAGA,CAAH,EAAK,IAAGA,CAAC,CAAC6qF,EAAF,CAAK,OAAL,CAAH,EAAiB,KAAK20K,WAAL,CAAiB5qQ,GAAjB,CAAqBoL,CAArB,EAAjB,KAA8C,IAAGA,CAAC,CAAC6qF,EAAF,CAAK,SAAL,CAAH,EAAmB,KAAI,MAAMlgF,CAAV,IAAe3K,CAAC,CAACgkF,WAAF,EAAf,EAA+B,KAAK09K,yBAAL,CAA+B/2P,CAA/B;AAAkC;;AAAA81P,MAAAA,gBAAgB,GAAE;AAAC,YAAG9pR,CAAC,CAAC4tP,OAAF,IAAW,CAAC5tP,CAAC,CAAC2tP,SAAd,IAAyB,KAAKq7B,WAA9B,IAA2C,CAAC,KAAKJ,cAAL,CAAoBptL,IAAnE,EAAwE;AAAO,YAAG,MAAI,KAAK23K,SAAL,CAAeuN,UAAtB,EAAiC,OAAO,KAAKwK,mBAAL,IAA2B,KAAK,KAAKC,oBAAL,EAAvC;AAAmE,cAAM9hQ,CAAC,GAAC,KAAK46P,YAAL,CAAkBiF,YAAlB,CAA+B,KAAK/V,SAAL,CAAeuK,eAA9C,CAAR;AAAuE,aAAKzW,SAAL,IAAgB59O,CAAhB,KAAoB,KAAK8pP,SAAL,CAAeqN,MAAf,GAAsB,KAAK4K,oBAAL,CAA0B/hQ,CAA1B,CAAtB,GAAmD,KAAK0/P,uBAAL,IAA8B,KAAKA,uBAAL,CAA6BsC,WAA3D,IAAwE,KAAKF,oBAAL,IAA4B,KAAKG,mBAAL,CAAyBjiQ,CAAzB,CAApG,IAAiI,KAAK2sP,WAAL,IAAkBh2Q,CAAC,CAAC2tP,SAApB,IAA+B,KAAK29B,mBAAL,CAAyBjiQ,CAAzB,CAAvO;AAAoQ;;AAAA+hQ,MAAAA,oBAAoB,CAAC/hQ,CAAD,EAAG;AAAC,cAAM2K,CAAC,GAAC3K,CAAC,CAACgzO,aAAV;AAAwB,aAAK0sB,uBAAL,KAA+B,KAAKA,uBAAL,GAA6B,UAAS1/P,CAAT,EAAW;AAAC,gBAAM2K,CAAC,GAAC3K,CAAC,CAAC6G,aAAF,CAAgB,KAAhB,CAAR;AAA+B,iBAAO8D,CAAC,CAACm3J,SAAF,GAAY,6BAAZ,EAA0C3/J,MAAM,CAACC,MAAP,CAAcuI,CAAC,CAAC4wC,KAAhB,EAAsB;AAACzrE,YAAAA,QAAQ,EAAC,OAAV;AAAkBokE,YAAAA,GAAG,EAAC,CAAtB;AAAwBE,YAAAA,IAAI,EAAC,SAA7B;AAAuCL,YAAAA,KAAK,EAAC;AAA7C,WAAtB,CAA1C,EAAsHppC,CAAC,CAAC62O,WAAF,GAAc,GAApI,EAAwI72O,CAA/I;AAAiJ,SAA5L,CAA6LA,CAA7L,CAA5D;AAA6P,cAAMJ,CAAC,GAAC,KAAKm1P,uBAAb;AAAqC,YAAG,KAAK9E,YAAL,CAAkBsH,iBAAlB,CAAoC33P,CAApC,EAAsC,KAAKu/O,SAA3C,GAAsD,CAAC,KAAKqY,yBAAL,CAA+BniQ,CAA/B,CAA1D,EAA4F;AAAOuK,QAAAA,CAAC,CAAC63P,aAAF,IAAiB73P,CAAC,CAAC63P,aAAF,IAAiBpiQ,CAAlC,IAAqCA,CAAC,CAAC27C,WAAF,CAAcpxC,CAAd,CAArC,EAAsDA,CAAC,CAACi3O,WAAF,GAAc,KAAKsI,SAAL,CAAesN,kBAAf,IAAmC,GAAvG;AAA2G,cAAM7qP,CAAC,GAAC5B,CAAC,CAAC0vP,YAAF,EAAR;AAAA,cAAyB1jR,CAAC,GAACg0B,CAAC,CAACq8E,WAAF,EAA3B;AAA2Cz6E,QAAAA,CAAC,CAAC81P,eAAF,IAAoB1rR,CAAC,CAAC2rR,kBAAF,CAAqB/3P,CAArB,CAApB,EAA4CgC,CAAC,CAACg2P,QAAF,CAAW5rR,CAAX,CAA5C;AAA0D;;AAAAsrR,MAAAA,mBAAmB,CAACjiQ,CAAD,EAAG;AAAC,cAAM2K,CAAC,GAAC3K,CAAC,CAACgzO,aAAF,CAAgBF,WAAhB,CAA4BunB,YAA5B,EAAR;AAAmD,YAAG,CAAC,KAAKmI,wBAAL,CAA8B73P,CAA9B,CAAJ,EAAqC;AAAO,cAAMJ,CAAC,GAAC,KAAKqwP,YAAL,CAAkBF,iBAAlB,CAAoC,KAAK5Q,SAAL,CAAep0C,MAAnD,CAAR;AAAA,cAAmEnpM,CAAC,GAAC,KAAKquP,YAAL,CAAkBF,iBAAlB,CAAoC,KAAK5Q,SAAL,CAAe92M,KAAnD,CAArE;AAA+HroC,QAAAA,CAAC,CAAC83P,gBAAF,CAAmBl4P,CAAC,CAAC42C,MAArB,EAA4B52C,CAAC,CAAC8yE,MAA9B,EAAqC9wE,CAAC,CAAC40C,MAAvC,EAA8C50C,CAAC,CAAC8wE,MAAhD,GAAwD1mG,CAAC,CAACwtP,OAAF,IAAW,UAASnkO,CAAT,EAAW2K,CAAX,EAAa;AAAC,gBAAMJ,CAAC,GAACvK,CAAC,CAACmhD,MAAV;AAAiB,cAAG52C,CAAC,CAACyiO,QAAF,IAAYiG,IAAI,CAACyvB,YAAjB,IAA+B1iQ,CAAC,CAACq9E,MAAF,IAAU9yE,CAAC,CAACo5N,UAAF,CAAah3P,MAAb,GAAoB,CAAhE,EAAkE;AAAO,gBAAM4/B,CAAC,GAAChC,CAAC,CAACo5N,UAAF,CAAa3jO,CAAC,CAACq9E,MAAf,CAAR;AAA+B9wE,UAAAA,CAAC,IAAE,QAAMA,CAAC,CAACwtK,OAAX,IAAoBpvK,CAAC,CAAC43P,QAAF,CAAW53P,CAAC,CAAC2vP,UAAF,CAAa,CAAb,CAAX,CAApB;AAAgD,SAAvL,CAAwL/tP,CAAxL,EAA0L5B,CAA1L,CAAnE;AAAgQ;;AAAA63P,MAAAA,wBAAwB,CAACxiQ,CAAD,EAAG;AAAC,YAAG,CAAC,KAAK46P,YAAL,CAAkB+H,qBAAlB,CAAwC3iQ,CAAxC,CAAJ,EAA+C,OAAM,CAAC,CAAP;AAAS,cAAM2K,CAAC,GAAC3K,CAAC,IAAE,KAAK46P,YAAL,CAAkBgI,kBAAlB,CAAqC5iQ,CAArC,CAAX;AAAmD,eAAM,CAAC,CAAC2K,CAAD,IAAI,CAAC,KAAKm/O,SAAL,CAAe/T,OAAf,CAAuBprO,CAAvB,CAAN,KAAkC,EAAE,CAAC,KAAKm/O,SAAL,CAAekM,WAAhB,IAA6B,KAAKlM,SAAL,CAAe0D,SAAf,CAAyB7iP,CAAzB,CAA/B,CAAxC;AAAoG;;AAAAw3P,MAAAA,yBAAyB,CAACniQ,CAAD,EAAG;AAAC,cAAM2K,CAAC,GAAC,KAAK+0P,uBAAb;AAAA,cAAqCn1P,CAAC,GAACvK,CAAC,CAACgzO,aAAF,CAAgBqnB,YAAhB,EAAvC;AAAsE,eAAM,CAAC1vP,CAAD,IAAIA,CAAC,CAACy3P,aAAF,KAAkBpiQ,CAAtB,IAA0BuK,CAAC,CAACs4P,UAAF,KAAel4P,CAAf,IAAkB,CAACA,CAAC,CAACs/M,QAAF,CAAW1/M,CAAC,CAACs4P,UAAb,CAAnB,IAA6Cl4P,CAAC,CAAC62O,WAAF,KAAgB,KAAKsI,SAAL,CAAesN,kBAA5G;AAAgI;;AAAAyK,MAAAA,mBAAmB,GAAE;AAAC,aAAI,MAAM7hQ,CAAV,IAAe,KAAKq/P,YAApB,EAAiC;AAAC,gBAAM10P,CAAC,GAAC3K,CAAC,CAACq6P,YAAF,EAAR;;AAAyB,cAAG1vP,CAAC,CAAC0sP,UAAL,EAAgB;AAAC,kBAAM9sP,CAAC,GAACvK,CAAC,CAAC8iQ,aAAV;AAAA,kBAAwBv2P,CAAC,GAAC,KAAKquP,YAAL,CAAkBmI,YAAlB,CAA+Bx4P,CAA/B,CAA1B;AAA4DA,YAAAA,CAAC,IAAEgC,CAAH,IAAM5B,CAAC,CAAC03P,eAAF,EAAN;AAA0B;AAAC;AAAC;;AAAAP,MAAAA,oBAAoB,GAAE;AAAC,cAAM9hQ,CAAC,GAAC,KAAK0/P,uBAAb;AAAqC1/P,QAAAA,CAAC,IAAEA,CAAC,CAACigF,MAAF,EAAH;AAAc;;AAAAugL,MAAAA,YAAY,GAAE;AAAC,YAAG,KAAK5iB,SAAR,EAAkB;AAAC,gBAAM59O,CAAC,GAAC,KAAK8pP,SAAL,CAAeuK,eAAvB;AAAuCr0P,UAAAA,CAAC,IAAE,KAAK46P,YAAL,CAAkB5nN,KAAlB,CAAwBhzC,CAAxB,CAAH;AAA8B;AAAC;;AAAtrQ;;AAAurQ,aAASugQ,EAAT,CAAYvgQ,CAAZ,EAAc2K,CAAd,EAAgBJ,CAAhB,EAAkB;AAAC,YAAMgC,CAAC,GAAC5B,CAAC,YAAYxF,KAAb,GAAmBwF,CAAnB,GAAqBA,CAAC,CAACg5N,UAA/B;AAAA,YAA0ChtP,CAAC,GAAC41B,CAAC,CAAChC,CAAD,CAA7C;AAAiD,UAAG4pO,EAAE,CAACx9P,CAAD,CAAL,EAAS,OAAOA,CAAC,CAAChP,IAAF,GAAO47P,EAAE,GAAC5sP,CAAC,CAAChP,IAAZ,EAAiBgP,CAAxB;AAA0B;AAAC,cAAMA,CAAC,GAACqpB,CAAC,CAAC0jO,cAAF,CAAiBH,EAAjB,CAAR;AAA6B,eAAOp+N,KAAK,CAACi8E,OAAN,CAAcz2E,CAAd,IAAiB4B,CAAC,CAAC42F,MAAF,CAAS54F,CAAT,EAAW,CAAX,EAAa5zB,CAAb,CAAjB,GAAiCkhQ,EAAE,CAACltO,CAAD,EAAGJ,CAAH,EAAK5zB,CAAL,CAAnC,EAA2CA,CAAlD;AAAoD;AAAC;;AAAA,aAASoqR,EAAT,CAAY/gQ,CAAZ,EAAc2K,CAAd,EAAgB;AAAC,aAAO0rL,EAAE,CAACr2L,CAAD,CAAF,IAAOq2L,EAAE,CAAC1rL,CAAD,CAAT,IAAc,CAACwpO,EAAE,CAACn0O,CAAD,CAAjB,IAAsB,CAACm0O,EAAE,CAACxpO,CAAD,CAAzB,IAA8B,CAACmtO,EAAE,CAAC93O,CAAD,CAAjC,IAAsC,CAAC83O,EAAE,CAACntO,CAAD,CAAzC,IAA8C3K,CAAC,CAAC+5K,OAAF,CAAU1yK,WAAV,OAA0BsD,CAAC,CAACovK,OAAF,CAAU1yK,WAAV,EAA/E;AAAuG;;AAAA,aAASo6P,EAAT,CAAYzhQ,CAAZ,EAAc2K,CAAd,EAAgB;AAAC,aAAO0rL,EAAE,CAACr2L,CAAD,CAAF,IAAOq2L,EAAE,CAAC1rL,CAAD,CAAT,IAAcwpO,EAAE,CAACn0O,CAAD,CAAhB,IAAqBm0O,EAAE,CAACxpO,CAAD,CAA9B;AAAkC;;AAAA,aAASi3P,EAAT,CAAY5hQ,CAAZ,EAAc2K,CAAd,EAAgBJ,CAAhB,EAAkB;AAAC,aAAOI,CAAC,KAAGJ,CAAJ,KAAQ4pO,EAAE,CAACxpO,CAAD,CAAF,IAAOwpO,EAAE,CAAC5pO,CAAD,CAAT,GAAaI,CAAC,CAAChjC,IAAF,KAAS4iC,CAAC,CAAC5iC,IAAxB,GAA6B,EAAE,CAACq4B,CAAC,CAACgjQ,aAAF,CAAgBr4P,CAAhB,CAAD,IAAqB,CAAC3K,CAAC,CAACgjQ,aAAF,CAAgBz4P,CAAhB,CAAxB,CAArC,CAAP;AAAyF;;AAAA,aAAS+2P,EAAT,CAAYthQ,CAAZ,EAAc2K,CAAd,EAAgB;AAAC,YAAMJ,CAAC,GAACvK,CAAC,CAACr4B,IAAV;AAAe,UAAG4iC,CAAC,IAAEI,CAAN,EAAQ;AAAO,YAAM4B,CAAC,GAACjC,CAAC,CAACC,CAAD,EAAGI,CAAH,CAAT;;AAAe,WAAI,MAAMA,CAAV,IAAe4B,CAAf,EAAiB,aAAW5B,CAAC,CAAC1zB,IAAb,GAAkB+oB,CAAC,CAACijQ,UAAF,CAAat4P,CAAC,CAAC6W,KAAf,EAAqB7W,CAAC,CAAC0W,MAAF,CAASt0C,IAAT,CAAc,EAAd,CAArB,CAAlB,GAA0DizB,CAAC,CAACkjQ,UAAF,CAAav4P,CAAC,CAAC6W,KAAf,EAAqB7W,CAAC,CAAC+4G,OAAvB,CAA1D;AAA0F;;AAAA,UAAMy/I,EAAE,GAACzE,EAAE,CAACxqB,EAAE,CAACxyO,QAAJ,CAAX;AAAA,UAAyB0hQ,EAAE,GAAC9E,EAAE,CAACpqB,EAAE,CAACxyO,QAAJ,CAA9B;AAAA,UAA4C2hQ,EAAE,GAAC9E,EAAE,CAACrqB,EAAE,CAACxyO,QAAJ,CAAjD;AAAA,UAA+D4hQ,EAAE,GAAC,2BAAlE;AAAA,UAA8FC,EAAE,GAAC,wBAAjG;;AAA0H,UAAMvxO,EAAN,CAAQ;AAACvyD,MAAAA,WAAW,CAACugC,CAAD,EAAG;AAACwjQ,QAAAA,eAAe,EAAC74P,CAAjB;AAAmB84P,QAAAA,aAAa,EAACl5P,CAAC,GAAC;AAAnC,UAA8C,EAAjD,EAAoD;AAAC,aAAKm5P,iBAAL,GAAuB,IAAIhnB,OAAJ,EAAvB,EAAmC,KAAKinB,iBAAL,GAAuB,IAAIjnB,OAAJ,EAA1D,EAAsE,KAAKknB,qBAAL,GAA2B,IAAIlnB,OAAJ,EAAjG,EAA6G,KAAKmnB,yBAAL,GAA+B,IAAI/V,EAAJ,EAA5I,EAAmJ,KAAKgW,2BAAL,GAAiC,IAAIhW,EAAJ,EAApL,EAA2L,KAAKiW,sCAAL,GAA4C,IAAIlyL,GAAJ,EAAvO,EAA+O,KAAKnwE,QAAL,GAAc1B,CAA7P,EAA+P,KAAKyjQ,aAAL,GAAmBl5P,CAAlR,EAAoR,KAAKi5P,eAAL,GAAqB74P,CAAC,KAAG,cAAYJ,CAAZ,GAAc,IAAd,GAAmB,MAAtB,CAA1S,EAAwU,KAAKy5P,WAAL,GAAiB,CAAC,KAAD,CAAzV,EAAiW,KAAKC,aAAL,GAAmB,CAAC,SAAD,EAAW,SAAX,EAAqB,OAArB,EAA6B,YAA7B,EAA0C,SAA1C,EAAoD,QAApD,EAA6D,IAA7D,EAAkE,SAAlE,EAA4E,KAA5E,EAAkF,KAAlF,EAAwF,IAAxF,EAA6F,IAA7F,EAAkG,UAAlG,EAA6G,YAA7G,EAA0H,QAA1H,EAAmI,QAAnI,EAA4I,MAA5I,EAAmJ,IAAnJ,EAAwJ,IAAxJ,EAA6J,IAA7J,EAAkK,IAAlK,EAAuK,IAAvK,EAA4K,IAA5K,EAAiL,QAAjL,EAA0L,QAA1L,EAAmM,QAAnM,EAA4M,IAA5M,EAAiN,MAAjN,EAAwN,MAAxN,EAA+N,KAA/N,EAAqO,IAArO,EAA0O,GAA1O,EAA8O,KAA9O,EAAoP,SAApP,EAA8P,SAA9P,EAAwQ,OAAxQ,EAAgR,OAAhR,EAAwR,IAAxR,EAA6R,OAA7R,EAAqS,IAArS,EAA0S,OAA1S,EAAkT,IAAlT,EAAuT,IAAvT,CAApX,EAAirB,KAAKC,oBAAL,GAA0B,CAAC,QAAD,EAAU,QAAV,EAAmB,OAAnB,EAA2B,QAA3B,EAAoC,UAApC,EAA+C,QAA/C,EAAwD,QAAxD,EAAiE,OAAjE,EAAyE,OAAzE,EAAiF,OAAjF,EAAyF,KAAzF,EAA+F,QAA/F,CAA3sB,EAAozB,KAAKC,cAAL,GAAoB,CAAC,QAAD,EAAU,OAAV,CAAx0B,EAA21B,KAAKC,YAAL,GAAkB,cAAY,KAAKX,aAAjB,GAA+BvvB,EAAE,CAACxyO,QAAlC,GAA2CwyO,EAAE,CAACxyO,QAAH,CAAY2iQ,cAAZ,CAA2BC,kBAA3B,CAA8C,EAA9C,CAAx5B;AAA08B;;AAAApC,MAAAA,iBAAiB,CAACliQ,CAAD,EAAG2K,CAAH,EAAK;AAAC,aAAKi5P,qBAAL,CAA2B9+P,GAA3B,CAA+B9E,CAA/B,EAAiC,IAAI+P,EAAJ,CAAOpF,CAAP,CAAjC;AAA4C;;AAAA45P,MAAAA,mBAAmB,CAACvkQ,CAAD,EAAG;AAAC,eAAO,KAAK4jQ,qBAAL,CAA2BnjS,GAA3B,CAA+Bu/B,CAA/B,CAAP;AAAyC;;AAAAmhQ,MAAAA,YAAY,CAACnhQ,CAAD,EAAG2K,CAAH,EAAK;AAAC,aAAK+4P,iBAAL,CAAuB5+P,GAAvB,CAA2B9E,CAA3B,EAA6B2K,CAA7B,GAAgC,KAAKg5P,iBAAL,CAAuB7+P,GAAvB,CAA2B6F,CAA3B,EAA6B3K,CAA7B,CAAhC;AAAgE;;AAAAkhQ,MAAAA,gBAAgB,CAAClhQ,CAAD,EAAG;AAAC,cAAM2K,CAAC,GAAC,KAAK+4P,iBAAL,CAAuBjjS,GAAvB,CAA2Bu/B,CAA3B,CAAR;;AAAsC,YAAG2K,CAAH,EAAK;AAAC,eAAK+4P,iBAAL,CAAuB9uP,MAAvB,CAA8B5U,CAA9B,GAAiC,KAAK2jQ,iBAAL,CAAuB/uP,MAAvB,CAA8BjK,CAA9B,CAAjC;;AAAkE,eAAI,MAAMA,CAAV,IAAexF,KAAK,CAAC7H,IAAN,CAAW0C,CAAC,CAAC14B,QAAb,CAAf,EAAsC,KAAK45R,gBAAL,CAAsBv2P,CAAtB;AAAyB;AAAC;;AAAA65P,MAAAA,qBAAqB,CAACxkQ,CAAD,EAAG2K,CAAH,EAAK;AAAC,aAAK+4P,iBAAL,CAAuB5+P,GAAvB,CAA2B9E,CAA3B,EAA6B2K,CAA7B,GAAgC,KAAKg5P,iBAAL,CAAuB7+P,GAAvB,CAA2B6F,CAA3B,EAA6B3K,CAA7B,CAAhC;AAAgE;;AAAAykQ,MAAAA,qBAAqB,CAACzkQ,CAAD,EAAG2K,CAAH,EAAKJ,CAAL,EAAO;AAAC,eAAM,WAAS,KAAKk5P,aAAd,IAA6B,CAAC,CAACzjQ,CAAC,GAACA,CAAC,CAACqH,WAAF,EAAH,EAAoBpF,UAApB,CAA+B,IAA/B,CAAD,IAAwC,CAAC,aAAWjC,CAAX,IAAc,CAAC2K,CAAC,CAACu/C,KAAF,CAAQ,wCAAR,CAAhB,MAAqE,UAAQ3/C,CAAR,KAAY,UAAQvK,CAAR,IAAW,aAAWA,CAAlC,KAAuC,aAAWuK,CAAX,IAAc,aAAWvK,CAAzB,IAA4B,CAAC2K,CAAC,CAACu/C,KAAF,CAAQ,mDAAR,CAAzI,CAA3E;AAAoR;;AAAAw6M,MAAAA,YAAY,CAAC1kQ,CAAD,EAAG2K,CAAH,EAAK;AAAC,YAAG,WAAS,KAAK84P,aAAjB,EAA+B,OAAO,MAAKzjQ,CAAC,CAACy3O,SAAF,GAAY9sO,CAAjB,CAAP;AAA2B,cAAMJ,CAAC,GAAE,IAAIo5O,SAAJ,EAAD,CAAgBC,eAAhB,CAAgCj5O,CAAhC,EAAkC,WAAlC,CAAR;AAAA,cAAuD4B,CAAC,GAAChC,CAAC,CAAC+3O,sBAAF,EAAzD;AAAA,cAAoF3rQ,CAAC,GAAC4zB,CAAC,CAAClzB,IAAF,CAAOssP,UAA7F;;AAAwG,eAAKhtP,CAAC,CAAChK,MAAF,GAAS,CAAd,GAAiB4/B,CAAC,CAACovC,WAAF,CAAchlE,CAAC,CAAC,CAAD,CAAf;;AAAoB,cAAM81B,CAAC,GAAClC,CAAC,CAACo6P,gBAAF,CAAmBp4P,CAAnB,EAAqBq4P,UAAU,CAACC,YAAhC,CAAR;AAAA,cAAsDv6P,CAAC,GAAC,EAAxD;AAA2D,YAAI83C,CAAJ;;AAAM,eAAKA,CAAC,GAAC31C,CAAC,CAACq4P,QAAF,EAAP,GAAqBx6P,CAAC,CAACrE,IAAF,CAAOm8C,CAAP;;AAAU,aAAI,MAAMpiD,CAAV,IAAesK,CAAf,EAAiB;AAAC,eAAI,MAAMK,CAAV,IAAe3K,CAAC,CAAC+kQ,iBAAF,EAAf,EAAqC,KAAKxD,sBAAL,CAA4BvhQ,CAA5B,EAA8B2K,CAA9B,EAAgC3K,CAAC,CAAC6hP,YAAF,CAAel3O,CAAf,CAAhC;;AAAmD,gBAAMA,CAAC,GAAC3K,CAAC,CAAC+5K,OAAF,CAAU1yK,WAAV,EAAR;AAAgC,eAAK29P,oBAAL,CAA0Br6P,CAA1B,MAA+Bs6P,EAAE,CAACt6P,CAAD,CAAF,EAAM3K,CAAC,CAACklQ,WAAF,CAAc,KAAKC,4BAAL,CAAkCx6P,CAAlC,EAAoC3K,CAApC,CAAd,CAArC;AAA4F;;AAAA,eAAKA,CAAC,CAAC8jO,UAAP,GAAmB9jO,CAAC,CAAC8jO,UAAF,CAAa7jJ,MAAb;;AAAsBjgF,QAAAA,CAAC,CAAC88C,MAAF,CAASvwC,CAAT;AAAY;;AAAA80P,MAAAA,SAAS,CAACrhQ,CAAD,EAAG2K,CAAC,GAAC,EAAL,EAAQ;AAAC,YAAG3K,CAAC,CAAC6qF,EAAF,CAAK,OAAL,CAAH,EAAiB;AAAC,gBAAMlgF,CAAC,GAAC,KAAKy6P,wBAAL,CAA8BplQ,CAA9B,CAAR;;AAAyC,iBAAO,KAAKokQ,YAAL,CAAkB1gC,cAAlB,CAAiC/4N,CAAjC,CAAP;AAA2C;;AAAA;AAAC,gBAAMJ,CAAC,GAACvK,CAAR;;AAAU,cAAG,KAAK6/P,YAAL,CAAkBt1P,CAAlB,CAAH,EAAwB;AAAC,gBAAG,CAACA,CAAC,CAAC+oP,iBAAF,CAAoB,gCAApB,CAAJ,EAA0D,OAAO,KAAKuM,YAAL,CAAkBt1P,CAAlB,CAAP;;AAA4B,iBAAKw5P,sCAAL,CAA4CnvQ,GAA5C,CAAgD2V,CAAhD;AAAmD;;AAAA,cAAIgC,CAAJ;AAAM,cAAGhC,CAAC,CAACsgF,EAAF,CAAK,kBAAL,CAAH,EAA4Bt+E,CAAC,GAAC,KAAK63P,YAAL,CAAkB9hB,sBAAlB,EAAF,EAA6C33O,CAAC,CAAC5V,IAAF,IAAQ,KAAKyvQ,qBAAL,CAA2Bj4P,CAA3B,EAA6BhC,CAA7B,CAArD,CAA5B,KAAqH;AAAC,gBAAGA,CAAC,CAACsgF,EAAF,CAAK,WAAL,CAAH,EAAqB,OAAOt+E,CAAC,GAAC,eAAahC,CAAC,CAAC/5B,IAAf,GAAoB,KAAK4zR,YAAL,CAAkBiB,aAAlB,CAAgC96P,CAAC,CAAC+oP,iBAAF,CAAoB,aAApB,CAAhC,CAApB,GAAwF/oP,CAAC,CAACq0O,MAAF,CAAS,KAAKwlB,YAAd,EAA2B,IAA3B,CAA1F,EAA2Hz5P,CAAC,CAAC5V,IAAF,IAAQ,KAAKosQ,YAAL,CAAkB50P,CAAlB,EAAoBhC,CAApB,CAAnI,EAA0JgC,CAAjK;AAAmK,iBAAKy4P,oBAAL,CAA0Bz6P,CAAC,CAAC/5B,IAA5B,KAAmCy0R,EAAE,CAAC16P,CAAC,CAAC/5B,IAAH,CAAF,EAAW+7B,CAAC,GAAC,KAAK44P,4BAAL,CAAkC56P,CAAC,CAAC/5B,IAApC,CAAhD,IAA2F+7B,CAAC,GAAChC,CAAC,CAAC2oP,YAAF,CAAe,OAAf,IAAwB,KAAKkR,YAAL,CAAkB17B,eAAlB,CAAkCn+N,CAAC,CAACs3O,YAAF,CAAe,OAAf,CAAlC,EAA0Dt3O,CAAC,CAAC/5B,IAA5D,CAAxB,GAA0F,KAAK4zR,YAAL,CAAkBv9P,aAAlB,CAAgC0D,CAAC,CAAC/5B,IAAlC,CAAvL,EAA+N+5B,CAAC,CAACsgF,EAAF,CAAK,YAAL,KAAoBtgF,CAAC,CAACq0O,MAAF,CAASryO,CAAT,EAAW,IAAX,CAAnP,EAAoQ5B,CAAC,CAAC5V,IAAF,IAAQ,KAAKosQ,YAAL,CAAkB50P,CAAlB,EAAoBhC,CAApB,CAA5Q;;AAAmS,iBAAI,MAAMvK,CAAV,IAAeuK,CAAC,CAAC2jP,gBAAF,EAAf,EAAoC,KAAKqT,sBAAL,CAA4Bh1P,CAA5B,EAA8BvM,CAA9B,EAAgCuK,CAAC,CAACs3O,YAAF,CAAe7hP,CAAf,CAAhC,EAAkDuK,CAAlD;AAAqD;AAAA,cAAG,CAAC,CAAD,KAAKI,CAAC,CAACi2P,YAAV,EAAuB,KAAI,MAAM5gQ,CAAV,IAAe,KAAK2gQ,iBAAL,CAAuBp2P,CAAvB,EAAyBI,CAAzB,CAAf,EAA2C4B,CAAC,CAACovC,WAAF,CAAc37C,CAAd;AAAiB,iBAAOuM,CAAP;AAAS;AAAC;;AAAAg1P,MAAAA,sBAAsB,CAACvhQ,CAAD,EAAG2K,CAAH,EAAKJ,CAAL,EAAOgC,CAAP,EAAS;AAAC,cAAM51B,CAAC,GAAC,KAAK8tR,qBAAL,CAA2B95P,CAA3B,EAA6BJ,CAA7B,EAA+BvK,CAAC,CAAC+5K,OAAF,CAAU1yK,WAAV,EAA/B,KAAyDkF,CAAC,IAAEA,CAAC,CAACknP,2BAAF,CAA8B9oP,CAA9B,CAApE;AAAqGh0B,QAAAA,CAAC,IAAEkzB,CAAC,CAAC,wCAAD,EAA0C;AAACy7P,UAAAA,UAAU,EAACtlQ,CAAZ;AAAc8F,UAAAA,GAAG,EAAC6E,CAAlB;AAAoBz5B,UAAAA,KAAK,EAACq5B;AAA1B,SAA1C,CAAJ,EAA4E,UAASvK,CAAT,EAAW;AAAC,cAAG;AAACk0O,YAAAA,EAAE,CAACxyO,QAAH,CAAY6jQ,eAAZ,CAA4BvlQ,CAA5B;AAA+B,WAAnC,CAAmC,OAAMA,CAAN,EAAQ;AAAC,mBAAM,CAAC,CAAP;AAAS;;AAAA,iBAAM,CAAC,CAAP;AAAS,SAA1E,CAA2E2K,CAA3E,KAA+E3K,CAAC,CAACkzP,YAAF,CAAevoP,CAAf,KAAmB,CAACh0B,CAApB,GAAsBqpB,CAAC,CAAC6jO,eAAF,CAAkBl5N,CAAlB,CAAtB,GAA2C3K,CAAC,CAACkzP,YAAF,CAAeoQ,EAAE,GAAC34P,CAAlB,KAAsBh0B,CAAtB,IAAyBqpB,CAAC,CAAC6jO,eAAF,CAAkBy/B,EAAE,GAAC34P,CAArB,CAApE,EAA4F3K,CAAC,CAAC07C,YAAF,CAAe/kE,CAAC,GAACg0B,CAAD,GAAG24P,EAAE,GAAC34P,CAAtB,EAAwBJ,CAAxB,CAA3K,IAAuMV,CAAC,CAAC,yCAAD,EAA2C;AAACy7P,UAAAA,UAAU,EAACtlQ,CAAZ;AAAc8F,UAAAA,GAAG,EAAC6E,CAAlB;AAAoBz5B,UAAAA,KAAK,EAACq5B;AAA1B,SAA3C,CAApR;AAA6V;;AAAAi3P,MAAAA,yBAAyB,CAACxhQ,CAAD,EAAG2K,CAAH,EAAK;AAACA,QAAAA,CAAC,IAAE44P,EAAH,KAAQvjQ,CAAC,CAAC6jO,eAAF,CAAkBl5N,CAAlB,GAAqB3K,CAAC,CAAC6jO,eAAF,CAAkBy/B,EAAE,GAAC34P,CAArB,CAA7B;AAAsD;;AAAkB,OAAjBg2P,iBAAiB,CAAC3gQ,CAAD,EAAG2K,CAAC,GAAC,EAAL,EAAQ;AAAC,cAAMJ,CAAC,GAACvK,CAAC,CAAC0zP,eAAF,IAAmB1zP,CAAC,CAAC0zP,eAAF,EAA3B;AAA+C,YAAInnP,CAAC,GAAC,CAAN;;AAAQ,aAAI,MAAM51B,CAAV,IAAeqpB,CAAC,CAACgkF,WAAF,EAAf,EAA+B;AAACz5E,UAAAA,CAAC,KAAGgC,CAAJ,KAAQ,MAAM,KAAKi5P,eAAL,EAAd;AAAsC,gBAAMxlQ,CAAC,GAACrpB,CAAC,CAACk0G,EAAF,CAAK,SAAL,KAAiB,CAAC,CAACl0G,CAAC,CAAC28Q,iBAAF,CAAoB,mCAApB,CAAnB,IAA6E,CAAChW,EAAE,CAAC3mQ,CAAC,CAACutG,aAAF,EAAD,CAAxF;AAA4GlkF,UAAAA,CAAC,IAAE,UAAQ,KAAKyjQ,aAAhB,GAA8B,OAAM,KAAK9C,iBAAL,CAAuBhqR,CAAvB,EAAyBg0B,CAAzB,CAApC,IAAiE3K,CAAC,IAAE6J,CAAC,CAAC,oEAAD,EAAsE;AAAC47P,YAAAA,WAAW,EAAC9uR;AAAb,WAAtE,CAAJ,EAA2F,MAAM,KAAK0qR,SAAL,CAAe1qR,CAAf,EAAiBg0B,CAAjB,CAAlK,GAAuL4B,CAAC,EAAxL;AAA2L;;AAAAhC,QAAAA,CAAC,KAAGgC,CAAJ,KAAQ,MAAM,KAAKi5P,eAAL,EAAd;AAAsC;;AAAAE,MAAAA,cAAc,CAAC1lQ,CAAD,EAAG;AAAC,cAAM2K,CAAC,GAAC,KAAK+vP,iBAAL,CAAuB16P,CAAC,CAACymF,KAAzB,CAAR;AAAA,cAAwCl8E,CAAC,GAAC,KAAKmwP,iBAAL,CAAuB16P,CAAC,CAAC0mF,GAAzB,CAA1C;AAAA,cAAwEn6E,CAAC,GAAC,KAAK63P,YAAL,CAAkBp9K,WAAlB,EAA1E;;AAA0G,eAAOz6E,CAAC,CAACo5P,QAAF,CAAWh7P,CAAC,CAACw2C,MAAb,EAAoBx2C,CAAC,CAAC0yE,MAAtB,GAA8B9wE,CAAC,CAACq5P,MAAF,CAASr7P,CAAC,CAAC42C,MAAX,EAAkB52C,CAAC,CAAC8yE,MAApB,CAA9B,EAA0D9wE,CAAjE;AAAmE;;AAAAmuP,MAAAA,iBAAiB,CAAC16P,CAAD,EAAG;AAAC,cAAM2K,CAAC,GAAC3K,CAAC,CAACmhD,MAAV;;AAAiB,YAAGx2C,CAAC,CAACkgF,EAAF,CAAK,OAAL,CAAH,EAAiB;AAAC,gBAAMtgF,CAAC,GAAC,KAAK62P,wBAAL,CAA8Bz2P,CAA9B,CAAR;AAAyC,cAAG,CAACJ,CAAJ,EAAM,OAAO,IAAP;AAAY,cAAIgC,CAAC,GAACvM,CAAC,CAACq9E,MAAR;AAAe,iBAAOwhL,EAAE,CAACt0P,CAAD,CAAF,KAAQgC,CAAC,IAAEoyP,EAAX,GAAe;AAACx9M,YAAAA,MAAM,EAAC52C,CAAR;AAAU8yE,YAAAA,MAAM,EAAC9wE;AAAjB,WAAtB;AAA0C;;AAAA;AAAC,cAAIhC,CAAJ,EAAMgC,CAAN,EAAQ51B,CAAR;;AAAU,cAAG,MAAIqpB,CAAC,CAACq9E,MAAT,EAAgB;AAAC,gBAAG9yE,CAAC,GAAC,KAAKs1P,YAAL,CAAkBl1P,CAAlB,CAAF,EAAuB,CAACJ,CAA3B,EAA6B,OAAO,IAAP;AAAY5zB,YAAAA,CAAC,GAAC4zB,CAAC,CAACo5N,UAAF,CAAa,CAAb,CAAF;AAAkB,WAA5E,MAAgF;AAAC,kBAAMh5N,CAAC,GAAC3K,CAAC,CAAC01P,UAAV;AAAqB,gBAAGnpP,CAAC,GAAC5B,CAAC,CAACkgF,EAAF,CAAK,OAAL,IAAc,KAAKu2K,wBAAL,CAA8Bz2P,CAA9B,CAAd,GAA+C,KAAKk1P,YAAL,CAAkBl1P,CAAlB,CAAjD,EAAsE,CAAC4B,CAA1E,EAA4E,OAAO,IAAP;AAAYhC,YAAAA,CAAC,GAACgC,CAAC,CAACqvC,UAAJ,EAAejlE,CAAC,GAAC41B,CAAC,CAACk7N,WAAnB;AAA+B;;AAAA,cAAG0M,EAAE,CAACx9P,CAAD,CAAF,IAAOkoR,EAAE,CAACloR,CAAD,CAAZ,EAAgB,OAAM;AAACwqE,YAAAA,MAAM,EAACxqE,CAAR;AAAU0mG,YAAAA,MAAM,EAACshL;AAAjB,WAAN;AAA2B,iBAAM;AAACx9M,YAAAA,MAAM,EAAC52C,CAAR;AAAU8yE,YAAAA,MAAM,EAAC9wE,CAAC,GAACorO,EAAE,CAACprO,CAAD,CAAF,GAAM,CAAP,GAAS;AAA3B,WAAN;AAAoC;AAAC;;AAAAo1P,MAAAA,SAAS,CAAC3hQ,CAAD,EAAG2K,CAAC,GAAC,EAAL,EAAQ;AAAC,cAAMJ,CAAC,GAAC,EAAR;AAAA,cAAWgC,CAAC,GAAC,KAAKs5P,UAAL,CAAgB7lQ,CAAhB,EAAkB2K,CAAlB,EAAoBJ,CAApB,CAAb;AAAA,cAAoC5zB,CAAC,GAAC41B,CAAC,CAAC3hC,IAAF,GAASsG,KAA/C;;AAAqD,eAAOyF,CAAC,IAAE41B,CAAC,CAAC3hC,IAAF,IAAS,KAAKk7R,sBAAL,CAA4B,IAA5B,EAAiCv7P,CAAjC,EAAmCI,CAAnC,CAAT,EAA+Ch0B,CAAC,CAACk0G,EAAF,CAAK,OAAL,KAAe,KAAGl0G,CAAC,CAAChP,IAAF,CAAOgF,MAAzB,GAAgC,IAAhC,GAAqCgK,CAAtF,IAAyF,IAAjG;AAAsG;;AAAkB,OAAjBovR,iBAAiB,CAAC/lQ,CAAD,EAAG2K,CAAC,GAAC,EAAL,EAAQJ,CAAC,GAAC,EAAV,EAAa;AAAC,aAAI,IAAIgC,CAAC,GAAC,CAAV,EAAYA,CAAC,GAACvM,CAAC,CAAC2jO,UAAF,CAAah3P,MAA3B,EAAkC4/B,CAAC,EAAnC,EAAsC;AAAC,gBAAM51B,CAAC,GAACqpB,CAAC,CAAC2jO,UAAF,CAAap3N,CAAb,CAAR;AAAA,gBAAwBE,CAAC,GAAC,KAAKo5P,UAAL,CAAgBlvR,CAAhB,EAAkBg0B,CAAlB,EAAoBJ,CAApB,CAA1B;AAAA,gBAAiDD,CAAC,GAACmC,CAAC,CAAC7hC,IAAF,GAASsG,KAA5D;;AAAkE,mBAAOo5B,CAAP,KAAW,KAAK07P,mBAAL,CAAyB17P,CAAzB,KAA6B,KAAKw7P,sBAAL,CAA4B9lQ,CAA5B,EAA8BuK,CAA9B,EAAgCI,CAAhC,CAA7B,EAAgE,MAAML,CAAtE,EAAwEmC,CAAC,CAAC7hC,IAAF,EAAnF;AAA6F;;AAAA,aAAKk7R,sBAAL,CAA4B9lQ,CAA5B,EAA8BuK,CAA9B,EAAgCI,CAAhC;AAAmC;;AAAAi4P,MAAAA,kBAAkB,CAAC5iQ,CAAD,EAAG;AAAC,YAAG,UAASA,CAAT,EAAW;AAAC,cAAG,CAACrpB,CAAC,CAACwtP,OAAN,EAAc,OAAM,CAAC,CAAP;AAAS,cAAG,CAACnkO,CAAC,CAACq3P,UAAN,EAAiB,OAAM,CAAC,CAAP;AAAS,gBAAM1sP,CAAC,GAAC3K,CAAC,CAACs6P,UAAF,CAAa,CAAb,EAAgB9jB,cAAxB;;AAAuC,cAAG;AAACr0O,YAAAA,MAAM,CAAC8H,SAAP,CAAiBiT,QAAjB,CAA0B/T,IAA1B,CAA+BwB,CAA/B;AAAkC,WAAtC,CAAsC,OAAM3K,CAAN,EAAQ;AAAC,mBAAM,CAAC,CAAP;AAAS;;AAAA,iBAAM,CAAC,CAAP;AAAS,SAArK,CAAsKA,CAAtK,CAAH,EAA4K,OAAO,IAAI+P,EAAJ,CAAO,EAAP,CAAP;;AAAkB,YAAG,MAAI/P,CAAC,CAACq3P,UAAT,EAAoB;AAAC,cAAI1sP,CAAC,GAAC3K,CAAC,CAACs6P,UAAF,CAAa,CAAb,EAAgB9jB,cAAtB;AAAqCrC,UAAAA,EAAE,CAACxpO,CAAD,CAAF,KAAQA,CAAC,GAACA,CAAC,CAACixC,UAAZ;AAAwB,gBAAMrxC,CAAC,GAAC,KAAKg6P,mBAAL,CAAyB55P,CAAzB,CAAR;AAAoC,cAAGJ,CAAH,EAAK,OAAOA,CAAP;AAAS;;AAAA,cAAMI,CAAC,GAAC,KAAKs7P,sBAAL,CAA4BjmQ,CAA5B,CAAR;AAAA,cAAuCuK,CAAC,GAAC,EAAzC;;AAA4C,aAAI,IAAII,CAAC,GAAC,CAAV,EAAYA,CAAC,GAAC3K,CAAC,CAACq3P,UAAhB,EAA2B1sP,CAAC,EAA5B,EAA+B;AAAC,gBAAM4B,CAAC,GAACvM,CAAC,CAACs6P,UAAF,CAAa3vP,CAAb,CAAR;AAAA,gBAAwBh0B,CAAC,GAAC,KAAKuvR,cAAL,CAAoB35P,CAApB,CAA1B;AAAiD51B,UAAAA,CAAC,IAAE4zB,CAAC,CAACtE,IAAF,CAAOtvB,CAAP,CAAH;AAAa;;AAAA,eAAO,IAAIo5B,EAAJ,CAAOxF,CAAP,EAAS;AAACytP,UAAAA,QAAQ,EAACrtP;AAAV,SAAT,CAAP;AAA8B;;AAAAu7P,MAAAA,cAAc,CAAClmQ,CAAD,EAAG;AAAC,cAAM2K,CAAC,GAAC,KAAK8vP,iBAAL,CAAuBz6P,CAAC,CAACw2O,cAAzB,EAAwCx2O,CAAC,CAACi/P,WAA1C,CAAR;AAAA,cAA+D10P,CAAC,GAAC,KAAKkwP,iBAAL,CAAuBz6P,CAAC,CAACmmQ,YAAzB,EAAsCnmQ,CAAC,CAAComQ,SAAxC,CAAjE;AAAoH,eAAOz7P,CAAC,IAAEJ,CAAH,GAAK,IAAIwrP,EAAJ,CAAOprP,CAAP,EAASJ,CAAT,CAAL,GAAiB,IAAxB;AAA6B;;AAAAkwP,MAAAA,iBAAiB,CAACz6P,CAAD,EAAG2K,CAAC,GAAC,CAAL,EAAO;AAAC,YAAG,KAAKq4P,aAAL,CAAmBhjQ,CAAnB,CAAH,EAAyB,OAAO,KAAKy6P,iBAAL,CAAuBz6P,CAAC,CAAC47C,UAAzB,EAAoC+7L,EAAE,CAAC33O,CAAD,CAAtC,CAAP;AAAkD,cAAMuK,CAAC,GAAC,KAAKw4P,YAAL,CAAkB/iQ,CAAlB,CAAR;AAA6B,YAAGuK,CAAC,KAAGA,CAAC,CAACsgF,EAAF,CAAK,WAAL,KAAmBtgF,CAAC,CAACsgF,EAAF,CAAK,YAAL,CAAtB,CAAJ,EAA8C,OAAO0lG,EAAE,CAAC+kE,aAAH,CAAiB/qP,CAAjB,CAAP;;AAA2B,YAAG4pO,EAAE,CAACn0O,CAAD,CAAL,EAAS;AAAC,cAAG8+P,EAAE,CAAC9+P,CAAD,CAAL,EAAS,OAAO,KAAKy6P,iBAAL,CAAuBz6P,CAAC,CAAC47C,UAAzB,EAAoC+7L,EAAE,CAAC33O,CAAD,CAAtC,CAAP;AAAkD,gBAAMuK,CAAC,GAAC,KAAK87P,yBAAL,CAA+BrmQ,CAA/B,CAAR;AAA0C,cAAIuM,CAAC,GAAC5B,CAAN;AAAQ,iBAAOJ,CAAC,IAAEs0P,EAAE,CAAC7+P,CAAD,CAAF,KAAQuM,CAAC,IAAEoyP,EAAH,EAAMpyP,CAAC,GAACA,CAAC,GAAC,CAAF,GAAI,CAAJ,GAAMA,CAAtB,GAAyB,IAAIgkL,EAAJ,CAAOhmL,CAAP,EAASgC,CAAT,CAA3B,IAAwC,IAAhD;AAAqD;;AAAA,YAAG,MAAI5B,CAAP,EAAS;AAAC,gBAAMA,CAAC,GAAC,KAAKo4P,YAAL,CAAkB/iQ,CAAlB,CAAR;AAA6B,cAAG2K,CAAH,EAAK,OAAO,IAAI4lL,EAAJ,CAAO5lL,CAAP,EAAS,CAAT,CAAP;AAAmB,SAA/D,MAAmE;AAAC,gBAAMJ,CAAC,GAACvK,CAAC,CAAC2jO,UAAF,CAAah5N,CAAC,GAAC,CAAf,CAAR;AAA0B,cAAGwpO,EAAE,CAAC5pO,CAAD,CAAF,IAAOu0P,EAAE,CAACv0P,CAAD,CAAT,IAAcA,CAAC,IAAE,KAAKy4P,aAAL,CAAmBz4P,CAAnB,CAApB,EAA0C,OAAO,KAAKkwP,iBAAL,CAAuBlwP,CAAC,CAACqxC,UAAzB,EAAoC+7L,EAAE,CAACptO,CAAD,CAAtC,CAAP;AAAkD,gBAAMgC,CAAC,GAAC4nO,EAAE,CAAC5pO,CAAD,CAAF,GAAM,KAAK87P,yBAAL,CAA+B97P,CAA/B,CAAN,GAAwC,KAAKw4P,YAAL,CAAkBx4P,CAAlB,CAAhD;AAAqE,cAAGgC,CAAC,IAAEA,CAAC,CAAC40C,MAAR,EAAe,OAAO,IAAIovI,EAAJ,CAAOhkL,CAAC,CAAC40C,MAAT,EAAgB50C,CAAC,CAACiV,KAAF,GAAQ,CAAxB,CAAP;AAAkC;;AAAA,eAAO,IAAP;AAAY;;AAAAuhP,MAAAA,YAAY,CAAC/iQ,CAAD,EAAG;AAAC,eAAO,KAAKsmQ,kBAAL,CAAwBtmQ,CAAxB,KAA4B,KAAK0jQ,iBAAL,CAAuBjjS,GAAvB,CAA2Bu/B,CAA3B,CAAnC;AAAiE;;AAAAqmQ,MAAAA,yBAAyB,CAACrmQ,CAAD,EAAG;AAAC,YAAG8+P,EAAE,CAAC9+P,CAAD,CAAL,EAAS,OAAO,IAAP;AAAY,cAAM2K,CAAC,GAAC,KAAK27P,kBAAL,CAAwBtmQ,CAAxB,CAAR;AAAmC,YAAG2K,CAAH,EAAK,OAAOA,CAAP;AAAS,cAAMJ,CAAC,GAACvK,CAAC,CAAC43O,eAAV;;AAA0B,YAAGrtO,CAAH,EAAK;AAAC,cAAG,CAAC,KAAKg3E,SAAL,CAAeh3E,CAAf,CAAJ,EAAsB,OAAO,IAAP;AAAY,gBAAMvK,CAAC,GAAC,KAAK+iQ,YAAL,CAAkBx4P,CAAlB,CAAR;;AAA6B,cAAGvK,CAAH,EAAK;AAAC,kBAAM2K,CAAC,GAAC3K,CAAC,CAACynO,WAAV;AAAsB,mBAAO98N,CAAC,YAAYqyM,EAAb,GAAgBryM,CAAhB,GAAkB,IAAzB;AAA8B;AAAC,SAAhI,MAAoI;AAAC,gBAAMA,CAAC,GAAC,KAAKo4P,YAAL,CAAkB/iQ,CAAC,CAAC47C,UAApB,CAAR;;AAAwC,cAAGjxC,CAAH,EAAK;AAAC,kBAAM3K,CAAC,GAAC2K,CAAC,CAACkiP,QAAF,CAAW,CAAX,CAAR;AAAsB,mBAAO7sP,CAAC,YAAYg9M,EAAb,GAAgBh9M,CAAhB,GAAkB,IAAzB;AAA8B;AAAC;;AAAA,eAAO,IAAP;AAAY;;AAAA6/P,MAAAA,YAAY,CAAC7/P,CAAD,EAAG;AAAC,eAAO,KAAK2jQ,iBAAL,CAAuBljS,GAAvB,CAA2Bu/B,CAA3B,CAAP;AAAqC;;AAAAohQ,MAAAA,wBAAwB,CAACphQ,CAAD,EAAG;AAAC,cAAM2K,CAAC,GAAC3K,CAAC,CAAC43O,eAAV;AAA0B,eAAOjtO,CAAC,IAAE,KAAKk1P,YAAL,CAAkBl1P,CAAlB,CAAH,GAAwB,KAAKk1P,YAAL,CAAkBl1P,CAAlB,EAAqB88N,WAA7C,GAAyD,CAAC98N,CAAD,IAAI3K,CAAC,CAACmhD,MAAN,IAAc,KAAK0+M,YAAL,CAAkB7/P,CAAC,CAACmhD,MAApB,CAAd,GAA0C,KAAK0+M,YAAL,CAAkB7/P,CAAC,CAACmhD,MAApB,EAA4BwiL,UAA5B,CAAuC,CAAvC,CAA1C,GAAoF,IAApJ;AAAyJ;;AAAA3wL,MAAAA,KAAK,CAAChzC,CAAD,EAAG;AAAC,cAAM2K,CAAC,GAAC,KAAKk1P,YAAL,CAAkB7/P,CAAlB,CAAR;;AAA6B,YAAG2K,CAAC,IAAEA,CAAC,CAACqoO,aAAF,CAAgB8vB,aAAhB,KAAgCn4P,CAAtC,EAAwC;AAAC,gBAAK;AAACsrO,YAAAA,OAAO,EAACj2O,CAAT;AAAWk2O,YAAAA,OAAO,EAAC3rO;AAAnB,cAAsB2pO,EAAE,CAAC/0P,MAA9B;AAAA,gBAAqCotB,CAAC,GAAC,EAAvC;AAA0Cg6P,UAAAA,EAAE,CAAC57P,CAAD,EAAI3K,CAAC,IAAE;AAAC,kBAAK;AAACm2O,cAAAA,UAAU,EAACxrO,CAAZ;AAActhB,cAAAA,SAAS,EAACkhB;AAAxB,gBAA2BvK,CAAhC;AAAkCuM,YAAAA,CAAC,CAACtG,IAAF,CAAO,CAAC0E,CAAD,EAAGJ,CAAH,CAAP;AAAc,WAAxD,CAAF,EAA6DI,CAAC,CAACqoC,KAAF,EAA7D,EAAuEuzN,EAAE,CAAC57P,CAAD,EAAI3K,CAAC,IAAE;AAAC,kBAAK,CAAC2K,CAAD,EAAGJ,CAAH,IAAMgC,CAAC,CAAC4xC,KAAF,EAAX;AAAqBn+C,YAAAA,CAAC,CAACm2O,UAAF,GAAaxrO,CAAb,EAAe3K,CAAC,CAAC3W,SAAF,GAAYkhB,CAA3B;AAA6B,WAA1D,CAAzE,EAAsI2pO,EAAE,CAAC/0P,MAAH,CAAU06P,QAAV,CAAmB75O,CAAnB,EAAqBuK,CAArB,CAAtI;AAA8J;AAAC;;AAAAi8P,MAAAA,kBAAkB,GAAE;AAAC,cAAMxmQ,CAAC,GAAC,KAAK6/P,YAAL,CAAkB,KAAKn+P,QAAL,CAAcooP,SAAd,CAAwBuK,eAA1C,CAAR;AAAmE,YAAG,CAACr0P,CAAJ,EAAM;AAAO,cAAM2K,CAAC,GAAC3K,CAAC,CAACgzO,aAAF,CAAgBF,WAAhB,CAA4BunB,YAA5B,EAAR;AAAA,cAAmD9vP,CAAC,GAAC,KAAKq4P,kBAAL,CAAwBj4P,CAAxB,CAArD;AAAgFJ,QAAAA,CAAC,IAAEA,CAAC,CAAC8sP,UAAF,GAAa,CAAhB,IAAmB1sP,CAAC,CAAC03P,eAAF,EAAnB;AAAuC;;AAAA9gL,MAAAA,SAAS,CAACvhF,CAAD,EAAG;AAAC,eAAOA,CAAC,IAAEA,CAAC,CAACgtO,QAAF,IAAYiG,IAAI,CAACyvB,YAA3B;AAAwC;;AAAA+D,MAAAA,kBAAkB,CAACzmQ,CAAD,EAAG;AAAC,eAAOA,CAAC,IAAEA,CAAC,CAACgtO,QAAF,IAAYiG,IAAI,CAACyzB,sBAA3B;AAAkD;;AAAA1D,MAAAA,aAAa,CAAChjQ,CAAD,EAAG;AAAC,eAAM,QAAM,KAAKwjQ,eAAX,GAA2BxjQ,CAAC,CAAC2mQ,WAAF,CAAcxD,EAAd,CAA3B,GAA6C,EAAE,SAAOnjQ,CAAC,CAAC+5K,OAAT,IAAkB,CAAC6sF,EAAE,CAAC5mQ,CAAD,EAAG,KAAKikQ,aAAR,CAArB,IAA6C,MAAIjkQ,CAAC,CAAC47C,UAAF,CAAa+nL,UAAb,CAAwBh3P,MAA3E,KAAqFqzB,CAAC,CAAC2mQ,WAAF,CAActD,EAAd,KAAmB,UAASrjQ,CAAT,EAAW2K,CAAX,EAAa;AAAC,gBAAMJ,CAAC,GAACvK,CAAC,CAAC2mQ,WAAF,CAAcvD,EAAd,CAAR;AAA0B,iBAAO74P,CAAC,IAAEq8P,EAAE,CAAC5mQ,CAAD,EAAG2K,CAAH,CAAL,IAAY,MAAI3K,CAAC,CAAC47C,UAAF,CAAa+nL,UAAb,CAAwBh3P,MAA/C;AAAsD,SAA9F,CAA+FqzB,CAA/F,EAAiG,KAAKikQ,aAAtG,CAA3J;AAAiR;;AAAAgC,MAAAA,sBAAsB,CAACjmQ,CAAD,EAAG;AAAC,YAAGA,CAAC,CAACg2P,WAAL,EAAiB,OAAM,CAAC,CAAP;;AAAS,cAAMrrP,CAAC,GAAC,KAAKy5P,YAAL,CAAkBp9K,WAAlB,EAAR;;AAAwC,YAAG;AAACr8E,UAAAA,CAAC,CAACg7P,QAAF,CAAW3lQ,CAAC,CAAC6iQ,UAAb,EAAwB7iQ,CAAC,CAAC6mQ,YAA1B,GAAwCl8P,CAAC,CAACi7P,MAAF,CAAS5lQ,CAAC,CAACu6P,SAAX,EAAqBv6P,CAAC,CAACw6P,WAAvB,CAAxC;AAA4E,SAAhF,CAAgF,OAAMx6P,CAAN,EAAQ;AAAC,iBAAM,CAAC,CAAP;AAAS;;AAAA,cAAMuK,CAAC,GAACI,CAAC,CAAC5a,SAAV;AAAoB,eAAO4a,CAAC,CAACopO,MAAF,IAAWxpO,CAAlB;AAAoB;;AAAA+7P,MAAAA,kBAAkB,CAACtmQ,CAAD,EAAG;AAAC,cAAM2K,CAAC,GAAC,UAAS3K,CAAT,EAAW;AAAC,gBAAM2K,CAAC,GAAC,EAAR;AAAW,cAAIJ,CAAC,GAACvK,CAAN;;AAAQ,iBAAKuK,CAAC,IAAEA,CAAC,CAACyiO,QAAF,IAAYiG,IAAI,CAAC6zB,aAAzB,GAAwCn8P,CAAC,CAACm+E,OAAF,CAAUv+E,CAAV,GAAaA,CAAC,GAACA,CAAC,CAACqxC,UAAjB;;AAA4B,iBAAOjxC,CAAP;AAAS,SAA5G,CAA6G3K,CAA7G,CAAR;;AAAwH,aAAI2K,CAAC,CAACpM,GAAF,EAAJ,EAAYoM,CAAC,CAACh+B,MAAd,GAAsB;AAAC,gBAAMqzB,CAAC,GAAC2K,CAAC,CAACpM,GAAF,EAAR;AAAA,gBAAgBgM,CAAC,GAAC,KAAKm5P,iBAAL,CAAuBjjS,GAAvB,CAA2Bu/B,CAA3B,CAAlB;;AAAgD,cAAGuK,CAAC,KAAGA,CAAC,CAACsgF,EAAF,CAAK,WAAL,KAAmBtgF,CAAC,CAACsgF,EAAF,CAAK,YAAL,CAAtB,CAAJ,EAA8C,OAAOtgF,CAAP;AAAS;;AAAA,eAAO,IAAP;AAAY;;AAAAo4P,MAAAA,qBAAqB,CAAC3iQ,CAAD,EAAG;AAAC,eAAO,KAAK+mQ,8BAAL,CAAoC/mQ,CAAC,CAAC6iQ,UAAtC,EAAiD7iQ,CAAC,CAAC6mQ,YAAnD,KAAkE,KAAKE,8BAAL,CAAoC/mQ,CAAC,CAACu6P,SAAtC,EAAgDv6P,CAAC,CAACw6P,WAAlD,CAAzE;AAAwI;;AAAAwM,MAAAA,yBAAyB,CAAChnQ,CAAD,EAAG;AAAC,aAAK6jQ,yBAAL,CAA+BjvQ,GAA/B,CAAmCoL,CAAnC;AAAsC;;AAAAinQ,MAAAA,2BAA2B,CAACjnQ,CAAD,EAAG;AAAC,aAAK8jQ,2BAAL,CAAiClvQ,GAAjC,CAAqCoL,CAArC;AAAwC;;AAAA0gQ,MAAAA,+BAA+B,GAAE;AAAC,aAAI,MAAM1gQ,CAAV,IAAe,KAAK+jQ,sCAApB,EAA2D/jQ,CAAC,CAACk0P,qBAAF,CAAwB,gCAAxB;;AAA0D,aAAK6P,sCAAL,CAA4CrlP,KAA5C;AAAoD;;AAAA8mP,MAAAA,eAAe,GAAE;AAAC,gBAAO,KAAKhC,eAAZ;AAA6B,eAAI,MAAJ;AAAW,mBAAOlF,EAAE,CAAC,KAAK8F,YAAN,CAAT;;AAA6B,eAAI,YAAJ;AAAiB,mBAAO7F,EAAE,CAAC,KAAK6F,YAAN,CAAT;;AAA6B,eAAI,IAAJ;AAAS,mBAAO1F,EAAE,CAAC,KAAK0F,YAAN,CAAT;AAA5H;AAA0J;;AAAA2C,MAAAA,8BAA8B,CAAC/mQ,CAAD,EAAG2K,CAAH,EAAK;AAAC,YAAGwpO,EAAE,CAACn0O,CAAD,CAAF,IAAO6+P,EAAE,CAAC7+P,CAAD,CAAT,IAAc2K,CAAC,GAACg0P,EAAnB,EAAsB,OAAM,CAAC,CAAP;AAAS,YAAG,KAAKp9K,SAAL,CAAevhF,CAAf,KAAmB6+P,EAAE,CAAC7+P,CAAC,CAAC2jO,UAAF,CAAah5N,CAAb,CAAD,CAAxB,EAA0C,OAAM,CAAC,CAAP;AAAS,cAAMJ,CAAC,GAAC,KAAKw4P,YAAL,CAAkB/iQ,CAAlB,CAAR;AAA6B,eAAM,CAACuK,CAAD,IAAI,CAACA,CAAC,CAACsgF,EAAF,CAAK,WAAL,CAAD,IAAoB,CAACtgF,CAAC,CAACsgF,EAAF,CAAK,YAAL,CAA/B;AAAkD;;AAAW,OAAVg7K,UAAU,CAAC7lQ,CAAD,EAAG2K,CAAH,EAAKJ,CAAL,EAAO;AAAC,YAAG,KAAKy4P,aAAL,CAAmBhjQ,CAAnB,CAAH,EAAyB,OAAO,IAAP;AAAY,cAAMuM,CAAC,GAAC,KAAK+5P,kBAAL,CAAwBtmQ,CAAxB,CAAR;AAAmC,YAAGuM,CAAH,EAAK,OAAOA,CAAP;AAAS,YAAGurO,EAAE,CAAC93O,CAAD,CAAF,IAAO2K,CAAC,CAACu8P,YAAZ,EAAyB,OAAO,IAAP;;AAAY,YAAG/yB,EAAE,CAACn0O,CAAD,CAAL,EAAS;AAAC,cAAG8+P,EAAE,CAAC9+P,CAAD,CAAL,EAAS,OAAO,IAAP;AAAY;AAAC,kBAAM2K,CAAC,GAAC3K,CAAC,CAACr4B,IAAV;AAAe,gBAAG,OAAKgjC,CAAR,EAAU,OAAO,IAAP;AAAY,kBAAM4B,CAAC,GAAC,IAAIywM,EAAJ,CAAO,KAAKt7M,QAAZ,EAAqBiJ,CAArB,CAAR;AAAgC,mBAAOJ,CAAC,CAACtE,IAAF,CAAOsG,CAAP,GAAUA,CAAjB;AAAmB;AAAC;;AAAA;AAAC,cAAIA,CAAC,GAAC,KAAKw2P,YAAL,CAAkB/iQ,CAAlB,CAAN;AAA2B,cAAGuM,CAAH,EAAK,OAAO,KAAK46P,sBAAL,CAA4B56P,CAA5B,KAAgChC,CAAC,CAACtE,IAAF,CAAOsG,CAAP,CAAhC,EAA0CA,CAAjD;AAAmD,cAAG,KAAKk6P,kBAAL,CAAwBzmQ,CAAxB,CAAH,EAA8BuM,CAAC,GAAC,IAAIwuP,EAAJ,CAAO,KAAKr5P,QAAZ,CAAF,EAAwBiJ,CAAC,CAAC5V,IAAF,IAAQ,KAAKyvQ,qBAAL,CAA2BxkQ,CAA3B,EAA6BuM,CAA7B,CAAhC,CAA9B,KAAkG;AAACA,YAAAA,CAAC,GAAC,KAAK66P,kBAAL,CAAwBpnQ,CAAxB,EAA0B2K,CAA1B,CAAF,EAA+BA,CAAC,CAAC5V,IAAF,IAAQ,KAAKosQ,YAAL,CAAkBnhQ,CAAlB,EAAoBuM,CAApB,CAAvC;AAA8D,kBAAM51B,CAAC,GAACqpB,CAAC,CAACikF,UAAV;AAAqB,gBAAGttG,CAAH,EAAK,KAAI,IAAIqpB,CAAC,GAACrpB,CAAC,CAAChK,MAAR,EAAeg+B,CAAC,GAAC,CAArB,EAAuBA,CAAC,GAAC3K,CAAzB,EAA2B2K,CAAC,EAA5B,EAA+B4B,CAAC,CAAConP,aAAF,CAAgBh9Q,CAAC,CAACg0B,CAAD,CAAD,CAAKn6B,IAArB,EAA0BmG,CAAC,CAACg0B,CAAD,CAAD,CAAKz5B,KAA/B;AAAsC,gBAAG,KAAKm2R,4BAAL,CAAkC96P,CAAlC,EAAoC5B,CAApC,CAAH,EAA0C,OAAO4B,CAAC,CAAC0nP,kBAAF,CAAqB,aAArB,EAAmCj0P,CAAC,CAACy3O,SAArC,GAAgD,KAAKuuB,mBAAL,CAAyBz5P,CAAzB,KAA6BhC,CAAC,CAACtE,IAAF,CAAOsG,CAAP,CAA7E,EAAuFA,CAA9F;AAAgG,gBAAGurO,EAAE,CAAC93O,CAAD,CAAL,EAAS,OAAOuM,CAAC,CAAC0nP,kBAAF,CAAqB,aAArB,EAAmCj0P,CAAC,CAACr4B,IAArC,GAA2C4kC,CAAlD;AAAoD;AAAA,gBAAMA,CAAN;AAAQ,gBAAM51B,CAAC,GAAC,EAAR;AAAW,cAAG,CAAC,CAAD,KAAKg0B,CAAC,CAACi2P,YAAV,EAAuB,KAAI,MAAMr2P,CAAV,IAAe,KAAKw7P,iBAAL,CAAuB/lQ,CAAvB,EAAyB2K,CAAzB,EAA2Bh0B,CAA3B,CAAf,EAA6C41B,CAAC,CAACw5E,YAAF,CAAex7E,CAAf;AAAkB,cAAG,KAAK48P,sBAAL,CAA4B56P,CAA5B,CAAH,EAAkChC,CAAC,CAACtE,IAAF,CAAOsG,CAAP,EAAlC,KAAiD,KAAI,MAAMvM,CAAV,IAAerpB,CAAf,EAAiB4zB,CAAC,CAACtE,IAAF,CAAOjG,CAAP;AAAU;AAAC;;AAAA8lQ,MAAAA,sBAAsB,CAAC9lQ,CAAD,EAAG2K,CAAH,EAAKJ,CAAL,EAAO;AAAC,YAAG,CAACI,CAAC,CAACh+B,MAAN,EAAa;AAAO,YAAGqzB,CAAC,IAAE,CAAC,KAAKymQ,kBAAL,CAAwBzmQ,CAAxB,CAAJ,IAAgC,CAAC,KAAKsnQ,kBAAL,CAAwBtnQ,CAAxB,CAApC,EAA+D;AAAO,YAAIuM,CAAC,GAAC,CAAC,CAAP;;AAAS,aAAI,IAAIvM,CAAC,GAAC,CAAV,EAAYA,CAAC,GAAC2K,CAAC,CAACh+B,MAAhB,EAAuBqzB,CAAC,EAAxB,EAA2B;AAAC,gBAAMrpB,CAAC,GAACg0B,CAAC,CAAC3K,CAAD,CAAT;;AAAa,cAAG,CAACrpB,CAAC,CAACk0G,EAAF,CAAK,OAAL,CAAJ,EAAkB;AAACt+E,YAAAA,CAAC,GAAC,CAAC,CAAH;AAAK;AAAS;;AAAA,cAAIE,CAAJ;AAAA,cAAMnC,CAAC,GAAC,CAAC,CAAT;AAAW,cAAGi9P,EAAE,CAAC5wR,CAAD,EAAG,KAAKqtR,WAAR,CAAL,EAA0Bv3P,CAAC,GAACsyP,EAAE,CAACpoR,CAAC,CAAChP,IAAH,CAAJ,CAA1B,KAA2C;AAAC8kC,YAAAA,CAAC,GAAC91B,CAAC,CAAChP,IAAF,CAAO0X,OAAP,CAAe,gBAAf,EAAgC,GAAhC,CAAF,EAAuCirB,CAAC,GAAC,cAAcjV,IAAd,CAAmBoX,CAAC,CAAC8a,MAAF,CAAS9a,CAAC,CAAC9/B,MAAF,GAAS,CAAlB,CAAnB,CAAzC;AAAkF,kBAAMy1E,CAAC,GAACpiD,CAAC,GAAC,CAAF,GAAI2K,CAAC,CAAC3K,CAAC,GAAC,CAAH,CAAL,GAAW,IAAnB;AAAA,kBAAwB29I,CAAC,GAAC39I,CAAC,GAAC,CAAF,GAAI2K,CAAC,CAACh+B,MAAN,GAAag+B,CAAC,CAAC3K,CAAC,GAAC,CAAH,CAAd,GAAoB,IAA9C;AAAA,kBAAmDksL,CAAC,GAAC,CAAC9pI,CAAD,IAAIA,CAAC,CAACyoC,EAAF,CAAK,SAAL,KAAiB,QAAMzoC,CAAC,CAAC5xE,IAA7B,IAAmC+7B,CAAxF;AAAA,kBAA0F3C,CAAC,GAAC,CAAC+zI,CAAD,IAAI,CAACkhH,EAAE,CAACloR,CAAC,CAAChP,IAAH,CAAnG;AAA4G,aAAC,CAAD,KAAK4iC,CAAC,CAACq2P,YAAP,KAAsB10E,CAAC,KAAGz/K,CAAC,GAACA,CAAC,CAACptB,OAAF,CAAU,IAAV,EAAe,EAAf,CAAL,CAAD,EAA0BuqB,CAAC,KAAG6C,CAAC,GAACA,CAAC,CAACptB,OAAF,CAAU,IAAV,EAAe,EAAf,CAAL,CAAjD,GAA2EotB,CAAC,GAACsyP,EAAE,CAACtyP,CAAD,CAA/E,EAAmFA,CAAC,GAACA,CAAC,CAACptB,OAAF,CAAU,UAAV,EAAqB,IAArB,CAArF;AAAgH,kBAAMu3J,CAAC,GAAC+G,CAAC,IAAEA,CAAC,CAAC9yD,EAAF,CAAK,SAAL,CAAH,IAAoB,QAAM8yD,CAAC,CAACntK,IAApC;AAAA,kBAAyCsU,CAAC,GAAC64J,CAAC,IAAEA,CAAC,CAAC9yD,EAAF,CAAK,OAAL,CAAH,IAAkB,OAAK8yD,CAAC,CAACh2K,IAAF,CAAO4/C,MAAP,CAAc,CAAd,CAAlE;AAAmF,aAAC,mBAAmBlyB,IAAnB,CAAwBoX,CAAxB,KAA4B,CAACkxI,CAA7B,IAAgC/G,CAAhC,IAAmC9xJ,CAApC,MAAyC2nB,CAAC,GAACA,CAAC,CAACptB,OAAF,CAAU,SAAV,EAAoB,GAApB,CAA3C,GAAqE,CAAC6sM,CAAC,IAAE9pI,CAAC,IAAEA,CAAC,CAACyoC,EAAF,CAAK,SAAL,CAAH,IAAoB,QAAMzoC,CAAC,CAAC5xE,IAAhC,MAAwCi8B,CAAC,GAACA,CAAC,CAACptB,OAAF,CAAU,SAAV,EAAoB,GAApB,CAA1C,CAArE;AAAyI;AAAA,eAAGotB,CAAC,CAAC9/B,MAAL,IAAagK,CAAC,CAACwqE,MAAf,IAAuBxqE,CAAC,CAACsmQ,OAAF,IAAYtyO,CAAC,CAACw4F,MAAF,CAASnjG,CAAT,EAAW,CAAX,CAAZ,EAA0BA,CAAC,EAAlD,KAAuDrpB,CAAC,CAAC8rG,KAAF,GAAQh2E,CAAR,EAAUF,CAAC,GAACjC,CAAnE;AAAsE;;AAAAK,QAAAA,CAAC,CAACh+B,MAAF,GAAS,CAAT;AAAW;;AAAAy4R,MAAAA,wBAAwB,CAACplQ,CAAD,EAAG;AAAC,YAAI2K,CAAC,GAAC3K,CAAC,CAACr4B,IAAR;AAAa,YAAGq4B,CAAC,CAACitP,YAAF,GAAiBpxQ,IAAjB,CAAuBmkB,CAAC,IAAE,KAAKgkQ,WAAL,CAAiB73R,QAAjB,CAA0B6zB,CAAC,CAACxvB,IAA5B,CAA1B,CAAH,EAAiE,OAAOm6B,CAAP;;AAAS,YAAG,OAAKA,CAAC,CAAC4c,MAAF,CAAS,CAAT,CAAR,EAAoB;AAAC,gBAAMhd,CAAC,GAAC,KAAKi9P,0BAAL,CAAgCxnQ,CAAhC,EAAkC,CAAC,CAAnC,CAAR;;AAA8C,YAAEuK,CAAC,IAAEA,CAAC,CAACsgF,EAAF,CAAK,YAAL,CAAH,IAAuB,KAAK48K,kBAAL,CAAwBl9P,CAAxB,CAAzB,KAAsDA,CAAtD,KAA0DI,CAAC,GAAC,MAAIA,CAAC,CAACs0G,MAAF,CAAS,CAAT,CAAhE;AAA6E;;AAAA,YAAG,OAAKt0G,CAAC,CAAC4c,MAAF,CAAS5c,CAAC,CAACh+B,MAAF,GAAS,CAAlB,CAAR,EAA6B;AAAC,gBAAM49B,CAAC,GAAC,KAAKi9P,0BAAL,CAAgCxnQ,CAAhC,EAAkC,CAAC,CAAnC,CAAR;AAAA,gBAA8CuM,CAAC,GAAChC,CAAC,IAAEA,CAAC,CAACsgF,EAAF,CAAK,YAAL,CAAH,IAAuB,OAAKtgF,CAAC,CAAC5iC,IAAF,CAAO4/C,MAAP,CAAc,CAAd,CAA5E;;AAA6F,iBAAK5c,CAAC,CAAC4c,MAAF,CAAS5c,CAAC,CAACh+B,MAAF,GAAS,CAAlB,CAAL,IAA2B49B,CAA3B,IAA8B,CAACgC,CAA/B,KAAmC5B,CAAC,GAACA,CAAC,CAACs0G,MAAF,CAAS,CAAT,EAAWt0G,CAAC,CAACh+B,MAAF,GAAS,CAApB,IAAuB,GAA5D;AAAiE;;AAAA,eAAOg+B,CAAC,CAACtrB,OAAF,CAAU,OAAV,EAAkB,IAAlB,CAAP;AAA+B;;AAAAooR,MAAAA,kBAAkB,CAACznQ,CAAD,EAAG;AAAC,YAAGA,CAAC,CAACitP,YAAF,GAAiBpxQ,IAAjB,CAAuBmkB,CAAC,IAAE,KAAKgkQ,WAAL,CAAiB73R,QAAjB,CAA0B6zB,CAAC,CAACxvB,IAA5B,CAA1B,CAAH,EAAiE,OAAM,CAAC,CAAP;;AAAS,cAAMm6B,CAAC,GAAC,KAAKy6P,wBAAL,CAA8BplQ,CAA9B,CAAR;;AAAyC,eAAM,OAAK2K,CAAC,CAAC4c,MAAF,CAAS5c,CAAC,CAACh+B,MAAF,GAAS,CAAlB,CAAX;AAAgC;;AAAA66R,MAAAA,0BAA0B,CAACxnQ,CAAD,EAAG2K,CAAH,EAAK;AAAC,cAAMJ,CAAC,GAAC,IAAIgkL,EAAJ,CAAO;AAAC5nG,UAAAA,aAAa,EAACh8E,CAAC,GAAC4lL,EAAE,CAAC4kE,YAAH,CAAgBn1P,CAAhB,CAAD,GAAoBuwL,EAAE,CAAC+kE,aAAH,CAAiBt1P,CAAjB,CAApC;AAAwD0zM,UAAAA,SAAS,EAAC/oM,CAAC,GAAC,SAAD,GAAW;AAA9E,SAAP,CAAR;;AAA0G,aAAI,MAAM3K,CAAV,IAAeuK,CAAf,EAAiB;AAAC,cAAGvK,CAAC,CAACxlB,IAAF,CAAOqwG,EAAP,CAAU,SAAV,EAAoB,IAApB,CAAH,EAA6B,OAAO,IAAP;AAAY,cAAG,KAAKs8K,sBAAL,CAA4BnnQ,CAAC,CAACxlB,IAA9B,CAAH,EAAuC,OAAOwlB,CAAC,CAACxlB,IAAT;AAAc,cAAGwlB,CAAC,CAACxlB,IAAF,CAAOqwG,EAAP,CAAU,kBAAV,CAAH,EAAiC,OAAO,IAAP;AAAY,cAAG7qF,CAAC,CAACxlB,IAAF,CAAOqwG,EAAP,CAAU,YAAV,CAAH,EAA2B,OAAO7qF,CAAC,CAACxlB,IAAT;AAAc;;AAAA,eAAO,IAAP;AAAY;;AAAA8sR,MAAAA,kBAAkB,CAACtnQ,CAAD,EAAG;AAAC,eAAO,KAAKuhF,SAAL,CAAevhF,CAAf,KAAmB,KAAKikQ,aAAL,CAAmB93R,QAAnB,CAA4B6zB,CAAC,CAAC+5K,OAAF,CAAU1yK,WAAV,EAA5B,CAA1B;AAA+E;;AAAA2+P,MAAAA,mBAAmB,CAAChmQ,CAAD,EAAG;AAAC,eAAOA,CAAC,CAAC6qF,EAAF,CAAK,SAAL,KAAiB,KAAKo5K,aAAL,CAAmB93R,QAAnB,CAA4B6zB,CAAC,CAACxvB,IAA9B,CAAxB;AAA4D;;AAAA22R,MAAAA,sBAAsB,CAACnnQ,CAAD,EAAG;AAAC,eAAM,CAAC,CAACA,CAAC,CAAC6qF,EAAF,CAAK,SAAL,CAAF,KAAoB,QAAM7qF,CAAC,CAACxvB,IAAR,IAAc,KAAK0zR,oBAAL,CAA0B/3R,QAA1B,CAAmC6zB,CAAC,CAACxvB,IAArC,CAAd,IAA0D,CAAC,CAAC,KAAKszR,2BAAL,CAAiC55M,KAAjC,CAAuClqD,CAAvC,CAAhF,CAAN;AAAiI;;AAAAonQ,MAAAA,kBAAkB,CAACpnQ,CAAD,EAAG2K,CAAH,EAAK;AAAC,YAAGmtO,EAAE,CAAC93O,CAAD,CAAL,EAAS,OAAO,IAAIg6P,EAAJ,CAAO,KAAKt4P,QAAZ,EAAqB,UAArB,CAAP;AAAwC,cAAM6I,CAAC,GAACI,CAAC,CAAC+8P,gBAAF,GAAmB1nQ,CAAC,CAAC+5K,OAArB,GAA6B/5K,CAAC,CAAC+5K,OAAF,CAAU1yK,WAAV,EAArC;AAA6D,eAAO,IAAIqrP,EAAJ,CAAO,KAAKhxP,QAAZ,EAAqB6I,CAArB,CAAP;AAA+B;;AAAA88P,MAAAA,4BAA4B,CAACrnQ,CAAD,EAAG2K,CAAH,EAAK;AAAC,eAAM,CAAC,CAAD,KAAKA,CAAC,CAACi2P,YAAP,IAAqB5gQ,CAAC,CAAC6qF,EAAF,CAAK,SAAL,CAArB,IAAsC,CAAC,CAAC,KAAKg5K,yBAAL,CAA+B35M,KAA/B,CAAqClqD,CAArC,CAA9C;AAAsF;;AAAAglQ,MAAAA,oBAAoB,CAAChlQ,CAAD,EAAG;AAAC,cAAM2K,CAAC,GAAC3K,CAAC,CAACqH,WAAF,EAAR;AAAwB,eAAM,cAAY,KAAKo8P,aAAjB,IAAgC,KAAKU,cAAL,CAAoBh4R,QAApB,CAA6Bw+B,CAA7B,CAAtC;AAAsE;;AAAAw6P,MAAAA,4BAA4B,CAACnlQ,CAAD,EAAG2K,CAAH,EAAK;AAAC,cAAMJ,CAAC,GAAC,KAAK65P,YAAL,CAAkBv9P,aAAlB,CAAgC,MAAhC,CAAR;;AAAgD,YAAG0D,CAAC,CAACmxC,YAAF,CAAe6nN,EAAf,EAAkBvjQ,CAAlB,GAAqB2K,CAAxB,EAA0B;AAAC,iBAAKA,CAAC,CAACm5N,UAAP,GAAmBv5N,CAAC,CAACoxC,WAAF,CAAchxC,CAAC,CAACm5N,UAAhB;;AAA4B,eAAI,MAAM9jO,CAAV,IAAe2K,CAAC,CAACo6P,iBAAF,EAAf,EAAqCx6P,CAAC,CAACmxC,YAAF,CAAe17C,CAAf,EAAiB2K,CAAC,CAACk3O,YAAF,CAAe7hP,CAAf,CAAjB;AAAoC;;AAAA,eAAOuK,CAAP;AAAS;;AAAxib;;AAAyib,aAASg9P,EAAT,CAAYvnQ,CAAZ,EAAc2K,CAAd,EAAgB;AAAC,aAAO3K,CAAC,CAACitP,YAAF,GAAiBpxQ,IAAjB,CAAuBmkB,CAAC,IAAEA,CAAC,CAAC6qF,EAAF,CAAK,SAAL,KAAiBlgF,CAAC,CAACx+B,QAAF,CAAW6zB,CAAC,CAACxvB,IAAb,CAA3C,CAAP;AAAuE;;AAAA,aAAS+1R,EAAT,CAAYvmQ,CAAZ,EAAc2K,CAAd,EAAgB;AAAC,UAAIJ,CAAC,GAACvK,CAAN;;AAAQ,aAAKuK,CAAL,GAAQI,CAAC,CAACJ,CAAD,CAAD,EAAKA,CAAC,GAACA,CAAC,CAAC63P,aAAT;AAAuB;;AAAA,aAASwE,EAAT,CAAY5mQ,CAAZ,EAAc2K,CAAd,EAAgB;AAAC,YAAMJ,CAAC,GAACvK,CAAC,CAAC47C,UAAV;AAAqB,aAAM,CAAC,CAACrxC,CAAF,IAAK,CAAC,CAACA,CAAC,CAACwvK,OAAT,IAAkBpvK,CAAC,CAACx+B,QAAF,CAAWo+B,CAAC,CAACwvK,OAAF,CAAU1yK,WAAV,EAAX,CAAxB;AAA4D;;AAAA,aAAS49P,EAAT,CAAYjlQ,CAAZ,EAAc;AAAC,mBAAWA,CAAX,IAAc6J,CAAC,CAAC,6CAAD,CAAf,EAA+D,YAAU7J,CAAV,IAAa6J,CAAC,CAAC,4CAAD,CAA7E;AAA4H;;AAAA,UAAM89P,EAAN,SAAiBv0B,EAAE,EAAnB,CAAsB;AAAC3zQ,MAAAA,WAAW,CAACugC,CAAD,EAAG;AAAC,iBAAQ,KAAK4nQ,UAAL,GAAgB,CAAC,CAAzB,EAA2B,KAAK9xF,IAAL,GAAU91K,CAArC,EAAuC,KAAK0B,QAAL,GAAc1B,CAAC,CAAC0B,QAAvD;AAAgE;;AAAa,UAAT24H,SAAS,GAAE;AAAC,eAAO,KAAKutI,UAAZ;AAAuB;;AAAA71Q,MAAAA,MAAM,GAAE;AAAC,aAAK61Q,UAAL,GAAgB,CAAC,CAAjB;AAAmB;;AAAA51Q,MAAAA,OAAO,GAAE;AAAC,aAAK41Q,UAAL,GAAgB,CAAC,CAAjB;AAAmB;;AAAAjpL,MAAAA,OAAO,GAAE;AAAC,aAAK3sF,OAAL,IAAe,KAAK0zO,aAAL,EAAf;AAAoC;;AAAAmiC,MAAAA,gCAAgC,CAAC7nQ,CAAD,EAAG;AAAC,eAAOA,CAAC,IAAE,MAAIA,CAAC,CAACgtO,QAAT,KAAoBhtO,CAAC,GAACA,CAAC,CAAC47C,UAAxB,GAAoC,EAAE,CAAC57C,CAAD,IAAI,MAAIA,CAAC,CAACgtO,QAAZ,KAAuBhtO,CAAC,CAACyqD,OAAF,CAAU,sDAAV,CAAlE;AAAoI;;AAAtY;;AAAuY,UAAMq9M,EAAE,GAAC9W,EAAE,CAAE,UAAShxP,CAAT,EAAW2K,CAAX,EAAa;AAAC4hO,MAAAA,EAAE,CAAC5hO,CAAD,EAAGmkO,EAAE,CAACnkO,CAAD,CAAL,EAAS3K,CAAT,CAAF;AAAc,KAA9B,CAAX;;AAA4C,UAAM+nQ,EAAN,CAAQ;AAACtoS,MAAAA,WAAW,CAACugC,CAAD,EAAG2K,CAAH,EAAKJ,CAAL,EAAO;AAAC,aAAKurK,IAAL,GAAU91K,CAAV,EAAY,KAAK0B,QAAL,GAAc1B,CAAC,CAAC0B,QAA5B,EAAqC,KAAKsmQ,QAAL,GAAcr9P,CAAnD,EAAqD,KAAKyvP,SAAL,GAAezvP,CAAC,CAACijB,MAAtE,EAA6Ek6O,EAAE,CAAC,IAAD,EAAMv9P,CAAN,CAA/E;AAAwF;;AAAU,UAANqjB,MAAM,GAAE;AAAC,eAAO,KAAKkoJ,IAAL,CAAU8kF,YAAV,CAAuBmI,YAAvB,CAAoC,KAAK3I,SAAzC,CAAP;AAA2D;;AAAA7lN,MAAAA,cAAc,GAAE;AAAC,aAAKyzN,QAAL,CAAczzN,cAAd;AAA+B;;AAAAy1K,MAAAA,eAAe,GAAE;AAAC,aAAKg+C,QAAL,CAAch+C,eAAd;AAAgC;;AAAtR;;AAAuR,UAAMi+C,EAAN,SAAiBN,EAAjB,CAAmB;AAACloS,MAAAA,WAAW,GAAE;AAAC,cAAM,GAAG+qC,SAAT,GAAoB,KAAK8iI,UAAL,GAAgB,CAAC,CAArC;AAAuC;;AAAA2pG,MAAAA,OAAO,CAACj3O,CAAD,EAAG;AAAC,SAAC,YAAU,OAAO,KAAKkoQ,YAAtB,GAAmC,CAAC,KAAKA,YAAN,CAAnC,GAAuD,KAAKA,YAA7D,EAA2EriQ,OAA3E,CAAoF8E,CAAC,IAAE;AAAC,eAAK66N,QAAL,CAAcxlO,CAAd,EAAgB2K,CAAhB,EAAmB,CAAC3K,CAAD,EAAG2K,CAAH,KAAO;AAAC,iBAAK0vH,SAAL,IAAgB,CAAC,KAAKwtI,gCAAL,CAAsCl9P,CAAC,CAACijB,MAAxC,CAAjB,IAAkE,KAAKu6O,UAAL,CAAgBx9P,CAAhB,CAAlE;AAAqF,WAAhH,EAAkH;AAAC2iI,YAAAA,UAAU,EAAC,KAAKA;AAAjB,WAAlH;AAAgJ,SAAxO;AAA2O;;AAAA86H,MAAAA,aAAa,CAACpoQ,CAAD,EAAG;AAAC,aAAK0lO,aAAL,CAAmB1lO,CAAnB;AAAsB;;AAAA0lF,MAAAA,IAAI,CAAC1lF,CAAD,EAAG2K,CAAH,EAAKJ,CAAL,EAAO;AAAC,aAAK8vH,SAAL,IAAgB,KAAK34H,QAAL,CAAcgkF,IAAd,CAAmB1lF,CAAnB,EAAqB,IAAI+nQ,EAAJ,CAAO,KAAKjyF,IAAZ,EAAiBnrK,CAAjB,EAAmBJ,CAAnB,CAArB,CAAhB;AAA4D;;AAA3Z;;AAA4Z,UAAM89P,EAAN,SAAiBJ,EAAjB,CAAmB;AAACxoS,MAAAA,WAAW,GAAE;AAAC,cAAM,GAAG+qC,SAAT,GAAoB,KAAK09P,YAAL,GAAkB,CAAC,SAAD,EAAW,OAAX,CAAtC;AAA0D;;AAAAC,MAAAA,UAAU,CAACnoQ,CAAD,EAAG;AAAC,cAAM2K,CAAC,GAAC;AAAC0wO,UAAAA,OAAO,EAACr7O,CAAC,CAACq7O,OAAX;AAAmBC,UAAAA,MAAM,EAACt7O,CAAC,CAACs7O,MAA5B;AAAmCC,UAAAA,OAAO,EAACv7O,CAAC,CAACu7O,OAA7C;AAAqDC,UAAAA,QAAQ,EAACx7O,CAAC,CAACw7O,QAAhE;AAAyEC,UAAAA,OAAO,EAACz7O,CAAC,CAACy7O,OAAnF;;AAA2F,cAAIqJ,SAAJ,GAAe;AAAC,mBAAO5/J,EAAE,CAAC,IAAD,CAAT;AAAgB;;AAA3H,SAAR;AAAqI,aAAKQ,IAAL,CAAU1lF,CAAC,CAAC/oB,IAAZ,EAAiB+oB,CAAjB,EAAmB2K,CAAnB;AAAsB;;AAAlP;;AAAmP,UAAM29P,EAAE,GAAC,YAAU;AAAC,aAAOvgC,EAAE,CAAChgN,IAAH,CAAQ+e,GAAR,EAAP;AAAqB,KAAzC;;AAA0C,QAAIyhO,EAAE,GAAC,IAAP;;AAAY,UAAMC,EAAE,GAAC,UAASxoQ,CAAT,EAAW;AAAC,WAAI,IAAI2K,CAAC,GAAC3K,CAAC,CAACrzB,MAAZ,EAAmBg+B,CAAC,MAAI49P,EAAE,CAAClzQ,IAAH,CAAQ2K,CAAC,CAACunB,MAAF,CAAS5c,CAAT,CAAR,CAAxB,EAA8C;;AAAC,aAAOA,CAAP;AAAS,KAA7E;;AAA8E,QAAI89P,EAAE,GAAC,MAAP;;AAAc,UAAMC,EAAE,GAAC,UAAS1oQ,CAAT,EAAW;AAAC,aAAOA,CAAC,GAACA,CAAC,CAAC04E,KAAF,CAAQ,CAAR,EAAU8vL,EAAE,CAACxoQ,CAAD,CAAF,GAAM,CAAhB,EAAmB3gB,OAAnB,CAA2BopR,EAA3B,EAA8B,EAA9B,CAAD,GAAmCzoQ,CAA3C;AAA6C,KAAlE;;AAAmE,QAAI2oQ,EAAE,GAAC,oBAAP;AAAA,QAA4BC,EAAE,GAAC,YAA/B;AAAA,QAA4CC,EAAE,GAAC,aAA/C;AAAA,QAA6DC,EAAE,GAACllQ,QAAhE;;AAAyE,UAAMmlQ,EAAE,GAAC,UAAS/oQ,CAAT,EAAW;AAAC,UAAG,YAAU,OAAOA,CAApB,EAAsB,OAAOA,CAAP;AAAS,UAAGwuP,EAAE,CAACxuP,CAAD,CAAL,EAAS,OAAO+4L,GAAP;;AAAW,UAAG9T,CAAC,CAACjlL,CAAD,CAAJ,EAAQ;AAAC,YAAI2K,CAAC,GAAC,cAAY,OAAO3K,CAAC,CAACi3L,OAArB,GAA6Bj3L,CAAC,CAACi3L,OAAF,EAA7B,GAAyCj3L,CAA/C;AAAiDA,QAAAA,CAAC,GAACilL,CAAC,CAACt6K,CAAD,CAAD,GAAKA,CAAC,GAAC,EAAP,GAAUA,CAAZ;AAAc;;AAAA,UAAG,YAAU,OAAO3K,CAApB,EAAsB,OAAO,MAAIA,CAAJ,GAAMA,CAAN,GAAQ,CAACA,CAAhB;AAAkBA,MAAAA,CAAC,GAAC0oQ,EAAE,CAAC1oQ,CAAD,CAAJ;AAAQ,UAAIuK,CAAC,GAACq+P,EAAE,CAACvzQ,IAAH,CAAQ2K,CAAR,CAAN;AAAiB,aAAOuK,CAAC,IAAEs+P,EAAE,CAACxzQ,IAAH,CAAQ2K,CAAR,CAAH,GAAc8oQ,EAAE,CAAC9oQ,CAAC,CAAC04E,KAAF,CAAQ,CAAR,CAAD,EAAYnuE,CAAC,GAAC,CAAD,GAAG,CAAhB,CAAhB,GAAmCo+P,EAAE,CAACtzQ,IAAH,CAAQ2K,CAAR,IAAW+4L,GAAX,GAAe,CAAC/4L,CAA1D;AAA4D,KAA7Q;;AAA8Q,QAAIgpQ,EAAE,GAAC9sO,IAAI,CAAC1qC,GAAZ;AAAA,QAAgBy3Q,EAAE,GAAC/sO,IAAI,CAACzqC,GAAxB;;AAA4B,UAAMy3Q,EAAE,GAAC,UAASlpQ,CAAT,EAAW2K,CAAX,EAAaJ,CAAb,EAAe;AAAC,UAAIgC,CAAJ;AAAA,UAAM51B,CAAN;AAAA,UAAQ81B,CAAR;AAAA,UAAUnC,CAAV;AAAA,UAAY83C,CAAZ;AAAA,UAAcu7F,CAAd;AAAA,UAAgBuuC,CAAC,GAAC,CAAlB;AAAA,UAAoBtiL,CAAC,GAAC,CAAC,CAAvB;AAAA,UAAyBgtI,CAAC,GAAC,CAAC,CAA5B;AAAA,UAA8B9xJ,CAAC,GAAC,CAAC,CAAjC;AAAmC,UAAG,cAAY,OAAOkb,CAAtB,EAAwB,MAAM,IAAIqM,SAAJ,CAAc,qBAAd,CAAN;;AAA2C,eAASrC,CAAT,CAAWW,CAAX,EAAa;AAAC,YAAIJ,CAAC,GAACgC,CAAN;AAAA,YAAQE,CAAC,GAAC91B,CAAV;AAAY,eAAO41B,CAAC,GAAC51B,CAAC,GAAC,KAAK,CAAT,EAAWu1M,CAAC,GAACvhL,CAAb,EAAeL,CAAC,GAACtK,CAAC,CAACyK,KAAF,CAAQgC,CAAR,EAAUlC,CAAV,CAAxB;AAAqC;;AAAA,eAASyB,CAAT,CAAWhM,CAAX,EAAa;AAAC,YAAIuK,CAAC,GAACvK,CAAC,GAAC29I,CAAR;AAAU,eAAO,KAAK,CAAL,KAASA,CAAT,IAAYpzI,CAAC,IAAEI,CAAf,IAAkBJ,CAAC,GAAC,CAApB,IAAuBqsI,CAAC,IAAE52I,CAAC,GAACksL,CAAF,IAAKz/K,CAAtC;AAAwC;;AAAA,eAASD,CAAT,GAAY;AAAC,YAAIxM,CAAC,GAACsoQ,EAAE,EAAR;AAAW,YAAGt8P,CAAC,CAAChM,CAAD,CAAJ,EAAQ,OAAO8L,CAAC,CAAC9L,CAAD,CAAR;AAAYoiD,QAAAA,CAAC,GAACljE,UAAU,CAACstB,CAAD,EAAG,UAASxM,CAAT,EAAW;AAAC,cAAIuK,CAAC,GAACI,CAAC,IAAE3K,CAAC,GAAC29I,CAAJ,CAAP;AAAc,iBAAO/G,CAAC,GAACqyH,EAAE,CAAC1+P,CAAD,EAAGkC,CAAC,IAAEzM,CAAC,GAACksL,CAAJ,CAAJ,CAAH,GAAe3hL,CAAvB;AAAyB,SAAnD,CAAoDvK,CAApD,CAAH,CAAZ;AAAuE;;AAAA,eAAS8L,CAAT,CAAW9L,CAAX,EAAa;AAAC,eAAOoiD,CAAC,GAAC,KAAK,CAAP,EAASt9D,CAAC,IAAEynB,CAAH,GAAKvC,CAAC,CAAChK,CAAD,CAAN,IAAWuM,CAAC,GAAC51B,CAAC,GAAC,KAAK,CAAT,EAAW2zB,CAAtB,CAAhB;AAAyC;;AAAA,eAAS63C,CAAT,GAAY;AAAC,YAAIniD,CAAC,GAACsoQ,EAAE,EAAR;AAAA,YAAW/9P,CAAC,GAACyB,CAAC,CAAChM,CAAD,CAAd;;AAAkB,YAAGuM,CAAC,GAAC/B,SAAF,EAAY7zB,CAAC,GAAC,IAAd,EAAmBgnK,CAAC,GAAC39I,CAArB,EAAuBuK,CAA1B,EAA4B;AAAC,cAAG,KAAK,CAAL,KAAS63C,CAAZ,EAAc,OAAO,UAASpiD,CAAT,EAAW;AAAC,mBAAOksL,CAAC,GAAClsL,CAAF,EAAIoiD,CAAC,GAACljE,UAAU,CAACstB,CAAD,EAAG7B,CAAH,CAAhB,EAAsBf,CAAC,GAACI,CAAC,CAAChK,CAAD,CAAF,GAAMsK,CAApC;AAAsC,WAAlD,CAAmDqzI,CAAnD,CAAP;AAA6D,cAAG/G,CAAH,EAAK,OAAOp6H,YAAY,CAAC4lC,CAAD,CAAZ,EAAgBA,CAAC,GAACljE,UAAU,CAACstB,CAAD,EAAG7B,CAAH,CAA5B,EAAkCX,CAAC,CAAC2zI,CAAD,CAA1C;AAA8C;;AAAA,eAAO,KAAK,CAAL,KAASv7F,CAAT,KAAaA,CAAC,GAACljE,UAAU,CAACstB,CAAD,EAAG7B,CAAH,CAAzB,GAAgCL,CAAvC;AAAyC;;AAAA,aAAOK,CAAC,GAACo+P,EAAE,CAACp+P,CAAD,CAAF,IAAO,CAAT,EAAWs6K,CAAC,CAAC16K,CAAD,CAAD,KAAOX,CAAC,GAAC,CAAC,CAACW,CAAC,CAAC4+P,OAAN,EAAc18P,CAAC,GAAC,CAACmqI,CAAC,GAAC,aAAYrsI,CAAf,IAAkBy+P,EAAE,CAACD,EAAE,CAACx+P,CAAC,CAAC6+P,OAAH,CAAF,IAAe,CAAhB,EAAkBz+P,CAAlB,CAApB,GAAyC8B,CAAzD,EAA2D3nB,CAAC,GAAC,cAAaylB,CAAb,GAAe,CAAC,CAACA,CAAC,CAAC8+P,QAAnB,GAA4BvkR,CAAhG,CAAX,EAA8Gq9D,CAAC,CAACmhC,MAAF,GAAS,YAAU;AAAC,aAAK,CAAL,KAASlhC,CAAT,IAAY5lC,YAAY,CAAC4lC,CAAD,CAAxB,EAA4B8pI,CAAC,GAAC,CAA9B,EAAgC3/K,CAAC,GAACoxI,CAAC,GAAChnK,CAAC,GAACyrE,CAAC,GAAC,KAAK,CAA7C;AAA+C,OAAjL,EAAkLD,CAAC,CAAC04C,KAAF,GAAQ,YAAU;AAAC,eAAO,KAAK,CAAL,KAASz4C,CAAT,GAAW93C,CAAX,GAAawB,CAAC,CAACw8P,EAAE,EAAH,CAArB;AAA4B,OAAjO,EAAkOnmN,CAAzO;AAA2O,KAAt3B;;AAAu3B,UAAMmnN,EAAN,SAAiB3B,EAAjB,CAAmB;AAACloS,MAAAA,WAAW,CAACugC,CAAD,EAAG;AAAC,cAAMA,CAAN,GAAS,KAAKupQ,iCAAL,GAAuCL,EAAE,CAAElpQ,CAAC,IAAE;AAAC,eAAK0B,QAAL,CAAcgkF,IAAd,CAAmB,qBAAnB,EAAyC1lF,CAAzC;AAA4C,SAAlD,EAAoD,GAApD,CAAlD;AAA2G;;AAAAi3O,MAAAA,OAAO,GAAE;AAAC,cAAMj3O,CAAC,GAAC,KAAK0B,QAAb;AAAsB1B,QAAAA,CAAC,CAACve,EAAF,CAAK,UAAL,EAAiB,CAACkpB,CAAD,EAAGJ,CAAH,KAAO;AAACvK,UAAAA,CAAC,CAAC8pP,SAAF,CAAYqN,MAAZ,IAAoB,KAAK98H,SAAzB,IAAoC9vH,CAAC,CAACgqC,cAAF,EAApC;AAAuD,SAAhF,EAAkF;AAACjkE,UAAAA,OAAO,EAAC;AAAT,SAAlF,GAAwG0vB,CAAC,CAACve,EAAF,CAAK,UAAL,EAAiB,CAACkpB,CAAD,EAAGJ,CAAH,KAAO;AAACvK,UAAAA,CAAC,CAAC8pP,SAAF,CAAYqN,MAAZ,IAAoB,KAAK98H,SAAzB,IAAoC,KAAKmvI,oBAAL,CAA0Bj/P,CAAC,CAAC8wO,OAA5B,CAApC;AAAyE,SAAlG,EAAoG;AAAC11J,UAAAA,QAAQ,EAAC;AAAV,SAApG,CAAxG;AAAiO;;AAAAyiL,MAAAA,aAAa,GAAE,CAAE;;AAAAzpL,MAAAA,OAAO,GAAE;AAAC,cAAMA,OAAN,IAAgB,KAAK4qL,iCAAL,CAAuCjmL,MAAvC,EAAhB;AAAgE;;AAAAkmL,MAAAA,oBAAoB,CAACxpQ,CAAD,EAAG;AAAC,cAAM2K,CAAC,GAAC,KAAKjJ,QAAL,CAAcooP,SAAtB;AAAA,cAAgCv/O,CAAC,GAAC,IAAIwF,EAAJ,CAAOpF,CAAC,CAAC4sP,SAAF,EAAP,EAAqB;AAACS,UAAAA,QAAQ,EAACrtP,CAAC,CAAC2sP,UAAZ;AAAuBS,UAAAA,IAAI,EAAC,CAAC;AAA7B,SAArB,CAAlC;AAAwF/3P,QAAAA,CAAC,IAAE06O,EAAE,CAACC,SAAN,IAAiB36O,CAAC,IAAE06O,EAAE,CAACE,OAAvB,IAAgCrwO,CAAC,CAACgnP,KAAF,CAAQhnP,CAAC,CAACw/O,gBAAF,EAAR,CAAhC,EAA8D/pP,CAAC,IAAE06O,EAAE,CAACG,UAAN,IAAkB76O,CAAC,IAAE06O,EAAE,CAACI,SAAxB,IAAmCvwO,CAAC,CAACgnP,KAAF,CAAQhnP,CAAC,CAACmtP,eAAF,EAAR,CAAjG;AAA8H,cAAMnrP,CAAC,GAAC;AAACk9P,UAAAA,YAAY,EAAC9+P,CAAd;AAAgB++P,UAAAA,YAAY,EAACn/P,CAA7B;AAA+Bo/P,UAAAA,YAAY,EAAC;AAA5C,SAAR;AAA0D,aAAKjoQ,QAAL,CAAcgkF,IAAd,CAAmB,iBAAnB,EAAqCn5E,CAArC,GAAwC,KAAKg9P,iCAAL,CAAuCh9P,CAAvC,CAAxC;AAAkF;;AAAj1B;;AAAk1B,UAAMq9P,EAAE,GAAC,UAAS5pQ,CAAT,EAAW;AAAC,aAAO,KAAKopO,QAAL,CAActkO,GAAd,CAAkB9E,CAAlB,EAAoB,2BAApB,GAAiD,IAAxD;AAA6D,KAAlF;;AAAmF,UAAM6pQ,EAAE,GAAC,UAAS7pQ,CAAT,EAAW;AAAC,aAAO,KAAKopO,QAAL,CAAct6M,GAAd,CAAkB9uB,CAAlB,CAAP;AAA4B,KAAjD;;AAAkD,aAAS8pQ,EAAT,CAAY9pQ,CAAZ,EAAc;AAAC,UAAI2K,CAAC,GAAC,CAAC,CAAP;AAAA,UAASJ,CAAC,GAAC,QAAMvK,CAAN,GAAQ,CAAR,GAAUA,CAAC,CAACrzB,MAAvB;;AAA8B,WAAI,KAAKy8P,QAAL,GAAc,IAAI2C,EAAJ,EAAlB,EAAyB,EAAEphO,CAAF,GAAIJ,CAA7B,GAAgC,KAAK3V,GAAL,CAASoL,CAAC,CAAC2K,CAAD,CAAV;AAAe;;AAAAm/P,IAAAA,EAAE,CAAC7/P,SAAH,CAAarV,GAAb,GAAiBk1Q,EAAE,CAAC7/P,SAAH,CAAahE,IAAb,GAAkB2jQ,EAAnC,EAAsCE,EAAE,CAAC7/P,SAAH,CAAa6kB,GAAb,GAAiB+6O,EAAvD;AAA0D,UAAME,EAAE,GAACD,EAAT;;AAAY,UAAME,EAAE,GAAC,UAAShqQ,CAAT,EAAW2K,CAAX,EAAa;AAAC,WAAI,IAAIJ,CAAC,GAAC,CAAC,CAAP,EAASgC,CAAC,GAAC,QAAMvM,CAAN,GAAQ,CAAR,GAAUA,CAAC,CAACrzB,MAA3B,EAAkC,EAAE49B,CAAF,GAAIgC,CAAtC,GAAyC,IAAG5B,CAAC,CAAC3K,CAAC,CAACuK,CAAD,CAAF,EAAMA,CAAN,EAAQvK,CAAR,CAAJ,EAAe,OAAM,CAAC,CAAP;;AAAS,aAAM,CAAC,CAAP;AAAS,KAAjG;;AAAkG,UAAMiqQ,EAAE,GAAC,UAASjqQ,CAAT,EAAW2K,CAAX,EAAa;AAAC,aAAO3K,CAAC,CAAC8uB,GAAF,CAAMnkB,CAAN,CAAP;AAAgB,KAAvC;;AAAwC,UAAMu/P,EAAE,GAAC,UAASlqQ,CAAT,EAAW2K,CAAX,EAAaJ,CAAb,EAAegC,CAAf,EAAiB51B,CAAjB,EAAmB81B,CAAnB,EAAqB;AAAC,UAAInC,CAAC,GAAC,IAAEC,CAAR;AAAA,UAAU63C,CAAC,GAACpiD,CAAC,CAACrzB,MAAd;AAAA,UAAqBgxK,CAAC,GAAChzI,CAAC,CAACh+B,MAAzB;AAAgC,UAAGy1E,CAAC,IAAEu7F,CAAH,IAAM,EAAErzI,CAAC,IAAEqzI,CAAC,GAACv7F,CAAP,CAAT,EAAmB,OAAM,CAAC,CAAP;AAAS,UAAI8pI,CAAC,GAACz/K,CAAC,CAAChsC,GAAF,CAAMu/B,CAAN,CAAN;AAAA,UAAe4J,CAAC,GAAC6C,CAAC,CAAChsC,GAAF,CAAMkqC,CAAN,CAAjB;AAA0B,UAAGuhL,CAAC,IAAEtiL,CAAN,EAAQ,OAAOsiL,CAAC,IAAEvhL,CAAH,IAAMf,CAAC,IAAE5J,CAAhB;AAAkB,UAAI42I,CAAC,GAAC,CAAC,CAAP;AAAA,UAAS9xJ,CAAC,GAAC,CAAC,CAAZ;AAAA,UAAcklB,CAAC,GAAC,IAAEO,CAAF,GAAI,IAAIw/P,EAAJ,EAAJ,GAAW,KAAK,CAAhC;;AAAkC,WAAIt9P,CAAC,CAAC3H,GAAF,CAAM9E,CAAN,EAAQ2K,CAAR,GAAW8B,CAAC,CAAC3H,GAAF,CAAM6F,CAAN,EAAQ3K,CAAR,CAAf,EAA0B,EAAE42I,CAAF,GAAIx0F,CAA9B,GAAiC;AAAC,YAAIp2C,CAAC,GAAChM,CAAC,CAAC42I,CAAD,CAAP;AAAA,YAAWpqI,CAAC,GAAC7B,CAAC,CAACisI,CAAD,CAAd;AAAkB,YAAGrqI,CAAH,EAAK,IAAIT,CAAC,GAACxB,CAAC,GAACiC,CAAC,CAACC,CAAD,EAAGR,CAAH,EAAK4qI,CAAL,EAAOjsI,CAAP,EAAS3K,CAAT,EAAWyM,CAAX,CAAF,GAAgBF,CAAC,CAACP,CAAD,EAAGQ,CAAH,EAAKoqI,CAAL,EAAO52I,CAAP,EAAS2K,CAAT,EAAW8B,CAAX,CAAxB;;AAAsC,YAAG,KAAK,CAAL,KAASX,CAAZ,EAAc;AAAC,cAAGA,CAAH,EAAK;AAAShnB,UAAAA,CAAC,GAAC,CAAC,CAAH;AAAK;AAAM;;AAAA,YAAGklB,CAAH,EAAK;AAAC,cAAG,CAACggQ,EAAE,CAACr/P,CAAD,EAAI,UAAS3K,CAAT,EAAW2K,CAAX,EAAa;AAAC,gBAAG,CAACs/P,EAAE,CAACjgQ,CAAD,EAAGW,CAAH,CAAH,KAAWqB,CAAC,KAAGhM,CAAJ,IAAOrpB,CAAC,CAACq1B,CAAD,EAAGhM,CAAH,EAAKuK,CAAL,EAAOgC,CAAP,EAASE,CAAT,CAAnB,CAAH,EAAmC,OAAOzC,CAAC,CAAC/D,IAAF,CAAO0E,CAAP,CAAP;AAAiB,WAAtE,CAAN,EAA+E;AAAC7lB,YAAAA,CAAC,GAAC,CAAC,CAAH;AAAK;AAAM;AAAC,SAAlG,MAAuG,IAAGknB,CAAC,KAAGQ,CAAJ,IAAO,CAAC71B,CAAC,CAACq1B,CAAD,EAAGQ,CAAH,EAAKjC,CAAL,EAAOgC,CAAP,EAASE,CAAT,CAAZ,EAAwB;AAAC3nB,UAAAA,CAAC,GAAC,CAAC,CAAH;AAAK;AAAM;AAAC;;AAAA,aAAO2nB,CAAC,CAACmI,MAAF,CAAS5U,CAAT,GAAYyM,CAAC,CAACmI,MAAF,CAASjK,CAAT,CAAZ,EAAwB7lB,CAA/B;AAAiC,KAAre;;AAAse,UAAMqlR,EAAE,GAAC,UAASnqQ,CAAT,EAAW;AAAC,UAAI2K,CAAC,GAAC,CAAC,CAAP;AAAA,UAASJ,CAAC,GAACpF,KAAK,CAACnF,CAAC,CAACmyE,IAAH,CAAhB;AAAyB,aAAOnyE,CAAC,CAAC6F,OAAF,CAAW,UAAS7F,CAAT,EAAWuM,CAAX,EAAa;AAAChC,QAAAA,CAAC,CAAC,EAAEI,CAAH,CAAD,GAAO,CAAC4B,CAAD,EAAGvM,CAAH,CAAP;AAAa,OAAtC,GAAyCuK,CAAhD;AAAkD,KAAhG;;AAAiG,UAAM6/P,EAAE,GAAC,UAASpqQ,CAAT,EAAW;AAAC,UAAI2K,CAAC,GAAC,CAAC,CAAP;AAAA,UAASJ,CAAC,GAACpF,KAAK,CAACnF,CAAC,CAACmyE,IAAH,CAAhB;AAAyB,aAAOnyE,CAAC,CAAC6F,OAAF,CAAW,UAAS7F,CAAT,EAAW;AAACuK,QAAAA,CAAC,CAAC,EAAEI,CAAH,CAAD,GAAO3K,CAAP;AAAS,OAAhC,GAAmCuK,CAA1C;AAA4C,KAA1F;;AAA2F,QAAI8/P,EAAE,GAACh8E,EAAE,GAACA,EAAE,CAACpkL,SAAJ,GAAc,KAAK,CAA5B;AAAA,QAA8BqgQ,EAAE,GAACD,EAAE,GAACA,EAAE,CAACpzE,OAAJ,GAAY,KAAK,CAApD;;AAAsD,UAAMpK,EAAE,GAAC,UAAS7sL,CAAT,EAAW2K,CAAX,EAAaJ,CAAb,EAAegC,CAAf,EAAiB51B,CAAjB,EAAmB81B,CAAnB,EAAqBnC,CAArB,EAAuB;AAAC,cAAOC,CAAP;AAAU,aAAI,mBAAJ;AAAwB,cAAGvK,CAAC,CAAC0mK,UAAF,IAAc/7J,CAAC,CAAC+7J,UAAhB,IAA4B1mK,CAAC,CAACqxO,UAAF,IAAc1mO,CAAC,CAAC0mO,UAA/C,EAA0D,OAAM,CAAC,CAAP;AAASrxO,UAAAA,CAAC,GAACA,CAAC,CAAC67B,MAAJ,EAAWlxB,CAAC,GAACA,CAAC,CAACkxB,MAAf;;AAAsB,aAAI,sBAAJ;AAA2B,iBAAM,EAAE77B,CAAC,CAAC0mK,UAAF,IAAc/7J,CAAC,CAAC+7J,UAAhB,IAA4B,CAACj6J,CAAC,CAAC,IAAIykO,EAAJ,CAAOlxO,CAAP,CAAD,EAAW,IAAIkxO,EAAJ,CAAOvmO,CAAP,CAAX,CAAhC,CAAN;;AAA6D,aAAI,kBAAJ;AAAuB,aAAI,eAAJ;AAAoB,aAAI,iBAAJ;AAAsB,iBAAO0+N,EAAE,CAAC,CAACrpO,CAAF,EAAI,CAAC2K,CAAL,CAAT;;AAAiB,aAAI,gBAAJ;AAAqB,iBAAO3K,CAAC,CAACxvB,IAAF,IAAQm6B,CAAC,CAACn6B,IAAV,IAAgBwvB,CAAC,CAACn+B,OAAF,IAAW8oC,CAAC,CAAC9oC,OAApC;;AAA4C,aAAI,iBAAJ;AAAsB,aAAI,iBAAJ;AAAsB,iBAAOm+B,CAAC,IAAE2K,CAAC,GAAC,EAAZ;;AAAe,aAAI,cAAJ;AAAmB,cAAIy3C,CAAC,GAAC+nN,EAAN;;AAAS,aAAI,cAAJ;AAAmB,cAAIxsH,CAAC,GAAC,IAAEpxI,CAAR;AAAU,cAAG61C,CAAC,KAAGA,CAAC,GAACgoN,EAAL,CAAD,EAAUpqQ,CAAC,CAACmyE,IAAF,IAAQxnE,CAAC,CAACwnE,IAAV,IAAgB,CAACwrE,CAA9B,EAAgC,OAAM,CAAC,CAAP;AAAS,cAAIuuC,CAAC,GAAC5hL,CAAC,CAAC7pC,GAAF,CAAMu/B,CAAN,CAAN;AAAe,cAAGksL,CAAH,EAAK,OAAOA,CAAC,IAAEvhL,CAAV;AAAY4B,UAAAA,CAAC,IAAE,CAAH,EAAKjC,CAAC,CAACxF,GAAF,CAAM9E,CAAN,EAAQ2K,CAAR,CAAL;AAAgB,cAAIf,CAAC,GAACsgQ,EAAE,CAAC9nN,CAAC,CAACpiD,CAAD,CAAF,EAAMoiD,CAAC,CAACz3C,CAAD,CAAP,EAAW4B,CAAX,EAAa51B,CAAb,EAAe81B,CAAf,EAAiBnC,CAAjB,CAAR;AAA4B,iBAAOA,CAAC,CAACsK,MAAF,CAAS5U,CAAT,GAAY4J,CAAnB;;AAAqB,aAAI,iBAAJ;AAAsB,cAAG0gQ,EAAH,EAAM,OAAOA,EAAE,CAACnhQ,IAAH,CAAQnJ,CAAR,KAAYsqQ,EAAE,CAACnhQ,IAAH,CAAQwB,CAAR,CAAnB;AAAhoB;;AAA8pB,aAAM,CAAC,CAAP;AAAS,KAAxsB;;AAAysB,QAAIsoL,EAAE,GAAC9wL,MAAM,CAAC8H,SAAP,CAAiBC,cAAxB;;AAAuC,UAAMqgQ,EAAE,GAAC,UAASvqQ,CAAT,EAAW2K,CAAX,EAAaJ,CAAb,EAAegC,CAAf,EAAiB51B,CAAjB,EAAmB81B,CAAnB,EAAqB;AAAC,UAAInC,CAAC,GAAC,IAAEC,CAAR;AAAA,UAAU63C,CAAC,GAAC0tL,EAAE,CAAC9vO,CAAD,CAAd;AAAA,UAAkB29I,CAAC,GAACv7F,CAAC,CAACz1E,MAAtB;AAA6B,UAAGgxK,CAAC,IAAEmyF,EAAE,CAACnlO,CAAD,CAAF,CAAMh+B,MAAT,IAAiB,CAAC29B,CAArB,EAAuB,OAAM,CAAC,CAAP;;AAAS,WAAI,IAAI4hL,CAAC,GAACvuC,CAAV,EAAYuuC,CAAC,EAAb,GAAiB;AAAC,YAAItiL,CAAC,GAACw4C,CAAC,CAAC8pI,CAAD,CAAP;AAAW,YAAG,EAAE5hL,CAAC,GAACV,CAAC,IAAIe,CAAN,GAAQsoL,EAAE,CAAC9pL,IAAH,CAAQwB,CAAR,EAAUf,CAAV,CAAX,CAAH,EAA4B,OAAM,CAAC,CAAP;AAAS;;AAAA,UAAIgtI,CAAC,GAACnqI,CAAC,CAAChsC,GAAF,CAAMu/B,CAAN,CAAN;AAAA,UAAelb,CAAC,GAAC2nB,CAAC,CAAChsC,GAAF,CAAMkqC,CAAN,CAAjB;AAA0B,UAAGisI,CAAC,IAAE9xJ,CAAN,EAAQ,OAAO8xJ,CAAC,IAAEjsI,CAAH,IAAM7lB,CAAC,IAAEkb,CAAhB;AAAkB,UAAIgK,CAAC,GAAC,CAAC,CAAP;AAASyC,MAAAA,CAAC,CAAC3H,GAAF,CAAM9E,CAAN,EAAQ2K,CAAR,GAAW8B,CAAC,CAAC3H,GAAF,CAAM6F,CAAN,EAAQ3K,CAAR,CAAX;;AAAsB,WAAI,IAAIgM,CAAC,GAAC1B,CAAV,EAAY,EAAE4hL,CAAF,GAAIvuC,CAAhB,GAAmB;AAAC,YAAInxI,CAAC,GAACxM,CAAC,CAAC4J,CAAC,GAACw4C,CAAC,CAAC8pI,CAAD,CAAJ,CAAP;AAAA,YAAgBpgL,CAAC,GAACnB,CAAC,CAACf,CAAD,CAAnB;AAAuB,YAAG2C,CAAH,EAAK,IAAI41C,CAAC,GAAC73C,CAAC,GAACiC,CAAC,CAACT,CAAD,EAAGU,CAAH,EAAK5C,CAAL,EAAOe,CAAP,EAAS3K,CAAT,EAAWyM,CAAX,CAAF,GAAgBF,CAAC,CAACC,CAAD,EAAGV,CAAH,EAAKlC,CAAL,EAAO5J,CAAP,EAAS2K,CAAT,EAAW8B,CAAX,CAAxB;;AAAsC,YAAG,EAAE,KAAK,CAAL,KAAS01C,CAAT,GAAW31C,CAAC,KAAGV,CAAJ,IAAOn1B,CAAC,CAAC61B,CAAD,EAAGV,CAAH,EAAKvB,CAAL,EAAOgC,CAAP,EAASE,CAAT,CAAnB,GAA+B01C,CAAjC,CAAH,EAAuC;AAACn4C,UAAAA,CAAC,GAAC,CAAC,CAAH;AAAK;AAAM;;AAAAgC,QAAAA,CAAC,KAAGA,CAAC,GAAC,iBAAepC,CAApB,CAAD;AAAwB;;AAAA,UAAGI,CAAC,IAAE,CAACgC,CAAP,EAAS;AAAC,YAAInC,CAAC,GAAC7J,CAAC,CAACvgC,WAAR;AAAA,YAAoB2uK,CAAC,GAACzjI,CAAC,CAAClrC,WAAxB;AAAoCoqC,QAAAA,CAAC,IAAEukI,CAAH,IAAM,EAAE,iBAAgBpuI,CAAlB,CAAN,IAA4B,EAAE,iBAAgB2K,CAAlB,CAA5B,IAAkD,cAAY,OAAOd,CAAnB,IAAsBA,CAAC,YAAYA,CAAnC,IAAsC,cAAY,OAAOukI,CAAzD,IAA4DA,CAAC,YAAYA,CAA3H,KAA+HpkI,CAAC,GAAC,CAAC,CAAlI;AAAqI;;AAAA,aAAOyC,CAAC,CAACmI,MAAF,CAAS5U,CAAT,GAAYyM,CAAC,CAACmI,MAAF,CAASjK,CAAT,CAAZ,EAAwBX,CAA/B;AAAiC,KAAtmB;;AAAumB,QAAIk4C,EAAE,GAAC,oBAAP;AAAA,QAA4BsoN,EAAE,GAAC,gBAA/B;AAAA,QAAgDz2E,EAAE,GAAC,iBAAnD;AAAA,QAAqE02E,EAAE,GAACtoQ,MAAM,CAAC8H,SAAP,CAAiBC,cAAzF;;AAAwG,UAAMwgQ,EAAE,GAAC,UAAS1qQ,CAAT,EAAW2K,CAAX,EAAaJ,CAAb,EAAegC,CAAf,EAAiB51B,CAAjB,EAAmB81B,CAAnB,EAAqB;AAAC,UAAInC,CAAC,GAACg+N,EAAE,CAACtoO,CAAD,CAAR;AAAA,UAAYoiD,CAAC,GAACkmL,EAAE,CAAC39N,CAAD,CAAhB;AAAA,UAAoBgzI,CAAC,GAACrzI,CAAC,GAACkgQ,EAAD,GAAIz5B,EAAE,CAAC/wO,CAAD,CAA7B;AAAA,UAAiCksL,CAAC,GAAC9pI,CAAC,GAACooN,EAAD,GAAIz5B,EAAE,CAACpmO,CAAD,CAA1C;AAAA,UAA8Cf,CAAC,GAAC,CAAC+zI,CAAC,GAACA,CAAC,IAAEz7F,EAAH,GAAM6xI,EAAN,GAASp2C,CAAZ,KAAgBo2C,EAAhE;AAAA,UAAmEn9C,CAAC,GAAC,CAACs1C,CAAC,GAACA,CAAC,IAAEhqI,EAAH,GAAM6xI,EAAN,GAAS7H,CAAZ,KAAgB6H,EAArF;AAAA,UAAwFjvM,CAAC,GAAC64J,CAAC,IAAEuuC,CAA7F;;AAA+F,UAAGpnM,CAAC,IAAEsoP,EAAE,CAACptO,CAAD,CAAR,EAAY;AAAC,YAAG,CAACotO,EAAE,CAACziO,CAAD,CAAN,EAAU,OAAM,CAAC,CAAP;AAASL,QAAAA,CAAC,GAAC,CAAC,CAAH,EAAKV,CAAC,GAAC,CAAC,CAAR;AAAU;;AAAA,UAAG9kB,CAAC,IAAE,CAAC8kB,CAAP,EAAS,OAAO6C,CAAC,KAAGA,CAAC,GAAC,IAAIg8C,EAAJ,EAAL,CAAD,EAAcn+C,CAAC,IAAE6jO,EAAE,CAACnuO,CAAD,CAAL,GAASkqQ,EAAE,CAAClqQ,CAAD,EAAG2K,CAAH,EAAKJ,CAAL,EAAOgC,CAAP,EAAS51B,CAAT,EAAW81B,CAAX,CAAX,GAAyBogL,EAAE,CAAC7sL,CAAD,EAAG2K,CAAH,EAAKgzI,CAAL,EAAOpzI,CAAP,EAASgC,CAAT,EAAW51B,CAAX,EAAa81B,CAAb,CAAhD;;AAAgE,UAAG,EAAE,IAAElC,CAAJ,CAAH,EAAU;AAAC,YAAIP,CAAC,GAACJ,CAAC,IAAE6gQ,EAAE,CAACthQ,IAAH,CAAQnJ,CAAR,EAAU,aAAV,CAAT;AAAA,YAAkCgM,CAAC,GAAC4qI,CAAC,IAAE6zH,EAAE,CAACthQ,IAAH,CAAQwB,CAAR,EAAU,aAAV,CAAvC;;AAAgE,YAAGX,CAAC,IAAEgC,CAAN,EAAQ;AAAC,cAAIQ,CAAC,GAACxC,CAAC,GAAChK,CAAC,CAAC9uB,KAAF,EAAD,GAAW8uB,CAAlB;AAAA,cAAoB8L,CAAC,GAACE,CAAC,GAACrB,CAAC,CAACz5B,KAAF,EAAD,GAAWy5B,CAAlC;AAAoC,iBAAO8B,CAAC,KAAGA,CAAC,GAAC,IAAIg8C,EAAJ,EAAL,CAAD,EAAc9xE,CAAC,CAAC61B,CAAD,EAAGV,CAAH,EAAKvB,CAAL,EAAOgC,CAAP,EAASE,CAAT,CAAtB;AAAkC;AAAC;;AAAA,aAAM,CAAC,CAAC3nB,CAAF,KAAM2nB,CAAC,KAAGA,CAAC,GAAC,IAAIg8C,EAAJ,EAAL,CAAD,EAAc8hN,EAAE,CAACvqQ,CAAD,EAAG2K,CAAH,EAAKJ,CAAL,EAAOgC,CAAP,EAAS51B,CAAT,EAAW81B,CAAX,CAAtB,CAAN;AAA2C,KAAvb;;AAAwb,UAAMs/K,EAAE,GAAC,SAAS/rL,CAAT,CAAW2K,CAAX,EAAaJ,CAAb,EAAegC,CAAf,EAAiB51B,CAAjB,EAAmB81B,CAAnB,EAAqB;AAAC,aAAO9B,CAAC,KAAGJ,CAAJ,KAAQ,QAAMI,CAAN,IAAS,QAAMJ,CAAf,IAAkB,CAACg+N,EAAE,CAAC59N,CAAD,CAAH,IAAQ,CAAC49N,EAAE,CAACh+N,CAAD,CAA7B,GAAiCI,CAAC,IAAEA,CAAH,IAAMJ,CAAC,IAAEA,CAA1C,GAA4CmgQ,EAAE,CAAC//P,CAAD,EAAGJ,CAAH,EAAKgC,CAAL,EAAO51B,CAAP,EAASqpB,CAAT,EAAWyM,CAAX,CAAtD,CAAP;AAA4E,KAA3G;;AAA4G,UAAMk+P,EAAE,GAAC,UAAS3qQ,CAAT,EAAW2K,CAAX,EAAaJ,CAAb,EAAe;AAAC,UAAIgC,CAAC,GAAC,CAAChC,CAAC,GAAC,cAAY,OAAOA,CAAnB,GAAqBA,CAArB,GAAuB,KAAK,CAA/B,IAAkCA,CAAC,CAACvK,CAAD,EAAG2K,CAAH,CAAnC,GAAyC,KAAK,CAApD;AAAsD,aAAO,KAAK,CAAL,KAAS4B,CAAT,GAAWw/K,EAAE,CAAC/rL,CAAD,EAAG2K,CAAH,EAAK,KAAK,CAAV,EAAYJ,CAAZ,CAAb,GAA4B,CAAC,CAACgC,CAArC;AAAuC,KAAtH;;AAAuH,UAAMq+P,EAAN,SAAiBjD,EAAjB,CAAmB;AAACloS,MAAAA,WAAW,CAACugC,CAAD,EAAG;AAAC,cAAMA,CAAN,GAAS,KAAKoiF,OAAL,GAAa;AAACyoL,UAAAA,SAAS,EAAC,CAAC,CAAZ;AAAcC,UAAAA,aAAa,EAAC,CAAC,CAA7B;AAA+BC,UAAAA,OAAO,EAAC,CAAC;AAAxC,SAAtB,EAAiE,KAAKnQ,YAAL,GAAkB56P,CAAC,CAAC46P,YAArF,EAAkG,KAAKoQ,QAAL,GAAchrQ,CAAC,CAACw4K,SAAlH,EAA4H,KAAKyyF,YAAL,GAAkB,IAAIp5L,GAAJ,EAA9I,EAAsJ,KAAKq5L,iBAAL,GAAuB,IAAI/rR,MAAM,CAACgsR,gBAAX,CAA4B,KAAKC,YAAL,CAAkBr2Q,IAAlB,CAAuB,IAAvB,CAA5B,CAA7K;AAAuO;;AAAA8lG,MAAAA,KAAK,GAAE;AAAC,aAAKuwK,YAAL,CAAkB,KAAKF,iBAAL,CAAuBG,WAAvB,EAAlB;AAAwD;;AAAAp0B,MAAAA,OAAO,CAACj3O,CAAD,EAAG;AAAC,aAAKirQ,YAAL,CAAkBr2Q,GAAlB,CAAsBoL,CAAtB,GAAyB,KAAKq6H,SAAL,IAAgB,KAAK6wI,iBAAL,CAAuBj0B,OAAvB,CAA+Bj3O,CAA/B,EAAiC,KAAKoiF,OAAtC,CAAzC;AAAwF;;AAAAgmL,MAAAA,aAAa,CAACpoQ,CAAD,EAAG;AAAC,YAAG,KAAKirQ,YAAL,CAAkBr2P,MAAlB,CAAyB5U,CAAzB,GAA4B,KAAKq6H,SAApC,EAA8C;AAAC,eAAK6wI,iBAAL,CAAuBI,UAAvB;;AAAoC,eAAI,MAAMtrQ,CAAV,IAAe,KAAKirQ,YAApB,EAAiC,KAAKC,iBAAL,CAAuBj0B,OAAvB,CAA+Bj3O,CAA/B,EAAiC,KAAKoiF,OAAtC;AAA+C;AAAC;;AAAArwF,MAAAA,MAAM,GAAE;AAAC,cAAMA,MAAN;;AAAe,aAAI,MAAMiO,CAAV,IAAe,KAAKirQ,YAApB,EAAiC,KAAKC,iBAAL,CAAuBj0B,OAAvB,CAA+Bj3O,CAA/B,EAAiC,KAAKoiF,OAAtC;AAA+C;;AAAApwF,MAAAA,OAAO,GAAE;AAAC,cAAMA,OAAN,IAAgB,KAAKk5Q,iBAAL,CAAuBI,UAAvB,EAAhB;AAAoD;;AAAA3sL,MAAAA,OAAO,GAAE;AAAC,cAAMA,OAAN,IAAgB,KAAKusL,iBAAL,CAAuBI,UAAvB,EAAhB;AAAoD;;AAAAF,MAAAA,YAAY,CAACprQ,CAAD,EAAG;AAAC,YAAG,MAAIA,CAAC,CAACrzB,MAAT,EAAgB;AAAO,cAAMg+B,CAAC,GAAC,KAAKiwP,YAAb;AAAA,cAA0BrwP,CAAC,GAAC,IAAIsnE,GAAJ,EAA5B;AAAA,cAAoCtlE,CAAC,GAAC,IAAIslE,GAAJ,EAAtC;;AAA8C,aAAI,MAAMtnE,CAAV,IAAevK,CAAf,EAAiB;AAAC,gBAAMA,CAAC,GAAC2K,CAAC,CAACo4P,YAAF,CAAex4P,CAAC,CAACqjB,MAAjB,CAAR;AAAiC5tB,UAAAA,CAAC,KAAGA,CAAC,CAAC6qF,EAAF,CAAK,WAAL,KAAmB7qF,CAAC,CAAC6qF,EAAF,CAAK,YAAL,CAAnB,IAAuC,gBAActgF,CAAC,CAACtzB,IAAvD,IAA6D,KAAKs0R,kBAAL,CAAwBhhQ,CAAxB,CAA7D,IAAyFgC,CAAC,CAAC3X,GAAF,CAAMoL,CAAN,CAA5F,CAAD;AAAuG;;AAAA,aAAI,MAAMrpB,CAAV,IAAeqpB,CAAf,EAAiB;AAAC,gBAAMA,CAAC,GAAC2K,CAAC,CAACo4P,YAAF,CAAepsR,CAAC,CAACi3C,MAAjB,CAAR;;AAAiC,cAAG,CAAC,CAAC5tB,CAAD,IAAI,CAACA,CAAC,CAAC6qF,EAAF,CAAK,WAAL,CAAD,IAAoB,CAAC7qF,CAAC,CAAC6qF,EAAF,CAAK,YAAL,CAA1B,KAA+C,oBAAkBl0G,CAAC,CAACM,IAAtE,EAA2E;AAAC,kBAAM+oB,CAAC,GAAC2K,CAAC,CAAC07P,yBAAF,CAA4B1vR,CAAC,CAACi3C,MAA9B,CAAR;AAA8C5tB,YAAAA,CAAC,IAAE,CAACuM,CAAC,CAACuiB,GAAF,CAAM9uB,CAAC,CAACmhD,MAAR,CAAJ,GAAoB52C,CAAC,CAAC3V,GAAF,CAAMoL,CAAN,CAApB,GAA6B,CAACA,CAAD,IAAI6+P,EAAE,CAACloR,CAAC,CAACi3C,MAAH,CAAN,IAAkBrhB,CAAC,CAAC3X,GAAF,CAAM+V,CAAC,CAACo4P,YAAF,CAAepsR,CAAC,CAACi3C,MAAF,CAASguB,UAAxB,CAAN,CAA/C;AAA0F;AAAC;;AAAA,YAAIjlE,CAAC,GAAC,CAAC,CAAP;;AAAS,aAAI,MAAMqpB,CAAV,IAAeuK,CAAf,EAAiB5zB,CAAC,GAAC,CAAC,CAAH,EAAK,KAAKq0R,QAAL,CAAcpL,UAAd,CAAyB,MAAzB,EAAgC5/P,CAAhC,CAAL;;AAAwC,aAAI,MAAMA,CAAV,IAAeuM,CAAf,EAAiB;AAAC,gBAAMhC,CAAC,GAACI,CAAC,CAACk1P,YAAF,CAAe7/P,CAAf,CAAR;AAAA,gBAA0BuM,CAAC,GAACpH,KAAK,CAAC7H,IAAN,CAAW0C,CAAC,CAACgkF,WAAF,EAAX,CAA5B;AAAA,gBAAwDv3E,CAAC,GAACtH,KAAK,CAAC7H,IAAN,CAAWqN,CAAC,CAACo7P,iBAAF,CAAoBx7P,CAApB,EAAsB;AAACq2P,YAAAA,YAAY,EAAC,CAAC;AAAf,WAAtB,CAAX,CAA1D;AAA+G+J,UAAAA,EAAE,CAACp+P,CAAD,EAAGE,CAAH,EAAK++P,EAAL,CAAF,KAAa70R,CAAC,GAAC,CAAC,CAAH,EAAK,KAAKq0R,QAAL,CAAcpL,UAAd,CAAyB,UAAzB,EAAoC5/P,CAApC,CAAlB;AAA0D;;AAAArpB,QAAAA,CAAC,IAAE,KAAKm/L,IAAL,CAAU21F,WAAV,EAAH;AAA2B;;AAAAF,MAAAA,kBAAkB,CAACvrQ,CAAD,EAAG;AAAC,YAAI2K,CAAC,GAAC,IAAN;AAAW,eAAO,SAAO3K,CAAC,CAACynO,WAAT,IAAsB,MAAIznO,CAAC,CAAC0rQ,YAAF,CAAe/+R,MAAzC,IAAiD,KAAGqzB,CAAC,CAAC2rQ,UAAF,CAAah/R,MAAjE,KAA0Eg+B,CAAC,GAAC,KAAKiwP,YAAL,CAAkB+G,SAAlB,CAA4B3hQ,CAAC,CAAC2rQ,UAAF,CAAa,CAAb,CAA5B,EAA4C;AAAC/K,UAAAA,YAAY,EAAC,CAAC;AAAf,SAA5C,CAA5E,GAA4Ij2P,CAAC,IAAEA,CAAC,CAACkgF,EAAF,CAAK,SAAL,EAAe,IAAf,CAAtJ;AAA2K;;AAA9wD;;AAA+wD,aAAS2gL,EAAT,CAAYxrQ,CAAZ,EAAc2K,CAAd,EAAgB;AAAC,UAAG,CAACxF,KAAK,CAACi8E,OAAN,CAAcphF,CAAd,CAAJ,EAAqB,OAAOA,CAAC,KAAG2K,CAAJ,IAAO,EAAE,CAAC3K,CAAC,CAAC6qF,EAAF,CAAK,OAAL,CAAD,IAAgB,CAAClgF,CAAC,CAACkgF,EAAF,CAAK,OAAL,CAAnB,KAAmC7qF,CAAC,CAACr4B,IAAF,KAASgjC,CAAC,CAAChjC,IAA5D;AAAiE;;AAAA,UAAM4rN,EAAN,SAAiB00E,EAAjB,CAAmB;AAACxoS,MAAAA,WAAW,CAACugC,CAAD,EAAG;AAAC,cAAMA,CAAN,GAAS,KAAK4rQ,gBAAL,GAAsB,CAAC,CAAhC,EAAkC,KAAK1D,YAAL,GAAkB,CAAC,OAAD,EAAS,MAAT,CAApD,EAAqE,KAAK56H,UAAL,GAAgB,CAAC,CAAtF;AAAwF,cAAM3iI,CAAC,GAAC,KAAKjJ,QAAb;AAAsBiJ,QAAAA,CAAC,CAAClpB,EAAF,CAAK,OAAL,EAAc,MAAI;AAAC,eAAKmqR,gBAAL,GAAsB,CAAC,CAAvB,EAAyB,KAAKC,gBAAL,GAAsB3sR,UAAU,CAAE,MAAI;AAAC,iBAAK27G,KAAL,IAAa76F,CAAC,CAAC0hL,MAAF,CAAU,MAAI,CAAE,CAAhB,CAAb;AAAgC,WAAvC,EAAyC,EAAzC,CAAzD;AAAsG,SAAzH,GAA4H/2K,CAAC,CAAClpB,EAAF,CAAK,MAAL,EAAa,CAAC8oB,CAAD,EAAGgC,CAAH,KAAO;AAAC,gBAAM51B,CAAC,GAACg0B,CAAC,CAACm/O,SAAF,CAAYuK,eAApB;AAAoC,mBAAO19Q,CAAP,IAAUA,CAAC,KAAG41B,CAAC,CAACqhB,MAAhB,KAAyBjjB,CAAC,CAACizO,SAAF,GAAY,CAAC,CAAb,EAAe,KAAKguB,gBAAL,GAAsB,CAAC,CAAtC,EAAwC5rQ,CAAC,CAAC0hL,MAAF,CAAU,MAAI,CAAE,CAAhB,CAAjE;AAAqF,SAA9I,CAA5H;AAA6Q;;AAAA7mF,MAAAA,KAAK,GAAE;AAAC,aAAK+wK,gBAAL,KAAwB,KAAKA,gBAAL,GAAsB,CAAC,CAAvB,EAAyB,KAAKlqQ,QAAL,CAAck8O,SAAd,GAAwB,CAAC,CAA1E;AAA6E;;AAAAuqB,MAAAA,UAAU,CAACnoQ,CAAD,EAAG;AAAC,aAAK0lF,IAAL,CAAU1lF,CAAC,CAAC/oB,IAAZ,EAAiB+oB,CAAjB;AAAoB;;AAAA2+E,MAAAA,OAAO,GAAE;AAAC,aAAKktL,gBAAL,IAAuBrvP,YAAY,CAAC,KAAKqvP,gBAAN,CAAnC,EAA2D,MAAMltL,OAAN,EAA3D;AAA2E;;AAAvlB;;AAAwlB,UAAM0wG,EAAN,SAAiBs4E,EAAjB,CAAmB;AAACloS,MAAAA,WAAW,CAACugC,CAAD,EAAG;AAAC,cAAMA,CAAN,GAAS,KAAK8rQ,gBAAL,GAAsB9rQ,CAAC,CAAC+rQ,WAAF,CAAcnB,EAAd,CAA/B,EAAiD,KAAKoB,aAAL,GAAmBhsQ,CAAC,CAAC+rQ,WAAF,CAAcx4E,EAAd,CAApE,EAAsF,KAAKu2D,SAAL,GAAe,KAAKpoP,QAAL,CAAcooP,SAAnH,EAA6H,KAAK8Q,YAAL,GAAkB56P,CAAC,CAAC46P,YAAjJ,EAA8J,KAAKqR,UAAL,GAAgB,IAAI/mC,OAAJ,EAA9K,EAA0L,KAAKqkC,iCAAL,GAAuCL,EAAE,CAAElpQ,CAAC,IAAE;AAAC,eAAK0B,QAAL,CAAcgkF,IAAd,CAAmB,qBAAnB,EAAyC1lF,CAAzC;AAA4C,SAAlD,EAAoD,GAApD,CAAnO,EAA4R,KAAKksQ,0BAAL,GAAgCx5N,WAAW,CAAE,MAAI,KAAKy5N,kBAAL,EAAN,EAAiC,GAAjC,CAAvU,EAA6W,KAAKC,8CAAL,GAAoDlD,EAAE,CAAE,MAAI,KAAKxnQ,QAAL,CAAci+P,WAAd,GAA0B,CAAC,CAAjC,EAAoC,GAApC,CAAna,EAA4c,KAAK0M,gBAAL,GAAsB,CAAle;AAAoe;;AAAAp1B,MAAAA,OAAO,CAACj3O,CAAD,EAAG;AAAC,cAAM2K,CAAC,GAAC3K,CAAC,CAACgzO,aAAV;AAAA,cAAwBzoO,CAAC,GAAC,MAAI;AAAC,eAAK7I,QAAL,CAAci+P,WAAd,KAA4B,KAAK2M,sBAAL,CAA4B,IAA5B,EAAiC3hQ,CAAjC,GAAoC,KAAKjJ,QAAL,CAAci+P,WAAd,GAA0B,CAAC,CAA/D,EAAiE,KAAKyM,8CAAL,CAAoD9oL,MAApD,EAA7F;AAA2J,SAA1L;;AAA2L,aAAKkiJ,QAAL,CAAcxlO,CAAd,EAAgB,aAAhB,EAA+B,MAAI;AAAC,eAAK0B,QAAL,CAAci+P,WAAd,GAA0B,CAAC,CAA3B,EAA6B,KAAKyM,8CAAL,EAA7B;AAAmF,SAAvH,EAAyH;AAACzmL,UAAAA,QAAQ,EAAC;AAAV,SAAzH,GAA+I,KAAK6/I,QAAL,CAAcxlO,CAAd,EAAgB,SAAhB,EAA0BuK,CAA1B,EAA4B;AAACo7E,UAAAA,QAAQ,EAAC,SAAV;AAAoB2nD,UAAAA,UAAU,EAAC,CAAC;AAAhC,SAA5B,CAA/I,EAA+M,KAAKk4F,QAAL,CAAcxlO,CAAd,EAAgB,OAAhB,EAAwBuK,CAAxB,EAA0B;AAACo7E,UAAAA,QAAQ,EAAC,SAAV;AAAoB2nD,UAAAA,UAAU,EAAC,CAAC;AAAhC,SAA1B,CAA/M,EAA6Q,KAAK2+H,UAAL,CAAgBn9O,GAAhB,CAAoBnkB,CAApB,MAAyB,KAAK66N,QAAL,CAAc76N,CAAd,EAAgB,SAAhB,EAA0BJ,CAA1B,EAA4B;AAACo7E,UAAAA,QAAQ,EAAC,SAAV;AAAoB2nD,UAAAA,UAAU,EAAC,CAAC;AAAhC,SAA5B,GAAgE,KAAKk4F,QAAL,CAAc76N,CAAd,EAAgB,iBAAhB,EAAmC,CAAC3K,CAAD,EAAGuK,CAAH,KAAO;AAAC,eAAK7I,QAAL,CAAcirP,WAAd,IAA2B,CAACh2Q,CAAC,CAAC2tP,SAA9B,KAA0C,KAAKgoC,sBAAL,CAA4B/hQ,CAA5B,EAA8BI,CAA9B,GAAiC,KAAKyhQ,8CAAL,EAA3E;AAAkI,SAA7K,CAAhE,EAAgP,KAAKH,UAAL,CAAgBr3Q,GAAhB,CAAoB+V,CAApB,CAAzQ,CAA7Q;AAA8iB;;AAAAy9P,MAAAA,aAAa,CAACpoQ,CAAD,EAAG;AAAC,aAAK0lO,aAAL,CAAmB1lO,CAAnB;AAAsB;;AAAA2+E,MAAAA,OAAO,GAAE;AAAC,cAAMA,OAAN,IAAgB9rC,aAAa,CAAC,KAAKq5N,0BAAN,CAA7B,EAA+D,KAAK3C,iCAAL,CAAuCjmL,MAAvC,EAA/D,EAA+G,KAAK8oL,8CAAL,CAAoD9oL,MAApD,EAA/G;AAA4K;;AAAAipL,MAAAA,mBAAmB,GAAE,CAAE;;AAAAD,MAAAA,sBAAsB,CAACtsQ,CAAD,EAAG2K,CAAH,EAAK;AAAC,YAAG,CAAC,KAAK0vH,SAAT,EAAmB;AAAO,cAAM9vH,CAAC,GAACI,CAAC,CAACmoO,WAAF,CAAcunB,YAAd,EAAR;AAAqC,YAAG,KAAKwN,gCAAL,CAAsCt9P,CAAC,CAACs4P,UAAxC,CAAH,EAAuD;AAAO,aAAKiJ,gBAAL,CAAsBjxK,KAAtB;AAA8B,cAAMtuF,CAAC,GAAC,KAAKquP,YAAL,CAAkBgI,kBAAlB,CAAqCr4P,CAArC,CAAR;;AAAgD,YAAG,KAAGgC,CAAC,CAAC8qP,UAAR,EAAmB;AAAC,cAAG,KAAKvhF,IAAL,CAAU02F,eAAV,GAA0B,CAAC,CAA3B,EAA6B,KAAKR,aAAL,CAAmBnxK,KAAnB,EAA7B,EAAwD,CAAC,KAAKivJ,SAAL,CAAe/T,OAAf,CAAuBxpO,CAAvB,CAAD,IAA4B,CAAC,KAAKquP,YAAL,CAAkB+H,qBAAlB,CAAwCp4P,CAAxC,CAAxF,EAAmI,IAAG,EAAE,KAAK8hQ,gBAAP,GAAwB,EAA3B,EAA8B,KAAKE,mBAAL,GAA9B,KAA8D,IAAG,KAAKziB,SAAL,CAAe0D,SAAf,CAAyBjhP,CAAzB,CAAH,EAA+B,KAAKupK,IAAL,CAAU21F,WAAV,GAA/B,KAA2D;AAAC,kBAAMzrQ,CAAC,GAAC;AAACypQ,cAAAA,YAAY,EAAC,KAAK3f,SAAnB;AAA6B4f,cAAAA,YAAY,EAACn9P,CAA1C;AAA4Co9P,cAAAA,YAAY,EAACp/P;AAAzD,aAAR;AAAoE,iBAAK7I,QAAL,CAAcgkF,IAAd,CAAmB,iBAAnB,EAAqC1lF,CAArC,GAAwC,KAAKupQ,iCAAL,CAAuCvpQ,CAAvC,CAAxC;AAAkF;AAAC,SAAxa,MAA6a,KAAK81K,IAAL,CAAU02F,eAAV,GAA0B,CAAC,CAA3B;AAA6B;;AAAAL,MAAAA,kBAAkB,GAAE;AAAC,aAAKE,gBAAL,GAAsB,CAAtB;AAAwB;;AAA1rE;;AAA2rE,UAAM95E,EAAN,SAAiB01E,EAAjB,CAAmB;AAACxoS,MAAAA,WAAW,CAACugC,CAAD,EAAG;AAAC,cAAMA,CAAN,GAAS,KAAKkoQ,YAAL,GAAkB,CAAC,kBAAD,EAAoB,mBAApB,EAAwC,gBAAxC,CAA3B;AAAqF,cAAMv9P,CAAC,GAAC,KAAKjJ,QAAb;AAAsBiJ,QAAAA,CAAC,CAAClpB,EAAF,CAAK,kBAAL,EAAyB,MAAI;AAACkpB,UAAAA,CAAC,CAACgiP,WAAF,GAAc,CAAC,CAAf;AAAiB,SAA/C,EAAiD;AAAChnK,UAAAA,QAAQ,EAAC;AAAV,SAAjD,GAAmEh7E,CAAC,CAAClpB,EAAF,CAAK,gBAAL,EAAuB,MAAI;AAACkpB,UAAAA,CAAC,CAACgiP,WAAF,GAAc,CAAC,CAAf;AAAiB,SAA7C,EAA+C;AAAChnK,UAAAA,QAAQ,EAAC;AAAV,SAA/C,CAAnE;AAAoI;;AAAAwiL,MAAAA,UAAU,CAACnoQ,CAAD,EAAG;AAAC,aAAK0lF,IAAL,CAAU1lF,CAAC,CAAC/oB,IAAZ,EAAiB+oB,CAAjB,EAAmB;AAACr4B,UAAAA,IAAI,EAACq4B,CAAC,CAACr4B;AAAR,SAAnB;AAAkC;;AAA/S;;AAAgT,UAAM8kS,EAAN,CAAQ;AAAChtS,MAAAA,WAAW,CAACugC,CAAD,EAAG2K,CAAC,GAAC,EAAL,EAAQ;AAAC,aAAK+hQ,MAAL,GAAY/hQ,CAAC,CAACgiQ,UAAF,GAAaC,EAAE,CAAC5sQ,CAAD,CAAf,GAAmB,IAA/B,EAAoC,KAAK6sQ,OAAL,GAAa7sQ,CAAjD;AAAmD;;AAAS,UAAL6kN,KAAK,GAAE;AAAC,eAAO,KAAK6nD,MAAL,KAAc,KAAKA,MAAL,GAAYE,EAAE,CAAC,KAAKC,OAAN,CAA5B,GAA4C,KAAKH,MAAxD;AAA+D;;AAAS,UAALtpD,KAAK,GAAE;AAAC,eAAO,KAAKypD,OAAL,CAAazpD,KAApB;AAA0B;;AAAA0pD,MAAAA,OAAO,CAAC9sQ,CAAD,EAAG;AAAC,eAAO,KAAK6sQ,OAAL,CAAaC,OAAb,CAAqB9sQ,CAArB,CAAP;AAA+B;;AAAA+sQ,MAAAA,OAAO,CAAC/sQ,CAAD,EAAG2K,CAAH,EAAK;AAAC,aAAKkiQ,OAAL,CAAaE,OAAb,CAAqB/sQ,CAArB,EAAuB2K,CAAvB;AAA0B;;AAAiB,UAAbqiQ,aAAa,CAAChtQ,CAAD,EAAG;AAAC,aAAK6sQ,OAAL,CAAaG,aAAb,GAA2BhtQ,CAA3B;AAA6B;;AAAiB,UAAbgtQ,aAAa,GAAE;AAAC,eAAO,KAAKH,OAAL,CAAaG,aAApB;AAAkC;;AAAc,UAAVrjD,UAAU,CAAC3pN,CAAD,EAAG;AAAC,aAAK6sQ,OAAL,CAAaljD,UAAb,GAAwB3pN,CAAxB;AAA0B;;AAAc,UAAV2pN,UAAU,GAAE;AAAC,eAAO,KAAKkjD,OAAL,CAAaljD,UAApB;AAA+B;;AAAAsjD,MAAAA,YAAY,CAACjtQ,CAAD,EAAG2K,CAAH,EAAKJ,CAAL,EAAO;AAAC,aAAKsiQ,OAAL,CAAaI,YAAb,CAA0BjtQ,CAA1B,EAA4B2K,CAA5B,EAA8BJ,CAA9B;AAAiC;;AAAc,UAAV2iQ,UAAU,GAAE;AAAC,eAAM,UAAQ,KAAKL,OAAL,CAAaljD,UAArB,IAAiC,CAAC,CAAC,KAAKkjD,OAAL,CAAaM,gBAAtD;AAAuE;;AAA3lB;;AAA4lB,aAASP,EAAT,CAAY5sQ,CAAZ,EAAc;AAAC,YAAM2K,CAAC,GAACxF,KAAK,CAAC7H,IAAN,CAAW0C,CAAC,CAAC6kN,KAAF,IAAS,EAApB,CAAR;AAAA,YAAgCt6M,CAAC,GAACpF,KAAK,CAAC7H,IAAN,CAAW0C,CAAC,CAAC1lB,KAAF,IAAS,EAApB,CAAlC;AAA0D,aAAOqwB,CAAC,CAACh+B,MAAF,GAASg+B,CAAT,GAAWJ,CAAC,CAAC5gC,MAAF,CAAUq2B,CAAC,IAAE,WAASA,CAAC,CAACq9G,IAAxB,EAA+B7zI,GAA/B,CAAoCw2B,CAAC,IAAEA,CAAC,CAACotQ,SAAF,EAAvC,CAAlB;AAAyE;;AAAA,UAAMC,EAAN,SAAiBpF,EAAjB,CAAmB;AAACxoS,MAAAA,WAAW,GAAE;AAAC,cAAM,GAAG+qC,SAAT,GAAoB,KAAK09P,YAAL,GAAkB,aAAtC;AAAoD;;AAAAC,MAAAA,UAAU,CAACnoQ,CAAD,EAAG;AAAC,cAAM2K,CAAC,GAAC3K,CAAC,CAACstQ,eAAF,EAAR;AAAA,cAA4B/iQ,CAAC,GAAC,KAAKurK,IAAnC;AAAA,cAAwCvpK,CAAC,GAAChC,CAAC,CAAC7I,QAA5C;AAAqD,YAAI+K,CAAC,GAAC,IAAN;AAAA,YAAWnC,CAAC,GAAC,IAAb;AAAA,YAAkB83C,CAAC,GAAC,EAApB;AAAuB,YAAGpiD,CAAC,CAAC8pN,YAAF,KAAiBr9M,CAAC,GAAC,IAAIggQ,EAAJ,CAAOzsQ,CAAC,CAAC8pN,YAAT,CAAnB,GAA2C,SAAO9pN,CAAC,CAACr4B,IAAT,GAAc2iC,CAAC,GAACtK,CAAC,CAACr4B,IAAlB,GAAuB8kC,CAAC,KAAGnC,CAAC,GAACmC,CAAC,CAACqgQ,OAAF,CAAU,YAAV,CAAL,CAAnE,EAAiGvgQ,CAAC,CAACu9O,SAAF,CAAYqN,MAAhH,EAAuH/0M,CAAC,GAACj9C,KAAK,CAAC7H,IAAN,CAAWiP,CAAC,CAACu9O,SAAF,CAAYyN,SAAZ,EAAX,CAAF,CAAvH,KAAkK,IAAG5sP,CAAC,CAACh+B,MAAL,EAAYy1E,CAAC,GAACz3C,CAAC,CAACnhC,GAAF,CAAOw2B,CAAC,IAAE;AAAC,gBAAM2K,CAAC,GAACJ,CAAC,CAACqwP,YAAF,CAAeH,iBAAf,CAAiCz6P,CAAC,CAACw2O,cAAnC,EAAkDx2O,CAAC,CAACi/P,WAApD,CAAR;AAAA,gBAAyE1yP,CAAC,GAAChC,CAAC,CAACqwP,YAAF,CAAeH,iBAAf,CAAiCz6P,CAAC,CAACmmQ,YAAnC,EAAgDnmQ,CAAC,CAAComQ,SAAlD,CAA3E;AAAwI,iBAAOz7P,CAAC,GAACJ,CAAC,CAACy8E,WAAF,CAAcr8E,CAAd,EAAgB4B,CAAhB,CAAD,GAAoBA,CAAC,GAAChC,CAAC,CAACy8E,WAAF,CAAcz6E,CAAd,CAAD,GAAkB,KAAK,CAApD;AAAsD,SAAzM,EAA4M5iC,MAA5M,CAAoNq2B,CAAC,IAAE,CAAC,CAACA,CAAzN,CAAF,CAAZ,KAAgP,IAAGrpB,CAAC,CAAC2tP,SAAL,EAAe;AAAC,gBAAM35N,CAAC,GAAC3K,CAAC,CAAC4tB,MAAF,CAASolN,aAAT,CAAuBF,WAAvB,CAAmCunB,YAAnC,EAAR;AAA0Dj4M,UAAAA,CAAC,GAACj9C,KAAK,CAAC7H,IAAN,CAAWiN,CAAC,CAACqwP,YAAF,CAAegI,kBAAf,CAAkCj4P,CAAlC,EAAqC4sP,SAArC,EAAX,CAAF;AAA+D;AAAA,YAAG5gR,CAAC,CAAC2tP,SAAF,IAAa,2BAAyBtkO,CAAC,CAACutQ,SAAxC,IAAmDjjQ,CAAnD,IAAsDA,CAAC,CAACyvE,QAAF,CAAW,IAAX,CAAzD,EAA0E,KAAK2L,IAAL,CAAU1lF,CAAC,CAAC/oB,IAAZ,EAAiB+oB,CAAjB,EAAmB;AAACutQ,UAAAA,SAAS,EAAC,iBAAX;AAA6BC,UAAAA,YAAY,EAAC,CAACjjQ,CAAC,CAACy8E,WAAF,CAAc5kC,CAAC,CAAC,CAAD,CAAD,CAAKskC,GAAnB,CAAD;AAA1C,SAAnB,EAA1E,KAAwK,IAAG,gBAAc1mF,CAAC,CAACutQ,SAAhB,IAA2BjjQ,CAA3B,IAA8BA,CAAC,CAACn+B,QAAF,CAAW,IAAX,CAAjC,EAAkD;AAAC,gBAAMw+B,CAAC,GAACL,CAAC,CAACvrB,KAAF,CAAQ,UAAR,CAAR;AAA4B,cAAIwrB,CAAC,GAAC63C,CAAN;;AAAQ,eAAI,IAAIzrE,CAAC,GAAC,CAAV,EAAYA,CAAC,GAACg0B,CAAC,CAACh+B,MAAhB,EAAuBgK,CAAC,EAAxB,EAA2B;AAAC,kBAAM2zB,CAAC,GAACK,CAAC,CAACh0B,CAAD,CAAT;AAAa,kBAAI2zB,CAAJ,KAAQ,KAAKo7E,IAAL,CAAU1lF,CAAC,CAAC/oB,IAAZ,EAAiB+oB,CAAjB,EAAmB;AAACr4B,cAAAA,IAAI,EAAC2iC,CAAN;AAAQw/M,cAAAA,YAAY,EAACr9M,CAArB;AAAuB+gQ,cAAAA,YAAY,EAACjjQ,CAApC;AAAsCgjQ,cAAAA,SAAS,EAACvtQ,CAAC,CAACutQ,SAAlD;AAA4D5gB,cAAAA,WAAW,EAAC3sP,CAAC,CAAC2sP;AAA1E,aAAnB,GAA2GpiP,CAAC,GAAC,CAACgC,CAAC,CAACu9O,SAAF,CAAY0N,aAAZ,EAAD,CAArH,GAAoJ7gR,CAAC,GAAC,CAAF,GAAIg0B,CAAC,CAACh+B,MAAN,KAAe,KAAK+4G,IAAL,CAAU1lF,CAAC,CAAC/oB,IAAZ,EAAiB+oB,CAAjB,EAAmB;AAACutQ,cAAAA,SAAS,EAAC,iBAAX;AAA6BC,cAAAA,YAAY,EAACjjQ;AAA1C,aAAnB,GAAiEA,CAAC,GAAC,CAACgC,CAAC,CAACu9O,SAAF,CAAY0N,aAAZ,EAAD,CAAlF,CAApJ;AAAqQ;AAAC,SAAtY,MAA2Y,KAAK9xK,IAAL,CAAU1lF,CAAC,CAAC/oB,IAAZ,EAAiB+oB,CAAjB,EAAmB;AAACr4B,UAAAA,IAAI,EAAC2iC,CAAN;AAAQw/M,UAAAA,YAAY,EAACr9M,CAArB;AAAuB+gQ,UAAAA,YAAY,EAACprN,CAApC;AAAsCmrN,UAAAA,SAAS,EAACvtQ,CAAC,CAACutQ,SAAlD;AAA4D5gB,UAAAA,WAAW,EAAC3sP,CAAC,CAAC2sP;AAA1E,SAAnB;AAA2G;;AAAt1C;;AAAu1C,UAAM8gB,EAAN,SAAiB9F,EAAjB,CAAmB;AAACloS,MAAAA,WAAW,CAACugC,CAAD,EAAG;AAAC,cAAMA,CAAN,GAAS,KAAK0B,QAAL,CAAcjgB,EAAd,CAAiB,SAAjB,EAA4B,CAACue,CAAD,EAAG2K,CAAH,KAAO;AAAC,cAAG,KAAK0vH,SAAL,KAAiB,CAAC9vH,CAAC,GAACI,CAAC,CAAC0wO,OAAL,KAAeX,EAAE,CAACG,UAAlB,IAA8BtwO,CAAC,IAAEmwO,EAAE,CAACC,SAApC,IAA+CpwO,CAAC,IAAEmwO,EAAE,CAACE,OAArD,IAA8DrwO,CAAC,IAAEmwO,EAAE,CAACI,SAArF,CAAH,EAAmG;AAAC,kBAAMvwO,CAAC,GAAC,IAAIkuP,EAAJ,CAAO,KAAK/2P,QAAZ,EAAqB,UAArB,EAAgC,KAAKA,QAAL,CAAcooP,SAAd,CAAwB0N,aAAxB,EAAhC,CAAR;AAAiF,iBAAK91P,QAAL,CAAcgkF,IAAd,CAAmBn7E,CAAnB,EAAqBI,CAArB,GAAwBJ,CAAC,CAAC66E,IAAF,CAAO0/I,MAAP,IAAe9kO,CAAC,CAAColF,IAAF,EAAvC;AAAgD;;AAAA,cAAI76E,CAAJ;AAAM,SAA/Q,CAAT;AAA2R;;AAAA0sO,MAAAA,OAAO,GAAE,CAAE;;AAAAmxB,MAAAA,aAAa,GAAE,CAAE;;AAAvU;;AAAwU,UAAMhvE,EAAN,SAAiBuuE,EAAjB,CAAmB;AAACloS,MAAAA,WAAW,CAACugC,CAAD,EAAG;AAAC,cAAMA,CAAN;AAAS,cAAM2K,CAAC,GAAC,KAAKjJ,QAAb;AAAsBiJ,QAAAA,CAAC,CAAClpB,EAAF,CAAK,SAAL,EAAgB,CAACue,CAAD,EAAGuK,CAAH,KAAO;AAAC,cAAG,CAAC,KAAK8vH,SAAN,IAAiB9vH,CAAC,CAAC8wO,OAAF,IAAWX,EAAE,CAACS,GAA/B,IAAoC5wO,CAAC,CAACgxO,OAAzC,EAAiD;AAAO,gBAAMhvO,CAAC,GAAC,IAAIksP,EAAJ,CAAO9tP,CAAP,EAAS,KAAT,EAAeA,CAAC,CAACm/O,SAAF,CAAY0N,aAAZ,EAAf,CAAR;AAAoD7sP,UAAAA,CAAC,CAAC+6E,IAAF,CAAOn5E,CAAP,EAAShC,CAAT,GAAYgC,CAAC,CAAC64E,IAAF,CAAO0/I,MAAP,IAAe9kO,CAAC,CAAColF,IAAF,EAA3B;AAAoC,SAAxK;AAA2K;;AAAA6xJ,MAAAA,OAAO,GAAE,CAAE;;AAAAmxB,MAAAA,aAAa,GAAE,CAAE;;AAAtP;;AAAuP,UAAMsF,EAAE,GAAC,UAAS1tQ,CAAT,EAAW;AAAC,aAAOyqL,EAAE,CAACzqL,CAAD,EAAG,CAAH,CAAT;AAAe,KAApC;;AAAqC,UAAM2tQ,EAAN,SAAiBtrN,CAAC,EAAlB,CAAqB;AAAC5iF,MAAAA,WAAW,CAACugC,CAAD,EAAG;AAAC,iBAAQ,KAAK4tQ,QAAL,GAAc,IAAI3+P,GAAJ,EAAtB,EAA8B,KAAK4+P,yBAAL,GAA+B,IAAInxB,OAAJ,EAA7D,EAAyE,KAAKoxB,UAAL,GAAgB,IAAI7+P,GAAJ,EAAzF,EAAiG,KAAK8+P,cAAL,GAAoB,CAAC,CAAtH,EAAwH,KAAKC,qBAAL,GAA2B,CAAC,CAApJ,EAAsJ,KAAKC,kBAAL,GAAwB,CAAC,CAA/K,EAAiL,KAAKC,gCAAL,GAAsC,CAAC,CAAxN,EAA0N,KAAKxsQ,QAAL,GAAc,IAAI03P,EAAJ,CAAOp5P,CAAP,CAAxO,EAAkP,KAAK46P,YAAL,GAAkB,IAAI5oO,EAAJ,CAAO,KAAKtwB,QAAZ,CAApQ,EAA0R,KAAKoD,GAAL,CAAS,uBAAT,EAAiC,CAAC,CAAlC,CAA1R,EAA+T,KAAKA,GAAL,CAAS,iBAAT,EAA2B,CAAC,CAA5B,CAA/T,EAA8V,KAAK0zK,SAAL,GAAe,IAAI4mF,EAAJ,CAAO,KAAKxE,YAAZ,EAAyB,KAAKl5P,QAAL,CAAcooP,SAAvC,CAA7W,EAA+Z,KAAKtxE,SAAL,CAAezjL,IAAf,CAAoB,WAApB,EAAgC,aAAhC,EAA8C,aAA9C,EAA6D03J,EAA7D,CAAgE,KAAK/qJ,QAArE,EAA8E,WAA9E,EAA0F,aAA1F,EAAwG,aAAxG,CAA/Z,EAAshB,KAAKysQ,OAAL,GAAa,IAAInT,EAAJ,CAAO,KAAKt5P,QAAZ,CAAniB,EAAyjB,KAAK0sQ,WAAL,CAAiBxD,EAAjB,CAAzjB,EAA8kB,KAAKwD,WAAL,CAAiB76E,EAAjB,CAA9kB,EAAmmB,KAAK66E,WAAL,CAAiB/+E,EAAjB,CAAnmB,EAAwnB,KAAK++E,WAAL,CAAiB/F,EAAjB,CAAxnB,EAA6oB,KAAK+F,WAAL,CAAiB9E,EAAjB,CAA7oB,EAAkqB,KAAK8E,WAAL,CAAiB77E,EAAjB,CAAlqB,EAAurB,KAAK67E,WAAL,CAAiBX,EAAjB,CAAvrB,EAA4sB,KAAKW,WAAL,CAAiBf,EAAjB,CAA5sB,EAAiuB,KAAKe,WAAL,CAAiBh1E,EAAjB,CAAjuB,EAAsvB,KAAK13L,QAAL,CAAcjgB,EAAd,CAAiB,UAAjB,EAA4Bu9Q,EAA5B,EAA+B;AAACr5K,UAAAA,QAAQ,EAAC;AAAV,SAA/B,CAAtvB,EAAuyBw0K,EAAE,CAAC,IAAD,CAAzyB,EAAgzB,KAAK14Q,EAAL,CAAQ,QAAR,EAAkB,MAAI;AAAC,eAAKgkO,OAAL,IAAe,KAAK/jN,QAAL,CAAcgkF,IAAd,CAAmB,eAAnB,CAAf,EAAmD,KAAKwoL,gCAAL,GAAsC,CAAC,CAA1F;AAA4F,SAAnH,CAAhzB,EAAs6B,KAAK1oC,QAAL,CAAc,KAAK9jO,QAAL,CAAcooP,SAA5B,EAAsC,QAAtC,EAAgD,MAAI;AAAC,eAAKokB,gCAAL,GAAsC,CAAC,CAAvC;AAAyC,SAA9F,CAAt6B,EAAugC,KAAK1oC,QAAL,CAAc,KAAK9jO,QAAnB,EAA4B,kBAA5B,EAAgD,MAAI;AAAC,eAAKwsQ,gCAAL,GAAsC,CAAC,CAAvC;AAAyC,SAA9F,CAAvgC,EAAwmCv3R,CAAC,CAACytP,KAAF,IAAS,KAAKoB,QAAL,CAAc,KAAK9jO,QAAnB,EAA4B,MAA5B,EAAoC,CAAC1B,CAAD,EAAG2K,CAAH,KAAO;AAAC,eAAKiwP,YAAL,CAAkBmI,YAAlB,CAA+Bp4P,CAAC,CAACq9P,QAAF,CAAWqG,aAA1C,KAA0D,KAAKzT,YAAL,CAAkB4L,kBAAlB,EAA1D;AAAiG,SAA7I,CAAjnC;AAAiwC;;AAAA8H,MAAAA,aAAa,CAACtuQ,CAAD,EAAG2K,CAAC,GAAC,MAAL,EAAY;AAAC,cAAMJ,CAAC,GAAC,KAAK7I,QAAL,CAAc0kF,OAAd,CAAsBz7E,CAAtB,CAAR;AAAiCJ,QAAAA,CAAC,CAACgqP,KAAF,GAAQv0P,CAAC,CAAC+5K,OAAF,CAAU1yK,WAAV,EAAR;AAAgC,cAAMkF,CAAC,GAAC,EAAR;;AAAW,aAAI,MAAK;AAAC/7B,UAAAA,IAAI,EAACm6B,CAAN;AAAQz5B,UAAAA,KAAK,EAACyF;AAAd,SAAT,IAA4BwuB,KAAK,CAAC7H,IAAN,CAAW0C,CAAC,CAACikF,UAAb,CAA5B,EAAqD13E,CAAC,CAAC5B,CAAD,CAAD,GAAKh0B,CAAL,EAAO,YAAUg0B,CAAV,GAAY,KAAKwjQ,OAAL,CAAavhB,QAAb,CAAsBj2Q,CAAC,CAACoI,KAAF,CAAQ,GAAR,CAAtB,EAAmCwrB,CAAnC,CAAZ,GAAkD,KAAK4jQ,OAAL,CAAazyN,YAAb,CAA0B/wC,CAA1B,EAA4Bh0B,CAA5B,EAA8B4zB,CAA9B,CAAzD;;AAA0F,aAAKsjQ,yBAAL,CAA+B/oQ,GAA/B,CAAmC9E,CAAnC,EAAqCuM,CAArC;;AAAwC,cAAM51B,CAAC,GAAC,MAAI;AAAC,eAAKw3R,OAAL,CAAazyN,YAAb,CAA0B,iBAA1B,EAA4C,CAAC,CAACnxC,CAAC,CAAC0/O,UAAJ,EAAgB/sO,QAAhB,EAA5C,EAAuE3S,CAAvE,GAA0EA,CAAC,CAAC0/O,UAAF,GAAa,KAAKkkB,OAAL,CAAavhB,QAAb,CAAsB,cAAtB,EAAqCriP,CAArC,CAAb,GAAqD,KAAK4jQ,OAAL,CAAa1hB,WAAb,CAAyB,cAAzB,EAAwCliP,CAAxC,CAA/H;AAA0K,SAAvL;;AAAwL5zB,QAAAA,CAAC,IAAG,KAAKi3R,QAAL,CAAc9oQ,GAAd,CAAkB6F,CAAlB,EAAoB3K,CAApB,CAAH,EAA0B,KAAK46P,YAAL,CAAkBuG,YAAlB,CAA+BnhQ,CAA/B,EAAiCuK,CAAjC,CAA1B,EAA8D,KAAKiuK,SAAL,CAAeonF,UAAf,CAA0B,UAA1B,EAAqCr1P,CAArC,CAA9D,EAAsG,KAAKiuK,SAAL,CAAeonF,UAAf,CAA0B,YAA1B,EAAuCr1P,CAAvC,CAAtG,EAAgJ,KAAKiuK,SAAL,CAAe6mF,YAAf,CAA4BzqQ,GAA5B,CAAgCoL,CAAC,CAACgzO,aAAlC,CAAhJ,EAAiMzoO,CAAC,CAAC9oB,EAAF,CAAK,iBAAL,EAAwB,CAACue,CAAD,EAAG2K,CAAH,KAAO,KAAK6tK,SAAL,CAAeonF,UAAf,CAA0B,UAA1B,EAAqCj1P,CAArC,CAA/B,CAAjM,EAA0QJ,CAAC,CAAC9oB,EAAF,CAAK,mBAAL,EAA0B,CAACue,CAAD,EAAG2K,CAAH,KAAO,KAAK6tK,SAAL,CAAeonF,UAAf,CAA0B,YAA1B,EAAuCj1P,CAAvC,CAAjC,CAA1Q,EAAuVJ,CAAC,CAAC9oB,EAAF,CAAK,aAAL,EAAoB,CAACue,CAAD,EAAG2K,CAAH,KAAO,KAAK6tK,SAAL,CAAeonF,UAAf,CAA0B,MAA1B,EAAiCj1P,CAAjC,CAA3B,CAAvV,EAAwZJ,CAAC,CAAC9oB,EAAF,CAAK,mBAAL,EAA0B,MAAI,KAAKigM,MAAL,CAAY/qM,CAAZ,CAA9B,CAAxZ,EAAuc4zB,CAAC,CAAC9oB,EAAF,CAAK,QAAL,EAAe,MAAI;AAAC,eAAKysR,gCAAL,GAAsC,CAAC,CAAvC;AAAyC,SAA7D,CAAxc;;AAAwgB,aAAI,MAAM3jQ,CAAV,IAAe,KAAKujQ,UAAL,CAAgBzsP,MAAhB,EAAf,EAAwC9W,CAAC,CAAC0sO,OAAF,CAAUj3O,CAAV,EAAY2K,CAAZ;AAAe;;AAAA4jQ,MAAAA,aAAa,CAACvuQ,CAAD,EAAG;AAAC,cAAM2K,CAAC,GAAC,KAAKijQ,QAAL,CAAcntS,GAAd,CAAkBu/B,CAAlB,CAAR;AAA6BmF,QAAAA,KAAK,CAAC7H,IAAN,CAAWqN,CAAC,CAACs5E,UAAb,EAAyBp+E,OAAzB,CAAkC,CAAC;AAACr1B,UAAAA,IAAI,EAACwvB;AAAN,SAAD,KAAY2K,CAAC,CAACk5N,eAAF,CAAkB7jO,CAAlB,CAA9C;;AAAqE,cAAMuK,CAAC,GAAC,KAAKsjQ,yBAAL,CAA+BptS,GAA/B,CAAmCkqC,CAAnC,CAAR;;AAA8C,aAAI,MAAM3K,CAAV,IAAeuK,CAAf,EAAiBI,CAAC,CAAC+wC,YAAF,CAAe17C,CAAf,EAAiBuK,CAAC,CAACvK,CAAD,CAAlB;;AAAuB,aAAK4tQ,QAAL,CAAch5P,MAAd,CAAqB5U,CAArB,GAAwB,KAAK46P,YAAL,CAAkBsG,gBAAlB,CAAmCv2P,CAAnC,CAAxB;;AAA8D,aAAI,MAAM3K,CAAV,IAAe,KAAK8tQ,UAAL,CAAgBzsP,MAAhB,EAAf,EAAwCrhB,CAAC,CAACooQ,aAAF,CAAgBz9P,CAAhB;AAAmB;;AAAA6jQ,MAAAA,UAAU,CAACxuQ,CAAC,GAAC,MAAH,EAAU;AAAC,eAAO,KAAK4tQ,QAAL,CAAcntS,GAAd,CAAkBu/B,CAAlB,CAAP;AAA4B;;AAAAouQ,MAAAA,WAAW,CAACpuQ,CAAD,EAAG;AAAC,YAAI2K,CAAC,GAAC,KAAKmjQ,UAAL,CAAgBrtS,GAAhB,CAAoBu/B,CAApB,CAAN;;AAA6B,YAAG2K,CAAH,EAAK,OAAOA,CAAP;AAASA,QAAAA,CAAC,GAAC,IAAI3K,CAAJ,CAAM,IAAN,CAAF,EAAc,KAAK8tQ,UAAL,CAAgBhpQ,GAAhB,CAAoB9E,CAApB,EAAsB2K,CAAtB,CAAd;;AAAuC,aAAI,MAAK,CAAC3K,CAAD,EAAGuK,CAAH,CAAT,IAAiB,KAAKqjQ,QAAtB,EAA+BjjQ,CAAC,CAACssO,OAAF,CAAU1sO,CAAV,EAAYvK,CAAZ;;AAAe,eAAO2K,CAAC,CAAC5Y,MAAF,IAAW4Y,CAAlB;AAAoB;;AAAAohQ,MAAAA,WAAW,CAAC/rQ,CAAD,EAAG;AAAC,eAAO,KAAK8tQ,UAAL,CAAgBrtS,GAAhB,CAAoBu/B,CAApB,CAAP;AAA8B;;AAAAyuQ,MAAAA,gBAAgB,GAAE;AAAC,aAAI,MAAMzuQ,CAAV,IAAe,KAAK8tQ,UAAL,CAAgBzsP,MAAhB,EAAf,EAAwCrhB,CAAC,CAAChO,OAAF;AAAY;;AAAA08Q,MAAAA,eAAe,GAAE;AAAC,aAAI,MAAM1uQ,CAAV,IAAe,KAAK8tQ,UAAL,CAAgBzsP,MAAhB,EAAf,EAAwCrhB,CAAC,CAACjO,MAAF;AAAW;;AAAA48Q,MAAAA,oBAAoB,CAAC;AAACp1B,QAAAA,UAAU,EAACv5O,CAAZ;AAAcw5O,QAAAA,WAAW,EAAC7uO,CAA1B;AAA4B8uO,QAAAA,cAAc,EAAClvO,CAAC,GAAC,EAA7C;AAAgDyvO,QAAAA,cAAc,EAACztO,CAAC,GAAC;AAAjE,UAAqE,EAAtE,EAAyE;AAAC,cAAM51B,CAAC,GAAC,KAAK+qB,QAAL,CAAcooP,SAAd,CAAwB0N,aAAxB,EAAR;AAAgD,YAAG,CAAC7gR,CAAJ,EAAM;AAAO,cAAM81B,CAAC,GAACihQ,EAAE,CAAC;AAACn0B,UAAAA,UAAU,EAACv5O,CAAZ;AAAcw5O,UAAAA,WAAW,EAAC7uO,CAA1B;AAA4B8uO,UAAAA,cAAc,EAAClvO,CAA3C;AAA6CyvO,UAAAA,cAAc,EAACztO;AAA5D,SAAD,CAAV;AAA2E,oBAAU,OAAOhC,CAAjB,KAAqBA,CAAC,GAAC;AAAC2pC,UAAAA,GAAG,EAAC3pC,CAAL;AAAOkqO,UAAAA,MAAM,EAAClqO,CAAd;AAAgB6pC,UAAAA,IAAI,EAAC7pC,CAArB;AAAuB/d,UAAAA,KAAK,EAAC+d;AAA7B,SAAvB;AAAwD,cAAMD,CAAC,GAAC;AAACsjB,UAAAA,MAAM,EAAC,KAAKgtO,YAAL,CAAkB8K,cAAlB,CAAiC/uR,CAAjC,CAAR;AAA4C8iQ,UAAAA,cAAc,EAAClvO,CAA3D;AAA6DyvO,UAAAA,cAAc,EAACztO,CAA5E;AAA8EgtO,UAAAA,UAAU,EAACv5O,CAAzF;AAA2Fw5O,UAAAA,WAAW,EAAC7uO;AAAvG,SAAR;AAAkH,aAAK+6E,IAAL,CAAU,sBAAV,EAAiCp7E,CAAjC,EAAmCmC,CAAnC,GAAsC,UAAS;AAACmhB,UAAAA,MAAM,EAAC5tB,CAAR;AAAUy5O,UAAAA,cAAc,EAAC9uO,CAAC,GAAC,CAA3B;AAA6BqvO,UAAAA,cAAc,EAACzvO,CAAC,GAAC,CAA9C;AAAgDgvO,UAAAA,UAAU,EAAChtO,CAA3D;AAA6DitO,UAAAA,WAAW,EAAC7iQ;AAAzE,SAAT,EAAqF;AAAC,gBAAM81B,CAAC,GAACytO,EAAE,CAACl6O,CAAD,CAAV;AAAc,cAAIsK,CAAC,GAACmC,CAAN;AAAA,cAAQ21C,CAAC,GAAC,IAAV;;AAAe,eAAIz3C,CAAC,GAAC,UAAS3K,CAAT,EAAW;AAAC,mBAAM,YAAU,OAAOA,CAAjB,GAAmB;AAACk0C,cAAAA,GAAG,EAACl0C,CAAL;AAAOy0O,cAAAA,MAAM,EAACz0O,CAAd;AAAgBo0C,cAAAA,IAAI,EAACp0C,CAArB;AAAuBxT,cAAAA,KAAK,EAACwT;AAA7B,aAAnB,GAAmDA,CAAzD;AAA2D,WAAvE,CAAwE2K,CAAxE,CAAN,EAAiFL,CAAjF,GAAoF;AAAC,gBAAIqzI,CAAJ;AAAMA,YAAAA,CAAC,GAAC/lK,EAAE,CAAC0yB,CAAC,IAAEmC,CAAH,GAAKzM,CAAL,GAAOoiD,CAAR,CAAJ,EAAe03L,EAAE,CAAC;AAAC34L,cAAAA,MAAM,EAACw8F,CAAR;AAAUo8F,cAAAA,OAAO,EAAC,MAAII,EAAE,CAACn6O,CAAD,EAAGsK,CAAH,CAAxB;AAA8BivO,cAAAA,UAAU,EAAChtO,CAAzC;AAA2CytO,cAAAA,cAAc,EAACzvO,CAA1D;AAA4DivO,cAAAA,WAAW,EAAC7iQ;AAAxE,aAAD,CAAjB;AAA8F,kBAAMu1M,CAAC,GAACiuD,EAAE,CAACn6O,CAAD,EAAGsK,CAAH,CAAV;;AAAgB,gBAAG+uO,EAAE,CAAC;AAACl6P,cAAAA,MAAM,EAACmrB,CAAR;AAAUgvO,cAAAA,IAAI,EAACptD,CAAf;AAAiButD,cAAAA,cAAc,EAAC9uO,CAAhC;AAAkC4uO,cAAAA,UAAU,EAAChtO,CAA7C;AAA+CitO,cAAAA,WAAW,EAAC7iQ;AAA3D,aAAD,CAAF,EAAkE2zB,CAAC,CAAC62C,MAAF,IAAU72C,CAA/E,EAAiF;AAAC,kBAAG83C,CAAC,GAAC93C,CAAC,CAAC8vO,YAAJ,EAAiB9vO,CAAC,GAACA,CAAC,CAAC62C,MAArB,EAA4B,CAACiB,CAAhC,EAAkC;AAAO,aAA3H,MAAgI93C,CAAC,GAAC,IAAF;AAAO;AAAC,SAApc,CAAqcA,CAArc,CAAtC;AAA8e;;AAAA0oC,MAAAA,KAAK,GAAE;AAAC,YAAG,CAAC,KAAKtxC,QAAL,CAAck8O,SAAlB,EAA4B;AAAC,gBAAM59O,CAAC,GAAC,KAAK0B,QAAL,CAAcooP,SAAd,CAAwBuK,eAAhC;AAAgDr0P,UAAAA,CAAC,KAAG,KAAK46P,YAAL,CAAkB5nN,KAAlB,CAAwBhzC,CAAxB,GAA2B,KAAKyrQ,WAAL,EAA9B,CAAD;AAAmD;AAAC;;AAAA/pF,MAAAA,MAAM,CAAC1hL,CAAD,EAAG;AAAC,YAAG,KAAK4uQ,qBAAL,IAA4B,KAAKZ,qBAApC,EAA0D,MAAM,IAAI7rN,CAAJ,CAAM,yBAAN,EAAgC,IAAhC,CAAN;;AAA4C,YAAG;AAAC,cAAG,KAAK4rN,cAAR,EAAuB,OAAO/tQ,CAAC,CAAC,KAAKmuQ,OAAN,CAAR;AAAuB,eAAKJ,cAAL,GAAoB,CAAC,CAArB;AAAuB,gBAAMpjQ,CAAC,GAAC3K,CAAC,CAAC,KAAKmuQ,OAAN,CAAT;AAAwB,iBAAO,KAAKJ,cAAL,GAAoB,CAAC,CAArB,EAAuB,CAAC,KAAKE,kBAAN,IAA0B,KAAKC,gCAA/B,KAAkE,KAAKF,qBAAL,GAA2B,CAAC,CAA5B,EAA8B,KAAKtsQ,QAAL,CAAc43P,eAAd,CAA8B,KAAK6U,OAAnC,CAA9B,EAA0E,KAAKH,qBAAL,GAA2B,CAAC,CAAtG,EAAwG,KAAKtoL,IAAL,CAAU,QAAV,CAA1K,CAAvB,EAAsN/6E,CAA7N;AAA+N,SAAhU,CAAgU,OAAM3K,CAAN,EAAQ;AAACmiD,UAAAA,CAAC,CAACgjL,sBAAF,CAAyBnlO,CAAzB,EAA2B,IAA3B;AAAiC;AAAC;;AAAAyrQ,MAAAA,WAAW,GAAE;AAAC,aAAKyC,gCAAL,GAAsC,CAAC,CAAvC,EAAyC,KAAKnC,WAAL,CAAiBx4E,EAAjB,EAAqB14F,KAArB,EAAzC,EAAsE,KAAK6mF,MAAL,CAAa,MAAI,CAAE,CAAnB,CAAtE;AAA4F;;AAAA/iG,MAAAA,OAAO,GAAE;AAAC,aAAI,MAAM3+E,CAAV,IAAe,KAAK8tQ,UAAL,CAAgBzsP,MAAhB,EAAf,EAAwCrhB,CAAC,CAAC2+E,OAAF;;AAAY,aAAKj9E,QAAL,CAAci9E,OAAd,IAAwB,KAAK+mJ,aAAL,EAAxB;AAA6C;;AAAAy3B,MAAAA,gBAAgB,CAACn9P,CAAD,EAAG2K,CAAH,EAAK;AAAC,eAAO4lL,EAAE,CAACmkE,SAAH,CAAa10P,CAAb,EAAe2K,CAAf,CAAP;AAAyB;;AAAAyyP,MAAAA,mBAAmB,CAACp9P,CAAD,EAAG;AAAC,eAAOuwL,EAAE,CAAC4kE,YAAH,CAAgBn1P,CAAhB,CAAP;AAA0B;;AAAAq9P,MAAAA,oBAAoB,CAACr9P,CAAD,EAAG;AAAC,eAAOuwL,EAAE,CAAC+kE,aAAH,CAAiBt1P,CAAjB,CAAP;AAA2B;;AAAAgnF,MAAAA,WAAW,CAAChnF,CAAD,EAAG2K,CAAH,EAAK;AAAC,eAAO,IAAIorP,EAAJ,CAAO/1P,CAAP,EAAS2K,CAAT,CAAP;AAAmB;;AAAA2yP,MAAAA,aAAa,CAACt9P,CAAD,EAAG;AAAC,eAAO+1P,EAAE,CAACe,SAAH,CAAa92P,CAAb,CAAP;AAAuB;;AAAAu9P,MAAAA,aAAa,CAACv9P,CAAD,EAAG;AAAC,eAAO+1P,EAAE,CAACc,SAAH,CAAa72P,CAAb,CAAP;AAAuB;;AAAAw9P,MAAAA,eAAe,CAAC,GAAGx9P,CAAJ,EAAM;AAAC,eAAO,IAAI+P,EAAJ,CAAO,GAAG/P,CAAV,CAAP;AAAoB;;AAAA6uQ,MAAAA,iBAAiB,CAAC7uQ,CAAD,EAAG;AAAC,aAAKiuQ,kBAAL,GAAwBjuQ,CAAxB,EAA0B,KAAGA,CAAH,IAAM,KAAK0hL,MAAL,CAAa,MAAI,CAAE,CAAnB,CAAhC;AAAsD;;AAAA+jC,MAAAA,OAAO,GAAE;AAAC,aAAKmpD,qBAAL,GAA2B,CAAC,CAA5B,EAA8B,KAAKH,gBAAL,EAA9B,EAAsD,KAAKj2F,SAAL,CAAeomE,MAAf,EAAtD,EAA8E,KAAK8vB,eAAL,EAA9E,EAAqG,KAAKE,qBAAL,GAA2B,CAAC,CAAjI;AAAmI;;AAAprK;;AAAqrK,UAAME,EAAN,CAAQ;AAACjkL,MAAAA,EAAE,GAAE;AAAC,cAAM,IAAI19D,KAAJ,CAAU,yBAAV,CAAN;AAA2C;;AAAjD;;AAAkD,UAAM4hP,EAAN,SAAiBD,EAAjB,CAAmB;AAACrvS,MAAAA,WAAW,CAACugC,CAAD,EAAG;AAAC,iBAAQ,KAAKmhD,MAAL,GAAY,IAApB,EAAyB,KAAK0xM,MAAL,GAAY7U,EAAE,CAACh+O,CAAD,CAAvC;AAA2C;;AAAY,UAAR0B,QAAQ,GAAE;AAAC,eAAO,IAAP;AAAY;;AAAS,UAAL8f,KAAK,GAAE;AAAC,YAAIxhB,CAAJ;AAAM,YAAG,CAAC,KAAKmhD,MAAT,EAAgB,OAAO,IAAP;AAAY,YAAG,UAAQnhD,CAAC,GAAC,KAAKmhD,MAAL,CAAY4rM,aAAZ,CAA0B,IAA1B,CAAV,CAAH,EAA8C,MAAM,IAAI5qM,CAAJ,CAAM,gCAAN,EAAuC,IAAvC,CAAN;AAAmD,eAAOniD,CAAP;AAAS;;AAAe,UAAXi/P,WAAW,GAAE;AAAC,YAAIj/P,CAAJ;AAAM,YAAG,CAAC,KAAKmhD,MAAT,EAAgB,OAAO,IAAP;AAAY,YAAG,UAAQnhD,CAAC,GAAC,KAAKmhD,MAAL,CAAY6tN,mBAAZ,CAAgC,IAAhC,CAAV,CAAH,EAAoD,MAAM,IAAI7sN,CAAJ,CAAM,gCAAN,EAAuC,IAAvC,CAAN;AAAmD,eAAOniD,CAAP;AAAS;;AAAc,UAAV4tP,UAAU,GAAE;AAAC,eAAO,CAAP;AAAS;;AAAa,UAATwY,SAAS,GAAE;AAAC,eAAO,KAAKjlN,MAAL,GAAY,KAAK89M,WAAL,GAAiB,KAAKrR,UAAlC,GAA6C,IAApD;AAAyD;;AAAe,UAAXnmB,WAAW,GAAE;AAAC,cAAMznO,CAAC,GAAC,KAAKwhB,KAAb;AAAmB,eAAO,SAAOxhB,CAAP,IAAU,KAAKmhD,MAAL,CAAY0rM,QAAZ,CAAqB7sP,CAAC,GAAC,CAAvB,CAAV,IAAqC,IAA5C;AAAiD;;AAAmB,UAAf43O,eAAe,GAAE;AAAC,cAAM53O,CAAC,GAAC,KAAKwhB,KAAb;AAAmB,eAAO,SAAOxhB,CAAP,IAAU,KAAKmhD,MAAL,CAAY0rM,QAAZ,CAAqB7sP,CAAC,GAAC,CAAvB,CAAV,IAAqC,IAA5C;AAAiD;;AAAQ,UAAJwD,IAAI,GAAE;AAAC,YAAIxD,CAAC,GAAC,IAAN;;AAAW,eAAKA,CAAC,CAACmhD,MAAP,GAAenhD,CAAC,GAACA,CAAC,CAACmhD,MAAJ;;AAAW,eAAOnhD,CAAP;AAAS;;AAAAwjF,MAAAA,UAAU,GAAE;AAAC,eAAO,SAAO,KAAKriC,MAAZ,IAAoB,KAAK39C,IAAL,CAAUggF,UAAV,EAA3B;AAAkD;;AAAAwpK,MAAAA,OAAO,GAAE;AAAC,cAAMhtP,CAAC,GAAC,EAAR;AAAW,YAAI2K,CAAC,GAAC,IAAN;;AAAW,eAAKA,CAAC,CAACw2C,MAAP,GAAenhD,CAAC,CAAC8oF,OAAF,CAAUn+E,CAAC,CAACs0P,WAAZ,GAAyBt0P,CAAC,GAACA,CAAC,CAACw2C,MAA7B;;AAAoC,eAAOnhD,CAAP;AAAS;;AAAAitP,MAAAA,YAAY,CAACjtP,CAAC,GAAC,EAAH,EAAM;AAAC,cAAM2K,CAAC,GAAC,EAAR;AAAW,YAAIJ,CAAC,GAACvK,CAAC,CAACktP,WAAF,GAAc,IAAd,GAAmB,KAAK/rM,MAA9B;;AAAqC,eAAK52C,CAAL,GAAQI,CAAC,CAAC3K,CAAC,CAACmtP,WAAF,GAAc,MAAd,GAAqB,SAAtB,CAAD,CAAkC5iP,CAAlC,GAAqCA,CAAC,GAACA,CAAC,CAAC42C,MAAzC;;AAAgD,eAAOx2C,CAAP;AAAS;;AAAAyiP,MAAAA,iBAAiB,CAACptP,CAAD,EAAG2K,CAAC,GAAC,EAAL,EAAQ;AAAC,cAAMJ,CAAC,GAAC,KAAK0iP,YAAL,CAAkBtiP,CAAlB,CAAR;AAAA,cAA6B4B,CAAC,GAACvM,CAAC,CAACitP,YAAF,CAAetiP,CAAf,CAA/B;AAAiD,YAAIh0B,CAAC,GAAC,CAAN;;AAAQ,eAAK4zB,CAAC,CAAC5zB,CAAD,CAAD,IAAM41B,CAAC,CAAC51B,CAAD,CAAP,IAAY4zB,CAAC,CAAC5zB,CAAD,CAAlB,GAAuBA,CAAC;;AAAG,eAAO,MAAIA,CAAJ,GAAM,IAAN,GAAW4zB,CAAC,CAAC5zB,CAAC,GAAC,CAAH,CAAnB;AAAyB;;AAAAif,MAAAA,QAAQ,CAACoK,CAAD,EAAG;AAAC,YAAG,QAAMA,CAAT,EAAW,OAAM,CAAC,CAAP;AAAS,YAAG,KAAKwD,IAAL,KAAYxD,CAAC,CAACwD,IAAjB,EAAsB,OAAM,CAAC,CAAP;AAAS,cAAMmH,CAAC,GAAC,KAAKqiP,OAAL,EAAR;AAAA,cAAuBziP,CAAC,GAACvK,CAAC,CAACgtP,OAAF,EAAzB;AAAA,cAAqCzgP,CAAC,GAACo7N,CAAC,CAACh9N,CAAD,EAAGJ,CAAH,CAAxC;;AAA8C,gBAAOgC,CAAP;AAAU,eAAI,QAAJ;AAAa,mBAAM,CAAC,CAAP;;AAAS,eAAI,WAAJ;AAAgB,mBAAM,CAAC,CAAP;;AAAS;AAAQ,mBAAO5B,CAAC,CAAC4B,CAAD,CAAD,GAAKhC,CAAC,CAACgC,CAAD,CAAb;AAAjE;AAAmF;;AAAAinM,MAAAA,OAAO,CAACxzM,CAAD,EAAG;AAAC,eAAO,QAAMA,CAAN,IAAU,KAAKwD,IAAL,KAAYxD,CAAC,CAACwD,IAAd,IAAoB,CAAC,KAAK5N,QAAL,CAAcoK,CAAd,CAAtC;AAAwD;;AAAAkzP,MAAAA,YAAY,CAAClzP,CAAD,EAAG;AAAC,eAAO,KAAK6yP,MAAL,CAAY/jO,GAAZ,CAAgB9uB,CAAhB,CAAP;AAA0B;;AAAA6hP,MAAAA,YAAY,CAAC7hP,CAAD,EAAG;AAAC,eAAO,KAAK6yP,MAAL,CAAYpyR,GAAZ,CAAgBu/B,CAAhB,CAAP;AAA0B;;AAAAkkF,MAAAA,aAAa,GAAE;AAAC,eAAO,KAAK2uK,MAAL,CAAYrwK,OAAZ,EAAP;AAA6B;;AAAA0rK,MAAAA,gBAAgB,GAAE;AAAC,eAAO,KAAK2E,MAAL,CAAYxtP,IAAZ,EAAP;AAA0B;;AAAAm/E,MAAAA,MAAM,GAAE;AAAC,cAAMxkF,CAAC,GAAC,EAAR;AAAW,eAAO,KAAK6yP,MAAL,CAAY1gL,IAAZ,KAAmBnyE,CAAC,CAACikF,UAAF,GAAa9+E,KAAK,CAAC7H,IAAN,CAAW,KAAKu1P,MAAhB,EAAwB17K,MAAxB,CAAgC,CAACn3E,CAAD,EAAG2K,CAAH,MAAQ3K,CAAC,CAAC2K,CAAC,CAAC,CAAD,CAAF,CAAD,GAAQA,CAAC,CAAC,CAAD,CAAT,EAAa3K,CAArB,CAAhC,EAAyD,EAAzD,CAAhC,GAA8FA,CAArG;AAAuG;;AAAAytP,MAAAA,MAAM,CAACztP,CAAD,EAAG;AAAC,eAAO,IAAI,KAAKvgC,WAAT,CAAqB,KAAKozR,MAA1B,CAAP;AAAyC;;AAAA5V,MAAAA,OAAO,GAAE;AAAC,aAAK97L,MAAL,CAAYksM,eAAZ,CAA4B,KAAK7rO,KAAjC;AAAwC;;AAAAmyO,MAAAA,aAAa,CAAC3zP,CAAD,EAAG2K,CAAH,EAAK;AAAC,aAAKkoP,MAAL,CAAY/tP,GAAZ,CAAgB9E,CAAhB,EAAkB2K,CAAlB;AAAqB;;AAAAskQ,MAAAA,gBAAgB,CAACjvQ,CAAD,EAAG;AAAC,aAAK6yP,MAAL,GAAY7U,EAAE,CAACh+O,CAAD,CAAd;AAAkB;;AAAA4zP,MAAAA,gBAAgB,CAAC5zP,CAAD,EAAG;AAAC,eAAO,KAAK6yP,MAAL,CAAYj+O,MAAZ,CAAmB5U,CAAnB,CAAP;AAA6B;;AAAAkvQ,MAAAA,gBAAgB,GAAE;AAAC,aAAKrc,MAAL,CAAYn0O,KAAZ;AAAoB;;AAA37D;;AAA47DqwP,IAAAA,EAAE,CAAC9kQ,SAAH,CAAa4gF,EAAb,GAAgB,UAAS7qF,CAAT,EAAW;AAAC,aAAM,WAASA,CAAT,IAAY,iBAAeA,CAAjC;AAAmC,KAA/D;;AAAgE,UAAMmvQ,EAAN,CAAQ;AAAC1vS,MAAAA,WAAW,CAACugC,CAAD,EAAG;AAAC,aAAKovQ,MAAL,GAAY,EAAZ,EAAepvQ,CAAC,IAAE,KAAK08P,YAAL,CAAkB,CAAlB,EAAoB18P,CAApB,CAAlB;AAAyC;;AAAgB,OAAfkM,MAAM,CAACC,QAAQ,IAAG;AAAC,eAAO,KAAKijQ,MAAL,CAAYljQ,MAAM,CAACC,QAAnB,GAAP;AAAsC;;AAAU,UAANx/B,MAAM,GAAE;AAAC,eAAO,KAAKyiS,MAAL,CAAYziS,MAAnB;AAA0B;;AAAa,UAAT0iS,SAAS,GAAE;AAAC,eAAO,KAAKD,MAAL,CAAYj4L,MAAZ,CAAoB,CAACn3E,CAAD,EAAG2K,CAAH,KAAO3K,CAAC,GAAC2K,CAAC,CAACijP,UAA/B,EAA2C,CAA3C,CAAP;AAAqD;;AAAA0hB,MAAAA,OAAO,CAACtvQ,CAAD,EAAG;AAAC,eAAO,KAAKovQ,MAAL,CAAYpvQ,CAAZ,KAAgB,IAAvB;AAA4B;;AAAAuvQ,MAAAA,YAAY,CAACvvQ,CAAD,EAAG;AAAC,cAAM2K,CAAC,GAAC,KAAKykQ,MAAL,CAAYh3R,OAAZ,CAAoB4nB,CAApB,CAAR;;AAA+B,eAAM,CAAC,CAAD,IAAI2K,CAAJ,GAAM,IAAN,GAAWA,CAAjB;AAAmB;;AAAA6kQ,MAAAA,kBAAkB,CAACxvQ,CAAD,EAAG;AAAC,cAAM2K,CAAC,GAAC,KAAK4kQ,YAAL,CAAkBvvQ,CAAlB,CAAR;AAA6B,eAAO,SAAO2K,CAAP,GAAS,IAAT,GAAc,KAAKykQ,MAAL,CAAY12L,KAAZ,CAAkB,CAAlB,EAAoB/tE,CAApB,EAAuBwsE,MAAvB,CAA+B,CAACn3E,CAAD,EAAG2K,CAAH,KAAO3K,CAAC,GAAC2K,CAAC,CAACijP,UAA1C,EAAsD,CAAtD,CAArB;AAA8E;;AAAA6hB,MAAAA,aAAa,CAACzvQ,CAAD,EAAG;AAAC,YAAGA,CAAC,IAAE,KAAKovQ,MAAL,CAAYziS,MAAlB,EAAyB,OAAO,KAAK0iS,SAAZ;AAAsB,cAAM1kQ,CAAC,GAAC,KAAKykQ,MAAL,CAAYpvQ,CAAZ,CAAR;AAAuB,YAAG,CAAC2K,CAAJ,EAAM,MAAM,IAAIw3C,CAAJ,CAAM,oCAAN,EAA2C,IAA3C,CAAN;AAAuD,eAAO,KAAKqtN,kBAAL,CAAwB7kQ,CAAxB,CAAP;AAAkC;;AAAA+kQ,MAAAA,aAAa,CAAC1vQ,CAAD,EAAG;AAAC,YAAI2K,CAAC,GAAC,CAAN;;AAAQ,aAAI,MAAMJ,CAAV,IAAe,KAAK6kQ,MAApB,EAA2B;AAAC,cAAGpvQ,CAAC,IAAE2K,CAAH,IAAM3K,CAAC,GAAC2K,CAAC,GAACJ,CAAC,CAACqjP,UAAf,EAA0B,OAAO,KAAK2hB,YAAL,CAAkBhlQ,CAAlB,CAAP;AAA4BI,UAAAA,CAAC,IAAEJ,CAAC,CAACqjP,UAAL;AAAgB;;AAAA,YAAGjjP,CAAC,IAAE3K,CAAN,EAAQ,MAAM,IAAImiD,CAAJ,CAAM,qCAAN,EAA4C,IAA5C,EAAiD;AAACk7B,UAAAA,MAAM,EAACr9E,CAAR;AAAU2vQ,UAAAA,QAAQ,EAAC;AAAnB,SAAjD,CAAN;AAAiF,eAAO,KAAKhjS,MAAZ;AAAmB;;AAAA+vR,MAAAA,YAAY,CAAC18P,CAAD,EAAG2K,CAAH,EAAK;AAAC,aAAI,MAAM3K,CAAV,IAAe2K,CAAf,EAAiB,IAAG,EAAE3K,CAAC,YAAY+uQ,EAAf,CAAH,EAAsB,MAAM,IAAI5sN,CAAJ,CAAM,qCAAN,EAA4C,IAA5C,CAAN;;AAAwD,aAAKitN,MAAL,GAAY,UAASpvQ,CAAT,EAAW2K,CAAX,EAAaJ,CAAb,EAAegC,CAAf,EAAiB;AAAC,cAAG2vB,IAAI,CAAC1qC,GAAL,CAASmZ,CAAC,CAACh+B,MAAX,EAAkBqzB,CAAC,CAACrzB,MAApB,IAA4B,GAA/B,EAAmC,OAAOqzB,CAAC,CAAC04E,KAAF,CAAQ,CAAR,EAAUnuE,CAAV,EAAaqC,MAAb,CAAoBjC,CAApB,EAAuBiC,MAAvB,CAA8B5M,CAAC,CAAC04E,KAAF,CAAQnuE,CAAC,GAACgC,CAAV,EAAYvM,CAAC,CAACrzB,MAAd,CAA9B,CAAP;AAA4D;AAAC,kBAAMgK,CAAC,GAACwuB,KAAK,CAAC7H,IAAN,CAAW0C,CAAX,CAAR;AAAsB,mBAAOrpB,CAAC,CAACwsH,MAAF,CAAS54F,CAAT,EAAWgC,CAAX,EAAa,GAAG5B,CAAhB,GAAmBh0B,CAA1B;AAA4B;AAAC,SAArK,CAAsK,KAAKy4R,MAA3K,EAAkLjqQ,KAAK,CAAC7H,IAAN,CAAWqN,CAAX,CAAlL,EAAgM3K,CAAhM,EAAkM,CAAlM,CAAZ;AAAiN;;AAAA4vQ,MAAAA,YAAY,CAAC5vQ,CAAD,EAAG2K,CAAC,GAAC,CAAL,EAAO;AAAC,eAAO,KAAKykQ,MAAL,CAAYjsK,MAAZ,CAAmBnjG,CAAnB,EAAqB2K,CAArB,CAAP;AAA+B;;AAAA65E,MAAAA,MAAM,GAAE;AAAC,eAAO,KAAK4qL,MAAL,CAAY5lS,GAAZ,CAAiBw2B,CAAC,IAAEA,CAAC,CAACwkF,MAAF,EAApB,CAAP;AAAwC;;AAA5wC;;AAA6wC,UAAMqrL,EAAN,SAAiBd,EAAjB,CAAmB;AAACtvS,MAAAA,WAAW,CAACugC,CAAD,EAAG2K,CAAH,EAAK;AAAC,cAAMA,CAAN,GAAS,KAAK83E,KAAL,GAAWziF,CAAC,IAAE,EAAvB;AAA0B;;AAAc,UAAV4tP,UAAU,GAAE;AAAC,eAAO,KAAKjmR,IAAL,CAAUgF,MAAjB;AAAwB;;AAAQ,UAAJhF,IAAI,GAAE;AAAC,eAAO,KAAK86G,KAAZ;AAAkB;;AAAA+B,MAAAA,MAAM,GAAE;AAAC,cAAMxkF,CAAC,GAAC,MAAMwkF,MAAN,EAAR;AAAuB,eAAOxkF,CAAC,CAACr4B,IAAF,GAAO,KAAKA,IAAZ,EAAiBq4B,CAAxB;AAA0B;;AAAAytP,MAAAA,MAAM,GAAE;AAAC,eAAO,IAAIoiB,EAAJ,CAAO,KAAKloS,IAAZ,EAAiB,KAAKu8G,aAAL,EAAjB,CAAP;AAA8C;;AAAe,aAAR4rL,QAAQ,CAAC9vQ,CAAD,EAAG;AAAC,eAAO,IAAI6vQ,EAAJ,CAAO7vQ,CAAC,CAACr4B,IAAT,EAAcq4B,CAAC,CAACikF,UAAhB,CAAP;AAAmC;;AAAzR;;AAA0R4rL,IAAAA,EAAE,CAAC5lQ,SAAH,CAAa4gF,EAAb,GAAgB,UAAS7qF,CAAT,EAAW;AAAC,aAAM,YAAUA,CAAV,IAAa,kBAAgBA,CAA7B,IAAgC,WAASA,CAAzC,IAA4C,iBAAeA,CAA3D,IAA8D,WAASA,CAAvE,IAA0E,iBAAeA,CAA/F;AAAiG,KAA7H;;AAA8H,UAAM+vQ,EAAN,SAAiBjB,EAAjB,CAAmB;AAACrvS,MAAAA,WAAW,CAACugC,CAAD,EAAG2K,CAAH,EAAKJ,CAAL,EAAO;AAAC,YAAG,SAAQ,KAAKmjP,QAAL,GAAc1tP,CAAtB,EAAwB2K,CAAC,GAAC,CAAF,IAAKA,CAAC,GAAC3K,CAAC,CAAC4tP,UAApC,EAA+C,MAAM,IAAIzrM,CAAJ,CAAM,oCAAN,EAA2C,IAA3C,CAAN;AAAuD,YAAG53C,CAAC,GAAC,CAAF,IAAKI,CAAC,GAACJ,CAAF,GAAIvK,CAAC,CAAC4tP,UAAd,EAAyB,MAAM,IAAIzrM,CAAJ,CAAM,8BAAN,EAAqC,IAArC,CAAN;AAAiD,aAAKx6E,IAAL,GAAUq4B,CAAC,CAACr4B,IAAF,CAAO6/C,SAAP,CAAiB7c,CAAjB,EAAmBA,CAAC,GAACJ,CAArB,CAAV,EAAkC,KAAKojP,YAAL,GAAkBhjP,CAApD;AAAsD;;AAAe,UAAXs0P,WAAW,GAAE;AAAC,eAAO,SAAO,KAAKvR,QAAL,CAAcuR,WAArB,GAAiC,KAAKvR,QAAL,CAAcuR,WAAd,GAA0B,KAAKtR,YAAhE,GAA6E,IAApF;AAAyF;;AAAc,UAAVC,UAAU,GAAE;AAAC,eAAO,KAAKjmR,IAAL,CAAUgF,MAAjB;AAAwB;;AAAa,UAATy5R,SAAS,GAAE;AAAC,eAAO,SAAO,KAAKnH,WAAZ,GAAwB,KAAKA,WAAL,GAAiB,KAAKrR,UAA9C,GAAyD,IAAhE;AAAqE;;AAAa,UAATC,SAAS,GAAE;AAAC,eAAO,KAAKD,UAAL,KAAkB,KAAKF,QAAL,CAAcE,UAAvC;AAAkD;;AAAU,UAANzsM,MAAM,GAAE;AAAC,eAAO,KAAKusM,QAAL,CAAcvsM,MAArB;AAA4B;;AAAQ,UAAJ39C,IAAI,GAAE;AAAC,eAAO,KAAKkqP,QAAL,CAAclqP,IAArB;AAA0B;;AAAAwpP,MAAAA,OAAO,GAAE;AAAC,cAAMhtP,CAAC,GAAC,KAAK0tP,QAAL,CAAcV,OAAd,EAAR;AAAgC,eAAOhtP,CAAC,CAACrzB,MAAF,GAAS,CAAT,KAAaqzB,CAAC,CAACA,CAAC,CAACrzB,MAAF,GAAS,CAAV,CAAD,IAAe,KAAKghR,YAAjC,GAA+C3tP,CAAtD;AAAwD;;AAAAitP,MAAAA,YAAY,CAACjtP,CAAC,GAAC,EAAH,EAAM;AAAC,cAAM2K,CAAC,GAAC,EAAR;AAAW,YAAIJ,CAAC,GAACvK,CAAC,CAACktP,WAAF,GAAc,IAAd,GAAmB,KAAK/rM,MAA9B;;AAAqC,eAAK52C,CAAL,GAAQI,CAAC,CAAC3K,CAAC,CAACmtP,WAAF,GAAc,MAAd,GAAqB,SAAtB,CAAD,CAAkC5iP,CAAlC,GAAqCA,CAAC,GAACA,CAAC,CAAC42C,MAAzC;;AAAgD,eAAOx2C,CAAP;AAAS;;AAAAuoP,MAAAA,YAAY,CAAClzP,CAAD,EAAG;AAAC,eAAO,KAAK0tP,QAAL,CAAcwF,YAAd,CAA2BlzP,CAA3B,CAAP;AAAqC;;AAAA6hP,MAAAA,YAAY,CAAC7hP,CAAD,EAAG;AAAC,eAAO,KAAK0tP,QAAL,CAAc7L,YAAd,CAA2B7hP,CAA3B,CAAP;AAAqC;;AAAAkkF,MAAAA,aAAa,GAAE;AAAC,eAAO,KAAKwpK,QAAL,CAAcxpK,aAAd,EAAP;AAAqC;;AAAAgqK,MAAAA,gBAAgB,GAAE;AAAC,eAAO,KAAKR,QAAL,CAAcQ,gBAAd,EAAP;AAAwC;;AAAnjC;;AAAojC6hB,IAAAA,EAAE,CAAC9lQ,SAAH,CAAa4gF,EAAb,GAAgB,UAAS7qF,CAAT,EAAW;AAAC,aAAM,iBAAeA,CAAf,IAAkB,uBAAqBA,CAAvC,IAA0C,gBAAcA,CAAxD,IAA2D,sBAAoBA,CAArF;AAAuF,KAAnH;;AAAoH,UAAMgwQ,EAAN,SAAiBjB,EAAjB,CAAmB;AAACtvS,MAAAA,WAAW,CAACugC,CAAD,EAAG2K,CAAH,EAAKJ,CAAL,EAAO;AAAC,cAAMI,CAAN,GAAS,KAAKmoP,SAAL,GAAe,IAAIqc,EAAJ,EAAxB,EAA+B,KAAK3+R,IAAL,GAAUwvB,CAAzC,EAA2CuK,CAAC,IAAE,KAAKwoP,YAAL,CAAkB,CAAlB,EAAoBxoP,CAApB,CAA9C;AAAqE;;AAAc,UAAVmiP,UAAU,GAAE;AAAC,eAAO,KAAKoG,SAAL,CAAenmR,MAAtB;AAA6B;;AAAa,UAAT0iS,SAAS,GAAE;AAAC,eAAO,KAAKvc,SAAL,CAAeuc,SAAtB;AAAgC;;AAAW,UAAPh5P,OAAO,GAAE;AAAC,eAAO,MAAI,KAAKq2O,UAAhB;AAA2B;;AAAAG,MAAAA,QAAQ,CAAC7sP,CAAD,EAAG;AAAC,eAAO,KAAK8yP,SAAL,CAAewc,OAAf,CAAuBtvQ,CAAvB,CAAP;AAAiC;;AAAAgkF,MAAAA,WAAW,GAAE;AAAC,eAAO,KAAK8uK,SAAL,CAAe5mP,MAAM,CAACC,QAAtB,GAAP;AAAyC;;AAAA4gP,MAAAA,aAAa,CAAC/sP,CAAD,EAAG;AAAC,eAAO,KAAK8yP,SAAL,CAAeyc,YAAf,CAA4BvvQ,CAA5B,CAAP;AAAsC;;AAAAgvQ,MAAAA,mBAAmB,CAAChvQ,CAAD,EAAG;AAAC,eAAO,KAAK8yP,SAAL,CAAe0c,kBAAf,CAAkCxvQ,CAAlC,CAAP;AAA4C;;AAAA0vQ,MAAAA,aAAa,CAAC1vQ,CAAD,EAAG;AAAC,eAAO,KAAK8yP,SAAL,CAAe4c,aAAf,CAA6B1vQ,CAA7B,CAAP;AAAuC;;AAAAiwQ,MAAAA,aAAa,CAACjwQ,CAAD,EAAG;AAAC,YAAI2K,CAAC,GAAC,IAAN;;AAAW,aAAI,MAAMJ,CAAV,IAAevK,CAAf,EAAiB2K,CAAC,GAACA,CAAC,CAACkiP,QAAF,CAAWliP,CAAC,CAAC+kQ,aAAF,CAAgBnlQ,CAAhB,CAAX,CAAF;;AAAiC,eAAOI,CAAP;AAAS;;AAAA0oP,MAAAA,YAAY,CAACrzP,CAAD,EAAG2K,CAAC,GAAC,EAAL,EAAQ;AAAC,YAAIJ,CAAC,GAACI,CAAC,CAACuiP,WAAF,GAAc,IAAd,GAAmB,KAAK/rM,MAA9B;;AAAqC,eAAK52C,CAAL,GAAQ;AAAC,cAAGA,CAAC,CAAC/5B,IAAF,KAASwvB,CAAZ,EAAc,OAAOuK,CAAP;AAASA,UAAAA,CAAC,GAACA,CAAC,CAAC42C,MAAJ;AAAW;;AAAA,eAAO,IAAP;AAAY;;AAAAqjC,MAAAA,MAAM,GAAE;AAAC,cAAMxkF,CAAC,GAAC,MAAMwkF,MAAN,EAAR;;AAAuB,YAAGxkF,CAAC,CAACxvB,IAAF,GAAO,KAAKA,IAAZ,EAAiB,KAAKsiR,SAAL,CAAenmR,MAAf,GAAsB,CAA1C,EAA4C;AAACqzB,UAAAA,CAAC,CAAC14B,QAAF,GAAW,EAAX;;AAAc,eAAI,MAAMqjC,CAAV,IAAe,KAAKmoP,SAApB,EAA8B9yP,CAAC,CAAC14B,QAAF,CAAW2+B,IAAX,CAAgB0E,CAAC,CAAC65E,MAAF,EAAhB;AAA4B;;AAAA,eAAOxkF,CAAP;AAAS;;AAAAytP,MAAAA,MAAM,CAACztP,CAAC,GAAC,CAAC,CAAJ,EAAM;AAAC,cAAM2K,CAAC,GAAC3K,CAAC,GAACmF,KAAK,CAAC7H,IAAN,CAAW,KAAKw1P,SAAhB,EAA2BtpR,GAA3B,CAAgCw2B,CAAC,IAAEA,CAAC,CAACytP,MAAF,CAAS,CAAC,CAAV,CAAnC,CAAD,GAAmD,KAAK,CAAjE;AAAmE,eAAO,IAAIuiB,EAAJ,CAAO,KAAKx/R,IAAZ,EAAiB,KAAK0zG,aAAL,EAAjB,EAAsCv5E,CAAtC,CAAP;AAAgD;;AAAAo7E,MAAAA,YAAY,CAAC/lF,CAAD,EAAG;AAAC,aAAK+yP,YAAL,CAAkB,KAAKrG,UAAvB,EAAkC1sP,CAAlC;AAAqC;;AAAA+yP,MAAAA,YAAY,CAAC/yP,CAAD,EAAG2K,CAAH,EAAK;AAAC,cAAMJ,CAAC,GAAC,UAASvK,CAAT,EAAW;AAAC,cAAG,YAAU,OAAOA,CAApB,EAAsB,OAAM,CAAC,IAAI6vQ,EAAJ,CAAO7vQ,CAAP,CAAD,CAAN;AAAkB4nO,UAAAA,CAAC,CAAC5nO,CAAD,CAAD,KAAOA,CAAC,GAAC,CAACA,CAAD,CAAT;AAAc,iBAAOmF,KAAK,CAAC7H,IAAN,CAAW0C,CAAX,EAAcx2B,GAAd,CAAmBw2B,CAAC,IAAE,YAAU,OAAOA,CAAjB,GAAmB,IAAI6vQ,EAAJ,CAAO7vQ,CAAP,CAAnB,GAA6BA,CAAC,YAAY+vQ,EAAb,GAAgB,IAAIF,EAAJ,CAAO7vQ,CAAC,CAACr4B,IAAT,EAAcq4B,CAAC,CAACkkF,aAAF,EAAd,CAAhB,GAAiDlkF,CAApG,CAAP;AAA+G,SAAjL,CAAkL2K,CAAlL,CAAR;;AAA6L,aAAI,MAAM3K,CAAV,IAAeuK,CAAf,EAAiB,SAAOvK,CAAC,CAACmhD,MAAT,IAAiBnhD,CAAC,CAACi9O,OAAF,EAAjB,EAA6Bj9O,CAAC,CAACmhD,MAAF,GAAS,IAAtC;;AAA2C,aAAK2xM,SAAL,CAAe4J,YAAf,CAA4B18P,CAA5B,EAA8BuK,CAA9B;AAAiC;;AAAA8iP,MAAAA,eAAe,CAACrtP,CAAD,EAAG2K,CAAC,GAAC,CAAL,EAAO;AAAC,cAAMJ,CAAC,GAAC,KAAKuoP,SAAL,CAAe8c,YAAf,CAA4B5vQ,CAA5B,EAA8B2K,CAA9B,CAAR;;AAAyC,aAAI,MAAM3K,CAAV,IAAeuK,CAAf,EAAiBvK,CAAC,CAACmhD,MAAF,GAAS,IAAT;;AAAc,eAAO52C,CAAP;AAAS;;AAAe,aAARulQ,QAAQ,CAAC9vQ,CAAD,EAAG;AAAC,YAAI2K,CAAJ;;AAAM,YAAG3K,CAAC,CAAC14B,QAAL,EAAc;AAACqjC,UAAAA,CAAC,GAAC,EAAF;;AAAK,eAAI,MAAMJ,CAAV,IAAevK,CAAC,CAAC14B,QAAjB,EAA0BijC,CAAC,CAAC/5B,IAAF,GAAOm6B,CAAC,CAAC1E,IAAF,CAAO+pQ,EAAE,CAACF,QAAH,CAAYvlQ,CAAZ,CAAP,CAAP,GAA8BI,CAAC,CAAC1E,IAAF,CAAO4pQ,EAAE,CAACC,QAAH,CAAYvlQ,CAAZ,CAAP,CAA9B;AAAqD;;AAAA,eAAO,IAAIylQ,EAAJ,CAAOhwQ,CAAC,CAACxvB,IAAT,EAAcwvB,CAAC,CAACikF,UAAhB,EAA2Bt5E,CAA3B,CAAP;AAAqC;;AAAtkD;;AAAukDqlQ,IAAAA,EAAE,CAAC/lQ,SAAH,CAAa4gF,EAAb,GAAgB,UAAS7qF,CAAT,EAAW2K,CAAX,EAAa;AAAC,aAAOA,CAAC,GAACA,CAAC,KAAG,KAAKn6B,IAAT,KAAgB,cAAYwvB,CAAZ,IAAe,oBAAkBA,CAAjD,CAAD,GAAqD,cAAYA,CAAZ,IAAe,oBAAkBA,CAAjC,IAAoC,WAASA,CAA7C,IAAgD,iBAAeA,CAA5H;AAA8H,KAA5J;;AAA6J,UAAMkwQ,EAAN,CAAQ;AAACzwS,MAAAA,WAAW,CAACugC,CAAD,EAAG;AAAC,YAAG,CAACA,CAAD,IAAI,CAACA,CAAC,CAACw0P,UAAH,IAAe,CAACx0P,CAAC,CAAC2mF,aAAzB,EAAuC,MAAM,IAAIxkC,CAAJ,CAAM,qCAAN,EAA4C,IAA5C,CAAN;AAAwD,cAAMx3C,CAAC,GAAC3K,CAAC,CAAC0zM,SAAF,IAAa,SAArB;AAA+B,YAAG,aAAW/oM,CAAX,IAAc,cAAYA,CAA7B,EAA+B,MAAM,IAAIw3C,CAAJ,CAAM,qCAAN,EAA4CniD,CAA5C,EAA8C;AAAC0zM,UAAAA,SAAS,EAAC/oM;AAAX,SAA9C,CAAN;AAAmE,aAAK+oM,SAAL,GAAe/oM,CAAf,EAAiB,KAAK6pP,UAAL,GAAgBx0P,CAAC,CAACw0P,UAAF,IAAc,IAA/C,EAAoDx0P,CAAC,CAAC2mF,aAAF,GAAgB,KAAK8tK,SAAL,GAAez0P,CAAC,CAAC2mF,aAAF,CAAgB/mF,KAAhB,EAA/B,GAAuD,KAAK60P,SAAL,GAAe0b,EAAE,CAACzb,SAAH,CAAa,KAAKF,UAAL,CAAgB,cAAY,KAAK9gD,SAAjB,GAA2B,KAA3B,GAAiC,OAAjD,CAAb,CAA1H,EAAkM,KAAK5jO,QAAL,CAAc+2G,UAAd,GAAyB,QAA3N,EAAoO,KAAK8tK,gBAAL,GAAsB,CAAC,CAAC30P,CAAC,CAAC20P,gBAA9P,EAA+Q,KAAKC,OAAL,GAAa,CAAC,CAAC50P,CAAC,CAAC40P,OAAhS,EAAwS,KAAKC,gBAAL,GAAsB,CAAC,CAAC70P,CAAC,CAAC60P,gBAAlU,EAAmV,KAAKC,oBAAL,GAA0B,KAAKN,UAAL,GAAgB,KAAKA,UAAL,CAAgB/tK,KAAhB,CAAsBtlC,MAAtC,GAA6C,IAA1Z,EAA+Z,KAAK4zM,kBAAL,GAAwB,KAAKP,UAAL,GAAgB,KAAKA,UAAL,CAAgB9tK,GAAhB,CAAoBvlC,MAApC,GAA2C,IAAle,EAAue,KAAKivN,cAAL,GAAoB,KAAKtgS,QAAL,CAAcqxE,MAAzgB;AAAghB;;AAAgB,OAAfj1C,MAAM,CAACC,QAAQ,IAAG;AAAC,eAAO,IAAP;AAAY;;AAAY,UAARr8B,QAAQ,GAAE;AAAC,eAAO,KAAK2kR,SAAZ;AAAsB;;AAAAO,MAAAA,IAAI,CAACh1P,CAAD,EAAG;AAAC,YAAI2K,CAAJ,EAAMJ,CAAN,EAAQgC,CAAR,EAAU51B,CAAV;;AAAY,WAAE;AAAC41B,UAAAA,CAAC,GAAC,KAAKz8B,QAAP,EAAgB6G,CAAC,GAAC,KAAKy5R,cAAvB,GAAuC;AAAC7kQ,YAAAA,IAAI,EAACZ,CAAN;AAAQz5B,YAAAA,KAAK,EAACq5B;AAAd,cAAiB,KAAK3/B,IAAL,EAAxD;AAAqE,SAAxE,QAA8E,CAAC+/B,CAAD,IAAI3K,CAAC,CAACuK,CAAD,CAAnF;;AAAwFI,QAAAA,CAAC,KAAG,KAAK8pP,SAAL,GAAeloP,CAAf,EAAiB,KAAK6jQ,cAAL,GAAoBz5R,CAAxC,CAAD;AAA4C;;AAAA/L,MAAAA,IAAI,GAAE;AAAC,eAAM,aAAW,KAAK8oO,SAAhB,GAA0B,KAAKp5D,KAAL,EAA1B,GAAuC,KAAK26G,SAAL,EAA7C;AAA8D;;AAAA36G,MAAAA,KAAK,GAAE;AAAC,cAAMt6I,CAAC,GAAC,KAAKlwB,QAAb;AAAA,cAAsB66B,CAAC,GAAC,KAAK76B,QAAL,CAAc8vB,KAAd,EAAxB;AAAA,cAA8C2K,CAAC,GAAC,KAAK6lQ,cAArD;AAAoE,YAAG,SAAO7lQ,CAAC,CAAC42C,MAAT,IAAiBx2C,CAAC,CAAC0yE,MAAF,KAAW9yE,CAAC,CAAC8kQ,SAAjC,EAA2C,OAAM;AAAC9jQ,UAAAA,IAAI,EAAC,CAAC,CAAP;AAASr6B,UAAAA,KAAK,EAAC,KAAK;AAApB,SAAN;AAA6B,YAAGq5B,CAAC,KAAG,KAAKwqP,kBAAT,IAA6BpqP,CAAC,CAAC0yE,MAAF,IAAU,KAAKm3K,UAAL,CAAgB9tK,GAAhB,CAAoBrJ,MAA9D,EAAqE,OAAM;AAAC9xE,UAAAA,IAAI,EAAC,CAAC,CAAP;AAASr6B,UAAAA,KAAK,EAAC,KAAK;AAApB,SAAN;AAA6B,cAAMq7B,CAAC,GAAC8jQ,EAAE,CAAC1lQ,CAAD,EAAGJ,CAAH,CAAV;AAAA,cAAgB5zB,CAAC,GAAC41B,CAAC,IAAE+jQ,EAAE,CAAC3lQ,CAAD,EAAGJ,CAAH,EAAKgC,CAAL,CAAvB;;AAA+B,YAAG51B,CAAC,YAAYq5R,EAAhB,EAAmB;AAAC,cAAG,KAAKpb,OAAR,EAAgB;AAAC,gBAAG,KAAKJ,UAAL,IAAiB,KAAKA,UAAL,CAAgB9tK,GAAhB,CAAoB9wF,QAApB,CAA6B+U,CAA7B,CAApB,EAAoD,OAAM;AAACY,cAAAA,IAAI,EAAC,CAAC,CAAP;AAASr6B,cAAAA,KAAK,EAAC,KAAK;AAApB,aAAN;AAA6By5B,YAAAA,CAAC,CAAC0yE,MAAF;AAAW,WAA7G,MAAkH1yE,CAAC,CAAC3jC,IAAF,CAAOi/B,IAAP,CAAY,CAAZ,GAAe,KAAKmqQ,cAAL,GAAoBz5R,CAAnC;;AAAqC,iBAAO,KAAK89Q,SAAL,GAAe9pP,CAAf,EAAiB4lQ,EAAE,CAAC,cAAD,EAAgB55R,CAAhB,EAAkBqpB,CAAlB,EAAoB2K,CAApB,EAAsB,CAAtB,CAA1B;AAAmD;;AAAA,YAAGh0B,CAAC,YAAYk5R,EAAhB,EAAmB;AAAC,cAAItjQ,CAAJ;AAAM,cAAG,KAAKooP,gBAAR,EAAyBpoP,CAAC,GAAC,CAAF,CAAzB,KAAiC;AAAC,gBAAIvM,CAAC,GAACrpB,CAAC,CAACyvR,SAAR;AAAkB,iBAAKrR,kBAAL,IAAyBxqP,CAAzB,IAA4B,KAAKiqP,UAAL,CAAgB9tK,GAAhB,CAAoBrJ,MAApB,GAA2Br9E,CAAvD,KAA2DA,CAAC,GAAC,KAAKw0P,UAAL,CAAgB9tK,GAAhB,CAAoBrJ,MAAjF,GAAyF9wE,CAAC,GAACvM,CAAC,GAAC2K,CAAC,CAAC0yE,MAA/F;AAAsG;AAAA,gBAAM5wE,CAAC,GAAC9B,CAAC,CAAC0yE,MAAF,GAAS1mG,CAAC,CAACsoR,WAAnB;AAAA,gBAA+B30P,CAAC,GAAC,IAAIylQ,EAAJ,CAAOp5R,CAAP,EAAS81B,CAAT,EAAWF,CAAX,CAAjC;AAA+C,iBAAO5B,CAAC,CAAC0yE,MAAF,IAAU9wE,CAAV,EAAY,KAAKkoP,SAAL,GAAe9pP,CAA3B,EAA6B4lQ,EAAE,CAAC,MAAD,EAAQjmQ,CAAR,EAAUtK,CAAV,EAAY2K,CAAZ,EAAc4B,CAAd,CAAtC;AAAuD;;AAAA,eAAO5B,CAAC,CAAC3jC,IAAF,CAAOu3B,GAAP,IAAaoM,CAAC,CAAC0yE,MAAF,EAAb,EAAwB,KAAKo3K,SAAL,GAAe9pP,CAAvC,EAAyC,KAAKylQ,cAAL,GAAoB7lQ,CAAC,CAAC42C,MAA/D,EAAsE,KAAK0zM,gBAAL,GAAsB,KAAKv6G,KAAL,EAAtB,GAAmCi2H,EAAE,CAAC,YAAD,EAAchmQ,CAAd,EAAgBvK,CAAhB,EAAkB2K,CAAlB,CAAlH;AAAuI;;AAAAsqP,MAAAA,SAAS,GAAE;AAAC,cAAMj1P,CAAC,GAAC,KAAKlwB,QAAb;AAAA,cAAsB66B,CAAC,GAAC,KAAK76B,QAAL,CAAc8vB,KAAd,EAAxB;AAAA,cAA8C2K,CAAC,GAAC,KAAK6lQ,cAArD;AAAoE,YAAG,SAAO7lQ,CAAC,CAAC42C,MAAT,IAAiB,MAAIx2C,CAAC,CAAC0yE,MAA1B,EAAiC,OAAM;AAAC9xE,UAAAA,IAAI,EAAC,CAAC,CAAP;AAASr6B,UAAAA,KAAK,EAAC,KAAK;AAApB,SAAN;AAA6B,YAAGq5B,CAAC,IAAE,KAAKuqP,oBAAR,IAA8BnqP,CAAC,CAAC0yE,MAAF,IAAU,KAAKm3K,UAAL,CAAgB/tK,KAAhB,CAAsBpJ,MAAjE,EAAwE,OAAM;AAAC9xE,UAAAA,IAAI,EAAC,CAAC,CAAP;AAASr6B,UAAAA,KAAK,EAAC,KAAK;AAApB,SAAN;AAA6B,cAAMq7B,CAAC,GAAC5B,CAAC,CAACw2C,MAAV;AAAA,cAAiBxqE,CAAC,GAAC05R,EAAE,CAAC1lQ,CAAD,EAAG4B,CAAH,CAArB;AAAA,cAA2BE,CAAC,GAAC91B,CAAC,IAAE65R,EAAE,CAAC7lQ,CAAD,EAAG4B,CAAH,EAAK51B,CAAL,CAAlC;AAA0C,YAAG81B,CAAC,YAAYujQ,EAAhB,EAAmB,OAAOrlQ,CAAC,CAAC0yE,MAAF,IAAW,KAAKu3K,OAAL,IAAc,KAAKH,SAAL,GAAe9pP,CAAf,EAAiB4lQ,EAAE,CAAC,cAAD,EAAgB9jQ,CAAhB,EAAkBzM,CAAlB,EAAoB2K,CAApB,EAAsB,CAAtB,CAAjC,KAA4DA,CAAC,CAAC3jC,IAAF,CAAOi/B,IAAP,CAAYwG,CAAC,CAAC4iQ,SAAd,GAAyB,KAAK5a,SAAL,GAAe9pP,CAAxC,EAA0C,KAAKylQ,cAAL,GAAoB3jQ,CAA9D,EAAgE,KAAKooP,gBAAL,GAAsB,KAAKI,SAAL,EAAtB,GAAuCsb,EAAE,CAAC,YAAD,EAAc9jQ,CAAd,EAAgBzM,CAAhB,EAAkB2K,CAAlB,CAArK,CAAlB;;AAA6M,YAAG8B,CAAC,YAAYojQ,EAAhB,EAAmB;AAAC,cAAItjQ,CAAJ;AAAM,cAAG,KAAKooP,gBAAR,EAAyBpoP,CAAC,GAAC,CAAF,CAAzB,KAAiC;AAAC,gBAAIvM,CAAC,GAACyM,CAAC,CAACwyP,WAAR;AAAoB,iBAAKnK,oBAAL,IAA2BvqP,CAA3B,IAA8B,KAAKiqP,UAAL,CAAgB/tK,KAAhB,CAAsBpJ,MAAtB,GAA6Br9E,CAA3D,KAA+DA,CAAC,GAAC,KAAKw0P,UAAL,CAAgB/tK,KAAhB,CAAsBpJ,MAAvF,GAA+F9wE,CAAC,GAAC5B,CAAC,CAAC0yE,MAAF,GAASr9E,CAA1G;AAA4G;AAAA,gBAAMrpB,CAAC,GAACg0B,CAAC,CAAC0yE,MAAF,GAAS5wE,CAAC,CAACwyP,WAAnB;AAAA,gBAA+B30P,CAAC,GAAC,IAAIylQ,EAAJ,CAAOtjQ,CAAP,EAAS91B,CAAC,GAAC41B,CAAX,EAAaA,CAAb,CAAjC;AAAiD,iBAAO5B,CAAC,CAAC0yE,MAAF,IAAU9wE,CAAV,EAAY,KAAKkoP,SAAL,GAAe9pP,CAA3B,EAA6B4lQ,EAAE,CAAC,MAAD,EAAQjmQ,CAAR,EAAUtK,CAAV,EAAY2K,CAAZ,EAAc4B,CAAd,CAAtC;AAAuD;;AAAA,eAAO5B,CAAC,CAAC3jC,IAAF,CAAOu3B,GAAP,IAAa,KAAKk2P,SAAL,GAAe9pP,CAA5B,EAA8B,KAAKylQ,cAAL,GAAoB7lQ,CAAC,CAAC42C,MAApD,EAA2DovN,EAAE,CAAC,cAAD,EAAgBhmQ,CAAhB,EAAkBvK,CAAlB,EAAoB2K,CAApB,EAAsB,CAAtB,CAApE;AAA6F;;AAApzF;;AAAqzF,aAAS4lQ,EAAT,CAAYvwQ,CAAZ,EAAc2K,CAAd,EAAgBJ,CAAhB,EAAkBgC,CAAlB,EAAoB51B,CAApB,EAAsB;AAAC,aAAM;AAAC40B,QAAAA,IAAI,EAAC,CAAC,CAAP;AAASr6B,QAAAA,KAAK,EAAC;AAAC+F,UAAAA,IAAI,EAAC+oB,CAAN;AAAQxlB,UAAAA,IAAI,EAACmwB,CAAb;AAAe4qP,UAAAA,gBAAgB,EAAChrP,CAAhC;AAAkCirP,UAAAA,YAAY,EAACjpP,CAA/C;AAAiD5/B,UAAAA,MAAM,EAACgK;AAAxD;AAAf,OAAN;AAAiF;;AAAA,UAAMw5R,EAAN,SAAiBrB,EAAjB,CAAmB;AAACrvS,MAAAA,WAAW,CAACugC,CAAD,EAAG2K,CAAH,EAAKJ,CAAC,GAAC,QAAP,EAAgB;AAAC,YAAG,SAAQ,CAACvK,CAAC,CAAC6qF,EAAF,CAAK,SAAL,CAAD,IAAkB,CAAC7qF,CAAC,CAAC6qF,EAAF,CAAK,kBAAL,CAA9B,EAAuD,MAAM,IAAI1oC,CAAJ,CAAM,6BAAN,EAAoCniD,CAApC,CAAN;AAA6C,YAAG,EAAE2K,CAAC,YAAYxF,KAAf,KAAuB,MAAIwF,CAAC,CAACh+B,MAAhC,EAAuC,MAAM,IAAIw1E,CAAJ,CAAM,sCAAN,EAA6CniD,CAA7C,EAA+C;AAACh5B,UAAAA,IAAI,EAAC2jC;AAAN,SAA/C,CAAN;AAA+D3K,QAAAA,CAAC,CAAC6qF,EAAF,CAAK,aAAL,IAAoBlgF,CAAC,GAACA,CAAC,CAAC+tE,KAAF,EAAtB,IAAiC/tE,CAAC,GAAC,CAAC,GAAG3K,CAAC,CAACgtP,OAAF,EAAJ,EAAgB,GAAGriP,CAAnB,CAAF,EAAwB3K,CAAC,GAACA,CAAC,CAACwD,IAA7D,GAAmE,KAAKA,IAAL,GAAUxD,CAA7E,EAA+E,KAAKh5B,IAAL,GAAU2jC,CAAzF,EAA2F,KAAKk8E,UAAL,GAAgBt8E,CAA3G;AAA6G;;AAAU,UAAN8yE,MAAM,GAAE;AAAC,eAAO,KAAKr2G,IAAL,CAAU,KAAKA,IAAL,CAAU2F,MAAV,GAAiB,CAA3B,CAAP;AAAqC;;AAAU,UAAN0wG,MAAM,CAACr9E,CAAD,EAAG;AAAC,aAAKh5B,IAAL,CAAU,KAAKA,IAAL,CAAU2F,MAAV,GAAiB,CAA3B,IAA8BqzB,CAA9B;AAAgC;;AAAU,UAANmhD,MAAM,GAAE;AAAC,YAAInhD,CAAC,GAAC,KAAKwD,IAAX;;AAAgB,aAAI,IAAImH,CAAC,GAAC,CAAV,EAAYA,CAAC,GAAC,KAAK3jC,IAAL,CAAU2F,MAAV,GAAiB,CAA/B,EAAiCg+B,CAAC,EAAlC,EAAqC,IAAG3K,CAAC,GAACA,CAAC,CAAC6sP,QAAF,CAAW7sP,CAAC,CAAC0vQ,aAAF,CAAgB,KAAK1oS,IAAL,CAAU2jC,CAAV,CAAhB,CAAX,CAAF,EAA4C,CAAC3K,CAAhD,EAAkD,MAAM,IAAImiD,CAAJ,CAAM,+BAAN,EAAsC,IAAtC,EAA2C;AAACryE,UAAAA,QAAQ,EAAC;AAAV,SAA3C,CAAN;;AAAkE,YAAGkwB,CAAC,CAAC6qF,EAAF,CAAK,OAAL,CAAH,EAAiB,MAAM,IAAI1oC,CAAJ,CAAM,+BAAN,EAAsC,IAAtC,EAA2C;AAACryE,UAAAA,QAAQ,EAAC;AAAV,SAA3C,CAAN;AAAkE,eAAOkwB,CAAP;AAAS;;AAAS,UAALwhB,KAAK,GAAE;AAAC,eAAO,KAAK2/B,MAAL,CAAYuuN,aAAZ,CAA0B,KAAKryL,MAA/B,CAAP;AAA8C;;AAAY,UAARqwK,QAAQ,GAAE;AAAC,eAAO2iB,EAAE,CAAC,IAAD,EAAM,KAAKlvN,MAAX,CAAT;AAA4B;;AAAa,UAATs0M,SAAS,GAAE;AAAC,cAAMz1P,CAAC,GAAC,KAAKmhD,MAAb;AAAoB,eAAOmvN,EAAE,CAAC,IAAD,EAAMtwQ,CAAN,EAAQqwQ,EAAE,CAAC,IAAD,EAAMrwQ,CAAN,CAAV,CAAT;AAA6B;;AAAc,UAAV01P,UAAU,GAAE;AAAC,cAAM11P,CAAC,GAAC,KAAKmhD,MAAb;AAAoB,eAAOqvN,EAAE,CAAC,IAAD,EAAMxwQ,CAAN,EAAQqwQ,EAAE,CAAC,IAAD,EAAMrwQ,CAAN,CAAV,CAAT;AAA6B;;AAAa,UAATq1P,SAAS,GAAE;AAAC,eAAO,MAAI,KAAKh4K,MAAhB;AAAuB;;AAAW,UAAP63K,OAAO,GAAE;AAAC,eAAO,KAAK73K,MAAL,IAAa,KAAKl8B,MAAL,CAAYkuN,SAAhC;AAA0C;;AAAAxZ,MAAAA,WAAW,CAAC71P,CAAD,EAAG;AAAC,YAAG,KAAKwD,IAAL,IAAWxD,CAAC,CAACwD,IAAhB,EAAqB,OAAM,WAAN;AAAkB,cAAMmH,CAAC,GAACg9N,CAAC,CAAC,KAAK3gQ,IAAN,EAAWg5B,CAAC,CAACh5B,IAAb,CAAT;;AAA4B,gBAAO2jC,CAAP;AAAU,eAAI,MAAJ;AAAW,mBAAM,MAAN;;AAAa,eAAI,QAAJ;AAAa,mBAAM,QAAN;;AAAe,eAAI,WAAJ;AAAgB,mBAAM,OAAN;;AAAc;AAAQ,mBAAO,KAAK3jC,IAAL,CAAU2jC,CAAV,IAAa3K,CAAC,CAACh5B,IAAF,CAAO2jC,CAAP,CAAb,GAAuB,QAAvB,GAAgC,OAAvC;AAApG;AAAoJ;;AAAAirP,MAAAA,uBAAuB,CAAC51P,CAAD,EAAG2K,CAAC,GAAC,EAAL,EAAQ;AAACA,QAAAA,CAAC,CAACg8E,aAAF,GAAgB,IAAhB;AAAqB,cAAMp8E,CAAC,GAAC,IAAI2lQ,EAAJ,CAAOvlQ,CAAP,CAAR;AAAkB,eAAOJ,CAAC,CAACyqP,IAAF,CAAOh1P,CAAP,GAAUuK,CAAC,CAACz6B,QAAnB;AAA4B;;AAAA2gS,MAAAA,aAAa,GAAE;AAAC,eAAO,KAAKzpS,IAAL,CAAU0xG,KAAV,CAAgB,CAAhB,EAAkB,CAAC,CAAnB,CAAP;AAA6B;;AAAAu0K,MAAAA,YAAY,GAAE;AAAC,cAAMjtP,CAAC,GAAC,KAAKmhD,MAAb;AAAoB,eAAOnhD,CAAC,CAAC6qF,EAAF,CAAK,kBAAL,IAAyB,CAAC7qF,CAAD,CAAzB,GAA6BA,CAAC,CAACitP,YAAF,CAAe;AAACC,UAAAA,WAAW,EAAC,CAAC;AAAd,SAAf,CAApC;AAAqE;;AAAAmG,MAAAA,YAAY,CAACrzP,CAAD,EAAG;AAAC,cAAM2K,CAAC,GAAC,KAAKw2C,MAAb;AAAoB,eAAOx2C,CAAC,CAACkgF,EAAF,CAAK,SAAL,IAAgBlgF,CAAC,CAAC0oP,YAAF,CAAerzP,CAAf,EAAiB;AAACktP,UAAAA,WAAW,EAAC,CAAC;AAAd,SAAjB,CAAhB,GAAmD,IAA1D;AAA+D;;AAAAwjB,MAAAA,aAAa,CAAC1wQ,CAAD,EAAG;AAAC,YAAG,KAAKwD,IAAL,IAAWxD,CAAC,CAACwD,IAAhB,EAAqB,OAAM,EAAN;AAAS,cAAMmH,CAAC,GAACg9N,CAAC,CAAC,KAAK3gQ,IAAN,EAAWg5B,CAAC,CAACh5B,IAAb,CAAT;AAAA,cAA4BujC,CAAC,GAAC,YAAU,OAAOI,CAAjB,GAAmBuxB,IAAI,CAACzqC,GAAL,CAAS,KAAKzqB,IAAL,CAAU2F,MAAnB,EAA0BqzB,CAAC,CAACh5B,IAAF,CAAO2F,MAAjC,CAAnB,GAA4Dg+B,CAA1F;AAA4F,eAAO,KAAK3jC,IAAL,CAAU0xG,KAAV,CAAgB,CAAhB,EAAkBnuE,CAAlB,CAAP;AAA4B;;AAAA6iP,MAAAA,iBAAiB,CAACptP,CAAD,EAAG;AAAC,cAAM2K,CAAC,GAAC,KAAKsiP,YAAL,EAAR;AAAA,cAA4B1iP,CAAC,GAACvK,CAAC,CAACitP,YAAF,EAA9B;AAA+C,YAAI1gP,CAAC,GAAC,CAAN;;AAAQ,eAAK5B,CAAC,CAAC4B,CAAD,CAAD,IAAMhC,CAAC,CAACgC,CAAD,CAAP,IAAY5B,CAAC,CAAC4B,CAAD,CAAlB,GAAuBA,CAAC;;AAAG,eAAO,MAAIA,CAAJ,GAAM,IAAN,GAAW5B,CAAC,CAAC4B,CAAC,GAAC,CAAH,CAAnB;AAAyB;;AAAAopP,MAAAA,YAAY,CAAC31P,CAAD,EAAG;AAAC,cAAM2K,CAAC,GAAC,KAAK/K,KAAL,EAAR;AAAA,cAAqB2K,CAAC,GAACI,CAAC,CAAC0yE,MAAF,GAASr9E,CAAhC;AAAkC,eAAO2K,CAAC,CAAC0yE,MAAF,GAAS9yE,CAAC,GAAC,CAAF,GAAI,CAAJ,GAAMA,CAAf,EAAiBI,CAAxB;AAA0B;;AAAA6oM,MAAAA,OAAO,CAACxzM,CAAD,EAAG;AAAC,eAAM,WAAS,KAAK61P,WAAL,CAAiB71P,CAAjB,CAAf;AAAmC;;AAAApK,MAAAA,QAAQ,CAACoK,CAAD,EAAG;AAAC,eAAM,YAAU,KAAK61P,WAAL,CAAiB71P,CAAjB,CAAhB;AAAoC;;AAAA+1O,MAAAA,OAAO,CAAC/1O,CAAD,EAAG;AAAC,eAAM,UAAQ,KAAK61P,WAAL,CAAiB71P,CAAjB,CAAd;AAAkC;;AAAA2wQ,MAAAA,UAAU,CAAC3wQ,CAAD,EAAG;AAAC,YAAG,KAAKwD,IAAL,KAAYxD,CAAC,CAACwD,IAAjB,EAAsB,OAAM,CAAC,CAAP;AAAS,cAAMmH,CAAC,GAACuxB,IAAI,CAACzqC,GAAL,CAAS,KAAKzqB,IAAL,CAAU2F,MAAnB,EAA0BqzB,CAAC,CAACh5B,IAAF,CAAO2F,MAAjC,CAAR;;AAAiD,aAAI,IAAI49B,CAAC,GAAC,CAAV,EAAYA,CAAC,GAACI,CAAd,EAAgBJ,CAAC,EAAjB,EAAoB;AAAC,gBAAMI,CAAC,GAAC,KAAK3jC,IAAL,CAAUujC,CAAV,IAAavK,CAAC,CAACh5B,IAAF,CAAOujC,CAAP,CAArB;AAA+B,cAAGI,CAAC,GAAC,CAAC,CAAH,IAAMA,CAAC,GAAC,CAAX,EAAa,OAAM,CAAC,CAAP;AAAS,cAAG,MAAIA,CAAP,EAAS,OAAOimQ,EAAE,CAAC5wQ,CAAD,EAAG,IAAH,EAAQuK,CAAR,CAAT;AAAoB,cAAG,CAAC,CAAD,KAAKI,CAAR,EAAU,OAAOimQ,EAAE,CAAC,IAAD,EAAM5wQ,CAAN,EAAQuK,CAAR,CAAT;AAAoB;;AAAA,eAAO,KAAKvjC,IAAL,CAAU2F,MAAV,KAAmBqzB,CAAC,CAACh5B,IAAF,CAAO2F,MAA1B,KAAmC,KAAK3F,IAAL,CAAU2F,MAAV,GAAiBqzB,CAAC,CAACh5B,IAAF,CAAO2F,MAAxB,GAA+BkkS,EAAE,CAAC,KAAK7pS,IAAN,EAAW2jC,CAAX,CAAjC,GAA+CkmQ,EAAE,CAAC7wQ,CAAC,CAACh5B,IAAH,EAAQ2jC,CAAR,CAApF,CAAP;AAAuG;;AAAAmmQ,MAAAA,eAAe,CAAC9wQ,CAAD,EAAG;AAAC,YAAG,KAAKwD,IAAL,KAAYxD,CAAC,CAACwD,IAAjB,EAAsB,OAAM,CAAC,CAAP;AAAS,eAAM,UAAQmkO,CAAC,CAAC,KAAK8oC,aAAL,EAAD,EAAsBzwQ,CAAC,CAACywQ,aAAF,EAAtB,CAAf;AAAwD;;AAAAM,MAAAA,yBAAyB,CAAC/wQ,CAAD,EAAG;AAAC,YAAI2K,CAAJ;;AAAM,gBAAO3K,CAAC,CAAC/oB,IAAT;AAAe,eAAI,QAAJ;AAAa0zB,YAAAA,CAAC,GAAC,KAAKqmQ,gCAAL,CAAsChxQ,CAAtC,CAAF;AAA2C;;AAAM,eAAI,MAAJ;AAAW,eAAI,QAAJ;AAAa,eAAI,UAAJ;AAAe2K,YAAAA,CAAC,GAAC,KAAKsmQ,8BAAL,CAAoCjxQ,CAApC,CAAF;AAAyC;;AAAM,eAAI,OAAJ;AAAY2K,YAAAA,CAAC,GAAC,KAAKumQ,+BAAL,CAAqClxQ,CAArC,CAAF;AAA0C;;AAAM,eAAI,OAAJ;AAAY2K,YAAAA,CAAC,GAAC,KAAKwmQ,+BAAL,CAAqCnxQ,CAArC,CAAF;AAA0C;;AAAM;AAAQ2K,YAAAA,CAAC,GAACwlQ,EAAE,CAACzb,SAAH,CAAa,IAAb,CAAF;AAAnS;;AAAwT,eAAO/pP,CAAP;AAAS;;AAAAqmQ,MAAAA,gCAAgC,CAAChxQ,CAAD,EAAG;AAAC,eAAO,KAAKoxQ,0BAAL,CAAgCpxQ,CAAC,CAAClwB,QAAlC,EAA2CkwB,CAAC,CAAC0jH,OAA7C,CAAP;AAA6D;;AAAAutJ,MAAAA,8BAA8B,CAACjxQ,CAAD,EAAG;AAAC,eAAO,KAAKqxQ,qBAAL,CAA2BrxQ,CAAC,CAACsxQ,cAA7B,EAA4CtxQ,CAAC,CAACuxQ,cAA9C,EAA6DvxQ,CAAC,CAAC0jH,OAA/D,CAAP;AAA+E;;AAAAwtJ,MAAAA,+BAA+B,CAAClxQ,CAAD,EAAG;AAAC,cAAM2K,CAAC,GAAC3K,CAAC,CAACwxQ,UAAV;AAAqB,eAAO7mQ,CAAC,CAAC0rP,gBAAF,CAAmB,IAAnB,KAA0B1rP,CAAC,CAAC87E,KAAF,CAAQsvJ,OAAR,CAAgB,IAAhB,KAAuB,YAAU,KAAKlvJ,UAAhE,GAA2E,KAAK4qL,YAAL,CAAkBzxQ,CAAC,CAAC0xQ,aAApB,EAAkC1xQ,CAAC,CAAC2xQ,kBAApC,CAA3E,GAAmI3xQ,CAAC,CAAC4xQ,iBAAF,GAAoB,KAAKP,qBAAL,CAA2BrxQ,CAAC,CAAC4xQ,iBAA7B,EAA+C5xQ,CAAC,CAAC6xQ,iBAAjD,EAAmE,CAAnE,CAApB,GAA0F,KAAKT,0BAAL,CAAgCpxQ,CAAC,CAAC6xQ,iBAAlC,EAAoD,CAApD,CAApO;AAA2R;;AAAAV,MAAAA,+BAA+B,CAACnxQ,CAAD,EAAG;AAAC,cAAM2K,CAAC,GAAC3K,CAAC,CAACwxQ,UAAV;AAAqB,YAAIjnQ,CAAJ;AAAM,eAAOI,CAAC,CAAC0rP,gBAAF,CAAmB,IAAnB,KAA0B1rP,CAAC,CAAC87E,KAAF,CAAQsvJ,OAAR,CAAgB,IAAhB,CAA1B,IAAiDxrO,CAAC,GAAC,KAAKknQ,YAAL,CAAkBzxQ,CAAC,CAACsxQ,cAApB,EAAmCtxQ,CAAC,CAACuxQ,cAArC,CAAF,EAAuDvxQ,CAAC,CAACsxQ,cAAF,CAAiB17Q,QAAjB,CAA0BoK,CAAC,CAACuxQ,cAA5B,MAA8ChnQ,CAAC,GAACA,CAAC,CAACunQ,yBAAF,CAA4B9xQ,CAAC,CAAC+xQ,gBAA9B,EAA+C,CAA/C,CAAhD,CAAxG,IAA4MxnQ,CAAC,GAAC,KAAKwrO,OAAL,CAAa/1O,CAAC,CAAC+xQ,gBAAf,IAAiC5B,EAAE,CAACzb,SAAH,CAAa10P,CAAC,CAAC+xQ,gBAAf,CAAjC,GAAkE,KAAKV,qBAAL,CAA2BrxQ,CAAC,CAAC+xQ,gBAA7B,EAA8C/xQ,CAAC,CAAC4xQ,iBAAhD,EAAkE,CAAlE,CAAhR,EAAqVrnQ,CAA5V;AAA8V;;AAAAunQ,MAAAA,yBAAyB,CAAC9xQ,CAAD,EAAG2K,CAAH,EAAK;AAAC,cAAMJ,CAAC,GAAC4lQ,EAAE,CAACzb,SAAH,CAAa,IAAb,CAAR;;AAA2B,YAAG,KAAKlxP,IAAL,IAAWxD,CAAC,CAACwD,IAAhB,EAAqB,OAAO+G,CAAP;;AAAS,YAAG,UAAQo9N,CAAC,CAAC3nO,CAAC,CAACywQ,aAAF,EAAD,EAAmB,KAAKA,aAAL,EAAnB,CAAZ,EAAqD;AAAC,cAAGzwQ,CAAC,CAACq9E,MAAF,GAAS,KAAKA,MAAjB,EAAwB;AAAC,gBAAGr9E,CAAC,CAACq9E,MAAF,GAAS1yE,CAAT,GAAW,KAAK0yE,MAAnB,EAA0B,OAAO,IAAP;AAAY9yE,YAAAA,CAAC,CAAC8yE,MAAF,IAAU1yE,CAAV;AAAY;AAAC,SAAlI,MAAuI,IAAG,YAAUg9N,CAAC,CAAC3nO,CAAC,CAACywQ,aAAF,EAAD,EAAmB,KAAKA,aAAL,EAAnB,CAAd,EAAuD;AAAC,gBAAMlkQ,CAAC,GAACvM,CAAC,CAACh5B,IAAF,CAAO2F,MAAP,GAAc,CAAtB;;AAAwB,cAAGqzB,CAAC,CAACq9E,MAAF,IAAU,KAAKr2G,IAAL,CAAUulC,CAAV,CAAb,EAA0B;AAAC,gBAAGvM,CAAC,CAACq9E,MAAF,GAAS1yE,CAAT,GAAW,KAAK3jC,IAAL,CAAUulC,CAAV,CAAd,EAA2B,OAAO,IAAP;AAAYhC,YAAAA,CAAC,CAACvjC,IAAF,CAAOulC,CAAP,KAAW5B,CAAX;AAAa;AAAC;;AAAA,eAAOJ,CAAP;AAAS;;AAAA6mQ,MAAAA,0BAA0B,CAACpxQ,CAAD,EAAG2K,CAAH,EAAK;AAAC,cAAMJ,CAAC,GAAC4lQ,EAAE,CAACzb,SAAH,CAAa,IAAb,CAAR;;AAA2B,YAAG,KAAKlxP,IAAL,IAAWxD,CAAC,CAACwD,IAAhB,EAAqB,OAAO+G,CAAP;AAAS,YAAG,UAAQo9N,CAAC,CAAC3nO,CAAC,CAACywQ,aAAF,EAAD,EAAmB,KAAKA,aAAL,EAAnB,CAAZ,EAAqD,CAACzwQ,CAAC,CAACq9E,MAAF,GAAS,KAAKA,MAAd,IAAsBr9E,CAAC,CAACq9E,MAAF,IAAU,KAAKA,MAAf,IAAuB,gBAAc,KAAKwJ,UAAjE,MAA+Et8E,CAAC,CAAC8yE,MAAF,IAAU1yE,CAAzF,EAArD,KAAsJ,IAAG,YAAUg9N,CAAC,CAAC3nO,CAAC,CAACywQ,aAAF,EAAD,EAAmB,KAAKA,aAAL,EAAnB,CAAd,EAAuD;AAAC,gBAAMlkQ,CAAC,GAACvM,CAAC,CAACh5B,IAAF,CAAO2F,MAAP,GAAc,CAAtB;AAAwBqzB,UAAAA,CAAC,CAACq9E,MAAF,IAAU,KAAKr2G,IAAL,CAAUulC,CAAV,CAAV,KAAyBhC,CAAC,CAACvjC,IAAF,CAAOulC,CAAP,KAAW5B,CAApC;AAAuC;AAAA,eAAOJ,CAAP;AAAS;;AAAA8mQ,MAAAA,qBAAqB,CAACrxQ,CAAD,EAAG2K,CAAH,EAAKJ,CAAL,EAAO;AAAC,YAAGI,CAAC,GAACA,CAAC,CAACmnQ,yBAAF,CAA4B9xQ,CAA5B,EAA8BuK,CAA9B,CAAF,EAAmCvK,CAAC,CAAC+1O,OAAF,CAAUprO,CAAV,CAAtC,EAAmD,OAAOwlQ,EAAE,CAACzb,SAAH,CAAa,IAAb,CAAP;;AAA0B,cAAMnoP,CAAC,GAAC,KAAKulQ,yBAAL,CAA+B9xQ,CAA/B,EAAiCuK,CAAjC,CAAR;;AAA4C,eAAO,SAAOgC,CAAP,IAAUvM,CAAC,CAAC+1O,OAAF,CAAU,IAAV,KAAiB,YAAU,KAAKlvJ,UAA1C,IAAsD7mF,CAAC,CAAC21P,YAAF,CAAeprP,CAAf,EAAkBwrO,OAAlB,CAA0B,IAA1B,KAAiC,gBAAc,KAAKlvJ,UAA1G,GAAqH,KAAK4qL,YAAL,CAAkBzxQ,CAAlB,EAAoB2K,CAApB,CAArH,GAA4I4B,CAAC,CAAC6kQ,0BAAF,CAA6BzmQ,CAA7B,EAA+BJ,CAA/B,CAAnJ;AAAqL;;AAAAknQ,MAAAA,YAAY,CAACzxQ,CAAD,EAAG2K,CAAH,EAAK;AAAC,cAAMJ,CAAC,GAACvK,CAAC,CAACh5B,IAAF,CAAO2F,MAAP,GAAc,CAAtB;AAAA,cAAwB4/B,CAAC,GAAC4jQ,EAAE,CAACzb,SAAH,CAAa/pP,CAAb,CAA1B;;AAA0C,eAAO4B,CAAC,CAACs6E,UAAF,GAAa,KAAKA,UAAlB,EAA6Bt6E,CAAC,CAAC8wE,MAAF,GAAS9wE,CAAC,CAAC8wE,MAAF,GAAS,KAAKr2G,IAAL,CAAUujC,CAAV,CAAT,GAAsBvK,CAAC,CAACq9E,MAA9D,EAAqE9wE,CAAC,CAACvlC,IAAF,GAAO,CAAC,GAAGulC,CAAC,CAACvlC,IAAN,EAAW,GAAG,KAAKA,IAAL,CAAU0xG,KAAV,CAAgBnuE,CAAC,GAAC,CAAlB,CAAd,CAA5E,EAAgHgC,CAAvH;AAAyH;;AAAAi4E,MAAAA,MAAM,GAAE;AAAC,eAAM;AAAChhF,UAAAA,IAAI,EAAC,KAAKA,IAAL,CAAUghF,MAAV,EAAN;AAAyBx9G,UAAAA,IAAI,EAACm+B,KAAK,CAAC7H,IAAN,CAAW,KAAKt2B,IAAhB,CAA9B;AAAoD6/G,UAAAA,UAAU,EAAC,KAAKA;AAApE,SAAN;AAAsF;;AAAAjnF,MAAAA,KAAK,GAAE;AAAC,eAAO,IAAI,KAAKngC,WAAT,CAAqB,KAAK+jC,IAA1B,EAA+B,KAAKx8B,IAApC,EAAyC,KAAK6/G,UAA9C,CAAP;AAAiE;;AAAgB,aAAT6tK,SAAS,CAAC10P,CAAD,EAAG2K,CAAH,EAAKJ,CAAC,GAAC,QAAP,EAAgB;AAAC,YAAGvK,CAAC,YAAYmwQ,EAAhB,EAAmB,OAAO,IAAIA,EAAJ,CAAOnwQ,CAAC,CAACwD,IAAT,EAAcxD,CAAC,CAACh5B,IAAhB,EAAqBg5B,CAAC,CAAC6mF,UAAvB,CAAP;AAA0C;AAAC,gBAAMt6E,CAAC,GAACvM,CAAR;AAAU,cAAG,SAAO2K,CAAV,EAAYA,CAAC,GAAC4B,CAAC,CAAC8iQ,SAAJ,CAAZ,KAA8B;AAAC,gBAAG,YAAU1kQ,CAAb,EAAe,OAAO,KAAK2qP,aAAL,CAAmB/oP,CAAnB,EAAqBhC,CAArB,CAAP;AAA+B,gBAAG,WAASI,CAAZ,EAAc,OAAO,KAAKwqP,YAAL,CAAkB5oP,CAAlB,EAAoBhC,CAApB,CAAP;AAA8B,gBAAG,MAAII,CAAJ,IAAO,CAACA,CAAX,EAAa,MAAM,IAAIw3C,CAAJ,CAAM,wCAAN,EAA+C,CAAC,IAAD,EAAMniD,CAAN,CAA/C,CAAN;AAA+D;AAAA,cAAG,CAACuM,CAAC,CAACs+E,EAAF,CAAK,SAAL,CAAD,IAAkB,CAACt+E,CAAC,CAACs+E,EAAF,CAAK,kBAAL,CAAtB,EAA+C,MAAM,IAAI1oC,CAAJ,CAAM,iCAAN,EAAwC,CAAC,IAAD,EAAMniD,CAAN,CAAxC,CAAN;AAAwD,gBAAMrpB,CAAC,GAAC41B,CAAC,CAACygP,OAAF,EAAR;AAAoB,iBAAOr2Q,CAAC,CAACsvB,IAAF,CAAO0E,CAAP,GAAU,IAAI,IAAJ,CAAS4B,CAAC,CAAC/I,IAAX,EAAgB7sB,CAAhB,EAAkB4zB,CAAlB,CAAjB;AAAsC;AAAC;;AAAmB,aAAZ4qP,YAAY,CAACn1P,CAAD,EAAG2K,CAAH,EAAK;AAAC,YAAG,CAAC3K,CAAC,CAACmhD,MAAN,EAAa,MAAM,IAAIgB,CAAJ,CAAM,2BAAN,EAAkC,CAAC,IAAD,EAAMniD,CAAN,CAAlC,EAA2C;AAACwD,UAAAA,IAAI,EAACxD;AAAN,SAA3C,CAAN;AAA2D,eAAO,KAAK00P,SAAL,CAAe10P,CAAC,CAACmhD,MAAjB,EAAwBnhD,CAAC,CAAComQ,SAA1B,EAAoCz7P,CAApC,CAAP;AAA8C;;AAAoB,aAAb2qP,aAAa,CAACt1P,CAAD,EAAG2K,CAAH,EAAK;AAAC,YAAG,CAAC3K,CAAC,CAACmhD,MAAN,EAAa,MAAM,IAAIgB,CAAJ,CAAM,4BAAN,EAAmCniD,CAAnC,EAAqC;AAACwD,UAAAA,IAAI,EAACxD;AAAN,SAArC,CAAN;AAAqD,eAAO,KAAK00P,SAAL,CAAe10P,CAAC,CAACmhD,MAAjB,EAAwBnhD,CAAC,CAACi/P,WAA1B,EAAsCt0P,CAAtC,CAAP;AAAgD;;AAAe,aAARmlQ,QAAQ,CAAC9vQ,CAAD,EAAG2K,CAAH,EAAK;AAAC,YAAG,iBAAe3K,CAAC,CAACwD,IAApB,EAAyB;AAAC,gBAAM+G,CAAC,GAAC,IAAI4lQ,EAAJ,CAAOxlQ,CAAC,CAACqnQ,SAAT,EAAmBhyQ,CAAC,CAACh5B,IAArB,CAAR;AAAmC,iBAAOujC,CAAC,CAACs8E,UAAF,GAAa7mF,CAAC,CAAC6mF,UAAf,EAA0Bt8E,CAAjC;AAAmC;;AAAA,YAAG,CAACI,CAAC,CAACy7E,OAAF,CAAUpmF,CAAC,CAACwD,IAAZ,CAAJ,EAAsB,MAAM,IAAI2+C,CAAJ,CAAM,iCAAN,EAAwCx3C,CAAxC,EAA0C;AAAC23E,UAAAA,QAAQ,EAACtiF,CAAC,CAACwD;AAAZ,SAA1C,CAAN;AAAmE,eAAO,IAAI2sQ,EAAJ,CAAOxlQ,CAAC,CAACy7E,OAAF,CAAUpmF,CAAC,CAACwD,IAAZ,CAAP,EAAyBxD,CAAC,CAACh5B,IAA3B,EAAgCg5B,CAAC,CAAC6mF,UAAlC,CAAP;AAAqD;;AAAlrM;;AAAmrM,aAASwpL,EAAT,CAAYrwQ,CAAZ,EAAc2K,CAAd,EAAgB;AAAC,YAAMJ,CAAC,GAACI,CAAC,CAACkiP,QAAF,CAAWliP,CAAC,CAAC+kQ,aAAF,CAAgB1vQ,CAAC,CAACq9E,MAAlB,CAAX,CAAR;AAA8C,aAAO9yE,CAAC,IAAEA,CAAC,CAACsgF,EAAF,CAAK,OAAL,CAAH,IAAkBtgF,CAAC,CAAC00P,WAAF,GAAcj/P,CAAC,CAACq9E,MAAlC,GAAyC9yE,CAAzC,GAA2C,IAAlD;AAAuD;;AAAA,aAAS+lQ,EAAT,CAAYtwQ,CAAZ,EAAc2K,CAAd,EAAgBJ,CAAhB,EAAkB;AAAC,aAAO,SAAOA,CAAP,GAAS,IAAT,GAAcI,CAAC,CAACkiP,QAAF,CAAWliP,CAAC,CAAC+kQ,aAAF,CAAgB1vQ,CAAC,CAACq9E,MAAlB,CAAX,CAArB;AAA2D;;AAAA,aAASmzL,EAAT,CAAYxwQ,CAAZ,EAAc2K,CAAd,EAAgBJ,CAAhB,EAAkB;AAAC,aAAO,SAAOA,CAAP,GAAS,IAAT,GAAcI,CAAC,CAACkiP,QAAF,CAAWliP,CAAC,CAAC+kQ,aAAF,CAAgB1vQ,CAAC,CAACq9E,MAAlB,IAA0B,CAArC,CAArB;AAA6D;;AAAA,aAASuzL,EAAT,CAAY5wQ,CAAZ,EAAc2K,CAAd,EAAgBJ,CAAhB,EAAkB;AAAC,aAAOA,CAAC,GAAC,CAAF,KAAMvK,CAAC,CAACh5B,IAAF,CAAO2F,MAAb,IAAsB,CAAC,CAACkkS,EAAE,CAAClmQ,CAAC,CAAC3jC,IAAH,EAAQujC,CAAC,GAAC,CAAV,CAAJ,IAAkB,CAAC,CAAC,UAASvK,CAAT,EAAW2K,CAAX,EAAa;AAAC,YAAIJ,CAAC,GAACvK,CAAC,CAACmhD,MAAR;AAAA,YAAe50C,CAAC,GAACvM,CAAC,CAACh5B,IAAF,CAAO2F,MAAP,GAAc,CAA/B;AAAA,YAAiCgK,CAAC,GAAC,CAAnC;;AAAqC,eAAK41B,CAAC,IAAE5B,CAAR,GAAW;AAAC,cAAG3K,CAAC,CAACh5B,IAAF,CAAOulC,CAAP,IAAU51B,CAAV,KAAc4zB,CAAC,CAAC8kQ,SAAnB,EAA6B,OAAM,CAAC,CAAP;AAAS14R,UAAAA,CAAC,GAAC,CAAF,EAAI41B,CAAC,EAAL,EAAQhC,CAAC,GAACA,CAAC,CAAC42C,MAAZ;AAAmB;;AAAA,eAAM,CAAC,CAAP;AAAS,OAAjI,CAAkInhD,CAAlI,EAAoIuK,CAAC,GAAC,CAAtI,CAAjD;AAA2L;;AAAA,aAASsmQ,EAAT,CAAY7wQ,CAAZ,EAAc2K,CAAd,EAAgB;AAAC,aAAKA,CAAC,GAAC3K,CAAC,CAACrzB,MAAT,GAAiB;AAAC,YAAG,MAAIqzB,CAAC,CAAC2K,CAAD,CAAR,EAAY,OAAM,CAAC,CAAP;AAASA,QAAAA,CAAC;AAAG;;AAAA,aAAM,CAAC,CAAP;AAAS;;AAAAwlQ,IAAAA,EAAE,CAAClmQ,SAAH,CAAa4gF,EAAb,GAAgB,UAAS7qF,CAAT,EAAW;AAAC,aAAM,eAAaA,CAAb,IAAgB,qBAAmBA,CAAzC;AAA2C,KAAvE;;AAAwE,UAAMiyQ,EAAN,SAAiBnD,EAAjB,CAAmB;AAACrvS,MAAAA,WAAW,CAACugC,CAAD,EAAG2K,CAAH,EAAK;AAAC,iBAAQ,KAAK87E,KAAL,GAAW0pL,EAAE,CAACzb,SAAH,CAAa10P,CAAb,CAAnB,EAAmC,KAAK0mF,GAAL,GAAS/7E,CAAC,GAACwlQ,EAAE,CAACzb,SAAH,CAAa/pP,CAAb,CAAD,GAAiBwlQ,EAAE,CAACzb,SAAH,CAAa10P,CAAb,CAA9D,EAA8E,KAAKymF,KAAL,CAAWI,UAAX,GAAsB,KAAKmvK,WAAL,GAAiB,QAAjB,GAA0B,QAA9H,EAAuI,KAAKtvK,GAAL,CAASG,UAAT,GAAoB,KAAKmvK,WAAL,GAAiB,QAAjB,GAA0B,YAArL;AAAkM;;AAAiB,QAAf9pP,MAAM,CAACC,QAAQ,IAAG;AAAC,eAAM,IAAI+jQ,EAAJ,CAAO;AAAC1b,UAAAA,UAAU,EAAC,IAAZ;AAAiBK,UAAAA,gBAAgB,EAAC,CAAC;AAAnC,SAAP,CAAN;AAAoD;;AAAe,UAAXmB,WAAW,GAAE;AAAC,eAAO,KAAKvvK,KAAL,CAAWsvJ,OAAX,CAAmB,KAAKrvJ,GAAxB,CAAP;AAAoC;;AAAU,UAANuvK,MAAM,GAAE;AAAC,eAAM,UAAQtuB,CAAC,CAAC,KAAKlhJ,KAAL,CAAWgqL,aAAX,EAAD,EAA4B,KAAK/pL,GAAL,CAAS+pL,aAAT,EAA5B,CAAf;AAAqE;;AAAQ,UAAJjtQ,IAAI,GAAE;AAAC,eAAO,KAAKijF,KAAL,CAAWjjF,IAAlB;AAAuB;;AAAA6yP,MAAAA,gBAAgB,CAACr2P,CAAD,EAAG;AAAC,eAAOA,CAAC,CAACwzM,OAAF,CAAU,KAAK/sH,KAAf,KAAuBzmF,CAAC,CAACpK,QAAF,CAAW,KAAK8wF,GAAhB,CAA9B;AAAmD;;AAAA4vK,MAAAA,aAAa,CAACt2P,CAAD,EAAG2K,CAAC,GAAC,CAAC,CAAN,EAAQ;AAAC3K,QAAAA,CAAC,CAACg2P,WAAF,KAAgBrrP,CAAC,GAAC,CAAC,CAAnB;AAAsB,cAAMJ,CAAC,GAAC,KAAK8rP,gBAAL,CAAsBr2P,CAAC,CAACymF,KAAxB,KAAgC97E,CAAC,IAAE,KAAK87E,KAAL,CAAWsvJ,OAAX,CAAmB/1O,CAAC,CAACymF,KAArB,CAA3C;AAAA,cAAuEl6E,CAAC,GAAC,KAAK8pP,gBAAL,CAAsBr2P,CAAC,CAAC0mF,GAAxB,KAA8B/7E,CAAC,IAAE,KAAK+7E,GAAL,CAASqvJ,OAAT,CAAiB/1O,CAAC,CAAC0mF,GAAnB,CAA1G;AAAkI,eAAOn8E,CAAC,IAAEgC,CAAV;AAAY;;AAAA2lQ,MAAAA,YAAY,CAAClyQ,CAAD,EAAG;AAAC,cAAM2K,CAAC,GAACwlQ,EAAE,CAAC7a,aAAH,CAAiBt1P,CAAjB,CAAR;;AAA4B,eAAO,KAAKq2P,gBAAL,CAAsB1rP,CAAtB,KAA0B,KAAK87E,KAAL,CAAWsvJ,OAAX,CAAmBprO,CAAnB,CAAjC;AAAuD;;AAAAorO,MAAAA,OAAO,CAAC/1O,CAAD,EAAG;AAAC,eAAO,KAAKymF,KAAL,CAAWsvJ,OAAX,CAAmB/1O,CAAC,CAACymF,KAArB,KAA6B,KAAKC,GAAL,CAASqvJ,OAAT,CAAiB/1O,CAAC,CAAC0mF,GAAnB,CAApC;AAA4D;;AAAA8vK,MAAAA,cAAc,CAACx2P,CAAD,EAAG;AAAC,eAAO,KAAKymF,KAAL,CAAW7wF,QAAX,CAAoBoK,CAAC,CAAC0mF,GAAtB,KAA4B,KAAKA,GAAL,CAAS8sH,OAAT,CAAiBxzM,CAAC,CAACymF,KAAnB,CAAnC;AAA6D;;AAAA8vK,MAAAA,aAAa,CAACv2P,CAAD,EAAG;AAAC,cAAM2K,CAAC,GAAC,EAAR;AAAW,eAAO,KAAK6rP,cAAL,CAAoBx2P,CAApB,KAAwB,KAAKq2P,gBAAL,CAAsBr2P,CAAC,CAACymF,KAAxB,KAAgC97E,CAAC,CAAC1E,IAAF,CAAO,IAAIgsQ,EAAJ,CAAO,KAAKxrL,KAAZ,EAAkBzmF,CAAC,CAACymF,KAApB,CAAP,CAAhC,EAAmE,KAAK4vK,gBAAL,CAAsBr2P,CAAC,CAAC0mF,GAAxB,KAA8B/7E,CAAC,CAAC1E,IAAF,CAAO,IAAIgsQ,EAAJ,CAAOjyQ,CAAC,CAAC0mF,GAAT,EAAa,KAAKA,GAAlB,CAAP,CAAzH,IAAyJ/7E,CAAC,CAAC1E,IAAF,CAAO,IAAIgsQ,EAAJ,CAAO,KAAKxrL,KAAZ,EAAkB,KAAKC,GAAvB,CAAP,CAAzJ,EAA6L/7E,CAApM;AAAsM;;AAAA6qO,MAAAA,eAAe,CAACx1O,CAAD,EAAG;AAAC,YAAG,KAAKw2P,cAAL,CAAoBx2P,CAApB,CAAH,EAA0B;AAAC,cAAI2K,CAAC,GAAC,KAAK87E,KAAX;AAAA,cAAiBl8E,CAAC,GAAC,KAAKm8E,GAAxB;AAA4B,iBAAO,KAAK2vK,gBAAL,CAAsBr2P,CAAC,CAACymF,KAAxB,MAAiC97E,CAAC,GAAC3K,CAAC,CAACymF,KAArC,GAA4C,KAAK4vK,gBAAL,CAAsBr2P,CAAC,CAAC0mF,GAAxB,MAA+Bn8E,CAAC,GAACvK,CAAC,CAAC0mF,GAAnC,CAA5C,EAAoF,IAAIurL,EAAJ,CAAOtnQ,CAAP,EAASJ,CAAT,CAA3F;AAAuG;;AAAA,eAAO,IAAP;AAAY;;AAAA4nQ,MAAAA,SAAS,CAACnyQ,CAAD,EAAG2K,CAAC,GAAC,CAAC,CAAN,EAAQ;AAAC,YAAIJ,CAAC,GAAC,KAAKisP,cAAL,CAAoBx2P,CAApB,CAAN;AAA6B,YAAGuK,CAAC,KAAGA,CAAC,GAAC,KAAKk8E,KAAL,CAAW7wF,QAAX,CAAoBoK,CAAC,CAACymF,KAAtB,IAA6B97E,CAAC,GAAC,KAAK+7E,GAAL,CAASiqL,UAAT,CAAoB3wQ,CAAC,CAACymF,KAAtB,CAAD,GAA8B,KAAKC,GAAL,CAASqvJ,OAAT,CAAiB/1O,CAAC,CAACymF,KAAnB,CAA5D,GAAsF97E,CAAC,GAAC3K,CAAC,CAAC0mF,GAAF,CAAMiqL,UAAN,CAAiB,KAAKlqL,KAAtB,CAAD,GAA8BzmF,CAAC,CAAC0mF,GAAF,CAAMqvJ,OAAN,CAAc,KAAKtvJ,KAAnB,CAA1H,CAAD,EAAsJ,CAACl8E,CAA1J,EAA4J,OAAO,IAAP;AAAY,YAAIgC,CAAC,GAAC,KAAKk6E,KAAX;AAAA,YAAiB9vG,CAAC,GAAC,KAAK+vG,GAAxB;AAA4B,eAAO1mF,CAAC,CAACymF,KAAF,CAAQ7wF,QAAR,CAAiB2W,CAAjB,MAAsBA,CAAC,GAACvM,CAAC,CAACymF,KAA1B,GAAiCzmF,CAAC,CAAC0mF,GAAF,CAAM8sH,OAAN,CAAc78N,CAAd,MAAmBA,CAAC,GAACqpB,CAAC,CAAC0mF,GAAvB,CAAjC,EAA6D,IAAIurL,EAAJ,CAAO1lQ,CAAP,EAAS51B,CAAT,CAApE;AAAgF;;AAAAy7R,MAAAA,oBAAoB,GAAE;AAAC,cAAMpyQ,CAAC,GAAC,EAAR;AAAA,cAAW2K,CAAC,GAAC,KAAK87E,KAAL,CAAWiqL,aAAX,CAAyB,KAAKhqL,GAA9B,EAAmC/5G,MAAhD;AAAA,cAAuD49B,CAAC,GAAC4lQ,EAAE,CAACzb,SAAH,CAAa,KAAKjuK,KAAlB,CAAzD;;AAAkF,YAAIl6E,CAAC,GAAChC,CAAC,CAAC42C,MAAR;;AAAe,eAAK52C,CAAC,CAACvjC,IAAF,CAAO2F,MAAP,GAAcg+B,CAAC,GAAC,CAArB,GAAwB;AAAC,gBAAMA,CAAC,GAAC4B,CAAC,CAAC8iQ,SAAF,GAAY9kQ,CAAC,CAAC8yE,MAAtB;AAA6B,gBAAI1yE,CAAJ,IAAO3K,CAAC,CAACiG,IAAF,CAAO,IAAIgsQ,EAAJ,CAAO1nQ,CAAP,EAASA,CAAC,CAACorP,YAAF,CAAehrP,CAAf,CAAT,CAAP,CAAP,EAA2CJ,CAAC,CAACvjC,IAAF,GAAOujC,CAAC,CAACvjC,IAAF,CAAO0xG,KAAP,CAAa,CAAb,EAAe,CAAC,CAAhB,CAAlD,EAAqEnuE,CAAC,CAAC8yE,MAAF,EAArE,EAAgF9wE,CAAC,GAACA,CAAC,CAAC40C,MAApF;AAA2F;;AAAA,eAAK52C,CAAC,CAACvjC,IAAF,CAAO2F,MAAP,IAAe,KAAK+5G,GAAL,CAAS1/G,IAAT,CAAc2F,MAAlC,GAA0C;AAAC,gBAAMg+B,CAAC,GAAC,KAAK+7E,GAAL,CAAS1/G,IAAT,CAAcujC,CAAC,CAACvjC,IAAF,CAAO2F,MAAP,GAAc,CAA5B,CAAR;AAAA,gBAAuC4/B,CAAC,GAAC5B,CAAC,GAACJ,CAAC,CAAC8yE,MAA7C;AAAoD,gBAAI9wE,CAAJ,IAAOvM,CAAC,CAACiG,IAAF,CAAO,IAAIgsQ,EAAJ,CAAO1nQ,CAAP,EAASA,CAAC,CAACorP,YAAF,CAAeppP,CAAf,CAAT,CAAP,CAAP,EAA2ChC,CAAC,CAAC8yE,MAAF,GAAS1yE,CAApD,EAAsDJ,CAAC,CAACvjC,IAAF,CAAOi/B,IAAP,CAAY,CAAZ,CAAtD;AAAqE;;AAAA,eAAOjG,CAAP;AAAS;;AAAA81P,MAAAA,SAAS,CAAC91P,CAAC,GAAC,EAAH,EAAM;AAAC,eAAOA,CAAC,CAACw0P,UAAF,GAAa,IAAb,EAAkB,IAAI0b,EAAJ,CAAOlwQ,CAAP,CAAzB;AAAmC;;AAAS,OAARunG,QAAQ,CAACvnG,CAAC,GAAC,EAAH,EAAM;AAACA,QAAAA,CAAC,CAACw0P,UAAF,GAAa,IAAb,EAAkBx0P,CAAC,CAAC60P,gBAAF,GAAmB,CAAC,CAAtC;AAAwC,cAAMlqP,CAAC,GAAC,IAAIulQ,EAAJ,CAAOlwQ,CAAP,CAAR;;AAAkB,aAAI,MAAMA,CAAV,IAAe2K,CAAf,EAAiB,MAAM3K,CAAC,CAACxlB,IAAR;AAAa;;AAAa,OAAZk8Q,YAAY,CAAC12P,CAAC,GAAC,EAAH,EAAM;AAACA,QAAAA,CAAC,CAACw0P,UAAF,GAAa,IAAb;AAAkB,cAAM7pP,CAAC,GAAC,IAAIulQ,EAAJ,CAAOlwQ,CAAP,CAAR;AAAkB,cAAM2K,CAAC,CAAC76B,QAAR;;AAAiB,aAAI,MAAMkwB,CAAV,IAAe2K,CAAf,EAAiB,MAAM3K,CAAC,CAACw1P,YAAR;AAAqB;;AAAAub,MAAAA,yBAAyB,CAAC/wQ,CAAD,EAAG;AAAC,gBAAOA,CAAC,CAAC/oB,IAAT;AAAe,eAAI,QAAJ;AAAa,mBAAO,KAAK+5R,gCAAL,CAAsChxQ,CAAtC,CAAP;;AAAgD,eAAI,MAAJ;AAAW,eAAI,QAAJ;AAAa,eAAI,UAAJ;AAAe,mBAAO,KAAKixQ,8BAAL,CAAoCjxQ,CAApC,CAAP;;AAA8C,eAAI,OAAJ;AAAY,mBAAM,CAAC,KAAKkxQ,+BAAL,CAAqClxQ,CAArC,CAAD,CAAN;;AAAgD,eAAI,OAAJ;AAAY,mBAAM,CAAC,KAAKmxQ,+BAAL,CAAqCnxQ,CAArC,CAAD,CAAN;AAAzO;;AAAyR,eAAM,CAAC,IAAIiyQ,EAAJ,CAAO,KAAKxrL,KAAZ,EAAkB,KAAKC,GAAvB,CAAD,CAAN;AAAoC;;AAAA2rL,MAAAA,0BAA0B,CAACryQ,CAAD,EAAG;AAAC,cAAM2K,CAAC,GAAC,CAAC,IAAIsnQ,EAAJ,CAAO,KAAKxrL,KAAZ,EAAkB,KAAKC,GAAvB,CAAD,CAAR;;AAAsC,aAAI,MAAMn8E,CAAV,IAAevK,CAAf,EAAiB,KAAI,IAAIA,CAAC,GAAC,CAAV,EAAYA,CAAC,GAAC2K,CAAC,CAACh+B,MAAhB,EAAuBqzB,CAAC,EAAxB,EAA2B;AAAC,gBAAMuM,CAAC,GAAC5B,CAAC,CAAC3K,CAAD,CAAD,CAAK+wQ,yBAAL,CAA+BxmQ,CAA/B,CAAR;AAA0CI,UAAAA,CAAC,CAACw4F,MAAF,CAASnjG,CAAT,EAAW,CAAX,EAAa,GAAGuM,CAAhB,GAAmBvM,CAAC,IAAEuM,CAAC,CAAC5/B,MAAF,GAAS,CAA/B;AAAiC;;AAAA,aAAI,IAAIqzB,CAAC,GAAC,CAAV,EAAYA,CAAC,GAAC2K,CAAC,CAACh+B,MAAhB,EAAuBqzB,CAAC,EAAxB,EAA2B;AAAC,gBAAMuK,CAAC,GAACI,CAAC,CAAC3K,CAAD,CAAT;;AAAa,eAAI,IAAIuM,CAAC,GAACvM,CAAC,GAAC,CAAZ,EAAcuM,CAAC,GAAC5B,CAAC,CAACh+B,MAAlB,EAAyB4/B,CAAC,EAA1B,EAA6B;AAAC,kBAAMvM,CAAC,GAAC2K,CAAC,CAAC4B,CAAD,CAAT;AAAa,aAAChC,CAAC,CAAC+rP,aAAF,CAAgBt2P,CAAhB,KAAoBA,CAAC,CAACs2P,aAAF,CAAgB/rP,CAAhB,CAApB,IAAwCA,CAAC,CAACwrO,OAAF,CAAU/1O,CAAV,CAAzC,KAAwD2K,CAAC,CAACw4F,MAAF,CAAS52F,CAAT,EAAW,CAAX,CAAxD;AAAsE;AAAC;;AAAA,eAAO5B,CAAP;AAAS;;AAAAyiP,MAAAA,iBAAiB,GAAE;AAAC,eAAO,KAAK3mK,KAAL,CAAW2mK,iBAAX,CAA6B,KAAK1mK,GAAlC,CAAP;AAA8C;;AAAA+vK,MAAAA,mBAAmB,GAAE;AAAC,YAAG,KAAKT,WAAR,EAAoB,OAAO,IAAP;AAAY,cAAMh2P,CAAC,GAAC,KAAKymF,KAAL,CAAWgvK,SAAnB;AAAA,cAA6B9qP,CAAC,GAAC,KAAK+7E,GAAL,CAASgvK,UAAxC;AAAmD,eAAO11P,CAAC,IAAEA,CAAC,CAAC6qF,EAAF,CAAK,SAAL,CAAH,IAAoB7qF,CAAC,KAAG2K,CAAxB,GAA0B3K,CAA1B,GAA4B,IAAnC;AAAwC;;AAAAwkF,MAAAA,MAAM,GAAE;AAAC,eAAM;AAACiC,UAAAA,KAAK,EAAC,KAAKA,KAAL,CAAWjC,MAAX,EAAP;AAA2BkC,UAAAA,GAAG,EAAC,KAAKA,GAAL,CAASlC,MAAT;AAA/B,SAAN;AAAwD;;AAAA5kF,MAAAA,KAAK,GAAE;AAAC,eAAO,IAAI,KAAKngC,WAAT,CAAqB,KAAKgnH,KAA1B,EAAgC,KAAKC,GAArC,CAAP;AAAiD;;AAAAsqL,MAAAA,gCAAgC,CAAChxQ,CAAD,EAAG2K,CAAC,GAAC,CAAC,CAAN,EAAQ;AAAC,eAAO,KAAKymQ,0BAAL,CAAgCpxQ,CAAC,CAAClwB,QAAlC,EAA2CkwB,CAAC,CAAC0jH,OAA7C,EAAqD/4G,CAArD,CAAP;AAA+D;;AAAAsmQ,MAAAA,8BAA8B,CAACjxQ,CAAD,EAAG2K,CAAC,GAAC,CAAC,CAAN,EAAQ;AAAC,cAAMJ,CAAC,GAACvK,CAAC,CAACsxQ,cAAV;AAAA,cAAyB/kQ,CAAC,GAACvM,CAAC,CAAC0jH,OAA7B;AAAA,cAAqC/sI,CAAC,GAACqpB,CAAC,CAACuxQ,cAAzC;AAAwD,eAAO,KAAKF,qBAAL,CAA2B9mQ,CAA3B,EAA6B5zB,CAA7B,EAA+B41B,CAA/B,EAAiC5B,CAAjC,CAAP;AAA2C;;AAAAumQ,MAAAA,+BAA+B,CAAClxQ,CAAD,EAAG;AAAC,cAAM2K,CAAC,GAAC,KAAK87E,KAAL,CAAWyqL,+BAAX,CAA2ClxQ,CAA3C,CAAR;;AAAsD,YAAIuK,CAAC,GAAC,KAAKm8E,GAAL,CAASwqL,+BAAT,CAAyClxQ,CAAzC,CAAN;;AAAkD,eAAO,KAAK0mF,GAAL,CAASqvJ,OAAT,CAAiB/1O,CAAC,CAAC6xQ,iBAAnB,MAAwCtnQ,CAAC,GAAC,KAAKm8E,GAAL,CAASivK,YAAT,CAAsB,CAAtB,CAA1C,GAAoEhrP,CAAC,CAACnH,IAAF,IAAQ+G,CAAC,CAAC/G,IAAV,KAAiB+G,CAAC,GAAC,KAAKm8E,GAAL,CAASivK,YAAT,CAAsB,CAAC,CAAvB,CAAnB,CAApE,EAAkH,IAAIsc,EAAJ,CAAOtnQ,CAAP,EAASJ,CAAT,CAAzH;AAAqI;;AAAA4mQ,MAAAA,+BAA+B,CAACnxQ,CAAD,EAAG;AAAC,YAAG,KAAKymF,KAAL,CAAWsvJ,OAAX,CAAmB/1O,CAAC,CAACuxQ,cAArB,KAAsC,KAAK7qL,GAAL,CAASqvJ,OAAT,CAAiB/1O,CAAC,CAAC+xQ,gBAAnB,CAAzC,EAA8E,OAAO,IAAIE,EAAJ,CAAO,KAAKxrL,KAAZ,CAAP;;AAA0B,YAAI97E,CAAC,GAAC,KAAK87E,KAAL,CAAW0qL,+BAAX,CAA2CnxQ,CAA3C,CAAN;AAAA,YAAoDuK,CAAC,GAAC,KAAKm8E,GAAL,CAASyqL,+BAAT,CAAyCnxQ,CAAzC,CAAtD;;AAAkG,eAAO2K,CAAC,CAACnH,IAAF,IAAQ+G,CAAC,CAAC/G,IAAV,KAAiB+G,CAAC,GAAC,KAAKm8E,GAAL,CAASivK,YAAT,CAAsB,CAAC,CAAvB,CAAnB,GAA8ChrP,CAAC,CAAC6oM,OAAF,CAAUjpM,CAAV,KAAcvK,CAAC,CAACsxQ,cAAF,CAAiB17Q,QAAjB,CAA0BoK,CAAC,CAACuxQ,cAA5B,KAA6C5mQ,CAAC,GAACwlQ,EAAE,CAACzb,SAAH,CAAanqP,CAAb,CAAF,EAAkBI,CAAC,CAAC0yE,MAAF,GAAS,CAAxE,KAA4Er9E,CAAC,CAAC+xQ,gBAAF,CAAmBh8B,OAAnB,CAA2BprO,CAA3B,MAAgCJ,CAAC,GAACvK,CAAC,CAAC+xQ,gBAApC,GAAsDpnQ,CAAC,GAAC3K,CAAC,CAACuxQ,cAAtI,GAAsJ,IAAIU,EAAJ,CAAOtnQ,CAAP,EAASJ,CAAT,CAApK,IAAiL,IAAI0nQ,EAAJ,CAAOtnQ,CAAP,EAASJ,CAAT,CAAtO;AAAkP;;AAAA6mQ,MAAAA,0BAA0B,CAACpxQ,CAAD,EAAG2K,CAAH,EAAKJ,CAAC,GAAC,CAAC,CAAR,EAAU;AAAC,YAAGA,CAAC,IAAE,KAAK8rP,gBAAL,CAAsBr2P,CAAtB,CAAN,EAA+B,OAAM,CAAC,IAAIiyQ,EAAJ,CAAO,KAAKxrL,KAAZ,EAAkBzmF,CAAlB,CAAD,EAAsB,IAAIiyQ,EAAJ,CAAOjyQ,CAAC,CAAC21P,YAAF,CAAehrP,CAAf,CAAP,EAAyB,KAAK+7E,GAAL,CAAS0qL,0BAAT,CAAoCpxQ,CAApC,EAAsC2K,CAAtC,CAAzB,CAAtB,CAAN;AAAgG;AAAC,gBAAMJ,CAAC,GAAC,IAAI0nQ,EAAJ,CAAO,KAAKxrL,KAAZ,EAAkB,KAAKC,GAAvB,CAAR;AAAoC,iBAAOn8E,CAAC,CAACk8E,KAAF,GAAQl8E,CAAC,CAACk8E,KAAF,CAAQ2qL,0BAAR,CAAmCpxQ,CAAnC,EAAqC2K,CAArC,CAAR,EAAgDJ,CAAC,CAACm8E,GAAF,GAAMn8E,CAAC,CAACm8E,GAAF,CAAM0qL,0BAAN,CAAiCpxQ,CAAjC,EAAmC2K,CAAnC,CAAtD,EAA4F,CAACJ,CAAD,CAAnG;AAAuG;AAAC;;AAAA8mQ,MAAAA,qBAAqB,CAACrxQ,CAAD,EAAG2K,CAAH,EAAKJ,CAAL,EAAOgC,CAAC,GAAC,CAAC,CAAV,EAAY;AAAC,YAAG,KAAKypP,WAAR,EAAoB;AAAC,gBAAMzpP,CAAC,GAAC,KAAKk6E,KAAL,CAAW4qL,qBAAX,CAAiCrxQ,CAAjC,EAAmC2K,CAAnC,EAAqCJ,CAArC,CAAR;;AAAgD,iBAAM,CAAC,IAAI0nQ,EAAJ,CAAO1lQ,CAAP,CAAD,CAAN;AAAkB;;AAAA,cAAM51B,CAAC,GAACs7R,EAAE,CAACrb,2BAAH,CAA+B52P,CAA/B,EAAiCuK,CAAjC,CAAR;AAAA,cAA4CkC,CAAC,GAAC9B,CAAC,CAACmnQ,yBAAF,CAA4B9xQ,CAA5B,EAA8BuK,CAA9B,CAA9C;;AAA+E,YAAG,KAAK8rP,gBAAL,CAAsB1rP,CAAtB,KAA0B,CAAC4B,CAA3B,KAA+B51B,CAAC,CAAC0/Q,gBAAF,CAAmB,KAAK5vK,KAAxB,KAAgC9vG,CAAC,CAAC0/Q,gBAAF,CAAmB,KAAK3vK,GAAxB,CAA/D,CAAH,EAAgG;AAAC,gBAAMn6E,CAAC,GAAC,KAAKk6E,KAAL,CAAW4qL,qBAAX,CAAiCrxQ,CAAjC,EAAmC2K,CAAnC,EAAqCJ,CAArC,CAAR;AAAA,gBAAgD5zB,CAAC,GAAC,KAAK+vG,GAAL,CAAS2qL,qBAAT,CAA+BrxQ,CAA/B,EAAiC2K,CAAjC,EAAmCJ,CAAnC,CAAlD;;AAAwF,iBAAM,CAAC,IAAI0nQ,EAAJ,CAAO1lQ,CAAP,EAAS51B,CAAT,CAAD,CAAN;AAAoB;;AAAA,YAAI2zB,CAAJ;AAAM,cAAM83C,CAAC,GAAC,KAAKm0M,aAAL,CAAmB5/Q,CAAnB,CAAR;AAA8B,YAAIgnK,CAAC,GAAC,IAAN;AAAW,cAAMuuC,CAAC,GAAC,KAAKspD,eAAL,CAAqB7+P,CAArB,CAAR;;AAAgC,YAAG,KAAGyrE,CAAC,CAACz1E,MAAL,GAAYgxK,CAAC,GAAC,IAAIs0H,EAAJ,CAAO7vN,CAAC,CAAC,CAAD,CAAD,CAAKqkC,KAAL,CAAWqrL,yBAAX,CAAqC9xQ,CAArC,EAAuCuK,CAAvC,CAAP,EAAiD63C,CAAC,CAAC,CAAD,CAAD,CAAKskC,GAAL,CAASorL,yBAAT,CAAmC9xQ,CAAnC,EAAqCuK,CAArC,CAAjD,CAAd,GAAwG,KAAG63C,CAAC,CAACz1E,MAAL,KAAcgxK,CAAC,GAAC,IAAIs0H,EAAJ,CAAO,KAAKxrL,KAAZ,EAAkB,KAAKC,GAAL,CAASorL,yBAAT,CAAmC9xQ,CAAnC,EAAqCuK,CAArC,CAAlB,CAAhB,CAAxG,EAAoLD,CAAC,GAACqzI,CAAC,GAACA,CAAC,CAACyzH,0BAAF,CAA6B3kQ,CAA7B,EAA+BlC,CAA/B,EAAiC,SAAO2hL,CAAP,IAAU3/K,CAA3C,CAAD,GAA+C,EAAtO,EAAyO2/K,CAA5O,EAA8O;AAAC,gBAAMlsL,CAAC,GAAC,IAAIiyQ,EAAJ,CAAO/lF,CAAC,CAACzlG,KAAF,CAAQgrL,YAAR,CAAqB96R,CAAC,CAAC8vG,KAAvB,EAA6Bh6E,CAA7B,CAAP,EAAuCy/K,CAAC,CAACxlG,GAAF,CAAM+qL,YAAN,CAAmB96R,CAAC,CAAC8vG,KAArB,EAA2Bh6E,CAA3B,CAAvC,CAAR;AAA8E,eAAGnC,CAAC,CAAC39B,MAAL,GAAY29B,CAAC,CAAC64F,MAAF,CAAS,CAAT,EAAW,CAAX,EAAanjG,CAAb,CAAZ,GAA4BsK,CAAC,CAACrE,IAAF,CAAOjG,CAAP,CAA5B;AAAsC;;AAAA,eAAOsK,CAAP;AAAS;;AAAAwnQ,MAAAA,yBAAyB,CAAC9xQ,CAAD,EAAG2K,CAAH,EAAK;AAAC,YAAIJ,CAAC,GAAC,KAAKk8E,KAAL,CAAWqrL,yBAAX,CAAqC9xQ,CAArC,EAAuC2K,CAAvC,CAAN;AAAA,YAAgD4B,CAAC,GAAC,KAAKm6E,GAAL,CAASorL,yBAAT,CAAmC9xQ,CAAnC,EAAqC2K,CAArC,CAAlD;;AAA0F,eAAO,QAAMJ,CAAN,IAAS,QAAMgC,CAAf,GAAiB,IAAjB,IAAuB,QAAMhC,CAAN,KAAUA,CAAC,GAACvK,CAAZ,GAAe,QAAMuM,CAAN,KAAUA,CAAC,GAACvM,CAAZ,CAAf,EAA8B,IAAIiyQ,EAAJ,CAAO1nQ,CAAP,EAASgC,CAAT,CAArD,CAAP;AAAyE;;AAAkC,aAA3BqqP,2BAA2B,CAAC52P,CAAD,EAAG2K,CAAH,EAAK;AAAC,cAAMJ,CAAC,GAACvK,CAAR;AAAA,cAAUuM,CAAC,GAACvM,CAAC,CAAC21P,YAAF,CAAehrP,CAAf,CAAZ;AAA8B,eAAOA,CAAC,GAAC,CAAF,GAAI,IAAI,IAAJ,CAASJ,CAAT,EAAWgC,CAAX,CAAJ,GAAkB,IAAI,IAAJ,CAASA,CAAT,EAAWhC,CAAX,CAAzB;AAAuC;;AAAgB,aAATssP,SAAS,CAAC72P,CAAD,EAAG;AAAC,eAAO,IAAI,IAAJ,CAASmwQ,EAAE,CAACzb,SAAH,CAAa10P,CAAb,EAAe,CAAf,CAAT,EAA2BmwQ,EAAE,CAACzb,SAAH,CAAa10P,CAAb,EAAeA,CAAC,CAACqvQ,SAAjB,CAA3B,CAAP;AAA+D;;AAAgB,aAATvY,SAAS,CAAC92P,CAAD,EAAG;AAAC,eAAO,KAAK42P,2BAAL,CAAiCuZ,EAAE,CAAC7a,aAAH,CAAiBt1P,CAAjB,CAAjC,EAAqDA,CAAC,CAAC4tP,UAAvD,CAAP;AAA0E;;AAAwB,aAAjB0kB,iBAAiB,CAACtyQ,CAAD,EAAG;AAAC,YAAG,MAAIA,CAAC,CAACrzB,MAAT,EAAgB,MAAM,IAAIw1E,CAAJ,CAAM,sCAAN,EAA6C,IAA7C,CAAN;AAAyD,YAAG,KAAGniD,CAAC,CAACrzB,MAAR,EAAe,OAAOqzB,CAAC,CAAC,CAAD,CAAD,CAAKJ,KAAL,EAAP;AAAoB,cAAM+K,CAAC,GAAC3K,CAAC,CAAC,CAAD,CAAT;AAAaA,QAAAA,CAAC,CAAC6gD,IAAF,CAAQ,CAAC7gD,CAAD,EAAG2K,CAAH,KAAO3K,CAAC,CAACymF,KAAF,CAAQ+sH,OAAR,CAAgB7oM,CAAC,CAAC87E,KAAlB,IAAyB,CAAzB,GAA2B,CAAC,CAA3C;AAA+C,cAAMl8E,CAAC,GAACvK,CAAC,CAAC5nB,OAAF,CAAUuyB,CAAV,CAAR;AAAA,cAAqB4B,CAAC,GAAC,IAAI,IAAJ,CAAS5B,CAAC,CAAC87E,KAAX,EAAiB97E,CAAC,CAAC+7E,GAAnB,CAAvB;AAA+C,YAAGn8E,CAAC,GAAC,CAAL,EAAO,KAAI,IAAII,CAAC,GAACJ,CAAC,GAAC,CAAZ,EAAcvK,CAAC,CAAC2K,CAAD,CAAD,CAAK+7E,GAAL,CAASqvJ,OAAT,CAAiBxpO,CAAC,CAACk6E,KAAnB,CAAd,EAAwC97E,CAAC,EAAzC,EAA4C4B,CAAC,CAACk6E,KAAF,GAAQ0pL,EAAE,CAACzb,SAAH,CAAa10P,CAAC,CAAC2K,CAAD,CAAD,CAAK87E,KAAlB,CAAR;;AAAiC,aAAI,IAAI97E,CAAC,GAACJ,CAAC,GAAC,CAAZ,EAAcI,CAAC,GAAC3K,CAAC,CAACrzB,MAAJ,IAAYqzB,CAAC,CAAC2K,CAAD,CAAD,CAAK87E,KAAL,CAAWsvJ,OAAX,CAAmBxpO,CAAC,CAACm6E,GAArB,CAA1B,EAAoD/7E,CAAC,EAArD,EAAwD4B,CAAC,CAACm6E,GAAF,GAAMypL,EAAE,CAACzb,SAAH,CAAa10P,CAAC,CAAC2K,CAAD,CAAD,CAAK+7E,GAAlB,CAAN;;AAA6B,eAAOn6E,CAAP;AAAS;;AAAe,aAARujQ,QAAQ,CAAC9vQ,CAAD,EAAG2K,CAAH,EAAK;AAAC,eAAO,IAAI,IAAJ,CAASwlQ,EAAE,CAACL,QAAH,CAAY9vQ,CAAC,CAACymF,KAAd,EAAoB97E,CAApB,CAAT,EAAgCwlQ,EAAE,CAACL,QAAH,CAAY9vQ,CAAC,CAAC0mF,GAAd,EAAkB/7E,CAAlB,CAAhC,CAAP;AAA6D;;AAAn6M;;AAAo6MsnQ,IAAAA,EAAE,CAAChoQ,SAAH,CAAa4gF,EAAb,GAAgB,UAAS7qF,CAAT,EAAW;AAAC,aAAM,YAAUA,CAAV,IAAa,kBAAgBA,CAAnC;AAAqC,KAAjE;;AAAkE,UAAMuyQ,EAAN,SAAiBhtC,CAAC,EAAlB,CAAqB;AAAC9lQ,MAAAA,WAAW,GAAE;AAAC,iBAAQ,KAAK+yS,mBAAL,GAAyB,IAAI91B,OAAJ,EAAjC,EAA6C,KAAK+1B,mBAAL,GAAyB,IAAI/1B,OAAJ,EAAtE,EAAkF,KAAKg2B,2BAAL,GAAiC,IAAIzjQ,GAAJ,EAAnH,EAA2H,KAAK0jQ,qBAAL,GAA2B,IAAI1jQ,GAAJ,EAAtJ,EAA8J,KAAK2jQ,qBAAL,GAA2B,IAAI3jQ,GAAJ,EAAzL,EAAiM,KAAK4jQ,wBAAL,GAA8B,IAAI5jQ,GAAJ,EAA/N,EAAuO,KAAK6jQ,mBAAL,GAAyB,IAAIjhM,GAAJ,EAAhQ,EAAwQ,KAAKpwF,EAAL,CAAQ,qBAAR,EAA+B,CAACue,CAAD,EAAG2K,CAAH,KAAO;AAAC,cAAGA,CAAC,CAACooQ,YAAL,EAAkB;;AAAO,gBAAMxoQ,CAAC,GAAC,KAAKioQ,mBAAL,CAAyB/xS,GAAzB,CAA6BkqC,CAAC,CAACqoQ,aAAF,CAAgB7xN,MAA7C,CAAR;;AAA6D,cAAG,CAAC52C,CAAJ,EAAM,MAAM,IAAI43C,CAAJ,CAAM,8CAAN,EAAqD,IAArD,EAA0D;AAAC6wN,YAAAA,aAAa,EAACroQ,CAAC,CAACqoQ;AAAjB,WAA1D,CAAN;AAAiGroQ,UAAAA,CAAC,CAACooQ,YAAF,GAAe,KAAKE,cAAL,CAAoB1oQ,CAApB,EAAsBI,CAAC,CAACqoQ,aAAF,CAAgB31L,MAAtC,CAAf;AAA6D,SAAjS,EAAmS;AAACsI,UAAAA,QAAQ,EAAC;AAAV,SAAnS,CAAxQ,EAA6jB,KAAKlkG,EAAL,CAAQ,qBAAR,EAA+B,CAACue,CAAD,EAAG2K,CAAH,KAAO;AAAC,cAAGA,CAAC,CAACqoQ,aAAL,EAAmB;;AAAO,gBAAMzoQ,CAAC,GAAC,KAAK2oQ,sBAAL,CAA4BvoQ,CAAC,CAACooQ,YAA9B,CAAR;AAAA,gBAAoDxmQ,CAAC,GAAC,KAAKkmQ,mBAAL,CAAyBhyS,GAAzB,CAA6B8pC,CAA7B,CAAtD;AAAA,gBAAsF5zB,CAAC,GAAC,KAAKw8R,cAAL,CAAoBxoQ,CAAC,CAACooQ,YAAF,CAAe5xN,MAAnC,EAA0Cx2C,CAAC,CAACooQ,YAAF,CAAe11L,MAAzD,EAAgE9yE,CAAhE,CAAxF;;AAA2JI,UAAAA,CAAC,CAACqoQ,aAAF,GAAgB7C,EAAE,CAACzb,SAAH,CAAanoP,CAAb,EAAe51B,CAAf,CAAhB;AAAkC,SAA9P,EAAgQ;AAACgvG,UAAAA,QAAQ,EAAC;AAAV,SAAhQ,CAA7jB;AAA+0B;;AAAAw7K,MAAAA,YAAY,CAACnhQ,CAAD,EAAG2K,CAAH,EAAK;AAAC,aAAK6nQ,mBAAL,CAAyB1tQ,GAAzB,CAA6B9E,CAA7B,EAA+B2K,CAA/B,GAAkC,KAAK8nQ,mBAAL,CAAyB3tQ,GAAzB,CAA6B6F,CAA7B,EAA+B3K,CAA/B,CAAlC;AAAoE;;AAAAozQ,MAAAA,iBAAiB,CAACpzQ,CAAD,EAAG2K,CAAC,GAAC,EAAL,EAAQ;AAAC,cAAMJ,CAAC,GAAC,KAAK8oQ,cAAL,CAAoBrzQ,CAApB,CAAR;AAA+B,YAAG,KAAK4yQ,qBAAL,CAA2B9jP,GAA3B,CAA+B9uB,CAA/B,CAAH,EAAqC,KAAI,MAAM2K,CAAV,IAAe,KAAKioQ,qBAAL,CAA2BnyS,GAA3B,CAA+Bu/B,CAA/B,CAAf,EAAiD,KAAK8yQ,mBAAL,CAAyBl+Q,GAAzB,CAA6B+V,CAA7B;AAAgCA,QAAAA,CAAC,CAAC2oQ,KAAF,GAAQ,KAAKT,wBAAL,CAA8B/tQ,GAA9B,CAAkC9E,CAAlC,EAAoCA,CAAC,CAACwD,IAAtC,CAAR,IAAqD,KAAKivQ,mBAAL,CAAyB79P,MAAzB,CAAgC5U,CAAhC,GAAmC,KAAKwyQ,mBAAL,CAAyB/xS,GAAzB,CAA6B8pC,CAA7B,KAAiCvK,CAAjC,IAAoC,KAAKwyQ,mBAAL,CAAyB59P,MAAzB,CAAgCrK,CAAhC,CAA5H;AAAgK;;AAAAgpQ,MAAAA,kBAAkB,CAACvzQ,CAAD,EAAG;AAAC,cAAM2K,CAAC,GAAC,KAAK6oQ,aAAL,CAAmBxzQ,CAAnB,CAAR;AAA8B,aAAKwyQ,mBAAL,CAAyB59P,MAAzB,CAAgC5U,CAAhC,GAAmC,KAAKyyQ,mBAAL,CAAyBhyS,GAAzB,CAA6BkqC,CAA7B,KAAiC3K,CAAjC,IAAoC,KAAKyyQ,mBAAL,CAAyB79P,MAAzB,CAAgCjK,CAAhC,CAAvE;AAA0G;;AAAA8oQ,MAAAA,mBAAmB,CAACzzQ,CAAD,EAAG2K,CAAH,EAAK;AAAC,cAAMJ,CAAC,GAAC,KAAKooQ,qBAAL,CAA2BlyS,GAA3B,CAA+BkqC,CAA/B,KAAmC,IAAIknE,GAAJ,EAA3C;AAAmDtnE,QAAAA,CAAC,CAAC3V,GAAF,CAAMoL,CAAN;AAAS,cAAMuM,CAAC,GAAC,KAAKqmQ,qBAAL,CAA2BnyS,GAA3B,CAA+Bu/B,CAA/B,KAAmC,IAAI6xE,GAAJ,EAA3C;AAAmDtlE,QAAAA,CAAC,CAAC3X,GAAF,CAAM+V,CAAN,GAAS,KAAKgoQ,qBAAL,CAA2B7tQ,GAA3B,CAA+B6F,CAA/B,EAAiCJ,CAAjC,CAAT,EAA6C,KAAKqoQ,qBAAL,CAA2B9tQ,GAA3B,CAA+B9E,CAA/B,EAAiCuM,CAAjC,CAA7C;AAAiF;;AAAAmnQ,MAAAA,2BAA2B,CAAC1zQ,CAAD,EAAG2K,CAAH,EAAK;AAAC,cAAMJ,CAAC,GAAC,KAAKooQ,qBAAL,CAA2BlyS,GAA3B,CAA+BkqC,CAA/B,CAAR;;AAA0CJ,QAAAA,CAAC,KAAGA,CAAC,CAACqK,MAAF,CAAS5U,CAAT,GAAY,KAAGuK,CAAC,CAAC4nE,IAAL,IAAW,KAAKwgM,qBAAL,CAA2B/9P,MAA3B,CAAkCjK,CAAlC,CAA1B,CAAD;;AAAiE,cAAM4B,CAAC,GAAC,KAAKqmQ,qBAAL,CAA2BnyS,GAA3B,CAA+Bu/B,CAA/B,CAAR;;AAA0CuM,QAAAA,CAAC,KAAGA,CAAC,CAACqI,MAAF,CAASjK,CAAT,GAAY,KAAG4B,CAAC,CAAC4lE,IAAL,IAAW,KAAKygM,qBAAL,CAA2Bh+P,MAA3B,CAAkC5U,CAAlC,CAA1B,CAAD;AAAiE;;AAAA2zQ,MAAAA,uBAAuB,GAAE;AAAC,cAAM3zQ,CAAC,GAACmF,KAAK,CAAC7H,IAAN,CAAW,KAAKw1Q,mBAAhB,CAAR;AAA6C,eAAO,KAAKA,mBAAL,CAAyBp0P,KAAzB,IAAiC1e,CAAxC;AAA0C;;AAAA4zQ,MAAAA,qBAAqB,GAAE;AAAC,aAAI,MAAK,CAAC5zQ,CAAD,EAAG2K,CAAH,CAAT,IAAiB,KAAKkoQ,wBAAtB,EAA+C7yQ,CAAC,CAACwD,IAAF,IAAQmH,CAAR,IAAW,KAAKyoQ,iBAAL,CAAuBpzQ,CAAvB,CAAX;;AAAqC,aAAK6yQ,wBAAL,GAA8B,IAAI5jQ,GAAJ,EAA9B;AAAsC;;AAAA4kQ,MAAAA,aAAa,GAAE;AAAC,aAAKrB,mBAAL,GAAyB,IAAI91B,OAAJ,EAAzB,EAAqC,KAAK+1B,mBAAL,GAAyB,IAAI/1B,OAAJ,EAA9D,EAA0E,KAAKi2B,qBAAL,GAA2B,IAAI1jQ,GAAJ,EAArG,EAA6G,KAAK2jQ,qBAAL,GAA2B,IAAI3jQ,GAAJ,EAAxI,EAAgJ,KAAK6jQ,mBAAL,GAAyB,IAAIjhM,GAAJ,EAAzK,EAAiL,KAAKghM,wBAAL,GAA8B,IAAI5jQ,GAAJ,EAA/M;AAAuN;;AAAAokQ,MAAAA,cAAc,CAACrzQ,CAAD,EAAG;AAAC,eAAO,KAAKyyQ,mBAAL,CAAyBhyS,GAAzB,CAA6Bu/B,CAA7B,CAAP;AAAuC;;AAAAwzQ,MAAAA,aAAa,CAACxzQ,CAAD,EAAG;AAAC,eAAO,KAAKwyQ,mBAAL,CAAyB/xS,GAAzB,CAA6Bu/B,CAA7B,CAAP;AAAuC;;AAAA8zQ,MAAAA,YAAY,CAAC9zQ,CAAD,EAAG;AAAC,eAAO,IAAIiyQ,EAAJ,CAAO,KAAK8B,eAAL,CAAqB/zQ,CAAC,CAACymF,KAAvB,CAAP,EAAqC,KAAKstL,eAAL,CAAqB/zQ,CAAC,CAAC0mF,GAAvB,CAArC,CAAP;AAAyE;;AAAAstL,MAAAA,WAAW,CAACh0Q,CAAD,EAAG;AAAC,eAAO,IAAI+1P,EAAJ,CAAO,KAAKke,cAAL,CAAoBj0Q,CAAC,CAACymF,KAAtB,CAAP,EAAoC,KAAKwtL,cAAL,CAAoBj0Q,CAAC,CAAC0mF,GAAtB,CAApC,CAAP;AAAuE;;AAAAqtL,MAAAA,eAAe,CAAC/zQ,CAAD,EAAG;AAAC,cAAM2K,CAAC,GAAC;AAACooQ,UAAAA,YAAY,EAAC/yQ,CAAd;AAAgBk0Q,UAAAA,MAAM,EAAC;AAAvB,SAAR;AAAqC,eAAO,KAAKxuL,IAAL,CAAU,qBAAV,EAAgC/6E,CAAhC,GAAmCA,CAAC,CAACqoQ,aAA5C;AAA0D;;AAAAiB,MAAAA,cAAc,CAACj0Q,CAAD,EAAG2K,CAAC,GAAC,EAAL,EAAQ;AAAC,cAAMJ,CAAC,GAAC;AAACyoQ,UAAAA,aAAa,EAAChzQ,CAAf;AAAiBk0Q,UAAAA,MAAM,EAAC,IAAxB;AAA6BC,UAAAA,SAAS,EAACxpQ,CAAC,CAACwpQ;AAAzC,SAAR;AAA4D,eAAO,KAAKzuL,IAAL,CAAU,qBAAV,EAAgCn7E,CAAhC,GAAmCA,CAAC,CAACwoQ,YAA5C;AAAyD;;AAAAqB,MAAAA,oBAAoB,CAACp0Q,CAAD,EAAG;AAAC,cAAM2K,CAAC,GAAC,KAAKgoQ,qBAAL,CAA2BlyS,GAA3B,CAA+Bu/B,CAA/B,CAAR;;AAA0C,YAAG,CAAC2K,CAAJ,EAAM,OAAO,IAAP;AAAY,cAAMJ,CAAC,GAAC,IAAIsnE,GAAJ,EAAR;;AAAgB,aAAI,MAAM7xE,CAAV,IAAe2K,CAAf,EAAiB,IAAG3K,CAAC,CAAC6qF,EAAF,CAAK,kBAAL,CAAH,EAA4B,KAAI,MAAMlgF,CAAV,IAAe3K,CAAC,CAAC25P,qBAAF,EAAf,EAAyCpvP,CAAC,CAAC3V,GAAF,CAAM+V,CAAN,EAArE,KAAmFJ,CAAC,CAAC3V,GAAF,CAAMoL,CAAN;;AAAS,eAAOuK,CAAP;AAAS;;AAAA8pQ,MAAAA,yBAAyB,CAACr0Q,CAAD,EAAG2K,CAAH,EAAK;AAAC,aAAK+nQ,2BAAL,CAAiC5tQ,GAAjC,CAAqC9E,CAArC,EAAuC2K,CAAvC;AAA0C;;AAAAuoQ,MAAAA,sBAAsB,CAAClzQ,CAAD,EAAG;AAAC,YAAI2K,CAAC,GAAC3K,CAAC,CAACmhD,MAAR;;AAAe,eAAK,CAAC,KAAKsxN,mBAAL,CAAyB3jP,GAAzB,CAA6BnkB,CAA7B,CAAN,GAAuCA,CAAC,GAACA,CAAC,CAACw2C,MAAJ;;AAAW,eAAOx2C,CAAP;AAAS;;AAAAwoQ,MAAAA,cAAc,CAACnzQ,CAAD,EAAG2K,CAAH,EAAKJ,CAAL,EAAO;AAAC,YAAGA,CAAC,IAAEvK,CAAN,EAAQ;AAAC,iBAAO,KAAKmzQ,cAAL,CAAoBnzQ,CAAC,CAACmhD,MAAtB,EAA6BnhD,CAAC,CAACwhB,KAA/B,EAAqCjX,CAArC,IAAwC,KAAK4oQ,cAAL,CAAoBnzQ,CAApB,EAAsB2K,CAAtB,EAAwB3K,CAAxB,CAA/C;AAA0E;;AAAA,YAAGA,CAAC,CAAC6qF,EAAF,CAAK,OAAL,CAAH,EAAiB,OAAOlgF,CAAP;AAAS,YAAI4B,CAAC,GAAC,CAAN;;AAAQ,aAAI,IAAIhC,CAAC,GAAC,CAAV,EAAYA,CAAC,GAACI,CAAd,EAAgBJ,CAAC,EAAjB,EAAoBgC,CAAC,IAAE,KAAK+nQ,cAAL,CAAoBt0Q,CAAC,CAAC6sP,QAAF,CAAWtiP,CAAX,CAApB,CAAH;;AAAsC,eAAOgC,CAAP;AAAS;;AAAA+nQ,MAAAA,cAAc,CAACt0Q,CAAD,EAAG;AAAC,YAAG,KAAK0yQ,2BAAL,CAAiCjyS,GAAjC,CAAqCu/B,CAAC,CAACxvB,IAAvC,CAAH,EAAgD;AAAC,iBAAO,KAAKkiS,2BAAL,CAAiCjyS,GAAjC,CAAqCu/B,CAAC,CAACxvB,IAAvC,EAA6CwvB,CAA7C,CAAP;AAAuD;;AAAA,YAAG,KAAKyyQ,mBAAL,CAAyB3jP,GAAzB,CAA6B9uB,CAA7B,CAAH,EAAmC,OAAO,CAAP;AAAS,YAAGA,CAAC,CAAC6qF,EAAF,CAAK,OAAL,CAAH,EAAiB,OAAO7qF,CAAC,CAACr4B,IAAF,CAAOgF,MAAd;AAAqB,YAAGqzB,CAAC,CAAC6qF,EAAF,CAAK,WAAL,CAAH,EAAqB,OAAO,CAAP;AAAS;AAAC,cAAIlgF,CAAC,GAAC,CAAN;;AAAQ,eAAI,MAAMJ,CAAV,IAAevK,CAAC,CAACgkF,WAAF,EAAf,EAA+Br5E,CAAC,IAAE,KAAK2pQ,cAAL,CAAoB/pQ,CAApB,CAAH;;AAA0B,iBAAOI,CAAP;AAAS;AAAC;;AAAAsoQ,MAAAA,cAAc,CAACjzQ,CAAD,EAAG2K,CAAH,EAAK;AAAC,YAAIJ,CAAJ;AAAA,YAAMgC,CAAC,GAAC,CAAR;AAAA,YAAU51B,CAAC,GAAC,CAAZ;AAAA,YAAc81B,CAAC,GAAC,CAAhB;AAAkB,YAAGzM,CAAC,CAAC6qF,EAAF,CAAK,OAAL,CAAH,EAAiB,OAAO,IAAI0lG,EAAJ,CAAOvwL,CAAP,EAAS2K,CAAT,CAAP;;AAAmB,eAAKh0B,CAAC,GAACg0B,CAAP,GAAUJ,CAAC,GAACvK,CAAC,CAAC6sP,QAAF,CAAWpgP,CAAX,CAAF,EAAgBF,CAAC,GAAC,KAAK+nQ,cAAL,CAAoB/pQ,CAApB,CAAlB,EAAyC5zB,CAAC,IAAE41B,CAA5C,EAA8CE,CAAC,EAA/C;;AAAkD,eAAO91B,CAAC,IAAEg0B,CAAH,GAAK,KAAK4pQ,2BAAL,CAAiC,IAAIhkF,EAAJ,CAAOvwL,CAAP,EAASyM,CAAT,CAAjC,CAAL,GAAmD,KAAKwmQ,cAAL,CAAoB1oQ,CAApB,EAAsBI,CAAC,IAAEh0B,CAAC,GAAC41B,CAAJ,CAAvB,CAA1D;AAAyF;;AAAAgoQ,MAAAA,2BAA2B,CAACv0Q,CAAD,EAAG;AAAC,cAAM2K,CAAC,GAAC3K,CAAC,CAAC01P,UAAV;AAAA,cAAqBnrP,CAAC,GAACvK,CAAC,CAACy1P,SAAzB;AAAmC,eAAO9qP,CAAC,YAAYqyM,EAAb,GAAgB,IAAIzsB,EAAJ,CAAO5lL,CAAP,EAASA,CAAC,CAAChjC,IAAF,CAAOgF,MAAhB,CAAhB,GAAwC49B,CAAC,YAAYyyM,EAAb,GAAgB,IAAIzsB,EAAJ,CAAOhmL,CAAP,EAAS,CAAT,CAAhB,GAA4BvK,CAA3E;AAA6E;;AAAlnI;;AAAmnI,UAAMw0Q,EAAN,CAAQ;AAAC/0S,MAAAA,WAAW,GAAE;AAAC,aAAKg1S,WAAL,GAAiB,IAAIxlQ,GAAJ,EAAjB,EAAyB,KAAKylQ,kBAAL,GAAwB,IAAIzlQ,GAAJ,EAAjD;AAAyD;;AAAAra,MAAAA,GAAG,CAACoL,CAAD,EAAG2K,CAAH,EAAK;AAACA,QAAAA,CAAC,GAACgqQ,EAAE,CAAChqQ,CAAD,CAAJ,EAAQ3K,CAAC,YAAY+vQ,EAAb,KAAkB/vQ,CAAC,GAAC,KAAK40Q,sBAAL,CAA4B50Q,CAA5B,CAApB,CAAR,EAA4D,KAAKy0Q,WAAL,CAAiB3lP,GAAjB,CAAqB9uB,CAArB,KAAyB,KAAKy0Q,WAAL,CAAiB3vQ,GAAjB,CAAqB9E,CAArB,EAAuB,IAAIiP,GAAJ,EAAvB,CAArF,EAAqH,KAAKwlQ,WAAL,CAAiBh0S,GAAjB,CAAqBu/B,CAArB,EAAwB8E,GAAxB,CAA4B6F,CAA5B,EAA8B,CAAC,CAA/B,CAArH;AAAuJ;;AAAAkqQ,MAAAA,OAAO,CAAC70Q,CAAD,EAAG2K,CAAH,EAAK;AAAC,eAAOA,CAAC,GAACgqQ,EAAE,CAAChqQ,CAAD,CAAJ,EAAQ3K,CAAC,YAAY+vQ,EAAb,KAAkB/vQ,CAAC,GAAC,KAAK40Q,sBAAL,CAA4B50Q,CAA5B,CAApB,CAAR,EAA4D,CAAC,CAAC,KAAK3K,IAAL,CAAU2K,CAAV,EAAY2K,CAAZ,CAAF,KAAmB,KAAK8pQ,WAAL,CAAiBh0S,GAAjB,CAAqBu/B,CAArB,EAAwB8E,GAAxB,CAA4B6F,CAA5B,EAA8B,CAAC,CAA/B,GAAkC,CAAC,CAAtD,CAAnE;AAA4H;;AAAAtV,MAAAA,IAAI,CAAC2K,CAAD,EAAG2K,CAAH,EAAK;AAACA,QAAAA,CAAC,GAACgqQ,EAAE,CAAChqQ,CAAD,CAAJ,EAAQ3K,CAAC,YAAY+vQ,EAAb,KAAkB/vQ,CAAC,GAAC,KAAK40Q,sBAAL,CAA4B50Q,CAA5B,CAApB,CAAR;;AAA4D,cAAMuK,CAAC,GAAC,KAAKkqQ,WAAL,CAAiBh0S,GAAjB,CAAqBu/B,CAArB,CAAR;;AAAgC,YAAG,KAAK,CAAL,KAASuK,CAAZ,EAAc,OAAO,IAAP;AAAY,cAAMgC,CAAC,GAAChC,CAAC,CAAC9pC,GAAF,CAAMkqC,CAAN,CAAR;AAAiB,eAAO,KAAK,CAAL,KAAS4B,CAAT,GAAW,IAAX,GAAgBA,CAAvB;AAAyB;;AAAAyzO,MAAAA,MAAM,CAAChgP,CAAD,EAAG2K,CAAH,EAAK;AAACA,QAAAA,CAAC,GAACgqQ,EAAE,CAAChqQ,CAAD,CAAJ,EAAQ3K,CAAC,YAAY+vQ,EAAb,KAAkB/vQ,CAAC,GAAC,KAAK40Q,sBAAL,CAA4B50Q,CAA5B,CAApB,CAAR;AAA4D,cAAMuK,CAAC,GAAC,KAAKlV,IAAL,CAAU2K,CAAV,EAAY2K,CAAZ,CAAR;AAAuB,eAAM,CAAC,CAAD,KAAKJ,CAAL,IAAQ,KAAKkqQ,WAAL,CAAiBh0S,GAAjB,CAAqBu/B,CAArB,EAAwB8E,GAAxB,CAA4B6F,CAA5B,EAA8B,CAAC,CAA/B,GAAkC,CAAC,CAA3C,IAA8C,CAAC,CAAD,KAAKJ,CAAL,IAAQ,IAA5D;AAAiE;;AAAAuqQ,MAAAA,iBAAiB,CAAC90Q,CAAD,EAAG;AAAC,cAAM2K,CAAC,GAAC,EAAR;;AAAW,aAAI,MAAK,CAACJ,CAAD,EAAGgC,CAAH,CAAT,IAAiB,KAAKkoQ,WAAtB,EAAkC,KAAI,MAAK,CAAC99R,CAAD,EAAG81B,CAAH,CAAT,IAAiBF,CAAjB,EAAmB;AAAC,gBAAMA,CAAC,GAAC51B,CAAC,CAACoI,KAAF,CAAQ,GAAR,EAAa,CAAb,CAAR;AAAwB0tB,UAAAA,CAAC,IAAEzM,CAAC,IAAEuM,CAAN,IAAS5B,CAAC,CAAC1E,IAAF,CAAO;AAACza,YAAAA,KAAK,EAAC7U,CAAP;AAAS6D,YAAAA,IAAI,EAAC+vB,CAAC,CAAC/5B,IAAF,IAAQ+5B,CAAC,CAAC19B;AAAxB,WAAP,CAAT;AAAsD;;AAAA,YAAG89B,CAAC,CAACh+B,MAAL,EAAY,MAAM,IAAIw1E,CAAJ,CAAM,0CAAN,EAAiD,IAAjD,EAAsD;AAAC7nE,UAAAA,KAAK,EAACqwB;AAAP,SAAtD,CAAN;AAAuE;;AAAAiqQ,MAAAA,sBAAsB,CAAC50Q,CAAD,EAAG;AAAC,YAAI2K,CAAC,GAAC,IAAN;;AAAW,cAAMJ,CAAC,GAAC,KAAKmqQ,kBAAL,CAAwBj0S,GAAxB,CAA4Bu/B,CAAC,CAACi/P,WAA9B,CAAR;;AAAmD,YAAG10P,CAAH,EAAK;AAAC,gBAAMgC,CAAC,GAAChC,CAAC,CAAC9pC,GAAF,CAAMu/B,CAAC,CAAComQ,SAAR,CAAR;AAA2B75P,UAAAA,CAAC,KAAG5B,CAAC,GAAC4B,CAAC,CAAC9rC,GAAF,CAAMu/B,CAAC,CAACmhD,MAAR,CAAL,CAAD;AAAuB;;AAAA,eAAOx2C,CAAC,KAAGA,CAAC,GAAC,KAAKoqQ,sBAAL,CAA4B/0Q,CAA5B,CAAL,CAAD,EAAsC2K,CAA7C;AAA+C;;AAAAoqQ,MAAAA,sBAAsB,CAAC/0Q,CAAD,EAAG;AAAC,cAAM2K,CAAC,GAAC3K,CAAC,CAACi/P,WAAV;AAAA,cAAsB10P,CAAC,GAACvK,CAAC,CAAComQ,SAA1B;AAAA,cAAoC75P,CAAC,GAACvM,CAAC,CAACmhD,MAAxC;AAAA,cAA+CxqE,CAAC,GAACu1B,MAAM,CAAC,gBAAclM,CAAC,CAACr4B,IAAjB,CAAvD;AAA8E,YAAI8kC,CAAJ,EAAMnC,CAAN;AAAQ,eAAOmC,CAAC,GAAC,KAAKioQ,kBAAL,CAAwBj0S,GAAxB,CAA4BkqC,CAA5B,CAAF,EAAiC8B,CAAC,KAAGA,CAAC,GAAC,IAAIwC,GAAJ,EAAF,EAAU,KAAKylQ,kBAAL,CAAwB5vQ,GAAxB,CAA4B6F,CAA5B,EAA8B8B,CAA9B,CAAb,CAAlC,EAAiFnC,CAAC,GAACmC,CAAC,CAAChsC,GAAF,CAAM8pC,CAAN,CAAnF,EAA4FD,CAAC,KAAGA,CAAC,GAAC,IAAI2E,GAAJ,EAAF,EAAUxC,CAAC,CAAC3H,GAAF,CAAMyF,CAAN,EAAQD,CAAR,CAAb,CAA7F,EAAsHA,CAAC,CAACxF,GAAF,CAAMyH,CAAN,EAAQ51B,CAAR,CAAtH,EAAiIA,CAAxI;AAA0I;;AAA32C;;AAA42C,aAASg+R,EAAT,CAAY30Q,CAAZ,EAAc;AAAC,YAAM2K,CAAC,GAAC3K,CAAC,CAACjhB,KAAF,CAAQ,GAAR,CAAR;AAAqB,aAAM,YAAU4rB,CAAC,CAAC,CAAD,CAAX,GAAeA,CAAC,CAAC,CAAD,CAAhB,GAAoB,eAAaA,CAAC,CAAC,CAAD,CAAd,IAAmB,kBAAgBA,CAAC,CAAC,CAAD,CAApC,GAAwC3K,CAAxC,GAA0C2K,CAAC,CAACh+B,MAAF,GAAS,CAAT,GAAWg+B,CAAC,CAAC,CAAD,CAAD,GAAK,GAAL,GAASA,CAAC,CAAC,CAAD,CAArB,GAAyBA,CAAC,CAAC,CAAD,CAA9F;AAAkG;;AAAA,UAAMqqQ,EAAN,SAAiBzvC,CAAC,EAAlB,CAAqB;AAAC9lQ,MAAAA,WAAW,CAACugC,CAAD,EAAG;AAAC,iBAAQ,KAAKi1Q,cAAL,GAAoB;AAACC,UAAAA,UAAU,EAAC,IAAZ;AAAiB,aAAGl1Q;AAApB,SAA5B,EAAmD,KAAKm1Q,eAAL,GAAqB,IAAIz4B,OAAJ,EAAxE;AAAoF;;AAAA04B,MAAAA,cAAc,CAACp1Q,CAAD,EAAG2K,CAAH,EAAKJ,CAAL,EAAO;AAAC,cAAMgC,CAAC,GAAC,KAAK8oQ,oBAAL,CAA0B9qQ,CAA1B,EAA4BvK,CAAC,CAACs1Q,iBAAF,EAA5B,CAAR;;AAA2D,aAAI,MAAM3qQ,CAAV,IAAe3K,CAAC,CAACu1Q,kBAAF,EAAf,EAAsC,KAAKC,oBAAL,CAA0B7qQ,CAAC,CAACn6B,IAA5B,EAAiCm6B,CAAC,CAACo8E,KAAnC,EAAyCx6E,CAAzC;;AAA4C,cAAM51B,CAAC,GAAC,KAAK8+R,cAAL,CAAoBz1Q,CAAC,CAAC01Q,UAAF,EAApB,CAAR;;AAA4C,aAAI,MAAM11Q,CAAV,IAAerpB,CAAf,EAAiB,aAAWqpB,CAAC,CAAC/oB,IAAb,GAAkB,KAAK0+R,cAAL,CAAoB1D,EAAE,CAACrb,2BAAH,CAA+B52P,CAAC,CAAClwB,QAAjC,EAA0CkwB,CAAC,CAACrzB,MAA5C,CAApB,EAAwE4/B,CAAxE,CAAlB,GAA6F,eAAavM,CAAC,CAAC/oB,IAAf,GAAoB,KAAK2+R,gBAAL,CAAsB3D,EAAE,CAACrb,2BAAH,CAA+B52P,CAAC,CAAClwB,QAAjC,EAA0CkwB,CAAC,CAACrzB,MAA5C,CAAtB,EAA0E4/B,CAA1E,CAApB,GAAiG,aAAWvM,CAAC,CAAC/oB,IAAb,GAAkB,KAAK4+R,cAAL,CAAoB71Q,CAAC,CAAClwB,QAAtB,EAA+BkwB,CAAC,CAACrzB,MAAjC,EAAwCqzB,CAAC,CAACxvB,IAA1C,EAA+C+7B,CAA/C,CAAlB,GAAoE,KAAKupQ,iBAAL,CAAuB91Q,CAAC,CAAC+mF,KAAzB,EAA+B/mF,CAAC,CAAC+1Q,YAAjC,EAA8C/1Q,CAAC,CAACg2Q,iBAAhD,EAAkEh2Q,CAAC,CAACi2Q,iBAApE,EAAsF1pQ,CAAtF,CAAlQ;;AAA2V,aAAI,MAAMvM,CAAV,IAAeuM,CAAC,CAAC2nQ,MAAF,CAASP,uBAAT,EAAf,EAAkD;AAAC,gBAAMppQ,CAAC,GAACI,CAAC,CAAClqC,GAAF,CAAMu/B,CAAN,EAASukF,QAAT,EAAR;AAA4B,eAAKixL,oBAAL,CAA0Bx1Q,CAA1B,EAA4BuK,CAA5B,EAA8BgC,CAA9B,GAAiC,KAAK2pQ,iBAAL,CAAuBl2Q,CAAvB,EAAyBuK,CAAzB,EAA2BgC,CAA3B,CAAjC;AAA+D;;AAAA,aAAI,MAAM5B,CAAV,IAAe3K,CAAC,CAACm2Q,eAAF,EAAf,EAAmC,KAAKD,iBAAL,CAAuBvrQ,CAAC,CAACn6B,IAAzB,EAA8Bm6B,CAAC,CAACo8E,KAAhC,EAAsCx6E,CAAtC;;AAAyCA,QAAAA,CAAC,CAAC2nQ,MAAF,CAASN,qBAAT,IAAiCrnQ,CAAC,CAAC6pQ,UAAF,CAAatB,iBAAb,CAA+B,QAA/B,CAAjC;AAA0E;;AAAAuB,MAAAA,OAAO,CAACr2Q,CAAD,EAAG2K,CAAH,EAAKJ,CAAL,EAAOgC,CAAC,GAAC,EAAT,EAAY;AAAC,cAAM51B,CAAC,GAAC,KAAK0+R,oBAAL,CAA0B9qQ,CAA1B,EAA4B,KAAK,CAAjC,EAAmCgC,CAAnC,CAAR;;AAA8C,aAAKopQ,cAAL,CAAoB31Q,CAApB,EAAsBrpB,CAAtB;;AAAyB,aAAI,MAAK,CAACqpB,CAAD,EAAGuK,CAAH,CAAT,IAAiBI,CAAjB,EAAmB,KAAKurQ,iBAAL,CAAuBl2Q,CAAvB,EAAyBuK,CAAzB,EAA2B5zB,CAA3B;;AAA8BA,QAAAA,CAAC,CAACy/R,UAAF,CAAatB,iBAAb,CAA+B,QAA/B;AAAyC;;AAAAwB,MAAAA,gBAAgB,CAACt2Q,CAAD,EAAG2K,CAAH,EAAKJ,CAAL,EAAO;AAAC,cAAMgC,CAAC,GAAC,KAAK8oQ,oBAAL,CAA0B9qQ,CAA1B,CAAR;;AAAqC,aAAKm7E,IAAL,CAAU,gBAAV,EAA2B;AAACokK,UAAAA,SAAS,EAAC9pP;AAAX,SAA3B,EAAyCuM,CAAzC;AAA4C,cAAM51B,CAAC,GAACqpB,CAAC,CAAC+pP,gBAAF,GAAqBvmP,IAA7B;AAAkC,YAAG,CAAC+I,CAAC,CAAC2nQ,MAAF,CAASV,aAAT,CAAuB78R,CAAvB,CAAJ,EAA8B;AAAO,cAAM81B,CAAC,GAACtH,KAAK,CAAC7H,IAAN,CAAWqN,CAAC,CAAC4rQ,oBAAF,CAAuBv2Q,CAAC,CAAC+pP,gBAAF,EAAvB,CAAX,CAAR;;AAAiE,YAAG,KAAKysB,2BAAL,CAAiCjqQ,CAAC,CAAC6pQ,UAAnC,EAA8Cp2Q,CAA9C,EAAgDyM,CAAhD,GAAmD,KAAKi5E,IAAL,CAAU,WAAV,EAAsB;AAACokK,UAAAA,SAAS,EAAC9pP;AAAX,SAAtB,EAAoCuM,CAApC,CAAnD,EAA0FvM,CAAC,CAACg2P,WAA/F,EAA2G;AAAC,eAAI,MAAMrrP,CAAV,IAAe8B,CAAf,EAAiB,IAAGF,CAAC,CAAC6pQ,UAAF,CAAa/gR,IAAb,CAAkB2K,CAAlB,EAAoB,eAAa2K,CAAC,CAACn6B,IAAnC,CAAH,EAA4C;AAAC,kBAAM+5B,CAAC,GAACI,CAAC,CAAC45E,QAAF,EAAR;AAAqB,gBAAG,CAACjiC,EAAE,CAACtiD,CAAC,CAAC+pP,gBAAF,EAAD,EAAsBp/O,CAAtB,EAAwB4B,CAAC,CAAC2nQ,MAA1B,CAAN,EAAwC;AAAS,kBAAMv9R,CAAC,GAAC;AAAC6D,cAAAA,IAAI,EAACwlB,CAAN;AAAQumF,cAAAA,UAAU,EAAC57E,CAAC,CAACn6B,IAArB;AAA0BimS,cAAAA,WAAW,EAAClsQ;AAAtC,aAAR;AAAiD,iBAAKm7E,IAAL,CAAW,aAAY/6E,CAAC,CAACn6B,IAAK,EAA9B,EAAgCmG,CAAhC,EAAkC41B,CAAlC;AAAqC;;AAAA,eAAI,MAAM5B,CAAV,IAAe3K,CAAC,CAACkuP,gBAAF,EAAf,EAAoC,IAAG3hP,CAAC,CAAC6pQ,UAAF,CAAa/gR,IAAb,CAAkB2K,CAAlB,EAAoB,eAAa2K,CAAjC,CAAH,EAAuC;AAAC,kBAAMJ,CAAC,GAAC;AAAC/vB,cAAAA,IAAI,EAACwlB,CAAN;AAAQ+mF,cAAAA,KAAK,EAAC/mF,CAAC,CAACw3P,aAAF,EAAd;AAAgCue,cAAAA,YAAY,EAACprQ,CAA7C;AAA+CqrQ,cAAAA,iBAAiB,EAAC,IAAjE;AAAsEC,cAAAA,iBAAiB,EAACj2Q,CAAC,CAAC6hP,YAAF,CAAel3O,CAAf;AAAxF,aAAR;AAAmH,iBAAK+6E,IAAL,CAAW,aAAY/6E,CAAE,QAAzB,EAAiCJ,CAAjC,EAAmCgC,CAAnC;AAAsC;AAAC;AAAC;;AAAAopQ,MAAAA,cAAc,CAAC31Q,CAAD,EAAG2K,CAAH,EAAKJ,CAAC,GAAC,EAAP,EAAU;AAACA,QAAAA,CAAC,CAACmsQ,mBAAF,IAAuB,KAAKC,wBAAL,CAA8BhsQ,CAAC,CAACyrQ,UAAhC,EAA2Cp2Q,CAA3C,CAAvB;;AAAqE,aAAI,MAAMuK,CAAV,IAAepF,KAAK,CAAC7H,IAAN,CAAW0C,CAAC,CAAC81P,SAAF,CAAY;AAAClB,UAAAA,OAAO,EAAC,CAAC;AAAV,SAAZ,CAAX,EAAsCprR,GAAtC,CAA0CotS,EAA1C,CAAf,EAA6D,KAAKC,YAAL,CAAkB,QAAlB,EAA2BtsQ,CAA3B,EAA6BI,CAA7B;AAAgC;;AAAAkrQ,MAAAA,cAAc,CAAC71Q,CAAD,EAAG2K,CAAH,EAAKJ,CAAL,EAAOgC,CAAP,EAAS;AAAC,aAAKm5E,IAAL,CAAW,UAASn7E,CAAE,EAAtB,EAAwB;AAACz6B,UAAAA,QAAQ,EAACkwB,CAAV;AAAYrzB,UAAAA,MAAM,EAACg+B;AAAnB,SAAxB,EAA8C4B,CAA9C;AAAiD;;AAAAupQ,MAAAA,iBAAiB,CAAC91Q,CAAD,EAAG2K,CAAH,EAAKJ,CAAL,EAAOgC,CAAP,EAAS51B,CAAT,EAAW;AAAC,aAAKmgS,uBAAL,CAA6BngS,CAAC,CAACy/R,UAA/B,EAA0Cp2Q,CAA1C,EAA6C,aAAY2K,CAAE,EAA3D;;AAA8D,aAAI,MAAM8B,CAAV,IAAezM,CAAf,EAAiB;AAAC,gBAAMA,CAAC,GAAC;AAACxlB,YAAAA,IAAI,EAACiyB,CAAC,CAACjyB,IAAR;AAAausG,YAAAA,KAAK,EAACkrL,EAAE,CAACrb,2BAAH,CAA+BnqP,CAAC,CAAC8oP,gBAAjC,EAAkD9oP,CAAC,CAAC9/B,MAApD,CAAnB;AAA+EopS,YAAAA,YAAY,EAACprQ,CAA5F;AAA8FqrQ,YAAAA,iBAAiB,EAACzrQ,CAAhH;AAAkH0rQ,YAAAA,iBAAiB,EAAC1pQ;AAApI,WAAR;;AAA+I,eAAKsqQ,YAAL,CAAmB,aAAYlsQ,CAAE,EAAjC,EAAmC3K,CAAnC,EAAqCrpB,CAArC;AAAwC;AAAC;;AAAAi/R,MAAAA,gBAAgB,CAAC51Q,CAAD,EAAG2K,CAAH,EAAK;AAAC,cAAMJ,CAAC,GAACpF,KAAK,CAAC7H,IAAN,CAAW0C,CAAC,CAAC81P,SAAF,CAAY;AAAClB,UAAAA,OAAO,EAAC,CAAC;AAAV,SAAZ,CAAX,CAAR;;AAA8C,aAAK+hB,wBAAL,CAA8BhsQ,CAAC,CAACyrQ,UAAhC,EAA2C7rQ,CAA3C;;AAA8C,aAAI,MAAMvK,CAAV,IAAeuK,CAAC,CAAC/gC,GAAF,CAAMotS,EAAN,CAAf,EAAyB,KAAKC,YAAL,CAAkB,QAAlB,EAA2B,EAAC,GAAG72Q,CAAJ;AAAM+2Q,UAAAA,YAAY,EAAC,CAAC;AAApB,SAA3B,EAAkDpsQ,CAAlD;AAAqD;;AAAAurQ,MAAAA,iBAAiB,CAACl2Q,CAAD,EAAG2K,CAAH,EAAKJ,CAAL,EAAO;AAAC,YAAG,gBAAcI,CAAC,CAACnH,IAAF,CAAO8+E,QAAxB,EAAiC;AAAO,cAAM/1E,CAAC,GAAE,aAAYvM,CAAE,EAAvB;;AAAyB,YAAGuK,CAAC,CAAC6rQ,UAAF,CAAaxhR,GAAb,CAAiB+V,CAAjB,EAAmB4B,CAAnB,GAAsB,KAAKm5E,IAAL,CAAUn5E,CAAV,EAAY;AAACg6E,UAAAA,UAAU,EAACvmF,CAAZ;AAAcy2Q,UAAAA,WAAW,EAAC9rQ;AAA1B,SAAZ,EAAyCJ,CAAzC,CAAtB,EAAkEA,CAAC,CAAC6rQ,UAAF,CAAavB,OAAb,CAAqBlqQ,CAArB,EAAuB4B,CAAvB,CAArE,EAA+F;AAAC,eAAKuqQ,uBAAL,CAA6BvsQ,CAAC,CAAC6rQ,UAA/B,EAA0CzrQ,CAA1C,EAA4C4B,CAA5C;;AAA+C,eAAI,MAAM51B,CAAV,IAAeg0B,CAAC,CAAC48F,QAAF,EAAf,EAA4B;AAAC,gBAAG,CAACh9F,CAAC,CAAC6rQ,UAAF,CAAa/gR,IAAb,CAAkB1e,CAAlB,EAAoB41B,CAApB,CAAJ,EAA2B;AAAS,kBAAME,CAAC,GAAC;AAACjyB,cAAAA,IAAI,EAAC7D,CAAN;AAAQowG,cAAAA,KAAK,EAACkrL,EAAE,CAACnb,SAAH,CAAangR,CAAb,CAAd;AAA8B4vG,cAAAA,UAAU,EAACvmF,CAAzC;AAA2Cy2Q,cAAAA,WAAW,EAAC9rQ;AAAvD,aAAR;AAAkE,iBAAK+6E,IAAL,CAAUn5E,CAAV,EAAYE,CAAZ,EAAclC,CAAd;AAAiB;AAAC;AAAC;;AAAAirQ,MAAAA,oBAAoB,CAACx1Q,CAAD,EAAG2K,CAAH,EAAKJ,CAAL,EAAO;AAAC,wBAAcI,CAAC,CAACnH,IAAF,CAAO8+E,QAArB,IAA+B,KAAKoD,IAAL,CAAW,gBAAe1lF,CAAE,EAA5B,EAA8B;AAACumF,UAAAA,UAAU,EAACvmF,CAAZ;AAAcy2Q,UAAAA,WAAW,EAAC9rQ;AAA1B,SAA9B,EAA2DJ,CAA3D,CAA/B;AAA6F;;AAAAkrQ,MAAAA,cAAc,CAACz1Q,CAAD,EAAG;AAAC,cAAM2K,CAAC,GAAC;AAACyuK,UAAAA,OAAO,EAACp5K;AAAT,SAAR;AAAoB,eAAO,KAAK0lF,IAAL,CAAU,eAAV,EAA0B/6E,CAA1B,GAA6BA,CAAC,CAACyuK,OAAtC;AAA8C;;AAAAu9F,MAAAA,wBAAwB,CAAC32Q,CAAD,EAAG2K,CAAH,EAAK;AAAC,aAAI,MAAMJ,CAAV,IAAeI,CAAf,EAAiB;AAAC,gBAAMA,CAAC,GAACJ,CAAC,CAAC/vB,IAAV;;AAAe,cAAG,SAAOwlB,CAAC,CAAC3K,IAAF,CAAOsV,CAAP,EAAS,QAAT,CAAV,EAA6B;AAAC3K,YAAAA,CAAC,CAACpL,GAAF,CAAM+V,CAAN,EAAQ,QAAR;;AAAkB,iBAAI,MAAMJ,CAAV,IAAeI,CAAC,CAACujP,gBAAF,EAAf,EAAoCluP,CAAC,CAACpL,GAAF,CAAM+V,CAAN,EAAQ,eAAaJ,CAArB;AAAwB;AAAC;;AAAA,eAAOvK,CAAP;AAAS;;AAAA82Q,MAAAA,uBAAuB,CAAC92Q,CAAD,EAAG2K,CAAH,EAAKJ,CAAL,EAAO;AAAC,aAAI,MAAMgC,CAAV,IAAe5B,CAAC,CAAC48F,QAAF,EAAf,EAA4BvnG,CAAC,CAACpL,GAAF,CAAM2X,CAAN,EAAQhC,CAAR;;AAAW,eAAOvK,CAAP;AAAS;;AAAAw2Q,MAAAA,2BAA2B,CAACx2Q,CAAD,EAAG2K,CAAH,EAAKJ,CAAL,EAAO;AAACvK,QAAAA,CAAC,CAACpL,GAAF,CAAM+V,CAAN,EAAQ,WAAR;;AAAqB,aAAI,MAAM4B,CAAV,IAAehC,CAAf,EAAiBvK,CAAC,CAACpL,GAAF,CAAM+V,CAAN,EAAQ,eAAa4B,CAAC,CAAC/7B,IAAvB;;AAA6B,aAAI,MAAM+5B,CAAV,IAAeI,CAAC,CAACujP,gBAAF,EAAf,EAAoCluP,CAAC,CAACpL,GAAF,CAAM+V,CAAN,EAAQ,eAAaJ,CAArB;;AAAwB,eAAOvK,CAAP;AAAS;;AAAA62Q,MAAAA,YAAY,CAAC72Q,CAAD,EAAG2K,CAAH,EAAKJ,CAAL,EAAO;AAAC,cAAMgC,CAAC,GAAC,UAASvM,CAAT,EAAW2K,CAAX,EAAa;AAAC,gBAAMJ,CAAC,GAACI,CAAC,CAACnwB,IAAF,CAAOqwG,EAAP,CAAU,SAAV,IAAqBlgF,CAAC,CAACnwB,IAAF,CAAOhK,IAA5B,GAAiC,OAAzC;AAAiD,iBAAO,GAAEwvB,CAAE,IAAGuK,CAAE,EAAhB;AAAkB,SAAjF,CAAkFvK,CAAlF,EAAoF2K,CAApF,CAAR;AAAA,cAA+Fh0B,CAAC,GAACg0B,CAAC,CAACnwB,IAAF,CAAOqwG,EAAP,CAAU,YAAV,IAAwBtgF,CAAC,CAAC6rQ,UAAF,CAAaxB,sBAAb,CAAoCjqQ,CAAC,CAACnwB,IAAtC,CAAxB,GAAoEmwB,CAAC,CAACnwB,IAAvK;AAAA,cAA4KiyB,CAAC,GAAC,KAAK0oQ,eAAL,CAAqB10S,GAArB,CAAyB8pC,CAAzB,CAA9K;AAAA,cAA0MD,CAAC,GAACmC,CAAC,CAAChsC,GAAF,CAAMkW,CAAN,CAA5M;;AAAqN,YAAG2zB,CAAH,EAAK;AAAC,cAAGA,CAAC,CAACwkB,GAAF,CAAMviB,CAAN,CAAH,EAAY;AAAOjC,UAAAA,CAAC,CAAC1V,GAAF,CAAM2X,CAAN;AAAS,SAAlC,MAAuCE,CAAC,CAAC3H,GAAF,CAAMnuB,CAAN,EAAQ,IAAIk7F,GAAJ,CAAQ,CAACtlE,CAAD,CAAR,CAAR;;AAAsB,aAAKm5E,IAAL,CAAUn5E,CAAV,EAAY5B,CAAZ,EAAcJ,CAAd;AAAiB;;AAAAysQ,MAAAA,yBAAyB,CAACh3Q,CAAD,EAAG2K,CAAH,EAAK;AAAC,cAAMJ,CAAC,GAAC;AAAC/vB,UAAAA,IAAI,EAACwlB,CAAN;AAAQ+mF,UAAAA,KAAK,EAACkrL,EAAE,CAACnb,SAAH,CAAa92P,CAAb;AAAd,SAAR;;AAAuC,aAAI,MAAMA,CAAV,IAAeuK,CAAC,CAAC/vB,IAAF,CAAO0zQ,gBAAP,EAAf,EAAyC3jP,CAAC,CAACwrQ,YAAF,GAAe/1Q,CAAf,EAAiBuK,CAAC,CAACyrQ,iBAAF,GAAoB,IAArC,EAA0CzrQ,CAAC,CAAC0rQ,iBAAF,GAAoB1rQ,CAAC,CAAC/vB,IAAF,CAAOqnQ,YAAP,CAAoB7hP,CAApB,CAA9D,EAAqF,KAAK62Q,YAAL,CAAmB,aAAY72Q,CAAE,EAAjC,EAAmCuK,CAAnC,EAAqCI,CAArC,CAArF;AAA6H;;AAAA0qQ,MAAAA,oBAAoB,CAACr1Q,CAAD,EAAG2K,CAAC,GAAC,IAAIknE,GAAJ,EAAL,EAAatnE,CAAC,GAAC,EAAf,EAAkB;AAAC,cAAMgC,CAAC,GAAC,EAAC,GAAG,KAAK0oQ,cAAT;AAAwBmB,UAAAA,UAAU,EAAC,IAAI5B,EAAJ,EAAnC;AAA0CjvL,UAAAA,MAAM,EAACvlF,CAAjD;AAAmDtS,UAAAA,OAAO,EAAC6c,CAA3D;AAA6D0sQ,UAAAA,WAAW,EAACj3Q,CAAC,IAAE,KAAK21Q,cAAL,CAAoB1D,EAAE,CAACnb,SAAH,CAAa92P,CAAb,CAApB,EAAoCuM,CAApC,CAA5E;AAAmH2qQ,UAAAA,eAAe,EAACl3Q,CAAC,IAAE,KAAK21Q,cAAL,CAAoB1D,EAAE,CAACpb,SAAH,CAAa72P,CAAb,CAApB,EAAoCuM,CAApC,EAAsC;AAACmqQ,YAAAA,mBAAmB,EAAC,CAAC;AAAtB,WAAtC,CAAtI;AAAsMS,UAAAA,iBAAiB,EAACn3Q,CAAC,IAAE,KAAKg3Q,yBAAL,CAA+Bh3Q,CAA/B,EAAiCuM,CAAjC,CAA3N;AAA+P6qQ,UAAAA,YAAY,EAACp3Q,CAAC,IAAE,CAAC2K,CAAC,CAACmkB,GAAF,CAAMviB,CAAC,CAAC2nQ,MAAF,CAASb,cAAT,CAAwBrzQ,CAAxB,CAAN;AAAhR,SAAR;AAA2T,eAAO,KAAKm1Q,eAAL,CAAqBrwQ,GAArB,CAAyByH,CAAzB,EAA2B,IAAI0C,GAAJ,EAA3B,GAAoC1C,CAA3C;AAA6C;;AAA5iJ;;AAA6iJ,aAAS+1C,EAAT,CAAYtiD,CAAZ,EAAc2K,CAAd,EAAgBJ,CAAhB,EAAkB;AAAC,YAAMgC,CAAC,GAAC5B,CAAC,CAAC45E,QAAF,EAAR;AAAA,YAAqB5tG,CAAC,GAACwuB,KAAK,CAAC7H,IAAN,CAAW0C,CAAC,CAACitP,YAAF,EAAX,CAAvB;AAAoDt2Q,MAAAA,CAAC,CAACwnE,KAAF,IAAUxnE,CAAC,CAAC44H,OAAF,EAAV;AAAsB,aAAM,CAAC54H,CAAC,CAACkF,IAAF,CAAQmkB,CAAC,IAAE;AAAC,YAAGuM,CAAC,CAAC2lQ,YAAF,CAAelyQ,CAAf,CAAH,EAAqB;AAAC,iBAAM,CAAC,CAACuK,CAAC,CAACipQ,aAAF,CAAgBxzQ,CAAhB,EAAmBszP,iBAAnB,CAAqC,cAArC,CAAR;AAA6D;AAAC,OAAhG,CAAP;AAA0G;;AAAA,aAASsjB,EAAT,CAAY52Q,CAAZ,EAAc;AAAC,aAAM;AAACxlB,QAAAA,IAAI,EAACwlB,CAAC,CAACxlB,IAAR;AAAausG,QAAAA,KAAK,EAACkrL,EAAE,CAACrb,2BAAH,CAA+B52P,CAAC,CAACu1P,gBAAjC,EAAkDv1P,CAAC,CAACrzB,MAApD;AAAnB,OAAN;AAAsF;;AAAA,UAAM0qS,EAAN,SAAiB9xC,CAAC,CAACupC,EAAD,CAAlB,CAAuB;AAACrvS,MAAAA,WAAW,CAAC,GAAGugC,CAAJ,EAAM;AAAC,iBAAQ,KAAKg3P,kBAAL,GAAwB,CAAC,CAAjC,EAAmC,KAAKnE,MAAL,GAAY,IAAI5jP,GAAJ,EAA/C,EAAuD,KAAK8nP,OAAL,GAAa,EAApE,EAAuE/2P,CAAC,CAACrzB,MAAF,IAAU,KAAK4kR,KAAL,CAAW,GAAGvxP,CAAd,CAAjF;AAAkG;;AAAU,UAAN01M,MAAM,GAAE;AAAC,YAAG,KAAKqhD,OAAL,CAAapqR,MAAb,GAAoB,CAAvB,EAAyB;AAAC,gBAAMqzB,CAAC,GAAC,KAAK+2P,OAAL,CAAa,KAAKA,OAAL,CAAapqR,MAAb,GAAoB,CAAjC,CAAR;AAA4C,iBAAO,KAAKqqR,kBAAL,GAAwBh3P,CAAC,CAAC0mF,GAA1B,GAA8B1mF,CAAC,CAACymF,KAAvC;AAA6C;;AAAA,eAAO,IAAP;AAAY;;AAAS,UAALzzC,KAAK,GAAE;AAAC,YAAG,KAAK+jN,OAAL,CAAapqR,MAAb,GAAoB,CAAvB,EAAyB;AAAC,gBAAMqzB,CAAC,GAAC,KAAK+2P,OAAL,CAAa,KAAKA,OAAL,CAAapqR,MAAb,GAAoB,CAAjC,CAAR;AAA4C,iBAAO,KAAKqqR,kBAAL,GAAwBh3P,CAAC,CAACymF,KAA1B,GAAgCzmF,CAAC,CAAC0mF,GAAzC;AAA6C;;AAAA,eAAO,IAAP;AAAY;;AAAe,UAAXsvK,WAAW,GAAE;AAAC,eAAO,MAAI,KAAKe,OAAL,CAAapqR,MAAjB,IAAyB,KAAKoqR,OAAL,CAAa,CAAb,EAAgBf,WAAhD;AAA4D;;AAAc,UAAVqB,UAAU,GAAE;AAAC,eAAO,KAAKN,OAAL,CAAapqR,MAApB;AAA2B;;AAAc,UAAV2qR,UAAU,GAAE;AAAC,eAAM,CAAC,KAAKtB,WAAN,IAAmB,KAAKgB,kBAA9B;AAAiD;;AAAAjhB,MAAAA,OAAO,CAAC/1O,CAAD,EAAG;AAAC,YAAG,KAAKq3P,UAAL,IAAiBr3P,CAAC,CAACq3P,UAAtB,EAAiC,OAAM,CAAC,CAAP;AAAS,YAAG,MAAI,KAAKA,UAAZ,EAAuB,OAAM,CAAC,CAAP;AAAS,YAAG,CAAC,KAAK3hD,MAAL,CAAYqgC,OAAZ,CAAoB/1O,CAAC,CAAC01M,MAAtB,CAAD,IAAgC,CAAC,KAAK1iK,KAAL,CAAW+iM,OAAX,CAAmB/1O,CAAC,CAACgzC,KAArB,CAApC,EAAgE,OAAM,CAAC,CAAP;;AAAS,aAAI,MAAMroC,CAAV,IAAe,KAAKosP,OAApB,EAA4B;AAAC,cAAIxsP,CAAC,GAAC,CAAC,CAAP;;AAAS,eAAI,MAAMgC,CAAV,IAAevM,CAAC,CAAC+2P,OAAjB,EAAyB,IAAGpsP,CAAC,CAACorO,OAAF,CAAUxpO,CAAV,CAAH,EAAgB;AAAChC,YAAAA,CAAC,GAAC,CAAC,CAAH;AAAK;AAAM;;AAAA,cAAG,CAACA,CAAJ,EAAM,OAAM,CAAC,CAAP;AAAS;;AAAA,eAAM,CAAC,CAAP;AAAS;;AAAU,OAATgtP,SAAS,GAAE;AAAC,aAAI,MAAMv3P,CAAV,IAAe,KAAK+2P,OAApB,EAA4B,MAAM,IAAIkb,EAAJ,CAAOjyQ,CAAC,CAACymF,KAAT,EAAezmF,CAAC,CAAC0mF,GAAjB,CAAN;AAA4B;;AAAA8wK,MAAAA,aAAa,GAAE;AAAC,YAAIx3P,CAAC,GAAC,IAAN;;AAAW,aAAI,MAAM2K,CAAV,IAAe,KAAKosP,OAApB,EAA4B/2P,CAAC,IAAE,CAAC2K,CAAC,CAAC87E,KAAF,CAAQ7wF,QAAR,CAAiBoK,CAAC,CAACymF,KAAnB,CAAJ,KAAgCzmF,CAAC,GAAC2K,CAAlC;;AAAqC,eAAO3K,CAAC,GAAC,IAAIiyQ,EAAJ,CAAOjyQ,CAAC,CAACymF,KAAT,EAAezmF,CAAC,CAAC0mF,GAAjB,CAAD,GAAuB,IAA/B;AAAoC;;AAAA+wK,MAAAA,YAAY,GAAE;AAAC,YAAIz3P,CAAC,GAAC,IAAN;;AAAW,aAAI,MAAM2K,CAAV,IAAe,KAAKosP,OAApB,EAA4B/2P,CAAC,IAAE,CAAC2K,CAAC,CAAC+7E,GAAF,CAAM8sH,OAAN,CAAcxzM,CAAC,CAAC0mF,GAAhB,CAAJ,KAA2B1mF,CAAC,GAAC2K,CAA7B;;AAAgC,eAAO3K,CAAC,GAAC,IAAIiyQ,EAAJ,CAAOjyQ,CAAC,CAACymF,KAAT,EAAezmF,CAAC,CAAC0mF,GAAjB,CAAD,GAAuB,IAA/B;AAAoC;;AAAAqjK,MAAAA,gBAAgB,GAAE;AAAC,cAAM/pP,CAAC,GAAC,KAAKw3P,aAAL,EAAR;AAA6B,eAAOx3P,CAAC,GAACA,CAAC,CAACymF,KAAF,CAAQ7mF,KAAR,EAAD,GAAiB,IAAzB;AAA8B;;AAAA83P,MAAAA,eAAe,GAAE;AAAC,cAAM13P,CAAC,GAAC,KAAKy3P,YAAL,EAAR;AAA4B,eAAOz3P,CAAC,GAACA,CAAC,CAAC0mF,GAAF,CAAM9mF,KAAN,EAAD,GAAe,IAAvB;AAA4B;;AAAA2xP,MAAAA,KAAK,CAAC,GAAGvxP,CAAJ,EAAM;AAAC,YAAG,CAAC2K,CAAD,EAAGJ,CAAH,EAAKgC,CAAL,IAAQvM,CAAX;AAAa,YAAG,YAAU,OAAOuK,CAAjB,KAAqBgC,CAAC,GAAChC,CAAF,EAAIA,CAAC,GAAC,KAAK,CAAhC,GAAmC,SAAOI,CAA7C,EAA+C,KAAKitP,UAAL,CAAgB,EAAhB,EAA/C,KAAwE,IAAGjtP,CAAC,YAAY0sQ,EAAhB,EAAmB,KAAKzf,UAAL,CAAgBjtP,CAAC,CAAC4sP,SAAF,EAAhB,EAA8B5sP,CAAC,CAAC2sP,UAAhC,EAAnB,KAAoE,IAAG3sP,CAAC,IAAE,cAAY,OAAOA,CAAC,CAAC4sP,SAA3B,EAAqC,KAAKK,UAAL,CAAgBjtP,CAAC,CAAC4sP,SAAF,EAAhB,EAA8B5sP,CAAC,CAAC2sP,UAAhC,EAArC,KAAsF,IAAG3sP,CAAC,YAAYsnQ,EAAhB,EAAmB,KAAKra,UAAL,CAAgB,CAACjtP,CAAD,CAAhB,EAAoB,CAAC,CAAC4B,CAAF,IAAK,CAAC,CAACA,CAAC,CAACyrP,QAA7B,EAAnB,KAA+D,IAAGrtP,CAAC,YAAYwlQ,EAAhB,EAAmB,KAAKvY,UAAL,CAAgB,CAAC,IAAIqa,EAAJ,CAAOtnQ,CAAP,CAAD,CAAhB,EAAnB,KAAqD,IAAGA,CAAC,YAAYokQ,EAAhB,EAAmB;AAAC,gBAAM/uQ,CAAC,GAAC,CAAC,CAACuM,CAAF,IAAK,CAAC,CAACA,CAAC,CAACyrP,QAAjB;AAA0B,cAAIrhR,CAAJ;AAAM,cAAG,QAAM4zB,CAAT,EAAW5zB,CAAC,GAACs7R,EAAE,CAACpb,SAAH,CAAalsP,CAAb,CAAF,CAAX,KAAkC,IAAG,QAAMJ,CAAT,EAAW5zB,CAAC,GAACs7R,EAAE,CAACnb,SAAH,CAAansP,CAAb,CAAF,CAAX,KAAiC;AAAC,gBAAG,KAAK,CAAL,KAASJ,CAAZ,EAAc,MAAM,IAAI43C,CAAJ,CAAM,iDAAN,EAAwD,CAAC,IAAD,EAAMx3C,CAAN,CAAxD,CAAN;AAAwEh0B,YAAAA,CAAC,GAAC,IAAIs7R,EAAJ,CAAO9B,EAAE,CAACzb,SAAH,CAAa/pP,CAAb,EAAeJ,CAAf,CAAP,CAAF;AAA4B;;AAAA,eAAKqtP,UAAL,CAAgB,CAACjhR,CAAD,CAAhB,EAAoBqpB,CAApB;AAAuB,SAAjQ,MAAqQ;AAAC,cAAG,CAAC4nO,CAAC,CAACj9N,CAAD,CAAL,EAAS,MAAM,IAAIw3C,CAAJ,CAAM,sCAAN,EAA6C,CAAC,IAAD,EAAMx3C,CAAN,CAA7C,CAAN;;AAA6D,eAAKitP,UAAL,CAAgBjtP,CAAhB,EAAkB4B,CAAC,IAAE,CAAC,CAACA,CAAC,CAACyrP,QAAzB;AAAmC;AAAC;;AAAAJ,MAAAA,UAAU,CAAC53P,CAAD,EAAG2K,CAAC,GAAC,CAAC,CAAN,EAAQ;AAAC,cAAMJ,CAAC,GAACpF,KAAK,CAAC7H,IAAN,CAAW0C,CAAX,CAAR;AAAA,cAAsBuM,CAAC,GAAChC,CAAC,CAAC1uB,IAAF,CAAQ8uB,CAAC,IAAE;AAAC,cAAG,EAAEA,CAAC,YAAYsnQ,EAAf,CAAH,EAAsB,MAAM,IAAI9vN,CAAJ,CAAM,sCAAN,EAA6C,CAAC,IAAD,EAAMniD,CAAN,CAA7C,CAAN;AAA6D,iBAAO,KAAK+2P,OAAL,CAAa3kL,KAAb,CAAoBpyE,CAAC,IAAE,CAACA,CAAC,CAAC+1O,OAAF,CAAUprO,CAAV,CAAxB,CAAP;AAA8C,SAA7I,CAAxB;AAAwK,SAACJ,CAAC,CAAC59B,MAAF,KAAW,KAAKoqR,OAAL,CAAapqR,MAAxB,IAAgC4/B,CAAjC,MAAsC,KAAK+qQ,iBAAL,CAAuB/sQ,CAAvB,GAA0B,KAAKysP,kBAAL,GAAwB,CAAC,CAACrsP,CAApD,EAAsD,KAAK+6E,IAAL,CAAU,cAAV,EAAyB;AAAC6xL,UAAAA,YAAY,EAAC,CAAC;AAAf,SAAzB,CAA5F;AAAyI;;AAAAtf,MAAAA,QAAQ,CAACj4P,CAAD,EAAG2K,CAAH,EAAK;AAAC,YAAG,SAAO,KAAK+qM,MAAf,EAAsB,MAAM,IAAIvzJ,CAAJ,CAAM,oCAAN,EAA2C,CAAC,IAAD,EAAMniD,CAAN,CAA3C,CAAN;;AAA2D,cAAMuK,CAAC,GAAC4lQ,EAAE,CAACzb,SAAH,CAAa10P,CAAb,EAAe2K,CAAf,CAAR;;AAA0B,YAAG,UAAQJ,CAAC,CAACsrP,WAAF,CAAc,KAAK7iN,KAAnB,CAAX,EAAqC;AAAO,cAAMzmC,CAAC,GAAC,KAAKmpM,MAAb;AAAoB,aAAKqhD,OAAL,CAAapqR,MAAb,IAAqB,KAAK6qS,SAAL,EAArB,EAAsC,YAAUjtQ,CAAC,CAACsrP,WAAF,CAActpP,CAAd,CAAV,IAA4B,KAAK4rP,UAAL,CAAgB,IAAI8Z,EAAJ,CAAO1nQ,CAAP,EAASgC,CAAT,CAAhB,GAA6B,KAAKyqP,kBAAL,GAAwB,CAAC,CAAlF,KAAsF,KAAKmB,UAAL,CAAgB,IAAI8Z,EAAJ,CAAO1lQ,CAAP,EAAShC,CAAT,CAAhB,GAA6B,KAAKysP,kBAAL,GAAwB,CAAC,CAA5I,CAAtC,EAAqL,KAAKtxK,IAAL,CAAU,cAAV,EAAyB;AAAC6xL,UAAAA,YAAY,EAAC,CAAC;AAAf,SAAzB,CAArL;AAAiO;;AAAA11B,MAAAA,YAAY,CAAC7hP,CAAD,EAAG;AAAC,eAAO,KAAK6yP,MAAL,CAAYpyR,GAAZ,CAAgBu/B,CAAhB,CAAP;AAA0B;;AAAAkkF,MAAAA,aAAa,GAAE;AAAC,eAAO,KAAK2uK,MAAL,CAAYrwK,OAAZ,EAAP;AAA6B;;AAAA0rK,MAAAA,gBAAgB,GAAE;AAAC,eAAO,KAAK2E,MAAL,CAAYxtP,IAAZ,EAAP;AAA0B;;AAAA6tP,MAAAA,YAAY,CAAClzP,CAAD,EAAG;AAAC,eAAO,KAAK6yP,MAAL,CAAY/jO,GAAZ,CAAgB9uB,CAAhB,CAAP;AAA0B;;AAAA6jO,MAAAA,eAAe,CAAC7jO,CAAD,EAAG;AAAC,aAAKkzP,YAAL,CAAkBlzP,CAAlB,MAAuB,KAAK6yP,MAAL,CAAYj+O,MAAZ,CAAmB5U,CAAnB,GAAsB,KAAK0lF,IAAL,CAAU,kBAAV,EAA6B;AAAC+xL,UAAAA,aAAa,EAAC,CAACz3Q,CAAD,CAAf;AAAmBu3Q,UAAAA,YAAY,EAAC,CAAC;AAAjC,SAA7B,CAA7C;AAAgH;;AAAA77N,MAAAA,YAAY,CAAC17C,CAAD,EAAG2K,CAAH,EAAK;AAAC,aAAKk3O,YAAL,CAAkB7hP,CAAlB,MAAuB2K,CAAvB,KAA2B,KAAKkoP,MAAL,CAAY/tP,GAAZ,CAAgB9E,CAAhB,EAAkB2K,CAAlB,GAAqB,KAAK+6E,IAAL,CAAU,kBAAV,EAA6B;AAAC+xL,UAAAA,aAAa,EAAC,CAACz3Q,CAAD,CAAf;AAAmBu3Q,UAAAA,YAAY,EAAC,CAAC;AAAjC,SAA7B,CAAhD;AAAmH;;AAAA5f,MAAAA,kBAAkB,GAAE;AAAC,eAAO,MAAI,KAAKN,UAAT,GAAoB,IAApB,GAAyB,KAAKG,aAAL,GAAqBf,mBAArB,EAAhC;AAA2E;;AAAkB,OAAjBihB,iBAAiB,GAAE;AAAC,cAAM13Q,CAAC,GAAC,IAAIklO,OAAJ,EAAR;;AAAoB,aAAI,MAAMv6N,CAAV,IAAe,KAAK4sP,SAAL,EAAf,EAAgC;AAAC,gBAAMhtP,CAAC,GAACotQ,EAAE,CAAChtQ,CAAC,CAAC87E,KAAH,EAASzmF,CAAT,CAAV;AAAsB43Q,UAAAA,EAAE,CAACrtQ,CAAD,EAAGI,CAAH,CAAF,KAAU,MAAMJ,CAAhB;;AAAmB,eAAI,MAAMA,CAAV,IAAeI,CAAC,CAACmrP,SAAF,EAAf,EAA6B;AAAC,kBAAMvpP,CAAC,GAAChC,CAAC,CAAC/vB,IAAV;AAAe,4BAAc+vB,CAAC,CAACtzB,IAAhB,IAAsB4gS,EAAE,CAACtrQ,CAAD,EAAGvM,CAAH,EAAK2K,CAAL,CAAxB,KAAkC,MAAM4B,CAAxC;AAA2C;;AAAA,gBAAMA,CAAC,GAACorQ,EAAE,CAAChtQ,CAAC,CAAC+7E,GAAH,EAAO1mF,CAAP,CAAV;AAAoB83Q,UAAAA,EAAE,CAACvrQ,CAAD,EAAG5B,CAAH,CAAF,KAAU,MAAM4B,CAAhB;AAAmB;AAAC;;AAAAwrQ,MAAAA,qBAAqB,CAAC/3Q,CAAC,GAAC,KAAK01M,MAAL,CAAYlyM,IAAf,EAAoB;AAAC,cAAMmH,CAAC,GAACwlQ,EAAE,CAACzb,SAAH,CAAa10P,CAAb,EAAe,CAAf,CAAR;AAAA,cAA0BuK,CAAC,GAAC4lQ,EAAE,CAACzb,SAAH,CAAa10P,CAAb,EAAe,KAAf,CAA5B;;AAAkD,eAAO2K,CAAC,CAACgmQ,UAAF,CAAa,KAAK5mB,gBAAL,EAAb,KAAuCx/O,CAAC,CAAComQ,UAAF,CAAa,KAAKjZ,eAAL,EAAb,CAA9C;AAAmF;;AAAAS,MAAAA,UAAU,CAACn4P,CAAD,EAAG;AAAC,aAAKg4Q,WAAL,CAAiBh4Q,CAAjB,GAAoB,KAAK+2P,OAAL,CAAa9wP,IAAb,CAAkB,IAAIgsQ,EAAJ,CAAOjyQ,CAAC,CAACymF,KAAT,EAAezmF,CAAC,CAAC0mF,GAAjB,CAAlB,CAApB;AAA6D;;AAAAsxL,MAAAA,WAAW,CAACh4Q,CAAD,EAAG;AAAC,aAAI,IAAI2K,CAAC,GAAC,CAAV,EAAYA,CAAC,GAAC,KAAKosP,OAAL,CAAapqR,MAA3B,EAAkCg+B,CAAC,EAAnC,EAAsC,IAAG3K,CAAC,CAACw2P,cAAF,CAAiB,KAAKO,OAAL,CAAapsP,CAAb,CAAjB,CAAH,EAAqC,MAAM,IAAIw3C,CAAJ,CAAM,kCAAN,EAAyC,CAAC,IAAD,EAAMniD,CAAN,CAAzC,EAAkD;AAACo4P,UAAAA,UAAU,EAACp4P,CAAZ;AAAcq4P,UAAAA,iBAAiB,EAAC,KAAKtB,OAAL,CAAapsP,CAAb;AAAhC,SAAlD,CAAN;AAA0G;;AAAA2sQ,MAAAA,iBAAiB,CAACt3Q,CAAD,EAAG;AAAC,aAAKi4Q,gBAAL;;AAAwB,aAAI,MAAMttQ,CAAV,IAAe3K,CAAf,EAAiB,KAAKm4P,UAAL,CAAgBxtP,CAAhB;AAAmB;;AAAAstQ,MAAAA,gBAAgB,GAAE;AAAC,eAAK,KAAKlhB,OAAL,CAAapqR,MAAb,GAAoB,CAAzB,GAA4B,KAAK6qS,SAAL;AAAiB;;AAAAA,MAAAA,SAAS,GAAE;AAAC,aAAKzgB,OAAL,CAAax4P,GAAb;AAAmB;;AAApmI;;AAAqmI,aAAS25Q,EAAT,CAAYl4Q,CAAZ,EAAc2K,CAAd,EAAgB;AAAC,aAAM,CAACA,CAAC,CAACmkB,GAAF,CAAM9uB,CAAN,CAAD,KAAY2K,CAAC,CAAC/V,GAAF,CAAMoL,CAAN,GAASA,CAAC,CAACwD,IAAF,CAAO9B,QAAP,CAAgBnlB,KAAhB,CAAsBolQ,MAAtB,CAA6Bw2B,OAA7B,CAAqCn4Q,CAArC,KAAyC,CAAC,CAACA,CAAC,CAACmhD,MAAlE,CAAN;AAAgF;;AAAA,aAAS02N,EAAT,CAAY73Q,CAAZ,EAAc2K,CAAd,EAAgBJ,CAAhB,EAAkB;AAAC,aAAO2tQ,EAAE,CAACl4Q,CAAD,EAAG2K,CAAH,CAAF,IAASytQ,EAAE,CAACp4Q,CAAD,EAAGuK,CAAH,CAAlB;AAAwB;;AAAA,aAASotQ,EAAT,CAAY33Q,CAAZ,EAAc2K,CAAd,EAAgB;AAAC,YAAMJ,CAAC,GAACvK,CAAC,CAACmhD,MAAF,CAAS39C,IAAT,CAAc9B,QAAd,CAAuBnlB,KAAvB,CAA6BolQ,MAArC;AAAA,YAA4Cp1O,CAAC,GAACvM,CAAC,CAACmhD,MAAF,CAAS8rM,YAAT,CAAsB;AAACE,QAAAA,WAAW,EAAC,CAAC,CAAd;AAAgBD,QAAAA,WAAW,EAAC,CAAC;AAA7B,OAAtB,CAA9C;AAAqG,UAAIv2Q,CAAC,GAAC,CAAC,CAAP;AAAS,YAAM81B,CAAC,GAACF,CAAC,CAAChyB,IAAF,CAAQylB,CAAC,IAAE,CAACrpB,CAAD,KAAKA,CAAC,GAAC4zB,CAAC,CAAC8tQ,OAAF,CAAUr4Q,CAAV,CAAF,EAAe,CAACrpB,CAAD,IAAIuhS,EAAE,CAACl4Q,CAAD,EAAG2K,CAAH,CAA1B,CAAX,CAAR;AAAsD,aAAO4B,CAAC,CAAC1G,OAAF,CAAW7F,CAAC,IAAE2K,CAAC,CAAC/V,GAAF,CAAMoL,CAAN,CAAd,GAAyByM,CAAhC;AAAkC;;AAAA,aAAS2rQ,EAAT,CAAYp4Q,CAAZ,EAAc2K,CAAd,EAAgB;AAAC,YAAMJ,CAAC,GAAC,UAASvK,CAAT,EAAW;AAAC,cAAM2K,CAAC,GAAC3K,CAAC,CAACwD,IAAF,CAAO9B,QAAP,CAAgBnlB,KAAhB,CAAsBolQ,MAA9B;AAAqC,YAAIp3O,CAAC,GAACvK,CAAC,CAACmhD,MAAR;;AAAe,eAAK52C,CAAL,GAAQ;AAAC,cAAGI,CAAC,CAACwtQ,OAAF,CAAU5tQ,CAAV,CAAH,EAAgB,OAAOA,CAAP;AAASA,UAAAA,CAAC,GAACA,CAAC,CAAC42C,MAAJ;AAAW;AAAC,OAA9G,CAA+GnhD,CAA/G,CAAR;;AAA0H,UAAG,CAACuK,CAAJ,EAAM,OAAM,CAAC,CAAP;AAAS,aAAM,CAACI,CAAC,CAAC2rP,aAAF,CAAgB2b,EAAE,CAACnb,SAAH,CAAavsP,CAAb,CAAhB,EAAgC,CAAC,CAAjC,CAAP;AAA2C;;AAAA,aAASqtQ,EAAT,CAAY53Q,CAAZ,EAAc2K,CAAd,EAAgB;AAAC,aAAM,CAAC,CAAC3K,CAAF,KAAM,EAAE,CAAC2K,CAAC,CAACqrP,WAAH,IAAgB,CAACh2P,CAAC,CAACqW,OAArB,KAA+B,CAAC1L,CAAC,CAAC87E,KAAF,CAAQkqL,UAAR,CAAmBR,EAAE,CAACzb,SAAH,CAAa10P,CAAb,EAAeA,CAAC,CAACqvQ,SAAjB,CAAnB,CAAD,IAAkD+I,EAAE,CAACp4Q,CAAD,EAAG2K,CAAH,CAAzF,CAAN;AAAsG;;AAAA,aAASmtQ,EAAT,CAAY93Q,CAAZ,EAAc2K,CAAd,EAAgB;AAAC,aAAM,CAAC,CAAC3K,CAAF,KAAM,EAAE,CAAC2K,CAAC,CAACqrP,WAAH,IAAgB,CAACh2P,CAAC,CAACqW,OAArB,KAA+B,CAAC1L,CAAC,CAAC+7E,GAAF,CAAMiqL,UAAN,CAAiBR,EAAE,CAACzb,SAAH,CAAa10P,CAAb,EAAe,CAAf,CAAjB,CAAD,IAAsCo4Q,EAAE,CAACp4Q,CAAD,EAAG2K,CAAH,CAA7E,CAAN;AAA0F;;AAAA0sQ,IAAAA,EAAE,CAACptQ,SAAH,CAAa4gF,EAAb,GAAgB,UAAS7qF,CAAT,EAAW;AAAC,aAAM,gBAAcA,CAAd,IAAiB,sBAAoBA,CAA3C;AAA6C,KAAzE;;AAA0E,UAAMs4Q,EAAN,SAAiB/yC,CAAC,CAAC0sC,EAAD,CAAlB,CAAuB;AAACxyS,MAAAA,WAAW,CAACugC,CAAD,EAAG2K,CAAH,EAAK;AAAC,cAAM3K,CAAN,EAAQ2K,CAAR,GAAW4tQ,EAAE,CAACpvQ,IAAH,CAAQ,IAAR,CAAX;AAAyB;;AAAA4qO,MAAAA,MAAM,GAAE;AAAC,aAAKrO,aAAL;AAAqB;;AAAA8yC,MAAAA,OAAO,GAAE;AAAC,eAAO,IAAIvG,EAAJ,CAAO,KAAKxrL,KAAZ,EAAkB,KAAKC,GAAvB,CAAP;AAAmC;;AAAgB,aAAT+xL,SAAS,CAACz4Q,CAAD,EAAG;AAAC,eAAO,IAAIs4Q,EAAJ,CAAOt4Q,CAAC,CAACymF,KAAT,EAAezmF,CAAC,CAAC0mF,GAAjB,CAAP;AAA6B;;AAAvK;;AAAwK,aAAS6xL,EAAT,GAAa;AAAC,WAAK/yC,QAAL,CAAc,KAAKhiO,IAAL,CAAU9B,QAAV,CAAmBnlB,KAAjC,EAAuC,gBAAvC,EAAyD,CAACyjB,CAAD,EAAG2K,CAAH,KAAO;AAAC,cAAMJ,CAAC,GAACI,CAAC,CAAC,CAAD,CAAT;AAAaJ,QAAAA,CAAC,CAACmuQ,mBAAF,IAAuBC,EAAE,CAACxvQ,IAAH,CAAQ,IAAR,EAAaoB,CAAb,CAAvB;AAAuC,OAArH,EAAuH;AAACo7E,QAAAA,QAAQ,EAAC;AAAV,OAAvH;AAAyI;;AAAA,aAASgzL,EAAT,CAAY34Q,CAAZ,EAAc;AAAC,YAAM2K,CAAC,GAAC,KAAKomQ,yBAAL,CAA+B/wQ,CAA/B,CAAR;AAAA,YAA0CuK,CAAC,GAAC0nQ,EAAE,CAACK,iBAAH,CAAqB3nQ,CAArB,CAA5C;AAAA,YAAoE4B,CAAC,GAAC,CAAChC,CAAC,CAACwrO,OAAF,CAAU,IAAV,CAAvE;AAAA,YAAuFp/P,CAAC,GAAC,UAASqpB,CAAT,EAAW2K,CAAX,EAAa;AAAC,gBAAOA,CAAC,CAAC1zB,IAAT;AAAe,eAAI,QAAJ;AAAa,mBAAO+oB,CAAC,CAACq2P,gBAAF,CAAmB1rP,CAAC,CAAC76B,QAArB,CAAP;;AAAsC,eAAI,MAAJ;AAAW,eAAI,QAAJ;AAAa,eAAI,UAAJ;AAAe,eAAI,OAAJ;AAAY,mBAAOkwB,CAAC,CAACq2P,gBAAF,CAAmB1rP,CAAC,CAAC2mQ,cAArB,KAAsCtxQ,CAAC,CAACymF,KAAF,CAAQsvJ,OAAR,CAAgBprO,CAAC,CAAC2mQ,cAAlB,CAAtC,IAAyEtxQ,CAAC,CAACq2P,gBAAF,CAAmB1rP,CAAC,CAAC4mQ,cAArB,CAAhF;;AAAqH,eAAI,OAAJ;AAAY,mBAAOvxQ,CAAC,CAACq2P,gBAAF,CAAmB1rP,CAAC,CAAC+mQ,aAArB,KAAqC1xQ,CAAC,CAACq2P,gBAAF,CAAmB1rP,CAAC,CAACknQ,iBAArB,CAA5C;AAAtP;;AAA0U,eAAM,CAAC,CAAP;AAAS,OAAjW,CAAkW,IAAlW,EAAuW7xQ,CAAvW,CAAzF;;AAAmc,UAAIyM,CAAC,GAAC,IAAN;;AAAW,UAAGF,CAAH,EAAK;AAAC,wBAAchC,CAAC,CAAC/G,IAAF,CAAO8+E,QAArB,KAAgC71E,CAAC,GAAC,YAAUzM,CAAC,CAAC/oB,IAAZ,GAAiB+oB,CAAC,CAACsxQ,cAAnB,GAAkCtxQ,CAAC,CAAC+xQ,gBAAtE;AAAwF,cAAMpnQ,CAAC,GAAC,KAAK6tQ,OAAL,EAAR;AAAuB,aAAK/xL,KAAL,GAAWl8E,CAAC,CAACk8E,KAAb,EAAmB,KAAKC,GAAL,GAASn8E,CAAC,CAACm8E,GAA9B,EAAkC,KAAKhB,IAAL,CAAU,cAAV,EAAyB/6E,CAAzB,EAA2B;AAAConQ,UAAAA,gBAAgB,EAACtlQ;AAAlB,SAA3B,CAAlC;AAAmF,OAAxM,MAA6M91B,CAAC,IAAE,KAAK+uG,IAAL,CAAU,gBAAV,EAA2B,KAAK8yL,OAAL,EAA3B,EAA0C;AAACzG,QAAAA,gBAAgB,EAACtlQ;AAAlB,OAA1C,CAAH;AAAmE;;AAAA6rQ,IAAAA,EAAE,CAACruQ,SAAH,CAAa4gF,EAAb,GAAgB,UAAS7qF,CAAT,EAAW;AAAC,aAAM,gBAAcA,CAAd,IAAiB,sBAAoBA,CAArC,IAAwC,WAASA,CAAjD,IAAoD,kBAAgBA,CAA1E;AAA4E,KAAxG;;AAAyG,UAAM44Q,EAAE,GAAC,YAAT;;AAAsB,UAAMC,EAAN,SAAiBtzC,CAAC,CAACupC,EAAD,CAAlB,CAAuB;AAACrvS,MAAAA,WAAW,CAACugC,CAAD,EAAG;AAAC,iBAAQ,KAAKs4P,UAAL,GAAgB,IAAIwgB,EAAJ,CAAO94Q,CAAP,CAAxB,EAAkC,KAAKs4P,UAAL,CAAgBnyB,QAAhB,CAAyB,cAAzB,EAAyC15E,EAAzC,CAA4C,IAA5C,CAAlC,EAAoF,KAAK6rG,UAAL,CAAgBnyB,QAAhB,CAAyB,kBAAzB,EAA6C15E,EAA7C,CAAgD,IAAhD,CAApF,EAA0I,KAAK6rG,UAAL,CAAgBnyB,QAAhB,CAAyB,eAAzB,EAA0C15E,EAA1C,CAA6C,IAA7C,CAA1I;AAA6L;;AAAe,UAAXupG,WAAW,GAAE;AAAC,eAAO,KAAKsC,UAAL,CAAgBtC,WAAvB;AAAmC;;AAAU,UAANtgD,MAAM,GAAE;AAAC,eAAO,KAAK4iD,UAAL,CAAgB5iD,MAAvB;AAA8B;;AAAS,UAAL1iK,KAAK,GAAE;AAAC,eAAO,KAAKslN,UAAL,CAAgBtlN,KAAvB;AAA6B;;AAAc,UAAVqkN,UAAU,GAAE;AAAC,eAAO,KAAKiB,UAAL,CAAgBjB,UAAvB;AAAkC;;AAAe,UAAX0hB,WAAW,GAAE;AAAC,eAAO,KAAKzgB,UAAL,CAAgBygB,WAAvB;AAAmC;;AAAc,UAAVzhB,UAAU,GAAE;AAAC,eAAO,KAAKgB,UAAL,CAAgBhB,UAAvB;AAAkC;;AAAuB,UAAnB0hB,mBAAmB,GAAE;AAAC,eAAO,KAAK1gB,UAAL,CAAgB0gB,mBAAvB;AAA2C;;AAAW,UAAPp1L,OAAO,GAAE;AAAC,eAAO,KAAK00K,UAAL,CAAgB10K,OAAvB;AAA+B;;AAAW,UAAPmzK,OAAO,GAAE;AAAC,eAAO,KAAKuB,UAAL,CAAgBvB,OAAvB;AAA+B;;AAAAQ,MAAAA,SAAS,GAAE;AAAC,eAAO,KAAKe,UAAL,CAAgBf,SAAhB,EAAP;AAAmC;;AAAAxN,MAAAA,gBAAgB,GAAE;AAAC,eAAO,KAAKuO,UAAL,CAAgBvO,gBAAhB,EAAP;AAA0C;;AAAA2N,MAAAA,eAAe,GAAE;AAAC,eAAO,KAAKY,UAAL,CAAgBZ,eAAhB,EAAP;AAAyC;;AAAAF,MAAAA,aAAa,GAAE;AAAC,eAAO,KAAKc,UAAL,CAAgBd,aAAhB,EAAP;AAAuC;;AAAAC,MAAAA,YAAY,GAAE;AAAC,eAAO,KAAKa,UAAL,CAAgBb,YAAhB,EAAP;AAAsC;;AAAAigB,MAAAA,iBAAiB,GAAE;AAAC,eAAO,KAAKpf,UAAL,CAAgBof,iBAAhB,EAAP;AAA2C;;AAAA/f,MAAAA,kBAAkB,GAAE;AAAC,eAAO,KAAKW,UAAL,CAAgBX,kBAAhB,EAAP;AAA4C;;AAAAogB,MAAAA,qBAAqB,CAAC/3Q,CAAD,EAAG;AAAC,eAAO,KAAKs4P,UAAL,CAAgByf,qBAAhB,CAAsC/3Q,CAAtC,CAAP;AAAgD;;AAAA2+E,MAAAA,OAAO,GAAE;AAAC,aAAK25K,UAAL,CAAgB35K,OAAhB;AAA0B;;AAAAuvK,MAAAA,gBAAgB,GAAE;AAAC,eAAO,KAAKoK,UAAL,CAAgBpK,gBAAhB,EAAP;AAA0C;;AAAAhqK,MAAAA,aAAa,GAAE;AAAC,eAAO,KAAKo0K,UAAL,CAAgBp0K,aAAhB,EAAP;AAAuC;;AAAA29J,MAAAA,YAAY,CAAC7hP,CAAD,EAAG;AAAC,eAAO,KAAKs4P,UAAL,CAAgBzW,YAAhB,CAA6B7hP,CAA7B,CAAP;AAAuC;;AAAAkzP,MAAAA,YAAY,CAAClzP,CAAD,EAAG;AAAC,eAAO,KAAKs4P,UAAL,CAAgBpF,YAAhB,CAA6BlzP,CAA7B,CAAP;AAAuC;;AAAA6pP,MAAAA,OAAO,GAAE;AAAC,aAAKyO,UAAL,CAAgB2gB,aAAhB,IAAgC,KAAK3gB,UAAL,CAAgB4gB,iBAAhB,CAAkC,CAAC,CAAnC,CAAhC;AAAsE;;AAAAC,MAAAA,cAAc,CAACn5Q,CAAD,EAAG;AAAC,aAAKs4P,UAAL,CAAgB6gB,cAAhB,CAA+Bn5Q,CAA/B;AAAkC;;AAAAw4P,MAAAA,SAAS,CAACx4P,CAAD,EAAG2K,CAAH,EAAK;AAAC,aAAK2tP,UAAL,CAAgBL,QAAhB,CAAyBj4P,CAAzB,EAA2B2K,CAA3B;AAA8B;;AAAA4tP,MAAAA,MAAM,CAAC,GAAGv4P,CAAJ,EAAM;AAAC,aAAKs4P,UAAL,CAAgB/G,KAAhB,CAAsB,GAAGvxP,CAAzB;AAA4B;;AAAA2zP,MAAAA,aAAa,CAAC3zP,CAAD,EAAG2K,CAAH,EAAK;AAAC,aAAK2tP,UAAL,CAAgB58M,YAAhB,CAA6B17C,CAA7B,EAA+B2K,CAA/B;AAAkC;;AAAAipP,MAAAA,gBAAgB,CAAC5zP,CAAD,EAAG;AAAC,aAAKs4P,UAAL,CAAgBz0B,eAAhB,CAAgC7jO,CAAhC;AAAmC;;AAAAo5Q,MAAAA,oBAAoB,GAAE;AAAC,eAAO,KAAK9gB,UAAL,CAAgB+gB,mBAAhB,EAAP;AAA6C;;AAAAC,MAAAA,gBAAgB,GAAE;AAAC,eAAO,KAAKhhB,UAAL,CAAgBihB,eAAhB,EAAP;AAAyC;;AAAAC,MAAAA,eAAe,CAACx5Q,CAAD,EAAG;AAAC,aAAKs4P,UAAL,CAAgBmhB,cAAhB,CAA+Bz5Q,CAA/B;AAAkC;;AAA4B,aAArB05Q,qBAAqB,CAAC15Q,CAAD,EAAG;AAAC,eAAO44Q,EAAE,GAAC54Q,CAAV;AAAY;;AAA2B,aAApB25Q,oBAAoB,CAAC35Q,CAAD,EAAG;AAAC,eAAOA,CAAC,CAACiC,UAAF,CAAa22Q,EAAb,CAAP;AAAwB;;AAAh9D;;AAAi9DC,IAAAA,EAAE,CAAC5uQ,SAAH,CAAa4gF,EAAb,GAAgB,UAAS7qF,CAAT,EAAW;AAAC,aAAM,gBAAcA,CAAd,IAAiB,qBAAmBA,CAApC,IAAuC,uBAAqBA,CAA5D,IAA+D,6BAA2BA,CAAhG;AAAkG,KAA9H;;AAA+H,UAAM84Q,EAAN,SAAiBzB,EAAjB,CAAmB;AAAC53S,MAAAA,WAAW,CAACugC,CAAD,EAAG;AAAC,iBAAQ,KAAK4jF,OAAL,GAAa,IAAIw4J,EAAJ,CAAO;AAACI,UAAAA,UAAU,EAAC;AAAZ,SAAP,CAArB,EAAiD,KAAKo9B,kBAAL,GAAwB,IAAI3qQ,GAAJ,EAAzE,EAAiF,KAAK4qQ,yBAAL,GAA+B,IAAhH,EAAqH,KAAKC,gBAAL,GAAsB,CAAC,CAA5I,EAA8I,KAAKC,0BAAL,GAAgC,IAAIloM,GAAJ,EAA9K,EAAsL,KAAKmoM,gBAAL,GAAsB,IAAInoM,GAAJ,EAA5M,EAAoN,KAAKooM,MAAL,GAAYj6Q,CAAC,CAACzjB,KAAlO,EAAwO,KAAK4nB,SAAL,GAAenE,CAAvP,EAAyP,KAAKwlO,QAAL,CAAc,KAAKy0C,MAAnB,EAA0B,gBAA1B,EAA4C,CAACj6Q,CAAD,EAAG2K,CAAH,KAAO;AAAC,gBAAMJ,CAAC,GAACI,CAAC,CAAC,CAAD,CAAT;AAAaJ,UAAAA,CAAC,CAACmuQ,mBAAF,IAAuB,YAAUnuQ,CAAC,CAACtzB,IAAnC,IAAyC,YAAUszB,CAAC,CAACtzB,IAArD,IAA2D,UAAQszB,CAAC,CAACtzB,IAArE,KAA4E,KAAG,KAAK8/Q,OAAL,CAAapqR,MAAhB,IAAwB,KAAKktS,yBAA7B,IAAwD,KAAKK,sBAAL,CAA4B,KAAKL,yBAAjC,CAAxD,EAAoH,KAAKA,yBAAL,GAA+B,IAAnJ,EAAwJ,KAAKC,gBAAL,KAAwB,KAAKA,gBAAL,GAAsB,CAAC,CAAvB,EAAyB,KAAKp0L,IAAL,CAAU,cAAV,EAAyB;AAAC6xL,YAAAA,YAAY,EAAC,CAAC;AAAf,WAAzB,CAAjD,CAApO;AAAmU,SAApY,EAAsY;AAAC5xL,UAAAA,QAAQ,EAAC;AAAV,SAAtY,CAAzP,EAAopB,KAAKlkG,EAAL,CAAQ,cAAR,EAAwB,MAAI;AAAC,eAAK04R,wBAAL,CAA8B,KAAK5iB,SAAL,EAA9B;AAAgD,SAA7E,CAAppB,EAAouB,KAAK/xB,QAAL,CAAc,KAAKy0C,MAAL,CAAYr2L,OAA1B,EAAkC,QAAlC,EAA4C,CAAC5jF,CAAD,EAAG2K,CAAH,EAAKJ,CAAL,EAAOgC,CAAP,KAAW;AAAC,eAAK6tQ,aAAL,CAAmBzvQ,CAAnB,EAAqB4B,CAArB;AAAwB,SAAhF,CAApuB,EAAuzB,KAAKi5N,QAAL,CAAc,KAAKrhO,SAAnB,EAA6B,QAA7B,EAAuC,CAACnE,CAAD,EAAG2K,CAAH,KAAO;AAAC,WAAC,UAAS3K,CAAT,EAAW2K,CAAX,EAAa;AAAC,kBAAMJ,CAAC,GAACvK,CAAC,CAAC0B,QAAF,CAAW24Q,MAAnB;;AAA0B,iBAAI,MAAM9tQ,CAAV,IAAehC,CAAC,CAACmrQ,UAAF,EAAf,EAA8B;AAAC,kBAAG,YAAUnpQ,CAAC,CAACt1B,IAAf,EAAoB;AAAS,oBAAMszB,CAAC,GAACgC,CAAC,CAACz8B,QAAF,CAAWqxE,MAAnB;AAA0B50C,cAAAA,CAAC,CAAC5/B,MAAF,KAAW49B,CAAC,CAAC8kQ,SAAb,IAAwBrvQ,CAAC,CAACqlF,aAAF,CAAgB16E,CAAhB,EAAmB3K,CAAC,IAAE;AAAC,sBAAM2K,CAAC,GAACxF,KAAK,CAAC7H,IAAN,CAAWiN,CAAC,CAAC2jP,gBAAF,EAAX,EAAiCvkR,MAAjC,CAAyCq2B,CAAC,IAAEA,CAAC,CAACiC,UAAF,CAAa22Q,EAAb,CAA5C,CAAR;;AAAuE,qBAAI,MAAMrsQ,CAAV,IAAe5B,CAAf,EAAiB3K,CAAC,CAAC6jO,eAAF,CAAkBt3N,CAAlB,EAAoBhC,CAApB;AAAuB,eAAtI,CAAxB;AAAiK;AAAC,WAAhS,CAAiS,KAAK0vQ,MAAtS,EAA6StvQ,CAA7S,CAAD;AAAiT,SAAhW,CAAvzB;AAA0pC;;AAAe,UAAXqrP,WAAW,GAAE;AAAC,eAAO,MAAI,KAAKe,OAAL,CAAapqR,MAAjB,GAAwB,KAAKw3B,SAAL,CAAem2Q,gBAAf,GAAkCtkB,WAA1D,GAAsE,MAAMA,WAAnF;AAA+F;;AAAU,UAANtgD,MAAM,GAAE;AAAC,eAAO,MAAMA,MAAN,IAAc,KAAKvxM,SAAL,CAAem2Q,gBAAf,GAAkC7zL,KAAvD;AAA6D;;AAAS,UAALzzC,KAAK,GAAE;AAAC,eAAO,MAAMA,KAAN,IAAa,KAAK7uC,SAAL,CAAem2Q,gBAAf,GAAkC5zL,GAAtD;AAA0D;;AAAc,UAAV2wK,UAAU,GAAE;AAAC,eAAO,KAAKN,OAAL,CAAapqR,MAAb,GAAoB,KAAKoqR,OAAL,CAAapqR,MAAjC,GAAwC,CAA/C;AAAiD;;AAAe,UAAXosS,WAAW,GAAE;AAAC,eAAO,KAAKhiB,OAAL,CAAapqR,MAAb,GAAoB,CAA3B;AAA6B;;AAAuB,UAAnBqsS,mBAAmB,GAAE;AAAC,eAAM,CAAC,CAAC,KAAKe,0BAAL,CAAgC5nM,IAAxC;AAA6C;;AAAAwM,MAAAA,OAAO,GAAE;AAAC,aAAI,IAAI3+E,CAAC,GAAC,CAAV,EAAYA,CAAC,GAAC,KAAK+2P,OAAL,CAAapqR,MAA3B,EAAkCqzB,CAAC,EAAnC,EAAsC,KAAK+2P,OAAL,CAAa/2P,CAAb,EAAgB+zO,MAAhB;;AAAyB,aAAKrO,aAAL;AAAqB;;AAAU,OAAT6xB,SAAS,GAAE;AAAC,aAAKR,OAAL,CAAapqR,MAAb,GAAoB,OAAM,MAAM4qR,SAAN,EAA1B,GAA4C,MAAM,KAAKpzP,SAAL,CAAem2Q,gBAAf,EAAlD;AAAoF;;AAAA9iB,MAAAA,aAAa,GAAE;AAAC,eAAO,MAAMA,aAAN,MAAuB,KAAKrzP,SAAL,CAAem2Q,gBAAf,EAA9B;AAAgE;;AAAA7iB,MAAAA,YAAY,GAAE;AAAC,eAAO,MAAMA,YAAN,MAAsB,KAAKtzP,SAAL,CAAem2Q,gBAAf,EAA7B;AAA+D;;AAAA/oB,MAAAA,KAAK,CAAC,GAAGvxP,CAAJ,EAAM;AAAC,cAAMuxP,KAAN,CAAY,GAAGvxP,CAAf,GAAkB,KAAKk5Q,iBAAL,CAAuB,CAAC,CAAxB,CAAlB,EAA6C,KAAKD,aAAL,EAA7C;AAAkE;;AAAAhhB,MAAAA,QAAQ,CAACj4P,CAAD,EAAG2K,CAAH,EAAK;AAAC,cAAMstP,QAAN,CAAej4P,CAAf,EAAiB2K,CAAjB,GAAoB,KAAKuuQ,iBAAL,CAAuB,CAAC,CAAxB,CAApB,EAA+C,KAAKD,aAAL,EAA/C;AAAoE;;AAAAv9N,MAAAA,YAAY,CAAC17C,CAAD,EAAG2K,CAAH,EAAK;AAAC,YAAG,KAAKgpP,aAAL,CAAmB3zP,CAAnB,EAAqB2K,CAArB,CAAH,EAA2B;AAAC,gBAAMA,CAAC,GAAC,CAAC3K,CAAD,CAAR;AAAY,eAAK0lF,IAAL,CAAU,kBAAV,EAA6B;AAAC+xL,YAAAA,aAAa,EAAC9sQ,CAAf;AAAiB4sQ,YAAAA,YAAY,EAAC,CAAC;AAA/B,WAA7B;AAAgE;AAAC;;AAAA1zC,MAAAA,eAAe,CAAC7jO,CAAD,EAAG;AAAC,YAAG,KAAK4zP,gBAAL,CAAsB5zP,CAAtB,CAAH,EAA4B;AAAC,gBAAM2K,CAAC,GAAC,CAAC3K,CAAD,CAAR;AAAY,eAAK0lF,IAAL,CAAU,kBAAV,EAA6B;AAAC+xL,YAAAA,aAAa,EAAC9sQ,CAAf;AAAiB4sQ,YAAAA,YAAY,EAAC,CAAC;AAA/B,WAA7B;AAAgE;AAAC;;AAAAgC,MAAAA,eAAe,GAAE;AAAC,cAAMv5Q,CAAC,GAACgK,CAAC,EAAT;AAAY,eAAO,KAAK+vQ,0BAAL,CAAgCnlR,GAAhC,CAAoCoL,CAApC,GAAuC,MAAI,KAAK+5Q,0BAAL,CAAgC5nM,IAApC,IAA0C,KAAK+mM,iBAAL,CAAuB,CAAC,CAAxB,CAAjF,EAA4Gl5Q,CAAnH;AAAqH;;AAAAy5Q,MAAAA,cAAc,CAACz5Q,CAAD,EAAG;AAAC,YAAG,CAAC,KAAK+5Q,0BAAL,CAAgCjrP,GAAhC,CAAoC9uB,CAApC,CAAJ,EAA2C,MAAM,IAAImiD,CAAJ,CAAM,0CAAN,EAAiD,IAAjD,EAAsD;AAAC7vB,UAAAA,GAAG,EAACtyB;AAAL,SAAtD,CAAN;AAAqE,aAAK+5Q,0BAAL,CAAgCnlQ,MAAhC,CAAuC5U,CAAvC,GAA0C,KAAKg5Q,mBAAL,IAA0B,KAAKE,iBAAL,CAAuB,CAAC,CAAxB,CAApE;AAA+F;;AAAAC,MAAAA,cAAc,CAACn5Q,CAAD,EAAG;AAAC,aAAKg6Q,gBAAL,CAAsBplR,GAAtB,CAA0BoL,CAA1B,GAA6B,KAAKi5Q,aAAL,EAA7B;AAAkD;;AAAA3B,MAAAA,iBAAiB,CAACt3Q,CAAD,EAAG;AAAC,aAAKm6Q,wBAAL,CAA8Bn6Q,CAA9B,GAAiC,MAAMs3Q,iBAAN,CAAwBt3Q,CAAxB,CAAjC;AAA4D;;AAAAw3Q,MAAAA,SAAS,GAAE;AAAC,aAAKzgB,OAAL,CAAax4P,GAAb,GAAmBw1O,MAAnB;AAA4B;;AAAAokB,MAAAA,UAAU,CAACn4P,CAAD,EAAG;AAAC,cAAM2K,CAAC,GAAC,KAAK4vQ,aAAL,CAAmBv6Q,CAAnB,CAAR;;AAA8B2K,QAAAA,CAAC,IAAE,KAAKosP,OAAL,CAAa9wP,IAAb,CAAkB0E,CAAlB,CAAH;AAAwB;;AAAAwvQ,MAAAA,wBAAwB,CAACn6Q,CAAD,EAAG;AAAC,aAAI,MAAM2K,CAAV,IAAe3K,CAAf,EAAiB,IAAG,CAAC,KAAKmE,SAAL,CAAeq2Q,uBAAf,CAAuC7vQ,CAAvC,CAAJ,EAA8C,MAAM,IAAIw3C,CAAJ,CAAM,mCAAN,EAA0C,IAA1C,EAA+C;AAAC4kC,UAAAA,KAAK,EAACp8E;AAAP,SAA/C,CAAN;AAAgE;;AAAA4vQ,MAAAA,aAAa,CAACv6Q,CAAD,EAAG;AAAC,YAAG,KAAKg4Q,WAAL,CAAiBh4Q,CAAjB,GAAoBA,CAAC,CAACwD,IAAF,IAAQ,KAAKW,SAAL,CAAe6tQ,SAA9C,EAAwD;AAAO,cAAMrnQ,CAAC,GAAC2tQ,EAAE,CAACG,SAAH,CAAaz4Q,CAAb,CAAR;AAAwB,eAAO2K,CAAC,CAAClpB,EAAF,CAAK,cAAL,EAAqB,CAACue,CAAD,EAAGuK,CAAH,EAAKgC,CAAL,KAAS;AAAC,cAAG,KAAKutQ,gBAAL,GAAsB,CAAC,CAAvB,EAAyBnvQ,CAAC,CAACnH,IAAF,IAAQ,KAAKW,SAAL,CAAe6tQ,SAAnD,EAA6D;AAAC,iBAAK6H,yBAAL,GAA+BttQ,CAAC,CAACwlQ,gBAAjC;;AAAkD,kBAAM/xQ,CAAC,GAAC,KAAK+2P,OAAL,CAAa3+Q,OAAb,CAAqBuyB,CAArB,CAAR;;AAAgC,iBAAKosP,OAAL,CAAa5zJ,MAAb,CAAoBnjG,CAApB,EAAsB,CAAtB,GAAyB2K,CAAC,CAACopO,MAAF,EAAzB;AAAoC;AAAC,SAApN,GAAuNppO,CAA9N;AAAgO;;AAAAsuQ,MAAAA,aAAa,GAAE;AAAC,YAAG,CAAC,KAAKe,gBAAL,CAAsB7nM,IAA1B,EAA+B;AAAO,cAAMnyE,CAAC,GAAC,EAAR;AAAW,YAAI2K,CAAC,GAAC,CAAC,CAAP;;AAAS,aAAI,MAAMA,CAAV,IAAe,KAAKsvQ,MAAL,CAAYr2L,OAA3B,EAAmC;AAAC,gBAAMr5E,CAAC,GAACI,CAAC,CAACn6B,IAAF,CAAOuO,KAAP,CAAa,GAAb,EAAiB,CAAjB,EAAoB,CAApB,CAAR;AAA+B,cAAG,CAAC,KAAKi7R,gBAAL,CAAsBlrP,GAAtB,CAA0BvkB,CAA1B,CAAJ,EAAiC;AAAS,gBAAMgC,CAAC,GAAC5B,CAAC,CAAC45E,QAAF,EAAR;;AAAqB,eAAI,MAAMh6E,CAAV,IAAe,KAAKgtP,SAAL,EAAf,EAAgChrP,CAAC,CAAC+pP,aAAF,CAAgB/rP,CAAhB,EAAkB,CAACA,CAAC,CAACyrP,WAArB,KAAmCh2P,CAAC,CAACiG,IAAF,CAAO0E,CAAP,CAAnC;AAA6C;;AAAA,cAAMJ,CAAC,GAACpF,KAAK,CAAC7H,IAAN,CAAW,KAAKsmF,OAAhB,CAAR;;AAAiC,aAAI,MAAMr5E,CAAV,IAAevK,CAAf,EAAiB,KAAK4jF,OAAL,CAAa90D,GAAb,CAAiBvkB,CAAjB,MAAsB,KAAKq5E,OAAL,CAAahvF,GAAb,CAAiB2V,CAAjB,GAAoBI,CAAC,GAAC,CAAC,CAA7C;;AAAgD,aAAI,MAAMJ,CAAV,IAAepF,KAAK,CAAC7H,IAAN,CAAW,KAAKsmF,OAAhB,CAAf,EAAwC5jF,CAAC,CAAC7zB,QAAF,CAAWo+B,CAAX,MAAgB,KAAKq5E,OAAL,CAAa3D,MAAb,CAAoB11E,CAApB,GAAuBI,CAAC,GAAC,CAAC,CAA1C;;AAA6CA,QAAAA,CAAC,IAAE,KAAK+6E,IAAL,CAAU,eAAV,EAA0B;AAAC+0L,UAAAA,UAAU,EAAClwQ,CAAZ;AAAcgtQ,UAAAA,YAAY,EAAC,CAAC;AAA5B,SAA1B,CAAH;AAA6D;;AAAA6C,MAAAA,aAAa,CAACp6Q,CAAD,EAAG2K,CAAH,EAAK;AAAC,cAAMJ,CAAC,GAACvK,CAAC,CAACxvB,IAAF,CAAOuO,KAAP,CAAa,GAAb,EAAiB,CAAjB,EAAoB,CAApB,CAAR;AAA+B,YAAG,CAAC,KAAKi7R,gBAAL,CAAsBlrP,GAAtB,CAA0BvkB,CAA1B,CAAJ,EAAiC;AAAO,YAAIgC,CAAC,GAAC,CAAC,CAAP;AAAS,cAAM51B,CAAC,GAACwuB,KAAK,CAAC7H,IAAN,CAAW,KAAKsmF,OAAhB,CAAR;AAAA,cAAiCn3E,CAAC,GAAC,KAAKm3E,OAAL,CAAa90D,GAAb,CAAiB9uB,CAAjB,CAAnC;;AAAuD,YAAG2K,CAAH,EAAK;AAAC,cAAIJ,CAAC,GAAC,CAAC,CAAP;;AAAS,eAAI,MAAMvK,CAAV,IAAe,KAAKu3P,SAAL,EAAf,EAAgC,IAAG5sP,CAAC,CAAC2rP,aAAF,CAAgBt2P,CAAhB,EAAkB,CAACA,CAAC,CAACg2P,WAArB,CAAH,EAAqC;AAACzrP,YAAAA,CAAC,GAAC,CAAC,CAAH;AAAK;AAAM;;AAAAA,UAAAA,CAAC,IAAE,CAACkC,CAAJ,IAAO,KAAKm3E,OAAL,CAAahvF,GAAb,CAAiBoL,CAAjB,GAAoBuM,CAAC,GAAC,CAAC,CAA9B,IAAiC,CAAChC,CAAD,IAAIkC,CAAJ,KAAQ,KAAKm3E,OAAL,CAAa3D,MAAb,CAAoBjgF,CAApB,GAAuBuM,CAAC,GAAC,CAAC,CAAlC,CAAjC;AAAsE,SAAtK,MAA2KE,CAAC,KAAG,KAAKm3E,OAAL,CAAa3D,MAAb,CAAoBjgF,CAApB,GAAuBuM,CAAC,GAAC,CAAC,CAA7B,CAAD;;AAAiCA,QAAAA,CAAC,IAAE,KAAKm5E,IAAL,CAAU,eAAV,EAA0B;AAAC+0L,UAAAA,UAAU,EAAC9jS,CAAZ;AAAc4gS,UAAAA,YAAY,EAAC,CAAC;AAA5B,SAA1B,CAAH;AAA6D;;AAAA2B,MAAAA,iBAAiB,CAACl5Q,CAAD,EAAG;AAAC,cAAM2K,CAAC,GAACqzO,EAAE,CAAC,KAAK08B,yBAAL,EAAD,CAAV;AAAA,cAA6CnwQ,CAAC,GAACyzO,EAAE,CAAC,KAAK95J,aAAL,EAAD,CAAjD;AAAwE,YAAGlkF,CAAH,EAAK,KAAK45Q,kBAAL,GAAwB,IAAI3qQ,GAAJ,EAAxB,EAAgC,KAAK4jP,MAAL,GAAY,IAAI5jP,GAAJ,EAA5C,CAAL,KAA8D,KAAI,MAAK,CAACjP,CAAD,EAAG2K,CAAH,CAAT,IAAiB,KAAKivQ,kBAAtB,EAAyC,SAAOjvQ,CAAP,KAAW,KAAKkoP,MAAL,CAAYj+O,MAAZ,CAAmB5U,CAAnB,GAAsB,KAAK45Q,kBAAL,CAAwBhlQ,MAAxB,CAA+B5U,CAA/B,CAAjC;;AAAoE,aAAKivQ,gBAAL,CAAsBtkQ,CAAtB;;AAAyB,cAAM4B,CAAC,GAAC,EAAR;;AAAW,aAAI,MAAK,CAACvM,CAAD,EAAG2K,CAAH,CAAT,IAAiB,KAAKu5E,aAAL,EAAjB,EAAsC35E,CAAC,CAACukB,GAAF,CAAM9uB,CAAN,KAAUuK,CAAC,CAAC9pC,GAAF,CAAMu/B,CAAN,MAAW2K,CAArB,IAAwB4B,CAAC,CAACtG,IAAF,CAAOjG,CAAP,CAAxB;;AAAkC,aAAI,MAAK,CAACA,CAAD,CAAT,IAAeuK,CAAf,EAAiB,KAAK2oP,YAAL,CAAkBlzP,CAAlB,KAAsBuM,CAAC,CAACtG,IAAF,CAAOjG,CAAP,CAAtB;;AAAgCuM,QAAAA,CAAC,CAAC5/B,MAAF,GAAS,CAAT,IAAY,KAAK+4G,IAAL,CAAU,kBAAV,EAA6B;AAAC+xL,UAAAA,aAAa,EAAClrQ,CAAf;AAAiBgrQ,UAAAA,YAAY,EAAC,CAAC;AAA/B,SAA7B,CAAZ;AAA4E;;AAAA5jB,MAAAA,aAAa,CAAC3zP,CAAD,EAAG2K,CAAH,EAAKJ,CAAC,GAAC,CAAC,CAAR,EAAU;AAAC,cAAMgC,CAAC,GAAChC,CAAC,GAAC,QAAD,GAAU,KAAnB;AAAyB,YAAG,SAAOgC,CAAP,IAAU,YAAU,KAAKqtQ,kBAAL,CAAwBn5S,GAAxB,CAA4Bu/B,CAA5B,CAAvB,EAAsD,OAAM,CAAC,CAAP;AAAS,eAAO,MAAM6hP,YAAN,CAAmB7hP,CAAnB,MAAwB2K,CAAxB,KAA4B,KAAKkoP,MAAL,CAAY/tP,GAAZ,CAAgB9E,CAAhB,EAAkB2K,CAAlB,GAAqB,KAAKivQ,kBAAL,CAAwB90Q,GAAxB,CAA4B9E,CAA5B,EAA8BuM,CAA9B,CAArB,EAAsD,CAAC,CAAnF,CAAP;AAA6F;;AAAAqnP,MAAAA,gBAAgB,CAAC5zP,CAAD,EAAG2K,CAAC,GAAC,CAAC,CAAN,EAAQ;AAAC,cAAMJ,CAAC,GAACI,CAAC,GAAC,QAAD,GAAU,KAAnB;AAAyB,eAAM,CAAC,SAAOJ,CAAP,IAAU,YAAU,KAAKqvQ,kBAAL,CAAwBn5S,GAAxB,CAA4Bu/B,CAA5B,CAArB,MAAuD,KAAK45Q,kBAAL,CAAwB90Q,GAAxB,CAA4B9E,CAA5B,EAA8BuK,CAA9B,GAAiC,CAAC,CAAC,MAAM2oP,YAAN,CAAmBlzP,CAAnB,CAAF,KAA0B,KAAK6yP,MAAL,CAAYj+O,MAAZ,CAAmB5U,CAAnB,GAAsB,CAAC,CAAjD,CAAxF,CAAN;AAAmJ;;AAAAivQ,MAAAA,gBAAgB,CAACjvQ,CAAD,EAAG;AAAC,cAAM2K,CAAC,GAAC,IAAIknE,GAAJ,EAAR;;AAAgB,aAAI,MAAK,CAAClnE,CAAD,EAAGJ,CAAH,CAAT,IAAiB,KAAK25E,aAAL,EAAjB,EAAsClkF,CAAC,CAACv/B,GAAF,CAAMkqC,CAAN,MAAWJ,CAAX,IAAc,KAAKqpP,gBAAL,CAAsBjpP,CAAtB,EAAwB,CAAC,CAAzB,CAAd;;AAA0C,aAAI,MAAK,CAACJ,CAAD,EAAGgC,CAAH,CAAT,IAAiBvM,CAAjB,EAAmB;AAAC,eAAK2zP,aAAL,CAAmBppP,CAAnB,EAAqBgC,CAArB,EAAuB,CAAC,CAAxB,KAA4B5B,CAAC,CAAC/V,GAAF,CAAM2V,CAAN,CAA5B;AAAqC;;AAAA,eAAOI,CAAP;AAAS;;AAAoB,OAAnB0uQ,mBAAmB,GAAE;AAAC,cAAMr5Q,CAAC,GAAC,KAAK+pP,gBAAL,GAAwB5oM,MAAhC;AAAuC,YAAG,KAAK60M,WAAL,IAAkBh2P,CAAC,CAACqW,OAAvB,EAA+B,KAAI,MAAM1L,CAAV,IAAe3K,CAAC,CAACkuP,gBAAF,EAAf,EAAoC,IAAGvjP,CAAC,CAAC1I,UAAF,CAAa22Q,EAAb,CAAH,EAAoB;AAAC,gBAAMruQ,CAAC,GAACI,CAAC,CAACs0G,MAAF,CAAS,EAAT,CAAR;AAAqB,gBAAK,CAAC10G,CAAD,EAAGvK,CAAC,CAAC6hP,YAAF,CAAel3O,CAAf,CAAH,CAAL;AAA2B;AAAC;;AAAA+vQ,MAAAA,yBAAyB,GAAE;AAAC,cAAM16Q,CAAC,GAAC,KAAK+pP,gBAAL,EAAR;AAAA,cAAgCp/O,CAAC,GAAC,KAAKsvQ,MAAL,CAAYt4B,MAA9C;AAAqD,YAAG,gBAAc3hP,CAAC,CAACwD,IAAF,CAAO8+E,QAAxB,EAAiC,OAAO,IAAP;AAAY,YAAI/3E,CAAC,GAAC,IAAN;;AAAW,YAAG,KAAKyrP,WAAR,EAAoB;AAAC,gBAAMzpP,CAAC,GAACvM,CAAC,CAAC0tP,QAAF,GAAW1tP,CAAC,CAAC0tP,QAAb,GAAsB1tP,CAAC,CAAC01P,UAAhC;AAAA,gBAA2C/+Q,CAAC,GAACqpB,CAAC,CAAC0tP,QAAF,GAAW1tP,CAAC,CAAC0tP,QAAb,GAAsB1tP,CAAC,CAACy1P,SAArE;;AAA+E,cAAG,KAAKujB,mBAAL,KAA2BzuQ,CAAC,GAACowQ,EAAE,CAACpuQ,CAAD,EAAG5B,CAAH,CAA/B,GAAsCJ,CAAC,KAAGA,CAAC,GAACowQ,EAAE,CAAChkS,CAAD,EAAGg0B,CAAH,CAAP,CAAvC,EAAqD,CAAC,KAAKquQ,mBAAN,IAA2B,CAACzuQ,CAApF,EAAsF;AAAC,gBAAIvK,CAAC,GAACuM,CAAN;;AAAQ,mBAAKvM,CAAC,IAAE,CAACuK,CAAT,GAAYvK,CAAC,GAACA,CAAC,CAAC43O,eAAJ,EAAoBrtO,CAAC,GAACowQ,EAAE,CAAC36Q,CAAD,EAAG2K,CAAH,CAAxB;AAA8B;;AAAA,cAAG,CAACJ,CAAJ,EAAM;AAAC,gBAAIvK,CAAC,GAACrpB,CAAN;;AAAQ,mBAAKqpB,CAAC,IAAE,CAACuK,CAAT,GAAYvK,CAAC,GAACA,CAAC,CAACynO,WAAJ,EAAgBl9N,CAAC,GAACowQ,EAAE,CAAC36Q,CAAD,EAAG2K,CAAH,CAApB;AAA0B;;AAAAJ,UAAAA,CAAC,KAAGA,CAAC,GAAC,KAAK8uQ,mBAAL,EAAL,CAAD;AAAkC,SAApU,MAAwU;AAAC,gBAAMr5Q,CAAC,GAAC,KAAKw3P,aAAL,EAAR;;AAA6B,eAAI,MAAMjrP,CAAV,IAAevM,CAAf,EAAiB;AAAC,gBAAGuM,CAAC,CAAC/xB,IAAF,CAAOqwG,EAAP,CAAU,SAAV,KAAsBlgF,CAAC,CAAC09E,QAAF,CAAW97E,CAAC,CAAC/xB,IAAb,CAAzB,EAA4C;AAAC+vB,cAAAA,CAAC,GAACowQ,EAAE,CAACpuQ,CAAC,CAAC/xB,IAAH,EAAQmwB,CAAR,CAAJ;AAAe;AAAM;;AAAA,gBAAG,UAAQ4B,CAAC,CAACt1B,IAAb,EAAkB;AAACszB,cAAAA,CAAC,GAACgC,CAAC,CAAC/xB,IAAF,CAAO0pG,aAAP,EAAF;AAAyB;AAAM;AAAC;AAAC;;AAAA,eAAO35E,CAAP;AAAS;;AAAA2vQ,MAAAA,sBAAsB,CAACl6Q,CAAD,EAAG;AAAC,cAAM2K,CAAC,GAAC,KAAKsvQ,MAAL,CAAYt4B,MAAZ,CAAmBi5B,wBAAnB,CAA4C56Q,CAA5C,CAAR;;AAAuD2K,QAAAA,CAAC,IAAE,KAAKwtP,UAAL,CAAgBxtP,CAAhB,CAAH;AAAsB;;AAAv0M;;AAAw0M,aAASgwQ,EAAT,CAAY36Q,CAAZ,EAAc2K,CAAd,EAAgB;AAAC,UAAG,CAAC3K,CAAJ,EAAM,OAAO,IAAP;AAAY,UAAGA,CAAC,YAAY+vQ,EAAb,IAAiB/vQ,CAAC,YAAY6vQ,EAAjC,EAAoC,OAAO7vQ,CAAC,CAACkkF,aAAF,EAAP;AAAyB,UAAG,CAACv5E,CAAC,CAACkwQ,QAAF,CAAW76Q,CAAX,CAAJ,EAAkB,OAAO,IAAP;AAAY,UAAG,CAAC2K,CAAC,CAAC09E,QAAF,CAAWroF,CAAX,CAAJ,EAAkB,OAAM,EAAN;AAAS,YAAMuK,CAAC,GAAC,EAAR;;AAAW,WAAI,MAAK,CAACgC,CAAD,EAAG51B,CAAH,CAAT,IAAiBqpB,CAAC,CAACkkF,aAAF,EAAjB,EAAmCv5E,CAAC,CAACmwQ,cAAF,CAAiB,OAAjB,EAAyBvuQ,CAAzB,KAA6B,CAAC,CAAD,KAAK5B,CAAC,CAACowQ,sBAAF,CAAyBxuQ,CAAzB,EAA4ByuQ,cAA9D,IAA8EzwQ,CAAC,CAACtE,IAAF,CAAO,CAACsG,CAAD,EAAG51B,CAAH,CAAP,CAA9E;;AAA4F,aAAO4zB,CAAP;AAAS;;AAAA,UAAMp9B,EAAN,CAAQ;AAAC1N,MAAAA,WAAW,CAACugC,CAAD,EAAG;AAAC,aAAKi7Q,YAAL,GAAkBj7Q,CAAlB;AAAoB;;AAAApL,MAAAA,GAAG,CAACoL,CAAD,EAAG;AAAC,aAAI,MAAM2K,CAAV,IAAe,KAAKswQ,YAApB,EAAiCj7Q,CAAC,CAAC2K,CAAD,CAAD;;AAAK,eAAO,IAAP;AAAY;;AAA7F;;AAA8F,UAAMuwQ,EAAN,SAAiB/tS,EAAjB,CAAmB;AAACguS,MAAAA,gBAAgB,CAACn7Q,CAAD,EAAG;AAAC,eAAO,KAAKpL,GAAL,CAAS,UAASoL,CAAT,EAAW;AAAC,gBAAM2K,CAAC,GAACngC,EAAE,CAACw1B,CAAC,CAACzjB,KAAH,CAAV;AAAA,gBAAoBguB,CAAC,GAAC6wQ,EAAE,CAACp7Q,CAAC,CAAC81K,IAAH,EAAQ,WAAR,CAAxB;AAA6CnrK,UAAAA,CAAC,CAACs5E,UAAF,CAAat3G,MAAb,KAAsBg+B,CAAC,CAACrjC,QAAF,GAAW,CAAC,CAAlC;AAAqC,iBAAOilC,CAAC,IAAE;AAACA,YAAAA,CAAC,CAAC9qB,EAAF,CAAM,UAASkpB,CAAC,CAACn6B,IAAK,EAAtB,EAAwB,UAASwvB,CAAT,EAAW2K,CAAC,GAAC0wQ,EAAb,EAAgB;AAAC,qBAAM,CAAC9wQ,CAAD,EAAGgC,CAAH,EAAK51B,CAAL,KAAS;AAAC,oBAAG,CAACg0B,CAAC,CAAC4B,CAAC,CAAC/xB,IAAH,EAAQ7D,CAAC,CAACy/R,UAAV,EAAqB;AAACkF,kBAAAA,SAAS,EAAC,CAAC;AAAZ,iBAArB,CAAL,EAA0C;AAAO,sBAAM7uQ,CAAC,GAACzM,CAAC,CAACuM,CAAC,CAAC/xB,IAAH,EAAQ7D,CAAR,EAAU41B,CAAV,CAAT;AAAsB,oBAAG,CAACE,CAAJ,EAAM;AAAO9B,gBAAAA,CAAC,CAAC4B,CAAC,CAAC/xB,IAAH,EAAQ7D,CAAC,CAACy/R,UAAV,CAAD;AAAuB,sBAAM9rQ,CAAC,GAAC3zB,CAAC,CAACu9R,MAAF,CAASD,cAAT,CAAwB1nQ,CAAC,CAACw6E,KAAF,CAAQN,KAAhC,CAAR;AAA+C9vG,gBAAAA,CAAC,CAACu9R,MAAF,CAAS/S,YAAT,CAAsB50P,CAAC,CAAC/xB,IAAxB,EAA6BiyB,CAA7B,GAAgC91B,CAAC,CAAC4uG,MAAF,CAASe,MAAT,CAAgBh8E,CAAhB,EAAkBmC,CAAlB,CAAhC,EAAqD91B,CAAC,CAACwgS,iBAAF,CAAoB5qQ,CAAC,CAAC/xB,IAAtB,CAArD,EAAiF+gS,EAAE,CAAC9uQ,CAAD,EAAGF,CAAC,CAAC/xB,IAAF,CAAOwpG,WAAP,EAAH,EAAwBrtG,CAAxB,EAA0B;AAACogS,kBAAAA,YAAY,EAACxqQ,CAAC,CAACwqQ;AAAhB,iBAA1B,CAAnF;AAA4I,eAAtT;AAAuT,aAAxU,CAAyUxsQ,CAAzU,EAA2U6kL,EAAE,CAACzkL,CAAD,CAA7U,CAAxB,EAA0W;AAACg7E,cAAAA,QAAQ,EAAC3lF,CAAC,CAACw7Q,iBAAF,IAAqB;AAA/B,aAA1W,GAAoZ,CAAC7wQ,CAAC,CAACrjC,QAAF,IAAYqjC,CAAC,CAACs5E,UAAF,CAAat3G,MAA1B,KAAmC4/B,CAAC,CAAC9qB,EAAF,CAAK,eAAL,EAAqBg6R,EAAE,CAAC9wQ,CAAD,CAAvB,EAA2B;AAACg7E,cAAAA,QAAQ,EAAC;AAAV,aAA3B,CAAvb;AAAoe,WAA/e;AAAgf,SAA9kB,CAA+kB3lF,CAA/kB,CAAT,CAAP;AAAmmB;;AAAA07Q,MAAAA,kBAAkB,CAAC17Q,CAAD,EAAG;AAAC,eAAO,KAAKpL,GAAL,CAAS,UAASoL,CAAT,EAAW;AAAC,gBAAM2K,CAAC,GAACngC,EAAE,CAACw1B,CAAC,CAACzjB,KAAH,CAAV;AAAA,gBAAoBguB,CAAC,GAAC6wQ,EAAE,CAACp7Q,CAAC,CAAC81K,IAAH,EAAQ,WAAR,CAAxB;AAA6C,iBAAOnrK,CAAC,CAACrjC,QAAF,GAAW,CAAC,CAAZ,EAAcilC,CAAC,IAAE;AAAC,gBAAGA,CAAC,CAAC0oQ,cAAF,CAAiBtzB,MAAjB,CAAwBg6B,UAAxB,CAAmChxQ,CAAC,CAACn6B,IAArC,EAA0C,OAA1C,CAAH,EAAsD,MAAM,IAAI2xE,CAAJ,CAAM,iDAAN,EAAwD51C,CAAxD,EAA0D;AAACqvQ,cAAAA,WAAW,EAACjxQ,CAAC,CAACn6B;AAAf,aAA1D,CAAN;AAAsF,gBAAImG,CAAJ,EAAM81B,CAAN;AAAQF,YAAAA,CAAC,CAAC9qB,EAAF,CAAM,UAASkpB,CAAC,CAACn6B,IAAK,EAAtB,GAAyBmG,CAAC,GAAC4zB,CAAF,EAAIkC,CAAC,GAAC2iL,EAAE,CAACzkL,CAAD,CAAR,EAAY,CAAC3K,CAAD,EAAG2K,CAAH,EAAKJ,CAAL,KAAS;AAAC,kBAAG,CAACkC,CAAC,CAAC9B,CAAC,CAACnwB,IAAH,EAAQ+vB,CAAC,CAAC6rQ,UAAV,EAAqB;AAACkF,gBAAAA,SAAS,EAAC,CAAC;AAAZ,eAArB,CAAL,EAA0C;AAAO,oBAAM/uQ,CAAC,GAAC,IAAI0C,GAAJ,EAAR;;AAAgB1E,cAAAA,CAAC,CAACg7E,MAAF,CAASm4K,oBAAT,CAA8B,UAAS19P,CAAT,EAAW2K,CAAX,EAAaJ,CAAb,EAAe;AAAC,uBAAM,CAACgC,CAAD,EAAG51B,CAAH,KAAO;AAAC,wBAAM81B,CAAC,GAACF,CAAC,CAACgvP,sBAAF,CAAyB,OAAzB,CAAR;AAA0C,sBAAIjxP,CAAC,GAAC,IAAN;AAAW,sBAAG,eAAa3zB,CAAhB,EAAkB2zB,CAAC,GAACnF,KAAK,CAAC7H,IAAN,CAAW0C,CAAC,CAACgkF,WAAF,EAAX,CAAF,CAAlB,KAAoD;AAAC,wBAAG,cAAY,OAAOrtG,CAAtB,EAAwB,MAAM,IAAIwrE,CAAJ,CAAM,8BAAN,EAAqC53C,CAAC,CAAC2qQ,UAAvC,EAAkD;AAAC2G,sBAAAA,YAAY,EAACllS;AAAd,qBAAlD,CAAN;AAA0E2zB,oBAAAA,CAAC,GAACnF,KAAK,CAAC7H,IAAN,CAAW0C,CAAC,CAACgkF,WAAF,EAAX,EAA4Br6G,MAA5B,CAAoCq2B,CAAC,IAAErpB,CAAC,CAACqpB,CAAD,CAAxC,CAAF;AAAgD;AAAA,yBAAO2K,CAAC,CAAC7F,GAAF,CAAM2H,CAAN,EAAQnC,CAAR,GAAWmC,CAAlB;AAAoB,iBAA9R;AAA+R,eAA/S,CAAgT9B,CAAC,CAACnwB,IAAlT,EAAuT+xB,CAAvT,EAAyThC,CAAzT,CAA9B;;AAA2V,oBAAMD,CAAC,GAAC3zB,CAAC,CAACg0B,CAAC,CAACnwB,IAAH,EAAQ+vB,CAAR,EAAUI,CAAV,CAAT;AAAsB,kBAAGJ,CAAC,CAACg7E,MAAF,CAASo4K,iBAAT,IAA6B,CAACrzP,CAAjC,EAAmC;AAAO,eAAC,UAAStK,CAAT,EAAW2K,CAAX,EAAaJ,CAAb,EAAe;AAAC,sBAAMgC,CAAC,GAACpH,KAAK,CAAC7H,IAAN,CAAWqN,CAAC,CAAC0W,MAAF,EAAX,EAAuBy6P,IAAvB,EAAR;AAAA,sBAAsCnlS,CAAC,GAAC,IAAIk7F,GAAJ,CAAQtlE,CAAR,CAAxC;AAAmD,oBAAG51B,CAAC,CAACw7F,IAAF,IAAQ5lE,CAAC,CAAC5/B,MAAb,EAAoB,MAAM,IAAIw1E,CAAJ,CAAM,gCAAN,EAAuC53C,CAAC,CAAC2qQ,UAAzC,EAAoD;AAAClsR,kBAAAA,OAAO,EAACgX;AAAT,iBAApD,CAAN;AAAuE,oBAAGrpB,CAAC,CAACw7F,IAAF,IAAQnyE,CAAC,CAAC0sP,UAAb,EAAwB,MAAM,IAAIvqM,CAAJ,CAAM,mCAAN,EAA0C53C,CAAC,CAAC2qQ,UAA5C,EAAuD;AAAClsR,kBAAAA,OAAO,EAACgX;AAAT,iBAAvD,CAAN;AAA0E,eAAhQ,CAAiQ2K,CAAC,CAACnwB,IAAnQ,EAAwQ+xB,CAAxQ,EAA0QhC,CAA1Q,CAAD,EAA8QkC,CAAC,CAAC9B,CAAC,CAACnwB,IAAH,EAAQ+vB,CAAC,CAAC6rQ,UAAV,CAA/Q;AAAqS,oBAAMh0N,CAAC,GAAC73C,CAAC,CAAC2pQ,MAAF,CAASD,cAAT,CAAwBtpQ,CAAC,CAACo8E,KAAF,CAAQN,KAAhC,CAAR;AAA+Cl8E,cAAAA,CAAC,CAAC2pQ,MAAF,CAAS/S,YAAT,CAAsBx2P,CAAC,CAACnwB,IAAxB,EAA6B8vB,CAA7B,GAAgCC,CAAC,CAACg7E,MAAF,CAASe,MAAT,CAAgBlkC,CAAhB,EAAkB93C,CAAlB,CAAhC,EAAqDC,CAAC,CAAC4sQ,iBAAF,CAAoBxsQ,CAAC,CAACnwB,IAAtB,CAArD,EAAiF,UAASwlB,CAAT,EAAW2K,CAAX,EAAaJ,CAAb,EAAegC,CAAf,EAAiB;AAAChC,gBAAAA,CAAC,CAAC2pQ,MAAF,CAASzyR,EAAT,CAAY,qBAAZ,EAAkC6oB,CAAlC,EAAoC;AAACq7E,kBAAAA,QAAQ,EAAC;AAAV,iBAApC;AAA0D,oBAAIhvG,CAAC,GAAC,IAAN;AAAA,oBAAW81B,CAAC,GAAC,IAAb;;AAAkB,qBAAI,CAAC91B,CAAD,EAAG81B,CAAH,CAAJ,IAAY9B,CAAZ,EAAc4wQ,EAAE,CAACv7Q,CAAD,EAAGyM,CAAH,EAAKlC,CAAL,EAAOgC,CAAP,CAAF,EAAYhC,CAAC,CAACg7E,MAAF,CAAS62K,IAAT,CAAc7xP,CAAC,CAACg7E,MAAF,CAASg4K,aAAT,CAAuB5mR,CAAvB,CAAd,EAAwC4zB,CAAC,CAACg7E,MAAF,CAAS83K,oBAAT,CAA8B1mR,CAA9B,CAAxC,CAAZ,EAAsF4zB,CAAC,CAACg7E,MAAF,CAAStF,MAAT,CAAgBtpG,CAAhB,CAAtF;;AAAyG,yBAAS2zB,CAAT,CAAWtK,CAAX,EAAa2K,CAAb,EAAe;AAAC,wBAAMJ,CAAC,GAACI,CAAC,CAACqoQ,aAAF,CAAgBvd,SAAxB;AAAA,wBAAkClpP,CAAC,GAACE,CAAC,CAACr0B,OAAF,CAAUmyB,CAAV,CAApC;AAAiDgC,kBAAAA,CAAC,GAAC,CAAF,KAAM5B,CAAC,CAACooQ,YAAF,GAAepoQ,CAAC,CAACupQ,MAAF,CAASjB,cAAT,CAAwBt8R,CAAxB,EAA0B41B,CAA1B,CAArB;AAAmD;;AAAAhC,gBAAAA,CAAC,CAAC2pQ,MAAF,CAAStuR,GAAT,CAAa,qBAAb,EAAmC0kB,CAAnC;AAAsC,eAA/W,CAAgXA,CAAhX,EAAkXiC,CAAlX,EAAoXhC,CAApX,EAAsX;AAACwsQ,gBAAAA,YAAY,EAACpsQ,CAAC,CAACosQ;AAAhB,eAAtX,CAAjF;AAAse,aAAr0C,GAAu0C;AAACpxL,cAAAA,QAAQ,EAAC3lF,CAAC,CAACw7Q,iBAAF,IAAqB;AAA/B,aAAv0C,GAAi3CjvQ,CAAC,CAAC9qB,EAAF,CAAK,eAAL,EAAqBg6R,EAAE,CAAC9wQ,CAAD,CAAvB,EAA2B;AAACg7E,cAAAA,QAAQ,EAAC;AAAV,aAA3B,CAAj3C;AAA85C,WAA3kD;AAA4kD,SAAroD,CAAsoD3lF,CAAtoD,CAAT,CAAP;AAA0pD;;AAAA+7Q,MAAAA,kBAAkB,CAAC/7Q,CAAD,EAAG;AAAC,eAAO,KAAKpL,GAAL,CAAS,UAASoL,CAAT,EAAW;AAACA,UAAAA,CAAC,GAAC0tQ,EAAE,CAAC1tQ,CAAD,CAAJ;AAAQ,cAAI2K,CAAC,GAAC3K,CAAC,CAACzjB,KAAR;AAAc,sBAAU,OAAOouB,CAAjB,KAAqBA,CAAC,GAAC;AAAC7E,YAAAA,GAAG,EAAC6E;AAAL,WAAvB;AAAgC,cAAIJ,CAAC,GAAE,aAAYI,CAAC,CAAC7E,GAAI,EAAzB;AAA2B6E,UAAAA,CAAC,CAACn6B,IAAF,KAAS+5B,CAAC,IAAE,MAAII,CAAC,CAACn6B,IAAlB;AAAwB,cAAGm6B,CAAC,CAAC0W,MAAL,EAAY,KAAI,MAAM9W,CAAV,IAAeI,CAAC,CAAC0W,MAAjB,EAAwBrhB,CAAC,CAAC81K,IAAF,CAAOvrK,CAAP,IAAU6wQ,EAAE,CAACp7Q,CAAC,CAAC81K,IAAF,CAAOvrK,CAAP,CAAD,EAAW,WAAX,CAAZ,CAApC,KAA6EvK,CAAC,CAAC81K,IAAF,GAAOslG,EAAE,CAACp7Q,CAAC,CAAC81K,IAAH,EAAQ,WAAR,CAAT;AAA8B,gBAAMvpK,CAAC,GAACq7K,EAAE,CAAC5nL,CAAD,CAAV;AAAc,iBAAO2K,CAAC,IAAE;AAACA,YAAAA,CAAC,CAAClpB,EAAF,CAAK8oB,CAAL,EAAO,UAASvK,CAAT,EAAW;AAAC,qBAAM,CAAC2K,CAAD,EAAGJ,CAAH,EAAKgC,CAAL,KAAS;AAAC,oBAAG,CAACA,CAAC,CAAC6pQ,UAAF,CAAa/gR,IAAb,CAAkBkV,CAAC,CAAC/vB,IAApB,EAAyBmwB,CAAC,CAACn6B,IAA3B,CAAJ,EAAqC;AAAO,sBAAMmG,CAAC,GAACqpB,CAAC,CAACuK,CAAC,CAACyrQ,iBAAH,EAAqBzpQ,CAArB,EAAuBhC,CAAvB,CAAT;AAAA,sBAAmCkC,CAAC,GAACzM,CAAC,CAACuK,CAAC,CAAC0rQ,iBAAH,EAAqB1pQ,CAArB,EAAuBhC,CAAvB,CAAtC;AAAgE,oBAAG,CAAC5zB,CAAD,IAAI,CAAC81B,CAAR,EAAU;AAAOF,gBAAAA,CAAC,CAAC6pQ,UAAF,CAAavB,OAAb,CAAqBtqQ,CAAC,CAAC/vB,IAAvB,EAA4BmwB,CAAC,CAACn6B,IAA9B;AAAoC,sBAAM85B,CAAC,GAACiC,CAAC,CAACg5E,MAAV;AAAA,sBAAiBnjC,CAAC,GAAC93C,CAAC,CAAC5I,QAAF,CAAWooP,SAA9B;AAAwC,oBAAGv/O,CAAC,CAAC/vB,IAAF,YAAkB68R,EAAlB,IAAsB9sQ,CAAC,CAAC/vB,IAAF,YAAkBq+R,EAA3C,EAA8CvuQ,CAAC,CAACsyP,IAAF,CAAOx6M,CAAC,CAACo1M,aAAF,EAAP,EAAyB/qP,CAAzB,EAA9C,KAA8E;AAAC,sBAAIzM,CAAC,GAACuM,CAAC,CAAC2nQ,MAAF,CAASF,WAAT,CAAqBzpQ,CAAC,CAACw8E,KAAvB,CAAN;AAAoC,2BAAOx8E,CAAC,CAACyrQ,iBAAT,IAA4Br/R,CAA5B,KAAgCqpB,CAAC,GAACsK,CAAC,CAACyyP,MAAF,CAAS/8P,CAAT,EAAWrpB,CAAX,CAAlC,GAAiD,SAAO4zB,CAAC,CAAC0rQ,iBAAT,IAA4BxpQ,CAA5B,IAA+BnC,CAAC,CAACsyP,IAAF,CAAO58P,CAAP,EAASyM,CAAT,CAAhF;AAA4F;AAAC,eAAza;AAA0a,aAAtb,CAAubF,CAAvb,CAAP,EAAic;AAACo5E,cAAAA,QAAQ,EAAC3lF,CAAC,CAACw7Q,iBAAF,IAAqB;AAA/B,aAAjc;AAA2e,WAAtf;AAAuf,SAAruB,CAAsuBx7Q,CAAtuB,CAAT,CAAP;AAA0vB;;AAAAg8Q,MAAAA,oBAAoB,CAACh8Q,CAAD,EAAG;AAAC,eAAO,KAAKpL,GAAL,CAAS,UAASoL,CAAT,EAAW;AAACA,UAAAA,CAAC,GAAC0tQ,EAAE,CAAC1tQ,CAAD,CAAJ;AAAQ,cAAI2K,CAAC,GAAC3K,CAAC,CAACzjB,KAAR;AAAc,sBAAU,OAAOouB,CAAjB,KAAqBA,CAAC,GAAC;AAAC7E,YAAAA,GAAG,EAAC6E;AAAL,WAAvB;AAAgC,cAAIJ,CAAC,GAAE,aAAYI,CAAC,CAAC7E,GAAI,EAAzB;AAA2B6E,UAAAA,CAAC,CAACn6B,IAAF,KAAS+5B,CAAC,IAAE,MAAII,CAAC,CAACn6B,IAAlB;AAAwB,cAAGm6B,CAAC,CAAC0W,MAAL,EAAY,KAAI,MAAM9W,CAAV,IAAeI,CAAC,CAAC0W,MAAjB,EAAwBrhB,CAAC,CAAC81K,IAAF,CAAOvrK,CAAP,IAAU0xQ,EAAE,CAACj8Q,CAAC,CAAC81K,IAAF,CAAOvrK,CAAP,CAAD,CAAZ,CAApC,KAAiEvK,CAAC,CAAC81K,IAAF,GAAOmmG,EAAE,CAACj8Q,CAAC,CAAC81K,IAAH,CAAT;AAAkB,gBAAMvpK,CAAC,GAACq7K,EAAE,CAAC5nL,CAAD,CAAV;AAAc,iBAAO2K,CAAC,IAAE;AAAC,gBAAIh0B,CAAJ;AAAMg0B,YAAAA,CAAC,CAAClpB,EAAF,CAAK8oB,CAAL,GAAQ5zB,CAAC,GAAC41B,CAAF,EAAI,CAACvM,CAAD,EAAG2K,CAAH,EAAKJ,CAAL,KAAS;AAAC,kBAAG,CAACA,CAAC,CAAC6rQ,UAAF,CAAa/gR,IAAb,CAAkBsV,CAAC,CAACnwB,IAApB,EAAyBwlB,CAAC,CAACxvB,IAA3B,CAAJ,EAAqC;AAAO,oBAAM+7B,CAAC,GAAC51B,CAAC,CAACg0B,CAAC,CAACqrQ,iBAAH,EAAqBzrQ,CAArB,EAAuBI,CAAvB,CAAT;AAAA,oBAAmC8B,CAAC,GAAC91B,CAAC,CAACg0B,CAAC,CAACsrQ,iBAAH,EAAqB1rQ,CAArB,EAAuBI,CAAvB,CAAtC;AAAgE,kBAAG,CAAC4B,CAAD,IAAI,CAACE,CAAR,EAAU;AAAOlC,cAAAA,CAAC,CAAC6rQ,UAAF,CAAavB,OAAb,CAAqBlqQ,CAAC,CAACnwB,IAAvB,EAA4BwlB,CAAC,CAACxvB,IAA9B;AAAoC,oBAAM85B,CAAC,GAACC,CAAC,CAAC2pQ,MAAF,CAASV,aAAT,CAAuB7oQ,CAAC,CAACnwB,IAAzB,CAAR;AAAA,oBAAuC4nE,CAAC,GAAC73C,CAAC,CAACg7E,MAA3C;AAAkD,kBAAG,CAACj7E,CAAJ,EAAM,MAAM,IAAI63C,CAAJ,CAAM,2CAAN,EAAkD53C,CAAC,CAAC2qQ,UAApD,EAA+DvqQ,CAA/D,CAAN;AAAwE,kBAAG,SAAOA,CAAC,CAACqrQ,iBAAT,IAA4BzpQ,CAA/B,EAAiC,IAAG,WAASA,CAAC,CAACzG,GAAd,EAAkB;AAAC,sBAAM9F,CAAC,GAAC2uL,EAAE,CAACpiL,CAAC,CAACr7B,KAAH,CAAV;;AAAoB,qBAAI,MAAMy5B,CAAV,IAAe3K,CAAf,EAAiBoiD,CAAC,CAACqqM,WAAF,CAAc9hP,CAAd,EAAgBL,CAAhB;AAAmB,eAA3E,MAAgF,IAAG,WAASiC,CAAC,CAACzG,GAAd,EAAkB;AAAC,sBAAM9F,CAAC,GAACmC,MAAM,CAACkD,IAAP,CAAYkH,CAAC,CAACr7B,KAAd,CAAR;;AAA6B,qBAAI,MAAMy5B,CAAV,IAAe3K,CAAf,EAAiBoiD,CAAC,CAACy5M,WAAF,CAAclxP,CAAd,EAAgBL,CAAhB;AAAmB,eAApF,MAAyF83C,CAAC,CAACyhL,eAAF,CAAkBt3N,CAAC,CAACzG,GAApB,EAAwBwE,CAAxB;AAA2B,kBAAG,SAAOK,CAAC,CAACsrQ,iBAAT,IAA4BxpQ,CAA/B,EAAiC,IAAG,WAASA,CAAC,CAAC3G,GAAd,EAAkB;AAAC,sBAAM9F,CAAC,GAAC2uL,EAAE,CAACliL,CAAC,CAACv7B,KAAH,CAAV;;AAAoB,qBAAI,MAAMy5B,CAAV,IAAe3K,CAAf,EAAiBoiD,CAAC,CAACwqM,QAAF,CAAWjiP,CAAX,EAAaL,CAAb;AAAgB,eAAxE,MAA6E,IAAG,WAASmC,CAAC,CAAC3G,GAAd,EAAkB;AAAC,sBAAM9F,CAAC,GAACmC,MAAM,CAACkD,IAAP,CAAYoH,CAAC,CAACv7B,KAAd,CAAR;;AAA6B,qBAAI,MAAMy5B,CAAV,IAAe3K,CAAf,EAAiBoiD,CAAC,CAACw5M,QAAF,CAAWjxP,CAAX,EAAa8B,CAAC,CAACv7B,KAAF,CAAQy5B,CAAR,CAAb,EAAwBL,CAAxB;AAA2B,eAA5F,MAAiG83C,CAAC,CAAC1G,YAAF,CAAejvC,CAAC,CAAC3G,GAAjB,EAAqB2G,CAAC,CAACv7B,KAAvB,EAA6Bo5B,CAA7B;AAAgC,aAA3wB,GAA6wB;AAACq7E,cAAAA,QAAQ,EAAC3lF,CAAC,CAACw7Q,iBAAF,IAAqB;AAA/B,aAA7wB;AAAuzB,WAAx0B;AAAy0B,SAA/hC,CAAgiCx7Q,CAAhiC,CAAT,CAAP;AAAojC;;AAAAk8Q,MAAAA,eAAe,CAACl8Q,CAAD,EAAG;AAAC,eAAO,KAAKpL,GAAL,CAAS,UAASoL,CAAT,EAAW;AAAC,gBAAM2K,CAAC,GAACywQ,EAAE,CAACp7Q,CAAC,CAAC81K,IAAH,EAAQ,IAAR,CAAV;AAAwB,iBAAOvrK,CAAC,IAAE;AAAC,gBAAIgC,CAAJ;AAAMhC,YAAAA,CAAC,CAAC9oB,EAAF,CAAM,aAAYue,CAAC,CAACzjB,KAAM,EAA1B,GAA6BgwB,CAAC,GAAC5B,CAAF,EAAI,CAAC3K,CAAD,EAAG2K,CAAH,EAAKJ,CAAL,KAAS;AAACI,cAAAA,CAAC,CAACwxQ,SAAF,GAAY,CAAC,CAAb;AAAe,oBAAMxlS,CAAC,GAAC41B,CAAC,CAAC5B,CAAD,EAAGJ,CAAH,CAAT;AAAeI,cAAAA,CAAC,CAACwxQ,SAAF,GAAY,CAAC,CAAb;AAAe,oBAAM1vQ,CAAC,GAACF,CAAC,CAAC5B,CAAD,EAAGJ,CAAH,CAAT;AAAe,kBAAG,CAAC5zB,CAAD,IAAI,CAAC81B,CAAR,EAAU;AAAO,oBAAMnC,CAAC,GAACK,CAAC,CAAC8rQ,WAAV;AAAsB,kBAAGnsQ,CAAC,CAAC0rP,WAAF,IAAe,CAACzrP,CAAC,CAAC6rQ,UAAF,CAAavB,OAAb,CAAqBvqQ,CAArB,EAAuBtK,CAAC,CAACxvB,IAAzB,CAAnB,EAAkD;;AAAO,mBAAI,MAAMm6B,CAAV,IAAeL,CAAf,EAAiB,IAAG,CAACC,CAAC,CAAC6rQ,UAAF,CAAavB,OAAb,CAAqBlqQ,CAAC,CAACnwB,IAAvB,EAA4BwlB,CAAC,CAACxvB,IAA9B,CAAJ,EAAwC;;AAAO,oBAAM4xE,CAAC,GAAC73C,CAAC,CAAC2pQ,MAAV;AAAA,oBAAiBv2H,CAAC,GAACpzI,CAAC,CAACg7E,MAArB;AAA4Bo4D,cAAAA,CAAC,CAACr3D,MAAF,CAASlkC,CAAC,CAAC6xN,cAAF,CAAiB3pQ,CAAC,CAACm8E,KAAnB,CAAT,EAAmC9vG,CAAnC,GAAsC4zB,CAAC,CAAC2pQ,MAAF,CAAST,mBAAT,CAA6B98R,CAA7B,EAA+Bg0B,CAAC,CAAC47E,UAAjC,CAAtC,EAAmFj8E,CAAC,CAAC0rP,WAAF,KAAgBr4G,CAAC,CAACr3D,MAAF,CAASlkC,CAAC,CAAC6xN,cAAF,CAAiB3pQ,CAAC,CAACo8E,GAAnB,CAAT,EAAiCj6E,CAAjC,GAAoClC,CAAC,CAAC2pQ,MAAF,CAAST,mBAAT,CAA6BhnQ,CAA7B,EAA+B9B,CAAC,CAAC47E,UAAjC,CAApD,CAAnF,EAAqLvmF,CAAC,CAAColF,IAAF,EAArL;AAA8L,aAAje,GAAme;AAACO,cAAAA,QAAQ,EAAC3lF,CAAC,CAACw7Q,iBAAF,IAAqB;AAA/B,aAAne,GAA6gBjxQ,CAAC,CAAC9oB,EAAF,CAAM,gBAAeue,CAAC,CAACzjB,KAAM,EAA7B,EAAgC,CAACyjB,CAAD,EAAG2K,CAAH,EAAKJ,CAAL,KAAS;AAAC,oBAAMgC,CAAC,GAAChC,CAAC,CAAC2pQ,MAAF,CAASE,oBAAT,CAA8BzpQ,CAAC,CAAC47E,UAAhC,CAAR;;AAAoD,kBAAGh6E,CAAH,EAAK;AAAC,qBAAI,MAAMvM,CAAV,IAAeuM,CAAf,EAAiBhC,CAAC,CAAC2pQ,MAAF,CAASR,2BAAT,CAAqC1zQ,CAArC,EAAuC2K,CAAC,CAAC47E,UAAzC,GAAqDh8E,CAAC,CAACg7E,MAAF,CAAS7mE,KAAT,CAAenU,CAAC,CAACg7E,MAAF,CAAS+3K,aAAT,CAAuBt9P,CAAvB,CAAf,EAAyCA,CAAzC,CAArD;;AAAiGuK,gBAAAA,CAAC,CAACg7E,MAAF,CAAS23K,wBAAT,CAAkCvyP,CAAC,CAAC47E,UAApC,GAAgDvmF,CAAC,CAAColF,IAAF,EAAhD;AAAyD;AAAC,aAAhR,EAAkR;AAACO,cAAAA,QAAQ,EAAC3lF,CAAC,CAACw7Q,iBAAF,IAAqB;AAA/B,aAAlR,CAA7gB;AAAy0B,WAA11B;AAA21B,SAA/3B,CAAg4Bx7Q,CAAh4B,CAAT,CAAP;AAAo5B;;AAAAo8Q,MAAAA,iBAAiB,CAACp8Q,CAAD,EAAG;AAAC,eAAO,KAAKpL,GAAL,CAAS,UAASoL,CAAT,EAAW;AAAC,iBAAO2K,CAAC,IAAE;AAAC,gBAAIJ,CAAJ;AAAMI,YAAAA,CAAC,CAAClpB,EAAF,CAAM,aAAYue,CAAC,CAACzjB,KAAM,EAA1B,GAA6BguB,CAAC,GAACvK,CAAC,CAAC81K,IAAJ,EAAS,CAAC91K,CAAD,EAAG2K,CAAH,EAAK4B,CAAL,KAAS;AAAC,kBAAG,CAAC5B,CAAC,CAACnwB,IAAN,EAAW;AAAO,kBAAG,EAAEmwB,CAAC,CAACnwB,IAAF,YAAkB68R,EAAlB,IAAsB1sQ,CAAC,CAACnwB,IAAF,YAAkBq+R,EAAxC,IAA4CluQ,CAAC,CAACnwB,IAAF,CAAOqwG,EAAP,CAAU,YAAV,CAA9C,CAAH,EAA0E;AAAO,oBAAMl0G,CAAC,GAAC0lS,EAAE,CAAC9xQ,CAAD,EAAGI,CAAH,EAAK4B,CAAL,CAAV;AAAkB,kBAAG,CAAC51B,CAAJ,EAAM;AAAO,kBAAG,CAAC41B,CAAC,CAAC6pQ,UAAF,CAAavB,OAAb,CAAqBlqQ,CAAC,CAACnwB,IAAvB,EAA4BwlB,CAAC,CAACxvB,IAA9B,CAAJ,EAAwC;AAAO,oBAAMi8B,CAAC,GAACF,CAAC,CAACg5E,MAAV;AAAA,oBAAiBj7E,CAAC,GAACspL,EAAE,CAACnnL,CAAD,EAAG91B,CAAH,CAArB;AAAA,oBAA2ByrE,CAAC,GAAC31C,CAAC,CAAC/K,QAAF,CAAWooP,SAAxC;AAAkD,kBAAGn/O,CAAC,CAACnwB,IAAF,YAAkB68R,EAAlB,IAAsB1sQ,CAAC,CAACnwB,IAAF,YAAkBq+R,EAA3C,EAA8CpsQ,CAAC,CAACmwP,IAAF,CAAOx6M,CAAC,CAACo1M,aAAF,EAAP,EAAyBltP,CAAzB,EAA9C,KAA8E;AAAC,sBAAMtK,CAAC,GAACuM,CAAC,CAAC2nQ,MAAF,CAASF,WAAT,CAAqBrpQ,CAAC,CAACo8E,KAAvB,CAAR;AAAA,sBAAsCx8E,CAAC,GAACkC,CAAC,CAACmwP,IAAF,CAAO58P,CAAP,EAASsK,CAAT,CAAxC;;AAAoD,qBAAI,MAAMtK,CAAV,IAAeuK,CAAC,CAACg9F,QAAF,EAAf,EAA4B,IAAGvnG,CAAC,CAAC6qF,EAAF,CAAK,kBAAL,KAA0B7qF,CAAC,CAACwtP,SAAF,CAAYljP,CAAZ,CAA7B,EAA4C;AAACiC,kBAAAA,CAAC,CAAC2nQ,MAAF,CAAST,mBAAT,CAA6BzzQ,CAA7B,EAA+B2K,CAAC,CAAC47E,UAAjC;AAA6C;AAAM;AAAC;AAAC,aAAphB,GAAshB;AAACZ,cAAAA,QAAQ,EAAC3lF,CAAC,CAACw7Q,iBAAF,IAAqB;AAA/B,aAAthB,GAAgkB7wQ,CAAC,CAAClpB,EAAF,CAAM,aAAYue,CAAC,CAACzjB,KAAM,EAA1B,EAA4B,UAASyjB,CAAT,EAAW;AAAC,qBAAM,CAAC2K,CAAD,EAAGJ,CAAH,EAAKgC,CAAL,KAAS;AAAC,oBAAG,CAAChC,CAAC,CAAC/vB,IAAN,EAAW;AAAO,oBAAG,EAAE+vB,CAAC,CAAC/vB,IAAF,YAAkBw1R,EAApB,CAAH,EAA2B;AAAO,sBAAMr5R,CAAC,GAAC0lS,EAAE,CAACr8Q,CAAD,EAAGuK,CAAH,EAAKgC,CAAL,CAAV;AAAkB,oBAAG,CAAC51B,CAAJ,EAAM;AAAO,oBAAG,CAAC41B,CAAC,CAAC6pQ,UAAF,CAAa/gR,IAAb,CAAkBkV,CAAC,CAAC/vB,IAApB,EAAyBmwB,CAAC,CAACn6B,IAA3B,CAAJ,EAAqC;AAAO,sBAAMi8B,CAAC,GAACF,CAAC,CAAC2nQ,MAAF,CAASV,aAAT,CAAuBjpQ,CAAC,CAAC/vB,IAAzB,CAAR;;AAAuC,oBAAGiyB,CAAC,IAAEA,CAAC,CAAC6mP,iBAAF,CAAoB,cAApB,CAAN,EAA0C;AAAC/mP,kBAAAA,CAAC,CAAC6pQ,UAAF,CAAavB,OAAb,CAAqBtqQ,CAAC,CAAC/vB,IAAvB,EAA4BmwB,CAAC,CAACn6B,IAA9B;;AAAoC,uBAAI,MAAMwvB,CAAV,IAAeiyQ,EAAE,CAACpb,SAAH,CAAatsP,CAAC,CAAC/vB,IAAf,CAAf,EAAoC+xB,CAAC,CAAC6pQ,UAAF,CAAavB,OAAb,CAAqB70Q,CAAC,CAACxlB,IAAvB,EAA4BmwB,CAAC,CAACn6B,IAA9B;;AAAoCi8B,kBAAAA,CAAC,CAAC6mP,iBAAF,CAAoB,cAApB,EAAoC7mP,CAApC,EAAsC91B,CAAtC,EAAwC41B,CAAC,CAACg5E,MAA1C,GAAkDh5E,CAAC,CAAC2nQ,MAAF,CAAST,mBAAT,CAA6BhnQ,CAA7B,EAA+BlC,CAAC,CAACg8E,UAAjC,CAAlD;AAA+F;AAAC,eAA7a;AAA8a,aAA1b,CAA2bvmF,CAAC,CAAC81K,IAA7b,CAA5B,EAA+d;AAACnwF,cAAAA,QAAQ,EAAC3lF,CAAC,CAACw7Q,iBAAF,IAAqB;AAA/B,aAA/d,CAAhkB,EAAykC7wQ,CAAC,CAAClpB,EAAF,CAAM,gBAAeue,CAAC,CAACzjB,KAAM,EAA7B,EAA+B,UAASyjB,CAAT,EAAW;AAAC,qBAAM,CAAC2K,CAAD,EAAGJ,CAAH,EAAKgC,CAAL,KAAS;AAAC,oBAAGhC,CAAC,CAACksQ,WAAF,CAAczgB,WAAjB,EAA6B;AAAO,sBAAMr/Q,CAAC,GAAC0lS,EAAE,CAACr8Q,CAAD,EAAGuK,CAAH,EAAKgC,CAAL,CAAV;AAAkB,oBAAG,CAAC51B,CAAJ,EAAM;AAAO,sBAAM81B,CAAC,GAACmnL,EAAE,CAACrnL,CAAC,CAACg5E,MAAH,EAAU5uG,CAAV,CAAV;AAAA,sBAAuB2zB,CAAC,GAACiC,CAAC,CAAC2nQ,MAAF,CAASE,oBAAT,CAA8B7pQ,CAAC,CAACg8E,UAAhC,CAAzB;;AAAqE,oBAAGj8E,CAAH,EAAK;AAAC,uBAAI,MAAMtK,CAAV,IAAesK,CAAf,EAAiB,IAAGiC,CAAC,CAAC2nQ,MAAF,CAASR,2BAAT,CAAqC1zQ,CAArC,EAAuCuK,CAAC,CAACg8E,UAAzC,GAAqDvmF,CAAC,CAAC6qF,EAAF,CAAK,kBAAL,CAAxD,EAAiFt+E,CAAC,CAACg5E,MAAF,CAASw3K,MAAT,CAAgBxwP,CAAC,CAACg5E,MAAF,CAAS+3K,aAAT,CAAuBt9P,CAAvB,CAAhB,EAA0CyM,CAA1C,EAAjF,KAAkI;AAACzM,oBAAAA,CAAC,CAACszP,iBAAF,CAAoB,iBAApB,EAAuCtzP,CAAvC,EAAyCrpB,CAAC,CAACxJ,EAA3C,EAA8Co/B,CAAC,CAACg5E,MAAhD;AAAwD;;AAAAh5E,kBAAAA,CAAC,CAACg5E,MAAF,CAAS23K,wBAAT,CAAkC3yP,CAAC,CAACg8E,UAApC,GAAgD57E,CAAC,CAACy6E,IAAF,EAAhD;AAAyD;AAAC,eAApa;AAAqa,aAAjb,CAAkbplF,CAAC,CAAC81K,IAApb,CAA/B,EAAyd;AAACnwF,cAAAA,QAAQ,EAAC3lF,CAAC,CAACw7Q,iBAAF,IAAqB;AAA/B,aAAzd,CAAzkC;AAA4kD,WAA7lD;AAA8lD,SAA1mD,CAA2mDx7Q,CAA3mD,CAAT,CAAP;AAA+nD;;AAAAs8Q,MAAAA,YAAY,CAACt8Q,CAAD,EAAG;AAAC,eAAO,KAAKpL,GAAL,CAAS,UAASoL,CAAT,EAAW;AAACA,UAAAA,CAAC,GAAC0tQ,EAAE,CAAC1tQ,CAAD,CAAJ;AAAQ,gBAAM2K,CAAC,GAAC3K,CAAC,CAACzjB,KAAV;AAAgB,cAAIguB,CAAC,GAACvK,CAAC,CAAC81K,IAAR;AAAavrK,UAAAA,CAAC,KAAGA,CAAC,GAACA,CAAC,KAAG;AAACgyQ,YAAAA,KAAK,EAAC5xQ,CAAP;AAASn6B,YAAAA,IAAI,EAAC+5B,CAAC,CAAC00G,MAAF,CAASj/G,CAAC,CAACzjB,KAAF,CAAQ5P,MAAR,GAAe,CAAxB;AAAd,WAAH,CAAN,CAAD;AAAsD,iBAAO4/B,CAAC,IAAE;AAAC,gBAAI51B,CAAJ;AAAM41B,YAAAA,CAAC,CAAC9qB,EAAF,CAAM,aAAYkpB,CAAE,EAApB,GAAuBh0B,CAAC,GAAC4zB,CAAF,EAAI,CAACvK,CAAD,EAAG2K,CAAH,EAAKJ,CAAL,KAAS;AAAC,oBAAMgC,CAAC,GAAC51B,CAAC,CAACg0B,CAAC,CAAC47E,UAAH,EAAch8E,CAAd,CAAT;AAA0B,kBAAG,CAACgC,CAAJ,EAAM;AAAO,oBAAME,CAAC,GAAC9B,CAAC,CAAC8rQ,WAAV;AAAsBlsQ,cAAAA,CAAC,CAAC6rQ,UAAF,CAAavB,OAAb,CAAqBpoQ,CAArB,EAAuBzM,CAAC,CAACxvB,IAAzB,MAAiCgsS,EAAE,CAAC/vQ,CAAD,EAAG,CAAC,CAAJ,EAAMlC,CAAN,EAAQI,CAAR,EAAU4B,CAAV,CAAF,EAAeiwQ,EAAE,CAAC/vQ,CAAD,EAAG,CAAC,CAAJ,EAAMlC,CAAN,EAAQI,CAAR,EAAU4B,CAAV,CAAjB,EAA8BvM,CAAC,CAAColF,IAAF,EAA/D;AAAyE,aAA3K,GAA6K;AAACO,cAAAA,QAAQ,EAAC3lF,CAAC,CAACw7Q,iBAAF,IAAqB;AAA/B,aAA7K,GAAuNjvQ,CAAC,CAAC9qB,EAAF,CAAM,gBAAekpB,CAAE,EAAvB,EAAyB,UAAS3K,CAAT,EAAW;AAAC,qBAAM,CAAC2K,CAAD,EAAGJ,CAAH,EAAKgC,CAAL,KAAS;AAAC,sBAAM51B,CAAC,GAACqpB,CAAC,CAACuK,CAAC,CAACg8E,UAAH,EAAch6E,CAAd,CAAT;AAA0B,oBAAG,CAAC51B,CAAJ,EAAM;AAAO,sBAAM81B,CAAC,GAACF,CAAC,CAAC2nQ,MAAF,CAASE,oBAAT,CAA8B7pQ,CAAC,CAACg8E,UAAhC,CAAR;;AAAoD,oBAAG95E,CAAH,EAAK;AAAC,uBAAI,MAAMzM,CAAV,IAAeyM,CAAf,EAAiBF,CAAC,CAAC2nQ,MAAF,CAASR,2BAAT,CAAqC1zQ,CAArC,EAAuCuK,CAAC,CAACg8E,UAAzC,GAAqDvmF,CAAC,CAAC6qF,EAAF,CAAK,kBAAL,KAA0BvgF,CAAC,CAAE,QAAO3zB,CAAC,CAAC4lS,KAAM,eAAjB,EAAgCv8Q,CAAhC,CAAD,EAAoCsK,CAAC,CAAE,QAAO3zB,CAAC,CAAC4lS,KAAM,cAAjB,EAA+Bv8Q,CAA/B,CAArC,EAAuEsK,CAAC,CAAE,QAAO3zB,CAAC,CAAC4lS,KAAM,aAAjB,EAA8Bv8Q,CAA9B,CAAxE,EAAyGsK,CAAC,CAAE,QAAO3zB,CAAC,CAAC4lS,KAAM,YAAjB,EAA6Bv8Q,CAA7B,CAApI,IAAqKuM,CAAC,CAACg5E,MAAF,CAAS7mE,KAAT,CAAenS,CAAC,CAACg5E,MAAF,CAAS+3K,aAAT,CAAuBt9P,CAAvB,CAAf,EAAyCA,CAAzC,CAA1N;;AAAsQuM,kBAAAA,CAAC,CAACg5E,MAAF,CAAS23K,wBAAT,CAAkC3yP,CAAC,CAACg8E,UAApC,GAAgD57E,CAAC,CAACy6E,IAAF,EAAhD;AAAyD;;AAAA,yBAAS96E,CAAT,CAAWtK,CAAX,EAAa2K,CAAb,EAAe;AAAC,sBAAGA,CAAC,CAACuoP,YAAF,CAAelzP,CAAf,CAAH,EAAqB;AAAC,0BAAMuK,CAAC,GAAC,IAAIsnE,GAAJ,CAAQlnE,CAAC,CAACk3O,YAAF,CAAe7hP,CAAf,EAAkBjhB,KAAlB,CAAwB,GAAxB,CAAR,CAAR;AAA8CwrB,oBAAAA,CAAC,CAACqK,MAAF,CAASj+B,CAAC,CAACnG,IAAX,GAAiB,KAAG+5B,CAAC,CAAC4nE,IAAL,GAAU5lE,CAAC,CAACg5E,MAAF,CAASs+I,eAAT,CAAyB7jO,CAAzB,EAA2B2K,CAA3B,CAAV,GAAwC4B,CAAC,CAACg5E,MAAF,CAAS7pC,YAAT,CAAsB17C,CAAtB,EAAwBmF,KAAK,CAAC7H,IAAN,CAAWiN,CAAX,EAAcx9B,IAAd,CAAmB,GAAnB,CAAxB,EAAgD49B,CAAhD,CAAzD;AAA4G;AAAC;AAAC,eAAnoB;AAAooB,aAAhpB,CAAipBJ,CAAjpB,CAAzB,EAA6qB;AAACo7E,cAAAA,QAAQ,EAAC3lF,CAAC,CAACw7Q,iBAAF,IAAqB;AAA/B,aAA7qB,CAAvN;AAA86B,WAA/7B;AAAg8B,SAAviC,CAAwiCx7Q,CAAxiC,CAAT,CAAP;AAA4jC;;AAA3wP;;AAA4wP,aAAS4zL,EAAT,CAAY5zL,CAAZ,EAAc2K,CAAd,EAAgB;AAAC,YAAMJ,CAAC,GAACvK,CAAC,CAACq7P,sBAAF,CAAyB,MAAzB,EAAgC1wP,CAAC,CAACs5E,UAAlC,CAAR;AAAsD,aAAOt5E,CAAC,CAACyjP,OAAF,IAAW7jP,CAAC,CAACspP,SAAF,CAAYlpP,CAAC,CAACyjP,OAAd,CAAX,EAAkC,YAAU,OAAOzjP,CAAC,CAACg7E,QAAnB,KAA8Bp7E,CAAC,CAACivP,SAAF,GAAY7uP,CAAC,CAACg7E,QAA5C,CAAlC,EAAwFp7E,CAAC,CAAC8xI,GAAF,GAAM1xI,CAAC,CAACx9B,EAAhG,EAAmGo9B,CAA1G;AAA4G;;AAAA,aAASiyQ,EAAT,CAAYx8Q,CAAZ,EAAc2K,CAAd,EAAgBJ,CAAhB,EAAkBgC,CAAlB,EAAoB51B,CAApB,EAAsB;AAAC,YAAM81B,CAAC,GAAC9B,CAAC,GAAC3K,CAAC,CAACymF,KAAH,GAASzmF,CAAC,CAAC0mF,GAApB;AAAA,YAAwBp8E,CAAC,GAACmC,CAAC,CAACgpP,SAAF,IAAahpP,CAAC,CAACgpP,SAAF,CAAY5qK,EAAZ,CAAe,SAAf,CAAb,GAAuCp+E,CAAC,CAACgpP,SAAzC,GAAmD,IAA7E;AAAA,YAAkFrzM,CAAC,GAAC31C,CAAC,CAACipP,UAAF,IAAcjpP,CAAC,CAACipP,UAAF,CAAa7qK,EAAb,CAAgB,SAAhB,CAAd,GAAyCp+E,CAAC,CAACipP,UAA3C,GAAsD,IAA1I;;AAA+I,UAAGprP,CAAC,IAAE83C,CAAN,EAAQ;AAAC,YAAIpiD,CAAJ,EAAMyM,CAAN;AAAQ9B,QAAAA,CAAC,IAAEL,CAAH,IAAM,CAACK,CAAD,IAAI,CAACy3C,CAAX,IAAcpiD,CAAC,GAACsK,CAAF,EAAImC,CAAC,GAAC,CAAC,CAArB,KAAyBzM,CAAC,GAACoiD,CAAF,EAAI31C,CAAC,GAAC,CAAC,CAAhC;AAAmC,cAAMkxI,CAAC,GAACpzI,CAAC,CAAC2pQ,MAAF,CAASV,aAAT,CAAuBxzQ,CAAvB,CAAR;AAAkC,YAAG29I,CAAH,EAAK,OAAO,KAAK,UAAS39I,CAAT,EAAW2K,CAAX,EAAaJ,CAAb,EAAegC,CAAf,EAAiB51B,CAAjB,EAAmB81B,CAAnB,EAAqB;AAAC,gBAAMnC,CAAC,GAAE,QAAOmC,CAAC,CAAC8vQ,KAAM,IAAG5xQ,CAAC,GAAC,OAAD,GAAS,KAAM,IAAGJ,CAAC,GAAC,QAAD,GAAU,OAAQ,EAAjE;AAAA,gBAAmE63C,CAAC,GAACpiD,CAAC,CAACkzP,YAAF,CAAe5oP,CAAf,IAAkBtK,CAAC,CAAC6hP,YAAF,CAAev3O,CAAf,EAAkBvrB,KAAlB,CAAwB,GAAxB,CAAlB,GAA+C,EAApH;AAAuHqjE,UAAAA,CAAC,CAAC0mC,OAAF,CAAUr8E,CAAC,CAACj8B,IAAZ,GAAkB+7B,CAAC,CAACg5E,MAAF,CAAS7pC,YAAT,CAAsBpxC,CAAtB,EAAwB83C,CAAC,CAACr1E,IAAF,CAAO,GAAP,CAAxB,EAAoCizB,CAApC,CAAlB,EAAyDuM,CAAC,CAAC2nQ,MAAF,CAAST,mBAAT,CAA6BzzQ,CAA7B,EAA+BrpB,CAAC,CAAC4vG,UAAjC,CAAzD;AAAsG,SAAnP,CAAoPo3D,CAApP,EAAsPhzI,CAAtP,EAAwP8B,CAAxP,EAA0PlC,CAA1P,EAA4PgC,CAA5P,EAA8P51B,CAA9P,CAAZ;AAA6Q;;AAAA,OAAC,UAASqpB,CAAT,EAAW2K,CAAX,EAAaJ,CAAb,EAAegC,CAAf,EAAiB51B,CAAjB,EAAmB;AAAC,cAAM81B,CAAC,GAAE,GAAE91B,CAAC,CAAC4lS,KAAM,IAAG5xQ,CAAC,GAAC,OAAD,GAAS,KAAM,EAAtC;AAAA,cAAwCL,CAAC,GAAC3zB,CAAC,CAACnG,IAAF,GAAO;AAACA,UAAAA,IAAI,EAACmG,CAAC,CAACnG;AAAR,SAAP,GAAqB,IAA/D;AAAA,cAAoE4xE,CAAC,GAAC73C,CAAC,CAACg7E,MAAF,CAASm2K,eAAT,CAAyBjvP,CAAzB,EAA2BnC,CAA3B,CAAtE;AAAoGC,QAAAA,CAAC,CAACg7E,MAAF,CAASe,MAAT,CAAgBtmF,CAAhB,EAAkBoiD,CAAlB,GAAqB73C,CAAC,CAAC2pQ,MAAF,CAAST,mBAAT,CAA6BrxN,CAA7B,EAA+B71C,CAAC,CAACg6E,UAAjC,CAArB;AAAkE,OAA1L,CAA2Lh8E,CAAC,CAAC2pQ,MAAF,CAASD,cAAT,CAAwBxnQ,CAAxB,CAA3L,EAAsN9B,CAAtN,EAAwNJ,CAAxN,EAA0NgC,CAA1N,EAA4N51B,CAA5N,CAAD;AAAgO;;AAAA,aAASnM,EAAT,CAAYw1B,CAAZ,EAAc;AAAC,aAAM,YAAU,OAAOA,CAAjB,KAAqBA,CAAC,GAAC;AAACxvB,QAAAA,IAAI,EAACwvB;AAAN,OAAvB,GAAiC;AAACxvB,QAAAA,IAAI,EAACwvB,CAAC,CAACxvB,IAAR;AAAayzG,QAAAA,UAAU,EAACjkF,CAAC,CAACikF,UAAF,GAAa0qG,EAAE,CAAC3uL,CAAC,CAACikF,UAAH,CAAf,GAA8B,EAAtD;AAAyD38G,QAAAA,QAAQ,EAAC,CAAC,CAAC04B,CAAC,CAAC14B;AAAtE,OAAvC;AAAuH;;AAAA,aAAS8zS,EAAT,CAAYp7Q,CAAZ,EAAc2K,CAAd,EAAgB;AAAC,aAAM,cAAY,OAAO3K,CAAnB,GAAqBA,CAArB,GAAuB,CAACuK,CAAD,EAAGgC,CAAH,KAAO,UAASvM,CAAT,EAAW2K,CAAX,EAAaJ,CAAb,EAAe;AAAC,oBAAU,OAAOvK,CAAjB,KAAqBA,CAAC,GAAC;AAACxvB,UAAAA,IAAI,EAACwvB;AAAN,SAAvB;AAAiC,YAAIuM,CAAJ;AAAM,cAAM51B,CAAC,GAACg0B,CAAC,CAAC46E,MAAV;AAAA,cAAiB94E,CAAC,GAACtK,MAAM,CAACC,MAAP,CAAc,EAAd,EAAiBpC,CAAC,CAACikF,UAAnB,CAAnB;AAAkD,YAAG,eAAa15E,CAAhB,EAAkBgC,CAAC,GAAC51B,CAAC,CAAC4kR,sBAAF,CAAyBv7P,CAAC,CAACxvB,IAA3B,EAAgCi8B,CAAhC,CAAF,CAAlB,KAA4D,IAAG,eAAalC,CAAhB,EAAkB;AAAC,gBAAMI,CAAC,GAAC;AAACg7E,YAAAA,QAAQ,EAAC3lF,CAAC,CAAC2lF,QAAF,IAAY4zK,EAAE,CAACM;AAAzB,WAAR;AAAmDttP,UAAAA,CAAC,GAAC51B,CAAC,CAAC0kR,sBAAF,CAAyBr7P,CAAC,CAACxvB,IAA3B,EAAgCi8B,CAAhC,EAAkC9B,CAAlC,CAAF;AAAuC,SAA7G,MAAkH4B,CAAC,GAAC51B,CAAC,CAAC+kR,eAAF,CAAkB17P,CAAC,CAACxvB,IAApB,EAAyBi8B,CAAzB,CAAF;;AAA8B,YAAGzM,CAAC,CAACwyN,MAAL,EAAY;AAAC,gBAAM7nN,CAAC,GAACxI,MAAM,CAACkD,IAAP,CAAYrF,CAAC,CAACwyN,MAAd,CAAR;;AAA8B,eAAI,MAAMjoN,CAAV,IAAeI,CAAf,EAAiBh0B,CAAC,CAACilR,QAAF,CAAWrxP,CAAX,EAAavK,CAAC,CAACwyN,MAAF,CAASjoN,CAAT,CAAb,EAAyBgC,CAAzB;AAA4B;;AAAA,YAAGvM,CAAC,CAACouP,OAAL,EAAa;AAAC,gBAAMzjP,CAAC,GAAC3K,CAAC,CAACouP,OAAV;AAAkB,cAAG,YAAU,OAAOzjP,CAApB,EAAsBh0B,CAAC,CAACi2Q,QAAF,CAAWjiP,CAAX,EAAa4B,CAAb,EAAtB,KAA2C,KAAI,MAAMvM,CAAV,IAAe2K,CAAf,EAAiBh0B,CAAC,CAACi2Q,QAAF,CAAW5sP,CAAX,EAAauM,CAAb;AAAgB;;AAAA,eAAOA,CAAP;AAAS,OAAlgB,CAAmgBvM,CAAngB,EAAqgBuM,CAArgB,EAAugB5B,CAAvgB,CAApC;AAA8iB;;AAAA,aAASi9K,EAAT,CAAY5nL,CAAZ,EAAc;AAAC,aAAOA,CAAC,CAACzjB,KAAF,CAAQ8kC,MAAR,GAAe,CAAC1W,CAAD,EAAGJ,CAAH,EAAKgC,CAAL,KAAS;AAAC,cAAM51B,CAAC,GAACqpB,CAAC,CAAC81K,IAAF,CAAOnrK,CAAP,CAAR;AAAkB,eAAOh0B,CAAC,GAACA,CAAC,CAACg0B,CAAD,EAAGJ,CAAH,EAAKgC,CAAL,CAAF,GAAU,IAAlB;AAAuB,OAAlE,GAAmEvM,CAAC,CAAC81K,IAA5E;AAAiF;;AAAA,aAASmmG,EAAT,CAAYj8Q,CAAZ,EAAc;AAAC,aAAM,YAAU,OAAOA,CAAjB,GAAmB2K,CAAC,KAAG;AAAC7E,QAAAA,GAAG,EAAC9F,CAAL;AAAO9uB,QAAAA,KAAK,EAACy5B;AAAb,OAAH,CAApB,GAAwC,YAAU,OAAO3K,CAAjB,GAAmBA,CAAC,CAAC9uB,KAAF,GAAQ,MAAI8uB,CAAZ,GAAc2K,CAAC,KAAG;AAAC7E,QAAAA,GAAG,EAAC9F,CAAC,CAAC8F,GAAP;AAAW50B,QAAAA,KAAK,EAACy5B;AAAjB,OAAH,CAAlC,GAA0D3K,CAAxG;AAA0G;;AAAA,aAASq8Q,EAAT,CAAYr8Q,CAAZ,EAAc2K,CAAd,EAAgBJ,CAAhB,EAAkB;AAAC,YAAMgC,CAAC,GAAC,cAAY,OAAOvM,CAAnB,GAAqBA,CAAC,CAAC2K,CAAD,EAAGJ,CAAH,CAAtB,GAA4BvK,CAApC;AAAsC,aAAOuM,CAAC,IAAEA,CAAC,CAACo5E,QAAF,KAAap5E,CAAC,CAACo5E,QAAF,GAAW,EAAxB,GAA4Bp5E,CAAC,CAACp/B,EAAF,KAAOo/B,CAAC,CAACp/B,EAAF,GAAKw9B,CAAC,CAAC47E,UAAd,CAA5B,EAAsDh6E,CAAxD,IAA2D,IAAnE;AAAwE;;AAAA,aAASkvQ,EAAT,CAAYz7Q,CAAZ,EAAc;AAAC,YAAM2K,CAAC,GAAC,UAAS3K,CAAT,EAAW;AAAC,eAAM,CAAC2K,CAAD,EAAGJ,CAAH,KAAO;AAAC,cAAG,CAACI,CAAC,CAACkgF,EAAF,CAAK,SAAL,EAAe7qF,CAAC,CAACxvB,IAAjB,CAAJ,EAA2B,OAAM,CAAC,CAAP;;AAAS,cAAG,eAAa+5B,CAAC,CAACtzB,IAAlB,EAAuB;AAAC,gBAAG+oB,CAAC,CAACikF,UAAF,CAAa93G,QAAb,CAAsBo+B,CAAC,CAACwrQ,YAAxB,CAAH,EAAyC,OAAM,CAAC,CAAP;AAAS,WAA1E,MAA+E,IAAG/1Q,CAAC,CAAC14B,QAAL,EAAc,OAAM,CAAC,CAAP;;AAAS,iBAAM,CAAC,CAAP;AAAS,SAAjK;AAAkK,OAA9K,CAA+K04B,CAA/K,CAAR;;AAA0L,aAAM,CAACA,CAAD,EAAGuK,CAAH,KAAO;AAAC,cAAMgC,CAAC,GAAC,EAAR;AAAWhC,QAAAA,CAAC,CAACkyQ,mBAAF,KAAwBlyQ,CAAC,CAACkyQ,mBAAF,GAAsB,IAAI5qM,GAAJ,EAA9C;;AAAuD,aAAI,MAAM7xE,CAAV,IAAeuK,CAAC,CAAC6uK,OAAjB,EAAyB;AAAC,gBAAMziM,CAAC,GAAC,eAAaqpB,CAAC,CAAC/oB,IAAf,GAAoB+oB,CAAC,CAAC+mF,KAAF,CAAQN,KAAR,CAAcgvK,SAAlC,GAA4Cz1P,CAAC,CAAClwB,QAAF,CAAWqxE,MAA/D;;AAAsE,cAAGxqE,CAAC,IAAEg0B,CAAC,CAACh0B,CAAD,EAAGqpB,CAAH,CAAP,EAAa;AAAC,gBAAG,CAACuK,CAAC,CAACkyQ,mBAAF,CAAsB3tP,GAAtB,CAA0Bn4C,CAA1B,CAAJ,EAAiC;AAAC4zB,cAAAA,CAAC,CAACkyQ,mBAAF,CAAsB7nR,GAAtB,CAA0Bje,CAA1B;;AAA6B,oBAAMqpB,CAAC,GAACmwQ,EAAE,CAAC7a,aAAH,CAAiB3+Q,CAAjB,CAAR;;AAA4B,kBAAIg0B,CAAC,GAAC4B,CAAC,CAAC5/B,MAAR;;AAAe,mBAAI,IAAI49B,CAAC,GAACgC,CAAC,CAAC5/B,MAAF,GAAS,CAAnB,EAAqB49B,CAAC,IAAE,CAAxB,EAA0BA,CAAC,EAA3B,EAA8B;AAAC,sBAAM5zB,CAAC,GAAC41B,CAAC,CAAChC,CAAD,CAAT;AAAA,sBAAakC,CAAC,GAAC,CAAC,eAAa91B,CAAC,CAACM,IAAf,GAAoBN,CAAC,CAACowG,KAAF,CAAQN,KAA5B,GAAkC9vG,CAAC,CAAC7G,QAArC,EAA+C+lR,WAA/C,CAA2D71P,CAA3D,CAAf;AAA6E,oBAAG,YAAUyM,CAAV,IAAa,YAAU91B,CAAC,CAACM,IAAZ,IAAkB,UAAQw1B,CAA1C,EAA4C;AAAM9B,gBAAAA,CAAC,GAACJ,CAAF;AAAI;;AAAAgC,cAAAA,CAAC,CAAC42F,MAAF,CAASx4F,CAAT,EAAW,CAAX,EAAa;AAAC1zB,gBAAAA,IAAI,EAAC,QAAN;AAAezG,gBAAAA,IAAI,EAACmG,CAAC,CAACnG,IAAtB;AAA2BV,gBAAAA,QAAQ,EAACkwB,CAApC;AAAsCrzB,gBAAAA,MAAM,EAAC;AAA7C,eAAb,EAA6D;AAACsK,gBAAAA,IAAI,EAAC,UAAN;AAAiBzG,gBAAAA,IAAI,EAACmG,CAAC,CAACnG,IAAxB;AAA6BV,gBAAAA,QAAQ,EAACkwB,CAAtC;AAAwCrzB,gBAAAA,MAAM,EAAC;AAA/C,eAA7D;AAAgH;AAAC,WAA3Y,MAAgZ4/B,CAAC,CAACtG,IAAF,CAAOjG,CAAP;AAAU;;AAAAuK,QAAAA,CAAC,CAAC6uK,OAAF,GAAU7sK,CAAV;AAAY,OAAtlB;AAAulB;;AAAA,aAAS6iL,EAAT,CAAYpvL,CAAZ,EAAc;AAAC,aAAM,CAAC2K,CAAD,EAAGJ,CAAH,EAAKgC,CAAC,GAAC,EAAP,KAAY;AAAC,cAAM51B,CAAC,GAAC,CAAC,QAAD,CAAR;;AAAmB,aAAI,MAAM4zB,CAAV,IAAevK,CAAC,CAACikF,UAAjB,EAA4Bt5E,CAAC,CAACuoP,YAAF,CAAe3oP,CAAf,KAAmB5zB,CAAC,CAACsvB,IAAF,CAAQ,aAAYsE,CAAE,EAAtB,CAAnB;;AAA4C,eAAM,CAAC,CAAC5zB,CAAC,CAACy7F,KAAF,CAASpyE,CAAC,IAAEuK,CAAC,CAAClV,IAAF,CAAOsV,CAAP,EAAS3K,CAAT,CAAZ,CAAF,KAA8BuM,CAAC,CAAC+uQ,SAAF,IAAa3kS,CAAC,CAACkvB,OAAF,CAAW7F,CAAC,IAAEuK,CAAC,CAACsqQ,OAAF,CAAUlqQ,CAAV,EAAY3K,CAAZ,CAAd,CAAb,EAA4C,CAAC,CAA3E,CAAN;AAAoF,OAAlM;AAAmM;;AAAA,aAASu7Q,EAAT,CAAYv7Q,CAAZ,EAAc2K,CAAd,EAAgBJ,CAAhB,EAAkBgC,CAAlB,EAAoB;AAAC,WAAI,MAAM51B,CAAV,IAAeg0B,CAAf,EAAiB+xQ,EAAE,CAAC18Q,CAAC,CAACwD,IAAH,EAAQ7sB,CAAR,EAAU4zB,CAAV,EAAYgC,CAAZ,CAAF,IAAkBhC,CAAC,CAAC0sQ,WAAF,CAActgS,CAAd,CAAlB;AAAmC;;AAAA,aAAS+lS,EAAT,CAAY18Q,CAAZ,EAAc2K,CAAd,EAAgBJ,CAAhB,EAAkBgC,CAAlB,EAAoB;AAAC,YAAK;AAACg5E,QAAAA,MAAM,EAAC5uG,CAAR;AAAUu9R,QAAAA,MAAM,EAACznQ;AAAjB,UAAoBlC,CAAzB;AAA2B,UAAG,CAACgC,CAAC,CAACwqQ,YAAN,EAAmB,OAAM,CAAC,CAAP;AAAS,YAAMzsQ,CAAC,GAACmC,CAAC,CAAC+mQ,aAAF,CAAgB7oQ,CAAhB,CAAR;AAA2B,aAAM,EAAE,CAACL,CAAD,IAAIA,CAAC,CAAC9G,IAAF,IAAQxD,CAAd,KAAmB,CAAC,CAACuK,CAAC,CAAC6sQ,YAAF,CAAe9sQ,CAAf,CAAF,KAAsB3zB,CAAC,CAACylR,IAAF,CAAOzlR,CAAC,CAAC2mR,aAAF,CAAgBhzP,CAAhB,CAAP,EAA0BmC,CAAC,CAACwnQ,cAAF,CAAiB9D,EAAE,CAAC7a,aAAH,CAAiB3qP,CAAjB,CAAjB,CAA1B,GAAiE,CAAC,CAAxF,CAAzB;AAAqH;;AAAA,aAAS0wQ,EAAT,CAAYr7Q,CAAZ,EAAc2K,CAAd,EAAgB;AAAC2wQ,MAAAA,SAAS,EAAC/wQ;AAAX,QAAc,EAA9B,EAAiC;AAAC,aAAOA,CAAC,GAACI,CAAC,CAACtV,IAAF,CAAO2K,CAAP,EAAS,QAAT,CAAD,GAAoB2K,CAAC,CAACkqQ,OAAF,CAAU70Q,CAAV,EAAY,QAAZ,CAA5B;AAAkD;;AAAA,aAASikG,EAAT,CAAYjkG,CAAZ,EAAc;AAAC,YAAK;AAAC2hP,QAAAA,MAAM,EAACh3O,CAAR;AAAUjJ,QAAAA,QAAQ,EAAC6I;AAAnB,UAAsBvK,CAAC,CAACzjB,KAA7B;;AAAmC,WAAI,MAAMgwB,CAAV,IAAehC,CAAC,CAACoyQ,QAAF,EAAf,EAA4B,IAAGpwQ,CAAC,CAAC8J,OAAF,IAAW,CAAC1L,CAAC,CAACgxQ,UAAF,CAAapvQ,CAAb,EAAe,OAAf,CAAZ,IAAqC5B,CAAC,CAACgxQ,UAAF,CAAapvQ,CAAb,EAAe,WAAf,CAAxC,EAAoE,OAAOvM,CAAC,CAAC48Q,aAAF,CAAgB,WAAhB,EAA4BrwQ,CAA5B,GAA+B,CAAC,CAAvC;;AAAyC,aAAM,CAAC,CAAP;AAAS;;AAAA,aAASswQ,EAAT,CAAY78Q,CAAZ,EAAc2K,CAAd,EAAgBJ,CAAhB,EAAkB;AAAC,YAAMgC,CAAC,GAAChC,CAAC,CAACuyQ,aAAF,CAAgB98Q,CAAhB,CAAR;AAA2B,aAAM,CAAC,CAACuK,CAAC,CAACoxQ,UAAF,CAAapvQ,CAAb,EAAe,WAAf,CAAF,IAA+B,CAAC,CAAChC,CAAC,CAACoxQ,UAAF,CAAapvQ,CAAC,CAACtG,IAAF,CAAO,WAAP,CAAb,EAAiC0E,CAAjC,CAAvC;AAA2E;;AAAA,aAASuoC,EAAT,CAAYlzC,CAAZ,EAAc2K,CAAd,EAAgB;AAAC,YAAMJ,CAAC,GAACI,CAAC,CAAC9D,aAAF,CAAgB,WAAhB,CAAR;AAAqC,aAAO8D,CAAC,CAAC27E,MAAF,CAAS/7E,CAAT,EAAWvK,CAAX,GAAc2K,CAAC,CAACwyP,gBAAF,CAAmB5yP,CAAnB,EAAqB,CAArB,CAArB;AAA6C;;AAAA,UAAMwyQ,EAAN,SAAiB5vS,EAAjB,CAAmB;AAACguS,MAAAA,gBAAgB,CAACn7Q,CAAD,EAAG;AAAC,eAAO,KAAKpL,GAAL,CAASooR,EAAE,CAACh9Q,CAAD,CAAX,CAAP;AAAuB;;AAAAi9Q,MAAAA,kBAAkB,CAACj9Q,CAAD,EAAG;AAAC,eAAO,KAAKpL,GAAL,CAAS,UAASoL,CAAT,EAAW;AAACA,UAAAA,CAAC,GAAC0tQ,EAAE,CAAC1tQ,CAAD,CAAJ,EAAQk9Q,EAAE,CAACl9Q,CAAD,CAAV;AAAc,gBAAM2K,CAAC,GAACwyQ,EAAE,CAACn9Q,CAAD,EAAG,CAAC,CAAJ,CAAV;AAAA,gBAAiBuK,CAAC,GAAC6yQ,EAAE,CAACp9Q,CAAC,CAAC81K,IAAH,CAArB;AAAA,gBAA8BvpK,CAAC,GAAChC,CAAC,GAAE,WAAUA,CAAE,EAAd,GAAgB,SAAjD;AAA2D,iBAAOA,CAAC,IAAE;AAACA,YAAAA,CAAC,CAAC9oB,EAAF,CAAK8qB,CAAL,EAAO5B,CAAP,EAAS;AAACg7E,cAAAA,QAAQ,EAAC3lF,CAAC,CAACw7Q,iBAAF,IAAqB;AAA/B,aAAT;AAAgD,WAA3D;AAA4D,SAAjJ,CAAkJx7Q,CAAlJ,CAAT,CAAP;AAAsK;;AAAAg8Q,MAAAA,oBAAoB,CAACh8Q,CAAD,EAAG;AAAC,eAAO,KAAKpL,GAAL,CAAS,UAASoL,CAAT,EAAW;AAACA,UAAAA,CAAC,GAAC0tQ,EAAE,CAAC1tQ,CAAD,CAAJ;AAAQ,cAAI2K,CAAC,GAAC,IAAN;AAAW,WAAC,YAAU,OAAO3K,CAAC,CAAC81K,IAAnB,IAAyB91K,CAAC,CAAC81K,IAAF,CAAOhwK,GAAjC,MAAwC6E,CAAC,GAAC,UAAS3K,CAAT,EAAW;AAAC,wBAAU,OAAOA,CAAC,CAAC81K,IAAnB,KAA0B91K,CAAC,CAAC81K,IAAF,GAAO;AAAChwK,cAAAA,GAAG,EAAC9F,CAAC,CAAC81K;AAAP,aAAjC;AAA+C,kBAAMnrK,CAAC,GAAC3K,CAAC,CAAC81K,IAAF,CAAOhwK,GAAf;AAAmB,gBAAIyE,CAAJ;;AAAM,gBAAG,WAASI,CAAT,IAAY,WAASA,CAAxB,EAA0B;AAACJ,cAAAA,CAAC,GAAC;AAAC,iBAAC,WAASI,CAAT,GAAW,SAAX,GAAqB,QAAtB,GAAgC3K,CAAC,CAAC81K,IAAF,CAAO5kM;AAAxC,eAAF;AAAiD,aAA5E,MAAgF;AAACq5B,cAAAA,CAAC,GAAC;AAAC05E,gBAAAA,UAAU,EAAC;AAAC,mBAACt5E,CAAD,GAAI,KAAK,CAAL,KAAS3K,CAAC,CAAC81K,IAAF,CAAO5kM,KAAhB,GAAsB,SAAtB,GAAgC8uB,CAAC,CAAC81K,IAAF,CAAO5kM;AAA5C;AAAZ,eAAF;AAAkE;;AAAA8uB,YAAAA,CAAC,CAAC81K,IAAF,CAAOtlM,IAAP,KAAc+5B,CAAC,CAAC/5B,IAAF,GAAOwvB,CAAC,CAAC81K,IAAF,CAAOtlM,IAA5B;AAAkC,mBAAOwvB,CAAC,CAAC81K,IAAF,GAAOvrK,CAAP,EAASI,CAAhB;AAAkB,WAA3R,CAA4R3K,CAA5R,CAA1C;AAA0Uk9Q,UAAAA,EAAE,CAACl9Q,CAAD,EAAG2K,CAAH,CAAF;AAAQ,gBAAMJ,CAAC,GAAC4yQ,EAAE,CAACn9Q,CAAD,EAAG,CAAC,CAAJ,CAAV;AAAiB,iBAAO2K,CAAC,IAAE;AAACA,YAAAA,CAAC,CAAClpB,EAAF,CAAK,SAAL,EAAe8oB,CAAf,EAAiB;AAACo7E,cAAAA,QAAQ,EAAC3lF,CAAC,CAACw7Q,iBAAF,IAAqB;AAA/B,aAAjB;AAAwD,WAAnE;AAAoE,SAAtc,CAAucx7Q,CAAvc,CAAT,CAAP;AAA2d;;AAAAq9Q,MAAAA,eAAe,CAACr9Q,CAAD,EAAG;AAAC,eAAO,KAAKpL,GAAL,CAAS,UAASoL,CAAT,EAAW;AAAC,gBAAM2K,CAAC,GAAC,UAAS3K,CAAT,EAAW;AAAC,mBAAM,CAAC2K,CAAD,EAAGJ,CAAH,KAAO;AAAC,oBAAMgC,CAAC,GAAC,YAAU,OAAOvM,CAAjB,GAAmBA,CAAnB,GAAqBA,CAAC,CAAC2K,CAAD,EAAGJ,CAAH,CAA9B;AAAoC,qBAAOA,CAAC,CAACg7E,MAAF,CAAS1+E,aAAT,CAAuB,SAAvB,EAAiC;AAAC,6BAAY0F;AAAb,eAAjC,CAAP;AAAyD,aAA3G;AAA4G,WAAxH,CAAyHvM,CAAC,CAACzjB,KAA3H,CAAR;;AAA0I,iBAAOygS,EAAE,CAAC,EAAC,GAAGh9Q,CAAJ;AAAMzjB,YAAAA,KAAK,EAACouB;AAAZ,WAAD,CAAT;AAA0B,SAAhL,CAAiL3K,CAAjL,CAAT,CAAP;AAAqM;;AAAAs9Q,MAAAA,YAAY,CAACt9Q,CAAD,EAAG;AAAC,eAAO,KAAKpL,GAAL,CAAS,UAASoL,CAAT,EAAW;AAACA,UAAAA,CAAC,GAAC0tQ,EAAE,CAAC1tQ,CAAD,CAAJ,EAAQA,CAAC,CAACzjB,KAAF,KAAUyjB,CAAC,CAACzjB,KAAF,GAAQouB,CAAC,IAAEA,CAAC,GAAC3K,CAAC,CAAC81K,IAAF,GAAO,GAAP,GAAWnrK,CAAZ,GAAc3K,CAAC,CAAC81K,IAAtC,CAAR;AAAoD,gBAAMnrK,CAAC,GAAC;AAACmrK,YAAAA,IAAI,EAAC91K,CAAC,CAAC81K,IAAR;AAAav5L,YAAAA,KAAK,EAACyjB,CAAC,CAACzjB;AAArB,WAAR;AAAA,gBAAoCguB,CAAC,GAACgzQ,EAAE,CAACC,EAAE,CAAC7yQ,CAAD,EAAG,OAAH,CAAH,CAAxC;AAAA,gBAAwD4B,CAAC,GAACgxQ,EAAE,CAACC,EAAE,CAAC7yQ,CAAD,EAAG,KAAH,CAAH,CAA5D;AAA0E,iBAAOh0B,CAAC,IAAE;AAACA,YAAAA,CAAC,CAAC8K,EAAF,CAAM,WAAUue,CAAC,CAAC81K,IAAK,QAAvB,EAA+BvrK,CAA/B,EAAiC;AAACo7E,cAAAA,QAAQ,EAAC3lF,CAAC,CAACw7Q,iBAAF,IAAqB;AAA/B,aAAjC,GAA2E7kS,CAAC,CAAC8K,EAAF,CAAM,WAAUue,CAAC,CAAC81K,IAAK,MAAvB,EAA6BvpK,CAA7B,EAA+B;AAACo5E,cAAAA,QAAQ,EAAC3lF,CAAC,CAACw7Q,iBAAF,IAAqB;AAA/B,aAA/B,CAA3E;AAAoJ,kBAAM/uQ,CAAC,GAACT,CAAC,CAACk1K,GAAV;AAAA,kBAAc52K,CAAC,GAAC0B,CAAC,CAACg5N,OAAlB;AAAA,kBAA0B5iL,CAAC,GAACp2C,CAAC,CAACvrC,GAAF,CAAMu/B,CAAC,CAACw7Q,iBAAR,IAA2BlxQ,CAAvD;AAAyD3zB,YAAAA,CAAC,CAAC8K,EAAF,CAAK,SAAL,EAAe,UAASue,CAAT,EAAW;AAAC,qBAAM,CAAC2K,CAAD,EAAGJ,CAAH,EAAKgC,CAAL,KAAS;AAAC,sBAAM51B,CAAC,GAAE,QAAOqpB,CAAC,CAAC81K,IAAK,EAAvB;;AAAyB,yBAASrpK,CAAT,CAAW9B,CAAX,EAAah0B,CAAb,EAAe;AAAC,uBAAI,MAAM81B,CAAV,IAAe91B,CAAf,EAAiB;AAAC,0BAAMA,CAAC,GAACqpB,CAAC,CAACzjB,KAAF,CAAQkwB,CAAR,EAAUF,CAAV,CAAR;AAAA,0BAAqBjC,CAAC,GAACiC,CAAC,CAACg5E,MAAF,CAAS1+E,aAAT,CAAuB,SAAvB,EAAiC;AAAC,mCAAYlwB;AAAb,qBAAjC,CAAvB;AAAyE41B,oBAAAA,CAAC,CAACg5E,MAAF,CAASe,MAAT,CAAgBh8E,CAAhB,EAAkBK,CAAlB,GAAqBJ,CAAC,CAACkzQ,WAAF,CAAc1nC,OAAd,CAAsBprO,CAAtB,IAAyBJ,CAAC,CAACkzQ,WAAF,GAAclzQ,CAAC,CAACkzQ,WAAF,CAAc9nB,YAAd,CAA2B,CAA3B,CAAvC,GAAqEprP,CAAC,CAACkzQ,WAAF,GAAclzQ,CAAC,CAACkzQ,WAAF,CAAcrM,0BAAd,CAAyCzmQ,CAAzC,EAA2C,CAA3C,CAAxG,EAAsJJ,CAAC,CAACmzQ,UAAF,GAAanzQ,CAAC,CAACmzQ,UAAF,CAAatM,0BAAb,CAAwCzmQ,CAAxC,EAA0C,CAA1C,EAA6C,CAA7C,CAAnK;AAAmN;AAAC;;AAAA,iBAAC4B,CAAC,CAAC6pQ,UAAF,CAAa/gR,IAAb,CAAkBkV,CAAC,CAACozQ,QAApB,EAA6B;AAAC15L,kBAAAA,UAAU,EAACttG,CAAC,GAAC;AAAd,iBAA7B,KAA2D41B,CAAC,CAAC6pQ,UAAF,CAAa/gR,IAAb,CAAkBkV,CAAC,CAACozQ,QAApB,EAA6B;AAAC15L,kBAAAA,UAAU,EAACttG,CAAC,GAAC;AAAd,iBAA7B,CAA3D,IAAwH41B,CAAC,CAAC6pQ,UAAF,CAAa/gR,IAAb,CAAkBkV,CAAC,CAACozQ,QAApB,EAA6B;AAAC15L,kBAAAA,UAAU,EAACttG,CAAC,GAAC;AAAd,iBAA7B,CAAxH,IAAoL41B,CAAC,CAAC6pQ,UAAF,CAAa/gR,IAAb,CAAkBkV,CAAC,CAACozQ,QAApB,EAA6B;AAAC15L,kBAAAA,UAAU,EAACttG,CAAC,GAAC;AAAd,iBAA7B,CAArL,MAAqP4zB,CAAC,CAACmzQ,UAAF,IAAcv7Q,MAAM,CAACC,MAAP,CAAcmI,CAAd,EAAgBgC,CAAC,CAAC2qQ,eAAF,CAAkB3sQ,CAAC,CAACozQ,QAApB,EAA6BpzQ,CAAC,CAACkzQ,WAA/B,CAAhB,CAAd,EAA2ElxQ,CAAC,CAAC6pQ,UAAF,CAAavB,OAAb,CAAqBtqQ,CAAC,CAACozQ,QAAvB,EAAgC;AAAC15L,kBAAAA,UAAU,EAACttG,CAAC,GAAC;AAAd,iBAAhC,KAA8D81B,CAAC,CAAClC,CAAC,CAACmzQ,UAAF,CAAah3L,GAAd,EAAkBn8E,CAAC,CAACozQ,QAAF,CAAW97B,YAAX,CAAwBlrQ,CAAC,GAAC,YAA1B,EAAwCoI,KAAxC,CAA8C,GAA9C,CAAlB,CAA1I,EAAgNwtB,CAAC,CAAC6pQ,UAAF,CAAavB,OAAb,CAAqBtqQ,CAAC,CAACozQ,QAAvB,EAAgC;AAAC15L,kBAAAA,UAAU,EAACttG,CAAC,GAAC;AAAd,iBAAhC,KAAgE81B,CAAC,CAAClC,CAAC,CAACmzQ,UAAF,CAAah3L,GAAd,EAAkBn8E,CAAC,CAACozQ,QAAF,CAAW97B,YAAX,CAAwBlrQ,CAAC,GAAC,cAA1B,EAA0CoI,KAA1C,CAAgD,GAAhD,CAAlB,CAAjR,EAAyVwtB,CAAC,CAAC6pQ,UAAF,CAAavB,OAAb,CAAqBtqQ,CAAC,CAACozQ,QAAvB,EAAgC;AAAC15L,kBAAAA,UAAU,EAACttG,CAAC,GAAC;AAAd,iBAAhC,KAA+D81B,CAAC,CAAClC,CAAC,CAACmzQ,UAAF,CAAaj3L,KAAd,EAAoBl8E,CAAC,CAACozQ,QAAF,CAAW97B,YAAX,CAAwBlrQ,CAAC,GAAC,aAA1B,EAAyCoI,KAAzC,CAA+C,GAA/C,CAApB,CAAzZ,EAAkewtB,CAAC,CAAC6pQ,UAAF,CAAavB,OAAb,CAAqBtqQ,CAAC,CAACozQ,QAAvB,EAAgC;AAAC15L,kBAAAA,UAAU,EAACttG,CAAC,GAAC;AAAd,iBAAhC,KAAiE81B,CAAC,CAAClC,CAAC,CAACmzQ,UAAF,CAAaj3L,KAAd,EAAoBl8E,CAAC,CAACozQ,QAAF,CAAW97B,YAAX,CAAwBlrQ,CAAC,GAAC,eAA1B,EAA2CoI,KAA3C,CAAiD,GAAjD,CAApB,CAAzxB;AAAq2B,eAA7sC;AAA8sC,aAA1tC,CAA2tC4rB,CAA3tC,CAAf,EAA6uC;AAACg7E,cAAAA,QAAQ,EAACl5E,CAAC,GAAC21C;AAAZ,aAA7uC;AAA6vC,WAAr9C;AAAs9C,SAAhmD,CAAimDpiD,CAAjmD,CAAT,CAAP;AAAqnD;;AAAxjF;;AAAyjF,aAASg9Q,EAAT,CAAYh9Q,CAAZ,EAAc;AAAC,YAAM2K,CAAC,GAAC4yQ,EAAE,CAACv9Q,CAAC,GAAC0tQ,EAAE,CAAC1tQ,CAAD,CAAL,CAAV;AAAA,YAAoBuK,CAAC,GAAC6yQ,EAAE,CAACp9Q,CAAC,CAAC81K,IAAH,CAAxB;AAAA,YAAiCvpK,CAAC,GAAChC,CAAC,GAAE,WAAUA,CAAE,EAAd,GAAgB,SAApD;AAA8D,aAAOA,CAAC,IAAE;AAACA,QAAAA,CAAC,CAAC9oB,EAAF,CAAK8qB,CAAL,EAAO5B,CAAP,EAAS;AAACg7E,UAAAA,QAAQ,EAAC3lF,CAAC,CAACw7Q,iBAAF,IAAqB;AAA/B,SAAT;AAAmD,OAA9D;AAA+D;;AAAA,aAAS4B,EAAT,CAAYp9Q,CAAZ,EAAc;AAAC,aAAM,YAAU,OAAOA,CAAjB,GAAmBA,CAAnB,GAAqB,YAAU,OAAOA,CAAjB,IAAoB,YAAU,OAAOA,CAAC,CAACxvB,IAAvC,GAA4CwvB,CAAC,CAACxvB,IAA9C,GAAmD,IAA9E;AAAmF;;AAAA,aAAS+sS,EAAT,CAAYv9Q,CAAZ,EAAc;AAAC,YAAM2K,CAAC,GAAC,IAAImjP,EAAJ,CAAO9tP,CAAC,CAAC81K,IAAT,CAAR;AAAuB,aAAM,CAACvrK,CAAD,EAAGgC,CAAH,EAAK51B,CAAL,KAAS;AAAC,cAAM81B,CAAC,GAAC9B,CAAC,CAACu/C,KAAF,CAAQ39C,CAAC,CAACoxQ,QAAV,CAAR;AAA4B,YAAG,CAAClxQ,CAAJ,EAAM;AAAO,cAAMnC,CAAC,GAACmC,CAAC,CAACy9C,KAAV;AAAgB,YAAG5/C,CAAC,CAAC95B,IAAF,GAAO,CAAC,CAAR,EAAU,CAACmG,CAAC,CAACy/R,UAAF,CAAa/gR,IAAb,CAAkBkX,CAAC,CAACoxQ,QAApB,EAA6BrzQ,CAA7B,CAAd,EAA8C;;AAAO,cAAM83C,CAAC,GAAC,UAASpiD,CAAT,EAAW2K,CAAX,EAAaJ,CAAb,EAAe;AAAC,iBAAOvK,CAAC,YAAYmgK,QAAb,GAAsBngK,CAAC,CAAC2K,CAAD,EAAGJ,CAAH,CAAvB,GAA6BA,CAAC,CAACg7E,MAAF,CAAS1+E,aAAT,CAAuB7G,CAAvB,CAApC;AAA8D,SAA9E,CAA+EA,CAAC,CAACzjB,KAAjF,EAAuFgwB,CAAC,CAACoxQ,QAAzF,EAAkGhnS,CAAlG,CAAR;;AAA6GyrE,QAAAA,CAAC,IAAEzrE,CAAC,CAACinS,UAAF,CAAax7N,CAAb,EAAe71C,CAAC,CAACkxQ,WAAjB,CAAH,KAAmC9mS,CAAC,CAACy/R,UAAF,CAAavB,OAAb,CAAqBtoQ,CAAC,CAACoxQ,QAAvB,EAAgCrzQ,CAAhC,GAAmC3zB,CAAC,CAACugS,eAAF,CAAkB3qQ,CAAC,CAACoxQ,QAApB,EAA6Bv7N,CAA7B,CAAnC,EAAmEzrE,CAAC,CAACknS,sBAAF,CAAyBz7N,CAAzB,EAA2B71C,CAA3B,CAAtG;AAAqI,OAAhX;AAAiX;;AAAA,aAAS2wQ,EAAT,CAAYl9Q,CAAZ,EAAc2K,CAAC,GAAC,IAAhB,EAAqB;AAAC,YAAMJ,CAAC,GAAC,SAAOI,CAAP,KAAW3K,CAAC,IAAEA,CAAC,CAAC6hP,YAAF,CAAel3O,CAAf,CAAd,CAAR;AAAA,YAAyC4B,CAAC,GAAC,YAAU,OAAOvM,CAAC,CAACzjB,KAAnB,GAAyByjB,CAAC,CAACzjB,KAA3B,GAAiCyjB,CAAC,CAACzjB,KAAF,CAAQupB,GAApF;AAAA,YAAwFnvB,CAAC,GAAC,YAAU,OAAOqpB,CAAC,CAACzjB,KAAnB,IAA0B,KAAK,CAAL,KAASyjB,CAAC,CAACzjB,KAAF,CAAQrL,KAA3C,GAAiDq5B,CAAjD,GAAmDvK,CAAC,CAACzjB,KAAF,CAAQrL,KAArJ;;AAA2J8uB,MAAAA,CAAC,CAACzjB,KAAF,GAAQ;AAACupB,QAAAA,GAAG,EAACyG,CAAL;AAAOr7B,QAAAA,KAAK,EAACyF;AAAb,OAAR;AAAwB;;AAAA,aAASwmS,EAAT,CAAYn9Q,CAAZ,EAAc2K,CAAd,EAAgB;AAAC,YAAMJ,CAAC,GAAC,IAAIujP,EAAJ,CAAO9tP,CAAC,CAAC81K,IAAT,CAAR;AAAuB,aAAM,CAACvpK,CAAD,EAAG51B,CAAH,EAAK81B,CAAL,KAAS;AAAC,YAAG,CAAC91B,CAAC,CAAC+mS,UAAH,IAAe/yQ,CAAlB,EAAoB;AAAO,cAAML,CAAC,GAACC,CAAC,CAAC2/C,KAAF,CAAQvzE,CAAC,CAACgnS,QAAV,CAAR;AAA4B,YAAG,CAACrzQ,CAAJ,EAAM;AAAO,YAAG,CAAC,UAAStK,CAAT,EAAW2K,CAAX,EAAa;AAAC,gBAAMJ,CAAC,GAAC,cAAY,OAAOvK,CAAnB,GAAqBA,CAAC,CAAC2K,CAAD,CAAtB,GAA0B3K,CAAlC;AAAoC,cAAG,YAAU,OAAOuK,CAAjB,IAAoB,CAAC6yQ,EAAE,CAAC7yQ,CAAD,CAA1B,EAA8B,OAAM,CAAC,CAAP;AAAS,iBAAM,CAACA,CAAC,CAAC6jP,OAAH,IAAY,CAAC7jP,CAAC,CAAC05E,UAAf,IAA2B,CAAC15E,CAAC,CAACioN,MAApC;AAA2C,SAApI,CAAqIxyN,CAAC,CAAC81K,IAAvI,EAA4In/L,CAAC,CAACgnS,QAA9I,CAAD,GAAyJ,OAAOrzQ,CAAC,CAAC4/C,KAAF,CAAQ15E,IAAxK,GAA6K85B,CAAC,CAAC4/C,KAAF,CAAQ15E,IAAR,GAAa,CAAC,CAA3L,EAA6L,CAACi8B,CAAC,CAAC2pQ,UAAF,CAAa/gR,IAAb,CAAkB1e,CAAC,CAACgnS,QAApB,EAA6BrzQ,CAAC,CAAC4/C,KAA/B,CAAjM,EAAuO;AAAO,cAAM9H,CAAC,GAACpiD,CAAC,CAACzjB,KAAF,CAAQupB,GAAhB;AAAA,cAAoB63I,CAAC,GAAC,cAAY,OAAO39I,CAAC,CAACzjB,KAAF,CAAQrL,KAA3B,GAAiC8uB,CAAC,CAACzjB,KAAF,CAAQrL,KAAR,CAAcyF,CAAC,CAACgnS,QAAhB,EAAyBlxQ,CAAzB,CAAjC,GAA6DzM,CAAC,CAACzjB,KAAF,CAAQrL,KAA3F;AAAiG,YAAG,SAAOysK,CAAV,EAAY;AAAOhnK,QAAAA,CAAC,CAAC+mS,UAAF,IAAcv7Q,MAAM,CAACC,MAAP,CAAczrB,CAAd,EAAgB81B,CAAC,CAACyqQ,eAAF,CAAkBvgS,CAAC,CAACgnS,QAApB,EAA6BhnS,CAAC,CAAC8mS,WAA/B,CAAhB,CAAd;;AAA2E,cAAMvxF,CAAC,GAAC,UAASlsL,CAAT,EAAW2K,CAAX,EAAaJ,CAAb,EAAegC,CAAf,EAAiB;AAAC,cAAI51B,CAAC,GAAC,CAAC,CAAP;;AAAS,eAAI,MAAM81B,CAAV,IAAetH,KAAK,CAAC7H,IAAN,CAAW0C,CAAC,CAACunG,QAAF,CAAW;AAACqtJ,YAAAA,OAAO,EAACrqP;AAAT,WAAX,CAAX,CAAf,EAAmDgC,CAAC,CAACo1O,MAAF,CAASm5B,cAAT,CAAwBruQ,CAAxB,EAA0B9B,CAAC,CAAC7E,GAA5B,MAAmCnvB,CAAC,GAAC,CAAC,CAAH,EAAK81B,CAAC,CAACymP,YAAF,CAAevoP,CAAC,CAAC7E,GAAjB,KAAuByG,CAAC,CAACg5E,MAAF,CAAS7pC,YAAT,CAAsB/wC,CAAC,CAAC7E,GAAxB,EAA4B6E,CAAC,CAACz5B,KAA9B,EAAoCu7B,CAApC,CAA/D;;AAAuG,iBAAO91B,CAAP;AAAS,SAA9L,CAA+LA,CAAC,CAAC+mS,UAAjM,EAA4M;AAAC53Q,UAAAA,GAAG,EAACs8C,CAAL;AAAOlxE,UAAAA,KAAK,EAACysK;AAAb,SAA5M,EAA4NhzI,CAA5N,EAA8N8B,CAA9N,CAAR;;AAAyOy/K,QAAAA,CAAC,KAAGz/K,CAAC,CAAC2pQ,UAAF,CAAa/gR,IAAb,CAAkB1e,CAAC,CAACgnS,QAApB,EAA6B;AAACntS,UAAAA,IAAI,EAAC,CAAC;AAAP,SAA7B,MAA0C85B,CAAC,CAAC4/C,KAAF,CAAQ15E,IAAR,GAAa,CAAC,CAAxD,GAA2Di8B,CAAC,CAAC2pQ,UAAF,CAAavB,OAAb,CAAqBl+R,CAAC,CAACgnS,QAAvB,EAAgCrzQ,CAAC,CAAC4/C,KAAlC,CAA9D,CAAD;AAAyG,OAAn1B;AAAo1B;;AAAA,aAASszN,EAAT,CAAYx9Q,CAAZ,EAAc2K,CAAd,EAAgB;AAAC,aAAM;AAACmrK,QAAAA,IAAI,EAAE,GAAE91K,CAAC,CAAC81K,IAAK,IAAGnrK,CAAE,EAArB;AAAuBpuB,QAAAA,KAAK,EAAC,CAACouB,CAAD,EAAGJ,CAAH,KAAO;AAAC,gBAAMgC,CAAC,GAAC5B,CAAC,CAACk3O,YAAF,CAAe,MAAf,CAAR;AAAA,gBAA+BlrQ,CAAC,GAACqpB,CAAC,CAACzjB,KAAF,CAAQgwB,CAAR,EAAUhC,CAAV,CAAjC;AAA8C,iBAAOA,CAAC,CAACg7E,MAAF,CAAS1+E,aAAT,CAAuB,SAAvB,EAAiC;AAAC,yBAAYlwB;AAAb,WAAjC,CAAP;AAAyD;AAA5I,OAAN;AAAoJ;;AAAA,aAASmnS,EAAT,CAAY99Q,CAAZ,EAAc;AAACA,MAAAA,CAAC,CAAC0B,QAAF,CAAW6qP,iBAAX,CAA8B5hP,CAAC,IAAE,UAAS3K,CAAT,EAAW2K,CAAX,EAAa;AAAC,cAAMJ,CAAC,GAACI,CAAC,CAACjJ,QAAF,CAAWooP,SAAnB;AAAA,cAA6Bv9O,CAAC,GAAC5B,CAAC,CAACg3O,MAAjC;AAAA,cAAwChrQ,CAAC,GAAC,EAA1C;AAA6C,YAAI81B,CAAC,GAAC,CAAC,CAAP;;AAAS,aAAI,MAAMzM,CAAV,IAAeuK,CAAC,CAACgtP,SAAF,EAAf,EAA6B;AAAC,gBAAM5sP,CAAC,GAACozQ,EAAE,CAAC/9Q,CAAD,EAAGuM,CAAH,CAAV;AAAgB5B,UAAAA,CAAC,IAAE,CAACA,CAAC,CAACorO,OAAF,CAAU/1O,CAAV,CAAJ,IAAkBrpB,CAAC,CAACsvB,IAAF,CAAO0E,CAAP,GAAU8B,CAAC,GAAC,CAAC,CAA/B,IAAkC91B,CAAC,CAACsvB,IAAF,CAAOjG,CAAP,CAAlC;AAA4C;;AAAAyM,QAAAA,CAAC,IAAEzM,CAAC,CAACm7P,YAAF,CAAe,UAASn7P,CAAT,EAAW;AAAC,gBAAM2K,CAAC,GAAC,CAAC,GAAG3K,CAAJ,CAAR;AAAA,gBAAeuK,CAAC,GAAC,IAAIsnE,GAAJ,EAAjB;AAAyB,cAAItlE,CAAC,GAAC,CAAN;;AAAQ,iBAAKA,CAAC,GAAC5B,CAAC,CAACh+B,MAAT,GAAiB;AAAC,kBAAMqzB,CAAC,GAAC2K,CAAC,CAAC4B,CAAD,CAAT;AAAA,kBAAa51B,CAAC,GAACg0B,CAAC,CAAC+tE,KAAF,CAAQ,CAAR,EAAUnsE,CAAV,CAAf;;AAA4B,iBAAI,MAAK,CAACE,CAAD,EAAGnC,CAAH,CAAT,IAAiB3zB,CAAC,CAAC6rG,OAAF,EAAjB,EAA6B,IAAG,CAACj4E,CAAC,CAACukB,GAAF,CAAMriB,CAAN,CAAJ,EAAa,IAAGzM,CAAC,CAAC+1O,OAAF,CAAUzrO,CAAV,CAAH,EAAgBC,CAAC,CAAC3V,GAAF,CAAM6X,CAAN,EAAhB,KAA8B,IAAGzM,CAAC,CAACw2P,cAAF,CAAiBlsP,CAAjB,CAAH,EAAuB;AAACC,cAAAA,CAAC,CAAC3V,GAAF,CAAM6X,CAAN,GAASlC,CAAC,CAAC3V,GAAF,CAAM2X,CAAN,CAAT;AAAkB,oBAAM51B,CAAC,GAACqpB,CAAC,CAACmyQ,SAAF,CAAY7nQ,CAAZ,CAAR;AAAuBK,cAAAA,CAAC,CAAC1E,IAAF,CAAOtvB,CAAP;AAAU;;AAAA41B,YAAAA,CAAC;AAAG;;AAAA,iBAAO5B,CAAC,CAAChhC,MAAF,CAAU,CAACq2B,CAAD,EAAG2K,CAAH,KAAO,CAACJ,CAAC,CAACukB,GAAF,CAAMnkB,CAAN,CAAlB,CAAP;AAAoC,SAAtR,CAAuRh0B,CAAvR,CAAf,EAAyS;AAACqhR,UAAAA,QAAQ,EAACztP,CAAC,CAAC+sP;AAAZ,SAAzS,CAAH;AAAqU,eAAM,CAAC,CAAP;AAAS,OAA5e,CAA6e3sP,CAA7e,EAA+e3K,CAA/e,CAAjC;AAAqhB;;AAAA,aAAS+9Q,EAAT,CAAY/9Q,CAAZ,EAAc2K,CAAd,EAAgB;AAAC,aAAO3K,CAAC,CAACg2P,WAAF,GAAc,UAASh2P,CAAT,EAAW2K,CAAX,EAAa;AAAC,cAAMJ,CAAC,GAACvK,CAAC,CAACymF,KAAV;AAAA,cAAgBl6E,CAAC,GAAC5B,CAAC,CAACiwQ,wBAAF,CAA2BrwQ,CAA3B,CAAlB;;AAAgD,YAAG,CAACgC,CAAJ,EAAM;AAAC,gBAAMvM,CAAC,GAACuK,CAAC,CAAC0iP,YAAF,GAAiB19I,OAAjB,GAA2Bh1H,IAA3B,CAAiCylB,CAAC,IAAE2K,CAAC,CAAC09E,QAAF,CAAWroF,CAAX,CAApC,CAAR;AAA4D,iBAAOA,CAAC,GAACiyQ,EAAE,CAACnb,SAAH,CAAa92P,CAAb,CAAD,GAAiB,IAAzB;AAA8B;;AAAA,YAAG,CAACuM,CAAC,CAACypP,WAAN,EAAkB,OAAOzpP,CAAP;AAAS,cAAM51B,CAAC,GAAC41B,CAAC,CAACk6E,KAAV;AAAgB,YAAGl8E,CAAC,CAACwrO,OAAF,CAAUp/P,CAAV,CAAH,EAAgB,OAAO,IAAP;AAAY,eAAO,IAAIs7R,EAAJ,CAAOt7R,CAAP,CAAP;AAAiB,OAAvP,CAAwPqpB,CAAxP,EAA0P2K,CAA1P,CAAd,GAA2Q,UAAS3K,CAAT,EAAW2K,CAAX,EAAa;AAAC,cAAK;AAAC87E,UAAAA,KAAK,EAACl8E,CAAP;AAASm8E,UAAAA,GAAG,EAACn6E;AAAb,YAAgBvM,CAArB;AAAA,cAAuBrpB,CAAC,GAACg0B,CAAC,CAACgxQ,UAAF,CAAapxQ,CAAb,EAAe,OAAf,CAAzB;AAAA,cAAiDkC,CAAC,GAAC9B,CAAC,CAACgxQ,UAAF,CAAapvQ,CAAb,EAAe,OAAf,CAAnD;AAAA,cAA2EjC,CAAC,GAACK,CAAC,CAACqzQ,eAAF,CAAkBzzQ,CAAlB,CAA7E;AAAA,cAAkG63C,CAAC,GAACz3C,CAAC,CAACqzQ,eAAF,CAAkBzxQ,CAAlB,CAApG;;AAAyH,YAAGjC,CAAC,KAAG83C,CAAP,EAAS;AAAC,cAAGzrE,CAAC,IAAE81B,CAAN,EAAQ,OAAO,IAAP;;AAAY,cAAG,UAASzM,CAAT,EAAW2K,CAAX,EAAaJ,CAAb,EAAe;AAAC,kBAAMgC,CAAC,GAACvM,CAAC,CAACy1P,SAAF,IAAa,CAAClrP,CAAC,CAAC8tQ,OAAF,CAAUr4Q,CAAC,CAACy1P,SAAZ,CAAd,IAAsClrP,CAAC,CAACoxQ,UAAF,CAAa37Q,CAAb,EAAe,OAAf,CAA9C;AAAA,kBAAsErpB,CAAC,GAACg0B,CAAC,CAAC+qP,UAAF,IAAc,CAACnrP,CAAC,CAAC8tQ,OAAF,CAAU1tQ,CAAC,CAAC+qP,UAAZ,CAAf,IAAwCnrP,CAAC,CAACoxQ,UAAF,CAAahxQ,CAAb,EAAe,OAAf,CAAhH;AAAwI,mBAAO4B,CAAC,IAAE51B,CAAV;AAAY,WAApK,CAAqK4zB,CAArK,EAAuKgC,CAAvK,EAAyK5B,CAAzK,CAAH,EAA+K;AAAC,kBAAM3K,CAAC,GAACuK,CAAC,CAACkrP,SAAF,IAAa9qP,CAAC,CAACszQ,YAAF,CAAe1zQ,CAAC,CAACkrP,SAAjB,CAAb,GAAyC,IAAzC,GAA8C9qP,CAAC,CAACiwQ,wBAAF,CAA2BrwQ,CAA3B,EAA6B,SAA7B,CAAtD;AAAA,kBAA8F5zB,CAAC,GAAC41B,CAAC,CAACmpP,UAAF,IAAc/qP,CAAC,CAACszQ,YAAF,CAAe1xQ,CAAC,CAACmpP,UAAjB,CAAd,GAA2C,IAA3C,GAAgD/qP,CAAC,CAACiwQ,wBAAF,CAA2BruQ,CAA3B,EAA6B,UAA7B,CAAhJ;AAAA,kBAAyLE,CAAC,GAACzM,CAAC,GAACA,CAAC,CAACymF,KAAH,GAASl8E,CAArM;AAAA,kBAAuMD,CAAC,GAAC3zB,CAAC,GAACA,CAAC,CAAC+vG,GAAH,GAAOn6E,CAAjN;AAAmN,mBAAO,IAAI0lQ,EAAJ,CAAOxlQ,CAAP,EAASnC,CAAT,CAAP;AAAmB;AAAC;;AAAA,cAAMqzI,CAAC,GAACrzI,CAAC,IAAE,CAACA,CAAC,CAACugF,EAAF,CAAK,aAAL,CAAZ;AAAA,cAAgCqhG,CAAC,GAAC9pI,CAAC,IAAE,CAACA,CAAC,CAACyoC,EAAF,CAAK,aAAL,CAAtC;;AAA0D,YAAG8yD,CAAC,IAAEuuC,CAAN,EAAQ;AAAC,gBAAMlsL,CAAC,GAACuK,CAAC,CAACkrP,SAAF,IAAalpP,CAAC,CAACmpP,UAAf,IAA2BnrP,CAAC,CAACkrP,SAAF,CAAYt0M,MAAZ,KAAqB50C,CAAC,CAACmpP,UAAF,CAAav0M,MAArE;AAAA,gBAA4ExqE,CAAC,GAACgnK,CAAC,KAAG,CAAC39I,CAAD,IAAI,CAACk+Q,EAAE,CAAC3zQ,CAAC,CAACkrP,SAAH,EAAa9qP,CAAb,CAAV,CAA/E;AAAA,gBAA0G8B,CAAC,GAACy/K,CAAC,KAAG,CAAClsL,CAAD,IAAI,CAACk+Q,EAAE,CAAC3xQ,CAAC,CAACmpP,UAAH,EAAc/qP,CAAd,CAAV,CAA7G;AAAyI,cAAIf,CAAC,GAACW,CAAN;AAAA,cAAQqsI,CAAC,GAACrqI,CAAV;AAAY,iBAAO51B,CAAC,KAAGizB,CAAC,GAACumQ,EAAE,CAAC7a,aAAH,CAAiB6oB,EAAE,CAAC7zQ,CAAD,EAAGK,CAAH,CAAnB,CAAL,CAAD,EAAiC8B,CAAC,KAAGmqI,CAAC,GAACu5H,EAAE,CAAChb,YAAH,CAAgBgpB,EAAE,CAAC/7N,CAAD,EAAGz3C,CAAH,CAAlB,CAAL,CAAlC,EAAiE,IAAIsnQ,EAAJ,CAAOroQ,CAAP,EAASgtI,CAAT,CAAxE;AAAoF;;AAAA,eAAO,IAAP;AAAY,OAAp3B,CAAq3B52I,CAAr3B,EAAu3B2K,CAAv3B,CAAlR;AAA4oC;;AAAA,aAASwzQ,EAAT,CAAYn+Q,CAAZ,EAAc2K,CAAd,EAAgB;AAAC,UAAIJ,CAAC,GAACvK,CAAN;AAAA,UAAQuM,CAAC,GAAChC,CAAV;;AAAY,aAAKI,CAAC,CAAC0tQ,OAAF,CAAU9rQ,CAAV,KAAcA,CAAC,CAAC40C,MAArB,GAA6B52C,CAAC,GAACgC,CAAF,EAAIA,CAAC,GAACA,CAAC,CAAC40C,MAAR;;AAAe,aAAO52C,CAAP;AAAS;;AAAA,aAAS2zQ,EAAT,CAAYl+Q,CAAZ,EAAc2K,CAAd,EAAgB;AAAC,aAAO3K,CAAC,IAAE2K,CAAC,CAACszQ,YAAF,CAAej+Q,CAAf,CAAV;AAA4B;;AAAA,UAAMjd,EAAN,SAAiBs/D,CAAC,EAAlB,CAAqB;AAAC5iF,MAAAA,WAAW,CAACugC,CAAD,EAAG2K,CAAH,EAAK;AAAC,iBAAQ,KAAKpuB,KAAL,GAAWyjB,CAAnB,EAAqB,KAAK81K,IAAL,GAAU,IAAI63F,EAAJ,CAAOhjQ,CAAP,CAA/B,EAAyC,KAAKupQ,MAAL,GAAY,IAAI3B,EAAJ,EAArD,EAA4D,KAAK6L,kBAAL,GAAwB,IAAIpJ,EAAJ,CAAO;AAACd,UAAAA,MAAM,EAAC,KAAKA,MAAb;AAAoBvyB,UAAAA,MAAM,EAAC3hP,CAAC,CAAC2hP;AAA7B,SAAP,CAApF;AAAiI,cAAMp3O,CAAC,GAAC,KAAKhuB,KAAL,CAAWmlB,QAAnB;AAAA,cAA4B6K,CAAC,GAAChC,CAAC,CAACu/O,SAAhC;AAAA,cAA0Cr9O,CAAC,GAAC,KAAKlwB,KAAL,CAAWqnG,OAAvD;AAA+D,YAAIt5E,CAAJ,EAAM83C,CAAN,EAAQu7F,CAAR;AAAU,aAAK6nF,QAAL,CAAc,KAAKjpP,KAAnB,EAAyB,gBAAzB,EAA2C,MAAI;AAAC,eAAKu5L,IAAL,CAAU+4F,iBAAV,CAA4B,CAAC,CAA7B;AAAgC,SAAhF,EAAkF;AAAClpL,UAAAA,QAAQ,EAAC;AAAV,SAAlF,GAAwG,KAAK6/I,QAAL,CAAc,KAAKjpP,KAAnB,EAAyB,eAAzB,EAA0C,MAAI;AAAC,eAAKu5L,IAAL,CAAU+4F,iBAAV,CAA4B,CAAC,CAA7B;AAAgC,SAA/E,EAAiF;AAAClpL,UAAAA,QAAQ,EAAC;AAAV,SAAjF,CAAxG,EAA8M,KAAK6/I,QAAL,CAAcj7N,CAAd,EAAgB,QAAhB,EAA0B,MAAI;AAAC,eAAKurK,IAAL,CAAU4L,MAAV,CAAkB1hL,CAAC,IAAE;AAAC,iBAAKo+Q,kBAAL,CAAwBhJ,cAAxB,CAAuC7qQ,CAAC,CAAC8vQ,MAAzC,EAAgD5tQ,CAAhD,EAAkDzM,CAAlD,GAAqD,KAAKo+Q,kBAAL,CAAwB9H,gBAAxB,CAAyC/pQ,CAAzC,EAA2CE,CAA3C,EAA6CzM,CAA7C,CAArD;AAAqG,WAA3H;AAA8H,SAA7J,EAA+J;AAAC2lF,UAAAA,QAAQ,EAAC;AAAV,SAA/J,CAA9M,EAA+X,KAAK6/I,QAAL,CAAc,KAAK1vD,IAAL,CAAUp0K,QAAxB,EAAiC,iBAAjC,EAAmD,UAAS1B,CAAT,EAAW2K,CAAX,EAAa;AAAC,iBAAM,CAACJ,CAAD,EAAGgC,CAAH,KAAO;AAAC,kBAAM51B,CAAC,GAAC41B,CAAC,CAACm9P,YAAV;AAAA,kBAAuBj9P,CAAC,GAAC,EAAzB;;AAA4B,iBAAI,MAAMzM,CAAV,IAAerpB,CAAC,CAAC4gR,SAAF,EAAf,EAA6B9qP,CAAC,CAACxG,IAAF,CAAO0E,CAAC,CAACmpQ,YAAF,CAAe9zQ,CAAf,CAAP;;AAA0B,kBAAMsK,CAAC,GAACtK,CAAC,CAACw9P,eAAF,CAAkB/wP,CAAlB,EAAoB;AAACurP,cAAAA,QAAQ,EAACrhR,CAAC,CAAC2gR;AAAZ,aAApB,CAAR;AAAqDhtP,YAAAA,CAAC,CAACyrO,OAAF,CAAU/1O,CAAC,CAAC0B,QAAF,CAAWooP,SAArB,KAAiC9pP,CAAC,CAAC0hL,MAAF,CAAU1hL,CAAC,IAAE;AAACA,cAAAA,CAAC,CAACm7P,YAAF,CAAe7wP,CAAf;AAAkB,aAAhC,CAAjC;AAAoE,WAA1N;AAA2N,SAAzO,CAA0O,KAAK/tB,KAA/O,EAAqP,KAAK23R,MAA1P,CAAnD,CAA/X,EAAqrB,KAAK1uC,QAAL,CAAc,KAAK1vD,IAAL,CAAUp0K,QAAxB,EAAiC,aAAjC,GAAgD4I,CAAC,GAAC,KAAK4pQ,MAAP,EAAc9xN,CAAC,GAAC,KAAK7lE,KAAL,CAAWolQ,MAA3B,EAAkChkG,CAAC,GAAC,KAAKm4B,IAAzC,EAA8C,CAAC91K,CAAD,EAAG2K,CAAH,KAAO;AAAC,cAAG,CAACgzI,CAAC,CAACj8I,QAAF,CAAWirP,WAAZ,IAAyBh2Q,CAAC,CAAC2tP,SAA9B,EAAwC,KAAI,IAAItkO,CAAC,GAAC,CAAV,EAAYA,CAAC,GAAC2K,CAAC,CAAC6iQ,YAAF,CAAe7gS,MAA7B,EAAoCqzB,CAAC,EAArC,EAAwC;AAAC,kBAAMuK,CAAC,GAACI,CAAC,CAAC6iQ,YAAF,CAAextQ,CAAf,CAAR;AAAA,kBAA0BuM,CAAC,GAACjC,CAAC,CAACwpQ,YAAF,CAAevpQ,CAAf,CAA5B;AAAA,kBAA8C5zB,CAAC,GAAConS,EAAE,CAACxxQ,CAAD,EAAG61C,CAAH,CAAlD;AAAwDzrE,YAAAA,CAAC,IAAE,CAACA,CAAC,CAACo/P,OAAF,CAAUxpO,CAAV,CAAJ,KAAmB5B,CAAC,CAAC6iQ,YAAF,CAAextQ,CAAf,IAAkBsK,CAAC,CAAC0pQ,WAAF,CAAcr9R,CAAd,CAArC;AAAuD;AAAC,SAAvS,GAAyS;AAACgvG,UAAAA,QAAQ,EAAC;AAAV,SAAzS,CAArrB,EAAi/B,KAAKy4L,kBAAL,CAAwB38R,EAAxB,CAA2B,cAA3B,EAA2C,CAACue,CAAD,EAAG2K,CAAH,EAAKJ,CAAL,KAAS;AAAC,cAAG,CAACA,CAAC,CAAC6rQ,UAAF,CAAavB,OAAb,CAAqBlqQ,CAAC,CAACnwB,IAAvB,EAA4BwlB,CAAC,CAACxvB,IAA9B,CAAJ,EAAwC;AAAO,gBAAM+7B,CAAC,GAAChC,CAAC,CAACg7E,MAAV;AAAA,gBAAiB5uG,CAAC,GAAC4zB,CAAC,CAAC2pQ,MAAF,CAASD,cAAT,CAAwBtpQ,CAAC,CAACo8E,KAAF,CAAQN,KAAhC,CAAnB;AAAA,gBAA0Dh6E,CAAC,GAACF,CAAC,CAACy5E,UAAF,CAAar7E,CAAC,CAACnwB,IAAF,CAAO7S,IAApB,CAA5D;AAAsF4kC,UAAAA,CAAC,CAAC+5E,MAAF,CAAS3vG,CAAT,EAAW81B,CAAX;AAAc,SAAxM,EAA0M;AAACk5E,UAAAA,QAAQ,EAAC;AAAV,SAA1M,CAAj/B,EAAgtC,KAAKy4L,kBAAL,CAAwB38R,EAAxB,CAA2B,QAA3B,EAAqC,CAACue,CAAD,EAAG2K,CAAH,EAAKJ,CAAL,KAAS;AAACA,UAAAA,CAAC,CAAC4sQ,iBAAF,CAAoBxsQ,CAAC,CAACnwB,IAAtB,GAA4BmwB,CAAC,CAACosQ,YAAF,IAAgB,CAACpsQ,CAAC,CAACnwB,IAAF,CAAOqwG,EAAP,CAAU,SAAV,CAAjB,IAAuClgF,CAAC,CAACnwB,IAAF,CAAO67B,OAA9C,IAAuD9L,CAAC,CAAC2sQ,eAAF,CAAkBvsQ,CAAC,CAACnwB,IAApB,CAAnF;AAA6G,SAA5J,EAA8J;AAACmrG,UAAAA,QAAQ,EAAC;AAAV,SAA9J,CAAhtC,EAAm4C,KAAKy4L,kBAAL,CAAwB38R,EAAxB,CAA2B,QAA3B,EAAqC,CAACue,CAAD,EAAG2K,CAAH,EAAKJ,CAAL,KAAS;AAAC,gBAAMgC,CAAC,GAAChC,CAAC,CAAC2pQ,MAAF,CAASD,cAAT,CAAwBtpQ,CAAC,CAAC76B,QAA1B,CAAR;AAAA,gBAA4C6G,CAAC,GAACg0B,CAAC,CAAC76B,QAAF,CAAW6lR,YAAX,CAAwBhrP,CAAC,CAACh+B,MAA1B,CAA9C;AAAA,gBAAgF8/B,CAAC,GAAClC,CAAC,CAAC2pQ,MAAF,CAASD,cAAT,CAAwBt9R,CAAxB,EAA0B;AAACw9R,YAAAA,SAAS,EAAC,CAAC;AAAZ,WAA1B,CAAlF;AAAA,gBAA4H7pQ,CAAC,GAACC,CAAC,CAACg7E,MAAF,CAASyB,WAAT,CAAqBz6E,CAArB,EAAuBE,CAAvB,CAA9H;AAAA,gBAAwJ21C,CAAC,GAAC73C,CAAC,CAACg7E,MAAF,CAAStF,MAAT,CAAgB31E,CAAC,CAAC8rP,UAAF,EAAhB,CAA1J;;AAA0L,eAAI,MAAMp2P,CAAV,IAAeuK,CAAC,CAACg7E,MAAF,CAASg4K,aAAT,CAAuBn7M,CAAvB,EAA0BmlD,QAA1B,EAAf,EAAoDh9F,CAAC,CAAC2pQ,MAAF,CAASd,iBAAT,CAA2BpzQ,CAA3B,EAA6B;AAACszQ,YAAAA,KAAK,EAAC,CAAC;AAAR,WAA7B;AAAyC,SAAtU,EAAwU;AAAC3tL,UAAAA,QAAQ,EAAC;AAAV,SAAxU,CAAn4C,EAA6tD,KAAKy4L,kBAAL,CAAwB38R,EAAxB,CAA2B,gBAA3B,EAA6C,CAACue,CAAD,EAAG2K,CAAH,EAAKJ,CAAL,KAAS;AAAC,gBAAMgC,CAAC,GAAChC,CAAC,CAACg7E,MAAV;AAAA,gBAAiB5uG,CAAC,GAAC41B,CAAC,CAAC7K,QAAF,CAAWooP,SAA9B;;AAAwC,eAAI,MAAM9pP,CAAV,IAAerpB,CAAC,CAAC4gR,SAAF,EAAf,EAA6Bv3P,CAAC,CAACg2P,WAAF,IAAeh2P,CAAC,CAAC0mF,GAAF,CAAMvlC,MAAN,CAAaqiC,UAAb,EAAf,IAA0Cj5E,CAAC,CAACg7E,MAAF,CAAS82K,eAAT,CAAyBr8P,CAAC,CAACymF,KAA3B,CAA1C;;AAA4El6E,UAAAA,CAAC,CAAC4uP,YAAF,CAAe,IAAf;AAAqB,SAA7N,CAA7tD,EAA67D,KAAKijB,kBAAL,CAAwB38R,EAAxB,CAA2B,WAA3B,EAAwC,CAACue,CAAD,EAAG2K,CAAH,EAAKJ,CAAL,KAAS;AAAC,gBAAMgC,CAAC,GAAC5B,CAAC,CAACm/O,SAAV;AAAoB,cAAGv9O,CAAC,CAACypP,WAAL,EAAiB;AAAO,cAAG,CAACzrP,CAAC,CAAC6rQ,UAAF,CAAavB,OAAb,CAAqBtoQ,CAArB,EAAuB,WAAvB,CAAJ,EAAwC;AAAO,gBAAM51B,CAAC,GAAC,EAAR;;AAAW,eAAI,MAAMqpB,CAAV,IAAeuM,CAAC,CAACgrP,SAAF,EAAf,EAA6B5gR,CAAC,CAACsvB,IAAF,CAAOsE,CAAC,CAAC2pQ,MAAF,CAASF,WAAT,CAAqBh0Q,CAArB,CAAP;;AAAgCuK,UAAAA,CAAC,CAACg7E,MAAF,CAAS41K,YAAT,CAAsBxkR,CAAtB,EAAwB;AAACqhR,YAAAA,QAAQ,EAACzrP,CAAC,CAAC+qP;AAAZ,WAAxB;AAAiD,SAAtQ,EAAwQ;AAAC3xK,UAAAA,QAAQ,EAAC;AAAV,SAAxQ,CAA77D,EAAutE,KAAKy4L,kBAAL,CAAwB38R,EAAxB,CAA2B,WAA3B,EAAwC,CAACue,CAAD,EAAG2K,CAAH,EAAKJ,CAAL,KAAS;AAAC,gBAAMgC,CAAC,GAAC5B,CAAC,CAACm/O,SAAV;AAAoB,cAAG,CAACv9O,CAAC,CAACypP,WAAN,EAAkB;AAAO,cAAG,CAACzrP,CAAC,CAAC6rQ,UAAF,CAAavB,OAAb,CAAqBtoQ,CAArB,EAAuB,WAAvB,CAAJ,EAAwC;AAAO,gBAAM51B,CAAC,GAAC4zB,CAAC,CAACg7E,MAAV;AAAA,gBAAiB94E,CAAC,GAACF,CAAC,CAACw9O,gBAAF,EAAnB;AAAA,gBAAwCz/O,CAAC,GAACC,CAAC,CAAC2pQ,MAAF,CAASD,cAAT,CAAwBxnQ,CAAxB,CAA1C;AAAA,gBAAqE21C,CAAC,GAACzrE,CAAC,CAACqlR,eAAF,CAAkB1xP,CAAlB,CAAvE;AAA4F3zB,UAAAA,CAAC,CAACwkR,YAAF,CAAe/4M,CAAf;AAAkB,SAA5P,EAA8P;AAACujC,UAAAA,QAAQ,EAAC;AAAV,SAA9P,CAAvtE,EAAu+E,KAAKmwF,IAAL,CAAUp0K,QAAV,CAAmBghF,KAAnB,CAAyBy6J,MAAzB,CAAgC,KAAK5gQ,KAAL,CAAWmlB,QAAX,CAAoBghF,KAApD,EAA2D26J,KAA3D,CAAkEr9O,CAAC,IAAE;AAAC,cAAG,gBAAcA,CAAC,CAACsiF,QAAnB,EAA4B,OAAO,IAAP;AAAY,gBAAM33E,CAAC,GAAC,IAAI2pP,EAAJ,CAAO,KAAKx+E,IAAL,CAAUp0K,QAAjB,EAA0B1B,CAAC,CAACxvB,IAA5B,CAAR;AAA0C,iBAAOm6B,CAAC,CAAC23E,QAAF,GAAWtiF,CAAC,CAACsiF,QAAb,EAAsB,KAAK4xL,MAAL,CAAY/S,YAAZ,CAAyBnhQ,CAAzB,EAA2B2K,CAA3B,CAAtB,EAAoDA,CAA3D;AAA6D,SAArN,CAAv+E;AAA+rF;;AAAAg0E,MAAAA,OAAO,GAAE;AAAC,aAAKm3F,IAAL,CAAUn3F,OAAV,IAAoB,KAAK+mJ,aAAL,EAApB;AAAyC;;AAAA24C,MAAAA,eAAe,CAACr+Q,CAAD,EAAG;AAAC,cAAM2K,CAAC,GAAC,YAAU,OAAO3K,CAAjB,GAAmBA,CAAnB,GAAqBA,CAAC,CAACxvB,IAA/B;AAAA,cAAoC+5B,CAAC,GAAC,KAAKhuB,KAAL,CAAWqnG,OAAX,CAAmBnjH,GAAnB,CAAuBkqC,CAAvB,CAAtC;AAAgE,YAAG,CAACJ,CAAJ,EAAM,MAAM,IAAI43C,CAAJ,CAAM,oDAAN,EAA2D,IAA3D,EAAgE;AAACokC,UAAAA,UAAU,EAAC57E;AAAZ,SAAhE,CAAN;AAAsF,aAAKpuB,KAAL,CAAWmlM,MAAX,CAAmB,MAAI;AAAC,eAAKnlM,KAAL,CAAWqnG,OAAX,CAAmB06L,QAAnB,CAA4B/zQ,CAA5B;AAA+B,SAAvD;AAA0D;;AAAAg0Q,MAAAA,aAAa,CAACv+Q,CAAD,EAAG;AAAC,aAAKzjB,KAAL,CAAWmlM,MAAX,CAAmB,MAAI;AAAC,eAAKnlM,KAAL,CAAWmlB,QAAX,CAAoB24Q,MAApB,CAA2BmE,YAA3B,CAAwCx+Q,CAAxC;AAA2C,SAAnE;AAAsE;;AAA9wG;;AAA+wG,UAAMy+Q,EAAN,CAAQ;AAACh/S,MAAAA,WAAW,GAAE;AAAC,aAAK0yR,YAAL,GAAkB,IAAIljP,GAAJ,EAAlB;AAA0B;;AAAAra,MAAAA,GAAG,CAACoL,CAAD,EAAG2K,CAAH,EAAK;AAAC,YAAIJ,CAAJ;AAAMvK,QAAAA,CAAC,CAAC6qF,EAAF,CAAK,OAAL,KAAe7qF,CAAC,CAAC6qF,EAAF,CAAK,kBAAL,CAAf,GAAwC,KAAKsnK,YAAL,CAAkBrtP,GAAlB,CAAsB9E,CAAtB,EAAwB,CAAC,CAAzB,CAAxC,IAAqE,KAAKmyP,YAAL,CAAkBrjO,GAAlB,CAAsB9uB,CAAtB,IAAyBuK,CAAC,GAAC,KAAK4nP,YAAL,CAAkB1xR,GAAlB,CAAsBu/B,CAAtB,CAA3B,IAAqDuK,CAAC,GAAC,IAAIm0Q,EAAJ,CAAO1+Q,CAAP,CAAF,EAAY,KAAKmyP,YAAL,CAAkBrtP,GAAlB,CAAsB9E,CAAtB,EAAwBuK,CAAxB,CAAjE,GAA6FA,CAAC,CAAC3V,GAAF,CAAM+V,CAAN,CAAlK;AAA4K;;AAAAtV,MAAAA,IAAI,CAAC2K,CAAD,EAAG2K,CAAH,EAAK;AAAC,cAAMJ,CAAC,GAAC,KAAK4nP,YAAL,CAAkB1xR,GAAlB,CAAsBu/B,CAAtB,CAAR;;AAAiC,eAAO,KAAK,CAAL,KAASuK,CAAT,GAAW,IAAX,GAAgBvK,CAAC,CAAC6qF,EAAF,CAAK,OAAL,KAAe7qF,CAAC,CAAC6qF,EAAF,CAAK,kBAAL,CAAf,GAAwCtgF,CAAxC,GAA0CA,CAAC,CAAClV,IAAF,CAAOsV,CAAP,CAAjE;AAA2E;;AAAAkqQ,MAAAA,OAAO,CAAC70Q,CAAD,EAAG2K,CAAH,EAAK;AAAC,eAAM,CAAC,CAAC,KAAKtV,IAAL,CAAU2K,CAAV,EAAY2K,CAAZ,CAAF,KAAmB3K,CAAC,CAAC6qF,EAAF,CAAK,OAAL,KAAe7qF,CAAC,CAAC6qF,EAAF,CAAK,kBAAL,CAAf,GAAwC,KAAKsnK,YAAL,CAAkBrtP,GAAlB,CAAsB9E,CAAtB,EAAwB,CAAC,CAAzB,CAAxC,GAAoE,KAAKmyP,YAAL,CAAkB1xR,GAAlB,CAAsBu/B,CAAtB,EAAyB60Q,OAAzB,CAAiClqQ,CAAjC,CAApE,EAAwG,CAAC,CAA5H,CAAN;AAAqI;;AAAAq1O,MAAAA,MAAM,CAAChgP,CAAD,EAAG2K,CAAH,EAAK;AAAC,cAAMJ,CAAC,GAAC,KAAK4nP,YAAL,CAAkB1xR,GAAlB,CAAsBu/B,CAAtB,CAAR;;AAAiC,aAAK,CAAL,KAASuK,CAAT,KAAavK,CAAC,CAAC6qF,EAAF,CAAK,OAAL,KAAe7qF,CAAC,CAAC6qF,EAAF,CAAK,kBAAL,CAAf,GAAwC,KAAKsnK,YAAL,CAAkBrtP,GAAlB,CAAsB9E,CAAtB,EAAwB,CAAC,CAAzB,CAAxC,GAAoEuK,CAAC,CAACy1O,MAAF,CAASr1O,CAAT,CAAjF;AAA8F;;AAA6B,aAAtBg0Q,sBAAsB,CAAC3+Q,CAAD,EAAG;AAAC,cAAM2K,CAAC,GAAC;AAAC3hB,UAAAA,OAAO,EAACgX,CAAT;AAAWxvB,UAAAA,IAAI,EAAC,CAAC,CAAjB;AAAmByzG,UAAAA,UAAU,EAAC,EAA9B;AAAiCmqK,UAAAA,OAAO,EAAC,EAAzC;AAA4C57B,UAAAA,MAAM,EAAC;AAAnD,SAAR;AAAA,cAA+DjoN,CAAC,GAACvK,CAAC,CAACkuP,gBAAF,EAAjE;;AAAsF,aAAI,MAAMluP,CAAV,IAAeuK,CAAf,EAAiB,WAASvK,CAAT,IAAY,WAASA,CAArB,IAAwB2K,CAAC,CAACs5E,UAAF,CAAah+E,IAAb,CAAkBjG,CAAlB,CAAxB;;AAA6C,cAAMuM,CAAC,GAACvM,CAAC,CAACquP,aAAF,EAAR;;AAA0B,aAAI,MAAMruP,CAAV,IAAeuM,CAAf,EAAiB5B,CAAC,CAACyjP,OAAF,CAAUnoP,IAAV,CAAejG,CAAf;;AAAkB,cAAMrpB,CAAC,GAACqpB,CAAC,CAACsuP,aAAF,EAAR;;AAA0B,aAAI,MAAMtuP,CAAV,IAAerpB,CAAf,EAAiBg0B,CAAC,CAAC6nN,MAAF,CAASvsN,IAAT,CAAcjG,CAAd;;AAAiB,eAAO2K,CAAP;AAAS;;AAAiB,aAAVi0Q,UAAU,CAAC5+Q,CAAD,EAAG2K,CAAH,EAAK;AAAC,YAAGA,CAAC,KAAGA,CAAC,GAAC,IAAI8zQ,EAAJ,EAAL,CAAD,EAAcz+Q,CAAC,CAAC6qF,EAAF,CAAK,OAAL,CAAjB,EAA+B,OAAOlgF,CAAC,CAAC/V,GAAF,CAAMoL,CAAN,GAAS2K,CAAhB;AAAkB3K,QAAAA,CAAC,CAAC6qF,EAAF,CAAK,SAAL,KAAiBlgF,CAAC,CAAC/V,GAAF,CAAMoL,CAAN,EAAQy+Q,EAAE,CAACE,sBAAH,CAA0B3+Q,CAA1B,CAAR,CAAjB,EAAuDA,CAAC,CAAC6qF,EAAF,CAAK,kBAAL,KAA0BlgF,CAAC,CAAC/V,GAAF,CAAMoL,CAAN,CAAjF;;AAA0F,aAAI,MAAMuK,CAAV,IAAevK,CAAC,CAACgkF,WAAF,EAAf,EAA+Br5E,CAAC,GAAC8zQ,EAAE,CAACG,UAAH,CAAcr0Q,CAAd,EAAgBI,CAAhB,CAAF;;AAAqB,eAAOA,CAAP;AAAS;;AAA7oC;;AAA8oC,UAAMk0Q,EAAE,GAAC,CAAC,YAAD,EAAc,SAAd,EAAwB,QAAxB,CAAT;;AAA2C,UAAMH,EAAN,CAAQ;AAACj/S,MAAAA,WAAW,CAACugC,CAAD,EAAG;AAAC,aAAKhX,OAAL,GAAagX,CAAb,EAAe,KAAK8+Q,eAAL,GAAqB,IAApC,EAAyC,KAAK3sB,YAAL,GAAkB;AAACluK,UAAAA,UAAU,EAAC,IAAIh1E,GAAJ,EAAZ;AAAoBujN,UAAAA,MAAM,EAAC,IAAIvjN,GAAJ,EAA3B;AAAmCm/O,UAAAA,OAAO,EAAC,IAAIn/O,GAAJ;AAA3C,SAA3D;AAA+G;;AAAAra,MAAAA,GAAG,CAACoL,CAAD,EAAG;AAACA,QAAAA,CAAC,CAACxvB,IAAF,KAAS,KAAKsuS,eAAL,GAAqB,CAAC,CAA/B;;AAAkC,aAAI,MAAMn0Q,CAAV,IAAek0Q,EAAf,EAAkBl0Q,CAAC,IAAI3K,CAAL,IAAQ,KAAKirP,IAAL,CAAUtgP,CAAV,EAAY3K,CAAC,CAAC2K,CAAD,CAAb,CAAR;AAA0B;;AAAAtV,MAAAA,IAAI,CAAC2K,CAAD,EAAG;AAAC,YAAGA,CAAC,CAACxvB,IAAF,IAAQ,CAAC,KAAKsuS,eAAjB,EAAiC,OAAO,KAAKA,eAAZ;;AAA4B,aAAI,MAAMn0Q,CAAV,IAAek0Q,EAAf,EAAkB,IAAGl0Q,CAAC,IAAI3K,CAAR,EAAU;AAAC,gBAAMuK,CAAC,GAAC,KAAKw0Q,KAAL,CAAWp0Q,CAAX,EAAa3K,CAAC,CAAC2K,CAAD,CAAd,CAAR;;AAA2B,cAAG,CAAC,CAAD,KAAKJ,CAAR,EAAU,OAAOA,CAAP;AAAS;;AAAA,eAAM,CAAC,CAAP;AAAS;;AAAAsqQ,MAAAA,OAAO,CAAC70Q,CAAD,EAAG;AAACA,QAAAA,CAAC,CAACxvB,IAAF,KAAS,KAAKsuS,eAAL,GAAqB,CAAC,CAA/B;;AAAkC,aAAI,MAAMn0Q,CAAV,IAAek0Q,EAAf,EAAkBl0Q,CAAC,IAAI3K,CAAL,IAAQ,KAAKg/Q,QAAL,CAAcr0Q,CAAd,EAAgB3K,CAAC,CAAC2K,CAAD,CAAjB,CAAR;AAA8B;;AAAAq1O,MAAAA,MAAM,CAAChgP,CAAD,EAAG;AAACA,QAAAA,CAAC,CAACxvB,IAAF,KAAS,KAAKsuS,eAAL,GAAqB,CAAC,CAA/B;;AAAkC,aAAI,MAAMn0Q,CAAV,IAAek0Q,EAAf,EAAkBl0Q,CAAC,IAAI3K,CAAL,IAAQ,KAAKi/Q,OAAL,CAAat0Q,CAAb,EAAe3K,CAAC,CAAC2K,CAAD,CAAhB,CAAR;AAA6B;;AAAAsgP,MAAAA,IAAI,CAACjrP,CAAD,EAAG2K,CAAH,EAAK;AAAC,cAAMJ,CAAC,GAAC+9N,EAAE,CAAC39N,CAAD,CAAF,GAAMA,CAAN,GAAQ,CAACA,CAAD,CAAhB;AAAA,cAAoB4B,CAAC,GAAC,KAAK4lP,YAAL,CAAkBnyP,CAAlB,CAAtB;;AAA2C,aAAI,MAAM2K,CAAV,IAAeJ,CAAf,EAAiB;AAAC,cAAG,iBAAevK,CAAf,KAAmB,YAAU2K,CAAV,IAAa,YAAUA,CAA1C,CAAH,EAAgD,MAAM,IAAIw3C,CAAJ,CAAM,kCAAN,EAAyC,IAAzC,CAAN;AAAqD,cAAG51C,CAAC,CAACzH,GAAF,CAAM6F,CAAN,EAAQ,CAAC,CAAT,GAAY,aAAW3K,CAA1B,EAA4B,KAAI,MAAMA,CAAV,IAAe,KAAKhX,OAAL,CAAa0Y,QAAb,CAAsBuxP,eAAtB,CAAsCb,gBAAtC,CAAuDznP,CAAvD,CAAf,EAAyE4B,CAAC,CAACzH,GAAF,CAAM9E,CAAN,EAAQ,CAAC,CAAT;AAAY;AAAC;;AAAA++Q,MAAAA,KAAK,CAAC/+Q,CAAD,EAAG2K,CAAH,EAAK;AAAC,cAAMJ,CAAC,GAAC+9N,EAAE,CAAC39N,CAAD,CAAF,GAAMA,CAAN,GAAQ,CAACA,CAAD,CAAhB;AAAA,cAAoB4B,CAAC,GAAC,KAAK4lP,YAAL,CAAkBnyP,CAAlB,CAAtB;;AAA2C,aAAI,MAAM2K,CAAV,IAAeJ,CAAf,EAAiB,IAAG,iBAAevK,CAAf,IAAkB,YAAU2K,CAAV,IAAa,YAAUA,CAA5C,EAA8C;AAAC,gBAAM3K,CAAC,GAACuM,CAAC,CAAC9rC,GAAF,CAAMkqC,CAAN,CAAR;AAAiB,cAAG,KAAK,CAAL,KAAS3K,CAAZ,EAAc,OAAO,IAAP;AAAY,cAAG,CAACA,CAAJ,EAAM,OAAM,CAAC,CAAP;AAAS,SAAzG,MAA6G;AAAC,gBAAMA,CAAC,GAAC,WAAS2K,CAAT,GAAW,SAAX,GAAqB,QAA7B;AAAA,gBAAsCJ,CAAC,GAAC,KAAKw0Q,KAAL,CAAW/+Q,CAAX,EAAa,CAAC,GAAG,KAAKmyP,YAAL,CAAkBnyP,CAAlB,EAAqBqF,IAArB,EAAJ,CAAb,CAAxC;;AAAuF,cAAG,CAAC,CAAD,KAAKkF,CAAR,EAAU,OAAOA,CAAP;AAAS;;AAAA,eAAM,CAAC,CAAP;AAAS;;AAAAy0Q,MAAAA,QAAQ,CAACh/Q,CAAD,EAAG2K,CAAH,EAAK;AAAC,cAAMJ,CAAC,GAAC+9N,EAAE,CAAC39N,CAAD,CAAF,GAAMA,CAAN,GAAQ,CAACA,CAAD,CAAhB;AAAA,cAAoB4B,CAAC,GAAC,KAAK4lP,YAAL,CAAkBnyP,CAAlB,CAAtB;;AAA2C,aAAI,MAAM2K,CAAV,IAAeJ,CAAf,EAAiB,IAAG,iBAAevK,CAAf,IAAkB,YAAU2K,CAAV,IAAa,YAAUA,CAA5C,EAA8C;AAAC,cAAG4B,CAAC,CAACzH,GAAF,CAAM6F,CAAN,EAAQ,CAAC,CAAT,GAAY,YAAU3K,CAAzB,EAA2B,KAAI,MAAMA,CAAV,IAAe,KAAKhX,OAAL,CAAa0Y,QAAb,CAAsBuxP,eAAtB,CAAsCb,gBAAtC,CAAuDznP,CAAvD,CAAf,EAAyE4B,CAAC,CAACzH,GAAF,CAAM9E,CAAN,EAAQ,CAAC,CAAT;AAAY,SAA/J,MAAmK;AAAC,gBAAMA,CAAC,GAAC,WAAS2K,CAAT,GAAW,SAAX,GAAqB,QAA7B;;AAAsC,eAAKq0Q,QAAL,CAAch/Q,CAAd,EAAgB,CAAC,GAAG,KAAKmyP,YAAL,CAAkBnyP,CAAlB,EAAqBqF,IAArB,EAAJ,CAAhB;AAAkD;AAAC;;AAAA45Q,MAAAA,OAAO,CAACj/Q,CAAD,EAAG2K,CAAH,EAAK;AAAC,cAAMJ,CAAC,GAAC+9N,EAAE,CAAC39N,CAAD,CAAF,GAAMA,CAAN,GAAQ,CAACA,CAAD,CAAhB;AAAA,cAAoB4B,CAAC,GAAC,KAAK4lP,YAAL,CAAkBnyP,CAAlB,CAAtB;;AAA2C,aAAI,MAAM2K,CAAV,IAAeJ,CAAf,EAAiB,IAAG,iBAAevK,CAAf,IAAkB,YAAU2K,CAAV,IAAa,YAAUA,CAA5C,EAA8C;AAAC,WAAC,CAAD,KAAK4B,CAAC,CAAC9rC,GAAF,CAAMkqC,CAAN,CAAL,IAAe4B,CAAC,CAACzH,GAAF,CAAM6F,CAAN,EAAQ,CAAC,CAAT,CAAf;AAA2B,SAA1E,MAA8E;AAAC,gBAAM3K,CAAC,GAAC,WAAS2K,CAAT,GAAW,SAAX,GAAqB,QAA7B;;AAAsC,eAAKs0Q,OAAL,CAAaj/Q,CAAb,EAAe,CAAC,GAAG,KAAKmyP,YAAL,CAAkBnyP,CAAlB,EAAqBqF,IAArB,EAAJ,CAAf;AAAiD;AAAC;;AAAlqD;;AAAmqD,UAAM65Q,EAAN,SAAiB78N,CAAC,EAAlB,CAAqB;AAAC5iF,MAAAA,WAAW,GAAE;AAAC,iBAAQ,KAAK0/S,kBAAL,GAAwB,EAAhC,EAAmC,KAAKC,oBAAL,GAA0B,EAA7D,EAAgE,KAAKxvD,QAAL,CAAc,YAAd,CAAhE,EAA4F,KAAKA,QAAL,CAAc,gBAAd,CAA5F,EAA4H,KAAKnuO,EAAL,CAAQ,gBAAR,EAA0B,CAACue,CAAD,EAAG2K,CAAH,KAAO;AAACA,UAAAA,CAAC,CAAC,CAAD,CAAD,GAAK,IAAI00Q,EAAJ,CAAO10Q,CAAC,CAAC,CAAD,CAAR,CAAL;AAAkB,SAApD,EAAsD;AAACg7E,UAAAA,QAAQ,EAAC;AAAV,SAAtD,CAA5H,EAAwM,KAAKlkG,EAAL,CAAQ,YAAR,EAAsB,CAACue,CAAD,EAAG2K,CAAH,KAAO;AAACA,UAAAA,CAAC,CAAC,CAAD,CAAD,GAAK,IAAI00Q,EAAJ,CAAO10Q,CAAC,CAAC,CAAD,CAAR,CAAL,EAAkBA,CAAC,CAAC,CAAD,CAAD,GAAK,KAAK20Q,aAAL,CAAmB30Q,CAAC,CAAC,CAAD,CAApB,CAAvB;AAAgD,SAA9E,EAAgF;AAACg7E,UAAAA,QAAQ,EAAC;AAAV,SAAhF,CAAxM;AAA8S;;AAAAgpI,MAAAA,QAAQ,CAAC3uN,CAAD,EAAG2K,CAAH,EAAK;AAAC,YAAG,KAAKw0Q,kBAAL,CAAwBn/Q,CAAxB,CAAH,EAA8B,MAAM,IAAImiD,CAAJ,CAAM,mCAAN,EAA0C,IAA1C,EAA+C;AAACo9N,UAAAA,QAAQ,EAACv/Q;AAAV,SAA/C,CAAN;AAAmE,aAAKm/Q,kBAAL,CAAwBn/Q,CAAxB,IAA2B,CAACmC,MAAM,CAACC,MAAP,CAAc,EAAd,EAAiBuI,CAAjB,CAAD,CAA3B,EAAiD,KAAK60Q,WAAL,EAAjD;AAAoE;;AAAAxoF,MAAAA,MAAM,CAACh3L,CAAD,EAAG2K,CAAH,EAAK;AAAC,YAAG,CAAC,KAAKw0Q,kBAAL,CAAwBn/Q,CAAxB,CAAJ,EAA+B,MAAM,IAAImiD,CAAJ,CAAM,mCAAN,EAA0C,IAA1C,EAA+C;AAACo9N,UAAAA,QAAQ,EAACv/Q;AAAV,SAA/C,CAAN;AAAmE,aAAKm/Q,kBAAL,CAAwBn/Q,CAAxB,EAA2BiG,IAA3B,CAAgC9D,MAAM,CAACC,MAAP,CAAc,EAAd,EAAiBuI,CAAjB,CAAhC,GAAqD,KAAK60Q,WAAL,EAArD;AAAwE;;AAAAC,MAAAA,cAAc,GAAE;AAAC,eAAO,KAAKC,oBAAL,IAA2B,KAAKC,QAAL,EAA3B,EAA2C,KAAKD,oBAAvD;AAA4E;;AAAAJ,MAAAA,aAAa,CAACt/Q,CAAD,EAAG;AAAC,YAAI2K,CAAJ;AAAM,eAAOA,CAAC,GAAC,YAAU,OAAO3K,CAAjB,GAAmBA,CAAnB,GAAqB,QAAOA,CAAP,KAAWA,CAAC,CAAC6qF,EAAF,CAAK,OAAL,KAAe7qF,CAAC,CAAC6qF,EAAF,CAAK,YAAL,CAA1B,IAA8C,OAA9C,GAAsD7qF,CAAC,CAACxvB,IAA/E,EAAoF,KAAKivS,cAAL,GAAsB90Q,CAAtB,CAA3F;AAAoH;;AAAAi1Q,MAAAA,YAAY,CAAC5/Q,CAAD,EAAG;AAAC,eAAM,CAAC,CAAC,KAAKs/Q,aAAL,CAAmBt/Q,CAAnB,CAAR;AAA8B;;AAAAm4Q,MAAAA,OAAO,CAACn4Q,CAAD,EAAG;AAAC,cAAM2K,CAAC,GAAC,KAAK20Q,aAAL,CAAmBt/Q,CAAnB,CAAR;AAA8B,eAAM,EAAE,CAAC2K,CAAD,IAAI,CAACA,CAAC,CAACwtQ,OAAT,CAAN;AAAwB;;AAAAE,MAAAA,OAAO,CAACr4Q,CAAD,EAAG;AAAC,cAAM2K,CAAC,GAAC,KAAK20Q,aAAL,CAAmBt/Q,CAAnB,CAAR;AAA8B,eAAM,CAAC,CAAC2K,CAAF,IAAK,EAAE,CAACA,CAAC,CAAC0tQ,OAAH,IAAY,CAAC1tQ,CAAC,CAAC09E,QAAjB,CAAX;AAAsC;;AAAAA,MAAAA,QAAQ,CAACroF,CAAD,EAAG;AAAC,cAAM2K,CAAC,GAAC,KAAK20Q,aAAL,CAAmBt/Q,CAAnB,CAAR;AAA8B,eAAM,CAAC,CAAC2K,CAAF,IAAK,CAAC,EAAEA,CAAC,CAAC09E,QAAF,IAAY19E,CAAC,CAAC0tQ,OAAF,IAAW1tQ,CAAC,CAACszQ,YAAb,IAA2BtzQ,CAAC,CAACk1Q,SAA3C,CAAZ;AAAkE;;AAAAhF,MAAAA,QAAQ,CAAC76Q,CAAD,EAAG;AAAC,cAAM2K,CAAC,GAAC,KAAK20Q,aAAL,CAAmBt/Q,CAAnB,CAAR;AAA8B,eAAM,EAAE,CAAC2K,CAAD,IAAI,CAACA,CAAC,CAACkwQ,QAAT,CAAN;AAAyB;;AAAAoD,MAAAA,YAAY,CAACj+Q,CAAD,EAAG;AAAC,cAAM2K,CAAC,GAAC,KAAK20Q,aAAL,CAAmBt/Q,CAAnB,CAAR;AAA8B,eAAM,CAAC,CAAC2K,CAAF,IAAK,EAAE,CAACA,CAAC,CAACszQ,YAAH,IAAiB,CAACtzQ,CAAC,CAAC09E,QAAtB,CAAX;AAA2C;;AAAAw3L,MAAAA,SAAS,CAAC7/Q,CAAD,EAAG;AAAC,cAAM2K,CAAC,GAAC,KAAK20Q,aAAL,CAAmBt/Q,CAAnB,CAAR;AAA8B,eAAM,CAAC,CAAC2K,CAAF,IAAK,EAAE,CAACA,CAAC,CAACk1Q,SAAH,IAAc,CAACl1Q,CAAC,CAAC09E,QAAnB,CAAX;AAAwC;;AAAAszL,MAAAA,UAAU,CAAC37Q,CAAD,EAAG2K,CAAH,EAAK;AAAC,eAAM,CAAC,CAACA,CAAF,IAAK,KAAKm1Q,kBAAL,CAAwBn1Q,CAAxB,EAA0B3K,CAA1B,CAAX;AAAwC;;AAAA86Q,MAAAA,cAAc,CAAC96Q,CAAD,EAAG2K,CAAH,EAAK;AAAC,cAAMJ,CAAC,GAAC,KAAK+0Q,aAAL,CAAmBt/Q,CAAC,CAACwhL,IAArB,CAAR;AAAmC,eAAM,CAAC,CAACj3K,CAAF,IAAKA,CAAC,CAACw1Q,eAAF,CAAkB5zS,QAAlB,CAA2Bw+B,CAA3B,CAAX;AAAyC;;AAAAq1Q,MAAAA,UAAU,CAAChgR,CAAD,EAAG2K,CAAH,EAAK;AAAC,YAAG3K,CAAC,YAAYmwQ,EAAhB,EAAmB;AAAC,gBAAMxlQ,CAAC,GAAC3K,CAAC,CAAC01P,UAAV;AAAA,gBAAqBnrP,CAAC,GAACvK,CAAC,CAACy1P,SAAzB;AAAmC,cAAG,EAAE9qP,CAAC,YAAYqlQ,EAAf,CAAH,EAAsB,MAAM,IAAI7tN,CAAJ,CAAM,sCAAN,EAA6C,IAA7C,CAAN;AAAyD,cAAG,EAAE53C,CAAC,YAAYylQ,EAAf,CAAH,EAAsB,MAAM,IAAI7tN,CAAJ,CAAM,qCAAN,EAA4C,IAA5C,CAAN;AAAwD,iBAAO,KAAK69N,UAAL,CAAgBr1Q,CAAhB,EAAkBJ,CAAlB,CAAP;AAA4B;;AAAA,aAAI,MAAMA,CAAV,IAAeI,CAAC,CAACq5E,WAAF,EAAf,EAA+B,IAAG,CAAC,KAAK23L,UAAL,CAAgB37Q,CAAhB,EAAkBuK,CAAlB,CAAJ,EAAyB,OAAM,CAAC,CAAP;;AAAS,eAAM,CAAC,CAAP;AAAS;;AAAA01Q,MAAAA,aAAa,CAACjgR,CAAD,EAAG;AAAC,aAAKve,EAAL,CAAQ,YAAR,EAAsB,CAACkpB,CAAD,EAAG,CAACJ,CAAD,EAAGgC,CAAH,CAAH,KAAW;AAAC,cAAG,CAACA,CAAJ,EAAM;AAAO,gBAAM51B,CAAC,GAACqpB,CAAC,CAACuK,CAAD,EAAGgC,CAAH,CAAT;AAAe,uBAAW,OAAO51B,CAAlB,KAAsBg0B,CAAC,CAACy6E,IAAF,IAASz6E,CAAC,CAACg4N,MAAF,GAAShsP,CAAxC;AAA2C,SAAzG,EAA2G;AAACgvG,UAAAA,QAAQ,EAAC;AAAV,SAA3G;AAA8H;;AAAAu6L,MAAAA,iBAAiB,CAAClgR,CAAD,EAAG;AAAC,aAAKve,EAAL,CAAQ,gBAAR,EAA0B,CAACkpB,CAAD,EAAG,CAACJ,CAAD,EAAGgC,CAAH,CAAH,KAAW;AAAC,gBAAM51B,CAAC,GAACqpB,CAAC,CAACuK,CAAD,EAAGgC,CAAH,CAAT;AAAe,uBAAW,OAAO51B,CAAlB,KAAsBg0B,CAAC,CAACy6E,IAAF,IAASz6E,CAAC,CAACg4N,MAAF,GAAShsP,CAAxC;AAA2C,SAAhG,EAAkG;AAACgvG,UAAAA,QAAQ,EAAC;AAAV,SAAlG;AAAqH;;AAAAw6L,MAAAA,sBAAsB,CAACngR,CAAD,EAAG2K,CAAH,EAAK;AAAC,aAAKy0Q,oBAAL,CAA0Bp/Q,CAA1B,IAA6BmC,MAAM,CAACC,MAAP,CAAc,KAAK24Q,sBAAL,CAA4B/6Q,CAA5B,CAAd,EAA6C2K,CAA7C,CAA7B;AAA6E;;AAAAowQ,MAAAA,sBAAsB,CAAC/6Q,CAAD,EAAG;AAAC,eAAO,KAAKo/Q,oBAAL,CAA0Bp/Q,CAA1B,KAA8B,EAArC;AAAwC;;AAAAg+Q,MAAAA,eAAe,CAACh+Q,CAAD,EAAG;AAAC,YAAI2K,CAAJ;AAAM,YAAG3K,CAAC,YAAYmwQ,EAAhB,EAAmBxlQ,CAAC,GAAC3K,CAAC,CAACmhD,MAAJ,CAAnB,KAAkC;AAACx2C,UAAAA,CAAC,GAAC,CAAC3K,CAAC,YAAYiyQ,EAAb,GAAgB,CAACjyQ,CAAD,CAAhB,GAAoBmF,KAAK,CAAC7H,IAAN,CAAW0C,CAAC,CAACu3P,SAAF,EAAX,CAArB,EAAgDpgL,MAAhD,CAAwD,CAACn3E,CAAD,EAAG2K,CAAH,KAAO;AAAC,kBAAMJ,CAAC,GAACI,CAAC,CAACyiP,iBAAF,EAAR;AAA8B,mBAAOptP,CAAC,GAACA,CAAC,CAACotP,iBAAF,CAAoB7iP,CAApB,EAAsB;AAAC2iP,cAAAA,WAAW,EAAC,CAAC;AAAd,aAAtB,CAAD,GAAyC3iP,CAAjD;AAAmD,WAAjJ,EAAmJ,IAAnJ,CAAF;AAA2J;;AAAA,eAAK,CAAC,KAAK8tQ,OAAL,CAAa1tQ,CAAb,CAAD,IAAkBA,CAAC,CAACw2C,MAAzB,GAAiCx2C,CAAC,GAACA,CAAC,CAACw2C,MAAJ;;AAAW,eAAOx2C,CAAP;AAAS;;AAAAy1Q,MAAAA,yBAAyB,CAACpgR,CAAD,EAAG2K,CAAH,EAAK;AAAC,YAAG3K,CAAC,CAACg2P,WAAL,EAAiB;AAAC,gBAAMzrP,CAAC,GAAC,CAAC,GAAGvK,CAAC,CAAC+pP,gBAAF,GAAqBkD,YAArB,EAAJ,EAAwC,IAAI4iB,EAAJ,CAAO,EAAP,EAAU7vQ,CAAC,CAACkkF,aAAF,EAAV,CAAxC,CAAR;AAA8E,iBAAO,KAAK42L,cAAL,CAAoBvwQ,CAApB,EAAsBI,CAAtB,CAAP;AAAgC;;AAAA;AAAC,gBAAMJ,CAAC,GAACvK,CAAC,CAACu3P,SAAF,EAAR;;AAAsB,eAAI,MAAMv3P,CAAV,IAAeuK,CAAf,EAAiB,KAAI,MAAMA,CAAV,IAAevK,CAAf,EAAiB,IAAG,KAAK86Q,cAAL,CAAoBvwQ,CAAC,CAAC/vB,IAAtB,EAA2BmwB,CAA3B,CAAH,EAAiC,OAAM,CAAC,CAAP;AAAS;AAAA,eAAM,CAAC,CAAP;AAAS;;AAAe,OAAd01Q,cAAc,CAACrgR,CAAD,EAAG2K,CAAH,EAAK;AAAC3K,QAAAA,CAAC,GAAC,WAAUA,CAAV,EAAY;AAAC,eAAI,MAAM2K,CAAV,IAAe3K,CAAf,EAAiB,OAAM2K,CAAC,CAACynQ,oBAAF,EAAN;AAA+B,SAA7D,CAA8DpyQ,CAA9D,CAAF;;AAAmE,aAAI,MAAMuK,CAAV,IAAevK,CAAf,EAAiB,OAAM,KAAKsgR,uBAAL,CAA6B/1Q,CAA7B,EAA+BI,CAA/B,CAAN;AAAwC;;AAAAiwQ,MAAAA,wBAAwB,CAAC56Q,CAAD,EAAG2K,CAAC,GAAC,MAAL,EAAY;AAAC,YAAG,gBAAc3K,CAAC,CAACwD,IAAF,CAAO8+E,QAAxB,EAAiC,OAAO,IAAP;AAAY,YAAG,KAAKq5L,UAAL,CAAgB37Q,CAAhB,EAAkB,OAAlB,CAAH,EAA8B,OAAO,IAAIiyQ,EAAJ,CAAOjyQ,CAAP,CAAP;AAAiB,YAAIuK,CAAJ,EAAMgC,CAAN;AAAQ,cAAM51B,CAAC,GAACqpB,CAAC,CAACitP,YAAF,GAAiB19I,OAAjB,GAA2Bh1H,IAA3B,CAAiCylB,CAAC,IAAE,KAAKq4Q,OAAL,CAAar4Q,CAAb,CAApC,KAAuDA,CAAC,CAACwD,IAAjE;AAAsE,kBAAQmH,CAAR,IAAW,cAAYA,CAAvB,KAA2BJ,CAAC,GAAC,IAAI2lQ,EAAJ,CAAO;AAAC1b,UAAAA,UAAU,EAACyd,EAAE,CAACpb,SAAH,CAAalgR,CAAb,CAAZ;AAA4BgwG,UAAAA,aAAa,EAAC3mF,CAA1C;AAA4C0zM,UAAAA,SAAS,EAAC;AAAtD,SAAP,CAA7B,GAAwG,UAAQ/oM,CAAR,IAAW,aAAWA,CAAtB,KAA0B4B,CAAC,GAAC,IAAI2jQ,EAAJ,CAAO;AAAC1b,UAAAA,UAAU,EAACyd,EAAE,CAACpb,SAAH,CAAalgR,CAAb,CAAZ;AAA4BgwG,UAAAA,aAAa,EAAC3mF;AAA1C,SAAP,CAA5B,CAAxG;;AAA0L,aAAI,MAAMA,CAAV,IAAe,WAAUA,CAAV,EAAY2K,CAAZ,EAAc;AAAC,cAAIJ,CAAC,GAAC,CAAC,CAAP;;AAAS,iBAAK,CAACA,CAAN,GAAS;AAAC,gBAAGA,CAAC,GAAC,CAAC,CAAH,EAAKvK,CAAR,EAAU;AAAC,oBAAM2K,CAAC,GAAC3K,CAAC,CAACp1B,IAAF,EAAR;AAAiB+/B,cAAAA,CAAC,CAACY,IAAF,KAAShB,CAAC,GAAC,CAAC,CAAH,EAAK,MAAK;AAACg2Q,gBAAAA,MAAM,EAACvgR,CAAR;AAAU9uB,gBAAAA,KAAK,EAACy5B,CAAC,CAACz5B;AAAlB,eAAnB;AAA6C;;AAAA,gBAAGy5B,CAAH,EAAK;AAAC,oBAAM3K,CAAC,GAAC2K,CAAC,CAAC//B,IAAF,EAAR;AAAiBo1B,cAAAA,CAAC,CAACuL,IAAF,KAAShB,CAAC,GAAC,CAAC,CAAH,EAAK,MAAK;AAACg2Q,gBAAAA,MAAM,EAAC51Q,CAAR;AAAUz5B,gBAAAA,KAAK,EAAC8uB,CAAC,CAAC9uB;AAAlB,eAAnB;AAA6C;AAAC;AAAC,SAAjL,CAAkLq5B,CAAlL,EAAoLgC,CAApL,CAAf,EAAsM;AAAC,gBAAM5B,CAAC,GAAC3K,CAAC,CAACugR,MAAF,IAAUh2Q,CAAV,GAAY,YAAZ,GAAyB,cAAjC;AAAA,gBAAgDgC,CAAC,GAACvM,CAAC,CAAC9uB,KAApD;AAA0D,cAAGq7B,CAAC,CAACt1B,IAAF,IAAQ0zB,CAAR,IAAW,KAAK09E,QAAL,CAAc97E,CAAC,CAAC/xB,IAAhB,CAAd,EAAoC,OAAOy3R,EAAE,CAACnb,SAAH,CAAavqP,CAAC,CAAC/xB,IAAf,CAAP;AAA4B,cAAG,KAAKmhS,UAAL,CAAgBpvQ,CAAC,CAACipP,YAAlB,EAA+B,OAA/B,CAAH,EAA2C,OAAO,IAAIyc,EAAJ,CAAO1lQ,CAAC,CAACipP,YAAT,CAAP;AAA8B;;AAAA,eAAO,IAAP;AAAY;;AAAAgrB,MAAAA,iBAAiB,CAACxgR,CAAD,EAAG2K,CAAH,EAAK;AAAC,YAAIJ,CAAC,GAACvK,CAAC,CAACmhD,MAAR;;AAAe,eAAK52C,CAAL,GAAQ;AAAC,cAAG,KAAKoxQ,UAAL,CAAgBpxQ,CAAhB,EAAkBI,CAAlB,CAAH,EAAwB,OAAOJ,CAAP;AAAS,cAAG,KAAK8tQ,OAAL,CAAa9tQ,CAAb,CAAH,EAAmB,OAAO,IAAP;AAAYA,UAAAA,CAAC,GAACA,CAAC,CAAC42C,MAAJ;AAAW;;AAAA,eAAO,IAAP;AAAY;;AAAAs/N,MAAAA,oBAAoB,CAACzgR,CAAD,EAAG2K,CAAH,EAAKJ,CAAL,EAAO;AAAC,cAAMgC,CAAC,GAAChC,CAAC,CAAChuB,KAAV;;AAAgB,aAAI,MAAK,CAAC5F,CAAD,EAAG81B,CAAH,CAAT,IAAiBtK,MAAM,CAACqgF,OAAP,CAAe73E,CAAf,CAAjB,EAAmC4B,CAAC,CAACo1O,MAAF,CAASm5B,cAAT,CAAwB96Q,CAAxB,EAA0BrpB,CAA1B,KAA8B4zB,CAAC,CAACmxC,YAAF,CAAe/kE,CAAf,EAAiB81B,CAAjB,EAAmBzM,CAAnB,CAA9B;AAAoD;;AAAA0gR,MAAAA,0BAA0B,CAAC1gR,CAAD,EAAG2K,CAAH,EAAK;AAAC,aAAI,MAAMJ,CAAV,IAAevK,CAAf,EAAiB,IAAGuK,CAAC,CAACsgF,EAAF,CAAK,OAAL,CAAH,EAAiB81L,EAAE,CAAC,IAAD,EAAMp2Q,CAAN,EAAQI,CAAR,CAAF,CAAjB,KAAkC;AAAC,gBAAM3K,CAAC,GAACiyQ,EAAE,CAACpb,SAAH,CAAatsP,CAAb,EAAgBmsP,YAAhB,EAAR;;AAAuC,eAAI,MAAMnsP,CAAV,IAAevK,CAAf,EAAiB;AAAC2gR,YAAAA,EAAE,CAAC,IAAD,EAAMp2Q,CAAC,CAACmrP,UAAF,IAAcnrP,CAAC,CAAC42C,MAAtB,EAA6Bx2C,CAA7B,CAAF;AAAkC;AAAC;AAAC;;AAAAi2Q,MAAAA,yBAAyB,CAAC5gR,CAAD,EAAG2K,CAAH,EAAKJ,CAAL,EAAO;AAAC,cAAMgC,CAAC,GAAC,EAAR;;AAAW,aAAI,MAAK,CAAC51B,CAAD,EAAG81B,CAAH,CAAT,IAAiBzM,CAAC,CAACkkF,aAAF,EAAjB,EAAmC;AAAC,gBAAMlkF,CAAC,GAAC,KAAK+6Q,sBAAL,CAA4BpkS,CAA5B,CAAR;AAAuC,eAAK,CAAL,KAASqpB,CAAC,CAAC2K,CAAD,CAAV,KAAgB,KAAK,CAAL,KAASJ,CAAT,IAAYA,CAAC,KAAGvK,CAAC,CAAC2K,CAAD,CAAjB,KAAuB4B,CAAC,CAAC51B,CAAD,CAAD,GAAK81B,CAA5B,CAAhB;AAAgD;;AAAA,eAAOF,CAAP;AAAS;;AAAAuwQ,MAAAA,aAAa,CAAC98Q,CAAD,EAAG;AAAC,eAAO,IAAIq/Q,EAAJ,CAAOr/Q,CAAP,CAAP;AAAiB;;AAAAw/Q,MAAAA,WAAW,GAAE;AAAC,aAAKE,oBAAL,GAA0B,IAA1B;AAA+B;;AAAAC,MAAAA,QAAQ,GAAE;AAAC,cAAM3/Q,CAAC,GAAC,EAAR;AAAA,cAAW2K,CAAC,GAAC,KAAKw0Q,kBAAlB;AAAA,cAAqC50Q,CAAC,GAACpI,MAAM,CAACkD,IAAP,CAAYsF,CAAZ,CAAvC;;AAAsD,aAAI,MAAM4B,CAAV,IAAehC,CAAf,EAAiBvK,CAAC,CAACuM,CAAD,CAAD,GAAKs0Q,EAAE,CAACl2Q,CAAC,CAAC4B,CAAD,CAAF,EAAMA,CAAN,CAAP;;AAAgB,aAAI,MAAM5B,CAAV,IAAeJ,CAAf,EAAiBu2Q,EAAE,CAAC9gR,CAAD,EAAG2K,CAAH,CAAF;;AAAQ,aAAI,MAAMA,CAAV,IAAeJ,CAAf,EAAiBw2Q,EAAE,CAAC/gR,CAAD,EAAG2K,CAAH,CAAF;;AAAQ,aAAI,MAAMA,CAAV,IAAeJ,CAAf,EAAiBy2Q,EAAE,CAAChhR,CAAD,EAAG2K,CAAH,CAAF;;AAAQ,aAAI,MAAMA,CAAV,IAAeJ,CAAf,EAAiB02Q,EAAE,CAACjhR,CAAD,EAAG2K,CAAH,CAAF,EAAQu2Q,EAAE,CAAClhR,CAAD,EAAG2K,CAAH,CAAV;;AAAgB,aAAI,MAAMA,CAAV,IAAeJ,CAAf,EAAiB42Q,EAAE,CAACnhR,CAAD,EAAG2K,CAAH,CAAF,EAAQy2Q,EAAE,CAACphR,CAAD,EAAG2K,CAAH,CAAV,EAAgB02Q,EAAE,CAACrhR,CAAD,EAAG2K,CAAH,CAAlB;;AAAwB,aAAK+0Q,oBAAL,GAA0B1/Q,CAA1B;AAA4B;;AAAA8/Q,MAAAA,kBAAkB,CAAC9/Q,CAAD,EAAG2K,CAAH,EAAKJ,CAAC,GAACI,CAAC,CAACh+B,MAAF,GAAS,CAAhB,EAAkB;AAAC,cAAM4/B,CAAC,GAAC5B,CAAC,CAACoT,OAAF,CAAUxT,CAAV,CAAR;;AAAqB,YAAGvK,CAAC,CAACshR,OAAF,CAAUn1S,QAAV,CAAmBogC,CAAC,CAAC/7B,IAArB,CAAH,EAA8B;AAAC,cAAG,KAAG+5B,CAAN,EAAQ,OAAM,CAAC,CAAP;AAAS;AAAC,kBAAMvK,CAAC,GAAC,KAAKs/Q,aAAL,CAAmB/yQ,CAAnB,CAAR;AAA8B,mBAAO,KAAKuzQ,kBAAL,CAAwB9/Q,CAAxB,EAA0B2K,CAA1B,EAA4BJ,CAAC,GAAC,CAA9B,CAAP;AAAwC;AAAC;;AAAA,eAAM,CAAC,CAAP;AAAS;;AAAwB,OAAvB+1Q,uBAAuB,CAACtgR,CAAD,EAAG2K,CAAH,EAAK;AAAC,YAAIJ,CAAC,GAACvK,CAAC,CAACymF,KAAR;AAAA,YAAcl6E,CAAC,GAACvM,CAAC,CAACymF,KAAlB;;AAAwB,aAAI,MAAM9vG,CAAV,IAAeqpB,CAAC,CAACunG,QAAF,CAAW;AAACqtJ,UAAAA,OAAO,EAAC,CAAC;AAAV,SAAX,CAAf,EAAwCj+Q,CAAC,CAACk0G,EAAF,CAAK,SAAL,MAAkB,OAAM,KAAKy1L,uBAAL,CAA6BrO,EAAE,CAACpb,SAAH,CAAalgR,CAAb,CAA7B,EAA6Cg0B,CAA7C,CAAxB,GAAyE,KAAKmwQ,cAAL,CAAoBnkS,CAApB,EAAsBg0B,CAAtB,MAA2BJ,CAAC,CAACwrO,OAAF,CAAUxpO,CAAV,MAAe,MAAM,IAAI0lQ,EAAJ,CAAO1nQ,CAAP,EAASgC,CAAT,CAArB,GAAkChC,CAAC,GAAC4lQ,EAAE,CAAChb,YAAH,CAAgBx+Q,CAAhB,CAA/D,CAAzE,EAA4J41B,CAAC,GAAC4jQ,EAAE,CAAChb,YAAH,CAAgBx+Q,CAAhB,CAA9J;;AAAiL4zB,QAAAA,CAAC,CAACwrO,OAAF,CAAUxpO,CAAV,MAAe,MAAM,IAAI0lQ,EAAJ,CAAO1nQ,CAAP,EAASgC,CAAT,CAArB;AAAkC;;AAA5sK;;AAA6sK,UAAM8yQ,EAAN,CAAQ;AAAC5/S,MAAAA,WAAW,CAACugC,CAAD,EAAG;AAAC,YAAGA,CAAC,YAAYq/Q,EAAhB,EAAmB,OAAOr/Q,CAAP;AAAS,YAAI2K,CAAJ;AAAMA,QAAAA,CAAC,GAAC,YAAU,OAAO3K,CAAjB,GAAmB,CAACA,CAAD,CAAnB,GAAuBmF,KAAK,CAACi8E,OAAN,CAAcphF,CAAd,IAAiBA,CAAjB,GAAmBA,CAAC,CAACitP,YAAF,CAAe;AAACC,UAAAA,WAAW,EAAC,CAAC;AAAd,SAAf,CAA5C,EAA6E,KAAK7Q,MAAL,GAAY1xO,CAAC,CAACnhC,GAAF,CAAM+3S,EAAN,CAAzF;AAAmG;;AAAU,UAAN50S,MAAM,GAAE;AAAC,eAAO,KAAK0vQ,MAAL,CAAY1vQ,MAAnB;AAA0B;;AAAQ,UAAJ60M,IAAI,GAAE;AAAC,eAAO,KAAK66D,MAAL,CAAY,KAAKA,MAAL,CAAY1vQ,MAAZ,GAAmB,CAA/B,CAAP;AAAyC;;AAAgB,OAAfu/B,MAAM,CAACC,QAAQ,IAAG;AAAC,eAAO,KAAKkwO,MAAL,CAAYnwO,MAAM,CAACC,QAAnB,GAAP;AAAsC;;AAAAlG,MAAAA,IAAI,CAACjG,CAAD,EAAG;AAAC,cAAM2K,CAAC,GAAC,IAAI00Q,EAAJ,CAAO,CAACr/Q,CAAD,CAAP,CAAR;AAAoB,eAAO2K,CAAC,CAAC0xO,MAAF,GAAS,CAAC,GAAG,KAAKA,MAAT,EAAgB,GAAG1xO,CAAC,CAAC0xO,MAArB,CAAT,EAAsC1xO,CAA7C;AAA+C;;AAAAoT,MAAAA,OAAO,CAAC/d,CAAD,EAAG;AAAC,eAAO,KAAKq8O,MAAL,CAAYr8O,CAAZ,CAAP;AAAsB;;AAAS,OAARojL,QAAQ,GAAE;AAAC,eAAM,KAAKi5D,MAAL,CAAY7yQ,GAAZ,CAAiBw2B,CAAC,IAAEA,CAAC,CAACxvB,IAAtB,CAAN;AAAmC;;AAAAupG,MAAAA,QAAQ,CAAC/5E,CAAD,EAAG;AAAC,eAAOmF,KAAK,CAAC7H,IAAN,CAAW,KAAK8lL,QAAL,EAAX,EAA4Br2M,IAA5B,CAAiC,GAAjC,EAAsCgtG,QAAtC,CAA+C/5E,CAA/C,CAAP;AAAyD;;AAAAiC,MAAAA,UAAU,CAACjC,CAAD,EAAG;AAAC,eAAOmF,KAAK,CAAC7H,IAAN,CAAW,KAAK8lL,QAAL,EAAX,EAA4Br2M,IAA5B,CAAiC,GAAjC,EAAsCk1B,UAAtC,CAAiDjC,CAAjD,CAAP;AAA2D;;AAAnlB;;AAAolB,aAAS6gR,EAAT,CAAY7gR,CAAZ,EAAc2K,CAAd,EAAgB;AAAC,YAAMJ,CAAC,GAAC;AAAC/5B,QAAAA,IAAI,EAACm6B,CAAN;AAAQ22Q,QAAAA,OAAO,EAAC,EAAhB;AAAmBE,QAAAA,cAAc,EAAC,EAAlC;AAAqCC,QAAAA,UAAU,EAAC,EAAhD;AAAmD1B,QAAAA,eAAe,EAAC,EAAnE;AAAsE2B,QAAAA,iBAAiB,EAAC,EAAxF;AAA2FC,QAAAA,aAAa,EAAC,EAAzG;AAA4GC,QAAAA,gBAAgB,EAAC;AAA7H,OAAR;AAAyI,aAAO,UAAS5hR,CAAT,EAAW2K,CAAX,EAAa;AAAC,aAAI,MAAMJ,CAAV,IAAevK,CAAf,EAAiB;AAAC,gBAAMA,CAAC,GAACmC,MAAM,CAACkD,IAAP,CAAYkF,CAAZ,EAAe5gC,MAAf,CAAuBq2B,CAAC,IAAEA,CAAC,CAACiC,UAAF,CAAa,IAAb,CAA1B,CAAR;;AAAuD,eAAI,MAAMsK,CAAV,IAAevM,CAAf,EAAiB2K,CAAC,CAAC4B,CAAD,CAAD,GAAK,CAAC,CAAChC,CAAC,CAACgC,CAAD,CAAR;AAAY;AAAC,OAArH,CAAsHvM,CAAtH,EAAwHuK,CAAxH,GAA2Hs3Q,EAAE,CAAC7hR,CAAD,EAAGuK,CAAH,EAAK,SAAL,CAA7H,EAA6Is3Q,EAAE,CAAC7hR,CAAD,EAAGuK,CAAH,EAAK,gBAAL,CAA/I,EAAsKs3Q,EAAE,CAAC7hR,CAAD,EAAGuK,CAAH,EAAK,YAAL,CAAxK,EAA2Ls3Q,EAAE,CAAC7hR,CAAD,EAAGuK,CAAH,EAAK,iBAAL,CAA7L,EAAqNs3Q,EAAE,CAAC7hR,CAAD,EAAGuK,CAAH,EAAK,mBAAL,CAAvN,EAAiPs3Q,EAAE,CAAC7hR,CAAD,EAAGuK,CAAH,EAAK,eAAL,CAAnP,EAAyQs3Q,EAAE,CAAC7hR,CAAD,EAAGuK,CAAH,EAAK,kBAAL,CAA3Q,EAAoS,UAASvK,CAAT,EAAW2K,CAAX,EAAa;AAAC,aAAI,MAAMJ,CAAV,IAAevK,CAAf,EAAiB;AAAC,gBAAMA,CAAC,GAACuK,CAAC,CAACu3Q,cAAV;AAAyB9hR,UAAAA,CAAC,KAAG2K,CAAC,CAAC62Q,cAAF,CAAiBv7Q,IAAjB,CAAsBjG,CAAtB,GAAyB2K,CAAC,CAAC82Q,UAAF,CAAax7Q,IAAb,CAAkBjG,CAAlB,CAAzB,EAA8C2K,CAAC,CAAC+2Q,iBAAF,CAAoBz7Q,IAApB,CAAyBjG,CAAzB,CAA9C,EAA0E2K,CAAC,CAACi3Q,gBAAF,CAAmB37Q,IAAnB,CAAwBjG,CAAxB,CAA7E,CAAD;AAA0G;AAAC,OAApK,CAAqKA,CAArK,EAAuKuK,CAAvK,CAApS,EAA8cA,CAArd;AAAud;;AAAA,aAASu2Q,EAAT,CAAY9gR,CAAZ,EAAc2K,CAAd,EAAgB;AAAC,YAAMJ,CAAC,GAACvK,CAAC,CAAC2K,CAAD,CAAT;;AAAa,WAAI,MAAM4B,CAAV,IAAehC,CAAC,CAACo3Q,aAAjB,EAA+B;AAAC,cAAMp3Q,CAAC,GAACvK,CAAC,CAACuM,CAAD,CAAT;AAAahC,QAAAA,CAAC,IAAEA,CAAC,CAAC+2Q,OAAF,CAAUr7Q,IAAV,CAAe0E,CAAf,CAAH;AAAqB;;AAAAJ,MAAAA,CAAC,CAACo3Q,aAAF,CAAgBh1S,MAAhB,GAAuB,CAAvB;AAAyB;;AAAA,aAASo0S,EAAT,CAAY/gR,CAAZ,EAAc2K,CAAd,EAAgB;AAAC,WAAI,MAAMJ,CAAV,IAAevK,CAAC,CAAC2K,CAAD,CAAD,CAAK62Q,cAApB,EAAmC,IAAGxhR,CAAC,CAACuK,CAAD,CAAJ,EAAQ;AAACw3Q,QAAAA,EAAE,CAAC/hR,CAAD,EAAGuK,CAAH,CAAF,CAAQ1E,OAAR,CAAiB7F,CAAC,IAAE;AAACA,UAAAA,CAAC,CAACshR,OAAF,CAAUr7Q,IAAV,CAAe0E,CAAf;AAAkB,SAAvC;AAA0C;;AAAA,aAAO3K,CAAC,CAAC2K,CAAD,CAAD,CAAK62Q,cAAZ;AAA2B;;AAAA,aAASR,EAAT,CAAYhhR,CAAZ,EAAc2K,CAAd,EAAgB;AAAC,WAAI,MAAMJ,CAAV,IAAevK,CAAC,CAAC2K,CAAD,CAAD,CAAK82Q,UAApB,EAA+B;AAAC,cAAMl1Q,CAAC,GAACvM,CAAC,CAACuK,CAAD,CAAT;;AAAa,YAAGgC,CAAH,EAAK;AAAC,gBAAMhC,CAAC,GAACgC,CAAC,CAAC+0Q,OAAV;AAAkBthR,UAAAA,CAAC,CAAC2K,CAAD,CAAD,CAAK22Q,OAAL,CAAar7Q,IAAb,CAAkB,GAAGsE,CAArB;AAAwB;AAAC;;AAAA,aAAOvK,CAAC,CAAC2K,CAAD,CAAD,CAAK82Q,UAAZ;AAAuB;;AAAA,aAASR,EAAT,CAAYjhR,CAAZ,EAAc2K,CAAd,EAAgB;AAAC,WAAI,MAAMJ,CAAV,IAAevK,CAAC,CAAC2K,CAAD,CAAD,CAAK+2Q,iBAApB,EAAsC;AAAC,cAAMn1Q,CAAC,GAACvM,CAAC,CAACuK,CAAD,CAAT;;AAAa,YAAGgC,CAAH,EAAK;AAAC,gBAAMhC,CAAC,GAACgC,CAAC,CAACwzQ,eAAV;AAA0B//Q,UAAAA,CAAC,CAAC2K,CAAD,CAAD,CAAKo1Q,eAAL,CAAqB95Q,IAArB,CAA0B,GAAGsE,CAA7B;AAAgC;AAAC;;AAAA,aAAOvK,CAAC,CAAC2K,CAAD,CAAD,CAAK+2Q,iBAAZ;AAA8B;;AAAA,aAASR,EAAT,CAAYlhR,CAAZ,EAAc2K,CAAd,EAAgB;AAAC,YAAMJ,CAAC,GAACvK,CAAC,CAAC2K,CAAD,CAAT;;AAAa,WAAI,MAAMA,CAAV,IAAeJ,CAAC,CAACq3Q,gBAAjB,EAAkC;AAAC,cAAMr1Q,CAAC,GAACvM,CAAC,CAAC2K,CAAD,CAAT;;AAAa,YAAG4B,CAAH,EAAK;AAAC,gBAAMvM,CAAC,GAACmC,MAAM,CAACkD,IAAP,CAAYkH,CAAZ,EAAe5iC,MAAf,CAAuBq2B,CAAC,IAAEA,CAAC,CAACiC,UAAF,CAAa,IAAb,CAA1B,CAAR;;AAAuD,eAAI,MAAM0I,CAAV,IAAe3K,CAAf,EAAiB2K,CAAC,IAAIJ,CAAL,KAASA,CAAC,CAACI,CAAD,CAAD,GAAK4B,CAAC,CAAC5B,CAAD,CAAf;AAAoB;AAAC;;AAAA,aAAOJ,CAAC,CAACq3Q,gBAAT;AAA0B;;AAAA,aAAST,EAAT,CAAYnhR,CAAZ,EAAc2K,CAAd,EAAgB;AAAC,YAAMJ,CAAC,GAACvK,CAAC,CAAC2K,CAAD,CAAT;AAAA,YAAa4B,CAAC,GAAChC,CAAC,CAAC+2Q,OAAF,CAAU33S,MAAV,CAAkBghC,CAAC,IAAE3K,CAAC,CAAC2K,CAAD,CAAtB,CAAf;AAA2CJ,MAAAA,CAAC,CAAC+2Q,OAAF,GAAUn8Q,KAAK,CAAC7H,IAAN,CAAW,IAAIu0E,GAAJ,CAAQtlE,CAAR,CAAX,CAAV;AAAiC;;AAAA,aAAS60Q,EAAT,CAAYphR,CAAZ,EAAc2K,CAAd,EAAgB;AAAC,YAAMJ,CAAC,GAACvK,CAAC,CAAC2K,CAAD,CAAT;;AAAa,WAAI,MAAM4B,CAAV,IAAehC,CAAC,CAAC+2Q,OAAjB,EAAyB;AAACthR,QAAAA,CAAC,CAACuM,CAAD,CAAD,CAAKo1Q,aAAL,CAAmB17Q,IAAnB,CAAwB0E,CAAxB;AAA2B;AAAC;;AAAA,aAAS02Q,EAAT,CAAYrhR,CAAZ,EAAc2K,CAAd,EAAgB;AAAC,YAAMJ,CAAC,GAACvK,CAAC,CAAC2K,CAAD,CAAT;AAAaJ,MAAAA,CAAC,CAACw1Q,eAAF,GAAkB56Q,KAAK,CAAC7H,IAAN,CAAW,IAAIu0E,GAAJ,CAAQtnE,CAAC,CAACw1Q,eAAV,CAAX,CAAlB;AAAyD;;AAAA,aAAS8B,EAAT,CAAY7hR,CAAZ,EAAc2K,CAAd,EAAgBJ,CAAhB,EAAkB;AAAC,WAAI,MAAMgC,CAAV,IAAevM,CAAf,EAAiB;AAAC,cAAMA,CAAC,GAACuM,CAAC,CAAChC,CAAD,CAAT;AAAa,oBAAU,OAAOvK,CAAjB,GAAmB2K,CAAC,CAACJ,CAAD,CAAD,CAAKtE,IAAL,CAAUjG,CAAV,CAAnB,GAAgCmF,KAAK,CAACi8E,OAAN,CAAcphF,CAAd,KAAkB2K,CAAC,CAACJ,CAAD,CAAD,CAAKtE,IAAL,CAAU,GAAGjG,CAAb,CAAlD;AAAkE;AAAC;;AAAA,aAAS+hR,EAAT,CAAY/hR,CAAZ,EAAc2K,CAAd,EAAgB;AAAC,YAAMJ,CAAC,GAACvK,CAAC,CAAC2K,CAAD,CAAT;AAAa,aAAM,CAAC4B,CAAC,GAACvM,CAAF,EAAImC,MAAM,CAACkD,IAAP,CAAYkH,CAAZ,EAAe/iC,GAAf,CAAoBw2B,CAAC,IAAEuM,CAAC,CAACvM,CAAD,CAAxB,CAAL,EAAoCr2B,MAApC,CAA4Cq2B,CAAC,IAAEA,CAAC,CAACshR,OAAF,CAAUn1S,QAAV,CAAmBo+B,CAAC,CAAC/5B,IAArB,CAA/C,CAAN;AAAkF,UAAI+7B,CAAJ;AAAM;;AAAA,aAASg1Q,EAAT,CAAYvhR,CAAZ,EAAc;AAAC,aAAM,YAAU,OAAOA,CAAjB,IAAoBA,CAAC,CAAC6qF,EAAF,CAAK,kBAAL,CAApB,GAA6C;AAACr6G,QAAAA,IAAI,EAAC,YAAU,OAAOwvB,CAAjB,GAAmBA,CAAnB,GAAqB,mBAA3B;;AAA+C,SAACkuP,gBAAD,GAAmB,CAAE,CAApE;;AAAqErM,QAAAA,YAAY,GAAE,CAAE;;AAArF,OAA7C,GAAoI;AAACrxQ,QAAAA,IAAI,EAACwvB,CAAC,CAAC6qF,EAAF,CAAK,SAAL,IAAgB7qF,CAAC,CAACxvB,IAAlB,GAAuB,OAA7B;;AAAqC,SAAC09Q,gBAAD,GAAmB;AAAC,iBAAMluP,CAAC,CAACkuP,gBAAF,EAAN;AAA2B,SAApF;;AAAqFrM,QAAAA,YAAY,EAACl3O,CAAC,IAAE3K,CAAC,CAAC6hP,YAAF,CAAel3O,CAAf;AAArG,OAA1I;AAAkQ;;AAAA,aAASg2Q,EAAT,CAAY3gR,CAAZ,EAAc2K,CAAd,EAAgBJ,CAAhB,EAAkB;AAAC,WAAI,MAAMgC,CAAV,IAAe5B,CAAC,CAACujP,gBAAF,EAAf,EAAoCluP,CAAC,CAAC86Q,cAAF,CAAiBnwQ,CAAjB,EAAmB4B,CAAnB,KAAuBhC,CAAC,CAACs5N,eAAF,CAAkBt3N,CAAlB,EAAoB5B,CAApB,CAAvB;AAA8C;;AAAA,UAAMq3Q,EAAN,SAAiBz8C,CAAC,EAAlB,CAAqB;AAAC9lQ,MAAAA,WAAW,CAACugC,CAAD,EAAG;AAAC,iBAAQ,KAAKiiR,WAAL,GAAiB,IAAIhzQ,GAAJ,EAAzB,EAAiC,KAAKizQ,cAAL,GAAoB,IAAIjzQ,GAAJ,EAArD,EAA6D,KAAKkzQ,YAAL,GAAkB,IAA/E,EAAoF,KAAKC,oBAAL,GAA0B,IAAIvwM,GAAJ,EAA9G,EAAsH,KAAKwwM,aAAL,GAAmB,EAAC,GAAGriR,CAAJ;AAAMo2Q,UAAAA,UAAU,EAAC,IAAjB;AAAsB7wL,UAAAA,MAAM,EAAC,IAA7B;AAAkCh7G,UAAAA,KAAK,EAAC,IAAxC;AAA6C0sS,UAAAA,WAAW,EAAC,CAACj3Q,CAAD,EAAG2K,CAAH,KAAO,KAAK23Q,YAAL,CAAkBtiR,CAAlB,EAAoB2K,CAApB,CAAhE;AAAuFusQ,UAAAA,eAAe,EAAC,CAACl3Q,CAAD,EAAG2K,CAAH,KAAO,KAAK43Q,gBAAL,CAAsBviR,CAAtB,EAAwB2K,CAAxB,CAA9G;AAAyIizQ,UAAAA,UAAU,EAAC,CAAC59Q,CAAD,EAAG2K,CAAH,KAAO,KAAK63Q,WAAL,CAAiBxiR,CAAjB,EAAmB2K,CAAnB,CAA3J;AAAiLkzQ,UAAAA,sBAAsB,EAAC,CAAC79Q,CAAD,EAAG2K,CAAH,KAAO,KAAK83Q,uBAAL,CAA6BziR,CAA7B,EAA+B2K,CAA/B,CAA/M;AAAiP+3Q,UAAAA,oBAAoB,EAAC,CAAC1iR,CAAD,EAAG2K,CAAH,KAAO,KAAKg4Q,qBAAL,CAA2B3iR,CAA3B,EAA6B2K,CAA7B,CAA7Q;AAA6Si4Q,UAAAA,aAAa,EAAC5iR,CAAC,IAAE,KAAK6iR,cAAL,CAAoB7iR,CAApB,CAA9T;AAAqV8iR,UAAAA,gBAAgB,EAAC9iR,CAAC,IAAE,KAAK+iR,iBAAL,CAAuB/iR,CAAvB;AAAzW,SAAzI;AAA6gB;;AAAAq2Q,MAAAA,OAAO,CAACr2Q,CAAD,EAAG2K,CAAH,EAAKJ,CAAC,GAAC,CAAC,OAAD,CAAP,EAAiB;AAAC,aAAKm7E,IAAL,CAAU,aAAV,EAAwB1lF,CAAxB,GAA2B,KAAKmiR,YAAL,GAAkB,UAASniR,CAAT,EAAW2K,CAAX,EAAa;AAAC,cAAIJ,CAAJ;;AAAM,eAAI,MAAMgC,CAAV,IAAe,IAAI8yQ,EAAJ,CAAOr/Q,CAAP,CAAf,EAAyB;AAAC,kBAAMA,CAAC,GAAC,EAAR;;AAAW,iBAAI,MAAM2K,CAAV,IAAe4B,CAAC,CAAC2hP,gBAAF,EAAf,EAAoCluP,CAAC,CAAC2K,CAAD,CAAD,GAAK4B,CAAC,CAACs1O,YAAF,CAAel3O,CAAf,CAAL;;AAAuB,kBAAMh0B,CAAC,GAACg0B,CAAC,CAAC9D,aAAF,CAAgB0F,CAAC,CAAC/7B,IAAlB,EAAuBwvB,CAAvB,CAAR;AAAkCuK,YAAAA,CAAC,IAAEI,CAAC,CAAC27E,MAAF,CAAS3vG,CAAT,EAAW4zB,CAAX,CAAH,EAAiBA,CAAC,GAAC4lQ,EAAE,CAACzb,SAAH,CAAa/9Q,CAAb,EAAe,CAAf,CAAnB;AAAqC;;AAAA,iBAAO4zB,CAAP;AAAS,SAApM,CAAqMA,CAArM,EAAuMI,CAAvM,CAA7C,EAAuP,KAAK03Q,aAAL,CAAmB98L,MAAnB,GAA0B56E,CAAjR,EAAmR,KAAK03Q,aAAL,CAAmBjM,UAAnB,GAA8BqI,EAAE,CAACG,UAAH,CAAc5+Q,CAAd,CAAjT,EAAkU,KAAKqiR,aAAL,CAAmB93S,KAAnB,GAAyB,EAA3V;;AAA8V,cAAK;AAACmzS,UAAAA,UAAU,EAACnxQ;AAAZ,YAAe,KAAK+1Q,YAAL,CAAkBtiR,CAAlB,EAAoB,KAAKmiR,YAAzB,CAApB;AAAA,cAA2DxrS,CAAC,GAACg0B,CAAC,CAAC23O,sBAAF,EAA7D;;AAAwF,YAAG/1O,CAAH,EAAK;AAAC,eAAKy2Q,oBAAL;;AAA4B,eAAI,MAAMhjR,CAAV,IAAemF,KAAK,CAAC7H,IAAN,CAAW,KAAK6kR,YAAL,CAAkBhhO,MAAlB,CAAyB6iC,WAAzB,EAAX,CAAf,EAAkEr5E,CAAC,CAACmyC,MAAF,CAAS98C,CAAT,EAAWrpB,CAAX;;AAAcA,UAAAA,CAAC,CAACitG,OAAF,GAAU,UAAS5jF,CAAT,EAAW2K,CAAX,EAAa;AAAC,kBAAMJ,CAAC,GAAC,IAAIsnE,GAAJ,EAAR;AAAA,kBAAgBtlE,CAAC,GAAC,IAAI0C,GAAJ,EAAlB;AAAA,kBAA0Bt4B,CAAC,GAACs7R,EAAE,CAACpb,SAAH,CAAa72P,CAAb,EAAgBunG,QAAhB,EAA5B;;AAAuD,iBAAI,MAAMvnG,CAAV,IAAerpB,CAAf,EAAiBqpB,CAAC,CAAC6qF,EAAF,CAAK,SAAL,EAAe,SAAf,KAA2BtgF,CAAC,CAAC3V,GAAF,CAAMoL,CAAN,CAA3B;;AAAoC,iBAAI,MAAMA,CAAV,IAAeuK,CAAf,EAAiB;AAAC,oBAAMA,CAAC,GAACvK,CAAC,CAAC6hP,YAAF,CAAe,WAAf,CAAR;AAAA,oBAAoClrQ,CAAC,GAACg0B,CAAC,CAAC0yP,oBAAF,CAAuBr9P,CAAvB,CAAtC;AAAgEuM,cAAAA,CAAC,CAACuiB,GAAF,CAAMvkB,CAAN,IAASgC,CAAC,CAAC9rC,GAAF,CAAM8pC,CAAN,EAASm8E,GAAT,GAAa/vG,CAAC,CAACipB,KAAF,EAAtB,GAAgC2M,CAAC,CAACzH,GAAF,CAAMyF,CAAN,EAAQ,IAAI0nQ,EAAJ,CAAOt7R,CAAC,CAACipB,KAAF,EAAP,CAAR,CAAhC,EAA2D+K,CAAC,CAACs1E,MAAF,CAASjgF,CAAT,CAA3D;AAAuE;;AAAA,mBAAOuM,CAAP;AAAS,WAA5R,CAA6R51B,CAA7R,EAA+Rg0B,CAA/R,CAAV;AAA4S;;AAAA,eAAO,KAAKw3Q,YAAL,GAAkB,IAAlB,EAAuB,KAAKF,WAAL,CAAiBvjQ,KAAjB,EAAvB,EAAgD,KAAKwjQ,cAAL,CAAoBxjQ,KAApB,EAAhD,EAA4E,KAAK0jQ,oBAAL,CAA0B1jQ,KAA1B,EAA5E,EAA8G,KAAK2jQ,aAAL,CAAmB98L,MAAnB,GAA0B,IAAxI,EAA6I,KAAK88L,aAAL,CAAmB93S,KAAnB,GAAyB,IAAtK,EAA2KoM,CAAlL;AAAoL;;AAAA2rS,MAAAA,YAAY,CAACtiR,CAAD,EAAG2K,CAAH,EAAK;AAAC,cAAMJ,CAAC,GAAC;AAACozQ,UAAAA,QAAQ,EAAC39Q,CAAV;AAAYy9Q,UAAAA,WAAW,EAAC9yQ,CAAxB;AAA0B+yQ,UAAAA,UAAU,EAAC;AAArC,SAAR;AAAmD,YAAG19Q,CAAC,CAAC6qF,EAAF,CAAK,SAAL,IAAgB,KAAKnF,IAAL,CAAW,WAAU1lF,CAAC,CAACxvB,IAAK,EAA5B,EAA8B+5B,CAA9B,EAAgC,KAAK83Q,aAArC,CAAhB,GAAoEriR,CAAC,CAAC6qF,EAAF,CAAK,OAAL,IAAc,KAAKnF,IAAL,CAAU,MAAV,EAAiBn7E,CAAjB,EAAmB,KAAK83Q,aAAxB,CAAd,GAAqD,KAAK38L,IAAL,CAAU,kBAAV,EAA6Bn7E,CAA7B,EAA+B,KAAK83Q,aAApC,CAAzH,EAA4K93Q,CAAC,CAACmzQ,UAAF,IAAc,EAAEnzQ,CAAC,CAACmzQ,UAAF,YAAwBzL,EAA1B,CAA7L,EAA2N,MAAM,IAAI9vN,CAAJ,CAAM,6CAAN,EAAoD,IAApD,CAAN;AAAgE,eAAM;AAACu7N,UAAAA,UAAU,EAACnzQ,CAAC,CAACmzQ,UAAd;AAAyBD,UAAAA,WAAW,EAAClzQ,CAAC,CAACkzQ;AAAvC,SAAN;AAA0D;;AAAA8E,MAAAA,gBAAgB,CAACviR,CAAD,EAAG2K,CAAH,EAAK;AAAC,YAAIJ,CAAC,GAACI,CAAC,CAACkgF,EAAF,CAAK,UAAL,IAAiBlgF,CAAjB,GAAmBwlQ,EAAE,CAACzb,SAAH,CAAa/pP,CAAb,EAAe,CAAf,CAAzB;AAA2C,cAAM4B,CAAC,GAAC,IAAI0lQ,EAAJ,CAAO1nQ,CAAP,CAAR;;AAAkB,aAAI,MAAMI,CAAV,IAAexF,KAAK,CAAC7H,IAAN,CAAW0C,CAAC,CAACgkF,WAAF,EAAX,CAAf,EAA2C;AAAC,gBAAMhkF,CAAC,GAAC,KAAKsiR,YAAL,CAAkB33Q,CAAlB,EAAoBJ,CAApB,CAAR;;AAA+BvK,UAAAA,CAAC,CAAC09Q,UAAF,YAAwBzL,EAAxB,KAA6B1lQ,CAAC,CAACm6E,GAAF,GAAM1mF,CAAC,CAAC09Q,UAAF,CAAah3L,GAAnB,EAAuBn8E,CAAC,GAACvK,CAAC,CAACy9Q,WAAxD;AAAqE;;AAAA,eAAM;AAACC,UAAAA,UAAU,EAACnxQ,CAAZ;AAAckxQ,UAAAA,WAAW,EAAClzQ;AAA1B,SAAN;AAAmC;;AAAAi4Q,MAAAA,WAAW,CAACxiR,CAAD,EAAG2K,CAAH,EAAK;AAAC,cAAMJ,CAAC,GAAC,KAAKo4Q,qBAAL,CAA2B3iR,CAA3B,EAA6B2K,CAA7B,CAAR;;AAAwC,eAAM,CAAC,CAACJ,CAAF,KAAM,KAAK83Q,aAAL,CAAmB98L,MAAnB,CAA0Be,MAA1B,CAAiCtmF,CAAjC,EAAmCuK,CAAC,CAACz6B,QAArC,GAA+C,CAAC,CAAtD,CAAN;AAA+D;;AAAA2yS,MAAAA,uBAAuB,CAACziR,CAAD,EAAG2K,CAAH,EAAK;AAAC,cAAMJ,CAAC,GAAC,KAAKs4Q,cAAL,CAAoB7iR,CAApB,CAAR;AAAA,cAA+BuM,CAAC,GAAC,KAAK81Q,aAAL,CAAmB98L,MAApD;;AAA2D56E,QAAAA,CAAC,CAAC+yQ,UAAF,KAAe/yQ,CAAC,CAAC+yQ,UAAF,GAAanxQ,CAAC,CAACy6E,WAAF,CAAcz6E,CAAC,CAAC8wP,oBAAF,CAAuBr9P,CAAvB,CAAd,EAAwCuM,CAAC,CAAC6wP,mBAAF,CAAsB7yP,CAAC,CAACA,CAAC,CAAC59B,MAAF,GAAS,CAAV,CAAvB,CAAxC,CAA5B;;AAA2G,cAAMgK,CAAC,GAAC,KAAKurS,cAAL,CAAoBzhT,GAApB,CAAwBu/B,CAAxB,CAAR;;AAAmC2K,QAAAA,CAAC,CAAC8yQ,WAAF,GAAc9mS,CAAC,GAAC41B,CAAC,CAAC4wP,gBAAF,CAAmBxmR,CAAnB,EAAqB,CAArB,CAAD,GAAyBg0B,CAAC,CAAC+yQ,UAAF,CAAah3L,GAArD;AAAyD;;AAAAi8L,MAAAA,qBAAqB,CAAC3iR,CAAD,EAAG2K,CAAH,EAAK;AAAC,cAAK;AAACg3O,UAAAA,MAAM,EAACp3O,CAAR;AAAUg7E,UAAAA,MAAM,EAACh5E;AAAjB,YAAoB,KAAK81Q,aAA9B;AAA4C,YAAI1rS,CAAC,GAAC4zB,CAAC,CAACi2Q,iBAAF,CAAoB71Q,CAApB,EAAsB3K,CAAtB,CAAN;;AAA+B,YAAGrpB,CAAH,EAAK;AAAC,cAAGA,CAAC,KAAGg0B,CAAC,CAACw2C,MAAT,EAAgB,OAAM;AAACrxE,YAAAA,QAAQ,EAAC66B;AAAV,WAAN;AAAmB,eAAKw3Q,YAAL,CAAkBhhO,MAAlB,CAAyB8rM,YAAzB,GAAwC9gR,QAAxC,CAAiDwK,CAAjD,MAAsDA,CAAC,GAAC,IAAxD;AAA8D;;AAAA,YAAG,CAACA,CAAJ,EAAM,OAAOkmS,EAAE,CAAClyQ,CAAD,EAAG3K,CAAH,EAAKuK,CAAL,CAAF,GAAU;AAACz6B,UAAAA,QAAQ,EAACojE,EAAE,CAACvoC,CAAD,EAAG4B,CAAH;AAAZ,SAAV,GAA6B,IAApC;AAAyC,cAAME,CAAC,GAAC,KAAK41Q,aAAL,CAAmB98L,MAAnB,CAA0BxmG,KAA1B,CAAgC4rB,CAAhC,EAAkCh0B,CAAlC,CAAR;AAAA,cAA6C2zB,CAAC,GAAC,EAA/C;;AAAkD,aAAI,MAAMtK,CAAV,IAAeyM,CAAC,CAACs6E,KAAF,CAAQ+uK,SAAR,EAAf,EAAmC,IAAG,gBAAc91P,CAAC,CAAC/oB,IAAnB,EAAwBqzB,CAAC,CAACrE,IAAF,CAAOjG,CAAC,CAACxlB,IAAT,EAAxB,KAA2C;AAAC,gBAAMmwB,CAAC,GAACL,CAAC,CAAC/L,GAAF,EAAR;AAAA,gBAAgBgM,CAAC,GAACvK,CAAC,CAACxlB,IAApB;;AAAyB,eAAKyoS,kBAAL,CAAwBt4Q,CAAxB,EAA0BJ,CAA1B;AAA6B;;AAAA,cAAM63C,CAAC,GAAC31C,CAAC,CAACs6E,KAAF,CAAQL,GAAR,CAAYvlC,MAApB;AAA2B,eAAO,KAAK+gO,cAAL,CAAoBp9Q,GAApB,CAAwB9E,CAAxB,EAA0BoiD,CAA1B,GAA6B;AAACtyE,UAAAA,QAAQ,EAAC28B,CAAC,CAAC38B,QAAZ;AAAqBozS,UAAAA,YAAY,EAAC9gO;AAAlC,SAApC;AAAyE;;AAAA6gO,MAAAA,kBAAkB,CAACjjR,CAAD,EAAG2K,CAAH,EAAK;AAAC,aAAKs3Q,WAAL,CAAiBnzP,GAAjB,CAAqB9uB,CAArB,KAAyB,KAAKiiR,WAAL,CAAiBn9Q,GAAjB,CAAqB9E,CAArB,EAAuB,CAACA,CAAD,CAAvB,CAAzB;;AAAqD,cAAMuK,CAAC,GAAC,KAAK03Q,WAAL,CAAiBxhT,GAAjB,CAAqBu/B,CAArB,CAAR;;AAAgC,aAAKiiR,WAAL,CAAiBn9Q,GAAjB,CAAqB6F,CAArB,EAAuBJ,CAAvB,GAA0BA,CAAC,CAACtE,IAAF,CAAO0E,CAAP,CAA1B;AAAoC;;AAAAk4Q,MAAAA,cAAc,CAAC7iR,CAAD,EAAG;AAAC,YAAI2K,CAAJ;AAAM,eAAOA,CAAC,GAAC,KAAKs3Q,WAAL,CAAiBnzP,GAAjB,CAAqB9uB,CAArB,IAAwB,KAAKiiR,WAAL,CAAiBxhT,GAAjB,CAAqBu/B,CAArB,CAAxB,GAAgD,CAACA,CAAD,CAAlD,EAAsD2K,CAA7D;AAA+D;;AAAAo4Q,MAAAA,iBAAiB,CAAC/iR,CAAD,EAAG;AAAC,aAAKoiR,oBAAL,CAA0BxtR,GAA1B,CAA8BoL,CAA9B;AAAiC;;AAAAgjR,MAAAA,oBAAoB,GAAE;AAAC,YAAIhjR,CAAC,GAAC,CAAC,CAAP;;AAAS,aAAI,MAAM2K,CAAV,IAAe,KAAKs3Q,WAAL,CAAiB58Q,IAAjB,EAAf,EAAuCsF,CAAC,CAAC0L,OAAF,IAAW,CAAC,KAAK+rQ,oBAAL,CAA0BtzP,GAA1B,CAA8BnkB,CAA9B,CAAZ,KAA+C,KAAK03Q,aAAL,CAAmB98L,MAAnB,CAA0BtF,MAA1B,CAAiCt1E,CAAjC,GAAoC,KAAKs3Q,WAAL,CAAiBrtQ,MAAjB,CAAwBjK,CAAxB,CAApC,EAA+D3K,CAAC,GAAC,CAAC,CAAjH;;AAAoHA,QAAAA,CAAC,IAAE,KAAKgjR,oBAAL,EAAH;AAA+B;;AAApoH;;AAAqoH,UAAMG,EAAN,CAAQ;AAACC,MAAAA,OAAO,CAACpjR,CAAD,EAAG;AAAC,cAAM2K,CAAC,GAACupO,EAAE,CAACxyO,QAAH,CAAY2iQ,cAAZ,CAA2BC,kBAA3B,CAA8C,EAA9C,EAAkDz9P,aAAlD,CAAgE,KAAhE,CAAR;AAA+E,eAAO8D,CAAC,CAACgxC,WAAF,CAAc37C,CAAd,GAAiB2K,CAAC,CAAC8sO,SAA1B;AAAoC;;AAA/H;;AAAgI,UAAM4rC,EAAN,CAAQ;AAAC5jT,MAAAA,WAAW,CAACugC,CAAD,EAAG;AAAC,aAAKknQ,YAAL,GAAkB,CAAC,CAAnB,EAAqB,KAAKoc,SAAL,GAAe,IAAI3/B,SAAJ,EAApC,EAAkD,KAAKiX,YAAL,GAAkB,IAAI5oO,EAAJ,CAAOhyB,CAAP,EAAS;AAACyjQ,UAAAA,aAAa,EAAC;AAAf,SAAT,CAApE,EAAqG,KAAK8f,UAAL,GAAgB,IAAIJ,EAAJ,EAArH;AAA4H;;AAAAK,MAAAA,MAAM,CAACxjR,CAAD,EAAG;AAAC,cAAM2K,CAAC,GAAC,KAAKiwP,YAAL,CAAkByG,SAAlB,CAA4BrhQ,CAA5B,CAAR;AAAuC,eAAO,KAAKujR,UAAL,CAAgBH,OAAhB,CAAwBz4Q,CAAxB,CAAP;AAAkC;;AAAA84Q,MAAAA,MAAM,CAACzjR,CAAD,EAAG;AAAC,cAAM2K,CAAC,GAAC,KAAK+4Q,MAAL,CAAY1jR,CAAZ,CAAR;;AAAuB,eAAO,KAAK46P,YAAL,CAAkB+G,SAAlB,CAA4Bh3P,CAA5B,EAA8B;AAACu8P,UAAAA,YAAY,EAAC,KAAKA;AAAnB,SAA9B,CAAP;AAAuE;;AAAAF,MAAAA,yBAAyB,CAAChnQ,CAAD,EAAG;AAAC,aAAK46P,YAAL,CAAkBoM,yBAAlB,CAA4ChnQ,CAA5C;AAA+C;;AAAA2jR,MAAAA,aAAa,CAAC3jR,CAAD,EAAG;AAAC,aAAK46P,YAAL,CAAkB4I,eAAlB,GAAkC,YAAUxjQ,CAAV,GAAY,YAAZ,GAAyB,MAA3D;AAAkE;;AAAA0jR,MAAAA,MAAM,CAAC1jR,CAAD,EAAG;AAACA,QAAAA,CAAC,CAACkqD,KAAF,CAAQ,wCAAR,MAAoDlqD,CAAC,GAAE,SAAQA,CAAE,SAAjE;AAA2E,cAAM2K,CAAC,GAAC,KAAK24Q,SAAL,CAAe1/B,eAAf,CAA+B5jP,CAA/B,EAAiC,WAAjC,CAAR;AAAA,cAAsDuK,CAAC,GAACI,CAAC,CAAC23O,sBAAF,EAAxD;AAAA,cAAmF/1O,CAAC,GAAC5B,CAAC,CAACtzB,IAAF,CAAOssP,UAA5F;;AAAuG,eAAKp3N,CAAC,CAAC5/B,MAAF,GAAS,CAAd,GAAiB49B,CAAC,CAACoxC,WAAF,CAAcpvC,CAAC,CAAC,CAAD,CAAf;;AAAoB,eAAOhC,CAAP;AAAS;;AAAhtB;;AAAitB,UAAMgqL,EAAN,SAAiBgxC,CAAC,EAAlB,CAAqB;AAAC9lQ,MAAAA,WAAW,CAACugC,CAAD,EAAG2K,CAAH,EAAK;AAAC,iBAAQ,KAAKpuB,KAAL,GAAWyjB,CAAnB,EAAqB,KAAKk0Q,MAAL,GAAY,IAAI3B,EAAJ,EAAjC,EAAwC,KAAK6L,kBAAL,GAAwB,IAAIpJ,EAAJ,CAAO;AAACd,UAAAA,MAAM,EAAC,KAAKA,MAAb;AAAoBvyB,UAAAA,MAAM,EAAC3hP,CAAC,CAAC2hP;AAA7B,SAAP,CAAhE,EAA6G,KAAKy8B,kBAAL,CAAwB38R,EAAxB,CAA2B,cAA3B,EAA2C,CAACue,CAAD,EAAG2K,CAAH,EAAKJ,CAAL,KAAS;AAAC,cAAG,CAACA,CAAC,CAAC6rQ,UAAF,CAAavB,OAAb,CAAqBlqQ,CAAC,CAACnwB,IAAvB,EAA4BwlB,CAAC,CAACxvB,IAA9B,CAAJ,EAAwC;AAAO,gBAAM+7B,CAAC,GAAChC,CAAC,CAACg7E,MAAV;AAAA,gBAAiB5uG,CAAC,GAAC4zB,CAAC,CAAC2pQ,MAAF,CAASD,cAAT,CAAwBtpQ,CAAC,CAACo8E,KAAF,CAAQN,KAAhC,CAAnB;AAAA,gBAA0Dh6E,CAAC,GAACF,CAAC,CAACy5E,UAAF,CAAar7E,CAAC,CAACnwB,IAAF,CAAO7S,IAApB,CAA5D;AAAsF4kC,UAAAA,CAAC,CAAC+5E,MAAF,CAAS3vG,CAAT,EAAW81B,CAAX;AAAc,SAAxM,EAA0M;AAACk5E,UAAAA,QAAQ,EAAC;AAAV,SAA1M,CAA7G,EAA4U,KAAKy4L,kBAAL,CAAwB38R,EAAxB,CAA2B,QAA3B,EAAqC,CAACue,CAAD,EAAG2K,CAAH,EAAKJ,CAAL,KAAS;AAACA,UAAAA,CAAC,CAAC4sQ,iBAAF,CAAoBxsQ,CAAC,CAACnwB,IAAtB,GAA4BmwB,CAAC,CAACosQ,YAAF,IAAgB,CAACpsQ,CAAC,CAACnwB,IAAF,CAAOqwG,EAAP,CAAU,SAAV,CAAjB,IAAuClgF,CAAC,CAACnwB,IAAF,CAAO67B,OAA9C,IAAuD9L,CAAC,CAAC2sQ,eAAF,CAAkBvsQ,CAAC,CAACnwB,IAApB,CAAnF;AAA6G,SAA5J,EAA8J;AAACmrG,UAAAA,QAAQ,EAAC;AAAV,SAA9J,CAA5U,EAA+f,KAAKi+L,gBAAL,GAAsB,IAAI5B,EAAJ,CAAO;AAACrgC,UAAAA,MAAM,EAAC3hP,CAAC,CAAC2hP;AAAV,SAAP,CAArhB,EAA+iB,KAAKkiC,YAAL,GAAkB,IAAIzqB,EAAJ,CAAOzuP,CAAP,CAAjkB,EAA2kB,KAAKsoP,eAAL,GAAqBtoP,CAAhmB,EAAkmB,KAAKm5Q,aAAL,GAAmB,IAAIT,EAAJ,CAAO,KAAKQ,YAAZ,CAArnB,EAA+oB,KAAKE,SAAL,GAAe,KAAKD,aAAnqB,EAAirB,KAAKE,WAAL,GAAiB,IAAIhpB,EAAJ,CAAO,KAAK6oB,YAAZ,CAAlsB,EAA4tB,KAAKD,gBAAL,CAAsBniS,EAAtB,CAAyB,MAAzB,EAAiC,CAACue,CAAD,EAAG2K,CAAH,EAAK;AAACg3O,UAAAA,MAAM,EAACp3O,CAAR;AAAU6rQ,UAAAA,UAAU,EAAC7pQ,CAArB;AAAuBg5E,UAAAA,MAAM,EAAC5uG;AAA9B,SAAL,KAAwC;AAAC,cAAI81B,CAAC,GAAC9B,CAAC,CAAC8yQ,WAAR;AAAoB,cAAG,CAAClxQ,CAAC,CAAClX,IAAF,CAAOsV,CAAC,CAACgzQ,QAAT,CAAJ,EAAuB;;AAAO,cAAG,CAACpzQ,CAAC,CAACoxQ,UAAF,CAAalvQ,CAAb,EAAe,OAAf,CAAJ,EAA4B;AAAC,gBAAG,CAACowQ,EAAE,CAACpwQ,CAAD,EAAG,OAAH,EAAWlC,CAAX,CAAN,EAAoB;AAAO,gBAAG,KAAGI,CAAC,CAACgzQ,QAAF,CAAWh2S,IAAX,CAAgBq2E,IAAhB,GAAuBrxE,MAA7B,EAAoC;AAAO,kBAAMqzB,CAAC,GAACyM,CAAC,CAACipP,UAAV;AAAqBjpP,YAAAA,CAAC,GAACymC,EAAE,CAACzmC,CAAD,EAAG91B,CAAH,CAAJ,EAAUqpB,CAAC,IAAEA,CAAC,CAAC6qF,EAAF,CAAK,SAAL,EAAe,SAAf,CAAH,KAA+Bl0G,CAAC,CAACylR,IAAF,CAAOzlR,CAAC,CAAC2mR,aAAF,CAAgBt9P,CAAhB,CAAP,EAA0ByM,CAA1B,GAA6BA,CAAC,GAAC91B,CAAC,CAACymR,mBAAF,CAAsBp9P,CAAtB,CAA9D,CAAV;AAAkG;;AAAAuM,UAAAA,CAAC,CAACsoQ,OAAF,CAAUlqQ,CAAC,CAACgzQ,QAAZ;AAAsB,gBAAMrzQ,CAAC,GAAC3zB,CAAC,CAACqvG,UAAF,CAAar7E,CAAC,CAACgzQ,QAAF,CAAWh2S,IAAxB,CAAR;AAAsCgP,UAAAA,CAAC,CAAC2vG,MAAF,CAASh8E,CAAT,EAAWmC,CAAX,GAAc9B,CAAC,CAAC+yQ,UAAF,GAAa/mS,CAAC,CAACqwG,WAAF,CAAcv6E,CAAd,EAAgBA,CAAC,CAACkpP,YAAF,CAAerrP,CAAC,CAACsjP,UAAjB,CAAhB,CAA3B,EAAyEjjP,CAAC,CAAC8yQ,WAAF,GAAc9yQ,CAAC,CAAC+yQ,UAAF,CAAah3L,GAApG;AAAwG,SAA1f,EAA4f;AAACf,UAAAA,QAAQ,EAAC;AAAV,SAA5f,CAA5tB,EAA6uC,KAAKi+L,gBAAL,CAAsBniS,EAAtB,CAAyB,SAAzB,EAAoC,CAACue,CAAD,EAAG2K,CAAH,EAAKJ,CAAL,KAAS;AAAC,cAAG,CAACI,CAAC,CAAC+yQ,UAAH,IAAenzQ,CAAC,CAAC6rQ,UAAF,CAAavB,OAAb,CAAqBlqQ,CAAC,CAACgzQ,QAAvB,EAAgC;AAACntS,YAAAA,IAAI,EAAC,CAAC;AAAP,WAAhC,CAAlB,EAA6D;AAAC,kBAAK;AAACktS,cAAAA,UAAU,EAAC19Q,CAAZ;AAAcy9Q,cAAAA,WAAW,EAAClxQ;AAA1B,gBAA6BhC,CAAC,CAAC2sQ,eAAF,CAAkBvsQ,CAAC,CAACgzQ,QAApB,EAA6BhzQ,CAAC,CAAC8yQ,WAA/B,CAAlC;AAA8E9yQ,YAAAA,CAAC,CAAC+yQ,UAAF,GAAa19Q,CAAb,EAAe2K,CAAC,CAAC8yQ,WAAF,GAAclxQ,CAA7B;AAA+B;AAAC,SAA1N,EAA4N;AAACo5E,UAAAA,QAAQ,EAAC;AAAV,SAA5N,CAA7uC,EAA89C,KAAKi+L,gBAAL,CAAsBniS,EAAtB,CAAyB,kBAAzB,EAA6C,CAACue,CAAD,EAAG2K,CAAH,EAAKJ,CAAL,KAAS;AAAC,cAAG,CAACI,CAAC,CAAC+yQ,UAAH,IAAenzQ,CAAC,CAAC6rQ,UAAF,CAAavB,OAAb,CAAqBlqQ,CAAC,CAACgzQ,QAAvB,EAAgC;AAACntS,YAAAA,IAAI,EAAC,CAAC;AAAP,WAAhC,CAAlB,EAA6D;AAAC,kBAAK;AAACktS,cAAAA,UAAU,EAAC19Q,CAAZ;AAAcy9Q,cAAAA,WAAW,EAAClxQ;AAA1B,gBAA6BhC,CAAC,CAAC2sQ,eAAF,CAAkBvsQ,CAAC,CAACgzQ,QAApB,EAA6BhzQ,CAAC,CAAC8yQ,WAA/B,CAAlC;AAA8E9yQ,YAAAA,CAAC,CAAC+yQ,UAAF,GAAa19Q,CAAb,EAAe2K,CAAC,CAAC8yQ,WAAF,GAAclxQ,CAA7B;AAA+B;AAAC,SAAnO,EAAqO;AAACo5E,UAAAA,QAAQ,EAAC;AAAV,SAArO,CAA99C,EAAwtDtjC,CAAC,GAAGp4C,SAAJ,CAAc2lN,QAAd,CAAuBzmN,IAAvB,CAA4B,IAA5B,EAAiC,MAAjC,CAAxtD,EAAiwDk5C,CAAC,GAAGp4C,SAAJ,CAAc2lN,QAAd,CAAuBzmN,IAAvB,CAA4B,IAA5B,EAAiC,KAAjC,CAAjwD,EAAyyDk5C,CAAC,GAAGp4C,SAAJ,CAAc2lN,QAAd,CAAuBzmN,IAAvB,CAA4B,IAA5B,EAAiC,KAAjC,CAAzyD,EAAi1Dk5C,CAAC,GAAGp4C,SAAJ,CAAc2lN,QAAd,CAAuBzmN,IAAvB,CAA4B,IAA5B,EAAiC,QAAjC,CAAj1D,EAA43Dk5C,CAAC,GAAGp4C,SAAJ,CAAc2lN,QAAd,CAAuBzmN,IAAvB,CAA4B,IAA5B,EAAiC,SAAjC,CAA53D,EAAw6D,KAAK1nB,EAAL,CAAQ,MAAR,EAAgB,MAAI;AAAC,eAAKikG,IAAL,CAAU,OAAV;AAAmB,SAAxC,EAA0C;AAACC,UAAAA,QAAQ,EAAC;AAAV,SAA1C,CAAx6D,EAAu+D,KAAKlkG,EAAL,CAAQ,OAAR,EAAiB,MAAI;AAAC,eAAKlF,KAAL,CAAW8oG,aAAX,CAAyB;AAACC,YAAAA,UAAU,EAAC,CAAC;AAAb,WAAzB,EAAyC2e,EAAzC;AAA6C,SAAnE,EAAqE;AAACte,UAAAA,QAAQ,EAAC;AAAV,SAArE,CAAv+D;AAAikE;;AAAAllH,MAAAA,GAAG,CAACu/B,CAAC,GAAC,EAAH,EAAM;AAAC,cAAK;AAACsiF,UAAAA,QAAQ,EAAC33E,CAAC,GAAC,MAAZ;AAAmBqzC,UAAAA,IAAI,EAACzzC,CAAC,GAAC;AAA1B,YAAmCvK,CAAxC;AAA0C,YAAG,CAAC,KAAKikR,mBAAL,CAAyB,CAACt5Q,CAAD,CAAzB,CAAJ,EAAkC,MAAM,IAAIw3C,CAAJ,CAAM,sCAAN,EAA6C,IAA7C,CAAN;AAAyD,cAAM51C,CAAC,GAAC,KAAKhwB,KAAL,CAAWmlB,QAAX,CAAoB0kF,OAApB,CAA4Bz7E,CAA5B,CAAR;AAAuC,eAAO4B,CAAC,CAACi3E,UAAF,MAAgB35E,CAAC,CAAC,kCAAD,EAAoC,IAApC,CAAjB,EAA2D,YAAUU,CAAV,IAAa,KAAKhuB,KAAL,CAAW2nS,UAAX,CAAsB33Q,CAAtB,EAAwB;AAAC43Q,UAAAA,iBAAiB,EAAC,CAAC;AAApB,SAAxB,CAAb,GAA6D,KAAKllS,SAAL,CAAestB,CAAf,EAAiBvM,CAAjB,CAA7D,GAAiF,EAAnJ;AAAsJ;;AAAA/gB,MAAAA,SAAS,CAAC+gB,CAAD,EAAG2K,CAAC,GAAC,EAAL,EAAQ;AAAC,cAAMJ,CAAC,GAAC,KAAKk5Q,MAAL,CAAYzjR,CAAZ,EAAc2K,CAAd,CAAR;AAAyB,eAAO,KAAKo5Q,SAAL,CAAeP,MAAf,CAAsBj5Q,CAAtB,CAAP;AAAgC;;AAAAk5Q,MAAAA,MAAM,CAACzjR,CAAD,EAAG2K,CAAC,GAAC,EAAL,EAAQ;AAAC,cAAMJ,CAAC,GAAC,KAAKs5Q,YAAb;AAAA,cAA0Bt3Q,CAAC,GAAC,KAAKy3Q,WAAjC;AAA6C,aAAK9P,MAAL,CAAYL,aAAZ;;AAA4B,cAAMl9R,CAAC,GAACs7R,EAAE,CAACpb,SAAH,CAAa72P,CAAb,CAAR;AAAA,cAAwByM,CAAC,GAAC,IAAIsuP,EAAJ,CAAOxwP,CAAP,CAA1B;;AAAoC,aAAK2pQ,MAAL,CAAY/S,YAAZ,CAAyBnhQ,CAAzB,EAA2ByM,CAA3B;AAA8B,cAAMnC,CAAC,GAACtK,CAAC,CAAC6qF,EAAF,CAAK,kBAAL,IAAyB7qF,CAAC,CAAC4jF,OAA3B,GAAmC,UAAS5jF,CAAT,EAAW;AAAC,gBAAM2K,CAAC,GAAC,EAAR;AAAA,gBAAWJ,CAAC,GAACvK,CAAC,CAACwD,IAAF,CAAO9B,QAApB;AAA6B,cAAG,CAAC6I,CAAJ,EAAM,OAAO,IAAI0E,GAAJ,EAAP;;AAAe,gBAAM1C,CAAC,GAAC0lQ,EAAE,CAACpb,SAAH,CAAa72P,CAAb,CAAR;;AAAwB,eAAI,MAAMA,CAAV,IAAeuK,CAAC,CAAChuB,KAAF,CAAQqnG,OAAvB,EAA+B;AAAC,kBAAMr5E,CAAC,GAACvK,CAAC,CAACukF,QAAF,EAAR;AAAA,kBAAqB5tG,CAAC,GAAC4zB,CAAC,CAACyrP,WAAzB;AAAA,kBAAqCvpP,CAAC,GAAClC,CAAC,CAACk8E,KAAF,CAAQsvJ,OAAR,CAAgBxpO,CAAC,CAACk6E,KAAlB,KAA0Bl8E,CAAC,CAACm8E,GAAF,CAAMqvJ,OAAN,CAAcxpO,CAAC,CAACm6E,GAAhB,CAAjE;AAAsF,gBAAG/vG,CAAC,IAAE81B,CAAN,EAAQ9B,CAAC,CAAC1E,IAAF,CAAO,CAACjG,CAAC,CAACxvB,IAAH,EAAQ+5B,CAAR,CAAP,EAAR,KAA+B;AAAC,oBAAM5zB,CAAC,GAAC41B,CAAC,CAACipO,eAAF,CAAkBjrO,CAAlB,CAAR;AAA6B5zB,cAAAA,CAAC,IAAEg0B,CAAC,CAAC1E,IAAF,CAAO,CAACjG,CAAC,CAACxvB,IAAH,EAAQmG,CAAR,CAAP,CAAH;AAAsB;AAAC;;AAAA,iBAAOg0B,CAAC,CAACk2C,IAAF,CAAQ,CAAC,CAAC7gD,CAAD,EAAG2K,CAAH,CAAD,EAAO,CAACJ,CAAD,EAAGgC,CAAH,CAAP,KAAe;AAAC,gBAAG,YAAU5B,CAAC,CAAC+7E,GAAF,CAAMmvK,WAAN,CAAkBtpP,CAAC,CAACk6E,KAApB,CAAb,EAAwC,OAAO,CAAP;AAAS,gBAAG,aAAW97E,CAAC,CAAC87E,KAAF,CAAQovK,WAAR,CAAoBtpP,CAAC,CAACm6E,GAAtB,CAAd,EAAyC,OAAM,CAAC,CAAP;;AAAS,oBAAO/7E,CAAC,CAAC87E,KAAF,CAAQovK,WAAR,CAAoBtpP,CAAC,CAACk6E,KAAtB,CAAP;AAAqC,mBAAI,QAAJ;AAAa,uBAAO,CAAP;;AAAS,mBAAI,OAAJ;AAAY,uBAAM,CAAC,CAAP;;AAAS;AAAQ,wBAAO97E,CAAC,CAAC+7E,GAAF,CAAMmvK,WAAN,CAAkBtpP,CAAC,CAACm6E,GAApB,CAAP;AAAiC,uBAAI,QAAJ;AAAa,2BAAO,CAAP;;AAAS,uBAAI,OAAJ;AAAY,2BAAM,CAAC,CAAP;;AAAS;AAAQ,2BAAOn8E,CAAC,CAACs3K,aAAF,CAAgB7hL,CAAhB,CAAP;AAApF;;AAAxF;AAAwM,WAAnU,GAAsU,IAAIiP,GAAJ,CAAQtE,CAAR,CAA7U;AAAwV,SAAxnB,CAAynB3K,CAAznB,CAA3C;AAAuqB,eAAO,KAAKo+Q,kBAAL,CAAwB/H,OAAxB,CAAgC1/R,CAAhC,EAAkC2zB,CAAlC,EAAoCiC,CAApC,EAAsC5B,CAAtC,GAAyC8B,CAAhD;AAAkD;;AAAAlrC,MAAAA,IAAI,CAACy+B,CAAD,EAAG;AAAC,YAAG,KAAKzjB,KAAL,CAAWmlB,QAAX,CAAoB9gC,OAAvB,EAA+B,MAAM,IAAIuhF,CAAJ,CAAM,wCAAN,EAA+C,IAA/C,CAAN;AAA2D,YAAIx3C,CAAC,GAAC,EAAN;AAAS,YAAG,YAAU,OAAO3K,CAAjB,GAAmB2K,CAAC,CAACy5Q,IAAF,GAAOpkR,CAA1B,GAA4B2K,CAAC,GAAC3K,CAA9B,EAAgC,CAAC,KAAKikR,mBAAL,CAAyB9hR,MAAM,CAACkD,IAAP,CAAYsF,CAAZ,CAAzB,CAApC,EAA6E,MAAM,IAAIw3C,CAAJ,CAAM,uCAAN,EAA8C,IAA9C,CAAN;AAA0D,eAAO,KAAK5lE,KAAL,CAAW8oG,aAAX,CAAyB;AAACC,UAAAA,UAAU,EAAC,CAAC;AAAb,SAAzB,EAA0CtlF,CAAC,IAAE;AAAC,eAAI,MAAMuK,CAAV,IAAepI,MAAM,CAACkD,IAAP,CAAYsF,CAAZ,CAAf,EAA8B;AAAC,kBAAM4B,CAAC,GAAC,KAAKhwB,KAAL,CAAWmlB,QAAX,CAAoB0kF,OAApB,CAA4B77E,CAA5B,CAAR;AAAuCvK,YAAAA,CAAC,CAACsmF,MAAF,CAAS,KAAKxnG,KAAL,CAAW6rB,CAAC,CAACJ,CAAD,CAAZ,EAAgBgC,CAAhB,CAAT,EAA4BA,CAA5B,EAA8B,CAA9B;AAAiC;AAAC,SAAtJ,GAAyJ/C,OAAO,CAACC,OAAR,EAAhK;AAAkL;;AAAA3E,MAAAA,GAAG,CAAC9E,CAAD,EAAG2K,CAAC,GAAC,EAAL,EAAQ;AAAC,YAAIJ,CAAC,GAAC,EAAN;AAAS,YAAG,YAAU,OAAOvK,CAAjB,GAAmBuK,CAAC,CAAC65Q,IAAF,GAAOpkR,CAA1B,GAA4BuK,CAAC,GAACvK,CAA9B,EAAgC,CAAC,KAAKikR,mBAAL,CAAyB9hR,MAAM,CAACkD,IAAP,CAAYkF,CAAZ,CAAzB,CAApC,EAA6E,MAAM,IAAI43C,CAAJ,CAAM,sCAAN,EAA6C,IAA7C,CAAN;AAAyD,aAAK5lE,KAAL,CAAW8oG,aAAX,CAAyB16E,CAAC,CAAC05Q,SAAF,IAAa,EAAtC,EAA0CrkR,CAAC,IAAE;AAACA,UAAAA,CAAC,CAACm7P,YAAF,CAAe,IAAf,GAAqBn7P,CAAC,CAACskR,wBAAF,CAA2B,KAAK/nS,KAAL,CAAWmlB,QAAX,CAAoBooP,SAApB,CAA8BoE,gBAA9B,EAA3B,CAArB;;AAAkG,eAAI,MAAMvjP,CAAV,IAAexI,MAAM,CAACkD,IAAP,CAAYkF,CAAZ,CAAf,EAA8B;AAAC,kBAAMgC,CAAC,GAAC,KAAKhwB,KAAL,CAAWmlB,QAAX,CAAoB0kF,OAApB,CAA4Bz7E,CAA5B,CAAR;AAAuC3K,YAAAA,CAAC,CAACigF,MAAF,CAASjgF,CAAC,CAACu9P,aAAF,CAAgBhxP,CAAhB,CAAT,GAA6BvM,CAAC,CAACsmF,MAAF,CAAS,KAAKxnG,KAAL,CAAWyrB,CAAC,CAACI,CAAD,CAAZ,EAAgB4B,CAAhB,CAAT,EAA4BA,CAA5B,EAA8B,CAA9B,CAA7B;AAA8D;AAAC,SAArR;AAAwR;;AAAAztB,MAAAA,KAAK,CAACkhB,CAAD,EAAG2K,CAAC,GAAC,OAAL,EAAa;AAAC,cAAMJ,CAAC,GAAC,KAAKw5Q,SAAL,CAAeN,MAAf,CAAsBzjR,CAAtB,CAAR;AAAiC,eAAO,KAAKukR,OAAL,CAAah6Q,CAAb,EAAeI,CAAf,CAAP;AAAyB;;AAAA45Q,MAAAA,OAAO,CAACvkR,CAAD,EAAG2K,CAAC,GAAC,OAAL,EAAa;AAAC,eAAO,KAAKpuB,KAAL,CAAWmlM,MAAX,CAAmBn3K,CAAC,IAAE,KAAKq5Q,gBAAL,CAAsBvN,OAAtB,CAA8Br2Q,CAA9B,EAAgCuK,CAAhC,EAAkCI,CAAlC,CAAtB,CAAP;AAAoE;;AAAA65Q,MAAAA,sBAAsB,CAACxkR,CAAD,EAAG;AAACA,QAAAA,CAAC,CAAC,KAAKizP,eAAN,CAAD;AAAwB;;AAAA+T,MAAAA,yBAAyB,CAAChnQ,CAAD,EAAG;AAAC,aAAK+jR,SAAL,IAAgB,KAAKA,SAAL,KAAiB,KAAKD,aAAtC,IAAqD,KAAKC,SAAL,CAAe/c,yBAAf,CAAyChnQ,CAAzC,CAArD,EAAiG,KAAK8jR,aAAL,CAAmB9c,yBAAnB,CAA6ChnQ,CAA7C,CAAjG;AAAiJ;;AAAA2+E,MAAAA,OAAO,GAAE;AAAC,aAAK+mJ,aAAL;AAAqB;;AAAAu+C,MAAAA,mBAAmB,CAACjkR,CAAD,EAAG;AAAC,aAAI,MAAM2K,CAAV,IAAe3K,CAAf,EAAiB,IAAG,CAAC,KAAKzjB,KAAL,CAAWmlB,QAAX,CAAoB0kF,OAApB,CAA4Bz7E,CAA5B,CAAJ,EAAmC,OAAM,CAAC,CAAP;;AAAS,eAAM,CAAC,CAAP;AAAS;;AAAtrJ;;AAAurJ,UAAM85Q,EAAN,CAAQ;AAAChlT,MAAAA,WAAW,CAACugC,CAAD,EAAG2K,CAAH,EAAK;AAAC,aAAK+5Q,QAAL,GAAc,IAAIz1Q,GAAJ,EAAd,EAAsB,KAAK01Q,SAAL,GAAeh2F,EAAE,CAAC3uL,CAAD,CAAvC,EAA2C,KAAK4kR,wBAAL,CAA8B;AAACp0S,UAAAA,IAAI,EAAC,UAAN;AAAiBq0S,UAAAA,WAAW,EAAC,KAAKF,SAAlC;AAA4CG,UAAAA,UAAU,EAAC,CAAC;AAAxD,SAA9B,CAA3C,EAAqI,KAAKC,OAAL,GAAap2F,EAAE,CAAChkL,CAAD,CAApJ,EAAwJ,KAAKi6Q,wBAAL,CAA8B;AAACp0S,UAAAA,IAAI,EAAC,QAAN;AAAeq0S,UAAAA,WAAW,EAAC,KAAKE,OAAhC;AAAwCD,UAAAA,UAAU,EAAC,CAAC;AAApD,SAA9B,CAAxJ;AAA8O;;AAAAE,MAAAA,QAAQ,CAAChlR,CAAD,EAAG2K,CAAH,EAAK;AAAC,cAAMJ,CAAC,GAAC,KAAKo6Q,SAAL,CAAex4S,QAAf,CAAwBw+B,CAAxB,CAAR;;AAAmC,YAAG,CAAC,KAAKo6Q,OAAL,CAAa54S,QAAb,CAAsBw+B,CAAtB,CAAD,IAA2B,CAACJ,CAA/B,EAAiC,MAAM,IAAI43C,CAAJ,CAAM,gDAAN,EAAuD,IAAvD,CAAN;;AAAmE,aAAKyiO,wBAAL,CAA8B;AAACp0S,UAAAA,IAAI,EAACwvB,CAAN;AAAQ6kR,UAAAA,WAAW,EAAC,CAACl6Q,CAAD,CAApB;AAAwBm6Q,UAAAA,UAAU,EAACv6Q;AAAnC,SAA9B;AAAqE;;AAAAmwM,MAAAA,GAAG,CAAC16M,CAAD,EAAG;AAAC,YAAG,CAAC,KAAK0kR,QAAL,CAAc51P,GAAd,CAAkB9uB,CAAlB,CAAJ,EAAyB,MAAM,IAAImiD,CAAJ,CAAM,8BAAN,EAAqC,IAArC,CAAN;AAAiD,eAAO,KAAKuiO,QAAL,CAAcjkT,GAAd,CAAkBu/B,CAAlB,CAAP;AAA4B;;AAAAm7Q,MAAAA,gBAAgB,CAACn7Q,CAAD,EAAG;AAAC,aAAK06M,GAAL,CAAS,UAAT,EAAqBygE,gBAArB,CAAsCn7Q,CAAtC;;AAAyC,aAAI,MAAK;AAACzjB,UAAAA,KAAK,EAACouB,CAAP;AAASmrK,UAAAA,IAAI,EAACvrK;AAAd,SAAT,IAA4B06Q,EAAE,CAACjlR,CAAD,CAA9B,EAAkC,KAAK06M,GAAL,CAAS,QAAT,EAAmBygE,gBAAnB,CAAoC;AAAC5+R,UAAAA,KAAK,EAACouB,CAAP;AAASmrK,UAAAA,IAAI,EAACvrK,CAAd;AAAgBixQ,UAAAA,iBAAiB,EAACx7Q,CAAC,CAACw7Q;AAApC,SAApC;AAA4F;;AAAAO,MAAAA,kBAAkB,CAAC/7Q,CAAD,EAAG;AAAC,aAAK06M,GAAL,CAAS,UAAT,EAAqBqhE,kBAArB,CAAwC/7Q,CAAxC;;AAA2C,aAAI,MAAK;AAACzjB,UAAAA,KAAK,EAACouB,CAAP;AAASmrK,UAAAA,IAAI,EAACvrK;AAAd,SAAT,IAA4B06Q,EAAE,CAACjlR,CAAD,CAA9B,EAAkC,KAAK06M,GAAL,CAAS,QAAT,EAAmBuiE,kBAAnB,CAAsC;AAACnnG,UAAAA,IAAI,EAACvrK,CAAN;AAAQhuB,UAAAA,KAAK,EAACouB,CAAd;AAAgB6wQ,UAAAA,iBAAiB,EAACx7Q,CAAC,CAACw7Q;AAApC,SAAtC;AAA8F;;AAAAQ,MAAAA,oBAAoB,CAACh8Q,CAAD,EAAG;AAAC,aAAK06M,GAAL,CAAS,UAAT,EAAqBshE,oBAArB,CAA0Ch8Q,CAA1C;;AAA6C,aAAI,MAAK;AAACzjB,UAAAA,KAAK,EAACouB,CAAP;AAASmrK,UAAAA,IAAI,EAACvrK;AAAd,SAAT,IAA4B06Q,EAAE,CAACjlR,CAAD,CAA9B,EAAkC,KAAK06M,GAAL,CAAS,QAAT,EAAmBshE,oBAAnB,CAAwC;AAAClmG,UAAAA,IAAI,EAACvrK,CAAN;AAAQhuB,UAAAA,KAAK,EAACouB;AAAd,SAAxC;AAA0D;;AAAAi6Q,MAAAA,wBAAwB,CAAC;AAACp0S,QAAAA,IAAI,EAACwvB,CAAN;AAAQ6kR,QAAAA,WAAW,EAACl6Q,CAApB;AAAsBm6Q,QAAAA,UAAU,EAACv6Q;AAAjC,OAAD,EAAqC;AAAC,YAAG,KAAKm6Q,QAAL,CAAc51P,GAAd,CAAkB9uB,CAAlB,CAAH,EAAwB,MAAM,IAAImiD,CAAJ,CAAM,yBAAN,EAAgC,IAAhC,CAAN;AAA4C,cAAM51C,CAAC,GAAChC,CAAC,GAAC,IAAI2wQ,EAAJ,CAAOvwQ,CAAP,CAAD,GAAW,IAAIoyQ,EAAJ,CAAOpyQ,CAAP,CAApB;;AAA8B,aAAK+5Q,QAAL,CAAc5/Q,GAAd,CAAkB9E,CAAlB,EAAoBuM,CAApB;AAAuB;;AAA3xC;;AAA4xC,cAAS04Q,EAAT,CAAYjlR,CAAZ,EAAc;AAAC,UAAGA,CAAC,CAACzjB,KAAF,CAAQ8kC,MAAX,EAAkB,KAAI,MAAM1W,CAAV,IAAe3K,CAAC,CAACzjB,KAAF,CAAQ8kC,MAAvB,EAA8B;AAAC,cAAM9W,CAAC,GAAC;AAACzE,UAAAA,GAAG,EAAC9F,CAAC,CAACzjB,KAAF,CAAQupB,GAAb;AAAiB50B,UAAAA,KAAK,EAACy5B;AAAvB,SAAR;AAAA,cAAkC4B,CAAC,GAACvM,CAAC,CAAC81K,IAAF,CAAOnrK,CAAP,CAApC;AAAA,cAA8Ch0B,CAAC,GAACqpB,CAAC,CAACklR,UAAF,GAAallR,CAAC,CAACklR,UAAF,CAAav6Q,CAAb,CAAb,GAA6B,KAAK,CAAlF;AAAoF,eAAMw6Q,EAAE,CAAC56Q,CAAD,EAAGgC,CAAH,EAAK51B,CAAL,CAAR;AAAgB,OAArJ,MAA0J,OAAMwuS,EAAE,CAACnlR,CAAC,CAACzjB,KAAH,EAASyjB,CAAC,CAAC81K,IAAX,EAAgB91K,CAAC,CAACklR,UAAlB,CAAR;AAAsC;;AAAA,cAASC,EAAT,CAAYnlR,CAAZ,EAAc2K,CAAd,EAAgBJ,CAAhB,EAAkB;AAAC,UAAG,MAAK;AAAChuB,QAAAA,KAAK,EAACyjB,CAAP;AAAS81K,QAAAA,IAAI,EAACnrK;AAAd,OAAL,EAAsBJ,CAAzB,EAA2B,KAAI,MAAMI,CAAV,IAAegkL,EAAE,CAACpkL,CAAD,CAAjB,EAAqB,MAAK;AAAChuB,QAAAA,KAAK,EAACyjB,CAAP;AAAS81K,QAAAA,IAAI,EAACnrK;AAAd,OAAL;AAAsB;;AAAA,UAAMy6Q,EAAN,CAAQ;AAAC3lT,MAAAA,WAAW,CAACugC,CAAD,EAAG;AAAC,aAAKqlR,WAAL,GAAiBrlR,CAAjB,EAAmB,KAAK04Q,mBAAL,GAAyB,SAAO,KAAK2M,WAAxD,EAAoE,KAAK79K,KAAL,GAAW,IAA/E;AAAoF;;AAAA89K,MAAAA,SAAS,GAAE,CAAE;;AAAA9gM,MAAAA,MAAM,GAAE;AAAC,cAAMxkF,CAAC,GAACmC,MAAM,CAACC,MAAP,CAAc,EAAd,EAAiB,IAAjB,CAAR;AAA+B,eAAOpC,CAAC,CAACulR,WAAF,GAAc,KAAK9lT,WAAL,CAAiBqiM,SAA/B,EAAyC,OAAO9hK,CAAC,CAACwnG,KAAlD,EAAwD,OAAOxnG,CAAC,CAAC04Q,mBAAjE,EAAqF14Q,CAA5F;AAA8F;;AAAoB,iBAAT8hK,SAAS,GAAE;AAAC,eAAM,WAAN;AAAkB;;AAAe,aAARguG,QAAQ,CAAC9vQ,CAAD,EAAG2K,CAAH,EAAK;AAAC,eAAO,IAAI,IAAJ,CAAS3K,CAAC,CAACqlR,WAAX,CAAP;AAA+B;;AAApV;;AAAqV,aAASG,EAAT,CAAYxlR,CAAZ,EAAc2K,CAAd,EAAgB;AAAC,YAAMJ,CAAC,GAACk7Q,EAAE,CAAC96Q,CAAD,CAAV;AAAA,YAAc4B,CAAC,GAAChC,CAAC,CAAC4sE,MAAF,CAAU,CAACn3E,CAAD,EAAG2K,CAAH,KAAO3K,CAAC,GAAC2K,CAAC,CAACijP,UAArB,EAAiC,CAAjC,CAAhB;AAAA,YAAoDj3Q,CAAC,GAACqpB,CAAC,CAACmhD,MAAxD;AAA+DukO,MAAAA,EAAE,CAAC1lR,CAAD,CAAF;AAAM,YAAMyM,CAAC,GAACzM,CAAC,CAACwhB,KAAV;AAAgB,aAAO7qC,CAAC,CAACo8Q,YAAF,CAAetmP,CAAf,EAAiBlC,CAAjB,GAAoBo7Q,EAAE,CAAChvS,CAAD,EAAG81B,CAAC,GAAClC,CAAC,CAAC59B,MAAP,CAAtB,EAAqCg5S,EAAE,CAAChvS,CAAD,EAAG81B,CAAH,CAAvC,EAA6C,IAAIwlQ,EAAJ,CAAOjyQ,CAAP,EAASA,CAAC,CAAC21P,YAAF,CAAeppP,CAAf,CAAT,CAApD;AAAgF;;AAAA,aAASq5Q,EAAT,CAAY5lR,CAAZ,EAAc;AAAC,UAAG,CAACA,CAAC,CAACi2P,MAAN,EAAa,MAAM,IAAI9zM,CAAJ,CAAM,uCAAN,EAA8C,IAA9C,CAAN;AAA0D,YAAMx3C,CAAC,GAAC3K,CAAC,CAACymF,KAAF,CAAQtlC,MAAhB;AAAuBukO,MAAAA,EAAE,CAAC1lR,CAAC,CAACymF,KAAH,CAAF,EAAYi/L,EAAE,CAAC1lR,CAAC,CAAC0mF,GAAH,CAAd;;AAAsB,YAAMn8E,CAAC,GAACI,CAAC,CAAC0iP,eAAF,CAAkBrtP,CAAC,CAACymF,KAAF,CAAQjlE,KAA1B,EAAgCxhB,CAAC,CAAC0mF,GAAF,CAAMllE,KAAN,GAAYxhB,CAAC,CAACymF,KAAF,CAAQjlE,KAApD,CAAR;;AAAmE,aAAOmkQ,EAAE,CAACh7Q,CAAD,EAAG3K,CAAC,CAACymF,KAAF,CAAQjlE,KAAX,CAAF,EAAoBjX,CAA3B;AAA6B;;AAAA,aAASs7Q,EAAT,CAAY7lR,CAAZ,EAAc2K,CAAd,EAAgB;AAAC,UAAG,CAAC3K,CAAC,CAACi2P,MAAN,EAAa,MAAM,IAAI9zM,CAAJ,CAAM,qCAAN,EAA4C,IAA5C,CAAN;AAAwD,YAAM53C,CAAC,GAACq7Q,EAAE,CAAC5lR,CAAD,CAAV;AAAc,aAAOwlR,EAAE,CAAC76Q,CAAC,GAACA,CAAC,CAACmnQ,yBAAF,CAA4B9xQ,CAAC,CAACymF,KAA9B,EAAoCzmF,CAAC,CAAC0mF,GAAF,CAAMrJ,MAAN,GAAar9E,CAAC,CAACymF,KAAF,CAAQpJ,MAAzD,CAAH,EAAoE9yE,CAApE,CAAT;AAAgF;;AAAA,aAASk7Q,EAAT,CAAYzlR,CAAZ,EAAc;AAAC,YAAM2K,CAAC,GAAC,EAAR;AAAW,OAAC,SAAS3K,CAAT,CAAWuK,CAAX,EAAa;AAAC,YAAG,YAAU,OAAOA,CAApB,EAAsBI,CAAC,CAAC1E,IAAF,CAAO,IAAI4pQ,EAAJ,CAAOtlQ,CAAP,CAAP,EAAtB,KAA6C,IAAGA,CAAC,YAAYwlQ,EAAhB,EAAmBplQ,CAAC,CAAC1E,IAAF,CAAO,IAAI4pQ,EAAJ,CAAOtlQ,CAAC,CAAC5iC,IAAT,EAAc4iC,CAAC,CAAC25E,aAAF,EAAd,CAAP,EAAnB,KAAiE,IAAG35E,CAAC,YAAYwkQ,EAAhB,EAAmBpkQ,CAAC,CAAC1E,IAAF,CAAOsE,CAAP,EAAnB,KAAkC,IAAGq9N,CAAC,CAACr9N,CAAD,CAAJ,EAAQ,KAAI,MAAMI,CAAV,IAAeJ,CAAf,EAAiBvK,CAAC,CAAC2K,CAAD,CAAD,CAAzB,KAAkC,CAAE;AAAC,OAAnM,CAAoM3K,CAApM,CAAD;;AAAwM,WAAI,IAAIA,CAAC,GAAC,CAAV,EAAYA,CAAC,GAAC2K,CAAC,CAACh+B,MAAhB,EAAuBqzB,CAAC,EAAxB,EAA2B;AAAC,cAAMuK,CAAC,GAACI,CAAC,CAAC3K,CAAD,CAAT;AAAA,cAAauM,CAAC,GAAC5B,CAAC,CAAC3K,CAAC,GAAC,CAAH,CAAhB;AAAsBuK,QAAAA,CAAC,YAAYslQ,EAAb,IAAiBtjQ,CAAC,YAAYsjQ,EAA9B,IAAkCloF,EAAE,CAACp9K,CAAD,EAAGgC,CAAH,CAApC,KAA4C5B,CAAC,CAACw4F,MAAF,CAASnjG,CAAC,GAAC,CAAX,EAAa,CAAb,EAAe,IAAI6vQ,EAAJ,CAAOtjQ,CAAC,CAAC5kC,IAAF,GAAO4iC,CAAC,CAAC5iC,IAAhB,EAAqB4kC,CAAC,CAAC23E,aAAF,EAArB,CAAf,GAAwDlkF,CAAC,EAArG;AAAyG;;AAAA,aAAO2K,CAAP;AAAS;;AAAA,aAASg7Q,EAAT,CAAY3lR,CAAZ,EAAc2K,CAAd,EAAgB;AAAC,YAAMJ,CAAC,GAACvK,CAAC,CAAC6sP,QAAF,CAAWliP,CAAC,GAAC,CAAb,CAAR;AAAA,YAAwB4B,CAAC,GAACvM,CAAC,CAAC6sP,QAAF,CAAWliP,CAAX,CAA1B;;AAAwC,UAAGJ,CAAC,IAAEgC,CAAH,IAAMhC,CAAC,CAACsgF,EAAF,CAAK,OAAL,CAAN,IAAqBt+E,CAAC,CAACs+E,EAAF,CAAK,OAAL,CAArB,IAAoC88F,EAAE,CAACp9K,CAAD,EAAGgC,CAAH,CAAzC,EAA+C;AAAC,cAAM51B,CAAC,GAAC,IAAIk5R,EAAJ,CAAOtlQ,CAAC,CAAC5iC,IAAF,GAAO4kC,CAAC,CAAC5kC,IAAhB,EAAqB4iC,CAAC,CAAC25E,aAAF,EAArB,CAAR;AAAgDlkF,QAAAA,CAAC,CAACqtP,eAAF,CAAkB1iP,CAAC,GAAC,CAApB,EAAsB,CAAtB,GAAyB3K,CAAC,CAAC+yP,YAAF,CAAepoP,CAAC,GAAC,CAAjB,EAAmBh0B,CAAnB,CAAzB;AAA+C;AAAC;;AAAA,aAAS+uS,EAAT,CAAY1lR,CAAZ,EAAc;AAAC,YAAM2K,CAAC,GAAC3K,CAAC,CAAC0tP,QAAV;AAAA,YAAmBnjP,CAAC,GAACvK,CAAC,CAACmhD,MAAvB;;AAA8B,UAAGx2C,CAAH,EAAK;AAAC,cAAM4B,CAAC,GAACvM,CAAC,CAACq9E,MAAF,GAAS1yE,CAAC,CAACs0P,WAAnB;AAAA,cAA+BtoR,CAAC,GAACg0B,CAAC,CAAC6W,KAAnC;;AAAyCjX,QAAAA,CAAC,CAAC8iP,eAAF,CAAkB12Q,CAAlB,EAAoB,CAApB;;AAAuB,cAAM81B,CAAC,GAAC,IAAIojQ,EAAJ,CAAOllQ,CAAC,CAAChjC,IAAF,CAAOs3I,MAAP,CAAc,CAAd,EAAgB1yG,CAAhB,CAAP,EAA0B5B,CAAC,CAACu5E,aAAF,EAA1B,CAAR;AAAA,cAAqD55E,CAAC,GAAC,IAAIulQ,EAAJ,CAAOllQ,CAAC,CAAChjC,IAAF,CAAOs3I,MAAP,CAAc1yG,CAAd,CAAP,EAAwB5B,CAAC,CAACu5E,aAAF,EAAxB,CAAvD;;AAAkG35E,QAAAA,CAAC,CAACwoP,YAAF,CAAep8Q,CAAf,EAAiB,CAAC81B,CAAD,EAAGnC,CAAH,CAAjB;AAAwB;AAAC;;AAAA,aAASq9K,EAAT,CAAY3nL,CAAZ,EAAc2K,CAAd,EAAgB;AAAC,YAAMJ,CAAC,GAACvK,CAAC,CAACkkF,aAAF,EAAR;AAAA,YAA0B33E,CAAC,GAAC5B,CAAC,CAACu5E,aAAF,EAA5B;;AAA8C,WAAI,MAAMlkF,CAAV,IAAeuK,CAAf,EAAiB;AAAC,YAAGvK,CAAC,CAAC,CAAD,CAAD,KAAO2K,CAAC,CAACk3O,YAAF,CAAe7hP,CAAC,CAAC,CAAD,CAAhB,CAAV,EAA+B,OAAM,CAAC,CAAP;AAASuM,QAAAA,CAAC,CAAC3hC,IAAF;AAAS;;AAAA,aAAO2hC,CAAC,CAAC3hC,IAAF,GAAS2gC,IAAhB;AAAqB;;AAAA,UAAMu6Q,EAAN,SAAiBV,EAAjB,CAAmB;AAAC3lT,MAAAA,WAAW,CAACugC,CAAD,EAAG2K,CAAH,EAAKJ,CAAL,EAAOgC,CAAP,EAAS;AAAC,cAAMA,CAAN,GAAS,KAAK+kQ,cAAL,GAAoBtxQ,CAAC,CAACJ,KAAF,EAA7B,EAAuC,KAAK0xQ,cAAL,CAAoBzqL,UAApB,GAA+B,QAAtE,EAA+E,KAAK68B,OAAL,GAAa/4G,CAA5F,EAA8F,KAAK4mQ,cAAL,GAAoBhnQ,CAAC,CAAC3K,KAAF,EAAlH,EAA4H,KAAK2xQ,cAAL,CAAoB1qL,UAApB,GAA+B,QAA3J;AAAoK;;AAAQ,UAAJ5vG,IAAI,GAAE;AAAC,eAAM,gBAAc,KAAKs6R,cAAL,CAAoB/tQ,IAApB,CAAyB8+E,QAAvC,GAAgD,QAAhD,GAAyD,gBAAc,KAAKgvL,cAAL,CAAoB9tQ,IAApB,CAAyB8+E,QAAvC,GAAgD,UAAhD,GAA2D,MAA1H;AAAiI;;AAAsB,UAAlByjM,kBAAkB,GAAE;AAAC,eAAM,CAAC9T,EAAE,CAACrb,2BAAH,CAA+B,KAAK0a,cAApC,EAAmD,KAAK5tJ,OAAxD,CAAD,EAAkEuuJ,EAAE,CAACrb,2BAAH,CAA+B,KAAK2a,cAApC,EAAmD,CAAnD,CAAlE,CAAN;AAA+H;;AAAA3xQ,MAAAA,KAAK,GAAE;AAAC,eAAO,IAAIkmR,EAAJ,CAAO,KAAKxU,cAAZ,EAA2B,KAAK5tJ,OAAhC,EAAwC,KAAK6tJ,cAA7C,EAA4D,KAAK8T,WAAjE,CAAP;AAAqF;;AAAAW,MAAAA,kBAAkB,GAAE;AAAC,eAAO,KAAKzU,cAAL,CAAoBO,yBAApB,CAA8C,KAAKR,cAAnD,EAAkE,KAAK5tJ,OAAvE,CAAP;AAAuF;;AAAAuiK,MAAAA,WAAW,GAAE;AAAC,cAAMjmR,CAAC,GAAC,KAAKsxQ,cAAL,CAAoBF,0BAApB,CAA+C,KAAKG,cAApD,EAAmE,KAAK7tJ,OAAxE,CAAR;;AAAyF,eAAO,IAAIoiK,EAAJ,CAAO,KAAKE,kBAAL,EAAP,EAAiC,KAAKtiK,OAAtC,EAA8C1jH,CAA9C,EAAgD,KAAKqlR,WAAL,GAAiB,CAAjE,CAAP;AAA2E;;AAAAC,MAAAA,SAAS,GAAE;AAAC,cAAMtlR,CAAC,GAAC,KAAKsxQ,cAAL,CAAoBnwN,MAA5B;AAAA,cAAmCx2C,CAAC,GAAC,KAAK4mQ,cAAL,CAAoBpwN,MAAzD;AAAA,cAAgE52C,CAAC,GAAC,KAAK+mQ,cAAL,CAAoBj0L,MAAtF;AAAA,cAA6F9wE,CAAC,GAAC,KAAKglQ,cAAL,CAAoBl0L,MAAnH;AAA0H,YAAG9yE,CAAC,GAAC,KAAKm5G,OAAP,GAAe1jH,CAAC,CAACqvQ,SAApB,EAA8B,MAAM,IAAIltN,CAAJ,CAAM,mCAAN,EAA0C,IAA1C,CAAN;AAAsD,YAAGniD,CAAC,KAAG2K,CAAJ,IAAOJ,CAAC,GAACgC,CAAT,IAAYA,CAAC,GAAChC,CAAC,GAAC,KAAKm5G,OAAxB,EAAgC,MAAM,IAAIvhE,CAAJ,CAAM,kCAAN,EAAyC,IAAzC,CAAN;;AAAqD,YAAG,KAAKmvN,cAAL,CAAoB9tQ,IAApB,IAA0B,KAAK+tQ,cAAL,CAAoB/tQ,IAA9C,IAAoD,YAAUmkO,CAAC,CAAC,KAAK2pC,cAAL,CAAoBb,aAApB,EAAD,EAAqC,KAAKc,cAAL,CAAoBd,aAApB,EAArC,CAAlE,EAA4I;AAAC,gBAAMzwQ,CAAC,GAAC,KAAKsxQ,cAAL,CAAoBtqS,IAApB,CAAyB2F,MAAzB,GAAgC,CAAxC;AAA0C,cAAG,KAAK4kS,cAAL,CAAoBvqS,IAApB,CAAyBg5B,CAAzB,KAA6BuK,CAA7B,IAAgC,KAAKgnQ,cAAL,CAAoBvqS,IAApB,CAAyBg5B,CAAzB,IAA4BuK,CAAC,GAAC,KAAKm5G,OAAtE,EAA8E,MAAM,IAAIvhE,CAAJ,CAAM,iCAAN,EAAwC,IAAxC,CAAN;AAAoD;AAAC;;AAAA+jO,MAAAA,QAAQ,GAAE;AAACL,QAAAA,EAAE,CAAC5T,EAAE,CAACrb,2BAAH,CAA+B,KAAK0a,cAApC,EAAmD,KAAK5tJ,OAAxD,CAAD,EAAkE,KAAK6tJ,cAAvE,CAAF;AAAyF;;AAAA/sL,MAAAA,MAAM,GAAE;AAAC,cAAMxkF,CAAC,GAAC,MAAMwkF,MAAN,EAAR;AAAuB,eAAOxkF,CAAC,CAACsxQ,cAAF,GAAiB,KAAKA,cAAL,CAAoB9sL,MAApB,EAAjB,EAA8CxkF,CAAC,CAACuxQ,cAAF,GAAiB,KAAKA,cAAL,CAAoB/sL,MAApB,EAA/D,EAA4FxkF,CAAnG;AAAqG;;AAAoB,iBAAT8hK,SAAS,GAAE;AAAC,eAAM,eAAN;AAAsB;;AAAe,aAARguG,QAAQ,CAAC9vQ,CAAD,EAAG2K,CAAH,EAAK;AAAC,cAAMJ,CAAC,GAAC4lQ,EAAE,CAACL,QAAH,CAAY9vQ,CAAC,CAACsxQ,cAAd,EAA6B3mQ,CAA7B,CAAR;AAAA,cAAwC4B,CAAC,GAAC4jQ,EAAE,CAACL,QAAH,CAAY9vQ,CAAC,CAACuxQ,cAAd,EAA6B5mQ,CAA7B,CAA1C;AAA0E,eAAO,IAAI,IAAJ,CAASJ,CAAT,EAAWvK,CAAC,CAAC0jH,OAAb,EAAqBn3G,CAArB,EAAuBvM,CAAC,CAACqlR,WAAzB,CAAP;AAA6C;;AAAp2D;;AAAq2D,UAAMc,EAAN,SAAiBf,EAAjB,CAAmB;AAAC3lT,MAAAA,WAAW,CAACugC,CAAD,EAAG2K,CAAH,EAAKJ,CAAL,EAAO;AAAC,cAAMA,CAAN,GAAS,KAAKz6B,QAAL,GAAckwB,CAAC,CAACJ,KAAF,EAAvB,EAAiC,KAAK9vB,QAAL,CAAc+2G,UAAd,GAAyB,QAA1D,EAAmE,KAAKqC,KAAL,GAAW,IAAIimL,EAAJ,CAAOsW,EAAE,CAAC96Q,CAAD,CAAT,CAA9E,EAA4F,KAAKy7Q,uBAAL,GAA6B,CAAC,CAA1H;AAA4H;;AAAQ,UAAJnvS,IAAI,GAAE;AAAC,eAAM,QAAN;AAAe;;AAAW,UAAPysI,OAAO,GAAE;AAAC,eAAO,KAAKx6B,KAAL,CAAWmmL,SAAlB;AAA4B;;AAAsB,UAAlB0W,kBAAkB,GAAE;AAAC,eAAO,KAAKj2S,QAAL,CAAc8vB,KAAd,EAAP;AAA6B;;AAAAA,MAAAA,KAAK,GAAE;AAAC,cAAMI,CAAC,GAAC,IAAImvQ,EAAJ,CAAO,CAAC,GAAG,KAAKjmL,KAAT,EAAgB1/G,GAAhB,CAAqBw2B,CAAC,IAAEA,CAAC,CAACytP,MAAF,CAAS,CAAC,CAAV,CAAxB,CAAP,CAAR;AAAA,cAAuD9iP,CAAC,GAAC,IAAIw7Q,EAAJ,CAAO,KAAKr2S,QAAZ,EAAqBkwB,CAArB,EAAuB,KAAKqlR,WAA5B,CAAzD;AAAkG,eAAO16Q,CAAC,CAACy7Q,uBAAF,GAA0B,KAAKA,uBAA/B,EAAuDz7Q,CAA9D;AAAgE;;AAAAs7Q,MAAAA,WAAW,GAAE;AAAC,cAAMjmR,CAAC,GAAC,KAAKlwB,QAAL,CAAc0zB,IAAd,CAAmB9B,QAAnB,CAA4BswQ,SAApC;AAAA,cAA8CrnQ,CAAC,GAAC,IAAIwlQ,EAAJ,CAAOnwQ,CAAP,EAAS,CAAC,CAAD,CAAT,CAAhD;AAA8D,eAAO,IAAI8lR,EAAJ,CAAO,KAAKh2S,QAAZ,EAAqB,KAAKo5G,KAAL,CAAWmmL,SAAhC,EAA0C1kQ,CAA1C,EAA4C,KAAK06Q,WAAL,GAAiB,CAA7D,CAAP;AAAuE;;AAAAC,MAAAA,SAAS,GAAE;AAAC,cAAMtlR,CAAC,GAAC,KAAKlwB,QAAL,CAAcqxE,MAAtB;AAA6B,YAAG,CAACnhD,CAAD,IAAIA,CAAC,CAACqvQ,SAAF,GAAY,KAAKv/R,QAAL,CAAcutG,MAAjC,EAAwC,MAAM,IAAIl7B,CAAJ,CAAM,mCAAN,EAA0C,IAA1C,CAAN;AAAsD;;AAAA+jO,MAAAA,QAAQ,GAAE;AAAC,cAAMlmR,CAAC,GAAC,KAAKkpF,KAAb;AAAmB,aAAKA,KAAL,GAAW,IAAIimL,EAAJ,CAAO,CAAC,GAAGnvQ,CAAJ,EAAOx2B,GAAP,CAAYw2B,CAAC,IAAEA,CAAC,CAACytP,MAAF,CAAS,CAAC,CAAV,CAAf,CAAP,CAAX,EAAiD+3B,EAAE,CAAC,KAAK11S,QAAN,EAAekwB,CAAf,CAAnD;AAAqE;;AAAAwkF,MAAAA,MAAM,GAAE;AAAC,cAAMxkF,CAAC,GAAC,MAAMwkF,MAAN,EAAR;AAAuB,eAAOxkF,CAAC,CAAClwB,QAAF,GAAW,KAAKA,QAAL,CAAc00G,MAAd,EAAX,EAAkCxkF,CAAC,CAACkpF,KAAF,GAAQ,KAAKA,KAAL,CAAW1E,MAAX,EAA1C,EAA8DxkF,CAArE;AAAuE;;AAAoB,iBAAT8hK,SAAS,GAAE;AAAC,eAAM,iBAAN;AAAwB;;AAAe,aAARguG,QAAQ,CAAC9vQ,CAAD,EAAG2K,CAAH,EAAK;AAAC,cAAMJ,CAAC,GAAC,EAAR;;AAAW,aAAI,MAAMI,CAAV,IAAe3K,CAAC,CAACkpF,KAAjB,EAAuBv+E,CAAC,CAACn6B,IAAF,GAAO+5B,CAAC,CAACtE,IAAF,CAAO+pQ,EAAE,CAACF,QAAH,CAAYnlQ,CAAZ,CAAP,CAAP,GAA8BJ,CAAC,CAACtE,IAAF,CAAO4pQ,EAAE,CAACC,QAAH,CAAYnlQ,CAAZ,CAAP,CAA9B;;AAAqD,cAAM4B,CAAC,GAAC,IAAI45Q,EAAJ,CAAOhW,EAAE,CAACL,QAAH,CAAY9vQ,CAAC,CAAClwB,QAAd,EAAuB66B,CAAvB,CAAP,EAAiCJ,CAAjC,EAAmCvK,CAAC,CAACqlR,WAArC,CAAR;AAA0D,eAAO94Q,CAAC,CAAC65Q,uBAAF,GAA0BpmR,CAAC,CAAComR,uBAA5B,EAAoD75Q,CAA3D;AAA6D;;AAA1qC;;AAA2qC,UAAM85Q,EAAN,SAAiBjB,EAAjB,CAAmB;AAAC3lT,MAAAA,WAAW,CAACugC,CAAD,EAAG2K,CAAH,EAAKJ,CAAL,EAAOgC,CAAP,EAAS51B,CAAT,EAAW;AAAC,cAAMA,CAAN,GAAS,KAAK+6R,aAAL,GAAmB1xQ,CAAC,CAACJ,KAAF,EAA5B,EAAsC,KAAK8xQ,aAAL,CAAmB7qL,UAAnB,GAA8B,QAApE,EAA6E,KAAK68B,OAAL,GAAa/4G,CAA1F,EAA4F,KAAKknQ,iBAAL,GAAuBtnQ,CAAnH,EAAqH,KAAKqnQ,iBAAL,GAAuBrlQ,CAAC,GAACA,CAAC,CAAC3M,KAAF,EAAD,GAAW,IAAxJ,EAA6J,KAAKgyQ,iBAAL,KAAyB,KAAKA,iBAAL,CAAuB/qL,UAAvB,GAAkC,QAA3D,CAA7J;AAAkO;;AAAQ,UAAJ5vG,IAAI,GAAE;AAAC,eAAM,OAAN;AAAc;;AAAsB,UAAlB06R,kBAAkB,GAAE;AAAC,cAAM3xQ,CAAC,GAAC,KAAK6xQ,iBAAL,CAAuB7qS,IAAvB,CAA4B0xG,KAA5B,EAAR;AAA4C,eAAO14E,CAAC,CAACiG,IAAF,CAAO,CAAP,GAAU,IAAIkqQ,EAAJ,CAAO,KAAK0B,iBAAL,CAAuBruQ,IAA9B,EAAmCxD,CAAnC,CAAjB;AAAuD;;AAAc,UAAVwxQ,UAAU,GAAE;AAAC,cAAMxxQ,CAAC,GAAC,KAAK0xQ,aAAL,CAAmB/b,YAAnB,CAAgCliQ,MAAM,CAACgjP,iBAAvC,CAAR;AAAkE,eAAO,IAAIw7B,EAAJ,CAAO,KAAKP,aAAZ,EAA0B1xQ,CAA1B,CAAP;AAAoC;;AAAsB,UAAlB+lR,kBAAkB,GAAE;AAAC,cAAM/lR,CAAC,GAAC,CAACiyQ,EAAE,CAACrb,2BAAH,CAA+B,KAAK8a,aAApC,EAAkD,CAAlD,CAAD,EAAsDO,EAAE,CAACrb,2BAAH,CAA+B,KAAKib,iBAApC,EAAsD,CAAtD,CAAtD,CAAR;AAAwH,eAAO,KAAKD,iBAAL,IAAwB5xQ,CAAC,CAACiG,IAAF,CAAOgsQ,EAAE,CAACrb,2BAAH,CAA+B,KAAKgb,iBAApC,EAAsD,CAAtD,CAAP,CAAxB,EAAyF5xQ,CAAhG;AAAkG;;AAAAJ,MAAAA,KAAK,GAAE;AAAC,eAAO,IAAIymR,EAAJ,CAAO,KAAK3U,aAAZ,EAA0B,KAAKhuJ,OAA/B,EAAuC,KAAKmuJ,iBAA5C,EAA8D,KAAKD,iBAAnE,EAAqF,KAAKyT,WAA1F,CAAP;AAA8G;;AAAAY,MAAAA,WAAW,GAAE;AAAC,cAAMjmR,CAAC,GAAC,KAAK0xQ,aAAL,CAAmBluQ,IAAnB,CAAwB9B,QAAxB,CAAiCswQ,SAAzC;AAAA,cAAmDrnQ,CAAC,GAAC,IAAIwlQ,EAAJ,CAAOnwQ,CAAP,EAAS,CAAC,CAAD,CAAT,CAArD;AAAmE,eAAO,IAAIsmR,EAAJ,CAAO,KAAK3U,kBAAZ,EAA+B,KAAKjuJ,OAApC,EAA4C,KAAKguJ,aAAjD,EAA+D/mQ,CAA/D,EAAiE,KAAK06Q,WAAL,GAAiB,CAAlF,CAAP;AAA4F;;AAAAC,MAAAA,SAAS,GAAE;AAAC,cAAMtlR,CAAC,GAAC,KAAK0xQ,aAAL,CAAmBvwN,MAA3B;AAAA,cAAkCx2C,CAAC,GAAC,KAAK+mQ,aAAL,CAAmBr0L,MAAvD;AAA8D,YAAG,CAACr9E,CAAD,IAAIA,CAAC,CAACqvQ,SAAF,GAAY1kQ,CAAnB,EAAqB,MAAM,IAAIw3C,CAAJ,CAAM,kCAAN,EAAyC,IAAzC,CAAN;AAAqD,YAAG,CAACniD,CAAC,CAACmhD,MAAN,EAAa,MAAM,IAAIgB,CAAJ,CAAM,+BAAN,EAAsC,IAAtC,CAAN;AAAkD,YAAG,KAAKuhE,OAAL,IAAc1jH,CAAC,CAACqvQ,SAAF,GAAY,KAAKqC,aAAL,CAAmBr0L,MAAhD,EAAuD,MAAM,IAAIl7B,CAAJ,CAAM,kCAAN,EAAyC,IAAzC,CAAN;AAAqD,YAAG,KAAKyvN,iBAAL,IAAwB,CAAC,KAAKA,iBAAL,CAAuBnc,SAAnD,EAA6D,MAAM,IAAItzM,CAAJ,CAAM,4CAAN,EAAmD,IAAnD,CAAN;AAA+D;;AAAA+jO,MAAAA,QAAQ,GAAE;AAAC,cAAMlmR,CAAC,GAAC,KAAK0xQ,aAAL,CAAmBvwN,MAA3B;AAAkC,YAAG,KAAKywN,iBAAR,EAA0BiU,EAAE,CAAC5T,EAAE,CAACrb,2BAAH,CAA+B,KAAKgb,iBAApC,EAAsD,CAAtD,CAAD,EAA0D,KAAKC,iBAA/D,CAAF,CAA1B,KAAkH;AAAC,gBAAMlnQ,CAAC,GAAC3K,CAAC,CAACytP,MAAF,EAAR;;AAAmB+3B,UAAAA,EAAE,CAAC,KAAK3T,iBAAN,EAAwBlnQ,CAAxB,CAAF;AAA6B;AAAAk7Q,QAAAA,EAAE,CAAC,IAAI5T,EAAJ,CAAO9B,EAAE,CAACzb,SAAH,CAAa10P,CAAb,EAAe,KAAK0xQ,aAAL,CAAmBr0L,MAAlC,CAAP,EAAiD8yL,EAAE,CAACzb,SAAH,CAAa10P,CAAb,EAAeA,CAAC,CAACqvQ,SAAjB,CAAjD,CAAD,EAA+E,KAAKsC,kBAApF,CAAF;AAA0G;;AAAAntL,MAAAA,MAAM,GAAE;AAAC,cAAMxkF,CAAC,GAAC,MAAMwkF,MAAN,EAAR;AAAuB,eAAOxkF,CAAC,CAAC0xQ,aAAF,GAAgB,KAAKA,aAAL,CAAmBltL,MAAnB,EAAhB,EAA4CxkF,CAAC,CAAC6xQ,iBAAF,GAAoB,KAAKA,iBAAL,CAAuBrtL,MAAvB,EAAhE,EAAgG,KAAKotL,iBAAL,KAAyB5xQ,CAAC,CAAC4xQ,iBAAF,GAAoB,KAAKA,iBAAL,CAAuBptL,MAAvB,EAA7C,CAAhG,EAA8KxkF,CAArL;AAAuL;;AAAoB,iBAAT8hK,SAAS,GAAE;AAAC,eAAM,gBAAN;AAAuB;;AAA2B,aAApBykH,oBAAoB,CAACvmR,CAAD,EAAG;AAAC,cAAM2K,CAAC,GAAC3K,CAAC,CAACh5B,IAAF,CAAO0xG,KAAP,CAAa,CAAb,EAAe,CAAC,CAAhB,CAAR;AAA2B,eAAO/tE,CAAC,CAACA,CAAC,CAACh+B,MAAF,GAAS,CAAV,CAAD,IAAgB,IAAIwjS,EAAJ,CAAOnwQ,CAAC,CAACwD,IAAT,EAAcmH,CAAd,EAAgB,YAAhB,CAAvB;AAAqD;;AAAe,aAARmlQ,QAAQ,CAAC9vQ,CAAD,EAAG2K,CAAH,EAAK;AAAC,cAAMJ,CAAC,GAAC4lQ,EAAE,CAACL,QAAH,CAAY9vQ,CAAC,CAAC0xQ,aAAd,EAA4B/mQ,CAA5B,CAAR;AAAA,cAAuC4B,CAAC,GAAC4jQ,EAAE,CAACL,QAAH,CAAY9vQ,CAAC,CAAC6xQ,iBAAd,EAAgClnQ,CAAhC,CAAzC;AAAA,cAA4Eh0B,CAAC,GAACqpB,CAAC,CAAC4xQ,iBAAF,GAAoBzB,EAAE,CAACL,QAAH,CAAY9vQ,CAAC,CAAC4xQ,iBAAd,EAAgCjnQ,CAAhC,CAApB,GAAuD,IAArI;AAA0I,eAAO,IAAI,IAAJ,CAASJ,CAAT,EAAWvK,CAAC,CAAC0jH,OAAb,EAAqBn3G,CAArB,EAAuB51B,CAAvB,EAAyBqpB,CAAC,CAACqlR,WAA3B,CAAP;AAA+C;;AAAn1E;;AAAo1E,UAAMiB,EAAN,SAAiBlB,EAAjB,CAAmB;AAAC3lT,MAAAA,WAAW,CAACugC,CAAD,EAAG2K,CAAH,EAAKJ,CAAL,EAAOgC,CAAP,EAAS51B,CAAT,EAAW;AAAC,cAAMA,CAAN,GAAS,KAAK26R,cAAL,GAAoBtxQ,CAAC,CAACJ,KAAF,EAA7B,EAAuC,KAAK0xQ,cAAL,CAAoBzqL,UAApB,GAA+B,YAAtE,EAAmF,KAAK68B,OAAL,GAAa/4G,CAAhG,EAAkG,KAAK4mQ,cAAL,GAAoBhnQ,CAAC,CAAC3K,KAAF,EAAtH,EAAgI,KAAK2xQ,cAAL,CAAoB1qL,UAApB,GAA+B,QAA/J,EAAwK,KAAK+qL,iBAAL,GAAuBrlQ,CAAC,CAAC3M,KAAF,EAA/L;AAAyM;;AAAQ,UAAJ3oB,IAAI,GAAE;AAAC,eAAM,OAAN;AAAc;;AAAoB,UAAhB86R,gBAAgB,GAAE;AAAC,eAAO,IAAI5B,EAAJ,CAAO,KAAKmB,cAAL,CAAoB9tQ,IAA3B,EAAgC,KAAK8tQ,cAAL,CAAoBtqS,IAApB,CAAyB0xG,KAAzB,CAA+B,CAA/B,EAAiC,CAAC,CAAlC,CAAhC,CAAP;AAA6E;;AAAc,UAAV84L,UAAU,GAAE;AAAC,cAAMxxQ,CAAC,GAAC,KAAKsxQ,cAAL,CAAoB3b,YAApB,CAAiCliQ,MAAM,CAACgjP,iBAAxC,CAAR;AAAmE,eAAO,IAAIw7B,EAAJ,CAAO,KAAKX,cAAZ,EAA2BtxQ,CAA3B,CAAP;AAAqC;;AAAsB,UAAlB+lR,kBAAkB,GAAE;AAAC,cAAM/lR,CAAC,GAAC,KAAKsxQ,cAAL,CAAoBnwN,MAA5B;AAAmC,eAAM,CAAC8wN,EAAE,CAACnb,SAAH,CAAa92P,CAAb,CAAD,EAAiBiyQ,EAAE,CAACrb,2BAAH,CAA+B,KAAK2a,cAApC,EAAmD,CAAnD,CAAjB,EAAuEU,EAAE,CAACrb,2BAAH,CAA+B,KAAKgb,iBAApC,EAAsD,CAAtD,CAAvE,CAAN;AAAuI;;AAAAhyQ,MAAAA,KAAK,GAAE;AAAC,eAAO,IAAI0mR,EAAJ,CAAO,KAAKhV,cAAZ,EAA2B,KAAK5tJ,OAAhC,EAAwC,KAAK6tJ,cAA7C,EAA4D,KAAKK,iBAAjE,EAAmF,KAAKyT,WAAxF,CAAP;AAA4G;;AAAAY,MAAAA,WAAW,GAAE;AAAC,cAAMjmR,CAAC,GAAC,KAAKuxQ,cAAL,CAAoBJ,+BAApB,CAAoD,IAApD,CAAR;AAAA,cAAkExmQ,CAAC,GAAC,KAAK2mQ,cAAL,CAAoBtqS,IAApB,CAAyB0xG,KAAzB,CAA+B,CAA/B,EAAiC,CAAC,CAAlC,CAApE;AAAA,cAAyGnuE,CAAC,GAAC,IAAI4lQ,EAAJ,CAAO,KAAKmB,cAAL,CAAoB9tQ,IAA3B,EAAgCmH,CAAhC,EAAmCwmQ,+BAAnC,CAAmE,IAAnE,CAA3G;;AAAoL,eAAO,IAAIkV,EAAJ,CAAOrmR,CAAP,EAAS,KAAK0jH,OAAd,EAAsBn5G,CAAtB,EAAwB,KAAKqnQ,iBAA7B,EAA+C,KAAKyT,WAAL,GAAiB,CAAhE,CAAP;AAA0E;;AAAAC,MAAAA,SAAS,GAAE;AAAC,cAAMtlR,CAAC,GAAC,KAAKsxQ,cAAL,CAAoBnwN,MAA5B;AAAA,cAAmCx2C,CAAC,GAAC,KAAK4mQ,cAAL,CAAoBpwN,MAAzD;AAAgE,YAAG,CAACnhD,CAAC,CAACmhD,MAAN,EAAa,MAAM,IAAIgB,CAAJ,CAAM,yCAAN,EAAgD,IAAhD,CAAN;AAA4D,YAAG,CAACx3C,CAAC,CAACw2C,MAAN,EAAa,MAAM,IAAIgB,CAAJ,CAAM,yCAAN,EAAgD,IAAhD,CAAN;AAA4D,YAAG,KAAKuhE,OAAL,IAAc1jH,CAAC,CAACqvQ,SAAnB,EAA6B,MAAM,IAAIltN,CAAJ,CAAM,kCAAN,EAAyC,IAAzC,CAAN;AAAqD;;AAAA+jO,MAAAA,QAAQ,GAAE;AAAC,cAAMlmR,CAAC,GAAC,KAAKsxQ,cAAL,CAAoBnwN,MAA5B;AAAmC0kO,QAAAA,EAAE,CAAC5T,EAAE,CAACpb,SAAH,CAAa72P,CAAb,CAAD,EAAiB,KAAKuxQ,cAAtB,CAAF,EAAwCsU,EAAE,CAAC5T,EAAE,CAACnb,SAAH,CAAa92P,CAAb,CAAD,EAAiB,KAAK4xQ,iBAAtB,CAA1C;AAAmF;;AAAAptL,MAAAA,MAAM,GAAE;AAAC,cAAMxkF,CAAC,GAAC,MAAMwkF,MAAN,EAAR;AAAuB,eAAOxkF,CAAC,CAACsxQ,cAAF,GAAiBtxQ,CAAC,CAACsxQ,cAAF,CAAiB9sL,MAAjB,EAAjB,EAA2CxkF,CAAC,CAACuxQ,cAAF,GAAiBvxQ,CAAC,CAACuxQ,cAAF,CAAiB/sL,MAAjB,EAA5D,EAAsFxkF,CAAC,CAAC4xQ,iBAAF,GAAoB5xQ,CAAC,CAAC4xQ,iBAAF,CAAoBptL,MAApB,EAA1G,EAAuIxkF,CAA9I;AAAgJ;;AAAoB,iBAAT8hK,SAAS,GAAE;AAAC,eAAM,gBAAN;AAAuB;;AAAe,aAARguG,QAAQ,CAAC9vQ,CAAD,EAAG2K,CAAH,EAAK;AAAC,cAAMJ,CAAC,GAAC4lQ,EAAE,CAACL,QAAH,CAAY9vQ,CAAC,CAACsxQ,cAAd,EAA6B3mQ,CAA7B,CAAR;AAAA,cAAwC4B,CAAC,GAAC4jQ,EAAE,CAACL,QAAH,CAAY9vQ,CAAC,CAACuxQ,cAAd,EAA6B5mQ,CAA7B,CAA1C;AAAA,cAA0Eh0B,CAAC,GAACw5R,EAAE,CAACL,QAAH,CAAY9vQ,CAAC,CAAC4xQ,iBAAd,EAAgCjnQ,CAAhC,CAA5E;AAA+G,eAAO,IAAI,IAAJ,CAASJ,CAAT,EAAWvK,CAAC,CAAC0jH,OAAb,EAAqBn3G,CAArB,EAAuB51B,CAAvB,EAAyBqpB,CAAC,CAACqlR,WAA3B,CAAP;AAA+C;;AAA51D;;AAA61D,UAAMmB,EAAN,SAAiBpB,EAAjB,CAAmB;AAAC3lT,MAAAA,WAAW,CAACugC,CAAD,EAAG2K,CAAH,EAAKJ,CAAL,EAAOgC,CAAP,EAAS51B,CAAT,EAAW81B,CAAX,EAAa;AAAC,cAAMA,CAAN,GAAS,KAAKj8B,IAAL,GAAUwvB,CAAnB,EAAqB,KAAKymR,QAAL,GAAc97Q,CAAC,GAACA,CAAC,CAAC/K,KAAF,EAAD,GAAW,IAA/C,EAAoD,KAAK8mR,QAAL,GAAcn8Q,CAAC,GAACA,CAAC,CAAC3K,KAAF,EAAD,GAAW,IAA9E,EAAmF,KAAK+kF,WAAL,GAAiBhuG,CAApG,EAAsG,KAAKgwS,QAAL,GAAcp6Q,CAApH;AAAsH;;AAAQ,UAAJt1B,IAAI,GAAE;AAAC,eAAM,QAAN;AAAe;;AAAsB,UAAlB8uS,kBAAkB,GAAE;AAAC,cAAM/lR,CAAC,GAAC,EAAR;AAAW,eAAO,KAAKymR,QAAL,IAAezmR,CAAC,CAACiG,IAAF,CAAO,KAAKwgR,QAAL,CAAc7mR,KAAd,EAAP,CAAf,EAA6C,KAAK8mR,QAAL,KAAgB,KAAKD,QAAL,GAAczmR,CAAC,CAACiG,IAAF,CAAO,GAAG,KAAKygR,QAAL,CAAcnwB,aAAd,CAA4B,KAAKkwB,QAAjC,CAAV,CAAd,GAAoEzmR,CAAC,CAACiG,IAAF,CAAO,KAAKygR,QAAL,CAAc9mR,KAAd,EAAP,CAApF,CAA7C,EAAgKI,CAAvK;AAAyK;;AAAAJ,MAAAA,KAAK,GAAE;AAAC,eAAO,IAAI4mR,EAAJ,CAAO,KAAKh2S,IAAZ,EAAiB,KAAKi2S,QAAtB,EAA+B,KAAKC,QAApC,EAA6C,KAAKC,QAAlD,EAA2D,KAAKhiM,WAAhE,EAA4E,KAAK0gM,WAAjF,CAAP;AAAqG;;AAAAY,MAAAA,WAAW,GAAE;AAAC,eAAO,IAAIO,EAAJ,CAAO,KAAKh2S,IAAZ,EAAiB,KAAKk2S,QAAtB,EAA+B,KAAKD,QAApC,EAA6C,KAAKE,QAAlD,EAA2D,KAAKhiM,WAAhE,EAA4E,KAAK0gM,WAAL,GAAiB,CAA7F,CAAP;AAAuG;;AAAAa,MAAAA,QAAQ,GAAE;AAAC,aAAKQ,QAAL,GAAc,KAAKC,QAAL,CAAcv/K,IAAd,CAAmB,KAAK52H,IAAxB,EAA6B,KAAKk2S,QAAlC,EAA2C,CAAC,CAA5C,EAA8C,KAAK/hM,WAAnD,CAAd,GAA8E,KAAKgiM,QAAL,CAAc1pC,OAAd,CAAsB,KAAKzsQ,IAA3B,CAA9E;AAA+G;;AAAAg0G,MAAAA,MAAM,GAAE;AAAC,cAAMxkF,CAAC,GAAC,MAAMwkF,MAAN,EAAR;AAAuB,eAAO,KAAKiiM,QAAL,KAAgBzmR,CAAC,CAACymR,QAAF,GAAW,KAAKA,QAAL,CAAcjiM,MAAd,EAA3B,GAAmD,KAAKkiM,QAAL,KAAgB1mR,CAAC,CAAC0mR,QAAF,GAAW,KAAKA,QAAL,CAAcliM,MAAd,EAA3B,CAAnD,EAAsG,OAAOxkF,CAAC,CAAC2mR,QAA/G,EAAwH3mR,CAA/H;AAAiI;;AAAoB,iBAAT8hK,SAAS,GAAE;AAAC,eAAM,iBAAN;AAAwB;;AAAe,aAARguG,QAAQ,CAAC9vQ,CAAD,EAAG2K,CAAH,EAAK;AAAC,eAAO,IAAI67Q,EAAJ,CAAOxmR,CAAC,CAACxvB,IAAT,EAAcwvB,CAAC,CAACymR,QAAF,GAAWxU,EAAE,CAACnC,QAAH,CAAY9vQ,CAAC,CAACymR,QAAd,EAAuB97Q,CAAvB,CAAX,GAAqC,IAAnD,EAAwD3K,CAAC,CAAC0mR,QAAF,GAAWzU,EAAE,CAACnC,QAAH,CAAY9vQ,CAAC,CAAC0mR,QAAd,EAAuB/7Q,CAAvB,CAAX,GAAqC,IAA7F,EAAkGA,CAAC,CAACpuB,KAAF,CAAQqnG,OAA1G,EAAkH5jF,CAAC,CAAC2kF,WAApH,EAAgI3kF,CAAC,CAACqlR,WAAlI,CAAP;AAAsJ;;AAA9kC;;AAA+kC,UAAMuB,EAAE,GAAC,UAAS5mR,CAAT,EAAW2K,CAAX,EAAa;AAAC,aAAOohL,EAAE,CAAC/rL,CAAD,EAAG2K,CAAH,CAAT;AAAe,KAAtC;;AAAuC,UAAMk8Q,EAAN,SAAiBzB,EAAjB,CAAmB;AAAC3lT,MAAAA,WAAW,CAACugC,CAAD,EAAG2K,CAAH,EAAKJ,CAAL,EAAOgC,CAAP,EAAS51B,CAAT,EAAW;AAAC,cAAMA,CAAN,GAAS,KAAKowG,KAAL,GAAW/mF,CAAC,CAACJ,KAAF,EAApB,EAA8B,KAAKkG,GAAL,GAAS6E,CAAvC,EAAyC,KAAKs8B,QAAL,GAAc,KAAK,CAAL,KAAS18B,CAAT,GAAW,IAAX,GAAgBA,CAAvE,EAAyE,KAAKy8B,QAAL,GAAc,KAAK,CAAL,KAASz6B,CAAT,GAAW,IAAX,GAAgBA,CAAvG;AAAyG;;AAAQ,UAAJt1B,IAAI,GAAE;AAAC,eAAO,SAAO,KAAKgwD,QAAZ,GAAqB,cAArB,GAAoC,SAAO,KAAKD,QAAZ,GAAqB,iBAArB,GAAuC,iBAAlF;AAAoG;;AAAsB,UAAlB++O,kBAAkB,GAAE;AAAC,eAAO,KAAKh/L,KAAL,CAAWnnF,KAAX,EAAP;AAA0B;;AAAAA,MAAAA,KAAK,GAAE;AAAC,eAAO,IAAIinR,EAAJ,CAAO,KAAK9/L,KAAZ,EAAkB,KAAKjhF,GAAvB,EAA2B,KAAKmhC,QAAhC,EAAyC,KAAKD,QAA9C,EAAuD,KAAKq+O,WAA5D,CAAP;AAAgF;;AAAAY,MAAAA,WAAW,GAAE;AAAC,eAAO,IAAIY,EAAJ,CAAO,KAAK9/L,KAAZ,EAAkB,KAAKjhF,GAAvB,EAA2B,KAAKkhC,QAAhC,EAAyC,KAAKC,QAA9C,EAAuD,KAAKo+O,WAAL,GAAiB,CAAxE,CAAP;AAAkF;;AAAA7gM,MAAAA,MAAM,GAAE;AAAC,cAAMxkF,CAAC,GAAC,MAAMwkF,MAAN,EAAR;AAAuB,eAAOxkF,CAAC,CAAC+mF,KAAF,GAAQ,KAAKA,KAAL,CAAWvC,MAAX,EAAR,EAA4BxkF,CAAnC;AAAqC;;AAAAslR,MAAAA,SAAS,GAAE;AAAC,YAAG,CAAC,KAAKv+L,KAAL,CAAWkvK,MAAf,EAAsB,MAAM,IAAI9zM,CAAJ,CAAM,oCAAN,EAA2C,IAA3C,CAAN;;AAAuD,aAAI,MAAMniD,CAAV,IAAe,KAAK+mF,KAAL,CAAWwgB,QAAX,CAAoB;AAACqtJ,UAAAA,OAAO,EAAC,CAAC;AAAV,SAApB,CAAf,EAAiD;AAAC,cAAG,SAAO,KAAK3tN,QAAZ,IAAsB,CAAC2/O,EAAE,CAAC5mR,CAAC,CAAC6hP,YAAF,CAAe,KAAK/7O,GAApB,CAAD,EAA0B,KAAKmhC,QAA/B,CAA5B,EAAqE,MAAM,IAAIkb,CAAJ,CAAM,qCAAN,EAA4C,IAA5C,EAAiD;AAAC3nE,YAAAA,IAAI,EAACwlB,CAAN;AAAQ8F,YAAAA,GAAG,EAAC,KAAKA,GAAjB;AAAqB50B,YAAAA,KAAK,EAAC,KAAK+1D;AAAhC,WAAjD,CAAN;AAAkG,cAAG,SAAO,KAAKA,QAAZ,IAAsB,SAAO,KAAKD,QAAlC,IAA4ChnC,CAAC,CAACkzP,YAAF,CAAe,KAAKptP,GAApB,CAA/C,EAAwE,MAAM,IAAIq8C,CAAJ,CAAM,sCAAN,EAA6C,IAA7C,EAAkD;AAACkkC,YAAAA,IAAI,EAACrmF,CAAN;AAAQ8F,YAAAA,GAAG,EAAC,KAAKA;AAAjB,WAAlD,CAAN;AAA+E;AAAC;;AAAAogR,MAAAA,QAAQ,GAAE;AAACU,QAAAA,EAAE,CAAC,KAAK3/O,QAAN,EAAe,KAAKD,QAApB,CAAF,IAAiC,UAAShnC,CAAT,EAAW2K,CAAX,EAAaJ,CAAb,EAAe;AAACm7Q,UAAAA,EAAE,CAAC1lR,CAAC,CAACymF,KAAH,CAAF,EAAYi/L,EAAE,CAAC1lR,CAAC,CAAC0mF,GAAH,CAAd;;AAAsB,eAAI,MAAMn6E,CAAV,IAAevM,CAAC,CAACunG,QAAF,CAAW;AAACqtJ,YAAAA,OAAO,EAAC,CAAC;AAAV,WAAX,CAAf,EAAwC;AAAC,kBAAM50P,CAAC,GAACuM,CAAC,CAACs+E,EAAF,CAAK,YAAL,IAAmBt+E,CAAC,CAACmhP,QAArB,GAA8BnhP,CAAtC;AAAwC,qBAAOhC,CAAP,GAASvK,CAAC,CAAC2zP,aAAF,CAAgBhpP,CAAhB,EAAkBJ,CAAlB,CAAT,GAA8BvK,CAAC,CAAC4zP,gBAAF,CAAmBjpP,CAAnB,CAA9B,EAAoDg7Q,EAAE,CAAC3lR,CAAC,CAACmhD,MAAH,EAAUnhD,CAAC,CAACwhB,KAAZ,CAAtD;AAAyE;;AAAAmkQ,UAAAA,EAAE,CAAC3lR,CAAC,CAAC0mF,GAAF,CAAMvlC,MAAP,EAAcnhD,CAAC,CAAC0mF,GAAF,CAAMllE,KAApB,CAAF;AAA6B,SAA7N,CAA8N,KAAKulE,KAAnO,EAAyO,KAAKjhF,GAA9O,EAAkP,KAAKkhC,QAAvP,CAAjC;AAAkS;;AAAoB,iBAAT86H,SAAS,GAAE;AAAC,eAAM,oBAAN;AAA2B;;AAAe,aAARguG,QAAQ,CAAC9vQ,CAAD,EAAG2K,CAAH,EAAK;AAAC,eAAO,IAAIk8Q,EAAJ,CAAO5U,EAAE,CAACnC,QAAH,CAAY9vQ,CAAC,CAAC+mF,KAAd,EAAoBp8E,CAApB,CAAP,EAA8B3K,CAAC,CAAC8F,GAAhC,EAAoC9F,CAAC,CAACinC,QAAtC,EAA+CjnC,CAAC,CAACgnC,QAAjD,EAA0DhnC,CAAC,CAACqlR,WAA5D,CAAP;AAAgF;;AAA96C;;AAA+6C,UAAMyB,EAAN,SAAiB1B,EAAjB,CAAmB;AAAS,UAAJnuS,IAAI,GAAE;AAAC,eAAM,MAAN;AAAa;;AAAsB,UAAlB8uS,kBAAkB,GAAE;AAAC,eAAO,IAAP;AAAY;;AAAAnmR,MAAAA,KAAK,GAAE;AAAC,eAAO,IAAIknR,EAAJ,CAAO,KAAKzB,WAAZ,CAAP;AAAgC;;AAAAY,MAAAA,WAAW,GAAE;AAAC,eAAO,IAAIa,EAAJ,CAAO,KAAKzB,WAAL,GAAiB,CAAxB,CAAP;AAAkC;;AAAAa,MAAAA,QAAQ,GAAE,CAAE;;AAAoB,iBAATpkH,SAAS,GAAE;AAAC,eAAM,aAAN;AAAoB;;AAA7M;;AAA8M,UAAMilH,EAAN,SAAiB3B,EAAjB,CAAmB;AAAC3lT,MAAAA,WAAW,CAACugC,CAAD,EAAG2K,CAAH,EAAKJ,CAAL,EAAOgC,CAAP,EAAS;AAAC,cAAMA,CAAN,GAAS,KAAKz8B,QAAL,GAAckwB,CAAvB,EAAyB,KAAKlwB,QAAL,CAAc+2G,UAAd,GAAyB,QAAlD,EAA2D,KAAKmgM,OAAL,GAAar8Q,CAAxE,EAA0E,KAAKs8Q,OAAL,GAAa18Q,CAAvF;AAAyF;;AAAQ,UAAJtzB,IAAI,GAAE;AAAC,eAAM,QAAN;AAAe;;AAAsB,UAAlB8uS,kBAAkB,GAAE;AAAC,eAAO,KAAKj2S,QAAL,CAAc2lR,SAArB;AAA+B;;AAAA71P,MAAAA,KAAK,GAAE;AAAC,eAAO,IAAImnR,EAAJ,CAAO,KAAKj3S,QAAL,CAAc8vB,KAAd,EAAP,EAA6B,KAAKonR,OAAlC,EAA0C,KAAKC,OAA/C,EAAuD,KAAK5B,WAA5D,CAAP;AAAgF;;AAAAY,MAAAA,WAAW,GAAE;AAAC,eAAO,IAAIc,EAAJ,CAAO,KAAKj3S,QAAL,CAAc8vB,KAAd,EAAP,EAA6B,KAAKqnR,OAAlC,EAA0C,KAAKD,OAA/C,EAAuD,KAAK3B,WAAL,GAAiB,CAAxE,CAAP;AAAkF;;AAAAC,MAAAA,SAAS,GAAE;AAAC,cAAMtlR,CAAC,GAAC,KAAKlwB,QAAL,CAAc2lR,SAAtB;AAAgC,YAAG,EAAEz1P,CAAC,YAAYgwQ,EAAf,CAAH,EAAsB,MAAM,IAAI7tN,CAAJ,CAAM,iCAAN,EAAwC,IAAxC,CAAN;AAAoD,YAAGniD,CAAC,CAACxvB,IAAF,KAAS,KAAKw2S,OAAjB,EAAyB,MAAM,IAAI7kO,CAAJ,CAAM,6BAAN,EAAoC,IAApC,CAAN;AAAgD;;AAAA+jO,MAAAA,QAAQ,GAAE;AAAC,aAAKp2S,QAAL,CAAc2lR,SAAd,CAAwBjlR,IAAxB,GAA6B,KAAKy2S,OAAlC;AAA0C;;AAAAziM,MAAAA,MAAM,GAAE;AAAC,cAAMxkF,CAAC,GAAC,MAAMwkF,MAAN,EAAR;AAAuB,eAAOxkF,CAAC,CAAClwB,QAAF,GAAW,KAAKA,QAAL,CAAc00G,MAAd,EAAX,EAAkCxkF,CAAzC;AAA2C;;AAAoB,iBAAT8hK,SAAS,GAAE;AAAC,eAAM,iBAAN;AAAwB;;AAAe,aAARguG,QAAQ,CAAC9vQ,CAAD,EAAG2K,CAAH,EAAK;AAAC,eAAO,IAAIo8Q,EAAJ,CAAO5W,EAAE,CAACL,QAAH,CAAY9vQ,CAAC,CAAClwB,QAAd,EAAuB66B,CAAvB,CAAP,EAAiC3K,CAAC,CAACgnR,OAAnC,EAA2ChnR,CAAC,CAACinR,OAA7C,EAAqDjnR,CAAC,CAACqlR,WAAvD,CAAP;AAA2E;;AAAv0B;;AAAw0B,UAAM6B,EAAN,SAAiB9B,EAAjB,CAAmB;AAAC3lT,MAAAA,WAAW,CAACugC,CAAD,EAAG2K,CAAH,EAAKJ,CAAL,EAAOgC,CAAP,EAAS51B,CAAT,EAAW;AAAC,cAAMA,CAAN,GAAS,KAAK6sB,IAAL,GAAUxD,CAAnB,EAAqB,KAAK8F,GAAL,GAAS6E,CAA9B,EAAgC,KAAKs8B,QAAL,GAAc,KAAK,CAAL,KAAS18B,CAAT,GAAW,IAAX,GAAgBA,CAA9D,EAAgE,KAAKy8B,QAAL,GAAc,KAAK,CAAL,KAASz6B,CAAT,GAAW,IAAX,GAAgBA,CAA9F;AAAgG;;AAAQ,UAAJt1B,IAAI,GAAE;AAAC,eAAO,SAAO,KAAKgwD,QAAZ,GAAqB,kBAArB,GAAwC,SAAO,KAAKD,QAAZ,GAAqB,qBAArB,GAA2C,qBAA1F;AAAgH;;AAAsB,UAAlB++O,kBAAkB,GAAE;AAAC,eAAO,KAAKviR,IAAZ;AAAiB;;AAAA5D,MAAAA,KAAK,GAAE;AAAC,eAAO,IAAIsnR,EAAJ,CAAO,KAAK1jR,IAAZ,EAAiB,KAAKsC,GAAtB,EAA0B,KAAKmhC,QAA/B,EAAwC,KAAKD,QAA7C,EAAsD,KAAKq+O,WAA3D,CAAP;AAA+E;;AAAAY,MAAAA,WAAW,GAAE;AAAC,eAAO,IAAIiB,EAAJ,CAAO,KAAK1jR,IAAZ,EAAiB,KAAKsC,GAAtB,EAA0B,KAAKkhC,QAA/B,EAAwC,KAAKC,QAA7C,EAAsD,KAAKo+O,WAAL,GAAiB,CAAvE,CAAP;AAAiF;;AAAAC,MAAAA,SAAS,GAAE;AAAC,YAAG,KAAK9hR,IAAL,IAAW,KAAKA,IAAL,CAAUA,IAArB,IAA2B,KAAKA,IAAL,CAAUqnF,EAAV,CAAa,kBAAb,CAA9B,EAA+D,MAAM,IAAI1oC,CAAJ,CAAM,oCAAN,EAA2C,IAA3C,EAAgD;AAAC3+C,UAAAA,IAAI,EAAC,KAAKA,IAAX;AAAgBsC,UAAAA,GAAG,EAAC,KAAKA;AAAzB,SAAhD,CAAN;AAAqF,YAAG,SAAO,KAAKmhC,QAAZ,IAAsB,KAAKzjC,IAAL,CAAUq+O,YAAV,CAAuB,KAAK/7O,GAA5B,MAAmC,KAAKmhC,QAAjE,EAA0E,MAAM,IAAIkb,CAAJ,CAAM,yCAAN,EAAgD,IAAhD,EAAqD;AAAC3+C,UAAAA,IAAI,EAAC,KAAKA,IAAX;AAAgBsC,UAAAA,GAAG,EAAC,KAAKA;AAAzB,SAArD,CAAN;AAA0F,YAAG,SAAO,KAAKmhC,QAAZ,IAAsB,SAAO,KAAKD,QAAlC,IAA4C,KAAKxjC,IAAL,CAAU0vP,YAAV,CAAuB,KAAKptP,GAA5B,CAA/C,EAAgF,MAAM,IAAIq8C,CAAJ,CAAM,0CAAN,EAAiD,IAAjD,EAAsD;AAAC3+C,UAAAA,IAAI,EAAC,KAAKA,IAAX;AAAgBsC,UAAAA,GAAG,EAAC,KAAKA;AAAzB,SAAtD,CAAN;AAA2F;;AAAAogR,MAAAA,QAAQ,GAAE;AAAC,iBAAO,KAAKl/O,QAAZ,GAAqB,KAAKxjC,IAAL,CAAUmwP,aAAV,CAAwB,KAAK7tP,GAA7B,EAAiC,KAAKkhC,QAAtC,CAArB,GAAqE,KAAKxjC,IAAL,CAAUowP,gBAAV,CAA2B,KAAK9tP,GAAhC,CAArE;AAA0G;;AAAA0+E,MAAAA,MAAM,GAAE;AAAC,cAAMxkF,CAAC,GAAC,MAAMwkF,MAAN,EAAR;AAAuB,eAAOxkF,CAAC,CAACwD,IAAF,GAAO,KAAKA,IAAL,CAAUghF,MAAV,EAAP,EAA0BxkF,CAAjC;AAAmC;;AAAoB,iBAAT8hK,SAAS,GAAE;AAAC,eAAM,wBAAN;AAA+B;;AAAe,aAARguG,QAAQ,CAAC9vQ,CAAD,EAAG2K,CAAH,EAAK;AAAC,YAAG,CAACA,CAAC,CAACy7E,OAAF,CAAUpmF,CAAC,CAACwD,IAAZ,CAAJ,EAAsB,MAAM,IAAI2+C,CAAJ,CAAM,0CAAN,EAAiD,IAAjD,EAAsD;AAACmgC,UAAAA,QAAQ,EAACtiF,CAAC,CAACwD;AAAZ,SAAtD,CAAN;AAA+E,eAAO,IAAI0jR,EAAJ,CAAOv8Q,CAAC,CAACy7E,OAAF,CAAUpmF,CAAC,CAACwD,IAAZ,CAAP,EAAyBxD,CAAC,CAAC8F,GAA3B,EAA+B9F,CAAC,CAACinC,QAAjC,EAA0CjnC,CAAC,CAACgnC,QAA5C,EAAqDhnC,CAAC,CAACqlR,WAAvD,CAAP;AAA2E;;AAAr3C;;AAAs3C,UAAM8B,EAAN,SAAiB/B,EAAjB,CAAmB;AAAC3lT,MAAAA,WAAW,CAACugC,CAAD,EAAG2K,CAAH,EAAKJ,CAAL,EAAOgC,CAAP,EAAS51B,CAAT,EAAW;AAAC,YAAG,MAAMA,CAAN,GAAS,KAAK2rG,QAAL,GAActiF,CAAvB,EAAyB,KAAK47Q,WAAL,GAAiBjxQ,CAA1C,EAA4C,KAAKy8Q,KAAL,GAAW78Q,CAAvD,EAAyD,KAAKpG,SAAL,GAAeoI,CAAxE,EAA0E,CAAC,KAAKpI,SAAL,CAAeiiF,OAAf,CAAuB,KAAK9D,QAA5B,CAA9E,EAAoH;AAAC,eAAKn+E,SAAL,CAAekjR,UAAf,CAA0B,KAAKzL,WAA/B,EAA2C,KAAKt5L,QAAhD,EAA0DglM,WAA1D,GAAsE,CAAC,CAAvE;AAAyE;AAAC;;AAAQ,UAAJrwS,IAAI,GAAE;AAAC,eAAO,KAAKmwS,KAAL,GAAW,SAAX,GAAqB,YAA5B;AAAyC;;AAAsB,UAAlBrB,kBAAkB,GAAE;AAAC,eAAO,KAAK5hR,SAAL,CAAeiiF,OAAf,CAAuB,KAAK9D,QAA5B,CAAP;AAA6C;;AAAA1iF,MAAAA,KAAK,GAAE;AAAC,eAAO,IAAIunR,EAAJ,CAAO,KAAK7kM,QAAZ,EAAqB,KAAKs5L,WAA1B,EAAsC,KAAKwL,KAA3C,EAAiD,KAAKjjR,SAAtD,EAAgE,KAAKkhR,WAArE,CAAP;AAAyF;;AAAAY,MAAAA,WAAW,GAAE;AAAC,eAAO,IAAIkB,EAAJ,CAAO,KAAK7kM,QAAZ,EAAqB,KAAKs5L,WAA1B,EAAsC,CAAC,KAAKwL,KAA5C,EAAkD,KAAKjjR,SAAvD,EAAiE,KAAKkhR,WAAL,GAAiB,CAAlF,CAAP;AAA4F;;AAAAa,MAAAA,QAAQ,GAAE;AAAC,aAAK/hR,SAAL,CAAeiiF,OAAf,CAAuB,KAAK9D,QAA5B,EAAsCglM,WAAtC,GAAkD,KAAKF,KAAvD;AAA6D;;AAAA5iM,MAAAA,MAAM,GAAE;AAAC,cAAMxkF,CAAC,GAAC,MAAMwkF,MAAN,EAAR;AAAuB,eAAO,OAAOxkF,CAAC,CAACmE,SAAT,EAAmBnE,CAA1B;AAA4B;;AAAoB,iBAAT8hK,SAAS,GAAE;AAAC,eAAM,eAAN;AAAsB;;AAAe,aAARguG,QAAQ,CAAC9vQ,CAAD,EAAG2K,CAAH,EAAK;AAAC,eAAO,IAAIw8Q,EAAJ,CAAOnnR,CAAC,CAACsiF,QAAT,EAAkBtiF,CAAC,CAAC47Q,WAApB,EAAgC57Q,CAAC,CAAConR,KAAlC,EAAwCz8Q,CAAxC,EAA0C3K,CAAC,CAACqlR,WAA5C,CAAP;AAAgE;;AAAlyB;;AAAmyB,UAAMkC,EAAE,GAAC,EAAT;AAAYA,IAAAA,EAAE,CAACV,EAAE,CAAC/kH,SAAJ,CAAF,GAAiB+kH,EAAjB,EAAoBU,EAAE,CAACpB,EAAE,CAACrkH,SAAJ,CAAF,GAAiBqkH,EAArC,EAAwCoB,EAAE,CAACf,EAAE,CAAC1kH,SAAJ,CAAF,GAAiB0kH,EAAzD,EAA4De,EAAE,CAACzB,EAAE,CAAChkH,SAAJ,CAAF,GAAiBgkH,EAA7E,EAAgFyB,EAAE,CAACT,EAAE,CAAChlH,SAAJ,CAAF,GAAiBglH,EAAjG,EAAoGS,EAAE,CAACnC,EAAE,CAACtjH,SAAJ,CAAF,GAAiBsjH,EAArH,EAAwHmC,EAAE,CAACR,EAAE,CAACjlH,SAAJ,CAAF,GAAiBilH,EAAzI,EAA4IQ,EAAE,CAACL,EAAE,CAACplH,SAAJ,CAAF,GAAiBolH,EAA7J,EAAgKK,EAAE,CAACJ,EAAE,CAACrlH,SAAJ,CAAF,GAAiBqlH,EAAjL,EAAoLI,EAAE,CAAClB,EAAE,CAACvkH,SAAJ,CAAF,GAAiBukH,EAArM,EAAwMkB,EAAE,CAACjB,EAAE,CAACxkH,SAAJ,CAAF,GAAiBwkH,EAAzN;;AAA4N,UAAMkB,EAAN,CAAQ;AAAgB,aAAR1X,QAAQ,CAAC9vQ,CAAD,EAAG2K,CAAH,EAAK;AAAC,eAAO48Q,EAAE,CAACvnR,CAAC,CAACulR,WAAH,CAAF,CAAkBzV,QAAlB,CAA2B9vQ,CAA3B,EAA6B2K,CAA7B,CAAP;AAAuC;;AAA7D;;AAA8D,UAAM88Q,EAAE,GAAC,IAAIx4Q,GAAJ,EAAT;;AAAiB,aAASy4Q,EAAT,CAAY1nR,CAAZ,EAAc2K,CAAd,EAAgBJ,CAAhB,EAAkB;AAAC,UAAIgC,CAAC,GAACk7Q,EAAE,CAAChnT,GAAH,CAAOu/B,CAAP,CAAN;AAAgBuM,MAAAA,CAAC,KAAGA,CAAC,GAAC,IAAI0C,GAAJ,EAAF,EAAUw4Q,EAAE,CAAC3iR,GAAH,CAAO9E,CAAP,EAASuM,CAAT,CAAb,CAAD,EAA2BA,CAAC,CAACzH,GAAF,CAAM6F,CAAN,EAAQJ,CAAR,CAA3B;AAAsC;;AAAA,aAASo9Q,EAAT,CAAY3nR,CAAZ,EAAc;AAAC,aAAM,CAACA,CAAD,CAAN;AAAU;;AAAA,aAAS4nR,EAAT,CAAY5nR,CAAZ,EAAc2K,CAAd,EAAgBJ,CAAC,GAAC,EAAlB,EAAqB;AAAC,YAAMgC,CAAC,GAAC,UAASvM,CAAT,EAAW2K,CAAX,EAAa;AAAC,cAAMJ,CAAC,GAACk9Q,EAAE,CAAChnT,GAAH,CAAOu/B,CAAP,CAAR;AAAkB,eAAOuK,CAAC,IAAEA,CAAC,CAACukB,GAAF,CAAMnkB,CAAN,CAAH,GAAYJ,CAAC,CAAC9pC,GAAF,CAAMkqC,CAAN,CAAZ,GAAqBg9Q,EAA5B;AAA+B,OAA/D,CAAgE3nR,CAAC,CAACvgC,WAAlE,EAA8EkrC,CAAC,CAAClrC,WAAhF,CAAR;;AAAqG,UAAG;AAAC,eAAO8sC,CAAC,CAACvM,CAAC,GAACA,CAAC,CAACJ,KAAF,EAAH,EAAa+K,CAAb,EAAeJ,CAAf,CAAR;AAA0B,OAA9B,CAA8B,OAAMvK,CAAN,EAAQ;AAAC,cAAMA,CAAN;AAAQ;AAAC;;AAAA,aAAS6nR,EAAT,CAAY7nR,CAAZ,EAAc2K,CAAd,EAAgBJ,CAAhB,EAAkB;AAACvK,MAAAA,CAAC,GAACA,CAAC,CAAC04E,KAAF,EAAF,EAAY/tE,CAAC,GAACA,CAAC,CAAC+tE,KAAF,EAAd;AAAwB,YAAMnsE,CAAC,GAAC,IAAIu7Q,EAAJ,CAAOv9Q,CAAC,CAAC7I,QAAT,EAAkB6I,CAAC,CAACw9Q,YAApB,EAAiCx9Q,CAAC,CAACy9Q,eAAnC,CAAR;AAA4Dz7Q,MAAAA,CAAC,CAAC07Q,qBAAF,CAAwBjoR,CAAxB,GAA2BuM,CAAC,CAAC07Q,qBAAF,CAAwBt9Q,CAAxB,CAA3B;AAAsD,YAAMh0B,CAAC,GAAC41B,CAAC,CAAC27Q,kBAAV;AAA6B,UAAG,KAAGloR,CAAC,CAACrzB,MAAL,IAAa,KAAGg+B,CAAC,CAACh+B,MAArB,EAA4B,OAAM;AAACw7S,QAAAA,WAAW,EAACnoR,CAAb;AAAeooR,QAAAA,WAAW,EAACz9Q,CAA3B;AAA6Bu9Q,QAAAA,kBAAkB,EAACvxS;AAAhD,OAAN;AAAyD,YAAM81B,CAAC,GAAC,IAAIiwO,OAAJ,EAAR;;AAAoB,WAAI,MAAM/xO,CAAV,IAAe3K,CAAf,EAAiByM,CAAC,CAAC3H,GAAF,CAAM6F,CAAN,EAAQ,CAAR;;AAAW,YAAML,CAAC,GAAC;AAAC+9Q,QAAAA,gBAAgB,EAACroR,CAAC,CAACA,CAAC,CAACrzB,MAAF,GAAS,CAAV,CAAD,CAAc04S,WAAd,GAA0B,CAA5C;AAA8CiD,QAAAA,gBAAgB,EAAC39Q,CAAC,CAACA,CAAC,CAACh+B,MAAF,GAAS,CAAV,CAAD,CAAc04S,WAAd,GAA0B,CAAzF;AAA2FkD,QAAAA,wBAAwB,EAACvoR,CAAC,CAACrzB,MAAtH;AAA6H67S,QAAAA,wBAAwB,EAAC79Q,CAAC,CAACh+B;AAAxJ,OAAR;AAAwK,UAAIy1E,CAAC,GAAC,CAAN;;AAAQ,aAAKA,CAAC,GAACpiD,CAAC,CAACrzB,MAAT,GAAiB;AAAC,cAAM49B,CAAC,GAACvK,CAAC,CAACoiD,CAAD,CAAT;AAAA,cAAazrE,CAAC,GAAC81B,CAAC,CAAChsC,GAAF,CAAM8pC,CAAN,CAAf;;AAAwB,YAAG5zB,CAAC,IAAEg0B,CAAC,CAACh+B,MAAR,EAAe;AAACy1E,UAAAA,CAAC;AAAG;AAAS;;AAAA,cAAM93C,CAAC,GAACK,CAAC,CAACh0B,CAAD,CAAT;AAAA,cAAagnK,CAAC,GAACiqI,EAAE,CAACr9Q,CAAD,EAAGD,CAAH,EAAKiC,CAAC,CAACk8Q,UAAF,CAAal+Q,CAAb,EAAeD,CAAf,EAAiB,CAAC,CAAlB,CAAL,CAAjB;AAAA,cAA4C4hL,CAAC,GAAC07F,EAAE,CAACt9Q,CAAD,EAAGC,CAAH,EAAKgC,CAAC,CAACk8Q,UAAF,CAAan+Q,CAAb,EAAeC,CAAf,EAAiB,CAAC,CAAlB,CAAL,CAAhD;AAA2EgC,QAAAA,CAAC,CAACm8Q,cAAF,CAAiBn+Q,CAAjB,EAAmBD,CAAnB,GAAsBiC,CAAC,CAAC07Q,qBAAF,CAAwBtqI,CAAxB,EAA0BpzI,CAA1B,CAAtB,EAAmDgC,CAAC,CAAC07Q,qBAAF,CAAwB/7F,CAAxB,EAA0B5hL,CAA1B,CAAnD;;AAAgF,aAAI,MAAMtK,CAAV,IAAe29I,CAAf,EAAiBlxI,CAAC,CAAC3H,GAAF,CAAM9E,CAAN,EAAQrpB,CAAC,GAACu1M,CAAC,CAACv/M,MAAZ;;AAAoBqzB,QAAAA,CAAC,CAACmjG,MAAF,CAAS/gD,CAAT,EAAW,CAAX,EAAa,GAAGu7F,CAAhB,GAAmBhzI,CAAC,CAACw4F,MAAF,CAASxsH,CAAT,EAAW,CAAX,EAAa,GAAGu1M,CAAhB,CAAnB;AAAsC;;AAAA,UAAG3hL,CAAC,CAACo+Q,YAAL,EAAkB;AAAC,cAAMp+Q,CAAC,GAACvK,CAAC,CAACrzB,MAAF,GAAS29B,CAAC,CAACi+Q,wBAAnB;AAAA,cAA4Ch8Q,CAAC,GAAC5B,CAAC,CAACh+B,MAAF,GAAS29B,CAAC,CAACk+Q,wBAAzD;AAAkFI,QAAAA,EAAE,CAAC5oR,CAAD,EAAGuM,CAAC,GAAChC,CAAL,CAAF,EAAUq+Q,EAAE,CAACj+Q,CAAD,EAAGJ,CAAC,GAACgC,CAAL,CAAZ;AAAoB;;AAAA,aAAOs8Q,EAAE,CAAC7oR,CAAD,EAAGsK,CAAC,CAACg+Q,gBAAL,CAAF,EAAyBO,EAAE,CAACl+Q,CAAD,EAAGL,CAAC,CAAC+9Q,gBAAL,CAA3B,EAAkD;AAACF,QAAAA,WAAW,EAACnoR,CAAb;AAAeooR,QAAAA,WAAW,EAACz9Q,CAA3B;AAA6Bu9Q,QAAAA,kBAAkB,EAACvxS;AAAhD,OAAzD;AAA4G;;AAAA,UAAMmxS,EAAN,CAAQ;AAACroT,MAAAA,WAAW,CAACugC,CAAD,EAAG2K,CAAH,EAAKJ,CAAC,GAAC,CAAC,CAAR,EAAU;AAAC,aAAK29Q,kBAAL,GAAwB,IAAIj5Q,GAAJ,EAAxB,EAAgC,KAAKgpF,QAAL,GAAcj4F,CAAC,CAAC8gD,OAAhD,EAAwD,KAAKgoO,aAAL,GAAmBn+Q,CAA3E,EAA6E,KAAKo+Q,gBAAL,GAAsB,CAAC,CAACx+Q,CAArG,EAAuG,KAAKy+Q,UAAL,GAAgB,IAAI/5Q,GAAJ,EAAvH;AAA+H;;AAAAg5Q,MAAAA,qBAAqB,CAACjoR,CAAD,EAAG2K,CAAC,GAAC,IAAL,EAAU;AAAC,cAAMJ,CAAC,GAACI,CAAC,GAAC,KAAKu9Q,kBAAL,CAAwBznT,GAAxB,CAA4BkqC,CAA5B,CAAD,GAAgC,IAAzC;;AAA8C,aAAI,MAAMA,CAAV,IAAe3K,CAAf,EAAiB,KAAKkoR,kBAAL,CAAwBpjR,GAAxB,CAA4B6F,CAA5B,EAA8BJ,CAAC,IAAEI,CAAjC;AAAoC;;AAAA+9Q,MAAAA,cAAc,CAAC1oR,CAAD,EAAG2K,CAAH,EAAK;AAAC,YAAG3K,CAAC,YAAY8lR,EAAhB,EAAmBn7Q,CAAC,YAAY27Q,EAAb,GAAgBtmR,CAAC,CAACuxQ,cAAF,CAAiBx7B,OAAjB,CAAyBprO,CAAC,CAAC2mQ,cAA3B,KAA4C3mQ,CAAC,CAAC6mQ,UAAF,CAAanb,gBAAb,CAA8Br2P,CAAC,CAACuxQ,cAAhC,CAA5C,GAA4F,KAAK0X,YAAL,CAAkBjpR,CAAlB,EAAoB2K,CAApB,EAAsB,gBAAtB,CAA5F,GAAoI3K,CAAC,CAACuxQ,cAAF,CAAiBx7B,OAAjB,CAAyBprO,CAAC,CAAConQ,gBAA3B,IAA6C,KAAKkX,YAAL,CAAkBjpR,CAAlB,EAAoB2K,CAApB,EAAsB,eAAtB,CAA7C,GAAoF3K,CAAC,CAACuxQ,cAAF,CAAiB/9D,OAAjB,CAAyB7oM,CAAC,CAAC2mQ,cAA3B,KAA4C,KAAK2X,YAAL,CAAkBjpR,CAAlB,EAAoB2K,CAApB,EAAsB,iBAAtB,CAApR,GAA6TA,CAAC,YAAYm7Q,EAAb,KAAkB9lR,CAAC,CAACuxQ,cAAF,CAAiBx7B,OAAjB,CAAyBprO,CAAC,CAAC2mQ,cAA3B,KAA4CtxQ,CAAC,CAACuxQ,cAAF,CAAiB37Q,QAAjB,CAA0B+U,CAAC,CAAC2mQ,cAA5B,CAA5C,GAAwF,KAAK2X,YAAL,CAAkBjpR,CAAlB,EAAoB2K,CAApB,EAAsB,cAAtB,CAAxF,GAA8H,KAAKs+Q,YAAL,CAAkBjpR,CAAlB,EAAoB2K,CAApB,EAAsB,aAAtB,CAAhJ,CAA7T,CAAnB,KAA2gB,IAAG3K,CAAC,YAAYqmR,EAAhB,EAAmB;AAAC,cAAG17Q,CAAC,YAAY27Q,EAAhB,EAAmBtmR,CAAC,CAAC0xQ,aAAF,CAAgB97Q,QAAhB,CAAyB+U,CAAC,CAAC2mQ,cAA3B,KAA4C,KAAK2X,YAAL,CAAkBjpR,CAAlB,EAAoB2K,CAApB,EAAsB,aAAtB,CAA5C,CAAnB,KAAyG,IAAGA,CAAC,YAAYm7Q,EAAhB,EAAmB,IAAG9lR,CAAC,CAAC0xQ,aAAF,CAAgB37B,OAAhB,CAAwBprO,CAAC,CAAC2mQ,cAA1B,KAA2CtxQ,CAAC,CAAC0xQ,aAAF,CAAgB97Q,QAAhB,CAAyB+U,CAAC,CAAC2mQ,cAA3B,CAA9C,EAAyF,KAAK2X,YAAL,CAAkBjpR,CAAlB,EAAoB2K,CAApB,EAAsB,aAAtB,EAAzF,KAAkI;AAAC,kBAAMJ,CAAC,GAAC0nQ,EAAE,CAACrb,2BAAH,CAA+BjsP,CAAC,CAAC2mQ,cAAjC,EAAgD3mQ,CAAC,CAAC+4G,OAAlD,CAAR;;AAAmE,gBAAG1jH,CAAC,CAAC0xQ,aAAF,CAAgBZ,eAAhB,CAAgCnmQ,CAAC,CAAC2mQ,cAAlC,KAAmD/mQ,CAAC,CAAC8rP,gBAAF,CAAmBr2P,CAAC,CAAC0xQ,aAArB,CAAtD,EAA0F;AAAC,oBAAMnlQ,CAAC,GAAChC,CAAC,CAACm8E,GAAF,CAAMrJ,MAAN,GAAar9E,CAAC,CAAC0xQ,aAAF,CAAgBr0L,MAArC;AAAA,oBAA4C1mG,CAAC,GAACqpB,CAAC,CAAC0xQ,aAAF,CAAgBr0L,MAAhB,GAAuB9yE,CAAC,CAACk8E,KAAF,CAAQpJ,MAA7E;;AAAoF,mBAAK4rM,YAAL,CAAkBjpR,CAAlB,EAAoB2K,CAApB,EAAsB;AAAC+4G,gBAAAA,OAAO,EAACn3G,CAAT;AAAW8wE,gBAAAA,MAAM,EAAC1mG;AAAlB,eAAtB;AAA4C;AAAC;AAAC,SAAnjB,MAAwjB,IAAGqpB,CAAC,YAAYsmR,EAAhB,EAAmB37Q,CAAC,YAAY27Q,EAAb,IAAiBtmR,CAAC,CAACuxQ,cAAF,CAAiBx7B,OAAjB,CAAyBprO,CAAC,CAAC2mQ,cAA3B,KAA4C,KAAK2X,YAAL,CAAkBjpR,CAAlB,EAAoB2K,CAApB,EAAsB,qBAAtB,CAA5C,EAAyF3K,CAAC,CAACsxQ,cAAF,CAAiBv7B,OAAjB,CAAyBprO,CAAC,CAAC4mQ,cAA3B,KAA4C,KAAK0X,YAAL,CAAkBjpR,CAAlB,EAAoB2K,CAApB,EAAsB,qBAAtB,CAArI,EAAkL3K,CAAC,CAACsxQ,cAAF,CAAiBv7B,OAAjB,CAAyBprO,CAAC,CAAC2mQ,cAA3B,KAA4C,KAAK2X,YAAL,CAAkBjpR,CAAlB,EAAoB2K,CAApB,EAAsB,kBAAtB,CAA/O,IAA0RA,CAAC,YAAY07Q,EAAb,IAAiBrmR,CAAC,CAACsxQ,cAAF,CAAiBv7B,OAAjB,CAAyBprO,CAAC,CAAC+mQ,aAA3B,CAAjB,IAA4D,KAAKuX,YAAL,CAAkBjpR,CAAlB,EAAoB2K,CAApB,EAAsB,eAAtB,CAAtV,CAAnB,KAAqZ,IAAG3K,CAAC,YAAYwmR,EAAhB,EAAmB;AAAC,gBAAMj8Q,CAAC,GAACvK,CAAC,CAAC0mR,QAAV;AAAmB,cAAG,CAACn8Q,CAAJ,EAAM;;AAAO,cAAGI,CAAC,YAAYm7Q,EAAhB,EAAmB;AAAC,kBAAMv5Q,CAAC,GAAC0lQ,EAAE,CAACrb,2BAAH,CAA+BjsP,CAAC,CAAC2mQ,cAAjC,EAAgD3mQ,CAAC,CAAC+4G,OAAlD,CAAR;AAAA,kBAAmE/sI,CAAC,GAAC41B,CAAC,CAAC8pP,gBAAF,CAAmB9rP,CAAC,CAACk8E,KAArB,KAA6Bl6E,CAAC,CAACk6E,KAAF,CAAQsvJ,OAAR,CAAgBxrO,CAAC,CAACk8E,KAAlB,CAAlG;AAAA,kBAA2Hh6E,CAAC,GAACF,CAAC,CAAC8pP,gBAAF,CAAmB9rP,CAAC,CAACm8E,GAArB,KAA2Bn6E,CAAC,CAACm6E,GAAF,CAAMqvJ,OAAN,CAAcxrO,CAAC,CAACm8E,GAAhB,CAAxJ;;AAA6K,aAAC/vG,CAAD,IAAI,CAAC81B,CAAL,IAAQF,CAAC,CAAC+pP,aAAF,CAAgB/rP,CAAhB,CAAR,IAA4B,KAAK0+Q,YAAL,CAAkBjpR,CAAlB,EAAoB2K,CAApB,EAAsB;AAACu+Q,cAAAA,IAAI,EAACvyS,CAAC,GAAC,MAAD,GAAQ,OAAf;AAAuB3P,cAAAA,IAAI,EAAC2P,CAAC,GAAC4zB,CAAC,CAACk8E,KAAF,CAAQz/G,IAAR,CAAa0xG,KAAb,EAAD,GAAsBnuE,CAAC,CAACm8E,GAAF,CAAM1/G,IAAN,CAAW0xG,KAAX;AAAnD,aAAtB,CAA5B;AAA0H,WAA3T,MAAgU,IAAG/tE,CAAC,YAAY27Q,EAAhB,EAAmB;AAAC,kBAAM/5Q,CAAC,GAAChC,CAAC,CAACk8E,KAAF,CAAQsvJ,OAAR,CAAgBprO,CAAC,CAAC4mQ,cAAlB,CAAR;AAAA,kBAA0C56R,CAAC,GAAC4zB,CAAC,CAACk8E,KAAF,CAAQsvJ,OAAR,CAAgBprO,CAAC,CAAConQ,gBAAlB,CAA5C;AAAA,kBAAgFtlQ,CAAC,GAAClC,CAAC,CAACm8E,GAAF,CAAMqvJ,OAAN,CAAcprO,CAAC,CAAConQ,gBAAhB,CAAlF;AAAA,kBAAoHznQ,CAAC,GAACC,CAAC,CAACm8E,GAAF,CAAMqvJ,OAAN,CAAcprO,CAAC,CAAC2mQ,cAAhB,CAAtH;AAAsJ,aAAC/kQ,CAAC,IAAE51B,CAAH,IAAM81B,CAAN,IAASnC,CAAV,KAAc,KAAK2+Q,YAAL,CAAkBjpR,CAAlB,EAAoB2K,CAApB,EAAsB;AAACw+Q,cAAAA,gBAAgB,EAAC58Q,CAAlB;AAAoB68Q,cAAAA,2BAA2B,EAACzyS,CAAhD;AAAkD0yS,cAAAA,yBAAyB,EAAC58Q,CAA5E;AAA8E68Q,cAAAA,iBAAiB,EAACh/Q;AAAhG,aAAtB,CAAd;AAAwI;AAAC;AAAC;;AAAAm+Q,MAAAA,UAAU,CAACzoR,CAAD,EAAG2K,CAAH,EAAKJ,CAAL,EAAO;AAAC,eAAM;AAACg/Q,UAAAA,SAAS,EAACh/Q,CAAX;AAAai/Q,UAAAA,UAAU,EAAC,KAAKC,UAAL,CAAgBzpR,CAAhB,CAAxB;AAA2C0pR,UAAAA,UAAU,EAAC,KAAKD,UAAL,CAAgB9+Q,CAAhB,CAAtD;AAAyEg/Q,UAAAA,UAAU,EAAC,KAAKb,aAAL,GAAmB,KAAKc,YAAL,CAAkB5pR,CAAlB,EAAoB2K,CAApB,CAAnB,GAA0C,IAA9H;AAAmIk/Q,UAAAA,UAAU,EAAC,KAAKf,aAAL,GAAmB,KAAKc,YAAL,CAAkBj/Q,CAAlB,EAAoB3K,CAApB,CAAnB,GAA0C,IAAxL;AAA6LgoR,UAAAA,eAAe,EAAC,KAAKe;AAAlN,SAAN;AAA0O;;AAAAU,MAAAA,UAAU,CAACzpR,CAAD,EAAG;AAAC,cAAM2K,CAAC,GAAC,KAAKu9Q,kBAAL,CAAwBznT,GAAxB,CAA4Bu/B,CAA5B,CAAR;AAAuC,eAAO2K,CAAC,CAACm/Q,SAAF,IAAa,KAAK7xL,QAAL,CAAc8xL,iBAAd,CAAgCp/Q,CAAhC,CAApB;AAAuD;;AAAAi/Q,MAAAA,YAAY,CAAC5pR,CAAD,EAAG2K,CAAH,EAAK;AAAC,cAAMJ,CAAC,GAAC,KAAK29Q,kBAAL,CAAwBznT,GAAxB,CAA4BkqC,CAA5B,CAAR;AAAA,cAAuC4B,CAAC,GAAC,KAAK0rF,QAAL,CAAc+xL,kBAAd,CAAiCz/Q,CAAjC,CAAzC;;AAA6E,YAAG,CAACgC,CAAJ,EAAM,OAAO,IAAP;;AAAY,cAAM51B,CAAC,GAAC,KAAKuxS,kBAAL,CAAwBznT,GAAxB,CAA4Bu/B,CAA5B,CAAR;AAAA,cAAuCyM,CAAC,GAAC,KAAKu8Q,UAAL,CAAgBvoT,GAAhB,CAAoBkW,CAApB,CAAzC;;AAAgE,eAAO81B,CAAC,IAAEA,CAAC,CAAChsC,GAAF,CAAM8rC,CAAN,CAAH,IAAa,IAApB;AAAyB;;AAAA08Q,MAAAA,YAAY,CAACjpR,CAAD,EAAG2K,CAAH,EAAKJ,CAAL,EAAO;AAAC,cAAMgC,CAAC,GAAC,KAAK27Q,kBAAL,CAAwBznT,GAAxB,CAA4Bu/B,CAA5B,CAAR;AAAA,cAAuCrpB,CAAC,GAAC,KAAKuxS,kBAAL,CAAwBznT,GAAxB,CAA4BkqC,CAA5B,CAAzC;;AAAwE,YAAI8B,CAAC,GAAC,KAAKu8Q,UAAL,CAAgBvoT,GAAhB,CAAoB8rC,CAApB,CAAN;;AAA6BE,QAAAA,CAAC,KAAGA,CAAC,GAAC,IAAIwC,GAAJ,EAAF,EAAU,KAAK+5Q,UAAL,CAAgBlkR,GAAhB,CAAoByH,CAApB,EAAsBE,CAAtB,CAAb,CAAD,EAAwCA,CAAC,CAAC3H,GAAF,CAAMnuB,CAAN,EAAQ4zB,CAAR,CAAxC;AAAmD;;AAA3oG;;AAA4oG,aAASs+Q,EAAT,CAAY7oR,CAAZ,EAAc2K,CAAd,EAAgB;AAAC,WAAI,MAAMJ,CAAV,IAAevK,CAAf,EAAiBuK,CAAC,CAAC86Q,WAAF,GAAc16Q,CAAC,EAAf;AAAkB;;AAAA,aAASi+Q,EAAT,CAAY5oR,CAAZ,EAAc2K,CAAd,EAAgB;AAAC,WAAI,IAAIJ,CAAC,GAAC,CAAV,EAAYA,CAAC,GAACI,CAAd,EAAgBJ,CAAC,EAAjB,EAAoBvK,CAAC,CAACiG,IAAF,CAAO,IAAI6gR,EAAJ,CAAO,CAAP,CAAP;AAAkB;;AAAA,aAASmD,EAAT,CAAYjqR,CAAZ,EAAc2K,CAAd,EAAgBJ,CAAhB,EAAkB;AAAC,YAAMgC,CAAC,GAACvM,CAAC,CAACkpF,KAAF,CAAQomL,OAAR,CAAgB,CAAhB,EAAmBztB,YAAnB,CAAgCl3O,CAAhC,CAAR;AAA2C,UAAG4B,CAAC,IAAEhC,CAAN,EAAQ,OAAO,IAAP;AAAY,YAAM5zB,CAAC,GAAC,IAAIs7R,EAAJ,CAAOjyQ,CAAC,CAAClwB,QAAT,EAAkBkwB,CAAC,CAAClwB,QAAF,CAAW6lR,YAAX,CAAwB31P,CAAC,CAAC0jH,OAA1B,CAAlB,CAAR;AAA8D,aAAO,IAAImjK,EAAJ,CAAOlwS,CAAP,EAASg0B,CAAT,EAAW4B,CAAX,EAAahC,CAAb,EAAe,CAAf,CAAP;AAAyB;;AAAA,aAAS2/Q,EAAT,CAAYlqR,CAAZ,EAAc2K,CAAd,EAAgB;AAAC,aAAO,SAAO3K,CAAC,CAACuxQ,cAAF,CAAiBO,yBAAjB,CAA2CnnQ,CAAC,CAAC2mQ,cAA7C,EAA4D3mQ,CAAC,CAAC+4G,OAA9D,CAAd;AAAqF;;AAAA,aAASymK,EAAT,CAAYnqR,CAAZ,EAAc2K,CAAd,EAAgB;AAAC,YAAMJ,CAAC,GAAC,EAAR;;AAAW,WAAI,IAAIgC,CAAC,GAAC,CAAV,EAAYA,CAAC,GAACvM,CAAC,CAACrzB,MAAhB,EAAuB4/B,CAAC,EAAxB,EAA2B;AAAC,cAAM51B,CAAC,GAACqpB,CAAC,CAACuM,CAAD,CAAT;AAAA,cAAaE,CAAC,GAAC,IAAIq5Q,EAAJ,CAAOnvS,CAAC,CAAC8vG,KAAT,EAAe9vG,CAAC,CAAC+vG,GAAF,CAAMrJ,MAAN,GAAa1mG,CAAC,CAAC8vG,KAAF,CAAQpJ,MAApC,EAA2C1yE,CAA3C,EAA6C,CAA7C,CAAf;AAA+DJ,QAAAA,CAAC,CAACtE,IAAF,CAAOwG,CAAP;;AAAU,aAAI,IAAI9B,CAAC,GAAC4B,CAAC,GAAC,CAAZ,EAAc5B,CAAC,GAAC3K,CAAC,CAACrzB,MAAlB,EAAyBg+B,CAAC,EAA1B,EAA6B3K,CAAC,CAAC2K,CAAD,CAAD,GAAK3K,CAAC,CAAC2K,CAAD,CAAD,CAAK0mQ,qBAAL,CAA2B5kQ,CAAC,CAAC6kQ,cAA7B,EAA4C7kQ,CAAC,CAAC8kQ,cAA9C,EAA6D9kQ,CAAC,CAACi3G,OAA/D,EAAwE,CAAxE,CAAL;;AAAgF/4G,QAAAA,CAAC,GAACA,CAAC,CAAC0mQ,qBAAF,CAAwB5kQ,CAAC,CAAC6kQ,cAA1B,EAAyC7kQ,CAAC,CAAC8kQ,cAA3C,EAA0D9kQ,CAAC,CAACi3G,OAA5D,CAAF;AAAuE;;AAAA,aAAOn5G,CAAP;AAAS;;AAAAm9Q,IAAAA,EAAE,CAACb,EAAD,EAAIA,EAAJ,EAAQ,CAAC7mR,CAAD,EAAG2K,CAAH,EAAKJ,CAAL,KAAS;AAAC,UAAGvK,CAAC,CAAC8F,GAAF,KAAQ6E,CAAC,CAAC7E,GAAV,IAAe9F,CAAC,CAAC+mF,KAAF,CAAQN,KAAR,CAAcqqL,eAAd,CAA8BnmQ,CAAC,CAACo8E,KAAF,CAAQN,KAAtC,CAAlB,EAA+D;AAAC,cAAMl6E,CAAC,GAACvM,CAAC,CAAC+mF,KAAF,CAAQwvK,aAAR,CAAsB5rP,CAAC,CAACo8E,KAAxB,EAA+Bv9G,GAA/B,CAAoCmhC,CAAC,IAAE,IAAIk8Q,EAAJ,CAAOl8Q,CAAP,EAAS3K,CAAC,CAAC8F,GAAX,EAAe9F,CAAC,CAACinC,QAAjB,EAA0BjnC,CAAC,CAACgnC,QAA5B,EAAqC,CAArC,CAAvC,CAAR;AAAA,cAAyFrwD,CAAC,GAACqpB,CAAC,CAAC+mF,KAAF,CAAQyuJ,eAAR,CAAwB7qO,CAAC,CAACo8E,KAA1B,CAA3F;AAA4H,eAAOpwG,CAAC,IAAE4zB,CAAC,CAACg/Q,SAAL,IAAgBh9Q,CAAC,CAACtG,IAAF,CAAO,IAAI4gR,EAAJ,CAAOlwS,CAAP,EAASg0B,CAAC,CAAC7E,GAAX,EAAe6E,CAAC,CAACq8B,QAAjB,EAA0BhnC,CAAC,CAACgnC,QAA5B,EAAqC,CAArC,CAAP,CAAhB,EAAgE,KAAGz6B,CAAC,CAAC5/B,MAAL,GAAY,CAAC,IAAIm6S,EAAJ,CAAO,CAAP,CAAD,CAAZ,GAAwBv6Q,CAA/F;AAAiG;;AAAA,aAAM,CAACvM,CAAD,CAAN;AAAU,KAAzT,CAAF,EAA8T0nR,EAAE,CAACb,EAAD,EAAIV,EAAJ,EAAQ,CAACnmR,CAAD,EAAG2K,CAAH,KAAO;AAAC,UAAG3K,CAAC,CAAC+mF,KAAF,CAAQN,KAAR,CAAcqqL,eAAd,CAA8BnmQ,CAAC,CAAC76B,QAAhC,KAA2CkwB,CAAC,CAAC+mF,KAAF,CAAQsvK,gBAAR,CAAyB1rP,CAAC,CAAC76B,QAA3B,CAA9C,EAAmF;AAAC,cAAMy6B,CAAC,GAACvK,CAAC,CAAC+mF,KAAF,CAAQqqL,0BAAR,CAAmCzmQ,CAAC,CAAC76B,QAArC,EAA8C66B,CAAC,CAAC+4G,OAAhD,EAAwD,CAAC/4G,CAAC,CAACy7Q,uBAA3D,EAAoF58S,GAApF,CAAyFmhC,CAAC,IAAE,IAAIk8Q,EAAJ,CAAOl8Q,CAAP,EAAS3K,CAAC,CAAC8F,GAAX,EAAe9F,CAAC,CAACinC,QAAjB,EAA0BjnC,CAAC,CAACgnC,QAA5B,EAAqChnC,CAAC,CAACqlR,WAAvC,CAA5F,CAAR;;AAA0J,YAAG16Q,CAAC,CAACy7Q,uBAAL,EAA6B;AAAC,gBAAM75Q,CAAC,GAAC09Q,EAAE,CAACt/Q,CAAD,EAAG3K,CAAC,CAAC8F,GAAL,EAAS9F,CAAC,CAACinC,QAAX,CAAV;AAA+B16B,UAAAA,CAAC,IAAEhC,CAAC,CAACu+E,OAAF,CAAUv8E,CAAV,CAAH;AAAgB;;AAAA,eAAOhC,CAAP;AAAS;;AAAA,aAAOvK,CAAC,CAAC+mF,KAAF,GAAQ/mF,CAAC,CAAC+mF,KAAF,CAAQqqL,0BAAR,CAAmCzmQ,CAAC,CAAC76B,QAArC,EAA8C66B,CAAC,CAAC+4G,OAAhD,EAAwD,CAAC,CAAzD,EAA4D,CAA5D,CAAR,EAAuE,CAAC1jH,CAAD,CAA9E;AAAkF,KAAta,CAAhU,EAAyuB0nR,EAAE,CAACb,EAAD,EAAIP,EAAJ,EAAQ,CAACtmR,CAAD,EAAG2K,CAAH,KAAO;AAAC,YAAMJ,CAAC,GAAC,EAAR;AAAWvK,MAAAA,CAAC,CAAC+mF,KAAF,CAAQN,KAAR,CAAcqqL,eAAd,CAA8BnmQ,CAAC,CAAConQ,gBAAhC,MAAoD/xQ,CAAC,CAAC+mF,KAAF,CAAQsvK,gBAAR,CAAyB1rP,CAAC,CAAConQ,gBAA3B,KAA8C/xQ,CAAC,CAAC+mF,KAAF,CAAQN,KAAR,CAAcsvJ,OAAd,CAAsBprO,CAAC,CAAConQ,gBAAxB,CAAlG,KAA8IxnQ,CAAC,CAACtE,IAAF,CAAOgsQ,EAAE,CAACrb,2BAAH,CAA+BjsP,CAAC,CAACinQ,iBAAjC,EAAmD,CAAnD,CAAP,CAA9I;;AAA4M,YAAMrlQ,CAAC,GAACvM,CAAC,CAAC+mF,KAAF,CAAQoqL,+BAAR,CAAwCxmQ,CAAxC,CAAR;;AAAmD,aAAO4B,CAAC,CAACypP,WAAF,IAAezrP,CAAC,CAACtE,IAAF,CAAOsG,CAAP,CAAf,EAAyBhC,CAAC,CAAC/gC,GAAF,CAAOmhC,CAAC,IAAE,IAAIk8Q,EAAJ,CAAOl8Q,CAAP,EAAS3K,CAAC,CAAC8F,GAAX,EAAe9F,CAAC,CAACinC,QAAjB,EAA0BjnC,CAAC,CAACgnC,QAA5B,EAAqChnC,CAAC,CAACqlR,WAAvC,CAAV,CAAhC;AAAgG,KAA1X,CAA3uB,EAAwmCqC,EAAE,CAACb,EAAD,EAAIf,EAAJ,EAAQ,CAAC9lR,CAAD,EAAG2K,CAAH,KAAO;AAAC,YAAMJ,CAAC,GAAC,UAASvK,CAAT,EAAW2K,CAAX,EAAa;AAAC,cAAMJ,CAAC,GAAC0nQ,EAAE,CAACrb,2BAAH,CAA+BjsP,CAAC,CAAC2mQ,cAAjC,EAAgD3mQ,CAAC,CAAC+4G,OAAlD,CAAR;;AAAmE,YAAIn3G,CAAC,GAAC,IAAN;AAAA,YAAW51B,CAAC,GAAC,EAAb;AAAgB4zB,QAAAA,CAAC,CAAC+rP,aAAF,CAAgBt2P,CAAhB,EAAkB,CAAC,CAAnB,IAAsBuM,CAAC,GAACvM,CAAxB,GAA0BA,CAAC,CAACymF,KAAF,CAAQqqL,eAAR,CAAwBvmQ,CAAC,CAACk8E,KAA1B,KAAkC9vG,CAAC,GAACqpB,CAAC,CAACu2P,aAAF,CAAgBhsP,CAAhB,CAAF,EAAqBgC,CAAC,GAACvM,CAAC,CAACw1O,eAAF,CAAkBjrO,CAAlB,CAAzD,IAA+E5zB,CAAC,GAAC,CAACqpB,CAAD,CAA3G;AAA+G,cAAMyM,CAAC,GAAC,EAAR;;AAAW,aAAI,IAAIzM,CAAR,IAAarpB,CAAb,EAAe;AAACqpB,UAAAA,CAAC,GAACA,CAAC,CAAC8xQ,yBAAF,CAA4BnnQ,CAAC,CAAC2mQ,cAA9B,EAA6C3mQ,CAAC,CAAC+4G,OAA/C,CAAF;;AAA0D,gBAAMn5G,CAAC,GAACI,CAAC,CAACq7Q,kBAAF,EAAR;AAAA,gBAA+Bz5Q,CAAC,GAACvM,CAAC,CAACymF,KAAF,CAAQqqL,eAAR,CAAwBvmQ,CAAxB,CAAjC;AAAA,gBAA4D5zB,CAAC,GAACqpB,CAAC,CAACoxQ,0BAAF,CAA6B7mQ,CAA7B,EAA+BI,CAAC,CAAC+4G,OAAjC,EAAyCn3G,CAAzC,CAA9D;;AAA0GE,UAAAA,CAAC,CAACxG,IAAF,CAAO,GAAGtvB,CAAV;AAAa;;AAAA41B,QAAAA,CAAC,IAAEE,CAAC,CAACxG,IAAF,CAAOsG,CAAC,CAAC8kQ,qBAAF,CAAwB1mQ,CAAC,CAAC2mQ,cAA1B,EAAyC3mQ,CAAC,CAAC4mQ,cAA3C,EAA0D5mQ,CAAC,CAAC+4G,OAA5D,EAAoE,CAAC,CAArE,EAAwE,CAAxE,CAAP,CAAH;AAAsF,eAAOj3G,CAAP;AAAS,OAA3f,CAA4fzM,CAAC,CAAC+mF,KAA9f,EAAogBp8E,CAApgB,CAAR;;AAA+gB,aAAOJ,CAAC,CAAC/gC,GAAF,CAAOmhC,CAAC,IAAE,IAAIk8Q,EAAJ,CAAOl8Q,CAAP,EAAS3K,CAAC,CAAC8F,GAAX,EAAe9F,CAAC,CAACinC,QAAjB,EAA0BjnC,CAAC,CAACgnC,QAA5B,EAAqChnC,CAAC,CAACqlR,WAAvC,CAAV,CAAP;AAAuE,KAAtmB,CAA1mC,EAAmtDqC,EAAE,CAACb,EAAD,EAAIR,EAAJ,EAAQ,CAACrmR,CAAD,EAAG2K,CAAH,KAAO;AAAC,UAAG3K,CAAC,CAAC+mF,KAAF,CAAQL,GAAR,CAAYqvJ,OAAZ,CAAoBprO,CAAC,CAACknQ,iBAAtB,CAAH,EAA4C,OAAOlnQ,CAAC,CAACinQ,iBAAF,IAAqB5xQ,CAAC,CAAC+mF,KAAF,CAAQL,GAAR,CAAYrJ,MAAZ,EAArB,EAA0C,CAACr9E,CAAD,CAAjD;;AAAqD,UAAGA,CAAC,CAAC+mF,KAAF,CAAQN,KAAR,CAAcqqL,eAAd,CAA8BnmQ,CAAC,CAAC+mQ,aAAhC,KAAgD1xQ,CAAC,CAAC+mF,KAAF,CAAQsvK,gBAAR,CAAyB1rP,CAAC,CAAC+mQ,aAA3B,CAAnD,EAA6F;AAAC,cAAMnnQ,CAAC,GAACvK,CAAC,CAACJ,KAAF,EAAR;AAAkB,eAAO2K,CAAC,CAACw8E,KAAF,GAAQ,IAAIkrL,EAAJ,CAAOtnQ,CAAC,CAACgnQ,kBAAF,CAAqB/xQ,KAArB,EAAP,EAAoCI,CAAC,CAAC+mF,KAAF,CAAQL,GAAR,CAAY+qL,YAAZ,CAAyB9mQ,CAAC,CAAC+mQ,aAA3B,EAAyC/mQ,CAAC,CAACgnQ,kBAA3C,CAApC,CAAR,EAA4G3xQ,CAAC,CAAC+mF,KAAF,CAAQL,GAAR,GAAY/7E,CAAC,CAAC+mQ,aAAF,CAAgB9xQ,KAAhB,EAAxH,EAAgJI,CAAC,CAAC+mF,KAAF,CAAQL,GAAR,CAAYG,UAAZ,GAAuB,YAAvK,EAAoL,CAAC7mF,CAAD,EAAGuK,CAAH,CAA3L;AAAiM;;AAAA,aAAOvK,CAAC,CAAC+mF,KAAF,GAAQ/mF,CAAC,CAAC+mF,KAAF,CAAQmqL,+BAAR,CAAwCvmQ,CAAxC,CAAR,EAAmD,CAAC3K,CAAD,CAA1D;AAA8D,KAAhe,CAArtD,EAAwrE0nR,EAAE,CAACvB,EAAD,EAAIU,EAAJ,EAAQ,CAAC7mR,CAAD,EAAG2K,CAAH,KAAO;AAAC,YAAMJ,CAAC,GAAC,CAACvK,CAAD,CAAR;;AAAY,UAAGA,CAAC,CAAComR,uBAAF,IAA2BpmR,CAAC,CAAClwB,QAAF,CAAWghS,eAAX,CAA2BnmQ,CAAC,CAACo8E,KAAF,CAAQN,KAAnC,CAA3B,IAAsE97E,CAAC,CAACo8E,KAAF,CAAQsvK,gBAAR,CAAyBr2P,CAAC,CAAClwB,QAA3B,CAAzE,EAA8G;AAAC,cAAMy8B,CAAC,GAAC09Q,EAAE,CAACjqR,CAAD,EAAG2K,CAAC,CAAC7E,GAAL,EAAS6E,CAAC,CAACq8B,QAAX,CAAV;AAA+Bz6B,QAAAA,CAAC,IAAEhC,CAAC,CAACtE,IAAF,CAAOsG,CAAP,CAAH;AAAa;;AAAA,aAAOhC,CAAP;AAAS,KAAhM,CAA1rE,EAA63Em9Q,EAAE,CAACvB,EAAD,EAAIA,EAAJ,EAAQ,CAACnmR,CAAD,EAAG2K,CAAH,EAAKJ,CAAL,MAAUvK,CAAC,CAAClwB,QAAF,CAAWimQ,OAAX,CAAmBprO,CAAC,CAAC76B,QAArB,KAAgCy6B,CAAC,CAACg/Q,SAAlC,KAA8CvpR,CAAC,CAAClwB,QAAF,GAAWkwB,CAAC,CAAClwB,QAAF,CAAWkhS,gCAAX,CAA4CrmQ,CAA5C,CAAzD,GAAyG,CAAC3K,CAAD,CAAnH,CAAR,CAA/3E,EAAigF0nR,EAAE,CAACvB,EAAD,EAAIL,EAAJ,EAAQ,CAAC9lR,CAAD,EAAG2K,CAAH,MAAQ3K,CAAC,CAAClwB,QAAF,GAAWkwB,CAAC,CAAClwB,QAAF,CAAWmhS,8BAAX,CAA0CtmQ,CAA1C,CAAX,EAAwD,CAAC3K,CAAD,CAAhE,CAAR,CAAngF,EAAklF0nR,EAAE,CAACvB,EAAD,EAAIE,EAAJ,EAAQ,CAACrmR,CAAD,EAAG2K,CAAH,MAAQ3K,CAAC,CAAClwB,QAAF,GAAWkwB,CAAC,CAAClwB,QAAF,CAAWohS,+BAAX,CAA2CvmQ,CAA3C,CAAX,EAAyD,CAAC3K,CAAD,CAAjE,CAAR,CAAplF,EAAoqF0nR,EAAE,CAACvB,EAAD,EAAIG,EAAJ,EAAQ,CAACtmR,CAAD,EAAG2K,CAAH,MAAQ3K,CAAC,CAAClwB,QAAF,GAAWkwB,CAAC,CAAClwB,QAAF,CAAWqhS,+BAAX,CAA2CxmQ,CAA3C,CAAX,EAAyD,CAAC3K,CAAD,CAAjE,CAAR,CAAtqF,EAAsvF0nR,EAAE,CAAClB,EAAD,EAAIL,EAAJ,EAAQ,CAACnmR,CAAD,EAAG2K,CAAH,MAAQ3K,CAAC,CAACymR,QAAF,KAAazmR,CAAC,CAACymR,QAAF,GAAWzmR,CAAC,CAACymR,QAAF,CAAWzV,gCAAX,CAA4CrmQ,CAA5C,EAA+C,CAA/C,CAAxB,GAA2E3K,CAAC,CAAC0mR,QAAF,KAAa1mR,CAAC,CAAC0mR,QAAF,GAAW1mR,CAAC,CAAC0mR,QAAF,CAAW1V,gCAAX,CAA4CrmQ,CAA5C,EAA+C,CAA/C,CAAxB,CAA3E,EAAsJ,CAAC3K,CAAD,CAA9J,CAAR,CAAxvF,EAAq6F0nR,EAAE,CAAClB,EAAD,EAAIA,EAAJ,EAAQ,CAACxmR,CAAD,EAAG2K,CAAH,EAAKJ,CAAL,KAAS;AAAC,UAAGvK,CAAC,CAACxvB,IAAF,IAAQm6B,CAAC,CAACn6B,IAAb,EAAkB;AAAC,YAAG,CAAC+5B,CAAC,CAACg/Q,SAAN,EAAgB,OAAM,CAAC,IAAIzC,EAAJ,CAAO,CAAP,CAAD,CAAN;AAAkB9mR,QAAAA,CAAC,CAACymR,QAAF,GAAW97Q,CAAC,CAAC+7Q,QAAF,GAAW/7Q,CAAC,CAAC+7Q,QAAF,CAAW9mR,KAAX,EAAX,GAA8B,IAAzC;AAA8C;;AAAA,aAAM,CAACI,CAAD,CAAN;AAAU,KAA/H,CAAv6F,EAAyiG0nR,EAAE,CAAClB,EAAD,EAAIF,EAAJ,EAAQ,CAACtmR,CAAD,EAAG2K,CAAH,MAAQ3K,CAAC,CAACymR,QAAF,KAAazmR,CAAC,CAACymR,QAAF,GAAWzmR,CAAC,CAACymR,QAAF,CAAWtV,+BAAX,CAA2CxmQ,CAA3C,CAAxB,GAAuE3K,CAAC,CAAC0mR,QAAF,KAAa1mR,CAAC,CAAC0mR,QAAF,GAAW1mR,CAAC,CAAC0mR,QAAF,CAAWvV,+BAAX,CAA2CxmQ,CAA3C,CAAxB,CAAvE,EAA8I,CAAC3K,CAAD,CAAtJ,CAAR,CAA3iG,EAAgtG0nR,EAAE,CAAClB,EAAD,EAAIV,EAAJ,EAAQ,CAAC9lR,CAAD,EAAG2K,CAAH,EAAKJ,CAAL,KAAS;AAAC,UAAGvK,CAAC,CAACymR,QAAF,KAAazmR,CAAC,CAACymR,QAAF,GAAWxU,EAAE,CAACK,iBAAH,CAAqBtyQ,CAAC,CAACymR,QAAF,CAAWxV,8BAAX,CAA0CtmQ,CAA1C,CAArB,CAAxB,GAA4F3K,CAAC,CAAC0mR,QAAjG,EAA0G;AAAC,YAAGn8Q,CAAC,CAACo/Q,UAAL,EAAgB;AAAC,gBAAMp9Q,CAAC,GAAC0lQ,EAAE,CAACK,iBAAH,CAAqBtyQ,CAAC,CAAC0mR,QAAF,CAAWzV,8BAAX,CAA0CtmQ,CAA1C,CAArB,CAAR;;AAA2E,cAAG,UAAQJ,CAAC,CAACo/Q,UAAF,CAAaT,IAArB,IAA2Bv+Q,CAAC,CAAC4mQ,cAAF,CAAiBx7B,OAAjB,CAAyB/1O,CAAC,CAAC0mR,QAAF,CAAWjgM,KAApC,CAA9B,EAAyE,OAAOzmF,CAAC,CAAC0mR,QAAF,CAAWhgM,GAAX,GAAen6E,CAAC,CAACm6E,GAAjB,EAAqB1mF,CAAC,CAAC0mR,QAAF,CAAWjgM,KAAX,CAAiBz/G,IAAjB,GAAsBujC,CAAC,CAACo/Q,UAAF,CAAa3iT,IAAxD,EAA6D,CAACg5B,CAAD,CAApE;AAAwE,cAAG,WAASuK,CAAC,CAACo/Q,UAAF,CAAaT,IAAtB,IAA4Bv+Q,CAAC,CAAC4mQ,cAAF,CAAiBx7B,OAAjB,CAAyB/1O,CAAC,CAAC0mR,QAAF,CAAWhgM,GAApC,CAA/B,EAAwE,OAAO1mF,CAAC,CAAC0mR,QAAF,CAAWjgM,KAAX,GAAiBl6E,CAAC,CAACk6E,KAAnB,EAAyBzmF,CAAC,CAAC0mR,QAAF,CAAWhgM,GAAX,CAAe1/G,IAAf,GAAoBujC,CAAC,CAACo/Q,UAAF,CAAa3iT,IAA1D,EAA+D,CAACg5B,CAAD,CAAtE;AAA0E;;AAAAA,QAAAA,CAAC,CAAC0mR,QAAF,GAAWzU,EAAE,CAACK,iBAAH,CAAqBtyQ,CAAC,CAAC0mR,QAAF,CAAWzV,8BAAX,CAA0CtmQ,CAA1C,CAArB,CAAX;AAA8E;;AAAA,aAAM,CAAC3K,CAAD,CAAN;AAAU,KAAplB,CAAltG,EAAyyH0nR,EAAE,CAAClB,EAAD,EAAIH,EAAJ,EAAQ,CAACrmR,CAAD,EAAG2K,CAAH,EAAKJ,CAAL,KAAS;AAAC,UAAGvK,CAAC,CAACymR,QAAF,KAAazmR,CAAC,CAACymR,QAAF,GAAWzmR,CAAC,CAACymR,QAAF,CAAWvV,+BAAX,CAA2CvmQ,CAA3C,CAAxB,GAAuE3K,CAAC,CAAC0mR,QAA5E,EAAqF;AAAC,YAAGn8Q,CAAC,CAACo/Q,UAAL,EAAgB;AAAC,gBAAMp9Q,CAAC,GAACvM,CAAC,CAAC0mR,QAAF,CAAWxV,+BAAX,CAA2CvmQ,CAA3C,CAAR;;AAAsD,iBAAO3K,CAAC,CAAC0mR,QAAF,CAAWjgM,KAAX,CAAiBsvJ,OAAjB,CAAyBprO,CAAC,CAAC+mQ,aAA3B,KAA2CnnQ,CAAC,CAACo/Q,UAAF,CAAaP,2BAAxD,GAAoFppR,CAAC,CAAC0mR,QAAF,CAAWjgM,KAAX,GAAiB0pL,EAAE,CAACzb,SAAH,CAAa/pP,CAAC,CAACknQ,iBAAf,CAArG,GAAuI7xQ,CAAC,CAAC0mR,QAAF,CAAWjgM,KAAX,CAAiBsvJ,OAAjB,CAAyBprO,CAAC,CAAC+mQ,aAA3B,KAA2C,CAACnnQ,CAAC,CAACo/Q,UAAF,CAAaR,gBAAzD,KAA4EnpR,CAAC,CAAC0mR,QAAF,CAAWjgM,KAAX,GAAiB0pL,EAAE,CAACzb,SAAH,CAAa/pP,CAAC,CAACgnQ,kBAAf,CAA7F,CAAvI,EAAwQ3xQ,CAAC,CAAC0mR,QAAF,CAAWhgM,GAAX,CAAeqvJ,OAAf,CAAuBprO,CAAC,CAAC+mQ,aAAzB,KAAyCnnQ,CAAC,CAACo/Q,UAAF,CAAaL,iBAAtD,GAAwEtpR,CAAC,CAAC0mR,QAAF,CAAWhgM,GAAX,GAAeypL,EAAE,CAACzb,SAAH,CAAa/pP,CAAC,CAACgnQ,kBAAf,CAAvF,GAA0H3xQ,CAAC,CAAC0mR,QAAF,CAAWhgM,GAAX,CAAeqvJ,OAAf,CAAuBprO,CAAC,CAAC+mQ,aAAzB,KAAyCnnQ,CAAC,CAACo/Q,UAAF,CAAaN,yBAAtD,GAAgFrpR,CAAC,CAAC0mR,QAAF,CAAWhgM,GAAX,GAAeypL,EAAE,CAACzb,SAAH,CAAa/pP,CAAC,CAACknQ,iBAAf,CAA/F,GAAiI7xQ,CAAC,CAAC0mR,QAAF,CAAWhgM,GAAX,GAAen6E,CAAC,CAACm6E,GAAphB,EAAwhB,CAAC1mF,CAAD,CAA/hB;AAAmiB;;AAAAA,QAAAA,CAAC,CAAC0mR,QAAF,GAAW1mR,CAAC,CAAC0mR,QAAF,CAAWxV,+BAAX,CAA2CvmQ,CAA3C,CAAX;AAAyD;;AAAA,aAAM,CAAC3K,CAAD,CAAN;AAAU,KAArxB,CAA3yH,EAAmkJ0nR,EAAE,CAACpB,EAAD,EAAIH,EAAJ,EAAQ,CAACnmR,CAAD,EAAG2K,CAAH,MAAQ3K,CAAC,CAACsxQ,cAAF,CAAiBR,eAAjB,CAAiCnmQ,CAAC,CAAC76B,QAAnC,MAA+CkwB,CAAC,CAAC0jH,OAAF,IAAW/4G,CAAC,CAAC+4G,OAA5D,GAAqE1jH,CAAC,CAACsxQ,cAAF,GAAiBtxQ,CAAC,CAACsxQ,cAAF,CAAiBN,gCAAjB,CAAkDrmQ,CAAlD,CAAtF,EAA2I3K,CAAC,CAACuxQ,cAAF,GAAiBvxQ,CAAC,CAACuxQ,cAAF,CAAiBP,gCAAjB,CAAkDrmQ,CAAlD,CAA5J,EAAiN,CAAC3K,CAAD,CAAzN,CAAR,CAArkJ,EAA6yJ0nR,EAAE,CAACpB,EAAD,EAAIA,EAAJ,EAAQ,CAACtmR,CAAD,EAAG2K,CAAH,EAAKJ,CAAL,KAAS;AAAC,UAAGvK,CAAC,CAACsxQ,cAAF,CAAiBv7B,OAAjB,CAAyBprO,CAAC,CAAC2mQ,cAA3B,KAA4CtxQ,CAAC,CAACuxQ,cAAF,CAAiBx7B,OAAjB,CAAyBprO,CAAC,CAAC4mQ,cAA3B,CAA/C,EAA0F;AAAC,YAAGhnQ,CAAC,CAACm/Q,UAAL,EAAgB;AAAC,gBAAMn/Q,CAAC,GAACI,CAAC,CAACinQ,iBAAF,CAAoB5qS,IAApB,CAAyB0xG,KAAzB,EAAR;AAAyC,iBAAOnuE,CAAC,CAACtE,IAAF,CAAO,CAAP,GAAUjG,CAAC,CAACsxQ,cAAF,GAAiB,IAAInB,EAAJ,CAAOxlQ,CAAC,CAACinQ,iBAAF,CAAoBpuQ,IAA3B,EAAgC+G,CAAhC,CAA3B,EAA8DvK,CAAC,CAAC0jH,OAAF,GAAU,CAAxE,EAA0E,CAAC1jH,CAAD,CAAjF;AAAqF;;AAAA,eAAM,CAAC,IAAI8mR,EAAJ,CAAO,CAAP,CAAD,CAAN;AAAkB;;AAAA,UAAG9mR,CAAC,CAACsxQ,cAAF,CAAiBv7B,OAAjB,CAAyBprO,CAAC,CAAC2mQ,cAA3B,KAA4C,CAACtxQ,CAAC,CAACuxQ,cAAF,CAAiBx7B,OAAjB,CAAyBprO,CAAC,CAAC4mQ,cAA3B,CAA7C,IAAyF,CAAChnQ,CAAC,CAACm/Q,UAA5F,IAAwG,mBAAiBn/Q,CAAC,CAACo/Q,UAA9H,EAAyI;AAAC,cAAMp9Q,CAAC,GAAC,gBAAcvM,CAAC,CAACuxQ,cAAF,CAAiB/tQ,IAAjB,CAAsB8+E,QAA5C;AAAA,cAAqD3rG,CAAC,GAAC,gBAAcg0B,CAAC,CAAC4mQ,cAAF,CAAiB/tQ,IAAjB,CAAsB8+E,QAA3F;;AAAoG,YAAG3rG,CAAC,IAAE,CAAC41B,CAAJ,IAAO,EAAEA,CAAC,IAAE,CAAC51B,CAAN,KAAU4zB,CAAC,CAACg/Q,SAAtB,EAAgC;AAAC,gBAAMh/Q,CAAC,GAACI,CAAC,CAAC4mQ,cAAF,CAAiBJ,+BAAjB,CAAiDxmQ,CAAjD,CAAR;AAAA,gBAA4D4B,CAAC,GAACvM,CAAC,CAACuxQ,cAAF,CAAiBJ,+BAAjB,CAAiDxmQ,CAAjD,CAA9D;;AAAkH,iBAAM,CAAC,IAAIm7Q,EAAJ,CAAOv7Q,CAAP,EAASvK,CAAC,CAAC0jH,OAAX,EAAmBn3G,CAAnB,EAAqB,CAArB,CAAD,CAAN;AAAgC;;AAAA,eAAM,CAAC,IAAIu6Q,EAAJ,CAAO,CAAP,CAAD,CAAN;AAAkB;;AAAA,aAAO9mR,CAAC,CAACsxQ,cAAF,CAAiBR,eAAjB,CAAiCnmQ,CAAC,CAAC4mQ,cAAnC,MAAqDvxQ,CAAC,CAAC0jH,OAAF,IAAW/4G,CAAC,CAAC+4G,OAAlE,GAA2E1jH,CAAC,CAACsxQ,cAAF,GAAiBtxQ,CAAC,CAACsxQ,cAAF,CAAiBH,+BAAjB,CAAiDxmQ,CAAjD,CAA5F,EAAgJ3K,CAAC,CAACuxQ,cAAF,GAAiBvxQ,CAAC,CAACuxQ,cAAF,CAAiBJ,+BAAjB,CAAiDxmQ,CAAjD,CAAjK,EAAqN3K,CAAC,CAAC4xQ,iBAAF,CAAoB77B,OAApB,CAA4BprO,CAAC,CAACinQ,iBAA9B,KAAkDrnQ,CAAC,CAACg/Q,SAApD,KAAgEvpR,CAAC,CAAC4xQ,iBAAF,GAAoB5xQ,CAAC,CAAC4xQ,iBAAF,CAAoBT,+BAApB,CAAoDxmQ,CAApD,CAApF,CAArN,EAAiW,CAAC3K,CAAD,CAAxW;AAA4W,KAA7iC,CAA/yJ,EAA+1L0nR,EAAE,CAACpB,EAAD,EAAIR,EAAJ,EAAQ,CAAC9lR,CAAD,EAAG2K,CAAH,EAAKJ,CAAL,KAAS;AAAC,YAAMgC,CAAC,GAAC0lQ,EAAE,CAACrb,2BAAH,CAA+BjsP,CAAC,CAAC2mQ,cAAjC,EAAgD3mQ,CAAC,CAAC+4G,OAAlD,CAAR;;AAAmE,aAAM,YAAU/4G,CAAC,CAAC1zB,IAAZ,IAAkB,CAACszB,CAAC,CAACm/Q,UAArB,IAAiC,CAACn/Q,CAAC,CAACy9Q,eAApC,IAAqDhoR,CAAC,CAAC+xQ,gBAAF,CAAmBjB,eAAnB,CAAmCnmQ,CAAC,CAAC2mQ,cAArC,CAArD,IAA2G/kQ,CAAC,CAAC8pP,gBAAF,CAAmBr2P,CAAC,CAACsxQ,cAArB,CAA3G,GAAgJ,CAAC,IAAIwV,EAAJ,CAAO,CAAP,CAAD,CAAhJ,IAA6J9mR,CAAC,CAACsxQ,cAAF,CAAiBR,eAAjB,CAAiCnmQ,CAAC,CAAC4mQ,cAAnC,MAAqDvxQ,CAAC,CAAC0jH,OAAF,IAAW/4G,CAAC,CAAC+4G,OAAlE,GAA2E1jH,CAAC,CAACsxQ,cAAF,CAAiBR,eAAjB,CAAiCnmQ,CAAC,CAAC2mQ,cAAnC,MAAqDtxQ,CAAC,CAAC0jH,OAAF,IAAW/4G,CAAC,CAAC+4G,OAAlE,CAA3E,EAAsJ1jH,CAAC,CAACsxQ,cAAF,GAAiBtxQ,CAAC,CAACsxQ,cAAF,CAAiBL,8BAAjB,CAAgDtmQ,CAAhD,CAAvK,EAA0N3K,CAAC,CAACuxQ,cAAF,GAAiBvxQ,CAAC,CAACuxQ,cAAF,CAAiBN,8BAAjB,CAAgDtmQ,CAAhD,CAA3O,EAA8R3K,CAAC,CAAC4xQ,iBAAF,CAAoB77B,OAApB,CAA4BprO,CAAC,CAAC4mQ,cAA9B,MAAgDvxQ,CAAC,CAAC4xQ,iBAAF,GAAoB5xQ,CAAC,CAAC4xQ,iBAAF,CAAoBX,8BAApB,CAAmDtmQ,CAAnD,CAApE,CAA9R,EAAyZ,CAAC3K,CAAD,CAAtjB,CAAN;AAAikB,KAAtpB,CAAj2L,EAA0/M0nR,EAAE,CAACpB,EAAD,EAAID,EAAJ,EAAQ,CAACrmR,CAAD,EAAG2K,CAAH,EAAKJ,CAAL,KAAS;AAAC,UAAGI,CAAC,CAACinQ,iBAAF,KAAsB5xQ,CAAC,CAAC4xQ,iBAAF,GAAoB5xQ,CAAC,CAAC4xQ,iBAAF,CAAoBE,yBAApB,CAA8CnnQ,CAAC,CAACinQ,iBAAhD,EAAkE,CAAlE,CAApB,EAAyF5xQ,CAAC,CAAC+xQ,gBAAF,CAAmBh8B,OAAnB,CAA2BprO,CAAC,CAACinQ,iBAA7B,MAAkD5xQ,CAAC,CAAC0jH,OAAF,GAAU/4G,CAAC,CAAC+4G,OAA9D,CAA/G,GAAuL1jH,CAAC,CAACuxQ,cAAF,CAAiBx7B,OAAjB,CAAyBprO,CAAC,CAAC+mQ,aAA3B,CAA1L,EAAoO;AAAC,cAAMnlQ,CAAC,GAAC,KAAG5B,CAAC,CAAC+4G,OAAb;AAAA,cAAqB/sI,CAAC,GAACg0B,CAAC,CAACinQ,iBAAF,IAAqB5xQ,CAAC,CAAC+xQ,gBAAF,CAAmBh8B,OAAnB,CAA2BprO,CAAC,CAACinQ,iBAA7B,CAA5C;AAA4F,YAAGrlQ,CAAC,IAAE51B,CAAH,IAAM,yBAAuB4zB,CAAC,CAACo/Q,UAAlC,EAA6C,OAAO3pR,CAAC,CAACsxQ,cAAF,GAAiBtxQ,CAAC,CAACsxQ,cAAF,CAAiBJ,+BAAjB,CAAiDvmQ,CAAjD,CAAjB,EAAqE,CAAC3K,CAAD,CAA5E;AAAgF;;AAAA,UAAGA,CAAC,CAACsxQ,cAAF,CAAiBv7B,OAAjB,CAAyBprO,CAAC,CAAC+mQ,aAA3B,CAAH,EAA6C;AAAC,YAAG,yBAAuBnnQ,CAAC,CAACo/Q,UAA5B,EAAuC,OAAO3pR,CAAC,CAAC0jH,OAAF,GAAU,CAAV,EAAY1jH,CAAC,CAACuxQ,cAAF,GAAiBvxQ,CAAC,CAACuxQ,cAAF,CAAiBL,+BAAjB,CAAiDvmQ,CAAjD,CAA7B,EAAiF,CAAC3K,CAAD,CAAxF;AAA4F,YAAG,sBAAoBuK,CAAC,CAACo/Q,UAAtB,IAAkC3pR,CAAC,CAACsxQ,cAAF,CAAiBj0L,MAAjB,GAAwB,CAA7D,EAA+D,OAAOr9E,CAAC,CAACsxQ,cAAF,GAAiB3mQ,CAAC,CAACgnQ,kBAAF,CAAqB/xQ,KAArB,EAAjB,EAA8CI,CAAC,CAACuxQ,cAAF,GAAiBvxQ,CAAC,CAACuxQ,cAAF,CAAiBL,+BAAjB,CAAiDvmQ,CAAjD,CAA/D,EAAmH,CAAC3K,CAAD,CAA1H;AAA8H;;AAAA,aAAOA,CAAC,CAACsxQ,cAAF,CAAiBR,eAAjB,CAAiCnmQ,CAAC,CAAC+mQ,aAAnC,MAAoD1xQ,CAAC,CAAC0jH,OAAF,GAAU/4G,CAAC,CAAC+mQ,aAAF,CAAgBr0L,MAA9E,GAAsFr9E,CAAC,CAACsxQ,cAAF,GAAiBtxQ,CAAC,CAACsxQ,cAAF,CAAiBJ,+BAAjB,CAAiDvmQ,CAAjD,CAAvG,EAA2J3K,CAAC,CAACuxQ,cAAF,GAAiBvxQ,CAAC,CAACuxQ,cAAF,CAAiBL,+BAAjB,CAAiDvmQ,CAAjD,CAA5K,EAAgO,CAAC3K,CAAD,CAAvO;AAA2O,KAAziC,CAA5/M,EAAwiP0nR,EAAE,CAAC5B,EAAD,EAAIK,EAAJ,EAAQ,CAACnmR,CAAD,EAAG2K,CAAH,KAAO;AAAC,YAAMJ,CAAC,GAAC0nQ,EAAE,CAACrb,2BAAH,CAA+B52P,CAAC,CAACsxQ,cAAjC,EAAgDtxQ,CAAC,CAAC0jH,OAAlD,EAA2DstJ,gCAA3D,CAA4FrmQ,CAA5F,EAA8F,CAAC,CAA/F,EAAkG,CAAlG,CAAR;;AAA6G,aAAO3K,CAAC,CAACsxQ,cAAF,GAAiB/mQ,CAAC,CAACk8E,KAAnB,EAAyBzmF,CAAC,CAAC0jH,OAAF,GAAUn5G,CAAC,CAACm8E,GAAF,CAAMrJ,MAAN,GAAa9yE,CAAC,CAACk8E,KAAF,CAAQpJ,MAAxD,EAA+Dr9E,CAAC,CAACuxQ,cAAF,CAAiBx7B,OAAjB,CAAyBprO,CAAC,CAAC76B,QAA3B,MAAuCkwB,CAAC,CAACuxQ,cAAF,GAAiBvxQ,CAAC,CAACuxQ,cAAF,CAAiBP,gCAAjB,CAAkDrmQ,CAAlD,CAAxD,CAA/D,EAA6K,CAAC3K,CAAD,CAApL;AAAwL,KAArT,CAA1iP,EAAk2P0nR,EAAE,CAAC5B,EAAD,EAAIA,EAAJ,EAAQ,CAAC9lR,CAAD,EAAG2K,CAAH,EAAKJ,CAAL,KAAS;AAAC,YAAMgC,CAAC,GAAC0lQ,EAAE,CAACrb,2BAAH,CAA+B52P,CAAC,CAACsxQ,cAAjC,EAAgDtxQ,CAAC,CAAC0jH,OAAlD,CAAR;AAAA,YAAmE/sI,CAAC,GAACs7R,EAAE,CAACrb,2BAAH,CAA+BjsP,CAAC,CAAC2mQ,cAAjC,EAAgD3mQ,CAAC,CAAC+4G,OAAlD,CAArE;;AAAgI,UAAIj3G,CAAJ;AAAA,UAAMnC,CAAC,GAACC,CAAC,CAACg/Q,SAAV;AAAA,UAAoBnnO,CAAC,GAAC,CAAC73C,CAAC,CAACg/Q,SAAzB;AAAmC,UAAG,kBAAgBh/Q,CAAC,CAACo/Q,UAAlB,IAA8B,iBAAep/Q,CAAC,CAACs/Q,UAA/C,GAA0DznO,CAAC,GAAC,CAAC,CAA7D,GAA+D,iBAAe73C,CAAC,CAACo/Q,UAAjB,IAA6B,kBAAgBp/Q,CAAC,CAACs/Q,UAA/C,KAA4DznO,CAAC,GAAC,CAAC,CAA/D,CAA/D,EAAiI31C,CAAC,GAACzM,CAAC,CAACuxQ,cAAF,CAAiBx7B,OAAjB,CAAyBprO,CAAC,CAAC4mQ,cAA3B,KAA4CnvN,CAA5C,GAA8CpiD,CAAC,CAACuxQ,cAAF,CAAiBO,yBAAjB,CAA2CnnQ,CAAC,CAAC2mQ,cAA7C,EAA4D3mQ,CAAC,CAAC+4G,OAA9D,CAA9C,GAAqH1jH,CAAC,CAACuxQ,cAAF,CAAiBF,qBAAjB,CAAuC1mQ,CAAC,CAAC2mQ,cAAzC,EAAwD3mQ,CAAC,CAAC4mQ,cAA1D,EAAyE5mQ,CAAC,CAAC+4G,OAA3E,CAAxP,EAA4UwmK,EAAE,CAAClqR,CAAD,EAAG2K,CAAH,CAAF,IAASu/Q,EAAE,CAACv/Q,CAAD,EAAG3K,CAAH,CAA1V,EAAgW,OAAM,CAAC2K,CAAC,CAACs7Q,WAAF,EAAD,CAAN;AAAwB,UAAG15Q,CAAC,CAAC8pP,gBAAF,CAAmB1rP,CAAC,CAAC4mQ,cAArB,KAAsChlQ,CAAC,CAAC+pP,aAAF,CAAgB3/Q,CAAhB,EAAkB,CAAC,CAAnB,CAAzC,EAA+D,OAAO41B,CAAC,CAACk6E,KAAF,GAAQl6E,CAAC,CAACk6E,KAAF,CAAQ4qL,qBAAR,CAA8B1mQ,CAAC,CAAC2mQ,cAAhC,EAA+C3mQ,CAAC,CAAC4mQ,cAAjD,EAAgE5mQ,CAAC,CAAC+4G,OAAlE,CAAR,EAAmFn3G,CAAC,CAACm6E,GAAF,GAAMn6E,CAAC,CAACm6E,GAAF,CAAM2qL,qBAAN,CAA4B1mQ,CAAC,CAAC2mQ,cAA9B,EAA6C3mQ,CAAC,CAAC4mQ,cAA/C,EAA8D5mQ,CAAC,CAAC+4G,OAAhE,CAAzF,EAAkKymK,EAAE,CAAC,CAAC59Q,CAAD,CAAD,EAAKE,CAAL,CAA3K;AAAmL,UAAG91B,CAAC,CAAC0/Q,gBAAF,CAAmBr2P,CAAC,CAACuxQ,cAArB,KAAsC56R,CAAC,CAAC2/Q,aAAF,CAAgB/pP,CAAhB,EAAkB,CAAC,CAAnB,CAAzC,EAA+D,OAAOA,CAAC,CAACk6E,KAAF,GAAQl6E,CAAC,CAACk6E,KAAF,CAAQgrL,YAAR,CAAqB9mQ,CAAC,CAAC2mQ,cAAvB,EAAsC3mQ,CAAC,CAACq7Q,kBAAF,EAAtC,CAAR,EAAsEz5Q,CAAC,CAACm6E,GAAF,GAAMn6E,CAAC,CAACm6E,GAAF,CAAM+qL,YAAN,CAAmB9mQ,CAAC,CAAC2mQ,cAArB,EAAoC3mQ,CAAC,CAACq7Q,kBAAF,EAApC,CAA5E,EAAwImE,EAAE,CAAC,CAAC59Q,CAAD,CAAD,EAAKE,CAAL,CAAjJ;AAAyJ,YAAMkxI,CAAC,GAACgqF,CAAC,CAAC3nO,CAAC,CAACsxQ,cAAF,CAAiBb,aAAjB,EAAD,EAAkC9lQ,CAAC,CAAC2mQ,cAAF,CAAiBb,aAAjB,EAAlC,CAAT;AAA6E,UAAG,YAAU9yH,CAAV,IAAa,eAAaA,CAA7B,EAA+B,OAAOpxI,CAAC,CAACk6E,KAAF,GAAQl6E,CAAC,CAACk6E,KAAF,CAAQ4qL,qBAAR,CAA8B1mQ,CAAC,CAAC2mQ,cAAhC,EAA+C3mQ,CAAC,CAAC4mQ,cAAjD,EAAgE5mQ,CAAC,CAAC+4G,OAAlE,CAAR,EAAmFn3G,CAAC,CAACm6E,GAAF,GAAMn6E,CAAC,CAACm6E,GAAF,CAAM2qL,qBAAN,CAA4B1mQ,CAAC,CAAC2mQ,cAA9B,EAA6C3mQ,CAAC,CAAC4mQ,cAA/C,EAA8D5mQ,CAAC,CAAC+4G,OAAhE,CAAzF,EAAkKymK,EAAE,CAAC,CAAC59Q,CAAD,CAAD,EAAKE,CAAL,CAA3K;AAAmL,kBAAUzM,CAAC,CAAC/oB,IAAZ,IAAkB,YAAU0zB,CAAC,CAAC1zB,IAA9B,IAAoCszB,CAAC,CAACi/Q,UAAtC,IAAkDj/Q,CAAC,CAACy9Q,eAApD,GAAoE,YAAUhoR,CAAC,CAAC/oB,IAAZ,IAAkB,YAAU0zB,CAAC,CAAC1zB,IAA9B,IAAoCszB,CAAC,CAACm/Q,UAAtC,IAAkDn/Q,CAAC,CAACy9Q,eAApD,KAAsE19Q,CAAC,GAAC,CAAC,CAAzE,CAApE,GAAgJA,CAAC,GAAC,CAAC,CAAnJ;AAAqJ,YAAM4hL,CAAC,GAAC,EAAR;AAAA,YAAWtiL,CAAC,GAAC2C,CAAC,CAACgqP,aAAF,CAAgB5/Q,CAAhB,CAAb;;AAAgC,WAAI,MAAMqpB,CAAV,IAAe4J,CAAf,EAAiB;AAAC5J,QAAAA,CAAC,CAACymF,KAAF,GAAQzmF,CAAC,CAACymF,KAAF,CAAQqrL,yBAAR,CAAkCnnQ,CAAC,CAAC2mQ,cAApC,EAAmD3mQ,CAAC,CAAC+4G,OAArD,CAAR,EAAsE1jH,CAAC,CAAC0mF,GAAF,GAAM1mF,CAAC,CAAC0mF,GAAF,CAAMorL,yBAAN,CAAgCnnQ,CAAC,CAAC2mQ,cAAlC,EAAiD3mQ,CAAC,CAAC+4G,OAAnD,CAA5E;;AAAwI,cAAMn5G,CAAC,GAAC,UAAQo9N,CAAC,CAAC3nO,CAAC,CAACymF,KAAF,CAAQgqL,aAAR,EAAD,EAAyB9lQ,CAAC,CAACq7Q,kBAAF,GAAuBvV,aAAvB,EAAzB,CAAjB;AAAA,cAAkFlkQ,CAAC,GAACvM,CAAC,CAACoxQ,0BAAF,CAA6BzmQ,CAAC,CAACq7Q,kBAAF,EAA7B,EAAoDr7Q,CAAC,CAAC+4G,OAAtD,EAA8Dn5G,CAA9D,CAApF;;AAAqJ2hL,QAAAA,CAAC,CAACjmL,IAAF,CAAO,GAAGsG,CAAV;AAAa;;AAAA,YAAMqqI,CAAC,GAACrqI,CAAC,CAACipO,eAAF,CAAkB7+P,CAAlB,CAAR;AAA6B,aAAO,SAAOigK,CAAP,IAAUtsI,CAAV,KAAcssI,CAAC,CAACnwD,KAAF,GAAQmwD,CAAC,CAACnwD,KAAF,CAAQgrL,YAAR,CAAqB9mQ,CAAC,CAAC2mQ,cAAvB,EAAsC3mQ,CAAC,CAACq7Q,kBAAF,EAAtC,CAAR,EAAsEpvI,CAAC,CAAClwD,GAAF,GAAMkwD,CAAC,CAAClwD,GAAF,CAAM+qL,YAAN,CAAmB9mQ,CAAC,CAAC2mQ,cAArB,EAAoC3mQ,CAAC,CAACq7Q,kBAAF,EAApC,CAA5E,EAAwI,MAAI95F,CAAC,CAACv/M,MAAN,GAAau/M,CAAC,CAACjmL,IAAF,CAAO2wI,CAAP,CAAb,GAAuB,KAAGs1C,CAAC,CAACv/M,MAAL,GAAYgK,CAAC,CAAC8vG,KAAF,CAAQ7wF,QAAR,CAAiB2W,CAAC,CAACk6E,KAAnB,KAA2B9vG,CAAC,CAAC8vG,KAAF,CAAQsvJ,OAAR,CAAgBxpO,CAAC,CAACk6E,KAAlB,CAA3B,GAAoDylG,CAAC,CAACpjG,OAAF,CAAU8tD,CAAV,CAApD,GAAiEs1C,CAAC,CAACjmL,IAAF,CAAO2wI,CAAP,CAA7E,GAAuFs1C,CAAC,CAAC/oF,MAAF,CAAS,CAAT,EAAW,CAAX,EAAayzC,CAAb,CAApQ,GAAqR,MAAIs1C,CAAC,CAACv/M,MAAN,GAAa,CAAC,IAAIm6S,EAAJ,CAAO9mR,CAAC,CAACqlR,WAAT,CAAD,CAAb,GAAqC8E,EAAE,CAACj+F,CAAD,EAAGz/K,CAAH,CAAnU;AAAyU,KAA7mE,CAAp2P,EAAo9Ti7Q,EAAE,CAAC5B,EAAD,EAAIO,EAAJ,EAAQ,CAACrmR,CAAD,EAAG2K,CAAH,EAAKJ,CAAL,KAAS;AAAC,UAAIgC,CAAC,GAACvM,CAAC,CAACuxQ,cAAF,CAAiB3xQ,KAAjB,EAAN;AAA+BI,MAAAA,CAAC,CAACuxQ,cAAF,CAAiBx7B,OAAjB,CAAyBprO,CAAC,CAACknQ,iBAA3B,KAA+ClnQ,CAAC,CAACinQ,iBAAjD,IAAoE,qBAAmBrnQ,CAAC,CAACo/Q,UAAzF,KAAsGp9Q,CAAC,GAACvM,CAAC,CAACuxQ,cAAF,CAAiBL,+BAAjB,CAAiDvmQ,CAAjD,CAAxG;;AAA6J,YAAMh0B,CAAC,GAACs7R,EAAE,CAACrb,2BAAH,CAA+B52P,CAAC,CAACsxQ,cAAjC,EAAgDtxQ,CAAC,CAAC0jH,OAAlD,CAAR;;AAAmE,UAAG/sI,CAAC,CAAC+vG,GAAF,CAAMqvJ,OAAN,CAAcprO,CAAC,CAACknQ,iBAAhB,CAAH,EAAsC,OAAOlnQ,CAAC,CAACinQ,iBAAF,IAAqB5xQ,CAAC,CAAC0jH,OAAF,EAArB,EAAiC1jH,CAAC,CAACuxQ,cAAF,GAAiBhlQ,CAAlD,EAAoD,CAACvM,CAAD,CAA3D;;AAA+D,UAAGrpB,CAAC,CAAC8vG,KAAF,CAAQqqL,eAAR,CAAwBnmQ,CAAC,CAAC+mQ,aAA1B,KAA0C/6R,CAAC,CAAC0/Q,gBAAF,CAAmB1rP,CAAC,CAAC+mQ,aAArB,CAA7C,EAAiF;AAAC,YAAI1xQ,CAAC,GAAC,IAAIiyQ,EAAJ,CAAOtnQ,CAAC,CAAC+mQ,aAAT,EAAuB/6R,CAAC,CAAC+vG,GAAzB,CAAN;AAAoC1mF,QAAAA,CAAC,GAACA,CAAC,CAACkxQ,+BAAF,CAAkCvmQ,CAAlC,CAAF;AAAuC,eAAOw/Q,EAAE,CAAC,CAAC,IAAIlY,EAAJ,CAAOt7R,CAAC,CAAC8vG,KAAT,EAAe97E,CAAC,CAAC+mQ,aAAjB,CAAD,EAAiC1xQ,CAAjC,CAAD,EAAqCuM,CAArC,CAAT;AAAiD;;AAAAvM,MAAAA,CAAC,CAACuxQ,cAAF,CAAiBx7B,OAAjB,CAAyBprO,CAAC,CAAC+mQ,aAA3B,KAA2C,oBAAkBnnQ,CAAC,CAACo/Q,UAA/D,KAA4Ep9Q,CAAC,GAAC5B,CAAC,CAACgnQ,kBAAhF,GAAoG3xQ,CAAC,CAACuxQ,cAAF,CAAiBx7B,OAAjB,CAAyBprO,CAAC,CAACknQ,iBAA3B,KAA+C,mBAAiBtnQ,CAAC,CAACo/Q,UAAlE,KAA+Ep9Q,CAAC,GAACvM,CAAC,CAACuxQ,cAAnF,CAApG;AAAuM,YAAM9kQ,CAAC,GAAC,CAAC91B,CAAC,CAACu6R,+BAAF,CAAkCvmQ,CAAlC,CAAD,CAAR;;AAA+C,UAAGA,CAAC,CAACinQ,iBAAL,EAAuB;AAAC,cAAMrlQ,CAAC,GAAC51B,CAAC,CAAC8vG,KAAF,CAAQsvJ,OAAR,CAAgBprO,CAAC,CAACinQ,iBAAlB,KAAsCj7R,CAAC,CAAC0/Q,gBAAF,CAAmB1rP,CAAC,CAACinQ,iBAArB,CAA9C;AAAsF5xQ,QAAAA,CAAC,CAAC0jH,OAAF,GAAU,CAAV,IAAan3G,CAAb,IAAgB,CAAChC,CAAC,CAACi/Q,UAAnB,IAA+B/8Q,CAAC,CAACxG,IAAF,CAAOgsQ,EAAE,CAACrb,2BAAH,CAA+BjsP,CAAC,CAACknQ,iBAAjC,EAAmD,CAAnD,CAAP,CAA/B;AAA6F;;AAAA,aAAOsY,EAAE,CAAC19Q,CAAD,EAAGF,CAAH,CAAT;AAAe,KAAphC,CAAt9T,EAA6+Vm7Q,EAAE,CAAC5B,EAAD,EAAIQ,EAAJ,EAAQ,CAACtmR,CAAD,EAAG2K,CAAH,EAAKJ,CAAL,KAAS;AAAC,YAAMgC,CAAC,GAAC0lQ,EAAE,CAACrb,2BAAH,CAA+B52P,CAAC,CAACsxQ,cAAjC,EAAgDtxQ,CAAC,CAAC0jH,OAAlD,CAAR;;AAAmE,UAAG/4G,CAAC,CAAConQ,gBAAF,CAAmBjB,eAAnB,CAAmC9wQ,CAAC,CAACsxQ,cAArC,KAAsD/kQ,CAAC,CAAC8pP,gBAAF,CAAmB1rP,CAAC,CAAC2mQ,cAArB,CAAzD,EAA8F,IAAG,YAAUtxQ,CAAC,CAAC/oB,IAAZ,IAAkBszB,CAAC,CAACy9Q,eAAvB,EAAuC;AAAC,YAAG,KAAGhoR,CAAC,CAAC0jH,OAAR,EAAgB,OAAOn5G,CAAC,CAACm/Q,UAAF,IAAc1pR,CAAC,CAACsxQ,cAAF,GAAiB3mQ,CAAC,CAACinQ,iBAAF,CAAoBhyQ,KAApB,EAAjB,EAA6CI,CAAC,CAACuxQ,cAAF,GAAiBvxQ,CAAC,CAACuxQ,cAAF,CAAiBJ,+BAAjB,CAAiDxmQ,CAAjD,CAA9D,EAAkH,CAAC3K,CAAD,CAAhI,IAAqI,CAAC,IAAI8mR,EAAJ,CAAO,CAAP,CAAD,CAA5I;AAAwJ,OAAhN,MAAqN,IAAG,CAACv8Q,CAAC,CAACi/Q,UAAN,EAAiB;AAAC,cAAMj/Q,CAAC,GAAC,EAAR;;AAAW,YAAIgC,CAAC,GAAC5B,CAAC,CAACinQ,iBAAF,CAAoBhyQ,KAApB,EAAN;AAAA,YAAkCjpB,CAAC,GAACg0B,CAAC,CAAC4mQ,cAAF,CAAiBJ,+BAAjB,CAAiDxmQ,CAAjD,CAApC;;AAAwF3K,QAAAA,CAAC,CAAC0jH,OAAF,GAAU,CAAV,KAAcn5G,CAAC,CAACtE,IAAF,CAAO,IAAI6/Q,EAAJ,CAAO9lR,CAAC,CAACsxQ,cAAT,EAAwBtxQ,CAAC,CAAC0jH,OAAF,GAAU,CAAlC,EAAoC1jH,CAAC,CAACuxQ,cAAtC,EAAqD,CAArD,CAAP,GAAgEhlQ,CAAC,GAACA,CAAC,CAAC8kQ,qBAAF,CAAwBrxQ,CAAC,CAACsxQ,cAA1B,EAAyCtxQ,CAAC,CAACuxQ,cAA3C,EAA0DvxQ,CAAC,CAAC0jH,OAAF,GAAU,CAApE,CAAlE,EAAyI/sI,CAAC,GAACA,CAAC,CAAC06R,qBAAF,CAAwBrxQ,CAAC,CAACsxQ,cAA1B,EAAyCtxQ,CAAC,CAACuxQ,cAA3C,EAA0DvxQ,CAAC,CAAC0jH,OAAF,GAAU,CAApE,CAAzJ;;AAAiO,cAAMj3G,CAAC,GAAC9B,CAAC,CAAConQ,gBAAF,CAAmBN,YAAnB,CAAgCzxQ,CAAC,CAACsxQ,cAAlC,EAAiDtxQ,CAAC,CAACuxQ,cAAnD,CAAR;AAAA,cAA2EjnQ,CAAC,GAAC,IAAIw7Q,EAAJ,CAAOv5Q,CAAP,EAAS,CAAT,EAAWE,CAAX,EAAa,CAAb,CAA7E;AAAA,cAA6F21C,CAAC,GAAC93C,CAAC,CAAC07Q,kBAAF,GAAuBh/S,IAAvB,CAA4B0xG,KAA5B,EAA/F;;AAAmIt2B,QAAAA,CAAC,CAACn8C,IAAF,CAAO,CAAP;AAAU,cAAM03I,CAAC,GAAC,IAAIwyH,EAAJ,CAAO7lQ,CAAC,CAACinQ,cAAF,CAAiB/tQ,IAAxB,EAA6B4+C,CAA7B,CAAR;AAAwCzrE,QAAAA,CAAC,GAACA,CAAC,CAAC06R,qBAAF,CAAwB9kQ,CAAxB,EAA0BE,CAA1B,EAA4B,CAA5B,CAAF;AAAiC,cAAMy/K,CAAC,GAAC,IAAI45F,EAAJ,CAAOnvS,CAAP,EAASg0B,CAAC,CAAC+4G,OAAX,EAAmBi6B,CAAnB,EAAqB,CAArB,CAAR;AAAgC,eAAOpzI,CAAC,CAACtE,IAAF,CAAOqE,CAAP,GAAUC,CAAC,CAACtE,IAAF,CAAOimL,CAAP,CAAV,EAAoB3hL,CAA3B;AAA6B;;AAAA,YAAM5zB,CAAC,GAACs7R,EAAE,CAACrb,2BAAH,CAA+B52P,CAAC,CAACsxQ,cAAjC,EAAgDtxQ,CAAC,CAAC0jH,OAAlD,EAA2DytJ,+BAA3D,CAA2FxmQ,CAA3F,CAAR;;AAAsG,aAAO3K,CAAC,CAACsxQ,cAAF,GAAiB36R,CAAC,CAAC8vG,KAAnB,EAAyBzmF,CAAC,CAAC0jH,OAAF,GAAU/sI,CAAC,CAAC+vG,GAAF,CAAMrJ,MAAN,GAAa1mG,CAAC,CAAC8vG,KAAF,CAAQpJ,MAAxD,EAA+Dr9E,CAAC,CAACuxQ,cAAF,GAAiBvxQ,CAAC,CAACuxQ,cAAF,CAAiBJ,+BAAjB,CAAiDxmQ,CAAjD,CAAhF,EAAoI,CAAC3K,CAAD,CAA3I;AAA+I,KAAtuC,CAA/+V,EAAwtY0nR,EAAE,CAACX,EAAD,EAAIZ,EAAJ,EAAQ,CAACnmR,CAAD,EAAG2K,CAAH,MAAQ3K,CAAC,CAAClwB,QAAF,GAAWkwB,CAAC,CAAClwB,QAAF,CAAWkhS,gCAAX,CAA4CrmQ,CAA5C,CAAX,EAA0D,CAAC3K,CAAD,CAAlE,CAAR,CAA1tY,EAA2yY0nR,EAAE,CAACX,EAAD,EAAIT,EAAJ,EAAQ,CAACtmR,CAAD,EAAG2K,CAAH,KAAO3K,CAAC,CAAClwB,QAAF,CAAWimQ,OAAX,CAAmBprO,CAAC,CAAConQ,gBAArB,KAAwC/xQ,CAAC,CAAClwB,QAAF,GAAW66B,CAAC,CAACinQ,iBAAF,CAAoBhyQ,KAApB,EAAX,EAAuCI,CAAC,CAAClwB,QAAF,CAAW+2G,UAAX,GAAsB,QAA7D,EAAsE,CAAC7mF,CAAD,CAA9G,KAAoHA,CAAC,CAAClwB,QAAF,GAAWkwB,CAAC,CAAClwB,QAAF,CAAWqhS,+BAAX,CAA2CxmQ,CAA3C,CAAX,EAAyD,CAAC3K,CAAD,CAA7K,CAAf,CAA7yY,EAAg/Y0nR,EAAE,CAACX,EAAD,EAAIjB,EAAJ,EAAQ,CAAC9lR,CAAD,EAAG2K,CAAH,MAAQ3K,CAAC,CAAClwB,QAAF,GAAWkwB,CAAC,CAAClwB,QAAF,CAAWmhS,8BAAX,CAA0CtmQ,CAA1C,CAAX,EAAwD,CAAC3K,CAAD,CAAhE,CAAR,CAAl/Y,EAAikZ0nR,EAAE,CAACX,EAAD,EAAIA,EAAJ,EAAQ,CAAC/mR,CAAD,EAAG2K,CAAH,EAAKJ,CAAL,KAAS;AAAC,UAAGvK,CAAC,CAAClwB,QAAF,CAAWimQ,OAAX,CAAmBprO,CAAC,CAAC76B,QAArB,CAAH,EAAkC;AAAC,YAAG,CAACy6B,CAAC,CAACg/Q,SAAN,EAAgB,OAAM,CAAC,IAAIzC,EAAJ,CAAO,CAAP,CAAD,CAAN;AAAkB9mR,QAAAA,CAAC,CAACgnR,OAAF,GAAUr8Q,CAAC,CAACs8Q,OAAZ;AAAoB;;AAAA,aAAM,CAACjnR,CAAD,CAAN;AAAU,KAArH,CAAnkZ,EAA2rZ0nR,EAAE,CAACX,EAAD,EAAIV,EAAJ,EAAQ,CAACrmR,CAAD,EAAG2K,CAAH,KAAO;AAAC,UAAG,UAAQg9N,CAAC,CAAC3nO,CAAC,CAAClwB,QAAF,CAAW9I,IAAZ,EAAiB2jC,CAAC,CAAC+mQ,aAAF,CAAgBjB,aAAhB,EAAjB,CAAT,IAA4D,CAAC9lQ,CAAC,CAACinQ,iBAAlE,EAAoF;AAAC,cAAMjnQ,CAAC,GAAC,IAAIo8Q,EAAJ,CAAO/mR,CAAC,CAAClwB,QAAF,CAAW6lR,YAAX,CAAwB,CAAxB,CAAP,EAAkC31P,CAAC,CAACgnR,OAApC,EAA4ChnR,CAAC,CAACinR,OAA9C,EAAsD,CAAtD,CAAR;AAAiE,eAAM,CAACjnR,CAAD,EAAG2K,CAAH,CAAN;AAAY;;AAAA,aAAO3K,CAAC,CAAClwB,QAAF,GAAWkwB,CAAC,CAAClwB,QAAF,CAAWohS,+BAAX,CAA2CvmQ,CAA3C,CAAX,EAAyD,CAAC3K,CAAD,CAAhE;AAAoE,KAAtP,CAA7rZ,EAAs7Z0nR,EAAE,CAACR,EAAD,EAAIA,EAAJ,EAAQ,CAAClnR,CAAD,EAAG2K,CAAH,EAAKJ,CAAL,KAAS;AAAC,UAAGvK,CAAC,CAACwD,IAAF,KAASmH,CAAC,CAACnH,IAAX,IAAiBxD,CAAC,CAAC8F,GAAF,KAAQ6E,CAAC,CAAC7E,GAA9B,EAAkC;AAAC,YAAG,CAACyE,CAAC,CAACg/Q,SAAH,IAAcvpR,CAAC,CAACgnC,QAAF,KAAar8B,CAAC,CAACq8B,QAAhC,EAAyC,OAAM,CAAC,IAAI8/O,EAAJ,CAAO,CAAP,CAAD,CAAN;AAAkB9mR,QAAAA,CAAC,CAACinC,QAAF,GAAWt8B,CAAC,CAACq8B,QAAb;AAAsB;;AAAA,aAAM,CAAChnC,CAAD,CAAN;AAAU,KAAhJ,CAAx7Z,EAA2ka0nR,EAAE,CAACP,EAAD,EAAIA,EAAJ,EAAQ,CAACnnR,CAAD,EAAG2K,CAAH,KAAO3K,CAAC,CAACsiF,QAAF,KAAa33E,CAAC,CAAC23E,QAAf,IAAyBtiF,CAAC,CAAConR,KAAF,KAAUz8Q,CAAC,CAACy8Q,KAArC,GAA2C,CAAC,IAAIN,EAAJ,CAAO,CAAP,CAAD,CAA3C,GAAuD,CAAC9mR,CAAD,CAAtE,CAA7ka,EAAypa0nR,EAAE,CAACrB,EAAD,EAAIF,EAAJ,EAAQ,CAACnmR,CAAD,EAAG2K,CAAH,MAAQ3K,CAAC,CAAC0xQ,aAAF,CAAgBZ,eAAhB,CAAgCnmQ,CAAC,CAAC76B,QAAlC,KAA6CkwB,CAAC,CAAC0xQ,aAAF,CAAgBr0L,MAAhB,GAAuB1yE,CAAC,CAAC76B,QAAF,CAAWutG,MAA/E,KAAwFr9E,CAAC,CAAC0jH,OAAF,IAAW/4G,CAAC,CAAC+4G,OAArG,GAA8G1jH,CAAC,CAAC0xQ,aAAF,GAAgB1xQ,CAAC,CAAC0xQ,aAAF,CAAgBV,gCAAhB,CAAiDrmQ,CAAjD,CAA9H,EAAkL3K,CAAC,CAAC6xQ,iBAAF,GAAoB7xQ,CAAC,CAAC6xQ,iBAAF,CAAoBb,gCAApB,CAAqDrmQ,CAArD,CAAtM,EAA8P,CAAC3K,CAAD,CAAtQ,CAAR,CAA3pa,EAAg7a0nR,EAAE,CAACrB,EAAD,EAAIC,EAAJ,EAAQ,CAACtmR,CAAD,EAAG2K,CAAH,EAAKJ,CAAL,KAAS;AAAC,UAAG,CAACvK,CAAC,CAAC4xQ,iBAAH,IAAsB,CAACrnQ,CAAC,CAACm/Q,UAAzB,IAAqC1pR,CAAC,CAAC0xQ,aAAF,CAAgBZ,eAAhB,CAAgCnmQ,CAAC,CAAC2mQ,cAAlC,CAAxC,EAA0F;AAAC,cAAM/mQ,CAAC,GAACI,CAAC,CAACinQ,iBAAF,CAAoB5qS,IAApB,CAAyB0xG,KAAzB,EAAR;AAAyCnuE,QAAAA,CAAC,CAACtE,IAAF,CAAO,CAAP;AAAU,cAAMsG,CAAC,GAAC,IAAI4jQ,EAAJ,CAAOxlQ,CAAC,CAACinQ,iBAAF,CAAoBpuQ,IAA3B,EAAgC+G,CAAhC,CAAR;AAAA,cAA2C5zB,CAAC,GAAC0vS,EAAE,CAACE,oBAAH,CAAwB,IAAIpW,EAAJ,CAAOxlQ,CAAC,CAACinQ,iBAAF,CAAoBpuQ,IAA3B,EAAgC+G,CAAhC,CAAxB,CAA7C;AAAA,cAAyGkC,CAAC,GAAC,IAAI45Q,EAAJ,CAAO95Q,CAAP,EAAS,CAAT,EAAW51B,CAAX,EAAa,IAAb,EAAkB,CAAlB,CAA3G;AAAgI,eAAOqpB,CAAC,CAAC0xQ,aAAF,GAAgB1xQ,CAAC,CAAC0xQ,aAAF,CAAgBP,+BAAhB,CAAgDxmQ,CAAhD,CAAhB,EAAmE3K,CAAC,CAAC6xQ,iBAAF,GAAoBwU,EAAE,CAACE,oBAAH,CAAwBvmR,CAAC,CAAC0xQ,aAA1B,CAAvF,EAAgI1xQ,CAAC,CAAC4xQ,iBAAF,GAAoBnlQ,CAAC,CAAColQ,iBAAF,CAAoBjyQ,KAApB,EAApJ,EAAgLI,CAAC,CAAC4xQ,iBAAF,CAAoB/qL,UAApB,GAA+B,QAA/M,EAAwN,CAACp6E,CAAD,EAAGzM,CAAH,CAA/N;AAAqO;;AAAA,aAAOA,CAAC,CAAC0xQ,aAAF,CAAgBZ,eAAhB,CAAgCnmQ,CAAC,CAAConQ,gBAAlC,KAAqD,CAAC/xQ,CAAC,CAAC0xQ,aAAF,CAAgBl+D,OAAhB,CAAwB7oM,CAAC,CAAConQ,gBAA1B,CAAtD,IAAmG/xQ,CAAC,CAAC0jH,OAAF,EAAnG,EAA+G1jH,CAAC,CAAC0xQ,aAAF,CAAgBZ,eAAhB,CAAgCnmQ,CAAC,CAAC4mQ,cAAlC,MAAoDvxQ,CAAC,CAAC0jH,OAAF,IAAW/4G,CAAC,CAAC+4G,OAAjE,CAA/G,EAAyL1jH,CAAC,CAAC0xQ,aAAF,GAAgB1xQ,CAAC,CAAC0xQ,aAAF,CAAgBP,+BAAhB,CAAgDxmQ,CAAhD,CAAzM,EAA4P3K,CAAC,CAAC6xQ,iBAAF,GAAoBwU,EAAE,CAACE,oBAAH,CAAwBvmR,CAAC,CAAC0xQ,aAA1B,CAAhR,EAAyT1xQ,CAAC,CAAC4xQ,iBAAF,KAAsB5xQ,CAAC,CAAC4xQ,iBAAF,GAAoB5xQ,CAAC,CAAC4xQ,iBAAF,CAAoBT,+BAApB,CAAoDxmQ,CAApD,CAA1C,CAAzT,EAA2Z,CAAC3K,CAAD,CAAla;AAAsa,KAA36B,CAAl7a,EAAg2c0nR,EAAE,CAACrB,EAAD,EAAIP,EAAJ,EAAQ,CAAC9lR,CAAD,EAAG2K,CAAH,EAAKJ,CAAL,KAAS;AAAC,YAAMgC,CAAC,GAAC0lQ,EAAE,CAACrb,2BAAH,CAA+BjsP,CAAC,CAAC2mQ,cAAjC,EAAgD3mQ,CAAC,CAAC+4G,OAAlD,CAAR;;AAAmE,UAAG1jH,CAAC,CAAC4xQ,iBAAL,EAAuB;AAAC,cAAMj7R,CAAC,GAAC41B,CAAC,CAACk6E,KAAF,CAAQsvJ,OAAR,CAAgB/1O,CAAC,CAAC4xQ,iBAAlB,KAAsCrlQ,CAAC,CAAC8pP,gBAAF,CAAmBr2P,CAAC,CAAC4xQ,iBAArB,CAA9C;;AAAsF,YAAG,CAACrnQ,CAAC,CAACm/Q,UAAH,IAAe/yS,CAAlB,EAAoB;AAAC,gBAAM4zB,CAAC,GAACvK,CAAC,CAAC0xQ,aAAF,CAAgBT,8BAAhB,CAA+CtmQ,CAA/C,CAAR;AAAA,gBAA0D4B,CAAC,GAACvM,CAAC,CAAC4xQ,iBAAF,CAAoBX,8BAApB,CAAmDtmQ,CAAnD,CAA5D;AAAA,gBAAkHh0B,CAAC,GAAC41B,CAAC,CAACvlC,IAAF,CAAO0xG,KAAP,EAApH;;AAAmI/hG,UAAAA,CAAC,CAACsvB,IAAF,CAAO,CAAP;AAAU,gBAAMwG,CAAC,GAAC,IAAI0jQ,EAAJ,CAAO5jQ,CAAC,CAAC/I,IAAT,EAAc7sB,CAAd,CAAR;AAAyB,iBAAM,CAAC,IAAImvS,EAAJ,CAAOv7Q,CAAP,EAASvK,CAAC,CAAC0jH,OAAX,EAAmBj3G,CAAnB,EAAqB,CAArB,CAAD,CAAN;AAAgC;;AAAAzM,QAAAA,CAAC,CAAC4xQ,iBAAF,GAAoB5xQ,CAAC,CAAC4xQ,iBAAF,CAAoBX,8BAApB,CAAmDtmQ,CAAnD,CAApB;AAA0E;;AAAA,YAAMh0B,CAAC,GAACqpB,CAAC,CAAC0xQ,aAAF,CAAgB37B,OAAhB,CAAwBprO,CAAC,CAAC4mQ,cAA1B,CAAR;AAAkD,UAAG56R,CAAC,KAAG,oBAAkB4zB,CAAC,CAACs/Q,UAApB,IAAgC,iBAAet/Q,CAAC,CAACo/Q,UAApD,CAAJ,EAAoE,OAAO3pR,CAAC,CAAC0jH,OAAF,IAAW/4G,CAAC,CAAC+4G,OAAb,EAAqB1jH,CAAC,CAAC0xQ,aAAF,GAAgB1xQ,CAAC,CAAC0xQ,aAAF,CAAgBI,yBAAhB,CAA0CnnQ,CAAC,CAAC2mQ,cAA5C,EAA2D3mQ,CAAC,CAAC+4G,OAA7D,CAArC,EAA2G1jH,CAAC,CAAC6xQ,iBAAF,GAAoBwU,EAAE,CAACE,oBAAH,CAAwBvmR,CAAC,CAAC0xQ,aAA1B,CAA/H,EAAwK,CAAC1xQ,CAAD,CAA/K;;AAAmL,UAAGrpB,CAAC,IAAE4zB,CAAC,CAACo/Q,UAAL,IAAiBp/Q,CAAC,CAACo/Q,UAAF,CAAajmK,OAAjC,EAAyC;AAAC,cAAK;AAACA,UAAAA,OAAO,EAAC/4G,CAAT;AAAW0yE,UAAAA,MAAM,EAAC9wE;AAAlB,YAAqBhC,CAAC,CAACo/Q,UAA5B;AAAuC,eAAO3pR,CAAC,CAAC0jH,OAAF,IAAW/4G,CAAX,EAAa3K,CAAC,CAAC0xQ,aAAF,GAAgB1xQ,CAAC,CAAC0xQ,aAAF,CAAgB/b,YAAhB,CAA6BppP,CAA7B,CAA7B,EAA6D,CAACvM,CAAD,CAApE;AAAwE;;AAAA,UAAGA,CAAC,CAAC0xQ,aAAF,CAAgBZ,eAAhB,CAAgCnmQ,CAAC,CAAC2mQ,cAAlC,KAAmD/kQ,CAAC,CAAC8pP,gBAAF,CAAmBr2P,CAAC,CAAC0xQ,aAArB,CAAtD,EAA0F;AAAC,cAAMnnQ,CAAC,GAACI,CAAC,CAAC+4G,OAAF,IAAW1jH,CAAC,CAAC0xQ,aAAF,CAAgBr0L,MAAhB,GAAuB1yE,CAAC,CAAC2mQ,cAAF,CAAiBj0L,MAAnD,CAAR;AAAmE,eAAOr9E,CAAC,CAAC0jH,OAAF,IAAWn5G,CAAX,EAAavK,CAAC,CAAC0xQ,aAAF,CAAgBZ,eAAhB,CAAgCnmQ,CAAC,CAAC4mQ,cAAlC,KAAmDvxQ,CAAC,CAAC0xQ,aAAF,CAAgBr0L,MAAhB,GAAuB1yE,CAAC,CAAC4mQ,cAAF,CAAiBl0L,MAA3F,KAAoGr9E,CAAC,CAAC0jH,OAAF,IAAW/4G,CAAC,CAAC+4G,OAAjH,CAAb,EAAuI1jH,CAAC,CAAC0xQ,aAAF,GAAgB/mQ,CAAC,CAAC2mQ,cAAF,CAAiB1xQ,KAAjB,EAAvJ,EAAgLI,CAAC,CAAC6xQ,iBAAF,GAAoBwU,EAAE,CAACE,oBAAH,CAAwBvmR,CAAC,CAAC0xQ,aAA1B,CAApM,EAA6O,CAAC1xQ,CAAD,CAApP;AAAwP;;AAAA,aAAO2K,CAAC,CAAC2mQ,cAAF,CAAiBv7B,OAAjB,CAAyBprO,CAAC,CAAC4mQ,cAA3B,MAA6CvxQ,CAAC,CAAC0xQ,aAAF,CAAgBZ,eAAhB,CAAgCnmQ,CAAC,CAAC2mQ,cAAlC,KAAmDtxQ,CAAC,CAAC0xQ,aAAF,CAAgBr0L,MAAhB,IAAwB1yE,CAAC,CAAC2mQ,cAAF,CAAiBj0L,MAA5F,KAAqGr9E,CAAC,CAAC0jH,OAAF,IAAW/4G,CAAC,CAAC+4G,OAAlH,GAA2H1jH,CAAC,CAAC0xQ,aAAF,CAAgBZ,eAAhB,CAAgCnmQ,CAAC,CAAC4mQ,cAAlC,KAAmDvxQ,CAAC,CAAC0xQ,aAAF,CAAgBr0L,MAAhB,GAAuB1yE,CAAC,CAAC4mQ,cAAF,CAAiBl0L,MAA3F,KAAoGr9E,CAAC,CAAC0jH,OAAF,IAAW/4G,CAAC,CAAC+4G,OAAjH,CAAxK,GAAmS1jH,CAAC,CAAC0xQ,aAAF,CAAgB7qL,UAAhB,GAA2B,QAA9T,EAAuU7mF,CAAC,CAAC0xQ,aAAF,GAAgB1xQ,CAAC,CAAC0xQ,aAAF,CAAgBT,8BAAhB,CAA+CtmQ,CAA/C,CAAvV,EAAyY3K,CAAC,CAAC0xQ,aAAF,CAAgB7qL,UAAhB,GAA2B,QAApa,EAA6a7mF,CAAC,CAAC4xQ,iBAAF,GAAoB5xQ,CAAC,CAAC6xQ,iBAAF,GAAoB7xQ,CAAC,CAAC6xQ,iBAAF,CAAoBZ,8BAApB,CAAmDtmQ,CAAnD,CAAxC,GAA8F3K,CAAC,CAAC6xQ,iBAAF,GAAoBwU,EAAE,CAACE,oBAAH,CAAwBvmR,CAAC,CAAC0xQ,aAA1B,CAA/hB,EAAwkB,CAAC1xQ,CAAD,CAA/kB;AAAmlB,KAAn5D,CAAl2c,EAAwvgB0nR,EAAE,CAACrB,EAAD,EAAIA,EAAJ,EAAQ,CAACrmR,CAAD,EAAG2K,CAAH,EAAKJ,CAAL,KAAS;AAAC,UAAGvK,CAAC,CAAC0xQ,aAAF,CAAgB37B,OAAhB,CAAwBprO,CAAC,CAAC+mQ,aAA1B,CAAH,EAA4C;AAAC,YAAG,CAAC1xQ,CAAC,CAAC4xQ,iBAAH,IAAsB,CAACjnQ,CAAC,CAACinQ,iBAA5B,EAA8C,OAAM,CAAC,IAAIkV,EAAJ,CAAO,CAAP,CAAD,CAAN;AAAkB,YAAG9mR,CAAC,CAAC4xQ,iBAAF,IAAqBjnQ,CAAC,CAACinQ,iBAAvB,IAA0C5xQ,CAAC,CAAC4xQ,iBAAF,CAAoB77B,OAApB,CAA4BprO,CAAC,CAACinQ,iBAA9B,CAA7C,EAA8F,OAAM,CAAC,IAAIkV,EAAJ,CAAO,CAAP,CAAD,CAAN;AAAkB,YAAG,iBAAev8Q,CAAC,CAACo/Q,UAApB,EAA+B,OAAO3pR,CAAC,CAAC0jH,OAAF,GAAU,CAAV,EAAY1jH,CAAC,CAAC4xQ,iBAAF,GAAoB5xQ,CAAC,CAAC4xQ,iBAAF,CAAoBV,+BAApB,CAAoDvmQ,CAApD,CAAhC,EAAuF,CAAC3K,CAAD,CAA9F;AAAkG;;AAAA,UAAGA,CAAC,CAAC4xQ,iBAAF,IAAqBjnQ,CAAC,CAACinQ,iBAAvB,IAA0C5xQ,CAAC,CAAC4xQ,iBAAF,CAAoB77B,OAApB,CAA4BprO,CAAC,CAACinQ,iBAA9B,CAA7C,EAA8F;AAAC,cAAMrlQ,CAAC,GAAC,gBAAcvM,CAAC,CAAC0xQ,aAAF,CAAgBluQ,IAAhB,CAAqB8+E,QAA3C;AAAA,cAAoD3rG,CAAC,GAAC,gBAAcg0B,CAAC,CAAC+mQ,aAAF,CAAgBluQ,IAAhB,CAAqB8+E,QAAzF;;AAAkG,YAAG3rG,CAAC,IAAE,CAAC41B,CAAJ,IAAO,EAAEA,CAAC,IAAE,CAAC51B,CAAN,KAAU4zB,CAAC,CAACg/Q,SAAtB,EAAgC;AAAC,gBAAMh/Q,CAAC,GAAC,EAAR;AAAW,iBAAOI,CAAC,CAAC+4G,OAAF,IAAWn5G,CAAC,CAACtE,IAAF,CAAO,IAAI6/Q,EAAJ,CAAOn7Q,CAAC,CAACgnQ,kBAAT,EAA4BhnQ,CAAC,CAAC+4G,OAA9B,EAAsC/4G,CAAC,CAAC+mQ,aAAxC,EAAsD,CAAtD,CAAP,CAAX,EAA4E1xQ,CAAC,CAAC0jH,OAAF,IAAWn5G,CAAC,CAACtE,IAAF,CAAO,IAAI6/Q,EAAJ,CAAO9lR,CAAC,CAAC0xQ,aAAT,EAAuB1xQ,CAAC,CAAC0jH,OAAzB,EAAiC1jH,CAAC,CAAC2xQ,kBAAnC,EAAsD,CAAtD,CAAP,CAAvF,EAAwJpnQ,CAA/J;AAAiK;;AAAA,eAAM,CAAC,IAAIu8Q,EAAJ,CAAO,CAAP,CAAD,CAAN;AAAkB;;AAAA,UAAG9mR,CAAC,CAAC4xQ,iBAAF,KAAsB5xQ,CAAC,CAAC4xQ,iBAAF,GAAoB5xQ,CAAC,CAAC4xQ,iBAAF,CAAoBV,+BAApB,CAAoDvmQ,CAApD,CAA1C,GAAkG3K,CAAC,CAAC0xQ,aAAF,CAAgB37B,OAAhB,CAAwBprO,CAAC,CAACknQ,iBAA1B,KAA8C,iBAAetnQ,CAAC,CAACo/Q,UAApK,EAA+K,OAAO3pR,CAAC,CAAC0jH,OAAF,IAAY,CAAC1jH,CAAD,CAAnB;;AAAuB,UAAG2K,CAAC,CAAC+mQ,aAAF,CAAgB37B,OAAhB,CAAwB/1O,CAAC,CAAC6xQ,iBAA1B,KAA8C,iBAAetnQ,CAAC,CAACs/Q,UAAlE,EAA6E;AAAC,cAAMt/Q,CAAC,GAACI,CAAC,CAACknQ,iBAAF,CAAoB7qS,IAApB,CAAyB0xG,KAAzB,EAAR;AAAyCnuE,QAAAA,CAAC,CAACtE,IAAF,CAAO,CAAP;AAAU,cAAMsG,CAAC,GAAC,IAAI4jQ,EAAJ,CAAOxlQ,CAAC,CAACknQ,iBAAF,CAAoBruQ,IAA3B,EAAgC+G,CAAhC,CAAR;AAA2C,eAAM,CAACvK,CAAD,EAAG,IAAI8lR,EAAJ,CAAO9lR,CAAC,CAAC6xQ,iBAAT,EAA2B,CAA3B,EAA6BtlQ,CAA7B,EAA+B,CAA/B,CAAH,CAAN;AAA4C;;AAAA,aAAOvM,CAAC,CAAC0xQ,aAAF,CAAgBZ,eAAhB,CAAgCnmQ,CAAC,CAAC+mQ,aAAlC,KAAkD1xQ,CAAC,CAAC0xQ,aAAF,CAAgBr0L,MAAhB,GAAuB1yE,CAAC,CAAC+mQ,aAAF,CAAgBr0L,MAAzF,KAAkGr9E,CAAC,CAAC0jH,OAAF,IAAW/4G,CAAC,CAAC+4G,OAA/G,GAAwH1jH,CAAC,CAAC0xQ,aAAF,GAAgB1xQ,CAAC,CAAC0xQ,aAAF,CAAgBR,+BAAhB,CAAgDvmQ,CAAhD,CAAxI,EAA2L3K,CAAC,CAAC6xQ,iBAAF,GAAoBwU,EAAE,CAACE,oBAAH,CAAwBvmR,CAAC,CAAC0xQ,aAA1B,CAA/M,EAAwP,CAAC1xQ,CAAD,CAA/P;AAAmQ,KAAj7C,CAA1vgB;;AAA8qjB,UAAMoqR,EAAN,SAAiB7kD,CAAC,CAAC4qC,EAAD,CAAlB,CAAuB;AAAC1wS,MAAAA,WAAW,CAACugC,CAAD,EAAG2K,CAAH,EAAKJ,CAAC,GAAC,QAAP,EAAgB;AAAC,YAAG,MAAMvK,CAAN,EAAQ2K,CAAR,EAAUJ,CAAV,GAAa,CAAC,KAAK/G,IAAL,CAAUqnF,EAAV,CAAa,aAAb,CAAjB,EAA6C,MAAM,IAAI1oC,CAAJ,CAAM,yCAAN,EAAgDniD,CAAhD,CAAN;AAAyDqqR,QAAAA,EAAE,CAAClhR,IAAH,CAAQ,IAAR;AAAc;;AAAA4qO,MAAAA,MAAM,GAAE;AAAC,aAAKrO,aAAL;AAAqB;;AAAA4kD,MAAAA,UAAU,GAAE;AAAC,eAAO,IAAIna,EAAJ,CAAO,KAAK3sQ,IAAZ,EAAiB,KAAKx8B,IAAL,CAAU0xG,KAAV,EAAjB,EAAmC,KAAKmO,UAAxC,CAAP;AAA2D;;AAAmB,aAAZ0jM,YAAY,CAACvqR,CAAD,EAAG2K,CAAH,EAAK;AAAC,eAAO,IAAI,IAAJ,CAAS3K,CAAC,CAACwD,IAAX,EAAgBxD,CAAC,CAACh5B,IAAF,CAAO0xG,KAAP,EAAhB,EAA+B/tE,CAAC,IAAE3K,CAAC,CAAC6mF,UAApC,CAAP;AAAuD;;AAAvU;;AAAwU,aAASwjM,EAAT,GAAa;AAAC,WAAK7kD,QAAL,CAAc,KAAKhiO,IAAL,CAAU9B,QAAV,CAAmBnlB,KAAjC,EAAuC,gBAAvC,EAAyD,CAACyjB,CAAD,EAAG2K,CAAH,KAAO;AAAC,cAAMJ,CAAC,GAACI,CAAC,CAAC,CAAD,CAAT;AAAaJ,QAAAA,CAAC,CAACmuQ,mBAAF,IAAuB8R,EAAE,CAACrhR,IAAH,CAAQ,IAAR,EAAaoB,CAAb,CAAvB;AAAuC,OAArH,EAAuH;AAACo7E,QAAAA,QAAQ,EAAC;AAAV,OAAvH;AAAyI;;AAAA,aAAS6kM,EAAT,CAAYxqR,CAAZ,EAAc;AAAC,YAAM2K,CAAC,GAAC,KAAKomQ,yBAAL,CAA+B/wQ,CAA/B,CAAR;;AAA0C,UAAG,CAAC,KAAK+1O,OAAL,CAAaprO,CAAb,CAAJ,EAAoB;AAAC,cAAM3K,CAAC,GAAC,KAAKsqR,UAAL,EAAR;AAA0B,aAAKtjT,IAAL,GAAU2jC,CAAC,CAAC3jC,IAAZ,EAAiB,KAAKw8B,IAAL,GAAUmH,CAAC,CAACnH,IAA7B,EAAkC,KAAKkiF,IAAL,CAAU,QAAV,EAAmB1lF,CAAnB,CAAlC;AAAwD;AAAC;;AAAAoqR,IAAAA,EAAE,CAACngR,SAAH,CAAa4gF,EAAb,GAAgB,UAAS7qF,CAAT,EAAW;AAAC,aAAM,mBAAiBA,CAAjB,IAAoB,yBAAuBA,CAA3C,IAA8C,cAAYA,CAA1D,IAA6D,qBAAmBA,CAAtF;AAAwF,KAApH;;AAAqH,UAAMyqR,EAAN,CAAQ;AAAChrT,MAAAA,WAAW,CAACugC,CAAC,GAAC,EAAH,EAAM;AAAC,oBAAU,OAAOA,CAAjB,KAAqBA,CAAC,GAAC,kBAAgBA,CAAhB,GAAkB;AAACslF,UAAAA,UAAU,EAAC,CAAC;AAAb,SAAlB,GAAkC,EAApC,EAAuCz7E,CAAC,CAAC,0CAAD,CAA7D;AAA2G,cAAK;AAACy7E,UAAAA,UAAU,EAAC36E,CAAC,GAAC,CAAC,CAAf;AAAiBgoM,UAAAA,OAAO,EAACpoM,CAAC,GAAC,CAAC,CAA5B;AAA8BmgR,UAAAA,MAAM,EAACn+Q,CAAC,GAAC,CAAC,CAAxC;AAA0Co+Q,UAAAA,QAAQ,EAACh0S,CAAC,GAAC,CAAC;AAAtD,YAAyDqpB,CAA9D;AAAgE,aAAK4qR,UAAL,GAAgB,EAAhB,EAAmB,KAAKtlM,UAAL,GAAgB36E,CAAnC,EAAqC,KAAKgoM,OAAL,GAAapoM,CAAlD,EAAoD,KAAKmgR,MAAL,GAAYn+Q,CAAhE,EAAkE,KAAKo+Q,QAAL,GAAch0S,CAAhF;AAAkF;;AAAQ,UAAJM,IAAI,GAAE;AAAC,eAAO4yB,CAAC,CAAC,uBAAD,CAAD,EAA2B,SAAlC;AAA4C;;AAAe,UAAXw7Q,WAAW,GAAE;AAAC,aAAI,MAAMrlR,CAAV,IAAe,KAAK4qR,UAApB,EAA+B,IAAG,SAAO5qR,CAAC,CAACqlR,WAAZ,EAAwB,OAAOrlR,CAAC,CAACqlR,WAAT;;AAAqB,eAAO,IAAP;AAAY;;AAAAwF,MAAAA,YAAY,CAAC7qR,CAAD,EAAG;AAAC,eAAOA,CAAC,CAACwnG,KAAF,GAAQ,IAAR,EAAa,KAAKojL,UAAL,CAAgB3kR,IAAhB,CAAqBjG,CAArB,CAAb,EAAqCA,CAA5C;AAA8C;;AAA/e;;AAAgf,UAAM8qR,EAAN,CAAQ;AAACrrT,MAAAA,WAAW,CAACugC,CAAD,EAAG;AAAC,aAAK+qR,iBAAL,GAAuB,IAAI97Q,GAAJ,EAAvB,EAA+B,KAAK+7Q,iBAAL,GAAuB,IAAI/7Q,GAAJ,EAAtD,EAA8D,KAAKg8Q,eAAL,GAAqB,IAAIh8Q,GAAJ,EAAnF,EAA2F,KAAKi8Q,aAAL,GAAmB,IAAIj8Q,GAAJ,EAA9G,EAAsH,KAAKk8Q,YAAL,GAAkB,CAAxI,EAA0I,KAAKC,cAAL,GAAoB,IAA9J,EAAmK,KAAKC,2BAAL,GAAiC,IAApM,EAAyM,KAAKC,eAAL,GAAqB,IAAIz5M,GAAJ,EAA9N,EAAsO,KAAK05M,iBAAL,GAAuBvrR,CAA7P;AAA+P;;AAAW,UAAPqW,OAAO,GAAE;AAAC,eAAO,KAAG,KAAK00Q,iBAAL,CAAuB54M,IAA1B,IAAgC,KAAG,KAAK84M,eAAL,CAAqB94M,IAAxD,IAA8D,KAAG,KAAK+4M,aAAL,CAAmB/4M,IAA3F;AAAgG;;AAAAq5M,MAAAA,eAAe,CAACxrR,CAAD,EAAG;AAAC,cAAM2K,CAAC,GAAC3K,CAAR;;AAAU,gBAAO2K,CAAC,CAAC1zB,IAAT;AAAe,eAAI,QAAJ;AAAa,gBAAG,KAAKw0S,oBAAL,CAA0B9gR,CAAC,CAAC76B,QAAF,CAAWqxE,MAArC,CAAH,EAAgD;;AAAO,iBAAKuqO,WAAL,CAAiB/gR,CAAC,CAAC76B,QAAF,CAAWqxE,MAA5B,EAAmCx2C,CAAC,CAAC76B,QAAF,CAAWutG,MAA9C,EAAqD1yE,CAAC,CAACu+E,KAAF,CAAQmmL,SAA7D;;AAAwE;;AAAM,eAAI,cAAJ;AAAmB,eAAI,iBAAJ;AAAsB,eAAI,iBAAJ;AAAsB,iBAAI,MAAMrvQ,CAAV,IAAe2K,CAAC,CAACo8E,KAAF,CAAQwgB,QAAR,CAAiB;AAACqtJ,cAAAA,OAAO,EAAC,CAAC;AAAV,aAAjB,CAAf,EAA8C,KAAK62B,oBAAL,CAA0BzrR,CAAC,CAACmhD,MAA5B,KAAqC,KAAKwqO,cAAL,CAAoB3rR,CAApB,CAArC;;AAA4D;;AAAM,eAAI,QAAJ;AAAa,eAAI,MAAJ;AAAW,eAAI,UAAJ;AAAe;AAAC,kBAAG2K,CAAC,CAAC2mQ,cAAF,CAAiBv7B,OAAjB,CAAyBprO,CAAC,CAAC4mQ,cAA3B,KAA4C5mQ,CAAC,CAAC2mQ,cAAF,CAAiB3b,YAAjB,CAA8BhrP,CAAC,CAAC+4G,OAAhC,EAAyCqyH,OAAzC,CAAiDprO,CAAC,CAAC4mQ,cAAnD,CAA/C,EAAkH;;AAAO,oBAAMvxQ,CAAC,GAAC,KAAKyrR,oBAAL,CAA0B9gR,CAAC,CAAC2mQ,cAAF,CAAiBnwN,MAA3C,CAAR;AAAA,oBAA2D52C,CAAC,GAAC,KAAKkhR,oBAAL,CAA0B9gR,CAAC,CAAC4mQ,cAAF,CAAiBpwN,MAA3C,CAA7D;;AAAgHnhD,cAAAA,CAAC,IAAE,KAAK4rR,WAAL,CAAiBjhR,CAAC,CAAC2mQ,cAAF,CAAiBnwN,MAAlC,EAAyCx2C,CAAC,CAAC2mQ,cAAF,CAAiBj0L,MAA1D,EAAiE1yE,CAAC,CAAC+4G,OAAnE,CAAH,EAA+En5G,CAAC,IAAE,KAAKmhR,WAAL,CAAiB/gR,CAAC,CAAC4mQ,cAAF,CAAiBpwN,MAAlC,EAAyCx2C,CAAC,CAACq7Q,kBAAF,GAAuB3oM,MAAhE,EAAuE1yE,CAAC,CAAC+4G,OAAzE,CAAlF;AAAoK;AAAM;;AAAA,eAAI,QAAJ;AAAa;AAAC,kBAAG,KAAK+nK,oBAAL,CAA0B9gR,CAAC,CAAC76B,QAAF,CAAWqxE,MAArC,CAAH,EAAgD;AAAO,mBAAKyqO,WAAL,CAAiBjhR,CAAC,CAAC76B,QAAF,CAAWqxE,MAA5B,EAAmCx2C,CAAC,CAAC76B,QAAF,CAAWutG,MAA9C,EAAqD,CAArD,GAAwD,KAAKquM,WAAL,CAAiB/gR,CAAC,CAAC76B,QAAF,CAAWqxE,MAA5B,EAAmCx2C,CAAC,CAAC76B,QAAF,CAAWutG,MAA9C,EAAqD,CAArD,CAAxD;;AAAgH,oBAAMr9E,CAAC,GAACiyQ,EAAE,CAACrb,2BAAH,CAA+BjsP,CAAC,CAAC76B,QAAjC,EAA0C,CAA1C,CAAR;;AAAqD,mBAAI,MAAM66B,CAAV,IAAe,KAAK4gR,iBAAL,CAAuBM,2BAAvB,CAAmD7rR,CAAnD,CAAf,EAAqE;AAAC,sBAAMA,CAAC,GAAC2K,CAAC,CAACmiQ,OAAF,EAAR;AAAoB,qBAAKgf,kBAAL,CAAwBnhR,CAAC,CAACn6B,IAA1B,EAA+BwvB,CAA/B,EAAiCA,CAAjC;AAAoC;;AAAA;AAAM;;AAAA,eAAI,OAAJ;AAAY;AAAC,oBAAMA,CAAC,GAAC2K,CAAC,CAAC+mQ,aAAF,CAAgBvwN,MAAxB;AAA+B,mBAAKsqO,oBAAL,CAA0BzrR,CAA1B,KAA8B,KAAK4rR,WAAL,CAAiB5rR,CAAjB,EAAmB2K,CAAC,CAAC+mQ,aAAF,CAAgBr0L,MAAnC,EAA0C1yE,CAAC,CAAC+4G,OAA5C,CAA9B,EAAmF,KAAK+nK,oBAAL,CAA0B9gR,CAAC,CAACknQ,iBAAF,CAAoB1wN,MAA9C,KAAuD,KAAKuqO,WAAL,CAAiB/gR,CAAC,CAACknQ,iBAAF,CAAoB1wN,MAArC,EAA4Cx2C,CAAC,CAACknQ,iBAAF,CAAoBx0L,MAAhE,EAAuE,CAAvE,CAA1I,EAAoN1yE,CAAC,CAACinQ,iBAAF,IAAqB,KAAKga,WAAL,CAAiBjhR,CAAC,CAACinQ,iBAAF,CAAoBzwN,MAArC,EAA4Cx2C,CAAC,CAACinQ,iBAAF,CAAoBv0L,MAAhE,EAAuE,CAAvE,CAAzO;AAAmT;AAAM;;AAAA,eAAI,OAAJ;AAAY;AAAC,oBAAMr9E,CAAC,GAAC2K,CAAC,CAAC2mQ,cAAF,CAAiBnwN,MAAzB;AAAgC,mBAAKsqO,oBAAL,CAA0BzrR,CAAC,CAACmhD,MAA5B,KAAqC,KAAKyqO,WAAL,CAAiB5rR,CAAC,CAACmhD,MAAnB,EAA0BnhD,CAAC,CAACi/P,WAA5B,EAAwC,CAAxC,CAArC;AAAgF,oBAAM10P,CAAC,GAACI,CAAC,CAACinQ,iBAAF,CAAoBzwN,MAA5B;;AAAmC,mBAAKuqO,WAAL,CAAiBnhR,CAAjB,EAAmBI,CAAC,CAACinQ,iBAAF,CAAoBv0L,MAAvC,EAA8C,CAA9C;;AAAiD,oBAAM9wE,CAAC,GAAC5B,CAAC,CAAC4mQ,cAAF,CAAiBpwN,MAAzB;AAAgC,mBAAKsqO,oBAAL,CAA0Bl/Q,CAA1B,KAA8B,KAAKm/Q,WAAL,CAAiBn/Q,CAAjB,EAAmB5B,CAAC,CAAC4mQ,cAAF,CAAiBl0L,MAApC,EAA2Cr9E,CAAC,CAACqvQ,SAA7C,CAA9B;AAAsF;AAAM;;AAAA,eAAI,YAAJ;AAAiB,eAAI,SAAJ;AAAc;AAAC,oBAAMrvQ,CAAC,GAAC2K,CAAC,CAACo7Q,kBAAV;AAA6B,kBAAG,CAAC/lR,CAAC,CAACmkF,SAAN,EAAgB;AAAO,kBAAGnkF,CAAC,CAACwjF,UAAF,MAAgB74E,CAAC,CAACy8Q,KAArB,EAA2B;;AAAO,mBAAK2E,sBAAL,CAA4BphR,CAAC,CAAC23E,QAA9B,EAAuC33E,CAAC,CAACy8Q,KAAzC;;AAAgD;AAAM;;AAAA,eAAI,kBAAJ;AAAuB,eAAI,qBAAJ;AAA0B,eAAI,qBAAJ;AAA0B;AAAC,kBAAG,CAACz8Q,CAAC,CAACnH,IAAF,CAAO2gF,SAAX,EAAqB;AAAO,oBAAMnkF,CAAC,GAAC2K,CAAC,CAACnH,IAAF,CAAO8+E,QAAf;;AAAwB,mBAAK0pM,0BAAL,CAAgChsR,CAAhC,EAAkC2K,CAAC,CAAC7E,GAApC,EAAwC6E,CAAC,CAACs8B,QAA1C,EAAmDt8B,CAAC,CAACq8B,QAArD;;AAA+D;AAAM;AAA5pE;;AAA6pE,aAAKokP,cAAL,GAAoB,IAApB;AAAyB;;AAAAU,MAAAA,kBAAkB,CAAC9rR,CAAD,EAAG2K,CAAH,EAAKJ,CAAL,EAAO;AAACI,QAAAA,CAAC,CAACo8E,KAAF,IAASp8E,CAAC,CAACo8E,KAAF,CAAQvjF,IAAR,CAAaqnF,EAAb,CAAgB,aAAhB,CAAT,IAAyC,CAAClgF,CAAC,CAACo8E,KAAF,CAAQvjF,IAAR,CAAa2gF,SAAvD,KAAmEx5E,CAAC,CAACo8E,KAAF,GAAQ,IAA3E,GAAiFx8E,CAAC,CAACw8E,KAAF,IAASx8E,CAAC,CAACw8E,KAAF,CAAQvjF,IAAR,CAAaqnF,EAAb,CAAgB,aAAhB,CAAT,IAAyC,CAACtgF,CAAC,CAACw8E,KAAF,CAAQvjF,IAAR,CAAa2gF,SAAvD,KAAmE55E,CAAC,CAACw8E,KAAF,GAAQ,IAA3E,CAAjF;;AAAkK,YAAIx6E,CAAC,GAAC,KAAK0+Q,eAAL,CAAqBxqT,GAArB,CAAyBu/B,CAAzB,CAAN;;AAAkCuM,QAAAA,CAAC,GAACA,CAAC,CAAC0/Q,aAAF,GAAgB1hR,CAAjB,IAAoBgC,CAAC,GAAC;AAAC0/Q,UAAAA,aAAa,EAAC1hR,CAAf;AAAiB2hR,UAAAA,aAAa,EAACvhR;AAA/B,SAAF,EAAoC,KAAKsgR,eAAL,CAAqBnmR,GAArB,CAAyB9E,CAAzB,EAA2BuM,CAA3B,CAAxD,CAAD,EAAwF,QAAMA,CAAC,CAAC2/Q,aAAF,CAAgBnlM,KAAtB,IAA6B,QAAMx8E,CAAC,CAACw8E,KAArC,IAA4C,KAAKkkM,eAAL,CAAqBr2Q,MAArB,CAA4B5U,CAA5B,CAApI;AAAmK;;AAAAu1Q,MAAAA,kBAAkB,GAAE;AAAC,cAAMv1Q,CAAC,GAAC,EAAR;;AAAW,aAAI,MAAK,CAAC2K,CAAD,EAAGJ,CAAH,CAAT,IAAiB,KAAK0gR,eAAtB,EAAsC,QAAM1gR,CAAC,CAAC2hR,aAAF,CAAgBnlM,KAAtB,IAA6B/mF,CAAC,CAACiG,IAAF,CAAO;AAACz1B,UAAAA,IAAI,EAACm6B,CAAN;AAAQo8E,UAAAA,KAAK,EAACx8E,CAAC,CAAC2hR,aAAF,CAAgBnlM;AAA9B,SAAP,CAA7B;;AAA0E,eAAO/mF,CAAP;AAAS;;AAAAm2Q,MAAAA,eAAe,GAAE;AAAC,cAAMn2Q,CAAC,GAAC,EAAR;;AAAW,aAAI,MAAK,CAAC2K,CAAD,EAAGJ,CAAH,CAAT,IAAiB,KAAK0gR,eAAtB,EAAsC,QAAM1gR,CAAC,CAAC0hR,aAAF,CAAgBllM,KAAtB,IAA6B/mF,CAAC,CAACiG,IAAF,CAAO;AAACz1B,UAAAA,IAAI,EAACm6B,CAAN;AAAQo8E,UAAAA,KAAK,EAACx8E,CAAC,CAAC0hR,aAAF,CAAgBllM;AAA9B,SAAP,CAA7B;;AAA0E,eAAO/mF,CAAP;AAAS;;AAAAmsR,MAAAA,iBAAiB,GAAE;AAAC,eAAOhnR,KAAK,CAAC7H,IAAN,CAAW,KAAK2tR,eAAhB,EAAiCzhT,GAAjC,CAAsC,CAAC,CAACw2B,CAAD,EAAG2K,CAAH,CAAD,MAAU;AAACn6B,UAAAA,IAAI,EAACwvB,CAAN;AAAQr4B,UAAAA,IAAI,EAAC;AAAC8+S,YAAAA,QAAQ,EAAC97Q,CAAC,CAACuhR,aAAF,CAAgBnlM,KAA1B;AAAgC2/L,YAAAA,QAAQ,EAAC/7Q,CAAC,CAACshR,aAAF,CAAgBllM;AAAzD;AAAb,SAAV,CAAtC,CAAP;AAAwI;;AAAAqlM,MAAAA,cAAc,GAAE;AAAC,YAAG,KAAKrB,iBAAL,CAAuB54M,IAAvB,GAA4B,CAA/B,EAAiC,OAAM,CAAC,CAAP;AAAS,YAAG,KAAK+4M,aAAL,CAAmB/4M,IAAnB,GAAwB,CAA3B,EAA6B,OAAM,CAAC,CAAP;;AAAS,aAAI,MAAK;AAAC85M,UAAAA,aAAa,EAACjsR,CAAf;AAAiBksR,UAAAA,aAAa,EAACvhR;AAA/B,SAAT,IAA6C,KAAKsgR,eAAL,CAAqB5pQ,MAArB,EAA7C,EAA2E;AAAC,cAAGrhB,CAAC,CAAC2kF,WAAF,KAAgBh6E,CAAC,CAACg6E,WAArB,EAAiC,OAAM,CAAC,CAAP;;AAAS,cAAG3kF,CAAC,CAAC2kF,WAAL,EAAiB;AAAC,kBAAMp6E,CAAC,GAACvK,CAAC,CAAC+mF,KAAF,IAAS,CAACp8E,CAAC,CAACo8E,KAApB;AAAA,kBAA0Bx6E,CAAC,GAAC,CAACvM,CAAC,CAAC+mF,KAAH,IAAUp8E,CAAC,CAACo8E,KAAxC;AAAA,kBAA8CpwG,CAAC,GAACqpB,CAAC,CAAC+mF,KAAF,IAASp8E,CAAC,CAACo8E,KAAX,IAAkB,CAAC/mF,CAAC,CAAC+mF,KAAF,CAAQgvJ,OAAR,CAAgBprO,CAAC,CAACo8E,KAAlB,CAAnE;AAA4F,gBAAGx8E,CAAC,IAAEgC,CAAH,IAAM51B,CAAT,EAAW,OAAM,CAAC,CAAP;AAAS;AAAC;;AAAA,eAAM,CAAC,CAAP;AAAS;;AAAA++R,MAAAA,UAAU,CAAC11Q,CAAC,GAAC,EAAH,EAAM;AAAC,YAAG,KAAKorR,cAAR,EAAuB,OAAOprR,CAAC,CAACqsR,yBAAF,GAA4B,KAAKhB,2BAAL,CAAiC3yM,KAAjC,EAA5B,GAAqE,KAAK0yM,cAAL,CAAoB1yM,KAApB,EAA5E;AAAwG,YAAI/tE,CAAC,GAAC,EAAN;;AAAS,aAAI,MAAM3K,CAAV,IAAe,KAAK+qR,iBAAL,CAAuB1lR,IAAvB,EAAf,EAA6C;AAAC,gBAAMkF,CAAC,GAAC,KAAKwgR,iBAAL,CAAuBtqT,GAAvB,CAA2Bu/B,CAA3B,EAA8B6gD,IAA9B,CAAoC,CAAC7gD,CAAD,EAAG2K,CAAH,KAAO3K,CAAC,CAACq9E,MAAF,KAAW1yE,CAAC,CAAC0yE,MAAb,GAAoBr9E,CAAC,CAAC/oB,IAAF,IAAQ0zB,CAAC,CAAC1zB,IAAV,GAAe,YAAU+oB,CAAC,CAAC/oB,IAAZ,GAAiB,CAAC,CAAlB,GAAoB,CAAnC,GAAqC,CAAzD,GAA2D+oB,CAAC,CAACq9E,MAAF,GAAS1yE,CAAC,CAAC0yE,MAAX,GAAkB,CAAC,CAAnB,GAAqB,CAA3H,CAAR;AAAA,gBAAuI9wE,CAAC,GAAC,KAAKy+Q,iBAAL,CAAuBvqT,GAAvB,CAA2Bu/B,CAA3B,CAAzI;AAAA,gBAAuKrpB,CAAC,GAAC21S,EAAE,CAACtsR,CAAC,CAACgkF,WAAF,EAAD,CAA3K;AAAA,gBAA6Lv3E,CAAC,GAAC8/Q,EAAE,CAAChgR,CAAC,CAAC5/B,MAAH,EAAU49B,CAAV,CAAjM;;AAA8M,cAAID,CAAC,GAAC,CAAN;AAAA,cAAQ83C,CAAC,GAAC,CAAV;;AAAY,eAAI,MAAM73C,CAAV,IAAekC,CAAf,EAAiB,IAAG,QAAMlC,CAAT,EAAWI,CAAC,CAAC1E,IAAF,CAAO,KAAKumR,cAAL,CAAoBxsR,CAApB,EAAsBsK,CAAtB,EAAwB3zB,CAAC,CAAC2zB,CAAD,CAAzB,CAAP,GAAsCA,CAAC,EAAvC,CAAX,KAA0D,IAAG,QAAMC,CAAT,EAAWI,CAAC,CAAC1E,IAAF,CAAO,KAAKwmR,cAAL,CAAoBzsR,CAApB,EAAsBsK,CAAtB,EAAwBiC,CAAC,CAAC61C,CAAD,CAAzB,CAAP,GAAsCA,CAAC,EAAvC,CAAX,KAA0D,IAAG,QAAM73C,CAAT,EAAW;AAAC,kBAAMA,CAAC,GAAC5zB,CAAC,CAAC2zB,CAAD,CAAD,CAAK25E,UAAb;AAAA,kBAAwBx3E,CAAC,GAACF,CAAC,CAAC61C,CAAD,CAAD,CAAK6hC,UAA/B;AAA0C,gBAAI05D,CAAJ;AAAM,gBAAG,WAAShnK,CAAC,CAAC2zB,CAAD,CAAD,CAAK95B,IAAjB,EAAsBmtK,CAAC,GAAC,IAAIs0H,EAAJ,CAAO9B,EAAE,CAACzb,SAAH,CAAa10P,CAAb,EAAesK,CAAf,CAAP,EAAyB6lQ,EAAE,CAACzb,SAAH,CAAa10P,CAAb,EAAesK,CAAC,GAAC,CAAjB,CAAzB,CAAF,CAAtB,KAA0E;AAAC,oBAAMK,CAAC,GAAC3K,CAAC,CAAC0vQ,aAAF,CAAgBplQ,CAAhB,CAAR;AAA2BqzI,cAAAA,CAAC,GAAC,IAAIs0H,EAAJ,CAAO9B,EAAE,CAACzb,SAAH,CAAa10P,CAAb,EAAesK,CAAf,CAAP,EAAyB6lQ,EAAE,CAACzb,SAAH,CAAa10P,CAAC,CAAC6sP,QAAF,CAAWliP,CAAX,CAAb,EAA2B,CAA3B,CAAzB,CAAF;AAA0D;AAAAA,YAAAA,CAAC,CAAC1E,IAAF,CAAO,GAAG,KAAKymR,kBAAL,CAAwB/uI,CAAxB,EAA0BlxI,CAA1B,EAA4BlC,CAA5B,CAAV,GAA0CD,CAAC,EAA3C,EAA8C83C,CAAC,EAA/C;AAAkD,WAA9Q,MAAmR93C,CAAC,IAAG83C,CAAC,EAAL;AAAQ;;AAAAz3C,QAAAA,CAAC,CAACk2C,IAAF,CAAQ,CAAC7gD,CAAD,EAAG2K,CAAH,KAAO3K,CAAC,CAAClwB,QAAF,CAAW0zB,IAAX,IAAiBmH,CAAC,CAAC76B,QAAF,CAAW0zB,IAA5B,GAAiCxD,CAAC,CAAClwB,QAAF,CAAW0zB,IAAX,CAAgB8+E,QAAhB,GAAyB33E,CAAC,CAAC76B,QAAF,CAAW0zB,IAAX,CAAgB8+E,QAAzC,GAAkD,CAAC,CAAnD,GAAqD,CAAtF,GAAwFtiF,CAAC,CAAClwB,QAAF,CAAWimQ,OAAX,CAAmBprO,CAAC,CAAC76B,QAArB,IAA+BkwB,CAAC,CAAC2sR,WAAF,GAAchiR,CAAC,CAACgiR,WAA/C,GAA2D3sR,CAAC,CAAClwB,QAAF,CAAW8lB,QAAX,CAAoB+U,CAAC,CAAC76B,QAAtB,IAAgC,CAAC,CAAjC,GAAmC,CAArM;;AAAyM,aAAI,IAAIkwB,CAAC,GAAC,CAAN,EAAQuK,CAAC,GAAC,CAAd,EAAgBvK,CAAC,GAAC2K,CAAC,CAACh+B,MAApB,EAA2BqzB,CAAC,EAA5B,EAA+B;AAAC,gBAAMuM,CAAC,GAAC5B,CAAC,CAACJ,CAAD,CAAT;AAAA,gBAAa5zB,CAAC,GAACg0B,CAAC,CAAC3K,CAAD,CAAhB;AAAA,gBAAoByM,CAAC,GAAC,YAAUF,CAAC,CAACt1B,IAAZ,IAAkB,YAAUN,CAAC,CAACM,IAA9B,IAAoC,WAASs1B,CAAC,CAAC/7B,IAA/C,IAAqD,WAASmG,CAAC,CAACnG,IAAhE,IAAsE+7B,CAAC,CAACz8B,QAAF,CAAWimQ,OAAX,CAAmBp/P,CAAC,CAAC7G,QAArB,CAA5F;AAAA,gBAA2Hw6B,CAAC,GAAC,YAAUiC,CAAC,CAACt1B,IAAZ,IAAkB,YAAUN,CAAC,CAACM,IAA9B,IAAoC,WAASs1B,CAAC,CAAC/7B,IAA/C,IAAqD,WAASmG,CAAC,CAACnG,IAAhE,IAAsE+7B,CAAC,CAACz8B,QAAF,CAAWqxE,MAAX,IAAmBxqE,CAAC,CAAC7G,QAAF,CAAWqxE,MAApG,IAA4G50C,CAAC,CAACz8B,QAAF,CAAWutG,MAAX,GAAkB9wE,CAAC,CAAC5/B,MAApB,IAA4BgK,CAAC,CAAC7G,QAAF,CAAWutG,MAAhR;AAAA,gBAAuRj7B,CAAC,GAAC,eAAa71C,CAAC,CAACt1B,IAAf,IAAqB,eAAaN,CAAC,CAACM,IAApC,IAA0Cs1B,CAAC,CAACz8B,QAAF,CAAWqxE,MAAX,IAAmBxqE,CAAC,CAAC7G,QAAF,CAAWqxE,MAAxE,IAAgF50C,CAAC,CAACw6E,KAAF,CAAQkvK,MAAxF,IAAgGt/Q,CAAC,CAACowG,KAAF,CAAQkvK,MAAxG,IAAgH1pP,CAAC,CAACz8B,QAAF,CAAWutG,MAAX,GAAkB9wE,CAAC,CAAC5/B,MAApB,IAA4BgK,CAAC,CAAC7G,QAAF,CAAWutG,MAAvJ,IAA+J9wE,CAAC,CAACwpQ,YAAF,IAAgBp/R,CAAC,CAACo/R,YAAjL,IAA+LxpQ,CAAC,CAACypQ,iBAAF,IAAqBr/R,CAAC,CAACq/R,iBAAtN,IAAyOzpQ,CAAC,CAAC0pQ,iBAAF,IAAqBt/R,CAAC,CAACs/R,iBAAzhB;AAA2iBxpQ,UAAAA,CAAC,IAAEnC,CAAH,IAAM83C,CAAN,IAAS71C,CAAC,CAAC5/B,MAAF,IAAWy1E,CAAC,KAAG71C,CAAC,CAACw6E,KAAF,CAAQL,GAAR,GAAYn6E,CAAC,CAACw6E,KAAF,CAAQL,GAAR,CAAYivK,YAAZ,CAAyB,CAAzB,CAAf,CAAZ,EAAwDhrP,CAAC,CAAC3K,CAAD,CAAD,GAAK,IAAtE,IAA4EuK,CAAC,GAACvK,CAA9E;AAAgF;;AAAA2K,QAAAA,CAAC,GAACA,CAAC,CAAChhC,MAAF,CAAUq2B,CAAC,IAAEA,CAAb,CAAF;;AAAmB,aAAI,MAAMA,CAAV,IAAe2K,CAAf,EAAiB,OAAO3K,CAAC,CAAC2sR,WAAT,EAAqB,eAAa3sR,CAAC,CAAC/oB,IAAf,KAAsB,OAAO+oB,CAAC,CAAClwB,QAAT,EAAkB,OAAOkwB,CAAC,CAACrzB,MAAjD,CAArB;;AAA8E,eAAO,KAAKw+S,YAAL,GAAkB,CAAlB,EAAoB,KAAKE,2BAAL,GAAiC1gR,CAArD,EAAuD,KAAKygR,cAAL,GAAoBzgR,CAAC,CAAChhC,MAAF,CAASijT,EAAT,CAA3E,EAAwF5sR,CAAC,CAACqsR,yBAAF,GAA4B,KAAKhB,2BAAL,CAAiC3yM,KAAjC,EAA5B,GAAqE,KAAK0yM,cAAL,CAAoB1yM,KAApB,EAApK;AAAgM;;AAAAm0M,MAAAA,eAAe,GAAE;AAAC,eAAO1nR,KAAK,CAAC7H,IAAN,CAAW,KAAK4tR,aAAL,CAAmB7pQ,MAAnB,EAAX,EAAwC73C,GAAxC,CAA6Cw2B,CAAC,IAAE;AAAC,gBAAM2K,CAAC,GAAC,EAAC,GAAG3K;AAAJ,WAAR;AAAe,iBAAO,KAAK,CAAL,KAAS2K,CAAC,CAAClvB,KAAX,IAAkB,OAAOkvB,CAAC,CAACs5E,UAA3B,EAAsCt5E,CAA7C;AAA+C,SAA/G,CAAP;AAAyH;;AAAA2qQ,MAAAA,iBAAiB,GAAE;AAAC,eAAO,IAAIzjM,GAAJ,CAAQ,KAAKy5M,eAAb,CAAP;AAAqC;;AAAAvhS,MAAAA,KAAK,GAAE;AAAC,aAAKghS,iBAAL,CAAuBrsQ,KAAvB,IAA+B,KAAKssQ,iBAAL,CAAuBtsQ,KAAvB,EAA/B,EAA8D,KAAKusQ,eAAL,CAAqBvsQ,KAArB,EAA9D,EAA2F,KAAKwsQ,aAAL,CAAmBxsQ,KAAnB,EAA3F,EAAsH,KAAK4sQ,eAAL,GAAqB,IAAIz5M,GAAJ,EAA3I,EAAmJ,KAAKu5M,cAAL,GAAoB,IAAvK;AAA4K;;AAAAW,MAAAA,sBAAsB,CAAC/rR,CAAD,EAAG2K,CAAH,EAAK;AAAC,YAAG,CAAC,KAAKugR,aAAL,CAAmBp8P,GAAnB,CAAuB9uB,CAAvB,CAAJ,EAA8B,OAAO,KAAK,KAAKkrR,aAAL,CAAmBpmR,GAAnB,CAAuB9E,CAAvB,EAAyB;AAACxvB,UAAAA,IAAI,EAACwvB,CAAN;AAAQvkB,UAAAA,KAAK,EAACkvB,CAAC,GAAC,UAAD,GAAY;AAA3B,SAAzB,CAAZ;;AAA6E,cAAMJ,CAAC,GAAC,KAAK2gR,aAAL,CAAmBzqT,GAAnB,CAAuBu/B,CAAvB,CAAR;;AAAkC,aAAK,CAAL,KAASuK,CAAC,CAAC9uB,KAAX,IAAkB,OAAO8uB,CAAC,CAAC9uB,KAAT,EAAe,KAAK,CAAL,KAAS8uB,CAAC,CAAC05E,UAAX,IAAuB,KAAKinM,aAAL,CAAmBt2Q,MAAnB,CAA0B5U,CAA1B,CAAxD,IAAsFuK,CAAC,CAAC9uB,KAAF,GAAQkvB,CAAC,GAAC,UAAD,GAAY,UAA3G;AAAsH;;AAAAqhR,MAAAA,0BAA0B,CAAChsR,CAAD,EAAG2K,CAAH,EAAKJ,CAAL,EAAOgC,CAAP,EAAS;AAAC,cAAM51B,CAAC,GAAC,KAAKu0S,aAAL,CAAmBzqT,GAAnB,CAAuBu/B,CAAvB,KAA2B;AAACxvB,UAAAA,IAAI,EAACwvB;AAAN,SAAnC;AAAA,cAA4CyM,CAAC,GAAC91B,CAAC,CAACstG,UAAF,IAAc,EAA5D;;AAA+D,YAAGx3E,CAAC,CAAC9B,CAAD,CAAJ,EAAQ;AAAC,gBAAM3K,CAAC,GAACyM,CAAC,CAAC9B,CAAD,CAAT;AAAa4B,UAAAA,CAAC,KAAGvM,CAAC,CAACinC,QAAN,GAAe,OAAOx6B,CAAC,CAAC9B,CAAD,CAAvB,GAA2B3K,CAAC,CAACgnC,QAAF,GAAWz6B,CAAtC;AAAwC,SAA9D,MAAmEE,CAAC,CAAC9B,CAAD,CAAD,GAAK;AAACs8B,UAAAA,QAAQ,EAAC18B,CAAV;AAAYy8B,UAAAA,QAAQ,EAACz6B;AAArB,SAAL;;AAA6B,cAAIpK,MAAM,CAACqgF,OAAP,CAAe/1E,CAAf,EAAkB9/B,MAAtB,IAA8B,OAAOgK,CAAC,CAACstG,UAAT,EAAoB,KAAK,CAAL,KAASttG,CAAC,CAAC8E,KAAX,IAAkB,KAAKyvS,aAAL,CAAmBt2Q,MAAnB,CAA0B5U,CAA1B,CAApE,KAAmGrpB,CAAC,CAACstG,UAAF,GAAax3E,CAAb,EAAe,KAAKy+Q,aAAL,CAAmBpmR,GAAnB,CAAuB9E,CAAvB,EAAyBrpB,CAAzB,CAAlH;AAA+I;;AAAA6nS,MAAAA,YAAY,CAACx+Q,CAAD,EAAG;AAAC,YAAG,KAAKyrR,oBAAL,CAA0BzrR,CAAC,CAACmhD,MAA5B,CAAH,EAAuC;AAAO,aAAKyqO,WAAL,CAAiB5rR,CAAC,CAACmhD,MAAnB,EAA0BnhD,CAAC,CAACi/P,WAA5B,EAAwCj/P,CAAC,CAAC4tP,UAA1C,GAAsD,KAAK89B,WAAL,CAAiB1rR,CAAC,CAACmhD,MAAnB,EAA0BnhD,CAAC,CAACi/P,WAA5B,EAAwCj/P,CAAC,CAAC4tP,UAA1C,CAAtD,EAA4G,KAAK09B,eAAL,CAAqB12R,GAArB,CAAyBoL,CAAzB,CAA5G;;AAAwI,cAAM2K,CAAC,GAACsnQ,EAAE,CAACnb,SAAH,CAAa92P,CAAb,CAAR;;AAAwB,aAAI,MAAMA,CAAV,IAAe,KAAKurR,iBAAL,CAAuBM,2BAAvB,CAAmDlhR,CAAnD,CAAf,EAAqE;AAAC,gBAAMA,CAAC,GAAC3K,CAAC,CAAC8sQ,OAAF,EAAR;AAAoB,eAAKgf,kBAAL,CAAwB9rR,CAAC,CAACxvB,IAA1B,EAA+Bm6B,CAA/B,EAAiCA,CAAjC;AAAoC;;AAAA,aAAKygR,cAAL,GAAoB,IAApB;AAAyB;;AAAA0B,MAAAA,eAAe,CAAC9sR,CAAD,EAAG;AAAC,YAAGA,CAAC,CAACwjF,UAAF,EAAH,EAAkB;AAAC,eAAKuoM,sBAAL,CAA4B/rR,CAAC,CAACsiF,QAA9B,EAAuC,CAAC,CAAxC,GAA2C,KAAKopM,WAAL,CAAiB1rR,CAAjB,EAAmB,CAAnB,EAAqBA,CAAC,CAACqvQ,SAAvB,CAA3C;;AAA6E,eAAI,MAAM1kQ,CAAV,IAAe3K,CAAC,CAACkuP,gBAAF,EAAf,EAAoC,KAAK89B,0BAAL,CAAgChsR,CAAC,CAACsiF,QAAlC,EAA2C33E,CAA3C,EAA6C,IAA7C,EAAkD3K,CAAC,CAAC6hP,YAAF,CAAel3O,CAAf,CAAlD;;AAAqE,eAAI,MAAMA,CAAV,IAAe,KAAK4gR,iBAApB,EAAsC,IAAG5gR,CAAC,CAAC45E,QAAF,GAAa/gF,IAAb,IAAmBxD,CAAtB,EAAwB;AAAC,kBAAMA,CAAC,GAAC2K,CAAC,CAACmiQ,OAAF,EAAR;AAAoB,iBAAKgf,kBAAL,CAAwBnhR,CAAC,CAACn6B,IAA1B,EAA+B,EAAC,GAAGwvB,CAAJ;AAAM+mF,cAAAA,KAAK,EAAC;AAAZ,aAA/B,EAAiD/mF,CAAjD;AAAoD;AAAC;AAAC;;AAAA0rR,MAAAA,WAAW,CAAC1rR,CAAD,EAAG2K,CAAH,EAAKJ,CAAL,EAAO;AAAC,YAAGvK,CAAC,CAACwD,IAAF,CAAOqnF,EAAP,CAAU,aAAV,KAA0B,CAAC7qF,CAAC,CAACwD,IAAF,CAAO2gF,SAArC,EAA+C;AAAO,cAAM53E,CAAC,GAAC;AAACt1B,UAAAA,IAAI,EAAC,QAAN;AAAeomG,UAAAA,MAAM,EAAC1yE,CAAtB;AAAwB+4G,UAAAA,OAAO,EAACn5G,CAAhC;AAAkCqkB,UAAAA,KAAK,EAAC,KAAKu8P,YAAL;AAAxC,SAAR;;AAAqE,aAAK4B,WAAL,CAAiB/sR,CAAjB,EAAmBuM,CAAnB;AAAsB;;AAAAq/Q,MAAAA,WAAW,CAAC5rR,CAAD,EAAG2K,CAAH,EAAKJ,CAAL,EAAO;AAAC,YAAGvK,CAAC,CAACwD,IAAF,CAAOqnF,EAAP,CAAU,aAAV,KAA0B,CAAC7qF,CAAC,CAACwD,IAAF,CAAO2gF,SAArC,EAA+C;AAAO,cAAM53E,CAAC,GAAC;AAACt1B,UAAAA,IAAI,EAAC,QAAN;AAAeomG,UAAAA,MAAM,EAAC1yE,CAAtB;AAAwB+4G,UAAAA,OAAO,EAACn5G,CAAhC;AAAkCqkB,UAAAA,KAAK,EAAC,KAAKu8P,YAAL;AAAxC,SAAR;AAAqE,aAAK4B,WAAL,CAAiB/sR,CAAjB,EAAmBuM,CAAnB,GAAsB,KAAKygR,uBAAL,CAA6BhtR,CAA7B,EAA+B2K,CAA/B,EAAiCJ,CAAjC,CAAtB;AAA0D;;AAAAohR,MAAAA,cAAc,CAAC3rR,CAAD,EAAG;AAAC,YAAGA,CAAC,CAACwD,IAAF,CAAOqnF,EAAP,CAAU,aAAV,KAA0B,CAAC7qF,CAAC,CAACwD,IAAF,CAAO2gF,SAArC,EAA+C;AAAO,cAAMx5E,CAAC,GAAC;AAAC1zB,UAAAA,IAAI,EAAC,WAAN;AAAkBomG,UAAAA,MAAM,EAACr9E,CAAC,CAACi/P,WAA3B;AAAuCv7I,UAAAA,OAAO,EAAC1jH,CAAC,CAAC4tP,UAAjD;AAA4Dh/N,UAAAA,KAAK,EAAC,KAAKu8P,YAAL;AAAlE,SAAR;;AAA+F,aAAK4B,WAAL,CAAiB/sR,CAAC,CAACmhD,MAAnB,EAA0Bx2C,CAA1B;AAA6B;;AAAAoiR,MAAAA,WAAW,CAAC/sR,CAAD,EAAG2K,CAAH,EAAK;AAAC,aAAKsiR,aAAL,CAAmBjtR,CAAnB;;AAAsB,cAAMuK,CAAC,GAAC,KAAK2iR,qBAAL,CAA2BltR,CAA3B,CAAR;;AAAsC,aAAKmtR,aAAL,CAAmBxiR,CAAnB,EAAqBJ,CAArB,GAAwBA,CAAC,CAACtE,IAAF,CAAO0E,CAAP,CAAxB;;AAAkC,aAAI,IAAI3K,CAAC,GAAC,CAAV,EAAYA,CAAC,GAACuK,CAAC,CAAC59B,MAAhB,EAAuBqzB,CAAC,EAAxB,EAA2BuK,CAAC,CAACvK,CAAD,CAAD,CAAK0jH,OAAL,GAAa,CAAb,KAAiBn5G,CAAC,CAAC44F,MAAF,CAASnjG,CAAT,EAAW,CAAX,GAAcA,CAAC,EAAhC;AAAoC;;AAAAktR,MAAAA,qBAAqB,CAACltR,CAAD,EAAG;AAAC,YAAI2K,CAAJ;AAAM,eAAO,KAAKogR,iBAAL,CAAuBj8P,GAAvB,CAA2B9uB,CAA3B,IAA8B2K,CAAC,GAAC,KAAKogR,iBAAL,CAAuBtqT,GAAvB,CAA2Bu/B,CAA3B,CAAhC,IAA+D2K,CAAC,GAAC,EAAF,EAAK,KAAKogR,iBAAL,CAAuBjmR,GAAvB,CAA2B9E,CAA3B,EAA6B2K,CAA7B,CAApE,GAAqGA,CAA5G;AAA8G;;AAAAsiR,MAAAA,aAAa,CAACjtR,CAAD,EAAG;AAAC,aAAKgrR,iBAAL,CAAuBl8P,GAAvB,CAA2B9uB,CAA3B,KAA+B,KAAKgrR,iBAAL,CAAuBlmR,GAAvB,CAA2B9E,CAA3B,EAA6BssR,EAAE,CAACtsR,CAAC,CAACgkF,WAAF,EAAD,CAA/B,CAA/B;AAAiF;;AAAAmpM,MAAAA,aAAa,CAACntR,CAAD,EAAG2K,CAAH,EAAK;AAAC3K,QAAAA,CAAC,CAACotR,aAAF,GAAgBptR,CAAC,CAAC0jH,OAAlB;;AAA0B,aAAI,MAAMn5G,CAAV,IAAeI,CAAf,EAAiB;AAAC,gBAAM4B,CAAC,GAACvM,CAAC,CAACq9E,MAAF,GAASr9E,CAAC,CAAC0jH,OAAnB;AAAA,gBAA2B/sI,CAAC,GAAC4zB,CAAC,CAAC8yE,MAAF,GAAS9yE,CAAC,CAACm5G,OAAxC;AAAgD,cAAG,YAAU1jH,CAAC,CAAC/oB,IAAZ,KAAmB,YAAUszB,CAAC,CAACtzB,IAAZ,KAAmB+oB,CAAC,CAACq9E,MAAF,IAAU9yE,CAAC,CAAC8yE,MAAZ,GAAmB9yE,CAAC,CAAC8yE,MAAF,IAAUr9E,CAAC,CAAC0jH,OAA/B,GAAuC1jH,CAAC,CAACq9E,MAAF,GAAS1mG,CAAT,KAAa4zB,CAAC,CAACm5G,OAAF,IAAW1jH,CAAC,CAACotR,aAAb,EAA2BptR,CAAC,CAACotR,aAAF,GAAgB,CAAxD,CAA1D,GAAsH,YAAU7iR,CAAC,CAACtzB,IAAZ,IAAkB+oB,CAAC,CAACq9E,MAAF,GAAS9yE,CAAC,CAAC8yE,MAA7B,KAAsC9yE,CAAC,CAAC8yE,MAAF,IAAUr9E,CAAC,CAAC0jH,OAAlD,CAAtH,EAAiL,eAAan5G,CAAC,CAACtzB,IAAnN,CAAH,EAA4N,IAAG+oB,CAAC,CAACq9E,MAAF,IAAU9yE,CAAC,CAAC8yE,MAAf,EAAsB9yE,CAAC,CAAC8yE,MAAF,IAAUr9E,CAAC,CAAC0jH,OAAZ,CAAtB,KAA+C,IAAG1jH,CAAC,CAACq9E,MAAF,GAAS1mG,CAAZ,EAAc;AAAC,kBAAMA,CAAC,GAAC4zB,CAAC,CAACm5G,OAAV;AAAkBn5G,YAAAA,CAAC,CAACm5G,OAAF,GAAU1jH,CAAC,CAACq9E,MAAF,GAAS9yE,CAAC,CAAC8yE,MAArB,EAA4B1yE,CAAC,CAACm+E,OAAF,CAAU;AAAC7xG,cAAAA,IAAI,EAAC,WAAN;AAAkBomG,cAAAA,MAAM,EAAC9wE,CAAzB;AAA2Bm3G,cAAAA,OAAO,EAAC/sI,CAAC,GAAC4zB,CAAC,CAACm5G,OAAvC;AAA+C90F,cAAAA,KAAK,EAAC,KAAKu8P,YAAL;AAArD,aAAV,CAA5B;AAAiH;;AAAA,cAAG,YAAUnrR,CAAC,CAAC/oB,IAAf,EAAoB;AAAC,gBAAG,YAAUszB,CAAC,CAACtzB,IAAf,EAAoB,IAAGs1B,CAAC,IAAEhC,CAAC,CAAC8yE,MAAR,EAAe9yE,CAAC,CAAC8yE,MAAF,IAAUr9E,CAAC,CAAC0jH,OAAZ,CAAf,KAAwC,IAAGn3G,CAAC,IAAE51B,CAAN;AAAQ,kBAAGqpB,CAAC,CAACq9E,MAAF,GAAS9yE,CAAC,CAAC8yE,MAAd,EAAqB;AAAC,sBAAM1yE,CAAC,GAAC4B,CAAC,GAAChC,CAAC,CAAC8yE,MAAZ;AAAmB9yE,gBAAAA,CAAC,CAAC8yE,MAAF,GAASr9E,CAAC,CAACq9E,MAAX,EAAkB9yE,CAAC,CAACm5G,OAAF,IAAW/4G,CAA7B,EAA+B3K,CAAC,CAACotR,aAAF,IAAiBziR,CAAhD;AAAkD,eAA3F,MAAgGJ,CAAC,CAACm5G,OAAF,IAAW1jH,CAAC,CAACotR,aAAb,EAA2BptR,CAAC,CAACotR,aAAF,GAAgB,CAA3C;AAAxG,mBAA0J,IAAGptR,CAAC,CAACq9E,MAAF,IAAU9yE,CAAC,CAAC8yE,MAAf,EAAsBr9E,CAAC,CAACotR,aAAF,IAAiB7iR,CAAC,CAACm5G,OAAnB,EAA2Bn5G,CAAC,CAACm5G,OAAF,GAAU,CAArC,CAAtB,KAAkE,IAAG1jH,CAAC,CAACq9E,MAAF,GAAS1mG,CAAZ,EAAc;AAAC,oBAAMg0B,CAAC,GAACh0B,CAAC,GAACqpB,CAAC,CAACq9E,MAAZ;AAAmB9yE,cAAAA,CAAC,CAACm5G,OAAF,IAAW/4G,CAAX,EAAa3K,CAAC,CAACotR,aAAF,IAAiBziR,CAA9B;AAAgC;AAAA,gBAAG,YAAUJ,CAAC,CAACtzB,IAAZ,KAAmBs1B,CAAC,IAAEhC,CAAC,CAAC8yE,MAAL,GAAY9yE,CAAC,CAAC8yE,MAAF,IAAUr9E,CAAC,CAAC0jH,OAAxB,GAAgC1jH,CAAC,CAACq9E,MAAF,GAAS9yE,CAAC,CAAC8yE,MAAX,KAAoBr9E,CAAC,CAACotR,aAAF,IAAiB7iR,CAAC,CAACm5G,OAAnB,EAA2Bn5G,CAAC,CAACm5G,OAAF,GAAU,CAAzD,CAAnD,GAAgH,eAAan5G,CAAC,CAACtzB,IAAlI,EAAuI,IAAGs1B,CAAC,IAAEhC,CAAC,CAAC8yE,MAAR,EAAe9yE,CAAC,CAAC8yE,MAAF,IAAUr9E,CAAC,CAAC0jH,OAAZ,CAAf,KAAwC,IAAG1jH,CAAC,CAACq9E,MAAF,GAAS9yE,CAAC,CAAC8yE,MAAd,EAAqB;AAAC,oBAAM1yE,CAAC,GAAC4B,CAAC,GAAChC,CAAC,CAAC8yE,MAAZ;AAAmB9yE,cAAAA,CAAC,CAAC8yE,MAAF,GAASr9E,CAAC,CAACq9E,MAAX,EAAkB9yE,CAAC,CAACm5G,OAAF,IAAW/4G,CAA7B;AAA+B,aAAxE,MAA6E,IAAG3K,CAAC,CAACq9E,MAAF,GAAS1mG,CAAZ,EAAc,IAAG41B,CAAC,IAAE51B,CAAN,EAAQ;AAAC,oBAAM41B,CAAC,GAAChC,CAAC,CAACm5G,OAAV;AAAkBn5G,cAAAA,CAAC,CAACm5G,OAAF,GAAU1jH,CAAC,CAACq9E,MAAF,GAAS9yE,CAAC,CAAC8yE,MAArB;AAA4B,oBAAM1mG,CAAC,GAAC41B,CAAC,GAAChC,CAAC,CAACm5G,OAAJ,GAAY1jH,CAAC,CAACotR,aAAtB;AAAoCziR,cAAAA,CAAC,CAACm+E,OAAF,CAAU;AAAC7xG,gBAAAA,IAAI,EAAC,WAAN;AAAkBomG,gBAAAA,MAAM,EAACr9E,CAAC,CAACq9E,MAA3B;AAAkCqmC,gBAAAA,OAAO,EAAC/sI,CAA1C;AAA4Ci4C,gBAAAA,KAAK,EAAC,KAAKu8P,YAAL;AAAlD,eAAV;AAAkF,aAA7K,MAAkL5gR,CAAC,CAACm5G,OAAF,IAAW/sI,CAAC,GAACqpB,CAAC,CAACq9E,MAAf;AAAsB;;AAAA,cAAG,eAAar9E,CAAC,CAAC/oB,IAAlB,EAAuB;AAAC,gBAAG,YAAUszB,CAAC,CAACtzB,IAAf,EAAoB,IAAG+oB,CAAC,CAACq9E,MAAF,GAAS9yE,CAAC,CAAC8yE,MAAX,IAAmB9wE,CAAC,GAAChC,CAAC,CAAC8yE,MAA1B,EAAiC;AAAC,kBAAG9wE,CAAC,GAAC51B,CAAL,EAAO;AAAC,sBAAMqpB,CAAC,GAAC;AAAC/oB,kBAAAA,IAAI,EAAC,WAAN;AAAkBomG,kBAAAA,MAAM,EAAC1mG,CAAzB;AAA2B+sI,kBAAAA,OAAO,EAACn3G,CAAC,GAAC51B,CAArC;AAAuCi4C,kBAAAA,KAAK,EAAC,KAAKu8P,YAAL;AAA7C,iBAAR;AAA0E,qBAAKgC,aAAL,CAAmBntR,CAAnB,EAAqB2K,CAArB,GAAwBA,CAAC,CAAC1E,IAAF,CAAOjG,CAAP,CAAxB;AAAkC;;AAAAA,cAAAA,CAAC,CAACotR,aAAF,GAAgB7iR,CAAC,CAAC8yE,MAAF,GAASr9E,CAAC,CAACq9E,MAA3B,EAAkCr9E,CAAC,CAAC0jH,OAAF,GAAU1jH,CAAC,CAACotR,aAA9C;AAA4D,aAAlN,MAAuNptR,CAAC,CAACq9E,MAAF,IAAU9yE,CAAC,CAAC8yE,MAAZ,IAAoBr9E,CAAC,CAACq9E,MAAF,GAAS1mG,CAA7B,KAAiC41B,CAAC,GAAC51B,CAAF,IAAKqpB,CAAC,CAACotR,aAAF,GAAgB7gR,CAAC,GAAC51B,CAAlB,EAAoBqpB,CAAC,CAACq9E,MAAF,GAAS1mG,CAAlC,IAAqCqpB,CAAC,CAACotR,aAAF,GAAgB,CAAtF;;AAAyF,gBAAG,YAAU7iR,CAAC,CAACtzB,IAAZ,IAAkB+oB,CAAC,CAACq9E,MAAF,GAAS9yE,CAAC,CAAC8yE,MAA7B,IAAqC9wE,CAAC,GAAChC,CAAC,CAAC8yE,MAA5C,EAAmD;AAAC,oBAAM1mG,CAAC,GAAC;AAACM,gBAAAA,IAAI,EAAC,WAAN;AAAkBomG,gBAAAA,MAAM,EAAC9yE,CAAC,CAAC8yE,MAA3B;AAAkCqmC,gBAAAA,OAAO,EAACn3G,CAAC,GAAChC,CAAC,CAAC8yE,MAA9C;AAAqDzuD,gBAAAA,KAAK,EAAC,KAAKu8P,YAAL;AAA3D,eAAR;AAAwF,mBAAKgC,aAAL,CAAmBx2S,CAAnB,EAAqBg0B,CAArB,GAAwBA,CAAC,CAAC1E,IAAF,CAAOtvB,CAAP,CAAxB,EAAkCqpB,CAAC,CAACotR,aAAF,GAAgB7iR,CAAC,CAAC8yE,MAAF,GAASr9E,CAAC,CAACq9E,MAA7D,EAAoEr9E,CAAC,CAAC0jH,OAAF,GAAU1jH,CAAC,CAACotR,aAAhF;AAA8F;;AAAA,2BAAa7iR,CAAC,CAACtzB,IAAf,KAAsB+oB,CAAC,CAACq9E,MAAF,IAAU9yE,CAAC,CAAC8yE,MAAZ,IAAoB9wE,CAAC,IAAE51B,CAAvB,IAA0BqpB,CAAC,CAACotR,aAAF,GAAgB,CAAhB,EAAkBptR,CAAC,CAAC0jH,OAAF,GAAU,CAA5B,EAA8B1jH,CAAC,CAACq9E,MAAF,GAAS,CAAjE,IAAoEr9E,CAAC,CAACq9E,MAAF,IAAU9yE,CAAC,CAAC8yE,MAAZ,IAAoB9wE,CAAC,IAAE51B,CAAvB,KAA2B4zB,CAAC,CAACm5G,OAAF,GAAU,CAArC,CAA1F;AAAmI;AAAC;;AAAA1jH,QAAAA,CAAC,CAAC0jH,OAAF,GAAU1jH,CAAC,CAACotR,aAAZ,EAA0B,OAAOptR,CAAC,CAACotR,aAAnC;AAAiD;;AAAAZ,MAAAA,cAAc,CAACxsR,CAAD,EAAG2K,CAAH,EAAKJ,CAAL,EAAO;AAAC,eAAM;AAACtzB,UAAAA,IAAI,EAAC,QAAN;AAAenH,UAAAA,QAAQ,EAACqgS,EAAE,CAACzb,SAAH,CAAa10P,CAAb,EAAe2K,CAAf,CAAxB;AAA0Cn6B,UAAAA,IAAI,EAAC+5B,CAAC,CAAC/5B,IAAjD;AAAsDyzG,UAAAA,UAAU,EAAC,IAAIh1E,GAAJ,CAAQ1E,CAAC,CAAC05E,UAAV,CAAjE;AAAuFt3G,UAAAA,MAAM,EAAC,CAA9F;AAAgGggT,UAAAA,WAAW,EAAC,KAAKxB,YAAL;AAA5G,SAAN;AAAuI;;AAAAsB,MAAAA,cAAc,CAACzsR,CAAD,EAAG2K,CAAH,EAAKJ,CAAL,EAAO;AAAC,eAAM;AAACtzB,UAAAA,IAAI,EAAC,QAAN;AAAenH,UAAAA,QAAQ,EAACqgS,EAAE,CAACzb,SAAH,CAAa10P,CAAb,EAAe2K,CAAf,CAAxB;AAA0Cn6B,UAAAA,IAAI,EAAC+5B,CAAC,CAAC/5B,IAAjD;AAAsDyzG,UAAAA,UAAU,EAAC,IAAIh1E,GAAJ,CAAQ1E,CAAC,CAAC05E,UAAV,CAAjE;AAAuFt3G,UAAAA,MAAM,EAAC,CAA9F;AAAgGggT,UAAAA,WAAW,EAAC,KAAKxB,YAAL;AAA5G,SAAN;AAAuI;;AAAAuB,MAAAA,kBAAkB,CAAC1sR,CAAD,EAAG2K,CAAH,EAAKJ,CAAL,EAAO;AAAC,cAAMgC,CAAC,GAAC,EAAR;AAAWhC,QAAAA,CAAC,GAAC,IAAI0E,GAAJ,CAAQ1E,CAAR,CAAF;;AAAa,aAAI,MAAK,CAAC5zB,CAAD,EAAG81B,CAAH,CAAT,IAAiB9B,CAAjB,EAAmB;AAAC,gBAAMA,CAAC,GAACJ,CAAC,CAACukB,GAAF,CAAMn4C,CAAN,IAAS4zB,CAAC,CAAC9pC,GAAF,CAAMkW,CAAN,CAAT,GAAkB,IAA1B;AAA+Bg0B,UAAAA,CAAC,KAAG8B,CAAJ,IAAOF,CAAC,CAACtG,IAAF,CAAO;AAAChvB,YAAAA,IAAI,EAAC,WAAN;AAAkBnH,YAAAA,QAAQ,EAACkwB,CAAC,CAACymF,KAA7B;AAAmCM,YAAAA,KAAK,EAAC/mF,CAAC,CAACJ,KAAF,EAAzC;AAAmDjzB,YAAAA,MAAM,EAAC,CAA1D;AAA4DopS,YAAAA,YAAY,EAACp/R,CAAzE;AAA2Eq/R,YAAAA,iBAAiB,EAACvpQ,CAA7F;AAA+FwpQ,YAAAA,iBAAiB,EAACtrQ,CAAjH;AAAmHgiR,YAAAA,WAAW,EAAC,KAAKxB,YAAL;AAA/H,WAAP,CAAP,EAAmK5gR,CAAC,CAACqK,MAAF,CAASj+B,CAAT,CAAnK;AAA+K;;AAAA,aAAI,MAAK,CAACg0B,CAAD,EAAGh0B,CAAH,CAAT,IAAiB4zB,CAAjB,EAAmBgC,CAAC,CAACtG,IAAF,CAAO;AAAChvB,UAAAA,IAAI,EAAC,WAAN;AAAkBnH,UAAAA,QAAQ,EAACkwB,CAAC,CAACymF,KAA7B;AAAmCM,UAAAA,KAAK,EAAC/mF,CAAC,CAACJ,KAAF,EAAzC;AAAmDjzB,UAAAA,MAAM,EAAC,CAA1D;AAA4DopS,UAAAA,YAAY,EAACprQ,CAAzE;AAA2EqrQ,UAAAA,iBAAiB,EAAC,IAA7F;AAAkGC,UAAAA,iBAAiB,EAACt/R,CAApH;AAAsHg2S,UAAAA,WAAW,EAAC,KAAKxB,YAAL;AAAlI,SAAP;;AAA+J,eAAO5+Q,CAAP;AAAS;;AAAAk/Q,MAAAA,oBAAoB,CAACzrR,CAAD,EAAG;AAAC,cAAM2K,CAAC,GAAC3K,CAAC,CAACmhD,MAAV;AAAiB,YAAG,CAACx2C,CAAJ,EAAM,OAAM,CAAC,CAAP;;AAAS,cAAMJ,CAAC,GAAC,KAAKwgR,iBAAL,CAAuBtqT,GAAvB,CAA2BkqC,CAA3B,CAAR;AAAA,cAAsC4B,CAAC,GAACvM,CAAC,CAACi/P,WAA1C;;AAAsD,YAAG10P,CAAH,EAAK,KAAI,MAAMvK,CAAV,IAAeuK,CAAf,EAAiB,IAAG,YAAUvK,CAAC,CAAC/oB,IAAZ,IAAkBs1B,CAAC,IAAEvM,CAAC,CAACq9E,MAAvB,IAA+B9wE,CAAC,GAACvM,CAAC,CAACq9E,MAAF,GAASr9E,CAAC,CAAC0jH,OAA/C,EAAuD,OAAM,CAAC,CAAP;AAAS,eAAO,KAAK+nK,oBAAL,CAA0B9gR,CAA1B,CAAP;AAAoC;;AAAAqiR,MAAAA,uBAAuB,CAAChtR,CAAD,EAAG2K,CAAH,EAAKJ,CAAL,EAAO;AAAC,cAAMgC,CAAC,GAAC,IAAI0lQ,EAAJ,CAAO9B,EAAE,CAACzb,SAAH,CAAa10P,CAAb,EAAe2K,CAAf,CAAP,EAAyBwlQ,EAAE,CAACzb,SAAH,CAAa10P,CAAb,EAAe2K,CAAC,GAACJ,CAAjB,CAAzB,CAAR;;AAAsD,aAAI,MAAMvK,CAAV,IAAeuM,CAAC,CAACg7F,QAAF,CAAW;AAACqtJ,UAAAA,OAAO,EAAC,CAAC;AAAV,SAAX,CAAf,EAAwC50P,CAAC,CAAC6qF,EAAF,CAAK,SAAL,MAAkB,KAAKmgM,iBAAL,CAAuBp2Q,MAAvB,CAA8B5U,CAA9B,GAAiC,KAAK+qR,iBAAL,CAAuBn2Q,MAAvB,CAA8B5U,CAA9B,CAAjC,EAAkE,KAAKgtR,uBAAL,CAA6BhtR,CAA7B,EAA+B,CAA/B,EAAiCA,CAAC,CAACqvQ,SAAnC,CAApF;AAAmI;;AAA/pX;;AAAgqX,aAASid,EAAT,CAAYtsR,CAAZ,EAAc;AAAC,YAAM2K,CAAC,GAAC,EAAR;;AAAW,WAAI,MAAMJ,CAAV,IAAevK,CAAf,EAAiB,IAAGuK,CAAC,CAACsgF,EAAF,CAAK,OAAL,CAAH,EAAiB,KAAI,IAAI7qF,CAAC,GAAC,CAAV,EAAYA,CAAC,GAACuK,CAAC,CAAC5iC,IAAF,CAAOgF,MAArB,EAA4BqzB,CAAC,EAA7B,EAAgC2K,CAAC,CAAC1E,IAAF,CAAO;AAACz1B,QAAAA,IAAI,EAAC,OAAN;AAAcyzG,QAAAA,UAAU,EAAC,IAAIh1E,GAAJ,CAAQ1E,CAAC,CAAC25E,aAAF,EAAR;AAAzB,OAAP,EAAjD,KAAmHv5E,CAAC,CAAC1E,IAAF,CAAO;AAACz1B,QAAAA,IAAI,EAAC+5B,CAAC,CAAC/5B,IAAR;AAAayzG,QAAAA,UAAU,EAAC,IAAIh1E,GAAJ,CAAQ1E,CAAC,CAAC25E,aAAF,EAAR;AAAxB,OAAP;;AAA4D,aAAOv5E,CAAP;AAAS;;AAAA,aAAS4hR,EAAT,CAAYvsR,CAAZ,EAAc2K,CAAd,EAAgB;AAAC,YAAMJ,CAAC,GAAC,EAAR;AAAW,UAAIgC,CAAC,GAAC,CAAN;AAAA,UAAQ51B,CAAC,GAAC,CAAV;;AAAY,WAAI,MAAMqpB,CAAV,IAAe2K,CAAf,EAAiB;AAAC,YAAG3K,CAAC,CAACq9E,MAAF,GAAS9wE,CAAZ,EAAc;AAAC,eAAI,IAAI5B,CAAC,GAAC,CAAV,EAAYA,CAAC,GAAC3K,CAAC,CAACq9E,MAAF,GAAS9wE,CAAvB,EAAyB5B,CAAC,EAA1B,EAA6BJ,CAAC,CAACtE,IAAF,CAAO,GAAP;;AAAYtvB,UAAAA,CAAC,IAAEqpB,CAAC,CAACq9E,MAAF,GAAS9wE,CAAZ;AAAc;;AAAA,YAAG,YAAUvM,CAAC,CAAC/oB,IAAf,EAAoB;AAAC,eAAI,IAAI0zB,CAAC,GAAC,CAAV,EAAYA,CAAC,GAAC3K,CAAC,CAAC0jH,OAAhB,EAAwB/4G,CAAC,EAAzB,EAA4BJ,CAAC,CAACtE,IAAF,CAAO,GAAP;;AAAYsG,UAAAA,CAAC,GAACvM,CAAC,CAACq9E,MAAF,GAASr9E,CAAC,CAAC0jH,OAAb;AAAqB,SAAlF,MAAuF,IAAG,YAAU1jH,CAAC,CAAC/oB,IAAf,EAAoB;AAAC,eAAI,IAAI0zB,CAAC,GAAC,CAAV,EAAYA,CAAC,GAAC3K,CAAC,CAAC0jH,OAAhB,EAAwB/4G,CAAC,EAAzB,EAA4BJ,CAAC,CAACtE,IAAF,CAAO,GAAP;;AAAYsG,UAAAA,CAAC,GAACvM,CAAC,CAACq9E,MAAJ,EAAW1mG,CAAC,IAAEqpB,CAAC,CAAC0jH,OAAhB;AAAwB,SAArF,MAA0Fn5G,CAAC,CAACtE,IAAF,CAAO,GAAG,IAAI24P,MAAJ,CAAW5+P,CAAC,CAAC0jH,OAAb,EAAsB3kI,KAAtB,CAA4B,EAA5B,CAAV,GAA2CwtB,CAAC,GAACvM,CAAC,CAACq9E,MAAF,GAASr9E,CAAC,CAAC0jH,OAAxD,EAAgE/sI,CAAC,IAAEqpB,CAAC,CAAC0jH,OAArE;AAA6E;;AAAA,UAAG/sI,CAAC,GAACqpB,CAAL,EAAO,KAAI,IAAI2K,CAAC,GAAC,CAAV,EAAYA,CAAC,GAAC3K,CAAC,GAACrpB,CAAF,GAAI41B,CAAlB,EAAoB5B,CAAC,EAArB,EAAwBJ,CAAC,CAACtE,IAAF,CAAO,GAAP;AAAY,aAAOsE,CAAP;AAAS;;AAAA,aAASqiR,EAAT,CAAY5sR,CAAZ,EAAc;AAAC,YAAM2K,CAAC,GAAC,cAAa3K,CAAb,IAAgB,gBAAcA,CAAC,CAAClwB,QAAF,CAAW0zB,IAAX,CAAgB8+E,QAAtD;AAAA,YAA+D/3E,CAAC,GAAC,WAAUvK,CAAV,IAAa,gBAAcA,CAAC,CAAC+mF,KAAF,CAAQvjF,IAAR,CAAa8+E,QAAzG;AAAkH,aAAM,CAAC33E,CAAD,IAAI,CAACJ,CAAX;AAAa;;AAAA,UAAM8iR,EAAN,CAAQ;AAAC5tT,MAAAA,WAAW,GAAE;AAAC,aAAK6tT,WAAL,GAAiB,EAAjB,EAAoB,KAAKC,UAAL,GAAgB,IAAIt+Q,GAAJ,EAApC,EAA4C,KAAKu+Q,iBAAL,GAAuB,IAAI37M,GAAJ,EAAnE,EAA2E,KAAK47M,4BAAL,GAAkC,IAAIx+Q,GAAJ,EAA7G,EAAqH,KAAKy+Q,QAAL,GAAc,CAAnI,EAAqI,KAAKC,KAAL,GAAW,IAAI1+Q,GAAJ,EAAhJ;AAAwJ;;AAAW,UAAPruC,OAAO,GAAE;AAAC,eAAO,KAAK8sT,QAAZ;AAAqB;;AAAW,UAAP9sT,OAAO,CAACo/B,CAAD,EAAG;AAAC,aAAKstR,WAAL,CAAiB3gT,MAAjB,IAAyBqzB,CAAC,GAAC,KAAK0tR,QAAL,GAAc,CAAzC,IAA4C,KAAKC,KAAL,CAAW7oR,GAAX,CAAe,KAAK4oR,QAApB,EAA6B1tR,CAA7B,CAA5C,EAA4E,KAAK0tR,QAAL,GAAc1tR,CAA1F;AAA4F;;AAAiB,UAAb4tR,aAAa,GAAE;AAAC,eAAO,KAAKN,WAAL,CAAiB,KAAKA,WAAL,CAAiB3gT,MAAjB,GAAwB,CAAzC,CAAP;AAAmD;;AAAAk+S,MAAAA,YAAY,CAAC7qR,CAAD,EAAG;AAAC,YAAGA,CAAC,CAACqlR,WAAF,KAAgB,KAAKzkT,OAAxB,EAAgC,MAAM,IAAIuhF,CAAJ,CAAM,uDAAN,EAA8D,IAA9D,EAAmE;AAAC0rO,UAAAA,SAAS,EAAC7tR,CAAX;AAAa8tR,UAAAA,cAAc,EAAC,KAAKltT;AAAjC,SAAnE,CAAN;AAAoH,aAAK0sT,WAAL,CAAiBrnR,IAAjB,CAAsBjG,CAAtB,GAAyB,KAAK0tR,QAAL,EAAzB,EAAyC,KAAKD,4BAAL,CAAkC3oR,GAAlC,CAAsC9E,CAAC,CAACqlR,WAAxC,EAAoD,KAAKiI,WAAL,CAAiB3gT,MAAjB,GAAwB,CAA5E,CAAzC;AAAwH;;AAAAohT,MAAAA,aAAa,CAAC/tR,CAAD,EAAG2K,CAAC,GAAC,KAAK/pC,OAAV,EAAkB;AAAC,YAAG,CAAC,KAAK0sT,WAAL,CAAiB3gT,MAArB,EAA4B,OAAM,EAAN;AAAS,cAAM49B,CAAC,GAAC,KAAK+iR,WAAL,CAAiB,CAAjB,CAAR;AAA4B,aAAK,CAAL,KAASttR,CAAT,KAAaA,CAAC,GAACuK,CAAC,CAAC86Q,WAAjB;AAA8B,YAAI94Q,CAAC,GAAC5B,CAAC,GAAC,CAAR;;AAAU,aAAI,MAAK,CAACA,CAAD,EAAGJ,CAAH,CAAT,IAAiB,KAAKojR,KAAtB,EAA4B3tR,CAAC,GAAC2K,CAAF,IAAK3K,CAAC,GAACuK,CAAP,KAAWvK,CAAC,GAACuK,CAAb,GAAgBgC,CAAC,GAAC5B,CAAF,IAAK4B,CAAC,GAAChC,CAAP,KAAWgC,CAAC,GAAC5B,CAAC,GAAC,CAAf,CAAhB;;AAAkC,YAAG4B,CAAC,GAAChC,CAAC,CAAC86Q,WAAJ,IAAiBrlR,CAAC,GAAC,KAAK4tR,aAAL,CAAmBvI,WAAzC,EAAqD,OAAM,EAAN;;AAAS,YAAI1uS,CAAC,GAAC,KAAK82S,4BAAL,CAAkChtT,GAAlC,CAAsCu/B,CAAtC,CAAN;;AAA+C,aAAK,CAAL,KAASrpB,CAAT,KAAaA,CAAC,GAAC,CAAf;;AAAkB,YAAI81B,CAAC,GAAC,KAAKghR,4BAAL,CAAkChtT,GAAlC,CAAsC8rC,CAAtC,CAAN;;AAA+C,eAAO,KAAK,CAAL,KAASE,CAAT,KAAaA,CAAC,GAAC,KAAK6gR,WAAL,CAAiB3gT,MAAjB,GAAwB,CAAvC,GAA0C,KAAK2gT,WAAL,CAAiB50M,KAAjB,CAAuB/hG,CAAvB,EAAyB81B,CAAC,GAAC,CAA3B,CAAjD;AAA+E;;AAAAuhR,MAAAA,YAAY,CAAChuR,CAAD,EAAG;AAAC,cAAM2K,CAAC,GAAC,KAAK8iR,4BAAL,CAAkChtT,GAAlC,CAAsCu/B,CAAtC,CAAR;;AAAiD,YAAG,KAAK,CAAL,KAAS2K,CAAZ,EAAc,OAAO,KAAK2iR,WAAL,CAAiB3iR,CAAjB,CAAP;AAA2B;;AAAAsjR,MAAAA,oBAAoB,CAACjuR,CAAD,EAAG2K,CAAH,EAAK;AAAC,aAAK4iR,UAAL,CAAgBzoR,GAAhB,CAAoB6F,CAApB,EAAsB3K,CAAtB,GAAyB,KAAKwtR,iBAAL,CAAuB54R,GAAvB,CAA2BoL,CAA3B,CAAzB;AAAuD;;AAAAkuR,MAAAA,kBAAkB,CAACluR,CAAD,EAAG;AAAC,eAAO,KAAKutR,UAAL,CAAgBz+P,GAAhB,CAAoB9uB,CAApB,CAAP;AAA8B;;AAAA+pR,MAAAA,iBAAiB,CAAC/pR,CAAD,EAAG;AAAC,eAAO,KAAKwtR,iBAAL,CAAuB1+P,GAAvB,CAA2B9uB,CAA3B,CAAP;AAAqC;;AAAAgqR,MAAAA,kBAAkB,CAAChqR,CAAD,EAAG;AAAC,eAAO,KAAKutR,UAAL,CAAgB9sT,GAAhB,CAAoBu/B,CAApB,CAAP;AAA8B;;AAAAjW,MAAAA,KAAK,GAAE;AAAC,aAAK2jS,QAAL,GAAc,CAAd,EAAgB,KAAKH,UAAL,GAAgB,IAAIt+Q,GAAJ,EAAhC,EAAwC,KAAKq+Q,WAAL,GAAiB,EAAzD,EAA4D,KAAKE,iBAAL,GAAuB,IAAI37M,GAAJ,EAAnF,EAA2F,KAAK87M,KAAL,GAAW,IAAI1+Q,GAAJ,EAAtG,EAA8G,KAAKw+Q,4BAAL,GAAkC,IAAIx+Q,GAAJ,EAAhJ;AAAwJ;;AAAzlD;;AAA0lD,UAAMk/Q,EAAN,SAAiBne,EAAjB,CAAmB;AAACvwS,MAAAA,WAAW,CAACugC,CAAD,EAAG2K,CAAH,EAAKJ,CAAC,GAAC,MAAP,EAAc;AAAC,cAAMI,CAAN,GAAS,KAAK28Q,WAAL,GAAiB,CAAC,CAA3B,EAA6B,KAAKnjM,SAAL,GAAe,CAAC,CAA7C,EAA+C,KAAKhgF,SAAL,GAAenE,CAA9D,EAAgE,KAAKsiF,QAAL,GAAc/3E,CAA9E;AAAgF;;AAAY,UAAR7I,QAAQ,GAAE;AAAC,eAAO,KAAKyC,SAAZ;AAAsB;;AAAAq/E,MAAAA,UAAU,GAAE;AAAC,eAAO,KAAK8jM,WAAZ;AAAwB;;AAAA9iM,MAAAA,MAAM,GAAE;AAAC,eAAO,KAAKlC,QAAZ;AAAqB;;AAAnN;;AAAoN6rM,IAAAA,EAAE,CAAClkR,SAAH,CAAa4gF,EAAb,GAAgB,UAAS7qF,CAAT,EAAW2K,CAAX,EAAa;AAAC,aAAOA,CAAC,GAACA,CAAC,KAAG,KAAKn6B,IAAT,KAAgB,kBAAgBwvB,CAAhB,IAAmB,wBAAsBA,CAAzC,IAA4C,cAAYA,CAAxD,IAA2D,oBAAkBA,CAA7F,CAAD,GAAiG,kBAAgBA,CAAhB,IAAmB,wBAAsBA,CAAzC,IAA4C,cAAYA,CAAxD,IAA2D,oBAAkBA,CAA7E,IAAgF,WAASA,CAAzF,IAA4F,iBAAeA,CAApN;AAAsN,KAApP;;AAAqP,UAAMouR,EAAE,GAAC,YAAT;;AAAsB,UAAMC,EAAN,SAAiB9oD,CAAC,EAAlB,CAAqB;AAAC9lQ,MAAAA,WAAW,CAACugC,CAAD,EAAG;AAAC,iBAAQ,KAAKzjB,KAAL,GAAWyjB,CAAnB,EAAqB,KAAK8gD,OAAL,GAAa,IAAIusO,EAAJ,EAAlC,EAAyC,KAAKvjC,SAAL,GAAe,IAAI+uB,EAAJ,CAAO,IAAP,CAAxD,EAAqE,KAAKn2L,KAAL,GAAW,IAAI05J,EAAJ,CAAO;AAACI,UAAAA,UAAU,EAAC;AAAZ,SAAP,CAAhF,EAAgH,KAAK69B,MAAL,GAAY,IAAIyQ,EAAJ,CAAO9qR,CAAC,CAAC4jF,OAAT,CAA5H,EAA8I,KAAKqmK,UAAL,GAAgB,CAAC,CAA/J,EAAiK,KAAKoP,WAAL,GAAiB,IAAIxnL,GAAJ,EAAlL,EAA0L,KAAKy8M,0CAAL,GAAgD,CAAC,CAA3O,EAA6O,KAAKjH,UAAL,CAAgB,OAAhB,EAAwB+G,EAAxB,CAA7O,EAAyQ,KAAK5oD,QAAL,CAAcxlO,CAAd,EAAgB,gBAAhB,EAAkC,CAACA,CAAD,EAAG2K,CAAH,KAAO;AAAC,gBAAMJ,CAAC,GAACI,CAAC,CAAC,CAAD,CAAT;AAAaJ,UAAAA,CAAC,CAACmuQ,mBAAF,IAAuB,KAAK2B,MAAL,CAAYmR,eAAZ,CAA4BjhR,CAA5B,CAAvB;AAAsD,SAA7G,EAA+G;AAACo7E,UAAAA,QAAQ,EAAC;AAAV,SAA/G,CAAzQ,EAA2Y,KAAK6/I,QAAL,CAAcxlO,CAAd,EAAgB,gBAAhB,EAAkC,CAACA,CAAD,EAAG2K,CAAH,KAAO;AAAC,gBAAMJ,CAAC,GAACI,CAAC,CAAC,CAAD,CAAT;AAAaJ,UAAAA,CAAC,CAACmuQ,mBAAF,IAAuB,KAAK53N,OAAL,CAAa+pO,YAAb,CAA0BtgR,CAA1B,CAAvB;AAAoD,SAA3G,EAA6G;AAACo7E,UAAAA,QAAQ,EAAC;AAAV,SAA7G,CAA3Y,EAA0gB,KAAK6/I,QAAL,CAAc,KAAKskB,SAAnB,EAA6B,QAA7B,EAAuC,MAAI;AAAC,eAAKwkC,0CAAL,GAAgD,CAAC,CAAjD;AAAmD,SAA/F,CAA1gB,EAA4mB,KAAK9oD,QAAL,CAAcxlO,CAAC,CAAC4jF,OAAhB,EAAwB,QAAxB,EAAkC,CAAC5jF,CAAD,EAAG2K,CAAH,EAAKJ,CAAL,EAAOgC,CAAP,EAAS51B,CAAT,KAAa;AAAC,gBAAM81B,CAAC,GAAC,EAAC,GAAG9B,CAAC,CAACmiQ,OAAF,EAAJ;AAAgB/lL,YAAAA,KAAK,EAACx6E;AAAtB,WAAR;AAAiC,eAAK8tQ,MAAL,CAAYyR,kBAAZ,CAA+BnhR,CAAC,CAACn6B,IAAjC,EAAsCmG,CAAtC,EAAwC81B,CAAxC,GAA2C,SAAOlC,CAAP,IAAUI,CAAC,CAAClpB,EAAF,CAAK,QAAL,EAAe,CAACue,CAAD,EAAGuK,CAAH,KAAO;AAAC,kBAAMgC,CAAC,GAAC5B,CAAC,CAACmiQ,OAAF,EAAR;AAAoB,iBAAKuN,MAAL,CAAYyR,kBAAZ,CAA+BnhR,CAAC,CAACn6B,IAAjC,EAAsC,EAAC,GAAG+7B,CAAJ;AAAMw6E,cAAAA,KAAK,EAACx8E;AAAZ,aAAtC,EAAqDgC,CAArD;AAAwD,WAAnG,CAArD;AAA2J,SAA5O,CAA5mB,EAA21B,KAAKggP,iBAAL,CAAwBvsP,CAAC,IAAE;AAAC,cAAI2K,CAAC,GAAC,CAAC,CAAP;;AAAS,eAAI,MAAMJ,CAAV,IAAe,KAAKm4E,KAApB,EAA0Bn4E,CAAC,CAACi5E,UAAF,MAAgBj5E,CAAC,CAAC8L,OAAlB,KAA4BrW,CAAC,CAACigF,MAAF,CAASjgF,CAAC,CAACu9P,aAAF,CAAgBhzP,CAAhB,CAAT,GAA6BI,CAAC,GAAC,CAAC,CAA5D;;AAA+D,eAAI,MAAMJ,CAAV,IAAe,KAAKhuB,KAAL,CAAWqnG,OAA1B,EAAkCr5E,CAAC,CAACg6E,QAAF,GAAa/gF,IAAb,CAAkBggF,UAAlB,OAAiCxjF,CAAC,CAACuuR,YAAF,CAAehkR,CAAf,GAAkBI,CAAC,GAAC,CAAC,CAAtD;;AAAyD,iBAAOA,CAAP;AAAS,SAAlO,CAA31B;AAAgkC;;AAAW,UAAP/pC,OAAO,GAAE;AAAC,eAAO,KAAKkgF,OAAL,CAAalgF,OAApB;AAA4B;;AAAW,UAAPA,OAAO,CAACo/B,CAAD,EAAG;AAAC,aAAK8gD,OAAL,CAAalgF,OAAb,GAAqBo/B,CAArB;AAAuB;;AAAa,UAATgyQ,SAAS,GAAE;AAAC,eAAO,KAAK5rL,OAAL,CAAagoM,EAAb,CAAP;AAAwB;;AAAA/G,MAAAA,UAAU,CAACrnR,CAAC,GAAC,OAAH,EAAW2K,CAAC,GAAC,MAAb,EAAoB;AAAC,YAAG,KAAK+3E,KAAL,CAAWjiH,GAAX,CAAekqC,CAAf,CAAH,EAAqB,MAAM,IAAIw3C,CAAJ,CAAM,uCAAN,EAA8C,IAA9C,EAAmD;AAAC3xE,UAAAA,IAAI,EAACm6B;AAAN,SAAnD,CAAN;AAAmE,cAAMJ,CAAC,GAAC,IAAI4jR,EAAJ,CAAO,IAAP,EAAYnuR,CAAZ,EAAc2K,CAAd,CAAR;AAAyB,eAAO,KAAK+3E,KAAL,CAAW9tF,GAAX,CAAe2V,CAAf,GAAkBA,CAAzB;AAA2B;;AAAAo0E,MAAAA,OAAO,GAAE;AAAC,aAAKmrK,SAAL,CAAenrK,OAAf,IAAyB,KAAK+mJ,aAAL,EAAzB;AAA8C;;AAAAt/I,MAAAA,OAAO,CAACpmF,CAAC,GAAC,MAAH,EAAU;AAAC,eAAO,KAAK0iF,KAAL,CAAWjiH,GAAX,CAAeu/B,CAAf,CAAP;AAAyB;;AAAAglF,MAAAA,YAAY,CAAChlF,CAAC,GAAC,CAAC,CAAJ,EAAM;AAAC,eAAO,KAAK28Q,QAAL,CAAc38Q,CAAd,EAAiBx2B,GAAjB,CAAsBw2B,CAAC,IAAEA,CAAC,CAACsiF,QAA3B,CAAP;AAA6C;;AAAAq6L,MAAAA,QAAQ,CAAC38Q,CAAC,GAAC,CAAC,CAAJ,EAAM;AAAC,eAAO,KAAK0iF,KAAL,CAAW/4G,MAAX,CAAmBghC,CAAC,IAAEA,CAAC,IAAE,KAAKqnQ,SAAR,KAAoBhyQ,CAAC,IAAE2K,CAAC,CAAC64E,UAAF,EAAvB,KAAwC74E,CAAC,CAACw5E,SAAhE,CAAP;AAAmF;;AAAAooK,MAAAA,iBAAiB,CAACvsP,CAAD,EAAG;AAAC,aAAKq5P,WAAL,CAAiBzkQ,GAAjB,CAAqBoL,CAArB;AAAwB;;AAAAwkF,MAAAA,MAAM,GAAE;AAAC,cAAMxkF,CAAC,GAAC8sP,EAAE,CAAC,IAAD,CAAV;AAAiB,eAAO9sP,CAAC,CAAC8pP,SAAF,GAAY,kCAAZ,EAA+C9pP,CAAC,CAACzjB,KAAF,GAAQ,sBAAvD,EAA8EyjB,CAArF;AAAuF;;AAAAwuR,MAAAA,kBAAkB,CAACxuR,CAAD,EAAG;AAAC,aAAKyuR,yCAAL,OAAmD,KAAKn1B,eAAL,CAAqBt5P,CAArB,GAAwB,KAAK8pP,SAAL,CAAeD,OAAf,EAAxB,EAAiD,KAAKwwB,MAAL,CAAY+R,cAAZ,KAA6B,KAAK1mM,IAAL,CAAU,aAAV,EAAwB1lF,CAAC,CAACwnG,KAA1B,CAA7B,GAA8D,KAAK9hB,IAAL,CAAU,QAAV,EAAmB1lF,CAAC,CAACwnG,KAArB,CAA/G,EAA2I,KAAKsiJ,SAAL,CAAeD,OAAf,EAA3I,EAAoK,KAAKwwB,MAAL,CAAYtwR,KAAZ,EAAvN,GAA4O,KAAKukS,0CAAL,GAAgD,CAAC,CAA7R;AAA+R;;AAAAG,MAAAA,yCAAyC,GAAE;AAAC,eAAM,CAAC,KAAKpU,MAAL,CAAYhkQ,OAAb,IAAsB,KAAKi4Q,0CAAjC;AAA4E;;AAAAI,MAAAA,eAAe,GAAE;AAAC,cAAM1uR,CAAC,GAAC,KAAK28Q,QAAL,EAAR;AAAwB,eAAO38Q,CAAC,CAACrzB,MAAF,GAASqzB,CAAC,CAAC,CAAD,CAAV,GAAc,KAAKgyQ,SAA1B;AAAoC;;AAAAsI,MAAAA,gBAAgB,GAAE;AAAC,cAAMt6Q,CAAC,GAAC,KAAK0uR,eAAL,EAAR;AAAA,cAA+B/jR,CAAC,GAAC,KAAKpuB,KAAtC;AAAA,cAA4CguB,CAAC,GAACI,CAAC,CAACg3O,MAAhD;AAAA,cAAuDp1O,CAAC,GAAC5B,CAAC,CAACi8E,sBAAF,CAAyB5mF,CAAzB,EAA2B,CAAC,CAAD,CAA3B,CAAzD;;AAAyF,eAAOuK,CAAC,CAACqwQ,wBAAF,CAA2BruQ,CAA3B,KAA+B5B,CAAC,CAACq8E,WAAF,CAAcz6E,CAAd,CAAtC;AAAuD;;AAAAiuQ,MAAAA,uBAAuB,CAACx6Q,CAAD,EAAG;AAAC,eAAO2uR,EAAE,CAAC3uR,CAAC,CAACymF,KAAH,CAAF,IAAakoM,EAAE,CAAC3uR,CAAC,CAAC0mF,GAAH,CAAtB;AAA8B;;AAAA4yK,MAAAA,eAAe,CAACt5P,CAAD,EAAG;AAAC,YAAI2K,CAAC,GAAC,CAAC,CAAP;;AAAS,WAAE;AAAC,eAAI,MAAMJ,CAAV,IAAe,KAAK8uP,WAApB,EAAgC,IAAG,KAAKvP,SAAL,CAAeD,OAAf,IAAyBl/O,CAAC,GAACJ,CAAC,CAACvK,CAAD,CAA5B,EAAgC2K,CAAnC,EAAqC;AAAM,SAA9E,QAAoFA,CAApF;AAAuF;;AAAhmF;;AAAimF,aAASgkR,EAAT,CAAY3uR,CAAZ,EAAc;AAAC,YAAM2K,CAAC,GAAC3K,CAAC,CAAC0tP,QAAV;;AAAmB,UAAG/iP,CAAH,EAAK;AAAC,cAAMJ,CAAC,GAACI,CAAC,CAAChjC,IAAV;AAAA,cAAe4kC,CAAC,GAACvM,CAAC,CAACq9E,MAAF,GAAS1yE,CAAC,CAACs0P,WAA5B;AAAwC,eAAM,CAAC/gB,EAAE,CAAC3zO,CAAD,EAAGgC,CAAH,CAAH,IAAU,CAAC4xO,EAAE,CAAC5zO,CAAD,EAAGgC,CAAH,CAAnB;AAAyB;;AAAA,aAAM,CAAC,CAAP;AAAS;;AAAA,UAAMqiR,EAAN,SAAiBrpD,CAAC,EAAlB,CAAqB;AAAC9lQ,MAAAA,WAAW,GAAE;AAAC,cAAM,GAAG+qC,SAAT,GAAoB,KAAKm8Q,QAAL,GAAc,IAAI13Q,GAAJ,EAAlC;AAA0C;;AAAgB,OAAf/C,MAAM,CAACC,QAAQ,IAAG;AAAC,eAAO,KAAKw6Q,QAAL,CAActlQ,MAAd,EAAP;AAA8B;;AAAAyN,MAAAA,GAAG,CAAC9uB,CAAD,EAAG;AAAC,cAAM2K,CAAC,GAAC3K,CAAC,YAAY6uR,EAAb,GAAgB7uR,CAAC,CAACxvB,IAAlB,GAAuBwvB,CAA/B;AAAiC,eAAO,KAAK2mR,QAAL,CAAc73P,GAAd,CAAkBnkB,CAAlB,CAAP;AAA4B;;AAAAlqC,MAAAA,GAAG,CAACu/B,CAAD,EAAG;AAAC,eAAO,KAAK2mR,QAAL,CAAclmT,GAAd,CAAkBu/B,CAAlB,KAAsB,IAA7B;AAAkC;;AAAAonG,MAAAA,IAAI,CAACpnG,CAAD,EAAG2K,CAAH,EAAKJ,CAAC,GAAC,CAAC,CAAR,EAAUgC,CAAC,GAAC,CAAC,CAAb,EAAe;AAAC,cAAM51B,CAAC,GAACqpB,CAAC,YAAY6uR,EAAb,GAAgB7uR,CAAC,CAACxvB,IAAlB,GAAuBwvB,CAA/B;AAAiC,YAAGrpB,CAAC,CAACxK,QAAF,CAAW,GAAX,CAAH,EAAmB,MAAM,IAAIg2E,CAAJ,CAAM,wCAAN,EAA+C,IAA/C,CAAN;;AAA2D,cAAM11C,CAAC,GAAC,KAAKk6Q,QAAL,CAAclmT,GAAd,CAAkBkW,CAAlB,CAAR;;AAA6B,YAAG81B,CAAH,EAAK;AAAC,gBAAMzM,CAAC,GAACyM,CAAC,CAACqgQ,OAAF,EAAR;AAAA,gBAAoBxiQ,CAAC,GAACmC,CAAC,CAAC83E,QAAF,EAAtB;AAAmC,cAAIniC,CAAC,GAAC,CAAC,CAAP;AAAS,iBAAO93C,CAAC,CAACyrO,OAAF,CAAUprO,CAAV,MAAe8B,CAAC,CAACqiR,gBAAF,CAAmBxW,EAAE,CAACG,SAAH,CAAa9tQ,CAAb,CAAnB,GAAoCy3C,CAAC,GAAC,CAAC,CAAtD,GAAyD73C,CAAC,IAAEkC,CAAC,CAACsiR,sBAAL,KAA8BtiR,CAAC,CAACi4E,uBAAF,GAA0Bn6E,CAA1B,EAA4B63C,CAAC,GAAC,CAAC,CAA7D,CAAzD,EAAyH,aAAW,OAAO71C,CAAlB,IAAqBA,CAAC,IAAEE,CAAC,CAACk4E,WAA1B,KAAwCl4E,CAAC,CAAC43E,YAAF,GAAe93E,CAAf,EAAiB61C,CAAC,GAAC,CAAC,CAA5D,CAAzH,EAAwLA,CAAC,IAAE,KAAKsjC,IAAL,CAAW,UAAS/uG,CAAE,EAAtB,EAAwB81B,CAAxB,EAA0BnC,CAA1B,EAA4BK,CAA5B,EAA8B3K,CAA9B,CAA3L,EAA4NyM,CAAnO;AAAqO;;AAAA,cAAMnC,CAAC,GAACguQ,EAAE,CAACG,SAAH,CAAa9tQ,CAAb,CAAR;AAAA,cAAwBy3C,CAAC,GAAC,IAAIysO,EAAJ,CAAOl4S,CAAP,EAAS2zB,CAAT,EAAWC,CAAX,EAAagC,CAAb,CAA1B;AAA0C,eAAO,KAAKo6Q,QAAL,CAAc7hR,GAAd,CAAkBnuB,CAAlB,EAAoByrE,CAApB,GAAuB,KAAKsjC,IAAL,CAAW,UAAS/uG,CAAE,EAAtB,EAAwByrE,CAAxB,EAA0B,IAA1B,EAA+Bz3C,CAA/B,EAAiC,EAAC,GAAGy3C,CAAC,CAAC0qN,OAAF,EAAJ;AAAgB/lL,UAAAA,KAAK,EAAC;AAAtB,SAAjC,CAAvB,EAAqF3kC,CAA5F;AAA8F;;AAAA66L,MAAAA,OAAO,CAACj9O,CAAD,EAAG;AAAC,cAAM2K,CAAC,GAAC3K,CAAC,YAAY6uR,EAAb,GAAgB7uR,CAAC,CAACxvB,IAAlB,GAAuBwvB,CAA/B;AAAA,cAAiCuK,CAAC,GAAC,KAAKo8Q,QAAL,CAAclmT,GAAd,CAAkBkqC,CAAlB,CAAnC;;AAAwD,eAAM,CAAC,CAACJ,CAAF,KAAM,KAAKo8Q,QAAL,CAAc/xQ,MAAd,CAAqBjK,CAArB,GAAwB,KAAK+6E,IAAL,CAAW,UAAS/6E,CAAE,EAAtB,EAAwBJ,CAAxB,EAA0BA,CAAC,CAACg6E,QAAF,EAA1B,EAAuC,IAAvC,EAA4Ch6E,CAAC,CAACuiQ,OAAF,EAA5C,CAAxB,EAAiF,KAAKkiB,cAAL,CAAoBzkR,CAApB,CAAjF,EAAwG,CAAC,CAA/G,CAAN;AAAwH;;AAAA+zQ,MAAAA,QAAQ,CAACt+Q,CAAD,EAAG;AAAC,cAAM2K,CAAC,GAAC3K,CAAC,YAAY6uR,EAAb,GAAgB7uR,CAAC,CAACxvB,IAAlB,GAAuBwvB,CAA/B;AAAA,cAAiCuK,CAAC,GAAC,KAAKo8Q,QAAL,CAAclmT,GAAd,CAAkBkqC,CAAlB,CAAnC;;AAAwD,YAAG,CAACJ,CAAJ,EAAM,MAAM,IAAI43C,CAAJ,CAAM,4CAAN,EAAmD,IAAnD,CAAN;AAA+D,cAAM51C,CAAC,GAAChC,CAAC,CAACg6E,QAAF,EAAR;AAAqB,aAAKmB,IAAL,CAAW,UAAS/6E,CAAE,EAAtB,EAAwBJ,CAAxB,EAA0BgC,CAA1B,EAA4BA,CAA5B,EAA8BhC,CAAC,CAACuiQ,OAAF,EAA9B;AAA2C;;AAAqB,OAApByJ,oBAAoB,CAACv2Q,CAAD,EAAG;AAAC,aAAI,MAAM2K,CAAV,IAAe,IAAf,EAAoBA,CAAC,CAAC45E,QAAF,GAAa8xK,gBAAb,CAA8Br2P,CAA9B,MAAmC,MAAM2K,CAAzC;AAA4C;;AAA4B,OAA3BkhR,2BAA2B,CAAC7rR,CAAD,EAAG;AAAC,aAAI,MAAM2K,CAAV,IAAe,IAAf,EAAoB,SAAOA,CAAC,CAAC45E,QAAF,GAAaixJ,eAAb,CAA6Bx1O,CAA7B,CAAP,KAAyC,MAAM2K,CAA/C;AAAkD;;AAAAg0E,MAAAA,OAAO,GAAE;AAAC,aAAI,MAAM3+E,CAAV,IAAe,KAAK2mR,QAAL,CAActlQ,MAAd,EAAf,EAAsC,KAAK2tQ,cAAL,CAAoBhvR,CAApB;;AAAuB,aAAK2mR,QAAL,GAAc,IAAd,EAAmB,KAAKjhD,aAAL,EAAnB;AAAwC;;AAAgB,OAAfupD,eAAe,CAACjvR,CAAD,EAAG;AAAC,aAAI,MAAM2K,CAAV,IAAe,KAAKg8Q,QAAL,CAActlQ,MAAd,EAAf,EAAsC1W,CAAC,CAACn6B,IAAF,CAAOyxB,UAAP,CAAkBjC,CAAC,GAAC,GAApB,MAA2B,MAAM2K,CAAjC;AAAoC;;AAAAqkR,MAAAA,cAAc,CAAChvR,CAAD,EAAG;AAACA,QAAAA,CAAC,CAAC0lO,aAAF,IAAkB1lO,CAAC,CAACkvR,gBAAF,EAAlB;AAAuC;;AAAhmD;;AAAimD,UAAML,EAAN,SAAiBtpD,CAAC,CAACupC,EAAD,CAAlB,CAAuB;AAACrvS,MAAAA,WAAW,CAACugC,CAAD,EAAG2K,CAAH,EAAKJ,CAAL,EAAOgC,CAAP,EAAS;AAAC,iBAAQ,KAAK/7B,IAAL,GAAUwvB,CAAlB,EAAoB,KAAKmvR,UAAL,GAAgB,KAAKL,gBAAL,CAAsBnkR,CAAtB,CAApC,EAA6D,KAAK+5E,uBAAL,GAA6Bn6E,CAA1F,EAA4F,KAAK85E,YAAL,GAAkB93E,CAA9G;AAAgH;;AAA0B,UAAtBwiR,sBAAsB,GAAE;AAAC,YAAG,CAAC,KAAKI,UAAT,EAAoB,MAAM,IAAIhtO,CAAJ,CAAM,kBAAN,EAAyB,IAAzB,CAAN;AAAqC,eAAO,KAAKuiC,uBAAZ;AAAoC;;AAAe,UAAXC,WAAW,GAAE;AAAC,YAAG,CAAC,KAAKwqM,UAAT,EAAoB,MAAM,IAAIhtO,CAAJ,CAAM,kBAAN,EAAyB,IAAzB,CAAN;AAAqC,eAAO,KAAKkiC,YAAZ;AAAyB;;AAAAyoL,MAAAA,OAAO,GAAE;AAAC,eAAM;AAAC/lL,UAAAA,KAAK,EAAC,KAAKxC,QAAL,EAAP;AAAuBI,UAAAA,WAAW,EAAC,KAAKA,WAAxC;AAAoDoqM,UAAAA,sBAAsB,EAAC,KAAKA;AAAhF,SAAN;AAA8G;;AAAAK,MAAAA,QAAQ,GAAE;AAAC,YAAG,CAAC,KAAKD,UAAT,EAAoB,MAAM,IAAIhtO,CAAJ,CAAM,kBAAN,EAAyB,IAAzB,CAAN;AAAqC,eAAO,KAAKgtO,UAAL,CAAgB1oM,KAAhB,CAAsB7mF,KAAtB,EAAP;AAAqC;;AAAAyvR,MAAAA,MAAM,GAAE;AAAC,YAAG,CAAC,KAAKF,UAAT,EAAoB,MAAM,IAAIhtO,CAAJ,CAAM,kBAAN,EAAyB,IAAzB,CAAN;AAAqC,eAAO,KAAKgtO,UAAL,CAAgBzoM,GAAhB,CAAoB9mF,KAApB,EAAP;AAAmC;;AAAA2kF,MAAAA,QAAQ,GAAE;AAAC,YAAG,CAAC,KAAK4qM,UAAT,EAAoB,MAAM,IAAIhtO,CAAJ,CAAM,kBAAN,EAAyB,IAAzB,CAAN;AAAqC,eAAO,KAAKgtO,UAAL,CAAgB3W,OAAhB,EAAP;AAAiC;;AAAAsW,MAAAA,gBAAgB,CAAC9uR,CAAD,EAAG;AAAC,eAAO,KAAKmvR,UAAL,IAAiB,KAAKD,gBAAL,EAAjB,EAAyClvR,CAAC,CAACmmO,QAAF,CAAW,cAAX,EAA2B15E,EAA3B,CAA8B,IAA9B,CAAzC,EAA6EzsJ,CAAC,CAACmmO,QAAF,CAAW,gBAAX,EAA6B15E,EAA7B,CAAgC,IAAhC,CAA7E,EAAmH,KAAK0iI,UAAL,GAAgBnvR,CAAnI,EAAqIA,CAA5I;AAA8I;;AAAAkvR,MAAAA,gBAAgB,GAAE;AAAC,aAAKC,UAAL,CAAgB/oD,cAAhB,CAA+B,cAA/B,EAA8C,IAA9C,GAAoD,KAAK+oD,UAAL,CAAgB/oD,cAAhB,CAA+B,gBAA/B,EAAgD,IAAhD,CAApD,EAA0G,KAAK+oD,UAAL,CAAgBp7C,MAAhB,EAA1G,EAAmI,KAAKo7C,UAAL,GAAgB,IAAnJ;AAAwJ;;AAA5lC;;AAA6lCN,IAAAA,EAAE,CAAC5kR,SAAH,CAAa4gF,EAAb,GAAgB,UAAS7qF,CAAT,EAAW;AAAC,aAAM,aAAWA,CAAX,IAAc,mBAAiBA,CAArC;AAAuC,KAAnE;;AAAoE,UAAMsvR,EAAN,SAAiBlK,EAAjB,CAAmB;AAAC3lT,MAAAA,WAAW,CAACugC,CAAD,EAAG2K,CAAH,EAAK;AAAC,cAAM,IAAN,GAAY,KAAK2mQ,cAAL,GAAoBtxQ,CAAC,CAACJ,KAAF,EAAhC,EAA0C,KAAK8jH,OAAL,GAAa/4G,CAAvD;AAAyD;;AAAQ,UAAJ1zB,IAAI,GAAE;AAAC,eAAM,QAAN;AAAe;;AAAsB,UAAlB8uS,kBAAkB,GAAE;AAAC,eAAO,IAAP;AAAY;;AAAAvhM,MAAAA,MAAM,GAAE;AAAC,cAAMxkF,CAAC,GAAC,MAAMwkF,MAAN,EAAR;AAAuB,eAAOxkF,CAAC,CAACsxQ,cAAF,GAAiB,KAAKA,cAAL,CAAoB9sL,MAApB,EAAjB,EAA8CxkF,CAArD;AAAuD;;AAAAslR,MAAAA,SAAS,GAAE;AAAC,YAAG,KAAKhU,cAAL,CAAoB9tQ,IAApB,CAAyB9B,QAA5B,EAAqC,MAAM,IAAIygD,CAAJ,CAAM,mCAAN,EAA0C,IAA1C,CAAN;AAAsD;;AAAA+jO,MAAAA,QAAQ,GAAE;AAACN,QAAAA,EAAE,CAAC3T,EAAE,CAACrb,2BAAH,CAA+B,KAAK0a,cAApC,EAAmD,KAAK5tJ,OAAxD,CAAD,CAAF;AAAqE;;AAAoB,iBAATo+C,SAAS,GAAE;AAAC,eAAM,iBAAN;AAAwB;;AAAvc;;AAAwc,UAAMytH,EAAN,SAAiBzgB,EAAjB,CAAmB;AAACrvS,MAAAA,WAAW,CAACugC,CAAD,EAAG;AAAC,iBAAQ,KAAK4jF,OAAL,GAAa,IAAI30E,GAAJ,EAArB,EAA6B,KAAK6jP,SAAL,GAAe,IAAIqc,EAAJ,EAA5C,EAAmDnvQ,CAAC,IAAE,KAAK+yP,YAAL,CAAkB,CAAlB,EAAoB/yP,CAApB,CAAtD;AAA6E;;AAAgB,OAAfkM,MAAM,CAACC,QAAQ,IAAG;AAAC,eAAO,KAAK63E,WAAL,EAAP;AAA0B;;AAAc,UAAV0oK,UAAU,GAAE;AAAC,eAAO,KAAKoG,SAAL,CAAenmR,MAAtB;AAA6B;;AAAa,UAAT0iS,SAAS,GAAE;AAAC,eAAO,KAAKvc,SAAL,CAAeuc,SAAtB;AAAgC;;AAAW,UAAPh5P,OAAO,GAAE;AAAC,eAAO,MAAI,KAAKq2O,UAAhB;AAA2B;;AAAe,UAAXjlB,WAAW,GAAE;AAAC,eAAO,IAAP;AAAY;;AAAmB,UAAfmQ,eAAe,GAAE;AAAC,eAAO,IAAP;AAAY;;AAAQ,UAAJp0O,IAAI,GAAE;AAAC,eAAO,IAAP;AAAY;;AAAU,UAAN29C,MAAM,GAAE;AAAC,eAAO,IAAP;AAAY;;AAAY,UAARz/C,QAAQ,GAAE;AAAC,eAAO,IAAP;AAAY;;AAAA8hF,MAAAA,UAAU,GAAE;AAAC,eAAM,CAAC,CAAP;AAAS;;AAAAypK,MAAAA,YAAY,GAAE;AAAC,eAAM,EAAN;AAAS;;AAAAJ,MAAAA,QAAQ,CAAC7sP,CAAD,EAAG;AAAC,eAAO,KAAK8yP,SAAL,CAAewc,OAAf,CAAuBtvQ,CAAvB,CAAP;AAAiC;;AAAAgkF,MAAAA,WAAW,GAAE;AAAC,eAAO,KAAK8uK,SAAL,CAAe5mP,MAAM,CAACC,QAAtB,GAAP;AAAyC;;AAAA4gP,MAAAA,aAAa,CAAC/sP,CAAD,EAAG;AAAC,eAAO,KAAK8yP,SAAL,CAAeyc,YAAf,CAA4BvvQ,CAA5B,CAAP;AAAsC;;AAAAgvQ,MAAAA,mBAAmB,CAAChvQ,CAAD,EAAG;AAAC,eAAO,KAAK8yP,SAAL,CAAe0c,kBAAf,CAAkCxvQ,CAAlC,CAAP;AAA4C;;AAAAgtP,MAAAA,OAAO,GAAE;AAAC,eAAM,EAAN;AAAS;;AAAAijB,MAAAA,aAAa,CAACjwQ,CAAD,EAAG;AAAC,YAAI2K,CAAC,GAAC,IAAN;;AAAW,aAAI,MAAMJ,CAAV,IAAevK,CAAf,EAAiB2K,CAAC,GAACA,CAAC,CAACkiP,QAAF,CAAWliP,CAAC,CAAC+kQ,aAAF,CAAgBnlQ,CAAhB,CAAX,CAAF;;AAAiC,eAAOI,CAAP;AAAS;;AAAA+kQ,MAAAA,aAAa,CAAC1vQ,CAAD,EAAG;AAAC,eAAO,KAAK8yP,SAAL,CAAe4c,aAAf,CAA6B1vQ,CAA7B,CAAP;AAAuC;;AAAAwkF,MAAAA,MAAM,GAAE;AAAC,cAAMxkF,CAAC,GAAC,EAAR;;AAAW,aAAI,MAAM2K,CAAV,IAAe,KAAKmoP,SAApB,EAA8B9yP,CAAC,CAACiG,IAAF,CAAO0E,CAAC,CAAC65E,MAAF,EAAP;;AAAmB,eAAOxkF,CAAP;AAAS;;AAAe,aAAR8vQ,QAAQ,CAAC9vQ,CAAD,EAAG;AAAC,cAAM2K,CAAC,GAAC,EAAR;;AAAW,aAAI,MAAMJ,CAAV,IAAevK,CAAf,EAAiBuK,CAAC,CAAC/5B,IAAF,GAAOm6B,CAAC,CAAC1E,IAAF,CAAO+pQ,EAAE,CAACF,QAAH,CAAYvlQ,CAAZ,CAAP,CAAP,GAA8BI,CAAC,CAAC1E,IAAF,CAAO4pQ,EAAE,CAACC,QAAH,CAAYvlQ,CAAZ,CAAP,CAA9B;;AAAqD,eAAO,IAAIglR,EAAJ,CAAO5kR,CAAP,CAAP;AAAiB;;AAAAo7E,MAAAA,YAAY,CAAC/lF,CAAD,EAAG;AAAC,aAAK+yP,YAAL,CAAkB,KAAKrG,UAAvB,EAAkC1sP,CAAlC;AAAqC;;AAAA+yP,MAAAA,YAAY,CAAC/yP,CAAD,EAAG2K,CAAH,EAAK;AAAC,cAAMJ,CAAC,GAAC,UAASvK,CAAT,EAAW;AAAC,cAAG,YAAU,OAAOA,CAApB,EAAsB,OAAM,CAAC,IAAI6vQ,EAAJ,CAAO7vQ,CAAP,CAAD,CAAN;AAAkB4nO,UAAAA,CAAC,CAAC5nO,CAAD,CAAD,KAAOA,CAAC,GAAC,CAACA,CAAD,CAAT;AAAc,iBAAOmF,KAAK,CAAC7H,IAAN,CAAW0C,CAAX,EAAcx2B,GAAd,CAAmBw2B,CAAC,IAAE,YAAU,OAAOA,CAAjB,GAAmB,IAAI6vQ,EAAJ,CAAO7vQ,CAAP,CAAnB,GAA6BA,CAAC,YAAY+vQ,EAAb,GAAgB,IAAIF,EAAJ,CAAO7vQ,CAAC,CAACr4B,IAAT,EAAcq4B,CAAC,CAACkkF,aAAF,EAAd,CAAhB,GAAiDlkF,CAApG,CAAP;AAA+G,SAAjL,CAAkL2K,CAAlL,CAAR;;AAA6L,aAAI,MAAM3K,CAAV,IAAeuK,CAAf,EAAiB,SAAOvK,CAAC,CAACmhD,MAAT,IAAiBnhD,CAAC,CAACi9O,OAAF,EAAjB,EAA6Bj9O,CAAC,CAACmhD,MAAF,GAAS,IAAtC;;AAA2C,aAAK2xM,SAAL,CAAe4J,YAAf,CAA4B18P,CAA5B,EAA8BuK,CAA9B;AAAiC;;AAAA8iP,MAAAA,eAAe,CAACrtP,CAAD,EAAG2K,CAAC,GAAC,CAAL,EAAO;AAAC,cAAMJ,CAAC,GAAC,KAAKuoP,SAAL,CAAe8c,YAAf,CAA4B5vQ,CAA5B,EAA8B2K,CAA9B,CAAR;;AAAyC,aAAI,MAAM3K,CAAV,IAAeuK,CAAf,EAAiBvK,CAAC,CAACmhD,MAAF,GAAS,IAAT;;AAAc,eAAO52C,CAAP;AAAS;;AAAv9C;;AAAw9CglR,IAAAA,EAAE,CAACtlR,SAAH,CAAa4gF,EAAb,GAAgB,UAAS7qF,CAAT,EAAW;AAAC,aAAM,uBAAqBA,CAArB,IAAwB,6BAA2BA,CAAzD;AAA2D,KAAvF;;AAAwF,UAAMwvR,EAAN,CAAQ;AAAC/vT,MAAAA,WAAW,CAACugC,CAAD,EAAG2K,CAAH,EAAK;AAAC,aAAKpuB,KAAL,GAAWyjB,CAAX,EAAa,KAAKwnG,KAAL,GAAW78F,CAAxB;AAA0B;;AAAAq7E,MAAAA,UAAU,CAAChmF,CAAD,EAAG2K,CAAH,EAAK;AAAC,eAAO,IAAIklQ,EAAJ,CAAO7vQ,CAAP,EAAS2K,CAAT,CAAP;AAAmB;;AAAA9D,MAAAA,aAAa,CAAC7G,CAAD,EAAG2K,CAAH,EAAK;AAAC,eAAO,IAAIqlQ,EAAJ,CAAOhwQ,CAAP,EAAS2K,CAAT,CAAP;AAAmB;;AAAA23O,MAAAA,sBAAsB,GAAE;AAAC,eAAO,IAAIitC,EAAJ,EAAP;AAAc;;AAAAE,MAAAA,YAAY,CAACzvR,CAAD,EAAG2K,CAAC,GAAC,CAAC,CAAN,EAAQ;AAAC,eAAO3K,CAAC,CAACytP,MAAF,CAAS9iP,CAAT,CAAP;AAAmB;;AAAA27E,MAAAA,MAAM,CAACtmF,CAAD,EAAG2K,CAAH,EAAKJ,CAAC,GAAC,CAAP,EAAS;AAAC,YAAG,KAAKmlR,0BAAL,IAAkC1vR,CAAC,YAAY6vQ,EAAb,IAAiB,MAAI7vQ,CAAC,CAACr4B,IAA5D,EAAiE;;AAAO,cAAM4kC,CAAC,GAAC4jQ,EAAE,CAACzb,SAAH,CAAa/pP,CAAb,EAAeJ,CAAf,CAAR;;AAA0B,YAAGvK,CAAC,CAACmhD,MAAL,EAAY;AAAC,cAAGwuO,EAAE,CAAC3vR,CAAC,CAACwD,IAAH,EAAQ+I,CAAC,CAAC/I,IAAV,CAAL,EAAqB,OAAO,KAAK,KAAK44P,IAAL,CAAU6V,EAAE,CAACnb,SAAH,CAAa92P,CAAb,CAAV,EAA0BuM,CAA1B,CAAZ;AAAyC,cAAGvM,CAAC,CAACwD,IAAF,CAAO9B,QAAV,EAAmB,MAAM,IAAIygD,CAAJ,CAAM,oCAAN,EAA2C,IAA3C,CAAN;AAAuD,eAAK89B,MAAL,CAAYjgF,CAAZ;AAAe;;AAAA,cAAMrpB,CAAC,GAAC41B,CAAC,CAAC/I,IAAF,CAAO9B,QAAP,GAAgB6K,CAAC,CAAC/I,IAAF,CAAO9B,QAAP,CAAgB9gC,OAAhC,GAAwC,IAAhD;AAAA,cAAqD6rC,CAAC,GAAC,IAAI05Q,EAAJ,CAAO55Q,CAAP,EAASvM,CAAT,EAAWrpB,CAAX,CAAvD;AAAqE,YAAGqpB,CAAC,YAAY6vQ,EAAb,KAAkBpjQ,CAAC,CAAC25Q,uBAAF,GAA0B,CAAC,CAA7C,GAAgD,KAAK5+K,KAAL,CAAWqjL,YAAX,CAAwBp+Q,CAAxB,CAAhD,EAA2E,KAAKlwB,KAAL,CAAWqzS,cAAX,CAA0BnjR,CAA1B,CAA3E,EAAwGzM,CAAC,YAAYuvR,EAAxH,EAA2H,KAAI,MAAK,CAAC5kR,CAAD,EAAGJ,CAAH,CAAT,IAAiBvK,CAAC,CAAC4jF,OAAnB,EAA2B;AAAC,gBAAM5jF,CAAC,GAACmwQ,EAAE,CAACzb,SAAH,CAAanqP,CAAC,CAAC/G,IAAf,EAAoB,CAApB,CAAR;AAAA,gBAA+B7sB,CAAC,GAAC;AAACowG,YAAAA,KAAK,EAAC,IAAIkrL,EAAJ,CAAO1nQ,CAAC,CAACk8E,KAAF,CAAQgrL,YAAR,CAAqBzxQ,CAArB,EAAuBuM,CAAvB,CAAP,EAAiChC,CAAC,CAACm8E,GAAF,CAAM+qL,YAAN,CAAmBzxQ,CAAnB,EAAqBuM,CAArB,CAAjC,CAAP;AAAiEk4E,YAAAA,cAAc,EAAC,CAAC,CAAjF;AAAmFE,YAAAA,WAAW,EAAC,CAAC;AAAhG,WAAjC;;AAAoI,eAAKpoG,KAAL,CAAWqnG,OAAX,CAAmB90D,GAAnB,CAAuBnkB,CAAvB,IAA0B,KAAKklR,YAAL,CAAkBllR,CAAlB,EAAoBh0B,CAApB,CAA1B,GAAiD,KAAKswG,SAAL,CAAet8E,CAAf,EAAiBh0B,CAAjB,CAAjD;AAAqE;AAAC;;AAAAm5S,MAAAA,UAAU,CAAC9vR,CAAD,EAAG2K,CAAH,EAAKJ,CAAL,EAAOgC,CAAP,EAAS;AAAC5B,QAAAA,CAAC,YAAY4kR,EAAb,IAAiB5kR,CAAC,YAAYqlQ,EAA9B,IAAkCrlQ,CAAC,YAAYwlQ,EAA/C,GAAkD,KAAK7pL,MAAL,CAAY,KAAKN,UAAL,CAAgBhmF,CAAhB,CAAZ,EAA+B2K,CAA/B,EAAiCJ,CAAjC,CAAlD,GAAsF,KAAK+7E,MAAL,CAAY,KAAKN,UAAL,CAAgBhmF,CAAhB,EAAkB2K,CAAlB,CAAZ,EAAiCJ,CAAjC,EAAmCgC,CAAnC,CAAtF;AAA4H;;AAAAqwQ,MAAAA,aAAa,CAAC58Q,CAAD,EAAG2K,CAAH,EAAKJ,CAAL,EAAOgC,CAAP,EAAS;AAAC5B,QAAAA,CAAC,YAAY4kR,EAAb,IAAiB5kR,CAAC,YAAYqlQ,EAA9B,IAAkCrlQ,CAAC,YAAYwlQ,EAA/C,GAAkD,KAAK7pL,MAAL,CAAY,KAAKz/E,aAAL,CAAmB7G,CAAnB,CAAZ,EAAkC2K,CAAlC,EAAoCJ,CAApC,CAAlD,GAAyF,KAAK+7E,MAAL,CAAY,KAAKz/E,aAAL,CAAmB7G,CAAnB,EAAqB2K,CAArB,CAAZ,EAAoCJ,CAApC,EAAsCgC,CAAtC,CAAzF;AAAkI;;AAAAuwC,MAAAA,MAAM,CAAC98C,CAAD,EAAG2K,CAAH,EAAK;AAAC,aAAK27E,MAAL,CAAYtmF,CAAZ,EAAc2K,CAAd,EAAgB,KAAhB;AAAuB;;AAAAolR,MAAAA,UAAU,CAAC/vR,CAAD,EAAG2K,CAAH,EAAKJ,CAAL,EAAO;AAACI,QAAAA,CAAC,YAAY4kR,EAAb,IAAiB5kR,CAAC,YAAYqlQ,EAA9B,GAAiC,KAAK1pL,MAAL,CAAY,KAAKN,UAAL,CAAgBhmF,CAAhB,CAAZ,EAA+B2K,CAA/B,EAAiC,KAAjC,CAAjC,GAAyE,KAAK27E,MAAL,CAAY,KAAKN,UAAL,CAAgBhmF,CAAhB,EAAkB2K,CAAlB,CAAZ,EAAiCJ,CAAjC,EAAmC,KAAnC,CAAzE;AAAmH;;AAAAylR,MAAAA,aAAa,CAAChwR,CAAD,EAAG2K,CAAH,EAAKJ,CAAL,EAAO;AAACI,QAAAA,CAAC,YAAY4kR,EAAb,IAAiB5kR,CAAC,YAAYqlQ,EAA9B,GAAiC,KAAK1pL,MAAL,CAAY,KAAKz/E,aAAL,CAAmB7G,CAAnB,CAAZ,EAAkC2K,CAAlC,EAAoC,KAApC,CAAjC,GAA4E,KAAK27E,MAAL,CAAY,KAAKz/E,aAAL,CAAmB7G,CAAnB,EAAqB2K,CAArB,CAAZ,EAAoCJ,CAApC,EAAsC,KAAtC,CAA5E;AAAyH;;AAAAmxC,MAAAA,YAAY,CAAC17C,CAAD,EAAG2K,CAAH,EAAKJ,CAAL,EAAO;AAAC,YAAG,KAAKmlR,0BAAL,IAAkCnlR,CAAC,YAAY0nQ,EAAlD,EAAqD;AAAC,gBAAM1lQ,CAAC,GAAChC,CAAC,CAAC6nQ,oBAAF,EAAR;;AAAiC,eAAI,MAAM7nQ,CAAV,IAAegC,CAAf,EAAiB0jR,EAAE,CAAC,IAAD,EAAMjwR,CAAN,EAAQ2K,CAAR,EAAUJ,CAAV,CAAF;AAAe,SAAvH,MAA4H+jL,EAAE,CAAC,IAAD,EAAMtuL,CAAN,EAAQ2K,CAAR,EAAUJ,CAAV,CAAF;AAAe;;AAAA2lR,MAAAA,aAAa,CAAClwR,CAAD,EAAG2K,CAAH,EAAK;AAAC,aAAI,MAAK,CAACJ,CAAD,EAAGgC,CAAH,CAAT,IAAiByxO,EAAE,CAACh+O,CAAD,CAAnB,EAAuB,KAAK07C,YAAL,CAAkBnxC,CAAlB,EAAoBgC,CAApB,EAAsB5B,CAAtB;AAAyB;;AAAAk5N,MAAAA,eAAe,CAAC7jO,CAAD,EAAG2K,CAAH,EAAK;AAAC,YAAG,KAAK+kR,0BAAL,IAAkC/kR,CAAC,YAAYsnQ,EAAlD,EAAqD;AAAC,gBAAM1nQ,CAAC,GAACI,CAAC,CAACynQ,oBAAF,EAAR;;AAAiC,eAAI,MAAMznQ,CAAV,IAAeJ,CAAf,EAAiB0lR,EAAE,CAAC,IAAD,EAAMjwR,CAAN,EAAQ,IAAR,EAAa2K,CAAb,CAAF;AAAkB,SAA1H,MAA+H2jL,EAAE,CAAC,IAAD,EAAMtuL,CAAN,EAAQ,IAAR,EAAa2K,CAAb,CAAF;AAAkB;;AAAAwlR,MAAAA,eAAe,CAACnwR,CAAD,EAAG;AAAC,aAAK0vR,0BAAL;;AAAkC,cAAM/kR,CAAC,GAAC3K,CAAC,IAAE;AAAC,eAAI,MAAM2K,CAAV,IAAe3K,CAAC,CAACkuP,gBAAF,EAAf,EAAoC,KAAKrqB,eAAL,CAAqBl5N,CAArB,EAAuB3K,CAAvB;AAA0B,SAA1E;;AAA2E,YAAGA,CAAC,YAAYiyQ,EAAhB,EAAmB,KAAI,MAAM1nQ,CAAV,IAAevK,CAAC,CAACunG,QAAF,EAAf,EAA4B58F,CAAC,CAACJ,CAAD,CAAD,CAA/C,KAAyDI,CAAC,CAAC3K,CAAD,CAAD;AAAK;;AAAAo8P,MAAAA,IAAI,CAACp8P,CAAD,EAAG2K,CAAH,EAAKJ,CAAL,EAAO;AAAC,YAAG,KAAKmlR,0BAAL,IAAkC,EAAE1vR,CAAC,YAAYiyQ,EAAf,CAArC,EAAwD,MAAM,IAAI9vN,CAAJ,CAAM,2BAAN,EAAkC,IAAlC,CAAN;AAA8C,YAAG,CAACniD,CAAC,CAACi2P,MAAN,EAAa,MAAM,IAAI9zM,CAAJ,CAAM,4BAAN,EAAmC,IAAnC,CAAN;;AAA+C,cAAM51C,CAAC,GAAC4jQ,EAAE,CAACzb,SAAH,CAAa/pP,CAAb,EAAeJ,CAAf,CAAR;;AAA0B,YAAGgC,CAAC,CAACwpO,OAAF,CAAU/1O,CAAC,CAACymF,KAAZ,CAAH,EAAsB;AAAO,YAAG,KAAK2pM,+BAAL,CAAqC,MAArC,EAA4CpwR,CAA5C,GAA+C,CAAC2vR,EAAE,CAAC3vR,CAAC,CAACwD,IAAH,EAAQ+I,CAAC,CAAC/I,IAAV,CAArD,EAAqE,MAAM,IAAI2+C,CAAJ,CAAM,gCAAN,EAAuC,IAAvC,CAAN;AAAmD,cAAMxrE,CAAC,GAACqpB,CAAC,CAACwD,IAAF,CAAO9B,QAAP,GAAgB1B,CAAC,CAACwD,IAAF,CAAO9B,QAAP,CAAgB9gC,OAAhC,GAAwC,IAAhD;AAAA,cAAqD6rC,CAAC,GAAC,IAAIq5Q,EAAJ,CAAO9lR,CAAC,CAACymF,KAAT,EAAezmF,CAAC,CAAC0mF,GAAF,CAAMrJ,MAAN,GAAar9E,CAAC,CAACymF,KAAF,CAAQpJ,MAApC,EAA2C9wE,CAA3C,EAA6C51B,CAA7C,CAAvD;AAAuG,aAAK6wH,KAAL,CAAWqjL,YAAX,CAAwBp+Q,CAAxB,GAA2B,KAAKlwB,KAAL,CAAWqzS,cAAX,CAA0BnjR,CAA1B,CAA3B;AAAwD;;AAAAwzE,MAAAA,MAAM,CAACjgF,CAAD,EAAG;AAAC,aAAK0vR,0BAAL;;AAAkC,cAAM/kR,CAAC,GAAC,CAAC3K,CAAC,YAAYiyQ,EAAb,GAAgBjyQ,CAAhB,GAAkBiyQ,EAAE,CAACnb,SAAH,CAAa92P,CAAb,CAAnB,EAAoCoyQ,oBAApC,GAA2D7iK,OAA3D,EAAR;;AAA6E,aAAI,MAAMvvG,CAAV,IAAe2K,CAAf,EAAiB,KAAKylR,+BAAL,CAAqC,MAArC,EAA4CpwR,CAA5C,GAA+CqwR,EAAE,CAACrwR,CAAC,CAACymF,KAAH,EAASzmF,CAAC,CAAC0mF,GAAF,CAAMrJ,MAAN,GAAar9E,CAAC,CAACymF,KAAF,CAAQpJ,MAA9B,EAAqC,KAAKmqB,KAA1C,EAAgD,KAAKjrH,KAArD,CAAjD;AAA6G;;AAAA+zS,MAAAA,KAAK,CAACtwR,CAAD,EAAG;AAAC,aAAK0vR,0BAAL;;AAAkC,cAAM/kR,CAAC,GAAC3K,CAAC,CAAC01P,UAAV;AAAA,cAAqBnrP,CAAC,GAACvK,CAAC,CAACy1P,SAAzB;AAAmC,YAAG,KAAK26B,+BAAL,CAAqC,OAArC,EAA6CpwR,CAA7C,GAAgD,EAAE2K,CAAC,YAAYqlQ,EAAf,CAAnD,EAAsE,MAAM,IAAI7tN,CAAJ,CAAM,gCAAN,EAAuC,IAAvC,CAAN;AAAmD,YAAG,EAAE53C,CAAC,YAAYylQ,EAAf,CAAH,EAAsB,MAAM,IAAI7tN,CAAJ,CAAM,+BAAN,EAAsC,IAAtC,CAAN;AAAkDniD,QAAAA,CAAC,CAACwD,IAAF,CAAO9B,QAAP,GAAgB,KAAK6uR,MAAL,CAAYvwR,CAAZ,CAAhB,GAA+B,KAAKwwR,cAAL,CAAoBxwR,CAApB,CAA/B;AAAsD;;AAAA4mF,MAAAA,sBAAsB,CAAC5mF,CAAD,EAAG2K,CAAH,EAAKJ,CAAL,EAAO;AAAC,eAAO,KAAKhuB,KAAL,CAAWqqG,sBAAX,CAAkC5mF,CAAlC,EAAoC2K,CAApC,EAAsCJ,CAAtC,CAAP;AAAgD;;AAAA4yP,MAAAA,gBAAgB,CAACn9P,CAAD,EAAG2K,CAAH,EAAK;AAAC,eAAO,KAAKpuB,KAAL,CAAW4gR,gBAAX,CAA4Bn9P,CAA5B,EAA8B2K,CAA9B,CAAP;AAAwC;;AAAAyyP,MAAAA,mBAAmB,CAACp9P,CAAD,EAAG;AAAC,eAAO,KAAKzjB,KAAL,CAAW6gR,mBAAX,CAA+Bp9P,CAA/B,CAAP;AAAyC;;AAAAq9P,MAAAA,oBAAoB,CAACr9P,CAAD,EAAG;AAAC,eAAO,KAAKzjB,KAAL,CAAW8gR,oBAAX,CAAgCr9P,CAAhC,CAAP;AAA0C;;AAAAgnF,MAAAA,WAAW,CAAChnF,CAAD,EAAG2K,CAAH,EAAK;AAAC,eAAO,KAAKpuB,KAAL,CAAWyqG,WAAX,CAAuBhnF,CAAvB,EAAyB2K,CAAzB,CAAP;AAAmC;;AAAA4yP,MAAAA,aAAa,CAACv9P,CAAD,EAAG;AAAC,eAAO,KAAKzjB,KAAL,CAAWghR,aAAX,CAAyBv9P,CAAzB,CAAP;AAAmC;;AAAAs9P,MAAAA,aAAa,CAACt9P,CAAD,EAAG;AAAC,eAAO,KAAKzjB,KAAL,CAAW+gR,aAAX,CAAyBt9P,CAAzB,CAAP;AAAmC;;AAAAw9P,MAAAA,eAAe,CAAC,GAAGx9P,CAAJ,EAAM;AAAC,eAAO,KAAKzjB,KAAL,CAAWihR,eAAX,CAA2B,GAAGx9P,CAA9B,CAAP;AAAwC;;AAAAwwR,MAAAA,cAAc,CAACxwR,CAAD,EAAG;AAAC,cAAM2K,CAAC,GAAC3K,CAAC,CAAC01P,UAAV;AAAA,cAAqBnrP,CAAC,GAACvK,CAAC,CAACy1P,SAAzB;AAAmC,aAAK2G,IAAL,CAAU6V,EAAE,CAACpb,SAAH,CAAatsP,CAAb,CAAV,EAA0B4lQ,EAAE,CAACzb,SAAH,CAAa/pP,CAAb,EAAe,KAAf,CAA1B,GAAiD,KAAKs1E,MAAL,CAAY11E,CAAZ,CAAjD;AAAgE;;AAAAgmR,MAAAA,MAAM,CAACvwR,CAAD,EAAG;AAAC,cAAM2K,CAAC,GAACwlQ,EAAE,CAACzb,SAAH,CAAa10P,CAAC,CAAC01P,UAAf,EAA0B,KAA1B,CAAR;AAAA,cAAyCnrP,CAAC,GAAC4lQ,EAAE,CAACzb,SAAH,CAAa10P,CAAC,CAACy1P,SAAf,EAAyB,CAAzB,CAA3C;AAAA,cAAuElpP,CAAC,GAACvM,CAAC,CAACwD,IAAF,CAAO9B,QAAP,CAAgBswQ,SAAzF;AAAA,cAAmGr7R,CAAC,GAAC,IAAIw5R,EAAJ,CAAO5jQ,CAAP,EAAS,CAAC,CAAD,CAAT,CAArG;AAAA,cAAmHE,CAAC,GAACzM,CAAC,CAACwD,IAAF,CAAO9B,QAAP,CAAgB9gC,OAArI;AAAA,cAA6I0pC,CAAC,GAAC,IAAIg8Q,EAAJ,CAAO/7Q,CAAP,EAASvK,CAAC,CAACy1P,SAAF,CAAY4Z,SAArB,EAA+B1kQ,CAA/B,EAAiCh0B,CAAjC,EAAmC81B,CAAnC,CAA/I;;AAAqL,aAAK+6F,KAAL,CAAWqjL,YAAX,CAAwBvgR,CAAxB,GAA2B,KAAK/tB,KAAL,CAAWqzS,cAAX,CAA0BtlR,CAA1B,CAA3B;AAAwD;;AAAA2yP,MAAAA,MAAM,CAACj9P,CAAD,EAAG2K,CAAH,EAAK;AAAC,YAAG,KAAK+kR,0BAAL,IAAkC,EAAE1vR,CAAC,YAAYgwQ,EAAf,CAArC,EAAwD,MAAM,IAAI7tN,CAAJ,CAAM,oCAAN,EAA2C,IAA3C,CAAN;AAAuD,cAAM53C,CAAC,GAACvK,CAAC,CAACwD,IAAF,CAAO9B,QAAP,GAAgB1B,CAAC,CAACwD,IAAF,CAAO9B,QAAP,CAAgB9gC,OAAhC,GAAwC,IAAhD;AAAA,cAAqD2rC,CAAC,GAAC,IAAIw6Q,EAAJ,CAAO5W,EAAE,CAAC7a,aAAH,CAAiBt1P,CAAjB,CAAP,EAA2BA,CAAC,CAACxvB,IAA7B,EAAkCm6B,CAAlC,EAAoCJ,CAApC,CAAvD;AAA8F,aAAKi9F,KAAL,CAAWqjL,YAAX,CAAwBt+Q,CAAxB,GAA2B,KAAKhwB,KAAL,CAAWqzS,cAAX,CAA0BrjR,CAA1B,CAA3B;AAAwD;;AAAAxtB,MAAAA,KAAK,CAACihB,CAAD,EAAG2K,CAAH,EAAK;AAAC,aAAK+kR,0BAAL;;AAAkC,YAAInlR,CAAJ;AAAA,YAAMgC,CAAN;AAAA,YAAQ51B,CAAC,GAACqpB,CAAC,CAACmhD,MAAZ;AAAmB,YAAG,CAACxqE,CAAC,CAACwqE,MAAN,EAAa,MAAM,IAAIgB,CAAJ,CAAM,gCAAN,EAAuC,IAAvC,CAAN;AAAmD,YAAGx3C,CAAC,KAAGA,CAAC,GAACh0B,CAAC,CAACwqE,MAAP,CAAD,EAAgB,CAACnhD,CAAC,CAACmhD,MAAF,CAAS8rM,YAAT,CAAsB;AAACC,UAAAA,WAAW,EAAC,CAAC;AAAd,SAAtB,EAAwC/gR,QAAxC,CAAiDw+B,CAAjD,CAApB,EAAwE,MAAM,IAAIw3C,CAAJ,CAAM,oCAAN,EAA2C,IAA3C,CAAN;;AAAuD,WAAE;AAAC,gBAAMx3C,CAAC,GAACh0B,CAAC,CAAC6sB,IAAF,CAAO9B,QAAP,GAAgB/qB,CAAC,CAAC6sB,IAAF,CAAO9B,QAAP,CAAgB9gC,OAAhC,GAAwC,IAAhD;AAAA,gBAAqD6rC,CAAC,GAAC91B,CAAC,CAAC04R,SAAF,GAAYrvQ,CAAC,CAACq9E,MAArE;AAAA,gBAA4E/yE,CAAC,GAAC+7Q,EAAE,CAACE,oBAAH,CAAwBvmR,CAAxB,CAA9E;AAAA,gBAAyGoiD,CAAC,GAAC,IAAIikO,EAAJ,CAAOrmR,CAAP,EAASyM,CAAT,EAAWnC,CAAX,EAAa,IAAb,EAAkBK,CAAlB,CAA3G;AAAgI,eAAK68F,KAAL,CAAWqjL,YAAX,CAAwBzoO,CAAxB,GAA2B,KAAK7lE,KAAL,CAAWqzS,cAAX,CAA0BxtO,CAA1B,CAA3B,EAAwD73C,CAAC,IAAEgC,CAAH,KAAOhC,CAAC,GAAC5zB,CAAF,EAAI41B,CAAC,GAACvM,CAAC,CAACmhD,MAAF,CAASsmL,WAAtB,CAAxD,EAA2F9wP,CAAC,GAAC,CAACqpB,CAAC,GAAC,KAAKo9P,mBAAL,CAAyBp9P,CAAC,CAACmhD,MAA3B,CAAH,EAAuCA,MAApI;AAA2I,SAA9Q,QAAoRxqE,CAAC,KAAGg0B,CAAxR;;AAA2R,eAAM;AAAC76B,UAAAA,QAAQ,EAACkwB,CAAV;AAAY+mF,UAAAA,KAAK,EAAC,IAAIkrL,EAAJ,CAAO9B,EAAE,CAACzb,SAAH,CAAanqP,CAAb,EAAe,KAAf,CAAP,EAA6B4lQ,EAAE,CAACzb,SAAH,CAAanoP,CAAb,EAAe,CAAf,CAA7B;AAAlB,SAAN;AAAyE;;AAAAqwP,MAAAA,IAAI,CAAC58P,CAAD,EAAG2K,CAAH,EAAK;AAAC,YAAG,KAAK+kR,0BAAL,IAAkC,CAAC1vR,CAAC,CAACi2P,MAAxC,EAA+C,MAAM,IAAI9zM,CAAJ,CAAM,4BAAN,EAAmC,IAAnC,CAAN;AAA+C,cAAM53C,CAAC,GAACI,CAAC,YAAYqlQ,EAAb,GAAgBrlQ,CAAhB,GAAkB,IAAIqlQ,EAAJ,CAAOrlQ,CAAP,CAA1B;AAAoC,YAAGJ,CAAC,CAACmiP,UAAF,GAAa,CAAhB,EAAkB,MAAM,IAAIvqM,CAAJ,CAAM,+BAAN,EAAsC,IAAtC,CAAN;AAAkD,YAAG,SAAO53C,CAAC,CAAC42C,MAAZ,EAAmB,MAAM,IAAIgB,CAAJ,CAAM,8BAAN,EAAqC,IAArC,CAAN;AAAiD,aAAKmkC,MAAL,CAAY/7E,CAAZ,EAAcvK,CAAC,CAACymF,KAAhB;AAAuB,cAAMl6E,CAAC,GAAC,IAAI0lQ,EAAJ,CAAOjyQ,CAAC,CAACymF,KAAF,CAAQkvK,YAAR,CAAqB,CAArB,CAAP,EAA+B31P,CAAC,CAAC0mF,GAAF,CAAMivK,YAAN,CAAmB,CAAnB,CAA/B,CAAR;AAA8D,aAAKyG,IAAL,CAAU7vP,CAAV,EAAY4jQ,EAAE,CAACzb,SAAH,CAAanqP,CAAb,EAAe,CAAf,CAAZ;AAA+B;;AAAAwyP,MAAAA,MAAM,CAAC/8P,CAAD,EAAG;AAAC,YAAG,KAAK0vR,0BAAL,IAAkC,SAAO1vR,CAAC,CAACmhD,MAA9C,EAAqD,MAAM,IAAIgB,CAAJ,CAAM,iCAAN,EAAwC,IAAxC,CAAN;AAAoD,aAAKi6M,IAAL,CAAU6V,EAAE,CAACpb,SAAH,CAAa72P,CAAb,CAAV,EAA0B,KAAKo9P,mBAAL,CAAyBp9P,CAAzB,CAA1B,GAAuD,KAAKigF,MAAL,CAAYjgF,CAAZ,CAAvD;AAAsE;;AAAAinF,MAAAA,SAAS,CAACjnF,CAAD,EAAG2K,CAAH,EAAK;AAAC,YAAG,KAAK+kR,0BAAL,IAAkC,CAAC/kR,CAAD,IAAI,aAAW,OAAOA,CAAC,CAAC85E,cAA7D,EAA4E,MAAM,IAAItiC,CAAJ,CAAM,oCAAN,EAA2C,IAA3C,CAAN;AAAuD,cAAM53C,CAAC,GAACI,CAAC,CAAC85E,cAAV;AAAA,cAAyBl4E,CAAC,GAAC5B,CAAC,CAACo8E,KAA7B;AAAA,cAAmCpwG,CAAC,GAAC,KAAK,CAAL,KAASg0B,CAAC,CAACg6E,WAAX,IAAwBh6E,CAAC,CAACg6E,WAA/D;AAA2E,YAAG,KAAKpoG,KAAL,CAAWqnG,OAAX,CAAmB90D,GAAnB,CAAuB9uB,CAAvB,CAAH,EAA6B,MAAM,IAAImiD,CAAJ,CAAM,gCAAN,EAAuC,IAAvC,CAAN;AAAmD,YAAG,CAAC51C,CAAJ,EAAM,MAAM,IAAI41C,CAAJ,CAAM,2BAAN,EAAkC,IAAlC,CAAN;AAA8C,eAAO53C,CAAC,IAAEkmR,EAAE,CAAC,IAAD,EAAMzwR,CAAN,EAAQ,IAAR,EAAauM,CAAb,EAAe51B,CAAf,CAAF,EAAoB,KAAK4F,KAAL,CAAWqnG,OAAX,CAAmBnjH,GAAnB,CAAuBu/B,CAAvB,CAAtB,IAAiD,KAAKzjB,KAAL,CAAWqnG,OAAX,CAAmBwjB,IAAnB,CAAwBpnG,CAAxB,EAA0BuM,CAA1B,EAA4BhC,CAA5B,EAA8B5zB,CAA9B,CAAzD;AAA0F;;AAAAk5S,MAAAA,YAAY,CAAC7vR,CAAD,EAAG2K,CAAH,EAAK;AAAC,aAAK+kR,0BAAL;;AAAkC,cAAMnlR,CAAC,GAAC,YAAU,OAAOvK,CAAjB,GAAmBA,CAAnB,GAAqBA,CAAC,CAACxvB,IAA/B;AAAA,cAAoC+7B,CAAC,GAAC,KAAKhwB,KAAL,CAAWqnG,OAAX,CAAmBnjH,GAAnB,CAAuB8pC,CAAvB,CAAtC;AAAgE,YAAG,CAACgC,CAAJ,EAAM,MAAM,IAAI41C,CAAJ,CAAM,uCAAN,EAA8C,IAA9C,CAAN;AAA0D,YAAG,CAACx3C,CAAJ,EAAM,OAAOd,CAAC,CAAC,uDAAD,EAAyD;AAAC08E,UAAAA,UAAU,EAACh8E;AAAZ,SAAzD,CAAD,EAA0E,KAAK,KAAKhuB,KAAL,CAAWqnG,OAAX,CAAmB06L,QAAnB,CAA4B/xQ,CAA5B,CAAtF;AAAqH,cAAM51B,CAAC,GAAC,aAAW,OAAOg0B,CAAC,CAAC85E,cAA5B;AAAA,cAA2Ch4E,CAAC,GAAC,aAAW,OAAO9B,CAAC,CAACg6E,WAAjE;AAAA,cAA6Er6E,CAAC,GAACmC,CAAC,GAAC9B,CAAC,CAACg6E,WAAH,GAAep4E,CAAC,CAACo4E,WAAjG;AAA6G,YAAG,CAAChuG,CAAD,IAAI,CAACg0B,CAAC,CAACo8E,KAAP,IAAc,CAACt6E,CAAlB,EAAoB,MAAM,IAAI01C,CAAJ,CAAM,mCAAN,EAA0C,IAA1C,CAAN;AAAsD,cAAMC,CAAC,GAAC71C,CAAC,CAACg4E,QAAF,EAAR;AAAA,cAAqBo5D,CAAC,GAAChzI,CAAC,CAACo8E,KAAF,GAAQp8E,CAAC,CAACo8E,KAAV,GAAgB3kC,CAAvC;AAAyCzrE,QAAAA,CAAC,IAAEg0B,CAAC,CAAC85E,cAAF,KAAmBl4E,CAAC,CAACwiR,sBAAxB,GAA+CpkR,CAAC,CAAC85E,cAAF,GAAiBgsM,EAAE,CAAC,IAAD,EAAMlmR,CAAN,EAAQ,IAAR,EAAaozI,CAAb,EAAerzI,CAAf,CAAnB,IAAsCmmR,EAAE,CAAC,IAAD,EAAMlmR,CAAN,EAAQ63C,CAAR,EAAU,IAAV,EAAe93C,CAAf,CAAF,EAAoB,KAAK/tB,KAAL,CAAWqnG,OAAX,CAAmBwjB,IAAnB,CAAwB78F,CAAxB,EAA0BozI,CAA1B,EAA4B,KAAK,CAAjC,EAAmCrzI,CAAnC,CAA1D,CAA/C,GAAgJiC,CAAC,CAACwiR,sBAAF,GAAyB0B,EAAE,CAAC,IAAD,EAAMlmR,CAAN,EAAQ63C,CAAR,EAAUu7F,CAAV,EAAYrzI,CAAZ,CAA3B,GAA0C,KAAK/tB,KAAL,CAAWqnG,OAAX,CAAmBwjB,IAAnB,CAAwB78F,CAAxB,EAA0BozI,CAA1B,EAA4B,KAAK,CAAjC,EAAmCrzI,CAAnC,CAA1L;AAAgO;;AAAAikR,MAAAA,YAAY,CAACvuR,CAAD,EAAG;AAAC,aAAK0vR,0BAAL;;AAAkC,cAAM/kR,CAAC,GAAC,YAAU,OAAO3K,CAAjB,GAAmBA,CAAnB,GAAqBA,CAAC,CAACxvB,IAA/B;AAAoC,YAAG,CAAC,KAAK+L,KAAL,CAAWqnG,OAAX,CAAmB90D,GAAnB,CAAuBnkB,CAAvB,CAAJ,EAA8B,MAAM,IAAIw3C,CAAJ,CAAM,+BAAN,EAAsC,IAAtC,CAAN;AAAkD,cAAM53C,CAAC,GAAC,KAAKhuB,KAAL,CAAWqnG,OAAX,CAAmBnjH,GAAnB,CAAuBkqC,CAAvB,CAAR;AAAkC,YAAG,CAACJ,CAAC,CAACwkR,sBAAN,EAA6B,OAAO,KAAK,KAAKxyS,KAAL,CAAWqnG,OAAX,CAAmBq5J,OAAnB,CAA2BtyO,CAA3B,CAAZ;AAA0C8lR,QAAAA,EAAE,CAAC,IAAD,EAAM9lR,CAAN,EAAQJ,CAAC,CAACg6E,QAAF,EAAR,EAAqB,IAArB,EAA0Bh6E,CAAC,CAACo6E,WAA5B,CAAF;AAA2C;;AAAA+rM,MAAAA,OAAO,CAAC1wR,CAAD,EAAG2K,CAAC,GAAC,OAAL,EAAa;AAAC,aAAK+kR,0BAAL;;AAAkC,cAAMnlR,CAAC,GAAC,KAAKhuB,KAAL,CAAWmlB,QAAX,CAAoB0kF,OAApB,CAA4BpmF,CAA5B,CAAR;AAAuC,YAAGuK,CAAC,IAAEA,CAAC,CAACi5E,UAAF,EAAN,EAAqB,MAAM,IAAIrhC,CAAJ,CAAM,4BAAN,EAAmC,IAAnC,CAAN;AAA+C,cAAM51C,CAAC,GAAC,KAAKhwB,KAAL,CAAWmlB,QAAnB;AAAA,cAA4B/qB,CAAC,GAAC,IAAIwwS,EAAJ,CAAOnnR,CAAP,EAAS2K,CAAT,EAAW,CAAC,CAAZ,EAAc4B,CAAd,EAAgBA,CAAC,CAAC3rC,OAAlB,CAA9B;AAAyD,eAAO,KAAK4mI,KAAL,CAAWqjL,YAAX,CAAwBl0S,CAAxB,GAA2B,KAAK4F,KAAL,CAAWqzS,cAAX,CAA0Bj5S,CAA1B,CAA3B,EAAwD,KAAK4F,KAAL,CAAWmlB,QAAX,CAAoB0kF,OAApB,CAA4BpmF,CAA5B,CAA/D;AAA8F;;AAAA2wR,MAAAA,UAAU,CAAC3wR,CAAD,EAAG;AAAC,aAAK0vR,0BAAL;;AAAkC,cAAM/kR,CAAC,GAAC,YAAU,OAAO3K,CAAjB,GAAmB,KAAKzjB,KAAL,CAAWmlB,QAAX,CAAoB0kF,OAApB,CAA4BpmF,CAA5B,CAAnB,GAAkDA,CAA1D;AAA4D,YAAG,CAAC2K,CAAD,IAAI,CAACA,CAAC,CAAC64E,UAAF,EAAR,EAAuB,MAAM,IAAIrhC,CAAJ,CAAM,2BAAN,EAAkC,IAAlC,CAAN;;AAA8C,aAAI,MAAMniD,CAAV,IAAe,KAAKzjB,KAAL,CAAWqnG,OAA1B,EAAkC5jF,CAAC,CAACukF,QAAF,GAAa/gF,IAAb,KAAoBmH,CAApB,IAAuB,KAAK4jR,YAAL,CAAkBvuR,CAAlB,CAAvB;;AAA4C,aAAI,MAAMA,CAAV,IAAe2K,CAAC,CAACujP,gBAAF,EAAf,EAAoC,KAAKrqB,eAAL,CAAqB7jO,CAArB,EAAuB2K,CAAvB;;AAA0B,aAAKs1E,MAAL,CAAY,KAAKs9K,aAAL,CAAmB5yP,CAAnB,CAAZ;AAAmC,cAAMJ,CAAC,GAAC,KAAKhuB,KAAL,CAAWmlB,QAAnB;AAAA,cAA4B6K,CAAC,GAAC,IAAI46Q,EAAJ,CAAOx8Q,CAAC,CAAC23E,QAAT,EAAkB33E,CAAC,CAACn6B,IAApB,EAAyB,CAAC,CAA1B,EAA4B+5B,CAA5B,EAA8BA,CAAC,CAAC3pC,OAAhC,CAA9B;AAAuE,aAAK4mI,KAAL,CAAWqjL,YAAX,CAAwBt+Q,CAAxB,GAA2B,KAAKhwB,KAAL,CAAWqzS,cAAX,CAA0BrjR,CAA1B,CAA3B;AAAwD;;AAAA4uP,MAAAA,YAAY,CAAC,GAAGn7P,CAAJ,EAAM;AAAC,aAAK0vR,0BAAL,IAAkC,KAAKnzS,KAAL,CAAWmlB,QAAX,CAAoBooP,SAApB,CAA8ByO,MAA9B,CAAqC,GAAGv4P,CAAxC,CAAlC;AAA6E;;AAAAo7P,MAAAA,iBAAiB,CAACp7P,CAAD,EAAG2K,CAAH,EAAK;AAAC,aAAK+kR,0BAAL,IAAkC,KAAKnzS,KAAL,CAAWmlB,QAAX,CAAoBooP,SAApB,CAA8B0O,SAA9B,CAAwCx4P,CAAxC,EAA0C2K,CAA1C,CAAlC;AAA+E;;AAAAimR,MAAAA,qBAAqB,CAAC5wR,CAAD,EAAG2K,CAAH,EAAK;AAAC,YAAG,KAAK+kR,0BAAL,IAAkC,YAAU,OAAO1vR,CAAtD,EAAwD,KAAK6wR,sBAAL,CAA4B7wR,CAA5B,EAA8B2K,CAA9B,EAAxD,KAA8F,KAAI,MAAK,CAACA,CAAD,EAAGJ,CAAH,CAAT,IAAiByzO,EAAE,CAACh+O,CAAD,CAAnB,EAAuB,KAAK6wR,sBAAL,CAA4BlmR,CAA5B,EAA8BJ,CAA9B;AAAiC;;AAAA+5Q,MAAAA,wBAAwB,CAACtkR,CAAD,EAAG;AAAC,YAAG,KAAK0vR,0BAAL,IAAkC,YAAU,OAAO1vR,CAAtD,EAAwD,KAAK8wR,yBAAL,CAA+B9wR,CAA/B,EAAxD,KAA+F,KAAI,MAAM2K,CAAV,IAAe3K,CAAf,EAAiB,KAAK8wR,yBAAL,CAA+BnmR,CAA/B;AAAkC;;AAAAomR,MAAAA,wBAAwB,GAAE;AAAC,eAAO,KAAKx0S,KAAL,CAAWmlB,QAAX,CAAoBooP,SAApB,CAA8BwvB,gBAA9B,EAAP;AAAwD;;AAAA0X,MAAAA,uBAAuB,CAAChxR,CAAD,EAAG;AAAC,aAAKzjB,KAAL,CAAWmlB,QAAX,CAAoBooP,SAApB,CAA8B0vB,eAA9B,CAA8Cx5Q,CAA9C;AAAiD;;AAAA6wR,MAAAA,sBAAsB,CAAC7wR,CAAD,EAAG2K,CAAH,EAAK;AAAC,cAAMJ,CAAC,GAAC,KAAKhuB,KAAL,CAAWmlB,QAAX,CAAoBooP,SAA5B;;AAAsC,YAAGv/O,CAAC,CAACyrP,WAAF,IAAezrP,CAAC,CAACmrM,MAAF,CAASv0J,MAAT,CAAgB9qC,OAAlC,EAA0C;AAAC,gBAAM9J,CAAC,GAACssQ,EAAE,CAACa,qBAAH,CAAyB15Q,CAAzB,CAAR;;AAAoC,eAAK07C,YAAL,CAAkBnvC,CAAlB,EAAoB5B,CAApB,EAAsBJ,CAAC,CAACmrM,MAAF,CAASv0J,MAA/B;AAAuC;;AAAA52C,QAAAA,CAAC,CAACopP,aAAF,CAAgB3zP,CAAhB,EAAkB2K,CAAlB;AAAqB;;AAAAmmR,MAAAA,yBAAyB,CAAC9wR,CAAD,EAAG;AAAC,cAAM2K,CAAC,GAAC,KAAKpuB,KAAL,CAAWmlB,QAAX,CAAoBooP,SAA5B;;AAAsC,YAAGn/O,CAAC,CAACqrP,WAAF,IAAerrP,CAAC,CAAC+qM,MAAF,CAASv0J,MAAT,CAAgB9qC,OAAlC,EAA0C;AAAC,gBAAM9L,CAAC,GAACsuQ,EAAE,CAACa,qBAAH,CAAyB15Q,CAAzB,CAAR;;AAAoC,eAAK6jO,eAAL,CAAqBt5N,CAArB,EAAuBI,CAAC,CAAC+qM,MAAF,CAASv0J,MAAhC;AAAwC;;AAAAx2C,QAAAA,CAAC,CAACipP,gBAAF,CAAmB5zP,CAAnB;AAAsB;;AAAA0vR,MAAAA,0BAA0B,GAAE;AAAC,YAAG,KAAKnzS,KAAL,CAAW00S,cAAX,KAA4B,IAA/B,EAAoC,MAAM,IAAI9uO,CAAJ,CAAM,sBAAN,EAA6B,IAA7B,CAAN;AAAyC;;AAAAiuO,MAAAA,+BAA+B,CAACpwR,CAAD,EAAG2K,CAAH,EAAK;AAAC,aAAI,MAAMJ,CAAV,IAAe,KAAKhuB,KAAL,CAAWqnG,OAA1B,EAAkC;AAAC,cAAG,CAACr5E,CAAC,CAACwkR,sBAAN,EAA6B;AAAS,gBAAMxiR,CAAC,GAAChC,CAAC,CAACg6E,QAAF,EAAR;AAAqB,cAAI5tG,CAAC,GAAC,CAAC,CAAP;;AAAS,cAAG,WAASqpB,CAAZ,EAAc;AAAC,kBAAMA,CAAC,GAAC2K,CAAR;AAAUh0B,YAAAA,CAAC,GAACqpB,CAAC,CAACq2P,gBAAF,CAAmB9pP,CAAC,CAACk6E,KAArB,KAA6BzmF,CAAC,CAACymF,KAAF,CAAQsvJ,OAAR,CAAgBxpO,CAAC,CAACk6E,KAAlB,CAA7B,IAAuDzmF,CAAC,CAACq2P,gBAAF,CAAmB9pP,CAAC,CAACm6E,GAArB,CAAvD,IAAkF1mF,CAAC,CAAC0mF,GAAF,CAAMqvJ,OAAN,CAAcxpO,CAAC,CAACm6E,GAAhB,CAApF;AAAyG,WAAlI,MAAsI;AAAC,kBAAM1mF,CAAC,GAAC2K,CAAR;AAAA,kBAAUJ,CAAC,GAACvK,CAAC,CAAC01P,UAAd;AAAA,kBAAyBjpP,CAAC,GAACzM,CAAC,CAACy1P,SAA7B;AAAA,kBAAuCnrP,CAAC,GAACiC,CAAC,CAACk6E,KAAF,CAAQtlC,MAAR,IAAgB52C,CAAhB,IAAmBgC,CAAC,CAACk6E,KAAF,CAAQyuK,OAApE;AAAA,kBAA4E9yM,CAAC,GAAC71C,CAAC,CAACm6E,GAAF,CAAMvlC,MAAN,IAAc10C,CAAd,IAAiB,KAAGF,CAAC,CAACm6E,GAAF,CAAMrJ,MAAxG;AAAA,kBAA+GsgE,CAAC,GAACpxI,CAAC,CAACm6E,GAAF,CAAM+uK,SAAN,IAAiBhpP,CAAlI;AAAA,kBAAoIy/K,CAAC,GAAC3/K,CAAC,CAACk6E,KAAF,CAAQgvK,SAAR,IAAmBhpP,CAAzJ;AAA2J91B,YAAAA,CAAC,GAAC2zB,CAAC,IAAE83C,CAAH,IAAMu7F,CAAN,IAASuuC,CAAX;AAAa;;AAAAv1M,UAAAA,CAAC,IAAE,KAAKk5S,YAAL,CAAkBtlR,CAAC,CAAC/5B,IAApB,EAAyB;AAACu2G,YAAAA,KAAK,EAACx6E;AAAP,WAAzB,CAAH;AAAuC;AAAC;;AAAhxS;;AAAixS,aAAS0jR,EAAT,CAAYjwR,CAAZ,EAAc2K,CAAd,EAAgBJ,CAAhB,EAAkBgC,CAAlB,EAAoB;AAAC,YAAM51B,CAAC,GAACqpB,CAAC,CAACzjB,KAAV;AAAA,YAAgBkwB,CAAC,GAAC91B,CAAC,CAAC+qB,QAApB;AAA6B,UAAI4I,CAAJ;AAAA,UAAM83C,CAAN;AAAA,UAAQu7F,CAAR;AAAA,UAAUuuC,CAAC,GAAC3/K,CAAC,CAACk6E,KAAd;;AAAoB,WAAI,MAAMzmF,CAAV,IAAeuM,CAAC,CAACupP,SAAF,CAAY;AAAClB,QAAAA,OAAO,EAAC,CAAC;AAAV,OAAZ,CAAf,EAAyCj3G,CAAC,GAAC39I,CAAC,CAACxlB,IAAF,CAAOqnQ,YAAP,CAAoBl3O,CAApB,CAAF,EAAyBL,CAAC,IAAE83C,CAAC,IAAEu7F,CAAN,KAAUv7F,CAAC,IAAE73C,CAAH,IAAMX,CAAC,EAAP,EAAUsiL,CAAC,GAAC5hL,CAAtB,CAAzB,EAAkDA,CAAC,GAACtK,CAAC,CAACw1P,YAAtD,EAAmEpzM,CAAC,GAACu7F,CAArE;;AAAuE,eAAS/zI,CAAT,GAAY;AAAC,cAAM2C,CAAC,GAAC,IAAI0lQ,EAAJ,CAAO/lF,CAAP,EAAS5hL,CAAT,CAAR;AAAA,cAAoBqzI,CAAC,GAACpxI,CAAC,CAAC/I,IAAF,CAAO9B,QAAP,GAAgB+K,CAAC,CAAC7rC,OAAlB,GAA0B,IAAhD;AAAA,cAAqDgpC,CAAC,GAAC,IAAIi9Q,EAAJ,CAAOt6Q,CAAP,EAAS5B,CAAT,EAAWy3C,CAAX,EAAa73C,CAAb,EAAeozI,CAAf,CAAvD;AAAyE39I,QAAAA,CAAC,CAACwnG,KAAF,CAAQqjL,YAAR,CAAqBjhR,CAArB,GAAwBjzB,CAAC,CAACi5S,cAAF,CAAiBhmR,CAAjB,CAAxB;AAA4C;;AAAAU,MAAAA,CAAC,YAAY6lQ,EAAb,IAAiB7lQ,CAAC,IAAE4hL,CAApB,IAAuB9pI,CAAC,IAAE73C,CAA1B,IAA6BX,CAAC,EAA9B;AAAiC;;AAAA,aAAS0kL,EAAT,CAAYtuL,CAAZ,EAAc2K,CAAd,EAAgBJ,CAAhB,EAAkBgC,CAAlB,EAAoB;AAAC,YAAM51B,CAAC,GAACqpB,CAAC,CAACzjB,KAAV;AAAA,YAAgBkwB,CAAC,GAAC91B,CAAC,CAAC+qB,QAApB;AAAA,YAA6B4I,CAAC,GAACiC,CAAC,CAACs1O,YAAF,CAAel3O,CAAf,CAA/B;AAAiD,UAAIy3C,CAAJ,EAAMu7F,CAAN;;AAAQ,UAAGrzI,CAAC,IAAEC,CAAN,EAAQ;AAAC,YAAGgC,CAAC,CAAC/I,IAAF,KAAS+I,CAAZ,EAAc;AAAC,gBAAMvM,CAAC,GAACuM,CAAC,CAAC7K,QAAF,GAAW+K,CAAC,CAAC7rC,OAAb,GAAqB,IAA7B;AAAkC+8K,UAAAA,CAAC,GAAC,IAAIupI,EAAJ,CAAO36Q,CAAP,EAAS5B,CAAT,EAAWL,CAAX,EAAaC,CAAb,EAAevK,CAAf,CAAF;AAAoB,SAArE,MAAyE;AAACoiD,UAAAA,CAAC,GAAC,IAAI6vN,EAAJ,CAAO9B,EAAE,CAAC7a,aAAH,CAAiB/oP,CAAjB,CAAP,EAA2BvM,CAAC,CAACo9P,mBAAF,CAAsB7wP,CAAtB,CAA3B,CAAF;AAAuD,gBAAM51B,CAAC,GAACyrE,CAAC,CAAC5+C,IAAF,CAAO9B,QAAP,GAAgB+K,CAAC,CAAC7rC,OAAlB,GAA0B,IAAlC;AAAuC+8K,UAAAA,CAAC,GAAC,IAAIkpI,EAAJ,CAAOzkO,CAAP,EAASz3C,CAAT,EAAWL,CAAX,EAAaC,CAAb,EAAe5zB,CAAf,CAAF;AAAoB;;AAAAqpB,QAAAA,CAAC,CAACwnG,KAAF,CAAQqjL,YAAR,CAAqBltI,CAArB,GAAwBhnK,CAAC,CAACi5S,cAAF,CAAiBjyI,CAAjB,CAAxB;AAA4C;AAAC;;AAAA,aAAS8yI,EAAT,CAAYzwR,CAAZ,EAAc2K,CAAd,EAAgBJ,CAAhB,EAAkBgC,CAAlB,EAAoB51B,CAApB,EAAsB;AAAC,YAAM81B,CAAC,GAACzM,CAAC,CAACzjB,KAAV;AAAA,YAAgB+tB,CAAC,GAACmC,CAAC,CAAC/K,QAApB;AAAA,YAA6B0gD,CAAC,GAAC,IAAIokO,EAAJ,CAAO77Q,CAAP,EAASJ,CAAT,EAAWgC,CAAX,EAAaE,CAAC,CAACm3E,OAAf,EAAuB,CAAC,CAACjtG,CAAzB,EAA2B2zB,CAAC,CAAC1pC,OAA7B,CAA/B;AAAqEo/B,MAAAA,CAAC,CAACwnG,KAAF,CAAQqjL,YAAR,CAAqBzoO,CAArB,GAAwB31C,CAAC,CAACmjR,cAAF,CAAiBxtO,CAAjB,CAAxB;AAA4C;;AAAA,aAASiuO,EAAT,CAAYrwR,CAAZ,EAAc2K,CAAd,EAAgBJ,CAAhB,EAAkBgC,CAAlB,EAAoB;AAAC,UAAI51B,CAAJ;;AAAM,UAAGqpB,CAAC,CAACwD,IAAF,CAAO9B,QAAV,EAAmB;AAAC,cAAM6I,CAAC,GAACgC,CAAC,CAAC7K,QAAV;AAAA,cAAmB+K,CAAC,GAAC,IAAI0jQ,EAAJ,CAAO5lQ,CAAC,CAACynQ,SAAT,EAAmB,CAAC,CAAD,CAAnB,CAArB;AAA6Cr7R,QAAAA,CAAC,GAAC,IAAImvS,EAAJ,CAAO9lR,CAAP,EAAS2K,CAAT,EAAW8B,CAAX,EAAalC,CAAC,CAAC3pC,OAAf,CAAF;AAA0B,OAA3F,MAAgG+V,CAAC,GAAC,IAAI24S,EAAJ,CAAOtvR,CAAP,EAAS2K,CAAT,CAAF;;AAAcJ,MAAAA,CAAC,CAACsgR,YAAF,CAAel0S,CAAf,GAAkB41B,CAAC,CAACqjR,cAAF,CAAiBj5S,CAAjB,CAAlB;AAAsC;;AAAA,aAASg5S,EAAT,CAAY3vR,CAAZ,EAAc2K,CAAd,EAAgB;AAAC,aAAO3K,CAAC,KAAG2K,CAAJ,IAAO3K,CAAC,YAAYmuR,EAAb,IAAiBxjR,CAAC,YAAYwjR,EAA5C;AAA+C;;AAAA,aAASx6F,EAAT,CAAY3zL,CAAZ,EAAc2K,CAAd,EAAgBJ,CAAC,GAAC,EAAlB,EAAqB;AAAC,UAAGI,CAAC,CAACqrP,WAAL,EAAiB;AAAO,YAAMzpP,CAAC,GAAC5B,CAAC,CAAC6sP,aAAF,EAAR;AAA0B,UAAG,gBAAcjrP,CAAC,CAAC/I,IAAF,CAAO8+E,QAAxB,EAAiC;AAAO,YAAM3rG,CAAC,GAACqpB,CAAC,CAAC2hP,MAAV;AAAiB3hP,MAAAA,CAAC,CAAC0hL,MAAF,CAAU1hL,CAAC,IAAE;AAAC,YAAG,CAACuK,CAAC,CAAC2mR,uBAAH,IAA4B,UAASlxR,CAAT,EAAW2K,CAAX,EAAa;AAAC,gBAAMJ,CAAC,GAACvK,CAAC,CAACg+Q,eAAF,CAAkBrzQ,CAAlB,CAAR;AAA6B,cAAG,CAACA,CAAC,CAACotQ,qBAAF,CAAwBxtQ,CAAxB,CAAJ,EAA+B,OAAM,CAAC,CAAP;AAAS,gBAAMgC,CAAC,GAAC5B,CAAC,CAAC6sP,aAAF,EAAR;AAA0B,cAAGjrP,CAAC,CAACk6E,KAAF,CAAQtlC,MAAR,IAAgB50C,CAAC,CAACm6E,GAAF,CAAMvlC,MAAzB,EAAgC,OAAM,CAAC,CAAP;AAAS,iBAAOnhD,CAAC,CAAC27Q,UAAF,CAAapxQ,CAAb,EAAe,WAAf,CAAP;AAAmC,SAAzL,CAA0L5zB,CAA1L,EAA4Lg0B,CAA5L,CAA/B,EAA8N,OAAO,KAAK,UAAS3K,CAAT,EAAW2K,CAAX,EAAa;AAAC,gBAAMJ,CAAC,GAACvK,CAAC,CAACzjB,KAAF,CAAQolQ,MAAR,CAAeq8B,eAAf,CAA+BrzQ,CAA/B,CAAR;AAA0C3K,UAAAA,CAAC,CAACigF,MAAF,CAASjgF,CAAC,CAACu9P,aAAF,CAAgBhzP,CAAhB,CAAT,GAA6B4mR,EAAE,CAACnxR,CAAD,EAAGA,CAAC,CAACm9P,gBAAF,CAAmB5yP,CAAnB,EAAqB,CAArB,CAAH,EAA2BI,CAA3B,CAA/B;AAA6D,SAArH,CAAsH3K,CAAtH,EAAwH2K,CAAxH,CAAZ;AAAuI,cAAM8B,CAAC,GAAC,EAAR;;AAAW,YAAG,CAAClC,CAAC,CAAC6mR,kBAAN,EAAyB;AAAC,gBAAMpxR,CAAC,GAAC2K,CAAC,CAACgtP,kBAAF,EAAR;AAA+B33P,UAAAA,CAAC,IAAEmC,MAAM,CAACC,MAAP,CAAcqK,CAAd,EAAgB91B,CAAC,CAACiqS,yBAAF,CAA4B5gR,CAA5B,EAA8B,eAA9B,EAA8C,CAAC,CAA/C,CAAhB,CAAH;AAAsE;;AAAA,cAAK,CAACsK,CAAD,EAAG83C,CAAH,IAAM,UAASpiD,CAAT,EAAW;AAAC,gBAAM2K,CAAC,GAAC3K,CAAC,CAACwD,IAAF,CAAO9B,QAAP,CAAgBnlB,KAAxB;AAAA,gBAA8BguB,CAAC,GAACvK,CAAC,CAACymF,KAAlC;AAAwC,cAAIl6E,CAAC,GAACvM,CAAC,CAAC0mF,GAAR;;AAAY,cAAG/7E,CAAC,CAACu5Q,UAAF,CAAalkR,CAAb,EAAe;AAACqxR,YAAAA,aAAa,EAAC,CAAC;AAAhB,WAAf,CAAH,EAAsC;AAAC,kBAAM9mR,CAAC,GAAC,UAASvK,CAAT,EAAW;AAAC,oBAAM2K,CAAC,GAAC3K,CAAC,CAACmhD,MAAV;AAAA,oBAAiB52C,CAAC,GAACI,CAAC,CAACnH,IAAF,CAAO9B,QAAP,CAAgBnlB,KAAhB,CAAsBolQ,MAAzC;AAAA,oBAAgDp1O,CAAC,GAAC5B,CAAC,CAACsiP,YAAF,CAAe;AAACE,gBAAAA,WAAW,EAAC,CAAC,CAAd;AAAgBD,gBAAAA,WAAW,EAAC,CAAC;AAA7B,eAAf,CAAlD;;AAAkG,mBAAI,MAAMltP,CAAV,IAAeuM,CAAf,EAAiB;AAAC,oBAAGhC,CAAC,CAAC8tQ,OAAF,CAAUr4Q,CAAV,CAAH,EAAgB,OAAO,IAAP;AAAY,oBAAGuK,CAAC,CAAC4tQ,OAAF,CAAUn4Q,CAAV,CAAH,EAAgB,OAAOA,CAAP;AAAS;AAAC,aAAtL,CAAuLuM,CAAvL,CAAR;;AAAkM,gBAAGhC,CAAC,IAAEgC,CAAC,CAACokQ,UAAF,CAAahmQ,CAAC,CAACwyP,gBAAF,CAAmB5yP,CAAnB,EAAqB,CAArB,CAAb,CAAN,EAA4C;AAAC,oBAAMA,CAAC,GAACI,CAAC,CAAC6yP,eAAF,CAAkBx9P,CAAlB,CAAR;AAA6B2K,cAAAA,CAAC,CAAC2mR,eAAF,CAAkB/mR,CAAlB,EAAoB;AAACmpM,gBAAAA,SAAS,EAAC;AAAX,eAApB;AAA4C,oBAAM/8N,CAAC,GAAC4zB,CAAC,CAACmtP,eAAF,EAAR;AAAA,oBAA4BjrP,CAAC,GAAC9B,CAAC,CAACq8E,WAAF,CAAcrwG,CAAd,EAAgB41B,CAAhB,CAA9B;AAAiD5B,cAAAA,CAAC,CAACu5Q,UAAF,CAAaz3Q,CAAb,EAAe;AAAC4kR,gBAAAA,aAAa,EAAC,CAAC;AAAhB,eAAf,MAAqC9kR,CAAC,GAAC51B,CAAvC;AAA0C;AAAC;;AAAA,iBAAM,CAACyzS,EAAE,CAACG,YAAH,CAAgBhgR,CAAhB,EAAkB,YAAlB,CAAD,EAAiC6/Q,EAAE,CAACG,YAAH,CAAgBh+Q,CAAhB,EAAkB,QAAlB,CAAjC,CAAN;AAAoE,SAA/jB,CAAgkBA,CAAhkB,CAAX;;AAA8kBjC,QAAAA,CAAC,CAACqmQ,UAAF,CAAavuN,CAAb,KAAiBpiD,CAAC,CAACigF,MAAF,CAASjgF,CAAC,CAACgnF,WAAF,CAAc18E,CAAd,EAAgB83C,CAAhB,CAAT,CAAjB,EAA8C73C,CAAC,CAACgnR,aAAF,KAAkB,CAAC,UAASvxR,CAAT,EAAW2K,CAAX,EAAaJ,CAAb,EAAe;AAAC,gBAAMgC,CAAC,GAACvM,CAAC,CAACzjB,KAAV;AAAgB,cAAG,CAACi1S,EAAE,CAACxxR,CAAC,CAACzjB,KAAF,CAAQolQ,MAAT,EAAgBh3O,CAAhB,EAAkBJ,CAAlB,CAAN,EAA2B;;AAAO,gBAAK,CAAC5zB,CAAD,EAAG81B,CAAH,IAAM,UAASzM,CAAT,EAAW2K,CAAX,EAAa;AAAC,kBAAMJ,CAAC,GAACvK,CAAC,CAACitP,YAAF,EAAR;AAAA,kBAAyB1gP,CAAC,GAAC5B,CAAC,CAACsiP,YAAF,EAA3B;AAA4C,gBAAIt2Q,CAAC,GAAC,CAAN;;AAAQ,mBAAK4zB,CAAC,CAAC5zB,CAAD,CAAD,IAAM4zB,CAAC,CAAC5zB,CAAD,CAAD,IAAM41B,CAAC,CAAC51B,CAAD,CAAlB,GAAuBA,CAAC;;AAAG,mBAAM,CAAC4zB,CAAC,CAAC5zB,CAAD,CAAF,EAAM41B,CAAC,CAAC51B,CAAD,CAAP,CAAN;AAAkB,WAA/G,CAAgHg0B,CAAhH,EAAkHJ,CAAlH,CAAX;;AAAgI,cAAG,CAAC5zB,CAAD,IAAI,CAAC81B,CAAR,EAAU;AAAO,WAACF,CAAC,CAAC23Q,UAAF,CAAavtS,CAAb,EAAe;AAAC06S,YAAAA,aAAa,EAAC,CAAC;AAAhB,WAAf,CAAD,IAAqC9kR,CAAC,CAAC23Q,UAAF,CAAaz3Q,CAAb,EAAe;AAAC4kR,YAAAA,aAAa,EAAC,CAAC;AAAhB,WAAf,CAArC,GAAwEI,EAAE,CAACzxR,CAAD,EAAG2K,CAAH,EAAKJ,CAAL,EAAO5zB,CAAC,CAACwqE,MAAT,CAA1E,GAA2FuwO,EAAE,CAAC1xR,CAAD,EAAG2K,CAAH,EAAKJ,CAAL,EAAO5zB,CAAC,CAACwqE,MAAT,CAA7F;AAA8G,SAAjU,CAAkUnhD,CAAlU,EAAoUsK,CAApU,EAAsU83C,CAAtU,CAAD,EAA0UzrE,CAAC,CAAC+pS,0BAAF,CAA6Bp2Q,CAAC,CAAC62C,MAAF,CAAS6iC,WAAT,EAA7B,EAAoDhkF,CAApD,CAA5V,CAA9C,EAAkc2xR,EAAE,CAAC3xR,CAAD,EAAG2K,CAAH,EAAKL,CAAL,CAApc,EAA4c,CAACC,CAAC,CAAC6mR,kBAAH,IAAuB,UAASpxR,CAAT,EAAW2K,CAAX,EAAa;AAAC,gBAAMJ,CAAC,GAACvK,CAAC,CAAC27Q,UAAF,CAAahxQ,CAAb,EAAe,OAAf,CAAR;AAAA,gBAAgC4B,CAAC,GAACvM,CAAC,CAAC27Q,UAAF,CAAahxQ,CAAb,EAAe,WAAf,CAAlC;AAA8D,iBAAM,CAACJ,CAAD,IAAIgC,CAAV;AAAY,SAAxF,CAAyF51B,CAAzF,EAA2F2zB,CAA3F,CAAvB,IAAsH6mR,EAAE,CAACnxR,CAAD,EAAGsK,CAAH,EAAKK,CAAL,EAAO8B,CAAP,CAApkB,EAA8kBnC,CAAC,CAACypO,MAAF,EAA9kB,EAAylB3xL,CAAC,CAAC2xL,MAAF,EAAzlB;AAAomB,OAA/qD;AAAkrD;;AAAA,aAAS29C,EAAT,CAAY1xR,CAAZ,EAAc2K,CAAd,EAAgBJ,CAAhB,EAAkBgC,CAAlB,EAAoB;AAAC,YAAM51B,CAAC,GAACg0B,CAAC,CAACw2C,MAAV;AAAA,YAAiB10C,CAAC,GAAClC,CAAC,CAAC42C,MAArB;;AAA4B,UAAGxqE,CAAC,IAAE41B,CAAH,IAAME,CAAC,IAAEF,CAAZ,EAAc;AAAC,aAAI5B,CAAC,GAAC3K,CAAC,CAACo9P,mBAAF,CAAsBzmR,CAAtB,CAAF,EAA2B,CAAC4zB,CAAC,GAACvK,CAAC,CAACq9P,oBAAF,CAAuB5wP,CAAvB,CAAH,EAA8BspO,OAA9B,CAAsCprO,CAAtC,KAA0C3K,CAAC,CAACsmF,MAAF,CAAS75E,CAAT,EAAW9B,CAAX,CAArE,EAAmF3K,CAAC,CAACswR,KAAF,CAAQ3lR,CAAR,CAAvF,EAAkGJ,CAAC,CAAC42C,MAAF,CAAS9qC,OAA3G,GAAoH;AAAC,gBAAM1L,CAAC,GAACJ,CAAC,CAAC42C,MAAV;AAAiB52C,UAAAA,CAAC,GAACvK,CAAC,CAACq9P,oBAAF,CAAuB1yP,CAAvB,CAAF,EAA4B3K,CAAC,CAACigF,MAAF,CAASt1E,CAAT,CAA5B;AAAwC;;AAAA6mR,QAAAA,EAAE,CAACxxR,CAAC,CAACzjB,KAAF,CAAQolQ,MAAT,EAAgBh3O,CAAhB,EAAkBJ,CAAlB,CAAF,IAAwBmnR,EAAE,CAAC1xR,CAAD,EAAG2K,CAAH,EAAKJ,CAAL,EAAOgC,CAAP,CAA1B;AAAoC;AAAC;;AAAA,aAASklR,EAAT,CAAYzxR,CAAZ,EAAc2K,CAAd,EAAgBJ,CAAhB,EAAkBgC,CAAlB,EAAoB;AAAC,YAAM51B,CAAC,GAACg0B,CAAC,CAACw2C,MAAV;AAAA,YAAiB10C,CAAC,GAAClC,CAAC,CAAC42C,MAArB;;AAA4B,UAAGxqE,CAAC,IAAE41B,CAAH,IAAME,CAAC,IAAEF,CAAZ,EAAc;AAAC,aAAI5B,CAAC,GAAC3K,CAAC,CAACo9P,mBAAF,CAAsBzmR,CAAtB,CAAF,EAA2B,CAAC4zB,CAAC,GAACvK,CAAC,CAACq9P,oBAAF,CAAuB5wP,CAAvB,CAAH,EAA8BspO,OAA9B,CAAsCprO,CAAtC,KAA0C3K,CAAC,CAACsmF,MAAF,CAAS3vG,CAAT,EAAW4zB,CAAX,CAAzE,EAAuFI,CAAC,CAACw2C,MAAF,CAAS9qC,OAAhG,GAAyG;AAAC,gBAAM9L,CAAC,GAACI,CAAC,CAACw2C,MAAV;AAAiBx2C,UAAAA,CAAC,GAAC3K,CAAC,CAACq9P,oBAAF,CAAuB9yP,CAAvB,CAAF,EAA4BvK,CAAC,CAACigF,MAAF,CAAS11E,CAAT,CAA5B;AAAwC;;AAAAA,QAAAA,CAAC,GAACvK,CAAC,CAACq9P,oBAAF,CAAuB5wP,CAAvB,CAAF,EAA4B,UAASzM,CAAT,EAAW2K,CAAX,EAAa;AAAC,gBAAMJ,CAAC,GAACI,CAAC,CAAC+qP,UAAV;AAAA,gBAAqBnpP,CAAC,GAAC5B,CAAC,CAAC8qP,SAAzB;AAAmClrP,UAAAA,CAAC,CAAC/5B,IAAF,IAAQ+7B,CAAC,CAAC/7B,IAAV,IAAgBwvB,CAAC,CAACi9P,MAAF,CAAS1yP,CAAT,EAAWgC,CAAC,CAAC/7B,IAAb,CAAhB;AAAmCwvB,UAAAA,CAAC,CAACmwR,eAAF,CAAkB5lR,CAAlB,GAAqBvK,CAAC,CAACkwR,aAAF,CAAgB/tR,MAAM,CAACi5O,WAAP,CAAmB7uO,CAAC,CAAC23E,aAAF,EAAnB,CAAhB,EAAsD35E,CAAtD,CAArB,EAA8EvK,CAAC,CAACswR,KAAF,CAAQ3lR,CAAR,CAA9E;AAAyF,SAA7K,CAA8K3K,CAA9K,EAAgLuK,CAAhL,CAA5B,EAA+MinR,EAAE,CAACxxR,CAAC,CAACzjB,KAAF,CAAQolQ,MAAT,EAAgBh3O,CAAhB,EAAkBJ,CAAlB,CAAF,IAAwBknR,EAAE,CAACzxR,CAAD,EAAG2K,CAAH,EAAKJ,CAAL,EAAOgC,CAAP,CAAzO;AAAmP;AAAC;;AAAA,aAASilR,EAAT,CAAYxxR,CAAZ,EAAc2K,CAAd,EAAgBJ,CAAhB,EAAkB;AAAC,YAAMgC,CAAC,GAAC5B,CAAC,CAACw2C,MAAV;AAAA,YAAiBxqE,CAAC,GAAC4zB,CAAC,CAAC42C,MAArB;AAA4B,aAAO50C,CAAC,IAAE51B,CAAH,IAAO,CAACqpB,CAAC,CAACq4Q,OAAF,CAAU9rQ,CAAV,CAAD,IAAe,CAACvM,CAAC,CAACq4Q,OAAF,CAAU1hS,CAAV,CAAhB,IAA8B,UAASqpB,CAAT,EAAW2K,CAAX,EAAaJ,CAAb,EAAe;AAAC,cAAMgC,CAAC,GAAC,IAAI0lQ,EAAJ,CAAOjyQ,CAAP,EAAS2K,CAAT,CAAR;;AAAoB,aAAI,MAAM3K,CAAV,IAAeuM,CAAC,CAACupP,SAAF,EAAf,EAA6B,IAAGvrP,CAAC,CAAC8tQ,OAAF,CAAUr4Q,CAAC,CAACxlB,IAAZ,CAAH,EAAqB,OAAM,CAAC,CAAP;;AAAS,eAAM,CAAC,CAAP;AAAS,OAAxG,CAAyGmwB,CAAzG,EAA2GJ,CAA3G,EAA6GvK,CAA7G,CAA5C;AAA6J;;AAAA,aAASmxR,EAAT,CAAYnxR,CAAZ,EAAc2K,CAAd,EAAgBJ,CAAhB,EAAkBgC,CAAC,GAAC,EAApB,EAAuB;AAAC,YAAM51B,CAAC,GAACqpB,CAAC,CAAC6G,aAAF,CAAgB,WAAhB,CAAR;AAAqC7G,MAAAA,CAAC,CAACzjB,KAAF,CAAQolQ,MAAR,CAAe8+B,oBAAf,CAAoC9pS,CAApC,EAAsC41B,CAAtC,EAAwCvM,CAAxC,GAA2CA,CAAC,CAACsmF,MAAF,CAAS3vG,CAAT,EAAWg0B,CAAX,CAA3C,EAAyDgnR,EAAE,CAAC3xR,CAAD,EAAGuK,CAAH,EAAKvK,CAAC,CAACm9P,gBAAF,CAAmBxmR,CAAnB,EAAqB,CAArB,CAAL,CAA3D;AAAyF;;AAAA,aAASg7S,EAAT,CAAY3xR,CAAZ,EAAc2K,CAAd,EAAgBJ,CAAhB,EAAkB;AAACI,MAAAA,CAAC,YAAYkuQ,EAAb,GAAgB74Q,CAAC,CAACm7P,YAAF,CAAe5wP,CAAf,CAAhB,GAAkCI,CAAC,CAAC4mP,KAAF,CAAQhnP,CAAR,CAAlC;AAA6C;;AAAA,aAASqlL,EAAT,CAAY5vL,CAAZ,EAAc2K,CAAd,EAAgB;AAAC,YAAMJ,CAAC,GAAC,EAAR;AAAWpF,MAAAA,KAAK,CAAC7H,IAAN,CAAW0C,CAAC,CAACunG,QAAF,CAAW;AAACmsG,QAAAA,SAAS,EAAC;AAAX,OAAX,CAAX,EAA+ClqO,GAA/C,CAAoDw2B,CAAC,IAAE2K,CAAC,CAAC2yP,aAAF,CAAgBt9P,CAAhB,CAAvD,EAA4Er2B,MAA5E,CAAoFghC,CAAC,IAAE,CAACA,CAAC,CAAC87E,KAAF,CAAQ+sH,OAAR,CAAgBxzM,CAAC,CAACymF,KAAlB,KAA0B97E,CAAC,CAAC87E,KAAF,CAAQsvJ,OAAR,CAAgB/1O,CAAC,CAACymF,KAAlB,CAA3B,MAAuD97E,CAAC,CAAC+7E,GAAF,CAAM9wF,QAAN,CAAeoK,CAAC,CAAC0mF,GAAjB,KAAuB/7E,CAAC,CAAC+7E,GAAF,CAAMqvJ,OAAN,CAAc/1O,CAAC,CAAC0mF,GAAhB,CAA9E,CAAvF,EAA6L7gF,OAA7L,CAAsM7F,CAAC,IAAE;AAACuK,QAAAA,CAAC,CAACtE,IAAF,CAAOjG,CAAC,CAACymF,KAAF,CAAQtlC,MAAf,GAAuBx2C,CAAC,CAACs1E,MAAF,CAASjgF,CAAT,CAAvB;AAAmC,OAA7O,GAAgPuK,CAAC,CAAC1E,OAAF,CAAW7F,CAAC,IAAE;AAAC,YAAIuK,CAAC,GAACvK,CAAN;;AAAQ,eAAKuK,CAAC,CAAC42C,MAAF,IAAU52C,CAAC,CAAC8L,OAAjB,GAA0B;AAAC,gBAAMrW,CAAC,GAAC2K,CAAC,CAAC2yP,aAAF,CAAgB/yP,CAAhB,CAAR;AAA2BA,UAAAA,CAAC,GAACA,CAAC,CAAC42C,MAAJ,EAAWx2C,CAAC,CAACs1E,MAAF,CAASjgF,CAAT,CAAX;AAAuB;AAAC,OAArG,CAAhP;AAAwV;;AAAA,UAAM4xR,EAAN,CAAQ;AAACnyT,MAAAA,WAAW,CAACugC,CAAD,EAAG2K,CAAH,EAAKJ,CAAL,EAAO;AAAC,aAAKsnR,UAAL,GAAgB,IAAhB,EAAqB,KAAKC,SAAL,GAAe,IAApC,EAAyC,KAAKC,kBAAL,GAAwB,IAAjE,EAAsE,KAAKC,mBAAL,GAAyB,EAA/F,EAAkG,KAAKC,cAAL,GAAoB,IAAtH,EAA2H,KAAKC,YAAL,GAAkB,IAA7I,EAAkJ,KAAKC,aAAL,GAAmB,IAArK,EAA0K,KAAK51S,KAAL,GAAWyjB,CAArL,EAAuL,KAAKulF,MAAL,GAAY56E,CAAnM,EAAqM,KAAK76B,QAAL,GAAcy6B,CAAnN,EAAqN,KAAK6nR,YAAL,GAAkB,IAAIvgN,GAAJ,CAAQ,CAAC,KAAK/hG,QAAL,CAAcqxE,MAAf,CAAR,CAAvO,EAAuQ,KAAKwgM,MAAL,GAAY3hP,CAAC,CAAC2hP,MAArR,EAA4R,KAAK0wC,iBAAL,GAAuB1nR,CAAC,CAAC23O,sBAAF,EAAnT,EAA8U,KAAKgwC,yBAAL,GAA+B3nR,CAAC,CAACwyP,gBAAF,CAAmB,KAAKk1B,iBAAxB,EAA0C,CAA1C,CAA7W;AAA0Z;;AAAAE,MAAAA,WAAW,CAACvyR,CAAD,EAAG;AAAC,aAAI,MAAM2K,CAAV,IAAexF,KAAK,CAAC7H,IAAN,CAAW0C,CAAX,CAAf,EAA6B,KAAKwyR,WAAL,CAAiB7nR,CAAjB;;AAAoB,aAAK8nR,sBAAL,IAA8B,KAAKV,kBAAL,IAAyB,KAAKW,gCAAL,CAAsC,KAAKX,kBAA3C,CAAvD,EAAsH,KAAKY,aAAL,EAAtH,EAA2I,KAAKhxC,MAAL,CAAY++B,0BAAZ,CAAuC,KAAKsR,mBAA5C,EAAgE,KAAKzsM,MAArE,CAA3I,EAAwN,KAAKysM,mBAAL,GAAyB,EAAjP;AAAoP;;AAAAU,MAAAA,gCAAgC,CAAC1yR,CAAD,EAAG;AAAC,cAAM2K,CAAC,GAAC,KAAK46E,MAAL,CAAY63K,mBAAZ,CAAgC,KAAK00B,SAArC,CAAR;AAAA,cAAwDvnR,CAAC,GAAC,KAAKg7E,MAAL,CAAY63K,mBAAZ,CAAgCp9P,CAAhC,CAA1D;;AAA6F,YAAGuK,CAAC,CAACipM,OAAF,CAAU7oM,CAAV,CAAH,EAAgB;AAAC,cAAG,KAAKmnR,SAAL,GAAe9xR,CAAf,EAAiB,KAAKlwB,QAAL,CAAcqxE,MAAd,IAAsBnhD,CAAtB,IAAyB,CAAC,KAAKlwB,QAAL,CAAcolR,OAA5D,EAAoE,MAAM,IAAI/yM,CAAJ,CAAM,0CAAN,EAAiD,IAAjD,CAAN;AAA6D,eAAKryE,QAAL,GAAcy6B,CAAd,EAAgB,KAAKqoR,sBAAL,CAA4B,KAAK9iT,QAAjC,CAAhB;AAA2D;AAAC;;AAAA+iT,MAAAA,iBAAiB,GAAE;AAAC,eAAO,KAAKV,aAAL,GAAmBlgB,EAAE,CAACnb,SAAH,CAAa,KAAKq7B,aAAlB,CAAnB,GAAoD,KAAK51S,KAAL,CAAWolQ,MAAX,CAAkBi5B,wBAAlB,CAA2C,KAAK9qS,QAAhD,CAA3D;AAAqH;;AAAAgjT,MAAAA,gBAAgB,GAAE;AAAC,eAAO,KAAKb,cAAL,GAAoB,IAAIhgB,EAAJ,CAAO,KAAKggB,cAAZ,EAA2B,KAAKC,YAAhC,CAApB,GAAkE,IAAzE;AAA8E;;AAAAvzM,MAAAA,OAAO,GAAE;AAAC,aAAKszM,cAAL,IAAqB,KAAKA,cAAL,CAAoBl+C,MAApB,EAArB,EAAkD,KAAKm+C,YAAL,IAAmB,KAAKA,YAAL,CAAkBn+C,MAAlB,EAArE;AAAgG;;AAAAy+C,MAAAA,WAAW,CAACxyR,CAAD,EAAG;AAAC,YAAG,KAAK2hP,MAAL,CAAYt5J,QAAZ,CAAqBroF,CAArB,CAAH,EAA2B,OAAO,KAAK,KAAK+yR,aAAL,CAAmB/yR,CAAnB,CAAZ;;AAAkC,YAAI2K,CAAC,GAAC,KAAKqoR,uCAAL,CAA6ChzR,CAA7C,CAAN;;AAAsD2K,QAAAA,CAAC,KAAGA,CAAC,GAAC,KAAKsoR,+BAAL,CAAqCjzR,CAArC,CAAF,EAA0C2K,CAA7C,CAAD,IAAkD,KAAKuoR,iBAAL,CAAuBlzR,CAAvB,GAA0B,KAAK6xR,UAAL,KAAkB,KAAKA,UAAL,GAAgB7xR,CAAlC,CAA1B,EAA+D,KAAK8xR,SAAL,GAAe9xR,CAAhI,IAAmI,KAAKmzR,qBAAL,CAA2BnzR,CAA3B,CAAnI;AAAiK;;AAAAyyR,MAAAA,sBAAsB,GAAE;AAAC,YAAG,KAAKJ,iBAAL,CAAuBh8Q,OAA1B,EAAkC;AAAO,cAAMrW,CAAC,GAACoqR,EAAE,CAACG,YAAH,CAAgB,KAAKz6S,QAArB,EAA8B,QAA9B,CAAR;AAAgD,aAAK8iT,sBAAL,CAA4B,KAAK9iT,QAAjC,GAA2C,KAAKuiT,iBAAL,CAAuBxlC,QAAvB,CAAgC,CAAhC,KAAoC,KAAKglC,UAAzC,KAAsD,KAAKtsM,MAAL,CAAYe,MAAZ,CAAmB,KAAKurM,UAAxB,EAAmC,KAAK/hT,QAAxC,GAAkD,KAAKsjT,YAAL,EAAlD,EAAsE,KAAKtjT,QAAL,GAAckwB,CAAC,CAACsqR,UAAF,EAA1I,CAA3C,EAAqM,KAAK+H,iBAAL,CAAuBh8Q,OAAvB,IAAgC,KAAKkvE,MAAL,CAAYe,MAAZ,CAAmB,KAAK+rM,iBAAxB,EAA0C,KAAKviT,QAA/C,CAArO,EAA8R,KAAKwiT,yBAAL,GAA+B,KAAK/sM,MAAL,CAAY43K,gBAAZ,CAA6B,KAAKk1B,iBAAlC,EAAoD,CAApD,CAA7T,EAAoX,KAAKviT,QAAL,GAAckwB,CAAC,CAACsqR,UAAF,EAAlY,EAAiZtqR,CAAC,CAAC+zO,MAAF,EAAjZ;AAA4Z;;AAAAg/C,MAAAA,aAAa,CAAC/yR,CAAD,EAAG;AAAC,aAAKizR,+BAAL,CAAqCjzR,CAArC,IAAwC,KAAKkzR,iBAAL,CAAuBlzR,CAAvB,CAAxC,GAAkE,KAAKqzR,oBAAL,CAA0BrzR,CAA1B,CAAlE;AAA+F;;AAAAmzR,MAAAA,qBAAqB,CAACnzR,CAAD,EAAG;AAACA,QAAAA,CAAC,CAAC6qF,EAAF,CAAK,SAAL,IAAgB,KAAK0nM,WAAL,CAAiBvyR,CAAC,CAACgkF,WAAF,EAAjB,CAAhB,GAAkD,KAAKqvM,oBAAL,CAA0BrzR,CAA1B,CAAlD;AAA+E;;AAAAkzR,MAAAA,iBAAiB,CAAClzR,CAAD,EAAG;AAAC,YAAG,CAAC,KAAK2hP,MAAL,CAAYg6B,UAAZ,CAAuB,KAAK7rS,QAA5B,EAAqCkwB,CAArC,CAAJ,EAA4C,MAAM,IAAImiD,CAAJ,CAAM,8BAAN,EAAqC,IAArC,EAA0C;AAACkkC,UAAAA,IAAI,EAACrmF,CAAN;AAAQlwB,UAAAA,QAAQ,EAAC,KAAKA;AAAtB,SAA1C,CAAN;AAAiF,aAAKy1G,MAAL,CAAYe,MAAZ,CAAmBtmF,CAAnB,EAAqB,KAAKsyR,yBAA1B,GAAqD,KAAKA,yBAAL,GAA+B,KAAKA,yBAAL,CAA+B38B,YAA/B,CAA4C31P,CAAC,CAAC4tP,UAA9C,CAApF,EAA8I,KAAKjM,MAAL,CAAYt5J,QAAZ,CAAqBroF,CAArB,KAAyB,CAAC,KAAK2hP,MAAL,CAAYg6B,UAAZ,CAAuB,KAAK7rS,QAA5B,EAAqC,OAArC,CAA1B,GAAwE,KAAKqiT,aAAL,GAAmBnyR,CAA3F,GAA6F,KAAKmyR,aAAL,GAAmB,IAA9P,EAAmQ,KAAKH,mBAAL,CAAyB/rR,IAAzB,CAA8BjG,CAA9B,CAAnQ;AAAoS;;AAAA4yR,MAAAA,sBAAsB,CAAC5yR,CAAD,EAAG;AAAC,aAAKiyR,cAAL,KAAsB,KAAKA,cAAL,GAAoB7H,EAAE,CAACG,YAAH,CAAgBvqR,CAAhB,EAAkB,YAAlB,CAA1C,GAA2E,KAAKkyR,YAAL,IAAmB,CAAC,KAAKA,YAAL,CAAkBt8R,QAAlB,CAA2BoK,CAA3B,CAApB,KAAoD,KAAKkyR,YAAL,IAAmB,KAAKA,YAAL,CAAkBn+C,MAAlB,EAAnB,EAA8C,KAAKm+C,YAAL,GAAkB9H,EAAE,CAACG,YAAH,CAAgBvqR,CAAhB,EAAkB,QAAlB,CAApH,CAA3E;AAA4N;;AAAAozR,MAAAA,YAAY,GAAE;AAAC,cAAMpzR,CAAC,GAAC,KAAK6xR,UAAb;AAAwB,YAAG,EAAE7xR,CAAC,YAAYgwQ,EAAf,CAAH,EAAsB;AAAO,YAAG,CAAC,KAAKsjB,aAAL,CAAmBtzR,CAAnB,CAAJ,EAA0B;;AAAO,cAAM2K,CAAC,GAACy/Q,EAAE,CAAC90B,aAAH,CAAiBt1P,CAAjB,CAAR;;AAA4B2K,QAAAA,CAAC,CAACk8E,UAAF,GAAa,QAAb;AAAsB,cAAMt8E,CAAC,GAAC6/Q,EAAE,CAACG,YAAH,CAAgB,KAAKz6S,QAArB,EAA8B,QAA9B,CAAR;AAAgD,aAAKmiT,cAAL,CAAoBl8C,OAApB,CAA4BprO,CAA5B,MAAiC,KAAKsnR,cAAL,CAAoBl+C,MAApB,IAA6B,KAAKk+C,cAAL,GAAoB7H,EAAE,CAAC11B,SAAH,CAAa/pP,CAAC,CAAC+qP,UAAf,EAA0B,KAA1B,EAAgC,YAAhC,CAAlF,GAAiI,KAAKm8B,UAAL,KAAkB,KAAKC,SAAvB,KAAmC,KAAKD,UAAL,GAAgBlnR,CAAC,CAAC+qP,UAAlB,EAA6B,KAAKo8B,SAAL,GAAennR,CAAC,CAAC+qP,UAAjF,CAAjI,EAA8N,KAAKnwK,MAAL,CAAY+qM,KAAZ,CAAkB3lR,CAAlB,CAA9N,EAAmPA,CAAC,CAACorO,OAAF,CAAU,KAAKm8C,YAAf,KAA8B,KAAKL,UAAL,KAAkB,KAAKC,SAArD,KAAiE,KAAKI,YAAL,CAAkBn+C,MAAlB,IAA2B,KAAKm+C,YAAL,GAAkB9H,EAAE,CAAC11B,SAAH,CAAa/pP,CAAC,CAAC+qP,UAAf,EAA0B,KAA1B,EAAgC,QAAhC,CAA9G,CAAnP,EAA4Y,KAAK5lR,QAAL,GAAcy6B,CAAC,CAAC+/Q,UAAF,EAA1Z,EAAya//Q,CAAC,CAACwpO,MAAF,EAAza,EAAob,KAAKi+C,mBAAL,CAAyB/rR,IAAzB,CAA8B,KAAKn2B,QAAL,CAAcqxE,MAA5C,CAApb,EAAwex2C,CAAC,CAACopO,MAAF,EAAxe;AAAmf;;AAAA4+C,MAAAA,aAAa,GAAE;AAAC,cAAM3yR,CAAC,GAAC,KAAK8xR,SAAb;AAAuB,YAAG,EAAE9xR,CAAC,YAAYgwQ,EAAf,CAAH,EAAsB;AAAO,YAAG,CAAC,KAAKujB,cAAL,CAAoBvzR,CAApB,CAAJ,EAA2B;;AAAO,cAAM2K,CAAC,GAACy/Q,EAAE,CAACj1B,YAAH,CAAgBn1P,CAAhB,CAAR;;AAA2B,YAAG2K,CAAC,CAACk8E,UAAF,GAAa,QAAb,EAAsB,CAAC,KAAK/2G,QAAL,CAAcimQ,OAAd,CAAsBprO,CAAtB,CAA1B,EAAmD,MAAM,IAAIw3C,CAAJ,CAAM,0CAAN,EAAiD,IAAjD,CAAN;AAA6D,aAAKryE,QAAL,GAAcqgS,EAAE,CAACzb,SAAH,CAAa/pP,CAAC,CAAC+qP,UAAf,EAA0B,KAA1B,CAAd;AAA+C,cAAMnrP,CAAC,GAAC6/Q,EAAE,CAACG,YAAH,CAAgB,KAAKz6S,QAArB,EAA8B,YAA9B,CAAR;AAAoD,aAAKoiT,YAAL,CAAkBn8C,OAAlB,CAA0BprO,CAA1B,MAA+B,KAAKunR,YAAL,CAAkBn+C,MAAlB,IAA2B,KAAKm+C,YAAL,GAAkB9H,EAAE,CAAC11B,SAAH,CAAa/pP,CAAC,CAAC+qP,UAAf,EAA0B,KAA1B,EAAgC,QAAhC,CAA5E,GAAuH,KAAKm8B,UAAL,KAAkB,KAAKC,SAAvB,KAAmC,KAAKD,UAAL,GAAgBlnR,CAAC,CAAC+qP,UAAlB,EAA6B,KAAKo8B,SAAL,GAAennR,CAAC,CAAC+qP,UAAjF,CAAvH,EAAoN,KAAKnwK,MAAL,CAAY+qM,KAAZ,CAAkB3lR,CAAlB,CAApN,EAAyOA,CAAC,CAACgrP,YAAF,CAAe,CAAC,CAAhB,EAAmB5f,OAAnB,CAA2B,KAAKk8C,cAAhC,KAAiD,KAAKJ,UAAL,KAAkB,KAAKC,SAAxE,KAAoF,KAAKG,cAAL,CAAoBl+C,MAApB,IAA6B,KAAKk+C,cAAL,GAAoB7H,EAAE,CAAC11B,SAAH,CAAa/pP,CAAC,CAAC+qP,UAAf,EAA0B,CAA1B,EAA4B,YAA5B,CAArI,CAAzO,EAAyZ,KAAK5lR,QAAL,GAAcy6B,CAAC,CAAC+/Q,UAAF,EAAva,EAAsb//Q,CAAC,CAACwpO,MAAF,EAAtb,EAAic,KAAKi+C,mBAAL,CAAyB/rR,IAAzB,CAA8B,KAAKn2B,QAAL,CAAcqxE,MAA5C,CAAjc,EAAqfx2C,CAAC,CAACopO,MAAF,EAArf;AAAggB;;AAAAu/C,MAAAA,aAAa,CAACtzR,CAAD,EAAG;AAAC,cAAM2K,CAAC,GAAC3K,CAAC,CAAC43O,eAAV;AAA0B,eAAOjtO,CAAC,YAAYqlQ,EAAb,IAAiB,KAAKoiB,YAAL,CAAkBtjQ,GAAlB,CAAsBnkB,CAAtB,CAAjB,IAA2C,KAAKpuB,KAAL,CAAWolQ,MAAX,CAAkBq+B,UAAlB,CAA6Br1Q,CAA7B,EAA+B3K,CAA/B,CAAlD;AAAoF;;AAAAuzR,MAAAA,cAAc,CAACvzR,CAAD,EAAG;AAAC,cAAM2K,CAAC,GAAC3K,CAAC,CAACynO,WAAV;AAAsB,eAAO98N,CAAC,YAAYqlQ,EAAb,IAAiB,KAAKoiB,YAAL,CAAkBtjQ,GAAlB,CAAsBnkB,CAAtB,CAAjB,IAA2C,KAAKpuB,KAAL,CAAWolQ,MAAX,CAAkBq+B,UAAlB,CAA6BhgR,CAA7B,EAA+B2K,CAA/B,CAAlD;AAAoF;;AAAA0oR,MAAAA,oBAAoB,CAACrzR,CAAD,EAAG;AAAC,cAAM2K,CAAC,GAAC,KAAK46E,MAAL,CAAY1+E,aAAZ,CAA0B,WAA1B,CAAR;AAA+C,aAAK2sR,aAAL,CAAmB,KAAK1jT,QAAL,CAAcqxE,MAAjC,EAAwCx2C,CAAxC,KAA4C,KAAKg3O,MAAL,CAAYg6B,UAAZ,CAAuBhxQ,CAAvB,EAAyB3K,CAAzB,CAA5C,KAA0E2K,CAAC,CAACo7E,YAAF,CAAe/lF,CAAf,GAAkB,KAAKwyR,WAAL,CAAiB7nR,CAAjB,CAA5F;AAAiH;;AAAAqoR,MAAAA,uCAAuC,CAAChzR,CAAD,EAAG;AAAC,YAAG,KAAK2hP,MAAL,CAAYg6B,UAAZ,CAAuB,KAAK7rS,QAAL,CAAcqxE,MAArC,EAA4CnhD,CAA5C,CAAH,EAAkD,OAAM,CAAC,CAAP;AAAS,YAAG,CAAC,KAAK2hP,MAAL,CAAYg6B,UAAZ,CAAuB,KAAK7rS,QAAL,CAAcqxE,MAArC,EAA4C,WAA5C,CAAD,IAA2D,CAAC,KAAKwgM,MAAL,CAAYg6B,UAAZ,CAAuB,WAAvB,EAAmC37Q,CAAnC,CAA/D,EAAqG,OAAM,CAAC,CAAP;;AAAS,aAAKyyR,sBAAL;;AAA8B,cAAM9nR,CAAC,GAAC,KAAK46E,MAAL,CAAY1+E,aAAZ,CAA0B,WAA1B,CAAR;AAA+C,eAAO,KAAK0+E,MAAL,CAAYe,MAAZ,CAAmB37E,CAAnB,EAAqB,KAAK76B,QAA1B,GAAoC,KAAK8iT,sBAAL,CAA4B,KAAK9iT,QAAjC,CAApC,EAA+E,KAAKiiT,kBAAL,GAAwBpnR,CAAvG,EAAyG,KAAK76B,QAAL,GAAc,KAAKy1G,MAAL,CAAY43K,gBAAZ,CAA6BxyP,CAA7B,EAA+B,CAA/B,CAAvH,EAAyJ,CAAC,CAAjK;AAAmK;;AAAAsoR,MAAAA,+BAA+B,CAACjzR,CAAD,EAAG;AAAC,cAAM2K,CAAC,GAAC,KAAK6oR,aAAL,CAAmB,KAAK1jT,QAAL,CAAcqxE,MAAjC,EAAwCnhD,CAAxC,CAAR;;AAAmD,YAAG,CAAC2K,CAAJ,EAAM,OAAM,CAAC,CAAP;;AAAS,aAAIA,CAAC,IAAE,KAAK76B,QAAL,CAAcqxE,MAAjB,IAAyB,KAAKsxO,sBAAL,EAA7B,EAA2D9nR,CAAC,IAAE,KAAK76B,QAAL,CAAcqxE,MAA5E,GAAoF,IAAG,KAAKrxE,QAAL,CAAculR,SAAjB,EAA2B;AAAC,gBAAMr1P,CAAC,GAAC,KAAKlwB,QAAL,CAAcqxE,MAAtB;AAA6B,eAAKrxE,QAAL,GAAc,KAAKy1G,MAAL,CAAY83K,oBAAZ,CAAiCr9P,CAAjC,CAAd,EAAkDA,CAAC,CAACqW,OAAF,IAAWrW,CAAC,CAACmhD,MAAF,KAAWx2C,CAAtB,IAAyB,KAAK46E,MAAL,CAAYtF,MAAZ,CAAmBjgF,CAAnB,CAA3E;AAAiG,SAA1J,MAA+J,IAAG,KAAKlwB,QAAL,CAAcolR,OAAjB,EAAyB,KAAKplR,QAAL,GAAc,KAAKy1G,MAAL,CAAY63K,mBAAZ,CAAgC,KAAKttR,QAAL,CAAcqxE,MAA9C,CAAd,CAAzB,KAAiG;AAAC,gBAAMnhD,CAAC,GAAC,KAAKulF,MAAL,CAAY63K,mBAAZ,CAAgC,KAAKttR,QAAL,CAAcqxE,MAA9C,CAAR;AAA8D,eAAKyxO,sBAAL,CAA4B,KAAK9iT,QAAjC,GAA2C,KAAKy1G,MAAL,CAAYxmG,KAAZ,CAAkB,KAAKjP,QAAvB,CAA3C,EAA4E,KAAKA,QAAL,GAAckwB,CAA1F,EAA4F,KAAKoyR,YAAL,CAAkBx9R,GAAlB,CAAsB,KAAK9kB,QAAL,CAAc2lR,SAApC,CAA5F;AAA2I;;AAAA,eAAM,CAAC,CAAP;AAAS;;AAAA+9B,MAAAA,aAAa,CAACxzR,CAAD,EAAG2K,CAAH,EAAK;AAAC,eAAO,KAAKg3O,MAAL,CAAYg6B,UAAZ,CAAuB37Q,CAAvB,EAAyB2K,CAAzB,IAA4B3K,CAA5B,GAA8B,KAAK2hP,MAAL,CAAY02B,OAAZ,CAAoBr4Q,CAApB,IAAuB,IAAvB,GAA4B,KAAKwzR,aAAL,CAAmBxzR,CAAC,CAACmhD,MAArB,EAA4Bx2C,CAA5B,CAAjE;AAAgG;;AAA9rM;;AAA+rM,aAAS8oR,EAAT,CAAYzzR,CAAZ,EAAc2K,CAAd,EAAgBJ,CAAhB,EAAkBgC,CAAC,GAAC,EAApB,EAAuB;AAAC,UAAG,CAACvM,CAAC,CAAC2hP,MAAF,CAASt5J,QAAT,CAAkB19E,CAAlB,CAAJ,EAAyB,MAAM,IAAIw3C,CAAJ,CAAM,oCAAN,EAA2CniD,CAA3C,EAA6C;AAAC8pI,QAAAA,MAAM,EAACn/H;AAAR,OAA7C,CAAN;AAA+D,YAAMh0B,CAAC,GAAC4zB,CAAC,IAAEvK,CAAC,CAAC0B,QAAF,CAAWooP,SAAtB;AAAgC,UAAIr9O,CAAC,GAAC91B,CAAN;AAAQ41B,MAAAA,CAAC,CAACmnR,mBAAF,IAAuB1zR,CAAC,CAAC2hP,MAAF,CAASw2B,OAAT,CAAiBxtQ,CAAjB,CAAvB,KAA6C8B,CAAC,GAACzM,CAAC,CAACw9P,eAAF,CAAkB,UAASx9P,CAAT,EAAW2K,CAAX,EAAaJ,CAAC,GAAC,MAAf,EAAsB;AAAC,cAAMgC,CAAC,GAACvM,CAAC,CAAC23P,kBAAF,EAAR;AAA+B,YAAGprP,CAAC,IAAE5B,CAAC,CAACg3O,MAAF,CAASt5J,QAAT,CAAkB97E,CAAlB,CAAH,IAAyB,CAAC5B,CAAC,CAACg3O,MAAF,CAASk5B,QAAT,CAAkBtuQ,CAAlB,CAA7B,EAAkD,OAAM,YAAUhC,CAAV,IAAa,WAASA,CAAtB,GAAwBI,CAAC,CAACq8E,WAAF,CAAcr8E,CAAC,CAACwyP,gBAAF,CAAmB5wP,CAAnB,EAAqBhC,CAArB,CAAd,CAAxB,GAA+DI,CAAC,CAAC2yP,aAAF,CAAgB/wP,CAAhB,CAArE;AAAwF,cAAM51B,CAAC,GAAC2mQ,EAAE,CAACt9O,CAAC,CAAC03Q,iBAAF,EAAD,CAAV;AAAkC,YAAG,CAAC/gS,CAAJ,EAAM,OAAOg0B,CAAC,CAACq8E,WAAF,CAAchnF,CAAC,CAACgzC,KAAhB,CAAP;AAA8B,YAAGr8D,CAAC,CAAC0/B,OAAL,EAAa,OAAO1L,CAAC,CAACq8E,WAAF,CAAcr8E,CAAC,CAACwyP,gBAAF,CAAmBxmR,CAAnB,EAAqB,CAArB,CAAd,CAAP;AAA8C,cAAM81B,CAAC,GAAC9B,CAAC,CAACyyP,mBAAF,CAAsBzmR,CAAtB,CAAR;AAAiC,eAAOqpB,CAAC,CAACgzC,KAAF,CAAQ29N,UAAR,CAAmBlkQ,CAAnB,IAAsB9B,CAAC,CAACq8E,WAAF,CAAcv6E,CAAd,CAAtB,GAAuC9B,CAAC,CAACq8E,WAAF,CAAcr8E,CAAC,CAAC0yP,oBAAF,CAAuB1mR,CAAvB,CAAd,CAA9C;AAAuF,OAAzb,CAA0bA,CAA1b,EAA4bqpB,CAA5b,EAA8buM,CAAC,CAACmnR,mBAAhc,CAAlB,CAA/C;AAAwhB,YAAMppR,CAAC,GAACgzO,EAAE,CAAC3mQ,CAAC,CAAC+gS,iBAAF,EAAD,CAAV;AAAA,YAAkCt1N,CAAC,GAAC,EAApC;AAAuC,aAAO93C,CAAC,IAAEnI,MAAM,CAACC,MAAP,CAAcggD,CAAd,EAAgBpiD,CAAC,CAAC2hP,MAAF,CAASi/B,yBAAT,CAAmCt2Q,CAAnC,EAAqC,eAArC,EAAqD,CAAC,CAAtD,CAAhB,CAAH,EAA6EtK,CAAC,CAAC0hL,MAAF,CAAUn3K,CAAC,IAAE;AAACkC,QAAAA,CAAC,CAACupP,WAAF,IAAeh2P,CAAC,CAAC2zR,aAAF,CAAgBlnR,CAAhB,EAAkB;AAAC2kR,UAAAA,kBAAkB,EAAC,CAAC;AAArB,SAAlB,CAAf;AAA0D,YAAIz6S,CAAC,GAACg0B,CAAN;AAAQ,cAAML,CAAC,GAACmC,CAAC,CAACipM,MAAF,CAASv0J,MAAjB;AAAwB,SAACnhD,CAAC,CAAC2hP,MAAF,CAASg6B,UAAT,CAAoBrxQ,CAApB,EAAsBK,CAAtB,CAAD,IAA2B3K,CAAC,CAAC2hP,MAAF,CAASg6B,UAAT,CAAoBrxQ,CAApB,EAAsB,WAAtB,CAA3B,IAA+DtK,CAAC,CAAC2hP,MAAF,CAASg6B,UAAT,CAAoB,WAApB,EAAgChxQ,CAAhC,CAA/D,KAAoGh0B,CAAC,GAAC4zB,CAAC,CAAC1D,aAAF,CAAgB,WAAhB,CAAF,EAA+B0D,CAAC,CAAC+7E,MAAF,CAAS37E,CAAT,EAAWh0B,CAAX,CAAnI,GAAkJqpB,CAAC,CAAC2hP,MAAF,CAAS8+B,oBAAT,CAA8B9pS,CAA9B,EAAgCyrE,CAAhC,EAAkC73C,CAAlC,CAAlJ;AAAuL,cAAMozI,CAAC,GAAC39I,CAAC,CAAC4zR,aAAF,CAAgBj9S,CAAhB,EAAkB81B,CAAlB,CAAR;AAA6B,eAAOkxI,CAAC,CAACq4G,WAAF,IAAezpP,CAAC,CAAC4uP,YAAF,IAAgB,UAASn7P,CAAT,EAAW2K,CAAX,EAAaJ,CAAb,EAAegC,CAAf,EAAiB;AAAC,gBAAM51B,CAAC,GAACqpB,CAAC,CAACzjB,KAAV;AAAgB,cAAG,QAAMguB,CAAT,EAAW,OAAO,KAAKvK,CAAC,CAACm7P,YAAF,CAAexwP,CAAf,EAAiB,IAAjB,CAAZ;AAAmC,cAAG,WAASJ,CAAZ,EAAc,MAAM,IAAI43C,CAAJ,CAAM,4CAAN,EAAmDxrE,CAAnD,CAAN;AAA4D,cAAI81B,CAAC,GAAC9B,CAAC,CAAC88N,WAAR;AAAoB,cAAG9wP,CAAC,CAACgrQ,MAAF,CAASk5B,QAAT,CAAkBlwQ,CAAlB,CAAH,EAAwB,OAAO,KAAK3K,CAAC,CAACm7P,YAAF,CAAexwP,CAAf,EAAiB,OAAjB,CAAZ;AAAsC,gBAAML,CAAC,GAACmC,CAAC,IAAE91B,CAAC,CAACgrQ,MAAF,CAASg6B,UAAT,CAAoBlvQ,CAApB,EAAsB,OAAtB,CAAX;AAA0C,WAACnC,CAAD,IAAI3zB,CAAC,CAACgrQ,MAAF,CAASg6B,UAAT,CAAoBhxQ,CAAC,CAACw2C,MAAtB,EAA6B,WAA7B,CAAJ,KAAgD10C,CAAC,GAACzM,CAAC,CAAC6G,aAAF,CAAgB,WAAhB,CAAF,EAA+BlwB,CAAC,CAACgrQ,MAAF,CAAS8+B,oBAAT,CAA8Bh0Q,CAA9B,EAAgCF,CAAhC,EAAkCvM,CAAlC,CAA/B,EAAoErpB,CAAC,CAACi9S,aAAF,CAAgBnnR,CAAhB,EAAkBzM,CAAC,CAACo9P,mBAAF,CAAsBzyP,CAAtB,CAAlB,CAApH;AAAiK8B,UAAAA,CAAC,IAAEzM,CAAC,CAACm7P,YAAF,CAAe1uP,CAAf,EAAiB,CAAjB,CAAH;AAAuB,SAA9c,CAA+clC,CAA/c,EAAidI,CAAjd,EAAmd4B,CAAC,CAAC4uP,YAArd,EAAke/4M,CAAle,CAA/B,EAAogBu7F,CAA3gB;AAA6gB,OAAz0B,CAApF;AAAg6B;;AAAA,UAAM6xC,EAAE,GAAC,aAAT;;AAAuB,aAASqkG,EAAT,CAAY7zR,CAAZ,EAAc2K,CAAd,EAAgB;AAAC,YAAK;AAACmpR,QAAAA,SAAS,EAACvpR,CAAX;AAAag2Q,QAAAA,MAAM,EAACh0Q,CAApB;AAAsB+vL,QAAAA,IAAI,EAAC3lN,CAA3B;AAA6BgrQ,QAAAA,MAAM,EAACl1O,CAApC;AAAsCsnR,QAAAA,sBAAsB,EAACzpR;AAA7D,UAAgEtK,CAArE;AAAA,YAAuE;AAAC/oB,QAAAA,IAAI,EAACmrE,CAAN;AAAQ5nE,QAAAA,IAAI,EAACmjK,CAAb;AAAe63G,QAAAA,YAAY,EAACtpE;AAA5B,UAA+BvhL,CAAtG;AAAwG,UAAG,UAAQy3C,CAAX,EAAa,OAAM,WAASpiD,CAAC,CAACs8L,IAAX,GAAgB,UAASt8L,CAAT,EAAW2K,CAAX,EAAa;AAAC,YAAIJ,CAAC,GAACvK,CAAC,CAAClwB,QAAF,CAAW49Q,QAAjB;AAA0BnjP,QAAAA,CAAC,KAAGA,CAAC,GAACI,CAAC,GAAC3K,CAAC,CAAClwB,QAAF,CAAW2lR,SAAZ,GAAsBz1P,CAAC,CAAClwB,QAAF,CAAW4lR,UAAvC,CAAD;;AAAoD,eAAKnrP,CAAC,IAAEA,CAAC,CAACsgF,EAAF,CAAK,OAAL,CAAR,GAAuB;AAAC,gBAAMt+E,CAAC,GAACvM,CAAC,CAAClwB,QAAF,CAAWutG,MAAX,GAAkB9yE,CAAC,CAAC00P,WAA5B;AAAwC,cAAG+0B,EAAE,CAACzpR,CAAD,EAAGgC,CAAH,EAAK5B,CAAL,CAAL,EAAaJ,CAAC,GAACI,CAAC,GAAC3K,CAAC,CAAClwB,QAAF,CAAW2lR,SAAZ,GAAsBz1P,CAAC,CAAClwB,QAAF,CAAW4lR,UAApC,CAAb,KAAgE;AAAC,gBAAG1kE,EAAE,CAACzmL,CAAC,CAAC5iC,IAAH,EAAQ4kC,CAAR,EAAU5B,CAAV,CAAL,EAAkB;AAAM3K,YAAAA,CAAC,CAACp1B,IAAF;AAAS;AAAC;;AAAA,eAAOo1B,CAAC,CAAClwB,QAAT;AAAkB,OAAjR,CAAkRy8B,CAAlR,EAAoRhC,CAApR,CAAhB,GAAuS,UAASvK,CAAT,EAAW2K,CAAX,EAAaJ,CAAb,EAAe;AAAC,cAAMgC,CAAC,GAACvM,CAAC,CAAClwB,QAAF,CAAW49Q,QAAnB;;AAA4B,YAAGnhP,CAAH,EAAK;AAAC,gBAAM51B,CAAC,GAAC41B,CAAC,CAAC5kC,IAAV;AAAe,cAAI8kC,CAAC,GAACzM,CAAC,CAAClwB,QAAF,CAAWutG,MAAX,GAAkB9wE,CAAC,CAAC0yP,WAA1B;;AAAsC,iBAAK/gB,EAAE,CAACvnQ,CAAD,EAAG81B,CAAH,CAAF,IAAS,eAAa9B,CAAb,IAAgBwzO,EAAE,CAACxnQ,CAAD,EAAG81B,CAAH,CAA3B,IAAkClC,CAAC,IAAE8zO,EAAE,CAAC1nQ,CAAD,EAAG81B,CAAH,CAA5C,GAAmDzM,CAAC,CAACp1B,IAAF,IAAS6hC,CAAC,GAACzM,CAAC,CAAClwB,QAAF,CAAWutG,MAAX,GAAkB9wE,CAAC,CAAC0yP,WAA/B;AAA2C;;AAAA,eAAOj/P,CAAC,CAAClwB,QAAT;AAAkB,OAAvN,CAAwNy8B,CAAxN,EAA0N51B,CAA1N,EAA4N2zB,CAA5N,CAA7S;;AAA4gB,UAAG83C,CAAC,KAAG73C,CAAC,GAAC,cAAD,GAAgB,YAApB,CAAJ,EAAsC;AAAC,YAAGkC,CAAC,CAACwxQ,YAAF,CAAetgI,CAAf,CAAH,EAAqB,OAAOwyH,EAAE,CAACzb,SAAH,CAAa/2G,CAAb,EAAepzI,CAAC,GAAC,OAAD,GAAS,QAAzB,CAAP;AAA0C,YAAGkC,CAAC,CAACkvQ,UAAF,CAAazvF,CAAb,EAAe,OAAf,CAAH,EAA2B,OAAOA,CAAP;AAAS,OAA1I,MAA8I;AAAC,YAAGz/K,CAAC,CAAC4rQ,OAAF,CAAU16H,CAAV,CAAH,EAAgB,OAAO,KAAKpxI,CAAC,CAACyoP,IAAF,CAAQ,MAAI,CAAC,CAAb,CAAZ;AAA6B,YAAGvoP,CAAC,CAACkvQ,UAAF,CAAazvF,CAAb,EAAe,OAAf,CAAH,EAA2B,OAAOA,CAAP;AAAS;AAAC;;AAAA,aAAS+nG,EAAT,CAAYj0R,CAAZ,EAAc2K,CAAd,EAAgB;AAAC,YAAMJ,CAAC,GAACvK,CAAC,CAACwD,IAAV;AAAA,YAAe+I,CAAC,GAAC4jQ,EAAE,CAACzb,SAAH,CAAanqP,CAAb,EAAeI,CAAC,GAAC,KAAD,GAAO,CAAvB,CAAjB;;AAA2C,aAAOA,CAAC,GAAC,IAAIsnQ,EAAJ,CAAOjyQ,CAAP,EAASuM,CAAT,CAAD,GAAa,IAAI0lQ,EAAJ,CAAO1lQ,CAAP,EAASvM,CAAT,CAArB;AAAiC;;AAAA,aAASgxL,EAAT,CAAYhxL,CAAZ,EAAc2K,CAAd,EAAgBJ,CAAhB,EAAkB;AAAC,YAAMgC,CAAC,GAAC5B,CAAC,IAAEJ,CAAC,GAAC,CAAD,GAAG,CAAC,CAAP,CAAT;AAAmB,aAAOilL,EAAE,CAACrjN,QAAH,CAAY6zB,CAAC,CAACunB,MAAF,CAAShb,CAAT,CAAZ,CAAP;AAAgC;;AAAA,aAASynR,EAAT,CAAYh0R,CAAZ,EAAc2K,CAAd,EAAgBJ,CAAhB,EAAkB;AAAC,aAAOI,CAAC,MAAIJ,CAAC,GAACvK,CAAC,CAAC4tP,UAAH,GAAc,CAAnB,CAAR;AAA8B;;AAAA,UAAMsmC,EAAN,SAAiB7xO,CAAC,EAAlB,CAAqB;AAAC5iF,MAAAA,WAAW,GAAE;AAAC,iBAAQ,KAAKmkH,OAAL,GAAa,IAAIgrM,EAAJ,EAArB,EAA4B,KAAKltR,QAAL,GAAc,IAAI2sR,EAAJ,CAAO,IAAP,CAA1C,EAAuD,KAAK1sC,MAAL,GAAY,IAAIu9B,EAAJ,EAAnE,EAA0E,KAAKiV,eAAL,GAAqB,EAA/F,EAAkG,KAAKlD,cAAL,GAAoB,IAAtH,EAA2H,CAAC,eAAD,EAAiB,iBAAjB,EAAmC,oBAAnC,EAAwD,gBAAxD,EAA0EprR,OAA1E,CAAmF7F,CAAC,IAAE,KAAK4vN,QAAL,CAAc5vN,CAAd,CAAtF,CAA3H,EAAoO,KAAKve,EAAL,CAAQ,gBAAR,EAA0B,CAACue,CAAD,EAAG2K,CAAH,KAAO;AAACA,UAAAA,CAAC,CAAC,CAAD,CAAD,CAAK26Q,SAAL;AAAiB,SAAnD,EAAqD;AAAC3/L,UAAAA,QAAQ,EAAC;AAAV,SAArD,CAApO,EAA+S,KAAKg8J,MAAL,CAAYhzB,QAAZ,CAAqB,OAArB,EAA6B;AAAC0pD,UAAAA,OAAO,EAAC,CAAC;AAAV,SAA7B,CAA/S,EAA0V,KAAK12B,MAAL,CAAYhzB,QAAZ,CAAqB,YAArB,EAAkC;AAAC2yD,UAAAA,OAAO,EAAC,CAAC,OAAD,EAAS,YAAT;AAAT,SAAlC,CAA1V,EAA8Z,KAAK3/B,MAAL,CAAYhzB,QAAZ,CAAqB,QAArB,EAA8B;AAAC2yD,UAAAA,OAAO,EAAC,CAAC,OAAD,EAAS,YAAT,CAAT;AAAgCnJ,UAAAA,OAAO,EAAC,CAAC;AAAzC,SAA9B,CAA9Z,EAAye,KAAKx2B,MAAL,CAAYhzB,QAAZ,CAAqB,cAArB,EAAoC;AAAC8yD,UAAAA,UAAU,EAAC,QAAZ;AAAqBtJ,UAAAA,OAAO,EAAC,CAAC,CAA9B;AAAgC9vL,UAAAA,QAAQ,EAAC,CAAC;AAA1C,SAApC,CAAze,EAA2jB,KAAKs5J,MAAL,CAAYhzB,QAAZ,CAAqB,eAArB,EAAqC;AAAC8yD,UAAAA,UAAU,EAAC,OAAZ;AAAoBC,UAAAA,iBAAiB,EAAC,OAAtC;AAA8C7G,UAAAA,QAAQ,EAAC,CAAC,CAAxD;AAA0DxyL,UAAAA,QAAQ,EAAC,CAAC;AAApE,SAArC,CAA3jB,EAAwqB,KAAKs5J,MAAL,CAAYhzB,QAAZ,CAAqB,OAArB,EAA6B;AAAC2yD,UAAAA,OAAO,EAAC,QAAT;AAAkBzG,UAAAA,QAAQ,EAAC,CAAC,CAA5B;AAA8BgF,UAAAA,SAAS,EAAC,CAAC;AAAzC,SAA7B,CAAxqB,EAAkvB,KAAKl+B,MAAL,CAAYhzB,QAAZ,CAAqB,kBAArB,EAAwC;AAAC6yD,UAAAA,cAAc,EAAC,OAAhB;AAAwBG,UAAAA,aAAa,EAAC,OAAtC;AAA8CtJ,UAAAA,OAAO,EAAC,CAAC;AAAvD,SAAxC,CAAlvB,EAAq1B,KAAK12B,MAAL,CAAYhzB,QAAZ,CAAqB,mBAArB,EAAyC;AAAC6yD,UAAAA,cAAc,EAAC,OAAhB;AAAwBG,UAAAA,aAAa,EAAC,OAAtC;AAA8CtJ,UAAAA,OAAO,EAAC,CAAC;AAAvD,SAAzC,CAAr1B,EAAy7B,KAAK12B,MAAL,CAAYhzB,QAAZ,CAAqB,SAArB,CAAz7B,EAAy9B,KAAKgzB,MAAL,CAAYs+B,aAAZ,CAA2B,CAACjgR,CAAD,EAAG2K,CAAH,KAAO;AAAC,cAAG,cAAYA,CAAC,CAACn6B,IAAjB,EAAsB,OAAM,CAAC,CAAP;AAAS,SAAlE,CAAz9B,EAA8hCstS,EAAE,CAAC,IAAD,CAAhiC,EAAuiC,KAAKp8Q,QAAL,CAAc6qP,iBAAd,CAAgCtoJ,EAAhC,CAAviC,EAA2kC,KAAKxiH,EAAL,CAAQ,eAAR,EAAyB,CAACue,CAAD,EAAG,CAAC2K,CAAD,EAAGJ,CAAH,CAAH,KAAW;AAACvK,UAAAA,CAAC,CAAC2iO,MAAF,GAAS,UAAS3iO,CAAT,EAAW2K,CAAX,EAAaJ,CAAb,EAAe;AAAC,mBAAOvK,CAAC,CAAC0hL,MAAF,CAAUn1K,CAAC,IAAE;AAAC,oBAAM51B,CAAC,GAAC4zB,CAAC,IAAEvK,CAAC,CAAC0B,QAAF,CAAWooP,SAAtB;AAAgCnzQ,cAAAA,CAAC,CAACq/Q,WAAF,IAAeh2P,CAAC,CAAC2zR,aAAF,CAAgBh9S,CAAhB,EAAkB;AAACy6S,gBAAAA,kBAAkB,EAAC,CAAC;AAArB,eAAlB,CAAf;AAA0D,oBAAM3kR,CAAC,GAAC,IAAImlR,EAAJ,CAAO5xR,CAAP,EAASuM,CAAT,EAAW51B,CAAC,CAAC++N,MAAb,CAAR;AAAA,oBAA6BprM,CAAC,GAAC,EAA/B;AAAkC,kBAAI83C,CAAJ;;AAAM,kBAAGz3C,CAAC,CAACkgF,EAAF,CAAK,kBAAL,CAAH,EAA4B;AAAC,oBAAGlgF,CAAC,CAACi5E,OAAF,CAAUzR,IAAb,EAAkB;AAAC,wBAAMnyE,CAAC,GAAC,EAAR;;AAAW,uBAAI,MAAK,CAACuK,CAAD,EAAGgC,CAAH,CAAT,IAAiB5B,CAAC,CAACi5E,OAAnB,EAA2B;AAAC,0BAAK;AAAC6C,sBAAAA,KAAK,EAAC97E,CAAP;AAAS+7E,sBAAAA,GAAG,EAAC/vG;AAAb,wBAAgB41B,CAArB;AAAA,0BAAuBE,CAAC,GAAC9B,CAAC,CAACorO,OAAF,CAAUp/P,CAAV,CAAzB;AAAsCqpB,oBAAAA,CAAC,CAACiG,IAAF,CAAO;AAACn2B,sBAAAA,QAAQ,EAAC66B,CAAV;AAAYn6B,sBAAAA,IAAI,EAAC+5B,CAAjB;AAAmByrP,sBAAAA,WAAW,EAACvpP;AAA/B,qBAAP,EAAyC;AAAC38B,sBAAAA,QAAQ,EAAC6G,CAAV;AAAYnG,sBAAAA,IAAI,EAAC+5B,CAAjB;AAAmByrP,sBAAAA,WAAW,EAACvpP;AAA/B,qBAAzC;AAA4E;;AAAAzM,kBAAAA,CAAC,CAAC6gD,IAAF,CAAQ,CAAC;AAAC/wE,oBAAAA,QAAQ,EAACkwB;AAAV,mBAAD,EAAc;AAAClwB,oBAAAA,QAAQ,EAAC66B;AAAV,mBAAd,KAA6B3K,CAAC,CAACpK,QAAF,CAAW+U,CAAX,IAAc,CAAd,GAAgB,CAAC,CAAtD;;AAA0D,uBAAI,MAAK;AAAC76B,oBAAAA,QAAQ,EAACy6B,CAAV;AAAY/5B,oBAAAA,IAAI,EAACmG,CAAjB;AAAmBq/Q,oBAAAA,WAAW,EAACvpP;AAA/B,mBAAT,IAA6CzM,CAA7C,EAA+C;AAAC,wBAAIA,CAAC,GAAC,IAAN;AAAA,wBAAWoiD,CAAC,GAAC,IAAb;AAAkB,0BAAMu7F,CAAC,GAACpzI,CAAC,CAAC42C,MAAF,KAAWx2C,CAAX,IAAcJ,CAAC,CAAC8qP,SAAxB;AAAA,0BAAkCnpE,CAAC,GAAC3hL,CAAC,CAAC42C,MAAF,KAAWx2C,CAAX,IAAcJ,CAAC,CAAC2qP,OAApD;AAA4Dv3G,oBAAAA,CAAC,IAAEuuC,CAAH,GAAKz/K,CAAC,KAAG21C,CAAC,GAACu7F,CAAC,GAAC,OAAD,GAAS,KAAf,CAAN,IAA6B39I,CAAC,GAACuM,CAAC,CAAC1F,aAAF,CAAgB,SAAhB,CAAF,EAA6B0F,CAAC,CAAC+5E,MAAF,CAAStmF,CAAT,EAAWuK,CAAX,CAA1D,GAAyED,CAAC,CAACrE,IAAF,CAAO;AAACz1B,sBAAAA,IAAI,EAACmG,CAAN;AAAQqS,sBAAAA,OAAO,EAACgX,CAAhB;AAAkBjQ,sBAAAA,SAAS,EAACqyD;AAA5B,qBAAP,CAAzE;AAAgH;AAAC;;AAAAA,gBAAAA,CAAC,GAACz3C,CAAC,CAACq5E,WAAF,EAAF;AAAkB,eAApgB,MAAygB5hC,CAAC,GAAC,CAACz3C,CAAD,CAAF;;AAAM8B,cAAAA,CAAC,CAAC8lR,WAAF,CAAcnwO,CAAd;AAAiB,kBAAIu7F,CAAC,GAAClxI,CAAC,CAAComR,iBAAF,EAAN;;AAA4B,kBAAGloR,CAAC,CAACkgF,EAAF,CAAK,kBAAL,KAA0BvgF,CAAC,CAAC39B,MAA/B,EAAsC;AAAC,sBAAMqzB,CAAC,GAAC29I,CAAC,GAAC26H,EAAE,CAACG,SAAH,CAAa96H,CAAb,CAAD,GAAiB,IAA1B;AAAA,sBAA+BhzI,CAAC,GAAC,EAAjC;;AAAoC,qBAAI,IAAI3K,CAAC,GAACsK,CAAC,CAAC39B,MAAF,GAAS,CAAnB,EAAqBqzB,CAAC,IAAE,CAAxB,EAA0BA,CAAC,EAA3B,EAA8B;AAAC,wBAAK;AAACxvB,oBAAAA,IAAI,EAAC+5B,CAAN;AAAQvhB,oBAAAA,OAAO,EAACrS,CAAhB;AAAkBoZ,oBAAAA,SAAS,EAACqyD;AAA5B,sBAA+B93C,CAAC,CAACtK,CAAD,CAArC;AAAA,wBAAyC29I,CAAC,GAAC,CAAChzI,CAAC,CAACJ,CAAD,CAA7C;;AAAiD,sBAAGozI,CAAC,KAAGhzI,CAAC,CAACJ,CAAD,CAAD,GAAK,EAAR,CAAD,EAAa5zB,CAAhB,EAAkB;AAAC,0BAAMqpB,CAAC,GAACuM,CAAC,CAAC4wP,gBAAF,CAAmBxmR,CAAnB,EAAqB,QAArB,CAAR;AAAuCg0B,oBAAAA,CAAC,CAACJ,CAAD,CAAD,CAAKtE,IAAL,CAAUjG,CAAV,GAAauM,CAAC,CAAC0zE,MAAF,CAAStpG,CAAT,CAAb;AAAyB,mBAAnF,MAAuF;AAAC,0BAAMqpB,CAAC,GAACyM,CAAC,CAACqmR,gBAAF,EAAR;;AAA6B,wBAAG,CAAC9yR,CAAJ,EAAM;AAACoiD,sBAAAA,CAAC,IAAEz3C,CAAC,CAACJ,CAAD,CAAD,CAAKtE,IAAL,CAAUwG,CAAC,CAAC38B,QAAZ,CAAH;AAAyB;AAAS;;AAAAsyE,oBAAAA,CAAC,GAACz3C,CAAC,CAACJ,CAAD,CAAD,CAAKtE,IAAL,CAAUjG,CAAC,CAACoiD,CAAD,CAAX,CAAD,GAAiBz3C,CAAC,CAACJ,CAAD,CAAD,CAAKtE,IAAL,CAAU03I,CAAC,GAAC39I,CAAC,CAACymF,KAAH,GAASzmF,CAAC,CAAC0mF,GAAtB,CAAlB;AAA6C;AAAC;;AAAA,qBAAI,MAAK,CAAC1mF,CAAD,EAAG,CAACuK,CAAD,EAAG5zB,CAAH,CAAH,CAAT,IAAqBwrB,MAAM,CAACqgF,OAAP,CAAe73E,CAAf,CAArB,EAAuCJ,CAAC,IAAE5zB,CAAH,IAAM4zB,CAAC,CAAC/G,IAAF,KAAS7sB,CAAC,CAAC6sB,IAAjB,IAAuB+I,CAAC,CAAC06E,SAAF,CAAYjnF,CAAZ,EAAc;AAACykF,kBAAAA,cAAc,EAAC,CAAC,CAAjB;AAAmBE,kBAAAA,WAAW,EAAC,CAAC,CAAhC;AAAkCoC,kBAAAA,KAAK,EAAC,IAAIkrL,EAAJ,CAAO1nQ,CAAP,EAAS5zB,CAAT;AAAxC,iBAAd,CAAvB;;AAA2FqpB,gBAAAA,CAAC,KAAG29I,CAAC,GAAC39I,CAAC,CAACw4Q,OAAF,EAAF,EAAcx4Q,CAAC,CAAC+zO,MAAF,EAAjB,CAAD;AAA8B;;AAAAp2F,cAAAA,CAAC,KAAGhnK,CAAC,YAAYkiS,EAAb,GAAgBtsQ,CAAC,CAAC4uP,YAAF,CAAex9G,CAAf,CAAhB,GAAkChnK,CAAC,CAAC46Q,KAAF,CAAQ5zG,CAAR,CAArC,CAAD;AAAkD,oBAAMuuC,CAAC,GAACz/K,CAAC,CAACqmR,gBAAF,MAAsB9yR,CAAC,CAACgnF,WAAF,CAAcrwG,CAAC,CAAC++N,MAAhB,CAA9B;AAAsD,qBAAOjpM,CAAC,CAACkyE,OAAF,IAAYutG,CAAnB;AAAqB,aAAh1C,CAAP;AAA01C,WAA12C,CAA22C,IAA32C,EAAg3CvhL,CAAh3C,EAAk3CJ,CAAl3C,CAAT;AAA83C,SAAn6C,CAA3kC,EAAi/E,KAAK9oB,EAAL,CAAQ,cAAR,EAAwB,CAACue,CAAD,EAAG,CAAC2K,CAAD,EAAGJ,CAAH,EAAKgC,CAAL,CAAH,KAAa;AAACvM,UAAAA,CAAC,CAAC2iO,MAAF,GAAS8wD,EAAE,CAAC,IAAD,EAAM9oR,CAAN,EAAQJ,CAAR,EAAUgC,CAAV,CAAX;AAAwB,SAA9D,CAAj/E,EAAkjF,KAAK9qB,EAAL,CAAQ,WAAR,EAAqBue,CAAC,IAAE;AAAC,gBAAM2K,CAAC,GAAC,CAAC,KAAKjJ,QAAL,CAAcuoP,UAAvB;AAAkCjqP,UAAAA,CAAC,CAAC2iO,MAAF,GAASh4N,CAAT,EAAWA,CAAC,IAAE3K,CAAC,CAAColF,IAAF,EAAd;AAAuB,SAAlF,CAAljF;AAAuoF;;AAAAs8F,MAAAA,MAAM,CAAC1hL,CAAD,EAAG;AAAC,YAAG;AAAC,iBAAO,MAAI,KAAKm0R,eAAL,CAAqBxnT,MAAzB,IAAiC,KAAKwnT,eAAL,CAAqBluR,IAArB,CAA0B;AAACuhG,YAAAA,KAAK,EAAC,IAAIijL,EAAJ,EAAP;AAAc7yQ,YAAAA,QAAQ,EAAC5X;AAAvB,WAA1B,GAAqD,KAAKo0R,kBAAL,GAA0B,CAA1B,CAAtF,IAAoHp0R,CAAC,CAAC,KAAKixR,cAAN,CAA5H;AAAkJ,SAAtJ,CAAsJ,OAAMjxR,CAAN,EAAQ;AAACmiD,UAAAA,CAAC,CAACgjL,sBAAF,CAAyBnlO,CAAzB,EAA2B,IAA3B;AAAiC;AAAC;;AAAAqlF,MAAAA,aAAa,CAACrlF,CAAD,EAAG2K,CAAH,EAAK;AAAC,YAAG;AAAC3K,UAAAA,CAAC,GAAC,cAAY,OAAOA,CAAnB,IAAsB2K,CAAC,GAAC3K,CAAF,EAAIA,CAAC,GAAC,IAAIyqR,EAAJ,EAA5B,IAAoCzqR,CAAC,YAAYyqR,EAAb,KAAkBzqR,CAAC,GAAC,IAAIyqR,EAAJ,CAAOzqR,CAAP,CAApB,CAArC,GAAoEA,CAAC,GAAC,IAAIyqR,EAAJ,EAAvE,EAA8E,KAAK0J,eAAL,CAAqBluR,IAArB,CAA0B;AAACuhG,YAAAA,KAAK,EAACxnG,CAAP;AAAS4X,YAAAA,QAAQ,EAACjN;AAAlB,WAA1B,CAA9E,EAA8H,KAAG,KAAKwpR,eAAL,CAAqBxnT,MAAxB,IAAgC,KAAKynT,kBAAL,EAA9J;AAAwL,SAA5L,CAA4L,OAAMp0R,CAAN,EAAQ;AAACmiD,UAAAA,CAAC,CAACgjL,sBAAF,CAAyBnlO,CAAzB,EAA2B,IAA3B;AAAiC;AAAC;;AAAA4vR,MAAAA,cAAc,CAAC5vR,CAAD,EAAG;AAACA,QAAAA,CAAC,CAACkmR,QAAF;AAAa;;AAAA0N,MAAAA,aAAa,CAAC5zR,CAAD,EAAG2K,CAAH,EAAKJ,CAAL,EAAO,GAAGgC,CAAV,EAAY;AAAC,cAAM51B,CAAC,GAAC09S,EAAE,CAAC1pR,CAAD,EAAGJ,CAAH,CAAV;;AAAgB,eAAO,KAAKm7E,IAAL,CAAU,eAAV,EAA0B,CAAC1lF,CAAD,EAAGrpB,CAAH,EAAK4zB,CAAL,EAAO,GAAGgC,CAAV,CAA1B,CAAP;AAA+C;;AAAA+nR,MAAAA,YAAY,CAACt0R,CAAD,EAAG2K,CAAH,EAAKJ,CAAL,EAAOgC,CAAP,EAAS,GAAG51B,CAAZ,EAAc;AAAC,cAAM81B,CAAC,GAAC4nR,EAAE,CAAC1pR,CAAD,EAAGJ,CAAH,CAAV;;AAAgB,eAAO,KAAKm7E,IAAL,CAAU,cAAV,EAAyB,CAAC1lF,CAAD,EAAGyM,CAAH,EAAKF,CAAL,EAAOA,CAAP,EAAS,GAAG51B,CAAZ,CAAzB,CAAP;AAAgD;;AAAAg9S,MAAAA,aAAa,CAAC3zR,CAAD,EAAG2K,CAAH,EAAK;AAACgpL,QAAAA,EAAE,CAAC,IAAD,EAAM3zL,CAAN,EAAQ2K,CAAR,CAAF;AAAa;;AAAA2mR,MAAAA,eAAe,CAACtxR,CAAD,EAAG2K,CAAH,EAAK;AAAC,SAAC,UAAS3K,CAAT,EAAW2K,CAAX,EAAaJ,CAAC,GAAC,EAAf,EAAkB;AAAC,gBAAMgC,CAAC,GAACvM,CAAC,CAAC2hP,MAAV;AAAA,gBAAiBhrQ,CAAC,GAAC,cAAY4zB,CAAC,CAACmpM,SAAjC;AAAA,gBAA2CjnM,CAAC,GAAClC,CAAC,CAAC+xL,IAAF,GAAO/xL,CAAC,CAAC+xL,IAAT,GAAc,WAA3D;AAAA,gBAAuEhyL,CAAC,GAAC,CAAC,CAACC,CAAC,CAACwpR,sBAA7E;AAAA,gBAAoG3xO,CAAC,GAACz3C,CAAC,CAACqoC,KAAxG;AAAA,gBAA8G2qG,CAAC,GAAC,IAAIuyH,EAAJ,CAAO;AAAC1b,YAAAA,UAAU,EAACy/B,EAAE,CAAC7xO,CAAD,EAAGzrE,CAAH,CAAd;AAAoBg+Q,YAAAA,gBAAgB,EAAC,CAAC,CAAtC;AAAwCjhD,YAAAA,SAAS,EAAC/8N,CAAC,GAAC,SAAD,GAAW;AAA9D,WAAP,CAAhH;AAAA,gBAAkMu1M,CAAC,GAAC;AAACq0F,YAAAA,MAAM,EAAC5iI,CAAR;AAAUgkG,YAAAA,MAAM,EAACp1O,CAAjB;AAAmBunR,YAAAA,SAAS,EAACn9S,CAA7B;AAA+B2lN,YAAAA,IAAI,EAAC7vL,CAApC;AAAsCsnR,YAAAA,sBAAsB,EAACzpR;AAA7D,WAApM;AAAoQ,cAAIV,CAAJ;;AAAM,iBAAKA,CAAC,GAAC+zI,CAAC,CAAC/yK,IAAF,EAAP,GAAiB;AAAC,gBAAGg/B,CAAC,CAAC2B,IAAL,EAAU;AAAO,kBAAMhB,CAAC,GAACspR,EAAE,CAAC3nG,CAAD,EAAGtiL,CAAC,CAAC14B,KAAL,CAAV;AAAsB,gBAAGq5B,CAAH,EAAK,OAAO,MAAKI,CAAC,YAAYkuQ,EAAb,GAAgB74Q,CAAC,CAAC0hL,MAAF,CAAU1hL,CAAC,IAAE;AAACA,cAAAA,CAAC,CAACo7P,iBAAF,CAAoB7wP,CAApB;AAAuB,aAArC,CAAhB,GAAwDI,CAAC,CAACstP,QAAF,CAAW1tP,CAAX,CAA7D,CAAP;AAAmF;AAAC,SAA/a,CAAgb,IAAhb,EAAqbvK,CAArb,EAAub2K,CAAvb,CAAD;AAA2b;;AAAA4pR,MAAAA,kBAAkB,CAACv0R,CAAD,EAAG;AAAC,eAAO,UAASA,CAAT,EAAW2K,CAAX,EAAa;AAAC,iBAAO3K,CAAC,CAAC0hL,MAAF,CAAU1hL,CAAC,IAAE;AAAC,kBAAMuK,CAAC,GAACvK,CAAC,CAACsiP,sBAAF,EAAR;AAAA,kBAAmC/1O,CAAC,GAAC5B,CAAC,CAAC6sP,aAAF,EAArC;AAAuD,gBAAG,CAACjrP,CAAD,IAAIA,CAAC,CAACypP,WAAT,EAAqB,OAAOzrP,CAAP;AAAS,kBAAM5zB,CAAC,GAAC41B,CAAC,CAACk6E,KAAF,CAAQjjF,IAAhB;AAAA,kBAAqBiJ,CAAC,GAACF,CAAC,CAACk6E,KAAF,CAAQiqL,aAAR,CAAsBnkQ,CAAC,CAACm6E,GAAxB,CAAvB;AAAA,kBAAoDp8E,CAAC,GAAC3zB,CAAC,CAACs5R,aAAF,CAAgBxjQ,CAAhB,CAAtD;AAAyE,gBAAI21C,CAAJ;AAAMA,YAAAA,CAAC,GAAC71C,CAAC,CAACk6E,KAAF,CAAQtlC,MAAR,IAAgB50C,CAAC,CAACm6E,GAAF,CAAMvlC,MAAtB,GAA6B50C,CAA7B,GAA+BvM,CAAC,CAACgnF,WAAF,CAAchnF,CAAC,CAACm9P,gBAAF,CAAmB7yP,CAAnB,EAAqBiC,CAAC,CAACk6E,KAAF,CAAQz/G,IAAR,CAAaylC,CAAC,CAAC9/B,MAAf,CAArB,CAAd,EAA2DqzB,CAAC,CAACm9P,gBAAF,CAAmB7yP,CAAnB,EAAqBiC,CAAC,CAACm6E,GAAF,CAAM1/G,IAAN,CAAWylC,CAAC,CAAC9/B,MAAb,IAAqB,CAA1C,CAA3D,CAAjC;AAA0I,kBAAMgxK,CAAC,GAACv7F,CAAC,CAACskC,GAAF,CAAMrJ,MAAN,GAAaj7B,CAAC,CAACqkC,KAAF,CAAQpJ,MAA7B;;AAAoC,iBAAI,MAAM1yE,CAAV,IAAey3C,CAAC,CAACmlD,QAAF,CAAW;AAACqtJ,cAAAA,OAAO,EAAC,CAAC;AAAV,aAAX,CAAf,EAAwCjqP,CAAC,CAACkgF,EAAF,CAAK,YAAL,IAAmB7qF,CAAC,CAAC+vR,UAAF,CAAaplR,CAAC,CAAChjC,IAAf,EAAoBgjC,CAAC,CAACu5E,aAAF,EAApB,EAAsC35E,CAAtC,CAAnB,GAA4DvK,CAAC,CAAC88C,MAAF,CAAS98C,CAAC,CAACyvR,YAAF,CAAe9kR,CAAf,EAAiB,CAAC,CAAlB,CAAT,EAA8BJ,CAA9B,CAA5D;;AAA6F,gBAAG63C,CAAC,IAAE71C,CAAN,EAAQ;AAAC,oBAAM5B,CAAC,GAAC4B,CAAC,CAAC8kQ,qBAAF,CAAwBjvN,CAAC,CAACqkC,KAA1B,EAAgCzmF,CAAC,CAACm9P,gBAAF,CAAmB5yP,CAAnB,EAAqB,CAArB,CAAhC,EAAwDozI,CAAxD,EAA2D,CAA3D,CAAR;AAAA,oBAAsEhnK,CAAC,GAACqpB,CAAC,CAACgnF,WAAF,CAAchnF,CAAC,CAACm9P,gBAAF,CAAmB5yP,CAAnB,EAAqB,CAArB,CAAd,EAAsCI,CAAC,CAAC87E,KAAxC,CAAxE;;AAAuHmpG,cAAAA,EAAE,CAAC5vL,CAAC,CAACgnF,WAAF,CAAcr8E,CAAC,CAAC+7E,GAAhB,EAAoB1mF,CAAC,CAACm9P,gBAAF,CAAmB5yP,CAAnB,EAAqB,KAArB,CAApB,CAAD,EAAkDvK,CAAlD,CAAF,EAAuD4vL,EAAE,CAACj5M,CAAD,EAAGqpB,CAAH,CAAzD;AAA+D;;AAAA,mBAAOuK,CAAP;AAAS,WAA7qB,CAAP;AAAurB,SAArsB,CAAssB,IAAtsB,EAA2sBvK,CAA3sB,CAAP;AAAqtB;;AAAAkkR,MAAAA,UAAU,CAAClkR,CAAD,EAAG2K,CAAC,GAAC,EAAL,EAAQ;AAAC,cAAMJ,CAAC,GAACvK,CAAC,YAAYiyQ,EAAb,GAAgBjyQ,CAAhB,GAAkBiyQ,EAAE,CAACpb,SAAH,CAAa72P,CAAb,CAA1B;AAA0C,YAAGuK,CAAC,CAACyrP,WAAL,EAAiB,OAAM,CAAC,CAAP;AAAS,cAAK;AAACmuB,UAAAA,iBAAiB,EAAC53Q,CAAC,GAAC,CAAC,CAAtB;AAAwB8kR,UAAAA,aAAa,EAAC16S,CAAC,GAAC,CAAC;AAAzC,YAA4Cg0B,CAAjD;AAAmD,YAAG,CAACh0B,CAAJ,EAAM,KAAI,MAAMqpB,CAAV,IAAe,KAAK4jF,OAAL,CAAaioM,2BAAb,CAAyCthR,CAAzC,CAAf,EAA2D,IAAGvK,CAAC,CAAC2kF,WAAL,EAAiB,OAAM,CAAC,CAAP;;AAAS,aAAI,MAAM3kF,CAAV,IAAeuK,CAAC,CAACg9F,QAAF,EAAf,EAA4B,IAAG,KAAKo6I,MAAL,CAAYk+B,SAAZ,CAAsB7/Q,CAAtB,CAAH,EAA4B;AAAC,cAAG,CAACA,CAAC,CAAC6qF,EAAF,CAAK,YAAL,CAAJ,EAAuB,OAAM,CAAC,CAAP;AAAS,cAAG,CAACt+E,CAAJ,EAAM,OAAM,CAAC,CAAP;AAAS,cAAG,CAAC,CAAD,KAAKvM,CAAC,CAACr4B,IAAF,CAAOs5E,MAAP,CAAc,IAAd,CAAR,EAA4B,OAAM,CAAC,CAAP;AAAS;;AAAA,eAAM,CAAC,CAAP;AAAS;;AAAA+oM,MAAAA,SAAS,CAAChqP,CAAD,EAAG;AAAC,cAAM2K,CAAC,GAAC0pR,EAAE,CAACr0R,CAAD,CAAV;;AAAc,eAAO,KAAK0lF,IAAL,CAAU,WAAV,EAAsB,CAAC/6E,CAAD,CAAtB,CAAP;AAAkC;;AAAAi8E,MAAAA,sBAAsB,CAAC5mF,CAAD,EAAG2K,CAAH,EAAKJ,CAAL,EAAO;AAAC,eAAO,IAAI4lQ,EAAJ,CAAOnwQ,CAAP,EAAS2K,CAAT,EAAWJ,CAAX,CAAP;AAAqB;;AAAA4yP,MAAAA,gBAAgB,CAACn9P,CAAD,EAAG2K,CAAH,EAAK;AAAC,eAAOwlQ,EAAE,CAACzb,SAAH,CAAa10P,CAAb,EAAe2K,CAAf,CAAP;AAAyB;;AAAAyyP,MAAAA,mBAAmB,CAACp9P,CAAD,EAAG;AAAC,eAAOmwQ,EAAE,CAAChb,YAAH,CAAgBn1P,CAAhB,CAAP;AAA0B;;AAAAq9P,MAAAA,oBAAoB,CAACr9P,CAAD,EAAG;AAAC,eAAOmwQ,EAAE,CAAC7a,aAAH,CAAiBt1P,CAAjB,CAAP;AAA2B;;AAAAgnF,MAAAA,WAAW,CAAChnF,CAAD,EAAG2K,CAAH,EAAK;AAAC,eAAO,IAAIsnQ,EAAJ,CAAOjyQ,CAAP,EAAS2K,CAAT,CAAP;AAAmB;;AAAA4yP,MAAAA,aAAa,CAACv9P,CAAD,EAAG;AAAC,eAAOiyQ,EAAE,CAACpb,SAAH,CAAa72P,CAAb,CAAP;AAAuB;;AAAAs9P,MAAAA,aAAa,CAACt9P,CAAD,EAAG;AAAC,eAAOiyQ,EAAE,CAACnb,SAAH,CAAa92P,CAAb,CAAP;AAAuB;;AAAAw9P,MAAAA,eAAe,CAAC,GAAGx9P,CAAJ,EAAM;AAAC,eAAO,IAAIq3Q,EAAJ,CAAO,GAAGr3Q,CAAV,CAAP;AAAoB;;AAAAw0R,MAAAA,WAAW,CAACx0R,CAAD,EAAG;AAAC,eAAO,IAAIyqR,EAAJ,CAAOzqR,CAAP,CAAP;AAAiB;;AAAAy0R,MAAAA,uBAAuB,CAACz0R,CAAD,EAAG;AAAC,eAAOwnR,EAAE,CAAC1X,QAAH,CAAY9vQ,CAAZ,EAAc,KAAK0B,QAAnB,CAAP;AAAoC;;AAAAi9E,MAAAA,OAAO,GAAE;AAAC,aAAKj9E,QAAL,CAAci9E,OAAd,IAAwB,KAAK+mJ,aAAL,EAAxB;AAA6C;;AAAA0uD,MAAAA,kBAAkB,GAAE;AAAC,cAAMp0R,CAAC,GAAC,EAAR;AAAW,aAAK0lF,IAAL,CAAU,gBAAV;;AAA4B,YAAG;AAAC,iBAAK,KAAKyuM,eAAL,CAAqBxnT,MAA1B,GAAkC;AAAC,kBAAMg+B,CAAC,GAAC,KAAKwpR,eAAL,CAAqB,CAArB,EAAwB3sL,KAAhC;AAAsC,iBAAKypL,cAAL,GAAoB,IAAIzB,EAAJ,CAAO,IAAP,EAAY7kR,CAAZ,CAApB;;AAAmC,kBAAMJ,CAAC,GAAC,KAAK4pR,eAAL,CAAqB,CAArB,EAAwBv8Q,QAAxB,CAAiC,KAAKq5Q,cAAtC,CAAR;;AAA8DjxR,YAAAA,CAAC,CAACiG,IAAF,CAAOsE,CAAP,GAAU,KAAK7I,QAAL,CAAc8sR,kBAAd,CAAiC,KAAKyC,cAAtC,CAAV,EAAgE,KAAKkD,eAAL,CAAqBh2O,KAArB,EAAhE,EAA6F,KAAK8yO,cAAL,GAAoB,IAAjH;AAAsH;AAAC,SAArS,SAA4S;AAAC,eAAKkD,eAAL,CAAqBxnT,MAArB,GAA4B,CAA5B,EAA8B,KAAKskT,cAAL,GAAoB,IAAlD,EAAuD,KAAKvrM,IAAL,CAAU,eAAV,CAAvD;AAAkF;;AAAA,eAAO1lF,CAAP;AAAS;;AAA/3L;;AAAg4L,aAASq0R,EAAT,CAAYr0R,CAAZ,EAAc2K,CAAd,EAAgB;AAAC,UAAG3K,CAAH,EAAK,OAAOA,CAAC,YAAYq3Q,EAAb,IAAiBr3Q,CAAC,YAAY64Q,EAA9B,GAAiC74Q,CAAjC,GAAmCA,CAAC,YAAY+uQ,EAAb,GAAgBpkQ,CAAC,IAAE,MAAIA,CAAP,GAAS,IAAI0sQ,EAAJ,CAAOr3Q,CAAP,EAAS2K,CAAT,CAAT,GAAqB3K,CAAC,CAAC6qF,EAAF,CAAK,aAAL,IAAoB,IAAIwsL,EAAJ,CAAOr3Q,CAAP,EAAS,IAAT,CAApB,GAAmC,IAAIq3Q,EAAJ,CAAOr3Q,CAAP,EAAS,IAAT,CAAxE,GAAuF,IAAIq3Q,EAAJ,CAAOr3Q,CAAP,CAAjI;AAA2I;;AAAA,UAAM00R,EAAN,SAAiBzsB,EAAjB,CAAmB;AAACxoS,MAAAA,WAAW,GAAE;AAAC,cAAM,GAAG+qC,SAAT,GAAoB,KAAK09P,YAAL,GAAkB,CAAC,WAAD,EAAa,SAAb,EAAuB,WAAvB,EAAmC,UAAnC,CAAtC;AAAqF;;AAAAC,MAAAA,UAAU,CAACnoQ,CAAD,EAAG;AAAC,aAAK0lF,IAAL,CAAU1lF,CAAC,CAAC/oB,IAAZ,EAAiB+oB,CAAjB;AAAoB;;AAAtI;;AAAuI,UAAM20R,EAAE,GAAC,oCAAT;AAA8C,QAAI9iN,GAAJ,CAAQ,CAAC,OAAD,EAAS,QAAT,EAAkB,MAAlB,EAAyB,OAAzB,EAAiC,QAAjC,EAA0C,KAA1C,EAAgD,QAAhD,EAAyD,SAAzD,EAAmE,OAAnE,EAA2E,MAA3E,EAAkF,OAAlF,EAA0F,QAA1F,EAAmG,MAAnG,EAA0G,MAA1G,EAAiH,MAAjH,EAAwH,MAAxH,EAA+H,QAA/H,EAAwI,WAAxI,EAAoJ,cAApJ,EAAmK,YAAnK,EAAgL,OAAhL,EAAwL,OAAxL,EAAgM,QAAhM,EAAyM,gBAAzM,EAA0N,YAA1N,EAAuO,OAAvO,EAA+O,WAA/O,EAA2P,WAA3P,EAAuQ,YAAvQ,EAAoR,WAApR,EAAgS,OAAhS,EAAwS,gBAAxS,EAAyT,UAAzT,EAAoU,SAApU,EAA8U,MAA9U,EAAqV,UAArV,EAAgW,UAAhW,EAA2W,eAA3W,EAA2X,UAA3X,EAAsY,WAAtY,EAAkZ,UAAlZ,EAA6Z,WAA7Z,EAAya,aAAza,EAAub,gBAAvb,EAAwc,YAAxc,EAAqd,YAArd,EAAke,SAAle,EAA4e,YAA5e,EAAyf,cAAzf,EAAwgB,eAAxgB,EAAwhB,eAAxhB,EAAwiB,eAAxiB,EAAwjB,eAAxjB,EAAwkB,YAAxkB,EAAqlB,UAArlB,EAAgmB,aAAhmB,EAA8mB,SAA9mB,EAAwnB,SAAxnB,EAAkoB,YAAloB,EAA+oB,WAA/oB,EAA2pB,aAA3pB,EAAyqB,aAAzqB,EAAurB,WAAvrB,EAAmsB,YAAnsB,EAAgtB,MAAhtB,EAAutB,WAAvtB,EAAmuB,aAAnuB,EAAivB,MAAjvB,EAAwvB,UAAxvB,EAAmwB,SAAnwB,EAA6wB,WAA7wB,EAAyxB,QAAzxB,EAAkyB,OAAlyB,EAA0yB,OAA1yB,EAAkzB,UAAlzB,EAA6zB,eAA7zB,EAA60B,WAA70B,EAAy1B,cAAz1B,EAAw2B,WAAx2B,EAAo3B,YAAp3B,EAAi4B,WAAj4B,EAA64B,sBAA74B,EAAo6B,WAAp6B,EAAg7B,YAAh7B,EAA67B,WAA77B,EAAy8B,WAAz8B,EAAq9B,aAAr9B,EAAm+B,eAAn+B,EAAm/B,cAAn/B,EAAkgC,gBAAlgC,EAAmhC,gBAAnhC,EAAoiC,gBAApiC,EAAqjC,aAArjC,EAAmkC,WAAnkC,EAA+kC,OAA/kC,EAAulC,SAAvlC,EAAimC,kBAAjmC,EAAonC,YAApnC,EAAioC,cAAjoC,EAAgpC,cAAhpC,EAA+pC,gBAA/pC,EAAgrC,iBAAhrC,EAAksC,mBAAlsC,EAAstC,iBAAttC,EAAwuC,iBAAxuC,EAA0vC,cAA1vC,EAAywC,WAAzwC,EAAqxC,WAArxC,EAAiyC,UAAjyC,EAA4yC,aAA5yC,EAA0zC,SAA1zC,EAAo0C,WAAp0C,EAAg1C,WAAh1C,EAA41C,QAA51C,EAAq2C,eAAr2C,EAAq3C,WAAr3C,EAAi4C,eAAj4C,EAAi5C,eAAj5C,EAAi6C,YAAj6C,EAA86C,WAA96C,EAA07C,MAA17C,EAAi8C,MAAj8C,EAAw8C,MAAx8C,EAA+8C,YAA/8C,EAA49C,WAA59C,EAAw+C,WAAx+C,EAAo/C,aAAp/C,EAAkgD,QAAlgD,EAA2gD,YAA3gD,EAAwhD,UAAxhD,EAAmiD,UAAniD,EAA8iD,QAA9iD,EAAujD,SAAvjD,EAAikD,WAAjkD,EAA6kD,WAA7kD,EAAylD,WAAzlD,EAAqmD,MAArmD,EAA4mD,aAA5mD,EAA0nD,WAA1nD,EAAsoD,KAAtoD,EAA4oD,SAA5oD,EAAspD,QAAtpD,EAA+pD,WAA/pD,EAA2qD,QAA3qD,EAAorD,OAAprD,EAA4rD,YAA5rD,EAAysD,aAAzsD,EAAutD,cAAvtD,EAAsuD,eAAtuD,EAAsvD,cAAtvD,EAAqwD,YAArwD,EAAkxD,YAAlxD,EAA+xD,iBAA/xD,EAAizD,cAAjzD,EAAg0D,YAAh0D,EAA60D,aAA70D,EAA21D,UAA31D,EAAs2D,WAAt2D,EAAk3D,eAAl3D,EAAk4D,gBAAl4D,EAAm5D,iBAAn5D,EAAq6D,qBAAr6D,EAA27D,gBAA37D,EAA48D,UAA58D,EAAu9D,MAAv9D,EAA89D,UAA99D,EAAy+D,WAAz+D,EAAq/D,kBAAr/D,EAAwgE,YAAxgE,EAAqhE,iBAArhE,EAAuiE,mBAAviE,EAA2jE,cAA3jE,EAA0kE,QAA1kE,EAAmlE,aAAnlE,EAAimE,YAAjmE,EAA8mE,eAA9mE,EAA8nE,cAA9nE,EAA6oE,aAA7oE,CAAR;AAAqqE,UAAM+iN,EAAE,GAAC,+EAAT;AAAyF,UAAMC,EAAE,GAAC,4BAAT;;AAAsC,aAASC,EAAT,CAAY90R,CAAC,GAAC,EAAd,EAAiB;AAAC,UAAG,OAAKA,CAAR,EAAU,OAAM;AAACk0C,QAAAA,GAAG,EAAC,KAAK,CAAV;AAAY1nD,QAAAA,KAAK,EAAC,KAAK,CAAvB;AAAyBioP,QAAAA,MAAM,EAAC,KAAK,CAArC;AAAuCrgM,QAAAA,IAAI,EAAC,KAAK;AAAjD,OAAN;;AAA0D,YAAMzpC,CAAC,GAAC,UAAS3K,CAAT,EAAW;AAAC,cAAM2K,CAAC,GAAC3K,CAAC,CAACs+O,QAAF,CAAWq2C,EAAX,CAAR;AAAuB,eAAOxvR,KAAK,CAAC7H,IAAN,CAAWqN,CAAX,EAAcnhC,GAAd,CAAmBw2B,CAAC,IAAEA,CAAC,CAAC,CAAD,CAAvB,CAAP;AAAoC,OAAvE,CAAwEA,CAAxE,CAAR;AAAA,YAAmFuK,CAAC,GAACI,CAAC,CAAC,CAAD,CAAtF;AAAA,YAA0F4B,CAAC,GAAC5B,CAAC,CAAC,CAAD,CAAD,IAAMJ,CAAlG;AAAA,YAAoG5zB,CAAC,GAACg0B,CAAC,CAAC,CAAD,CAAD,IAAMJ,CAA5G;;AAA8G,aAAM;AAAC2pC,QAAAA,GAAG,EAAC3pC,CAAL;AAAOkqO,QAAAA,MAAM,EAACloO,CAAd;AAAgB/f,QAAAA,KAAK,EAAC7V,CAAtB;AAAwBy9D,QAAAA,IAAI,EAACzpC,CAAC,CAAC,CAAD,CAAD,IAAMh0B;AAAnC,OAAN;AAA4C;;AAAA,aAASo+S,EAAT,CAAY;AAAC7gP,MAAAA,GAAG,EAACl0C,CAAL;AAAOxT,MAAAA,KAAK,EAACme,CAAb;AAAe8pO,MAAAA,MAAM,EAAClqO,CAAtB;AAAwB6pC,MAAAA,IAAI,EAAC7nC;AAA7B,KAAZ,EAA4C;AAAC,YAAM51B,CAAC,GAAC,EAAR;AAAW,aAAO41B,CAAC,KAAG5B,CAAJ,GAAMh0B,CAAC,CAACsvB,IAAF,CAAOjG,CAAP,EAAS2K,CAAT,EAAWJ,CAAX,EAAagC,CAAb,CAAN,GAAsBhC,CAAC,KAAGvK,CAAJ,GAAMrpB,CAAC,CAACsvB,IAAF,CAAOjG,CAAP,EAAS2K,CAAT,EAAWJ,CAAX,CAAN,GAAoBI,CAAC,KAAG3K,CAAJ,GAAMrpB,CAAC,CAACsvB,IAAF,CAAOjG,CAAP,EAAS2K,CAAT,CAAN,GAAkBh0B,CAAC,CAACsvB,IAAF,CAAOjG,CAAP,CAA5D,EAAsErpB,CAAC,CAAC5J,IAAF,CAAO,GAAP,CAA7E;AAAyF;;AAAA,aAASioT,EAAT,CAAYh1R,CAAZ,EAAc;AAAC,UAAI2K,CAAJ,EAAMJ,CAAN;AAAQvK,MAAAA,CAAC,CAACqyP,aAAF,CAAgB,QAAhB,GAA0B1nP,CAAC,GAAC,QAAF,EAAW3K,CAAC,KAAG;AAACh5B,QAAAA,IAAI,EAAC2jC,CAAN;AAAQz5B,QAAAA,KAAK,EAAC4jT,EAAE,CAAC90R,CAAD;AAAhB,OAAH,CAAtC,IAAiEA,CAAC,CAACqyP,aAAF,CAAgB,YAAhB,EAA8BryP,CAAC,KAAG;AAACh5B,QAAAA,IAAI,EAAC,YAAN;AAAmBkK,QAAAA,KAAK,EAAC8uB;AAAzB,OAAH,CAA/B,CAAjE,EAAkIA,CAAC,CAACqyP,aAAF,CAAgB,cAAhB,EAAgCryP,CAAC,KAAG;AAACh5B,QAAAA,IAAI,EAAC,cAAN;AAAqBkK,QAAAA,KAAK,EAAC8uB;AAA3B,OAAH,CAAjC,CAAlI,EAAuMA,CAAC,CAACqyP,aAAF,CAAgB,eAAhB,EAAiCryP,CAAC,KAAG;AAACh5B,QAAAA,IAAI,EAAC,eAAN;AAAsBkK,QAAAA,KAAK,EAAC8uB;AAA5B,OAAH,CAAlC,CAAvM,EAA8QA,CAAC,CAACqyP,aAAF,CAAgB,aAAhB,EAA+BryP,CAAC,KAAG;AAACh5B,QAAAA,IAAI,EAAC,aAAN;AAAoBkK,QAAAA,KAAK,EAAC8uB;AAA1B,OAAH,CAAhC,CAA9Q,EAAiVA,CAAC,CAACuyP,UAAF,CAAa,QAAb,GAAuBhoP,CAAC,GAAC,QAAF,EAAWvK,CAAC,IAAE;AAAC,cAAK;AAACk0C,UAAAA,GAAG,EAACvpC,CAAL;AAAOne,UAAAA,KAAK,EAAC+f,CAAb;AAAekoO,UAAAA,MAAM,EAAC99P,CAAtB;AAAwBy9D,UAAAA,IAAI,EAAC3nC;AAA7B,YAAgCzM,CAArC;AAAA,cAAuCsK,CAAC,GAAC,EAAzC;AAA4C,eAAM,CAACK,CAAD,EAAG4B,CAAH,EAAKE,CAAL,EAAO91B,CAAP,EAAUy7F,KAAV,CAAiBpyE,CAAC,IAAE,CAAC,CAACA,CAAtB,IAA0BsK,CAAC,CAACrE,IAAF,CAAO,CAACsE,CAAD,EAAGwqR,EAAE,CAAC/0R,CAAD,CAAL,CAAP,CAA1B,IAA6C2K,CAAC,IAAEL,CAAC,CAACrE,IAAF,CAAO,CAACsE,CAAC,GAAC,MAAH,EAAUI,CAAV,CAAP,CAAH,EAAwB4B,CAAC,IAAEjC,CAAC,CAACrE,IAAF,CAAO,CAACsE,CAAC,GAAC,QAAH,EAAYgC,CAAZ,CAAP,CAA3B,EAAkD51B,CAAC,IAAE2zB,CAAC,CAACrE,IAAF,CAAO,CAACsE,CAAC,GAAC,SAAH,EAAa5zB,CAAb,CAAP,CAArD,EAA6E81B,CAAC,IAAEnC,CAAC,CAACrE,IAAF,CAAO,CAACsE,CAAC,GAAC,OAAH,EAAWkC,CAAX,CAAP,CAA7H,GAAoJnC,CAA1J;AAA4J,OAA9O,EAAjV,EAAkkBtK,CAAC,CAACwyP,gBAAF,CAAmB,QAAnB,EAA4B,CAAC,YAAD,EAAc,cAAd,EAA6B,eAA7B,EAA6C,aAA7C,CAA5B,CAAlkB;AAA2pB;;AAAA,UAAMyiC,EAAN,CAAQ;AAACx1T,MAAAA,WAAW,GAAE;AAAC,aAAKy1T,SAAL,GAAe,IAAIjmR,GAAJ,EAAf;AAAuB;;AAAAra,MAAAA,GAAG,CAACoL,CAAD,EAAG2K,CAAH,EAAK;AAAC,aAAKuqR,SAAL,CAAepwR,GAAf,CAAmB9E,CAAnB,EAAqB2K,CAArB;AAAwB;;AAAAlqC,MAAAA,GAAG,CAACu/B,CAAD,EAAG;AAAC,eAAO,KAAKk1R,SAAL,CAAez0T,GAAf,CAAmBu/B,CAAnB,CAAP;AAA6B;;AAAAmqP,MAAAA,OAAO,CAACnqP,CAAD,EAAG,GAAG2K,CAAN,EAAQ;AAAC,cAAMJ,CAAC,GAAC,KAAK9pC,GAAL,CAASu/B,CAAT,CAAR;AAAoB,YAAG,CAACuK,CAAJ,EAAM,MAAM,IAAI43C,CAAJ,CAAM,qCAAN,EAA4C,IAA5C,EAAiD;AAACojE,UAAAA,WAAW,EAACvlH;AAAb,SAAjD,CAAN;AAAwE,eAAOuK,CAAC,CAAC4/O,OAAF,CAAU,GAAGx/O,CAAb,CAAP;AAAuB;;AAAM,OAALizK,KAAK,GAAE;AAAC,eAAM,KAAKs3G,SAAL,CAAe7vR,IAAf,EAAN;AAA4B;;AAAS,OAAR8vR,QAAQ,GAAE;AAAC,eAAM,KAAKD,SAAL,CAAe7zQ,MAAf,EAAN;AAA8B;;AAAgB,OAAfnV,MAAM,CAACC,QAAQ,IAAG;AAAC,eAAO,KAAK+oR,SAAL,CAAehpR,MAAM,CAACC,QAAtB,GAAP;AAAyC;;AAAAwyE,MAAAA,OAAO,GAAE;AAAC,aAAI,MAAM3+E,CAAV,IAAe,KAAKm1R,QAAL,EAAf,EAA+Bn1R,CAAC,CAAC2+E,OAAF;AAAY;;AAArb;;AAAsb,UAAMy2M,EAAN,SAAiBv3C,EAAjB,CAAmB;AAACp+Q,MAAAA,WAAW,CAACugC,CAAD,EAAG;AAAC,iBAAQ,KAAKgiF,MAAL,GAAYhiF,CAApB;AAAsB;;AAAA8E,MAAAA,GAAG,CAAC9E,CAAD,EAAG2K,CAAH,EAAKJ,CAAC,GAAC,EAAP,EAAU;AAAC,YAAG,YAAU,OAAOI,CAApB,EAAsB;AAAC,gBAAM3K,CAAC,GAAC2K,CAAR;;AAAUA,UAAAA,CAAC,GAAC,CAACA,CAAD,EAAGJ,CAAH,KAAO;AAAC,iBAAKy3E,MAAL,CAAYmoK,OAAZ,CAAoBnqP,CAApB,GAAuBuK,CAAC,EAAxB;AAA2B,WAArC;AAAsC;;AAAA,cAAMzF,GAAN,CAAU9E,CAAV,EAAY2K,CAAZ,EAAcJ,CAAd;AAAiB;;AAA5I;;AAA6I,UAAM8qR,EAAN,SAAiBhzO,CAAC,EAAlB,CAAqB;AAAC5iF,MAAAA,WAAW,CAACugC,CAAC,GAAC,EAAH,EAAM;AAAC;AAAQ,cAAM2K,CAAC,GAAC,KAAKlrC,WAAb;AAAA,cAAyB8qC,CAAC,GAACvK,CAAC,CAAC9+B,QAAF,IAAYypC,CAAC,CAACyiG,aAAF,IAAiBziG,CAAC,CAACyiG,aAAF,CAAgBlsI,QAAxE;AAAiF,aAAKi9G,QAAL,GAAcn+E,CAAC,CAAC1vB,OAAF,IAAW,IAAIg7Q,EAAJ,CAAO;AAACpqR,UAAAA,QAAQ,EAACqpC;AAAV,SAAP,CAAzB,EAA8C,KAAK4zE,QAAL,CAAcwtK,UAAd,CAAyB,IAAzB,EAA8B,CAAC3rP,CAAC,CAAC1vB,OAAjC,CAA9C;AAAwF,cAAMi8B,CAAC,GAACpH,KAAK,CAAC7H,IAAN,CAAWqN,CAAC,CAAC6gP,cAAF,IAAkB,EAA7B,CAAR;AAAyC,aAAK9rR,MAAL,GAAY,IAAI8yQ,EAAJ,CAAOxyO,CAAP,EAAS2K,CAAC,CAACyiG,aAAX,CAAZ,EAAsC,KAAK1tI,MAAL,CAAY69M,MAAZ,CAAmB,SAAnB,EAA6BhxK,CAA7B,CAAtC,EAAsE,KAAK7sC,MAAL,CAAY69M,MAAZ,CAAmB,KAAKp/F,QAAL,CAAc0tK,gBAAd,EAAnB,CAAtE,EAA2H,KAAKpoK,OAAL,GAAa,IAAIinK,EAAJ,CAAO,IAAP,EAAYn+O,CAAZ,EAAc,KAAK4xE,QAAL,CAAcsF,OAA5B,CAAxI,EAA6K,KAAK0zG,MAAL,GAAY,KAAKh5G,QAAL,CAAcg5G,MAAvM,EAA8M,KAAKn3L,CAAL,GAAO,KAAKm3L,MAAL,CAAYn3L,CAAjO,EAAmO,KAAKs1R,cAAL,GAAoB,IAAIzjN,GAAJ,EAAvP,EAA+P,KAAKsjN,QAAL,GAAc,IAAIF,EAAJ,EAA7Q,EAAoR,KAAKnwR,GAAL,CAAS,OAAT,EAAiB,cAAjB,CAApR,EAAqT,KAAK2gO,IAAL,CAAU,OAAV,EAAmB,MAAI,KAAKhqP,KAAL,GAAW,OAAlC,EAA2C;AAACkqG,UAAAA,QAAQ,EAAC;AAAV,SAA3C,CAArT,EAAmX,KAAK8/I,IAAL,CAAU,SAAV,EAAqB,MAAI,KAAKhqP,KAAL,GAAW,WAApC,EAAiD;AAACkqG,UAAAA,QAAQ,EAAC;AAAV,SAAjD,CAAnX,EAAub,KAAKppG,KAAL,GAAW,IAAI23S,EAAJ,EAAlc,EAAyc,KAAKzyS,EAAL,CAAQ,mBAAR,EAA6B,MAAI;AAAC,eAAKlF,KAAL,CAAWmlB,QAAX,CAAoBuoP,UAApB,GAA+B,KAAKA,UAApC;AAA+C,SAAjF,CAAzc;AAA6hB,cAAMtzQ,CAAC,GAAC,IAAIo7Q,EAAJ,EAAR;AAAe,aAAKpqR,IAAL,GAAU,IAAI4sN,EAAJ,CAAO,KAAKh4M,KAAZ,EAAkB5F,CAAlB,CAAV,EAA+B,KAAK4+S,OAAL,GAAa,IAAIxyS,EAAJ,CAAO,KAAKxG,KAAZ,EAAkB5F,CAAlB,CAA5C,EAAiE,KAAK4+S,OAAL,CAAaz/G,IAAb,CAAkBp0K,QAAlB,CAA2B3M,IAA3B,CAAgC,YAAhC,EAA8C03J,EAA9C,CAAiD,IAAjD,CAAjE,EAAwH,KAAKysE,UAAL,GAAgB,IAAIurD,EAAJ,CAAO,CAAC,KAAK8Q,OAAL,CAAanX,kBAAd,EAAiC,KAAKz2S,IAAL,CAAUy2S,kBAA3C,CAAP,EAAsE,KAAKz2S,IAAL,CAAUi8S,gBAAhF,CAAxI,EAA0O,KAAK1qD,UAAL,CAAgB8rD,QAAhB,CAAyB,cAAzB,EAAwC,KAAKr9S,IAAL,CAAUy2S,kBAAlD,CAA1O,EAAgT,KAAKllD,UAAL,CAAgB8rD,QAAhB,CAAyB,iBAAzB,EAA2C,KAAKuQ,OAAL,CAAanX,kBAAxD,CAAhT,EAA4X,KAAKh3B,UAAL,GAAgB,IAAIguC,EAAJ,CAAO,IAAP,CAA5Y,EAAyZ,KAAKhuC,UAAL,CAAgB5hB,QAAhB,CAAyB,KAAK+vD,OAAL,CAAaz/G,IAAb,CAAkBp0K,QAA3C,CAAzZ;AAA8c;;AAAc,UAAVuoP,UAAU,GAAE;AAAC,eAAO,KAAKqrC,cAAL,CAAoBnjN,IAApB,GAAyB,CAAhC;AAAkC;;AAAc,UAAV83K,UAAU,CAACjqP,CAAD,EAAG;AAAC,cAAM,IAAImiD,CAAJ,CAAM,iCAAN,CAAN;AAA+C;;AAAAqzO,MAAAA,kBAAkB,CAACx1R,CAAD,EAAG;AAAC,YAAG,YAAU,OAAOA,CAAjB,IAAoB,YAAU,OAAOA,CAAxC,EAA0C,MAAM,IAAImiD,CAAJ,CAAM,kCAAN,EAAyC,IAAzC,EAA8C;AAACszO,UAAAA,MAAM,EAACz1R;AAAR,SAA9C,CAAN;AAAgE,aAAKs1R,cAAL,CAAoBxmQ,GAApB,CAAwB9uB,CAAxB,MAA6B,KAAKs1R,cAAL,CAAoB1gS,GAApB,CAAwBoL,CAAxB,GAA2B,MAAI,KAAKs1R,cAAL,CAAoBnjN,IAAxB,IAA8B,KAAKuT,IAAL,CAAU,mBAAV,EAA8B,YAA9B,EAA2C,CAAC,CAA5C,EAA8C,CAAC,CAA/C,CAAtF;AAAyI;;AAAAgwM,MAAAA,mBAAmB,CAAC11R,CAAD,EAAG;AAAC,YAAG,YAAU,OAAOA,CAAjB,IAAoB,YAAU,OAAOA,CAAxC,EAA0C,MAAM,IAAImiD,CAAJ,CAAM,kCAAN,EAAyC,IAAzC,EAA8C;AAACszO,UAAAA,MAAM,EAACz1R;AAAR,SAA9C,CAAN;AAAgE,aAAKs1R,cAAL,CAAoBxmQ,GAApB,CAAwB9uB,CAAxB,MAA6B,KAAKs1R,cAAL,CAAoB1gR,MAApB,CAA2B5U,CAA3B,GAA8B,MAAI,KAAKs1R,cAAL,CAAoBnjN,IAAxB,IAA8B,KAAKuT,IAAL,CAAU,mBAAV,EAA8B,YAA9B,EAA2C,CAAC,CAA5C,EAA8C,CAAC,CAA/C,CAAzF;AAA4I;;AAAAy4D,MAAAA,WAAW,GAAE;AAAC,cAAMn+I,CAAC,GAAC,KAAKtgC,MAAb;AAAA,cAAoBirC,CAAC,GAAC3K,CAAC,CAACv/B,GAAF,CAAM,SAAN,CAAtB;AAAA,cAAuC8pC,CAAC,GAACvK,CAAC,CAACv/B,GAAF,CAAM,eAAN,KAAwB,EAAjE;AAAA,cAAoE8rC,CAAC,GAACvM,CAAC,CAACv/B,GAAF,CAAM,cAAN,KAAuB,EAA7F;AAAA,cAAgGkW,CAAC,GAACqpB,CAAC,CAACv/B,GAAF,CAAM,mBAAN,KAA4B,EAA9H;AAAiI,eAAO,KAAKgjH,OAAL,CAAaliH,IAAb,CAAkBopC,CAAC,CAACiC,MAAF,CAASL,CAAT,CAAlB,EAA8BhC,CAA9B,EAAgC5zB,CAAhC,CAAP;AAA0C;;AAAAgoG,MAAAA,OAAO,GAAE;AAAC,YAAI3+E,CAAC,GAACwJ,OAAO,CAACC,OAAR,EAAN;AAAwB,eAAM,kBAAgB,KAAKhuB,KAArB,KAA6BukB,CAAC,GAAC,IAAIwJ,OAAJ,CAAaxJ,CAAC,IAAE,KAAKylO,IAAL,CAAU,OAAV,EAAkBzlO,CAAlB,CAAhB,CAA/B,GAAuEA,CAAC,CAACx4B,IAAF,CAAQ,MAAI;AAAC,eAAKk+G,IAAL,CAAU,SAAV,GAAqB,KAAKggJ,aAAL,EAArB,EAA0C,KAAKyvD,QAAL,CAAcx2M,OAAd,EAA1C;AAAkE,SAA/E,EAAkFn3G,IAAlF,CAAwF,MAAI,KAAKi8G,OAAL,CAAa9E,OAAb,EAA5F,EAAqHn3G,IAArH,CAA2H,MAAI;AAAC,eAAK+U,KAAL,CAAWoiG,OAAX,IAAqB,KAAKh3G,IAAL,CAAUg3G,OAAV,EAArB,EAAyC,KAAK42M,OAAL,CAAa52M,OAAb,EAAzC,EAAgE,KAAKyoK,UAAL,CAAgBzoK,OAAhB,EAAhE;AAA0F,SAA1N,EAA6Nn3G,IAA7N,CAAmO,MAAI,KAAK22G,QAAL,CAAcytK,aAAd,CAA4B,IAA5B,CAAvO,CAA7E;AAAwV;;AAAAzB,MAAAA,OAAO,CAACnqP,CAAD,EAAG,GAAG2K,CAAN,EAAQ;AAAC,YAAG;AAAC,iBAAO,KAAKwqR,QAAL,CAAchrC,OAAd,CAAsBnqP,CAAtB,EAAwB,GAAG2K,CAA3B,CAAP;AAAqC,SAAzC,CAAyC,OAAM3K,CAAN,EAAQ;AAACmiD,UAAAA,CAAC,CAACgjL,sBAAF,CAAyBnlO,CAAzB,EAA2B,IAA3B;AAAiC;AAAC;;AAAAgzC,MAAAA,KAAK,GAAE;AAAC,aAAKuiP,OAAL,CAAaz/G,IAAb,CAAkB9iI,KAAlB;AAA0B;;AAAa,aAANjqC,MAAM,CAAC,GAAG/I,CAAJ,EAAM;AAAC,cAAM,IAAImtB,KAAJ,CAAU,6BAAV,CAAN;AAA+C;;AAA7mF;;AAA8mF,aAASwoQ,EAAT,CAAY31R,CAAZ,EAAc;AAAC,aAAO,cAAcA,CAAd,CAAe;AAAC+sQ,QAAAA,OAAO,CAAC/sQ,CAAD,EAAG;AAAC,eAAKr4B,IAAL,CAAUm9B,GAAV,CAAc9E,CAAd;AAAiB;;AAAA8sQ,QAAAA,OAAO,CAAC9sQ,CAAD,EAAG;AAAC,iBAAO,KAAKr4B,IAAL,CAAUlH,GAAV,CAAcu/B,CAAd,CAAP;AAAwB;;AAAhE,OAAtB;AAAwF;;AAAA;AAAC,YAAMA,CAAC,GAAC21R,EAAE,CAACxzR,MAAD,CAAV;AAAmBwzR,MAAAA,EAAE,CAAC5oB,OAAH,GAAW/sQ,CAAC,CAACiK,SAAF,CAAY8iQ,OAAvB,EAA+B4oB,EAAE,CAAC7oB,OAAH,GAAW9sQ,CAAC,CAACiK,SAAF,CAAY6iQ,OAAtD;AAA8D;;AAAA,aAAS8oB,EAAT,CAAY51R,CAAZ,EAAc;AAAC,aAAO,cAAcA,CAAd,CAAe;AAAC61R,QAAAA,mBAAmB,CAAC71R,CAAD,EAAG;AAAC,cAAG,CAAC,KAAK81R,aAAT,EAAuB,MAAM,IAAI3zO,CAAJ,CAAM,8BAAN,EAAqC,IAArC,CAAN;AAAiD,gBAAMx3C,CAAC,GAAC,KAAKjrC,MAAL,CAAYe,GAAZ,CAAgB,8BAAhB,CAAR;AAAA,gBAAwD8pC,CAAC,GAAC,KAAKurR,aAAL,YAA8Bt+C,mBAAxF;AAA4G,cAAG,CAAC7sO,CAAD,IAAI,CAACJ,CAAR,EAAU,OAAO,KAAKgtO,EAAE,CAAC,KAAKu+C,aAAN,EAAoB,EAApB,CAAd;AAAsC,gBAAMvpR,CAAC,GAAC,YAAU,OAAOvM,CAAjB,GAAmBA,CAAnB,GAAqB,KAAKr4B,IAAL,CAAUlH,GAAV,EAA7B;AAA6C82Q,UAAAA,EAAE,CAAC,KAAKu+C,aAAN,EAAoBvpR,CAApB,CAAF;AAAyB;;AAAlU,OAAtB;AAA0V;;AAAAqpR,IAAAA,EAAE,CAACC,mBAAH,GAAuBD,EAAE,CAACzzR,MAAD,CAAF,CAAW8H,SAAX,CAAqB4rR,mBAA5C;AAAgE3pR,IAAAA,MAAM,CAACC,QAAP;AAAgB,UAAM4pR,EAAE,GAAC;AAACC,MAAAA,IAAI,EAAC,quBAAN;AAA4uB1yM,MAAAA,MAAM,EAAC,uRAAnvB;AAA2gC2yM,MAAAA,OAAO,EAAC,qVAAnhC;AAAy2CC,MAAAA,KAAK,EAAC,6OAA/2C;AAA6lDC,MAAAA,GAAG,EAAC,wmBAAjmD;AAA0sEC,MAAAA,MAAM,EAAC,oVAAjtE;AAAsiFt1O,MAAAA,OAAO,EAAC,+eAA9iF;AAA8hGu1O,MAAAA,KAAK,EAAC,0XAApiG;AAA+5GC,MAAAA,SAAS,EAAC,4lDAAz6G;AAAsgKC,MAAAA,eAAe,EAAC,wtBAAthK;AAA+uLC,MAAAA,KAAK,EAAC,0MAArvL;AAAg8LC,MAAAA,YAAY,EAAC,ukBAA78L;AAAqhNC,MAAAA,SAAS,EAAC,wMAA/hN;AAAwuNC,MAAAA,IAAI,EAAC,8KAA7uN;AAA45N5kL,MAAAA,IAAI,EAAC,oXAAj6N;AAAsxO6kL,MAAAA,WAAW,EAAC,2TAAlyO;AAA8lPC,MAAAA,WAAW,EAAC,oiBAA1mP;AAA+oQC,MAAAA,QAAQ,EAAC,8TAAxpQ;AAAu9QC,MAAAA,SAAS,EAAC,6XAAj+Q;AAA+1RC,MAAAA,WAAW,EAAC,mYAA32R;AAA+uSC,MAAAA,UAAU,EAAC,gYAA1vS;AAA2nTC,MAAAA,YAAY,EAAC,4XAAxoT;AAAqgUC,MAAAA,UAAU,EAAC,2SAAhhU;AAA4zUC,MAAAA,YAAY,EAAC,qPAAz0U;AAA+jVC,MAAAA,WAAW,EAAC,4RAA3kV;AAAw2VC,MAAAA,eAAe,EAAC,6OAAx3V;AAAsmWC,MAAAA,YAAY,EAAC,yQAAnnW;AAA63WC,MAAAA,eAAe,EAAC,qPAA74W;AAAmoXC,MAAAA,gBAAgB,EAAC,qPAAppX;AAA04XC,MAAAA,cAAc,EAAC,izBAAz5X;AAA2sZC,MAAAA,eAAe,EAAC,suBAA3tZ;AAAk8aC,MAAAA,eAAe,EAAC,suBAAl9a;AAAyrcC,MAAAA,gBAAgB,EAAC,suBAA1sc;AAAi7dC,MAAAA,MAAM,EAAC,gfAAx7d;AAAy6eC,MAAAA,OAAO,EAAC,8LAAj7e;AAAgnfC,MAAAA,KAAK,EAAC,kZAAtnf;AAAyggBC,MAAAA,iBAAiB,EAAC,+KAA3hgB;AAA2sgBC,MAAAA,aAAa,EAAC;AAAztgB,KAAT;AAAmnhB,QAAIC,EAAE,GAAC5tR,CAAC,CAAC,IAAD,CAAR;AAAA,QAAe6tR,EAAE,GAAC;AAACn5C,MAAAA,UAAU,EAAC,mBAAZ;AAAgCh7J,MAAAA,UAAU,EAAC;AAAC,oBAAW,CAAC;AAAb,OAA3C;AAA2DqC,MAAAA,MAAM,EAAC,MAAlE;AAAyEy9I,MAAAA,SAAS,EAAC,CAAC;AAApF,KAAlB;AAAyG+a,IAAAA,EAAE,GAAGq5C,EAAE,CAAC51D,CAAN,EAAQ61D,EAAR,CAAF;AAAcD,IAAAA,EAAE,CAAC51D,CAAH,CAAK2c,MAAL;AAAY,UAAK;AAAC+4C,MAAAA,iBAAiB,EAACI;AAAnB,QAAuBtC,EAA5B;AAAA,UAA+BuC,EAAE,GAAC;AAACvB,MAAAA,SAAS,EAAChB,EAAE,CAACgB,SAAd;AAAwBf,MAAAA,IAAI,EAACD,EAAE,CAACC,IAAhC;AAAqCS,MAAAA,YAAY,EAACV,EAAE,CAACU,YAArD;AAAkEC,MAAAA,SAAS,EAACX,EAAE,CAACW,SAA/E;AAAyFC,MAAAA,IAAI,EAACZ,EAAE,CAACY,IAAjG;AAAsG5kL,MAAAA,IAAI,EAACgkL,EAAE,CAAChkL,IAA9G;AAAmHkmL,MAAAA,iBAAiB,EAAClC,EAAE,CAACkC,iBAAxI;AAA0JF,MAAAA,OAAO,EAAChC,EAAE,CAACgC,OAArK;AAA6KG,MAAAA,aAAa,EAACnC,EAAE,CAACmC;AAA9L,KAAlC;;AAA+O,UAAMK,EAAN,SAAiBp5C,EAAjB,CAAmB;AAAC1/Q,MAAAA,WAAW,CAACugC,CAAD,EAAG2K,CAAH,EAAK;AAAC,cAAM3K,CAAN;AAAS,cAAMuK,CAAC,GAAC,KAAKg1O,YAAb;AAAA,cAA0BhzO,CAAC,GAAC,KAAKvM,CAAjC;AAAmC,aAAKtS,OAAL,GAAaid,CAAC,IAAE,EAAhB,EAAmB,KAAK7F,GAAL,CAAS,WAAT,EAAqByH,CAAC,CAAC,gBAAD,CAAtB,CAAnB,EAA6D,KAAKzH,GAAL,CAAS,UAAT,EAAoB,MAApB,CAA7D,EAAyF,KAAKxqB,KAAL,GAAW,KAAKglQ,gBAAL,EAApG,EAA4H,KAAKwG,YAAL,GAAkB,IAAI3vD,EAAJ,EAA9I,EAAqJ,KAAKixD,UAAL,GAAgB,IAAIvJ,EAAJ,EAArK,EAA4K,KAAK/4O,GAAL,CAAS,OAAT,EAAiB,KAAK,CAAtB,CAA5K,EAAqM,KAAKA,GAAL,CAAS,WAAT,EAAqB,CAAC,CAAtB,CAArM,EAA8N,KAAK0zR,SAAL,GAAe,IAAIC,EAAJ,CAAOz4R,CAAP,CAA7O,EAAuP,KAAK14B,QAAL,GAAc,KAAKg4Q,gBAAL,EAArQ,EAA6R,KAAKh4Q,QAAL,CAAcstB,GAAd,CAAkB,KAAK4jS,SAAvB,CAA7R,EAA+T,KAAK/vC,UAAL,GAAgB,KAAKnJ,gBAAL,EAA/U;AAAuW,cAAM3oQ,CAAC,GAAC,UAAQqpB,CAAC,CAACk8O,mBAAlB;AAAsC,aAAKw8C,YAAL,GAAkB,IAAIlwC,EAAJ,CAAO;AAACC,UAAAA,UAAU,EAAC,KAAKA,UAAjB;AAA4B3C,UAAAA,YAAY,EAAC,KAAKA,YAA9C;AAA2D4C,UAAAA,gBAAgB,EAAC,KAAKtB,UAAjF;AAA4FuB,UAAAA,OAAO,EAAC;AAACK,YAAAA,aAAa,EAAC,CAACryQ,CAAC,GAAC,YAAD,GAAc,WAAhB,EAA4B,SAA5B,CAAf;AAAsDoyQ,YAAAA,SAAS,EAAC,CAACpyQ,CAAC,GAAC,WAAD,GAAa,YAAf,EAA4B,WAA5B;AAAhE;AAApG,SAAP,CAAlB;AAAyO,cAAM81B,CAAC,GAAC,CAAC,IAAD,EAAM,YAAN,EAAmBlC,CAAC,CAACkiJ,EAAF,CAAK,OAAL,CAAnB,EAAiCliJ,CAAC,CAACu2O,EAAF,CAAK,WAAL,EAAiB,oBAAjB,CAAjC,CAAR;AAAiF,YAAIx2O,CAAJ;AAAM,aAAK5c,OAAL,CAAairS,mBAAb,IAAkC,KAAKjrS,OAAL,CAAakrS,UAA/C,IAA2DnsR,CAAC,CAACxG,IAAF,CAAO,qBAAP,CAA3D,EAAyF,KAAK25O,WAAL,CAAiB;AAACsB,UAAAA,GAAG,EAAC,KAAL;AAAWj9J,UAAAA,UAAU,EAAC;AAACm/J,YAAAA,KAAK,EAAC32O,CAAP;AAAS7+B,YAAAA,IAAI,EAAC,SAAd;AAAwB,0BAAa28B,CAAC,CAACkiJ,EAAF,CAAK,WAAL,CAArC;AAAuDlxG,YAAAA,KAAK,EAAC;AAACs9O,cAAAA,QAAQ,EAACtuR,CAAC,CAACkiJ,EAAF,CAAK,UAAL;AAAV,aAA7D;AAAyFg4F,YAAAA,QAAQ,EAAC,CAAC;AAAnG,WAAtB;AAA4Hn9Q,UAAAA,QAAQ,EAAC,KAAKA,QAA1I;AAAmJma,UAAAA,EAAE,EAAC;AAACkjQ,YAAAA,SAAS,GAAEr6O,CAAC,GAAC,IAAF,EAAOA,CAAC,CAACi1O,YAAF,CAAe9yF,EAAf,CAAmBzsJ,CAAC,IAAE;AAACA,cAAAA,CAAC,CAAC4tB,MAAF,KAAWtjB,CAAC,CAACthB,OAAb,IAAsBgX,CAAC,CAACu0C,cAAF,EAAtB;AAAyC,aAAhE,CAAT;AAAV;AAAtJ,SAAjB,CAAzF,EAA0V,KAAKukP,SAAL,GAAe,KAAKprS,OAAL,CAAairS,mBAAb,GAAiC,IAAII,EAAJ,CAAO,IAAP,CAAjC,GAA8C,IAAIC,EAAJ,CAAO,IAAP,CAAvZ;AAAoa;;AAAAp6C,MAAAA,MAAM,GAAE;AAAC,cAAMA,MAAN,IAAe,KAAKkH,YAAL,CAAkBlxP,GAAlB,CAAsB,KAAK5L,OAA3B,CAAf;;AAAmD,aAAI,MAAMgX,CAAV,IAAe,KAAK1lB,KAApB,EAA0B,KAAKwrQ,YAAL,CAAkBlxP,GAAlB,CAAsBoL,CAAC,CAAChX,OAAxB;;AAAiC,aAAK1O,KAAL,CAAWmH,EAAX,CAAc,KAAd,EAAqB,CAACue,CAAD,EAAG2K,CAAH,KAAO;AAAC,eAAKm7O,YAAL,CAAkBlxP,GAAlB,CAAsB+V,CAAC,CAAC3hB,OAAxB;AAAiC,SAA9D,GAAiE,KAAK1O,KAAL,CAAWmH,EAAX,CAAc,QAAd,EAAwB,CAACue,CAAD,EAAG2K,CAAH,KAAO;AAAC,eAAKm7O,YAAL,CAAkB7lK,MAAlB,CAAyBt1E,CAAC,CAAC3hB,OAA3B;AAAoC,SAApE,CAAjE,EAAwI,KAAKo+P,UAAL,CAAgB5hB,QAAhB,CAAyB,KAAKx8O,OAA9B,CAAxI,EAA+K,KAAK8vS,SAAL,CAAel6C,MAAf,CAAsB,IAAtB,CAA/K;AAA2M;;AAAAjgK,MAAAA,OAAO,GAAE;AAAC,eAAO,KAAKm6M,SAAL,CAAen6M,OAAf,IAAyB,KAAKmnK,YAAL,CAAkBnnK,OAAlB,EAAzB,EAAqD,KAAKyoK,UAAL,CAAgBzoK,OAAhB,EAArD,EAA+E,MAAMA,OAAN,EAAtF;AAAsG;;AAAA3rC,MAAAA,KAAK,GAAE;AAAC,aAAK0lP,YAAL,CAAkB9vC,UAAlB;AAA+B;;AAAA9B,MAAAA,SAAS,GAAE;AAAC,aAAK4xC,YAAL,CAAkB5xC,SAAlB;AAA8B;;AAAAmyC,MAAAA,cAAc,CAACj5R,CAAD,EAAG2K,CAAH,EAAKJ,CAAL,EAAO;AAAC,aAAKjwB,KAAL,CAAWyiQ,OAAX,CAAmB,KAAKm8C,qBAAL,CAA2Bl5R,CAA3B,EAA6B2K,CAA7B,EAA+BJ,CAA/B,CAAnB;AAAsD;;AAAA2uR,MAAAA,qBAAqB,CAACl5R,CAAD,EAAG2K,CAAH,EAAKJ,CAAL,EAAO;AAAC,cAAMgC,CAAC,GAAC48O,EAAE,CAACnpP,CAAD,CAAV;AAAA,cAAcrpB,CAAC,GAAC4zB,CAAC,IAAEgC,CAAC,CAAC68O,WAArB;AAAiC,eAAO,KAAK+vC,wBAAL,CAA8B5sR,CAAC,CAACjyB,KAAhC,EAAsCqwB,CAAtC,EAAwCh0B,CAAxC,EAA2CnN,GAA3C,CAAgDw2B,CAAC,IAAEilL,CAAC,CAACjlL,CAAD,CAAD,GAAK,KAAKo5R,4BAAL,CAAkCp5R,CAAlC,EAAoC2K,CAApC,EAAsCh0B,CAAtC,CAAL,GAA8C,QAAMqpB,CAAN,GAAQ,IAAIipP,EAAJ,EAAR,GAAe,QAAMjpP,CAAN,GAAQ,IAAIkpP,EAAJ,EAAR,GAAev+O,CAAC,CAAC5B,MAAF,CAAS/I,CAAT,CAA/H,EAA6Ir2B,MAA7I,CAAqJq2B,CAAC,IAAE,CAAC,CAACA,CAA1J,CAAP;AAAqK;;AAAAm5R,MAAAA,wBAAwB,CAACn5R,CAAD,EAAG2K,CAAH,EAAKJ,CAAL,EAAO;AAAC,cAAMgC,CAAC,GAACvM,CAAC,CAACr2B,MAAF,CAAU,CAACq2B,CAAD,EAAGuM,CAAH,EAAK51B,CAAL,KAAS,QAAMqpB,CAAN,IAAS,CAAC,CAAD,KAAKuK,CAAC,CAACnyB,OAAF,CAAU4nB,CAAV,CAAL,KAAoB,QAAMA,CAAN,GAAQ,CAAC,KAAKtS,OAAL,CAAairS,mBAAd,KAAoC9uR,CAAC,CAAC,oDAAD,EAAsDlzB,CAAtD,CAAD,EAA0D,CAAC,CAA/F,CAAR,GAA0G,EAAE,CAACsuM,CAAC,CAACjlL,CAAD,CAAF,IAAO,CAAC2K,CAAC,CAACmkB,GAAF,CAAM9uB,CAAN,CAAV,MAAsB6J,CAAC,CAAC,8BAAD,EAAgC;AAACrvB,UAAAA,IAAI,EAACwlB;AAAN,SAAhC,CAAD,EAA2C,CAAC,CAAlE,CAA9H,CAA5B,CAAR;AAA0O,eAAO,KAAKq5R,6BAAL,CAAmC9sR,CAAnC,CAAP;AAA6C;;AAAA8sR,MAAAA,6BAA6B,CAACr5R,CAAD,EAAG;AAAC,cAAM2K,CAAC,GAAC3K,CAAC,IAAE,QAAMA,CAAN,IAAS,QAAMA,CAA1B;AAAA,cAA4BuK,CAAC,GAACvK,CAAC,CAACrzB,MAAhC;AAAA,cAAuC4/B,CAAC,GAACvM,CAAC,CAAC7nB,SAAF,CAAYwyB,CAAZ,CAAzC;;AAAwD,YAAG,CAAC,CAAD,KAAK4B,CAAR,EAAU,OAAM,EAAN;AAAS,cAAM51B,CAAC,GAAC4zB,CAAC,GAACvK,CAAC,CAAC04E,KAAF,GAAU62B,OAAV,GAAoBp3H,SAApB,CAA8BwyB,CAA9B,CAAV;AAA2C,eAAO3K,CAAC,CAAC04E,KAAF,CAAQnsE,CAAR,EAAU51B,CAAV,EAAahN,MAAb,CAAqB,CAACq2B,CAAD,EAAGuK,CAAH,EAAKgC,CAAL,KAAS;AAAC,cAAG5B,CAAC,CAAC3K,CAAD,CAAJ,EAAQ,OAAM,CAAC,CAAP;AAAS,iBAAM,EAAEuK,CAAC,GAAC,CAAF,IAAKgC,CAAC,CAAChC,CAAC,GAAC,CAAH,CAAD,KAASvK,CAAhB,CAAN;AAAyB,SAAzE,CAAP;AAAmF;;AAAAo5R,MAAAA,4BAA4B,CAACp5R,CAAD,EAAG2K,CAAH,EAAKJ,CAAL,EAAO;AAAC,YAAG;AAACmB,UAAAA,KAAK,EAACa,CAAP;AAASjvB,UAAAA,IAAI,EAAC3G,CAAd;AAAgB2D,UAAAA,KAAK,EAACmyB,CAAtB;AAAwB6sR,UAAAA,OAAO,EAAChvR,CAAC,GAAC,CAAC,CAAnC;AAAqCivR,UAAAA,QAAQ,EAACn3O,CAAC,GAAC,CAAC;AAAjD,YAAoDpiD,CAAvD;AAAyD,YAAGyM,CAAC,GAAC,KAAK0sR,wBAAL,CAA8B1sR,CAA9B,EAAgC9B,CAAhC,EAAkCJ,CAAlC,CAAF,EAAuC,CAACkC,CAAC,CAAC9/B,MAA7C,EAAoD,OAAO,IAAP;AAAY,cAAMgxK,CAAC,GAAC67I,EAAE,CAAC,KAAKriG,MAAN,CAAV;AAAwB,eAAO5qL,CAAC,IAAE1C,CAAC,CAAC,mDAAD,EAAqD7J,CAArD,CAAJ,EAA4D29I,CAAC,CAACylG,KAAF,GAAQ,qCAApE,EAA0GzlG,CAAC,CAACupG,UAAF,CAAapiP,GAAb,CAAiB;AAAC4G,UAAAA,KAAK,EAACa,CAAP;AAAS+sR,UAAAA,OAAO,EAAChvR,CAAjB;AAAmBivR,UAAAA,QAAQ,EAAC,CAAC,CAACn3O;AAA9B,SAAjB,CAA1G,EAA6J,CAAC,CAAD,KAAKzrE,CAAL,GAAOgnK,CAAC,CAACupG,UAAF,CAAa5pQ,IAAb,GAAkBg7S,EAAE,CAAC3hT,CAAD,CAAF,IAAOA,CAAP,IAAU0hT,EAAnC,GAAsC16I,CAAC,CAACupG,UAAF,CAAaqyC,QAAb,GAAsB,CAAC,CAA1N,EAA4NE,EAAE,CAAC97I,CAAD,EAAI,MAAIA,CAAC,CAAC+7I,WAAF,CAAcR,qBAAd,CAAoCzsR,CAApC,EAAsC9B,CAAtC,EAAwCJ,CAAxC,CAAR,CAA9N,EAAmRozI,CAA1R;AAA4R;;AAAn9F;;AAAo9F,UAAM86I,EAAN,SAAiBt5C,EAAjB,CAAmB;AAAC1/Q,MAAAA,WAAW,CAACugC,CAAD,EAAG;AAAC,cAAMA,CAAN,GAAS,KAAK14B,QAAL,GAAc,KAAKg4Q,gBAAL,EAAvB,EAA+C,KAAKM,WAAL,CAAiB;AAACsB,UAAAA,GAAG,EAAC,KAAL;AAAWj9J,UAAAA,UAAU,EAAC;AAACm/J,YAAAA,KAAK,EAAC,CAAC,IAAD,EAAM,mBAAN;AAAP,WAAtB;AAAyD97Q,UAAAA,QAAQ,EAAC,KAAKA;AAAvE,SAAjB,CAA/C;AAAkJ;;AAAlK;;AAAmK,UAAM0xT,EAAN,CAAQ;AAACv5T,MAAAA,WAAW,CAACugC,CAAD,EAAG;AAAC,cAAM2K,CAAC,GAAC3K,CAAC,CAACu/O,YAAV;AAAuBv/O,QAAAA,CAAC,CAAC8E,GAAF,CAAM,YAAN,EAAmB,CAAC,CAApB,GAAuB9E,CAAC,CAACw4R,SAAF,CAAYlxT,QAAZ,CAAqB61Q,MAArB,CAA4Bn9O,CAAC,CAAC1lB,KAA9B,EAAqC+iQ,KAArC,CAA4Cr9O,CAAC,IAAEA,CAA/C,CAAvB,EAA0EA,CAAC,CAACyoP,UAAF,CAAatL,MAAb,CAAoBn9O,CAAC,CAAC1lB,KAAtB,EAA6B+iQ,KAA7B,CAAoCr9O,CAAC,IAAEA,CAAvC,CAA1E,EAAqHA,CAAC,CAAC6/O,cAAF,CAAiB;AAAC57J,UAAAA,UAAU,EAAC;AAACm/J,YAAAA,KAAK,EAAC,CAACz4O,CAAC,CAACm2O,EAAF,CAAK,YAAL,EAAkB,qBAAlB,CAAD;AAAP;AAAZ,SAAjB,CAArH;AAAuM;;AAAAlC,MAAAA,MAAM,GAAE,CAAE;;AAAAjgK,MAAAA,OAAO,GAAE,CAAE;;AAAnQ;;AAAoQ,UAAMo6M,EAAN,CAAQ;AAACt5T,MAAAA,WAAW,CAACugC,CAAD,EAAG;AAAC,aAAK25R,cAAL,GAAoB,IAApB,EAAyB,KAAKC,aAAL,GAAmB,IAA5C,EAAiD,KAAKC,gCAAL,GAAsC,CAAC,CAAxF,EAA0F,KAAK/jH,IAAL,GAAU91K,CAApG,EAAsG,KAAK85R,YAAL,GAAkB95R,CAAC,CAAC14B,QAA1H,EAAmI,KAAKyyT,cAAL,GAAoB/5R,CAAC,CAACyoP,UAAzJ,EAAoK,KAAKuxC,aAAL,GAAmBh6R,CAAC,CAACw4R,SAAzL,EAAmM,KAAKyB,gBAAL,GAAsBj6R,CAAC,CAAC8lP,YAA3N,EAAwO,KAAKo0C,UAAL,GAAgBl6R,CAAC,CAACm3L,MAA1P,EAAiQ,KAAKgjG,cAAL,GAAoBn6R,CAAC,CAACs/O,gBAAF,EAArR,EAA0S,KAAK86C,YAAL,GAAkBp6R,CAAC,CAACs/O,gBAAF,EAA5T,EAAiV,KAAK+6C,oBAAL,GAA0B,KAAKC,2BAAL,EAA3W,EAA8Yt6R,CAAC,CAACw4R,SAAF,CAAYlxT,QAAZ,CAAqB61Q,MAArB,CAA4B,KAAKg9C,cAAjC,EAAiD98C,KAAjD,CAAwDr9O,CAAC,IAAEA,CAA3D,CAA9Y,EAA6c,KAAKm6R,cAAL,CAAoB14S,EAApB,CAAuB,QAAvB,EAAgC,KAAK84S,0BAAL,CAAgCxlS,IAAhC,CAAqC,IAArC,CAAhC,CAA7c,EAAyhBiL,CAAC,CAAC14B,QAAF,CAAWma,EAAX,CAAc,QAAd,EAAuB,KAAK84S,0BAAL,CAAgCxlS,IAAhC,CAAqC,IAArC,CAAvB,CAAzhB,EAA4lBiL,CAAC,CAAC1lB,KAAF,CAAQmH,EAAR,CAAW,QAAX,EAAqB,CAACue,CAAD,EAAG2K,CAAH,KAAO;AAAC,gBAAMJ,CAAC,GAACI,CAAC,CAAC6W,KAAV;AAAA,gBAAgBjV,CAAC,GAACpH,KAAK,CAAC7H,IAAN,CAAWqN,CAAC,CAAC2uH,KAAb,CAAlB;;AAAsC,eAAI,MAAMt5H,CAAV,IAAe2K,CAAC,CAAC0uH,OAAjB,EAAyB9uH,CAAC,IAAE,KAAK4vR,cAAL,CAAoBxtT,MAAvB,GAA8B,KAAKytT,YAAL,CAAkBn6M,MAAlB,CAAyBjgF,CAAzB,CAA9B,GAA0D,KAAKm6R,cAAL,CAAoBl6M,MAApB,CAA2BjgF,CAA3B,CAA1D;;AAAwF,eAAI,IAAIA,CAAC,GAACuK,CAAV,EAAYvK,CAAC,GAACuK,CAAC,GAACgC,CAAC,CAAC5/B,MAAlB,EAAyBqzB,CAAC,EAA1B,EAA6B;AAAC,kBAAM2K,CAAC,GAAC4B,CAAC,CAACvM,CAAC,GAACuK,CAAH,CAAT;AAAevK,YAAAA,CAAC,GAAC,KAAKm6R,cAAL,CAAoBxtT,MAAtB,GAA6B,KAAKytT,YAAL,CAAkBxlS,GAAlB,CAAsB+V,CAAtB,EAAwB3K,CAAC,GAAC,KAAKm6R,cAAL,CAAoBxtT,MAA9C,CAA7B,GAAmF,KAAKwtT,cAAL,CAAoBvlS,GAApB,CAAwB+V,CAAxB,EAA0B3K,CAA1B,CAAnF;AAAgH;;AAAA,eAAKw6R,eAAL;AAAuB,SAAxW,CAA5lB,EAAu8Bx6R,CAAC,CAAC6/O,cAAF,CAAiB;AAAC57J,UAAAA,UAAU,EAAC;AAACm/J,YAAAA,KAAK,EAAC,CAAC,qBAAD;AAAP;AAAZ,SAAjB,CAAv8B;AAAsgC;;AAAAxE,MAAAA,MAAM,CAAC5+O,CAAD,EAAG;AAAC,aAAKylQ,WAAL,GAAiBzlQ,CAAC,CAAChX,OAAnB,EAA2B,KAAKyxS,uBAAL,EAA3B,EAA0D,KAAKC,+BAAL,CAAqC16R,CAArC,CAA1D;AAAkG;;AAAA2+E,MAAAA,OAAO,GAAE;AAAC,aAAK07M,oBAAL,CAA0B17M,OAA1B,IAAoC,KAAKg7M,cAAL,CAAoBh7M,OAApB,EAApC;AAAkE;;AAAA67M,MAAAA,eAAe,GAAE;AAAC,YAAG,CAAC,KAAK/0B,WAAL,CAAiBzyB,aAAjB,CAA+B37P,IAA/B,CAAoC4yO,QAApC,CAA6C,KAAKw7C,WAAlD,CAAJ,EAAmE;AAAO,YAAG,CAACztB,EAAE,CAAC,KAAKytB,WAAN,CAAN,EAAyB,OAAO,MAAK,KAAKo0B,gCAAL,GAAsC,CAAC,CAA5C,CAAP;AAAsD,cAAM75R,CAAC,GAAC,KAAKo6R,YAAL,CAAkBztT,MAA1B;AAAiC,YAAIg+B,CAAJ;;AAAM,eAAK,KAAKgwR,oBAAV,GAAgC,KAAKC,cAAL,IAAsBjwR,CAAC,GAAC,CAAC,CAAzB;;AAA2B,YAAG,CAACA,CAAD,IAAI,KAAKyvR,YAAL,CAAkBztT,MAAzB,EAAgC;AAAC,iBAAK,KAAKytT,YAAL,CAAkBztT,MAAlB,IAA0B,CAAC,KAAKguT,oBAArC,GAA2D,KAAKE,iBAAL;;AAAyB,eAAKF,oBAAL,IAA2B,KAAKC,cAAL,EAA3B;AAAiD;;AAAA,aAAKR,YAAL,CAAkBztT,MAAlB,KAA2BqzB,CAA3B,IAA8B,KAAK81K,IAAL,CAAUpwF,IAAV,CAAe,oBAAf,CAA9B;AAAmE;;AAAwB,UAApBi1M,oBAAoB,GAAE;AAAC,YAAG,CAAC,KAAKR,cAAL,CAAoBxtT,MAAxB,EAA+B,OAAM,CAAC,CAAP;AAAS,cAAMqzB,CAAC,GAAC,KAAKylQ,WAAb;AAAA,cAAyB96P,CAAC,GAAC,KAAKuvR,UAAL,CAAgBh+C,mBAA3C;AAAA,cAA+D3xO,CAAC,GAAC,IAAIwqO,EAAJ,CAAO/0O,CAAC,CAAC86R,SAAT,CAAjE;AAAA,cAAqFvuR,CAAC,GAAC,IAAIwoO,EAAJ,CAAO/0O,CAAP,CAAvF;;AAAiG,YAAG,CAAC,KAAK45R,aAAT,EAAuB;AAAC,gBAAMrvR,CAAC,GAAC2pO,EAAE,CAAC/0P,MAAH,CAAUm1P,gBAAV,CAA2Bt0O,CAA3B,CAAR;AAAA,gBAAsCuM,CAAC,GAAC,UAAQ5B,CAAR,GAAU,cAAV,GAAyB,aAAjE;AAA+E,eAAKivR,aAAL,GAAmBnmS,MAAM,CAACmQ,QAAP,CAAgB2G,CAAC,CAACgC,CAAD,CAAjB,CAAnB;AAAyC;;AAAA,eAAM,UAAQ5B,CAAR,GAAUJ,CAAC,CAAC/d,KAAF,GAAQ+f,CAAC,CAAC/f,KAAF,GAAQ,KAAKotS,aAA/B,GAA6CrvR,CAAC,CAAC6pC,IAAF,GAAO7nC,CAAC,CAAC6nC,IAAF,GAAO,KAAKwlP,aAAtE;AAAoF;;AAAAa,MAAAA,uBAAuB,GAAE;AAAC,YAAIz6R,CAAJ;AAAM,aAAK25R,cAAL,GAAoB,IAAIhjD,EAAJ,CAAO,KAAK8uB,WAAZ,EAAyB96P,CAAC,IAAE;AAAC3K,UAAAA,CAAC,IAAEA,CAAC,KAAG2K,CAAC,CAACowR,WAAF,CAAchnP,KAArB,IAA4B,CAAC,KAAK8lP,gCAAlC,KAAqE,KAAKA,gCAAL,GAAsC,CAAC,CAAvC,EAAyC,KAAKW,eAAL,EAAzC,EAAgEx6R,CAAC,GAAC2K,CAAC,CAACowR,WAAF,CAAchnP,KAArJ;AAA4J,SAAzL,CAApB,EAAgN,KAAKymP,eAAL,EAAhN;AAAuO;;AAAAE,MAAAA,+BAA+B,CAAC16R,CAAD,EAAG;AAACA,QAAAA,CAAC,CAACve,EAAF,CAAK,iBAAL,EAAwB,MAAI;AAAC,eAAK+4S,eAAL;AAAuB,SAApD;AAAuD;;AAAAI,MAAAA,cAAc,GAAE;AAAC,aAAKR,YAAL,CAAkBztT,MAAlB,KAA2B,KAAKmtT,YAAL,CAAkBllS,GAAlB,CAAsB,IAAIq0P,EAAJ,EAAtB,GAA8B,KAAK6wC,YAAL,CAAkBllS,GAAlB,CAAsB,KAAKylS,oBAA3B,CAA9B,EAA+E,KAAKJ,gBAAL,CAAsBrlS,GAAtB,CAA0B,KAAKylS,oBAAL,CAA0BrxS,OAApD,CAA1G,GAAwK,KAAKoxS,YAAL,CAAkBxlS,GAAlB,CAAsB,KAAKulS,cAAL,CAAoBl6M,MAApB,CAA2B,KAAKk6M,cAAL,CAAoB34G,IAA/C,CAAtB,EAA2E,CAA3E,CAAxK;AAAsP;;AAAAq5G,MAAAA,iBAAiB,GAAE;AAAC,aAAKV,cAAL,CAAoBvlS,GAApB,CAAwB,KAAKwlS,YAAL,CAAkBn6M,MAAlB,CAAyB,KAAKm6M,YAAL,CAAkBt9C,KAA3C,CAAxB,GAA2E,KAAKs9C,YAAL,CAAkBztT,MAAlB,KAA2B,KAAKmtT,YAAL,CAAkB75M,MAAlB,CAAyB,KAAKo6M,oBAA9B,GAAoD,KAAKP,YAAL,CAAkB75M,MAAlB,CAAyB,KAAK65M,YAAL,CAAkBt4G,IAA3C,CAApD,EAAqG,KAAKy4G,gBAAL,CAAsBh6M,MAAtB,CAA6B,KAAKo6M,oBAAL,CAA0BrxS,OAAvD,CAAhI,CAA3E;AAA4Q;;AAAAsxS,MAAAA,2BAA2B,GAAE;AAAC,cAAMt6R,CAAC,GAAC,KAAKk6R,UAAb;AAAA,cAAwBvvR,CAAC,GAAC3K,CAAC,CAACA,CAA5B;AAAA,cAA8BuK,CAAC,GAACivR,EAAE,CAACx5R,CAAD,CAAlC;AAAsC,eAAOuK,CAAC,CAAC64O,KAAF,GAAQ,8BAAR,EAAuC74O,CAAC,CAAC+8O,aAAF,GAAgB,UAAQtnP,CAAC,CAACk8O,mBAAV,GAA8B,IAA9B,GAAmC,IAA1F,EAA+Fu9C,EAAE,CAAClvR,CAAD,EAAG,KAAK6vR,YAAR,CAAjG,EAAuH7vR,CAAC,CAAC28O,UAAF,CAAapiP,GAAb,CAAiB;AAAC4G,UAAAA,KAAK,EAACf,CAAC,CAAC,iBAAD,CAAR;AAA4B2uR,UAAAA,OAAO,EAAC,CAAC,CAArC;AAAuC0B,UAAAA,eAAe,EAAC,UAAQh7R,CAAC,CAACk8O,mBAAV,GAA8B,IAA9B,GAAmC,IAA1F;AAA+F5+P,UAAAA,IAAI,EAAC+6S;AAApG,SAAjB,CAAvH,EAAiP9tR,CAAxP;AAA0P;;AAAAgwR,MAAAA,0BAA0B,GAAE;AAAC,aAAKR,cAAL,CAAoBr7Q,KAApB,IAA4B,KAAKy7Q,cAAL,CAAoB3wT,GAApB,CAAyBw2B,CAAC,IAAE;AAAC,eAAK+5R,cAAL,CAAoBnlS,GAApB,CAAwBoL,CAAxB;AAA2B,SAAxD,CAA5B,EAAuF,KAAKo6R,YAAL,CAAkBztT,MAAlB,IAA0B,KAAKotT,cAAL,CAAoBnlS,GAApB,CAAwB,KAAKylS,oBAA7B,CAAjH;AAAoK;;AAAn9G;;AAAo9G,UAAMY,EAAN,SAAiB97C,EAAjB,CAAmB;AAAC1/Q,MAAAA,WAAW,CAACugC,CAAD,EAAG2K,CAAC,GAAC,IAAIy6O,EAAJ,EAAL,EAAY;AAAC,cAAMplP,CAAN;AAAS,cAAMuK,CAAC,GAAC,KAAKg1O,YAAb;AAAA,cAA0BhzO,CAAC,GAAC,IAAI2uR,EAAJ,CAAOl7R,CAAP,CAA5B;AAAsC,aAAK8E,GAAL,CAAS;AAAC4G,UAAAA,KAAK,EAAC,EAAP;AAAUyvR,UAAAA,SAAS,EAAC,CAAC;AAArB,SAAT,GAAkC,KAAKh3C,SAAL,GAAex5O,CAAjD,EAAmD,KAAKw5O,SAAL,CAAepvP,IAAf,CAAoB,MAApB,EAA4B03J,EAA5B,CAA+B,IAA/B,EAAoC,OAApC,CAAnD,EAAgG,KAAKnlL,QAAL,GAAc,KAAKg4Q,gBAAL,EAA9G,EAAsI,KAAKh4Q,QAAL,CAAcy1Q,OAAd,CAAsB,CAAC,KAAKoH,SAAN,EAAgB53O,CAAhB,CAAtB,CAAtI,EAAgLA,CAAC,CAACzH,GAAF,CAAM;AAACl3B,UAAAA,IAAI,EAAC,OAAN;AAAcwtT,UAAAA,cAAc,EAACzwR,CAAC,CAACx9B;AAA/B,SAAN,CAAhL,EAA0No/B,CAAC,CAACu5O,YAAF,CAAennK,OAAf,EAA1N,EAAmPpyE,CAAC,CAAC66O,UAAF,CAAazoK,OAAb,EAAnP,EAA0Q,KAAKrkG,KAAL,GAAWiyB,CAAC,CAACjyB,KAAvR,EAA6R,KAAKslQ,WAAL,CAAiB;AAACsB,UAAAA,GAAG,EAAC,IAAL;AAAUj9J,UAAAA,UAAU,EAAC;AAACr2G,YAAAA,IAAI,EAAC,cAAN;AAAqBw1Q,YAAAA,KAAK,EAAC,CAAC,IAAD,EAAM,gBAAN,EAAuB74O,CAAC,CAACu2O,EAAF,CAAK,WAAL,EAAiB,WAAjB,EAA8B9gP,CAAC,IAAE,CAACA,CAAlC,CAAvB;AAA3B,WAArB;AAA+G14B,UAAAA,QAAQ,EAAC,KAAKA;AAA7H,SAAjB,CAA7R;AAAsb;;AAAA0rE,MAAAA,KAAK,GAAE;AAAC,aAAK14D,KAAL,CAAWwiQ,KAAX,IAAkB,KAAKxiQ,KAAL,CAAWwiQ,KAAX,CAAiB9pM,KAAjB,EAAlB;AAA2C;;AAAjjB;;AAAkjB,QAAIqoP,EAAE,GAAC9wR,CAAC,CAAC,GAAD,CAAR;AAAA,QAAc+wR,EAAE,GAAC;AAACr8C,MAAAA,UAAU,EAAC,mBAAZ;AAAgCh7J,MAAAA,UAAU,EAAC;AAAC,oBAAW,CAAC;AAAb,OAA3C;AAA2DqC,MAAAA,MAAM,EAAC,MAAlE;AAAyEy9I,MAAAA,SAAS,EAAC,CAAC;AAApF,KAAjB;AAAwG+a,IAAAA,EAAE,GAAGu8C,EAAE,CAAC94D,CAAN,EAAQ+4D,EAAR,CAAF;AAAcD,IAAAA,EAAE,CAAC94D,CAAH,CAAK2c,MAAL;;AAAY,UAAMg8C,EAAN,SAAiB/7C,EAAjB,CAAmB;AAAC1/Q,MAAAA,WAAW,CAACugC,CAAD,EAAG;AAAC,cAAMA,CAAN,GAAS,KAAKu7R,+BAAL,GAAqC,IAAI7+C,OAAJ,EAA9C;AAA0D,cAAM/xO,CAAC,GAAC,KAAK40O,YAAb;AAA0B,aAAKkJ,UAAL,GAAgB,IAAIlK,EAAJ,EAAhB,EAAuB,KAAKjkQ,KAAL,GAAW,KAAKglQ,gBAAL,EAAlC,EAA0D,KAAKwG,YAAL,GAAkB,IAAI3vD,EAAJ,EAA5E,EAAmF,KAAKixD,UAAL,GAAgB,IAAIvJ,EAAJ,EAAnG,EAA0G,KAAK66C,YAAL,GAAkB,IAAIlwC,EAAJ,CAAO;AAACC,UAAAA,UAAU,EAAC,KAAKA,UAAjB;AAA4B3C,UAAAA,YAAY,EAAC,KAAKA,YAA9C;AAA2D4C,UAAAA,gBAAgB,EAAC,KAAKtB,UAAjF;AAA4FuB,UAAAA,OAAO,EAAC;AAACK,YAAAA,aAAa,EAAC,SAAf;AAAyBD,YAAAA,SAAS,EAAC;AAAnC;AAApG,SAAP,CAA5H,EAAyR,KAAKjkP,GAAL,CAAS,WAAT,EAAqB,KAAK,CAA1B,CAAzR,EAAsT,KAAKA,GAAL,CAAS,gBAAT,EAA0B,KAAK,CAA/B,CAAtT,EAAwV,KAAKA,GAAL,CAAS,MAAT,EAAgB,KAAK,CAArB,CAAxV,EAAgX,KAAK86O,WAAL,CAAiB;AAACsB,UAAAA,GAAG,EAAC,IAAL;AAAUj9J,UAAAA,UAAU,EAAC;AAACm/J,YAAAA,KAAK,EAAC,CAAC,IAAD,EAAM,UAAN,EAAiB,SAAjB,CAAP;AAAmCx1Q,YAAAA,IAAI,EAAC+8B,CAAC,CAAC8hJ,EAAF,CAAK,MAAL,CAAxC;AAAqD,0BAAa9hJ,CAAC,CAAC8hJ,EAAF,CAAK,WAAL,CAAlE;AAAoF,+BAAkB9hJ,CAAC,CAAC8hJ,EAAF,CAAK,gBAAL;AAAtG,WAArB;AAAmJnlL,UAAAA,QAAQ,EAAC,KAAKgT;AAAjK,SAAjB,CAAhX;AAA0iB;;AAAAskQ,MAAAA,MAAM,GAAE;AAAC,cAAMA,MAAN;;AAAe,aAAI,MAAM5+O,CAAV,IAAe,KAAK1lB,KAApB,EAA0B0lB,CAAC,YAAYi7R,EAAb,GAAgB,KAAKO,4BAAL,CAAkCx7R,CAAlC,CAAhB,GAAqD,KAAKy7R,0BAAL,CAAgCz7R,CAAhC,CAArD;;AAAwF,aAAK1lB,KAAL,CAAWmH,EAAX,CAAc,QAAd,EAAwB,CAACue,CAAD,EAAG2K,CAAH,KAAO;AAAC,eAAI,MAAM3K,CAAV,IAAe2K,CAAC,CAAC0uH,OAAjB,EAAyBr5H,CAAC,YAAYi7R,EAAb,GAAgB,KAAKS,8BAAL,CAAoC17R,CAApC,CAAhB,GAAuD,KAAK27R,4BAAL,CAAkC37R,CAAlC,CAAvD;;AAA4F,eAAI,MAAMA,CAAV,IAAemF,KAAK,CAAC7H,IAAN,CAAWqN,CAAC,CAAC2uH,KAAb,EAAoB/pB,OAApB,EAAf,EAA6CvvG,CAAC,YAAYi7R,EAAb,GAAgB,KAAKO,4BAAL,CAAkCx7R,CAAlC,EAAoC2K,CAAC,CAAC6W,KAAtC,CAAhB,GAA6D,KAAKi6Q,0BAAL,CAAgCz7R,CAAhC,EAAkC2K,CAAC,CAAC6W,KAApC,CAA7D;AAAwG,SAA1S,GAA6S,KAAK4lO,UAAL,CAAgB5hB,QAAhB,CAAyB,KAAKx8O,OAA9B,CAA7S;AAAoV;;AAAA21F,MAAAA,OAAO,GAAE;AAAC,cAAMA,OAAN,IAAgB,KAAKmnK,YAAL,CAAkBnnK,OAAlB,EAAhB,EAA4C,KAAKyoK,UAAL,CAAgBzoK,OAAhB,EAA5C;AAAsE;;AAAA3rC,MAAAA,KAAK,GAAE;AAAC,aAAK0lP,YAAL,CAAkB9vC,UAAlB;AAA+B;;AAAAA,MAAAA,UAAU,GAAE;AAAC,aAAK8vC,YAAL,CAAkB9vC,UAAlB;AAA+B;;AAAA9B,MAAAA,SAAS,GAAE;AAAC,aAAK4xC,YAAL,CAAkB5xC,SAAlB;AAA8B;;AAAA20C,MAAAA,0BAA0B,CAACz7R,CAAD,EAAG2K,CAAH,EAAK;AAAC,aAAKm7O,YAAL,CAAkBlxP,GAAlB,CAAsBoL,CAAC,CAAChX,OAAxB,GAAiC,KAAKy/P,UAAL,CAAgB7zP,GAAhB,CAAoBoL,CAApB,EAAsB2K,CAAtB,CAAjC;AAA0D;;AAAAgxR,MAAAA,4BAA4B,CAAC37R,CAAD,EAAG;AAAC,aAAK8lP,YAAL,CAAkB7lK,MAAlB,CAAyBjgF,CAAC,CAAChX,OAA3B,GAAoC,KAAKy/P,UAAL,CAAgBxoK,MAAhB,CAAuBjgF,CAAvB,CAApC;AAA8D;;AAAA47R,MAAAA,8BAA8B,CAAC57R,CAAD,EAAG;AAAC,eAAM,CAAC2K,CAAD,EAAGJ,CAAH,KAAO;AAAC,eAAI,MAAMvK,CAAV,IAAeuK,CAAC,CAAC8uH,OAAjB,EAAyB,KAAKsiK,4BAAL,CAAkC37R,CAAlC;;AAAqC,eAAI,MAAM2K,CAAV,IAAexF,KAAK,CAAC7H,IAAN,CAAWiN,CAAC,CAAC+uH,KAAb,EAAoB/pB,OAApB,EAAf,EAA6C,KAAKksL,0BAAL,CAAgC9wR,CAAhC,EAAkC,KAAKrwB,KAAL,CAAW0iQ,QAAX,CAAoBh9O,CAApB,IAAuBuK,CAAC,CAACiX,KAA3D;AAAkE,SAA3L;AAA4L;;AAAAg6Q,MAAAA,4BAA4B,CAACx7R,CAAD,EAAG2K,CAAH,EAAK;AAACxF,QAAAA,KAAK,CAAC7H,IAAN,CAAW0C,CAAC,CAAC1lB,KAAb,EAAoBurB,OAApB,CAA6B,CAAC7F,CAAD,EAAGuK,CAAH,KAAO;AAAC,gBAAMgC,CAAC,GAAC,KAAK,CAAL,KAAS5B,CAAT,GAAWA,CAAC,GAACJ,CAAb,GAAe,KAAK,CAA5B;;AAA8B,eAAKkxR,0BAAL,CAAgCz7R,CAAhC,EAAkCuM,CAAlC;AAAqC,SAAxG;;AAA2G,cAAMhC,CAAC,GAAC,KAAKqxR,8BAAL,CAAoC57R,CAApC,CAAR;;AAA+C,aAAKu7R,+BAAL,CAAqCz2R,GAArC,CAAyC9E,CAAzC,EAA2CuK,CAA3C,GAA8CvK,CAAC,CAAC1lB,KAAF,CAAQmH,EAAR,CAAW,QAAX,EAAoB8oB,CAApB,CAA9C;AAAqE;;AAAAmxR,MAAAA,8BAA8B,CAAC17R,CAAD,EAAG;AAAC,aAAI,MAAM2K,CAAV,IAAe3K,CAAC,CAAC1lB,KAAjB,EAAuB,KAAKqhT,4BAAL,CAAkChxR,CAAlC;;AAAqC3K,QAAAA,CAAC,CAAC1lB,KAAF,CAAQsL,GAAR,CAAY,QAAZ,EAAqB,KAAK21S,+BAAL,CAAqC96T,GAArC,CAAyCu/B,CAAzC,CAArB,GAAkE,KAAKu7R,+BAAL,CAAqC3mR,MAArC,CAA4C5U,CAA5C,CAAlE;AAAiH;;AAA/pE;;AAAgqE,UAAM67R,EAAN,SAAiB18C,EAAjB,CAAmB;AAAC1/Q,MAAAA,WAAW,CAACugC,CAAD,EAAG;AAAC,cAAMA,CAAN;AAAS,cAAM2K,CAAC,GAAC,KAAK40O,YAAb;AAA0B,aAAKz6O,GAAL,CAAS,WAAT,EAAqB,CAAC,CAAtB,GAAyB,KAAKx9B,QAAL,GAAc,KAAKg4Q,gBAAL,EAAvC,EAA+D,KAAKM,WAAL,CAAiB;AAACsB,UAAAA,GAAG,EAAC,IAAL;AAAUj9J,UAAAA,UAAU,EAAC;AAACm/J,YAAAA,KAAK,EAAC,CAAC,IAAD,EAAM,eAAN,EAAsBz4O,CAAC,CAACm2O,EAAF,CAAK,WAAL,EAAiB,WAAjB,EAA8B9gP,CAAC,IAAE,CAACA,CAAlC,CAAtB,CAAP;AAAoEpyB,YAAAA,IAAI,EAAC;AAAzE,WAArB;AAA8GtG,UAAAA,QAAQ,EAAC,KAAKA;AAA5H,SAAjB,CAA/D;AAAuN;;AAAA0rE,MAAAA,KAAK,GAAE;AAAC,aAAK1rE,QAAL,CAAcw1Q,KAAd,IAAqB,KAAKx1Q,QAAL,CAAcw1Q,KAAd,CAAoB9pM,KAApB,EAArB;AAAiD;;AAAnU;;AAAoU,UAAM8oP,EAAN,SAAiB38C,EAAjB,CAAmB;AAAC1/Q,MAAAA,WAAW,CAACugC,CAAD,EAAG;AAAC,cAAMA,CAAN,GAAS,KAAK4/O,WAAL,CAAiB;AAACsB,UAAAA,GAAG,EAAC,IAAL;AAAUj9J,UAAAA,UAAU,EAAC;AAACm/J,YAAAA,KAAK,EAAC,CAAC,IAAD,EAAM,oBAAN;AAAP;AAArB,SAAjB,CAAT;AAAqF;;AAArG;;AAAsG,QAAI24C,EAAE,GAACxxR,CAAC,CAAC,IAAD,CAAR;AAAA,QAAeyxR,EAAE,GAAC;AAAC/8C,MAAAA,UAAU,EAAC,mBAAZ;AAAgCh7J,MAAAA,UAAU,EAAC;AAAC,oBAAW,CAAC;AAAb,OAA3C;AAA2DqC,MAAAA,MAAM,EAAC,MAAlE;AAAyEy9I,MAAAA,SAAS,EAAC,CAAC;AAApF,KAAlB;AAAyG+a,IAAAA,EAAE,GAAGi9C,EAAE,CAACx5D,CAAN,EAAQy5D,EAAR,CAAF;AAAcD,IAAAA,EAAE,CAACx5D,CAAH,CAAK2c,MAAL;;AAAY,UAAM+8C,EAAN,SAAiB98C,EAAjB,CAAmB;AAAC1/Q,MAAAA,WAAW,CAACugC,CAAD,EAAG;AAAC,cAAMA,CAAN;AAAS,cAAM2K,CAAC,GAAC,KAAK40O,YAAb;AAA0B,aAAKz6O,GAAL,CAAS,OAAT,EAAiB,KAAK,CAAtB,GAAyB,KAAKA,GAAL,CAAS,YAAT,EAAsB,KAAK,CAA3B,CAAzB,EAAuD,KAAKA,GAAL,CAAS,MAAT,EAAgB,KAAK,CAArB,CAAvD,EAA+E,KAAKA,GAAL,CAAS,WAAT,EAAqB,CAAC,CAAtB,CAA/E,EAAwG,KAAKA,GAAL,CAAS,MAAT,EAAgB,CAAC,CAAjB,CAAxG,EAA4H,KAAKA,GAAL,CAAS,cAAT,EAAwB,CAAC,CAAzB,CAA5H,EAAwJ,KAAKA,GAAL,CAAS,WAAT,EAAqB,CAAC,CAAtB,CAAxJ,EAAiL,KAAKA,GAAL,CAAS,WAAT,EAAqB,KAAK,CAA1B,CAAjL,EAA8M,KAAKA,GAAL,CAAS,eAAT,EAAyB,CAAC,CAA1B,CAA9M,EAA2O,KAAKA,GAAL,CAAS,OAAT,EAAiB,KAAK,CAAtB,CAA3O,EAAoQ,KAAKA,GAAL,CAAS,UAAT,EAAoB,CAAC,CAArB,CAApQ,EAA4R,KAAKA,GAAL,CAAS,SAAT,EAAmB,CAAC,CAApB,CAA5R,EAAmT,KAAKA,GAAL,CAAS,iBAAT,EAA2B,GAA3B,CAAnT,EAAmV,KAAKA,GAAL,CAAS,MAAT,EAAgB,QAAhB,CAAnV,EAA6W,KAAKA,GAAL,CAAS,UAAT,EAAoB,CAAC,CAArB,CAA7W,EAAqY,KAAKx9B,QAAL,GAAc,KAAKg4Q,gBAAL,EAAnZ,EAA2a,KAAK48C,UAAL,GAAgB,KAAKC,iBAAL,EAA3b,EAAod,KAAK7zC,SAAL,GAAe,KAAKC,gBAAL,EAAne,EAA2f,KAAKnB,UAAL,GAAgB,IAAIvJ,EAAJ,EAA3gB,EAAkhB,KAAKiI,YAAL,GAAkB,IAAI3vD,EAAJ,EAApiB,EAA2iB,KAAKypD,WAAL,CAAiB;AAACsB,UAAAA,GAAG,EAAC,KAAL;AAAWj9J,UAAAA,UAAU,EAAC;AAACm/J,YAAAA,KAAK,EAAC,CAAC,IAAD,EAAM,gBAAN,EAAuBz4O,CAAC,CAAC8hJ,EAAF,CAAK,OAAL,CAAvB,EAAqC9hJ,CAAC,CAACm2O,EAAF,CAAK,WAAL,EAAiB,WAAjB,EAA8B9gP,CAAC,IAAE,CAACA,CAAlC,CAArC,EAA2E,KAAKsoP,SAAL,CAAe/I,YAAf,CAA4BuB,EAA5B,CAA+B,MAA/B,EAAsC,qBAAtC,CAA3E;AAAP,WAAtB;AAAuKx5Q,UAAAA,QAAQ,EAAC,KAAKA;AAArL,SAAjB,CAA3iB;AAA4vB;;AAAAs3Q,MAAAA,MAAM,GAAE;AAAC,cAAMA,MAAN,IAAe,KAAKt3Q,QAAL,CAAcstB,GAAd,CAAkB,KAAKsnS,UAAvB,CAAf,EAAkD,KAAK50T,QAAL,CAAcstB,GAAd,CAAkB,KAAK0zP,SAAvB,CAAlD,EAAoF,KAAKxC,YAAL,CAAkBlxP,GAAlB,CAAsB,KAAKsnS,UAAL,CAAgBlzS,OAAtC,CAApF,EAAmI,KAAK88P,YAAL,CAAkBlxP,GAAlB,CAAsB,KAAK0zP,SAAL,CAAet/P,OAArC,CAAnI,EAAiL,KAAKo+P,UAAL,CAAgB5hB,QAAhB,CAAyB,KAAKx8O,OAA9B,CAAjL,EAAwN,KAAKo+P,UAAL,CAAgBtiP,GAAhB,CAAoB,YAApB,EAAkC,CAAC9E,CAAD,EAAG2K,CAAH,KAAO;AAAC,eAAKm7O,YAAL,CAAkBnI,cAAlB,KAAmC,KAAKu+C,UAAL,CAAgBlzS,OAAnD,KAA6D,KAAKs/P,SAAL,CAAet1M,KAAf,IAAuBroC,CAAC,EAArF;AAAyF,SAAnI,CAAxN,EAA8V,KAAKy8O,UAAL,CAAgBtiP,GAAhB,CAAoB,WAApB,EAAiC,CAAC9E,CAAD,EAAG2K,CAAH,KAAO;AAAC,eAAKm7O,YAAL,CAAkBnI,cAAlB,KAAmC,KAAK2K,SAAL,CAAet/P,OAAlD,KAA4D,KAAKkzS,UAAL,CAAgBlpP,KAAhB,IAAwBroC,CAAC,EAArF;AAAyF,SAAlI,CAA9V;AAAme;;AAAAg0E,MAAAA,OAAO,GAAE;AAAC,cAAMA,OAAN,IAAgB,KAAKmnK,YAAL,CAAkBnnK,OAAlB,EAAhB,EAA4C,KAAKyoK,UAAL,CAAgBzoK,OAAhB,EAA5C;AAAsE;;AAAA3rC,MAAAA,KAAK,GAAE;AAAC,aAAKkpP,UAAL,CAAgBlpP,KAAhB;AAAwB;;AAAAmpP,MAAAA,iBAAiB,GAAE;AAAC,cAAMn8R,CAAC,GAAC,IAAI0vL,EAAJ,EAAR;AAAe,eAAO1vL,CAAC,CAACjL,IAAF,CAAO,MAAP,EAAc,WAAd,EAA0B,MAA1B,EAAiC,cAAjC,EAAgD,WAAhD,EAA4D,OAA5D,EAAoE,UAApE,EAA+E,SAA/E,EAAyF,iBAAzF,EAA2G,MAA3G,EAAkH,UAAlH,EAA8H03J,EAA9H,CAAiI,IAAjI,GAAuIzsJ,CAAC,CAAC6/O,cAAF,CAAiB;AAAC57J,UAAAA,UAAU,EAAC;AAACm/J,YAAAA,KAAK,EAAC;AAAP;AAAZ,SAAjB,CAAvI,EAAuMpjP,CAAC,CAACmmO,QAAF,CAAW,SAAX,EAAsB15E,EAAtB,CAAyB,IAAzB,CAAvM,EAAsOzsJ,CAA7O;AAA+O;;AAAAuoP,MAAAA,gBAAgB,GAAE;AAAC,cAAMvoP,CAAC,GAAC,IAAI0vL,EAAJ,EAAR;AAAA,cAAe/kL,CAAC,GAAC3K,CAAC,CAACu/O,YAAnB;AAAgC,eAAOv/O,CAAC,CAAC1iB,IAAF,GAAO8qQ,EAAP,EAAUpoP,CAAC,CAAC6/O,cAAF,CAAiB;AAAC57J,UAAAA,UAAU,EAAC;AAACm/J,YAAAA,KAAK,EAAC,CAAC,uBAAD,CAAP;AAAiC,yCAA4Bz4O,CAAC,CAAC8hJ,EAAF,CAAK,MAAL,CAA7D;AAA0E,6BAAgB,CAAC,CAA3F;AAA6F,6BAAgB9hJ,CAAC,CAAC8hJ,EAAF,CAAK,MAAL,EAAazsJ,CAAC,IAAE0/B,MAAM,CAAC1/B,CAAD,CAAtB;AAA7G;AAAZ,SAAjB,CAAV,EAAmLA,CAAC,CAACjL,IAAF,CAAO,WAAP,EAAoB03J,EAApB,CAAuB,IAAvB,CAAnL,EAAgNzsJ,CAAC,CAACjL,IAAF,CAAO,OAAP,EAAgB03J,EAAhB,CAAmB,IAAnB,CAAhN,EAAyOzsJ,CAAC,CAACjL,IAAF,CAAO,SAAP,EAAkB03J,EAAlB,CAAqB,IAArB,CAAzO,EAAoQzsJ,CAAC,CAACmmO,QAAF,CAAW,SAAX,EAAsB15E,EAAtB,CAAyB,IAAzB,EAA8B,MAA9B,CAApQ,EAA0SzsJ,CAAjT;AAAmT;;AAAngE;;AAAogE,QAAIo8R,EAAE,GAAC7xR,CAAC,CAAC,IAAD,CAAR;AAAA,QAAe8xR,EAAE,GAAC;AAACp9C,MAAAA,UAAU,EAAC,mBAAZ;AAAgCh7J,MAAAA,UAAU,EAAC;AAAC,oBAAW,CAAC;AAAb,OAA3C;AAA2DqC,MAAAA,MAAM,EAAC,MAAlE;AAAyEy9I,MAAAA,SAAS,EAAC,CAAC;AAApF,KAAlB;AAAyG+a,IAAAA,EAAE,GAAGs9C,EAAE,CAAC75D,CAAN,EAAQ85D,EAAR,CAAF;AAAcD,IAAAA,EAAE,CAAC75D,CAAH,CAAK2c,MAAL;AAAY,QAAIo9C,EAAE,GAAC/xR,CAAC,CAAC,IAAD,CAAR;AAAA,QAAegyR,EAAE,GAAC;AAACt9C,MAAAA,UAAU,EAAC,mBAAZ;AAAgCh7J,MAAAA,UAAU,EAAC;AAAC,oBAAW,CAAC;AAAb,OAA3C;AAA2DqC,MAAAA,MAAM,EAAC,MAAlE;AAAyEy9I,MAAAA,SAAS,EAAC,CAAC;AAApF,KAAlB;AAAyG+a,IAAAA,EAAE,GAAGw9C,EAAE,CAAC/5D,CAAN,EAAQg6D,EAAR,CAAF;AAAcD,IAAAA,EAAE,CAAC/5D,CAAH,CAAK2c,MAAL;;AAAY,aAASs6C,EAAT,CAAYx5R,CAAZ,EAAc2K,CAAC,GAAC09O,EAAhB,EAAmB;AAAC,YAAM99O,CAAC,GAAC,IAAII,CAAJ,CAAM3K,CAAN,CAAR;AAAA,YAAiBuM,CAAC,GAAC,IAAIm6O,EAAJ,CAAO1mP,CAAP,CAAnB;AAAA,YAA6BrpB,CAAC,GAAC,IAAIswQ,EAAJ,CAAOjnP,CAAP,EAASuK,CAAT,EAAWgC,CAAX,CAA/B;AAA6C,aAAOhC,CAAC,CAACxV,IAAF,CAAO,WAAP,EAAoB03J,EAApB,CAAuB91K,CAAvB,GAA0B4zB,CAAC,YAAY0xR,EAAb,GAAgB1xR,CAAC,CAAC+9O,SAAF,CAAYvzP,IAAZ,CAAiB,MAAjB,EAAyB03J,EAAzB,CAA4B91K,CAA5B,EAA8B,QAA9B,CAAhB,GAAwD4zB,CAAC,CAACxV,IAAF,CAAO,MAAP,EAAe03J,EAAf,CAAkB91K,CAAlB,EAAoB,QAApB,CAAlF,EAAgH,UAASqpB,CAAT,EAAW;AAAC,SAAC,UAASA,CAAT,EAAW;AAACA,UAAAA,CAAC,CAACve,EAAF,CAAK,QAAL,EAAe,MAAI;AAAC,aAAC,UAAS;AAACokP,cAAAA,OAAO,EAAC7lO,CAAT;AAAWw8R,cAAAA,SAAS,EAAC7xR,CAArB;AAAuBiN,cAAAA,QAAQ,EAACrN,CAAhC;AAAkCkyR,cAAAA,eAAe,EAAClwR;AAAlD,aAAT,EAA8D;AAACvM,cAAAA,CAAC,CAACwlO,QAAF,CAAW9jO,QAAX,EAAoB,WAApB,EAAiC,CAAC1B,CAAD,EAAGrpB,CAAH,KAAO;AAAC,oBAAG,CAACg0B,CAAC,EAAL,EAAQ;AAAO,sBAAM8B,CAAC,GAAC,cAAY,OAAO91B,CAAC,CAAC+lT,YAArB,GAAkC/lT,CAAC,CAAC+lT,YAAF,EAAlC,GAAmD,EAA3D;AAAA,sBAA8DpyR,CAAC,GAAC,cAAY,OAAOiC,CAAnB,GAAqBA,CAAC,EAAtB,GAAyBA,CAAzF;;AAA2F,qBAAI,MAAMvM,CAAV,IAAesK,CAAf,EAAiB,IAAGtK,CAAC,CAACiqN,QAAF,CAAWtzO,CAAC,CAACi3C,MAAb,KAAsBnhB,CAAC,CAACtgC,QAAF,CAAW6zB,CAAX,CAAzB,EAAuC;;AAAOuK,gBAAAA,CAAC;AAAG,eAAtN;AAAyN,aAAxR,CAAyR;AAACs7N,cAAAA,OAAO,EAAC7lO,CAAT;AAAWw8R,cAAAA,SAAS,EAAC,MAAIx8R,CAAC,CAACqnP,MAA3B;AAAkCzvO,cAAAA,QAAQ,EAAC,MAAI;AAAC5X,gBAAAA,CAAC,CAACqnP,MAAF,GAAS,CAAC,CAAV;AAAY,eAA5D;AAA6Do1C,cAAAA,eAAe,EAAC,MAAI,CAACz8R,CAAC,CAAChX,OAAH,EAAW,GAAGgX,CAAC,CAAC8lP,YAAF,CAAevI,SAA7B;AAAjF,aAAzR,CAAD;AAAqZ,WAAza;AAA4a,SAAzb,EAA2bv9O,CAA3b,GAA8b,UAASA,CAAT,EAAW;AAACA,UAAAA,CAAC,CAACve,EAAF,CAAK,SAAL,EAAgBkpB,CAAC,IAAE;AAACA,YAAAA,CAAC,CAAC4R,MAAF,YAAoByoO,EAApB,KAAyBhlP,CAAC,CAACqnP,MAAF,GAAS,CAAC,CAAnC;AAAsC,WAA1D;AAA6D,SAAzE,CAA0ErnP,CAA1E,CAA9b,EAA2gB,UAASA,CAAT,EAAW;AAACA,UAAAA,CAAC,CAAC8lP,YAAF,CAAerkQ,EAAf,CAAkB,kBAAlB,EAAsC,CAACkpB,CAAD,EAAGJ,CAAH,EAAKgC,CAAL,KAAS;AAACvM,YAAAA,CAAC,CAACqnP,MAAF,IAAU,CAAC96O,CAAX,KAAevM,CAAC,CAACqnP,MAAF,GAAS,CAAC,CAAzB;AAA4B,WAA5E;AAA+E,SAA3F,CAA4FrnP,CAA5F,CAA3gB,EAA0mB,UAASA,CAAT,EAAW;AAACA,UAAAA,CAAC,CAAConP,UAAF,CAAatiP,GAAb,CAAiB,WAAjB,EAA8B,CAAC6F,CAAD,EAAGJ,CAAH,KAAO;AAACvK,YAAAA,CAAC,CAACqnP,MAAF,KAAWrnP,CAAC,CAACmnP,SAAF,CAAYn0M,KAAZ,IAAoBzoC,CAAC,EAAhC;AAAoC,WAA1E,GAA6EvK,CAAC,CAAConP,UAAF,CAAatiP,GAAb,CAAiB,SAAjB,EAA4B,CAAC6F,CAAD,EAAGJ,CAAH,KAAO;AAACvK,YAAAA,CAAC,CAACqnP,MAAF,KAAWrnP,CAAC,CAACmnP,SAAF,CAAYL,SAAZ,IAAwBv8O,CAAC,EAApC;AAAwC,WAA5E,CAA7E;AAA4J,SAAxK,CAAyKvK,CAAzK,CAA1mB,EAAsxB,UAASA,CAAT,EAAW;AAACA,UAAAA,CAAC,CAACve,EAAF,CAAK,eAAL,EAAsB,CAACkpB,CAAD,EAAGJ,CAAH,EAAKgC,CAAL,KAAS;AAAC,gBAAGA,CAAH,EAAK;AAAO,kBAAM51B,CAAC,GAACqpB,CAAC,CAACmnP,SAAF,CAAYn+P,OAApB;AAA4BrS,YAAAA,CAAC,IAAEA,CAAC,CAACszO,QAAF,CAAWiqB,EAAE,CAACxyO,QAAH,CAAYohQ,aAAvB,CAAH,IAA0C9iQ,CAAC,CAACknP,UAAF,CAAal0M,KAAb,EAA1C;AAA+D,WAAvI;AAA0I,SAAtJ,CAAuJhzC,CAAvJ,CAAtxB,EAAg7B,UAASA,CAAT,EAAW;AAACA,UAAAA,CAAC,CAACve,EAAF,CAAK,eAAL,EAAsB,CAACkpB,CAAD,EAAGJ,CAAH,EAAKgC,CAAL,KAAS;AAACA,YAAAA,CAAC,IAAEvM,CAAC,CAACmnP,SAAF,CAAYn0M,KAAZ,EAAH;AAAuB,WAAvD,EAAyD;AAAC2yC,YAAAA,QAAQ,EAAC;AAAV,WAAzD;AAA2E,SAAvF,CAAwF3lF,CAAxF,CAAh7B;AAA2gC,OAAvhC,CAAwhCrpB,CAAxhC,CAAhH,EAA2oCA,CAAlpC;AAAopC;;AAAA,aAAS8iT,EAAT,CAAYz5R,CAAZ,EAAc2K,CAAd,EAAgBJ,CAAC,GAAC,EAAlB,EAAqB;AAACvK,MAAAA,CAAC,CAAC6/O,cAAF,CAAiB;AAAC57J,QAAAA,UAAU,EAAC;AAACm/J,UAAAA,KAAK,EAAC,CAAC,qBAAD;AAAP;AAAZ,OAAjB,GAA+DpjP,CAAC,CAACqnP,MAAF,GAASj7O,EAAE,CAACpM,CAAD,EAAG2K,CAAH,EAAKJ,CAAL,CAAX,GAAmBvK,CAAC,CAACylO,IAAF,CAAO,eAAP,EAAwB,MAAIr5N,EAAE,CAACpM,CAAD,EAAG2K,CAAH,EAAKJ,CAAL,CAA9B,EAAuC;AAACo7E,QAAAA,QAAQ,EAAC;AAAV,OAAvC,CAAlF,EAA+Ip7E,CAAC,CAACoyR,mCAAF,IAAuCC,EAAE,CAAC58R,CAAD,EAAI,MAAIA,CAAC,CAAC05R,WAAF,CAAcp/S,KAAd,CAAoBC,IAApB,CAA0BylB,CAAC,IAAEA,CAAC,CAAC68R,IAA/B,CAAR,CAAxL;AAAwO;;AAAA,aAASzwR,EAAT,CAAYpM,CAAZ,EAAc2K,CAAd,EAAgBJ,CAAhB,EAAkB;AAAC,YAAMgC,CAAC,GAACvM,CAAC,CAACm3L,MAAV;AAAA,YAAiBxgN,CAAC,GAAC41B,CAAC,CAACvM,CAArB;AAAA,YAAuByM,CAAC,GAACzM,CAAC,CAAC05R,WAAF,GAAc,IAAInB,EAAJ,CAAOhsR,CAAP,CAAvC;AAAA,YAAiDjC,CAAC,GAAC,cAAY,OAAOK,CAAnB,GAAqBA,CAAC,EAAtB,GAAyBA,CAA5E;AAA8E8B,MAAAA,CAAC,CAACqwR,SAAF,GAAYvyR,CAAC,CAACuyR,SAAF,IAAanmT,CAAC,CAAC,kBAAD,CAA1B,EAA+C4zB,CAAC,CAACsuR,QAAF,KAAapsR,CAAC,CAACosR,QAAF,GAAWtuR,CAAC,CAACsuR,QAA1B,CAA/C,EAAmFtuR,CAAC,CAAC64O,KAAF,KAAU32O,CAAC,CAAC22O,KAAF,GAAQ74O,CAAC,CAAC64O,KAApB,CAAnF,EAA8G74O,CAAC,CAACwyR,SAAF,KAActwR,CAAC,CAACswR,SAAF,GAAYxyR,CAAC,CAACwyR,SAA5B,CAA9G,EAAqJxyR,CAAC,CAACyyR,UAAF,KAAevwR,CAAC,CAACuwR,UAAF,GAAa,CAAC,CAA7B,CAArJ,EAAqL1yR,CAAC,YAAYi0O,EAAb,GAAgB9xO,CAAC,CAACnyB,KAAF,CAAQ6iQ,MAAR,CAAe7yO,CAAf,EAAkB+yO,KAAlB,CAAyBr9O,CAAC,IAAEA,CAA5B,CAAhB,GAAgDyM,CAAC,CAACnyB,KAAF,CAAQyiQ,OAAR,CAAgBzyO,CAAhB,CAArO,EAAwPtK,CAAC,CAACmnP,SAAF,CAAY7/Q,QAAZ,CAAqBstB,GAArB,CAAyB6X,CAAzB,CAAxP,EAAoRA,CAAC,CAACnyB,KAAF,CAAQ6rP,QAAR,CAAiB,SAAjB,EAA4B15E,EAA5B,CAA+BzsJ,CAA/B,CAApR;AAAsT;;AAAA,aAAS4hG,EAAT,CAAY5hG,CAAZ,EAAc2K,CAAd,EAAgBJ,CAAC,GAAC,EAAlB,EAAqB;AAACvK,MAAAA,CAAC,CAACqnP,MAAF,GAAS41C,EAAE,CAACj9R,CAAD,EAAG2K,CAAH,EAAKJ,CAAL,CAAX,GAAmBvK,CAAC,CAACylO,IAAF,CAAO,eAAP,EAAwB,MAAIw3D,EAAE,CAACj9R,CAAD,EAAG2K,CAAH,EAAKJ,CAAL,CAA9B,EAAuC;AAACo7E,QAAAA,QAAQ,EAAC;AAAV,OAAvC,CAAnB,EAAgFi3M,EAAE,CAAC58R,CAAD,EAAI,MAAIA,CAAC,CAACk9R,QAAF,CAAW5iT,KAAX,CAAiBC,IAAjB,CAAuBylB,CAAC,IAAEA,CAAC,YAAY67R,EAAb,IAAiB77R,CAAC,CAAC14B,QAAF,CAAWw1Q,KAAX,CAAiB+/C,IAA5D,CAAR,CAAlF;AAA+J;;AAAA,aAASI,EAAT,CAAYj9R,CAAZ,EAAc2K,CAAd,EAAgBJ,CAAhB,EAAkB;AAAC,YAAMgC,CAAC,GAACvM,CAAC,CAACm3L,MAAV;AAAA,YAAiBxgN,CAAC,GAACqpB,CAAC,CAACk9R,QAAF,GAAW,IAAIhC,EAAJ,CAAO3uR,CAAP,CAA9B;AAAA,YAAwCE,CAAC,GAAC,cAAY,OAAO9B,CAAnB,GAAqBA,CAAC,EAAtB,GAAyBA,CAAnE;AAAqEh0B,MAAAA,CAAC,CAACmmT,SAAF,GAAYvyR,CAAC,CAACuyR,SAAd,EAAwBnmT,CAAC,CAAC/I,IAAF,GAAO28B,CAAC,CAAC38B,IAAjC,EAAsCuvT,EAAE,CAACn9R,CAAD,EAAGrpB,CAAC,CAAC2D,KAAL,EAAWmyB,CAAX,EAAaF,CAAb,CAAxC,EAAwDvM,CAAC,CAACmnP,SAAF,CAAY7/Q,QAAZ,CAAqBstB,GAArB,CAAyBje,CAAzB,CAAxD,EAAoFA,CAAC,CAAC2D,KAAF,CAAQ6rP,QAAR,CAAiB,SAAjB,EAA4B15E,EAA5B,CAA+BzsJ,CAA/B,CAApF;AAAsH;;AAAA,aAAS48R,EAAT,CAAY58R,CAAZ,EAAc2K,CAAd,EAAgB;AAAC3K,MAAAA,CAAC,CAACve,EAAF,CAAK,eAAL,EAAsB,MAAI;AAAC,YAAG,CAACue,CAAC,CAACqnP,MAAN,EAAa;AAAO,cAAM98O,CAAC,GAACI,CAAC,EAAT;AAAYJ,QAAAA,CAAC,KAAG,cAAY,OAAOA,CAAC,CAACyoC,KAArB,GAA2BzoC,CAAC,CAACyoC,KAAF,EAA3B,GAAqCnpC,CAAC,CAAC,qDAAD,EAAuD;AAACisK,UAAAA,IAAI,EAACvrK;AAAN,SAAvD,CAAzC,CAAD;AAA4G,OAAvK,EAAyK;AAACo7E,QAAAA,QAAQ,EAAC35E,CAAC,CAACk1K,GAAF,GAAM;AAAhB,OAAzK;AAA8L;;AAAA,aAASi8G,EAAT,CAAYn9R,CAAZ,EAAc2K,CAAd,EAAgBJ,CAAhB,EAAkBgC,CAAlB,EAAoB;AAAC5B,MAAAA,CAAC,CAACwyO,MAAF,CAAS5yO,CAAT,EAAY8yO,KAAZ,CAAmB1yO,CAAC,IAAE;AAAC,YAAG,gBAAcA,CAAC,CAAC1zB,IAAnB,EAAwB,OAAO,IAAI6kT,EAAJ,CAAOvvR,CAAP,CAAP;;AAAiB,YAAG,YAAU5B,CAAC,CAAC1zB,IAAf,EAAoB;AAAC,gBAAMszB,CAAC,GAAC,IAAI0wR,EAAJ,CAAO1uR,CAAP,CAAR;AAAkB,iBAAOhC,CAAC,CAACzF,GAAF,CAAM;AAAC4G,YAAAA,KAAK,EAACf,CAAC,CAACe;AAAT,WAAN,GAAuByxR,EAAE,CAACn9R,CAAD,EAAGuK,CAAC,CAACjwB,KAAL,EAAWqwB,CAAC,CAACrwB,KAAb,EAAmBiyB,CAAnB,CAAzB,EAA+ChC,CAAC,CAACjwB,KAAF,CAAQ6rP,QAAR,CAAiB,SAAjB,EAA4B15E,EAA5B,CAA+BzsJ,CAA/B,CAA/C,EAAiFuK,CAAxF;AAA0F;;AAAA,YAAG,aAAWI,CAAC,CAAC1zB,IAAb,IAAmB,mBAAiB0zB,CAAC,CAAC1zB,IAAzC,EAA8C;AAAC,gBAAM+oB,CAAC,GAAC,IAAI67R,EAAJ,CAAOtvR,CAAP,CAAR;AAAkB,cAAIhC,CAAJ;AAAM,iBAAM,aAAWI,CAAC,CAAC1zB,IAAb,IAAmBszB,CAAC,GAAC,IAAImlL,EAAJ,CAAOnjL,CAAP,CAAF,EAAYhC,CAAC,CAACs1O,cAAF,CAAiB;AAAC57J,YAAAA,UAAU,EAAC;AAAC,8BAAe15E,CAAC,CAACg1O,YAAF,CAAe9yF,EAAf,CAAkB,MAAlB;AAAhB;AAAZ,WAAjB,CAA/B,IAA0GliJ,CAAC,GAAC,IAAIy6O,EAAJ,CAAOz4O,CAAP,CAA5G,EAAsHhC,CAAC,CAACxV,IAAF,CAAO,GAAGoN,MAAM,CAACkD,IAAP,CAAYsF,CAAC,CAACpuB,KAAd,CAAV,EAAgCkwK,EAAhC,CAAmC9hJ,CAAC,CAACpuB,KAArC,CAAtH,EAAkKguB,CAAC,CAAC47N,QAAF,CAAW,SAAX,EAAsB15E,EAAtB,CAAyBzsJ,CAAzB,CAAlK,EAA8LA,CAAC,CAAC14B,QAAF,CAAWstB,GAAX,CAAe2V,CAAf,CAA9L,EAAgNvK,CAAtN;AAAwN;;AAAA,eAAO,IAAP;AAAY,OAA5e;AAA+e;;AAAA,UAAMo9R,EAAE,GAAC,CAACp9R,CAAD,EAAG2K,CAAH,EAAKJ,CAAL,KAAS;AAAC,YAAMgC,CAAC,GAAC,IAAIg6O,EAAJ,CAAOvmP,CAAC,CAACm3L,MAAT,CAAR;AAAyB,aAAO5qL,CAAC,CAACzH,GAAF,CAAM;AAAC33B,QAAAA,EAAE,EAACw9B,CAAJ;AAAM0yR,QAAAA,iBAAiB,EAAC9yR;AAAxB,OAAN,GAAkCgC,CAAC,CAACxX,IAAF,CAAO,YAAP,EAAqB03J,EAArB,CAAwBzsJ,CAAxB,EAA0B,WAA1B,EAAuCA,CAAC,IAAE,CAACA,CAA3C,CAAlC,EAAiFuM,CAAC,CAACxX,IAAF,CAAO,UAAP,EAAmB03J,EAAnB,CAAsBzsJ,CAAtB,EAAwB,WAAxB,EAAqCA,CAAC,IAAE,CAAC,CAACA,CAA1C,CAAjF,EAA+HuM,CAAC,CAAC9qB,EAAF,CAAK,OAAL,EAAc,MAAI;AAACue,QAAAA,CAAC,CAACs9R,SAAF,GAAY,IAAZ;AAAiB,OAApC,CAA/H,EAAsKt9R,CAAC,CAACjL,IAAF,CAAO,SAAP,EAAiB,WAAjB,EAA6B,aAA7B,EAA4C03J,EAA5C,CAA+ClgJ,CAA/C,CAAtK,EAAwNA,CAA/N;AAAiO,KAA7Q;AAAA,UAA8Q+6F,EAAE,GAAC,CAACtnG,CAAD,EAAG2K,CAAC,GAAC,CAAL,EAAOJ,CAAC,GAAC,CAAT,KAAavK,CAAC,GAACuK,CAAF,GAAIA,CAAJ,GAAMvK,CAAC,GAAC2K,CAAF,GAAIA,CAAJ,GAAM3K,CAA1S;AAAA,UAA4Su9R,EAAE,GAAC,CAACv9R,CAAD,EAAG2K,CAAC,GAAC,CAAL,EAAOJ,CAAC,GAAC2xB,IAAI,CAACq2E,GAAL,CAAS,EAAT,EAAY5nG,CAAZ,CAAT,KAA0BuxB,IAAI,CAACk6C,KAAL,CAAW7rE,CAAC,GAACvK,CAAb,IAAgBuK,CAAzV;AAAA,UAA2VizR,EAAE,IAAEthQ,IAAI,CAAC48L,EAAL,EAAQ94N,CAAC,KAAG,QAAMA,CAAC,CAAC,CAAD,CAAP,KAAaA,CAAC,GAACA,CAAC,CAACwnB,SAAF,CAAY,CAAZ,CAAf,GAA+BxnB,CAAC,CAACrzB,MAAF,GAAS,CAAT,GAAW;AAAC8/B,MAAAA,CAAC,EAAC7I,QAAQ,CAAC5D,CAAC,CAAC,CAAD,CAAD,GAAKA,CAAC,CAAC,CAAD,CAAP,EAAW,EAAX,CAAX;AAA0BgM,MAAAA,CAAC,EAACpI,QAAQ,CAAC5D,CAAC,CAAC,CAAD,CAAD,GAAKA,CAAC,CAAC,CAAD,CAAP,EAAW,EAAX,CAApC;AAAmD6J,MAAAA,CAAC,EAACjG,QAAQ,CAAC5D,CAAC,CAAC,CAAD,CAAD,GAAKA,CAAC,CAAC,CAAD,CAAP,EAAW,EAAX,CAA7D;AAA4EoiD,MAAAA,CAAC,EAAC,MAAIpiD,CAAC,CAACrzB,MAAN,GAAa4wT,EAAE,CAAC35R,QAAQ,CAAC5D,CAAC,CAAC,CAAD,CAAD,GAAKA,CAAC,CAAC,CAAD,CAAP,EAAW,EAAX,CAAR,GAAuB,GAAxB,EAA4B,CAA5B,CAAf,GAA8C;AAA5H,KAAX,GAA0I;AAACyM,MAAAA,CAAC,EAAC7I,QAAQ,CAAC5D,CAAC,CAACwnB,SAAF,CAAY,CAAZ,EAAc,CAAd,CAAD,EAAkB,EAAlB,CAAX;AAAiCxb,MAAAA,CAAC,EAACpI,QAAQ,CAAC5D,CAAC,CAACwnB,SAAF,CAAY,CAAZ,EAAc,CAAd,CAAD,EAAkB,EAAlB,CAA3C;AAAiE3d,MAAAA,CAAC,EAACjG,QAAQ,CAAC5D,CAAC,CAACwnB,SAAF,CAAY,CAAZ,EAAc,CAAd,CAAD,EAAkB,EAAlB,CAA3E;AAAiG46B,MAAAA,CAAC,EAAC,MAAIpiD,CAAC,CAACrzB,MAAN,GAAa4wT,EAAE,CAAC35R,QAAQ,CAAC5D,CAAC,CAACwnB,SAAF,CAAY,CAAZ,EAAc,CAAd,CAAD,EAAkB,EAAlB,CAAR,GAA8B,GAA/B,EAAmC,CAAnC,CAAf,GAAqD;AAAxJ,KAA5K,CAAX,CAA7V;AAAA,UAAirBi2Q,EAAE,GAAC,CAAC;AAAC7mJ,MAAAA,CAAC,EAAC52I,CAAH;AAAKsK,MAAAA,CAAC,EAACK,CAAP;AAASx0B,MAAAA,CAAC,EAACo0B,CAAX;AAAa63C,MAAAA,CAAC,EAAC71C;AAAf,KAAD,KAAqB;AAAC,YAAM51B,CAAC,GAAC,CAAC,MAAIg0B,CAAL,IAAQJ,CAAR,GAAU,GAAlB;AAAsB,aAAM;AAACqsI,QAAAA,CAAC,EAAC2mJ,EAAE,CAACv9R,CAAD,CAAL;AAASsK,QAAAA,CAAC,EAACizR,EAAE,CAAC5mT,CAAC,GAAC,CAAF,IAAKA,CAAC,GAAC,GAAP,GAAWg0B,CAAC,GAACJ,CAAF,GAAI,GAAJ,IAAS5zB,CAAC,IAAE,GAAH,GAAOA,CAAP,GAAS,MAAIA,CAAtB,IAAyB,GAApC,GAAwC,CAAzC,CAAb;AAAyDu1M,QAAAA,CAAC,EAACqxG,EAAE,CAAC5mT,CAAC,GAAC,CAAH,CAA7D;AAAmEyrE,QAAAA,CAAC,EAACm7O,EAAE,CAAChxR,CAAD,EAAG,CAAH;AAAvE,OAAN;AAAoF,KAApzB;AAAA,UAAqzBmxR,EAAE,GAAC19R,CAAC,IAAE;AAAC,YAAK;AAAC42I,QAAAA,CAAC,EAACjsI,CAAH;AAAKL,QAAAA,CAAC,EAACC,CAAP;AAAS2hL,QAAAA,CAAC,EAAC3/K;AAAX,UAAckxR,EAAE,CAACz9R,CAAD,CAArB;AAAyB,aAAO,OAAM2K,CAAE,KAAIJ,CAAE,MAAKgC,CAAE,IAA5B;AAAgC,KAAr3B;AAAA,UAAs3BoxR,EAAE,GAAC,CAAC;AAAC/mJ,MAAAA,CAAC,EAAC52I,CAAH;AAAKsK,MAAAA,CAAC,EAACK,CAAP;AAASx0B,MAAAA,CAAC,EAACo0B,CAAX;AAAa63C,MAAAA,CAAC,EAAC71C;AAAf,KAAD,KAAqB;AAACvM,MAAAA,CAAC,GAACA,CAAC,GAAC,GAAF,GAAM,CAAR,EAAU2K,CAAC,IAAE,GAAb,EAAiBJ,CAAC,IAAE,GAApB;AAAwB,YAAM5zB,CAAC,GAACulD,IAAI,CAACkwC,KAAL,CAAWpsE,CAAX,CAAR;AAAA,YAAsByM,CAAC,GAAClC,CAAC,IAAE,IAAEI,CAAJ,CAAzB;AAAA,YAAgCL,CAAC,GAACC,CAAC,IAAE,IAAE,CAACvK,CAAC,GAACrpB,CAAH,IAAMg0B,CAAV,CAAnC;AAAA,YAAgDy3C,CAAC,GAAC73C,CAAC,IAAE,IAAE,CAAC,IAAEvK,CAAF,GAAIrpB,CAAL,IAAQg0B,CAAZ,CAAnD;AAAA,YAAkEgzI,CAAC,GAAChnK,CAAC,GAAC,CAAtE;AAAwE,aAAM;AAAC81B,QAAAA,CAAC,EAAC8wR,EAAE,CAAC,MAAI,CAAChzR,CAAD,EAAGD,CAAH,EAAKmC,CAAL,EAAOA,CAAP,EAAS21C,CAAT,EAAW73C,CAAX,EAAcozI,CAAd,CAAL,CAAL;AAA4B3xI,QAAAA,CAAC,EAACuxR,EAAE,CAAC,MAAI,CAACn7O,CAAD,EAAG73C,CAAH,EAAKA,CAAL,EAAOD,CAAP,EAASmC,CAAT,EAAWA,CAAX,EAAckxI,CAAd,CAAL,CAAhC;AAAuD9zI,QAAAA,CAAC,EAAC0zR,EAAE,CAAC,MAAI,CAAC9wR,CAAD,EAAGA,CAAH,EAAK21C,CAAL,EAAO73C,CAAP,EAASA,CAAT,EAAWD,CAAX,EAAcqzI,CAAd,CAAL,CAA3D;AAAkFv7F,QAAAA,CAAC,EAACm7O,EAAE,CAAChxR,CAAD,EAAG,CAAH;AAAtF,OAAN;AAAmG,KAAllC;AAAA,UAAmlCqxR,EAAE,GAAC59R,CAAC,IAAE;AAAC,YAAM2K,CAAC,GAAC3K,CAAC,CAACkd,QAAF,CAAW,EAAX,CAAR;AAAuB,aAAOvS,CAAC,CAACh+B,MAAF,GAAS,CAAT,GAAW,MAAIg+B,CAAf,GAAiBA,CAAxB;AAA0B,KAA3oC;AAAA,UAA4oCkzR,EAAE,GAAC,CAAC;AAACpxR,MAAAA,CAAC,EAACzM,CAAH;AAAKgM,MAAAA,CAAC,EAACrB,CAAP;AAASd,MAAAA,CAAC,EAACU,CAAX;AAAa63C,MAAAA,CAAC,EAAC71C;AAAf,KAAD,KAAqB;AAAC,YAAM51B,CAAC,GAAC41B,CAAC,GAAC,CAAF,GAAIqxR,EAAE,CAACL,EAAE,CAAC,MAAIhxR,CAAL,CAAH,CAAN,GAAkB,EAA1B;AAA6B,aAAM,MAAIqxR,EAAE,CAAC59R,CAAD,CAAN,GAAU49R,EAAE,CAACjzR,CAAD,CAAZ,GAAgBizR,EAAE,CAACrzR,CAAD,CAAlB,GAAsB5zB,CAA5B;AAA8B,KAAhuC;AAAA,UAAiuCmnT,EAAE,GAAC,CAAC;AAACrxR,MAAAA,CAAC,EAACzM,CAAH;AAAKgM,MAAAA,CAAC,EAACrB,CAAP;AAASd,MAAAA,CAAC,EAACU,CAAX;AAAa63C,MAAAA,CAAC,EAAC71C;AAAf,KAAD,KAAqB;AAAC,YAAM51B,CAAC,GAACulD,IAAI,CAAC1qC,GAAL,CAASwO,CAAT,EAAW2K,CAAX,EAAaJ,CAAb,CAAR;AAAA,YAAwBkC,CAAC,GAAC91B,CAAC,GAACulD,IAAI,CAACzqC,GAAL,CAASuO,CAAT,EAAW2K,CAAX,EAAaJ,CAAb,CAA5B;AAAA,YAA4CD,CAAC,GAACmC,CAAC,GAAC91B,CAAC,KAAGqpB,CAAJ,GAAM,CAAC2K,CAAC,GAACJ,CAAH,IAAMkC,CAAZ,GAAc91B,CAAC,KAAGg0B,CAAJ,GAAM,IAAE,CAACJ,CAAC,GAACvK,CAAH,IAAMyM,CAAd,GAAgB,IAAE,CAACzM,CAAC,GAAC2K,CAAH,IAAM8B,CAAvC,GAAyC,CAAxF;AAA0F,aAAM;AAACmqI,QAAAA,CAAC,EAAC2mJ,EAAE,CAAC,MAAIjzR,CAAC,GAAC,CAAF,GAAIA,CAAC,GAAC,CAAN,GAAQA,CAAZ,CAAD,CAAL;AAAsBA,QAAAA,CAAC,EAACizR,EAAE,CAAC5mT,CAAC,GAAC81B,CAAC,GAAC91B,CAAF,GAAI,GAAL,GAAS,CAAX,CAA1B;AAAwCR,QAAAA,CAAC,EAAConT,EAAE,CAAC5mT,CAAC,GAAC,GAAF,GAAM,GAAP,CAA5C;AAAwDyrE,QAAAA,CAAC,EAAC71C;AAA1D,OAAN;AAAmE,KAAv5C;AAAA,UAAw5CwxR,EAAE,GAAC,CAAC/9R,CAAD,EAAG2K,CAAH,KAAO;AAAC,UAAG3K,CAAC,KAAG2K,CAAP,EAAS,OAAM,CAAC,CAAP;;AAAS,WAAI,MAAMJ,CAAV,IAAevK,CAAf,EAAiB,IAAGA,CAAC,CAACuK,CAAD,CAAD,KAAOI,CAAC,CAACJ,CAAD,CAAX,EAAe,OAAM,CAAC,CAAP;;AAAS,aAAM,CAAC,CAAP;AAAS,KAAv+C;AAAA,UAAw+CyzR,EAAE,GAAC,EAA3+C;AAAA,UAA8+CC,EAAE,GAACj+R,CAAC,IAAE;AAAC,UAAI2K,CAAC,GAACqzR,EAAE,CAACh+R,CAAD,CAAR;AAAY,aAAO2K,CAAC,KAAGA,CAAC,GAACjJ,QAAQ,CAACmF,aAAT,CAAuB,UAAvB,CAAF,EAAqC8D,CAAC,CAAC8sO,SAAF,GAAYz3O,CAAjD,EAAmDg+R,EAAE,CAACh+R,CAAD,CAAF,GAAM2K,CAA5D,CAAD,EAAgEA,CAAvE;AAAyE,KAA1kD;AAAA,UAA2kDuzR,EAAE,GAAC,CAACl+R,CAAD,EAAG2K,CAAH,EAAKJ,CAAL,KAAS;AAACvK,MAAAA,CAAC,CAACywF,aAAF,CAAgB,IAAIo6C,WAAJ,CAAgBlgI,CAAhB,EAAkB;AAACwzR,QAAAA,OAAO,EAAC,CAAC,CAAV;AAAY5nT,QAAAA,MAAM,EAACg0B;AAAnB,OAAlB,CAAhB;AAA0D,KAAlpD;;AAAmpD,QAAI6zR,EAAE,GAAC,CAAC,CAAR;;AAAU,UAAMC,EAAE,GAACr+R,CAAC,IAAE,aAAYA,CAAxB;AAAA,UAA0Bs+R,EAAE,GAAC,CAACt+R,CAAD,EAAG2K,CAAH,KAAO;AAAC,YAAMJ,CAAC,GAAC8zR,EAAE,CAAC1zR,CAAD,CAAF,GAAMA,CAAC,CAAC4zR,OAAF,CAAU,CAAV,CAAN,GAAmB5zR,CAA3B;AAAA,YAA6B4B,CAAC,GAACvM,CAAC,CAAC6sL,EAAF,CAAKwoD,qBAAL,EAA/B;AAA4D6oD,MAAAA,EAAE,CAACl+R,CAAC,CAAC6sL,EAAH,EAAM,MAAN,EAAa7sL,CAAC,CAACw+R,OAAF,CAAU;AAAC/hT,QAAAA,CAAC,EAAC6qH,EAAE,CAAC,CAAC/8F,CAAC,CAACk0R,KAAF,IAASlyR,CAAC,CAAC6nC,IAAF,GAAOj1D,MAAM,CAACu/S,WAAvB,CAAD,IAAsCnyR,CAAC,CAACwnC,KAAzC,CAAL;AAAqDhoC,QAAAA,CAAC,EAACu7F,EAAE,CAAC,CAAC/8F,CAAC,CAACo0R,KAAF,IAASpyR,CAAC,CAAC2nC,GAAF,GAAM/0D,MAAM,CAACy/S,WAAtB,CAAD,IAAqCryR,CAAC,CAAC0nC,MAAxC;AAAzD,OAAV,CAAb,CAAF;AAAqI,KAAtO;;AAAuO,UAAM4qP,EAAN,CAAQ;AAACp/T,MAAAA,WAAW,CAACugC,CAAD,EAAG2K,CAAH,EAAKJ,CAAL,EAAOgC,CAAP,EAAS;AAAC,cAAM51B,CAAC,GAACsnT,EAAE,CAAE,yCAAwCtzR,CAAE,KAAIJ,CAAE,eAAcI,CAAE,wBAAlE,CAAV;;AAAqG3K,QAAAA,CAAC,CAAC27C,WAAF,CAAchlE,CAAC,CAACotG,OAAF,CAAU+6M,SAAV,CAAoB,CAAC,CAArB,CAAd;AAAuC,cAAMryR,CAAC,GAACzM,CAAC,CAAC+iO,aAAF,CAAiB,SAAQp4N,CAAE,GAA3B,CAAR;AAAuC8B,QAAAA,CAAC,CAACsP,gBAAF,CAAmB,WAAnB,EAA+B,IAA/B,GAAqCtP,CAAC,CAACsP,gBAAF,CAAmB,YAAnB,EAAgC,IAAhC,CAArC,EAA2EtP,CAAC,CAACsP,gBAAF,CAAmB,SAAnB,EAA6B,IAA7B,CAA3E,EAA8G,KAAK8wK,EAAL,GAAQpgL,CAAtH,EAAwH,KAAKsyR,EAAL,GAAQxyR,CAAhI,EAAkI,KAAK28E,KAAL,GAAW,CAACz8E,CAAC,CAACq3N,UAAH,EAAcr3N,CAAd,CAA7I;AAA8J;;AAAY,UAARuyR,QAAQ,CAACh/R,CAAD,EAAG;AAAC,cAAM2K,CAAC,GAAC3K,CAAC,GAAC0B,QAAQ,CAACqa,gBAAV,GAA2Bra,QAAQ,CAAC2a,mBAA7C;AAAiE1R,QAAAA,CAAC,CAACyzR,EAAE,GAAC,WAAD,GAAa,WAAhB,EAA4B,IAA5B,CAAD,EAAmCzzR,CAAC,CAACyzR,EAAE,GAAC,UAAD,GAAY,SAAf,EAAyB,IAAzB,CAApC;AAAmE;;AAAAa,MAAAA,WAAW,CAACj/R,CAAD,EAAG;AAAC,gBAAOA,CAAC,CAAC/oB,IAAT;AAAe,eAAI,WAAJ;AAAgB,eAAI,YAAJ;AAAiB,gBAAG+oB,CAAC,CAACu0C,cAAF,IAAmB,CAAC,CAACv0C,CAAC,IAAE,EAAEo+R,EAAE,IAAE,CAACC,EAAE,CAACr+R,CAAD,CAAP,KAAao+R,EAAE,KAAGA,EAAE,GAACC,EAAE,CAACr+R,CAAD,CAAR,CAAF,EAAe,CAA5B,CAAF,CAAJ,EAAuCA,CAAvC,CAAD,IAA4C,CAACo+R,EAAD,IAAK,KAAGp+R,CAAC,CAACk/R,MAA5E,EAAmF;AAAO,iBAAKryG,EAAL,CAAQ75I,KAAR,IAAgBsrP,EAAE,CAAC,IAAD,EAAMt+R,CAAN,CAAlB,EAA2B,KAAKg/R,QAAL,GAAc,CAAC,CAA1C;AAA4C;;AAAM,eAAI,WAAJ;AAAgB,eAAI,WAAJ;AAAgBh/R,YAAAA,CAAC,CAACu0C,cAAF,IAAmB+pP,EAAE,CAAC,IAAD,EAAMt+R,CAAN,CAArB;AAA8B;;AAAM,eAAI,SAAJ;AAAc,eAAI,UAAJ;AAAe,iBAAKg/R,QAAL,GAAc,CAAC,CAAf;AAAiB;;AAAM,eAAI,SAAJ;AAAc,aAAC,CAACh/R,CAAD,EAAG2K,CAAH,KAAO;AAAC,oBAAMJ,CAAC,GAACI,CAAC,CAAC0wO,OAAV;AAAkB9wO,cAAAA,CAAC,GAAC,EAAF,IAAMvK,CAAC,CAAC++R,EAAF,IAAMx0R,CAAC,GAAC,EAAd,IAAkBA,CAAC,GAAC,EAApB,KAAyBI,CAAC,CAAC4pC,cAAF,IAAmB2pP,EAAE,CAACl+R,CAAC,CAAC6sL,EAAH,EAAM,MAAN,EAAa7sL,CAAC,CAACw+R,OAAF,CAAU;AAAC/hT,gBAAAA,CAAC,EAAC,OAAK8tB,CAAL,GAAO,GAAP,GAAW,OAAKA,CAAL,GAAO,CAAC,GAAR,GAAY,OAAKA,CAAL,GAAO,GAAP,GAAW,OAAKA,CAAL,GAAO,CAAC,GAAR,GAAY,OAAKA,CAAL,GAAO,CAAP,GAAS,OAAKA,CAAL,GAAO,CAAC,CAAR,GAAU,CAApE;AAAsEwB,gBAAAA,CAAC,EAAC,OAAKxB,CAAL,GAAO,GAAP,GAAW,OAAKA,CAAL,GAAO,CAAC,GAAR,GAAY;AAA/F,eAAV,EAA4G,CAAC,CAA7G,CAAb,CAA9C;AAA6K,aAAxM,EAA0M,IAA1M,EAA+MvK,CAA/M;;AAAlU;AAAqhB;;AAAAu7C,MAAAA,KAAK,CAACv7C,CAAD,EAAG;AAACA,QAAAA,CAAC,CAAC6F,OAAF,CAAW,CAAC7F,CAAD,EAAG2K,CAAH,KAAO;AAAC,eAAI,MAAMJ,CAAV,IAAevK,CAAf,EAAiB,KAAKkpF,KAAL,CAAWv+E,CAAX,EAAc4wC,KAAd,CAAoBm+H,WAApB,CAAgCnvK,CAAhC,EAAkCvK,CAAC,CAACuK,CAAD,CAAnC;AAAwC,SAA5E;AAA+E;;AAAvnC;;AAAwnC,UAAM40R,EAAN,SAAiBN,EAAjB,CAAmB;AAACp/T,MAAAA,WAAW,CAACugC,CAAD,EAAG;AAAC,cAAMA,CAAN,EAAQ,KAAR,EAAc,wDAAd,EAAuE,CAAC,CAAxE;AAA2E;;AAAA89H,MAAAA,MAAM,CAAC;AAAC8Y,QAAAA,CAAC,EAAC52I;AAAH,OAAD,EAAO;AAAC,aAAK42I,CAAL,GAAO52I,CAAP,EAAS,KAAKu7C,KAAL,CAAW,CAAC;AAACnH,UAAAA,IAAI,EAACp0C,CAAC,GAAC,GAAF,GAAM,GAAN,GAAU,GAAhB;AAAoBo/R,UAAAA,KAAK,EAAC1B,EAAE,CAAC;AAAC9mJ,YAAAA,CAAC,EAAC52I,CAAH;AAAKsK,YAAAA,CAAC,EAAC,GAAP;AAAWn0B,YAAAA,CAAC,EAAC,GAAb;AAAiBisE,YAAAA,CAAC,EAAC;AAAnB,WAAD;AAA5B,SAAD,CAAX,CAAT,EAA4E,KAAKyqI,EAAL,CAAQnxI,YAAR,CAAqB,eAArB,EAAsC,GAAE6hP,EAAE,CAACv9R,CAAD,CAAI,EAA9C,CAA5E;AAA6H;;AAAAw+R,MAAAA,OAAO,CAACx+R,CAAD,EAAG2K,CAAH,EAAK;AAAC,eAAM;AAACisI,UAAAA,CAAC,EAACjsI,CAAC,GAAC28F,EAAE,CAAC,KAAKsvC,CAAL,GAAO,MAAI52I,CAAC,CAACvjB,CAAd,EAAgB,CAAhB,EAAkB,GAAlB,CAAH,GAA0B,MAAIujB,CAAC,CAACvjB;AAApC,SAAN;AAA6C;;AAAhS;;AAAiS,UAAM4iT,EAAN,SAAiBR,EAAjB,CAAmB;AAACp/T,MAAAA,WAAW,CAACugC,CAAD,EAAG;AAAC,cAAMA,CAAN,EAAQ,YAAR,EAAqB,oBAArB,EAA0C,CAAC,CAA3C;AAA8C;;AAAA89H,MAAAA,MAAM,CAAC99H,CAAD,EAAG;AAAC,aAAKs/R,IAAL,GAAUt/R,CAAV,EAAY,KAAKu7C,KAAL,CAAW,CAAC;AAACrH,UAAAA,GAAG,EAAC,MAAIl0C,CAAC,CAAC7pB,CAAN,GAAQ,GAAb;AAAiBi+D,UAAAA,IAAI,EAAE,GAAEp0C,CAAC,CAACsK,CAAE,GAA7B;AAAgC80R,UAAAA,KAAK,EAAC1B,EAAE,CAAC19R,CAAD;AAAxC,SAAD,EAA8C;AAAC,8BAAmB09R,EAAE,CAAC;AAAC9mJ,YAAAA,CAAC,EAAC52I,CAAC,CAAC42I,CAAL;AAAOtsI,YAAAA,CAAC,EAAC,GAAT;AAAan0B,YAAAA,CAAC,EAAC,GAAf;AAAmBisE,YAAAA,CAAC,EAAC;AAArB,WAAD;AAAtB,SAA9C,CAAX,CAAZ,EAAwH,KAAKyqI,EAAL,CAAQnxI,YAAR,CAAqB,gBAArB,EAAuC,cAAa6hP,EAAE,CAACv9R,CAAC,CAACsK,CAAH,CAAM,iBAAgBizR,EAAE,CAACv9R,CAAC,CAAC7pB,CAAH,CAAM,GAApF,CAAxH;AAAgN;;AAAAqoT,MAAAA,OAAO,CAACx+R,CAAD,EAAG2K,CAAH,EAAK;AAAC,eAAM;AAACL,UAAAA,CAAC,EAACK,CAAC,GAAC28F,EAAE,CAAC,KAAKg4L,IAAL,CAAUh1R,CAAV,GAAY,MAAItK,CAAC,CAACvjB,CAAnB,EAAqB,CAArB,EAAuB,GAAvB,CAAH,GAA+B,MAAIujB,CAAC,CAACvjB,CAAzC;AAA2CtG,UAAAA,CAAC,EAACw0B,CAAC,GAAC28F,EAAE,CAAC,KAAKg4L,IAAL,CAAUnpT,CAAV,GAAY,MAAI6pB,CAAC,CAAC+L,CAAnB,EAAqB,CAArB,EAAuB,GAAvB,CAAH,GAA+BmwB,IAAI,CAACk6C,KAAL,CAAW,MAAI,MAAIp2E,CAAC,CAAC+L,CAArB;AAA7E,SAAN;AAA4G;;AAAjZ;;AAAkZ,UAAMwzR,EAAE,GAACrzR,MAAM,CAAC,MAAD,CAAf;AAAA,UAAwBszR,EAAE,GAACtzR,MAAM,CAAC,OAAD,CAAjC;AAAA,UAA2CuzR,EAAE,GAACvzR,MAAM,CAAC,MAAD,CAApD;AAAA,UAA6DwzR,EAAE,GAACxzR,MAAM,CAAC,QAAD,CAAtE;AAAA,UAAiFyzR,EAAE,GAACzzR,MAAM,CAAC,OAAD,CAA1F;AAAA,UAAoG0zR,EAAE,GAAC1zR,MAAM,CAAC,KAAD,CAA7G;AAAA,UAAqH2zR,EAAE,GAAC3zR,MAAM,CAAC,SAAD,CAA9H;;AAA0I,UAAM4zR,EAAN,SAAiBhjH,WAAjB,CAA4B;AAA8B,iBAAlBijH,kBAAkB,GAAE;AAAC,eAAM,CAAC,OAAD,CAAN;AAAgB;;AAAM,WAAFH,EAAE,IAAG;AAAC,eAAM,CAAC,6wBAAD,EAA+wB,iKAA/wB,EAAi7B,6SAAj7B,CAAN;AAAsuC;;AAAM,WAAFC,EAAE,IAAG;AAAC,eAAM,CAACR,EAAD,EAAIF,EAAJ,CAAN;AAAc;;AAAS,UAALC,KAAK,GAAE;AAAC,eAAO,KAAKI,EAAL,CAAP;AAAgB;;AAAS,UAALJ,KAAK,CAACp/R,CAAD,EAAG;AAAC,YAAG,CAAC,KAAKu/R,EAAL,EAASv/R,CAAT,CAAJ,EAAgB;AAAC,gBAAM2K,CAAC,GAAC,KAAKq1R,UAAL,CAAgBC,MAAhB,CAAuBjgS,CAAvB,CAAR;AAAkC,eAAK0/R,EAAL,EAAS/0R,CAAT,GAAY,KAAK60R,EAAL,IAASx/R,CAArB;AAAuB;AAAC;;AAAAvgC,MAAAA,WAAW,GAAE;AAAC;;AAAQ,cAAMugC,CAAC,GAACi+R,EAAE,CAAE,UAAS,KAAK2B,EAAL,EAAS7yT,IAAT,CAAc,EAAd,CAAkB,UAA7B,CAAV;AAAA,cAAkD49B,CAAC,GAAC,KAAKu1R,YAAL,CAAkB;AAAC36H,UAAAA,IAAI,EAAC;AAAN,SAAlB,CAApD;;AAAqF56J,QAAAA,CAAC,CAACgxC,WAAF,CAAc37C,CAAC,CAAC+jF,OAAF,CAAU+6M,SAAV,CAAoB,CAAC,CAArB,CAAd,GAAuCn0R,CAAC,CAACoR,gBAAF,CAAmB,MAAnB,EAA0B,IAA1B,CAAvC,EAAuE,KAAK4jR,EAAL,IAAS,KAAKE,EAAL,EAASr2T,GAAT,CAAcw2B,CAAC,IAAE,IAAIA,CAAJ,CAAM2K,CAAN,CAAjB,CAAhF;AAA4G;;AAAAw1R,MAAAA,iBAAiB,GAAE;AAAC,YAAG,KAAKj2R,cAAL,CAAoB,OAApB,CAAH,EAAgC;AAAC,gBAAMlK,CAAC,GAAC,KAAKo/R,KAAb;AAAmB,iBAAO,KAAKA,KAAZ,EAAkB,KAAKA,KAAL,GAAWp/R,CAA7B;AAA+B,SAAnF,MAAwF,KAAKo/R,KAAL,KAAa,KAAKA,KAAL,GAAW,KAAKY,UAAL,CAAgBI,YAAxC;AAAsD;;AAAAC,MAAAA,wBAAwB,CAACrgS,CAAD,EAAG2K,CAAH,EAAKJ,CAAL,EAAO;AAAC,cAAMgC,CAAC,GAAC,KAAKyzR,UAAL,CAAgBM,QAAhB,CAAyB/1R,CAAzB,CAAR;AAAoC,aAAKg1R,EAAL,EAAShzR,CAAT,MAAc,KAAK6yR,KAAL,GAAW7yR,CAAzB;AAA4B;;AAAA0yR,MAAAA,WAAW,CAACj/R,CAAD,EAAG;AAAC,cAAM2K,CAAC,GAAC,KAAK80R,EAAL,CAAR;AAAA,cAAiBl1R,CAAC,GAAC,EAAC,GAAGI,CAAJ;AAAM,aAAG3K,CAAC,CAACzpB;AAAX,SAAnB;AAAsC,YAAIg2B,CAAJ;AAAM,aAAKmzR,EAAL,EAASn1R,CAAT,GAAYwzR,EAAE,CAACxzR,CAAD,EAAGI,CAAH,CAAF,IAAS,KAAK40R,EAAL,EAAShzR,CAAC,GAAC,KAAKyzR,UAAL,CAAgBO,QAAhB,CAAyBh2R,CAAzB,CAAX,CAAT,KAAmD,KAAKi1R,EAAL,IAASjzR,CAAT,EAAW2xR,EAAE,CAAC,IAAD,EAAM,eAAN,EAAsB;AAAChtT,UAAAA,KAAK,EAACq7B;AAAP,SAAtB,CAAhE,CAAZ;AAA8G;;AAAG,OAAFgzR,EAAE,EAAEv/R,CAAF,EAAI;AAAC,eAAO,KAAKo/R,KAAL,IAAY,KAAKY,UAAL,CAAgBh/B,KAAhB,CAAsBhhQ,CAAtB,EAAwB,KAAKo/R,KAA7B,CAAnB;AAAuD;;AAAG,OAAFM,EAAE,EAAE1/R,CAAF,EAAI;AAAC,aAAKy/R,EAAL,IAASz/R,CAAT,EAAW,KAAK2/R,EAAL,EAAS95R,OAAT,CAAkB8E,CAAC,IAAEA,CAAC,CAACmzH,MAAF,CAAS99H,CAAT,CAArB,CAAX;AAA8C;;AAApqE;;AAAqqE,UAAMwgS,EAAE,GAAC;AAACJ,MAAAA,YAAY,EAAC,MAAd;AAAqBH,MAAAA,MAAM,EAACjgS,CAAC,IAAE89R,EAAE,CAACN,EAAE,CAACx9R,CAAD,CAAH,CAAjC;AAAyCugS,MAAAA,QAAQ,EAAC,CAAC;AAAC3pJ,QAAAA,CAAC,EAAC52I,CAAH;AAAKsK,QAAAA,CAAC,EAACK,CAAP;AAASx0B,QAAAA,CAAC,EAACo0B;AAAX,OAAD,KAAiBszR,EAAE,CAACF,EAAE,CAAC;AAAC/mJ,QAAAA,CAAC,EAAC52I,CAAH;AAAKsK,QAAAA,CAAC,EAACK,CAAP;AAASx0B,QAAAA,CAAC,EAACo0B,CAAX;AAAa63C,QAAAA,CAAC,EAAC;AAAf,OAAD,CAAH,CAArE;AAA6F4+M,MAAAA,KAAK,EAAC,CAAChhQ,CAAD,EAAG2K,CAAH,KAAO3K,CAAC,CAACqH,WAAF,OAAkBsD,CAAC,CAACtD,WAAF,EAAlB,IAAmC02R,EAAE,CAACP,EAAE,CAACx9R,CAAD,CAAH,EAAOw9R,EAAE,CAAC7yR,CAAD,CAAT,CAA/I;AAA6J21R,MAAAA,QAAQ,EAACtgS,CAAC,IAAEA;AAAzK,KAAT;;AAAqL,UAAMygS,EAAN,SAAiBX,EAAjB,CAAmB;AAAe,UAAVE,UAAU,GAAE;AAAC,eAAOQ,EAAP;AAAU;;AAA5B;;AAA6BE,IAAAA,cAAc,CAACnjH,MAAf,CAAsB,kBAAtB,EAAyC,cAAckjH,EAAd,CAAgB,EAAzD;AAA6D,QAAIE,EAAE,GAACp2R,CAAC,CAAC,IAAD,CAAR;AAAA,QAAeq2R,EAAE,GAAC;AAAC3hD,MAAAA,UAAU,EAAC,mBAAZ;AAAgCh7J,MAAAA,UAAU,EAAC;AAAC,oBAAW,CAAC;AAAb,OAA3C;AAA2DqC,MAAAA,MAAM,EAAC,MAAlE;AAAyEy9I,MAAAA,SAAS,EAAC,CAAC;AAApF,KAAlB;AAAyG+a,IAAAA,EAAE,GAAG6hD,EAAE,CAACp+D,CAAN,EAAQq+D,EAAR,CAAF;AAAcD,IAAAA,EAAE,CAACp+D,CAAH,CAAK2c,MAAL;AAAY78L,IAAAA,CAAC,CAAC+5L,EAAD,CAAD;AAAM,QAAIykD,EAAE,GAACt2R,CAAC,CAAC,IAAD,CAAR;AAAA,QAAeu2R,EAAE,GAAC;AAAC7hD,MAAAA,UAAU,EAAC,mBAAZ;AAAgCh7J,MAAAA,UAAU,EAAC;AAAC,oBAAW,CAAC;AAAb,OAA3C;AAA2DqC,MAAAA,MAAM,EAAC,MAAlE;AAAyEy9I,MAAAA,SAAS,EAAC,CAAC;AAApF,KAAlB;AAAyG+a,IAAAA,EAAE,GAAG+hD,EAAE,CAACt+D,CAAN,EAAQu+D,EAAR,CAAF;AAAcD,IAAAA,EAAE,CAACt+D,CAAH,CAAK2c,MAAL;;AAAY,UAAM6hD,EAAN,CAAQ;AAACthU,MAAAA,WAAW,CAACugC,CAAD,EAAG;AAAC,aAAKghS,WAAL,GAAiB,IAAI/xR,GAAJ,EAAjB,EAAyB,KAAK+yE,MAAL,GAAYhiF,CAArC;AAAuC;;AAAM,OAAL49K,KAAK,GAAE;AAAC,aAAI,MAAM59K,CAAV,IAAe,KAAKghS,WAAL,CAAiB3/Q,MAAjB,EAAf,EAAyC,MAAMrhB,CAAC,CAACihS,YAAR;AAAqB;;AAAArsS,MAAAA,GAAG,CAACoL,CAAD,EAAG2K,CAAH,EAAK;AAAC,aAAKq2R,WAAL,CAAiBl8R,GAAjB,CAAqBo8R,EAAE,CAAClhS,CAAD,CAAvB,EAA2B;AAAC4X,UAAAA,QAAQ,EAACjN,CAAV;AAAYs2R,UAAAA,YAAY,EAACjhS;AAAzB,SAA3B;AAAwD;;AAAA+I,MAAAA,MAAM,CAAC/I,CAAD,EAAG;AAAC,YAAG,CAAC,KAAK8uB,GAAL,CAAS9uB,CAAT,CAAJ,EAAgB,MAAM,IAAImiD,CAAJ,CAAM,+BAAN,EAAsC,IAAtC,EAA2C;AAAC3xE,UAAAA,IAAI,EAACwvB;AAAN,SAA3C,CAAN;AAA2D,eAAO,KAAKghS,WAAL,CAAiBvgU,GAAjB,CAAqBygU,EAAE,CAAClhS,CAAD,CAAvB,EAA4B4X,QAA5B,CAAqC,KAAKoqE,MAAL,CAAYm1G,MAAjD,CAAP;AAAgE;;AAAAroK,MAAAA,GAAG,CAAC9uB,CAAD,EAAG;AAAC,eAAO,KAAKghS,WAAL,CAAiBlyQ,GAAjB,CAAqBoyQ,EAAE,CAAClhS,CAAD,CAAvB,CAAP;AAAmC;;AAA9X;;AAA+X,aAASkhS,EAAT,CAAYlhS,CAAZ,EAAc;AAAC,aAAO0/B,MAAM,CAAC1/B,CAAD,CAAN,CAAUqH,WAAV,EAAP;AAA+B;;AAAA,QAAI85R,EAAE,GAAC52R,CAAC,CAAC,IAAD,CAAR;AAAA,QAAe62R,EAAE,GAAC;AAACniD,MAAAA,UAAU,EAAC,mBAAZ;AAAgCh7J,MAAAA,UAAU,EAAC;AAAC,oBAAW,CAAC;AAAb,OAA3C;AAA2DqC,MAAAA,MAAM,EAAC,MAAlE;AAAyEy9I,MAAAA,SAAS,EAAC,CAAC;AAApF,KAAlB;AAAyG+a,IAAAA,EAAE,GAAGqiD,EAAE,CAAC5+D,CAAN,EAAQ6+D,EAAR,CAAF;AAAcD,IAAAA,EAAE,CAAC5+D,CAAH,CAAK2c,MAAL;AAAY,UAAMmiD,EAAE,GAAC3pD,EAAE,CAAC,IAAD,CAAX;AAAA,UAAkB4pD,EAAE,GAACptD,EAAE,CAACxyO,QAAH,CAAYrqB,IAAjC;AAAA,UAAsCkqT,EAAE,GAAC;AAACrtP,MAAAA,GAAG,EAAC,CAAC,KAAN;AAAYE,MAAAA,IAAI,EAAC,CAAC,KAAlB;AAAwB5jE,MAAAA,IAAI,EAAC,WAA7B;AAAyC9Q,MAAAA,MAAM,EAAC;AAAC8hU,QAAAA,SAAS,EAAC,CAAC;AAAZ;AAAhD,KAAzC;;AAAyG,UAAMC,EAAN,SAAiBtiD,EAAjB,CAAmB;AAAC1/Q,MAAAA,WAAW,CAACugC,CAAD,EAAG;AAAC,cAAMA,CAAN;AAAS,cAAM2K,CAAC,GAAC,KAAK40O,YAAb;AAA0B,aAAKz6O,GAAL,CAAS,KAAT,EAAe,CAAf,GAAkB,KAAKA,GAAL,CAAS,MAAT,EAAgB,CAAhB,CAAlB,EAAqC,KAAKA,GAAL,CAAS,UAAT,EAAoB,UAApB,CAArC,EAAqE,KAAKA,GAAL,CAAS,WAAT,EAAqB,CAAC,CAAtB,CAArE,EAA8F,KAAKA,GAAL,CAAS,WAAT,EAAqB,CAAC,CAAtB,CAA9F,EAAuH,KAAKA,GAAL,CAAS,OAAT,EAAiB,KAAK,CAAtB,CAAvH,EAAgJ,KAAK48R,yBAAL,GAA+B,IAA/K,EAAoL,KAAK39M,OAAL,GAAa,KAAKu7J,gBAAL,EAAjM,EAAyN,KAAKM,WAAL,CAAiB;AAACsB,UAAAA,GAAG,EAAC,KAAL;AAAWj9J,UAAAA,UAAU,EAAC;AAACm/J,YAAAA,KAAK,EAAC,CAAC,IAAD,EAAM,kBAAN,EAAyBz4O,CAAC,CAAC8hJ,EAAF,CAAK,UAAL,EAAiBzsJ,CAAC,IAAG,oBAAmBA,CAAE,EAA1C,CAAzB,EAAuE2K,CAAC,CAACm2O,EAAF,CAAK,WAAL,EAAiB,0BAAjB,CAAvE,EAAoHn2O,CAAC,CAACm2O,EAAF,CAAK,WAAL,EAAiB,6BAAjB,CAApH,EAAoKn2O,CAAC,CAAC8hJ,EAAF,CAAK,OAAL,CAApK,CAAP;AAA0LlxG,YAAAA,KAAK,EAAC;AAACrH,cAAAA,GAAG,EAACvpC,CAAC,CAAC8hJ,EAAF,CAAK,KAAL,EAAW40I,EAAX,CAAL;AAAoBjtP,cAAAA,IAAI,EAACzpC,CAAC,CAAC8hJ,EAAF,CAAK,MAAL,EAAY40I,EAAZ;AAAzB;AAAhM,WAAtB;AAAiQ/5T,UAAAA,QAAQ,EAAC,KAAKy8G;AAA/Q,SAAjB,CAAzN;AAAmgB;;AAAA49M,MAAAA,IAAI,GAAE;AAAC,aAAKxG,SAAL,GAAe,CAAC,CAAhB;AAAkB;;AAAAyG,MAAAA,IAAI,GAAE;AAAC,aAAKzG,SAAL,GAAe,CAAC,CAAhB;AAAkB;;AAAA0G,MAAAA,QAAQ,CAAC7hS,CAAD,EAAG;AAAC,aAAK2hS,IAAL;AAAY,cAAMh3R,CAAC,GAAC82R,EAAE,CAACK,gBAAX;AAAA,cAA4Bv3R,CAAC,GAACpI,MAAM,CAACC,MAAP,CAAc,EAAd,EAAiB;AAACpZ,UAAAA,OAAO,EAAC,KAAKA,OAAd;AAAsBkvP,UAAAA,SAAS,EAAC,CAACvtO,CAAC,CAACo3R,eAAH,EAAmBp3R,CAAC,CAACq3R,yBAArB,EAA+Cr3R,CAAC,CAACs3R,yBAAjD,EAA2Et3R,CAAC,CAACu3R,mBAA7E,EAAiGv3R,CAAC,CAACw3R,mBAAnG,EAAuHx3R,CAAC,CAACy3R,eAAzH,EAAyIz3R,CAAC,CAAC03R,yBAA3I,EAAqK13R,CAAC,CAAC23R,yBAAvK,EAAiM33R,CAAC,CAAC43R,mBAAnM,EAAuN53R,CAAC,CAAC63R,mBAAzN,EAA6O73R,CAAC,CAAC83R,mBAA/O,CAAhC;AAAoStqD,UAAAA,OAAO,EAACmpD,EAA5S;AAA+SlpD,UAAAA,aAAa,EAAC,CAAC;AAA9T,SAAjB,EAAkVp4O,CAAlV,CAA9B;AAAA,cAAmXuM,CAAC,GAACk1R,EAAE,CAACl6C,mBAAH,CAAuBh9O,CAAvB,KAA2Bg3R,EAAhZ;AAAA,cAAmZ5qT,CAAC,GAACitB,QAAQ,CAAC2I,CAAC,CAAC6nC,IAAH,CAA7Z;AAAA,cAAsa3nC,CAAC,GAAC7I,QAAQ,CAAC2I,CAAC,CAAC2nC,GAAH,CAAhb;AAAA,cAAwb5pC,CAAC,GAACiC,CAAC,CAAC/7B,IAA5b;AAAA,cAAic4xE,CAAC,GAAC71C,CAAC,CAAC7sC,MAAF,IAAU,EAA7c;AAAA,cAAgd;AAAC8hU,UAAAA,SAAS,EAAC7jJ,CAAC,GAAC,CAAC;AAAd,YAAiBv7F,CAAje;AAAme,aAAKlO,GAAL,GAASznC,CAAT,EAAW,KAAK2nC,IAAL,GAAUz9D,CAArB,EAAuB,KAAK7G,QAAL,GAAcw6B,CAArC,EAAuC,KAAKk3R,SAAL,GAAe7jJ,CAAtD;AAAwD;;AAAA+kJ,MAAAA,GAAG,CAAC1iS,CAAD,EAAG;AAAC,aAAK2iS,KAAL,IAAa,KAAKjB,yBAAL,GAA+B,MAAI;AAAC,eAAKvG,SAAL,GAAe,KAAKyH,aAAL,CAAmB5iS,CAAnB,CAAf,GAAqC,KAAK6iS,YAAL,EAArC;AAAyD,SAA1G,EAA2G,KAAKD,aAAL,CAAmB5iS,CAAnB,CAA3G,EAAiI,KAAKwlO,QAAL,CAAc,IAAd,EAAmB,kBAAnB,EAAsC,KAAKk8D,yBAA3C,CAAjI;AAAuM;;AAAAiB,MAAAA,KAAK,GAAE;AAAC,aAAKjB,yBAAL,KAAiC,KAAKmB,YAAL,IAAoB,KAAKn9D,aAAL,CAAmB,IAAnB,EAAwB,kBAAxB,EAA2C,KAAKg8D,yBAAhD,CAApB,EAA+F,KAAKA,yBAAL,GAA+B,IAA9H,EAAmI,KAAKE,IAAL,EAApK;AAAiL;;AAAAgB,MAAAA,aAAa,CAAC5iS,CAAD,EAAG;AAAC,aAAK6hS,QAAL,CAAc7hS,CAAd;AAAiB,cAAM2K,CAAC,GAACm4R,EAAE,CAAC9iS,CAAC,CAAC4tB,MAAH,CAAV;AAAA,cAAqBrjB,CAAC,GAACvK,CAAC,CAACm4O,OAAF,GAAU2qD,EAAE,CAAC9iS,CAAC,CAACm4O,OAAH,CAAZ,GAAwBmpD,EAA/C;AAAkD,aAAK97D,QAAL,CAAc0O,EAAE,CAACxyO,QAAjB,EAA0B,QAA1B,EAAoC,CAAC6K,CAAD,EAAG51B,CAAH,KAAO;AAAC,gBAAM81B,CAAC,GAAC91B,CAAC,CAACi3C,MAAV;AAAA,gBAAiBtjB,CAAC,GAACK,CAAC,IAAE8B,CAAC,CAACw9M,QAAF,CAAWt/M,CAAX,CAAtB;AAAA,gBAAoCy3C,CAAC,GAAC73C,CAAC,IAAEkC,CAAC,CAACw9M,QAAF,CAAW1/M,CAAX,CAAzC;AAAuD,WAACD,CAAD,IAAI,CAAC83C,CAAL,IAAQz3C,CAAR,IAAWJ,CAAX,IAAc,KAAKs3R,QAAL,CAAc7hS,CAAd,CAAd;AAA+B,SAAlI,EAAoI;AAACstI,UAAAA,UAAU,EAAC,CAAC;AAAb,SAApI,GAAqJ,KAAKk4F,QAAL,CAAc0O,EAAE,CAAC/0P,MAAjB,EAAwB,QAAxB,EAAkC,MAAI;AAAC,eAAK0iT,QAAL,CAAc7hS,CAAd;AAAiB,SAAxD,CAArJ;AAAgN;;AAAA6iS,MAAAA,YAAY,GAAE;AAAC,aAAKn9D,aAAL,CAAmBwO,EAAE,CAACxyO,QAAtB,EAA+B,QAA/B,GAAyC,KAAKgkO,aAAL,CAAmBwO,EAAE,CAAC/0P,MAAtB,EAA6B,QAA7B,CAAzC;AAAgF;;AAAr6D;;AAAs6D,aAAS2jT,EAAT,CAAY9iS,CAAZ,EAAc;AAAC,aAAOuyO,EAAE,CAACvyO,CAAD,CAAF,GAAMA,CAAN,GAAQo0O,EAAE,CAACp0O,CAAD,CAAF,GAAMA,CAAC,CAAC61O,uBAAR,GAAgC,cAAY,OAAO71O,CAAnB,GAAqB8iS,EAAE,CAAC9iS,CAAC,EAAF,CAAvB,GAA6B,IAA5E;AAAiF;;AAAA,aAAS+iS,EAAT,CAAY/iS,CAAC,GAAC,EAAd,EAAiB;AAAC,YAAK;AAACgjS,QAAAA,UAAU,EAACr4R,CAAC,GAAC82R,EAAE,CAACwB,eAAjB;AAAiCC,QAAAA,YAAY,EAAC34R,CAAC,GAACk3R,EAAE,CAAC0B,iBAAnD;AAAqEC,QAAAA,oBAAoB,EAAC72R,CAAC,GAACk1R,EAAE,CAAC2B,oBAA/F;AAAoH1jU,QAAAA,MAAM,EAACiX;AAA3H,UAA8HqpB,CAAnI;AAAqI,aAAM;AAACqjS,QAAAA,uBAAuB,EAAC,CAACrjS,CAAD,EAAGuK,CAAH,MAAQ;AAAC2pC,UAAAA,GAAG,EAACznC,CAAC,CAACzM,CAAD,EAAGuK,CAAH,CAAN;AAAY6pC,UAAAA,IAAI,EAACp0C,CAAC,CAACo0C,IAAF,GAAOzpC,CAAxB;AAA0Bn6B,UAAAA,IAAI,EAAC,UAA/B;AAA0C,cAAGmG,CAAC,IAAE;AAACjX,YAAAA,MAAM,EAACiX;AAAR,WAAN;AAA1C,SAAR,CAAzB;AAA8F2sT,QAAAA,6BAA6B,EAAC,CAACtjS,CAAD,EAAGuK,CAAH,MAAQ;AAAC2pC,UAAAA,GAAG,EAACznC,CAAC,CAACzM,CAAD,EAAGuK,CAAH,CAAN;AAAY6pC,UAAAA,IAAI,EAACp0C,CAAC,CAACo0C,IAAF,GAAO,MAAI7pC,CAAC,CAACwpC,KAAb,GAAmBppC,CAApC;AAAsCn6B,UAAAA,IAAI,EAAC,WAA3C;AAAuD,cAAGmG,CAAC,IAAE;AAACjX,YAAAA,MAAM,EAACiX;AAAR,WAAN;AAAvD,SAAR,CAA5H;AAA8M4sT,QAAAA,mBAAmB,EAAC,CAACvjS,CAAD,EAAG2K,CAAH,MAAQ;AAACupC,UAAAA,GAAG,EAACznC,CAAC,CAACzM,CAAD,EAAG2K,CAAH,CAAN;AAAYypC,UAAAA,IAAI,EAACp0C,CAAC,CAACo0C,IAAF,GAAOzpC,CAAC,CAACopC,KAAF,GAAQ,CAAhC;AAAkCvjE,UAAAA,IAAI,EAAC,SAAvC;AAAiD,cAAGmG,CAAC,IAAE;AAACjX,YAAAA,MAAM,EAACiX;AAAR,WAAN;AAAjD,SAAR,CAAlO;AAA8S6sT,QAAAA,6BAA6B,EAAC,CAACxjS,CAAD,EAAGuK,CAAH,MAAQ;AAAC2pC,UAAAA,GAAG,EAACznC,CAAC,CAACzM,CAAD,EAAGuK,CAAH,CAAN;AAAY6pC,UAAAA,IAAI,EAACp0C,CAAC,CAACo0C,IAAF,GAAO,MAAI7pC,CAAC,CAACwpC,KAAb,GAAmBppC,CAApC;AAAsCn6B,UAAAA,IAAI,EAAC,WAA3C;AAAuD,cAAGmG,CAAC,IAAE;AAACjX,YAAAA,MAAM,EAACiX;AAAR,WAAN;AAAvD,SAAR,CAA5U;AAA8Z8sT,QAAAA,uBAAuB,EAAC,CAACzjS,CAAD,EAAGuK,CAAH,MAAQ;AAAC2pC,UAAAA,GAAG,EAACznC,CAAC,CAACzM,CAAD,EAAGuK,CAAH,CAAN;AAAY6pC,UAAAA,IAAI,EAACp0C,CAAC,CAACo0C,IAAF,GAAO7pC,CAAC,CAACwpC,KAAT,GAAeppC,CAAhC;AAAkCn6B,UAAAA,IAAI,EAAC,UAAvC;AAAkD,cAAGmG,CAAC,IAAE;AAACjX,YAAAA,MAAM,EAACiX;AAAR,WAAN;AAAlD,SAAR,CAAtb;AAAmgB4rT,QAAAA,mBAAmB,EAAC,CAACviS,CAAD,EAAGuK,CAAH,MAAQ;AAAC2pC,UAAAA,GAAG,EAACznC,CAAC,CAACzM,CAAD,EAAGuK,CAAH,CAAN;AAAY6pC,UAAAA,IAAI,EAACp0C,CAAC,CAACo0C,IAAF,GAAOp0C,CAAC,CAAC+zC,KAAF,GAAQ,CAAf,GAAiBppC,CAAlC;AAAoCn6B,UAAAA,IAAI,EAAC,UAAzC;AAAoD,cAAGmG,CAAC,IAAE;AAACjX,YAAAA,MAAM,EAACiX;AAAR,WAAN;AAApD,SAAR,CAAvhB;AAAsmB0rT,QAAAA,yBAAyB,EAAC,CAACriS,CAAD,EAAGuK,CAAH,MAAQ;AAAC2pC,UAAAA,GAAG,EAACznC,CAAC,CAACzM,CAAD,EAAGuK,CAAH,CAAN;AAAY6pC,UAAAA,IAAI,EAACp0C,CAAC,CAACo0C,IAAF,GAAOp0C,CAAC,CAAC+zC,KAAF,GAAQ,CAAf,GAAiB,MAAIxpC,CAAC,CAACwpC,KAAvB,GAA6BppC,CAA9C;AAAgDn6B,UAAAA,IAAI,EAAC,WAArD;AAAiE,cAAGmG,CAAC,IAAE;AAACjX,YAAAA,MAAM,EAACiX;AAAR,WAAN;AAAjE,SAAR,CAAhoB;AAA4tByrT,QAAAA,eAAe,EAAC,CAACpiS,CAAD,EAAG2K,CAAH,MAAQ;AAACupC,UAAAA,GAAG,EAACznC,CAAC,CAACzM,CAAD,EAAG2K,CAAH,CAAN;AAAYypC,UAAAA,IAAI,EAACp0C,CAAC,CAACo0C,IAAF,GAAOp0C,CAAC,CAAC+zC,KAAF,GAAQ,CAAf,GAAiBppC,CAAC,CAACopC,KAAF,GAAQ,CAA1C;AAA4CvjE,UAAAA,IAAI,EAAC,SAAjD;AAA2D,cAAGmG,CAAC,IAAE;AAACjX,YAAAA,MAAM,EAACiX;AAAR,WAAN;AAA3D,SAAR,CAA5uB;AAAk0B2rT,QAAAA,yBAAyB,EAAC,CAACtiS,CAAD,EAAGuK,CAAH,MAAQ;AAAC2pC,UAAAA,GAAG,EAACznC,CAAC,CAACzM,CAAD,EAAGuK,CAAH,CAAN;AAAY6pC,UAAAA,IAAI,EAACp0C,CAAC,CAACo0C,IAAF,GAAOp0C,CAAC,CAAC+zC,KAAF,GAAQ,CAAf,GAAiB,MAAIxpC,CAAC,CAACwpC,KAAvB,GAA6BppC,CAA9C;AAAgDn6B,UAAAA,IAAI,EAAC,WAArD;AAAiE,cAAGmG,CAAC,IAAE;AAACjX,YAAAA,MAAM,EAACiX;AAAR,WAAN;AAAjE,SAAR,CAA51B;AAAw7B6rT,QAAAA,mBAAmB,EAAC,CAACxiS,CAAD,EAAGuK,CAAH,MAAQ;AAAC2pC,UAAAA,GAAG,EAACznC,CAAC,CAACzM,CAAD,EAAGuK,CAAH,CAAN;AAAY6pC,UAAAA,IAAI,EAACp0C,CAAC,CAACo0C,IAAF,GAAOp0C,CAAC,CAAC+zC,KAAF,GAAQ,CAAf,GAAiBxpC,CAAC,CAACwpC,KAAnB,GAAyBppC,CAA1C;AAA4Cn6B,UAAAA,IAAI,EAAC,UAAjD;AAA4D,cAAGmG,CAAC,IAAE;AAACjX,YAAAA,MAAM,EAACiX;AAAR,WAAN;AAA5D,SAAR,CAA58B;AAAmiC+sT,QAAAA,uBAAuB,EAAC,CAAC1jS,CAAD,EAAGuK,CAAH,MAAQ;AAAC2pC,UAAAA,GAAG,EAACznC,CAAC,CAACzM,CAAD,EAAGuK,CAAH,CAAN;AAAY6pC,UAAAA,IAAI,EAACp0C,CAAC,CAACxT,KAAF,GAAQme,CAAzB;AAA2Bn6B,UAAAA,IAAI,EAAC,UAAhC;AAA2C,cAAGmG,CAAC,IAAE;AAACjX,YAAAA,MAAM,EAACiX;AAAR,WAAN;AAA3C,SAAR,CAA3jC;AAAioCgtT,QAAAA,6BAA6B,EAAC,CAAC3jS,CAAD,EAAGuK,CAAH,MAAQ;AAAC2pC,UAAAA,GAAG,EAACznC,CAAC,CAACzM,CAAD,EAAGuK,CAAH,CAAN;AAAY6pC,UAAAA,IAAI,EAACp0C,CAAC,CAACxT,KAAF,GAAQ,MAAI+d,CAAC,CAACwpC,KAAd,GAAoBppC,CAArC;AAAuCn6B,UAAAA,IAAI,EAAC,WAA5C;AAAwD,cAAGmG,CAAC,IAAE;AAACjX,YAAAA,MAAM,EAACiX;AAAR,WAAN;AAAxD,SAAR,CAA/pC;AAAkvCitT,QAAAA,mBAAmB,EAAC,CAAC5jS,CAAD,EAAG2K,CAAH,MAAQ;AAACupC,UAAAA,GAAG,EAACznC,CAAC,CAACzM,CAAD,EAAG2K,CAAH,CAAN;AAAYypC,UAAAA,IAAI,EAACp0C,CAAC,CAACxT,KAAF,GAAQme,CAAC,CAACopC,KAAF,GAAQ,CAAjC;AAAmCvjE,UAAAA,IAAI,EAAC,SAAxC;AAAkD,cAAGmG,CAAC,IAAE;AAACjX,YAAAA,MAAM,EAACiX;AAAR,WAAN;AAAlD,SAAR,CAAtwC;AAAm1CktT,QAAAA,6BAA6B,EAAC,CAAC7jS,CAAD,EAAGuK,CAAH,MAAQ;AAAC2pC,UAAAA,GAAG,EAACznC,CAAC,CAACzM,CAAD,EAAGuK,CAAH,CAAN;AAAY6pC,UAAAA,IAAI,EAACp0C,CAAC,CAACxT,KAAF,GAAQ,MAAI+d,CAAC,CAACwpC,KAAd,GAAoBppC,CAArC;AAAuCn6B,UAAAA,IAAI,EAAC,WAA5C;AAAwD,cAAGmG,CAAC,IAAE;AAACjX,YAAAA,MAAM,EAACiX;AAAR,WAAN;AAAxD,SAAR,CAAj3C;AAAo8CmtT,QAAAA,uBAAuB,EAAC,CAAC9jS,CAAD,EAAGuK,CAAH,MAAQ;AAAC2pC,UAAAA,GAAG,EAACznC,CAAC,CAACzM,CAAD,EAAGuK,CAAH,CAAN;AAAY6pC,UAAAA,IAAI,EAACp0C,CAAC,CAACxT,KAAF,GAAQ+d,CAAC,CAACwpC,KAAV,GAAgBppC,CAAjC;AAAmCn6B,UAAAA,IAAI,EAAC,UAAxC;AAAmD,cAAGmG,CAAC,IAAE;AAACjX,YAAAA,MAAM,EAACiX;AAAR,WAAN;AAAnD,SAAR,CAA59C;AAA0iDotT,QAAAA,uBAAuB,EAAC/jS,CAAC,KAAG;AAACk0C,UAAAA,GAAG,EAAC5pC,CAAC,CAACtK,CAAD,CAAN;AAAUo0C,UAAAA,IAAI,EAACp0C,CAAC,CAACo0C,IAAF,GAAOzpC,CAAtB;AAAwBn6B,UAAAA,IAAI,EAAC,UAA7B;AAAwC,cAAGmG,CAAC,IAAE;AAACjX,YAAAA,MAAM,EAACiX;AAAR,WAAN;AAAxC,SAAH,CAAnkD;AAAioDqtT,QAAAA,6BAA6B,EAAC,CAAChkS,CAAD,EAAGuK,CAAH,MAAQ;AAAC2pC,UAAAA,GAAG,EAAC5pC,CAAC,CAACtK,CAAD,CAAN;AAAUo0C,UAAAA,IAAI,EAACp0C,CAAC,CAACo0C,IAAF,GAAO,MAAI7pC,CAAC,CAACwpC,KAAb,GAAmBppC,CAAlC;AAAoCn6B,UAAAA,IAAI,EAAC,WAAzC;AAAqD,cAAGmG,CAAC,IAAE;AAACjX,YAAAA,MAAM,EAACiX;AAAR,WAAN;AAArD,SAAR,CAA/pD;AAA+uDstT,QAAAA,mBAAmB,EAAC,CAACjkS,CAAD,EAAG2K,CAAH,MAAQ;AAACupC,UAAAA,GAAG,EAAC5pC,CAAC,CAACtK,CAAD,CAAN;AAAUo0C,UAAAA,IAAI,EAACp0C,CAAC,CAACo0C,IAAF,GAAOzpC,CAAC,CAACopC,KAAF,GAAQ,CAA9B;AAAgCvjE,UAAAA,IAAI,EAAC,SAArC;AAA+C,cAAGmG,CAAC,IAAE;AAACjX,YAAAA,MAAM,EAACiX;AAAR,WAAN;AAA/C,SAAR,CAAnwD;AAA60DutT,QAAAA,6BAA6B,EAAC,CAAClkS,CAAD,EAAGuK,CAAH,MAAQ;AAAC2pC,UAAAA,GAAG,EAAC5pC,CAAC,CAACtK,CAAD,CAAN;AAAUo0C,UAAAA,IAAI,EAACp0C,CAAC,CAACo0C,IAAF,GAAO,MAAI7pC,CAAC,CAACwpC,KAAb,GAAmBppC,CAAlC;AAAoCn6B,UAAAA,IAAI,EAAC,WAAzC;AAAqD,cAAGmG,CAAC,IAAE;AAACjX,YAAAA,MAAM,EAACiX;AAAR,WAAN;AAArD,SAAR,CAA32D;AAA27DwtT,QAAAA,uBAAuB,EAAC,CAACnkS,CAAD,EAAGuK,CAAH,MAAQ;AAAC2pC,UAAAA,GAAG,EAAC5pC,CAAC,CAACtK,CAAD,CAAN;AAAUo0C,UAAAA,IAAI,EAACp0C,CAAC,CAACo0C,IAAF,GAAO7pC,CAAC,CAACwpC,KAAT,GAAeppC,CAA9B;AAAgCn6B,UAAAA,IAAI,EAAC,UAArC;AAAgD,cAAGmG,CAAC,IAAE;AAACjX,YAAAA,MAAM,EAACiX;AAAR,WAAN;AAAhD,SAAR,CAAn9D;AAA8hEurT,QAAAA,mBAAmB,EAACliS,CAAC,KAAG;AAACk0C,UAAAA,GAAG,EAAC5pC,CAAC,CAACtK,CAAD,CAAN;AAAUo0C,UAAAA,IAAI,EAACp0C,CAAC,CAACo0C,IAAF,GAAOp0C,CAAC,CAAC+zC,KAAF,GAAQ,CAAf,GAAiBppC,CAAhC;AAAkCn6B,UAAAA,IAAI,EAAC,UAAvC;AAAkD,cAAGmG,CAAC,IAAE;AAACjX,YAAAA,MAAM,EAACiX;AAAR,WAAN;AAAlD,SAAH,CAAnjE;AAA2nEqrT,QAAAA,yBAAyB,EAAC,CAAChiS,CAAD,EAAGuK,CAAH,MAAQ;AAAC2pC,UAAAA,GAAG,EAAC5pC,CAAC,CAACtK,CAAD,CAAN;AAAUo0C,UAAAA,IAAI,EAACp0C,CAAC,CAACo0C,IAAF,GAAOp0C,CAAC,CAAC+zC,KAAF,GAAQ,CAAf,GAAiB,MAAIxpC,CAAC,CAACwpC,KAAvB,GAA6BppC,CAA5C;AAA8Cn6B,UAAAA,IAAI,EAAC,WAAnD;AAA+D,cAAGmG,CAAC,IAAE;AAACjX,YAAAA,MAAM,EAACiX;AAAR,WAAN;AAA/D,SAAR,CAArpE;AAA+uEorT,QAAAA,eAAe,EAAC,CAAC/hS,CAAD,EAAG2K,CAAH,MAAQ;AAACupC,UAAAA,GAAG,EAAC5pC,CAAC,CAACtK,CAAD,CAAN;AAAUo0C,UAAAA,IAAI,EAACp0C,CAAC,CAACo0C,IAAF,GAAOp0C,CAAC,CAAC+zC,KAAF,GAAQ,CAAf,GAAiBppC,CAAC,CAACopC,KAAF,GAAQ,CAAxC;AAA0CvjE,UAAAA,IAAI,EAAC,SAA/C;AAAyD,cAAGmG,CAAC,IAAE;AAACjX,YAAAA,MAAM,EAACiX;AAAR,WAAN;AAAzD,SAAR,CAA/vE;AAAm1EsrT,QAAAA,yBAAyB,EAAC,CAACjiS,CAAD,EAAGuK,CAAH,MAAQ;AAAC2pC,UAAAA,GAAG,EAAC5pC,CAAC,CAACtK,CAAD,CAAN;AAAUo0C,UAAAA,IAAI,EAACp0C,CAAC,CAACo0C,IAAF,GAAOp0C,CAAC,CAAC+zC,KAAF,GAAQ,CAAf,GAAiB,MAAIxpC,CAAC,CAACwpC,KAAvB,GAA6BppC,CAA5C;AAA8Cn6B,UAAAA,IAAI,EAAC,WAAnD;AAA+D,cAAGmG,CAAC,IAAE;AAACjX,YAAAA,MAAM,EAACiX;AAAR,WAAN;AAA/D,SAAR,CAA72E;AAAu8EwrT,QAAAA,mBAAmB,EAAC,CAACniS,CAAD,EAAGuK,CAAH,MAAQ;AAAC2pC,UAAAA,GAAG,EAAC5pC,CAAC,CAACtK,CAAD,CAAN;AAAUo0C,UAAAA,IAAI,EAACp0C,CAAC,CAACo0C,IAAF,GAAOp0C,CAAC,CAAC+zC,KAAF,GAAQ,CAAf,GAAiBxpC,CAAC,CAACwpC,KAAnB,GAAyBppC,CAAxC;AAA0Cn6B,UAAAA,IAAI,EAAC,UAA/C;AAA0D,cAAGmG,CAAC,IAAE;AAACjX,YAAAA,MAAM,EAACiX;AAAR,WAAN;AAA1D,SAAR,CAA39E;AAAgjFytT,QAAAA,uBAAuB,EAACpkS,CAAC,KAAG;AAACk0C,UAAAA,GAAG,EAAC5pC,CAAC,CAACtK,CAAD,CAAN;AAAUo0C,UAAAA,IAAI,EAACp0C,CAAC,CAACxT,KAAF,GAAQme,CAAvB;AAAyBn6B,UAAAA,IAAI,EAAC,UAA9B;AAAyC,cAAGmG,CAAC,IAAE;AAACjX,YAAAA,MAAM,EAACiX;AAAR,WAAN;AAAzC,SAAH,CAAzkF;AAAwoF0tT,QAAAA,6BAA6B,EAAC,CAACrkS,CAAD,EAAGuK,CAAH,MAAQ;AAAC2pC,UAAAA,GAAG,EAAC5pC,CAAC,CAACtK,CAAD,CAAN;AAAUo0C,UAAAA,IAAI,EAACp0C,CAAC,CAACxT,KAAF,GAAQ,MAAI+d,CAAC,CAACwpC,KAAd,GAAoBppC,CAAnC;AAAqCn6B,UAAAA,IAAI,EAAC,WAA1C;AAAsD,cAAGmG,CAAC,IAAE;AAACjX,YAAAA,MAAM,EAACiX;AAAR,WAAN;AAAtD,SAAR,CAAtqF;AAAuvF2tT,QAAAA,mBAAmB,EAAC,CAACtkS,CAAD,EAAG2K,CAAH,MAAQ;AAACupC,UAAAA,GAAG,EAAC5pC,CAAC,CAACtK,CAAD,CAAN;AAAUo0C,UAAAA,IAAI,EAACp0C,CAAC,CAACxT,KAAF,GAAQme,CAAC,CAACopC,KAAF,GAAQ,CAA/B;AAAiCvjE,UAAAA,IAAI,EAAC,SAAtC;AAAgD,cAAGmG,CAAC,IAAE;AAACjX,YAAAA,MAAM,EAACiX;AAAR,WAAN;AAAhD,SAAR,CAA3wF;AAAs1F4tT,QAAAA,6BAA6B,EAAC,CAACvkS,CAAD,EAAGuK,CAAH,MAAQ;AAAC2pC,UAAAA,GAAG,EAAC5pC,CAAC,CAACtK,CAAD,CAAN;AAAUo0C,UAAAA,IAAI,EAACp0C,CAAC,CAACxT,KAAF,GAAQ,MAAI+d,CAAC,CAACwpC,KAAd,GAAoBppC,CAAnC;AAAqCn6B,UAAAA,IAAI,EAAC,WAA1C;AAAsD,cAAGmG,CAAC,IAAE;AAACjX,YAAAA,MAAM,EAACiX;AAAR,WAAN;AAAtD,SAAR,CAAp3F;AAAq8F6tT,QAAAA,uBAAuB,EAAC,CAACxkS,CAAD,EAAGuK,CAAH,MAAQ;AAAC2pC,UAAAA,GAAG,EAAC5pC,CAAC,CAACtK,CAAD,CAAN;AAAUo0C,UAAAA,IAAI,EAACp0C,CAAC,CAACxT,KAAF,GAAQ+d,CAAC,CAACwpC,KAAV,GAAgBppC,CAA/B;AAAiCn6B,UAAAA,IAAI,EAAC,UAAtC;AAAiD,cAAGmG,CAAC,IAAE;AAACjX,YAAAA,MAAM,EAACiX;AAAR,WAAN;AAAjD,SAAR,CAA79F;AAAyiG8tT,QAAAA,aAAa,EAAC,CAACzkS,CAAD,EAAG2K,CAAH,MAAQ;AAACupC,UAAAA,GAAG,EAACl0C,CAAC,CAACk0C,GAAF,GAAMl0C,CAAC,CAACi0C,MAAF,GAAS,CAAf,GAAiBtpC,CAAC,CAACspC,MAAF,GAAS,CAA/B;AAAiCG,UAAAA,IAAI,EAACp0C,CAAC,CAACo0C,IAAF,GAAOzpC,CAAC,CAACopC,KAAT,GAAexpC,CAArD;AAAuD/5B,UAAAA,IAAI,EAAC,SAA5D;AAAsE,cAAGmG,CAAC,IAAE;AAACjX,YAAAA,MAAM,EAACiX;AAAR,WAAN;AAAtE,SAAR,CAAvjG;AAAwpG+tT,QAAAA,aAAa,EAAC,CAAC1kS,CAAD,EAAG2K,CAAH,MAAQ;AAACupC,UAAAA,GAAG,EAACl0C,CAAC,CAACk0C,GAAF,GAAMl0C,CAAC,CAACi0C,MAAF,GAAS,CAAf,GAAiBtpC,CAAC,CAACspC,MAAF,GAAS,CAA/B;AAAiCG,UAAAA,IAAI,EAACp0C,CAAC,CAACxT,KAAF,GAAQ+d,CAA9C;AAAgD/5B,UAAAA,IAAI,EAAC,SAArD;AAA+D,cAAGmG,CAAC,IAAE;AAACjX,YAAAA,MAAM,EAACiX;AAAR,WAAN;AAA/D,SAAR,CAAtqG;AAAgwG8rT,QAAAA,mBAAmB,EAAC,CAACziS,CAAD,EAAG2K,CAAH,EAAKJ,CAAL,EAAOkC,CAAP,KAAW;AAAC,gBAAMnC,CAAC,GAACmC,CAAC,IAAElC,CAAX;AAAa,iBAAOvK,CAAC,CAACw1O,eAAF,CAAkBlrO,CAAlB,IAAqBA,CAAC,CAAC2pC,MAAF,GAASj0C,CAAC,CAACi0C,MAAX,GAAkB1nC,CAAlB,GAAoB,IAApB,GAAyB;AAAC2nC,YAAAA,GAAG,EAAC5pC,CAAC,CAAC4pC,GAAF,GAAM3nC,CAAX;AAAa6nC,YAAAA,IAAI,EAACp0C,CAAC,CAACo0C,IAAF,GAAOp0C,CAAC,CAAC+zC,KAAF,GAAQ,CAAf,GAAiBppC,CAAC,CAACopC,KAAF,GAAQ,CAA3C;AAA6CvjE,YAAAA,IAAI,EAAC,WAAlD;AAA8D9Q,YAAAA,MAAM,EAAC;AAAC8hU,cAAAA,SAAS,EAAC,CAAC,CAAZ;AAAc,iBAAG7qT;AAAjB;AAArE,WAA9C,GAAwI,IAA/I;AAAoJ;AAAj8G,OAAN;;AAAy8G,eAAS81B,CAAT,CAAWzM,CAAX,EAAa2K,CAAb,EAAe;AAAC,eAAO3K,CAAC,CAACk0C,GAAF,GAAMvpC,CAAC,CAACspC,MAAR,GAAe1pC,CAAtB;AAAwB;;AAAA,eAASD,CAAT,CAAWtK,CAAX,EAAa;AAAC,eAAOA,CAAC,CAACy0O,MAAF,GAASlqO,CAAhB;AAAkB;AAAC;;AAAAk3R,IAAAA,EAAE,CAACwB,eAAH,GAAmB,EAAnB,EAAsBxB,EAAE,CAAC0B,iBAAH,GAAqB,EAA3C,EAA8C1B,EAAE,CAAC2B,oBAAH,GAAwB,EAAtE,EAAyE3B,EAAE,CAACl6C,mBAAH,GAAuBtP,EAAhG,EAAmGwpD,EAAE,CAACK,gBAAH,GAAoBiB,EAAE,EAAzH;AAA4H,QAAI4B,EAAE,GAACp6R,CAAC,CAAC,IAAD,CAAR;AAAA,QAAeq6R,EAAE,GAAC;AAAC3lD,MAAAA,UAAU,EAAC,mBAAZ;AAAgCh7J,MAAAA,UAAU,EAAC;AAAC,oBAAW,CAAC;AAAb,OAA3C;AAA2DqC,MAAAA,MAAM,EAAC,MAAlE;AAAyEy9I,MAAAA,SAAS,EAAC,CAAC;AAApF,KAAlB;AAAyG+a,IAAAA,EAAE,GAAG6lD,EAAE,CAACpiE,CAAN,EAAQqiE,EAAR,CAAF;AAAcD,IAAAA,EAAE,CAACpiE,CAAH,CAAK2c,MAAL;AAAY,UAAMh8I,EAAE,GAAC,YAAT;;AAAsB,UAAM2hM,EAAN,SAAiBzxD,EAAE,EAAnB,CAAsB;AAAC3zQ,MAAAA,WAAW,CAACugC,CAAD,EAAG;AAAC,YAAG,SAAQ,KAAK8kS,0BAAL,GAAgC,IAAxC,EAA6C,KAAKC,uBAAL,GAA6B,IAA1E,EAA+E,KAAKC,eAAL,GAAqB,IAApG,EAAyGH,EAAE,CAACI,QAAH,CAAYrwS,GAAZ,CAAgBoL,CAAhB,CAAzG,EAA4H6kS,EAAE,CAACK,SAAlI,EAA4I,OAAOL,EAAE,CAACK,SAAV;AAAoBL,QAAAA,EAAE,CAACK,SAAH,GAAa,IAAb,EAAkB,KAAKC,eAAL,GAAqB,IAAIhmD,EAAJ,CAAOn/O,CAAC,CAACm3L,MAAT,CAAvC,EAAwD,KAAKguG,eAAL,CAAqBrgS,GAArB,CAAyB,MAAzB,EAAgC,EAAhC,CAAxD,EAA4F,KAAKqgS,eAAL,CAAqBvlD,WAArB,CAAiC;AAACsB,UAAAA,GAAG,EAAC,MAAL;AAAYj9J,UAAAA,UAAU,EAAC;AAACm/J,YAAAA,KAAK,EAAC,CAAC,IAAD,EAAM,kBAAN;AAAP,WAAvB;AAAyD97Q,UAAAA,QAAQ,EAAC,CAAC;AAACyqI,YAAAA,IAAI,EAAC,KAAKozL,eAAL,CAAqB5lD,YAArB,CAAkC9yF,EAAlC,CAAqC,MAArC;AAAN,WAAD;AAAlE,SAAjC,CAA5F,EAAuP,KAAK24I,gBAAL,GAAsB,IAAI3D,EAAJ,CAAOzhS,CAAC,CAACm3L,MAAT,CAA7Q,EAA8R,KAAKiuG,gBAAL,CAAsBhiD,KAAtB,GAA4BlgJ,EAA1T,EAA6T,KAAKkiM,gBAAL,CAAsBrhN,OAAtB,CAA8BnvF,GAA9B,CAAkC,KAAKuwS,eAAvC,CAA7T,EAAqX,KAAKE,oBAAL,GAA0Bn8B,EAAE,CAAC,KAAKo8B,WAAN,EAAkB,GAAlB,CAAjZ,EAAwa,KAAK9/D,QAAL,CAAc0O,EAAE,CAACxyO,QAAjB,EAA0B,YAA1B,EAAuC,KAAK6jS,eAAL,CAAqBxwS,IAArB,CAA0B,IAA1B,CAAvC,EAAuE;AAACu4I,UAAAA,UAAU,EAAC,CAAC;AAAb,SAAvE,CAAxa,EAAggB,KAAKk4F,QAAL,CAAc0O,EAAE,CAACxyO,QAAjB,EAA0B,YAA1B,EAAuC,KAAK8jS,cAAL,CAAoBzwS,IAApB,CAAyB,IAAzB,CAAvC,EAAsE;AAACu4I,UAAAA,UAAU,EAAC,CAAC;AAAb,SAAtE,CAAhgB,EAAulB,KAAKk4F,QAAL,CAAc0O,EAAE,CAACxyO,QAAjB,EAA0B,OAA1B,EAAkC,KAAK6jS,eAAL,CAAqBxwS,IAArB,CAA0B,IAA1B,CAAlC,EAAkE;AAACu4I,UAAAA,UAAU,EAAC,CAAC;AAAb,SAAlE,CAAvlB,EAA0qB,KAAKk4F,QAAL,CAAc0O,EAAE,CAACxyO,QAAjB,EAA0B,MAA1B,EAAiC,KAAK8jS,cAAL,CAAoBzwS,IAApB,CAAyB,IAAzB,CAAjC,EAAgE;AAACu4I,UAAAA,UAAU,EAAC,CAAC;AAAb,SAAhE,CAA1qB,EAA2vB,KAAKk4F,QAAL,CAAc0O,EAAE,CAACxyO,QAAjB,EAA0B,QAA1B,EAAmC,KAAK+jS,SAAL,CAAe1wS,IAAf,CAAoB,IAApB,CAAnC,EAA6D;AAACu4I,UAAAA,UAAU,EAAC,CAAC;AAAb,SAA7D,CAA3vB,EAAy0B,KAAKhkD,iBAAL,GAAuB,CAAC,CAAj2B;AAAm2B;;AAAA3K,MAAAA,OAAO,CAAC3+E,CAAD,EAAG;AAAC,cAAM2K,CAAC,GAAC3K,CAAC,CAACklF,EAAF,CAAK4wF,IAAL,IAAW91K,CAAC,CAACklF,EAAF,CAAK4wF,IAAL,CAAUz+L,IAA7B;AAAkCwtT,QAAAA,EAAE,CAACI,QAAH,CAAYrwR,MAAZ,CAAmB5U,CAAnB,GAAsB,KAAK0lO,aAAL,CAAmB1lO,CAAC,CAACklF,EAArB,CAAtB,EAA+Cv6E,CAAC,IAAEA,CAAC,CAACmkB,GAAF,CAAM,KAAKs2Q,gBAAX,CAAH,IAAiCz6R,CAAC,CAACs1E,MAAF,CAAS,KAAKmlN,gBAAd,CAAhF,EAAgHP,EAAE,CAACI,QAAH,CAAY9yN,IAAZ,KAAmB,KAAKuzN,aAAL,IAAqB,KAAKN,gBAAL,CAAsBzmN,OAAtB,EAArB,EAAqD,KAAK+mJ,aAAL,EAArD,EAA0Em/D,EAAE,CAACK,SAAH,GAAa,IAA1G,CAAhH;AAAgO;;AAA8B,aAAvBS,uBAAuB,CAAC3lS,CAAD,EAAG;AAAC,cAAM2K,CAAC,GAACk6R,EAAE,CAACe,uBAAX;AAAmC,eAAM;AAACt7R,UAAAA,CAAC,EAAC,CAACK,CAAC,CAACo3R,eAAH,EAAmBp3R,CAAC,CAACw3R,mBAArB,EAAyCx3R,CAAC,CAACu3R,mBAA3C,CAAH;AAAmE33R,UAAAA,CAAC,EAAC,CAACI,CAAC,CAACy3R,eAAH,CAArE;AAAyFz3R,UAAAA,CAAC,EAAC,CAACA,CAAC,CAAC+5R,aAAH,CAA3F;AAA6Gt2J,UAAAA,CAAC,EAAC,CAACzjI,CAAC,CAAC85R,aAAH,CAA/G;AAAiItwG,UAAAA,EAAE,EAAC,CAACxpL,CAAC,CAACw3R,mBAAH,CAApI;AAA4JtuG,UAAAA,EAAE,EAAC,CAAClpL,CAAC,CAACu3R,mBAAH;AAA/J,UAAwLliS,CAAxL,CAAN;AAAiM;;AAAAulS,MAAAA,eAAe,CAACvlS,CAAD,EAAG;AAAC4tB,QAAAA,MAAM,EAACjjB;AAAR,OAAH,EAAc;AAAC,cAAMJ,CAAC,GAACs7R,EAAE,CAACl7R,CAAD,CAAV;AAAc,YAAI4B,CAAJ;AAAMhC,QAAAA,CAAC,IAAGA,CAAC,KAAG,KAAKu6R,0BAAT,KAAsC,KAAKY,aAAL,IAAqB,KAAKL,oBAAL,CAA0B96R,CAA1B,EAA4B;AAACwnG,UAAAA,IAAI,EAAC,CAACxlG,CAAC,GAAChC,CAAH,EAAMi0P,OAAN,CAAcsnC,cAApB;AAAmCh2T,UAAAA,QAAQ,EAACy8B,CAAC,CAACiyP,OAAF,CAAUunC,kBAAV,IAA8B,GAA1E;AAA8EC,UAAAA,QAAQ,EAACz5R,CAAC,CAACiyP,OAAF,CAAUynC,eAAV,IAA2B;AAAlH,SAA5B,CAA3D,CAAJ;AAAoN;;AAAAT,MAAAA,cAAc,CAACxlS,CAAD,EAAG;AAAC4tB,QAAAA,MAAM,EAACjjB,CAAR;AAAU0jQ,QAAAA,aAAa,EAAC9jQ;AAAxB,OAAH,EAA8B;AAAC,YAAG,iBAAevK,CAAC,CAACxvB,IAApB,EAAyB;AAAC,cAAG,CAAC+hQ,EAAE,CAAC5nO,CAAD,CAAN,EAAU;AAAO,cAAG,KAAKm6R,0BAAL,IAAiCn6R,CAAC,KAAG,KAAKm6R,0BAA7C,EAAwE;AAAO,gBAAM9kS,CAAC,GAAC6lS,EAAE,CAACl7R,CAAD,CAAV;AAAA,gBAAc4B,CAAC,GAACs5R,EAAE,CAACt7R,CAAD,CAAlB;AAAsBvK,UAAAA,CAAC,IAAEA,CAAC,KAAGuM,CAAP,IAAU,KAAKm5R,aAAL,EAAV;AAA+B,SAA/K,MAAmL;AAAC,cAAG,KAAKZ,0BAAL,IAAiCn6R,CAAC,KAAG,KAAKm6R,0BAA7C,EAAwE;;AAAO,eAAKY,aAAL;AAAqB;AAAC;;AAAAD,MAAAA,SAAS,CAACzlS,CAAD,EAAG;AAAC4tB,QAAAA,MAAM,EAACjjB;AAAR,OAAH,EAAc;AAAC,aAAKm6R,0BAAL,KAAkCn6R,CAAC,CAACs/M,QAAF,CAAW,KAAKm7E,gBAAL,CAAsBp8S,OAAjC,KAA2C2hB,CAAC,CAACs/M,QAAF,CAAW,KAAK66E,0BAAhB,CAA3C,IAAwF,KAAKY,aAAL,EAA1H;AAAgJ;;AAAAJ,MAAAA,WAAW,CAACtlS,CAAD,EAAG;AAAC+xG,QAAAA,IAAI,EAACpnG,CAAN;AAAQ76B,QAAAA,QAAQ,EAACy6B,CAAjB;AAAmBy7R,QAAAA,QAAQ,EAACz5R;AAA5B,OAAH,EAAkC;AAAC,cAAM51B,CAAC,GAAC2mQ,EAAE,CAACunD,EAAE,CAACI,QAAH,CAAY5jR,MAAZ,EAAD,CAAF,CAAyB6jE,EAAzB,CAA4B4wF,IAA5B,CAAiCz+L,IAAzC;AAA8CV,QAAAA,CAAC,CAACm4C,GAAF,CAAM,KAAKs2Q,gBAAX,KAA8BzuT,CAAC,CAACie,GAAF,CAAM,KAAKwwS,gBAAX,CAA9B,EAA2D,KAAKD,eAAL,CAAqBpzL,IAArB,GAA0BpnG,CAArF,EAAuF,KAAKy6R,gBAAL,CAAsB1C,GAAtB,CAA0B;AAAC90Q,UAAAA,MAAM,EAAC5tB,CAAR;AAAUk4O,UAAAA,SAAS,EAAC2sD,EAAE,CAACc,uBAAH,CAA2Bp7R,CAA3B;AAApB,SAA1B,CAAvF,EAAqK,KAAKy6R,eAAL,GAAqB,IAAIruD,EAAJ,CAAO32O,CAAP,EAAU,MAAI;AAACg4O,UAAAA,EAAE,CAACh4O,CAAD,CAAF,IAAO,KAAK0lS,aAAL,EAAP;AAA4B,SAA3C,CAA1L,EAAwO,KAAKN,gBAAL,CAAsBhiD,KAAtB,GAA4B,CAAClgJ,EAAD,EAAI32F,CAAJ,EAAO5iC,MAAP,CAAeq2B,CAAC,IAAEA,CAAlB,EAAsBjzB,IAAtB,CAA2B,GAA3B,CAApQ;;AAAoS,aAAI,MAAMizB,CAAV,IAAe6kS,EAAE,CAACI,QAAlB,EAA2B,KAAKz/D,QAAL,CAAcxlO,CAAC,CAACklF,EAAhB,EAAmB,QAAnB,EAA4B,KAAKghN,sBAAL,CAA4BnxS,IAA5B,CAAiC,IAAjC,CAA5B,EAAmE;AAAC4wF,UAAAA,QAAQ,EAAC;AAAV,SAAnE;;AAAqF,aAAKm/M,0BAAL,GAAgC9kS,CAAhC,EAAkC,KAAK+kS,uBAAL,GAA6Bx6R,CAA/D;AAAiE;;AAAAm7R,MAAAA,aAAa,GAAE;AAAC,aAAKL,oBAAL,CAA0B/hN,MAA1B,IAAmC,KAAK8hN,gBAAL,CAAsBzC,KAAtB,EAAnC;;AAAiE,aAAI,MAAM3iS,CAAV,IAAe6kS,EAAE,CAACI,QAAlB,EAA2B,KAAKv/D,aAAL,CAAmB1lO,CAAC,CAACklF,EAArB,EAAwB,QAAxB;;AAAkC,aAAK4/M,0BAAL,GAAgC,IAAhC,EAAqC,KAAKC,uBAAL,GAA6B,IAAlE,EAAuE,KAAKC,eAAL,IAAsB,KAAKA,eAAL,CAAqBrmN,OAArB,EAA7F;AAA4H;;AAAAunN,MAAAA,sBAAsB,GAAE;AAACluD,QAAAA,EAAE,CAAC,KAAK8sD,0BAAN,CAAF,GAAoC,KAAKM,gBAAL,CAAsB1C,GAAtB,CAA0B;AAAC90Q,UAAAA,MAAM,EAAC,KAAKk3Q,0BAAb;AAAwC5sD,UAAAA,SAAS,EAAC2sD,EAAE,CAACc,uBAAH,CAA2B,KAAKZ,uBAAhC;AAAlD,SAA1B,CAApC,GAA2K,KAAKW,aAAL,EAA3K;AAAgM;;AAA9yG;;AAA+yG,aAASG,EAAT,CAAY7lS,CAAZ,EAAc;AAAC,aAAOuyO,EAAE,CAACvyO,CAAD,CAAF,GAAMA,CAAC,CAACq/K,OAAF,CAAU,0DAAV,CAAN,GAA4E,IAAnF;AAAwF;;AAAAwlH,IAAAA,EAAE,CAACe,uBAAH,GAA2B7C,EAAE,CAAC;AAACG,MAAAA,YAAY,EAAC,CAAd;AAAgBF,MAAAA,UAAU,EAAC;AAA3B,KAAD,CAA7B,EAA8D6B,EAAE,CAACI,QAAH,GAAY,IAAIpzN,GAAJ,EAA1E,EAAkFgzN,EAAE,CAACK,SAAH,GAAa,IAA/F;;AAAoG,UAAMiB,EAAE,GAAC,UAASnmS,CAAT,EAAW2K,CAAX,EAAaJ,CAAb,EAAe;AAAC,UAAIgC,CAAC,GAAC,CAAC,CAAP;AAAA,UAAS51B,CAAC,GAAC,CAAC,CAAZ;AAAc,UAAG,cAAY,OAAOqpB,CAAtB,EAAwB,MAAM,IAAIqM,SAAJ,CAAc,qBAAd,CAAN;AAA2C,aAAO44K,CAAC,CAAC16K,CAAD,CAAD,KAAOgC,CAAC,GAAC,aAAYhC,CAAZ,GAAc,CAAC,CAACA,CAAC,CAAC4+P,OAAlB,GAA0B58P,CAA5B,EAA8B51B,CAAC,GAAC,cAAa4zB,CAAb,GAAe,CAAC,CAACA,CAAC,CAAC8+P,QAAnB,GAA4B1yR,CAAnE,GAAsEuyR,EAAE,CAAClpQ,CAAD,EAAG2K,CAAH,EAAK;AAACw+P,QAAAA,OAAO,EAAC58P,CAAT;AAAW68P,QAAAA,OAAO,EAACz+P,CAAnB;AAAqB0+P,QAAAA,QAAQ,EAAC1yR;AAA9B,OAAL,CAA/E;AAAsH,KAAhO;AAAA,UAAiOyvT,EAAE,GAAC,EAApO;AAAA,UAAuOC,EAAE,GAAC,GAA1O;AAAA,UAA8OC,EAAE,GAAC,YAAjP;;AAA8P,UAAMC,EAAN,SAAiBnzD,EAAE,EAAnB,CAAsB;AAAC3zQ,MAAAA,WAAW,CAACugC,CAAD,EAAG;AAAC,iBAAQ,KAAKgiF,MAAL,GAAYhiF,CAApB,EAAsB,KAAKwmS,YAAL,GAAkB,IAAxC,EAA6C,KAAKC,2BAAL,GAAiC,IAA9E,EAAmF,KAAKC,qBAAL,GAA2BP,EAAE,CAAC,KAAKQ,YAAL,CAAkB5xS,IAAlB,CAAuB,IAAvB,CAAD,EAA8B,EAA9B,EAAiC;AAACo0Q,UAAAA,OAAO,EAAC,CAAC;AAAV,SAAjC,CAAhH,EAA+JnpQ,CAAC,CAACve,EAAF,CAAK,OAAL,EAAa,KAAKmlT,kBAAL,CAAwB7xS,IAAxB,CAA6B,IAA7B,CAAb,CAA/J;AAAgN;;AAAA4pF,MAAAA,OAAO,GAAE;AAAC,cAAM3+E,CAAC,GAAC,KAAKwmS,YAAb;AAA0BxmS,QAAAA,CAAC,KAAGA,CAAC,CAAC2iS,KAAF,IAAU,KAAK6D,YAAL,GAAkB,IAA/B,CAAD,EAAsC,KAAKE,qBAAL,CAA2BpjN,MAA3B,EAAtC,EAA0E,KAAKoiJ,aAAL,EAA1E;AAA+F;;AAAAkhE,MAAAA,kBAAkB,GAAE;AAAC,cAAM5mS,CAAC,GAAC,KAAKgiF,MAAb;AAAoB,SAAC,CAAC,CAAChiF,CAAC,CAACtgC,MAAF,CAASe,GAAT,CAAa,2BAAb,CAAF,IAA6C,YAAU,UAASu/B,CAAT,EAAW;AAAC,mBAAS2K,CAAT,CAAW3K,CAAX,EAAa;AAAC,mBAAOA,CAAC,CAACrzB,MAAF,IAAU,EAAV,IAAcqzB,CAAC,CAACrzB,MAAF,IAAU,GAAxB,GAA4B,OAA5B,GAAoC,SAA3C;AAAqD;;AAAA,cAAG,CAACqzB,CAAJ,EAAM,OAAM,SAAN;AAAgB,cAAIuK,CAAC,GAAC,EAAN;;AAAS,cAAG;AAACA,YAAAA,CAAC,GAACu4N,IAAI,CAAC9iO,CAAD,CAAN;AAAU,WAAd,CAAc,OAAMA,CAAN,EAAQ;AAAC,mBAAM,SAAN;AAAgB;;AAAA,gBAAMuM,CAAC,GAAChC,CAAC,CAACxrB,KAAF,CAAQ,GAAR,CAAR;AAAA,gBAAqBpI,CAAC,GAAC41B,CAAC,CAAC,CAAD,CAAxB;AAAA,gBAA4BE,CAAC,GAACF,CAAC,CAAC,CAAD,CAA/B;AAAmC,cAAG,CAACE,CAAJ,EAAM,OAAO9B,CAAC,CAAC3K,CAAD,CAAR;;AAAY,cAAG;AAAC8iO,YAAAA,IAAI,CAACr2N,CAAD,CAAJ;AAAQ,WAAZ,CAAY,OAAMlC,CAAN,EAAQ;AAAC,gBAAG;AAAC,kBAAGu4N,IAAI,CAACnsP,CAAD,CAAJ,EAAQ,CAACmsP,IAAI,CAACnsP,CAAD,CAAJ,CAAQhK,MAApB,EAA2B,OAAOg+B,CAAC,CAAC3K,CAAD,CAAR;AAAY,aAA3C,CAA2C,OAAMuK,CAAN,EAAQ;AAAC,qBAAOI,CAAC,CAAC3K,CAAD,CAAR;AAAY;AAAC;;AAAA,cAAGrpB,CAAC,CAAChK,MAAF,GAAS,EAAT,IAAagK,CAAC,CAAChK,MAAF,GAAS,GAAzB,EAA6B,OAAM,SAAN;AAAgB,cAAI29B,CAAC,GAAC,EAAN;;AAAS,cAAG;AAACw4N,YAAAA,IAAI,CAACnsP,CAAD,CAAJ,EAAQ2zB,CAAC,GAACw4N,IAAI,CAACr2N,CAAD,CAAd;AAAkB,WAAtB,CAAsB,OAAMzM,CAAN,EAAQ;AAAC,mBAAM,SAAN;AAAgB;;AAAA,cAAG,MAAIsK,CAAC,CAAC39B,MAAT,EAAgB,OAAM,SAAN;AAAgB,gBAAMy1E,CAAC,GAAC3uD,MAAM,CAAC6W,CAAC,CAACkd,SAAF,CAAY,CAAZ,EAAc,CAAd,CAAD,CAAd;AAAA,gBAAiCm2H,CAAC,GAAClqJ,MAAM,CAAC6W,CAAC,CAACkd,SAAF,CAAY,CAAZ,EAAc,CAAd,CAAD,CAAN,GAAyB,CAA5D;AAAA,gBAA8D0kK,CAAC,GAACz4L,MAAM,CAAC6W,CAAC,CAACkd,SAAF,CAAY,CAAZ,EAAc,CAAd,CAAD,CAAtE;AAAA,gBAAyF5d,CAAC,GAAC,IAAIme,IAAJ,CAASq6B,CAAT,EAAWu7F,CAAX,EAAauuC,CAAb,CAA3F;AAA2G,iBAAOtiL,CAAC,GAACy7N,CAAF,IAAK3xO,KAAK,CAACD,MAAM,CAACmW,CAAD,CAAP,CAAV,GAAsB,SAAtB,GAAgC,OAAvC;AAA+C,SAA/jB,CAAgkB5J,CAAC,CAACtgC,MAAF,CAASe,GAAT,CAAa,YAAb,CAAhkB,CAAxD,KAAspBu/B,CAAC,CAACklF,EAAF,CAAK4wF,IAA3pB,KAAkqB91K,CAAC,CAACklF,EAAF,CAAK4gK,YAAL,CAAkBrkQ,EAAlB,CAAqB,kBAArB,EAAyC,CAACue,CAAD,EAAG2K,CAAH,EAAKJ,CAAL,KAAS;AAAC,eAAKs8R,iCAAL,IAAyCt8R,CAAC,GAAC,KAAKo8R,YAAL,EAAD,GAAqB,KAAKG,YAAL,EAA/D;AAAmF,SAAtI,GAAyI9mS,CAAC,CAACklF,EAAF,CAAK4gK,YAAL,CAAkBrkQ,EAAlB,CAAqB,uBAArB,EAA8C,CAACue,CAAD,EAAG2K,CAAH,EAAKJ,CAAL,KAAS;AAAC,eAAKs8R,iCAAL,IAAyCt8R,CAAC,IAAE,KAAKo8R,YAAL,EAA5C;AAAgE,SAAxH,CAAzI,EAAoQ3mS,CAAC,CAACklF,EAAF,CAAKzjG,EAAL,CAAQ,QAAR,EAAkB,MAAI;AAAC,eAAKilT,qBAAL;AAA6B,SAApD,CAAt6B;AAA89B;;AAAAK,MAAAA,kBAAkB,GAAE;AAAC,cAAM/mS,CAAC,GAAC,KAAKgiF,MAAb;AAAA,cAAoBr3E,CAAC,GAAC,KAAK67R,YAAL,GAAkB,IAAI/E,EAAJ,EAAxC;AAAA,cAA+Cl3R,CAAC,GAACy8R,EAAE,CAAChnS,CAAD,CAAnD;AAAA,cAAuDuM,CAAC,GAAC,IAAI06R,EAAJ,CAAOjnS,CAAC,CAACm3L,MAAT,EAAgB5sL,CAAC,CAACmB,KAAlB,CAAzD;AAAkFf,QAAAA,CAAC,CAACo5E,OAAF,CAAUnvF,GAAV,CAAc2X,CAAd,GAAiB5B,CAAC,CAAC7F,GAAF,CAAM;AAACs+O,UAAAA,KAAK,EAAC;AAAP,SAAN,CAAjB,EAAwDpjP,CAAC,CAACklF,EAAF,CAAK4wF,IAAL,CAAUz+L,IAAV,CAAeud,GAAf,CAAmB+V,CAAnB,CAAxD,EAA8E3K,CAAC,CAACklF,EAAF,CAAK4gK,YAAL,CAAkBlxP,GAAlB,CAAsB+V,CAAC,CAAC3hB,OAAxB,CAA9E,EAA+G,KAAKw9S,YAAL,GAAkB77R,CAAjI;AAAmI;;AAAAg8R,MAAAA,YAAY,GAAE;AAAC,YAAG,CAAC,KAAKF,2BAAT,EAAqC;;AAAO,cAAMzmS,CAAC,GAAC,UAASA,CAAT,EAAW2K,CAAX,EAAa;AAAC,gBAAMJ,CAAC,GAACy8R,EAAE,CAAChnS,CAAD,CAAV;AAAA,gBAAcuM,CAAC,GAAC,YAAUhC,CAAC,CAAC2+Q,IAAZ,GAAiB,UAASlpR,CAAT,EAAW2K,CAAX,EAAa;AAAC,mBAAOu8R,EAAE,CAAClnS,CAAD,EAAG2K,CAAH,EAAM,CAAC3K,CAAD,EAAGuK,CAAH,KAAOvK,CAAC,CAACo0C,IAAF,GAAOp0C,CAAC,CAAC+zC,KAAT,GAAexpC,CAAC,CAACwpC,KAAjB,GAAuBppC,CAAC,CAACw8R,gBAAtC,CAAT;AAAkE,WAAhF,CAAiFx8R,CAAjF,EAAmFJ,CAAnF,CAAjB,GAAuG,UAASvK,CAAT,EAAW2K,CAAX,EAAa;AAAC,mBAAOu8R,EAAE,CAAClnS,CAAD,EAAG2K,CAAH,EAAM3K,CAAC,IAAEA,CAAC,CAACo0C,IAAF,GAAOzpC,CAAC,CAACw8R,gBAAlB,CAAT;AAA8C,WAA5D,CAA6Dx8R,CAA7D,EAA+DJ,CAA/D,CAAvH;AAAyL,iBAAM;AAACqjB,YAAAA,MAAM,EAACjjB,CAAR;AAAUutO,YAAAA,SAAS,EAAC,CAAC3rO,CAAD;AAApB,WAAN;AAA+B,SAAtO,CAAuO,KAAKy1E,MAA5O,EAAmP,KAAKykN,2BAAxP,CAAR;;AAA6RzmS,QAAAA,CAAC,KAAG,KAAKwmS,YAAL,IAAmB,KAAKO,kBAAL,EAAnB,EAA6C,KAAKP,YAAL,CAAkB9D,GAAlB,CAAsB1iS,CAAtB,CAAhD,CAAD;AAA2E;;AAAA8mS,MAAAA,YAAY,GAAE;AAAC,aAAKN,YAAL,IAAmB,KAAKA,YAAL,CAAkB7D,KAAlB,EAAnB;AAA6C;;AAAAkE,MAAAA,iCAAiC,GAAE;AAAC,cAAM7mS,CAAC,GAAC,KAAKgiF,MAAb;AAAA,cAAoBr3E,CAAC,GAAC3K,CAAC,CAACklF,EAAF,CAAK4gK,YAAL,CAAkBlI,SAAxC;AAAA,cAAkDrzO,CAAC,GAACvK,CAAC,CAACklF,EAAF,CAAK4gK,YAAL,CAAkBnI,cAAtE;AAAqF,YAAG,CAAChzO,CAAD,IAAI,CAACJ,CAAR,EAAU,OAAO,MAAK,KAAKk8R,2BAAL,GAAiC,IAAtC,CAAP;AAAmD,cAAMl6R,CAAC,GAACpH,KAAK,CAAC7H,IAAN,CAAW0C,CAAC,CAACklF,EAAF,CAAKkiN,wBAAL,EAAX,EAA4C59T,GAA5C,CAAiDmhC,CAAC,IAAE3K,CAAC,CAACklF,EAAF,CAAKC,kBAAL,CAAwBx6E,CAAxB,CAApD,CAAR;AAAyF4B,QAAAA,CAAC,CAACpgC,QAAF,CAAWo+B,CAAX,IAAc,KAAKk8R,2BAAL,GAAiCl8R,CAA/C,GAAiD,KAAKk8R,2BAAL,GAAiCl6R,CAAC,CAAC,CAAD,CAAnF;AAAuF;;AAAz5E;;AAA05E,UAAM06R,EAAN,SAAiB9nD,EAAjB,CAAmB;AAAC1/Q,MAAAA,WAAW,CAACugC,CAAD,EAAG2K,CAAH,EAAK;AAAC,cAAM3K,CAAN;AAAS,cAAMuK,CAAC,GAAC,IAAImC,EAAJ,EAAR;AAAA,cAAeH,CAAC,GAAC,KAAKgzO,YAAtB;AAAmCh1O,QAAAA,CAAC,CAACzF,GAAF,CAAM;AAACi/E,UAAAA,OAAO,EAAC,60LAAT;AAAu1LsjN,UAAAA,gBAAgB,EAAC,CAAC;AAAz2L,SAAN,GAAm3L98R,CAAC,CAACs1O,cAAF,CAAiB;AAAC57J,UAAAA,UAAU,EAAC;AAAC1oC,YAAAA,KAAK,EAAC;AAACxH,cAAAA,KAAK,EAAC,MAAP;AAAcE,cAAAA,MAAM,EAAC;AAArB;AAAP;AAAZ,SAAjB,CAAn3L,EAAu7L,KAAK2rM,WAAL,CAAiB;AAACsB,UAAAA,GAAG,EAAC,KAAL;AAAWj9J,UAAAA,UAAU,EAAC;AAACm/J,YAAAA,KAAK,EAAC,CAAC,IAAD,EAAM,eAAN,CAAP;AAA8B,2BAAc,CAAC;AAA7C,WAAtB;AAAsE97Q,UAAAA,QAAQ,EAAC,CAAC;AAAC45Q,YAAAA,GAAG,EAAC,GAAL;AAASj9J,YAAAA,UAAU,EAAC;AAACn1F,cAAAA,IAAI,EAAC,wHAAN;AAA+H8+B,cAAAA,MAAM,EAAC,QAAtI;AAA+I62N,cAAAA,QAAQ,EAAC;AAAxJ,aAApB;AAAkLn9Q,YAAAA,QAAQ,EAAC,CAAC,IAAGqjC,CAAC,GAAC,CAAC;AAACu2O,cAAAA,GAAG,EAAC,MAAL;AAAYj9J,cAAAA,UAAU,EAAC;AAACm/J,gBAAAA,KAAK,EAAC,CAAC,IAAD,EAAM,sBAAN;AAAP,eAAvB;AAA6D97Q,cAAAA,QAAQ,EAAC,CAACqjC,CAAD;AAAtE,aAAD,CAAD,GAA8E,EAAlF,CAAD,EAAsFJ,CAAtF,CAA3L;AAAoR9oB,YAAAA,EAAE,EAAC;AAAC6lT,cAAAA,SAAS,EAAC/6R,CAAC,CAACkgJ,EAAF,CAAMzsJ,CAAC,IAAEA,CAAC,CAACu0C,cAAF,EAAT;AAAX;AAAvR,WAAD;AAA/E,SAAjB,CAAv7L;AAA61M;;AAA35M;;AAA45M,aAAS2yP,EAAT,CAAYlnS,CAAZ,EAAc2K,CAAd,EAAgBJ,CAAhB,EAAkB;AAAC,aAAM,CAACgC,CAAD,EAAG51B,CAAH,KAAO;AAAC,cAAM81B,CAAC,GAAC,IAAIsoO,EAAJ,CAAO/0O,CAAP,CAAR;AAAkB,YAAGyM,CAAC,CAACsnC,KAAF,GAAQsyP,EAAR,IAAY55R,CAAC,CAACwnC,MAAF,GAASmyP,EAAxB,EAA2B,OAAO,IAAP;AAAY,YAAI97R,CAAJ;AAAMA,QAAAA,CAAC,GAAC,aAAWK,CAAC,CAAC76B,QAAb,GAAsB28B,CAAC,CAACgoO,MAAF,GAAS99P,CAAC,CAACs9D,MAAjC,GAAwCxnC,CAAC,CAACgoO,MAAF,GAAS99P,CAAC,CAACs9D,MAAF,GAAS,CAA5D,EAA8D3pC,CAAC,IAAEK,CAAC,CAAC48R,cAAnE;AAAkF,cAAMnlP,CAAC,GAAC73C,CAAC,CAACkC,CAAD,EAAG91B,CAAH,CAAT;AAAA,cAAegnK,CAAC,GAACpxI,CAAC,CAAC3M,KAAF,GAAU01O,MAAV,CAAiBlzL,CAAjB,EAAmB93C,CAAnB,EAAsBkrO,eAAtB,CAAsC7+P,CAAC,CAACipB,KAAF,GAAU01O,MAAV,CAAiBlzL,CAAjB,EAAmB93C,CAAnB,CAAtC,EAA6DqrO,UAA7D,EAAjB;AAA2F,eAAM,CAACh4F,CAAD,IAAIA,CAAC,CAAC+3F,OAAF,KAAY/+P,CAAC,CAAC++P,OAAF,EAAhB,GAA4B,IAA5B,GAAiC;AAACxhM,UAAAA,GAAG,EAAC5pC,CAAL;AAAO8pC,UAAAA,IAAI,EAACgO,CAAZ;AAAc5xE,UAAAA,IAAI,EAAE,YAAWm6B,CAAC,CAAC76B,QAAS,SAAQ66B,CAAC,CAACu+Q,IAAK,EAAzD;AAA2DxpT,UAAAA,MAAM,EAAC;AAAC8hU,YAAAA,SAAS,EAAC,CAAC;AAAZ;AAAlE,SAAvC;AAAyH,OAAnX;AAAoX;;AAAA,aAASwF,EAAT,CAAYhnS,CAAZ,EAAc;AAAC,YAAM2K,CAAC,GAAC3K,CAAC,CAACtgC,MAAF,CAASe,GAAT,CAAa,cAAb,CAAR;AAAA,YAAqC8pC,CAAC,GAACI,CAAC,IAAEA,CAAC,CAAC76B,QAAL,IAAe,QAAtD;AAA+D,aAAM;AAACA,QAAAA,QAAQ,EAACy6B,CAAV;AAAYmB,QAAAA,KAAK,EAAC46R,EAAlB;AAAqBiB,QAAAA,cAAc,EAAC,aAAWh9R,CAAX,GAAa,CAAb,GAAe,CAAnD;AAAqD48R,QAAAA,gBAAgB,EAAC,CAAtE;AAAwEje,QAAAA,IAAI,EAAC,UAAQlpR,CAAC,CAACm3L,MAAF,CAASglD,wBAAjB,GAA0C,OAA1C,GAAkD,MAA/H;AAAsI,WAAGxxO;AAAzI,OAAN;AAAkJ;;AAAA,QAAI68R,EAAE,GAACj9R,CAAC,CAAC,IAAD,CAAR;AAAA,QAAek9R,EAAE,GAAC;AAACxoD,MAAAA,UAAU,EAAC,mBAAZ;AAAgCh7J,MAAAA,UAAU,EAAC;AAAC,oBAAW,CAAC;AAAb,OAA3C;AAA2DqC,MAAAA,MAAM,EAAC,MAAlE;AAAyEy9I,MAAAA,SAAS,EAAC,CAAC;AAApF,KAAlB;AAAyG+a,IAAAA,EAAE,GAAG0oD,EAAE,CAACjlE,CAAN,EAAQklE,EAAR,CAAF;AAAcD,IAAAA,EAAE,CAACjlE,CAAH,CAAK2c,MAAL;AAAY,QAAIwoD,EAAJ;AAAO,KAAC,UAAS1nS,CAAT,EAAW;AAACA,MAAAA,CAAC,CAAC2nS,MAAF,GAAS,QAAT,EAAkB3nS,CAAC,CAAC4nS,SAAF,GAAY,WAA9B;AAA0C,KAAtD,CAAuDF,EAAE,KAAGA,EAAE,GAAC,EAAN,CAAzD,CAAD;;AAAqE,UAAM35F,EAAN,CAAQ;AAACtuO,MAAAA,WAAW,CAACugC,CAAD,EAAG;AAAC,aAAKgiF,MAAL,GAAYhiF,CAAZ;AAAc;;AAAA6nS,MAAAA,QAAQ,CAAC7nS,CAAD,EAAG2K,CAAH,EAAKJ,CAAC,GAACm9R,EAAE,CAACC,MAAV,EAAiB;AAAC,cAAMp7R,CAAC,GAAC,KAAKy1E,MAAb;AAAoB,aAAK8zF,IAAL,KAAY,KAAKA,IAAL,GAAU,IAAIgyH,EAAJ,CAAOv7R,CAAC,CAAC4qL,MAAT,CAAV,EAA2B5qL,CAAC,CAAC24E,EAAF,CAAK4wF,IAAL,CAAUz+L,IAAV,CAAeud,GAAf,CAAmB,KAAKkhL,IAAxB,CAAvC;AAAsE,YAAIn/L,CAAC,GAAC,KAAKm/L,IAAL,CAAUiyH,WAAV,CAAsBxtT,IAAtB,CAA4BowB,CAAC,IAAEA,CAAC,CAACq9R,UAAF,KAAehoS,CAA9C,CAAN;AAAwDrpB,QAAAA,CAAC,KAAGA,CAAC,GAAC,IAAIsxT,EAAJ,CAAO,KAAKnyH,IAAL,CAAUqhB,MAAjB,CAAF,EAA2B,KAAKrhB,IAAL,CAAUiyH,WAAV,CAAsBnzS,GAAtB,CAA0Bje,CAA1B,CAA9B,CAAD,EAA6DA,CAAC,CAACmuB,GAAF,CAAM;AAACkjS,UAAAA,UAAU,EAAChoS,CAAZ;AAAc+xG,UAAAA,IAAI,EAACpnG,CAAnB;AAAqBu9R,UAAAA,UAAU,EAAC39R;AAAhC,SAAN,CAA7D;AAAuG;;AAAjT;;AAAkT,UAAMu9R,EAAN,SAAiB3oD,EAAjB,CAAmB;AAAC1/Q,MAAAA,WAAW,CAACugC,CAAD,EAAG;AAAC,cAAMA,CAAN,GAAS,KAAK+nS,WAAL,GAAiB,KAAKzoD,gBAAL,EAA1B,EAAkD,KAAKM,WAAL,CAAiB;AAACsB,UAAAA,GAAG,EAAC,KAAL;AAAWj9J,UAAAA,UAAU,EAAC;AAACm/J,YAAAA,KAAK,EAAC,CAAC,IAAD,EAAM,wBAAN;AAAP,WAAtB;AAA8D97Q,UAAAA,QAAQ,EAAC,KAAKygU;AAA5E,SAAjB,CAAlD;AAA6J;;AAA7K;;AAA8K,UAAME,EAAN,SAAiB9oD,EAAjB,CAAmB;AAAC1/Q,MAAAA,WAAW,CAACugC,CAAD,EAAG;AAAC,cAAMA,CAAN;AAAS,cAAM2K,CAAC,GAAC,KAAK40O,YAAb;AAA0B,aAAKz6O,GAAL,CAAS,YAAT,EAAsB,EAAtB,GAA0B,KAAKA,GAAL,CAAS,MAAT,EAAgB,EAAhB,CAA1B,EAA8C,KAAKA,GAAL,CAAS,YAAT,EAAsB4iS,EAAE,CAACC,MAAzB,CAA9C,EAA+E,KAAK/nD,WAAL,CAAiB;AAACsB,UAAAA,GAAG,EAAC,KAAL;AAAWj9J,UAAAA,UAAU,EAAC;AAACr2G,YAAAA,IAAI,EAAC,QAAN;AAAe,2BAAc+8B,CAAC,CAAC8hJ,EAAF,CAAK,YAAL,CAA7B;AAAgD,yBAAY9hJ,CAAC,CAAC8hJ,EAAF,CAAK,YAAL;AAA5D,WAAtB;AAAsGnlL,UAAAA,QAAQ,EAAC,CAAC;AAACyqI,YAAAA,IAAI,EAACpnG,CAAC,CAAC8hJ,EAAF,CAAK,MAAL;AAAN,WAAD;AAA/G,SAAjB,CAA/E;AAAuO;;AAA1R;;AAA2R,UAAM07I,EAAN,SAAiB9lP,CAAC,EAAlB,CAAqB;AAAC5iF,MAAAA,WAAW,CAACugC,CAAD,EAAG;AAAC,iBAAQ,KAAKsnH,OAAL,GAAa,CAAC,CAAtB,EAAwB,KAAK8gL,oBAAL,GAA0B,IAAIn5R,GAAJ,EAAlD,EAA0D,KAAKo5R,4BAAL,GAAkC,EAA5F;AAA+F,cAAM19R,CAAC,GAAC3K,CAAC,CAACu1R,OAAF,CAAUz/G,IAAlB;AAAuB,aAAK9zF,MAAL,GAAYhiF,CAAZ,EAAc,KAAKsoS,gBAAL,GAAsB,IAAIvH,EAAJ,CAAO/gS,CAAP,CAApC,EAA8C,KAAK8lP,YAAL,GAAkB,IAAI3vD,EAAJ,EAAhE,EAAuE,KAAKoyG,cAAL,GAAoB,IAAI1D,EAAJ,CAAO7kS,CAAP,CAA3F,EAAqG,KAAKwoS,SAAL,GAAe,IAAIjC,EAAJ,CAAOvmS,CAAP,CAApH,EAA8H,KAAKyoS,iBAAL,GAAuB,IAAI16F,EAAJ,CAAO/tM,CAAP,CAArJ,EAA+J,KAAK8E,GAAL,CAAS,gBAAT,EAA0B,KAAK4jS,6BAAL,EAA1B,CAA/J,EAA+N,KAAKjjE,IAAL,CAAU,OAAV,EAAmB,MAAI;AAAC,eAAKn+G,OAAL,GAAa,CAAC,CAAd;AAAgB,SAAxC,CAA/N,EAA0Q,KAAKk+G,QAAL,CAAc76N,CAAC,CAACjJ,QAAhB,EAAyB,eAAzB,EAAyC,KAAKo8H,MAAL,CAAY/oI,IAAZ,CAAiB,IAAjB,CAAzC,CAA1Q,EAA2U,KAAKywO,QAAL,CAAc76N,CAAd,EAAgB,sBAAhB,EAAuC,KAAKg+R,2BAAL,CAAiC5zS,IAAjC,CAAsC,IAAtC,CAAvC,CAA3U,EAA+Z,KAAK6zS,kBAAL,EAA/Z;AAAyb;;AAAW,UAAP5/S,OAAO,GAAE;AAAC,eAAO,IAAP;AAAY;;AAAA80I,MAAAA,MAAM,GAAE;AAAC,aAAKp4C,IAAL,CAAU,QAAV;AAAoB;;AAAA/G,MAAAA,OAAO,GAAE;AAAC,aAAK+mJ,aAAL,IAAqB,KAAKogB,YAAL,CAAkBnnK,OAAlB,EAArB,EAAiD,KAAK4pN,cAAL,CAAoB5pN,OAApB,CAA4B,KAAKqD,MAAjC,CAAjD,EAA0F,KAAKwmN,SAAL,CAAe7pN,OAAf,EAA1F;;AAAmH,aAAI,MAAM3+E,CAAV,IAAe,KAAKooS,oBAAL,CAA0B/mR,MAA1B,EAAf,EAAkDrhB,CAAC,CAAC6oS,gBAAF,GAAmB,IAAnB,EAAwB,KAAK7mN,MAAL,CAAYolK,UAAZ,CAAuB1hB,aAAvB,CAAqC1lO,CAArC,CAAxB;;AAAgE,aAAKooS,oBAAL,GAA0B,IAAIn5R,GAAJ,EAA1B,EAAkC,KAAKo5R,4BAAL,GAAkC,EAApE;AAAuE;;AAAAS,MAAAA,kBAAkB,CAAC9oS,CAAD,EAAG2K,CAAH,EAAK;AAAC,aAAKy9R,oBAAL,CAA0BtjS,GAA1B,CAA8B9E,CAA9B,EAAgC2K,CAAhC,GAAmCA,CAAC,CAACk+R,gBAAF,KAAqBl+R,CAAC,CAACk+R,gBAAF,GAAmB,KAAK7mN,MAA7C,CAAnC,EAAwF,KAAK8jK,YAAL,CAAkBlxP,GAAlB,CAAsB+V,CAAtB,CAAxF;;AAAiH,cAAMJ,CAAC,GAAC,MAAI;AAAC,eAAKy3E,MAAL,CAAYuzM,OAAZ,CAAoBz/G,IAApB,CAAyB04F,UAAzB,CAAoCxuQ,CAApC,KAAwC,KAAKgiF,MAAL,CAAYolK,UAAZ,CAAuB5hB,QAAvB,CAAgC76N,CAAhC,CAAxC;AAA2E,SAAxF;;AAAyF,aAAK28G,OAAL,GAAa/8G,CAAC,EAAd,GAAiB,KAAKk7N,IAAL,CAAU,OAAV,EAAkBl7N,CAAlB,CAAjB;AAAsC;;AAAAw+R,MAAAA,qBAAqB,CAAC/oS,CAAD,EAAG;AAAC,cAAM2K,CAAC,GAAC,KAAKy9R,oBAAL,CAA0B3nU,GAA1B,CAA8Bu/B,CAA9B,CAAR;;AAAyC2K,QAAAA,CAAC,KAAG,KAAKy9R,oBAAL,CAA0BxzR,MAA1B,CAAiC5U,CAAjC,GAAoC,KAAKgiF,MAAL,CAAYolK,UAAZ,CAAuB1hB,aAAvB,CAAqC/6N,CAArC,CAApC,EAA4E,KAAKm7O,YAAL,CAAkB7lK,MAAlB,CAAyBt1E,CAAzB,CAA5E,EAAwGA,CAAC,CAACk+R,gBAAF,GAAmB,IAA9H,CAAD;AAAqI;;AAAA1jN,MAAAA,kBAAkB,CAACnlF,CAAC,GAAC,MAAH,EAAU;AAAC,eAAO,KAAKooS,oBAAL,CAA0B3nU,GAA1B,CAA8Bu/B,CAA9B,CAAP;AAAwC;;AAAAonS,MAAAA,wBAAwB,GAAE;AAAC,eAAO,KAAKgB,oBAAL,CAA0B/iS,IAA1B,EAAP;AAAwC;;AAAA2jS,MAAAA,UAAU,CAAChpS,CAAD,EAAG2K,CAAC,GAAC,EAAL,EAAQ;AAAC3K,QAAAA,CAAC,CAAC2+O,UAAF,IAAc,KAAKmH,YAAL,CAAkBlxP,GAAlB,CAAsBoL,CAAC,CAAChX,OAAxB,GAAiC,KAAKg5F,MAAL,CAAYolK,UAAZ,CAAuB5hB,QAAvB,CAAgCxlO,CAAC,CAAChX,OAAlC,CAA/C,IAA2FgX,CAAC,CAACylO,IAAF,CAAO,QAAP,EAAiB,MAAI;AAAC,eAAKqgB,YAAL,CAAkBlxP,GAAlB,CAAsBoL,CAAC,CAAChX,OAAxB,GAAiC,KAAKg5F,MAAL,CAAYolK,UAAZ,CAAuB5hB,QAAvB,CAAgCxlO,CAAC,CAAChX,OAAlC,CAAjC;AAA4E,SAAlG,CAA3F,EAAgM,KAAKq/S,4BAAL,CAAkCpiS,IAAlC,CAAuC;AAACyzR,UAAAA,WAAW,EAAC15R,CAAb;AAAetS,UAAAA,OAAO,EAACid;AAAvB,SAAvC,CAAhM;AAAkQ;;AAAqB,UAAjBs+R,iBAAiB,GAAE;AAAC,eAAOnnU,OAAO,CAAC8wM,IAAR,CAAa,6IAAb,EAA2J;AAACs2H,UAAAA,QAAQ,EAAC;AAAV,SAA3J,GAA4K,KAAKd,oBAAxL;AAA6M;;AAAAM,MAAAA,6BAA6B,GAAE;AAAC,cAAM1oS,CAAC,GAAC,KAAKgiF,MAAb;AAAA,cAAoBr3E,CAAC,GAAC3K,CAAC,CAACtgC,MAAF,CAASe,GAAT,CAAa,mBAAb,CAAtB;AAAwD,YAAGkqC,CAAH,EAAK,OAAOA,CAAP;AAAS,cAAMJ,CAAC,GAACvK,CAAC,CAACtgC,MAAF,CAASe,GAAT,CAAa,2BAAb,CAAR;AAAkD,eAAO8pC,CAAC,IAAEzoC,OAAO,CAAC8wM,IAAR,CAAa,wMAAb,GAAuN;AAAC1+H,UAAAA,GAAG,EAAC3pC;AAAL,SAAzN,IAAkO;AAAC2pC,UAAAA,GAAG,EAAC;AAAL,SAA1O;AAAkP;;AAAA00P,MAAAA,kBAAkB,GAAE;AAAC,cAAM5oS,CAAC,GAAC,KAAKgiF,MAAb;AAAA,cAAoBr3E,CAAC,GAAC3K,CAAC,CAACu1R,OAAF,CAAUz/G,IAAhC;AAAqC,YAAIvrK,CAAJ,EAAMgC,CAAN;AAAQvM,QAAAA,CAAC,CAAConP,UAAF,CAAatiP,GAAb,CAAiB,SAAjB,EAA4B,CAAC9E,CAAD,EAAGrpB,CAAH,KAAO;AAAC,gBAAM81B,CAAC,GAAC,KAAKq5O,YAAL,CAAkBnI,cAA1B;AAAyCx4O,UAAAA,KAAK,CAAC7H,IAAN,CAAW,KAAK8qS,oBAAL,CAA0B/mR,MAA1B,EAAX,EAA+Cl1C,QAA/C,CAAwDsgC,CAAxD,KAA4D,CAACtH,KAAK,CAAC7H,IAAN,CAAWqN,CAAC,CAACijQ,QAAF,CAAWvsP,MAAX,EAAX,EAAgCl1C,QAAhC,CAAyCsgC,CAAzC,CAA7D,KAA2GlC,CAAC,GAACkC,CAA7G;;AAAgH,gBAAMnC,CAAC,GAAC,KAAK6+R,mCAAL,EAAR;;AAAmD7+R,UAAAA,CAAC,IAAEiC,CAAH,KAAOA,CAAC,GAAC,KAAK68R,wCAAL,EAAT;;AAA0D,eAAI,IAAIppS,CAAC,GAAC,CAAV,EAAYA,CAAC,GAACuM,CAAC,CAAC5/B,MAAhB,EAAuBqzB,CAAC,EAAxB,EAA2B;AAAC,kBAAMA,CAAC,GAACuM,CAAC,CAAC4xC,KAAF,EAAR;;AAAkB,gBAAG5xC,CAAC,CAACtG,IAAF,CAAOjG,CAAP,GAAUA,CAAC,KAAGsK,CAAJ,IAAO,KAAK++R,+BAAL,CAAqCrpS,CAArC,CAApB,EAA4D;AAACsK,cAAAA,CAAC,IAAEA,CAAC,CAAC5c,OAAF,CAAU47S,SAAb,IAAwBh/R,CAAC,CAAC5c,OAAF,CAAU47S,SAAV,EAAxB;AAA8C;AAAM;AAAC;;AAAA3yT,UAAAA,CAAC;AAAG,SAA9c,GAAidqpB,CAAC,CAAConP,UAAF,CAAatiP,GAAb,CAAiB,KAAjB,EAAwB,CAAC6F,CAAD,EAAG4B,CAAH,KAAO;AAAC,gBAAM51B,CAAC,GAAC,KAAKwyT,mCAAL,EAAR;;AAAmDxyT,UAAAA,CAAC,KAAG4zB,CAAC,IAAEA,CAAC,CAACyoC,KAAF,IAAUzoC,CAAC,GAAC,IAAd,IAAoBvK,CAAC,CAACu1R,OAAF,CAAUz/G,IAAV,CAAe9iI,KAAf,EAArB,EAA4Cr8D,CAAC,CAAC+W,OAAF,CAAU47S,SAAV,IAAqB3yT,CAAC,CAAC+W,OAAF,CAAU47S,SAAV,EAAjE,EAAuF/8R,CAAC,EAA3F,CAAD;AAAgG,SAAnL,CAAjd;AAAuoB;;AAAA68R,MAAAA,wCAAwC,GAAE;AAAC,cAAMppS,CAAC,GAAC,EAAR;;AAAW,aAAI,MAAM2K,CAAV,IAAe,KAAK09R,4BAApB,EAAiD;AAAC,gBAAK;AAAC3O,YAAAA,WAAW,EAACnvR,CAAb;AAAe7c,YAAAA,OAAO,EAAC6e;AAAvB,cAA0B5B,CAA/B;AAAiC,WAACqtO,EAAE,CAACztO,CAAC,CAACvhB,OAAH,CAAF,IAAeujB,CAAC,CAACg9R,WAAlB,KAAgCvpS,CAAC,CAACiG,IAAF,CAAO0E,CAAP,CAAhC;AAA0C;;AAAA,eAAO3K,CAAC,CAAC6gD,IAAF,CAAQ,CAAC7gD,CAAD,EAAG2K,CAAH,KAAOs/K,EAAE,CAACjqL,CAAD,CAAF,GAAMiqL,EAAE,CAACt/K,CAAD,CAAvB,GAA6B3K,CAApC;AAAsC;;AAAAmpS,MAAAA,mCAAmC,GAAE;AAAC,aAAI,MAAMnpS,CAAV,IAAe,KAAKqoS,4BAApB,EAAiD,IAAGroS,CAAC,CAAC05R,WAAF,CAAc1wS,OAAd,IAAuBgX,CAAC,CAAC05R,WAAF,CAAc1wS,OAAd,CAAsBihO,QAAtB,CAA+B,KAAK67B,YAAL,CAAkBnI,cAAjD,CAA1B,EAA2F,OAAO39O,CAAP;;AAAS,eAAO,IAAP;AAAY;;AAAAqpS,MAAAA,+BAA+B,CAACrpS,CAAD,EAAG;AAAC,cAAK;AAAC05R,UAAAA,WAAW,EAAC/uR,CAAb;AAAejd,UAAAA,OAAO,EAAC;AAAC67S,YAAAA,WAAW,EAACh/R;AAAb;AAAvB,YAAwCvK,CAA7C;AAA+C,eAAOuK,CAAC,IAAEA,CAAC,EAAJ,EAAO,CAAC,CAACytO,EAAE,CAACrtO,CAAC,CAAC3hB,OAAH,CAAJ,KAAkB2hB,CAAC,CAACqoC,KAAF,IAAU,CAAC,CAA7B,CAAd;AAA8C;;AAAA21P,MAAAA,2BAA2B,CAAC3oS,CAAD,EAAG2K,CAAH,EAAK;AAAC,cAAMJ,CAAC,GAAC;AAAC2pC,UAAAA,GAAG,EAAC,CAAL;AAAOugM,UAAAA,MAAM,EAAC,CAAd;AAAgBrgM,UAAAA,IAAI,EAAC,CAArB;AAAuB5nD,UAAAA,KAAK,EAAC,CAA7B;AAA+B,aAAG,KAAKitP;AAAvC,SAAR;AAA+D9uO,QAAAA,CAAC,CAAC8uO,cAAF,CAAiBvlM,GAAjB,IAAsB3pC,CAAC,CAAC2pC,GAAxB,EAA4BvpC,CAAC,CAAC8uO,cAAF,CAAiBhF,MAAjB,IAAyBlqO,CAAC,CAACkqO,MAAvD,EAA8D9pO,CAAC,CAAC8uO,cAAF,CAAiBrlM,IAAjB,IAAuB7pC,CAAC,CAAC6pC,IAAvF,EAA4FzpC,CAAC,CAAC8uO,cAAF,CAAiBjtP,KAAjB,IAAwB+d,CAAC,CAAC/d,KAAtH;AAA4H;;AAA50H;;AAA60H,aAASy9L,EAAT,CAAYjqL,CAAZ,EAAc;AAAC,YAAK;AAAC05R,QAAAA,WAAW,EAAC/uR,CAAb;AAAejd,QAAAA,OAAO,EAAC6c;AAAvB,UAA0BvK,CAA/B;AAAiC,UAAIuM,CAAC,GAAC,EAAN;AAAS,aAAOyrO,EAAE,CAACrtO,CAAC,CAAC3hB,OAAH,CAAF,IAAeujB,CAAC,EAAhB,EAAmBhC,CAAC,CAACi/R,YAAF,IAAgBj9R,CAAC,EAApC,EAAuCA,CAA9C;AAAgD;;AAAA,QAAIk9R,EAAE,GAACl/R,CAAC,CAAC,IAAD,CAAR;AAAA,QAAem/R,EAAE,GAAC;AAACzqD,MAAAA,UAAU,EAAC,mBAAZ;AAAgCh7J,MAAAA,UAAU,EAAC;AAAC,oBAAW,CAAC;AAAb,OAA3C;AAA2DqC,MAAAA,MAAM,EAAC,MAAlE;AAAyEy9I,MAAAA,SAAS,EAAC,CAAC;AAApF,KAAlB;AAAyG+a,IAAAA,EAAE,GAAG2qD,EAAE,CAAClnE,CAAN,EAAQmnE,EAAR,CAAF;AAAcD,IAAAA,EAAE,CAAClnE,CAAH,CAAK2c,MAAL;;AAAY,UAAMyqD,EAAN,SAAiBxqD,EAAjB,CAAmB;AAAC1/Q,MAAAA,WAAW,CAACugC,CAAD,EAAG;AAAC,cAAMA,CAAN,GAAS,KAAK3oB,IAAL,GAAU,IAAI2rQ,EAAJ,CAAOhjP,CAAP,CAAnB;AAA6B;;AAAA4+O,MAAAA,MAAM,GAAE;AAAC,cAAMA,MAAN,IAAe,KAAKvnQ,IAAL,CAAU8rQ,WAAV,EAAf;AAAuC;;AAAAxkK,MAAAA,OAAO,GAAE;AAAC,eAAO,KAAKtnG,IAAL,CAAUgsQ,aAAV,IAA0B,MAAM1kK,OAAN,EAAjC;AAAiD;;AAAxJ;;AAAyJ,UAAMirN,EAAN,SAAiBD,EAAjB,CAAmB;AAAClqU,MAAAA,WAAW,CAACugC,CAAD,EAAG;AAAC,cAAMA,CAAN,GAAS,KAAKk0C,GAAL,GAAS,KAAKorM,gBAAL,EAAlB,EAA0C,KAAK8kC,IAAL,GAAU,KAAK9kC,gBAAL,EAApD,EAA4E,KAAKuqD,eAAL,GAAqB,KAAKC,iBAAL,EAAjG,EAA0H,KAAKlqD,WAAL,CAAiB;AAACsB,UAAAA,GAAG,EAAC,KAAL;AAAWj9J,UAAAA,UAAU,EAAC;AAACm/J,YAAAA,KAAK,EAAC,CAAC,IAAD,EAAM,UAAN,EAAiB,WAAjB,EAA6B,oBAA7B,CAAP;AAA0Dx1Q,YAAAA,IAAI,EAAC,aAA/D;AAA6EuqO,YAAAA,GAAG,EAACn4M,CAAC,CAACk8O,mBAAnF;AAAuGjmQ,YAAAA,IAAI,EAAC+pB,CAAC,CAACg8O,UAA9G;AAAyH,+BAAkB,KAAK6tD,eAAL,CAAqB18T;AAAhK,WAAtB;AAA0L7F,UAAAA,QAAQ,EAAC,CAAC,KAAKuiU,eAAN,EAAsB;AAAC3oD,YAAAA,GAAG,EAAC,KAAL;AAAWj9J,YAAAA,UAAU,EAAC;AAACm/J,cAAAA,KAAK,EAAC,CAAC,IAAD,EAAM,gBAAN,EAAuB,cAAvB,CAAP;AAA8Cx1Q,cAAAA,IAAI,EAAC;AAAnD,aAAtB;AAAyFtG,YAAAA,QAAQ,EAAC,KAAK4sE;AAAvG,WAAtB,EAAkI;AAACgtM,YAAAA,GAAG,EAAC,KAAL;AAAWj9J,YAAAA,UAAU,EAAC;AAACm/J,cAAAA,KAAK,EAAC,CAAC,IAAD,EAAM,iBAAN,CAAP;AAAgCx1Q,cAAAA,IAAI,EAAC;AAArC,aAAtB;AAA2EtG,YAAAA,QAAQ,EAAC,KAAK88S;AAAzF,WAAlI;AAAnM,SAAjB,CAA1H;AAAkjB;;AAAA0lB,MAAAA,iBAAiB,GAAE;AAAC,cAAM9pS,CAAC,GAAC,KAAKA,CAAb;AAAA,cAAe2K,CAAC,GAAC,IAAIy6O,EAAJ,EAAjB;AAAwB,eAAOz6O,CAAC,CAAConG,IAAF,GAAO/xG,CAAC,CAAC,kBAAD,CAAR,EAA6B2K,CAAC,CAACk1O,cAAF,CAAiB;AAAC57J,UAAAA,UAAU,EAAC;AAACm/J,YAAAA,KAAK,EAAC;AAAP;AAAZ,SAAjB,CAA7B,EAAqFz4O,CAA5F;AAA8F;;AAA5sB;;AAA6sB,UAAMo/R,EAAN,SAAiB5qD,EAAjB,CAAmB;AAAC1/Q,MAAAA,WAAW,CAACugC,CAAD,EAAG2K,CAAH,EAAKJ,CAAL,EAAO;AAAC,cAAMvK,CAAN,GAAS,KAAKxvB,IAAL,GAAU,IAAnB,EAAwB,KAAKovQ,WAAL,CAAiB;AAACsB,UAAAA,GAAG,EAAC,KAAL;AAAWj9J,UAAAA,UAAU,EAAC;AAACm/J,YAAAA,KAAK,EAAC,CAAC,IAAD,EAAM,YAAN,EAAmB,qBAAnB,EAAyC,oBAAzC,CAAP;AAAsEntQ,YAAAA,IAAI,EAAC+pB,CAAC,CAACi8O,eAA7E;AAA6F9jC,YAAAA,GAAG,EAACn4M,CAAC,CAACm8O;AAAnG;AAAtB,SAAjB,CAAxB,EAA8L,KAAKr3O,GAAL,CAAS,WAAT,EAAqB,CAAC,CAAtB,CAA9L,EAAuN,KAAKklS,gBAAL,GAAsBz/R,CAA7O,EAA+O,KAAK0/R,mBAAL,GAAyB,CAAC,CAAC,KAAKD,gBAA/Q,EAAgS,KAAKE,YAAL,GAAkBv/R,CAAlT;AAAoT;;AAAAi0O,MAAAA,MAAM,GAAE;AAAC,cAAMA,MAAN,IAAe,KAAKqrD,mBAAL,GAAyB,KAAKxnU,QAAL,CAAcgoC,KAAd,CAAoB,KAAKzhB,OAAL,GAAa,KAAKghT,gBAAtC,CAAzB,GAAiF,KAAKA,gBAAL,GAAsB,KAAKhhT,OAA3H,EAAmI,KAAKvH,EAAL,CAAQ,kBAAR,EAA4B,MAAI,KAAK0oT,uBAAL,EAAhC,CAAnI,EAAoM,KAAKA,uBAAL,EAApM;AAAmO;;AAAAxrN,MAAAA,OAAO,GAAE;AAAC,aAAKsrN,mBAAL,IAA0B,KAAKxnU,QAAL,CAAcu9Q,MAAd,CAAqB,KAAKgqD,gBAA1B,CAA1B,EAAsE,MAAMrrN,OAAN,EAAtE;AAAsF;;AAAsB,UAAlByrN,kBAAkB,GAAE;AAAC,eAAO,KAAKH,mBAAZ;AAAgC;;AAAAE,MAAAA,uBAAuB,GAAE;AAAC,cAAMnqS,CAAC,GAAC,KAAKkqS,YAAb;;AAA0B,iBAASv/R,CAAT,CAAWA,CAAX,EAAa;AAAC3K,UAAAA,CAAC,CAAC0hL,MAAF,CAAUn3K,CAAC,IAAE;AAAC,kBAAMgC,CAAC,GAACvM,CAAC,CAAC0B,QAAF,CAAW0kF,OAAX,CAAmBz7E,CAAC,CAACn6B,IAArB,CAAR;AAAmC+5B,YAAAA,CAAC,CAACqiP,QAAF,CAAWjiP,CAAC,CAACizO,SAAF,GAAY,YAAZ,GAAyB,YAApC,EAAiDrxO,CAAjD,GAAoDhC,CAAC,CAACkiP,WAAF,CAAc9hP,CAAC,CAACizO,SAAF,GAAY,YAAZ,GAAyB,YAAvC,EAAoDrxO,CAApD,CAApD;AAA2G,WAA5J;AAA+J;;AAAAvM,QAAAA,CAAC,CAAC4uQ,qBAAF,GAAwB,SAASrkQ,CAAT,CAAWgC,CAAX,EAAa;AAACvM,UAAAA,CAAC,CAACylO,IAAF,CAAO,8BAAP,EAAuC,CAACzlO,CAAD,EAAGrpB,CAAH,EAAK81B,CAAL,KAAS;AAACA,YAAAA,CAAC,GAAClC,CAAC,CAACgC,CAAD,CAAF,GAAM5B,CAAC,CAAC4B,CAAD,CAAR;AAAY,WAA7D;AAAgE,SAA9E,CAA+E,IAA/E,CAAxB,GAA6G5B,CAAC,CAAC,IAAD,CAA9G;AAAqH;;AAAniC;;AAAoiC,UAAM0/R,EAAN,SAAiBN,EAAjB,CAAmB;AAACtqU,MAAAA,WAAW,CAACugC,CAAD,EAAG2K,CAAH,EAAKJ,CAAL,EAAOgC,CAAC,GAAC,EAAT,EAAY;AAAC,cAAMvM,CAAN,EAAQ2K,CAAR,EAAUJ,CAAV;AAAa,cAAM5zB,CAAC,GAACqpB,CAAC,CAACA,CAAV;AAAY,aAAK6/O,cAAL,CAAoB;AAAC57J,UAAAA,UAAU,EAAC;AAACr2G,YAAAA,IAAI,EAAC,SAAN;AAAgBw1Q,YAAAA,KAAK,EAAC;AAAtB;AAAZ,SAApB,GAAsF,KAAKknD,cAAL,GAAoB/9R,CAAC,CAACb,KAAF,KAAU,MAAI/0B,CAAC,CAAC,yBAAD,EAA2B,KAAKnG,IAAhC,CAAf,CAA1G;AAAgK;;AAAAouQ,MAAAA,MAAM,GAAE;AAAC,cAAMA,MAAN;AAAe,cAAM5+O,CAAC,GAAC,KAAKkqS,YAAb;AAA0BlqS,QAAAA,CAAC,CAAC0hL,MAAF,CAAU/2K,CAAC,IAAE;AAAC,gBAAMJ,CAAC,GAACvK,CAAC,CAAC0B,QAAF,CAAW0kF,OAAX,CAAmB,KAAK51G,IAAxB,CAAR;AAAsCm6B,UAAAA,CAAC,CAAC+wC,YAAF,CAAe,YAAf,EAA4B,KAAK4uP,cAAL,CAAoB,IAApB,CAA5B,EAAsD//R,CAAtD;AAAyD,SAA7G;AAAgH;;AAApX;;AAAqX,QAAIggS,EAAE,GAAChgS,CAAC,CAAC,IAAD,CAAR;AAAA,QAAeigS,EAAE,GAAC;AAACvrD,MAAAA,UAAU,EAAC,mBAAZ;AAAgCh7J,MAAAA,UAAU,EAAC;AAAC,oBAAW,CAAC;AAAb,OAA3C;AAA2DqC,MAAAA,MAAM,EAAC,MAAlE;AAAyEy9I,MAAAA,SAAS,EAAC,CAAC;AAApF,KAAlB;AAAyG+a,IAAAA,EAAE,GAAGyrD,EAAE,CAAChoE,CAAN,EAAQioE,EAAR,CAAF;AAAcD,IAAAA,EAAE,CAAChoE,CAAH,CAAK2c,MAAL;;AAAY,UAAMurD,EAAN,SAAiBpoP,CAAC,EAAlB,CAAqB;AAAC5iF,MAAAA,WAAW,CAACugC,CAAD,EAAG2K,CAAH,EAAK;AAAC,iBAAQA,CAAC,IAAEm9P,EAAE,CAAC,IAAD,EAAMn9P,CAAN,CAAb,EAAsB3K,CAAC,IAAE,KAAK8E,GAAL,CAAS9E,CAAT,CAAzB;AAAqC;;AAAvD;;AAAwD,QAAI0qS,EAAE,GAACngS,CAAC,CAAC,IAAD,CAAR;AAAA,QAAeogS,EAAE,GAAC;AAAC1rD,MAAAA,UAAU,EAAC,mBAAZ;AAAgCh7J,MAAAA,UAAU,EAAC;AAAC,oBAAW,CAAC;AAAb,OAA3C;AAA2DqC,MAAAA,MAAM,EAAC,MAAlE;AAAyEy9I,MAAAA,SAAS,EAAC,CAAC;AAApF,KAAlB;AAAyG+a,IAAAA,EAAE,GAAG4rD,EAAE,CAACnoE,CAAN,EAAQooE,EAAR,CAAF;AAAcD,IAAAA,EAAE,CAACnoE,CAAH,CAAK2c,MAAL;AAAY,QAAI0rD,EAAE,GAACrgS,CAAC,CAAC,IAAD,CAAR;AAAA,QAAesgS,EAAE,GAAC;AAAC5rD,MAAAA,UAAU,EAAC,mBAAZ;AAAgCh7J,MAAAA,UAAU,EAAC;AAAC,oBAAW,CAAC;AAAb,OAA3C;AAA2DqC,MAAAA,MAAM,EAAC,MAAlE;AAAyEy9I,MAAAA,SAAS,EAAC,CAAC;AAApF,KAAlB;AAAyG+a,IAAAA,EAAE,GAAG8rD,EAAE,CAACroE,CAAN,EAAQsoE,EAAR,CAAF;AAAcD,IAAAA,EAAE,CAACroE,CAAH,CAAK2c,MAAL,EAAYxH,EAAE,CAAC,IAAD,CAAd;AAAqB,QAAIozD,EAAE,GAACvgS,CAAC,CAAC,IAAD,CAAR;AAAA,QAAewgS,EAAE,GAAC;AAAC9rD,MAAAA,UAAU,EAAC,mBAAZ;AAAgCh7J,MAAAA,UAAU,EAAC;AAAC,oBAAW,CAAC;AAAb,OAA3C;AAA2DqC,MAAAA,MAAM,EAAC,MAAlE;AAAyEy9I,MAAAA,SAAS,EAAC,CAAC;AAApF,KAAlB;AAAyG+a,IAAAA,EAAE,GAAGgsD,EAAE,CAACvoE,CAAN,EAAQwoE,EAAR,CAAF;AAAcD,IAAAA,EAAE,CAACvoE,CAAH,CAAK2c,MAAL;AAAY,UAAM8rD,EAAE,GAACtzD,EAAE,CAAC,IAAD,CAAX;;AAAkB,UAAMuzD,EAAN,SAAiB9rD,EAAjB,CAAmB;AAAC1/Q,MAAAA,WAAW,CAACugC,CAAD,EAAG;AAAC,cAAMA,CAAN;AAAS,cAAM2K,CAAC,GAAC,KAAK40O,YAAb;AAA0B,aAAKz6O,GAAL,CAAS,UAAT,EAAoB,CAAC,CAArB,GAAwB,KAAKA,GAAL,CAAS,UAAT,EAAoB,CAAC,CAArB,CAAxB,EAAgD,KAAKA,GAAL,CAAS,gBAAT,EAA0B,IAA1B,CAAhD,EAAgF,KAAKA,GAAL,CAAS,qBAAT,EAA+B,EAA/B,CAAhF,EAAmH,KAAKA,GAAL,CAAS,mBAAT,EAA6B,CAA7B,CAAnH,EAAmJ,KAAKA,GAAL,CAAS,aAAT,EAAuB,IAAvB,CAAnJ,EAAgL,KAAKA,GAAL,CAAS,+BAAT,EAAyC,CAAC,CAA1C,CAAhL,EAA6N,KAAKA,GAAL,CAAS,kBAAT,EAA4B,IAA5B,CAA7N,EAA+P,KAAKA,GAAL,CAAS,qBAAT,EAA+B,IAA/B,CAA/P,EAAoS,KAAKi/E,OAAL,GAAa,KAAKu7J,gBAAL,EAAjT,EAAyU,KAAK4rD,wBAAL,GAA8B,IAAIzrD,EAAJ,CAAO;AAACyB,UAAAA,GAAG,EAAC,KAAL;AAAWj9J,UAAAA,UAAU,EAAC;AAACm/J,YAAAA,KAAK,EAAC,CAAC,IAAD,EAAM,8BAAN,CAAP;AAA6C7nM,YAAAA,KAAK,EAAC;AAACisL,cAAAA,OAAO,EAAC78N,CAAC,CAAC8hJ,EAAF,CAAK,UAAL,EAAiBzsJ,CAAC,IAAEA,CAAC,GAAC,OAAD,GAAS,MAA9B,CAAT;AAAgDi0C,cAAAA,MAAM,EAACtpC,CAAC,CAAC8hJ,EAAF,CAAK,UAAL,EAAiBzsJ,CAAC,IAAEA,CAAC,GAACgrS,EAAE,CAAC,KAAKG,iBAAL,CAAuBl3P,MAAxB,CAAH,GAAmC,IAAxD;AAAvD;AAAnD;AAAtB,SAAP,EAA0M2qM,MAA1M,EAAvW,EAA0jB,KAAKwsD,aAAL,GAAmB,IAAI3rD,EAAJ,CAAO;AAACyB,UAAAA,GAAG,EAAC,KAAL;AAAWj9J,UAAAA,UAAU,EAAC;AAACm/J,YAAAA,KAAK,EAAC,CAAC,IAAD,EAAM,0BAAN,EAAiCz4O,CAAC,CAACm2O,EAAF,CAAK,UAAL,EAAgB,iCAAhB,CAAjC,EAAoFn2O,CAAC,CAACm2O,EAAF,CAAK,+BAAL,EAAqC,8CAArC,CAApF,CAAP;AAAiLvlM,YAAAA,KAAK,EAAC;AAACxH,cAAAA,KAAK,EAACppC,CAAC,CAAC8hJ,EAAF,CAAK,UAAL,EAAiBzsJ,CAAC,IAAEA,CAAC,GAACgrS,EAAE,CAAC,KAAKE,wBAAL,CAA8B71D,qBAA9B,GAAsDthM,KAAvD,CAAH,GAAiE,IAAtF,CAAP;AAAoGG,cAAAA,GAAG,EAACvpC,CAAC,CAAC8hJ,EAAF,CAAK,kBAAL,EAAyBzsJ,CAAC,IAAEA,CAAC,GAACgrS,EAAE,CAAChrS,CAAD,CAAH,GAAOA,CAApC,CAAxG;AAAgJy0O,cAAAA,MAAM,EAAC9pO,CAAC,CAAC8hJ,EAAF,CAAK,qBAAL,EAA4BzsJ,CAAC,IAAEA,CAAC,GAACgrS,EAAE,CAAChrS,CAAD,CAAH,GAAOA,CAAvC,CAAvJ;AAAkMqrS,cAAAA,UAAU,EAAC1gS,CAAC,CAAC8hJ,EAAF,CAAK,aAAL;AAA7M;AAAvL,WAAtB;AAAgbnlL,UAAAA,QAAQ,EAAC,KAAKy8G;AAA9b,SAAP,EAA+c66J,MAA/c,EAA7kB,EAAqiC,KAAKgB,WAAL,CAAiB;AAACsB,UAAAA,GAAG,EAAC,KAAL;AAAWj9J,UAAAA,UAAU,EAAC;AAACm/J,YAAAA,KAAK,EAAC,CAAC,IAAD,EAAM,iBAAN;AAAP,WAAtB;AAAuD97Q,UAAAA,QAAQ,EAAC,CAAC,KAAK4jU,wBAAN,EAA+B,KAAKE,aAApC;AAAhE,SAAjB,CAAriC;AAA2qC;;AAAAxsD,MAAAA,MAAM,GAAE;AAAC,cAAMA,MAAN,IAAe,KAAK0sD,qBAAL,EAAf,EAA4C,KAAK9lE,QAAL,CAAc0O,EAAE,CAACxyO,QAAjB,EAA0B,QAA1B,EAAoC,MAAI;AAAC,eAAK4pS,qBAAL;AAA6B,SAAtE,EAAwE;AAACh+J,UAAAA,UAAU,EAAC,CAAC;AAAb,SAAxE,CAA5C,EAAqI,KAAKk4F,QAAL,CAAc,IAAd,EAAmB,iBAAnB,EAAsC,MAAI;AAAC,eAAK8lE,qBAAL;AAA6B,SAAxE,CAArI;AAAgN;;AAAAA,MAAAA,qBAAqB,GAAE;AAAC,YAAG,CAAC,KAAKrxD,cAAN,IAAsB,CAAC,KAAKsxD,QAA/B,EAAwC,OAAO,KAAK,KAAKC,QAAL,EAAZ;AAA4B,cAAMxrS,CAAC,GAAC,IAAI+0O,EAAJ,CAAO,KAAKkF,cAAZ,CAAR;AAAoC,YAAItvO,CAAC,GAAC3K,CAAC,CAAC21O,UAAF,EAAN;;AAAqB,YAAGhrO,CAAH,EAAK;AAAC,gBAAM3K,CAAC,GAAC,IAAI+0O,EAAJ,CAAOb,EAAE,CAAC/0P,MAAV,CAAR;AAA0B6gB,UAAAA,CAAC,CAACk0C,GAAF,IAAO,KAAKu3P,iBAAZ,EAA8BzrS,CAAC,CAACi0C,MAAF,IAAU,KAAKw3P,iBAA7C,EAA+D9gS,CAAC,GAACA,CAAC,CAAC6qO,eAAF,CAAkBx1O,CAAlB,CAAjE;AAAsF;;AAAA,YAAG2K,CAAC,IAAE3K,CAAC,CAACk0C,GAAF,GAAMvpC,CAAC,CAACupC,GAAd,EAAkB;AAAC,gBAAM3pC,CAAC,GAACI,CAAC,CAACupC,GAAV;;AAAc,cAAG3pC,CAAC,GAAC,KAAK4gS,iBAAL,CAAuBl3P,MAAzB,GAAgC,KAAKy3P,mBAArC,GAAyD/gS,CAAC,CAAC8pO,MAA9D,EAAqE;AAAC,kBAAMlqO,CAAC,GAAC2xB,IAAI,CAAC1qC,GAAL,CAASwO,CAAC,CAACy0O,MAAF,GAAS9pO,CAAC,CAAC8pO,MAApB,EAA2B,CAA3B,IAA8B,KAAKi3D,mBAA3C;AAA+D1rS,YAAAA,CAAC,CAACy0O,MAAF,GAASlqO,CAAT,GAAWvK,CAAC,CAACk0C,GAAF,GAAM,KAAKi3P,iBAAL,CAAuBl3P,MAAxC,GAA+C,KAAK03P,uBAAL,CAA6BphS,CAA7B,CAA/C,GAA+E,KAAKihS,QAAL,EAA/E;AAA+F,WAApO,MAAyO,KAAKL,iBAAL,CAAuBl3P,MAAvB,GAA8B,KAAKy3P,mBAAnC,GAAuD1rS,CAAC,CAACi0C,MAAzD,GAAgE,KAAK23P,sBAAL,CAA4BrhS,CAA5B,CAAhE,GAA+F,KAAKihS,QAAL,EAA/F;AAA+G,SAAzX,MAA8X,KAAKA,QAAL;AAAgB;;AAAAI,MAAAA,sBAAsB,CAAC5rS,CAAD,EAAG;AAAC,aAAK6rS,QAAL,GAAc,CAAC,CAAf,EAAiB,KAAKC,6BAAL,GAAmC,CAAC,CAArD,EAAuD,KAAKC,gBAAL,GAAsB/rS,CAA7E,EAA+E,KAAKgsS,mBAAL,GAAyB,IAAxG,EAA6G,KAAKC,WAAL,GAAiBjB,EAAE,CAAC,CAAC92D,EAAE,CAAC/0P,MAAH,CAAU82P,OAAZ,CAAhI;AAAqJ;;AAAA01D,MAAAA,uBAAuB,CAAC3rS,CAAD,EAAG;AAAC,aAAK6rS,QAAL,GAAc,CAAC,CAAf,EAAiB,KAAKC,6BAAL,GAAmC,CAAC,CAArD,EAAuD,KAAKC,gBAAL,GAAsB,IAA7E,EAAkF,KAAKC,mBAAL,GAAyBhsS,CAA3G,EAA6G,KAAKisS,WAAL,GAAiBjB,EAAE,CAAC,CAAC92D,EAAE,CAAC/0P,MAAH,CAAU82P,OAAZ,CAAhI;AAAqJ;;AAAAu1D,MAAAA,QAAQ,GAAE;AAAC,aAAKK,QAAL,GAAc,CAAC,CAAf,EAAiB,KAAKC,6BAAL,GAAmC,CAAC,CAArD,EAAuD,KAAKC,gBAAL,GAAsB,IAA7E,EAAkF,KAAKC,mBAAL,GAAyB,IAA3G,EAAgH,KAAKC,WAAL,GAAiB,IAAjI;AAAsI;;AAAqB,UAAjBd,iBAAiB,GAAE;AAAC,eAAO,IAAIp2D,EAAJ,CAAO,KAAKq2D,aAAZ,CAAP;AAAkC;;AAA1nF;;AAA2nF,UAAMc,EAAN,SAAiB3mD,EAAjB,CAAmB;AAAC9lR,MAAAA,WAAW,CAACugC,CAAD,EAAG2K,CAAH,EAAK;AAAC,cAAMJ,CAAC,GAACvK,CAAC,CAACA,CAAV;AAAA,cAAYuM,CAAC,GAACpK,MAAM,CAACC,MAAP,CAAc,EAAd,EAAiB;AAAC+pS,UAAAA,eAAe,EAAC,CAAC,CAAlB;AAAoBC,UAAAA,QAAQ,EAAC,CAAC,CAA9B;AAAgCrtN,UAAAA,OAAO,EAACq+M;AAAxC,SAAjB,EAA6DzyR,CAA7D,CAAd;AAA8E,cAAM3K,CAAN,EAAQuM,CAAC,CAACwyE,OAAV,GAAmB,KAAKrzE,KAAL,GAAWf,CAAC,CAACe,KAAhC,EAAsC,KAAK2gS,WAAL,GAAiB9/R,CAAvD,EAAyD,KAAK8/R,WAAL,CAAiBD,QAAjB,KAA4B,KAAK/nD,QAAL,GAAc,IAAI33O,EAAJ,EAAd,EAAqB,KAAK23O,QAAL,CAActgK,OAAd,GAAsBgyM,EAAE,CAACS,KAA9C,EAAoD,KAAK5wC,oBAAL,CAA0BhxP,GAA1B,CAA8B,KAAKyvP,QAAnC,EAA4C,CAA5C,CAApD,EAAmG,KAAKxE,cAAL,CAAoB;AAAC57J,UAAAA,UAAU,EAAC;AAACm/J,YAAAA,KAAK,EAAC;AAAP;AAAZ,SAApB,CAA/H,CAAzD,EAAgQ,KAAKipD,WAAL,CAAiBF,eAAjB,KAAmC,KAAKG,eAAL,GAAqB,IAAI58G,EAAJ,CAAO1vL,CAAP,CAArB,EAA+B,KAAKssS,eAAL,CAAqBxnS,GAArB,CAAyB;AAAC4G,UAAAA,KAAK,EAACnB,CAAC,CAAC,OAAD,CAAR;AAAkBjtB,UAAAA,IAAI,EAACy4S,EAAE,CAACzyM,MAA1B;AAAiC8/J,UAAAA,KAAK,EAAC,kBAAvC;AAA0D+3C,UAAAA,SAAS,EAAC,CAAC,CAArE;AAAuE7B,UAAAA,OAAO,EAAC,CAAC;AAAhF,SAAzB,CAA/B,EAA4I,KAAKgT,eAAL,CAAqB7qT,EAArB,CAAwB,SAAxB,EAAmC,MAAI;AAAC,eAAKsI,KAAL,IAAa,KAAKipD,KAAL,EAAb,EAA0B,KAAK0yC,IAAL,CAAU,OAAV,CAA1B;AAA6C,SAArF,CAA5I,EAAoO,KAAK4mN,eAAL,CAAqBv3S,IAArB,CAA0B,WAA1B,EAAuC03J,EAAvC,CAA0C,KAAK+4F,SAA/C,EAAyD,SAAzD,EAAoExlP,CAAC,IAAE,CAACA,CAAxE,CAApO,EAAgT,KAAK4lP,oBAAL,CAA0BhxP,GAA1B,CAA8B,KAAK03S,eAAnC,CAAhT,EAAoW,KAAKzsD,cAAL,CAAoB;AAAC57J,UAAAA,UAAU,EAAC;AAACm/J,YAAAA,KAAK,EAAC;AAAP;AAAZ,SAApB,CAAvY,CAAhQ;AAAgtB;;AAAAr5P,MAAAA,KAAK,GAAE;AAAC,aAAKy7P,SAAL,CAAez7P,KAAf,IAAuB,KAAKsiT,WAAL,CAAiBF,eAAjB,KAAmC,KAAKG,eAAL,CAAqBnR,SAArB,GAA+B,CAAC,CAAnE,CAAvB;AAA6F;;AAAr5B;;AAAs5B,UAAMoR,EAAN,SAAiBptD,EAAjB,CAAmB;AAAC1/Q,MAAAA,WAAW,GAAE;AAAC;AAAQ,cAAMugC,CAAC,GAAC,KAAKu/O,YAAb;AAA0B,aAAKz6O,GAAL,CAAS;AAACq2R,UAAAA,SAAS,EAAC,CAAC,CAAZ;AAAcqR,UAAAA,WAAW,EAAC,EAA1B;AAA6BC,UAAAA,aAAa,EAAC;AAA3C,SAAT,GAAyD,KAAK7sD,WAAL,CAAiB;AAACsB,UAAAA,GAAG,EAAC,KAAL;AAAWj9J,UAAAA,UAAU,EAAC;AAACm/J,YAAAA,KAAK,EAAC,CAAC,IAAD,EAAM,iBAAN,EAAwBpjP,CAAC,CAAC8gP,EAAF,CAAK,WAAL,EAAiB,WAAjB,EAA8B9gP,CAAC,IAAE,CAACA,CAAlC,CAAxB,CAAP;AAAsEykP,YAAAA,QAAQ,EAAC,CAAC;AAAhF,WAAtB;AAAyGn9Q,UAAAA,QAAQ,EAAC,CAAC;AAAC45Q,YAAAA,GAAG,EAAC,MAAL;AAAY55Q,YAAAA,QAAQ,EAAC,CAAC;AAACyqI,cAAAA,IAAI,EAAC,CAAC/xG,CAAC,CAACysJ,EAAF,CAAK,aAAL,CAAD;AAAN,aAAD;AAArB,WAAD,EAAsD;AAACy0F,YAAAA,GAAG,EAAC,MAAL;AAAY55Q,YAAAA,QAAQ,EAAC,CAAC;AAACyqI,cAAAA,IAAI,EAAC,CAAC/xG,CAAC,CAACysJ,EAAF,CAAK,eAAL,CAAD;AAAN,aAAD;AAArB,WAAtD;AAAlH,SAAjB,CAAzD;AAA4S;;AAAAz5G,MAAAA,KAAK,GAAE;AAAC,aAAKhqD,OAAL,CAAagqD,KAAb;AAAqB;;AAA1X;;AAA2X,UAAM05P,EAAN,SAAiBvtD,EAAjB,CAAmB;AAAC1/Q,MAAAA,WAAW,CAACugC,CAAD,EAAG;AAAC,cAAMA,CAAN,GAAS,KAAK14B,QAAL,GAAc,KAAKg4Q,gBAAL,EAAvB,EAA+C,KAAKwG,YAAL,GAAkB,IAAI3vD,EAAJ,EAAjE,EAAwE,KAAKypD,WAAL,CAAiB;AAACsB,UAAAA,GAAG,EAAC,KAAL;AAAWj9J,UAAAA,UAAU,EAAC;AAACm/J,YAAAA,KAAK,EAAC,CAAC,IAAD,EAAM,oBAAN,CAAP;AAAmCqB,YAAAA,QAAQ,EAAC,CAAC;AAA7C,WAAtB;AAAsEn9Q,UAAAA,QAAQ,EAAC,KAAKA;AAApF,SAAjB,CAAxE,EAAwL,KAAKoxT,YAAL,GAAkB,IAAIlwC,EAAJ,CAAO;AAACC,UAAAA,UAAU,EAAC,KAAKnhR,QAAjB;AAA0Bw+Q,UAAAA,YAAY,EAAC,KAAKA;AAA5C,SAAP,CAA1M;AAA4Q;;AAAAlH,MAAAA,MAAM,GAAE;AAAC,cAAMA,MAAN;;AAAe,aAAI,MAAM5+O,CAAV,IAAe,KAAK14B,QAApB,EAA6B,KAAKw+Q,YAAL,CAAkBlxP,GAAlB,CAAsBoL,CAAC,CAAChX,OAAxB;AAAiC;;AAAAgqD,MAAAA,KAAK,GAAE;AAAC,aAAK0lP,YAAL,CAAkB9vC,UAAlB;AAA+B;;AAAAA,MAAAA,UAAU,GAAE;AAAC,aAAK8vC,YAAL,CAAkB9vC,UAAlB;AAA+B;;AAAA9B,MAAAA,SAAS,GAAE;AAAC,aAAK4xC,YAAL,CAAkB5xC,SAAlB;AAA8B;;AAA/e;;AAAgf,QAAI6lD,EAAE,GAAC,qBAAP;AAAA,QAA6BC,EAAE,GAACx3S,MAAM,CAACu3S,EAAE,CAACpwR,MAAJ,CAAtC;;AAAkD,UAAMswR,EAAE,GAAC,UAAS7sS,CAAT,EAAW;AAAC,aAAM,CAACA,CAAC,GAACqvP,EAAE,CAACrvP,CAAD,CAAL,KAAW4sS,EAAE,CAACv3S,IAAH,CAAQ2K,CAAR,CAAX,GAAsBA,CAAC,CAAC3gB,OAAF,CAAUstT,EAAV,EAAa,MAAb,CAAtB,GAA2C3sS,CAAjD;AAAmD,KAAxE;;AAAyE,QAAI8sS,EAAE,GAACviS,CAAC,CAAC,IAAD,CAAR;AAAA,QAAewiS,EAAE,GAAC;AAAC9tD,MAAAA,UAAU,EAAC,mBAAZ;AAAgCh7J,MAAAA,UAAU,EAAC;AAAC,oBAAW,CAAC;AAAb,OAA3C;AAA2DqC,MAAAA,MAAM,EAAC,MAAlE;AAAyEy9I,MAAAA,SAAS,EAAC,CAAC;AAApF,KAAlB;AAAyG+a,IAAAA,EAAE,GAAGguD,EAAE,CAACvqE,CAAN,EAAQwqE,EAAR,CAAF;AAAcD,IAAAA,EAAE,CAACvqE,CAAH,CAAK2c,MAAL;;AAAY,UAAM8tD,EAAN,SAAiB7tD,EAAjB,CAAmB;AAAC1/Q,MAAAA,WAAW,CAACugC,CAAD,EAAG2K,CAAH,EAAK;AAAC,cAAM3K,CAAN,GAAS,KAAKoiF,OAAL,GAAaz3E,CAAtB,EAAwB,KAAKsiS,YAAL,GAAkBtiS,CAAC,CAACsiS,YAA5C,EAAyD,KAAKC,SAAL,GAAe,KAAKC,0BAAL,EAAxE,EAA0G,KAAKrnD,YAAL,GAAkB,IAAI3vD,EAAJ,EAA5H,EAAmI,KAAKixD,UAAL,GAAgB,IAAIvJ,EAAJ,EAAnJ,EAA0J,KAAKuvD,WAAL,GAAiB,IAAIV,EAAJ,CAAO1sS,CAAP,CAA3K,EAAqL,KAAK14B,QAAL,GAAc,KAAKg4Q,gBAAL,EAAnM,EAA2N,KAAK+tD,iBAAL,GAAuB,KAAK/tD,gBAAL,CAAsB,CAAC,KAAK4tD,SAAN,EAAgB,KAAKE,WAArB,CAAtB,CAAlP,EAA2S,KAAKtoS,GAAL,CAAS,WAAT,EAAqB,CAAC,CAAtB,CAA3S,EAAoU,KAAKA,GAAL,CAAS,cAAT,EAAwB,CAAxB,CAApU,EAA+V,KAAKA,GAAL,CAAS,iBAAT,EAA2B,CAA3B,CAA/V,EAA6X6F,CAAC,CAAC2iS,QAAF,IAAY3iS,CAAC,CAAC2iS,QAAF,CAAWjvS,QAAvB,GAAgC,KAAKivS,QAAL,GAAc3iS,CAAC,CAAC2iS,QAAF,CAAWjvS,QAAzD,IAAmE,KAAKivS,QAAL,GAAc,IAAIf,EAAJ,EAAd,EAAqB,KAAKgB,8BAAL,EAArB,EAA2D,KAAK9rT,EAAL,CAAQ,QAAR,EAAkB,MAAI;AAAC,eAAKw/D,MAAL,CAAY,EAAZ;AAAgB,SAAvC,CAA9H,CAA7X,EAAsiB,KAAKmsP,WAAL,CAAiB9lU,QAAjB,CAA0By1Q,OAA1B,CAAkC,CAAC,KAAKuwD,QAAN,EAAe,KAAKL,YAApB,CAAlC,CAAtiB,EAA2mB,KAAKO,WAAL,GAAiB,IAAIhlD,EAAJ,CAAO;AAACC,UAAAA,UAAU,EAAC,KAAK4kD,iBAAjB;AAAmCvnD,UAAAA,YAAY,EAAC,KAAKA,YAArD;AAAkE4C,UAAAA,gBAAgB,EAAC,KAAKtB,UAAxF;AAAmGuB,UAAAA,OAAO,EAAC;AAACK,YAAAA,aAAa,EAAC,aAAf;AAA6BD,YAAAA,SAAS,EAAC;AAAvC;AAA3G,SAAP,CAA5nB,EAA8xB,KAAKtnQ,EAAL,CAAQ,QAAR,EAAkB,CAACue,CAAD,EAAG;AAACytS,UAAAA,YAAY,EAAC9iS,CAAd;AAAgB+iS,UAAAA,eAAe,EAACnjS;AAAhC,SAAH,KAAwC;AAAC,eAAKkjS,YAAL,GAAkB9iS,CAAlB,EAAoB,KAAK+iS,eAAL,GAAqBnjS,CAAzC;AAA2C,SAAtG,CAA9xB,EAAu4B,KAAKq1O,WAAL,CAAiB;AAACsB,UAAAA,GAAG,EAAC,KAAL;AAAWj9J,UAAAA,UAAU,EAAC;AAACm/J,YAAAA,KAAK,EAAC,CAAC,IAAD,EAAM,WAAN,EAAkBz4O,CAAC,CAACy4O,KAAF,IAAS,IAA3B,CAAP;AAAwCqB,YAAAA,QAAQ,EAAC;AAAjD,WAAtB;AAA6En9Q,UAAAA,QAAQ,EAAC,KAAKA;AAA3F,SAAjB,CAAv4B;AAA8/B;;AAAAs3Q,MAAAA,MAAM,GAAE;AAAC,cAAMA,MAAN,IAAe,KAAKt3Q,QAAL,CAAcy1Q,OAAd,CAAsB,CAAC,KAAKmwD,SAAN,EAAgB,KAAKE,WAArB,CAAtB,CAAf;;AAAwE,cAAMptS,CAAC,GAACA,CAAC,IAAEA,CAAC,CAACgqN,eAAF,EAAX;;AAA+B,aAAI,MAAMhqN,CAAV,IAAe,KAAKqtS,iBAApB,EAAsC,KAAKvnD,YAAL,CAAkBlxP,GAAlB,CAAsBoL,CAAC,CAAChX,OAAxB;;AAAiC,aAAKo+P,UAAL,CAAgB5hB,QAAhB,CAAyB,KAAKx8O,OAA9B,GAAuC,KAAKo+P,UAAL,CAAgBtiP,GAAhB,CAAoB,YAApB,EAAiC9E,CAAjC,CAAvC,EAA2E,KAAKonP,UAAL,CAAgBtiP,GAAhB,CAAoB,WAApB,EAAgC9E,CAAhC,CAA3E,EAA8G,KAAKonP,UAAL,CAAgBtiP,GAAhB,CAAoB,SAApB,EAA8B9E,CAA9B,CAA9G,EAA+I,KAAKonP,UAAL,CAAgBtiP,GAAhB,CAAoB,WAApB,EAAgC9E,CAAhC,CAA/I;AAAkL;;AAAAgzC,MAAAA,KAAK,GAAE;AAAC,aAAKk6P,SAAL,CAAel6P,KAAf;AAAuB;;AAAAjpD,MAAAA,KAAK,GAAE;AAAC,aAAKmjT,SAAL,CAAenjT,KAAf,IAAuB,KAAKk3D,MAAL,CAAY,EAAZ,CAAvB;AAAuC;;AAAAA,MAAAA,MAAM,CAACjhD,CAAD,EAAG;AAAC,cAAM2K,CAAC,GAAC3K,CAAC,GAAC,IAAI5K,MAAJ,CAAWy3S,EAAE,CAAC7sS,CAAD,CAAb,EAAiB,IAAjB,CAAD,GAAwB,IAAjC;AAAA,cAAsCuK,CAAC,GAAC,KAAK0iS,YAAL,CAAkBtjU,MAAlB,CAAyBghC,CAAzB,CAAxC;AAAoE,aAAK+6E,IAAL,CAAU,QAAV,EAAmB;AAAChvG,UAAAA,KAAK,EAACspB,CAAP;AAAS,aAAGuK;AAAZ,SAAnB;AAAmC;;AAAA4iS,MAAAA,0BAA0B,GAAE;AAAC,cAAMntS,CAAC,GAAC,IAAIksS,EAAJ,CAAO,KAAK/0G,MAAZ,EAAmB,KAAK/0G,OAAL,CAAa8qN,SAAhC,CAAR;AAAmD,eAAO,KAAK1nE,QAAL,CAAcxlO,CAAC,CAACwlP,SAAhB,EAA0B,OAA1B,EAAmC,MAAI;AAAC,eAAKvkM,MAAL,CAAYjhD,CAAC,CAACwlP,SAAF,CAAYx8P,OAAZ,CAAoB9X,KAAhC;AAAuC,SAA/E,GAAkF8uB,CAAC,CAACve,EAAF,CAAK,OAAL,EAAc,MAAI,KAAKsI,KAAL,EAAlB,CAAlF,EAAmHiW,CAAC,CAACjL,IAAF,CAAO,WAAP,EAAoB03J,EAApB,CAAuB,IAAvB,CAAnH,EAAgJzsJ,CAAvJ;AAAyJ;;AAAAutS,MAAAA,8BAA8B,GAAE;AAAC,cAAMvtS,CAAC,GAAC,KAAKm3L,MAAL,CAAYn3L,CAApB;AAAA,cAAsB2K,CAAC,GAAC,KAAK2iS,QAA7B;;AAAsC,iBAAS/iS,CAAT,CAAWvK,CAAX,EAAa;AAACtpB,UAAAA,KAAK,EAACi0B,CAAP;AAAS8iS,UAAAA,YAAY,EAACljS,CAAtB;AAAwBmjS,UAAAA,eAAe,EAACnhS;AAAxC,SAAb,EAAwD;AAAC,iBAAM,cAAY,OAAOvM,CAAnB,GAAqBA,CAAC,CAAC2K,CAAD,EAAGJ,CAAH,EAAKgC,CAAL,CAAtB,GAA8BvM,CAApC;AAAsC;;AAAA,aAAKve,EAAL,CAAQ,QAAR,EAAkB,CAAC8qB,CAAD,EAAG51B,CAAH,KAAO;AAAC,cAAGA,CAAC,CAAC82T,YAAL,EAAkB9iS,CAAC,CAAC7F,GAAF,CAAM;AAACq2R,YAAAA,SAAS,EAAC,CAAC;AAAZ,WAAN,EAAlB,KAA4C;AAAC,kBAAM5uR,CAAC,GAAC,KAAK61E,OAAL,CAAakrN,QAAb,IAAuB,KAAKlrN,OAAL,CAAakrN,QAAb,CAAsBv7L,IAArD;AAA0D,gBAAItlG,CAAJ,EAAMnC,CAAN;AAAQ3zB,YAAAA,CAAC,CAAC+2T,eAAF,GAAkBnhS,CAAC,IAAEA,CAAC,CAACohS,QAAL,IAAelhS,CAAC,GAACF,CAAC,CAACohS,QAAF,CAAWC,OAAb,EAAqBtjS,CAAC,GAACiC,CAAC,CAACohS,QAAF,CAAWE,SAAjD,KAA6DphS,CAAC,GAACzM,CAAC,CAAC,kBAAD,CAAH,EAAwBsK,CAAC,GAAC,EAAvF,CAAlB,GAA6GiC,CAAC,IAAEA,CAAC,CAACuhS,iBAAL,IAAwBrhS,CAAC,GAACF,CAAC,CAACuhS,iBAAF,CAAoBF,OAAtB,EAA8BtjS,CAAC,GAACiC,CAAC,CAACuhS,iBAAF,CAAoBD,SAA5E,KAAwFphS,CAAC,GAACzM,CAAC,CAAC,qBAAD,CAAH,EAA2BsK,CAAC,GAAC,EAArH,CAA7G,EAAsOK,CAAC,CAAC7F,GAAF,CAAM;AAAC0nS,cAAAA,WAAW,EAACjiS,CAAC,CAACkC,CAAD,EAAG91B,CAAH,CAAd;AAAoB81T,cAAAA,aAAa,EAACliS,CAAC,CAACD,CAAD,EAAG3zB,CAAH,CAAnC;AAAyCwkT,cAAAA,SAAS,EAAC,CAAC;AAApD,aAAN,CAAtO;AAAoS;AAAC,SAA9a;AAAib;;AAAx3E;;AAAy3E,QAAI4S,EAAE,GAACxjS,CAAC,CAAC,IAAD,CAAR;AAAA,QAAeyjS,EAAE,GAAC;AAAC/uD,MAAAA,UAAU,EAAC,mBAAZ;AAAgCh7J,MAAAA,UAAU,EAAC;AAAC,oBAAW,CAAC;AAAb,OAA3C;AAA2DqC,MAAAA,MAAM,EAAC,MAAlE;AAAyEy9I,MAAAA,SAAS,EAAC,CAAC;AAApF,KAAlB;AAAyG+a,IAAAA,EAAE,GAAGivD,EAAE,CAACxrE,CAAN,EAAQyrE,EAAR,CAAF;AAAcD,IAAAA,EAAE,CAACxrE,CAAH,CAAK2c,MAAL;;AAAY,UAAM+uD,EAAN,SAAiBjB,EAAjB,CAAmB;AAACvtU,MAAAA,WAAW,CAACugC,CAAD,EAAG2K,CAAH,EAAK;AAAC,cAAM3K,CAAN,EAAQ2K,CAAR,GAAW,KAAKy3E,OAAL,GAAaz3E,CAAxB;AAA0B,cAAMJ,CAAC,GAACmtO,EAAE,CAAC,IAAD,CAAV;AAAiB,aAAKmI,cAAL,CAAoB;AAAC57J,UAAAA,UAAU,EAAC;AAACm/J,YAAAA,KAAK,EAAC,CAAC,iBAAD;AAAP;AAAZ,SAApB;AAA8D,cAAM72O,CAAC,GAAC,KAAK6gS,WAAL,CAAiB7tD,YAAzB;AAAsC,aAAK6tD,WAAL,CAAiBtoS,GAAjB,CAAqB,WAArB,EAAiC,CAAC,CAAlC,GAAqC,KAAKsoS,WAAL,CAAiBtoS,GAAjB,CAAqB,WAArB,EAAiC,GAAjC,CAArC,EAA2E,KAAKsoS,WAAL,CAAiBtoS,GAAjB,CAAqB,QAArB,EAA8B,CAA9B,CAA3E,EAA4G,KAAKsoS,WAAL,CAAiBvtD,cAAjB,CAAgC;AAAC57J,UAAAA,UAAU,EAAC;AAACm/J,YAAAA,KAAK,EAAC,CAAC72O,CAAC,CAACu0O,EAAF,CAAK,WAAL,EAAiB,WAAjB,EAA8B9gP,CAAC,IAAE,CAACA,CAAlC,CAAD,EAAuCuM,CAAC,CAACkgJ,EAAF,CAAK,WAAL,EAAkBzsJ,CAAC,IAAG,sBAAqBA,CAAE,EAA7C,CAAvC,CAAP;AAAgGu7C,YAAAA,KAAK,EAAC;AAACxH,cAAAA,KAAK,EAACxnC,CAAC,CAACkgJ,EAAF,CAAK,QAAL,EAAcliJ,CAAd;AAAP;AAAtG;AAAZ,SAAhC,CAA5G,EAA0R,KAAKu7O,YAAL,CAAkBrkQ,EAAlB,CAAqB,kBAArB,EAAyC,CAACue,CAAD,EAAGuK,CAAH,EAAKgC,CAAL,KAAS;AAAC,eAAK2hS,wBAAL,IAAgC3hS,CAAC,GAAC,KAAK6gS,WAAL,CAAiBpkT,OAAjB,CAAyBK,SAAzB,GAAmC,CAApC,GAAsCshB,CAAC,CAACwjS,WAAF,IAAe,KAAKjB,SAAL,CAAenjT,KAAf,EAAtF;AAA6G,SAAhK,CAA1R,EAA6b,KAAKtI,EAAL,CAAQ,QAAR,EAAkB,MAAI;AAAC,eAAKysT,wBAAL,IAAgC,KAAKE,kCAAL,EAAhC;AAA0E,SAAjG,CAA7b,EAAiiB,KAAKhnD,UAAL,CAAgBtiP,GAAhB,CAAoB,KAApB,EAA2B,CAAC9E,CAAD,EAAG2K,CAAH,KAAO;AAAC,eAAKyiS,WAAL,CAAiBjS,SAAjB,KAA6B,KAAK+R,SAAL,CAAel6P,KAAf,IAAuB,KAAKo6P,WAAL,CAAiBjS,SAAjB,GAA2B,CAAC,CAAnD,EAAqDxwR,CAAC,EAAnF;AAAuF,SAA1H,CAAjiB,EAA8pB,KAAK66N,QAAL,CAAc0O,EAAE,CAACxyO,QAAjB,EAA0B,QAA1B,EAAoC,MAAI;AAAC,eAAK0sS,kCAAL;AAA0C,SAAnF,CAA9pB,EAAovB,KAAK3sT,EAAL,CAAQ,kBAAR,EAA4B,MAAI;AAAC,eAAKysT,wBAAL;AAAgC,SAAjE,CAApvB,EAAwzB,KAAKjB,YAAL,CAAkBxrT,EAAlB,CAAqB,SAArB,EAAgC,CAACue,CAAD,EAAG;AAAC9uB,UAAAA,KAAK,EAACy5B;AAAP,SAAH,KAAe;AAAC,eAAKqoC,KAAL,IAAa,KAAKjpD,KAAL,EAAb,EAA0B,KAAKmjT,SAAL,CAAe1nD,SAAf,CAAyBt0Q,KAAzB,GAA+B,KAAKg8T,SAAL,CAAe1nD,SAAf,CAAyBx8P,OAAzB,CAAiC9X,KAAjC,GAAuCy5B,CAAhG,EAAkG,KAAKyiS,WAAL,CAAiBjS,SAAjB,GAA2B,CAAC,CAA9H;AAAgI,SAAhL,CAAxzB,EAA2+B,KAAKiS,WAAL,CAAiB3rT,EAAjB,CAAoB,kBAApB,EAAwC,MAAI;AAAC,eAAK2sT,kCAAL;AAA0C,SAAvF,CAA3+B;AAAqkC;;AAAAA,MAAAA,kCAAkC,GAAE;AAAC,YAAG,CAAC,KAAKhB,WAAL,CAAiBjS,SAArB,EAA+B;AAAO,aAAKiS,WAAL,CAAiBiB,MAAjB,GAAwB,IAAIt5D,EAAJ,CAAO,KAAKm4D,SAAL,CAAe1nD,SAAf,CAAyBx8P,OAAhC,EAAyC+qD,KAAjE;;AAAuE,cAAM/zC,CAAC,GAACiuS,EAAE,CAAC1mD,mBAAH,CAAuB;AAACv+P,UAAAA,OAAO,EAAC,KAAKokT,WAAL,CAAiBpkT,OAA1B;AAAkC4kC,UAAAA,MAAM,EAAC,KAAKs/Q,SAAL,CAAelkT,OAAxD;AAAgEovP,UAAAA,aAAa,EAAC,CAAC,CAA/E;AAAiFF,UAAAA,SAAS,EAAC+1D,EAAE,CAACK;AAA9F,SAAvB,CAAR;;AAAuJ,aAAKlB,WAAL,CAAiB34C,SAAjB,GAA2Bz0P,CAAC,GAACA,CAAC,CAACxvB,IAAH,GAAQ,GAApC;AAAwC;;AAAA09T,MAAAA,wBAAwB,GAAE;AAAC,cAAMluS,CAAC,GAAC,KAAK,CAAL,KAAS,KAAKoiF,OAAL,CAAamsN,aAAtB,GAAoC,CAApC,GAAsC,KAAKnsN,OAAL,CAAamsN,aAA3D;AAAA,cAAyE5jS,CAAC,GAAC,KAAKuiS,SAAL,CAAe1nD,SAAf,CAAyBx8P,OAAzB,CAAiC9X,KAAjC,CAAuCvE,MAAlH;AAAyH,aAAKygU,WAAL,CAAiBjS,SAAjB,GAA2B,KAAKr1C,YAAL,CAAkBlI,SAAlB,IAA6B,KAAKvjH,SAAlC,IAA6C1vH,CAAC,IAAE3K,CAA3E;AAA6E;;AAAxxD;;AAAyxDiuS,IAAAA,EAAE,CAACK,uBAAH,GAA2B,CAACtuS,CAAC,KAAG;AAACk0C,MAAAA,GAAG,EAACl0C,CAAC,CAACy0O,MAAP;AAAcrgM,MAAAA,IAAI,EAACp0C,CAAC,CAACo0C,IAArB;AAA0B5jE,MAAAA,IAAI,EAAC;AAA/B,KAAH,CAAF,EAA0C,CAACwvB,CAAD,EAAG2K,CAAH,MAAQ;AAACupC,MAAAA,GAAG,EAACl0C,CAAC,CAACk0C,GAAF,GAAMvpC,CAAC,CAACspC,MAAb;AAAoBG,MAAAA,IAAI,EAACp0C,CAAC,CAACo0C,IAA3B;AAAgC5jE,MAAAA,IAAI,EAAC;AAArC,KAAR,CAA1C,CAA3B,EAAyHy9T,EAAE,CAAC1mD,mBAAH,GAAuBtP,EAAhJ;AAAmJ,QAAIu2D,EAAE,GAACjkS,CAAC,CAAC,IAAD,CAAR;AAAA,QAAekkS,EAAE,GAAC;AAACxvD,MAAAA,UAAU,EAAC,mBAAZ;AAAgCh7J,MAAAA,UAAU,EAAC;AAAC,oBAAW,CAAC;AAAb,OAA3C;AAA2DqC,MAAAA,MAAM,EAAC,MAAlE;AAAyEy9I,MAAAA,SAAS,EAAC,CAAC;AAApF,KAAlB;AAAyG+a,IAAAA,EAAE,GAAG0vD,EAAE,CAACjsE,CAAN,EAAQksE,EAAR,CAAF;AAAcD,IAAAA,EAAE,CAACjsE,CAAH,CAAK2c,MAAL;AAAY,QAAIwvD,EAAE,GAACnkS,CAAC,CAAC,IAAD,CAAR;AAAA,QAAeokS,EAAE,GAAC;AAAC1vD,MAAAA,UAAU,EAAC,mBAAZ;AAAgCh7J,MAAAA,UAAU,EAAC;AAAC,oBAAW,CAAC;AAAb,OAA3C;AAA2DqC,MAAAA,MAAM,EAAC,MAAlE;AAAyEy9I,MAAAA,SAAS,EAAC,CAAC;AAApF,KAAlB;AAAyG+a,IAAAA,EAAE,GAAG4vD,EAAE,CAACnsE,CAAN,EAAQosE,EAAR,CAAF;AAAcD,IAAAA,EAAE,CAACnsE,CAAH,CAAK2c,MAAL;AAAYxH,IAAAA,EAAE,CAAC,IAAD,CAAF;AAAS,QAAIk3D,EAAE,GAACrkS,CAAC,CAAC,IAAD,CAAR;AAAA,QAAeskS,EAAE,GAAC;AAAC5vD,MAAAA,UAAU,EAAC,mBAAZ;AAAgCh7J,MAAAA,UAAU,EAAC;AAAC,oBAAW,CAAC;AAAb,OAA3C;AAA2DqC,MAAAA,MAAM,EAAC,MAAlE;AAAyEy9I,MAAAA,SAAS,EAAC,CAAC;AAApF,KAAlB;AAAyG+a,IAAAA,EAAE,GAAG8vD,EAAE,CAACrsE,CAAN,EAAQssE,EAAR,CAAF;AAAcD,IAAAA,EAAE,CAACrsE,CAAH,CAAK2c,MAAL,EAAYxH,EAAE,CAAC,IAAD,CAAd;AAAqBA,IAAAA,EAAE,CAAC,IAAD,CAAF;;AAAS,UAAMo3D,EAAN,SAAiB3G,EAAjB,CAAmB;AAAC1oU,MAAAA,WAAW,CAACugC,CAAD,EAAG2K,CAAH,EAAK;AAAC,cAAM3K,CAAN,GAAS,KAAK81K,IAAL,GAAUnrK,CAAnB,EAAqB,KAAKokS,cAAL,GAAoB5lD,EAAE,CAACnpP,CAAC,CAACtgC,MAAF,CAASe,GAAT,CAAa,SAAb,CAAD,CAA3C,EAAqE,KAAKuuU,gBAAL,GAAsB,IAAI3nE,CAAJ,EAA3F,EAAiG,KAAK7B,QAAL,CAAcxlO,CAAC,CAACu1R,OAAF,CAAUz/G,IAAxB,EAA6B,sBAA7B,EAAoD,KAAKm5H,0CAAL,CAAgDl6S,IAAhD,CAAqD,IAArD,CAApD,CAAjG;AAAiN;;AAAW,UAAP/L,OAAO,GAAE;AAAC,eAAO,KAAK8sL,IAAL,CAAU9sL,OAAjB;AAAyB;;AAAAznB,MAAAA,IAAI,CAACy+B,CAAD,EAAG;AAAC,cAAM2K,CAAC,GAAC,KAAKq3E,MAAb;AAAA,cAAoBz3E,CAAC,GAAC,KAAKurK,IAA3B;AAAA,cAAgCvpK,CAAC,GAAC5B,CAAC,CAAC4qR,OAAF,CAAUz/G,IAA5C;AAAA,cAAiDn/L,CAAC,GAAC4zB,CAAC,CAAC06E,QAArD;AAAA,cAA8Dx4E,CAAC,GAACF,CAAC,CAAC7K,QAAF,CAAW0kF,OAAX,EAAhE;AAAqFzvG,QAAAA,CAAC,CAACnG,IAAF,GAAOi8B,CAAC,CAAC61E,QAAT,EAAkB/3E,CAAC,CAACq0O,MAAF,EAAlB;AAA6B,cAAMt0O,CAAC,GAAC3zB,CAAC,CAACqS,OAAV;AAAkB,aAAK8/S,kBAAL,CAAwBnyT,CAAC,CAACnG,IAA1B,EAA+B85B,CAA/B,GAAkCC,CAAC,CAAC06E,QAAF,CAAWlwF,IAAX,CAAgB,WAAhB,EAA6B03J,EAA7B,CAAgC,KAAKq5F,YAArC,CAAlC,EAAqFv5O,CAAC,CAAC+hQ,aAAF,CAAgBhkQ,CAAhB,CAArF,EAAwGtK,CAAC,IAAE,KAAKgvS,gBAAL,CAAsB3vT,OAAtB,CAA8B2gB,CAA9B,EAAgC,KAAKhX,OAArC,CAA3G,EAAyJ,KAAKkmT,gBAAL,EAAzJ,EAAiL,KAAKC,YAAL,EAAjL,EAAqM,KAAKzpN,IAAL,CAAU,OAAV,CAArM;AAAwN;;AAAA/G,MAAAA,OAAO,GAAE;AAAC,cAAMA,OAAN;AAAgB,cAAM3+E,CAAC,GAAC,KAAK81K,IAAb;AAAA,cAAkBnrK,CAAC,GAAC,KAAKq3E,MAAL,CAAYuzM,OAAZ,CAAoBz/G,IAAxC;AAA6C,aAAKk5H,gBAAL,CAAsBtnE,OAAtB,IAAgC/8N,CAAC,CAAC4jQ,aAAF,CAAgBvuQ,CAAC,CAACilF,QAAF,CAAWz0G,IAA3B,CAAhC,EAAiEwvB,CAAC,CAAC2+E,OAAF,EAAjE;AAA6E;;AAAAwwN,MAAAA,YAAY,GAAE;AAAC,cAAMnvS,CAAC,GAAC,KAAK81K,IAAb;AAAkB91K,QAAAA,CAAC,CAACovS,WAAF,CAAcr6S,IAAd,CAAmB,UAAnB,EAA+B03J,EAA/B,CAAkC,KAAKq5F,YAAvC,EAAoD,WAApD,GAAiE9lP,CAAC,CAACovS,WAAF,CAAcn1D,cAAd,GAA6Bj6O,CAAC,CAAChX,OAAhG,EAAwGgX,CAAC,CAACovS,WAAF,CAAcr6S,IAAd,CAAmB,mBAAnB,EAAwC03J,EAAxC,CAA2C,IAA3C,EAAgD,gBAAhD,EAAkE,CAAC;AAACv4G,UAAAA,GAAG,EAACl0C;AAAL,SAAD,KAAWA,CAAC,IAAE,CAAhF,CAAxG,EAA4LA,CAAC,CAACqvS,OAAF,CAAUpW,cAAV,CAAyB,KAAK8V,cAA9B,EAA6C,KAAKzG,gBAAlD,CAA5L,EAAgQ,KAAKU,UAAL,CAAgBhpS,CAAC,CAACqvS,OAAlB,CAAhQ;AAA2R;;AAAAH,MAAAA,gBAAgB,GAAE;AAAC,cAAMlvS,CAAC,GAAC,KAAKgiF,MAAb;AAAA,cAAoBr3E,CAAC,GAAC3K,CAAC,CAACu1R,OAAF,CAAUz/G,IAAhC;AAAA,cAAqCvrK,CAAC,GAACI,CAAC,CAACjJ,QAAF,CAAW0kF,OAAX,EAAvC;AAAA,cAA4D75E,CAAC,GAACvM,CAAC,CAAC81R,aAAhE;AAA8E,YAAIn/S,CAAJ;AAAM,cAAM81B,CAAC,GAACzM,CAAC,CAACtgC,MAAF,CAASe,GAAT,CAAa,aAAb,CAAR;AAAoCgsC,QAAAA,CAAC,KAAG91B,CAAC,GAAC,YAAU,OAAO81B,CAAjB,GAAmBA,CAAnB,GAAqBA,CAAC,CAAC,KAAKqpK,IAAL,CAAU7wF,QAAV,CAAmBz0G,IAApB,CAA3B,CAAD,EAAuD,CAACmG,CAAD,IAAI41B,CAAJ,IAAO,eAAaA,CAAC,CAACwtK,OAAF,CAAU1yK,WAAV,EAApB,KAA8C1wB,CAAC,GAAC41B,CAAC,CAACs1O,YAAF,CAAe,aAAf,CAAhD,CAAvD,EAAsIlrQ,CAAC,KAAG4zB,CAAC,CAACw7O,WAAF,GAAcpvQ,CAAjB,CAAvI,EAA2Jw1Q,EAAE,CAAC;AAACr2E,UAAAA,IAAI,EAACnrK,CAAN;AAAQ3hB,UAAAA,OAAO,EAACuhB,CAAhB;AAAkB6hP,UAAAA,YAAY,EAAC,CAAC,CAAhC;AAAkCC,UAAAA,WAAW,EAAC,CAAC;AAA/C,SAAD,CAA7J;AAAiN;;AAAA4iD,MAAAA,0CAA0C,CAACjvS,CAAD,EAAG2K,CAAH,EAAKJ,CAAL,EAAO;AAAC,cAAMgC,CAAC,GAAC,KAAKupK,IAAL,CAAUs5H,WAAlB;;AAA8B,YAAG7iS,CAAC,CAACs/R,QAAL,EAAc;AAAC,gBAAM7rS,CAAC,GAAC,IAAI+0O,EAAJ,CAAOxoO,CAAC,CAACvjB,OAAT,EAAkBirD,MAA1B;AAAiCtpC,UAAAA,CAAC,CAAC8uO,cAAF,CAAiBvlM,GAAjB,IAAsBl0C,CAAtB;AAAwB,SAAxE,MAA4E;AAAC,gBAAMA,CAAC,GAAC,MAAI;AAAC,iBAAKgiF,MAAL,CAAYuzM,OAAZ,CAAoBz/G,IAApB,CAAyB64F,oBAAzB,CAA8CpkQ,CAA9C;AAAiD,WAA9D;;AAA+D,eAAKi7N,QAAL,CAAcj5N,CAAd,EAAgB,iBAAhB,EAAkCvM,CAAlC,GAAqC9gB,UAAU,CAAE,MAAI;AAAC,iBAAKwmP,aAAL,CAAmBn5N,CAAnB,EAAqB,iBAArB,EAAuCvM,CAAvC;AAA0C,WAAjD,EAAmD,EAAnD,CAA/C;AAAsG;AAAC;;AAA7tD;;AAA8tD,QAAIsvS,EAAE,GAAC/kS,CAAC,CAAC,IAAD,CAAR;AAAA,QAAeglS,EAAE,GAAC;AAACtwD,MAAAA,UAAU,EAAC,mBAAZ;AAAgCh7J,MAAAA,UAAU,EAAC;AAAC,oBAAW,CAAC;AAAb,OAA3C;AAA2DqC,MAAAA,MAAM,EAAC,MAAlE;AAAyEy9I,MAAAA,SAAS,EAAC,CAAC;AAApF,KAAlB;AAAyG+a,IAAAA,EAAE,GAAGwwD,EAAE,CAAC/sE,CAAN,EAAQgtE,EAAR,CAAF;AAAcD,IAAAA,EAAE,CAAC/sE,CAAH,CAAK2c,MAAL;;AAAY,UAAMswD,EAAN,SAAiB5F,EAAjB,CAAmB;AAACnqU,MAAAA,WAAW,CAACugC,CAAD,EAAG2K,CAAH,EAAKJ,CAAC,GAAC,EAAP,EAAU;AAAC,cAAMvK,CAAN,GAAS,KAAKovS,WAAL,GAAiB,IAAInE,EAAJ,CAAOjrS,CAAP,CAA1B,EAAoC,KAAKqvS,OAAL,GAAa,IAAI9W,EAAJ,CAAOv4R,CAAP,EAAS;AAAC24R,UAAAA,mBAAmB,EAACpuR,CAAC,CAACklS;AAAvB,SAAT,CAAjD,EAA8G,KAAKxqN,QAAL,GAAc,IAAIolN,EAAJ,CAAOrqS,CAAP,EAAS2K,CAAT,CAA5H;AAAwI;;AAAAi0O,MAAAA,MAAM,GAAE;AAAC,cAAMA,MAAN,IAAe,KAAKwwD,WAAL,CAAiBrrN,OAAjB,CAAyBnvF,GAAzB,CAA6B,KAAKy6S,OAAlC,CAAf,EAA0D,KAAKn7P,GAAL,CAASt/C,GAAT,CAAa,KAAKw6S,WAAlB,CAA1D,EAAyF,KAAKhrB,IAAL,CAAUxvR,GAAV,CAAc,KAAKqwF,QAAnB,CAAzF;AAAsH;;AAA9R;;AAA+R,UAAMyqN,EAAN,CAAQ;AAACjwU,MAAAA,WAAW,CAACugC,CAAD,EAAG;AAAC,YAAG,KAAKypF,OAAL,GAAa,EAAb,EAAgB,KAAKhuG,KAAL,GAAW,cAA3B,EAA0C,KAAKiuG,IAAL,GAAU3hE,IAAI,CAAC+e,GAAzD,EAA6D,KAAK2iD,OAAL,GAAa,EAA1E,EAA6E,KAAKE,iBAAL,GAAuB,YAAU,OAAO3pF,CAAC,CAAC4pF,gBAAnB,GAAoC5pF,CAAC,CAAC4pF,gBAAtC,GAAuD,CAA3J,EAA6J,KAAKC,0BAAL,GAAgC,YAAU,OAAO7pF,CAAC,CAAC8pF,yBAAnB,GAA6C9pF,CAAC,CAAC8pF,yBAA/C,GAAyE,GAAtQ,EAA0Q,KAAKC,kBAAL,GAAwB/pF,CAAC,IAAE;AAAC,gBAAM2K,CAAC,GAAC,WAAU3K,CAAV,GAAYA,CAAC,CAAC3pB,KAAd,GAAoB2pB,CAAC,CAACgqF,MAA9B;AAAqCr/E,UAAAA,CAAC,YAAYwiB,KAAb,IAAoB,KAAK88D,YAAL,CAAkBt/E,CAAlB,EAAoB3K,CAApB,CAApB;AAA2C,SAAtX,EAAuX,KAAKkqF,UAAL,GAAgB,EAAvY,EAA0Y,CAAC,KAAK7J,QAAnZ,EAA4Z,MAAM,IAAIlzD,KAAJ,CAAU,gLAAV,CAAN;AAAkM;;AAAAwxD,MAAAA,OAAO,GAAE;AAAC,aAAK4B,kBAAL,IAA0B,KAAK2J,UAAL,GAAgB,EAA1C;AAA6C;;AAAAzoG,MAAAA,EAAE,CAACue,CAAD,EAAG2K,CAAH,EAAK;AAAC,aAAKu/E,UAAL,CAAgBlqF,CAAhB,MAAqB,KAAKkqF,UAAL,CAAgBlqF,CAAhB,IAAmB,EAAxC,GAA4C,KAAKkqF,UAAL,CAAgBlqF,CAAhB,EAAmBiG,IAAnB,CAAwB0E,CAAxB,CAA5C;AAAuE;;AAAA/kB,MAAAA,GAAG,CAACoa,CAAD,EAAG2K,CAAH,EAAK;AAAC,aAAKu/E,UAAL,CAAgBlqF,CAAhB,IAAmB,KAAKkqF,UAAL,CAAgBlqF,CAAhB,EAAmBr2B,MAAnB,CAA2Bq2B,CAAC,IAAEA,CAAC,KAAG2K,CAAlC,CAAnB;AAAyD;;AAAAk0E,MAAAA,KAAK,CAAC7+E,CAAD,EAAG,GAAG2K,CAAN,EAAQ;AAAC,cAAMJ,CAAC,GAAC,KAAK2/E,UAAL,CAAgBlqF,CAAhB,KAAoB,EAA5B;;AAA+B,aAAI,MAAMA,CAAV,IAAeuK,CAAf,EAAiBvK,CAAC,CAACyK,KAAF,CAAQ,IAAR,EAAa,CAAC,IAAD,EAAM,GAAGE,CAAT,CAAb;AAA0B;;AAAA21E,MAAAA,mBAAmB,GAAE;AAACnhG,QAAAA,MAAM,CAAC48B,gBAAP,CAAwB,OAAxB,EAAgC,KAAKguE,kBAArC,GAAyD5qG,MAAM,CAAC48B,gBAAP,CAAwB,oBAAxB,EAA6C,KAAKguE,kBAAlD,CAAzD;AAA+H;;AAAAxJ,MAAAA,kBAAkB,GAAE;AAACphG,QAAAA,MAAM,CAACk9B,mBAAP,CAA2B,OAA3B,EAAmC,KAAK0tE,kBAAxC,GAA4D5qG,MAAM,CAACk9B,mBAAP,CAA2B,oBAA3B,EAAgD,KAAK0tE,kBAArD,CAA5D;AAAqI;;AAAAE,MAAAA,YAAY,CAACjqF,CAAD,EAAG2K,CAAH,EAAK;AAAC,YAAG,KAAK0/E,mBAAL,CAAyBrqF,CAAzB,CAAH,EAA+B;AAAC,eAAKypF,OAAL,CAAaxjF,IAAb,CAAkB;AAACpkC,YAAAA,OAAO,EAACm+B,CAAC,CAACn+B,OAAX;AAAmByoH,YAAAA,KAAK,EAACtqF,CAAC,CAACsqF,KAA3B;AAAiCC,YAAAA,QAAQ,EAAC5/E,CAAC,YAAY6/E,UAAb,GAAwB7/E,CAAC,CAAC4/E,QAA1B,GAAmC,KAAK,CAAlF;AAAoFE,YAAAA,MAAM,EAAC9/E,CAAC,YAAY6/E,UAAb,GAAwB7/E,CAAC,CAAC8/E,MAA1B,GAAiC,KAAK,CAAjI;AAAmIC,YAAAA,KAAK,EAAC//E,CAAC,YAAY6/E,UAAb,GAAwB7/E,CAAC,CAAC+/E,KAA1B,GAAgC,KAAK,CAA9K;AAAgLC,YAAAA,IAAI,EAAC,KAAKjB,IAAL;AAArL,WAAlB;;AAAqN,gBAAMn/E,CAAC,GAAC,KAAKqgF,cAAL,EAAR;;AAA8B,eAAKnvG,KAAL,GAAW,SAAX,EAAqB,KAAKojG,KAAL,CAAW,aAAX,CAArB,EAA+C,KAAKA,KAAL,CAAW,OAAX,EAAmB;AAACxoG,YAAAA,KAAK,EAAC2pB,CAAP;AAAS8/E,YAAAA,aAAa,EAACv1E;AAAvB,WAAnB,CAA/C,EAA6FA,CAAC,GAAC,KAAK81E,QAAL,EAAD,IAAkB,KAAK5kG,KAAL,GAAW,oBAAX,EAAgC,KAAKojG,KAAL,CAAW,aAAX,CAAlD,CAA9F;AAA2K;AAAC;;AAAAwL,MAAAA,mBAAmB,CAACrqF,CAAD,EAAG;AAAC,eAAOA,CAAC,CAAC6qF,EAAF,IAAM7qF,CAAC,CAAC6qF,EAAF,CAAK,eAAL,CAAN,IAA6B,KAAK,CAAL,KAAS7qF,CAAC,CAAC1vB,OAAxC,IAAiD,SAAO0vB,CAAC,CAAC1vB,OAA1D,IAAmE,YAAU,KAAKmL,KAAlF,IAAyF,KAAK+kG,0BAAL,CAAgCxgF,CAAhC,CAAhG;AAAmI;;AAAA4qF,MAAAA,cAAc,GAAE;AAAC,YAAG,KAAKnB,OAAL,CAAa98G,MAAb,IAAqB,KAAKg9G,iBAA7B,EAA+C,OAAM,CAAC,CAAP;AAAS,eAAM,CAAC,KAAKF,OAAL,CAAa,KAAKA,OAAL,CAAa98G,MAAb,GAAoB,CAAjC,EAAoCg+G,IAApC,GAAyC,KAAKlB,OAAL,CAAa,KAAKA,OAAL,CAAa98G,MAAb,GAAoB,CAApB,GAAsB,KAAKg9G,iBAAxC,EAA2DgB,IAArG,IAA2G,KAAKhB,iBAAhH,GAAkI,KAAKE,0BAA7I;AAAwK;;AAAzhE;;AAA0hE,aAASwyC,EAAT,CAAYr8H,CAAZ,EAAc2K,CAAC,GAAC,IAAIknE,GAAJ,EAAhB,EAAwB;AAAC,YAAMtnE,CAAC,GAAC,CAACvK,CAAD,CAAR;AAAA,YAAYuM,CAAC,GAAC,IAAIslE,GAAJ,EAAd;AAAsB,UAAIl7F,CAAC,GAAC,CAAN;;AAAQ,aAAK4zB,CAAC,CAAC59B,MAAF,GAASgK,CAAd,GAAiB;AAAC,cAAMqpB,CAAC,GAACuK,CAAC,CAAC5zB,CAAC,EAAF,CAAT;AAAe,YAAG,CAAC41B,CAAC,CAACuiB,GAAF,CAAM9uB,CAAN,CAAD,IAAWrnB,EAAE,CAACqnB,CAAD,CAAb,IAAkB,CAAC2K,CAAC,CAACmkB,GAAF,CAAM9uB,CAAN,CAAtB,EAA+B,IAAGuM,CAAC,CAAC3X,GAAF,CAAMoL,CAAN,GAASkM,MAAM,CAACC,QAAP,IAAmBnM,CAA/B,EAAiC,IAAG;AAAC,eAAI,MAAM2K,CAAV,IAAe3K,CAAf,EAAiBuK,CAAC,CAACtE,IAAF,CAAO0E,CAAP;AAAU,SAA/B,CAA+B,OAAM3K,CAAN,EAAQ,CAAE,CAA1E,MAA+E,KAAI,MAAM2K,CAAV,IAAe3K,CAAf,EAAiB,mBAAiB2K,CAAjB,IAAoBJ,CAAC,CAACtE,IAAF,CAAOjG,CAAC,CAAC2K,CAAD,CAAR,CAApB;AAAiC;;AAAA,aAAO4B,CAAP;AAAS;;AAAA,aAAS5zB,EAAT,CAAYqnB,CAAZ,EAAc;AAAC,YAAM2K,CAAC,GAACxI,MAAM,CAAC8H,SAAP,CAAiBiT,QAAjB,CAA0B/T,IAA1B,CAA+BnJ,CAA/B,CAAR;AAAA,YAA0CuK,CAAC,GAAC,OAAOvK,CAAnD;AAAqD,aAAM,EAAE,aAAWuK,CAAX,IAAc,cAAYA,CAA1B,IAA6B,aAAWA,CAAxC,IAA2C,aAAWA,CAAtD,IAAyD,eAAaA,CAAtE,IAAyE,oBAAkBI,CAA3F,IAA8F,sBAAoBA,CAAlH,IAAqH,sBAAoBA,CAAzI,IAA4I,QAAM3K,CAAlJ,IAAqJA,CAAC,CAACspF,iBAAvJ,IAA0KtpF,CAAC,YAAYupF,WAAvL,IAAoMvpF,CAAC,YAAYwpF,KAAnN,CAAN;AAAgO;;AAAA,aAASmmN,EAAT,CAAY3vS,CAAZ,EAAc2K,CAAd,EAAgBJ,CAAC,GAAC,IAAIsnE,GAAJ,EAAlB,EAA0B;AAAC,UAAG7xE,CAAC,KAAG2K,CAAJ,IAAQ,YAAU,QAAO4B,CAAC,GAACvM,CAAT,CAAV,IAAuB,SAAOuM,CAAzC,EAA4C,OAAM,CAAC,CAAP;AAAS,UAAIA,CAAJ;AAAM,YAAM51B,CAAC,GAAC0lJ,EAAE,CAACr8H,CAAD,EAAGuK,CAAH,CAAV;AAAA,YAAgBkC,CAAC,GAAC4vH,EAAE,CAAC1xH,CAAD,EAAGJ,CAAH,CAApB;;AAA0B,WAAI,MAAMvK,CAAV,IAAerpB,CAAf,EAAiB,IAAG81B,CAAC,CAACqiB,GAAF,CAAM9uB,CAAN,CAAH,EAAY,OAAM,CAAC,CAAP;;AAAS,aAAM,CAAC,CAAP;AAAS;;AAAA,UAAM4vS,EAAN,SAAiBF,EAAjB,CAAmB;AAACjwU,MAAAA,WAAW,CAACugC,CAAD,EAAG2K,CAAC,GAAC,EAAL,EAAQ;AAAC,cAAMA,CAAN,GAAS,KAAK82E,OAAL,GAAa,IAAtB,EAA2B,KAAKC,cAAL,GAAoB,CAAC,CAAhD,EAAkD,KAAKC,UAAL,GAAgB,EAAlE,EAAqE,KAAKC,cAAL,GAAoBukN,EAAE,CAAC,KAAKtkN,KAAL,CAAW9sF,IAAX,CAAgB,IAAhB,CAAD,EAAuB,YAAU,OAAO4V,CAAC,CAACm3E,YAAnB,GAAgCn3E,CAAC,CAACm3E,YAAlC,GAA+C,GAAtE,CAA3F,EAAsK9hF,CAAC,KAAG,KAAKw+E,QAAL,GAAc,CAAC7zE,CAAD,EAAGJ,CAAH,KAAOvK,CAAC,CAAC+I,MAAF,CAAS4B,CAAT,EAAWJ,CAAX,CAAxB,CAAvK,EAA8M,KAAKm0E,WAAL,GAAiB1+E,CAAC,IAAEA,CAAC,CAAC2+E,OAAF,EAAlO;AAA8O;;AAAU,UAANqD,MAAM,GAAE;AAAC,eAAO,KAAKP,OAAZ;AAAoB;;AAAS,UAALlC,KAAK,GAAE;AAAC,eAAO,KAAKkC,OAAZ;AAAoB;;AAAA3C,MAAAA,UAAU,CAAC9+E,CAAD,EAAG;AAAC,aAAKw+E,QAAL,GAAcx+E,CAAd;AAAgB;;AAAAg/E,MAAAA,aAAa,CAACh/E,CAAD,EAAG;AAAC,aAAK0+E,WAAL,GAAiB1+E,CAAjB;AAAmB;;AAAAqgF,MAAAA,QAAQ,GAAE;AAAC,eAAO72E,OAAO,CAACC,OAAR,GAAkBjiC,IAAlB,CAAwB,OAAK,KAAKiU,KAAL,GAAW,cAAX,EAA0B,KAAKojG,KAAL,CAAW,aAAX,CAA1B,EAAoD,KAAKuB,QAAL,EAAzD,CAAxB,EAAoGlkF,KAApG,CAA2G8D,CAAC,IAAE;AAACl+B,UAAAA,OAAO,CAACuU,KAAR,CAAc,iDAAd,EAAgE2pB,CAAhE;AAAmE,SAAlL,EAAqLx4B,IAArL,CAA2L,MAAI;AAAC,gBAAMw4B,CAAC,GAAC,EAAR;AAAA,gBAAW2K,CAAC,GAAC,EAAb;AAAA,gBAAgBJ,CAAC,GAAC,KAAK63E,OAAL,CAAaC,eAAb,IAA8B,EAAhD;AAAA,gBAAmD91E,CAAC,GAAC,EAArD;;AAAwD,eAAI,MAAK,CAAC51B,CAAD,EAAG81B,CAAH,CAAT,IAAiBtK,MAAM,CAACqgF,OAAP,CAAe,KAAKC,KAAL,CAAWC,KAA1B,CAAjB,EAAkDj2E,CAAC,CAACk2E,QAAF,IAAY3iF,CAAC,CAACrpB,CAAD,CAAD,GAAK,EAAL,EAAQ41B,CAAC,CAAC51B,CAAD,CAAD,GAAK4zB,CAAC,CAAC5zB,CAAD,CAAD,IAAM,EAA/B,IAAmCg0B,CAAC,CAAC1E,IAAF,CAAOtvB,CAAP,CAAnC;;AAA6C,gBAAMA,CAAC,GAAC,EAAC,GAAG,KAAKyrG,OAAT;AAAiBS,YAAAA,YAAY,EAAC,KAAKT,OAAL,CAAaS,YAAb,IAA2B,EAAzD;AAA4DX,YAAAA,SAAS,EAACv3E,CAAtE;AAAwE03E,YAAAA,eAAe,EAAC91E,CAAxF;AAA0Fu2E,YAAAA,oBAAoB,EAAC,KAAKL;AAApH,WAAR;AAAmI,iBAAO,OAAO9rG,CAAC,CAACosG,WAAT,EAAqBpsG,CAAC,CAACksG,YAAF,CAAe58E,IAAf,CAAoB4pS,EAApB,CAArB,EAA6C,KAAKnuN,cAAL,GAAoB,KAAK34E,MAAL,CAAY/I,CAAZ,EAAcrpB,CAAd,EAAgBA,CAAC,CAACrG,OAAlB,CAApB,GAA+CiiQ,EAAE,CAAC,KAAKtvJ,cAAN,CAAF,GAAwB,KAAKl6E,MAAL,CAAY,KAAKk6E,cAAjB,EAAgCtsG,CAAhC,EAAkCA,CAAC,CAACrG,OAApC,CAAxB,GAAqE,KAAKy4B,MAAL,CAAY,KAAK44E,UAAjB,EAA4BhrG,CAA5B,EAA8BA,CAAC,CAACrG,OAAhC,CAAxK;AAAiN,SAA3qB,EAA8qB9I,IAA9qB,CAAorB,MAAI;AAAC,eAAKq3G,KAAL,CAAW,SAAX;AAAsB,SAA/sB,CAAP;AAAytB;;AAAA91E,MAAAA,MAAM,CAAC/I,CAAC,GAAC,KAAKijF,cAAR,EAAuBt4E,CAAC,GAAC,KAAKy3E,OAA9B,EAAsC73E,CAAtC,EAAwC;AAAC,eAAOf,OAAO,CAACC,OAAR,GAAkBjiC,IAAlB,CAAwB,OAAK,MAAM84G,mBAAN,IAA4B,KAAK2C,cAAL,GAAoBjjF,CAAhD,EAAkD,KAAK0hF,cAAL,GAAoB,YAAU,OAAO1hF,CAAjB,IAAoBmC,MAAM,CAACkD,IAAP,CAAYrF,CAAZ,EAAerzB,MAAf,GAAsB,CAAtB,IAAyB,YAAU,OAAOw1B,MAAM,CAACkf,MAAP,CAAcrhB,CAAd,EAAiB,CAAjB,CAApI,EAAwJ,KAAKoiF,OAAL,GAAa,KAAKc,yBAAL,CAA+Bv4E,CAA/B,KAAmC,EAAxM,EAA2M,KAAKy3E,OAAL,CAAa9xG,OAAb,GAAqBi6B,CAAhO,EAAkO,KAAKi0E,QAAL,CAAcx+E,CAAd,EAAgB,KAAKoiF,OAArB,CAAvO,CAAxB,EAAgS56G,IAAhS,CAAsSw4B,CAAC,IAAE;AAAC,eAAKyhF,OAAL,GAAazhF,CAAb,EAAeA,CAAC,CAACzjB,KAAF,CAAQmlB,QAAR,CAAiBjgB,EAAjB,CAAoB,aAApB,EAAkC,KAAKmgG,cAAvC,CAAf,EAAsE,KAAKuB,oBAAL,GAA0BnjF,CAAC,CAACzjB,KAAF,CAAQmlB,QAAR,CAAiB9gC,OAAjH,EAAyH,KAAK6hH,KAAL,GAAW,KAAKW,QAAL,EAApI,EAAoJ,KAAK1B,cAAL,KAAsB,KAAKC,UAAL,GAAgB,KAAK0B,aAAL,EAAtC,CAApJ,EAAgN,KAAK5nG,KAAL,GAAW,OAA3N,EAAmO,KAAKojG,KAAL,CAAW,aAAX,CAAnO;AAA6P,SAAviB,CAAP;AAAijB;;AAAAF,MAAAA,OAAO,GAAE;AAAC,eAAOn1E,OAAO,CAACC,OAAR,GAAkBjiC,IAAlB,CAAwB,OAAK,KAAKiU,KAAL,GAAW,WAAX,EAAuB,KAAKojG,KAAL,CAAW,aAAX,CAAvB,EAAiD,MAAMF,OAAN,EAAjD,EAAiE,KAAKyB,QAAL,EAAtE,CAAxB,CAAP;AAAwH;;AAAAA,MAAAA,QAAQ,GAAE;AAAC,eAAO52E,OAAO,CAACC,OAAR,GAAkBjiC,IAAlB,CAAwB,MAAI;AAAC,eAAK+4G,kBAAL,IAA0B,KAAKqB,cAAL,CAAoB0B,MAApB,EAA1B;AAAuD,gBAAMtjF,CAAC,GAAC,KAAKyhF,OAAb;AAAqB,iBAAO,KAAKA,OAAL,GAAa,IAAb,EAAkBzhF,CAAC,CAACzjB,KAAF,CAAQmlB,QAAR,CAAiB9b,GAAjB,CAAqB,aAArB,EAAmC,KAAKg8F,cAAxC,CAAlB,EAA0E,KAAKlD,WAAL,CAAiB1+E,CAAjB,CAAjF;AAAqG,SAA9M,CAAP;AAAwN;;AAAA6hF,MAAAA,KAAK,GAAE;AAAC,cAAM7hF,CAAC,GAAC,KAAKyhF,OAAL,CAAallG,KAAb,CAAmBmlB,QAAnB,CAA4B9gC,OAApC;;AAA4C,YAAG;AAAC,eAAK6hH,KAAL,GAAW,KAAKW,QAAL,EAAX,EAA2B,KAAK1B,cAAL,KAAsB,KAAKC,UAAL,GAAgB,KAAK0B,aAAL,EAAtC,CAA3B,EAAuF,KAAKF,oBAAL,GAA0BnjF,CAAjH;AAAmH,SAAvH,CAAuH,OAAMA,CAAN,EAAQ;AAACl+B,UAAAA,OAAO,CAACuU,KAAR,CAAc2pB,CAAd,EAAgB,yGAAhB;AAA2H;AAAC;;AAAA4/E,MAAAA,sBAAsB,CAAC5/E,CAAD,EAAG;AAAC,aAAKujF,cAAL,GAAoBvjF,CAApB;AAAsB;;AAAAojF,MAAAA,QAAQ,GAAE;AAAC,cAAMpjF,CAAC,GAAC,KAAKyhF,OAAb;AAAA,cAAqB92E,CAAC,GAAC3K,CAAC,CAACzjB,KAAF,CAAQmlB,QAAR,CAAiBghF,KAAjB,CAAuB/4G,MAAvB,CAA+Bq2B,CAAC,IAAEA,CAAC,CAACwjF,UAAF,MAAgB,gBAAcxjF,CAAC,CAACsiF,QAAlE,CAAvB;AAAA,cAAoG;AAACmB,UAAAA,OAAO,EAACl5E;AAAT,YAAYvK,CAAhH;AAAA,cAAkHuM,CAAC,GAAChC,CAAC,CAACukB,GAAF,CAAM,oBAAN,KAA6BvkB,CAAC,CAAC9pC,GAAF,CAAM,oBAAN,CAAjJ;AAAA,cAA6KkW,CAAC,GAAC4zB,CAAC,CAACukB,GAAF,CAAM,cAAN,KAAuBvkB,CAAC,CAAC9pC,GAAF,CAAM,cAAN,CAAtM;AAAA,cAA4NgsC,CAAC,GAAC;AAACi2E,UAAAA,KAAK,EAAC,EAAP;AAAUkB,UAAAA,OAAO,EAAC,EAAlB;AAAqBC,UAAAA,cAAc,EAAChlG,IAAI,CAACI,SAAL,CAAe,EAAf,CAApC;AAAuD6kG,UAAAA,WAAW,EAACjlG,IAAI,CAACI,SAAL,CAAe,EAAf;AAAnE,SAA9N;AAAqT0rB,QAAAA,CAAC,CAAC9E,OAAF,CAAW7F,CAAC,IAAE;AAACyM,UAAAA,CAAC,CAACi2E,KAAF,CAAQ1iF,CAAC,CAACsiF,QAAV,IAAoB;AAACyB,YAAAA,OAAO,EAACllG,IAAI,CAACI,SAAL,CAAekmB,KAAK,CAAC7H,IAAN,CAAW0C,CAAC,CAACgkF,WAAF,EAAX,CAAf,CAAT;AAAqDC,YAAAA,UAAU,EAACplG,IAAI,CAACI,SAAL,CAAekmB,KAAK,CAAC7H,IAAN,CAAW0C,CAAC,CAACkkF,aAAF,EAAX,CAAf,CAAhE;AAA8GvB,YAAAA,QAAQ,EAAC3iF,CAAC,CAACmkF;AAAzH,WAApB;AAAwJ,SAAvK;;AAA0K,aAAI,MAAMx5E,CAAV,IAAe3K,CAAC,CAACzjB,KAAF,CAAQqnG,OAAvB,EAA+Bj5E,CAAC,CAAC05E,YAAF,KAAiB53E,CAAC,CAACm3E,OAAF,CAAUj5E,CAAC,CAACn6B,IAAZ,IAAkB;AAAC8zG,UAAAA,SAAS,EAAC35E,CAAC,CAAC45E,QAAF,GAAaC,MAAb,EAAX;AAAiCC,UAAAA,cAAc,EAAC95E,CAAC,CAAC+5E,uBAAlD;AAA0EC,UAAAA,WAAW,EAACh6E,CAAC,CAAC05E;AAAxF,SAAnC;;AAA0I,eAAO93E,CAAC,KAAGE,CAAC,CAACo3E,cAAF,GAAiBhlG,IAAI,CAACI,SAAL,CAAestB,CAAC,CAACq4E,iBAAF,CAAoB;AAACJ,UAAAA,MAAM,EAAC,CAAC,CAAT;AAAWK,UAAAA,eAAe,EAAC,CAAC;AAA5B,SAApB,CAAf,CAApB,CAAD,EAA0FluG,CAAC,KAAG81B,CAAC,CAACq3E,WAAF,GAAcjlG,IAAI,CAACI,SAAL,CAAetI,CAAC,CAACmuG,cAAF,CAAiB;AAACN,UAAAA,MAAM,EAAC,CAAC,CAAT;AAAWK,UAAAA,eAAe,EAAC,CAAC;AAA5B,SAAjB,CAAf,CAAjB,CAA3F,EAA8Kp4E,CAArL;AAAuL;;AAAA42E,MAAAA,aAAa,GAAE;AAAC,cAAMrjF,CAAC,GAAC,EAAR;;AAAW,aAAI,MAAM2K,CAAV,IAAe,KAAKq3E,MAAL,CAAYzlG,KAAZ,CAAkBmlB,QAAlB,CAA2BsjF,YAA3B,EAAf,EAAyD;AAAC,gBAAMz6E,CAAC,GAAC,KAAKy3E,MAAL,CAAYkD,EAAZ,CAAeC,kBAAf,CAAkCx6E,CAAlC,CAAR;AAA6CJ,UAAAA,CAAC,KAAGvK,CAAC,CAAC2K,CAAD,CAAD,GAAKJ,CAAR,CAAD;AAAY;;AAAA,eAAOvK,CAAP;AAAS;;AAAAwgF,MAAAA,0BAA0B,CAACxgF,CAAD,EAAG;AAAC,eAAO2vS,EAAE,CAAC,KAAKluN,OAAN,EAAczhF,CAAC,CAAC1vB,OAAhB,EAAwB,KAAKizG,cAA7B,CAAT;AAAsD;;AAAAL,MAAAA,yBAAyB,CAACljF,CAAD,EAAG;AAAC,eAAOsyO,EAAE,CAACtyO,CAAD,EAAI,CAACA,CAAD,EAAG2K,CAAH,KAAO4nO,EAAE,CAACvyO,CAAD,CAAF,IAAO,cAAY2K,CAAnB,GAAqB3K,CAArB,GAAuB,KAAK,CAAvC,CAAT;AAAoD;;AAArhH;;AAAshH,UAAM6vS,EAAN,CAAQ;AAACpwU,MAAAA,WAAW,CAACugC,CAAD,EAAG;AAAC,aAAKgiF,MAAL,GAAYhiF,CAAZ,EAAc,KAAKyiF,KAAL,GAAWziF,CAAC,CAACtgC,MAAF,CAASe,GAAT,CAAa,sBAAb,CAAzB;AAA8D;;AAAAc,MAAAA,IAAI,GAAE;AAAC,aAAKygH,MAAL,CAAYr6G,IAAZ,CAAiB8Z,EAAjB,CAAoB,MAApB,EAA4Bue,CAAC,IAAE;AAACA,UAAAA,CAAC,CAAColF,IAAF,IAAS,KAAKpD,MAAL,CAAYzlG,KAAZ,CAAkB8oG,aAAlB,CAAgC;AAACC,YAAAA,UAAU,EAAC,CAAC;AAAb,WAAhC,EAAiDtlF,CAAC,IAAE;AAAC,iBAAKwlF,yBAAL,IAAiC,KAAKC,kBAAL,CAAwBzlF,CAAxB,CAAjC;AAA4D,WAAjH,CAAT,EAA6H,KAAKgiF,MAAL,CAAYr6G,IAAZ,CAAiB+9G,IAAjB,CAAsB,OAAtB,CAA7H;AAA4J,SAA5L,EAA8L;AAACC,UAAAA,QAAQ,EAAC;AAAV,SAA9L;AAA8M;;AAAAC,MAAAA,WAAW,CAAC5lF,CAAD,EAAG2K,CAAH,EAAK;AAAC,YAAG,UAASA,CAAZ,EAAc;AAAC,gBAAMJ,CAAC,GAACvK,CAAC,CAAC6G,aAAF,CAAgB8D,CAAC,CAACn6B,IAAlB,EAAuBm6B,CAAC,CAACs5E,UAAzB,CAAR;AAA6C,cAAGt5E,CAAC,CAACrjC,QAAL,EAAc,KAAI,MAAMilC,CAAV,IAAe5B,CAAC,CAACrjC,QAAjB,EAA0BijC,CAAC,CAACw7E,YAAF,CAAe,KAAKH,WAAL,CAAiB5lF,CAAjB,EAAmBuM,CAAnB,CAAf;AAAsC,iBAAOhC,CAAP;AAAS;;AAAA,eAAOvK,CAAC,CAACgmF,UAAF,CAAar7E,CAAC,CAAChjC,IAAf,EAAoBgjC,CAAC,CAACs5E,UAAtB,CAAP;AAAyC;;AAAAwB,MAAAA,kBAAkB,CAACzlF,CAAD,EAAG;AAAC,cAAM2K,CAAC,GAAC,KAAKq3E,MAAb;AAAoB7/E,QAAAA,MAAM,CAACqgF,OAAP,CAAe,KAAKC,KAAL,CAAWC,KAA1B,EAAiC78E,OAAjC,CAA0C,CAAC,CAAC0E,CAAD,EAAG;AAACw5E,UAAAA,OAAO,EAACx3E,CAAT;AAAW03E,UAAAA,UAAU,EAACttG;AAAtB,SAAH,CAAD,KAAgC;AAAC,gBAAM81B,CAAC,GAAC5tB,IAAI,CAACC,KAAL,CAAWytB,CAAX,CAAR;AAAA,gBAAsBjC,CAAC,GAACzrB,IAAI,CAACC,KAAL,CAAWnI,CAAX,CAAxB;AAAA,gBAAsCyrE,CAAC,GAACz3C,CAAC,CAACpuB,KAAF,CAAQmlB,QAAR,CAAiB0kF,OAAjB,CAAyB77E,CAAzB,CAAxC;;AAAoE,eAAI,MAAK,CAACI,CAAD,EAAGJ,CAAH,CAAT,IAAiBD,CAAjB,EAAmBtK,CAAC,CAAC07C,YAAF,CAAe/wC,CAAf,EAAiBJ,CAAjB,EAAmB63C,CAAnB;;AAAsB,eAAI,MAAMz3C,CAAV,IAAe8B,CAAf,EAAiB;AAAC,kBAAMlC,CAAC,GAAC,KAAKq7E,WAAL,CAAiB5lF,CAAjB,EAAmB2K,CAAnB,CAAR;;AAA8B3K,YAAAA,CAAC,CAACsmF,MAAF,CAAS/7E,CAAT,EAAW63C,CAAX,EAAa,KAAb;AAAoB;AAAC,SAA7P,GAAgQjgD,MAAM,CAACqgF,OAAP,CAAe,KAAKC,KAAL,CAAWmB,OAA1B,EAAmC/9E,OAAnC,CAA4C,CAAC,CAAC0E,CAAD,EAAGgC,CAAH,CAAD,KAAS;AAAC,gBAAK;AAAC7K,YAAAA,QAAQ,EAAC/qB;AAAV,cAAag0B,CAAC,CAACpuB,KAApB;AAAA,gBAA0B;AAAC+nG,YAAAA,SAAS,EAAC;AAACmC,cAAAA,KAAK,EAACh6E,CAAP;AAASi6E,cAAAA,GAAG,EAACp8E;AAAb,aAAX;AAA2B,eAAG83C;AAA9B,cAAiC71C,CAA3D;AAAA,gBAA6DoxI,CAAC,GAAChnK,CAAC,CAACyvG,OAAF,CAAU35E,CAAC,CAACjJ,IAAZ,CAA/D;AAAA,gBAAiF0oL,CAAC,GAAClsL,CAAC,CAAC4mF,sBAAF,CAAyB+2D,CAAzB,EAA2BlxI,CAAC,CAACzlC,IAA7B,EAAkCylC,CAAC,CAACo6E,UAApC,CAAnF;AAAA,gBAAmIj9E,CAAC,GAAC5J,CAAC,CAAC4mF,sBAAF,CAAyB+2D,CAAzB,EAA2BrzI,CAAC,CAACtjC,IAA7B,EAAkCsjC,CAAC,CAACu8E,UAApC,CAArI;AAAA,gBAAqL+vD,CAAC,GAAC52I,CAAC,CAACgnF,WAAF,CAAcklG,CAAd,EAAgBtiL,CAAhB,CAAvL;AAA0M5J,UAAAA,CAAC,CAACinF,SAAF,CAAY18E,CAAZ,EAAc;AAACw8E,YAAAA,KAAK,EAAC6vD,CAAP;AAAS,eAAGx0F;AAAZ,WAAd;AAA8B,SAA9R,CAAhQ;AAAiiB;;AAAAojC,MAAAA,yBAAyB,GAAE;AAAC,cAAMxlF,CAAC,GAACnhB,IAAI,CAACC,KAAL,CAAW,KAAK2jG,KAAL,CAAWoB,cAAtB,CAAR;AAAA,cAA8Cl5E,CAAC,GAAC9rB,IAAI,CAACC,KAAL,CAAW,KAAK2jG,KAAL,CAAWqB,WAAtB,CAAhD;AAAmF9jF,QAAAA,CAAC,CAAC6F,OAAF,CAAW7F,CAAC,IAAE;AAAC,gBAAM2K,CAAC,GAAC,KAAKq3E,MAAL,CAAYtiH,MAAZ,CAAmBe,GAAnB,CAAuB,yBAAvB,CAAR;AAAA,gBAA0D8pC,CAAC,GAAC,KAAKy3E,MAAL,CAAYyB,OAAZ,CAAoBhjH,GAApB,CAAwB,oBAAxB,CAA5D;;AAA0G,cAAG8pC,CAAC,CAAC+8E,gBAAF,CAAmBtnF,CAAC,CAACunF,QAArB,CAAH,EAAkC;AAACh9E,YAAAA,CAAC,CAACk9E,gBAAF,CAAmBznF,CAAC,CAACunF,QAArB,EAA+BtH,MAA/B;AAAwC;;AAAA11E,UAAAA,CAAC,CAACm9E,gBAAF,CAAmB;AAACL,YAAAA,SAAS,EAAC18E,CAAX;AAAa,eAAG3K;AAAhB,WAAnB;AAAuC,SAA3O,GAA8O2K,CAAC,CAAC9E,OAAF,CAAW7F,CAAC,IAAE;AAAC,gBAAM2K,CAAC,GAAC,KAAKq3E,MAAL,CAAYyB,OAAZ,CAAoBhjH,GAApB,CAAwB,qBAAxB,CAAR;;AAAuD,cAAGkqC,CAAC,CAACk9E,aAAF,CAAgB7nF,CAAC,CAAC7yB,EAAlB,CAAH,EAAyB;AAACw9B,YAAAA,CAAC,CAACo9E,aAAF,CAAgB/nF,CAAC,CAAC7yB,EAAlB,EAAsB82G,UAAtB,GAAiCjkF,CAAC,CAACikF,UAAnC;AAA8C,WAAxE,MAA6Et5E,CAAC,CAACq9E,iBAAF,CAAoBhoF,CAApB;AAAuB,SAA1K,CAA9O;AAA2Z;;AAArkD;;AAAskD,UAAM8vS,EAAE,GAAC5jS,MAAM,CAAC,aAAD,CAAf;;AAA+B,UAAMspL,EAAN,CAAQ;AAAC/1N,MAAAA,WAAW,GAAE;AAAC,aAAKghH,iBAAL,GAAuB,EAAvB,EAA0B,KAAKC,OAAL,GAAa,IAAIzxE,GAAJ,EAAvC,EAA+C,KAAK0xE,cAAL,GAAoB,CAAnE;AAAqE;;AAAA/B,MAAAA,OAAO,CAAC5+E,CAAD,EAAG;AAAC,aAAKygF,iBAAL,CAAuBx6E,IAAvB,CAA4BjG,CAA5B;AAA+B;;AAAAk/E,MAAAA,OAAO,CAACl/E,CAAD,EAAG2K,CAAH,EAAK;AAAC,cAAMJ,CAAC,GAACvK,CAAC,KAAG8vS,EAAZ;AAAe,aAAKnvN,cAAL,IAAsB,KAAKD,OAAL,CAAajgH,GAAb,CAAiBu/B,CAAjB,KAAqB,KAAK0gF,OAAL,CAAa57E,GAAb,CAAiB9E,CAAjB,EAAmBwJ,OAAO,CAACC,OAAR,EAAnB,CAA3C;AAAiF,cAAM8C,CAAC,GAAC,CAAChC,CAAC,GAACf,OAAO,CAACqlD,GAAR,CAAY,KAAK6xB,OAAL,CAAar/D,MAAb,EAAZ,CAAD,GAAoC7X,OAAO,CAACqlD,GAAR,CAAY,CAAC,KAAK6xB,OAAL,CAAajgH,GAAb,CAAiBqvU,EAAjB,CAAD,EAAsB,KAAKpvN,OAAL,CAAajgH,GAAb,CAAiBu/B,CAAjB,CAAtB,CAAZ,CAAtC,EAA+Fx4B,IAA/F,CAAoGmjC,CAApG,CAAR;AAAA,cAA+Gh0B,CAAC,GAAC41B,CAAC,CAACrQ,KAAF,CAAS,MAAI,CAAE,CAAf,CAAjH;AAAmI,eAAO,KAAKwkF,OAAL,CAAa57E,GAAb,CAAiB9E,CAAjB,EAAmBrpB,CAAnB,GAAsB41B,CAAC,CAAColC,OAAF,CAAW,MAAI;AAAC,eAAKgvC,cAAL,IAAsB,KAAKD,OAAL,CAAajgH,GAAb,CAAiBu/B,CAAjB,MAAsBrpB,CAAtB,IAAyB,MAAI,KAAKgqG,cAAlC,IAAkD,KAAKF,iBAAL,CAAuB56E,OAAvB,CAAgC7F,CAAC,IAAEA,CAAC,EAApC,CAAxE;AAAiH,SAAjI,CAA7B;AAAiK;;AAA/gB;;AAAghB,aAAS+vS,EAAT,CAAY/vS,CAAZ,EAAc;AAAC,aAAOmF,KAAK,CAACi8E,OAAN,CAAcphF,CAAd,IAAiBA,CAAjB,GAAmB,CAACA,CAAD,CAA1B;AAA8B;;AAAA,UAAMgwS,EAAN,SAAiBra,EAAE,CAACC,EAAE,CAACP,EAAD,CAAH,CAAnB,CAA4B;AAAC51T,MAAAA,WAAW,CAACugC,CAAD,EAAG2K,CAAC,GAAC,EAAL,EAAQ;AAAC,YAAG,CAACslS,EAAE,CAACjwS,CAAD,CAAH,IAAQ,KAAK,CAAL,KAAS2K,CAAC,CAACo4E,WAAtB,EAAkC,MAAM,IAAI5gC,CAAJ,CAAM,4BAAN,EAAmC,IAAnC,CAAN;AAA+C,cAAMx3C,CAAN,GAAS,KAAK,CAAL,KAAS,KAAKjrC,MAAL,CAAYe,GAAZ,CAAgB,aAAhB,CAAT,IAAyC,KAAKf,MAAL,CAAYolC,GAAZ,CAAgB,aAAhB,EAA8B,UAAS9E,CAAT,EAAW;AAAC,iBAAOiwS,EAAE,CAACjwS,CAAD,CAAF,IAAO2K,CAAC,GAAC3K,CAAF,EAAI2K,CAAC,YAAY6sO,mBAAb,GAAiC7sO,CAAC,CAACz5B,KAAnC,GAAyCy5B,CAAC,CAAC8sO,SAAtD,IAAiEz3O,CAAxE;AAA0E,cAAI2K,CAAJ;AAAM,SAA5F,CAA6F3K,CAA7F,CAA9B,CAAlD,EAAiLiwS,EAAE,CAACjwS,CAAD,CAAF,KAAQ,KAAK81R,aAAL,GAAmB91R,CAA3B,CAAjL,EAA+M,KAAKzjB,KAAL,CAAWmlB,QAAX,CAAoB2lR,UAApB,EAA/M;AAAgP,cAAM98Q,CAAC,GAAC,CAAC,KAAK7qC,MAAL,CAAYe,GAAZ,CAAgB,gCAAhB,CAAT;AAAA,cAA2D8rC,CAAC,GAAC,IAAIijS,EAAJ,CAAO,KAAKr4G,MAAZ,EAAmB,KAAKo+F,OAAL,CAAaz/G,IAAhC,EAAqC;AAAC25H,UAAAA,0BAA0B,EAACllS;AAA5B,SAArC,CAA7D;AAAkI,aAAK26E,EAAL,GAAQ,IAAI4pN,EAAJ,CAAO,IAAP,EAAYviS,CAAZ,CAAR,EAAuB,UAASvM,CAAT,EAAW;AAAC,cAAG,CAACkqO,EAAE,CAAClqO,CAAC,CAAC61R,mBAAH,CAAN,EAA8B,MAAM,IAAI1zO,CAAJ,CAAM,2CAAN,EAAkDniD,CAAlD,CAAN;AAA2D,gBAAM2K,CAAC,GAAC3K,CAAC,CAAC81R,aAAV;;AAAwB,cAAG,UAAS91R,CAAT,EAAW;AAAC,mBAAM,CAAC,CAACA,CAAF,IAAK,eAAaA,CAAC,CAAC+5K,OAAF,CAAU1yK,WAAV,EAAxB;AAAgD,WAA5D,CAA6DsD,CAA7D,KAAiEA,CAAC,CAACxsB,IAAtE,EAA2E;AAAC,gBAAIosB,CAAJ;;AAAM,kBAAMgC,CAAC,GAAC5B,CAAC,CAACxsB,IAAV;AAAA,kBAAexH,CAAC,GAAC,MAAIqpB,CAAC,CAAC61R,mBAAF,EAArB;;AAA6C3rD,YAAAA,EAAE,CAAC39N,CAAC,CAAC2jS,MAAH,CAAF,KAAe3lS,CAAC,GAACgC,CAAC,CAAC2jS,MAAJ,EAAW3jS,CAAC,CAAC2jS,MAAF,GAAS,MAAI;AAACv5T,cAAAA,CAAC,IAAG4zB,CAAC,CAACE,KAAF,CAAQ8B,CAAR,CAAJ;AAAe,aAAvD,GAAyDA,CAAC,CAACwP,gBAAF,CAAmB,QAAnB,EAA4BplC,CAA5B,CAAzD,EAAwFqpB,CAAC,CAACve,EAAF,CAAK,SAAL,EAAgB,MAAI;AAAC8qB,cAAAA,CAAC,CAAC8P,mBAAF,CAAsB,QAAtB,EAA+B1lC,CAA/B,GAAkC4zB,CAAC,KAAGgC,CAAC,CAAC2jS,MAAF,GAAS3lS,CAAZ,CAAnC;AAAkD,aAAvE,CAAxF;AAAkK;AAAC,SAA/Z,CAAga,IAAha,CAAvB;AAA6b;;AAAAo0E,MAAAA,OAAO,GAAE;AAAC,eAAO,KAAKm3M,aAAL,IAAoB,KAAKD,mBAAL,EAApB,EAA+C,KAAK3wM,EAAL,CAAQvG,OAAR,EAA/C,EAAiE,MAAMA,OAAN,EAAxE;AAAwF;;AAAa,aAAN51E,MAAM,CAAC/I,CAAD,EAAG2K,CAAC,GAAC,EAAL,EAAQ;AAAC,eAAO,IAAInB,OAAJ,CAAae,CAAC,IAAE;AAAC,gBAAMgC,CAAC,GAAC,IAAI,IAAJ,CAASvM,CAAT,EAAW2K,CAAX,CAAR;AAAsBJ,UAAAA,CAAC,CAACgC,CAAC,CAAC4xI,WAAF,GAAgB32K,IAAhB,CAAsB,MAAI+kC,CAAC,CAAC24E,EAAF,CAAK3jH,IAAL,CAAU0uU,EAAE,CAACjwS,CAAD,CAAF,GAAMA,CAAN,GAAQ,IAAlB,CAA1B,EAAoDx4B,IAApD,CAA0D,MAAI+kC,CAAC,CAAC5kC,IAAF,CAAOpG,IAAP,CAAYgrC,CAAC,CAAC7sC,MAAF,CAASe,GAAT,CAAa,aAAb,CAAZ,CAA9D,EAAyG+G,IAAzG,CAA+G,MAAI+kC,CAAC,CAACm5E,IAAF,CAAO,OAAP,CAAnH,EAAqIl+G,IAArI,CAA2I,MAAI+kC,CAA/I,CAAD,CAAD;AAAsJ,SAA7L,CAAP;AAAuM;;AAAptC;;AAAqtC,aAAS0jS,EAAT,CAAYjwS,CAAZ,EAAc;AAAC,aAAOuyO,EAAE,CAACvyO,CAAD,CAAT;AAAa;;AAAAgwS,IAAAA,EAAE,CAAChyN,OAAH,GAAWstK,EAAX,EAAc0kD,EAAE,CAACryN,cAAH,GAAkBiyN,EAAhC,EAAmCI,EAAE,CAACjyN,eAAH,GAAmB,cAAc2xN,EAAd,CAAgB;AAACjwU,MAAAA,WAAW,CAACugC,CAAD,EAAG2K,CAAC,GAAC,EAAL,EAAQ;AAAC,cAAMA,CAAN,GAAS,KAAKuzE,UAAL,GAAgB,IAAIjvE,GAAJ,EAAzB,EAAiC,KAAKkvE,QAAL,GAAc,IAA/C,EAAoD,KAAKC,aAAL,GAAmB,IAAIvM,GAAJ,EAAvE,EAA+E,KAAKwM,aAAL,GAAmB,IAAIm3G,EAAJ,EAAlG,EAAyG,KAAKj3G,eAAL,GAAqB5zE,CAA9H,EAAgI,KAAK6zE,QAAL,GAAc7zE,CAAC,IAAE3K,CAAC,CAAC+I,MAAF,CAAS4B,CAAT,CAAjJ,EAA6J,KAAK+zE,WAAL,GAAiB1+E,CAAC,IAAEA,CAAC,CAAC2+E,OAAF,EAAjL,EAA6L,KAAKN,aAAL,CAAmBO,OAAnB,CAA4B,MAAI;AAAC,6BAAiB,KAAKnjG,KAAtB,KAA8B,KAAKA,KAAL,GAAW,OAAX,EAAmB,KAAKojG,KAAL,CAAW,aAAX,CAAjD;AAA4E,SAA7G,CAA7L;AAA6S;;AAAAC,MAAAA,UAAU,CAAC9+E,CAAD,EAAG;AAAC,aAAKw+E,QAAL,GAAcx+E,CAAd;AAAgB;;AAAAg/E,MAAAA,aAAa,CAACh/E,CAAD,EAAG;AAAC,aAAK0+E,WAAL,GAAiB1+E,CAAjB;AAAmB;;AAAW,UAAP1vB,OAAO,GAAE;AAAC,eAAO,KAAK6tG,QAAZ;AAAqB;;AAAAp1E,MAAAA,MAAM,CAAC/I,CAAC,GAAC,EAAH,EAAM;AAAC,eAAO,KAAKq+E,aAAL,CAAmBa,OAAnB,CAA2B4wN,EAA3B,EAA+B,OAAK,KAAK3wN,cAAL,GAAoBn/E,CAApB,EAAsB,KAAKo/E,OAAL,EAA3B,CAA/B,CAAP;AAAmF;;AAAArhE,MAAAA,OAAO,CAAC/d,CAAD,EAAG;AAAC,eAAO,KAAKs/E,YAAL,CAAkBt/E,CAAlB,EAAqBu/E,KAA5B;AAAkC;;AAAAC,MAAAA,YAAY,CAACx/E,CAAD,EAAG;AAAC,eAAO,KAAKs/E,YAAL,CAAkBt/E,CAAlB,EAAqBvkB,KAA5B;AAAkC;;AAAAmZ,MAAAA,GAAG,CAACoL,CAAD,EAAG;AAAC,cAAM2K,CAAC,GAAColS,EAAE,CAAC/vS,CAAD,CAAV;AAAc,eAAOwJ,OAAO,CAACqlD,GAAR,CAAYlkD,CAAC,CAACnhC,GAAF,CAAOw2B,CAAC,IAAE,KAAKq+E,aAAL,CAAmBa,OAAnB,CAA2Bl/E,CAAC,CAAC7yB,EAA7B,EAAiC,MAAI;AAAC,cAAG,gBAAc,KAAKsO,KAAtB,EAA4B,MAAM,IAAI0xC,KAAJ,CAAU,yCAAV,CAAN;AAA2D,cAAG,CAAC,KAAKgxD,QAAT,EAAkB,MAAM,IAAIhxD,KAAJ,CAAU,2FAAV,CAAN;AAA6G,cAAIxiB,CAAJ;AAAM,cAAG,KAAKuzE,UAAL,CAAgBpvD,GAAhB,CAAoB9uB,CAAC,CAAC7yB,EAAtB,CAAH,EAA6B,MAAM,IAAIggD,KAAJ,CAAW,6CAA4CntB,CAAC,CAAC7yB,EAAG,IAA5D,CAAN;AAAuE,cAAG,aAAW6yB,CAAC,CAAC/oB,IAAhB,EAAqB,OAAO0zB,CAAC,GAAC,IAAIilS,EAAJ,CAAO,IAAP,EAAY,KAAKrxN,eAAjB,CAAF,EAAoC5zE,CAAC,CAACm0E,UAAF,CAAa9+E,CAAC,CAAC++E,OAAf,CAApC,EAA4Dp0E,CAAC,CAACi1E,sBAAF,CAAyB,KAAKxB,aAA9B,CAA5D,EAAyGp+E,CAAC,CAACi/E,UAAF,IAAct0E,CAAC,CAACq0E,aAAF,CAAgBh/E,CAAC,CAACi/E,UAAlB,CAAvH,EAAqJ,KAAKf,UAAL,CAAgBp5E,GAAhB,CAAoB9E,CAAC,CAAC7yB,EAAtB,EAAyBw9B,CAAzB,CAArJ,EAAiLA,CAAC,CAAClpB,EAAF,CAAK,OAAL,EAAc,CAAC8oB,CAAD,EAAG;AAACl0B,YAAAA,KAAK,EAACk2B,CAAP;AAASuzE,YAAAA,aAAa,EAACnpG;AAAvB,WAAH,KAA+B;AAAC,iBAAKkoG,KAAL,CAAW,WAAX,EAAuB;AAAC35F,cAAAA,MAAM,EAAC8a,CAAC,CAAC7yB,EAAV;AAAakJ,cAAAA,KAAK,EAACk2B;AAAnB,aAAvB,GAA8C51B,CAAC,IAAE,KAAK0nG,aAAL,CAAmBa,OAAnB,CAA2Bl/E,CAAC,CAAC7yB,EAA7B,EAAiC,MAAI,IAAIq8B,OAAJ,CAAae,CAAC,IAAE;AAAC,oBAAMgC,CAAC,GAAC,MAAI;AAAC5B,gBAAAA,CAAC,CAAC/kB,GAAF,CAAM,SAAN,EAAgB2mB,CAAhB,GAAmB,KAAKsyE,KAAL,CAAW,aAAX,EAAyB;AAAC35F,kBAAAA,MAAM,EAAC8a,CAAC,CAAC7yB;AAAV,iBAAzB,CAAnB,EAA2Do9B,CAAC,EAA5D;AAA+D,eAA5E;;AAA6EI,cAAAA,CAAC,CAAClpB,EAAF,CAAK,SAAL,EAAe8qB,CAAf;AAAkB,aAAhH,CAArC,CAAjD;AAA2M,WAAzP,CAAjL,EAA6a5B,CAAC,CAAC5B,MAAF,CAAS/I,CAAC,CAACggF,mBAAX,EAA+BhgF,CAAC,CAACtgC,MAAjC,EAAwC,KAAKy+G,QAA7C,CAApb;AAA2e,gBAAM,IAAIhxD,KAAJ,CAAW,6BAA4BntB,CAAC,CAAC/oB,IAAK,IAA9C,CAAN;AAAyD,SAA/5B,CAAV,CAAZ,CAAP;AAAk8B;;AAAAgpG,MAAAA,MAAM,CAACjgF,CAAD,EAAG;AAAC,cAAM2K,CAAC,GAAColS,EAAE,CAAC/vS,CAAD,CAAV;AAAc,eAAOwJ,OAAO,CAACqlD,GAAR,CAAYlkD,CAAC,CAACnhC,GAAF,CAAOw2B,CAAC,IAAE,KAAKq+E,aAAL,CAAmBa,OAAnB,CAA2Bl/E,CAA3B,EAA8B,MAAI;AAAC,gBAAM2K,CAAC,GAAC,KAAK20E,YAAL,CAAkBt/E,CAAlB,CAAR;;AAA6B,iBAAO,KAAKk+E,UAAL,CAAgBtpE,MAAhB,CAAuB5U,CAAvB,GAA0B2K,CAAC,CAACg0E,OAAF,EAAjC;AAA6C,SAA7G,CAAV,CAAZ,CAAP;AAAgJ;;AAAAA,MAAAA,OAAO,GAAE;AAAC,eAAO,KAAKN,aAAL,CAAmBa,OAAnB,CAA2B4wN,EAA3B,EAA+B,OAAK,KAAKr0T,KAAL,GAAW,WAAX,EAAuB,KAAKojG,KAAL,CAAW,aAAX,CAAvB,EAAiD,MAAMF,OAAN,EAAjD,EAAiE,KAAKyB,QAAL,EAAtE,CAA/B,CAAP;AAA+H;;AAAAC,MAAAA,QAAQ,GAAE;AAAC,eAAO,KAAKhC,aAAL,CAAmBa,OAAnB,CAA2B4wN,EAA3B,EAA+B,OAAK,KAAKr0T,KAAL,GAAW,cAAX,EAA0B,KAAKojG,KAAL,CAAW,aAAX,CAA1B,EAAoD,KAAKuB,QAAL,GAAgBlkF,KAAhB,CAAuB8D,CAAC,IAAE;AAACl+B,UAAAA,OAAO,CAACuU,KAAR,CAAc,2DAAd,EAA0E2pB,CAA1E;AAA6E,SAAxG,EAA2Gx4B,IAA3G,CAAiH,MAAI,KAAK43G,OAAL,EAArH,EAAsI53G,IAAtI,CAA4I,MAAI,KAAKq3G,KAAL,CAAW,SAAX,CAAhJ,CAAzD,CAA/B,CAAP;AAA0Q;;AAAAO,MAAAA,OAAO,GAAE;AAAC,eAAO51E,OAAO,CAACC,OAAR,GAAkBjiC,IAAlB,CAAwB,OAAK,KAAK84G,mBAAL,IAA2B,KAAK9B,QAAL,CAAc,KAAKW,cAAnB,CAAhC,CAAxB,EAA8F33G,IAA9F,CAAoGw4B,CAAC,KAAG,KAAKm+E,QAAL,GAAcn+E,CAAd,EAAgB,KAAKo+E,aAAL,GAAmBi+C,EAAE,CAAC,KAAKl+C,QAAN,CAArC,EAAqD30E,OAAO,CAACqlD,GAAR,CAAY1pD,KAAK,CAAC7H,IAAN,CAAW,KAAK4gF,UAAL,CAAgB78D,MAAhB,EAAX,EAAqC73C,GAArC,CAA0Cw2B,CAAC,KAAGA,CAAC,CAAC4/E,sBAAF,CAAyB,KAAKxB,aAA9B,GAA6Cp+E,CAAC,CAAC+I,MAAF,CAAS,KAAK,CAAd,EAAgB,KAAK,CAArB,EAAuB,KAAKo1E,QAA5B,CAAhD,CAA3C,CAAZ,CAAxD,CAArG,CAAP;AAAwT;;AAAAiC,MAAAA,QAAQ,GAAE;AAAC,eAAO52E,OAAO,CAACC,OAAR,GAAkBjiC,IAAlB,CAAwB,MAAI;AAAC,eAAK+4G,kBAAL;;AAA0B,gBAAMvgF,CAAC,GAAC,KAAKm+E,QAAb;AAAsB,iBAAO,KAAKA,QAAL,GAAc,IAAd,EAAmB,KAAKC,aAAL,GAAmB,IAAIvM,GAAJ,EAAtC,EAA8CroE,OAAO,CAACqlD,GAAR,CAAY1pD,KAAK,CAAC7H,IAAN,CAAW,KAAK4gF,UAAL,CAAgB78D,MAAhB,EAAX,EAAqC73C,GAArC,CAA0Cw2B,CAAC,IAAEA,CAAC,CAAC2+E,OAAF,EAA7C,CAAZ,EAAwEn3G,IAAxE,CAA8E,MAAI,KAAKk3G,WAAL,CAAiB1+E,CAAjB,CAAlF,CAArD;AAA6J,SAA1O,CAAP;AAAoP;;AAAAs/E,MAAAA,YAAY,CAACt/E,CAAD,EAAG;AAAC,cAAM2K,CAAC,GAAC,KAAKuzE,UAAL,CAAgBz9G,GAAhB,CAAoBu/B,CAApB,CAAR;;AAA+B,YAAG,CAAC2K,CAAJ,EAAM,MAAM,IAAIwiB,KAAJ,CAAW,8CAA6CntB,CAAE,GAA1D,CAAN;AAAoE,eAAO2K,CAAP;AAAS;;AAAA61E,MAAAA,0BAA0B,CAACxgF,CAAD,EAAG;AAAC,aAAI,MAAM2K,CAAV,IAAe,KAAKuzE,UAAL,CAAgB78D,MAAhB,EAAf,EAAwC,IAAG1W,CAAC,CAAC61E,0BAAF,CAA6BxgF,CAA7B,CAAH,EAAmC,OAAM,CAAC,CAAP;;AAAS,eAAO2vS,EAAE,CAAC,KAAKxxN,QAAN,EAAen+E,CAAC,CAAC1vB,OAAjB,CAAT;AAAmC;;AAA39F,KAAtE;AAAmiG,UAAMo3M,EAAE,GAAC,CAAC,MAAD,EAAQ,OAAR,EAAgB,QAAhB,EAAyB,SAAzB,CAAT;;AAA6C,aAASyoH,EAAT,CAAYnwS,CAAZ,EAAc;AAAC,aAAO0nL,EAAE,CAACv7M,QAAH,CAAY6zB,CAAZ,CAAP;AAAsB;;AAAA,aAAS4wL,EAAT,CAAY5wL,CAAZ,EAAc2K,CAAd,EAAgB;AAAC,aAAM,SAAOA,CAAC,CAACwxO,wBAAT,GAAkC,YAAUn8O,CAA5C,GAA8C,WAASA,CAA7D;AAA+D;;AAAA,aAASqqL,EAAT,CAAYrqL,CAAZ,EAAc;AAAC,YAAM2K,CAAC,GAAC3K,CAAC,CAACx2B,GAAF,CAAOw2B,CAAC,IAAE;AAAC,YAAI2K,CAAJ;AAAM,eAAOA,CAAC,GAAC,YAAU,OAAO3K,CAAjB,GAAmB;AAACxvB,UAAAA,IAAI,EAACwvB;AAAN,SAAnB,GAA4BA,CAA9B,EAAgC2K,CAAvC;AAAyC,OAA1D,EAA6DhhC,MAA7D,CAAqEq2B,CAAC,IAAE;AAAC,cAAM2K,CAAC,GAAC+8K,EAAE,CAACv7M,QAAH,CAAY6zB,CAAC,CAACxvB,IAAd,CAAR;AAA4B,eAAOm6B,CAAC,IAAEd,CAAC,CAAC,sCAAD,EAAwC;AAAC14B,UAAAA,MAAM,EAAC6uB;AAAR,SAAxC,CAAJ,EAAwD2K,CAA/D;AAAiE,OAAtK,CAAR;AAAA,YAAiLJ,CAAC,GAACI,CAAC,CAAChhC,MAAF,CAAUq2B,CAAC,IAAEkpI,OAAO,CAAClpI,CAAC,CAAC8hK,SAAH,CAApB,EAAoCn1L,MAAvN;AAA8N,UAAG49B,CAAC,IAAEA,CAAC,GAACI,CAAC,CAACh+B,MAAV,EAAiB,MAAM,IAAIw1E,CAAJ,CAAM,yCAAN,EAAgD;AAACiuP,QAAAA,iBAAiB,EAACpwS;AAAnB,OAAhD,CAAN;AAA6E,aAAO2K,CAAC,CAAC9E,OAAF,CAAW,CAAC8E,CAAD,EAAGJ,CAAH,EAAKgC,CAAL,KAAS;AAAC,cAAM51B,CAAC,GAAC41B,CAAC,CAACmsE,KAAF,CAAQnuE,CAAC,GAAC,CAAV,CAAR;AAAqB,YAAG5zB,CAAC,CAACkF,IAAF,CAAQmkB,CAAC,IAAEA,CAAC,CAACxvB,IAAF,IAAQm6B,CAAC,CAACn6B,IAArB,CAAH,EAA+B,MAAM,IAAI2xE,CAAJ,CAAM,uCAAN,EAA8C;AAAChxE,UAAAA,MAAM,EAACw5B,CAAR;AAAUylS,UAAAA,iBAAiB,EAACpwS;AAA5B,SAA9C,CAAN;;AAAoF,YAAG2K,CAAC,CAACm3J,SAAL,EAAe;AAAC,cAAGnrL,CAAC,CAACkF,IAAF,CAAQmkB,CAAC,IAAEA,CAAC,CAAC8hK,SAAF,IAAan3J,CAAC,CAACm3J,SAA1B,CAAH,EAAyC,MAAM,IAAI3/G,CAAJ,CAAM,4CAAN,EAAmD;AAAChxE,YAAAA,MAAM,EAACw5B,CAAR;AAAUylS,YAAAA,iBAAiB,EAACpwS;AAA5B,WAAnD,CAAN;AAAyF;AAAC,OAAhT,GAAmT2K,CAA1T;AAA4T;;AAAA,UAAM0lS,EAAE,GAAC,WAAT;;AAAqB,UAAMC,EAAN,SAAiB3mD,EAAjB,CAAmB;AAACE,MAAAA,OAAO,GAAE;AAAC,cAAM7pP,CAAC,GAAC,KAAKgiF,MAAL,CAAYm1G,MAApB;AAAA,cAA2BxsL,CAAC,GAAC2yO,EAAE,CAAC,KAAKt7J,MAAL,CAAYzlG,KAAZ,CAAkBmlB,QAAlB,CAA2BooP,SAA3B,CAAqC4tB,iBAArC,EAAD,CAA/B;AAA0F,aAAKr9I,SAAL,GAAe6O,OAAO,CAACv+H,CAAD,CAAP,IAAY,KAAK4lS,aAAL,CAAmB5lS,CAAnB,CAA3B,EAAiD,KAAK0vH,SAAL,IAAgB1vH,CAAC,CAACuoP,YAAF,CAAe,WAAf,CAAhB,GAA4C,KAAKhiR,KAAL,GAAWy5B,CAAC,CAACk3O,YAAF,CAAe,WAAf,CAAvD,GAAmF,KAAK3wQ,KAAL,GAAW,UAAQ8uB,CAAC,CAACm8O,wBAAV,GAAmC,OAAnC,GAA2C,MAA1L;AAAiM;;AAAAgO,MAAAA,OAAO,CAACnqP,CAAC,GAAC,EAAH,EAAM;AAAC,cAAM2K,CAAC,GAAC,KAAKq3E,MAAb;AAAA,cAAoBz3E,CAAC,GAACI,CAAC,CAACwsL,MAAxB;AAAA,cAA+B5qL,CAAC,GAAC5B,CAAC,CAACpuB,KAAnC;AAAA,cAAyC5F,CAAC,GAAC41B,CAAC,CAAC7K,QAA7C;AAAA,cAAsD+K,CAAC,GAACzM,CAAC,CAAC9uB,KAA1D;AAAgEq7B,QAAAA,CAAC,CAACm1K,MAAF,CAAU1hL,CAAC,IAAE;AAAC,gBAAM2K,CAAC,GAACxF,KAAK,CAAC7H,IAAN,CAAW3mB,CAAC,CAACmzQ,SAAF,CAAY4tB,iBAAZ,EAAX,EAA4C/tS,MAA5C,CAAoDq2B,CAAC,IAAE,KAAKuwS,aAAL,CAAmBvwS,CAAnB,CAAvD,CAAR;AAAA,gBAAuFuM,CAAC,GAAC5B,CAAC,CAAC,CAAD,CAAD,CAAKk3O,YAAL,CAAkB,WAAlB,CAAzF;AAAwHjxD,UAAAA,EAAE,CAACnkL,CAAD,EAAGlC,CAAH,CAAF,IAASgC,CAAC,KAAGE,CAAb,IAAgB,CAACA,CAAjB,GAAmB,UAASzM,CAAT,EAAW2K,CAAX,EAAa;AAAC,iBAAI,MAAMJ,CAAV,IAAevK,CAAf,EAAiB2K,CAAC,CAACk5N,eAAF,CAAkBwsE,EAAlB,EAAqB9lS,CAArB;AAAwB,WAAvD,CAAwDI,CAAxD,EAA0D3K,CAA1D,CAAnB,GAAgF,UAASA,CAAT,EAAW2K,CAAX,EAAaJ,CAAb,EAAe;AAAC,iBAAI,MAAMgC,CAAV,IAAevM,CAAf,EAAiB2K,CAAC,CAAC+wC,YAAF,CAAe20P,EAAf,EAAkB9lS,CAAlB,EAAoBgC,CAApB;AAAuB,WAAxD,CAAyD5B,CAAzD,EAA2D3K,CAA3D,EAA6DyM,CAA7D,CAAhF;AAAgJ,SAAtR;AAAyR;;AAAA8jS,MAAAA,aAAa,CAACvwS,CAAD,EAAG;AAAC,eAAO,KAAKgiF,MAAL,CAAYzlG,KAAZ,CAAkBolQ,MAAlB,CAAyBm5B,cAAzB,CAAwC96Q,CAAxC,EAA0CqwS,EAA1C,CAAP;AAAqD;;AAAntB;;AAAotB,UAAMG,EAAN,SAAiBnnD,EAAjB,CAAmB;AAAsB,iBAAVwB,UAAU,GAAE;AAAC,eAAM,kBAAN;AAAyB;;AAAAprR,MAAAA,WAAW,CAACugC,CAAD,EAAG;AAAC,cAAMA,CAAN,GAASA,CAAC,CAACtgC,MAAF,CAAS69M,MAAT,CAAgB,WAAhB,EAA4B;AAAC7vL,UAAAA,OAAO,EAACg6L,EAAE,CAACl+M,GAAH,CAAQw2B,CAAC,KAAG;AAACxvB,YAAAA,IAAI,EAACwvB;AAAN,WAAH,CAAT;AAAT,SAA5B,CAAT;AAAwE;;AAAAz+B,MAAAA,IAAI,GAAE;AAAC,cAAMy+B,CAAC,GAAC,KAAKgiF,MAAb;AAAA,cAAoBr3E,CAAC,GAAC3K,CAAC,CAACm3L,MAAxB;AAAA,cAA+B5sL,CAAC,GAACvK,CAAC,CAACzjB,KAAF,CAAQolQ,MAAzC;AAAA,cAAgDp1O,CAAC,GAAC89K,EAAE,CAACrqL,CAAC,CAACtgC,MAAF,CAASe,GAAT,CAAa,mBAAb,CAAD,CAAF,CAAsCkJ,MAAtC,CAA8Cq2B,CAAC,IAAEmwS,EAAE,CAACnwS,CAAC,CAACxvB,IAAH,CAAF,IAAY,CAACogN,EAAE,CAAC5wL,CAAC,CAACxvB,IAAH,EAAQm6B,CAAR,CAAhE,CAAlD;AAAA,cAA+Hh0B,CAAC,GAAC41B,CAAC,CAAC1wB,IAAF,CAAQmkB,CAAC,IAAE,CAAC,CAACA,CAAC,CAAC8hK,SAAf,CAAjI;AAA4Jv3J,QAAAA,CAAC,CAACysL,MAAF,CAAS,QAAT,EAAkB;AAAC+oF,UAAAA,eAAe,EAAC;AAAjB,SAAlB,GAAiD//Q,CAAC,CAACzjB,KAAF,CAAQolQ,MAAR,CAAew+B,sBAAf,CAAsC,WAAtC,EAAkD;AAACswB,UAAAA,YAAY,EAAC,CAAC;AAAf,SAAlD,CAAjD,EAAsH95T,CAAC,GAACqpB,CAAC,CAACk5N,UAAF,CAAa8iD,oBAAb,CAAkC,UAASh8Q,CAAT,EAAW;AAAC,gBAAM2K,CAAC,GAAC,EAAR;;AAAW,eAAI,MAAMJ,CAAV,IAAevK,CAAf,EAAiB2K,CAAC,CAACJ,CAAC,CAAC/5B,IAAH,CAAD,GAAU;AAACs1B,YAAAA,GAAG,EAAC,OAAL;AAAa50B,YAAAA,KAAK,EAACq5B,CAAC,CAACu3J;AAArB,WAAV;;AAA0C,gBAAMv3J,CAAC,GAAC;AAAChuB,YAAAA,KAAK,EAAC;AAACupB,cAAAA,GAAG,EAAC,WAAL;AAAiBub,cAAAA,MAAM,EAACrhB,CAAC,CAACx2B,GAAF,CAAOw2B,CAAC,IAAEA,CAAC,CAACxvB,IAAZ;AAAxB,aAAP;AAAmDslM,YAAAA,IAAI,EAACnrK;AAAxD,WAAR;AAAmE,iBAAOJ,CAAP;AAAS,SAA9J,CAA+JgC,CAA/J,CAAlC,CAAD,GAAsMvM,CAAC,CAACk5N,UAAF,CAAaxe,GAAb,CAAiB,UAAjB,EAA6BshE,oBAA7B,CAAkD,UAASh8Q,CAAT,EAAW;AAAC,gBAAM2K,CAAC,GAAC,EAAR;;AAAW,eAAI,MAAK;AAACn6B,YAAAA,IAAI,EAAC+5B;AAAN,WAAT,IAAoBvK,CAApB,EAAsB2K,CAAC,CAACJ,CAAD,CAAD,GAAK;AAACzE,YAAAA,GAAG,EAAC,OAAL;AAAa50B,YAAAA,KAAK,EAAC;AAAC,4BAAaq5B;AAAd;AAAnB,WAAL;;AAA0C,gBAAMA,CAAC,GAAC;AAAChuB,YAAAA,KAAK,EAAC;AAACupB,cAAAA,GAAG,EAAC,WAAL;AAAiBub,cAAAA,MAAM,EAACrhB,CAAC,CAACx2B,GAAF,CAAOw2B,CAAC,IAAEA,CAAC,CAACxvB,IAAZ;AAAxB,aAAP;AAAmDslM,YAAAA,IAAI,EAACnrK;AAAxD,WAAR;AAAmE,iBAAOJ,CAAP;AAAS,SAAnK,CAAoKgC,CAApK,CAAlD,CAA7T;;AAAuhB,cAAME,CAAC,GAAC,UAASzM,CAAT,EAAW;AAAC,gBAAM2K,CAAC,GAAC,EAAR;;AAAW,eAAI,MAAK;AAACn6B,YAAAA,IAAI,EAAC+5B;AAAN,WAAT,IAAoBvK,CAApB,EAAsB2K,CAAC,CAAC1E,IAAF,CAAO;AAAC6vK,YAAAA,IAAI,EAAC;AAAChwK,cAAAA,GAAG,EAAC,OAAL;AAAa50B,cAAAA,KAAK,EAAC;AAAC,8BAAaq5B;AAAd;AAAnB,aAAN;AAA2ChuB,YAAAA,KAAK,EAAC;AAACupB,cAAAA,GAAG,EAAC,WAAL;AAAiB50B,cAAAA,KAAK,EAACq5B;AAAvB;AAAjD,WAAP;;AAAoF,iBAAOI,CAAP;AAAS,SAA1I,CAA2I4B,CAA3I,CAAR;;AAAsJ,aAAI,MAAM5B,CAAV,IAAe8B,CAAf,EAAiBzM,CAAC,CAACk5N,UAAF,CAAaxe,GAAb,CAAiB,QAAjB,EAA2BshE,oBAA3B,CAAgDrxQ,CAAhD;;AAAmD,cAAML,CAAC,GAAC,UAAStK,CAAT,EAAW;AAAC,gBAAM2K,CAAC,GAAC,EAAR;;AAAW,eAAI,MAAK;AAACn6B,YAAAA,IAAI,EAAC+5B;AAAN,WAAT,IAAoBvK,CAApB,EAAsB2K,CAAC,CAAC1E,IAAF,CAAO;AAAC6vK,YAAAA,IAAI,EAAC;AAAChwK,cAAAA,GAAG,EAAC,OAAL;AAAa50B,cAAAA,KAAK,EAACq5B;AAAnB,aAAN;AAA4BhuB,YAAAA,KAAK,EAAC;AAACupB,cAAAA,GAAG,EAAC,WAAL;AAAiB50B,cAAAA,KAAK,EAACq5B;AAAvB;AAAlC,WAAP;;AAAqE,iBAAOI,CAAP;AAAS,SAA3H,CAA4H4B,CAA5H,CAAR;;AAAuI,aAAI,MAAM5B,CAAV,IAAeL,CAAf,EAAiBtK,CAAC,CAACk5N,UAAF,CAAaxe,GAAb,CAAiB,QAAjB,EAA2BshE,oBAA3B,CAAgDrxQ,CAAhD;;AAAmD3K,QAAAA,CAAC,CAACm1R,QAAF,CAAWvgS,GAAX,CAAe,WAAf,EAA2B,IAAI07S,EAAJ,CAAOtwS,CAAP,CAA3B;AAAsC;;AAA9wC;;AAA+wC,UAAM0wS,EAAE,GAAC,IAAIzhS,GAAJ,CAAQ,CAAC,CAAC,MAAD,EAAQ8mR,EAAE,CAACgB,SAAX,CAAD,EAAuB,CAAC,OAAD,EAAShB,EAAE,CAACkB,UAAZ,CAAvB,EAA+C,CAAC,QAAD,EAAUlB,EAAE,CAACiB,WAAb,CAA/C,EAAyE,CAAC,SAAD,EAAWjB,EAAE,CAACmB,YAAd,CAAzE,CAAR,CAAT;;AAAwH,UAAMyZ,EAAN,SAAiBtnD,EAAjB,CAAmB;AAA0B,UAArBunD,qBAAqB,GAAE;AAAC,cAAM5wS,CAAC,GAAC,KAAKgiF,MAAL,CAAYhiF,CAApB;AAAsB,eAAM;AAACo0C,UAAAA,IAAI,EAACp0C,CAAC,CAAC,YAAD,CAAP;AAAsBxT,UAAAA,KAAK,EAACwT,CAAC,CAAC,aAAD,CAA7B;AAA6C6wS,UAAAA,MAAM,EAAC7wS,CAAC,CAAC,cAAD,CAArD;AAAsE8wS,UAAAA,OAAO,EAAC9wS,CAAC,CAAC,SAAD;AAA/E,SAAN;AAAkG;;AAAqB,iBAAV6qP,UAAU,GAAE;AAAC,eAAM,aAAN;AAAoB;;AAAAtpR,MAAAA,IAAI,GAAE;AAAC,cAAMy+B,CAAC,GAAC,KAAKgiF,MAAb;AAAA,cAAoBr3E,CAAC,GAAC3K,CAAC,CAACklF,EAAF,CAAKojN,gBAA3B;AAAA,cAA4C/9R,CAAC,GAACvK,CAAC,CAACA,CAAhD;AAAA,cAAkDuM,CAAC,GAAC89K,EAAE,CAACrqL,CAAC,CAACtgC,MAAF,CAASe,GAAT,CAAa,mBAAb,CAAD,CAAtD;AAA0F8rC,QAAAA,CAAC,CAAC/iC,GAAF,CAAOw2B,CAAC,IAAEA,CAAC,CAACxvB,IAAZ,EAAmB7G,MAAnB,CAA0BwmU,EAA1B,EAA8BtqS,OAA9B,CAAuC7F,CAAC,IAAE,KAAK+wS,UAAL,CAAgB/wS,CAAhB,CAA1C,GAA+D2K,CAAC,CAAC/V,GAAF,CAAM,WAAN,EAAmBje,CAAC,IAAE;AAAC,gBAAM81B,CAAC,GAAC+sR,EAAE,CAAC7iT,CAAD,CAAV;AAAc8iT,UAAAA,EAAE,CAAChtR,CAAD,EAAI,MAAIF,CAAC,CAAC/iC,GAAF,CAAOw2B,CAAC,IAAE2K,CAAC,CAAC5B,MAAF,CAAU,aAAY/I,CAAC,CAACxvB,IAAK,EAA7B,CAAV,CAAR,EAAqD;AAACmsT,YAAAA,mCAAmC,EAAC,CAAC,CAAtC;AAAwCK,YAAAA,UAAU,EAAC,CAAC,CAApD;AAAsDF,YAAAA,SAAS,EAACvyR,CAAC,CAAC,wBAAD;AAAjE,WAArD,CAAF,EAAqJkC,CAAC,CAACy6O,UAAF,CAAapiP,GAAb,CAAiB;AAAC4G,YAAAA,KAAK,EAACnB,CAAC,CAAC,gBAAD,CAAR;AAA2B+uR,YAAAA,OAAO,EAAC,CAAC;AAApC,WAAjB,CAArJ,EAA8M7sR,CAAC,CAACozO,cAAF,CAAiB;AAAC57J,YAAAA,UAAU,EAAC;AAACm/J,cAAAA,KAAK,EAAC;AAAP;AAAZ,WAAjB,CAA9M;AAA6Q,gBAAM94O,CAAC,GAAC,UAAQ3zB,CAAC,CAACwlQ,wBAAV,GAAmCu0D,EAAE,CAACjwU,GAAH,CAAO,OAAP,CAAnC,GAAmDiwU,EAAE,CAACjwU,GAAH,CAAO,MAAP,CAA3D;AAAA,gBAA0E2hF,CAAC,GAACpiD,CAAC,CAACm1R,QAAF,CAAW10T,GAAX,CAAe,WAAf,CAA5E;AAAwG,iBAAOgsC,CAAC,CAACy6O,UAAF,CAAanyP,IAAb,CAAkB,MAAlB,EAA0B03J,EAA1B,CAA6BrqG,CAA7B,EAA+B,OAA/B,EAAwCpiD,CAAC,IAAE0wS,EAAE,CAACjwU,GAAH,CAAOu/B,CAAP,KAAWsK,CAAtD,GAA0DmC,CAAC,CAAC1X,IAAF,CAAO,WAAP,EAAoB03J,EAApB,CAAuBrqG,CAAvB,EAAyB,WAAzB,CAA1D,EAAgG,KAAKojL,QAAL,CAAc/4N,CAAd,EAAgB,SAAhB,EAA2B,MAAI;AAACzM,YAAAA,CAAC,CAACu1R,OAAF,CAAUz/G,IAAV,CAAe9iI,KAAf;AAAuB,WAAvD,CAAhG,EAA0JvmC,CAAjK;AAAmK,SAA7jB,CAA/D;AAA+nB;;AAAAskS,MAAAA,UAAU,CAAC/wS,CAAD,EAAG;AAAC,cAAM2K,CAAC,GAAC,KAAKq3E,MAAb;AAAoBr3E,QAAAA,CAAC,CAACu6E,EAAF,CAAKojN,gBAAL,CAAsB1zS,GAAtB,CAA2B,aAAYoL,CAAE,EAAzC,EAA4CuK,CAAC,IAAE;AAAC,gBAAMgC,CAAC,GAAC5B,CAAC,CAACwqR,QAAF,CAAW10T,GAAX,CAAe,WAAf,CAAR;AAAA,gBAAoCkW,CAAC,GAAC,IAAI+4M,EAAJ,CAAOnlL,CAAP,CAAtC;AAAgD,iBAAO5zB,CAAC,CAACmuB,GAAF,CAAM;AAAC4G,YAAAA,KAAK,EAAC,KAAKklS,qBAAL,CAA2B5wS,CAA3B,CAAP;AAAqC1iB,YAAAA,IAAI,EAACozT,EAAE,CAACjwU,GAAH,CAAOu/B,CAAP,CAA1C;AAAoDs5R,YAAAA,OAAO,EAAC,CAAC,CAA7D;AAA+D50C,YAAAA,YAAY,EAAC,CAAC;AAA7E,WAAN,GAAuF/tQ,CAAC,CAACoe,IAAF,CAAO,WAAP,EAAoB03J,EAApB,CAAuBlgJ,CAAvB,CAAvF,EAAiH51B,CAAC,CAACoe,IAAF,CAAO,MAAP,EAAe03J,EAAf,CAAkBlgJ,CAAlB,EAAoB,OAApB,EAA6B5B,CAAC,IAAEA,CAAC,KAAG3K,CAApC,CAAjH,EAAyJ,KAAKwlO,QAAL,CAAc7uP,CAAd,EAAgB,SAAhB,EAA2B,MAAI;AAACg0B,YAAAA,CAAC,CAACw/O,OAAF,CAAU,WAAV,EAAsB;AAACj5Q,cAAAA,KAAK,EAAC8uB;AAAP,aAAtB,GAAiC2K,CAAC,CAAC4qR,OAAF,CAAUz/G,IAAV,CAAe9iI,KAAf,EAAjC;AAAwD,WAAxF,CAAzJ,EAAoPr8D,CAA3P;AAA6P,SAA7V;AAAgW;;AAAnyC;;AAAoyC,UAAMq6T,EAAN,SAAiBrnD,EAAjB,CAAmB;AAAClqR,MAAAA,WAAW,CAACugC,CAAD,EAAG2K,CAAH,EAAK;AAAC,cAAM3K,CAAN,GAAS,KAAK+1Q,YAAL,GAAkBprQ,CAA3B;AAA6B;;AAAAk/O,MAAAA,OAAO,GAAE;AAAC,cAAM7pP,CAAC,GAAC,KAAKgiF,MAAL,CAAYzlG,KAApB;AAAA,cAA0BouB,CAAC,GAAC3K,CAAC,CAAC0B,QAA9B;AAAuC,aAAKxwB,KAAL,GAAW,KAAK+/T,6BAAL,EAAX,EAAgD,KAAK52K,SAAL,GAAer6H,CAAC,CAAC2hP,MAAF,CAASy+B,yBAAT,CAAmCz1Q,CAAC,CAACm/O,SAArC,EAA+C,KAAKisB,YAApD,CAA/D;AAAiI;;AAAA5rB,MAAAA,OAAO,CAACnqP,CAAC,GAAC,EAAH,EAAM;AAAC,cAAM2K,CAAC,GAAC,KAAKq3E,MAAL,CAAYzlG,KAApB;AAAA,cAA0BguB,CAAC,GAACI,CAAC,CAACjJ,QAAF,CAAWooP,SAAvC;AAAA,cAAiDv9O,CAAC,GAAC,KAAK,CAAL,KAASvM,CAAC,CAACkxS,UAAX,GAAsB,CAAC,KAAKhgU,KAA5B,GAAkC8uB,CAAC,CAACkxS,UAAvF;AAAkGvmS,QAAAA,CAAC,CAAC+2K,MAAF,CAAU1hL,CAAC,IAAE;AAAC,cAAGuK,CAAC,CAACyrP,WAAL,EAAiBzpP,CAAC,GAACvM,CAAC,CAAC4wR,qBAAF,CAAwB,KAAK7a,YAA7B,EAA0C,CAAC,CAA3C,CAAD,GAA+C/1Q,CAAC,CAACskR,wBAAF,CAA2B,KAAKvO,YAAhC,CAAhD,CAAjB,KAAmH;AAAC,kBAAMp/R,CAAC,GAACg0B,CAAC,CAACg3O,MAAF,CAAS0+B,cAAT,CAAwB91Q,CAAC,CAACgtP,SAAF,EAAxB,EAAsC,KAAKwe,YAA3C,CAAR;;AAAiE,iBAAI,MAAMprQ,CAAV,IAAeh0B,CAAf,EAAiB41B,CAAC,GAACvM,CAAC,CAAC07C,YAAF,CAAe,KAAKq6N,YAApB,EAAiCxpQ,CAAjC,EAAmC5B,CAAnC,CAAD,GAAuC3K,CAAC,CAAC6jO,eAAF,CAAkB,KAAKkyC,YAAvB,EAAoCprQ,CAApC,CAAxC;AAA+E;AAAC,SAApS;AAAuS;;AAAAsmS,MAAAA,6BAA6B,GAAE;AAAC,cAAMjxS,CAAC,GAAC,KAAKgiF,MAAL,CAAYzlG,KAApB;AAAA,cAA0BouB,CAAC,GAAC3K,CAAC,CAAC2hP,MAA9B;AAAA,cAAqCp3O,CAAC,GAACvK,CAAC,CAAC0B,QAAF,CAAWooP,SAAlD;AAA4D,YAAGv/O,CAAC,CAACyrP,WAAL,EAAiB,OAAOzrP,CAAC,CAAC2oP,YAAF,CAAe,KAAK6iB,YAApB,CAAP;;AAAyC,aAAI,MAAM/1Q,CAAV,IAAeuK,CAAC,CAACgtP,SAAF,EAAf,EAA6B,KAAI,MAAMhtP,CAAV,IAAevK,CAAC,CAACunG,QAAF,EAAf,EAA4B,IAAG58F,CAAC,CAACmwQ,cAAF,CAAiBvwQ,CAAjB,EAAmB,KAAKwrQ,YAAxB,CAAH,EAAyC,OAAOxrQ,CAAC,CAAC2oP,YAAF,CAAe,KAAK6iB,YAApB,CAAP;;AAAyC,eAAM,CAAC,CAAP;AAAS;;AAAl6B;;AAAm6B,UAAMo7B,EAAE,GAAC,MAAT;;AAAgB,UAAMC,EAAN,SAAiB/nD,EAAjB,CAAmB;AAAsB,iBAAVwB,UAAU,GAAE;AAAC,eAAM,aAAN;AAAoB;;AAAAtpR,MAAAA,IAAI,GAAE;AAAC,cAAMy+B,CAAC,GAAC,KAAKgiF,MAAb;AAAoBhiF,QAAAA,CAAC,CAACzjB,KAAF,CAAQolQ,MAAR,CAAe3qD,MAAf,CAAsB,OAAtB,EAA8B;AAAC+oF,UAAAA,eAAe,EAACoxB;AAAjB,SAA9B,GAAoDnxS,CAAC,CAACzjB,KAAF,CAAQolQ,MAAR,CAAew+B,sBAAf,CAAsCgxB,EAAtC,EAAyC;AAACV,UAAAA,YAAY,EAAC,CAAC,CAAf;AAAiBY,UAAAA,WAAW,EAAC,CAAC;AAA9B,SAAzC,CAApD,EAA+HrxS,CAAC,CAACk5N,UAAF,CAAa6iD,kBAAb,CAAgC;AAACx/R,UAAAA,KAAK,EAAC40T,EAAP;AAAUr7H,UAAAA,IAAI,EAAC,QAAf;AAAwBovG,UAAAA,UAAU,EAAC,CAAC,GAAD,EAAKllR,CAAC,IAAE;AAAC,kBAAM2K,CAAC,GAAC3K,CAAC,CAACuuP,QAAF,CAAW,aAAX,CAAR;AAAkC,mBAAO5jP,CAAC,KAAG,UAAQA,CAAR,IAAWlX,MAAM,CAACkX,CAAD,CAAN,IAAW,GAAzB,CAAD,GAA+B;AAACn6B,cAAAA,IAAI,EAAC,CAAC,CAAP;AAASgiP,cAAAA,MAAM,EAAC,CAAC,aAAD;AAAhB,aAA/B,GAAgE,IAAvE;AAA4E,WAAvH;AAAnC,SAAhC,CAA/H,EAA6TxyN,CAAC,CAACm1R,QAAF,CAAWvgS,GAAX,CAAeu8S,EAAf,EAAkB,IAAIH,EAAJ,CAAOhxS,CAAP,EAASmxS,EAAT,CAAlB,CAA7T,EAA6VnxS,CAAC,CAAConP,UAAF,CAAatiP,GAAb,CAAiB,QAAjB,EAA0BqsS,EAA1B,CAA7V;AAA2X;;AAAnc;;AAAoc,UAAMG,EAAE,GAAC,MAAT;;AAAgB,UAAMC,EAAN,SAAiBloD,EAAjB,CAAmB;AAAsB,iBAAVwB,UAAU,GAAE;AAAC,eAAM,QAAN;AAAe;;AAAAtpR,MAAAA,IAAI,GAAE;AAAC,cAAMy+B,CAAC,GAAC,KAAKgiF,MAAb;AAAA,cAAoBr3E,CAAC,GAAC3K,CAAC,CAACA,CAAxB;AAA0BA,QAAAA,CAAC,CAACklF,EAAF,CAAKojN,gBAAL,CAAsB1zS,GAAtB,CAA0B08S,EAA1B,EAA8B/mS,CAAC,IAAE;AAAC,gBAAMgC,CAAC,GAACvM,CAAC,CAACm1R,QAAF,CAAW10T,GAAX,CAAe6wU,EAAf,CAAR;AAAA,gBAA2B36T,CAAC,GAAC,IAAI+4M,EAAJ,CAAOnlL,CAAP,CAA7B;AAAuC,iBAAO5zB,CAAC,CAACmuB,GAAF,CAAM;AAAC4G,YAAAA,KAAK,EAACf,CAAC,CAAC,MAAD,CAAR;AAAiBrtB,YAAAA,IAAI,EAACy4S,EAAE,CAACC,IAAzB;AAA8BlxC,YAAAA,SAAS,EAAC,QAAxC;AAAiDw0C,YAAAA,OAAO,EAAC,CAAC,CAA1D;AAA4D50C,YAAAA,YAAY,EAAC,CAAC;AAA1E,WAAN,GAAoF/tQ,CAAC,CAACoe,IAAF,CAAO,MAAP,EAAc,WAAd,EAA2B03J,EAA3B,CAA8BlgJ,CAA9B,EAAgC,OAAhC,EAAwC,WAAxC,CAApF,EAAyI,KAAKi5N,QAAL,CAAc7uP,CAAd,EAAgB,SAAhB,EAA2B,MAAI;AAACqpB,YAAAA,CAAC,CAACmqP,OAAF,CAAUmnD,EAAV,GAActxS,CAAC,CAACu1R,OAAF,CAAUz/G,IAAV,CAAe9iI,KAAf,EAAd;AAAqC,WAArE,CAAzI,EAAiNr8D,CAAxN;AAA0N,SAAnS;AAAsS;;AAA/W;;AAAgX,UAAM66T,EAAN,CAAQ;AAAC/xU,MAAAA,WAAW,CAACugC,CAAD,EAAG2K,CAAC,GAAC,EAAL,EAAQ;AAAC,aAAK8mS,MAAL,GAAY,IAAZ,EAAiB,KAAKl1T,KAAL,GAAWyjB,CAA5B,EAA8B,KAAK0xS,KAAL,GAAW,CAAzC,EAA2C,KAAK9pL,KAAL,GAAWj9G,CAAtD,EAAwD,KAAKgnS,SAAL,GAAe,CAAC,CAAxE,EAA0E,KAAKC,eAAL,GAAqB,CAAC5xS,CAAD,EAAG2K,CAAH,KAAO;AAACA,UAAAA,CAAC,CAACgoM,OAAF,IAAWhoM,CAAC,CAAC26E,UAAb,IAAyB36E,CAAC,KAAG,KAAK8mS,MAAlC,IAA0C,KAAKI,MAAL,CAAY,CAAC,CAAb,CAA1C;AAA0D,SAAjK,EAAkK,KAAKC,wBAAL,GAA8B,MAAI;AAAC,eAAKD,MAAL;AAAc,SAAnN,EAAoN,KAAKt1T,KAAL,CAAWmlB,QAAX,CAAoBjgB,EAApB,CAAuB,QAAvB,EAAgC,KAAKmwT,eAArC,CAApN,EAA0Q,KAAKr1T,KAAL,CAAWmlB,QAAX,CAAoBooP,SAApB,CAA8BroQ,EAA9B,CAAiC,cAAjC,EAAgD,KAAKqwT,wBAArD,CAA1Q,EAAyV,KAAKv1T,KAAL,CAAWmlB,QAAX,CAAoBooP,SAApB,CAA8BroQ,EAA9B,CAAiC,kBAAjC,EAAoD,KAAKqwT,wBAAzD,CAAzV;AAA4a;;AAAS,UAALtqM,KAAK,GAAE;AAAC,eAAO,KAAKiqM,MAAL,KAAc,KAAKA,MAAL,GAAY,KAAKl1T,KAAL,CAAWi4S,WAAX,CAAuB;AAAC7J,UAAAA,QAAQ,EAAC,CAAC;AAAX,SAAvB,CAA1B,GAAiE,KAAK8mB,MAA7E;AAAoF;;AAAQ,UAAJt/N,IAAI,GAAE;AAAC,eAAO,KAAKu/N,KAAZ;AAAkB;;AAAAn5Q,MAAAA,KAAK,CAACv4B,CAAD,EAAG;AAAC,aAAK0xS,KAAL,IAAY1xS,CAAZ,EAAc,KAAK0xS,KAAL,IAAY,KAAK9pL,KAAjB,IAAwB,KAAKiqL,MAAL,CAAY,CAAC,CAAb,CAAtC;AAAsD;;AAAY,UAARE,QAAQ,GAAE;AAAC,eAAO,KAAKJ,SAAZ;AAAsB;;AAAAK,MAAAA,IAAI,GAAE;AAAC,aAAKL,SAAL,GAAe,CAAC,CAAhB;AAAkB;;AAAAM,MAAAA,MAAM,GAAE;AAAC,aAAKN,SAAL,GAAe,CAAC,CAAhB;AAAkB;;AAAAhzN,MAAAA,OAAO,GAAE;AAAC,aAAKpiG,KAAL,CAAWmlB,QAAX,CAAoB9b,GAApB,CAAwB,QAAxB,EAAiC,KAAKgsT,eAAtC,GAAuD,KAAKr1T,KAAL,CAAWmlB,QAAX,CAAoBooP,SAApB,CAA8BlkQ,GAA9B,CAAkC,cAAlC,EAAiD,KAAKksT,wBAAtD,CAAvD,EAAuI,KAAKv1T,KAAL,CAAWmlB,QAAX,CAAoBooP,SAApB,CAA8BlkQ,GAA9B,CAAkC,kBAAlC,EAAqD,KAAKksT,wBAA1D,CAAvI;AAA2N;;AAAAD,MAAAA,MAAM,CAAC7xS,CAAC,GAAC,CAAC,CAAJ,EAAM;AAAC,aAAK+xS,QAAL,IAAe,CAAC/xS,CAAhB,KAAoB,KAAKyxS,MAAL,GAAY,IAAZ,EAAiB,KAAKC,KAAL,GAAW,CAAhD;AAAmD;;AAA3/B;;AAA4/B,UAAMQ,EAAN,SAAiBvoD,EAAjB,CAAmB;AAAClqR,MAAAA,WAAW,CAACugC,CAAD,EAAG2K,CAAH,EAAK;AAAC,cAAM3K,CAAN,GAAS,KAAKinG,OAAL,GAAa,IAAIuqM,EAAJ,CAAOxxS,CAAC,CAACzjB,KAAT,EAAeouB,CAAf,CAAtB,EAAwC,KAAKi/O,0BAAL,GAAgC,CAAC,CAAzE;AAA2E;;AAAU,UAAN/tN,MAAM,GAAE;AAAC,eAAO,KAAKorE,OAAZ;AAAoB;;AAAAtoB,MAAAA,OAAO,GAAE;AAAC,cAAMA,OAAN,IAAgB,KAAKsoB,OAAL,CAAatoB,OAAb,EAAhB;AAAuC;;AAAAwrK,MAAAA,OAAO,CAACnqP,CAAC,GAAC,EAAH,EAAM;AAAC,cAAM2K,CAAC,GAAC,KAAKq3E,MAAL,CAAYzlG,KAApB;AAAA,cAA0BguB,CAAC,GAACI,CAAC,CAACjJ,QAA9B;AAAA,cAAuC6K,CAAC,GAACvM,CAAC,CAAC+xG,IAAF,IAAQ,EAAjD;AAAA,cAAoDp7H,CAAC,GAAC41B,CAAC,CAAC5/B,MAAxD;AAA+D,YAAI8/B,CAAC,GAAClC,CAAC,CAACu/O,SAAR;AAAkB,YAAG9pP,CAAC,CAAC8pP,SAAF,GAAYr9O,CAAC,GAACzM,CAAC,CAAC8pP,SAAhB,GAA0B9pP,CAAC,CAAC+mF,KAAF,KAAUt6E,CAAC,GAAC9B,CAAC,CAAC6yP,eAAF,CAAkBx9P,CAAC,CAAC+mF,KAApB,CAAZ,CAA1B,EAAkE,CAACp8E,CAAC,CAACq/O,SAAF,CAAYv9O,CAAZ,CAAtE,EAAqF;AAAO,cAAMnC,CAAC,GAACtK,CAAC,CAACmyS,WAAV;AAAsBxnS,QAAAA,CAAC,CAAC06E,aAAF,CAAgB,KAAK4hB,OAAL,CAAaO,KAA7B,EAAoCxnG,CAAC,IAAE;AAAC,eAAKinG,OAAL,CAAa+qM,IAAb,IAAoBrnS,CAAC,CAACgpR,aAAF,CAAgBlnR,CAAhB,CAApB,EAAuCF,CAAC,IAAE5B,CAAC,CAACipR,aAAF,CAAgB5zR,CAAC,CAACgmF,UAAF,CAAaz5E,CAAb,EAAehC,CAAC,CAACu/O,SAAF,CAAY5lK,aAAZ,EAAf,CAAhB,EAA4Dz3E,CAA5D,CAA1C,EAAyGnC,CAAC,GAACtK,CAAC,CAACm7P,YAAF,CAAe7wP,CAAf,CAAD,GAAmBmC,CAAC,CAACo+E,EAAF,CAAK,mBAAL,KAA2B7qF,CAAC,CAACm7P,YAAF,CAAe1uP,CAAf,CAAxJ,EAA0K,KAAKw6F,OAAL,CAAagrM,MAAb,EAA1K,EAAgM,KAAKhrM,OAAL,CAAa1uE,KAAb,CAAmB5hD,CAAnB,CAAhM;AAAsN,SAA9P;AAAiQ;;AAAjoB;;AAAkoB,UAAMy7T,EAAE,GAAC,CAAC,YAAD,EAAc,uBAAd,CAAT;;AAAgD,UAAMC,EAAN,SAAiB1qC,EAAjB,CAAmB;AAACloS,MAAAA,WAAW,CAACugC,CAAD,EAAG;AAAC,cAAMA,CAAN,GAAS,KAAKgsQ,aAAL,GAAmBhsQ,CAAC,CAAC+rQ,WAAF,CAAcx4E,EAAd,CAA5B,EAA8C58M,CAAC,CAAC2tP,SAAF,IAAa8tE,EAAE,CAACnsS,IAAH,CAAQ,uBAAR,CAA3D;AAA4F,cAAM0E,CAAC,GAAC3K,CAAC,CAAC0B,QAAV;AAAmBiJ,QAAAA,CAAC,CAAClpB,EAAF,CAAK,aAAL,EAAoB,CAAC8oB,CAAD,EAAGgC,CAAH,KAAO;AAAC,cAAG,CAAC,KAAK8tH,SAAT,EAAmB;AAAO,gBAAK;AAAC1yJ,YAAAA,IAAI,EAACgP,CAAN;AAAQ62R,YAAAA,YAAY,EAAC/gQ,CAArB;AAAuB8gQ,YAAAA,SAAS,EAACjjQ,CAAjC;AAAmC09P,YAAAA,QAAQ,EAAC5lN;AAA5C,cAA+C71C,CAApD;AAAsD,cAAG,CAAC6lS,EAAE,CAACjmU,QAAH,CAAYm+B,CAAZ,CAAJ,EAAmB;AAAO,eAAK0hQ,aAAL,CAAmBnxK,KAAnB;AAA2B,gBAAM8iD,CAAC,GAAC,IAAI/G,CAAJ,CAAMjsI,CAAN,EAAQ,YAAR,CAAR;AAA8BA,UAAAA,CAAC,CAAC+6E,IAAF,CAAOi4D,CAAP,EAAS,IAAIoqH,EAAJ,CAAO/nQ,CAAP,EAASoiD,CAAT,EAAW;AAAC2vD,YAAAA,IAAI,EAACp7H,CAAN;AAAQmzQ,YAAAA,SAAS,EAAC9pP,CAAC,CAACw9P,eAAF,CAAkB/wP,CAAlB;AAAlB,WAAX,CAAT,GAA8DkxI,CAAC,CAACv4D,IAAF,CAAO0/I,MAAP,IAAev6N,CAAC,CAAC66E,IAAF,EAA7E;AAAsF,SAArR,GAAwRz6E,CAAC,CAAClpB,EAAF,CAAK,gBAAL,EAAuB,CAAC8oB,CAAD,EAAG;AAAC5iC,UAAAA,IAAI,EAAC4kC,CAAN;AAAQy7P,UAAAA,QAAQ,EAACv7P;AAAjB,SAAH,KAAyB;AAAC,eAAK4tH,SAAL,IAAgB,CAAC1jJ,CAAC,CAAC2tP,SAAnB,IAA8B/3N,CAA9B,IAAiC5B,CAAC,CAAC+6E,IAAF,CAAO,YAAP,EAAoB,IAAIqiL,EAAJ,CAAO/nQ,CAAP,EAASyM,CAAT,EAAW;AAACslG,YAAAA,IAAI,EAACxlG,CAAN;AAAQu9O,YAAAA,SAAS,EAACn/O,CAAC,CAACm/O;AAApB,WAAX,CAApB,CAAjC;AAAiG,SAAlJ,EAAoJ;AAACnkK,UAAAA,QAAQ,EAAC;AAAV,SAApJ,CAAxR;AAAic;;AAAAsxJ,MAAAA,OAAO,GAAE,CAAE;;AAAAmxB,MAAAA,aAAa,GAAE,CAAE;;AAA5lB;;AAA6lB,UAAMkqC,EAAN,SAAiBjpD,EAAjB,CAAmB;AAAsB,iBAAVwB,UAAU,GAAE;AAAC,eAAM,OAAN;AAAc;;AAAAtpR,MAAAA,IAAI,GAAE;AAAC,cAAMy+B,CAAC,GAAC,KAAKgiF,MAAb;AAAA,cAAoBr3E,CAAC,GAAC3K,CAAC,CAACzjB,KAAxB;AAAA,cAA8BguB,CAAC,GAACvK,CAAC,CAACu1R,OAAF,CAAUz/G,IAA1C;AAAA,cAA+CvpK,CAAC,GAAC5B,CAAC,CAACjJ,QAAF,CAAWooP,SAA5D;AAAsEv/O,QAAAA,CAAC,CAAC6jQ,WAAF,CAAcikC,EAAd;AAAkB,cAAM5lS,CAAC,GAAC,IAAIylS,EAAJ,CAAOlyS,CAAP,EAASA,CAAC,CAACtgC,MAAF,CAASe,GAAT,CAAa,iBAAb,KAAiC,EAA1C,CAAR;AAAsDu/B,QAAAA,CAAC,CAACm1R,QAAF,CAAWvgS,GAAX,CAAe,YAAf,EAA4B6X,CAA5B,GAA+BzM,CAAC,CAACm1R,QAAF,CAAWvgS,GAAX,CAAe,OAAf,EAAuB6X,CAAvB,CAA/B,EAAyD,KAAK+4N,QAAL,CAAcj7N,CAAC,CAAC7I,QAAhB,EAAyB,YAAzB,EAAuC,CAAC6K,CAAD,EAAGE,CAAH,KAAO;AAAClC,UAAAA,CAAC,CAAC7I,QAAF,CAAWirP,WAAX,IAAwBlgP,CAAC,CAAC8nC,cAAF,EAAxB;AAA2C,gBAAK;AAACw9D,YAAAA,IAAI,EAACznG,CAAN;AAAQw/O,YAAAA,SAAS,EAAC1nM,CAAlB;AAAoB+vP,YAAAA,WAAW,EAACx0J;AAAhC,cAAmClxI,CAAxC;AAAA,gBAA0Cy/K,CAAC,GAAC/mL,KAAK,CAAC7H,IAAN,CAAW8kD,CAAC,CAACm1M,SAAF,EAAX,EAA0B/tR,GAA1B,CAA+BmhC,CAAC,IAAE3K,CAAC,CAACu1R,OAAF,CAAUrhB,MAAV,CAAiBJ,YAAjB,CAA8BnpQ,CAA9B,CAAlC,CAA5C;AAAiH,cAAIf,CAAC,GAACU,CAAN;;AAAQ,cAAG3zB,CAAC,CAAC2tP,SAAL,EAAe;AAAC,kBAAMtkO,CAAC,GAACmF,KAAK,CAAC7H,IAAN,CAAW4uL,CAAC,CAAC,CAAD,CAAD,CAAK3kF,QAAL,EAAX,EAA4BpwB,MAA5B,CAAoC,CAACn3E,CAAD,EAAG2K,CAAH,KAAO3K,CAAC,IAAE2K,CAAC,CAACkgF,EAAF,CAAK,YAAL,IAAmBlgF,CAAC,CAAChjC,IAArB,GAA0B,EAA5B,CAA5C,EAA6E,EAA7E,CAAR;AAAyFq4B,YAAAA,CAAC,KAAGA,CAAC,CAACrzB,MAAF,IAAUi9B,CAAC,CAACj9B,MAAZ,GAAmBi9B,CAAC,CAAC3H,UAAF,CAAajC,CAAb,MAAkB4J,CAAC,GAACA,CAAC,CAAC4d,SAAF,CAAYxnB,CAAC,CAACrzB,MAAd,CAAF,EAAwBu/M,CAAC,CAAC,CAAD,CAAD,CAAKzlG,KAAL,GAAWylG,CAAC,CAAC,CAAD,CAAD,CAAKzlG,KAAL,CAAWkvK,YAAX,CAAwB31P,CAAC,CAACrzB,MAA1B,CAArD,CAAnB,GAA2GqzB,CAAC,CAACiC,UAAF,CAAa2H,CAAb,MAAkBsiL,CAAC,CAAC,CAAD,CAAD,CAAKzlG,KAAL,GAAWylG,CAAC,CAAC,CAAD,CAAD,CAAKzlG,KAAL,CAAWkvK,YAAX,CAAwB/rP,CAAC,CAACj9B,MAA1B,CAAX,EAA6Ci9B,CAAC,GAAC,EAAjE,CAA9G,CAAD;AAAqL;;AAAA,gBAAMgtI,CAAC,GAAC;AAAC7kC,YAAAA,IAAI,EAACnoG,CAAN;AAAQkgP,YAAAA,SAAS,EAACn/O,CAAC,CAAC6yP,eAAF,CAAkBtxE,CAAlB;AAAlB,WAAR;AAAgDvuC,UAAAA,CAAC,KAAG/G,CAAC,CAACu7J,WAAF,GAAcnyS,CAAC,CAACu1R,OAAF,CAAUrhB,MAAV,CAAiBJ,YAAjB,CAA8Bn2H,CAA9B,CAAjB,CAAD,EAAoD39I,CAAC,CAACmqP,OAAF,CAAU,YAAV,EAAuBvzG,CAAvB,CAApD,EAA8ErsI,CAAC,CAACokQ,oBAAF,EAA9E;AAAuG,SAAxoB,CAAzD,EAAosBh4R,CAAC,CAAC2tP,SAAF,GAAY,KAAKkB,QAAL,CAAcj7N,CAAC,CAAC7I,QAAhB,EAAyB,SAAzB,EAAoC,CAAC1B,CAAD,EAAGrpB,CAAH,KAAO;AAAC,WAAC41B,CAAC,CAACypP,WAAH,IAAgB,OAAKr/Q,CAAC,CAAC0kQ,OAAvB,IAAgC9wO,CAAC,CAAC7I,QAAF,CAAWirP,WAA3C,IAAwD4lD,EAAE,CAAC5nS,CAAD,EAAG8B,CAAH,CAA1D;AAAgE,SAA5G,CAAZ,GAA2H,KAAK+4N,QAAL,CAAcj7N,CAAC,CAAC7I,QAAhB,EAAyB,kBAAzB,EAA6C,MAAI;AAAC6K,UAAAA,CAAC,CAACypP,WAAF,IAAeu8C,EAAE,CAAC5nS,CAAD,EAAG8B,CAAH,CAAjB;AAAuB,SAAzE,CAA/zB;AAA24B;;AAAvkC;;AAAwkC,aAAS8lS,EAAT,CAAYvyS,CAAZ,EAAc2K,CAAd,EAAgB;AAAC,UAAG,CAACA,CAAC,CAAC0vH,SAAN,EAAgB;AAAO,YAAM9vH,CAAC,GAACI,CAAC,CAACkxB,MAAV;AAAiBtxB,MAAAA,CAAC,CAACynS,IAAF,IAAShyS,CAAC,CAACqlF,aAAF,CAAgB96E,CAAC,CAACi9F,KAAlB,EAAyB,MAAI;AAACxnG,QAAAA,CAAC,CAAC2zR,aAAF,CAAgB3zR,CAAC,CAAC0B,QAAF,CAAWooP,SAA3B;AAAsC,OAApE,CAAT,EAAgFv/O,CAAC,CAAC0nS,MAAF,EAAhF;AAA2F;;AAAA,UAAMO,EAAN,SAAiB7oD,EAAjB,CAAmB;AAAClqR,MAAAA,WAAW,CAACugC,CAAD,EAAG2K,CAAH,EAAK;AAAC,cAAM3K,CAAN,GAAS,KAAK0zM,SAAL,GAAe/oM,CAAxB,EAA0B,KAAKs8F,OAAL,GAAa,IAAIuqM,EAAJ,CAAOxxS,CAAC,CAACzjB,KAAT,EAAeyjB,CAAC,CAACtgC,MAAF,CAASe,GAAT,CAAa,iBAAb,CAAf,CAAvC,EAAuF,KAAKmpR,0BAAL,GAAgC,CAAC,CAAxH;AAA0H;;AAAU,UAAN/tN,MAAM,GAAE;AAAC,eAAO,KAAKorE,OAAZ;AAAoB;;AAAAkjJ,MAAAA,OAAO,CAACnqP,CAAC,GAAC,EAAH,EAAM;AAAC,cAAM2K,CAAC,GAAC,KAAKq3E,MAAL,CAAYzlG,KAApB;AAAA,cAA0BguB,CAAC,GAACI,CAAC,CAACjJ,QAA9B;AAAuCiJ,QAAAA,CAAC,CAAC06E,aAAF,CAAgB,KAAK4hB,OAAL,CAAaO,KAA7B,EAAoCj7F,CAAC,IAAE;AAAC,eAAK06F,OAAL,CAAa+qM,IAAb;;AAAoB,gBAAMr7T,CAAC,GAAC41B,CAAC,CAACixP,eAAF,CAAkBx9P,CAAC,CAAC8pP,SAAF,IAAav/O,CAAC,CAACu/O,SAAjC,CAAR;AAAoD,cAAG,CAACn/O,CAAC,CAACq/O,SAAF,CAAYrzQ,CAAZ,CAAJ,EAAmB;AAAO,gBAAM81B,CAAC,GAACzM,CAAC,CAACyyS,QAAF,IAAY,CAApB;AAAA,gBAAsBnoS,CAAC,GAAC3zB,CAAC,CAACq/Q,WAA1B;AAAsC,cAAGr/Q,CAAC,CAACq/Q,WAAF,IAAerrP,CAAC,CAAC2mR,eAAF,CAAkB36S,CAAlB,EAAoB;AAAC+8N,YAAAA,SAAS,EAAC,KAAKA,SAAhB;AAA0BpX,YAAAA,IAAI,EAACt8L,CAAC,CAACs8L,IAAjC;AAAsCy3F,YAAAA,sBAAsB,EAAC,CAAC;AAA9D,WAApB,CAAf,EAAqG,KAAK2e,2CAAL,CAAiDjmS,CAAjD,CAAxG,EAA4J,OAAO,KAAK,KAAKkmS,kCAAL,CAAwCpmS,CAAxC,CAAZ;AAAuD,cAAG,KAAKqmS,qCAAL,CAA2Cj8T,CAA3C,EAA6C81B,CAA7C,CAAH,EAAmD,OAAO,KAAK,KAAKu1E,MAAL,CAAYmoK,OAAZ,CAAoB,WAApB,EAAgC;AAACL,YAAAA,SAAS,EAACnzQ;AAAX,WAAhC,CAAZ;AAA2D,cAAGA,CAAC,CAACq/Q,WAAL,EAAiB;AAAO,cAAI5zM,CAAC,GAAC,CAAN;AAAQzrE,UAAAA,CAAC,CAAC6gR,aAAF,GAAkB4a,oBAAlB,GAAyCvsQ,OAAzC,CAAkD7F,CAAC,IAAE;AAACoiD,YAAAA,CAAC,IAAEmgL,CAAC,CAACviO,CAAC,CAAC81P,SAAF,CAAY;AAACnB,cAAAA,gBAAgB,EAAC,CAAC,CAAnB;AAAqBE,cAAAA,gBAAgB,EAAC,CAAC,CAAvC;AAAyCD,cAAAA,OAAO,EAAC,CAAC;AAAlD,aAAZ,CAAD,CAAJ;AAAwE,WAA9H,GAAiIjqP,CAAC,CAACgpR,aAAF,CAAgBh9S,CAAhB,EAAkB;AAACu6S,YAAAA,uBAAuB,EAAC5mR,CAAzB;AAA2BopM,YAAAA,SAAS,EAAC,KAAKA;AAA1C,WAAlB,CAAjI,EAAyM,KAAKzsG,OAAL,CAAa1uE,KAAb,CAAmB6pB,CAAnB,CAAzM,EAA+N71C,CAAC,CAAC4uP,YAAF,CAAexkR,CAAf,CAA/N,EAAiP,KAAKswH,OAAL,CAAagrM,MAAb,EAAjP;AAAuQ,SAAxxB;AAA2xB;;AAAAS,MAAAA,2CAA2C,CAAC1yS,CAAD,EAAG;AAAC,YAAGA,CAAC,GAAC,CAAL,EAAO,OAAM,CAAC,CAAP;AAAS,cAAM2K,CAAC,GAAC,KAAKq3E,MAAL,CAAYzlG,KAApB;AAAA,cAA0BguB,CAAC,GAACI,CAAC,CAACjJ,QAAF,CAAWooP,SAAvC;AAAA,cAAiDv9O,CAAC,GAAC5B,CAAC,CAACg3O,MAAF,CAASq8B,eAAT,CAAyBzzQ,CAAzB,CAAnD;AAA+E,YAAG,EAAEA,CAAC,CAACyrP,WAAF,IAAezrP,CAAC,CAACwtQ,qBAAF,CAAwBxrQ,CAAxB,CAAjB,CAAH,EAAgD,OAAM,CAAC,CAAP;AAAS,YAAG,CAAC5B,CAAC,CAACg3O,MAAF,CAASg6B,UAAT,CAAoBpvQ,CAApB,EAAsB,WAAtB,CAAJ,EAAuC,OAAM,CAAC,CAAP;AAAS,cAAM51B,CAAC,GAAC41B,CAAC,CAACsgP,QAAF,CAAW,CAAX,CAAR;AAAsB,eAAM,CAACl2Q,CAAD,IAAI,CAACA,CAAC,CAACk0G,EAAF,CAAK,SAAL,EAAe,WAAf,CAAX;AAAuC;;AAAA8nN,MAAAA,kCAAkC,CAAC3yS,CAAD,EAAG;AAAC,cAAM2K,CAAC,GAAC,KAAKq3E,MAAL,CAAYzlG,KAApB;AAAA,cAA0BguB,CAAC,GAACI,CAAC,CAACjJ,QAAF,CAAWooP,SAAvC;AAAA,cAAiDv9O,CAAC,GAAC5B,CAAC,CAACg3O,MAAF,CAASq8B,eAAT,CAAyBzzQ,CAAzB,CAAnD;AAAA,cAA+E5zB,CAAC,GAACqpB,CAAC,CAAC6G,aAAF,CAAgB,WAAhB,CAAjF;AAA8G7G,QAAAA,CAAC,CAACigF,MAAF,CAASjgF,CAAC,CAACu9P,aAAF,CAAgBhxP,CAAhB,CAAT,GAA6BvM,CAAC,CAACsmF,MAAF,CAAS3vG,CAAT,EAAW41B,CAAX,CAA7B,EAA2CvM,CAAC,CAACm7P,YAAF,CAAexkR,CAAf,EAAiB,CAAjB,CAA3C;AAA+D;;AAAAi8T,MAAAA,qCAAqC,CAAC5yS,CAAD,EAAG2K,CAAH,EAAK;AAAC,cAAMJ,CAAC,GAAC,KAAKy3E,MAAL,CAAYzlG,KAApB;AAA0B,YAAGouB,CAAC,GAAC,CAAF,IAAK,cAAY,KAAK+oM,SAAzB,EAAmC,OAAM,CAAC,CAAP;AAAS,YAAG,CAAC1zM,CAAC,CAACg2P,WAAN,EAAkB,OAAM,CAAC,CAAP;AAAS,cAAMzpP,CAAC,GAACvM,CAAC,CAAC+pP,gBAAF,EAAR;AAAA,cAA6BpzQ,CAAC,GAAC4zB,CAAC,CAACo3O,MAAF,CAASq8B,eAAT,CAAyBzxQ,CAAzB,CAA/B;AAAA,cAA2DE,CAAC,GAAC91B,CAAC,CAACk2Q,QAAF,CAAW,CAAX,CAA7D;AAA2E,eAAOtgP,CAAC,CAAC40C,MAAF,IAAU10C,CAAV,IAAc,CAAC,CAACzM,CAAC,CAAC+3Q,qBAAF,CAAwBtrQ,CAAxB,CAAF,IAA+B,CAAC,CAAClC,CAAC,CAACo3O,MAAF,CAASg6B,UAAT,CAAoBhlS,CAApB,EAAsB,WAAtB,CAAF,IAAsC,eAAa81B,CAAC,CAACj8B,IAAzG;AAAgH;;AAA30D;;AAA40D,UAAMqiU,EAAE,GAAC,MAAT;AAAA,UAAgBC,EAAE,GAAC,WAAnB;AAAA,UAA+BC,EAAE,GAAC,UAAlC;AAAA,UAA6CC,EAAE,GAAC,SAAhD;AAAA,UAA0DC,EAAE,GAAC;AAACtf,MAAAA,aAAa,EAAC;AAACr3F,QAAAA,IAAI,EAACw2G,EAAN;AAASp/F,QAAAA,SAAS,EAACq/F;AAAnB,OAAf;AAAsCG,MAAAA,qBAAqB,EAAC;AAAC52G,QAAAA,IAAI,EAAC,WAAN;AAAkBoX,QAAAA,SAAS,EAACq/F;AAA5B,OAA5D;AAA4FI,MAAAA,kBAAkB,EAAC;AAAC72G,QAAAA,IAAI,EAACu2G,EAAN;AAASn/F,QAAAA,SAAS,EAACq/F;AAAnB,OAA/G;AAAsIK,MAAAA,sBAAsB,EAAC;AAAC92G,QAAAA,IAAI,EAACw2G,EAAN;AAASp/F,QAAAA,SAAS,EAACq/F;AAAnB,OAA7J;AAAoLM,MAAAA,sBAAsB,EAAC;AAAC/2G,QAAAA,IAAI,EAACw2G,EAAN;AAASp/F,QAAAA,SAAS,EAACq/F;AAAnB,OAA3M;AAAkOO,MAAAA,oBAAoB,EAAC;AAACh3G,QAAAA,IAAI,EAAC,WAAN;AAAkBoX,QAAAA,SAAS,EAACs/F;AAA5B,OAAvP;AAAuRO,MAAAA,iBAAiB,EAAC;AAACj3G,QAAAA,IAAI,EAACu2G,EAAN;AAASn/F,QAAAA,SAAS,EAACs/F;AAAnB,OAAzS;AAAgUQ,MAAAA,qBAAqB,EAAC;AAACl3G,QAAAA,IAAI,EAACw2G,EAAN;AAASp/F,QAAAA,SAAS,EAACs/F;AAAnB,OAAtV;AAA6WS,MAAAA,qBAAqB,EAAC;AAACn3G,QAAAA,IAAI,EAACw2G,EAAN;AAASp/F,QAAAA,SAAS,EAACs/F;AAAnB;AAAnY,KAA7D;;AAAwd,UAAMU,EAAN,SAAiB/rC,EAAjB,CAAmB;AAACloS,MAAAA,WAAW,CAACugC,CAAD,EAAG;AAAC,cAAMA,CAAN;AAAS,cAAM2K,CAAC,GAAC3K,CAAC,CAAC0B,QAAV;AAAmB,YAAI6I,CAAC,GAAC,CAAN;AAAQI,QAAAA,CAAC,CAAClpB,EAAF,CAAK,SAAL,EAAgB,MAAI;AAAC8oB,UAAAA,CAAC;AAAG,SAAzB,GAA4BI,CAAC,CAAClpB,EAAF,CAAK,OAAL,EAAc,MAAI;AAAC8oB,UAAAA,CAAC,GAAC,CAAF;AAAI,SAAvB,CAA5B,EAAsDI,CAAC,CAAClpB,EAAF,CAAK,aAAL,EAAoB,CAAC8qB,CAAD,EAAGE,CAAH,KAAO;AAAC,cAAG,CAAC,KAAK4tH,SAAT,EAAmB;AAAO,gBAAK;AAACmzI,YAAAA,YAAY,EAACljQ,CAAd;AAAgB09P,YAAAA,QAAQ,EAAC5lN,CAAzB;AAA2BmrN,YAAAA,SAAS,EAAC5vH;AAArC,cAAwClxI,CAA7C;AAAA,gBAA+Cy/K,CAAC,GAAC+mH,EAAE,CAACt1J,CAAD,CAAnD;AAAuD,cAAG,CAACuuC,CAAJ,EAAM;AAAO,gBAAMtiL,CAAC,GAAC;AAAC8pM,YAAAA,SAAS,EAACxnB,CAAC,CAACwnB,SAAb;AAAuBpX,YAAAA,IAAI,EAACpQ,CAAC,CAACoQ,IAA9B;AAAmCm2G,YAAAA,QAAQ,EAACloS;AAA5C,WAAR;AAAuDX,UAAAA,CAAC,CAAC0yL,IAAF,IAAQw2G,EAAR,KAAalpS,CAAC,CAAC+pS,iBAAF,GAAoB3zS,CAAC,CAACw9P,eAAF,CAAkBlzP,CAAC,CAAC,CAAD,CAAnB,CAAjC,GAA0D,4BAA0BqzI,CAA1B,KAA8BhnK,CAAC,CAAC2tP,SAAF,KAAc16N,CAAC,CAAC6oS,QAAF,GAAW,CAAzB,GAA4B,UAASzyS,CAAT,EAAW;AAAC,gBAAG,KAAGA,CAAC,CAACrzB,MAAL,IAAaqzB,CAAC,CAAC,CAAD,CAAD,CAAKg2P,WAArB,EAAiC,OAAM,CAAC,CAAP;AAAS,kBAAMrrP,CAAC,GAAC3K,CAAC,CAAC,CAAD,CAAD,CAAK81P,SAAL,CAAe;AAACpiD,cAAAA,SAAS,EAAC,UAAX;AAAsBihD,cAAAA,gBAAgB,EAAC,CAAC,CAAxC;AAA0CE,cAAAA,gBAAgB,EAAC,CAAC;AAA5D,aAAf,CAAR;AAAuF,gBAAItqP,CAAC,GAAC,CAAN;;AAAQ,iBAAI,MAAK;AAACirP,cAAAA,YAAY,EAACx1P;AAAd,aAAT,IAA4B2K,CAA5B,EAA8B;AAAC,kBAAG3K,CAAC,CAACmhD,MAAF,CAAS0pC,EAAT,CAAY,OAAZ,CAAH,EAAwB;AAAC,sBAAMlgF,CAAC,GAAC3K,CAAC,CAACmhD,MAAF,CAASx5E,IAAjB;AAAA,sBAAsB4kC,CAAC,GAACvM,CAAC,CAACq9E,MAA1B;AAAiC,oBAAG6gK,EAAE,CAACvzO,CAAD,EAAG4B,CAAH,CAAF,IAAS4xO,EAAE,CAACxzO,CAAD,EAAG4B,CAAH,CAAX,IAAkB8xO,EAAE,CAAC1zO,CAAD,EAAG4B,CAAH,CAAvB,EAA6B;AAAShC,gBAAAA,CAAC;AAAG,eAApG,MAAyGA,CAAC;;AAAG,kBAAGA,CAAC,GAAC,CAAL,EAAO,OAAM,CAAC,CAAP;AAAS;;AAAA,mBAAM,CAAC,CAAP;AAAS,WAA1T,CAA2TD,CAA3T,MAAgUV,CAAC,CAAC0yL,IAAF,GAAOw2G,EAAP,EAAUlpS,CAAC,CAAC+pS,iBAAF,GAAoB3zS,CAAC,CAACw9P,eAAF,CAAkBlzP,CAAlB,CAA9V,CAA1D,CAA1D;AAAye,gBAAMssI,CAAC,GAAC,IAAI6hH,EAAJ,CAAO9tP,CAAP,EAAS,QAAT,EAAkBL,CAAC,CAAC,CAAD,CAAnB,CAAR;AAAgCK,UAAAA,CAAC,CAAC+6E,IAAF,CAAOkxD,CAAP,EAAS,IAAImxH,EAAJ,CAAO/nQ,CAAP,EAASoiD,CAAT,EAAWx4C,CAAX,CAAT,GAAwBgtI,CAAC,CAACxxD,IAAF,CAAO0/I,MAAP,IAAev4N,CAAC,CAAC64E,IAAF,EAAvC;AAAgD,SAA1uB,CAAtD,EAAmyBzuG,CAAC,CAAC4tP,OAAF,IAAW,UAASvkO,CAAT,EAAW;AAAC,gBAAM2K,CAAC,GAAC3K,CAAC,CAAC81K,IAAV;AAAA,gBAAevrK,CAAC,GAACI,CAAC,CAACjJ,QAAnB;AAA4B,cAAI6K,CAAC,GAAC,IAAN;AAAA,cAAW51B,CAAC,GAAC,CAAC,CAAd;;AAAgB,mBAAS81B,CAAT,CAAWzM,CAAX,EAAa;AAAC,mBAAOA,CAAC,IAAE06O,EAAE,CAACK,SAAN,IAAiB/6O,CAAC,IAAE06O,EAAE,CAAC9lO,MAA9B;AAAqC;;AAAA,mBAAStK,CAAT,CAAWtK,CAAX,EAAa;AAAC,mBAAOA,CAAC,IAAE06O,EAAE,CAACK,SAAN,GAAgBg4D,EAAhB,GAAmBC,EAA1B;AAA6B;;AAAAzoS,UAAAA,CAAC,CAAC9oB,EAAF,CAAK,SAAL,EAAgB,CAACue,CAAD,EAAG;AAACq7O,YAAAA,OAAO,EAAC1wO;AAAT,WAAH,KAAiB;AAAC4B,YAAAA,CAAC,GAAC5B,CAAF,EAAIh0B,CAAC,GAAC,CAAC,CAAP;AAAS,WAA3C,GAA8C4zB,CAAC,CAAC9oB,EAAF,CAAK,OAAL,EAAc,CAAC2gE,CAAD,EAAG;AAACi5L,YAAAA,OAAO,EAAC19F,CAAT;AAAWqqH,YAAAA,QAAQ,EAAC97E;AAApB,WAAH,KAA4B;AAAC,kBAAMtiL,CAAC,GAACW,CAAC,CAACu/O,SAAV;AAAA,kBAAoBlzG,CAAC,GAAC52I,CAAC,CAACq6H,SAAF,IAAasjB,CAAC,IAAEpxI,CAAhB,IAAmBE,CAAC,CAACkxI,CAAD,CAApB,IAAyB,CAAC/zI,CAAC,CAACosP,WAA5B,IAAyC,CAACr/Q,CAAhE;;AAAkE,gBAAG41B,CAAC,GAAC,IAAF,EAAOqqI,CAAV,EAAY;AAAC,oBAAM52I,CAAC,GAAC4J,CAAC,CAAC4tP,aAAF,EAAR;AAAA,oBAA0BjrP,CAAC,GAAC,IAAIksP,EAAJ,CAAOluP,CAAP,EAAS,QAAT,EAAkBvK,CAAlB,CAA5B;AAAA,oBAAiDrpB,CAAC,GAAC;AAAC2lN,gBAAAA,IAAI,EAACw2G,EAAN;AAASp/F,gBAAAA,SAAS,EAACppM,CAAC,CAACqzI,CAAD,CAApB;AAAwBg2J,gBAAAA,iBAAiB,EAAC/pS;AAA1C,eAAnD;AAAgGW,cAAAA,CAAC,CAACm7E,IAAF,CAAOn5E,CAAP,EAAS,IAAIw7P,EAAJ,CAAOp9P,CAAP,EAASuhL,CAAT,EAAWv1M,CAAX,CAAT;AAAwB;AAAC,WAAnP,CAA9C,EAAoS4zB,CAAC,CAAC9oB,EAAF,CAAK,aAAL,EAAoB,CAACue,CAAD,EAAG;AAACutQ,YAAAA,SAAS,EAAC5iQ;AAAX,WAAH,KAAmB;AAAC,kBAAMJ,CAAC,GAAC0oS,EAAE,CAACtoS,CAAD,CAAV;AAAc8B,YAAAA,CAAC,CAACF,CAAD,CAAD,IAAMhC,CAAN,IAASA,CAAC,CAACmpM,SAAF,IAAappM,CAAC,CAACiC,CAAD,CAAvB,KAA6B51B,CAAC,GAAC,CAAC,CAAhC;AAAmC,WAAzF,EAA2F;AAACgvG,YAAAA,QAAQ,EAAC;AAAV,WAA3F,CAApS,EAAkZp7E,CAAC,CAAC9oB,EAAF,CAAK,aAAL,EAAoB,CAACue,CAAD,EAAG;AAACutQ,YAAAA,SAAS,EAAC5iQ,CAAX;AAAahjC,YAAAA,IAAI,EAAC4iC;AAAlB,WAAH,KAA0B;AAACgC,YAAAA,CAAC,IAAEmuO,EAAE,CAAC9lO,MAAN,IAAc,gBAAcjK,CAA5B,IAA+B,OAAKJ,CAApC,IAAuCvK,CAAC,CAAColF,IAAF,EAAvC;AAAgD,WAA/F,EAAiG;AAACO,YAAAA,QAAQ,EAAC;AAAV,WAAjG,CAAlZ;AAAsgB,SAA5pB,CAA6pB,IAA7pB,CAA9yB;AAAi9C;;AAAAsxJ,MAAAA,OAAO,GAAE,CAAE;;AAAAmxB,MAAAA,aAAa,GAAE,CAAE;;AAAjiD;;AAAkiD,UAAMwrC,EAAN,SAAiBvqD,EAAjB,CAAmB;AAAsB,iBAAVwB,UAAU,GAAE;AAAC,eAAM,QAAN;AAAe;;AAAAtpR,MAAAA,IAAI,GAAE;AAAC,cAAMy+B,CAAC,GAAC,KAAKgiF,MAAb;AAAA,cAAoBr3E,CAAC,GAAC3K,CAAC,CAACu1R,OAAF,CAAUz/G,IAAhC;AAAA,cAAqCvrK,CAAC,GAACI,CAAC,CAACjJ,QAAzC;AAAA,cAAkD6K,CAAC,GAACvM,CAAC,CAACzjB,KAAF,CAAQmlB,QAA5D;AAAqEiJ,QAAAA,CAAC,CAACyjQ,WAAF,CAAcslC,EAAd,GAAkB,KAAKG,gBAAL,GAAsB,CAAC,CAAzC;AAA2C,cAAMl9T,CAAC,GAAC,IAAI67T,EAAJ,CAAOxyS,CAAP,EAAS,SAAT,CAAR;AAA4BA,QAAAA,CAAC,CAACm1R,QAAF,CAAWvgS,GAAX,CAAe,eAAf,EAA+Bje,CAA/B,GAAkCqpB,CAAC,CAACm1R,QAAF,CAAWvgS,GAAX,CAAe,eAAf,EAA+Bje,CAA/B,CAAlC,EAAoEqpB,CAAC,CAACm1R,QAAF,CAAWvgS,GAAX,CAAe,QAAf,EAAwB,IAAI49S,EAAJ,CAAOxyS,CAAP,EAAS,UAAT,CAAxB,CAApE,EAAkH,KAAKwlO,QAAL,CAAcj7N,CAAd,EAAgB,QAAhB,EAA0B,CAACgC,CAAD,EAAG51B,CAAH,KAAO;AAAC4zB,UAAAA,CAAC,CAACoiP,WAAF,IAAeh2Q,CAAC,CAAC49D,cAAF,EAAf;AAAkC,gBAAK;AAACm/J,YAAAA,SAAS,EAACjnM,CAAX;AAAagmS,YAAAA,QAAQ,EAACnoS,CAAtB;AAAwBqpS,YAAAA,iBAAiB,EAACvxP,CAA1C;AAA4Ck6I,YAAAA,IAAI,EAAC3+C;AAAjD,cAAoDhnK,CAAzD;AAAA,gBAA2Du1M,CAAC,GAAC,cAAYz/K,CAAZ,GAAc,eAAd,GAA8B,QAA3F;AAAA,gBAAoG7C,CAAC,GAAC;AAAC6oS,YAAAA,QAAQ,EAACnoS;AAAV,WAAtG;;AAAmH,cAAG,eAAaqzI,CAAhB,EAAkB;AAAC,kBAAMhzI,CAAC,GAACxF,KAAK,CAAC7H,IAAN,CAAW8kD,CAAC,CAACm1M,SAAF,EAAX,EAA0B/tR,GAA1B,CAA+BmhC,CAAC,IAAE3K,CAAC,CAACu1R,OAAF,CAAUrhB,MAAV,CAAiBJ,YAAjB,CAA8BnpQ,CAA9B,CAAlC,CAAR;AAA6Ef,YAAAA,CAAC,CAACkgP,SAAF,GAAY9pP,CAAC,CAACzjB,KAAF,CAAQihR,eAAR,CAAwB7yP,CAAxB,CAAZ;AAAuC,WAAvI,MAA4If,CAAC,CAAC0yL,IAAF,GAAO3+C,CAAP;;AAAS39I,UAAAA,CAAC,CAACmqP,OAAF,CAAUj+D,CAAV,EAAYtiL,CAAZ,GAAee,CAAC,CAACgkQ,oBAAF,EAAf;AAAwC,SAApX,EAAsX;AAAChpL,UAAAA,QAAQ,EAAC;AAAV,SAAtX,CAAlH,EAA0f,KAAK3D,MAAL,CAAYyB,OAAZ,CAAoB30D,GAApB,CAAwB,aAAxB,MAAyC,KAAK02M,QAAL,CAAcj7N,CAAd,EAAgB,QAAhB,EAA0B,CAACI,CAAD,EAAGJ,CAAH,KAAO;AAAC,eAAKspS,gBAAL,IAAuB,cAAYtpS,CAAC,CAACmpM,SAArC,IAAgD,KAAGnpM,CAAC,CAACkoS,QAArD,IAA+D,eAAaloS,CAAC,CAAC+xL,IAA9E,KAAqF,KAAKu3G,gBAAL,GAAsB,CAAC,CAAvB,EAAyB7zS,CAAC,CAACmqP,OAAF,CAAU,MAAV,CAAzB,EAA2C5/O,CAAC,CAACgqC,cAAF,EAA3C,EAA8D5pC,CAAC,CAACy6E,IAAF,EAAnJ;AAA6J,SAA/L,EAAiM;AAAC90G,UAAAA,OAAO,EAAC;AAAT,SAAjM,GAAuN,KAAKk1P,QAAL,CAAcj5N,CAAd,EAAgB,QAAhB,EAA0B,MAAI;AAAC,eAAKsnS,gBAAL,GAAsB,CAAC,CAAvB;AAAyB,SAAxD,CAAhQ,CAA1f;AAAszB;;AAAAC,MAAAA,sBAAsB,GAAE;AAAC,aAAK9xN,MAAL,CAAYyB,OAAZ,CAAoB30D,GAApB,CAAwB,aAAxB,MAAyC,KAAK+kR,gBAAL,GAAsB,CAAC,CAAhE;AAAmE;;AAA7kC;;AAA8kC,UAAME,EAAN,SAAiB1qD,EAAjB,CAAmB;AAAoB,iBAAR0B,QAAQ,GAAE;AAAC,eAAM,CAACunD,EAAD,EAAIsB,EAAJ,CAAN;AAAc;;AAAqB,iBAAV/oD,UAAU,GAAE;AAAC,eAAM,QAAN;AAAe;;AAA5E;;AAA6ExoM,IAAAA,CAAC;AAAG2xP,IAAAA,EAAE,CAAC,GAAD,CAAF,EAAQA,EAAE,CAAC,GAAD,CAAV,EAAgBA,EAAE,CAAC,GAAD,CAAlB,EAAwBA,EAAE,CAAC,GAAD,CAA1B,EAAgCA,EAAE,CAAC,GAAD,CAAlC,EAAwCA,EAAE,CAAC,GAAD,CAA1C;;AAAgD,aAASA,EAAT,CAAYh0S,CAAZ,EAAc;AAAC,aAAO,IAAI5K,MAAJ,CAAY,WAAU4K,CAAE,OAAMA,CAAE,OAAMA,CAAE,IAAxC,CAAP;AAAoD;;AAAA,QAAIi0S,EAAE,GAAC1pS,CAAC,CAAC,IAAD,CAAR;AAAA,QAAe2pS,EAAE,GAAC;AAACj1D,MAAAA,UAAU,EAAC,mBAAZ;AAAgCh7J,MAAAA,UAAU,EAAC;AAAC,oBAAW,CAAC;AAAb,OAA3C;AAA2DqC,MAAAA,MAAM,EAAC,MAAlE;AAAyEy9I,MAAAA,SAAS,EAAC,CAAC;AAApF,KAAlB;AAAyG+a,IAAAA,EAAE,GAAGm1D,EAAE,CAAC1xE,CAAN,EAAQ2xE,EAAR,CAAF;AAAcD,IAAAA,EAAE,CAAC1xE,CAAH,CAAK2c,MAAL;AAAY,UAAMi1D,EAAE,GAAC,QAAT;;AAAkB,UAAMC,EAAN,SAAiB/qD,EAAjB,CAAmB;AAAsB,iBAAVwB,UAAU,GAAE;AAAC,eAAM,eAAN;AAAsB;;AAAAtpR,MAAAA,IAAI,GAAE;AAAC,cAAMy+B,CAAC,GAAC,KAAKgiF,MAAb;AAAoBhiF,QAAAA,CAAC,CAACzjB,KAAF,CAAQolQ,MAAR,CAAe3qD,MAAf,CAAsB,OAAtB,EAA8B;AAAC+oF,UAAAA,eAAe,EAACo0B;AAAjB,SAA9B,GAAoDn0S,CAAC,CAACzjB,KAAF,CAAQolQ,MAAR,CAAew+B,sBAAf,CAAsCg0B,EAAtC,EAAyC;AAAC1D,UAAAA,YAAY,EAAC,CAAC,CAAf;AAAiBY,UAAAA,WAAW,EAAC,CAAC;AAA9B,SAAzC,CAApD,EAA+HrxS,CAAC,CAACk5N,UAAF,CAAa6iD,kBAAb,CAAgC;AAACx/R,UAAAA,KAAK,EAAC43T,EAAP;AAAUr+H,UAAAA,IAAI,EAAC,GAAf;AAAmBovG,UAAAA,UAAU,EAAC,CAAC,IAAD,EAAM;AAAC1yD,YAAAA,MAAM,EAAC;AAAC,4BAAa;AAAd;AAAR,WAAN;AAA9B,SAAhC,CAA/H,EAAuOxyN,CAAC,CAACm1R,QAAF,CAAWvgS,GAAX,CAAeu/S,EAAf,EAAkB,IAAInD,EAAJ,CAAOhxS,CAAP,EAASm0S,EAAT,CAAlB,CAAvO,EAAuQn0S,CAAC,CAAConP,UAAF,CAAatiP,GAAb,CAAiB,QAAjB,EAA0BqvS,EAA1B,CAAvQ;AAAqS;;AAA/W;;AAAgX,UAAME,EAAE,GAAC,QAAT;;AAAkB,UAAMC,EAAN,SAAiBjrD,EAAjB,CAAmB;AAAsB,iBAAVwB,UAAU,GAAE;AAAC,eAAM,UAAN;AAAiB;;AAAAtpR,MAAAA,IAAI,GAAE;AAAC,cAAMy+B,CAAC,GAAC,KAAKgiF,MAAb;AAAA,cAAoBr3E,CAAC,GAAC3K,CAAC,CAACA,CAAxB;AAA0BA,QAAAA,CAAC,CAACklF,EAAF,CAAKojN,gBAAL,CAAsB1zS,GAAtB,CAA0By/S,EAA1B,EAA8B9pS,CAAC,IAAE;AAAC,gBAAMgC,CAAC,GAACvM,CAAC,CAACm1R,QAAF,CAAW10T,GAAX,CAAe4zU,EAAf,CAAR;AAAA,gBAA2B19T,CAAC,GAAC,IAAI+4M,EAAJ,CAAOnlL,CAAP,CAA7B;AAAuC,iBAAO5zB,CAAC,CAACmuB,GAAF,CAAM;AAAC4G,YAAAA,KAAK,EAACf,CAAC,CAAC,QAAD,CAAR;AAAmBrtB,YAAAA,IAAI,EAAC,wbAAxB;AAAidwnQ,YAAAA,SAAS,EAAC,QAA3d;AAAoew0C,YAAAA,OAAO,EAAC,CAAC,CAA7e;AAA+e50C,YAAAA,YAAY,EAAC,CAAC;AAA7f,WAAN,GAAugB/tQ,CAAC,CAACoe,IAAF,CAAO,MAAP,EAAc,WAAd,EAA2B03J,EAA3B,CAA8BlgJ,CAA9B,EAAgC,OAAhC,EAAwC,WAAxC,CAAvgB,EAA4jB,KAAKi5N,QAAL,CAAc7uP,CAAd,EAAgB,SAAhB,EAA2B,MAAI;AAACqpB,YAAAA,CAAC,CAACmqP,OAAF,CAAUkqD,EAAV,GAAcr0S,CAAC,CAACu1R,OAAF,CAAUz/G,IAAV,CAAe9iI,KAAf,EAAd;AAAqC,WAArE,CAA5jB,EAAooBr8D,CAA3oB;AAA6oB,SAAttB;AAAytB;;AAApyB;;AAAqyB,UAAM49T,EAAE,GAAC,eAAT;;AAAyB,UAAMC,EAAN,SAAiBnrD,EAAjB,CAAmB;AAAsB,iBAAVwB,UAAU,GAAE;AAAC,eAAM,sBAAN;AAA6B;;AAAAtpR,MAAAA,IAAI,GAAE;AAAC,cAAMy+B,CAAC,GAAC,KAAKgiF,MAAb;AAAoBhiF,QAAAA,CAAC,CAACzjB,KAAF,CAAQolQ,MAAR,CAAe3qD,MAAf,CAAsB,OAAtB,EAA8B;AAAC+oF,UAAAA,eAAe,EAACw0B;AAAjB,SAA9B,GAAoDv0S,CAAC,CAACzjB,KAAF,CAAQolQ,MAAR,CAAew+B,sBAAf,CAAsCo0B,EAAtC,EAAyC;AAAC9D,UAAAA,YAAY,EAAC,CAAC,CAAf;AAAiBY,UAAAA,WAAW,EAAC,CAAC;AAA9B,SAAzC,CAApD,EAA+HrxS,CAAC,CAACk5N,UAAF,CAAa6iD,kBAAb,CAAgC;AAACx/R,UAAAA,KAAK,EAACg4T,EAAP;AAAUz+H,UAAAA,IAAI,EAAC,GAAf;AAAmBovG,UAAAA,UAAU,EAAC,CAAC,KAAD,EAAO,QAAP,EAAgB;AAAC1yD,YAAAA,MAAM,EAAC;AAAC,iCAAkB;AAAnB;AAAR,WAAhB;AAA9B,SAAhC,CAA/H,EAA4PxyN,CAAC,CAACm1R,QAAF,CAAWvgS,GAAX,CAAe2/S,EAAf,EAAkB,IAAIvD,EAAJ,CAAOhxS,CAAP,EAASu0S,EAAT,CAAlB,CAA5P,EAA4Rv0S,CAAC,CAAConP,UAAF,CAAatiP,GAAb,CAAiB,cAAjB,EAAgC,eAAhC,CAA5R;AAA6U;;AAA9Z;;AAA+Z,UAAM2vS,EAAE,GAAC,eAAT;;AAAyB,UAAMC,EAAN,SAAiBrrD,EAAjB,CAAmB;AAAsB,iBAAVwB,UAAU,GAAE;AAAC,eAAM,iBAAN;AAAwB;;AAAAtpR,MAAAA,IAAI,GAAE;AAAC,cAAMy+B,CAAC,GAAC,KAAKgiF,MAAb;AAAA,cAAoBr3E,CAAC,GAAC3K,CAAC,CAACA,CAAxB;AAA0BA,QAAAA,CAAC,CAACklF,EAAF,CAAKojN,gBAAL,CAAsB1zS,GAAtB,CAA0B6/S,EAA1B,EAA8BlqS,CAAC,IAAE;AAAC,gBAAMgC,CAAC,GAACvM,CAAC,CAACm1R,QAAF,CAAW10T,GAAX,CAAeg0U,EAAf,CAAR;AAAA,gBAA2B99T,CAAC,GAAC,IAAI+4M,EAAJ,CAAOnlL,CAAP,CAA7B;AAAuC,iBAAO5zB,CAAC,CAACmuB,GAAF,CAAM;AAAC4G,YAAAA,KAAK,EAACf,CAAC,CAAC,eAAD,CAAR;AAA0BrtB,YAAAA,IAAI,EAAC,sjBAA/B;AAAslBwnQ,YAAAA,SAAS,EAAC,cAAhmB;AAA+mBw0C,YAAAA,OAAO,EAAC,CAAC,CAAxnB;AAA0nB50C,YAAAA,YAAY,EAAC,CAAC;AAAxoB,WAAN,GAAkpB/tQ,CAAC,CAACoe,IAAF,CAAO,MAAP,EAAc,WAAd,EAA2B03J,EAA3B,CAA8BlgJ,CAA9B,EAAgC,OAAhC,EAAwC,WAAxC,CAAlpB,EAAusB,KAAKi5N,QAAL,CAAc7uP,CAAd,EAAgB,SAAhB,EAA2B,MAAI;AAACqpB,YAAAA,CAAC,CAACmqP,OAAF,CAAUsqD,EAAV,GAAcz0S,CAAC,CAACu1R,OAAF,CAAUz/G,IAAV,CAAe9iI,KAAf,EAAd;AAAqC,WAArE,CAAvsB,EAA+wBr8D,CAAtxB;AAAwxB,SAAj2B;AAAo2B;;AAAt7B;;AAAu7B,UAAMg+T,EAAE,GAAC,WAAT;;AAAqB,UAAMC,EAAN,SAAiBvrD,EAAjB,CAAmB;AAAsB,iBAAVwB,UAAU,GAAE;AAAC,eAAM,kBAAN;AAAyB;;AAAAtpR,MAAAA,IAAI,GAAE;AAAC,cAAMy+B,CAAC,GAAC,KAAKgiF,MAAb;AAAoBhiF,QAAAA,CAAC,CAACzjB,KAAF,CAAQolQ,MAAR,CAAe3qD,MAAf,CAAsB,OAAtB,EAA8B;AAAC+oF,UAAAA,eAAe,EAAC40B;AAAjB,SAA9B,GAAoD30S,CAAC,CAACzjB,KAAF,CAAQolQ,MAAR,CAAew+B,sBAAf,CAAsCw0B,EAAtC,EAAyC;AAAClE,UAAAA,YAAY,EAAC,CAAC,CAAf;AAAiBY,UAAAA,WAAW,EAAC,CAAC;AAA9B,SAAzC,CAApD,EAA+HrxS,CAAC,CAACk5N,UAAF,CAAa6iD,kBAAb,CAAgC;AAACx/R,UAAAA,KAAK,EAACo4T,EAAP;AAAU7+H,UAAAA,IAAI,EAAC,GAAf;AAAmBovG,UAAAA,UAAU,EAAC;AAAC1yD,YAAAA,MAAM,EAAC;AAAC,iCAAkB;AAAnB;AAAR;AAA9B,SAAhC,CAA/H,EAAwOxyN,CAAC,CAACm1R,QAAF,CAAWvgS,GAAX,CAAe+/S,EAAf,EAAkB,IAAI3D,EAAJ,CAAOhxS,CAAP,EAAS20S,EAAT,CAAlB,CAAxO,EAAwQ30S,CAAC,CAAConP,UAAF,CAAatiP,GAAb,CAAiB,QAAjB,EAA0B,WAA1B,CAAxQ;AAA+S;;AAA5X;;AAA6X,UAAMz7B,EAAE,GAAC,WAAT;;AAAqB,UAAMy+B,EAAN,SAAiBuhP,EAAjB,CAAmB;AAAsB,iBAAVwB,UAAU,GAAE;AAAC,eAAM,aAAN;AAAoB;;AAAAtpR,MAAAA,IAAI,GAAE;AAAC,cAAMy+B,CAAC,GAAC,KAAKgiF,MAAb;AAAA,cAAoBr3E,CAAC,GAAC3K,CAAC,CAACA,CAAxB;AAA0BA,QAAAA,CAAC,CAACklF,EAAF,CAAKojN,gBAAL,CAAsB1zS,GAAtB,CAA0BvrB,EAA1B,EAA8BkhC,CAAC,IAAE;AAAC,gBAAMgC,CAAC,GAACvM,CAAC,CAACm1R,QAAF,CAAW10T,GAAX,CAAe4I,EAAf,CAAR;AAAA,gBAA2BsN,CAAC,GAAC,IAAI+4M,EAAJ,CAAOnlL,CAAP,CAA7B;AAAuC,iBAAO5zB,CAAC,CAACmuB,GAAF,CAAM;AAAC4G,YAAAA,KAAK,EAACf,CAAC,CAAC,WAAD,CAAR;AAAsBrtB,YAAAA,IAAI,EAAC,8PAA3B;AAA0RwnQ,YAAAA,SAAS,EAAC,QAApS;AAA6Sw0C,YAAAA,OAAO,EAAC,CAAC,CAAtT;AAAwT50C,YAAAA,YAAY,EAAC,CAAC;AAAtU,WAAN,GAAgV/tQ,CAAC,CAACoe,IAAF,CAAO,MAAP,EAAc,WAAd,EAA2B03J,EAA3B,CAA8BlgJ,CAA9B,EAAgC,OAAhC,EAAwC,WAAxC,CAAhV,EAAqY,KAAKi5N,QAAL,CAAc7uP,CAAd,EAAgB,SAAhB,EAA2B,MAAI;AAACqpB,YAAAA,CAAC,CAACmqP,OAAF,CAAU9gR,EAAV,GAAc22B,CAAC,CAACu1R,OAAF,CAAUz/G,IAAV,CAAe9iI,KAAf,EAAd;AAAqC,WAArE,CAArY,EAA6cr8D,CAApd;AAAsd,SAA/hB;AAAkiB;;AAAhnB;;AAAinB,UAAMk+T,EAAN,SAAiB5sC,EAAjB,CAAmB;AAACxoS,MAAAA,WAAW,CAACugC,CAAD,EAAG;AAAC,cAAMA,CAAN,GAAS,KAAKkoQ,YAAL,GAAkB,CAAC,OAAD,EAAS,MAAT,EAAgB,KAAhB,EAAsB,MAAtB,EAA6B,UAA7B,EAAwC,WAAxC,EAAoD,SAApD,EAA8D,WAA9D,EAA0E,WAA1E,CAA3B;AAAkH,cAAMv9P,CAAC,GAAC,KAAKjJ,QAAb;;AAAsB,iBAAS6I,CAAT,CAAWvK,CAAX,EAAa;AAAC,iBAAM,CAACuK,CAAD,EAAGgC,CAAH,KAAO;AAACA,YAAAA,CAAC,CAACgoC,cAAF;AAAmB,kBAAM59D,CAAC,GAAC41B,CAAC,CAACuoS,SAAF,GAAY,CAACvoS,CAAC,CAACuoS,SAAH,CAAZ,GAA0B,IAAlC;AAAA,kBAAuCroS,CAAC,GAAC,IAAImqI,CAAJ,CAAMjsI,CAAN,EAAQ3K,CAAR,CAAzC;AAAoD2K,YAAAA,CAAC,CAAC+6E,IAAF,CAAOj5E,CAAP,EAAS;AAACq9M,cAAAA,YAAY,EAACv9M,CAAC,CAACu9M,YAAhB;AAA6BvlN,cAAAA,MAAM,EAACgG,CAAC,CAAC/5B,IAAtC;AAA2Cg9R,cAAAA,YAAY,EAAC72R,CAAxD;AAA0Di3C,cAAAA,MAAM,EAACrhB,CAAC,CAACqhB,MAAnE;AAA0Eo6O,cAAAA,QAAQ,EAACz7P,CAAC,CAACy7P;AAArF,aAAT,GAAyGv7P,CAAC,CAAC24E,IAAF,CAAO0/I,MAAP,IAAev4N,CAAC,CAACy9M,eAAF,EAAxH;AAA4I,WAAjO;AAAkO;;AAAA,aAAKwb,QAAL,CAAc76N,CAAd,EAAgB,OAAhB,EAAwBJ,CAAC,CAAC,gBAAD,CAAzB,EAA4C;AAACo7E,UAAAA,QAAQ,EAAC;AAAV,SAA5C,GAA8D,KAAK6/I,QAAL,CAAc76N,CAAd,EAAgB,MAAhB,EAAuBJ,CAAC,CAAC,gBAAD,CAAxB,EAA2C;AAACo7E,UAAAA,QAAQ,EAAC;AAAV,SAA3C,CAA9D,EAA2H,KAAK6/I,QAAL,CAAc76N,CAAd,EAAgB,UAAhB,EAA2BJ,CAAC,CAAC,UAAD,CAA5B,EAAyC;AAACo7E,UAAAA,QAAQ,EAAC;AAAV,SAAzC,CAA3H;AAAsL;;AAAAwiL,MAAAA,UAAU,CAACnoQ,CAAD,EAAG;AAAC,cAAM2K,CAAC,GAAC,mBAAkB3K,CAAlB,GAAoBA,CAAC,CAAC+0S,aAAtB,GAAoC/0S,CAAC,CAAC8pN,YAA9C;AAAA,cAA2Dv/M,CAAC,GAAC,UAAQvK,CAAC,CAAC/oB,IAAV,IAAgB,WAAS+oB,CAAC,CAAC/oB,IAAxF;AAAA,cAA6Fs1B,CAAC,GAAC;AAACu9M,UAAAA,YAAY,EAAC,IAAI2iD,EAAJ,CAAO9hQ,CAAP,EAAS;AAACgiQ,YAAAA,UAAU,EAACpiQ;AAAZ,WAAT;AAAd,SAA/F;AAAuI,kBAAQvK,CAAC,CAAC/oB,IAAV,IAAgB,cAAY+oB,CAAC,CAAC/oB,IAA9B,KAAqCs1B,CAAC,CAACuoS,SAAF,GAAY,UAAS90S,CAAT,EAAW2K,CAAX,EAAa;AAAC,gBAAMJ,CAAC,GAACI,CAAC,CAACijB,MAAF,CAASolN,aAAjB;AAAA,gBAA+BzmO,CAAC,GAAC5B,CAAC,CAACqqS,OAAnC;AAAA,gBAA2Cr+T,CAAC,GAACg0B,CAAC,CAACsqS,OAA/C;AAAuD,cAAIxoS,CAAJ;AAAMlC,UAAAA,CAAC,CAAC2qS,mBAAF,IAAuB3qS,CAAC,CAAC2qS,mBAAF,CAAsB3oS,CAAtB,EAAwB51B,CAAxB,CAAvB,GAAkD81B,CAAC,GAAClC,CAAC,CAAC2qS,mBAAF,CAAsB3oS,CAAtB,EAAwB51B,CAAxB,CAApD,GAA+Eg0B,CAAC,CAACwqS,WAAF,KAAgB1oS,CAAC,GAAClC,CAAC,CAACy8E,WAAF,EAAF,EAAkBv6E,CAAC,CAACk5P,QAAF,CAAWh7P,CAAC,CAACwqS,WAAb,EAAyBxqS,CAAC,CAACyqS,WAA3B,CAAlB,EAA0D3oS,CAAC,CAACkuP,QAAF,CAAW,CAAC,CAAZ,CAA1E,CAA/E;AAAyK,cAAGluP,CAAH,EAAK,OAAOzM,CAAC,CAAC46P,YAAF,CAAesL,cAAf,CAA8Bz5P,CAA9B,CAAP;AAAwC,iBAAO,IAAP;AAAY,SAA7S,CAA8S,KAAKqpK,IAAnT,EAAwT91K,CAAxT,CAAjD,GAA6W,KAAK0lF,IAAL,CAAU1lF,CAAC,CAAC/oB,IAAZ,EAAiB+oB,CAAjB,EAAmBuM,CAAnB,CAA7W;AAAmY;;AAAtlC;;AAAulC,UAAMo5K,EAAE,GAAC,CAAC,YAAD,EAAc,IAAd,CAAT;AAAA,UAA6B0vH,EAAE,GAAC,CAAC,IAAD,EAAM,IAAN,CAAhC;;AAA4C,aAASC,EAAT,CAAYt1S,CAAZ,EAAc;AAAC,UAAGA,CAAC,CAAC6qF,EAAF,CAAK,OAAL,KAAe7qF,CAAC,CAAC6qF,EAAF,CAAK,YAAL,CAAlB,EAAqC,OAAO7qF,CAAC,CAACr4B,IAAT;AAAc,UAAGq4B,CAAC,CAAC6qF,EAAF,CAAK,SAAL,EAAe,KAAf,KAAuB7qF,CAAC,CAACkzP,YAAF,CAAe,KAAf,CAA1B,EAAgD,OAAOlzP,CAAC,CAAC6hP,YAAF,CAAe,KAAf,CAAP;AAA6B,UAAG7hP,CAAC,CAAC6qF,EAAF,CAAK,SAAL,EAAe,IAAf,CAAH,EAAwB,OAAM,IAAN;AAAW,UAAIlgF,CAAC,GAAC,EAAN;AAAA,UAASJ,CAAC,GAAC,IAAX;;AAAgB,WAAI,MAAMgC,CAAV,IAAevM,CAAC,CAACgkF,WAAF,EAAf,EAA+Br5E,CAAC,IAAE4qS,EAAE,CAAChpS,CAAD,EAAGhC,CAAH,CAAF,GAAQ+qS,EAAE,CAAC/oS,CAAD,CAAb,EAAiBhC,CAAC,GAACgC,CAAnB;;AAAqB,aAAO5B,CAAP;AAAS;;AAAA,aAAS4qS,EAAT,CAAYv1S,CAAZ,EAAc2K,CAAd,EAAgB;AAAC,aAAOA,CAAC,GAAC3K,CAAC,CAAC6qF,EAAF,CAAK,SAAL,EAAe,IAAf,KAAsB,CAAC7qF,CAAC,CAACqW,OAAzB,IAAkCrW,CAAC,CAAC6sP,QAAF,CAAW,CAAX,EAAchiK,EAAd,CAAiB,kBAAjB,CAAlC,IAAwEwqN,EAAE,CAAClpU,QAAH,CAAY6zB,CAAC,CAACxvB,IAAd,KAAqB6kU,EAAE,CAAClpU,QAAH,CAAYw+B,CAAC,CAACn6B,IAAd,CAA7F,GAAiH,MAAjH,GAAwHwvB,CAAC,CAAC6qF,EAAF,CAAK,kBAAL,KAA0BlgF,CAAC,CAACkgF,EAAF,CAAK,kBAAL,CAA1B,GAAmD86F,EAAE,CAACx5M,QAAH,CAAY6zB,CAAC,CAACxvB,IAAd,KAAqBm1M,EAAE,CAACx5M,QAAH,CAAYw+B,CAAC,CAACn6B,IAAd,CAArB,GAAyC,IAAzC,GAA8C,MAAjG,GAAwG,EAAjO,GAAoO,EAA5O;AAA+O;;AAAA,UAAMglU,EAAN,SAAiBnsD,EAAjB,CAAmB;AAAsB,iBAAVwB,UAAU,GAAE;AAAC,eAAM,mBAAN;AAA0B;;AAAAtpR,MAAAA,IAAI,GAAE;AAAC,aAAKygH,MAAL,CAAYuzM,OAAZ,CAAoBz/G,IAApB,CAAyBs4F,WAAzB,CAAqCymC,EAArC,GAAyC,KAAKY,eAAL,EAAzC,EAAgE,KAAKC,aAAL,EAAhE;AAAqF;;AAAAC,MAAAA,8BAA8B,CAAC31S,CAAD,EAAG2K,CAAH,EAAKJ,CAAL,EAAO;AAAC,cAAMgC,CAAC,GAAC,KAAKy1E,MAAL,CAAYzlG,KAAZ,CAAkBg4S,kBAAlB,CAAqC5pR,CAArC,CAAR;AAAgD,aAAK+6E,IAAL,CAAU,sBAAV,EAAiC;AAACokI,UAAAA,YAAY,EAAC9pN,CAAd;AAAgB+jF,UAAAA,OAAO,EAACx3E,CAAxB;AAA0BhI,UAAAA,MAAM,EAACgG;AAAjC,SAAjC;AAAsE;;AAAAkrS,MAAAA,eAAe,GAAE;AAAC,cAAMz1S,CAAC,GAAC,KAAKgiF,MAAb;AAAA,cAAoBr3E,CAAC,GAAC3K,CAAC,CAACzjB,KAAxB;AAAA,cAA8BguB,CAAC,GAACvK,CAAC,CAACu1R,OAAF,CAAUz/G,IAA1C;AAAA,cAA+CvpK,CAAC,GAAChC,CAAC,CAAC7I,QAAnD;AAA4D,aAAK8jO,QAAL,CAAcj5N,CAAd,EAAgB,gBAAhB,EAAkC,CAAC5B,CAAD,EAAGJ,CAAH,KAAO;AAAC,qBAASA,CAAC,CAAChG,MAAX,IAAmBvE,CAAC,CAACzjB,KAAF,CAAQytQ,SAAR,CAAkBhqP,CAAC,CAACzjB,KAAF,CAAQmlB,QAAR,CAAiBooP,SAAnC,CAAnB,IAAkEn/O,CAAC,CAACy6E,IAAF,EAAlE;AAA2E,SAArH,EAAuH;AAACO,UAAAA,QAAQ,EAAC;AAAV,SAAvH,GAA6I,KAAK6/I,QAAL,CAAcj5N,CAAd,EAAgB,gBAAhB,EAAkC,CAACvM,CAAD,EAAG2K,CAAH,KAAO;AAAC,gBAAM4B,CAAC,GAAC5B,CAAC,CAACm/M,YAAV;AAAuB,cAAInzO,CAAJ;AAAM,cAAGg0B,CAAC,CAACo5E,OAAL,EAAaptG,CAAC,GAACg0B,CAAC,CAACo5E,OAAJ,CAAb,KAA6B;AAAC,gBAAI/jF,CAAC,GAAC,EAAN;AAASuM,YAAAA,CAAC,CAACugQ,OAAF,CAAU,WAAV,IAAuB9sQ,CAAC,GAAC,UAASA,CAAT,EAAW;AAAC,qBAAOA,CAAC,CAAC3gB,OAAF,CAAU,yDAAV,EAAqE,CAAC2gB,CAAD,EAAG2K,CAAH,KAAO,KAAGA,CAAC,CAACh+B,MAAL,GAAY,GAAZ,GAAgBg+B,CAA5F,EAAgGtrB,OAAhG,CAAwG,kBAAxG,EAA2H,EAA3H,CAAP;AAAsI,aAAlJ,CAAmJktB,CAAC,CAACugQ,OAAF,CAAU,WAAV,CAAnJ,CAAzB,GAAoMvgQ,CAAC,CAACugQ,OAAF,CAAU,YAAV,MAA0B,CAAC,CAACrgQ,CAAC,GAAC,CAACA,CAAC,GAACF,CAAC,CAACugQ,OAAF,CAAU,YAAV,CAAH,EAA4BztR,OAA5B,CAAoC,IAApC,EAAyC,OAAzC,EAAkDA,OAAlD,CAA0D,IAA1D,EAA+D,MAA/D,EAAuEA,OAAvE,CAA+E,IAA/E,EAAoF,MAApF,EAA4FA,OAA5F,CAAoG,aAApG,EAAkH,SAAlH,EAA6HA,OAA7H,CAAqI,QAArI,EAA8I,MAA9I,EAAsJA,OAAtJ,CAA8J,KAA9J,EAAoK,0BAApK,EAAgMA,OAAhM,CAAwM,KAAxM,EAA8M,QAA9M,EAAwNA,OAAxN,CAAgO,KAAhO,EAAsO,QAAtO,EAAgPA,OAAhP,CAAwP,OAAxP,EAAgQ,SAAhQ,CAAH,EAA+QlT,QAA/Q,CAAwR,SAAxR,KAAoSsgC,CAAC,CAACtgC,QAAF,CAAW,MAAX,CAArS,MAA2TsgC,CAAC,GAAE,MAAKA,CAAE,MAArU,GAA4UzM,CAAC,GAACyM,CAAxW,CAApM,EAA+iB91B,CAAC,GAAC,KAAKqrG,MAAL,CAAYr6G,IAAZ,CAAiBm8S,aAAjB,CAA+BL,MAA/B,CAAsCzjR,CAAtC,CAAjjB;AAA0lB;AAAA,cAAIyM,CAAJ;AAAM,gBAAMnC,CAAC,GAAC,IAAIssI,CAAJ,CAAM,IAAN,EAAW,qBAAX,CAAR;AAA0C,eAAKlxD,IAAL,CAAUp7E,CAAV,EAAY;AAACy5E,YAAAA,OAAO,EAACptG,CAAT;AAAWmzO,YAAAA,YAAY,EAACv9M,CAAxB;AAA0BihQ,YAAAA,YAAY,EAAC7iQ,CAAC,CAAC6iQ,YAAzC;AAAsDjpQ,YAAAA,MAAM,EAACoG,CAAC,CAACpG;AAA/D,WAAZ,GAAoF+F,CAAC,CAAC86E,IAAF,CAAO0/I,MAAP,IAAe9kO,CAAC,CAAColF,IAAF,EAAnG,EAA4G76E,CAAC,CAACokQ,oBAAF,EAA5G;AAAqI,SAA73B,EAA+3B;AAAChpL,UAAAA,QAAQ,EAAC;AAAV,SAA/3B,CAA7I,EAA8hC,KAAK6/I,QAAL,CAAc,IAAd,EAAmB,qBAAnB,EAA0C,CAACxlO,CAAD,EAAGuK,CAAH,KAAO;AAAC,cAAGA,CAAC,CAACw5E,OAAF,CAAU1tE,OAAb,EAAqB;AAAO,gBAAM9J,CAAC,GAAC,KAAKy1E,MAAL,CAAYr6G,IAAZ,CAAiB48S,OAAjB,CAAyBh6Q,CAAC,CAACw5E,OAA3B,EAAmC,kBAAnC,CAAR;AAA+D,eAAGx3E,CAAC,CAACmgP,UAAL,KAAkB1sP,CAAC,CAAColF,IAAF,IAASz6E,CAAC,CAAC+2K,MAAF,CAAU,MAAI;AAAC,iBAAKh8F,IAAL,CAAU,kBAAV,EAA6B;AAAC3B,cAAAA,OAAO,EAACx3E,CAAT;AAAWhI,cAAAA,MAAM,EAACgG,CAAC,CAAChG,MAApB;AAA2BulN,cAAAA,YAAY,EAACv/M,CAAC,CAACu/M,YAA1C;AAAuD0jD,cAAAA,YAAY,EAACjjQ,CAAC,CAACijQ;AAAtE,aAA7B;AAAkH,WAAjI,CAA3B;AAAgK,SAA7S,EAA+S;AAAC7nL,UAAAA,QAAQ,EAAC;AAAV,SAA/S,CAA9hC,EAA+1C,KAAK6/I,QAAL,CAAc,IAAd,EAAmB,kBAAnB,EAAuC,CAACxlO,CAAD,EAAGuK,CAAH,KAAO;AAACA,UAAAA,CAAC,CAAC4nS,WAAF,GAAcxnS,CAAC,CAACipR,aAAF,CAAgBrpR,CAAC,CAACw5E,OAAlB,CAAd;AAAyC,SAAxF,EAA0F;AAAC4B,UAAAA,QAAQ,EAAC;AAAV,SAA1F,CAA/1C;AAA28C;;AAAA+vN,MAAAA,aAAa,GAAE;AAAC,cAAM11S,CAAC,GAAC,KAAKgiF,MAAb;AAAA,cAAoBr3E,CAAC,GAAC3K,CAAC,CAACzjB,KAAF,CAAQmlB,QAA9B;AAAA,cAAuC6I,CAAC,GAACvK,CAAC,CAACu1R,OAAF,CAAUz/G,IAAV,CAAep0K,QAAxD;AAAA,cAAiE6K,CAAC,GAAC,CAACvM,CAAD,EAAGuK,CAAH,KAAO;AAAC,gBAAMgC,CAAC,GAAChC,CAAC,CAACu/M,YAAV;AAAuBv/M,UAAAA,CAAC,CAACgqC,cAAF,IAAmB,KAAKohQ,8BAAL,CAAoCppS,CAApC,EAAsC5B,CAAC,CAACm/O,SAAxC,EAAkD9pP,CAAC,CAACxvB,IAApD,CAAnB;AAA6E,SAA/K;;AAAgL,aAAKg1P,QAAL,CAAcj7N,CAAd,EAAgB,MAAhB,EAAuBgC,CAAvB,EAAyB;AAACo5E,UAAAA,QAAQ,EAAC;AAAV,SAAzB,GAA2C,KAAK6/I,QAAL,CAAcj7N,CAAd,EAAgB,KAAhB,EAAuB,CAACI,CAAD,EAAGJ,CAAH,KAAO;AAACvK,UAAAA,CAAC,CAACzjB,KAAF,CAAQytQ,SAAR,CAAkBhqP,CAAC,CAACzjB,KAAF,CAAQmlB,QAAR,CAAiBooP,SAAnC,IAA8Cv9O,CAAC,CAAC5B,CAAD,EAAGJ,CAAH,CAA/C,GAAqDA,CAAC,CAACgqC,cAAF,EAArD;AAAwE,SAAvG,EAAyG;AAACoxC,UAAAA,QAAQ,EAAC;AAAV,SAAzG,CAA3C,EAAsK,KAAK6/I,QAAL,CAAc,IAAd,EAAmB,sBAAnB,EAA2C,CAAC76N,CAAD,EAAG4B,CAAH,KAAO;AAAC,gBAAM51B,CAAC,GAACqpB,CAAC,CAACr4B,IAAF,CAAO87S,MAAP,CAAcl3Q,CAAC,CAACw3E,OAAhB,CAAR;AAAiCx5E,UAAAA,CAAC,CAACm7E,IAAF,CAAO,iBAAP,EAAyB;AAACokI,YAAAA,YAAY,EAACv9M,CAAC,CAACu9M,YAAhB;AAA6B/lI,YAAAA,OAAO,EAACptG,CAArC;AAAuC4tB,YAAAA,MAAM,EAACgI,CAAC,CAAChI;AAAhD,WAAzB;AAAkF,SAAtK,EAAwK;AAACohF,UAAAA,QAAQ,EAAC;AAAV,SAAxK,CAAtK,EAAgW,KAAK6/I,QAAL,CAAcj7N,CAAd,EAAgB,iBAAhB,EAAmC,CAACA,CAAD,EAAGgC,CAAH,KAAO;AAACA,UAAAA,CAAC,CAACw3E,OAAF,CAAU1tE,OAAV,KAAoB9J,CAAC,CAACu9M,YAAF,CAAeijD,OAAf,CAAuB,WAAvB,EAAmC,KAAK/qL,MAAL,CAAYr6G,IAAZ,CAAiBm8S,aAAjB,CAA+BN,MAA/B,CAAsCj3Q,CAAC,CAACw3E,OAAxC,CAAnC,GAAqFx3E,CAAC,CAACu9M,YAAF,CAAeijD,OAAf,CAAuB,YAAvB,EAAoCuoC,EAAE,CAAC/oS,CAAC,CAACw3E,OAAH,CAAtC,CAAzG,GAA6J,SAAOx3E,CAAC,CAAChI,MAAT,IAAiBvE,CAAC,CAACzjB,KAAF,CAAQo3S,aAAR,CAAsBhpR,CAAC,CAACm/O,SAAxB,CAA9K;AAAiN,SAA5P,EAA8P;AAACnkK,UAAAA,QAAQ,EAAC;AAAV,SAA9P,CAAhW;AAAgnB;;AAApnF;;AAAqnF,cAASiwN,EAAT,CAAY51S,CAAZ,EAAc2K,CAAd,EAAgB;AAAC,WAAI,MAAMJ,CAAV,IAAeI,CAAf,EAAiBJ,CAAC,IAAEvK,CAAC,CAAC+6Q,sBAAF,CAAyBxwQ,CAAC,CAAC,CAAD,CAA1B,EAA+B8mS,WAAlC,KAAgD,MAAM9mS,CAAtD;AAAyD;;AAAA,UAAMsrS,EAAN,SAAiBlsD,EAAjB,CAAmB;AAACQ,MAAAA,OAAO,GAAE;AAAC,aAAKnoK,MAAL,CAAYzlG,KAAZ,CAAkBmlM,MAAlB,CAA0B1hL,CAAC,IAAE;AAAC,eAAK81S,UAAL,CAAgB91S,CAAhB,GAAmB,KAAK0lF,IAAL,CAAU,cAAV,EAAyB;AAACH,YAAAA,MAAM,EAACvlF;AAAR,WAAzB,CAAnB;AAAwD,SAAtF;AAAyF;;AAAA81S,MAAAA,UAAU,CAAC91S,CAAD,EAAG;AAAC,cAAM2K,CAAC,GAAC,KAAKq3E,MAAL,CAAYzlG,KAApB;AAAA,cAA0BguB,CAAC,GAACI,CAAC,CAACjJ,QAAF,CAAWooP,SAAvC;AAAA,cAAiDv9O,CAAC,GAAC5B,CAAC,CAACg3O,MAArD;AAAA,cAA4DhrQ,CAAC,GAAC4zB,CAAC,CAACyrP,WAAhE;AAAA,cAA4EvpP,CAAC,GAAClC,CAAC,CAACitP,aAAF,EAA9E;AAAA,cAAgGltP,CAAC,GAACmC,CAAC,CAACg6E,KAAF,CAAQtlC,MAA1G;AAAA,cAAiHiB,CAAC,GAAC31C,CAAC,CAACi6E,GAAF,CAAMvlC,MAAzH;AAAgI,YAAG50C,CAAC,CAAC8rQ,OAAF,CAAU/tQ,CAAV,KAAciC,CAAC,CAAC8rQ,OAAF,CAAUj2N,CAAV,CAAjB,EAA8B,OAAOzrE,CAAC,IAAE2zB,CAAC,IAAE83C,CAAN,IAASz3C,CAAC,CAACgpR,aAAF,CAAgBppR,CAAhB,CAAT,EAA4B,CAAC,CAApC;;AAAsC,YAAG5zB,CAAH,EAAK;AAAC,gBAAMg0B,CAAC,GAACirS,EAAE,CAAC51S,CAAC,CAACzjB,KAAF,CAAQolQ,MAAT,EAAgBp3O,CAAC,CAAC25E,aAAF,EAAhB,CAAV;AAA6C,iBAAO6xN,EAAE,CAAC/1S,CAAD,EAAGyM,CAAC,CAACg6E,KAAL,CAAF,EAAczmF,CAAC,CAAC4wR,qBAAF,CAAwBjmR,CAAxB,CAAd,EAAyC,CAAC,CAAjD;AAAmD;;AAAA;AAAC,gBAAM4B,CAAC,GAAC,EAAEE,CAAC,CAACg6E,KAAF,CAAQ4uK,SAAR,IAAmB5oP,CAAC,CAACi6E,GAAF,CAAMwuK,OAA3B,CAAR;AAAA,gBAA4Cv+Q,CAAC,GAAC2zB,CAAC,IAAE83C,CAAjD;;AAAmD,cAAGz3C,CAAC,CAACgpR,aAAF,CAAgBppR,CAAhB,EAAkB;AAACgnR,YAAAA,aAAa,EAAChlR;AAAf,WAAlB,GAAqCA,CAAxC,EAA0C;AAAC,gBAAG51B,CAAH,EAAK,OAAOo/T,EAAE,CAAC/1S,CAAD,EAAGuK,CAAC,CAACyoC,KAAL,CAAF,EAAc,CAAC,CAAtB;AAAwBhzC,YAAAA,CAAC,CAACm7P,YAAF,CAAe/4M,CAAf,EAAiB,CAAjB;AAAoB;AAAC;AAAA,eAAM,CAAC,CAAP;AAAS;;AAAtjB;;AAAujB,aAAS2zP,EAAT,CAAY/1S,CAAZ,EAAc2K,CAAd,EAAgB;AAAC3K,MAAAA,CAAC,CAACjhB,KAAF,CAAQ4rB,CAAR,GAAW3K,CAAC,CAACm7P,YAAF,CAAexwP,CAAC,CAACw2C,MAAF,CAASsmL,WAAxB,EAAoC,CAApC,CAAX;AAAkD;;AAAA,UAAMuuE,EAAE,GAAC;AAACC,MAAAA,eAAe,EAAC;AAACC,QAAAA,MAAM,EAAC,CAAC;AAAT,OAAjB;AAA6BC,MAAAA,eAAe,EAAC;AAACD,QAAAA,MAAM,EAAC,CAAC;AAAT;AAA7C,KAAT;;AAAmE,UAAME,EAAN,SAAiBzuC,EAAjB,CAAmB;AAACloS,MAAAA,WAAW,CAACugC,CAAD,EAAG;AAAC,cAAMA,CAAN;AAAS,cAAM2K,CAAC,GAAC,KAAKjJ,QAAb;AAAsB,YAAI6I,CAAC,GAAC,CAAC,CAAP;AAASI,QAAAA,CAAC,CAAClpB,EAAF,CAAK,SAAL,EAAgB,CAACue,CAAD,EAAG2K,CAAH,KAAO;AAACJ,UAAAA,CAAC,GAACI,CAAC,CAAC6wO,QAAJ;AAAa,SAArC,GAAwC7wO,CAAC,CAAClpB,EAAF,CAAK,aAAL,EAAoB,CAAC8qB,CAAD,EAAGE,CAAH,KAAO;AAAC,cAAG,CAAC,KAAK4tH,SAAT,EAAmB;AAAO,cAAI/vH,CAAC,GAACmC,CAAC,CAAC8gQ,SAAR;AAAkB52R,UAAAA,CAAC,CAACszJ,QAAF,IAAY1/H,CAAZ,IAAe,qBAAmBD,CAAlC,KAAsCA,CAAC,GAAC,iBAAxC;AAA2D,gBAAM83C,CAAC,GAAC31C,CAAC,CAACu7P,QAAV;AAAA,gBAAmBrqH,CAAC,GAACq4J,EAAE,CAAC1rS,CAAD,CAAvB;AAA2B,cAAG,CAACqzI,CAAJ,EAAM;AAAO,gBAAMuuC,CAAC,GAAC,IAAIusE,EAAJ,CAAO9tP,CAAP,EAAS,OAAT,EAAiB8B,CAAC,CAAC+gQ,YAAF,CAAe,CAAf,CAAjB,CAAR;AAA4C7iQ,UAAAA,CAAC,CAAC+6E,IAAF,CAAOwmG,CAAP,EAAS,IAAI67E,EAAJ,CAAO/nQ,CAAP,EAASoiD,CAAT,EAAW;AAAC8zP,YAAAA,MAAM,EAACv4J,CAAC,CAACu4J;AAAV,WAAX,CAAT,GAAwChqH,CAAC,CAAC9mG,IAAF,CAAO0/I,MAAP,IAAev4N,CAAC,CAAC64E,IAAF,EAAvD;AAAgE,SAAvR,CAAxC;AAAkU;;AAAA6xJ,MAAAA,OAAO,GAAE,CAAE;;AAAAmxB,MAAAA,aAAa,GAAE,CAAE;;AAAtZ;;AAAuZ,UAAMiuC,EAAN,SAAiBhtD,EAAjB,CAAmB;AAAsB,iBAAVwB,UAAU,GAAE;AAAC,eAAM,OAAN;AAAc;;AAAAtpR,MAAAA,IAAI,GAAE;AAAC,cAAMy+B,CAAC,GAAC,KAAKgiF,MAAb;AAAA,cAAoBr3E,CAAC,GAAC3K,CAAC,CAACu1R,OAAF,CAAUz/G,IAAhC;AAAA,cAAqCvrK,CAAC,GAACI,CAAC,CAACjJ,QAAzC;AAAkDiJ,QAAAA,CAAC,CAACyjQ,WAAF,CAAcgoC,EAAd,GAAkBp2S,CAAC,CAACm1R,QAAF,CAAWvgS,GAAX,CAAe,OAAf,EAAuB,IAAIihT,EAAJ,CAAO71S,CAAP,CAAvB,CAAlB,EAAoD,KAAKwlO,QAAL,CAAcj7N,CAAd,EAAgB,OAAhB,EAAyB,CAACgC,CAAD,EAAG51B,CAAH,KAAO;AAAC4zB,UAAAA,CAAC,CAACoiP,WAAF,IAAeh2Q,CAAC,CAAC49D,cAAF,EAAf,EAAkC59D,CAAC,CAACu/T,MAAF,KAAWl2S,CAAC,CAACmqP,OAAF,CAAU,OAAV,GAAmBx/O,CAAC,CAACgkQ,oBAAF,EAA9B,CAAlC;AAA0F,SAA3H,EAA6H;AAAChpL,UAAAA,QAAQ,EAAC;AAAV,SAA7H,CAApD;AAAmM;;AAAnS;;AAAoS,UAAM2wN,EAAN,SAAiB3sD,EAAjB,CAAmB;AAACQ,MAAAA,OAAO,GAAE;AAAC,cAAMnqP,CAAC,GAAC,KAAKgiF,MAAL,CAAYzlG,KAApB;AAAA,cAA0BouB,CAAC,GAAC3K,CAAC,CAAC0B,QAA9B;AAAuC1B,QAAAA,CAAC,CAAC0hL,MAAF,CAAUn3K,CAAC,IAAE;AAAC,WAAC,UAASvK,CAAT,EAAW2K,CAAX,EAAaJ,CAAb,EAAe;AAAC,kBAAMgC,CAAC,GAAChC,CAAC,CAACyrP,WAAV;AAAA,kBAAsBr/Q,CAAC,GAAC4zB,CAAC,CAACitP,aAAF,EAAxB;AAAA,kBAA0C/qP,CAAC,GAAC91B,CAAC,CAAC8vG,KAAF,CAAQtlC,MAApD;AAAA,kBAA2D72C,CAAC,GAAC3zB,CAAC,CAAC+vG,GAAF,CAAMvlC,MAAnE;AAAA,kBAA0EiB,CAAC,GAAC31C,CAAC,IAAEnC,CAA/E;;AAAiF,gBAAGiC,CAAH,EAAK;AAAC,oBAAMA,CAAC,GAACqpS,EAAE,CAAC51S,CAAC,CAAC2hP,MAAH,EAAUp3O,CAAC,CAAC25E,aAAF,EAAV,CAAV;AAAuCqyN,cAAAA,EAAE,CAACv2S,CAAD,EAAG2K,CAAH,EAAKh0B,CAAC,CAAC+vG,GAAP,CAAF,EAAc/7E,CAAC,CAAC25Q,wBAAF,CAA2B/5Q,CAAC,CAAC2jP,gBAAF,EAA3B,CAAd,EAA+DvjP,CAAC,CAACimR,qBAAF,CAAwBrkR,CAAxB,CAA/D;AAA0F,aAAvI,MAA2I;AAAC,oBAAMA,CAAC,GAAC,EAAE51B,CAAC,CAAC8vG,KAAF,CAAQ4uK,SAAR,IAAmB1+Q,CAAC,CAAC+vG,GAAF,CAAMwuK,OAA3B,CAAR;AAA4Cl1P,cAAAA,CAAC,CAAC2zR,aAAF,CAAgBppR,CAAhB,EAAkB;AAACgnR,gBAAAA,aAAa,EAAChlR;AAAf,eAAlB,GAAqC61C,CAAC,GAACm0P,EAAE,CAACv2S,CAAD,EAAG2K,CAAH,EAAKJ,CAAC,CAACyoC,KAAP,CAAH,GAAiBzmC,CAAC,IAAE5B,CAAC,CAACwwP,YAAF,CAAe7wP,CAAf,EAAiB,CAAjB,CAA1D;AAA8E;AAAC,WAAxW,CAAyWtK,CAAzW,EAA2WuK,CAA3W,EAA6WI,CAAC,CAACm/O,SAA/W,CAAD,EAA2X,KAAKpkK,IAAL,CAAU,cAAV,EAAyB;AAACH,YAAAA,MAAM,EAACh7E;AAAR,WAAzB,CAA3X;AAAga,SAA9a;AAAib;;AAAAs/O,MAAAA,OAAO,GAAE;AAAC,cAAM7pP,CAAC,GAAC,KAAKgiF,MAAL,CAAYzlG,KAApB;AAAA,cAA0BouB,CAAC,GAAC3K,CAAC,CAAC0B,QAA9B;;AAAuC,aAAK24H,SAAL,GAAe,UAASr6H,CAAT,EAAW2K,CAAX,EAAa;AAAC,cAAGA,CAAC,CAAC0sP,UAAF,GAAa,CAAhB,EAAkB,OAAM,CAAC,CAAP;AAAS,gBAAM9sP,CAAC,GAACI,CAAC,CAAC+qM,MAAV;AAAiB,cAAG,CAACnrM,CAAD,IAAI,CAACvK,CAAC,CAAC27Q,UAAF,CAAapxQ,CAAb,EAAe,WAAf,CAAR,EAAoC,OAAM,CAAC,CAAP;AAAS,gBAAMgC,CAAC,GAAC5B,CAAC,CAAC6sP,aAAF,EAAR;AAAA,gBAA0B7gR,CAAC,GAAC41B,CAAC,CAACk6E,KAAF,CAAQtlC,MAApC;AAAA,gBAA2C10C,CAAC,GAACF,CAAC,CAACm6E,GAAF,CAAMvlC,MAAnD;AAA0D,cAAG,CAACwH,EAAE,CAAChyE,CAAD,EAAGqpB,CAAH,CAAF,IAAS2oD,EAAE,CAACl8C,CAAD,EAAGzM,CAAH,CAAZ,KAAoBrpB,CAAC,KAAG81B,CAA3B,EAA6B,OAAM,CAAC,CAAP;AAAS,iBAAM,CAAC,CAAP;AAAS,SAAhN,CAAiNzM,CAAC,CAAC2hP,MAAnN,EAA0Nh3O,CAAC,CAACm/O,SAA5N,CAAf;AAAsP;;AAA1wB;;AAA2wB,aAASysD,EAAT,CAAYv2S,CAAZ,EAAc2K,CAAd,EAAgBJ,CAAhB,EAAkB;AAAC,YAAMgC,CAAC,GAAC5B,CAAC,CAAC9D,aAAF,CAAgB,WAAhB,CAAR;AAAqC7G,MAAAA,CAAC,CAAC4zR,aAAF,CAAgBrnR,CAAhB,EAAkBhC,CAAlB,GAAqBI,CAAC,CAACwwP,YAAF,CAAe5uP,CAAf,EAAiB,OAAjB,CAArB;AAA+C;;AAAA,aAASo8C,EAAT,CAAY3oD,CAAZ,EAAc2K,CAAd,EAAgB;AAAC,aAAM,CAAC3K,CAAC,CAAC6qF,EAAF,CAAK,aAAL,CAAD,KAAuBlgF,CAAC,CAAC0tQ,OAAF,CAAUr4Q,CAAV,KAAc2oD,EAAE,CAAC3oD,CAAC,CAACmhD,MAAH,EAAUx2C,CAAV,CAAvC,CAAN;AAA2D;;AAAA,UAAM6rS,EAAN,SAAiBntD,EAAjB,CAAmB;AAAsB,iBAAVwB,UAAU,GAAE;AAAC,eAAM,YAAN;AAAmB;;AAAAtpR,MAAAA,IAAI,GAAE;AAAC,cAAMy+B,CAAC,GAAC,KAAKgiF,MAAb;AAAA,cAAoBr3E,CAAC,GAAC3K,CAAC,CAACzjB,KAAF,CAAQolQ,MAA9B;AAAA,cAAqCp3O,CAAC,GAACvK,CAAC,CAACk5N,UAAzC;AAAA,cAAoD3sN,CAAC,GAACvM,CAAC,CAACu1R,OAAF,CAAUz/G,IAAhE;AAAA,cAAqEn/L,CAAC,GAAC41B,CAAC,CAAC7K,QAAzE;AAAkFiJ,QAAAA,CAAC,CAACgkN,QAAF,CAAW,WAAX,EAAuB;AAAC8yD,UAAAA,UAAU,EAAC,OAAZ;AAAoB5G,UAAAA,QAAQ,EAAC,CAAC;AAA9B,SAAvB,GAAyDtwQ,CAAC,CAACmwM,GAAF,CAAM,QAAN,EAAgBygE,gBAAhB,CAAiC;AAAC5+R,UAAAA,KAAK,EAAC,WAAP;AAAmBu5L,UAAAA,IAAI,EAAC;AAAxB,SAAjC,CAAzD,EAAyHvrK,CAAC,CAACmwM,GAAF,CAAM,UAAN,EAAkBygE,gBAAlB,CAAmC;AAAC5+R,UAAAA,KAAK,EAAC,WAAP;AAAmBu5L,UAAAA,IAAI,EAAC,CAAC91K,CAAD,EAAG;AAACulF,YAAAA,MAAM,EAAC56E;AAAR,WAAH,KAAgBA,CAAC,CAAC8wP,kBAAF,CAAqB,IAArB;AAAxC,SAAnC,CAAzH,EAAiOlvP,CAAC,CAAC6hQ,WAAF,CAAcgoC,EAAd,CAAjO,EAAmPp2S,CAAC,CAACm1R,QAAF,CAAWvgS,GAAX,CAAe,YAAf,EAA4B,IAAI0hT,EAAJ,CAAOt2S,CAAP,CAA5B,CAAnP,EAA0R,KAAKwlO,QAAL,CAAc7uP,CAAd,EAAgB,OAAhB,EAAyB,CAACg0B,CAAD,EAAGJ,CAAH,KAAO;AAAC5zB,UAAAA,CAAC,CAACg2Q,WAAF,IAAepiP,CAAC,CAACgqC,cAAF,EAAf,EAAkChqC,CAAC,CAAC2rS,MAAF,KAAWl2S,CAAC,CAACmqP,OAAF,CAAU,YAAV,GAAwB59O,CAAC,CAACoiQ,oBAAF,EAAnC,CAAlC;AAA+F,SAAhI,EAAkI;AAAChpL,UAAAA,QAAQ,EAAC;AAAV,SAAlI,CAA1R;AAA8a;;AAAnjB;;AAAojB,UAAM8wN,EAAN,SAAiBlxE,CAAC,EAAlB,CAAqB;AAAC9lQ,MAAAA,WAAW,GAAE;AAAC,cAAM,GAAG+qC,SAAT,GAAoB,KAAKksS,MAAL,GAAY,EAAhC;AAAmC;;AAAA9hT,MAAAA,GAAG,CAACoL,CAAD,EAAG2K,CAAH,EAAK;AAAC,cAAMJ,CAAC,GAAC,KAAKmsS,MAAb;AAAA,cAAoBnqS,CAAC,GAAChC,CAAC,CAAC,CAAD,CAAvB;;AAA2B,aAAKosS,iBAAL,CAAuB32S,CAAvB;;AAA0B,cAAMrpB,CAAC,GAAC4zB,CAAC,CAAC,CAAD,CAAT;AAAagC,QAAAA,CAAC,KAAG51B,CAAJ,IAAOigU,EAAE,CAACrqS,CAAD,EAAG51B,CAAH,CAAT,IAAgB,KAAK+uG,IAAL,CAAU,YAAV,EAAuB;AAACmxN,UAAAA,aAAa,EAACtqS,CAAf;AAAiBuqS,UAAAA,aAAa,EAACngU,CAA/B;AAAiC4uG,UAAAA,MAAM,EAAC56E;AAAxC,SAAvB,CAAhB;AAAmF;;AAAAs1E,MAAAA,MAAM,CAACjgF,CAAD,EAAG2K,CAAH,EAAK;AAAC,cAAMJ,CAAC,GAAC,KAAKmsS,MAAb;AAAA,cAAoBnqS,CAAC,GAAChC,CAAC,CAAC,CAAD,CAAvB;;AAA2B,aAAKwsS,iBAAL,CAAuB/2S,CAAvB;;AAA0B,cAAMrpB,CAAC,GAAC4zB,CAAC,CAAC,CAAD,CAAT;AAAagC,QAAAA,CAAC,KAAG51B,CAAJ,IAAOigU,EAAE,CAACrqS,CAAD,EAAG51B,CAAH,CAAT,IAAgB,KAAK+uG,IAAL,CAAU,YAAV,EAAuB;AAACmxN,UAAAA,aAAa,EAACtqS,CAAf;AAAiBuqS,UAAAA,aAAa,EAACngU,CAA/B;AAAiC4uG,UAAAA,MAAM,EAAC56E;AAAxC,SAAvB,CAAhB;AAAmF;;AAAAgsS,MAAAA,iBAAiB,CAAC32S,CAAD,EAAG;AAAC,cAAM2K,CAAC,GAAC,KAAK+rS,MAAb;AAAA,cAAoBnsS,CAAC,GAACI,CAAC,CAACxyB,SAAF,CAAawyB,CAAC,IAAEA,CAAC,CAACx9B,EAAF,KAAO6yB,CAAC,CAAC7yB,EAAzB,CAAtB;AAAoD,YAAGypU,EAAE,CAAC52S,CAAD,EAAG2K,CAAC,CAACJ,CAAD,CAAJ,CAAL,EAAc;AAAOA,QAAAA,CAAC,GAAC,CAAC,CAAH,IAAMI,CAAC,CAACw4F,MAAF,CAAS54F,CAAT,EAAW,CAAX,CAAN;AAAoB,YAAIgC,CAAC,GAAC,CAAN;;AAAQ,eAAK5B,CAAC,CAAC4B,CAAD,CAAD,IAAMyqS,EAAE,CAACrsS,CAAC,CAAC4B,CAAD,CAAF,EAAMvM,CAAN,CAAb,GAAuBuM,CAAC;;AAAG5B,QAAAA,CAAC,CAACw4F,MAAF,CAAS52F,CAAT,EAAW,CAAX,EAAavM,CAAb;AAAgB;;AAAA+2S,MAAAA,iBAAiB,CAAC/2S,CAAD,EAAG;AAAC,cAAM2K,CAAC,GAAC,KAAK+rS,MAAb;AAAA,cAAoBnsS,CAAC,GAACI,CAAC,CAACxyB,SAAF,CAAawyB,CAAC,IAAEA,CAAC,CAACx9B,EAAF,KAAO6yB,CAAvB,CAAtB;AAAiDuK,QAAAA,CAAC,GAAC,CAAC,CAAH,IAAMI,CAAC,CAACw4F,MAAF,CAAS54F,CAAT,EAAW,CAAX,CAAN;AAAoB;;AAAhnB;;AAAinB,aAASqsS,EAAT,CAAY52S,CAAZ,EAAc2K,CAAd,EAAgB;AAAC,aAAO3K,CAAC,IAAE2K,CAAH,IAAM3K,CAAC,CAAC2lF,QAAF,IAAYh7E,CAAC,CAACg7E,QAApB,IAA8BsxN,EAAE,CAACj3S,CAAC,CAACouP,OAAH,CAAF,IAAe6oD,EAAE,CAACtsS,CAAC,CAACyjP,OAAH,CAAtD;AAAkE;;AAAA,aAAS4oD,EAAT,CAAYh3S,CAAZ,EAAc2K,CAAd,EAAgB;AAAC,aAAO3K,CAAC,CAAC2lF,QAAF,GAAWh7E,CAAC,CAACg7E,QAAb,IAAuB,EAAE3lF,CAAC,CAAC2lF,QAAF,GAAWh7E,CAAC,CAACg7E,QAAf,KAA0BsxN,EAAE,CAACj3S,CAAC,CAACouP,OAAH,CAAF,GAAc6oD,EAAE,CAACtsS,CAAC,CAACyjP,OAAH,CAAxE;AAAoF;;AAAA,aAAS6oD,EAAT,CAAYj3S,CAAZ,EAAc;AAAC,aAAOmF,KAAK,CAACi8E,OAAN,CAAcphF,CAAd,IAAiBA,CAAC,CAAC6gD,IAAF,GAAS9zE,IAAT,CAAc,GAAd,CAAjB,GAAoCizB,CAA3C;AAA6C;;AAAA,UAAMk3S,EAAE,GAAC,2aAAT;AAAA,UAAqbC,EAAE,GAAC,WAAxb;AAAA,UAAocC,EAAE,GAAC,oBAAvc;;AAA4d,aAASC,EAAT,CAAYr3S,CAAZ,EAAc;AAAC,aAAM,CAAC,CAACA,CAAC,CAAC6qF,EAAF,CAAK,SAAL,CAAF,IAAmB,CAAC,CAAC7qF,CAAC,CAACszP,iBAAF,CAAoB,QAApB,CAA3B;AAAyD;;AAAA,aAASgkD,EAAT,CAAYt3S,CAAZ,EAAc2K,CAAd,EAAgBJ,CAAC,GAAC,EAAlB,EAAqB;AAAC,UAAG,CAACvK,CAAC,CAAC6qF,EAAF,CAAK,kBAAL,CAAJ,EAA6B,MAAM,IAAI1oC,CAAJ,CAAM,qCAAN,EAA4C,IAA5C,EAAiD;AAACn5D,QAAAA,OAAO,EAACgX;AAAT,OAAjD,CAAN;AAAoE,aAAO2K,CAAC,CAAC+wC,YAAF,CAAe,iBAAf,EAAiC,OAAjC,EAAyC17C,CAAzC,GAA4C2K,CAAC,CAACiiP,QAAF,CAAWuqD,EAAX,EAAcn3S,CAAd,CAA5C,EAA6D2K,CAAC,CAACmxP,iBAAF,CAAoB,QAApB,EAA6B,CAAC,CAA9B,EAAgC97P,CAAhC,CAA7D,EAAgGA,CAAC,CAAC0zP,eAAF,GAAkB6jD,EAAlH,EAAqH5sS,CAAC,CAACmxP,iBAAF,CAAoB,aAApB,EAAkC,EAAlC,EAAqC97P,CAArC,CAArH,EAA6JuK,CAAC,CAACmB,KAAF,IAAS,UAAS1L,CAAT,EAAW2K,CAAX,EAAa;AAAC,cAAMJ,CAAC,GAACvK,CAAC,CAACszP,iBAAF,CAAoB,aAApB,CAAR;AAA2C/oP,QAAAA,CAAC,CAACtE,IAAF,CAAO0E,CAAP;AAAU,OAAnE,CAAoE3K,CAApE,EAAsEuK,CAAC,CAACmB,KAAxE,CAAtK,EAAqPnB,CAAC,CAACitS,kBAAF,IAAsB,UAASx3S,CAAT,EAAW2K,CAAX,EAAa;AAAC,cAAMJ,CAAC,GAACI,CAAC,CAAC+wP,eAAF,CAAkB,KAAlB,EAAwB;AAACtY,UAAAA,KAAK,EAAC;AAAP,SAAxB,EAAkE,UAASpjP,CAAT,EAAW;AAAC,gBAAM2K,CAAC,GAAC,KAAKuvP,YAAL,CAAkBl6P,CAAlB,CAAR;AAAA,gBAA6BuK,CAAC,GAAC,IAAImC,EAAJ,EAA/B;AAAsC,iBAAOnC,CAAC,CAACzF,GAAF,CAAM,SAAN,EAAgBoyS,EAAhB,GAAoB3sS,CAAC,CAACq0O,MAAF,EAApB,EAA+Bj0O,CAAC,CAACgxC,WAAF,CAAcpxC,CAAC,CAACvhB,OAAhB,CAA/B,EAAwD2hB,CAA/D;AAAiE,SAArL,CAAR;AAAgMA,QAAAA,CAAC,CAAC27E,MAAF,CAAS37E,CAAC,CAACwyP,gBAAF,CAAmBn9P,CAAnB,EAAqB,CAArB,CAAT,EAAiCuK,CAAjC,GAAoCI,CAAC,CAACiiP,QAAF,CAAW,CAAC,iCAAD,CAAX,EAA+C5sP,CAA/C,CAApC;AAAsF,OAApS,CAAqSA,CAArS,EAAuS2K,CAAvS,CAA3Q,EAAqjB8sS,EAAE,CAACz3S,CAAD,EAAG2K,CAAH,CAAvjB,EAA6jB3K,CAApkB;AAAskB;;AAAA,aAAS03S,EAAT,CAAY13S,CAAZ,EAAc2K,CAAd,EAAgBJ,CAAhB,EAAkB;AAAC,UAAGI,CAAC,CAACyjP,OAAF,IAAW7jP,CAAC,CAACqiP,QAAF,CAAWj+D,EAAE,CAAChkL,CAAC,CAACyjP,OAAH,CAAb,EAAyBpuP,CAAzB,CAAX,EAAuC2K,CAAC,CAACs5E,UAA5C,EAAuD,KAAI,MAAM13E,CAAV,IAAe5B,CAAC,CAACs5E,UAAjB,EAA4B15E,CAAC,CAACmxC,YAAF,CAAenvC,CAAf,EAAiB5B,CAAC,CAACs5E,UAAF,CAAa13E,CAAb,CAAjB,EAAiCvM,CAAjC;AAAoC;;AAAA,aAAS23S,EAAT,CAAY33S,CAAZ,EAAc2K,CAAd,EAAgBJ,CAAhB,EAAkB;AAAC,UAAGI,CAAC,CAACyjP,OAAF,IAAW7jP,CAAC,CAACkiP,WAAF,CAAc99D,EAAE,CAAChkL,CAAC,CAACyjP,OAAH,CAAhB,EAA4BpuP,CAA5B,CAAX,EAA0C2K,CAAC,CAACs5E,UAA/C,EAA0D,KAAI,MAAM13E,CAAV,IAAe5B,CAAC,CAACs5E,UAAjB,EAA4B15E,CAAC,CAACs5N,eAAF,CAAkBt3N,CAAlB,EAAoBvM,CAApB;AAAuB;;AAAA,aAASy3S,EAAT,CAAYz3S,CAAZ,EAAc2K,CAAd,EAAgBJ,CAAC,GAACmtS,EAAlB,EAAqBnrS,CAAC,GAACorS,EAAvB,EAA0B;AAAC,YAAMhhU,CAAC,GAAC,IAAI8/T,EAAJ,EAAR;AAAe9/T,MAAAA,CAAC,CAAC8K,EAAF,CAAK,YAAL,EAAmB,CAACkpB,CAAD,EAAGh0B,CAAH,KAAO;AAACA,QAAAA,CAAC,CAACkgU,aAAF,IAAiBtqS,CAAC,CAACvM,CAAD,EAAGrpB,CAAC,CAACkgU,aAAL,EAAmBlgU,CAAC,CAAC4uG,MAArB,CAAlB,EAA+C5uG,CAAC,CAACmgU,aAAF,IAAiBvsS,CAAC,CAACvK,CAAD,EAAGrpB,CAAC,CAACmgU,aAAL,EAAmBngU,CAAC,CAAC4uG,MAArB,CAAjE;AAA8F,OAAzH;AAA4H56E,MAAAA,CAAC,CAACmxP,iBAAF,CAAoB,cAApB,EAAoC,CAAC97P,CAAD,EAAG2K,CAAH,EAAKJ,CAAL,KAAS5zB,CAAC,CAACie,GAAF,CAAM+V,CAAN,EAAQJ,CAAR,CAA7C,EAAyDvK,CAAzD,GAA4D2K,CAAC,CAACmxP,iBAAF,CAAoB,iBAApB,EAAuC,CAAC97P,CAAD,EAAG2K,CAAH,EAAKJ,CAAL,KAAS5zB,CAAC,CAACspG,MAAF,CAASt1E,CAAT,EAAWJ,CAAX,CAAhD,EAA+DvK,CAA/D,CAA5D;AAA8H;;AAAA,aAAS43S,EAAT,CAAY53S,CAAZ,EAAc2K,CAAd,EAAgBJ,CAAC,GAAC,EAAlB,EAAqB;AAAC,aAAOI,CAAC,CAACiiP,QAAF,CAAW,CAAC,qBAAD,EAAuB,4BAAvB,CAAX,EAAgE5sP,CAAhE,GAAmE2K,CAAC,CAAC+wC,YAAF,CAAe,MAAf,EAAsB,SAAtB,EAAgC17C,CAAhC,CAAnE,EAAsGuK,CAAC,CAACmB,KAAF,IAASf,CAAC,CAAC+wC,YAAF,CAAe,YAAf,EAA4BnxC,CAAC,CAACmB,KAA9B,EAAoC1L,CAApC,CAA/G,EAAsJ2K,CAAC,CAAC+wC,YAAF,CAAe,iBAAf,EAAiC17C,CAAC,CAACiqP,UAAF,GAAa,OAAb,GAAqB,MAAtD,EAA6DjqP,CAA7D,CAAtJ,EAAsNA,CAAC,CAACve,EAAF,CAAK,mBAAL,EAA0B,CAAC8oB,CAAD,EAAGgC,CAAH,EAAK51B,CAAL,KAAS;AAACg0B,QAAAA,CAAC,CAAC+wC,YAAF,CAAe,iBAAf,EAAiC/kE,CAAC,GAAC,OAAD,GAAS,MAA3C,EAAkDqpB,CAAlD;AAAqD,OAAzF,CAAtN,EAAkTA,CAAC,CAACve,EAAF,CAAK,kBAAL,EAAyB,CAAC8oB,CAAD,EAAGgC,CAAH,EAAK51B,CAAL,KAAS;AAACA,QAAAA,CAAC,GAACg0B,CAAC,CAACiiP,QAAF,CAAW,oCAAX,EAAgD5sP,CAAhD,CAAD,GAAoD2K,CAAC,CAAC8hP,WAAF,CAAc,oCAAd,EAAmDzsP,CAAnD,CAArD;AAA2G,OAA9I,CAAlT,EAAmcy3S,EAAE,CAACz3S,CAAD,EAAG2K,CAAH,CAArc,EAA2c3K,CAAld;AAAod;;AAAA,aAASu3S,EAAT,GAAa;AAAC,aAAO,IAAP;AAAY;;AAAA,UAAMM,EAAE,GAAC,oBAAT;;AAA8B,aAASC,EAAT,CAAY93S,CAAZ,EAAc2K,CAAd,EAAgBJ,CAAhB,EAAkB;AAAC,aAAM,CAAC,CAACvK,CAAF,IAAKq3S,EAAE,CAACr3S,CAAD,CAAP,IAAY,CAACuK,CAAC,CAACswQ,QAAF,CAAWlwQ,CAAX,CAAnB;AAAiC;;AAAA,aAASotS,EAAT,CAAY/3S,CAAZ,EAAc;AAAC,aAAOA,CAAC,CAAC6hP,YAAF,CAAeg2D,EAAf,CAAP;AAA0B;;AAAA,QAAIG,EAAE,GAACztS,CAAC,CAAC,IAAD,CAAR;AAAA,QAAe0tS,EAAE,GAAC;AAACh5D,MAAAA,UAAU,EAAC,mBAAZ;AAAgCh7J,MAAAA,UAAU,EAAC;AAAC,oBAAW,CAAC;AAAb,OAA3C;AAA2DqC,MAAAA,MAAM,EAAC,MAAlE;AAAyEy9I,MAAAA,SAAS,EAAC,CAAC;AAApF,KAAlB;AAAyG+a,IAAAA,EAAE,GAAGk5D,EAAE,CAACz1E,CAAN,EAAQ01E,EAAR,CAAF;AAAcD,IAAAA,EAAE,CAACz1E,CAAH,CAAK2c,MAAL;AAAY,UAAMg5D,EAAE,GAAC,CAAC,QAAD,EAAU,OAAV,CAAT;AAAA,UAA4BC,EAAE,GAAE,IAAIx0D,SAAJ,EAAD,CAAgBC,eAAhB,CAAgC,kIAAhC,EAAmK,eAAnK,EAAoL9f,UAAnN;AAAA,UAA8Ns0E,EAAE,GAAC,iCAAjO;;AAAmQ,UAAMC,EAAN,SAAiBhvD,EAAjB,CAAmB;AAAC5pR,MAAAA,WAAW,GAAE;AAAC,cAAM,GAAG+qC,SAAT,GAAoB,KAAK8tS,6BAAL,GAAmC,IAAvD;AAA4D;;AAAqB,iBAAVztD,UAAU,GAAE;AAAC,eAAM,kBAAN;AAAyB;;AAAmB,iBAARE,QAAQ,GAAE;AAAC,eAAM,CAACsrD,EAAD,EAAIzC,EAAJ,CAAN;AAAc;;AAAAryU,MAAAA,IAAI,GAAE;AAAC,cAAMy+B,CAAC,GAAC,KAAKgiF,MAAb;AAAA,cAAoBr3E,CAAC,GAAC3K,CAAC,CAACu1R,OAAF,CAAUz/G,IAAhC;AAAqC,aAAKr0L,EAAL,CAAQ,kBAAR,EAA4B,CAAC8oB,CAAD,EAAGgC,CAAH,EAAK51B,CAAL,KAAS;AAACg0B,UAAAA,CAAC,CAAC+2K,MAAF,CAAU1hL,CAAC,IAAE;AAAC,iBAAI,MAAMuK,CAAV,IAAeI,CAAC,CAACjJ,QAAF,CAAWghF,KAA1B,EAAgC/rG,CAAC,GAACqpB,CAAC,CAACysP,WAAF,CAAc2rD,EAAd,EAAiB7tS,CAAjB,CAAD,GAAqBvK,CAAC,CAAC4sP,QAAF,CAAWwrD,EAAX,EAAc7tS,CAAd,CAAtB;AAAuC,WAArF,GAAwF5zB,CAAC,IAAEqpB,CAAC,CAACzjB,KAAF,CAAQmlM,MAAR,CAAgB1hL,CAAC,IAAE;AAACA,YAAAA,CAAC,CAACskR,wBAAF,CAA2BuzB,EAA3B;AAA+B,WAAnD,CAA3F;AAAiJ,SAAvL,GAA0L,KAAKU,4BAAL,EAA1L,EAA8N,KAAKC,uCAAL,EAA9N,EAA6Q,KAAKC,yCAAL,EAA7Q,EAA8T,KAAKC,2CAAL,EAA9T,EAAiX,KAAKC,uDAAL,EAAjX,EAAgb,KAAKC,wBAAL,EAAhb,EAAgd,KAAKC,+BAAL,EAAhd,EAAuf,KAAKC,8BAAL,EAAvf,EAA6hB,KAAKC,+BAAL,EAA7hB;AAAokB;;AAAAp6N,MAAAA,OAAO,GAAE;AAAC,cAAMA,OAAN,IAAgB,KAAK25N,6BAAL,GAAmC,IAAnD;AAAwD;;AAAAU,MAAAA,gBAAgB,CAACh5S,CAAD,EAAG2K,CAAH,EAAK;AAAC,cAAMJ,CAAC,GAAC,KAAKy3E,MAAb;AAAA,cAAoBz1E,CAAC,GAAChC,CAAC,CAACgrR,OAAF,CAAUz/G,IAAhC;AAAA,cAAqCn/L,CAAC,GAAC4zB,CAAC,CAAChuB,KAAF,CAAQolQ,MAAR,CAAei/B,yBAAf,CAAyC5gR,CAAzC,EAA2C,eAA3C,EAA2D,CAAC,CAA5D,CAAvC;AAAsGuK,QAAAA,CAAC,CAAC4/O,OAAF,CAAU,iBAAV,EAA4B;AAACr6Q,UAAAA,QAAQ,EAACy6B,CAAC,CAAChuB,KAAF,CAAQ4gR,gBAAR,CAAyBn9P,CAAzB,EAA2B2K,CAA3B,CAAV;AAAwCs5E,UAAAA,UAAU,EAACttG;AAAnD,SAA5B,GAAmF41B,CAAC,CAACymC,KAAF,EAAnF,EAA6FzmC,CAAC,CAACoiQ,oBAAF,EAA7F;AAAsH;;AAAAsqC,MAAAA,kBAAkB,CAACj5S,CAAD,EAAG2K,CAAH,EAAKJ,CAAL,EAAOgC,CAAP,EAAS;AAAC,aAAKi5N,QAAL,CAAcxlO,CAAd,EAAgB2K,CAAhB,EAAmB,CAAC,GAAG3K,CAAJ,KAAQ;AAAC,eAAKq6H,SAAL,IAAgB9vH,CAAC,CAAC,GAAGvK,CAAJ,CAAjB;AAAwB,SAApD,EAAsDuM,CAAtD;AAAyD;;AAAA2sS,MAAAA,4CAA4C,GAAE;AAAC,cAAMl5S,CAAC,GAAC,KAAKgiF,MAAL,CAAYzlG,KAAZ,CAAkBmlB,QAAlB,CAA2BooP,SAAnC;AAAA,cAA6Cn/O,CAAC,GAACotS,EAAE,CAAC/3S,CAAD,CAAjD;AAAqD,YAAG,CAAC2K,CAAJ,EAAM,OAAM,CAAC,CAAP;AAAS,cAAMJ,CAAC,GAACvK,CAAC,CAAC23P,kBAAF,EAAR;AAA+B,eAAO,KAAKqhD,gBAAL,CAAsBzuS,CAAtB,EAAwBI,CAAxB,GAA2B,CAAC,CAAnC;AAAqC;;AAAA4tS,MAAAA,4BAA4B,GAAE;AAAC,cAAMv4S,CAAC,GAAC,KAAKgiF,MAAb;AAAA,cAAoBr3E,CAAC,GAAC3K,CAAC,CAACzjB,KAAF,CAAQolQ,MAA9B;AAAA,cAAqCp3O,CAAC,GAACvK,CAAC,CAACm3L,MAAF,CAASn3L,CAAhD;AAAA,cAAkDuM,CAAC,GAAC;AAAC4sS,UAAAA,MAAM,EAAC5uS,CAAC,CAAC,+BAAD,CAAT;AAA2C6uS,UAAAA,KAAK,EAAC7uS,CAAC,CAAC,8BAAD;AAAlD,SAApD;AAAwIvK,QAAAA,CAAC,CAACu1R,OAAF,CAAUnX,kBAAV,CAA6B38R,EAA7B,CAAgC,QAAhC,EAA0C,CAACue,CAAD,EAAGrpB,CAAH,EAAK81B,CAAL,KAAS;AAAC,gBAAMnC,CAAC,GAACmC,CAAC,CAACynQ,MAAF,CAASV,aAAT,CAAuB78R,CAAC,CAAC6D,IAAzB,CAAR;;AAAuC,cAAG8vB,CAAC,IAAEwtS,EAAE,CAACxtS,CAAD,EAAG3zB,CAAC,CAAC6D,IAAL,EAAUmwB,CAAV,CAAR,EAAqB;AAAC,aAAC,UAAS3K,CAAT,EAAW2K,CAAX,EAAaJ,CAAb,EAAe;AAAC,oBAAMgC,CAAC,GAACvM,CAAC,CAAC07P,eAAF,CAAkB,KAAlB,EAAwB;AAACtY,gBAAAA,KAAK,EAAC;AAAP,eAAxB,EAA0E,UAASpjP,CAAT,EAAW;AAAC,sBAAMuK,CAAC,GAAC,KAAK2vP,YAAL,CAAkBl6P,CAAlB,CAAR;AAA6B,uBAAO,UAASA,CAAT,EAAW2K,CAAX,EAAa;AAAC,uBAAI,MAAMJ,CAAV,IAAe2tS,EAAf,EAAkB;AAAC,0BAAM3rS,CAAC,GAAC,IAAIkzO,EAAJ,CAAO;AAACyB,sBAAAA,GAAG,EAAC,KAAL;AAAWj9J,sBAAAA,UAAU,EAAC;AAACm/J,wBAAAA,KAAK,EAAC,CAAC,IAAD,EAAM,gCAAN,EAAwC,kCAAiC74O,CAAE,EAA3E,CAAP;AAAqFl6B,wBAAAA,KAAK,EAACs6B,CAAC,CAACJ,CAAD,CAA5F;AAAgG,uCAAc;AAA9G,uBAAtB;AAA4IjjC,sBAAAA,QAAQ,EAAC,CAAC04B,CAAC,CAACgzO,aAAF,CAAgBqmE,UAAhB,CAA2BlB,EAA3B,EAA8B,CAAC,CAA/B,CAAD;AAArJ,qBAAP,CAAR;AAA0Mn4S,oBAAAA,CAAC,CAAC27C,WAAF,CAAcpvC,CAAC,CAACqyO,MAAF,EAAd;AAA0B;AAAC,iBAAtQ,CAAuQr0O,CAAvQ,EAAyQI,CAAzQ,GAA4Q,UAAS3K,CAAT,EAAW;AAAC,wBAAM2K,CAAC,GAAC,IAAI80O,EAAJ,CAAO;AAACyB,oBAAAA,GAAG,EAAC,KAAL;AAAWj9J,oBAAAA,UAAU,EAAC;AAACm/J,sBAAAA,KAAK,EAAC,CAAC,IAAD,EAAM,oCAAN;AAAP;AAAtB,mBAAP,CAAR;AAA2FpjP,kBAAAA,CAAC,CAAC27C,WAAF,CAAchxC,CAAC,CAACi0O,MAAF,EAAd;AAA0B,iBAAjI,CAAkIr0O,CAAlI,CAA5Q,EAAiZA,CAAxZ;AAA0Z,eAA7gB,CAAR;AAAwhBvK,cAAAA,CAAC,CAACsmF,MAAF,CAAStmF,CAAC,CAACm9P,gBAAF,CAAmB5yP,CAAnB,EAAqB,KAArB,CAAT,EAAqCgC,CAArC;AAAwC,aAAhlB,CAAilBE,CAAC,CAAC84E,MAAnlB,EAA0lBh5E,CAA1lB,EAA4lBjC,CAA5lB,CAAD;AAAgmBA,YAAAA,CAAC,CAACgpP,iBAAF,CAAoB,aAApB,EAAmCrtP,IAAnC,CAAyC,MAAI,KAAKo0H,SAAL,GAAe9vH,CAAC,CAAC,4EAAD,CAAhB,GAA+F,EAA5I;AAAiJ;AAAC,SAAn2B,EAAq2B;AAACo7E,UAAAA,QAAQ,EAAC;AAAV,SAAr2B;AAAu3B;;AAAAgzN,MAAAA,uDAAuD,GAAE;AAAC,cAAM34S,CAAC,GAAC,KAAKgiF,MAAb;AAAA,cAAoBr3E,CAAC,GAAC3K,CAAC,CAACzjB,KAAxB;AAAA,cAA8BguB,CAAC,GAACI,CAAC,CAACjJ,QAAF,CAAWooP,SAA3C;AAAA,cAAqDv9O,CAAC,GAAC5B,CAAC,CAACg3O,MAAzD;AAAA,cAAgEhrQ,CAAC,GAACqpB,CAAC,CAACu1R,OAAF,CAAUz/G,IAA5E;;AAAiF,iBAASrpK,CAAT,CAAWzM,CAAX,EAAa;AAAC,iBAAO,yCAAwCA,CAAE,EAAjD;AAAmD;;AAAA,aAAKi5S,kBAAL,CAAwBtiU,CAAC,CAAC+qB,QAA1B,EAAmC,UAAnC,EAA+C,CAAC1B,CAAD,EAAG2K,CAAH,KAAO;AAAC,eAAK2uS,oBAAL,CAA0Bt5S,CAA1B,EAA4B2K,CAA5B;AAA+B,SAAtF,EAAwF;AAACr6B,UAAAA,OAAO,EAAC,CAAC+mU,EAAD,EAAI,OAAJ,CAAT;AAAsB1xN,UAAAA,QAAQ,EAAC;AAA/B,SAAxF,GAAgI,KAAKszN,kBAAL,CAAwB1uS,CAAxB,EAA0B,cAA1B,EAA0C,CAACI,CAAD,EAAGJ,CAAH,KAAO;AAACA,UAAAA,CAAC,CAACgtQ,YAAF,IAAgBv3Q,CAAC,CAACzjB,KAAF,CAAQmlM,MAAR,CAAgB1hL,CAAC,IAAE;AAACA,YAAAA,CAAC,CAACskR,wBAAF,CAA2BuzB,EAA3B;AAA+B,WAAnD,CAAhB;AAAsE,SAAxH,CAAhI,EAA2P,KAAKoB,kBAAL,CAAwBtuS,CAAC,CAACjJ,QAA1B,EAAmC,aAAnC,EAAkD,MAAI;AAAC,gBAAMiJ,CAAC,GAACJ,CAAC,CAACotP,kBAAF,EAAR;;AAA+B,cAAGhtP,CAAH,EAAK;AAAC,gBAAGmtS,EAAE,CAAC93S,CAAC,CAACu1R,OAAF,CAAUrhB,MAAV,CAAiBV,aAAjB,CAA+B7oQ,CAA/B,CAAD,EAAmCA,CAAnC,EAAqC4B,CAArC,CAAL,EAA6C;AAAO;;AAAAvM,UAAAA,CAAC,CAACzjB,KAAF,CAAQmlM,MAAR,CAAgB1hL,CAAC,IAAE;AAACA,YAAAA,CAAC,CAACskR,wBAAF,CAA2BuzB,EAA3B;AAA+B,WAAnD;AAAsD,SAAtM,CAA3P,EAAoc,KAAKoB,kBAAL,CAAwBj5S,CAAC,CAACu1R,OAAF,CAAUnX,kBAAlC,EAAqD,WAArD,EAAkE,CAACp+Q,CAAD,EAAG2K,CAAH,EAAKJ,CAAL,KAAS;AAAC,gBAAM5zB,CAAC,GAAC4zB,CAAC,CAACg7E,MAAV;;AAAiB,cAAG,KAAK+yN,6BAAR,EAAsC;AAAC,kBAAMt4S,CAAC,GAACuK,CAAC,CAAC2pQ,MAAF,CAASV,aAAT,CAAuB,KAAK8kC,6BAA5B,CAAR;AAAmEt4S,YAAAA,CAAC,KAAGrpB,CAAC,CAAC81Q,WAAF,CAAcyrD,EAAE,CAAC1uU,GAAH,CAAOijC,CAAP,CAAd,EAAwBzM,CAAxB,GAA2B,KAAKs4S,6BAAL,GAAmC,IAAjE,CAAD;AAAwE;;AAAA,gBAAMhuS,CAAC,GAACK,CAAC,CAACm/O,SAAF,CAAY6N,kBAAZ,EAAR;AAAyC,cAAG,CAACrtP,CAAJ,EAAM;AAAO,gBAAM83C,CAAC,GAAC73C,CAAC,CAAC2pQ,MAAF,CAASV,aAAT,CAAuBlpQ,CAAvB,CAAR;AAAkC,cAAG,CAACwtS,EAAE,CAAC11P,CAAD,EAAG93C,CAAH,EAAKiC,CAAL,CAAN,EAAc;AAAO,gBAAMoxI,CAAC,GAACo6J,EAAE,CAACptS,CAAC,CAACm/O,SAAH,CAAV;AAAwBnsG,UAAAA,CAAC,KAAGhnK,CAAC,CAACi2Q,QAAF,CAAWngP,CAAC,CAACkxI,CAAD,CAAZ,EAAgBv7F,CAAhB,GAAmB,KAAKk2P,6BAAL,GAAmChuS,CAAzD,CAAD;AAA6D,SAAjd,CAApc,EAAw5B,KAAK2uS,kBAAL,CAAwBj5S,CAAC,CAACklF,EAAF,CAAK4gK,YAA7B,EAA0C,kBAA1C,EAA8D,CAACn7O,CAAD,EAAGJ,CAAH,EAAKgC,CAAL,KAAS;AAACA,UAAAA,CAAC,IAAEvM,CAAC,CAACzjB,KAAF,CAAQmlM,MAAR,CAAgB1hL,CAAC,IAAE;AAACA,YAAAA,CAAC,CAACskR,wBAAF,CAA2BuzB,EAA3B;AAA+B,WAAnD,CAAH;AAAyD,SAAjI,CAAx5B;AAA4hC;;AAAAyB,MAAAA,oBAAoB,CAACt5S,CAAD,EAAG2K,CAAH,EAAK;AAAC,cAAMJ,CAAC,GAAC,KAAKy3E,MAAb;AAAA,cAAoBz1E,CAAC,GAAChC,CAAC,CAAChuB,KAAxB;AAAA,cAA8B5F,CAAC,GAAC41B,CAAC,CAAC7K,QAAF,CAAWooP,SAA3C;AAAA,cAAqDr9O,CAAC,GAACF,CAAC,CAACo1O,MAAzD;AAAA,cAAgEr3O,CAAC,GAACC,CAAC,CAACgrR,OAAF,CAAUz/G,IAA5E;AAAA,cAAiF1zH,CAAC,GAAC,UAASpiD,CAAT,EAAW2K,CAAX,EAAa;AAAC,gBAAMJ,CAAC,GAAC8nL,EAAE,CAACryL,CAAD,EAAG2K,CAAH,CAAV;AAAgB,iBAAM,WAASJ,CAAT,IAAY,YAAUA,CAA5B;AAA8B,SAA5D,CAA6DI,CAAC,CAAC0wO,OAA/D,EAAuE9wO,CAAC,CAAC4sL,MAAF,CAASglD,wBAAhF,CAAnF;AAAA,cAA6Lx+F,CAAC,GAACrzI,CAAC,CAAC5I,QAAF,CAAWooP,SAAX,CAAqB6N,kBAArB,EAA/L;;AAAyO,YAAIzrE,CAAJ;AAAM4rH,QAAAA,EAAE,CAACn6J,CAAD,EAAGpzI,CAAC,CAACgrR,OAAF,CAAUrhB,MAAV,CAAiBb,cAAjB,CAAgC11H,CAAhC,CAAH,EAAsClxI,CAAtC,CAAF,GAA2Cy/K,CAAC,GAAC,KAAKqtH,oCAAL,CAA0Cn3P,CAA1C,CAA7C,GAA0FzrE,CAAC,CAACq/Q,WAAF,GAAc9pE,CAAC,GAAC,KAAKstH,8CAAL,CAAoDp3P,CAApD,CAAhB,GAAuEz3C,CAAC,CAAC6wO,QAAF,KAAatvD,CAAC,GAAC,KAAKutH,6CAAL,CAAmDr3P,CAAnD,CAAf,CAAjK,EAAuO8pI,CAAC,KAAGvhL,CAAC,CAAC4pC,cAAF,IAAmBv0C,CAAC,CAAColF,IAAF,EAAtB,CAAxO;AAAwQ;;AAAAm0N,MAAAA,oCAAoC,CAACv5S,CAAD,EAAG;AAAC,cAAM2K,CAAC,GAAC,KAAKq3E,MAAL,CAAYzlG,KAApB;AAAA,cAA0BguB,CAAC,GAACwtS,EAAE,CAACptS,CAAC,CAACjJ,QAAF,CAAWooP,SAAZ,CAA9B;AAAqD,eAAOn/O,CAAC,CAAC+2K,MAAF,CAAU/2K,CAAC,IAAE;AAAC,cAAG,CAACJ,CAAJ,EAAM,OAAOI,CAAC,CAACimR,qBAAF,CAAwBinB,EAAxB,EAA2B73S,CAAC,GAAC,OAAD,GAAS,QAArC,GAA+C,CAAC,CAAvD;AAAyD,cAAG,EAAEuK,CAAC,MAAIvK,CAAC,GAAC,OAAD,GAAS,QAAd,CAAH,CAAH,EAA+B,OAAO2K,CAAC,CAAC25Q,wBAAF,CAA2BuzB,EAA3B,GAA+B,CAAC,CAAvC;AAAyC,iBAAM,CAAC,CAAP;AAAS,SAA9J,CAAP;AAAwK;;AAAA2B,MAAAA,8CAA8C,CAACx5S,CAAD,EAAG;AAAC,cAAM2K,CAAC,GAAC,KAAKq3E,MAAb;AAAA,cAAoBz3E,CAAC,GAACI,CAAC,CAACpuB,KAAxB;AAAA,cAA8BgwB,CAAC,GAAChC,CAAC,CAACo3O,MAAlC;AAAA,cAAyChrQ,CAAC,GAACg0B,CAAC,CAAC84E,OAAF,CAAUhjH,GAAV,CAAc,QAAd,CAA3C;AAAA,cAAmEgsC,CAAC,GAAC91B,CAAC,CAAC+iU,gCAAF,CAAmC15S,CAAnC,CAArE;;AAA2G,eAAM,CAAC,CAAC83S,EAAE,CAACntS,CAAC,CAAC4qR,OAAF,CAAUrhB,MAAV,CAAiBV,aAAjB,CAA+B/mQ,CAA/B,CAAD,EAAmCA,CAAnC,EAAqCF,CAArC,CAAJ,KAA8ChC,CAAC,CAACm3K,MAAF,CAAU/2K,CAAC,IAAE;AAACh0B,UAAAA,CAAC,CAACgjU,wBAAF,CAA2BltS,CAA3B,GAA8B9B,CAAC,CAACimR,qBAAF,CAAwBinB,EAAxB,EAA2B73S,CAAC,GAAC,QAAD,GAAU,OAAtC,CAA9B;AAA6E,SAA3F,GAA8F,CAAC,CAA7I,CAAN;AAAsJ;;AAAAy5S,MAAAA,6CAA6C,CAACz5S,CAAD,EAAG;AAAC,cAAM2K,CAAC,GAAC,KAAKq3E,MAAb;AAAA,cAAoBz3E,CAAC,GAACI,CAAC,CAACpuB,KAAxB;AAAA,cAA8BgwB,CAAC,GAAChC,CAAC,CAACo3O,MAAlC;AAAA,cAAyChrQ,CAAC,GAACg0B,CAAC,CAAC4qR,OAAF,CAAUrhB,MAArD;AAAA,cAA4DznQ,CAAC,GAAClC,CAAC,CAAC7I,QAAF,CAAWooP,SAAzE;AAAA,cAAmFx/O,CAAC,GAACtK,CAAC,GAACyM,CAAC,CAACirP,eAAF,GAAoBhC,UAArB,GAAgCjpP,CAAC,CAACs9O,gBAAF,GAAqB0L,SAA3I;AAAqJ,eAAM,CAAC,CAACqiD,EAAE,CAACnhU,CAAC,CAAC68R,aAAF,CAAgBlpQ,CAAhB,CAAD,EAAoBA,CAApB,EAAsBiC,CAAtB,CAAJ,KAA+BhC,CAAC,CAACm3K,MAAF,CAAU/2K,CAAC,IAAE;AAACA,UAAAA,CAAC,CAACwwP,YAAF,CAAe7wP,CAAf,EAAiB,IAAjB,GAAuBK,CAAC,CAACimR,qBAAF,CAAwBinB,EAAxB,EAA2B73S,CAAC,GAAC,OAAD,GAAS,QAArC,CAAvB;AAAsE,SAApF,GAAuF,CAAC,CAAvH,CAAN;AAAgI;;AAAAw4S,MAAAA,uCAAuC,GAAE;AAAC,cAAMx4S,CAAC,GAAC,KAAKgiF,MAAb;AAAA,cAAoBr3E,CAAC,GAAC3K,CAAC,CAACu1R,OAAF,CAAUz/G,IAAhC;;AAAqC,aAAKmjI,kBAAL,CAAwBtuS,CAAC,CAACjJ,QAA1B,EAAmC,WAAnC,EAAgD,CAAC6I,CAAD,EAAGgC,CAAH,KAAO;AAAC,gBAAM51B,CAAC,GAAC41B,CAAC,CAAC6tP,SAAF,CAAY/6E,OAAZ,CAAoB,iCAApB,CAAR;AAA+D,cAAG,CAAC1oM,CAAJ,EAAM;;AAAO,gBAAM81B,CAAC,GAAC,UAASzM,CAAT,EAAW;AAAC,mBAAOA,CAAC,CAAC45S,SAAF,CAAY3vF,QAAZ,CAAqB,uCAArB,IAA8D,QAA9D,GAAuE,OAA9E;AAAsF,WAAlG,CAAmGtzO,CAAnG,CAAR;AAAA,gBAA8G2zB,CAAC,GAAC,UAAStK,CAAT,EAAW2K,CAAX,EAAa;AAAC,kBAAMJ,CAAC,GAACvK,CAAC,CAACq/K,OAAF,CAAU,YAAV,CAAR;AAAgC,mBAAO10K,CAAC,CAACo4P,YAAF,CAAex4P,CAAf,CAAP;AAAyB,WAAvE,CAAwE5zB,CAAxE,EAA0Eg0B,CAAC,CAACiwP,YAA5E,CAAhH;AAAA,gBAA0Mx4M,CAAC,GAACpiD,CAAC,CAACu1R,OAAF,CAAUrhB,MAAV,CAAiBb,cAAjB,CAAgC/oQ,CAAhC,CAA5M;;AAA+O,eAAK0uS,gBAAL,CAAsB52P,CAAtB,EAAwB31C,CAAxB,GAA2BF,CAAC,CAACgoC,cAAF,EAA3B,EAA8ChqC,CAAC,CAAC66E,IAAF,EAA9C;AAAuD,SAA1a;AAA6a;;AAAAqzN,MAAAA,yCAAyC,GAAE;AAAC,cAAMz4S,CAAC,GAAC,KAAKgiF,MAAb;AAAA,cAAoBr3E,CAAC,GAAC3K,CAAC,CAACzjB,KAAF,CAAQmlB,QAAR,CAAiBooP,SAAvC;AAAA,cAAiDv/O,CAAC,GAACvK,CAAC,CAACu1R,OAAF,CAAUz/G,IAA7D;;AAAkE,aAAKmjI,kBAAL,CAAwB1uS,CAAC,CAAC7I,QAA1B,EAAmC,OAAnC,EAA4C,CAAC6I,CAAD,EAAGgC,CAAH,KAAO;AAAC,cAAG,cAAYhC,CAAC,CAACsuP,UAAjB,EAA4B;AAAO,gBAAMliR,CAAC,GAACg0B,CAAC,CAACgtP,kBAAF,EAAR;AAAA,gBAA+BlrP,CAAC,GAACzM,CAAC,CAACu1R,OAAF,CAAUrhB,MAAV,CAAiBV,aAAjB,CAA+B78R,CAA/B,CAAjC;AAAA,gBAAmE2zB,CAAC,GAACtK,CAAC,CAACzjB,KAAF,CAAQolQ,MAA7E;AAAoF,cAAIv/L,CAAJ;AAAM,eAAK82P,4CAAL,KAAoD92P,CAAC,GAAC,CAAC,CAAvD,GAAyD01P,EAAE,CAACrrS,CAAD,EAAG91B,CAAH,EAAK2zB,CAAL,CAAF,KAAY,KAAK0uS,gBAAL,CAAsBriU,CAAtB,EAAwB41B,CAAC,CAAC2pS,MAAF,GAAS,QAAT,GAAkB,OAA1C,GAAmD9zP,CAAC,GAAC,CAAC,CAAlE,CAAzD,EAA8HA,CAAC,KAAG71C,CAAC,CAACgoC,cAAF,IAAmBhqC,CAAC,CAAC66E,IAAF,EAAtB,CAA/H;AAA+J,SAAhV,EAAkV;AAAC90G,UAAAA,OAAO,EAAC+mU;AAAT,SAAlV;AAAgW;;AAAAqB,MAAAA,2CAA2C,GAAE;AAAC,cAAM14S,CAAC,GAAC,KAAKgiF,MAAL,CAAYuzM,OAAZ,CAAoBz/G,IAApB,CAAyBp0K,QAAjC;AAA0C,aAAKu3S,kBAAL,CAAwBj5S,CAAxB,EAA0B,YAA1B,EAAwC,CAAC2K,CAAD,EAAGJ,CAAH,KAAO;AAAC,eAAK2uS,4CAAL,OAAsD3uS,CAAC,CAACu/O,SAAF,GAAY9pP,CAAC,CAAC8pP,SAApE;AAA+E,SAA/H,EAAiI;AAACnkK,UAAAA,QAAQ,EAAC;AAAV,SAAjI,GAAoJhvG,CAAC,CAAC2tP,SAAF,GAAY,KAAK20E,kBAAL,CAAwBj5S,CAAxB,EAA0B,SAA1B,EAAqC,CAACA,CAAD,EAAG2K,CAAH,KAAO;AAAC,iBAAKA,CAAC,CAAC0wO,OAAP,IAAgB,KAAK69D,4CAAL,EAAhB;AAAoE,SAAjH,CAAZ,GAAgI,KAAKD,kBAAL,CAAwBj5S,CAAxB,EAA0B,kBAA1B,EAA8C,MAAI;AAAC,eAAKk5S,4CAAL;AAAoD,SAAvG,EAAyG;AAACvzN,UAAAA,QAAQ,EAAC;AAAV,SAAzG,CAApR;AAAgZ;;AAAAizN,MAAAA,wBAAwB,GAAE;AAAC,cAAM54S,CAAC,GAAC,KAAKgiF,MAAb;AAAA,cAAoBr3E,CAAC,GAAC3K,CAAC,CAACu1R,OAAF,CAAUz/G,IAAhC;AAAA,cAAqCvrK,CAAC,GAACvK,CAAC,CAACzjB,KAAzC;AAAA,cAA+CgwB,CAAC,GAAChC,CAAC,CAACo3O,MAAnD;;AAA0D,aAAKs3D,kBAAL,CAAwBtuS,CAAC,CAACjJ,QAA1B,EAAmC,QAAnC,EAA6C,CAACiJ,CAAD,EAAGh0B,CAAH,KAAO;AAAC,cAAG,cAAYg0B,CAAC,CAACkuP,UAAjB,EAA4B;AAAO,gBAAMpsP,CAAC,GAACsrS,EAAE,CAACxtS,CAAC,CAAC7I,QAAF,CAAWooP,SAAZ,CAAV;AAAiC,cAAG,CAACr9O,CAAJ,EAAM;AAAO,gBAAMnC,CAAC,GAAC3zB,CAAC,CAAC+8N,SAAV;AAAA,gBAAoBtxJ,CAAC,GAAC73C,CAAC,CAAC7I,QAAF,CAAWooP,SAAX,CAAqB6N,kBAArB,EAAtB;AAAA,gBAAgEh6G,CAAC,GAAC,aAAWrzI,CAA7E;AAA+E,cAAG,aAAWmC,CAAX,KAAekxI,CAAlB,EAAoB39I,CAAC,CAACmqP,OAAF,CAAU,QAAV,EAAmB;AAACL,YAAAA,SAAS,EAACv/O,CAAC,CAACizP,eAAF,CAAkBp7M,CAAlB,EAAoB,IAApB;AAAX,WAAnB,EAApB,KAAkF;AAAC,kBAAMz3C,CAAC,GAAC4B,CAAC,CAACquQ,wBAAF,CAA2BrwQ,CAAC,CAAC4yP,gBAAF,CAAmB/6M,CAAnB,EAAqB31C,CAArB,CAA3B,EAAmDnC,CAAnD,CAAR;AAA8D,gBAAGK,CAAH,EAAK,IAAGA,CAAC,CAACqrP,WAAL,EAAiB;AAAC,oBAAMr/Q,CAAC,GAAC4zB,CAAC,CAACizP,eAAF,CAAkB7yP,CAAC,CAAC87E,KAApB,CAAR;;AAAmC,kBAAGl8E,CAAC,CAAC+mR,eAAF,CAAkB36S,CAAlB,EAAoB;AAAC+8N,gBAAAA,SAAS,EAACppM;AAAX,eAApB,GAAmC3zB,CAAC,CAACq8D,KAAF,CAAQ+iM,OAAR,CAAgBprO,CAAC,CAAC87E,KAAlB,CAAtC,EAA+D;AAAC,sBAAMzmF,CAAC,GAAC,UAASA,CAAT,EAAW2K,CAAX,EAAa;AAAC,sBAAIJ,CAAC,GAACI,CAAN;;AAAQ,uBAAI,MAAM4B,CAAV,IAAe5B,CAAC,CAACsiP,YAAF,CAAe;AAACE,oBAAAA,WAAW,EAAC,CAAC;AAAd,mBAAf,CAAf,EAAgD;AAAC,wBAAG5gP,CAAC,CAACmgP,UAAF,GAAa,CAAb,IAAgB1sP,CAAC,CAACq4Q,OAAF,CAAU9rQ,CAAV,CAAnB,EAAgC;AAAMhC,oBAAAA,CAAC,GAACgC,CAAF;AAAI;;AAAA,yBAAOhC,CAAP;AAAS,iBAA1H,CAA2HgC,CAA3H,EAA6H5B,CAAC,CAAC87E,KAAF,CAAQtlC,MAArI,CAAR;;AAAqJ52C,gBAAAA,CAAC,CAACopR,aAAF,CAAgBppR,CAAC,CAACizP,eAAF,CAAkBx9P,CAAlB,EAAoB,IAApB,CAAhB,EAA0C;AAACoxR,kBAAAA,kBAAkB,EAAC,CAAC;AAArB,iBAA1C;AAAmE,eAAxR,MAA6R7mR,CAAC,CAACm3K,MAAF,CAAUn3K,CAAC,IAAE;AAACA,gBAAAA,CAAC,CAAC4wP,YAAF,CAAexwP,CAAf,GAAkB3K,CAAC,CAACmqP,OAAF,CAAUxsG,CAAC,GAAC,eAAD,GAAiB,QAA5B,CAAlB;AAAwD,eAAtE;AAAyE,aAA3Z,MAAgapzI,CAAC,CAACm3K,MAAF,CAAUn3K,CAAC,IAAE;AAACA,cAAAA,CAAC,CAAC4wP,YAAF,CAAexwP,CAAf,GAAkB3K,CAAC,CAACmqP,OAAF,CAAUxsG,CAAC,GAAC,eAAD,GAAiB,QAA5B,CAAlB;AAAwD,aAAtE;AAAyE;AAAAhnK,UAAAA,CAAC,CAAC49D,cAAF,IAAmB5pC,CAAC,CAACy6E,IAAF,EAAnB;AAA4B,SAAh3B,EAAk3B;AAAC90G,UAAAA,OAAO,EAAC+mU;AAAT,SAAl3B;AAAg4B;;AAAAwB,MAAAA,+BAA+B,GAAE;AAAC,cAAM74S,CAAC,GAAC,KAAKgiF,MAAb;AAAA,cAAoBr3E,CAAC,GAAC,KAAKq3E,MAAL,CAAYzlG,KAAlC;AAAA,cAAwCguB,CAAC,GAACI,CAAC,CAACjJ,QAAF,CAAWooP,SAArD;;AAA+D,aAAKmvD,kBAAL,CAAwBj5S,CAAC,CAACzjB,KAA1B,EAAgC,eAAhC,EAAiD,CAACyjB,CAAD,EAAG,CAACuM,CAAD,EAAG51B,CAAH,CAAH,KAAW;AAAC,cAAGA,CAAC,IAAE,CAACA,CAAC,CAACk0G,EAAF,CAAK,mBAAL,CAAP,EAAiC;AAAO,gBAAMp+E,CAAC,GAACsrS,EAAE,CAACxtS,CAAD,CAAV;AAAc,iBAAOkC,CAAC,IAAEzM,CAAC,CAAColF,IAAF,IAASz6E,CAAC,CAAC+2K,MAAF,CAAU1hL,CAAC,IAAE;AAAC,kBAAMrpB,CAAC,GAAC4zB,CAAC,CAACotP,kBAAF,EAAR;AAAA,kBAA+BrtP,CAAC,GAACK,CAAC,CAACwyP,gBAAF,CAAmBxmR,CAAnB,EAAqB81B,CAArB,CAAjC;AAAA,kBAAyD21C,CAAC,GAACpiD,CAAC,CAACw9P,eAAF,CAAkBlzP,CAAlB,CAA3D;AAAA,kBAAgFqzI,CAAC,GAAChzI,CAAC,CAACipR,aAAF,CAAgBrnR,CAAhB,EAAkB61C,CAAlB,CAAlF;AAAuG,mBAAOpiD,CAAC,CAACm7P,YAAF,CAAe/4M,CAAf,GAAkBu7F,CAAzB;AAA2B,WAAhJ,CAAX,IAA+J,KAAK,CAA5K;AAA8K,SAAjS,EAAmS;AAACh4D,UAAAA,QAAQ,EAAC;AAAV,SAAnS;AAAsT;;AAAAmzN,MAAAA,8BAA8B,GAAE;AAAC,cAAM94S,CAAC,GAAC,KAAKgiF,MAAb;AAAA,cAAoBr3E,CAAC,GAAC,KAAKq3E,MAAL,CAAYzlG,KAAZ,CAAkBmlB,QAAlB,CAA2BooP,SAAjD;;AAA2D,aAAKmvD,kBAAL,CAAwBj5S,CAAC,CAACzjB,KAA1B,EAAgC,cAAhC,EAAgD,CAACyjB,CAAD,EAAGuK,CAAH,KAAO;AAAC,gBAAK,GAAEgC,CAAF,EAAI51B,CAAC,GAAC,EAAN,IAAU4zB,CAAf;AAAiB,cAAGgC,CAAC,IAAE,CAACA,CAAC,CAACs+E,EAAF,CAAK,mBAAL,CAAP,EAAiC;AAAO,gBAAMp+E,CAAC,GAACsrS,EAAE,CAACptS,CAAD,CAAV;AAAc8B,UAAAA,CAAC,KAAG91B,CAAC,CAAC+8S,mBAAF,GAAsBjnR,CAAtB,EAAwBlC,CAAC,CAAC,CAAD,CAAD,GAAK5zB,CAAhC,CAAD;AAAoC,SAAnK,EAAqK;AAACgvG,UAAAA,QAAQ,EAAC;AAAV,SAArK;AAAwL;;AAAAozN,MAAAA,+BAA+B,GAAE;AAAC,cAAM/4S,CAAC,GAAC,KAAKgiF,MAAb;AAAA,cAAoBr3E,CAAC,GAAC,KAAKq3E,MAAL,CAAYzlG,KAAZ,CAAkBmlB,QAAlB,CAA2BooP,SAAjD;;AAA2D,aAAKmvD,kBAAL,CAAwBj5S,CAAC,CAACzjB,KAA1B,EAAgC,eAAhC,EAAiD,CAACyjB,CAAD,EAAG,CAACuK,CAAD,CAAH,KAAS;AAAC,cAAGA,CAAC,IAAE,CAACA,CAAC,CAACsgF,EAAF,CAAK,mBAAL,CAAP,EAAiC;AAAOktN,UAAAA,EAAE,CAACptS,CAAD,CAAF,IAAO3K,CAAC,CAAColF,IAAF,EAAP;AAAgB,SAAnH,EAAqH;AAACO,UAAAA,QAAQ,EAAC;AAAV,SAArH;AAAwI;;AAA5vQ;;AAA6vQ,aAASk0N,EAAT,CAAY75S,CAAZ,EAAc;AAAC,YAAM2K,CAAC,GAAC3K,CAAC,CAACzjB,KAAV;AAAgB,aAAM,CAACguB,CAAD,EAAGgC,CAAH,KAAO;AAAC,cAAM51B,CAAC,GAAC41B,CAAC,CAAC8uO,OAAF,IAAWX,EAAE,CAACE,OAAtB;AAAA,cAA8BnuO,CAAC,GAACF,CAAC,CAAC8uO,OAAF,IAAWX,EAAE,CAACI,SAA9C;AAAA,cAAwDxwO,CAAC,GAACiC,CAAC,CAACivO,QAA5D;AAAA,cAAqEp5L,CAAC,GAACz3C,CAAC,CAACjJ,QAAF,CAAWooP,SAAlF;AAA4F,YAAG,CAACnzQ,CAAD,IAAI,CAAC81B,CAAR,EAAU;AAAO,cAAMkxI,CAAC,GAAClxI,CAAR;AAAU,YAAGnC,CAAC,IAAE,UAAStK,CAAT,EAAW2K,CAAX,EAAa;AAAC,iBAAM,CAAC3K,CAAC,CAACg2P,WAAH,IAAgBh2P,CAAC,CAACs3P,UAAF,IAAc3sP,CAApC;AAAsC,SAApD,CAAqDy3C,CAArD,EAAuDu7F,CAAvD,CAAN,EAAgE;;AAAO,cAAMuuC,CAAC,GAAC,UAASlsL,CAAT,EAAW2K,CAAX,EAAaJ,CAAb,EAAe;AAAC,gBAAMgC,CAAC,GAACvM,CAAC,CAACzjB,KAAV;;AAAgB,cAAGguB,CAAH,EAAK;AAAC,kBAAMvK,CAAC,GAAC2K,CAAC,CAACqrP,WAAF,GAAcrrP,CAAC,CAACqoC,KAAhB,GAAsBroC,CAAC,CAAC+sP,eAAF,EAA9B;AAAA,kBAAkDntP,CAAC,GAACuvS,EAAE,CAACvtS,CAAD,EAAGvM,CAAH,EAAK,SAAL,CAAtD;AAAsE,gBAAG,CAACuK,CAAJ,EAAM,OAAO,IAAP;AAAY,kBAAM5zB,CAAC,GAAC41B,CAAC,CAACy6E,WAAF,CAAchnF,CAAd,EAAgBuK,CAAhB,CAAR;AAAA,kBAA2BkC,CAAC,GAACstS,EAAE,CAACxtS,CAAC,CAACo1O,MAAH,EAAUhrQ,CAAV,EAAY,UAAZ,CAA/B;AAAuD,mBAAO81B,CAAC,GAACF,CAAC,CAACy6E,WAAF,CAAchnF,CAAd,EAAgByM,CAAhB,CAAD,GAAoB,IAA5B;AAAiC;;AAAA;AAAC,kBAAMzM,CAAC,GAAC2K,CAAC,CAACqrP,WAAF,GAAcrrP,CAAC,CAACqoC,KAAhB,GAAsBroC,CAAC,CAACo/O,gBAAF,EAA9B;AAAA,kBAAmDx/O,CAAC,GAACuvS,EAAE,CAACvtS,CAAD,EAAGvM,CAAH,EAAK,UAAL,CAAvD;AAAwE,gBAAG,CAACuK,CAAJ,EAAM,OAAO,IAAP;AAAY,kBAAM5zB,CAAC,GAAC41B,CAAC,CAACy6E,WAAF,CAAcz8E,CAAd,EAAgBvK,CAAhB,CAAR;AAAA,kBAA2ByM,CAAC,GAACstS,EAAE,CAACxtS,CAAC,CAACo1O,MAAH,EAAUhrQ,CAAV,EAAY,SAAZ,CAA/B;AAAsD,mBAAO81B,CAAC,GAACF,CAAC,CAACy6E,WAAF,CAAcv6E,CAAd,EAAgBzM,CAAhB,CAAD,GAAoB,IAA5B;AAAiC;AAAC,SAAzY,CAA0YA,CAA1Y,EAA4YoiD,CAA5Y,EAA8Yu7F,CAA9Y,CAAR;;AAAyZ,YAAGuuC,CAAH,EAAK;AAAC,cAAGA,CAAC,CAAC8pE,WAAL,EAAiB;AAAC,gBAAG5zM,CAAC,CAAC4zM,WAAL,EAAiB;AAAO,gBAAG1rP,CAAH,EAAK;AAAO;;AAAA,WAAC4hL,CAAC,CAAC8pE,WAAF,IAAe,UAASh2P,CAAT,EAAW2K,CAAX,EAAaJ,CAAb,EAAe;AAAC,kBAAMgC,CAAC,GAACvM,CAAC,CAACzjB,KAAV;AAAA,kBAAgB5F,CAAC,GAACqpB,CAAC,CAAC81K,IAAF,CAAO8kF,YAAzB;;AAAsC,gBAAGrwP,CAAH,EAAK;AAAC,oBAAMvK,CAAC,GAACuM,CAAC,CAACixP,eAAF,CAAkB7yP,CAAC,CAAC87E,KAApB,CAAR;AAAmCl6E,cAAAA,CAAC,CAAC+kR,eAAF,CAAkBtxR,CAAlB,GAAqBA,CAAC,CAACgzC,KAAF,CAAQkiN,OAAR,IAAiBvqP,CAAC,CAAC87E,KAAF,CAAQsvJ,OAAR,CAAgB/1O,CAAC,CAACgzC,KAAlB,CAAjB,KAA4CroC,CAAC,GAAC4B,CAAC,CAACy6E,WAAF,CAAchnF,CAAC,CAACgzC,KAAhB,EAAsBroC,CAAC,CAAC+7E,GAAxB,CAA9C,CAArB;AAAiG;;AAAA,kBAAMj6E,CAAC,GAACzM,CAAC,CAACk0Q,MAAF,CAASF,WAAT,CAAqBrpQ,CAArB,CAAR;AAAA,kBAAgCL,CAAC,GAAC3zB,CAAC,CAAC+uR,cAAF,CAAiBj5P,CAAjB,CAAlC;AAAA,kBAAsD21C,CAAC,GAAC2yL,EAAE,CAACG,gBAAH,CAAoB5qO,CAApB,CAAxD;AAA+E,gBAAIqzI,CAAJ;;AAAM,iBAAI,MAAM39I,CAAV,IAAeoiD,CAAf,EAAiB,IAAG,KAAK,CAAL,KAASu7F,CAAZ,EAAc;AAAC,kBAAGzhH,IAAI,CAACk6C,KAAL,CAAWp2E,CAAC,CAACk0C,GAAb,KAAmBypG,CAAtB,EAAwB,OAAM,CAAC,CAAP;AAASA,cAAAA,CAAC,GAACzhH,IAAI,CAAC1qC,GAAL,CAASmsJ,CAAT,EAAWzhH,IAAI,CAACk6C,KAAL,CAAWp2E,CAAC,CAACy0O,MAAb,CAAX,CAAF;AAAmC,aAAnF,MAAwF92F,CAAC,GAACzhH,IAAI,CAACk6C,KAAL,CAAWp2E,CAAC,CAACy0O,MAAb,CAAF;;AAAuB,mBAAM,CAAC,CAAP;AAAS,WAA9Z,CAA+Zz0O,CAA/Z,EAAiaksL,CAAja,EAAmavuC,CAAna,CAAhB,MAAybhzI,CAAC,CAAC+2K,MAAF,CAAU1hL,CAAC,IAAE;AAAC,kBAAMuK,CAAC,GAACozI,CAAC,GAACuuC,CAAC,CAACxlG,GAAH,GAAOwlG,CAAC,CAACzlG,KAAlB;;AAAwB,gBAAGn8E,CAAH,EAAK;AAAC,oBAAMiC,CAAC,GAAC5B,CAAC,CAAC6yP,eAAF,CAAkBp7M,CAAC,CAACszJ,MAApB,CAAR;AAAoCnpM,cAAAA,CAAC,CAAC0rP,QAAF,CAAW1tP,CAAX,GAAcvK,CAAC,CAACm7P,YAAF,CAAe5uP,CAAf,CAAd;AAAgC,aAA1E,MAA+EvM,CAAC,CAACm7P,YAAF,CAAe5wP,CAAf;AAAkB,WAAvI,GAA0IA,CAAC,CAAC66E,IAAF,EAA1I,EAAmJ74E,CAAC,CAACgoC,cAAF,EAAnJ,EAAsKhoC,CAAC,CAACy9M,eAAF,EAA/lB;AAAonB;AAAC,OAAtxC;AAAuxC;;AAAA,aAAS8vF,EAAT,CAAY95S,CAAZ,EAAc2K,CAAd,EAAgBJ,CAAhB,EAAkB;AAAC,YAAMgC,CAAC,GAACvM,CAAC,CAAC2hP,MAAV;AAAA,YAAiBhrQ,CAAC,GAACqpB,CAAC,CAACu9P,aAAF,CAAgB5yP,CAAC,CAACnH,IAAlB,CAAnB;AAAA,YAA2CiJ,CAAC,GAAC,aAAWlC,CAAX,GAAa,cAAb,GAA4B,YAAzE;;AAAsF,WAAI,MAAK;AAACgrP,QAAAA,gBAAgB,EAACv1P,CAAlB;AAAoBxlB,QAAAA,IAAI,EAAC8vB,CAAzB;AAA2BrzB,QAAAA,IAAI,EAACmrE;AAAhC,OAAT,IAA8CzrE,CAAC,CAACm/Q,SAAF,CAAY;AAACnvK,QAAAA,aAAa,EAACh8E,CAAf;AAAiB+oM,QAAAA,SAAS,EAACnpM;AAA3B,OAAZ,CAA9C,EAAyF;AAAC,YAAGgC,CAAC,CAAC8rQ,OAAF,CAAU/tQ,CAAV,KAAc,CAACiC,CAAC,CAACsuQ,QAAF,CAAWvwQ,CAAX,CAAlB,EAAgC,OAAOtK,CAAP;AAAS,YAAGoiD,CAAC,IAAE31C,CAAH,IAAMF,CAAC,CAAC4rQ,OAAF,CAAU7tQ,CAAV,CAAT,EAAsB,OAAO,IAAP;AAAY;;AAAA,aAAO,IAAP;AAAY;;AAAA,aAASyvS,EAAT,CAAY/5S,CAAZ,EAAc2K,CAAd,EAAgBJ,CAAhB,EAAkB;AAAC,YAAMgC,CAAC,GAAC,cAAYhC,CAAZ,GAAcI,CAAC,CAAC+7E,GAAhB,GAAoB/7E,CAAC,CAAC87E,KAA9B;AAAoC,UAAGzmF,CAAC,CAAC27Q,UAAF,CAAapvQ,CAAb,EAAe,OAAf,CAAH,EAA2B,OAAOA,CAAP;;AAAS,WAAI,MAAK;AAACipP,QAAAA,YAAY,EAACjpP;AAAd,OAAT,IAA4B5B,CAAC,CAACmrP,SAAF,CAAY;AAACpiD,QAAAA,SAAS,EAACnpM;AAAX,OAAZ,CAA5B,EAAuD,IAAGvK,CAAC,CAAC27Q,UAAF,CAAapvQ,CAAb,EAAe,OAAf,CAAH,EAA2B,OAAOA,CAAP;;AAAS,aAAO,IAAP;AAAY;;AAAA,QAAIytS,EAAE,GAACzvS,CAAC,CAAC,IAAD,CAAR;AAAA,QAAe0vS,EAAE,GAAC;AAACh7D,MAAAA,UAAU,EAAC,mBAAZ;AAAgCh7J,MAAAA,UAAU,EAAC;AAAC,oBAAW,CAAC;AAAb,OAA3C;AAA2DqC,MAAAA,MAAM,EAAC,MAAlE;AAAyEy9I,MAAAA,SAAS,EAAC,CAAC;AAApF,KAAlB;AAAyG+a,IAAAA,EAAE,GAAGk7D,EAAE,CAACz3E,CAAN,EAAQ03E,EAAR,CAAF;AAAcD,IAAAA,EAAE,CAACz3E,CAAH,CAAK2c,MAAL;;AAAY,UAAMg7D,EAAN,SAAiB7wD,EAAjB,CAAmB;AAAC5pR,MAAAA,WAAW,GAAE;AAAC,cAAM,GAAG+qC,SAAT,GAAoB,KAAK2vS,mBAAL,GAAyB,IAAItoO,GAAJ,EAA7C;AAAqD;;AAAqB,iBAAVg5K,UAAU,GAAE;AAAC,eAAM,QAAN;AAAe;;AAAmB,iBAARE,QAAQ,GAAE;AAAC,eAAM,CAACstD,EAAD,EAAIzE,EAAJ,CAAN;AAAc;;AAAAryU,MAAAA,IAAI,GAAE;AAAC,cAAMy+B,CAAC,GAAC,KAAKgiF,MAAb;AAAA,cAAoBr3E,CAAC,GAAC3K,CAAC,CAACu1R,OAAF,CAAUz/G,IAAhC;AAAA,cAAqCvrK,CAAC,GAACI,CAAC,CAACjJ,QAAzC;AAAkD,aAAKsgF,MAAL,CAAYuzM,OAAZ,CAAoBnX,kBAApB,CAAuC38R,EAAvC,CAA0C,WAA1C,EAAuD,CAACkpB,CAAD,EAAGJ,CAAH,EAAKgC,CAAL,KAAS;AAAC,gBAAM51B,CAAC,GAAC41B,CAAC,CAACg5E,MAAV;AAAA,gBAAiB94E,CAAC,GAAClC,CAAC,CAACu/O,SAArB;AAA+B,cAAGr9O,CAAC,CAACupP,WAAL,EAAiB;AAAO,gBAAM1rP,CAAC,GAACmC,CAAC,CAACkrP,kBAAF,EAAR;AAA+B,cAAG,CAACrtP,CAAJ,EAAM;AAAO,gBAAM83C,CAAC,GAACpiD,CAAC,CAACu1R,OAAF,CAAUrhB,MAAV,CAAiBV,aAAjB,CAA+BlpQ,CAA/B,CAAR;AAA0C,cAAIqzI,CAAJ;AAAM05J,UAAAA,EAAE,CAACj1P,CAAD,CAAF,IAAQ71C,CAAC,CAAC6pQ,UAAF,CAAavB,OAAb,CAAqBpoQ,CAArB,EAAuB,WAAvB,KAAqC91B,CAAC,CAACwkR,YAAF,CAAexkR,CAAC,CAAC2mR,aAAF,CAAgBl7M,CAAhB,CAAf,EAAkC;AAAC21M,YAAAA,IAAI,EAAC,CAAC,CAAP;AAASrsP,YAAAA,KAAK,GAAEiyI,CAAC,GAACv7F,CAAF,EAAIu7F,CAAC,CAAC21G,iBAAF,CAAoB,aAApB,EAAmCn8K,MAAnC,CAA2C,CAACn3E,CAAD,EAAG2K,CAAH,KAAO,cAAY,OAAOA,CAAnB,GAAqB3K,CAAC,GAACA,CAAC,GAAC,IAAF,GAAO2K,CAAC,EAAT,GAAYA,CAAC,EAAnC,GAAsC3K,CAAC,GAACA,CAAC,GAAC,IAAF,GAAO2K,CAAR,GAAUA,CAAnG,EAAsG,EAAtG,CAAN;AAAd,WAAlC,CAA7C;AAAiN,SAAra,GAAwa,KAAKq3E,MAAL,CAAYuzM,OAAZ,CAAoBnX,kBAApB,CAAuC38R,EAAvC,CAA0C,WAA1C,EAAuD,CAACue,CAAD,EAAG2K,CAAH,EAAKJ,CAAL,KAAS;AAAC,eAAK6vS,+BAAL,CAAqC7vS,CAAC,CAACg7E,MAAvC;;AAA+C,gBAAMh5E,CAAC,GAAChC,CAAC,CAACg7E,MAAV;AAAA,gBAAiB5uG,CAAC,GAAC41B,CAAC,CAAC7K,QAAF,CAAWooP,SAA9B;AAAwC,cAAIr9O,CAAC,GAAC,IAAN;;AAAW,eAAI,MAAMzM,CAAV,IAAerpB,CAAC,CAAC4gR,SAAF,EAAf,EAA6B,KAAI,MAAM5sP,CAAV,IAAe3K,CAAf,EAAiB;AAAC,kBAAMA,CAAC,GAAC2K,CAAC,CAACnwB,IAAV;AAAe68T,YAAAA,EAAE,CAACr3S,CAAD,CAAF,IAAO,CAACq6S,EAAE,CAACr6S,CAAD,EAAGyM,CAAH,CAAV,KAAkBF,CAAC,CAACqgP,QAAF,CAAWwqD,EAAX,EAAcp3S,CAAd,GAAiB,KAAKm6S,mBAAL,CAAyBvlT,GAAzB,CAA6BoL,CAA7B,CAAjB,EAAiDyM,CAAC,GAACzM,CAArE;AAAwE;AAAC,SAA1S,EAA4S;AAAC2lF,UAAAA,QAAQ,EAAC;AAAV,SAA5S,CAAxa,EAAsuBh7E,CAAC,CAACyjQ,WAAF,CAAcsmB,EAAd,CAAtuB,EAAwvB,KAAKlvD,QAAL,CAAcj7N,CAAd,EAAgB,WAAhB,EAA6B,CAAC,GAAGvK,CAAJ,KAAQ,KAAKs6S,YAAL,CAAkB,GAAGt6S,CAArB,CAArC,CAAxvB,EAAuzB,KAAKwlO,QAAL,CAAcj7N,CAAd,EAAgB,UAAhB,EAA4B,CAAC,GAAGvK,CAAJ,KAAQ;AAAC,eAAKu6S,qCAAL,CAA2C,GAAGv6S,CAA9C;AAAiD,SAAtF,EAAwF;AAAC1vB,UAAAA,OAAO,EAAC,CAAC+mU,EAAD,EAAI,OAAJ;AAAT,SAAxF,CAAvzB,EAAu6B,KAAK7xE,QAAL,CAAcj7N,CAAd,EAAgB,UAAhB,EAA4B,CAAC,GAAGvK,CAAJ,KAAQ;AAAC,eAAKw6S,8BAAL,CAAoC,GAAGx6S,CAAvC;AAA0C,SAA/E,EAAiF;AAAC1vB,UAAAA,OAAO,EAAC;AAAT,SAAjF,CAAv6B,EAA2gC,KAAKk1P,QAAL,CAAcj7N,CAAd,EAAgB,UAAhB,EAA2BsvS,EAAE,CAAC,KAAK73N,MAAL,CAAYuzM,OAAb,CAA7B,EAAmD;AAACjlT,UAAAA,OAAO,EAAC;AAAT,SAAnD,CAA3gC,EAAilC,KAAKk1P,QAAL,CAAcj7N,CAAd,EAAgB,QAAhB,EAA0B,CAACvK,CAAD,EAAG2K,CAAH,KAAO;AAAC,eAAK8vS,aAAL,CAAmB,aAAW9vS,CAAC,CAAC+oM,SAAhC,MAA6C/oM,CAAC,CAAC4pC,cAAF,IAAmBv0C,CAAC,CAAColF,IAAF,EAAhE;AAA0E,SAA5G,EAA8G;AAAC90G,UAAAA,OAAO,EAAC;AAAT,SAA9G,CAAjlC;AAAktC;;AAAAgqU,MAAAA,YAAY,CAACt6S,CAAD,EAAG2K,CAAH,EAAK;AAAC,cAAMJ,CAAC,GAAC,KAAKy3E,MAAb;AAAA,cAAoBz1E,CAAC,GAAChC,CAAC,CAACgrR,OAAF,CAAUz/G,IAAhC;AAAA,cAAqCrpK,CAAC,GAACF,CAAC,CAAC7K,QAAzC;AAAkD,YAAI4I,CAAC,GAACK,CAAC,CAACijB,MAAR;AAAe,YAAGjjB,CAAC,CAACq9P,QAAF,CAAWzxR,MAAX,IAAmB,CAAtB,EAAwB,OAAO,MAAK,KAAKmkU,mBAAL,CAAyBpwS,CAAzB,KAA6BK,CAAC,CAAC4pC,cAAF,EAAlC,CAAP;AAA6D,YAAG,UAASv0C,CAAT,EAAW;AAAC,cAAI2K,CAAC,GAAC3K,CAAN;;AAAQ,iBAAK2K,CAAL,GAAQ;AAAC,gBAAGA,CAAC,CAACkgF,EAAF,CAAK,iBAAL,KAAyB,CAAClgF,CAAC,CAACkgF,EAAF,CAAK,aAAL,CAA7B,EAAiD,OAAM,CAAC,CAAP;AAAS,gBAAGwsN,EAAE,CAAC1sS,CAAD,CAAL,EAAS,OAAM,CAAC,CAAP;AAASA,YAAAA,CAAC,GAACA,CAAC,CAACw2C,MAAJ;AAAW;;AAAA,iBAAM,CAAC,CAAP;AAAS,SAA7H,CAA8H72C,CAA9H,CAAH,EAAoI;AAAO,YAAG,CAAC+sS,EAAE,CAAC/sS,CAAD,CAAH,KAASA,CAAC,GAACA,CAAC,CAAC+oP,YAAF,CAAegkD,EAAf,CAAF,EAAqB,CAAC/sS,CAA/B,CAAH,EAAqC;AAAO3zB,QAAAA,CAAC,CAAC2tP,SAAF,IAAa35N,CAAC,CAAC4pC,cAAF,EAAb,EAAgC9nC,CAAC,CAACmxO,SAAF,IAAarxO,CAAC,CAACymC,KAAF,EAA7C;AAAuD,cAAMoP,CAAC,GAAC73C,CAAC,CAACgrR,OAAF,CAAUrhB,MAAV,CAAiBb,cAAjB,CAAgC/oQ,CAAhC,CAAR;;AAA2C,aAAKqvS,wBAAL,CAA8Bv3P,CAA9B;AAAiC;;AAAAs4P,MAAAA,mBAAmB,CAAC16S,CAAD,EAAG;AAAC,cAAM2K,CAAC,GAAC,KAAKq3E,MAAb;AAAA,cAAoBz3E,CAAC,GAACI,CAAC,CAACpuB,KAAxB;AAAA,cAA8BgwB,CAAC,GAAC5B,CAAC,CAAC4qR,OAAF,CAAUrhB,MAA1C;AAAA,cAAiDv9R,CAAC,GAAC4zB,CAAC,CAACo3O,MAArD;AAAA,cAA4Dl1O,CAAC,GAACF,CAAC,CAAC2mQ,sBAAF,CAAyB,KAAKlxL,MAAL,CAAYuzM,OAAZ,CAAoBz/G,IAApB,CAAyBqnF,gBAAzB,CAA0Cn9P,CAA1C,EAA4C,CAA5C,CAAzB,CAA9D;AAAA,cAAuIsK,CAAC,GAAC,UAAStK,CAAT,EAAW2K,CAAX,EAAa;AAAC,eAAI,MAAMJ,CAAV,IAAevK,CAAC,CAACitP,YAAF,CAAe;AAACC,YAAAA,WAAW,EAAC,CAAC,CAAd;AAAgBC,YAAAA,WAAW,EAAC,CAAC;AAA7B,WAAf,CAAf,EAA+D;AAAC,gBAAGxiP,CAAC,CAACgxQ,UAAF,CAAapxQ,CAAb,EAAe,OAAf,CAAH,EAA2B,OAAOA,CAAP;AAAS,gBAAGI,CAAC,CAAC0tQ,OAAF,CAAU9tQ,CAAV,KAAc,CAACI,CAAC,CAAC09E,QAAF,CAAW99E,CAAX,CAAlB,EAAgC;AAAM;;AAAA,iBAAO,IAAP;AAAY,SAApK,CAAqKgC,CAAC,CAAC8mQ,cAAF,CAAiB5mQ,CAAjB,CAArK,EAAyLlC,CAAC,CAACo3O,MAA3L,CAAzI;;AAA4U,eAAM,CAAC,CAACr3O,CAAF,KAAMC,CAAC,CAACm3K,MAAF,CAAU1hL,CAAC,IAAE;AAAC,gBAAM2K,CAAC,GAACh0B,CAAC,CAAC0hS,OAAF,CAAU/tQ,CAAV,IAAa,IAAb,GAAkB,UAAStK,CAAT,EAAW2K,CAAX,EAAa;AAAC,kBAAMJ,CAAC,GAAC,IAAI2lQ,EAAJ,CAAO;AAACvpL,cAAAA,aAAa,EAAC3mF;AAAf,aAAP,CAAR;;AAAkC,iBAAI,MAAK;AAACxlB,cAAAA,IAAI,EAACwlB;AAAN,aAAT,IAAoBuK,CAApB,EAAsB;AAAC,kBAAGI,CAAC,CAAC0tQ,OAAF,CAAUr4Q,CAAV,KAAc,CAACA,CAAC,CAAC6qF,EAAF,CAAK,SAAL,CAAlB,EAAkC,OAAO,IAAP;AAAY,kBAAGlgF,CAAC,CAACgxQ,UAAF,CAAa37Q,CAAb,EAAe,OAAf,CAAH,EAA2B,OAAOA,CAAP;AAAS;;AAAA,mBAAO,IAAP;AAAY,WAArK,CAAsKA,CAAC,CAACo9P,mBAAF,CAAsB9yP,CAAtB,CAAtK,EAA+L3zB,CAA/L,CAA1B;AAAA,gBAA4N4zB,CAAC,GAACvK,CAAC,CAACm9P,gBAAF,CAAmB7yP,CAAnB,EAAqB,CAArB,CAA9N;AAAA,gBAAsPiC,CAAC,GAAC5B,CAAC,GAAC3K,CAAC,CAACm9P,gBAAF,CAAmBxyP,CAAnB,EAAqB,CAArB,CAAD,GAAyB3K,CAAC,CAACm9P,gBAAF,CAAmB7yP,CAAnB,EAAqB,KAArB,CAAlR;AAA8StK,UAAAA,CAAC,CAACm7P,YAAF,CAAen7P,CAAC,CAACgnF,WAAF,CAAcz8E,CAAd,EAAgBgC,CAAhB,CAAf;AAAmC,SAA/V,GAAkW,CAAC,CAAzW,CAAN;AAAkX;;AAAAguS,MAAAA,qCAAqC,CAACv6S,CAAD,EAAG2K,CAAH,EAAK;AAAC,cAAMJ,CAAC,GAACI,CAAC,CAAC0wO,OAAV;AAAA,cAAkB9uO,CAAC,GAAC,KAAKy1E,MAAL,CAAYzlG,KAAhC;AAAA,cAAsC5F,CAAC,GAAC41B,CAAC,CAACo1O,MAA1C;AAAA,cAAiDl1O,CAAC,GAACF,CAAC,CAAC7K,QAAF,CAAWooP,SAA9D;AAAA,cAAwEx/O,CAAC,GAACmC,CAAC,CAACkrP,kBAAF,EAA1E;AAAA,cAAiGv1M,CAAC,GAACiwI,EAAE,CAAC9nL,CAAD,EAAG,KAAKy3E,MAAL,CAAYm1G,MAAZ,CAAmBglD,wBAAtB,CAArG;AAAA,cAAqJx+F,CAAC,GAAC,UAAQv7F,CAAR,IAAW,WAASA,CAA3K;AAAA,cAA6K8pI,CAAC,GAAC,QAAM9pI,CAAN,IAAS,UAAQA,CAAhM;;AAAkM,YAAG93C,CAAC,IAAE3zB,CAAC,CAAC0xG,QAAF,CAAW/9E,CAAX,CAAN,EAAoB;AAAC,gBAAMC,CAAC,GAACozI,CAAC,GAAClxI,CAAC,CAACirP,eAAF,EAAD,GAAqBjrP,CAAC,CAACs9O,gBAAF,EAA9B;AAAA,gBAAmDz/O,CAAC,GAAC3zB,CAAC,CAACikS,wBAAF,CAA2BrwQ,CAA3B,EAA6BozI,CAAC,GAAC,SAAD,GAAW,UAAzC,CAArD;AAA0G,iBAAO,MAAKrzI,CAAC,KAAGiC,CAAC,CAACm1K,MAAF,CAAU1hL,CAAC,IAAE;AAACA,YAAAA,CAAC,CAACm7P,YAAF,CAAe7wP,CAAf;AAAkB,WAAhC,GAAmCK,CAAC,CAAC4pC,cAAF,EAAnC,EAAsDv0C,CAAC,CAAColF,IAAF,EAAzD,CAAN,CAAP;AAAiF;;AAAA,YAAG,CAAC34E,CAAC,CAACupP,WAAH,IAAgB,CAACrrP,CAAC,CAAC6wO,QAAtB,EAA+B;AAAC,gBAAMjxO,CAAC,GAACkC,CAAC,CAACs9O,gBAAF,EAAR;AAAA,gBAA6Bz/O,CAAC,GAACmC,CAAC,CAACirP,eAAF,EAA/B;AAAA,gBAAmDt1M,CAAC,GAAC73C,CAAC,CAACkrP,SAAvD;AAAA,gBAAiEvpE,CAAC,GAAC5hL,CAAC,CAACorP,UAArE;AAAgF,iBAAO,MAAK,CAACtzM,CAAC,IAAEzrE,CAAC,CAAC0xG,QAAF,CAAWjmC,CAAX,CAAH,IAAkB8pI,CAAC,IAAEv1M,CAAC,CAAC0xG,QAAF,CAAW6jG,CAAX,CAAtB,MAAuC3/K,CAAC,CAACm1K,MAAF,CAAU1hL,CAAC,IAAE;AAACA,YAAAA,CAAC,CAACm7P,YAAF,CAAex9G,CAAC,GAACrzI,CAAD,GAAGC,CAAnB;AAAsB,WAApC,GAAuCI,CAAC,CAAC4pC,cAAF,EAAvC,EAA0Dv0C,CAAC,CAAColF,IAAF,EAAjG,CAAL,CAAP;AAAwH;;AAAA,YAAG,CAAC34E,CAAC,CAACupP,WAAN,EAAkB;;AAAO,cAAMpsP,CAAC,GAAC,KAAK8vS,gCAAL,CAAsC/7J,CAAtC,CAAR;;AAAiD,YAAG/zI,CAAC,IAAEjzB,CAAC,CAAC0xG,QAAF,CAAWz+E,CAAX,CAAN,EAAoB;AAAC,cAAGjzB,CAAC,CAACkkS,QAAF,CAAWjxQ,CAAX,KAAesiL,CAAlB,EAAoB;AAAO,eAAKytH,wBAAL,CAA8B/vS,CAA9B,GAAiCe,CAAC,CAAC4pC,cAAF,EAAjC,EAAoDv0C,CAAC,CAAColF,IAAF,EAApD;AAA6D;AAAC;;AAAAo1N,MAAAA,8BAA8B,CAACx6S,CAAD,EAAG2K,CAAH,EAAK;AAAC,cAAMJ,CAAC,GAAC,KAAKy3E,MAAL,CAAYzlG,KAApB;AAAA,cAA0BgwB,CAAC,GAAChC,CAAC,CAACo3O,MAA9B;AAAA,cAAqChrQ,CAAC,GAAC4zB,CAAC,CAAC7I,QAAF,CAAWooP,SAAX,CAAqB6N,kBAArB,EAAvC;AAAiFhhR,QAAAA,CAAC,IAAE41B,CAAC,CAAC87E,QAAF,CAAW1xG,CAAX,CAAH,KAAmBg0B,CAAC,CAAC4pC,cAAF,IAAmBv0C,CAAC,CAAColF,IAAF,EAAtC;AAAgD;;AAAAq1N,MAAAA,aAAa,CAACz6S,CAAD,EAAG;AAAC,cAAM2K,CAAC,GAAC,KAAKq3E,MAAL,CAAYzlG,KAAZ,CAAkBmlB,QAAlB,CAA2BooP,SAAnC;AAA6C,YAAG,CAAC,KAAK9nK,MAAL,CAAYzlG,KAAZ,CAAkBytQ,SAAlB,CAA4Br/O,CAA5B,CAAJ,EAAmC;AAAO,YAAG,CAACA,CAAC,CAACqrP,WAAN,EAAkB;;AAAO,cAAMzrP,CAAC,GAAC,KAAKmvS,gCAAL,CAAsC15S,CAAtC,CAAR;;AAAiD,eAAOuK,CAAC,IAAE,KAAKy3E,MAAL,CAAYzlG,KAAZ,CAAkBmlM,MAAlB,CAA0B1hL,CAAC,IAAE;AAAC,cAAIuM,CAAC,GAAC5B,CAAC,CAAC+qM,MAAF,CAASv0J,MAAf;;AAAsB,iBAAK50C,CAAC,CAAC8J,OAAP,GAAgB;AAAC,kBAAM1L,CAAC,GAAC4B,CAAR;AAAUA,YAAAA,CAAC,GAAC5B,CAAC,CAACw2C,MAAJ,EAAWnhD,CAAC,CAACigF,MAAF,CAASt1E,CAAT,CAAX;AAAuB;;AAAA,eAAKgvS,wBAAL,CAA8BpvS,CAA9B;AAAiC,SAAvI,GAA0I,CAAC,CAA7I,IAAgJ,KAAK,CAA7J;AAA+J;;AAAAovS,MAAAA,wBAAwB,CAAC35S,CAAD,EAAG;AAAC,aAAKgiF,MAAL,CAAYzlG,KAAZ,CAAkBmlM,MAAlB,CAA0B/2K,CAAC,IAAE;AAACA,UAAAA,CAAC,CAACwwP,YAAF,CAAexwP,CAAC,CAAC2yP,aAAF,CAAgBt9P,CAAhB,CAAf;AAAmC,SAAjE;AAAoE;;AAAA05S,MAAAA,gCAAgC,CAAC15S,CAAD,EAAG;AAAC,cAAM2K,CAAC,GAAC,KAAKq3E,MAAL,CAAYzlG,KAApB;AAAA,cAA0BguB,CAAC,GAACI,CAAC,CAACg3O,MAA9B;AAAA,cAAqCp1O,CAAC,GAAC5B,CAAC,CAACjJ,QAAF,CAAWooP,SAAlD;AAAA,cAA4DnzQ,CAAC,GAACg0B,CAAC,CAAC6yP,eAAF,CAAkBjxP,CAAlB,CAA9D;AAAmF,YAAG5B,CAAC,CAAC2mR,eAAF,CAAkB36S,CAAlB,EAAoB;AAAC+8N,UAAAA,SAAS,EAAC1zM,CAAC,GAAC,SAAD,GAAW;AAAvB,SAApB,GAAwDrpB,CAAC,CAACo/P,OAAF,CAAUxpO,CAAV,CAA3D,EAAwE,OAAO,IAAP;AAAY,cAAME,CAAC,GAACzM,CAAC,GAACrpB,CAAC,CAACq8D,KAAF,CAAQ0iN,UAAT,GAAoB/+Q,CAAC,CAACq8D,KAAF,CAAQyiN,SAArC;AAA+C,eAAOhpP,CAAC,IAAElC,CAAC,CAAC89E,QAAF,CAAW57E,CAAX,CAAH,GAAiBA,CAAjB,GAAmB,IAA1B;AAA+B;;AAAA2tS,MAAAA,+BAA+B,CAACp6S,CAAD,EAAG;AAAC,aAAI,MAAM2K,CAAV,IAAe,KAAKwvS,mBAApB,EAAwCn6S,CAAC,CAACysP,WAAF,CAAc2qD,EAAd,EAAiBzsS,CAAjB;;AAAoB,aAAKwvS,mBAAL,CAAyBz7R,KAAzB;AAAiC;;AAA75I;;AAA85I,aAAS27R,EAAT,CAAYr6S,CAAZ,EAAc2K,CAAd,EAAgB;AAAC,aAAM,CAAC,CAACA,CAAF,IAAKxF,KAAK,CAAC7H,IAAN,CAAW0C,CAAC,CAACitP,YAAF,EAAX,EAA6B9gR,QAA7B,CAAsCw+B,CAAtC,CAAX;AAAoD;;AAAA03C,IAAAA,CAAC;AAAGA,IAAAA,CAAC;AAAG,QAAIs4P,EAAE,GAACpwS,CAAC,CAAC,IAAD,CAAR;AAAA,QAAeqwS,EAAE,GAAC;AAAC37D,MAAAA,UAAU,EAAC,mBAAZ;AAAgCh7J,MAAAA,UAAU,EAAC;AAAC,oBAAW,CAAC;AAAb,OAA3C;AAA2DqC,MAAAA,MAAM,EAAC,MAAlE;AAAyEy9I,MAAAA,SAAS,EAAC,CAAC;AAApF,KAAlB;AAAyG+a,IAAAA,EAAE,GAAG67D,EAAE,CAACp4E,CAAN,EAAQq4E,EAAR,CAAF;AAAcD,IAAAA,EAAE,CAACp4E,CAAH,CAAK2c,MAAL;AAAY,UAAM1qD,EAAE,GAACkjD,EAAE,CAAC,IAAD,CAAX;;AAAkB,UAAMmjE,EAAN,SAAiB17D,EAAjB,CAAmB;AAAC1/Q,MAAAA,WAAW,GAAE;AAAC;AAAQ,cAAMugC,CAAC,GAAC,KAAKu/O,YAAb;AAA0B,aAAKz6O,GAAL,CAAS;AAACq2R,UAAAA,SAAS,EAAC,CAAC,CAAZ;AAAc/mP,UAAAA,IAAI,EAAC,IAAnB;AAAwBF,UAAAA,GAAG,EAAC,IAA5B;AAAiCH,UAAAA,KAAK,EAAC;AAAvC,SAAT,GAAuD,KAAK6rM,WAAL,CAAiB;AAACsB,UAAAA,GAAG,EAAC,KAAL;AAAWj9J,UAAAA,UAAU,EAAC;AAACm/J,YAAAA,KAAK,EAAC,CAAC,IAAD,EAAM,+BAAN,EAAsCpjP,CAAC,CAAC8gP,EAAF,CAAK,WAAL,EAAiB,WAAjB,EAA8B9gP,CAAC,IAAE,CAACA,CAAlC,CAAtC,CAAP;AAAoFu7C,YAAAA,KAAK,EAAC;AAACnH,cAAAA,IAAI,EAACp0C,CAAC,CAACysJ,EAAF,CAAK,MAAL,EAAazsJ,CAAC,IAAEw0L,EAAE,CAACx0L,CAAD,CAAlB,CAAN;AAA8Bk0C,cAAAA,GAAG,EAACl0C,CAAC,CAACysJ,EAAF,CAAK,KAAL,EAAYzsJ,CAAC,IAAEw0L,EAAE,CAACx0L,CAAD,CAAjB,CAAlC;AAAyD+zC,cAAAA,KAAK,EAAC/zC,CAAC,CAACysJ,EAAF,CAAK,OAAL,EAAczsJ,CAAC,IAAEw0L,EAAE,CAACx0L,CAAD,CAAnB;AAA/D;AAA1F;AAAtB,SAAjB,CAAvD;AAAoR;;AAArU;;AAAsU,UAAM86S,EAAN,SAAiBzxD,EAAjB,CAAmB;AAAC5pR,MAAAA,WAAW,GAAE;AAAC,cAAM,GAAG+qC,SAAT,GAAoB,KAAKuwS,uBAAL,GAA6B98D,EAAE,CAAE,MAAI,KAAK+8D,gBAAL,EAAN,EAA+B,EAA/B,CAAnD,EAAsF,KAAKC,0BAAL,GAAgC9U,EAAE,CAAEnmS,CAAC,IAAE,KAAKk7S,iBAAL,CAAuBl7S,CAAvB,CAAL,EAAgC,EAAhC,CAAxH,EAA4J,KAAKm7S,yBAAL,GAA+BhV,EAAE,CAAE,MAAI;AAAC,eAAKnkN,MAAL,CAAYzlG,KAAZ,CAAkBqnG,OAAlB,CAA0B90D,GAA1B,CAA8B,aAA9B,KAA8C,KAAKkzD,MAAL,CAAYuzM,OAAZ,CAAoBlX,eAApB,CAAoC,aAApC,CAA9C;AAAiG,SAAxG,EAA0G,CAA1G,CAA7L,EAA0S,KAAK+8B,mBAAL,GAAyB,IAAIP,EAAJ,EAAnU,EAA0U,KAAKQ,WAAL,GAAiB,KAAIjoE,EAAE,EAAN,GAA3V,EAAqW,KAAKkoE,YAAL,GAAkB,IAAIrsS,GAAJ,EAAvX;AAA+X;;AAAqB,iBAAV47O,UAAU,GAAE;AAAC,eAAM,gBAAN;AAAuB;;AAAAtpR,MAAAA,IAAI,GAAE;AAAC,aAAKg6U,gBAAL;AAAwB;;AAAA58N,MAAAA,OAAO,GAAE;AAAC,aAAK08N,WAAL,CAAiB31E,aAAjB;;AAAiC,aAAI,MAAK;AAACi0D,UAAAA,cAAc,EAAC35R;AAAhB,SAAT,IAA8B,KAAKs7S,YAAL,CAAkBj6R,MAAlB,EAA9B,EAAyDrhB,CAAC,CAAC2+E,OAAF;;AAAY,eAAO,KAAKs8N,0BAAL,CAAgC33N,MAAhC,IAAyC,KAAKy3N,uBAAL,CAA6Bz3N,MAA7B,EAAzC,EAA+E,KAAK63N,yBAAL,CAA+B73N,MAA/B,EAA/E,EAAuH,MAAM3E,OAAN,EAA9H;AAA8I;;AAAA68N,MAAAA,gBAAgB,CAACx7S,CAAD,EAAG2K,CAAH,EAAKJ,CAAL,EAAOgC,CAAP,EAAS51B,CAAT,EAAW81B,CAAX,EAAa;AAAC,aAAKsuS,uBAAL,CAA6Bz3N,MAA7B;AAAsC,cAAMh5E,CAAC,GAACunG,EAAE,CAAC,KAAK7vB,MAAN,EAAahiF,CAAb,EAAe2K,CAAf,EAAiBJ,CAAjB,EAAmBgC,CAAnB,EAAqB51B,CAArB,EAAuB81B,CAAvB,CAAV;AAAoC,YAAGnC,CAAH,EAAK,OAAOmC,CAAC,IAAEA,CAAC,CAAC6pP,aAAF,CAAgBhsP,CAAhB,CAAH,GAAsB,KAAK0wS,gBAAL,EAAtB,GAA8C,KAAK,KAAKC,0BAAL,CAAgC3wS,CAAhC,CAA1D;AAA6F;;AAAAmxS,MAAAA,iBAAiB,CAACz7S,CAAD,EAAG2K,CAAH,EAAKJ,CAAL,EAAOgC,CAAP,EAAS51B,CAAT,EAAW81B,CAAX,EAAa;AAAC,cAAMnC,CAAC,GAACunG,EAAE,CAAC,KAAK7vB,MAAN,EAAahiF,CAAb,EAAe2K,CAAf,EAAiBJ,CAAjB,EAAmBgC,CAAnB,EAAqB51B,CAArB,EAAuB81B,CAAvB,CAAV;AAAoC,eAAO,KAAKuuS,gBAAL,IAAwB1wS,CAA/B;AAAiC;;AAAA0wS,MAAAA,gBAAgB,GAAE;AAAC,cAAMh7S,CAAC,GAAC,KAAKgiF,MAAL,CAAYzlG,KAApB;AAA0B,aAAKw+T,uBAAL,CAA6Bz3N,MAA7B,IAAsC,KAAK23N,0BAAL,CAAgC33N,MAAhC,EAAtC,EAA+E,KAAK83N,mBAAL,CAAyBjgB,SAAzB,GAAmC,CAAC,CAAnH,EAAqHn7R,CAAC,CAAC4jF,OAAF,CAAU90D,GAAV,CAAc,aAAd,KAA8B9uB,CAAC,CAAC0hL,MAAF,CAAU1hL,CAAC,IAAE;AAACA,UAAAA,CAAC,CAACuuR,YAAF,CAAe,aAAf;AAA8B,SAA5C,CAAnJ;AAAkM;;AAAAgtB,MAAAA,gBAAgB,GAAE;AAAC,cAAMv7S,CAAC,GAAC,KAAKgiF,MAAb;AAAoBhiF,QAAAA,CAAC,CAACklF,EAAF,CAAK4wF,IAAL,CAAUz+L,IAAV,CAAeud,GAAf,CAAmB,KAAKwmT,mBAAxB,GAA6Cp7S,CAAC,CAACk5N,UAAF,CAAaxe,GAAb,CAAiB,iBAAjB,EAAoC0hE,iBAApC,CAAsD;AAAC7/R,UAAAA,KAAK,EAAC,aAAP;AAAqBu5L,UAAAA,IAAI,EAAC;AAACs4E,YAAAA,OAAO,EAAC,CAAC,gCAAD;AAAT;AAA1B,SAAtD,CAA7C,EAA4KpuP,CAAC,CAACk5N,UAAF,CAAaxe,GAAb,CAAiB,iBAAjB,EAAoCwhE,eAApC,CAAoD;AAAC3/R,UAAAA,KAAK,EAAC,aAAP;AAAqBu5L,UAAAA,IAAI,EAAC,CAACnrK,CAAD,EAAG;AAAC46E,YAAAA,MAAM,EAACh7E;AAAR,WAAH,KAAgB;AAAC,gBAAGvK,CAAC,CAACzjB,KAAF,CAAQolQ,MAAR,CAAeg6B,UAAf,CAA0BhxQ,CAAC,CAAC8rQ,WAAF,CAAchwL,KAAxC,EAA8C,OAA9C,CAAH,EAA0D,OAAO,KAAK20N,mBAAL,CAAyBjgB,SAAzB,GAAmC,CAAC,CAApC,EAAsC,KAAKugB,yBAAL,CAA+BnxS,CAA/B,CAA7C;AAA+EI,YAAAA,CAAC,CAAC8rQ,WAAF,CAAczgB,WAAd,GAA0B,KAAK2lD,qBAAL,CAA2BhxS,CAAC,CAAC8rQ,WAA7B,CAA1B,GAAoE,KAAK2kC,mBAAL,CAAyBjgB,SAAzB,GAAmC,CAAC,CAAxG;AAA0G;AAA9R,SAApD,CAA5K;AAAigB;;AAAA+f,MAAAA,iBAAiB,CAACl7S,CAAD,EAAG;AAAC,cAAM2K,CAAC,GAAC,KAAKq3E,MAAb;AAAA,cAAoBz3E,CAAC,GAACI,CAAC,CAACpuB,KAAF,CAAQqnG,OAA9B;AAAsCj5E,QAAAA,CAAC,CAACpuB,KAAF,CAAQmlM,MAAR,CAAgB/2K,CAAC,IAAE;AAACJ,UAAAA,CAAC,CAACukB,GAAF,CAAM,aAAN,IAAqBvkB,CAAC,CAAC9pC,GAAF,CAAM,aAAN,EAAqB8jH,QAArB,GAAgCwxJ,OAAhC,CAAwC/1O,CAAxC,KAA4C2K,CAAC,CAACklR,YAAF,CAAe,aAAf,EAA6B;AAAC9oM,YAAAA,KAAK,EAAC/mF;AAAP,WAA7B,CAAjE,GAAyG2K,CAAC,CAACs8E,SAAF,CAAY,aAAZ,EAA0B;AAACF,YAAAA,KAAK,EAAC/mF,CAAP;AAASykF,YAAAA,cAAc,EAAC,CAAC,CAAzB;AAA2BE,YAAAA,WAAW,EAAC,CAAC;AAAxC,WAA1B,CAAzG;AAA+K,SAAnM;AAAsM;;AAAA+2N,MAAAA,yBAAyB,CAAC17S,CAAD,EAAG;AAAC,eAAOA,CAAC,CAAC07P,eAAF,CAAkB,MAAlB,EAAyB;AAACtY,UAAAA,KAAK,EAAC;AAAP,SAAzB,EAAyE,UAASpjP,CAAT,EAAW;AAAC,gBAAM2K,CAAC,GAAC,KAAKuvP,YAAL,CAAkBl6P,CAAlB,CAAR;AAA6B,iBAAO2K,CAAC,CAACmyC,MAAF,CAAS,GAAT,EAAa98C,CAAC,CAAC6G,aAAF,CAAgB,MAAhB,CAAb,EAAqC,GAArC,GAA0C8D,CAAjD;AAAmD,SAArK,CAAP;AAA+K;;AAAAgxS,MAAAA,qBAAqB,CAAC37S,CAAD,EAAG;AAAC,cAAM2K,CAAC,GAAC,KAAKq3E,MAAL,CAAYuzM,OAApB;AAAA,cAA4BhrR,CAAC,GAACvK,CAAC,CAACymF,KAAF,CAAQivK,UAAtC;AAAA,cAAiDnpP,CAAC,GAACvM,CAAC,CAACymF,KAAF,CAAQgvK,SAA3D;AAAA,cAAqE9+Q,CAAC,GAACqpB,CAAC,CAACymF,KAAF,CAAQtlC,MAA/E;AAAA,cAAsF10C,CAAC,GAAClC,CAAC,GAACI,CAAC,CAACupQ,MAAF,CAASV,aAAT,CAAuBjpQ,CAAvB,CAAD,GAA2B,IAApH;AAAA,cAAyHD,CAAC,GAACmC,CAAC,GAAC9B,CAAC,CAACmrK,IAAF,CAAO8kF,YAAP,CAAoBiF,YAApB,CAAiCpzP,CAAjC,CAAD,GAAqC,IAAjK;AAAA,cAAsK21C,CAAC,GAAC71C,CAAC,GAAC5B,CAAC,CAACupQ,MAAF,CAASV,aAAT,CAAuBjnQ,CAAvB,CAAD,GAA2B,IAApM;AAAA,cAAyMoxI,CAAC,GAACv7F,CAAC,GAACz3C,CAAC,CAACmrK,IAAF,CAAO8kF,YAAP,CAAoBiF,YAApB,CAAiCz9M,CAAjC,CAAD,GAAqC,IAAjP;AAAA,cAAsP8pI,CAAC,GAACvhL,CAAC,CAACupQ,MAAF,CAASV,aAAT,CAAuB78R,CAAvB,CAAxP;AAAA,cAAkRizB,CAAC,GAACe,CAAC,CAACmrK,IAAF,CAAO8kF,YAAP,CAAoBiF,YAApB,CAAiC3zE,CAAjC,CAApR;AAAA,cAAwTt1C,CAAC,GAAC,KAAKglK,kBAAL,CAAwB1vH,CAAxB,CAA1T;AAAA,cAAqV;AAAC+pD,UAAAA,OAAO,EAACnxP,CAAT;AAAWoxP,UAAAA,OAAO,EAAClsO;AAAnB,YAAsBkqO,EAAE,CAAC/0P,MAA9W;AAAA,cAAqX6sB,CAAC,GAAC1B,CAAC,GAAC,IAAIyqO,EAAJ,CAAOzqO,CAAP,CAAD,GAAW,IAAnY;AAAA,cAAwYkC,CAAC,GAACmxI,CAAC,GAAC,IAAIo3F,EAAJ,CAAOp3F,CAAP,CAAD,GAAW,IAAtZ;AAAA,cAA2Z7xI,CAAC,GAAC,IAAIipO,EAAJ,CAAOnrO,CAAP,EAAUwsO,2BAAV,EAA7Z;AAAA,cAAqcj0L,CAAC,GAACn2C,CAAC,GAACA,CAAC,CAACyoO,MAAH,GAAU3oO,CAAC,CAACooC,GAApd;AAAA,cAAwdrqC,CAAC,GAAC2C,CAAC,GAACA,CAAC,CAAC0nC,GAAH,GAAOpoC,CAAC,CAAC2oO,MAApe;AAAA,cAA2ermG,CAAC,GAAC8lG,EAAE,CAAC/0P,MAAH,CAAUm1P,gBAAV,CAA2B1qO,CAA3B,CAA7e;AAAA,cAA2gB6B,CAAC,GAAC02C,CAAC,IAAEt4C,CAAH,GAAK,CAACs4C,CAAC,GAACt4C,CAAH,IAAM,CAAX,GAAaA,CAA1hB;;AAA4hB,YAAG+sI,CAAC,CAAC1iG,GAAF,GAAMzoC,CAAN,IAASA,CAAC,GAACmrI,CAAC,CAAC69F,MAAhB,EAAuB;AAAC,gBAAMz0O,CAAC,GAAC8L,CAAC,CAACsoC,IAAF,GAAOggE,UAAU,CAACg6B,CAAC,CAACytK,WAAH,CAAzB;AAAA,gBAAyClxS,CAAC,GAACmB,CAAC,CAACtf,KAAF,GAAQ4nH,UAAU,CAACg6B,CAAC,CAAC0tK,YAAH,CAA7D;AAAA,gBAA8EvxS,CAAC,GAAC2xB,IAAI,CAAC1qC,GAAL,CAASwO,CAAC,GAAClb,CAAX,EAAa8xJ,CAAC,CAACxiG,IAAf,CAAhF;AAAA,gBAAqG7nC,CAAC,GAAC2vB,IAAI,CAACzqC,GAAL,CAASkZ,CAAC,GAAC7lB,CAAX,EAAa8xJ,CAAC,CAACpqJ,KAAf,CAAvG;;AAA6H,eAAK4uT,mBAAL,CAAyBt2S,GAAzB,CAA6B;AAACq2R,YAAAA,SAAS,EAAC,CAAC,CAAZ;AAAc/mP,YAAAA,IAAI,EAAC7pC,CAAnB;AAAqB2pC,YAAAA,GAAG,EAACzoC,CAAC,GAACzB,CAA3B;AAA6B+pC,YAAAA,KAAK,EAACxnC,CAAC,GAAChC;AAArC,WAA7B;AAAsE,SAA3N,MAAgO,KAAK6wS,mBAAL,CAAyBjgB,SAAzB,GAAmC,CAAC,CAApC;AAAsC;;AAAAygB,MAAAA,kBAAkB,CAAC57S,CAAD,EAAG;AAAC,cAAM2K,CAAC,GAAC3K,CAAC,CAACwD,IAAF,CAAO8+E,QAAf;AAAwB,YAAI/3E,CAAJ;AAAM,YAAG,KAAK+wS,YAAL,CAAkBxsR,GAAlB,CAAsBnkB,CAAtB,CAAH,EAA4BJ,CAAC,GAAC,KAAK+wS,YAAL,CAAkB76U,GAAlB,CAAsBkqC,CAAtB,EAAyB26P,UAA3B,CAA5B,KAAsE;AAAC/6P,UAAAA,CAAC,GAAC,UAASvK,CAAT,EAAW;AAAC,gBAAI2K,CAAC,GAAC3K,CAAN;;AAAQ,eAAE;AAAC2K,cAAAA,CAAC,GAACA,CAAC,CAACy3P,aAAJ;AAAkB,oBAAMpiQ,CAAC,GAACk0O,EAAE,CAAC/0P,MAAH,CAAUm1P,gBAAV,CAA2B3pO,CAA3B,EAA8BoxS,SAAtC;AAAgD,kBAAG,UAAQ/7S,CAAR,IAAW,YAAUA,CAAxB,EAA0B;AAAM,aAArG,QAA2G,UAAQ2K,CAAC,CAACovK,OAArH;;AAA8H,mBAAOpvK,CAAP;AAAS,WAA3J,CAA4J,KAAKq3E,MAAL,CAAYuzM,OAAZ,CAAoBz/G,IAApB,CAAyB8kF,YAAzB,CAAsCiF,YAAtC,CAAmD7/P,CAAnD,CAA5J,CAAF,EAAqN,KAAKq7S,WAAL,CAAiB71E,QAAjB,CAA0Bj7N,CAA1B,EAA4B,QAA5B,EAAqC,KAAK4wS,yBAA1C,EAAoE;AAAC7nE,YAAAA,UAAU,EAAC,CAAC;AAAb,WAApE,CAArN;AAA0S,gBAAM/mO,CAAC,GAAC,IAAIoqO,EAAJ,CAAOpsO,CAAP,EAAS,KAAK4wS,yBAAd,CAAR;;AAAiD,eAAKG,YAAL,CAAkBx2S,GAAlB,CAAsB6F,CAAtB,EAAwB;AAAC26P,YAAAA,UAAU,EAAC/6P,CAAZ;AAAcovR,YAAAA,cAAc,EAACptR;AAA7B,WAAxB;AAAyD;AAAA,eAAO,IAAIwoO,EAAJ,CAAOxqO,CAAP,EAAU6rO,2BAAV,EAAP;AAA+C;;AAArmH;;AAAsmH,aAASvkI,EAAT,CAAY7xG,CAAZ,EAAc2K,CAAd,EAAgBJ,CAAhB,EAAkBgC,CAAlB,EAAoB51B,CAApB,EAAsB81B,CAAtB,EAAwBnC,CAAxB,EAA0B;AAAC,YAAM83C,CAAC,GAACpiD,CAAC,CAACzjB,KAAV;AAAA,YAAgBohK,CAAC,GAAC39I,CAAC,CAACu1R,OAAF,CAAUrhB,MAA5B;AAAmC,UAAIhoF,CAAC,GAAC8vH,EAAE,CAACh8S,CAAD,EAAG2K,CAAH,CAAR;;AAAc,aAAKuhL,CAAL,GAAQ;AAAC,YAAG,CAACz/K,CAAJ,EAAM,IAAG21C,CAAC,CAACu/L,MAAF,CAASg6B,UAAT,CAAoBzvF,CAApB,EAAsB,OAAtB,CAAH,EAAkC;AAAC,cAAG3hL,CAAH,EAAK;AAAC,kBAAMI,CAAC,GAACJ,CAAC,CAAC,CAAD,CAAD,CAAKk8E,KAAb;AAAA,kBAAmBh6E,CAAC,GAACkxI,CAAC,CAACo2H,eAAF,CAAkBppQ,CAAlB,CAArB;;AAA0C,gBAAG,CAACL,CAAD,IAAInF,KAAK,CAAC7H,IAAN,CAAWgN,CAAC,CAACi9F,QAAF,EAAX,EAAyBn1B,KAAzB,CAAgCpyE,CAAC,IAAEoiD,CAAC,CAACu/L,MAAF,CAASg6B,UAAT,CAAoBlvQ,CAApB,EAAsBzM,CAAtB,CAAnC,CAAP,EAAqE;AAAC,kBAAGoiD,CAAC,CAACu/L,MAAF,CAASg6B,UAAT,CAAoBlvQ,CAApB,EAAsB,OAAtB,CAAH,EAAkC,OAAO21C,CAAC,CAAC4kC,WAAF,CAAcv6E,CAAd,CAAP;AAAwB,kBAAG9B,CAAH,EAAK,OAAOsxS,EAAE,CAACj8S,CAAD,EAAGg8S,EAAE,CAACh8S,CAAD,EAAG2K,CAAC,CAACw2C,MAAL,CAAL,EAAkB50C,CAAlB,EAAoB51B,CAApB,CAAT;AAAgC;AAAC;AAAC,SAA1P,MAA+P,IAAGyrE,CAAC,CAACu/L,MAAF,CAASk5B,QAAT,CAAkB3uF,CAAlB,CAAH,EAAwB,OAAO+vH,EAAE,CAACj8S,CAAD,EAAGksL,CAAH,EAAK3/K,CAAL,EAAO51B,CAAP,CAAT;AAAmB,YAAGyrE,CAAC,CAACu/L,MAAF,CAASw2B,OAAT,CAAiBjsF,CAAjB,CAAH,EAAuB,OAAO+vH,EAAE,CAACj8S,CAAD,EAAGksL,CAAH,EAAK3/K,CAAL,EAAO51B,CAAP,CAAT;;AAAmB,YAAGyrE,CAAC,CAACu/L,MAAF,CAASg6B,UAAT,CAAoBzvF,CAApB,EAAsB,QAAtB,CAAH,EAAmC;AAAC,gBAAMvhL,CAAC,GAACxF,KAAK,CAAC7H,IAAN,CAAW4uL,CAAC,CAACloG,WAAF,EAAX,EAA4Br6G,MAA5B,CAAoCghC,CAAC,IAAEA,CAAC,CAACkgF,EAAF,CAAK,SAAL,KAAiB,CAACqxN,EAAE,CAACl8S,CAAD,EAAG2K,CAAH,CAA3D,CAAR;AAA2E,cAAIJ,CAAC,GAAC,CAAN;AAAA,cAAQkC,CAAC,GAAC9B,CAAC,CAACh+B,MAAZ;AAAmB,cAAG,KAAG8/B,CAAN,EAAQ,OAAO21C,CAAC,CAAC4kC,WAAF,CAAc5kC,CAAC,CAAC+6M,gBAAF,CAAmBjxE,CAAnB,EAAqB,KAArB,CAAd,CAAP;;AAAkD,iBAAK3hL,CAAC,GAACkC,CAAC,GAAC,CAAT,GAAY;AAAC,kBAAMnC,CAAC,GAAC4xB,IAAI,CAACkwC,KAAL,CAAW,CAAC7hE,CAAC,GAACkC,CAAH,IAAM,CAAjB,CAAR;AAA4B,wBAAUqnL,EAAE,CAAC9zL,CAAD,EAAG2K,CAAC,CAACL,CAAD,CAAJ,EAAQiC,CAAR,EAAU51B,CAAV,CAAZ,GAAyB81B,CAAC,GAACnC,CAA3B,GAA6BC,CAAC,GAACD,CAA/B;AAAiC;;AAAA,iBAAO2xS,EAAE,CAACj8S,CAAD,EAAG2K,CAAC,CAACJ,CAAD,CAAJ,EAAQgC,CAAR,EAAU51B,CAAV,CAAT;AAAsB;;AAAAu1M,QAAAA,CAAC,GAACA,CAAC,CAAC/qI,MAAJ;AAAW;;AAAA,aAAO,IAAP;AAAY;;AAAA,aAAS+6P,EAAT,CAAYl8S,CAAZ,EAAc2K,CAAd,EAAgB;AAAC,YAAMJ,CAAC,GAACvK,CAAC,CAACu1R,OAAF,CAAUrhB,MAAlB;AAAA,YAAyB3nQ,CAAC,GAACvM,CAAC,CAACu1R,OAAF,CAAUz/G,IAAV,CAAe8kF,YAA1C;AAAA,YAAuDjkR,CAAC,GAAC4zB,CAAC,CAACipQ,aAAF,CAAgB7oQ,CAAhB,CAAzD;AAAA,YAA4E8B,CAAC,GAACF,CAAC,CAACszP,YAAF,CAAelpR,CAAf,CAA9E;AAAgG,aAAM,UAAQu9P,EAAE,CAAC/0P,MAAH,CAAUm1P,gBAAV,CAA2B7nO,CAA3B,EAA8B0vS,KAA5C;AAAkD;;AAAA,aAASF,EAAT,CAAYj8S,CAAZ,EAAc2K,CAAd,EAAgBJ,CAAhB,EAAkBgC,CAAlB,EAAoB;AAAC,YAAM51B,CAAC,GAACqpB,CAAC,CAACzjB,KAAV;AAAgB,aAAO5F,CAAC,CAACqwG,WAAF,CAAcrwG,CAAC,CAACwmR,gBAAF,CAAmBxyP,CAAnB,EAAqBmpL,EAAE,CAAC9zL,CAAD,EAAG2K,CAAH,EAAKJ,CAAL,EAAOgC,CAAP,CAAvB,CAAd,CAAP;AAAwD;;AAAA,aAASunL,EAAT,CAAY9zL,CAAZ,EAAc2K,CAAd,EAAgBJ,CAAhB,EAAkBgC,CAAlB,EAAoB;AAAC,YAAM51B,CAAC,GAACqpB,CAAC,CAACu1R,OAAF,CAAUrhB,MAAlB;AAAA,YAAyBznQ,CAAC,GAACzM,CAAC,CAACu1R,OAAF,CAAUz/G,IAAV,CAAe8kF,YAA1C;AAAA,YAAuDtwP,CAAC,GAAC3zB,CAAC,CAAC68R,aAAF,CAAgB7oQ,CAAhB,CAAzD;AAAA,YAA4Ey3C,CAAC,GAAC31C,CAAC,CAACozP,YAAF,CAAev1P,CAAf,CAA9E;AAAA,YAAgGqzI,CAAC,GAAC,IAAIo3F,EAAJ,CAAO3yL,CAAP,CAAlG;AAA4G,aAAOpiD,CAAC,CAACzjB,KAAF,CAAQolQ,MAAR,CAAek5B,QAAf,CAAwBlwQ,CAAxB,IAA2BJ,CAAC,GAAC,CAACozI,CAAC,CAACvpG,IAAF,GAAOupG,CAAC,CAACnxJ,KAAV,IAAiB,CAAnB,GAAqB,QAArB,GAA8B,OAAzD,GAAiE+f,CAAC,GAAC,CAACoxI,CAAC,CAACzpG,GAAF,GAAMypG,CAAC,CAAC82F,MAAT,IAAiB,CAAnB,GAAqB,QAArB,GAA8B,OAAtG;AAA8G;;AAAA,aAASunE,EAAT,CAAYh8S,CAAZ,EAAc2K,CAAd,EAAgB;AAAC,YAAMJ,CAAC,GAACvK,CAAC,CAACu1R,OAAF,CAAUrhB,MAAlB;AAAA,YAAyB3nQ,CAAC,GAACvM,CAAC,CAACu1R,OAAF,CAAUz/G,IAArC;AAAA,YAA0Cn/L,CAAC,GAAC4zB,CAAC,CAAC8oQ,cAAF,CAAiB1oQ,CAAjB,CAA5C;AAAgE,UAAGh0B,CAAH,EAAK,OAAOA,CAAP;AAAS,YAAM81B,CAAC,GAACF,CAAC,CAAC8wP,oBAAF,CAAuB1yP,CAAvB,CAAR;AAAA,YAAkCL,CAAC,GAACC,CAAC,CAAC2oQ,sBAAF,CAAyBzmQ,CAAzB,CAApC;AAAgE,aAAOlC,CAAC,CAAC8oQ,cAAF,CAAiB/oQ,CAAjB,CAAP;AAA2B;;AAAA,UAAM8xS,EAAN,SAAiB/yD,EAAjB,CAAmB;AAAC5pR,MAAAA,WAAW,GAAE;AAAC,cAAM,GAAG+qC,SAAT,GAAoB,KAAK6xS,gBAAL,GAAsB,CAAC,CAA3C,EAA6C,KAAKhB,WAAL,GAAiB,KAAIjoE,EAAE,EAAN,GAA9D;AAAwE;;AAAqB,iBAAVyX,UAAU,GAAE;AAAC,eAAM,sBAAN;AAA6B;;AAAAtpR,MAAAA,IAAI,GAAE;AAAC,cAAMy+B,CAAC,GAAC,KAAKgiF,MAAb;;AAAoB,YAAG,KAAKwjJ,QAAL,CAAcxlO,CAAd,EAAgB,mBAAhB,EAAqC,CAACA,CAAD,EAAG2K,CAAH,EAAKJ,CAAL,KAAS;AAACA,UAAAA,CAAC,IAAE,KAAKg/O,aAAL,CAAmB,cAAnB,GAAmC,KAAK8yD,gBAAL,GAAsB,CAAC,CAA5D,IAA+D,KAAK5yD,kBAAL,CAAwB,cAAxB,CAAhE;AAAwG,SAAvJ,GAA0J9yQ,CAAC,CAAC2tP,SAAF,IAAa,KAAKilB,aAAL,CAAmB,kBAAnB,CAAvK,EAA8MvpP,CAAC,CAACyjF,OAAF,CAAU30D,GAAV,CAAc,cAAd,CAAjN,EAA+O;AAAC,gBAAMnkB,CAAC,GAAC3K,CAAC,CAACyjF,OAAF,CAAUhjH,GAAV,CAAc,cAAd,EAA8BymR,UAA9B,CAAyCl+P,OAAjD;AAAyD,eAAKqyT,WAAL,CAAiB71E,QAAjB,CAA0B76N,CAA1B,EAA4B,WAA5B,EAAyC,CAAC3K,CAAD,EAAG2K,CAAH,KAAO,KAAK2xS,qBAAL,CAA2B3xS,CAA3B,CAAhD,GAAgF,KAAK0wS,WAAL,CAAiB71E,QAAjB,CAA0B0O,EAAE,CAACxyO,QAA7B,EAAsC,UAAtC,EAAkD,CAAC1B,CAAD,EAAG2K,CAAH,KAAO,KAAK4xS,oBAAL,CAA0B5xS,CAA1B,CAAzD,CAAhF,EAAwK,KAAK0wS,WAAL,CAAiB71E,QAAjB,CAA0B0O,EAAE,CAACxyO,QAA7B,EAAsC,MAAtC,EAA8C,CAAC1B,CAAD,EAAG2K,CAAH,KAAO,KAAK4xS,oBAAL,CAA0B5xS,CAA1B,CAArD,CAAxK,EAA4P,KAAK0wS,WAAL,CAAiB71E,QAAjB,CAA0B0O,EAAE,CAACxyO,QAA7B,EAAsC,SAAtC,EAAiD,MAAI,KAAK86S,mBAAL,EAArD,EAAiF;AAAClvK,YAAAA,UAAU,EAAC,CAAC;AAAb,WAAjF,CAA5P,EAA8V,KAAKjT,SAAL,IAAgB1vH,CAAC,CAAC+wC,YAAF,CAAe,WAAf,EAA2B,MAA3B,CAA9W,EAAiZ,KAAKj6D,EAAL,CAAQ,kBAAR,EAA4B,CAACue,CAAD,EAAGuK,CAAH,EAAKgC,CAAL,KAAS;AAAC5B,YAAAA,CAAC,CAAC+wC,YAAF,CAAe,WAAf,EAA2BnvC,CAAC,GAAC,MAAD,GAAQ,OAApC;AAA6C,WAAnF,CAAjZ;AAAue;AAAC;;AAAAoyE,MAAAA,OAAO,GAAE;AAAC,eAAO,KAAK08N,WAAL,CAAiB31E,aAAjB,IAAiC,MAAM/mJ,OAAN,EAAxC;AAAwD;;AAAA29N,MAAAA,qBAAqB,CAACt8S,CAAD,EAAG;AAAC,YAAG,CAAC,KAAKq6H,SAAT,EAAmB;AAAO,cAAM1vH,CAAC,GAAC,KAAKq3E,MAAL,CAAYzlG,KAApB;AAAA,cAA0BguB,CAAC,GAACI,CAAC,CAACjJ,QAAF,CAAWooP,SAAvC;AAAA,cAAiDv9O,CAAC,GAAC,KAAKy1E,MAAL,CAAYuzM,OAAZ,CAAoBz/G,IAAvE;AAAA,cAA4En/L,CAAC,GAACwuB,KAAK,CAAC7H,IAAN,CAAWiN,CAAC,CAACmtQ,iBAAF,EAAX,CAA9E;AAAA,cAAgHjrQ,CAAC,GAAC9B,CAAC,CAACq8E,WAAF,CAAcr8E,CAAC,CAAC0yP,oBAAF,CAAuB1mR,CAAC,CAAC,CAAD,CAAxB,CAAd,EAA2Cg0B,CAAC,CAACyyP,mBAAF,CAAsBzmR,CAAC,CAACA,CAAC,CAAChK,MAAF,GAAS,CAAV,CAAvB,CAA3C,CAAlH;AAAmMg+B,QAAAA,CAAC,CAAC+2K,MAAF,CAAU1hL,CAAC,IAAEA,CAAC,CAACm7P,YAAF,CAAe1uP,CAAf,CAAb,GAAiC,KAAK4vS,gBAAL,GAAsB,CAAC,CAAxD,EAA0D9vS,CAAC,CAACymC,KAAF,EAA1D,EAAoEzmC,CAAC,CAACw/P,WAAF,CAAc8oC,EAAd,EAAkB1sC,UAAlB,CAA6BnoQ,CAA7B,CAApE;AAAoG;;AAAAu8S,MAAAA,oBAAoB,CAACv8S,CAAD,EAAG;AAAC,YAAG,CAAC,KAAKq6H,SAAN,IAAiB,CAAC,KAAKgiL,gBAA1B,EAA2C;AAAO,cAAM1xS,CAAC,GAAC3K,CAAC,CAACg1S,OAAF,IAAW,SAAO,KAAKhzN,MAAL,CAAYm1G,MAAZ,CAAmBglD,wBAA1B,GAAmD,GAAnD,GAAuD,CAAC,GAAnE,CAAR;AAAA,cAAgF5xO,CAAC,GAACvK,CAAC,CAACi1S,OAApF;AAAA,cAA4F1oS,CAAC,GAAC7K,QAAQ,CAAC+6S,gBAAT,CAA0B9xS,CAA1B,EAA4BJ,CAA5B,CAA9F;AAAA,cAA6H5zB,CAAC,GAAC,KAAKqrG,MAAL,CAAYuzM,OAAZ,CAAoBz/G,IAAnJ;AAAwJvpK,QAAAA,CAAC,IAAEA,CAAC,CAAC8yK,OAAF,CAAU,sBAAV,CAAH,IAAsC1oM,CAAC,CAACo1R,WAAF,CAAc8oC,EAAd,EAAkB1sC,UAAlB,CAA6B,EAAC,GAAGnoQ,CAAJ;AAAM/oB,UAAAA,IAAI,EAAC+oB,CAAC,CAAC/oB,IAAb;AAAkB6yO,UAAAA,YAAY,EAAC9pN,CAAC,CAAC8pN,YAAjC;AAA8Cl8L,UAAAA,MAAM,EAACrhB,CAArD;AAAuDyoS,UAAAA,OAAO,EAACrqS,CAA/D;AAAiEsqS,UAAAA,OAAO,EAAC1qS,CAAzE;AAA2EgqC,UAAAA,cAAc,EAAC,MAAIv0C,CAAC,CAACu0C,cAAF,EAA9F;AAAiHy1K,UAAAA,eAAe,EAAC,MAAIhqN,CAAC,CAACgqN,eAAF;AAArI,SAA7B,CAAtC;AAA8N;;AAAAwyF,MAAAA,mBAAmB,GAAE;AAAC,aAAKH,gBAAL,GAAsB,CAAC,CAAvB;AAAyB;;AAAn0D;;AAAo0D,QAAIK,EAAE,GAACnyS,CAAC,CAAC,GAAD,CAAR;AAAA,QAAcoyS,EAAE,GAAC;AAAC19D,MAAAA,UAAU,EAAC,mBAAZ;AAAgCh7J,MAAAA,UAAU,EAAC;AAAC,oBAAW,CAAC;AAAb,OAA3C;AAA2DqC,MAAAA,MAAM,EAAC,MAAlE;AAAyEy9I,MAAAA,SAAS,EAAC,CAAC;AAApF,KAAjB;AAAwG+a,IAAAA,EAAE,GAAG49D,EAAE,CAACn6E,CAAN,EAAQo6E,EAAR,CAAF;AAAcD,IAAAA,EAAE,CAACn6E,CAAH,CAAK2c,MAAL;;AAAY,UAAM09D,EAAN,SAAiBvzD,EAAjB,CAAmB;AAAC5pR,MAAAA,WAAW,GAAE;AAAC,cAAM,GAAG+qC,SAAT,GAAoB,KAAKqyS,gCAAL,GAAsC5+D,EAAE,CAAE,MAAI,KAAK6+D,yBAAL,EAAN,EAAwC,EAAxC,CAA5D,EAAwG,KAAKC,UAAL,GAAgB,CAAC,CAAzH,EAA2H,KAAK1B,WAAL,GAAiB,KAAIjoE,EAAE,EAAN,GAA5I;AAAsJ;;AAAqB,iBAAVyX,UAAU,GAAE;AAAC,eAAM,UAAN;AAAiB;;AAAmB,iBAARE,QAAQ,GAAE;AAAC,eAAM,CAACyqD,EAAD,EAAI0E,EAAJ,EAAOY,EAAP,EAAUsB,EAAV,CAAN;AAAoB;;AAAA76U,MAAAA,IAAI,GAAE;AAAC,cAAMy+B,CAAC,GAAC,KAAKgiF,MAAb;AAAA,cAAoBr3E,CAAC,GAAC3K,CAAC,CAACu1R,OAAF,CAAUz/G,IAAhC;AAAqC,aAAKknI,aAAL,GAAmB,IAAnB,EAAwB,KAAKC,YAAL,GAAkB,EAA1C,EAA6C,KAAKC,iBAAL,GAAuB,IAApE,EAAyEvyS,CAAC,CAACyjQ,WAAF,CAAcymC,EAAd,CAAzE,EAA2FlqS,CAAC,CAACyjQ,WAAF,CAAcsmB,EAAd,CAA3F,EAA6G,KAAKyoB,cAAL,EAA7G,EAAmI,KAAKC,iCAAL,EAAnI,EAA4K,KAAKC,+BAAL,EAA5K,EAAmN,KAAKC,gCAAL,EAAnN,EAA2P,KAAK93E,QAAL,CAAcxlO,CAAd,EAAgB,mBAAhB,EAAqC,CAACA,CAAD,EAAG2K,CAAH,EAAKJ,CAAL,KAAS;AAACA,UAAAA,CAAC,GAAC,KAAKg/O,aAAL,CAAmB,cAAnB,CAAD,GAAoC,KAAKE,kBAAL,CAAwB,cAAxB,CAArC;AAA6E,SAA5H,CAA3P,EAA0X,KAAKhoQ,EAAL,CAAQ,kBAAR,EAA4B,CAACue,CAAD,EAAG2K,CAAH,EAAKJ,CAAL,KAAS;AAACA,UAAAA,CAAC,IAAE,KAAKgzS,iBAAL,CAAuB,CAAC,CAAxB,CAAH;AAA8B,SAApE,CAA1X,EAAic5mU,CAAC,CAAC2tP,SAAF,IAAa,KAAKilB,aAAL,CAAmB,kBAAnB,CAA9c;AAAqf;;AAAA5qK,MAAAA,OAAO,GAAE;AAAC,eAAO,KAAKq+N,aAAL,KAAqB,KAAKA,aAAL,CAAmBjpE,MAAnB,IAA4B,KAAKipE,aAAL,GAAmB,IAApE,GAA0E,KAAKQ,iBAAL,IAAwB,KAAKA,iBAAL,CAAuBv9N,MAAvB,EAAlG,EAAkI,KAAKo7N,WAAL,CAAiB31E,aAAjB,EAAlI,EAAmK,KAAKm3E,gCAAL,CAAsCv5N,MAAtC,EAAnK,EAAkN,MAAM3E,OAAN,EAAzN;AAAyO;;AAAAw+N,MAAAA,cAAc,GAAE;AAAC,cAAMn9S,CAAC,GAAC,KAAKgiF,MAAb;AAAA,cAAoBr3E,CAAC,GAAC3K,CAAC,CAACzjB,KAAxB;AAAA,cAA8BguB,CAAC,GAACvK,CAAC,CAACu1R,OAAF,CAAUz/G,IAA1C;AAAA,cAA+CvpK,CAAC,GAAChC,CAAC,CAAC7I,QAAnD;AAAA,cAA4D+K,CAAC,GAACzM,CAAC,CAACyjF,OAAF,CAAUhjH,GAAV,CAAcq6U,EAAd,CAA9D;AAAgF,aAAKt1E,QAAL,CAAcj5N,CAAd,EAAgB,WAAhB,EAA6B,CAACvM,CAAD,EAAGuK,CAAH,KAAO;AAAC,cAAGA,CAAC,CAACqjB,MAAF,IAAUrjB,CAAC,CAACqjB,MAAF,CAASi9D,EAAT,CAAY,iBAAZ,CAAb,EAA4C,OAAO,KAAKtgF,CAAC,CAACgqC,cAAF,EAAZ;AAA+B,cAAG,KAAKkpQ,oBAAL,CAA0BlzS,CAAC,CAACqjB,MAA5B,GAAoC,CAAC,KAAKovR,aAA7C,EAA2D,OAAO,KAAKzyS,CAAC,CAACgqC,cAAF,EAAZ;AAA+B,eAAK0oQ,YAAL,GAAkBjzS,CAAC,EAAnB,EAAsBO,CAAC,CAACu/M,YAAF,CAAekjD,aAAf,GAA6B,KAAK3yI,SAAL,GAAe,UAAf,GAA0B,MAA7E,EAAoF9vH,CAAC,CAACu/M,YAAF,CAAeijD,OAAf,CAAuB,oCAAvB,EAA4D,KAAKkwC,YAAjE,CAApF;AAAmK,gBAAM1wS,CAAC,GAAC5B,CAAC,CAAC6yP,eAAF,CAAkB,KAAKw/C,aAAL,CAAmBxkC,OAAnB,EAAlB,CAAR;;AAAwD,eAAKx2L,MAAL,CAAYyB,OAAZ,CAAoBhjH,GAApB,CAAwB,mBAAxB,EAA6Ck1U,8BAA7C,CAA4EprS,CAAC,CAACu/M,YAA9E,EAA2Fv9M,CAA3F,EAA6F,WAA7F;;AAA0G,gBAAK;AAACu9M,YAAAA,YAAY,EAACnzO,CAAd;AAAgByjR,YAAAA,SAAS,EAAC3tP,CAA1B;AAA4Bu7P,YAAAA,QAAQ,EAAC19P;AAArC,cAAwCC,CAA7C;AAAA,gBAA+C;AAACyqS,YAAAA,OAAO,EAAC5yP;AAAT,cAAY93C,CAA3D;AAA6D,eAAKozS,cAAL,CAAoB;AAAC5zF,YAAAA,YAAY,EAACnzO,CAAd;AAAgByjR,YAAAA,SAAS,EAAC3tP,CAA1B;AAA4BuoS,YAAAA,OAAO,EAAC5yP;AAApC,WAApB,GAA4D73C,CAAC,CAACy/M,eAAF,EAA5D,EAAgF,KAAK3vF,SAAL,KAAiB,KAAK2iL,aAAL,CAAmBjpE,MAAnB,IAA4B,KAAKipE,aAAL,GAAmB,IAA/C,EAAoD,KAAKC,YAAL,GAAkB,EAAvF,CAAhF;AAA2K,SAAvvB,EAAyvB;AAACt3N,UAAAA,QAAQ,EAAC;AAAV,SAAzvB,GAA2wB,KAAK6/I,QAAL,CAAcj5N,CAAd,EAAgB,SAAhB,EAA2B,CAACvM,CAAD,EAAG2K,CAAH,KAAO;AAAC,eAAK4yS,iBAAL,CAAuB,CAAC5yS,CAAC,CAACm/M,YAAF,CAAeojD,UAAhB,IAA4B,UAAQviQ,CAAC,CAACm/M,YAAF,CAAeH,UAA1E;AAAsF,SAAzH,EAA2H;AAAChkI,UAAAA,QAAQ,EAAC;AAAV,SAA3H,CAA3wB,EAAw5B,KAAK01N,WAAL,CAAiB71E,QAAjB,CAA0B0O,EAAE,CAACxyO,QAA7B,EAAsC,SAAtC,EAAiD,MAAI;AAAC,eAAKq7S,UAAL,GAAgB,CAAC,CAAjB;AAAmB,SAAzE,EAA2E;AAACzvK,UAAAA,UAAU,EAAC,CAAC;AAAb,SAA3E,CAAx5B,EAAo/B,KAAKk4F,QAAL,CAAcj5N,CAAd,EAAgB,WAAhB,EAA6B,MAAI;AAAC,eAAK8tH,SAAL,IAAgB9vH,CAAC,CAACyoC,KAAF,EAAhB;AAA0B,SAA5D,CAAp/B,EAAmjC,KAAKwyL,QAAL,CAAcj5N,CAAd,EAAgB,WAAhB,EAA6B,MAAI;AAACE,UAAAA,CAAC,CAACsuS,uBAAF;AAA4B,SAA9D,CAAnjC,EAAonC,KAAKv1E,QAAL,CAAcj5N,CAAd,EAAgB,UAAhB,EAA4B,CAACvM,CAAD,EAAG2K,CAAH,KAAO;AAAC,cAAG,CAAC,KAAK0vH,SAAT,EAAmB,OAAO,MAAK1vH,CAAC,CAACm/M,YAAF,CAAeH,UAAf,GAA0B,MAA/B,CAAP;AAA8C,gBAAK;AAACqrF,YAAAA,OAAO,EAACzqS,CAAT;AAAW0qS,YAAAA,OAAO,EAAC1oS;AAAnB,cAAsB5B,CAAC,CAACq9P,QAA7B;AAAsCv7P,UAAAA,CAAC,CAAC+uS,gBAAF,CAAmB7wS,CAAC,CAACijB,MAArB,EAA4BjjB,CAAC,CAAC6iQ,YAA9B,EAA2CjjQ,CAA3C,EAA6CgC,CAA7C,EAA+C,KAAKwwS,UAApD,EAA+D,KAAKC,aAApE,GAAmF,KAAKA,aAAL,KAAqBryS,CAAC,CAACm/M,YAAF,CAAeH,UAAf,GAA0B,MAA/C,CAAnF,EAA0IhzO,CAAC,CAACwtP,OAAF,KAAY,UAAQx5N,CAAC,CAACm/M,YAAF,CAAekjD,aAAvB,GAAqCriQ,CAAC,CAACm/M,YAAF,CAAeH,UAAf,GAA0B,MAA/D,GAAsE,CAAC,KAAD,EAAO,UAAP,EAAmBx9O,QAAnB,CAA4Bw+B,CAAC,CAACm/M,YAAF,CAAekjD,aAA3C,MAA4DriQ,CAAC,CAACm/M,YAAF,CAAeH,UAAf,GAA0B,MAAtF,CAAlF,CAA1I,EAA2T3pN,CAAC,CAAColF,IAAF,EAA3T;AAAoU,SAA/c,EAAid;AAACO,UAAAA,QAAQ,EAAC;AAAV,SAAjd,CAApnC;AAAulD;;AAAA03N,MAAAA,+BAA+B,GAAE;AAAC,cAAMr9S,CAAC,GAAC,KAAKgiF,MAAb;AAAA,cAAoBr3E,CAAC,GAAC3K,CAAC,CAACu1R,OAAF,CAAUz/G,IAAV,CAAep0K,QAArC;AAAA,cAA8C6I,CAAC,GAACvK,CAAC,CAACyjF,OAAF,CAAUhjH,GAAV,CAAcq6U,EAAd,CAAhD;AAAkE,aAAKt1E,QAAL,CAAc76N,CAAd,EAAgB,gBAAhB,EAAkC,CAACA,CAAD,EAAG4B,CAAH,KAAO;AAAC,cAAG,UAAQA,CAAC,CAAChI,MAAb,EAAoB;AAAO,gBAAK;AAACywS,YAAAA,OAAO,EAACr+T,CAAT;AAAWs+T,YAAAA,OAAO,EAACxoS;AAAnB,cAAsBF,CAAC,CAACy7P,QAA7B;AAAA,gBAAsC19P,CAAC,GAACC,CAAC,CAACkxS,iBAAF,CAAoBlvS,CAAC,CAACqhB,MAAtB,EAA6BrhB,CAAC,CAACihQ,YAA/B,EAA4C72R,CAA5C,EAA8C81B,CAA9C,EAAgD,KAAKswS,UAArD,EAAgE,KAAKC,aAArE,CAAxC;AAA4H,cAAG,CAAC1yS,CAAJ,EAAM,OAAO,KAAKizS,iBAAL,CAAuB,CAAC,CAAxB,GAA2B,KAAK5yS,CAAC,CAACy6E,IAAF,EAAvC;AAAgD,eAAK43N,aAAL,IAAoB,KAAKC,YAAL,IAAmB1wS,CAAC,CAACu9M,YAAF,CAAegjD,OAAf,CAAuB,oCAAvB,CAAvC,KAAsG,KAAKkwC,aAAL,CAAmBjpE,MAAnB,IAA4B,KAAKipE,aAAL,GAAmB,IAA/C,EAAoD,KAAKC,YAAL,GAAkB,EAA5K;AAAgL,cAAG,UAAQlnH,EAAE,CAACxpL,CAAC,CAACu9M,YAAH,CAAV,IAA4B,KAAKkzF,aAAjC,IAAgD,KAAKA,aAAL,CAAmB1mD,aAAnB,CAAiChsP,CAAjC,EAAmC,CAAC,CAApC,CAAnD,EAA0F,OAAO,KAAKizS,iBAAL,CAAuB,CAAC,CAAxB,GAA2B,KAAK5yS,CAAC,CAACy6E,IAAF,EAAvC;AAAgD74E,UAAAA,CAAC,CAACihQ,YAAF,GAAe,CAACxtQ,CAAC,CAACu1R,OAAF,CAAUrhB,MAAV,CAAiBF,WAAjB,CAA6B1pQ,CAA7B,CAAD,CAAf;AAAiD,SAAlmB,EAAomB;AAACq7E,UAAAA,QAAQ,EAAC;AAAV,SAApmB;AAAunB;;AAAAy3N,MAAAA,iCAAiC,GAAE;AAAC,cAAMp9S,CAAC,GAAC,KAAKgiF,MAAL,CAAYyB,OAAZ,CAAoBhjH,GAApB,CAAwB+0U,EAAxB,CAAR;AAAoCx1S,QAAAA,CAAC,CAACve,EAAF,CAAK,kBAAL,EAAyB,CAACue,CAAD,EAAG2K,CAAH,KAAO;AAAC,cAAG,CAAC,KAAK0vH,SAAN,IAAiB,WAAS1vH,CAAC,CAACpG,MAA/B,EAAsC;AAAO,gBAAMgG,CAAC,GAACI,CAAC,CAAC6iQ,YAAF,CAAehkS,GAAf,CAAoBw2B,CAAC,IAAE,KAAKgiF,MAAL,CAAYuzM,OAAZ,CAAoBrhB,MAApB,CAA2BJ,YAA3B,CAAwC9zQ,CAAxC,CAAvB,CAAR;AAA4E,eAAKgiF,MAAL,CAAYzlG,KAAZ,CAAkBmlM,MAAlB,CAA0B1hL,CAAC,IAAEA,CAAC,CAACm7P,YAAF,CAAe5wP,CAAf,CAA7B;AAAiD,SAA3M,EAA6M;AAACo7E,UAAAA,QAAQ,EAAC;AAAV,SAA7M,GAAgO3lF,CAAC,CAACve,EAAF,CAAK,kBAAL,EAAyB,CAACue,CAAD,EAAG2K,CAAH,KAAO;AAAC,cAAG,CAAC,KAAK0vH,SAAN,IAAiB,WAAS1vH,CAAC,CAACpG,MAA/B,EAAsC;AAAO,gBAAMgG,CAAC,GAAC,UAAQwrL,EAAE,CAACprL,CAAC,CAACm/M,YAAH,CAAlB;AAAA,gBAAmCv9M,CAAC,GAAC,CAAC5B,CAAC,CAACwnS,WAAH,IAAgB,CAACxnS,CAAC,CAACwnS,WAAF,CAAcn8C,WAApE;;AAAgF,eAAKunD,iBAAL,CAAuBhxS,CAAC,IAAEhC,CAA1B;AAA6B,SAA3L,EAA6L;AAACo7E,UAAAA,QAAQ,EAAC;AAAV,SAA7L,CAAhO;AAAkb;;AAAA23N,MAAAA,gCAAgC,GAAE;AAAC,cAAMt9S,CAAC,GAAC,KAAKgiF,MAAb;AAAA,cAAoBr3E,CAAC,GAAC3K,CAAC,CAACu1R,OAAF,CAAUz/G,IAAhC;AAAA,cAAqCvrK,CAAC,GAACI,CAAC,CAACjJ,QAAzC;AAAkD,aAAK8jO,QAAL,CAAcj7N,CAAd,EAAgB,WAAhB,EAA6B,CAACgC,CAAD,EAAGE,CAAH,KAAO;AAAC,cAAG91B,CAAC,CAAC2tP,SAAF,IAAa,CAAC73N,CAAjB,EAAmB;;AAAO,eAAKowS,gCAAL,CAAsCv5N,MAAtC;;AAA+C,cAAIh5E,CAAC,GAACqzS,EAAE,CAAClxS,CAAC,CAACmhB,MAAH,CAAR;;AAAmB,cAAGj3C,CAAC,CAAC4tP,OAAF,IAAW,CAACvkO,CAAC,CAACiqP,UAAd,IAA0B,CAAC3/O,CAA3B,IAA8B,CAACC,CAAC,CAACu/O,SAAF,CAAYkM,WAA9C,EAA0D;AAAC,kBAAMh2P,CAAC,GAACuK,CAAC,CAACu/O,SAAF,CAAY6N,kBAAZ,EAAR;AAAyC33P,YAAAA,CAAC,IAAEq3S,EAAE,CAACr3S,CAAD,CAAL,KAAWsK,CAAC,GAACC,CAAC,CAACu/O,SAAF,CAAYuK,eAAzB;AAA0C;;AAAA/pP,UAAAA,CAAC,KAAGK,CAAC,CAAC+2K,MAAF,CAAU1hL,CAAC,IAAE;AAACA,YAAAA,CAAC,CAAC07C,YAAF,CAAe,WAAf,EAA2B,MAA3B,EAAkCpxC,CAAlC;AAAqC,WAAnD,GAAsD,KAAK4yS,iBAAL,GAAuBl9S,CAAC,CAACu1R,OAAF,CAAUrhB,MAAV,CAAiBb,cAAjB,CAAgC/oQ,CAAhC,CAAhF,CAAD;AAAqH,SAApY,GAAuY,KAAKk7N,QAAL,CAAcj7N,CAAd,EAAgB,SAAhB,EAA2B,MAAI;AAAC5zB,UAAAA,CAAC,CAAC2tP,SAAF,IAAa,KAAKu4E,gCAAL,EAAb;AAAqD,SAArF,CAAvY;AAA+d;;AAAAC,MAAAA,yBAAyB,GAAE;AAAC,cAAM98S,CAAC,GAAC,KAAKgiF,MAAL,CAAYuzM,OAApB;AAA4Bv1R,QAAAA,CAAC,CAAC81K,IAAF,CAAO4L,MAAP,CAAe/2K,CAAC,IAAE;AAAC,eAAKuyS,iBAAL,IAAwB,gBAAc,KAAKA,iBAAL,CAAuB15S,IAAvB,CAA4B8+E,QAAlE,IAA4E33E,CAAC,CAACk5N,eAAF,CAAkB,WAAlB,EAA8B7jO,CAAC,CAACk0Q,MAAF,CAASV,aAAT,CAAuB,KAAK0pC,iBAA5B,CAA9B,CAA5E,EAA0J,KAAKA,iBAAL,GAAuB,IAAjL;AAAsL,SAAzM;AAA4M;;AAAAK,MAAAA,iBAAiB,CAACv9S,CAAD,EAAG;AAAC,cAAM2K,CAAC,GAAC,KAAKq3E,MAAb;AAAA,cAAoBz3E,CAAC,GAACI,CAAC,CAACpuB,KAAxB;;AAA8B,YAAGouB,CAAC,CAAC84E,OAAF,CAAUhjH,GAAV,CAAcq6U,EAAd,EAAkBE,gBAAlB,IAAqC,KAAK8B,yBAAL,EAArC,EAAsEnyS,CAAC,CAAC84E,OAAF,CAAU30D,GAAV,CAAc,yBAAd,CAAzE,EAAkH;AAACnkB,UAAAA,CAAC,CAAC84E,OAAF,CAAUhjH,GAAV,CAAc,yBAAd,EAAyCgpR,kBAAzC,CAA4D,UAA5D;AAAwE;;AAAA,aAAKwzD,YAAL,GAAkB,EAAlB,EAAqB,KAAKO,iBAAL,KAAyB,KAAKA,iBAAL,CAAuBv9N,MAAvB,IAAgC,KAAKu9N,iBAAL,GAAuB,KAAK,CAArF,CAArB,EAA6G,KAAKR,aAAL,KAAqBh9S,CAAC,IAAE,KAAKq6H,SAAR,IAAmB9vH,CAAC,CAACm3K,MAAF,CAAU1hL,CAAC,IAAE;AAAC,gBAAM2K,CAAC,GAACJ,CAAC,CAACizP,eAAF,CAAkB,KAAKw/C,aAAvB,CAAR;AAA8CzyS,UAAAA,CAAC,CAACopR,aAAF,CAAgBhpR,CAAhB,EAAkB;AAACymR,YAAAA,kBAAkB,EAAC,CAAC;AAArB,WAAlB;AAA2C,gBAAM7kR,CAAC,GAAC5B,CAAC,CAACo/O,gBAAF,GAAqB5oM,MAA7B;AAAoC50C,UAAAA,CAAC,CAAC8J,OAAF,IAAW,CAAC9L,CAAC,CAACo3O,MAAF,CAASg6B,UAAT,CAAoBpvQ,CAApB,EAAsB,OAAtB,CAAZ,IAA4ChC,CAAC,CAACo3O,MAAF,CAASg6B,UAAT,CAAoBpvQ,CAApB,EAAsB,WAAtB,CAA5C,IAAgFvM,CAAC,CAAC48Q,aAAF,CAAgB,WAAhB,EAA4BrwQ,CAA5B,EAA8B,CAA9B,CAAhF;AAAiH,SAA5P,CAAnB,EAAkR,KAAKywS,aAAL,CAAmBjpE,MAAnB,EAAlR,EAA8S,KAAKipE,aAAL,GAAmB,IAAtV,CAA7G;AAAyc;;AAAAS,MAAAA,oBAAoB,CAACz9S,CAAD,EAAG;AAAC,cAAM2K,CAAC,GAAC,KAAKq3E,MAAb;AAAA,cAAoBz3E,CAAC,GAACI,CAAC,CAACpuB,KAAxB;AAAA,cAA8BgwB,CAAC,GAAChC,CAAC,CAAC7I,QAAF,CAAWooP,SAA3C;AAAA,cAAqDnzQ,CAAC,GAACqpB,CAAC,GAAC29S,EAAE,CAAC39S,CAAD,CAAH,GAAO,IAA/D;;AAAoE,YAAGrpB,CAAH,EAAK;AAAC,gBAAMqpB,CAAC,GAAC2K,CAAC,CAAC4qR,OAAF,CAAUrhB,MAAV,CAAiBb,cAAjB,CAAgC18R,CAAhC,CAAR;;AAA2C,cAAG,KAAKqmU,aAAL,GAAmB1kC,EAAE,CAACG,SAAH,CAAaluQ,CAAC,CAAC+yP,aAAF,CAAgBt9P,CAAhB,CAAb,CAAnB,EAAoD,KAAK+8S,UAAL,GAAgBxyS,CAAC,CAACo3O,MAAF,CAASw2B,OAAT,CAAiBn4Q,CAAjB,CAApE,EAAwF2K,CAAC,CAAC84E,OAAF,CAAU30D,GAAV,CAAc,yBAAd,CAA3F,EAAoI;AAACnkB,YAAAA,CAAC,CAAC84E,OAAF,CAAUhjH,GAAV,CAAc,yBAAd,EAAyC8oR,aAAzC,CAAuD,UAAvD;AAAmE;;AAAA;AAAO;;AAAA,YAAGh9O,CAAC,CAACypP,WAAF,IAAe,CAACzpP,CAAC,CAACw9O,gBAAF,GAAqB5oM,MAArB,CAA4B9qC,OAA/C,EAAuD;AAAO,cAAM5J,CAAC,GAACtH,KAAK,CAAC7H,IAAN,CAAWiP,CAAC,CAACmrQ,iBAAF,EAAX,CAAR;AAAA,cAA0CptQ,CAAC,GAACiC,CAAC,CAACirP,aAAF,EAA5C;AAA8D,YAAG,KAAG/qP,CAAC,CAAC9/B,MAAR,EAAe,OAAO,MAAK,KAAKqwU,aAAL,GAAmB1kC,EAAE,CAACG,SAAH,CAAanuQ,CAAb,CAAxB,CAAP;AAAgD,cAAM83C,CAAC,GAACw7P,EAAE,CAACrzS,CAAD,EAAGkC,CAAH,CAAV;AAAgB,YAAGA,CAAC,CAAC9/B,MAAF,GAAS,CAAZ,EAAc,KAAKqwU,aAAL,GAAmB1kC,EAAE,CAACG,SAAH,CAAar2N,CAAb,CAAnB,EAAmC,KAAK26P,UAAL,GAAgB,CAAC,CAApD,CAAd,KAAyE,IAAG,KAAGtwS,CAAC,CAAC9/B,MAAR,EAAe;AAAC,gBAAMqzB,CAAC,GAACsK,CAAC,CAACm8E,KAAF,CAAQkqL,UAAR,CAAmBvuN,CAAC,CAACqkC,KAArB,KAA6Bn8E,CAAC,CAACo8E,GAAF,CAAMiqL,UAAN,CAAiBvuN,CAAC,CAACskC,GAAnB,CAArC;AAA6D,eAAKs2N,aAAL,GAAmB1kC,EAAE,CAACG,SAAH,CAAaz4Q,CAAC,GAACoiD,CAAD,GAAG93C,CAAjB,CAAnB,EAAuC,KAAKyyS,UAAL,GAAgB/8S,CAAvD;AAAyD;AAAAuK,QAAAA,CAAC,CAACm3K,MAAF,CAAU1hL,CAAC,IAAEA,CAAC,CAACm7P,YAAF,CAAe,KAAK6hD,aAAL,CAAmBxkC,OAAnB,EAAf,CAAb;AAA4D;;AAAAklC,MAAAA,cAAc,CAAC;AAAC5zF,QAAAA,YAAY,EAAC9pN,CAAd;AAAgBo6P,QAAAA,SAAS,EAACzvP,CAA1B;AAA4BqqS,QAAAA,OAAO,EAACzqS;AAApC,OAAD,EAAwC;AAAC,cAAMgC,CAAC,GAAC,KAAKy1E,MAAL,CAAYuzM,OAAZ,CAAoBz/G,IAA5B;AAAA,cAAiCrpK,CAAC,GAACF,CAAC,CAAC7K,QAAF,CAAWooP,SAAX,CAAqBuK,eAAxD;AAAA,cAAwE/pP,CAAC,GAACiC,CAAC,CAACquP,YAAF,CAAeiF,YAAf,CAA4BpzP,CAA5B,CAA1E;AAAA,cAAyG21C,CAAC,GAAC8xL,EAAE,CAAC/0P,MAAH,CAAUm1P,gBAAV,CAA2BhqO,CAA3B,CAA3G;AAAyI,aAAKkzS,iBAAL,GAAuB,KAAKA,iBAAL,CAAuBK,iBAAvB,IAA0C,KAAKL,iBAAL,CAAuB3hQ,WAAvB,CAAmC,KAAK2hQ,iBAAL,CAAuBK,iBAA1D,CAAjE,IAA+I,KAAKL,iBAAL,GAAuBh1E,EAAE,CAAC0L,EAAE,CAACxyO,QAAJ,EAAa,KAAb,EAAmB;AAAC65C,UAAAA,KAAK,EAAC;AAAP,SAAnB,CAAzB,EAAyF24L,EAAE,CAACxyO,QAAH,CAAYrqB,IAAZ,CAAiBskE,WAAjB,CAA6B,KAAK6hQ,iBAAlC,CAAxO;AAA8R,cAAM7/J,CAAC,GAAC,IAAIo3F,EAAJ,CAAOzqO,CAAP,CAAR;AAAkB,YAAGA,CAAC,CAAC2/M,QAAF,CAAWt/M,CAAX,CAAH,EAAiB;AAAO,cAAMuhL,CAAC,GAAC93E,UAAU,CAAChyD,CAAC,CAACy5P,WAAH,CAAlB;AAAA,cAAkCjyS,CAAC,GAAC4+N,EAAE,CAAC0L,EAAE,CAACxyO,QAAJ,EAAa,KAAb,CAAtC;AAA0DkI,QAAAA,CAAC,CAACk4J,SAAF,GAAY,eAAZ,EAA4Bl4J,CAAC,CAAC2xC,KAAF,CAAQxH,KAAR,GAAcqO,CAAC,CAACrO,KAA5C,EAAkDnqC,CAAC,CAAC2xC,KAAF,CAAQsgQ,WAAR,GAAqB,GAAEl+J,CAAC,CAACvpG,IAAF,GAAO7pC,CAAP,GAAS2hL,CAAE,IAApF,EAAwFv1M,CAAC,CAACytP,KAAF,KAAUx6N,CAAC,CAAC2xC,KAAF,CAAQuiQ,eAAR,GAAwB,OAAlC,CAAxF,EAAmIl0S,CAAC,CAAC6tO,SAAF,GAAYz3O,CAAC,CAAC8sQ,OAAF,CAAU,WAAV,CAA/I,EAAsK9sQ,CAAC,CAACitQ,YAAF,CAAerjQ,CAAf,EAAiB,CAAjB,EAAmB,CAAnB,CAAtK,EAA4L,KAAK4zS,iBAAL,CAAuB7hQ,WAAvB,CAAmC/xC,CAAnC,CAA5L;AAAkO;;AAA99N;;AAA+9N,aAASmsL,EAAT,CAAY/1L,CAAZ,EAAc;AAAC,aAAOrpB,CAAC,CAACwtP,OAAF,GAAUnkO,CAAC,CAAC2pN,UAAZ,GAAuB,CAAC,KAAD,EAAO,UAAP,EAAmBx9O,QAAnB,CAA4B6zB,CAAC,CAACgtQ,aAA9B,IAA6C,MAA7C,GAAoD,MAAlF;AAAyF;;AAAA,aAAS2wC,EAAT,CAAY39S,CAAZ,EAAc;AAAC,UAAGA,CAAC,CAAC6qF,EAAF,CAAK,iBAAL,CAAH,EAA2B,OAAO,IAAP;AAAY,UAAG7qF,CAAC,CAACwsP,QAAF,CAAW,6BAAX,CAAH,EAA6C,OAAOxsP,CAAC,CAACqzP,YAAF,CAAegkD,EAAf,CAAP;AAA0B,UAAGA,EAAE,CAACr3S,CAAD,CAAL,EAAS,OAAOA,CAAP;AAAS,YAAM2K,CAAC,GAAC3K,CAAC,CAACqzP,YAAF,CAAgBrzP,CAAC,IAAEq3S,EAAE,CAACr3S,CAAD,CAAF,IAAOA,CAAC,CAAC6qF,EAAF,CAAK,iBAAL,CAA1B,CAAR;AAA4D,aAAOwsN,EAAE,CAAC1sS,CAAD,CAAF,GAAMA,CAAN,GAAQ,IAAf;AAAoB;;AAAA,aAASizS,EAAT,CAAY59S,CAAZ,EAAc2K,CAAd,EAAgB;AAAC,YAAMJ,CAAC,GAACI,CAAC,CAAC,CAAD,CAAT;AAAA,YAAa4B,CAAC,GAAC5B,CAAC,CAACA,CAAC,CAACh+B,MAAF,GAAS,CAAV,CAAhB;AAAA,YAA6BgK,CAAC,GAAC4zB,CAAC,CAAC6iP,iBAAF,CAAoB7gP,CAApB,CAA/B;AAAA,YAAsDE,CAAC,GAACzM,CAAC,CAACq9P,oBAAF,CAAuB9yP,CAAvB,CAAxD;AAAA,YAAkFD,CAAC,GAACtK,CAAC,CAACo9P,mBAAF,CAAsB7wP,CAAtB,CAApF;;AAA6G,UAAG51B,CAAC,IAAEA,CAAC,CAACk0G,EAAF,CAAK,SAAL,CAAH,IAAoB,CAAC7qF,CAAC,CAAC2hP,MAAF,CAAS02B,OAAT,CAAiB1hS,CAAjB,CAAxB,EAA4C;AAAC,cAAMg0B,CAAC,GAAC3K,CAAC,CAACs9P,aAAF,CAAgB3mR,CAAhB,CAAR;AAAA,cAA2B4zB,CAAC,GAACkC,CAAC,CAACkkQ,UAAF,CAAahmQ,CAAC,CAAC87E,KAAf,CAA7B;AAAA,cAAmDl6E,CAAC,GAACjC,CAAC,CAACqmQ,UAAF,CAAahmQ,CAAC,CAAC+7E,GAAf,CAArD;AAAyE,YAAGn8E,CAAC,IAAEgC,CAAN,EAAQ,OAAOqxS,EAAE,CAAC59S,CAAD,EAAG,CAACrpB,CAAD,CAAH,CAAT;AAAiB;;AAAA,aAAOqpB,CAAC,CAACgnF,WAAF,CAAcv6E,CAAd,EAAgBnC,CAAhB,CAAP;AAA0B;;AAAA,UAAMgoL,EAAN,SAAiB+2D,EAAjB,CAAmB;AAAsB,iBAAVwB,UAAU,GAAE;AAAC,eAAM,gBAAN;AAAuB;;AAAmB,iBAARE,QAAQ,GAAE;AAAC,eAAM,CAACyqD,EAAD,CAAN;AAAW;;AAAAj0U,MAAAA,IAAI,GAAE;AAAC,cAAMy+B,CAAC,GAAC,KAAKgiF,MAAb;AAAA,cAAoBr3E,CAAC,GAAC3K,CAAC,CAACzjB,KAAxB;AAAA,cAA8BguB,CAAC,GAACvK,CAAC,CAACu1R,OAAF,CAAUz/G,IAA1C;AAAA,cAA+CvpK,CAAC,GAAChC,CAAC,CAAC7I,QAAnD;AAAA,cAA4D/qB,CAAC,GAACg0B,CAAC,CAACjJ,QAAF,CAAWooP,SAAzE;AAAmF,YAAIr9O,CAAC,GAAC,CAAC,CAAP;AAASlC,QAAAA,CAAC,CAAC6jQ,WAAF,CAAcymC,EAAd,GAAkB,KAAKrvE,QAAL,CAAcj5N,CAAd,EAAgB,SAAhB,EAA2B,CAACvM,CAAD,EAAG2K,CAAH,KAAO;AAAC8B,UAAAA,CAAC,GAAC9B,CAAC,CAAC6wO,QAAJ;AAAa,SAAhD,CAAlB,EAAqEx7O,CAAC,CAACyjF,OAAF,CAAUhjH,GAAV,CAAc+0U,EAAd,EAAkB/zT,EAAlB,CAAqB,kBAArB,EAAyC,CAACue,CAAD,EAAGuK,CAAH,KAAO;AAAC,WAACkC,CAAC,IAAE,UAASzM,CAAT,EAAW2K,CAAX,EAAa;AAAC,gBAAG3K,CAAC,CAAC0sP,UAAF,GAAa,CAAhB,EAAkB,OAAM,CAAC,CAAP;AAAS,kBAAMniP,CAAC,GAACvK,CAAC,CAAC6sP,QAAF,CAAW,CAAX,CAAR;AAAsB,gBAAGliP,CAAC,CAAC09E,QAAF,CAAW99E,CAAX,CAAH,EAAiB,OAAM,CAAC,CAAP;AAAS,mBAAO,KAAGpF,KAAK,CAAC7H,IAAN,CAAWiN,CAAC,CAAC2jP,gBAAF,EAAX,EAAiCvhR,MAA3C;AAAkD,WAA3I,CAA4I49B,CAAC,CAACw5E,OAA9I,EAAsJp5E,CAAC,CAACg3O,MAAxJ,CAAJ,KAAsKh3O,CAAC,CAAC+2K,MAAF,CAAU1hL,CAAC,IAAE;AAAC,kBAAMuM,CAAC,GAACpH,KAAK,CAAC7H,IAAN,CAAW3mB,CAAC,CAACutG,aAAF,EAAX,EAA8Bv6G,MAA9B,CAAsC,CAAC,CAACq2B,CAAD,CAAD,KAAO2K,CAAC,CAACg3O,MAAF,CAASo5B,sBAAT,CAAgC/6Q,CAAhC,EAAmCywS,YAAhF,CAAR;AAAuG95T,YAAAA,CAAC,CAACq/Q,WAAF,IAAerrP,CAAC,CAACgpR,aAAF,CAAgBh9S,CAAhB,EAAkB;AAACy6S,cAAAA,kBAAkB,EAAC,CAAC;AAArB,aAAlB,CAAf,EAA0D7kR,CAAC,CAACtG,IAAF,CAAO,GAAGtvB,CAAC,CAACutG,aAAF,EAAV,CAA1D;AAAuF,kBAAMz3E,CAAC,GAACzM,CAAC,CAACu9P,aAAF,CAAgBhzP,CAAC,CAACw5E,OAAlB,CAAR;;AAAmC,iBAAI,MAAMp5E,CAAV,IAAe8B,CAAC,CAAC86F,QAAF,EAAf,EAA4B58F,CAAC,CAACkgF,EAAF,CAAK,YAAL,KAAoB7qF,CAAC,CAACkwR,aAAF,CAAgB3jR,CAAhB,EAAkB5B,CAAlB,CAApB;AAAyC,WAApT,CAAtK;AAA6d,SAA9gB,CAArE;AAAslB;;AAA1wB;;AAA2wB,UAAMozS,EAAN,SAAiB10D,EAAjB,CAAmB;AAAsB,iBAAVwB,UAAU,GAAE;AAAC,eAAM,WAAN;AAAkB;;AAAmB,iBAARE,QAAQ,GAAE;AAAC,eAAM,CAACyqD,EAAD,EAAIoH,EAAJ,EAAOtqH,EAAP,CAAN;AAAiB;;AAAlF;;AAAmF,UAAM3B,EAAN,SAAiBg5D,EAAjB,CAAmB;AAAClqR,MAAAA,WAAW,CAACugC,CAAD,EAAG;AAAC,cAAMA,CAAN,GAAS,KAAK2kF,WAAL,GAAiB,CAAC,CAA3B;AAA6B;;AAAAwlK,MAAAA,OAAO,GAAE;AAAC,cAAMnqP,CAAC,GAAC,KAAKgiF,MAAL,CAAYzlG,KAApB;AAAA,cAA0BouB,CAAC,GAAC3K,CAAC,CAAC0B,QAAF,CAAWooP,SAAvC;AAAiD,YAAIv/O,CAAC,GAACvK,CAAC,CAAC2hP,MAAF,CAASq8B,eAAT,CAAyBrzQ,CAAzB,CAAN;AAAkC,YAAGA,CAAC,CAACotQ,qBAAF,CAAwBxtQ,CAAxB,KAA4B,CAACyzS,EAAE,CAACh+S,CAAC,CAAC2hP,MAAH,EAAUp3O,CAAV,CAAlC,EAA+C,GAAE;AAAC,cAAGA,CAAC,GAACA,CAAC,CAAC42C,MAAJ,EAAW,CAAC52C,CAAf,EAAiB;AAAO,SAA3B,QAAiC,CAACyzS,EAAE,CAACh+S,CAAC,CAAC2hP,MAAH,EAAUp3O,CAAV,CAApC;AAAkDvK,QAAAA,CAAC,CAAC0hL,MAAF,CAAU1hL,CAAC,IAAE;AAACA,UAAAA,CAAC,CAACm7P,YAAF,CAAe5wP,CAAf,EAAiB,IAAjB;AAAuB,SAArC;AAAwC;;AAAnR;;AAAoR,aAASyzS,EAAT,CAAYh+S,CAAZ,EAAc2K,CAAd,EAAgB;AAAC,aAAO3K,CAAC,CAACq4Q,OAAF,CAAU1tQ,CAAV,MAAe3K,CAAC,CAAC27Q,UAAF,CAAahxQ,CAAb,EAAe,OAAf,KAAyB3K,CAAC,CAAC27Q,UAAF,CAAahxQ,CAAb,EAAe,WAAf,CAAxC,CAAP;AAA4E;;AAAA,UAAMszS,EAAE,GAACviE,EAAE,CAAC,QAAD,CAAX;;AAAsB,UAAMwiE,EAAN,SAAiB70D,EAAjB,CAAmB;AAAsB,iBAAVwB,UAAU,GAAE;AAAC,eAAM,kBAAN;AAAyB;;AAAAtpR,MAAAA,IAAI,GAAE;AAAC,cAAMy+B,CAAC,GAAC,KAAKgiF,MAAb;AAAA,cAAoBr3E,CAAC,GAAC3K,CAAC,CAACu1R,OAAF,CAAUz/G,IAAV,CAAep0K,QAArC;AAA8C1B,QAAAA,CAAC,CAACm1R,QAAF,CAAWvgS,GAAX,CAAe,WAAf,EAA2B,IAAI+7L,EAAJ,CAAO3wL,CAAP,CAA3B,GAAsC,KAAKwlO,QAAL,CAAc76N,CAAd,EAAgB,SAAhB,EAA2B,CAACA,CAAD,EAAGJ,CAAH,KAAO;AAAC26E,UAAAA,EAAE,CAAC36E,CAAD,CAAF,KAAQ0zS,EAAR,KAAaj+S,CAAC,CAACmqP,OAAF,CAAU,WAAV,GAAuB5/O,CAAC,CAACgqC,cAAF,EAApC;AAAwD,SAA3F,CAAtC;AAAoI;;AAA3O;;AAA4O,UAAM4pQ,EAAN,SAAiB90D,EAAjB,CAAmB;AAAsB,iBAAVwB,UAAU,GAAE;AAAC,eAAM,aAAN;AAAoB;;AAAAtpR,MAAAA,IAAI,GAAE;AAAC,cAAMy+B,CAAC,GAAC,KAAKgiF,MAAb;AAAoBhiF,QAAAA,CAAC,CAACklF,EAAF,CAAKojN,gBAAL,CAAsB1zS,GAAtB,CAA0B,WAA1B,EAAuC+V,CAAC,IAAE;AAAC,gBAAMJ,CAAC,GAACvK,CAAC,CAACm1R,QAAF,CAAW10T,GAAX,CAAe,WAAf,CAAR;AAAA,gBAAoC8rC,CAAC,GAAC,IAAImjL,EAAJ,CAAO/kL,CAAP,CAAtC;AAAA,gBAAgDh0B,CAAC,GAACg0B,CAAC,CAAC3K,CAApD;AAAsD,iBAAOuM,CAAC,CAACzH,GAAF,CAAM;AAAC4G,YAAAA,KAAK,EAAC/0B,CAAC,CAAC,YAAD,CAAR;AAAuB2G,YAAAA,IAAI,EAAC,4jDAA5B;AAAylDwnQ,YAAAA,SAAS,EAAC,QAAnmD;AAA4mDw0C,YAAAA,OAAO,EAAC,CAAC;AAArnD,WAAN,GAA+nD/sR,CAAC,CAACxX,IAAF,CAAO,WAAP,EAAoB03J,EAApB,CAAuBliJ,CAAvB,EAAyB,WAAzB,CAA/nD,EAAqqD,KAAKi7N,QAAL,CAAcj5N,CAAd,EAAgB,SAAhB,EAA2B,MAAI;AAACvM,YAAAA,CAAC,CAACmqP,OAAF,CAAU,WAAV,GAAuBnqP,CAAC,CAACu1R,OAAF,CAAUz/G,IAAV,CAAe9iI,KAAf,EAAvB;AAA8C,WAA9E,CAArqD,EAAsvDzmC,CAA7vD;AAA+vD,SAAh2D;AAAm2D;;AAA36D;;AAA46D,UAAM6xS,EAAN,SAAiB/0D,EAAjB,CAAmB;AAAoB,iBAAR0B,QAAQ,GAAE;AAAC,eAAM,CAACmzD,EAAD,EAAIC,EAAJ,CAAN;AAAc;;AAAqB,iBAAVtzD,UAAU,GAAE;AAAC,eAAM,WAAN;AAAkB;;AAA/E;;AAAgF,UAAMwzD,EAAN,SAAiB10D,EAAjB,CAAmB;AAAClqR,MAAAA,WAAW,CAACugC,CAAD,EAAG;AAAC,cAAMA,CAAN,GAAS,KAAK02S,MAAL,GAAY,EAArB,EAAwB,KAAK4H,eAAL,GAAqB,IAAIp5E,OAAJ,EAA7C,EAAyD,KAAK2kB,OAAL,EAAzD,EAAwE,KAAKD,0BAAL,GAAgC,CAAC,CAAzG,EAA2G,KAAKpkB,QAAL,CAAcxlO,CAAC,CAACr4B,IAAhB,EAAqB,KAArB,EAA4B,CAACq4B,CAAD,EAAG2K,CAAH,KAAO;AAACA,UAAAA,CAAC,CAAC,CAAD,CAAD,GAAK,EAAC,GAAGA,CAAC,CAAC,CAAD;AAAL,WAAL;AAAe,gBAAMJ,CAAC,GAACI,CAAC,CAAC,CAAD,CAAT;AAAaJ,UAAAA,CAAC,CAAC85Q,SAAF,KAAc95Q,CAAC,CAAC85Q,SAAF,GAAY;AAAC/+L,YAAAA,UAAU,EAAC,CAAC;AAAb,WAA1B;AAA2C,SAA3G,EAA6G;AAACK,UAAAA,QAAQ,EAAC;AAAV,SAA7G,CAA3G,EAA2O,KAAK6/I,QAAL,CAAcxlO,CAAC,CAACr4B,IAAhB,EAAqB,KAArB,EAA4B,CAACq4B,CAAD,EAAG2K,CAAH,KAAO;AAACA,UAAAA,CAAC,CAAC,CAAD,CAAD,CAAK05Q,SAAL,CAAe/+L,UAAf,IAA2B,KAAKi5N,UAAL,EAA3B;AAA6C,SAAjF,CAA3O;AAA+T;;AAAA10D,MAAAA,OAAO,GAAE;AAAC,aAAKxvH,SAAL,GAAe,KAAKq8K,MAAL,CAAY/pU,MAAZ,GAAmB,CAAlC;AAAoC;;AAAkB,UAAd6xU,cAAc,GAAE;AAAC,eAAO,KAAKF,eAAZ;AAA4B;;AAAAG,MAAAA,QAAQ,CAACz+S,CAAD,EAAG;AAAC,cAAM2K,CAAC,GAAC,KAAKq3E,MAAL,CAAYzlG,KAAZ,CAAkBmlB,QAAlB,CAA2BooP,SAAnC;AAAA,cAA6Cv/O,CAAC,GAAC;AAACm0S,UAAAA,MAAM,EAAC/zS,CAAC,CAACouQ,WAAF,GAAc5zQ,KAAK,CAAC7H,IAAN,CAAWqN,CAAC,CAAC4sP,SAAF,EAAX,CAAd,GAAwC,EAAhD;AAAmDD,UAAAA,UAAU,EAAC3sP,CAAC,CAAC2sP;AAAhE,SAA/C;AAA2H,aAAKo/C,MAAL,CAAYzwS,IAAZ,CAAiB;AAACuhG,UAAAA,KAAK,EAACxnG,CAAP;AAAS8pP,UAAAA,SAAS,EAACv/O;AAAnB,SAAjB,GAAwC,KAAKs/O,OAAL,EAAxC;AAAuD;;AAAA00D,MAAAA,UAAU,GAAE;AAAC,aAAK7H,MAAL,GAAY,EAAZ,EAAe,KAAK7sD,OAAL,EAAf;AAA8B;;AAAA80D,MAAAA,iBAAiB,CAAC3+S,CAAD,EAAG2K,CAAH,EAAKJ,CAAL,EAAO;AAAC,cAAMgC,CAAC,GAAC,KAAKy1E,MAAL,CAAYzlG,KAApB;AAAA,cAA0B5F,CAAC,GAAC41B,CAAC,CAAC7K,QAA9B;AAAA,cAAuC+K,CAAC,GAAC,EAAzC;AAAA,cAA4CnC,CAAC,GAACtK,CAAC,CAACx2B,GAAF,CAAOw2B,CAAC,IAAEA,CAAC,CAACqyQ,0BAAF,CAA6B9nQ,CAA7B,CAAV,CAA9C;AAAA,cAA0F63C,CAAC,GAAC93C,CAAC,CAACwxQ,IAAF,EAA5F;;AAAqG,aAAI,MAAM97Q,CAAV,IAAesK,CAAf,EAAiB;AAAC,gBAAMK,CAAC,GAAC3K,CAAC,CAACr2B,MAAF,CAAUq2B,CAAC,IAAEA,CAAC,CAACwD,IAAF,IAAQ7sB,CAAC,CAACq7R,SAAvB,EAAmCroS,MAAnC,CAA2Cq2B,CAAC,IAAE,CAAC4+S,EAAE,CAAC5+S,CAAD,EAAGoiD,CAAH,CAAjD,CAAR;AAAiEz3C,UAAAA,CAAC,CAACh+B,MAAF,KAAWkyU,EAAE,CAACl0S,CAAD,CAAF,EAAM8B,CAAC,CAACxG,IAAF,CAAO0E,CAAC,CAAC,CAAD,CAAR,CAAjB;AAA+B;;AAAA8B,QAAAA,CAAC,CAAC9/B,MAAF,IAAU4/B,CAAC,CAACm1K,MAAF,CAAU1hL,CAAC,IAAE;AAACA,UAAAA,CAAC,CAACm7P,YAAF,CAAe1uP,CAAf,EAAiB;AAACurP,YAAAA,QAAQ,EAACrtP;AAAV,WAAjB;AAA+B,SAA7C,CAAV;AAA0D;;AAAAm0S,MAAAA,KAAK,CAAC9+S,CAAD,EAAG2K,CAAH,EAAK;AAAC,cAAMJ,CAAC,GAAC,KAAKy3E,MAAL,CAAYzlG,KAApB;AAAA,cAA0BgwB,CAAC,GAAChC,CAAC,CAAC7I,QAA9B;;AAAuC,aAAK48S,eAAL,CAAqB1pT,GAArB,CAAyB+V,CAAzB;;AAA4B,cAAMh0B,CAAC,GAACqpB,CAAC,CAAC4qR,UAAF,CAAalyM,KAAb,GAAqB/uG,MAArB,CAA6Bq2B,CAAC,IAAEA,CAAC,CAAC04Q,mBAAlC,CAAR;AAAgE/hS,QAAAA,CAAC,CAAC44H,OAAF;;AAAY,aAAI,MAAMvvG,CAAV,IAAerpB,CAAf,EAAiB;AAAC,gBAAMA,CAAC,GAACqpB,CAAC,CAACqlR,WAAF,GAAc,CAAtB;AAAA,gBAAwB54Q,CAAC,GAACtH,KAAK,CAAC7H,IAAN,CAAWiP,CAAC,CAACu0C,OAAF,CAAUitO,aAAV,CAAwBp3S,CAAxB,CAAX,CAA1B;AAAA,gBAAiE2zB,CAAC,GAACu9Q,EAAE,CAAC,CAAC7nR,CAAC,CAACimR,WAAF,EAAD,CAAD,EAAmBx5Q,CAAnB,EAAqB;AAACs7Q,YAAAA,YAAY,EAAC,CAAC,CAAf;AAAiBrmR,YAAAA,QAAQ,EAAC,KAAKsgF,MAAL,CAAYzlG,KAAZ,CAAkBmlB,QAA5C;AAAqDinR,YAAAA,YAAY,EAAC,CAAC,CAAnE;AAAqEX,YAAAA,eAAe,EAAC,CAAC;AAAtF,WAArB,CAAF,CAAiHG,WAApL;;AAAgM,eAAI,IAAIxxS,CAAR,IAAa2zB,CAAb,EAAe;AAAC,kBAAMmC,CAAC,GAAC91B,CAAC,CAACovS,kBAAV;AAA6Bt5Q,YAAAA,CAAC,IAAE,CAAClC,CAAC,CAACy/O,SAAF,CAAYv9O,CAAZ,CAAJ,KAAqB91B,CAAC,GAAC,IAAImwS,EAAJ,CAAOnwS,CAAC,CAAC0uS,WAAT,CAAvB,GAA8C16Q,CAAC,CAACkgR,YAAF,CAAel0S,CAAf,CAA9C,EAAgE4zB,CAAC,CAACqlR,cAAF,CAAiBj5S,CAAjB,CAAhE,EAAoF41B,CAAC,CAACu0C,OAAF,CAAUmtO,oBAAV,CAA+BjuR,CAA/B,EAAiCrpB,CAAjC,CAApF;AAAwH;AAAC;AAAC;;AAAp9C;;AAAq9C,aAASkoU,EAAT,CAAY7+S,CAAZ,EAAc;AAACA,MAAAA,CAAC,CAAC6gD,IAAF,CAAQ,CAAC7gD,CAAD,EAAG2K,CAAH,KAAO3K,CAAC,CAACymF,KAAF,CAAQ7wF,QAAR,CAAiB+U,CAAC,CAAC87E,KAAnB,IAA0B,CAAC,CAA3B,GAA6B,CAA5C;;AAAgD,WAAI,IAAI97E,CAAC,GAAC,CAAV,EAAYA,CAAC,GAAC3K,CAAC,CAACrzB,MAAhB,EAAuBg+B,CAAC,EAAxB,EAA2B;AAAC,cAAMJ,CAAC,GAACvK,CAAC,CAAC2K,CAAC,GAAC,CAAH,CAAD,CAAOwnQ,SAAP,CAAiBnyQ,CAAC,CAAC2K,CAAD,CAAlB,EAAsB,CAAC,CAAvB,CAAR;AAAkCJ,QAAAA,CAAC,KAAGI,CAAC,IAAG3K,CAAC,CAACmjG,MAAF,CAASx4F,CAAT,EAAW,CAAX,EAAaJ,CAAb,CAAP,CAAD;AAAyB;AAAC;;AAAA,aAASq0S,EAAT,CAAY5+S,CAAZ,EAAc2K,CAAd,EAAgB;AAAC,aAAOA,CAAC,CAAC9uB,IAAF,CAAQ8uB,CAAC,IAAEA,CAAC,KAAG3K,CAAJ,IAAO2K,CAAC,CAAC2rP,aAAF,CAAgBt2P,CAAhB,EAAkB,CAAC,CAAnB,CAAlB,CAAP;AAAiD;;AAAA,UAAM++S,EAAN,SAAiBV,EAAjB,CAAmB;AAACl0D,MAAAA,OAAO,CAACnqP,CAAC,GAAC,IAAH,EAAQ;AAAC,cAAM2K,CAAC,GAAC3K,CAAC,GAAC,KAAK02S,MAAL,CAAYv+T,SAAZ,CAAuBwyB,CAAC,IAAEA,CAAC,CAAC68F,KAAF,IAASxnG,CAAnC,CAAD,GAAwC,KAAK02S,MAAL,CAAY/pU,MAAZ,GAAmB,CAApE;AAAA,cAAsE49B,CAAC,GAAC,KAAKmsS,MAAL,CAAYvzM,MAAZ,CAAmBx4F,CAAnB,EAAqB,CAArB,EAAwB,CAAxB,CAAxE;AAAA,cAAmG4B,CAAC,GAAC,KAAKy1E,MAAL,CAAYzlG,KAAZ,CAAkBi4S,WAAlB,CAA8B;AAAC9J,UAAAA,MAAM,EAAC,CAAC;AAAT,SAA9B,CAArG;;AAAgJ,aAAK1oM,MAAL,CAAYzlG,KAAZ,CAAkB8oG,aAAlB,CAAgC94E,CAAhC,EAAmC,MAAI;AAAC,eAAKuyS,KAAL,CAAWv0S,CAAC,CAACi9F,KAAb,EAAmBj7F,CAAnB;;AAAsB,gBAAMvM,CAAC,GAAC,KAAKgiF,MAAL,CAAYzlG,KAAZ,CAAkBmlB,QAAlB,CAA2Bo/C,OAA3B,CAAmCitO,aAAnC,CAAiDxjR,CAAC,CAACi9F,KAAF,CAAQ69K,WAAzD,CAAR;;AAA8E,eAAKs5B,iBAAL,CAAuBp0S,CAAC,CAACu/O,SAAF,CAAY40D,MAAnC,EAA0Cn0S,CAAC,CAACu/O,SAAF,CAAYwN,UAAtD,EAAiEt3P,CAAjE;AAAoE,SAAhN,GAAmN,KAAK0lF,IAAL,CAAU,QAAV,EAAmBn7E,CAAC,CAACi9F,KAArB,EAA2Bj7F,CAA3B,CAAnN,EAAiP,KAAKs9O,OAAL,EAAjP;AAAgQ;;AAAja;;AAAka,UAAMm1D,EAAN,SAAiBX,EAAjB,CAAmB;AAACl0D,MAAAA,OAAO,GAAE;AAAC,cAAMnqP,CAAC,GAAC,KAAK02S,MAAL,CAAYn4S,GAAZ,EAAR;AAAA,cAA0BoM,CAAC,GAAC,KAAKq3E,MAAL,CAAYzlG,KAAZ,CAAkBi4S,WAAlB,CAA8B;AAAC9J,UAAAA,MAAM,EAAC,CAAC;AAAT,SAA9B,CAA5B;;AAAuE,aAAK1oM,MAAL,CAAYzlG,KAAZ,CAAkB8oG,aAAlB,CAAgC16E,CAAhC,EAAmC,MAAI;AAAC,gBAAMJ,CAAC,GAACvK,CAAC,CAACwnG,KAAF,CAAQojL,UAAR,CAAmB5qR,CAAC,CAACwnG,KAAF,CAAQojL,UAAR,CAAmBj+S,MAAnB,GAA0B,CAA7C,EAAgD04S,WAAhD,GAA4D,CAApE;AAAA,gBAAsE94Q,CAAC,GAAC,KAAKy1E,MAAL,CAAYzlG,KAAZ,CAAkBmlB,QAAlB,CAA2Bo/C,OAA3B,CAAmCitO,aAAnC,CAAiDxjR,CAAjD,CAAxE;AAA4H,eAAKo0S,iBAAL,CAAuB3+S,CAAC,CAAC8pP,SAAF,CAAY40D,MAAnC,EAA0C1+S,CAAC,CAAC8pP,SAAF,CAAYwN,UAAtD,EAAiE/qP,CAAjE,GAAoE,KAAKuyS,KAAL,CAAW9+S,CAAC,CAACwnG,KAAb,EAAmB78F,CAAnB,CAApE;AAA0F,SAA9P,GAAiQ,KAAKk/O,OAAL,EAAjQ;AAAgR;;AAAlW;;AAAmW,UAAMo1D,EAAN,SAAiB51D,EAAjB,CAAmB;AAAC5pR,MAAAA,WAAW,GAAE;AAAC,cAAM,GAAG+qC,SAAT,GAAoB,KAAK00S,cAAL,GAAoB,IAAIh6E,OAAJ,EAAxC;AAAoD;;AAAqB,iBAAV2lB,UAAU,GAAE;AAAC,eAAM,aAAN;AAAoB;;AAAAtpR,MAAAA,IAAI,GAAE;AAAC,cAAMy+B,CAAC,GAAC,KAAKgiF,MAAb;AAAoB,aAAKm9N,YAAL,GAAkB,IAAIJ,EAAJ,CAAO/+S,CAAP,CAAlB,EAA4B,KAAKo/S,YAAL,GAAkB,IAAIJ,EAAJ,CAAOh/S,CAAP,CAA9C,EAAwDA,CAAC,CAACm1R,QAAF,CAAWvgS,GAAX,CAAe,MAAf,EAAsB,KAAKuqT,YAA3B,CAAxD,EAAiGn/S,CAAC,CAACm1R,QAAF,CAAWvgS,GAAX,CAAe,MAAf,EAAsB,KAAKwqT,YAA3B,CAAjG,EAA0I,KAAK55E,QAAL,CAAcxlO,CAAC,CAACzjB,KAAhB,EAAsB,gBAAtB,EAAwC,CAACyjB,CAAD,EAAG2K,CAAH,KAAO;AAAC,gBAAMJ,CAAC,GAACI,CAAC,CAAC,CAAD,CAAT;AAAa,cAAG,CAACJ,CAAC,CAACmuQ,mBAAN,EAA0B;;AAAO,gBAAMnsQ,CAAC,GAAChC,CAAC,CAACi9F,KAAV;AAAA,gBAAgB7wH,CAAC,GAAC,KAAKyoU,YAAL,CAAkBZ,cAAlB,CAAiC1vR,GAAjC,CAAqCviB,CAArC,CAAlB;AAAA,gBAA0DE,CAAC,GAAC,KAAK0yS,YAAL,CAAkBX,cAAlB,CAAiC1vR,GAAjC,CAAqCviB,CAArC,CAA5D;;AAAoG,eAAK2yS,cAAL,CAAoBpwR,GAApB,CAAwBviB,CAAxB,MAA6B,KAAK2yS,cAAL,CAAoBtqT,GAApB,CAAwB2X,CAAxB,GAA2BA,CAAC,CAAC+4E,UAAF,KAAe3uG,CAAC,GAAC,KAAKwoU,YAAL,CAAkBV,QAAlB,CAA2BlyS,CAA3B,CAAD,GAA+BE,CAAC,KAAG,KAAK0yS,YAAL,CAAkBV,QAAlB,CAA2BlyS,CAA3B,GAA8B,KAAK6yS,YAAL,CAAkBb,UAAlB,EAAjC,CAAhD,CAAxD;AAA2K,SAA7W,EAA+W;AAAC54N,UAAAA,QAAQ,EAAC;AAAV,SAA/W,CAA1I,EAA+gB,KAAK6/I,QAAL,CAAc,KAAK25E,YAAnB,EAAgC,QAAhC,EAA0C,CAACn/S,CAAD,EAAG2K,CAAH,EAAKJ,CAAL,KAAS;AAAC,eAAK60S,YAAL,CAAkBX,QAAlB,CAA2Bl0S,CAA3B;AAA8B,SAAlF,CAA/gB,EAAomBvK,CAAC,CAAConP,UAAF,CAAatiP,GAAb,CAAiB,QAAjB,EAA0B,MAA1B,CAApmB,EAAsoB9E,CAAC,CAAConP,UAAF,CAAatiP,GAAb,CAAiB,QAAjB,EAA0B,MAA1B,CAAtoB,EAAwqB9E,CAAC,CAAConP,UAAF,CAAatiP,GAAb,CAAiB,cAAjB,EAAgC,MAAhC,CAAxqB;AAAgtB;;AAA11B;;AAA21B,UAAMu6S,EAAE,GAAC,4UAAT;AAAA,UAAsVC,EAAE,GAAC,4UAAzV;;AAAsqB,UAAMC,EAAN,SAAiBl2D,EAAjB,CAAmB;AAAsB,iBAAVwB,UAAU,GAAE;AAAC,eAAM,QAAN;AAAe;;AAAAtpR,MAAAA,IAAI,GAAE;AAAC,cAAMy+B,CAAC,GAAC,KAAKgiF,MAAb;AAAA,cAAoBr3E,CAAC,GAAC3K,CAAC,CAACm3L,MAAxB;AAAA,cAA+B5sL,CAAC,GAACvK,CAAC,CAACA,CAAnC;AAAA,cAAqCuM,CAAC,GAAC,SAAO5B,CAAC,CAACuxO,mBAAT,GAA6BmjE,EAA7B,GAAgCC,EAAvE;AAAA,cAA0E3oU,CAAC,GAAC,SAAOg0B,CAAC,CAACuxO,mBAAT,GAA6BojE,EAA7B,GAAgCD,EAA5G;AAA+G,aAAKtO,UAAL,CAAgB,MAAhB,EAAuBxmS,CAAC,CAAC,MAAD,CAAxB,EAAiC,QAAjC,EAA0CgC,CAA1C,GAA6C,KAAKwkS,UAAL,CAAgB,MAAhB,EAAuBxmS,CAAC,CAAC,MAAD,CAAxB,EAAiC,QAAjC,EAA0C5zB,CAA1C,CAA7C;AAA0F;;AAAAo6T,MAAAA,UAAU,CAAC/wS,CAAD,EAAG2K,CAAH,EAAKJ,CAAL,EAAOgC,CAAP,EAAS;AAAC,cAAM51B,CAAC,GAAC,KAAKqrG,MAAb;AAAoBrrG,QAAAA,CAAC,CAACuuG,EAAF,CAAKojN,gBAAL,CAAsB1zS,GAAtB,CAA0BoL,CAA1B,EAA6ByM,CAAC,IAAE;AAAC,gBAAMnC,CAAC,GAAC3zB,CAAC,CAACw+S,QAAF,CAAW10T,GAAX,CAAeu/B,CAAf,CAAR;AAAA,gBAA0BoiD,CAAC,GAAC,IAAIstI,EAAJ,CAAOjjL,CAAP,CAA5B;AAAsC,iBAAO21C,CAAC,CAACt9C,GAAF,CAAM;AAAC4G,YAAAA,KAAK,EAACf,CAAP;AAASrtB,YAAAA,IAAI,EAACivB,CAAd;AAAgBu4O,YAAAA,SAAS,EAACv6O,CAA1B;AAA4B+uR,YAAAA,OAAO,EAAC,CAAC;AAArC,WAAN,GAA+Cl3O,CAAC,CAACrtD,IAAF,CAAO,WAAP,EAAoB03J,EAApB,CAAuBniJ,CAAvB,EAAyB,WAAzB,CAA/C,EAAqF,KAAKk7N,QAAL,CAAcpjL,CAAd,EAAgB,SAAhB,EAA2B,MAAI;AAACzrE,YAAAA,CAAC,CAACwzQ,OAAF,CAAUnqP,CAAV,GAAarpB,CAAC,CAAC4+S,OAAF,CAAUz/G,IAAV,CAAe9iI,KAAf,EAAb;AAAoC,WAApE,CAArF,EAA4JoP,CAAnK;AAAqK,SAA5O;AAA+O;;AAA/gB;;AAAghB,UAAMo9P,EAAN,SAAiBn2D,EAAjB,CAAmB;AAAoB,iBAAR0B,QAAQ,GAAE;AAAC,eAAM,CAACk0D,EAAD,EAAIM,EAAJ,CAAN;AAAc;;AAAqB,iBAAV10D,UAAU,GAAE;AAAC,eAAM,MAAN;AAAa;;AAA1E;;AAA2E,UAAM40D,EAAN,SAAiB91D,EAAjB,CAAmB;AAAClqR,MAAAA,WAAW,CAACugC,CAAD,EAAG2K,CAAH,EAAK;AAAC,cAAM3K,CAAN,GAAS,KAAK+1Q,YAAL,GAAkBprQ,CAA3B;AAA6B;;AAAAk/O,MAAAA,OAAO,GAAE;AAAC,cAAM7pP,CAAC,GAAC,KAAKgiF,MAAL,CAAYzlG,KAApB;AAAA,cAA0BouB,CAAC,GAAC3K,CAAC,CAAC0B,QAA9B;AAAuC,aAAKxwB,KAAL,GAAWy5B,CAAC,CAACm/O,SAAF,CAAYjI,YAAZ,CAAyB,KAAKk0B,YAA9B,CAAX,EAAuD,KAAK17I,SAAL,GAAer6H,CAAC,CAAC2hP,MAAF,CAASy+B,yBAAT,CAAmCz1Q,CAAC,CAACm/O,SAArC,EAA+C,KAAKisB,YAApD,CAAtE;AAAwI;;AAAA5rB,MAAAA,OAAO,CAACnqP,CAAC,GAAC,EAAH,EAAM;AAAC,cAAM2K,CAAC,GAAC,KAAKq3E,MAAL,CAAYzlG,KAApB;AAAA,cAA0BguB,CAAC,GAACI,CAAC,CAACjJ,QAAF,CAAWooP,SAAvC;AAAA,cAAiDv9O,CAAC,GAACvM,CAAC,CAAC9uB,KAArD;AAAA,cAA2DyF,CAAC,GAACqpB,CAAC,CAACwnG,KAA/D;AAAA,cAAqE/6F,CAAC,GAACzM,CAAC,IAAE;AAAC,cAAGuK,CAAC,CAACyrP,WAAL,EAAiBzpP,CAAC,GAACvM,CAAC,CAAC4wR,qBAAF,CAAwB,KAAK7a,YAA7B,EAA0CxpQ,CAA1C,CAAD,GAA8CvM,CAAC,CAACskR,wBAAF,CAA2B,KAAKvO,YAAhC,CAA/C,CAAjB,KAAkH;AAAC,kBAAMp/R,CAAC,GAACg0B,CAAC,CAACg3O,MAAF,CAAS0+B,cAAT,CAAwB91Q,CAAC,CAACgtP,SAAF,EAAxB,EAAsC,KAAKwe,YAA3C,CAAR;;AAAiE,iBAAI,MAAMprQ,CAAV,IAAeh0B,CAAf,EAAiB41B,CAAC,GAACvM,CAAC,CAAC07C,YAAF,CAAe,KAAKq6N,YAApB,EAAiCxpQ,CAAjC,EAAmC5B,CAAnC,CAAD,GAAuC3K,CAAC,CAAC6jO,eAAF,CAAkB,KAAKkyC,YAAvB,EAAoCprQ,CAApC,CAAxC;AAA+E;AAAC,SAAhW;;AAAiWh0B,QAAAA,CAAC,GAACg0B,CAAC,CAAC06E,aAAF,CAAgB1uG,CAAhB,EAAmBqpB,CAAC,IAAE;AAACyM,UAAAA,CAAC,CAACzM,CAAD,CAAD;AAAK,SAA5B,CAAD,GAAgC2K,CAAC,CAAC+2K,MAAF,CAAU1hL,CAAC,IAAE;AAACyM,UAAAA,CAAC,CAACzM,CAAD,CAAD;AAAK,SAAnB,CAAjC;AAAuD;;AAA9oB;;AAA+oB,UAAM0/S,EAAE,GAAC,UAAT;;AAAoB,UAAMC,EAAN,SAAiBF,EAAjB,CAAmB;AAAChgV,MAAAA,WAAW,CAACugC,CAAD,EAAG;AAAC,cAAMA,CAAN,EAAQ0/S,EAAR;AAAY;;AAA5B;;AAA6B,aAASE,EAAT,CAAY5/S,CAAZ,EAAc;AAAC,aAAOA,CAAC,CAACx2B,GAAF,CAAOw2B,CAAC,IAAE,UAASA,CAAT,EAAW;AAAC,oBAAU,OAAOA,CAAjB,KAAqBA,CAAC,GAAC0/B,MAAM,CAAC1/B,CAAD,CAA7B;AAAkC,YAAG,YAAU,OAAOA,CAAjB,KAAqB2K,CAAC,GAAC3K,CAAF,EAAI2K,CAAC,CAACt6B,KAAF,IAASs6B,CAAC,CAACpuB,KAAX,IAAkBouB,CAAC,CAACmrK,IAA7C,CAAH,EAAsD,OAAO+pI,EAAE,CAAC7/S,CAAD,CAAT;AAAa,YAAI2K,CAAJ;;AAAM,cAAMJ,CAAC,GAAC,UAASvK,CAAT,EAAW;AAAC,iBAAM,YAAU,OAAOA,CAAjB,GAAmB8/S,EAAE,CAAC9/S,CAAD,CAArB,GAAyB8/S,EAAE,CAAC9/S,CAAC,CAACzjB,KAAH,CAAjC;AAA2C,SAAvD,CAAwDyjB,CAAxD,CAAR;;AAAmE,YAAGuK,CAAH,EAAK,OAAOs1S,EAAE,CAACt1S,CAAD,CAAT;AAAa,YAAG,cAAYvK,CAAf,EAAiB,OAAM;AAACzjB,UAAAA,KAAK,EAAC,KAAK,CAAZ;AAAclM,UAAAA,KAAK,EAAC;AAApB,SAAN;AAAqC,YAAG,UAAS2vB,CAAT,EAAW;AAAC,cAAI2K,CAAJ;;AAAM,cAAG,YAAU,OAAO3K,CAApB,EAAsB;AAAC,gBAAG,CAACA,CAAC,CAACzjB,KAAN,EAAY,MAAM,IAAI4lE,CAAJ,CAAM,8BAAN,EAAqC,IAArC,EAA0CniD,CAA1C,CAAN;AAAmD2K,YAAAA,CAAC,GAACypG,UAAU,CAACp0G,CAAC,CAACzjB,KAAH,CAAZ;AAAsB,WAA5G,MAAiHouB,CAAC,GAACypG,UAAU,CAACp0G,CAAD,CAAZ;;AAAgB,iBAAOtM,KAAK,CAACiX,CAAD,CAAZ;AAAgB,SAAnK,CAAoK3K,CAApK,CAAH,EAA0K;AAAO,eAAO,UAASA,CAAT,EAAW;AAAC,sBAAU,OAAOA,CAAjB,KAAqBA,CAAC,GAAC;AAAC3vB,YAAAA,KAAK,EAAC2vB,CAAP;AAASzjB,YAAAA,KAAK,EAAE,GAAE63H,UAAU,CAACp0G,CAAD,CAAI;AAAhC,WAAvB;AAA6D,iBAAOA,CAAC,CAAC81K,IAAF,GAAO;AAACtlM,YAAAA,IAAI,EAAC,MAAN;AAAagiP,YAAAA,MAAM,EAAC;AAAC,2BAAYxyN,CAAC,CAACzjB;AAAf;AAApB,WAAP,EAAkDsjU,EAAE,CAAC7/S,CAAD,CAA3D;AAA+D,SAAxI,CAAyIA,CAAzI,CAAP;AAAmJ,OAAtkB,CAAukBA,CAAvkB,CAAV,EAAslBr2B,MAAtlB,CAA8lBq2B,CAAC,IAAE,KAAK,CAAL,KAASA,CAA1mB,CAAP;AAAqnB;;AAAA,UAAM8/S,EAAE,GAAC;AAAC,UAAIC,IAAJ,GAAU;AAAC,eAAM;AAAC1vU,UAAAA,KAAK,EAAC,MAAP;AAAckM,UAAAA,KAAK,EAAC,MAApB;AAA2Bu5L,UAAAA,IAAI,EAAC;AAACtlM,YAAAA,IAAI,EAAC,MAAN;AAAa49Q,YAAAA,OAAO,EAAC,WAArB;AAAiCzoK,YAAAA,QAAQ,EAAC;AAA1C;AAAhC,SAAN;AAAoF,OAAhG;;AAAiG,UAAIq6N,KAAJ,GAAW;AAAC,eAAM;AAAC3vU,UAAAA,KAAK,EAAC,OAAP;AAAekM,UAAAA,KAAK,EAAC,OAArB;AAA6Bu5L,UAAAA,IAAI,EAAC;AAACtlM,YAAAA,IAAI,EAAC,MAAN;AAAa49Q,YAAAA,OAAO,EAAC,YAArB;AAAkCzoK,YAAAA,QAAQ,EAAC;AAA3C;AAAlC,SAAN;AAAuF,OAApM;;AAAqM,UAAIs6N,GAAJ,GAAS;AAAC,eAAM;AAAC5vU,UAAAA,KAAK,EAAC,KAAP;AAAakM,UAAAA,KAAK,EAAC,KAAnB;AAAyBu5L,UAAAA,IAAI,EAAC;AAACtlM,YAAAA,IAAI,EAAC,MAAN;AAAa49Q,YAAAA,OAAO,EAAC,UAArB;AAAgCzoK,YAAAA,QAAQ,EAAC;AAAzC;AAA9B,SAAN;AAAiF,OAAhS;;AAAiS,UAAIu6N,IAAJ,GAAU;AAAC,eAAM;AAAC7vU,UAAAA,KAAK,EAAC,MAAP;AAAckM,UAAAA,KAAK,EAAC,MAApB;AAA2Bu5L,UAAAA,IAAI,EAAC;AAACtlM,YAAAA,IAAI,EAAC,MAAN;AAAa49Q,YAAAA,OAAO,EAAC,WAArB;AAAiCzoK,YAAAA,QAAQ,EAAC;AAA1C;AAAhC,SAAN;AAAoF;;AAAhY,KAAT;;AAA2Y,aAASk6N,EAAT,CAAY7/S,CAAZ,EAAc;AAAC,aAAOA,CAAC,CAAC81K,IAAF,IAAQ,YAAU,OAAO91K,CAAC,CAAC81K,IAA3B,IAAiC,CAAC91K,CAAC,CAAC81K,IAAF,CAAOnwF,QAAzC,KAAoD3lF,CAAC,CAAC81K,IAAF,CAAOnwF,QAAP,GAAgB,CAApE,GAAuE3lF,CAA9E;AAAgF;;AAAA,UAAMmgT,EAAE,GAAC,CAAC,SAAD,EAAW,SAAX,EAAqB,OAArB,EAA6B,QAA7B,EAAsC,OAAtC,EAA8C,SAA9C,EAAwD,UAAxD,EAAmE,WAAnE,CAAT;;AAAyF,UAAMC,EAAN,SAAiB/2D,EAAjB,CAAmB;AAAsB,iBAAVwB,UAAU,GAAE;AAAC,eAAM,iBAAN;AAAwB;;AAAAprR,MAAAA,WAAW,CAACugC,CAAD,EAAG;AAAC,cAAMA,CAAN,GAASA,CAAC,CAACtgC,MAAF,CAAS69M,MAAT,CAAgBmiI,EAAhB,EAAmB;AAAChyT,UAAAA,OAAO,EAAC,CAAC,MAAD,EAAQ,OAAR,EAAgB,SAAhB,EAA0B,KAA1B,EAAgC,MAAhC,CAAT;AAAiD2yT,UAAAA,gBAAgB,EAAC,CAAC;AAAnE,SAAnB,CAAT;AAAmG;;AAAA9+U,MAAAA,IAAI,GAAE;AAAC,cAAMy+B,CAAC,GAAC,KAAKgiF,MAAb;AAAoBhiF,QAAAA,CAAC,CAACzjB,KAAF,CAAQolQ,MAAR,CAAe3qD,MAAf,CAAsB,OAAtB,EAA8B;AAAC+oF,UAAAA,eAAe,EAAC2/B;AAAjB,SAA9B,GAAoD1/S,CAAC,CAACzjB,KAAF,CAAQolQ,MAAR,CAAew+B,sBAAf,CAAsCu/B,EAAtC,EAAyC;AAACjP,UAAAA,YAAY,EAAC,CAAC,CAAf;AAAiBY,UAAAA,WAAW,EAAC,CAAC;AAA9B,SAAzC,CAApD;;AAA+H,cAAM1mS,CAAC,GAAC3K,CAAC,CAACtgC,MAAF,CAASe,GAAT,CAAa,2BAAb,CAAR;AAAA,cAAkD8pC,CAAC,GAACq1S,EAAE,CAAC,KAAK59N,MAAL,CAAYtiH,MAAZ,CAAmBe,GAAnB,CAAuB,kBAAvB,CAAD,CAAF,CAA+CkJ,MAA/C,CAAuDq2B,CAAC,IAAEA,CAAC,CAACzjB,KAA5D,CAApD;AAAA,cAAwHgwB,CAAC,GAAC,UAASvM,CAAT,EAAW2K,CAAX,EAAa;AAAC,gBAAMJ,CAAC,GAAC;AAAChuB,YAAAA,KAAK,EAAC;AAACupB,cAAAA,GAAG,EAAC9F,CAAL;AAAOqhB,cAAAA,MAAM,EAAC;AAAd,aAAP;AAAyBy0J,YAAAA,IAAI,EAAC,EAA9B;AAAiCovG,YAAAA,UAAU,EAAC;AAA5C,WAAR;;AAAwD,eAAI,MAAMllR,CAAV,IAAe2K,CAAf,EAAiBJ,CAAC,CAAChuB,KAAF,CAAQ8kC,MAAR,CAAepb,IAAf,CAAoBjG,CAAC,CAACzjB,KAAtB,GAA6BguB,CAAC,CAACurK,IAAF,CAAO91K,CAAC,CAACzjB,KAAT,IAAgByjB,CAAC,CAAC81K,IAA/C,EAAoD91K,CAAC,CAACklR,UAAF,KAAe36Q,CAAC,CAAC26Q,UAAF,CAAallR,CAAC,CAACzjB,KAAf,IAAsByjB,CAAC,CAACklR,UAAvC,CAApD;;AAAuG,iBAAO36Q,CAAP;AAAS,SAAvM,CAAwMm1S,EAAxM,EAA2Mn1S,CAA3M,CAA1H;;AAAwUI,QAAAA,CAAC,IAAE,KAAK21S,0BAAL,CAAgC/zS,CAAhC,GAAmC,KAAKg0S,8BAAL,EAArC,IAA4EvgT,CAAC,CAACk5N,UAAF,CAAa6iD,kBAAb,CAAgCxvQ,CAAhC,CAA7E,EAAgHvM,CAAC,CAACm1R,QAAF,CAAWvgS,GAAX,CAAe8qT,EAAf,EAAkB,IAAIC,EAAJ,CAAO3/S,CAAP,CAAlB,CAAhH;AAA6I;;AAAAsgT,MAAAA,0BAA0B,CAACtgT,CAAD,EAAG;AAAC,cAAM2K,CAAC,GAAC,KAAKq3E,MAAb;AAAA,cAAoBz3E,CAAC,GAACvK,CAAC,CAACzjB,KAAF,CAAQ8kC,MAAR,CAAe13C,MAAf,CAAuBq2B,CAAC,IAAE;AAAC,iBAAM,EAAE2K,CAAC,GAAC+0B,MAAM,CAAC1/B,CAAD,CAAR,EAAY40R,EAAE,CAACv/R,IAAH,CAAQsV,CAAR,KAAY,UAAS3K,CAAT,EAAW;AAAC,mBAAO60R,EAAE,CAACx/R,IAAH,CAAQ2K,CAAR,CAAP;AAAkB,WAA9B,CAA+B0/B,MAAM,CAAC1/B,CAAD,CAArC,CAA1B,CAAN;AAA2E,cAAI2K,CAAJ;AAAM,SAA5G,CAAtB;AAAqI,YAAGJ,CAAC,CAAC59B,MAAL,EAAY,MAAM,IAAIw1E,CAAJ,CAAM,wCAAN,EAA+C,IAA/C,EAAoD;AAACq+P,UAAAA,OAAO,EAACj2S;AAAT,SAApD,CAAN;AAAuEI,QAAAA,CAAC,CAACuuN,UAAF,CAAaxe,GAAb,CAAiB,UAAjB,EAA6BqhE,kBAA7B,CAAgD;AAACx/R,UAAAA,KAAK,EAACmjU,EAAP;AAAU5pI,UAAAA,IAAI,EAAC,CAAC91K,CAAD,EAAG;AAACulF,YAAAA,MAAM,EAAC56E;AAAR,WAAH,KAAgB;AAAC,gBAAG3K,CAAH,EAAK,OAAO2K,CAAC,CAAC0wP,sBAAF,CAAyB,MAAzB,EAAgC;AAAC9/M,cAAAA,KAAK,EAAC,eAAav7C;AAApB,aAAhC,EAAuD;AAAC2lF,cAAAA,QAAQ,EAAC;AAAV,aAAvD,CAAP;AAA4E;AAAjH,SAAhD,GAAoKh7E,CAAC,CAACuuN,UAAF,CAAaxe,GAAb,CAAiB,QAAjB,EAA2BuiE,kBAA3B,CAA8C;AAAC1gS,UAAAA,KAAK,EAAC;AAACupB,YAAAA,GAAG,EAAC45S,EAAL;AAAQxuU,YAAAA,KAAK,EAAC8uB,CAAC,IAAEA,CAAC,CAACuuP,QAAF,CAAW,WAAX;AAAjB,WAAP;AAAiDz4E,UAAAA,IAAI,EAAC;AAACtlM,YAAAA,IAAI,EAAC,MAAN;AAAagiP,YAAAA,MAAM,EAAC;AAAC,2BAAY;AAAb;AAApB;AAAtD,SAA9C,CAApK;AAAkT;;AAAA+tF,MAAAA,8BAA8B,GAAE;AAAC,aAAKv+N,MAAL,CAAYk3I,UAAZ,CAAuBxe,GAAvB,CAA2B,QAA3B,EAAqCuiE,kBAArC,CAAwD;AAACnnG,UAAAA,IAAI,EAAC;AAACtlM,YAAAA,IAAI,EAAC,MAAN;AAAayzG,YAAAA,UAAU,EAAC;AAAC9R,cAAAA,IAAI,EAAC;AAAN;AAAxB,WAAN;AAAuD51F,UAAAA,KAAK,EAAC;AAACupB,YAAAA,GAAG,EAAC45S,EAAL;AAAQxuU,YAAAA,KAAK,EAAC8uB,CAAC,IAAE;AAAC,oBAAM2K,CAAC,GAAC3K,CAAC,CAAC6hP,YAAF,CAAe,MAAf,CAAR;AAAA,oBAA+Bt3O,CAAC,GAAC,QAAMI,CAAC,CAAC,CAAD,CAAP,IAAY,QAAMA,CAAC,CAAC,CAAD,CAApD;AAAwD,kBAAI4B,CAAC,GAAC3I,QAAQ,CAAC+G,CAAD,EAAG,EAAH,CAAd;AAAqBJ,cAAAA,CAAC,KAAGgC,CAAC,GAAC,IAAEA,CAAP,CAAD;AAAW,oBAAM51B,CAAC,GAACwpU,EAAE,CAACxzU,MAAH,GAAU,CAAlB;AAAA,oBAAoB8/B,CAAC,GAACyvB,IAAI,CAACzqC,GAAL,CAASyqC,IAAI,CAAC1qC,GAAL,CAAS+a,CAAT,EAAW,CAAX,CAAT,EAAuB51B,CAAvB,CAAtB;AAAgD,qBAAOwpU,EAAE,CAAC1zS,CAAD,CAAT;AAAa;AAAvK;AAA7D,SAAxD;AAAgS;;AAA3nD;;AAA4nD,QAAIg0S,EAAE,GAACl2S,CAAC,CAAC,IAAD,CAAR;AAAA,QAAem2S,EAAE,GAAC;AAACzhE,MAAAA,UAAU,EAAC,mBAAZ;AAAgCh7J,MAAAA,UAAU,EAAC;AAAC,oBAAW,CAAC;AAAb,OAA3C;AAA2DqC,MAAAA,MAAM,EAAC,MAAlE;AAAyEy9I,MAAAA,SAAS,EAAC,CAAC;AAApF,KAAlB;AAAyG+a,IAAAA,EAAE,GAAG2hE,EAAE,CAACl+E,CAAN,EAAQm+E,EAAR,CAAF;AAAcD,IAAAA,EAAE,CAACl+E,CAAH,CAAK2c,MAAL;;AAAY,UAAMyhE,EAAN,SAAiBt3D,EAAjB,CAAmB;AAAsB,iBAAVwB,UAAU,GAAE;AAAC,eAAM,YAAN;AAAmB;;AAAAtpR,MAAAA,IAAI,GAAE;AAAC,cAAMy+B,CAAC,GAAC,KAAKgiF,MAAb;AAAA,cAAoBr3E,CAAC,GAAC3K,CAAC,CAACA,CAAxB;AAAA,cAA0BuK,CAAC,GAAC,KAAKq2S,oBAAL,EAA5B;AAAA,cAAwDr0S,CAAC,GAACvM,CAAC,CAACm1R,QAAF,CAAW10T,GAAX,CAAei/U,EAAf,CAA1D;AAAA,cAA6E/oU,CAAC,GAACg0B,CAAC,CAAC,WAAD,CAAhF;;AAA8F3K,QAAAA,CAAC,CAACklF,EAAF,CAAKojN,gBAAL,CAAsB1zS,GAAtB,CAA0B8qT,EAA1B,EAA8B/0S,CAAC,IAAE;AAAC,gBAAM8B,CAAC,GAAC+sR,EAAE,CAAC7uR,CAAD,CAAV;AAAc,iBAAOi3F,EAAE,CAACn1F,CAAD,EAAI,MAAI,UAASzM,CAAT,EAAW2K,CAAX,EAAa;AAAC,kBAAMJ,CAAC,GAAC,IAAI6xO,EAAJ,EAAR;;AAAe,iBAAI,MAAM7vO,CAAV,IAAevM,CAAf,EAAiB;AAAC,oBAAMA,CAAC,GAAC;AAAC/oB,gBAAAA,IAAI,EAAC,QAAN;AAAesF,gBAAAA,KAAK,EAAC,IAAIkuT,EAAJ,CAAO;AAACllL,kBAAAA,WAAW,EAACm6L,EAAb;AAAgBmB,kBAAAA,YAAY,EAACt0S,CAAC,CAAChwB,KAA/B;AAAqCmvB,kBAAAA,KAAK,EAACa,CAAC,CAACl8B,KAA7C;AAAmD+yQ,kBAAAA,KAAK,EAAC,oBAAzD;AAA8Ex1Q,kBAAAA,IAAI,EAAC,eAAnF;AAAmG2rT,kBAAAA,QAAQ,EAAC,CAAC;AAA7G,iBAAP;AAArB,eAAR;AAAsJhtR,cAAAA,CAAC,CAACupK,IAAF,IAAQ,YAAU,OAAOvpK,CAAC,CAACupK,IAA3B,KAAkCvpK,CAAC,CAACupK,IAAF,CAAO08C,MAAP,IAAexyN,CAAC,CAACzjB,KAAF,CAAQuoB,GAAR,CAAY,YAAZ,EAA0B,aAAYyH,CAAC,CAACupK,IAAF,CAAO08C,MAAP,CAAc,WAAd,CAA2B,EAAjE,CAAf,EAAmFjmN,CAAC,CAACupK,IAAF,CAAOs4E,OAAP,IAAgBpuP,CAAC,CAACzjB,KAAF,CAAQuoB,GAAR,CAAY,OAAZ,EAAqB,GAAE9E,CAAC,CAACzjB,KAAF,CAAQ6mQ,KAAM,IAAG72O,CAAC,CAACupK,IAAF,CAAOs4E,OAAQ,EAAvD,CAArI,GAAgMpuP,CAAC,CAACzjB,KAAF,CAAQwY,IAAR,CAAa,MAAb,EAAqB03J,EAArB,CAAwB9hJ,CAAxB,EAA0B,OAA1B,EAAmC3K,CAAC,IAAEA,CAAC,KAAGuM,CAAC,CAAChwB,KAA5C,CAAhM,EAAoPguB,CAAC,CAAC3V,GAAF,CAAMoL,CAAN,CAApP;AAA6P;;AAAA,mBAAOuK,CAAP;AAAS,WAA3c,CAA4cA,CAA5c,EAA8cgC,CAA9c,CAAR,EAA0d;AAAC3+B,YAAAA,IAAI,EAAC,MAAN;AAAakvT,YAAAA,SAAS,EAACnmT;AAAvB,WAA1d,CAAF,EAAuf81B,CAAC,CAACy6O,UAAF,CAAapiP,GAAb,CAAiB;AAAC4G,YAAAA,KAAK,EAAC/0B,CAAP;AAAS2G,YAAAA,IAAI,EAAC,kYAAd;AAAiZg8S,YAAAA,OAAO,EAAC,CAAC;AAA1Z,WAAjB,CAAvf,EAAs6B7sR,CAAC,CAACozO,cAAF,CAAiB;AAAC57J,YAAAA,UAAU,EAAC;AAACm/J,cAAAA,KAAK,EAAC,CAAC,uBAAD;AAAP;AAAZ,WAAjB,CAAt6B,EAAu+B32O,CAAC,CAAC1X,IAAF,CAAO,WAAP,EAAoB03J,EAApB,CAAuBlgJ,CAAvB,CAAv+B,EAAigC,KAAKi5N,QAAL,CAAc/4N,CAAd,EAAgB,SAAhB,EAA2B9B,CAAC,IAAE;AAAC3K,YAAAA,CAAC,CAACmqP,OAAF,CAAUx/O,CAAC,CAAC4R,MAAF,CAASgpG,WAAnB,EAA+B;AAACr0I,cAAAA,KAAK,EAACy5B,CAAC,CAAC4R,MAAF,CAASskS;AAAhB,aAA/B,GAA8D7gT,CAAC,CAACu1R,OAAF,CAAUz/G,IAAV,CAAe9iI,KAAf,EAA9D;AAAqF,WAApH,CAAjgC,EAAwnCvmC,CAA/nC;AAAioC,SAAjrC;AAAorC;;AAAAm0S,MAAAA,oBAAoB,GAAE;AAAC,cAAM5gT,CAAC,GAAC,KAAKgiF,MAAb;AAAA,cAAoBr3E,CAAC,GAAC3K,CAAC,CAACA,CAAxB;AAAA,cAA0BuK,CAAC,GAAC;AAACza,UAAAA,OAAO,EAAC6a,CAAC,CAAC,SAAD,CAAV;AAAsB0sN,UAAAA,IAAI,EAAC1sN,CAAC,CAAC,MAAD,CAA5B;AAAqCmsN,UAAAA,KAAK,EAACnsN,CAAC,CAAC,OAAD,CAA5C;AAAsD+pN,UAAAA,GAAG,EAAC/pN,CAAC,CAAC,KAAD,CAA3D;AAAmEorN,UAAAA,IAAI,EAACprN,CAAC,CAAC,MAAD;AAAzE,SAA5B;AAA+G,eAAOi1S,EAAE,CAAC5/S,CAAC,CAACtgC,MAAF,CAASe,GAAT,CAAai/U,EAAb,EAAiBhyT,OAAlB,CAAF,CAA6BlkB,GAA7B,CAAkCw2B,CAAC,IAAE;AAAC,gBAAM2K,CAAC,GAACJ,CAAC,CAACvK,CAAC,CAAC3vB,KAAH,CAAT;AAAmB,iBAAOs6B,CAAC,IAAEA,CAAC,IAAE3K,CAAC,CAAC3vB,KAAR,KAAgB2vB,CAAC,GAACmC,MAAM,CAACC,MAAP,CAAc,EAAd,EAAiBpC,CAAjB,EAAmB;AAAC3vB,YAAAA,KAAK,EAACs6B;AAAP,WAAnB,CAAlB,GAAiD3K,CAAxD;AAA0D,SAAnH,CAAP;AAA6H;;AAAxkD;;AAAykD,UAAM8gT,EAAN,SAAiBz3D,EAAjB,CAAmB;AAAsB,iBAAVwB,UAAU,GAAE;AAAC,eAAM,eAAN;AAAsB;;AAAAtpR,MAAAA,IAAI,GAAE;AAAC,cAAMy+B,CAAC,GAAC,KAAKgiF,MAAb;AAAoBhiF,QAAAA,CAAC,CAACm1R,QAAF,CAAWvgS,GAAX,CAAe,QAAf,EAAwB,IAAIw1P,EAAJ,CAAOpqP,CAAP,CAAxB,GAAmCA,CAAC,CAACm1R,QAAF,CAAWvgS,GAAX,CAAe,SAAf,EAAyB,IAAIw1P,EAAJ,CAAOpqP,CAAP,CAAzB,CAAnC;AAAuE;;AAAjJ;;AAAkJ,UAAM+gT,EAAE,GAAC,uYAAT;AAAA,UAAiZC,EAAE,GAAC,qYAApZ;;AAA0xB,UAAMC,EAAN,SAAiB53D,EAAjB,CAAmB;AAAsB,iBAAVwB,UAAU,GAAE;AAAC,eAAM,UAAN;AAAiB;;AAAAtpR,MAAAA,IAAI,GAAE;AAAC,cAAMy+B,CAAC,GAAC,KAAKgiF,MAAb;AAAA,cAAoBr3E,CAAC,GAAC3K,CAAC,CAACm3L,MAAxB;AAAA,cAA+B5sL,CAAC,GAACvK,CAAC,CAACA,CAAnC;AAAA,cAAqCuM,CAAC,GAAC,SAAO5B,CAAC,CAACuxO,mBAAT,GAA6B6kE,EAA7B,GAAgCC,EAAvE;AAAA,cAA0ErqU,CAAC,GAAC,SAAOg0B,CAAC,CAACuxO,mBAAT,GAA6B8kE,EAA7B,GAAgCD,EAA5G;AAA+G,aAAKG,aAAL,CAAmB,QAAnB,EAA4B32S,CAAC,CAAC,iBAAD,CAA7B,EAAiDgC,CAAjD,GAAoD,KAAK20S,aAAL,CAAmB,SAAnB,EAA6B32S,CAAC,CAAC,iBAAD,CAA9B,EAAkD5zB,CAAlD,CAApD;AAAyG;;AAAAuqU,MAAAA,aAAa,CAAClhT,CAAD,EAAG2K,CAAH,EAAKJ,CAAL,EAAO;AAAC,cAAMgC,CAAC,GAAC,KAAKy1E,MAAb;AAAoBz1E,QAAAA,CAAC,CAAC24E,EAAF,CAAKojN,gBAAL,CAAsB1zS,GAAtB,CAA0BoL,CAA1B,EAA6BrpB,CAAC,IAAE;AAAC,gBAAM81B,CAAC,GAACF,CAAC,CAAC4oR,QAAF,CAAW10T,GAAX,CAAeu/B,CAAf,CAAR;AAAA,gBAA0BsK,CAAC,GAAC,IAAIolL,EAAJ,CAAO/4M,CAAP,CAA5B;AAAsC,iBAAO2zB,CAAC,CAACxF,GAAF,CAAM;AAAC4G,YAAAA,KAAK,EAACf,CAAP;AAASrtB,YAAAA,IAAI,EAACitB,CAAd;AAAgB+uR,YAAAA,OAAO,EAAC,CAAC;AAAzB,WAAN,GAAmChvR,CAAC,CAACvV,IAAF,CAAO,WAAP,EAAoB03J,EAApB,CAAuBhgJ,CAAvB,EAAyB,WAAzB,CAAnC,EAAyE,KAAK+4N,QAAL,CAAcl7N,CAAd,EAAgB,SAAhB,EAA2B,MAAI;AAACiC,YAAAA,CAAC,CAAC49O,OAAF,CAAUnqP,CAAV,GAAauM,CAAC,CAACgpR,OAAF,CAAUz/G,IAAV,CAAe9iI,KAAf,EAAb;AAAoC,WAApE,CAAzE,EAAgJ1oC,CAAvJ;AAAyJ,SAAhO;AAAmO;;AAArhB;;AAAshB,UAAM62S,EAAN,SAAiBx3D,EAAjB,CAAmB;AAAClqR,MAAAA,WAAW,CAACugC,CAAD,EAAG2K,CAAH,EAAK;AAAC,cAAM3K,CAAN,GAAS,KAAKohT,eAAL,GAAqBz2S,CAA9B;AAAgC;;AAAAk/O,MAAAA,OAAO,GAAE;AAAC,cAAM7pP,CAAC,GAACs9O,EAAE,CAAC,KAAKt7J,MAAL,CAAYzlG,KAAZ,CAAkBmlB,QAAlB,CAA2BooP,SAA3B,CAAqC4tB,iBAArC,EAAD,CAAV;AAAqE13Q,QAAAA,CAAC,IAAE,KAAKqhT,2BAAL,CAAiCrhT,CAAjC,CAAH,GAAuC,KAAKq6H,SAAL,GAAe,KAAK+mL,eAAL,CAAqBE,YAArB,CAAkCthT,CAAC,CAAC6hP,YAAF,CAAe,aAAf,CAAlC,CAAtD,GAAuH,KAAKxnH,SAAL,GAAe,CAAC,CAAvI;AAAyI;;AAAA8vH,MAAAA,OAAO,GAAE;AAAC,cAAMnqP,CAAC,GAAC,KAAKgiF,MAAL,CAAYzlG,KAApB;AAAA,cAA0BouB,CAAC,GAAC,KAAK42S,kBAAL,EAA5B;;AAAsDvhT,QAAAA,CAAC,CAAC0hL,MAAF,CAAU1hL,CAAC,IAAE;AAAC,eAAI,MAAMuK,CAAV,IAAeI,CAAf,EAAiB;AAAC,kBAAMA,CAAC,GAACJ,CAAC,CAACs3O,YAAF,CAAe,aAAf,CAAR;AAAA,kBAAsCt1O,CAAC,GAAC,KAAK60S,eAAL,CAAqBI,aAArB,CAAmC72S,CAAnC,CAAxC;;AAA8E4B,YAAAA,CAAC,GAACvM,CAAC,CAAC07C,YAAF,CAAe,aAAf,EAA6BnvC,CAA7B,EAA+BhC,CAA/B,CAAD,GAAmCvK,CAAC,CAAC6jO,eAAF,CAAkB,aAAlB,EAAgCt5N,CAAhC,CAApC;AAAuE;AAAC,SAAtL;AAAyL;;AAAAg3S,MAAAA,kBAAkB,GAAE;AAAC,cAAMvhT,CAAC,GAAC,KAAKgiF,MAAL,CAAYzlG,KAAZ,CAAkBmlB,QAAlB,CAA2BooP,SAAnC;AAA6C,eAAO3kP,KAAK,CAAC7H,IAAN,CAAW0C,CAAC,CAAC03Q,iBAAF,EAAX,EAAkC/tS,MAAlC,CAA0Cq2B,CAAC,IAAE,KAAKqhT,2BAAL,CAAiCrhT,CAAjC,CAA7C,CAAP;AAA0F;;AAAAqhT,MAAAA,2BAA2B,CAACrhT,CAAD,EAAG;AAAC,cAAM2K,CAAC,GAAC,KAAKq3E,MAAb;AAAoB,YAAG,CAACr3E,CAAC,CAACpuB,KAAF,CAAQolQ,MAAR,CAAem5B,cAAf,CAA8B96Q,CAA9B,EAAgC,aAAhC,CAAJ,EAAmD,OAAM,CAAC,CAAP;AAAS,YAAG,CAAC2K,CAAC,CAAC84E,OAAF,CAAU30D,GAAV,CAAc,mBAAd,CAAJ,EAAuC,OAAM,CAAC,CAAP;AAAS,YAAG,CAAC,KAAKsyR,eAAL,CAAqBttB,SAAzB,EAAmC,OAAM,CAAC,CAAP;AAAS,eAAM,CAACnpR,CAAC,CAAC84E,OAAF,CAAUhjH,GAAV,CAAc,mBAAd,EAAmCghV,eAAnC,CAAmDzhT,CAAnD,CAAP;AAA6D;;AAAv6B;;AAAw6B,UAAM0hT,EAAN,CAAQ;AAACjiV,MAAAA,WAAW,CAACugC,CAAD,EAAG;AAAC,aAAK8zR,SAAL,GAAe,cAAY9zR,CAAC,CAAC0zM,SAA7B,EAAuC,KAAKr2H,MAAL,GAAYr9E,CAAC,CAACq9E,MAArD,EAA4D,KAAKi/G,IAAL,GAAUt8L,CAAC,CAACs8L,IAAxE;AAA6E;;AAAAglH,MAAAA,YAAY,CAACthT,CAAD,EAAG;AAAC,cAAM2K,CAAC,GAACypG,UAAU,CAACp0G,CAAC,IAAE,GAAJ,CAAlB;AAA2B,eAAO,KAAK8zR,SAAL,IAAgBnpR,CAAC,GAAC,CAAzB;AAA2B;;AAAA62S,MAAAA,aAAa,CAACxhT,CAAD,EAAG;AAAC,cAAM2K,CAAC,GAACypG,UAAU,CAACp0G,CAAC,IAAE,GAAJ,CAAlB;AAA2B,YAAG,EAAE,CAACA,CAAD,IAAIA,CAAC,CAAC+5E,QAAF,CAAW,KAAKuiH,IAAhB,CAAN,CAAH,EAAgC,OAAO,KAAKw3F,SAAL,GAAe,KAAKz2M,MAAL,GAAY,KAAKi/G,IAAhC,GAAqC,KAAK,CAAjD;AAAmD,cAAM/xL,CAAC,GAACI,CAAC,IAAE,KAAKmpR,SAAL,GAAe,KAAKz2M,MAApB,GAA2B,CAAC,KAAKA,MAAnC,CAAT;AAAoD,eAAO9yE,CAAC,GAAC,CAAF,GAAIA,CAAC,GAAC,KAAK+xL,IAAX,GAAgB,KAAK,CAA5B;AAA8B;;AAApX;;AAAqX,UAAMqlH,EAAN,CAAQ;AAACliV,MAAAA,WAAW,CAACugC,CAAD,EAAG;AAAC,aAAK8zR,SAAL,GAAe,cAAY9zR,CAAC,CAAC0zM,SAA7B,EAAuC,KAAK06C,OAAL,GAAapuP,CAAC,CAACouP,OAAtD;AAA8D;;AAAAkzD,MAAAA,YAAY,CAACthT,CAAD,EAAG;AAAC,cAAM2K,CAAC,GAAC,KAAKyjP,OAAL,CAAah2Q,OAAb,CAAqB4nB,CAArB,CAAR;AAAgC,eAAO,KAAK8zR,SAAL,GAAenpR,CAAC,GAAC,KAAKyjP,OAAL,CAAazhR,MAAb,GAAoB,CAArC,GAAuCg+B,CAAC,IAAE,CAAjD;AAAmD;;AAAA62S,MAAAA,aAAa,CAACxhT,CAAD,EAAG;AAAC,cAAM2K,CAAC,GAAC,KAAKyjP,OAAL,CAAah2Q,OAAb,CAAqB4nB,CAArB,CAAR;AAAA,cAAgCuK,CAAC,GAAC,KAAKupR,SAAL,GAAe,CAAf,GAAiB,CAAC,CAApD;AAAsD,eAAO,KAAK1lC,OAAL,CAAazjP,CAAC,GAACJ,CAAf,CAAP;AAAyB;;AAAjR;;AAAkR,UAAMq3S,EAAE,GAAC,CAAC,WAAD,EAAa,UAAb,EAAwB,UAAxB,EAAmC,UAAnC,EAA8C,UAA9C,EAAyD,UAAzD,EAAoE,UAApE,CAAT;AAAyF11S,IAAAA,MAAM,CAACC,QAAP;AAAgBD,IAAAA,MAAM,CAACC,QAAP;AAAgB,QAAI01S,EAAE,GAACt3S,CAAC,CAAC,IAAD,CAAR;AAAA,QAAeu3S,EAAE,GAAC;AAAC7iE,MAAAA,UAAU,EAAC,mBAAZ;AAAgCh7J,MAAAA,UAAU,EAAC;AAAC,oBAAW,CAAC;AAAb,OAA3C;AAA2DqC,MAAAA,MAAM,EAAC,MAAlE;AAAyEy9I,MAAAA,SAAS,EAAC,CAAC;AAApF,KAAlB;AAAyG+a,IAAAA,EAAE,GAAG+iE,EAAE,CAACt/E,CAAN,EAAQu/E,EAAR,CAAF;AAAcD,IAAAA,EAAE,CAACt/E,CAAH,CAAK2c,MAAL;AAAY,QAAI6iE,EAAE,GAACx3S,CAAC,CAAC,IAAD,CAAR;AAAA,QAAey3S,EAAE,GAAC;AAAC/iE,MAAAA,UAAU,EAAC,mBAAZ;AAAgCh7J,MAAAA,UAAU,EAAC;AAAC,oBAAW,CAAC;AAAb,OAA3C;AAA2DqC,MAAAA,MAAM,EAAC,MAAlE;AAAyEy9I,MAAAA,SAAS,EAAC,CAAC;AAApF,KAAlB;AAAyG+a,IAAAA,EAAE,GAAGijE,EAAE,CAACx/E,CAAN,EAAQy/E,EAAR,CAAF;AAAcD,IAAAA,EAAE,CAACx/E,CAAH,CAAK2c,MAAL;;AAAY,aAASpsD,EAAT,CAAY9yL,CAAZ,EAAc2K,CAAd,EAAgB;AAAC,YAAMJ,CAAC,GAACI,CAAC,CAACupQ,MAAV;AAAA,YAAiB3nQ,CAAC,GAAC5B,CAAC,CAAC46E,MAArB;AAAA,YAA4B5uG,CAAC,GAAC,cAAYqpB,CAAC,CAAC6hP,YAAF,CAAe,UAAf,CAAZ,GAAuC,IAAvC,GAA4C,IAA1E;AAAA,YAA+Ep1O,CAAC,GAAC,UAASzM,CAAT,EAAW;AAAC,cAAM2K,CAAC,GAAC3K,CAAC,CAACu7P,sBAAF,CAAyB,IAAzB,CAAR;AAAuC,eAAO5wP,CAAC,CAAC+oP,eAAF,GAAkBuuD,EAAlB,EAAqBt3S,CAA5B;AAA8B,OAAjF,CAAkF4B,CAAlF,CAAjF;AAAA,YAAsKjC,CAAC,GAACiC,CAAC,CAACgvP,sBAAF,CAAyB5kR,CAAzB,EAA2B,IAA3B,CAAxK;;AAAyM,aAAO41B,CAAC,CAAC+5E,MAAF,CAAS/5E,CAAC,CAAC4wP,gBAAF,CAAmB7yP,CAAnB,EAAqB,CAArB,CAAT,EAAiCmC,CAAjC,GAAoClC,CAAC,CAAC42P,YAAF,CAAenhQ,CAAf,EAAiByM,CAAjB,CAApC,EAAwDA,CAA/D;AAAiE;;AAAA,aAASy1S,EAAT,CAAYliT,CAAZ,EAAc2K,CAAd,EAAgBJ,CAAhB,EAAkBgC,CAAlB,EAAoB;AAAC,YAAM51B,CAAC,GAACg0B,CAAC,CAACw2C,MAAV;AAAA,YAAiB10C,CAAC,GAAClC,CAAC,CAAC2pQ,MAArB;AAAA,YAA4B5pQ,CAAC,GAACC,CAAC,CAACg7E,MAAhC;AAAuC,UAAInjC,CAAC,GAAC31C,CAAC,CAACwnQ,cAAF,CAAiB1nQ,CAAC,CAAC8wP,oBAAF,CAAuBr9P,CAAvB,CAAjB,CAAN;AAAkD,YAAM29I,CAAC,GAACwkK,EAAE,CAACniT,CAAC,CAAC43O,eAAH,EAAmB;AAACwqE,QAAAA,UAAU,EAAC,CAAC,CAAb;AAAeC,QAAAA,aAAa,EAAC,CAAC,CAA9B;AAAgCC,QAAAA,UAAU,EAACtiT,CAAC,CAAC6hP,YAAF,CAAe,YAAf;AAA3C,OAAnB,CAAV;AAAA,YAAuG31D,CAAC,GAAClsL,CAAC,CAAC43O,eAA3G;;AAA2H,UAAGj6F,CAAC,IAAEA,CAAC,CAACkkG,YAAF,CAAe,YAAf,KAA8B7hP,CAAC,CAAC6hP,YAAF,CAAe,YAAf,CAApC,EAAiE;AAAC,cAAM7hP,CAAC,GAACyM,CAAC,CAAC+mQ,aAAF,CAAgB71H,CAAhB,CAAR;AAA2Bv7F,QAAAA,CAAC,GAAC93C,CAAC,CAAC6xP,cAAF,CAAiB7xP,CAAC,CAAC8yP,mBAAF,CAAsBp9P,CAAtB,CAAjB,CAAF;AAA6C,OAA1I,MAA+I,IAAGksL,CAAC,IAAE,cAAYA,CAAC,CAAC17M,IAApB,EAAyB;AAAC4xE,QAAAA,CAAC,GAAC31C,CAAC,CAACwnQ,cAAF,CAAiB1nQ,CAAC,CAAC4wP,gBAAF,CAAmBjxE,CAAnB,EAAqB,KAArB,CAAjB,CAAF;;AAAgD,cAAMlsL,CAAC,GAACyM,CAAC,CAACymQ,sBAAF,CAAyB9wN,CAAzB,CAAR;AAAA,cAAoCz3C,CAAC,GAAC,UAAS3K,CAAT,EAAW;AAAC,eAAI,MAAM2K,CAAV,IAAe3K,CAAC,CAACgkF,WAAF,EAAf,EAA+B,IAAG,QAAMr5E,CAAC,CAACn6B,IAAR,IAAc,QAAMm6B,CAAC,CAACn6B,IAAzB,EAA8B,OAAOm6B,CAAP;;AAAS,iBAAO,IAAP;AAAY,SAA9F,CAA+F3K,CAA/F,CAAtC;;AAAwIoiD,QAAAA,CAAC,GAACz3C,CAAC,GAACL,CAAC,CAAC+yP,oBAAF,CAAuB1yP,CAAvB,CAAD,GAA2BL,CAAC,CAAC6yP,gBAAF,CAAmBn9P,CAAnB,EAAqB,KAArB,CAA9B;AAA0D,OAA5Q,MAAiRoiD,CAAC,GAAC31C,CAAC,CAACwnQ,cAAF,CAAiB1nQ,CAAC,CAAC8wP,oBAAF,CAAuBr9P,CAAvB,CAAjB,CAAF;;AAA8C,UAAGoiD,CAAC,GAACmgQ,EAAE,CAACngQ,CAAD,CAAJ,EAAQ93C,CAAC,CAACg8E,MAAF,CAASlkC,CAAT,EAAWzrE,CAAX,CAAR,EAAsBu1M,CAAC,IAAE,cAAYA,CAAC,CAAC17M,IAA1C,EAA+C;AAAC,cAAMwvB,CAAC,GAACyM,CAAC,CAAC+mQ,aAAF,CAAgBtnF,CAAhB,CAAR;AAAA,cAA2B3hL,CAAC,GAACD,CAAC,CAAC08E,WAAF,CAAc18E,CAAC,CAAC6yP,gBAAF,CAAmBn9P,CAAnB,EAAqB,CAArB,CAAd,EAAsCoiD,CAAtC,EAAyC0zM,SAAzC,CAAmD;AAACjB,UAAAA,gBAAgB,EAAC,CAAC;AAAnB,SAAnD,CAA7B;;AAAuG,aAAI,MAAM70P,CAAV,IAAeuK,CAAf,EAAiB,IAAGvK,CAAC,CAACxlB,IAAF,CAAOqwG,EAAP,CAAU,SAAV,EAAoB,IAApB,CAAH,EAA6B;AAAC,gBAAMt+E,CAAC,GAACjC,CAAC,CAAC6xP,cAAF,CAAiB7xP,CAAC,CAAC+yP,oBAAF,CAAuBr9P,CAAC,CAACxlB,IAAzB,CAAjB,CAAR;AAAA,gBAAyD7D,CAAC,GAACqpB,CAAC,CAACxlB,IAAF,CAAO2mE,MAAlE;AAAA,gBAAyE10C,CAAC,GAACnC,CAAC,CAAC6yP,gBAAF,CAAmBxyP,CAAnB,EAAqB,KAArB,CAA3E;AAAuG63S,UAAAA,EAAE,CAACl4S,CAAD,EAAGmC,CAAC,CAACipP,UAAL,EAAgBjpP,CAAC,CAACgpP,SAAlB,CAAF,EAA+BnrP,CAAC,CAAC8xP,IAAF,CAAO9xP,CAAC,CAACgzP,aAAF,CAAgB3mR,CAAhB,CAAP,EAA0B81B,CAA1B,CAA/B,EAA4DlC,CAAC,CAACkqP,SAAF,GAAYloP,CAAxE;AAA0E;AAAC,OAAxX,MAA4X;AAAC,cAAMhC,CAAC,GAAC5zB,CAAC,CAAC8wP,WAAV;;AAAsB,YAAGl9N,CAAC,KAAGA,CAAC,CAACsgF,EAAF,CAAK,SAAL,EAAe,IAAf,KAAsBtgF,CAAC,CAACsgF,EAAF,CAAK,SAAL,EAAe,IAAf,CAAzB,CAAJ,EAAmD;AAAC,cAAIt+E,CAAC,GAAC,IAAN;;AAAW,eAAI,MAAM5B,CAAV,IAAeJ,CAAC,CAACy5E,WAAF,EAAf,EAA+B;AAAC,kBAAMz5E,CAAC,GAACkC,CAAC,CAAC4mQ,cAAF,CAAiB1oQ,CAAjB,CAAR;AAA4B,gBAAG,EAAEJ,CAAC,IAAEA,CAAC,CAACs3O,YAAF,CAAe,YAAf,IAA6B7hP,CAAC,CAAC6hP,YAAF,CAAe,YAAf,CAAlC,CAAH,EAAmE;AAAMt1O,YAAAA,CAAC,GAAC5B,CAAF;AAAI;;AAAA4B,UAAAA,CAAC,KAAGjC,CAAC,CAAC6xP,cAAF,CAAiB7xP,CAAC,CAAC8yP,mBAAF,CAAsB7wP,CAAtB,CAAjB,GAA2CjC,CAAC,CAAC8xP,IAAF,CAAO9xP,CAAC,CAACgzP,aAAF,CAAgB/wP,CAAC,CAAC40C,MAAlB,CAAP,EAAiC72C,CAAC,CAAC6yP,gBAAF,CAAmBxyP,CAAnB,EAAqB,KAArB,CAAjC,CAA9C,CAAD;AAA8G;AAAC;;AAAA63S,MAAAA,EAAE,CAACl4S,CAAD,EAAG3zB,CAAH,EAAKA,CAAC,CAAC8wP,WAAP,CAAF,EAAsB+6E,EAAE,CAACl4S,CAAD,EAAG3zB,CAAC,CAACihQ,eAAL,EAAqBjhQ,CAArB,CAAxB;AAAgD;;AAAA,aAAS6rU,EAAT,CAAYxiT,CAAZ,EAAc2K,CAAd,EAAgBJ,CAAhB,EAAkB;AAAC,aAAM,CAACI,CAAD,IAAI,CAACJ,CAAL,IAAQ,QAAMI,CAAC,CAACn6B,IAAR,IAAc,QAAMm6B,CAAC,CAACn6B,IAA9B,IAAoCm6B,CAAC,CAACn6B,IAAF,IAAQ+5B,CAAC,CAAC/5B,IAA9C,IAAoDm6B,CAAC,CAACk3O,YAAF,CAAe,OAAf,MAA0Bt3O,CAAC,CAACs3O,YAAF,CAAe,OAAf,CAA9E,GAAsG,IAAtG,GAA2G7hP,CAAC,CAACw8P,eAAF,CAAkBx8P,CAAC,CAACo9P,mBAAF,CAAsBzyP,CAAtB,CAAlB,CAAjH;AAA6J;;AAAA,aAAS43S,EAAT,CAAYviT,CAAZ,EAAc;AAAC,aAAOA,CAAC,CAAC41P,uBAAF,CAA2B51P,CAAC,IAAEA,CAAC,CAACxlB,IAAF,CAAOqwG,EAAP,CAAU,WAAV,CAA9B,CAAP;AAA8D;;AAAA,aAASs3N,EAAT,CAAYniT,CAAZ,EAAc2K,CAAd,EAAgB;AAAC,YAAMJ,CAAC,GAAC,CAAC,CAACI,CAAC,CAACy3S,UAAZ;AAAA,YAAuB71S,CAAC,GAAC,CAAC,CAAC5B,CAAC,CAAC03S,aAA7B;AAAA,YAA2C1rU,CAAC,GAACg0B,CAAC,CAAC23S,UAA/C;AAA0D,UAAI71S,CAAC,GAACzM,CAAN;;AAAQ,aAAKyM,CAAC,IAAE,cAAYA,CAAC,CAACj8B,IAAtB,GAA4B;AAAC,cAAMwvB,CAAC,GAACyM,CAAC,CAACo1O,YAAF,CAAe,YAAf,CAAR;AAAqC,YAAGt3O,CAAC,IAAE5zB,CAAC,IAAEqpB,CAAN,IAASuM,CAAC,IAAE51B,CAAC,GAACqpB,CAAjB,EAAmB,OAAOyM,CAAP;AAASA,QAAAA,CAAC,GAAC,cAAY9B,CAAC,CAAC+oM,SAAd,GAAwBjnM,CAAC,CAACg7N,WAA1B,GAAsCh7N,CAAC,CAACmrO,eAA1C;AAA0D;;AAAA,aAAO,IAAP;AAAY;;AAAA,aAAS6qE,EAAT,CAAYziT,CAAZ,EAAc2K,CAAd,EAAgBJ,CAAhB,EAAkBgC,CAAlB,EAAoB;AAACvM,MAAAA,CAAC,CAACklF,EAAF,CAAKojN,gBAAL,CAAsB1zS,GAAtB,CAA0B+V,CAA1B,EAA6Bh0B,CAAC,IAAE;AAAC,cAAM81B,CAAC,GAACzM,CAAC,CAACm1R,QAAF,CAAW10T,GAAX,CAAekqC,CAAf,CAAR;AAAA,cAA0BL,CAAC,GAAC,IAAIolL,EAAJ,CAAO/4M,CAAP,CAA5B;AAAsC,eAAO2zB,CAAC,CAACxF,GAAF,CAAM;AAAC4G,UAAAA,KAAK,EAACnB,CAAP;AAASjtB,UAAAA,IAAI,EAACivB,CAAd;AAAgB+sR,UAAAA,OAAO,EAAC,CAAC,CAAzB;AAA2B50C,UAAAA,YAAY,EAAC,CAAC;AAAzC,SAAN,GAAmDp6O,CAAC,CAACvV,IAAF,CAAO,MAAP,EAAc,WAAd,EAA2B03J,EAA3B,CAA8BhgJ,CAA9B,EAAgC,OAAhC,EAAwC,WAAxC,CAAnD,EAAwGnC,CAAC,CAAC7oB,EAAF,CAAK,SAAL,EAAgB,MAAI;AAACue,UAAAA,CAAC,CAACmqP,OAAF,CAAUx/O,CAAV,GAAa3K,CAAC,CAACu1R,OAAF,CAAUz/G,IAAV,CAAe9iI,KAAf,EAAb;AAAoC,SAAzD,CAAxG,EAAoK1oC,CAA3K;AAA6K,OAApP;AAAuP;;AAAA,aAAS42E,EAAT,CAAYlhF,CAAZ,EAAc2K,CAAd,EAAgB;AAAC,YAAMJ,CAAC,GAAC,EAAR;AAAA,YAAWgC,CAAC,GAACvM,CAAC,CAACmhD,MAAf;AAAA,YAAsBxqE,CAAC,GAAC;AAACk+Q,QAAAA,gBAAgB,EAAC,CAAC,CAAnB;AAAqBluK,QAAAA,aAAa,EAAC3mF,CAAnC;AAAqC40P,QAAAA,OAAO,EAAC,CAAC,CAA9C;AAAgDlhD,QAAAA,SAAS,EAAC/oM;AAA1D,OAAxB;AAAA,YAAqF8B,CAAC,GAACF,CAAC,CAACs1O,YAAF,CAAe,YAAf,CAAvF;AAAA,YAAoHv3O,CAAC,GAAC,CAAC,GAAG,IAAI4lQ,EAAJ,CAAOv5R,CAAP,CAAJ,EAAehN,MAAf,CAAuBq2B,CAAC,IAAEA,CAAC,CAACxlB,IAAF,CAAOqwG,EAAP,CAAU,SAAV,CAA1B,EAAiDrhH,GAAjD,CAAsDw2B,CAAC,IAAEA,CAAC,CAACxlB,IAA3D,CAAtH;;AAAwL,WAAI,MAAMwlB,CAAV,IAAesK,CAAf,EAAiB;AAAC,YAAG,CAACtK,CAAC,CAAC6qF,EAAF,CAAK,SAAL,EAAe,UAAf,CAAJ,EAA+B;AAAM,YAAG7qF,CAAC,CAAC6hP,YAAF,CAAe,YAAf,IAA6Bp1O,CAAhC,EAAkC;;AAAM,YAAG,EAAEzM,CAAC,CAAC6hP,YAAF,CAAe,YAAf,IAA6Bp1O,CAA/B,CAAH,EAAqC;AAAC,cAAGzM,CAAC,CAAC6hP,YAAF,CAAe,UAAf,MAA6Bt1O,CAAC,CAACs1O,YAAF,CAAe,UAAf,CAAhC,EAA2D;AAAM,cAAG7hP,CAAC,CAAC6hP,YAAF,CAAe,WAAf,MAA8Bt1O,CAAC,CAACs1O,YAAF,CAAe,WAAf,CAAjC,EAA6D;AAAM,cAAG7hP,CAAC,CAAC6hP,YAAF,CAAe,cAAf,MAAiCt1O,CAAC,CAACs1O,YAAF,CAAe,cAAf,CAApC,EAAmE;AAAM,cAAG7hP,CAAC,CAAC6hP,YAAF,CAAe,WAAf,MAA8Bt1O,CAAC,CAACs1O,YAAF,CAAe,WAAf,CAAjC,EAA6D;AAAM,yBAAal3O,CAAb,GAAeJ,CAAC,CAACu+E,OAAF,CAAU9oF,CAAV,CAAf,GAA4BuK,CAAC,CAACtE,IAAF,CAAOjG,CAAP,CAA5B;AAAsC;AAAC;;AAAA,aAAOuK,CAAP;AAAS;;AAAA,UAAM+mL,EAAE,GAAC,CAAC,MAAD,EAAQ,QAAR,EAAiB,QAAjB,CAAT;AAAA,UAAoCxjK,EAAE,GAAC,CAAC,SAAD,EAAW,sBAAX,EAAkC,aAAlC,EAAgD,aAAhD,EAA8D,aAA9D,EAA4E,aAA5E,CAAvC;;AAAkI,aAASm0R,EAAT,GAAa;AAAC,YAAMjiT,CAAC,GAAC,CAAC,KAAKqW,OAAN,KAAgB,QAAM,KAAKw2O,QAAL,CAAc,CAAd,EAAiBr8Q,IAAvB,IAA6B,QAAM,KAAKq8Q,QAAL,CAAc,CAAd,EAAiBr8Q,IAApE,CAAR;AAAkF,aAAO,KAAK6lC,OAAL,IAAcrW,CAAd,GAAgB,CAAhB,GAAkByhD,EAAE,CAACt4C,IAAH,CAAQ,IAAR,CAAzB;AAAuC;;AAAA,UAAMu5S,EAAN,SAAiBr5D,EAAjB,CAAmB;AAAsB,iBAAVwB,UAAU,GAAE;AAAC,eAAM,QAAN;AAAe;;AAAAtpR,MAAAA,IAAI,GAAE;AAAC,cAAMy+B,CAAC,GAAC,KAAKgiF,MAAL,CAAYhiF,CAApB;AAAsByiT,QAAAA,EAAE,CAAC,KAAKzgO,MAAN,EAAa,cAAb,EAA4BhiF,CAAC,CAAC,eAAD,CAA7B,EAA+C,4ZAA/C,CAAF,EAA+cyiT,EAAE,CAAC,KAAKzgO,MAAN,EAAa,cAAb,EAA4BhiF,CAAC,CAAC,eAAD,CAA7B,EAA+C,+bAA/C,CAAjd;AAAi8B;;AAAtgC;;AAAugC,UAAM2iT,EAAE,GAAC,EAAT;AAAA,UAAYC,EAAE,GAAC,EAAf;AAAA,UAAkBC,EAAE,GAAC,EAArB;AAAA,UAAwBC,EAAE,GAAC,CAAC;AAACC,MAAAA,SAAS,EAAC,MAAX;AAAkBC,MAAAA,aAAa,EAAC,MAAhC;AAAuCC,MAAAA,QAAQ,EAAC;AAAhD,KAAD,EAA6D;AAACF,MAAAA,SAAS,EAAC,QAAX;AAAoBC,MAAAA,aAAa,EAAC,QAAlC;AAA2CC,MAAAA,QAAQ,EAAC;AAApD,KAA7D,EAA6H;AAACF,MAAAA,SAAS,EAAC,QAAX;AAAoBC,MAAAA,aAAa,EAAC,QAAlC;AAA2CC,MAAAA,QAAQ,EAAC;AAApD,KAA7H,EAA6L;AAACF,MAAAA,SAAS,EAAC,SAAX;AAAqBC,MAAAA,aAAa,EAAC,GAAnC;AAAuCC,MAAAA,QAAQ,EAAC;AAAhD,KAA7L,EAAyP;AAACF,MAAAA,SAAS,EAAC,sBAAX;AAAkCC,MAAAA,aAAa,EAAC,IAAhD;AAAqDC,MAAAA,QAAQ,EAAC;AAA9D,KAAzP,EAAmU;AAACF,MAAAA,SAAS,EAAC,aAAX;AAAyBC,MAAAA,aAAa,EAAC,GAAvC;AAA2CC,MAAAA,QAAQ,EAAC;AAApD,KAAnU,EAAmY;AAACF,MAAAA,SAAS,EAAC,aAAX;AAAyBC,MAAAA,aAAa,EAAC,GAAvC;AAA2CC,MAAAA,QAAQ,EAAC;AAApD,KAAnY,EAAmc;AAACF,MAAAA,SAAS,EAAC,aAAX;AAAyBC,MAAAA,aAAa,EAAC,GAAvC;AAA2CC,MAAAA,QAAQ,EAAC;AAApD,KAAnc,EAAmgB;AAACF,MAAAA,SAAS,EAAC,aAAX;AAAyBC,MAAAA,aAAa,EAAC,GAAvC;AAA2CC,MAAAA,QAAQ,EAAC;AAApD,KAAngB,EAAmkB;AAACF,MAAAA,SAAS,EAAC,aAAX;AAAyBC,MAAAA,aAAa,EAAC,GAAvC;AAA2CC,MAAAA,QAAQ,EAAC;AAApD,KAAnkB,EAAmoB;AAACF,MAAAA,SAAS,EAAC,aAAX;AAAyBC,MAAAA,aAAa,EAAC,GAAvC;AAA2CC,MAAAA,QAAQ,EAAC;AAApD,KAAnoB,CAA3B;;AAA+tB,SAAI,MAAK;AAACF,MAAAA,SAAS,EAAC/iT,CAAX;AAAagjT,MAAAA,aAAa,EAACr4S,CAA3B;AAA6Bs4S,MAAAA,QAAQ,EAAC14S;AAAtC,KAAT,IAAoDu4S,EAApD,EAAuDH,EAAE,CAAC3iT,CAAD,CAAF,GAAMuK,CAAN,EAAQq4S,EAAE,CAAC5iT,CAAD,CAAF,GAAM2K,CAAd,EAAgBA,CAAC,KAAGk4S,EAAE,CAACl4S,CAAD,CAAF,GAAM3K,CAAT,CAAjB;;AAA6B,QAAIkjT,EAAE,GAAC34S,CAAC,CAAC,IAAD,CAAR;AAAA,QAAe44S,EAAE,GAAC;AAAClkE,MAAAA,UAAU,EAAC,mBAAZ;AAAgCh7J,MAAAA,UAAU,EAAC;AAAC,oBAAW,CAAC;AAAb,OAA3C;AAA2DqC,MAAAA,MAAM,EAAC,MAAlE;AAAyEy9I,MAAAA,SAAS,EAAC,CAAC;AAApF,KAAlB;AAAyG+a,IAAAA,EAAE,GAAGokE,EAAE,CAAC3gF,CAAN,EAAQ4gF,EAAR,CAAF;AAAcD,IAAAA,EAAE,CAAC3gF,CAAH,CAAK2c,MAAL;AAAY,QAAIkkE,EAAE,GAAC74S,CAAC,CAAC,IAAD,CAAR;AAAA,QAAe0F,EAAE,GAAC;AAACgvO,MAAAA,UAAU,EAAC,mBAAZ;AAAgCh7J,MAAAA,UAAU,EAAC;AAAC,oBAAW,CAAC;AAAb,OAA3C;AAA2DqC,MAAAA,MAAM,EAAC,MAAlE;AAAyEy9I,MAAAA,SAAS,EAAC,CAAC;AAApF,KAAlB;AAAyG+a,IAAAA,EAAE,GAAGskE,EAAE,CAAC7gF,CAAN,EAAQtyN,EAAR,CAAF;AAAcmzS,IAAAA,EAAE,CAAC7gF,CAAH,CAAK2c,MAAL;AAAY,QAAImkE,EAAE,GAAC94S,CAAC,CAAC,IAAD,CAAR;AAAA,QAAe+4S,EAAE,GAAC;AAACrkE,MAAAA,UAAU,EAAC,mBAAZ;AAAgCh7J,MAAAA,UAAU,EAAC;AAAC,oBAAW,CAAC;AAAb,OAA3C;AAA2DqC,MAAAA,MAAM,EAAC,MAAlE;AAAyEy9I,MAAAA,SAAS,EAAC,CAAC;AAApF,KAAlB;AAAyG+a,IAAAA,EAAE,GAAGukE,EAAE,CAAC9gF,CAAN,EAAQ+gF,EAAR,CAAF;AAAcD,IAAAA,EAAE,CAAC9gF,CAAH,CAAK2c,MAAL;;AAAY,UAAMqkE,EAAN,SAAiB55D,EAAjB,CAAmB;AAAClqR,MAAAA,WAAW,CAACugC,CAAD,EAAG2K,CAAH,EAAK;AAAC,cAAM3K,CAAN,GAAS,KAAKwjT,SAAL,GAAe,aAAW74S,CAAX,GAAa,CAAb,GAAe,CAAC,CAAxC;AAA0C;;AAAAk/O,MAAAA,OAAO,GAAE;AAAC,aAAKxvH,SAAL,GAAe,KAAKowH,aAAL,EAAf;AAAoC;;AAAAN,MAAAA,OAAO,GAAE;AAAC,cAAMnqP,CAAC,GAAC,KAAKgiF,MAAL,CAAYzlG,KAApB;AAAA,cAA0BouB,CAAC,GAAC3K,CAAC,CAAC0B,QAA9B;AAAuC,YAAI6I,CAAC,GAACpF,KAAK,CAAC7H,IAAN,CAAWqN,CAAC,CAACm/O,SAAF,CAAY4tB,iBAAZ,EAAX,CAAN;AAAkD13Q,QAAAA,CAAC,CAAC0hL,MAAF,CAAU1hL,CAAC,IAAE;AAAC,gBAAM2K,CAAC,GAACJ,CAAC,CAACA,CAAC,CAAC59B,MAAF,GAAS,CAAV,CAAT;AAAsB,cAAI4/B,CAAC,GAAC5B,CAAC,CAAC88N,WAAR;;AAAoB,iBAAKl7N,CAAC,IAAE,cAAYA,CAAC,CAAC/7B,IAAjB,IAAuB+7B,CAAC,CAACs1O,YAAF,CAAe,YAAf,IAA6Bl3O,CAAC,CAACk3O,YAAF,CAAe,YAAf,CAAzD,GAAuFt3O,CAAC,CAACtE,IAAF,CAAOsG,CAAP,GAAUA,CAAC,GAACA,CAAC,CAACk7N,WAAd;;AAA0B,eAAK+7E,SAAL,GAAe,CAAf,KAAmBj5S,CAAC,GAACA,CAAC,CAACglG,OAAF,EAArB;;AAAkC,eAAI,MAAM5kG,CAAV,IAAeJ,CAAf,EAAiB;AAAC,kBAAMA,CAAC,GAACI,CAAC,CAACk3O,YAAF,CAAe,YAAf,IAA6B,KAAK2hE,SAA1C;;AAAoDj5S,YAAAA,CAAC,GAAC,CAAF,GAAIvK,CAAC,CAACi9P,MAAF,CAAStyP,CAAT,EAAW,WAAX,CAAJ,GAA4B3K,CAAC,CAAC07C,YAAF,CAAe,YAAf,EAA4BnxC,CAA5B,EAA8BI,CAA9B,CAA5B;AAA6D;;AAAA,eAAK+6E,IAAL,CAAU,iBAAV,EAA4Bn7E,CAA5B;AAA+B,SAA7W;AAAgX;;AAAAkgP,MAAAA,aAAa,GAAE;AAAC,cAAMzqP,CAAC,GAACs9O,EAAE,CAAC,KAAKt7J,MAAL,CAAYzlG,KAAZ,CAAkBmlB,QAAlB,CAA2BooP,SAA3B,CAAqC4tB,iBAArC,EAAD,CAAV;AAAqE,YAAG,CAAC13Q,CAAD,IAAI,CAACA,CAAC,CAAC6qF,EAAF,CAAK,SAAL,EAAe,UAAf,CAAR,EAAmC,OAAM,CAAC,CAAP;;AAAS,YAAG,KAAK24N,SAAL,GAAe,CAAlB,EAAoB;AAAC,gBAAM74S,CAAC,GAAC3K,CAAC,CAAC6hP,YAAF,CAAe,YAAf,CAAR;AAAA,gBAAqCt3O,CAAC,GAACvK,CAAC,CAAC6hP,YAAF,CAAe,UAAf,CAAvC;AAAkE,cAAIt1O,CAAC,GAACvM,CAAC,CAAC43O,eAAR;;AAAwB,iBAAKrrO,CAAC,IAAEA,CAAC,CAACs+E,EAAF,CAAK,SAAL,EAAe,UAAf,CAAH,IAA+Bt+E,CAAC,CAACs1O,YAAF,CAAe,YAAf,KAA8Bl3O,CAAlE,GAAqE;AAAC,gBAAG4B,CAAC,CAACs1O,YAAF,CAAe,YAAf,KAA8Bl3O,CAAjC,EAAmC,OAAO4B,CAAC,CAACs1O,YAAF,CAAe,UAAf,KAA4Bt3O,CAAnC;AAAqCgC,YAAAA,CAAC,GAACA,CAAC,CAACqrO,eAAJ;AAAoB;;AAAA,iBAAM,CAAC,CAAP;AAAS;;AAAA,eAAM,CAAC,CAAP;AAAS;;AAAj+B;;AAAk+B,UAAM6rE,EAAN,SAAiB95D,EAAjB,CAAmB;AAAClqR,MAAAA,WAAW,CAACugC,CAAD,EAAG2K,CAAH,EAAK;AAAC,cAAM3K,CAAN,GAAS,KAAK/oB,IAAL,GAAU0zB,CAAnB;AAAqB;;AAAAk/O,MAAAA,OAAO,GAAE;AAAC,aAAK34Q,KAAL,GAAW,KAAKwyU,SAAL,EAAX,EAA4B,KAAKrpL,SAAL,GAAe,KAAKowH,aAAL,EAA3C;AAAgE;;AAAAN,MAAAA,OAAO,CAACnqP,CAAC,GAAC,EAAH,EAAM;AAAC,cAAM2K,CAAC,GAAC,KAAKq3E,MAAL,CAAYzlG,KAApB;AAAA,cAA0BguB,CAAC,GAACI,CAAC,CAACjJ,QAA9B;AAAA,cAAuC6K,CAAC,GAACpH,KAAK,CAAC7H,IAAN,CAAWiN,CAAC,CAACu/O,SAAF,CAAY4tB,iBAAZ,EAAX,EAA4C/tS,MAA5C,CAAoDq2B,CAAC,IAAE2jT,EAAE,CAAC3jT,CAAD,EAAG2K,CAAC,CAACg3O,MAAL,CAAzD,CAAzC;AAAA,cAAiHhrQ,CAAC,GAAC,KAAK,CAAL,KAASqpB,CAAC,CAACkxS,UAAX,GAAsB,CAAClxS,CAAC,CAACkxS,UAAzB,GAAoC,KAAKhgU,KAA5J;AAAkKy5B,QAAAA,CAAC,CAAC+2K,MAAF,CAAU1hL,CAAC,IAAE;AAAC,cAAGrpB,CAAH,EAAK;AAAC,gBAAIg0B,CAAC,GAAC4B,CAAC,CAACA,CAAC,CAAC5/B,MAAF,GAAS,CAAV,CAAD,CAAc86P,WAApB;AAAA,gBAAgCl9N,CAAC,GAAC9W,MAAM,CAACgjP,iBAAzC;AAAA,gBAA2D9/P,CAAC,GAAC,EAA7D;;AAAgE,mBAAKg0B,CAAC,IAAE,cAAYA,CAAC,CAACn6B,IAAjB,IAAuB,MAAIm6B,CAAC,CAACk3O,YAAF,CAAe,YAAf,CAAhC,GAA8D;AAAC,oBAAM7hP,CAAC,GAAC2K,CAAC,CAACk3O,YAAF,CAAe,YAAf,CAAR;AAAqC7hP,cAAAA,CAAC,GAACuK,CAAF,KAAMA,CAAC,GAACvK,CAAR;AAAW,oBAAMuM,CAAC,GAACvM,CAAC,GAACuK,CAAV;AAAY5zB,cAAAA,CAAC,CAACsvB,IAAF,CAAO;AAACjd,gBAAAA,OAAO,EAAC2hB,CAAT;AAAW23S,gBAAAA,UAAU,EAAC/1S;AAAtB,eAAP,GAAiC5B,CAAC,GAACA,CAAC,CAAC88N,WAArC;AAAiD;;AAAA9wP,YAAAA,CAAC,GAACA,CAAC,CAAC44H,OAAF,EAAF;;AAAc,iBAAI,MAAM5kG,CAAV,IAAeh0B,CAAf,EAAiBqpB,CAAC,CAAC07C,YAAF,CAAe,YAAf,EAA4B/wC,CAAC,CAAC23S,UAA9B,EAAyC33S,CAAC,CAAC3hB,OAA3C;AAAoD;;AAAA,cAAG,CAACrS,CAAJ,EAAM;AAAC,gBAAIqpB,CAAC,GAACvM,MAAM,CAACgjP,iBAAb;;AAA+B,iBAAI,MAAM9rO,CAAV,IAAe4B,CAAf,EAAiB5B,CAAC,CAACkgF,EAAF,CAAK,SAAL,EAAe,UAAf,KAA4BlgF,CAAC,CAACk3O,YAAF,CAAe,YAAf,IAA6B7hP,CAAzD,KAA6DA,CAAC,GAAC2K,CAAC,CAACk3O,YAAF,CAAe,YAAf,CAA/D;;AAA6F7hP,YAAAA,CAAC,GAAC,MAAIA,CAAJ,GAAM,CAAN,GAAQA,CAAV,EAAY4jT,EAAE,CAACr3S,CAAD,EAAG,CAAC,CAAJ,EAAMvM,CAAN,CAAd,EAAuB4jT,EAAE,CAACr3S,CAAD,EAAG,CAAC,CAAJ,EAAMvM,CAAN,CAAzB;AAAkC;;AAAA,eAAI,MAAM2K,CAAV,IAAe4B,CAAC,CAACgjG,OAAF,EAAf,EAA2B54H,CAAC,IAAE,cAAYg0B,CAAC,CAACn6B,IAAjB,GAAsBwvB,CAAC,CAACi9P,MAAF,CAAStyP,CAAT,EAAW,WAAX,CAAtB,GAA8Ch0B,CAAC,IAAE,cAAYg0B,CAAC,CAACn6B,IAAjB,GAAsBmG,CAAC,IAAE,cAAYg0B,CAAC,CAACn6B,IAAjB,IAAuBm6B,CAAC,CAACk3O,YAAF,CAAe,UAAf,KAA4B,KAAK5qQ,IAAxD,IAA8D+oB,CAAC,CAAC07C,YAAF,CAAe,UAAf,EAA0B,KAAKzkE,IAA/B,EAAoC0zB,CAApC,CAApF,IAA4H3K,CAAC,CAACkwR,aAAF,CAAgB;AAAC+yB,YAAAA,QAAQ,EAAC,KAAKhsU,IAAf;AAAoBqrU,YAAAA,UAAU,EAAC;AAA/B,WAAhB,EAAkD33S,CAAlD,GAAqD3K,CAAC,CAACi9P,MAAF,CAAStyP,CAAT,EAAW,UAAX,CAAjL,CAA9C;;AAAuP,eAAK+6E,IAAL,CAAU,iBAAV,EAA4Bn5E,CAA5B;AAA+B,SAA1zB;AAA6zB;;AAAAm3S,MAAAA,SAAS,GAAE;AAAC,cAAM1jT,CAAC,GAACs9O,EAAE,CAAC,KAAKt7J,MAAL,CAAYzlG,KAAZ,CAAkBmlB,QAAlB,CAA2BooP,SAA3B,CAAqC4tB,iBAArC,EAAD,CAAV;AAAqE,eAAM,CAAC,CAAC13Q,CAAF,IAAKA,CAAC,CAAC6qF,EAAF,CAAK,SAAL,EAAe,UAAf,CAAL,IAAiC7qF,CAAC,CAAC6hP,YAAF,CAAe,UAAf,KAA4B,KAAK5qQ,IAAxE;AAA6E;;AAAAwzQ,MAAAA,aAAa,GAAE;AAAC,YAAG,KAAKv5Q,KAAR,EAAc,OAAM,CAAC,CAAP;AAAS,cAAM8uB,CAAC,GAAC,KAAKgiF,MAAL,CAAYzlG,KAAZ,CAAkBmlB,QAAlB,CAA2BooP,SAAnC;AAAA,cAA6Cn/O,CAAC,GAAC,KAAKq3E,MAAL,CAAYzlG,KAAZ,CAAkBolQ,MAAjE;AAAA,cAAwEp3O,CAAC,GAAC+yO,EAAE,CAACt9O,CAAC,CAAC03Q,iBAAF,EAAD,CAA5E;AAAoG,eAAM,CAAC,CAACntQ,CAAF,IAAKo5S,EAAE,CAACp5S,CAAD,EAAGI,CAAH,CAAb;AAAmB;;AAA15C;;AAA25C,aAASi5S,EAAT,CAAY5jT,CAAZ,EAAc2K,CAAd,EAAgBJ,CAAhB,EAAkB;AAAC,YAAMgC,CAAC,GAAC5B,CAAC,GAAC3K,CAAC,CAAC,CAAD,CAAF,GAAMA,CAAC,CAACA,CAAC,CAACrzB,MAAF,GAAS,CAAV,CAAhB;;AAA6B,UAAG4/B,CAAC,CAACs+E,EAAF,CAAK,SAAL,EAAe,UAAf,CAAH,EAA8B;AAAC,YAAIl0G,CAAC,GAAC41B,CAAC,CAAC5B,CAAC,GAAC,iBAAD,GAAmB,aAArB,CAAP;AAAA,YAA2C8B,CAAC,GAACF,CAAC,CAACs1O,YAAF,CAAe,YAAf,CAA7C;;AAA0E,eAAKlrQ,CAAC,IAAEA,CAAC,CAACk0G,EAAF,CAAK,SAAL,EAAe,UAAf,CAAH,IAA+Bl0G,CAAC,CAACkrQ,YAAF,CAAe,YAAf,KAA8Bt3O,CAAlE,GAAqEkC,CAAC,GAAC91B,CAAC,CAACkrQ,YAAF,CAAe,YAAf,CAAF,KAAiCp1O,CAAC,GAAC91B,CAAC,CAACkrQ,YAAF,CAAe,YAAf,CAAnC,GAAiElrQ,CAAC,CAACkrQ,YAAF,CAAe,YAAf,KAA8Bp1O,CAA9B,IAAiCzM,CAAC,CAAC2K,CAAC,GAAC,SAAD,GAAW,MAAb,CAAD,CAAsBh0B,CAAtB,CAAlG,EAA2HA,CAAC,GAACA,CAAC,CAACg0B,CAAC,GAAC,iBAAD,GAAmB,aAArB,CAA9H;AAAkK;AAAC;;AAAA,aAASg5S,EAAT,CAAY3jT,CAAZ,EAAc2K,CAAd,EAAgB;AAAC,aAAOA,CAAC,CAACgxQ,UAAF,CAAa37Q,CAAC,CAACmhD,MAAf,EAAsB,UAAtB,KAAmC,CAACx2C,CAAC,CAAC09E,QAAF,CAAWroF,CAAX,CAA3C;AAAyD;;AAAA,UAAM6jT,EAAN,SAAiBx6D,EAAjB,CAAmB;AAAsB,iBAAVwB,UAAU,GAAE;AAAC,eAAM,WAAN;AAAkB;;AAAAi5D,MAAAA,4BAA4B,CAAC9jT,CAAD,EAAG;AAAC,eAAO,UAASA,CAAT,EAAW;AAAC,iBAAOsxL,EAAE,CAACnlN,QAAH,CAAY6zB,CAAZ,IAAe,UAAf,GAA0B8tB,EAAE,CAAC3hD,QAAH,CAAY6zB,CAAZ,IAAe,UAAf,GAA0B,IAA3D;AAAgE,SAA5E,CAA6EA,CAA7E,CAAP;AAAuF;;AAAA+jT,MAAAA,oBAAoB,CAAC/jT,CAAD,EAAG;AAAC,eAAO,UAASA,CAAT,EAAW;AAAC,cAAI2K,CAAC,GAAC,CAAC,GAAG3K,CAAC,CAAC0B,QAAF,CAAWooP,SAAX,CAAqB4tB,iBAArB,EAAJ,EAA8C/tS,MAA9C,CAAsDq2B,CAAC,IAAEA,CAAC,CAAC6qF,EAAF,CAAK,SAAL,EAAe,UAAf,CAAzD,EAAsFrhH,GAAtF,CAA2FmhC,CAAC,IAAE;AAAC,kBAAMJ,CAAC,GAACvK,CAAC,CAAC0hL,MAAF,CAAU1hL,CAAC,IAAEA,CAAC,CAACm9P,gBAAF,CAAmBxyP,CAAnB,EAAqB,CAArB,CAAb,CAAR;AAA+C,mBAAM,CAAC,GAAGu2E,EAAE,CAAC32E,CAAD,EAAG,UAAH,CAAN,EAAqB,GAAG22E,EAAE,CAAC32E,CAAD,EAAG,SAAH,CAA1B,CAAN;AAA+C,WAA7L,EAAgMuxQ,IAAhM,EAAN;AAA6M,iBAAOnxQ,CAAC,GAAC,CAAC,GAAG,IAAIknE,GAAJ,CAAQlnE,CAAR,CAAJ,CAAF,EAAkBA,CAAzB;AAA2B,SAApP,CAAqP3K,CAArP,CAAP;AAA+P;;AAAAgkT,MAAAA,eAAe,CAAChkT,CAAD,EAAG2K,CAAH,EAAK;AAAC,eAAOu2E,EAAE,CAAClhF,CAAD,EAAG2K,CAAH,CAAT;AAAe;;AAA7d;;AAA8d,aAASs5S,EAAT,CAAYjkT,CAAZ,EAAc;AAAC,aAAM,CAAC2K,CAAD,EAAGJ,CAAH,EAAKgC,CAAL,KAAS;AAAC,cAAM51B,CAAC,GAAC41B,CAAC,CAAC6pQ,UAAV;AAAqB,YAAG,CAACz/R,CAAC,CAAC0e,IAAF,CAAOkV,CAAC,CAAC/vB,IAAT,EAAc,QAAd,CAAD,IAA0B,CAAC7D,CAAC,CAAC0e,IAAF,CAAOkV,CAAC,CAAC/vB,IAAT,EAAc,oBAAd,CAA3B,IAAgE,CAAC7D,CAAC,CAAC0e,IAAF,CAAOkV,CAAC,CAAC/vB,IAAT,EAAc,sBAAd,CAApE,EAA0G;AAAO7D,QAAAA,CAAC,CAACk+R,OAAF,CAAUtqQ,CAAC,CAAC/vB,IAAZ,EAAiB,QAAjB,GAA2B7D,CAAC,CAACk+R,OAAF,CAAUtqQ,CAAC,CAAC/vB,IAAZ,EAAiB,oBAAjB,CAA3B,EAAkE7D,CAAC,CAACk+R,OAAF,CAAUtqQ,CAAC,CAAC/vB,IAAZ,EAAiB,sBAAjB,CAAlE;AAA2G,cAAMiyB,CAAC,GAAClC,CAAC,CAAC/vB,IAAV;AAAe0nU,QAAAA,EAAE,CAACz1S,CAAD,EAAGqmL,EAAE,CAACrmL,CAAD,EAAGF,CAAH,CAAL,EAAWA,CAAX,EAAavM,CAAb,CAAF;AAAkB,OAAlS;AAAmS;;AAAA,UAAMkkT,EAAE,GAAC,CAAClkT,CAAD,EAAG2K,CAAH,EAAKJ,CAAL,KAAS;AAAC,UAAG,CAACA,CAAC,CAAC6rQ,UAAF,CAAa/gR,IAAb,CAAkBsV,CAAC,CAACnwB,IAApB,EAAyBwlB,CAAC,CAACxvB,IAA3B,CAAJ,EAAqC;AAAO,YAAM+7B,CAAC,GAAChC,CAAC,CAAC2pQ,MAAF,CAASV,aAAT,CAAuB7oQ,CAAC,CAACnwB,IAAzB,CAAR;AAAA,YAAuC7D,CAAC,GAAC4zB,CAAC,CAACg7E,MAA3C;AAAkD5uG,MAAAA,CAAC,CAACwlR,cAAF,CAAiBxlR,CAAC,CAAC0mR,oBAAF,CAAuB9wP,CAAvB,CAAjB,GAA4C51B,CAAC,CAACwlR,cAAF,CAAiBxlR,CAAC,CAACymR,mBAAF,CAAsB7wP,CAAtB,CAAjB,CAA5C;AAAuF,YAAME,CAAC,GAACF,CAAC,CAAC40C,MAAV;AAAA,YAAiB72C,CAAC,GAAC,cAAYK,CAAC,CAACsrQ,iBAAd,GAAgC,IAAhC,GAAqC,IAAxD;AAA6Dt/R,MAAAA,CAAC,CAACsmR,MAAF,CAAS3yP,CAAT,EAAWmC,CAAX;AAAc,KAAnR;AAAA,UAAoR03S,EAAE,GAAC,CAACnkT,CAAD,EAAG2K,CAAH,EAAKJ,CAAL,KAAS;AAACA,MAAAA,CAAC,CAAC6rQ,UAAF,CAAavB,OAAb,CAAqBlqQ,CAAC,CAACnwB,IAAvB,EAA4BwlB,CAAC,CAACxvB,IAA9B;AAAoC,YAAM+7B,CAAC,GAAChC,CAAC,CAAC2pQ,MAAF,CAASV,aAAT,CAAuB7oQ,CAAC,CAACnwB,IAAzB,EAA+B2mE,MAAvC;AAAA,YAA8CxqE,CAAC,GAAC4zB,CAAC,CAACg7E,MAAlD;AAAyDi9N,MAAAA,EAAE,CAAC7rU,CAAD,EAAG41B,CAAH,EAAKA,CAAC,CAACk7N,WAAP,CAAF,EAAsB+6E,EAAE,CAAC7rU,CAAD,EAAG41B,CAAC,CAACqrO,eAAL,EAAqBrrO,CAArB,CAAxB;AAAgD,KAA9a;;AAA+a,UAAM63S,EAAE,GAAC,CAACpkT,CAAD,EAAG2K,CAAH,EAAKJ,CAAL,KAAS;AAAC,UAAGA,CAAC,CAAC6rQ,UAAF,CAAa/gR,IAAb,CAAkBsV,CAAC,CAACnwB,IAApB,EAAyBwlB,CAAC,CAACxvB,IAA3B,KAAkC,cAAYm6B,CAAC,CAACnwB,IAAF,CAAOhK,IAAxD,EAA6D;AAAC,YAAIwvB,CAAC,GAACuK,CAAC,CAAC2pQ,MAAF,CAASD,cAAT,CAAwBtpQ,CAAC,CAACo8E,KAAF,CAAQN,KAAhC,CAAN;AAA6C,cAAMl6E,CAAC,GAAChC,CAAC,CAACg7E,MAAV;AAAA,cAAiB5uG,CAAC,GAAC,EAAnB;;AAAsB,eAAK,CAAC,QAAMqpB,CAAC,CAACmhD,MAAF,CAAS3wE,IAAf,IAAqB,QAAMwvB,CAAC,CAACmhD,MAAF,CAAS3wE,IAArC,MAA6CwvB,CAAC,GAACuM,CAAC,CAAC4vP,cAAF,CAAiBn8P,CAAjB,CAAF,EAAsB,QAAMA,CAAC,CAACmhD,MAAF,CAAS3wE,IAAlF,CAAL,GAA8F;AAAC,gBAAMm6B,CAAC,GAAC3K,CAAR;AAAA,gBAAUuK,CAAC,GAACgC,CAAC,CAAC4wP,gBAAF,CAAmBn9P,CAAC,CAACmhD,MAArB,EAA4B,KAA5B,CAAZ;;AAA+C,cAAG,CAACx2C,CAAC,CAACorO,OAAF,CAAUxrO,CAAV,CAAJ,EAAiB;AAAC,kBAAMvK,CAAC,GAACuM,CAAC,CAAC0zE,MAAF,CAAS1zE,CAAC,CAACy6E,WAAF,CAAcr8E,CAAd,EAAgBJ,CAAhB,CAAT,CAAR;AAAqC5zB,YAAAA,CAAC,CAACsvB,IAAF,CAAOjG,CAAP;AAAU;;AAAAA,UAAAA,CAAC,GAACuM,CAAC,CAAC6wP,mBAAF,CAAsBp9P,CAAC,CAACmhD,MAAxB,CAAF;AAAkC;;AAAA,YAAGxqE,CAAC,CAAChK,MAAF,GAAS,CAAZ,EAAc;AAAC,eAAI,IAAIg+B,CAAC,GAAC,CAAV,EAAYA,CAAC,GAACh0B,CAAC,CAAChK,MAAhB,EAAuBg+B,CAAC,EAAxB,EAA2B;AAAC,kBAAMJ,CAAC,GAACvK,CAAC,CAAC01P,UAAV;;AAAqB,gBAAG11P,CAAC,GAACuM,CAAC,CAAC+5E,MAAF,CAAStmF,CAAT,EAAWrpB,CAAC,CAACg0B,CAAD,CAAZ,EAAiB+7E,GAAnB,EAAuB/7E,CAAC,GAAC,CAA5B,EAA8B;AAAC,oBAAMA,CAAC,GAAC63S,EAAE,CAACj2S,CAAD,EAAGhC,CAAH,EAAKA,CAAC,CAACk9N,WAAP,CAAV;AAA8B98N,cAAAA,CAAC,IAAEA,CAAC,CAACw2C,MAAF,IAAU52C,CAAb,IAAgBvK,CAAC,CAACq9E,MAAF,EAAhB;AAA2B;AAAC;;AAAAmlO,UAAAA,EAAE,CAACj2S,CAAD,EAAGvM,CAAC,CAAC01P,UAAL,EAAgB11P,CAAC,CAACy1P,SAAlB,CAAF;AAA+B;AAAC;AAAC,KAA/jB;AAAA,UAAgkB4uD,EAAE,GAAC,CAACrkT,CAAD,EAAG2K,CAAH,EAAKJ,CAAL,KAAS;AAAC,YAAMgC,CAAC,GAAChC,CAAC,CAAC2pQ,MAAF,CAASD,cAAT,CAAwBtpQ,CAAC,CAAC76B,QAA1B,CAAR;AAAA,YAA4C6G,CAAC,GAAC41B,CAAC,CAACmpP,UAAhD;AAAA,YAA2DjpP,CAAC,GAACF,CAAC,CAACkpP,SAA/D;AAAyE+sD,MAAAA,EAAE,CAACj4S,CAAC,CAACg7E,MAAH,EAAU5uG,CAAV,EAAY81B,CAAZ,CAAF;AAAiB,KAAvqB;AAAA,UAAwqB63S,EAAE,GAAC,CAACtkT,CAAD,EAAG2K,CAAH,EAAKJ,CAAL,KAAS;AAAC,UAAGA,CAAC,CAAC6rQ,UAAF,CAAavB,OAAb,CAAqBlqQ,CAAC,CAACgzQ,QAAvB,EAAgC;AAACntS,QAAAA,IAAI,EAAC,CAAC;AAAP,OAAhC,CAAH,EAA8C;AAAC,cAAMwvB,CAAC,GAACuK,CAAC,CAACg7E,MAAV;AAAA,cAAiBh5E,CAAC,GAACvM,CAAC,CAAC6G,aAAF,CAAgB,UAAhB,CAAnB;AAAA,cAA+ClwB,CAAC,GAAC,UAASqpB,CAAT,EAAW;AAAC,cAAI2K,CAAC,GAAC,CAAN;AAAA,cAAQJ,CAAC,GAACvK,CAAC,CAACmhD,MAAZ;;AAAmB,iBAAK52C,CAAL,GAAQ;AAAC,gBAAGA,CAAC,CAACsgF,EAAF,CAAK,SAAL,EAAe,IAAf,CAAH,EAAwBlgF,CAAC,GAAzB,KAAgC;AAAC,oBAAM3K,CAAC,GAACuK,CAAC,CAACqtO,eAAV;AAA0B53O,cAAAA,CAAC,IAAEA,CAAC,CAAC6qF,EAAF,CAAK,SAAL,EAAe,IAAf,CAAH,IAAyBlgF,CAAC,EAA1B;AAA6B;AAAAJ,YAAAA,CAAC,GAACA,CAAC,CAAC42C,MAAJ;AAAW;;AAAA,iBAAOx2C,CAAP;AAAS,SAApJ,CAAqJA,CAAC,CAACgzQ,QAAvJ,CAAjD;;AAAkN39Q,QAAAA,CAAC,CAAC07C,YAAF,CAAe,YAAf,EAA4B/kE,CAA5B,EAA8B41B,CAA9B;AAAiC,cAAME,CAAC,GAAC9B,CAAC,CAACgzQ,QAAF,CAAWx8N,MAAX,IAAmB,QAAMx2C,CAAC,CAACgzQ,QAAF,CAAWx8N,MAAX,CAAkB3wE,IAA3C,GAAgD,UAAhD,GAA2D,UAAnE;AAA8E,YAAGwvB,CAAC,CAAC07C,YAAF,CAAe,UAAf,EAA0BjvC,CAA1B,EAA4BF,CAA5B,GAA+B,CAAChC,CAAC,CAACqzQ,UAAF,CAAarxQ,CAAb,EAAe5B,CAAC,CAAC8yQ,WAAjB,CAAnC,EAAiE;;AAAO,cAAMnzQ,CAAC,GAAC,UAAStK,CAAT,EAAW2K,CAAX,EAAaJ,CAAb,EAAe;AAAC,gBAAK;AAACg7E,YAAAA,MAAM,EAACh5E,CAAR;AAAUo1O,YAAAA,MAAM,EAAChrQ;AAAjB,cAAoB4zB,CAAzB;AAA2B,cAAIkC,CAAC,GAACF,CAAC,CAAC6wP,mBAAF,CAAsBp9P,CAAtB,CAAN;;AAA+B,eAAI,MAAMsK,CAAV,IAAeK,CAAf,EAAiB,IAAG,QAAML,CAAC,CAAC95B,IAAR,IAAc,QAAM85B,CAAC,CAAC95B,IAAzB,EAA8Bi8B,CAAC,GAAClC,CAAC,CAAC0sQ,WAAF,CAAc3sQ,CAAd,EAAgBmC,CAAhB,EAAmBgxQ,WAArB,CAA9B,KAAmE;AAAC,kBAAM9yQ,CAAC,GAACJ,CAAC,CAAC0sQ,WAAF,CAAc3sQ,CAAd,EAAgBiC,CAAC,CAAC4wP,gBAAF,CAAmBn9P,CAAnB,EAAqB,KAArB,CAAhB,CAAR;AAAA,kBAAqDoiD,CAAC,GAACz3C,CAAC,CAAC+yQ,UAAF,CAAaj3L,KAAb,CAAmBgvK,SAA1E;AAAoFrzM,YAAAA,CAAC,IAAEA,CAAC,CAACyoC,EAAF,CAAK,SAAL,CAAH,IAAoB,CAACl0G,CAAC,CAACglS,UAAF,CAAa37Q,CAAb,EAAeoiD,CAAC,CAAC5xE,IAAjB,CAArB,KAA8CwvB,CAAC,GAAC2K,CAAC,CAAC8yQ,WAAF,CAAct8N,MAAd,CAAqB0pC,EAArB,CAAwB,SAAxB,EAAkC,UAAlC,IAA8ClgF,CAAC,CAAC8yQ,WAAF,CAAct8N,MAA5D,GAAmEojQ,EAAE,CAAC55S,CAAC,CAAC8yQ,WAAH,CAAvE,EAAuFhxQ,CAAC,GAACF,CAAC,CAAC6wP,mBAAF,CAAsBp9P,CAAtB,CAAvI;AAAiK;;AAAA,iBAAOyM,CAAP;AAAS,SAA7Z,CAA8ZF,CAA9Z,EAAga5B,CAAC,CAACgzQ,QAAF,CAAW35L,WAAX,EAAha,EAAybz5E,CAAzb,CAAR;;AAAocI,QAAAA,CAAC,CAAC+yQ,UAAF,GAAa19Q,CAAC,CAACgnF,WAAF,CAAcr8E,CAAC,CAAC8yQ,WAAhB,EAA4BnzQ,CAA5B,CAAb,EAA4CC,CAAC,CAACszQ,sBAAF,CAAyBtxQ,CAAzB,EAA2B5B,CAA3B,CAA5C;AAA0E;AAAC,KAA5nD;AAAA,UAA6nD65S,EAAE,GAAC,CAACxkT,CAAD,EAAG2K,CAAH,EAAKJ,CAAL,KAAS;AAAC,UAAGA,CAAC,CAAC6rQ,UAAF,CAAa/gR,IAAb,CAAkBsV,CAAC,CAACgzQ,QAApB,EAA6B;AAACntS,QAAAA,IAAI,EAAC,CAAC;AAAP,OAA7B,CAAH,EAA2C;AAAC,cAAMwvB,CAAC,GAACmF,KAAK,CAAC7H,IAAN,CAAWqN,CAAC,CAACgzQ,QAAF,CAAW35L,WAAX,EAAX,CAAR;;AAA6C,aAAI,MAAMr5E,CAAV,IAAe3K,CAAf,EAAiB;AAAC,YAAE2K,CAAC,CAACkgF,EAAF,CAAK,SAAL,EAAe,IAAf,KAAsB45N,EAAE,CAAC95S,CAAD,CAA1B,KAAgCA,CAAC,CAACsyO,OAAF,EAAhC;AAA4C;AAAC;AAAC,KAAnyD;AAAA,UAAoyDynE,EAAE,GAAC,CAAC1kT,CAAD,EAAG2K,CAAH,EAAKJ,CAAL,KAAS;AAAC,UAAGA,CAAC,CAAC6rQ,UAAF,CAAa/gR,IAAb,CAAkBsV,CAAC,CAACgzQ,QAApB,EAA6B;AAACntS,QAAAA,IAAI,EAAC,CAAC;AAAP,OAA7B,CAAH,EAA2C;AAAC,YAAG,MAAIm6B,CAAC,CAACgzQ,QAAF,CAAWjxB,UAAlB,EAA6B;AAAO,cAAM1sP,CAAC,GAAC,CAAC,GAAG2K,CAAC,CAACgzQ,QAAF,CAAW35L,WAAX,EAAJ,CAAR;AAAsC,YAAIz5E,CAAC,GAAC,CAAC,CAAP;;AAAS,aAAI,MAAMI,CAAV,IAAe3K,CAAf,EAAiBuK,CAAC,IAAE,CAACk6S,EAAE,CAAC95S,CAAD,CAAN,IAAWA,CAAC,CAACsyO,OAAF,EAAX,EAAuBwnE,EAAE,CAAC95S,CAAD,CAAF,KAAQJ,CAAC,GAAC,CAAC,CAAX,CAAvB;AAAqC;AAAC,KAAv+D;;AAAw+D,aAASo6S,EAAT,CAAY3kT,CAAZ,EAAc;AAAC,aAAM,CAAC2K,CAAD,EAAGJ,CAAH,KAAO;AAAC,YAAGA,CAAC,CAAC4pQ,SAAL,EAAe;AAAO,cAAM5nQ,CAAC,GAAChC,CAAC,CAACyoQ,aAAF,CAAgBtd,UAAxB;;AAAmC,YAAGnpP,CAAC,IAAEA,CAAC,CAACs+E,EAAF,CAAK,SAAL,EAAe,UAAf,CAAN,EAAiC;AAAC,gBAAMlgF,CAAC,GAACJ,CAAC,CAAC2pQ,MAAF,CAASV,aAAT,CAAuBjnQ,CAAvB,CAAR;AAAA,gBAAkC51B,CAAC,GAACg0B,CAAC,CAACsiP,YAAF,GAAiB1yQ,IAAjB,CAAsBkqU,EAAtB,CAApC;AAAA,gBAA8Dh4S,CAAC,GAACzM,CAAC,CAACm9P,gBAAF,CAAmBxyP,CAAnB,EAAqB,CAArB,EAAwBmrP,SAAxB,EAAhE;;AAAoG,eAAI,MAAM91P,CAAV,IAAeyM,CAAf,EAAiB;AAAC,gBAAG,kBAAgBzM,CAAC,CAAC/oB,IAAlB,IAAwB+oB,CAAC,CAACxlB,IAAF,CAAOqwG,EAAP,CAAU,SAAV,EAAoB,IAApB,CAA3B,EAAqD;AAACtgF,cAAAA,CAAC,CAACwoQ,YAAF,GAAe/yQ,CAAC,CAACu1P,gBAAjB;AAAkC;AAAM;;AAAA,gBAAG,gBAAcv1P,CAAC,CAAC/oB,IAAhB,IAAsB+oB,CAAC,CAACxlB,IAAF,IAAQ7D,CAAjC,EAAmC;AAAC4zB,cAAAA,CAAC,CAACwoQ,YAAF,GAAe/yQ,CAAC,CAACw1P,YAAjB;AAA8B;AAAM;AAAC;AAAC;AAAC,OAAxY;AAAyY;;AAAA,UAAMovD,EAAE,GAAC,UAAS5kT,CAAT,EAAW,CAAC2K,CAAD,EAAGJ,CAAH,CAAX,EAAiB;AAAC,YAAMgC,CAAC,GAAC,IAAR;AAAa,UAAI51B,CAAJ;AAAA,UAAM81B,CAAC,GAAC9B,CAAC,CAACkgF,EAAF,CAAK,kBAAL,IAAyBlgF,CAAC,CAACkiP,QAAF,CAAW,CAAX,CAAzB,GAAuCliP,CAA/C;;AAAiD,UAAGh0B,CAAC,GAAC4zB,CAAC,GAACgC,CAAC,CAACixP,eAAF,CAAkBjzP,CAAlB,CAAD,GAAsBgC,CAAC,CAAC7K,QAAF,CAAWooP,SAApC,EAA8Cr9O,CAAC,IAAEA,CAAC,CAACo+E,EAAF,CAAK,SAAL,EAAe,UAAf,CAApD,EAA+E;AAAC,cAAM7qF,CAAC,GAACrpB,CAAC,CAACozQ,gBAAF,EAAR;AAA6B,YAAIp/O,CAAC,GAAC,IAAN;;AAAW,YAAG3K,CAAC,CAACmhD,MAAF,CAAS0pC,EAAT,CAAY,SAAZ,EAAsB,UAAtB,IAAkClgF,CAAC,GAAC3K,CAAC,CAACmhD,MAAtC,GAA6CnhD,CAAC,CAAC01P,UAAF,IAAc11P,CAAC,CAAC01P,UAAF,CAAa7qK,EAAb,CAAgB,SAAhB,EAA0B,UAA1B,CAAd,KAAsDlgF,CAAC,GAAC3K,CAAC,CAAC01P,UAA1D,CAA7C,EAAmH/qP,CAAtH,EAAwH;AAAC,gBAAM3K,CAAC,GAAC2K,CAAC,CAACk3O,YAAF,CAAe,YAAf,CAAR;AAAqC,cAAG7hP,CAAC,GAAC,CAAL,EAAO,OAAKyM,CAAC,IAAEA,CAAC,CAACo+E,EAAF,CAAK,SAAL,EAAe,UAAf,CAAR,GAAoCp+E,CAAC,CAACknP,aAAF,CAAgB,YAAhB,EAA6BlnP,CAAC,CAACo1O,YAAF,CAAe,YAAf,IAA6B7hP,CAA1D,GAA6DyM,CAAC,GAACA,CAAC,CAACg7N,WAAjE;AAA6E;AAAC;AAAC,KAAze;;AAA0e,aAAS88E,EAAT,CAAYvkT,CAAZ,EAAc;AAAC,YAAM2K,CAAC,GAAC,IAAIulQ,EAAJ,CAAO;AAACvpL,QAAAA,aAAa,EAAC3mF;AAAf,OAAP,CAAR;AAAkC,UAAIuK,CAAJ;;AAAM,SAAE;AAACA,QAAAA,CAAC,GAACI,CAAC,CAAC//B,IAAF,EAAF;AAAW,OAAd,QAAoB,CAAC2/B,CAAC,CAACr5B,KAAF,CAAQsJ,IAAR,CAAaqwG,EAAb,CAAgB,SAAhB,EAA0B,UAA1B,CAArB;;AAA4D,aAAOtgF,CAAC,CAACr5B,KAAF,CAAQsJ,IAAf;AAAoB;;AAAA,aAASqqU,EAAT,CAAY7kT,CAAZ,EAAc2K,CAAd,EAAgBJ,CAAhB,EAAkBgC,CAAlB,EAAoB51B,CAApB,EAAsB81B,CAAtB,EAAwB;AAAC,YAAMnC,CAAC,GAAC63S,EAAE,CAACx3S,CAAC,CAAC+qP,UAAH,EAAc;AAAC0sD,QAAAA,UAAU,EAAC,CAAC,CAAb;AAAeC,QAAAA,aAAa,EAAC,CAAC,CAA9B;AAAgCC,QAAAA,UAAU,EAACtiT;AAA3C,OAAd,CAAV;AAAA,YAAuEoiD,CAAC,GAACzrE,CAAC,CAACu9R,MAA3E;AAAA,YAAkFv2H,CAAC,GAAChnK,CAAC,CAAC4uG,MAAtF;AAAA,YAA6F2mG,CAAC,GAAC5hL,CAAC,GAACA,CAAC,CAACu3O,YAAF,CAAe,YAAf,CAAD,GAA8B,IAA9H;AAAmI,UAAIj4O,CAAJ;AAAM,UAAGU,CAAH;AAAK,YAAG4hL,CAAC,IAAElsL,CAAN,EAAQ;AAAC,gBAAMA,CAAC,GAACoiD,CAAC,CAACoxN,aAAF,CAAgBlpQ,CAAhB,EAAmB62C,MAA3B;AAAkCv3C,UAAAA,CAAC,GAAC+zI,CAAC,CAACy/G,mBAAF,CAAsBp9P,CAAtB,CAAF;AAA2B,SAAtE,MAA0E;AAAC,gBAAMA,CAAC,GAACyM,CAAC,CAAC0wP,gBAAF,CAAmB7yP,CAAnB,EAAqB,KAArB,CAAR;AAAoCV,UAAAA,CAAC,GAACw4C,CAAC,CAAC6xN,cAAF,CAAiBj0Q,CAAjB,CAAF;AAAsB;AAA1I,aAA+I4J,CAAC,GAACW,CAAF;AAAIX,MAAAA,CAAC,GAAC24S,EAAE,CAAC34S,CAAD,CAAJ;;AAAQ,WAAI,MAAM5J,CAAV,IAAc,CAAC,GAAGuM,CAAC,CAACy3E,WAAF,EAAJ,CAAd,EAAmCygO,EAAE,CAACzkT,CAAD,CAAF,KAAQ4J,CAAC,GAAC+zI,CAAC,CAACy+G,IAAF,CAAOz+G,CAAC,CAAC2/G,aAAF,CAAgBt9P,CAAhB,CAAP,EAA0B4J,CAA1B,EAA6B88E,GAA/B,EAAmC87N,EAAE,CAAC7kK,CAAD,EAAG39I,CAAH,EAAKA,CAAC,CAACynO,WAAP,CAArC,EAAyD+6E,EAAE,CAAC7kK,CAAD,EAAG39I,CAAC,CAAC43O,eAAL,EAAqB53O,CAArB,CAAnE;AAA4F;;AAAA,aAASykT,EAAT,CAAYzkT,CAAZ,EAAc;AAAC,aAAOA,CAAC,CAAC6qF,EAAF,CAAK,SAAL,EAAe,IAAf,KAAsB7qF,CAAC,CAAC6qF,EAAF,CAAK,SAAL,EAAe,IAAf,CAA7B;AAAkD;;AAAA,UAAMi6N,EAAN,SAAiBz7D,EAAjB,CAAmB;AAAsB,iBAAVwB,UAAU,GAAE;AAAC,eAAM,aAAN;AAAoB;;AAAmB,iBAARE,QAAQ,GAAE;AAAC,eAAM,CAACsrD,EAAD,EAAIzC,EAAJ,EAAOiQ,EAAP,CAAN;AAAiB;;AAAAtiV,MAAAA,IAAI,GAAE;AAAC,cAAMy+B,CAAC,GAAC,KAAKgiF,MAAb;AAAoBhiF,QAAAA,CAAC,CAACzjB,KAAF,CAAQolQ,MAAR,CAAehzB,QAAf,CAAwB,UAAxB,EAAmC;AAACmzD,UAAAA,cAAc,EAAC,QAAhB;AAAyB/B,UAAAA,eAAe,EAAC,CAAC,UAAD,EAAY,YAAZ;AAAzC,SAAnC;AAAwG,cAAMp1Q,CAAC,GAAC3K,CAAC,CAACr4B,IAAV;AAAA,cAAe4iC,CAAC,GAACvK,CAAC,CAACu1R,OAAnB;AAA2B,YAAIhpR,CAAJ;AAAMvM,QAAAA,CAAC,CAACzjB,KAAF,CAAQmlB,QAAR,CAAiB6qP,iBAAjB,CAAoC5hP,CAAC,IAAE,UAAS3K,CAAT,EAAW2K,CAAX,EAAa;AAAC,gBAAMJ,CAAC,GAACvK,CAAC,CAAC0B,QAAF,CAAW24Q,MAAX,CAAkB3E,UAAlB,EAAR;AAAA,gBAAuCnpQ,CAAC,GAAC,IAAI0C,GAAJ,EAAzC;AAAiD,cAAIt4B,CAAC,GAAC,CAAC,CAAP;;AAAS,eAAI,MAAM41B,CAAV,IAAehC,CAAf,EAAiB,IAAG,YAAUgC,CAAC,CAACt1B,IAAZ,IAAkB,cAAYs1B,CAAC,CAAC/7B,IAAnC,EAAwCi8B,CAAC,CAACF,CAAC,CAACz8B,QAAH,CAAD,CAAxC,KAA2D,IAAG,YAAUy8B,CAAC,CAACt1B,IAAZ,IAAkB,cAAYs1B,CAAC,CAAC/7B,IAAnC,EAAwC;AAAC,gBAAG,WAAS+7B,CAAC,CAAC/7B,IAAd,EAAmB;AAAC,oBAAM+5B,CAAC,GAACgC,CAAC,CAACz8B,QAAF,CAAW2lR,SAAnB;AAA6BlrP,cAAAA,CAAC,CAAC2oP,YAAF,CAAe,YAAf,MAA+BvoP,CAAC,CAACk5N,eAAF,CAAkB,YAAlB,EAA+Bt5N,CAA/B,GAAkC5zB,CAAC,GAAC,CAAC,CAApE,GAAuE4zB,CAAC,CAAC2oP,YAAF,CAAe,UAAf,MAA6BvoP,CAAC,CAACk5N,eAAF,CAAkB,UAAlB,EAA6Bt5N,CAA7B,GAAgC5zB,CAAC,GAAC,CAAC,CAAhE,CAAvE,EAA0I4zB,CAAC,CAAC2oP,YAAF,CAAe,WAAf,MAA8BvoP,CAAC,CAACk5N,eAAF,CAAkB,WAAlB,EAA8Bt5N,CAA9B,GAAiC5zB,CAAC,GAAC,CAAC,CAAlE,CAA1I,EAA+M4zB,CAAC,CAAC2oP,YAAF,CAAe,cAAf,MAAiCvoP,CAAC,CAACk5N,eAAF,CAAkB,cAAlB,EAAiCt5N,CAAjC,GAAoC5zB,CAAC,GAAC,CAAC,CAAxE,CAA/M,EAA0R4zB,CAAC,CAAC2oP,YAAF,CAAe,WAAf,MAA8BvoP,CAAC,CAACk5N,eAAF,CAAkB,WAAlB,EAA8Bt5N,CAA9B,GAAiC5zB,CAAC,GAAC,CAAC,CAAlE,CAA1R;;AAA+V,mBAAI,MAAMg0B,CAAV,IAAexF,KAAK,CAAC7H,IAAN,CAAW0C,CAAC,CAACu9P,aAAF,CAAgBhzP,CAAhB,CAAX,EAA+B5gC,MAA/B,CAAuCq2B,CAAC,IAAEA,CAAC,CAACxlB,IAAF,CAAOqwG,EAAP,CAAU,SAAV,EAAoB,UAApB,CAA1C,CAAf,EAA2Fp+E,CAAC,CAAC9B,CAAC,CAAC4qP,gBAAH,CAAD;AAAsB;;AAAA9oP,YAAAA,CAAC,CAACF,CAAC,CAACz8B,QAAF,CAAW6lR,YAAX,CAAwBppP,CAAC,CAAC5/B,MAA1B,CAAD,CAAD;AAAqC,WAA/kB,MAAmlB,YAAU4/B,CAAC,CAACt1B,IAAZ,IAAkB,cAAYs1B,CAAC,CAAC/7B,IAAhC,GAAqCi8B,CAAC,CAACF,CAAC,CAACz8B,QAAH,CAAtC,GAAmD,CAAC,eAAay8B,CAAC,CAACt1B,IAAf,IAAqB,gBAAcs1B,CAAC,CAACwpQ,YAArC,IAAmD,eAAaxpQ,CAAC,CAACt1B,IAAf,IAAqB,cAAYs1B,CAAC,CAACwpQ,YAAvF,KAAsGtpQ,CAAC,CAACF,CAAC,CAACw6E,KAAF,CAAQN,KAAT,CAA1J;;AAA0K,eAAI,MAAMzmF,CAAV,IAAeuM,CAAC,CAAC8U,MAAF,EAAf,EAA0B/W,CAAC,CAACtK,CAAD,CAAD,EAAKoiD,CAAC,CAACpiD,CAAD,CAAN;;AAAU,iBAAOrpB,CAAP;;AAAS,mBAAS81B,CAAT,CAAWzM,CAAX,EAAa;AAAC,kBAAM2K,CAAC,GAAC3K,CAAC,CAAC01P,UAAV;;AAAqB,gBAAG/qP,CAAC,IAAEA,CAAC,CAACkgF,EAAF,CAAK,SAAL,EAAe,UAAf,CAAN,EAAiC;AAAC,kBAAI7qF,CAAC,GAAC2K,CAAN;AAAQ,kBAAG4B,CAAC,CAACuiB,GAAF,CAAM9uB,CAAN,CAAH,EAAY;;AAAO,mBAAI,IAAI2K,CAAC,GAAC3K,CAAC,CAAC43O,eAAZ,EAA4BjtO,CAAC,IAAEA,CAAC,CAACkgF,EAAF,CAAK,SAAL,EAAe,UAAf,CAA/B,EAA0DlgF,CAAC,GAAC3K,CAAC,CAAC43O,eAA9D,EAA8E,IAAG53O,CAAC,GAAC2K,CAAF,EAAI4B,CAAC,CAACuiB,GAAF,CAAM9uB,CAAN,CAAP,EAAgB;;AAAOuM,cAAAA,CAAC,CAACzH,GAAF,CAAM6F,CAAN,EAAQ3K,CAAR;AAAW,aAA7K,MAAiL;AAAC,oBAAM2K,CAAC,GAAC3K,CAAC,CAACy1P,SAAV;AAAoB9qP,cAAAA,CAAC,IAAEA,CAAC,CAACkgF,EAAF,CAAK,SAAL,EAAe,UAAf,CAAH,IAA+Bt+E,CAAC,CAACzH,GAAF,CAAM6F,CAAN,EAAQA,CAAR,CAA/B;AAA0C;AAAC;;AAAA,mBAASL,CAAT,CAAWtK,CAAX,EAAa;AAAC,gBAAIuK,CAAC,GAAC,CAAN;AAAA,gBAAQgC,CAAC,GAAC,IAAV;;AAAe,mBAAKvM,CAAC,IAAEA,CAAC,CAAC6qF,EAAF,CAAK,SAAL,EAAe,UAAf,CAAR,GAAoC;AAAC,oBAAMp+E,CAAC,GAACzM,CAAC,CAAC6hP,YAAF,CAAe,YAAf,CAAR;;AAAqC,kBAAGp1O,CAAC,GAAClC,CAAL,EAAO;AAAC,oBAAID,CAAJ;AAAM,yBAAOiC,CAAP,IAAUA,CAAC,GAACE,CAAC,GAAClC,CAAJ,EAAMD,CAAC,GAACC,CAAlB,KAAsBgC,CAAC,GAACE,CAAF,KAAMF,CAAC,GAACE,CAAR,GAAWnC,CAAC,GAACmC,CAAC,GAACF,CAArC,GAAwC5B,CAAC,CAAC+wC,YAAF,CAAe,YAAf,EAA4BpxC,CAA5B,EAA8BtK,CAA9B,CAAxC,EAAyErpB,CAAC,GAAC,CAAC,CAA5E;AAA8E,eAA5F,MAAiG41B,CAAC,GAAC,IAAF,EAAOhC,CAAC,GAACvK,CAAC,CAAC6hP,YAAF,CAAe,YAAf,IAA6B,CAAtC;;AAAwC7hP,cAAAA,CAAC,GAACA,CAAC,CAACynO,WAAJ;AAAgB;AAAC;;AAAA,mBAASrlL,CAAT,CAAWpiD,CAAX,EAAa;AAAC,gBAAIuK,CAAC,GAAC,EAAN;AAAA,gBAASgC,CAAC,GAAC,IAAX;;AAAgB,mBAAKvM,CAAC,IAAEA,CAAC,CAAC6qF,EAAF,CAAK,SAAL,EAAe,UAAf,CAAR,GAAoC;AAAC,oBAAMp+E,CAAC,GAACzM,CAAC,CAAC6hP,YAAF,CAAe,YAAf,CAAR;AAAqC,kBAAGt1O,CAAC,IAAEA,CAAC,CAACs1O,YAAF,CAAe,YAAf,IAA6Bp1O,CAAhC,KAAoClC,CAAC,GAACA,CAAC,CAACmuE,KAAF,CAAQ,CAAR,EAAUjsE,CAAC,GAAC,CAAZ,CAAtC,GAAsD,KAAGA,CAA5D,EAA8D,IAAGlC,CAAC,CAACkC,CAAD,CAAJ,EAAQ;AAAC,sBAAMF,CAAC,GAAChC,CAAC,CAACkC,CAAD,CAAT;AAAazM,gBAAAA,CAAC,CAAC6hP,YAAF,CAAe,UAAf,KAA4Bt1O,CAA5B,KAAgC5B,CAAC,CAAC+wC,YAAF,CAAe,UAAf,EAA0BnvC,CAA1B,EAA4BvM,CAA5B,GAA+BrpB,CAAC,GAAC,CAAC,CAAlE;AAAqE,eAA3F,MAAgG4zB,CAAC,CAACkC,CAAD,CAAD,GAAKzM,CAAC,CAAC6hP,YAAF,CAAe,UAAf,CAAL;AAAgCt1O,cAAAA,CAAC,GAACvM,CAAF,EAAIA,CAAC,GAACA,CAAC,CAACynO,WAAR;AAAoB;AAAC;AAAC,SAA/wD,CAAgxDznO,CAAC,CAACzjB,KAAlxD,EAAwxDouB,CAAxxD,CAAvC,GAAo0DJ,CAAC,CAAC2pQ,MAAF,CAASG,yBAAT,CAAmC,IAAnC,EAAwC0wC,EAAxC,CAAp0D,EAAg3Dp6S,CAAC,CAACupQ,MAAF,CAASG,yBAAT,CAAmC,IAAnC,EAAwC0wC,EAAxC,CAAh3D,EAA45Dx6S,CAAC,CAAC2pQ,MAAF,CAASzyR,EAAT,CAAY,qBAAZ,EAAkCkjU,EAAE,CAACp6S,CAAC,CAACurK,IAAH,CAApC,CAA55D,EAA08DvrK,CAAC,CAAC2pQ,MAAF,CAASzyR,EAAT,CAAY,qBAAZ,GAAmC8qB,CAAC,GAACvM,CAAC,CAACzjB,KAAJ,EAAU,CAACyjB,CAAD,EAAG2K,CAAH,KAAO;AAAC,gBAAMJ,CAAC,GAACI,CAAC,CAACooQ,YAAV;AAAA,gBAAuBp8R,CAAC,GAAC4zB,CAAC,CAAC42C,MAA3B;AAAA,gBAAkC10C,CAAC,GAAC9B,CAAC,CAACupQ,MAAtC;;AAA6C,cAAG,QAAMv9R,CAAC,CAACnG,IAAR,IAAc,QAAMmG,CAAC,CAACnG,IAAzB,EAA8B;AAAC,gBAAG+5B,CAAC,CAAC2qP,OAAL,EAAa;AAAC,oBAAMl1P,CAAC,GAACyM,CAAC,CAAC4mQ,cAAF,CAAiB9oQ,CAAC,CAACmrP,UAAnB,CAAR;AAAA,oBAAuC/+Q,CAAC,GAAC81B,CAAC,CAAC6nQ,cAAF,CAAiB/pQ,CAAC,CAACmrP,UAAnB,CAAzC;AAAwE/qP,cAAAA,CAAC,CAACqoQ,aAAF,GAAgBzmQ,CAAC,CAAC8wP,oBAAF,CAAuBr9P,CAAvB,EAA0B21P,YAA1B,CAAuCh/Q,CAAvC,CAAhB;AAA0D,aAAhJ,MAAoJ;AAAC,oBAAMqpB,CAAC,GAACyM,CAAC,CAAC4mQ,cAAF,CAAiB9oQ,CAAC,CAACkrP,SAAnB,CAAR;AAAsC9qP,cAAAA,CAAC,CAACqoQ,aAAF,GAAgBzmQ,CAAC,CAAC8wP,oBAAF,CAAuBr9P,CAAvB,CAAhB;AAA0C;;AAAAA,YAAAA,CAAC,CAAColF,IAAF;AAAS,WAA7Q,MAAkR,IAAG,QAAMzuG,CAAC,CAACnG,IAAR,IAAc+5B,CAAC,CAACmrP,UAAhB,KAA6B,QAAMnrP,CAAC,CAACmrP,UAAF,CAAallR,IAAnB,IAAyB,QAAM+5B,CAAC,CAACmrP,UAAF,CAAallR,IAAzE,CAAH,EAAkF;AAAC,kBAAM85B,CAAC,GAACmC,CAAC,CAAC4mQ,cAAF,CAAiB18R,CAAjB,CAAR;AAA4B,gBAAIyrE,CAAC,GAAC,CAAN;AAAA,gBAAQu7F,CAAC,GAACpzI,CAAC,CAACmrP,UAAZ;;AAAuB,mBAAK/3G,CAAC,IAAE8mK,EAAE,CAAC9mK,CAAD,CAAV,GAAev7F,CAAC,IAAE31C,CAAC,CAAC6nQ,cAAF,CAAiB32H,CAAjB,CAAH,EAAuBA,CAAC,GAACA,CAAC,CAACi6F,eAA3B;;AAA2CjtO,YAAAA,CAAC,CAACqoQ,aAAF,GAAgBzmQ,CAAC,CAAC8wP,oBAAF,CAAuB/yP,CAAvB,EAA0BqrP,YAA1B,CAAuCvzM,CAAvC,CAAhB,EAA0DpiD,CAAC,CAAColF,IAAF,EAA1D;AAAmE;AAAC,SAAxnB,EAA18D,EAAqkFz6E,CAAC,CAACupQ,MAAF,CAASzyR,EAAT,CAAY,qBAAZ,EAAkCkjU,EAAE,CAACp6S,CAAC,CAACurK,IAAH,CAApC,CAArkF,EAAmnF91K,CAAC,CAACk5N,UAAF,CAAaxe,GAAb,CAAiB,iBAAjB,EAAoC9lN,GAApC,CAAyC+V,CAAC,IAAE;AAACA,UAAAA,CAAC,CAAClpB,EAAF,CAAK,QAAL,EAAc2iU,EAAd,EAAiB;AAACz+N,YAAAA,QAAQ,EAAC;AAAV,WAAjB,GAAoCh7E,CAAC,CAAClpB,EAAF,CAAK,iBAAL,EAAuBwiU,EAAE,CAACjkT,CAAC,CAACzjB,KAAH,CAAzB,CAApC,EAAwEouB,CAAC,CAAClpB,EAAF,CAAK,6BAAL,EAAmCyiU,EAAnC,EAAsC;AAACv+N,YAAAA,QAAQ,EAAC;AAAV,WAAtC,CAAxE,EAAiIh7E,CAAC,CAAClpB,EAAF,CAAK,6BAAL,EAAmC0iU,EAAnC,EAAsC;AAACx+N,YAAAA,QAAQ,EAAC;AAAV,WAAtC,CAAjI,EAAyLh7E,CAAC,CAAClpB,EAAF,CAAK,+BAAL,EAAqC,UAASue,CAAT,EAAW;AAAC,mBAAM,CAAC2K,CAAD,EAAGJ,CAAH,EAAKgC,CAAL,KAAS;AAAC,kBAAG,CAACA,CAAC,CAAC6pQ,UAAF,CAAavB,OAAb,CAAqBtqQ,CAAC,CAAC/vB,IAAvB,EAA4B,sBAA5B,CAAJ,EAAwD;AAAO,oBAAM7D,CAAC,GAAC41B,CAAC,CAAC2nQ,MAAF,CAASV,aAAT,CAAuBjpQ,CAAC,CAAC/vB,IAAzB,CAAR;AAAA,oBAAuCiyB,CAAC,GAACF,CAAC,CAACg5E,MAA3C;AAAkD94E,cAAAA,CAAC,CAAC0vP,cAAF,CAAiB1vP,CAAC,CAAC4wP,oBAAF,CAAuB1mR,CAAvB,CAAjB,GAA4C81B,CAAC,CAAC0vP,cAAF,CAAiB1vP,CAAC,CAAC2wP,mBAAF,CAAsBzmR,CAAtB,CAAjB,CAA5C;AAAuF,oBAAM2zB,CAAC,GAAC3zB,CAAC,CAACwqE,MAAV;AAAA,oBAAiBiB,CAAC,GAAC93C,CAAC,CAACstO,eAArB;AAAA,oBAAqCj6F,CAAC,GAAClxI,CAAC,CAAC6wP,aAAF,CAAgBhzP,CAAhB,CAAvC;AAA0DmC,cAAAA,CAAC,CAACwzE,MAAF,CAAS09D,CAAT,GAAYv7F,CAAC,IAAEA,CAAC,CAACqlL,WAAL,IAAkB+6E,EAAE,CAAC/1S,CAAD,EAAG21C,CAAH,EAAKA,CAAC,CAACqlL,WAAP,CAAhC,EAAoDo9E,EAAE,CAACt6S,CAAC,CAACyrQ,iBAAF,GAAoB,CAArB,EAAuBzrQ,CAAC,CAACw8E,KAAF,CAAQN,KAA/B,EAAqCk3D,CAAC,CAACl3D,KAAvC,EAA6C9vG,CAA7C,EAA+C41B,CAA/C,EAAiDvM,CAAjD,CAAtD,EAA0GkiT,EAAE,CAAC33S,CAAC,CAAC/vB,IAAH,EAAQ7D,CAAR,EAAU41B,CAAV,EAAYvM,CAAZ,CAA5G;;AAA2H,mBAAI,MAAMA,CAAV,IAAeuK,CAAC,CAAC/vB,IAAF,CAAOwpG,WAAP,EAAf,EAAoCz3E,CAAC,CAAC6pQ,UAAF,CAAavB,OAAb,CAAqB70Q,CAArB,EAAuB,QAAvB;AAAiC,aAAld;AAAmd,WAA/d,CAAgeA,CAAC,CAACzjB,KAAle,CAArC,CAAzL,EAAwsBouB,CAAC,CAAClpB,EAAF,CAAK,iBAAL,EAAuB,UAASue,CAAT,EAAW;AAAC,mBAAM,CAAC2K,CAAD,EAAGJ,CAAH,EAAKgC,CAAL,KAAS;AAAC,oBAAM51B,CAAC,GAAC41B,CAAC,CAAC2nQ,MAAF,CAASD,cAAT,CAAwB1pQ,CAAC,CAACz6B,QAA1B,EAAoC8lR,uBAApC,CAA6D51P,CAAC,IAAE,CAACA,CAAC,CAACxlB,IAAF,CAAOqwG,EAAP,CAAU,SAAV,EAAoB,IAApB,CAAjE,EAA6F4qK,SAArG;AAAA,oBAA+GhpP,CAAC,GAACF,CAAC,CAACg5E,MAAnH;AAA0H94E,cAAAA,CAAC,CAAC0vP,cAAF,CAAiB1vP,CAAC,CAAC4wP,oBAAF,CAAuB1mR,CAAvB,CAAjB,GAA4C81B,CAAC,CAAC0vP,cAAF,CAAiB1vP,CAAC,CAAC2wP,mBAAF,CAAsBzmR,CAAtB,CAAjB,CAA5C;AAAuF,oBAAM2zB,CAAC,GAAC3zB,CAAC,CAACwqE,MAAV;AAAA,oBAAiBiB,CAAC,GAAC93C,CAAC,CAACstO,eAArB;AAAA,oBAAqCj6F,CAAC,GAAClxI,CAAC,CAAC6wP,aAAF,CAAgBhzP,CAAhB,CAAvC;AAAA,oBAA0D4hL,CAAC,GAACz/K,CAAC,CAACwzE,MAAF,CAAS09D,CAAT,CAA5D;AAAwEv7F,cAAAA,CAAC,IAAEA,CAAC,CAACqlL,WAAL,IAAkB+6E,EAAE,CAAC/1S,CAAD,EAAG21C,CAAH,EAAKA,CAAC,CAACqlL,WAAP,CAApB,EAAwCo9E,EAAE,CAACt4S,CAAC,CAAC2nQ,MAAF,CAASb,cAAT,CAAwB18R,CAAxB,EAA2BkrQ,YAA3B,CAAwC,YAAxC,IAAsD,CAAvD,EAAyDt3O,CAAC,CAACz6B,QAA3D,EAAoE6tK,CAAC,CAACl3D,KAAtE,EAA4E9vG,CAA5E,EAA8E41B,CAA9E,EAAgFvM,CAAhF,CAA1C;;AAA6H,mBAAI,MAAMA,CAAV,IAAeyM,CAAC,CAAC8wP,aAAF,CAAgBrxE,CAAhB,EAAmB3kF,QAAnB,EAAf,EAA6Ch7F,CAAC,CAAC2nQ,MAAF,CAASd,iBAAT,CAA2BpzQ,CAA3B;;AAA8B2K,cAAAA,CAAC,CAACy6E,IAAF;AAAS,aAA1f;AAA2f,WAAvgB,CAAwgBplF,CAAC,CAACzjB,KAA1gB,CAAvB,CAAxsB,EAAivCouB,CAAC,CAAClpB,EAAF,CAAK,QAAL,EAAc4iU,EAAd,EAAiB;AAAC1+N,YAAAA,QAAQ,EAAC;AAAV,WAAjB,CAAjvC;AAAoxC,SAAj0C,CAAnnF,EAAu7H3lF,CAAC,CAACk5N,UAAF,CAAaxe,GAAb,CAAiB,cAAjB,EAAiC9lN,GAAjC,CAAsC+V,CAAC,IAAE;AAACA,UAAAA,CAAC,CAAClpB,EAAF,CAAK,QAAL,EAAc2iU,EAAd,EAAiB;AAACz+N,YAAAA,QAAQ,EAAC;AAAV,WAAjB,GAAoCh7E,CAAC,CAAClpB,EAAF,CAAK,iBAAL,EAAuBwiU,EAAE,CAACjkT,CAAC,CAACzjB,KAAH,CAAzB,CAApC;AAAwE,SAAlH,CAAv7H,EAA4iIyjB,CAAC,CAACk5N,UAAF,CAAaxe,GAAb,CAAiB,QAAjB,EAA2B9lN,GAA3B,CAAgCoL,CAAC,IAAE;AAACA,UAAAA,CAAC,CAACve,EAAF,CAAK,YAAL,EAAkB+iU,EAAlB,EAAqB;AAAC7+N,YAAAA,QAAQ,EAAC;AAAV,WAArB,GAAwC3lF,CAAC,CAACve,EAAF,CAAK,YAAL,EAAkB+iU,EAAlB,EAAqB;AAAC7+N,YAAAA,QAAQ,EAAC;AAAV,WAArB,CAAxC,EAAgF3lF,CAAC,CAACve,EAAF,CAAK,YAAL,EAAkBijU,EAAlB,EAAqB;AAAC/+N,YAAAA,QAAQ,EAAC;AAAV,WAArB,CAAhF,EAAwH3lF,CAAC,CAACve,EAAF,CAAK,YAAL,EAAkB6iU,EAAlB,CAAxH;AAA8I,SAAlL,CAA5iI,EAAiuItkT,CAAC,CAACzjB,KAAF,CAAQkF,EAAR,CAAW,eAAX,EAA2BmjU,EAA3B,EAA8B;AAACj/N,UAAAA,QAAQ,EAAC;AAAV,SAA9B,CAAjuI,EAAkxI3lF,CAAC,CAACm1R,QAAF,CAAWvgS,GAAX,CAAe,cAAf,EAA8B,IAAI6uT,EAAJ,CAAOzjT,CAAP,EAAS,UAAT,CAA9B,CAAlxI,EAAs0IA,CAAC,CAACm1R,QAAF,CAAWvgS,GAAX,CAAe,cAAf,EAA8B,IAAI6uT,EAAJ,CAAOzjT,CAAP,EAAS,UAAT,CAA9B,CAAt0I,EAA03IA,CAAC,CAACm1R,QAAF,CAAWvgS,GAAX,CAAe,YAAf,EAA4B,IAAI2uT,EAAJ,CAAOvjT,CAAP,EAAS,SAAT,CAA5B,CAA13I,EAA26IA,CAAC,CAACm1R,QAAF,CAAWvgS,GAAX,CAAe,aAAf,EAA6B,IAAI2uT,EAAJ,CAAOvjT,CAAP,EAAS,UAAT,CAA7B,CAA36I;AAA89I,cAAMrpB,CAAC,GAAC4zB,CAAC,CAACurK,IAAF,CAAOp0K,QAAf;AAAwB,aAAK8jO,QAAL,CAAc7uP,CAAd,EAAgB,OAAhB,EAAyB,CAACqpB,CAAD,EAAG2K,CAAH,KAAO;AAAC,gBAAMJ,CAAC,GAAC,KAAKy3E,MAAL,CAAYzlG,KAAZ,CAAkBmlB,QAA1B;AAAA,gBAAmC6K,CAAC,GAAChC,CAAC,CAACu/O,SAAF,CAAY4N,eAAZ,GAA8Bv2M,MAAnE;AAA0E52C,UAAAA,CAAC,CAACu/O,SAAF,CAAYkM,WAAZ,IAAyB,cAAYzpP,CAAC,CAAC/7B,IAAvC,IAA6C+7B,CAAC,CAAC8J,OAA/C,KAAyD,KAAK2rE,MAAL,CAAYmoK,OAAZ,CAAoB,aAApB,GAAmCx/O,CAAC,CAAC4pC,cAAF,EAAnC,EAAsDv0C,CAAC,CAAColF,IAAF,EAA/G;AAAyH,SAApO,EAAsO;AAAC90G,UAAAA,OAAO,EAAC;AAAT,SAAtO,GAAsP,KAAKk1P,QAAL,CAAc7uP,CAAd,EAAgB,QAAhB,EAA0B,CAACqpB,CAAD,EAAG2K,CAAH,KAAO;AAAC,cAAG,eAAaA,CAAC,CAAC+oM,SAAlB,EAA4B;AAAO,gBAAMnpM,CAAC,GAAC,KAAKy3E,MAAL,CAAYzlG,KAAZ,CAAkBmlB,QAAlB,CAA2BooP,SAAnC;AAA6C,cAAG,CAACv/O,CAAC,CAACyrP,WAAN,EAAkB;AAAO,gBAAMzpP,CAAC,GAAChC,CAAC,CAACw/O,gBAAF,EAAR;AAA6B,cAAG,CAACx9O,CAAC,CAAC8oP,SAAN,EAAgB;AAAO,gBAAM1+Q,CAAC,GAAC41B,CAAC,CAAC40C,MAAV;AAAiB,cAAG,eAAaxqE,CAAC,CAACnG,IAAlB,EAAuB;AAAOmG,UAAAA,CAAC,CAACihQ,eAAF,IAAmB,eAAajhQ,CAAC,CAACihQ,eAAF,CAAkBpnQ,IAAlD,KAAyD,KAAKwxG,MAAL,CAAYmoK,OAAZ,CAAoB,aAApB,GAAmCx/O,CAAC,CAAC4pC,cAAF,EAAnC,EAAsDv0C,CAAC,CAAColF,IAAF,EAA/G;AAAyH,SAAvW,EAAyW;AAAC90G,UAAAA,OAAO,EAAC;AAAT,SAAzW,CAAtP,EAA+mB,KAAKk1P,QAAL,CAAcxlO,CAAC,CAACu1R,OAAF,CAAUz/G,IAAV,CAAep0K,QAA7B,EAAsC,KAAtC,EAA6C,CAACiJ,CAAD,EAAGJ,CAAH,KAAO;AAAC,gBAAMgC,CAAC,GAAChC,CAAC,CAACixO,QAAF,GAAW,aAAX,GAAyB,YAAjC;AAA8C,eAAKx5J,MAAL,CAAYmzM,QAAZ,CAAqB10T,GAArB,CAAyB8rC,CAAzB,EAA4B8tH,SAA5B,KAAwCr6H,CAAC,CAACmqP,OAAF,CAAU59O,CAAV,GAAahC,CAAC,CAACy/M,eAAF,EAAb,EAAiCz/M,CAAC,CAACgqC,cAAF,EAAjC,EAAoD5pC,CAAC,CAACy6E,IAAF,EAA5F;AAAsG,SAAzM,EAA2M;AAAC90G,UAAAA,OAAO,EAAC;AAAT,SAA3M,CAA/mB;AAA00B;;AAAA00U,MAAAA,SAAS,GAAE;AAAC,cAAMhlT,CAAC,GAAC,KAAKgiF,MAAL,CAAYmzM,QAApB;AAAA,cAA6BxqR,CAAC,GAAC3K,CAAC,CAACv/B,GAAF,CAAM,QAAN,CAA/B;AAAA,cAA+C8pC,CAAC,GAACvK,CAAC,CAACv/B,GAAF,CAAM,SAAN,CAAjD;AAAkEkqC,QAAAA,CAAC,IAAEA,CAAC,CAAC4/O,oBAAF,CAAuBvqP,CAAC,CAACv/B,GAAF,CAAM,YAAN,CAAvB,CAAH,EAA+C8pC,CAAC,IAAEA,CAAC,CAACggP,oBAAF,CAAuBvqP,CAAC,CAACv/B,GAAF,CAAM,aAAN,CAAvB,CAAlD;AAA+F;;AAAruL;;AAAsuL,aAASskV,EAAT,CAAY/kT,CAAZ,EAAc;AAAC,UAAI2K,CAAC,GAAC,CAAN;;AAAQ,WAAI,MAAMJ,CAAV,IAAevK,CAAC,CAACgkF,WAAF,EAAf,EAA+B,IAAG,QAAMz5E,CAAC,CAAC/5B,IAAR,IAAc,QAAM+5B,CAAC,CAAC/5B,IAAzB,EAA8B,KAAI,MAAMwvB,CAAV,IAAeuK,CAAC,CAACy5E,WAAF,EAAf,EAA+Br5E,CAAC,IAAEo6S,EAAE,CAAC/kT,CAAD,CAAL;;AAAS,aAAO2K,CAAP;AAAS;;AAAA+wO,IAAAA,EAAE,CAAC,YAAD,CAAF;AAAiB,QAAIupE,EAAE,GAAC16S,CAAC,CAAC,IAAD,CAAR;AAAA,QAAe26S,EAAE,GAAC;AAACjmE,MAAAA,UAAU,EAAC,mBAAZ;AAAgCh7J,MAAAA,UAAU,EAAC;AAAC,oBAAW,CAAC;AAAb,OAA3C;AAA2DqC,MAAAA,MAAM,EAAC,MAAlE;AAAyEy9I,MAAAA,SAAS,EAAC,CAAC;AAApF,KAAlB;AAAyG+a,IAAAA,EAAE,GAAGmmE,EAAE,CAAC1iF,CAAN,EAAQ2iF,EAAR,CAAF;AAAcD,IAAAA,EAAE,CAAC1iF,CAAH,CAAK2c,MAAL;AAAYxD,IAAAA,EAAE,CAAC,YAAD,CAAF;;AAAiB,UAAMypE,EAAN,SAAiBx7D,EAAjB,CAAmB;AAAClqR,MAAAA,WAAW,CAACugC,CAAD,EAAG;AAAC,cAAMA,CAAN,GAAS,KAAK4pP,0BAAL,GAAgC,CAAC,CAA1C;AAA4C;;AAAAC,MAAAA,OAAO,GAAE;AAAC,cAAM7pP,CAAC,GAAC,KAAKgiF,MAAL,CAAYzlG,KAApB;AAAA,cAA0BouB,CAAC,GAAC2yO,EAAE,CAACt9O,CAAC,CAAC0B,QAAF,CAAWooP,SAAX,CAAqB4tB,iBAArB,EAAD,CAA9B;AAAyE,aAAKxmS,KAAL,GAAW,CAAC,CAACy5B,CAAF,IAAKA,CAAC,CAACkgF,EAAF,CAAK,SAAL,EAAe,WAAf,CAAhB,EAA4C,KAAKwvC,SAAL,GAAe,CAAC,CAAC1vH,CAAF,IAAKy6S,EAAE,CAACz6S,CAAD,EAAG3K,CAAC,CAAC2hP,MAAL,CAAlE;AAA+E;;AAAAwI,MAAAA,OAAO,CAACnqP,CAAC,GAAC,EAAH,EAAM;AAAC,cAAM2K,CAAC,GAAC,KAAKq3E,MAAL,CAAYzlG,KAApB;AAAA,cAA0BguB,CAAC,GAACI,CAAC,CAACjJ,QAA9B;AAAA,cAAuC6K,CAAC,GAACvM,CAAC,CAAC8pP,SAAF,IAAav/O,CAAC,CAACu/O,SAAxD;AAAkEn/O,QAAAA,CAAC,CAACq/O,SAAF,CAAYz9O,CAAZ,KAAgB5B,CAAC,CAAC+2K,MAAF,CAAU1hL,CAAC,IAAE;AAAC,gBAAMuK,CAAC,GAACgC,CAAC,CAACmrQ,iBAAF,EAAR;;AAA8B,eAAI,MAAMnrQ,CAAV,IAAehC,CAAf,EAAiB,CAACgC,CAAC,CAACs+E,EAAF,CAAK,SAAL,EAAe,WAAf,CAAD,IAA8Bu6N,EAAE,CAAC74S,CAAD,EAAG5B,CAAC,CAACg3O,MAAL,CAAhC,IAA8C3hP,CAAC,CAACi9P,MAAF,CAAS1wP,CAAT,EAAW,WAAX,CAA9C;AAAsE,SAAnI,CAAhB;AAAsJ;;AAApc;;AAAqc,aAAS64S,EAAT,CAAYplT,CAAZ,EAAc2K,CAAd,EAAgB;AAAC,aAAOA,CAAC,CAACgxQ,UAAF,CAAa37Q,CAAC,CAACmhD,MAAf,EAAsB,WAAtB,KAAoC,CAACx2C,CAAC,CAAC09E,QAAF,CAAWroF,CAAX,CAA5C;AAA0D;;AAAA,UAAMqlT,EAAN,SAAiB17D,EAAjB,CAAmB;AAAClqR,MAAAA,WAAW,CAACugC,CAAD,EAAG;AAAC,cAAMA,CAAN,GAAS,KAAK4pP,0BAAL,GAAgC,CAAC,CAA1C;AAA4C;;AAAAO,MAAAA,OAAO,CAACnqP,CAAD,EAAG;AAAC,cAAM2K,CAAC,GAAC,KAAKq3E,MAAL,CAAYzlG,KAApB;AAAA,cAA0BguB,CAAC,GAACvK,CAAC,CAACikF,UAA9B;AAAyC,YAAI13E,CAAC,GAACvM,CAAC,CAAClwB,QAAR;AAAiB66B,QAAAA,CAAC,CAACq/O,SAAF,CAAYz9O,CAAZ,KAAgB5B,CAAC,CAAC+2K,MAAF,CAAU1hL,CAAC,IAAE;AAAC,cAAGuM,CAAC,GAAC,KAAK+4S,8BAAL,CAAoC/4S,CAApC,EAAsCvM,CAAtC,CAAF,EAA2C,CAACuM,CAA/C,EAAiD;AAAO,gBAAM51B,CAAC,GAACqpB,CAAC,CAAC6G,aAAF,CAAgB,WAAhB,CAAR;AAAqC0D,UAAAA,CAAC,IAAEI,CAAC,CAACg3O,MAAF,CAAS8+B,oBAAT,CAA8B9pS,CAA9B,EAAgC4zB,CAAhC,EAAkCvK,CAAlC,CAAH,EAAwC2K,CAAC,CAACipR,aAAF,CAAgBj9S,CAAhB,EAAkB41B,CAAlB,CAAxC,EAA6DvM,CAAC,CAACm7P,YAAF,CAAexkR,CAAf,EAAiB,IAAjB,CAA7D;AAAoF,SAA/L,CAAhB;AAAkN;;AAAA2uU,MAAAA,8BAA8B,CAACtlT,CAAD,EAAG2K,CAAH,EAAK;AAAC,cAAMJ,CAAC,GAAC,KAAKy3E,MAAL,CAAYzlG,KAApB;AAA0B,YAAGguB,CAAC,CAACo3O,MAAF,CAASg6B,UAAT,CAAoB37Q,CAApB,EAAsB,WAAtB,CAAH,EAAsC,OAAOA,CAAP;AAAS,cAAMuM,CAAC,GAAChC,CAAC,CAACo3O,MAAF,CAAS6+B,iBAAT,CAA2BxgR,CAA3B,EAA6B,WAA7B,CAAR;AAAkD,YAAG,CAACuM,CAAJ,EAAM,OAAO,IAAP;AAAY,cAAM51B,CAAC,GAACqpB,CAAC,CAACmhD,MAAV;AAAA,cAAiB10C,CAAC,GAAClC,CAAC,CAACo3O,MAAF,CAASg6B,UAAT,CAAoBhlS,CAApB,EAAsB,OAAtB,CAAnB;AAAkD,eAAOA,CAAC,CAAC0/B,OAAF,IAAW5J,CAAC,IAAEzM,CAAC,CAACk1P,OAAhB,GAAwB3qP,CAAC,CAAC6yP,mBAAF,CAAsBzmR,CAAtB,CAAxB,GAAiD,CAACA,CAAC,CAAC0/B,OAAH,IAAY5J,CAAZ,IAAezM,CAAC,CAACq1P,SAAjB,GAA2B9qP,CAAC,CAAC8yP,oBAAF,CAAuB1mR,CAAvB,CAA3B,GAAqDg0B,CAAC,CAAC5rB,KAAF,CAAQihB,CAAR,EAAUuM,CAAV,EAAaz8B,QAA1H;AAAmI;;AAAzrB;;AAA0rB,UAAMy1U,EAAN,SAAiBl8D,EAAjB,CAAmB;AAAsB,iBAAVwB,UAAU,GAAE;AAAC,eAAM,WAAN;AAAkB;;AAAAtpR,MAAAA,IAAI,GAAE;AAAC,cAAMy+B,CAAC,GAAC,KAAKgiF,MAAb;AAAA,cAAoBr3E,CAAC,GAAC3K,CAAC,CAACzjB,KAAxB;AAA8ByjB,QAAAA,CAAC,CAACm1R,QAAF,CAAWvgS,GAAX,CAAe,WAAf,EAA2B,IAAIuwT,EAAJ,CAAOnlT,CAAP,CAA3B,GAAsCA,CAAC,CAACm1R,QAAF,CAAWvgS,GAAX,CAAe,iBAAf,EAAiC,IAAIywT,EAAJ,CAAOrlT,CAAP,CAAjC,CAAtC,EAAkF2K,CAAC,CAACg3O,MAAF,CAAShzB,QAAT,CAAkB,WAAlB,EAA8B;AAACmzD,UAAAA,cAAc,EAAC;AAAhB,SAA9B,CAAlF,EAA2I9hR,CAAC,CAACk5N,UAAF,CAAaiiD,gBAAb,CAA8B;AAAC5+R,UAAAA,KAAK,EAAC,WAAP;AAAmBu5L,UAAAA,IAAI,EAAC;AAAxB,SAA9B,CAA3I,EAAuM91K,CAAC,CAACk5N,UAAF,CAAaxe,GAAb,CAAiB,QAAjB,EAA2BygE,gBAA3B,CAA4C;AAAC5+R,UAAAA,KAAK,EAAC,CAACyjB,CAAD,EAAG;AAACulF,YAAAA,MAAM,EAAC56E;AAAR,WAAH,KAAgB46S,EAAE,CAACC,qBAAH,CAAyB12R,GAAzB,CAA6B9uB,CAAC,CAACxvB,IAA/B,IAAqCwvB,CAAC,CAACqW,OAAF,GAAU,IAAV,GAAe1L,CAAC,CAAC9D,aAAF,CAAgB,WAAhB,CAApD,GAAiF,IAAxG;AAA6GivK,UAAAA,IAAI,EAAC,IAAlH;AAAuH0lG,UAAAA,iBAAiB,EAAC;AAAzI,SAA5C,CAAvM;AAAoY;;AAApd;;AAAqd+pC,IAAAA,EAAE,CAACC,qBAAH,GAAyB,IAAI3zO,GAAJ,CAAQ,CAAC,YAAD,EAAc,IAAd,EAAmB,KAAnB,EAAyB,IAAzB,EAA8B,IAA9B,EAAmC,IAAnC,EAAwC,IAAxC,EAA6C,IAA7C,EAAkD,IAAlD,EAAuD,IAAvD,EAA4D,IAA5D,EAAiE,GAAjE,EAAqE,IAArE,EAA0E,IAA1E,CAAR,CAAzB;;AAAkH,aAAS4zO,EAAT,CAAYzlT,CAAZ,EAAc2K,CAAd,EAAgBJ,CAAhB,EAAkBgC,CAAlB,EAAoB51B,CAAC,GAAC,CAAtB,EAAwB;AAAC,cAAMg0B,CAAN,IAAS,QAAMh0B,CAAf,IAAkBg0B,CAAC,GAACh0B,CAApB,GAAsB41B,CAAC,CAACmvC,YAAF,CAAe17C,CAAf,EAAiB2K,CAAjB,EAAmBJ,CAAnB,CAAtB,GAA4CgC,CAAC,CAACs3N,eAAF,CAAkB7jO,CAAlB,EAAoBuK,CAApB,CAA5C;AAAmE;;AAAA,aAASm7S,EAAT,CAAY1lT,CAAZ,EAAc2K,CAAd,EAAgBJ,CAAC,GAAC,EAAlB,EAAqB;AAAC,YAAMgC,CAAC,GAACvM,CAAC,CAAC6G,aAAF,CAAgB,WAAhB,EAA4B0D,CAA5B,CAAR;AAAuC,aAAOvK,CAAC,CAAC48Q,aAAF,CAAgB,WAAhB,EAA4BrwQ,CAA5B,GAA+BvM,CAAC,CAACsmF,MAAF,CAAS/5E,CAAT,EAAW5B,CAAX,CAA/B,EAA6C4B,CAApD;AAAsD;;AAAA,aAASo5S,EAAT,CAAY3lT,CAAZ,EAAc2K,CAAd,EAAgB;AAAC,YAAMJ,CAAC,GAACI,CAAC,CAACw2C,MAAF,CAASA,MAAjB;AAAA,YAAwB50C,CAAC,GAAC3I,QAAQ,CAAC2G,CAAC,CAACs3O,YAAF,CAAe,gBAAf,KAAkC,GAAnC,CAAlC;AAAA,YAA0E;AAAC+jE,QAAAA,MAAM,EAACjvU;AAAR,UAAWqpB,CAAC,CAAC6lT,eAAF,CAAkBl7S,CAAlB,CAArF;AAA0G,aAAM,CAAC,CAAC4B,CAAF,IAAK51B,CAAC,GAAC41B,CAAb;AAAe;;AAAA,aAASu5S,EAAT,GAAa;AAAC,aAAO9lT,CAAC,IAAE;AAACA,QAAAA,CAAC,CAACve,EAAF,CAAK,eAAL,EAAsB,CAACue,CAAD,EAAG2K,CAAH,EAAKJ,CAAL,KAAS;AAAC,gBAAMgC,CAAC,GAAC5B,CAAC,CAACgzQ,QAAV;AAAmB,cAAG,CAACpzQ,CAAC,CAAC6rQ,UAAF,CAAa/gR,IAAb,CAAkBkX,CAAlB,EAAoB;AAAC/7B,YAAAA,IAAI,EAAC,CAAC;AAAP,WAApB,CAAJ,EAAmC;;AAAO,gBAAK;AAACu1U,YAAAA,IAAI,EAACpvU,CAAN;AAAQqvU,YAAAA,WAAW,EAACv5S,CAApB;AAAsBw5S,YAAAA,cAAc,EAAC37S;AAArC,cAAwC,UAAStK,CAAT,EAAW;AAAC,gBAAI2K,CAAJ;AAAA,gBAAMJ,CAAC,GAAC,CAAR;AAAU,kBAAMgC,CAAC,GAAC,EAAR;AAAA,kBAAW51B,CAAC,GAAC,EAAb;AAAgB,gBAAI81B,CAAJ;;AAAM,iBAAI,MAAMnC,CAAV,IAAenF,KAAK,CAAC7H,IAAN,CAAW0C,CAAC,CAACgkF,WAAF,EAAX,CAAf,EAA2C;AAAC,kBAAG,YAAU15E,CAAC,CAAC95B,IAAZ,IAAkB,YAAU85B,CAAC,CAAC95B,IAA9B,IAAoC,YAAU85B,CAAC,CAAC95B,IAAnD,EAAwD;AAAS,0BAAU85B,CAAC,CAAC95B,IAAZ,IAAkBi8B,CAAlB,KAAsBA,CAAC,GAACnC,CAAxB;AAA2B,oBAAMtK,CAAC,GAACmF,KAAK,CAAC7H,IAAN,CAAWgN,CAAC,CAAC05E,WAAF,EAAX,EAA4Br6G,MAA5B,CAAoCq2B,CAAC,IAAEA,CAAC,CAAC6qF,EAAF,CAAK,SAAL,EAAe,IAAf,CAAvC,CAAR;;AAAsE,mBAAI,MAAMzoC,CAAV,IAAepiD,CAAf,EAAiB,IAAGyM,CAAC,IAAEnC,CAAC,KAAGmC,CAAP,IAAU,YAAUnC,CAAC,CAAC95B,IAAZ,IAAkB20B,KAAK,CAAC7H,IAAN,CAAW8kD,CAAC,CAAC4hC,WAAF,EAAX,EAA4Br3G,MAA9C,IAAsDw4B,KAAK,CAAC7H,IAAN,CAAW8kD,CAAC,CAAC4hC,WAAF,EAAX,EAA4B5R,KAA5B,CAAmCpyE,CAAC,IAAEA,CAAC,CAAC6qF,EAAF,CAAK,SAAL,EAAe,IAAf,CAAtC,CAAnE,EAAgItgF,CAAC,IAAGgC,CAAC,CAACtG,IAAF,CAAOm8C,CAAP,CAAJ,CAAhI,KAAkJ;AAACzrE,gBAAAA,CAAC,CAACsvB,IAAF,CAAOm8C,CAAP;AAAU,sBAAMpiD,CAAC,GAACkmT,EAAE,CAAC9jQ,CAAD,CAAV;AAAc,iBAAC,CAACz3C,CAAD,IAAI3K,CAAC,GAAC2K,CAAP,MAAYA,CAAC,GAAC3K,CAAd;AAAiB;AAAC;;AAAA,mBAAM;AAACgmT,cAAAA,WAAW,EAACz7S,CAAb;AAAe07S,cAAAA,cAAc,EAACt7S,CAAC,IAAE,CAAjC;AAAmCo7S,cAAAA,IAAI,EAAC,CAAC,GAAGx5S,CAAJ,EAAM,GAAG51B,CAAT;AAAxC,aAAN;AAA2D,WAAngB,CAAogB41B,CAApgB,CAA7C;AAAA,gBAAojB61C,CAAC,GAAC,EAAtjB;;AAAyjB93C,UAAAA,CAAC,KAAG83C,CAAC,CAAC6jQ,cAAF,GAAiB37S,CAApB,CAAD,EAAwBmC,CAAC,KAAG21C,CAAC,CAAC4jQ,WAAF,GAAcv5S,CAAjB,CAAzB;AAA6C,gBAAMkxI,CAAC,GAACpzI,CAAC,CAACg7E,MAAF,CAAS1+E,aAAT,CAAuB,OAAvB,EAA+Bu7C,CAA/B,CAAR;;AAA0C,cAAG73C,CAAC,CAACqzQ,UAAF,CAAajgI,CAAb,EAAehzI,CAAC,CAAC8yQ,WAAjB,CAAH,EAAiC;AAAC,gBAAGlzQ,CAAC,CAAC6rQ,UAAF,CAAavB,OAAb,CAAqBtoQ,CAArB,EAAuB;AAAC/7B,cAAAA,IAAI,EAAC,CAAC;AAAP,aAAvB,GAAkCmG,CAAC,CAACkvB,OAAF,CAAW7F,CAAC,IAAEuK,CAAC,CAAC0sQ,WAAF,CAAcj3Q,CAAd,EAAgBuK,CAAC,CAACg7E,MAAF,CAAS43K,gBAAT,CAA0Bx/G,CAA1B,EAA4B,KAA5B,CAAhB,CAAd,CAAlC,EAAsGpzI,CAAC,CAAC2sQ,eAAF,CAAkB3qQ,CAAlB,EAAoBhC,CAAC,CAACg7E,MAAF,CAAS43K,gBAAT,CAA0Bx/G,CAA1B,EAA4B,KAA5B,CAApB,CAAtG,EAA8JA,CAAC,CAACtnI,OAAnK,EAA2K;AAAC,oBAAMrW,CAAC,GAACuK,CAAC,CAACg7E,MAAF,CAAS1+E,aAAT,CAAuB,UAAvB,CAAR;AAA2C0D,cAAAA,CAAC,CAACg7E,MAAF,CAASe,MAAT,CAAgBtmF,CAAhB,EAAkBuK,CAAC,CAACg7E,MAAF,CAAS43K,gBAAT,CAA0Bx/G,CAA1B,EAA4B,KAA5B,CAAlB,GAAsD+nK,EAAE,CAACn7S,CAAC,CAACg7E,MAAH,EAAUh7E,CAAC,CAACg7E,MAAF,CAAS43K,gBAAT,CAA0Bn9P,CAA1B,EAA4B,KAA5B,CAAV,CAAxD;AAAsG;;AAAAuK,YAAAA,CAAC,CAACszQ,sBAAF,CAAyBlgI,CAAzB,EAA2BhzI,CAA3B;AAA8B;AAAC,SAA3mC;AAA8mC,OAAznC;AAA0nC;;AAAA,aAASw7S,EAAT,CAAYnmT,CAAZ,EAAc;AAAC,aAAO2K,CAAC,IAAE;AAACA,QAAAA,CAAC,CAAClpB,EAAF,CAAM,WAAUue,CAAE,EAAlB,EAAqB,CAACA,CAAD,EAAG2K,CAAH,EAAK;AAAC46E,UAAAA,MAAM,EAACh7E;AAAR,SAAL,KAAkB;AAAC,cAAG,CAACI,CAAC,CAAC+yQ,UAAN,EAAiB;AAAO,gBAAMnxQ,CAAC,GAAC5B,CAAC,CAAC+yQ,UAAF,CAAaj3L,KAAb,CAAmBgvK,SAA3B;AAAA,gBAAqC9+Q,CAAC,GAAC4zB,CAAC,CAAC4yP,gBAAF,CAAmB5wP,CAAnB,EAAqB,CAArB,CAAvC;AAA+D,cAAG5B,CAAC,CAACgzQ,QAAF,CAAWtnQ,OAAd,EAAsB,OAAO,KAAK9L,CAAC,CAACqyQ,aAAF,CAAgB,WAAhB,EAA4BjmS,CAA5B,CAAZ;AAA2C,gBAAM81B,CAAC,GAACtH,KAAK,CAAC7H,IAAN,CAAWiP,CAAC,CAACy3E,WAAF,EAAX,CAAR;;AAAoC,cAAGv3E,CAAC,CAAC2lE,KAAF,CAASpyE,CAAC,IAAEA,CAAC,CAAC6qF,EAAF,CAAK,SAAL,EAAe,SAAf,CAAZ,CAAH,EAA2C;AAAC,kBAAM7qF,CAAC,GAACuK,CAAC,CAAC1D,aAAF,CAAgB,WAAhB,CAAR;AAAqC0D,YAAAA,CAAC,CAAC+7E,MAAF,CAAStmF,CAAT,EAAWuK,CAAC,CAAC4yP,gBAAF,CAAmB5wP,CAAnB,EAAqB,CAArB,CAAX;;AAAoC,iBAAI,MAAM5B,CAAV,IAAe8B,CAAf,EAAiBlC,CAAC,CAAC6xP,IAAF,CAAO7xP,CAAC,CAAC+yP,aAAF,CAAgB3yP,CAAhB,CAAP,EAA0BJ,CAAC,CAAC4yP,gBAAF,CAAmBn9P,CAAnB,EAAqB,KAArB,CAA1B;AAAuD;AAAC,SAAla,EAAoa;AAAC2lF,UAAAA,QAAQ,EAAC;AAAV,SAApa;AAAsb,OAAjc;AAAkc;;AAAA,aAASugO,EAAT,CAAYlmT,CAAZ,EAAc;AAAC,UAAI2K,CAAC,GAAC,CAAN;AAAA,UAAQJ,CAAC,GAAC,CAAV;AAAY,YAAMgC,CAAC,GAACpH,KAAK,CAAC7H,IAAN,CAAW0C,CAAC,CAACgkF,WAAF,EAAX,EAA4Br6G,MAA5B,CAAoCq2B,CAAC,IAAE,SAAOA,CAAC,CAACxvB,IAAT,IAAe,SAAOwvB,CAAC,CAACxvB,IAA/D,CAAR;;AAA8E,aAAK+5B,CAAC,GAACgC,CAAC,CAAC5/B,MAAJ,IAAY,SAAO4/B,CAAC,CAAChC,CAAD,CAAD,CAAK/5B,IAA7B,GAAmC;AAAC,cAAMwvB,CAAC,GAACuM,CAAC,CAAChC,CAAD,CAAT;AAAaI,QAAAA,CAAC,IAAE/G,QAAQ,CAAC5D,CAAC,CAAC6hP,YAAF,CAAe,SAAf,KAA2B,GAA5B,CAAX,EAA4Ct3O,CAAC,EAA7C;AAAgD;;AAAA,aAAOI,CAAP;AAAS;;AAAA,UAAMy7S,EAAN,CAAQ;AAAC3mV,MAAAA,WAAW,CAACugC,CAAD,EAAG2K,CAAC,GAAC,EAAL,EAAQ;AAAC,aAAK07S,iBAAL,GAAuB,CAAC,CAAxB,EAA0B,KAAKC,MAAL,GAAYtmT,CAAtC,EAAwC,KAAKumT,SAAL,GAAe,KAAK,CAAL,KAAS57S,CAAC,CAAC67S,GAAX,GAAe77S,CAAC,CAAC67S,GAAjB,GAAqB77S,CAAC,CAAC87S,QAAF,IAAY,CAAxF,EAA0F,KAAKC,OAAL,GAAa,KAAK,CAAL,KAAS/7S,CAAC,CAAC67S,GAAX,GAAe77S,CAAC,CAAC67S,GAAjB,GAAqB77S,CAAC,CAACg8S,MAA9H,EAAqI,KAAKC,YAAL,GAAkB,KAAK,CAAL,KAASj8S,CAAC,CAACi7S,MAAX,GAAkBj7S,CAAC,CAACi7S,MAApB,GAA2Bj7S,CAAC,CAACk8S,WAAF,IAAe,CAAjM,EAAmM,KAAKC,UAAL,GAAgB,KAAK,CAAL,KAASn8S,CAAC,CAACi7S,MAAX,GAAkBj7S,CAAC,CAACi7S,MAApB,GAA2Bj7S,CAAC,CAACo8S,SAAhP,EAA0P,KAAKC,gBAAL,GAAsB,CAAC,CAACr8S,CAAC,CAACs8S,eAApR,EAAoS,KAAKC,SAAL,GAAe,IAAIr1O,GAAJ,EAAnT,EAA2T,KAAKs1O,IAAL,GAAU,CAArU,EAAuU,KAAKC,SAAL,GAAe,CAAtV,EAAwV,KAAKC,OAAL,GAAa,CAArW,EAAuW,KAAKC,UAAL,GAAgB,CAAvX,EAAyX,KAAKC,aAAL,GAAmB,IAAIt4S,GAAJ,EAA5Y,EAAoZ,KAAKu4S,iBAAL,GAAuB,CAAC,CAA5a;AAA8a;;AAAgB,OAAft7S,MAAM,CAACC,QAAQ,IAAG;AAAC,eAAO,IAAP;AAAY;;AAAAvhC,MAAAA,IAAI,GAAE;AAAC,aAAK68U,kBAAL,MAA2B,KAAKC,qCAAL,EAA3B;;AAAwE,cAAM1nT,CAAC,GAAC,KAAKsmT,MAAL,CAAYz5D,QAAZ,CAAqB,KAAKu6D,SAA1B,CAAR;;AAA6C,YAAG,CAACpnT,CAAD,IAAI,KAAK2nT,aAAL,EAAP,EAA4B,OAAM;AAACp8S,UAAAA,IAAI,EAAC,CAAC,CAAP;AAASr6B,UAAAA,KAAK,EAAC,KAAK;AAApB,SAAN;AAA6B,YAAG,CAAC8uB,CAAC,CAAC6qF,EAAF,CAAK,SAAL,EAAe,UAAf,CAAJ,EAA+B,OAAO,KAAKu8N,SAAL,IAAiB,KAAKx8U,IAAL,EAAxB;AAAoC,YAAG,KAAKg9U,gBAAL,EAAH,EAA2B,OAAO,KAAKC,iBAAL,EAAP;AAAgC,YAAIl9S,CAAC,GAAC,IAAN;;AAAW,cAAMJ,CAAC,GAAC,KAAKu9S,WAAL,EAAR;;AAA2B,YAAGv9S,CAAH,EAAK,KAAKy8S,gBAAL,IAAuB,CAAC,KAAKe,eAAL,EAAxB,KAAiDp9S,CAAC,GAAC,KAAKq9S,eAAL,CAAqBz9S,CAAC,CAAC09S,IAAvB,EAA4B19S,CAAC,CAACi8S,GAA9B,EAAkCj8S,CAAC,CAACq7S,MAApC,CAAnD,EAAL,KAAyG;AAAC,gBAAMr7S,CAAC,GAACvK,CAAC,CAAC6sP,QAAF,CAAW,KAAKy6D,UAAhB,CAAR;AAAoC,cAAG,CAAC/8S,CAAJ,EAAM,OAAO,KAAKs9S,iBAAL,EAAP;AAAgC,gBAAMt7S,CAAC,GAAC3I,QAAQ,CAAC2G,CAAC,CAACs3O,YAAF,CAAe,SAAf,KAA2B,GAA5B,CAAhB;AAAA,gBAAiDlrQ,CAAC,GAACitB,QAAQ,CAAC2G,CAAC,CAACs3O,YAAF,CAAe,SAAf,KAA2B,GAA5B,CAA3D;AAA4F,WAACt1O,CAAC,GAAC,CAAF,IAAK51B,CAAC,GAAC,CAAR,KAAY,KAAKuxU,YAAL,CAAkB39S,CAAlB,EAAoB5zB,CAApB,EAAsB41B,CAAtB,CAAZ,EAAqC,KAAKw7S,eAAL,OAAyBp9S,CAAC,GAAC,KAAKq9S,eAAL,CAAqBz9S,CAArB,CAA3B,CAArC,EAAyF,KAAKi9S,iBAAL,GAAuB,KAAKH,OAAL,GAAa96S,CAA7H;AAA+H;AAAA,eAAO,KAAK86S,OAAL,IAAe,KAAKA,OAAL,IAAc,KAAKG,iBAAnB,IAAsC,KAAKF,UAAL,EAArD,EAAuE38S,CAAC,IAAE,KAAK//B,IAAL,EAAjF;AAA6F;;AAAAu9U,MAAAA,OAAO,CAACnoT,CAAD,EAAG;AAAC,aAAKknT,SAAL,CAAetyT,GAAf,CAAmBoL,CAAnB;AAAsB;;AAAA6nT,MAAAA,iBAAiB,GAAE;AAAC,eAAO,KAAKV,IAAL,IAAY,KAAKC,SAAL,EAAZ,EAA6B,KAAKC,OAAL,GAAa,CAA1C,EAA4C,KAAKC,UAAL,GAAgB,CAA5D,EAA8D,KAAKE,iBAAL,GAAuB,CAAC,CAAtF,EAAwF,KAAK58U,IAAL,EAA/F;AAA2G;;AAAA+8U,MAAAA,aAAa,GAAE;AAAC,eAAO,KAAK,CAAL,KAAS,KAAKjB,OAAd,IAAuB,KAAKS,IAAL,GAAU,KAAKT,OAA7C;AAAqD;;AAAAkB,MAAAA,gBAAgB,GAAE;AAAC,eAAO,KAAK,CAAL,KAAS,KAAKd,UAAd,IAA0B,KAAKO,OAAL,GAAa,KAAKP,UAAnD;AAA8D;;AAAAkB,MAAAA,eAAe,CAAChoT,CAAD,EAAG2K,CAAC,GAAC,KAAKw8S,IAAV,EAAe58S,CAAC,GAAC,KAAK88S,OAAtB,EAA8B;AAAC,eAAM;AAAC97S,UAAAA,IAAI,EAAC,CAAC,CAAP;AAASr6B,UAAAA,KAAK,EAAC,IAAIk3U,EAAJ,CAAO,IAAP,EAAYpoT,CAAZ,EAAc2K,CAAd,EAAgBJ,CAAhB;AAAf,SAAN;AAAyC;;AAAAw9S,MAAAA,eAAe,GAAE;AAAC,cAAM/nT,CAAC,GAAC,KAAKknT,SAAL,CAAep4R,GAAf,CAAmB,KAAKq4R,IAAxB,CAAR;AAAA,cAAsCx8S,CAAC,GAAC,KAAKw8S,IAAL,GAAU,KAAKZ,SAAvD;AAAA,cAAiEh8S,CAAC,GAAC,KAAK88S,OAAL,GAAa,KAAKT,YAArF;AAAA,cAAkGr6S,CAAC,GAAC,KAAK,CAAL,KAAS,KAAKu6S,UAAd,IAA0B,KAAKO,OAAL,GAAa,KAAKP,UAAhJ;;AAA2J,eAAO9mT,CAAC,IAAE2K,CAAH,IAAMJ,CAAN,IAASgC,CAAhB;AAAkB;;AAAAu7S,MAAAA,WAAW,GAAE;AAAC,cAAM9nT,CAAC,GAAC,KAAKunT,aAAL,CAAmB9mV,GAAnB,CAAuB,KAAK0mV,IAA5B,CAAR;;AAA0C,eAAOnnT,CAAC,IAAEA,CAAC,CAACv/B,GAAF,CAAM,KAAK4mV,OAAX,CAAH,IAAwB,IAA/B;AAAoC;;AAAAa,MAAAA,YAAY,CAACloT,CAAD,EAAG2K,CAAH,EAAKJ,CAAL,EAAO;AAAC,cAAMgC,CAAC,GAAC;AAAC07S,UAAAA,IAAI,EAACjoT,CAAN;AAAQwmT,UAAAA,GAAG,EAAC,KAAKW,IAAjB;AAAsBvB,UAAAA,MAAM,EAAC,KAAKyB;AAAlC,SAAR;;AAAmD,aAAI,IAAIrnT,CAAC,GAAC,KAAKmnT,IAAf,EAAoBnnT,CAAC,GAAC,KAAKmnT,IAAL,GAAUx8S,CAAhC,EAAkC3K,CAAC,EAAnC,EAAsC,KAAI,IAAI2K,CAAC,GAAC,KAAK08S,OAAf,EAAuB18S,CAAC,GAAC,KAAK08S,OAAL,GAAa98S,CAAtC,EAAwCI,CAAC,EAAzC,EAA4C3K,CAAC,IAAE,KAAKmnT,IAAR,IAAcx8S,CAAC,IAAE,KAAK08S,OAAtB,IAA+B,KAAKgB,gBAAL,CAAsBroT,CAAtB,EAAwB2K,CAAxB,EAA0B4B,CAA1B,CAA/B;AAA4D;;AAAA87S,MAAAA,gBAAgB,CAACroT,CAAD,EAAG2K,CAAH,EAAKJ,CAAL,EAAO;AAAC,aAAKg9S,aAAL,CAAmBz4R,GAAnB,CAAuB9uB,CAAvB,KAA2B,KAAKunT,aAAL,CAAmBziT,GAAnB,CAAuB9E,CAAvB,EAAyB,IAAIiP,GAAJ,EAAzB,CAA3B;;AAA6D,aAAKs4S,aAAL,CAAmB9mV,GAAnB,CAAuBu/B,CAAvB,EAA0B8E,GAA1B,CAA8B6F,CAA9B,EAAgCJ,CAAhC;AAAmC;;AAAAk9S,MAAAA,kBAAkB,GAAE;AAAC,eAAM,CAAC,CAAC,KAAKlB,SAAP,IAAkB,KAAKA,SAAL,GAAe,CAAjC,IAAoC,CAAC,KAAKF,iBAAhD;AAAkE;;AAAAqB,MAAAA,qCAAqC,GAAE;AAAC,cAAM1nT,CAAC,GAAC,KAAKsoT,aAAL,CAAmB,CAAnB,CAAR;;AAA8B,aAAI,IAAI39S,CAAC,GAAC,KAAK47S,SAAf,EAAyB,CAAC,KAAKF,iBAA/B,EAAiD17S,CAAC,EAAlD,EAAqD3K,CAAC,KAAG,KAAKsoT,aAAL,CAAmB39S,CAAnB,CAAJ,KAA4B,KAAKw8S,IAAL,GAAUx8S,CAAV,EAAY,KAAKy8S,SAAL,GAAez8S,CAA3B,EAA6B,KAAK07S,iBAAL,GAAuB,CAAC,CAAjF;AAAoF;;AAAAiC,MAAAA,aAAa,CAACtoT,CAAD,EAAG;AAAC,eAAM,CAAC,GAAG,KAAKsmT,MAAL,CAAYz5D,QAAZ,CAAqB7sP,CAArB,EAAwBgkF,WAAxB,EAAJ,EAA2C7M,MAA3C,CAAmD,CAACn3E,CAAD,EAAG2K,CAAH,KAAO3K,CAAC,GAAC4D,QAAQ,CAAC+G,CAAC,CAACk3O,YAAF,CAAe,SAAf,KAA2B,GAA5B,CAApE,EAAsG,CAAtG,CAAN;AAA+G;;AAAnsF;;AAAosF,UAAMumE,EAAN,CAAQ;AAAC3oV,MAAAA,WAAW,CAACugC,CAAD,EAAG2K,CAAH,EAAKJ,CAAL,EAAOgC,CAAP,EAAS;AAAC,aAAK07S,IAAL,GAAUt9S,CAAV,EAAY,KAAK67S,GAAL,GAASxmT,CAAC,CAACmnT,IAAvB,EAA4B,KAAKvB,MAAL,GAAY5lT,CAAC,CAACqnT,OAA1C,EAAkD,KAAKkB,aAAL,GAAmBh+S,CAArE,EAAuE,KAAKi+S,gBAAL,GAAsBj8S,CAA7F,EAA+F,KAAK+6S,UAAL,GAAgBtnT,CAAC,CAACsnT,UAAjH,EAA4H,KAAKF,SAAL,GAAepnT,CAAC,CAAConT,SAA7I,EAAuJ,KAAKd,MAAL,GAAYtmT,CAAC,CAACsmT,MAArK;AAA4K;;AAAY,UAARmC,QAAQ,GAAE;AAAC,eAAO,KAAKjC,GAAL,KAAW,KAAK+B,aAAhB,IAA+B,KAAK3C,MAAL,KAAc,KAAK4C,gBAAzD;AAA0E;;AAAa,UAATE,SAAS,GAAE;AAAC,eAAO9kT,QAAQ,CAAC,KAAKqkT,IAAL,CAAUpmE,YAAV,CAAuB,SAAvB,KAAmC,GAApC,CAAf;AAAwD;;AAAc,UAAV8mE,UAAU,GAAE;AAAC,eAAO/kT,QAAQ,CAAC,KAAKqkT,IAAL,CAAUpmE,YAAV,CAAuB,SAAvB,KAAmC,GAApC,CAAf;AAAwD;;AAAY,UAAR+mE,QAAQ,GAAE;AAAC,eAAO,KAAKxB,SAAZ;AAAsB;;AAAAyB,MAAAA,iBAAiB,GAAE;AAAC,eAAO,KAAKvC,MAAL,CAAY9iT,IAAZ,CAAiB9B,QAAjB,CAA0BnlB,KAA1B,CAAgC4gR,gBAAhC,CAAiD,KAAKmpD,MAAL,CAAYz5D,QAAZ,CAAqB,KAAK25D,GAA1B,CAAjD,EAAgF,KAAKc,UAArF,CAAP;AAAwG;;AAA7kB;;AAA8kB,aAASwB,EAAT,CAAY9oT,CAAZ,EAAc2K,CAAd,EAAgB;AAAC,aAAM,CAACJ,CAAD,EAAG;AAACg7E,QAAAA,MAAM,EAACh5E;AAAR,OAAH,KAAgB;AAAC,cAAM51B,CAAC,GAAC4zB,CAAC,CAACs3O,YAAF,CAAe,aAAf,KAA+B,CAAvC;AAAA,cAAyCp1O,CAAC,GAACF,CAAC,CAACgvP,sBAAF,CAAyB,OAAzB,EAAiC,IAAjC,EAAsC,EAAtC,CAA3C;AAAA,cAAqFjxP,CAAC,GAACiC,CAAC,CAACgvP,sBAAF,CAAyB,QAAzB,EAAkC;AAACnY,UAAAA,KAAK,EAAC;AAAP,SAAlC,EAAkD32O,CAAlD,CAAvF;AAA4I91B,QAAAA,CAAC,GAAC,CAAF,IAAK41B,CAAC,CAAC+5E,MAAF,CAAS/5E,CAAC,CAAC4wP,gBAAF,CAAmB1wP,CAAnB,EAAqB,KAArB,CAAT,EAAqCF,CAAC,CAACgvP,sBAAF,CAAyB,OAAzB,EAAiC,IAAjC,EAAsChvP,CAAC,CAACkxP,UAAF,CAAcz9P,CAAC,IAAEA,CAAC,CAAC6qF,EAAF,CAAK,SAAL,EAAe,UAAf,KAA4B7qF,CAAC,CAACwhB,KAAF,GAAQ7qC,CAArD,CAAtC,CAArC,CAAL,EAA2IA,CAAC,GAACqpB,CAAC,CAAC+oT,OAAF,CAAUx+S,CAAV,CAAF,IAAgBgC,CAAC,CAAC+5E,MAAF,CAAS/5E,CAAC,CAAC4wP,gBAAF,CAAmB1wP,CAAnB,EAAqB,KAArB,CAAT,EAAqCF,CAAC,CAACgvP,sBAAF,CAAyB,OAAzB,EAAiC,IAAjC,EAAsChvP,CAAC,CAACkxP,UAAF,CAAcz9P,CAAC,IAAEA,CAAC,CAAC6qF,EAAF,CAAK,SAAL,EAAe,UAAf,KAA4B7qF,CAAC,CAACwhB,KAAF,IAAS7qC,CAAtD,CAAtC,CAArC,CAA3J;;AAAkS,aAAI,MAAK;AAACqyU,UAAAA,cAAc,EAAChpT,CAAhB;AAAkBr2B,UAAAA,MAAM,EAAC4gC;AAAzB,SAAT,IAAuCI,CAAC,CAACs+S,eAAzC,EAAyD18S,CAAC,CAAC+5E,MAAF,CAAS/5E,CAAC,CAAC4wP,gBAAF,CAAmB1wP,CAAnB,EAAqBzM,CAArB,CAAT,EAAiCuM,CAAC,CAACkxP,UAAF,CAAalzP,CAAb,CAAjC;;AAAkD,eAAOgC,CAAC,CAAC+5E,MAAF,CAAS/5E,CAAC,CAAC4wP,gBAAF,CAAmB1wP,CAAnB,EAAqB,OAArB,CAAT,EAAuCF,CAAC,CAACkxP,UAAF,CAAcz9P,CAAC,IAAE,CAACA,CAAC,CAAC6qF,EAAF,CAAK,SAAL,EAAe,UAAf,CAAD,IAA6B,CAAClgF,CAAC,CAACs+S,eAAF,CAAkBptU,IAAlB,CAAwB,CAAC;AAAClS,UAAAA,MAAM,EAACghC;AAAR,SAAD,KAAcA,CAAC,CAAC3K,CAAD,CAAvC,CAA/C,CAAvC,GAAsI2K,CAAC,CAACu+S,QAAF,GAAW,UAASlpT,CAAT,EAAW2K,CAAX,EAAa;AAAC,iBAAOA,CAAC,CAACmxP,iBAAF,CAAoB,OAApB,EAA4B,CAAC,CAA7B,EAA+B97P,CAA/B,GAAkCs3S,EAAE,CAACt3S,CAAD,EAAG2K,CAAH,EAAK;AAAC6sS,YAAAA,kBAAkB,EAAC,CAAC;AAArB,WAAL,CAA3C;AAAyE,SAAvF,CAAwFltS,CAAxF,EAA0FiC,CAA1F,CAAX,GAAwGjC,CAArP;AAAuP,OAAvyB;AAAwyB;;AAAA,aAAS6+S,EAAT,CAAYnpT,CAAC,GAAC,EAAd,EAAiB;AAAC,aAAM,CAAC2K,CAAD,EAAG;AAAC46E,QAAAA,MAAM,EAACh7E;AAAR,OAAH,KAAgB;AAAC,cAAMgC,CAAC,GAAC5B,CAAC,CAACw2C,MAAV;AAAA,cAAiBxqE,CAAC,GAAC41B,CAAC,CAAC40C,MAArB;AAAA,cAA4B10C,CAAC,GAAC91B,CAAC,CAACo2Q,aAAF,CAAgBxgP,CAAhB,CAA9B;AAAA,cAAiDjC,CAAC,GAAC,IAAI87S,EAAJ,CAAOzvU,CAAP,EAAS;AAAC6vU,UAAAA,GAAG,EAAC/5S;AAAL,SAAT,CAAnD;AAAA,cAAqE21C,CAAC,GAACzrE,CAAC,CAACkrQ,YAAF,CAAe,aAAf,KAA+B,CAAtG;AAAA,cAAwGlkG,CAAC,GAAChnK,CAAC,CAACkrQ,YAAF,CAAe,gBAAf,KAAkC,CAA5I;AAA8I,YAAI31D,CAAC,GAAC,IAAN;;AAAW,aAAI,MAAM3/K,CAAV,IAAejC,CAAf,EAAiB,IAAGiC,CAAC,CAAC07S,IAAF,IAAQt9S,CAAX,EAAa;AAAC,gBAAMA,CAAC,GAAC4B,CAAC,CAACi6S,GAAF,GAAMpkQ,CAAN,IAAS71C,CAAC,CAACq5S,MAAF,GAASjoK,CAAlB,GAAoB,IAApB,GAAyB,IAAjC;AAAsCuuC,UAAAA,CAAC,GAAClsL,CAAC,CAACkpT,QAAF,GAAWtR,EAAE,CAACrtS,CAAC,CAACixP,qBAAF,CAAwB7wP,CAAxB,CAAD,EAA4BJ,CAA5B,CAAb,GAA4CA,CAAC,CAACgxP,sBAAF,CAAyB5wP,CAAzB,CAA9C;AAA0E;AAAM;;AAAA,eAAOuhL,CAAP;AAAS,OAA9U;AAA+U;;AAAA,aAASk9H,EAAT,CAAYppT,CAAC,GAAC,EAAd,EAAiB;AAAC,aAAM,CAAC2K,CAAD,EAAG;AAAC46E,QAAAA,MAAM,EAACh7E;AAAR,OAAH,KAAgB;AAAC,YAAG,CAACI,CAAC,CAACw2C,MAAF,CAAS0pC,EAAT,CAAY,SAAZ,EAAsB,WAAtB,CAAJ,EAAuC,OAAO,IAAP;AAAY,YAAG,CAACspG,EAAE,CAACxpL,CAAD,CAAN,EAAU,OAAO,IAAP;AAAY,YAAG3K,CAAC,CAACkpT,QAAL,EAAc,OAAO3+S,CAAC,CAACgxP,sBAAF,CAAyB,MAAzB,EAAgC;AAACnY,UAAAA,KAAK,EAAC;AAAP,SAAhC,CAAP;AAA2E;AAAC,gBAAMpjP,CAAC,GAACuK,CAAC,CAACgxP,sBAAF,CAAyB,GAAzB,CAAR;AAAsC,iBAAOhxP,CAAC,CAACuxP,iBAAF,CAAoB,mCAApB,EAAwD,CAAC,CAAzD,EAA2D97P,CAA3D,GAA8DA,CAArE;AAAuE;AAAC,OAAxS;AAAyS;;AAAA,aAASm0L,EAAT,CAAYn0L,CAAZ,EAAc;AAAC,aAAO,KAAGA,CAAC,CAACmhD,MAAF,CAASurM,UAAZ,IAAwB,CAAC,CAAC1sP,CAAC,CAACkuP,gBAAF,GAAqBtjR,IAArB,GAA4B2gC,IAA7D;AAAkE;;AAAA,UAAM89S,EAAN,SAAiB1/D,EAAjB,CAAmB;AAACE,MAAAA,OAAO,GAAE;AAAC,cAAM7pP,CAAC,GAAC,KAAKgiF,MAAL,CAAYzlG,KAApB;AAAA,cAA0BouB,CAAC,GAAC3K,CAAC,CAAC0B,QAAF,CAAWooP,SAAvC;AAAA,cAAiDv/O,CAAC,GAACvK,CAAC,CAAC2hP,MAArD;;AAA4D,aAAKtnH,SAAL,GAAe,UAASr6H,CAAT,EAAW2K,CAAX,EAAa;AAAC,gBAAMJ,CAAC,GAACvK,CAAC,CAAC+pP,gBAAF,GAAqB5oM,MAA7B;AAAA,gBAAoC50C,CAAC,GAAChC,CAAC,KAAGA,CAAC,CAAC/G,IAAN,GAAW+G,CAAX,GAAaA,CAAC,CAAC42C,MAArD;AAA4D,iBAAOx2C,CAAC,CAACgxQ,UAAF,CAAapvQ,CAAb,EAAe,OAAf,CAAP;AAA+B,SAAzG,CAA0G5B,CAA1G,EAA4GJ,CAA5G,CAAf;AAA8H;;AAAA4/O,MAAAA,OAAO,CAACnqP,CAAC,GAAC,EAAH,EAAM;AAAC,cAAM2K,CAAC,GAAC,KAAKq3E,MAAb;AAAA,cAAoBz3E,CAAC,GAACI,CAAC,CAACpuB,KAAxB;AAAA,cAA8BgwB,CAAC,GAAC5B,CAAC,CAAC84E,OAAF,CAAUhjH,GAAV,CAAc,YAAd,CAAhC;AAAA,cAA4DkW,CAAC,GAACg0B,CAAC,CAACjrC,MAAF,CAASe,GAAT,CAAa,4BAAb,CAA9D;AAAA,cAAyGgsC,CAAC,GAAC9B,CAAC,CAACjrC,MAAF,CAASe,GAAT,CAAa,+BAAb,CAA3G;AAAyJ,aAAK,CAAL,KAASu/B,CAAC,CAACgmT,WAAX,IAAwBrvU,CAAxB,KAA4BqpB,CAAC,CAACgmT,WAAF,GAAcrvU,CAA1C,GAA6C,KAAK,CAAL,KAASqpB,CAAC,CAACimT,cAAX,IAA2Bx5S,CAA3B,KAA+BzM,CAAC,CAACimT,cAAF,GAAiBx5S,CAAhD,CAA7C,EAAgGlC,CAAC,CAACm3K,MAAF,CAAU/2K,CAAC,IAAE;AAAC,gBAAMh0B,CAAC,GAAC41B,CAAC,CAAC+8S,WAAF,CAAc3+S,CAAd,EAAgB3K,CAAhB,CAAR;AAA2BuK,UAAAA,CAAC,CAAC+pR,YAAF,CAAe39S,CAAf,EAAiB,IAAjB,EAAsB,IAAtB,EAA2B;AAAC+8S,YAAAA,mBAAmB,EAAC;AAArB,WAA3B,GAAyD/oR,CAAC,CAACwwP,YAAF,CAAexwP,CAAC,CAACwyP,gBAAF,CAAmBxmR,CAAC,CAACs5R,aAAF,CAAgB,CAAC,CAAD,EAAG,CAAH,EAAK,CAAL,CAAhB,CAAnB,EAA4C,CAA5C,CAAf,CAAzD;AAAwH,SAAjK,CAAhG;AAAoQ;;AAAhnB;;AAAinB,UAAMs5C,EAAN,SAAiB5/D,EAAjB,CAAmB;AAAClqR,MAAAA,WAAW,CAACugC,CAAD,EAAG2K,CAAC,GAAC,EAAL,EAAQ;AAAC,cAAM3K,CAAN,GAAS,KAAKwpT,KAAL,GAAW7+S,CAAC,CAAC6+S,KAAF,IAAS,OAA7B;AAAqC;;AAAA3/D,MAAAA,OAAO,GAAE;AAAC,cAAM7pP,CAAC,GAAC,KAAKgiF,MAAL,CAAYzlG,KAAZ,CAAkBmlB,QAAlB,CAA2BooP,SAAnC;AAAA,cAA6Cn/O,CAAC,GAAC,CAAC,CAAC,KAAKq3E,MAAL,CAAYyB,OAAZ,CAAoBhjH,GAApB,CAAwB,YAAxB,EAAsCgpV,8BAAtC,CAAqEzpT,CAArE,EAAwErzB,MAAzH;AAAgI,aAAK0tJ,SAAL,GAAe1vH,CAAf;AAAiB;;AAAAw/O,MAAAA,OAAO,GAAE;AAAC,cAAMnqP,CAAC,GAAC,KAAKgiF,MAAb;AAAA,cAAoBr3E,CAAC,GAAC3K,CAAC,CAACzjB,KAAF,CAAQmlB,QAAR,CAAiBooP,SAAvC;AAAA,cAAiDv/O,CAAC,GAACvK,CAAC,CAACyjF,OAAF,CAAUhjH,GAAV,CAAc,YAAd,CAAnD;AAAA,cAA+E8rC,CAAC,GAAC,YAAU,KAAKi9S,KAAhG;AAAA,cAAsG7yU,CAAC,GAAC4zB,CAAC,CAACk/S,8BAAF,CAAiC9+S,CAAjC,CAAxG;AAAA,cAA4I8B,CAAC,GAAClC,CAAC,CAACm/S,aAAF,CAAgB/yU,CAAhB,CAA9I;AAAA,cAAiK2zB,CAAC,GAACiC,CAAC,GAACE,CAAC,CAACqwO,KAAH,GAASrwO,CAAC,CAAC+0K,IAA/K;AAAA,cAAoLp/H,CAAC,GAACzrE,CAAC,CAAC,CAAD,CAAD,CAAK08Q,YAAL,CAAkB,OAAlB,CAAtL;AAAiN9oP,QAAAA,CAAC,CAACo/S,UAAF,CAAavnQ,CAAb,EAAe;AAAC+f,UAAAA,EAAE,EAAC51D,CAAC,GAACjC,CAAD,GAAGA,CAAC,GAAC,CAAV;AAAYs/S,UAAAA,sBAAsB,EAAC,CAACr9S;AAApC,SAAf;AAAuD;;AAAve;;AAAwe,UAAMs9S,EAAN,SAAiBlgE,EAAjB,CAAmB;AAAClqR,MAAAA,WAAW,CAACugC,CAAD,EAAG2K,CAAC,GAAC,EAAL,EAAQ;AAAC,cAAM3K,CAAN,GAAS,KAAKwpT,KAAL,GAAW7+S,CAAC,CAAC6+S,KAAF,IAAS,OAA7B;AAAqC;;AAAA3/D,MAAAA,OAAO,GAAE;AAAC,cAAM7pP,CAAC,GAAC,KAAKgiF,MAAL,CAAYzlG,KAAZ,CAAkBmlB,QAAlB,CAA2BooP,SAAnC;AAAA,cAA6Cn/O,CAAC,GAAC,CAAC,CAAC,KAAKq3E,MAAL,CAAYyB,OAAZ,CAAoBhjH,GAApB,CAAwB,YAAxB,EAAsCgpV,8BAAtC,CAAqEzpT,CAArE,EAAwErzB,MAAzH;AAAgI,aAAK0tJ,SAAL,GAAe1vH,CAAf;AAAiB;;AAAAw/O,MAAAA,OAAO,GAAE;AAAC,cAAMnqP,CAAC,GAAC,KAAKgiF,MAAb;AAAA,cAAoBr3E,CAAC,GAAC3K,CAAC,CAACzjB,KAAF,CAAQmlB,QAAR,CAAiBooP,SAAvC;AAAA,cAAiDv/O,CAAC,GAACvK,CAAC,CAACyjF,OAAF,CAAUhjH,GAAV,CAAc,YAAd,CAAnD;AAAA,cAA+E8rC,CAAC,GAAC,WAAS,KAAKi9S,KAA/F;AAAA,cAAqG7yU,CAAC,GAAC4zB,CAAC,CAACk/S,8BAAF,CAAiC9+S,CAAjC,CAAvG;AAAA,cAA2I8B,CAAC,GAAClC,CAAC,CAACu/S,gBAAF,CAAmBnzU,CAAnB,CAA7I;AAAA,cAAmK2zB,CAAC,GAACiC,CAAC,GAACE,CAAC,CAACqwO,KAAH,GAASrwO,CAAC,CAAC+0K,IAAjL;AAAA,cAAsLp/H,CAAC,GAACzrE,CAAC,CAAC,CAAD,CAAD,CAAK08Q,YAAL,CAAkB,OAAlB,CAAxL;AAAmN9oP,QAAAA,CAAC,CAACw/S,aAAF,CAAgB3nQ,CAAhB,EAAkB;AAAC4nQ,UAAAA,OAAO,EAAC,CAAT;AAAW7nP,UAAAA,EAAE,EAAC51D,CAAC,GAACjC,CAAD,GAAGA,CAAC,GAAC;AAApB,SAAlB;AAA0C;;AAA5d;;AAA6d,UAAM2/S,EAAN,SAAiBtgE,EAAjB,CAAmB;AAAClqR,MAAAA,WAAW,CAACugC,CAAD,EAAG2K,CAAC,GAAC,EAAL,EAAQ;AAAC,cAAM3K,CAAN,GAAS,KAAK0zM,SAAL,GAAe/oM,CAAC,CAAC+oM,SAAF,IAAa,cAArC;AAAoD;;AAAAm2C,MAAAA,OAAO,GAAE;AAAC,cAAM7pP,CAAC,GAAC,KAAKgiF,MAAL,CAAYyB,OAAZ,CAAoBhjH,GAApB,CAAwB,YAAxB,EAAsCgpV,8BAAtC,CAAqE,KAAKznO,MAAL,CAAYzlG,KAAZ,CAAkBmlB,QAAlB,CAA2BooP,SAAhG,CAAR;AAAmH,aAAKzvH,SAAL,GAAe,MAAIr6H,CAAC,CAACrzB,MAArB;AAA4B;;AAAAw9Q,MAAAA,OAAO,GAAE;AAAC,cAAMnqP,CAAC,GAAC,KAAKgiF,MAAL,CAAYyB,OAAZ,CAAoBhjH,GAApB,CAAwB,YAAxB,CAAR;AAAA,cAA8CkqC,CAAC,GAAC3K,CAAC,CAACypT,8BAAF,CAAiC,KAAKznO,MAAL,CAAYzlG,KAAZ,CAAkBmlB,QAAlB,CAA2BooP,SAA5D,EAAuE,CAAvE,CAAhD;AAA0H,2BAAiB,KAAKp2C,SAAtB,GAAgC1zM,CAAC,CAACkqT,qBAAF,CAAwBv/S,CAAxB,EAA0B,CAA1B,CAAhC,GAA6D3K,CAAC,CAACmqT,mBAAF,CAAsBx/S,CAAtB,EAAwB,CAAxB,CAA7D;AAAwF;;AAA9b;;AAA+b,aAASy/S,EAAT,CAAYpqT,CAAZ,EAAc2K,CAAd,EAAgBJ,CAAhB,EAAkB;AAAC,YAAK;AAACk8S,QAAAA,QAAQ,EAACl6S,CAAV;AAAYs6S,QAAAA,WAAW,EAAClwU,CAAxB;AAA0BgwU,QAAAA,MAAM,EAACl6S,CAAjC;AAAmCs6S,QAAAA,SAAS,EAACz8S;AAA7C,UAAgDK,CAArD;AAAA,YAAuDy3C,CAAC,GAAC73C,CAAC,CAAC1D,aAAF,CAAgB,OAAhB,CAAzD;AAAA,YAAkF82I,CAAC,GAAClxI,CAAC,GAACF,CAAF,GAAI,CAAxF;;AAA0F,WAAI,IAAIvM,CAAC,GAAC,CAAV,EAAYA,CAAC,GAAC29I,CAAd,EAAgB39I,CAAC,EAAjB,EAAoBuK,CAAC,CAACqyQ,aAAF,CAAgB,UAAhB,EAA2Bx6N,CAA3B,EAA6B,KAA7B;;AAAoC,YAAM8pI,CAAC,GAAC,CAAC,GAAG,IAAIk6H,EAAJ,CAAOpmT,CAAP,EAAS;AAACymT,QAAAA,QAAQ,EAACl6S,CAAV;AAAYo6S,QAAAA,MAAM,EAACl6S,CAAnB;AAAqBo6S,QAAAA,WAAW,EAAClwU,CAAjC;AAAmCowU,QAAAA,SAAS,EAACz8S,CAA7C;AAA+C28S,QAAAA,eAAe,EAAC,CAAC;AAAhE,OAAT,CAAJ,CAAR;;AAA0F,WAAI,MAAK;AAACT,QAAAA,GAAG,EAACxmT,CAAL;AAAO4lT,QAAAA,MAAM,EAACj7S,CAAd;AAAgBs9S,QAAAA,IAAI,EAACtqK,CAArB;AAAuB8qK,QAAAA,QAAQ,EAAC7+S,CAAhC;AAAkC2+S,QAAAA,aAAa,EAAC3xK,CAAhD;AAAkD4xK,QAAAA,gBAAgB,EAAC1jU;AAAnE,OAAT,IAAiFonM,CAAjF,EAAmF;AAAC,cAAMA,CAAC,GAAClsL,CAAC,GAACuM,CAAV;AAAA,cAAYvC,CAAC,GAACo4C,CAAC,CAACyqM,QAAF,CAAW3gE,CAAX,CAAd;;AAA4B,YAAGtiL,CAAH,EAAK;AAAC,gBAAM2C,CAAC,GAAChC,CAAC,CAACklR,YAAF,CAAe9xI,CAAf,CAAR;AAA0BpzI,UAAAA,CAAC,CAACuyC,MAAF,CAASvwC,CAAT,EAAWvC,CAAX,GAAcqgT,EAAE,CAAC99S,CAAD,EAAGvM,CAAH,EAAK2K,CAAL,EAAO8B,CAAP,EAASnC,CAAT,EAAWC,CAAX,CAAhB;AAA8B,SAA9D,MAAkE,CAACqsI,CAAC,GAACrqI,CAAF,IAAKznB,CAAC,GAACnO,CAAR,KAAY+uU,EAAE,CAACn7S,CAAD,EAAGA,CAAC,CAAC4yP,gBAAF,CAAmBnzP,CAAnB,EAAqB,KAArB,CAAH,CAAd;AAA8C;;AAAA,aAAO,UAAShK,CAAT,EAAW2K,CAAX,EAAaJ,CAAb,EAAegC,CAAf,EAAiB51B,CAAjB,EAAmB;AAAC,cAAM81B,CAAC,GAAC7I,QAAQ,CAAC+G,CAAC,CAACk3O,YAAF,CAAe,aAAf,KAA+B,GAAhC,CAAhB;;AAAqD,YAAGp1O,CAAC,GAAC,CAAL,EAAO;AAACg5S,UAAAA,EAAE,CAAC,aAAD,EAAeh5S,CAAC,GAAClC,CAAjB,EAAmBvK,CAAnB,EAAqBrpB,CAArB,EAAuB,CAAvB,CAAF;AAA4B;;AAAA,cAAM2zB,CAAC,GAAC1G,QAAQ,CAAC+G,CAAC,CAACk3O,YAAF,CAAe,gBAAf,KAAkC,GAAnC,CAAhB;;AAAwD,YAAGv3O,CAAC,GAAC,CAAL,EAAO;AAACm7S,UAAAA,EAAE,CAAC,gBAAD,EAAkBn7S,CAAC,GAACiC,CAApB,EAAsBvM,CAAtB,EAAwBrpB,CAAxB,EAA0B,CAA1B,CAAF;AAA+B;AAAC,OAA7M,CAA8MyrE,CAA9M,EAAgNpiD,CAAhN,EAAkNuM,CAAlN,EAAoN51B,CAApN,EAAsN4zB,CAAtN,GAAyN63C,CAAhO;AAAkO;;AAAA,aAASkoQ,EAAT,CAAYtqT,CAAZ,EAAc2K,CAAd,EAAgBJ,CAAC,GAAC,CAAlB,EAAoB;AAAC,YAAMgC,CAAC,GAAC,EAAR;AAAA,YAAW51B,CAAC,GAAC,IAAIyvU,EAAJ,CAAOpmT,CAAP,EAAS;AAACymT,QAAAA,QAAQ,EAACl8S,CAAV;AAAYo8S,QAAAA,MAAM,EAACh8S,CAAC,GAAC;AAArB,OAAT,CAAb;;AAA+C,WAAI,MAAM3K,CAAV,IAAerpB,CAAf,EAAiB;AAAC,cAAK;AAAC6vU,UAAAA,GAAG,EAACj8S,CAAL;AAAOo+S,UAAAA,UAAU,EAAChyU;AAAlB,YAAqBqpB,CAA1B;AAA4BuK,QAAAA,CAAC,GAACI,CAAF,IAAKA,CAAC,IAAEJ,CAAC,GAAC5zB,CAAF,GAAI,CAAZ,IAAe41B,CAAC,CAACtG,IAAF,CAAOjG,CAAP,CAAf;AAAyB;;AAAA,aAAOuM,CAAP;AAAS;;AAAA,aAASg+S,EAAT,CAAYvqT,CAAZ,EAAc2K,CAAd,EAAgBJ,CAAhB,EAAkB;AAAC,YAAMgC,CAAC,GAACvM,CAAC,CAACmhD,MAAV;AAAA,YAAiBxqE,CAAC,GAAC41B,CAAC,CAAC40C,MAArB;AAAA,YAA4B10C,CAAC,GAACF,CAAC,CAACiV,KAAhC;AAAA,YAAsClX,CAAC,GAACK,CAAC,GAAC8B,CAA1C;AAAA,YAA4C21C,CAAC,GAAC,EAA9C;AAAA,YAAiDu7F,CAAC,GAAC/5I,QAAQ,CAAC5D,CAAC,CAAC6hP,YAAF,CAAe,SAAf,CAAD,CAAR,GAAoCv3O,CAAvF;AAAyFqzI,MAAAA,CAAC,GAAC,CAAF,KAAMv7F,CAAC,CAACooQ,OAAF,GAAU7sK,CAAhB;AAAmB,YAAMuuC,CAAC,GAACtoL,QAAQ,CAAC5D,CAAC,CAAC6hP,YAAF,CAAe,SAAf,KAA2B,GAA5B,CAAhB;AAAiD31D,MAAAA,CAAC,GAAC,CAAF,KAAM9pI,CAAC,CAACqoQ,OAAF,GAAUv+H,CAAhB;AAAmB,YAAMtiL,CAAC,GAAC6C,CAAC,GAACnC,CAAV;AAAA,YAAYssI,CAAC,GAAC,CAAC,GAAG,IAAIwvK,EAAJ,CAAOzvU,CAAP,EAAS;AAAC8vU,QAAAA,QAAQ,EAACh6S,CAAV;AAAYk6S,QAAAA,MAAM,EAAC/8S,CAAnB;AAAqBq9S,QAAAA,eAAe,EAAC,CAAC;AAAtC,OAAT,CAAJ,CAAd;AAAsE,UAAIniU,CAAJ;AAAA,UAAMklB,CAAC,GAAC,IAAR;;AAAa,WAAI,MAAMW,CAAV,IAAeisI,CAAf,EAAiB;AAAC,cAAK;AAAC4vK,UAAAA,GAAG,EAACj6S,CAAL;AAAOq5S,UAAAA,MAAM,EAACjvU,CAAd;AAAgBsxU,UAAAA,IAAI,EAACx7S;AAArB,YAAwB9B,CAA7B;AAA+B8B,QAAAA,CAAC,KAAGzM,CAAJ,IAAO,KAAK,CAAL,KAASlb,CAAhB,KAAoBA,CAAC,GAACnO,CAAtB,GAAyB,KAAK,CAAL,KAASmO,CAAT,IAAYA,CAAC,KAAGnO,CAAhB,IAAmB41B,CAAC,KAAG3C,CAAvB,KAA2BI,CAAC,GAAC07S,EAAE,CAACn7S,CAAD,EAAGI,CAAC,CAACk+S,iBAAF,EAAH,EAAyBzmQ,CAAzB,CAA/B,CAAzB;AAAqF;;AAAA,aAAOqjQ,EAAE,CAAC,SAAD,EAAWn7S,CAAX,EAAatK,CAAb,EAAeuK,CAAf,CAAF,EAAoBP,CAA3B;AAA6B;;AAAA,aAAS0gT,EAAT,CAAY1qT,CAAZ,EAAc2K,CAAd,EAAgB;AAAC,YAAMJ,CAAC,GAAC,EAAR;AAAA,YAAWgC,CAAC,GAAC,IAAI65S,EAAJ,CAAOpmT,CAAP,CAAb;;AAAuB,WAAI,MAAMA,CAAV,IAAeuM,CAAf,EAAiB;AAAC,cAAK;AAACq5S,UAAAA,MAAM,EAACr5S,CAAR;AAAUm8S,UAAAA,SAAS,EAAC/xU;AAApB,YAAuBqpB,CAA5B;AAA8BuM,QAAAA,CAAC,GAAC5B,CAAF,IAAKA,CAAC,IAAE4B,CAAC,GAAC51B,CAAF,GAAI,CAAZ,IAAe4zB,CAAC,CAACtE,IAAF,CAAOjG,CAAP,CAAf;AAAyB;;AAAA,aAAOuK,CAAP;AAAS;;AAAA,aAASogT,EAAT,CAAY3qT,CAAZ,EAAc2K,CAAd,EAAgBJ,CAAhB,EAAkBgC,CAAlB,EAAoB;AAAC,YAAM51B,CAAC,GAAC4zB,CAAC,GAACI,CAAV;AAAA,YAAY8B,CAAC,GAAC,EAAd;AAAA,YAAiBnC,CAAC,GAAC1G,QAAQ,CAAC5D,CAAC,CAAC6hP,YAAF,CAAe,SAAf,CAAD,CAAR,GAAoClrQ,CAAvD;AAAyD2zB,MAAAA,CAAC,GAAC,CAAF,KAAMmC,CAAC,CAACg+S,OAAF,GAAUngT,CAAhB;AAAmB,YAAM83C,CAAC,GAACx+C,QAAQ,CAAC5D,CAAC,CAAC6hP,YAAF,CAAe,SAAf,KAA2B,GAA5B,CAAhB;AAAiDz/L,MAAAA,CAAC,GAAC,CAAF,KAAM31C,CAAC,CAAC+9S,OAAF,GAAUpoQ,CAAhB;AAAmB,YAAMu7F,CAAC,GAAC+nK,EAAE,CAACn5S,CAAD,EAAGA,CAAC,CAAC6wP,mBAAF,CAAsBp9P,CAAtB,CAAH,EAA4ByM,CAA5B,CAAV;AAAyC,aAAOg5S,EAAE,CAAC,SAAD,EAAW9uU,CAAX,EAAaqpB,CAAb,EAAeuM,CAAf,CAAF,EAAoBoxI,CAA3B;AAA6B;;AAAA,aAAS0sK,EAAT,CAAYrqT,CAAZ,EAAc2K,CAAd,EAAgBJ,CAAhB,EAAkBgC,CAAlB,EAAoB51B,CAApB,EAAsB81B,CAAtB,EAAwB;AAAC,YAAMnC,CAAC,GAAC1G,QAAQ,CAAC5D,CAAC,CAAC6hP,YAAF,CAAe,SAAf,KAA2B,GAA5B,CAAhB;AAAA,YAAiDz/L,CAAC,GAACx+C,QAAQ,CAAC5D,CAAC,CAAC6hP,YAAF,CAAe,SAAf,KAA2B,GAA5B,CAA3D;;AAA4F,UAAGt3O,CAAC,GAACD,CAAF,GAAI,CAAJ,GAAM3zB,CAAT,EAAW;AAAC8uU,QAAAA,EAAE,CAAC,SAAD,EAAW9uU,CAAC,GAAC4zB,CAAF,GAAI,CAAf,EAAiBvK,CAAjB,EAAmByM,CAAnB,EAAqB,CAArB,CAAF;AAA0B;;AAAA,UAAG9B,CAAC,GAACy3C,CAAF,GAAI,CAAJ,GAAM71C,CAAT,EAAW;AAACk5S,QAAAA,EAAE,CAAC,SAAD,EAAWl5S,CAAC,GAAC5B,CAAF,GAAI,CAAf,EAAiB3K,CAAjB,EAAmByM,CAAnB,EAAqB,CAArB,CAAF;AAA0B;AAAC;;AAAA,aAASm+S,EAAT,CAAY5qT,CAAZ,EAAc2K,CAAd,EAAgB;AAAC,YAAMJ,CAAC,GAACI,CAAC,CAACkgT,UAAF,CAAa7qT,CAAb,CAAR;AAAA,YAAwBuM,CAAC,GAAC,IAAIpH,KAAJ,CAAUoF,CAAV,EAAaq6N,IAAb,CAAkB,CAAlB,CAA1B;;AAA+C,WAAI,MAAK;AAACghF,QAAAA,MAAM,EAACj7S;AAAR,OAAT,IAAsB,IAAIy7S,EAAJ,CAAOpmT,CAAP,CAAtB,EAAgCuM,CAAC,CAAC5B,CAAD,CAAD;;AAAO,YAAMh0B,CAAC,GAAC41B,CAAC,CAAC4qE,MAAF,CAAU,CAACn3E,CAAD,EAAG2K,CAAH,EAAKJ,CAAL,KAASI,CAAC,GAAC3K,CAAD,GAAG,CAAC,GAAGA,CAAJ,EAAMuK,CAAN,CAAvB,EAAiC,EAAjC,CAAR;;AAA6C,UAAG5zB,CAAC,CAAChK,MAAF,GAAS,CAAZ,EAAc;AAAC,cAAM49B,CAAC,GAAC5zB,CAAC,CAACA,CAAC,CAAChK,MAAF,GAAS,CAAV,CAAT;AAAsB,eAAOg+B,CAAC,CAACmgT,aAAF,CAAgB9qT,CAAhB,EAAkB;AAACmiE,UAAAA,EAAE,EAAC53D;AAAJ,SAAlB,GAA0B,CAAC,CAAlC;AAAoC;;AAAA,aAAM,CAAC,CAAP;AAAS;;AAAA,aAASwgT,EAAT,CAAY/qT,CAAZ,EAAc2K,CAAd,EAAgB;AAAC,YAAMJ,CAAC,GAAC,EAAR;AAAA,YAAWgC,CAAC,GAAC5B,CAAC,CAACo+S,OAAF,CAAU/oT,CAAV,CAAb;;AAA0B,WAAI,IAAI2K,CAAC,GAAC,CAAV,EAAYA,CAAC,GAAC4B,CAAd,EAAgB5B,CAAC,EAAjB,EAAoB;AAAC3K,QAAAA,CAAC,CAAC6sP,QAAF,CAAWliP,CAAX,EAAc0L,OAAd,IAAuB9L,CAAC,CAACtE,IAAF,CAAO0E,CAAP,CAAvB;AAAiC;;AAAA,UAAGJ,CAAC,CAAC59B,MAAF,GAAS,CAAZ,EAAc;AAAC,cAAM4/B,CAAC,GAAChC,CAAC,CAACA,CAAC,CAAC59B,MAAF,GAAS,CAAV,CAAT;AAAsB,eAAOg+B,CAAC,CAACqgT,UAAF,CAAahrT,CAAb,EAAe;AAACmiE,UAAAA,EAAE,EAAC51D;AAAJ,SAAf,GAAuB,CAAC,CAA/B;AAAiC;;AAAA,aAAM,CAAC,CAAP;AAAS;;AAAA,aAAS29K,EAAT,CAAYlqL,CAAZ,EAAc2K,CAAd,EAAgB;AAACigT,MAAAA,EAAE,CAAC5qT,CAAD,EAAG2K,CAAH,CAAF,IAASogT,EAAE,CAAC/qT,CAAD,EAAG2K,CAAH,CAAX;AAAiB;;AAAA,aAASq1L,EAAT,CAAYhgM,CAAZ,EAAc2K,CAAd,EAAgB;AAAC,YAAMJ,CAAC,GAACpF,KAAK,CAAC7H,IAAN,CAAW,IAAI8oT,EAAJ,CAAOpmT,CAAP,EAAS;AAAC6mT,QAAAA,WAAW,EAACl8S,CAAC,CAACsgT,WAAf;AAA2BlE,QAAAA,SAAS,EAACp8S,CAAC,CAACugT,UAAvC;AAAkD1E,QAAAA,GAAG,EAAC77S,CAAC,CAACwgT;AAAxD,OAAT,CAAX,CAAR;AAA+F,UAAG5gT,CAAC,CAAC6nE,KAAF,CAAS,CAAC;AAACu2O,QAAAA,UAAU,EAAC3oT;AAAZ,OAAD,KAAkB,MAAIA,CAA/B,CAAH,EAAsC,OAAO2K,CAAC,CAACwgT,OAAT;AAAiB,YAAM5+S,CAAC,GAAChC,CAAC,CAAC,CAAD,CAAD,CAAKo+S,UAAL,GAAgB,CAAxB;AAA0B,aAAOh+S,CAAC,CAACwgT,OAAF,GAAU5+S,CAAjB;AAAmB;;AAAA,aAAS6+S,EAAT,CAAYprT,CAAZ,EAAc2K,CAAd,EAAgB;AAAC,YAAMJ,CAAC,GAACpF,KAAK,CAAC7H,IAAN,CAAW,IAAI8oT,EAAJ,CAAOpmT,CAAP,EAAS;AAACymT,QAAAA,QAAQ,EAAC97S,CAAC,CAAC0gT,QAAZ;AAAqB1E,QAAAA,MAAM,EAACh8S,CAAC,CAACwgT,OAA9B;AAAsCvF,QAAAA,MAAM,EAACj7S,CAAC,CAACugT;AAA/C,OAAT,CAAX,CAAR;AAAyF,UAAG3gT,CAAC,CAAC6nE,KAAF,CAAS,CAAC;AAACs2O,QAAAA,SAAS,EAAC1oT;AAAX,OAAD,KAAiB,MAAIA,CAA9B,CAAH,EAAqC,OAAO2K,CAAC,CAACugT,UAAT;AAAoB,YAAM3+S,CAAC,GAAChC,CAAC,CAAC,CAAD,CAAD,CAAKm+S,SAAL,GAAe,CAAvB;AAAyB,aAAO/9S,CAAC,CAACugT,UAAF,GAAa3+S,CAApB;AAAsB;;AAAA,UAAM++S,EAAN,SAAiB3hE,EAAjB,CAAmB;AAAClqR,MAAAA,WAAW,CAACugC,CAAD,EAAG2K,CAAH,EAAK;AAAC,cAAM3K,CAAN,GAAS,KAAK0zM,SAAL,GAAe/oM,CAAC,CAAC+oM,SAA1B,EAAoC,KAAK63G,YAAL,GAAkB,WAAS,KAAK73G,SAAd,IAAyB,UAAQ,KAAKA,SAA5F;AAAsG;;AAAAm2C,MAAAA,OAAO,GAAE;AAAC,cAAM7pP,CAAC,GAAC,KAAKwrT,iBAAL,EAAR;;AAAiC,aAAKt6U,KAAL,GAAW8uB,CAAX,EAAa,KAAKq6H,SAAL,GAAe,CAAC,CAACr6H,CAA9B;AAAgC;;AAAAmqP,MAAAA,OAAO,GAAE;AAAC,cAAMnqP,CAAC,GAAC,KAAKgiF,MAAL,CAAYzlG,KAApB;AAAA,cAA0BouB,CAAC,GAAC3K,CAAC,CAAC0B,QAA9B;AAAA,cAAuC6I,CAAC,GAAC,KAAKy3E,MAAL,CAAYyB,OAAZ,CAAoBhjH,GAApB,CAAwB,YAAxB,EAAsCgrV,gCAAtC,CAAuE9gT,CAAC,CAACm/O,SAAzE,EAAoF,CAApF,CAAzC;AAAA,cAAgIv9O,CAAC,GAAC,KAAKr7B,KAAvI;AAAA,cAA6IyF,CAAC,GAAC,KAAK+8N,SAApJ;AAA8J1zM,QAAAA,CAAC,CAAC0hL,MAAF,CAAU1hL,CAAC,IAAE;AAAC,gBAAM2K,CAAC,GAAC,WAASh0B,CAAT,IAAY,UAAQA,CAA5B;AAAA,gBAA8B81B,CAAC,GAAC9B,CAAC,GAACJ,CAAD,GAAGgC,CAApC;AAAA,gBAAsCjC,CAAC,GAACK,CAAC,GAAC4B,CAAD,GAAGhC,CAA5C;AAAA,gBAA8C63C,CAAC,GAAC93C,CAAC,CAAC62C,MAAlD;AAAyD,WAAC,UAASnhD,CAAT,EAAW2K,CAAX,EAAaJ,CAAb,EAAe;AAACmhT,YAAAA,EAAE,CAAC1rT,CAAD,CAAF,KAAQ0rT,EAAE,CAAC/gT,CAAD,CAAF,IAAOJ,CAAC,CAAC01E,MAAF,CAAS11E,CAAC,CAACgzP,aAAF,CAAgB5yP,CAAhB,CAAT,CAAP,EAAoCJ,CAAC,CAAC6xP,IAAF,CAAO7xP,CAAC,CAACgzP,aAAF,CAAgBv9P,CAAhB,CAAP,EAA0BuK,CAAC,CAAC4yP,gBAAF,CAAmBxyP,CAAnB,EAAqB,KAArB,CAA1B,CAA5C;AAAoGJ,YAAAA,CAAC,CAAC01E,MAAF,CAASjgF,CAAT;AAAY,WAAhI,CAAiIsK,CAAjI,EAAmImC,CAAnI,EAAqIzM,CAArI,CAAD;AAAyI,gBAAM29I,CAAC,GAAC,KAAK4tK,YAAL,GAAkB,SAAlB,GAA4B,SAApC;AAAA,gBAA8Cr/H,CAAC,GAACtoL,QAAQ,CAAC2G,CAAC,CAACs3O,YAAF,CAAelkG,CAAf,KAAmB,GAApB,CAAxD;AAAA,gBAAiF/zI,CAAC,GAAChG,QAAQ,CAAC2I,CAAC,CAACs1O,YAAF,CAAelkG,CAAf,KAAmB,GAApB,CAA3F;AAAoH39I,UAAAA,CAAC,CAAC07C,YAAF,CAAeiiG,CAAf,EAAiBuuC,CAAC,GAACtiL,CAAnB,EAAqB6C,CAArB,GAAwBzM,CAAC,CAACm7P,YAAF,CAAen7P,CAAC,CAACu9P,aAAF,CAAgB9wP,CAAhB,CAAf,CAAxB;AAA2D,gBAAMmqI,CAAC,GAAC,KAAK50D,MAAL,CAAYyB,OAAZ,CAAoBhjH,GAApB,CAAwB,YAAxB,CAAR;AAA8CypN,UAAAA,EAAE,CAAC9nI,CAAC,CAACixM,YAAF,CAAe,OAAf,CAAD,EAAyBz8G,CAAzB,CAAF;AAA8B,SAA3c;AAA8c;;AAAA40K,MAAAA,iBAAiB,GAAE;AAAC,cAAMxrT,CAAC,GAAC,KAAKgiF,MAAL,CAAYzlG,KAAZ,CAAkBmlB,QAA1B;AAAA,cAAmCiJ,CAAC,GAAC,KAAKq3E,MAAL,CAAYyB,OAAZ,CAAoBhjH,GAApB,CAAwB,YAAxB,CAArC;AAAA,cAA2E8pC,CAAC,GAACI,CAAC,CAAC8gT,gCAAF,CAAmCzrT,CAAC,CAAC8pP,SAArC,EAAgD,CAAhD,CAA7E;AAAgI,YAAG,CAACv/O,CAAJ,EAAM;AAAO,cAAMgC,CAAC,GAAC,KAAKg/S,YAAL,GAAkB,UAASvrT,CAAT,EAAW2K,CAAX,EAAaJ,CAAb,EAAe;AAAC,gBAAMgC,CAAC,GAACvM,CAAC,CAACmhD,MAAV;AAAA,gBAAiBxqE,CAAC,GAAC41B,CAAC,CAAC40C,MAArB;AAAA,gBAA4B10C,CAAC,GAAC,WAAS9B,CAAT,GAAW3K,CAAC,CAACynO,WAAb,GAAyBznO,CAAC,CAAC43O,eAAzD;AAAA,gBAAyEttO,CAAC,GAAC,CAAC3zB,CAAC,CAACkrQ,YAAF,CAAe,gBAAf,KAAkC,CAAnC,IAAsC,CAAjH;AAAmH,cAAG,CAACp1O,CAAJ,EAAM;AAAO,gBAAM21C,CAAC,GAAC,WAASz3C,CAAT,GAAW3K,CAAX,GAAayM,CAArB;AAAA,gBAAuBkxI,CAAC,GAAC,WAAShzI,CAAT,GAAW8B,CAAX,GAAazM,CAAtC;AAAA,gBAAwC;AAAC4lT,YAAAA,MAAM,EAAC15H;AAAR,cAAW3hL,CAAC,CAACs7S,eAAF,CAAkBzjQ,CAAlB,CAAnD;AAAA,gBAAwE;AAACwjQ,YAAAA,MAAM,EAACh8S;AAAR,cAAWW,CAAC,CAACs7S,eAAF,CAAkBloK,CAAlB,CAAnF;AAAA,gBAAwG/G,CAAC,GAAChzI,QAAQ,CAACw+C,CAAC,CAACy/L,YAAF,CAAe,SAAf,KAA2B,GAA5B,CAAlH;AAAA,gBAAmJ/8P,CAAC,GAAC6gU,EAAE,CAACp7S,CAAD,EAAG63C,CAAH,CAAvJ;AAAA,gBAA6Jp4C,CAAC,GAAC27S,EAAE,CAACp7S,CAAD,EAAGozI,CAAH,CAAjK;AAAuK,cAAGrzI,CAAC,IAAExlB,CAAC,IAAEklB,CAAT,EAAW;AAAO,iBAAOkiL,CAAC,GAACt1C,CAAF,KAAMhtI,CAAN,GAAQ6C,CAAR,GAAU,KAAK,CAAtB;AAAwB,SAAjW,CAAkWlC,CAAlW,EAAoW,KAAKmpM,SAAzW,EAAmX/oM,CAAnX,CAAlB,GAAwY,UAAS3K,CAAT,EAAW2K,CAAX,EAAaJ,CAAb,EAAe;AAAC,gBAAMgC,CAAC,GAACvM,CAAC,CAACmhD,MAAV;AAAA,gBAAiBxqE,CAAC,GAAC41B,CAAC,CAAC40C,MAArB;AAAA,gBAA4B10C,CAAC,GAAC91B,CAAC,CAACo2Q,aAAF,CAAgBxgP,CAAhB,CAA9B;AAAiD,cAAG,UAAQ5B,CAAR,IAAW8B,CAAC,KAAGlC,CAAC,CAACw+S,OAAF,CAAUpyU,CAAV,IAAa,CAA5B,IAA+B,QAAMg0B,CAAN,IAAS,MAAI8B,CAA/C,EAAiD,OAAO,IAAP;AAAY,gBAAMnC,CAAC,GAAC1G,QAAQ,CAAC5D,CAAC,CAAC6hP,YAAF,CAAe,SAAf,KAA2B,GAA5B,CAAhB;AAAA,gBAAiDz/L,CAAC,GAACzrE,CAAC,CAACkrQ,YAAF,CAAe,aAAf,KAA+B,CAAlF;AAAA,gBAAoFlkG,CAAC,GAAC,UAAQhzI,CAAR,IAAW8B,CAAC,GAACnC,CAAF,KAAM83C,CAAvG;AAAA,gBAAyG8pI,CAAC,GAAC,QAAMvhL,CAAN,IAAS8B,CAAC,KAAG21C,CAAxH;AAA0H,cAAGA,CAAC,KAAGu7F,CAAC,IAAEuuC,CAAN,CAAJ,EAAa,OAAO,IAAP;AAAY,gBAAMtiL,CAAC,GAAChG,QAAQ,CAAC5D,CAAC,CAAC6hP,YAAF,CAAe,SAAf,KAA2B,GAA5B,CAAhB;AAAA,gBAAiDjrG,CAAC,GAAC,UAAQjsI,CAAR,GAAU8B,CAAC,GAAC7C,CAAZ,GAAc6C,CAAjE;AAAA,gBAAmE3nB,CAAC,GAAC,CAAC,GAAG,IAAIshU,EAAJ,CAAOzvU,CAAP,EAAS;AAACgwU,YAAAA,MAAM,EAAC/vK;AAAR,WAAT,CAAJ,CAArE;AAAA,gBAA+F5sI,CAAC,GAACllB,CAAC,CAACvK,IAAF,CAAQowB,CAAC,IAAEA,CAAC,CAACs9S,IAAF,KAASjoT,CAApB,CAAjG;AAAA,gBAAyHgM,CAAC,GAAChC,CAAC,CAAC47S,MAA7H;AAAA,gBAAoIp5S,CAAC,GAAC1nB,CAAC,CAACvK,IAAF,CAAQ,CAAC;AAACisU,YAAAA,GAAG,EAACxmT,CAAL;AAAO2oT,YAAAA,UAAU,EAACp+S,CAAlB;AAAoBq7S,YAAAA,MAAM,EAACr5S;AAA3B,WAAD,KAAiCA,CAAC,KAAGP,CAAJ,KAAQ,UAAQrB,CAAR,GAAU3K,CAAC,KAAG42I,CAAd,GAAgBA,CAAC,KAAG52I,CAAC,GAACuK,CAA9B,CAAzC,CAAtI;AAAkN,iBAAOiC,CAAC,IAAEA,CAAC,CAACy7S,IAAL,GAAUz7S,CAAC,CAACy7S,IAAZ,GAAiB,IAAxB;AAA6B,SAAhgB,CAAigB19S,CAAjgB,EAAmgB,KAAKmpM,SAAxgB,EAAkhB/oM,CAAlhB,CAAhZ;AAAq6B,YAAG,CAAC4B,CAAJ,EAAM;AAAO,cAAM51B,CAAC,GAAC,KAAK40U,YAAL,GAAkB,SAAlB,GAA4B,SAApC;AAAA,cAA8C9+S,CAAC,GAAC7I,QAAQ,CAAC2G,CAAC,CAACs3O,YAAF,CAAelrQ,CAAf,KAAmB,GAApB,CAAxD;AAAiF,eAAOitB,QAAQ,CAAC2I,CAAC,CAACs1O,YAAF,CAAelrQ,CAAf,KAAmB,GAApB,CAAR,KAAmC81B,CAAnC,GAAqCF,CAArC,GAAuC,KAAK,CAAnD;AAAqD;;AAAlhE;;AAAmhE,aAASm/S,EAAT,CAAY1rT,CAAZ,EAAc;AAAC,YAAM2K,CAAC,GAAC3K,CAAC,CAAC6sP,QAAF,CAAW,CAAX,CAAR;AAAsB,aAAO,KAAG7sP,CAAC,CAAC0sP,UAAL,IAAiB/hP,CAAC,CAACkgF,EAAF,CAAK,SAAL,EAAe,WAAf,CAAjB,IAA8ClgF,CAAC,CAAC0L,OAAvD;AAA+D;;AAAA,UAAMs1S,EAAN,SAAiBhiE,EAAjB,CAAmB;AAACE,MAAAA,OAAO,GAAE;AAAC,cAAM7pP,CAAC,GAAC,KAAKgiF,MAAL,CAAYyB,OAAZ,CAAoBhjH,GAApB,CAAwB,YAAxB,CAAR;AAAA,cAA8CkqC,CAAC,GAAC3K,CAAC,CAACypT,8BAAF,CAAiC,KAAKznO,MAAL,CAAYzlG,KAAZ,CAAkBmlB,QAAlB,CAA2BooP,SAA5D,CAAhD;AAAA,cAAuHv/O,CAAC,GAACI,CAAC,CAAC,CAAD,CAA1H;;AAA8H,YAAGJ,CAAH,EAAK;AAAC,gBAAMgC,CAAC,GAAChC,CAAC,CAAC8oP,YAAF,CAAe,OAAf,CAAR;AAAA,gBAAgC18Q,CAAC,GAACqpB,CAAC,CAAC+oT,OAAF,CAAUx8S,CAAV,IAAa,CAA/C;AAAA,gBAAiDE,CAAC,GAACzM,CAAC,CAAC0pT,aAAF,CAAgB/+S,CAAhB,CAAnD;AAAA,gBAAsEL,CAAC,GAAC,MAAImC,CAAC,CAACqwO,KAAN,IAAarwO,CAAC,CAAC+0K,IAAF,KAAS7qM,CAA9F;AAAgG,eAAK0jJ,SAAL,GAAe,CAAC/vH,CAAhB;AAAkB,SAAxH,MAA6H,KAAK+vH,SAAL,GAAe,CAAC,CAAhB;AAAkB;;AAAA8vH,MAAAA,OAAO,GAAE;AAAC,cAAMnqP,CAAC,GAAC,KAAKgiF,MAAL,CAAYzlG,KAApB;AAAA,cAA0BouB,CAAC,GAAC,KAAKq3E,MAAL,CAAYyB,OAAZ,CAAoBhjH,GAApB,CAAwB,YAAxB,CAA5B;AAAA,cAAkE8pC,CAAC,GAACI,CAAC,CAAC8+S,8BAAF,CAAiCzpT,CAAC,CAAC0B,QAAF,CAAWooP,SAA5C,CAApE;AAAA,cAA2Hv9O,CAAC,GAAC5B,CAAC,CAAC++S,aAAF,CAAgBn/S,CAAhB,CAA7H;AAAA,cAAgJ5zB,CAAC,GAAC4zB,CAAC,CAAC,CAAD,CAAnJ;AAAA,cAAuJkC,CAAC,GAAC91B,CAAC,CAAC08Q,YAAF,CAAe,OAAf,CAAzJ;AAAA,cAAiL/oP,CAAC,GAACK,CAAC,CAACk7S,eAAF,CAAkBlvU,CAAlB,EAAqBivU,MAAxM;AAA+M5lT,QAAAA,CAAC,CAAC0hL,MAAF,CAAU1hL,CAAC,IAAE;AAAC,gBAAMuK,CAAC,GAACgC,CAAC,CAACi1K,IAAF,GAAOj1K,CAAC,CAACuwO,KAAT,GAAe,CAAvB;AAAyBnyO,UAAAA,CAAC,CAACqgT,UAAF,CAAav+S,CAAb,EAAe;AAAC01D,YAAAA,EAAE,EAAC51D,CAAC,CAACuwO,KAAN;AAAYipE,YAAAA,IAAI,EAACx7S;AAAjB,WAAf;;AAAoC,gBAAM5zB,CAAC,GAAC,UAASqpB,CAAT,EAAW2K,CAAX,EAAaJ,CAAb,EAAegC,CAAf,EAAiB;AAAC,kBAAM51B,CAAC,GAACqpB,CAAC,CAAC6sP,QAAF,CAAW3wN,IAAI,CAACzqC,GAAL,CAASkZ,CAAT,EAAW4B,CAAC,GAAC,CAAb,CAAX,CAAR;AAAoC,gBAAIE,CAAC,GAAC91B,CAAC,CAACk2Q,QAAF,CAAW,CAAX,CAAN;AAAA,gBAAoBviP,CAAC,GAAC,CAAtB;;AAAwB,iBAAI,MAAMtK,CAAV,IAAerpB,CAAC,CAACqtG,WAAF,EAAf,EAA+B;AAAC,kBAAG15E,CAAC,GAACC,CAAL,EAAO,OAAOkC,CAAP;AAASA,cAAAA,CAAC,GAACzM,CAAF,EAAIsK,CAAC,IAAE1G,QAAQ,CAAC5D,CAAC,CAAC6hP,YAAF,CAAe,SAAf,KAA2B,GAA5B,CAAf;AAAgD;;AAAA,mBAAOp1O,CAAP;AAAS,WAAvL,CAAwLA,CAAxL,EAA0LF,CAAC,CAACuwO,KAA5L,EAAkMxyO,CAAlM,EAAoMK,CAAC,CAACo+S,OAAF,CAAUt8S,CAAV,CAApM,CAAR;;AAA0NzM,UAAAA,CAAC,CAACm7P,YAAF,CAAen7P,CAAC,CAACm9P,gBAAF,CAAmBxmR,CAAnB,EAAqB,CAArB,CAAf;AAAwC,SAA7U;AAAgV;;AAAj0B;;AAAk0B,UAAMi1U,EAAN,SAAiBjiE,EAAjB,CAAmB;AAACE,MAAAA,OAAO,GAAE;AAAC,cAAM7pP,CAAC,GAAC,KAAKgiF,MAAL,CAAYyB,OAAZ,CAAoBhjH,GAApB,CAAwB,YAAxB,CAAR;AAAA,cAA8CkqC,CAAC,GAAC3K,CAAC,CAACypT,8BAAF,CAAiC,KAAKznO,MAAL,CAAYzlG,KAAZ,CAAkBmlB,QAAlB,CAA2BooP,SAA5D,CAAhD;AAAA,cAAuHv/O,CAAC,GAACI,CAAC,CAAC,CAAD,CAA1H;;AAA8H,YAAGJ,CAAH,EAAK;AAAC,gBAAMgC,CAAC,GAAChC,CAAC,CAAC8oP,YAAF,CAAe,OAAf,CAAR;AAAA,gBAAgC18Q,CAAC,GAACqpB,CAAC,CAAC6qT,UAAF,CAAat+S,CAAb,CAAlC;AAAA,gBAAkD;AAACuwO,YAAAA,KAAK,EAACrwO,CAAP;AAAS+0K,YAAAA,IAAI,EAACl3K;AAAd,cAAiBtK,CAAC,CAAC8pT,gBAAF,CAAmBn/S,CAAnB,CAAnE;AAAyF,eAAK0vH,SAAL,GAAe/vH,CAAC,GAACmC,CAAF,GAAI91B,CAAC,GAAC,CAArB;AAAuB,SAAtH,MAA2H,KAAK0jJ,SAAL,GAAe,CAAC,CAAhB;AAAkB;;AAAA8vH,MAAAA,OAAO,GAAE;AAAC,cAAMnqP,CAAC,GAAC,KAAKgiF,MAAL,CAAYyB,OAAZ,CAAoBhjH,GAApB,CAAwB,YAAxB,CAAR;AAAA,cAA8C,CAACkqC,CAAD,EAAGJ,CAAH,IAAM,UAASvK,CAAT,EAAW2K,CAAX,EAAa;AAAC,gBAAMJ,CAAC,GAACI,CAAC,CAAC8+S,8BAAF,CAAiCzpT,CAAjC,CAAR;AAAA,gBAA4CuM,CAAC,GAAChC,CAAC,CAAC,CAAD,CAA/C;AAAA,gBAAmD5zB,CAAC,GAAC4zB,CAAC,CAAChM,GAAF,EAArD;AAAA,gBAA6DkO,CAAC,GAAC,CAACF,CAAD,EAAG51B,CAAH,CAA/D;AAAqE,iBAAO41B,CAAC,CAAC3W,QAAF,CAAWjf,CAAX,IAAc81B,CAAd,GAAgBA,CAAC,CAAC8iG,OAAF,EAAvB;AAAmC,SAAtH,CAAuH,KAAKvtB,MAAL,CAAYzlG,KAAZ,CAAkBmlB,QAAlB,CAA2BooP,SAAlJ,EAA4J9pP,CAA5J,CAApD;AAAA,cAAmNuM,CAAC,GAAC5B,CAAC,CAACw2C,MAAF,CAASA,MAA9N;AAAA,cAAqOxqE,CAAC,GAAC,CAAC,GAAG,IAAIyvU,EAAJ,CAAO75S,CAAP,CAAJ,CAAvO;AAAA,cAAsPE,CAAC,GAAC;AAACqwO,UAAAA,KAAK,EAACnmQ,CAAC,CAAC4D,IAAF,CAAQylB,CAAC,IAAEA,CAAC,CAACioT,IAAF,KAASt9S,CAApB,EAAwBi7S,MAA/B;AAAsCpkI,UAAAA,IAAI,EAAC7qM,CAAC,CAAC4D,IAAF,CAAQylB,CAAC,IAAEA,CAAC,CAACioT,IAAF,KAAS19S,CAApB,EAAwBq7S;AAAnE,SAAxP;AAAA,cAAmUt7S,CAAC,GAAC,UAAStK,CAAT,EAAW2K,CAAX,EAAaJ,CAAb,EAAegC,CAAf,EAAiB;AAAC,gBAAM51B,CAAC,GAACitB,QAAQ,CAAC2G,CAAC,CAACs3O,YAAF,CAAe,SAAf,KAA2B,GAA5B,CAAhB;AAAiD,iBAAOlrQ,CAAC,GAAC,CAAF,GAAI4zB,CAAJ,GAAMI,CAAC,CAACitO,eAAF,IAAmBrtO,CAAC,CAACk9N,WAArB,GAAiCl9N,CAAC,CAACk9N,WAAF,IAAe98N,CAAC,CAACitO,eAAlD,GAAkErrO,CAAC,CAACuwO,KAAF,GAAQ98O,CAAC,CAACuvG,OAAF,GAAYh1H,IAAZ,CAAkB,CAAC;AAACqrU,YAAAA,MAAM,EAAC5lT;AAAR,WAAD,KAAcA,CAAC,GAACuM,CAAC,CAACuwO,KAApC,EAA4CmrE,IAApD,GAAyDjoT,CAAC,CAACuvG,OAAF,GAAYh1H,IAAZ,CAAkB,CAAC;AAACqrU,YAAAA,MAAM,EAAC5lT;AAAR,WAAD,KAAcA,CAAC,GAACuM,CAAC,CAACi1K,IAApC,EAA2CymI,IAAnL;AAAwL,SAA3P,CAA4PtxU,CAA5P,EAA8Pg0B,CAA9P,EAAgQJ,CAAhQ,EAAkQkC,CAAlQ,CAArU;;AAA0kB,aAAKu1E,MAAL,CAAYzlG,KAAZ,CAAkBmlM,MAAlB,CAA0B/2K,CAAC,IAAE;AAAC,gBAAMJ,CAAC,GAACkC,CAAC,CAAC+0K,IAAF,GAAO/0K,CAAC,CAACqwO,KAAT,GAAe,CAAvB;AAAyB98O,UAAAA,CAAC,CAAC8qT,aAAF,CAAgBv+S,CAAhB,EAAkB;AAAC41D,YAAAA,EAAE,EAAC11D,CAAC,CAACqwO,KAAN;AAAYktE,YAAAA,OAAO,EAACz/S;AAApB,WAAlB,GAA0CI,CAAC,CAACwwP,YAAF,CAAexwP,CAAC,CAACwyP,gBAAF,CAAmB7yP,CAAnB,EAAqB,CAArB,CAAf,CAA1C;AAAkF,SAAzI;AAA4I;;AAAt/B;;AAAu/B,UAAMuhT,EAAN,SAAiBliE,EAAjB,CAAmB;AAACE,MAAAA,OAAO,GAAE;AAAC,cAAM7pP,CAAC,GAAC,KAAKgiF,MAAL,CAAYyB,OAAZ,CAAoBhjH,GAApB,CAAwB,YAAxB,CAAR;AAAA,cAA8CkqC,CAAC,GAAC,KAAKq3E,MAAL,CAAYzlG,KAA5D;AAAA,cAAkEguB,CAAC,GAACvK,CAAC,CAACypT,8BAAF,CAAiC9+S,CAAC,CAACjJ,QAAF,CAAWooP,SAA5C,CAApE;AAAA,cAA2Hv9O,CAAC,GAAChC,CAAC,CAAC59B,MAAF,GAAS,CAAtI;AAAwI,aAAK0tJ,SAAL,GAAe9tH,CAAf,EAAiB,KAAKr7B,KAAL,GAAWq7B,CAAC,IAAEhC,CAAC,CAAC6nE,KAAF,CAASpyE,CAAC,IAAE,KAAK8rT,YAAL,CAAkB9rT,CAAlB,EAAoBA,CAAC,CAACmhD,MAAF,CAASA,MAA7B,CAAZ,CAA/B;AAAkF;;AAAAgpM,MAAAA,OAAO,CAACnqP,CAAC,GAAC,EAAH,EAAM;AAAC,YAAGA,CAAC,CAACkxS,UAAF,KAAe,KAAKhgU,KAAvB,EAA6B;AAAO,cAAMy5B,CAAC,GAAC,KAAKq3E,MAAL,CAAYyB,OAAZ,CAAoBhjH,GAApB,CAAwB,YAAxB,CAAR;AAAA,cAA8C8pC,CAAC,GAAC,KAAKy3E,MAAL,CAAYzlG,KAA5D;AAAA,cAAkEgwB,CAAC,GAAC5B,CAAC,CAAC8+S,8BAAF,CAAiCl/S,CAAC,CAAC7I,QAAF,CAAWooP,SAA5C,CAApE;AAAA,cAA2HnzQ,CAAC,GAAC41B,CAAC,CAAC,CAAD,CAAD,CAAK8mP,YAAL,CAAkB,OAAlB,CAA7H;AAAA,cAAwJ;AAACvW,UAAAA,KAAK,EAACrwO,CAAP;AAAS+0K,UAAAA,IAAI,EAACl3K;AAAd,YAAiBK,CAAC,CAAC++S,aAAF,CAAgBn9S,CAAhB,CAAzK;AAAA,cAA4L61C,CAAC,GAAC,KAAKlxE,KAAL,GAAWu7B,CAAX,GAAanC,CAAC,GAAC,CAA7M;AAAA,cAA+MqzI,CAAC,GAAChnK,CAAC,CAACkrQ,YAAF,CAAe,aAAf,KAA+B,CAAhP;AAAkPt3O,QAAAA,CAAC,CAACm3K,MAAF,CAAU1hL,CAAC,IAAE;AAAC,cAAGoiD,CAAH,EAAK;AAAC,kBAAMz3C,CAAC,GAAC2/S,EAAE,CAAC3zU,CAAD,EAAGyrE,CAAH,EAAKA,CAAC,GAACu7F,CAAF,GAAIA,CAAJ,GAAM,CAAX,CAAV;;AAAwB,iBAAI,MAAK;AAACsqK,cAAAA,IAAI,EAAC19S;AAAN,aAAT,IAAoBI,CAApB,EAAsB4/S,EAAE,CAAChgT,CAAD,EAAG63C,CAAH,EAAKpiD,CAAL,CAAF;AAAU;;AAAAylT,UAAAA,EAAE,CAAC,aAAD,EAAerjQ,CAAf,EAAiBzrE,CAAjB,EAAmBqpB,CAAnB,EAAqB,CAArB,CAAF;AAA0B,SAAtG;AAAyG;;AAAA8rT,MAAAA,YAAY,CAAC9rT,CAAD,EAAG2K,CAAH,EAAK;AAAC,cAAMJ,CAAC,GAAC3G,QAAQ,CAAC+G,CAAC,CAACk3O,YAAF,CAAe,aAAf,KAA+B,GAAhC,CAAhB;AAAqD,eAAM,CAAC,CAACt3O,CAAF,IAAKvK,CAAC,CAACmhD,MAAF,CAAS3/B,KAAT,GAAejX,CAA1B;AAA4B;;AAArtB;;AAAstB,UAAMwhT,EAAN,SAAiBpiE,EAAjB,CAAmB;AAACE,MAAAA,OAAO,GAAE;AAAC,cAAM7pP,CAAC,GAAC,KAAKgiF,MAAL,CAAYzlG,KAApB;AAAA,cAA0BouB,CAAC,GAAC,KAAKq3E,MAAL,CAAYyB,OAAZ,CAAoBhjH,GAApB,CAAwB,YAAxB,CAA5B;AAAA,cAAkE8pC,CAAC,GAACI,CAAC,CAAC8+S,8BAAF,CAAiCzpT,CAAC,CAAC0B,QAAF,CAAWooP,SAA5C,CAApE;AAAA,cAA2Hv9O,CAAC,GAAChC,CAAC,CAAC59B,MAAF,GAAS,CAAtI;AAAwI,aAAK0tJ,SAAL,GAAe9tH,CAAf,EAAiB,KAAKr7B,KAAL,GAAWq7B,CAAC,IAAEhC,CAAC,CAAC6nE,KAAF,CAASpyE,CAAC,IAAE2lT,EAAE,CAACh7S,CAAD,EAAG3K,CAAH,CAAd,CAA/B;AAAqD;;AAAAmqP,MAAAA,OAAO,CAACnqP,CAAC,GAAC,EAAH,EAAM;AAAC,YAAGA,CAAC,CAACkxS,UAAF,KAAe,KAAKhgU,KAAvB,EAA6B;AAAO,cAAMy5B,CAAC,GAAC,KAAKq3E,MAAL,CAAYyB,OAAZ,CAAoBhjH,GAApB,CAAwB,YAAxB,CAAR;AAAA,cAA8C8pC,CAAC,GAAC,KAAKy3E,MAAL,CAAYzlG,KAA5D;AAAA,cAAkEgwB,CAAC,GAAC5B,CAAC,CAAC8+S,8BAAF,CAAiCl/S,CAAC,CAAC7I,QAAF,CAAWooP,SAA5C,CAApE;AAAA,cAA2HnzQ,CAAC,GAAC41B,CAAC,CAAC,CAAD,CAAD,CAAK8mP,YAAL,CAAkB,OAAlB,CAA7H;AAAA,cAAwJ;AAACvW,UAAAA,KAAK,EAACrwO,CAAP;AAAS+0K,UAAAA,IAAI,EAACl3K;AAAd,YAAiBK,CAAC,CAACm/S,gBAAF,CAAmBv9S,CAAnB,CAAzK;AAAA,cAA+L61C,CAAC,GAAC,KAAKlxE,KAAL,GAAWu7B,CAAX,GAAanC,CAAC,GAAC,CAAhN;AAAkNC,QAAAA,CAAC,CAACm3K,MAAF,CAAU1hL,CAAC,IAAE;AAAC,cAAGoiD,CAAH,EAAK;AAAC,kBAAMz3C,CAAC,GAAC+/S,EAAE,CAAC/zU,CAAD,EAAGyrE,CAAH,CAAV;;AAAgB,iBAAI,MAAK;AAAC6lQ,cAAAA,IAAI,EAAC19S,CAAN;AAAQq7S,cAAAA,MAAM,EAACr5S;AAAf,aAAT,IAA6B5B,CAA7B,EAA+BggT,EAAE,CAACpgT,CAAD,EAAGgC,CAAH,EAAK61C,CAAL,EAAOpiD,CAAP,CAAF;AAAY;;AAAAylT,UAAAA,EAAE,CAAC,gBAAD,EAAkBrjQ,CAAlB,EAAoBzrE,CAApB,EAAsBqpB,CAAtB,EAAwB,CAAxB,CAAF;AAA6B,SAA5G;AAA+G;;AAA3jB;;AAA4jB,aAASgsT,EAAT,CAAYhsT,CAAZ,EAAc;AAAC,UAAGA,CAAC,CAAC6qF,EAAF,CAAK,SAAL,EAAe,kBAAf,CAAH,EAAsC,OAAO7qF,CAAP;AAAS,YAAM2K,CAAC,GAAC3K,CAAC,CAACgkF,WAAF,EAAR;AAAwB,aAAO7+E,KAAK,CAAC7H,IAAN,CAAWqN,CAAX,EAAcpwB,IAAd,CAAoBylB,CAAC,IAAEA,CAAC,CAAC6qF,EAAF,CAAK,SAAL,EAAe,kBAAf,CAAvB,CAAP;AAAmE;;AAAA,aAASohO,EAAT,CAAYjsT,CAAZ,EAAc;AAAC,YAAM2K,CAAC,GAACqhT,EAAE,CAAChsT,CAAD,CAAV;AAAc,aAAO2K,CAAC,GAACxF,KAAK,CAAC7H,IAAN,CAAWqN,CAAC,CAACq5E,WAAF,EAAX,CAAD,GAA6B,EAArC;AAAwC;;AAAA,UAAMkoO,EAAN,SAAiB7iE,EAAjB,CAAmB;AAAsB,iBAAVwB,UAAU,GAAE;AAAC,eAAM,YAAN;AAAmB;;AAAAtpR,MAAAA,IAAI,GAAE;AAAC,aAAKquP,QAAL,CAAc,eAAd,GAA+B,KAAKA,QAAL,CAAc,YAAd,CAA/B;AAA2D;;AAAAi2F,MAAAA,eAAe,CAAC7lT,CAAD,EAAG;AAAC,cAAM2K,CAAC,GAAC3K,CAAC,CAACmhD,MAAV;AAAA,cAAiB52C,CAAC,GAACI,CAAC,CAACw2C,MAArB;AAAA,cAA4B50C,CAAC,GAAChC,CAAC,CAACwiP,aAAF,CAAgBpiP,CAAhB,CAA9B;AAAA,cAAiDh0B,CAAC,GAAC,IAAIyvU,EAAJ,CAAO77S,CAAP,EAAS;AAACi8S,UAAAA,GAAG,EAACj6S;AAAL,SAAT,CAAnD;;AAAqE,aAAI,MAAK;AAAC07S,UAAAA,IAAI,EAACt9S,CAAN;AAAQ67S,UAAAA,GAAG,EAACj8S,CAAZ;AAAcq7S,UAAAA,MAAM,EAACr5S;AAArB,SAAT,IAAmC51B,CAAnC,EAAqC,IAAGg0B,CAAC,KAAG3K,CAAP,EAAS,OAAM;AAACwmT,UAAAA,GAAG,EAACj8S,CAAL;AAAOq7S,UAAAA,MAAM,EAACr5S;AAAd,SAAN;AAAuB;;AAAA+8S,MAAAA,WAAW,CAACtpT,CAAD,EAAG2K,CAAH,EAAK;AAAC,cAAMJ,CAAC,GAACvK,CAAC,CAAC6G,aAAF,CAAgB,OAAhB,CAAR;AAAA,cAAiC0F,CAAC,GAAC5B,CAAC,CAACo7S,IAAF,IAAQ,CAA3C;AAAA,cAA6CpvU,CAAC,GAACg0B,CAAC,CAACq/S,OAAF,IAAW,CAA1D;AAA4D,eAAOmC,EAAE,CAACnsT,CAAD,EAAGuK,CAAH,EAAK,CAAL,EAAOgC,CAAP,EAAS51B,CAAT,CAAF,EAAcg0B,CAAC,CAACq7S,WAAF,IAAeP,EAAE,CAAC,aAAD,EAAevpR,IAAI,CAACzqC,GAAL,CAASkZ,CAAC,CAACq7S,WAAX,EAAuBz5S,CAAvB,CAAf,EAAyChC,CAAzC,EAA2CvK,CAA3C,EAA6C,CAA7C,CAA/B,EAA+E2K,CAAC,CAACs7S,cAAF,IAAkBR,EAAE,CAAC,gBAAD,EAAkBvpR,IAAI,CAACzqC,GAAL,CAASkZ,CAAC,CAACs7S,cAAX,EAA0BtvU,CAA1B,CAAlB,EAA+C4zB,CAA/C,EAAiDvK,CAAjD,EAAmD,CAAnD,CAAnG,EAAyJuK,CAAhK;AAAkK;;AAAAo/S,MAAAA,UAAU,CAAC3pT,CAAD,EAAG2K,CAAC,GAAC,EAAL,EAAQ;AAAC,cAAMJ,CAAC,GAAC,KAAKy3E,MAAL,CAAYzlG,KAApB;AAAA,cAA0BgwB,CAAC,GAAC5B,CAAC,CAACw3D,EAAF,IAAM,CAAlC;AAAA,cAAoCxrF,CAAC,GAACg0B,CAAC,CAACo7S,IAAF,IAAQ,CAA9C;AAAA,cAAgDt5S,CAAC,GAAC,KAAK,CAAL,KAAS9B,CAAC,CAACi/S,sBAA7D;AAAA,cAAoFt/S,CAAC,GAACK,CAAC,CAACi/S,sBAAF,GAAyBr9S,CAAC,GAAC,CAA3B,GAA6BA,CAAnH;AAAA,cAAqH61C,CAAC,GAAC,KAAK2mQ,OAAL,CAAa/oT,CAAb,CAAvH;AAAA,cAAuI29I,CAAC,GAAC,KAAKktK,UAAL,CAAgB7qT,CAAhB,CAAzI;AAA4J,YAAGuM,CAAC,GAAC61C,CAAL,EAAO,MAAM,IAAID,CAAJ,CAAM,2CAAN,EAAkD,IAAlD,EAAuD;AAACz0D,UAAAA,OAAO,EAACid;AAAT,SAAvD,CAAN;AAA0EJ,QAAAA,CAAC,CAACm3K,MAAF,CAAU/2K,CAAC,IAAE;AAAC,gBAAMJ,CAAC,GAACvK,CAAC,CAAC6hP,YAAF,CAAe,aAAf,KAA+B,CAAvC;AAAyC,cAAGt3O,CAAC,GAACgC,CAAF,IAAKk5S,EAAE,CAAC,aAAD,EAAel7S,CAAC,GAAC5zB,CAAjB,EAAmBqpB,CAAnB,EAAqB2K,CAArB,EAAuB,CAAvB,CAAP,EAAiC,CAAC8B,CAAD,KAAK,MAAIF,CAAJ,IAAOA,CAAC,KAAG61C,CAAhB,CAApC,EAAuD,OAAO,KAAK+pQ,EAAE,CAACxhT,CAAD,EAAG3K,CAAH,EAAKuM,CAAL,EAAO51B,CAAP,EAASgnK,CAAT,CAAd;AAA0B,gBAAMuuC,CAAC,GAACz/K,CAAC,GAACyvB,IAAI,CAAC1qC,GAAL,CAAS+a,CAAT,EAAWjC,CAAX,CAAD,GAAeiC,CAAxB;AAAA,gBAA0B3C,CAAC,GAAC,IAAIw8S,EAAJ,CAAOpmT,CAAP,EAAS;AAAC2mT,YAAAA,MAAM,EAACz6H;AAAR,WAAT,CAA5B;AAAA,gBAAiDt1C,CAAC,GAAC,IAAIzxI,KAAJ,CAAUw4I,CAAV,EAAainF,IAAb,CAAkB,CAAlB,CAAnD;;AAAwE,eAAI,MAAK;AAAC4hF,YAAAA,GAAG,EAACxmT,CAAL;AAAO4lT,YAAAA,MAAM,EAACr7S,CAAd;AAAgBo+S,YAAAA,UAAU,EAACvmQ,CAA3B;AAA6BsmQ,YAAAA,SAAS,EAAC/qK,CAAvC;AAAyCsqK,YAAAA,IAAI,EAAC/7H;AAA9C,WAAT,IAA4DtiL,CAA5D,EAA8D;AAAC,kBAAMA,CAAC,GAAC5J,CAAC,GAACoiD,CAAF,GAAI,CAAZ;AAAA,kBAAct9D,CAAC,GAACkb,CAAC,IAAEsK,CAAH,IAAMA,CAAC,IAAEV,CAAzB;AAA2B5J,YAAAA,CAAC,GAACuM,CAAF,IAAKA,CAAC,IAAE3C,CAAR,IAAWe,CAAC,CAAC+wC,YAAF,CAAe,SAAf,EAAyB0G,CAAC,GAACzrE,CAA3B,EAA6Bu1M,CAA7B,GAAgCt1C,CAAC,CAACrsI,CAAD,CAAD,GAAK,CAACozI,CAAjD,IAAoDlxI,CAAC,IAAE3nB,CAAH,KAAO8xJ,CAAC,CAACrsI,CAAD,CAAD,GAAKozI,CAAZ,CAApD;AAAmE;;AAAA,eAAI,IAAIpzI,CAAC,GAAC,CAAV,EAAYA,CAAC,GAAC5zB,CAAd,EAAgB4zB,CAAC,EAAjB,EAAoB;AAAC,kBAAMA,CAAC,GAACI,CAAC,CAAC9D,aAAF,CAAgB,UAAhB,CAAR;AAAoC8D,YAAAA,CAAC,CAAC27E,MAAF,CAAS/7E,CAAT,EAAWvK,CAAX,EAAauM,CAAb;;AAAgB,iBAAI,IAAIvM,CAAC,GAAC,CAAV,EAAYA,CAAC,GAAC42I,CAAC,CAACjqK,MAAhB,EAAuBqzB,CAAC,EAAxB,EAA2B;AAAC,oBAAMuM,CAAC,GAACqqI,CAAC,CAAC52I,CAAD,CAAT;AAAA,oBAAarpB,CAAC,GAACg0B,CAAC,CAACwyP,gBAAF,CAAmB5yP,CAAnB,EAAqB,KAArB,CAAf;AAA2CgC,cAAAA,CAAC,GAAC,CAAF,IAAKm5S,EAAE,CAAC/6S,CAAD,EAAGh0B,CAAH,EAAK41B,CAAC,GAAC,CAAF,GAAI;AAACk+S,gBAAAA,OAAO,EAACl+S;AAAT,eAAJ,GAAgB,KAAK,CAA1B,CAAP,EAAoCvM,CAAC,IAAEk8B,IAAI,CAAC+4E,GAAL,CAAS1oG,CAAT,IAAY,CAAnD;AAAqD;AAAC;AAAC,SAApjB;AAAujB;;AAAAw9S,MAAAA,aAAa,CAAC/pT,CAAD,EAAG2K,CAAC,GAAC,EAAL,EAAQ;AAAC,cAAMJ,CAAC,GAAC,KAAKy3E,MAAL,CAAYzlG,KAApB;AAAA,cAA0BgwB,CAAC,GAAC5B,CAAC,CAACw3D,EAAF,IAAM,CAAlC;AAAA,cAAoCxrF,CAAC,GAACg0B,CAAC,CAACq/S,OAAF,IAAW,CAAjD;AAAmDz/S,QAAAA,CAAC,CAACm3K,MAAF,CAAU/2K,CAAC,IAAE;AAAC,gBAAMJ,CAAC,GAACvK,CAAC,CAAC6hP,YAAF,CAAe,gBAAf,CAAR;AAAyCt1O,UAAAA,CAAC,GAAChC,CAAF,IAAKI,CAAC,CAAC+wC,YAAF,CAAe,gBAAf,EAAgCnxC,CAAC,GAAC5zB,CAAlC,EAAoCqpB,CAApC,CAAL;AAA4C,gBAAMyM,CAAC,GAAC,KAAKo+S,UAAL,CAAgB7qT,CAAhB,CAAR;;AAA2B,cAAG,MAAIuM,CAAJ,IAAOE,CAAC,KAAGF,CAAd,EAAgB;AAAC,iBAAI,MAAMhC,CAAV,IAAevK,CAAC,CAACgkF,WAAF,EAAf,EAA+Bz5E,CAAC,CAACsgF,EAAF,CAAK,SAAL,EAAe,UAAf,KAA4BuhO,EAAE,CAACz1U,CAAD,EAAGg0B,CAAH,EAAKA,CAAC,CAACwyP,gBAAF,CAAmB5yP,CAAnB,EAAqBgC,CAAC,GAAC,KAAD,GAAO,CAA7B,CAAL,CAA9B;;AAAoE;AAAO;;AAAA,gBAAMjC,CAAC,GAAC,IAAI87S,EAAJ,CAAOpmT,CAAP,EAAS;AAAC4lT,YAAAA,MAAM,EAACr5S,CAAR;AAAU06S,YAAAA,eAAe,EAAC,CAAC;AAA3B,WAAT,CAAR;;AAAgD,eAAI,MAAMjnT,CAAV,IAAesK,CAAf,EAAiB;AAAC,kBAAK;AAACk8S,cAAAA,GAAG,EAACj8S,CAAL;AAAO09S,cAAAA,IAAI,EAACx7S,CAAZ;AAAc+7S,cAAAA,gBAAgB,EAACpmQ,CAA/B;AAAiCmmQ,cAAAA,aAAa,EAAC5qK,CAA/C;AAAiD+qK,cAAAA,SAAS,EAACx8H,CAA3D;AAA6Dy8H,cAAAA,UAAU,EAAC/+S;AAAxE,gBAA2E5J,CAAhF;;AAAkF,gBAAGoiD,CAAC,GAAC71C,CAAL,EAAO;AAAC5B,cAAAA,CAAC,CAAC+wC,YAAF,CAAe,SAAf,EAAyBwwI,CAAC,GAACv1M,CAA3B,EAA6B81B,CAA7B;AAAgC,oBAAMzM,CAAC,GAAC29I,CAAC,GAAC/zI,CAAF,GAAI,CAAZ;;AAAc,mBAAI,IAAIe,CAAC,GAACJ,CAAV,EAAYI,CAAC,IAAE3K,CAAf,EAAiB2K,CAAC,EAAlB,EAAqBL,CAAC,CAAC69S,OAAF,CAAUx9S,CAAV;AAAa,aAAxF,MAA6FyhT,EAAE,CAACz1U,CAAD,EAAGg0B,CAAH,EAAK3K,CAAC,CAAC6oT,iBAAF,EAAL,CAAF;AAA8B;AAAC,SAAzgB;AAA4gB;;AAAAmC,MAAAA,UAAU,CAAChrT,CAAD,EAAG2K,CAAH,EAAK;AAAC,cAAMJ,CAAC,GAAC,KAAKy3E,MAAL,CAAYzlG,KAApB;AAAA,cAA0BgwB,CAAC,GAAC5B,CAAC,CAACo7S,IAAF,IAAQ,CAApC;AAAA,cAAsCpvU,CAAC,GAAC,KAAKoyU,OAAL,CAAa/oT,CAAb,CAAxC;AAAA,cAAwDyM,CAAC,GAAC9B,CAAC,CAACw3D,EAA5D;AAAA,cAA+D73D,CAAC,GAACmC,CAAC,GAACF,CAAF,GAAI,CAArE;AAAuE,YAAGjC,CAAC,GAAC3zB,CAAC,GAAC,CAAP,EAAS,MAAM,IAAIwrE,CAAJ,CAAM,8CAAN,EAAqD,IAArD,EAA0D;AAACkqQ,UAAAA,KAAK,EAACrsT,CAAP;AAAStS,UAAAA,OAAO,EAACid;AAAjB,SAA1D,CAAN;AAAqFJ,QAAAA,CAAC,CAACm3K,MAAF,CAAU/2K,CAAC,IAAE;AAAC,gBAAMJ,CAAC,GAAC;AAACuyO,YAAAA,KAAK,EAACrwO,CAAP;AAAS+0K,YAAAA,IAAI,EAACl3K;AAAd,WAAR;AAAA,gBAAyB;AAACgiT,YAAAA,WAAW,EAAC//S,CAAb;AAAeggT,YAAAA,WAAW,EAAC51U;AAA3B,cAA8B,UAASqpB,CAAT,EAAW;AAAC88O,YAAAA,KAAK,EAACnyO,CAAP;AAAS62K,YAAAA,IAAI,EAACj3K;AAAd,WAAX,EAA4B;AAAC,kBAAMgC,CAAC,GAAC,IAAI0C,GAAJ,EAAR;AAAA,kBAAgBt4B,CAAC,GAAC,EAAlB;;AAAqB,iBAAI,MAAK;AAAC6vU,cAAAA,GAAG,EAAC/5S,CAAL;AAAOm5S,cAAAA,MAAM,EAACt7S,CAAd;AAAgBq+S,cAAAA,UAAU,EAACvmQ,CAA3B;AAA6B6lQ,cAAAA,IAAI,EAACtqK;AAAlC,aAAT,IAAgD,IAAIyoK,EAAJ,CAAOpmT,CAAP,EAAS;AAAC2mT,cAAAA,MAAM,EAACp8S;AAAR,aAAT,CAAhD,EAAqE;AAAC,oBAAMvK,CAAC,GAACyM,CAAC,GAAC21C,CAAF,GAAI,CAAZ;;AAAc,kBAAG31C,CAAC,IAAE9B,CAAH,IAAM8B,CAAC,IAAElC,CAAT,IAAYvK,CAAC,GAACuK,CAAjB,EAAmB;AAAC,sBAAMvK,CAAC,GAACoiD,CAAC,IAAE73C,CAAC,GAACkC,CAAF,GAAI,CAAN,CAAT;AAAkBF,gBAAAA,CAAC,CAACzH,GAAF,CAAMwF,CAAN,EAAQ;AAAC29S,kBAAAA,IAAI,EAACtqK,CAAN;AAAQ6sK,kBAAAA,OAAO,EAACxqT;AAAhB,iBAAR;AAA4B;;AAAA,kBAAGyM,CAAC,GAAC9B,CAAF,IAAK3K,CAAC,IAAE2K,CAAX,EAAa;AAAC,oBAAI4B,CAAJ;AAAMA,gBAAAA,CAAC,GAACvM,CAAC,IAAEuK,CAAH,GAAKA,CAAC,GAACI,CAAF,GAAI,CAAT,GAAW3K,CAAC,GAAC2K,CAAF,GAAI,CAAjB,EAAmBh0B,CAAC,CAACsvB,IAAF,CAAO;AAACgiT,kBAAAA,IAAI,EAACtqK,CAAN;AAAQ6sK,kBAAAA,OAAO,EAACpoQ,CAAC,GAAC71C;AAAlB,iBAAP,CAAnB;AAAgD;AAAC;;AAAA,mBAAM;AAAC+/S,cAAAA,WAAW,EAAC//S,CAAb;AAAeggT,cAAAA,WAAW,EAAC51U;AAA3B,aAAN;AAAoC,WAAjT,CAAkTqpB,CAAlT,EAAoTuK,CAApT,CAAvD;;AAA8W,cAAGgC,CAAC,CAAC4lE,IAAL,EAAU;AAAC,aAAC,UAASnyE,CAAT,EAAW2K,CAAX,EAAaJ,CAAb,EAAegC,CAAf,EAAiB;AAAC,oBAAM51B,CAAC,GAAC,IAAIyvU,EAAJ,CAAOpmT,CAAP,EAAS;AAACinT,gBAAAA,eAAe,EAAC,CAAC,CAAlB;AAAoBT,gBAAAA,GAAG,EAAC77S;AAAxB,eAAT,CAAR;AAAA,oBAA6C8B,CAAC,GAAC,CAAC,GAAG91B,CAAJ,CAA/C;AAAA,oBAAsD2zB,CAAC,GAACtK,CAAC,CAAC6sP,QAAF,CAAWliP,CAAX,CAAxD;AAAsE,kBAAIy3C,CAAJ;;AAAM,mBAAI,MAAK;AAACwjQ,gBAAAA,MAAM,EAAC5lT,CAAR;AAAUioT,gBAAAA,IAAI,EAACt9S,CAAf;AAAiB89S,gBAAAA,QAAQ,EAAC9xU;AAA1B,eAAT,IAAwC81B,CAAxC,EAA0C,IAAGlC,CAAC,CAACukB,GAAF,CAAM9uB,CAAN,CAAH,EAAY;AAAC,sBAAK;AAACioT,kBAAAA,IAAI,EAACt9S,CAAN;AAAQ6/S,kBAAAA,OAAO,EAAC7zU;AAAhB,oBAAmB4zB,CAAC,CAAC9pC,GAAF,CAAMu/B,CAAN,CAAxB;AAAA,sBAAiCyM,CAAC,GAAC21C,CAAC,GAAC71C,CAAC,CAAC6wP,mBAAF,CAAsBh7M,CAAtB,CAAD,GAA0B71C,CAAC,CAAC4wP,gBAAF,CAAmB7yP,CAAnB,EAAqB,CAArB,CAA9D;AAAsFiC,gBAAAA,CAAC,CAAC6vP,IAAF,CAAO7vP,CAAC,CAAC+wP,aAAF,CAAgB3yP,CAAhB,CAAP,EAA0B8B,CAA1B,GAA6Bg5S,EAAE,CAAC,SAAD,EAAW9uU,CAAX,EAAag0B,CAAb,EAAe4B,CAAf,CAA/B,EAAiD61C,CAAC,GAACz3C,CAAnD;AAAqD,eAAxJ,MAA6Jh0B,CAAC,KAAGyrE,CAAC,GAACz3C,CAAL,CAAD;AAAS,aAA9S,CAA+S3K,CAA/S,EAAiTsK,CAAC,GAAC,CAAnT,EAAqTiC,CAArT,EAAuT5B,CAAvT,CAAD;AAA2T;;AAAA,eAAI,IAAIJ,CAAC,GAACD,CAAV,EAAYC,CAAC,IAAEkC,CAAf,EAAiBlC,CAAC,EAAlB,EAAqBI,CAAC,CAACs1E,MAAF,CAASjgF,CAAC,CAAC6sP,QAAF,CAAWtiP,CAAX,CAAT;;AAAwB,eAAI,MAAK;AAACigT,YAAAA,OAAO,EAACxqT,CAAT;AAAWioT,YAAAA,IAAI,EAAC19S;AAAhB,WAAT,IAA8B5zB,CAA9B,EAAgC8uU,EAAE,CAAC,SAAD,EAAWzlT,CAAX,EAAauK,CAAb,EAAeI,CAAf,CAAF;;AAAoB,WAAC,UAAS3K,CAAT,EAAW;AAAC88O,YAAAA,KAAK,EAACnyO,CAAP;AAAS62K,YAAAA,IAAI,EAACj3K;AAAd,WAAX,EAA4BgC,CAA5B,EAA8B;AAAC,kBAAM51B,CAAC,GAACqpB,CAAC,CAAC6hP,YAAF,CAAe,aAAf,KAA+B,CAAvC;;AAAyC,gBAAGl3O,CAAC,GAACh0B,CAAL,EAAO;AAAC8uU,cAAAA,EAAE,CAAC,aAAD,EAAel7S,CAAC,GAAC5zB,CAAF,GAAIA,CAAC,IAAE4zB,CAAC,GAACI,CAAF,GAAI,CAAN,CAAL,GAAcA,CAA7B,EAA+B3K,CAA/B,EAAiCuM,CAAjC,EAAmC,CAAnC,CAAF;AAAwC;AAAC,WAAzH,CAA0HvM,CAA1H,EAA4HuK,CAA5H,EAA8HI,CAA9H,CAAD,EAAkIigT,EAAE,CAAC5qT,CAAD,EAAG,IAAH,CAAF,IAAY+qT,EAAE,CAAC/qT,CAAD,EAAG,IAAH,CAAhJ;AAAyJ,SAA57B;AAA+7B;;AAAA8qT,MAAAA,aAAa,CAAC9qT,CAAD,EAAG2K,CAAH,EAAK;AAAC,cAAMJ,CAAC,GAAC,KAAKy3E,MAAL,CAAYzlG,KAApB;AAAA,cAA0BgwB,CAAC,GAAC5B,CAAC,CAACw3D,EAA9B;AAAA,cAAiCxrF,CAAC,GAACg0B,CAAC,CAACq/S,OAAF,IAAW,CAA9C;AAAA,cAAgDv9S,CAAC,GAAC9B,CAAC,CAACw3D,EAAF,GAAKxrF,CAAL,GAAO,CAAzD;AAA2D4zB,QAAAA,CAAC,CAACm3K,MAAF,CAAU/2K,CAAC,IAAE;AAAC,WAAC,UAAS3K,CAAT,EAAW2K,CAAX,EAAaJ,CAAb,EAAe;AAAC,kBAAMgC,CAAC,GAACvM,CAAC,CAAC6hP,YAAF,CAAe,gBAAf,KAAkC,CAA1C;;AAA4C,gBAAGt1O,CAAC,IAAE5B,CAAC,CAACmyO,KAAF,GAAQvwO,CAAd,EAAgB;AAAC,oBAAM51B,CAAC,GAACulD,IAAI,CAACzqC,GAAL,CAAS8a,CAAC,GAAC,CAAX,EAAa5B,CAAC,CAAC62K,IAAf,IAAqB72K,CAAC,CAACmyO,KAAvB,GAA6B,CAArC;AAAuCvyO,cAAAA,CAAC,CAACmxC,YAAF,CAAe,gBAAf,EAAgCnvC,CAAC,GAAC51B,CAAlC,EAAoCqpB,CAApC;AAAuC;AAAC,WAA5J,CAA6JA,CAA7J,EAA+J;AAAC88O,YAAAA,KAAK,EAACvwO,CAAP;AAASi1K,YAAAA,IAAI,EAAC/0K;AAAd,WAA/J,EAAgL9B,CAAhL,CAAD;AAAoL,gBAAMJ,CAAC,GAAC0hT,EAAE,CAACjsT,CAAD,CAAV;;AAAc,eAAI,IAAIrpB,CAAC,GAAC81B,CAAV,EAAY91B,CAAC,IAAE41B,CAAf,EAAiB51B,CAAC,EAAlB,EAAqB;AAAC,iBAAI,MAAK;AAACsxU,cAAAA,IAAI,EAAC19S,CAAN;AAAQq7S,cAAAA,MAAM,EAACr5S,CAAf;AAAiBm8S,cAAAA,SAAS,EAACj8S;AAA3B,aAAT,IAAwC,CAAC,GAAG,IAAI25S,EAAJ,CAAOpmT,CAAP,CAAJ,CAAxC,EAAuDuM,CAAC,IAAE51B,CAAH,IAAM81B,CAAC,GAAC,CAAR,IAAWF,CAAC,GAACE,CAAF,GAAI91B,CAAf,GAAiB8uU,EAAE,CAAC,SAAD,EAAWh5S,CAAC,GAAC,CAAb,EAAelC,CAAf,EAAiBI,CAAjB,CAAnB,GAAuC4B,CAAC,KAAG51B,CAAJ,IAAOg0B,CAAC,CAACs1E,MAAF,CAAS11E,CAAT,CAA9C;;AAA0D,gBAAGA,CAAC,CAAC5zB,CAAD,CAAJ,EAAQ;AAAC,oBAAMqpB,CAAC,GAAC,MAAIrpB,CAAJ,GAAM4zB,CAAC,CAAC,CAAD,CAAP,GAAWA,CAAC,CAAC5zB,CAAC,GAAC,CAAH,CAApB;AAAA,oBAA0B41B,CAAC,GAAC6nG,UAAU,CAAC7pG,CAAC,CAAC5zB,CAAD,CAAD,CAAKkrQ,YAAL,CAAkB,aAAlB,CAAD,CAAtC;AAAA,oBAAyEp1O,CAAC,GAAC2nG,UAAU,CAACp0G,CAAC,CAAC6hP,YAAF,CAAe,aAAf,CAAD,CAArF;AAAqHl3O,cAAAA,CAAC,CAACs1E,MAAF,CAAS11E,CAAC,CAAC5zB,CAAD,CAAV,GAAeg0B,CAAC,CAAC+wC,YAAF,CAAe,aAAf,EAA6BnvC,CAAC,GAACE,CAAF,GAAI,GAAjC,EAAqCzM,CAArC,CAAf;AAAuD;AAAC;;AAAA+qT,UAAAA,EAAE,CAAC/qT,CAAD,EAAG,IAAH,CAAF,IAAY4qT,EAAE,CAAC5qT,CAAD,EAAG,IAAH,CAAd;AAAuB,SAApiB;AAAuiB;;AAAAmqT,MAAAA,mBAAmB,CAACnqT,CAAD,EAAG2K,CAAC,GAAC,CAAL,EAAO;AAAC,cAAMJ,CAAC,GAAC,KAAKy3E,MAAL,CAAYzlG,KAApB;AAAA,cAA0BgwB,CAAC,GAACvM,CAAC,CAACmhD,MAAF,CAASA,MAArC;AAAA,cAA4CxqE,CAAC,GAACitB,QAAQ,CAAC5D,CAAC,CAAC6hP,YAAF,CAAe,SAAf,KAA2B,GAA5B,CAAtD;AAAA,cAAuFp1O,CAAC,GAAC7I,QAAQ,CAAC5D,CAAC,CAAC6hP,YAAF,CAAe,SAAf,KAA2B,GAA5B,CAAjG;AAAkIt3O,QAAAA,CAAC,CAACm3K,MAAF,CAAUn3K,CAAC,IAAE;AAAC,cAAGkC,CAAC,GAAC,CAAL,EAAO;AAAC,kBAAK;AAAC+/S,cAAAA,YAAY,EAACjgT,CAAd;AAAgBkgT,cAAAA,WAAW,EAACniT;AAA5B,gBAA+BoiT,EAAE,CAACjgT,CAAD,EAAG9B,CAAH,CAAtC;AAA4C86S,YAAAA,EAAE,CAAC,SAAD,EAAWn7S,CAAX,EAAatK,CAAb,EAAeuK,CAAf,CAAF;AAAoB,kBAAM63C,CAAC,GAAC,EAAR;AAAW71C,YAAAA,CAAC,GAAC,CAAF,KAAM61C,CAAC,CAACqoQ,OAAF,GAAUl+S,CAAhB,GAAmB51B,CAAC,GAAC,CAAF,KAAMyrE,CAAC,CAACooQ,OAAF,GAAU7zU,CAAhB,CAAnB;AAAsCy1U,YAAAA,EAAE,CAAC3/S,CAAC,GAAC9B,CAAF,GAAIA,CAAC,GAAC,CAAN,GAAQ8B,CAAC,GAAC,CAAX,EAAalC,CAAb,EAAeA,CAAC,CAAC6yP,mBAAF,CAAsBp9P,CAAtB,CAAf,EAAwCoiD,CAAxC,CAAF;AAA6C;;AAAA,cAAG31C,CAAC,GAAC9B,CAAL,EAAO;AAAC,kBAAML,CAAC,GAACK,CAAC,GAAC8B,CAAV;AAAA,kBAAY21C,CAAC,GAAC,CAAC,GAAG,IAAIgkQ,EAAJ,CAAO75S,CAAP,CAAJ,CAAd;AAAA,kBAA6B;AAACq5S,cAAAA,MAAM,EAACjoK;AAAR,gBAAWv7F,CAAC,CAAC7nE,IAAF,CAAQ,CAAC;AAAC0tU,cAAAA,IAAI,EAACt9S;AAAN,aAAD,KAAYA,CAAC,KAAG3K,CAAxB,CAAxC;AAAA,kBAAoEksL,CAAC,GAAC9pI,CAAC,CAACz4E,MAAF,CAAU,CAAC;AAACs+U,cAAAA,IAAI,EAACt9S,CAAN;AAAQ+9S,cAAAA,SAAS,EAACn+S,CAAlB;AAAoBq7S,cAAAA,MAAM,EAACr5S;AAA3B,aAAD,KAAiC5B,CAAC,KAAG3K,CAAJ,IAAOuM,CAAC,KAAGoxI,CAAX,IAAcpxI,CAAC,GAACoxI,CAAF,IAAKpxI,CAAC,GAAChC,CAAF,GAAIozI,CAAlE,CAAtE;;AAA4I,iBAAI,MAAK;AAACsqK,cAAAA,IAAI,EAACjoT,CAAN;AAAQ0oT,cAAAA,SAAS,EAAC/9S;AAAlB,aAAT,IAAgCuhL,CAAhC,EAAkC3hL,CAAC,CAACmxC,YAAF,CAAe,SAAf,EAAyB/wC,CAAC,GAACL,CAA3B,EAA6BtK,CAA7B;;AAAgC,kBAAM4J,CAAC,GAAC,EAAR;AAAWjzB,YAAAA,CAAC,GAAC,CAAF,KAAMizB,CAAC,CAAC4gT,OAAF,GAAU7zU,CAAhB,GAAmBy1U,EAAE,CAAC9hT,CAAD,EAAGC,CAAH,EAAKA,CAAC,CAAC6yP,mBAAF,CAAsBp9P,CAAtB,CAAL,EAA8B4J,CAA9B,CAArB;AAAsD,kBAAMgtI,CAAC,GAACrqI,CAAC,CAACs1O,YAAF,CAAe,gBAAf,KAAkC,CAA1C;AAA4CjrG,YAAAA,CAAC,GAAC+G,CAAF,IAAK8nK,EAAE,CAAC,gBAAD,EAAkB7uK,CAAC,GAACtsI,CAApB,EAAsBiC,CAAtB,EAAwBhC,CAAxB,CAAP;AAAkC;AAAC,SAA1hB;AAA6hB;;AAAA2/S,MAAAA,qBAAqB,CAAClqT,CAAD,EAAG2K,CAAC,GAAC,CAAL,EAAO;AAAC,cAAMJ,CAAC,GAAC,KAAKy3E,MAAL,CAAYzlG,KAApB;AAAA,cAA0BgwB,CAAC,GAACvM,CAAC,CAACmhD,MAA9B;AAAA,cAAqCxqE,CAAC,GAAC41B,CAAC,CAAC40C,MAAzC;AAAA,cAAgD10C,CAAC,GAAC91B,CAAC,CAACo2Q,aAAF,CAAgBxgP,CAAhB,CAAlD;AAAA,cAAqEjC,CAAC,GAAC1G,QAAQ,CAAC5D,CAAC,CAAC6hP,YAAF,CAAe,SAAf,KAA2B,GAA5B,CAA/E;AAAA,cAAgHz/L,CAAC,GAACx+C,QAAQ,CAAC5D,CAAC,CAAC6hP,YAAF,CAAe,SAAf,KAA2B,GAA5B,CAA1H;AAA2Jt3O,QAAAA,CAAC,CAACm3K,MAAF,CAAUn3K,CAAC,IAAE;AAAC,cAAGD,CAAC,GAAC,CAAL,EAAO;AAAC,kBAAMiC,CAAC,GAAC,CAAC,GAAG,IAAI65S,EAAJ,CAAOzvU,CAAP,EAAS;AAAC8vU,cAAAA,QAAQ,EAACh6S,CAAV;AAAYk6S,cAAAA,MAAM,EAACl6S,CAAC,GAACnC,CAAF,GAAI,CAAvB;AAAyB28S,cAAAA,eAAe,EAAC,CAAC;AAA1C,aAAT,CAAJ,CAAR;AAAA,kBAAoE;AAACuF,cAAAA,YAAY,EAAC7uK,CAAd;AAAgB8uK,cAAAA,WAAW,EAACvgI;AAA5B,gBAA+BwgI,EAAE,CAACpiT,CAAD,EAAGK,CAAH,CAArG;AAA2G86S,YAAAA,EAAE,CAAC,SAAD,EAAWv5H,CAAX,EAAalsL,CAAb,EAAeuK,CAAf,CAAF;AAAoB,kBAAK;AAACq7S,cAAAA,MAAM,EAACh8S;AAAR,gBAAW2C,CAAC,CAAChyB,IAAF,CAAQ,CAAC;AAAC0tU,cAAAA,IAAI,EAACt9S;AAAN,aAAD,KAAYA,CAAC,KAAG3K,CAAxB,CAAhB;AAAA,kBAA4C42I,CAAC,GAAC,EAA9C;AAAiD+G,YAAAA,CAAC,GAAC,CAAF,KAAM/G,CAAC,CAAC4zK,OAAF,GAAU7sK,CAAhB,GAAmBv7F,CAAC,GAAC,CAAF,KAAMw0F,CAAC,CAAC6zK,OAAF,GAAUroQ,CAAhB,CAAnB;;AAAsC,iBAAI,MAAMpiD,CAAV,IAAeuM,CAAf,EAAiB;AAAC,oBAAK;AAACq5S,gBAAAA,MAAM,EAACj7S,CAAR;AAAU67S,gBAAAA,GAAG,EAACj6S;AAAd,kBAAiBvM,CAAtB;AAAwBuM,cAAAA,CAAC,IAAEE,CAAC,GAACy/K,CAAL,IAAQvhL,CAAC,KAAGf,CAAZ,IAAe,CAAC2C,CAAC,GAACE,CAAF,GAAIy/K,CAAL,IAAQvuC,CAAR,IAAW,CAA1B,IAA6ByuK,EAAE,CAAC,CAAD,EAAG7hT,CAAH,EAAKvK,CAAC,CAAC6oT,iBAAF,EAAL,EAA2BjyK,CAA3B,CAA/B;AAA6D;AAAC;;AAAA,cAAGtsI,CAAC,GAACK,CAAL,EAAO;AAAC,kBAAM4B,CAAC,GAAC5B,CAAC,GAACL,CAAV;AAAA,kBAAYqzI,CAAC,GAAC,CAAC,GAAG,IAAIyoK,EAAJ,CAAOzvU,CAAP,EAAS;AAAC8vU,cAAAA,QAAQ,EAAC,CAAV;AAAYE,cAAAA,MAAM,EAACl6S;AAAnB,aAAT,CAAJ,CAAd;;AAAmD,iBAAI,MAAK;AAACw7S,cAAAA,IAAI,EAACt9S,CAAN;AAAQg+S,cAAAA,UAAU,EAAChyU,CAAnB;AAAqB6vU,cAAAA,GAAG,EAACl8S;AAAzB,aAAT,IAAuCqzI,CAAvC,EAAyC,IAAGhzI,CAAC,KAAG3K,CAAJ,IAAOsK,CAAC,GAAC3zB,CAAF,GAAI81B,CAAd,EAAgB;AAAC,oBAAMzM,CAAC,GAACrpB,CAAC,GAAC41B,CAAV;AAAYhC,cAAAA,CAAC,CAACmxC,YAAF,CAAe,SAAf,EAAyB17C,CAAzB,EAA2B2K,CAA3B;AAA8B;;AAAA,kBAAMuhL,CAAC,GAAC,EAAR;AAAW9pI,YAAAA,CAAC,GAAC,CAAF,KAAM8pI,CAAC,CAACu+H,OAAF,GAAUroQ,CAAhB,GAAmB+pQ,EAAE,CAAC5hT,CAAD,EAAG5zB,CAAH,EAAK81B,CAAC,GAAC,CAAP,EAASF,CAAT,EAAW,CAAX,EAAa2/K,CAAb,CAArB;AAAqC,kBAAMtiL,CAAC,GAACjzB,CAAC,CAACkrQ,YAAF,CAAe,aAAf,KAA+B,CAAvC;AAAyCj4O,YAAAA,CAAC,GAAC6C,CAAF,IAAKg5S,EAAE,CAAC,aAAD,EAAe77S,CAAC,GAAC2C,CAAjB,EAAmB51B,CAAnB,EAAqB4zB,CAArB,CAAP;AAA+B;AAAC,SAA5mB;AAA+mB;;AAAAsgT,MAAAA,UAAU,CAAC7qT,CAAD,EAAG;AAAC,eAAM,CAAC,GAAGA,CAAC,CAAC6sP,QAAF,CAAW,CAAX,EAAc7oK,WAAd,EAAJ,EAAiC7M,MAAjC,CAAyC,CAACn3E,CAAD,EAAG2K,CAAH,KAAO3K,CAAC,GAAC4D,QAAQ,CAAC+G,CAAC,CAACk3O,YAAF,CAAe,SAAf,KAA2B,GAA5B,CAA1D,EAA4F,CAA5F,CAAN;AAAqG;;AAAAknE,MAAAA,OAAO,CAAC/oT,CAAD,EAAG;AAAC,eAAOmF,KAAK,CAAC7H,IAAN,CAAW0C,CAAC,CAACgkF,WAAF,EAAX,EAA4B7M,MAA5B,CAAoC,CAACn3E,CAAD,EAAG2K,CAAH,KAAOA,CAAC,CAACkgF,EAAF,CAAK,SAAL,EAAe,UAAf,IAA2B7qF,CAAC,GAAC,CAA7B,GAA+BA,CAA1E,EAA6E,CAA7E,CAAP;AAAuF;;AAAA2sT,MAAAA,iBAAiB,CAAC3sT,CAAD,EAAG2K,CAAC,GAAC,EAAL,EAAQ;AAAC,eAAO,IAAIy7S,EAAJ,CAAOpmT,CAAP,EAAS2K,CAAT,CAAP;AAAmB;;AAAAiiT,MAAAA,qBAAqB,CAAC5sT,CAAD,EAAG;AAAC,cAAM2K,CAAC,GAAC,EAAR;;AAAW,aAAI,MAAMJ,CAAV,IAAe,KAAKsiT,UAAL,CAAgB7sT,CAAC,CAACu3P,SAAF,EAAhB,CAAf,EAA8C;AAAC,gBAAMv3P,CAAC,GAACuK,CAAC,CAACksP,mBAAF,EAAR;AAAgCz2P,UAAAA,CAAC,IAAEA,CAAC,CAAC6qF,EAAF,CAAK,SAAL,EAAe,WAAf,CAAH,IAAgClgF,CAAC,CAAC1E,IAAF,CAAOjG,CAAP,CAAhC;AAA0C;;AAAA,eAAO2K,CAAP;AAAS;;AAAA8gT,MAAAA,gCAAgC,CAACzrT,CAAD,EAAG;AAAC,cAAM2K,CAAC,GAAC,EAAR;;AAAW,aAAI,MAAMJ,CAAV,IAAevK,CAAC,CAACu3P,SAAF,EAAf,EAA6B;AAAC,gBAAMv3P,CAAC,GAACuK,CAAC,CAACk8E,KAAF,CAAQ4sK,YAAR,CAAqB,WAArB,CAAR;AAA0CrzP,UAAAA,CAAC,IAAE2K,CAAC,CAAC1E,IAAF,CAAOjG,CAAP,CAAH;AAAa;;AAAA,eAAO2K,CAAP;AAAS;;AAAA8+S,MAAAA,8BAA8B,CAACzpT,CAAD,EAAG;AAAC,cAAM2K,CAAC,GAAC,KAAKiiT,qBAAL,CAA2B5sT,CAA3B,CAAR;AAAsC,eAAO2K,CAAC,CAACh+B,MAAF,GAASg+B,CAAT,GAAW,KAAK8gT,gCAAL,CAAsCzrT,CAAtC,CAAlB;AAA2D;;AAAA0pT,MAAAA,aAAa,CAAC1pT,CAAD,EAAG;AAAC,cAAM2K,CAAC,GAAC3K,CAAC,CAACx2B,GAAF,CAAOw2B,CAAC,IAAEA,CAAC,CAACmhD,MAAF,CAAS3/B,KAAnB,CAAR;AAAmC,eAAO,KAAKsrS,0BAAL,CAAgCniT,CAAhC,CAAP;AAA0C;;AAAAm/S,MAAAA,gBAAgB,CAAC9pT,CAAD,EAAG;AAAC,cAAM2K,CAAC,GAAC3K,CAAC,CAAC,CAAD,CAAD,CAAKqzP,YAAL,CAAkB,OAAlB,CAAR;AAAA,cAAmC9oP,CAAC,GAAC,CAAC,GAAG,IAAI67S,EAAJ,CAAOz7S,CAAP,CAAJ,EAAehhC,MAAf,CAAuBghC,CAAC,IAAE3K,CAAC,CAAC7zB,QAAF,CAAWw+B,CAAC,CAACs9S,IAAb,CAA1B,EAA+Cz+U,GAA/C,CAAoDw2B,CAAC,IAAEA,CAAC,CAAC4lT,MAAzD,CAArC;AAAuG,eAAO,KAAKkH,0BAAL,CAAgCviT,CAAhC,CAAP;AAA0C;;AAAAwiT,MAAAA,sBAAsB,CAAC/sT,CAAD,EAAG;AAAC,YAAGA,CAAC,CAACrzB,MAAF,GAAS,CAAT,IAAY,CAAC,KAAKqgV,6BAAL,CAAmChtT,CAAnC,CAAhB,EAAsD,OAAM,CAAC,CAAP;AAAS,cAAM2K,CAAC,GAAC,IAAIknE,GAAJ,EAAR;AAAA,cAAgBtnE,CAAC,GAAC,IAAIsnE,GAAJ,EAAlB;AAA0B,YAAItlE,CAAC,GAAC,CAAN;;AAAQ,aAAI,MAAM51B,CAAV,IAAeqpB,CAAf,EAAiB;AAAC,gBAAK;AAACwmT,YAAAA,GAAG,EAACxmT,CAAL;AAAO4lT,YAAAA,MAAM,EAACn5S;AAAd,cAAiB,KAAKo5S,eAAL,CAAqBlvU,CAArB,CAAtB;AAAA,gBAA8C2zB,CAAC,GAAC1G,QAAQ,CAACjtB,CAAC,CAACkrQ,YAAF,CAAe,SAAf,CAAD,CAAR,IAAqC,CAArF;AAAA,gBAAuFz/L,CAAC,GAACx+C,QAAQ,CAACjtB,CAAC,CAACkrQ,YAAF,CAAe,SAAf,CAAD,CAAR,IAAqC,CAA9H;AAAgIl3O,UAAAA,CAAC,CAAC/V,GAAF,CAAMoL,CAAN,GAASuK,CAAC,CAAC3V,GAAF,CAAM6X,CAAN,CAAT,EAAkBnC,CAAC,GAAC,CAAF,IAAKK,CAAC,CAAC/V,GAAF,CAAMoL,CAAC,GAACsK,CAAF,GAAI,CAAV,CAAvB,EAAoC83C,CAAC,GAAC,CAAF,IAAK73C,CAAC,CAAC3V,GAAF,CAAM6X,CAAC,GAAC21C,CAAF,GAAI,CAAV,CAAzC,EAAsD71C,CAAC,IAAEjC,CAAC,GAAC83C,CAA3D;AAA6D;;AAAA,cAAMzrE,CAAC,GAAC,UAASqpB,CAAT,EAAW2K,CAAX,EAAa;AAAC,gBAAMJ,CAAC,GAACpF,KAAK,CAAC7H,IAAN,CAAW0C,CAAC,CAACqhB,MAAF,EAAX,CAAR;AAAA,gBAA+B9U,CAAC,GAACpH,KAAK,CAAC7H,IAAN,CAAWqN,CAAC,CAAC0W,MAAF,EAAX,CAAjC;AAAA,gBAAwD1qC,CAAC,GAACulD,IAAI,CAAC1qC,GAAL,CAAS,GAAG+Y,CAAZ,CAA1D;AAAA,gBAAyEkC,CAAC,GAACyvB,IAAI,CAACzqC,GAAL,CAAS,GAAG8Y,CAAZ,CAA3E;AAAA,gBAA0FD,CAAC,GAAC4xB,IAAI,CAAC1qC,GAAL,CAAS,GAAG+a,CAAZ,CAA5F;AAAA,gBAA2G61C,CAAC,GAAClmB,IAAI,CAACzqC,GAAL,CAAS,GAAG8a,CAAZ,CAA7G;AAA4H,iBAAM,CAAC51B,CAAC,GAAC81B,CAAF,GAAI,CAAL,KAASnC,CAAC,GAAC83C,CAAF,GAAI,CAAb,CAAN;AAAsB,SAAhK,CAAiKz3C,CAAjK,EAAmKJ,CAAnK,CAAR;;AAA8K,eAAO5zB,CAAC,IAAE41B,CAAV;AAAY;;AAAAsgT,MAAAA,UAAU,CAAC7sT,CAAD,EAAG;AAAC,eAAOmF,KAAK,CAAC7H,IAAN,CAAW0C,CAAX,EAAc6gD,IAAd,CAAmBosQ,EAAnB,CAAP;AAA8B;;AAAAH,MAAAA,0BAA0B,CAAC9sT,CAAD,EAAG;AAAC,cAAM2K,CAAC,GAAC3K,CAAC,CAAC6gD,IAAF,CAAQ,CAAC7gD,CAAD,EAAG2K,CAAH,KAAO3K,CAAC,GAAC2K,CAAjB,CAAR;AAA6B,eAAM;AAACmyO,UAAAA,KAAK,EAACnyO,CAAC,CAAC,CAAD,CAAR;AAAY62K,UAAAA,IAAI,EAAC72K,CAAC,CAACA,CAAC,CAACh+B,MAAF,GAAS,CAAV;AAAlB,SAAN;AAAsC;;AAAAqgV,MAAAA,6BAA6B,CAAChtT,CAAD,EAAG;AAAC,cAAM2K,CAAC,GAAC3K,CAAC,CAAC,CAAD,CAAD,CAAKqzP,YAAL,CAAkB,OAAlB,CAAR;AAAA,cAAmC9oP,CAAC,GAAC,KAAKm/S,aAAL,CAAmB1pT,CAAnB,CAArC;AAAA,cAA2DuM,CAAC,GAAC3I,QAAQ,CAAC+G,CAAC,CAACk3O,YAAF,CAAe,aAAf,CAAD,CAAR,IAAyC,CAAtG;AAAwG,YAAG,CAAC,KAAKqrE,wBAAL,CAA8B3iT,CAA9B,EAAgCgC,CAAhC,CAAJ,EAAuC,OAAM,CAAC,CAAP;AAAS,cAAM51B,CAAC,GAAC,KAAKmzU,gBAAL,CAAsB9pT,CAAtB,CAAR;AAAA,cAAiCyM,CAAC,GAAC7I,QAAQ,CAAC+G,CAAC,CAACk3O,YAAF,CAAe,gBAAf,CAAD,CAAR,IAA4C,CAA/E;AAAiF,eAAO,KAAKqrE,wBAAL,CAA8Bv2U,CAA9B,EAAgC81B,CAAhC,CAAP;AAA0C;;AAAAygT,MAAAA,wBAAwB,CAAC;AAACpwE,QAAAA,KAAK,EAAC98O,CAAP;AAASwhL,QAAAA,IAAI,EAAC72K;AAAd,OAAD,EAAkBJ,CAAlB,EAAoB;AAAC,eAAOvK,CAAC,GAACuK,CAAF,KAAMI,CAAC,GAACJ,CAAf;AAAiB;;AAA9gO;;AAA+gO,aAAS4hT,EAAT,CAAYnsT,CAAZ,EAAc2K,CAAd,EAAgBJ,CAAhB,EAAkBgC,CAAlB,EAAoB51B,CAApB,EAAsB81B,CAAC,GAAC,EAAxB,EAA2B;AAAC,WAAI,IAAInC,CAAC,GAAC,CAAV,EAAYA,CAAC,GAACiC,CAAd,EAAgBjC,CAAC,EAAjB,EAAoB;AAAC,cAAMiC,CAAC,GAACvM,CAAC,CAAC6G,aAAF,CAAgB,UAAhB,CAAR;AAAoC7G,QAAAA,CAAC,CAACsmF,MAAF,CAAS/5E,CAAT,EAAW5B,CAAX,EAAaJ,CAAb,GAAgB6hT,EAAE,CAACz1U,CAAD,EAAGqpB,CAAH,EAAKA,CAAC,CAACm9P,gBAAF,CAAmB5wP,CAAnB,EAAqB,KAArB,CAAL,EAAiCE,CAAjC,CAAlB;AAAsD;AAAC;;AAAA,aAAS2/S,EAAT,CAAYpsT,CAAZ,EAAc2K,CAAd,EAAgBJ,CAAhB,EAAkBgC,CAAC,GAAC,EAApB,EAAuB;AAAC,WAAI,IAAI51B,CAAC,GAAC,CAAV,EAAYA,CAAC,GAACqpB,CAAd,EAAgBrpB,CAAC,EAAjB,EAAoB+uU,EAAE,CAAC/6S,CAAD,EAAGJ,CAAH,EAAKgC,CAAL,CAAF;AAAU;;AAAA,aAASmgT,EAAT,CAAY1sT,CAAZ,EAAc2K,CAAd,EAAgB;AAAC,UAAG3K,CAAC,GAAC2K,CAAL,EAAO,OAAM;AAAC6hT,QAAAA,YAAY,EAAC,CAAd;AAAgBC,QAAAA,WAAW,EAAC;AAA5B,OAAN;AAAqC,YAAMliT,CAAC,GAAC2xB,IAAI,CAACkwC,KAAL,CAAWpsE,CAAC,GAAC2K,CAAb,CAAR;AAAwB,aAAM;AAAC6hT,QAAAA,YAAY,EAACjiT,CAAd;AAAgBkiT,QAAAA,WAAW,EAACzsT,CAAC,GAACuK,CAAC,GAACI,CAAJ,GAAMJ;AAAlC,OAAN;AAA2C;;AAAA,aAAS0iT,EAAT,CAAYjtT,CAAZ,EAAc2K,CAAd,EAAgB;AAAC,YAAMJ,CAAC,GAACvK,CAAC,CAACymF,KAAV;AAAA,YAAgBl6E,CAAC,GAAC5B,CAAC,CAAC87E,KAApB;AAA0B,aAAOl8E,CAAC,CAAC3U,QAAF,CAAW2W,CAAX,IAAc,CAAC,CAAf,GAAiB,CAAxB;AAA0B;;AAAA,UAAM4gT,EAAN,SAAiBxjE,EAAjB,CAAmB;AAACE,MAAAA,OAAO,GAAE;AAAC,cAAM7pP,CAAC,GAAC,KAAKgiF,MAAL,CAAYyB,OAAZ,CAAoBhjH,GAApB,CAAwByrV,EAAxB,CAAR;AAAA,cAAoCvhT,CAAC,GAAC3K,CAAC,CAAC4sT,qBAAF,CAAwB,KAAK5qO,MAAL,CAAYzlG,KAAZ,CAAkBmlB,QAAlB,CAA2BooP,SAAnD,CAAtC;AAAoG,aAAKzvH,SAAL,GAAer6H,CAAC,CAAC+sT,sBAAF,CAAyBpiT,CAAzB,CAAf;AAA2C;;AAAAw/O,MAAAA,OAAO,GAAE;AAAC,cAAMnqP,CAAC,GAAC,KAAKgiF,MAAL,CAAYzlG,KAApB;AAAA,cAA0BouB,CAAC,GAAC,KAAKq3E,MAAL,CAAYyB,OAAZ,CAAoBhjH,GAApB,CAAwByrV,EAAxB,CAA5B;AAAwDlsT,QAAAA,CAAC,CAAC0hL,MAAF,CAAUn3K,CAAC,IAAE;AAAC,gBAAMgC,CAAC,GAAC5B,CAAC,CAACiiT,qBAAF,CAAwB5sT,CAAC,CAAC0B,QAAF,CAAWooP,SAAnC,CAAR;AAAA,gBAAsDnzQ,CAAC,GAAC41B,CAAC,CAAC4xC,KAAF,EAAxD;AAAA,gBAAkE;AAACivQ,YAAAA,UAAU,EAAC3gT,CAAZ;AAAc4gT,YAAAA,WAAW,EAAC/iT;AAA1B,cAA6B,UAAStK,CAAT,EAAW2K,CAAX,EAAaJ,CAAb,EAAe;AAAC,gBAAIgC,CAAC,GAAC,CAAN;AAAA,gBAAQ51B,CAAC,GAAC,CAAV;;AAAY,iBAAI,MAAMqpB,CAAV,IAAe2K,CAAf,EAAiB;AAAC,oBAAK;AAAC67S,gBAAAA,GAAG,EAAC77S,CAAL;AAAOi7S,gBAAAA,MAAM,EAACn5S;AAAd,kBAAiBlC,CAAC,CAACs7S,eAAF,CAAkB7lT,CAAlB,CAAtB;AAA2CuM,cAAAA,CAAC,GAAC+gT,EAAE,CAACttT,CAAD,EAAGyM,CAAH,EAAKF,CAAL,EAAO,SAAP,CAAJ,EAAsB51B,CAAC,GAAC22U,EAAE,CAACttT,CAAD,EAAG2K,CAAH,EAAKh0B,CAAL,EAAO,SAAP,CAA1B;AAA4C;;AAAA,kBAAK;AAAC6vU,cAAAA,GAAG,EAAC/5S,CAAL;AAAOm5S,cAAAA,MAAM,EAACt7S;AAAd,gBAAiBC,CAAC,CAACs7S,eAAF,CAAkB7lT,CAAlB,CAAtB;AAAA,kBAA2CoiD,CAAC,GAAC71C,CAAC,GAACjC,CAA/C;AAAA,kBAAiDqzI,CAAC,GAAChnK,CAAC,GAAC81B,CAArD;AAAuD,mBAAM;AAAC2gT,cAAAA,UAAU,EAAChrQ,CAAZ;AAAcirQ,cAAAA,WAAW,EAAC1vK;AAA1B,aAAN;AAAmC,WAA/N,CAAgOhnK,CAAhO,EAAkO41B,CAAlO,EAAoO5B,CAApO,CAA/F;;AAAsU86S,UAAAA,EAAE,CAAC,SAAD,EAAWh5S,CAAX,EAAa91B,CAAb,EAAe4zB,CAAf,CAAF,EAAoBk7S,EAAE,CAAC,SAAD,EAAWn7S,CAAX,EAAa3zB,CAAb,EAAe4zB,CAAf,CAAtB;;AAAwC,eAAI,MAAMvK,CAAV,IAAeuM,CAAf,EAAiBghT,EAAE,CAACvtT,CAAD,EAAGrpB,CAAH,EAAK4zB,CAAL,CAAF;;AAAU2/K,UAAAA,EAAE,CAACvzM,CAAC,CAAC08Q,YAAF,CAAe,OAAf,CAAD,EAAyB1oP,CAAzB,CAAF,EAA8BJ,CAAC,CAAC4wP,YAAF,CAAexkR,CAAf,EAAiB,IAAjB,CAA9B;AAAqD,SAA5c;AAA+c;;AAA3qB;;AAA4qB,aAAS42U,EAAT,CAAYvtT,CAAZ,EAAc2K,CAAd,EAAgBJ,CAAhB,EAAkB;AAACijT,MAAAA,EAAE,CAACxtT,CAAD,CAAF,KAAQwtT,EAAE,CAAC7iT,CAAD,CAAF,IAAOJ,CAAC,CAAC01E,MAAF,CAAS11E,CAAC,CAACgzP,aAAF,CAAgB5yP,CAAhB,CAAT,CAAP,EAAoCJ,CAAC,CAAC6xP,IAAF,CAAO7xP,CAAC,CAACgzP,aAAF,CAAgBv9P,CAAhB,CAAP,EAA0BuK,CAAC,CAAC4yP,gBAAF,CAAmBxyP,CAAnB,EAAqB,KAArB,CAA1B,CAA5C,GAAoGJ,CAAC,CAAC01E,MAAF,CAASjgF,CAAT,CAApG;AAAgH;;AAAA,aAASwtT,EAAT,CAAYxtT,CAAZ,EAAc;AAAC,YAAM2K,CAAC,GAAC3K,CAAC,CAAC6sP,QAAF,CAAW,CAAX,CAAR;AAAsB,aAAO,KAAG7sP,CAAC,CAAC0sP,UAAL,IAAiB/hP,CAAC,CAACkgF,EAAF,CAAK,SAAL,EAAe,WAAf,CAAjB,IAA8ClgF,CAAC,CAAC0L,OAAvD;AAA+D;;AAAA,aAASi3S,EAAT,CAAYttT,CAAZ,EAAc2K,CAAd,EAAgBJ,CAAhB,EAAkBgC,CAAlB,EAAoB;AAAC,YAAM51B,CAAC,GAACitB,QAAQ,CAAC5D,CAAC,CAAC6hP,YAAF,CAAet1O,CAAf,KAAmB,GAApB,CAAhB;AAAyC,aAAO2vB,IAAI,CAAC1qC,GAAL,CAAS+Y,CAAT,EAAWI,CAAC,GAACh0B,CAAb,CAAP;AAAuB;;AAAA,UAAM82U,EAAN,SAAiB9jE,EAAjB,CAAmB;AAAClqR,MAAAA,WAAW,CAACugC,CAAD,EAAG;AAAC,cAAMA,CAAN,GAAS,KAAK2kF,WAAL,GAAiB,CAAC,CAA3B;AAA6B;;AAAAklK,MAAAA,OAAO,GAAE;AAAC,cAAM7pP,CAAC,GAAC,KAAKgiF,MAAL,CAAYyB,OAAZ,CAAoBhjH,GAApB,CAAwB,YAAxB,EAAsCgpV,8BAAtC,CAAqE,KAAKznO,MAAL,CAAYzlG,KAAZ,CAAkBmlB,QAAlB,CAA2BooP,SAAhG,CAAR;AAAmH,aAAKzvH,SAAL,GAAer6H,CAAC,CAACrzB,MAAF,GAAS,CAAxB;AAA0B;;AAAAw9Q,MAAAA,OAAO,GAAE;AAAC,cAAMnqP,CAAC,GAAC,KAAKgiF,MAAL,CAAYzlG,KAApB;AAAA,cAA0BouB,CAAC,GAAC,KAAKq3E,MAAL,CAAYyB,OAAZ,CAAoBhjH,GAApB,CAAwB,YAAxB,CAA5B;AAAA,cAAkE8pC,CAAC,GAACI,CAAC,CAAC8+S,8BAAF,CAAiCzpT,CAAC,CAAC0B,QAAF,CAAWooP,SAA5C,CAApE;AAAA,cAA2Hv9O,CAAC,GAAC5B,CAAC,CAAC++S,aAAF,CAAgBn/S,CAAhB,CAA7H;AAAA,cAAgJ5zB,CAAC,GAAC4zB,CAAC,CAAC,CAAD,CAAD,CAAK8oP,YAAL,CAAkB,OAAlB,CAAlJ;AAAA,cAA6K5mP,CAAC,GAAC,EAA/K;;AAAkL,aAAI,IAAI9B,CAAC,GAAC4B,CAAC,CAACuwO,KAAZ,EAAkBnyO,CAAC,IAAE4B,CAAC,CAACi1K,IAAvB,EAA4B72K,CAAC,EAA7B,EAAgC,KAAI,MAAMJ,CAAV,IAAe5zB,CAAC,CAACk2Q,QAAF,CAAWliP,CAAX,EAAcq5E,WAAd,EAAf,EAA2Cv3E,CAAC,CAACxG,IAAF,CAAOjG,CAAC,CAACs9P,aAAF,CAAgB/yP,CAAhB,CAAP;;AAA2BvK,QAAAA,CAAC,CAAC0hL,MAAF,CAAU1hL,CAAC,IAAE;AAACA,UAAAA,CAAC,CAACm7P,YAAF,CAAe1uP,CAAf;AAAkB,SAAhC;AAAmC;;AAAzgB;;AAA0gB,UAAMihT,EAAN,SAAiB/jE,EAAjB,CAAmB;AAAClqR,MAAAA,WAAW,CAACugC,CAAD,EAAG;AAAC,cAAMA,CAAN,GAAS,KAAK2kF,WAAL,GAAiB,CAAC,CAA3B;AAA6B;;AAAAklK,MAAAA,OAAO,GAAE;AAAC,cAAM7pP,CAAC,GAAC,KAAKgiF,MAAL,CAAYyB,OAAZ,CAAoBhjH,GAApB,CAAwB,YAAxB,EAAsCgpV,8BAAtC,CAAqE,KAAKznO,MAAL,CAAYzlG,KAAZ,CAAkBmlB,QAAlB,CAA2BooP,SAAhG,CAAR;AAAmH,aAAKzvH,SAAL,GAAer6H,CAAC,CAACrzB,MAAF,GAAS,CAAxB;AAA0B;;AAAAw9Q,MAAAA,OAAO,GAAE;AAAC,cAAMnqP,CAAC,GAAC,KAAKgiF,MAAL,CAAYyB,OAAZ,CAAoBhjH,GAApB,CAAwB,YAAxB,CAAR;AAAA,cAA8CkqC,CAAC,GAAC,KAAKq3E,MAAL,CAAYzlG,KAA5D;AAAA,cAAkEguB,CAAC,GAACvK,CAAC,CAACypT,8BAAF,CAAiC9+S,CAAC,CAACjJ,QAAF,CAAWooP,SAA5C,CAApE;AAAA,cAA2Hv9O,CAAC,GAAChC,CAAC,CAAC,CAAD,CAA9H;AAAA,cAAkI5zB,CAAC,GAAC4zB,CAAC,CAAChM,GAAF,EAApI;AAAA,cAA4IkO,CAAC,GAACF,CAAC,CAAC8mP,YAAF,CAAe,OAAf,CAA9I;AAAA,cAAsK/oP,CAAC,GAACtK,CAAC,CAAC6lT,eAAF,CAAkBt5S,CAAlB,CAAxK;AAAA,cAA6L61C,CAAC,GAACpiD,CAAC,CAAC6lT,eAAF,CAAkBlvU,CAAlB,CAA/L;AAAA,cAAoNgnK,CAAC,GAACzhH,IAAI,CAACzqC,GAAL,CAAS6Y,CAAC,CAACs7S,MAAX,EAAkBxjQ,CAAC,CAACwjQ,MAApB,CAAtN;AAAA,cAAkP15H,CAAC,GAAChwJ,IAAI,CAAC1qC,GAAL,CAAS8Y,CAAC,CAACs7S,MAAX,EAAkBxjQ,CAAC,CAACwjQ,MAApB,CAApP;AAAA,cAAgRh8S,CAAC,GAAC,EAAlR;;AAAqR,aAAI,MAAM5J,CAAV,IAAe,IAAIomT,EAAJ,CAAO35S,CAAP,EAAS;AAACo6S,UAAAA,WAAW,EAAClpK,CAAb;AAAeopK,UAAAA,SAAS,EAAC76H;AAAzB,SAAT,CAAf,EAAqDtiL,CAAC,CAAC3D,IAAF,CAAO0E,CAAC,CAAC2yP,aAAF,CAAgBt9P,CAAC,CAACioT,IAAlB,CAAP;;AAAgCt9S,QAAAA,CAAC,CAAC+2K,MAAF,CAAU1hL,CAAC,IAAE;AAACA,UAAAA,CAAC,CAACm7P,YAAF,CAAevxP,CAAf;AAAkB,SAAhC;AAAmC;;AAA3lB;;AAA4lB,aAAS+jT,EAAT,CAAY3tT,CAAZ,EAAc;AAACA,MAAAA,CAAC,CAAC0B,QAAF,CAAW6qP,iBAAX,CAA8B5hP,CAAC,IAAE,UAAS3K,CAAT,EAAW2K,CAAX,EAAa;AAAC,cAAMJ,CAAC,GAACI,CAAC,CAACjJ,QAAF,CAAW24Q,MAAX,CAAkB3E,UAAlB,EAAR;AAAuC,YAAInpQ,CAAC,GAAC,CAAC,CAAP;AAAS,cAAM51B,CAAC,GAAC,IAAIk7F,GAAJ,EAAR;;AAAgB,aAAI,MAAMlnE,CAAV,IAAeJ,CAAf,EAAiB;AAAC,cAAIA,CAAC,GAAC,IAAN;AAAW,sBAAUI,CAAC,CAAC1zB,IAAZ,IAAkB,WAAS0zB,CAAC,CAACn6B,IAA7B,KAAoC+5B,CAAC,GAACI,CAAC,CAAC76B,QAAF,CAAW2lR,SAAjD,GAA4D,YAAU9qP,CAAC,CAAC1zB,IAAZ,IAAkB,YAAU0zB,CAAC,CAAC1zB,IAA9B,IAAoC,cAAY0zB,CAAC,CAACn6B,IAAd,IAAoB,eAAam6B,CAAC,CAACn6B,IAAvE,KAA8E+5B,CAAC,GAACI,CAAC,CAAC76B,QAAF,CAAWujR,YAAX,CAAwB,OAAxB,CAAhF,CAA5D,EAA8Ku6D,EAAE,CAACjjT,CAAD,CAAF,KAAQJ,CAAC,GAACI,CAAC,CAACo8E,KAAF,CAAQN,KAAR,CAAc4sK,YAAd,CAA2B,OAA3B,CAAV,CAA9K,EAA6N9oP,CAAC,IAAE,CAAC5zB,CAAC,CAACm4C,GAAF,CAAMvkB,CAAN,CAAJ,KAAegC,CAAC,GAACshT,EAAE,CAACtjT,CAAD,EAAGvK,CAAH,CAAF,IAASuM,CAAX,EAAaA,CAAC,GAACuhT,EAAE,CAACvjT,CAAD,EAAGvK,CAAH,CAAF,IAASuM,CAAxB,EAA0B51B,CAAC,CAACie,GAAF,CAAM2V,CAAN,CAAzC,CAA7N;AAAgR;;AAAA,eAAOgC,CAAP;AAAS,OAApY,CAAqY5B,CAArY,EAAuY3K,CAAvY,CAAjC;AAA6a;;AAAA,aAAS6tT,EAAT,CAAY7tT,CAAZ,EAAc2K,CAAd,EAAgB;AAAC,UAAIJ,CAAC,GAAC,CAAC,CAAP;;AAAS,YAAMgC,CAAC,GAAC,UAASvM,CAAT,EAAW;AAAC,cAAM2K,CAAC,GAAC/G,QAAQ,CAAC5D,CAAC,CAAC6hP,YAAF,CAAe,aAAf,KAA+B,GAAhC,CAAhB;AAAA,cAAqDt3O,CAAC,GAACpF,KAAK,CAAC7H,IAAN,CAAW0C,CAAC,CAACgkF,WAAF,EAAX,EAA4B7M,MAA5B,CAAoC,CAACn3E,CAAD,EAAG2K,CAAH,KAAOA,CAAC,CAACkgF,EAAF,CAAK,SAAL,EAAe,UAAf,IAA2B7qF,CAAC,GAAC,CAA7B,GAA+BA,CAA1E,EAA6E,CAA7E,CAAvD;AAAA,cAAuIuM,CAAC,GAAC,EAAzI;;AAA4I,aAAI,MAAK;AAACi6S,UAAAA,GAAG,EAAC7vU,CAAL;AAAOsxU,UAAAA,IAAI,EAACx7S,CAAZ;AAAck8S,UAAAA,UAAU,EAACr+S;AAAzB,SAAT,IAAuC,IAAI87S,EAAJ,CAAOpmT,CAAP,CAAvC,EAAiD;AAAC,cAAGsK,CAAC,GAAC,CAAL,EAAO;AAAS,gBAAMtK,CAAC,GAACrpB,CAAC,GAACg0B,CAAF,GAAIA,CAAJ,GAAMJ,CAAd;;AAAgB,cAAG5zB,CAAC,GAAC2zB,CAAF,GAAItK,CAAP,EAAS;AAAC,kBAAM2K,CAAC,GAAC3K,CAAC,GAACrpB,CAAV;AAAY41B,YAAAA,CAAC,CAACtG,IAAF,CAAO;AAACgiT,cAAAA,IAAI,EAACx7S,CAAN;AAAQ+9S,cAAAA,OAAO,EAAC7/S;AAAhB,aAAP;AAA2B;AAAC;;AAAA,eAAO4B,CAAP;AAAS,OAArS,CAAsSvM,CAAtS,CAAR;;AAAiT,UAAGuM,CAAC,CAAC5/B,MAAL,EAAY;AAAC49B,QAAAA,CAAC,GAAC,CAAC,CAAH;;AAAK,aAAI,MAAMvK,CAAV,IAAeuM,CAAf,EAAiBk5S,EAAE,CAAC,SAAD,EAAWzlT,CAAC,CAACwqT,OAAb,EAAqBxqT,CAAC,CAACioT,IAAvB,EAA4Bt9S,CAA5B,EAA8B,CAA9B,CAAF;AAAmC;;AAAA,aAAOJ,CAAP;AAAS;;AAAA,aAASujT,EAAT,CAAY9tT,CAAZ,EAAc2K,CAAd,EAAgB;AAAC,UAAIJ,CAAC,GAAC,CAAC,CAAP;;AAAS,YAAMgC,CAAC,GAAC,UAASvM,CAAT,EAAW;AAAC,cAAM2K,CAAC,GAAC,IAAIxF,KAAJ,CAAUnF,CAAC,CAAC0sP,UAAZ,EAAwB9nB,IAAxB,CAA6B,CAA7B,CAAR;;AAAwC,aAAI,MAAK;AAACgkF,UAAAA,QAAQ,EAACr+S;AAAV,SAAT,IAAwB,IAAI67S,EAAJ,CAAOpmT,CAAP,EAAS;AAACinT,UAAAA,eAAe,EAAC,CAAC;AAAlB,SAAT,CAAxB,EAAuDt8S,CAAC,CAACJ,CAAD,CAAD;;AAAO,eAAOI,CAAP;AAAS,OAA3H,CAA4H3K,CAA5H,CAAR;AAAA,YAAuIrpB,CAAC,GAAC,EAAzI;;AAA4I,WAAI,MAAK,CAACg0B,CAAD,EAAGJ,CAAH,CAAT,IAAiBgC,CAAC,CAACi2E,OAAF,EAAjB,EAA6B,CAACj4E,CAAD,IAAIvK,CAAC,CAAC6sP,QAAF,CAAWliP,CAAX,EAAckgF,EAAd,CAAiB,SAAjB,EAA2B,UAA3B,CAAJ,IAA4Cl0G,CAAC,CAACsvB,IAAF,CAAO0E,CAAP,CAA5C;;AAAsD,UAAGh0B,CAAC,CAAChK,MAAL,EAAY;AAAC49B,QAAAA,CAAC,GAAC,CAAC,CAAH;;AAAK,aAAI,MAAMA,CAAV,IAAe5zB,CAAC,CAAC44H,OAAF,EAAf,EAA2B5kG,CAAC,CAACs1E,MAAF,CAASjgF,CAAC,CAAC6sP,QAAF,CAAWtiP,CAAX,CAAT,GAAwBgC,CAAC,CAAC42F,MAAF,CAAS54F,CAAT,EAAW,CAAX,CAAxB;AAAsC;;AAAA,YAAMkC,CAAC,GAACF,CAAC,CAAC5iC,MAAF,CAAU,CAACghC,CAAD,EAAGJ,CAAH,KAAOvK,CAAC,CAAC6sP,QAAF,CAAWtiP,CAAX,EAAcsgF,EAAd,CAAiB,SAAjB,EAA2B,UAA3B,CAAjB,CAAR;AAAA,YAAkEvgF,CAAC,GAACmC,CAAC,CAAC,CAAD,CAArE;;AAAyE,UAAG,CAACA,CAAC,CAAC2lE,KAAF,CAASpyE,CAAC,IAAEA,CAAC,KAAGsK,CAAhB,CAAJ,EAAwB;AAAC,cAAMiC,CAAC,GAACE,CAAC,CAAC0qE,MAAF,CAAU,CAACn3E,CAAD,EAAG2K,CAAH,KAAOA,CAAC,GAAC3K,CAAF,GAAI2K,CAAJ,GAAM3K,CAAvB,EAA0B,CAA1B,CAAR;;AAAqC,aAAI,MAAK,CAACrpB,CAAD,EAAG2zB,CAAH,CAAT,IAAiBmC,CAAC,CAAC+1E,OAAF,EAAjB,EAA6B;AAAC,gBAAM/1E,CAAC,GAACF,CAAC,GAACjC,CAAV;;AAAY,cAAGmC,CAAH,EAAK;AAAC,iBAAI,IAAIlC,CAAC,GAAC,CAAV,EAAYA,CAAC,GAACkC,CAAd,EAAgBlC,CAAC,EAAjB,EAAoBm7S,EAAE,CAAC/6S,CAAD,EAAGA,CAAC,CAACwyP,gBAAF,CAAmBn9P,CAAC,CAAC6sP,QAAF,CAAWl2Q,CAAX,CAAnB,EAAiC,KAAjC,CAAH,CAAF;;AAA8C4zB,YAAAA,CAAC,GAAC,CAAC,CAAH;AAAK;AAAC;AAAC;;AAAA,aAAOA,CAAP;AAAS;;AAAA,aAASqjT,EAAT,CAAY5tT,CAAZ,EAAc;AAAC,UAAG,gBAAcA,CAAC,CAAC/oB,IAAnB,EAAwB,OAAM,CAAC,CAAP;AAAS,YAAM0zB,CAAC,GAAC3K,CAAC,CAAC+1Q,YAAV;AAAuB,aAAM,kBAAgBprQ,CAAhB,IAAmB,cAAYA,CAA/B,IAAkC,cAAYA,CAApD;AAAsD;;AAAA,aAASojT,EAAT,CAAY/tT,CAAZ,EAAc;AAACA,MAAAA,CAAC,CAAC0B,QAAF,CAAW6qP,iBAAX,CAA8B5hP,CAAC,IAAE,UAAS3K,CAAT,EAAW2K,CAAX,EAAa;AAAC,cAAMJ,CAAC,GAACI,CAAC,CAACjJ,QAAF,CAAW24Q,MAAX,CAAkB3E,UAAlB,EAAR;AAAuC,YAAInpQ,CAAC,GAAC,CAAC,CAAP;;AAAS,aAAI,MAAM5B,CAAV,IAAeJ,CAAf,EAAiB,YAAUI,CAAC,CAAC1zB,IAAZ,IAAkB,WAAS0zB,CAAC,CAACn6B,IAA7B,KAAoC+7B,CAAC,GAACyhT,EAAE,CAACrjT,CAAC,CAAC76B,QAAF,CAAW2lR,SAAZ,EAAsBz1P,CAAtB,CAAF,IAA4BuM,CAAlE,GAAqE,YAAU5B,CAAC,CAAC1zB,IAAZ,IAAkB,cAAY0zB,CAAC,CAACn6B,IAAhC,KAAuC+7B,CAAC,GAAC0hT,EAAE,CAACtjT,CAAC,CAAC76B,QAAF,CAAW2lR,SAAZ,EAAsBz1P,CAAtB,CAAF,IAA4BuM,CAArE,CAArE,EAA6I,YAAU5B,CAAC,CAAC1zB,IAAZ,IAAkB,eAAa0zB,CAAC,CAACn6B,IAAjC,KAAwC+7B,CAAC,GAAC2hT,EAAE,CAACvjT,CAAC,CAAC76B,QAAF,CAAW2lR,SAAZ,EAAsBz1P,CAAtB,CAAF,IAA4BuM,CAAtE,CAA7I,EAAsN,YAAU5B,CAAC,CAAC1zB,IAAZ,IAAkB,YAAU0zB,CAAC,CAAC1zB,IAA9B,IAAoC,CAACk3U,EAAE,CAACxjT,CAAD,CAAvC,KAA6C4B,CAAC,GAAC2hT,EAAE,CAACvjT,CAAC,CAAC76B,QAAF,CAAWqxE,MAAZ,EAAmBnhD,CAAnB,CAAF,IAAyBuM,CAAxE,CAAtN;;AAAiS,eAAOA,CAAP;AAAS,OAAzX,CAA0X5B,CAA1X,EAA4X3K,CAA5X,CAAjC;AAAka;;AAAA,aAASguT,EAAT,CAAYhuT,CAAZ,EAAc2K,CAAd,EAAgB;AAAC,UAAIJ,CAAC,GAAC,CAAC,CAAP;;AAAS,WAAI,MAAMgC,CAAV,IAAevM,CAAC,CAACgkF,WAAF,EAAf,EAA+Bz3E,CAAC,CAACs+E,EAAF,CAAK,SAAL,EAAe,UAAf,MAA6BtgF,CAAC,GAAC0jT,EAAE,CAAC1hT,CAAD,EAAG5B,CAAH,CAAF,IAASJ,CAAxC;;AAA2C,aAAOA,CAAP;AAAS;;AAAA,aAAS0jT,EAAT,CAAYjuT,CAAZ,EAAc2K,CAAd,EAAgB;AAAC,UAAIJ,CAAC,GAAC,CAAC,CAAP;;AAAS,WAAI,MAAMgC,CAAV,IAAevM,CAAC,CAACgkF,WAAF,EAAf,EAA+Bz5E,CAAC,GAAC2jT,EAAE,CAAC3hT,CAAD,EAAG5B,CAAH,CAAF,IAASJ,CAAX;;AAAa,aAAOA,CAAP;AAAS;;AAAA,aAAS2jT,EAAT,CAAYluT,CAAZ,EAAc2K,CAAd,EAAgB;AAAC,UAAG,KAAG3K,CAAC,CAAC0sP,UAAR,EAAmB,OAAO/hP,CAAC,CAACiyQ,aAAF,CAAgB,WAAhB,EAA4B58Q,CAA5B,GAA+B,CAAC,CAAvC;AAAyC,YAAMuK,CAAC,GAACpF,KAAK,CAAC7H,IAAN,CAAW0C,CAAC,CAACgkF,WAAF,EAAX,EAA4Br6G,MAA5B,CAAoCq2B,CAAC,IAAEA,CAAC,CAAC6qF,EAAF,CAAK,OAAL,CAAvC,CAAR;;AAA+D,WAAI,MAAM7qF,CAAV,IAAeuK,CAAf,EAAiBI,CAAC,CAACiyP,IAAF,CAAOjyP,CAAC,CAAC2yP,aAAF,CAAgBt9P,CAAhB,CAAP,EAA0B,WAA1B;;AAAuC,aAAM,CAAC,CAACuK,CAAC,CAAC59B,MAAV;AAAiB;;AAAA,aAASwhV,EAAT,CAAYnuT,CAAZ,EAAc;AAAC,aAAM,CAAC,CAACA,CAAC,CAAClwB,QAAF,CAAWqxE,MAAX,CAAkB0pC,EAAlB,CAAqB,SAArB,EAA+B,WAA/B,CAAF,KAAgD,YAAU7qF,CAAC,CAAC/oB,IAAZ,IAAkB,WAAS+oB,CAAC,CAACxvB,IAA7B,IAAmC,YAAUwvB,CAAC,CAAC/oB,IAA/F,CAAN;AAA2G;;AAAA,aAASm3U,EAAT,CAAYpuT,CAAZ,EAAc2K,CAAd,EAAgB;AAAC,UAAG,CAAC3K,CAAC,CAAC6qF,EAAF,CAAK,SAAL,EAAe,WAAf,CAAJ,EAAgC,OAAM,CAAC,CAAP;AAAS,YAAMtgF,CAAC,GAACI,CAAC,CAAC6oQ,aAAF,CAAgBxzQ,CAAhB,CAAR;AAA2B,aAAM,CAAC,CAACuK,CAAF,IAAK4pL,EAAE,CAACn0L,CAAD,CAAF,KAAQuK,CAAC,CAACsgF,EAAF,CAAK,SAAL,EAAe,MAAf,CAAnB;AAA0C;;AAAA,QAAIwjO,EAAE,GAAC9jT,CAAC,CAAC,IAAD,CAAR;AAAA,QAAe+jT,EAAE,GAAC;AAACrvE,MAAAA,UAAU,EAAC,mBAAZ;AAAgCh7J,MAAAA,UAAU,EAAC;AAAC,oBAAW,CAAC;AAAb,OAA3C;AAA2DqC,MAAAA,MAAM,EAAC,MAAlE;AAAyEy9I,MAAAA,SAAS,EAAC,CAAC;AAApF,KAAlB;AAAyG+a,IAAAA,EAAE,GAAGuvE,EAAE,CAAC9rF,CAAN,EAAQ+rF,EAAR,CAAF;AAAcD,IAAAA,EAAE,CAAC9rF,CAAH,CAAK2c,MAAL;;AAAY,UAAMqvE,EAAN,SAAiBllE,EAAjB,CAAmB;AAAsB,iBAAVwB,UAAU,GAAE;AAAC,eAAM,cAAN;AAAqB;;AAAmB,iBAARE,QAAQ,GAAE;AAAC,eAAM,CAACmhE,EAAD,CAAN;AAAW;;AAAAzsV,MAAAA,WAAW,CAACugC,CAAD,EAAG;AAAC,cAAMA,CAAN,GAAS,KAAKwuT,gBAAL,GAAsB,EAA/B;AAAkC;;AAAAjtV,MAAAA,IAAI,GAAE;AAAC,cAAMy+B,CAAC,GAAC,KAAKgiF,MAAb;AAAA,cAAoBr3E,CAAC,GAAC3K,CAAC,CAACzjB,KAAxB;AAAA,cAA8BguB,CAAC,GAACI,CAAC,CAACg3O,MAAlC;AAAA,cAAyCp1O,CAAC,GAACvM,CAAC,CAACk5N,UAA7C;AAAA,cAAwDviP,CAAC,GAACqpB,CAAC,CAACyjF,OAAF,CAAUhjH,GAAV,CAAcyrV,EAAd,CAA1D;AAA4E3hT,QAAAA,CAAC,CAACokN,QAAF,CAAW,OAAX,EAAmB;AAACmzD,UAAAA,cAAc,EAAC,cAAhB;AAA+B/B,UAAAA,eAAe,EAAC,CAAC,aAAD,EAAe,gBAAf;AAA/C,SAAnB,GAAqGx1Q,CAAC,CAACokN,QAAF,CAAW,UAAX,EAAsB;AAAC2yD,UAAAA,OAAO,EAAC,OAAT;AAAiBjJ,UAAAA,OAAO,EAAC,CAAC;AAA1B,SAAtB,CAArG,EAAyJ9tQ,CAAC,CAACokN,QAAF,CAAW,WAAX,EAAuB;AAAC6yD,UAAAA,cAAc,EAAC,YAAhB;AAA6BF,UAAAA,OAAO,EAAC,UAArC;AAAgDvB,UAAAA,eAAe,EAAC,CAAC,SAAD,EAAW,SAAX,CAAhE;AAAsF1H,UAAAA,OAAO,EAAC,CAAC,CAA/F;AAAiG4F,UAAAA,YAAY,EAAC,CAAC;AAA/G,SAAvB,CAAzJ,EAAmS1xQ,CAAC,CAACmuM,GAAF,CAAM,QAAN,EAAgB9lN,GAAhB,CAAqBoL,CAAC,IAAE;AAACA,UAAAA,CAAC,CAACve,EAAF,CAAK,gBAAL,EAAuB,CAACue,CAAD,EAAG2K,CAAH,EAAKJ,CAAL,KAAS;AAAC,gBAAG,CAACA,CAAC,CAAC6rQ,UAAF,CAAa/gR,IAAb,CAAkBsV,CAAC,CAACgzQ,QAApB,EAA6B;AAACntS,cAAAA,IAAI,EAAC,CAAC,CAAP;AAAS49Q,cAAAA,OAAO,EAAC;AAAjB,aAA7B,CAAJ,EAA4D;;AAAO,kBAAM7hP,CAAC,GAAC,UAASvM,CAAT,EAAW;AAAC,mBAAI,MAAM2K,CAAV,IAAe3K,CAAC,CAACgkF,WAAF,EAAf,EAA+B,IAAGr5E,CAAC,CAACkgF,EAAF,CAAK,SAAL,EAAe,OAAf,CAAH,EAA2B,OAAOlgF,CAAP;AAAS,aAA/E,CAAgFA,CAAC,CAACgzQ,QAAlF,CAAR;;AAAoG,gBAAG,CAACpxQ,CAAD,IAAI,CAAChC,CAAC,CAAC6rQ,UAAF,CAAa/gR,IAAb,CAAkBkX,CAAlB,EAAoB;AAAC/7B,cAAAA,IAAI,EAAC,CAAC;AAAP,aAApB,CAAR,EAAuC;AAAO+5B,YAAAA,CAAC,CAAC6rQ,UAAF,CAAavB,OAAb,CAAqBlqQ,CAAC,CAACgzQ,QAAvB,EAAgC;AAACntS,cAAAA,IAAI,EAAC,CAAC,CAAP;AAAS49Q,cAAAA,OAAO,EAAC;AAAjB,aAAhC;AAA2D,kBAAMz3Q,CAAC,GAAC2mQ,EAAE,CAAC/yO,CAAC,CAAC0sQ,WAAF,CAAc1qQ,CAAd,EAAgB5B,CAAC,CAAC8yQ,WAAlB,EAA+BC,UAA/B,CAA0Cn2K,QAA1C,EAAD,CAAV;AAAiE5wH,YAAAA,CAAC,IAAE4zB,CAAC,CAAC2sQ,eAAF,CAAkBvsQ,CAAC,CAACgzQ,QAApB,EAA6BpzQ,CAAC,CAACg7E,MAAF,CAAS43K,gBAAT,CAA0BxmR,CAA1B,EAA4B,KAA5B,CAA7B,GAAiE4zB,CAAC,CAACszQ,sBAAF,CAAyBlnS,CAAzB,EAA2Bg0B,CAA3B,CAAnE,IAAkGJ,CAAC,CAAC6rQ,UAAF,CAAap2B,MAAb,CAAoBr1O,CAAC,CAACgzQ,QAAtB,EAA+B;AAACntS,cAAAA,IAAI,EAAC,CAAC,CAAP;AAAS49Q,cAAAA,OAAO,EAAC;AAAjB,aAA/B,CAAnG;AAA6J,WAA/gB;AAAkhB,SAA3iB,CAAnS,EAAi1B7hP,CAAC,CAACmuM,GAAF,CAAM,QAAN,EAAgB9lN,GAAhB,CAAoBkxT,EAAE,EAAtB,CAAj1B,EAA22Bv5S,CAAC,CAACmuM,GAAF,CAAM,iBAAN,EAAyBghE,kBAAzB,CAA4C;AAACn/R,UAAAA,KAAK,EAAC;AAAC/L,YAAAA,IAAI,EAAC,OAAN;AAAcyzG,YAAAA,UAAU,EAAC,CAAC,aAAD;AAAzB,WAAP;AAAiD6xF,UAAAA,IAAI,EAACgzI,EAAE,CAACnyU,CAAD,EAAG;AAACuyU,YAAAA,QAAQ,EAAC,CAAC,CAAX;AAAaD,YAAAA,eAAe,EAAC,KAAKuF;AAAlC,WAAH;AAAxD,SAA5C,CAA32B,EAAygCjiT,CAAC,CAACmuM,GAAF,CAAM,cAAN,EAAsBghE,kBAAtB,CAAyC;AAACn/R,UAAAA,KAAK,EAAC;AAAC/L,YAAAA,IAAI,EAAC,OAAN;AAAcyzG,YAAAA,UAAU,EAAC,CAAC,aAAD;AAAzB,WAAP;AAAiD6xF,UAAAA,IAAI,EAACgzI,EAAE,CAACnyU,CAAD,EAAG;AAACsyU,YAAAA,eAAe,EAAC,KAAKuF;AAAtB,WAAH;AAAxD,SAAzC,CAAzgC,EAAwpCjiT,CAAC,CAACmuM,GAAF,CAAM,QAAN,EAAgBygE,gBAAhB,CAAiC;AAAC5+R,UAAAA,KAAK,EAAC,UAAP;AAAkBu5L,UAAAA,IAAI,EAAC;AAAvB,SAAjC,CAAxpC,EAAutCvpK,CAAC,CAACmuM,GAAF,CAAM,QAAN,EAAgB9lN,GAAhB,CAAqBoL,CAAC,IAAE;AAACA,UAAAA,CAAC,CAACve,EAAF,CAAK,YAAL,EAAmB,CAACue,CAAD,EAAG2K,CAAH,KAAO;AAACA,YAAAA,CAAC,CAACgzQ,QAAF,CAAWtnQ,OAAX,IAAoB,KAAG1L,CAAC,CAAC8yQ,WAAF,CAAcj8P,KAArC,IAA4CxhB,CAAC,CAAColF,IAAF,EAA5C;AAAqD,WAAhF,EAAkF;AAACO,YAAAA,QAAQ,EAAC;AAAV,WAAlF;AAAqG,SAA9H,CAAvtC,EAAw1Cp5E,CAAC,CAACmuM,GAAF,CAAM,UAAN,EAAkBygE,gBAAlB,CAAmC;AAAC5+R,UAAAA,KAAK,EAAC,UAAP;AAAkBu5L,UAAAA,IAAI,EAAC,CAAC91K,CAAD,EAAG;AAACulF,YAAAA,MAAM,EAAC56E;AAAR,WAAH,KAAgB3K,CAAC,CAACqW,OAAF,GAAU1L,CAAC,CAAC8wP,kBAAF,CAAqB,IAArB,CAAV,GAAqC9wP,CAAC,CAAC4wP,sBAAF,CAAyB,IAAzB;AAA5E,SAAnC,CAAx1C,EAAw+ChvP,CAAC,CAACmuM,GAAF,CAAM,QAAN,EAAgBygE,gBAAhB,CAAiC;AAAC5+R,UAAAA,KAAK,EAAC,WAAP;AAAmBu5L,UAAAA,IAAI,EAAC;AAAxB,SAAjC,CAAx+C,EAAwiDvpK,CAAC,CAACmuM,GAAF,CAAM,QAAN,EAAgBygE,gBAAhB,CAAiC;AAAC5+R,UAAAA,KAAK,EAAC,WAAP;AAAmBu5L,UAAAA,IAAI,EAAC;AAAxB,SAAjC,CAAxiD,EAAwmDvpK,CAAC,CAACmuM,GAAF,CAAM,QAAN,EAAgB9lN,GAAhB,CAAoBuxT,EAAE,CAAC,IAAD,CAAtB,CAAxmD,EAAsoD55S,CAAC,CAACmuM,GAAF,CAAM,QAAN,EAAgB9lN,GAAhB,CAAoBuxT,EAAE,CAAC,IAAD,CAAtB,CAAtoD,EAAoqD55S,CAAC,CAACmuM,GAAF,CAAM,iBAAN,EAAyBygE,gBAAzB,CAA0C;AAAC5+R,UAAAA,KAAK,EAAC,WAAP;AAAmBu5L,UAAAA,IAAI,EAACqzI,EAAE,CAAC;AAACD,YAAAA,QAAQ,EAAC,CAAC;AAAX,WAAD;AAA1B,SAA1C,CAApqD,EAA0vD38S,CAAC,CAACmuM,GAAF,CAAM,cAAN,EAAsBygE,gBAAtB,CAAuC;AAAC5+R,UAAAA,KAAK,EAAC,WAAP;AAAmBu5L,UAAAA,IAAI,EAACqzI,EAAE;AAA1B,SAAvC,CAA1vD,EAAg0D58S,CAAC,CAACmuM,GAAF,CAAM,iBAAN,EAAyBygE,gBAAzB,CAA0C;AAAC5+R,UAAAA,KAAK,EAAC,WAAP;AAAmBu5L,UAAAA,IAAI,EAACszI,EAAE,CAAC;AAACF,YAAAA,QAAQ,EAAC,CAAC;AAAX,WAAD,CAA1B;AAA0C1tC,UAAAA,iBAAiB,EAAC;AAA5D,SAA1C,CAAh0D,EAA+6DjvQ,CAAC,CAACmuM,GAAF,CAAM,cAAN,EAAsBygE,gBAAtB,CAAuC;AAAC5+R,UAAAA,KAAK,EAAC,WAAP;AAAmBu5L,UAAAA,IAAI,EAACszI,EAAE,EAA1B;AAA6B5tC,UAAAA,iBAAiB,EAAC;AAA/C,SAAvC,CAA/6D,EAA8gEjvQ,CAAC,CAACmuM,GAAF,CAAM,UAAN,EAAkBshE,oBAAlB,CAAuC;AAACz/R,UAAAA,KAAK,EAAC,SAAP;AAAiBu5L,UAAAA,IAAI,EAAC;AAAtB,SAAvC,CAA9gE,EAAulEvpK,CAAC,CAACmuM,GAAF,CAAM,QAAN,EAAgBshE,oBAAhB,CAAqC;AAACz/R,UAAAA,KAAK,EAAC;AAACupB,YAAAA,GAAG,EAAC,SAAL;AAAe50B,YAAAA,KAAK,EAACu9U,EAAE,CAAC,SAAD;AAAvB,WAAP;AAA2C34I,UAAAA,IAAI,EAAC;AAAhD,SAArC,CAAvlE,EAAwrEvpK,CAAC,CAACmuM,GAAF,CAAM,UAAN,EAAkBshE,oBAAlB,CAAuC;AAACz/R,UAAAA,KAAK,EAAC,SAAP;AAAiBu5L,UAAAA,IAAI,EAAC;AAAtB,SAAvC,CAAxrE,EAAiwEvpK,CAAC,CAACmuM,GAAF,CAAM,QAAN,EAAgBshE,oBAAhB,CAAqC;AAACz/R,UAAAA,KAAK,EAAC;AAACupB,YAAAA,GAAG,EAAC,SAAL;AAAe50B,YAAAA,KAAK,EAACu9U,EAAE,CAAC,SAAD;AAAvB,WAAP;AAA2C34I,UAAAA,IAAI,EAAC;AAAhD,SAArC,CAAjwE,EAAk2E91K,CAAC,CAACtgC,MAAF,CAAS69M,MAAT,CAAgB,4BAAhB,EAA6C,CAA7C,CAAl2E,EAAk5Ev9K,CAAC,CAACtgC,MAAF,CAAS69M,MAAT,CAAgB,+BAAhB,EAAgD,CAAhD,CAAl5E,EAAq8Ev9K,CAAC,CAACm1R,QAAF,CAAWvgS,GAAX,CAAe,aAAf,EAA6B,IAAIy0T,EAAJ,CAAOrpT,CAAP,CAA7B,CAAr8E,EAA6+EA,CAAC,CAACm1R,QAAF,CAAWvgS,GAAX,CAAe,qBAAf,EAAqC,IAAI20T,EAAJ,CAAOvpT,CAAP,EAAS;AAACwpT,UAAAA,KAAK,EAAC;AAAP,SAAT,CAArC,CAA7+E,EAA6iFxpT,CAAC,CAACm1R,QAAF,CAAWvgS,GAAX,CAAe,qBAAf,EAAqC,IAAI20T,EAAJ,CAAOvpT,CAAP,EAAS;AAACwpT,UAAAA,KAAK,EAAC;AAAP,SAAT,CAArC,CAA7iF,EAA6mFxpT,CAAC,CAACm1R,QAAF,CAAWvgS,GAAX,CAAe,uBAAf,EAAuC,IAAIi1T,EAAJ,CAAO7pT,CAAP,EAAS;AAACwpT,UAAAA,KAAK,EAAC;AAAP,SAAT,CAAvC,CAA7mF,EAA8qFxpT,CAAC,CAACm1R,QAAF,CAAWvgS,GAAX,CAAe,wBAAf,EAAwC,IAAIi1T,EAAJ,CAAO7pT,CAAP,EAAS;AAACwpT,UAAAA,KAAK,EAAC;AAAP,SAAT,CAAxC,CAA9qF,EAAivFxpT,CAAC,CAACm1R,QAAF,CAAWvgS,GAAX,CAAe,gBAAf,EAAgC,IAAI+2T,EAAJ,CAAO3rT,CAAP,CAAhC,CAAjvF,EAA4xFA,CAAC,CAACm1R,QAAF,CAAWvgS,GAAX,CAAe,mBAAf,EAAmC,IAAIg3T,EAAJ,CAAO5rT,CAAP,CAAnC,CAA5xF,EAA00FA,CAAC,CAACm1R,QAAF,CAAWvgS,GAAX,CAAe,0BAAf,EAA0C,IAAIq1T,EAAJ,CAAOjqT,CAAP,EAAS;AAAC0zM,UAAAA,SAAS,EAAC;AAAX,SAAT,CAA1C,CAA10F,EAAw5F1zM,CAAC,CAACm1R,QAAF,CAAWvgS,GAAX,CAAe,4BAAf,EAA4C,IAAIq1T,EAAJ,CAAOjqT,CAAP,EAAS;AAAC0zM,UAAAA,SAAS,EAAC;AAAX,SAAT,CAA5C,CAAx5F,EAA0+F1zM,CAAC,CAACm1R,QAAF,CAAWvgS,GAAX,CAAe,iBAAf,EAAiC,IAAIu4T,EAAJ,CAAOntT,CAAP,CAAjC,CAA1+F,EAAshGA,CAAC,CAACm1R,QAAF,CAAWvgS,GAAX,CAAe,qBAAf,EAAqC,IAAI02T,EAAJ,CAAOtrT,CAAP,EAAS;AAAC0zM,UAAAA,SAAS,EAAC;AAAX,SAAT,CAArC,CAAthG,EAA0lG1zM,CAAC,CAACm1R,QAAF,CAAWvgS,GAAX,CAAe,oBAAf,EAAoC,IAAI02T,EAAJ,CAAOtrT,CAAP,EAAS;AAAC0zM,UAAAA,SAAS,EAAC;AAAX,SAAT,CAApC,CAA1lG,EAA4pG1zM,CAAC,CAACm1R,QAAF,CAAWvgS,GAAX,CAAe,oBAAf,EAAoC,IAAI02T,EAAJ,CAAOtrT,CAAP,EAAS;AAAC0zM,UAAAA,SAAS,EAAC;AAAX,SAAT,CAApC,CAA5pG,EAA8tG1zM,CAAC,CAACm1R,QAAF,CAAWvgS,GAAX,CAAe,kBAAf,EAAkC,IAAI02T,EAAJ,CAAOtrT,CAAP,EAAS;AAAC0zM,UAAAA,SAAS,EAAC;AAAX,SAAT,CAAlC,CAA9tG,EAA4xG1zM,CAAC,CAACm1R,QAAF,CAAWvgS,GAAX,CAAe,sBAAf,EAAsC,IAAIm3T,EAAJ,CAAO/rT,CAAP,CAAtC,CAA5xG,EAA60GA,CAAC,CAACm1R,QAAF,CAAWvgS,GAAX,CAAe,mBAAf,EAAmC,IAAIi3T,EAAJ,CAAO7rT,CAAP,CAAnC,CAA70G,EAA23GA,CAAC,CAACm1R,QAAF,CAAWvgS,GAAX,CAAe,gBAAf,EAAgC,IAAI64T,EAAJ,CAAOztT,CAAP,CAAhC,CAA33G,EAAs6GA,CAAC,CAACm1R,QAAF,CAAWvgS,GAAX,CAAe,mBAAf,EAAmC,IAAI84T,EAAJ,CAAO1tT,CAAP,CAAnC,CAAt6G,EAAo9G2tT,EAAE,CAAChjT,CAAD,CAAt9G,EAA09GojT,EAAE,CAACpjT,CAAD,CAA59G,EAAg+G,KAAK66N,QAAL,CAAc76N,CAAC,CAACjJ,QAAhB,EAAyB,aAAzB,EAAwC,MAAI;AAAC,WAAC,UAAS1B,CAAT,EAAW2K,CAAX,EAAa;AAAC,kBAAMJ,CAAC,GAACvK,CAAC,CAAC0B,QAAF,CAAW24Q,MAAnB;;AAA0B,iBAAI,MAAMr6Q,CAAV,IAAeuK,CAAC,CAACmrQ,UAAF,EAAf,EAA8B;AAAC,kBAAInrQ,CAAJ;AAAA,kBAAMgC,CAAC,GAAC,CAAC,CAAT;;AAAW,kBAAG,eAAavM,CAAC,CAAC/oB,IAAlB,EAAuB;AAAC,sBAAM0zB,CAAC,GAAC3K,CAAC,CAAC+mF,KAAF,CAAQN,KAAR,CAAcgvK,SAAtB;AAAgC,oBAAG,CAAC9qP,CAAD,IAAI,CAACA,CAAC,CAACkgF,EAAF,CAAK,SAAL,EAAe,OAAf,CAAR,EAAgC;AAAS,oBAAG,iBAAe7qF,CAAC,CAAC+1Q,YAAjB,IAA+B,oBAAkB/1Q,CAAC,CAAC+1Q,YAAtD,EAAmE;AAASxrQ,gBAAAA,CAAC,GAACI,CAAF,EAAI4B,CAAC,GAAC,iBAAevM,CAAC,CAAC+1Q,YAAvB;AAAoC,eAAjN,MAAqN,cAAY/1Q,CAAC,CAACxvB,IAAd,IAAoB,eAAawvB,CAAC,CAACxvB,IAAnC,KAA0C+5B,CAAC,GAACvK,CAAC,CAAClwB,QAAF,CAAWujR,YAAX,CAAwB,OAAxB,CAAF,EAAmC9mP,CAAC,GAAC,cAAYvM,CAAC,CAACxvB,IAA7F;;AAAmG,kBAAG,CAAC+5B,CAAJ,EAAM;AAAS,oBAAM5zB,CAAC,GAAC4zB,CAAC,CAACs3O,YAAF,CAAe,aAAf,KAA+B,CAAvC;AAAA,oBAAyCp1O,CAAC,GAAClC,CAAC,CAACs3O,YAAF,CAAe,gBAAf,KAAkC,CAA7E;AAAA,oBAA+Ev3O,CAAC,GAAC,IAAI87S,EAAJ,CAAO77S,CAAP,CAAjF;;AAA2F,mBAAI,MAAMvK,CAAV,IAAesK,CAAf,EAAiB;AAAC,sBAAMC,CAAC,GAACvK,CAAC,CAACwmT,GAAF,GAAM7vU,CAAN,IAASqpB,CAAC,CAAC4lT,MAAF,GAASn5S,CAAlB,GAAoB,IAApB,GAAyB,IAAjC;AAAA,sBAAsCnC,CAAC,GAACK,CAAC,CAACupQ,MAAF,CAASV,aAAT,CAAuBxzQ,CAAC,CAACioT,IAAzB,CAAxC;AAAuE39S,gBAAAA,CAAC,IAAEA,CAAC,CAACugF,EAAF,CAAK,SAAL,CAAH,IAAoBvgF,CAAC,CAAC95B,IAAF,IAAQ+5B,CAA5B,IAA+BI,CAAC,CAAC4zQ,aAAF,CAAgBhyQ,CAAC,GAACvM,CAAC,CAACioT,IAAF,CAAO9mQ,MAAR,GAAenhD,CAAC,CAACioT,IAAlC,CAA/B;AAAuE;AAAC;AAAC,WAAtpB,CAAupBt9S,CAAvpB,EAAypB3K,CAAC,CAACu1R,OAA3pB,CAAD,EAAqqB,UAASv1R,CAAT,EAAW2K,CAAX,EAAa;AAAC,kBAAMJ,CAAC,GAACvK,CAAC,CAAC0B,QAAF,CAAW24Q,MAAnB;AAAA,kBAA0B9tQ,CAAC,GAAC,IAAIslE,GAAJ,EAA5B;;AAAoC,iBAAI,MAAM7xE,CAAV,IAAeuK,CAAC,CAACmrQ,UAAF,EAAf,EAA8B;AAAC,oBAAM/qQ,CAAC,GAAC,eAAa3K,CAAC,CAAC/oB,IAAf,GAAoB+oB,CAAC,CAAC+mF,KAAF,CAAQN,KAAR,CAActlC,MAAlC,GAAyCnhD,CAAC,CAAClwB,QAAF,CAAWqxE,MAA5D;AAAmEx2C,cAAAA,CAAC,CAACkgF,EAAF,CAAK,SAAL,EAAe,WAAf,KAA6Bt+E,CAAC,CAAC3X,GAAF,CAAM+V,CAAN,CAA7B;AAAsC;;AAAA,iBAAI,MAAM3K,CAAV,IAAeuM,CAAC,CAAC8U,MAAF,EAAf,EAA0B;AAAC,oBAAM9W,CAAC,GAACpF,KAAK,CAAC7H,IAAN,CAAW0C,CAAC,CAACgkF,WAAF,EAAX,EAA4Br6G,MAA5B,CAAoCq2B,CAAC,IAAEouT,EAAE,CAACpuT,CAAD,EAAG2K,CAAC,CAACupQ,MAAL,CAAzC,CAAR;;AAAgE,mBAAI,MAAMl0Q,CAAV,IAAeuK,CAAf,EAAiBI,CAAC,CAAC4zQ,aAAF,CAAgBv+Q,CAAhB;AAAmB;AAAC,WAA1T,CAA2T2K,CAA3T,EAA6T3K,CAAC,CAACu1R,OAA/T,CAArqB;AAA6+B,SAA1hC,CAAh+G;AAA6/I;;AAAAm5B,MAAAA,sBAAsB,CAAC1uT,CAAD,EAAG;AAAC,aAAKwuT,gBAAL,CAAsBvoT,IAAtB,CAA2BjG,CAA3B;AAA8B;;AAAxwJ;;AAAywJ,aAASyuT,EAAT,CAAYzuT,CAAZ,EAAc;AAAC,aAAO2K,CAAC,IAAE;AAAC,cAAMJ,CAAC,GAAC3G,QAAQ,CAAC+G,CAAC,CAACk3O,YAAF,CAAe7hP,CAAf,CAAD,CAAhB;AAAoC,eAAOvM,MAAM,CAACC,KAAP,CAAa6W,CAAb,KAAiBA,CAAC,IAAE,CAApB,GAAsB,IAAtB,GAA2BA,CAAlC;AAAoC,OAAnF;AAAoF;;AAAA,QAAIokT,EAAE,GAACpkT,CAAC,CAAC,GAAD,CAAR;AAAA,QAAcqkT,EAAE,GAAC;AAAC3vE,MAAAA,UAAU,EAAC,mBAAZ;AAAgCh7J,MAAAA,UAAU,EAAC;AAAC,oBAAW,CAAC;AAAb,OAA3C;AAA2DqC,MAAAA,MAAM,EAAC,MAAlE;AAAyEy9I,MAAAA,SAAS,EAAC,CAAC;AAApF,KAAjB;AAAwG+a,IAAAA,EAAE,GAAG6vE,EAAE,CAACpsF,CAAN,EAAQqsF,EAAR,CAAF;AAAcD,IAAAA,EAAE,CAACpsF,CAAH,CAAK2c,MAAL;;AAAY,UAAM2vE,EAAN,SAAiB1vE,EAAjB,CAAmB;AAAC1/Q,MAAAA,WAAW,CAACugC,CAAD,EAAG;AAAC,cAAMA,CAAN;AAAS,cAAM2K,CAAC,GAAC,KAAK40O,YAAb;AAA0B,aAAKjlQ,KAAL,GAAW,KAAKw0U,qBAAL,EAAX,EAAwC,KAAK1nE,UAAL,GAAgB,IAAIvJ,EAAJ,EAAxD,EAA+D,KAAKiI,YAAL,GAAkB,IAAI3vD,EAAJ,EAAjF,EAAwF,KAAKrxL,GAAL,CAAS,MAAT,EAAgB,CAAhB,CAAxF,EAA2G,KAAKA,GAAL,CAAS,SAAT,EAAmB,CAAnB,CAA3G,EAAiI,KAAK/P,IAAL,CAAU,OAAV,EAAmB03J,EAAnB,CAAsB,IAAtB,EAA2B,SAA3B,EAAqC,IAArC,EAA0C,MAA1C,EAAkD,CAACzsJ,CAAD,EAAG2K,CAAH,KAAQ,GAAEA,CAAE,MAAK3K,CAAE,EAArE,CAAjI,EAA0M,KAAK4/O,WAAL,CAAiB;AAACsB,UAAAA,GAAG,EAAC,KAAL;AAAWj9J,UAAAA,UAAU,EAAC;AAACm/J,YAAAA,KAAK,EAAC,CAAC,IAAD;AAAP,WAAtB;AAAqC97Q,UAAAA,QAAQ,EAAC,CAAC;AAAC45Q,YAAAA,GAAG,EAAC,KAAL;AAAWj9J,YAAAA,UAAU,EAAC;AAACm/J,cAAAA,KAAK,EAAC,CAAC,gCAAD;AAAP,aAAtB;AAAiE3hQ,YAAAA,EAAE,EAAC;AAAC,8DAA+CkpB,CAAC,CAAC8hJ,EAAF,CAAK,SAAL;AAAhD,aAApE;AAAqInlL,YAAAA,QAAQ,EAAC,KAAKgT;AAAnJ,WAAD,EAA2J;AAAC4mQ,YAAAA,GAAG,EAAC,KAAL;AAAWj9J,YAAAA,UAAU,EAAC;AAACm/J,cAAAA,KAAK,EAAC,CAAC,IAAD,EAAM,iCAAN,CAAP;AAAgD,6BAAc,CAAC;AAA/D,aAAtB;AAAwF97Q,YAAAA,QAAQ,EAAC,CAAC;AAACyqI,cAAAA,IAAI,EAACpnG,CAAC,CAAC8hJ,EAAF,CAAK,OAAL;AAAN,aAAD;AAAjG,WAA3J,CAA9C;AAAmUhrK,UAAAA,EAAE,EAAC;AAACkjQ,YAAAA,SAAS,EAACh6O,CAAC,CAAC8hJ,EAAF,CAAMzsJ,CAAC,IAAE;AAACA,cAAAA,CAAC,CAACu0C,cAAF;AAAmB,aAA7B,CAAX;AAA2C2nI,YAAAA,KAAK,EAACvxK,CAAC,CAAC8hJ,EAAF,CAAM,MAAI;AAAC,mBAAK/mE,IAAL,CAAU,SAAV;AAAqB,aAAhC;AAAjD;AAAtU,SAAjB,CAA1M,EAAwnB,KAAKjkG,EAAL,CAAQ,SAAR,EAAmB,CAACue,CAAD,EAAG2K,CAAH,KAAO;AAAC,gBAAK;AAAC67S,YAAAA,GAAG,EAACj8S,CAAL;AAAOq7S,YAAAA,MAAM,EAACr5S;AAAd,cAAiB5B,CAAC,CAACijB,MAAF,CAAS4wO,OAA/B;AAAuC,eAAKlkR,KAAL,CAAW7Z,GAAX,CAAe,MAAImjC,QAAQ,CAAC2G,CAAD,EAAG,EAAH,CAAR,GAAe,CAAnB,KAAuB3G,QAAQ,CAAC2I,CAAD,EAAG,EAAH,CAAR,GAAe,CAAtC,CAAf,EAAyDymC,KAAzD;AAAiE,SAAnI,CAAxnB,EAA8vB,KAAK8yM,YAAL,CAAkBrkQ,EAAlB,CAAqB,uBAArB,EAA8C,CAACue,CAAD,EAAG2K,CAAH,EAAKJ,CAAL,KAAS;AAAC,cAAG,CAACA,CAAJ,EAAM;AAAO,gBAAK;AAACi8S,YAAAA,GAAG,EAACj6S,CAAL;AAAOq5S,YAAAA,MAAM,EAACjvU;AAAd,cAAiB4zB,CAAC,CAACi0P,OAAxB;AAAgC,eAAK15P,GAAL,CAAS;AAACihT,YAAAA,IAAI,EAACniT,QAAQ,CAAC2I,CAAD,CAAd;AAAkBy9S,YAAAA,OAAO,EAACpmT,QAAQ,CAACjtB,CAAD;AAAlC,WAAT;AAAiD,SAAtJ,CAA9vB,EAAu5B,KAAK8K,EAAL,CAAQ,gBAAR,EAA0B,MAAI,KAAKstU,mBAAL,EAA9B,CAAv5B,EAAk9B,KAAKttU,EAAL,CAAQ,aAAR,EAAuB,MAAI,KAAKstU,mBAAL,EAA3B,CAAl9B;AAA0gC;;AAAAnwE,MAAAA,MAAM,GAAE;AAAC,cAAMA,MAAN,IAAe,UAAS;AAAC8J,UAAAA,gBAAgB,EAAC1oP,CAAlB;AAAoB8lP,UAAAA,YAAY,EAACn7O,CAAjC;AAAmCqkT,UAAAA,SAAS,EAACzkT,CAA7C;AAA+C0kT,UAAAA,eAAe,EAAC1iT,CAA/D;AAAiE2vO,UAAAA,mBAAmB,EAACvlQ;AAArF,SAAT,EAAiG;AAAC,gBAAM81B,CAAC,GAAC,YAAU,OAAOF,CAAjB,GAAmB,MAAIA,CAAvB,GAAyBA,CAAjC;;AAAmC,mBAASjC,CAAT,CAAWtK,CAAX,EAAa;AAAC,mBAAOuM,CAAC,IAAE;AAAC,oBAAM51B,CAAC,GAAC4zB,CAAC,CAAChwB,IAAF,CAAQylB,CAAC,IAAEA,CAAC,CAAChX,OAAF,KAAY2hB,CAAC,CAACgzO,cAAzB,CAAR;AAAA,oBAAkDlxO,CAAC,GAAClC,CAAC,CAACyyO,QAAF,CAAWrmQ,CAAX,CAApD;AAAA,oBAAkE2zB,CAAC,GAACtK,CAAC,CAACyM,CAAD,EAAGlC,CAAH,CAArE;AAA2EA,cAAAA,CAAC,CAAC9pC,GAAF,CAAM6pC,CAAN,EAAS0oC,KAAT,IAAiBzmC,CAAC,CAACy9M,eAAF,EAAjB,EAAqCz9M,CAAC,CAACgoC,cAAF,EAArC;AAAwD,aAA9I;AAA+I;;AAAA,mBAAS6N,CAAT,CAAWpiD,CAAX,EAAa2K,CAAb,EAAe;AAAC,mBAAO3K,CAAC,KAAG2K,CAAC,GAAC,CAAN,GAAQ,CAAR,GAAU3K,CAAC,GAAC,CAAnB;AAAqB;;AAAA,mBAAS29I,CAAT,CAAW39I,CAAX,EAAa2K,CAAb,EAAe;AAAC,mBAAO,MAAI3K,CAAJ,GAAM2K,CAAC,GAAC,CAAR,GAAU3K,CAAC,GAAC,CAAnB;AAAqB;;AAAAA,UAAAA,CAAC,CAAC8E,GAAF,CAAM,YAAN,EAAmBwF,CAAC,CAAE,CAACtK,CAAD,EAAG2K,CAAH,KAAO,UAAQh0B,CAAR,GAAUgnK,CAAC,CAAC39I,CAAD,EAAG2K,CAAC,CAACh+B,MAAL,CAAX,GAAwBy1E,CAAC,CAACpiD,CAAD,EAAG2K,CAAC,CAACh+B,MAAL,CAAlC,CAApB,GAAsEqzB,CAAC,CAAC8E,GAAF,CAAM,WAAN,EAAkBwF,CAAC,CAAE,CAACtK,CAAD,EAAG2K,CAAH,KAAO,UAAQh0B,CAAR,GAAUyrE,CAAC,CAACpiD,CAAD,EAAG2K,CAAC,CAACh+B,MAAL,CAAX,GAAwBgxK,CAAC,CAAC39I,CAAD,EAAG2K,CAAC,CAACh+B,MAAL,CAAlC,CAAnB,CAAtE,EAA2IqzB,CAAC,CAAC8E,GAAF,CAAM,SAAN,EAAgBwF,CAAC,CAAE,CAACtK,CAAD,EAAG2K,CAAH,KAAO;AAAC,gBAAIJ,CAAC,GAACvK,CAAC,GAACyM,CAAC,EAAT;AAAY,mBAAOlC,CAAC,GAAC,CAAF,KAAMA,CAAC,GAACvK,CAAC,GAACyM,CAAC,KAAGyvB,IAAI,CAACkwC,KAAL,CAAWzhE,CAAC,CAACh+B,MAAF,GAAS8/B,CAAC,EAArB,CAAR,EAAiClC,CAAC,GAACI,CAAC,CAACh+B,MAAF,GAAS,CAAX,KAAe49B,CAAC,IAAEkC,CAAC,EAAnB,CAAvC,GAA+DlC,CAAtE;AAAwE,WAA9F,CAAjB,CAA3I,EAA8PvK,CAAC,CAAC8E,GAAF,CAAM,WAAN,EAAkBwF,CAAC,CAAE,CAACtK,CAAD,EAAG2K,CAAH,KAAO;AAAC,gBAAIJ,CAAC,GAACvK,CAAC,GAACyM,CAAC,EAAT;AAAY,mBAAOlC,CAAC,GAACI,CAAC,CAACh+B,MAAF,GAAS,CAAX,KAAe49B,CAAC,GAACvK,CAAC,GAACyM,CAAC,EAApB,GAAwBlC,CAA/B;AAAiC,WAAvD,CAAnB,CAA9P;AAA4U,SAAxrB,CAAyrB;AAACm+O,UAAAA,gBAAgB,EAAC,KAAKtB,UAAvB;AAAkCtB,UAAAA,YAAY,EAAC,KAAKA,YAApD;AAAiEkpE,UAAAA,SAAS,EAAC,KAAK10U,KAAhF;AAAsF20U,UAAAA,eAAe,EAAC,EAAtG;AAAyG/yE,UAAAA,mBAAmB,EAAC,KAAK/kD,MAAL,IAAa,KAAKA,MAAL,CAAY+kD;AAAtJ,SAAzrB,CAAf;;AAAo3B,aAAI,MAAMl8O,CAAV,IAAe,KAAK1lB,KAApB,EAA0B,KAAKwrQ,YAAL,CAAkBlxP,GAAlB,CAAsBoL,CAAC,CAAChX,OAAxB;;AAAiC,aAAKo+P,UAAL,CAAgB5hB,QAAhB,CAAyB,KAAKx8O,OAA9B;AAAuC;;AAAAgqD,MAAAA,KAAK,GAAE;AAAC,aAAK14D,KAAL,CAAW7Z,GAAX,CAAe,CAAf,EAAkBuyE,KAAlB;AAA0B;;AAAA8zM,MAAAA,SAAS,GAAE;AAAC,aAAKxsQ,KAAL,CAAW7Z,GAAX,CAAe,CAAf,EAAkBuyE,KAAlB;AAA0B;;AAAA+7Q,MAAAA,mBAAmB,GAAE;AAAC,cAAM/uT,CAAC,GAAC,KAAK+lT,IAAb;AAAA,cAAkBp7S,CAAC,GAAC,KAAKq/S,OAAzB;AAAiC,aAAK1vU,KAAL,CAAW9Q,GAAX,CAAgB,CAAC+gC,CAAD,EAAGgC,CAAH,KAAO;AAAC,gBAAM51B,CAAC,GAACulD,IAAI,CAACkwC,KAAL,CAAW7/D,CAAC,GAAC,EAAb,IAAiBvM,CAAjB,IAAoBuM,CAAC,GAAC,EAAF,GAAK5B,CAAjC;AAAmCJ,UAAAA,CAAC,CAACzF,GAAF,CAAM,MAAN,EAAanuB,CAAb;AAAgB,SAA3E;AAA8E;;AAAAu4U,MAAAA,iBAAiB,CAAClvT,CAAD,EAAG2K,CAAH,EAAKJ,CAAL,EAAOgC,CAAP,EAAS;AAAC,cAAM51B,CAAC,GAAC,IAAI+4M,EAAJ,CAAO1vL,CAAP,CAAR;AAAkB,eAAOrpB,CAAC,CAACmuB,GAAF,CAAM;AAAC4G,UAAAA,KAAK,EAACa,CAAP;AAAS62O,UAAAA,KAAK,EAAC;AAAf,SAAN,GAA2DzsQ,CAAC,CAACkpQ,cAAF,CAAiB;AAAC57J,UAAAA,UAAU,EAAC;AAAC,wBAAWt5E,CAAZ;AAAc,2BAAcJ;AAA5B;AAAZ,SAAjB,CAA3D,EAAyH5zB,CAAhI;AAAkI;;AAAAm4U,MAAAA,qBAAqB,GAAE;AAAC,cAAM9uT,CAAC,GAAC,EAAR;;AAAW,aAAI,IAAI2K,CAAC,GAAC,CAAV,EAAYA,CAAC,GAAC,GAAd,EAAkBA,CAAC,EAAnB,EAAsB;AAAC,gBAAMJ,CAAC,GAAC2xB,IAAI,CAACkwC,KAAL,CAAWzhE,CAAC,GAAC,EAAb,CAAR;AAAA,gBAAyB4B,CAAC,GAAC5B,CAAC,GAAC,EAA7B;AAAA,gBAAgCh0B,CAAC,GAAE,GAAE4zB,CAAC,GAAC,CAAE,MAAKgC,CAAC,GAAC,CAAE,EAAlD;AAAoDvM,UAAAA,CAAC,CAACiG,IAAF,CAAO,KAAKipT,iBAAL,CAAuB,KAAK/3H,MAA5B,EAAmC5sL,CAAC,GAAC,CAArC,EAAuCgC,CAAC,GAAC,CAAzC,EAA2C51B,CAA3C,CAAP;AAAsD;;AAAA,eAAO,KAAK2oQ,gBAAL,CAAsBt/O,CAAtB,CAAP;AAAgC;;AAA5lF;;AAA6lF,UAAMmvT,EAAN,SAAiB9lE,EAAjB,CAAmB;AAAsB,iBAAVwB,UAAU,GAAE;AAAC,eAAM,SAAN;AAAgB;;AAAAtpR,MAAAA,IAAI,GAAE;AAAC,cAAMy+B,CAAC,GAAC,KAAKgiF,MAAb;AAAA,cAAoBr3E,CAAC,GAAC,KAAKq3E,MAAL,CAAYhiF,CAAlC;AAAA,cAAoCuK,CAAC,GAAC,UAAQvK,CAAC,CAACm3L,MAAF,CAASglD,wBAAvD;AAAgFn8O,QAAAA,CAAC,CAACklF,EAAF,CAAKojN,gBAAL,CAAsB1zS,GAAtB,CAA0B,aAA1B,EAAyC2V,CAAC,IAAE;AAAC,gBAAMgC,CAAC,GAACvM,CAAC,CAACm1R,QAAF,CAAW10T,GAAX,CAAe,aAAf,CAAR;AAAA,gBAAsCkW,CAAC,GAAC6iT,EAAE,CAACjvR,CAAD,CAA1C;AAA8C,cAAIkC,CAAJ;AAAM,iBAAO91B,CAAC,CAACoe,IAAF,CAAO,WAAP,EAAoB03J,EAApB,CAAuBlgJ,CAAvB,GAA0B51B,CAAC,CAACuwQ,UAAF,CAAapiP,GAAb,CAAiB;AAACxnB,YAAAA,IAAI,EAAC,6TAAN;AAAoUouB,YAAAA,KAAK,EAACf,CAAC,CAAC,cAAD,CAA3U;AAA4V2uR,YAAAA,OAAO,EAAC,CAAC;AAArW,WAAjB,CAA1B,EAAoZ3iT,CAAC,CAAC8K,EAAF,CAAK,eAAL,EAAsB,MAAI;AAACgrB,YAAAA,CAAC,KAAGA,CAAC,GAAC,IAAIoiT,EAAJ,CAAOtkT,CAAP,CAAF,EAAY5zB,CAAC,CAACwwQ,SAAF,CAAY7/Q,QAAZ,CAAqBstB,GAArB,CAAyB6X,CAAzB,CAAZ,EAAwCA,CAAC,CAAC05N,QAAF,CAAW,SAAX,EAAsB15E,EAAtB,CAAyB91K,CAAzB,CAAxC,EAAoEA,CAAC,CAAC8K,EAAF,CAAK,SAAL,EAAgB,MAAI;AAACue,cAAAA,CAAC,CAACmqP,OAAF,CAAU,aAAV,EAAwB;AAAC47D,gBAAAA,IAAI,EAACt5S,CAAC,CAACs5S,IAAR;AAAaiE,gBAAAA,OAAO,EAACv9S,CAAC,CAACu9S;AAAvB,eAAxB,GAAyDhqT,CAAC,CAACu1R,OAAF,CAAUz/G,IAAV,CAAe9iI,KAAf,EAAzD;AAAgF,aAArG,CAAvE,CAAD;AAAiL,WAA5M,CAApZ,EAAmmBr8D,CAA1mB;AAA4mB,SAA7sB,GAAgtBqpB,CAAC,CAACklF,EAAF,CAAKojN,gBAAL,CAAsB1zS,GAAtB,CAA0B,aAA1B,EAAyCoL,CAAC,IAAE;AAAC,gBAAMuM,CAAC,GAAC,CAAC;AAACt1B,YAAAA,IAAI,EAAC,cAAN;AAAqBsF,YAAAA,KAAK,EAAC;AAACgpI,cAAAA,WAAW,EAAC,sBAAb;AAAoC75G,cAAAA,KAAK,EAACf,CAAC,CAAC,eAAD,CAA3C;AAA6DykT,cAAAA,QAAQ,EAAC,CAAC;AAAvE;AAA3B,WAAD,EAAuG;AAACn4U,YAAAA,IAAI,EAAC;AAAN,WAAvG,EAA0H;AAACA,YAAAA,IAAI,EAAC,QAAN;AAAesF,YAAAA,KAAK,EAAC;AAACgpI,cAAAA,WAAW,EAACh7G,CAAC,GAAC,uBAAD,GAAyB,wBAAvC;AAAgEmB,cAAAA,KAAK,EAACf,CAAC,CAAC,oBAAD;AAAvE;AAArB,WAA1H,EAA+O;AAAC1zB,YAAAA,IAAI,EAAC,QAAN;AAAesF,YAAAA,KAAK,EAAC;AAACgpI,cAAAA,WAAW,EAACh7G,CAAC,GAAC,wBAAD,GAA0B,uBAAxC;AAAgEmB,cAAAA,KAAK,EAACf,CAAC,CAAC,qBAAD;AAAvE;AAArB,WAA/O,EAAqW;AAAC1zB,YAAAA,IAAI,EAAC,QAAN;AAAesF,YAAAA,KAAK,EAAC;AAACgpI,cAAAA,WAAW,EAAC,mBAAb;AAAiC75G,cAAAA,KAAK,EAACf,CAAC,CAAC,eAAD;AAAxC;AAArB,WAArW,EAAsb;AAAC1zB,YAAAA,IAAI,EAAC,QAAN;AAAesF,YAAAA,KAAK,EAAC;AAACgpI,cAAAA,WAAW,EAAC,mBAAb;AAAiC75G,cAAAA,KAAK,EAACf,CAAC,CAAC,eAAD;AAAxC;AAArB,WAAtb,CAAR;AAAghB,iBAAO,KAAK0kT,gBAAL,CAAsB1kT,CAAC,CAAC,QAAD,CAAvB,EAAkC,wYAAlC,EAA2a4B,CAA3a,EAA6avM,CAA7a,CAAP;AAAub,SAAp/B,CAAhtB,EAAusDA,CAAC,CAACklF,EAAF,CAAKojN,gBAAL,CAAsB1zS,GAAtB,CAA0B,UAA1B,EAAsCoL,CAAC,IAAE;AAAC,gBAAMuK,CAAC,GAAC,CAAC;AAACtzB,YAAAA,IAAI,EAAC,cAAN;AAAqBsF,YAAAA,KAAK,EAAC;AAACgpI,cAAAA,WAAW,EAAC,mBAAb;AAAiC75G,cAAAA,KAAK,EAACf,CAAC,CAAC,YAAD,CAAxC;AAAuDykT,cAAAA,QAAQ,EAAC,CAAC;AAAjE;AAA3B,WAAD,EAAiG;AAACn4U,YAAAA,IAAI,EAAC;AAAN,WAAjG,EAAoH;AAACA,YAAAA,IAAI,EAAC,QAAN;AAAesF,YAAAA,KAAK,EAAC;AAACgpI,cAAAA,WAAW,EAAC,qBAAb;AAAmC75G,cAAAA,KAAK,EAACf,CAAC,CAAC,kBAAD;AAA1C;AAArB,WAApH,EAA0M;AAAC1zB,YAAAA,IAAI,EAAC,QAAN;AAAesF,YAAAA,KAAK,EAAC;AAACgpI,cAAAA,WAAW,EAAC,qBAAb;AAAmC75G,cAAAA,KAAK,EAACf,CAAC,CAAC,kBAAD;AAA1C;AAArB,WAA1M,EAAgS;AAAC1zB,YAAAA,IAAI,EAAC,QAAN;AAAesF,YAAAA,KAAK,EAAC;AAACgpI,cAAAA,WAAW,EAAC,gBAAb;AAA8B75G,cAAAA,KAAK,EAACf,CAAC,CAAC,YAAD;AAArC;AAArB,WAAhS,EAA2W;AAAC1zB,YAAAA,IAAI,EAAC,QAAN;AAAesF,YAAAA,KAAK,EAAC;AAACgpI,cAAAA,WAAW,EAAC,gBAAb;AAA8B75G,cAAAA,KAAK,EAACf,CAAC,CAAC,YAAD;AAArC;AAArB,WAA3W,CAAR;AAA+b,iBAAO,KAAK0kT,gBAAL,CAAsB1kT,CAAC,CAAC,KAAD,CAAvB,EAA+B,qYAA/B,EAAqaJ,CAAra,EAAuavK,CAAva,CAAP;AAAib,SAA15B,CAAvsD,EAAomFA,CAAC,CAACklF,EAAF,CAAKojN,gBAAL,CAAsB1zS,GAAtB,CAA0B,iBAA1B,EAA6CoL,CAAC,IAAE;AAAC,gBAAMuM,CAAC,GAAC,CAAC;AAACt1B,YAAAA,IAAI,EAAC,QAAN;AAAesF,YAAAA,KAAK,EAAC;AAACgpI,cAAAA,WAAW,EAAC,kBAAb;AAAgC75G,cAAAA,KAAK,EAACf,CAAC,CAAC,eAAD;AAAvC;AAArB,WAAD,EAAiF;AAAC1zB,YAAAA,IAAI,EAAC,QAAN;AAAesF,YAAAA,KAAK,EAAC;AAACgpI,cAAAA,WAAW,EAACh7G,CAAC,GAAC,qBAAD,GAAuB,oBAArC;AAA0DmB,cAAAA,KAAK,EAACf,CAAC,CAAC,kBAAD;AAAjE;AAArB,WAAjF,EAA8L;AAAC1zB,YAAAA,IAAI,EAAC,QAAN;AAAesF,YAAAA,KAAK,EAAC;AAACgpI,cAAAA,WAAW,EAAC,oBAAb;AAAkC75G,cAAAA,KAAK,EAACf,CAAC,CAAC,iBAAD;AAAzC;AAArB,WAA9L,EAAkR;AAAC1zB,YAAAA,IAAI,EAAC,QAAN;AAAesF,YAAAA,KAAK,EAAC;AAACgpI,cAAAA,WAAW,EAACh7G,CAAC,GAAC,oBAAD,GAAsB,qBAApC;AAA0DmB,cAAAA,KAAK,EAACf,CAAC,CAAC,iBAAD;AAAjE;AAArB,WAAlR,EAA8X;AAAC1zB,YAAAA,IAAI,EAAC;AAAN,WAA9X,EAAiZ;AAACA,YAAAA,IAAI,EAAC,QAAN;AAAesF,YAAAA,KAAK,EAAC;AAACgpI,cAAAA,WAAW,EAAC,0BAAb;AAAwC75G,cAAAA,KAAK,EAACf,CAAC,CAAC,uBAAD;AAA/C;AAArB,WAAjZ,EAAif;AAAC1zB,YAAAA,IAAI,EAAC,QAAN;AAAesF,YAAAA,KAAK,EAAC;AAACgpI,cAAAA,WAAW,EAAC,4BAAb;AAA0C75G,cAAAA,KAAK,EAACf,CAAC,CAAC,yBAAD;AAAjD;AAArB,WAAjf,CAAR;AAA8lB,iBAAO,KAAK2kT,gCAAL,CAAsC3kT,CAAC,CAAC,aAAD,CAAvC,EAAuD,wYAAvD,EAAgc4B,CAAhc,EAAkcvM,CAAlc,CAAP;AAA4c,SAA3lC,CAApmF;AAAksH;;AAAAqvT,MAAAA,gBAAgB,CAACrvT,CAAD,EAAG2K,CAAH,EAAKJ,CAAL,EAAOgC,CAAP,EAAS;AAAC,cAAM51B,CAAC,GAAC,KAAKqrG,MAAb;AAAA,cAAoBv1E,CAAC,GAAC+sR,EAAE,CAACjtR,CAAD,CAAxB;AAAA,cAA4BjC,CAAC,GAAC,KAAKilT,4BAAL,CAAkC9iT,CAAlC,EAAoClC,CAApC,CAA9B;;AAAqE,eAAOkC,CAAC,CAACy6O,UAAF,CAAapiP,GAAb,CAAiB;AAAC4G,UAAAA,KAAK,EAAC1L,CAAP;AAAS1iB,UAAAA,IAAI,EAACqtB,CAAd;AAAgB2uR,UAAAA,OAAO,EAAC,CAAC;AAAzB,SAAjB,GAA8C7sR,CAAC,CAAC1X,IAAF,CAAO,WAAP,EAAoB8xO,MAApB,CAA2Bv8N,CAA3B,EAA6B,WAA7B,EAA0C,CAAC,GAAGtK,CAAJ,KAAQA,CAAC,CAACnkB,IAAF,CAAQmkB,CAAC,IAAEA,CAAX,CAAlD,CAA9C,EAAiH,KAAKwlO,QAAL,CAAc/4N,CAAd,EAAgB,SAAhB,EAA2BzM,CAAC,IAAE;AAACrpB,UAAAA,CAAC,CAACwzQ,OAAF,CAAUnqP,CAAC,CAACuc,MAAF,CAASgpG,WAAnB,GAAgCvlH,CAAC,CAACuc,MAAF,YAAoByoO,EAApB,IAAwBruQ,CAAC,CAAC4+S,OAAF,CAAUz/G,IAAV,CAAe9iI,KAAf,EAAxD;AAA+E,SAA9G,CAAjH,EAAkOvmC,CAAzO;AAA2O;;AAAA6iT,MAAAA,gCAAgC,CAACtvT,CAAD,EAAG2K,CAAH,EAAKJ,CAAL,EAAOgC,CAAP,EAAS;AAAC,cAAM51B,CAAC,GAAC,KAAKqrG,MAAb;AAAA,cAAoBv1E,CAAC,GAAC+sR,EAAE,CAACjtR,CAAD,EAAG0vR,EAAH,CAAxB;AAAA,cAA+B3xR,CAAC,GAAC,iBAAjC;AAAA,cAAmD83C,CAAC,GAACzrE,CAAC,CAACw+S,QAAF,CAAW10T,GAAX,CAAe6pC,CAAf,CAArD;AAAA,cAAuEqzI,CAAC,GAAC,KAAK4xK,4BAAL,CAAkC9iT,CAAlC,EAAoClC,CAApC,CAAzE;;AAAgH,eAAOkC,CAAC,CAACy6O,UAAF,CAAapiP,GAAb,CAAiB;AAAC4G,UAAAA,KAAK,EAAC1L,CAAP;AAAS1iB,UAAAA,IAAI,EAACqtB,CAAd;AAAgB2uR,UAAAA,OAAO,EAAC,CAAC,CAAzB;AAA2Bj/J,UAAAA,SAAS,EAAC,CAAC;AAAtC,SAAjB,GAA2D5tH,CAAC,CAAC1X,IAAF,CAAO,WAAP,EAAoB8xO,MAApB,CAA2B,CAACzkL,CAAD,EAAG,GAAGu7F,CAAN,CAA3B,EAAoC,WAApC,EAAiD,CAAC,GAAG39I,CAAJ,KAAQA,CAAC,CAACnkB,IAAF,CAAQmkB,CAAC,IAAEA,CAAX,CAAzD,CAA3D,EAAqI,KAAKwlO,QAAL,CAAc/4N,CAAC,CAACy6O,UAAhB,EAA2B,SAA3B,EAAsC,MAAI;AAACvwQ,UAAAA,CAAC,CAACwzQ,OAAF,CAAU7/O,CAAV,GAAa3zB,CAAC,CAAC4+S,OAAF,CAAUz/G,IAAV,CAAe9iI,KAAf,EAAb;AAAoC,SAA/E,CAArI,EAAuN,KAAKwyL,QAAL,CAAc/4N,CAAd,EAAgB,SAAhB,EAA2BzM,CAAC,IAAE;AAACrpB,UAAAA,CAAC,CAACwzQ,OAAF,CAAUnqP,CAAC,CAACuc,MAAF,CAASgpG,WAAnB,GAAgC5uI,CAAC,CAAC4+S,OAAF,CAAUz/G,IAAV,CAAe9iI,KAAf,EAAhC;AAAuD,SAAtF,CAAvN,EAAgTvmC,CAAvT;AAAyT;;AAAA8iT,MAAAA,4BAA4B,CAACvvT,CAAD,EAAG2K,CAAH,EAAK;AAAC,cAAMJ,CAAC,GAAC,KAAKy3E,MAAb;AAAA,cAAoBz1E,CAAC,GAAC,EAAtB;AAAA,cAAyB51B,CAAC,GAAC,IAAIylQ,EAAJ,EAA3B;;AAAkC,aAAI,MAAMp8O,CAAV,IAAe2K,CAAf,EAAiB6kT,EAAE,CAACxvT,CAAD,EAAGuK,CAAH,EAAKgC,CAAL,EAAO51B,CAAP,CAAF;;AAAY,eAAOirH,EAAE,CAAC5hG,CAAD,EAAGrpB,CAAH,CAAF,EAAQ41B,CAAf;AAAiB;;AAAjtJ;;AAAktJ,aAASijT,EAAT,CAAYxvT,CAAZ,EAAc2K,CAAd,EAAgBJ,CAAhB,EAAkBgC,CAAlB,EAAoB;AAAC,UAAG,aAAWvM,CAAC,CAAC/oB,IAAb,IAAmB,mBAAiB+oB,CAAC,CAAC/oB,IAAzC,EAA8C;AAAC,cAAMs1B,CAAC,GAACvM,CAAC,CAACzjB,KAAF,GAAQ,IAAIkuT,EAAJ,CAAOzqS,CAAC,CAACzjB,KAAT,CAAhB;AAAA,cAAgC;AAACgpI,UAAAA,WAAW,EAAC5uI,CAAb;AAAey4U,UAAAA,QAAQ,EAAC3iT;AAAxB,YAA2BzM,CAAC,CAACzjB,KAA7D;AAAA,cAAmE+tB,CAAC,GAACK,CAAC,CAACwqR,QAAF,CAAW10T,GAAX,CAAekW,CAAf,CAArE;AAAuF4zB,QAAAA,CAAC,CAACtE,IAAF,CAAOqE,CAAP,GAAUiC,CAAC,CAACzH,GAAF,CAAM;AAACygH,UAAAA,WAAW,EAAC5uI;AAAb,SAAN,CAAV,EAAiC41B,CAAC,CAACxX,IAAF,CAAO,WAAP,EAAoB03J,EAApB,CAAuBniJ,CAAvB,CAAjC,EAA2DmC,CAAC,IAAEF,CAAC,CAACxX,IAAF,CAAO,MAAP,EAAe03J,EAAf,CAAkBniJ,CAAlB,EAAoB,OAApB,CAA9D,EAA2FiC,CAAC,CAACzH,GAAF,CAAM;AAACy0R,UAAAA,QAAQ,EAAC,CAAC;AAAX,SAAN,CAA3F;AAAgH;;AAAAhtR,MAAAA,CAAC,CAAC3X,GAAF,CAAMoL,CAAN;AAAS;;AAAA,QAAIyvT,EAAE,GAACllT,CAAC,CAAC,IAAD,CAAR;AAAA,QAAemlT,EAAE,GAAC;AAACzwE,MAAAA,UAAU,EAAC,mBAAZ;AAAgCh7J,MAAAA,UAAU,EAAC;AAAC,oBAAW,CAAC;AAAb,OAA3C;AAA2DqC,MAAAA,MAAM,EAAC,MAAlE;AAAyEy9I,MAAAA,SAAS,EAAC,CAAC;AAApF,KAAlB;AAAyG+a,IAAAA,EAAE,GAAG2wE,EAAE,CAACltF,CAAN,EAAQmtF,EAAR,CAAF;AAAcD,IAAAA,EAAE,CAACltF,CAAH,CAAK2c,MAAL;;AAAY,UAAMywE,EAAN,SAAiBtmE,EAAjB,CAAmB;AAAsB,iBAAVwB,UAAU,GAAE;AAAC,eAAM,gBAAN;AAAuB;;AAAmB,iBAARE,QAAQ,GAAE;AAAC,eAAM,CAACmhE,EAAD,EAAIA,EAAJ,CAAN;AAAc;;AAAA3qV,MAAAA,IAAI,GAAE;AAAC,cAAMy+B,CAAC,GAAC,KAAKgiF,MAAb;AAAA,cAAoBr3E,CAAC,GAAC3K,CAAC,CAACzjB,KAAxB;AAAA,cAA8BguB,CAAC,GAACvK,CAAC,CAACu1R,OAAF,CAAUz/G,IAA1C;AAA+C,aAAK0vD,QAAL,CAAc76N,CAAd,EAAgB,eAAhB,EAAiC,CAAC3K,CAAD,EAAG2K,CAAH,KAAO,KAAKilT,oBAAL,CAA0B5vT,CAA1B,EAA4B2K,CAA5B,CAAxC,EAAwE;AAACg7E,UAAAA,QAAQ,EAAC;AAAV,SAAxE,GAA2F,KAAK6/I,QAAL,CAAcj7N,CAAC,CAAC7I,QAAhB,EAAyB,YAAzB,EAAuC,CAAC1B,CAAD,EAAG2K,CAAH,KAAO,KAAKklT,sBAAL,CAA4B7vT,CAA5B,EAA8B2K,CAA9B,CAA9C,EAAgF;AAACg7E,UAAAA,QAAQ,EAAC;AAAV,SAAhF,CAA3F,EAA8L,KAAKmqO,yBAAL,EAA9L,EAA+N,KAAKC,sBAAL,EAA/N;AAA6P;;AAAAnD,MAAAA,qBAAqB,GAAE;AAAC,cAAM5sT,CAAC,GAAC,KAAKgiF,MAAL,CAAYyB,OAAZ,CAAoBhjH,GAApB,CAAwByrV,EAAxB,CAAR;AAAA,cAAoCvhT,CAAC,GAAC,KAAKq3E,MAAL,CAAYzlG,KAAZ,CAAkBmlB,QAAlB,CAA2BooP,SAAjE;AAAA,cAA2Ev/O,CAAC,GAACvK,CAAC,CAAC4sT,qBAAF,CAAwBjiT,CAAxB,CAA7E;AAAwG,eAAO,KAAGJ,CAAC,CAAC59B,MAAL,GAAY,IAAZ,GAAiB49B,CAAxB;AAA0B;;AAAAylT,MAAAA,sBAAsB,GAAE;AAAC,cAAMhwT,CAAC,GAAC,KAAKgiF,MAAL,CAAYyB,OAAZ,CAAoBhjH,GAApB,CAAwByrV,EAAxB,CAAR;AAAA,cAAoCvhT,CAAC,GAAC,KAAKiiT,qBAAL,EAAtC;AAAmE,eAAOjiT,CAAC,GAAC,KAAKq3E,MAAL,CAAYzlG,KAAZ,CAAkBmlM,MAAlB,CAA0Bn3K,CAAC,IAAE;AAAC,gBAAMgC,CAAC,GAAChC,CAAC,CAAC+3O,sBAAF,EAAR;AAAA,gBAAmC;AAACxF,YAAAA,KAAK,EAACnmQ,CAAP;AAAS6qM,YAAAA,IAAI,EAAC/0K;AAAd,cAAiBzM,CAAC,CAAC8pT,gBAAF,CAAmBn/S,CAAnB,CAApD;AAAA,gBAA0E;AAACmyO,YAAAA,KAAK,EAACxyO,CAAP;AAASk3K,YAAAA,IAAI,EAACp/H;AAAd,cAAiBpiD,CAAC,CAAC0pT,aAAF,CAAgB/+S,CAAhB,CAA3F;AAAA,gBAA8GgzI,CAAC,GAAChzI,CAAC,CAAC,CAAD,CAAD,CAAK0oP,YAAL,CAAkB,OAAlB,CAAhH;AAA2I,cAAInnE,CAAC,GAAC9pI,CAAN;AAAA,cAAQx4C,CAAC,GAAC6C,CAAV;;AAAY,cAAGzM,CAAC,CAAC+sT,sBAAF,CAAyBpiT,CAAzB,CAAH,EAA+B;AAAC,kBAAM3K,CAAC,GAAC;AAACirT,cAAAA,WAAW,EAACt0U,CAAb;AAAeu0U,cAAAA,UAAU,EAACz+S,CAA1B;AAA4B4+S,cAAAA,QAAQ,EAAC/gT,CAArC;AAAuC6gT,cAAAA,OAAO,EAAC/oQ;AAA/C,aAAR;AAA0D8pI,YAAAA,CAAC,GAAC8T,EAAE,CAACriD,CAAD,EAAG39I,CAAH,CAAJ,EAAU4J,CAAC,GAACwhT,EAAE,CAACztK,CAAD,EAAG39I,CAAH,CAAd;AAAoB;;AAAA,gBAAM42I,CAAC,GAACwzK,EAAE,CAACzsK,CAAD,EAAG;AAAC8oK,YAAAA,QAAQ,EAACn8S,CAAV;AAAYu8S,YAAAA,WAAW,EAAClwU,CAAxB;AAA0BgwU,YAAAA,MAAM,EAACz6H,CAAjC;AAAmC66H,YAAAA,SAAS,EAACn9S;AAA7C,WAAH,EAAmDW,CAAnD,CAAV;AAAgE,iBAAOA,CAAC,CAAC+7E,MAAF,CAASswD,CAAT,EAAWrqI,CAAX,EAAa,CAAb,GAAgBA,CAAvB;AAAyB,SAA5X,CAAD,GAAgY,IAAxY;AAA6Y;;AAAA0jT,MAAAA,gBAAgB,CAACjwT,CAAD,EAAG2K,CAAH,EAAK;AAAC,cAAMJ,CAAC,GAAC,KAAK2lT,iBAAL,CAAuBlwT,CAAvB,EAAyB2K,CAAzB,CAAR;;AAAoC,aAAKq3E,MAAL,CAAYzlG,KAAZ,CAAkBmlM,MAAlB,CAA0B1hL,CAAC,IAAE;AAACA,UAAAA,CAAC,CAACm7P,YAAF,CAAe5wP,CAAC,CAAC4lT,KAAF,CAAQ3mV,GAAR,CAAamhC,CAAC,IAAE3K,CAAC,CAACs9P,aAAF,CAAgB3yP,CAAhB,CAAhB,CAAf,EAAoD;AAACqtP,YAAAA,QAAQ,EAACztP,CAAC,CAACytP;AAAZ,WAApD;AAA2E,SAAzG;AAA4G;;AAAAo4D,MAAAA,YAAY,GAAE;AAAC,cAAMpwT,CAAC,GAAC,CAAC,GAAG,KAAKgiF,MAAL,CAAYzlG,KAAZ,CAAkBmlB,QAAlB,CAA2BooP,SAA3B,CAAqCyN,SAArC,EAAJ,EAAsDh5P,GAAtD,GAA4Dk4P,mBAA5D,EAAR;AAA0F,eAAOz2P,CAAC,IAAEA,CAAC,CAAC6qF,EAAF,CAAK,SAAL,EAAe,WAAf,CAAH,GAA+B7qF,CAA/B,GAAiC,IAAxC;AAA6C;;AAAAqwT,MAAAA,aAAa,GAAE;AAAC,cAAMrwT,CAAC,GAACs9O,EAAE,CAAC,KAAKt7J,MAAL,CAAYzlG,KAAZ,CAAkBmlB,QAAlB,CAA2BooP,SAA3B,CAAqCyN,SAArC,EAAD,CAAF,CAAqDd,mBAArD,EAAR;AAAmF,eAAOz2P,CAAC,IAAEA,CAAC,CAAC6qF,EAAF,CAAK,SAAL,EAAe,WAAf,CAAH,GAA+B7qF,CAA/B,GAAiC,IAAxC;AAA6C;;AAAA8vT,MAAAA,yBAAyB,GAAE;AAAC,cAAM9vT,CAAC,GAAC,KAAKgiF,MAAb;AAAA,cAAoBr3E,CAAC,GAAC,IAAIknE,GAAJ,EAAtB;AAA8B7xE,QAAAA,CAAC,CAACk5N,UAAF,CAAaxe,GAAb,CAAiB,iBAAjB,EAAoC9lN,GAApC,CAAyCoL,CAAC,IAAEA,CAAC,CAACve,EAAF,CAAK,WAAL,EAAkB,CAACue,CAAD,EAAGuK,CAAH,EAAKgC,CAAL,KAAS;AAAC,gBAAM51B,CAAC,GAAC41B,CAAC,CAACg5E,MAAV;AAAiB,WAAC,UAASvlF,CAAT,EAAW;AAAC,iBAAI,MAAMuK,CAAV,IAAeI,CAAf,EAAiB3K,CAAC,CAACysP,WAAF,CAAc,8BAAd,EAA6CliP,CAA7C;;AAAgDI,YAAAA,CAAC,CAAC+T,KAAF;AAAU,WAAvF,CAAwF/nC,CAAxF,CAAD;AAA4F,gBAAM81B,CAAC,GAAC,KAAKmgT,qBAAL,EAAR;AAAqC,cAAG,CAACngT,CAAJ,EAAM;;AAAO,eAAI,MAAMzM,CAAV,IAAeyM,CAAf,EAAiB;AAAC,kBAAMlC,CAAC,GAACgC,CAAC,CAAC2nQ,MAAF,CAASV,aAAT,CAAuBxzQ,CAAvB,CAAR;AAAkCrpB,YAAAA,CAAC,CAACi2Q,QAAF,CAAW,8BAAX,EAA0CriP,CAA1C,GAA6CI,CAAC,CAAC/V,GAAF,CAAM2V,CAAN,CAA7C;AAAsD;;AAAA,gBAAMD,CAAC,GAACiC,CAAC,CAAC2nQ,MAAF,CAASV,aAAT,CAAuB/mQ,CAAC,CAACA,CAAC,CAAC9/B,MAAF,GAAS,CAAV,CAAxB,CAAR;AAA8CgK,UAAAA,CAAC,CAACwkR,YAAF,CAAe7wP,CAAf,EAAiB,CAAjB;AAAoB,SAAvW,EAAyW;AAACq7E,UAAAA,QAAQ,EAAC;AAAV,SAAzW,CAA5C;AAA4a;;AAAAoqO,MAAAA,sBAAsB,GAAE;AAAC,cAAM/vT,CAAC,GAAC,KAAKgiF,MAAb;AAAoB,aAAKvgG,EAAL,CAAQ,kBAAR,EAA4B,MAAI;AAAC,cAAG,CAAC,KAAK44I,SAAT,EAAmB;AAAC,kBAAM1vH,CAAC,GAAC,KAAKiiT,qBAAL,EAAR;AAAqC,gBAAG,CAACjiT,CAAJ,EAAM;AAAO3K,YAAAA,CAAC,CAACzjB,KAAF,CAAQmlM,MAAR,CAAgBn3K,CAAC,IAAE;AAAC,oBAAMgC,CAAC,GAAChC,CAAC,CAAC4yP,gBAAF,CAAmBxyP,CAAC,CAAC,CAAD,CAApB,EAAwB,CAAxB,CAAR;AAAA,oBAAmCh0B,CAAC,GAACqpB,CAAC,CAACzjB,KAAF,CAAQolQ,MAAR,CAAei5B,wBAAf,CAAwCruQ,CAAxC,CAArC;AAAgFhC,cAAAA,CAAC,CAAC4wP,YAAF,CAAexkR,CAAf;AAAkB,aAAtH;AAAyH;AAAC,SAAjO;AAAoO;;AAAAi5U,MAAAA,oBAAoB,CAAC5vT,CAAD,EAAG2K,CAAH,EAAK;AAAC,cAAMJ,CAAC,GAAC,KAAKy3E,MAAL,CAAYyB,OAAZ,CAAoBhjH,GAApB,CAAwByrV,EAAxB,CAAR;AAAA,cAAoC3/S,CAAC,GAAC5B,CAAC,CAAC,CAAD,CAAvC;AAAA,cAA2Ch0B,CAAC,GAACg0B,CAAC,CAAC,CAAD,CAA9C;AAAA,cAAkD8B,CAAC,GAAC,KAAKu1E,MAAL,CAAYzlG,KAAhE;AAAA,cAAsE+tB,CAAC,GAAC,CAAC3zB,CAAD,IAAI,cAAYA,CAAC,CAAC+8N,SAA1F;AAAA,cAAoGtxJ,CAAC,GAAC73C,CAAC,CAACqiT,qBAAF,CAAwBrgT,CAAxB,CAAtG;AAAiI61C,QAAAA,CAAC,CAACz1E,MAAF,KAAWqzB,CAAC,CAAColF,IAAF,IAAS34E,CAAC,CAACi1K,MAAF,CAAU1hL,CAAC,IAAE;AAAC,gBAAM2K,CAAC,GAACy3C,CAAC,CAAC93C,CAAC,GAAC83C,CAAC,CAACz1E,MAAF,GAAS,CAAV,GAAY,CAAd,CAAT;AAA0B8/B,UAAAA,CAAC,CAACi1K,MAAF,CAAU1hL,CAAC,IAAE;AAAC,iBAAI,MAAM2K,CAAV,IAAey3C,CAAf,EAAiB31C,CAAC,CAACknR,aAAF,CAAgB3zR,CAAC,CAACw9P,eAAF,CAAkB7yP,CAAlB,EAAoB,IAApB,CAAhB;AAA2C,WAA1E;AAA6E,gBAAMJ,CAAC,GAACkC,CAAC,CAACk1O,MAAF,CAASi5B,wBAAT,CAAkC56Q,CAAC,CAACm9P,gBAAF,CAAmBxyP,CAAnB,EAAqB,CAArB,CAAlC,CAAR;AAAmE4B,UAAAA,CAAC,CAACs+E,EAAF,CAAK,mBAAL,IAA0B7qF,CAAC,CAACm7P,YAAF,CAAe5wP,CAAf,CAA1B,GAA4CgC,CAAC,CAACglP,KAAF,CAAQhnP,CAAR,CAA5C;AAAuD,SAA/O,CAApB;AAAuQ;;AAAAslT,MAAAA,sBAAsB,CAAC7vT,CAAD,EAAG2K,CAAH,EAAK;AAAC,cAAMJ,CAAC,GAAC,KAAKy3E,MAAb;AAAA,cAAoBz1E,CAAC,GAAC,KAAKqgT,qBAAL,EAAtB;AAAmD,YAAG,CAACrgT,CAAJ,EAAM;AAAO,cAAM51B,CAAC,GAAC4zB,CAAC,CAACgrR,OAAF,CAAUz/G,IAAlB;AAAA,cAAuBrpK,CAAC,GAAClC,CAAC,CAACgrR,OAAF,CAAUrhB,MAAnC;AAAA,cAA0C5pQ,CAAC,GAACiC,CAAC,CAAC/iC,GAAF,CAAOw2B,CAAC,IAAErpB,CAAC,CAAC2mR,aAAF,CAAgB7wP,CAAC,CAAC+mQ,aAAF,CAAgBxzQ,CAAhB,CAAhB,CAAV,CAA5C;AAA4F2K,QAAAA,CAAC,CAACm/O,SAAF,GAAYnzQ,CAAC,CAAC6mR,eAAF,CAAkBlzP,CAAlB,CAAZ;AAAiC;;AAAA4lT,MAAAA,iBAAiB,CAAClwT,CAAD,EAAG2K,CAAH,EAAK;AAAC,cAAMJ,CAAC,GAAC,KAAKy3E,MAAL,CAAYyB,OAAZ,CAAoBhjH,GAApB,CAAwB,YAAxB,CAAR;AAAA,cAA8C8rC,CAAC,GAAChC,CAAC,CAACs7S,eAAF,CAAkB7lT,CAAlB,CAAhD;AAAA,cAAqErpB,CAAC,GAAC4zB,CAAC,CAACs7S,eAAF,CAAkBl7S,CAAlB,CAAvE;AAAA,cAA4F8B,CAAC,GAACyvB,IAAI,CAACzqC,GAAL,CAAS8a,CAAC,CAACi6S,GAAX,EAAe7vU,CAAC,CAAC6vU,GAAjB,CAA9F;AAAA,cAAoHl8S,CAAC,GAAC4xB,IAAI,CAAC1qC,GAAL,CAAS+a,CAAC,CAACi6S,GAAX,EAAe7vU,CAAC,CAAC6vU,GAAjB,CAAtH;AAAA,cAA4IpkQ,CAAC,GAAClmB,IAAI,CAACzqC,GAAL,CAAS8a,CAAC,CAACq5S,MAAX,EAAkBjvU,CAAC,CAACivU,MAApB,CAA9I;AAAA,cAA0KjoK,CAAC,GAACzhH,IAAI,CAAC1qC,GAAL,CAAS+a,CAAC,CAACq5S,MAAX,EAAkBjvU,CAAC,CAACivU,MAApB,CAA5K;AAAA,cAAwM15H,CAAC,GAAC,IAAI/mL,KAAJ,CAAUmF,CAAC,GAACmC,CAAF,GAAI,CAAd,EAAiBm4N,IAAjB,CAAsB,IAAtB,EAA4Bp7P,GAA5B,CAAiC,MAAI,EAArC,CAA1M;AAAA,cAAoPogC,CAAC,GAAC;AAAC68S,UAAAA,QAAQ,EAACh6S,CAAV;AAAYk6S,UAAAA,MAAM,EAACr8S,CAAnB;AAAqBu8S,UAAAA,WAAW,EAACzkQ,CAAjC;AAAmC2kQ,UAAAA,SAAS,EAACppK;AAA7C,SAAtP;;AAAsS,aAAI,MAAK;AAAC6oK,UAAAA,GAAG,EAAC77S,CAAL;AAAOs9S,UAAAA,IAAI,EAAC19S;AAAZ,SAAT,IAA0B,IAAI67S,EAAJ,CAAOpmT,CAAC,CAACqzP,YAAF,CAAe,OAAf,CAAP,EAA+BzpP,CAA/B,CAA1B,EAA4DsiL,CAAC,CAACvhL,CAAC,GAAC8B,CAAH,CAAD,CAAOxG,IAAP,CAAYsE,CAAZ;;AAAe,cAAMqsI,CAAC,GAACjgK,CAAC,CAAC6vU,GAAF,GAAMj6S,CAAC,CAACi6S,GAAhB;AAAA,cAAoB1hU,CAAC,GAACnO,CAAC,CAACivU,MAAF,GAASr5S,CAAC,CAACq5S,MAAjC;AAAwC,eAAOhvK,CAAC,IAAEs1C,CAAC,CAAC38E,OAAF,EAAH,EAAezqH,CAAC,IAAEonM,CAAC,CAACrmL,OAAF,CAAW7F,CAAC,IAAEA,CAAC,CAACuvG,OAAF,EAAd,CAAlB,EAA8C;AAAC4gN,UAAAA,KAAK,EAACjkI,CAAC,CAAC4vF,IAAF,EAAP;AAAgB9jB,UAAAA,QAAQ,EAACphH,CAAC,IAAE9xJ;AAA5B,SAArD;AAAoF;;AAA50G;;AAA60G,UAAMwrU,EAAN,SAAiBjnE,EAAjB,CAAmB;AAAsB,iBAAVwB,UAAU,GAAE;AAAC,eAAM,gBAAN;AAAuB;;AAAmB,iBAARE,QAAQ,GAAE;AAAC,eAAM,CAAC4kE,EAAD,EAAIzD,EAAJ,CAAN;AAAc;;AAAA3qV,MAAAA,IAAI,GAAE;AAAC,cAAMy+B,CAAC,GAAC,KAAKgiF,MAAb;AAAA,cAAoBr3E,CAAC,GAAC3K,CAAC,CAACu1R,OAAF,CAAUz/G,IAAV,CAAep0K,QAArC;AAA8C,aAAK8jO,QAAL,CAAc76N,CAAd,EAAgB,MAAhB,EAAwB,CAAC3K,CAAD,EAAG2K,CAAH,KAAO,KAAK4lT,UAAL,CAAgBvwT,CAAhB,EAAkB2K,CAAlB,CAA/B,GAAsD,KAAK66N,QAAL,CAAc76N,CAAd,EAAgB,KAAhB,EAAuB,CAAC3K,CAAD,EAAG2K,CAAH,KAAO,KAAK4lT,UAAL,CAAgBvwT,CAAhB,EAAkB2K,CAAlB,CAA9B,CAAtD,EAA2G,KAAK66N,QAAL,CAAcxlO,CAAC,CAACzjB,KAAhB,EAAsB,eAAtB,EAAuC,CAACyjB,CAAD,EAAG,CAAC2K,CAAD,EAAGJ,CAAH,CAAH,KAAW,KAAKimT,gBAAL,CAAsBxwT,CAAtB,EAAwB2K,CAAxB,EAA0BJ,CAA1B,CAAlD,EAAgF;AAACo7E,UAAAA,QAAQ,EAAC;AAAV,SAAhF,CAA3G,EAA8M,KAAKiqI,QAAL,CAAc,uBAAd,CAA9M;AAAqP;;AAAA2gG,MAAAA,UAAU,CAACvwT,CAAD,EAAG2K,CAAH,EAAK;AAAC,cAAMJ,CAAC,GAAC,KAAKy3E,MAAL,CAAYyB,OAAZ,CAAoBhjH,GAApB,CAAwBkvV,EAAxB,CAAR;AAAoC,YAAG,CAACplT,CAAC,CAACqiT,qBAAF,EAAJ,EAA8B;AAAO,YAAG,SAAO5sT,CAAC,CAACxvB,IAAT,IAAe,CAAC,KAAKwxG,MAAL,CAAYzlG,KAAZ,CAAkBytQ,SAAlB,CAA4B,KAAKhoK,MAAL,CAAYzlG,KAAZ,CAAkBmlB,QAAlB,CAA2BooP,SAAvD,CAAnB,EAAqF;AAAOn/O,QAAAA,CAAC,CAAC4pC,cAAF,IAAmBv0C,CAAC,CAAColF,IAAF,EAAnB;AAA4B,cAAM74E,CAAC,GAAC,KAAKy1E,MAAL,CAAYr6G,IAApB;AAAA,cAAyBgP,CAAC,GAAC,KAAKqrG,MAAL,CAAYuzM,OAAZ,CAAoBz/G,IAApB,CAAyBp0K,QAApD;AAAA,cAA6D+K,CAAC,GAACF,CAAC,CAACk3Q,MAAF,CAASl5Q,CAAC,CAACylT,sBAAF,EAAT,CAA/D;AAAoGr5U,QAAAA,CAAC,CAAC+uG,IAAF,CAAO,iBAAP,EAAyB;AAACokI,UAAAA,YAAY,EAACn/M,CAAC,CAACm/M,YAAhB;AAA6B/lI,UAAAA,OAAO,EAACt3E,CAArC;AAAuClI,UAAAA,MAAM,EAACvE,CAAC,CAACxvB;AAAhD,SAAzB;AAAgF;;AAAAggV,MAAAA,gBAAgB,CAACxwT,CAAD,EAAG2K,CAAH,EAAKJ,CAAL,EAAO;AAAC,YAAGA,CAAC,IAAE,CAACA,CAAC,CAACsgF,EAAF,CAAK,mBAAL,CAAP,EAAiC;AAAO,cAAMt+E,CAAC,GAAC,KAAKy1E,MAAL,CAAYzlG,KAApB;AAAA,cAA0B5F,CAAC,GAAC,KAAKqrG,MAAL,CAAYyB,OAAZ,CAAoBhjH,GAApB,CAAwByrV,EAAxB,CAA5B;AAAwD,YAAIz/S,CAAC,GAAC,KAAKgkT,4BAAL,CAAkC9lT,CAAlC,EAAoC4B,CAApC,CAAN;AAA6C,YAAG,CAACE,CAAJ,EAAM;AAAO,cAAMnC,CAAC,GAAC3zB,CAAC,CAAC8yU,8BAAF,CAAiCl9S,CAAC,CAAC7K,QAAF,CAAWooP,SAA5C,CAAR;AAA+Dx/O,QAAAA,CAAC,CAAC39B,MAAF,IAAUqzB,CAAC,CAAColF,IAAF,IAAS74E,CAAC,CAACm1K,MAAF,CAAU1hL,CAAC,IAAE;AAAC,gBAAM2K,CAAC,GAAC;AAACopC,YAAAA,KAAK,EAACp9D,CAAC,CAACk0U,UAAF,CAAap+S,CAAb,CAAP;AAAuBwnC,YAAAA,MAAM,EAACt9D,CAAC,CAACoyU,OAAF,CAAUt8S,CAAV;AAA9B,WAAR;AAAA,gBAAoDlC,CAAC,GAAC,UAASvK,CAAT,EAAW2K,CAAX,EAAaJ,CAAb,EAAegC,CAAf,EAAiB;AAAC,kBAAM51B,CAAC,GAACqpB,CAAC,CAAC,CAAD,CAAD,CAAKqzP,YAAL,CAAkB,OAAlB,CAAR;AAAA,kBAAmC5mP,CAAC,GAACF,CAAC,CAACu9S,gBAAF,CAAmB9pT,CAAnB,CAArC;AAAA,kBAA2DsK,CAAC,GAACiC,CAAC,CAACm9S,aAAF,CAAgB1pT,CAAhB,CAA7D;AAAA,kBAAgFoiD,CAAC,GAAC;AAAC6oQ,cAAAA,WAAW,EAACx+S,CAAC,CAACqwO,KAAf;AAAqBouE,cAAAA,UAAU,EAACz+S,CAAC,CAAC+0K,IAAlC;AAAuC6pI,cAAAA,QAAQ,EAAC/gT,CAAC,CAACwyO,KAAlD;AAAwDquE,cAAAA,OAAO,EAAC7gT,CAAC,CAACk3K;AAAlE,aAAlF;AAAA,kBAA0J7jC,CAAC,GAAC,MAAI39I,CAAC,CAACrzB,MAAlK;AAAyKgxK,YAAAA,CAAC,KAAGv7F,CAAC,CAAC+oQ,OAAF,IAAWxgT,CAAC,CAACspC,MAAF,GAAS,CAApB,EAAsBmO,CAAC,CAAC8oQ,UAAF,IAAcvgT,CAAC,CAACopC,KAAF,GAAQ,CAA5C,EAA8C,UAAS/zC,CAAT,EAAW2K,CAAX,EAAaJ,CAAb,EAAegC,CAAf,EAAiB;AAAC,oBAAM51B,CAAC,GAAC41B,CAAC,CAACs+S,UAAF,CAAa7qT,CAAb,CAAR;AAAA,oBAAwByM,CAAC,GAACF,CAAC,CAACw8S,OAAF,CAAU/oT,CAAV,CAA1B;AAAuCuK,cAAAA,CAAC,GAAC5zB,CAAF,IAAK41B,CAAC,CAACw9S,aAAF,CAAgB/pT,CAAhB,EAAkB;AAACmiE,gBAAAA,EAAE,EAACxrF,CAAJ;AAAMqzU,gBAAAA,OAAO,EAACz/S,CAAC,GAAC5zB;AAAhB,eAAlB,CAAL;AAA2Cg0B,cAAAA,CAAC,GAAC8B,CAAF,IAAKF,CAAC,CAACo9S,UAAF,CAAa3pT,CAAb,EAAe;AAACmiE,gBAAAA,EAAE,EAAC11D,CAAJ;AAAMs5S,gBAAAA,IAAI,EAACp7S,CAAC,GAAC8B;AAAb,eAAf,CAAL;AAAqC,aAAzI,CAA0I91B,CAA1I,EAA4IyrE,CAAC,CAAC+oQ,OAAF,GAAU,CAAtJ,EAAwJ/oQ,CAAC,CAAC8oQ,UAAF,GAAa,CAArK,EAAuK3+S,CAAvK,CAAjD,CAAD;AAA6NoxI,YAAAA,CAAC,IAAE,CAACpxI,CAAC,CAACwgT,sBAAF,CAAyB/sT,CAAzB,CAAJ,GAAgC,UAASA,CAAT,EAAW2K,CAAX,EAAaJ,CAAb,EAAe;AAAC,oBAAK;AAAC8gT,gBAAAA,QAAQ,EAAC9+S,CAAV;AAAY4+S,gBAAAA,OAAO,EAACx0U,CAApB;AAAsBs0U,gBAAAA,WAAW,EAACx+S,CAAlC;AAAoCy+S,gBAAAA,UAAU,EAAC5gT;AAA/C,kBAAkDK,CAAvD;AAAA,oBAAyDy3C,CAAC,GAAC;AAAC06L,gBAAAA,KAAK,EAACvwO,CAAP;AAASi1K,gBAAAA,IAAI,EAAC7qM;AAAd,eAA3D;AAAA,oBAA4EgnK,CAAC,GAAC;AAACm/F,gBAAAA,KAAK,EAACrwO,CAAP;AAAS+0K,gBAAAA,IAAI,EAACl3K;AAAd,eAA9E;AAA+FomT,cAAAA,EAAE,CAAC1wT,CAAD,EAAGyM,CAAH,EAAK21C,CAAL,EAAO73C,CAAP,CAAF,EAAYmmT,EAAE,CAAC1wT,CAAD,EAAGsK,CAAC,GAAC,CAAL,EAAO83C,CAAP,EAAS73C,CAAT,CAAd,EAA0BomT,EAAE,CAAC3wT,CAAD,EAAGuM,CAAH,EAAKoxI,CAAL,EAAOpzI,CAAP,CAA5B,EAAsComT,EAAE,CAAC3wT,CAAD,EAAGrpB,CAAC,GAAC,CAAL,EAAOgnK,CAAP,EAASpzI,CAAT,EAAWgC,CAAX,CAAxC;AAAsD,aAArK,CAAsK51B,CAAtK,EAAwKyrE,CAAxK,EAA0K73C,CAA1K,CAAhC,IAA8M63C,CAAC,CAAC+oQ,OAAF,GAAUnrH,EAAE,CAACrpN,CAAD,EAAGyrE,CAAH,CAAZ,EAAkBA,CAAC,CAAC8oQ,UAAF,GAAaE,EAAE,CAACz0U,CAAD,EAAGyrE,CAAH,CAA/O;AAAsP,mBAAOA,CAAP;AAAS,WAAvpB,CAAwpB93C,CAAxpB,EAA0pBK,CAA1pB,EAA4pB3K,CAA5pB,EAA8pBrpB,CAA9pB,CAAtD;AAAA,gBAAutB41B,CAAC,GAAChC,CAAC,CAAC4gT,OAAF,GAAU5gT,CAAC,CAAC8gT,QAAZ,GAAqB,CAA9uB;AAAA,gBAAgvBjpQ,CAAC,GAAC73C,CAAC,CAAC2gT,UAAF,GAAa3gT,CAAC,CAAC0gT,WAAf,GAA2B,CAA7wB;AAAA,gBAA+wBttK,CAAC,GAAC;AAAC8oK,YAAAA,QAAQ,EAAC,CAAV;AAAYI,YAAAA,WAAW,EAAC,CAAxB;AAA0BF,YAAAA,MAAM,EAACzqR,IAAI,CAACzqC,GAAL,CAAS8a,CAAT,EAAW5B,CAAC,CAACspC,MAAb,IAAqB,CAAtD;AAAwD8yQ,YAAAA,SAAS,EAAC7qR,IAAI,CAACzqC,GAAL,CAAS2wD,CAAT,EAAWz3C,CAAC,CAACopC,KAAb,IAAoB;AAAtF,WAAjxB;;AAA02BtnC,UAAAA,CAAC,GAAC29S,EAAE,CAAC39S,CAAD,EAAGkxI,CAAH,EAAK39I,CAAL,CAAJ;;AAAY,gBAAMksL,CAAC,GAAC5hL,CAAC,CAAC,CAAD,CAAD,CAAK+oP,YAAL,CAAkB,OAAlB,CAAR;AAAA,gBAAmCzpP,CAAC,GAAC,KAAKgnT,+BAAL,CAAqCnkT,CAArC,EAAuC9B,CAAvC,EAAyCuhL,CAAzC,EAA2C3hL,CAA3C,EAA6CvK,CAA7C,CAArC;;AAAqF,cAAG,KAAKgiF,MAAL,CAAYyB,OAAZ,CAAoBhjH,GAApB,CAAwB,gBAAxB,EAA0C45J,SAA7C,EAAuD;AAAC,kBAAM1vH,CAAC,GAACh0B,CAAC,CAACk2U,UAAF,CAAajjT,CAAC,CAACpgC,GAAF,CAAOmhC,CAAC,IAAE3K,CAAC,CAACs9P,aAAF,CAAgB3yP,CAAhB,CAAV,CAAb,CAAR;AAAqD3K,YAAAA,CAAC,CAACm7P,YAAF,CAAexwP,CAAf;AAAkB,WAA/H,MAAoI3K,CAAC,CAACm7P,YAAF,CAAevxP,CAAC,CAAC,CAAD,CAAhB,EAAoB,CAApB;AAAuB,SAApnC,CAAnB,IAA2oCsgL,EAAE,CAACz9K,CAAD,EAAG91B,CAAH,CAA7oC;AAAmpC;;AAAAi6U,MAAAA,+BAA+B,CAAC5wT,CAAD,EAAG2K,CAAH,EAAKJ,CAAL,EAAOgC,CAAP,EAAS51B,CAAT,EAAW;AAAC,cAAK;AAACo9D,UAAAA,KAAK,EAACtnC,CAAP;AAASwnC,UAAAA,MAAM,EAAC3pC;AAAhB,YAAmBK,CAAxB;AAAA,cAA0By3C,CAAC,GAAC,UAASpiD,CAAT,EAAW2K,CAAX,EAAaJ,CAAb,EAAe;AAAC,gBAAMgC,CAAC,GAAC,IAAIpH,KAAJ,CAAUoF,CAAV,EAAaq6N,IAAb,CAAkB,IAAlB,EAAwBp7P,GAAxB,CAA6B,MAAI,IAAI27B,KAAJ,CAAUwF,CAAV,EAAai6N,IAAb,CAAkB,IAAlB,CAAjC,CAAR;;AAAmE,eAAI,MAAK;AAACghF,YAAAA,MAAM,EAACj7S,CAAR;AAAU67S,YAAAA,GAAG,EAACj8S,CAAd;AAAgB09S,YAAAA,IAAI,EAACtxU;AAArB,WAAT,IAAmC,IAAIyvU,EAAJ,CAAOpmT,CAAP,CAAnC,EAA6CuM,CAAC,CAAChC,CAAD,CAAD,CAAKI,CAAL,IAAQh0B,CAAR;;AAAU,iBAAO41B,CAAP;AAAS,SAAnJ,CAAoJvM,CAApJ,EAAsJyM,CAAtJ,EAAwJnC,CAAxJ,CAA5B;AAAA,cAAuLqzI,CAAC,GAAC,CAAC,GAAG,IAAIyoK,EAAJ,CAAO77S,CAAP,EAAS;AAACk8S,UAAAA,QAAQ,EAACl6S,CAAC,CAAC8+S,QAAZ;AAAqB1E,UAAAA,MAAM,EAACp6S,CAAC,CAAC4+S,OAA9B;AAAsCtE,UAAAA,WAAW,EAACt6S,CAAC,CAAC0+S,WAApD;AAAgElE,UAAAA,SAAS,EAACx6S,CAAC,CAAC2+S,UAA5E;AAAuFjE,UAAAA,eAAe,EAAC,CAAC;AAAxG,SAAT,CAAJ,CAAzL;AAAA,cAAmT/6H,CAAC,GAAC,EAArT;;AAAwT,YAAItiL,CAAJ;;AAAM,aAAI,MAAM5J,CAAV,IAAe29I,CAAf,EAAiB;AAAC,gBAAK;AAAC6oK,YAAAA,GAAG,EAAC77S,CAAL;AAAOi7S,YAAAA,MAAM,EAACr7S;AAAd,cAAiBvK,CAAtB;AAAwBuK,UAAAA,CAAC,KAAGgC,CAAC,CAAC0+S,WAAN,KAAoBrhT,CAAC,GAAC5J,CAAC,CAAC6oT,iBAAF,EAAtB;;AAA6C,gBAAMlrK,CAAC,GAAChzI,CAAC,GAAC4B,CAAC,CAAC8+S,QAAZ;AAAA,gBAAqBz0K,CAAC,GAACrsI,CAAC,GAACgC,CAAC,CAAC0+S,WAA3B;AAAA,gBAAuCnmU,CAAC,GAACs9D,CAAC,CAACu7F,CAAC,GAACrzI,CAAH,CAAD,CAAOssI,CAAC,GAACnqI,CAAT,CAAzC;AAAA,gBAAqDzC,CAAC,GAACllB,CAAC,GAACnO,CAAC,CAAC84S,YAAF,CAAe3qS,CAAf,CAAD,GAAmB,IAA3E;AAAA,gBAAgFknB,CAAC,GAAC,KAAK6kT,qBAAL,CAA2B7wT,CAA3B,EAA6BgK,CAA7B,EAA+BJ,CAA/B,EAAiCjzB,CAAjC,CAAlF;;AAAsHq1B,UAAAA,CAAC,KAAGq+S,EAAE,CAACr+S,CAAD,EAAGrB,CAAH,EAAKJ,CAAL,EAAOgC,CAAC,CAAC4+S,OAAT,EAAiB5+S,CAAC,CAAC2+S,UAAnB,EAA8Bv0U,CAA9B,CAAF,EAAmCu1M,CAAC,CAACjmL,IAAF,CAAO+F,CAAP,CAAnC,EAA6CpC,CAAC,GAACjzB,CAAC,CAACymR,mBAAF,CAAsBpxP,CAAtB,CAAlD,CAAD;AAA6E;;AAAA,cAAM4qI,CAAC,GAAChzI,QAAQ,CAAC2G,CAAC,CAACs3O,YAAF,CAAe,aAAf,KAA+B,GAAhC,CAAhB;AAAA,cAAqD/8P,CAAC,GAAC8e,QAAQ,CAAC2G,CAAC,CAACs3O,YAAF,CAAe,gBAAf,KAAkC,GAAnC,CAA/D;AAAA,cAAuG73O,CAAC,GAACuC,CAAC,CAAC8+S,QAAF,GAAWz0K,CAAX,IAAcA,CAAC,IAAErqI,CAAC,CAAC4+S,OAA5H;AAAA,cAAoIn/S,CAAC,GAACO,CAAC,CAAC0+S,WAAF,GAAcnmU,CAAd,IAAiBA,CAAC,IAAEynB,CAAC,CAAC2+S,UAA5J;;AAAuK,YAAGlhT,CAAH,EAAK;AAAC,gBAAMhK,CAAC,GAAC2wT,EAAE,CAACpmT,CAAD,EAAGqsI,CAAH,EAAK;AAACkmG,YAAAA,KAAK,EAACvwO,CAAC,CAAC0+S,WAAT;AAAqBzpI,YAAAA,IAAI,EAACj1K,CAAC,CAAC2+S;AAA5B,WAAL,EAA6Cv0U,CAA7C,EAA+C41B,CAAC,CAAC8+S,QAAjD,CAAV;AAAqEn/H,UAAAA,CAAC,CAACjmL,IAAF,CAAO,GAAGjG,CAAV;AAAa;;AAAA,YAAGgM,CAAH,EAAK;AAAC,gBAAMhM,CAAC,GAAC0wT,EAAE,CAACnmT,CAAD,EAAGzlB,CAAH,EAAK;AAACg4P,YAAAA,KAAK,EAACvwO,CAAC,CAAC8+S,QAAT;AAAkB7pI,YAAAA,IAAI,EAACj1K,CAAC,CAAC4+S;AAAzB,WAAL,EAAuCx0U,CAAvC,CAAV;AAAoDu1M,UAAAA,CAAC,CAACjmL,IAAF,CAAO,GAAGjG,CAAV;AAAa;;AAAA,eAAOksL,CAAP;AAAS;;AAAA2kI,MAAAA,qBAAqB,CAAC7wT,CAAD,EAAG2K,CAAH,EAAKJ,CAAL,EAAOgC,CAAP,EAAS;AAAC,cAAK;AAAC07S,UAAAA,IAAI,EAACtxU,CAAN;AAAQ8xU,UAAAA,QAAQ,EAACh8S;AAAjB,YAAoBzM,CAAzB;AAA2B,eAAOyM,CAAC,IAAEF,CAAC,CAAC0zE,MAAF,CAAStpG,CAAT,CAAH,EAAeg0B,CAAC,IAAE4B,CAAC,CAAC+5E,MAAF,CAAS37E,CAAT,EAAWJ,CAAX,GAAcI,CAAhB,IAAmB,IAA1C;AAA+C;;AAAA8lT,MAAAA,4BAA4B,CAACzwT,CAAD,EAAG2K,CAAH,EAAK;AAAC,YAAG,CAAC3K,CAAC,CAAC6qF,EAAF,CAAK,kBAAL,CAAD,IAA2B,CAAC7qF,CAAC,CAAC6qF,EAAF,CAAK,SAAL,CAA/B,EAA+C,OAAO,IAAP;AAAY,YAAG7qF,CAAC,CAAC6qF,EAAF,CAAK,SAAL,EAAe,OAAf,CAAH,EAA2B,OAAO7qF,CAAP;AAAS,YAAG,KAAGA,CAAC,CAAC0sP,UAAL,IAAiB1sP,CAAC,CAAC6sP,QAAF,CAAW,CAAX,EAAchiK,EAAd,CAAiB,SAAjB,EAA2B,OAA3B,CAApB,EAAwD,OAAO7qF,CAAC,CAAC6sP,QAAF,CAAW,CAAX,CAAP;AAAqB,cAAMtiP,CAAC,GAACI,CAAC,CAAC4yP,aAAF,CAAgBv9P,CAAhB,CAAR;;AAA2B,aAAI,MAAMA,CAAV,IAAeuK,CAAC,CAACg9F,QAAF,EAAf,EAA4B,IAAGvnG,CAAC,CAAC6qF,EAAF,CAAK,SAAL,EAAe,OAAf,CAAH,EAA2B;AAAC,gBAAMt+E,CAAC,GAAC5B,CAAC,CAACq8E,WAAF,CAAcz8E,CAAC,CAACk8E,KAAhB,EAAsB97E,CAAC,CAAC0yP,oBAAF,CAAuBr9P,CAAvB,CAAtB,CAAR;AAAyD,cAAG2K,CAAC,CAACu5Q,UAAF,CAAa33Q,CAAb,EAAe;AAAC43Q,YAAAA,iBAAiB,EAAC,CAAC;AAApB,WAAf,CAAH,EAA0C,OAAO,IAAP;AAAY,gBAAMxtS,CAAC,GAACg0B,CAAC,CAACq8E,WAAF,CAAcr8E,CAAC,CAACyyP,mBAAF,CAAsBp9P,CAAtB,CAAd,EAAuCuK,CAAC,CAACm8E,GAAzC,CAAR;AAAsD,iBAAO/7E,CAAC,CAACu5Q,UAAF,CAAavtS,CAAb,EAAe;AAACwtS,YAAAA,iBAAiB,EAAC,CAAC;AAApB,WAAf,IAAuC,IAAvC,GAA4CnkR,CAAnD;AAAqD;;AAAA,eAAO,IAAP;AAAY;;AAAzsH;;AAA0sH,aAAS2wT,EAAT,CAAY3wT,CAAZ,EAAc2K,CAAd,EAAgBJ,CAAhB,EAAkBgC,CAAlB,EAAoB51B,CAAC,GAAC,CAAtB,EAAwB;AAAC,UAAGg0B,CAAC,GAAC,CAAL,EAAO;AAAO,aAAO2/S,EAAE,CAACtqT,CAAD,EAAG2K,CAAH,EAAKh0B,CAAL,CAAF,CAAUhN,MAAV,CAAkB,CAAC;AAACi8U,QAAAA,MAAM,EAAC5lT,CAAR;AAAU0oT,QAAAA,SAAS,EAAC/9S;AAApB,OAAD,KAA0BmmT,EAAE,CAAC9wT,CAAD,EAAG2K,CAAH,EAAKJ,CAAL,CAA9C,EAAwD/gC,GAAxD,CAA6D,CAAC;AAACy+U,QAAAA,IAAI,EAACjoT;AAAN,OAAD,KAAYuqT,EAAE,CAACvqT,CAAD,EAAG2K,CAAH,EAAK4B,CAAL,CAA3E,CAAP;AAA4F;;AAAA,aAASmkT,EAAT,CAAY1wT,CAAZ,EAAc2K,CAAd,EAAgBJ,CAAhB,EAAkBgC,CAAlB,EAAoB;AAAC,UAAG5B,CAAC,GAAC,CAAL,EAAO;AAAO,aAAO+/S,EAAE,CAAC1qT,CAAD,EAAG2K,CAAH,CAAF,CAAQhhC,MAAR,CAAgB,CAAC;AAAC68U,QAAAA,GAAG,EAACxmT,CAAL;AAAO2oT,QAAAA,UAAU,EAACh+S;AAAlB,OAAD,KAAwBmmT,EAAE,CAAC9wT,CAAD,EAAG2K,CAAH,EAAKJ,CAAL,CAA1C,EAAoD/gC,GAApD,CAAyD,CAAC;AAACy+U,QAAAA,IAAI,EAACjoT,CAAN;AAAQ4lT,QAAAA,MAAM,EAACr7S;AAAf,OAAD,KAAqBogT,EAAE,CAAC3qT,CAAD,EAAGuK,CAAH,EAAKI,CAAL,EAAO4B,CAAP,CAAhF,CAAP;AAAmG;;AAAA,aAASukT,EAAT,CAAY9wT,CAAZ,EAAc2K,CAAd,EAAgBJ,CAAhB,EAAkB;AAAC,YAAMgC,CAAC,GAACvM,CAAC,GAAC2K,CAAF,GAAI,CAAZ;AAAA,YAAc;AAACmyO,QAAAA,KAAK,EAACnmQ,CAAP;AAAS6qM,QAAAA,IAAI,EAAC/0K;AAAd,UAAiBlC,CAA/B;AAAiC,aAAOvK,CAAC,IAAErpB,CAAH,IAAMqpB,CAAC,IAAEyM,CAAT,IAAYzM,CAAC,GAACrpB,CAAF,IAAK41B,CAAC,IAAE51B,CAA3B;AAA6B;;AAAA,UAAMo6U,EAAN,SAAiB1nE,EAAjB,CAAmB;AAAsB,iBAAVwB,UAAU,GAAE;AAAC,eAAM,eAAN;AAAsB;;AAAmB,iBAARE,QAAQ,GAAE;AAAC,eAAM,CAAC4kE,EAAD,EAAIzD,EAAJ,CAAN;AAAc;;AAAA3qV,MAAAA,IAAI,GAAE;AAAC,cAAMy+B,CAAC,GAAC,KAAKgiF,MAAL,CAAYuzM,OAAZ,CAAoBz/G,IAApB,CAAyBp0K,QAAjC;AAA0C,aAAK8jO,QAAL,CAAcxlO,CAAd,EAAgB,UAAhB,EAA4B,CAAC,GAAGA,CAAJ,KAAQ,KAAKgxT,WAAL,CAAiB,GAAGhxT,CAApB,CAApC,EAA4D;AAAC1vB,UAAAA,OAAO,EAAC;AAAT,SAA5D,GAA+E,KAAKk1P,QAAL,CAAcxlO,CAAd,EAAgB,KAAhB,EAAuB,CAAC,GAAGA,CAAJ,KAAQ,KAAKixT,yBAAL,CAA+B,GAAGjxT,CAAlC,CAA/B,EAAqE;AAAC1vB,UAAAA,OAAO,EAAC;AAAT,SAArE,CAA/E,EAAwK,KAAKk1P,QAAL,CAAcxlO,CAAd,EAAgB,KAAhB,EAAuB,CAAC,GAAGA,CAAJ,KAAQ,KAAKkxT,UAAL,CAAgB,GAAGlxT,CAAnB,CAA/B,EAAsD;AAAC1vB,UAAAA,OAAO,EAAC,CAAC,IAAD,EAAM,IAAN;AAAT,SAAtD,CAAxK;AAAqP;;AAAA2gV,MAAAA,yBAAyB,CAACjxT,CAAD,EAAG2K,CAAH,EAAK;AAAC,cAAMJ,CAAC,GAAC,KAAKy3E,MAAb;AAAA,cAAoBz1E,CAAC,GAAChC,CAAC,CAAChuB,KAAF,CAAQmlB,QAAR,CAAiBooP,SAAjB,CAA2B6N,kBAA3B,EAAtB;AAAsEprP,QAAAA,CAAC,IAAEA,CAAC,CAACs+E,EAAF,CAAK,SAAL,EAAe,OAAf,CAAH,KAA6BlgF,CAAC,CAAC4pC,cAAF,IAAmB5pC,CAAC,CAACq/M,eAAF,EAAnB,EAAuChqN,CAAC,CAAColF,IAAF,EAAvC,EAAgD76E,CAAC,CAAChuB,KAAF,CAAQmlM,MAAR,CAAgB1hL,CAAC,IAAE;AAACA,UAAAA,CAAC,CAACm7P,YAAF,CAAen7P,CAAC,CAACu9P,aAAF,CAAgBhxP,CAAC,CAACsgP,QAAF,CAAW,CAAX,EAAcA,QAAd,CAAuB,CAAvB,CAAhB,CAAf;AAA2D,SAA/E,CAA7E;AAAgK;;AAAAqkE,MAAAA,UAAU,CAAClxT,CAAD,EAAG2K,CAAH,EAAK;AAAC,cAAMJ,CAAC,GAAC,KAAKy3E,MAAb;AAAA,cAAoBz1E,CAAC,GAAC,KAAKy1E,MAAL,CAAYyB,OAAZ,CAAoBhjH,GAApB,CAAwByrV,EAAxB,CAAtB;AAAA,cAAkDv1U,CAAC,GAAC,KAAKqrG,MAAL,CAAYyB,OAAZ,CAAoBhjH,GAApB,CAAwB,gBAAxB,CAApD;AAAA,cAA8FgsC,CAAC,GAAClC,CAAC,CAAChuB,KAAF,CAAQmlB,QAAR,CAAiBooP,SAAjH;AAAA,cAA2Hx/O,CAAC,GAAC,CAACK,CAAC,CAAC6wO,QAAhI;AAAyI,YAAIp5L,CAAC,GAAC71C,CAAC,CAACk/S,gCAAF,CAAmCh/S,CAAnC,EAAsC,CAAtC,CAAN;AAA+C,YAAG21C,CAAC,KAAGA,CAAC,GAACzrE,CAAC,CAACy5U,YAAF,EAAL,CAAD,EAAwB,CAAChuQ,CAA5B,EAA8B;AAAOz3C,QAAAA,CAAC,CAAC4pC,cAAF,IAAmB5pC,CAAC,CAACq/M,eAAF,EAAnB,EAAuChqN,CAAC,CAAColF,IAAF,EAAvC;AAAgD,cAAMu4D,CAAC,GAACv7F,CAAC,CAACjB,MAAV;AAAA,cAAiB+qI,CAAC,GAACvuC,CAAC,CAACx8F,MAArB;AAAA,cAA4Bv3C,CAAC,GAACsiL,CAAC,CAAC6gE,aAAF,CAAgBpvG,CAAhB,CAA9B;AAAA,cAAiD/G,CAAC,GAAC+G,CAAC,CAACovG,aAAF,CAAgB3qM,CAAhB,CAAnD;AAAA,cAAsEt9D,CAAC,GAAC,MAAI8xJ,CAA5E;AAA8E,YAAG,CAACtsI,CAAD,IAAIxlB,CAAJ,IAAO,MAAI8kB,CAAd,EAAgB,OAAO,KAAKW,CAAC,CAAChuB,KAAF,CAAQmlM,MAAR,CAAgB1hL,CAAC,IAAE;AAACA,UAAAA,CAAC,CAACm7P,YAAF,CAAen7P,CAAC,CAACs9P,aAAF,CAAgBpxE,CAAhB,CAAf;AAAmC,SAAvD,CAAZ;AAAsE,cAAMliL,CAAC,GAAC4sI,CAAC,KAAG+G,CAAC,CAAC+uG,UAAF,GAAa,CAAzB;AAAA,cAA2B1gP,CAAC,GAACpC,CAAC,KAAG2C,CAAC,CAACw8S,OAAF,CAAU78H,CAAV,IAAa,CAA9C;AAAgD,YAAG5hL,CAAC,IAAE0B,CAAH,IAAMhC,CAAN,KAAUO,CAAC,CAAC4/O,OAAF,CAAU,qBAAV,GAAiCvgP,CAAC,KAAG2C,CAAC,CAACw8S,OAAF,CAAU78H,CAAV,IAAa,CAA5D,CAAH,EAAkE,OAAO,KAAK3hL,CAAC,CAAChuB,KAAF,CAAQmlM,MAAR,CAAgB1hL,CAAC,IAAE;AAACA,UAAAA,CAAC,CAACm7P,YAAF,CAAen7P,CAAC,CAACs9P,aAAF,CAAgBpxE,CAAhB,CAAf;AAAmC,SAAvD,CAAZ;AAAsE,YAAI1/K,CAAJ;;AAAM,YAAGlC,CAAC,IAAEN,CAAN,EAAQ;AAAC,gBAAMhK,CAAC,GAACksL,CAAC,CAAC2gE,QAAF,CAAWjjP,CAAC,GAAC,CAAb,CAAR;AAAwB4C,UAAAA,CAAC,GAACxM,CAAC,CAAC6sP,QAAF,CAAW,CAAX,CAAF;AAAgB,SAAjD,MAAsD,IAAG,CAACviP,CAAD,IAAIxlB,CAAP,EAAS;AAAC,gBAAMkb,CAAC,GAACksL,CAAC,CAAC2gE,QAAF,CAAWjjP,CAAC,GAAC,CAAb,CAAR;AAAwB4C,UAAAA,CAAC,GAACxM,CAAC,CAAC6sP,QAAF,CAAW7sP,CAAC,CAAC0sP,UAAF,GAAa,CAAxB,CAAF;AAA6B,SAA/D,MAAoElgP,CAAC,GAACmxI,CAAC,CAACkvG,QAAF,CAAWj2G,CAAC,IAAEtsI,CAAC,GAAC,CAAD,GAAG,CAAC,CAAP,CAAZ,CAAF;;AAAyBC,QAAAA,CAAC,CAAChuB,KAAF,CAAQmlM,MAAR,CAAgB1hL,CAAC,IAAE;AAACA,UAAAA,CAAC,CAACm7P,YAAF,CAAen7P,CAAC,CAACu9P,aAAF,CAAgB/wP,CAAhB,CAAf;AAAmC,SAAvD;AAA0D;;AAAAwkT,MAAAA,WAAW,CAAChxT,CAAD,EAAG2K,CAAH,EAAK;AAAC,cAAMJ,CAAC,GAAC,KAAKy3E,MAAb;AAAA,cAAoBz1E,CAAC,GAAC8lL,EAAE,CAAC1nL,CAAC,CAAC0wO,OAAH,EAAW9wO,CAAC,CAAC4sL,MAAF,CAASglD,wBAApB,CAAxB;AAAsE,aAAKg1E,gBAAL,CAAsB5kT,CAAtB,EAAwB5B,CAAC,CAAC6wO,QAA1B,MAAsC7wO,CAAC,CAAC4pC,cAAF,IAAmB5pC,CAAC,CAACq/M,eAAF,EAAnB,EAAuChqN,CAAC,CAAColF,IAAF,EAA7E;AAAuF;;AAAA+rO,MAAAA,gBAAgB,CAACnxT,CAAD,EAAG2K,CAAH,EAAK;AAAC,cAAMJ,CAAC,GAAC,KAAKy3E,MAAL,CAAYyB,OAAZ,CAAoBhjH,GAApB,CAAwByrV,EAAxB,CAAR;AAAA,cAAoC3/S,CAAC,GAAC,KAAKy1E,MAAL,CAAYyB,OAAZ,CAAoBhjH,GAApB,CAAwB,gBAAxB,CAAtC;AAAA,cAAgFkW,CAAC,GAAC,KAAKqrG,MAAL,CAAYzlG,KAA9F;AAAA,cAAoGkwB,CAAC,GAAC91B,CAAC,CAAC+qB,QAAF,CAAWooP,SAAjH;AAAA,cAA2Hx/O,CAAC,GAAC,CAAC,OAAD,EAAS,MAAT,EAAiBn+B,QAAjB,CAA0B6zB,CAA1B,CAA7H;AAAA,cAA0JoiD,CAAC,GAAC73C,CAAC,CAACqiT,qBAAF,CAAwBngT,CAAxB,CAA5J;;AAAuL,YAAG21C,CAAC,CAACz1E,MAAL,EAAY;AAAC,cAAI49B,CAAJ;AAAM,iBAAOA,CAAC,GAACI,CAAC,GAAC4B,CAAC,CAAC6jT,YAAF,EAAD,GAAkB9lT,CAAC,GAAC83C,CAAC,CAACA,CAAC,CAACz1E,MAAF,GAAS,CAAV,CAAF,GAAey1E,CAAC,CAAC,CAAD,CAAtC,EAA0C,KAAKgvQ,4BAAL,CAAkC7mT,CAAlC,EAAoCvK,CAApC,EAAsC2K,CAAtC,CAA1C,EAAmF,CAAC,CAA3F;AAA6F;;AAAA,cAAMgzI,CAAC,GAAClxI,CAAC,CAACumC,KAAF,CAAQqgN,YAAR,CAAqB,WAArB,CAAR;AAA0C,YAAG,CAAC11G,CAAJ,EAAM,OAAM,CAAC,CAAP;AAAS,YAAG,CAAClxI,CAAC,CAACupP,WAAN,EAAkB,IAAGrrP,CAAH,EAAK;AAAC,cAAG8B,CAAC,CAAC6qP,UAAF,IAAchtP,CAAd,IAAiB,CAACmC,CAAC,CAACsrQ,qBAAF,CAAwBp6H,CAAxB,CAArB,EAAgD,OAAM,CAAC,CAAP;AAAS,SAA/D,MAAmE;AAAC,gBAAM39I,CAAC,GAACyM,CAAC,CAACkrP,kBAAF,EAAR;AAA+B,cAAG,CAAC33P,CAAD,IAAI,CAACrpB,CAAC,CAACgrQ,MAAF,CAASt5J,QAAT,CAAkBroF,CAAlB,CAAR,EAA6B,OAAM,CAAC,CAAP;AAAS;AAAA,eAAM,CAAC,CAAC,KAAKqxT,sBAAL,CAA4B5kT,CAA5B,EAA8BkxI,CAA9B,EAAgCrzI,CAAhC,CAAF,KAAuC,KAAK8mT,4BAAL,CAAkCzzK,CAAlC,EAAoC39I,CAApC,EAAsC2K,CAAtC,GAAyC,CAAC,CAAjF,CAAN;AAA0F;;AAAA0mT,MAAAA,sBAAsB,CAACrxT,CAAD,EAAG2K,CAAH,EAAKJ,CAAL,EAAO;AAAC,cAAMgC,CAAC,GAAC,KAAKy1E,MAAL,CAAYzlG,KAApB;AAAA,cAA0B5F,CAAC,GAAC,KAAKqrG,MAAL,CAAYzlG,KAAZ,CAAkBolQ,MAA9C;AAAA,cAAqDl1O,CAAC,GAAClC,CAAC,GAACvK,CAAC,CAAC03P,eAAF,EAAD,GAAqB13P,CAAC,CAAC+pP,gBAAF,EAA7E;;AAAkG,YAAG,CAACpzQ,CAAC,CAACqnS,eAAF,CAAkBvxQ,CAAlB,EAAqBo+E,EAArB,CAAwB,SAAxB,EAAkC,WAAlC,CAAJ,EAAmD;AAAC,iBAAOt+E,CAAC,CAAC4wP,gBAAF,CAAmBxyP,CAAnB,EAAqBJ,CAAC,GAAC,KAAD,GAAO,CAA7B,EAAgComQ,UAAhC,CAA2ClkQ,CAA3C,CAAP;AAAqD;;AAAA,cAAMnC,CAAC,GAACiC,CAAC,CAACixP,eAAF,CAAkB/wP,CAAlB,CAAR;AAA6B,eAAOF,CAAC,CAAC+kR,eAAF,CAAkBhnR,CAAlB,EAAoB;AAACopM,UAAAA,SAAS,EAACnpM,CAAC,GAAC,SAAD,GAAW;AAAvB,SAApB,GAAwDkC,CAAC,CAACspO,OAAF,CAAUzrO,CAAC,CAAC0oC,KAAZ,CAA/D;AAAkF;;AAAAo+Q,MAAAA,4BAA4B,CAACpxT,CAAD,EAAG2K,CAAH,EAAKJ,CAAC,GAAC,CAAC,CAAR,EAAU;AAAC,cAAMgC,CAAC,GAAC,KAAKy1E,MAAL,CAAYzlG,KAApB;AAAA,cAA0B5F,CAAC,GAACqpB,CAAC,CAACqzP,YAAF,CAAe,OAAf,CAA5B;AAAA,cAAoD5mP,CAAC,GAAC,CAAC,GAAG,IAAI25S,EAAJ,CAAOzvU,CAAP,EAAS;AAACswU,UAAAA,eAAe,EAAC,CAAC;AAAlB,SAAT,CAAJ,CAAtD;AAAA,cAA0F;AAACT,UAAAA,GAAG,EAACl8S,CAAL;AAAOs7S,UAAAA,MAAM,EAACxjQ;AAAd,YAAiB31C,CAAC,CAACA,CAAC,CAAC9/B,MAAF,GAAS,CAAV,CAA5G;AAAA,cAAyHgxK,CAAC,GAAClxI,CAAC,CAAClyB,IAAF,CAAQ,CAAC;AAAC0tU,UAAAA,IAAI,EAACt9S;AAAN,SAAD,KAAYA,CAAC,IAAE3K,CAAvB,CAA3H;AAAsJ,YAAG;AAACwmT,UAAAA,GAAG,EAACt6H,CAAL;AAAO05H,UAAAA,MAAM,EAACh8S;AAAd,YAAiB+zI,CAApB;;AAAsB,gBAAOhzI,CAAP;AAAU,eAAI,MAAJ;AAAWf,YAAAA,CAAC;AAAG;;AAAM,eAAI,IAAJ;AAASsiL,YAAAA,CAAC;AAAG;;AAAM,eAAI,OAAJ;AAAYtiL,YAAAA,CAAC,IAAE+zI,CAAC,CAAC+qK,SAAL;AAAe;;AAAM,eAAI,MAAJ;AAAWx8H,YAAAA,CAAC,IAAEvuC,CAAC,CAACgrK,UAAL;AAA9F;;AAA8G,YAAGz8H,CAAC,GAAC,CAAF,IAAKA,CAAC,GAAC5hL,CAAP,IAAUV,CAAC,GAAC,CAAF,IAAKsiL,CAAC,IAAE,CAAlB,IAAqBtiL,CAAC,GAACw4C,CAAF,IAAK8pI,CAAC,IAAE5hL,CAAhC,EAAkC,OAAO,KAAKiC,CAAC,CAACm1K,MAAF,CAAU1hL,CAAC,IAAE;AAACA,UAAAA,CAAC,CAACm7P,YAAF,CAAen7P,CAAC,CAACs9P,aAAF,CAAgB3mR,CAAhB,CAAf;AAAmC,SAAjD,CAAZ;AAAgEizB,QAAAA,CAAC,GAAC,CAAF,IAAKA,CAAC,GAACW,CAAC,GAAC,CAAD,GAAG63C,CAAN,EAAQ8pI,CAAC,EAAd,IAAkBtiL,CAAC,GAACw4C,CAAF,KAAMx4C,CAAC,GAACW,CAAC,GAAC63C,CAAD,GAAG,CAAN,EAAQ8pI,CAAC,EAAf,CAAlB;AAAqC,cAAMt1C,CAAC,GAACnqI,CAAC,CAAClyB,IAAF,CAAQylB,CAAC,IAAEA,CAAC,CAACwmT,GAAF,IAAOt6H,CAAP,IAAUlsL,CAAC,CAAC4lT,MAAF,IAAUh8S,CAA/B,EAAmCq+S,IAA3C;AAAA,cAAgDnjU,CAAC,GAAC,CAAC,OAAD,EAAS,MAAT,EAAiB3Y,QAAjB,CAA0Bw+B,CAA1B,CAAlD;AAAA,cAA+EX,CAAC,GAAC,KAAKg4E,MAAL,CAAYyB,OAAZ,CAAoBhjH,GAApB,CAAwB,gBAAxB,CAAjF;;AAA2H,YAAG8pC,CAAC,IAAEP,CAAC,CAACqwH,SAAR,EAAkB;AAAC,gBAAM1vH,CAAC,GAACX,CAAC,CAACqmT,aAAF,MAAmBrwT,CAA3B;AAA6BgK,UAAAA,CAAC,CAACimT,gBAAF,CAAmBtlT,CAAnB,EAAqBisI,CAArB;AAAwB,SAAxE,MAA4E;AAAC,gBAAM52I,CAAC,GAACuM,CAAC,CAAC4wP,gBAAF,CAAmBvmH,CAAnB,EAAqB9xJ,CAAC,GAAC,CAAD,GAAG,KAAzB,CAAR;AAAwCynB,UAAAA,CAAC,CAACm1K,MAAF,CAAU/2K,CAAC,IAAE;AAACA,YAAAA,CAAC,CAACwwP,YAAF,CAAen7P,CAAf;AAAkB,WAAhC;AAAmC;AAAC;;AAAvxG;;AAAwxG,UAAMsxT,EAAN,SAAiBrpD,EAAjB,CAAmB;AAACxoS,MAAAA,WAAW,GAAE;AAAC,cAAM,GAAG+qC,SAAT,GAAoB,KAAK09P,YAAL,GAAkB,CAAC,WAAD,EAAa,YAAb,CAAtC;AAAiE;;AAAAC,MAAAA,UAAU,CAACnoQ,CAAD,EAAG;AAAC,aAAK0lF,IAAL,CAAU1lF,CAAC,CAAC/oB,IAAZ,EAAiB+oB,CAAjB;AAAoB;;AAAlH;;AAAmH,UAAMuxT,EAAN,SAAiBloE,EAAjB,CAAmB;AAAsB,iBAAVwB,UAAU,GAAE;AAAC,eAAM,YAAN;AAAmB;;AAAmB,iBAARE,QAAQ,GAAE;AAAC,eAAM,CAAC4kE,EAAD,EAAIzD,EAAJ,CAAN;AAAc;;AAAA3qV,MAAAA,IAAI,GAAE;AAAC,aAAKygH,MAAL,CAAYuzM,OAAZ,CAAoBz/G,IAApB,CAAyBs4F,WAAzB,CAAqCkjD,EAArC,GAAyC,KAAKE,0BAAL,EAAzC,EAA2E,KAAKC,yBAAL,EAA3E;AAA4G;;AAAAD,MAAAA,0BAA0B,GAAE;AAAC,cAAMxxT,CAAC,GAAC,KAAKgiF,MAAb;AAAA,cAAoBr3E,CAAC,GAAC3K,CAAC,CAACyjF,OAAF,CAAUhjH,GAAV,CAAcyrV,EAAd,CAAtB;AAAwC,YAAI3hT,CAAC,GAAC,CAAC,CAAP;AAAS,cAAMgC,CAAC,GAACvM,CAAC,CAACyjF,OAAF,CAAUhjH,GAAV,CAAckvV,EAAd,CAAR;AAA0B,aAAKnqF,QAAL,CAAcxlO,CAAC,CAACu1R,OAAF,CAAUz/G,IAAV,CAAep0K,QAA7B,EAAsC,WAAtC,EAAmD,CAAC/qB,CAAD,EAAG81B,CAAH,KAAO;AAAC,gBAAMnC,CAAC,GAACtK,CAAC,CAACzjB,KAAF,CAAQmlB,QAAR,CAAiBooP,SAAzB;AAAmC,cAAG,CAAC,KAAKzvH,SAAN,IAAiB,CAAC9tH,CAAC,CAAC8tH,SAAvB,EAAiC;AAAO,cAAG,CAAC5tH,CAAC,CAACu7P,QAAF,CAAWxsB,QAAf,EAAwB;AAAO,gBAAMp5L,CAAC,GAAC71C,CAAC,CAAC8jT,aAAF,MAAmB1lT,CAAC,CAAC8gT,gCAAF,CAAmCnhT,CAAnC,EAAsC,CAAtC,CAA3B;AAAoE,cAAG,CAAC83C,CAAJ,EAAM;;AAAO,gBAAMu7F,CAAC,GAAC,KAAK+zK,8BAAL,CAAoCjlT,CAApC,CAAR;;AAA+CkxI,UAAAA,CAAC,IAAEg0K,EAAE,CAACvvQ,CAAD,EAAGu7F,CAAH,CAAL,KAAapzI,CAAC,GAAC,CAAC,CAAH,EAAKgC,CAAC,CAAC0jT,gBAAF,CAAmB7tQ,CAAnB,EAAqBu7F,CAArB,CAAL,EAA6BlxI,CAAC,CAAC8nC,cAAF,EAA1C;AAA8D,SAAnW,GAAsW,KAAKixL,QAAL,CAAcxlO,CAAC,CAACu1R,OAAF,CAAUz/G,IAAV,CAAep0K,QAA7B,EAAsC,SAAtC,EAAiD,MAAI;AAAC6I,UAAAA,CAAC,GAAC,CAAC,CAAH;AAAK,SAA3D,CAAtW,EAAoa,KAAKi7N,QAAL,CAAcxlO,CAAC,CAACu1R,OAAF,CAAUz/G,IAAV,CAAep0K,QAA7B,EAAsC,iBAAtC,EAAyD1B,CAAC,IAAE;AAACuK,UAAAA,CAAC,IAAEvK,CAAC,CAAColF,IAAF,EAAH;AAAY,SAAzE,EAA2E;AAACO,UAAAA,QAAQ,EAAC;AAAV,SAA3E,CAApa;AAAqgB;;AAAA8rO,MAAAA,yBAAyB,GAAE;AAAC,cAAMzxT,CAAC,GAAC,KAAKgiF,MAAb;AAAoB,YAAIr3E,CAAJ;AAAA,YAAMJ,CAAN;AAAA,YAAQgC,CAAC,GAAC,CAAC,CAAX;AAAA,YAAa51B,CAAC,GAAC,CAAC,CAAhB;AAAkB,cAAM81B,CAAC,GAACzM,CAAC,CAACyjF,OAAF,CAAUhjH,GAAV,CAAckvV,EAAd,CAAR;AAA0B,aAAKnqF,QAAL,CAAcxlO,CAAC,CAACu1R,OAAF,CAAUz/G,IAAV,CAAep0K,QAA7B,EAAsC,WAAtC,EAAmD,CAAC1B,CAAD,EAAGuK,CAAH,KAAO;AAAC,eAAK8vH,SAAL,IAAgB5tH,CAAC,CAAC4tH,SAAlB,KAA8B9vH,CAAC,CAACy9P,QAAF,CAAWxsB,QAAX,IAAqBjxO,CAAC,CAACy9P,QAAF,CAAWzsB,OAAhC,IAAyChxO,CAAC,CAACy9P,QAAF,CAAW1sB,MAApD,KAA6D3wO,CAAC,GAAC,KAAK+mT,8BAAL,CAAoCnnT,CAApC,CAA/D,CAA9B;AAAsI,SAAjM,GAAoM,KAAKi7N,QAAL,CAAcxlO,CAAC,CAACu1R,OAAF,CAAUz/G,IAAV,CAAep0K,QAA7B,EAAsC,WAAtC,EAAmD,CAAC1B,CAAD,EAAGsK,CAAH,KAAO;AAAC,cAAG,CAACA,CAAC,CAAC09P,QAAF,CAAW4pD,OAAf,EAAuB;AAAO,cAAG,CAACjnT,CAAJ,EAAM;;AAAO,gBAAMy3C,CAAC,GAAC,KAAKsvQ,8BAAL,CAAoCpnT,CAApC,CAAR;;AAA+C83C,UAAAA,CAAC,IAAEuvQ,EAAE,CAAChnT,CAAD,EAAGy3C,CAAH,CAAL,KAAa73C,CAAC,GAAC63C,CAAF,EAAI71C,CAAC,IAAEhC,CAAC,IAAEI,CAAN,KAAU4B,CAAC,GAAC,CAAC,CAAb,CAAjB,GAAkCA,CAAC,KAAG51B,CAAC,GAAC,CAAC,CAAH,EAAK81B,CAAC,CAACwjT,gBAAF,CAAmBtlT,CAAnB,EAAqBJ,CAArB,CAAL,EAA6BD,CAAC,CAACiqC,cAAF,EAAhC,CAAnC;AAAuF,SAA5O,CAApM,EAAmb,KAAKixL,QAAL,CAAcxlO,CAAC,CAACu1R,OAAF,CAAUz/G,IAAV,CAAep0K,QAA7B,EAAsC,SAAtC,EAAiD,MAAI;AAAC6K,UAAAA,CAAC,GAAC,CAAC,CAAH,EAAK51B,CAAC,GAAC,CAAC,CAAR,EAAUg0B,CAAC,GAAC,IAAZ,EAAiBJ,CAAC,GAAC,IAAnB;AAAwB,SAA9E,CAAnb,EAAogB,KAAKi7N,QAAL,CAAcxlO,CAAC,CAACu1R,OAAF,CAAUz/G,IAAV,CAAep0K,QAA7B,EAAsC,iBAAtC,EAAyD1B,CAAC,IAAE;AAACrpB,UAAAA,CAAC,IAAEqpB,CAAC,CAAColF,IAAF,EAAH;AAAY,SAAzE,EAA2E;AAACO,UAAAA,QAAQ,EAAC;AAAV,SAA3E,CAApgB;AAAqmB;;AAAA+rO,MAAAA,8BAA8B,CAAC1xT,CAAD,EAAG;AAAC,cAAM2K,CAAC,GAAC3K,CAAC,CAAC4tB,MAAV;AAAA,cAAiBrjB,CAAC,GAAC,KAAKy3E,MAAL,CAAYuzM,OAAZ,CAAoBz/G,IAApB,CAAyBqnF,gBAAzB,CAA0CxyP,CAA1C,EAA4C,CAA5C,CAAnB;AAAkE,eAAO,KAAKq3E,MAAL,CAAYuzM,OAAZ,CAAoBrhB,MAApB,CAA2BH,eAA3B,CAA2CxpQ,CAA3C,EAA8C42C,MAA9C,CAAqDkyM,YAArD,CAAkE,WAAlE,EAA8E;AAACnG,UAAAA,WAAW,EAAC,CAAC;AAAd,SAA9E,CAAP;AAAuG;;AAA5rD;;AAA6rD,aAASykE,EAAT,CAAY3xT,CAAZ,EAAc2K,CAAd,EAAgB;AAAC,aAAO3K,CAAC,CAACmhD,MAAF,CAASA,MAAT,IAAiBx2C,CAAC,CAACw2C,MAAF,CAASA,MAAjC;AAAwC;;AAAA,QAAI0wQ,EAAE,GAACtnT,CAAC,CAAC,IAAD,CAAR;AAAA,QAAeunT,EAAE,GAAC;AAAC7yE,MAAAA,UAAU,EAAC,mBAAZ;AAAgCh7J,MAAAA,UAAU,EAAC;AAAC,oBAAW,CAAC;AAAb,OAA3C;AAA2DqC,MAAAA,MAAM,EAAC,MAAlE;AAAyEy9I,MAAAA,SAAS,EAAC,CAAC;AAApF,KAAlB;AAAyG+a,IAAAA,EAAE,GAAG+yE,EAAE,CAACtvF,CAAN,EAAQuvF,EAAR,CAAF;AAAcD,IAAAA,EAAE,CAACtvF,CAAH,CAAK2c,MAAL;AAAY,QAAI6yE,EAAE,GAACxnT,CAAC,CAAC,IAAD,CAAR;AAAA,QAAeH,EAAE,GAAC;AAAC60O,MAAAA,UAAU,EAAC,mBAAZ;AAAgCh7J,MAAAA,UAAU,EAAC;AAAC,oBAAW,CAAC;AAAb,OAA3C;AAA2DqC,MAAAA,MAAM,EAAC,MAAlE;AAAyEy9I,MAAAA,SAAS,EAAC,CAAC;AAApF,KAAlB;AAAyG+a,IAAAA,EAAE,GAAGizE,EAAE,CAACxvF,CAAN,EAAQn4N,EAAR,CAAF;AAAc2nT,IAAAA,EAAE,CAACxvF,CAAH,CAAK2c,MAAL;AAAY,QAAI8yE,EAAE,GAACznT,CAAC,CAAC,IAAD,CAAR;AAAA,QAAe0nT,EAAE,GAAC;AAAChzE,MAAAA,UAAU,EAAC,mBAAZ;AAAgCh7J,MAAAA,UAAU,EAAC;AAAC,oBAAW,CAAC;AAAb,OAA3C;AAA2DqC,MAAAA,MAAM,EAAC,MAAlE;AAAyEy9I,MAAAA,SAAS,EAAC,CAAC;AAApF,KAAlB;AAAyG+a,IAAAA,EAAE,GAAGkzE,EAAE,CAACzvF,CAAN,EAAQ0vF,EAAR,CAAF;AAAcD,IAAAA,EAAE,CAACzvF,CAAH,CAAK2c,MAAL;AAAY,QAAIgzE,EAAE,GAAC3nT,CAAC,CAAC,IAAD,CAAR;AAAA,QAAe4nT,EAAE,GAAC;AAAClzE,MAAAA,UAAU,EAAC,mBAAZ;AAAgCh7J,MAAAA,UAAU,EAAC;AAAC,oBAAW,CAAC;AAAb,OAA3C;AAA2DqC,MAAAA,MAAM,EAAC,MAAlE;AAAyEy9I,MAAAA,SAAS,EAAC,CAAC;AAApF,KAAlB;AAAyG+a,IAAAA,EAAE,GAAGozE,EAAE,CAAC3vF,CAAN,EAAQ4vF,EAAR,CAAF;AAAcD,IAAAA,EAAE,CAAC3vF,CAAH,CAAK2c,MAAL;AAAY,QAAIkzE,EAAE,GAAC7nT,CAAC,CAAC,IAAD,CAAR;AAAA,QAAe8nT,EAAE,GAAC;AAACpzE,MAAAA,UAAU,EAAC,mBAAZ;AAAgCh7J,MAAAA,UAAU,EAAC;AAAC,oBAAW,CAAC;AAAb,OAA3C;AAA2DqC,MAAAA,MAAM,EAAC,MAAlE;AAAyEy9I,MAAAA,SAAS,EAAC,CAAC;AAApF,KAAlB;AAAyG+a,IAAAA,EAAE,GAAGszE,EAAE,CAAC7vF,CAAN,EAAQ8vF,EAAR,CAAF;AAAcD,IAAAA,EAAE,CAAC7vF,CAAH,CAAK2c,MAAL;AAAY,QAAIozE,EAAE,GAAC/nT,CAAC,CAAC,IAAD,CAAR;AAAA,QAAegoT,EAAE,GAAC;AAACtzE,MAAAA,UAAU,EAAC,mBAAZ;AAAgCh7J,MAAAA,UAAU,EAAC;AAAC,oBAAW,CAAC;AAAb,OAA3C;AAA2DqC,MAAAA,MAAM,EAAC,MAAlE;AAAyEy9I,MAAAA,SAAS,EAAC,CAAC;AAApF,KAAlB;AAAyG+a,IAAAA,EAAE,GAAGwzE,EAAE,CAAC/vF,CAAN,EAAQgwF,EAAR,CAAF;AAAcD,IAAAA,EAAE,CAAC/vF,CAAH,CAAK2c,MAAL;AAAY,UAAMszE,EAAE,GAAC/wB,EAAE,CAACK,gBAAZ;AAA6B0wB,IAAAA,EAAE,CAACpwB,eAAH,EAAmBowB,EAAE,CAACjwB,mBAAtB,EAA0CiwB,EAAE,CAAChwB,mBAA7C,EAAiEgwB,EAAE,CAACzwB,eAApE,EAAoFywB,EAAE,CAACtwB,mBAAvF,EAA2GswB,EAAE,CAACrwB,mBAA9G,EAAkIqwB,EAAE,CAAC/vB,mBAArI;AAAyJ,QAAIgwB,EAAE,GAACloT,CAAC,CAAC,IAAD,CAAR;AAAA,QAAemoT,EAAE,GAAC;AAACzzE,MAAAA,UAAU,EAAC,mBAAZ;AAAgCh7J,MAAAA,UAAU,EAAC;AAAC,oBAAW,CAAC;AAAb,OAA3C;AAA2DqC,MAAAA,MAAM,EAAC,MAAlE;AAAyEy9I,MAAAA,SAAS,EAAC,CAAC;AAApF,KAAlB;AAAyG+a,IAAAA,EAAE,GAAG2zE,EAAE,CAAClwF,CAAN,EAAQmwF,EAAR,CAAF;AAAcD,IAAAA,EAAE,CAAClwF,CAAH,CAAK2c,MAAL;AAAY,QAAIyzE,EAAE,GAACpoT,CAAC,CAAC,IAAD,CAAR;AAAA,QAAeqoT,EAAE,GAAC;AAAC3zE,MAAAA,UAAU,EAAC,mBAAZ;AAAgCh7J,MAAAA,UAAU,EAAC;AAAC,oBAAW,CAAC;AAAb,OAA3C;AAA2DqC,MAAAA,MAAM,EAAC,MAAlE;AAAyEy9I,MAAAA,SAAS,EAAC,CAAC;AAApF,KAAlB;AAAyG+a,IAAAA,EAAE,GAAG6zE,EAAE,CAACpwF,CAAN,EAAQqwF,EAAR,CAAF;AAAcD,IAAAA,EAAE,CAACpwF,CAAH,CAAK2c,MAAL;AAAY,QAAI2zE,EAAE,GAACtoT,CAAC,CAAC,IAAD,CAAR;AAAA,QAAeuoT,EAAE,GAAC;AAAC7zE,MAAAA,UAAU,EAAC,mBAAZ;AAAgCh7J,MAAAA,UAAU,EAAC;AAAC,oBAAW,CAAC;AAAb,OAA3C;AAA2DqC,MAAAA,MAAM,EAAC,MAAlE;AAAyEy9I,MAAAA,SAAS,EAAC,CAAC;AAApF,KAAlB;AAAyG+a,IAAAA,EAAE,GAAG+zE,EAAE,CAACtwF,CAAN,EAAQuwF,EAAR,CAAF;AAAcD,IAAAA,EAAE,CAACtwF,CAAH,CAAK2c,MAAL;AAAY,UAAM6zE,EAAE,GAAC,isBAAT;AAA2sB,QAAIC,EAAE,GAACzoT,CAAC,CAAC,IAAD,CAAR;AAAA,QAAe0oT,EAAE,GAAC;AAACh0E,MAAAA,UAAU,EAAC,mBAAZ;AAAgCh7J,MAAAA,UAAU,EAAC;AAAC,oBAAW,CAAC;AAAb,OAA3C;AAA2DqC,MAAAA,MAAM,EAAC,MAAlE;AAAyEy9I,MAAAA,SAAS,EAAC,CAAC;AAApF,KAAlB;AAAyG+a,IAAAA,EAAE,GAAGk0E,EAAE,CAACzwF,CAAN,EAAQ0wF,EAAR,CAAF;AAAcD,IAAAA,EAAE,CAACzwF,CAAH,CAAK2c,MAAL;;AAAY,UAAMlb,EAAN,SAAiBgsE,EAAjB,CAAmB;;AAAEhsE,IAAAA,EAAE,CAACwnB,cAAH,GAAkB,CAAC,cAAcnC,EAAd,CAAgB;AAAoB,iBAAR0B,QAAQ,GAAE;AAAC,eAAM,CAACylD,EAAD,EAAIG,EAAJ,CAAN;AAAc;;AAAqB,iBAAV9lD,UAAU,GAAE;AAAC,eAAM,WAAN;AAAkB;;AAA/E,KAAjB,EAAkG,cAAcxB,EAAd,CAAgB;AAAoB,iBAAR0B,QAAQ,GAAE;AAAC,eAAM,CAACqmD,EAAD,EAAIG,EAAJ,CAAN;AAAc;;AAAqB,iBAAV1mD,UAAU,GAAE;AAAC,eAAM,MAAN;AAAa;;AAA1E,KAAlH,EAA8L,cAAcxB,EAAd,CAAgB;AAAoB,iBAAR0B,QAAQ,GAAE;AAAC,eAAM,CAACgzD,EAAD,EAAI1H,EAAJ,EAAO+H,EAAP,EAAU5H,EAAV,EAAazC,EAAb,EAAgByL,EAAhB,CAAN;AAA0B;;AAAqB,iBAAV30D,UAAU,GAAE;AAAC,eAAM,YAAN;AAAmB;;AAA5F,KAA9M,EAA4S,cAAcxB,EAAd,CAAgB;AAAoB,iBAAR0B,QAAQ,GAAE;AAAC,eAAM,CAACq1D,EAAD,EAAIO,EAAJ,CAAN;AAAc;;AAAqB,iBAAV91D,UAAU,GAAE;AAAC,eAAM,UAAN;AAAiB;;AAAAqoE,MAAAA,oBAAoB,CAAClzT,CAAD,EAAG;AAAC,eAAO4/S,EAAE,CAAC5/S,CAAD,CAAT;AAAa;;AAAnH,KAA5T,EAAib,cAAcqpP,EAAd,CAAgB;AAAC9nR,MAAAA,IAAI,GAAE;AAAC,cAAMy+B,CAAC,GAAC,KAAKgiF,MAAb;AAAoBhiF,QAAAA,CAAC,CAACklF,EAAF,CAAKojN,gBAAL,CAAsB1zS,GAAtB,CAA0B,YAA1B,EAAwC+V,CAAC,IAAE;AAAC,gBAAMJ,CAAC,GAAC,IAAImlL,EAAJ,CAAO/kL,CAAP,CAAR;AAAkB,cAAI4B,CAAC,GAAC,CAAN;AAAQ,iBAAOhC,CAAC,CAACzF,GAAF,CAAM;AAAC4G,YAAAA,KAAK,EAAC,aAAP;AAAqBpuB,YAAAA,IAAI,EAACy1U,EAA1B;AAA6Bz5B,YAAAA,OAAO,EAAC,CAAC;AAAtC,WAAN,GAAgD/uR,CAAC,CAAC9oB,EAAF,CAAK,SAAL,EAAgB,MAAI;AAAC,iBAAG8qB,CAAH,IAAMvM,CAAC,CAAC81R,aAAF,CAAgBq9B,kBAAhB,CAAmCtvF,eAAnC,CAAmD,IAAnD,GAAyDniO,QAAQ,CAACrqB,IAAT,CAAcwsP,eAAd,CAA8B,IAA9B,CAAzD,EAA6Ft5N,CAAC,CAACzF,GAAF,CAAM;AAAC4G,cAAAA,KAAK,EAAC,aAAP;AAAqBpuB,cAAAA,IAAI,EAACy1U,EAA1B;AAA6Bz5B,cAAAA,OAAO,EAAC,CAAC;AAAtC,aAAN,CAA7F,EAA6I/sR,CAAC,GAAC,CAArJ,KAAyJvM,CAAC,CAAC81R,aAAF,CAAgBq9B,kBAAhB,CAAmCz3Q,YAAnC,CAAgD,IAAhD,EAAqD,kBAArD,GAAyEh6C,QAAQ,CAACrqB,IAAT,CAAcqkE,YAAd,CAA2B,IAA3B,EAAgC,mBAAhC,CAAzE,EAA8HnxC,CAAC,CAACzF,GAAF,CAAM;AAAC4G,cAAAA,KAAK,EAAC,aAAP;AAAqBpuB,cAAAA,IAAI,EAAC,ykCAA1B;AAAomCg8S,cAAAA,OAAO,EAAC,CAAC;AAA7mC,aAAN,CAA9H,EAAqvC/sR,CAAC,GAAC,CAAh5C;AAAm5C,WAAx6C,CAAhD,EAA29ChC,CAAl+C;AAAo+C,SAA1iD;AAA6iD;;AAAzkD,KAAjc,EAA4gE,cAAc8+O,EAAd,CAAgB;AAAsB,iBAAVwB,UAAU,GAAE;AAAC,eAAM,QAAN;AAAe;;AAAmB,iBAARE,QAAQ,GAAE;AAAC,eAAM,CAAC+1D,EAAD,EAAIG,EAAJ,CAAN;AAAc;;AAA5E,KAA5hE,EAA0mE,cAAc53D,EAAd,CAAgB;AAAC5pR,MAAAA,WAAW,CAACugC,CAAD,EAAG;AAAC,cAAMA,CAAN,GAASA,CAAC,CAACtgC,MAAF,CAAS69M,MAAT,CAAgB,aAAhB,EAA8B;AAAClgG,UAAAA,MAAM,EAAC,EAAR;AAAWi/G,UAAAA,IAAI,EAAC;AAAhB,SAA9B,CAAT;AAA8D;;AAAqB,iBAAVuuD,UAAU,GAAE;AAAC,eAAM,aAAN;AAAoB;;AAAAtpR,MAAAA,IAAI,GAAE;AAAC,cAAMy+B,CAAC,GAAC,KAAKgiF,MAAb;AAAA,cAAoBr3E,CAAC,GAAC3K,CAAC,CAACtgC,MAAF,CAASe,GAAT,CAAa,aAAb,CAAtB;AAAkDkqC,QAAAA,CAAC,CAACyjP,OAAF,IAAWzjP,CAAC,CAACyjP,OAAF,CAAUzhR,MAArB,IAA6B,KAAKymV,4BAAL,CAAkCzoT,CAAC,CAACyjP,OAApC,GAA6CpuP,CAAC,CAACm1R,QAAF,CAAWvgS,GAAX,CAAe,aAAf,EAA6B,IAAIusT,EAAJ,CAAOnhT,CAAP,EAAS,IAAI2hT,EAAJ,CAAO;AAACjuG,UAAAA,SAAS,EAAC,SAAX;AAAqB06C,UAAAA,OAAO,EAACzjP,CAAC,CAACyjP;AAA/B,SAAP,CAAT,CAA7B,CAA7C,EAAqIpuP,CAAC,CAACm1R,QAAF,CAAWvgS,GAAX,CAAe,cAAf,EAA8B,IAAIusT,EAAJ,CAAOnhT,CAAP,EAAS,IAAI2hT,EAAJ,CAAO;AAACjuG,UAAAA,SAAS,EAAC,UAAX;AAAsB06C,UAAAA,OAAO,EAACzjP,CAAC,CAACyjP;AAAhC,SAAP,CAAT,CAA9B,CAAlK,KAA8PpuP,CAAC,CAACr4B,IAAF,CAAO68S,sBAAP,CAA8BwQ,EAA9B,GAAkC,KAAKq+B,2BAAL,EAAlC,EAAqErzT,CAAC,CAACm1R,QAAF,CAAWvgS,GAAX,CAAe,aAAf,EAA6B,IAAIusT,EAAJ,CAAOnhT,CAAP,EAAS,IAAI0hT,EAAJ,CAAO;AAAChuG,UAAAA,SAAS,EAAC,SAAX;AAAqBr2H,UAAAA,MAAM,EAAC1yE,CAAC,CAAC0yE,MAA9B;AAAqCi/G,UAAAA,IAAI,EAAC3xL,CAAC,CAAC2xL;AAA5C,SAAP,CAAT,CAA7B,CAArE,EAAuKt8L,CAAC,CAACm1R,QAAF,CAAWvgS,GAAX,CAAe,cAAf,EAA8B,IAAIusT,EAAJ,CAAOnhT,CAAP,EAAS,IAAI0hT,EAAJ,CAAO;AAAChuG,UAAAA,SAAS,EAAC,UAAX;AAAsBr2H,UAAAA,MAAM,EAAC1yE,CAAC,CAAC0yE,MAA/B;AAAsCi/G,UAAAA,IAAI,EAAC3xL,CAAC,CAAC2xL;AAA7C,SAAP,CAAT,CAA9B,CAAra;AAA0gB;;AAAA0oH,MAAAA,SAAS,GAAE;AAAC,cAAMhlT,CAAC,GAAC,KAAKgiF,MAAb;AAAA,cAAoBr3E,CAAC,GAAC3K,CAAC,CAACzjB,KAAF,CAAQolQ,MAA9B;AAAA,cAAqCp3O,CAAC,GAACvK,CAAC,CAACm1R,QAAF,CAAW10T,GAAX,CAAe,QAAf,CAAvC;AAAA,cAAgE8rC,CAAC,GAACvM,CAAC,CAACm1R,QAAF,CAAW10T,GAAX,CAAe,SAAf,CAAlE;AAAA,cAA4FkW,CAAC,GAACqpB,CAAC,CAACtgC,MAAF,CAASe,GAAT,CAAa,iBAAb,CAA9F;AAA8H,SAACkW,CAAC,IAAEA,CAAC,CAACnN,GAAF,CAAOw2B,CAAC,IAAEA,CAAC,CAACzjB,KAAZ,CAAH,IAAwBqlU,EAAzB,EAA6B/7S,OAA7B,CAAsC7F,CAAC,IAAE;AAAC2K,UAAAA,CAAC,CAACi1Q,YAAF,CAAe5/Q,CAAf,KAAmB2K,CAAC,CAACqsL,MAAF,CAASh3L,CAAT,EAAW;AAAC+/Q,YAAAA,eAAe,EAAC;AAAjB,WAAX,CAAnB;AAA+D,SAAzG,GAA4Gp1Q,CAAC,CAACw1Q,sBAAF,CAAyB,aAAzB,EAAuC;AAACswB,UAAAA,YAAY,EAAC,CAAC;AAAf,SAAvC,CAA5G,EAAsKlmS,CAAC,CAACggP,oBAAF,CAAuBvqP,CAAC,CAACm1R,QAAF,CAAW10T,GAAX,CAAe,aAAf,CAAvB,CAAtK,EAA4N8rC,CAAC,CAACg+O,oBAAF,CAAuBvqP,CAAC,CAACm1R,QAAF,CAAW10T,GAAX,CAAe,cAAf,CAAvB,CAA5N;AAAmR;;AAAA4yV,MAAAA,2BAA2B,GAAE;AAAC,cAAMrzT,CAAC,GAAC,KAAKgiF,MAAL,CAAYk3I,UAApB;AAAA,cAA+BvuN,CAAC,GAAC,UAAQ,KAAKq3E,MAAL,CAAYm1G,MAAZ,CAAmBglD,wBAA3B,GAAoD,cAApD,GAAmE,aAApG;AAAkHn8O,QAAAA,CAAC,CAAC06M,GAAF,CAAM,QAAN,EAAgBshE,oBAAhB,CAAqC;AAAClmG,UAAAA,IAAI,EAAC;AAAC08C,YAAAA,MAAM,EAAC;AAAC,eAAC7nN,CAAD,GAAI;AAAL;AAAR,WAAN;AAA+BpuB,UAAAA,KAAK,EAAC;AAACupB,YAAAA,GAAG,EAAC,aAAL;AAAmB50B,YAAAA,KAAK,EAAC8uB,CAAC,IAAE;AAAC,kBAAG,CAACA,CAAC,CAAC6qF,EAAF,CAAK,SAAL,EAAe,IAAf,CAAJ,EAAyB,OAAO7qF,CAAC,CAACuuP,QAAF,CAAW5jP,CAAX,CAAP;AAAqB;AAA3E;AAArC,SAArC,GAAyJ3K,CAAC,CAAC06M,GAAF,CAAM,UAAN,EAAkBshE,oBAAlB,CAAuC;AAACz/R,UAAAA,KAAK,EAAC,aAAP;AAAqBu5L,UAAAA,IAAI,EAAC91K,CAAC,KAAG;AAAC8F,YAAAA,GAAG,EAAC,OAAL;AAAa50B,YAAAA,KAAK,EAAC;AAAC,eAACy5B,CAAD,GAAI3K;AAAL;AAAnB,WAAH;AAA3B,SAAvC,CAAzJ;AAA6P;;AAAAozT,MAAAA,4BAA4B,CAACpzT,CAAD,EAAG;AAAC,cAAM2K,CAAC,GAAC;AAACpuB,UAAAA,KAAK,EAAC;AAACupB,YAAAA,GAAG,EAAC,aAAL;AAAmBub,YAAAA,MAAM,EAAC;AAA1B,WAAP;AAAqCy0J,UAAAA,IAAI,EAAC;AAA1C,SAAR;;AAAsD,aAAI,MAAMvrK,CAAV,IAAevK,CAAf,EAAiB2K,CAAC,CAACpuB,KAAF,CAAQ8kC,MAAR,CAAepb,IAAf,CAAoBsE,CAApB,GAAuBI,CAAC,CAACmrK,IAAF,CAAOvrK,CAAP,IAAU;AAACzE,UAAAA,GAAG,EAAC,OAAL;AAAa50B,UAAAA,KAAK,EAAC,CAACq5B,CAAD;AAAnB,SAAjC;;AAAyD,aAAKy3E,MAAL,CAAYk3I,UAAZ,CAAuB8iD,oBAAvB,CAA4CrxQ,CAA5C;AAA+C;;AAAtrD,KAA1nE,EAAkzH,cAAc0+O,EAAd,CAAgB;AAAoB,iBAAR0B,QAAQ,GAAE;AAAC,eAAM,CAACqpD,EAAD,EAAIE,EAAJ,CAAN;AAAc;;AAAqB,iBAAVzpD,UAAU,GAAE;AAAC,eAAM,QAAN;AAAe;;AAA5E,KAAl0H,EAAg5H,cAAcxB,EAAd,CAAgB;AAAoB,iBAAR0B,QAAQ,GAAE;AAAC,eAAM,CAAC+5D,EAAD,EAAIpC,EAAJ,CAAN;AAAc;;AAAqB,iBAAV73D,UAAU,GAAE;AAAC,eAAM,MAAN;AAAa;;AAA1E,KAAh6H,EAA4+H06D,EAA5+H,EAA++H,cAAcl8D,EAAd,CAAgB;AAAoB,iBAAR0B,QAAQ,GAAE;AAAC,eAAM,CAACypD,EAAD,EAAIE,EAAJ,CAAN;AAAc;;AAAqB,iBAAV7pD,UAAU,GAAE;AAAC,eAAM,eAAN;AAAsB;;AAAnF,KAA//H,EAAolI,cAAcxB,EAAd,CAAgB;AAAoB,iBAAR0B,QAAQ,GAAE;AAAC,eAAM,CAACwjE,EAAD,EAAIY,EAAJ,EAAOQ,EAAP,EAAU4B,EAAV,EAAaR,EAAb,EAAgBT,EAAhB,EAAmBpW,EAAnB,CAAN;AAA6B;;AAAqB,iBAAVrvD,UAAU,GAAE;AAAC,eAAM,OAAN;AAAc;;AAA1F,KAApmI,EAAgsI,cAAcxB,EAAd,CAAgB;AAAoB,iBAAR0B,QAAQ,GAAE;AAAC,eAAM,CAAC6pD,EAAD,EAAI9sS,EAAJ,CAAN;AAAc;;AAAqB,iBAAV+iP,UAAU,GAAE;AAAC,eAAM,WAAN;AAAkB;;AAA/E,KAAhtI,CAAlB,EAAozI7mB,EAAE,CAAC52H,aAAH,GAAiB;AAACiiM,MAAAA,OAAO,EAAC;AAAC/0T,QAAAA,KAAK,EAAC,CAAC,MAAD,EAAQ,QAAR,EAAiB,WAAjB,EAA6B,eAA7B;AAAP,OAAT;AAA+DpZ,MAAAA,QAAQ,EAAC;AAAxE,KAAr0I;AAAm5I,GAA1vpmB,KAA8vpmBqrC,CAAC,GAACA,CAAC,CAAC07E,OAAxwpmB;AAAgxpmB,CAA55q6B,GAA9N,CALA;;;;;;;;;;;;;;;;ACAA;AACO,MAAMzqF,eAAN,SAA8Bp0B,6CAA9B,CAAsC;AACzC3J,EAAAA,WAAW,CAAC6zV,MAAD,EAAS;AAChB;AACA,SAAKA,MAAL,GAAcA,MAAd;AACH;;AACQ,MAALpiV,KAAK,GAAG;AACR,WAAO,KAAK/L,QAAL,EAAP;AACH;;AACDouV,EAAAA,UAAU,CAACC,UAAD,EAAa;AACnB,UAAMC,YAAY,GAAG,MAAMF,UAAN,CAAiBC,UAAjB,CAArB;;AACA,KAACC,YAAY,CAAC9gR,MAAd,IAAwB6gR,UAAU,CAAC5oV,IAAX,CAAgB,KAAK0oV,MAArB,CAAxB;AACA,WAAOG,YAAP;AACH;;AACDtuV,EAAAA,QAAQ,GAAG;AACP,UAAM;AAAEuuV,MAAAA,QAAF;AAAYC,MAAAA,WAAZ;AAAyBL,MAAAA;AAAzB,QAAoC,IAA1C;;AACA,QAAII,QAAJ,EAAc;AACV,YAAMC,WAAN;AACH;;AACD,SAAKC,cAAL;;AACA,WAAON,MAAP;AACH;;AACD1oV,EAAAA,IAAI,CAACsG,KAAD,EAAQ;AACR,UAAMtG,IAAN,CAAY,KAAK0oV,MAAL,GAAcpiV,KAA1B;AACH;;AAvBwC;;;;;;;;;;;;;;;;;;;;;ACD7C;AACA;AACA;AACA;AACO,IAAI2iV,gBAAgB;AAC3B,GAAC,UAAUA,gBAAV,EAA4B;AACzBA,IAAAA,gBAAgB,CAAC,MAAD,CAAhB,GAA2B,GAA3B;AACAA,IAAAA,gBAAgB,CAAC,OAAD,CAAhB,GAA4B,GAA5B;AACAA,IAAAA,gBAAgB,CAAC,UAAD,CAAhB,GAA+B,GAA/B;AACH,GAJD,EAIGA,gBAAgB,KAAKA,gBAAgB,GAAG,EAAxB,CAJnB,CAD2B;;AAAA,SAAhBA,gBAAgB;AAAA,IAApB;AAMA,MAAMC,YAAN,CAAmB;AACtBr0V,EAAAA,WAAW,CAAC49I,IAAD,EAAOnsI,KAAP,EAAcmF,KAAd,EAAqB;AAC5B,SAAKgnI,IAAL,GAAYA,IAAZ;AACA,SAAKnsI,KAAL,GAAaA,KAAb;AACA,SAAKmF,KAAL,GAAaA,KAAb;AACA,SAAK09U,QAAL,GAAgB12M,IAAI,KAAK,GAAzB;AACH;;AACD45H,EAAAA,OAAO,CAACthE,QAAD,EAAW;AACd,WAAOq+I,mBAAmB,CAAC,IAAD,EAAOr+I,QAAP,CAA1B;AACH;;AACDs+I,EAAAA,EAAE,CAACC,WAAD,EAAcC,YAAd,EAA4BC,eAA5B,EAA6C;AAC3C,UAAM;AAAE/2M,MAAAA,IAAF;AAAQnsI,MAAAA,KAAR;AAAemF,MAAAA;AAAf,QAAyB,IAA/B;AACA,WAAOgnI,IAAI,KAAK,GAAT,GAAe62M,WAAW,KAAK,IAAhB,IAAwBA,WAAW,KAAK,KAAK,CAA7C,GAAiD,KAAK,CAAtD,GAA0DA,WAAW,CAAChjV,KAAD,CAApF,GAA8FmsI,IAAI,KAAK,GAAT,GAAe82M,YAAY,KAAK,IAAjB,IAAyBA,YAAY,KAAK,KAAK,CAA/C,GAAmD,KAAK,CAAxD,GAA4DA,YAAY,CAAC99U,KAAD,CAAvF,GAAiG+9U,eAAe,KAAK,IAApB,IAA4BA,eAAe,KAAK,KAAK,CAArD,GAAyD,KAAK,CAA9D,GAAkEA,eAAe,EAAvR;AACH;;AACD7vL,EAAAA,MAAM,CAAC8vL,cAAD,EAAiBh+U,KAAjB,EAAwBxL,QAAxB,EAAkC;AACpC,QAAIklC,EAAJ;;AACA,WAAOw9E,4DAAU,CAAC,CAACx9E,EAAE,GAAGskT,cAAN,MAA0B,IAA1B,IAAkCtkT,EAAE,KAAK,KAAK,CAA9C,GAAkD,KAAK,CAAvD,GAA2DA,EAAE,CAACnlC,IAA/D,CAAV,GACD,KAAKqsQ,OAAL,CAAao9E,cAAb,CADC,GAED,KAAKJ,EAAL,CAAQI,cAAR,EAAwBh+U,KAAxB,EAA+BxL,QAA/B,CAFN;AAGH;;AACDypV,EAAAA,YAAY,GAAG;AACX,UAAM;AAAEj3M,MAAAA,IAAF;AAAQnsI,MAAAA,KAAR;AAAemF,MAAAA;AAAf,QAAyB,IAA/B;AACA,UAAM1E,MAAM,GAAG0rI,IAAI,KAAK,GAAT,GAEPh0I,kDAAE,CAAC6H,KAAD,CAFK,GAIPmsI,IAAI,KAAK,GAAT,GAEQrvB,kEAAU,CAAC,MAAM33G,KAAP,CAFlB,GAIQgnI,IAAI,KAAK,GAAT,GAEQ5/G,oDAFR,GAIQ,CAZxB;;AAaA,QAAI,CAAC9rB,MAAL,EAAa;AACT,YAAM,IAAI06B,SAAJ,CAAe,gCAA+BgxG,IAAK,EAAnD,CAAN;AACH;;AACD,WAAO1rI,MAAP;AACH;;AACgB,SAAV4iV,UAAU,CAACrjV,KAAD,EAAQ;AACrB,WAAO,IAAI4iV,YAAJ,CAAiB,GAAjB,EAAsB5iV,KAAtB,CAAP;AACH;;AACiB,SAAX2rC,WAAW,CAAC1gB,GAAD,EAAM;AACpB,WAAO,IAAI23T,YAAJ,CAAiB,GAAjB,EAAsBzhT,SAAtB,EAAiClW,GAAjC,CAAP;AACH;;AACoB,SAAdq4T,cAAc,GAAG;AACpB,WAAOV,YAAY,CAACW,oBAApB;AACH;;AAhDqB;AAkD1BX,YAAY,CAACW,oBAAb,GAAoC,IAAIX,YAAJ,CAAiB,GAAjB,CAApC;AACO,SAASE,mBAAT,CAA6BU,YAA7B,EAA2C/+I,QAA3C,EAAqD;AACxD,MAAI5lK,EAAJ,EAAQE,EAAR,EAAY+hB,EAAZ;;AACA,QAAM;AAAEqrF,IAAAA,IAAF;AAAQnsI,IAAAA,KAAR;AAAemF,IAAAA;AAAf,MAAyBq+U,YAA/B;;AACA,MAAI,OAAOr3M,IAAP,KAAgB,QAApB,EAA8B;AAC1B,UAAM,IAAIhxG,SAAJ,CAAc,sCAAd,CAAN;AACH;;AACDgxG,EAAAA,IAAI,KAAK,GAAT,GAAe,CAACttG,EAAE,GAAG4lK,QAAQ,CAAC/qM,IAAf,MAAyB,IAAzB,IAAiCmlC,EAAE,KAAK,KAAK,CAA7C,GAAiD,KAAK,CAAtD,GAA0DA,EAAE,CAAC5G,IAAH,CAAQwsK,QAAR,EAAkBzkM,KAAlB,CAAzE,GAAoGmsI,IAAI,KAAK,GAAT,GAAe,CAACptG,EAAE,GAAG0lK,QAAQ,CAACt/L,KAAf,MAA0B,IAA1B,IAAkC45B,EAAE,KAAK,KAAK,CAA9C,GAAkD,KAAK,CAAvD,GAA2DA,EAAE,CAAC9G,IAAH,CAAQwsK,QAAR,EAAkBt/L,KAAlB,CAA1E,GAAqG,CAAC27C,EAAE,GAAG2jJ,QAAQ,CAAC9qM,QAAf,MAA6B,IAA7B,IAAqCmnD,EAAE,KAAK,KAAK,CAAjD,GAAqD,KAAK,CAA1D,GAA8DA,EAAE,CAAC7oB,IAAH,CAAQwsK,QAAR,CAAvQ;AACH;;;;;;;;;;;;;;;;;;ACpEM,MAAMg/I,qBAAqB,GAAG,CAAC,MAAMC,kBAAkB,CAAC,GAAD,EAAMviT,SAAN,EAAiBA,SAAjB,CAAzB,GAA9B;AACA,SAASwiT,iBAAT,CAA2Bx+U,KAA3B,EAAkC;AACrC,SAAOu+U,kBAAkB,CAAC,GAAD,EAAMviT,SAAN,EAAiBh8B,KAAjB,CAAzB;AACH;AACM,SAASy+U,gBAAT,CAA0B5jV,KAA1B,EAAiC;AACpC,SAAO0jV,kBAAkB,CAAC,GAAD,EAAM1jV,KAAN,EAAamhC,SAAb,CAAzB;AACH;AACM,SAASuiT,kBAAT,CAA4Bv3M,IAA5B,EAAkCnsI,KAAlC,EAAyCmF,KAAzC,EAAgD;AACnD,SAAO;AACHgnI,IAAAA,IADG;AAEHnsI,IAAAA,KAFG;AAGHmF,IAAAA;AAHG,GAAP;AAKH;;;;;;;;;;;;;;;;;;;;;;ACbD;AACA;AACA;AACA;AACA;AACA;AACA;AACO,IAAMg/U,UAAb;AAAO,QAAMA,UAAN,CAAiB;AACpB51V,IAAAA,WAAW,CAACkB,SAAD,EAAY;AACnB,UAAIA,SAAJ,EAAe;AACX,aAAK4yV,UAAL,GAAkB5yV,SAAlB;AACH;AACJ;;AACD20V,IAAAA,IAAI,CAACC,QAAD,EAAW;AACX,YAAMpuF,UAAU,GAAG,IAAIkuF,UAAJ,EAAnB;AACAluF,MAAAA,UAAU,CAAC5qN,MAAX,GAAoB,IAApB;AACA4qN,MAAAA,UAAU,CAACouF,QAAX,GAAsBA,QAAtB;AACA,aAAOpuF,UAAP;AACH;;AACDxmQ,IAAAA,SAAS,CAAC60V,cAAD,EAAiBn/U,KAAjB,EAAwBxL,QAAxB,EAAkC;AACvC,YAAM2oV,UAAU,GAAGiC,YAAY,CAACD,cAAD,CAAZ,GAA+BA,cAA/B,GAAgD,IAAIT,uDAAJ,CAAmBS,cAAnB,EAAmCn/U,KAAnC,EAA0CxL,QAA1C,CAAnE;AACAuqV,MAAAA,gEAAY,CAAC,MAAM;AACf,cAAM;AAAEG,UAAAA,QAAF;AAAYh5S,UAAAA;AAAZ,YAAuB,IAA7B;AACAi3S,QAAAA,UAAU,CAAC5+T,GAAX,CAAe2gU,QAAQ,GAEfA,QAAQ,CAACpsT,IAAT,CAAcqqT,UAAd,EAA0Bj3S,MAA1B,CAFe,GAGjBA,MAAM,GAEA,KAAKg3S,UAAL,CAAgBC,UAAhB,CAFA,GAIA,KAAKkC,aAAL,CAAmBlC,UAAnB,CAPZ;AAQH,OAVW,CAAZ;AAWA,aAAOA,UAAP;AACH;;AACDkC,IAAAA,aAAa,CAACC,IAAD,EAAO;AAChB,UAAI;AACA,eAAO,KAAKpC,UAAL,CAAgBoC,IAAhB,CAAP;AACH,OAFD,CAGA,OAAOx5T,GAAP,EAAY;AACRw5T,QAAAA,IAAI,CAACt/U,KAAL,CAAW8lB,GAAX;AACH;AACJ;;AACD0J,IAAAA,OAAO,CAACj7B,IAAD,EAAOgrV,WAAP,EAAoB;AACvBA,MAAAA,WAAW,GAAGC,cAAc,CAACD,WAAD,CAA5B;AACA,aAAO,IAAIA,WAAJ,CAAgB,CAACnsT,OAAD,EAAU0B,MAAV,KAAqB;AACxC,cAAMqoT,UAAU,GAAG,IAAIuB,uDAAJ,CAAmB;AAClCnqV,UAAAA,IAAI,EAAGsG,KAAD,IAAW;AACb,gBAAI;AACAtG,cAAAA,IAAI,CAACsG,KAAD,CAAJ;AACH,aAFD,CAGA,OAAOirB,GAAP,EAAY;AACRgP,cAAAA,MAAM,CAAChP,GAAD,CAAN;AACAq3T,cAAAA,UAAU,CAACzgG,WAAX;AACH;AACJ,WATiC;AAUlC18O,UAAAA,KAAK,EAAE80B,MAV2B;AAWlCtgC,UAAAA,QAAQ,EAAE4+B;AAXwB,SAAnB,CAAnB;AAaA,aAAK9oC,SAAL,CAAe6yV,UAAf;AACH,OAfM,CAAP;AAgBH;;AACDD,IAAAA,UAAU,CAACC,UAAD,EAAa;AACnB,UAAIzjT,EAAJ;;AACA,aAAO,CAACA,EAAE,GAAG,KAAKwM,MAAX,MAAuB,IAAvB,IAA+BxM,EAAE,KAAK,KAAK,CAA3C,GAA+C,KAAK,CAApD,GAAwDA,EAAE,CAACpvC,SAAH,CAAa6yV,UAAb,CAA/D;AACH;;AACiB,KAAjB0B,0DAAiB,IAAI;AAClB,aAAO,IAAP;AACH;;AACDx0V,IAAAA,IAAI,CAAC,GAAGkqT,UAAJ,EAAgB;AAChB,aAAOuqC,yDAAa,CAACvqC,UAAD,CAAb,CAA0B,IAA1B,CAAP;AACH;;AACDkrC,IAAAA,SAAS,CAACF,WAAD,EAAc;AACnBA,MAAAA,WAAW,GAAGC,cAAc,CAACD,WAAD,CAA5B;AACA,aAAO,IAAIA,WAAJ,CAAgB,CAACnsT,OAAD,EAAU0B,MAAV,KAAqB;AACxC,YAAIj6B,KAAJ;AACA,aAAKvQ,SAAL,CAAgB8b,CAAD,IAAQvL,KAAK,GAAGuL,CAA/B,EAAoC0f,GAAD,IAASgP,MAAM,CAAChP,GAAD,CAAlD,EAAyD,MAAMsN,OAAO,CAACv4B,KAAD,CAAtE;AACH,OAHM,CAAP;AAIH;;AAtEmB;;AAwExBmkV,EAAAA,UAAU,CAACtsT,MAAX,GAAqBpoC,SAAD,IAAe;AAC/B,WAAO,IAAI00V,UAAJ,CAAe10V,SAAf,CAAP;AACH,GAFD;;AAxEA,SAAa00V,UAAb;AAAA;;AA2EA,SAASQ,cAAT,CAAwBD,WAAxB,EAAqC;AACjC,MAAI7lT,EAAJ;;AACA,SAAO,CAACA,EAAE,GAAG6lT,WAAW,KAAK,IAAhB,IAAwBA,WAAW,KAAK,KAAK,CAA7C,GAAiDA,WAAjD,GAA+Dl2V,mDAArE,MAAyF,IAAzF,IAAiGqwC,EAAE,KAAK,KAAK,CAA7G,GAAiHA,EAAjH,GAAsHvG,OAA7H;AACH;;AACD,SAASusT,UAAT,CAAoB7kV,KAApB,EAA2B;AACvB,SAAOA,KAAK,IAAIq8G,4DAAU,CAACr8G,KAAK,CAACtG,IAAP,CAAnB,IAAmC2iH,4DAAU,CAACr8G,KAAK,CAACmF,KAAP,CAA7C,IAA8Dk3G,4DAAU,CAACr8G,KAAK,CAACrG,QAAP,CAA/E;AACH;;AACD,SAAS4qV,YAAT,CAAsBvkV,KAAtB,EAA6B;AACzB,SAAQA,KAAK,IAAIA,KAAK,YAAY8jV,mDAA3B,IAA2Ce,UAAU,CAAC7kV,KAAD,CAAV,IAAqB+jV,6DAAc,CAAC/jV,KAAD,CAArF;AACH;;;;;;;;;;;;;;;;;AC3FD;AACA;AACO,MAAMqsB,aAAN,SAA4Bn0B,6CAA5B,CAAoC;AACvC3J,EAAAA,WAAW,CAACw2V,WAAW,GAAGt3I,QAAf,EAAyBu3I,WAAW,GAAGv3I,QAAvC,EAAiDw3I,kBAAkB,GAAGH,mFAAtE,EAA6F;AACpG;AACA,SAAKC,WAAL,GAAmBA,WAAnB;AACA,SAAKC,WAAL,GAAmBA,WAAnB;AACA,SAAKC,kBAAL,GAA0BA,kBAA1B;AACA,SAAKlvN,OAAL,GAAe,EAAf;AACA,SAAKmvN,mBAAL,GAA2B,IAA3B;AACA,SAAKA,mBAAL,GAA2BF,WAAW,KAAKv3I,QAA3C;AACA,SAAKs3I,WAAL,GAAmB/5R,IAAI,CAAC1qC,GAAL,CAAS,CAAT,EAAYykU,WAAZ,CAAnB;AACA,SAAKC,WAAL,GAAmBh6R,IAAI,CAAC1qC,GAAL,CAAS,CAAT,EAAY0kU,WAAZ,CAAnB;AACH;;AACDtrV,EAAAA,IAAI,CAACsG,KAAD,EAAQ;AACR,UAAM;AAAEmlV,MAAAA,SAAF;AAAapvN,MAAAA,OAAb;AAAsBmvN,MAAAA,mBAAtB;AAA2CD,MAAAA,kBAA3C;AAA+DD,MAAAA;AAA/D,QAA+E,IAArF;;AACA,QAAI,CAACG,SAAL,EAAgB;AACZpvN,MAAAA,OAAO,CAAChhG,IAAR,CAAa/0B,KAAb;;AACA,OAACklV,mBAAD,IAAwBnvN,OAAO,CAAChhG,IAAR,CAAakwT,kBAAkB,CAACrvR,GAAnB,KAA2BovR,WAAxC,CAAxB;AACH;;AACD,SAAKI,WAAL;;AACA,UAAM1rV,IAAN,CAAWsG,KAAX;AACH;;AACDqiV,EAAAA,UAAU,CAACC,UAAD,EAAa;AACnB,SAAKI,cAAL;;AACA,SAAK0C,WAAL;;AACA,UAAM7C,YAAY,GAAG,KAAK8C,eAAL,CAAqB/C,UAArB,CAArB;;AACA,UAAM;AAAE4C,MAAAA,mBAAF;AAAuBnvN,MAAAA;AAAvB,QAAmC,IAAzC;;AACA,UAAMmoI,IAAI,GAAGnoI,OAAO,CAACvuB,KAAR,EAAb;;AACA,SAAK,IAAI/hG,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGy4P,IAAI,CAACziQ,MAAT,IAAmB,CAAC6mV,UAAU,CAAC7gR,MAA/C,EAAuDh8D,CAAC,IAAIy/U,mBAAmB,GAAG,CAAH,GAAO,CAAtF,EAAyF;AACrF5C,MAAAA,UAAU,CAAC5oV,IAAX,CAAgBwkQ,IAAI,CAACz4P,CAAD,CAApB;AACH;;AACD,SAAK6/U,uBAAL,CAA6BhD,UAA7B;;AACA,WAAOC,YAAP;AACH;;AACD6C,EAAAA,WAAW,GAAG;AACV,UAAM;AAAEL,MAAAA,WAAF;AAAeE,MAAAA,kBAAf;AAAmClvN,MAAAA,OAAnC;AAA4CmvN,MAAAA;AAA5C,QAAoE,IAA1E;AACA,UAAMK,kBAAkB,GAAG,CAACL,mBAAmB,GAAG,CAAH,GAAO,CAA3B,IAAgCH,WAA3D;AACAA,IAAAA,WAAW,GAAGt3I,QAAd,IAA0B83I,kBAAkB,GAAGxvN,OAAO,CAACt6H,MAAvD,IAAiEs6H,OAAO,CAAC9D,MAAR,CAAe,CAAf,EAAkB8D,OAAO,CAACt6H,MAAR,GAAiB8pV,kBAAnC,CAAjE;;AACA,QAAI,CAACL,mBAAL,EAA0B;AACtB,YAAMtvR,GAAG,GAAGqvR,kBAAkB,CAACrvR,GAAnB,EAAZ;;AACA,UAAI06I,IAAI,GAAG,CAAX;;AACA,WAAK,IAAI7qM,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGswH,OAAO,CAACt6H,MAAZ,IAAsBs6H,OAAO,CAACtwH,CAAD,CAAP,IAAcmwD,GAApD,EAAyDnwD,CAAC,IAAI,CAA9D,EAAiE;AAC7D6qM,QAAAA,IAAI,GAAG7qM,CAAP;AACH;;AACD6qM,MAAAA,IAAI,IAAIv6E,OAAO,CAAC9D,MAAR,CAAe,CAAf,EAAkBq+E,IAAI,GAAG,CAAzB,CAAR;AACH;AACJ;;AA7CsC;;;;;;;;;;;;;;;;ACF3C;AACO,MAAMk1I,SAAN,CAAgB;AACnBj3V,EAAAA,WAAW,CAACk3V,mBAAD,EAAsB7vR,GAAG,GAAG4vR,SAAS,CAAC5vR,GAAtC,EAA2C;AAClD,SAAK6vR,mBAAL,GAA2BA,mBAA3B;AACA,SAAK7vR,GAAL,GAAWA,GAAX;AACH;;AACDpvD,EAAAA,QAAQ,CAACk/U,IAAD,EAAOn5O,KAAK,GAAG,CAAf,EAAkBhiG,KAAlB,EAAyB;AAC7B,WAAO,IAAI,KAAKk7U,mBAAT,CAA6B,IAA7B,EAAmCC,IAAnC,EAAyCl/U,QAAzC,CAAkD+D,KAAlD,EAAyDgiG,KAAzD,CAAP;AACH;;AAPkB;AASvBi5O,SAAS,CAAC5vR,GAAV,GAAgBkvR,uFAAhB;;;;;;;;;;;;;;;;;;;;;ACVA;AACA;AACA;AACA;AACA;AACO,IAAM5sV,OAAb;AAAO,QAAMA,OAAN,SAAsBisV,mDAAtB,CAAiC;AACpC51V,IAAAA,WAAW,GAAG;AACV;AACA,WAAKkzE,MAAL,GAAc,KAAd;AACA,WAAKskR,gBAAL,GAAwB,IAAxB;AACA,WAAKvhJ,SAAL,GAAiB,EAAjB;AACA,WAAK2gJ,SAAL,GAAiB,KAAjB;AACA,WAAK3C,QAAL,GAAgB,KAAhB;AACA,WAAKC,WAAL,GAAmB,IAAnB;AACH;;AACD2B,IAAAA,IAAI,CAACC,QAAD,EAAW;AACX,YAAM9lJ,OAAO,GAAG,IAAIynJ,gBAAJ,CAAqB,IAArB,EAA2B,IAA3B,CAAhB;AACAznJ,MAAAA,OAAO,CAAC8lJ,QAAR,GAAmBA,QAAnB;AACA,aAAO9lJ,OAAP;AACH;;AACDmkJ,IAAAA,cAAc,GAAG;AACb,UAAI,KAAKjhR,MAAT,EAAiB;AACb,cAAM,IAAIokR,kFAAJ,EAAN;AACH;AACJ;;AACDnsV,IAAAA,IAAI,CAACsG,KAAD,EAAQ;AACRkkV,MAAAA,gEAAY,CAAC,MAAM;AACf,aAAKxB,cAAL;;AACA,YAAI,CAAC,KAAKyC,SAAV,EAAqB;AACjB,cAAI,CAAC,KAAKY,gBAAV,EAA4B;AACxB,iBAAKA,gBAAL,GAAwB9xT,KAAK,CAAC7H,IAAN,CAAW,KAAKo4K,SAAhB,CAAxB;AACH;;AACD,eAAK,MAAMC,QAAX,IAAuB,KAAKshJ,gBAA5B,EAA8C;AAC1CthJ,YAAAA,QAAQ,CAAC/qM,IAAT,CAAcsG,KAAd;AACH;AACJ;AACJ,OAVW,CAAZ;AAWH;;AACDmF,IAAAA,KAAK,CAAC8lB,GAAD,EAAM;AACPi5T,MAAAA,gEAAY,CAAC,MAAM;AACf,aAAKxB,cAAL;;AACA,YAAI,CAAC,KAAKyC,SAAV,EAAqB;AACjB,eAAK3C,QAAL,GAAgB,KAAK2C,SAAL,GAAiB,IAAjC;AACA,eAAK1C,WAAL,GAAmBx3T,GAAnB;AACA,gBAAM;AAAEu5K,YAAAA;AAAF,cAAgB,IAAtB;;AACA,iBAAOA,SAAS,CAAC/oM,MAAjB,EAAyB;AACrB+oM,YAAAA,SAAS,CAACv3H,KAAV,GAAkB9nE,KAAlB,CAAwB8lB,GAAxB;AACH;AACJ;AACJ,OAVW,CAAZ;AAWH;;AACDtxB,IAAAA,QAAQ,GAAG;AACPuqV,MAAAA,gEAAY,CAAC,MAAM;AACf,aAAKxB,cAAL;;AACA,YAAI,CAAC,KAAKyC,SAAV,EAAqB;AACjB,eAAKA,SAAL,GAAiB,IAAjB;AACA,gBAAM;AAAE3gJ,YAAAA;AAAF,cAAgB,IAAtB;;AACA,iBAAOA,SAAS,CAAC/oM,MAAjB,EAAyB;AACrB+oM,YAAAA,SAAS,CAACv3H,KAAV,GAAkBtzE,QAAlB;AACH;AACJ;AACJ,OATW,CAAZ;AAUH;;AACDkoP,IAAAA,WAAW,GAAG;AACV,WAAKsjG,SAAL,GAAiB,KAAK1jR,MAAL,GAAc,IAA/B;AACA,WAAK+iI,SAAL,GAAiB,KAAKuhJ,gBAAL,GAAwB,IAAzC;AACH;;AACW,QAARE,QAAQ,GAAG;AACX,UAAIpnT,EAAJ;;AACA,aAAO,CAAC,CAACA,EAAE,GAAG,KAAK2lK,SAAX,MAA0B,IAA1B,IAAkC3lK,EAAE,KAAK,KAAK,CAA9C,GAAkD,KAAK,CAAvD,GAA2DA,EAAE,CAACpjC,MAA/D,IAAyE,CAAhF;AACH;;AACD+oV,IAAAA,aAAa,CAAClC,UAAD,EAAa;AACtB,WAAKI,cAAL;;AACA,aAAO,MAAM8B,aAAN,CAAoBlC,UAApB,CAAP;AACH;;AACDD,IAAAA,UAAU,CAACC,UAAD,EAAa;AACnB,WAAKI,cAAL;;AACA,WAAK4C,uBAAL,CAA6BhD,UAA7B;;AACA,aAAO,KAAK+C,eAAL,CAAqB/C,UAArB,CAAP;AACH;;AACD+C,IAAAA,eAAe,CAAC/C,UAAD,EAAa;AACxB,YAAM;AAAEE,QAAAA,QAAF;AAAY2C,QAAAA,SAAZ;AAAuB3gJ,QAAAA;AAAvB,UAAqC,IAA3C;;AACA,UAAIg+I,QAAQ,IAAI2C,SAAhB,EAA2B;AACvB,eAAOS,6DAAP;AACH;;AACD,WAAKG,gBAAL,GAAwB,IAAxB;AACAvhJ,MAAAA,SAAS,CAACzvK,IAAV,CAAeutT,UAAf;AACA,aAAO,IAAIqD,uDAAJ,CAAiB,MAAM;AAC1B,aAAKI,gBAAL,GAAwB,IAAxB;AACAD,QAAAA,0DAAS,CAACthJ,SAAD,EAAY89I,UAAZ,CAAT;AACH,OAHM,CAAP;AAIH;;AACDgD,IAAAA,uBAAuB,CAAChD,UAAD,EAAa;AAChC,YAAM;AAAEE,QAAAA,QAAF;AAAYC,QAAAA,WAAZ;AAAyB0C,QAAAA;AAAzB,UAAuC,IAA7C;;AACA,UAAI3C,QAAJ,EAAc;AACVF,QAAAA,UAAU,CAACn9U,KAAX,CAAiBs9U,WAAjB;AACH,OAFD,MAGK,IAAI0C,SAAJ,EAAe;AAChB7C,QAAAA,UAAU,CAAC3oV,QAAX;AACH;AACJ;;AACDg2B,IAAAA,YAAY,GAAG;AACX,YAAMsmO,UAAU,GAAG,IAAIkuF,mDAAJ,EAAnB;AACAluF,MAAAA,UAAU,CAAC5qN,MAAX,GAAoB,IAApB;AACA,aAAO4qN,UAAP;AACH;;AApGmC;;AAsGxC/9P,EAAAA,OAAO,CAAC2/B,MAAR,GAAiB,CAACquT,WAAD,EAAc76S,MAAd,KAAyB;AACtC,WAAO,IAAI26S,gBAAJ,CAAqBE,WAArB,EAAkC76S,MAAlC,CAAP;AACH,GAFD;;AAtGA,SAAanzC,OAAb;AAAA;AAyGO,MAAM8tV,gBAAN,SAA+B9tV,OAA/B,CAAuC;AAC1C3J,EAAAA,WAAW,CAAC23V,WAAD,EAAc76S,MAAd,EAAsB;AAC7B;AACA,SAAK66S,WAAL,GAAmBA,WAAnB;AACA,SAAK76S,MAAL,GAAcA,MAAd;AACH;;AACD3xC,EAAAA,IAAI,CAACsG,KAAD,EAAQ;AACR,QAAI6+B,EAAJ,EAAQE,EAAR;;AACA,KAACA,EAAE,GAAG,CAACF,EAAE,GAAG,KAAKqnT,WAAX,MAA4B,IAA5B,IAAoCrnT,EAAE,KAAK,KAAK,CAAhD,GAAoD,KAAK,CAAzD,GAA6DA,EAAE,CAACnlC,IAAtE,MAAgF,IAAhF,IAAwFqlC,EAAE,KAAK,KAAK,CAApG,GAAwG,KAAK,CAA7G,GAAiHA,EAAE,CAAC9G,IAAH,CAAQ4G,EAAR,EAAY7+B,KAAZ,CAAjH;AACH;;AACDmF,EAAAA,KAAK,CAAC8lB,GAAD,EAAM;AACP,QAAI4T,EAAJ,EAAQE,EAAR;;AACA,KAACA,EAAE,GAAG,CAACF,EAAE,GAAG,KAAKqnT,WAAX,MAA4B,IAA5B,IAAoCrnT,EAAE,KAAK,KAAK,CAAhD,GAAoD,KAAK,CAAzD,GAA6DA,EAAE,CAAC15B,KAAtE,MAAiF,IAAjF,IAAyF45B,EAAE,KAAK,KAAK,CAArG,GAAyG,KAAK,CAA9G,GAAkHA,EAAE,CAAC9G,IAAH,CAAQ4G,EAAR,EAAY5T,GAAZ,CAAlH;AACH;;AACDtxB,EAAAA,QAAQ,GAAG;AACP,QAAIklC,EAAJ,EAAQE,EAAR;;AACA,KAACA,EAAE,GAAG,CAACF,EAAE,GAAG,KAAKqnT,WAAX,MAA4B,IAA5B,IAAoCrnT,EAAE,KAAK,KAAK,CAAhD,GAAoD,KAAK,CAAzD,GAA6DA,EAAE,CAACllC,QAAtE,MAAoF,IAApF,IAA4FolC,EAAE,KAAK,KAAK,CAAxG,GAA4G,KAAK,CAAjH,GAAqHA,EAAE,CAAC9G,IAAH,CAAQ4G,EAAR,CAArH;AACH;;AACDwjT,EAAAA,UAAU,CAACC,UAAD,EAAa;AACnB,QAAIzjT,EAAJ,EAAQE,EAAR;;AACA,WAAO,CAACA,EAAE,GAAG,CAACF,EAAE,GAAG,KAAKwM,MAAX,MAAuB,IAAvB,IAA+BxM,EAAE,KAAK,KAAK,CAA3C,GAA+C,KAAK,CAApD,GAAwDA,EAAE,CAACpvC,SAAH,CAAa6yV,UAAb,CAA9D,MAA4F,IAA5F,IAAoGvjT,EAAE,KAAK,KAAK,CAAhH,GAAoHA,EAApH,GAAyH6mT,6DAAhI;AACH;;AArByC;;;;;;;;;;;;;;;;;;;;;;;;;AC9G9C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,MAAM9B,UAAN,SAAyB6B,uDAAzB,CAAsC;AACzCp3V,EAAAA,WAAW,CAAC23V,WAAD,EAAc;AACrB;AACA,SAAKf,SAAL,GAAiB,KAAjB;;AACA,QAAIe,WAAJ,EAAiB;AACb,WAAKA,WAAL,GAAmBA,WAAnB;;AACA,UAAInC,6DAAc,CAACmC,WAAD,CAAlB,EAAiC;AAC7BA,QAAAA,WAAW,CAACxiU,GAAZ,CAAgB,IAAhB;AACH;AACJ,KALD,MAMK;AACD,WAAKwiU,WAAL,GAAmBK,cAAnB;AACH;AACJ;;AACY,SAAN1uT,MAAM,CAACn+B,IAAD,EAAOyL,KAAP,EAAcxL,QAAd,EAAwB;AACjC,WAAO,IAAIkqV,cAAJ,CAAmBnqV,IAAnB,EAAyByL,KAAzB,EAAgCxL,QAAhC,CAAP;AACH;;AACDD,EAAAA,IAAI,CAACsG,KAAD,EAAQ;AACR,QAAI,KAAKmlV,SAAT,EAAoB;AAChBqB,MAAAA,yBAAyB,CAAC5C,wEAAgB,CAAC5jV,KAAD,CAAjB,EAA0B,IAA1B,CAAzB;AACH,KAFD,MAGK;AACD,WAAKopK,KAAL,CAAWppK,KAAX;AACH;AACJ;;AACDmF,EAAAA,KAAK,CAAC8lB,GAAD,EAAM;AACP,QAAI,KAAKk6T,SAAT,EAAoB;AAChBqB,MAAAA,yBAAyB,CAAC7C,yEAAiB,CAAC14T,GAAD,CAAlB,EAAyB,IAAzB,CAAzB;AACH,KAFD,MAGK;AACD,WAAKk6T,SAAL,GAAiB,IAAjB;;AACA,WAAKsB,MAAL,CAAYx7T,GAAZ;AACH;AACJ;;AACDtxB,EAAAA,QAAQ,GAAG;AACP,QAAI,KAAKwrV,SAAT,EAAoB;AAChBqB,MAAAA,yBAAyB,CAAC/C,yEAAD,EAAwB,IAAxB,CAAzB;AACH,KAFD,MAGK;AACD,WAAK0B,SAAL,GAAiB,IAAjB;;AACA,WAAKuB,SAAL;AACH;AACJ;;AACD7kG,EAAAA,WAAW,GAAG;AACV,QAAI,CAAC,KAAKpgL,MAAV,EAAkB;AACd,WAAK0jR,SAAL,GAAiB,IAAjB;AACA,YAAMtjG,WAAN;AACA,WAAKqkG,WAAL,GAAmB,IAAnB;AACH;AACJ;;AACD98K,EAAAA,KAAK,CAACppK,KAAD,EAAQ;AACT,SAAKkmV,WAAL,CAAiBxsV,IAAjB,CAAsBsG,KAAtB;AACH;;AACDymV,EAAAA,MAAM,CAACx7T,GAAD,EAAM;AACR,QAAI;AACA,WAAKi7T,WAAL,CAAiB/gV,KAAjB,CAAuB8lB,GAAvB;AACH,KAFD,SAGQ;AACJ,WAAK42N,WAAL;AACH;AACJ;;AACD6kG,EAAAA,SAAS,GAAG;AACR,QAAI;AACA,WAAKR,WAAL,CAAiBvsV,QAAjB;AACH,KAFD,SAGQ;AACJ,WAAKkoP,WAAL;AACH;AACJ;;AApEwC;AAsE7C,MAAM8kG,KAAK,GAAG13J,QAAQ,CAACl2J,SAAT,CAAmBlV,IAAjC;;AACA,SAASA,IAAT,CAAcqnI,EAAd,EAAkBtxH,OAAlB,EAA2B;AACvB,SAAO+sT,KAAK,CAAC1uT,IAAN,CAAWizH,EAAX,EAAetxH,OAAf,CAAP;AACH;;AACD,MAAMgtT,gBAAN,CAAuB;AACnBr4V,EAAAA,WAAW,CAACs4V,eAAD,EAAkB;AACzB,SAAKA,eAAL,GAAuBA,eAAvB;AACH;;AACDntV,EAAAA,IAAI,CAACsG,KAAD,EAAQ;AACR,UAAM;AAAE6mV,MAAAA;AAAF,QAAsB,IAA5B;;AACA,QAAIA,eAAe,CAACntV,IAApB,EAA0B;AACtB,UAAI;AACAmtV,QAAAA,eAAe,CAACntV,IAAhB,CAAqBsG,KAArB;AACH,OAFD,CAGA,OAAOmF,KAAP,EAAc;AACV2hV,QAAAA,oBAAoB,CAAC3hV,KAAD,CAApB;AACH;AACJ;AACJ;;AACDA,EAAAA,KAAK,CAAC8lB,GAAD,EAAM;AACP,UAAM;AAAE47T,MAAAA;AAAF,QAAsB,IAA5B;;AACA,QAAIA,eAAe,CAAC1hV,KAApB,EAA2B;AACvB,UAAI;AACA0hV,QAAAA,eAAe,CAAC1hV,KAAhB,CAAsB8lB,GAAtB;AACH,OAFD,CAGA,OAAO9lB,KAAP,EAAc;AACV2hV,QAAAA,oBAAoB,CAAC3hV,KAAD,CAApB;AACH;AACJ,KAPD,MAQK;AACD2hV,MAAAA,oBAAoB,CAAC77T,GAAD,CAApB;AACH;AACJ;;AACDtxB,EAAAA,QAAQ,GAAG;AACP,UAAM;AAAEktV,MAAAA;AAAF,QAAsB,IAA5B;;AACA,QAAIA,eAAe,CAACltV,QAApB,EAA8B;AAC1B,UAAI;AACAktV,QAAAA,eAAe,CAACltV,QAAhB;AACH,OAFD,CAGA,OAAOwL,KAAP,EAAc;AACV2hV,QAAAA,oBAAoB,CAAC3hV,KAAD,CAApB;AACH;AACJ;AACJ;;AAvCkB;;AAyChB,MAAM0+U,cAAN,SAA6BC,UAA7B,CAAwC;AAC3Cv1V,EAAAA,WAAW,CAAC+1V,cAAD,EAAiBn/U,KAAjB,EAAwBxL,QAAxB,EAAkC;AACzC;AACA,QAAIktV,eAAJ;;AACA,QAAIxqO,4DAAU,CAACioO,cAAD,CAAV,IAA8B,CAACA,cAAnC,EAAmD;AAC/CuC,MAAAA,eAAe,GAAG;AACdntV,QAAAA,IAAI,EAAG4qV,cAAc,KAAK,IAAnB,IAA2BA,cAAc,KAAK,KAAK,CAAnD,GAAuDA,cAAvD,GAAwEnjT,SADjE;AAEdh8B,QAAAA,KAAK,EAAEA,KAAK,KAAK,IAAV,IAAkBA,KAAK,KAAK,KAAK,CAAjC,GAAqCA,KAArC,GAA6Cg8B,SAFtC;AAGdxnC,QAAAA,QAAQ,EAAEA,QAAQ,KAAK,IAAb,IAAqBA,QAAQ,KAAK,KAAK,CAAvC,GAA2CA,QAA3C,GAAsDwnC;AAHlD,OAAlB;AAKH,KAND,MAOK;AACD,UAAI/hC,OAAJ;;AACA,UAAI,QAAQ5Q,oEAAZ,EAA6C;AACzC4Q,QAAAA,OAAO,GAAG6xB,MAAM,CAAC4G,MAAP,CAAcysT,cAAd,CAAV;;AACAllV,QAAAA,OAAO,CAACyiP,WAAR,GAAsB,MAAM,KAAKA,WAAL,EAA5B;;AACAglG,QAAAA,eAAe,GAAG;AACdntV,UAAAA,IAAI,EAAE4qV,cAAc,CAAC5qV,IAAf,IAAuBmqB,IAAI,CAACygU,cAAc,CAAC5qV,IAAhB,EAAsB0F,OAAtB,CADnB;AAEd+F,UAAAA,KAAK,EAAEm/U,cAAc,CAACn/U,KAAf,IAAwB0e,IAAI,CAACygU,cAAc,CAACn/U,KAAhB,EAAuB/F,OAAvB,CAFrB;AAGdzF,UAAAA,QAAQ,EAAE2qV,cAAc,CAAC3qV,QAAf,IAA2BkqB,IAAI,CAACygU,cAAc,CAAC3qV,QAAhB,EAA0ByF,OAA1B;AAH3B,SAAlB;AAKH,OARD,MASK;AACDynV,QAAAA,eAAe,GAAGvC,cAAlB;AACH;AACJ;;AACD,SAAK4B,WAAL,GAAmB,IAAIU,gBAAJ,CAAqBC,eAArB,CAAnB;AACH;;AA3B0C;;AA6B/C,SAASC,oBAAT,CAA8B3hV,KAA9B,EAAqC;AACjC,MAAI3W,iFAAJ,EAAkD;AAC9C83V,IAAAA,gEAAY,CAACnhV,KAAD,CAAZ;AACH,GAFD,MAGK;AACDghV,IAAAA,gFAAoB,CAAChhV,KAAD,CAApB;AACH;AACJ;;AACD,SAAS8hV,mBAAT,CAA6Bh8T,GAA7B,EAAkC;AAC9B,QAAMA,GAAN;AACH;;AACD,SAASu7T,yBAAT,CAAmChD,YAAnC,EAAiDlB,UAAjD,EAA6D;AACzD,QAAM;AAAE4E,IAAAA;AAAF,MAA4B14V,2CAAlC;AACA04V,EAAAA,qBAAqB,IAAIb,kFAAA,CAA2B,MAAMa,qBAAqB,CAAC1D,YAAD,EAAelB,UAAf,CAAtD,CAAzB;AACH;;AACM,MAAMiE,cAAc,GAAG;AAC1B9kR,EAAAA,MAAM,EAAE,IADkB;AAE1B/nE,EAAAA,IAAI,EAAE0sV,4CAFoB;AAG1BjhV,EAAAA,KAAK,EAAE8hV,mBAHmB;AAI1BttV,EAAAA,QAAQ,EAAEysV,4CAAIA;AAJY,CAAvB;;;;;;;;;;;;;;;;;;;;ACvKP;AACA;AACA;AACO,MAAMT,YAAN,CAAmB;AACtBp3V,EAAAA,WAAW,CAAC64V,eAAD,EAAkB;AACzB,SAAKA,eAAL,GAAuBA,eAAvB;AACA,SAAK3lR,MAAL,GAAc,KAAd;AACA,SAAK4lR,UAAL,GAAkB,IAAlB;AACA,SAAKC,WAAL,GAAmB,IAAnB;AACH;;AACDzlG,EAAAA,WAAW,GAAG;AACV,QAAIz7J,MAAJ;;AACA,QAAI,CAAC,KAAK3kB,MAAV,EAAkB;AACd,WAAKA,MAAL,GAAc,IAAd;AACA,YAAM;AAAE4lR,QAAAA;AAAF,UAAiB,IAAvB;;AACA,UAAIA,UAAJ,EAAgB;AACZ,aAAKA,UAAL,GAAkB,IAAlB;;AACA,YAAIpzT,KAAK,CAACi8E,OAAN,CAAcm3O,UAAd,CAAJ,EAA+B;AAC3B,eAAK,MAAMp3Q,MAAX,IAAqBo3Q,UAArB,EAAiC;AAC7Bp3Q,YAAAA,MAAM,CAAC8+B,MAAP,CAAc,IAAd;AACH;AACJ,SAJD,MAKK;AACDs4O,UAAAA,UAAU,CAACt4O,MAAX,CAAkB,IAAlB;AACH;AACJ;;AACD,YAAM;AAAEq4O,QAAAA,eAAe,EAAEG;AAAnB,UAAwC,IAA9C;;AACA,UAAIlrO,4DAAU,CAACkrO,gBAAD,CAAd,EAAkC;AAC9B,YAAI;AACAA,UAAAA,gBAAgB;AACnB,SAFD,CAGA,OAAO9tT,CAAP,EAAU;AACN2sD,UAAAA,MAAM,GAAG3sD,CAAC,YAAY0tT,0EAAb,GAAmC1tT,CAAC,CAAC2sD,MAArC,GAA8C,CAAC3sD,CAAD,CAAvD;AACH;AACJ;;AACD,YAAM;AAAE6tT,QAAAA;AAAF,UAAkB,IAAxB;;AACA,UAAIA,WAAJ,EAAiB;AACb,aAAKA,WAAL,GAAmB,IAAnB;;AACA,aAAK,MAAME,SAAX,IAAwBF,WAAxB,EAAqC;AACjC,cAAI;AACAG,YAAAA,aAAa,CAACD,SAAD,CAAb;AACH,WAFD,CAGA,OAAOv8T,GAAP,EAAY;AACRm7D,YAAAA,MAAM,GAAGA,MAAM,KAAK,IAAX,IAAmBA,MAAM,KAAK,KAAK,CAAnC,GAAuCA,MAAvC,GAAgD,EAAzD;;AACA,gBAAIn7D,GAAG,YAAYk8T,0EAAnB,EAAwC;AACpC/gQ,cAAAA,MAAM,GAAG,CAAC,GAAGA,MAAJ,EAAY,GAAGn7D,GAAG,CAACm7D,MAAnB,CAAT;AACH,aAFD,MAGK;AACDA,cAAAA,MAAM,CAACrxD,IAAP,CAAY9J,GAAZ;AACH;AACJ;AACJ;AACJ;;AACD,UAAIm7D,MAAJ,EAAY;AACR,cAAM,IAAI+gQ,0EAAJ,CAAwB/gQ,MAAxB,CAAN;AACH;AACJ;AACJ;;AACD1iE,EAAAA,GAAG,CAAC6hG,QAAD,EAAW;AACV,QAAI1mF,EAAJ;;AACA,QAAI0mF,QAAQ,IAAIA,QAAQ,KAAK,IAA7B,EAAmC;AAC/B,UAAI,KAAK9jD,MAAT,EAAiB;AACbgmR,QAAAA,aAAa,CAACliO,QAAD,CAAb;AACH,OAFD,MAGK;AACD,YAAIA,QAAQ,YAAYogO,YAAxB,EAAsC;AAClC,cAAIpgO,QAAQ,CAAC9jD,MAAT,IAAmB8jD,QAAQ,CAACmiO,UAAT,CAAoB,IAApB,CAAvB,EAAkD;AAC9C;AACH;;AACDniO,UAAAA,QAAQ,CAACoiO,UAAT,CAAoB,IAApB;AACH;;AACD,SAAC,KAAKL,WAAL,GAAmB,CAACzoT,EAAE,GAAG,KAAKyoT,WAAX,MAA4B,IAA5B,IAAoCzoT,EAAE,KAAK,KAAK,CAAhD,GAAoDA,EAApD,GAAyD,EAA7E,EAAiF9J,IAAjF,CAAsFwwF,QAAtF;AACH;AACJ;AACJ;;AACDmiO,EAAAA,UAAU,CAACz3Q,MAAD,EAAS;AACf,UAAM;AAAEo3Q,MAAAA;AAAF,QAAiB,IAAvB;AACA,WAAOA,UAAU,KAAKp3Q,MAAf,IAA0Bh8C,KAAK,CAACi8E,OAAN,CAAcm3O,UAAd,KAA6BA,UAAU,CAACpsV,QAAX,CAAoBg1E,MAApB,CAA9D;AACH;;AACD03Q,EAAAA,UAAU,CAAC13Q,MAAD,EAAS;AACf,UAAM;AAAEo3Q,MAAAA;AAAF,QAAiB,IAAvB;AACA,SAAKA,UAAL,GAAkBpzT,KAAK,CAACi8E,OAAN,CAAcm3O,UAAd,KAA6BA,UAAU,CAACtyT,IAAX,CAAgBk7C,MAAhB,GAAyBo3Q,UAAtD,IAAoEA,UAAU,GAAG,CAACA,UAAD,EAAap3Q,MAAb,CAAH,GAA0BA,MAA1H;AACH;;AACD23Q,EAAAA,aAAa,CAAC33Q,MAAD,EAAS;AAClB,UAAM;AAAEo3Q,MAAAA;AAAF,QAAiB,IAAvB;;AACA,QAAIA,UAAU,KAAKp3Q,MAAnB,EAA2B;AACvB,WAAKo3Q,UAAL,GAAkB,IAAlB;AACH,KAFD,MAGK,IAAIpzT,KAAK,CAACi8E,OAAN,CAAcm3O,UAAd,CAAJ,EAA+B;AAChCvB,MAAAA,0DAAS,CAACuB,UAAD,EAAap3Q,MAAb,CAAT;AACH;AACJ;;AACD8+B,EAAAA,MAAM,CAACwW,QAAD,EAAW;AACb,UAAM;AAAE+hO,MAAAA;AAAF,QAAkB,IAAxB;AACAA,IAAAA,WAAW,IAAIxB,0DAAS,CAACwB,WAAD,EAAc/hO,QAAd,CAAxB;;AACA,QAAIA,QAAQ,YAAYogO,YAAxB,EAAsC;AAClCpgO,MAAAA,QAAQ,CAACqiO,aAAT,CAAuB,IAAvB;AACH;AACJ;;AA/FqB;;AAiG1BjC,YAAY,CAACp5T,KAAb,GAAqB,CAAC,MAAM;AACxB,QAAM85L,KAAK,GAAG,IAAIs/H,YAAJ,EAAd;AACAt/H,EAAAA,KAAK,CAAC5kJ,MAAN,GAAe,IAAf;AACA,SAAO4kJ,KAAP;AACH,CAJoB,GAArB;;AAKO,MAAMu/H,kBAAkB,GAAGD,YAAY,CAACp5T,KAAxC;AACA,SAASw3T,cAAT,CAAwB/jV,KAAxB,EAA+B;AAClC,SAAQA,KAAK,YAAY2lV,YAAjB,IACH3lV,KAAK,IAAI,YAAYA,KAArB,IAA8Bq8G,4DAAU,CAACr8G,KAAK,CAAC+uG,MAAP,CAAxC,IAA0DsN,4DAAU,CAACr8G,KAAK,CAAC0jB,GAAP,CAApE,IAAmF24F,4DAAU,CAACr8G,KAAK,CAAC6hP,WAAP,CADlG;AAEH;;AACD,SAAS4lG,aAAT,CAAuBD,SAAvB,EAAkC;AAC9B,MAAInrO,4DAAU,CAACmrO,SAAD,CAAd,EAA2B;AACvBA,IAAAA,SAAS;AACZ,GAFD,MAGK;AACDA,IAAAA,SAAS,CAAC3lG,WAAV;AACH;AACJ;;;;;;;;;;;;;;;ACrHM,MAAMrzP,MAAM,GAAG;AAClBq5V,EAAAA,gBAAgB,EAAE,IADA;AAElBX,EAAAA,qBAAqB,EAAE,IAFL;AAGlB5uT,EAAAA,OAAO,EAAE6I,SAHS;AAIlB6lT,EAAAA,qCAAqC,EAAE,KAJrB;AAKlBD,EAAAA,wBAAwB,EAAE;AALR,CAAf;;;;;;;;;;;;;;;;ACAP;AACO,SAASgB,aAAT,CAAuB18S,MAAvB,EAA+B78C,MAA/B,EAAuC;AAC1C,QAAMw5V,SAAS,GAAG,OAAOx5V,MAAP,KAAkB,QAApC;AACA,SAAO,IAAI8pC,OAAJ,CAAY,CAACC,OAAD,EAAU0B,MAAV,KAAqB;AACpC,QAAIguT,SAAS,GAAG,KAAhB;;AACA,QAAI7F,MAAJ;;AACA/2S,IAAAA,MAAM,CAAC57C,SAAP,CAAiB;AACbiK,MAAAA,IAAI,EAAGsG,KAAD,IAAW;AACboiV,QAAAA,MAAM,GAAGpiV,KAAT;AACAioV,QAAAA,SAAS,GAAG,IAAZ;AACH,OAJY;AAKb9iV,MAAAA,KAAK,EAAE80B,MALM;AAMbtgC,MAAAA,QAAQ,EAAE,MAAM;AACZ,YAAIsuV,SAAJ,EAAe;AACX1vT,UAAAA,OAAO,CAAC6pT,MAAD,CAAP;AACH,SAFD,MAGK,IAAI4F,SAAJ,EAAe;AAChBzvT,UAAAA,OAAO,CAAC/pC,MAAM,CAAC6rI,YAAR,CAAP;AACH,SAFI,MAGA;AACDpgG,UAAAA,MAAM,CAAC,IAAI6tT,wDAAJ,EAAD,CAAN;AACH;AACJ;AAhBY,KAAjB;AAkBH,GArBM,CAAP;AAsBH;;;;;;;;;;;;;;;;;;;;ACzBD;AACA;AACA;AACA;AACA;AACO,MAAMQ,qBAAN,SAAoCnE,mDAApC,CAA+C;AAClD51V,EAAAA,WAAW,CAAC88C,MAAD,EAASk9S,cAAT,EAAyB;AAChC;AACA,SAAKl9S,MAAL,GAAcA,MAAd;AACA,SAAKk9S,cAAL,GAAsBA,cAAtB;AACA,SAAKzjJ,QAAL,GAAgB,IAAhB;AACA,SAAK0jJ,SAAL,GAAiB,CAAjB;AACA,SAAKC,WAAL,GAAmB,IAAnB;;AACA,QAAIJ,mDAAO,CAACh9S,MAAD,CAAX,EAAqB;AACjB,WAAK+4S,IAAL,GAAY/4S,MAAM,CAAC+4S,IAAnB;AACH;AACJ;;AACD/B,EAAAA,UAAU,CAACC,UAAD,EAAa;AACnB,WAAO,KAAKoG,UAAL,GAAkBj5V,SAAlB,CAA4B6yV,UAA5B,CAAP;AACH;;AACDoG,EAAAA,UAAU,GAAG;AACT,UAAMnqJ,OAAO,GAAG,KAAKuG,QAArB;;AACA,QAAI,CAACvG,OAAD,IAAYA,OAAO,CAAC4mJ,SAAxB,EAAmC;AAC/B,WAAKrgJ,QAAL,GAAgB,KAAKyjJ,cAAL,EAAhB;AACH;;AACD,WAAO,KAAKzjJ,QAAZ;AACH;;AACD6jJ,EAAAA,SAAS,GAAG;AACR,SAAKH,SAAL,GAAiB,CAAjB;AACA,UAAM;AAAEC,MAAAA;AAAF,QAAkB,IAAxB;AACA,SAAK3jJ,QAAL,GAAgB,KAAK2jJ,WAAL,GAAmB,IAAnC;AACAA,IAAAA,WAAW,KAAK,IAAhB,IAAwBA,WAAW,KAAK,KAAK,CAA7C,GAAiD,KAAK,CAAtD,GAA0DA,WAAW,CAAC5mG,WAAZ,EAA1D;AACH;;AACD9nD,EAAAA,OAAO,GAAG;AACN,QAAI3pL,UAAU,GAAG,KAAKq4U,WAAtB;;AACA,QAAI,CAACr4U,UAAL,EAAiB;AACbA,MAAAA,UAAU,GAAG,KAAKq4U,WAAL,GAAmB,IAAI9C,uDAAJ,EAAhC;AACA,YAAMpnJ,OAAO,GAAG,KAAKmqJ,UAAL,EAAhB;AACAt4U,MAAAA,UAAU,CAACsT,GAAX,CAAe,KAAK2nB,MAAL,CAAY57C,SAAZ,CAAsB24V,uFAAwB,CAAC7pJ,OAAD,EAAUp9J,SAAV,EAAqB,MAAM;AACpF,aAAKwnT,SAAL;;AACApqJ,QAAAA,OAAO,CAAC5kM,QAAR;AACH,OAH4D,EAGzDsxB,GAAD,IAAS;AACR,aAAK09T,SAAL;;AACApqJ,QAAAA,OAAO,CAACp5L,KAAR,CAAc8lB,GAAd;AACH,OAN4D,EAM1D,MAAM,KAAK09T,SAAL,EANoD,CAA9C,CAAf;;AAOA,UAAIv4U,UAAU,CAACqxD,MAAf,EAAuB;AACnB,aAAKgnR,WAAL,GAAmB,IAAnB;AACAr4U,QAAAA,UAAU,GAAGu1U,6DAAb;AACH;AACJ;;AACD,WAAOv1U,UAAP;AACH;;AACD83U,EAAAA,QAAQ,GAAG;AACP,WAAOC,6DAAmB,GAAG,IAAH,CAA1B;AACH;;AAjDiD;;;;;;;;;;;;;;;;;;;;;;;;;ACLtD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,SAASgB,aAAT,CAAuB,GAAGjwO,IAA1B,EAAgC;AACnC,QAAMkwO,SAAS,GAAGJ,wDAAY,CAAC9vO,IAAD,CAA9B;AACA,QAAMmwO,cAAc,GAAGN,6DAAiB,CAAC7vO,IAAD,CAAxC;AACA,QAAM;AAAEA,IAAAA,IAAI,EAAEowO,WAAR;AAAqBn1T,IAAAA;AAArB,MAA8By0T,gFAAoB,CAAC1vO,IAAD,CAAxD;;AACA,MAAIowO,WAAW,CAAC7tV,MAAZ,KAAuB,CAA3B,EAA8B;AAC1B,WAAO2wB,2CAAI,CAAC,EAAD,EAAKg9T,SAAL,CAAX;AACH;;AACD,QAAM3oV,MAAM,GAAG,IAAI0jV,mDAAJ,CAAeoF,iBAAiB,CAACD,WAAD,EAAcF,SAAd,EAAyBj1T,IAAI,GAEnEgc,MAAD,IAAY84S,gEAAY,CAAC90T,IAAD,EAAOgc,MAAP,CAF4C,GAIpE04S,oDAJuC,CAAhC,CAAf;AAKA,SAAOQ,cAAc,GAAG5oV,MAAM,CAACjR,IAAP,CAAYs5V,wEAAgB,CAACO,cAAD,CAA5B,CAAH,GAAmD5oV,MAAxE;AACH;AACM,SAAS8oV,iBAAT,CAA2BD,WAA3B,EAAwCF,SAAxC,EAAmDI,cAAc,GAAGX,oDAApE,EAA8E;AACjF,SAAQvG,UAAD,IAAgB;AACnBmH,IAAAA,aAAa,CAACL,SAAD,EAAY,MAAM;AAC3B,YAAM;AAAE3tV,QAAAA;AAAF,UAAa6tV,WAAnB;AACA,YAAMn5S,MAAM,GAAG,IAAIlc,KAAJ,CAAUx4B,MAAV,CAAf;AACA,UAAIiuV,MAAM,GAAGjuV,MAAb;AACA,UAAIkuV,oBAAoB,GAAGluV,MAA3B;;AACA,WAAK,IAAIgK,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGhK,MAApB,EAA4BgK,CAAC,EAA7B,EAAiC;AAC7BgkV,QAAAA,aAAa,CAACL,SAAD,EAAY,MAAM;AAC3B,gBAAM/9S,MAAM,GAAGjf,2CAAI,CAACk9T,WAAW,CAAC7jV,CAAD,CAAZ,EAAiB2jV,SAAjB,CAAnB;AACA,cAAIQ,aAAa,GAAG,KAApB;AACAv+S,UAAAA,MAAM,CAAC57C,SAAP,CAAiB24V,uFAAwB,CAAC9F,UAAD,EAActiV,KAAD,IAAW;AAC7DmwC,YAAAA,MAAM,CAAC1qC,CAAD,CAAN,GAAYzF,KAAZ;;AACA,gBAAI,CAAC4pV,aAAL,EAAoB;AAChBA,cAAAA,aAAa,GAAG,IAAhB;AACAD,cAAAA,oBAAoB;AACvB;;AACD,gBAAI,CAACA,oBAAL,EAA2B;AACvBrH,cAAAA,UAAU,CAAC5oV,IAAX,CAAgB8vV,cAAc,CAACr5S,MAAM,CAACq3D,KAAP,EAAD,CAA9B;AACH;AACJ,WATwC,EAStC,MAAM;AACL,gBAAI,CAAC,GAAEkiP,MAAP,EAAe;AACXpH,cAAAA,UAAU,CAAC3oV,QAAX;AACH;AACJ,WAbwC,CAAzC;AAcH,SAjBY,EAiBV2oV,UAjBU,CAAb;AAkBH;AACJ,KAzBY,EAyBVA,UAzBU,CAAb;AA0BH,GA3BD;AA4BH;;AACD,SAASmH,aAAT,CAAuBL,SAAvB,EAAkCnwE,OAAlC,EAA2CspE,YAA3C,EAAyD;AACrD,MAAI6G,SAAJ,EAAe;AACXF,IAAAA,sEAAe,CAAC3G,YAAD,EAAe6G,SAAf,EAA0BnwE,OAA1B,CAAf;AACH,GAFD,MAGK;AACDA,IAAAA,OAAO;AACV;AACJ;;;;;;;;;;;;;;;;;;AC5DD;AACA;AACA;AACO,SAASv9O,MAAT,CAAgB,GAAGw9E,IAAnB,EAAyB;AAC5B,SAAO2wO,+DAAS,GAAGz9T,2CAAI,CAAC8sF,IAAD,EAAO8vO,wDAAY,CAAC9vO,IAAD,CAAnB,CAAP,CAAhB;AACH;;;;;;;;;;;;;;;;;ACLD;AACA;AACO,SAASkpL,KAAT,CAAe2nD,iBAAf,EAAkC;AACrC,SAAO,IAAI5F,mDAAJ,CAAgB7B,UAAD,IAAgB;AAClCwH,IAAAA,qDAAS,CAACC,iBAAiB,EAAlB,CAAT,CAA+Bt6V,SAA/B,CAAyC6yV,UAAzC;AACH,GAFM,CAAP;AAGH;;;;;;;;;;;;;;;;;ACND;AACO,MAAM/1T,KAAK,GAAG,IAAI43T,mDAAJ,CAAgB7B,UAAD,IAAgBA,UAAU,CAAC3oV,QAAX,EAA/B,CAAd;AACA,SAAS0sN,KAAT,CAAe+iI,SAAf,EAA0B;AAC7B,SAAOA,SAAS,GAAGY,cAAc,CAACZ,SAAD,CAAjB,GAA+B78T,KAA/C;AACH;;AACD,SAASy9T,cAAT,CAAwBZ,SAAxB,EAAmC;AAC/B,SAAO,IAAIjF,mDAAJ,CAAgB7B,UAAD,IAAgB8G,SAAS,CAAC5iV,QAAV,CAAmB,MAAM87U,UAAU,CAAC3oV,QAAX,EAAzB,CAA/B,CAAP;AACH;;;;;;;;;;;;;;;;;;;;;;ACPD;AACA;AACA;AACA;AACA;AACA;AACA;AACO,SAAS9L,QAAT,CAAkB,GAAGqrH,IAArB,EAA2B;AAC9B,QAAMmwO,cAAc,GAAGN,6DAAiB,CAAC7vO,IAAD,CAAxC;AACA,QAAM;AAAEA,IAAAA,IAAI,EAAE8pB,OAAR;AAAiB7uG,IAAAA;AAAjB,MAA0By0T,gFAAoB,CAAC1vO,IAAD,CAApD;AACA,QAAMz4G,MAAM,GAAG,IAAI0jV,mDAAJ,CAAgB7B,UAAD,IAAgB;AAC1C,UAAM;AAAE7mV,MAAAA;AAAF,QAAaunI,OAAnB;;AACA,QAAI,CAACvnI,MAAL,EAAa;AACT6mV,MAAAA,UAAU,CAAC3oV,QAAX;AACA;AACH;;AACD,UAAMw2C,MAAM,GAAG,IAAIlc,KAAJ,CAAUx4B,MAAV,CAAf;AACA,QAAIwuV,oBAAoB,GAAGxuV,MAA3B;AACA,QAAIyuV,kBAAkB,GAAGzuV,MAAzB;;AACA,SAAK,IAAI0uV,WAAW,GAAG,CAAvB,EAA0BA,WAAW,GAAG1uV,MAAxC,EAAgD0uV,WAAW,EAA3D,EAA+D;AAC3D,UAAItH,QAAQ,GAAG,KAAf;AACAiH,MAAAA,qDAAS,CAAC9mN,OAAO,CAACmnN,WAAD,CAAR,CAAT,CAAgC16V,SAAhC,CAA0C24V,uFAAwB,CAAC9F,UAAD,EAActiV,KAAD,IAAW;AACtF,YAAI,CAAC6iV,QAAL,EAAe;AACXA,UAAAA,QAAQ,GAAG,IAAX;AACAqH,UAAAA,kBAAkB;AACrB;;AACD/5S,QAAAA,MAAM,CAACg6S,WAAD,CAAN,GAAsBnqV,KAAtB;AACH,OANiE,EAM/D,MAAMiqV,oBAAoB,EANqC,EAMjC9oT,SANiC,EAMtB,MAAM;AAC9C,YAAI,CAAC8oT,oBAAD,IAAyB,CAACpH,QAA9B,EAAwC;AACpC,cAAI,CAACqH,kBAAL,EAAyB;AACrB5H,YAAAA,UAAU,CAAC5oV,IAAX,CAAgBy6B,IAAI,GAAG80T,gEAAY,CAAC90T,IAAD,EAAOgc,MAAP,CAAf,GAAgCA,MAApD;AACH;;AACDmyS,UAAAA,UAAU,CAAC3oV,QAAX;AACH;AACJ,OAbiE,CAAlE;AAcH;AACJ,GA1Bc,CAAf;AA2BA,SAAO0vV,cAAc,GAAG5oV,MAAM,CAACjR,IAAP,CAAYs5V,wEAAgB,CAACO,cAAD,CAA5B,CAAH,GAAmD5oV,MAAxE;AACH;;;;;;;;;;;;;;;;;ACtCD;AACA;AACO,SAAS2rB,IAAT,CAAci7B,KAAd,EAAqB+hS,SAArB,EAAgC;AACnC,SAAOA,SAAS,GAAGgB,+DAAS,CAAC/iS,KAAD,EAAQ+hS,SAAR,CAAZ,GAAiCU,qDAAS,CAACziS,KAAD,CAA1D;AACH;;;;;;;;;;;;;;;;;;;;;ACJD;AACA;AACA;AACA;AACA;AACA;AACA,MAAMkjS,uBAAuB,GAAG,CAAC,aAAD,EAAgB,gBAAhB,CAAhC;AACA,MAAMC,kBAAkB,GAAG,CAAC,kBAAD,EAAqB,qBAArB,CAA3B;AACA,MAAMC,aAAa,GAAG,CAAC,IAAD,EAAO,KAAP,CAAtB;AACO,SAASC,SAAT,CAAmBhuS,MAAnB,EAA2Bu8D,SAA3B,EAAsCz8F,OAAtC,EAA+C6sU,cAA/C,EAA+D;AAClE,MAAIhtO,4DAAU,CAAC7/F,OAAD,CAAd,EAAyB;AACrB6sU,IAAAA,cAAc,GAAG7sU,OAAjB;AACAA,IAAAA,OAAO,GAAG2kB,SAAV;AACH;;AACD,MAAIkoT,cAAJ,EAAoB;AAChB,WAAOqB,SAAS,CAAChuS,MAAD,EAASu8D,SAAT,EAAoBz8F,OAApB,CAAT,CAAsChtB,IAAtC,CAA2Cs5V,wEAAgB,CAACO,cAAD,CAA3D,CAAP;AACH;;AACD,QAAM,CAAC3lU,GAAD,EAAMqrF,MAAN,IAAgB47O,aAAa,CAACjuS,MAAD,CAAb,GAChB8tS,kBAAkB,CAAClyV,GAAnB,CAAwB0lM,UAAD,IAAiBjiC,OAAD,IAAar/G,MAAM,CAACshJ,UAAD,CAAN,CAAmB/kF,SAAnB,EAA8B8iD,OAA9B,EAAuCv/I,OAAvC,CAApD,CADgB,GAGdouU,uBAAuB,CAACluS,MAAD,CAAvB,GACM6tS,uBAAuB,CAACjyV,GAAxB,CAA4BuyV,uBAAuB,CAACnuS,MAAD,EAASu8D,SAAT,CAAnD,CADN,GAEM6xO,yBAAyB,CAACpuS,MAAD,CAAzB,GACI+tS,aAAa,CAACnyV,GAAd,CAAkBuyV,uBAAuB,CAACnuS,MAAD,EAASu8D,SAAT,CAAzC,CADJ,GAEI,EAPlB;;AAQA,MAAI,CAACv1F,GAAL,EAAU;AACN,QAAI4mU,8DAAW,CAAC5tS,MAAD,CAAf,EAAyB;AACrB,aAAO2tS,6DAAQ,CAAEU,SAAD,IAAeL,SAAS,CAACK,SAAD,EAAY9xO,SAAZ,EAAuBz8F,OAAvB,CAAzB,CAAR,CAAkEstU,gEAAS,CAACptS,MAAD,CAA3E,CAAP;AACH;AACJ;;AACD,MAAI,CAACh5B,GAAL,EAAU;AACN,UAAM,IAAIyX,SAAJ,CAAc,sBAAd,CAAN;AACH;;AACD,SAAO,IAAIgpT,mDAAJ,CAAgB7B,UAAD,IAAgB;AAClC,UAAMvmL,OAAO,GAAG,CAAC,GAAG7iD,IAAJ,KAAaopO,UAAU,CAAC5oV,IAAX,CAAgB,IAAIw/G,IAAI,CAACz9G,MAAT,GAAkBy9G,IAAlB,GAAyBA,IAAI,CAAC,CAAD,CAA7C,CAA7B;;AACAx1F,IAAAA,GAAG,CAACq4I,OAAD,CAAH;AACA,WAAO,MAAMhtD,MAAM,CAACgtD,OAAD,CAAnB;AACH,GAJM,CAAP;AAKH;;AACD,SAAS8uL,uBAAT,CAAiCnuS,MAAjC,EAAyCu8D,SAAzC,EAAoD;AAChD,SAAQ+kF,UAAD,IAAiBjiC,OAAD,IAAar/G,MAAM,CAACshJ,UAAD,CAAN,CAAmB/kF,SAAnB,EAA8B8iD,OAA9B,CAApC;AACH;;AACD,SAAS6uL,uBAAT,CAAiCluS,MAAjC,EAAyC;AACrC,SAAO2/D,4DAAU,CAAC3/D,MAAM,CAACsuS,WAAR,CAAV,IAAkC3uO,4DAAU,CAAC3/D,MAAM,CAAComN,cAAR,CAAnD;AACH;;AACD,SAASgoF,yBAAT,CAAmCpuS,MAAnC,EAA2C;AACvC,SAAO2/D,4DAAU,CAAC3/D,MAAM,CAACnsC,EAAR,CAAV,IAAyB8rG,4DAAU,CAAC3/D,MAAM,CAAChoC,GAAR,CAA1C;AACH;;AACD,SAASi2U,aAAT,CAAuBjuS,MAAvB,EAA+B;AAC3B,SAAO2/D,4DAAU,CAAC3/D,MAAM,CAAC7R,gBAAR,CAAV,IAAuCwxE,4DAAU,CAAC3/D,MAAM,CAACvR,mBAAR,CAAxD;AACH;;;;;;;;;;;;;;;;AClDD;AACO,SAAShtC,GAAT,CAAa8sV,SAAb,EAAwBC,UAAxB,EAAoCC,WAApC,EAAiD;AACpD,SAAO/oD,6CAAK,CAAC,MAAO6oD,SAAS,KAAKC,UAAL,GAAkBC,WAAnC,CAAZ;AACH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACHD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,SAASrB,SAAT,CAAmBziS,KAAnB,EAA0B;AAC7B,MAAIA,KAAK,YAAY88R,mDAArB,EAAiC;AAC7B,WAAO98R,KAAP;AACH;;AACD,MAAIA,KAAK,IAAI,IAAb,EAAmB;AACf,QAAIikS,8EAAmB,CAACjkS,KAAD,CAAvB,EAAgC;AAC5B,aAAOukS,qBAAqB,CAACvkS,KAAD,CAA5B;AACH;;AACD,QAAIijS,8DAAW,CAACjjS,KAAD,CAAf,EAAwB;AACpB,aAAOwkS,aAAa,CAACxkS,KAAD,CAApB;AACH;;AACD,QAAIgkS,0DAAS,CAAChkS,KAAD,CAAb,EAAsB;AAClB,aAAOykS,WAAW,CAACzkS,KAAD,CAAlB;AACH;;AACD,QAAIkkS,sEAAe,CAAClkS,KAAD,CAAnB,EAA4B;AACxB,aAAO0kS,iBAAiB,CAAC1kS,KAAD,CAAxB;AACH;;AACD,QAAIokS,4DAAU,CAACpkS,KAAD,CAAd,EAAuB;AACnB,aAAO2kS,YAAY,CAAC3kS,KAAD,CAAnB;AACH;;AACD,QAAIqkS,gFAAoB,CAACrkS,KAAD,CAAxB,EAAiC;AAC7B,aAAO4kS,sBAAsB,CAAC5kS,KAAD,CAA7B;AACH;AACJ;;AACD,QAAMmkS,8FAAgC,CAACnkS,KAAD,CAAtC;AACH;AACM,SAASukS,qBAAT,CAA+B3mU,GAA/B,EAAoC;AACvC,SAAO,IAAIk/T,mDAAJ,CAAgB7B,UAAD,IAAgB;AAClC,UAAM4J,GAAG,GAAGjnU,GAAG,CAAC++T,0DAAD,CAAH,EAAZ;;AACA,QAAI3nO,4DAAU,CAAC6vO,GAAG,CAACz8V,SAAL,CAAd,EAA+B;AAC3B,aAAOy8V,GAAG,CAACz8V,SAAJ,CAAc6yV,UAAd,CAAP;AACH;;AACD,UAAM,IAAInnT,SAAJ,CAAc,gEAAd,CAAN;AACH,GANM,CAAP;AAOH;AACM,SAAS0wT,aAAT,CAAuB9pP,KAAvB,EAA8B;AACjC,SAAO,IAAIoiP,mDAAJ,CAAgB7B,UAAD,IAAgB;AAClC,SAAK,IAAI78U,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGs8F,KAAK,CAACtmG,MAAV,IAAoB,CAAC6mV,UAAU,CAAC7gR,MAAhD,EAAwDh8D,CAAC,EAAzD,EAA6D;AACzD68U,MAAAA,UAAU,CAAC5oV,IAAX,CAAgBqoG,KAAK,CAACt8F,CAAD,CAArB;AACH;;AACD68U,IAAAA,UAAU,CAAC3oV,QAAX;AACH,GALM,CAAP;AAMH;AACM,SAASmyV,WAAT,CAAqBjhU,OAArB,EAA8B;AACjC,SAAO,IAAIs5T,mDAAJ,CAAgB7B,UAAD,IAAgB;AAClCz3T,IAAAA,OAAO,CACFv0B,IADL,CACW0J,KAAD,IAAW;AACjB,UAAI,CAACsiV,UAAU,CAAC7gR,MAAhB,EAAwB;AACpB6gR,QAAAA,UAAU,CAAC5oV,IAAX,CAAgBsG,KAAhB;AACAsiV,QAAAA,UAAU,CAAC3oV,QAAX;AACH;AACJ,KAND,EAMIsxB,GAAD,IAASq3T,UAAU,CAACn9U,KAAX,CAAiB8lB,GAAjB,CANZ,EAOK30B,IAPL,CAOU,IAPV,EAOgB6vV,6EAPhB;AAQH,GATM,CAAP;AAUH;AACM,SAAS6F,YAAT,CAAsBG,QAAtB,EAAgC;AACnC,SAAO,IAAIhI,mDAAJ,CAAgB7B,UAAD,IAAgB;AAClC,SAAK,MAAMtiV,KAAX,IAAoBmsV,QAApB,EAA8B;AAC1B7J,MAAAA,UAAU,CAAC5oV,IAAX,CAAgBsG,KAAhB;;AACA,UAAIsiV,UAAU,CAAC7gR,MAAf,EAAuB;AACnB;AACH;AACJ;;AACD6gR,IAAAA,UAAU,CAAC3oV,QAAX;AACH,GARM,CAAP;AASH;AACM,SAASoyV,iBAAT,CAA2BK,aAA3B,EAA0C;AAC7C,SAAO,IAAIjI,mDAAJ,CAAgB7B,UAAD,IAAgB;AAClC18I,IAAAA,OAAO,CAACwmJ,aAAD,EAAgB9J,UAAhB,CAAP,CAAmCt3T,KAAnC,CAA0CC,GAAD,IAASq3T,UAAU,CAACn9U,KAAX,CAAiB8lB,GAAjB,CAAlD;AACH,GAFM,CAAP;AAGH;AACM,SAASghU,sBAAT,CAAgCI,cAAhC,EAAgD;AACnD,SAAON,iBAAiB,CAACJ,8FAAkC,CAACU,cAAD,CAAnC,CAAxB;AACH;;AACD,SAASzmJ,OAAT,CAAiBwmJ,aAAjB,EAAgC9J,UAAhC,EAA4C;AACxC,MAAIgK,eAAJ,EAAqBC,iBAArB;;AACA,MAAIztT,GAAJ,EAASD,EAAT;;AACA,SAAOnS,iDAAS,CAAC,IAAD,EAAO,KAAK,CAAZ,EAAe,KAAK,CAApB,EAAuB,aAAa;AAChD,QAAI;AACA,WAAK4/T,eAAe,GAAGlB,qDAAa,CAACgB,aAAD,CAApC,EAAqDG,iBAAiB,GAAG,MAAMD,eAAe,CAAC5yV,IAAhB,EAA1B,EAAkD,CAAC6yV,iBAAiB,CAAClyT,IAA1H,GAAiI;AAC7H,cAAMr6B,KAAK,GAAGusV,iBAAiB,CAACvsV,KAAhC;AACAsiV,QAAAA,UAAU,CAAC5oV,IAAX,CAAgBsG,KAAhB;;AACA,YAAIsiV,UAAU,CAAC7gR,MAAf,EAAuB;AACnB;AACH;AACJ;AACJ,KARD,CASA,OAAO+qR,KAAP,EAAc;AAAE1tT,MAAAA,GAAG,GAAG;AAAE35B,QAAAA,KAAK,EAAEqnV;AAAT,OAAN;AAAyB,KATzC,SAUQ;AACJ,UAAI;AACA,YAAID,iBAAiB,IAAI,CAACA,iBAAiB,CAAClyT,IAAxC,KAAiDwE,EAAE,GAAGytT,eAAe,CAAC76F,MAAtE,CAAJ,EAAmF,MAAM5yN,EAAE,CAAC5G,IAAH,CAAQq0T,eAAR,CAAN;AACtF,OAFD,SAGQ;AAAE,YAAIxtT,GAAJ,EAAS,MAAMA,GAAG,CAAC35B,KAAV;AAAkB;AACxC;;AACDm9U,IAAAA,UAAU,CAAC3oV,QAAX;AACH,GAlBe,CAAhB;AAmBH;;;;;;;;;;;;;;;;;AC5GD;AACA;AACO,SAAS6tB,QAAT,CAAkBsxL,MAAM,GAAG,CAA3B,EAA8BswI,SAAS,GAAGqD,4DAA1C,EAA0D;AAC7D,MAAI3zI,MAAM,GAAG,CAAb,EAAgB;AACZA,IAAAA,MAAM,GAAG,CAAT;AACH;;AACD,SAAO4zI,6CAAK,CAAC5zI,MAAD,EAASA,MAAT,EAAiBswI,SAAjB,CAAZ;AACH;;;;;;;;;;;;;;;;;;;;ACPD;AACA;AACA;AACA;AACA;AACO,SAAShqC,KAAT,CAAe,GAAGlmM,IAAlB,EAAwB;AAC3B,QAAMkwO,SAAS,GAAGJ,wDAAY,CAAC9vO,IAAD,CAA9B;AACA,QAAM2zO,UAAU,GAAGD,qDAAS,CAAC1zO,IAAD,EAAOu0F,QAAP,CAA5B;AACA,QAAMzqE,OAAO,GAAG9pB,IAAhB;AACA,SAAO,CAAC8pB,OAAO,CAACvnI,MAAT,GAEC8wB,yCAFD,GAGDy2G,OAAO,CAACvnI,MAAR,KAAmB,CAAnB,GAEMquV,qDAAS,CAAC9mN,OAAO,CAAC,CAAD,CAAR,CAFf,GAIM2pN,6DAAQ,CAACE,UAAD,CAAR,CAAqBzgU,2CAAI,CAAC42G,OAAD,EAAUomN,SAAV,CAAzB,CAPZ;AAQH;;;;;;;;;;;;;;;;;ACjBD;AACA;AACO,SAASjxV,EAAT,CAAY,GAAG+gH,IAAf,EAAqB;AACxB,QAAMkwO,SAAS,GAAGJ,wDAAY,CAAC9vO,IAAD,CAA9B;AACA,SAAO9sF,2CAAI,CAAC8sF,IAAD,EAAOkwO,SAAP,CAAX;AACH;;;;;;;;;;;;;;;;;ACLD;AACA;AACO,SAAStsO,UAAT,CAAoBgwO,mBAApB,EAAyC1D,SAAzC,EAAoD;AACvD,QAAM2D,YAAY,GAAG1wO,4DAAU,CAACywO,mBAAD,CAAV,GAAkCA,mBAAlC,GAAwD,MAAMA,mBAAnF;;AACA,QAAMz8V,IAAI,GAAIiyV,UAAD,IAAgBA,UAAU,CAACn9U,KAAX,CAAiB4nV,YAAY,EAA7B,CAA7B;;AACA,SAAO,IAAI5I,mDAAJ,CAAeiF,SAAS,GAAI9G,UAAD,IAAgB8G,SAAS,CAAC5iV,QAAV,CAAmBnW,IAAnB,EAAyB,CAAzB,EAA4BiyV,UAA5B,CAAnB,GAA6DjyV,IAArF,CAAP;AACH;;;;;;;;;;;;;;;;;;;ACND;AACA;AACA;AACA;AACO,SAASq8V,KAAT,CAAeQ,OAAO,GAAG,CAAzB,EAA4BC,mBAA5B,EAAiD/D,SAAS,GAAGqD,mDAA7D,EAA6E;AAChF,MAAIW,gBAAgB,GAAG,CAAC,CAAxB;;AACA,MAAID,mBAAmB,IAAI,IAA3B,EAAiC;AAC7B,QAAIH,8DAAW,CAACG,mBAAD,CAAf,EAAsC;AAClC/D,MAAAA,SAAS,GAAG+D,mBAAZ;AACH,KAFD,MAGK;AACDC,MAAAA,gBAAgB,GAAGD,mBAAnB;AACH;AACJ;;AACD,SAAO,IAAIhJ,mDAAJ,CAAgB7B,UAAD,IAAgB;AAClC,QAAI+K,GAAG,GAAGJ,yDAAW,CAACC,OAAD,CAAX,GAAuB,CAACA,OAAD,GAAW9D,SAAS,CAACxzR,GAAV,EAAlC,GAAoDs3R,OAA9D;;AACA,QAAIG,GAAG,GAAG,CAAV,EAAa;AACTA,MAAAA,GAAG,GAAG,CAAN;AACH;;AACD,QAAIh0T,CAAC,GAAG,CAAR;AACA,WAAO+vT,SAAS,CAAC5iV,QAAV,CAAmB,YAAY;AAClC,UAAI,CAAC87U,UAAU,CAAC7gR,MAAhB,EAAwB;AACpB6gR,QAAAA,UAAU,CAAC5oV,IAAX,CAAgB2/B,CAAC,EAAjB;;AACA,YAAI,KAAK+zT,gBAAT,EAA2B;AACvB,eAAK5mV,QAAL,CAAc26B,SAAd,EAAyBisT,gBAAzB;AACH,SAFD,MAGK;AACD9K,UAAAA,UAAU,CAAC3oV,QAAX;AACH;AACJ;AACJ,KAVM,EAUJ0zV,GAVI,CAAP;AAWH,GAjBM,CAAP;AAkBH;;;;;;;;;;;;;;;;;AChCD;AACO,SAASjF,wBAAT,CAAkClC,WAAlC,EAA+CoH,MAA/C,EAAuDjhM,UAAvD,EAAmEukF,OAAnE,EAA4E28G,UAA5E,EAAwF;AAC3F,SAAO,IAAIC,kBAAJ,CAAuBtH,WAAvB,EAAoCoH,MAApC,EAA4CjhM,UAA5C,EAAwDukF,OAAxD,EAAiE28G,UAAjE,CAAP;AACH;AACM,MAAMC,kBAAN,SAAiC1J,mDAAjC,CAA4C;AAC/Cv1V,EAAAA,WAAW,CAAC23V,WAAD,EAAcoH,MAAd,EAAsBjhM,UAAtB,EAAkCukF,OAAlC,EAA2C28G,UAA3C,EAAuDE,iBAAvD,EAA0E;AACjF,UAAMvH,WAAN;AACA,SAAKqH,UAAL,GAAkBA,UAAlB;AACA,SAAKE,iBAAL,GAAyBA,iBAAzB;AACA,SAAKrkL,KAAL,GAAakkL,MAAM,GACb,UAAUttV,KAAV,EAAiB;AACf,UAAI;AACAstV,QAAAA,MAAM,CAACttV,KAAD,CAAN;AACH,OAFD,CAGA,OAAOirB,GAAP,EAAY;AACRi7T,QAAAA,WAAW,CAAC/gV,KAAZ,CAAkB8lB,GAAlB;AACH;AACJ,KARc,GASb,MAAMm+I,KATZ;AAUA,SAAKq9K,MAAL,GAAc71G,OAAO,GACf,UAAU3lN,GAAV,EAAe;AACb,UAAI;AACA2lN,QAAAA,OAAO,CAAC3lN,GAAD,CAAP;AACH,OAFD,CAGA,OAAOA,GAAP,EAAY;AACRi7T,QAAAA,WAAW,CAAC/gV,KAAZ,CAAkB8lB,GAAlB;AACH,OALD,SAMQ;AACJ,aAAK42N,WAAL;AACH;AACJ,KAXgB,GAYf,MAAM4kG,MAZZ;AAaA,SAAKC,SAAL,GAAiBr6L,UAAU,GACrB,YAAY;AACV,UAAI;AACAA,QAAAA,UAAU;AACb,OAFD,CAGA,OAAOphI,GAAP,EAAY;AACRi7T,QAAAA,WAAW,CAAC/gV,KAAZ,CAAkB8lB,GAAlB;AACH,OALD,SAMQ;AACJ,aAAK42N,WAAL;AACH;AACJ,KAXsB,GAYrB,MAAM6kG,SAZZ;AAaH;;AACD7kG,EAAAA,WAAW,GAAG;AACV,QAAIhjN,EAAJ;;AACA,QAAI,CAAC,KAAK4uT,iBAAN,IAA2B,KAAKA,iBAAL,EAA/B,EAAyD;AACrD,YAAM;AAAEhsR,QAAAA;AAAF,UAAa,IAAnB;AACA,YAAMogL,WAAN;AACA,OAACpgL,MAAD,KAAY,CAAC5iC,EAAE,GAAG,KAAK0uT,UAAX,MAA2B,IAA3B,IAAmC1uT,EAAE,KAAK,KAAK,CAA/C,GAAmD,KAAK,CAAxD,GAA4DA,EAAE,CAAC5G,IAAH,CAAQ,IAAR,CAAxE;AACH;AACJ;;AAjD8C;;;;;;;;;;;;;;;;;;ACJnD;AACA;AACA;AACO,SAAS01T,KAAT,CAAeC,gBAAf,EAAiC;AACpC,SAAOF,mDAAO,CAAC,CAACriT,MAAD,EAASi3S,UAAT,KAAwB;AACnC,QAAIO,QAAQ,GAAG,KAAf;AACA,QAAIgL,SAAS,GAAG,IAAhB;AACA,QAAIC,kBAAkB,GAAG,IAAzB;AACA,QAAIC,UAAU,GAAG,KAAjB;;AACA,UAAMC,WAAW,GAAG,MAAM;AACtBF,MAAAA,kBAAkB,KAAK,IAAvB,IAA+BA,kBAAkB,KAAK,KAAK,CAA3D,GAA+D,KAAK,CAApE,GAAwEA,kBAAkB,CAACjsG,WAAnB,EAAxE;AACAisG,MAAAA,kBAAkB,GAAG,IAArB;;AACA,UAAIjL,QAAJ,EAAc;AACVA,QAAAA,QAAQ,GAAG,KAAX;AACA,cAAM7iV,KAAK,GAAG6tV,SAAd;AACAA,QAAAA,SAAS,GAAG,IAAZ;AACAvL,QAAAA,UAAU,CAAC5oV,IAAX,CAAgBsG,KAAhB;AACH;;AACD+tV,MAAAA,UAAU,IAAIzL,UAAU,CAAC3oV,QAAX,EAAd;AACH,KAVD;;AAWA,UAAMs0V,eAAe,GAAG,MAAM;AAC1BH,MAAAA,kBAAkB,GAAG,IAArB;AACAC,MAAAA,UAAU,IAAIzL,UAAU,CAAC3oV,QAAX,EAAd;AACH,KAHD;;AAIA0xC,IAAAA,MAAM,CAAC57C,SAAP,CAAiB24V,6EAAwB,CAAC9F,UAAD,EAActiV,KAAD,IAAW;AAC7D6iV,MAAAA,QAAQ,GAAG,IAAX;AACAgL,MAAAA,SAAS,GAAG7tV,KAAZ;;AACA,UAAI,CAAC8tV,kBAAL,EAAyB;AACrBhE,QAAAA,gEAAS,CAAC8D,gBAAgB,CAAC5tV,KAAD,CAAjB,CAAT,CAAmCvQ,SAAnC,CAA8Cq+V,kBAAkB,GAAG1F,6EAAwB,CAAC9F,UAAD,EAAa0L,WAAb,EAA0BC,eAA1B,CAA3F;AACH;AACJ,KANwC,EAMtC,MAAM;AACLF,MAAAA,UAAU,GAAG,IAAb;AACA,OAAC,CAAClL,QAAD,IAAa,CAACiL,kBAAd,IAAoCA,kBAAkB,CAACrsR,MAAxD,KAAmE6gR,UAAU,CAAC3oV,QAAX,EAAnE;AACH,KATwC,CAAzC;AAUH,GA9Ba,CAAd;AA+BH;;;;;;;;;;;;;;;;;;ACnCD;AACA;AACA;AACO,SAASu0V,SAAT,CAAmB3mV,QAAnB,EAA6B6hV,SAAS,GAAGqD,4DAAzC,EAAyD;AAC5D,SAAOkB,6CAAK,CAAC,MAAMjB,wDAAK,CAACnlV,QAAD,EAAW6hV,SAAX,CAAZ,CAAZ;AACH;;;;;;;;;;;;;;;;;;ACLD;AACA;AACA;AACO,SAAS/kV,UAAT,CAAoB8pV,QAApB,EAA8B;AACjC,SAAOT,mDAAO,CAAC,CAACriT,MAAD,EAASi3S,UAAT,KAAwB;AACnC,QAAI8L,QAAQ,GAAG,IAAf;AACA,QAAIC,SAAS,GAAG,KAAhB;AACA,QAAIC,aAAJ;AACAF,IAAAA,QAAQ,GAAG/iT,MAAM,CAAC57C,SAAP,CAAiB24V,6EAAwB,CAAC9F,UAAD,EAAanhT,SAAb,EAAwBA,SAAxB,EAAoClW,GAAD,IAAS;AAC5FqjU,MAAAA,aAAa,GAAGxE,gEAAS,CAACqE,QAAQ,CAACljU,GAAD,EAAM5mB,UAAU,CAAC8pV,QAAD,CAAV,CAAqB9iT,MAArB,CAAN,CAAT,CAAzB;;AACA,UAAI+iT,QAAJ,EAAc;AACVA,QAAAA,QAAQ,CAACvsG,WAAT;AACAusG,QAAAA,QAAQ,GAAG,IAAX;AACAE,QAAAA,aAAa,CAAC7+V,SAAd,CAAwB6yV,UAAxB;AACH,OAJD,MAKK;AACD+L,QAAAA,SAAS,GAAG,IAAZ;AACH;AACJ,KAVmD,CAAzC,CAAX;;AAWA,QAAIA,SAAJ,EAAe;AACXD,MAAAA,QAAQ,CAACvsG,WAAT;AACAusG,MAAAA,QAAQ,GAAG,IAAX;AACAE,MAAAA,aAAa,CAAC7+V,SAAd,CAAwB6yV,UAAxB;AACH;AACJ,GApBa,CAAd;AAqBH;;;;;;;;;;;;;;;;;;;;;ACzBD;AACA;AACA;AACA;AACA;AACA;AACO,SAAS6G,aAAT,CAAuB,GAAGjwO,IAA1B,EAAgC;AACnC,QAAMmwO,cAAc,GAAGN,6DAAiB,CAAC7vO,IAAD,CAAxC;AACA,SAAOmwO,cAAc,GACf75V,gDAAI,CAAC25V,aAAa,CAAC,GAAGjwO,IAAJ,CAAd,EAAyB4vO,wEAAgB,CAACO,cAAD,CAAzC,CADW,GAEfqE,mDAAO,CAAC,CAACriT,MAAD,EAASi3S,UAAT,KAAwB;AAC9BiH,IAAAA,4EAAiB,CAAC,CAACl+S,MAAD,EAAS,GAAGkjT,oEAAc,CAACr1O,IAAD,CAA1B,CAAD,CAAjB,CAAqDopO,UAArD;AACH,GAFQ,CAFb;AAKH;;;;;;;;;;;;;;;;ACbD;AACO,SAASrkV,iBAAT,CAA2B,GAAGuwV,YAA9B,EAA4C;AAC/C,SAAOrF,6DAAa,CAAC,GAAGqF,YAAJ,CAApB;AACH;;;;;;;;;;;;;;;;ACHD;AACO,SAAS3E,SAAT,GAAqB;AACxB,SAAO8C,mDAAQ,CAAC,CAAD,CAAf;AACH;;;;;;;;;;;;;;;;;ACHD;AACA;AACO,SAASlgU,SAAT,CAAmBgiU,OAAnB,EAA4BpF,cAA5B,EAA4C;AAC/C,SAAOhtO,4DAAU,CAACgtO,cAAD,CAAV,GAA6BgB,mDAAQ,CAACoE,OAAD,EAAUpF,cAAV,EAA0B,CAA1B,CAArC,GAAoEgB,mDAAQ,CAACoE,OAAD,EAAU,CAAV,CAAnF;AACH;;;;;;;;;;;;;;;;;;ACJD;AACA;AACA;AACO,SAASC,YAAT,CAAsBxB,OAAtB,EAA+B9D,SAAS,GAAGqD,4DAA3C,EAA2D;AAC9D,SAAOiB,mDAAO,CAAC,CAACriT,MAAD,EAASi3S,UAAT,KAAwB;AACnC,QAAIqM,UAAU,GAAG,IAAjB;AACA,QAAId,SAAS,GAAG,IAAhB;AACA,QAAIe,QAAQ,GAAG,IAAf;;AACA,UAAMp0U,IAAI,GAAG,MAAM;AACf,UAAIm0U,UAAJ,EAAgB;AACZA,QAAAA,UAAU,CAAC9sG,WAAX;AACA8sG,QAAAA,UAAU,GAAG,IAAb;AACA,cAAM3uV,KAAK,GAAG6tV,SAAd;AACAA,QAAAA,SAAS,GAAG,IAAZ;AACAvL,QAAAA,UAAU,CAAC5oV,IAAX,CAAgBsG,KAAhB;AACH;AACJ,KARD;;AASA,aAAS6uV,YAAT,GAAwB;AACpB,YAAMC,UAAU,GAAGF,QAAQ,GAAG1B,OAA9B;AACA,YAAMt3R,GAAG,GAAGwzR,SAAS,CAACxzR,GAAV,EAAZ;;AACA,UAAIA,GAAG,GAAGk5R,UAAV,EAAsB;AAClBH,QAAAA,UAAU,GAAG,KAAKnoV,QAAL,CAAc26B,SAAd,EAAyB2tT,UAAU,GAAGl5R,GAAtC,CAAb;AACA0sR,QAAAA,UAAU,CAAC5+T,GAAX,CAAeirU,UAAf;AACA;AACH;;AACDn0U,MAAAA,IAAI;AACP;;AACD6wB,IAAAA,MAAM,CAAC57C,SAAP,CAAiB24V,6EAAwB,CAAC9F,UAAD,EAActiV,KAAD,IAAW;AAC7D6tV,MAAAA,SAAS,GAAG7tV,KAAZ;AACA4uV,MAAAA,QAAQ,GAAGxF,SAAS,CAACxzR,GAAV,EAAX;;AACA,UAAI,CAAC+4R,UAAL,EAAiB;AACbA,QAAAA,UAAU,GAAGvF,SAAS,CAAC5iV,QAAV,CAAmBqoV,YAAnB,EAAiC3B,OAAjC,CAAb;AACA5K,QAAAA,UAAU,CAAC5+T,GAAX,CAAeirU,UAAf;AACH;AACJ,KAPwC,EAOtC,MAAM;AACLn0U,MAAAA,IAAI;AACJ8nU,MAAAA,UAAU,CAAC3oV,QAAX;AACH,KAVwC,EAUtCwnC,SAVsC,EAU3B,MAAM;AAChB0sT,MAAAA,SAAS,GAAGc,UAAU,GAAG,IAAzB;AACH,KAZwC,CAAzC;AAaH,GApCa,CAAd;AAqCH;;;;;;;;;;;;;;;;;ACzCD;AACA;AACO,SAASI,cAAT,CAAwB10N,YAAxB,EAAsC;AACzC,SAAOqzN,mDAAO,CAAC,CAACriT,MAAD,EAASi3S,UAAT,KAAwB;AACnC,QAAIO,QAAQ,GAAG,KAAf;AACAx3S,IAAAA,MAAM,CAAC57C,SAAP,CAAiB24V,6EAAwB,CAAC9F,UAAD,EAActiV,KAAD,IAAW;AAC7D6iV,MAAAA,QAAQ,GAAG,IAAX;AACAP,MAAAA,UAAU,CAAC5oV,IAAX,CAAgBsG,KAAhB;AACH,KAHwC,EAGtC,MAAM;AACL,UAAI,CAAC6iV,QAAL,EAAe;AACXP,QAAAA,UAAU,CAAC5oV,IAAX,CAAgB2gI,YAAhB;AACH;;AACDioN,MAAAA,UAAU,CAAC3oV,QAAX;AACH,KARwC,CAAzC;AASH,GAXa,CAAd;AAYH;;;;;;;;;;;;;;;;;;ACfD;AACA;AACA;AACO,SAAS4yG,KAAT,CAAe8gP,GAAf,EAAoBjE,SAAS,GAAGqD,4DAAhC,EAAgD;AACnD,QAAMllV,QAAQ,GAAGmlV,wDAAK,CAACW,GAAD,EAAMjE,SAAN,CAAtB;AACA,SAAO4F,qDAAS,CAAC,MAAMznV,QAAP,CAAhB;AACH;;;;;;;;;;;;;;;;;;;;ACND;AACA;AACA;AACA;AACA;AACO,SAASynV,SAAT,CAAmBG,qBAAnB,EAA0CC,iBAA1C,EAA6D;AAChE,MAAIA,iBAAJ,EAAuB;AACnB,WAAQ/jT,MAAD,IAAY3P,0DAAM,CAAC0zT,iBAAiB,CAAC5/V,IAAlB,CAAuB1B,2CAAI,CAAC,CAAD,CAA3B,EAAgCmhW,+DAAc,EAA9C,CAAD,EAAoD5jT,MAAM,CAAC77C,IAAP,CAAYw/V,SAAS,CAACG,qBAAD,CAArB,CAApD,CAAzB;AACH;;AACD,SAAO9E,mDAAQ,CAAC,CAACrqV,KAAD,EAAQswC,KAAR,KAAkB6+S,qBAAqB,CAACnvV,KAAD,EAAQswC,KAAR,CAArB,CAAoC9gD,IAApC,CAAyC1B,2CAAI,CAAC,CAAD,CAA7C,EAAkDohW,6CAAK,CAAClvV,KAAD,CAAvD,CAAnB,CAAf;AACH;;;;;;;;;;;;;;;;;;ACVD;AACA;AACA;AACO,SAASqvV,aAAT,GAAyB;AAC5B,SAAO3B,mDAAO,CAAC,CAACriT,MAAD,EAASi3S,UAAT,KAAwB;AACnCj3S,IAAAA,MAAM,CAAC57C,SAAP,CAAiB24V,6EAAwB,CAAC9F,UAAD,EAAckB,YAAD,IAAkBV,kEAAmB,CAACU,YAAD,EAAelB,UAAf,CAAlD,CAAzC;AACH,GAFa,CAAd;AAGH;;;;;;;;;;;;;;;;;;ACPD;AACA;AACA;AACO,SAASpkV,oBAAT,CAA8BoxV,UAA9B,EAA0CC,WAAW,GAAG1G,oDAAxD,EAAkE;AACrEyG,EAAAA,UAAU,GAAGA,UAAU,KAAK,IAAf,IAAuBA,UAAU,KAAK,KAAK,CAA3C,GAA+CA,UAA/C,GAA4DE,cAAzE;AACA,SAAO9B,mDAAO,CAAC,CAACriT,MAAD,EAASi3S,UAAT,KAAwB;AACnC,QAAImN,WAAJ;AACA,QAAI7jF,KAAK,GAAG,IAAZ;AACAvgO,IAAAA,MAAM,CAAC57C,SAAP,CAAiB24V,6EAAwB,CAAC9F,UAAD,EAActiV,KAAD,IAAW;AAC7D,YAAM0vV,UAAU,GAAGH,WAAW,CAACvvV,KAAD,CAA9B;;AACA,UAAI4rQ,KAAK,IAAI,CAAC0jF,UAAU,CAACG,WAAD,EAAcC,UAAd,CAAxB,EAAmD;AAC/C9jF,QAAAA,KAAK,GAAG,KAAR;AACA6jF,QAAAA,WAAW,GAAGC,UAAd;AACApN,QAAAA,UAAU,CAAC5oV,IAAX,CAAgBsG,KAAhB;AACH;AACJ,KAPwC,CAAzC;AAQH,GAXa,CAAd;AAYH;;AACD,SAASwvV,cAAT,CAAwBt+Q,CAAxB,EAA2Bv4C,CAA3B,EAA8B;AAC1B,SAAOu4C,CAAC,KAAKv4C,CAAb;AACH;;;;;;;;;;;;;;;;;;;ACpBD;AACA;AACA;AACA;AACO,SAASg3T,UAAT,CAAoBlB,OAApB,EAA6BpF,cAA7B,EAA6C;AAChD,MAAIA,cAAJ,EAAoB;AAChB,WAAQh+S,MAAD,IAAYA,MAAM,CAAC77C,IAAP,CAAYmgW,UAAU,CAAC,CAACz+Q,CAAD,EAAIzrE,CAAJ,KAAUqkV,gEAAS,CAAC2E,OAAO,CAACv9Q,CAAD,EAAIzrE,CAAJ,CAAR,CAAT,CAAyBjW,IAAzB,CAA8B8I,yCAAG,CAAC,CAACqgC,CAAD,EAAI03L,EAAJ,KAAWg5H,cAAc,CAACn4Q,CAAD,EAAIv4C,CAAJ,EAAOlzB,CAAP,EAAU4qN,EAAV,CAA1B,CAAjC,CAAX,CAAtB,CAAnB;AACH;;AACD,SAAOq9H,mDAAO,CAAC,CAACriT,MAAD,EAASi3S,UAAT,KAAwB;AACnC,QAAIhyS,KAAK,GAAG,CAAZ;AACA,QAAI89S,QAAQ,GAAG,IAAf;AACA,QAAIL,UAAU,GAAG,KAAjB;AACA1iT,IAAAA,MAAM,CAAC57C,SAAP,CAAiB24V,6EAAwB,CAAC9F,UAAD,EAAcsN,UAAD,IAAgB;AAClE,UAAI,CAACxB,QAAL,EAAe;AACXA,QAAAA,QAAQ,GAAGhG,6EAAwB,CAAC9F,UAAD,EAAanhT,SAAb,EAAwB,MAAM;AAC7DitT,UAAAA,QAAQ,GAAG,IAAX;AACAL,UAAAA,UAAU,IAAIzL,UAAU,CAAC3oV,QAAX,EAAd;AACH,SAHkC,CAAnC;AAIAmwV,QAAAA,gEAAS,CAAC2E,OAAO,CAACmB,UAAD,EAAat/S,KAAK,EAAlB,CAAR,CAAT,CAAwC7gD,SAAxC,CAAkD2+V,QAAlD;AACH;AACJ,KARwC,EAQtC,MAAM;AACLL,MAAAA,UAAU,GAAG,IAAb;AACA,OAACK,QAAD,IAAa9L,UAAU,CAAC3oV,QAAX,EAAb;AACH,KAXwC,CAAzC;AAYH,GAhBa,CAAd;AAiBH;;;;;;;;;;;;;;;;;ACzBD;AACA;AACO,SAASlB,MAAT,CAAgBo3V,SAAhB,EAA2Bj2T,OAA3B,EAAoC;AACvC,SAAO8zT,mDAAO,CAAC,CAACriT,MAAD,EAASi3S,UAAT,KAAwB;AACnC,QAAIhyS,KAAK,GAAG,CAAZ;AACAjF,IAAAA,MAAM,CAAC57C,SAAP,CAAiB24V,6EAAwB,CAAC9F,UAAD,EAActiV,KAAD,IAAW6vV,SAAS,CAAC53T,IAAV,CAAe2B,OAAf,EAAwB55B,KAAxB,EAA+BswC,KAAK,EAApC,KAA2CgyS,UAAU,CAAC5oV,IAAX,CAAgBsG,KAAhB,CAAnE,CAAzC;AACH,GAHa,CAAd;AAIH;;;;;;;;;;;;;;;;ACPD;AACO,SAAS8vV,QAAT,CAAkBppT,QAAlB,EAA4B;AAC/B,SAAOgnT,mDAAO,CAAC,CAACriT,MAAD,EAASi3S,UAAT,KAAwB;AACnC,QAAI;AACAj3S,MAAAA,MAAM,CAAC57C,SAAP,CAAiB6yV,UAAjB;AACH,KAFD,SAGQ;AACJA,MAAAA,UAAU,CAAC5+T,GAAX,CAAegjB,QAAf;AACH;AACJ,GAPa,CAAd;AAQH;;;;;;;;;;;;;;;;;;;;;ACVD;AACA;AACA;AACA;AACA;AACA;AACO,SAASklO,KAAT,CAAeikF,SAAf,EAA0Bx1N,YAA1B,EAAwC;AAC3C,QAAM21N,eAAe,GAAG12T,SAAS,CAAC79B,MAAV,IAAoB,CAA5C;AACA,SAAQ4vC,MAAD,IAAYA,MAAM,CAAC77C,IAAP,CAAYqgW,SAAS,GAAGp3V,+CAAM,CAAC,CAACwM,CAAD,EAAIQ,CAAJ,KAAUoqV,SAAS,CAAC5qV,CAAD,EAAIQ,CAAJ,EAAO4lC,MAAP,CAApB,CAAT,GAA+Cw9S,oDAApE,EAA8E/6V,2CAAI,CAAC,CAAD,CAAlF,EAAuFkiW,eAAe,GAAGjB,+DAAc,CAAC10N,YAAD,CAAjB,GAAkC01N,2DAAY,CAAC,MAAM,IAAIjI,wDAAJ,EAAP,CAApJ,CAAnB;AACH;;;;;;;;;;;;;;;;;;;;ACTD;AACA;AACA;AACA;AACA;AACO,SAASmI,OAAT,CAAiBV,WAAjB,EAA8BW,gBAA9B,EAAgD3oV,QAAhD,EAA0D4oV,SAA1D,EAAqE;AACxE,SAAOzC,mDAAO,CAAC,CAACriT,MAAD,EAASi3S,UAAT,KAAwB;AACnC,QAAIxqU,OAAJ;;AACA,QAAI,CAACo4U,gBAAD,IAAqB,OAAOA,gBAAP,KAA4B,UAArD,EAAiE;AAC7Dp4U,MAAAA,OAAO,GAAGo4U,gBAAV;AACH,KAFD,MAGK;AACD,OAAC;AAAE3oV,QAAAA,QAAF;AAAYuQ,QAAAA,OAAZ;AAAqBq4U,QAAAA;AAArB,UAAmCD,gBAApC;AACH;;AACD,UAAME,MAAM,GAAG,IAAIryT,GAAJ,EAAf;;AACA,UAAMsyT,MAAM,GAAIrgP,EAAD,IAAQ;AACnBogP,MAAAA,MAAM,CAACz7T,OAAP,CAAeq7E,EAAf;AACAA,MAAAA,EAAE,CAACsyO,UAAD,CAAF;AACH,KAHD;;AAIA,UAAMgO,WAAW,GAAIrlU,GAAD,IAASolU,MAAM,CAAEE,QAAD,IAAcA,QAAQ,CAACprV,KAAT,CAAe8lB,GAAf,CAAf,CAAnC;;AACA,QAAIulU,YAAY,GAAG,CAAnB;AACA,QAAIC,iBAAiB,GAAG,KAAxB;AACA,UAAMC,uBAAuB,GAAG,IAAIlD,mEAAJ,CAAuBlL,UAAvB,EAAoCtiV,KAAD,IAAW;AAC1E,UAAI;AACA,cAAM40B,GAAG,GAAG26T,WAAW,CAACvvV,KAAD,CAAvB;AACA,YAAIqrS,KAAK,GAAG+kD,MAAM,CAAC7gW,GAAP,CAAWqlC,GAAX,CAAZ;;AACA,YAAI,CAACy2Q,KAAL,EAAY;AACR+kD,UAAAA,MAAM,CAACx8T,GAAP,CAAWgB,GAAX,EAAiBy2Q,KAAK,GAAG8kD,SAAS,GAAGA,SAAS,EAAZ,GAAiB,IAAIj4V,6CAAJ,EAAnD;AACA,gBAAMy4V,OAAO,GAAGC,uBAAuB,CAACh8T,GAAD,EAAMy2Q,KAAN,CAAvC;AACAi3C,UAAAA,UAAU,CAAC5oV,IAAX,CAAgBi3V,OAAhB;;AACA,cAAIppV,QAAJ,EAAc;AACV,kBAAMumV,kBAAkB,GAAG1F,6EAAwB,CAAC/8C,KAAD,EAAQ,MAAM;AAC7DA,cAAAA,KAAK,CAAC1xS,QAAN;AACAm0V,cAAAA,kBAAkB,KAAK,IAAvB,IAA+BA,kBAAkB,KAAK,KAAK,CAA3D,GAA+D,KAAK,CAApE,GAAwEA,kBAAkB,CAACjsG,WAAnB,EAAxE;AACH,aAHkD,EAGhD1gN,SAHgD,EAGrCA,SAHqC,EAG1B,MAAMivT,MAAM,CAAC1sT,MAAP,CAAc9O,GAAd,CAHoB,CAAnD;AAIA87T,YAAAA,uBAAuB,CAAChtU,GAAxB,CAA4BomU,gEAAS,CAACviV,QAAQ,CAACopV,OAAD,CAAT,CAAT,CAA6BlhW,SAA7B,CAAuCq+V,kBAAvC,CAA5B;AACH;AACJ;;AACDziD,QAAAA,KAAK,CAAC3xS,IAAN,CAAWoe,OAAO,GAAGA,OAAO,CAAC9X,KAAD,CAAV,GAAoBA,KAAtC;AACH,OAhBD,CAiBA,OAAOirB,GAAP,EAAY;AACRqlU,QAAAA,WAAW,CAACrlU,GAAD,CAAX;AACH;AACJ,KArB+B,EAqB7B,MAAMolU,MAAM,CAAEE,QAAD,IAAcA,QAAQ,CAAC52V,QAAT,EAAf,CArBiB,EAqBoB22V,WArBpB,EAqBiC,MAAMF,MAAM,CAAC5iT,KAAP,EArBvC,EAqBuD,MAAM;AACzFijT,MAAAA,iBAAiB,GAAG,IAApB;AACA,aAAOD,YAAY,KAAK,CAAxB;AACH,KAxB+B,CAAhC;AAyBAnlT,IAAAA,MAAM,CAAC57C,SAAP,CAAiBihW,uBAAjB;;AACA,aAASE,uBAAT,CAAiCh8T,GAAjC,EAAsCi8T,YAAtC,EAAoD;AAChD,YAAMpwV,MAAM,GAAG,IAAI0jV,mDAAJ,CAAgB2M,eAAD,IAAqB;AAC/CN,QAAAA,YAAY;AACZ,cAAMpC,QAAQ,GAAGyC,YAAY,CAACphW,SAAb,CAAuBqhW,eAAvB,CAAjB;AACA,eAAO,MAAM;AACT1C,UAAAA,QAAQ,CAACvsG,WAAT;AACA,YAAE2uG,YAAF,KAAmB,CAAnB,IAAwBC,iBAAxB,IAA6CC,uBAAuB,CAAC7uG,WAAxB,EAA7C;AACH,SAHD;AAIH,OAPc,CAAf;AAQAphP,MAAAA,MAAM,CAACm0B,GAAP,GAAaA,GAAb;AACA,aAAOn0B,MAAP;AACH;AACJ,GAtDa,CAAd;AAuDH;;;;;;;;;;;;;;;;;;AC7DD;AACA;AACA;AACO,SAASwuV,cAAT,GAA0B;AAC7B,SAAOvB,mDAAO,CAAC,CAACriT,MAAD,EAASi3S,UAAT,KAAwB;AACnCj3S,IAAAA,MAAM,CAAC57C,SAAP,CAAiB24V,6EAAwB,CAAC9F,UAAD,EAAa8D,4CAAb,CAAzC;AACH,GAFa,CAAd;AAGH;;;;;;;;;;;;;;;;;;;;;ACPD;AACA;AACA;AACA;AACA;AACA;AACO,SAAS91I,IAAT,CAAcu/I,SAAd,EAAyBx1N,YAAzB,EAAuC;AAC1C,QAAM21N,eAAe,GAAG12T,SAAS,CAAC79B,MAAV,IAAoB,CAA5C;AACA,SAAQ4vC,MAAD,IAAYA,MAAM,CAAC77C,IAAP,CAAYqgW,SAAS,GAAGp3V,+CAAM,CAAC,CAACwM,CAAD,EAAIQ,CAAJ,KAAUoqV,SAAS,CAAC5qV,CAAD,EAAIQ,CAAJ,EAAO4lC,MAAP,CAApB,CAAT,GAA+Cw9S,oDAApE,EAA8EkI,mDAAQ,CAAC,CAAD,CAAtF,EAA2Ff,eAAe,GAAGjB,+DAAc,CAAC10N,YAAD,CAAjB,GAAkC01N,2DAAY,CAAC,MAAM,IAAIjI,wDAAJ,EAAP,CAAxJ,CAAnB;AACH;;;;;;;;;;;;;;;;;ACTD;AACA;AACO,SAASxvV,GAAT,CAAam2V,OAAb,EAAsB70T,OAAtB,EAA+B;AAClC,SAAO8zT,mDAAO,CAAC,CAACriT,MAAD,EAASi3S,UAAT,KAAwB;AACnC,QAAIhyS,KAAK,GAAG,CAAZ;AACAjF,IAAAA,MAAM,CAAC57C,SAAP,CAAiB24V,6EAAwB,CAAC9F,UAAD,EAActiV,KAAD,IAAW;AAC7DsiV,MAAAA,UAAU,CAAC5oV,IAAX,CAAgB+0V,OAAO,CAACx2T,IAAR,CAAa2B,OAAb,EAAsB55B,KAAtB,EAA6BswC,KAAK,EAAlC,CAAhB;AACH,KAFwC,CAAzC;AAGH,GALa,CAAd;AAMH;;;;;;;;;;;;;;;;ACTD;AACO,SAAS4+S,KAAT,CAAelvV,KAAf,EAAsB;AACzB,SAAO1H,yCAAG,CAAC,MAAM0H,KAAP,CAAV;AACH;;;;;;;;;;;;;;;;;;ACHD;AACA;AACA;AACO,SAASgxV,WAAT,GAAuB;AAC1B,SAAOtD,mDAAO,CAAC,CAACriT,MAAD,EAASi3S,UAAT,KAAwB;AACnCj3S,IAAAA,MAAM,CAAC57C,SAAP,CAAiB24V,6EAAwB,CAAC9F,UAAD,EAActiV,KAAD,IAAW;AAC7DsiV,MAAAA,UAAU,CAAC5oV,IAAX,CAAgBkpV,kEAAA,CAAwB5iV,KAAxB,CAAhB;AACH,KAFwC,EAEtC,MAAM;AACLsiV,MAAAA,UAAU,CAAC5oV,IAAX,CAAgBkpV,sEAAA,EAAhB;AACAN,MAAAA,UAAU,CAAC3oV,QAAX;AACH,KALwC,EAKrCsxB,GAAD,IAAS;AACRq3T,MAAAA,UAAU,CAAC5oV,IAAX,CAAgBkpV,mEAAA,CAAyB33T,GAAzB,CAAhB;AACAq3T,MAAAA,UAAU,CAAC3oV,QAAX;AACH,KARwC,CAAzC;AASH,GAVa,CAAd;AAWH;;;;;;;;;;;;;;;;;ACfD;AACA;AACO,SAASgzV,QAAT,CAAkBE,UAAU,GAAGp/I,QAA/B,EAAyC;AAC5C,SAAO48I,mDAAQ,CAACxB,oDAAD,EAAWgE,UAAX,CAAf;AACH;;;;;;;;;;;;;;;;;;ACJD;AACA;AACA;AACO,SAASoE,cAAT,CAAwB5lT,MAAxB,EAAgCi3S,UAAhC,EAA4CmM,OAA5C,EAAqD5B,UAArD,EAAiEqE,YAAjE,EAA+EC,MAA/E,EAAuFC,iBAAvF,EAA0GC,mBAA1G,EAA+H;AAClI,QAAM1mS,MAAM,GAAG,EAAf;AACA,MAAI++R,MAAM,GAAG,CAAb;AACA,MAAIp5S,KAAK,GAAG,CAAZ;AACA,MAAIy9S,UAAU,GAAG,KAAjB;;AACA,QAAMuD,aAAa,GAAG,MAAM;AACxB,QAAIvD,UAAU,IAAI,CAACpjS,MAAM,CAAClvD,MAAtB,IAAgC,CAACiuV,MAArC,EAA6C;AACzCpH,MAAAA,UAAU,CAAC3oV,QAAX;AACH;AACJ,GAJD;;AAKA,QAAM43V,SAAS,GAAIvxV,KAAD,IAAY0pV,MAAM,GAAGmD,UAAT,GAAsB2E,UAAU,CAACxxV,KAAD,CAAhC,GAA0C2qD,MAAM,CAAC51B,IAAP,CAAY/0B,KAAZ,CAAxE;;AACA,QAAMwxV,UAAU,GAAIxxV,KAAD,IAAW;AAC1BmxV,IAAAA,MAAM,IAAI7O,UAAU,CAAC5oV,IAAX,CAAgBsG,KAAhB,CAAV;AACA0pV,IAAAA,MAAM;AACN,QAAI+H,aAAa,GAAG,KAApB;AACA3H,IAAAA,gEAAS,CAAC2E,OAAO,CAACzuV,KAAD,EAAQswC,KAAK,EAAb,CAAR,CAAT,CAAmC7gD,SAAnC,CAA6C24V,6EAAwB,CAAC9F,UAAD,EAAcoP,UAAD,IAAgB;AAC9FR,MAAAA,YAAY,KAAK,IAAjB,IAAyBA,YAAY,KAAK,KAAK,CAA/C,GAAmD,KAAK,CAAxD,GAA4DA,YAAY,CAACQ,UAAD,CAAxE;;AACA,UAAIP,MAAJ,EAAY;AACRI,QAAAA,SAAS,CAACG,UAAD,CAAT;AACH,OAFD,MAGK;AACDpP,QAAAA,UAAU,CAAC5oV,IAAX,CAAgBg4V,UAAhB;AACH;AACJ,KARoE,EAQlE,MAAM;AACLD,MAAAA,aAAa,GAAG,IAAhB;AACH,KAVoE,EAUlEtwT,SAVkE,EAUvD,MAAM;AAChB,UAAIswT,aAAJ,EAAmB;AACf,YAAI;AACA/H,UAAAA,MAAM;;AACN,iBAAO/+R,MAAM,CAAClvD,MAAP,IAAiBiuV,MAAM,GAAGmD,UAAjC,EAA6C;AACzC,kBAAM8E,aAAa,GAAGhnS,MAAM,CAACsiB,KAAP,EAAtB;;AACA,gBAAImkR,iBAAJ,EAAuB;AACnBlI,cAAAA,sEAAe,CAAC5G,UAAD,EAAa8O,iBAAb,EAAgC,MAAMI,UAAU,CAACG,aAAD,CAAhD,CAAf;AACH,aAFD,MAGK;AACDH,cAAAA,UAAU,CAACG,aAAD,CAAV;AACH;AACJ;;AACDL,UAAAA,aAAa;AAChB,SAZD,CAaA,OAAOrmU,GAAP,EAAY;AACRq3T,UAAAA,UAAU,CAACn9U,KAAX,CAAiB8lB,GAAjB;AACH;AACJ;AACJ,KA7BoE,CAArE;AA8BH,GAlCD;;AAmCAogB,EAAAA,MAAM,CAAC57C,SAAP,CAAiB24V,6EAAwB,CAAC9F,UAAD,EAAaiP,SAAb,EAAwB,MAAM;AACnExD,IAAAA,UAAU,GAAG,IAAb;AACAuD,IAAAA,aAAa;AAChB,GAHwC,CAAzC;AAIA,SAAO,MAAM;AACTD,IAAAA,mBAAmB,KAAK,IAAxB,IAAgCA,mBAAmB,KAAK,KAAK,CAA7D,GAAiE,KAAK,CAAtE,GAA0EA,mBAAmB,EAA7F;AACH,GAFD;AAGH;;;;;;;;;;;;;;;;;;;;ACxDD;AACA;AACA;AACA;AACA;AACO,SAAShH,QAAT,CAAkBoE,OAAlB,EAA2BpF,cAA3B,EAA2CwD,UAAU,GAAGp/I,QAAxD,EAAkE;AACrE,MAAIpxF,4DAAU,CAACgtO,cAAD,CAAd,EAAgC;AAC5B,WAAOgB,QAAQ,CAAC,CAACn5Q,CAAD,EAAIzrE,CAAJ,KAAUnN,yCAAG,CAAC,CAACqgC,CAAD,EAAI03L,EAAJ,KAAWg5H,cAAc,CAACn4Q,CAAD,EAAIv4C,CAAJ,EAAOlzB,CAAP,EAAU4qN,EAAV,CAA1B,CAAH,CAA4Cy5H,gEAAS,CAAC2E,OAAO,CAACv9Q,CAAD,EAAIzrE,CAAJ,CAAR,CAArD,CAAX,EAAkFonV,UAAlF,CAAf;AACH,GAFD,MAGK,IAAI,OAAOxD,cAAP,KAA0B,QAA9B,EAAwC;AACzCwD,IAAAA,UAAU,GAAGxD,cAAb;AACH;;AACD,SAAOqE,mDAAO,CAAC,CAACriT,MAAD,EAASi3S,UAAT,KAAwB2O,+DAAc,CAAC5lT,MAAD,EAASi3S,UAAT,EAAqBmM,OAArB,EAA8B5B,UAA9B,CAAvC,CAAd;AACH;;;;;;;;;;;;;;;;;;ACbD;AACA;AACA;AACO,SAAS+E,SAAT,CAAmBxI,SAAnB,EAA8B78O,KAAK,GAAG,CAAtC,EAAyC;AAC5C,SAAOmhP,mDAAO,CAAC,CAACriT,MAAD,EAASi3S,UAAT,KAAwB;AACnCj3S,IAAAA,MAAM,CAAC57C,SAAP,CAAiB24V,6EAAwB,CAAC9F,UAAD,EAActiV,KAAD,IAAWkpV,sEAAe,CAAC5G,UAAD,EAAa8G,SAAb,EAAwB,MAAM9G,UAAU,CAAC5oV,IAAX,CAAgBsG,KAAhB,CAA9B,EAAsDusG,KAAtD,CAAvC,EAAqG,MAAM28O,sEAAe,CAAC5G,UAAD,EAAa8G,SAAb,EAAwB,MAAM9G,UAAU,CAAC3oV,QAAX,EAA9B,EAAqD4yG,KAArD,CAA1H,EAAwLthF,GAAD,IAASi+T,sEAAe,CAAC5G,UAAD,EAAa8G,SAAb,EAAwB,MAAM9G,UAAU,CAACn9U,KAAX,CAAiB8lB,GAAjB,CAA9B,EAAqDshF,KAArD,CAA/M,CAAzC;AACH,GAFa,CAAd;AAGH;;;;;;;;;;;;;;;;;ACPD;AACA;AACO,SAASxqF,QAAT,GAAoB;AACvB,SAAO2rU,mDAAO,CAAC,CAACriT,MAAD,EAASi3S,UAAT,KAAwB;AACnC,QAAIuP,IAAJ;AACA,QAAIC,OAAO,GAAG,KAAd;AACAzmT,IAAAA,MAAM,CAAC57C,SAAP,CAAiB24V,6EAAwB,CAAC9F,UAAD,EAActiV,KAAD,IAAW;AAC7D,YAAM84B,CAAC,GAAG+4T,IAAV;AACAA,MAAAA,IAAI,GAAG7xV,KAAP;AACA8xV,MAAAA,OAAO,IAAIxP,UAAU,CAAC5oV,IAAX,CAAgB,CAACo/B,CAAD,EAAI94B,KAAJ,CAAhB,CAAX;AACA8xV,MAAAA,OAAO,GAAG,IAAV;AACH,KALwC,CAAzC;AAMH,GATa,CAAd;AAUH;;;;;;;;;;;;;;;;ACbD;AACO,SAASC,KAAT,CAAe,GAAGv1R,UAAlB,EAA8B;AACjC,QAAM/gE,MAAM,GAAG+gE,UAAU,CAAC/gE,MAA1B;;AACA,MAAIA,MAAM,KAAK,CAAf,EAAkB;AACd,UAAM,IAAIwgD,KAAJ,CAAU,qCAAV,CAAN;AACH;;AACD,SAAO3jD,yCAAG,CAAEiT,CAAD,IAAO;AACd,QAAIymV,WAAW,GAAGzmV,CAAlB;;AACA,SAAK,IAAI9F,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGhK,MAApB,EAA4BgK,CAAC,EAA7B,EAAiC;AAC7B,YAAMqzB,CAAC,GAAGk5T,WAAW,KAAK,IAAhB,IAAwBA,WAAW,KAAK,KAAK,CAA7C,GAAiD,KAAK,CAAtD,GAA0DA,WAAW,CAACx1R,UAAU,CAAC/2D,CAAD,CAAX,CAA/E;;AACA,UAAI,OAAOqzB,CAAP,KAAa,WAAjB,EAA8B;AAC1Bk5T,QAAAA,WAAW,GAAGl5T,CAAd;AACH,OAFD,MAGK;AACD,eAAOqI,SAAP;AACH;AACJ;;AACD,WAAO6wT,WAAP;AACH,GAZS,CAAV;AAaH;;;;;;;;;;;;;;;;;ACnBD;AACA;AACO,SAAS9J,QAAT,GAAoB;AACvB,SAAOwF,mDAAO,CAAC,CAACriT,MAAD,EAASi3S,UAAT,KAAwB;AACnC,QAAIlyU,UAAU,GAAG,IAAjB;AACAi7B,IAAAA,MAAM,CAACm9S,SAAP;AACA,UAAMyJ,UAAU,GAAG7J,6EAAwB,CAAC9F,UAAD,EAAanhT,SAAb,EAAwBA,SAAxB,EAAmCA,SAAnC,EAA8C,MAAM;AAC3F,UAAI,CAACkK,MAAD,IAAWA,MAAM,CAACm9S,SAAP,IAAoB,CAA/B,IAAoC,IAAI,EAAEn9S,MAAM,CAACm9S,SAArD,EAAgE;AAC5Dp4U,QAAAA,UAAU,GAAG,IAAb;AACA;AACH;;AACD,YAAM8hV,gBAAgB,GAAG7mT,MAAM,CAACo9S,WAAhC;AACA,YAAM0J,IAAI,GAAG/hV,UAAb;AACAA,MAAAA,UAAU,GAAG,IAAb;;AACA,UAAI8hV,gBAAgB,KAAK,CAACC,IAAD,IAASD,gBAAgB,KAAKC,IAAnC,CAApB,EAA8D;AAC1DD,QAAAA,gBAAgB,CAACrwG,WAAjB;AACH;;AACDygG,MAAAA,UAAU,CAACzgG,WAAX;AACH,KAZ0C,CAA3C;AAaAx2M,IAAAA,MAAM,CAAC57C,SAAP,CAAiBwiW,UAAjB;;AACA,QAAI,CAACA,UAAU,CAACxwR,MAAhB,EAAwB;AACpBrxD,MAAAA,UAAU,GAAGi7B,MAAM,CAAC0uJ,OAAP,EAAb;AACH;AACJ,GApBa,CAAd;AAqBH;;;;;;;;;;;;;;;;;ACxBD;AACA;AACO,SAASs4J,IAAT,CAAcC,WAAd,EAA2BC,IAA3B,EAAiC;AACpC,SAAO7E,mDAAO,CAAC0E,6DAAa,CAACE,WAAD,EAAcC,IAAd,EAAoBj5T,SAAS,CAAC79B,MAAV,IAAoB,CAAxC,EAA2C,IAA3C,CAAd,CAAd;AACH;;;;;;;;;;;;;;;;ACJD;AACO,SAAS22V,aAAT,CAAuBE,WAAvB,EAAoCC,IAApC,EAA0CC,OAA1C,EAAmDC,UAAnD,EAA+DC,kBAA/D,EAAmF;AACtF,SAAO,CAACrnT,MAAD,EAASi3S,UAAT,KAAwB;AAC3B,QAAIqQ,QAAQ,GAAGH,OAAf;AACA,QAAIjoV,KAAK,GAAGgoV,IAAZ;AACA,QAAIjiT,KAAK,GAAG,CAAZ;AACAjF,IAAAA,MAAM,CAAC57C,SAAP,CAAiB24V,6EAAwB,CAAC9F,UAAD,EAActiV,KAAD,IAAW;AAC7D,YAAMyF,CAAC,GAAG6qC,KAAK,EAAf;AACA/lC,MAAAA,KAAK,GAAGooV,QAAQ,GAERL,WAAW,CAAC/nV,KAAD,EAAQvK,KAAR,EAAeyF,CAAf,CAFH,IAINktV,QAAQ,GAAG,IAAZ,EAAmB3yV,KAJZ,CAAhB;AAKAyyV,MAAAA,UAAU,IAAInQ,UAAU,CAAC5oV,IAAX,CAAgB6Q,KAAhB,CAAd;AACH,KARwC,EAQtCmoV,kBAAkB,KAChB,MAAM;AACHC,MAAAA,QAAQ,IAAIrQ,UAAU,CAAC5oV,IAAX,CAAgB6Q,KAAhB,CAAZ;AACA+3U,MAAAA,UAAU,CAAC3oV,QAAX;AACH,KAJgB,CARoB,CAAzC;AAaH,GAjBD;AAkBH;;;;;;;;;;;;;;;;;;;ACpBD;AACA;AACA;AACA;AACO,SAASi5V,KAAT,CAAep2U,OAAO,GAAG,EAAzB,EAA6B;AAChC,QAAM;AAAE2zU,IAAAA,SAAS,GAAG,MAAM,IAAIj4V,6CAAJ,EAApB;AAAmC26V,IAAAA,YAAY,GAAG,IAAlD;AAAwDC,IAAAA,eAAe,GAAG,IAA1E;AAAgFC,IAAAA,mBAAmB,GAAG;AAAtG,MAA+Gv2U,OAArH;AACA,SAAQw2U,aAAD,IAAmB;AACtB,QAAI5iV,UAAJ;AACA,QAAI6iV,eAAJ;AACA,QAAI10J,OAAJ;AACA,QAAI2pJ,QAAQ,GAAG,CAAf;AACA,QAAIgL,YAAY,GAAG,KAAnB;AACA,QAAIC,UAAU,GAAG,KAAjB;;AACA,UAAMC,WAAW,GAAG,MAAM;AACtBH,MAAAA,eAAe,KAAK,IAApB,IAA4BA,eAAe,KAAK,KAAK,CAArD,GAAyD,KAAK,CAA9D,GAAkEA,eAAe,CAACpxG,WAAhB,EAAlE;AACAoxG,MAAAA,eAAe,GAAG9xT,SAAlB;AACH,KAHD;;AAIA,UAAMtoB,KAAK,GAAG,MAAM;AAChBu6U,MAAAA,WAAW;AACXhjV,MAAAA,UAAU,GAAGmuL,OAAO,GAAGp9J,SAAvB;AACA+xT,MAAAA,YAAY,GAAGC,UAAU,GAAG,KAA5B;AACH,KAJD;;AAKA,UAAME,mBAAmB,GAAG,MAAM;AAC9B,YAAMlB,IAAI,GAAG/hV,UAAb;AACAyI,MAAAA,KAAK;AACLs5U,MAAAA,IAAI,KAAK,IAAT,IAAiBA,IAAI,KAAK,KAAK,CAA/B,GAAmC,KAAK,CAAxC,GAA4CA,IAAI,CAACtwG,WAAL,EAA5C;AACH,KAJD;;AAKA,WAAO6rG,mDAAO,CAAC,CAACriT,MAAD,EAASi3S,UAAT,KAAwB;AACnC4F,MAAAA,QAAQ;;AACR,UAAI,CAACiL,UAAD,IAAe,CAACD,YAApB,EAAkC;AAC9BE,QAAAA,WAAW;AACd;;AACD,YAAME,IAAI,GAAI/0J,OAAO,GAAGA,OAAO,KAAK,IAAZ,IAAoBA,OAAO,KAAK,KAAK,CAArC,GAAyCA,OAAzC,GAAmD4xJ,SAAS,EAApF;AACA7N,MAAAA,UAAU,CAAC5+T,GAAX,CAAe,MAAM;AACjBwkU,QAAAA,QAAQ;;AACR,YAAIA,QAAQ,KAAK,CAAb,IAAkB,CAACiL,UAAnB,IAAiC,CAACD,YAAtC,EAAoD;AAChDD,UAAAA,eAAe,GAAGM,WAAW,CAACF,mBAAD,EAAsBN,mBAAtB,CAA7B;AACH;AACJ,OALD;AAMAO,MAAAA,IAAI,CAAC7jW,SAAL,CAAe6yV,UAAf;;AACA,UAAI,CAAClyU,UAAD,IACA83U,QAAQ,GAAG,CADf,EACkB;AACd93U,QAAAA,UAAU,GAAG,IAAIyzU,uDAAJ,CAAmB;AAC5BnqV,UAAAA,IAAI,EAAGsG,KAAD,IAAWszV,IAAI,CAAC55V,IAAL,CAAUsG,KAAV,CADW;AAE5BmF,UAAAA,KAAK,EAAG8lB,GAAD,IAAS;AACZkoU,YAAAA,UAAU,GAAG,IAAb;AACAC,YAAAA,WAAW;AACXH,YAAAA,eAAe,GAAGM,WAAW,CAAC16U,KAAD,EAAQg6U,YAAR,EAAsB5nU,GAAtB,CAA7B;AACAqoU,YAAAA,IAAI,CAACnuV,KAAL,CAAW8lB,GAAX;AACH,WAP2B;AAQ5BtxB,UAAAA,QAAQ,EAAE,MAAM;AACZu5V,YAAAA,YAAY,GAAG,IAAf;AACAE,YAAAA,WAAW;AACXH,YAAAA,eAAe,GAAGM,WAAW,CAAC16U,KAAD,EAAQi6U,eAAR,CAA7B;AACAQ,YAAAA,IAAI,CAAC35V,QAAL;AACH;AAb2B,SAAnB,CAAb;AAeAmwV,QAAAA,gEAAS,CAACz+S,MAAD,CAAT,CAAkB57C,SAAlB,CAA4B2gB,UAA5B;AACH;AACJ,KAhCa,CAAP,CAgCJ4iV,aAhCI,CAAP;AAiCH,GAtDD;AAuDH;;AACD,SAASO,WAAT,CAAqB16U,KAArB,EAA4BtI,EAA5B,EAAgC,GAAG2oG,IAAnC,EAAyC;AACrC,MAAI3oG,EAAE,KAAK,IAAX,EAAiB;AACbsI,IAAAA,KAAK;AACL;AACH;;AACD,MAAItI,EAAE,KAAK,KAAX,EAAkB;AACd;AACH;;AACD,QAAMijV,YAAY,GAAG,IAAI3P,uDAAJ,CAAmB;AACpCnqV,IAAAA,IAAI,EAAE,MAAM;AACR85V,MAAAA,YAAY,CAAC3xG,WAAb;AACAhpO,MAAAA,KAAK;AACR;AAJmC,GAAnB,CAArB;AAMA,SAAOtI,EAAE,CAAC,GAAG2oG,IAAJ,CAAF,CAAYzpH,SAAZ,CAAsB+jW,YAAtB,CAAP;AACH;;;;;;;;;;;;;;;;;AC7ED;AACA;AACO,SAASp7V,WAAT,CAAqBq7V,kBAArB,EAAyCC,UAAzC,EAAqDtK,SAArD,EAAgE;AACnE,MAAI5rN,UAAJ;AACA,MAAI0qN,QAAQ,GAAG,KAAf;;AACA,MAAIuL,kBAAkB,IAAI,OAAOA,kBAAP,KAA8B,QAAxD,EAAkE;AAC9D,KAAC;AAAEj2N,MAAAA,UAAU,GAAGiwE,QAAf;AAAyBimJ,MAAAA,UAAU,GAAGjmJ,QAAtC;AAAgDy6I,MAAAA,QAAQ,GAAG,KAA3D;AAAkEkB,MAAAA;AAAlE,QAAgFqK,kBAAjF;AACH,GAFD,MAGK;AACDj2N,IAAAA,UAAU,GAAIi2N,kBAAkB,KAAK,IAAvB,IAA+BA,kBAAkB,KAAK,KAAK,CAA3D,GAA+DA,kBAA/D,GAAoFhmJ,QAAlG;AACH;;AACD,SAAOmlJ,6CAAK,CAAC;AACTzC,IAAAA,SAAS,EAAE,MAAM,IAAI9jU,yDAAJ,CAAkBmxG,UAAlB,EAA8Bk2N,UAA9B,EAA0CtK,SAA1C,CADR;AAETyJ,IAAAA,YAAY,EAAE,IAFL;AAGTC,IAAAA,eAAe,EAAE,KAHR;AAITC,IAAAA,mBAAmB,EAAE7K;AAJZ,GAAD,CAAZ;AAMH;;;;;;;;;;;;;;;;ACjBD;AACO,SAASpkE,IAAT,CAAcpmO,KAAd,EAAqB;AACxB,SAAOjlD,+CAAM,CAAC,CAAC8hC,CAAD,EAAI+V,KAAJ,KAAcoN,KAAK,IAAIpN,KAAxB,CAAb;AACH;;;;;;;;;;;;;;;;;;ACHD;AACA;AACA;AACO,SAASnxB,SAAT,CAAmB,GAAGgxB,MAAtB,EAA8B;AACjC,QAAMi5S,SAAS,GAAGJ,wDAAY,CAAC74S,MAAD,CAA9B;AACA,SAAOu9S,mDAAO,CAAC,CAACriT,MAAD,EAASi3S,UAAT,KAAwB;AACnC,KAAC8G,SAAS,GAAG1tT,0DAAM,CAACyU,MAAD,EAAS9E,MAAT,EAAiB+9S,SAAjB,CAAT,GAAuC1tT,0DAAM,CAACyU,MAAD,EAAS9E,MAAT,CAAvD,EAAyE57C,SAAzE,CAAmF6yV,UAAnF;AACH,GAFa,CAAd;AAGH;;;;;;;;;;;;;;;;ACRD;AACO,SAASqR,WAAT,CAAqBvK,SAArB,EAAgC78O,KAAK,GAAG,CAAxC,EAA2C;AAC9C,SAAOmhP,mDAAO,CAAC,CAACriT,MAAD,EAASi3S,UAAT,KAAwB;AACnCA,IAAAA,UAAU,CAAC5+T,GAAX,CAAe0lU,SAAS,CAAC5iV,QAAV,CAAmB,MAAM6kC,MAAM,CAAC57C,SAAP,CAAiB6yV,UAAjB,CAAzB,EAAuD/1O,KAAvD,CAAf;AACH,GAFa,CAAd;AAGH;;;;;;;;;;;;;;;;;;ACLD;AACA;AACA;AACO,SAASh0G,SAAT,CAAmBk2V,OAAnB,EAA4BpF,cAA5B,EAA4C;AAC/C,SAAOqE,mDAAO,CAAC,CAACriT,MAAD,EAASi3S,UAAT,KAAwB;AACnC,QAAIsR,eAAe,GAAG,IAAtB;AACA,QAAItjT,KAAK,GAAG,CAAZ;AACA,QAAIy9S,UAAU,GAAG,KAAjB;;AACA,UAAMuD,aAAa,GAAG,MAAMvD,UAAU,IAAI,CAAC6F,eAAf,IAAkCtR,UAAU,CAAC3oV,QAAX,EAA9D;;AACA0xC,IAAAA,MAAM,CAAC57C,SAAP,CAAiB24V,6EAAwB,CAAC9F,UAAD,EAActiV,KAAD,IAAW;AAC7D4zV,MAAAA,eAAe,KAAK,IAApB,IAA4BA,eAAe,KAAK,KAAK,CAArD,GAAyD,KAAK,CAA9D,GAAkEA,eAAe,CAAC/xG,WAAhB,EAAlE;AACA,UAAIgyG,UAAU,GAAG,CAAjB;AACA,YAAMC,UAAU,GAAGxjT,KAAK,EAAxB;AACAw5S,MAAAA,gEAAS,CAAC2E,OAAO,CAACzuV,KAAD,EAAQ8zV,UAAR,CAAR,CAAT,CAAsCrkW,SAAtC,CAAiDmkW,eAAe,GAAGxL,6EAAwB,CAAC9F,UAAD,EAAcoP,UAAD,IAAgBpP,UAAU,CAAC5oV,IAAX,CAAgB2vV,cAAc,GAAGA,cAAc,CAACrpV,KAAD,EAAQ0xV,UAAR,EAAoBoC,UAApB,EAAgCD,UAAU,EAA1C,CAAjB,GAAiEnC,UAA/F,CAA7B,EAAyI,MAAM;AACtOkC,QAAAA,eAAe,GAAG,IAAlB;AACAtC,QAAAA,aAAa;AAChB,OAH0F,CAA3F;AAIH,KARwC,EAQtC,MAAM;AACLvD,MAAAA,UAAU,GAAG,IAAb;AACAuD,MAAAA,aAAa;AAChB,KAXwC,CAAzC;AAYH,GAjBa,CAAd;AAkBH;;;;;;;;;;;;;;;;;;ACtBD;AACA;AACA;AACO,SAASxjW,IAAT,CAAc4vD,KAAd,EAAqB;AACxB,SAAOA,KAAK,IAAI,CAAT,GAEC,MAAMnxB,oDAFP,GAGDmhU,mDAAO,CAAC,CAACriT,MAAD,EAASi3S,UAAT,KAAwB;AAC9B,QAAIyR,IAAI,GAAG,CAAX;AACA1oT,IAAAA,MAAM,CAAC57C,SAAP,CAAiB24V,6EAAwB,CAAC9F,UAAD,EAActiV,KAAD,IAAW;AAC7D,UAAI,EAAE+zV,IAAF,IAAUr2S,KAAd,EAAqB;AACjB4kS,QAAAA,UAAU,CAAC5oV,IAAX,CAAgBsG,KAAhB;;AACA,YAAI09C,KAAK,IAAIq2S,IAAb,EAAmB;AACfzR,UAAAA,UAAU,CAAC3oV,QAAX;AACH;AACJ;AACJ,KAPwC,CAAzC;AAQH,GAVQ,CAHb;AAcH;;;;;;;;;;;;;;;;;;AClBD;AACA;AACA;AACO,SAASo3V,QAAT,CAAkBrzS,KAAlB,EAAyB;AAC5B,SAAOA,KAAK,IAAI,CAAT,GACD,MAAMnxB,oDADL,GAEDmhU,mDAAO,CAAC,CAACriT,MAAD,EAASi3S,UAAT,KAAwB;AAC9B,QAAI33R,MAAM,GAAG,EAAb;AACAtf,IAAAA,MAAM,CAAC57C,SAAP,CAAiB24V,6EAAwB,CAAC9F,UAAD,EAActiV,KAAD,IAAW;AAC7D2qD,MAAAA,MAAM,CAAC51B,IAAP,CAAY/0B,KAAZ;AACA09C,MAAAA,KAAK,GAAGiN,MAAM,CAAClvD,MAAf,IAAyBkvD,MAAM,CAACsiB,KAAP,EAAzB;AACH,KAHwC,EAGtC,MAAM;AACL,WAAK,MAAMjtE,KAAX,IAAoB2qD,MAApB,EAA4B;AACxB23R,QAAAA,UAAU,CAAC5oV,IAAX,CAAgBsG,KAAhB;AACH;;AACDsiV,MAAAA,UAAU,CAAC3oV,QAAX;AACH,KARwC,EAQtCwnC,SARsC,EAQ3B,MAAM;AAChBwpB,MAAAA,MAAM,GAAG,IAAT;AACH,KAVwC,CAAzC;AAWH,GAbQ,CAFb;AAgBH;;;;;;;;;;;;;;;;;;;ACpBD;AACA;AACA;AACA;AACO,SAASnyD,SAAT,CAAmBw7V,QAAnB,EAA6B;AAChC,SAAOtG,mDAAO,CAAC,CAACriT,MAAD,EAASi3S,UAAT,KAAwB;AACnCwH,IAAAA,gEAAS,CAACkK,QAAD,CAAT,CAAoBvkW,SAApB,CAA8B24V,6EAAwB,CAAC9F,UAAD,EAAa,MAAMA,UAAU,CAAC3oV,QAAX,EAAnB,EAA0CysV,4CAA1C,CAAtD;AACA,KAAC9D,UAAU,CAAC7gR,MAAZ,IAAsBp2B,MAAM,CAAC57C,SAAP,CAAiB6yV,UAAjB,CAAtB;AACH,GAHa,CAAd;AAIH;;;;;;;;;;;;;;;;;ACTD;AACA;AACO,SAAS2R,SAAT,CAAmBpE,SAAnB,EAA8BqE,SAAS,GAAG,KAA1C,EAAiD;AACpD,SAAOxG,mDAAO,CAAC,CAACriT,MAAD,EAASi3S,UAAT,KAAwB;AACnC,QAAIhyS,KAAK,GAAG,CAAZ;AACAjF,IAAAA,MAAM,CAAC57C,SAAP,CAAiB24V,6EAAwB,CAAC9F,UAAD,EAActiV,KAAD,IAAW;AAC7D,YAAMS,MAAM,GAAGovV,SAAS,CAAC7vV,KAAD,EAAQswC,KAAK,EAAb,CAAxB;AACA,OAAC7vC,MAAM,IAAIyzV,SAAX,KAAyB5R,UAAU,CAAC5oV,IAAX,CAAgBsG,KAAhB,CAAzB;AACA,OAACS,MAAD,IAAW6hV,UAAU,CAAC3oV,QAAX,EAAX;AACH,KAJwC,CAAzC;AAKH,GAPa,CAAd;AAQH;;;;;;;;;;;;;;;;;;;ACXD;AACA;AACA;AACA;AACO,SAAStB,GAAT,CAAaisV,cAAb,EAA6Bn/U,KAA7B,EAAoCxL,QAApC,EAA8C;AACjD,QAAMw6V,WAAW,GAAG93O,4DAAU,CAACioO,cAAD,CAAV,IAA8Bn/U,KAA9B,IAAuCxL,QAAvC,GAEZ;AAAED,IAAAA,IAAI,EAAE4qV,cAAR;AAAwBn/U,IAAAA,KAAxB;AAA+BxL,IAAAA;AAA/B,GAFY,GAGd2qV,cAHN;AAIA,SAAO6P,WAAW,GACZzG,mDAAO,CAAC,CAACriT,MAAD,EAASi3S,UAAT,KAAwB;AAC9B,QAAIzjT,EAAJ;;AACA,KAACA,EAAE,GAAGs1T,WAAW,CAAC1kW,SAAlB,MAAiC,IAAjC,IAAyCovC,EAAE,KAAK,KAAK,CAArD,GAAyD,KAAK,CAA9D,GAAkEA,EAAE,CAAC5G,IAAH,CAAQk8T,WAAR,CAAlE;AACA,QAAIC,OAAO,GAAG,IAAd;AACA/oT,IAAAA,MAAM,CAAC57C,SAAP,CAAiB24V,6EAAwB,CAAC9F,UAAD,EAActiV,KAAD,IAAW;AAC7D,UAAI6+B,EAAJ;;AACA,OAACA,EAAE,GAAGs1T,WAAW,CAACz6V,IAAlB,MAA4B,IAA5B,IAAoCmlC,EAAE,KAAK,KAAK,CAAhD,GAAoD,KAAK,CAAzD,GAA6DA,EAAE,CAAC5G,IAAH,CAAQk8T,WAAR,EAAqBn0V,KAArB,CAA7D;AACAsiV,MAAAA,UAAU,CAAC5oV,IAAX,CAAgBsG,KAAhB;AACH,KAJwC,EAItC,MAAM;AACL,UAAI6+B,EAAJ;;AACAu1T,MAAAA,OAAO,GAAG,KAAV;AACA,OAACv1T,EAAE,GAAGs1T,WAAW,CAACx6V,QAAlB,MAAgC,IAAhC,IAAwCklC,EAAE,KAAK,KAAK,CAApD,GAAwD,KAAK,CAA7D,GAAiEA,EAAE,CAAC5G,IAAH,CAAQk8T,WAAR,CAAjE;AACA7R,MAAAA,UAAU,CAAC3oV,QAAX;AACH,KATwC,EASrCsxB,GAAD,IAAS;AACR,UAAI4T,EAAJ;;AACAu1T,MAAAA,OAAO,GAAG,KAAV;AACA,OAACv1T,EAAE,GAAGs1T,WAAW,CAAChvV,KAAlB,MAA6B,IAA7B,IAAqC05B,EAAE,KAAK,KAAK,CAAjD,GAAqD,KAAK,CAA1D,GAA8DA,EAAE,CAAC5G,IAAH,CAAQk8T,WAAR,EAAqBlpU,GAArB,CAA9D;AACAq3T,MAAAA,UAAU,CAACn9U,KAAX,CAAiB8lB,GAAjB;AACH,KAdwC,EActC,MAAM;AACL,UAAI4T,EAAJ,EAAQE,EAAR;;AACA,UAAIq1T,OAAJ,EAAa;AACT,SAACv1T,EAAE,GAAGs1T,WAAW,CAACtyG,WAAlB,MAAmC,IAAnC,IAA2ChjN,EAAE,KAAK,KAAK,CAAvD,GAA2D,KAAK,CAAhE,GAAoEA,EAAE,CAAC5G,IAAH,CAAQk8T,WAAR,CAApE;AACH;;AACD,OAACp1T,EAAE,GAAGo1T,WAAW,CAACrE,QAAlB,MAAgC,IAAhC,IAAwC/wT,EAAE,KAAK,KAAK,CAApD,GAAwD,KAAK,CAA7D,GAAiEA,EAAE,CAAC9G,IAAH,CAAQk8T,WAAR,CAAjE;AACH,KApBwC,CAAzC;AAqBH,GAzBQ,CADK,GA4BVtL,oDA5BR;AA6BH;;;;;;;;;;;;;;;;;;ACtCD;AACA;AACA;AACO,SAASkH,YAAT,CAAsBhD,YAAY,GAAGsH,mBAArC,EAA0D;AAC7D,SAAO3G,mDAAO,CAAC,CAACriT,MAAD,EAASi3S,UAAT,KAAwB;AACnC,QAAIO,QAAQ,GAAG,KAAf;AACAx3S,IAAAA,MAAM,CAAC57C,SAAP,CAAiB24V,6EAAwB,CAAC9F,UAAD,EAActiV,KAAD,IAAW;AAC7D6iV,MAAAA,QAAQ,GAAG,IAAX;AACAP,MAAAA,UAAU,CAAC5oV,IAAX,CAAgBsG,KAAhB;AACH,KAHwC,EAGtC,MAAO6iV,QAAQ,GAAGP,UAAU,CAAC3oV,QAAX,EAAH,GAA2B2oV,UAAU,CAACn9U,KAAX,CAAiB4nV,YAAY,EAA7B,CAHJ,CAAzC;AAIH,GANa,CAAd;AAOH;;AACD,SAASsH,mBAAT,GAA+B;AAC3B,SAAO,IAAIvM,wDAAJ,EAAP;AACH;;;;;;;;;;;;;;;;;;;ACdD;AACA;AACA;AACO,SAASwM,YAAT,CAAsBlL,SAAS,GAAGqD,4DAAlC,EAAkD;AACrD,SAAOiB,mDAAO,CAAC,CAACriT,MAAD,EAASi3S,UAAT,KAAwB;AACnC,QAAIhyI,IAAI,GAAG84I,SAAS,CAACxzR,GAAV,EAAX;AACAvqB,IAAAA,MAAM,CAAC57C,SAAP,CAAiB24V,6EAAwB,CAAC9F,UAAD,EAActiV,KAAD,IAAW;AAC7D,YAAM41D,GAAG,GAAGwzR,SAAS,CAACxzR,GAAV,EAAZ;AACA,YAAMpuC,QAAQ,GAAGouC,GAAG,GAAG06I,IAAvB;AACAA,MAAAA,IAAI,GAAG16I,GAAP;AACA0sR,MAAAA,UAAU,CAAC5oV,IAAX,CAAgB,IAAI66V,YAAJ,CAAiBv0V,KAAjB,EAAwBwnB,QAAxB,CAAhB;AACH,KALwC,CAAzC;AAMH,GARa,CAAd;AASH;AACM,MAAM+sU,YAAN,CAAmB;AACtBhmW,EAAAA,WAAW,CAACyR,KAAD,EAAQwnB,QAAR,EAAkB;AACzB,SAAKxnB,KAAL,GAAaA,KAAb;AACA,SAAKwnB,QAAL,GAAgBA,QAAhB;AACH;;AAJqB;;;;;;;;;;;;;;;;;;;;;;;ACd1B;AACA;AACA;AACA;AACA;AACA;AACA;AACO,MAAMurK,YAAY,GAAGyhK,wEAAgB,CAAE58T,MAAD,IAAY,SAAS68T,gBAAT,CAA0B3/U,IAAI,GAAG,IAAjC,EAAuC;AAC5F8iB,EAAAA,MAAM,CAAC,IAAD,CAAN;;AACA,OAAKjnC,OAAL,GAAe,sBAAf;AACA,OAAK2O,IAAL,GAAY,cAAZ;AACA,OAAKwV,IAAL,GAAYA,IAAZ;AACH,CAL2C,CAArC;AAMA,SAASmlD,OAAT,CAAiBzrE,MAAjB,EAAyBkmW,YAAzB,EAAuC;AAC1C,QAAM;AAAE9oF,IAAAA,KAAF;AAAS+oF,IAAAA,IAAT;AAAeC,IAAAA,IAAI,EAAEC,KAAK,GAAGC,mBAA7B;AAAkD1L,IAAAA,SAAS,GAAGsL,YAAY,KAAK,IAAjB,IAAyBA,YAAY,KAAK,KAAK,CAA/C,GAAmDA,YAAnD,GAAkEjI,4DAAhI;AAAgJ79Q,IAAAA,IAAI,GAAG;AAAvJ,MAAkKq+Q,yDAAW,CAACz+V,MAAD,CAAX,GAAsB;AAAEo9Q,IAAAA,KAAK,EAAEp9Q;AAAT,GAAtB,GAA0C,OAAOA,MAAP,KAAkB,QAAlB,GAA6B;AAAEmmW,IAAAA,IAAI,EAAEnmW;AAAR,GAA7B,GAAgDA,MAAlQ;;AACA,MAAIo9Q,KAAK,IAAI,IAAT,IAAiB+oF,IAAI,IAAI,IAA7B,EAAmC;AAC/B,UAAM,IAAIx5T,SAAJ,CAAc,sBAAd,CAAN;AACH;;AACD,SAAOuyT,mDAAO,CAAC,CAACriT,MAAD,EAASi3S,UAAT,KAAwB;AACnC,QAAIyS,0BAAJ;AACA,QAAIC,iBAAJ;AACA,QAAInH,SAAS,GAAG,IAAhB;AACA,QAAIkG,IAAI,GAAG,CAAX;;AACA,UAAMkB,UAAU,GAAI1oP,KAAD,IAAW;AAC1ByoP,MAAAA,iBAAiB,GAAG9L,sEAAe,CAAC5G,UAAD,EAAa8G,SAAb,EAAwB,MAAM;AAC7D,YAAI;AACA2L,UAAAA,0BAA0B,CAAClzG,WAA3B;AACAioG,UAAAA,gEAAS,CAAC+K,KAAK,CAAC;AACZjmR,YAAAA,IADY;AAEZi/Q,YAAAA,SAFY;AAGZkG,YAAAA;AAHY,WAAD,CAAN,CAAT,CAIItkW,SAJJ,CAIc6yV,UAJd;AAKH,SAPD,CAQA,OAAOr3T,GAAP,EAAY;AACRq3T,UAAAA,UAAU,CAACn9U,KAAX,CAAiB8lB,GAAjB;AACH;AACJ,OAZkC,EAYhCshF,KAZgC,CAAnC;AAaH,KAdD;;AAeAwoP,IAAAA,0BAA0B,GAAG1pT,MAAM,CAAC57C,SAAP,CAAiB24V,6EAAwB,CAAC9F,UAAD,EAActiV,KAAD,IAAW;AAC1Fg1V,MAAAA,iBAAiB,KAAK,IAAtB,IAA8BA,iBAAiB,KAAK,KAAK,CAAzD,GAA6D,KAAK,CAAlE,GAAsEA,iBAAiB,CAACnzG,WAAlB,EAAtE;AACAkyG,MAAAA,IAAI;AACJzR,MAAAA,UAAU,CAAC5oV,IAAX,CAAiBm0V,SAAS,GAAG7tV,KAA7B;AACA20V,MAAAA,IAAI,GAAG,CAAP,IAAYM,UAAU,CAACN,IAAD,CAAtB;AACH,KALqE,EAKnExzT,SALmE,EAKxDA,SALwD,EAK7C,MAAM;AAC3B,UAAI,EAAE6zT,iBAAiB,KAAK,IAAtB,IAA8BA,iBAAiB,KAAK,KAAK,CAAzD,GAA6D,KAAK,CAAlE,GAAsEA,iBAAiB,CAACvzR,MAA1F,CAAJ,EAAuG;AACnGuzR,QAAAA,iBAAiB,KAAK,IAAtB,IAA8BA,iBAAiB,KAAK,KAAK,CAAzD,GAA6D,KAAK,CAAlE,GAAsEA,iBAAiB,CAACnzG,WAAlB,EAAtE;AACH;;AACDgsG,MAAAA,SAAS,GAAG,IAAZ;AACH,KAVqE,CAAzC,CAA7B;AAWA,KAACkG,IAAD,IAASkB,UAAU,CAACrpF,KAAK,IAAI,IAAT,GAAiB,OAAOA,KAAP,KAAiB,QAAjB,GAA4BA,KAA5B,GAAoC,CAACA,KAAD,GAASw9E,SAAS,CAACxzR,GAAV,EAA9D,GAAiF++R,IAAlF,CAAnB;AACH,GAhCa,CAAd;AAiCH;;AACD,SAASG,mBAAT,CAA6BhgV,IAA7B,EAAmC;AAC/B,QAAM,IAAIi+K,YAAJ,CAAiBj+K,IAAjB,CAAN;AACH;;;;;;;;;;;;;;;;;;;;;ACtDD;AACA;AACA;AACA;AACA;AACA;AACO,SAASogV,cAAT,CAAwB,GAAGv+U,MAA3B,EAAmC;AACtC,QAAM83U,OAAO,GAAG1F,6DAAiB,CAACpyU,MAAD,CAAjC;AACA,SAAO+2U,mDAAO,CAAC,CAACriT,MAAD,EAASi3S,UAAT,KAAwB;AACnC,UAAM7wL,GAAG,GAAG96I,MAAM,CAAClb,MAAnB;AACA,UAAM05V,WAAW,GAAG,IAAIlhU,KAAJ,CAAUw9H,GAAV,CAApB;AACA,QAAIoxL,QAAQ,GAAGlsU,MAAM,CAACre,GAAP,CAAW,MAAM,KAAjB,CAAf;AACA,QAAI88V,KAAK,GAAG,KAAZ;;AACA,SAAK,IAAI3vV,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGgsJ,GAApB,EAAyBhsJ,CAAC,EAA1B,EAA8B;AAC1BqkV,MAAAA,gEAAS,CAACnzU,MAAM,CAAClR,CAAD,CAAP,CAAT,CAAqBhW,SAArB,CAA+B24V,6EAAwB,CAAC9F,UAAD,EAActiV,KAAD,IAAW;AAC3Em1V,QAAAA,WAAW,CAAC1vV,CAAD,CAAX,GAAiBzF,KAAjB;;AACA,YAAI,CAACo1V,KAAD,IAAU,CAACvS,QAAQ,CAACp9U,CAAD,CAAvB,EAA4B;AACxBo9U,UAAAA,QAAQ,CAACp9U,CAAD,CAAR,GAAc,IAAd;AACA,WAAC2vV,KAAK,GAAGvS,QAAQ,CAAC3hP,KAAT,CAAe2nP,oDAAf,CAAT,MAAuChG,QAAQ,GAAG,IAAlD;AACH;AACJ,OANsD,EAMpDuD,4CANoD,CAAvD;AAOH;;AACD/6S,IAAAA,MAAM,CAAC57C,SAAP,CAAiB24V,6EAAwB,CAAC9F,UAAD,EAActiV,KAAD,IAAW;AAC7D,UAAIo1V,KAAJ,EAAW;AACP,cAAMjlT,MAAM,GAAG,CAACnwC,KAAD,EAAQ,GAAGm1V,WAAX,CAAf;AACA7S,QAAAA,UAAU,CAAC5oV,IAAX,CAAgB+0V,OAAO,GAAGA,OAAO,CAAC,GAAGt+S,MAAJ,CAAV,GAAwBA,MAA/C;AACH;AACJ,KALwC,CAAzC;AAMH,GApBa,CAAd;AAqBH;;;;;;;;;;;;;;;;AC7BD;AACO,SAASklT,aAAT,CAAuBhuS,KAAvB,EAA8B+hS,SAA9B,EAAyC;AAC5C,SAAO,IAAIjF,mDAAJ,CAAgB7B,UAAD,IAAgB;AAClC,QAAI78U,CAAC,GAAG,CAAR;AACA,WAAO2jV,SAAS,CAAC5iV,QAAV,CAAmB,YAAY;AAClC,UAAIf,CAAC,KAAK4hD,KAAK,CAAC5rD,MAAhB,EAAwB;AACpB6mV,QAAAA,UAAU,CAAC3oV,QAAX;AACH,OAFD,MAGK;AACD2oV,QAAAA,UAAU,CAAC5oV,IAAX,CAAgB2tD,KAAK,CAAC5hD,CAAC,EAAF,CAArB;;AACA,YAAI,CAAC68U,UAAU,CAAC7gR,MAAhB,EAAwB;AACpB,eAAKj7D,QAAL;AACH;AACJ;AACJ,KAVM,CAAP;AAWH,GAbM,CAAP;AAcH;;;;;;;;;;;;;;;;;AChBD;AACA;AACO,SAAS8uV,qBAAT,CAA+BjuS,KAA/B,EAAsC+hS,SAAtC,EAAiD;AACpD,MAAI,CAAC/hS,KAAL,EAAY;AACR,UAAM,IAAIpL,KAAJ,CAAU,yBAAV,CAAN;AACH;;AACD,SAAO,IAAIkoS,mDAAJ,CAAgB7B,UAAD,IAAgB;AAClC4G,IAAAA,sEAAe,CAAC5G,UAAD,EAAa8G,SAAb,EAAwB,MAAM;AACzC,YAAMnuT,QAAQ,GAAGosB,KAAK,CAACrsB,MAAM,CAACu6T,aAAR,CAAL,EAAjB;AACArM,MAAAA,sEAAe,CAAC5G,UAAD,EAAa8G,SAAb,EAAwB,MAAM;AACzCnuT,QAAAA,QAAQ,CAACvhC,IAAT,GAAgBpD,IAAhB,CAAsBmK,MAAD,IAAY;AAC7B,cAAIA,MAAM,CAAC45B,IAAX,EAAiB;AACbioT,YAAAA,UAAU,CAAC3oV,QAAX;AACH,WAFD,MAGK;AACD2oV,YAAAA,UAAU,CAAC5oV,IAAX,CAAgB+G,MAAM,CAACT,KAAvB;AACH;AACJ,SAPD;AAQH,OATc,EASZ,CATY,EAST,IATS,CAAf;AAUH,KAZc,CAAf;AAaH,GAdM,CAAP;AAeH;;;;;;;;;;;;;;;;;;;ACrBD;AACA;AACA;AACA;AACO,SAASy1V,gBAAT,CAA0BpuS,KAA1B,EAAiC+hS,SAAjC,EAA4C;AAC/C,SAAO,IAAIjF,mDAAJ,CAAgB7B,UAAD,IAAgB;AAClC,QAAIrnT,QAAJ;AACAiuT,IAAAA,sEAAe,CAAC5G,UAAD,EAAa8G,SAAb,EAAwB,MAAM;AACzCnuT,MAAAA,QAAQ,GAAGosB,KAAK,CAACmuS,sDAAD,CAAL,EAAX;AACAtM,MAAAA,sEAAe,CAAC5G,UAAD,EAAa8G,SAAb,EAAwB,MAAM;AACzC,YAAIppV,KAAJ;AACA,YAAIq6B,IAAJ;;AACA,YAAI;AACA,WAAC;AAAEr6B,YAAAA,KAAF;AAASq6B,YAAAA;AAAT,cAAkBY,QAAQ,CAACvhC,IAAT,EAAnB;AACH,SAFD,CAGA,OAAOuxB,GAAP,EAAY;AACRq3T,UAAAA,UAAU,CAACn9U,KAAX,CAAiB8lB,GAAjB;AACA;AACH;;AACD,YAAIoP,IAAJ,EAAU;AACNioT,UAAAA,UAAU,CAAC3oV,QAAX;AACH,SAFD,MAGK;AACD2oV,UAAAA,UAAU,CAAC5oV,IAAX,CAAgBsG,KAAhB;AACH;AACJ,OAhBc,EAgBZ,CAhBY,EAgBT,IAhBS,CAAf;AAiBH,KAnBc,CAAf;AAoBA,WAAO,MAAMq8G,4DAAU,CAACphF,QAAQ,KAAK,IAAb,IAAqBA,QAAQ,KAAK,KAAK,CAAvC,GAA2C,KAAK,CAAhD,GAAoDA,QAAQ,CAACw2N,MAA9D,CAAV,IAAmFx2N,QAAQ,CAACw2N,MAAT,EAAhG;AACH,GAvBM,CAAP;AAwBH;;;;;;;;;;;;;;;;;;AC7BD;AACA;AACA;AACO,SAASikG,kBAAT,CAA4BruS,KAA5B,EAAmC+hS,SAAnC,EAA8C;AACjD,SAAOU,gEAAS,CAACziS,KAAD,CAAT,CAAiB73D,IAAjB,CAAsBmkW,mEAAW,CAACvK,SAAD,CAAjC,EAA8CwI,+DAAS,CAACxI,SAAD,CAAvD,CAAP;AACH;;;;;;;;;;;;;;;;;;ACLD;AACA;AACA;AACO,SAASuM,eAAT,CAAyBtuS,KAAzB,EAAgC+hS,SAAhC,EAA2C;AAC9C,SAAOU,gEAAS,CAACziS,KAAD,CAAT,CAAiB73D,IAAjB,CAAsBmkW,mEAAW,CAACvK,SAAD,CAAjC,EAA8CwI,+DAAS,CAACxI,SAAD,CAAvD,CAAP;AACH;;;;;;;;;;;;;;;;;ACLD;AACA;AACO,SAASwM,0BAAT,CAAoCvuS,KAApC,EAA2C+hS,SAA3C,EAAsD;AACzD,SAAOkM,6EAAqB,CAAC3J,8FAAkC,CAACtkS,KAAD,CAAnC,EAA4C+hS,SAA5C,CAA5B;AACH;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACJD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,SAASgB,SAAT,CAAmB/iS,KAAnB,EAA0B+hS,SAA1B,EAAqC;AACxC,MAAI/hS,KAAK,IAAI,IAAb,EAAmB;AACf,QAAIikS,8EAAmB,CAACjkS,KAAD,CAAvB,EAAgC;AAC5B,aAAOquS,uEAAkB,CAACruS,KAAD,EAAQ+hS,SAAR,CAAzB;AACH;;AACD,QAAIkB,8DAAW,CAACjjS,KAAD,CAAf,EAAwB;AACpB,aAAOguS,6DAAa,CAAChuS,KAAD,EAAQ+hS,SAAR,CAApB;AACH;;AACD,QAAIiC,0DAAS,CAAChkS,KAAD,CAAb,EAAsB;AAClB,aAAOsuS,iEAAe,CAACtuS,KAAD,EAAQ+hS,SAAR,CAAtB;AACH;;AACD,QAAImC,sEAAe,CAAClkS,KAAD,CAAnB,EAA4B;AACxB,aAAOiuS,6EAAqB,CAACjuS,KAAD,EAAQ+hS,SAAR,CAA5B;AACH;;AACD,QAAIqC,4DAAU,CAACpkS,KAAD,CAAd,EAAuB;AACnB,aAAOouS,mEAAgB,CAACpuS,KAAD,EAAQ+hS,SAAR,CAAvB;AACH;;AACD,QAAIsC,iFAAoB,CAACrkS,KAAD,CAAxB,EAAiC;AAC7B,aAAOuuS,wFAA0B,CAACvuS,KAAD,EAAQ+hS,SAAR,CAAjC;AACH;AACJ;;AACD,QAAMoC,+FAAgC,CAACnkS,KAAD,CAAtC;AACH;;;;;;;;;;;;;;;;ACnCD;AACO,MAAMwuS,MAAN,SAAqBlQ,uDAArB,CAAkC;AACrCp3V,EAAAA,WAAW,CAAC66V,SAAD,EAAY1D,IAAZ,EAAkB;AACzB;AACH;;AACDl/U,EAAAA,QAAQ,CAAC+D,KAAD,EAAQgiG,KAAK,GAAG,CAAhB,EAAmB;AACvB,WAAO,IAAP;AACH;;AANoC;;;;;;;;;;;;;;;;;ACDzC;AACA;AACO,MAAMypP,oBAAN,SAAmCF,qDAAnC,CAA+C;AAClDvnW,EAAAA,WAAW,CAAC66V,SAAD,EAAY1D,IAAZ,EAAkB;AACzB,UAAM0D,SAAN,EAAiB1D,IAAjB;AACA,SAAK0D,SAAL,GAAiBA,SAAjB;AACA,SAAK1D,IAAL,GAAYA,IAAZ;AACH;;AACDuQ,EAAAA,cAAc,CAAC7M,SAAD,EAAYntV,EAAZ,EAAgBswG,KAAK,GAAG,CAAxB,EAA2B;AACrC,QAAIA,KAAK,KAAK,IAAV,IAAkBA,KAAK,GAAG,CAA9B,EAAiC;AAC7B,aAAO,MAAM0pP,cAAN,CAAqB7M,SAArB,EAAgCntV,EAAhC,EAAoCswG,KAApC,CAAP;AACH;;AACD68O,IAAAA,SAAS,CAAC3xE,OAAV,CAAkB1iP,IAAlB,CAAuB,IAAvB;AACA,WAAOq0T,SAAS,CAAC8M,UAAV,KAAyB9M,SAAS,CAAC8M,UAAV,GAAuBH,iGAAA,CAA6C,MAAM3M,SAAS,CAACz/N,KAAV,CAAgBxoF,SAAhB,CAAnD,CAAhD,CAAP;AACH;;AACDi1T,EAAAA,cAAc,CAAChN,SAAD,EAAYntV,EAAZ,EAAgBswG,KAAK,GAAG,CAAxB,EAA2B;AACrC,QAAI1tE,EAAJ;;AACA,QAAI0tE,KAAK,IAAI,IAAT,GAAgBA,KAAK,GAAG,CAAxB,GAA4B,KAAKA,KAAL,GAAa,CAA7C,EAAgD;AAC5C,aAAO,MAAM6pP,cAAN,CAAqBhN,SAArB,EAAgCntV,EAAhC,EAAoCswG,KAApC,CAAP;AACH;;AACD,UAAM;AAAEkrK,MAAAA;AAAF,QAAc2xE,SAApB;;AACA,QAAIntV,EAAE,IAAI,IAAN,IAAc,CAAC,CAAC4iC,EAAE,GAAG44O,OAAO,CAACA,OAAO,CAACh8Q,MAAR,GAAiB,CAAlB,CAAb,MAAuC,IAAvC,IAA+CojC,EAAE,KAAK,KAAK,CAA3D,GAA+D,KAAK,CAApE,GAAwEA,EAAE,CAAC5iC,EAA5E,MAAoFA,EAAtG,EAA0G;AACtG85V,MAAAA,gGAAA,CAA4C95V,EAA5C;AACAmtV,MAAAA,SAAS,CAAC8M,UAAV,GAAuB/0T,SAAvB;AACH;;AACD,WAAOA,SAAP;AACH;;AAxBiD;;;;;;;;;;;;;;;;ACFtD;AACO,MAAMo1T,uBAAN,SAAsCD,2DAAtC,CAAqD;AACxD3sO,EAAAA,KAAK,CAAC7jH,MAAD,EAAS;AACV,SAAK0wV,OAAL,GAAe,IAAf;AACA,UAAMC,OAAO,GAAG,KAAKP,UAArB;AACA,SAAKA,UAAL,GAAkB/0T,SAAlB;AACA,UAAM;AAAEs2O,MAAAA;AAAF,QAAc,IAApB;AACA,QAAItyQ,KAAJ;AACAW,IAAAA,MAAM,GAAGA,MAAM,IAAI2xQ,OAAO,CAACxqM,KAAR,EAAnB;;AACA,OAAG;AACC,UAAK9nE,KAAK,GAAGW,MAAM,CAACmzQ,OAAP,CAAenzQ,MAAM,CAACyE,KAAtB,EAA6BzE,MAAM,CAACymG,KAApC,CAAb,EAA0D;AACtD;AACH;AACJ,KAJD,QAIS,CAACzmG,MAAM,GAAG2xQ,OAAO,CAAC,CAAD,CAAjB,KAAyB3xQ,MAAM,CAAC7J,EAAP,KAAcw6V,OAAvC,IAAkDh/E,OAAO,CAACxqM,KAAR,EAJ3D;;AAKA,SAAKupR,OAAL,GAAe,KAAf;;AACA,QAAIrxV,KAAJ,EAAW;AACP,aAAO,CAACW,MAAM,GAAG2xQ,OAAO,CAAC,CAAD,CAAjB,KAAyB3xQ,MAAM,CAAC7J,EAAP,KAAcw6V,OAAvC,IAAkDh/E,OAAO,CAACxqM,KAAR,EAAzD,EAA0E;AACtEnnE,QAAAA,MAAM,CAAC+7O,WAAP;AACH;;AACD,YAAM18O,KAAN;AACH;AACJ;;AApBuD;;;;;;;;;;;;;;;;;ACD5D;AACA;AACO,MAAMwxV,UAAN,SAAyBb,qDAAzB,CAAqC;AACxCvnW,EAAAA,WAAW,CAAC66V,SAAD,EAAY1D,IAAZ,EAAkB;AACzB,UAAM0D,SAAN,EAAiB1D,IAAjB;AACA,SAAK0D,SAAL,GAAiBA,SAAjB;AACA,SAAK1D,IAAL,GAAYA,IAAZ;AACH;;AACDuQ,EAAAA,cAAc,CAAC7M,SAAD,EAAYntV,EAAZ,EAAgBswG,KAAK,GAAG,CAAxB,EAA2B;AACrC,QAAIA,KAAK,KAAK,IAAV,IAAkBA,KAAK,GAAG,CAA9B,EAAiC;AAC7B,aAAO,MAAM0pP,cAAN,CAAqB7M,SAArB,EAAgCntV,EAAhC,EAAoCswG,KAApC,CAAP;AACH;;AACD68O,IAAAA,SAAS,CAAC3xE,OAAV,CAAkB1iP,IAAlB,CAAuB,IAAvB;AACA,WAAOq0T,SAAS,CAAC8M,UAAV,KAAyB9M,SAAS,CAAC8M,UAAV,GAAuBQ,8EAAA,CAA+BtN,SAAS,CAACz/N,KAAV,CAAgB9lG,IAAhB,CAAqBulU,SAArB,EAAgCjoT,SAAhC,CAA/B,CAAhD,CAAP;AACH;;AACDi1T,EAAAA,cAAc,CAAChN,SAAD,EAAYntV,EAAZ,EAAgBswG,KAAK,GAAG,CAAxB,EAA2B;AACrC,QAAI1tE,EAAJ;;AACA,QAAI0tE,KAAK,IAAI,IAAT,GAAgBA,KAAK,GAAG,CAAxB,GAA4B,KAAKA,KAAL,GAAa,CAA7C,EAAgD;AAC5C,aAAO,MAAM6pP,cAAN,CAAqBhN,SAArB,EAAgCntV,EAAhC,EAAoCswG,KAApC,CAAP;AACH;;AACD,UAAM;AAAEkrK,MAAAA;AAAF,QAAc2xE,SAApB;;AACA,QAAIntV,EAAE,IAAI,IAAN,IAAc,CAAC,CAAC4iC,EAAE,GAAG44O,OAAO,CAACA,OAAO,CAACh8Q,MAAR,GAAiB,CAAlB,CAAb,MAAuC,IAAvC,IAA+CojC,EAAE,KAAK,KAAK,CAA3D,GAA+D,KAAK,CAApE,GAAwEA,EAAE,CAAC5iC,EAA5E,MAAoFA,EAAtG,EAA0G;AACtGy6V,MAAAA,gFAAA,CAAiCz6V,EAAjC;AACAmtV,MAAAA,SAAS,CAAC8M,UAAV,GAAuB/0T,SAAvB;AACH;;AACD,WAAOA,SAAP;AACH;;AAxBuC;;;;;;;;;;;;;;;;ACF5C;AACO,MAAM21T,aAAN,SAA4BR,2DAA5B,CAA2C;AAC9C3sO,EAAAA,KAAK,CAAC7jH,MAAD,EAAS;AACV,SAAK0wV,OAAL,GAAe,IAAf;AACA,UAAMC,OAAO,GAAG,KAAKP,UAArB;AACA,SAAKA,UAAL,GAAkB/0T,SAAlB;AACA,UAAM;AAAEs2O,MAAAA;AAAF,QAAc,IAApB;AACA,QAAItyQ,KAAJ;AACAW,IAAAA,MAAM,GAAGA,MAAM,IAAI2xQ,OAAO,CAACxqM,KAAR,EAAnB;;AACA,OAAG;AACC,UAAK9nE,KAAK,GAAGW,MAAM,CAACmzQ,OAAP,CAAenzQ,MAAM,CAACyE,KAAtB,EAA6BzE,MAAM,CAACymG,KAApC,CAAb,EAA0D;AACtD;AACH;AACJ,KAJD,QAIS,CAACzmG,MAAM,GAAG2xQ,OAAO,CAAC,CAAD,CAAjB,KAAyB3xQ,MAAM,CAAC7J,EAAP,KAAcw6V,OAAvC,IAAkDh/E,OAAO,CAACxqM,KAAR,EAJ3D;;AAKA,SAAKupR,OAAL,GAAe,KAAf;;AACA,QAAIrxV,KAAJ,EAAW;AACP,aAAO,CAACW,MAAM,GAAG2xQ,OAAO,CAAC,CAAD,CAAjB,KAAyB3xQ,MAAM,CAAC7J,EAAP,KAAcw6V,OAAvC,IAAkDh/E,OAAO,CAACxqM,KAAR,EAAzD,EAA0E;AACtEnnE,QAAAA,MAAM,CAAC+7O,WAAP;AACH;;AACD,YAAM18O,KAAN;AACH;AACJ;;AApB6C;;;;;;;;;;;;;;;;;;ACDlD;AACA;AACA;AACO,MAAM2wV,WAAN,SAA0BD,2CAA1B,CAAiC;AACpCtnW,EAAAA,WAAW,CAAC66V,SAAD,EAAY1D,IAAZ,EAAkB;AACzB,UAAM0D,SAAN,EAAiB1D,IAAjB;AACA,SAAK0D,SAAL,GAAiBA,SAAjB;AACA,SAAK1D,IAAL,GAAYA,IAAZ;AACA,SAAKsR,OAAL,GAAe,KAAf;AACH;;AACDxwV,EAAAA,QAAQ,CAAC+D,KAAD,EAAQgiG,KAAK,GAAG,CAAhB,EAAmB;AACvB,QAAI1tE,EAAJ;;AACA,QAAI,KAAK4iC,MAAT,EAAiB;AACb,aAAO,IAAP;AACH;;AACD,SAAKl3D,KAAL,GAAaA,KAAb;AACA,UAAMtO,EAAE,GAAG,KAAKA,EAAhB;AACA,UAAMmtV,SAAS,GAAG,KAAKA,SAAvB;;AACA,QAAIntV,EAAE,IAAI,IAAV,EAAgB;AACZ,WAAKA,EAAL,GAAU,KAAKm6V,cAAL,CAAoBhN,SAApB,EAA+BntV,EAA/B,EAAmCswG,KAAnC,CAAV;AACH;;AACD,SAAKyqP,OAAL,GAAe,IAAf;AACA,SAAKzqP,KAAL,GAAaA,KAAb;AACA,SAAKtwG,EAAL,GAAU,CAAC4iC,EAAE,GAAG,KAAK5iC,EAAX,MAAmB,IAAnB,IAA2B4iC,EAAE,KAAK,KAAK,CAAvC,GAA2CA,EAA3C,GAAgD,KAAKo3T,cAAL,CAAoB7M,SAApB,EAA+B,KAAKntV,EAApC,EAAwCswG,KAAxC,CAA1D;AACA,WAAO,IAAP;AACH;;AACD0pP,EAAAA,cAAc,CAAC7M,SAAD,EAAYj+K,GAAZ,EAAiB5+D,KAAK,GAAG,CAAzB,EAA4B;AACtC,WAAOwqP,2EAAA,CAA6B3N,SAAS,CAACz/N,KAAV,CAAgB9lG,IAAhB,CAAqBulU,SAArB,EAAgC,IAAhC,CAA7B,EAAoE78O,KAApE,CAAP;AACH;;AACD6pP,EAAAA,cAAc,CAACa,UAAD,EAAah7V,EAAb,EAAiBswG,KAAK,GAAG,CAAzB,EAA4B;AACtC,QAAIA,KAAK,IAAI,IAAT,IAAiB,KAAKA,KAAL,KAAeA,KAAhC,IAAyC,KAAKyqP,OAAL,KAAiB,KAA9D,EAAqE;AACjE,aAAO/6V,EAAP;AACH;;AACD,QAAIA,EAAE,IAAI,IAAV,EAAgB;AACZ86V,MAAAA,6EAAA,CAA+B96V,EAA/B;AACH;;AACD,WAAOklC,SAAP;AACH;;AACD83O,EAAAA,OAAO,CAAC1uQ,KAAD,EAAQgiG,KAAR,EAAe;AAClB,QAAI,KAAK9qC,MAAT,EAAiB;AACb,aAAO,IAAIxlB,KAAJ,CAAU,8BAAV,CAAP;AACH;;AACD,SAAK+6S,OAAL,GAAe,KAAf;;AACA,UAAM7xV,KAAK,GAAG,KAAK6vS,QAAL,CAAczqS,KAAd,EAAqBgiG,KAArB,CAAd;;AACA,QAAIpnG,KAAJ,EAAW;AACP,aAAOA,KAAP;AACH,KAFD,MAGK,IAAI,KAAK6xV,OAAL,KAAiB,KAAjB,IAA0B,KAAK/6V,EAAL,IAAW,IAAzC,EAA+C;AAChD,WAAKA,EAAL,GAAU,KAAKm6V,cAAL,CAAoB,KAAKhN,SAAzB,EAAoC,KAAKntV,EAAzC,EAA6C,IAA7C,CAAV;AACH;AACJ;;AACD+4S,EAAAA,QAAQ,CAACzqS,KAAD,EAAQ2sV,MAAR,EAAgB;AACpB,QAAIC,OAAO,GAAG,KAAd;AACA,QAAIlnT,UAAJ;;AACA,QAAI;AACA,WAAKy1S,IAAL,CAAUn7U,KAAV;AACH,KAFD,CAGA,OAAOkvB,CAAP,EAAU;AACN09T,MAAAA,OAAO,GAAG,IAAV;AACAlnT,MAAAA,UAAU,GAAGxW,CAAC,GAAGA,CAAH,GAAO,IAAIwiB,KAAJ,CAAU,oCAAV,CAArB;AACH;;AACD,QAAIk7S,OAAJ,EAAa;AACT,WAAKt1G,WAAL;AACA,aAAO5xM,UAAP;AACH;AACJ;;AACD4xM,EAAAA,WAAW,GAAG;AACV,QAAI,CAAC,KAAKpgL,MAAV,EAAkB;AACd,YAAM;AAAExlE,QAAAA,EAAF;AAAMmtV,QAAAA;AAAN,UAAoB,IAA1B;AACA,YAAM;AAAE3xE,QAAAA;AAAF,UAAc2xE,SAApB;AACA,WAAK1D,IAAL,GAAY,KAAKn7U,KAAL,GAAa,KAAK6+U,SAAL,GAAiB,IAA1C;AACA,WAAK4N,OAAL,GAAe,KAAf;AACAlR,MAAAA,0DAAS,CAACruE,OAAD,EAAU,IAAV,CAAT;;AACA,UAAIx7Q,EAAE,IAAI,IAAV,EAAgB;AACZ,aAAKA,EAAL,GAAU,KAAKm6V,cAAL,CAAoBhN,SAApB,EAA+BntV,EAA/B,EAAmC,IAAnC,CAAV;AACH;;AACD,WAAKswG,KAAL,GAAa,IAAb;AACA,YAAMs1I,WAAN;AACH;AACJ;;AA5EmC;;;;;;;;;;;;;;;;ACHxC;AACO,MAAMy0G,cAAN,SAA6B9Q,iDAA7B,CAAuC;AAC1Cj3V,EAAAA,WAAW,CAAC6oW,eAAD,EAAkBxhS,GAAG,GAAG4vR,qDAAxB,EAAuC;AAC9C,UAAM4R,eAAN,EAAuBxhS,GAAvB;AACA,SAAK6hN,OAAL,GAAe,EAAf;AACA,SAAK++E,OAAL,GAAe,KAAf;AACH;;AACD7sO,EAAAA,KAAK,CAAC7jH,MAAD,EAAS;AACV,UAAM;AAAE2xQ,MAAAA;AAAF,QAAc,IAApB;;AACA,QAAI,KAAK++E,OAAT,EAAkB;AACd/+E,MAAAA,OAAO,CAAC1iP,IAAR,CAAajvB,MAAb;AACA;AACH;;AACD,QAAIX,KAAJ;AACA,SAAKqxV,OAAL,GAAe,IAAf;;AACA,OAAG;AACC,UAAKrxV,KAAK,GAAGW,MAAM,CAACmzQ,OAAP,CAAenzQ,MAAM,CAACyE,KAAtB,EAA6BzE,MAAM,CAACymG,KAApC,CAAb,EAA0D;AACtD;AACH;AACJ,KAJD,QAIUzmG,MAAM,GAAG2xQ,OAAO,CAACxqM,KAAR,EAJnB;;AAKA,SAAKupR,OAAL,GAAe,KAAf;;AACA,QAAIrxV,KAAJ,EAAW;AACP,aAAQW,MAAM,GAAG2xQ,OAAO,CAACxqM,KAAR,EAAjB,EAAmC;AAC/BnnE,QAAAA,MAAM,CAAC+7O,WAAP;AACH;;AACD,YAAM18O,KAAN;AACH;AACJ;;AA1ByC;;;;;;;;;;;;;;;;ACD9C;AACO,MAAMkyV,WAAN,SAA0BvB,qDAA1B,CAAsC;AACzCvnW,EAAAA,WAAW,CAAC66V,SAAD,EAAY1D,IAAZ,EAAkB;AACzB,UAAM0D,SAAN,EAAiB1D,IAAjB;AACA,SAAK0D,SAAL,GAAiBA,SAAjB;AACA,SAAK1D,IAAL,GAAYA,IAAZ;AACH;;AACDl/U,EAAAA,QAAQ,CAAC+D,KAAD,EAAQgiG,KAAK,GAAG,CAAhB,EAAmB;AACvB,QAAIA,KAAK,GAAG,CAAZ,EAAe;AACX,aAAO,MAAM/lG,QAAN,CAAe+D,KAAf,EAAsBgiG,KAAtB,CAAP;AACH;;AACD,SAAKA,KAAL,GAAaA,KAAb;AACA,SAAKhiG,KAAL,GAAaA,KAAb;AACA,SAAK6+U,SAAL,CAAez/N,KAAf,CAAqB,IAArB;AACA,WAAO,IAAP;AACH;;AACDsvJ,EAAAA,OAAO,CAAC1uQ,KAAD,EAAQgiG,KAAR,EAAe;AAClB,WAAOA,KAAK,GAAG,CAAR,IAAa,KAAK9qC,MAAlB,GAA2B,MAAMw3M,OAAN,CAAc1uQ,KAAd,EAAqBgiG,KAArB,CAA3B,GAAyD,KAAKyoM,QAAL,CAAczqS,KAAd,EAAqBgiG,KAArB,CAAhE;AACH;;AACD0pP,EAAAA,cAAc,CAAC7M,SAAD,EAAYntV,EAAZ,EAAgBswG,KAAK,GAAG,CAAxB,EAA2B;AACrC,QAAKA,KAAK,IAAI,IAAT,IAAiBA,KAAK,GAAG,CAA1B,IAAiCA,KAAK,IAAI,IAAT,IAAiB,KAAKA,KAAL,GAAa,CAAnE,EAAuE;AACnE,aAAO,MAAM0pP,cAAN,CAAqB7M,SAArB,EAAgCntV,EAAhC,EAAoCswG,KAApC,CAAP;AACH;;AACD68O,IAAAA,SAAS,CAACz/N,KAAV,CAAgB,IAAhB;AACA,WAAO,CAAP;AACH;;AAxBwC;;;;;;;;;;;;;;;;ACD7C;AACO,MAAM2tO,cAAN,SAA6BhB,2DAA7B,CAA4C;;;;;;;;;;;;;;;;;;ACDnD;AACA;AACO,MAAMiB,uBAAuB,GAAG,IAAIhB,6EAAJ,CAA4BP,uEAA5B,CAAhC;AACA,MAAMwB,cAAc,GAAGD,uBAAvB;;;;;;;;;;;;;;;;ACHP;AACO,MAAMxB,sBAAsB,GAAG;AAClCvvV,EAAAA,QAAQ,CAACkgC,QAAD,EAAW;AACf,QAAI/Y,OAAO,GAAGwoU,qBAAd;AACA,QAAI/jP,MAAM,GAAGikP,oBAAb;AACA,UAAM;AAAEphG,MAAAA;AAAF,QAAe8gG,sBAArB;;AACA,QAAI9gG,QAAJ,EAAc;AACVtnO,MAAAA,OAAO,GAAGsnO,QAAQ,CAACkhG,qBAAnB;AACA/jP,MAAAA,MAAM,GAAG6iJ,QAAQ,CAACohG,oBAAlB;AACH;;AACD,UAAM/iU,MAAM,GAAG3F,OAAO,CAAEvb,SAAD,IAAe;AAClCggG,MAAAA,MAAM,GAAGjxE,SAAT;AACAuF,MAAAA,QAAQ,CAACt0B,SAAD,CAAR;AACH,KAHqB,CAAtB;AAIA,WAAO,IAAIuzU,uDAAJ,CAAiB,MAAMvzO,MAAM,KAAK,IAAX,IAAmBA,MAAM,KAAK,KAAK,CAAnC,GAAuC,KAAK,CAA5C,GAAgDA,MAAM,CAAC9+E,MAAD,CAA7E,CAAP;AACH,GAdiC;;AAelC6iU,EAAAA,qBAAqB,CAAC,GAAGj9O,IAAJ,EAAU;AAC3B,UAAM;AAAE+7I,MAAAA;AAAF,QAAe8gG,sBAArB;AACA,WAAO,CAAC,CAAC9gG,QAAQ,KAAK,IAAb,IAAqBA,QAAQ,KAAK,KAAK,CAAvC,GAA2C,KAAK,CAAhD,GAAoDA,QAAQ,CAACkhG,qBAA9D,KAAwFA,qBAAzF,EAAgH,GAAGj9O,IAAnH,CAAP;AACH,GAlBiC;;AAmBlCm9O,EAAAA,oBAAoB,CAAC,GAAGn9O,IAAJ,EAAU;AAC1B,UAAM;AAAE+7I,MAAAA;AAAF,QAAe8gG,sBAArB;AACA,WAAO,CAAC,CAAC9gG,QAAQ,KAAK,IAAb,IAAqBA,QAAQ,KAAK,KAAK,CAAvC,GAA2C,KAAK,CAAhD,GAAoDA,QAAQ,CAACohG,oBAA9D,KAAuFA,oBAAxF,EAA8G,GAAGn9O,IAAjH,CAAP;AACH,GAtBiC;;AAuBlC+7I,EAAAA,QAAQ,EAAE9zN;AAvBwB,CAA/B;;;;;;;;;;;;;;;;;;ACDP;AACA;AACO,MAAMs2T,aAAa,GAAG,IAAIX,yDAAJ,CAAkBH,mDAAlB,CAAtB;AACA,MAAMe,IAAI,GAAGD,aAAb;;;;;;;;;;;;;;;;;;ACHP;AACA;AACO,MAAMhL,cAAc,GAAG,IAAI6J,2DAAJ,CAAmBR,qDAAnB,CAAvB;AACA,MAAMh4N,KAAK,GAAG2uN,cAAd;;;;;;;;;;;;;;;ACHA,MAAM3H,qBAAqB,GAAG;AACjClvR,EAAAA,GAAG,GAAG;AACF,WAAO,CAACkvR,qBAAqB,CAAC7vF,QAAtB,IAAkCp+M,IAAnC,EAAyC+e,GAAzC,EAAP;AACH,GAHgC;;AAIjCq/L,EAAAA,QAAQ,EAAE9zN;AAJuB,CAA9B;;;;;;;;;;;;;;;;ACAP;AACA,MAAM;AAAEy1T,EAAAA,YAAF;AAAgBC,EAAAA;AAAhB,IAAmCc,sDAAzC;AACO,MAAMjB,iBAAiB,GAAG;AAC7BE,EAAAA,YAAY,CAAC,GAAG19O,IAAJ,EAAU;AAClB,UAAM;AAAE+7I,MAAAA;AAAF,QAAeyhG,iBAArB;AACA,WAAO,CAAC,CAACzhG,QAAQ,KAAK,IAAb,IAAqBA,QAAQ,KAAK,KAAK,CAAvC,GAA2C,KAAK,CAAhD,GAAoDA,QAAQ,CAAC2hG,YAA9D,KAA+EA,YAAhF,EAA8F,GAAG19O,IAAjG,CAAP;AACH,GAJ4B;;AAK7B29O,EAAAA,cAAc,CAACvjU,MAAD,EAAS;AACnB,UAAM;AAAE2hO,MAAAA;AAAF,QAAeyhG,iBAArB;AACA,WAAO,CAAC,CAACzhG,QAAQ,KAAK,IAAb,IAAqBA,QAAQ,KAAK,KAAK,CAAvC,GAA2C,KAAK,CAAhD,GAAoDA,QAAQ,CAAC4hG,cAA9D,KAAiFA,cAAlF,EAAkGvjU,MAAlG,CAAP;AACH,GAR4B;;AAS7B2hO,EAAAA,QAAQ,EAAE9zN;AATmB,CAA1B;;;;;;;;;;;;;;;ACFA,MAAM41T,gBAAgB,GAAG;AAC5Bv1R,EAAAA,WAAW,CAACu6F,OAAD,EAAU9hG,OAAV,EAAmB,GAAGi/C,IAAtB,EAA4B;AACnC,UAAM;AAAE+7I,MAAAA;AAAF,QAAe8hG,gBAArB;;AACA,QAAI9hG,QAAQ,KAAK,IAAb,IAAqBA,QAAQ,KAAK,KAAK,CAAvC,GAA2C,KAAK,CAAhD,GAAoDA,QAAQ,CAACzzL,WAAjE,EAA8E;AAC1E,aAAOyzL,QAAQ,CAACzzL,WAAT,CAAqBu6F,OAArB,EAA8B9hG,OAA9B,EAAuC,GAAGi/C,IAA1C,CAAP;AACH;;AACD,WAAO13C,WAAW,CAACu6F,OAAD,EAAU9hG,OAAV,EAAmB,GAAGi/C,IAAtB,CAAlB;AACH,GAP2B;;AAQ5Bv3C,EAAAA,aAAa,CAACruC,MAAD,EAAS;AAClB,UAAM;AAAE2hO,MAAAA;AAAF,QAAe8hG,gBAArB;AACA,WAAO,CAAC,CAAC9hG,QAAQ,KAAK,IAAb,IAAqBA,QAAQ,KAAK,KAAK,CAAvC,GAA2C,KAAK,CAAhD,GAAoDA,QAAQ,CAACtzL,aAA9D,KAAgFA,aAAjF,EAAgGruC,MAAhG,CAAP;AACH,GAX2B;;AAY5B2hO,EAAAA,QAAQ,EAAE9zN;AAZkB,CAAzB;;;;;;;;;;;;;;;;;;ACAP;AACA;AACO,MAAMy2T,cAAc,GAAG,IAAIN,2DAAJ,CAAmBD,qDAAnB,CAAvB;AACA,MAAMjxM,KAAK,GAAGwxM,cAAd;;;;;;;;;;;;;;;ACHA,MAAMvR,eAAe,GAAG;AAC3Br4U,EAAAA,UAAU,CAAC+tJ,OAAD,EAAU9hG,OAAV,EAAmB,GAAGi/C,IAAtB,EAA4B;AAClC,UAAM;AAAE+7I,MAAAA;AAAF,QAAeoxF,eAArB;;AACA,QAAIpxF,QAAQ,KAAK,IAAb,IAAqBA,QAAQ,KAAK,KAAK,CAAvC,GAA2C,KAAK,CAAhD,GAAoDA,QAAQ,CAACjnP,UAAjE,EAA6E;AACzE,aAAOinP,QAAQ,CAACjnP,UAAT,CAAoB+tJ,OAApB,EAA6B9hG,OAA7B,EAAsC,GAAGi/C,IAAzC,CAAP;AACH;;AACD,WAAOlrG,UAAU,CAAC+tJ,OAAD,EAAU9hG,OAAV,EAAmB,GAAGi/C,IAAtB,CAAjB;AACH,GAP0B;;AAQ3B5tE,EAAAA,YAAY,CAAChY,MAAD,EAAS;AACjB,UAAM;AAAE2hO,MAAAA;AAAF,QAAeoxF,eAArB;AACA,WAAO,CAAC,CAACpxF,QAAQ,KAAK,IAAb,IAAqBA,QAAQ,KAAK,KAAK,CAAvC,GAA2C,KAAK,CAAhD,GAAoDA,QAAQ,CAAC3pN,YAA9D,KAA+EA,YAAhF,EAA8FhY,MAA9F,CAAP;AACH,GAX0B;;AAY3B2hO,EAAAA,QAAQ,EAAE9zN;AAZiB,CAAxB;;;;;;;;;;;;;;;;ACAA,SAAS02T,iBAAT,GAA6B;AAChC,MAAI,OAAO78T,MAAP,KAAkB,UAAlB,IAAgC,CAACA,MAAM,CAACC,QAA5C,EAAsD;AAClD,WAAO,YAAP;AACH;;AACD,SAAOD,MAAM,CAACC,QAAd;AACH;AACM,MAAMA,QAAQ,GAAG48T,iBAAiB,EAAlC;;;;;;;;;;;;;;;ACNA,MAAM5hG,UAAU,GAAG,CAAC,MAAO,OAAOj7N,MAAP,KAAkB,UAAlB,IAAgCA,MAAM,CAACi7N,UAAxC,IAAuD,cAA9D,GAAnB;;;;;;;;;;;;;;;;ACAP;AACO,MAAM6xF,UAAU,GAAG0M,mEAAgB,CAAE58T,MAAD,IAAY,SAASkgU,cAAT,GAA0B;AAC7ElgU,EAAAA,MAAM,CAAC,IAAD,CAAN;;AACA,OAAKt4B,IAAL,GAAY,YAAZ;AACA,OAAK3O,OAAL,GAAe,yBAAf;AACH,CAJyC,CAAnC;;;;;;;;;;;;;;;;ACDP,IAAIonW,UAAU,GAAG,CAAjB;AACA,IAAIC,QAAJ;AACA,MAAMC,aAAa,GAAG,EAAtB;;AACA,SAASC,kBAAT,CAA4B5kU,MAA5B,EAAoC;AAChC,MAAIA,MAAM,IAAI2kU,aAAd,EAA6B;AACzB,WAAOA,aAAa,CAAC3kU,MAAD,CAApB;AACA,WAAO,IAAP;AACH;;AACD,SAAO,KAAP;AACH;;AACM,MAAMqkU,SAAS,GAAG;AACrBf,EAAAA,YAAY,CAAC5mP,EAAD,EAAK;AACb,UAAM18E,MAAM,GAAGykU,UAAU,EAAzB;AACAE,IAAAA,aAAa,CAAC3kU,MAAD,CAAb,GAAwB,IAAxB;;AACA,QAAI,CAAC0kU,QAAL,EAAe;AACXA,MAAAA,QAAQ,GAAG1/T,OAAO,CAACC,OAAR,EAAX;AACH;;AACDy/T,IAAAA,QAAQ,CAAC1hW,IAAT,CAAc,MAAM4hW,kBAAkB,CAAC5kU,MAAD,CAAlB,IAA8B08E,EAAE,EAApD;AACA,WAAO18E,MAAP;AACH,GAToB;;AAUrBujU,EAAAA,cAAc,CAACvjU,MAAD,EAAS;AACnB4kU,IAAAA,kBAAkB,CAAC5kU,MAAD,CAAlB;AACH;;AAZoB,CAAlB;AAcA,MAAM6kU,SAAS,GAAG;AACrBnB,EAAAA,OAAO,GAAG;AACN,WAAO/lU,MAAM,CAACkD,IAAP,CAAY8jU,aAAZ,EAA2Bx8V,MAAlC;AACH;;AAHoB,CAAlB;;;;;;;;;;;;;;;;ACxBP;AACO,MAAMoqV,uBAAuB,GAAG2O,mEAAgB,CAAE58T,MAAD,IAAY,SAASwgU,2BAAT,GAAuC;AACvGxgU,EAAAA,MAAM,CAAC,IAAD,CAAN;;AACA,OAAKt4B,IAAL,GAAY,yBAAZ;AACA,OAAK3O,OAAL,GAAe,qBAAf;AACH,CAJsD,CAAhD;;;;;;;;;;;;;;;;ACDP;AACO,MAAMw2V,mBAAmB,GAAGqN,mEAAgB,CAAE58T,MAAD,IAAY,SAASygU,uBAAT,CAAiCjyQ,MAAjC,EAAyC;AACrGxuD,EAAAA,MAAM,CAAC,IAAD,CAAN;;AACA,OAAKjnC,OAAL,GAAey1F,MAAM,GACd,GAAEA,MAAM,CAAC3qF,MAAO;AAC3B,EAAE2qF,MAAM,CAAC9tF,GAAP,CAAW,CAAC2yB,GAAD,EAAMxlB,CAAN,KAAa,GAAEA,CAAC,GAAG,CAAE,KAAIwlB,GAAG,CAAC+gB,QAAJ,EAAe,EAAnD,EAAsDnwC,IAAtD,CAA2D,MAA3D,CAAmE,EAF5C,GAGf,EAHN;AAIA,OAAKyD,IAAL,GAAY,qBAAZ;AACA,OAAK8mF,MAAL,GAAcA,MAAd;AACH,CARkD,CAA5C;;;;;;;;;;;;;;;;;;;ACDP;AACA;;AACA,SAASkqH,IAAT,CAAc3pM,GAAd,EAAmB;AACf,SAAOA,GAAG,CAACA,GAAG,CAAClL,MAAJ,GAAa,CAAd,CAAV;AACH;;AACM,SAASstV,iBAAT,CAA2B7vO,IAA3B,EAAiC;AACpC,SAAOmD,uDAAU,CAACi0F,IAAI,CAACp3F,IAAD,CAAL,CAAV,GAAyBA,IAAI,CAAC7rF,GAAL,EAAzB,GAAsC8T,SAA7C;AACH;AACM,SAAS6nT,YAAT,CAAsB9vO,IAAtB,EAA4B;AAC/B,SAAO8zO,yDAAW,CAAC18I,IAAI,CAACp3F,IAAD,CAAL,CAAX,GAA0BA,IAAI,CAAC7rF,GAAL,EAA1B,GAAuC8T,SAA9C;AACH;AACM,SAASyrT,SAAT,CAAmB1zO,IAAnB,EAAyBmhB,YAAzB,EAAuC;AAC1C,SAAO,OAAOi2E,IAAI,CAACp3F,IAAD,CAAX,KAAsB,QAAtB,GAAiCA,IAAI,CAAC7rF,GAAL,EAAjC,GAA8CgtG,YAArD;AACH;;;;;;;;;;;;;;;ACbD,MAAM;AAAEnqB,EAAAA;AAAF,IAAcj8E,KAApB;AACA,MAAM;AAAEyjO,EAAAA,cAAF;AAAkB3+N,EAAAA,SAAS,EAAEu/T,WAA7B;AAA0CnkU,EAAAA,IAAI,EAAE+Y;AAAhD,IAA4Djc,MAAlE;AACO,SAAS23T,oBAAT,CAA8B1vO,IAA9B,EAAoC;AACvC,MAAIA,IAAI,CAACz9G,MAAL,KAAgB,CAApB,EAAuB;AACnB,UAAMmwQ,KAAK,GAAG1yJ,IAAI,CAAC,CAAD,CAAlB;;AACA,QAAIhJ,OAAO,CAAC07J,KAAD,CAAX,EAAoB;AAChB,aAAO;AAAE1yJ,QAAAA,IAAI,EAAE0yJ,KAAR;AAAez3O,QAAAA,IAAI,EAAE;AAArB,OAAP;AACH;;AACD,QAAIokU,MAAM,CAAC3sF,KAAD,CAAV,EAAmB;AACf,YAAMz3O,IAAI,GAAG+Y,OAAO,CAAC0+N,KAAD,CAApB;AACA,aAAO;AACH1yJ,QAAAA,IAAI,EAAE/kF,IAAI,CAAC77B,GAAL,CAAUs8B,GAAD,IAASg3O,KAAK,CAACh3O,GAAD,CAAvB,CADH;AAEHT,QAAAA;AAFG,OAAP;AAIH;AACJ;;AACD,SAAO;AAAE+kF,IAAAA,IAAI,EAAEA,IAAR;AAAc/kF,IAAAA,IAAI,EAAE;AAApB,GAAP;AACH;;AACD,SAASokU,MAAT,CAAgBtzU,GAAhB,EAAqB;AACjB,SAAOA,GAAG,IAAI,OAAOA,GAAP,KAAe,QAAtB,IAAkCyyO,cAAc,CAACzyO,GAAD,CAAd,KAAwBqzU,WAAjE;AACH;;;;;;;;;;;;;;;ACpBD,MAAM;AAAEpoP,EAAAA;AAAF,IAAcj8E,KAApB;AACO,SAASs6T,cAAT,CAAwBr1O,IAAxB,EAA8B;AACjC,SAAOA,IAAI,CAACz9G,MAAL,KAAgB,CAAhB,IAAqBy0G,OAAO,CAACgJ,IAAI,CAAC,CAAD,CAAL,CAA5B,GAAwCA,IAAI,CAAC,CAAD,CAA5C,GAAkDA,IAAzD;AACH;;;;;;;;;;;;;;;ACHM,SAAS4sO,SAAT,CAAmBn/U,GAAnB,EAAwB2C,IAAxB,EAA8B;AACjC,MAAI3C,GAAJ,EAAS;AACL,UAAM2pC,KAAK,GAAG3pC,GAAG,CAACO,OAAJ,CAAYoC,IAAZ,CAAd;AACA,SAAKgnC,KAAL,IAAc3pC,GAAG,CAACsrH,MAAJ,CAAW3hF,KAAX,EAAkB,CAAlB,CAAd;AACH;AACJ;;;;;;;;;;;;;;;ACLM,SAASkkT,gBAAT,CAA0BgE,UAA1B,EAAsC;AACzC,QAAM5gU,MAAM,GAAIzK,QAAD,IAAc;AACzB8uB,IAAAA,KAAK,CAAChkB,IAAN,CAAW9K,QAAX;AACAA,IAAAA,QAAQ,CAACisF,KAAT,GAAiB,IAAIn9D,KAAJ,GAAYm9D,KAA7B;AACH,GAHD;;AAIA,QAAMq/O,QAAQ,GAAGD,UAAU,CAAC5gU,MAAD,CAA3B;AACA6gU,EAAAA,QAAQ,CAAC1/T,SAAT,GAAqB9H,MAAM,CAAC4G,MAAP,CAAcokB,KAAK,CAACljB,SAApB,CAArB;AACA0/T,EAAAA,QAAQ,CAAC1/T,SAAT,CAAmBxqC,WAAnB,GAAiCkqW,QAAjC;AACA,SAAOA,QAAP;AACH;;;;;;;;;;;;;;;ACTM,SAASxP,YAAT,CAAsB90T,IAAtB,EAA4Bgc,MAA5B,EAAoC;AACvC,SAAOhc,IAAI,CAAC8xE,MAAL,CAAY,CAACxlG,MAAD,EAASm0B,GAAT,EAAcnvB,CAAd,MAAsBhF,MAAM,CAACm0B,GAAD,CAAN,GAAcub,MAAM,CAAC1qC,CAAD,CAArB,EAA2BhF,MAAhD,CAAZ,EAAqE,EAArE,CAAP;AACH;;;;;;;;;;;;;;;;;ACFD;AACA,IAAIrB,OAAO,GAAG,IAAd;AACO,SAAS8kV,YAAT,CAAsBl0O,EAAtB,EAA0B;AAC7B,MAAIxhH,iFAAJ,EAAkD;AAC9C,UAAMkqW,MAAM,GAAG,CAACt5V,OAAhB;;AACA,QAAIs5V,MAAJ,EAAY;AACRt5V,MAAAA,OAAO,GAAG;AAAEu5V,QAAAA,WAAW,EAAE,KAAf;AAAsBxzV,QAAAA,KAAK,EAAE;AAA7B,OAAV;AACH;;AACD6qG,IAAAA,EAAE;;AACF,QAAI0oP,MAAJ,EAAY;AACR,YAAM;AAAEC,QAAAA,WAAF;AAAexzV,QAAAA;AAAf,UAAyB/F,OAA/B;AACAA,MAAAA,OAAO,GAAG,IAAV;;AACA,UAAIu5V,WAAJ,EAAiB;AACb,cAAMxzV,KAAN;AACH;AACJ;AACJ,GAbD,MAcK;AACD6qG,IAAAA,EAAE;AACL;AACJ;AACM,SAASs2O,YAAT,CAAsBr7T,GAAtB,EAA2B;AAC9B,MAAIz8B,iFAAA,IAAgD4Q,OAApD,EAA6D;AACzDA,IAAAA,OAAO,CAACu5V,WAAR,GAAsB,IAAtB;AACAv5V,IAAAA,OAAO,CAAC+F,KAAR,GAAgB8lB,GAAhB;AACH;AACJ;;;;;;;;;;;;;;;AC1BM,SAASi+T,eAAT,CAAyB0P,kBAAzB,EAA6CxP,SAA7C,EAAwD1D,IAAxD,EAA8Dn5O,KAAK,GAAG,CAAtE,EAAyEmhL,MAAM,GAAG,KAAlF,EAAyF;AAC5F,QAAMmrE,oBAAoB,GAAGzP,SAAS,CAAC5iV,QAAV,CAAmB,YAAY;AACxDk/U,IAAAA,IAAI;;AACJ,QAAIh4D,MAAJ,EAAY;AACRkrE,MAAAA,kBAAkB,CAACl1U,GAAnB,CAAuB,KAAKld,QAAL,CAAc,IAAd,EAAoB+lG,KAApB,CAAvB;AACH,KAFD,MAGK;AACD,WAAKs1I,WAAL;AACH;AACJ,GAR4B,EAQ1Bt1I,KAR0B,CAA7B;AASAqsP,EAAAA,kBAAkB,CAACl1U,GAAnB,CAAuBm1U,oBAAvB;;AACA,MAAI,CAACnrE,MAAL,EAAa;AACT,WAAOmrE,oBAAP;AACH;AACJ;;;;;;;;;;;;;;;ACdM,SAAShQ,QAAT,CAAkBt9U,CAAlB,EAAqB;AACxB,SAAOA,CAAP;AACH;;;;;;;;;;;;;;;ACFM,MAAM++U,WAAW,GAAK/+U,CAAD,IAAOA,CAAC,IAAI,OAAOA,CAAC,CAAC9P,MAAT,KAAoB,QAAzB,IAAqC,OAAO8P,CAAP,KAAa,UAA9E;;;;;;;;;;;;;;;;ACAP;AACO,SAASggV,eAAT,CAAyBtmU,GAAzB,EAA8B;AACjC,SAAO+V,MAAM,CAACu6T,aAAP,IAAwBl5O,uDAAU,CAACp3F,GAAG,KAAK,IAAR,IAAgBA,GAAG,KAAK,KAAK,CAA7B,GAAiC,KAAK,CAAtC,GAA0CA,GAAG,CAAC+V,MAAM,CAACu6T,aAAR,CAA9C,CAAzC;AACH;;;;;;;;;;;;;;;ACHM,SAAStI,WAAT,CAAqBjtV,KAArB,EAA4B;AAC/B,SAAOA,KAAK,YAAY62C,IAAjB,IAAyB,CAACr0B,KAAK,CAACxiB,KAAD,CAAtC;AACH;;;;;;;;;;;;;;;ACFM,SAASq8G,UAAT,CAAoBr8G,KAApB,EAA2B;AAC9B,SAAO,OAAOA,KAAP,KAAiB,UAAxB;AACH;;;;;;;;;;;;;;;;;ACFD;AACA;AACO,SAASsrV,mBAAT,CAA6BjkS,KAA7B,EAAoC;AACvC,SAAOg1D,uDAAU,CAACh1D,KAAK,CAAC28R,0DAAD,CAAN,CAAjB;AACH;;;;;;;;;;;;;;;;;ACJD;AACA;AACO,SAASyH,UAAT,CAAoBpkS,KAApB,EAA2B;AAC9B,SAAOg1D,uDAAU,CAACh1D,KAAK,KAAK,IAAV,IAAkBA,KAAK,KAAK,KAAK,CAAjC,GAAqC,KAAK,CAA1C,GAA8CA,KAAK,CAACmuS,sDAAD,CAApD,CAAjB;AACH;;;;;;;;;;;;;;;;;ACJD;AACA;AACO,SAASsD,YAAT,CAAsB7zU,GAAtB,EAA2B;AAC9B,SAAO,CAAC,CAACA,GAAF,KAAUA,GAAG,YAAYk/T,mDAAf,IAA8B9nO,uDAAU,CAACp3F,GAAG,CAACm/T,IAAL,CAAV,IAAwB/nO,uDAAU,CAACp3F,GAAG,CAACx1B,SAAL,CAA1E,CAAP;AACH;;;;;;;;;;;;;;;;ACJD;AACO,SAAS47V,SAAT,CAAmBrrV,KAAnB,EAA0B;AAC7B,SAAOq8G,uDAAU,CAACr8G,KAAK,KAAK,IAAV,IAAkBA,KAAK,KAAK,KAAK,CAAjC,GAAqC,KAAK,CAA1C,GAA8CA,KAAK,CAAC1J,IAArD,CAAjB;AACH;;;;;;;;;;;;;;;;;;ACHD;AACA;AACO,SAASq1V,kCAAT,CAA4CU,cAA5C,EAA4D;AAC/D,SAAO0M,uDAAgB,CAAC,IAAD,EAAOz/T,SAAP,EAAkB,UAAU2/T,oCAAV,GAAiD;AACtF,UAAMjtJ,MAAM,GAAGqgJ,cAAc,CAAC6M,SAAf,EAAf;;AACA,QAAI;AACA,aAAO,IAAP,EAAa;AACT,cAAM;AAAEl5V,UAAAA,KAAF;AAASq6B,UAAAA;AAAT,YAAkB,MAAM2+T,8CAAO,CAAChtJ,MAAM,CAACmtJ,IAAP,EAAD,CAArC;;AACA,YAAI9+T,IAAJ,EAAU;AACN,iBAAO,MAAM2+T,8CAAO,CAAC,KAAK,CAAN,CAApB;AACH;;AACD,cAAM,MAAMA,8CAAO,CAACh5V,KAAD,CAAnB;AACH;AACJ,KARD,SASQ;AACJgsM,MAAAA,MAAM,CAACotJ,WAAP;AACH;AACJ,GAdsB,CAAvB;AAeH;AACM,SAAS1N,oBAAT,CAA8BzmU,GAA9B,EAAmC;AACtC,SAAOo3F,uDAAU,CAACp3F,GAAG,KAAK,IAAR,IAAgBA,GAAG,KAAK,KAAK,CAA7B,GAAiC,KAAK,CAAtC,GAA0CA,GAAG,CAACi0U,SAA/C,CAAjB;AACH;;;;;;;;;;;;;;;;ACrBD;AACO,SAASlM,WAAT,CAAqBhtV,KAArB,EAA4B;AAC/B,SAAOA,KAAK,IAAIq8G,uDAAU,CAACr8G,KAAK,CAACwG,QAAP,CAA1B;AACH;;;;;;;;;;;;;;;;;ACHD;AACO,SAAS6hV,OAAT,CAAiBh9S,MAAjB,EAAyB;AAC5B,SAAOgxE,uDAAU,CAAChxE,MAAM,KAAK,IAAX,IAAmBA,MAAM,KAAK,KAAK,CAAnC,GAAuC,KAAK,CAA5C,GAAgDA,MAAM,CAAC+4S,IAAxD,CAAjB;AACH;AACM,SAASsJ,OAAT,CAAiBr9V,IAAjB,EAAuB;AAC1B,SAAQg7C,MAAD,IAAY;AACf,QAAIg9S,OAAO,CAACh9S,MAAD,CAAX,EAAqB;AACjB,aAAOA,MAAM,CAAC+4S,IAAP,CAAY,UAAUiV,YAAV,EAAwB;AACvC,YAAI;AACA,iBAAOhpW,IAAI,CAACgpW,YAAD,EAAe,IAAf,CAAX;AACH,SAFD,CAGA,OAAOpuU,GAAP,EAAY;AACR,eAAK9lB,KAAL,CAAW8lB,GAAX;AACH;AACJ,OAPM,CAAP;AAQH;;AACD,UAAM,IAAIkQ,SAAJ,CAAc,wCAAd,CAAN;AACH,GAZD;AAaH;;;;;;;;;;;;;;;;AClBD;AACA,MAAM;AAAE+0E,EAAAA;AAAF,IAAcj8E,KAApB;;AACA,SAASqlU,WAAT,CAAqBpuM,EAArB,EAAyBhyC,IAAzB,EAA+B;AAC3B,SAAOhJ,OAAO,CAACgJ,IAAD,CAAP,GAAgBgyC,EAAE,CAAC,GAAGhyC,IAAJ,CAAlB,GAA8BgyC,EAAE,CAAChyC,IAAD,CAAvC;AACH;;AACM,SAAS4vO,gBAAT,CAA0B59L,EAA1B,EAA8B;AACjC,SAAO5yJ,mDAAG,CAAC4gH,IAAI,IAAIogP,WAAW,CAACpuM,EAAD,EAAKhyC,IAAL,CAApB,CAAV;AACH;;;;;;;;;;;;;;;ACPM,SAASktO,IAAT,GAAgB,CAAG;;;;;;;;;;;;;;;;;ACA1B;AACO,SAAS52V,IAAT,CAAc,GAAG+pW,GAAjB,EAAsB;AACzB,SAAOtV,aAAa,CAACsV,GAAD,CAApB;AACH;AACM,SAAStV,aAAT,CAAuBsV,GAAvB,EAA4B;AAC/B,MAAIA,GAAG,CAAC99V,MAAJ,KAAe,CAAnB,EAAsB;AAClB,WAAOotV,+CAAP;AACH;;AACD,MAAI0Q,GAAG,CAAC99V,MAAJ,KAAe,CAAnB,EAAsB;AAClB,WAAO89V,GAAG,CAAC,CAAD,CAAV;AACH;;AACD,SAAO,SAASC,KAAT,CAAenyS,KAAf,EAAsB;AACzB,WAAOkyS,GAAG,CAACtzP,MAAJ,CAAW,CAAC4rP,IAAD,EAAO3mM,EAAP,KAAcA,EAAE,CAAC2mM,IAAD,CAA3B,EAAmCxqS,KAAnC,CAAP;AACH,GAFD;AAGH;;;;;;;;;;;;;;;;;ACdD;AACA;AACO,SAAS8+R,oBAAT,CAA8Bl7T,GAA9B,EAAmC;AACtCo7T,EAAAA,kFAAA,CAA2B,MAAM;AAC7B,UAAM;AAAEwB,MAAAA;AAAF,QAAuBr5V,2CAA7B;;AACA,QAAIq5V,gBAAJ,EAAsB;AAClBA,MAAAA,gBAAgB,CAAC58T,GAAD,CAAhB;AACH,KAFD,MAGK;AACD,YAAMA,GAAN;AACH;AACJ,GARD;AASH;;;;;;;;;;;;;;;ACZM,SAASugU,gCAAT,CAA0CnkS,KAA1C,EAAiD;AACpD,SAAO,IAAIlsB,SAAJ,CAAe,gBAAeksB,KAAK,KAAK,IAAV,IAAkB,OAAOA,KAAP,KAAiB,QAAnC,GAA8C,mBAA9C,GAAqE,IAAGA,KAAM,GAAG,0HAA/G,CAAP;AACH;;;;;;;;;;ACFD,CAAC,UAAS5tB,CAAT,EAAW8B,CAAX,EAAa;AAAC,UAAkD4wK,MAAM,CAACx2L,OAAP,GAAe4lB,CAAC,EAAlE,GAAqE,CAArE;AAA6L,CAA3M,CAA4M,IAA5M,EAAiN,YAAU;AAAC,SAAO,UAAS9B,CAAT,EAAW;AAAC,aAAS8B,CAAT,CAAWlC,CAAX,EAAa;AAAC,UAAGvK,CAAC,CAACuK,CAAD,CAAJ,EAAQ,OAAOvK,CAAC,CAACuK,CAAD,CAAD,CAAK1jB,OAAZ;AAAoB,UAAI0lB,CAAC,GAACvM,CAAC,CAACuK,CAAD,CAAD,GAAK;AAAC1jB,QAAAA,OAAO,EAAC,EAAT;AAAY1Z,QAAAA,EAAE,EAACo9B,CAAf;AAAiBq9M,QAAAA,MAAM,EAAC,CAAC;AAAzB,OAAX;AAAuC,aAAOj9M,CAAC,CAACJ,CAAD,CAAD,CAAKpB,IAAL,CAAUoD,CAAC,CAAC1lB,OAAZ,EAAoB0lB,CAApB,EAAsBA,CAAC,CAAC1lB,OAAxB,EAAgC4lB,CAAhC,GAAmCF,CAAC,CAACq7M,MAAF,GAAS,CAAC,CAA7C,EAA+Cr7M,CAAC,CAAC1lB,OAAxD;AAAgE;;AAAA,QAAImZ,CAAC,GAAC,EAAN;AAAS,WAAOyM,CAAC,CAACD,CAAF,GAAI7B,CAAJ,EAAM8B,CAAC,CAACkxI,CAAF,GAAI39I,CAAV,EAAYyM,CAAC,CAACzC,CAAF,GAAI,EAAhB,EAAmByC,CAAC,CAAC,CAAD,CAA3B;AAA+B,GAArM,CAAsM,CAAC,UAAS9B,CAAT,EAAW8B,CAAX,EAAazM,CAAb,EAAe;AAAC;;AAAa,aAASuK,CAAT,CAAWI,CAAX,EAAa;AAAC,aAAOA,CAAC,IAAEA,CAAC,CAACquJ,UAAL,GAAgBruJ,CAAhB,GAAkB;AAACs9E,QAAAA,OAAO,EAACt9E;AAAT,OAAzB;AAAqC;;AAAAxI,IAAAA,MAAM,CAAC2iD,cAAP,CAAsBr4C,CAAtB,EAAwB,YAAxB,EAAqC;AAACv7B,MAAAA,KAAK,EAAC,CAAC;AAAR,KAArC;AAAiD,QAAIq7B,CAAC,GAACvM,CAAC,CAAC,CAAD,CAAP;AAAWmC,IAAAA,MAAM,CAAC2iD,cAAP,CAAsBr4C,CAAtB,EAAwB,eAAxB,EAAwC;AAAC64C,MAAAA,UAAU,EAAC,CAAC,CAAb;AAAe7kF,MAAAA,GAAG,EAAC,YAAU;AAAC,eAAO8pC,CAAC,CAACgC,CAAD,CAAD,CAAK07E,OAAZ;AAAoB;AAAlD,KAAxC;AAA6F,QAAItxG,CAAC,GAACqpB,CAAC,CAAC,CAAD,CAAP;AAAWmC,IAAAA,MAAM,CAAC2iD,cAAP,CAAsBr4C,CAAtB,EAAwB,qBAAxB,EAA8C;AAAC64C,MAAAA,UAAU,EAAC,CAAC,CAAb;AAAe7kF,MAAAA,GAAG,EAAC,YAAU;AAAC,eAAO8pC,CAAC,CAAC5zB,CAAD,CAAD,CAAKsxG,OAAZ;AAAoB;AAAlD,KAA9C;AAAmG,QAAI7lC,CAAC,GAACpiD,CAAC,CAAC,CAAD,CAAP;AAAWmC,IAAAA,MAAM,CAAC2iD,cAAP,CAAsBr4C,CAAtB,EAAwB,4BAAxB,EAAqD;AAAC64C,MAAAA,UAAU,EAAC,CAAC,CAAb;AAAe7kF,MAAAA,GAAG,EAAC,YAAU;AAAC,eAAO8pC,CAAC,CAAC63C,CAAD,CAAD,CAAK6lC,OAAZ;AAAoB;AAAlD,KAArD;AAA0G,GAA7c,EAA8c,UAASt9E,CAAT,EAAW8B,CAAX,EAAa;AAAC;;AAAatK,IAAAA,MAAM,CAAC2iD,cAAP,CAAsBr4C,CAAtB,EAAwB,YAAxB,EAAqC;AAACv7B,MAAAA,KAAK,EAAC,CAAC;AAAR,KAArC,GAAiDu7B,CAAC,CAACqsK,eAAF,GAAkB,GAAnE,EAAuErsK,CAAC,CAACoyJ,WAAF,GAAc,UAArF;AAAgG,GAAzkB,EAA0kB,UAASl0J,CAAT,EAAW8B,CAAX,EAAa;AAAC;;AAAa,aAASzM,CAAT,CAAW2K,CAAX,EAAa;AAAC,UAAI8B,CAAC,GAAC9B,CAAC,CAACigU,sBAAR;AAAA,UAA+B5qU,CAAC,GAAC,KAAK,CAAL,KAASyM,CAAT,GAAWF,CAAX,GAAaE,CAA9C;AAAA,UAAgD91B,CAAC,GAACg0B,CAAC,CAACkgU,mBAApD;AAAA,UAAwEzoR,CAAC,GAAC,KAAK,CAAL,KAASzrE,CAAT,GAAW41B,CAAX,GAAa51B,CAAvF;AAAA,UAAyFmO,CAAC,GAAC6lB,CAAC,CAACmgU,oBAA7F;AAAA,UAAkH5+I,CAAC,GAAC,KAAK,CAAL,KAASpnM,CAAT,GAAW,CAAX,GAAaA,CAAjI;AAAA,UAAmIwlB,CAAC,GAACK,CAAC,CAACogU,cAAvI;AAAA,UAAsJj/T,CAAC,GAACnB,CAAC,CAACqgU,QAA1J;AAAA,UAAmKphU,CAAC,GAACe,CAAC,CAACmuK,eAAvK;AAAA,UAAuLn7B,CAAC,GAAChzI,CAAC,CAACo7O,WAA3L;AAAA,UAAuM/7O,CAAC,GAACW,CAAC,CAACsgU,mBAA3M;AAAA,UAA+N90V,CAAC,GAAC,KAAK,CAAL,KAAS6zB,CAAT,GAAWO,CAAX,GAAaP,CAA9O;AAAA,UAAgP4sI,CAAC,GAACjsI,CAAC,CAACugU,gBAApP;AAAA,UAAqQ1+T,CAAC,GAAC,KAAK,CAAL,KAASoqI,CAAT,GAAWrsI,CAAX,GAAaqsI,CAApR;AAAsR,UAAG,MAAIs1C,CAAJ,IAAO,CAACpgL,CAAC,CAACn/B,MAAb,EAAoB,OAAO,CAAP;AAAS,UAAIo/B,CAAC,GAACD,CAAC,CAACn/B,MAAR;AAAA,UAAeq/B,CAAC,GAAChM,CAAC,CAACrzB,MAAnB;AAAA,UAA0Bk9B,CAAC,GAAC8zI,CAAC,CAAChxK,MAA9B;AAAA,UAAqC04P,CAAC,GAAC/6N,CAAC,CAAC39B,MAAzC;AAAA,UAAgDq+B,CAAC,GAACe,CAAC,GAACC,CAApD;AAAA,UAAsDm2C,CAAC,GAACn3C,CAAC,GAAC,CAA1D;AAAA,UAA4DvuB,CAAC,GAAC,MAAIuvB,CAAlE;AAAA,UAAoE+5N,CAAC,GAAC/6N,CAAC,GAAC,CAAF,IAAK,CAACm3C,CAAN,IAAS,CAAC1lE,CAAhF;AAAkF,UAAGspP,CAAH,EAAK,OAAO75C,CAAP;AAAS,UAAIm6C,CAAC,GAAClkL,CAAC,KAAGniD,CAAC,KAAGsK,CAAJ,IAAOA,CAAC,KAAGqzI,CAAd,CAAP;AAAA,UAAwBvP,CAAC,GAAC,CAA1B;AAAA,UAA4By5C,CAAC,GAAC,KAAK,CAAnC;AAAA,UAAqC+9C,CAAC,GAAC,KAAK,CAA5C;AAA8C,UAAGS,CAAH,EAAKj4F,CAAC,GAAC89C,CAAC,GAAClhL,CAAJ,CAAL,KAAe;AAAC,YAAIq3C,CAAC,GAAC/3C,CAAC,CAACjD,WAAF,EAAN;AAAA,YAAsBoE,CAAC,GAACK,CAAC,CAACzE,WAAF,EAAxB;AAAA,YAAwCo/N,CAAC,GAACh7N,CAAC,CAACwzG,MAAF,CAAS,CAAT,EAAWitE,CAAX,EAAcntM,KAAd,CAAoBwtB,CAApB,CAA1C;AAAA,YAAiE64N,CAAC,GAACqB,CAAC,CAAC98P,MAAF,CAAS,UAASghC,CAAT,EAAW;AAAC,iBAAO03C,CAAC,CAACjqE,OAAF,CAAUuyB,CAAV,MAAe,CAAC,CAAvB;AAAyB,SAA9C,CAAnE;;AAAmHi7N,QAAAA,CAAC,GAACR,CAAC,CAACA,CAAC,CAACz4P,MAAF,GAAS,CAAV,CAAH;AAAgB,YAAI65P,CAAC,GAACpkL,CAAC,CAAC68D,MAAF,CAAS,CAAT,EAAWmmH,CAAC,CAACz4P,MAAb,EAAqBoS,KAArB,CAA2BwtB,CAA3B,EAA8B5iC,MAA9B,CAAqC,UAASghC,CAAT,EAAW;AAAC,iBAAOA,CAAC,KAAGf,CAAX;AAAa,SAA9D,EAAgEj9B,MAAtE;AAAA,YAA6EkhO,CAAC,GAAClwD,CAAC,CAAC1+B,MAAF,CAAS,CAAT,EAAWmmH,CAAC,CAACz4P,MAAb,EAAqBoS,KAArB,CAA2BwtB,CAA3B,EAA8B5iC,MAA9B,CAAqC,UAASghC,CAAT,EAAW;AAAC,iBAAOA,CAAC,KAAGf,CAAX;AAAa,SAA9D,EAAgEj9B,MAA/I;AAAA,YAAsJ45P,CAAC,GAAC14B,CAAC,KAAG24B,CAA5J;AAAA,YAA8JN,CAAC,GAAC,KAAK,CAAL,KAAS9jL,CAAC,CAACgjL,CAAC,CAACz4P,MAAF,GAAS,CAAV,CAAV,IAAwB,KAAK,CAAL,KAASgxK,CAAC,CAACynF,CAAC,CAACz4P,MAAF,GAAS,CAAV,CAAlC,IAAgDy1E,CAAC,CAACgjL,CAAC,CAACz4P,MAAF,GAAS,CAAV,CAAD,KAAgBi9B,CAAhE,IAAmEw4C,CAAC,CAACgjL,CAAC,CAACz4P,MAAF,GAAS,CAAV,CAAD,KAAgBgxK,CAAC,CAACynF,CAAC,CAACz4P,MAAF,GAAS,CAAV,CAApF,IAAkGy1E,CAAC,CAACgjL,CAAC,CAACz4P,MAAF,GAAS,CAAV,CAAD,KAAgBgxK,CAAC,CAACynF,CAAC,CAACz4P,MAAF,GAAS,CAAV,CAAnR;AAAgS,SAACw1E,CAAD,KAAKokL,CAAC,IAAEL,CAAR,KAAYM,CAAC,GAAC,CAAd,IAAiB7oF,CAAC,CAACvlK,OAAF,CAAUwtP,CAAV,IAAa,CAAC,CAA/B,IAAkC,KAAK,CAAL,KAAS95N,CAAC,CAACogL,CAAD,CAA5C,KAAkDrE,CAAC,GAAC,CAAC,CAAH,EAAK+9C,CAAC,GAAC95N,CAAC,CAACogL,CAAD,CAA1D;;AAA+D,aAAI,IAAI85C,CAAC,GAAC7vP,CAAC,CAAC3M,GAAF,CAAM,UAASmhC,CAAT,EAAW;AAAC,iBAAO03C,CAAC,CAAC13C,CAAD,CAAR;AAAY,SAA9B,CAAN,EAAsCg9N,CAAC,GAAC3B,CAAC,CAACr8P,MAAF,CAAS,UAASghC,CAAT,EAAW;AAAC,iBAAOA,CAAC,KAAGi7N,CAAX;AAAa,SAAlC,EAAoCj5P,MAA5E,EAAmFihO,CAAC,GAACw3B,CAAC,CAACz7P,MAAF,CAAS,UAASghC,CAAT,EAAW;AAAC,iBAAOA,CAAC,KAAGi7N,CAAX;AAAa,SAAlC,EAAoCj5P,MAAzH,EAAgI21F,CAAC,GAACq7E,CAAC,CAAC1+B,MAAF,CAAS,CAAT,EAAW0+B,CAAC,CAACvlK,OAAF,CAAUwxB,CAAV,CAAX,EAAyB7qB,KAAzB,CAA+BwtB,CAA/B,EAAkC5iC,MAAlC,CAAyC,UAASghC,CAAT,EAAW8B,CAAX,EAAa;AAAC,iBAAO9B,CAAC,KAAGi7N,CAAJ,IAAO95N,CAAC,CAACW,CAAD,CAAD,KAAO9B,CAArB;AAAuB,SAA9E,EAAgFh+B,MAAlN,EAAyNg6M,CAAC,GAACrkH,CAAC,GAACsrI,CAAF,GAAI+5B,CAAJ,IAAO9/C,CAAC,GAAC,CAAD,GAAG,CAAX,CAA3N,EAAyO5C,CAAC,GAAC,CAA3O,EAA6O0gD,CAAC,GAAC,CAAnP,EAAqPA,CAAC,GAACN,CAAvP,EAAyPM,CAAC,EAA1P,EAA6P;AAAC,cAAIJ,CAAC,GAACljL,CAAC,CAACsjL,CAAD,CAAP;AAAW,cAAGv3F,CAAC,GAACu3F,CAAC,GAAC,CAAJ,EAAMJ,CAAC,KAAGK,CAAJ,IAAO3gD,CAAC,EAAd,EAAiBA,CAAC,IAAE0B,CAAvB,EAAyB;AAAM;AAAC;;AAAA,UAAGxkI,CAAH,EAAK;AAAC,aAAI,IAAIwkL,CAAC,GAACv4F,CAAN,EAAQs4F,CAAC,GAACt4F,CAAd,EAAgBs4F,CAAC,IAAE78N,CAAnB,EAAqB68N,CAAC,EAAtB,EAAyB,IAAG/oF,CAAC,CAAC+oF,CAAD,CAAD,KAAO98N,CAAP,KAAW+8N,CAAC,GAACD,CAAb,GAAgB/oF,CAAC,CAAC+oF,CAAD,CAAD,KAAO98N,CAAP,IAAU4C,CAAC,CAACp0B,OAAF,CAAUsuP,CAAV,MAAe,CAAC,CAA1B,IAA6BA,CAAC,KAAG78N,CAApD,EAAsD,OAAO88N,CAAP;AAAS,OAA9F,MAAmG,IAAG9+C,CAAH,EAAK;AAAC,aAAI,IAAI++C,CAAC,GAACx4F,CAAC,GAAC,CAAZ,EAAcw4F,CAAC,IAAE,CAAjB,EAAmBA,CAAC,EAApB,EAAuB,IAAGt8N,CAAC,CAACs8N,CAAD,CAAD,KAAOhB,CAAP,IAAUp5N,CAAC,CAACp0B,OAAF,CAAUwuP,CAAV,MAAe,CAAC,CAA1B,IAA6B,MAAIA,CAApC,EAAsC,OAAOA,CAAP;AAAS,OAA5E,MAAiF,KAAI,IAAIiB,CAAC,GAACz5F,CAAV,EAAYy5F,CAAC,IAAE,CAAf,EAAiBA,CAAC,EAAlB,EAAqB,IAAGlqF,CAAC,CAACkqF,CAAC,GAAC,CAAH,CAAD,KAASj+N,CAAT,IAAY4C,CAAC,CAACp0B,OAAF,CAAUyvP,CAAV,MAAe,CAAC,CAA5B,IAA+B,MAAIA,CAAtC,EAAwC,OAAOA,CAAP;AAAS;;AAAA1lO,IAAAA,MAAM,CAAC2iD,cAAP,CAAsBr4C,CAAtB,EAAwB,YAAxB,EAAqC;AAACv7B,MAAAA,KAAK,EAAC,CAAC;AAAR,KAArC,GAAiDu7B,CAAC,CAACw7E,OAAF,GAAUjoF,CAA3D;AAA6D,QAAIuK,CAAC,GAAC,EAAN;AAAA,QAASgC,CAAC,GAAC,EAAX;AAAc,GAAppE,EAAqpE,UAAS5B,CAAT,EAAW8B,CAAX,EAAazM,CAAb,EAAe;AAAC;;AAAa,aAASuK,CAAT,GAAY;AAAC,UAAII,CAAC,GAACH,SAAS,CAAC79B,MAAV,GAAiB,CAAjB,IAAoB,KAAK,CAAL,KAAS69B,SAAS,CAAC,CAAD,CAAtC,GAA0CA,SAAS,CAAC,CAAD,CAAnD,GAAuD0hL,CAA7D;AAAA,UAA+Dz/K,CAAC,GAACjC,SAAS,CAAC79B,MAAV,GAAiB,CAAjB,IAAoB,KAAK,CAAL,KAAS69B,SAAS,CAAC,CAAD,CAAtC,GAA0CA,SAAS,CAAC,CAAD,CAAnD,GAAuD1lB,CAAxH;AAAA,UAA0Hkb,CAAC,GAACwK,SAAS,CAAC79B,MAAV,GAAiB,CAAjB,IAAoB,KAAK,CAAL,KAAS69B,SAAS,CAAC,CAAD,CAAtC,GAA0CA,SAAS,CAAC,CAAD,CAAnD,GAAuD,EAAnL;;AAAsL,UAAG,CAAC,CAAC,GAAE7zB,CAAC,CAACyqG,OAAL,EAAc30E,CAAd,CAAJ,EAAqB;AAAC,YAAG,CAAC,eAAa,OAAOA,CAApB,GAAsB,WAAtB,GAAkCF,CAAC,CAACE,CAAD,CAApC,MAA2C21C,CAAC,CAACy8G,WAAhD,EAA4D,MAAM,IAAI1xI,KAAJ,CAAU,8DAAV,CAAN;AAAgF1gB,QAAAA,CAAC,GAACA,CAAC,CAAC9B,CAAD,EAAG3K,CAAH,CAAH,EAASyM,CAAC,GAAC,CAAC,GAAE91B,CAAC,CAACw0V,iBAAL,EAAwB1+T,CAAxB,EAA2B2+T,qBAAtC;AAA4D;;AAAA,UAAI7gU,CAAC,GAACvK,CAAC,CAAC64K,KAAR;AAAA,UAAcvuK,CAAC,GAAC,KAAK,CAAL,KAASC,CAAT,IAAYA,CAA5B;AAAA,UAA8BuB,CAAC,GAAC9L,CAAC,CAAC4qU,sBAAlC;AAAA,UAAyDhhU,CAAC,GAAC,KAAK,CAAL,KAASkC,CAAT,GAAWogL,CAAX,GAAapgL,CAAxE;AAAA,UAA0E6xI,CAAC,GAAC39I,CAAC,CAAC84K,eAA9E;AAAA,UAA8F9uK,CAAC,GAAC,KAAK,CAAL,KAAS2zI,CAAT,GAAWv7F,CAAC,CAAC02H,eAAb,GAA6Bn7B,CAA7H;AAAA,UAA+HxnK,CAAC,GAAC6pB,CAAC,CAAC+lP,WAAnI;AAAA,UAA+InvG,CAAC,GAAC,KAAK,CAAL,KAASzgK,CAAT,GAAW,CAAC,GAAEQ,CAAC,CAAC00V,wBAAL,EAA+B5+T,CAA/B,EAAiCzC,CAAjC,CAAX,GAA+C7zB,CAAhM;AAAA,UAAkMq2B,CAAC,GAACxM,CAAC,CAAC8qU,oBAAtM;AAAA,UAA2N/+T,CAAC,GAAC/L,CAAC,CAAC+4K,iBAA/N;AAAA,UAAiP/sK,CAAC,GAAC1B,CAAC,KAAG,CAAC,CAAL,IAAQ,KAAK,CAAL,KAASV,CAApQ;AAAA,UAAsQC,CAAC,GAACc,CAAC,CAACh+B,MAA1Q;AAAA,UAAiR04P,CAAC,GAACz7N,CAAC,CAACj9B,MAArR;AAAA,UAA4Rq+B,CAAC,GAAC4rI,CAAC,CAACjqK,MAAhS;AAAA,UAAuSw1E,CAAC,GAAC11C,CAAC,CAAC9/B,MAA3S;AAAA,UAAkT8P,CAAC,GAACotB,CAAC,GAACw7N,CAAtT;AAAA,UAAwTU,CAAC,GAACtpP,CAAC,GAAC,CAA5T;AAAA,UAA8T4pP,CAAC,GAAC75N,CAAC,IAAEu5N,CAAC,GAAC,CAACtpP,CAAF,GAAI,CAAP,CAAjU;AAAA,UAA2U2xJ,CAAC,GAACi4F,CAAC,GAACnqM,IAAI,CAAC+4E,GAAL,CAASx4H,CAAT,CAA/U;;AAA2V,UAAGsvB,CAAC,KAAG,CAAC,CAAL,IAAQ,CAACg6N,CAAZ,EAAc;AAAC,aAAI,IAAIl+C,CAAC,GAACqE,CAAN,EAAQ05C,CAAC,GAACS,CAAd,EAAgBT,CAAC,GAACx3F,CAAlB,EAAoBw3F,CAAC,EAArB,EAAwBhvF,CAAC,CAACgvF,CAAD,CAAD,KAAO57N,CAAP,KAAW69K,CAAC,IAAE79K,CAAd;;AAAiBW,QAAAA,CAAC,GAACA,CAAC,CAAC+tE,KAAF,CAAQ,CAAR,EAAU2tJ,CAAV,IAAax+C,CAAb,GAAel9K,CAAC,CAAC+tE,KAAF,CAAQ2tJ,CAAR,EAAUx8N,CAAV,CAAjB;AAA8B;;AAAA,WAAI,IAAIw4C,CAAC,GAAC13C,CAAC,CAAC5rB,KAAF,CAAQmtM,CAAR,EAAW1iN,GAAX,CAAe,UAASmhC,CAAT,EAAW8B,CAAX,EAAa;AAAC,eAAM;AAAC6+T,UAAAA,IAAI,EAAC3gU,CAAN;AAAQ4gU,UAAAA,KAAK,EAAC9+T,CAAC,IAAE45N,CAAH,IAAM55N,CAAC,GAAC2hI;AAAtB,SAAN;AAA+B,OAA5D,CAAN,EAAoE3iI,CAAC,GAAC5B,CAAC,GAAC,CAA5E,EAA8E4B,CAAC,IAAE,CAAjF,EAAmFA,CAAC,EAApF,EAAuF;AAAC,YAAIg7N,CAAC,GAACpkL,CAAC,CAAC52C,CAAD,CAAD,CAAK6/T,IAAX;;AAAgB,YAAG7kG,CAAC,KAAGz8N,CAAP,EAAS;AAAC,cAAIo7N,CAAC,GAAC35N,CAAC,IAAE46N,CAAH,IAAMhB,CAAC,KAAGljL,CAAhB;AAAkBskL,UAAAA,CAAC,KAAG7vF,CAAC,CAACwuF,CAAC,GAAC35N,CAAC,GAAChvB,CAAH,GAAKgvB,CAAP,CAAL,IAAgB42C,CAAC,CAAC8gD,MAAF,CAAS13F,CAAT,EAAW,CAAX,CAAhB;AAA8B;AAAC;;AAAA,UAAI+6N,CAAC,GAACt6C,CAAN;AAAA,UAAQ2hB,CAAC,GAAC,CAAC,CAAX;;AAAaljM,MAAAA,CAAC,EAAC,KAAI,IAAI47N,CAAC,GAAC,CAAV,EAAYA,CAAC,GAACv7N,CAAd,EAAgBu7N,CAAC,EAAjB,EAAoB;AAAC,YAAIL,CAAC,GAACtvF,CAAC,CAAC2vF,CAAD,CAAP;;AAAW,YAAGL,CAAC,KAAGl8N,CAAP,EAAS;AAAC,cAAGq4C,CAAC,CAAC11E,MAAF,GAAS,CAAZ,EAAc,OAAK01E,CAAC,CAAC11E,MAAF,GAAS,CAAd,GAAiB;AAAC,gBAAIq5P,CAAC,GAAC3jL,CAAC,CAAClE,KAAF,EAAN;AAAA,gBAAgBwpL,CAAC,GAAC3B,CAAC,CAACslG,IAApB;AAAA,gBAAyB19H,CAAC,GAACo4B,CAAC,CAACulG,KAA7B;;AAAmC,gBAAG5jG,CAAC,KAAG39N,CAAJ,IAAOgC,CAAC,KAAG,CAAC,CAAf,EAAiB;AAACw6N,cAAAA,CAAC,IAAEx8N,CAAH;AAAK,uBAASW,CAAT;AAAW;;AAAA,gBAAG8B,CAAC,CAAC85N,CAAD,CAAD,CAAKlxO,IAAL,CAAUsyO,CAAV,CAAH,EAAgB;AAAC,kBAAG57N,CAAC,KAAG,CAAC,CAAL,IAAQ6hM,CAAC,KAAG,CAAC,CAAb,IAAgBhkM,CAAC,KAAGsiL,CAApB,IAAuB5hL,CAAC,KAAG,CAAC,CAA5B,IAA+By7N,CAAlC,EAAoC;AAAC,qBAAI,IAAIzjK,CAAC,GAACjgB,CAAC,CAAC11E,MAAR,EAAeg6M,CAAC,GAAC,IAAjB,EAAsB1B,CAAC,GAAC,CAA5B,EAA8BA,CAAC,GAAC3iH,CAAhC,EAAkC2iH,CAAC,EAAnC,EAAsC;AAAC,sBAAI0gD,CAAC,GAACtjL,CAAC,CAAC4iI,CAAD,CAAP;AAAW,sBAAG0gD,CAAC,CAAC2lG,IAAF,KAASthU,CAAT,IAAY27N,CAAC,CAAC4lG,KAAF,KAAU,CAAC,CAA1B,EAA4B;;AAAM,sBAAG5lG,CAAC,CAAC2lG,IAAF,KAASthU,CAAZ,EAAc;AAAC28K,oBAAAA,CAAC,GAAC1B,CAAF;AAAI;AAAM;AAAC;;AAAA,yBAAO0B,CAAP,IAAU6/C,CAAC,IAAEmB,CAAH,EAAKtlL,CAAC,CAAC8gD,MAAF,CAASwjF,CAAT,EAAW,CAAX,CAAf,IAA8B4/C,CAAC,EAA/B;AAAkC,eAArL,MAA0LC,CAAC,IAAEmB,CAAH;;AAAK,uBAASh9N,CAAT;AAAW;;AAAAkjM,YAAAA,CAAC,GAAC,CAAC,CAAH;AAAK;AAAA7hM,UAAAA,CAAC,KAAG,CAAC,CAAL,KAASw6N,CAAC,IAAE5vF,CAAC,CAAC33B,MAAF,CAASsnH,CAAT,EAAWv7N,CAAX,CAAZ;AAA2B;AAAM;;AAAAw7N,QAAAA,CAAC,IAAEN,CAAH;AAAK;;AAAA,UAAGl6N,CAAC,IAAE+5N,CAAC,KAAG,CAAC,CAAX,EAAa;AAAC,aAAI,IAAIR,CAAC,GAAC,IAAN,EAAWoB,CAAC,GAAC,CAAjB,EAAmBA,CAAC,GAACH,CAAC,CAAC75P,MAAvB,EAA8Bg6P,CAAC,EAA/B,EAAkC/vF,CAAC,CAAC+vF,CAAD,CAAD,KAAO38N,CAAP,KAAWu7N,CAAC,GAACoB,CAAb;;AAAgBH,QAAAA,CAAC,GAAC,SAAOjB,CAAP,GAASiB,CAAC,CAACvnH,MAAF,CAAS,CAAT,EAAWsmH,CAAC,GAAC,CAAb,CAAT,GAAyBr5C,CAA3B;AAA6B;;AAAA,aAAM;AAAC6+I,QAAAA,cAAc,EAACvkG,CAAhB;AAAkB1mL,QAAAA,IAAI,EAAC;AAAC0rR,UAAAA,iBAAiB,EAAC39H;AAAnB;AAAvB,OAAN;AAAoD;;AAAA1rM,IAAAA,MAAM,CAAC2iD,cAAP,CAAsBr4C,CAAtB,EAAwB,YAAxB,EAAqC;AAACv7B,MAAAA,KAAK,EAAC,CAAC;AAAR,KAArC;AAAiD,QAAIq7B,CAAC,GAAC,cAAY,OAAOL,MAAnB,IAA2B,YAAU,OAAOA,MAAM,CAACC,QAAnD,GAA4D,UAASxB,CAAT,EAAW;AAAC,aAAO,OAAOA,CAAd;AAAgB,KAAxF,GAAyF,UAASA,CAAT,EAAW;AAAC,aAAOA,CAAC,IAAE,cAAY,OAAOuB,MAAtB,IAA8BvB,CAAC,CAAClrC,WAAF,KAAgBysC,MAA9C,IAAsDvB,CAAC,KAAGuB,MAAM,CAACjC,SAAjE,GAA2E,QAA3E,GAAoF,OAAOU,CAAlG;AAAoG,KAA/M;AAAgN8B,IAAAA,CAAC,CAACw7E,OAAF,GAAU19E,CAAV;AAAY,QAAI5zB,CAAC,GAACqpB,CAAC,CAAC,CAAD,CAAP;AAAA,QAAWoiD,CAAC,GAACpiD,CAAC,CAAC,CAAD,CAAd;AAAA,QAAkBlb,CAAC,GAAC,EAApB;AAAA,QAAuBonM,CAAC,GAAC,EAAzB;AAA4B,GAArgI,EAAsgI,UAASvhL,CAAT,EAAW8B,CAAX,EAAazM,CAAb,EAAe;AAAC;;AAAa,aAASuK,CAAT,GAAY;AAAC,UAAII,CAAC,GAACH,SAAS,CAAC79B,MAAV,GAAiB,CAAjB,IAAoB,KAAK,CAAL,KAAS69B,SAAS,CAAC,CAAD,CAAtC,GAA0CA,SAAS,CAAC,CAAD,CAAnD,GAAuDsB,CAA7D;AAAA,UAA+DW,CAAC,GAACjC,SAAS,CAAC79B,MAAV,GAAiB,CAAjB,IAAoB,KAAK,CAAL,KAAS69B,SAAS,CAAC,CAAD,CAAtC,GAA0CA,SAAS,CAAC,CAAD,CAAnD,GAAuDF,CAAC,CAACwuK,eAA1H;AAA0I,UAAG,CAACvsK,CAAC,CAAC5B,CAAD,CAAL,EAAS,MAAM,IAAIwiB,KAAJ,CAAU,yEAAV,CAAN;AAA2F,UAAGxiB,CAAC,CAACvyB,OAAF,CAAUq0B,CAAV,MAAe,CAAC,CAAnB,EAAqB,MAAM,IAAI0gB,KAAJ,CAAU,gKAA8J,qDAAmDtuC,IAAI,CAACI,SAAL,CAAewtB,CAAf,CAAnD,GAAqE,MAAnO,KAA4O,oCAAkC5tB,IAAI,CAACI,SAAL,CAAe0rB,CAAf,CAA9Q,CAAV,CAAN;AAAkT,aAAOA,CAAC,CAACnhC,GAAF,CAAM,UAASmhC,CAAT,EAAW;AAAC,eAAOA,CAAC,YAAYvV,MAAb,GAAoBqX,CAApB,GAAsB9B,CAA7B;AAA+B,OAAjD,EAAmD59B,IAAnD,CAAwD,EAAxD,CAAP;AAAmE;;AAAA,aAASw/B,CAAT,CAAW5B,CAAX,EAAa;AAAC,aAAOxF,KAAK,CAACi8E,OAAN,IAAej8E,KAAK,CAACi8E,OAAN,CAAcz2E,CAAd,CAAf,IAAiCA,CAAC,YAAYxF,KAArD;AAA2D;;AAAA,aAASxuB,CAAT,CAAWg0B,CAAX,EAAa;AAAC,aAAM,YAAU,OAAOA,CAAjB,IAAoBA,CAAC,YAAY+0B,MAAvC;AAA8C;;AAAA,aAAS0iB,CAAT,CAAWz3C,CAAX,EAAa;AAAC,aAAM,YAAU,OAAOA,CAAjB,IAAoB,KAAK,CAAL,KAASA,CAAC,CAACh+B,MAA/B,IAAuC,CAAC+mB,KAAK,CAACiX,CAAD,CAAnD;AAAuD;;AAAA,aAAS7lB,CAAT,CAAW6lB,CAAX,EAAa;AAAC,aAAM,eAAa,OAAOA,CAApB,IAAuB,SAAOA,CAApC;AAAsC;;AAAA,aAASuhL,CAAT,CAAWvhL,CAAX,EAAa;AAAC,WAAI,IAAI8B,CAAC,GAAC,EAAN,EAASzM,CAAC,GAAC,KAAK,CAApB,EAAsBA,CAAC,GAAC2K,CAAC,CAACvyB,OAAF,CAAUwxB,CAAV,CAAF,EAAe5J,CAAC,KAAG,CAAC,CAA1C,GAA6CyM,CAAC,CAACxG,IAAF,CAAOjG,CAAP,GAAU2K,CAAC,CAACw4F,MAAF,CAASnjG,CAAT,EAAW,CAAX,CAAV;;AAAwB,aAAM;AAACorU,QAAAA,qBAAqB,EAACzgU,CAAvB;AAAyB8gU,QAAAA,OAAO,EAACh/T;AAAjC,OAAN;AAA0C;;AAAAtK,IAAAA,MAAM,CAAC2iD,cAAP,CAAsBr4C,CAAtB,EAAwB,YAAxB,EAAqC;AAACv7B,MAAAA,KAAK,EAAC,CAAC;AAAR,KAArC,GAAiDu7B,CAAC,CAAC4+T,wBAAF,GAA2B9gU,CAA5E,EAA8EkC,CAAC,CAAC20E,OAAF,GAAU70E,CAAxF,EAA0FE,CAAC,CAACghF,QAAF,GAAW92G,CAArG,EAAuG81B,CAAC,CAACmzF,QAAF,GAAWx9C,CAAlH,EAAoH31C,CAAC,CAACi/T,KAAF,GAAQ5mV,CAA5H,EAA8H2nB,CAAC,CAAC0+T,iBAAF,GAAoBj/I,CAAlJ;AAAoJ,QAAI5hL,CAAC,GAACtK,CAAC,CAAC,CAAD,CAAP;AAAA,QAAW8L,CAAC,GAAC,EAAb;AAAA,QAAgBlC,CAAC,GAAC,IAAlB;AAAuB,GAA9sK,EAA+sK,UAASe,CAAT,EAAW8B,CAAX,EAAazM,CAAb,EAAe;AAAC;;AAAa,aAASuK,CAAT,CAAWI,CAAX,EAAa;AAAC,aAAOA,CAAC,IAAEA,CAAC,CAACquJ,UAAL,GAAgBruJ,CAAhB,GAAkB;AAACs9E,QAAAA,OAAO,EAACt9E;AAAT,OAAzB;AAAqC;;AAAA,aAAS4B,CAAT,CAAW5B,CAAX,EAAa;AAAC,UAAI8B,CAAC,GAAC;AAACm+T,QAAAA,sBAAsB,EAAC,KAAK,CAA7B;AAA+BC,QAAAA,mBAAmB,EAAC,KAAK;AAAxD,OAAN;AAAiE,aAAM;AAACpvV,QAAAA,KAAK,EAACgxB,CAAP;AAASqxH,QAAAA,MAAM,EAAC,UAAS99H,CAAT,EAAW;AAAC,cAAIuK,CAAC,GAACC,SAAS,CAAC79B,MAAV,GAAiB,CAAjB,IAAoB,KAAK,CAAL,KAAS69B,SAAS,CAAC,CAAD,CAAtC,GAA0CA,SAAS,CAAC,CAAD,CAAnD,GAAuDG,CAA7D;AAAA,cAA+D4B,CAAC,GAAChC,CAAC,CAACgvK,YAAnE;AAAA,cAAgFjvK,CAAC,GAACC,CAAC,CAACquK,IAApF;AAAA,cAAyFhvK,CAAC,GAACW,CAAC,CAACsuK,KAA7F;AAAA,cAAmGrsK,CAAC,GAACjC,CAAC,CAAC7pC,IAAvG;AAAA,cAA4GsrC,CAAC,GAACzB,CAAC,CAACuuK,eAAhH;AAAA,cAAgIjvK,CAAC,GAAC,KAAK,CAAL,KAASmC,CAAT,GAAW71B,CAAC,CAAC2iM,eAAb,GAA6B9sK,CAA/J;AAAA,cAAiKq5N,CAAC,GAAC96N,CAAC,CAACwuK,iBAArK;AAAA,cAAuL/tK,CAAC,GAAC,KAAK,CAAL,KAASq6N,CAAT,IAAYA,CAArM;AAAA,cAAuMljL,CAAC,GAAC53C,CAAC,CAACohU,QAA3M;AAAA,cAAoNlvV,CAAC,GAAC,KAAK,CAAL,KAAS0lE,CAAT,IAAYA,CAAlO;;AAAoO,cAAG,eAAa,OAAOniD,CAApB,KAAwBA,CAAC,GAACuM,CAAC,CAACr7B,KAA5B,GAAmC8uB,CAAC,KAAGyM,CAAC,CAACm+T,sBAA5C,EAAmE;AAAC,aAAC,eAAa,OAAOtgU,CAApB,GAAsB,WAAtB,GAAkC4hL,CAAC,CAAC5hL,CAAD,CAApC,MAA2CyB,CAA3C,IAA8C,KAAK,CAAL,KAASzB,CAAC,CAAC5pC,IAAzD,IAA+D,KAAK,CAAL,KAAS4pC,CAAC,CAACsuK,IAA1E,KAAiFpsK,CAAC,GAAClC,CAAC,CAAC5pC,IAAJ,EAAS4pC,CAAC,GAACA,CAAC,CAACsuK,IAA9F;AAAoG,gBAAImtD,CAAC,GAAC,KAAK,CAAX;AAAA,gBAAaM,CAAC,GAAC,KAAK,CAApB;;AAAsB,gBAAG/7N,CAAC,YAAYnF,KAAb,KAAqB4gO,CAAC,GAAC,CAAC,GAAE/7N,CAAC,CAACqhU,wBAAL,EAA+B/gU,CAA/B,EAAiCT,CAAjC,CAAvB,GAA4DS,CAAC,KAAG,CAAC,CAApE,EAAsE;AAAC,kBAAI8jI,CAAC,GAAChsF,CAAC,CAACpiD,CAAD,CAAP;AAAA,kBAAW6nL,CAAC,GAACt7K,CAAC,CAACq/T,YAAf;AAAA,kBAA4BhmG,CAAC,GAACn5N,CAAC,CAACm+T,sBAAhC;AAAA,kBAAuDvoR,CAAC,GAAC51C,CAAC,CAACo+T,mBAA3D;AAAA,kBAA+Ep/T,CAAC,GAAC,KAAK,CAAtF;;AAAwF,kBAAG,CAAC,eAAa,OAAOnB,CAApB,GAAsB,WAAtB,GAAkC4hL,CAAC,CAAC5hL,CAAD,CAApC,MAA2Cn0B,CAAC,CAAC0oL,WAAhD,EAA4D;AAAC,oBAAGwnE,CAAC,GAAC/7N,CAAC,CAAC8jI,CAAD,EAAG;AAAC08L,kBAAAA,oBAAoB,EAACjjJ,CAAtB;AAAwB+iJ,kBAAAA,sBAAsB,EAAChlG,CAA/C;AAAiD9sD,kBAAAA,eAAe,EAACjvK;AAAjE,iBAAH,CAAH,EAA2Ew8N,CAAC,KAAG,CAAC,CAAnF,EAAqF;AAAO,oBAAII,CAAC,GAAC,CAAC,GAAEz8N,CAAC,CAACmhU,iBAAL,EAAwB9kG,CAAxB,CAAN;AAAA,oBAAiCjB,CAAC,GAACqB,CAAC,CAAC2kG,qBAArC;AAAA,oBAA2D5kG,CAAC,GAACC,CAAC,CAACglG,OAA/D;AAAuEplG,gBAAAA,CAAC,GAACjB,CAAF,EAAI35N,CAAC,GAAC+6N,CAAN,EAAQT,CAAC,GAAC,CAAC,GAAE/7N,CAAC,CAACqhU,wBAAL,EAA+BhlG,CAA/B,EAAiCx8N,CAAjC,CAAV;AAA8C,eAA9Q,MAAmRw8N,CAAC,GAAC/7N,CAAF;;AAAI,kBAAIujM,CAAC,GAAC;AAAC+8H,gBAAAA,sBAAsB,EAAChlG,CAAxB;AAA0B/sD,gBAAAA,KAAK,EAACjvK,CAAhC;AAAkCkvK,gBAAAA,eAAe,EAACjvK,CAAlD;AAAoDnpC,gBAAAA,IAAI,EAAC8rC,CAAzD;AAA2Du5O,gBAAAA,WAAW,EAAChgB,CAAvE;AAAyE+kG,gBAAAA,oBAAoB,EAACjjJ,CAA9F;AAAgG9O,gBAAAA,iBAAiB,EAAC/tK;AAAlH,eAAN;AAAA,kBAA2Hu7N,CAAC,GAAC,CAAC,GAAE5oF,CAAC,CAAC11D,OAAL,EAAcmmD,CAAd,EAAgBi4F,CAAhB,EAAkBx4B,CAAlB,CAA7H;AAAA,kBAAkJq4B,CAAC,GAACK,CAAC,CAACwkG,cAAtJ;AAAA,kBAAqK/kG,CAAC,GAAC,CAAC,eAAa,OAAOx5N,CAApB,GAAsB,WAAtB,GAAkC0/K,CAAC,CAAC1/K,CAAD,CAApC,MAA2Cr2B,CAAC,CAAC0oL,WAApN;AAAA,kBAAgO8oE,CAAC,GAAC,EAAlO;AAAqO3B,cAAAA,CAAC,KAAG2B,CAAC,GAACn7N,CAAC,CAAC05N,CAAD,EAAGphP,CAAC,CAAC;AAACkmV,gBAAAA,QAAQ,EAAC58L;AAAV,eAAD,EAAcy/D,CAAd,CAAJ,CAAH,EAAyB85B,CAAC,KAAG,CAAC,CAAL,GAAOA,CAAC,GAAC;AAACz2P,gBAAAA,KAAK,EAAC00P,CAAP;AAASt6N,gBAAAA,QAAQ,EAAC,CAAC;AAAnB,eAAT,GAA+B,CAAC,GAAEtB,CAAC,CAACyjF,QAAL,EAAek6I,CAAf,MAAoBA,CAAC,GAAC;AAACz2P,gBAAAA,KAAK,EAACy2P;AAAP,eAAtB,CAA3D,CAAD;AAA8F,kBAAI/5B,CAAC,GAACo4B,CAAC,GAAC2B,CAAC,CAACz2P,KAAH,GAASg1P,CAAhB;AAAA,kBAAkB5jK,CAAC,GAAC,CAAC,GAAEx2D,CAAC,CAACm8E,OAAL,EAAc;AAAC2iP,gBAAAA,sBAAsB,EAAChlG,CAAxB;AAA0BilG,gBAAAA,mBAAmB,EAACxoR,CAA9C;AAAgD0oR,gBAAAA,cAAc,EAACn9H,CAA/D;AAAiEm4C,gBAAAA,WAAW,EAAChgB,CAA7E;AAA+EilG,gBAAAA,QAAQ,EAAC58L,CAAxF;AAA0F08L,gBAAAA,oBAAoB,EAACjjJ,CAA/G;AAAiH/O,gBAAAA,eAAe,EAACjvK,CAAjI;AAAmIohU,gBAAAA,mBAAmB,EAACtjG,CAAC,CAACsjG,mBAAzJ;AAA6KC,gBAAAA,gBAAgB,EAACz/T;AAA9L,eAAd,CAApB;AAAA,kBAAoOk7K,CAAC,GAACinB,CAAC,KAAGm4B,CAAJ,IAAO,MAAIzjK,CAAjP;AAAA,kBAAmP2iH,CAAC,GAACxoM,CAAC,GAACspP,CAAD,GAAGnvF,CAAzP;AAAA,kBAA2P+uF,CAAC,GAACh/C,CAAC,GAAC1B,CAAD,GAAG2oB,CAAjQ;AAAmQnhM,cAAAA,CAAC,CAACm+T,sBAAF,GAAyBjlG,CAAzB,EAA2Bl5N,CAAC,CAACo+T,mBAAF,GAAsB9kG,CAAjD,EAAmDx5N,CAAC,CAACr7B,KAAF,KAAUy0P,CAAV,KAAcp5N,CAAC,CAACr7B,KAAF,GAAQy0P,CAAR,EAAUhvP,CAAC,CAAC41B,CAAD,EAAG+1D,CAAH,CAAzB,CAAnD;AAAmF;AAAC;AAAC;AAA/gD,OAAN;AAAuhD;;AAAA,aAAS3rF,CAAT,CAAWg0B,CAAX,EAAa8B,CAAb,EAAe;AAAC/K,MAAAA,QAAQ,CAACohQ,aAAT,KAAyBn4P,CAAzB,KAA6BqB,CAAC,GAACnC,CAAC,CAAC,YAAU;AAAC,eAAOc,CAAC,CAACkhU,iBAAF,CAAoBp/T,CAApB,EAAsBA,CAAtB,EAAwBD,CAAxB,CAAP;AAAkC,OAA9C,EAA+C,CAA/C,CAAF,GAAoD7B,CAAC,CAACkhU,iBAAF,CAAoBp/T,CAApB,EAAsBA,CAAtB,EAAwBD,CAAxB,CAAlF;AAA8G;;AAAA,aAAS41C,CAAT,CAAWz3C,CAAX,EAAa;AAAC,UAAG,CAAC,GAAEX,CAAC,CAACyjF,QAAL,EAAe9iF,CAAf,CAAH,EAAqB,OAAOA,CAAP;AAAS,UAAG,CAAC,GAAEX,CAAC,CAAC41F,QAAL,EAAej1F,CAAf,CAAH,EAAqB,OAAO+0B,MAAM,CAAC/0B,CAAD,CAAb;AAAiB,UAAG,KAAK,CAAL,KAASA,CAAT,IAAY,SAAOA,CAAtB,EAAwB,OAAOisI,CAAP;AAAS,YAAM,IAAIzpH,KAAJ,CAAU,qGAAmGtuC,IAAI,CAACI,SAAL,CAAe0rB,CAAf,CAA7G,CAAN;AAAsI;;AAAAxI,IAAAA,MAAM,CAAC2iD,cAAP,CAAsBr4C,CAAtB,EAAwB,YAAxB,EAAqC;AAACv7B,MAAAA,KAAK,EAAC,CAAC;AAAR,KAArC;;AAAiD,QAAI4T,CAAC,GAACqd,MAAM,CAACC,MAAP,IAAe,UAASuI,CAAT,EAAW;AAAC,WAAI,IAAI8B,CAAC,GAAC,CAAV,EAAYA,CAAC,GAACjC,SAAS,CAAC79B,MAAxB,EAA+B8/B,CAAC,EAAhC,EAAmC;AAAC,YAAIzM,CAAC,GAACwK,SAAS,CAACiC,CAAD,CAAf;;AAAmB,aAAI,IAAIlC,CAAR,IAAavK,CAAb,EAAemC,MAAM,CAAC8H,SAAP,CAAiBC,cAAjB,CAAgCf,IAAhC,CAAqCnJ,CAArC,EAAuCuK,CAAvC,MAA4CI,CAAC,CAACJ,CAAD,CAAD,GAAKvK,CAAC,CAACuK,CAAD,CAAlD;AAAuD;;AAAA,aAAOI,CAAP;AAAS,KAAvK;AAAA,QAAwKuhL,CAAC,GAAC,cAAY,OAAOhgL,MAAnB,IAA2B,YAAU,OAAOA,MAAM,CAACC,QAAnD,GAA4D,UAASxB,CAAT,EAAW;AAAC,aAAO,OAAOA,CAAd;AAAgB,KAAxF,GAAyF,UAASA,CAAT,EAAW;AAAC,aAAOA,CAAC,IAAE,cAAY,OAAOuB,MAAtB,IAA8BvB,CAAC,CAAClrC,WAAF,KAAgBysC,MAA9C,IAAsDvB,CAAC,KAAGuB,MAAM,CAACjC,SAAjE,GAA2E,QAA3E,GAAoF,OAAOU,CAAlG;AAAoG,KAAnX;;AAAoX8B,IAAAA,CAAC,CAACw7E,OAAF,GAAU17E,CAAV;AAAY,QAAIjC,CAAC,GAACtK,CAAC,CAAC,CAAD,CAAP;AAAA,QAAW8L,CAAC,GAACvB,CAAC,CAACD,CAAD,CAAd;AAAA,QAAkBV,CAAC,GAAC5J,CAAC,CAAC,CAAD,CAArB;AAAA,QAAyB29I,CAAC,GAACpzI,CAAC,CAACX,CAAD,CAA5B;AAAA,QAAgCI,CAAC,GAAChK,CAAC,CAAC,CAAD,CAAnC;AAAA,QAAuC7pB,CAAC,GAAC6pB,CAAC,CAAC,CAAD,CAA1C;AAAA,QAA8C42I,CAAC,GAAC,EAAhD;AAAA,QAAmDpqI,CAAC,GAAC,MAArD;AAAA,QAA4DT,CAAC,GAAC,QAA9D;AAAA,QAAuEC,CAAC,GAAC,eAAa,OAAOqwC,SAApB,IAA+B,WAAWhnD,IAAX,CAAgBgnD,SAAS,CAACqF,SAA1B,CAAxG;AAAA,QAA6I73C,CAAC,GAAC,eAAa,OAAOw9T,qBAApB,GAA0CA,qBAA1C,GAAgEnoV,UAA/M;AAA0N,GAAv4P,CAAtM,CAAP;AAAulQ,CAAnzQ,CAAD;;;;;;;;;;ACAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACnSA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM4sV,gBAAN,CAAuB;AAEvB;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,MAAMC,gBAAN,CAAuB;AAGvB;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;AACA;AACA;;;AACA,MAAMC,UAAU,GAAG,GAAnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,SAASC,OAAT,CAAiBz7V,IAAjB,EAAuB07V,WAAvB,EAAoC;AAChC,SAAO;AAAEj1V,IAAAA,IAAI,EAAE;AAAE;AAAV;AAAyBzG,IAAAA,IAAzB;AAA+B07V,IAAAA,WAA/B;AAA4Cx+U,IAAAA,OAAO,EAAE;AAArD,GAAP;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASy+U,OAAT,CAAiBC,OAAjB,EAA0B55G,MAAM,GAAG,IAAnC,EAAyC;AACrC,SAAO;AAAEv7O,IAAAA,IAAI,EAAE;AAAE;AAAV;AAAyBu7O,IAAAA,MAAzB;AAAiC45G,IAAAA;AAAjC,GAAP;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAAS7vD,KAAT,CAAe8vD,KAAf,EAAsB3+U,OAAO,GAAG,IAAhC,EAAsC;AAClC,SAAO;AAAEzW,IAAAA,IAAI,EAAE;AAAE;AAAV;AAAuBo1V,IAAAA,KAAvB;AAA8B3+U,IAAAA;AAA9B,GAAP;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAAS+kT,QAAT,CAAkB45B,KAAlB,EAAyB3+U,OAAO,GAAG,IAAnC,EAAyC;AACrC,SAAO;AAAEzW,IAAAA,IAAI,EAAE;AAAE;AAAV;AAA0Bo1V,IAAAA,KAA1B;AAAiC3+U,IAAAA;AAAjC,GAAP;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAAS6tD,KAAT,CAAes2G,MAAf,EAAuB;AACnB,SAAO;AAAE56K,IAAAA,IAAI,EAAE;AAAE;AAAV;AAAuBu7O,IAAAA,MAAM,EAAE3gE,MAA/B;AAAuCx0E,IAAAA,MAAM,EAAE;AAA/C,GAAP;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAAS5hG,KAAT,CAAejL,IAAf,EAAqBgiP,MAArB,EAA6B9kO,OAA7B,EAAsC;AAClC,SAAO;AAAEzW,IAAAA,IAAI,EAAE;AAAE;AAAV;AAAuBzG,IAAAA,IAAvB;AAA6BgiP,IAAAA,MAA7B;AAAqC9kO,IAAAA;AAArC,GAAP;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAAS4+U,SAAT,CAAmBD,KAAnB,EAA0B;AACtB,SAAO;AAAEp1V,IAAAA,IAAI,EAAE;AAAE;AAAV;AAA2Bo1V,IAAAA;AAA3B,GAAP;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASE,UAAT,CAAoBC,eAApB,EAAqCH,KAArC,EAA4C3+U,OAAO,GAAG,IAAtD,EAA4D;AACxD,SAAO;AAAEzW,IAAAA,IAAI,EAAE;AAAE;AAAV;AAA4B+wC,IAAAA,IAAI,EAAEwkT,eAAlC;AAAmDC,IAAAA,SAAS,EAAEJ,KAA9D;AAAqE3+U,IAAAA;AAArE,GAAP;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAAS++U,SAAT,CAAmBJ,KAAnB,EAA0B3+U,OAAO,GAAG,IAApC,EAA0C;AACtC,SAAO;AAAEzW,IAAAA,IAAI,EAAE;AAAE;AAAV;AAA2Bw1V,IAAAA,SAAS,EAAEJ,KAAtC;AAA6C3+U,IAAAA;AAA7C,GAAP;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASg/U,YAAT,CAAsBh/U,OAAO,GAAG,IAAhC,EAAsC;AAClC,SAAO;AAAEzW,IAAAA,IAAI,EAAE;AAAE;AAAV;AAA8ByW,IAAAA;AAA9B,GAAP;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASi/U,YAAT,CAAsBF,SAAtB,EAAiC/+U,OAAO,GAAG,IAA3C,EAAiD;AAC7C,SAAO;AAAEzW,IAAAA,IAAI,EAAE;AAAG;AAAX;AAA6Bw1V,IAAAA,SAA7B;AAAwC/+U,IAAAA;AAAxC,GAAP;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAAShX,KAAT,CAAe2oV,QAAf,EAAyBoN,SAAzB,EAAoC/+U,OAAO,GAAG,IAA9C,EAAoD;AAChD,SAAO;AAAEzW,IAAAA,IAAI,EAAE;AAAG;AAAX;AAAwBooV,IAAAA,QAAxB;AAAkCoN,IAAAA,SAAlC;AAA6C/+U,IAAAA;AAA7C,GAAP;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AA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K89L,SAAL,GAAiBA,SAAjB;AACA,SAAKypM,OAAL,GAAeA,OAAf;AACA,SAAK30Y,KAAL,GAAaA,KAAb;AACA,SAAKoN,KAAL,GAAaA,KAAb;AACH;;AACQ,MAALkuN,KAAK,GAAG;AACR,WAAO,KAAKt7N,KAAL,KAAe,CAAtB;AACH;;AACO,MAAJggK,IAAI,GAAG;AACP,WAAO,KAAKhgK,KAAL,KAAe,KAAKoN,KAAL,GAAa,CAAnC;AACH;;AACO,MAAJsrX,IAAI,GAAG;AACP,WAAO,KAAK14X,KAAL,GAAa,CAAb,KAAmB,CAA1B;AACH;;AACM,MAAH24X,GAAG,GAAG;AACN,WAAO,CAAC,KAAKD,IAAb;AACH;;AAlBgB;AAoBrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;IACM7nL;AAAN,QAAMA,OAAN,CAAc;AACV5yP,IAAAA,WAAW,CAAC22b,cAAD,EAAiB/d,SAAjB,EAA4BC,QAA5B,EAAsC;AAC7C,WAAK8d,cAAL,GAAsBA,cAAtB;AACA,WAAK/d,SAAL,GAAiBA,SAAjB;AACA,WAAKC,QAAL,GAAgBA,QAAhB;AACA,WAAK+d,QAAL,GAAgB,IAAhB;AACA,WAAKC,aAAL,GAAqB,IAArB;AACA,WAAK1d,OAAL,GAAe,IAAf;AACH;AACD;AACJ;AACA;AACA;;;AACe,QAAPud,OAAO,CAACA,OAAD,EAAU;AACjB,WAAKE,QAAL,GAAgBF,OAAhB;AACA,WAAKG,aAAL,GAAqB,IAArB;AACH;AACD;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACoB,QAAZC,YAAY,CAACn6R,EAAD,EAAK;AACjB,UAAI,CAAC,OAAO/7H,SAAP,KAAqB,WAArB,IAAoCA,SAArC,KAAmD+7H,EAAE,IAAI,IAAzD,IAAiE,OAAOA,EAAP,KAAc,UAAnF,EAA+F;AAC3F;AACA,YAAIt6J,OAAO,IAAIA,OAAO,CAAC8wM,IAAvB,EAA6B;AACzB9wM,UAAAA,OAAO,CAAC8wM,IAAR,CAAc,4CAA2C/zL,IAAI,CAACI,SAAL,CAAem9I,EAAf,CAAmB,IAA/D,GACR,oFADL;AAEH;AACJ;;AACD,WAAKo6R,UAAL,GAAkBp6R,EAAlB;AACH;;AACe,QAAZm6R,YAAY,GAAG;AACf,aAAO,KAAKC,UAAZ;AACH;AACD;AACJ;AACA;AACA;;;AACqB,QAAbC,aAAa,CAACvlb,KAAD,EAAQ;AACrB;AACA;AACA;AACA,UAAIA,KAAJ,EAAW;AACP,aAAKmna,SAAL,GAAiBnna,KAAjB;AACH;AACJ;AACD;AACJ;AACA;AACA;;;AACI2zX,IAAAA,SAAS,GAAG;AACR,UAAI,KAAKyxD,aAAT,EAAwB;AACpB,aAAKA,aAAL,GAAqB,KAArB,CADoB,CAEpB;;AACA,cAAMplb,KAAK,GAAG,KAAKmlb,QAAnB;;AACA,YAAI,CAAC,KAAKzd,OAAN,IAAiB1na,KAArB,EAA4B;AACxB,cAAI,OAAOmvB,SAAP,KAAqB,WAArB,IAAoCA,SAAxC,EAAmD;AAC/C,gBAAI;AACA;AACA;AACA,mBAAKu4Y,OAAL,GAAe,KAAKN,QAAL,CAAc/9Z,IAAd,CAAmBrJ,KAAnB,EAA0B63B,MAA1B,CAAiC,KAAKwtZ,YAAtC,CAAf;AACH,aAJD,CAKA,MAAM;AACF,oBAAM,IAAIppY,KAAJ,CAAW,2CAA0Cj8C,KAAM,cAAawlb,WAAW,CAACxlb,KAAD,CAAQ,6DAA3F,CAAN;AACH;AACJ,WATD,MAUK;AACD;AACA;AACA,iBAAK0na,OAAL,GAAe,KAAKN,QAAL,CAAc/9Z,IAAd,CAAmBrJ,KAAnB,EAA0B63B,MAA1B,CAAiC,KAAKwtZ,YAAtC,CAAf;AACH;AACJ;AACJ;;AACD,UAAI,KAAK3d,OAAT,EAAkB;AACd,cAAMx/N,OAAO,GAAG,KAAKw/N,OAAL,CAAax3N,IAAb,CAAkB,KAAKi1O,QAAvB,CAAhB;;AACA,YAAIj9O,OAAJ,EACI,KAAKugO,aAAL,CAAmBvgO,OAAnB;AACP;AACJ;;AACDugO,IAAAA,aAAa,CAACvgO,OAAD,EAAU;AACnB,YAAMumM,aAAa,GAAG,KAAKy2C,cAA3B;AACAh9O,MAAAA,OAAO,CAAC82L,gBAAR,CAAyB,CAAC11X,IAAD,EAAO41X,qBAAP,EAA8Bn4X,YAA9B,KAA+C;AACpE,YAAIuC,IAAI,CAAC61X,aAAL,IAAsB,IAA1B,EAAgC;AAC5B;AACA;AACA;AACAsP,UAAAA,aAAa,CAACpP,kBAAd,CAAiC,KAAK8nC,SAAtC,EAAiD,IAAI6d,cAAJ,CAAmB17a,IAAI,CAACA,IAAxB,EAA8B,KAAK67a,QAAnC,EAA6C,CAAC,CAA9C,EAAiD,CAAC,CAAlD,CAAjD,EAAuGp+a,YAAY,KAAK,IAAjB,GAAwBo6B,SAAxB,GAAoCp6B,YAA3I;AACH,SALD,MAMK,IAAIA,YAAY,IAAI,IAApB,EAA0B;AAC3B0nY,UAAAA,aAAa,CAAC1/R,MAAd,CAAqBmwR,qBAAqB,KAAK,IAA1B,GAAiC/9V,SAAjC,GAA6C+9V,qBAAlE;AACH,SAFI,MAGA,IAAIA,qBAAqB,KAAK,IAA9B,EAAoC;AACrC,gBAAMt6L,IAAI,GAAG6pM,aAAa,CAACl/Y,GAAd,CAAkB2vY,qBAAlB,CAAb;AACAuP,UAAAA,aAAa,CAACvjH,IAAd,CAAmBtmF,IAAnB,EAAyB79L,YAAzB;AACA0+a,UAAAA,eAAe,CAAC7gP,IAAD,EAAOt7L,IAAP,CAAf;AACH;AACJ,OAfD;;AAgBA,WAAK,IAAI7D,CAAC,GAAG,CAAR,EAAWigb,IAAI,GAAGj3C,aAAa,CAAChzY,MAArC,EAA6CgK,CAAC,GAAGigb,IAAjD,EAAuDjgb,CAAC,EAAxD,EAA4D;AACxD,cAAM+oY,OAAO,GAAGC,aAAa,CAACl/Y,GAAd,CAAkBkW,CAAlB,CAAhB;AACA,cAAMrG,OAAO,GAAGovY,OAAO,CAACpvY,OAAxB;AACAA,QAAAA,OAAO,CAACkxC,KAAR,GAAgB7qC,CAAhB;AACArG,QAAAA,OAAO,CAACs+C,KAAR,GAAgBgoY,IAAhB;AACAtmb,QAAAA,OAAO,CAAC6lb,OAAR,GAAkB,KAAKE,QAAvB;AACH;;AACDj9O,MAAAA,OAAO,CAAC6gO,qBAAR,CAA+B9pC,MAAD,IAAY;AACtC,cAAMuP,OAAO,GAAGC,aAAa,CAACl/Y,GAAd,CAAkB0vY,MAAM,CAACl4X,YAAzB,CAAhB;AACA0+a,QAAAA,eAAe,CAACj3C,OAAD,EAAUvP,MAAV,CAAf;AACH,OAHD;AAIH;AACD;AACJ;AACA;AACA;AACA;AACA;;;AACiC,WAAtB0mD,sBAAsB,CAAC1+M,GAAD,EAAM1qO,GAAN,EAAW;AACpC,aAAO,IAAP;AACH;;AAnIS;;AAqId4kP,EAAAA,OAAO,CAACvyN,IAAR;AAAA,qBAAqGuyN,OAArG,EAzjGoGrwP,+DAyjGpG,CAA8HA,2DAA9H,GAzjGoGA,+DAyjGpG,CAA8JA,sDAA9J,GAzjGoGA,+DAyjGpG,CAAyLA,0DAAzL;AAAA;;AACAqwP,EAAAA,OAAO,CAAC33C,IAAR,kBA1jGoG14M,+DA0jGpG;AAAA,UAAyFqwP,OAAzF;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;SAtIMA;;;AAuIN;AAAA;AAAA;AAAA;;AAUA,SAASskM,eAAT,CAAyB7gP,IAAzB,EAA+Bq6L,MAA/B,EAAuC;AACnCr6L,EAAAA,IAAI,CAACxlM,OAAL,CAAao8O,SAAb,GAAyByjJ,MAAM,CAAC31X,IAAhC;AACH;;AACD,SAASk8a,WAAT,CAAqBz/a,IAArB,EAA2B;AACvB,SAAOA,IAAI,CAAC,MAAD,CAAJ,IAAgB,OAAOA,IAA9B;AACH;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;IACMm7O;AAAN,QAAMA,IAAN,CAAW;AACP3yP,IAAAA,WAAW,CAAC22b,cAAD,EAAiB5lD,WAAjB,EAA8B;AACrC,WAAK4lD,cAAL,GAAsBA,cAAtB;AACA,WAAKj4U,QAAL,GAAgB,IAAI24U,WAAJ,EAAhB;AACA,WAAKC,gBAAL,GAAwB,IAAxB;AACA,WAAKC,gBAAL,GAAwB,IAAxB;AACA,WAAKC,YAAL,GAAoB,IAApB;AACA,WAAKC,YAAL,GAAoB,IAApB;AACA,WAAKH,gBAAL,GAAwBvmD,WAAxB;AACH;AACD;AACJ;AACA;;;AACY,QAAJ2mD,IAAI,CAACh7F,SAAD,EAAY;AAChB,WAAKh+O,QAAL,CAAcuuI,SAAd,GAA0B,KAAKvuI,QAAL,CAAcg5U,IAAd,GAAqBh7F,SAA/C;;AACA,WAAKi7F,WAAL;AACH;AACD;AACJ;AACA;;;AACgB,QAARC,QAAQ,CAAC7mD,WAAD,EAAc;AACtB8mD,MAAAA,cA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AACH;;AACD,aAAOA,KAAK,CAACmxF,WAAN,EAAP;AACH;;AARe;;AAUpBq5V,EAAAA,aAAa,CAAC57Z,IAAd;AAAA,qBAA2G47Z,aAA3G;AAAA;;AACAA,EAAAA,aAAa,CAAC5qM,KAAd,kBAllIoG9uP,0DAklIpG;AAAA;AAAA,UAAyG05b,aAAzG;AAAA;AAAA;SAXMA;;;AAYN;AAAA;AAAA;AAAA;AAKA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;AACA;;;AACA,MAAMC,0BAA0B,gBAAG,IAAIv/Z,yDAAJ,CAAmB,4BAAnB,CAAnC,EACA;;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;IACMnS;AAAN,QAAMA,QAAN,CAAe;AACXxqB,IAAAA,WAAW,CAAC03N,MAAD,EA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IAA1C,CAApD;;AACA,YAAIj8C,MAAJ,EAAY;AACR,iBAAOA,MAAP;AACH;AACJ;;AACD0K,MAAAA,WAAW,GAAG2ib,UAAU,CAACl6J,QAAX,EAAd;AACH;AACJ;;AACD,SAAO,IAAP;AACH;AACD;AACA;AACA;;;AACA,MAAMm6J,oBAAN,CAA2B;AACvB;AACJ;AACA;AACIjB,EAAAA,SAAS,CAAC3gV,MAAD,EAAS,CAAG;AACrB;AACJ;AACA;;;AACI4gV,EAAAA,iBAAiB,GAAG;AAChB,WAAO,CAAC,CAAD,EAAI,CAAJ,CAAP;AACH;AACD;AACJ;AACA;;;AACIE,EAAAA,gBAAgB,CAACrub,QAAD,EAAW,CAAG;AAC9B;AACJ;AACA;;;AACIsub,EAAAA,cAAc,CAAC1oN,MAAD,EAAS,CAAG;AAC1B;AACJ;AACA;;;AACI8oN,EAAAA,2BAA2B,CAACC,iBAAD,EAAoB,CAAG;;AAtB3B;AAyB3B;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;AACA;AACA;;;AACA,MAAMS,UAAN,CAAiB;AAGjB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AC3zKA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,MAAMW,WAAN,CAAkB;AAElB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,MAAM78b,WAAN,CAAkB;AAGlB;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,MAAM88b,WAAN,CAAkB;AACd;AACArgc,EAAAA,WAAW,CAAColC,OAAD,EAAU;AACjB;AACR;AACA;AACA;AACQ,S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AAAA,gBAAgB,CAACC,MAAjB,CAAwBM,iBAAxB;AACH;;AACD,SAASG,kBAAT,GAA8B;AAC1B,SAAOV,gBAAgB,CAACG,eAAxB;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASQ,gBAAT,GAA4B;AACxBX,EAAAA,gBAAgB,CAACG,eAAjB,GAAmC,IAAnC;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASS,iBAAT,GAA6B;AACzBZ,EAAAA,gBAAgB,CAACG,eAAjB,GAAmC,KAAnC;AACH;AACD;AACA;AACA;;;AACA,SAASU,QAAT,GAAoB;AAChB,SAAOb,gBAAgB,CAACC,MAAjB,CAAwBrF,KAA/B;AACH;AACD;AACA;AACA;;;AACA,SAASkG,QAAT,GAAoB;AAChB,SAAOd,gBAAgB,CAACC,MAAjB,CAAwB7L,KAA/B;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASzhN,aAAT,CAAuBouN,aAAvB,EAAsC;AAClCf,EAAAA,gBAAgB,CAACC,MAAjB,CAAwBe,YAAxB,GAAuCD,aAAvC;AACA,SAAOA,aAAa,CAACjI,OAAD,CAApB;AACH;;AACD,SAASmI,eAAT,GAA2B;AACvB,MAAIC,YAAY,GAAGC,4BAA4B,EAA/C;;AACA,SAAOD,YAAY,KAAK,IAAjB,IAAyBA,YAAY,CAACxic,IAAb,KAAsB;AAAG;AAAzD,IAA4E;AACxEwic,IAAAA,YAAY,GAAGA,YAAY,CAACt4X,MAA5B;AACH;;AACD,SAAOs4X,YAAP;AACH;;AACD,SAASC,4BAAT,GAAwC;AACpC,SAAOnB,gBAAgB,CAACC,MAAjB,CAAwBiB,YAA/B;AACH;;AACD,SAASE,qBAAT,GAAiC;AAC7B,QAAMnB,MAAM,GAAGD,gBAAgB,CAACC,MAAhC;AACA,QAAMiB,YAAY,GAAGjB,MAAM,CAACiB,YAA5B;AACA,SAAOjB,MAAM,CAAC3E,QAAP,GAAkB4F,YAAlB,GAAiCA,YAAY,CAACt4X,MAArD;AACH;;AACD,SAASy4X,eAAT,CAAyBlN,KAAzB,EAAgCmH,QAAhC,EAA0C;AACtCxza,EAAAA,SAAS,IAAIqsa,KAAb,IAAsB0G,mBAAmB,CAAC1G,KAAD,EAAQ6L,gBAAgB,CAACC,MAAjB,CAAwB7L,KAAhC,CAAzC;AACA,QAAM6L,MAAM,GAAGD,gBAAgB,CAACC,MAAhC;AACAA,EAAAA,MAAM,CAACiB,YAAP,GAAsB/M,KAAtB;AACA8L,EAAAA,MAAM,CAAC3E,QAAP,GAAkBA,QAAlB;AACH;;AACD,SAASgG,oBAAT,GAAgC;AAC5B,SAAOtB,gBAAgB,CAACC,MAAjB,CAAwB3E,QAA/B;AACH;;AACD,SAASiG,0BAAT,GAAsC;AAClCvB,EAAAA,gBAAgB,CAACC,MAAjB,CAAwB3E,QAAxB,GAAmC,KAAnC;AACH;;AACD,SAASkG,uBAAT,GAAmC;AAC/BxB,EAAAA,gBAAgB,CAACC,MAAjB,CAAwB3E,QAAxB,GAAmC,IAAnC;AACH;;AACD,SAASmG,eAAT,GAA2B;AACvB,SAAOzB,gBAAgB,CAACC,MAAjB,CAAwBe,YAA/B;AACH;;AACD,SAASU,sBAAT,GAAkC;AAC9B,GAAC55a,SAAD,IAAc2tF,UAAU,CAAC,yCAAD,CAAxB;AACA,SAAO2qV,uBAAP;AACH;;AACD,SAASuB,yBAAT,CAAmC30Q,IAAnC,EAAyC;AACrC,GAACllK,SAAD,IAAc2tF,UAAU,CAAC,yCAAD,CAAxB;AACA2qV,EAAAA,uBAAuB,GAAGpzQ,IAA1B;AACH,EACD;;;AACA,SAAS40Q,cAAT,GAA0B;AACtB,QAAM3B,MAAM,GAAGD,gBAAgB,CAACC,MAAhC;AACA,MAAIh3Z,KAAK,GAAGg3Z,MAAM,CAAC4B,gBAAnB;;AACA,MAAI54Z,KAAK,KAAK,CAAC,CAAf,EAAkB;AACdA,IAAAA,KAAK,GAAGg3Z,MAAM,CAAC4B,gBAAP,GAA0B5B,MAAM,CAAC7L,KAAP,CAAa+H,iBAA/C;AACH;;AACD,SAAOlzZ,KAAP;AACH;;AACD,SAAS64Z,eAAT,GAA2B;AACvB,SAAO9B,gBAAgB,CAACC,MAAjB,CAAwB8B,YAA/B;AACH;;AACD,SAASC,eAAT,CAAyBrpc,KAAzB,EAAgC;AAC5B,SAAOqnc,gBAAgB,CAACC,MAAjB,CAAwB8B,YAAxB,GAAuCppc,KAA9C;AACH;;AACD,SAASspc,gBAAT,GAA4B;AACxB,SAAOjC,gBAAgB,CAACC,MAAjB,CAAwB8B,YAAxB,EAAP;AACH;;AACD,SAASG,qBAAT,CAA+B7rZ,KAA/B,EAAsC;AAClC,QAAM4pZ,MAAM,GAAGD,gBAAgB,CAACC,MAAhC;AACA,QAAMh3Z,KAAK,GAAGg3Z,MAAM,CAAC8B,YAArB;AACA9B,EAAAA,MAAM,CAAC8B,YAAP,GAAsB9B,MAAM,CAAC8B,YAAP,GAAsB1rZ,KAA5C;AACA,SAAOpN,KAAP;AACH;;AACD,SAASk5Z,aAAT,GAAyB;AACrB,SAAOnC,gBAAgB,CAACC,MAAjB,CAAwBmC,MAA/B;AACH;;AACD,SAASC,cAAT,CAAwBF,aAAxB,EAAuC;AACnCnC,EAAAA,gBAAgB,CAACC,MAAjB,CAAwBmC,MAAxB,GAAiCD,aAAjC;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASG,6BAAT,CAAuCT,gBAAvC,EAAyDU,qBAAzD,EAAgF;AAC5E,QAAMtC,MAAM,GAAGD,gBAAgB,CAACC,MAAhC;AACAA,EAAAA,MAAM,CAAC8B,YAAP,GAAsB9B,MAAM,CAAC4B,gBAAP,GAA0BA,gBAAhD;AACAW,EAAAA,wBAAwB,CAACD,qBAAD,CAAxB;AACH;AACD;AACA;AACA;AACA;AACA;;;AACA,SAASE,wBAAT,GAAoC;AAChC,SAAOzC,gBAAgB,CAACC,MAAjB,CAAwBsC,qBAA/B;AACH;AACD;AACA;AACA;AACA;AACA;;;AACA,SAASC,wBAAT,CAAkCD,qBAAlC,EAAyD;AACrDvC,EAAAA,gBAAgB,CAACC,MAAjB,CAAwBsC,qBAAxB,GAAgDA,qBAAhD;AACH;AACD;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASG,sBAAT,CAAgCC,KAAhC,EAAuC;AACnC,QAAMJ,qBAAqB,GAAGvC,gBAAgB,CAACC,MAAjB,CAAwBsC,qBAAtD;AACA,SAAOA,qBAAqB,KAAK,CAAC,CAA3B,GAA+B,IAA/B,GAAsCI,KAAK,CAACJ,qBAAD,CAAlD;AACH;;AACD,SAASK,oBAAT,GAAgC;AAC5B,SAAO5C,gBAAgB,CAACC,MAAjB,CAAwBn2F,iBAA/B;AACH;;AACD,SAAS+4F,oBAAT,CAA8Blqc,KAA9B,EAAqC;AACjCqnc,EAAAA,gBAAgB,CAACC,MAAjB,CAAwBn2F,iBAAxB,GAA4CnxW,KAA5C;AACH;AACD;AACA;AACA;AACA;AACA;;;AACA,SAASmqc,mBAAT,CAA6BlI,KAA7B,EAAoC;AAChC,QAAMxG,KAAK,GAAGwG,KAAK,CAACrC,KAAD,CAAnB,CADgC,CAEhC;;AACA,MAAInE,KAAK,CAAC11b,IAAN,KAAe;AAAE;AAArB,IAAqC;AACjCopB,IAAAA,SAAS,IAAI6pa,aAAa,CAACyC,KAAK,CAAC2O,SAAP,EAAkB,kDAAlB,CAA1B;AACA,WAAO3O,KAAK,CAAC2O,SAAb;AACH,GAN+B,CAOhC;AACA;AACA;;;AACA,MAAI3O,KAAK,CAAC11b,IAAN,KAAe;AAAE;AAArB,IAAsC;AAClC,WAAOk8b,KAAK,CAAChC,MAAD,CAAZ;AACH,GAZ+B,CAahC;;;AACA,SAAO,IAAP;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASoK,OAAT,CAAiBpI,KAAjB,EAAwBzG,KAAxB,EAA+B3sR,KAA/B,EAAsC;AAClC1/I,EAAAA,SAAS,IAAI4za,sBAAsB,CAACd,KAAD,CAAnC;;AACA,MAAIpzR,KAAK,GAAGqrR,WAAW,CAACv+D,QAAxB,EAAkC;AAC9BxsW,IAAAA,SAAS,IAAI+ya,mBAAmB,CAAC1G,KAAD,EAAQyG,KAAK,CAACrC,KAAD,CAAb,CAAhC;AACA,QAAI0K,WAAW,GAAG9O,KAAlB;AACA,QAAI+O,WAAW,GAAGtI,KAAlB;;AACA,WAAO,IAAP,EAAa;AACT9ya,MAAAA,SAAS,IAAI6pa,aAAa,CAACsR,WAAD,EAAc,gCAAd,CAA1B;AACAA,MAAAA,WAAW,GAAGA,WAAW,CAACr6X,MAA1B;;AACA,UAAIq6X,WAAW,KAAK,IAAhB,IAAwB,EAAEz7R,KAAK,GAAGqrR,WAAW,CAAChqB,IAAtB,CAA5B,EAAyD;AACrDo6B,QAAAA,WAAW,GAAGH,mBAAmB,CAACI,WAAD,CAAjC;AACA,YAAID,WAAW,KAAK,IAApB,EACI,MAHiD,CAIrD;AACA;;AACAn7a,QAAAA,SAAS,IAAI6pa,aAAa,CAACuR,WAAD,EAAc,gCAAd,CAA1B;AACAA,QAAAA,WAAW,GAAGA,WAAW,CAAC7J,gBAAD,CAAzB,CAPqD,CAQrD;AACA;AACA;;AACA,YAAI4J,WAAW,CAACvkc,IAAZ,IAAoB;AAAE;AAAF,UAAkB;AAAE;AAAxC,SAAJ,EAAqE;AACjE;AACH;AACJ,OAdD,MAeK;AACD;AACH;AACJ;;AACD,QAAIukc,WAAW,KAAK,IAApB,EAA0B;AACtB;AACA,aAAO,KAAP;AACH,KAHD,MAIK;AACD9O,MAAAA,KAAK,GAAG8O,WAAR;AACArI,MAAAA,KAAK,GAAGsI,WAAR;AACH;AACJ;;AACDp7a,EAAAA,SAAS,IAAI6ya,mBAAmB,CAACxG,KAAD,EAAQyG,KAAR,CAAhC;AACA,QAAMqF,MAAM,GAAGD,gBAAgB,CAACC,MAAjB,GAA0BkD,WAAW,EAApD;AACAlD,EAAAA,MAAM,CAACiB,YAAP,GAAsB/M,KAAtB;AACA8L,EAAAA,MAAM,CAACrF,KAAP,GAAeA,KAAf;AACA,SAAO,IAAP;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASwI,SAAT,CAAmBC,OAAnB,EAA4B;AACxBv7a,EAAAA,SAAS,IAAIupa,cAAc,CAACgS,OAAO,CAAC,CAAD,CAAR,EAAaA,OAAO,CAAC,CAAD,CAApB,EAAyB,MAAzB,CAA3B;AACAv7a,EAAAA,SAAS,IAAI4za,sBAAsB,CAAC2H,OAAD,CAAnC;AACA,QAAMC,SAAS,GAAGH,WAAW,EAA7B;;AACA,MAAIr7a,SAAJ,EAAe;AACXqpa,IAAAA,WAAW,CAACmS,SAAS,CAAChI,QAAX,EAAqB,IAArB,EAA2B,uBAA3B,CAAX;AACAnK,IAAAA,WAAW,CAACmS,SAAS,CAAC1I,KAAX,EAAkB,IAAlB,EAAwB,uBAAxB,CAAX;AACAzJ,IAAAA,WAAW,CAACmS,SAAS,CAAClP,KAAX,EAAkB,IAAlB,EAAwB,uBAAxB,CAAX;AACAjD,IAAAA,WAAW,CAACmS,SAAS,CAACt/B,aAAX,EAA0B,CAAC,CAA3B,EAA8B,uBAA9B,CAAX;AACAmtB,IAAAA,WAAW,CAACmS,SAAS,CAAC/C,iBAAX,EAA8B,CAA9B,EAAiC,uBAAjC,CAAX;AACApP,IAAAA,WAAW,CAACmS,SAAS,CAACf,qBAAX,EAAkC,CAAC,CAAnC,EAAsC,uBAAtC,CAAX;AACApR,IAAAA,WAAW,CAACmS,SAAS,CAACC,gBAAX,EAA6B,IAA7B,EAAmC,uBAAnC,CAAX;AACApS,IAAAA,WAAW,CAACmS,SAAS,CAACzB,gBAAX,EAA6B,CAAC,CAA9B,EAAiC,uBAAjC,CAAX;AACA1Q,IAAAA,WAAW,CAACmS,SAAS,CAACx5F,iBAAX,EAA8B,CAA9B,EAAiC,uBAAjC,CAAX;AACH;;AACD,QAAMsqF,KAAK,GAAGiP,OAAO,CAAC9K,KAAD,CAArB;AACAyH,EAAAA,gBAAgB,CAACC,MAAjB,GAA0BqD,SAA1B;AACAx7a,EAAAA,SAAS,IAAIssa,KAAK,CAAC7oM,UAAnB,IAAiCsvM,mBAAmB,CAACzG,KAAK,CAAC7oM,UAAP,EAAmB6oM,KAAnB,CAApD;AACAkP,EAAAA,SAAS,CAACpC,YAAV,GAAyB9M,KAAK,CAAC7oM,UAA/B;AACA+3M,EAAAA,SAAS,CAAC1I,KAAV,GAAkByI,OAAlB;AACAC,EAAAA,SAAS,CAAClP,KAAV,GAAkBA,KAAlB;AACAkP,EAAAA,SAAS,CAACtC,YAAV,GAAyBqC,OAAzB;AACAC,EAAAA,SAAS,CAACvB,YAAV,GAAyB3N,KAAK,CAAC+H,iBAA/B;AACAmH,EAAAA,SAAS,CAAClB,MAAV,GAAmB,KAAnB;AACH;AACD;AACA;AACA;;;AACA,SAASe,WAAT,GAAuB;AACnB,QAAMK,aAAa,GAAGxD,gBAAgB,CAACC,MAAvC;AACA,QAAMwD,WAAW,GAAGD,aAAa,KAAK,IAAlB,GAAyB,IAAzB,GAAgCA,aAAa,CAACj2V,KAAlE;AACA,QAAM+1V,SAAS,GAAGG,WAAW,KAAK,IAAhB,GAAuBvD,YAAY,CAACsD,aAAD,CAAnC,GAAqDC,WAAvE;AACA,SAAOH,SAAP;AACH;;AACD,SAASpD,YAAT,CAAsBt3X,MAAtB,EAA8B;AAC1B,QAAMq3X,MAAM,GAAG;AACXiB,IAAAA,YAAY,EAAE,IADH;AAEX5F,IAAAA,QAAQ,EAAE,IAFC;AAGXV,IAAAA,KAAK,EAAE,IAHI;AAIXxG,IAAAA,KAAK,EAAE,IAJI;AAKXpwB,IAAAA,aAAa,EAAE,CAAC,CALL;AAMXg9B,IAAAA,YAAY,EAAE,IANH;AAOXT,IAAAA,iBAAiB,EAAE,CAPR;AAQXgD,IAAAA,gBAAgB,EAAE,IARP;AASXhB,IAAAA,qBAAqB,EAAE,CAAC,CATb;AAUXV,IAAAA,gBAAgB,EAAE,CAAC,CAVR;AAWXE,IAAAA,YAAY,EAAE,CAAC,CAXJ;AAYXj4F,IAAAA,iBAAiB,EAAE,CAZR;AAaXlhS,IAAAA,MAAM,EAAEA,MAbG;AAcX2kC,IAAAA,KAAK,EAAE,IAdI;AAeX60V,IAAAA,MAAM,EAAE;AAfG,GAAf;AAiBAx5X,EAAAA,MAAM,KAAK,IAAX,KAAoBA,MAAM,CAAC2kC,KAAP,GAAe0yV,MAAnC,EAlB0B,CAkBkB;;AAC5C,SAAOA,MAAP;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASyD,cAAT,GAA0B;AACtB,QAAMC,SAAS,GAAG3D,gBAAgB,CAACC,MAAnC;AACAD,EAAAA,gBAAgB,CAACC,MAAjB,GAA0B0D,SAAS,CAAC/6X,MAApC;AACA+6X,EAAAA,SAAS,CAACzC,YAAV,GAAyB,IAAzB;AACAyC,EAAAA,SAAS,CAAC/I,KAAV,GAAkB,IAAlB;AACA,SAAO+I,SAAP;AACH;AACD;AACA;AACA;AACA;AACA;AACA;;;AACA,MAAMC,OAAO,GAAGF,cAAhB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,SAASG,SAAT,GAAqB;AACjB,QAAMF,SAAS,GAAGD,cAAc,EAAhC;AACAC,EAAAA,SAAS,CAACrI,QAAV,GAAqB,IAArB;AACAqI,EAAAA,SAAS,CAACvP,KAAV,GAAkB,IAAlB;AACAuP,EAAAA,SAAS,CAAC3/B,aAAV,GAA0B,CAAC,CAA3B;AACA2/B,EAAAA,SAAS,CAAC3C,YAAV,GAAyB,IAAzB;AACA2C,EAAAA,SAAS,CAACpD,iBAAV,GAA8B,CAA9B;AACAoD,EAAAA,SAAS,CAACpB,qBAAV,GAAkC,CAAC,CAAnC;AACAoB,EAAAA,SAAS,CAACJ,gBAAV,GAA6B,IAA7B;AACAI,EAAAA,SAAS,CAAC9B,gBAAV,GAA6B,CAAC,CAA9B;AACA8B,EAAAA,SAAS,CAAC5B,YAAV,GAAyB,CAAC,CAA1B;AACA4B,EAAAA,SAAS,CAAC75F,iBAAV,GAA8B,CAA9B;AACH;;AACD,SAASg6F,eAAT,CAAyB5xW,KAAzB,EAAgC;AAC5B,QAAM8uW,YAAY,GAAGhB,gBAAgB,CAACC,MAAjB,CAAwBe,YAAxB,GACjB+C,WAAW,CAAC7xW,KAAD,EAAQ8tW,gBAAgB,CAACC,MAAjB,CAAwBe,YAAhC,CADf;AAEA,SAAOA,YAAY,CAAClI,OAAD,CAAnB;AACH;;AACD,SAASiL,WAAT,CAAqBC,YAArB,EAAmCC,WAAnC,EAAgD;AAC5C,SAAOD,YAAY,GAAG,CAAtB,EAAyB;AACrBl8a,IAAAA,SAAS,IACL6pa,aAAa,CAACsS,WAAW,CAAC5K,gBAAD,CAAZ,EAAgC,wEAAhC,CADjB;AAEA4K,IAAAA,WAAW,GAAGA,WAAW,CAAC5K,gBAAD,CAAzB;AACA2K,IAAAA,YAAY;AACf;;AACD,SAAOC,WAAP;AACH;AACD;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASC,gBAAT,GAA4B;AACxB,SAAOlE,gBAAgB,CAACC,MAAjB,CAAwBj8B,aAA/B;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASmgC,gBAAT,CAA0Bl7Z,KAA1B,EAAiC;AAC7BnhB,EAAAA,SAAS,IAAImhB,KAAK,KAAK,CAAC,CAAxB,IACI+nZ,wBAAwB,CAAC/nZ,KAAD,EAAQywZ,aAAR,EAAuB,2CAAvB,CAD5B;AAEA5xa,EAAAA,SAAS,IACL0pa,cAAc,CAACvoZ,KAAD,EAAQ+2Z,gBAAgB,CAACC,MAAjB,CAAwBrF,KAAxB,CAA8Bxmc,MAAtC,EAA8C,sCAA9C,CADlB;AAEA4rc,EAAAA,gBAAgB,CAACC,MAAjB,CAAwBj8B,aAAxB,GAAwC/6X,KAAxC;AACH;AACD;AACA;AACA;;;AACA,SAASm7Z,gBAAT,GAA4B;AACxB,QAAMnE,MAAM,GAAGD,gBAAgB,CAACC,MAAhC;AACA,SAAOb,QAAQ,CAACa,MAAM,CAAC7L,KAAR,EAAe6L,MAAM,CAACj8B,aAAtB,CAAf;AACH;AACD;AACA;AACA;AACA;AACA;;;AACA,SAASqgC,cAAT,GAA0B;AACtBrE,EAAAA,gBAAgB,CAACC,MAAjB,CAAwBsD,gBAAxB,GAA2CtF,aAA3C;AACH;AACD;AACA;AACA;AACA;AACA;;;AACA,SAASqG,iBAAT,GAA6B;AACzBtE,EAAAA,gBAAgB,CAACC,MAAjB,CAAwBsD,gBAAxB,GAA2CpF,iBAA3C;AACH;AACD;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASoG,eAAT,GAA2B;AACvBC,EAAAA,qBAAqB;AACxB;AACD;AACA;AACA;AACA;;;AACA,SAASA,qBAAT,GAAiC;AAC7BxE,EAAAA,gBAAgB,CAACC,MAAjB,CAAwBsD,gBAAxB,GAA2C,IAA3C;AACH;;AACD,SAASkB,cAAT,GAA0B;AACtB,SAAOzE,gBAAgB,CAACC,MAAjB,CAAwBsD,gBAA/B;AACH;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASmB,qBAAT,CAA+BC,cAA/B,EAA+CC,YAA/C,EAA6DxQ,KAA7D,EAAoE;AAChEtsa,EAAAA,SAAS,IAAI8za,qBAAqB,CAACxH,KAAD,CAAlC;AACA,QAAM;AAAExzP,IAAAA,WAAF;AAAe54M,IAAAA,QAAf;AAAyBskY,IAAAA;AAAzB,MAAuCs4E,YAAY,CAAClmc,IAAb,CAAkBgzB,SAA/D;;AACA,MAAIkvK,WAAJ,EAAiB;AACb,UAAMikQ,gBAAgB,GAAG3H,sBAAsB,CAAC0H,YAAD,CAA/C;AACA,KAACxQ,KAAK,CAAC0Q,aAAN,KAAwB1Q,KAAK,CAAC0Q,aAAN,GAAsB,EAA9C,CAAD,EAAoDp3a,IAApD,CAAyDi3a,cAAzD,EAAyEE,gBAAzE;AACA,KAACzQ,KAAK,CAAC2Q,kBAAN,KAA6B3Q,KAAK,CAAC2Q,kBAAN,GAA2B,EAAxD,CAAD,EACKr3a,IADL,CACUi3a,cADV,EAC0BE,gBAD1B;AAEH;;AACD,MAAI78c,QAAJ,EAAc;AACV,KAACosc,KAAK,CAAC0Q,aAAN,KAAwB1Q,KAAK,CAAC0Q,aAAN,GAAsB,EAA9C,CAAD,EAAoDp3a,IAApD,CAAyD,IAAIi3a,cAA7D,EAA6E38c,QAA7E;AACH;;AACD,MAAIskY,SAAJ,EAAe;AACX,KAAC8nE,KAAK,CAAC0Q,aAAN,KAAwB1Q,KAAK,CAAC0Q,aAAN,GAAsB,EAA9C,CAAD,EAAoDp3a,IAApD,CAAyDi3a,cAAzD,EAAyEr4E,SAAzE;AACA,KAAC8nE,KAAK,CAAC2Q,kBAAN,KAA6B3Q,KAAK,CAAC2Q,kBAAN,GAA2B,EAAxD,CAAD,EAA8Dr3a,IAA9D,CAAmEi3a,cAAnE,EAAmFr4E,SAAnF;AACH;AACJ;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAAS04E,sBAAT,CAAgC5Q,KAAhC,EAAuCD,KAAvC,EAA8C;AAC1Crsa,EAAAA,SAAS,IAAI8za,qBAAqB,CAACxH,KAAD,CAAlC,CAD0C,CAE1C;AACA;AACA;;AACA,OAAK,IAAIh2b,CAAC,GAAG+1b,KAAK,CAAC8Q,cAAd,EAA8B92V,GAAG,GAAGgmV,KAAK,CAAC+Q,YAA/C,EAA6D9mc,CAAC,GAAG+vG,GAAjE,EAAsE/vG,CAAC,EAAvE,EAA2E;AACvE,UAAMwmc,YAAY,GAAGxQ,KAAK,CAAChlc,IAAN,CAAWgP,CAAX,CAArB;AACA0pB,IAAAA,SAAS,IAAI6pa,aAAa,CAACiT,YAAD,EAAe,wBAAf,CAA1B;AACA,UAAMO,cAAc,GAAGP,YAAY,CAAClmc,IAAb,CAAkBgzB,SAAzC;AACA,UAAM;AAAE06V,MAAAA,kBAAF;AAAsBj7W,MAAAA,qBAAtB;AAA6CmiX,MAAAA,eAA7C;AAA8D8xE,MAAAA,kBAA9D;AAAkFjzc,MAAAA;AAAlF,QAAkGgzc,cAAxG;;AACA,QAAI/4E,kBAAJ,EAAwB;AACpB,OAACgoE,KAAK,CAACiR,YAAN,KAAuBjR,KAAK,CAACiR,YAAN,GAAqB,EAA5C,CAAD,EAAkD33a,IAAlD,CAAuD,CAACtvB,CAAxD,EAA2DguX,kBAA3D;AACH;;AACD,QAAIj7W,qBAAJ,EAA2B;AACvB,OAACijb,KAAK,CAACiR,YAAN,KAAuBjR,KAAK,CAACiR,YAAN,GAAqB,EAA5C,CAAD,EAAkD33a,IAAlD,CAAuDtvB,CAAvD,EAA0D+S,qBAA1D;AACA,OAACijb,KAAK,CAACkR,iBAAN,KAA4BlR,KAAK,CAACkR,iBAAN,GAA0B,EAAtD,CAAD,EAA4D53a,IAA5D,CAAiEtvB,CAAjE,EAAoE+S,qBAApE;AACH;;AACD,QAAImiX,eAAJ,EAAqB;AACjB,OAAC8gE,KAAK,CAACmR,SAAN,KAAoBnR,KAAK,CAACmR,SAAN,GAAkB,EAAtC,CAAD,EAA4C73a,IAA5C,CAAiD,CAACtvB,CAAlD,EAAqDk1X,eAArD;AACH;;AACD,QAAI8xE,kBAAJ,EAAwB;AACpB,OAAChR,KAAK,CAACmR,SAAN,KAAoBnR,KAAK,CAACmR,SAAN,GAAkB,EAAtC,CAAD,EAA4C73a,IAA5C,CAAiDtvB,CAAjD,EAAoDgnc,kBAApD;AACA,OAAChR,KAAK,CAACoR,cAAN,KAAyBpR,KAAK,CAACoR,cAAN,GAAuB,EAAhD,CAAD,EAAsD93a,IAAtD,CAA2DtvB,CAA3D,EAA8Dgnc,kBAA9D;AACH;;AACD,QAAIjzc,WAAW,IAAI,IAAnB,EAAyB;AACrB,OAACiic,KAAK,CAACqR,YAAN,KAAuBrR,KAAK,CAACqR,YAAN,GAAqB,EAA5C,CAAD,EAAkD/3a,IAAlD,CAAuDtvB,CAAvD,EAA0DjM,WAA1D;AACH;AACJ;AACJ;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASuzc,iBAAT,CAA2B9K,KAA3B,EAAkCx2S,KAAlC,EAAyCxzC,SAAzC,EAAoD;AAChD+0V,EAAAA,SAAS,CAAC/K,KAAD,EAAQx2S,KAAR,EAAe;AAAE;AAAjB,IAA2CxzC,SAA3C,CAAT;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASg1V,wBAAT,CAAkChL,KAAlC,EAAyCx2S,KAAzC,EAAgDyhT,SAAhD,EAA2Dj1V,SAA3D,EAAsE;AAClE9oF,EAAAA,SAAS,IACLupa,cAAc,CAACwU,SAAD,EAAY;AAAE;AAAd,IAAwC,0DAAxC,CADlB;;AAEA,MAAI,CAACjL,KAAK,CAACpC,KAAD,CAAL,GAAe;AAAE;AAAlB,QAAgDqN,SAApD,EAA+D;AAC3DF,IAAAA,SAAS,CAAC/K,KAAD,EAAQx2S,KAAR,EAAeyhT,SAAf,EAA0Bj1V,SAA1B,CAAT;AACH;AACJ;;AACD,SAASk1V,uBAAT,CAAiClL,KAAjC,EAAwCiL,SAAxC,EAAmD;AAC/C/9a,EAAAA,SAAS,IACLupa,cAAc,CAACwU,SAAD,EAAY;AAAE;AAAd,IAAwC,gFAAxC,CADlB;AAEA,MAAIr+R,KAAK,GAAGozR,KAAK,CAACpC,KAAD,CAAjB;;AACA,MAAI,CAAChxR,KAAK,GAAG;AAAE;AAAX,QAAyCq+R,SAA7C,EAAwD;AACpDr+R,IAAAA,KAAK,IAAI;AAAK;AAAd;AACAA,IAAAA,KAAK,IAAI;AAAE;AAAX;AACAozR,IAAAA,KAAK,CAACpC,KAAD,CAAL,GAAehxR,KAAf;AACH;AACJ;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASm+R,SAAT,CAAmB1B,WAAnB,EAAgC3kc,GAAhC,EAAqCumc,SAArC,EAAgDE,gBAAhD,EAAkE;AAC9Dj+a,EAAAA,SAAS,IACLqpa,WAAW,CAACuQ,sBAAsB,EAAvB,EAA2B,KAA3B,EAAkC,0DAAlC,CADf;AAEA,QAAM3jG,UAAU,GAAGgoG,gBAAgB,KAAKjsa,SAArB,GACdmqa,WAAW,CAACzK,mBAAD,CAAX,GAAmC;AAAM;AAD3B,IAEf,CAFJ;AAGA,QAAMwM,cAAc,GAAGD,gBAAgB,IAAI,IAApB,GAA2BA,gBAA3B,GAA8C,CAAC,CAAtE;AACA,QAAM9sb,GAAG,GAAG3Z,GAAG,CAAClL,MAAJ,GAAa,CAAzB,CAP8D,CAOlC;;AAC5B,MAAI6xc,kBAAkB,GAAG,CAAzB;;AACA,OAAK,IAAI7nc,CAAC,GAAG2/V,UAAb,EAAyB3/V,CAAC,GAAG6a,GAA7B,EAAkC7a,CAAC,EAAnC,EAAuC;AACnC,UAAMy/J,IAAI,GAAGv+J,GAAG,CAAClB,CAAC,GAAG,CAAL,CAAhB;;AACA,QAAI,OAAOy/J,IAAP,KAAgB,QAApB,EAA8B;AAC1BooS,MAAAA,kBAAkB,GAAG3mc,GAAG,CAAClB,CAAD,CAAxB;;AACA,UAAI2nc,gBAAgB,IAAI,IAApB,IAA4BE,kBAAkB,IAAIF,gBAAtD,EAAwE;AACpE;AACH;AACJ,KALD,MAMK;AACD,YAAMG,UAAU,GAAG5mc,GAAG,CAAClB,CAAD,CAAH,GAAS,CAA5B;AACA,UAAI8nc,UAAJ,EACIjC,WAAW,CAACzK,mBAAD,CAAX,IAAoC;AAAM;AAA1C;;AACJ,UAAIyM,kBAAkB,GAAGD,cAArB,IAAuCA,cAAc,IAAI,CAAC,CAA9D,EAAiE;AAC7DG,QAAAA,QAAQ,CAAClC,WAAD,EAAc4B,SAAd,EAAyBvmc,GAAzB,EAA8BlB,CAA9B,CAAR;AACA6lc,QAAAA,WAAW,CAACzK,mBAAD,CAAX,GACI,CAACyK,WAAW,CAACzK,mBAAD,CAAX,GAAmC;AAAW;AAA/C,YAAoFp7b,CAApF,GACI,CAFR;AAGH;;AACDA,MAAAA,CAAC;AACJ;AACJ;AACJ;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAAS+nc,QAAT,CAAkBlC,WAAlB,EAA+B4B,SAA/B,EAA0Cvmc,GAA1C,EAA+ClB,CAA/C,EAAkD;AAC9C,QAAM8nc,UAAU,GAAG5mc,GAAG,CAAClB,CAAD,CAAH,GAAS,CAA5B;AACA,QAAMy/J,IAAI,GAAGv+J,GAAG,CAAClB,CAAC,GAAG,CAAL,CAAhB;AACA,QAAMumc,cAAc,GAAGuB,UAAU,GAAG,CAAC5mc,GAAG,CAAClB,CAAD,CAAP,GAAakB,GAAG,CAAClB,CAAD,CAAjD;AACA,QAAMgoc,SAAS,GAAGnC,WAAW,CAACU,cAAD,CAA7B;;AACA,MAAIuB,UAAJ,EAAgB;AACZ,UAAMG,qBAAqB,GAAGpC,WAAW,CAACzL,KAAD,CAAX,IAAsB;AAAG;AAAvD,KADY,CAEZ;;AACA,QAAI6N,qBAAqB,GACpBpC,WAAW,CAACzK,mBAAD,CAAX,IAAoC;AAAG;AADxC,OAEA,CAACyK,WAAW,CAACzL,KAAD,CAAX,GAAqB;AAAE;AAAxB,UAAsDqN,SAF1D,EAEqE;AACjE5B,MAAAA,WAAW,CAACzL,KAAD,CAAX,IAAsB;AAAK;AAA3B;AACAuF,MAAAA,QAAQ,CAAC;AAAE;AAAH,QAA6BqI,SAA7B,EAAwCvoS,IAAxC,CAAR;;AACA,UAAI;AACAA,QAAAA,IAAI,CAACjtI,IAAL,CAAUw1a,SAAV;AACH,OAFD,SAGQ;AACJrI,QAAAA,QAAQ,CAAC;AAAE;AAAH,UAA2BqI,SAA3B,EAAsCvoS,IAAtC,CAAR;AACH;AACJ;AACJ,GAfD,MAgBK;AACDkgS,IAAAA,QAAQ,CAAC;AAAE;AAAH,MAA6BqI,SAA7B,EAAwCvoS,IAAxC,CAAR;;AACA,QAAI;AACAA,MAAAA,IAAI,CAACjtI,IAAL,CAAUw1a,SAAV;AACH,KAFD,SAGQ;AACJrI,MAAAA,QAAQ,CAAC;AAAE;AAAH,QAA2BqI,SAA3B,EAAsCvoS,IAAtC,CAAR;AACH;AACJ;AACJ;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,MAAMyoS,kBAAkB,GAAG,CAAC,CAA5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,MAAMC,mBAAN,CAA0B;AACtBr/c,EAAAA,WAAW;AACX;AACJ;AACA;AACI4O,EAAAA,OAJW;AAKX;AACJ;AACA;AACI0wc,EAAAA,cARW,EAQKC,oBARL,EAQ2B;AAClC,SAAK3wc,OAAL,GAAeA,OAAf;AACA;AACR;AACA;AACA;;AACQ,SAAK4wc,SAAL,GAAiB,KAAjB;AACA5+a,IAAAA,SAAS,IAAI6pa,aAAa,CAAC77b,OAAD,EAAU,uBAAV,CAA1B;AACAgyB,IAAAA,SAAS,IAAIqpa,WAAW,CAAC,OAAOr7b,OAAR,EAAiB,UAAjB,EAA6B,4BAA7B,CAAxB;AACA,SAAK6wc,mBAAL,GAA2BH,cAA3B;AACA,SAAKI,UAAL,GAAkBH,oBAAlB;AACH;;AApBqB;;AAsB1B,SAASI,SAAT,CAAmBjpb,GAAnB,EAAwB;AACpB,SAAOA,GAAG,YAAY2ob,mBAAtB;AACH,EACD;AACA;;;AACA,MAAMO,+BAA+B,GAAG,CAAxC;AAEA;AACA;AACA;AACA;;AACA,SAASC,mBAAT,CAA6BC,SAA7B,EAAwC;AACpC,MAAIxtU,IAAI,GAAG,EAAX;AACCwtU,EAAAA,SAAS,GAAG;AAAE;AAAf,MAA+BxtU,IAA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A;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,MAAM/qb,cAAN,CAAqB;AACjB;AACJ;AACA;AACA;AACA;AACA;AACI38B,EAAAA,WAAW,CAAC2nd,KAAD,EAAQ15b,OAAR,EAAiB;AACxB,SAAK05b,KAAL,GAAaA,KAAb;AACA;;AACA,SAAKd,cAAL,GAAsB,gBAAtB;AACA,SAAKpmb,KAAL,GAAamS,SAAb;;AACA,QAAI,OAAO3kB,OAAP,IAAkB,QAAtB,EAAgC;AAC5B,OAAC,OAAO2S,SAAP,KAAqB,WAArB,IAAoCA,SAArC,KACI0pa,cAAc,CAACr8a,OAAD,EAAU,CAAV,EAAa,0CAAb,CADlB,CAD4B,CAG5B;AACA;;AACA,WAAK+gb,iBAAL,GAAyB/gb,OAAzB;AACH,KAND,MAOK,IAAIA,OAAO,KAAK2kB,SAAhB,EAA2B;AAC5B,WAAKnS,KAAL,GAAaC,kBAAkB,CAAC;AAC5BC,QAAAA,KAAK,EAAE,IADqB;AAE5B9xB,QAAAA,UAAU,EAAEof,OAAO,CAACpf,UAAR,IAAsB,MAFN;AAG5BD,QAAAA,OAAO,EAAEqf,OAAO,CAACrf;AAHW,OAAD,CAA/B;AAKH;AACJ;;AACD6uC,EAAAA,QAAQ,GAAG;AACP,WAAQ,kBAAiB,KAAKkqa,KAAM,EAApC;AACH;;AA7BgB;AAgCrB;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,MAAMC,4BAA4B,gBAAG,IAAIjrb,cAAJ,CAAmB,2BAAnB,CAArC,EACA;AACA;;AACA,MAAMkrb,mCAAmC,G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CA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,MAAM6oT,kBAAN,CAAyB;AACrB;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACkB,SAAP99c,OAAO,CAACtB,SAAD,EAAY;AACtB,WAAO2+c,0BAA0B,CAAC3+c,SAAD,CAAjC;AACH;AACD;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAC2B,SAAhBq/c,gBAAgB,CAACr/c,SAAD,EAAYg5C,MAAZ,EAAoB;AACvC,UAAMsma,2BAA2B,GAAGF,kBAAkB,CAAC99c,OAAnB,CAA2BtB,SAA3B,CAApC;AACA,WAAOo/c,kBAAkB,CAACG,qBAAnB,CAAyCD,2BAAzC,EAAsEtma,MAAtE,CAAP;AACH;AACD;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACgC,SAArBuma,qBAAqB,CAACv/c,SAAD,EAAYg5C,MAAZ,EAAoB;AAC5C,WAAO,IAAIwma,mBAAJ,CAAwBx/c,SAAxB,EAAmCg5C,MAAnC,CAAP;AACH;;AAzFoB;;IA2FnBwma;AAAN,QAAMA,mBAAN,CAA0B;AACtB;AACJ;AACA;AACIlof,IAAAA,WAAW,CAACmof,UAAD,EAAaC,OAAb,EAAsB;AAC7B;AACA,WAAKC,oBAAL,GAA4B,CAA5B;AACA,WAAKF,UAAL,GAAkBA,UAAlB;AACA,WAAKzma,MAAL,GAAc0ma,OAAO,IAAI,IAAzB;AACA,YAAMllV,GAAG,GAAGilV,UAAU,CAA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CA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,IAAIC,mEAAJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASC,qBAAT,CAA+B5xC,KAA/B,EAAsCxO,KAAtC,EAA6CqgD,qBAA7C,EAAoEvrc,KAApE,EAA2Ewrc,aAA3E,EAA0FC,cAA1F,EAA0G;AACtG5sd,EAAAA,SAAS,IAAIg0a,qBAAqB,CAACgF,QAAQ,EAAT,CAAlC;AACA,MAAI6zC,SAAS,GAAGD,cAAc,GAAGvgD,KAAK,CAACi9B,aAAT,GAAyBj9B,KAAK,CAACk9B,aAA7D;AACA,MAAIujB,QAAQ,GAAG3mB,oBAAoB,CAAC0mB,SAAD,CAAnC;AACA,MAAIE,QAAQ,GAAGvmB,oBAAoB,CAACqmB,SAAD,CAAnC;AACAhyC,EAAAA,KAAK,CAAC15Z,KAAD,CAAL,GAAeurc,qBAAf;AACA,MAAIM,sBAAsB,GAAG,KAA7B;AACA,MAAIC,WAAJ;;AACA,MAAInod,KAAK,CAACi8E,OAAN,CAAc2rY,qBAAd,CAAJ,EAA0C;AACtC;AACA,UAAMQ,mBAAmB,GAAGR,qBAA5B;AACAO,IAAAA,WAAW,GAAGC,mBAAmB,CAAC,CAAD,CAAjC,CAHsC,CAGA;AACtC;;AACA,QAAID,WAAW,KA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ChBy5b,IAAAA,uBAAuB,CAAC,KAAKpsB,MAAL,CAAYnU,KAAZ,CAAD,EAAqB,KAAKmU,MAA1B,EAAkC,IAAlC,EAAwCrta,QAAxC,CAAvB;AACH;AACD;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACI5rC,EAAAA,YAAY,GAAG;AACXiqe,IAAAA,aAAa,CAAC,KAAK4vB,mBAAL,IAA4B,KAAK5gD,MAAlC,CAAb;AACH;AACD;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACIlxM,EAAAA,MAAM,GAAG;AACL,SAAKkxM,MAAL,CAAYlU,KAAZ,KAAsB,CAAC;AAAI;AAA3B;AACH;AACD;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACIi1D,EAAAA,QAAQ,GAAG;AACP,SAAK/gD,MAAL,CAAYlU,KAAZ,KAAsB;AAAI;AAA1B;AACH;AACD;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACItnb,EAAAA,aAAa,GAAG;AA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A0B;AAAEA,EAAAA;AAAF,CAA1B,CAAV,CAA/B;AACA;AACA;AACA;AACA;;AACA,MAAMz3R,MAAM,gBAAGmnO,iBAAiB,CAAC,QAAD,EAAYswD,mBAAD,KAA0B;AAAEA,EAAAA;AAAF,CAA1B,CAAX,CAAhC;AACA;AACA;AACA;AACA;;AACA,MAAMC,WAAW,gBAAGvwD,iBAAiB,CAAC,aAAD,EAAiBwwD,gBAAD,KAAuB;AAAEA,EAAAA;AAAF,CAAvB,CAAhB,CAArC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,MAAM13R,YAAY,gBAAGknO,iBAAiB,CAAC,cAAD,EAAiB,CAAC58V,SAAD,EAAYC,IAAZ,MAAsB;AAAED,EAAAA,SAAF;AAAaC,EAAAA;AAAb,CAAtB,CAAjB,CAAtC;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;AACA;;AACA,MAAM1tF,QAAQ,gBAAGipb,aAAa,CAAC,UAAD,EAAcz9a,QAAD,IAAcA,QAA3B,EAAqCmK,SAArC,EAAgDA,SAAhD;AAC9B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAACp7B,IAAD,EAAO6oE,IAAP,KAAgBmyb,eAAe,CAACh7f,IAAD,EAAO6oE,IAAP,CAZD,CAA9B;AAcA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,SAASw3Q,IAAT,CAAc,GAAGltO,IAAjB,EAAuB,CACnB;AACH;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;AACA;;;AACA,MAAMotZ,gBAAgB,GAAG,IAAzB;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,MAAM90gB,eAAe,gBAAG,IAAI05B,cAAJ,CAAmB,yBAAnB,CAAxB;AACA;AACA;AACA;AACA;AACA;;IACMq7e;AAAN,QAAMA,qBAAN,CAA4B;AACxBh4gB,IAAAA,WAAW,CAACi4gB,QAAD,EAAW;AAClB,WAAKA,QAAL,GAAgBA,QAAhB;AACA,WAAKjue,OAAL,GAAe6tT,IAAf;AACA,WAAKnsT,MAAL,GAAcmsT,IAAd;AACA,WAAKzoT,WAAL,GAAmB,KAAnB;AACA,WAAKtD,IAAL,GAAY,KAAZ;AACA,WAAKose,WAAL,GAAmB,IAAInue,OAAJ,CAAY,CAACra,GAAD,EAAMyof,GAAN,KAAc;AACzC,aAAKnue,OAAL,GAAeta,GAAf;AACA,aAAKgc,MAAL,GAAcyse,GAAd;AACH,OAHkB,CAAnB;AAIH;AACD;;;AACAC,IAAAA,eAAe,GAAG;AACd,UAAI,KAAKhpe,WAAT,EAAsB;AAClB;AACH;;AACD,YAAMipe,iBAAiB,GAAG,EAA1B;;AACA,YAAMjtgB,QAAQ,GAAG,MAAM;AACnB,aAAK0gC,IAAL,GAAY,IAAZ;AACA,aAAK9B,OAAL;AACH,OAHD;;AAIA,UAAI,KAAKiue,QAAT,EAAmB;AACf,aAAK,IAAI/ggB,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAG,KAAK+ggB,QAAL,CAAc/qgB,MAAlC,EAA0CgK,CAAC,EAA3C,E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AA2B;AACvB,MAAI,OAAO1jB,iBAAP,KAA6B,WAA7B,IAA4CA,iBAA5C,IACA,OAAOC,IAAP,KAAgB,WADhB,IAC+BA,IAAI,CAAC0jB,MAAL,KAAgB,IADnD,EACyD;AACrD;AACA;AACA;AACA,WAAO1jB,IAAI,CAAC0jB,MAAZ;AACH,GAND,MAOK;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAQ,OAAOC,SAAP,KAAqB,WAArB,IAAoCA,SAAS,CAAC1hT,MAA/C,IAA0D6+R,iBAAjE;AACH;AACJ;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,MAAMj1E,SAAS,gBAAG,IAAI3kZ,cAAJ,CAAmB,UAAnB,EAA+B;AAC7C9tB,EAAAA,UAAU,EAAE,MADiC;AAE7CD,EAAAA,OAAO,EAAE,MAAM8/X,MAAM,CAAC4yC,SAAD,EAAYqqB,WAAW,CAAC7ua,QAAZ,GAAuB6ua,WAAW,CAACv+D,QAA/C,CAAN,IAAkE8rI,eAAe;AAFnD,CAA/B,CAAlB;AAIA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,MAAMn3F,qBAAqB,gBAAG,IAAIplZ,cAAJ,CAAmB,qBAAnB,EAA0C;AACpE9tB,EAAAA,UAAU,EAAE,MADwD;AAEpED,EAAAA,OAAO,EAAE,MAAM4nf;AAFqD,CAA1C,CAA9B;AAIA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,MAAM6iB,YAAY,gBAAG,IAAI18e,cAAJ,CAAmB,cAAnB,CAArB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAC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KAAK,CAAClrZ,KAAP,EAAc2xZ,KAAd,CAA9C,CAHmC,CAGiC;;AACpE,WAAO,IAAIyyD,SAAJ,CAAcr0C,aAAd,EAA6BA,aAA7B,CAAP;AACH,GALD,MAMK,IAAI7kB,KAAK,CAACz1b,IAAN,IAAc;AAAE;AAAF,IAAmB;AAAG;AAAtB,IAA2C;AAAG;AAA5D,GAAJ,EAA4E;AAC7E;AACA;AACA,UAAM2sgB,iBAAiB,GAAGzwE,KAAK,CAACtB,0BAAD,CAA/B,CAH6E,CAGhB;;AAC7D,WAAO,IAAI+zD,SAAJ,CAAcge,iBAAd,EAAiCzwE,KAAjC,CAAP;AACH;;AACD,SAAO,IAAP;AACH;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,MAAM0wE,OAAN,SAAsBn5R,iBAAtB,CAAwC;AAExC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,MAAMo5R,eAAN,SAA8BD,OAA9B,CAAsC;AAGtC;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,IAAIE,6BAA6B,GAAG,EAApC;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;;AACA,MAAMC,kBAAN,CAAyB;AACrBvkhB,EAAAA,WAAW,CAAC+Q,IAAD,EAAOonC,QAAP,EAAiB;AACxB,SAAKpnC,IAAL,GAAYA,IAAZ;AACA,SAAKonC,QAAL,GAAgBA,QAAhB;AACH;;AAJoB;AAMzB;AACA;AACA;;;AACA,SAASqse,gBAAT,CAA0BC,QAA1B,EAAoC;AAChC,SAAOA,QAAQ,CAAC16gB,GAAT,CAAcqjN,EAAD,IAAQA,EA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A;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,MAAM02f,mBAAmB,gBAAG,IAAI12f,yDAAJ,CAAmB,mBAAnB,CAA5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,MAAM22f,YAAY,GAAG,oMAArB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,MAAM/qgB,UAAN,CAAiB;AACb;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACc,SAAHyJ,GAAG,CAACA,GAAD,EAAM;AACZ,WAAOuhgB,YAAY,CAACvhgB,GAAD,CAAnB;AACH;AACD;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACc,SAAHD,GAAG,CAACA,GAAD,EAAM;AACZ,WAAOyhgB,YAAY,CAACzhgB,GAAD,CAAnB;AACH;AACD;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACmB,SAARhJ,QAAQ,CAAC8M,OAAD,EAAU;AACrB,WAAO49f,iBAAiB,CAAC59f,OAAD,CAAxB;AACH;AACD;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACuB,SAAZ69f,YAAY,CAAC79f,OAAD,EAAU;AACzB,WAAO89f,qBAAqB,CAAC99f,OAAD,CAA5B;AACH;AACD;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACgB,SAAL0/D,KAAK,CAAC1/D,OAAD,EAAU;AAClB,WAAO+9f,cAAc,CAAC/9f,OAAD,CAArB;AACH;AACD;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACoB,SAAT7M,SAAS,CAACA,SAAD,EAAY;AACxB,WAAO6qgB,kBAAkB,CAAC7qgB,SAAD,CAAzB;AACH;AACD;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACoB,SAATC,SAAS,CAACA,SAAD,EAAY;AACxB,WAAO6qgB,kBAAkB,CAAC7qgB,SAAD,CAAzB;AACH;AACD;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACkB,SAAPgJ,OAAO,CAACA,OAAD,EAAU;AACpB,WAAO8hgB,gBAAgB,CAAC9hgB,OAAD,CAAvB;AACH;AACD;AACJ;AACA;AACA;AACA;AACA;AACA;;;AACwB,SAAb+hgB,aAAa,CAACn+f,OAAD,EAAU;AAC1B,WAAOm+f,aAAa,CAACn+f,OAAD,CAApB;AACH;;AACa,SAAP/M,OAAO,CAACmrgB,UAAD,EAAa;AACvB,WAAOnrgB,OAAO,CAACmrgB,UAAD,CAAd;AACH;AACD;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACuB,SAAZC,YAAY,CAACD,UAAD,EAAa;AAC5B,WAAOC,YAAY,CAACD,UAAD,CAAnB;AACH;;AAlRY;AAoRjB;AACA;AACA;AACA;;;AACA,SAASV,YAAT,CAAsBvhgB,GAAtB,EAA2B;AACvB,SAAQ6D,OAAD,IAAa;AAChB,QAAIq9f,iBAAiB,CAACr9f,OAAO,CAACpkB,KAAT,CAAjB,IAAoCyhhB,iBAAiB,CAAClhgB,GAAD,CAAzD,EAAgE;AAC5D,aAAO,IAAP,CAD4D,CAC/C;AAChB;;AACD,UAAMvgB,KAAK,GAAGkjI,UAAU,CAAC9+G,OAAO,CAACpkB,KAAT,CAAxB,CAJgB,CAKhB;AACA;;AACA,WAAO,CAACwiB,KAAK,CAACxiB,KAAD,CAAN,IAAiBA,KAAK,GAAGugB,GAAzB,GAA+B;AAAE,aAAO;AAAE,eAAOA,GAAT;AAAc,kBAAU6D,OAAO,CAACpkB;AAAhC;AAAT,KAA/B,GAAoF,IAA3F;AACH,GARD;AASH;AACD;AACA;AACA;AACA;;;AACA,SAAS+hhB,YAAT,CAAsBzhgB,GAAtB,EAA2B;AACvB,SAAQ8D,OAAD,IAAa;AAChB,QAAIq9f,iBAAiB,CAACr9f,OAAO,CAACpkB,KAAT,CAAjB,IAAoCyhhB,iBAAiB,CAACnhgB,GAAD,CAAzD,EAAgE;AAC5D,aAAO,IAAP,CAD4D,CAC/C;AAChB;;AACD,UAAMtgB,KAAK,GAAGkjI,UAAU,CAAC9+G,OAAO,CAACpkB,KAAT,CAAxB,CAJgB,CAKhB;AACA;;AACA,WAAO,CAACwiB,KAAK,CAACxiB,KAAD,CAAN,IAAiBA,KAAK,GAAGsgB,GAAzB,GAA+B;AAAE,aAAO;AAAE,eAAOA,GAAT;AAAc,kBAAU8D,OAAO,CAACpkB;AAAhC;AAAT,KAA/B,GAAoF,IAA3F;AACH,GARD;AASH;AACD;AACA;AACA;AACA;;;AACA,SAASgihB,iBAAT,CAA2B59f,OAA3B,EAAoC;AAChC,SAAOq9f,iBAAiB,CAACr9f,OAAO,CAACpkB,KAAT,CAAjB,GAAmC;AAAE,gBAAY;AAAd,GAAnC,GAA0D,IAAjE;AACH;AACD;AACA;AACA;AACA;AACA;;;AACA,SAASkihB,qBAAT,CAA+B99f,OAA/B,EAAwC;AACpC,SAAOA,OAAO,CAACpkB,KAAR,KAAkB,IAAlB,GAAyB,IAAzB,GAAgC;AAAE,gBAAY;AAAd,GAAvC;AACH;AACD;AACA;AACA;AACA;;;AACA,SAASmihB,cAAT,CAAwB/9f,OAAxB,EAAiC;AAC7B,MAAIq9f,iBAAiB,CAACr9f,OAAO,CAACpkB,KAAT,CAArB,EAAsC;AAClC,WAAO,IAAP,CADkC,CACrB;AAChB;;AACD,SAAO6hhB,YAAY,CAAC19f,IAAb,CAAkBC,OAAO,CAACpkB,KAA1B,IAAmC,IAAnC,GAA0C;AAAE,aAAS;AAAX,GAAjD;AACH;AACD;AACA;AACA;AACA;;;AACA,SAASoihB,kBAAT,CAA4B7qgB,SAA5B,EAAuC;AACnC,SAAQ6M,OAAD,IAAa;AAChB,QAAIq9f,iBAAiB,CAACr9f,OAAO,CAACpkB,KAAT,CAAjB,IAAoC,CAAC0hhB,cAAc,CAACt9f,OAAO,CAACpkB,KAAT,CAAvD,EAAwE;AACpE;AACA;AACA,aAAO,IAAP;AACH;;AACD,WAAOokB,OAAO,CAACpkB,KAAR,CAAcvE,MAAd,GAAuB8b,SAAvB,GACH;AAAE,mBAAa;AAAE,0BAAkBA,SAApB;AAA+B,wBAAgB6M,OAAO,CAACpkB,KAAR,CAAcvE;AAA7D;AAAf,KADG,GAEH,IAFJ;AAGH,GATD;AAUH;AACD;AACA;AACA;AACA;;;AACA,SAAS4mhB,kBAAT,CAA4B7qgB,SAA5B,EAAuC;AACnC,SAAQ4M,OAAD,IAAa;AAChB,WAAOs9f,cAAc,CAACt9f,OAAO,CAACpkB,KAAT,CAAd,IAAiCokB,OAAO,CAACpkB,KAAR,CAAcvE,MAAd,GAAuB+b,SAAxD,GACH;AAAE,mBAAa;AAAE,0BAAkBA,SAApB;AAA+B,wBAAgB4M,OAAO,CAACpkB,KAAR,CAAcvE;AAA7D;AAAf,KADG,GAEH,IAFJ;AAGH,GAJD;AAKH;AACD;AACA;AACA;AACA;;;AACA,SAAS6mhB,gBAAT,CAA0B9hgB,OAA1B,EAAmC;AAC/B,MAAI,CAACA,OAAL,EACI,OAAO+hgB,aAAP;AACJ,MAAIt+f,KAAJ;AACA,MAAIy+f,QAAJ;;AACA,MAAI,OAAOligB,OAAP,KAAmB,QAAvB,EAAiC;AAC7BkigB,IAAAA,QAAQ,GAAG,EAAX;AACA,QAAIligB,OAAO,CAAC61B,MAAR,CAAe,CAAf,MAAsB,GAA1B,EACIqse,QAAQ,IAAI,GAAZ;AACJA,IAAAA,QAAQ,IAAIligB,OAAZ;AACA,QAAIA,OAAO,CAAC61B,MAAR,CAAe71B,OAAO,CAAC/kB,MAAR,GAAiB,CAAhC,MAAuC,GAA3C,EACIinhB,QAAQ,IAAI,GAAZ;AACJz+f,IAAAA,KAAK,GAAG,IAAIC,MAAJ,CAAWw+f,QAAX,CAAR;AACH,GARD,MASK;AACDA,IAAAA,QAAQ,GAAGligB,OAAO,CAACwrB,QAAR,EAAX;AACA/nB,IAAAA,KAAK,GAAGzD,OAAR;AACH;;AACD,SAAQ4D,OAAD,IAAa;AAChB,QAAIq9f,iBAAiB,CAACr9f,OAAO,CAACpkB,KAAT,CAArB,EAAsC;AAClC,aAAO,IAAP,CADkC,CACrB;AAChB;;AACD,UAAMA,KAAK,GAAGokB,OAAO,CAACpkB,KAAtB;AACA,WAAOikB,KAAK,CAACE,IAAN,CAAWnkB,KAAX,IAAoB,IAApB,GACH;AAAE,iBAAW;AAAE,2BAAmB0ihB,QAArB;AAA+B,uBAAe1ihB;AAA9C;AAAb,KADJ;AAEH,GAPD;AAQH;AACD;AACA;AACA;;;AACA,SAASuihB,aAAT,CAAuBn+f,OAAvB,EAAgC;AAC5B,SAAO,IAAP;AACH;;AACD,SAAS0+G,SAAT,CAAmBznG,CAAnB,EAAsB;AAClB,SAAOA,CAAC,IAAI,IAAZ;AACH;;AACD,SAAS+nT,YAAT,CAAsB7nT,CAAtB,EAAyB;AACrB,QAAM2wT,GAAG,GAAGkkF,4DAAU,CAAC70Y,CAAD,CAAV,GAAgBnP,0CAAI,CAACmP,CAAD,CAApB,GAA0BA,CAAtC;;AACA,MAAI,CAAEskf,+DAAa,CAAC3zL,GAAD,CAAf,KAA0B,OAAO/8T,SAAP,KAAqB,WAArB,IAAoCA,SAA9D,CAAJ,EAA8E;AAC1E,UAAM,IAAI8sB,KAAJ,CAAW,qDAAX,CAAN;AACH;;AACD,SAAOiwS,GAAP;AACH;;AACD,SAASy2L,WAAT,CAAqBC,aAArB,EAAoC;AAChC,MAAI3kgB,GAAG,GAAG,EAAV,CADgC,CAEhC;AACA;;AACA2kgB,EAAAA,aAAa,CAACjuf,OAAd,CAAuByxD,MAAD,IAAY;AAC9BnoE,IAAAA,GAAG,GAAGmoE,MAAM,IAAI,IAAV,GAAiB,EAAE,GAAGnoE,GAAL;AAAU,SAAGmoE;AAAb,KAAjB,GAAyCnoE,GAA/C;AACH,GAFD;AAGA,SAAOgT,MAAM,CAACkD,IAAP,CAAYlW,GAAZ,EAAiBxiB,MAAjB,KAA4B,CAA5B,GAAgC,IAAhC,GAAuCwiB,GAA9C;AACH;;AACD,SAAS4kgB,iBAAT,CAA2Bz+f,OAA3B,EAAoCo+f,UAApC,EAAgD;AAC5C,SAAOA,UAAU,CAAClqhB,GAAX,CAAewqhB,SAAS,IAAIA,SAAS,CAAC1+f,OAAD,CAArC,CAAP;AACH;;AACD,SAAS2+f,aAAT,CAAuBD,SAAvB,EAAkC;AAC9B,SAAO,CAACA,SAAS,CAACE,QAAlB;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASC,mBAAT,CAA6BT,UAA7B,EAAyC;AACrC,SAAOA,UAAU,CAAClqhB,GAAX,CAAewqhB,SAAS,IAAI;AAC/B,WAAOC,aAAa,CAACD,SAAD,CAAb,GACHA,SADG,GAEDr2W,CAAD,IAAOq2W,SAAS,CAACE,QAAV,CAAmBv2W,CAAnB,CAFZ;AAGH,GAJM,CAAP;AAKH;AACD;AACA;AACA;AACA;;;AACA,SAASp1J,OAAT,CAAiBmrgB,UAAjB,EAA6B;AACzB,MAAI,CAACA,UAAL,EACI,OAAO,IAAP;AACJ,QAAMU,iBAAiB,GAAGV,UAAU,CAAC/phB,MAAX,CAAkBqqI,SAAlB,CAA1B;AACA,MAAIogZ,iBAAiB,CAACznhB,MAAlB,IAA4B,CAAhC,EACI,OAAO,IAAP;AACJ,SAAO,UAAU2oB,OAAV,EAAmB;AACtB,WAAOu+f,WAAW,CAACE,iBAAiB,CAACz+f,OAAD,EAAU8+f,iBAAV,CAAlB,CAAlB;AACH,GAFD;AAGH;AACD;AACA;AACA;AACA;AACA;;;AACA,SAASC,iBAAT,CAA2BX,UAA3B,EAAuC;AACnC,SAAOA,UAAU,IAAI,IAAd,GAAqBnrgB,OAAO,CAAC4rgB,mBAAmB,CAACT,UAAD,CAApB,CAA5B,GAAgE,IAAvE;AACH;AACD;AACA;AACA;AACA;;;AACA,SAASC,YAAT,CAAsBD,UAAtB,EAAkC;AAC9B,MAAI,CAACA,UAAL,EACI,OAAO,IAAP;AACJ,QAAMU,iBAAiB,GAAGV,UAAU,CAAC/phB,MAAX,CAAkBqqI,SAAlB,CAA1B;AACA,MAAIogZ,iBAAiB,CAACznhB,MAAlB,IAA4B,CAAhC,EACI,OAAO,IAAP;AACJ,SAAO,UAAU2oB,OAAV,EAAmB;AACtB,UAAMklU,WAAW,GAAGu5L,iBAAiB,CAACz+f,OAAD,EAAU8+f,iBAAV,CAAjB,CAA8C5qhB,GAA9C,CAAkD8qV,YAAlD,CAApB;AACA,WAAOv1V,8CAAQ,CAACy7V,WAAD,CAAR,CAAsB95V,IAAtB,CAA2B8I,mDAAG,CAACqqhB,WAAD,CAA9B,CAAP;AACH,GAHD;AAIH;AACD;AACA;AACA;AACA;AACA;;;AACA,SAASS,sBAAT,CAAgCZ,UAAhC,EAA4C;AACxC,SAAOA,UAAU,IAAI,IAAd,GAAqBC,YAAY,CAACQ,mBAAmB,CAACT,UAAD,CAApB,CAAjC,GACH,IADJ;AAEH;AACD;AACA;AACA;AACA;;;AACA,SAASa,eAAT,CAAyBC,iBAAzB,EAA4CC,YAA5C,EAA0D;AACtD,MAAID,iBAAiB,KAAK,IAA1B,EACI,OAAO,CAACC,YAAD,CAAP;AACJ,SAAOtvf,KAAK,CAACi8E,OAAN,CAAcoza,iBAAd,IAAmC,CAAC,GAAGA,iBAAJ,EAAuBC,YAAvB,CAAnC,GACH,CAACD,iBAAD,EAAoBC,YAApB,CADJ;AAEH;AACD;AACA;AACA;;;AACA,SAASC,oBAAT,CAA8Bp/f,OAA9B,EAAuC;AACnC,SAAOA,OAAO,CAACq/f,cAAf;AACH;AACD;AACA;AACA;;;AACA,SAASC,yBAAT,CAAmCt/f,OAAnC,EAA4C;AACxC,SAAOA,OAAO,CAACu/f,mBAAf;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASC,mBAAT,CAA6BpB,UAA7B,EAAyC;AACrC,MAAI,CAACA,UAAL,EACI,OAAO,EAAP;AACJ,SAAOvuf,KAAK,CAACi8E,OAAN,CAAcsya,UAAd,IAA4BA,UAA5B,GAAyC,CAACA,UAAD,CAAhD;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASqB,YAAT,CAAsBrB,UAAtB,EAAkCM,SAAlC,EAA6C;AACzC,SAAO7uf,KAAK,CAACi8E,OAAN,CAAcsya,UAAd,IAA4BA,UAAU,CAACvnhB,QAAX,CAAoB6nhB,SAApB,CAA5B,GAA6DN,UAAU,KAAKM,SAAnF;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASvhgB,aAAT,CAAuBihgB,UAAvB,EAAmCsB,iBAAnC,EAAsD;AAClD,QAAM39a,OAAO,GAAGy9a,mBAAmB,CAACE,iBAAD,CAAnC;AACA,QAAMC,eAAe,GAAGH,mBAAmB,CAACpB,UAAD,CAA3C;AACAuB,EAAAA,eAAe,CAACpvf,OAAhB,CAAyB1vB,CAAD,IAAO;AAC3B;AACA;AACA;AACA;AACA,QAAI,CAAC4+gB,YAAY,CAAC19a,OAAD,EAAUlhG,CAAV,CAAjB,EAA+B;AAC3BkhG,MAAAA,OAAO,CAACpxE,IAAR,CAAa9vB,CAAb;AACH;AACJ,GARD;AASA,SAAOkhG,OAAP;AACH;;AACD,SAAS69a,gBAAT,CAA0BxB,UAA1B,EAAsCsB,iBAAtC,EAAyD;AACrD,SAAOF,mBAAmB,CAACE,iBAAD,CAAnB,CAAuCrrhB,MAAvC,CAA8CwM,CAAC,IAAI,CAAC4+gB,YAAY,CAACrB,UAAD,EAAav9gB,CAAb,CAAhE,CAAP;AACH;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,MAAMg/gB,wBAAN,CAA+B;AAC3B11hB,EAAAA,WAAW,GAAG;AACV;AACR;AACA;AACA;AACQ,SAAKk1hB,cAAL,GAAsB,EAAtB;AACA;AACR;AACA;AACA;AACA;;AACQ,SAAKE,mBAAL,GAA2B,EAA3B;AACA;AACR;AACA;;AACQ,SAAKO,mBAAL,GAA2B,EAA3B;AACH;AACD;AACJ;AACA;AACA;;;AACa,MAALlkhB,KAAK,GAAG;AACR,WAAO,KAAKokB,OAAL,GAAe,KAAKA,OAAL,CAAapkB,KAA5B,GAAoC,IAA3C;AACH;AACD;AACJ;AACA;AACA;AACA;AACA;;;AACa,MAALwqa,KAAK,GAAG;AACR,WAAO,KAAKpmZ,OAAL,GAAe,KAAKA,OAAL,CAAaomZ,KAA5B,GAAoC,IAA3C;AACH;AACD;AACJ;AACA;AACA;AACA;;;AACe,MAAPtoM,OAAO,GAAG;AACV,WAAO,KAAK99M,OAAL,GAAe,KAAKA,OAAL,CAAa89M,OAA5B,GAAsC,IAA7C;AACH;AACD;AACJ;AACA;AACA;AACA;AACA;;;AACe,MAAP80H,OAAO,GAAG;AACV,WAAO,KAAK5yU,OAAL,GAAe,KAAKA,OAAL,CAAa4yU,OAA5B,GAAsC,IAA7C;AACH;AACD;AACJ;AACA;AACA;AACA;AACA;;;AACgB,MAAR30U,QAAQ,GAAG;AACX,WAAO,KAAK+B,OAAL,GAAe,KAAKA,OAAL,CAAa/B,QAA5B,GAAuC,IAA9C;AACH;AACD;AACJ;AACA;AACA;AACA;;;AACe,MAAPpH,OAAO,GAAG;AACV,WAAO,KAAKmJ,OAAL,GAAe,KAAKA,OAAL,CAAanJ,OAA5B,GAAsC,IAA7C;AACH;AACD;AACJ;AACA;AACA;;;AACc,MAANmrE,MAAM,GAAG;AACT,WAAO,KAAKhiE,OAAL,GAAe,KAAKA,OAAL,CAAagiE,MAA5B,GAAqC,IAA5C;AACH;AACD;AACJ;AACA;AACA;AACA;;;AACgB,MAAR+9b,QAAQ,GAAG;AACX,WAAO,KAAK//f,OAAL,GAAe,KAAKA,OAAL,CAAa+/f,QAA5B,GAAuC,IAA9C;AACH;AACD;AACJ;AACA;AACA;AACA;;;AACa,MAALlpD,KAAK,GAAG;AACR,WAAO,KAAK72c,OAAL,GAAe,KAAKA,OAAL,CAAa62c,KAA5B,GAAoC,IAA3C;AACH;AACD;AACJ;AACA;AACA;AACA;;;AACe,MAAPmpD,OAAO,GAAG;AACV,WAAO,KAAKhggB,OAAL,GAAe,KAAKA,OAAL,CAAagggB,OAA5B,GAAsC,IAA7C;AACH;AACD;AACJ;AACA;AACA;AACA;AACA;;;AACc,MAANlzgB,MAAM,GAAG;AACT,WAAO,KAAKkT,OAAL,GAAe,KAAKA,OAAL,CAAalT,MAA5B,GAAqC,IAA5C;AACH;AACD;AACJ;AACA;AACA;AACA;;;AACiB,MAATmzgB,SAAS,GAAG;AACZ,WAAO,KAAKjggB,OAAL,GAAe,KAAKA,OAAL,CAAaiggB,SAA5B,GAAwC,IAA/C;AACH;AACD;AACJ;AACA;AACA;AACA;;;AACqB,MAAbC,aAAa,GAAG;AAChB,WAAO,KAAKlggB,OAAL,GAAe,KAAKA,OAAL,CAAakggB,aAA5B,GAA4C,IAAnD;AACH;AACD;AACJ;AACA;AACA;AACA;AACA;;;AACoB,MAAZ5jgB,YAAY,GAAG;AACf,WAAO,KAAK0D,OAAL,GAAe,KAAKA,OAAL,CAAa1D,YAA5B,GAA2C,IAAlD;AACH;AACD;AACJ;AACA;AACA;AACA;;;AACY,MAAJ5qB,IAAI,GAAG;AACP,WAAO,IAAP;AACH;AACD;AACJ;AACA;AACA;;;AACIyuhB,EAAAA,cAAc,CAAC/B,UAAD,EAAa;AACvB,SAAKiB,cAAL,GAAsBjB,UAAU,IAAI,EAApC;AACA,SAAKgC,oBAAL,GAA4BrB,iBAAiB,CAAC,KAAKM,cAAN,CAA7C;AACH;AACD;AACJ;AACA;AACA;;;AACIgB,EAAAA,mBAAmB,CAACjC,UAAD,EAAa;AAC5B,SAAKmB,mBAAL,GAA2BnB,UAAU,IAAI,EAAzC;AACA,SAAKkC,yBAAL,GAAiCtB,sBAAsB,CAAC,KAAKO,mBAAN,CAAvD;AACH;AACD;AACJ;AACA;AACA;AACA;;;AACiB,MAATb,SAAS,GAAG;AACZ,WAAO,KAAK0B,oBAAL,IAA6B,IAApC;AACH;AACD;AACJ;AACA;AACA;AACA;;;AACsB,MAAdG,cAAc,GAAG;AACjB,WAAO,KAAKD,yBAAL,IAAkC,IAAzC;AACH;AACD;AACJ;AACA;AACA;AACA;;;AACIE,EAAAA,kBAAkB,CAAC15X,EAAD,EAAK;AACnB,SAAKg5X,mBAAL,CAAyBnvf,IAAzB,CAA8Bm2H,EAA9B;AACH;AACD;AACJ;AACA;AACA;AACA;;;AACI25X,EAAAA,yBAAyB,GAAG;AACxB,SAAKX,mBAAL,CAAyBvvf,OAAzB,CAAiCu2H,EAAE,IAAIA,EAAE,EAAzC;;AACA,SAAKg5X,mBAAL,GAA2B,EAA3B;AACH;AACD;AACJ;AACA;AACA;;;AACIrrgB,EAAAA,KAAK,CAAC7Y,KAAK,GAAGmhC,SAAT,EAAoB;AACrB,QAAI,KAAK/c,OAAT,EACI,KAAKA,OAAL,CAAavL,KAAb,CAAmB7Y,KAAnB;AACP;AACD;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACIwiV,EAAAA,QAAQ,CAACngT,SAAD,EAAYvsC,IAAZ,EAAkB;AACtB,WAAO,KAAKsuB,OAAL,GAAe,KAAKA,OAAL,CAAao+T,QAAb,CAAsBngT,SAAtB,EAAiCvsC,IAAjC,CAAf,GAAwD,KAA/D;AACH;AACD;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACIgvhB,EAAAA,QAAQ,CAACzif,SAAD,EAAYvsC,IAAZ,EAAkB;AACtB,WAAO,KAAKsuB,OAAL,GAAe,KAAKA,OAAL,CAAa0ggB,QAAb,CAAsBzif,SAAtB,EAAiCvsC,IAAjC,CAAf,GAAwD,IAA/D;AACH;;AApQ0B;AAuQ/B;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,MAAMivhB,gBAAN,SAA+Bd,wBAA/B,CAAwD;AACpD;AACJ;AACA;AACA;AACqB,MAAbe,aAAa,GAAG;AAChB,WAAO,IAAP;AACH;AACD;AACJ;AACA;AACA;;;AACY,MAAJlvhB,IAAI,GAAG;AACP,WAAO,IAAP;AACH;;AAdmD;AAiBxD;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,MAAMmvhB,SAAN,SAAwBhB,wBAAxB,CAAiD;AAC7C11hB,EAAAA,WAAW,GAAG;AACV,UAAM,GAAG+qC,SAAT;AACA;AACR;AACA;AACA;AACA;AACA;;AACQ,SAAKq9c,OAAL,GAAe,IAAf;AACA;AACR;AACA;AACA;;AACQ,SAAKr3e,IAAL,GAAY,IAAZ;AACA;AACR;AACA;AACA;;AACQ,SAAK4lhB,aAAL,GAAqB,IAArB;AACH;;AApB4C;AAuBjD;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,MAAMC,qBAAN,CAA4B;AACxB52hB,EAAAA,WAAW,CAAC+K,EAAD,EAAK;AACZ,SAAK8rhB,GAAL,GAAW9rhB,EAAX;AACH;;AACDqgH,EAAAA,EAAE,CAACzoG,MAAD,EAAS;AACP;AACA;AACA;AACA;AACA;AACA;AACA,QAAIA,MAAM,KAAK,WAAf,EAA4B;AACxB;AACA;AACA,aAAO,CAAC,CAAC,KAAKk0gB,GAAL,EAAUC,SAAnB;AACH;;AACD,WAAO,CAAC,CAAC,KAAKD,GAAL,EAAUhhgB,OAAV,GAAoBlT,MAApB,CAAT;AACH;;AAjBuB;;AAmB5B,MAAMo0gB,mBAAmB,GAAG;AACxB,0BAAwB,iBADA;AAExB,wBAAsB,eAFE;AAGxB,yBAAuB,gBAHC;AAIxB,sBAAoB,aAJI;AAKxB,sBAAoB,aALI;AAMxB,wBAAsB,eANE;AAOxB,wBAAsB;AAPE,CAA5B;AASA,MAAMC,iBAAiB,GAAG;AACtB,0BAAwB,iBADF;AAEtB,wBAAsB,eAFA;AAGtB,yBAAuB,gBAHD;AAItB,sBAAoB,aAJE;AAKtB,sBAAoB,aALE;AAMtB,wBAAsB,eANA;AAOtB,wBAAsB,eAPA;AAQtB,0BAAwB;AARF,CAA1B;AAUA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;IACMC;AAAN,QAAMA,eAAN,SAA8BL,qBAA9B,CAAoD;AAChD52hB,IAAAA,WAAW,CAAC+K,EAAD,EAAK;AACZ,YAAMA,EAAN;AACH;;AAH+C;;AAKpDkshB,EAAAA,eAAe,CAAC52f,IAAhB;AAAA,qBAA6G42f,eAA7G,EA1wC4G10hB,+DA0wC5G,CAA8Im0hB,SAA9I;AAAA;;AACAO,EAAAA,eAAe,CAACh8U,IAAhB,kBA3wC4G14M,+DA2wC5G;AAAA,UAAiG00hB,eAAjG;AAAA;AAAA;AAAA;AAAA;AA3wC4G10hB,QAAAA,yDA2wC5G;AAAA;AAAA;AAAA,eA3wC4GA,wEA2wC5G;AAAA;SANM00hB;;;AAON;AAAA;AAAA;AAAA;AAMA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;IACMC;AAAN,QAAMA,oBAAN,SAAmCN,qBAAnC,CAAyD;AACrD52hB,IAAAA,WAAW,CAAC+K,EAAD,EAAK;AACZ,YAAMA,EAAN;AACH;;AAHoD;;AAKzDmshB,EAAAA,oBAAoB,CAAC72f,IAArB;AAAA,qBAAkH62f,oBAAlH,EAnyC4G30hB,+DAmyC5G,CAAwJi0hB,gBAAxJ;AAAA;;AACAU,EAAAA,oBAAoB,CAACj8U,IAArB,kBApyC4G14M,+DAoyC5G;AAAA,UAAsG20hB,oBAAtG;AAAA;AAAA;AAAA;AAAA;AApyC4G30hB,QAAAA,yDAoyC5G;AAAA;AAAA;AAAA,eApyC4GA,wEAoyC5G;AAAA;SANM20hB;;;AAON;AAAA;AAAA;AAAA;AAYA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,MAAMC,sBAAsB,GAAI;AAChC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MATA;AAUA,MAAMC,oBAAoB,GAAI;AAC9B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAXA;AAYA,MAAMC,oBAAoB,GAAI;AAC9B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAdA;AAeA,MAAMC,mBAAmB,GAAI;AAC7B;AACA;AACA;AACA;AACA,UALA;AAMA,MAAMC,2BAA2B,GAAI;AACrC;AACA;AACA;AACA;AACA,CALA;AAOA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,SAASC,sBAAT,GAAkC;AAC9B,SAAO,IAAI9pe,KAAJ,CAAW;AACtB;AACA;AACA;AACA;AACA,MAAMype,sBAAuB,EALlB,CAAP;AAMH;;AACD,SAASM,qBAAT,GAAiC;AAC7B,SAAO,IAAI/pe,KAAJ,CAAW;AACtB;AACA;AACA;AACA;AACA,QAAQ0pe,oBAAqB;AAC7B;AACA;AACA;AACA,QAAQE,mBAAoB,EATjB,CAAP;AAUH;;AACD,SAASI,oBAAT,GAAgC;AAC5B,SAAO,IAAIhqe,KAAJ,CAAW;AACtB;AACA;AACA;AACA,QAAQype,sBAAuB,EAJpB,CAAP;AAKH;;AACD,SAASQ,oBAAT,GAAgC;AAC5B,SAAO,IAAIjqe,KAAJ,CAAW;AACtB;AACA;AACA;AACA;AACA,MAAM0pe,oBAAqB,EALhB,CAAP;AAMH;;AACD,SAASQ,oBAAT,GAAgC;AAC5B,SAAO,IAAIlqe,KAAJ,CAAW;AACtB;AACA;AACA;AACA;AACA,QAAQ2pe,oBAAqB,EALlB,CAAP;AAMH;;AACD,MAAMQ,mBAAmB,GAAI;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAVA;;AAWA,SAASC,cAAT,CAAwBt+F,aAAxB,EAAuC;AACnC,SAAQ;AACZ,iEAAiEA,aAAc;AAC/E;AACA;AACA;AACA;AACA;AACA,iCAAiCA,aAAa,KAAK,aAAlB,GAAkC,sBAAlC,GAA2D,iBAAkB;AAC9G,GARI;AASH;;AACD,SAASu+F,WAAT,CAAqBC,WAArB,EAAkC3xf,GAAlC,EAAuC;AACnC,SAAO2xf,WAAW,GAAI,eAAc3xf,GAAI,GAAtB,GAA4B,aAAYA,GAAI,EAA9D;AACH;;AACD,SAAS4xf,eAAT,CAAyBD,WAAzB,EAAsC;AAClC,SAAQ;AACZ,sDAAsDA,WAAW,GAAG,OAAH,GAAa,OAAQ;AACtF;AACA,GAHI;AAIH;;AACD,SAASE,mBAAT,CAA6BF,WAA7B,EAA0C3xf,GAA1C,EAA+C;AAC3C,SAAQ,4BAA2B0xf,WAAW,CAACC,WAAD,EAAc3xf,GAAd,CAAmB,EAAjE;AACH;;AACD,SAAS8xf,wBAAT,CAAkCH,WAAlC,EAA+C3xf,GAA/C,EAAoD;AAChD,SAAQ,wCAAuC0xf,WAAW,CAACC,WAAD,EAAc3xf,GAAd,CAAmB,EAA7E;AACH;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAAS+xf,WAAT,CAAqBrnhB,IAArB,EAA2B2wE,MAA3B,EAAmC;AAC/B,SAAO,CAAC,GAAGA,MAAM,CAACn6E,IAAX,EAAiBwJ,IAAjB,CAAP;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASsnhB,YAAT,CAAsBxigB,OAAtB,EAA+B6iN,GAA/B,EAAoC;AAChC,MAAI,OAAO93M,SAAP,KAAqB,WAArB,IAAoCA,SAAxC,EAAmD;AAC/C,QAAI,CAAC/K,OAAL,EACIyigB,WAAW,CAAC5/S,GAAD,EAAM,0BAAN,CAAX;AACJ,QAAI,CAACA,GAAG,CAACi+S,aAAT,EACI2B,WAAW,CAAC5/S,GAAD,EAAM,yCAAN,CAAX;AACP;;AACD6/S,EAAAA,eAAe,CAAC1igB,OAAD,EAAU6iN,GAAV,CAAf;AACAA,EAAAA,GAAG,CAACi+S,aAAJ,CAAkB58U,UAAlB,CAA6BlkL,OAAO,CAACpkB,KAArC;AACA+mhB,EAAAA,uBAAuB,CAAC3igB,OAAD,EAAU6iN,GAAV,CAAvB;AACA+/S,EAAAA,wBAAwB,CAAC5igB,OAAD,EAAU6iN,GAAV,CAAxB;AACAggT,EAAAA,iBAAiB,CAAC7igB,OAAD,EAAU6iN,GAAV,CAAjB;AACAigT,EAAAA,0BAA0B,CAAC9igB,OAAD,EAAU6iN,GAAV,CAA1B;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASkgT,cAAT,CAAwB/igB,OAAxB,EAAiC6iN,GAAjC,EAAsCmgT,+BAA+B,GAAG,IAAxE,EAA8E;AAC1E,QAAMhhM,IAAI,GAAG,MAAM;AACf,QAAIghM,+BAA+B,KAAK,OAAOj4f,SAAP,KAAqB,WAArB,IAAoCA,SAAzC,CAAnC,EAAwF;AACpFk4f,MAAAA,eAAe,CAACpgT,GAAD,CAAf;AACH;AACJ,GAJD,CAD0E,CAM1E;AACA;AACA;AACA;AACA;;;AACA,MAAIA,GAAG,CAACi+S,aAAR,EAAuB;AACnBj+S,IAAAA,GAAG,CAACi+S,aAAJ,CAAkBz8U,gBAAlB,CAAmC29I,IAAnC;AACAn/G,IAAAA,GAAG,CAACi+S,aAAJ,CAAkBx8U,iBAAlB,CAAoC09I,IAApC;AACH;;AACDkhM,EAAAA,iBAAiB,CAACljgB,OAAD,EAAU6iN,GAAV,CAAjB;;AACA,MAAI7iN,OAAJ,EAAa;AACT6iN,IAAAA,GAAG,CAAC49S,yBAAJ;;AACAzggB,IAAAA,OAAO,CAACmjgB,2BAAR,CAAoC,MAAM,CAAG,CAA7C;AACH;AACJ;;AACD,SAASC,yBAAT,CAAmChF,UAAnC,EAA+C16U,QAA/C,EAAyD;AACrD06U,EAAAA,UAAU,CAAC7tf,OAAX,CAAoBmuf,SAAD,IAAe;AAC9B,QAAIA,SAAS,CAAC0E,yBAAd,EACI1E,SAAS,CAAC0E,yBAAV,CAAoC1/U,QAApC;AACP,GAHD;AAIH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASo/U,0BAAT,CAAoC9igB,OAApC,EAA6C6iN,GAA7C,EAAkD;AAC9C,MAAIA,GAAG,CAACi+S,aAAJ,CAAkBv8U,gBAAtB,EAAwC;AACpC,UAAM8+U,gBAAgB,GAAI5uW,UAAD,IAAgB;AACrCouD,MAAAA,GAAG,CAACi+S,aAAJ,CAAkBv8U,gBAAlB,CAAmC9vB,UAAnC;AACH,KAFD;;AAGAz0J,IAAAA,OAAO,CAACsjgB,wBAAR,CAAiCD,gBAAjC,EAJoC,CAKpC;AACA;;AACAxgT,IAAAA,GAAG,CAAC29S,kBAAJ,CAAuB,MAAM;AACzBxggB,MAAAA,OAAO,CAACujgB,2BAAR,CAAoCF,gBAApC;AACH,KAFD;AAGH;AACJ;AACD;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASX,eAAT,CAAyB1igB,OAAzB,EAAkC6iN,GAAlC,EAAuC;AACnC,QAAMu7S,UAAU,GAAGgB,oBAAoB,CAACp/f,OAAD,CAAvC;;AACA,MAAI6iN,GAAG,CAAC67S,SAAJ,KAAkB,IAAtB,EAA4B;AACxB1+f,IAAAA,OAAO,CAACwjgB,aAAR,CAAsBvE,eAAe,CAACb,UAAD,EAAav7S,GAAG,CAAC67S,SAAjB,CAArC;AACH,GAFD,MAGK,IAAI,OAAON,UAAP,KAAsB,UAA1B,EAAsC;AACvC;AACA;AACA;AACA;AACA;AACA;AACA;AACAp+f,IAAAA,OAAO,CAACwjgB,aAAR,CAAsB,CAACpF,UAAD,CAAtB;AACH;;AACD,QAAMqF,eAAe,GAAGnE,yBAAyB,CAACt/f,OAAD,CAAjD;;AACA,MAAI6iN,GAAG,CAAC09S,cAAJ,KAAuB,IAA3B,EAAiC;AAC7BvggB,IAAAA,OAAO,CAAC0jgB,kBAAR,CAA2BzE,eAAe,CAACwE,eAAD,EAAkB5gT,GAAG,CAAC09S,cAAtB,CAA1C;AACH,GAFD,MAGK,IAAI,OAAOkD,eAAP,KAA2B,UAA/B,EAA2C;AAC5CzjgB,IAAAA,OAAO,CAAC0jgB,kBAAR,CAA2B,CAACD,eAAD,CAA3B;AACH,GArBkC,CAsBnC;;;AACA,QAAME,iBAAiB,GAAG,MAAM3jgB,OAAO,CAAC5C,sBAAR,EAAhC;;AACAgmgB,EAAAA,yBAAyB,CAACvgT,GAAG,CAACw8S,cAAL,EAAqBsE,iBAArB,CAAzB;AACAP,EAAAA,yBAAyB,CAACvgT,GAAG,CAAC08S,mBAAL,EAA0BoE,iBAA1B,CAAzB;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAAST,iBAAT,CAA2BljgB,OAA3B,EAAoC6iN,GAApC,EAAyC;AACrC,MAAI+gT,gBAAgB,GAAG,KAAvB;;AACA,MAAI5jgB,OAAO,KAAK,IAAhB,EAAsB;AAClB,QAAI6iN,GAAG,CAAC67S,SAAJ,KAAkB,IAAtB,EAA4B;AACxB,YAAMN,UAAU,GAAGgB,oBAAoB,CAACp/f,OAAD,CAAvC;;AACA,UAAI6P,KAAK,CAACi8E,OAAN,CAAcsya,UAAd,KAA6BA,UAAU,CAAC/mhB,MAAX,GAAoB,CAArD,EAAwD;AACpD;AACA,cAAMwshB,iBAAiB,GAAGzF,UAAU,CAAC/phB,MAAX,CAAmBqqhB,SAAD,IAAeA,SAAS,KAAK77S,GAAG,CAAC67S,SAAnD,CAA1B;;AACA,YAAImF,iBAAiB,CAACxshB,MAAlB,KAA6B+mhB,UAAU,CAAC/mhB,MAA5C,EAAoD;AAChDushB,UAAAA,gBAAgB,GAAG,IAAnB;AACA5jgB,UAAAA,OAAO,CAACwjgB,aAAR,CAAsBK,iBAAtB;AACH;AACJ;AACJ;;AACD,QAAIhhT,GAAG,CAAC09S,cAAJ,KAAuB,IAA3B,EAAiC;AAC7B,YAAMkD,eAAe,GAAGnE,yBAAyB,CAACt/f,OAAD,CAAjD;;AACA,UAAI6P,KAAK,CAACi8E,OAAN,CAAc23a,eAAd,KAAkCA,eAAe,CAACpshB,MAAhB,GAAyB,CAA/D,EAAkE;AAC9D;AACA,cAAMyshB,sBAAsB,GAAGL,eAAe,CAACpvhB,MAAhB,CAAwBkshB,cAAD,IAAoBA,cAAc,KAAK19S,GAAG,CAAC09S,cAAlE,CAA/B;;AACA,YAAIuD,sBAAsB,CAACzshB,MAAvB,KAAkCoshB,eAAe,CAACpshB,MAAtD,EAA8D;AAC1DushB,UAAAA,gBAAgB,GAAG,IAAnB;AACA5jgB,UAAAA,OAAO,CAAC0jgB,kBAAR,CAA2BI,sBAA3B;AACH;AACJ;AACJ;AACJ,GAzBoC,CA0BrC;;;AACA,QAAM9hM,IAAI,GAAG,MAAM,CAAG,CAAtB;;AACAohM,EAAAA,yBAAyB,CAACvgT,GAAG,CAACw8S,cAAL,EAAqBr9L,IAArB,CAAzB;AACAohM,EAAAA,yBAAyB,CAACvgT,GAAG,CAAC08S,mBAAL,EAA0Bv9L,IAA1B,CAAzB;AACA,SAAO4hM,gBAAP;AACH;;AACD,SAASjB,uBAAT,CAAiC3igB,OAAjC,EAA0C6iN,GAA1C,EAA+C;AAC3CA,EAAAA,GAAG,CAACi+S,aAAJ,CAAkBz8U,gBAAlB,CAAoC3yI,QAAD,IAAc;AAC7C1xC,IAAAA,OAAO,CAAC+jgB,aAAR,GAAwBryd,QAAxB;AACA1xC,IAAAA,OAAO,CAACgkgB,cAAR,GAAyB,IAAzB;AACAhkgB,IAAAA,OAAO,CAACikgB,aAAR,GAAwB,IAAxB;AACA,QAAIjkgB,OAAO,CAACkkgB,QAAR,KAAqB,QAAzB,EACIC,aAAa,CAACnkgB,OAAD,EAAU6iN,GAAV,CAAb;AACP,GAND;AAOH;;AACD,SAASggT,iBAAT,CAA2B7igB,OAA3B,EAAoC6iN,GAApC,EAAyC;AACrCA,EAAAA,GAAG,CAACi+S,aAAJ,CAAkBx8U,iBAAlB,CAAoC,MAAM;AACtCtkL,IAAAA,OAAO,CAACokgB,eAAR,GAA0B,IAA1B;AACA,QAAIpkgB,OAAO,CAACkkgB,QAAR,KAAqB,MAArB,IAA+BlkgB,OAAO,CAACgkgB,cAA3C,EACIG,aAAa,CAACnkgB,OAAD,EAAU6iN,GAAV,CAAb;AACJ,QAAI7iN,OAAO,CAACkkgB,QAAR,KAAqB,QAAzB,EACIlkgB,OAAO,CAACqkgB,aAAR;AACP,GAND;AAOH;;AACD,SAASF,aAAT,CAAuBnkgB,OAAvB,EAAgC6iN,GAAhC,EAAqC;AACjC,MAAI7iN,OAAO,CAACikgB,aAAZ,EACIjkgB,OAAO,CAAC/W,WAAR;AACJ+W,EAAAA,OAAO,CAACpD,QAAR,CAAiBoD,OAAO,CAAC+jgB,aAAzB,EAAwC;AAAEO,IAAAA,qBAAqB,EAAE;AAAzB,GAAxC;AACAzhT,EAAAA,GAAG,CAAC0hT,iBAAJ,CAAsBvkgB,OAAO,CAAC+jgB,aAA9B;AACA/jgB,EAAAA,OAAO,CAACgkgB,cAAR,GAAyB,KAAzB;AACH;;AACD,SAASpB,wBAAT,CAAkC5igB,OAAlC,EAA2C6iN,GAA3C,EAAgD;AAC5C,QAAMn/B,QAAQ,GAAG,CAAChyI,QAAD,EAAW8yd,cAAX,KAA8B;AAC3C;AACA3hT,IAAAA,GAAG,CAACi+S,aAAJ,CAAkB58U,UAAlB,CAA6BxyI,QAA7B,EAF2C,CAG3C;;AACA,QAAI8yd,cAAJ,EACI3hT,GAAG,CAAC0hT,iBAAJ,CAAsB7yd,QAAtB;AACP,GAND;;AAOA1xC,EAAAA,OAAO,CAACqkL,gBAAR,CAAyBX,QAAzB,EAR4C,CAS5C;AACA;;AACAm/B,EAAAA,GAAG,CAAC29S,kBAAJ,CAAuB,MAAM;AACzBxggB,IAAAA,OAAO,CAACykgB,mBAAR,CAA4B/gV,QAA5B;AACH,GAFD;AAGH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASghV,kBAAT,CAA4B1kgB,OAA5B,EAAqC6iN,GAArC,EAA0C;AACtC,MAAI7iN,OAAO,IAAI,IAAX,KAAoB,OAAO+K,SAAP,KAAqB,WAArB,IAAoCA,SAAxD,CAAJ,EACI03f,WAAW,CAAC5/S,GAAD,EAAM,0BAAN,CAAX;AACJ6/S,EAAAA,eAAe,CAAC1igB,OAAD,EAAU6iN,GAAV,CAAf;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAAS8hT,oBAAT,CAA8B3kgB,OAA9B,EAAuC6iN,GAAvC,EAA4C;AACxC,SAAOqgT,iBAAiB,CAACljgB,OAAD,EAAU6iN,GAAV,CAAxB;AACH;;AACD,SAASogT,eAAT,CAAyBpgT,GAAzB,EAA8B;AAC1B,SAAO4/S,WAAW,CAAC5/S,GAAD,EAAM,wEAAN,CAAlB;AACH;;AACD,SAAS4/S,WAAT,CAAqB5/S,GAArB,EAA0Bt2O,OAA1B,EAAmC;AAC/B,QAAMq4hB,UAAU,GAAGC,wBAAwB,CAAChiT,GAAD,CAA3C;;AACA,QAAM,IAAIhrL,KAAJ,CAAW,GAAEtrD,OAAQ,IAAGq4hB,UAAW,EAAnC,CAAN;AACH;;AACD,SAASC,wBAAT,CAAkChiT,GAAlC,EAAuC;AACnC,QAAMnxO,IAAI,GAAGmxO,GAAG,CAACnxO,IAAjB;AACA,MAAIA,IAAI,IAAIA,IAAI,CAAC2F,MAAL,GAAc,CAA1B,EACI,OAAQ,UAAS3F,IAAI,CAAC+F,IAAL,CAAU,MAAV,CAAkB,GAAnC;AACJ,MAAI/F,IAAI,GAAG,CAAH,CAAR,EACI,OAAQ,UAASA,IAAK,GAAtB;AACJ,SAAO,4BAAP;AACH;;AACD,SAASozhB,+BAAT,CAAyCjiT,GAAzC,EAA8C;AAC1C,QAAM1jH,GAAG,GAAG0la,wBAAwB,CAAChiT,GAAD,CAApC;;AACA,QAAM,IAAIhrL,KAAJ,CAAW,qEAAoEsnE,GAAI,IAAzE,GACX,yFADC,CAAN;AAEH;;AACD,SAAS4la,iBAAT,CAA2BjhV,OAA3B,EAAoCkhV,SAApC,EAA+C;AAC3C,MAAI,CAAClhV,OAAO,CAAClvK,cAAR,CAAuB,OAAvB,CAAL,EACI,OAAO,KAAP;AACJ,QAAMw3K,MAAM,GAAGtI,OAAO,CAAC,OAAD,CAAtB;AACA,MAAIsI,MAAM,CAAC8zP,aAAP,EAAJ,EACI,OAAO,IAAP;AACJ,SAAO,CAACrza,MAAM,CAAC0oF,EAAP,CAAUyva,SAAV,EAAqB54U,MAAM,CAAC1pM,YAA5B,CAAR;AACH;;AACD,SAASuihB,iBAAT,CAA2BnE,aAA3B,EAA0C;AACtC;AACA;AACA,SAAOj0f,MAAM,CAACymO,cAAP,CAAsBwtR,aAAa,CAAC32hB,WAApC,MAAqD6yhB,2BAA5D;AACH;;AACD,SAASkI,mBAAT,CAA6Br8gB,IAA7B,EAAmC+zO,UAAnC,EAA+C;AAC3C/zO,EAAAA,IAAI,CAACs8gB,oBAAL;;AACAvoS,EAAAA,UAAU,CAACrsN,OAAX,CAAoBsyM,GAAD,IAAS;AACxB,UAAM7iN,OAAO,GAAG6iN,GAAG,CAAC7iN,OAApB;;AACA,QAAIA,OAAO,CAACkkgB,QAAR,KAAqB,QAArB,IAAiClkgB,OAAO,CAACgkgB,cAA7C,EAA6D;AACzDnhT,MAAAA,GAAG,CAAC0hT,iBAAJ,CAAsBvkgB,OAAO,CAAC+jgB,aAA9B;AACA/jgB,MAAAA,OAAO,CAACgkgB,cAAR,GAAyB,KAAzB;AACH;AACJ,GAND;AAOH,EACD;;;AACA,SAASoB,mBAAT,CAA6BviT,GAA7B,EAAkCwiT,cAAlC,EAAkD;AAC9C,MAAI,CAACA,cAAL,EACI,OAAO,IAAP;AACJ,MAAI,CAACx1f,KAAK,CAACi8E,OAAN,CAAcu5a,cAAd,CAAD,KAAmC,OAAOt6f,SAAP,KAAqB,WAArB,IAAoCA,SAAvE,CAAJ,EACI+5f,+BAA+B,CAACjiT,GAAD,CAA/B;AACJ,MAAIyiT,eAAe,GAAGvof,SAAtB;AACA,MAAIwof,eAAe,GAAGxof,SAAtB;AACA,MAAIyof,cAAc,GAAGzof,SAArB;AACAsof,EAAAA,cAAc,CAAC90f,OAAf,CAAwB1vB,CAAD,IAAO;AAC1B,QAAIA,CAAC,CAAC1W,WAAF,KAAkBizhB,oBAAtB,EAA4C;AACxCkI,MAAAA,eAAe,GAAGzkhB,CAAlB;AACH,KAFD,MAGK,IAAIokhB,iBAAiB,CAACpkhB,CAAD,CAArB,EAA0B;AAC3B,UAAI0khB,eAAe,KAAK,OAAOx6f,SAAP,KAAqB,WAArB,IAAoCA,SAAzC,CAAnB,EACI03f,WAAW,CAAC5/S,GAAD,EAAM,iEAAN,CAAX;AACJ0iT,MAAAA,eAAe,GAAG1khB,CAAlB;AACH,KAJI,MAKA;AACD,UAAI2khB,cAAc,KAAK,OAAOz6f,SAAP,KAAqB,WAArB,IAAoCA,SAAzC,CAAlB,EACI03f,WAAW,CAAC5/S,GAAD,EAAM,+DAAN,CAAX;AACJ2iT,MAAAA,cAAc,GAAG3khB,CAAjB;AACH;AACJ,GAdD;AAeA,MAAI2khB,cAAJ,EACI,OAAOA,cAAP;AACJ,MAAID,eAAJ,EACI,OAAOA,eAAP;AACJ,MAAID,eAAJ,EACI,OAAOA,eAAP;;AACJ,MAAI,OAAOv6f,SAAP,KAAqB,WAArB,IAAoCA,SAAxC,EAAmD;AAC/C03f,IAAAA,WAAW,CAAC5/S,GAAD,EAAM,+CAAN,CAAX;AACH;;AACD,SAAO,IAAP;AACH;;AACD,SAAS4iT,cAAT,CAAwBj2S,IAAxB,EAA8Bj4B,EAA9B,EAAkC;AAC9B,QAAMrrK,KAAK,GAAGsjM,IAAI,CAAC1sO,OAAL,CAAay0M,EAAb,CAAd;AACA,MAAIrrK,KAAK,GAAG,CAAC,CAAb,EACIsjM,IAAI,CAAC3hH,MAAL,CAAY3hF,KAAZ,EAAmB,CAAnB;AACP,EACD;;;AACA,SAASw5e,eAAT,CAAyBxqhB,IAAzB,EAA+ByG,IAA/B,EAAqConB,QAArC,EAA+C48f,aAA/C,EAA8D;AAC1D,MAAIA,aAAa,KAAK,OAAtB,EACI;;AACJ,MAAK,CAACA,aAAa,KAAK,IAAlB,IAA0BA,aAAa,KAAK,MAA7C,KAAwD,CAAChkhB,IAAI,CAACikhB,uBAA/D,IACCD,aAAa,KAAK,QAAlB,IAA8B,CAAC58f,QAAQ,CAAC88f,mBAD7C,EACmE;AAC/Dr5hB,IAAAA,OAAO,CAAC8wM,IAAR,CAAa2kV,cAAc,CAAC/mhB,IAAD,CAA3B;AACAyG,IAAAA,IAAI,CAACikhB,uBAAL,GAA+B,IAA/B;AACA78f,IAAAA,QAAQ,CAAC88f,mBAAT,GAA+B,IAA/B;AACH;AACJ;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,MAAM/hL,WAAW,GAAG,OAAO/4U,SAAP,KAAqB,WAArB,IAAoC,CAAC,CAACA,SAA1D;AACA;AACA;AACA;AACA;AACA;;AACA,MAAM+6f,KAAK,GAAG,OAAd;AACA;AACA;AACA;AACA;AACA;;AACA,MAAMC,OAAO,GAAG,SAAhB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,MAAMC,OAAO,GAAG,SAAhB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,MAAMp1d,QAAQ,GAAG,UAAjB;;AACA,SAASq1d,KAAT,CAAejmgB,OAAf,EAAwBtuB,IAAxB,EAA8Bw0hB,SAA9B,EAAyC;AACrC,MAAIx0hB,IAAI,IAAI,IAAZ,EACI,OAAO,IAAP;;AACJ,MAAI,CAACm+B,KAAK,CAACi8E,OAAN,CAAcp6G,IAAd,CAAL,EAA0B;AACtBA,IAAAA,IAAI,GAAGA,IAAI,CAAC+X,KAAL,CAAWy8gB,SAAX,CAAP;AACH;;AACD,MAAIr2f,KAAK,CAACi8E,OAAN,CAAcp6G,IAAd,KAAuBA,IAAI,CAAC2F,MAAL,KAAgB,CAA3C,EACI,OAAO,IAAP,CAPiC,CAQrC;AACA;;AACA,MAAI8uhB,aAAa,GAAGnmgB,OAApB;AACAtuB,EAAAA,IAAI,CAAC6+B,OAAL,CAAcr1B,IAAD,IAAU;AACnB,QAAIinhB,WAAW,CAACgE,aAAD,CAAf,EAAgC;AAC5BA,MAAAA,aAAa,GAAGA,aAAa,CAAC3vgB,QAAd,CAAuBoe,cAAvB,CAAsC15B,IAAtC,IACZirhB,aAAa,CAAC3vgB,QAAd,CAAuBtb,IAAvB,CADY,GAEZ,IAFJ;AAGH,KAJD,MAKK,IAAIkrhB,WAAW,CAACD,aAAD,CAAf,EAAgC;AACjCA,MAAAA,aAAa,GAAGA,aAAa,CAACt5b,EAAd,CAAiB3xF,IAAjB,KAA0B,IAA1C;AACH,KAFI,MAGA;AACDirhB,MAAAA,aAAa,GAAG,IAAhB;AACH;AACJ,GAZD;AAaA,SAAOA,aAAP;AACH;AACD;AACA;AACA;;;AACA,SAASE,cAAT,CAAwBC,eAAxB,EAAyC;AACrC,SAAO,CAACC,YAAY,CAACD,eAAD,CAAZ,GAAgCA,eAAe,CAAClI,UAAhD,GAA6DkI,eAA9D,KAAkF,IAAzF;AACH;AACD;AACA;AACA;;;AACA,SAASE,iBAAT,CAA2B9H,SAA3B,EAAsC;AAClC,SAAO7uf,KAAK,CAACi8E,OAAN,CAAc4ya,SAAd,IAA2BK,iBAAiB,CAACL,SAAD,CAA5C,GAA0DA,SAAS,IAAI,IAA9E;AACH;AACD;AACA;AACA;;;AACA,SAAS+H,mBAAT,CAA6BlG,cAA7B,EAA6C+F,eAA7C,EAA8D;AAC1D,SAAO,CAACC,YAAY,CAACD,eAAD,CAAZ,GAAgCA,eAAe,CAAC7C,eAAhD,GAAkElD,cAAnE,KAAsF,IAA7F;AACH;AACD;AACA;AACA;;;AACA,SAASmG,sBAAT,CAAgCnG,cAAhC,EAAgD;AAC5C,SAAO1wf,KAAK,CAACi8E,OAAN,CAAcy0a,cAAd,IAAgCvB,sBAAsB,CAACuB,cAAD,CAAtD,GACHA,cAAc,IAAI,IADtB;AAEH;;AACD,SAASgG,YAAT,CAAsBD,eAAtB,EAAuC;AACnC,SAAOA,eAAe,IAAI,IAAnB,IAA2B,CAACz2f,KAAK,CAACi8E,OAAN,CAAcw6a,eAAd,CAA5B,IACH,OAAOA,eAAP,KAA2B,QAD/B;AAEH;;AACD,MAAMK,aAAa,GAAI3mgB,OAAD,IAAaA,OAAO,YAAYxN,WAAtD;;AACA,MAAM2vgB,WAAW,GAAInigB,OAAD,IAAaA,OAAO,YAAYvN,SAApD;;AACA,MAAM2zgB,WAAW,GAAIpmgB,OAAD,IAAaA,OAAO,YAAY4mgB,SAApD;;AACA,SAASjmgB,WAAT,CAAqBX,OAArB,EAA8B;AAC1B,SAAO2mgB,aAAa,CAAC3mgB,OAAD,CAAb,GAAyBA,OAAO,CAACpkB,KAAjC,GAAyCokB,OAAO,CAACW,WAAR,EAAhD;AACH;;AACD,SAASkmgB,oBAAT,CAA8Bh7c,MAA9B,EAAsCr7C,GAAtC,EAA2C;AACvC,QAAMs2f,OAAO,GAAG3E,WAAW,CAACt2c,MAAD,CAA3B;AACA,QAAMr1D,QAAQ,GAAGq1D,MAAM,CAACr1D,QAAxB;AACA,QAAMqkO,UAAU,GAAGisS,OAAO,GAAGj6f,MAAM,CAACkD,IAAP,CAAYvZ,QAAZ,CAAH,GAA2BA,QAArD;;AACA,MAAI,CAACqkO,UAAU,CAACxjP,MAAhB,EAAwB;AACpB,UAAM,IAAIuiW,2DAAJ,CAAkB;AAAK;AAAvB,MAA0CkK,WAAW,GAAGs+K,eAAe,CAAC0E,OAAD,CAAlB,GAA8B,EAAnF,CAAN;AACH;;AACD,MAAI,CAACtwgB,QAAQ,CAACga,GAAD,CAAb,EAAoB;AAChB,UAAM,IAAIopU,2DAAJ,CAAkB;AAAK;AAAvB,MAA8CkK,WAAW,GAAGu+K,mBAAmB,CAACyE,OAAD,EAAUt2f,GAAV,CAAtB,GAAuC,EAAhG,CAAN;AACH;AACJ;;AACD,SAASu2f,sBAAT,CAAgC/mgB,OAAhC,EAAyCpkB,KAAzC,EAAgD;AAC5C,QAAMkrhB,OAAO,GAAG3E,WAAW,CAACnigB,OAAD,CAA3B;;AACAA,EAAAA,OAAO,CAACgngB,aAAR,CAAsB,CAAC7wf,CAAD,EAAI3F,GAAJ,KAAY;AAC9B,QAAI50B,KAAK,CAAC40B,GAAD,CAAL,KAAeuM,SAAnB,EAA8B;AAC1B,YAAM,IAAI68T,2DAAJ,CAAkB;AAAK;AAAvB,QAAoDkK,WAAW,GAAGw+K,wBAAwB,CAACwE,OAAD,EAAUt2f,GAAV,CAA3B,GAA4C,EAA3G,CAAN;AACH;AACJ,GAJD;AAKH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,MAAMy2f,eAAN,CAAsB;AAClB;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACI98hB,EAAAA,WAAW,CAACi0hB,UAAD,EAAaqF,eAAb,EAA8B;AACrC;AACA,SAAKQ,aAAL,GAAqB,KAArB;AACA;AACR;AACA;AACA;AACA;;AACQ,SAAKiD,4BAAL,GAAoC,KAApC;AACA;;AACA,SAAK9C,eAAL,GAAuB,KAAvB;AACA;;AACA,SAAK+C,mBAAL,GAA2B,MAAM,CAAG,CAApC;;AACA,SAAK50C,OAAL,GAAe,IAAf;AACA;AACR;AACA;AACA;AACA;AACA;AACA;;AACQ,SAAKwtC,QAAL,GAAgB,IAAhB;AACA;AACR;AACA;AACA;AACA;AACA;;AACQ,SAAKC,OAAL,GAAe,KAAf;AACA;;AACA,SAAKoH,iBAAL,GAAyB,EAAzB;AACA,SAAK/H,cAAL,GAAsBjB,UAAtB;AACA,SAAKmB,mBAAL,GAA2BkE,eAA3B;AACA,SAAKrD,oBAAL,GAA4BoG,iBAAiB,CAAC,KAAKnH,cAAN,CAA7C;AACA,SAAKiB,yBAAL,GAAiCoG,sBAAsB,CAAC,KAAKnH,mBAAN,CAAvD;AACH;AACD;AACJ;AACA;AACA;AACA;;;AACiB,MAATb,SAAS,GAAG;AACZ,WAAO,KAAK0B,oBAAZ;AACH;;AACY,MAAT1B,SAAS,CAAC2I,WAAD,EAAc;AACvB,SAAKhI,cAAL,GAAsB,KAAKe,oBAAL,GAA4BiH,WAAlD;AACH;AACD;AACJ;AACA;AACA;AACA;;;AACsB,MAAd9G,cAAc,GAAG;AACjB,WAAO,KAAKD,yBAAZ;AACH;;AACiB,MAAdC,cAAc,CAAC+G,gBAAD,EAAmB;AACjC,SAAK/H,mBAAL,GAA2B,KAAKe,yBAAL,GAAiCgH,gBAA5D;AACH;AACD;AACJ;AACA;;;AACc,MAANz7c,MAAM,GAAG;AACT,WAAO,KAAK0ma,OAAZ;AACH;AACD;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;;;AACa,MAALnsE,KAAK,GAAG;AACR,WAAO,KAAKt5Z,MAAL,KAAgBg5gB,KAAvB;AACH;AACD;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;;;AACe,MAAPhoT,OAAO,GAAG;AACV,WAAO,KAAKhxN,MAAL,KAAgBi5gB,OAAvB;AACH;AACD;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;;;AACe,MAAPnzL,OAAO,GAAG;AACV,WAAO,KAAK9lV,MAAL,IAAek5gB,OAAtB;AACH;AACD;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACgB,MAAR/ngB,QAAQ,GAAG;AACX,WAAO,KAAKnR,MAAL,KAAgB8jD,QAAvB;AACH;AACD;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACe,MAAP/5C,OAAO,GAAG;AACV,WAAO,KAAK/J,MAAL,KAAgB8jD,QAAvB;AACH;AACD;AACJ;AACA;AACA;AACA;AACA;AACA;;;AACa,MAALima,KAAK,GAAG;AACR,WAAO,CAAC,KAAKkpD,QAAb;AACH;AACD;AACJ;AACA;AACA;AACA;AACA;;;AACiB,MAATE,SAAS,GAAG;AACZ,WAAO,CAAC,KAAKD,OAAb;AACH;AACD;AACJ;AACA;AACA;AACA;AACA;;;AACgB,MAARkE,QAAQ,GAAG;AACX,WAAO,KAAKqD,SAAL,GAAiB,KAAKA,SAAtB,GAAmC,KAAK17c,MAAL,GAAc,KAAKA,MAAL,CAAYq4c,QAA1B,GAAqC,QAA/E;AACH;AACD;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACIV,EAAAA,aAAa,CAACpF,UAAD,EAAa;AACtB,SAAKiB,cAAL,GAAsBjB,UAAtB;AACA,SAAKgC,oBAAL,GAA4BoG,iBAAiB,CAACpI,UAAD,CAA7C;AACH;AACD;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACIsF,EAAAA,kBAAkB,CAACtF,UAAD,EAAa;AAC3B,SAAKmB,mBAAL,GAA2BnB,UAA3B;AACA,SAAKkC,yBAAL,GAAiCoG,sBAAsB,CAACtI,UAAD,CAAvD;AACH;AACD;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACIjhgB,EAAAA,aAAa,CAACihgB,UAAD,EAAa;AACtB,SAAKoF,aAAL,CAAmBrmgB,aAAa,CAACihgB,UAAD,EAAa,KAAKiB,cAAlB,CAAhC;AACH;AACD;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACImI,EAAAA,kBAAkB,CAACpJ,UAAD,EAAa;AAC3B,SAAKsF,kBAAL,CAAwBvmgB,aAAa,CAACihgB,UAAD,EAAa,KAAKmB,mBAAlB,CAArC;AACH;AACD;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACIK,EAAAA,gBAAgB,CAACxB,UAAD,EAAa;AACzB,SAAKoF,aAAL,CAAmB5D,gBAAgB,CAACxB,UAAD,EAAa,KAAKiB,cAAlB,CAAnC;AACH;AACD;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACIoI,EAAAA,qBAAqB,CAACrJ,UAAD,EAAa;AAC9B,SAAKsF,kBAAL,CAAwB9D,gBAAgB,CAACxB,UAAD,EAAa,KAAKmB,mBAAlB,CAAxC;AACH;AACD;AACJ;AACA;AACA;AACA;AACA;AACA;;;AACIE,EAAAA,YAAY,CAACf,SAAD,EAAY;AACpB,WAAOe,YAAY,CAAC,KAAKJ,cAAN,EAAsBX,SAAtB,CAAnB;AACH;AACD;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;;;AACIgJ,EAAAA,iBAAiB,CAAChJ,SAAD,EAAY;AACzB,WAAOe,YAAY,CAAC,KAAKF,mBAAN,EAA2Bb,SAA3B,CAAnB;AACH;AACD;AACJ;AACA;AACA;AACA;AACA;AACA;;;AACIxhgB,EAAAA,eAAe,GAAG;AACd,SAAKwhgB,SAAL,GAAiB,IAAjB;AACH;AACD;AACJ;AACA;AACA;AACA;AACA;AACA;;;AACIiJ,EAAAA,oBAAoB,GAAG;AACnB,SAAKpH,cAAL,GAAsB,IAAtB;AACH;AACD;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACI8D,EAAAA,aAAa,CAAC99U,IAAI,GAAG,EAAR,EAAY;AACrB,SAAKy5U,OAAL,GAAe,IAAf;;AACA,QAAI,KAAKztC,OAAL,IAAgB,CAAChsS,IAAI,CAACv9L,QAA1B,EAAoC;AAChC,WAAKupe,OAAL,CAAa8xC,aAAb,CAA2B99U,IAA3B;AACH;AACJ;AACD;AACJ;AACA;AACA;;;AACIqhV,EAAAA,gBAAgB,GAAG;AACf,SAAKvD,aAAL,CAAmB;AAAEr7gB,MAAAA,QAAQ,EAAE;AAAZ,KAAnB;;AACA,SAAKg+gB,aAAL,CAAoBhngB,OAAD,IAAaA,OAAO,CAAC4ngB,gBAAR,EAAhC;AACH;AACD;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACIC,EAAAA,eAAe,CAACthV,IAAI,GAAG,EAAR,EAAY;AACvB,SAAKy5U,OAAL,GAAe,KAAf;AACA,SAAKoE,eAAL,GAAuB,KAAvB;;AACA,SAAK4C,aAAL,CAAoBhngB,OAAD,IAAa;AAC5BA,MAAAA,OAAO,CAAC6ngB,eAAR,CAAwB;AAAE7+gB,QAAAA,QAAQ,EAAE;AAAZ,OAAxB;AACH,KAFD;;AAGA,QAAI,KAAKupe,OAAL,IAAgB,CAAChsS,IAAI,CAACv9L,QAA1B,EAAoC;AAChC,WAAKupe,OAAL,CAAau1C,cAAb,CAA4BvhV,IAA5B;AACH;AACJ;AACD;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACIt9L,EAAAA,WAAW,CAACs9L,IAAI,GAAG,EAAR,EAAY;AACnB,SAAKw5U,QAAL,GAAgB,KAAhB;;AACA,QAAI,KAAKxtC,OAAL,IAAgB,CAAChsS,IAAI,CAACv9L,QAA1B,EAAoC;AAChC,WAAKupe,OAAL,CAAatpe,WAAb,CAAyBs9L,IAAzB;AACH;AACJ;AACD;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACIwhV,EAAAA,cAAc,CAACxhV,IAAI,GAAG,EAAR,EAAY;AACtB,SAAKw5U,QAAL,GAAgB,IAAhB;AACA,SAAKkE,aAAL,GAAqB,KAArB;;AACA,SAAK+C,aAAL,CAAoBhngB,OAAD,IAAa;AAC5BA,MAAAA,OAAO,CAAC+ngB,cAAR,CAAuB;AAAE/+gB,QAAAA,QAAQ,EAAE;AAAZ,OAAvB;AACH,KAFD;;AAGA,QAAI,KAAKupe,OAAL,IAAgB,CAAChsS,IAAI,CAACv9L,QAA1B,EAAoC;AAChC,WAAKupe,OAAL,CAAay1C,eAAb,CAA6BzhV,IAA7B;AACH;AACJ;AACD;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACI0hV,EAAAA,aAAa,CAAC1hV,IAAI,GAAG,EAAR,EAAY;AACrB,SAAKz5L,MAAL,GAAck5gB,OAAd;;AACA,QAAIz/U,IAAI,CAACx9L,SAAL,KAAmB,KAAvB,EAA8B;AAC1B,WAAKm3gB,aAAL,CAAmB9pgB,IAAnB,CAAwB,KAAKtJ,MAA7B;AACH;;AACD,QAAI,KAAKyle,OAAL,IAAgB,CAAChsS,IAAI,CAACv9L,QAA1B,EAAoC;AAChC,WAAKupe,OAAL,CAAa01C,aAAb,CAA2B1hV,IAA3B;AACH;AACJ;AACD;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACI7pL,EAAAA,OAAO,CAAC6pL,IAAI,GAAG,EAAR,EAAY;AACf;AACA;AACA,UAAM2hV,iBAAiB,GAAG,KAAKC,kBAAL,CAAwB5hV,IAAI,CAACv9L,QAA7B,CAA1B;;AACA,SAAK8D,MAAL,GAAc8jD,QAAd;AACA,SAAKoxB,MAAL,GAAc,IAAd;;AACA,SAAKglc,aAAL,CAAoBhngB,OAAD,IAAa;AAC5BA,MAAAA,OAAO,CAACtD,OAAR,CAAgB,EAAE,GAAG6pL,IAAL;AAAWv9L,QAAAA,QAAQ,EAAE;AAArB,OAAhB;AACH,KAFD;;AAGA,SAAKo/gB,YAAL;;AACA,QAAI7hV,IAAI,CAACx9L,SAAL,KAAmB,KAAvB,EAA8B;AAC1B,WAAKuT,YAAL,CAAkBlG,IAAlB,CAAuB,KAAKxa,KAA5B;AACA,WAAKskhB,aAAL,CAAmB9pgB,IAAnB,CAAwB,KAAKtJ,MAA7B;AACH;;AACD,SAAKu7gB,gBAAL,CAAsB,EAAE,GAAG9hV,IAAL;AAAW2hV,MAAAA;AAAX,KAAtB;;AACA,SAAKd,iBAAL,CAAuB72f,OAAvB,CAAgC+3f,QAAD,IAAcA,QAAQ,CAAC,IAAD,CAArD;AACH;AACD;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACI7rgB,EAAAA,MAAM,CAAC8pL,IAAI,GAAG,EAAR,EAAY;AACd;AACA;AACA,UAAM2hV,iBAAiB,GAAG,KAAKC,kBAAL,CAAwB5hV,IAAI,CAACv9L,QAA7B,CAA1B;;AACA,SAAK8D,MAAL,GAAcg5gB,KAAd;;AACA,SAAKkB,aAAL,CAAoBhngB,OAAD,IAAa;AAC5BA,MAAAA,OAAO,CAACvD,MAAR,CAAe,EAAE,GAAG8pL,IAAL;AAAWv9L,QAAAA,QAAQ,EAAE;AAArB,OAAf;AACH,KAFD;;AAGA,SAAKoU,sBAAL,CAA4B;AAAEpU,MAAAA,QAAQ,EAAE,IAAZ;AAAkBD,MAAAA,SAAS,EAAEw9L,IAAI,CAACx9L;AAAlC,KAA5B;;AACA,SAAKs/gB,gBAAL,CAAsB,EAAE,GAAG9hV,IAAL;AAAW2hV,MAAAA;AAAX,KAAtB;;AACA,SAAKd,iBAAL,CAAuB72f,OAAvB,CAAgC+3f,QAAD,IAAcA,QAAQ,CAAC,KAAD,CAArD;AACH;;AACDD,EAAAA,gBAAgB,CAAC9hV,IAAD,EAAO;AACnB,QAAI,KAAKgsS,OAAL,IAAgB,CAAChsS,IAAI,CAACv9L,QAA1B,EAAoC;AAChC,WAAKupe,OAAL,CAAan1d,sBAAb,CAAoCmpL,IAApC;;AACA,UAAI,CAACA,IAAI,CAAC2hV,iBAAV,EAA6B;AACzB,aAAK31C,OAAL,CAAay1C,eAAb;AACH;;AACD,WAAKz1C,OAAL,CAAau1C,cAAb;AACH;AACJ;AACD;AACJ;AACA;;;AACI1+Q,EAAAA,SAAS,CAACv9L,MAAD,EAAS;AACd,SAAK0ma,OAAL,GAAe1ma,MAAf;AACH;AACD;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACIzuD,EAAAA,sBAAsB,CAACmpL,IAAI,GAAG,EAAR,EAAY;AAC9B,SAAKgiV,iBAAL;;AACA,SAAKH,YAAL;;AACA,QAAI,KAAKvxgB,OAAT,EAAkB;AACd,WAAK2xgB,2BAAL;;AACA,WAAKxmc,MAAL,GAAc,KAAKymc,aAAL,EAAd;AACA,WAAK37gB,MAAL,GAAc,KAAK47gB,gBAAL,EAAd;;AACA,UAAI,KAAK57gB,MAAL,KAAgBg5gB,KAAhB,IAAyB,KAAKh5gB,MAAL,KAAgBk5gB,OAA7C,EAAsD;AAClD,aAAK2C,kBAAL,CAAwBpiV,IAAI,CAACx9L,SAA7B;AACH;AACJ;;AACD,QAAIw9L,IAAI,CAACx9L,SAAL,KAAmB,KAAvB,EAA8B;AAC1B,WAAKuT,YAAL,CAAkBlG,IAAlB,CAAuB,KAAKxa,KAA5B;AACA,WAAKskhB,aAAL,CAAmB9pgB,IAAnB,CAAwB,KAAKtJ,MAA7B;AACH;;AACD,QAAI,KAAKyle,OAAL,IAAgB,CAAChsS,IAAI,CAACv9L,QAA1B,EAAoC;AAChC,WAAKupe,OAAL,CAAan1d,sBAAb,CAAoCmpL,IAApC;AACH;AACJ;AACD;;;AACAqiV,EAAAA,mBAAmB,CAACriV,IAAI,GAAG;AAAEx9L,IAAAA,SAAS,EAAE;AAAb,GAAR,EAA6B;AAC5C,SAAKi+gB,aAAL,CAAoBhiR,IAAD,IAAUA,IAAI,CAAC4jR,mBAAL,CAAyBriV,IAAzB,CAA7B;;AACA,SAAKnpL,sBAAL,CAA4B;AAAEpU,MAAAA,QAAQ,EAAE,IAAZ;AAAkBD,MAAAA,SAAS,EAAEw9L,IAAI,CAACx9L;AAAlC,KAA5B;AACH;;AACDw/gB,EAAAA,iBAAiB,GAAG;AAChB,SAAKz7gB,MAAL,GAAc,KAAK+7gB,oBAAL,KAA8Bj4d,QAA9B,GAAyCk1d,KAAvD;AACH;;AACD2C,EAAAA,aAAa,GAAG;AACZ,WAAO,KAAK/J,SAAL,GAAiB,KAAKA,SAAL,CAAe,IAAf,CAAjB,GAAwC,IAA/C;AACH;;AACDiK,EAAAA,kBAAkB,CAAC5/gB,SAAD,EAAY;AAC1B,QAAI,KAAKw3gB,cAAT,EAAyB;AACrB,WAAKzzgB,MAAL,GAAck5gB,OAAd;AACA,WAAKkB,4BAAL,GAAoC,IAApC;AACA,YAAMp/L,GAAG,GAAG9I,YAAY,CAAC,KAAKuhM,cAAL,CAAoB,IAApB,CAAD,CAAxB;AACA,WAAKuI,4BAAL,GAAoChhM,GAAG,CAACz8V,SAAJ,CAAe22F,MAAD,IAAY;AAC1D,aAAKklc,4BAAL,GAAoC,KAApC,CAD0D,CAE1D;AACA;AACA;;AACA,aAAK6B,SAAL,CAAe/mc,MAAf,EAAuB;AAAEj5E,UAAAA;AAAF,SAAvB;AACH,OANmC,CAApC;AAOH;AACJ;;AACDy/gB,EAAAA,2BAA2B,GAAG;AAC1B,QAAI,KAAKM,4BAAT,EAAuC;AACnC,WAAKA,4BAAL,CAAkCrrS,WAAlC;;AACA,WAAKypS,4BAAL,GAAoC,KAApC;AACH;AACJ;AACD;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACI6B,EAAAA,SAAS,CAAC/mc,MAAD,EAASukH,IAAI,GAAG,EAAhB,EAAoB;AACzB,SAAKvkH,MAAL,GAAcA,MAAd;;AACA,SAAKgnc,qBAAL,CAA2BziV,IAAI,CAACx9L,SAAL,KAAmB,KAA9C;AACH;AACD;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACI5d,EAAAA,GAAG,CAACuG,IAAD,EAAO;AACN,WAAOu0hB,KAAK,CAAC,IAAD,EAAOv0hB,IAAP,EAAa,GAAb,CAAZ;AACH;AACD;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACIgvhB,EAAAA,QAAQ,CAACzif,SAAD,EAAYvsC,IAAZ,EAAkB;AACtB,UAAMsuB,OAAO,GAAGtuB,IAAI,GAAG,KAAKvG,GAAL,CAASuG,IAAT,CAAH,GAAoB,IAAxC;AACA,WAAOsuB,OAAO,IAAIA,OAAO,CAACgiE,MAAnB,GAA4BhiE,OAAO,CAACgiE,MAAR,CAAe/jD,SAAf,CAA5B,GAAwD,IAA/D;AACH;AACD;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACImgT,EAAAA,QAAQ,CAACngT,SAAD,EAAYvsC,IAAZ,EAAkB;AACtB,WAAO,CAAC,CAAC,KAAKgvhB,QAAL,CAAczif,SAAd,EAAyBvsC,IAAzB,CAAT;AACH;AACD;AACJ;AACA;;;AACY,MAAJw8B,IAAI,GAAG;AACP,QAAI/mB,CAAC,GAAG,IAAR;;AACA,WAAOA,CAAC,CAACore,OAAT,EAAkB;AACdpre,MAAAA,CAAC,GAAGA,CAAC,CAACore,OAAN;AACH;;AACD,WAAOpre,CAAP;AACH;AACD;;;AACA6hhB,EAAAA,qBAAqB,CAACjghB,SAAD,EAAY;AAC7B,SAAK+D,MAAL,GAAc,KAAK47gB,gBAAL,EAAd;;AACA,QAAI3/gB,SAAJ,EAAe;AACX,WAAKm3gB,aAAL,CAAmB9pgB,IAAnB,CAAwB,KAAKtJ,MAA7B;AACH;;AACD,QAAI,KAAKyle,OAAT,EAAkB;AACd,WAAKA,OAAL,CAAay2C,qBAAb,CAAmCjghB,SAAnC;AACH;AACJ;AACD;;;AACAkghB,EAAAA,gBAAgB,GAAG;AACf,SAAK3sgB,YAAL,GAAoB,IAAI5G,uDAAJ,EAApB;AACA,SAAKwqgB,aAAL,GAAqB,IAAIxqgB,uDAAJ,EAArB;AACH;;AACDgzgB,EAAAA,gBAAgB,GAAG;AACf,QAAI,KAAKG,oBAAL,EAAJ,EACI,OAAOj4d,QAAP;AACJ,QAAI,KAAKoxB,MAAT,EACI,OAAO+jc,OAAP;AACJ,QAAI,KAAKmB,4BAAL,IAAqC,KAAKgC,sBAAL,CAA4BlD,OAA5B,CAAzC,EACI,OAAOA,OAAP;AACJ,QAAI,KAAKkD,sBAAL,CAA4BnD,OAA5B,CAAJ,EACI,OAAOA,OAAP;AACJ,WAAOD,KAAP;AACH;AACD;;;AACAoD,EAAAA,sBAAsB,CAACp8gB,MAAD,EAAS;AAC3B,WAAO,KAAKq8gB,YAAL,CAAmBnpgB,OAAD,IAAaA,OAAO,CAAClT,MAAR,KAAmBA,MAAlD,CAAP;AACH;AACD;;;AACAs8gB,EAAAA,iBAAiB,GAAG;AAChB,WAAO,KAAKD,YAAL,CAAmBnpgB,OAAD,IAAaA,OAAO,CAAC62c,KAAvC,CAAP;AACH;AACD;;;AACAwyD,EAAAA,mBAAmB,GAAG;AAClB,WAAO,KAAKF,YAAL,CAAmBnpgB,OAAD,IAAaA,OAAO,CAACgggB,OAAvC,CAAP;AACH;AACD;;;AACAgI,EAAAA,eAAe,CAACzhV,IAAI,GAAG,EAAR,EAAY;AACvB,SAAKw5U,QAAL,GAAgB,CAAC,KAAKqJ,iBAAL,EAAjB;;AACA,QAAI,KAAK72C,OAAL,IAAgB,CAAChsS,IAAI,CAACv9L,QAA1B,EAAoC;AAChC,WAAKupe,OAAL,CAAay1C,eAAb,CAA6BzhV,IAA7B;AACH;AACJ;AACD;;;AACAuhV,EAAAA,cAAc,CAACvhV,IAAI,GAAG,EAAR,EAAY;AACtB,SAAKy5U,OAAL,GAAe,KAAKqJ,mBAAL,EAAf;;AACA,QAAI,KAAK92C,OAAL,IAAgB,CAAChsS,IAAI,CAACv9L,QAA1B,EAAoC;AAChC,WAAKupe,OAAL,CAAau1C,cAAb,CAA4BvhV,IAA5B;AACH;AACJ;AACD;;;AACA+iV,EAAAA,aAAa,CAACC,SAAD,EAAY;AACrB,WAAO,OAAOA,SAAP,KAAqB,QAArB,IAAiCA,SAAS,KAAK,IAA/C,IACH18f,MAAM,CAACkD,IAAP,CAAYw5f,SAAZ,EAAuBlyhB,MAAvB,KAAkC,CAD/B,IACoC,WAAWkyhB,SAD/C,IAC4D,cAAcA,SADjF;AAEH;AACD;;;AACApG,EAAAA,2BAA2B,CAACr8X,EAAD,EAAK;AAC5B,SAAKqgY,mBAAL,GAA2BrgY,EAA3B;AACH;AACD;;;AACA0iY,EAAAA,kBAAkB,CAACjjV,IAAD,EAAO;AACrB,QAAIggV,YAAY,CAAChgV,IAAD,CAAZ,IAAsBA,IAAI,CAAC29U,QAAL,IAAiB,IAA3C,EAAiD;AAC7C,WAAKqD,SAAL,GAAiBhhV,IAAI,CAAC29U,QAAtB;AACH;AACJ;AACD;AACJ;AACA;AACA;AACA;;;AACIiE,EAAAA,kBAAkB,CAACn/gB,QAAD,EAAW;AACzB,UAAMyghB,WAAW,GAAG,KAAKl3C,OAAL,IAAgB,KAAKA,OAAL,CAAa1b,KAAjD;AACA,WAAO,CAAC7td,QAAD,IAAa,CAAC,CAACyghB,WAAf,IAA8B,CAAC,KAAKl3C,OAAL,CAAa62C,iBAAb,EAAtC;AACH;;AAtvBiB;AAwvBtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,MAAM52gB,WAAN,SAA0By0gB,eAA1B,CAA0C;AACtC;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACI98hB,EAAAA,WAAW,CAACo/hB,SAAS,GAAG,IAAb,EAAmBjD,eAAnB,EAAoC/F,cAApC,EAAoD;AAC3D,UAAM8F,cAAc,CAACC,eAAD,CAApB,EAAuCG,mBAAmB,CAAClG,cAAD,EAAiB+F,eAAjB,CAA1D;AACA;AACR;AACA;AACA;AACA;AACA;;AACQ,SAAKrwZ,YAAL,GAAoB,IAApB;AACA;;AACA,SAAKyzZ,SAAL,GAAiB,EAAjB;AACA;;AACA,SAAK1F,cAAL,GAAsB,KAAtB;;AACA,SAAK2F,eAAL,CAAqBJ,SAArB;;AACA,SAAKC,k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CV,IAAD,CAAlC,EAA0C;AAAE8N,QAAAA,QAAQ,EAAE,IAAZ;AAAkBD,QAAAA,SAAS,EAAEqP,OAAO,CAACrP;AAArC,OAA1C;AACH,KAHD;AAIA,SAAKqU,sBAAL,CAA4BhF,OAA5B;AACH;AACD;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACItP,EAAAA,UAAU,CAAClN,KAAD,EAAQwc,OAAO,GAAG,EAAlB,EAAsB;AAC5B;AACA;AACA;AACA;AACA,QAAIxc,KAAK,IAAI;AAAK;AAAlB,MACI;AACJixB,IAAAA,MAAM,CAACkD,IAAP,CAAYn0B,KAAZ,EAAmB20B,OAAnB,CAA2Br1B,IAAI,IAAI;AAC/B,UAAI,KAAKsb,QAAL,CAActb,IAAd,CAAJ,EAAyB;AACrB,aAAKsb,QAAL,CAActb,IAAd,EAAoB4N,UAApB,CAA+BlN,KAAK,CAACV,IAAD,CAApC,EAA4C;AAAE8N,UAAAA,QAAQ,EAAE,IAAZ;AAAkBD,UAAAA,SAAS,EAAEqP,OAAO,CAACrP;AAArC,SAA5C;AACH;AACJ,KAJD;AAKA,SAAKqU,sBAAL,CAA4BhF,OAA5B;AACH;AACD;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACI3D,EAAAA,KAAK,CAAC7Y,KAAK,GAAG,EAAT,EAAawc,OAAO,GAAG,EAAvB,EAA2B;AAC5B,SAAK4ugB,aAAL,CAAmB,CAAChngB,OAAD,EAAU9kB,IAAV,KAAmB;AAClC8kB,MAAAA,OAAO,CAACvL,KAAR,C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C,CAApC,IAAyC,KAAK4mB,QAArD;AACH;;AA9VmC;AAgWxC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,MAAM2ogB,SAAN,SAAwBK,eAAxB,CAAwC;AACpC;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACI98hB,EAAAA,WAAW,CAACqsB,QAAD,EAAW8vgB,eAAX,EAA4B/F,cAA5B,EAA4C;AACnD,UAAM8F,cAAc,CAACC,eAAD,CAApB,EAAuCG,mBAAmB,CAAClG,cAAD,EAAiB+F,eAAjB,CAA1D;AACA,SAAK9vgB,QAAL,GAAgBA,QAAhB;;AACA,SAAKyygB,gBAAL;;AACA,SAAKO,kBAAL,CAAwBlD,eAAxB;;AACA,SAAKwD,cAAL;;AACA,SAAK1sgB,sBAAL,CAA4B;AACxBpU,MAAAA,QAAQ,EAAE,IADc;AAExB;AACA;AACA;AACA;AACAD,MAAAA,SAAS,EAAE,CAAC,CAAC,KAAKw3gB;AANM,KAA5B;AAQH;AACD;AACJ;AACA;AACA;AACA;;;AACI1zb,EAAAA,EAAE,CAAC3gD,KAAD,EAAQ;AACN,WAAO,KAAK11B,QAAL,CAAc01B,KAAd,CAAP;AACH;AACD;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACIvb,EAAAA,IAAI,CAAC3Q,OAAD,EAAU5H,OAAO,GAAG,EAApB,EAAwB;AACxB,SAAK5B,QAAL,CAAcma,IAAd,CAAmB3Q,OAAnB;;AACA,SAAK0qgB,gBAAL,CAAsB1qgB,OAAtB;;AACA,SAAK5C,sBAAL,CAA4B;AAAErU,MAAAA,SAAS,E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CAA0B4oD,QAA1B,EAAoC;AAAE1oD,UAAAA,QAAQ,EAAE,IAAZ;AAAkBD,UAAAA,SAAS,EAAEqP,OAAO,CAACrP;AAArC,SAApC;AACH;AACJ,KAJD;AAKA,SAAKqU,sBAAL,CAA4BhF,OAA5B;AACH;AACD;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACI3D,EAAAA,KAAK,CAAC7Y,KAAK,GAAG,EAAT,EAAawc,OAAO,GAAG,EAAvB,EAA2B;AAC5B,SAAK4ugB,aAAL,CAAmB,CAAChngB,OAAD,EAAUksB,KAAV,KAAoB;AACnClsB,MAAAA,OAAO,CAACvL,KAAR,CAAc7Y,KAAK,CAACswC,KAAD,CAAnB,EAA4B;AAAEljC,QAAAA,QAAQ,EAAE,IAAZ;AAAkBD,QAAAA,SAAS,EAAEqP,OAAO,CAACrP;AAArC,OAA5B;AACH,KAFD;;AAGA,SAAKi/gB,eAAL,CAAqB5vgB,OAArB;;AACA,SAAK0vgB,cAAL,CAAoB1vgB,OAApB;;AACA,SAAKgF,sBAAL,CAA4BhF,OAA5B;AACH;AACD;AACJ;AACA;AACA;AACA;AACA;;;AACIuI,EAAAA,WAAW,GAAG;AACV,WAAO,KAAKnK,QAAL,CAActiB,GAAd,CAAmB8rB,OAAD,IAAaW,WAAW,CAACX,OAAD,CAA1C,CAAP;AACH;AACD;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACIopB,EAAAA,KAAK,CAAChxB,OAAO,GAAG,EAAX,EAAe;AAChB,QAAI,KAAK5B,QAAL,CAAcnf,MAAd,GAAuB,CAA3B,EACI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,CAAsC/wkB,MAAtC,EAA8C;AAC1C,SAAOA,MAAM,KAAK,YAAlB;AACH;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;IACM2zkB;AAAN,QAAMA,UAAN,CAAiB;AACbzwnB,IAAAA,WAAW,CAAC8b,MAAD,EAASC,KAAT,EAAgB20mB,iBAAhB,EAAmCnlV,QAAnC,EAA6Cn+E,EAA7C,EAAiD;AACxD,WAAKtxM,MAAL,GAAcA,MAAd;AACA,WAAKC,KAAL,GAAaA,KAAb;AACA,WAAK20mB,iBAAL,GAAyBA,iBAAzB;AACA,WAAKnlV,QAAL,GAAgBA,QAAhB;AACA,WAAKn+E,EAAL,GAAUA,EAAV;AACA,WAAKsoG,QAAL,GAAgB,IAAhB;AACA;;AACA,WAAKi7T,SAAL,GAAiB,IAAIhnnB,0CAAJ,EAAjB;AACA,WAAKinnB,0BAAL,CAAgC,GAAhC;AACH;AACD;AACJ;AACA;AACA;;;AACIA,IAAAA,0BAA0B,CAACC,WAAD,EAAc;AACpC,UAAI,KAAKH,iBAAL,IAA0B;AAAK;AAAnC,QAAsE;AAClE;AACH;;AACD,YAAMnlV,QAAQ,GAAG,KAAKA,QAAtB;AACA,YAAM9hR,aAAa,GAAG,KAAK2jM,EAAL,CAAQ3jM,aAA9B;;AACA,UAAIonmB,WAAW,KAAK,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H,eAAe,GAAG,CAAtB;AAAA,IACIE,kBAAkB,GAAG,CADzB;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,SAASqN,SAAT,CAAmB/2oB,KAAnB,EAA0B;AACxB,SAAOsroB,yDAAS,CAACtroB,KAAD,EAAQwpoB,eAAe,GAAGE,kBAA1B,CAAhB;AACD;;AAED,iEAAeqN,SAAf;;;;;;;;;;;;;;;;AC5BA;AAEA;;AACA,IAAIvN,eAAe,GAAG,CAAtB;AAAA,IACIE,kBAAkB,GAAG,CADzB;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,SAASt5hB,aAAT,CAAuBpwG,KAAvB,EAA8BwroB,UAA9B,EAA0C;AACxCA,EAAAA,UAAU,GAAG,OAAOA,UAAP,IAAqB,UAArB,GAAkCA,UAAlC,GAA+CrqmB,SAA5D;AACA,SAAOmqmB,yDAAS,CAACtroB,KAAD,EAAQwpoB,eAAe,GAAGE,kBAA1B,EAA8C8B,UAA9C,CAAhB;AACD;;AAED,iEAAep7hB,aAAf;;;;;;;;;;;;;;;;;;ACvCA;AACA;AACA;AAEA;;AACA,IAAI6miB,eAAe,GAAG,qBAAtB;AAEA;;AACA,IAAIC,SAAS,GAAGlslB,IAAI,CAAC1qC,GAArB;AAAA,IACI62nB,SAAS,GAAGnslB,IAAI,CAACzqC,GADrB;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,SAAS2kY,QAAT,CAAkBpjR,IAA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AAM,IAAI,IAAV,GAAiB,EAAjB,GAAsB,CAACA,MAAD,CAA/B;AACD;;AACD,SAAOF,2DAAW,CAAC1xZ,UAAD,EAAa2xZ,SAAb,EAAwBC,MAAxB,CAAlB;AACD;;AAED,iEAAekI,OAAf;;;;;;;;;;;;;;;;;;;AC9CA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,SAASphf,QAAT,CAAkB7hK,IAAlB,EAAwB;AACtB,SAAOw6oB,qDAAK,CAACx6oB,IAAD,CAAL,GAAci7oB,4DAAY,CAACtE,qDAAK,CAAC32oB,IAAD,CAAN,CAA1B,GAA0Ck7oB,gEAAgB,CAACl7oB,IAAD,CAAjE;AACD;;AAED,iEAAe6hK,QAAf;;;;;;;;;;;;;;;AC/BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAASs9e,SAAT,GAAqB;AACnB,SAAO,EAAP;AACD;;AAED,iEAAeA,SAAf;;;;;;;;;;;;;;;ACtBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAASsD,SAAT,GAAqB;AACnB,SAAO,KAAP;AACD;;AAED,iEAAeA,SAAf;;;;;;;;;;;;;;;;;ACjBA;AACA;AAEA;;AACA,IAAItB,eAAe,GAAG,qBAAtB;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,SAAS9miB,QAAT,CAAkB2xB,IAAlB,EAAwBs1gB,IAAxB,EAA8B56nB,OAA9B,EAAuC;AACrC,MAAIy7Q,OAAO,GAAG,IAAd;AAAA,MACIE,QAAQ,GAAG,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vB,IAAN,EAAYtW,SAAZ,EAAuB;AACxC,UAAMmzoB,YAAY,GAAGnzoB,SAAS,CAACmzoB,YAAV,CAAuB78nB,IAAvB,CAArB;AACA,UAAMkZ,GAAG,GAAGxvB,SAAS,CAACk1oB,eAAV,CAA0B/B,YAA1B,EAAwChtmB,GAAxC,CAAZ;;AACA,QAAI,OAAO3W,GAAP,KAAe,QAAnB,EAA6B;AACzBrtB,MAAAA,OAAO,CAACC,GAAR,CAAa,8BAA6BkU,IAAK,EAA/C;AACA,aAAO6vB,GAAP;AACH;;AACD,WAAO3W,GAAP;AACH;;AATgB;AAYrB;AACA;AACA;;AAEA;AACA;AACA;;;;;;;;;;;;;;;;;;AC56JA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;;AAEA;AACA;AACA,IAAI;AACJ;AACA;AACA;;AAEe;AACf;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,KAAK;AACL;AACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AClCA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,SAAS,gBAAgB,sCAAsC,kBAAkB;AACjF,wBAAwB;AACxB;AACA;;AAEO;AACP;AACA;AACA;AACA,kBAAkB;AAClB;AACA;;AAEO;AACP;AACA,+CAA+C,OAAO;AACtD;AACA;AACA;AACA;AACA;AACA;AACA;;AAEO;AACP;AACA;AACA;AACA;AACA,2DAA2D,cAAc;AACzE;AACA;AACA;AACA;AACA;;AAEO;AACP;AACA;AACA,2CAA2C,QAAQ;AACnD;AACA;;AAEO;AACP,kCAAkC;AAClC;;AAEO;AACP,uBAAuB,uFAAuF;AAC9G;AACA;AACA,yGAAyG;AACzG;AACA,sCAAsC,QAAQ;AAC9C;AACA,gEAAgE;AAChE;AACA,8CAA8C,yFAAyF;AACvI,8DAA8D,2CAA2C;AACzG;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEO;AACP;AACA,kBAAkB,yBAAyB;AAC3C;AACA;AACA;AACA;;AAEO;AACP;AACA;;AAEO;AACP;AACA,4CAA4C,yEAAyE;AACrH;;AAEO;AACP;AACA;;AAEO;AACP,0BAA0B,+DAA+D,iBAAiB;AAC1G;AACA,kCAAkC,MAAM,+BAA+B,YAAY;AACnF,iCAAiC,MAAM,mCAAmC,YAAY;AACtF,8BAA8B;AAC9B;AACA,GAAG;AACH;;AAEO;AACP,YAAY,6BAA6B,0BAA0B,cAAc,qBAAqB;AACtG,eAAe,oDAAoD,qEAAqE,cAAc;AACtJ,qBAAqB,sBAAsB;AAC3C;AACA;AACA;AACA;AACA;AACA;AACA,sCAAsC;AACtC,iCAAiC,SAAS;AAC1C,iCAAiC,WAAW,UAAU;AACtD,wCAAwC,cAAc;AACtD;AACA,4GAA4G,OAAO;AACnH,+EAA+E,iBAAiB;AAChG,uDAAuD,gBAAgB,QAAQ;AAC/E,6CAA6C,gBAAgB,gBAAgB;AAC7E;AACA,gCAAgC;AAChC;AACA;AACA,QAAQ,YAAY,aAAa,SAAS,UAAU;AACpD,kCAAkC,SAAS;AAC3C;AACA;;AAEO;AACP;AACA;AACA;AACA,eAAe,oCAAoC;AACnD;AACA;AACA,CAAC;AACD;AACA;AACA,CAAC;;AAEM;AACP;AACA;;AAEO;AACP;AACA;AACA;AACA;AACA;AACA,mBAAmB;AACnB;AACA;AACA;AACA;;AAEO;AACP;AACA;AACA;AACA;AACA;AACA;AACA,kBAAkB,MAAM;AACxB;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;;AAEA;AACO;AACP,2BAA2B,sBAAsB;AACjD;AACA;AACA;;AAEA;AACO;AACP,gDAAgD,QAAQ;AACxD,uCAAuC,QAAQ;AAC/C,uDAAuD,QAAQ;AAC/D;AACA;AACA;;AAEO;AACP,2EAA2E,OAAO;AAClF;AACA;AACA;AACA;AACA;AACA;AACA;;AAEO;AACP;AACA;;AAEO;AACP;AACA;AACA,eAAe,uFAAuF,cAAc;AACpH,qBAAqB,gCAAgC,qCAAqC,2CAA2C;AACrI,0BAA0B,MAAM,iBAAiB,YAAY;AAC7D,qBAAqB;AACrB,4BAA4B;AAC5B,2BAA2B;AAC3B,0BAA0B;AAC1B;;AAEO;AACP;AACA,eAAe,6CAA6C,UAAU,sDAAsD,cAAc;AAC1I,wBAAwB,6BAA6B,oBAAoB,uCAAuC,kBAAkB;AAClI;;AAEO;AACP;AACA;AACA,yGAAyG,uFAAuF,cAAc;AAC9M,qBAAqB,8BAA8B,gDAAgD,wDAAwD;AAC3J,2CAA2C,sCAAsC,UAAU,mBAAmB,IAAI;AAClH;;AAEO;AACP,+BAA+B,uCAAuC,YAAY,KAAK,OAAO;AAC9F;AACA;;AAEA;AACA,wCAAwC,4BAA4B;AACpE,CAAC;AACD;AACA;;AAEO;AACP;AACA;AACA;AACA;AACA;AACA;;AAEO;AACP,2CAA2C;AAC3C;;AAEO;AACP;AACA;AACA;AACA;;AAEO;AACP;AACA;AACA;AACA;AACA;;AAEO;AACP;AACA;AACA;;AAEO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB,8CAA8C;AACnE;AACA;AACA,qBAAqB,aAAa;AAClC;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+EAA+E,SAAS,gBAAgB;AACxG;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,iEAAe;AACf;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,EAAC","sources":["./src/app/app.component.ts","./src/app/app.module.ts","./src/app/app.routes.ts","./src/app/app.types.ts","./src/app/page.component.ts","./src/app/page.component.html","./src/app/pages/schedule/schedule-access.service.ts","./src/app/pages/schedule/schedule-dialogs.service.ts","./src/app/pages/schedule/schedule.service.ts","./src/app/pages/schedule/schedule.types.ts","./src/app/services/bell-ending.service.ts","./src/app/services/bell.service.ts","./src/app/services/guards/store-role-guard.service.ts","./src/app/services/in-cbs-navigation.service.ts","./src/app/services/in-cbs-user.service.ts","./src/app/services/in-connection-hub.service.ts","./src/app/shared/components/active-users/active-users.component.ts","./src/app/shared/components/active-users/active-users.component.html","./src/app/shared/components/active-users/active-users.module.ts","./src/app/shared/components/active-users/active-users.service.ts","./src/app/shared/components/active-users/components/active-user-path-message/active-user-path-message.component.ts","./src/app/shared/components/active-users/components/active-user-path-message/active-user-path-message.component.html","./src/app/shared/components/chat/chat.component.ts","./src/app/shared/components/chat/chat.component.html","./src/app/shared/components/chat/chat.module.ts","./src/app/shared/components/chat/chat.service.ts","./src/app/shared/components/chat/chat.types.ts","./src/app/shared/components/chat/components/chair-view/chair-view.component.ts","./src/app/shared/components/chat/components/chair-view/chair-view.component.html","./src/app/shared/components/chat/components/chat-button/chat-button.component.ts","./src/app/shared/components/chat/components/chat-button/chat-button.component.html","./src/app/shared/components/chat/components/chat-button/chat-button.type.ts","./src/app/shared/components/chat/components/chat-message/chat-message.component.ts","./src/app/shared/components/chat/components/chat-message/chat-message.component.html","./src/app/shared/components/header-bar/components/chamber-info/chamber-user-info.component.ts","./src/app/shared/components/header-bar/components/chamber-info/chamber-user-info.component.html","./src/app/shared/components/header-bar/components/dialog/switch-user/switch-user.component.ts","./src/app/shared/components/header-bar/components/dialog/switch-user/switch-user.component.html","./src/app/shared/components/header-bar/header-bar.component.ts","./src/app/shared/components/header-bar/header-bar.component.html","./src/app/shared/components/header-bar/header-bar.module.ts","./src/app/shared/components/in-chamber-error-page/in-chamber-no-access-page.component.ts","./src/app/shared/components/in-chamber-error-page/in-chamber-no-access-page.component.html","./src/app/shared/components/in-chamber-side-navigation/in-chamber-side-navigation.component.ts","./src/app/shared/components/in-chamber-side-navigation/in-chamber-side-navigation.component.html","./src/app/shared/components/in-chamber-side-navigation/in-chamber-side-navigation.module.ts","./src/app/shared/components/in-chamber-side-navigation/in-chamber-side-navigation.service.ts","./src/app/shared/dialogs/call-division-bell-dialog/call-division-bell-dialog.component.ts","./src/app/shared/dialogs/call-division-bell-dialog/call-division-bell-dialog.component.html","./src/app/shared/dialogs/call-division-bell-dialog/call-division-bell-dialog.types.ts","./src/app/shared/dialogs/call-quorum-bell-dialog/call-quorum-bell-dialog.component.ts","./src/app/shared/dialogs/call-quorum-bell-dialog/call-quorum-bell-dialog.component.html","./src/app/shared/dialogs/call-quorum-bell-dialog/call-quorum-bell-dialog.types.ts","./src/app/shared/dialogs/cancel-schedule-div-dialog/cancel-schedule-div-dialog.component.ts","./src/app/shared/dialogs/cancel-schedule-div-dialog/cancel-schedule-div-dialog.component.html","./src/app/shared/dialogs/confirmation-dialog/confirmation-dialog.component.ts","./src/app/shared/dialogs/confirmation-dialog/confirmation-dialog.component.html","./src/app/shared/dialogs/extend-bell-dialog/extend-bell-dialog.component.ts","./src/app/shared/dialogs/extend-bell-dialog/extend-bell-dialog.component.html","./src/app/shared/dialogs/quorum-ending-dialog/quorum-ending-dialog.component.ts","./src/app/shared/dialogs/quorum-ending-dialog/quorum-ending-dialog.component.html","./src/app/shared/dialogs/quorum-ending-dialog/quorum-ending-dialog.module.ts","./src/app/shared/dialogs/suspension-dialog/suspension-dialog.component.ts","./src/app/shared/dialogs/suspension-dialog/suspension-dialog.component.html","./src/app/shared/dialogs/suspension-dialog/suspension-dialog.types.ts","./src/app/store/actions/bell-timer.actions.ts","./src/app/store/actions/chat.actions.ts","./src/app/store/actions/in-chamber.actions.ts","./src/app/store/actions/live-sharing.actions.ts","./src/app/store/effects/bell-timer.effects.ts","./src/app/store/effects/live-sharing.effects.ts","./src/app/store/reducers/bell-timer.reducer.ts","./src/app/store/reducers/chat.reducer.ts","./src/app/store/reducers/in-chamber.reducer.ts","./src/app/store/reducers/live-sharing.reducer.ts","./src/environments/base.environment.ts","./src/environments/environment.ts","./src/main.ts","./node_modules/@azure/msal-angular/__ivy_ngcc__/fesm2015/azure-msal-angular.js","./node_modules/@azure/msal-browser/dist/_virtual/_tslib.js","./node_modules/@azure/msal-browser/dist/app/ClientApplication.js","./node_modules/@azure/msal-browser/dist/app/PublicClientApplication.js","./node_modules/@azure/msal-browser/dist/broker/nativeBroker/NativeMessageHandler.js","./node_modules/@azure/msal-browser/dist/cache/AsyncMemoryStorage.js","./node_modules/@azure/msal-browser/dist/cache/BrowserCacheManager.js","./node_modules/@azure/msal-browser/dist/cache/BrowserStorage.js","./node_modules/@azure/msal-browser/dist/cache/CryptoKeyStore.js","./node_modules/@azure/msal-browser/dist/cache/DatabaseStorage.js","./node_modules/@azure/msal-browser/dist/cache/MemoryStorage.js","./node_modules/@azure/msal-browser/dist/cache/TokenCache.js","./node_modules/@azure/msal-browser/dist/config/Configuration.js","./node_modules/@azure/msal-browser/dist/crypto/BrowserCrypto.js","./node_modules/@azure/msal-browser/dist/crypto/CryptoOps.js","./node_modules/@azure/msal-browser/dist/crypto/GuidGenerator.js","./node_modules/@azure/msal-browser/dist/crypto/ModernBrowserCrypto.js","./node_modules/@azure/msal-browser/dist/crypto/MsBrowserCrypto.js","./node_modules/@azure/msal-browser/dist/crypto/MsrBrowserCrypto.js","./node_modules/@azure/msal-browser/dist/crypto/PkceGenerator.js","./node_modules/@azure/msal-browser/dist/encode/Base64Decode.js","./node_modules/@azure/msal-browser/dist/encode/Base64Encode.js","./node_modules/@azure/msal-browser/dist/error/BrowserAuthError.js","./node_modules/@azure/msal-browser/dist/error/BrowserConfigurationAuthError.js","./node_modules/@azure/msal-browser/dist/error/NativeAuthError.js","./node_modules/@azure/msal-browser/dist/event/EventHandler.js","./node_modules/@azure/msal-browser/dist/event/EventMessage.js","./node_modules/@azure/msal-browser/dist/event/EventType.js","./node_modules/@azure/msal-browser/dist/interaction_client/BaseInteractionClient.js","./node_modules/@azure/msal-browser/dist/interaction_client/HybridSpaAuthorizationCodeClient.js","./node_modules/@azure/msal-browser/dist/interaction_client/NativeInteractionClient.js","./node_modules/@azure/msal-browser/dist/interaction_client/PopupClient.js","./node_modules/@azure/msal-browser/dist/interaction_client/RedirectClient.js","./node_modules/@azure/msal-browser/dist/interaction_client/SilentAuthCodeClient.js","./node_modules/@azure/msal-browser/dist/interaction_client/SilentCacheClient.js","./node_modules/@azure/msal-browser/dist/interaction_client/SilentIframeClient.js","./node_modules/@azure/msal-browser/dist/interaction_client/SilentRefreshClient.js","./node_modules/@azure/msal-browser/dist/interaction_client/StandardInteractionClient.js","./node_modules/@azure/msal-browser/dist/interaction_handler/InteractionHandler.js","./node_modules/@azure/msal-browser/dist/interaction_handler/RedirectHandler.js","./node_modules/@azure/msal-browser/dist/interaction_handler/SilentHandler.js","./node_modules/@azure/msal-browser/dist/navigation/NavigationClient.js","./node_modules/@azure/msal-browser/dist/network/FetchClient.js","./node_modules/@azure/msal-browser/dist/network/XhrClient.js","./node_modules/@azure/msal-browser/dist/packageMetadata.js","./node_modules/@azure/msal-browser/dist/telemetry/BrowserPerformanceClient.js","./node_modules/@azure/msal-browser/dist/telemetry/BrowserPerformanceMeasurement.js","./node_modules/@azure/msal-browser/dist/utils/BrowserConstants.js","./node_modules/@azure/msal-browser/dist/utils/BrowserProtocolUtils.js","./node_modules/@azure/msal-browser/dist/utils/BrowserStringUtils.js","./node_modules/@azure/msal-browser/dist/utils/BrowserUtils.js","./node_modules/@azure/msal-browser/dist/utils/MathUtils.js","./node_modules/@azure/msal-common/dist/_virtual/_tslib.js","./node_modules/@azure/msal-common/dist/account/AuthToken.js","./node_modules/@azure/msal-common/dist/account/CcsCredential.js","./node_modules/@azure/msal-common/dist/account/ClientInfo.js","./node_modules/@azure/msal-common/dist/authority/Authority.js","./node_modules/@azure/msal-common/dist/authority/AuthorityFactory.js","./node_modules/@azure/msal-common/dist/authority/AuthorityMetadata.js","./node_modules/@azure/msal-common/dist/authority/AuthorityOptions.js","./node_modules/@azure/msal-common/dist/authority/AuthorityType.js","./node_modules/@azure/msal-common/dist/authority/CloudInstanceDiscoveryErrorResponse.js","./node_modules/@azure/msal-common/dist/authority/CloudInstanceDiscoveryResponse.js","./node_modules/@azure/msal-common/dist/authority/OpenIdConfigResponse.js","./node_modules/@azure/msal-common/dist/authority/ProtocolMode.js","./node_modules/@azure/msal-common/dist/authority/RegionDiscovery.js","./node_modules/@azure/msal-common/dist/cache/CacheManager.js","./node_modules/@azure/msal-common/dist/cache/entities/AccessTokenEntity.js","./node_modules/@azure/msal-common/dist/cache/entities/AccountEntity.js","./node_modules/@azure/msal-common/dist/cache/entities/AppMetadataEntity.js","./node_modules/@azure/msal-common/dist/cache/entities/AuthorityMetadataEntity.js","./node_modules/@azure/msal-common/dist/cache/entities/CacheRecord.js","./node_modules/@azure/msal-common/dist/cache/entities/CredentialEntity.js","./node_modules/@azure/msal-common/dist/cache/entities/IdTokenEntity.js","./node_modules/@azure/msal-common/dist/cache/entities/RefreshTokenEntity.js","./node_modules/@azure/msal-common/dist/cache/entities/ServerTelemetryEntity.js","./node_modules/@azure/msal-common/dist/cache/entities/ThrottlingEntity.js","./node_modules/@azure/msal-common/dist/cache/persistence/TokenCacheContext.js","./node_modules/@azure/msal-common/dist/client/AuthorizationCodeClient.js","./node_modules/@azure/msal-common/dist/client/BaseClient.js","./node_modules/@azure/msal-common/dist/client/RefreshTokenClient.js","./node_modules/@azure/msal-common/dist/client/SilentFlowClient.js","./node_modules/@azure/msal-common/dist/config/ClientConfiguration.js","./node_modules/@azure/msal-common/dist/crypto/ICrypto.js","./node_modules/@azure/msal-common/dist/crypto/JoseHeader.js","./node_modules/@azure/msal-common/dist/crypto/PopTokenGenerator.js","./node_modules/@azure/msal-common/dist/error/AuthError.js","./node_modules/@azure/msal-common/dist/error/ClientAuthError.js","./node_modules/@azure/msal-common/dist/error/ClientConfigurationError.js","./node_modules/@azure/msal-common/dist/error/InteractionRequiredAuthError.js","./node_modules/@azure/msal-common/dist/error/JoseHeaderError.js","./node_modules/@azure/msal-common/dist/error/ServerError.js","./node_modules/@azure/msal-common/dist/logger/Logger.js","./node_modules/@azure/msal-common/dist/network/INetworkModule.js","./node_modules/@azure/msal-common/dist/network/NetworkManager.js","./node_modules/@azure/msal-common/dist/network/ThrottlingUtils.js","./node_modules/@azure/msal-common/dist/packageMetadata.js","./node_modules/@azure/msal-common/dist/request/RequestParameterBuilder.js","./node_modules/@azure/msal-common/dist/request/RequestValidator.js","./node_modules/@azure/msal-common/dist/request/ScopeSet.js","./node_modules/@azure/msal-common/dist/response/ResponseHandler.js","./node_modules/@azure/msal-common/dist/telemetry/performance/PerformanceClient.js","./node_modules/@azure/msal-common/dist/telemetry/performance/PerformanceEvent.js","./node_modules/@azure/msal-common/dist/telemetry/performance/StubPerformanceClient.js","./node_modules/@azure/msal-common/dist/telemetry/server/ServerTelemetryManager.js","./node_modules/@azure/msal-common/dist/url/UrlString.js","./node_modules/@azure/msal-common/dist/utils/Constants.js","./node_modules/@azure/msal-common/dist/utils/ProtocolUtils.js","./node_modules/@azure/msal-common/dist/utils/StringUtils.js","./node_modules/@azure/msal-common/dist/utils/TimeUtils.js","./node_modules/@ckeditor/ckeditor5-watchdog/src/augmentation.js","./node_modules/@ckeditor/ckeditor5-watchdog/src/contextwatchdog.js","./node_modules/@ckeditor/ckeditor5-watchdog/src/editorwatchdog.js","./node_modules/@ckeditor/ckeditor5-watchdog/src/index.js","./node_modules/@ckeditor/ckeditor5-watchdog/src/utils/areconnectedthroughproperties.js","./node_modules/@ckeditor/ckeditor5-watchdog/src/utils/getsubnodes.js","./node_modules/@ckeditor/ckeditor5-watchdog/src/watchdog.js","./node_modules/@microsoft/applicationinsights-analytics-js/dist-esm/JavaScriptSDK/AnalyticsPlugin.js","./node_modules/@microsoft/applicationinsights-analytics-js/dist-esm/JavaScriptSDK/Telemetry/PageViewManager.js","./node_modules/@microsoft/applicationinsights-analytics-js/dist-esm/JavaScriptSDK/Telemetry/PageViewPerformanceManager.js","./node_modules/@microsoft/applicationinsights-analytics-js/dist-esm/JavaScriptSDK/Telemetry/PageVisitTimeManager.js","./node_modules/@microsoft/applicationinsights-analytics-js/dist-esm/JavaScriptSDK/Timing.js","./node_modules/@microsoft/applicationinsights-analytics-js/dist-esm/__DynamicConstants.js","./node_modules/@microsoft/applicationinsights-channel-js/dist-esm/EnvelopeCreator.js","./node_modules/@microsoft/applicationinsights-channel-js/dist-esm/InternalConstants.js","./node_modules/@microsoft/applicationinsights-channel-js/dist-esm/Offline.js","./node_modules/@microsoft/applicationinsights-channel-js/dist-esm/SendBuffer.js","./node_modules/@microsoft/applicationinsights-channel-js/dist-esm/Sender.js","./node_modules/@microsoft/applicationinsights-channel-js/dist-esm/Serializer.js","./node_modules/@microsoft/applicationinsights-channel-js/dist-esm/TelemetryProcessors/Sample.js","./node_modules/@microsoft/applicationinsights-channel-js/dist-esm/TelemetryProcessors/SamplingScoreGenerators/HashCodeScoreGenerator.js","./node_modules/@microsoft/applicationinsights-channel-js/dist-esm/TelemetryProcessors/SamplingScoreGenerators/SamplingScoreGenerator.js","./node_modules/@microsoft/applicationinsights-channel-js/dist-esm/__DynamicConstants.js","./node_modules/@microsoft/applicationinsights-common/dist-esm/ConnectionStringParser.js","./node_modules/@microsoft/applicationinsights-common/dist-esm/Constants.js","./node_modules/@microsoft/applicationinsights-common/dist-esm/DomHelperFuncs.js","./node_modules/@microsoft/applicationinsights-common/dist-esm/Enums.js","./node_modules/@microsoft/applicationinsights-common/dist-esm/HelperFuncs.js","./node_modules/@microsoft/applicationinsights-common/dist-esm/Interfaces/Contracts/ContextTagKeys.js","./node_modules/@microsoft/applicationinsights-common/dist-esm/Interfaces/Contracts/SeverityLevel.js","./node_modules/@microsoft/applicationinsights-common/dist-esm/Interfaces/IConfig.js","./node_modules/@microsoft/applicationinsights-common/dist-esm/Interfaces/PartAExtensions.js","./node_modules/@microsoft/applicationinsights-common/dist-esm/RequestResponseHeaders.js","./node_modules/@microsoft/applicationinsights-common/dist-esm/StorageHelperFuncs.js","./node_modules/@microsoft/applicationinsights-common/dist-esm/Telemetry/Common/Data.js","./node_modules/@microsoft/applicationinsights-common/dist-esm/Telemetry/Common/DataPoint.js","./node_modules/@microsoft/applicationinsights-common/dist-esm/Telemetry/Common/DataSanitizer.js","./node_modules/@microsoft/applicationinsights-common/dist-esm/Telemetry/Common/Envelope.js","./node_modules/@microsoft/applicationinsights-common/dist-esm/Telemetry/Event.js","./node_modules/@microsoft/applicationinsights-common/dist-esm/Telemetry/Exception.js","./node_modules/@microsoft/applicationinsights-common/dist-esm/Telemetry/Metric.js","./node_modules/@microsoft/applicationinsights-common/dist-esm/Telemetry/PageView.js","./node_modules/@microsoft/applicationinsights-common/dist-esm/Telemetry/PageViewPerformance.js","./node_modules/@microsoft/applicationinsights-common/dist-esm/Telemetry/RemoteDependencyData.js","./node_modules/@microsoft/applicationinsights-common/dist-esm/Telemetry/Trace.js","./node_modules/@microsoft/applicationinsights-common/dist-esm/TelemetryItemCreator.js","./node_modules/@microsoft/applicationinsights-common/dist-esm/ThrottleMgr.js","./node_modules/@microsoft/applicationinsights-common/dist-esm/UrlHelperFuncs.js","./node_modules/@microsoft/applicationinsights-common/dist-esm/Util.js","./node_modules/@microsoft/applicationinsights-common/dist-esm/__DynamicConstants.js","./node_modules/@microsoft/applicationinsights-common/dist-esm/applicationinsights-common.js","./node_modules/@microsoft/applicationinsights-core-js/dist-esm/JavaScriptSDK.Enums/EnumHelperFuncs.js","./node_modules/@microsoft/applicationinsights-core-js/dist-esm/JavaScriptSDK/AppInsightsCore.js","./node_modules/@microsoft/applicationinsights-core-js/dist-esm/JavaScriptSDK/BaseCore.js","./node_modules/@microsoft/applicationinsights-core-js/dist-esm/JavaScriptSDK/BaseTelemetryPlugin.js","./node_modules/@microsoft/applicationinsights-core-js/dist-esm/JavaScriptSDK/ChannelController.js","./node_modules/@microsoft/applicationinsights-core-js/dist-esm/JavaScriptSDK/CookieMgr.js","./node_modules/@microsoft/applicationinsights-core-js/dist-esm/JavaScriptSDK/CoreUtils.js","./node_modules/@microsoft/applicationinsights-core-js/dist-esm/JavaScriptSDK/DataCacheHelper.js","./node_modules/@microsoft/applicationinsights-core-js/dist-esm/JavaScriptSDK/DbgExtensionUtils.js","./node_modules/@microsoft/applicationinsights-core-js/dist-esm/JavaScriptSDK/DiagnosticLogger.js","./node_modules/@microsoft/applicationinsights-core-js/dist-esm/JavaScriptSDK/EnvUtils.js","./node_modules/@microsoft/applicationinsights-core-js/dist-esm/JavaScriptSDK/EventHelpers.js","./node_modules/@microsoft/applicationinsights-core-js/dist-esm/JavaScriptSDK/HelperFuncs.js","./node_modules/@microsoft/applicationinsights-core-js/dist-esm/JavaScriptSDK/InstrumentHooks.js","./node_modules/@microsoft/applicationinsights-core-js/dist-esm/JavaScriptSDK/InternalConstants.js","./node_modules/@microsoft/applicationinsights-core-js/dist-esm/JavaScriptSDK/NotificationManager.js","./node_modules/@microsoft/applicationinsights-core-js/dist-esm/JavaScriptSDK/PerfManager.js","./node_modules/@microsoft/applicationinsights-core-js/dist-esm/JavaScriptSDK/ProcessTelemetryContext.js","./node_modules/@microsoft/applicationinsights-core-js/dist-esm/JavaScriptSDK/RandomHelper.js","./node_modules/@microsoft/applicationinsights-core-js/dist-esm/JavaScriptSDK/TelemetryHelpers.js","./node_modules/@microsoft/applicationinsights-core-js/dist-esm/JavaScriptSDK/TelemetryInitializerPlugin.js","./node_modules/@microsoft/applicationinsights-core-js/dist-esm/JavaScriptSDK/UnloadHandlerContainer.js","./node_modules/@microsoft/applicationinsights-core-js/dist-esm/JavaScriptSDK/W3cTraceParent.js","./node_modules/@microsoft/applicationinsights-core-js/dist-esm/__DynamicConstants.js","./node_modules/@microsoft/applicationinsights-dependencies-js/dist-esm/InternalConstants.js","./node_modules/@microsoft/applicationinsights-dependencies-js/dist-esm/__DynamicConstants.js","./node_modules/@microsoft/applicationinsights-dependencies-js/dist-esm/ajax.js","./node_modules/@microsoft/applicationinsights-dependencies-js/dist-esm/ajaxRecord.js","./node_modules/@microsoft/applicationinsights-properties-js/dist-esm/Context/Application.js","./node_modules/@microsoft/applicationinsights-properties-js/dist-esm/Context/Device.js","./node_modules/@microsoft/applicationinsights-properties-js/dist-esm/Context/Internal.js","./node_modules/@microsoft/applicationinsights-properties-js/dist-esm/Context/Location.js","./node_modules/@microsoft/applicationinsights-properties-js/dist-esm/Context/Session.js","./node_modules/@microsoft/applicationinsights-properties-js/dist-esm/Context/TelemetryTrace.js","./node_modules/@microsoft/applicationinsights-properties-js/dist-esm/Context/User.js","./node_modules/@microsoft/applicationinsights-properties-js/dist-esm/PropertiesPlugin.js","./node_modules/@microsoft/applicationinsights-properties-js/dist-esm/TelemetryContext.js","./node_modules/@microsoft/applicationinsights-properties-js/dist-esm/__DynamicConstants.js","./node_modules/@microsoft/applicationinsights-shims/dist-esm/Constants.js","./node_modules/@microsoft/applicationinsights-shims/dist-esm/Helpers.js","./node_modules/@microsoft/applicationinsights-shims/dist-esm/TsLibShims.js","./node_modules/@microsoft/applicationinsights-web/dist-esm/Initialization.js","./node_modules/@microsoft/applicationinsights-web/dist-esm/InternalConstants.js","./node_modules/@microsoft/applicationinsights-web/dist-esm/__DynamicConstants.js","./node_modules/@microsoft/dynamicproto-js/lib/dist/esm/dynamicproto-js.js","./node_modules/@microsoft/signalr/dist/esm/AbortController.js","./node_modules/@microsoft/signalr/dist/esm/DefaultHttpClient.js","./node_modules/@microsoft/signalr/dist/esm/DefaultReconnectPolicy.js","./node_modules/@microsoft/signalr/dist/esm/Errors.js","./node_modules/@microsoft/signalr/dist/esm/FetchHttpClient.js","./node_modules/@microsoft/signalr/dist/esm/HandshakeProtocol.js","./node_modules/@microsoft/signalr/dist/esm/HeaderNames.js","./node_modules/@microsoft/signalr/dist/esm/HttpClient.js","./node_modules/@microsoft/signalr/dist/esm/HttpConnection.js","./node_modules/@microsoft/signalr/dist/esm/HubConnection.js","./node_modules/@microsoft/signalr/dist/esm/HubConnectionBuilder.js","./node_modules/@microsoft/signalr/dist/esm/IHubProtocol.js","./node_modules/@microsoft/signalr/dist/esm/ILogger.js","./node_modules/@microsoft/signalr/dist/esm/ITransport.js","./node_modules/@microsoft/signalr/dist/esm/JsonHubProtocol.js","./node_modules/@microsoft/signalr/dist/esm/Loggers.js","./node_modules/@microsoft/signalr/dist/esm/LongPollingTransport.js","./node_modules/@microsoft/signalr/dist/esm/ServerSentEventsTransport.js","./node_modules/@microsoft/signalr/dist/esm/Subject.js","./node_modules/@microsoft/signalr/dist/esm/TextMessageFormat.js","./node_modules/@microsoft/signalr/dist/esm/Utils.js","./node_modules/@microsoft/signalr/dist/esm/WebSocketTransport.js","./node_modules/@microsoft/signalr/dist/esm/XhrHttpClient.js","./node_modules/angular2-text-mask/__ivy_ngcc__/dist/angular2TextMask.js","./node_modules/file-saver/src/FileSaver.js","./node_modules/moment-timezone/index.js","./node_modules/moment-timezone/moment-timezone.js","./node_modules/moment/locale/af.js","./node_modules/moment/locale/ar-dz.js","./node_modules/moment/locale/ar-kw.js","./node_modules/moment/locale/ar-ly.js","./node_modules/moment/locale/ar-ma.js","./node_modules/moment/locale/ar-sa.js","./node_modules/moment/locale/ar-tn.js","./node_modules/moment/locale/ar.js","./node_modules/moment/locale/az.js","./node_modules/moment/locale/be.js","./node_modules/moment/locale/bg.js","./node_modules/moment/locale/bm.js","./node_modules/moment/locale/bn-bd.js","./node_modules/moment/locale/bn.js","./node_modules/moment/locale/bo.js","./node_modules/moment/locale/br.js","./node_modules/moment/locale/bs.js","./node_modules/moment/locale/ca.js","./node_modules/moment/locale/cs.js","./node_modules/moment/locale/cv.js","./node_modules/moment/locale/cy.js","./node_modules/moment/locale/da.js","./node_modules/moment/locale/de-at.js","./node_modules/moment/locale/de-ch.js","./node_modules/moment/locale/de.js","./node_modules/moment/locale/dv.js","./node_modules/moment/locale/el.js","./node_modules/moment/locale/en-au.js","./node_modules/moment/locale/en-ca.js","./node_modules/moment/locale/en-gb.js","./node_modules/moment/locale/en-ie.js","./node_modules/moment/locale/en-il.js","./node_modules/moment/locale/en-in.js","./node_modules/moment/locale/en-nz.js","./node_modules/moment/locale/en-sg.js","./node_modules/moment/locale/eo.js","./node_modules/moment/locale/es-do.js","./node_modules/moment/locale/es-mx.js","./node_modules/moment/locale/es-us.js","./node_modules/moment/locale/es.js","./node_modules/moment/locale/et.js","./node_modules/moment/locale/eu.js","./node_modules/moment/locale/fa.js","./node_modules/moment/locale/fi.js","./node_modules/moment/locale/fil.js","./node_modules/moment/locale/fo.js","./node_modules/moment/locale/fr-ca.js","./node_modules/moment/locale/fr-ch.js","./node_modules/moment/locale/fr.js","./node_modules/moment/locale/fy.js","./node_modules/moment/locale/ga.js","./node_modules/moment/locale/gd.js","./node_modules/moment/locale/gl.js","./node_modules/moment/locale/gom-deva.js","./node_modules/moment/locale/gom-latn.js","./node_modules/moment/locale/gu.js","./node_modules/moment/locale/he.js","./node_modules/moment/locale/hi.js","./node_modules/moment/locale/hr.js","./node_modules/moment/locale/hu.js","./node_modules/moment/locale/hy-am.js","./node_modules/moment/locale/id.js","./node_modules/moment/locale/is.js","./node_modules/moment/locale/it-ch.js","./node_modules/moment/locale/it.js","./node_modules/moment/locale/ja.js","./node_modules/moment/locale/jv.js","./node_modules/moment/locale/ka.js","./node_modules/moment/locale/kk.js","./node_modules/moment/locale/km.js","./node_modules/moment/locale/kn.js","./node_modules/moment/locale/ko.js","./node_modules/moment/locale/ku.js","./node_modules/moment/locale/ky.js","./node_modules/moment/locale/lb.js","./node_modules/moment/locale/lo.js","./node_modules/moment/locale/lt.js","./node_modules/moment/locale/lv.js","./node_modules/moment/locale/me.js","./node_modules/moment/locale/mi.js","./node_modules/moment/locale/mk.js","./node_modules/moment/locale/ml.js","./node_modules/moment/locale/mn.js","./node_modules/moment/locale/mr.js","./node_modules/moment/locale/ms-my.js","./node_modules/moment/locale/ms.js","./node_modules/moment/locale/mt.js","./node_modules/moment/locale/my.js","./node_modules/moment/locale/nb.js","./node_modules/moment/locale/ne.js","./node_modules/moment/locale/nl-be.js","./node_modules/moment/locale/nl.js","./node_modules/moment/locale/nn.js","./node_modules/moment/locale/oc-lnc.js","./node_modules/moment/locale/pa-in.js","./node_modules/moment/locale/pl.js","./node_modules/moment/locale/pt-br.js","./node_modules/moment/locale/pt.js","./node_modules/moment/locale/ro.js","./node_modules/moment/locale/ru.js","./node_modules/moment/locale/sd.js","./node_modules/moment/locale/se.js","./node_modules/moment/locale/si.js","./node_modules/moment/locale/sk.js","./node_modules/moment/locale/sl.js","./node_modules/moment/locale/sq.js","./node_modules/moment/locale/sr-cyrl.js","./node_modules/moment/locale/sr.js","./node_modules/moment/locale/ss.js","./node_modules/moment/locale/sv.js","./node_modules/moment/locale/sw.js","./node_modules/moment/locale/ta.js","./node_modules/moment/locale/te.js","./node_modules/moment/locale/tet.js","./node_modules/moment/locale/tg.js","./node_modules/moment/locale/th.js","./node_modules/moment/locale/tk.js","./node_modules/moment/locale/tl-ph.js","./node_modules/moment/locale/tlh.js","./node_modules/moment/locale/tr.js","./node_modules/moment/locale/tzl.js","./node_modules/moment/locale/tzm-latn.js","./node_modules/moment/locale/tzm.js","./node_modules/moment/locale/ug-cn.js","./node_modules/moment/locale/uk.js","./node_modules/moment/locale/ur.js","./node_modules/moment/locale/uz-latn.js","./node_modules/moment/locale/uz.js","./node_modules/moment/locale/vi.js","./node_modules/moment/locale/x-pseudo.js","./node_modules/moment/locale/yo.js","./node_modules/moment/locale/zh-cn.js","./node_modules/moment/locale/zh-hk.js","./node_modules/moment/locale/zh-mo.js","./node_modules/moment/locale/zh-tw.js","./node_modules/moment/moment.js","./node_modules/ng2-file-upload/__ivy_ngcc__/fesm2015/ng2-file-upload.js","./node_modules/ngx-pagination/__ivy_ngcc__/dist/ngx-pagination.js","./node_modules/proceduralsystem-ckeditor/ckeditor.js","./node_modules/rxjs/dist/esm/internal/BehaviorSubject.js","./node_modules/rxjs/dist/esm/internal/Notification.js","./node_modules/rxjs/dist/esm/internal/NotificationFactories.js","./node_modules/rxjs/dist/esm/internal/Observable.js","./node_modules/rxjs/dist/esm/internal/ReplaySubject.js","./node_modules/rxjs/dist/esm/internal/Scheduler.js","./node_modules/rxjs/dist/esm/internal/Subject.js","./node_modules/rxjs/dist/esm/internal/Subscriber.js","./node_modules/rxjs/dist/esm/internal/Subscription.js","./node_modules/rxjs/dist/esm/internal/config.js","./node_modules/rxjs/dist/esm/internal/lastValueFrom.js","./node_modules/rxjs/dist/esm/internal/observable/ConnectableObservable.js","./node_modules/rxjs/dist/esm/internal/observable/combineLatest.js","./node_modules/rxjs/dist/esm/internal/observable/concat.js","./node_modules/rxjs/dist/esm/internal/observable/defer.js","./node_modules/rxjs/dist/esm/internal/observable/empty.js","./node_modules/rxjs/dist/esm/internal/observable/forkJoin.js","./node_modules/rxjs/dist/esm/internal/observable/from.js","./node_modules/rxjs/dist/esm/internal/observable/fromEvent.js","./node_modules/rxjs/dist/esm/internal/observable/iif.js","./node_modules/rxjs/dist/esm/internal/observable/innerFrom.js","./node_modules/rxjs/dist/esm/internal/observable/interval.js","./node_modules/rxjs/dist/esm/internal/observable/merge.js","./node_modules/rxjs/dist/esm/internal/observable/of.js","./node_modules/rxjs/dist/esm/internal/observable/throwError.js","./node_modules/rxjs/dist/esm/internal/observable/timer.js","./node_modules/rxjs/dist/esm/internal/operators/OperatorSubscriber.js","./node_modules/rxjs/dist/esm/internal/operators/audit.js","./node_modules/rxjs/dist/esm/internal/operators/auditTime.js","./node_modules/rxjs/dist/esm/internal/operators/catchError.js","./node_modules/rxjs/dist/esm/internal/operators/combineLatest.js","./node_modules/rxjs/dist/esm/internal/operators/combineLatestWith.js","./node_modules/rxjs/dist/esm/internal/operators/concatAll.js","./node_modules/rxjs/dist/esm/internal/operators/concatMap.js","./node_modules/rxjs/dist/esm/internal/operators/debounceTime.js","./node_modules/rxjs/dist/esm/internal/operators/defaultIfEmpty.js","./node_modules/rxjs/dist/esm/internal/operators/delay.js","./node_modules/rxjs/dist/esm/internal/operators/delayWhen.js","./node_modules/rxjs/dist/esm/internal/operators/dematerialize.js","./node_modules/rxjs/dist/esm/internal/operators/distinctUntilChanged.js","./node_modules/rxjs/dist/esm/internal/operators/exhaustMap.js","./node_modules/rxjs/dist/esm/internal/operators/filter.js","./node_modules/rxjs/dist/esm/internal/operators/finalize.js","./node_modules/rxjs/dist/esm/internal/operators/first.js","./node_modules/rxjs/dist/esm/internal/operators/groupBy.js","./node_modules/rxjs/dist/esm/internal/operators/ignoreElements.js","./node_modules/rxjs/dist/esm/internal/operators/last.js","./node_modules/rxjs/dist/esm/internal/operators/map.js","./node_modules/rxjs/dist/esm/internal/operators/mapTo.js","./node_modules/rxjs/dist/esm/internal/operators/materialize.js","./node_modules/rxjs/dist/esm/internal/operators/mergeAll.js","./node_modules/rxjs/dist/esm/internal/operators/mergeInternals.js","./node_modules/rxjs/dist/esm/internal/operators/mergeMap.js","./node_modules/rxjs/dist/esm/internal/operators/observeOn.js","./node_modules/rxjs/dist/esm/internal/operators/pairwise.js","./node_modules/rxjs/dist/esm/internal/operators/pluck.js","./node_modules/rxjs/dist/esm/internal/operators/refCount.js","./node_modules/rxjs/dist/esm/internal/operators/scan.js","./node_modules/rxjs/dist/esm/internal/operators/scanInternals.js","./node_modules/rxjs/dist/esm/internal/operators/share.js","./node_modules/rxjs/dist/esm/internal/operators/shareReplay.js","./node_modules/rxjs/dist/esm/internal/operators/skip.js","./node_modules/rxjs/dist/esm/internal/operators/startWith.js","./node_modules/rxjs/dist/esm/internal/operators/subscribeOn.js","./node_modules/rxjs/dist/esm/internal/operators/switchMap.js","./node_modules/rxjs/dist/esm/internal/operators/take.js","./node_modules/rxjs/dist/esm/internal/operators/takeLast.js","./node_modules/rxjs/dist/esm/internal/operators/takeUntil.js","./node_modules/rxjs/dist/esm/internal/operators/takeWhile.js","./node_modules/rxjs/dist/esm/internal/operators/tap.js","./node_modules/rxjs/dist/esm/internal/operators/throwIfEmpty.js","./node_modules/rxjs/dist/esm/internal/operators/timeInterval.js","./node_modules/rxjs/dist/esm/internal/operators/timeout.js","./node_modules/rxjs/dist/esm/internal/operators/withLatestFrom.js","./node_modules/rxjs/dist/esm/internal/scheduled/scheduleArray.js","./node_modules/rxjs/dist/esm/internal/scheduled/scheduleAsyncIterable.js","./node_modules/rxjs/dist/esm/internal/scheduled/scheduleIterable.js","./node_modules/rxjs/dist/esm/internal/scheduled/scheduleObservable.js","./node_modules/rxjs/dist/esm/internal/scheduled/schedulePromise.js","./node_modules/rxjs/dist/esm/internal/scheduled/scheduleReadableStreamLike.js","./node_modules/rxjs/dist/esm/internal/scheduled/scheduled.js","./node_modules/rxjs/dist/esm/internal/scheduler/Action.js","./node_modules/rxjs/dist/esm/internal/scheduler/AnimationFrameAction.js","./node_modules/rxjs/dist/esm/internal/scheduler/AnimationFrameScheduler.js","./node_modules/rxjs/dist/esm/internal/scheduler/AsapAction.js","./node_modules/rxjs/dist/esm/internal/scheduler/AsapScheduler.js","./node_modules/rxjs/dist/esm/internal/scheduler/AsyncAction.js","./node_modules/rxjs/dist/esm/internal/scheduler/AsyncScheduler.js","./node_modules/rxjs/dist/esm/internal/scheduler/QueueAction.js","./node_modules/rxjs/dist/esm/internal/scheduler/QueueScheduler.js","./node_modules/rxjs/dist/esm/internal/scheduler/animationFrame.js","./node_modules/rxjs/dist/esm/internal/scheduler/animationFrameProvider.js","./node_modules/rxjs/dist/esm/internal/scheduler/asap.js","./node_modules/rxjs/dist/esm/internal/scheduler/async.js","./node_modules/rxjs/dist/esm/internal/scheduler/dateTimestampProvider.js","./node_modules/rxjs/dist/esm/internal/scheduler/immediateProvider.js","./node_modules/rxjs/dist/esm/internal/scheduler/intervalProvider.js","./node_modules/rxjs/dist/esm/internal/scheduler/queue.js","./node_modules/rxjs/dist/esm/internal/scheduler/timeoutProvider.js","./node_modules/rxjs/dist/esm/internal/symbol/iterator.js","./node_modules/rxjs/dist/esm/internal/symbol/observable.js","./node_modules/rxjs/dist/esm/internal/util/EmptyError.js","./node_modules/rxjs/dist/esm/internal/util/Immediate.js","./node_modules/rxjs/dist/esm/internal/util/ObjectUnsubscribedError.js","./node_modules/rxjs/dist/esm/internal/util/UnsubscriptionError.js","./node_modules/rxjs/dist/esm/internal/util/args.js","./node_modules/rxjs/dist/esm/internal/util/argsArgArrayOrObject.js","./node_modules/rxjs/dist/esm/internal/util/argsOrArgArray.js","./node_modules/rxjs/dist/esm/internal/util/arrRemove.js","./node_modules/rxjs/dist/esm/internal/util/createErrorClass.js","./node_modules/rxjs/dist/esm/internal/util/createObject.js","./node_modules/rxjs/dist/esm/internal/util/errorContext.js","./node_modules/rxjs/dist/esm/internal/util/executeSchedule.js","./node_modules/rxjs/dist/esm/internal/util/identity.js","./node_modules/rxjs/dist/esm/internal/util/isArrayLike.js","./node_modules/rxjs/dist/esm/internal/util/isAsyncIterable.js","./node_modules/rxjs/dist/esm/internal/util/isDate.js","./node_modules/rxjs/dist/esm/internal/util/isFunction.js","./node_modules/rxjs/dist/esm/internal/util/isInteropObservable.js","./node_modules/rxjs/dist/esm/internal/util/isIterable.js","./node_modules/rxjs/dist/esm/internal/util/isObservable.js","./node_modules/rxjs/dist/esm/internal/util/isPromise.js","./node_modules/rxjs/dist/esm/internal/util/isReadableStreamLike.js","./node_modules/rxjs/dist/esm/internal/util/isScheduler.js","./node_modules/rxjs/dist/esm/internal/util/lift.js","./node_modules/rxjs/dist/esm/internal/util/mapOneOrManyArgs.js","./node_modules/rxjs/dist/esm/internal/util/noop.js","./node_modules/rxjs/dist/esm/internal/util/pipe.js","./node_modules/rxjs/dist/esm/internal/util/reportUnhandledError.js","./node_modules/rxjs/dist/esm/internal/util/throwUnobservableError.js","./node_modules/text-mask-core/dist/textMaskCore.js","./node_modules/moment/locale/ sync ^\\.\\/.*$","./node_modules/@angular/animations/fesm2020/animations.mjs","./node_modules/@angular/animations/fesm2020/browser.mjs","./node_modules/@angular/cdk/fesm2020/a11y.mjs","./node_modules/@angular/cdk/fesm2020/accordion.mjs","./node_modules/@angular/cdk/fesm2020/bidi.mjs","./node_modules/@angular/cdk/fesm2020/cdk.mjs","./node_modules/@angular/cdk/fesm2020/coercion.mjs","./node_modules/@angular/cdk/fesm2020/collections.mjs","./node_modules/@angular/cdk/fesm2020/drag-drop.mjs","./node_modules/@angular/cdk/fesm2020/keycodes.mjs","./node_modules/@angular/cdk/fesm2020/layout.mjs","./node_modules/@angular/cdk/fesm2020/observers.mjs","./node_modules/@angular/cdk/fesm2020/overlay.mjs","./node_modules/@angular/cdk/fesm2020/platform.mjs","./node_modules/@angular/cdk/fesm2020/portal.mjs","./node_modules/@angular/cdk/fesm2020/scrolling.mjs","./node_modules/@angular/cdk/fesm2020/stepper.mjs","./node_modules/@angular/cdk/fesm2020/text-field.mjs","./node_modules/@angular/common/fesm2020/common.mjs","./node_modules/@angular/common/fesm2020/http.mjs","./node_modules/@angular/common/locales/ga.mjs","./node_modules/@angular/core/fesm2020/core.mjs","./node_modules/@angular/forms/fesm2020/forms.mjs","./node_modules/@angular/material-moment-adapter/fesm2020/material-moment-adapter.mjs","./node_modules/@angular/material/fesm2020/autocomplete.mjs","./node_modules/@angular/material/fesm2020/button.mjs","./node_modules/@angular/material/fesm2020/checkbox.mjs","./node_modules/@angular/material/fesm2020/chips.mjs","./node_modules/@angular/material/fesm2020/core.mjs","./node_modules/@angular/material/fesm2020/datepicker.mjs","./node_modules/@angular/material/fesm2020/dialog.mjs","./node_modules/@angular/material/fesm2020/divider.mjs","./node_modules/@angular/material/fesm2020/expansion.mjs","./node_modules/@angular/material/fesm2020/form-field.mjs","./node_modules/@angular/material/fesm2020/icon.mjs","./node_modules/@angular/material/fesm2020/input.mjs","./node_modules/@angular/material/fesm2020/list.mjs","./node_modules/@angular/material/fesm2020/menu.mjs","./node_modules/@angular/material/fesm2020/progress-bar.mjs","./node_modules/@angular/material/fesm2020/progress-spinner.mjs","./node_modules/@angular/material/fesm2020/radio.mjs","./node_modules/@angular/material/fesm2020/select.mjs","./node_modules/@angular/material/fesm2020/slide-toggle.mjs","./node_modules/@angular/material/fesm2020/snack-bar.mjs","./node_modules/@angular/material/fesm2020/stepper.mjs","./node_modules/@angular/material/fesm2020/tabs.mjs","./node_modules/@angular/material/fesm2020/tooltip.mjs","./node_modules/@angular/platform-browser/fesm2020/animations.mjs","./node_modules/@angular/platform-browser/fesm2020/platform-browser.mjs","./node_modules/@angular/router/fesm2020/router.mjs","./node_modules/@ckeditor/ckeditor5-angular/fesm2020/ckeditor-ckeditor5-angular.mjs","./node_modules/@ngrx/effects/fesm2020/ngrx-effects.mjs","./node_modules/@ngrx/store-devtools/fesm2020/ngrx-store-devtools.mjs","./node_modules/@ngrx/store/fesm2020/ngrx-store.mjs","./node_modules/@ngx-translate/core/fesm2020/ngx-translate-core.mjs","./node_modules/@ngx-translate/http-loader/fesm2020/ngx-translate-http-loader.mjs","./node_modules/lodash-es/_DataView.js","./node_modules/lodash-es/_Hash.js","./node_modules/lodash-es/_ListCache.js","./node_modules/lodash-es/_Map.js","./node_modules/lodash-es/_MapCache.js","./node_modules/lodash-es/_Promise.js","./node_modules/lodash-es/_Set.js","./node_modules/lodash-es/_SetCache.js","./node_modules/lodash-es/_Stack.js","./node_modules/lodash-es/_Symbol.js","./node_modules/lodash-es/_Uint8Array.js","./node_modules/lodash-es/_WeakMap.js","./node_modules/lodash-es/_arrayEach.js","./node_modules/lodash-es/_arrayFilter.js","./node_modules/lodash-es/_arrayLikeKeys.js","./node_modules/lodash-es/_arrayMap.js","./node_modules/lodash-es/_arrayPush.js","./node_modules/lodash-es/_arraySome.js","./node_modules/lodash-es/_assignValue.js","./node_modules/lodash-es/_assocIndexOf.js","./node_modules/lodash-es/_baseAssign.js","./node_modules/lodash-es/_baseAssignIn.js","./node_modules/lodash-es/_baseAssignValue.js","./node_modules/lodash-es/_baseClone.js","./node_modules/lodash-es/_baseCreate.js","./node_modules/lodash-es/_baseEach.js","./node_modules/lodash-es/_baseFindIndex.js","./node_modules/lodash-es/_baseFor.js","./node_modules/lodash-es/_baseForOwn.js","./node_modules/lodash-es/_baseGet.js","./node_modules/lodash-es/_baseGetAllKeys.js","./node_modules/lodash-es/_baseGetTag.js","./node_modules/lodash-es/_baseHasIn.js","./node_modules/lodash-es/_baseIsArguments.js","./node_modules/lodash-es/_baseIsEqual.js","./node_modules/lodash-es/_baseIsEqualDeep.js","./node_modules/lodash-es/_baseIsMap.js","./node_modules/lodash-es/_baseIsMatch.js","./node_modules/lodash-es/_baseIsNative.js","./node_modules/lodash-es/_baseIsSet.js","./node_modules/lodash-es/_baseIsTypedArray.js","./node_modules/lodash-es/_baseIteratee.js","./node_modules/lodash-es/_baseKeys.js","./node_modules/lodash-es/_baseKeysIn.js","./node_modules/lodash-es/_baseMap.js","./node_modules/lodash-es/_baseMatches.js","./node_modules/lodash-es/_baseMatchesProperty.js","./node_modules/lodash-es/_baseOrderBy.js","./node_modules/lodash-es/_baseProperty.js","./node_modules/lodash-es/_basePropertyDeep.js","./node_modules/lodash-es/_baseSortBy.js","./node_modules/lodash-es/_baseTimes.js","./node_modules/lodash-es/_baseToString.js","./node_modules/lodash-es/_baseTrim.js","./node_modules/lodash-es/_baseUnary.js","./node_modules/lodash-es/_cacheHas.js","./node_modules/lodash-es/_castPath.js","./node_modules/lodash-es/_cloneArrayBuffer.js","./node_modules/lodash-es/_cloneBuffer.js","./node_modules/lodash-es/_cloneDataView.js","./node_modules/lodash-es/_cloneRegExp.js","./node_modules/lodash-es/_cloneSymbol.js","./node_modules/lodash-es/_cloneTypedArray.js","./node_modules/lodash-es/_compareAscending.js","./node_modules/lodash-es/_compareMultiple.js","./node_modules/lodash-es/_copyArray.js","./node_modules/lodash-es/_copyObject.js","./node_modules/lodash-es/_copySymbols.js","./node_modules/lodash-es/_copySymbolsIn.js","./node_modules/lodash-es/_coreJsData.js","./node_modules/lodash-es/_createBaseEach.js","./node_modules/lodash-es/_createBaseFor.js","./node_modules/lodash-es/_createFind.js","./node_modules/lodash-es/_defineProperty.js","./node_modules/lodash-es/_equalArrays.js","./node_modules/lodash-es/_equalByTag.js","./node_modules/lodash-es/_equalObjects.js","./node_modules/lodash-es/_freeGlobal.js","./node_modules/lodash-es/_getAllKeys.js","./node_modules/lodash-es/_getAllKeysIn.js","./node_modules/lodash-es/_getMapData.js","./node_modules/lodash-es/_getMatchData.js","./node_modules/lodash-es/_getNative.js","./node_modules/lodash-es/_getPrototype.js","./node_modules/lodash-es/_getRawTag.js","./node_modules/lodash-es/_getSymbols.js","./node_modules/lodash-es/_getSymbolsIn.js","./node_modules/lodash-es/_getTag.js","./node_modules/lodash-es/_getValue.js","./node_modules/lodash-es/_hasPath.js","./node_modules/lodash-es/_hashClear.js","./node_modules/lodash-es/_hashDelete.js","./node_modules/lodash-es/_hashGet.js","./node_modules/lodash-es/_hashHas.js","./node_modules/lodash-es/_hashSet.js","./node_modules/lodash-es/_initCloneArray.js","./node_modules/lodash-es/_initCloneByTag.js","./node_modules/lodash-es/_initCloneObject.js","./node_modules/lodash-es/_isIndex.js","./node_modules/lodash-es/_isKey.js","./node_modules/lodash-es/_isKeyable.js","./node_modules/lodash-es/_isMasked.js","./node_modules/lodash-es/_isPrototype.js","./node_modules/lodash-es/_isStrictComparable.js","./node_modules/lodash-es/_listCacheClear.js","./node_modules/lodash-es/_listCacheDelete.js","./node_modules/lodash-es/_listCacheGet.js","./node_modules/lodash-es/_listCacheHas.js","./node_modules/lodash-es/_listCacheSet.js","./node_modules/lodash-es/_mapCacheClear.js","./node_modules/lodash-es/_mapCacheDelete.js","./node_modules/lodash-es/_mapCacheGet.js","./node_modules/lodash-es/_mapCacheHas.js","./node_modules/lodash-es/_mapCacheSet.js","./node_modules/lodash-es/_mapToArray.js","./node_modules/lodash-es/_matchesStrictComparable.js","./node_modules/lodash-es/_memoizeCapped.js","./node_modules/lodash-es/_nativeCreate.js","./node_modules/lodash-es/_nativeKeys.js","./node_modules/lodash-es/_nativeKeysIn.js","./node_modules/lodash-es/_nodeUtil.js","./node_modules/lodash-es/_objectToString.js","./node_modules/lodash-es/_overArg.js","./node_modules/lodash-es/_root.js","./node_modules/lodash-es/_setCacheAdd.js","./node_modules/lodash-es/_setCacheHas.js","./node_modules/lodash-es/_setToArray.js","./node_modules/lodash-es/_stackClear.js","./node_modules/lodash-es/_stackDelete.js","./node_modules/lodash-es/_stackGet.js","./node_modules/lodash-es/_stackHas.js","./node_modules/lodash-es/_stackSet.js","./node_modules/lodash-es/_stringToPath.js","./node_modules/lodash-es/_toKey.js","./node_modules/lodash-es/_toSource.js","./node_modules/lodash-es/_trimmedEndIndex.js","./node_modules/lodash-es/cloneDeep.js","./node_modules/lodash-es/cloneDeepWith.js","./node_modules/lodash-es/debounce.js","./node_modules/lodash-es/eq.js","./node_modules/lodash-es/findLast.js","./node_modules/lodash-es/findLastIndex.js","./node_modules/lodash-es/get.js","./node_modules/lodash-es/hasIn.js","./node_modules/lodash-es/identity.js","./node_modules/lodash-es/isArguments.js","./node_modules/lodash-es/isArray.js","./node_modules/lodash-es/isArrayLike.js","./node_modules/lodash-es/isBuffer.js","./node_modules/lodash-es/isElement.js","./node_modules/lodash-es/isEmpty.js","./node_modules/lodash-es/isEqual.js","./node_modules/lodash-es/isFunction.js","./node_modules/lodash-es/isLength.js","./node_modules/lodash-es/isMap.js","./node_modules/lodash-es/isObject.js","./node_modules/lodash-es/isObjectLike.js","./node_modules/lodash-es/isPlainObject.js","./node_modules/lodash-es/isSet.js","./node_modules/lodash-es/isSymbol.js","./node_modules/lodash-es/isTypedArray.js","./node_modules/lodash-es/keys.js","./node_modules/lodash-es/keysIn.js","./node_modules/lodash-es/memoize.js","./node_modules/lodash-es/now.js","./node_modules/lodash-es/orderBy.js","./node_modules/lodash-es/property.js","./node_modules/lodash-es/stubArray.js","./node_modules/lodash-es/stubFalse.js","./node_modules/lodash-es/throttle.js","./node_modules/lodash-es/toFinite.js","./node_modules/lodash-es/toInteger.js","./node_modules/lodash-es/toNumber.js","./node_modules/lodash-es/toString.js","./node_modules/proceduralsystem-cbs-common-components/fesm2020/proceduralsystem-cbs-common-components.mjs","./node_modules/proceduralsystem-clientcomponents/fesm2020/proceduralsystem-clientcomponents.mjs","./node_modules/@babel/runtime/helpers/esm/asyncToGenerator.js","./node_modules/tslib/tslib.es6.mjs"],"sourcesContent":["import { Component, OnInit } from '@angular/core';\nimport { DateAdapter, MAT_DATE_LOCALE } from '@angular/material/core';\nimport {\n MomentDateAdapter,\n MAT_MOMENT_DATE_ADAPTER_OPTIONS\n} from '@angular/material-moment-adapter';\nimport { TranslateService } from '@ngx-translate/core';\nimport { forkJoin } from 'rxjs';\nimport { take } from 'rxjs/operators';\nimport {\n ConfigurationService,\n MonitoringService,\n OirAuthService\n} from 'proceduralsystem-clientcomponents';\nimport {\n LanguageType,\n CookieItem,\n CONNECTION_HUB_SERVICE_TOKEN,\n CbsNavigationService,\n UserRole,\n AppConfig\n} from 'proceduralsystem-cbs-common-components';\nimport { InCbsNavigationService } from './services/in-cbs-navigation.service';\nimport { InConnectionHubService } from './services/in-connection-hub.service';\nimport { InCbsUserService } from '@app/services/in-cbs-user.service';\n\n@Component({\n selector: 'app-root',\n template: '',\n providers: [\n {\n provide: DateAdapter,\n useClass: MomentDateAdapter,\n deps: [MAT_DATE_LOCALE, MAT_MOMENT_DATE_ADAPTER_OPTIONS]\n },\n {\n provide: CONNECTION_HUB_SERVICE_TOKEN,\n useExisting: InConnectionHubService\n },\n {\n provide: CbsNavigationService,\n useExisting: InCbsNavigationService\n }\n ]\n})\nexport class AppComponent implements OnInit {\n constructor(\n private readonly config: ConfigurationService,\n private readonly translate: TranslateService,\n private readonly navigationService: InCbsNavigationService,\n private readonly monitoringService: MonitoringService,\n private readonly authService: OirAuthService,\n private readonly inCbsUserService: InCbsUserService,\n private readonly connectionHubService: InConnectionHubService,\n private readonly adapter: DateAdapter\n ) {\n this.translate.addLangs([LanguageType.en, LanguageType.ga]);\n this.translate.getTranslation(LanguageType.ga); // This is required when two languages need to be translated at the same time.\n this.translate.setDefaultLang(LanguageType.ga);\n }\n\n ngOnInit(): void {\n this.showMessage('CBM In-Chamber application started');\n\n forkJoin([\n this.config.get('VersionNumber'),\n this.config.get('ModuleName'),\n this.config.get('AppInsightsKey'),\n this.config.get('defaultLang')\n ])\n .pipe(take(1))\n .subscribe(([version, moduleName, appInsightsKey, defaultLang]) => {\n const cookieItem = this.config.getCookie(CookieItem.language);\n const cookieLang =\n cookieItem === LanguageType.en || cookieItem === LanguageType.ga\n ? cookieItem\n : defaultLang;\n\n this.showMessage(`v. ${version} with '${cookieLang}' language`);\n\n if (\n this.authService.hasSomeRoles([\n UserRole.CeannComhairle,\n UserRole.ChamberClerk\n ])\n ) {\n this.connectionHubService.init();\n this.inCbsUserService.checkSession().subscribe();\n }\n\n this.translate.use(cookieLang);\n this.adapter.setLocale(cookieLang);\n\n this.navigationService.initNavigation(moduleName);\n this.monitoringService.init(\n appInsightsKey,\n this.authService.getUsername()\n );\n });\n }\n\n private showMessage(message: string): void {\n console.log(\n `%c${message}`,\n 'color: #b39841; font-family: Arial; font-size: 1.5em; font-weight: bold;'\n );\n }\n}\n","import { APP_INITIALIZER, NgModule } from '@angular/core';\nimport { BrowserModule } from '@angular/platform-browser';\nimport { MsalModule, MsalRedirectComponent } from '@azure/msal-angular';\nimport { BrowserAnimationsModule } from '@angular/platform-browser/animations';\nimport { RouterModule } from '@angular/router';\nimport { HttpBackend, HttpClient } from '@angular/common/http';\nimport { TranslateModule, TranslateLoader } from '@ngx-translate/core';\nimport { TranslateHttpLoader } from '@ngx-translate/http-loader';\nimport { registerLocaleData } from '@angular/common';\nimport localeGa from '@angular/common/locales/ga';\nregisterLocaleData(localeGa);\nimport {\n ConfigurationService,\n ProceduralsystemClientcomponentsModule\n} from 'proceduralsystem-clientcomponents';\nimport {\n ProceduralsystemCbsCommonComponentsModule,\n LiveBarEffects,\n AppConfig\n} from 'proceduralsystem-cbs-common-components';\nimport { HeaderBarModule } from '@shared/components/header-bar/header-bar.module';\nimport { AppComponent } from './app.component';\nimport { PageComponent } from './page.component';\nimport { routing } from './app.routes';\nimport { StoreModule } from '@ngrx/store';\nimport { EffectsModule } from '@ngrx/effects';\nimport { StoreDevtoolsModule } from '@ngrx/store-devtools';\nimport { environment } from '../environments/environment';\nimport { chatFeatureKey, chatReducer } from './store/reducers/chat.reducer';\nimport {\n liveSharingFeatureKey,\n liveSharingReducer\n} from '@app/store/reducers/live-sharing.reducer';\nimport { LiveSharingEffects } from '@app/store/effects/live-sharing.effects';\nimport { ChatModule } from '@shared/components/chat/chat.module';\nimport { ActiveUsersModule } from '@shared/components/active-users/active-users.module';\nimport { InChamberSideNavigationModule } from '@shared/components/in-chamber-side-navigation/in-chamber-side-navigation.module';\nimport { InChamberNoAccessPageComponent } from '@shared/components/in-chamber-error-page/in-chamber-no-access-page.component';\nimport {\n inChamberFeatureKey,\n inChamberReducer\n} from '@app/store/reducers/in-chamber.reducer';\nimport { BellTimerEffects } from './store/effects/bell-timer.effects';\nimport { QuorumEndingDialogModule } from './shared/dialogs/quorum-ending-dialog/quorum-ending-dialog.module';\nimport {\n bellTimerReducer,\n bellTimerFeatureKey\n} from './store/reducers/bell-timer.reducer';\n\n// AoT requires an exported function for factories\nexport function HttpLoaderFactory(\n httpHandler: HttpBackend,\n config: ConfigurationService\n): TranslateHttpLoader {\n return new TranslateHttpLoader(\n new HttpClient(httpHandler),\n './assets/i18n/',\n `.json?v=${config.getValue('VersionNumber')}`\n );\n}\n\n@NgModule({\n declarations: [AppComponent, PageComponent, InChamberNoAccessPageComponent],\n imports: [\n BrowserModule,\n RouterModule,\n routing,\n BrowserAnimationsModule,\n TranslateModule.forRoot({\n loader: {\n provide: TranslateLoader,\n useFactory: HttpLoaderFactory,\n deps: [HttpBackend, ConfigurationService]\n },\n defaultLanguage: 'en',\n isolate: false\n }),\n StoreModule.forRoot({}),\n StoreModule.forFeature(inChamberFeatureKey, inChamberReducer),\n StoreModule.forFeature(chatFeatureKey, chatReducer),\n StoreModule.forFeature(bellTimerFeatureKey, bellTimerReducer),\n StoreModule.forFeature(liveSharingFeatureKey, liveSharingReducer),\n EffectsModule.forRoot([\n LiveSharingEffects,\n LiveBarEffects,\n BellTimerEffects\n ]),\n // Instrumentation must be imported after importing StoreModule (config is optional)\n StoreDevtoolsModule.instrument({\n maxAge: 25, // Retains last 25 states\n logOnly: environment.production, // Restrict extension to log-only mode\n autoPause: true // Pauses recording actions and state changes when the extension window is not open\n }),\n HeaderBarModule,\n ProceduralsystemClientcomponentsModule,\n ProceduralsystemCbsCommonComponentsModule,\n ChatModule,\n ActiveUsersModule,\n InChamberSideNavigationModule,\n MsalModule,\n QuorumEndingDialogModule\n ],\n providers: [\n {\n provide: APP_INITIALIZER,\n useFactory: (config: ConfigurationService) => () =>\n config.init(),\n deps: [ConfigurationService],\n multi: true\n }\n ],\n bootstrap: [AppComponent, MsalRedirectComponent]\n})\nexport class AppModule {}\n","import { Routes, RouterModule } from '@angular/router';\nimport { MsalGuard } from '@azure/msal-angular';\nimport {\n UserRole,\n CbsErrorPageComponent,\n ErrorPageTypeId,\n ErrorNavigationPage\n} from 'proceduralsystem-cbs-common-components';\nimport { NavigationPage } from '@app/app.types';\nimport { PageComponent } from './page.component';\nimport { StoreRoleGuardService } from '@app/services/guards/store-role-guard.service';\nimport { InChamberNoAccessPageComponent } from '@shared/components/in-chamber-error-page/in-chamber-no-access-page.component';\n\n/**\n * MSAL Angular can protect routes in your application\n * using MsalGuard. For more info, visit:\n * https://github.com/AzureAD/microsoft-authentication-library-for-js/blob/dev/lib/msal-angular/docs/v2-docs/initialization.md#secure-the-routes-in-your-application\n */\nconst routes: Routes = [\n {\n path: '',\n redirectTo: NavigationPage.Schedule,\n pathMatch: 'full'\n },\n {\n path: '',\n component: PageComponent,\n canActivate: [MsalGuard],\n children: [\n {\n path: NavigationPage.Schedule,\n loadChildren: () =>\n import('@app/pages/schedule/schedule.module').then(\n esModule => esModule.ScheduleModule\n ),\n canActivate: [StoreRoleGuardService],\n data: {\n roles: [UserRole.CeannComhairle, UserRole.ChamberClerk]\n }\n },\n {\n path: NavigationPage.ReferenceNotes,\n loadChildren: () =>\n import('@app/pages/reference-notes/reference-notes.module').then(\n esModule => esModule.ReferenceNotesModule\n ),\n canActivate: [StoreRoleGuardService],\n data: {\n roles: [UserRole.CeannComhairle, UserRole.ChamberClerk]\n }\n },\n {\n path: NavigationPage.BusinessItemView,\n loadChildren: () =>\n import(\n '@app-pages/business-item-view/business-item-view.module'\n ).then(esModule => esModule.BusinessItemViewModule),\n canActivate: [StoreRoleGuardService],\n data: {\n roles: [UserRole.CeannComhairle, UserRole.ChamberClerk]\n }\n },\n {\n path: NavigationPage.SOSView,\n loadChildren: () =>\n import('@app-pages/sos-view/sos-view.module').then(\n esModule => esModule.SosViewModule\n ),\n canActivate: [StoreRoleGuardService],\n data: {\n roles: [UserRole.CeannComhairle, UserRole.ChamberClerk]\n }\n },\n {\n path: `${NavigationPage.Schedule}/:scheduleId/${NavigationPage.DivisionView}/:id`,\n loadChildren: () =>\n import('@app-pages/division-view/division-view.module').then(\n esModule => esModule.DivisionViewModule\n ),\n canActivate: [StoreRoleGuardService],\n data: {\n roles: [UserRole.CeannComhairle, UserRole.ChamberClerk]\n }\n },\n {\n path: ErrorNavigationPage.PageNotFound,\n component: CbsErrorPageComponent,\n pathMatch: 'full',\n data: {\n typeId: ErrorPageTypeId.NotFound\n }\n },\n {\n path: '**',\n component: InChamberNoAccessPageComponent,\n pathMatch: 'full'\n }\n ]\n }\n];\n\nexport const routing = RouterModule.forRoot(routes, {\n useHash: false\n});\n","import { AppState, ChamberBell } from 'proceduralsystem-cbs-common-components';\nimport { ChatState } from '@app/store/reducers/chat.reducer';\nimport { LiveSharingState } from '@app/store/reducers/live-sharing.reducer';\nimport { IBusinessItem } from './pages/business-item-view/business-item-view.types';\n\nexport const SecondsInMin = 60;\nexport const SecondsBase = 1000;\n\nexport interface InAppState extends AppState {\n chat: ChatState;\n liveSharing: LiveSharingState;\n}\n\nexport interface ISpeakerParams {\n actionId: number;\n businessItemId: number;\n itemId: number;\n stateId: number;\n}\n\nexport interface IBellTimer {\n startTime: Date | string;\n durationPlanned: number;\n scheduleId: number;\n businessItems: IBusinessItem[];\n ongoingChamberBell: ChamberBell;\n}\n\nexport enum NavigationPage {\n Schedule = 'schedule',\n BusinessItemView = 'business-item',\n ReferenceNotes = 'reference-notes',\n SOSView = 'sos-view',\n DivisionView = 'division'\n}\n\nexport enum PageTitle {\n Schedule = 'SCHEDULE.TITLE',\n BusinessItemView = 'SCHEDULE.TITLE',\n ReferenceNotes = 'REFERENCE_NOTES.TITLE',\n SOSView = 'SOS_VIEW.TITLE',\n DivisionView = 'DIVISION_VIEW.TITLE'\n}\n\nexport enum EndingBellTypes {\n Resume = 1,\n Start,\n Extend\n}\n","import {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n OnDestroy\n} from '@angular/core';\nimport { InCbsNavigationService } from '@app/services/in-cbs-navigation.service';\nimport { Store } from '@ngrx/store';\nimport { InAppState } from '@app/app.types';\nimport { selectChamberUser } from '@app/store/reducers/live-sharing.reducer';\nimport { selectScheduleStatusId } from '@app/store/reducers/chat.reducer';\nimport {\n AccessOperation,\n ChamberBell,\n ILiveScheduleBI,\n ScheduleStatusId,\n IChamberUser,\n selectChamberBell\n} from 'proceduralsystem-cbs-common-components';\nimport { ScheduleAccessService } from '@app/pages/schedule/schedule-access.service';\nimport { ScheduleChatStatuses } from './shared/components/chat/components/chat-button/chat-button.type';\nimport {\n ScheduleAccessOperation,\n IDailSchedule\n} from './pages/schedule/schedule.types';\nimport { ToastNotificationsService } from 'proceduralsystem-clientcomponents';\nimport {\n selectChairDueToStart,\n selectClerkDueToStart\n} from '@app/store/reducers/in-chamber.reducer';\nimport { TranslateService } from '@ngx-translate/core';\nimport { ScheduleDialogsService } from './pages/schedule/schedule-dialogs.service';\nimport { ScheduleService } from './pages/schedule/schedule.service';\nimport { Subject, of, Observable } from 'rxjs';\nimport {\n shareReplay,\n tap,\n map,\n take,\n switchMap,\n takeUntil,\n filter\n} from 'rxjs/operators';\nimport { setScheduleStatusId } from './store/actions/chat.actions';\nimport { BellEndingService } from './services/bell-ending.service';\nimport * as BellTimerActions from '@app/store/actions/bell-timer.actions';\n\n@Component({\n selector: 'app-root',\n templateUrl: './page.component.html',\n styleUrls: ['./page.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class PageComponent implements OnDestroy {\n private _destroy$ = new Subject();\n\n isNavPaneCollapsed = false;\n isChatBtnVisible = false;\n accessOperations: ScheduleAccessOperation[] = [];\n chamberBell: ChamberBell | null;\n scheduleId: number;\n\n AccessOperation = AccessOperation;\n\n constructor(\n public readonly scheduleDialogsService: ScheduleDialogsService,\n private readonly scheduleService: ScheduleService,\n private readonly bellEndingService: BellEndingService,\n private readonly navigationService: InCbsNavigationService,\n private readonly accessService: ScheduleAccessService,\n private readonly toastService: ToastNotificationsService,\n private readonly translate: TranslateService,\n private readonly store: Store,\n private readonly cd: ChangeDetectorRef\n ) {\n this.handleStoreChanges();\n }\n\n ngOnDestroy(): void {\n this._destroy$.next();\n this._destroy$.complete();\n }\n\n changeNavState(): void {\n this.isNavPaneCollapsed = !this.isNavPaneCollapsed;\n }\n\n openItem(data: { scheduleId: number; businessItemId: number }): void {\n this.navigationService.navigateToBIView(data.businessItemId);\n }\n\n onStartBusinessItem(data: ILiveScheduleBI) {\n this.scheduleService\n .startBusinessItem(data.scheduleId, data.businessItemId, data.instanceId)\n .pipe(take(1))\n .subscribe();\n }\n\n private fetchDailAndBellInfo(): Observable {\n return this.scheduleService.fetchDailSchedule(true).pipe(\n shareReplay(1),\n tap((dail: IDailSchedule) => {\n this.chamberBell = (dail && dail.ongoingChamberBell) || null;\n this.bellEndingService.setBellTimer(dail);\n }),\n map((dail: IDailSchedule) => (dail ? dail.statusId : null)),\n tap((scheduleStatusId: ScheduleStatusId) => {\n this.store.dispatch(setScheduleStatusId({ scheduleStatusId }));\n this.cd.markForCheck();\n }),\n take(1)\n );\n }\n\n private handleStoreChanges(): void {\n this.store.select(selectScheduleStatusId).subscribe(scheduleStatusId => {\n this.isChatBtnVisible =\n !!scheduleStatusId && ScheduleChatStatuses.includes(scheduleStatusId);\n this.cd.markForCheck();\n });\n\n this.handleUserStoreChanges();\n this.handleDueDateStoreChanges();\n this.handleBellStoreChanges();\n }\n\n private handleUserStoreChanges(): void {\n this.store\n .select(selectChamberUser)\n .pipe(\n tap((chamberUser: IChamberUser) => {\n this.accessOperations =\n this.accessService.getAccessOperations(chamberUser);\n this.cd.markForCheck();\n }),\n switchMap(chamberUser => {\n if (!chamberUser) {\n return of(null);\n }\n\n return this.fetchDailAndBellInfo();\n }),\n takeUntil(this._destroy$)\n )\n .subscribe();\n }\n\n private handleDueDateStoreChanges(): void {\n this.store.select(selectClerkDueToStart).subscribe(clerkDueToStart => {\n if (clerkDueToStart && clerkDueToStart.length > 0) {\n this.toastService.addNotification({\n description: this.translate.instant(\n 'TOAST_MESSAGE.TN9.CLERK_DUE_TO_START.MESSAGE',\n [clerkDueToStart.join(', ')]\n )\n });\n }\n });\n\n this.store.select(selectChairDueToStart).subscribe(chairDueToStart => {\n if (chairDueToStart && chairDueToStart.length > 0) {\n this.toastService.addNotification({\n description: this.translate.instant(\n 'TOAST_MESSAGE.TN10.CHAIR_DUE_TO_START.MESSAGE',\n [chairDueToStart.join(', ')]\n )\n });\n }\n });\n }\n\n private handleBellStoreChanges(): void {\n this.store\n .select(selectChamberBell)\n .pipe(\n filter((nextBellData: ChamberBell) => {\n const isBellStarted =\n nextBellData !== null && this.chamberBell?.id !== nextBellData?.id;\n const isBellExtended =\n this.chamberBell?.id === nextBellData?.id &&\n nextBellData?.durationPlanned > this.chamberBell?.durationPlanned;\n const isBellStopped = this.chamberBell && nextBellData === null;\n this.chamberBell = { ...nextBellData };\n\n if (isBellStopped) {\n this.store.dispatch(BellTimerActions.stopBellTimer());\n }\n\n return isBellStarted || isBellExtended;\n }),\n switchMap(() => {\n return this.scheduleService.fetchDailSchedule(true).pipe(\n take(1),\n tap((dail: IDailSchedule) => {\n this.scheduleId = dail?.id;\n this.bellEndingService.setBellTimer(dail);\n })\n );\n }),\n takeUntil(this._destroy$)\n )\n .subscribe();\n }\n}\n","
\n
\n \n
\n
\n \"node-icon\"\n
\n
{{ \"COMMON.MINIMIZE\" | translate }}
\n
\n
\n
\n \n 0\"\n [enableControls]=\"accessOperations.includes(AccessOperation.ManageActionButtons)\"\n (itemClick)=\"openItem($event)\"\n (bellActionClick)=\"scheduleDialogsService.onBellActionClick($event, scheduleId)\"\n (optionClick)=\"scheduleDialogsService.openMoreOptionDialog($event, chamberBell)\"\n (startBusinessItem)=\"onStartBusinessItem($event)\">\n
\n \n
\n
\n 0\">\n
\n","import { Injectable } from '@angular/core';\nimport {\n AccessOperation,\n IChamberUser,\n UserRole\n} from 'proceduralsystem-cbs-common-components';\nimport {\n ScheduleAccessOperation,\n ScheduleComponentAccessOperation\n} from './schedule.types';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class ScheduleAccessService {\n getAccessOperations(chamberUser: IChamberUser): ScheduleAccessOperation[] {\n return chamberUser\n ? chamberUser.role === UserRole.ChamberClerk\n ? [\n AccessOperation.ManageActionButtons,\n AccessOperation.Edit,\n ScheduleComponentAccessOperation.ShowSuspendScheduleButton,\n ScheduleComponentAccessOperation.ShowAdjournScheduleButton,\n ScheduleComponentAccessOperation.ShowExtendSuspendScheduleButton,\n ScheduleComponentAccessOperation.ShowResumeScheduleButton,\n ScheduleComponentAccessOperation.ShowRingBellButton\n ]\n : [AccessOperation.View]\n : [];\n }\n}\n","import { Injectable } from '@angular/core';\nimport {\n MatDialog,\n MatDialogRef,\n MatDialogConfig\n} from '@angular/material/dialog';\nimport { DialogPosition } from 'proceduralsystem-clientcomponents';\nimport {\n ChamberBell,\n ChamberBellSubTypeId,\n ChamberBellTypeId,\n IBellTypes,\n ILiveScheduleBI,\n MoreOption,\n MoreOptionId,\n StopBellActionId,\n selectChamberBell,\n selectScheduleBI,\n BusinessItemTypeId\n} from 'proceduralsystem-cbs-common-components';\nimport { BellService } from '../../services/bell.service';\nimport {\n DivisionConfirmDialogData,\n ICallDivisionDialogData\n} from '@app/shared/dialogs/call-division-bell-dialog/call-division-bell-dialog.types';\nimport { IBusinessItem } from './schedule.types';\nimport { Store } from '@ngrx/store';\nimport { selectReadyToStartBusinessItem } from '@app/store/reducers/in-chamber.reducer';\nimport * as BellTimerActions from '@app/store/actions/bell-timer.actions';\nimport { SecondsInMin } from '@app/app.types';\n\n// Dialog Components\nimport { ConfirmationDialogComponent } from '@app/shared/dialogs/confirmation-dialog/confirmation-dialog.component';\nimport { SuspensionDialogComponent } from '@app/shared/dialogs/suspension-dialog/suspension-dialog.component';\nimport { ExtendBellDialogComponent } from '@app/shared/dialogs/extend-bell-dialog/extend-bell-dialog.component';\nimport { CancelScheduleDivDialogComponent } from '@app/shared/dialogs/cancel-schedule-div-dialog/cancel-schedule-div-dialog.component';\nimport {\n Observable,\n combineLatestWith,\n distinctUntilChanged,\n filter,\n iif,\n map,\n of,\n switchMap,\n take,\n tap\n} from 'rxjs';\nimport { CallDivisionBellDialogComponent } from '@app/shared/dialogs/call-division-bell-dialog/call-division-bell-dialog.component';\nimport { CallQuorumBellDialogComponent } from '@app/shared/dialogs/call-quorum-bell-dialog/call-quorum-bell-dialog.component';\nimport { QuorumEndingDialogComponent } from '@app/shared/dialogs/quorum-ending-dialog/quorum-ending-dialog.component';\nimport {\n MIN_QUORUM_DURATION,\n QuorumConfirmDialogData\n} from '@app/shared/dialogs/call-quorum-bell-dialog/call-quorum-bell-dialog.types';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class ScheduleDialogsService {\n private readonly dialogDefaultOptions: MatDialogConfig = {\n hasBackdrop: true,\n position: DialogPosition.CENTER,\n panelClass: 'dialog-mat'\n };\n private bellActionDialogRef: MatDialogRef = null;\n\n constructor(\n private readonly dialog: MatDialog,\n private readonly bellService: BellService,\n private readonly store: Store\n ) {\n this.handleBellChanges();\n }\n\n getAdjournDialogRef(): MatDialogRef {\n return this.dialog.open(ConfirmationDialogComponent, {\n ...this.dialogDefaultOptions,\n data: {\n title: 'ADJOURN_DIALOG.TITLE',\n message: 'ADJOURN_DIALOG.MESSAGE',\n context: 'ADJOURN_DIALOG.SITTING_CONFIRM_LABEL',\n cancelButton: { name: 'COMMON.CANCEL' },\n confirmButton: { name: 'ADJOURN_DIALOG.BUTTON.CONFIRM' }\n }\n });\n }\n\n getResumeSittingDialogRef(): MatDialogRef {\n return this.dialog.open(ConfirmationDialogComponent, {\n ...this.dialogDefaultOptions,\n data: {\n title: 'RESUME_SITTING_DIALOG.TITLE',\n message: 'RESUME_SITTING_DIALOG.MESSAGE',\n context: 'RESUME_SITTING_DIALOG.SITTING_CONFIRM_LABEL',\n cancelButton: { name: 'COMMON.CANCEL' },\n confirmButton: { name: 'RESUME_SITTING_DIALOG.BUTTON.CONFIRM' }\n }\n });\n }\n\n getSuspendDialogRef(): MatDialogRef {\n return this.dialog.open(\n SuspensionDialogComponent,\n this.dialogDefaultOptions\n );\n }\n\n getCallDivisionDialogRef(\n dialogData: ICallDivisionDialogData\n ): Observable {\n const { context } = dialogData;\n this.bellActionDialogRef = this.dialog.open(\n CallDivisionBellDialogComponent,\n {\n ...this.dialogDefaultOptions,\n data: {\n title: 'CALL_DIVISION_DIALOG.TITLE',\n message: 'CALL_DIVISION_DIALOG.LABEL',\n cancelButton: { name: 'COMMON.CANCEL' },\n confirmButton: { name: 'COMMON.START' },\n context\n }\n }\n );\n\n return this.bellActionDialogRef\n .afterClosed()\n .pipe(tap(() => this.clearBellDialogRef()));\n }\n\n openMoreOptionDialog(\n value: {\n businessItem: ILiveScheduleBI;\n option: MoreOption;\n },\n chamberBell: ChamberBell,\n scheduleId?: number\n ): void {\n if (value.option.id === MoreOptionId.ExtendBell) {\n const isQuorum = chamberBell.typeId === ChamberBellTypeId.Quorum;\n const title = isQuorum\n ? 'EXTEND_QUORUM_DIALOG.TITLE'\n : 'EXTEND_BELL_DIALOG.TITLE';\n const message = isQuorum\n ? 'EXTEND_QUORUM_DIALOG.MESSAGE'\n : 'EXTEND_BELL_DIALOG.MESSAGE';\n this.bellActionDialogRef = this.getExtendBellQuorumDialogRef(\n title,\n message\n );\n this.bellActionDialogRef\n .afterClosed()\n .pipe(\n tap(() => (this.bellActionDialogRef = null)),\n take(1),\n switchMap((durationMin: number) => {\n if (!durationMin) {\n return of(false);\n }\n\n if (isQuorum) {\n return this.bellService\n .extendQuorumBell(\n value.businessItem.scheduleId || scheduleId,\n chamberBell.id,\n durationMin * SecondsInMin\n )\n .pipe(\n tap(result => {\n if (result > -1) {\n this.store.dispatch(BellTimerActions.stopBellTimer());\n }\n })\n );\n }\n\n return this.bellService.extendDivBell(\n value.businessItem.scheduleId || scheduleId,\n chamberBell.id,\n durationMin * SecondsInMin\n );\n })\n )\n .subscribe();\n } else if (value.option.id === MoreOptionId.CancelDivision) {\n this.cancelBell(value, chamberBell, scheduleId);\n }\n }\n\n onBellActionClick(value: ILiveScheduleBI | null, scheduleId?: number): void {\n this.store\n .select(selectChamberBell)\n .pipe(\n combineLatestWith(this.store.select(selectScheduleBI)),\n take(1),\n switchMap(([bell, scheduleBi]) => {\n if (!bell) {\n return of(false);\n }\n\n const relatedBusinessItem =\n value && value.scheduleId ? value : scheduleBi;\n\n switch (bell.typeId) {\n case ChamberBellTypeId.Division:\n return this.getReadyToVoteAction(\n relatedBusinessItem.scheduleId,\n bell.id\n );\n case ChamberBellTypeId.Voting:\n return this.getEndVoteAction(relatedBusinessItem, bell);\n case ChamberBellTypeId.Assemble:\n return this.stopGairmBell(\n value?.scheduleId || scheduleBi?.scheduleId || scheduleId\n );\n default:\n return of(false);\n }\n })\n )\n .subscribe();\n }\n\n getGairmDialogRef(): Observable {\n this.bellActionDialogRef = this.dialog.open(ConfirmationDialogComponent, {\n ...this.dialogDefaultOptions,\n data: {\n title: 'DIALOG.RING_BELL.GAIRM.TITLE',\n message: 'DIALOG.RING_BELL.DESCRIPTION',\n cancelButton: { name: 'DIALOG.CANCEL.BUTTON' },\n confirmButton: { name: 'DIALOG.YES.BUTTON' }\n }\n });\n return this.bellActionDialogRef\n .afterClosed()\n .pipe(tap(() => this.clearBellDialogRef()));\n }\n\n getQuorumDialogRef(): Observable {\n this.bellActionDialogRef = this.dialog.open(CallQuorumBellDialogComponent, {\n ...this.dialogDefaultOptions,\n data: {\n title: 'CALL_QUORUM_DIALOG.TITLE',\n message: 'CALL_QUORUM_DIALOG.LABEL',\n cancelButton: { name: 'COMMON.CANCEL' },\n confirmButton: { name: 'COMMON.START' },\n context: { minDuration: MIN_QUORUM_DURATION }\n }\n });\n\n return this.bellActionDialogRef\n .afterClosed()\n .pipe(tap(() => this.clearBellDialogRef()));\n }\n\n getCancelDivisionDialog(confirmLabel: string): Observable {\n this.bellActionDialogRef = this.dialog.open(ConfirmationDialogComponent, {\n ...this.dialogDefaultOptions,\n data: {\n title: 'START_BI_AND_CANCEL_DIV_MODAL.TITLE',\n message: 'START_BI_AND_CANCEL_DIV_MODAL.MESSAGE',\n cancelButton: { name: 'DIALOG.CANCEL.BUTTON' },\n confirmButton: { name: confirmLabel }\n }\n });\n return this.bellActionDialogRef.afterClosed().pipe(\n tap(() => this.clearBellDialogRef()),\n map(data => (data ? confirmLabel : null))\n );\n }\n\n getCancelQuorumDialog(\n title: string,\n message: string,\n messageParams: IBusinessItem[]\n ): MatDialogRef {\n return this.dialog.open(CancelScheduleDivDialogComponent, {\n ...this.dialogDefaultOptions,\n data: { title, message, messageParams }\n });\n }\n\n getQuorumEndingDialog(\n title: string,\n message: string,\n messageParams\n ): MatDialogRef {\n this.bellActionDialogRef = this.dialog.open(QuorumEndingDialogComponent, {\n ...this.dialogDefaultOptions,\n disableClose: true,\n data: { title, message, messageParams }\n });\n\n return this.bellActionDialogRef;\n }\n\n getExtendBellQuorumDialogRef(\n title: string,\n message: string\n ): MatDialogRef {\n return this.dialog.open(ExtendBellDialogComponent, {\n ...this.dialogDefaultOptions,\n data: { title, message }\n });\n }\n\n getResumeBusinessItemDialog(isGairmBell: boolean): Observable {\n const title = isGairmBell\n ? 'RESUME_SITTING_GAIRM_MODAL.TITLE'\n : 'RESUME_BI_QUORUM_MODAL.TITLE';\n const message = isGairmBell\n ? 'RESUME_SITTING_GAIRM_MODAL.MESSAGE'\n : 'RESUME_BI_QUORUM_MODAL.MESSAGE';\n\n this.bellActionDialogRef = this.dialog.open(ConfirmationDialogComponent, {\n ...this.dialogDefaultOptions,\n data: {\n title,\n message,\n cancelButton: { name: 'DIALOG.CANCEL.BUTTON' },\n confirmButton: { name: 'DIALOG.YES.BUTTON' }\n }\n });\n\n return this.bellActionDialogRef\n .afterClosed()\n .pipe(tap(() => this.clearBellDialogRef()));\n }\n\n private getCancelDialogRef(\n businessItem: ILiveScheduleBI,\n nextBi?: IBusinessItem | ILiveScheduleBI,\n isScheduleOrGuillotineDiv?: boolean,\n isQuorumSchedule?: boolean\n ): Observable {\n const confirmLabel = isScheduleOrGuillotineDiv\n ? 'COMMON.CONFIRM'\n : 'DIALOG.YES.BUTTON';\n\n if (isScheduleOrGuillotineDiv || isQuorumSchedule) {\n const title = isQuorumSchedule\n ? 'CANCEL_SCHEDULE_QUORUM_MODAL.TITLE'\n : 'CANCEL_SCHEDULE_DIVISION_MODAL.TITLE';\n const message = isQuorumSchedule\n ? 'CANCEL_SCHEDULE_QUORUM_MODAL.MESSAGE'\n : 'CANCEL_SCHEDULE_DIVISION_MODAL.MESSAGE';\n this.bellActionDialogRef = this.dialog.open(\n CancelScheduleDivDialogComponent,\n {\n ...this.dialogDefaultOptions,\n data: {\n title,\n message,\n cancelButton: { name: 'DIALOG.CANCEL.BUTTON' },\n confirmButton: { name: confirmLabel },\n messageParams: [businessItem, nextBi]\n }\n }\n );\n } else {\n this.bellActionDialogRef = this.dialog.open(ConfirmationDialogComponent, {\n ...this.dialogDefaultOptions,\n data: {\n title: 'CANCEL_DIVISION_MODAL.TITLE',\n message: 'CANCEL_DIVISION_MODAL.MESSAGE',\n cancelButton: { name: 'DIALOG.CANCEL.BUTTON' },\n confirmButton: { name: confirmLabel }\n }\n });\n }\n\n return this.bellActionDialogRef\n .afterClosed()\n .pipe(tap(() => this.clearBellDialogRef()));\n }\n\n private getReadyToVoteAction(\n scheduleId: number,\n chamberBellId: number\n ): Observable {\n this.bellActionDialogRef = this.dialog.open(ConfirmationDialogComponent, {\n ...this.dialogDefaultOptions,\n data: {\n title: 'VOTE_ACTION_MODAL.START_VOTE.TITLE',\n message: 'VOTE_ACTION_MODAL.START_VOTE.MESSAGE',\n cancelButton: { name: 'DIALOG.CANCEL.BUTTON' },\n confirmButton: { name: 'DIALOG.YES.BUTTON' }\n }\n });\n\n return this.bellActionDialogRef.afterClosed().pipe(\n tap(() => this.clearBellDialogRef()),\n filter(data => data),\n take(1),\n switchMap(() =>\n this.bellService.startVoting({ scheduleId, chamberBellId })\n )\n );\n }\n\n private getEndVoteAction(\n scheduleBi: ILiveScheduleBI,\n bell: ChamberBell\n ): Observable {\n const isBusinessItemBell =\n bell.subTypeId === ChamberBellSubTypeId.VotingBusinessItem;\n const title = isBusinessItemBell\n ? 'END_VOTE_MODAL.TITLE'\n : 'VOTE_OVER_MODAL.TITLE';\n const message = isBusinessItemBell\n ? 'END_VOTE_MODAL.MESSAGE'\n : 'VOTE_OVER_MODAL.MESSAGE';\n const nextBusinessItem$: Observable<\n IBusinessItem | ILiveScheduleBI | null\n > = isBusinessItemBell\n ? of(null)\n : this.store.select(selectReadyToStartBusinessItem);\n\n return nextBusinessItem$.pipe(\n switchMap(nextBusinessItem => {\n this.bellActionDialogRef = this.dialog.open(\n CancelScheduleDivDialogComponent,\n {\n ...this.dialogDefaultOptions,\n data: {\n title,\n message,\n messageParams: isBusinessItemBell\n ? null\n : [\n scheduleBi,\n nextBusinessItem.typeId !== BusinessItemTypeId.Adjournment\n ? nextBusinessItem\n : null\n ],\n context: { dialogName: 'voteOverDialog' },\n confirmButton: { name: 'DIALOG.YES.BUTTON' }\n }\n }\n );\n return this.bellActionDialogRef.afterClosed();\n }),\n switchMap(\n (data: {\n selectedBusinessItem?: IBusinessItem | ILiveScheduleBI;\n duration?: string;\n }) => {\n this.clearBellDialogRef();\n if (!data) {\n return of(false);\n }\n\n let endVoteAction = StopBellActionId.EndVote;\n\n if (data.selectedBusinessItem) {\n const businessItemId =\n data.selectedBusinessItem.id ||\n (data.selectedBusinessItem).businessItemId;\n endVoteAction =\n businessItemId === scheduleBi.businessItemId\n ? StopBellActionId.EndVoteResume\n : StopBellActionId.EndVotePlayNext;\n }\n\n return this.bellService.stopBell(\n scheduleBi.scheduleId,\n endVoteAction\n );\n }\n ),\n take(1)\n );\n }\n\n private cancelBell(\n value: {\n businessItem: ILiveScheduleBI;\n option: MoreOption;\n },\n chamberBell: ChamberBell,\n scheduleId?: number\n ): void {\n const isScheduleOrGuillotineDiv =\n chamberBell &&\n [\n ChamberBellSubTypeId.DivisionGuillotine,\n ChamberBellSubTypeId.DivisionSchedule,\n ChamberBellSubTypeId.QuorumSchedule,\n ChamberBellSubTypeId.VotingGuillotine,\n ChamberBellSubTypeId.VotingSchedule\n ].includes(chamberBell.subTypeId);\n const isQuorumBusinessItem =\n chamberBell?.subTypeId === ChamberBellSubTypeId.QuorumBusinessItem;\n const isQuorumSchedule =\n chamberBell?.subTypeId === ChamberBellSubTypeId.QuorumSchedule;\n const hasValidStopAction =\n chamberBell &&\n (chamberBell?.validStopActions?.includes(\n StopBellActionId.CancelPlayNext\n ) ||\n chamberBell?.validStopActions?.includes(\n StopBellActionId.EndVotePlayNext\n ));\n let nextBusinessItem$: Observable =\n of(null);\n\n if (isScheduleOrGuillotineDiv && hasValidStopAction) {\n nextBusinessItem$ = this.store.select(selectReadyToStartBusinessItem);\n }\n\n nextBusinessItem$\n .pipe(\n take(1),\n switchMap(nextBi => {\n if (isQuorumBusinessItem) {\n return this.getCancelQuorumBusinessItemDialog();\n }\n\n return this.getCancelDialogRef(\n value.businessItem,\n nextBi?.typeId !== BusinessItemTypeId.Adjournment ? nextBi : null,\n isScheduleOrGuillotineDiv,\n isQuorumSchedule\n );\n }),\n take(1),\n filter(confirmed => confirmed && confirmed !== 'DIALOG.CANCEL.BUTTON'),\n switchMap(\n (data: {\n duration?: string;\n selectedBusinessItem?: IBusinessItem;\n }) => {\n if (isQuorumSchedule) {\n this.store.dispatch(BellTimerActions.stopBellTimer());\n }\n\n return this.getConditionalStopBell(\n scheduleId,\n isScheduleOrGuillotineDiv,\n value && value.businessItem,\n data.selectedBusinessItem\n );\n }\n )\n )\n .subscribe();\n }\n\n private getConditionalStopBell(\n scheduleId: number,\n isScheduleOrGuillotineDiv: boolean,\n businessItem: ILiveScheduleBI,\n nextBusinessItem?: IBusinessItem\n ): Observable {\n return iif(\n () => isScheduleOrGuillotineDiv,\n this.bellService.stopBell(\n businessItem.scheduleId || scheduleId,\n nextBusinessItem && nextBusinessItem.id === businessItem.id\n ? StopBellActionId.CancelResume\n : StopBellActionId.CancelPlayNext\n ),\n this.bellService.stopBell(\n businessItem.scheduleId || scheduleId,\n StopBellActionId.Cancel\n )\n );\n }\n\n private getCancelQuorumBusinessItemDialog(): Observable {\n this.bellActionDialogRef = this.dialog.open(ConfirmationDialogComponent, {\n ...this.dialogDefaultOptions,\n data: {\n title: 'STOP_BI_QUORUM_MODAL.TITLE',\n message: 'STOP_BI_QUORUM_MODAL.MESSAGE',\n cancelButton: { name: 'DIALOG.CANCEL.BUTTON' },\n confirmButton: { name: 'DIALOG.YES.BUTTON' }\n }\n });\n\n return this.bellActionDialogRef\n .afterClosed()\n .pipe(tap(() => this.clearBellDialogRef()));\n }\n\n private stopGairmBell(scheduleId: number): Observable {\n this.bellActionDialogRef = this.dialog.open(ConfirmationDialogComponent, {\n ...this.dialogDefaultOptions,\n data: {\n title: 'STOP_GAIRM_MODAL.TITLE',\n message: 'STOP_GAIRM_MODAL.MESSAGE',\n cancelButton: { name: 'DIALOG.CANCEL.BUTTON' },\n confirmButton: { name: 'DIALOG.YES.BUTTON' }\n }\n });\n\n return this.bellActionDialogRef.afterClosed().pipe(\n tap(() => this.clearBellDialogRef()),\n filter(result => result),\n switchMap(() =>\n this.bellService.stopBell(scheduleId, StopBellActionId.Cancel)\n )\n );\n }\n\n private clearBellDialogRef() {\n this.bellActionDialogRef = null;\n }\n\n private handleBellChanges(): void {\n this.store\n .select(selectChamberBell)\n .pipe(distinctUntilChanged())\n .subscribe(() => {\n if (this.bellActionDialogRef) {\n this.bellActionDialogRef.close();\n this.bellActionDialogRef = null;\n }\n });\n }\n}\n","import { Injectable } from '@angular/core';\nimport { Observable, of } from 'rxjs';\nimport { catchError, map, switchMap, take, tap } from 'rxjs/operators';\nimport { TranslateService } from '@ngx-translate/core';\nimport {\n ProgressBarService,\n LanguageType,\n IScheduleRota,\n BusinessItemTypeId,\n selectChamberBell,\n ChamberBell,\n ChamberBellStatusId,\n StopBellActionId,\n ChamberBellTypeId,\n ScheduleItem\n} from 'proceduralsystem-cbs-common-components';\nimport {\n OirHttpService,\n OirDisplayError,\n ToastNotificationsService,\n OirHTTPErrorResponse\n} from 'proceduralsystem-clientcomponents';\nimport { IDailSchedule } from './schedule.types';\nimport { Store } from '@ngrx/store';\nimport { InAppState } from '@app/app.types';\nimport { ScheduleDialogsService } from './schedule-dialogs.service';\nimport { BellService } from '@app/services/bell.service';\nimport { SuspensionOptions } from '@app/shared/dialogs/suspension-dialog/suspension-dialog.types';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class ScheduleService {\n constructor(\n private readonly oirHttp: OirHttpService,\n private readonly toastService: ToastNotificationsService,\n private readonly progressBarService: ProgressBarService,\n private readonly translate: TranslateService,\n private readonly store: Store,\n private readonly scheduleDialogService: ScheduleDialogsService,\n private readonly bellService: BellService\n ) {}\n\n fetchDailSchedule(hideSpinner = false): Observable {\n return this.oirHttp\n .get({\n path: `/api/schedule/dail`,\n params: {\n lang: this.translate.currentLang || LanguageType.en\n },\n hideSpinner\n })\n .pipe(\n map((v: IDailSchedule) => this.adjustDailScheduleDurations(v)),\n catchError((error: OirDisplayError | OirHTTPErrorResponse) => {\n if (!(error instanceof OirHTTPErrorResponse && error.code == '404')) {\n this.toastService.addNotification({\n title: 'COMMON.REQUESTERROR',\n error: (error as OirDisplayError).detail\n ? (error as OirDisplayError).detail\n : ((error as OirHTTPErrorResponse).cause.detail as string)\n });\n }\n\n return of(null);\n })\n );\n }\n\n fetchRotaDay(path: 'clerk' | 'chair'): Observable {\n return this.oirHttp\n .get<{ rotaDay: IScheduleRota }>({\n path: `/api/schedule/${path}Rota/rotaday/preview`,\n query: {\n lang: this.translate.currentLang || LanguageType.en\n }\n })\n .pipe(\n map((i: any) => i.rotaDay),\n map(this.adjustRotaDurations),\n catchError(() => of(null))\n );\n }\n\n suspendSchedule(\n id: number,\n durationPlanned: number,\n until: string,\n action: 'suspend' | 'extendSuspension',\n type: SuspensionOptions | null\n ): Observable {\n const isBusinessItemStopped = type\n ? type !== SuspensionOptions.SUSPEND\n : type;\n\n return this.oirHttp\n .put({\n path: `/api/schedule/dail/${action}`,\n body: {\n id,\n durationPlanned,\n until,\n isBusinessItemStopped\n }\n })\n .pipe(\n catchError(error => {\n this.toastService.addNotification({\n title: 'COMMON.REQUESTERROR',\n error: error.detail\n });\n\n return of(-1);\n })\n );\n }\n\n adjournSchedule(id: number): Observable {\n return this.oirHttp\n .put({ path: '/api/schedule/dail/adjourn', body: { id } })\n .pipe(\n tap(result => {\n if (result > -1) {\n this.toastService.addNotification({\n title: 'SCHEDULE.TN13.DIALOG.ADJOURNMENT.NOTIFICATION'\n });\n }\n }),\n catchError(error => {\n this.toastService.addNotification({\n title: 'COMMON.REQUESTERROR',\n error: error.detail\n });\n\n return of(-1);\n })\n );\n }\n\n resumeSchedule(id: number): Observable {\n return this.oirHttp\n .put({ path: '/api/schedule/dail/resume', body: { id } })\n .pipe(\n catchError(error => {\n this.toastService.addNotification({\n title: 'COMMON.REQUESTERROR',\n error: error.detail\n });\n\n return of(-1);\n })\n );\n }\n\n startBusinessItem(\n scheduleId: number,\n id: number,\n instanceId: number\n ): Observable {\n return this.store.select(selectChamberBell).pipe(\n take(1),\n switchMap((chamberBell: ChamberBell) => {\n if (\n chamberBell &&\n chamberBell.statusId === ChamberBellStatusId.InProgress\n ) {\n if (\n [ChamberBellTypeId.Division, ChamberBellTypeId.Voting].includes(\n chamberBell.typeId\n )\n ) {\n const confirmButton = 'DIALOG.YES.BUTTON';\n return this.scheduleDialogService\n .getCancelDivisionDialog(confirmButton)\n .pipe(\n switchMap(data => {\n if (data !== confirmButton) {\n return of(0);\n }\n return this.stopBell(chamberBell, scheduleId, id);\n })\n );\n }\n\n if (\n [ChamberBellTypeId.Assemble, ChamberBellTypeId.Quorum].includes(\n chamberBell.typeId\n )\n ) {\n return this.stopBell(chamberBell, scheduleId, id);\n }\n }\n\n return this.progressBarService.startBusinessItem(\n scheduleId,\n id,\n instanceId\n );\n }),\n catchError((error: OirDisplayError) => {\n this.toastService.addNotification({\n title: 'COMMON.REQUESTERROR',\n error: error.detail\n });\n\n return of(-1);\n })\n );\n }\n\n pauseBusinessItem(\n scheduleId: number,\n id: number,\n instanceId: number\n ): Observable {\n return this.progressBarService.pauseBusinessItem(\n scheduleId,\n id,\n instanceId\n );\n }\n\n private stopBell(\n chamberBell: ChamberBell,\n scheduleId: number,\n id: number\n ): Observable {\n const action =\n chamberBell.businessItemId === id\n ? StopBellActionId.CancelResume\n : StopBellActionId.CancelPlayNext;\n return this.bellService\n .stopBell(\n scheduleId,\n chamberBell.validStopActions.includes(action)\n ? action\n : StopBellActionId.Cancel\n )\n .pipe(switchMap(() => of(1)));\n }\n\n private adjustDailScheduleDurations(schedule: IDailSchedule): IDailSchedule {\n return {\n ...schedule,\n scheduleItems: schedule.scheduleItems.map((si, i, arr) => ({\n ...si,\n businessItem: si.businessItem && {\n ...si.businessItem,\n durationPlanned:\n si.businessItem.durationPlanned &&\n si.businessItem.durationPlanned / 60,\n sharedSlot: this.findAndAssignFirstSharedSlot(arr, si, i)\n }\n }))\n };\n }\n\n private findAndAssignFirstSharedSlot(\n data: ScheduleItem[],\n currentValue: ScheduleItem,\n currentIndex: number\n ): boolean {\n const hasBusinessItem =\n data.findIndex(() => {\n return (\n data\n .map(v => (v.businessItem ? v.businessItem.position : null))\n .indexOf(currentValue?.businessItem?.position) === currentIndex\n );\n }) > -1;\n\n if (\n currentValue.businessItem &&\n currentValue.businessItem.sharedSlot &&\n hasBusinessItem\n ) {\n return false;\n }\n\n return currentValue?.businessItem?.typeId ===\n BusinessItemTypeId.ChamberSuspended\n ? false\n : currentValue?.businessItem?.sharedSlot;\n }\n\n private adjustRotaDurations(rota: IScheduleRota): IScheduleRota {\n if (!rota) {\n return rota;\n }\n\n return {\n ...rota,\n rotaBusinessItems:\n rota.rotaBusinessItems &&\n rota.rotaBusinessItems.map(bi => ({\n ...bi,\n duration: bi.duration && (bi.duration *= 60),\n rotaSlotMembers: bi.rotaSlotMembers\n ? bi.rotaSlotMembers.map(sm => ({\n ...sm,\n duration: sm.duration * 60\n }))\n : null\n }))\n };\n }\n}\n","import {\n BusinessItemStatusId,\n BusinessItemTypeId,\n ITabView,\n NotesStatusId,\n SpeakingListStatusId,\n ScheduleStatusId,\n ActionButtonStatus,\n AccessOperation,\n ITimeSlot,\n IOngoingBusinessItems,\n ChamberBell,\n ScheduleItem\n} from 'proceduralsystem-cbs-common-components';\n\nexport enum ScheduleTab {\n Dail,\n ClerkRota,\n ChairRota\n}\n\nexport const ScheduleTabsData: ITabView[] = [\n {\n title: 'SCHEDULE.TAB.DAIL',\n tabIndex: ScheduleTab.Dail\n },\n {\n title: 'SCHEDULE.TAB.CLERK',\n tabIndex: ScheduleTab.ClerkRota\n },\n {\n title: 'SCHEDULE.TAB.CHAIR',\n tabIndex: ScheduleTab.ChairRota\n }\n];\n\nexport interface IDailSchedule {\n id: number;\n date: string;\n statusId: ScheduleStatusId;\n updatedAt: string;\n scheduleItems: ScheduleItem[];\n ongoingChamberBell: ChamberBell;\n ongoingBusinessItem: IOngoingBusinessItems;\n}\n\nexport interface IBusinessItem extends ITimeSlot {\n id: number;\n position: number;\n title: string;\n instanceId?: number;\n instancePosition?: number;\n durationPlanned: number;\n durationActual: number;\n speakingListStatusId: SpeakingListStatusId;\n notesStatusId: NotesStatusId;\n typeId: BusinessItemTypeId;\n workItemTitle: string;\n workItemPosition: number;\n sharedSlot: boolean;\n businessItemStatusId: BusinessItemStatusId;\n elapsed: number;\n completionPercent: number;\n arrangementsOnFront: string[];\n actionButtonStatusId: ActionButtonStatus;\n}\n\nexport interface IActionButtonData {\n scheduleId: number;\n id: number;\n instanceId: number;\n}\n\n// Access\nexport enum ScheduleComponentAccessOperation {\n ShowSuspendScheduleButton = 15,\n ShowAdjournScheduleButton,\n ShowExtendSuspendScheduleButton,\n ShowResumeScheduleButton,\n ShowRingBellButton\n}\n\nexport type ScheduleAccessOperation =\n | ScheduleComponentAccessOperation\n | AccessOperation;\n","import { Injectable } from '@angular/core';\nimport { take } from 'rxjs/operators';\nimport * as BellTimerActions from '@app/store/actions/bell-timer.actions';\nimport { Store } from '@ngrx/store';\nimport {\n InAppState,\n EndingBellTypes,\n IBellTimer,\n SecondsInMin\n} from '@app/app.types';\nimport {\n ChamberBellSubTypeId,\n ILiveScheduleBI,\n StopBellActionId\n} from 'proceduralsystem-cbs-common-components';\nimport { ScheduleDialogsService } from '@app/pages/schedule/schedule-dialogs.service';\nimport { MatDialogRef } from '@angular/material/dialog';\nimport { QuorumEndingDialogModule } from '@app/shared/dialogs/quorum-ending-dialog/quorum-ending-dialog.module';\nimport { IDailSchedule } from '@app/pages/schedule/schedule.types';\nimport { BellService } from './bell.service';\nimport { ScheduleService } from '@app/pages/schedule/schedule.service';\nimport { findLast } from 'lodash-es';\n\ninterface DialogData {\n selectedBusinessItem: ILiveScheduleBI;\n duration: number;\n choice: EndingBellTypes;\n}\n\n@Injectable({\n providedIn: 'root'\n})\nexport class BellEndingService {\n constructor(\n private readonly store: Store,\n private readonly scheduleDialogService: ScheduleDialogsService,\n private readonly bellService: BellService,\n private readonly scheduleService: ScheduleService\n ) {}\n\n private _dialogRef: MatDialogRef | null;\n\n setBellTimer(v: IDailSchedule): void {\n if (\n v.ongoingChamberBell &&\n (v.ongoingChamberBell.subTypeId ===\n ChamberBellSubTypeId.QuorumBusinessItem ||\n v.ongoingChamberBell.subTypeId === ChamberBellSubTypeId.QuorumSchedule)\n ) {\n this.store.dispatch(\n BellTimerActions.startBellTimer({\n startTime: v.ongoingChamberBell.startTime,\n durationPlanned: v.ongoingChamberBell.durationPlanned,\n scheduleId: v.id,\n businessItems: [\n {\n ...(this._findItemById(\n v.scheduleItems,\n v.ongoingBusinessItem.businessItemId\n ).businessItem || null),\n type: v.ongoingChamberBell.subTypeId\n },\n this._findNextItemWithBusinessItem(\n v.scheduleItems,\n v.ongoingBusinessItem.businessItemId\n ) || null\n ],\n ongoingChamberBell: { ...v.ongoingChamberBell }\n })\n );\n }\n }\n\n get isDialogOpen(): boolean {\n return !!this._dialogRef;\n }\n\n openDialog(action: IBellTimer): void {\n if (!this._dialogRef) {\n this._dialogRef = this.scheduleDialogService.getQuorumEndingDialog(\n 'ENDING_SCHEDULE_QUORUM_MODAL.TITLE',\n 'ENDING_SCHEDULE_QUORUM_MODAL.MESSAGE',\n { action }\n );\n this._dialogRef\n .beforeClosed()\n .pipe(take(1))\n .subscribe((result: DialogData) => {\n if (result) {\n this._onDialogAction(result, action);\n } else {\n this.closeDialog();\n }\n });\n }\n }\n\n closeDialog(): void {\n if (this._dialogRef) {\n this._dialogRef.close();\n this._dialogRef = null;\n }\n }\n\n stopBell(scheduleId: number): void {\n this.bellService.stopBell(scheduleId, StopBellActionId.Cancel).subscribe();\n }\n\n private _onDialogAction(result: DialogData, bell: IBellTimer): void {\n switch (result.choice) {\n case EndingBellTypes.Resume:\n case EndingBellTypes.Start:\n this._startOrResumeBI({\n ...result.selectedBusinessItem,\n scheduleId: bell.scheduleId\n });\n break;\n case EndingBellTypes.Extend:\n this.bellService\n .extendQuorumBell(\n bell.scheduleId,\n bell.ongoingChamberBell.id,\n result.duration * SecondsInMin\n )\n .subscribe(v => this._endTimer(v > -1));\n break;\n default:\n this._endTimer(true);\n break;\n }\n }\n\n private _endTimer(v: boolean): void {\n if (v) {\n this.store.dispatch(BellTimerActions.stopBellTimer());\n this.closeDialog();\n }\n }\n\n private _startOrResumeBI(data: ILiveScheduleBI): void {\n this.scheduleService\n .startBusinessItem(data.scheduleId, data.id, data.instanceId)\n .pipe(take(1))\n .subscribe(v => this._endTimer(v > -1));\n }\n\n private _findItemById(items: any[], id: number): any {\n return items.find(\n item =>\n item.id === id || (item.businessItem && item.businessItem.id === id)\n );\n }\n\n private _findNextItemWithBusinessItem(items: any[], currentId: number): any {\n const currentItem = findLast(\n items,\n item =>\n item.id === currentId ||\n (item.businessItem && item.businessItem.id === currentId)\n );\n const currentIndex = items.indexOf(currentItem);\n\n if (currentIndex === -1 || currentIndex === items.length - 1) {\n return null;\n }\n\n for (let i = currentIndex + 1; i < items.length; i++) {\n if (items[i].businessItem != null) {\n return items[i].businessItem;\n }\n }\n\n return null;\n }\n}\n","import { Injectable } from '@angular/core';\nimport {\n ChamberBellSubTypeId,\n ChamberBellTimeTypeId,\n IBellTypes,\n StopBellActionId\n} from 'proceduralsystem-cbs-common-components';\nimport { BellOptionMenuItemsResp } from '@app/shared/components/bell-options-menu/bell-options-menu.types';\nimport {\n OirHttpService,\n OirDisplayError,\n ToastNotificationsService\n} from 'proceduralsystem-clientcomponents';\nimport { Observable, of } from 'rxjs';\nimport { catchError } from 'rxjs/operators';\n\ninterface StartDivBellPayload {\n scheduleId: number;\n stageId: number;\n divisionDuration?: number;\n chamberBellSubTypeId: ChamberBellSubTypeId;\n chamberBellTimeTypeId: ChamberBellTimeTypeId;\n}\n\ninterface StartQuorumBellPayload {\n scheduleId: number;\n quorumDuration?: number;\n chamberBellSubTypeId: ChamberBellSubTypeId;\n}\n\ninterface StartGairmBellPayload {\n scheduleId: number;\n chamberBellSubTypeId: ChamberBellSubTypeId;\n}\n\nexport interface Stage {\n name: string;\n id: number;\n}\n\n@Injectable({\n providedIn: 'root'\n})\nexport class BellService {\n constructor(\n private readonly oirHttp: OirHttpService,\n private readonly toastService: ToastNotificationsService\n ) {}\n\n getRingBellOptions(scheduleId: number): Observable {\n return this.oirHttp.get(\n `/api/Bell/${scheduleId}/RingBellOptions`\n );\n }\n\n startDivisionBell(body: StartDivBellPayload): Observable {\n return this.oirHttp.post({\n path: `/api/Bell/${body.scheduleId}/Division/Start`,\n body\n });\n }\n\n startGairmBell(body: StartGairmBellPayload): Observable {\n return this.oirHttp.post({\n path: `/api/Bell/${body.scheduleId}/Gairm/Start`,\n body\n });\n }\n\n startQuorumBell(body: StartQuorumBellPayload): Observable {\n return this.oirHttp\n .post({\n path: `/api/Bell/${body.scheduleId}/Quorum/Start`,\n body\n })\n .pipe(catchError(error => this._generalErrorCase(error)));\n }\n\n extendQuorumBell(\n scheduleId: number,\n chamberBellId: number,\n quorumDuration: number\n ): Observable {\n return this.oirHttp\n .put({\n path: `/api/Bell/${scheduleId}/Quorum/Extend`,\n body: {\n scheduleId,\n chamberBellId,\n quorumDuration\n }\n })\n .pipe(catchError(error => this._generalErrorCase(error)));\n }\n\n stopBell(\n scheduleId: number,\n action: StopBellActionId\n ): Observable {\n return this.oirHttp.put({\n path: `/api/Bell/${scheduleId}/StopBell`,\n body: { scheduleId, action }\n });\n }\n\n cancelOptions(scheduleId: number, bellId: number): Observable {\n return this.oirHttp.get({\n path: `/api/Bell/${scheduleId}/CancelOptions/${bellId}`\n });\n }\n\n getDivisionStage(\n scheduleId: number\n ): Observable<{ businessItemId: number; stages: Stage[] }> {\n return this.oirHttp.get<{ businessItemId: number; stages: Stage[] }>(\n `/api/Bell/${scheduleId}/Division/Options/Stages`\n );\n }\n\n extendDivBell(\n scheduleId: number,\n chamberBellId: number,\n divisionBellDuration: number\n ): Observable {\n return this.oirHttp.put({\n path: `/api/Bell/${scheduleId}/Division/Extend`,\n body: { scheduleId, chamberBellId, divisionBellDuration }\n });\n }\n\n startVoting(body: {\n scheduleId: number;\n chamberBellId: number;\n }): Observable {\n return this.oirHttp.post({\n path: `/api/Bell/${body.scheduleId}/Division/StartVoting`,\n body\n });\n }\n\n private _generalErrorCase(error: OirDisplayError): Observable {\n this.toastService.addNotification({\n title: 'COMMON.REQUESTERROR',\n error: error.detail\n });\n\n return of(-1);\n }\n}\n","import { Injectable } from '@angular/core';\nimport {\n CanActivate,\n CanActivateChild,\n ActivatedRouteSnapshot,\n RouterStateSnapshot,\n Router\n} from '@angular/router';\nimport { Observable, of, switchMap } from 'rxjs';\nimport { Store } from '@ngrx/store';\nimport { selectChamberUser } from '@app/store/reducers/live-sharing.reducer';\nimport { ErrorNavigationPage } from 'proceduralsystem-cbs-common-components';\nimport { InAppState } from '@app/app.types';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class StoreRoleGuardService implements CanActivate, CanActivateChild {\n constructor(\n private readonly store: Store,\n private readonly router: Router\n ) {}\n\n canActivate(\n route: ActivatedRouteSnapshot,\n state: RouterStateSnapshot\n ): Observable {\n const routeRolesConfig: string[] = route.data.roles;\n if (routeRolesConfig) {\n return this.store.select(selectChamberUser).pipe(\n switchMap(user => {\n const shouldActivate =\n user && routeRolesConfig.some(item => item === user.role);\n if (!shouldActivate) {\n this.router.navigate([ErrorNavigationPage.NoAccess], {\n skipLocationChange: true\n });\n }\n\n return of(shouldActivate);\n })\n );\n }\n\n return of(true);\n }\n\n canActivateChild(\n route: ActivatedRouteSnapshot,\n state: RouterStateSnapshot\n ): Observable {\n return this.canActivate(route, state);\n }\n}\n","import { Injectable } from '@angular/core';\nimport { Title } from '@angular/platform-browser';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport { TranslateService } from '@ngx-translate/core';\nimport {\n CbsNavigationService,\n ErrorNavigationPage,\n ErrorPageTypeId\n} from 'proceduralsystem-cbs-common-components';\nimport { NavigationService, Node } from 'proceduralsystem-clientcomponents';\nimport { NavigationPage, PageTitle } from '@app/app.types';\nimport { ScheduleTab } from '@app/pages/schedule/schedule.types';\n\n@Injectable({ providedIn: 'root' })\nexport class InCbsNavigationService extends CbsNavigationService {\n constructor(\n readonly navigationService: NavigationService,\n readonly router: Router,\n readonly activatedRoute: ActivatedRoute,\n readonly translate: TranslateService,\n readonly titleService: Title\n ) {\n super(navigationService, router, activatedRoute, translate, titleService);\n }\n\n clearNavigationToSchedule(): void {\n this.navigationService.select(this.navigationService.currentNode);\n const taskManagerNode = this.navigationService.model.tree.find(\n x => x.title === PageTitle.Schedule\n );\n taskManagerNode.expanded = false;\n }\n\n navigateToSchedule(tabIndex: ScheduleTab = null): void {\n const queryParams = tabIndex ? { tabIndex } : {};\n\n this.router.navigate([`${NavigationPage.Schedule}`], { queryParams });\n }\n\n navigateToBIView(\n id: number,\n tabIndex: number = null,\n subTabIndex: number = null\n ): void {\n const queryParams = tabIndex\n ? subTabIndex\n ? { tabIndex, subTabIndex }\n : { tabIndex }\n : {};\n this.router.navigate([NavigationPage.BusinessItemView, id], {\n queryParams\n });\n }\n\n navigateToSosView(id: number): void {\n this.router.navigate([NavigationPage.SOSView, id]);\n }\n\n navigateToReferenceNotes(): void {\n this.router.navigate([`${NavigationPage.ReferenceNotes}`]);\n }\n\n navigateToDivisionView(scheduleId: number, divisionId: number): void {\n this.router.navigate([\n NavigationPage.Schedule,\n scheduleId,\n NavigationPage.DivisionView,\n divisionId\n ]);\n }\n\n navigateToErrorPage(\n typeId: ErrorPageTypeId = ErrorPageTypeId.NotFound\n ): void {\n this.router.navigate(\n [\n typeId === ErrorPageTypeId.NoAccess\n ? ErrorNavigationPage.NoAccess\n : ErrorNavigationPage.PageNotFound\n ],\n { skipLocationChange: true }\n );\n }\n\n getCurrentRoute(): string {\n return this.router.url || '';\n }\n\n override getNavigationItems(): Node[] {\n const tree: Node[] = [\n {\n title: PageTitle.Schedule,\n path: NavigationPage.Schedule,\n icon: 'event_note'\n },\n {\n title: PageTitle.ReferenceNotes,\n path: NavigationPage.ReferenceNotes,\n icon: 'content_paste_search'\n }\n ];\n\n return tree;\n }\n}\n","import { Injectable } from '@angular/core';\nimport { MatDialog } from '@angular/material/dialog';\nimport { Observable, of, switchMap } from 'rxjs';\nimport { catchError, tap, take } from 'rxjs/operators';\nimport { TranslateService } from '@ngx-translate/core';\nimport { Store } from '@ngrx/store';\nimport { setChamberUser } from '@app/store/actions/live-sharing.actions';\nimport { selectChamberUser } from '@app/store/reducers/live-sharing.reducer';\nimport {\n ConfigurationService,\n OirAuthService,\n OirDisplayError,\n OirHttpService,\n ToastNotificationsService\n} from 'proceduralsystem-clientcomponents';\nimport {\n AppConfig,\n CookieItem,\n IChamberUser,\n UserRole\n} from 'proceduralsystem-cbs-common-components';\nimport { InAppState, SecondsBase } from '@app/app.types';\nimport { SwitchUserComponent } from '@shared/components/header-bar/components/dialog/switch-user/switch-user.component';\n\n@Injectable({ providedIn: 'root' })\nexport class InCbsUserService {\n constructor(\n private oirHttp: OirHttpService,\n private config: ConfigurationService,\n private authService: OirAuthService,\n private toastService: ToastNotificationsService,\n private translate: TranslateService,\n private matDialog: MatDialog,\n private store: Store\n ) {}\n\n openUserClockInDialog(): void {\n const dialogRef = this.matDialog.open(SwitchUserComponent, {\n hasBackdrop: true,\n disableClose: true,\n panelClass: 'dialog-mat'\n });\n dialogRef.componentInstance.type = 'clock-in';\n dialogRef.afterClosed().subscribe(data => {\n if (data !== 'COMMON.CANCEL') {\n this.clockInUser({\n userObjectId: data.clerk.userObjectId,\n name: data.clerk.fullName,\n role: UserRole.ChamberClerk\n }).subscribe();\n }\n });\n }\n\n openUserClockOutDialog(): void {\n this.store\n .select(selectChamberUser)\n .pipe(take(1))\n .subscribe(chamberUser => {\n if (chamberUser) {\n const dialogRef = this.matDialog.open(SwitchUserComponent, {\n hasBackdrop: true,\n disableClose: true,\n panelClass: 'dialog-mat'\n });\n dialogRef.componentInstance.type = 'clock-out';\n dialogRef.componentInstance.form.get('clerk').patchValue(\n {\n fullName: chamberUser.name,\n userObjectId: chamberUser.userObjectId\n },\n { emitEvent: false, onlySelf: true }\n );\n dialogRef.componentInstance.form.markAsDirty();\n dialogRef.afterClosed().subscribe(data => {\n if (data !== 'COMMON.CANCEL') {\n this.clockOutUser(true).subscribe();\n }\n });\n }\n });\n }\n\n checkSession(): Observable {\n if (this.authService.hasRole(UserRole.CeannComhairle)) {\n this.store.dispatch(\n setChamberUser({\n chamberUser: {\n userObjectId: this.authService.getUserId(),\n name: this.authService.getFullname(),\n role: UserRole.CeannComhairle\n }\n })\n );\n }\n\n const currentChamberUser = JSON.parse(\n this.config.getCookie(CookieItem.chamberUser)\n );\n\n if (!currentChamberUser) {\n return of(false);\n }\n\n this.store.dispatch(setChamberUser({ chamberUser: currentChamberUser }));\n\n return this.oirHttp\n .get({\n path: '/api/clerk/checkSession',\n query: {\n userObjectId: currentChamberUser.userObjectId\n }\n })\n .pipe(\n tap(result => {\n if (!result) {\n this.clockOutUser().subscribe();\n }\n })\n );\n }\n\n clockInUser(chamberUser: IChamberUser): Observable {\n return this.oirHttp\n .post({\n path: '/api/clerk/clock-in',\n body: {\n chamberUser: {\n userObjectId: chamberUser.userObjectId,\n name: chamberUser.name,\n role: UserRole.ChamberClerk\n }\n }\n })\n .pipe(\n tap(() => {\n if (chamberUser) {\n this.toastService.addNotification({\n description: this.translate.instant('CLOCK-IN.TOAST_MESSAGE', [\n chamberUser.name.split(' ')[0]\n ])\n });\n }\n\n this.config.setCookie(\n CookieItem.chamberUser,\n JSON.stringify(chamberUser),\n 1\n );\n\n setTimeout(() => {\n window.location.replace('/');\n }, SecondsBase);\n }),\n catchError((error: OirDisplayError) => {\n this.toastService.addNotification({\n title: 'COMMON.REQUESTERROR',\n error: error.detail\n });\n\n this.clockOutUser().subscribe();\n\n return of(true);\n })\n );\n }\n\n clockOutUser(isManual = false): Observable {\n if (this.authService.hasRole(UserRole.CeannComhairle)) {\n return of(false);\n }\n\n return this.store.select(selectChamberUser).pipe(\n take(1),\n switchMap(chamberUser => {\n if (!chamberUser) {\n return this.postClockOut();\n }\n\n return this.oirHttp\n .post({\n path: '/api/clerk/clock-out',\n body: {\n chamberUser: {\n userObjectId: chamberUser.userObjectId\n }\n }\n })\n .pipe(\n tap(result => {\n if (result) {\n this.toastService.addNotification({\n description: isManual\n ? 'CLOCK-OUT.SUCCESS_TOAST_MESSAGE'\n : 'CLOCK-OUT.SESSION_EXPIRED_TOAST_MESSAGE'\n });\n }\n return this.postClockOut();\n }),\n catchError(() => this.postClockOut())\n );\n })\n );\n }\n\n postClockOut(): Observable {\n this.store.dispatch(setChamberUser({ chamberUser: null }));\n this.config.eraseCookie(CookieItem.chamberUser);\n\n setTimeout(() => {\n window.location.replace('/');\n }, SecondsBase);\n\n return of(true);\n }\n}\n","import { Injectable } from '@angular/core';\nimport { HttpClient } from '@angular/common/http';\nimport { Store } from '@ngrx/store';\nimport {\n ConfigurationService,\n OirAuthService,\n ToastNotificationsService\n} from 'proceduralsystem-clientcomponents';\nimport {\n AppConfig,\n businessItemStateChanged,\n ConnectionHubService,\n HubEventTypeId,\n HubStateChanged,\n HubToastMessage,\n SystemHubMethod,\n ToastEventTypeId,\n ToastMessageHubMethod,\n UserRole,\n ProgressBarService\n} from 'proceduralsystem-cbs-common-components';\nimport { InAppState, ISpeakerParams } from '@app/app.types';\nimport { ChatService } from '@shared/components/chat/chat.service';\nimport {\n setChatStatus,\n setMessages,\n setNewMessage,\n setVideoUrl\n} from '@app/store/actions/chat.actions';\nimport { ChatStatus } from '@shared/components/chat/chat.types';\nimport {\n initLiveView,\n setConnectionId,\n setLiveView,\n userClockedIn,\n userClockedOut\n} from '@app/store/actions/live-sharing.actions';\nimport { TranslateService } from '@ngx-translate/core';\nimport { InCbsUserService } from '@app/services/in-cbs-user.service';\nimport { selectChamberUser } from '@app/store/reducers/live-sharing.reducer';\nimport { ActiveUsersService } from '@shared/components/active-users/active-users.service';\nimport {\n chairDueToStart,\n clerkDueToStart,\n recalledNotes,\n recalledSpeakersList,\n speakerListSlotStateChanged,\n speakersListStateChanged,\n clockSlotStateChanged,\n clockSlotSpeakerStateChanged,\n cliffNoteStateChanged\n} from '@app/store/actions/in-chamber.actions';\n\nexport enum ChatHubMethod {\n StateChange = 'chat_state_changed',\n NewMessage = 'chat_new_message'\n}\n\nexport enum LiveSharingHubMethod {\n LiveViewChange = 'live_view_change'\n}\n\nexport enum LiveBarHubMethod {\n ClerkClockedIn = 'chamber_clerk_clocked_in',\n ClerkClockedOut = 'chamber_clerk_clocked_out'\n}\n\n@Injectable({ providedIn: 'root' })\nexport class InConnectionHubService extends ConnectionHubService {\n constructor(\n protected http: HttpClient,\n protected config: ConfigurationService,\n protected authService: OirAuthService,\n protected translate: TranslateService,\n protected toastService: ToastNotificationsService,\n protected store: Store,\n protected chat: ChatService,\n protected activeUsersService: ActiveUsersService,\n private readonly inCbsUserService: InCbsUserService,\n private readonly progressBarService: ProgressBarService\n ) {\n super(http, config, authService, translate, toastService, store);\n }\n\n override addListeners(): void {\n super.addListeners();\n\n if (this.connection) {\n this.store.dispatch(\n setConnectionId({ connectionId: this.getConnectionId() })\n );\n\n // SL, Clock tab change\n this.connection.on(\n SystemHubMethod.StateChanged,\n (data: HubStateChanged) => {\n switch (data.EventTypeId) {\n case HubEventTypeId.SpeakingListSlotSpeaker:\n this.store.dispatch(\n speakerListSlotStateChanged({ params: this.getParams(data) })\n );\n break;\n case HubEventTypeId.ClockSlotSpeaker:\n this.store.dispatch(\n clockSlotSpeakerStateChanged({\n clockParams: this.getParams(data)\n })\n );\n break;\n case HubEventTypeId.ClockTab:\n this.store.dispatch(\n clockSlotStateChanged({\n changedClockItem: {\n businessItemId: data.Data.BusinessItemId,\n status: data.StateId\n }\n })\n );\n break;\n case HubEventTypeId.SpeakingList:\n this.store.dispatch(\n speakersListStateChanged({\n changedSLBusinessItem: {\n businessItemId: data.Data.BusinessItemId,\n status: data.StateId\n }\n })\n );\n break;\n case HubEventTypeId.CliffNote:\n this.store.dispatch(\n cliffNoteStateChanged({\n changedCliffNote: {\n businessItemId: data.Data.BusinessItemId,\n actionId: data.ActionId,\n status: data.StateId\n }\n })\n );\n break;\n }\n }\n );\n // Chat commands\n this.connection.on(\n ChatHubMethod.StateChange,\n (chatStatus: ChatStatus) => {\n this.store.dispatch(setChatStatus({ chatStatus }));\n }\n );\n this.connection.on(ChatHubMethod.NewMessage, message => {\n this.store.dispatch(\n setNewMessage({\n message: {\n id: message.Id,\n userId: message.UserId,\n userFullName: message.UserFullName,\n userRole: message.UserRole,\n message: message.Message,\n timestamp: message.Timestamp,\n isUrgent: message.IsUrgent,\n isAcknowledged: message.IsAcknowledged\n }\n })\n );\n });\n // Live and Header Bar commands\n this.connection.on(LiveBarHubMethod.ClerkClockedIn, data => {\n if (data.NewEntry) {\n this.store.dispatch(\n userClockedIn({\n chamberUser: {\n userObjectId: data.NewEntry.Id,\n name: data.NewEntry.name,\n role: UserRole.ChamberClerk\n }\n })\n );\n this.progressBarService.setClockedName(data.NewEntry.name);\n }\n });\n this.connection.on(LiveBarHubMethod.ClerkClockedOut, data => {\n if (data.NewEntry) {\n this.store.dispatch(\n userClockedOut({\n chamberUser: data.NewEntry\n })\n );\n this.progressBarService.setClockedName(data.NewEntry.name);\n }\n });\n this.connection.on(LiveSharingHubMethod.LiveViewChange, data => {\n const liveView = {\n user: {\n userObjectId: data.User.UserObjectId,\n name: data.User.Name,\n role: data.User.Role\n },\n page: data.Page,\n data: data.Data\n };\n this.store.dispatch(setLiveView({ liveView }));\n });\n // System commands\n this.connection.on(\n SystemHubMethod.StateChanged,\n (data: HubStateChanged) => {\n switch (data.EventTypeId) {\n case HubEventTypeId.SpeakingListSlot:\n case HubEventTypeId.ClockSlot:\n this.store.dispatch(businessItemStateChanged({ params: data }));\n break;\n }\n }\n );\n // Toast Message commands\n this.connection.on(\n ToastMessageHubMethod.ToastMessage,\n (data: HubToastMessage) => {\n switch (data.ToastEventTypeId) {\n case ToastEventTypeId.ClerkDueToStart:\n this.store.select(selectChamberUser).subscribe(chamberUser => {\n if (chamberUser) {\n const users = data.Data.Users.filter(\n u => u.userObjectId !== chamberUser.userObjectId\n );\n if (users.length > 0) {\n this.store.dispatch(\n clerkDueToStart({\n clerkDueToStart: users.map(u => u.FullName)\n })\n );\n }\n }\n });\n break;\n case ToastEventTypeId.ChairDueToStart:\n this.store.select(selectChamberUser).subscribe(chamberUser => {\n if (chamberUser) {\n const users = data.Data.Users.filter(\n u => u.userObjectId !== chamberUser.userObjectId\n );\n if (users.length > 0) {\n this.store.dispatch(\n chairDueToStart({\n chairDueToStart: users.map(u => u.FullName)\n })\n );\n }\n }\n });\n break;\n case ToastEventTypeId.RecalledSpeakersList: {\n // Value is refreshed because store doesn't trigger on same value dispatch\n this.store.dispatch(recalledSpeakersList({ itemId: null }));\n this.store.select(selectChamberUser).subscribe(chamberUser => {\n if (\n chamberUser &&\n chamberUser.userObjectId !== data.Data.UserObjectId\n ) {\n this.store.dispatch(\n recalledSpeakersList({ itemId: data.Data.ItemId })\n );\n }\n });\n break;\n }\n case ToastEventTypeId.RecalledNotes: {\n // Value is refreshed because store doesn't trigger on same value dispatch\n this.store.dispatch(recalledNotes({ itemId: null }));\n this.store.select(selectChamberUser).subscribe(chamberUser => {\n if (\n chamberUser &&\n chamberUser.userObjectId !== data.Data.UserObjectId\n ) {\n this.store.dispatch(\n recalledNotes({ itemId: data.Data.ItemId })\n );\n }\n });\n break;\n }\n // Clocking commands\n case ToastEventTypeId.ClockOutReminder:\n if (data && data.Data) {\n this.store.select(selectChamberUser).subscribe(chamberUser => {\n if (\n chamberUser &&\n chamberUser.userObjectId ===\n data.Data.ChamberDaySessionLogUser\n ) {\n this.toastService.addNotification({\n description: this.translate.instant(\n 'CLOCK-OUT.MINUTES_REMINDER_TOAST_MESSAGE',\n [data.Data.NotifyBeforeMinutes]\n )\n });\n }\n });\n }\n break;\n case ToastEventTypeId.ClockOutSessionExpired:\n if (data) {\n this.store.select(selectChamberUser).subscribe(chamberUser => {\n if (chamberUser && chamberUser.userObjectId === data.Data) {\n this.toastService.addNotification({\n description: 'CLOCK-OUT.SESSION_EXPIRED_TOAST_MESSAGE'\n });\n this.inCbsUserService.postClockOut().subscribe();\n }\n });\n }\n break;\n }\n }\n );\n }\n\n this.processLiveViewData();\n this.processChatData();\n }\n\n override removeListeners(): void {\n super.removeListeners();\n\n if (this.connection) {\n this.connection.off(ChatHubMethod.NewMessage);\n this.connection.off(ChatHubMethod.StateChange);\n }\n }\n\n private processLiveViewData(): void {\n this.activeUsersService.fetchLiveViewData().subscribe(liveViews => {\n this.store.dispatch(initLiveView({ liveViews }));\n });\n }\n\n private processChatData(): void {\n this.chat.fetchChatData().subscribe(info => {\n this.store.dispatch(setChatStatus({ chatStatus: info.stateId }));\n this.store.dispatch(setVideoUrl({ videoUrl: info.videoUrl }));\n this.store.dispatch(\n setMessages({ messages: info.messages ? info.messages : [] })\n );\n });\n }\n\n private getParams(data: HubStateChanged): ISpeakerParams {\n return {\n actionId: data.ActionId,\n businessItemId: data.Data ? data.Data.BusinessItemId : null,\n itemId: data.ItemId,\n stateId: data.StateId\n };\n }\n}\n","import { ChangeDetectionStrategy, Component } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { Store } from '@ngrx/store';\nimport {\n ILiveView,\n selectLiveViews\n} from '@app/store/reducers/live-sharing.reducer';\nimport { InAppState, NavigationPage } from '@app/app.types';\nimport { BadgeUtils, UserRole } from 'proceduralsystem-cbs-common-components';\n\n@Component({\n selector: 'oir-active-users',\n templateUrl: './active-users.component.html',\n styleUrls: ['./active-users.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class ActiveUsersComponent {\n activeUsers$: Observable = this.store.select(selectLiveViews);\n\n BadgeUtils = BadgeUtils;\n NavigationPage = NavigationPage;\n UserRole = UserRole;\n\n constructor(private readonly store: Store) {}\n}\n","
\n
\n

{{ 'ACTIVE_USERS.TITLE' | translate }}

\n close\n
\n
\n \n 0; else noItems\">\n
\n 0\">\n
\n
\n \n
CC
\n \n
\n \n
{{ BadgeUtils.getCredentials(item.user) }}
\n \n
\n
\n
\n \n
\n
\n
\n
\n
\n
\n
\n\n\n

{{ 'ACTIVE_USERS.NO_ITEMS' | translate }}

\n
\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { ActiveUsersComponent } from './active-users.component';\nimport { ProceduralsystemClientcomponentsModule } from 'proceduralsystem-clientcomponents';\nimport { MatIconModule } from '@angular/material/icon';\nimport { TranslateModule } from '@ngx-translate/core';\nimport { MatDialogModule } from '@angular/material/dialog';\nimport { MatDividerModule } from '@angular/material/divider';\nimport { ActiveUserPathMessageComponent } from './components/active-user-path-message/active-user-path-message.component';\n\n@NgModule({\n declarations: [ActiveUsersComponent, ActiveUserPathMessageComponent],\n imports: [\n CommonModule,\n ProceduralsystemClientcomponentsModule,\n MatIconModule,\n MatDialogModule,\n TranslateModule,\n MatDividerModule\n ],\n exports: [ActiveUsersComponent]\n})\nexport class ActiveUsersModule {}\n","import { Injectable } from '@angular/core';\nimport { Observable, shareReplay } from 'rxjs';\nimport { OirHttpService } from 'proceduralsystem-clientcomponents';\nimport { ILiveView } from '@app/store/reducers/live-sharing.reducer';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class ActiveUsersService {\n constructor(private oirHttp: OirHttpService) {}\n\n fetchLiveViewData(): Observable {\n return this.oirHttp\n .get('/api/LiveSharing/getLiveViews')\n .pipe(shareReplay(1));\n }\n}\n","import { Component, ChangeDetectionStrategy, Input } from '@angular/core';\nimport { NavigationPage, PageTitle } from '@app/app.types';\nimport { ILiveView } from '@app/store/reducers/live-sharing.reducer';\nimport { TranslateService } from '@ngx-translate/core';\nimport { ILiveViewData } from '@app/pages/business-item-view/business-item-view.types';\nimport { LanguageType } from 'proceduralsystem-cbs-common-components';\n\n@Component({\n selector: 'oir-active-user-path-message',\n templateUrl: './active-user-path-message.component.html',\n styleUrls: ['./active-user-path-message.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class ActiveUserPathMessageComponent {\n titlePath: string;\n body: string;\n subPath: string;\n\n @Input() set data(value: ILiveView) {\n if (!value) {\n return;\n }\n\n switch (value.page) {\n case NavigationPage.Schedule:\n this.titlePath = this.translate.instant(value.data.pageName);\n this.body = value.data.tabName;\n break;\n case NavigationPage.ReferenceNotes:\n this.body = value.data.pageName;\n break;\n case NavigationPage.BusinessItemView:\n this.processBusinessItemView(value.data);\n break;\n case NavigationPage.SOSView:\n this.processBusinessItemView(value.data);\n break;\n default:\n this.body = value.page;\n break;\n }\n }\n\n constructor(private translate: TranslateService) {}\n\n private processBusinessItemView(data: ILiveViewData): void {\n if (data) {\n const biInfoName =\n this.translate.currentLang == LanguageType.en\n ? data.businessItemInfo.titleEng\n : data.businessItemInfo.titleGle;\n const biInfoTitle =\n this.translate.currentLang == LanguageType.en\n ? data.businessItemInfo.workItemTitleEng\n : data.businessItemInfo.workItemTitleGle;\n const tabName: string = data.tabName ? this.translate.instant(data.tabName) : null;\n const subTabName: string = data.subTabName ? this.translate.instant(data.subTabName) : null;\n\n const schedulePathPrefix = [this.translate.instant(PageTitle.Schedule), this.translate.instant('SCHEDULE.TAB.DAIL')]\n this.titlePath = (\n biInfoTitle\n ? [...schedulePathPrefix , biInfoName]\n : [...schedulePathPrefix]\n ).join(' > ');\n\n this.body = biInfoTitle ? biInfoTitle : biInfoName;\n\n this.subPath = (subTabName ? [tabName, subTabName] : [tabName]).join(\n ' > '\n );\n }\n }\n}\n","
\n

{{ titlePath }}

\n

\n {{ body | htmlToText | translate }}\n - {{ subPath }}\n

\n
\n","import {\n AfterContentChecked,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ElementRef,\n ViewChild,\n OnDestroy\n} from '@angular/core';\nimport { FormControl, FormGroup, Validators } from '@angular/forms';\nimport { Observable, Subject } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\nimport { Store } from '@ngrx/store';\nimport { selectChamberUser } from '@app/store/reducers/live-sharing.reducer';\nimport { selectChatMessages } from '@app/store/reducers/chat.reducer';\nimport {\n UserRole,\n CBSValidators\n} from 'proceduralsystem-cbs-common-components';\nimport { InAppState } from '@app/app.types';\nimport { IChatMessage } from '@shared/components/chat/chat.types';\nimport { ChatService } from '@shared/components/chat/chat.service';\n\n@Component({\n selector: 'oir-chat',\n templateUrl: './chat.component.html',\n styleUrls: ['./chat.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class ChatComponent implements AfterContentChecked, OnDestroy {\n @ViewChild('chatBody', { static: true })\n private chatBodyScrollContainer: ElementRef;\n private destroy$ = new Subject();\n\n MESSAGE_MAX_LENGTH = 1500;\n\n form = new FormGroup({\n messageBox: new FormControl(\n '',\n Validators.compose([\n Validators.required,\n Validators.minLength(2),\n Validators.maxLength(this.MESSAGE_MAX_LENGTH),\n CBSValidators.NotEmpty\n ])\n )\n });\n userFullName: string;\n messages$: Observable = this.store.select(selectChatMessages);\n quickReplies$: Observable = this.chatService.fetchQuickReplies();\n disableScrollDown = false;\n\n constructor(\n private chatService: ChatService,\n private store: Store,\n private cd: ChangeDetectorRef\n ) {\n this.store\n .select(selectChamberUser)\n .pipe(takeUntil(this.destroy$))\n .subscribe(v => {\n this.userFullName =\n v.role === UserRole.CeannComhairle ? 'CHAT.CHAIR.USER_NAME' : v.name;\n });\n }\n\n // This method does check if happened action scroll top,\n // if yes then when the user types a message not happening\n // scrolling bottom\n onScroll() {\n const element = this.chatBodyScrollContainer.nativeElement;\n const atBottom =\n element.scrollHeight - element.scrollTop === element.clientHeight;\n this.disableScrollDown = !atBottom;\n }\n\n scrollToBottom(disableScrollDown = false) {\n if (disableScrollDown) {\n return;\n }\n this.chatBodyScrollContainer.nativeElement.scrollTop =\n this.chatBodyScrollContainer.nativeElement.scrollHeight;\n this.cd.detectChanges();\n }\n\n ngOnDestroy(): void {\n this.destroy$.complete();\n }\n\n ngAfterContentChecked(): void {\n this.scrollToBottom(this.disableScrollDown);\n }\n\n onSend(): void {\n this.sendMessage(this.form.get('messageBox').value);\n }\n\n onQuickReplies(quickReply: string) {\n this.sendMessage(quickReply);\n }\n\n private sendMessage(message: string) {\n this.disableScrollDown = false;\n this.chatService\n .sendMessage({\n message,\n userFullName: this.userFullName\n })\n .subscribe(result => {\n if (result) {\n this.form.reset();\n this.scrollToBottom();\n }\n });\n }\n}\n","
\n
\n

{{ 'CHAT.TITLE' | translate }}

\n close\n
\n
\n
\n \n \n
\n
\n
\n
\n \n \n \n
\n \n \n {{ reply | translate }}\n \n \n \n
\n
\n","import { NgModule } from '@angular/core';\nimport { CommonModule, DatePipe } from '@angular/common';\nimport { ProceduralsystemClientcomponentsModule } from 'proceduralsystem-clientcomponents';\nimport { MatIconModule } from '@angular/material/icon';\nimport { MatButtonModule } from '@angular/material/button';\nimport { ChatComponent } from './chat.component';\nimport { MatSlideToggleModule } from '@angular/material/slide-toggle';\nimport { TextFieldModule } from '@angular/cdk/text-field';\nimport { TranslateModule } from '@ngx-translate/core';\nimport { MatChipsModule } from '@angular/material/chips';\nimport { MatFormFieldModule } from '@angular/material/form-field';\nimport { MatInputModule } from '@angular/material/input';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { MatDialogModule } from '@angular/material/dialog';\nimport { ChairViewComponent } from './components/chair-view/chair-view.component';\nimport { ChatButtonComponent } from './components/chat-button/chat-button.component';\nimport { ChatMessageComponent } from './components/chat-message/chat-message.component';\n\n@NgModule({\n declarations: [\n ChatComponent,\n ChairViewComponent,\n ChatMessageComponent,\n ChatButtonComponent\n ],\n imports: [\n CommonModule,\n ProceduralsystemClientcomponentsModule,\n MatIconModule,\n MatButtonModule,\n MatSlideToggleModule,\n TextFieldModule,\n TranslateModule,\n MatChipsModule,\n MatFormFieldModule,\n MatInputModule,\n FormsModule,\n ReactiveFormsModule,\n MatDialogModule\n ],\n providers: [DatePipe],\n exports: [ChatButtonComponent]\n})\nexport class ChatModule {}\n","import { Injectable } from '@angular/core';\nimport { Observable, of, shareReplay } from 'rxjs';\nimport { tap } from 'rxjs/operators';\nimport { Store } from '@ngrx/store';\nimport { TranslateService } from '@ngx-translate/core';\nimport {\n OirHttpService,\n ToastNotificationsService\n} from 'proceduralsystem-clientcomponents';\nimport { InAppState } from '@app/app.types';\nimport {\n IChatMessage,\n IChatResponse\n} from '@shared/components/chat/chat.types';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class ChatService {\n constructor(\n private oirHttp: OirHttpService,\n private store: Store,\n private toastService: ToastNotificationsService,\n private translate: TranslateService\n ) {}\n\n fetchChatData(): Observable {\n return this.oirHttp.get('/api/chat').pipe(shareReplay(1));\n }\n\n fetchQuickReplies(): Observable {\n return of(this.translate.instant('SCHEDULE.CHAT.QUICK_REPLIES'));\n }\n\n sendMessage(message: IChatMessage): Observable {\n return this.oirHttp\n .post({\n path: '/api/chat',\n body: {\n ...message,\n isUrgent: message.isUrgent || false\n }\n })\n .pipe(\n tap(result => {\n if (!result) {\n this.toastService.addNotification({\n title: 'COMMON.REQUESTERROR',\n error: 'COMMON.REQUESTERRORDESCRIPTION'\n });\n }\n })\n );\n }\n\n acknowledgeMessage(id: number): Observable {\n return this.oirHttp.put({ path: '/api/chat', body: { id } }).pipe(\n tap(result => {\n if (!result) {\n this.toastService.addNotification({\n title: 'COMMON.REQUESTERROR',\n error: 'COMMON.REQUESTERRORDESCRIPTION'\n });\n }\n })\n );\n }\n}\n","import { UserRole } from 'proceduralsystem-cbs-common-components';\n\nexport enum ChatStatus {\n NotActive,\n Active,\n Completed\n}\n\nexport interface IChatMessage {\n id?: number;\n userId?: string;\n userFullName: string;\n userRole?: UserRole;\n message: string;\n timestamp?: string;\n isUrgent?: boolean;\n isAcknowledged?: boolean;\n}\n\nexport interface IChatResponse {\n videoUrl: string;\n stateId: ChatStatus;\n messages: IChatMessage[];\n}\n","import {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n EventEmitter,\n Input,\n Output\n} from '@angular/core';\nimport { MatSlideToggleChange } from '@angular/material/slide-toggle';\nimport { selectVideoUrl } from '@app/store/reducers/chat.reducer';\nimport { Store } from '@ngrx/store';\nimport { InAppState } from '@app/app.types';\n\n@Component({\n selector: 'oir-chair-view',\n templateUrl: './chair-view.component.html',\n styleUrls: ['./chair-view.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class ChairViewComponent {\n private player: amp.Player;\n\n @Input() set isChairViewOpen(value: boolean) {\n this.isChairView = value;\n this.cd.detectChanges();\n if (value) {\n if (!this.player) {\n this.initPlayer();\n }\n this.player.play();\n }\n }\n @Output() toggleChairView = new EventEmitter();\n\n videoUrl: string;\n isChairView: boolean;\n\n constructor(private store: Store, private cd: ChangeDetectorRef) {\n this.store.select(selectVideoUrl).subscribe(v => (this.videoUrl = v));\n }\n\n changeChairView(event: MatSlideToggleChange) {\n this.toggleChairView.emit(event.checked);\n if (!event.checked && this.player) {\n this.player.pause();\n }\n }\n\n private initPlayer() {\n this.player = amp('player', {\n controls: true,\n customPlayerSettings: { nativeControlsForTouch: false },\n autoplay: false,\n logo: { enabled: false },\n poster: './assets/images/oireachtas_tv.jpg'\n });\n this.player.src([{ src: this.videoUrl, type: 'video/mp4' }]);\n }\n}\n","
\n
\n
\n {{ 'CHAT.CHAIR_VIEW.TITLE' | translate }}\n
\n \n
\n
\n \n
\n
\n","import { ChangeDetectionStrategy, Component, Input } from '@angular/core';\nimport { MatDialog } from '@angular/material/dialog';\nimport { DialogPosition } from 'proceduralsystem-clientcomponents';\nimport { ChatComponent } from '../../chat.component';\nimport { ChatButtonPosition } from './chat-button.type';\nimport { Store } from '@ngrx/store';\nimport { selectChatMessages } from '@app/store/reducers/chat.reducer';\nimport { IChatMessage } from '../../chat.types';\n\n@Component({\n selector: 'oir-chat-button',\n templateUrl: './chat-button.component.html',\n styleUrls: ['./chat-button.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class ChatButtonComponent {\n @Input() chatButtonPosition = ChatButtonPosition.right;\n\n private isInit = false;\n private isChatOpen = false;\n\n constructor(private matDialog: MatDialog, private store: Store) {\n this.store.select(selectChatMessages).subscribe((v: IChatMessage[] | null) => {\n if (v && !this.isInit) {\n this.isInit = true;\n } else if (this.isInit && !this.isChatOpen) {\n this.openChat();\n }\n });\n }\n\n openChat() {\n this.isChatOpen = true;\n\n const dialogRef = this.matDialog.open(ChatComponent, {\n hasBackdrop: true,\n position: DialogPosition.TOP_RIGHT,\n panelClass: 'sidebar-dialog',\n backdropClass: 'sidebar-dialog-overlay-dark',\n disableClose: true\n });\n\n dialogRef.afterClosed().subscribe(() => {\n this.isChatOpen = false;\n });\n }\n}\n","
\n \n
\n","import { ScheduleStatusId } from 'proceduralsystem-cbs-common-components';\n\nexport enum ChatButtonPosition {\n left = 'left',\n right = 'right'\n}\n\nexport const ScheduleChatStatuses = [\n ScheduleStatusId.InProgress,\n ScheduleStatusId.Suspended\n];\n","import { ChangeDetectionStrategy, Component, Input } from '@angular/core';\nimport { IChatMessage } from '../../chat.types';\n\n@Component({\n selector: 'oir-chat-message',\n templateUrl: './chat-message.component.html',\n styleUrls: ['./chat-message.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class ChatMessageComponent {\n @Input() message: IChatMessage;\n @Input() userFullName: string;\n}\n","
\n
\n
\n
\n {{ message.message }}\n
\n
\n
\n
\n {{ message.userFullName | translate }}\n
\n
\n {{ message.timestamp | date: 'hh:mm' }}\n
\n
\n
\n
\n","import {\n ChangeDetectionStrategy,\n Component,\n EventEmitter,\n Output\n} from '@angular/core';\nimport { Store } from '@ngrx/store';\nimport {\n IChamberUser,\n UserRole,\n BadgeUtils\n} from 'proceduralsystem-cbs-common-components';\nimport { InAppState } from '@app/app.types';\nimport { selectChamberUser } from '@app/store/reducers/live-sharing.reducer';\n\n@Component({\n selector: 'oir-chamber-user-info',\n templateUrl: './chamber-user-info.component.html',\n styleUrls: ['./chamber-user-info.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class ChamberUserInfoComponent {\n @Output() clockOut: EventEmitter = new EventEmitter();\n @Output() clockIn: EventEmitter = new EventEmitter();\n @Output() close: EventEmitter = new EventEmitter();\n\n chamberUser$ = this.store.select(selectChamberUser);\n expanded = false;\n BadgeUtils = BadgeUtils;\n UserRole = UserRole;\n\n constructor(private store: Store) {}\n\n processClockOut(user: IChamberUser): void {\n if (user.role === UserRole.ChamberClerk) {\n this.clockOut.emit();\n }\n }\n\n processClockIn(): void {\n this.clockIn.emit();\n }\n}\n","
\n
\n {{ BadgeUtils.getCredentials(user) }}\n
\n\n
\n
\n","import { ChangeDetectionStrategy, Component, Input } from '@angular/core';\nimport { FormControl, FormGroup } from '@angular/forms';\n\n@Component({\n selector: 'oir-switch-user-dialog',\n templateUrl: './switch-user.component.html',\n styleUrls: ['./switch-user.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class SwitchUserComponent {\n @Input() type: 'clock-in' | 'clock-out';\n form = new FormGroup({\n clerk: new FormControl()\n });\n}\n","
\n
\n

\n {{ (type == 'clock-in' ? 'COMMON.CLOCK_IN' : 'COMMON.CLOCK_OUT') | translate }}\n

\n close\n
\n\n \n
\n \n \n \n \n
\n
\n \n \n {{ 'COMMON.CANCEL' | translate | uppercase }}\n \n \n {{ (type == 'clock-in' ? 'COMMON.CLOCK_IN' : 'COMMON.CLOCK_OUT') | translate | uppercase }}\n \n \n
\n","import {\n Component,\n ChangeDetectionStrategy,\n ChangeDetectorRef\n} from '@angular/core';\nimport { Store } from '@ngrx/store';\nimport {\n DialogPosition,\n OirAuthService\n} from 'proceduralsystem-clientcomponents';\nimport {\n AccessOperation,\n DiscardChangesDialogComponent,\n IBackButton,\n UserRole\n} from 'proceduralsystem-cbs-common-components';\nimport { InAppState, NavigationPage } from '@app/app.types';\nimport { InCbsNavigationService } from '@app/services/in-cbs-navigation.service';\nimport { selectChamberUser } from '@app/store/reducers/live-sharing.reducer';\nimport { InCbsUserService } from '@app/services/in-cbs-user.service';\nimport { MatDialog } from '@angular/material/dialog';\nimport { ActiveUsersComponent } from '../active-users/active-users.component';\n\n@Component({\n selector: 'oir-header-bar',\n templateUrl: './header-bar.component.html',\n styleUrls: ['./header-bar.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class HeaderBarComponent {\n accessOperations: AccessOperation[] = [];\n\n constructor(\n public navigationService: InCbsNavigationService,\n private dialog: MatDialog,\n private authService: OirAuthService,\n private inCbsUserService: InCbsUserService,\n private store: Store,\n private cd: ChangeDetectorRef\n ) {\n if (\n this.authService.hasSomeRoles([\n UserRole.CeannComhairle,\n UserRole.ChamberClerk\n ])\n ) {\n this.store.select(selectChamberUser).subscribe(user => {\n if (user) {\n this.accessOperations = [AccessOperation.View];\n this.cd.markForCheck();\n }\n });\n }\n }\n\n clockOutUser(): void {\n this.inCbsUserService.openUserClockOutDialog();\n }\n\n clockInUser(): void {\n this.inCbsUserService.openUserClockInDialog();\n }\n\n onBackButtonClick(options: IBackButton): void {\n // Ignore pages as it has own Guard implementation and has unsaved\n if (\n ![NavigationPage.BusinessItemView].includes(\n this.navigationService.currentPage$.value as NavigationPage\n ) &&\n this.navigationService.unsavedChanges$.value\n ) {\n const dialogRef = this.dialog.open(DiscardChangesDialogComponent, {\n hasBackdrop: true,\n disableClose: true,\n position: DialogPosition.CENTER,\n panelClass: 'dialog-mat'\n });\n dialogRef.afterClosed().subscribe(result => {\n if (result) {\n this.navigationService.navigateBackBasedOnParentRoute(options.path);\n }\n });\n } else {\n this.navigationService.navigateBackBasedOnParentRoute(options.path);\n }\n }\n\n openActiveUsers(): void {\n this.dialog.open(ActiveUsersComponent, {\n hasBackdrop: true,\n position: DialogPosition.TOP_RIGHT,\n panelClass: 'sidebar-dialog',\n backdropClass: 'sidebar-dialog-overlay-dark'\n });\n }\n}\n","
\n
\n 0 && navigationService.backOptions$ | async; let options\">\n \n \n
\n
\n \n
groups
\n 0\">\n \n \n \n \n
\n
\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { ReactiveFormsModule } from '@angular/forms';\nimport { MatIconModule } from '@angular/material/icon';\nimport { MatButtonModule } from '@angular/material/button';\nimport { MatDialogModule } from '@angular/material/dialog';\nimport { MatSelectModule } from '@angular/material/select';\nimport { MatInputModule } from '@angular/material/input';\nimport { TranslateModule } from '@ngx-translate/core';\nimport { ProceduralsystemClientcomponentsModule } from 'proceduralsystem-clientcomponents';\nimport { ProceduralsystemCbsCommonComponentsModule } from 'proceduralsystem-cbs-common-components';\nimport { SwitchUserComponent } from './components/dialog/switch-user/switch-user.component';\nimport { HeaderBarComponent } from './header-bar.component';\nimport { ChamberUserInfoComponent } from './components/chamber-info/chamber-user-info.component';\n\n@NgModule({\n imports: [\n CommonModule,\n TranslateModule,\n ProceduralsystemClientcomponentsModule,\n ProceduralsystemCbsCommonComponentsModule,\n MatIconModule,\n MatButtonModule,\n MatDialogModule,\n MatSelectModule,\n MatInputModule,\n ReactiveFormsModule\n ],\n declarations: [\n HeaderBarComponent,\n SwitchUserComponent,\n ChamberUserInfoComponent\n ],\n exports: [HeaderBarComponent, SwitchUserComponent]\n})\nexport class HeaderBarModule {}\n","import { ChangeDetectionStrategy, Component } from '@angular/core';\nimport { selectChamberUser } from '@app/store/reducers/live-sharing.reducer';\nimport { UserRole } from 'proceduralsystem-cbs-common-components';\nimport { OirAuthService } from 'proceduralsystem-clientcomponents';\nimport { InCbsUserService } from '@app/services/in-cbs-user.service';\nimport { Store } from '@ngrx/store';\nimport { InAppState } from '@app/app.types';\n\n@Component({\n selector: 'in-chamber-no-access-page',\n templateUrl: './in-chamber-no-access-page.component.html',\n styleUrls: ['./in-chamber-no-access-page.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class InChamberNoAccessPageComponent {\n hasUserSelected = true;\n\n constructor(\n private authService: OirAuthService,\n private inCbsUserService: InCbsUserService,\n private store: Store\n ) {\n if (\n this.authService.hasSomeRoles([\n UserRole.CeannComhairle,\n UserRole.ChamberClerk\n ])\n ) {\n this.store.select(selectChamberUser).subscribe(user => {\n this.hasUserSelected = !!user;\n \n if (!user) {\n this.inCbsUserService.openUserClockInDialog();\n }\n });\n }\n }\n}\n","
\n \n

{{ 'ERROR.NO_ACCESS.TITLE' | translate }}

\n

{{ 'ERROR.NO_ACCESS.DESCRIPTION' | translate }}

\n
\n \n

{{ 'ERROR.NO_ACCESS.DESCRIPTION' | translate }}

\n
\n
\n","import {\n ChangeDetectionStrategy,\n Component,\n Input,\n ChangeDetectorRef\n} from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { TranslateService } from '@ngx-translate/core';\nimport {\n ApplicationEntry,\n DialogPosition,\n OirDialogService,\n EnvironmentColourEnum,\n ConfigurationService\n} from 'proceduralsystem-clientcomponents';\nimport {\n TabSessionStorageName,\n SubTabSessionStorageName,\n SessionStorageUtils,\n AppConfig\n} from 'proceduralsystem-cbs-common-components';\nimport { InChamberSideNavigationService } from './in-chamber-side-navigation.service';\n\n@Component({\n selector: 'oir-in-chamber-side-navigation',\n templateUrl: './in-chamber-side-navigation.component.html',\n styleUrls: ['./in-chamber-side-navigation.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class InChamberSideNavigationComponent {\n @Input() collapsed = false;\n otherApps$: Observable =\n this.navigationService.fetchUserApplications();\n applicationSelectExpanded = false;\n\n constructor(\n public readonly navigationService: InChamberSideNavigationService,\n private readonly configuration: ConfigurationService,\n private readonly translate: TranslateService,\n private readonly oirDialogService: OirDialogService,\n private readonly cd: ChangeDetectorRef\n ) {}\n\n navigate(url: string): void {\n window.location.href = url;\n }\n\n toggleApplicationSelect(): void {\n this.applicationSelectExpanded = !this.applicationSelectExpanded;\n this.cd.detectChanges();\n }\n\n switchApplication(app: ApplicationEntry): void {\n const confirmButton = 'SWITCHAPP.BUTTON.SWITCH';\n\n this.oirDialogService\n .open({\n title: 'SWITCHAPP.DIALOG.TITLE',\n message: this.translate.instant('SWITCHAPP.DIALOG.MESSAGE', [\n app.title\n ]),\n cancelButton: { name: 'COMMON.CANCEL' },\n confirmButton: { name: confirmButton },\n position: DialogPosition.CENTER\n })\n .subscribe(res => {\n this.toggleApplicationSelect();\n if (res === confirmButton) {\n this.navigate(app.path);\n }\n });\n }\n\n clearSessionTabs(): void {\n SessionStorageUtils.saveUserData(0, TabSessionStorageName);\n SessionStorageUtils.saveUserData(0, SubTabSessionStorageName);\n }\n\n getEnvironmentColour(): string {\n const endpoint = this.configuration.getValue('CommsEndpoint');\n const env = endpoint ? endpoint.url : '';\n let environmentColour: string;\n switch (true) {\n case env.includes('dev'):\n environmentColour = EnvironmentColourEnum.Development;\n break;\n case env.includes('localhost'):\n environmentColour = EnvironmentColourEnum.Development;\n break;\n case env.includes('systemtest'):\n environmentColour = EnvironmentColourEnum.SystemTest;\n break;\n case env.includes('bpt'):\n environmentColour = EnvironmentColourEnum.Bpt;\n break;\n case env.includes('prelive'):\n environmentColour = EnvironmentColourEnum.Prelive;\n break;\n default:\n environmentColour = EnvironmentColourEnum.Default;\n }\n\n return environmentColour;\n }\n}\n","
\n
\n
    \n
  • \n
    \n
  • \n
  • \n
    \n
    {{ 'APPLICATION.MODULE.TITLE' | translate }}
    \n
    {{ 'APPLICATION.MODULE.SWITCHAPP' | translate }}
    \n
    \n
    \n \"\"\n
    \n
  • \n\n
    \n
  • \n
    \n
    {{ otherApp.title }}
    \n
    \n
  • \n
    \n\n \n \n
  • \n
    \n {{ node.icon }}\n
    \n
    \n
    \n
    {{ node.title | translate }}
    \n
    \n
    \n
  • \n
    \n
    \n
\n
\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { RouterModule } from '@angular/router';\nimport { MatIconModule } from '@angular/material/icon';\nimport { TranslateModule } from '@ngx-translate/core';\nimport { LiveBadgeModule } from 'proceduralsystem-cbs-common-components';\nimport { ProceduralsystemClientcomponentsModule } from 'proceduralsystem-clientcomponents';\nimport { InChamberSideNavigationComponent } from './in-chamber-side-navigation.component';\n\n@NgModule({\n imports: [\n CommonModule,\n TranslateModule,\n RouterModule,\n MatIconModule,\n ProceduralsystemClientcomponentsModule,\n LiveBadgeModule\n ],\n declarations: [InChamberSideNavigationComponent],\n exports: [InChamberSideNavigationComponent]\n})\nexport class InChamberSideNavigationModule {}\n","import { Injectable } from '@angular/core';\nimport { Observable, shareReplay } from 'rxjs';\nimport {\n Navigation,\n NavigationService,\n ApplicationEntry\n} from 'proceduralsystem-clientcomponents';\n\n@Injectable({ providedIn: 'root' })\nexport class InChamberSideNavigationService {\n constructor(private navigationService: NavigationService) {}\n\n fetchUserApplications(): Observable {\n return this.navigationService.fetchUserApplications().pipe(shareReplay(1));\n }\n\n getNavigationModel(): Observable {\n return this.navigationService.navModel$;\n }\n}\n","import {\n Component,\n ChangeDetectionStrategy,\n Inject,\n OnDestroy,\n ChangeDetectorRef\n} from '@angular/core';\nimport { MAT_DIALOG_DATA } from '@angular/material/dialog';\nimport { FormGroup, FormControl, Validators } from '@angular/forms';\nimport { Subject } from 'rxjs';\nimport {\n distinctUntilChanged,\n combineLatestWith,\n startWith,\n takeUntil\n} from 'rxjs/operators';\nimport {\n DIVISION_TYPE_OPTIONS,\n MAX_DIVISION_DURATION,\n DIVISION_BELL_OPTIONS,\n ICallDivisionDialogData,\n DIVISION_DEFAULT_DURATION,\n DivisionBellType\n} from './call-division-bell-dialog.types';\nimport { TranslateService } from '@ngx-translate/core';\nimport { ChamberBellSubTypeId } from 'proceduralsystem-cbs-common-components';\nimport { BellService } from '@app/services/bell.service';\nimport { SelectValue } from 'proceduralsystem-clientcomponents';\n\n@Component({\n selector: 'oir-call-division-bell-dialog',\n templateUrl: './call-division-bell-dialog.component.html',\n styleUrls: ['./call-division-bell-dialog.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class CallDivisionBellDialogComponent implements OnDestroy {\n private _destroy$: Subject = new Subject();\n\n OPTIONS = DIVISION_TYPE_OPTIONS;\n BELL_OPTIONS = DIVISION_BELL_OPTIONS.map(v => ({\n ...v,\n title: this.translate.instant(v.title)\n }));\n ChamberBellSubTypeId = ChamberBellSubTypeId;\n\n divisionForm: FormGroup;\n stageList: SelectValue[] = [];\n availableSubtypes: ChamberBellSubTypeId[] = [];\n\n constructor(\n @Inject(MAT_DIALOG_DATA) public data: ICallDivisionDialogData,\n private cd: ChangeDetectorRef,\n private readonly translate: TranslateService,\n private readonly bellService: BellService\n ) {\n this.createFormGroup();\n this.listenToFormValues();\n this.handleDialogData();\n }\n\n ngOnDestroy(): void {\n this._destroy$.next();\n this._destroy$.complete();\n }\n\n resetForm(): void {\n this.divisionForm.reset({\n duration: DIVISION_DEFAULT_DURATION,\n stage: null\n });\n }\n\n private handleDialogData(): void {\n if (this.data && this.data.context) {\n if (this.data.context.bells) {\n this.availableSubtypes = this.data.context.bells.map(\n bell => bell.chamberBellSubTypeId\n );\n }\n if (this.data.context.scheduleId) {\n this.getStages(this.data.context.scheduleId);\n }\n }\n }\n\n private createFormGroup(): void {\n this.divisionForm = new FormGroup({\n type: new FormControl(null, Validators.required),\n bellType: new FormControl(null, Validators.required),\n stage: new FormControl(null, Validators.required),\n duration: new FormControl(DIVISION_DEFAULT_DURATION, [\n Validators.required,\n Validators.max(MAX_DIVISION_DURATION),\n Validators.min(\n (this.data.context && this.data.context.minDuration) || 1\n ),\n Validators.pattern('^(0|[1-9][0-9]*)$')\n ]),\n associatedDivision: new FormControl(false)\n });\n }\n\n private listenToFormValues(): void {\n this.divisionForm\n .get('type')\n .valueChanges.pipe(\n distinctUntilChanged(),\n combineLatestWith(\n this.divisionForm\n .get('associatedDivision')\n .valueChanges.pipe(distinctUntilChanged(), startWith(null))\n ),\n takeUntil(this._destroy$)\n )\n .subscribe(([type, toggleValue]) => {\n const stageCtrl = this.divisionForm.get('stage');\n\n if (type === DIVISION_TYPE_OPTIONS[0].value) {\n this.divisionForm.enable();\n this.divisionForm.get('duration').patchValue(0);\n this.divisionForm.get('duration').disable();\n this.divisionForm.get('associatedDivision').disable();\n } else if (type === DIVISION_TYPE_OPTIONS[1].value) {\n this.divisionForm.enable();\n this.divisionForm\n .get('duration')\n .patchValue(DIVISION_DEFAULT_DURATION);\n stageCtrl.disable();\n\n if (\n !this.availableSubtypes.includes(\n ChamberBellSubTypeId.DivisionGuillotine\n )\n ) {\n this.divisionForm.get('associatedDivision').disable();\n }\n } else {\n this.divisionForm.disable();\n this.divisionForm.get('type').enable();\n }\n\n if (toggleValue && this.data.context) {\n stageCtrl.enable();\n }\n\n if (!this.stageList.length) {\n stageCtrl.reset(null, { emitEvent: false });\n stageCtrl.disable();\n } else if (this.stageList.length === 1 && stageCtrl.enabled) {\n stageCtrl.setValue(this.stageList[0]);\n stageCtrl.disable();\n }\n });\n\n this.divisionForm\n .get('bellType')\n .valueChanges.pipe(distinctUntilChanged(), takeUntil(this._destroy$))\n .subscribe((bellType: SelectValue) => {\n switch (bellType && bellType.value) {\n case DivisionBellType.Long:\n this.resetDurationMinValidator(11);\n return;\n case DivisionBellType.Manual:\n this.resetDurationMinValidator(7);\n return;\n case DivisionBellType.Short:\n this.resetDurationMinValidator(4);\n return;\n default:\n this.resetDurationMinValidator(3);\n return;\n }\n });\n }\n\n private resetDurationMinValidator(minDuration: number): void {\n const durationCtrl = this.divisionForm.get('duration');\n\n durationCtrl.clearValidators();\n durationCtrl.addValidators([\n Validators.required,\n Validators.min(minDuration),\n Validators.max(MAX_DIVISION_DURATION),\n Validators.pattern('^(0|[1-9][0-9]*)$')\n ]);\n durationCtrl.updateValueAndValidity();\n }\n\n private getStages(scheduleId: number): void {\n this.bellService.getDivisionStage(scheduleId).subscribe(resp => {\n this.stageList =\n resp.stages.map(stage => ({\n ...{ title: stage.name, value: stage.id }\n })) || [];\n this.cd.detectChanges();\n });\n }\n}\n","
\n\t
\n\t\t

{{ data.title | translate }}

\n\t\tclose\n
\n \n\t\n\t\t
\n\t\t\t\n
\n\n
\n\n \n \n
\n {{ \"COMMON.OR\" | translate }}\n
\n \n

{{ option.title | translate }}

\n \n
\n
\n\n
\n \n \n\n \n \n \n \n \n {{ 'CALL_DIVISION_DIALOG.DURATION.LABEL' | translate }}\n \n {{ 'CALL_DIVISION_DIALOG.DURATION.HINT' | translate }}\n \n {{ 'CALL_DIVISION_DIALOG.DURATION.HINT' | translate }}\n
\n {{ 'CALL_DIVISION_DIALOG.DURATION.ERROR' | translate }}\n
\n \n
\n\n
\n
\n \n {{ \"CALL_DIVISION_DIALOG.ASSOCIATE_DIVISION.LABEL\" | translate}}\n \n

\n {{ data.context.businessItemName }}\n

\n
\n
\n \n
\n
\n \n
\n
\n\n
\n
\n \n arrow_back\n \n
\n
\n
\n
\n
\n\n \n {{ data.cancelButton.name | translate | uppercase }}\n {{ data.confirmButton.name | translate | uppercase}}\n \n
\n
\n\n\n \n \n","import { BellOptionMenuItem } from '@app/shared/components/bell-options-menu/bell-options-menu.types';\nimport { ChamberBellTimeTypeId } from 'proceduralsystem-cbs-common-components';\nimport { IOirDialogData } from 'proceduralsystem-clientcomponents';\n\nexport const MAX_DIVISION_DURATION = 99;\nexport const DIVISION_DEFAULT_DURATION = 20;\n\nexport enum DivisionBellType {\n Long = 1,\n Manual,\n Short,\n Shorter\n}\n\nexport enum DIVISION_TYPE_OPTIONS_VALUES {\n VAL_1 = 1,\n VAL_2\n}\n\nexport const DIVISION_TYPE_OPTIONS = [\n {\n title: 'CALL_BELL_DIALOG.CHOICE.OPTION_1',\n value: DIVISION_TYPE_OPTIONS_VALUES.VAL_1\n },\n {\n title: 'CALL_BELL_DIALOG.CHOICE.OPTION_2',\n value: DIVISION_TYPE_OPTIONS_VALUES.VAL_2\n }\n];\n\nexport const DIVISION_BELL_OPTIONS = [\n {\n title: 'CALL_DIVISION_DIALOG.BELL_TYPE.OPTION_1',\n value: DivisionBellType.Long\n },\n {\n title: 'CALL_DIVISION_DIALOG.BELL_TYPE.OPTION_2',\n value: DivisionBellType.Manual\n },\n {\n title: 'CALL_DIVISION_DIALOG.BELL_TYPE.OPTION_3',\n value: DivisionBellType.Short\n },\n {\n title: 'CALL_DIVISION_DIALOG.BELL_TYPE.OPTION_4',\n value: DivisionBellType.Shorter\n }\n];\n\nexport interface ICallDivisionDialogData extends IOirDialogData {\n context?: {\n businessItemName?: string;\n minDuration?: number;\n bells?: BellOptionMenuItem[];\n scheduleId?: number;\n };\n}\n\nexport interface DivisionConfirmDialogData {\n type: DIVISION_TYPE_OPTIONS_VALUES;\n bellType: { value: ChamberBellTimeTypeId };\n stage: { value?: number };\n duration: string;\n associatedDivision?: boolean;\n}\n","import {\n Component,\n ChangeDetectionStrategy,\n Inject,\n OnDestroy\n} from '@angular/core';\nimport { MAT_DIALOG_DATA } from '@angular/material/dialog';\nimport { FormGroup, FormControl, Validators } from '@angular/forms';\nimport {\n Subject,\n distinctUntilChanged,\n pairwise,\n startWith,\n takeUntil\n} from 'rxjs';\nimport {\n QUORUM_TYPE_OPTIONS,\n MAX_QUORUM_DURATION,\n ICallQuorumDialogData,\n QUORUM_DEFAULT_DURATION\n} from './call-quorum-bell-dialog.types';\n\n@Component({\n selector: 'oir-call-quorum-bell-dialog',\n templateUrl: './call-quorum-bell-dialog.component.html',\n styleUrls: ['./call-quorum-bell-dialog.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class CallQuorumBellDialogComponent implements OnDestroy {\n private destroy$: Subject = new Subject();\n\n LIGHT_GREY_COLOR = 'lightgrey';\n INHERIT_COLOR = 'inherit';\n OPTIONS = QUORUM_TYPE_OPTIONS;\n\n quorumForm: FormGroup;\n\n constructor(@Inject(MAT_DIALOG_DATA) public data: ICallQuorumDialogData) {\n this.createFormGroup();\n this.listenToFormValues();\n }\n\n ngOnDestroy(): void {\n this.destroy$.next();\n this.destroy$.complete();\n }\n\n resetForm(): void {\n this.quorumForm.reset({\n type: this.OPTIONS[0].value,\n duration: QUORUM_DEFAULT_DURATION\n });\n }\n\n private createFormGroup(): void {\n this.quorumForm = new FormGroup({\n type: new FormControl(this.OPTIONS[0].value, Validators.required),\n duration: new FormControl(\n {\n value: QUORUM_DEFAULT_DURATION,\n disabled: true\n },\n [\n Validators.required,\n Validators.max(MAX_QUORUM_DURATION),\n Validators.min(\n (this.data.context && this.data.context.minDuration) || 1\n ),\n Validators.pattern(\n '^(0|[0-9]|[1-9][0-9]|[0-9].[05]|[1-9][0-9].[05])$'\n )\n ]\n )\n });\n }\n\n private listenToFormValues(): void {\n this.quorumForm\n .get('type')\n .valueChanges.pipe(distinctUntilChanged(), takeUntil(this.destroy$))\n .subscribe(type => {\n if (type === QUORUM_TYPE_OPTIONS[0].value) {\n this.quorumForm.get('duration').disable();\n } else {\n this.quorumForm.get('duration').enable();\n }\n });\n\n this.quorumForm\n .get('duration')\n .valueChanges.pipe(\n startWith(QUORUM_DEFAULT_DURATION),\n distinctUntilChanged(),\n pairwise(),\n takeUntil(this.destroy$)\n )\n .subscribe(([prevValue, currentValue]) => {\n if (!Number.isNaN(currentValue)) {\n const decimalPart = currentValue.split('.')?.[1] || '';\n\n if (currentValue > MAX_QUORUM_DURATION || decimalPart.length > 1) {\n this.quorumForm\n .get('duration')\n .patchValue(prevValue, { onlySelf: true });\n }\n }\n });\n }\n\n get durationDisabledColor(): string {\n return this.quorumForm.get('type').value === this.OPTIONS[0].value\n ? this.LIGHT_GREY_COLOR\n : this.INHERIT_COLOR;\n }\n}\n","
\n\t
\n\t\t

{{ data.title | translate }}

\n\t\tclose\n
\n \n\t\n\t\t
\n\t\t\t\n
\n\n
\n \n \n
\n {{ \"COMMON.OR\" | translate }}\n
\n \n

{{ option.title | translate }}

\n
\n
\n
\n\n
\n
\n {{ 'CALL_QUORUM_DIALOG.DURATION.LABEL' | translate }}\n \n \n {{ 'COMMON.TIME.MINUTES' | translate }}.\n {{ 'CALL_QUORUM_DIALOG.DURATION.HINT' | translate }}\n \n
\n
\n
\n\n \n {{ data.cancelButton.name | translate | uppercase }}\n {{ data.confirmButton.name | translate | uppercase}}\n \n
\n\n\n \n","import { ChamberBellSubTypeId } from 'proceduralsystem-cbs-common-components';\nimport { IOirDialogData } from 'proceduralsystem-clientcomponents';\n\nexport const MAX_QUORUM_DURATION = 99;\nexport const MIN_QUORUM_DURATION = 0.5;\nexport const QUORUM_DEFAULT_DURATION = 3;\n\nexport const QUORUM_TYPE_OPTIONS = [\n {\n title: 'CALL_BELL_DIALOG.CHOICE.OPTION_1',\n value: ChamberBellSubTypeId.QuorumBusinessItem\n },\n {\n title: 'CALL_BELL_DIALOG.CHOICE.OPTION_2',\n value: ChamberBellSubTypeId.QuorumSchedule\n }\n];\n\nexport interface ICallQuorumDialogData extends IOirDialogData {\n context?: {\n businessItemName?: string;\n minDuration?: number;\n };\n}\n\nexport interface QuorumConfirmDialogData {\n type: ChamberBellSubTypeId;\n duration?: string;\n}\n","import { Component, ChangeDetectionStrategy, Inject } from '@angular/core';\nimport { FormControl, FormGroup, Validators } from '@angular/forms';\nimport { MAT_DIALOG_DATA } from '@angular/material/dialog';\nimport {\n ILiveScheduleBI,\n StopBellActionId\n} from 'proceduralsystem-cbs-common-components';\nimport { IOirDialogData } from 'proceduralsystem-clientcomponents';\n\n@Component({\n selector: 'oir-cancel-schedule-div-dialog',\n templateUrl: './cancel-schedule-div-dialog.component.html',\n styleUrls: ['./cancel-schedule-div-dialog.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class CancelScheduleDivDialogComponent {\n dialogName = 'cancelScheduleDialog';\n selectedBusinessItem: ILiveScheduleBI;\n scheduleForm: FormGroup;\n scheduleId: number;\n action: StopBellActionId;\n\n constructor(@Inject(MAT_DIALOG_DATA) public data: IOirDialogData) {\n if (this.data && this.data.context && this.data.context.dialogName) {\n this.dialogName = this.data.context.dialogName;\n }\n this.createFormGroup();\n }\n\n get businessItems(): ILiveScheduleBI[] {\n return (this.data.messageParams || []) as ILiveScheduleBI[];\n }\n\n createFormGroup(): void {\n this.scheduleForm = new FormGroup({\n selectedBusinessItem: new FormControl(\n this.businessItems[0],\n Validators.required\n ),\n duration: new FormControl('', Validators.maxLength(2))\n });\n }\n}\n","
\n
\n

\n {{ data.title | translate }} \n

\n \n close\n \n
\n \n
\n {{ data.message | translate }}\n
\n\n
\n \n \n \n {{'EXTEND_BELL_DIALOG.RESUME.LABEL' | translate}}: \n {{'COMMON.START' | translate}}: \n \n \n \n \n\n \n {{ 'EXTEND_BELL_DIALOG.DURATION.LABEL' | translate }}\n \n \n \n
\n\n \n \n \n \n
\n","import {\n ChangeDetectionStrategy,\n Component,\n Inject,\n ViewEncapsulation\n} from '@angular/core';\nimport { MAT_DIALOG_DATA } from '@angular/material/dialog';\nimport { IOirDialogData } from 'proceduralsystem-clientcomponents';\n\n@Component({\n selector: 'oir-confirmation-dialog',\n templateUrl: './confirmation-dialog.component.html',\n styleUrls: ['./confirmation-dialog.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None\n})\nexport class ConfirmationDialogComponent {\n isConfirmed = false;\n\n constructor(@Inject(MAT_DIALOG_DATA) public data: IOirDialogData) {}\n}\n","
\n\t
\n\t\t

\n\t\t\t{{ data.title | translate }}\n\t\t

\n\t\t\n\t\t\tclose\n\t\t\n\t
\n\t\n\t\t
\n\t\t\t{{ data.message | translate }}\n\t\t
\n\t\t\n\t\t\t\n\t\t\t\t{{ data.context | translate }}\n\t\t\t\n\t\t\n\t
\n\t\n\t\t\n\t\t\n\t\n
\n","import { Component, ChangeDetectionStrategy, Inject } from '@angular/core';\nimport { FormControl, Validators } from '@angular/forms';\nimport { MAT_DIALOG_DATA } from '@angular/material/dialog';\nimport { IOirDialogData } from 'proceduralsystem-clientcomponents';\n\n@Component({\n selector: 'oir-extend-bell-dialog',\n templateUrl: './extend-bell-dialog.component.html',\n styleUrls: ['./extend-bell-dialog.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class ExtendBellDialogComponent {\n constructor(@Inject(MAT_DIALOG_DATA) public data: IOirDialogData) {}\n\n duration = new FormControl(null, [\n Validators.min(1),\n Validators.max(99),\n Validators.pattern(/^\\d+$/),\n Validators.required\n ]);\n}\n","
\n
\n

\n {{ data.title | translate}}\n

\n \n close\n \n
\n \n
\n {{ data.message | translate}}\n
\n \n {{ 'EXTEND_BELL_DIALOG.DURATION.LABEL' | translate }}\n \n \n
\n \n \n \n \n
\n","import {\n Component,\n ChangeDetectionStrategy,\n Inject,\n OnDestroy\n} from '@angular/core';\nimport { FormControl, FormGroup, Validators } from '@angular/forms';\nimport { MAT_DIALOG_DATA } from '@angular/material/dialog';\nimport {\n ILiveScheduleBI,\n ChamberBell,\n ChamberBellTypeId,\n ChamberBellSubTypeId\n} from 'proceduralsystem-cbs-common-components';\nimport { IOirDialogData } from 'proceduralsystem-clientcomponents';\nimport { Subject } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\nimport { EndingBellTypes } from '@app/app.types';\n\n@Component({\n selector: 'oir-quorum-ending-dialog',\n templateUrl: './quorum-ending-dialog.component.html',\n styleUrls: ['./quorum-ending-dialog.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class QuorumEndingDialogComponent implements OnDestroy {\n private _destroy$ = new Subject();\n dialogName = 'cancelQuorumDialog';\n ChamberBellTypeId = ChamberBellTypeId;\n ChamberBellSubTypeId = ChamberBellSubTypeId;\n EndingBellTypes = EndingBellTypes;\n scheduleForm: FormGroup;\n\n constructor(@Inject(MAT_DIALOG_DATA) public data: IOirDialogData) {\n if (this.data && this.data.context && this.data.context.dialogName) {\n this.dialogName = this.data.context.dialogName;\n }\n this.createFormGroup();\n }\n\n ngOnDestroy(): void {\n this._destroy$.next();\n this._destroy$.complete();\n }\n\n get businessItems(): ILiveScheduleBI[] {\n return (this.data.messageParams.action.businessItems ||\n []) as ILiveScheduleBI[];\n }\n\n get bellTypes(): ChamberBell {\n return (this.data.messageParams.action.ongoingChamberBell ||\n {}) as ChamberBell;\n }\n\n get isVoteOver(): boolean {\n return this.data && this.data.context && this.data.context.isVoteOver;\n }\n\n createFormGroup(): void {\n this.scheduleForm = new FormGroup({\n selectedBusinessItem: new FormControl(this.businessItems[0]),\n duration: new FormControl({ value: null, disabled: true }, [\n Validators.maxLength(2),\n Validators.required\n ]),\n choice: new FormControl(EndingBellTypes.Resume, Validators.required)\n });\n this.scheduleForm\n .get('choice')\n .valueChanges.pipe(takeUntil(this._destroy$))\n .subscribe(value => {\n if (value !== EndingBellTypes.Extend) {\n this.scheduleForm.get('duration').disable();\n } else {\n this.scheduleForm.get('duration').enable();\n }\n this.scheduleForm\n .get('selectedBusinessItem')\n .setValue(this.businessItems[value - 1], { emitEvent: false });\n });\n }\n}\n","
\n
\n

\n {{ data.title | translate }}\n

\n \n close\n \n
\n \n
\n {{ data.message | translate }}\n
\n
\n \n \n {{'EXTEND_BELL_DIALOG.RESUME.LABEL' | translate}}: \n {{'COMMON.START' | translate}}: \n \n \n \n {{'EXTEND_QUORUM_DIALOG.TITLE' | translate}}\n \n \n\n \n {{ 'EXTEND_BELL_DIALOG.DURATION.LABEL' | translate }}\n \n \n \n
\n\n \n \n \n {{ 'COMMON.CONFIRM' | translate | uppercase }}\n \n \n
\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { MatButtonModule } from '@angular/material/button';\nimport { MatDialogModule } from '@angular/material/dialog';\nimport { MatIconModule } from '@angular/material/icon';\nimport { MatRadioModule } from '@angular/material/radio';\nimport { TranslateModule } from '@ngx-translate/core';\nimport { ProceduralsystemClientcomponentsModule } from 'proceduralsystem-clientcomponents';\nimport { MatFormFieldModule } from '@angular/material/form-field';\nimport { MatInputModule } from '@angular/material/input';\nimport { QuorumEndingDialogComponent } from './quorum-ending-dialog.component';\n\n@NgModule({\n declarations: [QuorumEndingDialogComponent],\n imports: [\n CommonModule,\n TranslateModule,\n FormsModule,\n MatDialogModule,\n MatIconModule,\n ProceduralsystemClientcomponentsModule,\n MatButtonModule,\n MatRadioModule,\n MatFormFieldModule,\n MatInputModule,\n ReactiveFormsModule\n ]\n})\nexport class QuorumEndingDialogModule {}\n","import { ChangeDetectionStrategy, Component, Input } from '@angular/core';\nimport {\n FormControl,\n FormGroup,\n Validators,\n AbstractControl,\n ValidationErrors\n} from '@angular/forms';\nimport {\n ScheduleStatusId,\n IrelandTimezone,\n REQUEST_DATE_FORMAT\n} from 'proceduralsystem-cbs-common-components';\nimport {\n DEFAULT_SITTING_DURATION_MIN,\n SuspensionType,\n DIVISION_TYPE_OPTIONS\n} from './suspension-dialog.types';\nimport { TranslateService } from '@ngx-translate/core';\nimport * as moment from 'moment-timezone';\n\nconst UntilRegex = /(^([0-1]?\\d|2[0-3]):[0-5]\\d$)/;\n\n@Component({\n selector: 'oir-suspension-dialog',\n templateUrl: './suspension-dialog.component.html',\n styleUrls: ['./suspension-dialog.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class SuspensionDialogComponent {\n private _status: ScheduleStatusId;\n\n @Input() set status(value: ScheduleStatusId) {\n this._status = value;\n\n if (value === ScheduleStatusId.Suspended) {\n this.title = 'SUSPENSION_DIALOG.EXTEND_SUSPENSION_TITLE';\n this.message = 'SUSPENSION_DIALOG.EXTEND_SUSPENSION_MESSAGE';\n this.confirmButton = 'SUSPENSION_DIALOG.BUTTON.EXTEND_SUSPENSION_CONFIRM';\n } else {\n this.form.get('type').addValidators(Validators.required);\n this.showNextPage = false;\n }\n }\n get status(): ScheduleStatusId {\n return this._status;\n }\n\n form = new FormGroup({\n type: new FormControl(null),\n suspensionType: new FormControl(SuspensionType.Duration),\n duration: new FormControl(\n DEFAULT_SITTING_DURATION_MIN,\n Validators.compose([\n Validators.required,\n Validators.max(999),\n Validators.min(1)\n ])\n ),\n until: new FormControl(\n moment().add(DEFAULT_SITTING_DURATION_MIN, 'minutes').format('HH:mm'),\n Validators.compose([\n Validators.required,\n Validators.pattern(UntilRegex),\n this.selectedTimeIsBetweenCurrentFuture12H.bind(this)\n ])\n )\n });\n\n title = 'SUSPENSION_DIALOG.TITLE';\n message = 'SUSPENSION_DIALOG.SUSPEND_SITTING_MESSAGE';\n messageAlt = 'SUSPENSION_DIALOG.SUSPEND_SITTING_MESSAGE_ALT';\n confirmButton = 'SUSPENSION_DIALOG.BUTTON.CONFIRM';\n\n durationMask = [/\\d/, /\\d/, /\\d/];\n untilTimeMask = [/\\d/, /\\d/, ':', /\\d/, /\\d/];\n SuspensionType = SuspensionType;\n ScheduleStatusId = ScheduleStatusId;\n\n OPTIONS = DIVISION_TYPE_OPTIONS.map(v => ({\n ...v,\n title: this.translate.instant(v.title)\n }));\n\n showNextPage = true;\n\n constructor(private readonly translate: TranslateService) {}\n\n private isInCorrectTimeFormat(value: string): boolean {\n if (!value) {\n return false;\n }\n\n const regex = new RegExp(UntilRegex);\n\n return regex.test(value);\n }\n\n private selectedTimeIsBetweenCurrentFuture12H(\n control: AbstractControl\n ): ValidationErrors | null {\n if (!control || !control.value) {\n return { required: true };\n }\n\n const selectedTime = control.value;\n\n if (!this.isInCorrectTimeFormat(selectedTime)) {\n return { pattern: true };\n }\n\n const tmpDate = moment().tz(IrelandTimezone);\n const currentTime = moment().tz(IrelandTimezone);\n const maxFutureTime = moment().tz(IrelandTimezone).add(12, 'hours');\n\n if (\n moment(tmpDate.format(REQUEST_DATE_FORMAT) + ' ' + selectedTime).isBefore(\n currentTime\n )\n ) {\n tmpDate.add(1, 'day');\n }\n\n if (\n moment(\n tmpDate.format(REQUEST_DATE_FORMAT) + ' ' + selectedTime\n ).isBetween(currentTime, maxFutureTime, 'minutes', '[]')\n ) {\n return null;\n }\n\n return { futureTime: true };\n }\n\n getFormValues(): { duration?: number; until?: string; type: SuspensionType } {\n const formValues = this.form.getRawValue();\n const selectedSuspensionType: SuspensionType = formValues.suspensionType;\n const obj = { type: formValues.type };\n\n return selectedSuspensionType === SuspensionType.Duration\n ? { ...obj, duration: formValues.duration * 60 }\n : { ...obj, until: this.getUpdatedUntilValue(formValues.until) };\n }\n\n private getUpdatedUntilValue(value: string): string {\n if (!this.isInCorrectTimeFormat(value)) {\n return null;\n }\n\n const currentDate = moment().utc();\n const untilDate = moment.utc(\n currentDate.format('YYYY-MM-DD') + ' ' + value\n );\n if (untilDate.isBefore(currentDate)) {\n untilDate.add(1, 'day');\n }\n return untilDate.toISOString();\n }\n\n resetForm(): void {\n this.form.reset({\n suspensionType: SuspensionType.Duration,\n duration: DEFAULT_SITTING_DURATION_MIN,\n until: moment()\n .add(DEFAULT_SITTING_DURATION_MIN, 'minutes')\n .format('HH:mm')\n });\n this.showNextPage = false;\n }\n\n onNextPageClick(): void {\n this.showNextPage = true;\n }\n}\n","
\n\t
\n\t\t

\n\t\t\t{{ title | translate }}\n\t\t

\n\t\t\n\t\t\tclose\n\t\t\n\t
\n\t\n\t\t
\n\t\t\t{{ (showNextPage && status !== ScheduleStatusId.Suspended ? messageAlt : message) | translate }}\n\t\t
\n\t\t
\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t
\n\t\t\t\t\t\t{{ \"COMMON.OR\" | translate }}\n\t\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t\t\t

{{ option.title | translate }}

\n\t\t\t\t\t
\n\t\t\t\t
\n\t\t\t
\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t{{ 'SUSPENSION_DIALOG.TYPES.DURATION' | translate }}\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t{{ 'SUSPENSION_DIALOG.TYPES.UNTIL' | translate }}\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t{{ 'SUSPENSION_DIALOG.DURATION.LABEL' | translate }}\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t{{ 'MANDATORY_FIELD.REQUIRED' | translate }}\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t{{ 'SUSPENSION_DIALOG.UNTIL.LABEL' | translate }}\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t{{ 'MANDATORY_FIELD.REQUIRED' | translate }}\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t{{ 'SUSPENSION_DIALOG.UNTIL.INVALID_TIME_FORMAT.MESSAGE' | translate }}\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t{{ 'SUSPENSION_DIALOG.UNTIL.INVALID_FUTURE_TIME.MESSAGE' | translate }}\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t
\n\t
\n\t
\n
\n \n arrow_back\n \n
\n
\n
\n
\n
\n\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\n\t
\n
\n","export const DEFAULT_SITTING_DURATION_MIN = 10;\n\nexport enum SuspensionType {\n Duration = 1,\n Until\n}\n\nexport enum SuspensionOptions {\n SUSPEND = 1,\n END\n}\n\nexport const DIVISION_TYPE_OPTIONS = [\n {\n title: 'SUSPENSION_DIALOG.CHOICE.OPTION_1',\n value: SuspensionOptions.SUSPEND\n },\n {\n title: 'SUSPENSION_DIALOG.CHOICE.OPTION_2',\n value: SuspensionOptions.END\n }\n];\n","import { createAction, props } from '@ngrx/store';\nimport { IBellTimer } from '@app/app.types';\n\nexport const startBellTimer = createAction(\n '[Bell Timer] Start',\n props()\n);\nexport const updateBellTimer = createAction(\n '[Bell Timer] Update',\n props<{ currentTime: number }>()\n);\nexport const stopBellTimer = createAction('[Bell Timer] Stop');\n","import { createAction, props } from '@ngrx/store';\nimport { ScheduleStatusId } from 'proceduralsystem-cbs-common-components';\nimport { ChatStatus, IChatMessage } from '@shared/components/chat/chat.types';\n\nconst ACTION_NAME = '[CHAT ACTION]';\nexport const NEW_MESSAGE = `${ACTION_NAME} New Message`;\nexport const SET_MESSAGES = `${ACTION_NAME} Set Messages`;\nexport const SET_CHAT_STATUS = `${ACTION_NAME} Set Chat Status`;\nexport const SET_VIDEO_URL = `${ACTION_NAME} Set Video Url`;\nexport const SET_SCHEDULE_STATUS_ID = `${ACTION_NAME} Set Schedule Status Id`;\n\nexport const setNewMessage = createAction(\n NEW_MESSAGE,\n props<{ message: IChatMessage }>()\n);\n\nexport const setMessages = createAction(\n SET_MESSAGES,\n props<{ messages: IChatMessage[] }>()\n);\n\nexport const setVideoUrl = createAction(\n SET_VIDEO_URL,\n props<{ videoUrl: string }>()\n);\n\nexport const setChatStatus = createAction(\n SET_CHAT_STATUS,\n props<{ chatStatus: ChatStatus }>()\n);\n\nexport const setScheduleStatusId = createAction(\n SET_SCHEDULE_STATUS_ID,\n props<{ scheduleStatusId: ScheduleStatusId }>()\n);\n\nexport const setScheduleId = createAction(\n SET_SCHEDULE_STATUS_ID,\n props<{ scheduleId: number }>()\n);\n","import { IBusinessItem } from '@app/pages/schedule/schedule.types';\nimport { createAction, props } from '@ngrx/store';\nimport {\n ILiveScheduleBI,\n HubActionId\n} from 'proceduralsystem-cbs-common-components';\nimport { ISpeakerParams } from '@app/app.types';\n\nconst ACTION_NAME = '[IN CHAMBER ACTION]';\nexport const CHAIR_DUE_TO_START = `${ACTION_NAME} Chair Due To Start`;\nexport const CLERK_DUE_TO_START = `${ACTION_NAME} Clerk Due To Start`;\nexport const RECALLED_SPEAKERS_LIST = `${ACTION_NAME} Recalled Speakers List`;\nexport const RECALLED_NOTES = `${ACTION_NAME} Recalled Notes`;\nexport const SPEAKER_LIST_SLOT_CHANGED = `${ACTION_NAME} Speaker List Slot Changed`;\nexport const CLOCK_SLOT_SPEAKER_CHANGED = `${ACTION_NAME} Clock Slot Speaker Changed`;\nexport const CLOCK_SLOT_CHANGED = `${ACTION_NAME} Clock Slot Changed`;\nexport const READY_TO_START_SCHEDULE_BUSINESS_ITEM = `${ACTION_NAME} Ready to start schedule business item`;\nexport const SPEAKER_LIST_CHANGED = `${ACTION_NAME} Speaker List Changed`;\nexport const CLIFF_NOTE_CHANGED = `${ACTION_NAME} Cliff Note Changed`;\n\nexport const chairDueToStart = createAction(\n CHAIR_DUE_TO_START,\n props<{ chairDueToStart: string[] }>()\n);\nexport const clerkDueToStart = createAction(\n CLERK_DUE_TO_START,\n props<{ clerkDueToStart: string[] }>()\n);\nexport const recalledSpeakersList = createAction(\n RECALLED_SPEAKERS_LIST,\n props<{ itemId: number }>()\n);\n\nexport const recalledNotes = createAction(\n RECALLED_NOTES,\n props<{ itemId: number }>()\n);\n\nexport const speakerListSlotStateChanged = createAction(\n SPEAKER_LIST_SLOT_CHANGED,\n props<{ params: ISpeakerParams }>()\n);\n\nexport const clockSlotSpeakerStateChanged = createAction(\n CLOCK_SLOT_SPEAKER_CHANGED,\n props<{ clockParams: ISpeakerParams }>()\n);\n\nexport const readyToStartBusinessItem = createAction(\n READY_TO_START_SCHEDULE_BUSINESS_ITEM,\n props()\n);\n\nexport const speakersListStateChanged = createAction(\n SPEAKER_LIST_CHANGED,\n props<{\n changedSLBusinessItem: { businessItemId: number; status: number } | null;\n }>()\n);\n\nexport const clockSlotStateChanged = createAction(\n CLOCK_SLOT_CHANGED,\n props<{\n changedClockItem: { businessItemId: number; status: number } | null;\n }>()\n);\n\nexport const cliffNoteStateChanged = createAction(\n CLIFF_NOTE_CHANGED,\n props<{\n changedCliffNote: {\n businessItemId: number;\n status: number;\n actionId: HubActionId;\n } | null;\n }>()\n);\n","import { createAction, props } from '@ngrx/store';\nimport { IChamberUser } from 'proceduralsystem-cbs-common-components';\nimport { ILiveView } from '../reducers/live-sharing.reducer';\nimport { NavigationPage } from '@app/app.types';\nimport { ILiveViewData } from '@app/pages/business-item-view/business-item-view.types';\n\nconst ACTION_NAME = '[LIVE SHARING ACTION]';\nexport const INIT_LIVE_VIEW = `${ACTION_NAME} Init Live Views`;\nexport const SET_LIVE_VIEW = `${ACTION_NAME} Set Live View`;\nexport const POST_LIVE_VIEW = `${ACTION_NAME} Post Live View`;\nexport const USER_CLOCKED_IN = `${ACTION_NAME} User Clocked-in`;\nexport const USER_CLOCKED_OUT = `${ACTION_NAME} User Clocked-out`;\nexport const SET_CONNECTION_ID = `${ACTION_NAME} Set Connection Id`;\nexport const SET_CHAMBER_USER = `${ACTION_NAME} Set Chamber User`;\n\nexport const postLiveView = createAction(\n POST_LIVE_VIEW,\n props<{\n page: NavigationPage;\n data: ILiveViewData;\n }>()\n);\nexport const initLiveView = createAction(\n INIT_LIVE_VIEW,\n props<{ liveViews: ILiveView[] }>()\n);\nexport const setLiveView = createAction(\n SET_LIVE_VIEW,\n props<{ liveView: ILiveView }>()\n);\nexport const userClockedIn = createAction(\n USER_CLOCKED_IN,\n props<{ chamberUser: IChamberUser }>()\n);\nexport const userClockedOut = createAction(\n USER_CLOCKED_OUT,\n props<{ chamberUser: IChamberUser }>()\n);\nexport const setConnectionId = createAction(\n SET_CONNECTION_ID,\n props<{ connectionId: string }>()\n);\nexport const setChamberUser = createAction(\n SET_CHAMBER_USER,\n props<{ chamberUser: IChamberUser }>()\n);\n","import { Injectable } from '@angular/core';\nimport { Actions, ofType, createEffect } from '@ngrx/effects';\nimport { Store } from '@ngrx/store';\nimport { map, switchMap, takeUntil, tap } from 'rxjs/operators';\nimport * as BellTimerActions from '@app/store/actions/bell-timer.actions';\nimport { interval } from 'rxjs';\nimport moment from 'moment';\nimport { BellEndingService } from '@app/services/bell-ending.service';\nimport { IBellTimer, SecondsBase } from '@app/app.types';\n\nconst QUORUM_BELL_BEFORE_END_SEC = 15;\n\n@Injectable()\nexport class BellTimerEffects {\n constructor(\n private readonly actions$: Actions,\n private readonly store: Store,\n private readonly bellEndingService: BellEndingService\n ) {}\n\n startBellTimer$ = createEffect(() =>\n this.actions$.pipe(\n ofType(BellTimerActions.startBellTimer),\n switchMap((action: IBellTimer) => {\n const startTimeUnix = moment(action.startTime).unix();\n const durationPlanned = action.durationPlanned;\n let dialogOpenedOnce = false;\n\n return interval(SecondsBase).pipe(\n takeUntil(this.actions$.pipe(ofType(BellTimerActions.stopBellTimer))),\n tap(() => {\n const currentTimeUnix = moment().unix();\n const timeLeft = startTimeUnix + durationPlanned - currentTimeUnix;\n\n if (\n timeLeft <= QUORUM_BELL_BEFORE_END_SEC &&\n timeLeft > 0 &&\n !this.bellEndingService.isDialogOpen &&\n !dialogOpenedOnce\n ) {\n dialogOpenedOnce = true;\n this.bellEndingService.openDialog(action);\n }\n\n // Stop timer if end time is reached\n if (\n durationPlanned !== null &&\n currentTimeUnix >= startTimeUnix + durationPlanned\n ) {\n this.store.dispatch(BellTimerActions.stopBellTimer());\n }\n }),\n map(() =>\n BellTimerActions.updateBellTimer({ currentTime: moment().unix() })\n )\n );\n })\n )\n );\n}\n","import { Injectable } from '@angular/core';\nimport { Actions, concatLatestFrom, createEffect, ofType } from '@ngrx/effects';\nimport { of } from 'rxjs';\nimport { switchMap } from 'rxjs/operators';\nimport { OirHttpService } from 'proceduralsystem-clientcomponents';\nimport { InAppState } from '@app/app.types';\nimport { Store } from '@ngrx/store';\nimport * as LiveSharingAction from '@app/store/actions/live-sharing.actions';\nimport { selectChamberUser } from '@app/store/reducers/live-sharing.reducer';\n\n@Injectable()\nexport class LiveSharingEffects {\n constructor(\n private readonly actions$: Actions,\n private readonly oirHttp: OirHttpService,\n private store: Store\n ) {}\n\n setLiveView$ = createEffect(\n () =>\n this.actions$.pipe(\n ofType(LiveSharingAction.postLiveView),\n concatLatestFrom(() => this.store.select(selectChamberUser)),\n switchMap(([action, user]) => {\n if (user) {\n return this.oirHttp.post({\n path: '/api/liveSharing/setLiveView',\n body: {\n page: action.page,\n data: action.data,\n user\n }\n });\n }\n\n return of(null);\n })\n ),\n { dispatch: false }\n );\n}\n","import { createReducer, on } from '@ngrx/store';\nimport * as BellTimerActions from '@app/store/actions/bell-timer.actions';\n\nexport const bellTimerFeatureKey = 'bell-timer';\n\nexport interface BellTimerState {\n startTime: Date | string | null;\n duration: number;\n currentTime: number | null;\n}\n\nexport const initialBellTimerState: BellTimerState = {\n startTime: null,\n duration: 0,\n currentTime: null\n};\n\nexport const bellTimerReducer = createReducer(\n initialBellTimerState,\n on(\n BellTimerActions.startBellTimer,\n (state, { startTime, durationPlanned }) => ({\n ...state,\n startTime,\n durationPlanned,\n currentTime: 0\n })\n ),\n on(BellTimerActions.updateBellTimer, (state, { currentTime }) => ({\n ...state,\n currentTime\n })),\n on(BellTimerActions.stopBellTimer, state => ({\n ...state,\n startTime: null,\n currentTime: null\n }))\n);\n","import {\n createFeatureSelector,\n createReducer,\n createSelector,\n on\n} from '@ngrx/store';\nimport { ScheduleStatusId } from 'proceduralsystem-cbs-common-components';\nimport * as ChatAction from '../actions/chat.actions';\nimport { ChatStatus, IChatMessage } from '@shared/components/chat/chat.types';\n\nexport const chatFeatureKey = 'chat';\n\nexport interface ChatState {\n chatStatus: ChatStatus;\n videoUrl: string;\n messages: IChatMessage[];\n scheduleStatusId: ScheduleStatusId;\n}\n\nexport const selectChat = createFeatureSelector(chatFeatureKey);\nexport const selectVideoUrl = createSelector(\n selectChat,\n (state: ChatState) => state.videoUrl\n);\nexport const selectChatMessages = createSelector(\n selectChat,\n (state: ChatState) => state.messages\n);\nexport const selectScheduleStatusId = createSelector(\n selectChat,\n (state: ChatState) => state.scheduleStatusId\n);\nexport const initialState: ChatState = {\n chatStatus: ChatStatus.NotActive,\n videoUrl: '',\n messages: null,\n scheduleStatusId: null\n};\n\nexport const chatReducer = createReducer(\n initialState,\n on(ChatAction.setNewMessage, (state, { message }) => ({\n ...state,\n messages: [...state.messages, message]\n })),\n on(ChatAction.setMessages, (state, { messages }) => ({\n ...state,\n messages\n })),\n on(ChatAction.setChatStatus, (state, { chatStatus }) => ({\n ...state,\n chatStatus\n })),\n on(ChatAction.setVideoUrl, (state, { videoUrl }) => ({\n ...state,\n videoUrl\n })),\n on(ChatAction.setScheduleStatusId, (state, { scheduleStatusId }) => ({\n ...state,\n scheduleStatusId\n }))\n);\n","import {\n createFeatureSelector,\n createReducer,\n createSelector,\n on\n} from '@ngrx/store';\nimport * as InChamberAction from '../actions/in-chamber.actions';\nimport { IBusinessItem } from '@app/pages/schedule/schedule.types';\nimport {\n ILiveScheduleBI,\n HubActionId\n} from 'proceduralsystem-cbs-common-components';\nimport { ISpeakerParams } from '@app/app.types';\n\nexport const inChamberFeatureKey = 'in-chamber';\n\nexport interface InChamberState {\n chairDueToStart: string[];\n clerkDueToStart: string[];\n recalledSpeakersListId: number;\n recalledNotesId: number;\n params: ISpeakerParams;\n clockParams: ISpeakerParams;\n readyToStartBusinessItem: IBusinessItem | ILiveScheduleBI;\n changedSLBusinessItem: {\n businessItemId: number;\n status: number;\n } | null;\n changedClockItem: {\n businessItemId: number;\n status: number;\n };\n changedCliffNote: {\n businessItemId: number;\n status: number;\n actionId: HubActionId;\n };\n}\n\nexport const selectInChamberState =\n createFeatureSelector(inChamberFeatureKey);\nexport const selectChairDueToStart = createSelector(\n selectInChamberState,\n (state: InChamberState) => state.chairDueToStart\n);\nexport const selectClerkDueToStart = createSelector(\n selectInChamberState,\n (state: InChamberState) => state.clerkDueToStart\n);\nexport const selectRecalledSpeakersListId = createSelector(\n selectInChamberState,\n (state: InChamberState) => state.recalledSpeakersListId\n);\nexport const selectRecalledNotesId = createSelector(\n selectInChamberState,\n (state: InChamberState) => state.recalledNotesId\n);\nexport const selectSpeakerListSlotParams = createSelector(\n selectInChamberState,\n (state: InChamberState) => state.params\n);\nexport const selectClockSlotSpeakerParams = createSelector(\n selectInChamberState,\n (state: InChamberState) => state.clockParams\n);\nexport const selectReadyToStartBusinessItem = createSelector(\n selectInChamberState,\n (state: InChamberState) => state.readyToStartBusinessItem\n);\nexport const selectChangedSLBusinessItem = createSelector(\n selectInChamberState,\n (state: InChamberState) => state.changedSLBusinessItem\n);\nexport const selectClockSlotItem = createSelector(\n selectInChamberState,\n (state: InChamberState) => state.changedClockItem\n);\nexport const selectCliffNoteItem = createSelector(\n selectInChamberState,\n (state: InChamberState) => state.changedCliffNote\n);\n\nconst initialState: InChamberState = {\n chairDueToStart: null,\n clerkDueToStart: null,\n recalledSpeakersListId: null,\n recalledNotesId: null,\n params: null,\n clockParams: null,\n readyToStartBusinessItem: null,\n changedSLBusinessItem: null,\n changedClockItem: null,\n changedCliffNote: null\n};\n\nexport const inChamberReducer = createReducer(\n initialState,\n on(InChamberAction.chairDueToStart, (state, { chairDueToStart }) => ({\n ...state,\n chairDueToStart\n })),\n on(InChamberAction.clerkDueToStart, (state, { clerkDueToStart }) => ({\n ...state,\n clerkDueToStart\n })),\n on(InChamberAction.recalledSpeakersList, (state, { itemId }) => ({\n ...state,\n recalledSpeakersListId: itemId\n })),\n on(InChamberAction.recalledNotes, (state, { itemId }) => ({\n ...state,\n recalledNotesId: itemId\n })),\n on(InChamberAction.speakerListSlotStateChanged, (state, { params }) => ({\n ...state,\n params\n })),\n on(\n InChamberAction.clockSlotSpeakerStateChanged,\n (state, { clockParams }) => ({\n ...state,\n clockParams\n })\n ),\n on(\n InChamberAction.readyToStartBusinessItem,\n (state, readyToStartBusinessItem) => ({\n ...state,\n readyToStartBusinessItem\n })\n ),\n on(\n InChamberAction.speakersListStateChanged,\n (state, { changedSLBusinessItem }) => ({\n ...state,\n changedSLBusinessItem\n })\n ),\n on(InChamberAction.clockSlotStateChanged, (state, { changedClockItem }) => ({\n ...state,\n changedClockItem\n })),\n on(InChamberAction.cliffNoteStateChanged, (state, { changedCliffNote }) => ({\n ...state,\n changedCliffNote\n }))\n);\n","import {\n createFeatureSelector,\n createReducer,\n createSelector,\n on\n} from '@ngrx/store';\nimport { IChamberUser } from 'proceduralsystem-cbs-common-components';\nimport * as LiveSharingAction from '../actions/live-sharing.actions';\nimport { NavigationPage } from '@app/app.types';\nimport { IGeneralLiveView } from '@app/pages/business-item-view/business-item-view.types';\n\nexport type ILiveView = IGeneralLiveView;\n\nexport const liveSharingFeatureKey = 'live-sharing';\n\nexport interface LiveSharingState {\n liveViews: ILiveView[];\n chamberUser: IChamberUser;\n connectionId: string;\n}\n\nexport const selectLiveSharing = createFeatureSelector(\n liveSharingFeatureKey\n);\nexport const selectLiveViews = createSelector(\n selectLiveSharing,\n (state: LiveSharingState) => state.liveViews\n);\nexport const selectChamberUser = createSelector(\n selectLiveSharing,\n (state: LiveSharingState) => state.chamberUser\n);\nexport const selectConnectionId = createSelector(\n selectLiveSharing,\n (state: LiveSharingState) => state.connectionId\n);\nexport const initialState: LiveSharingState = {\n liveViews: [],\n chamberUser: null,\n connectionId: null\n};\n\nexport const liveSharingReducer = createReducer(\n initialState,\n on(LiveSharingAction.initLiveView, (state, { liveViews }) => {\n return {\n ...state,\n liveViews: state.chamberUser\n ? liveViews.filter(\n v => v.user.userObjectId !== state.chamberUser.userObjectId\n )\n : liveViews\n };\n }),\n on(LiveSharingAction.setLiveView, (state, { liveView }) => {\n const otherViews = state.liveViews.filter(\n v => v.user.userObjectId !== liveView.user.userObjectId\n );\n\n if (!state.chamberUser) {\n return {\n ...state,\n liveViews: [...otherViews]\n };\n }\n\n return {\n ...state,\n liveViews:\n liveView.user.userObjectId == state.chamberUser.userObjectId\n ? [...otherViews]\n : [...otherViews, liveView]\n };\n }),\n on(LiveSharingAction.userClockedOut, (state, { chamberUser }) => {\n if (chamberUser) {\n return {\n ...state,\n liveViews: [\n ...state.liveViews.filter(\n v => v.user.userObjectId !== chamberUser.userObjectId\n )\n ]\n };\n }\n\n return state;\n }),\n on(LiveSharingAction.setConnectionId, (state, { connectionId }) => ({\n ...state,\n connectionId\n })),\n on(LiveSharingAction.setChamberUser, (state, { chamberUser }) => ({\n ...state,\n chamberUser\n }))\n);\n","import { LogLevel, Configuration, BrowserCacheLocation, RedirectRequest } from '@azure/msal-browser';\n\nexport const msalConfig: Configuration = {\n auth: {\n clientId: '', // This is the ONLY mandatory field that you need to supply. SPA application Client Id\n authority: 'https://login.microsoftonline.com/ce71ecf0-0b97-47b2-966c-b4ecc8db23f2', // Defaults to \"https://login.microsoftonline.com/common\"\n redirectUri: '/', // Points to window.location.origin. You must register this URI on Azure portal/App Registration.\n },\n cache: {\n cacheLocation: BrowserCacheLocation.LocalStorage, // Configures cache location. \"sessionStorage\" is more secure, but \"localStorage\" gives you SSO between tabs.\n storeAuthStateInCookie: false, // Set this to \"true\" if you are having issues on IE11 or Edge\n },\n system: {\n loggerOptions: {\n/* loggerCallback(logLevel: LogLevel, message: string) {\n console.log(message);\n },*/\n logLevel: LogLevel.Verbose,\n piiLoggingEnabled: false\n }\n }\n}\n\n/**\n * Add here the endpoints and scopes when obtaining an access token for protected web APIs. For more information, see:\n * https://github.com/AzureAD/microsoft-authentication-library-for-js/blob/dev/lib/msal-browser/docs/resources-and-scopes.md\n */\nconst protectedResources = {\n endpoints: [\n \"https://commsapidev.azurewebsites.net\"\n ],\n scopes: [\n '5c119b35-57d5-4ff9-a37f-4b0708d80e13/.default'\n ]\n};\n\n/**\n * Scopes you add here will be prompted for user consent during sign-in.\n * By default, MSAL.js will add OIDC scopes (openid, profile, email) to any login request.\n * For more information about OIDC scopes, visit:\n * https://docs.microsoft.com/en-us/azure/active-directory/develop/v2-permissions-and-consent#openid-connect-scopes\n */\nconst authRequest: RedirectRequest = {\n scopes: ['919b8665-e880-4543-bd0f-b88674ac39c3/.default']\n};\n","// The file contents for the current environment will overwrite these during build.\n// The build system defaults to the dev environment which uses `environment.ts`, but if you do\n// `ng build --env=prod` then `environment.prod.ts` will be used instead.\n// The list of which env maps to which file can be found in `angular-cli.json`.\n\nimport { msalConfig } from './base.environment';\n\nexport const environment = {\n msalConfig,\n production: false\n};\n","import { enableProdMode } from '@angular/core';\nimport { platformBrowserDynamic } from '@angular/platform-browser-dynamic';\n\nimport { AppModule } from '@app/app.module';\nimport { environment } from './environments/environment';\n\nif (environment.production) {\n enableProdMode();\n}\n\nconst bootstrap = () => {\n const promise = platformBrowserDynamic()\n .bootstrapModule(AppModule);\n promise.catch(err => {\n console.error('Chamber Business Platform application bootstrap error', err);\n });\n};\n\nbootstrap();\n","import { InjectionToken, Injectable, Inject, Optional, VERSION, Component, NgModule } from '@angular/core';\nimport { Location, DOCUMENT, CommonModule } from '@angular/common';\nimport { WrapperSKU, InteractionStatus, EventMessageUtils, InteractionType, BrowserConfigurationAuthError, UrlString, BrowserUtils, StringUtils, NavigationClient } from '@azure/msal-browser';\nimport { from, ReplaySubject, Subject, BehaviorSubject, of, EMPTY } from 'rxjs';\nimport { Router } from '@angular/router';\nimport { map, concatMap, catchError, switchMap } from 'rxjs/operators';\nimport { __awaiter } from 'tslib';\n\n/*\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License.\n */\nimport * as ɵngcc0 from '@angular/core';\nimport * as ɵngcc1 from '@angular/common';\nimport * as ɵngcc2 from '@angular/router';\nconst MSAL_INSTANCE = new InjectionToken(\"MSAL_INSTANCE\");\nconst MSAL_GUARD_CONFIG = new InjectionToken(\"MSAL_GUARD_CONFIG\");\nconst MSAL_INTERCEPTOR_CONFIG = new InjectionToken(\"MSAL_INTERCEPTOR_CONFIG\");\nconst MSAL_BROADCAST_CONFIG = new InjectionToken(\"MSAL_BROADCAST_CONFIG\");\n\n/* eslint-disable header/header */\nconst name = \"@azure/msal-angular\";\nconst version = \"2.5.1\";\n\n/*\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License.\n */\nclass MsalService {\n constructor(instance, location) {\n this.instance = instance;\n this.location = location;\n const hash = this.location.path(true).split(\"#\").pop();\n if (hash) {\n this.redirectHash = `#${hash}`;\n }\n this.instance.initializeWrapperLibrary(WrapperSKU.Angular, version);\n }\n initialize() {\n return from(this.instance.initialize());\n }\n acquireTokenPopup(request) {\n return from(this.instance.acquireTokenPopup(request));\n }\n acquireTokenRedirect(request) {\n return from(this.instance.acquireTokenRedirect(request));\n }\n acquireTokenSilent(silentRequest) {\n return from(this.instance.acquireTokenSilent(silentRequest));\n }\n handleRedirectObservable(hash) {\n return from(this.instance.handleRedirectPromise(hash || this.redirectHash));\n }\n loginPopup(request) {\n return from(this.instance.loginPopup(request));\n }\n loginRedirect(request) {\n return from(this.instance.loginRedirect(request));\n }\n logout(logoutRequest) {\n return from(this.instance.logout(logoutRequest));\n }\n logoutRedirect(logoutRequest) {\n return from(this.instance.logoutRedirect(logoutRequest));\n }\n logoutPopup(logoutRequest) {\n return from(this.instance.logoutPopup(logoutRequest));\n }\n ssoSilent(request) {\n return from(this.instance.ssoSilent(request));\n }\n /**\n * Gets logger for msal-angular.\n * If no logger set, returns logger instance created with same options as msal-browser\n */\n getLogger() {\n if (!this.logger) {\n this.logger = this.instance.getLogger().clone(name, version);\n }\n return this.logger;\n }\n // Create a logger instance for msal-angular with the same options as msal-browser\n setLogger(logger) {\n this.logger = logger.clone(name, version);\n this.instance.setLogger(logger);\n }\n}\nMsalService.ɵfac = function MsalService_Factory(t) { return new (t || MsalService)(ɵngcc0.ɵɵinject(MSAL_INSTANCE), ɵngcc0.ɵɵinject(ɵngcc1.Location)); };\nMsalService.ɵprov = /*@__PURE__*/ ɵngcc0.ɵɵdefineInjectable({ token: MsalService, factory: MsalService.ɵfac });\nMsalService.ctorParameters = () => [\n { type: undefined, decorators: [{ type: Inject, args: [MSAL_INSTANCE,] }] },\n { type: Location }\n];\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(MsalService, [{\n type: Injectable\n }], function () { return [{ type: undefined, decorators: [{\n type: Inject,\n args: [MSAL_INSTANCE]\n }] }, { type: ɵngcc1.Location }]; }, null); })();\n\n/*\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License.\n */\nclass MsalBroadcastService {\n constructor(msalInstance, authService, msalBroadcastConfig) {\n this.msalInstance = msalInstance;\n this.authService = authService;\n this.msalBroadcastConfig = msalBroadcastConfig;\n // Make _msalSubject a ReplaySubject if configured to replay past events\n if (this.msalBroadcastConfig && this.msalBroadcastConfig.eventsToReplay > 0) {\n this.authService.getLogger().verbose(`BroadcastService - replayPastEvents set on BroadcastConfig, replaying the last ${this.msalBroadcastConfig.eventsToReplay} events`);\n this._msalSubject = new ReplaySubject(this.msalBroadcastConfig.eventsToReplay);\n }\n else {\n // Defaults to _msalSubject being a Subject\n this._msalSubject = new Subject();\n }\n this.msalSubject$ = this._msalSubject.asObservable();\n // InProgress as BehaviorSubject so most recent inProgress state will be available upon subscription\n this._inProgress = new BehaviorSubject(InteractionStatus.Startup);\n this.inProgress$ = this._inProgress.asObservable();\n this.msalInstance.addEventCallback((message) => {\n this._msalSubject.next(message);\n const status = EventMessageUtils.getInteractionStatusFromEvent(message, this._inProgress.value);\n if (status !== null) {\n this.authService.getLogger().verbose(`BroadcastService - ${message.eventType} results in setting inProgress from ${this._inProgress.value} to ${status}`);\n this._inProgress.next(status);\n }\n });\n }\n}\nMsalBroadcastService.ɵfac = function MsalBroadcastService_Factory(t) { return new (t || MsalBroadcastService)(ɵngcc0.ɵɵinject(MSAL_INSTANCE), ɵngcc0.ɵɵinject(MsalService), ɵngcc0.ɵɵinject(MSAL_BROADCAST_CONFIG, 8)); };\nMsalBroadcastService.ɵprov = /*@__PURE__*/ ɵngcc0.ɵɵdefineInjectable({ token: MsalBroadcastService, factory: MsalBroadcastService.ɵfac });\nMsalBroadcastService.ctorParameters = () => [\n { type: undefined, decorators: [{ type: Inject, args: [MSAL_INSTANCE,] }] },\n { type: MsalService },\n { type: undefined, decorators: [{ type: Optional }, { type: Inject, args: [MSAL_BROADCAST_CONFIG,] }] }\n];\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(MsalBroadcastService, [{\n type: Injectable\n }], function () { return [{ type: undefined, decorators: [{\n type: Inject,\n args: [MSAL_INSTANCE]\n }] }, { type: MsalService }, { type: undefined, decorators: [{\n type: Optional\n }, {\n type: Inject,\n args: [MSAL_BROADCAST_CONFIG]\n }] }]; }, null); })();\n\n/*\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License.\n */\nclass MsalGuard {\n constructor(msalGuardConfig, msalBroadcastService, authService, location, router) {\n this.msalGuardConfig = msalGuardConfig;\n this.msalBroadcastService = msalBroadcastService;\n this.authService = authService;\n this.location = location;\n this.router = router;\n // Subscribing so events in MsalGuard will set inProgress$ observable\n this.msalBroadcastService.inProgress$.subscribe();\n }\n /**\n * Parses url string to UrlTree\n * @param url\n */\n parseUrl(url) {\n return this.router.parseUrl(url);\n }\n /**\n * Builds the absolute url for the destination page\n * @param path Relative path of requested page\n * @returns Full destination url\n */\n getDestinationUrl(path) {\n this.authService.getLogger().verbose(\"Guard - getting destination url\");\n // Absolute base url for the application (default to origin if base element not present)\n const baseElements = document.getElementsByTagName(\"base\");\n const baseUrl = this.location.normalize(baseElements.length ? baseElements[0].href : window.location.origin);\n // Path of page (including hash, if using hash routing)\n const pathUrl = this.location.prepareExternalUrl(path);\n // Hash location strategy\n if (pathUrl.startsWith(\"#\")) {\n this.authService.getLogger().verbose(\"Guard - destination by hash routing\");\n return `${baseUrl}/${pathUrl}`;\n }\n /*\n * If using path location strategy, pathUrl will include the relative portion of the base path (e.g. /base/page).\n * Since baseUrl also includes /base, can just concatentate baseUrl + path\n */\n return `${baseUrl}${path}`;\n }\n /**\n * Interactively prompt the user to login\n * @param url Path of the requested page\n */\n loginInteractively(state) {\n const authRequest = typeof this.msalGuardConfig.authRequest === \"function\"\n ? this.msalGuardConfig.authRequest(this.authService, state)\n : Object.assign({}, this.msalGuardConfig.authRequest);\n if (this.msalGuardConfig.interactionType === InteractionType.Popup) {\n this.authService.getLogger().verbose(\"Guard - logging in by popup\");\n return this.authService.loginPopup(authRequest)\n .pipe(map((response) => {\n this.authService.getLogger().verbose(\"Guard - login by popup successful, can activate, setting active account\");\n this.authService.instance.setActiveAccount(response.account);\n return true;\n }));\n }\n this.authService.getLogger().verbose(\"Guard - logging in by redirect\");\n const redirectStartPage = this.getDestinationUrl(state.url);\n return this.authService.loginRedirect(Object.assign({ redirectStartPage }, authRequest))\n .pipe(map(() => false));\n }\n /**\n * Helper which checks for the correct interaction type, prevents page with Guard to be set as reidrect, and calls handleRedirectObservable\n * @param state\n */\n activateHelper(state) {\n if (this.msalGuardConfig.interactionType !== InteractionType.Popup && this.msalGuardConfig.interactionType !== InteractionType.Redirect) {\n throw new BrowserConfigurationAuthError(\"invalid_interaction_type\", \"Invalid interaction type provided to MSAL Guard. InteractionType.Popup or InteractionType.Redirect must be provided in the MsalGuardConfiguration\");\n }\n this.authService.getLogger().verbose(\"MSAL Guard activated\");\n /*\n * If a page with MSAL Guard is set as the redirect for acquireTokenSilent,\n * short-circuit to prevent redirecting or popups.\n */\n if (typeof window !== \"undefined\") {\n if (UrlString.hashContainsKnownProperties(window.location.hash) && BrowserUtils.isInIframe() && !this.authService.instance.getConfiguration().system.allowRedirectInIframe) {\n this.authService.getLogger().warning(\"Guard - redirectUri set to page with MSAL Guard. It is recommended to not set redirectUri to a page that requires authentication.\");\n return of(false);\n }\n }\n else {\n this.authService.getLogger().info(\"Guard - window is undefined, MSAL does not support server-side token acquisition\");\n return of(true);\n }\n /**\n * If a loginFailedRoute is set in the config, set this as the loginFailedRoute\n */\n if (this.msalGuardConfig.loginFailedRoute) {\n this.loginFailedRoute = this.parseUrl(this.msalGuardConfig.loginFailedRoute);\n }\n // Capture current path before it gets changed by handleRedirectObservable\n const currentPath = this.location.path(true);\n return this.authService.handleRedirectObservable()\n .pipe(concatMap(() => {\n if (!this.authService.instance.getAllAccounts().length) {\n if (state) {\n this.authService.getLogger().verbose(\"Guard - no accounts retrieved, log in required to activate\");\n return this.loginInteractively(state);\n }\n this.authService.getLogger().verbose(\"Guard - no accounts retrieved, no state, cannot load\");\n return of(false);\n }\n this.authService.getLogger().verbose(\"Guard - at least 1 account exists, can activate or load\");\n // Prevent navigating the app to /#code= or /code=\n if (state) {\n /*\n * Path routing:\n * state.url: /#code=...\n * state.root.fragment: code=...\n */\n /*\n * Hash routing:\n * state.url: /code\n * state.root.fragment: null\n */\n const urlContainsCode = this.includesCode(state.url);\n const fragmentContainsCode = !!state.root && !!state.root.fragment && this.includesCode(`#${state.root.fragment}`);\n const hashRouting = this.location.prepareExternalUrl(state.url).indexOf(\"#\") === 0;\n // Ensure code parameter is in fragment (and not in query parameter), or that hash hash routing is used\n if (urlContainsCode && (fragmentContainsCode || hashRouting)) {\n this.authService.getLogger().info(\"Guard - Hash contains known code response, stopping navigation.\");\n // Path routing (navigate to current path without hash)\n if (currentPath.indexOf(\"#\") > -1) {\n return of(this.parseUrl(this.location.path()));\n }\n // Hash routing (navigate to root path)\n return of(this.parseUrl(\"\"));\n }\n }\n return of(true);\n }), catchError((error) => {\n this.authService.getLogger().error(\"Guard - error while logging in, unable to activate\");\n this.authService.getLogger().errorPii(`Guard - error: ${error.message}`);\n /**\n * If a loginFailedRoute is set, checks to see if Angular 10+ is used and state is passed in before returning route\n * Apps using Angular 9 will receive of(false) in canLoad interface, as it does not support UrlTree return types\n */\n if (this.loginFailedRoute && parseInt(VERSION.major, 10) > 9 && state) {\n this.authService.getLogger().verbose(\"Guard - loginFailedRoute set, redirecting\");\n return of(this.loginFailedRoute);\n }\n return of(false);\n }));\n }\n includesCode(path) {\n return (path.lastIndexOf(\"/code\") > -1 &&\n path.lastIndexOf(\"/code\") === path.length - \"/code\".length) || // path.endsWith(\"/code\")\n path.indexOf(\"#code=\") > -1 ||\n path.indexOf(\"&code=\") > -1;\n }\n canActivate(route, state) {\n this.authService.getLogger().verbose(\"Guard - canActivate\");\n return this.activateHelper(state);\n }\n canActivateChild(route, state) {\n this.authService.getLogger().verbose(\"Guard - canActivateChild\");\n return this.activateHelper(state);\n }\n canLoad() {\n this.authService.getLogger().verbose(\"Guard - canLoad\");\n // @ts-ignore\n return this.activateHelper();\n }\n}\nMsalGuard.ɵfac = function MsalGuard_Factory(t) { return new (t || MsalGuard)(ɵngcc0.ɵɵinject(MSAL_GUARD_CONFIG), ɵngcc0.ɵɵinject(MsalBroadcastService), ɵngcc0.ɵɵinject(MsalService), ɵngcc0.ɵɵinject(ɵngcc1.Location), ɵngcc0.ɵɵinject(ɵngcc2.Router)); };\nMsalGuard.ɵprov = /*@__PURE__*/ ɵngcc0.ɵɵdefineInjectable({ token: MsalGuard, factory: MsalGuard.ɵfac });\nMsalGuard.ctorParameters = () => [\n { type: undefined, decorators: [{ type: Inject, args: [MSAL_GUARD_CONFIG,] }] },\n { type: MsalBroadcastService },\n { type: MsalService },\n { type: Location },\n { type: Router }\n];\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(MsalGuard, [{\n type: Injectable\n }], function () { return [{ type: undefined, decorators: [{\n type: Inject,\n args: [MSAL_GUARD_CONFIG]\n }] }, { type: MsalBroadcastService }, { type: MsalService }, { type: ɵngcc1.Location }, { type: ɵngcc2.Router }]; }, null); })();\n\n/*\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License.\n */\nclass MsalInterceptor {\n constructor(msalInterceptorConfig, authService, location, \n // eslint-disable-next-line @typescript-eslint/no-explicit-any, @typescript-eslint/explicit-module-boundary-types\n document) {\n this.msalInterceptorConfig = msalInterceptorConfig;\n this.authService = authService;\n this.location = location;\n this._document = document;\n }\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n intercept(req, next) {\n if (this.msalInterceptorConfig.interactionType !== InteractionType.Popup && this.msalInterceptorConfig.interactionType !== InteractionType.Redirect) {\n throw new BrowserConfigurationAuthError(\"invalid_interaction_type\", \"Invalid interaction type provided to MSAL Interceptor. InteractionType.Popup, InteractionType.Redirect must be provided in the msalInterceptorConfiguration\");\n }\n this.authService.getLogger().verbose(\"MSAL Interceptor activated\");\n const scopes = this.getScopesForEndpoint(req.url, req.method);\n // If no scopes for endpoint, does not acquire token\n if (!scopes || scopes.length === 0) {\n this.authService.getLogger().verbose(\"Interceptor - no scopes for endpoint\");\n return next.handle(req);\n }\n // Sets account as active account or first account\n let account;\n if (!!this.authService.instance.getActiveAccount()) {\n this.authService.getLogger().verbose(\"Interceptor - active account selected\");\n account = this.authService.instance.getActiveAccount();\n }\n else {\n this.authService.getLogger().verbose(\"Interceptor - no active account, fallback to first account\");\n account = this.authService.instance.getAllAccounts()[0];\n }\n const authRequest = typeof this.msalInterceptorConfig.authRequest === \"function\"\n ? this.msalInterceptorConfig.authRequest(this.authService, req, { account: account })\n : Object.assign(Object.assign({}, this.msalInterceptorConfig.authRequest), { account });\n this.authService.getLogger().info(`Interceptor - ${scopes.length} scopes found for endpoint`);\n this.authService.getLogger().infoPii(`Interceptor - [${scopes}] scopes found for ${req.url}`);\n // Note: For MSA accounts, include openid scope when calling acquireTokenSilent to return idToken\n return this.authService.acquireTokenSilent(Object.assign(Object.assign({}, authRequest), { scopes, account }))\n .pipe(catchError(() => {\n this.authService.getLogger().error(\"Interceptor - acquireTokenSilent rejected with error. Invoking interaction to resolve.\");\n return this.acquireTokenInteractively(authRequest, scopes);\n }), switchMap((result) => {\n if (!result.accessToken) {\n this.authService.getLogger().error(\"Interceptor - acquireTokenSilent resolved with null access token. Known issue with B2C tenants, invoking interaction to resolve.\");\n return this.acquireTokenInteractively(authRequest, scopes);\n }\n return of(result);\n }), switchMap((result) => {\n this.authService.getLogger().verbose(\"Interceptor - setting authorization headers\");\n const headers = req.headers\n .set(\"Authorization\", `Bearer ${result.accessToken}`);\n const requestClone = req.clone({ headers });\n return next.handle(requestClone);\n }));\n }\n /**\n * Invoke interaction for the given set of scopes\n * @param authRequest Request\n * @param scopes Array of scopes for the request\n * @returns Result from the interactive request\n */\n acquireTokenInteractively(authRequest, scopes) {\n if (this.msalInterceptorConfig.interactionType === InteractionType.Popup) {\n this.authService.getLogger().verbose(\"Interceptor - error acquiring token silently, acquiring by popup\");\n return this.authService.acquireTokenPopup(Object.assign(Object.assign({}, authRequest), { scopes }));\n }\n this.authService.getLogger().verbose(\"Interceptor - error acquiring token silently, acquiring by redirect\");\n const redirectStartPage = window.location.href;\n this.authService.acquireTokenRedirect(Object.assign(Object.assign({}, authRequest), { scopes, redirectStartPage }));\n return EMPTY;\n }\n /**\n * Looks up the scopes for the given endpoint from the protectedResourceMap\n * @param endpoint Url of the request\n * @param httpMethod Http method of the request\n * @returns Array of scopes, or null if not found\n *\n */\n getScopesForEndpoint(endpoint, httpMethod) {\n this.authService.getLogger().verbose(\"Interceptor - getting scopes for endpoint\");\n // Ensures endpoints and protected resources compared are normalized\n const normalizedEndpoint = this.location.normalize(endpoint);\n const protectedResourcesArray = Array.from(this.msalInterceptorConfig.protectedResourceMap.keys());\n const matchingProtectedResources = this.matchResourcesToEndpoint(protectedResourcesArray, normalizedEndpoint);\n // Check absolute urls of resources first before checking relative to prevent incorrect matching where multiple resources have similar relative urls\n if (matchingProtectedResources.absoluteResources.length > 0) {\n return this.matchScopesToEndpoint(this.msalInterceptorConfig.protectedResourceMap, matchingProtectedResources.absoluteResources, httpMethod);\n }\n else if (matchingProtectedResources.relativeResources.length > 0) {\n return this.matchScopesToEndpoint(this.msalInterceptorConfig.protectedResourceMap, matchingProtectedResources.relativeResources, httpMethod);\n }\n return null;\n }\n /**\n * Finds resource endpoints that match request endpoint\n * @param protectedResourcesEndpoints\n * @param endpoint\n * @returns\n */\n matchResourcesToEndpoint(protectedResourcesEndpoints, endpoint) {\n const matchingResources = { absoluteResources: [], relativeResources: [] };\n protectedResourcesEndpoints.forEach(key => {\n // Normalizes and adds resource to matchingResources.absoluteResources if key matches endpoint. StringUtils.matchPattern accounts for wildcards\n const normalizedKey = this.location.normalize(key);\n if (StringUtils.matchPattern(normalizedKey, endpoint)) {\n matchingResources.absoluteResources.push(key);\n }\n // Get url components for relative urls\n const absoluteKey = this.getAbsoluteUrl(key);\n const keyComponents = new UrlString(absoluteKey).getUrlComponents();\n const absoluteEndpoint = this.getAbsoluteUrl(endpoint);\n const endpointComponents = new UrlString(absoluteEndpoint).getUrlComponents();\n // Normalized key should include query strings if applicable\n const relativeNormalizedKey = keyComponents.QueryString ? `${keyComponents.AbsolutePath}?${keyComponents.QueryString}` : this.location.normalize(keyComponents.AbsolutePath);\n // Add resource to matchingResources.relativeResources if same origin, relativeKey matches endpoint, and is not empty\n if (keyComponents.HostNameAndPort === endpointComponents.HostNameAndPort && StringUtils.matchPattern(relativeNormalizedKey, absoluteEndpoint) && relativeNormalizedKey !== \"\" && relativeNormalizedKey !== \"/*\") {\n matchingResources.relativeResources.push(key);\n }\n });\n return matchingResources;\n }\n /**\n * Transforms relative urls to absolute urls\n * @param url\n * @returns\n */\n getAbsoluteUrl(url) {\n const link = this._document.createElement(\"a\");\n link.href = url;\n return link.href;\n }\n /**\n * Finds scopes from first matching endpoint with HTTP method that matches request\n * @param protectedResourceMap Protected resource map\n * @param endpointArray Array of resources that match request endpoint\n * @param httpMethod Http method of the request\n * @returns\n */\n matchScopesToEndpoint(protectedResourceMap, endpointArray, httpMethod) {\n const allMatchedScopes = [];\n // Check each matched endpoint for matching HttpMethod and scopes\n endpointArray.forEach(matchedEndpoint => {\n const scopesForEndpoint = [];\n const methodAndScopesArray = protectedResourceMap.get(matchedEndpoint);\n // Return if resource is unprotected\n if (methodAndScopesArray === null) {\n allMatchedScopes.push(null);\n return;\n }\n methodAndScopesArray.forEach(entry => {\n // Entry is either array of scopes or ProtectedResourceScopes object\n if (typeof entry === \"string\") {\n scopesForEndpoint.push(entry);\n }\n else {\n // Ensure methods being compared are normalized\n const normalizedRequestMethod = httpMethod.toLowerCase();\n const normalizedResourceMethod = entry.httpMethod.toLowerCase();\n // Method in protectedResourceMap matches request http method\n if (normalizedResourceMethod === normalizedRequestMethod) {\n // Validate if scopes comes null to unprotect the resource in a certain http method \n if (entry.scopes === null) {\n allMatchedScopes.push(null);\n }\n else {\n entry.scopes.forEach((scope) => {\n scopesForEndpoint.push(scope);\n });\n }\n }\n }\n });\n // Only add to all scopes if scopes for endpoint and method is found\n if (scopesForEndpoint.length > 0) {\n allMatchedScopes.push(scopesForEndpoint);\n }\n });\n if (allMatchedScopes.length > 0) {\n if (allMatchedScopes.length > 1) {\n this.authService.getLogger().warning(\"Interceptor - More than 1 matching scopes for endpoint found.\");\n }\n // Returns scopes for first matching endpoint\n return allMatchedScopes[0];\n }\n return null;\n }\n}\nMsalInterceptor.ɵfac = function MsalInterceptor_Factory(t) { return new (t || MsalInterceptor)(ɵngcc0.ɵɵinject(MSAL_INTERCEPTOR_CONFIG), ɵngcc0.ɵɵinject(MsalService), ɵngcc0.ɵɵinject(ɵngcc1.Location), ɵngcc0.ɵɵinject(DOCUMENT)); };\nMsalInterceptor.ɵprov = /*@__PURE__*/ ɵngcc0.ɵɵdefineInjectable({ token: MsalInterceptor, factory: MsalInterceptor.ɵfac });\nMsalInterceptor.ctorParameters = () => [\n { type: undefined, decorators: [{ type: Inject, args: [MSAL_INTERCEPTOR_CONFIG,] }] },\n { type: MsalService },\n { type: Location },\n { type: undefined, decorators: [{ type: Inject, args: [DOCUMENT,] }] }\n];\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(MsalInterceptor, [{\n type: Injectable\n }], function () { return [{ type: undefined, decorators: [{\n type: Inject,\n args: [MSAL_INTERCEPTOR_CONFIG]\n }] }, { type: MsalService }, { type: ɵngcc1.Location }, { type: undefined, decorators: [{\n type: Inject,\n args: [DOCUMENT]\n }] }]; }, null); })();\n\n/*\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License.\n */\nclass MsalRedirectComponent {\n constructor(authService) {\n this.authService = authService;\n }\n ngOnInit() {\n this.authService.getLogger().verbose(\"MsalRedirectComponent activated\");\n this.authService.initialize().pipe(concatMap(() => {\n return this.authService.handleRedirectObservable();\n })).subscribe();\n }\n}\nMsalRedirectComponent.ɵfac = function MsalRedirectComponent_Factory(t) { return new (t || MsalRedirectComponent)(ɵngcc0.ɵɵdirectiveInject(MsalService)); };\nMsalRedirectComponent.ɵcmp = /*@__PURE__*/ ɵngcc0.ɵɵdefineComponent({ type: MsalRedirectComponent, selectors: [[\"app-redirect\"]], decls: 0, vars: 0, template: function MsalRedirectComponent_Template(rf, ctx) { }, encapsulation: 2 });\nMsalRedirectComponent.ctorParameters = () => [\n { type: MsalService }\n];\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(MsalRedirectComponent, [{\n type: Component,\n args: [{\n selector: \"app-redirect\",\n template: \"\"\n }]\n }], function () { return [{ type: MsalService }]; }, null); })();\n\n/*\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License.\n */\nclass MsalModule {\n static forRoot(msalInstance, guardConfig, interceptorConfig) {\n return {\n ngModule: MsalModule,\n providers: [\n {\n provide: MSAL_INSTANCE,\n useValue: msalInstance\n },\n {\n provide: MSAL_GUARD_CONFIG,\n useValue: guardConfig\n },\n {\n provide: MSAL_INTERCEPTOR_CONFIG,\n useValue: interceptorConfig\n },\n MsalService\n ]\n };\n }\n}\nMsalModule.ɵfac = function MsalModule_Factory(t) { return new (t || MsalModule)(); };\nMsalModule.ɵmod = /*@__PURE__*/ ɵngcc0.ɵɵdefineNgModule({ type: MsalModule });\nMsalModule.ɵinj = /*@__PURE__*/ ɵngcc0.ɵɵdefineInjector({ providers: [\n MsalGuard,\n MsalBroadcastService\n ], imports: [[\n CommonModule\n ]] });\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(MsalModule, [{\n type: NgModule,\n args: [{\n declarations: [MsalRedirectComponent],\n imports: [\n CommonModule\n ],\n providers: [\n MsalGuard,\n MsalBroadcastService\n ]\n }]\n }], null, null); })();\n(function () { (typeof ngJitMode === \"undefined\" || ngJitMode) && ɵngcc0.ɵɵsetNgModuleScope(MsalModule, { declarations: function () { return [MsalRedirectComponent]; }, imports: function () { return [CommonModule]; } }); })();\n\n/*\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License.\n */\n/**\n * Custom navigation used for Angular client-side navigation.\n * See performance doc for details:\n * https://github.com/AzureAD/microsoft-authentication-library-for-js/tree/dev/lib/msal-angular/docs/v2-docs/performance.md\n */\nclass MsalCustomNavigationClient extends NavigationClient {\n constructor(authService, router, location) {\n super();\n this.authService = authService;\n this.router = router;\n this.location = location;\n }\n navigateInternal(url, options) {\n const _super = Object.create(null, {\n navigateInternal: { get: () => super.navigateInternal }\n });\n return __awaiter(this, void 0, void 0, function* () {\n this.authService.getLogger().trace(\"MsalCustomNavigationClient called\");\n this.authService.getLogger().verbose(\"MsalCustomNavigationClient - navigating\");\n this.authService.getLogger().verbosePii(`MsalCustomNavigationClient - navigating to url: ${url}`);\n // Prevent hash clearing from causing an issue with Client-side navigation after redirect is handled\n if (options.noHistory) {\n return _super.navigateInternal.call(this, url, options);\n }\n else {\n // Normalizing newUrl if no query string\n const urlComponents = new UrlString(url).getUrlComponents();\n const newUrl = urlComponents.QueryString ? `${urlComponents.AbsolutePath}?${urlComponents.QueryString}` : this.location.normalize(urlComponents.AbsolutePath);\n this.router.navigateByUrl(newUrl, { replaceUrl: options.noHistory });\n }\n return Promise.resolve(options.noHistory);\n });\n }\n}\nMsalCustomNavigationClient.ɵfac = function MsalCustomNavigationClient_Factory(t) { return new (t || MsalCustomNavigationClient)(ɵngcc0.ɵɵinject(MsalService), ɵngcc0.ɵɵinject(ɵngcc2.Router), ɵngcc0.ɵɵinject(ɵngcc1.Location)); };\nMsalCustomNavigationClient.ɵprov = /*@__PURE__*/ ɵngcc0.ɵɵdefineInjectable({ token: MsalCustomNavigationClient, factory: MsalCustomNavigationClient.ɵfac });\nMsalCustomNavigationClient.ctorParameters = () => [\n { type: MsalService },\n { type: Router },\n { type: Location }\n];\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(MsalCustomNavigationClient, [{\n type: Injectable\n }], function () { return [{ type: MsalService }, { type: ɵngcc2.Router }, { type: ɵngcc1.Location }]; }, null); })();\n\n/*\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License.\n */\n\n/**\n * Generated bundle index. Do not edit.\n */\n\nexport { MSAL_BROADCAST_CONFIG, MSAL_GUARD_CONFIG, MSAL_INSTANCE, MSAL_INTERCEPTOR_CONFIG, MsalBroadcastService, MsalCustomNavigationClient, MsalGuard, MsalInterceptor, MsalModule, MsalRedirectComponent, MsalService, version };\n\n","/*! @azure/msal-browser v2.32.1 2022-12-07 */\n'use strict';\n/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nfunction __extends(d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nvar __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n };\r\n return __assign.apply(this, arguments);\r\n};\r\n\r\nfunction __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nfunction __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nfunction __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nfunction __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nfunction __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\n\nexport { __assign, __awaiter, __extends, __generator, __read, __rest, __spread };\n","/*! @azure/msal-browser v2.32.1 2022-12-07 */\n'use strict';\nimport { __awaiter, __generator, __assign } from '../_virtual/_tslib.js';\nimport { CryptoOps } from '../crypto/CryptoOps.js';\nimport { Constants, InteractionRequiredAuthError, PerformanceEvents, AuthError, ClientAuthError, StringUtils, PromptValue, Logger, StubPerformanceClient, DEFAULT_CRYPTO_IMPLEMENTATION } from '@azure/msal-common';\nimport { BrowserCacheManager, DEFAULT_BROWSER_CACHE_MANAGER } from '../cache/BrowserCacheManager.js';\nimport { buildConfiguration } from '../config/Configuration.js';\nimport { InteractionType, ApiId, TemporaryCacheKeys, CacheLookupPolicy, BrowserCacheLocation } from '../utils/BrowserConstants.js';\nimport { BrowserUtils } from '../utils/BrowserUtils.js';\nimport { name, version } from '../packageMetadata.js';\nimport { EventType } from '../event/EventType.js';\nimport { BrowserConfigurationAuthError } from '../error/BrowserConfigurationAuthError.js';\nimport { EventHandler } from '../event/EventHandler.js';\nimport { PopupClient } from '../interaction_client/PopupClient.js';\nimport { RedirectClient } from '../interaction_client/RedirectClient.js';\nimport { SilentIframeClient } from '../interaction_client/SilentIframeClient.js';\nimport { SilentRefreshClient } from '../interaction_client/SilentRefreshClient.js';\nimport { TokenCache } from '../cache/TokenCache.js';\nimport { NativeInteractionClient } from '../interaction_client/NativeInteractionClient.js';\nimport { NativeMessageHandler } from '../broker/nativeBroker/NativeMessageHandler.js';\nimport { NativeAuthError } from '../error/NativeAuthError.js';\nimport { SilentCacheClient } from '../interaction_client/SilentCacheClient.js';\nimport { SilentAuthCodeClient } from '../interaction_client/SilentAuthCodeClient.js';\nimport { BrowserAuthError } from '../error/BrowserAuthError.js';\nimport { BrowserPerformanceClient } from '../telemetry/BrowserPerformanceClient.js';\n\n/*\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * Licensed under the MIT License.\r\n */\r\nvar ClientApplication = /** @class */ (function () {\r\n /**\r\n * @constructor\r\n * Constructor for the PublicClientApplication used to instantiate the PublicClientApplication object\r\n *\r\n * Important attributes in the Configuration object for auth are:\r\n * - clientID: the application ID of your application. You can obtain one by registering your application with our Application registration portal : https://portal.azure.com/#blade/Microsoft_AAD_IAM/ActiveDirectoryMenuBlade/RegisteredAppsPreview\r\n * - authority: the authority URL for your application.\r\n * - redirect_uri: the uri of your application registered in the portal.\r\n *\r\n * In Azure AD, authority is a URL indicating the Azure active directory that MSAL uses to obtain tokens.\r\n * It is of the form https://login.microsoftonline.com/{Enter_the_Tenant_Info_Here}\r\n * If your application supports Accounts in one organizational directory, replace \"Enter_the_Tenant_Info_Here\" value with the Tenant Id or Tenant name (for example, contoso.microsoft.com).\r\n * If your application supports Accounts in any organizational directory, replace \"Enter_the_Tenant_Info_Here\" value with organizations.\r\n * If your application supports Accounts in any organizational directory and personal Microsoft accounts, replace \"Enter_the_Tenant_Info_Here\" value with common.\r\n * To restrict support to Personal Microsoft accounts only, replace \"Enter_the_Tenant_Info_Here\" value with consumers.\r\n *\r\n * In Azure B2C, authority is of the form https://{instance}/tfp/{tenant}/{policyName}/\r\n * Full B2C functionality will be available in this library in future versions.\r\n *\r\n * @param configuration Object for the MSAL PublicClientApplication instance\r\n */\r\n function ClientApplication(configuration) {\r\n /*\r\n * If loaded in an environment where window is not available,\r\n * set internal flag to false so that further requests fail.\r\n * This is to support server-side rendering environments.\r\n */\r\n this.isBrowserEnvironment = typeof window !== \"undefined\";\r\n // Set the configuration.\r\n this.config = buildConfiguration(configuration, this.isBrowserEnvironment);\r\n this.initialized = false;\r\n // Initialize logger\r\n this.logger = new Logger(this.config.system.loggerOptions, name, version);\r\n // Initialize the network module class.\r\n this.networkClient = this.config.system.networkClient;\r\n // Initialize the navigation client class.\r\n this.navigationClient = this.config.system.navigationClient;\r\n // Initialize redirectResponse Map\r\n this.redirectResponse = new Map();\r\n // Initial hybrid spa map\r\n this.hybridAuthCodeResponses = new Map();\r\n // Initialize performance client\r\n this.performanceClient = this.isBrowserEnvironment ?\r\n new BrowserPerformanceClient(this.config.auth.clientId, this.config.auth.authority, this.logger, name, version, this.config.telemetry.application, this.config.system.cryptoOptions) :\r\n new StubPerformanceClient(this.config.auth.clientId, this.config.auth.authority, this.logger, name, version, this.config.telemetry.application);\r\n // Initialize the crypto class.\r\n this.browserCrypto = this.isBrowserEnvironment ? new CryptoOps(this.logger, this.performanceClient, this.config.system.cryptoOptions) : DEFAULT_CRYPTO_IMPLEMENTATION;\r\n this.eventHandler = new EventHandler(this.logger, this.browserCrypto);\r\n // Initialize the browser storage class.\r\n this.browserStorage = this.isBrowserEnvironment ?\r\n new BrowserCacheManager(this.config.auth.clientId, this.config.cache, this.browserCrypto, this.logger) :\r\n DEFAULT_BROWSER_CACHE_MANAGER(this.config.auth.clientId, this.logger);\r\n // initialize in memory storage for native flows\r\n var nativeCacheOptions = {\r\n cacheLocation: BrowserCacheLocation.MemoryStorage,\r\n storeAuthStateInCookie: false,\r\n secureCookies: false\r\n };\r\n this.nativeInternalStorage = new BrowserCacheManager(this.config.auth.clientId, nativeCacheOptions, this.browserCrypto, this.logger);\r\n // Initialize the token cache\r\n this.tokenCache = new TokenCache(this.config, this.browserStorage, this.logger, this.browserCrypto);\r\n }\r\n /**\r\n * Initializer function to perform async startup tasks such as connecting to WAM extension\r\n */\r\n ClientApplication.prototype.initialize = function () {\r\n return __awaiter(this, void 0, void 0, function () {\r\n var _a, e_1;\r\n return __generator(this, function (_b) {\r\n switch (_b.label) {\r\n case 0:\r\n this.logger.trace(\"initialize called\");\r\n if (this.initialized) {\r\n this.logger.info(\"initialize has already been called, exiting early.\");\r\n return [2 /*return*/];\r\n }\r\n this.eventHandler.emitEvent(EventType.INITIALIZE_START);\r\n if (!this.config.system.allowNativeBroker) return [3 /*break*/, 4];\r\n _b.label = 1;\r\n case 1:\r\n _b.trys.push([1, 3, , 4]);\r\n _a = this;\r\n return [4 /*yield*/, NativeMessageHandler.createProvider(this.logger, this.config.system.nativeBrokerHandshakeTimeout)];\r\n case 2:\r\n _a.nativeExtensionProvider = _b.sent();\r\n return [3 /*break*/, 4];\r\n case 3:\r\n e_1 = _b.sent();\r\n this.logger.verbose(e_1);\r\n return [3 /*break*/, 4];\r\n case 4:\r\n this.initialized = true;\r\n this.eventHandler.emitEvent(EventType.INITIALIZE_END);\r\n return [2 /*return*/];\r\n }\r\n });\r\n });\r\n };\r\n // #region Redirect Flow\r\n /**\r\n * Event handler function which allows users to fire events after the PublicClientApplication object\r\n * has loaded during redirect flows. This should be invoked on all page loads involved in redirect\r\n * auth flows.\r\n * @param hash Hash to process. Defaults to the current value of window.location.hash. Only needs to be provided explicitly if the response to be handled is not contained in the current value.\r\n * @returns Token response or null. If the return value is null, then no auth redirect was detected.\r\n */\r\n ClientApplication.prototype.handleRedirectPromise = function (hash) {\r\n return __awaiter(this, void 0, void 0, function () {\r\n var loggedInAccounts, redirectResponseKey, response, request, redirectResponse, nativeClient, correlationId, redirectClient;\r\n var _this = this;\r\n return __generator(this, function (_a) {\r\n this.logger.verbose(\"handleRedirectPromise called\");\r\n // Block token acquisition before initialize has been called if native brokering is enabled\r\n BrowserUtils.blockNativeBrokerCalledBeforeInitialized(this.config.system.allowNativeBroker, this.initialized);\r\n loggedInAccounts = this.getAllAccounts();\r\n if (this.isBrowserEnvironment) {\r\n redirectResponseKey = hash || Constants.EMPTY_STRING;\r\n response = this.redirectResponse.get(redirectResponseKey);\r\n if (typeof response === \"undefined\") {\r\n this.eventHandler.emitEvent(EventType.HANDLE_REDIRECT_START, InteractionType.Redirect);\r\n this.logger.verbose(\"handleRedirectPromise has been called for the first time, storing the promise\");\r\n request = this.browserStorage.getCachedNativeRequest();\r\n redirectResponse = void 0;\r\n if (request && NativeMessageHandler.isNativeAvailable(this.config, this.logger, this.nativeExtensionProvider) && this.nativeExtensionProvider && !hash) {\r\n this.logger.trace(\"handleRedirectPromise - acquiring token from native platform\");\r\n nativeClient = new NativeInteractionClient(this.config, this.browserStorage, this.browserCrypto, this.logger, this.eventHandler, this.navigationClient, ApiId.handleRedirectPromise, this.performanceClient, this.nativeExtensionProvider, request.accountId, this.nativeInternalStorage, request.correlationId);\r\n redirectResponse = nativeClient.handleRedirectPromise();\r\n }\r\n else {\r\n this.logger.trace(\"handleRedirectPromise - acquiring token from web flow\");\r\n correlationId = this.browserStorage.getTemporaryCache(TemporaryCacheKeys.CORRELATION_ID, true) || Constants.EMPTY_STRING;\r\n redirectClient = this.createRedirectClient(correlationId);\r\n redirectResponse = redirectClient.handleRedirectPromise(hash);\r\n }\r\n response = redirectResponse.then(function (result) {\r\n if (result) {\r\n // Emit login event if number of accounts change\r\n var isLoggingIn = loggedInAccounts.length < _this.getAllAccounts().length;\r\n if (isLoggingIn) {\r\n _this.eventHandler.emitEvent(EventType.LOGIN_SUCCESS, InteractionType.Redirect, result);\r\n _this.logger.verbose(\"handleRedirectResponse returned result, login success\");\r\n }\r\n else {\r\n _this.eventHandler.emitEvent(EventType.ACQUIRE_TOKEN_SUCCESS, InteractionType.Redirect, result);\r\n _this.logger.verbose(\"handleRedirectResponse returned result, acquire token success\");\r\n }\r\n }\r\n _this.eventHandler.emitEvent(EventType.HANDLE_REDIRECT_END, InteractionType.Redirect);\r\n return result;\r\n }).catch(function (e) {\r\n // Emit login event if there is an account\r\n if (loggedInAccounts.length > 0) {\r\n _this.eventHandler.emitEvent(EventType.ACQUIRE_TOKEN_FAILURE, InteractionType.Redirect, null, e);\r\n }\r\n else {\r\n _this.eventHandler.emitEvent(EventType.LOGIN_FAILURE, InteractionType.Redirect, null, e);\r\n }\r\n _this.eventHandler.emitEvent(EventType.HANDLE_REDIRECT_END, InteractionType.Redirect);\r\n throw e;\r\n });\r\n this.redirectResponse.set(redirectResponseKey, response);\r\n }\r\n else {\r\n this.logger.verbose(\"handleRedirectPromise has been called previously, returning the result from the first call\");\r\n }\r\n return [2 /*return*/, response];\r\n }\r\n this.logger.verbose(\"handleRedirectPromise returns null, not browser environment\");\r\n return [2 /*return*/, null];\r\n });\r\n });\r\n };\r\n /**\r\n * Use when you want to obtain an access_token for your API by redirecting the user's browser window to the authorization endpoint. This function redirects\r\n * the page, so any code that follows this function will not execute.\r\n *\r\n * IMPORTANT: It is NOT recommended to have code that is dependent on the resolution of the Promise. This function will navigate away from the current\r\n * browser window. It currently returns a Promise in order to reflect the asynchronous nature of the code running in this function.\r\n *\r\n * @param request\r\n */\r\n ClientApplication.prototype.acquireTokenRedirect = function (request) {\r\n return __awaiter(this, void 0, void 0, function () {\r\n var correlationId, isLoggedIn, result, nativeClient, redirectClient;\r\n var _this = this;\r\n return __generator(this, function (_a) {\r\n correlationId = this.getRequestCorrelationId(request);\r\n this.logger.verbose(\"acquireTokenRedirect called\", correlationId);\r\n this.preflightBrowserEnvironmentCheck(InteractionType.Redirect);\r\n isLoggedIn = this.getAllAccounts().length > 0;\r\n if (isLoggedIn) {\r\n this.eventHandler.emitEvent(EventType.ACQUIRE_TOKEN_START, InteractionType.Redirect, request);\r\n }\r\n else {\r\n this.eventHandler.emitEvent(EventType.LOGIN_START, InteractionType.Redirect, request);\r\n }\r\n if (this.nativeExtensionProvider && this.canUseNative(request)) {\r\n nativeClient = new NativeInteractionClient(this.config, this.browserStorage, this.browserCrypto, this.logger, this.eventHandler, this.navigationClient, ApiId.acquireTokenRedirect, this.performanceClient, this.nativeExtensionProvider, this.getNativeAccountId(request), this.nativeInternalStorage, request.correlationId);\r\n result = nativeClient.acquireTokenRedirect(request).catch(function (e) {\r\n if (e instanceof NativeAuthError && e.isFatal()) {\r\n _this.nativeExtensionProvider = undefined; // If extension gets uninstalled during session prevent future requests from continuing to attempt\r\n var redirectClient = _this.createRedirectClient(request.correlationId);\r\n return redirectClient.acquireToken(request);\r\n }\r\n else if (e instanceof InteractionRequiredAuthError) {\r\n _this.logger.verbose(\"acquireTokenRedirect - Resolving interaction required error thrown by native broker by falling back to web flow\");\r\n var redirectClient = _this.createRedirectClient(request.correlationId);\r\n return redirectClient.acquireToken(request);\r\n }\r\n _this.browserStorage.setInteractionInProgress(false);\r\n throw e;\r\n });\r\n }\r\n else {\r\n redirectClient = this.createRedirectClient(request.correlationId);\r\n result = redirectClient.acquireToken(request);\r\n }\r\n return [2 /*return*/, result.catch(function (e) {\r\n // If logged in, emit acquire token events\r\n if (isLoggedIn) {\r\n _this.eventHandler.emitEvent(EventType.ACQUIRE_TOKEN_FAILURE, InteractionType.Redirect, null, e);\r\n }\r\n else {\r\n _this.eventHandler.emitEvent(EventType.LOGIN_FAILURE, InteractionType.Redirect, null, e);\r\n }\r\n throw e;\r\n })];\r\n });\r\n });\r\n };\r\n // #endregion\r\n // #region Popup Flow\r\n /**\r\n * Use when you want to obtain an access_token for your API via opening a popup window in the user's browser\r\n *\r\n * @param request\r\n *\r\n * @returns A promise that is fulfilled when this function has completed, or rejected if an error was raised.\r\n */\r\n ClientApplication.prototype.acquireTokenPopup = function (request) {\r\n var _this = this;\r\n var correlationId = this.getRequestCorrelationId(request);\r\n var atPopupMeasurement = this.performanceClient.startMeasurement(PerformanceEvents.AcquireTokenPopup, correlationId);\r\n try {\r\n this.logger.verbose(\"acquireTokenPopup called\", correlationId);\r\n this.preflightBrowserEnvironmentCheck(InteractionType.Popup);\r\n }\r\n catch (e) {\r\n // Since this function is syncronous we need to reject\r\n return Promise.reject(e);\r\n }\r\n // If logged in, emit acquire token events\r\n var loggedInAccounts = this.getAllAccounts();\r\n if (loggedInAccounts.length > 0) {\r\n this.eventHandler.emitEvent(EventType.ACQUIRE_TOKEN_START, InteractionType.Popup, request);\r\n }\r\n else {\r\n this.eventHandler.emitEvent(EventType.LOGIN_START, InteractionType.Popup, request);\r\n }\r\n var result;\r\n if (this.canUseNative(request)) {\r\n result = this.acquireTokenNative(request, ApiId.acquireTokenPopup).then(function (response) {\r\n _this.browserStorage.setInteractionInProgress(false);\r\n atPopupMeasurement.endMeasurement({\r\n success: true,\r\n isNativeBroker: true,\r\n requestId: response.requestId\r\n });\r\n atPopupMeasurement.flushMeasurement();\r\n return response;\r\n }).catch(function (e) {\r\n if (e instanceof NativeAuthError && e.isFatal()) {\r\n _this.nativeExtensionProvider = undefined; // If extension gets uninstalled during session prevent future requests from continuing to attempt\r\n var popupClient = _this.createPopupClient(request.correlationId);\r\n return popupClient.acquireToken(request);\r\n }\r\n else if (e instanceof InteractionRequiredAuthError) {\r\n _this.logger.verbose(\"acquireTokenPopup - Resolving interaction required error thrown by native broker by falling back to web flow\");\r\n var popupClient = _this.createPopupClient(request.correlationId);\r\n return popupClient.acquireToken(request);\r\n }\r\n _this.browserStorage.setInteractionInProgress(false);\r\n throw e;\r\n });\r\n }\r\n else {\r\n var popupClient = this.createPopupClient(request.correlationId);\r\n result = popupClient.acquireToken(request);\r\n }\r\n return result.then(function (result) {\r\n /*\r\n * If logged in, emit acquire token events\r\n */\r\n var isLoggingIn = loggedInAccounts.length < _this.getAllAccounts().length;\r\n if (isLoggingIn) {\r\n _this.eventHandler.emitEvent(EventType.LOGIN_SUCCESS, InteractionType.Popup, result);\r\n }\r\n else {\r\n _this.eventHandler.emitEvent(EventType.ACQUIRE_TOKEN_SUCCESS, InteractionType.Popup, result);\r\n }\r\n atPopupMeasurement.addStaticFields({\r\n accessTokenSize: result.accessToken.length,\r\n idTokenSize: result.idToken.length\r\n });\r\n atPopupMeasurement.endMeasurement({\r\n success: true,\r\n requestId: result.requestId\r\n });\r\n atPopupMeasurement.flushMeasurement();\r\n return result;\r\n }).catch(function (e) {\r\n if (loggedInAccounts.length > 0) {\r\n _this.eventHandler.emitEvent(EventType.ACQUIRE_TOKEN_FAILURE, InteractionType.Popup, null, e);\r\n }\r\n else {\r\n _this.eventHandler.emitEvent(EventType.LOGIN_FAILURE, InteractionType.Popup, null, e);\r\n }\r\n atPopupMeasurement.endMeasurement({\r\n errorCode: e.errorCode,\r\n subErrorCode: e.subError,\r\n success: false\r\n });\r\n atPopupMeasurement.flushMeasurement();\r\n // Since this function is syncronous we need to reject\r\n return Promise.reject(e);\r\n });\r\n };\r\n // #endregion\r\n // #region Silent Flow\r\n /**\r\n * This function uses a hidden iframe to fetch an authorization code from the eSTS. There are cases where this may not work:\r\n * - Any browser using a form of Intelligent Tracking Prevention\r\n * - If there is not an established session with the service\r\n *\r\n * In these cases, the request must be done inside a popup or full frame redirect.\r\n *\r\n * For the cases where interaction is required, you cannot send a request with prompt=none.\r\n *\r\n * If your refresh token has expired, you can use this function to fetch a new set of tokens silently as long as\r\n * you session on the server still exists.\r\n * @param request {@link SsoSilentRequest}\r\n *\r\n * @returns A promise that is fulfilled when this function has completed, or rejected if an error was raised.\r\n */\r\n ClientApplication.prototype.ssoSilent = function (request) {\r\n return __awaiter(this, void 0, void 0, function () {\r\n var correlationId, validRequest, ssoSilentMeasurement, result, silentIframeClient;\r\n var _this = this;\r\n return __generator(this, function (_a) {\r\n correlationId = this.getRequestCorrelationId(request);\r\n validRequest = __assign(__assign({}, request), { \r\n // will be PromptValue.NONE or PromptValue.NO_SESSION\r\n prompt: request.prompt, correlationId: correlationId });\r\n this.preflightBrowserEnvironmentCheck(InteractionType.Silent);\r\n ssoSilentMeasurement = this.performanceClient.startMeasurement(PerformanceEvents.SsoSilent, correlationId);\r\n this.logger.verbose(\"ssoSilent called\", correlationId);\r\n this.eventHandler.emitEvent(EventType.SSO_SILENT_START, InteractionType.Silent, validRequest);\r\n if (this.canUseNative(validRequest)) {\r\n result = this.acquireTokenNative(validRequest, ApiId.ssoSilent).catch(function (e) {\r\n // If native token acquisition fails for availability reasons fallback to standard flow\r\n if (e instanceof NativeAuthError && e.isFatal()) {\r\n _this.nativeExtensionProvider = undefined; // If extension gets uninstalled during session prevent future requests from continuing to attempt\r\n var silentIframeClient = _this.createSilentIframeClient(validRequest.correlationId);\r\n return silentIframeClient.acquireToken(validRequest);\r\n }\r\n throw e;\r\n });\r\n }\r\n else {\r\n silentIframeClient = this.createSilentIframeClient(validRequest.correlationId);\r\n result = silentIframeClient.acquireToken(validRequest);\r\n }\r\n return [2 /*return*/, result.then(function (response) {\r\n _this.eventHandler.emitEvent(EventType.SSO_SILENT_SUCCESS, InteractionType.Silent, response);\r\n ssoSilentMeasurement.addStaticFields({\r\n accessTokenSize: response.accessToken.length,\r\n idTokenSize: response.idToken.length\r\n });\r\n ssoSilentMeasurement.endMeasurement({\r\n success: true,\r\n isNativeBroker: response.fromNativeBroker,\r\n requestId: response.requestId\r\n });\r\n ssoSilentMeasurement.flushMeasurement();\r\n return response;\r\n }).catch(function (e) {\r\n _this.eventHandler.emitEvent(EventType.SSO_SILENT_FAILURE, InteractionType.Silent, null, e);\r\n ssoSilentMeasurement.endMeasurement({\r\n errorCode: e.errorCode,\r\n subErrorCode: e.subError,\r\n success: false\r\n });\r\n ssoSilentMeasurement.flushMeasurement();\r\n throw e;\r\n })];\r\n });\r\n });\r\n };\r\n /**\r\n * This function redeems an authorization code (passed as code) from the eSTS token endpoint.\r\n * This authorization code should be acquired server-side using a confidential client to acquire a spa_code.\r\n * This API is not indended for normal authorization code acquisition and redemption.\r\n *\r\n * Redemption of this authorization code will not require PKCE, as it was acquired by a confidential client.\r\n *\r\n * @param request {@link AuthorizationCodeRequest}\r\n * @returns A promise that is fulfilled when this function has completed, or rejected if an error was raised.\r\n */\r\n ClientApplication.prototype.acquireTokenByCode = function (request) {\r\n return __awaiter(this, void 0, void 0, function () {\r\n var correlationId, atbcMeasurement, hybridAuthCode_1, response;\r\n var _this = this;\r\n return __generator(this, function (_a) {\r\n correlationId = this.getRequestCorrelationId(request);\r\n this.preflightBrowserEnvironmentCheck(InteractionType.Silent);\r\n this.logger.trace(\"acquireTokenByCode called\", correlationId);\r\n this.eventHandler.emitEvent(EventType.ACQUIRE_TOKEN_BY_CODE_START, InteractionType.Silent, request);\r\n atbcMeasurement = this.performanceClient.startMeasurement(PerformanceEvents.AcquireTokenByCode, request.correlationId);\r\n try {\r\n if (request.code) {\r\n hybridAuthCode_1 = request.code;\r\n response = this.hybridAuthCodeResponses.get(hybridAuthCode_1);\r\n if (!response) {\r\n this.logger.verbose(\"Initiating new acquireTokenByCode request\", correlationId);\r\n response = this.acquireTokenByCodeAsync(__assign(__assign({}, request), { correlationId: correlationId }))\r\n .then(function (result) {\r\n _this.eventHandler.emitEvent(EventType.ACQUIRE_TOKEN_BY_CODE_SUCCESS, InteractionType.Silent, result);\r\n _this.hybridAuthCodeResponses.delete(hybridAuthCode_1);\r\n atbcMeasurement.addStaticFields({\r\n accessTokenSize: result.accessToken.length,\r\n idTokenSize: result.idToken.length\r\n });\r\n atbcMeasurement.endMeasurement({\r\n success: true,\r\n isNativeBroker: result.fromNativeBroker,\r\n requestId: result.requestId\r\n });\r\n atbcMeasurement.flushMeasurement();\r\n return result;\r\n })\r\n .catch(function (error) {\r\n _this.hybridAuthCodeResponses.delete(hybridAuthCode_1);\r\n _this.eventHandler.emitEvent(EventType.ACQUIRE_TOKEN_BY_CODE_FAILURE, InteractionType.Silent, null, error);\r\n atbcMeasurement.endMeasurement({\r\n errorCode: error.errorCode,\r\n subErrorCode: error.subError,\r\n success: false\r\n });\r\n atbcMeasurement.flushMeasurement();\r\n throw error;\r\n });\r\n this.hybridAuthCodeResponses.set(hybridAuthCode_1, response);\r\n }\r\n else {\r\n this.logger.verbose(\"Existing acquireTokenByCode request found\", request.correlationId);\r\n atbcMeasurement.endMeasurement({\r\n success: true\r\n });\r\n atbcMeasurement.discardMeasurement();\r\n }\r\n return [2 /*return*/, response];\r\n }\r\n else if (request.nativeAccountId) {\r\n if (this.canUseNative(request, request.nativeAccountId)) {\r\n return [2 /*return*/, this.acquireTokenNative(request, ApiId.acquireTokenByCode, request.nativeAccountId).catch(function (e) {\r\n // If native token acquisition fails for availability reasons fallback to standard flow\r\n if (e instanceof NativeAuthError && e.isFatal()) {\r\n _this.nativeExtensionProvider = undefined; // If extension gets uninstalled during session prevent future requests from continuing to attempt\r\n }\r\n throw e;\r\n })];\r\n }\r\n else {\r\n throw BrowserAuthError.createUnableToAcquireTokenFromNativePlatformError();\r\n }\r\n }\r\n else {\r\n throw BrowserAuthError.createAuthCodeOrNativeAccountIdRequiredError();\r\n }\r\n }\r\n catch (e) {\r\n this.eventHandler.emitEvent(EventType.ACQUIRE_TOKEN_BY_CODE_FAILURE, InteractionType.Silent, null, e);\r\n atbcMeasurement.endMeasurement({\r\n errorCode: e instanceof AuthError && e.errorCode || undefined,\r\n subErrorCode: e instanceof AuthError && e.subError || undefined,\r\n success: false\r\n });\r\n throw e;\r\n }\r\n return [2 /*return*/];\r\n });\r\n });\r\n };\r\n /**\r\n * Creates a SilentAuthCodeClient to redeem an authorization code.\r\n * @param request\r\n * @returns Result of the operation to redeem the authorization code\r\n */\r\n ClientApplication.prototype.acquireTokenByCodeAsync = function (request) {\r\n return __awaiter(this, void 0, void 0, function () {\r\n var silentAuthCodeClient, silentTokenResult;\r\n return __generator(this, function (_a) {\r\n switch (_a.label) {\r\n case 0:\r\n this.logger.trace(\"acquireTokenByCodeAsync called\", request.correlationId);\r\n silentAuthCodeClient = this.createSilentAuthCodeClient(request.correlationId);\r\n return [4 /*yield*/, silentAuthCodeClient.acquireToken(request)];\r\n case 1:\r\n silentTokenResult = _a.sent();\r\n return [2 /*return*/, silentTokenResult];\r\n }\r\n });\r\n });\r\n };\r\n /**\r\n * Attempt to acquire an access token from the cache\r\n * @param silentCacheClient SilentCacheClient\r\n * @param commonRequest CommonSilentFlowRequest\r\n * @param silentRequest SilentRequest\r\n * @returns A promise that, when resolved, returns the access token\r\n */\r\n ClientApplication.prototype.acquireTokenFromCache = function (silentCacheClient, commonRequest, silentRequest) {\r\n return __awaiter(this, void 0, void 0, function () {\r\n return __generator(this, function (_a) {\r\n switch (silentRequest.cacheLookupPolicy) {\r\n case CacheLookupPolicy.Default:\r\n case CacheLookupPolicy.AccessToken:\r\n case CacheLookupPolicy.AccessTokenAndRefreshToken:\r\n return [2 /*return*/, silentCacheClient.acquireToken(commonRequest)];\r\n default:\r\n throw ClientAuthError.createRefreshRequiredError();\r\n }\r\n return [2 /*return*/];\r\n });\r\n });\r\n };\r\n /**\r\n * Attempt to acquire an access token via a refresh token\r\n * @param commonRequest CommonSilentFlowRequest\r\n * @param silentRequest SilentRequest\r\n * @returns A promise that, when resolved, returns the access token\r\n */\r\n ClientApplication.prototype.acquireTokenByRefreshToken = function (commonRequest, silentRequest) {\r\n return __awaiter(this, void 0, void 0, function () {\r\n var silentRefreshClient;\r\n return __generator(this, function (_a) {\r\n switch (silentRequest.cacheLookupPolicy) {\r\n case CacheLookupPolicy.Default:\r\n case CacheLookupPolicy.AccessTokenAndRefreshToken:\r\n case CacheLookupPolicy.RefreshToken:\r\n case CacheLookupPolicy.RefreshTokenAndNetwork:\r\n silentRefreshClient = this.createSilentRefreshClient(commonRequest.correlationId);\r\n return [2 /*return*/, silentRefreshClient.acquireToken(commonRequest)];\r\n default:\r\n throw ClientAuthError.createRefreshRequiredError();\r\n }\r\n return [2 /*return*/];\r\n });\r\n });\r\n };\r\n /**\r\n * Attempt to acquire an access token via an iframe\r\n * @param request CommonSilentFlowRequest\r\n * @returns A promise that, when resolved, returns the access token\r\n */\r\n ClientApplication.prototype.acquireTokenBySilentIframe = function (request) {\r\n return __awaiter(this, void 0, void 0, function () {\r\n var silentIframeClient;\r\n return __generator(this, function (_a) {\r\n silentIframeClient = this.createSilentIframeClient(request.correlationId);\r\n return [2 /*return*/, silentIframeClient.acquireToken(request)];\r\n });\r\n });\r\n };\r\n // #endregion\r\n // #region Logout\r\n /**\r\n * Deprecated logout function. Use logoutRedirect or logoutPopup instead\r\n * @param logoutRequest\r\n * @deprecated\r\n */\r\n ClientApplication.prototype.logout = function (logoutRequest) {\r\n return __awaiter(this, void 0, void 0, function () {\r\n var correlationId;\r\n return __generator(this, function (_a) {\r\n correlationId = this.getRequestCorrelationId(logoutRequest);\r\n this.logger.warning(\"logout API is deprecated and will be removed in msal-browser v3.0.0. Use logoutRedirect instead.\", correlationId);\r\n return [2 /*return*/, this.logoutRedirect(__assign({ correlationId: correlationId }, logoutRequest))];\r\n });\r\n });\r\n };\r\n /**\r\n * Use to log out the current user, and redirect the user to the postLogoutRedirectUri.\r\n * Default behaviour is to redirect the user to `window.location.href`.\r\n * @param logoutRequest\r\n */\r\n ClientApplication.prototype.logoutRedirect = function (logoutRequest) {\r\n return __awaiter(this, void 0, void 0, function () {\r\n var correlationId, redirectClient;\r\n return __generator(this, function (_a) {\r\n correlationId = this.getRequestCorrelationId(logoutRequest);\r\n this.preflightBrowserEnvironmentCheck(InteractionType.Redirect);\r\n redirectClient = this.createRedirectClient(correlationId);\r\n return [2 /*return*/, redirectClient.logout(logoutRequest)];\r\n });\r\n });\r\n };\r\n /**\r\n * Clears local cache for the current user then opens a popup window prompting the user to sign-out of the server\r\n * @param logoutRequest\r\n */\r\n ClientApplication.prototype.logoutPopup = function (logoutRequest) {\r\n try {\r\n var correlationId = this.getRequestCorrelationId(logoutRequest);\r\n this.preflightBrowserEnvironmentCheck(InteractionType.Popup);\r\n var popupClient = this.createPopupClient(correlationId);\r\n return popupClient.logout(logoutRequest);\r\n }\r\n catch (e) {\r\n // Since this function is syncronous we need to reject\r\n return Promise.reject(e);\r\n }\r\n };\r\n // #endregion\r\n // #region Account APIs\r\n /**\r\n * Returns all accounts that MSAL currently has data for.\r\n * (the account object is created at the time of successful login)\r\n * or empty array when no accounts are found\r\n * @returns Array of account objects in cache\r\n */\r\n ClientApplication.prototype.getAllAccounts = function () {\r\n this.logger.verbose(\"getAllAccounts called\");\r\n return this.isBrowserEnvironment ? this.browserStorage.getAllAccounts() : [];\r\n };\r\n /**\r\n * Returns the signed in account matching username.\r\n * (the account object is created at the time of successful login)\r\n * or null when no matching account is found.\r\n * This API is provided for convenience but getAccountById should be used for best reliability\r\n * @param userName\r\n * @returns The account object stored in MSAL\r\n */\r\n ClientApplication.prototype.getAccountByUsername = function (userName) {\r\n var allAccounts = this.getAllAccounts();\r\n if (!StringUtils.isEmpty(userName) && allAccounts && allAccounts.length) {\r\n this.logger.verbose(\"Account matching username found, returning\");\r\n this.logger.verbosePii(\"Returning signed-in accounts matching username: \" + userName);\r\n return allAccounts.filter(function (accountObj) { return accountObj.username.toLowerCase() === userName.toLowerCase(); })[0] || null;\r\n }\r\n else {\r\n this.logger.verbose(\"getAccountByUsername: No matching account found, returning null\");\r\n return null;\r\n }\r\n };\r\n /**\r\n * Returns the signed in account matching homeAccountId.\r\n * (the account object is created at the time of successful login)\r\n * or null when no matching account is found\r\n * @param homeAccountId\r\n * @returns The account object stored in MSAL\r\n */\r\n ClientApplication.prototype.getAccountByHomeId = function (homeAccountId) {\r\n var allAccounts = this.getAllAccounts();\r\n if (!StringUtils.isEmpty(homeAccountId) && allAccounts && allAccounts.length) {\r\n this.logger.verbose(\"Account matching homeAccountId found, returning\");\r\n this.logger.verbosePii(\"Returning signed-in accounts matching homeAccountId: \" + homeAccountId);\r\n return allAccounts.filter(function (accountObj) { return accountObj.homeAccountId === homeAccountId; })[0] || null;\r\n }\r\n else {\r\n this.logger.verbose(\"getAccountByHomeId: No matching account found, returning null\");\r\n return null;\r\n }\r\n };\r\n /**\r\n * Returns the signed in account matching localAccountId.\r\n * (the account object is created at the time of successful login)\r\n * or null when no matching account is found\r\n * @param localAccountId\r\n * @returns The account object stored in MSAL\r\n */\r\n ClientApplication.prototype.getAccountByLocalId = function (localAccountId) {\r\n var allAccounts = this.getAllAccounts();\r\n if (!StringUtils.isEmpty(localAccountId) && allAccounts && allAccounts.length) {\r\n this.logger.verbose(\"Account matching localAccountId found, returning\");\r\n this.logger.verbosePii(\"Returning signed-in accounts matching localAccountId: \" + localAccountId);\r\n return allAccounts.filter(function (accountObj) { return accountObj.localAccountId === localAccountId; })[0] || null;\r\n }\r\n else {\r\n this.logger.verbose(\"getAccountByLocalId: No matching account found, returning null\");\r\n return null;\r\n }\r\n };\r\n /**\r\n * Sets the account to use as the active account. If no account is passed to the acquireToken APIs, then MSAL will use this active account.\r\n * @param account\r\n */\r\n ClientApplication.prototype.setActiveAccount = function (account) {\r\n this.browserStorage.setActiveAccount(account);\r\n };\r\n /**\r\n * Gets the currently active account\r\n */\r\n ClientApplication.prototype.getActiveAccount = function () {\r\n return this.browserStorage.getActiveAccount();\r\n };\r\n // #endregion\r\n // #region Helpers\r\n /**\r\n * Helper to validate app environment before making an auth request\r\n *\r\n * @protected\r\n * @param {InteractionType} interactionType What kind of interaction is being used\r\n * @param {boolean} [setInteractionInProgress=true] Whether to set interaction in progress temp cache flag\r\n */\r\n ClientApplication.prototype.preflightBrowserEnvironmentCheck = function (interactionType, setInteractionInProgress) {\r\n if (setInteractionInProgress === void 0) { setInteractionInProgress = true; }\r\n this.logger.verbose(\"preflightBrowserEnvironmentCheck started\");\r\n // Block request if not in browser environment\r\n BrowserUtils.blockNonBrowserEnvironment(this.isBrowserEnvironment);\r\n // Block redirects if in an iframe\r\n BrowserUtils.blockRedirectInIframe(interactionType, this.config.system.allowRedirectInIframe);\r\n // Block auth requests inside a hidden iframe\r\n BrowserUtils.blockReloadInHiddenIframes();\r\n // Block redirectUri opened in a popup from calling MSAL APIs\r\n BrowserUtils.blockAcquireTokenInPopups();\r\n // Block token acquisition before initialize has been called if native brokering is enabled\r\n BrowserUtils.blockNativeBrokerCalledBeforeInitialized(this.config.system.allowNativeBroker, this.initialized);\r\n // Block redirects if memory storage is enabled but storeAuthStateInCookie is not\r\n if (interactionType === InteractionType.Redirect &&\r\n this.config.cache.cacheLocation === BrowserCacheLocation.MemoryStorage &&\r\n !this.config.cache.storeAuthStateInCookie) {\r\n throw BrowserConfigurationAuthError.createInMemoryRedirectUnavailableError();\r\n }\r\n if (interactionType === InteractionType.Redirect || interactionType === InteractionType.Popup) {\r\n this.preflightInteractiveRequest(setInteractionInProgress);\r\n }\r\n };\r\n /**\r\n * Preflight check for interactive requests\r\n *\r\n * @protected\r\n * @param {boolean} setInteractionInProgress Whether to set interaction in progress temp cache flag\r\n */\r\n ClientApplication.prototype.preflightInteractiveRequest = function (setInteractionInProgress) {\r\n this.logger.verbose(\"preflightInteractiveRequest called, validating app environment\");\r\n // block the reload if it occurred inside a hidden iframe\r\n BrowserUtils.blockReloadInHiddenIframes();\r\n // Set interaction in progress temporary cache or throw if alread set.\r\n if (setInteractionInProgress) {\r\n this.browserStorage.setInteractionInProgress(true);\r\n }\r\n };\r\n /**\r\n * Acquire a token from native device (e.g. WAM)\r\n * @param request\r\n */\r\n ClientApplication.prototype.acquireTokenNative = function (request, apiId, accountId) {\r\n return __awaiter(this, void 0, void 0, function () {\r\n var nativeClient;\r\n return __generator(this, function (_a) {\r\n this.logger.trace(\"acquireTokenNative called\");\r\n if (!this.nativeExtensionProvider) {\r\n throw BrowserAuthError.createNativeConnectionNotEstablishedError();\r\n }\r\n nativeClient = new NativeInteractionClient(this.config, this.browserStorage, this.browserCrypto, this.logger, this.eventHandler, this.navigationClient, apiId, this.performanceClient, this.nativeExtensionProvider, accountId || this.getNativeAccountId(request), this.nativeInternalStorage, request.correlationId);\r\n return [2 /*return*/, nativeClient.acquireToken(request)];\r\n });\r\n });\r\n };\r\n /**\r\n * Returns boolean indicating if this request can use the native broker\r\n * @param request\r\n */\r\n ClientApplication.prototype.canUseNative = function (request, accountId) {\r\n this.logger.trace(\"canUseNative called\");\r\n if (!NativeMessageHandler.isNativeAvailable(this.config, this.logger, this.nativeExtensionProvider, request.authenticationScheme)) {\r\n this.logger.trace(\"canUseNative: isNativeAvailable returned false, returning false\");\r\n return false;\r\n }\r\n if (request.prompt) {\r\n switch (request.prompt) {\r\n case PromptValue.NONE:\r\n case PromptValue.CONSENT:\r\n case PromptValue.LOGIN:\r\n this.logger.trace(\"canUseNative: prompt is compatible with native flow\");\r\n break;\r\n default:\r\n this.logger.trace(\"canUseNative: prompt = \" + request.prompt + \" is not compatible with native flow, returning false\");\r\n return false;\r\n }\r\n }\r\n if (!accountId && !this.getNativeAccountId(request)) {\r\n this.logger.trace(\"canUseNative: nativeAccountId is not available, returning false\");\r\n return false;\r\n }\r\n return true;\r\n };\r\n /**\r\n * Get the native accountId from the account\r\n * @param request\r\n * @returns\r\n */\r\n ClientApplication.prototype.getNativeAccountId = function (request) {\r\n var account = request.account || this.browserStorage.getAccountInfoByHints(request.loginHint, request.sid) || this.getActiveAccount();\r\n return account && account.nativeAccountId || \"\";\r\n };\r\n /**\r\n * Returns new instance of the Popup Interaction Client\r\n * @param correlationId\r\n */\r\n ClientApplication.prototype.createPopupClient = function (correlationId) {\r\n return new PopupClient(this.config, this.browserStorage, this.browserCrypto, this.logger, this.eventHandler, this.navigationClient, this.performanceClient, this.nativeInternalStorage, this.nativeExtensionProvider, correlationId);\r\n };\r\n /**\r\n * Returns new instance of the Redirect Interaction Client\r\n * @param correlationId\r\n */\r\n ClientApplication.prototype.createRedirectClient = function (correlationId) {\r\n return new RedirectClient(this.config, this.browserStorage, this.browserCrypto, this.logger, this.eventHandler, this.navigationClient, this.performanceClient, this.nativeInternalStorage, this.nativeExtensionProvider, correlationId);\r\n };\r\n /**\r\n * Returns new instance of the Silent Iframe Interaction Client\r\n * @param correlationId\r\n */\r\n ClientApplication.prototype.createSilentIframeClient = function (correlationId) {\r\n return new SilentIframeClient(this.config, this.browserStorage, this.browserCrypto, this.logger, this.eventHandler, this.navigationClient, ApiId.ssoSilent, this.performanceClient, this.nativeInternalStorage, this.nativeExtensionProvider, correlationId);\r\n };\r\n /**\r\n * Returns new instance of the Silent Cache Interaction Client\r\n */\r\n ClientApplication.prototype.createSilentCacheClient = function (correlationId) {\r\n return new SilentCacheClient(this.config, this.browserStorage, this.browserCrypto, this.logger, this.eventHandler, this.navigationClient, this.performanceClient, this.nativeExtensionProvider, correlationId);\r\n };\r\n /**\r\n * Returns new instance of the Silent Refresh Interaction Client\r\n */\r\n ClientApplication.prototype.createSilentRefreshClient = function (correlationId) {\r\n return new SilentRefreshClient(this.config, this.browserStorage, this.browserCrypto, this.logger, this.eventHandler, this.navigationClient, this.performanceClient, this.nativeExtensionProvider, correlationId);\r\n };\r\n /**\r\n * Returns new instance of the Silent AuthCode Interaction Client\r\n */\r\n ClientApplication.prototype.createSilentAuthCodeClient = function (correlationId) {\r\n return new SilentAuthCodeClient(this.config, this.browserStorage, this.browserCrypto, this.logger, this.eventHandler, this.navigationClient, ApiId.acquireTokenByCode, this.performanceClient, this.nativeExtensionProvider, correlationId);\r\n };\r\n /**\r\n * Adds event callbacks to array\r\n * @param callback\r\n */\r\n ClientApplication.prototype.addEventCallback = function (callback) {\r\n return this.eventHandler.addEventCallback(callback);\r\n };\r\n /**\r\n * Removes callback with provided id from callback array\r\n * @param callbackId\r\n */\r\n ClientApplication.prototype.removeEventCallback = function (callbackId) {\r\n this.eventHandler.removeEventCallback(callbackId);\r\n };\r\n /**\r\n * Registers a callback to receive performance events.\r\n *\r\n * @param {PerformanceCallbackFunction} callback\r\n * @returns {string}\r\n */\r\n ClientApplication.prototype.addPerformanceCallback = function (callback) {\r\n return this.performanceClient.addPerformanceCallback(callback);\r\n };\r\n /**\r\n * Removes a callback registered with addPerformanceCallback.\r\n *\r\n * @param {string} callbackId\r\n * @returns {boolean}\r\n */\r\n ClientApplication.prototype.removePerformanceCallback = function (callbackId) {\r\n return this.performanceClient.removePerformanceCallback(callbackId);\r\n };\r\n /**\r\n * Adds event listener that emits an event when a user account is added or removed from localstorage in a different browser tab or window\r\n */\r\n ClientApplication.prototype.enableAccountStorageEvents = function () {\r\n this.eventHandler.enableAccountStorageEvents();\r\n };\r\n /**\r\n * Removes event listener that emits an event when a user account is added or removed from localstorage in a different browser tab or window\r\n */\r\n ClientApplication.prototype.disableAccountStorageEvents = function () {\r\n this.eventHandler.disableAccountStorageEvents();\r\n };\r\n /**\r\n * Gets the token cache for the application.\r\n */\r\n ClientApplication.prototype.getTokenCache = function () {\r\n return this.tokenCache;\r\n };\r\n /**\r\n * Returns the logger instance\r\n */\r\n ClientApplication.prototype.getLogger = function () {\r\n return this.logger;\r\n };\r\n /**\r\n * Replaces the default logger set in configurations with new Logger with new configurations\r\n * @param logger Logger instance\r\n */\r\n ClientApplication.prototype.setLogger = function (logger) {\r\n this.logger = logger;\r\n };\r\n /**\r\n * Called by wrapper libraries (Angular & React) to set SKU and Version passed down to telemetry, logger, etc.\r\n * @param sku\r\n * @param version\r\n */\r\n ClientApplication.prototype.initializeWrapperLibrary = function (sku, version) {\r\n // Validate the SKU passed in is one we expect\r\n this.browserStorage.setWrapperMetadata(sku, version);\r\n };\r\n /**\r\n * Sets navigation client\r\n * @param navigationClient\r\n */\r\n ClientApplication.prototype.setNavigationClient = function (navigationClient) {\r\n this.navigationClient = navigationClient;\r\n };\r\n /**\r\n * Returns the configuration object\r\n */\r\n ClientApplication.prototype.getConfiguration = function () {\r\n return this.config;\r\n };\r\n /**\r\n * Generates a correlation id for a request if none is provided.\r\n *\r\n * @protected\r\n * @param {?Partial} [request]\r\n * @returns {string}\r\n */\r\n ClientApplication.prototype.getRequestCorrelationId = function (request) {\r\n if (request === null || request === void 0 ? void 0 : request.correlationId) {\r\n return request.correlationId;\r\n }\r\n if (this.isBrowserEnvironment) {\r\n return this.browserCrypto.createNewGuid();\r\n }\r\n /*\r\n * Included for fallback for non-browser environments,\r\n * and to ensure this method always returns a string.\r\n */\r\n return Constants.EMPTY_STRING;\r\n };\r\n return ClientApplication;\r\n}());\n\nexport { ClientApplication };\n","/*! @azure/msal-browser v2.32.1 2022-12-07 */\n'use strict';\nimport { __extends, __awaiter, __generator, __assign } from '../_virtual/_tslib.js';\nimport { PerformanceEvents, Constants, ServerError, InteractionRequiredAuthError } from '@azure/msal-common';\nimport { DEFAULT_REQUEST, InteractionType, CacheLookupPolicy, ApiId, BrowserConstants } from '../utils/BrowserConstants.js';\nimport { ClientApplication } from './ClientApplication.js';\nimport { EventType } from '../event/EventType.js';\nimport { BrowserAuthError } from '../error/BrowserAuthError.js';\nimport { NativeAuthError } from '../error/NativeAuthError.js';\nimport { NativeMessageHandler } from '../broker/nativeBroker/NativeMessageHandler.js';\nimport { BrowserUtils } from '../utils/BrowserUtils.js';\n\n/*\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * Licensed under the MIT License.\r\n */\r\n/**\r\n * The PublicClientApplication class is the object exposed by the library to perform authentication and authorization functions in Single Page Applications\r\n * to obtain JWT tokens as described in the OAuth 2.0 Authorization Code Flow with PKCE specification.\r\n */\r\nvar PublicClientApplication = /** @class */ (function (_super) {\r\n __extends(PublicClientApplication, _super);\r\n /**\r\n * @constructor\r\n * Constructor for the PublicClientApplication used to instantiate the PublicClientApplication object\r\n *\r\n * Important attributes in the Configuration object for auth are:\r\n * - clientID: the application ID of your application. You can obtain one by registering your application with our Application registration portal : https://portal.azure.com/#blade/Microsoft_AAD_IAM/ActiveDirectoryMenuBlade/RegisteredAppsPreview\r\n * - authority: the authority URL for your application.\r\n * - redirect_uri: the uri of your application registered in the portal.\r\n *\r\n * In Azure AD, authority is a URL indicating the Azure active directory that MSAL uses to obtain tokens.\r\n * It is of the form https://login.microsoftonline.com/{Enter_the_Tenant_Info_Here}\r\n * If your application supports Accounts in one organizational directory, replace \"Enter_the_Tenant_Info_Here\" value with the Tenant Id or Tenant name (for example, contoso.microsoft.com).\r\n * If your application supports Accounts in any organizational directory, replace \"Enter_the_Tenant_Info_Here\" value with organizations.\r\n * If your application supports Accounts in any organizational directory and personal Microsoft accounts, replace \"Enter_the_Tenant_Info_Here\" value with common.\r\n * To restrict support to Personal Microsoft accounts only, replace \"Enter_the_Tenant_Info_Here\" value with consumers.\r\n *\r\n * In Azure B2C, authority is of the form https://{instance}/tfp/{tenant}/{policyName}/\r\n * Full B2C functionality will be available in this library in future versions.\r\n *\r\n * @param configuration object for the MSAL PublicClientApplication instance\r\n */\r\n function PublicClientApplication(configuration) {\r\n var _this = _super.call(this, configuration) || this;\r\n _this.activeSilentTokenRequests = new Map();\r\n return _this;\r\n }\r\n /**\r\n * Use when initiating the login process by redirecting the user's browser to the authorization endpoint. This function redirects the page, so\r\n * any code that follows this function will not execute.\r\n *\r\n * IMPORTANT: It is NOT recommended to have code that is dependent on the resolution of the Promise. This function will navigate away from the current\r\n * browser window. It currently returns a Promise in order to reflect the asynchronous nature of the code running in this function.\r\n *\r\n * @param request\r\n */\r\n PublicClientApplication.prototype.loginRedirect = function (request) {\r\n return __awaiter(this, void 0, void 0, function () {\r\n var correlationId;\r\n return __generator(this, function (_a) {\r\n correlationId = this.getRequestCorrelationId(request);\r\n this.logger.verbose(\"loginRedirect called\", correlationId);\r\n return [2 /*return*/, this.acquireTokenRedirect(__assign({ correlationId: correlationId }, (request || DEFAULT_REQUEST)))];\r\n });\r\n });\r\n };\r\n /**\r\n * Use when initiating the login process via opening a popup window in the user's browser\r\n *\r\n * @param request\r\n *\r\n * @returns A promise that is fulfilled when this function has completed, or rejected if an error was raised.\r\n */\r\n PublicClientApplication.prototype.loginPopup = function (request) {\r\n var correlationId = this.getRequestCorrelationId(request);\r\n this.logger.verbose(\"loginPopup called\", correlationId);\r\n return this.acquireTokenPopup(__assign({ correlationId: correlationId }, (request || DEFAULT_REQUEST)));\r\n };\r\n /**\r\n * Silently acquire an access token for a given set of scopes. Returns currently processing promise if parallel requests are made.\r\n *\r\n * @param {@link (SilentRequest:type)}\r\n * @returns {Promise.} - a promise that is fulfilled when this function has completed, or rejected if an error was raised. Returns the {@link AuthResponse} object\r\n */\r\n PublicClientApplication.prototype.acquireTokenSilent = function (request) {\r\n return __awaiter(this, void 0, void 0, function () {\r\n var correlationId, atsMeasurement, account, thumbprint, silentRequestKey, cachedResponse, response;\r\n var _this = this;\r\n return __generator(this, function (_a) {\r\n correlationId = this.getRequestCorrelationId(request);\r\n atsMeasurement = this.performanceClient.startMeasurement(PerformanceEvents.AcquireTokenSilent, correlationId);\r\n atsMeasurement.addStaticFields({\r\n cacheLookupPolicy: request.cacheLookupPolicy\r\n });\r\n this.preflightBrowserEnvironmentCheck(InteractionType.Silent);\r\n this.logger.verbose(\"acquireTokenSilent called\", correlationId);\r\n account = request.account || this.getActiveAccount();\r\n if (!account) {\r\n throw BrowserAuthError.createNoAccountError();\r\n }\r\n thumbprint = {\r\n clientId: this.config.auth.clientId,\r\n authority: request.authority || Constants.EMPTY_STRING,\r\n scopes: request.scopes,\r\n homeAccountIdentifier: account.homeAccountId,\r\n claims: request.claims,\r\n authenticationScheme: request.authenticationScheme,\r\n resourceRequestMethod: request.resourceRequestMethod,\r\n resourceRequestUri: request.resourceRequestUri,\r\n shrClaims: request.shrClaims,\r\n sshKid: request.sshKid\r\n };\r\n silentRequestKey = JSON.stringify(thumbprint);\r\n cachedResponse = this.activeSilentTokenRequests.get(silentRequestKey);\r\n if (typeof cachedResponse === \"undefined\") {\r\n this.logger.verbose(\"acquireTokenSilent called for the first time, storing active request\", correlationId);\r\n response = this.acquireTokenSilentAsync(__assign(__assign({}, request), { correlationId: correlationId }), account)\r\n .then(function (result) {\r\n _this.activeSilentTokenRequests.delete(silentRequestKey);\r\n atsMeasurement.addStaticFields({\r\n accessTokenSize: result.accessToken.length,\r\n idTokenSize: result.idToken.length\r\n });\r\n atsMeasurement.endMeasurement({\r\n success: true,\r\n fromCache: result.fromCache,\r\n isNativeBroker: result.fromNativeBroker,\r\n requestId: result.requestId\r\n });\r\n atsMeasurement.flushMeasurement();\r\n return result;\r\n })\r\n .catch(function (error) {\r\n _this.activeSilentTokenRequests.delete(silentRequestKey);\r\n atsMeasurement.endMeasurement({\r\n errorCode: error.errorCode,\r\n subErrorCode: error.subError,\r\n success: false\r\n });\r\n atsMeasurement.flushMeasurement();\r\n throw error;\r\n });\r\n this.activeSilentTokenRequests.set(silentRequestKey, response);\r\n return [2 /*return*/, response];\r\n }\r\n else {\r\n this.logger.verbose(\"acquireTokenSilent has been called previously, returning the result from the first call\", correlationId);\r\n atsMeasurement.endMeasurement({\r\n success: true\r\n });\r\n // Discard measurements for memoized calls, as they are usually only a couple of ms and will artificially deflate metrics\r\n atsMeasurement.discardMeasurement();\r\n return [2 /*return*/, cachedResponse];\r\n }\r\n });\r\n });\r\n };\r\n /**\r\n * Silently acquire an access token for a given set of scopes. Will use cached token if available, otherwise will attempt to acquire a new token from the network via refresh token.\r\n * @param {@link (SilentRequest:type)}\r\n * @param {@link (AccountInfo:type)}\r\n * @returns {Promise.} - a promise that is fulfilled when this function has completed, or rejected if an error was raised. Returns the {@link AuthResponse}\r\n */\r\n PublicClientApplication.prototype.acquireTokenSilentAsync = function (request, account) {\r\n return __awaiter(this, void 0, void 0, function () {\r\n var astsAsyncMeasurement, result, silentRequest, silentCacheClient, silentRequest_1, requestWithCLP_1;\r\n var _this = this;\r\n return __generator(this, function (_a) {\r\n switch (_a.label) {\r\n case 0:\r\n this.eventHandler.emitEvent(EventType.ACQUIRE_TOKEN_START, InteractionType.Silent, request);\r\n astsAsyncMeasurement = this.performanceClient.startMeasurement(PerformanceEvents.AcquireTokenSilentAsync, request.correlationId);\r\n if (!(NativeMessageHandler.isNativeAvailable(this.config, this.logger, this.nativeExtensionProvider, request.authenticationScheme) && account.nativeAccountId)) return [3 /*break*/, 1];\r\n this.logger.verbose(\"acquireTokenSilent - attempting to acquire token from native platform\");\r\n silentRequest = __assign(__assign({}, request), { account: account });\r\n result = this.acquireTokenNative(silentRequest, ApiId.acquireTokenSilent_silentFlow).catch(function (e) { return __awaiter(_this, void 0, void 0, function () {\r\n var silentIframeClient;\r\n return __generator(this, function (_a) {\r\n // If native token acquisition fails for availability reasons fallback to web flow\r\n if (e instanceof NativeAuthError && e.isFatal()) {\r\n this.logger.verbose(\"acquireTokenSilent - native platform unavailable, falling back to web flow\");\r\n this.nativeExtensionProvider = undefined; // Prevent future requests from continuing to attempt \r\n silentIframeClient = this.createSilentIframeClient(request.correlationId);\r\n return [2 /*return*/, silentIframeClient.acquireToken(request)];\r\n }\r\n throw e;\r\n });\r\n }); });\r\n return [3 /*break*/, 3];\r\n case 1:\r\n this.logger.verbose(\"acquireTokenSilent - attempting to acquire token from web flow\");\r\n silentCacheClient = this.createSilentCacheClient(request.correlationId);\r\n return [4 /*yield*/, silentCacheClient.initializeSilentRequest(request, account)];\r\n case 2:\r\n silentRequest_1 = _a.sent();\r\n requestWithCLP_1 = __assign(__assign({}, request), { \r\n // set the request's CacheLookupPolicy to Default if it was not optionally passed in\r\n cacheLookupPolicy: request.cacheLookupPolicy || CacheLookupPolicy.Default });\r\n result = this.acquireTokenFromCache(silentCacheClient, silentRequest_1, requestWithCLP_1).catch(function (cacheError) {\r\n if (requestWithCLP_1.cacheLookupPolicy === CacheLookupPolicy.AccessToken) {\r\n throw cacheError;\r\n }\r\n // block the reload if it occurred inside a hidden iframe\r\n BrowserUtils.blockReloadInHiddenIframes();\r\n _this.eventHandler.emitEvent(EventType.ACQUIRE_TOKEN_NETWORK_START, InteractionType.Silent, silentRequest_1);\r\n return _this.acquireTokenByRefreshToken(silentRequest_1, requestWithCLP_1).catch(function (refreshTokenError) {\r\n var isServerError = refreshTokenError instanceof ServerError;\r\n var isInteractionRequiredError = refreshTokenError instanceof InteractionRequiredAuthError;\r\n var isInvalidGrantError = (refreshTokenError.errorCode === BrowserConstants.INVALID_GRANT_ERROR);\r\n if ((!isServerError ||\r\n !isInvalidGrantError ||\r\n isInteractionRequiredError ||\r\n requestWithCLP_1.cacheLookupPolicy === CacheLookupPolicy.AccessTokenAndRefreshToken ||\r\n requestWithCLP_1.cacheLookupPolicy === CacheLookupPolicy.RefreshToken)\r\n && (requestWithCLP_1.cacheLookupPolicy !== CacheLookupPolicy.Skip)) {\r\n throw refreshTokenError;\r\n }\r\n _this.logger.verbose(\"Refresh token expired/invalid or CacheLookupPolicy is set to Skip, attempting acquire token by iframe.\", request.correlationId);\r\n return _this.acquireTokenBySilentIframe(silentRequest_1);\r\n });\r\n });\r\n _a.label = 3;\r\n case 3: return [2 /*return*/, result.then(function (response) {\r\n _this.eventHandler.emitEvent(EventType.ACQUIRE_TOKEN_SUCCESS, InteractionType.Silent, response);\r\n astsAsyncMeasurement.endMeasurement({\r\n success: true,\r\n fromCache: response.fromCache,\r\n isNativeBroker: response.fromNativeBroker,\r\n requestId: response.requestId\r\n });\r\n return response;\r\n }).catch(function (tokenRenewalError) {\r\n _this.eventHandler.emitEvent(EventType.ACQUIRE_TOKEN_FAILURE, InteractionType.Silent, null, tokenRenewalError);\r\n astsAsyncMeasurement.endMeasurement({\r\n errorCode: tokenRenewalError.errorCode,\r\n subErrorCode: tokenRenewalError.subError,\r\n success: false\r\n });\r\n throw tokenRenewalError;\r\n })];\r\n }\r\n });\r\n });\r\n };\r\n return PublicClientApplication;\r\n}(ClientApplication));\n\nexport { PublicClientApplication };\n","/*! @azure/msal-browser v2.32.1 2022-12-07 */\n'use strict';\nimport { __awaiter, __generator } from '../../_virtual/_tslib.js';\nimport { NativeConstants, NativeExtensionMethod } from '../../utils/BrowserConstants.js';\nimport { AuthError, AuthenticationScheme } from '@azure/msal-common';\nimport { NativeAuthError } from '../../error/NativeAuthError.js';\nimport { BrowserAuthError } from '../../error/BrowserAuthError.js';\n\n/*\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * Licensed under the MIT License.\r\n */\r\nvar NativeMessageHandler = /** @class */ (function () {\r\n function NativeMessageHandler(logger, handshakeTimeoutMs, extensionId) {\r\n this.logger = logger;\r\n this.handshakeTimeoutMs = handshakeTimeoutMs;\r\n this.extensionId = extensionId;\r\n this.resolvers = new Map(); // Used for non-handshake messages\r\n this.handshakeResolvers = new Map(); // Used for handshake messages\r\n this.responseId = 0;\r\n this.messageChannel = new MessageChannel();\r\n this.windowListener = this.onWindowMessage.bind(this); // Window event callback doesn't have access to 'this' unless it's bound\r\n }\r\n /**\r\n * Sends a given message to the extension and resolves with the extension response\r\n * @param body\r\n */\r\n NativeMessageHandler.prototype.sendMessage = function (body) {\r\n return __awaiter(this, void 0, void 0, function () {\r\n var req;\r\n var _this = this;\r\n return __generator(this, function (_a) {\r\n this.logger.trace(\"NativeMessageHandler - sendMessage called.\");\r\n req = {\r\n channel: NativeConstants.CHANNEL_ID,\r\n extensionId: this.extensionId,\r\n responseId: this.responseId++,\r\n body: body\r\n };\r\n this.logger.trace(\"NativeMessageHandler - Sending request to browser extension\");\r\n this.logger.tracePii(\"NativeMessageHandler - Sending request to browser extension: \" + JSON.stringify(req));\r\n this.messageChannel.port1.postMessage(req);\r\n return [2 /*return*/, new Promise(function (resolve, reject) {\r\n _this.resolvers.set(req.responseId, { resolve: resolve, reject: reject });\r\n })];\r\n });\r\n });\r\n };\r\n /**\r\n * Returns an instance of the MessageHandler that has successfully established a connection with an extension\r\n * @param logger\r\n * @param handshakeTimeoutMs\r\n */\r\n NativeMessageHandler.createProvider = function (logger, handshakeTimeoutMs) {\r\n return __awaiter(this, void 0, void 0, function () {\r\n var preferredProvider, backupProvider;\r\n return __generator(this, function (_a) {\r\n switch (_a.label) {\r\n case 0:\r\n logger.trace(\"NativeMessageHandler - createProvider called.\");\r\n _a.label = 1;\r\n case 1:\r\n _a.trys.push([1, 3, , 5]);\r\n preferredProvider = new NativeMessageHandler(logger, handshakeTimeoutMs, NativeConstants.PREFERRED_EXTENSION_ID);\r\n return [4 /*yield*/, preferredProvider.sendHandshakeRequest()];\r\n case 2:\r\n _a.sent();\r\n return [2 /*return*/, preferredProvider];\r\n case 3:\r\n _a.sent();\r\n backupProvider = new NativeMessageHandler(logger, handshakeTimeoutMs);\r\n return [4 /*yield*/, backupProvider.sendHandshakeRequest()];\r\n case 4:\r\n _a.sent();\r\n return [2 /*return*/, backupProvider];\r\n case 5: return [2 /*return*/];\r\n }\r\n });\r\n });\r\n };\r\n /**\r\n * Send handshake request helper.\r\n */\r\n NativeMessageHandler.prototype.sendHandshakeRequest = function () {\r\n return __awaiter(this, void 0, void 0, function () {\r\n var req;\r\n var _this = this;\r\n return __generator(this, function (_a) {\r\n this.logger.trace(\"NativeMessageHandler - sendHandshakeRequest called.\");\r\n // Register this event listener before sending handshake\r\n window.addEventListener(\"message\", this.windowListener, false); // false is important, because content script message processing should work first\r\n req = {\r\n channel: NativeConstants.CHANNEL_ID,\r\n extensionId: this.extensionId,\r\n responseId: this.responseId++,\r\n body: {\r\n method: NativeExtensionMethod.HandshakeRequest\r\n }\r\n };\r\n this.messageChannel.port1.onmessage = function (event) {\r\n _this.onChannelMessage(event);\r\n };\r\n window.postMessage(req, window.origin, [this.messageChannel.port2]);\r\n return [2 /*return*/, new Promise(function (resolve, reject) {\r\n _this.handshakeResolvers.set(req.responseId, { resolve: resolve, reject: reject });\r\n _this.timeoutId = window.setTimeout(function () {\r\n /*\r\n * Throw an error if neither HandshakeResponse nor original Handshake request are received in a reasonable timeframe.\r\n * This typically suggests an event handler stopped propagation of the Handshake request but did not respond to it on the MessageChannel port\r\n */\r\n window.removeEventListener(\"message\", _this.windowListener, false);\r\n _this.messageChannel.port1.close();\r\n _this.messageChannel.port2.close();\r\n reject(BrowserAuthError.createNativeHandshakeTimeoutError());\r\n _this.handshakeResolvers.delete(req.responseId);\r\n }, _this.handshakeTimeoutMs); // Use a reasonable timeout in milliseconds here\r\n })];\r\n });\r\n });\r\n };\r\n /**\r\n * Invoked when a message is posted to the window. If a handshake request is received it means the extension is not installed.\r\n * @param event\r\n */\r\n NativeMessageHandler.prototype.onWindowMessage = function (event) {\r\n this.logger.trace(\"NativeMessageHandler - onWindowMessage called\");\r\n // We only accept messages from ourselves\r\n if (event.source !== window) {\r\n return;\r\n }\r\n var request = event.data;\r\n if (!request.channel || request.channel !== NativeConstants.CHANNEL_ID) {\r\n return;\r\n }\r\n if (request.extensionId && request.extensionId !== this.extensionId) {\r\n return;\r\n }\r\n if (request.body.method === NativeExtensionMethod.HandshakeRequest) {\r\n // If we receive this message back it means no extension intercepted the request, meaning no extension supporting handshake protocol is installed\r\n this.logger.verbose(request.extensionId ? \"Extension with id: \" + request.extensionId + \" not installed\" : \"No extension installed\");\r\n clearTimeout(this.timeoutId);\r\n this.messageChannel.port1.close();\r\n this.messageChannel.port2.close();\r\n window.removeEventListener(\"message\", this.windowListener, false);\r\n var handshakeResolver = this.handshakeResolvers.get(request.responseId);\r\n if (handshakeResolver) {\r\n handshakeResolver.reject(BrowserAuthError.createNativeExtensionNotInstalledError());\r\n }\r\n }\r\n };\r\n /**\r\n * Invoked when a message is received from the extension on the MessageChannel port\r\n * @param event\r\n */\r\n NativeMessageHandler.prototype.onChannelMessage = function (event) {\r\n this.logger.trace(\"NativeMessageHandler - onChannelMessage called.\");\r\n var request = event.data;\r\n var resolver = this.resolvers.get(request.responseId);\r\n var handshakeResolver = this.handshakeResolvers.get(request.responseId);\r\n try {\r\n var method = request.body.method;\r\n if (method === NativeExtensionMethod.Response) {\r\n if (!resolver) {\r\n return;\r\n }\r\n var response = request.body.response;\r\n this.logger.trace(\"NativeMessageHandler - Received response from browser extension\");\r\n this.logger.tracePii(\"NativeMessageHandler - Received response from browser extension: \" + JSON.stringify(response));\r\n if (response.status !== \"Success\") {\r\n resolver.reject(NativeAuthError.createError(response.code, response.description, response.ext));\r\n }\r\n else if (response.result) {\r\n if (response.result[\"code\"] && response.result[\"description\"]) {\r\n resolver.reject(NativeAuthError.createError(response.result[\"code\"], response.result[\"description\"], response.result[\"ext\"]));\r\n }\r\n else {\r\n resolver.resolve(response.result);\r\n }\r\n }\r\n else {\r\n throw AuthError.createUnexpectedError(\"Event does not contain result.\");\r\n }\r\n this.resolvers.delete(request.responseId);\r\n }\r\n else if (method === NativeExtensionMethod.HandshakeResponse) {\r\n if (!handshakeResolver) {\r\n return;\r\n }\r\n clearTimeout(this.timeoutId); // Clear setTimeout\r\n window.removeEventListener(\"message\", this.windowListener, false); // Remove 'No extension' listener\r\n this.extensionId = request.extensionId;\r\n this.extensionVersion = request.body.version;\r\n this.logger.verbose(\"NativeMessageHandler - Received HandshakeResponse from extension: \" + this.extensionId);\r\n handshakeResolver.resolve();\r\n this.handshakeResolvers.delete(request.responseId);\r\n }\r\n // Do nothing if method is not Response or HandshakeResponse\r\n }\r\n catch (err) {\r\n this.logger.error(\"Error parsing response from WAM Extension\");\r\n this.logger.errorPii(\"Error parsing response from WAM Extension: \" + err.toString());\r\n this.logger.errorPii(\"Unable to parse \" + event);\r\n if (resolver) {\r\n resolver.reject(err);\r\n }\r\n else if (handshakeResolver) {\r\n handshakeResolver.reject(err);\r\n }\r\n }\r\n };\r\n /**\r\n * Returns the Id for the browser extension this handler is communicating with\r\n * @returns\r\n */\r\n NativeMessageHandler.prototype.getExtensionId = function () {\r\n return this.extensionId;\r\n };\r\n /**\r\n * Returns the version for the browser extension this handler is communicating with\r\n * @returns\r\n */\r\n NativeMessageHandler.prototype.getExtensionVersion = function () {\r\n return this.extensionVersion;\r\n };\r\n /**\r\n * Returns boolean indicating whether or not the request should attempt to use native broker\r\n * @param logger\r\n * @param config\r\n * @param nativeExtensionProvider\r\n * @param authenticationScheme\r\n */\r\n NativeMessageHandler.isNativeAvailable = function (config, logger, nativeExtensionProvider, authenticationScheme) {\r\n logger.trace(\"isNativeAvailable called\");\r\n if (!config.system.allowNativeBroker) {\r\n logger.trace(\"isNativeAvailable: allowNativeBroker is not enabled, returning false\");\r\n // Developer disabled WAM\r\n return false;\r\n }\r\n if (!nativeExtensionProvider) {\r\n logger.trace(\"isNativeAvailable: WAM extension provider is not initialized, returning false\");\r\n // Extension is not available\r\n return false;\r\n }\r\n if (authenticationScheme) {\r\n switch (authenticationScheme) {\r\n case AuthenticationScheme.BEARER:\r\n case AuthenticationScheme.POP:\r\n logger.trace(\"isNativeAvailable: authenticationScheme is supported, returning true\");\r\n return true;\r\n default:\r\n logger.trace(\"isNativeAvailable: authenticationScheme is not supported, returning false\");\r\n return false;\r\n }\r\n }\r\n return true;\r\n };\r\n return NativeMessageHandler;\r\n}());\n\nexport { NativeMessageHandler };\n","/*! @azure/msal-browser v2.32.1 2022-12-07 */\n'use strict';\nimport { __awaiter, __generator } from '../_virtual/_tslib.js';\nimport { BrowserAuthError, BrowserAuthErrorMessage } from '../error/BrowserAuthError.js';\nimport { DatabaseStorage } from './DatabaseStorage.js';\nimport { MemoryStorage } from './MemoryStorage.js';\n\n/*\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * Licensed under the MIT License.\r\n */\r\n/**\r\n * This class allows MSAL to store artifacts asynchronously using the DatabaseStorage IndexedDB wrapper,\r\n * backed up with the more volatile MemoryStorage object for cases in which IndexedDB may be unavailable.\r\n */\r\nvar AsyncMemoryStorage = /** @class */ (function () {\r\n function AsyncMemoryStorage(logger, storeName) {\r\n this.inMemoryCache = new MemoryStorage();\r\n this.indexedDBCache = new DatabaseStorage();\r\n this.logger = logger;\r\n this.storeName = storeName;\r\n }\r\n AsyncMemoryStorage.prototype.handleDatabaseAccessError = function (error) {\r\n if (error instanceof BrowserAuthError && error.errorCode === BrowserAuthErrorMessage.databaseUnavailable.code) {\r\n this.logger.error(\"Could not access persistent storage. This may be caused by browser privacy features which block persistent storage in third-party contexts.\");\r\n }\r\n else {\r\n throw error;\r\n }\r\n };\r\n /**\r\n * Get the item matching the given key. Tries in-memory cache first, then in the asynchronous\r\n * storage object if item isn't found in-memory.\r\n * @param key\r\n */\r\n AsyncMemoryStorage.prototype.getItem = function (key) {\r\n return __awaiter(this, void 0, void 0, function () {\r\n var item, e_1;\r\n return __generator(this, function (_a) {\r\n switch (_a.label) {\r\n case 0:\r\n item = this.inMemoryCache.getItem(key);\r\n if (!!item) return [3 /*break*/, 4];\r\n _a.label = 1;\r\n case 1:\r\n _a.trys.push([1, 3, , 4]);\r\n this.logger.verbose(\"Queried item not found in in-memory cache, now querying persistent storage.\");\r\n return [4 /*yield*/, this.indexedDBCache.getItem(key)];\r\n case 2: return [2 /*return*/, _a.sent()];\r\n case 3:\r\n e_1 = _a.sent();\r\n this.handleDatabaseAccessError(e_1);\r\n return [3 /*break*/, 4];\r\n case 4: return [2 /*return*/, item];\r\n }\r\n });\r\n });\r\n };\r\n /**\r\n * Sets the item in the in-memory cache and then tries to set it in the asynchronous\r\n * storage object with the given key.\r\n * @param key\r\n * @param value\r\n */\r\n AsyncMemoryStorage.prototype.setItem = function (key, value) {\r\n return __awaiter(this, void 0, void 0, function () {\r\n var e_2;\r\n return __generator(this, function (_a) {\r\n switch (_a.label) {\r\n case 0:\r\n this.inMemoryCache.setItem(key, value);\r\n _a.label = 1;\r\n case 1:\r\n _a.trys.push([1, 3, , 4]);\r\n return [4 /*yield*/, this.indexedDBCache.setItem(key, value)];\r\n case 2:\r\n _a.sent();\r\n return [3 /*break*/, 4];\r\n case 3:\r\n e_2 = _a.sent();\r\n this.handleDatabaseAccessError(e_2);\r\n return [3 /*break*/, 4];\r\n case 4: return [2 /*return*/];\r\n }\r\n });\r\n });\r\n };\r\n /**\r\n * Removes the item matching the key from the in-memory cache, then tries to remove it from the asynchronous storage object.\r\n * @param key\r\n */\r\n AsyncMemoryStorage.prototype.removeItem = function (key) {\r\n return __awaiter(this, void 0, void 0, function () {\r\n var e_3;\r\n return __generator(this, function (_a) {\r\n switch (_a.label) {\r\n case 0:\r\n this.inMemoryCache.removeItem(key);\r\n _a.label = 1;\r\n case 1:\r\n _a.trys.push([1, 3, , 4]);\r\n return [4 /*yield*/, this.indexedDBCache.removeItem(key)];\r\n case 2:\r\n _a.sent();\r\n return [3 /*break*/, 4];\r\n case 3:\r\n e_3 = _a.sent();\r\n this.handleDatabaseAccessError(e_3);\r\n return [3 /*break*/, 4];\r\n case 4: return [2 /*return*/];\r\n }\r\n });\r\n });\r\n };\r\n /**\r\n * Get all the keys from the in-memory cache as an iterable array of strings. If no keys are found, query the keys in the\r\n * asynchronous storage object.\r\n */\r\n AsyncMemoryStorage.prototype.getKeys = function () {\r\n return __awaiter(this, void 0, void 0, function () {\r\n var cacheKeys, e_4;\r\n return __generator(this, function (_a) {\r\n switch (_a.label) {\r\n case 0:\r\n cacheKeys = this.inMemoryCache.getKeys();\r\n if (!(cacheKeys.length === 0)) return [3 /*break*/, 4];\r\n _a.label = 1;\r\n case 1:\r\n _a.trys.push([1, 3, , 4]);\r\n this.logger.verbose(\"In-memory cache is empty, now querying persistent storage.\");\r\n return [4 /*yield*/, this.indexedDBCache.getKeys()];\r\n case 2: return [2 /*return*/, _a.sent()];\r\n case 3:\r\n e_4 = _a.sent();\r\n this.handleDatabaseAccessError(e_4);\r\n return [3 /*break*/, 4];\r\n case 4: return [2 /*return*/, cacheKeys];\r\n }\r\n });\r\n });\r\n };\r\n /**\r\n * Returns true or false if the given key is present in the cache.\r\n * @param key\r\n */\r\n AsyncMemoryStorage.prototype.containsKey = function (key) {\r\n return __awaiter(this, void 0, void 0, function () {\r\n var containsKey, e_5;\r\n return __generator(this, function (_a) {\r\n switch (_a.label) {\r\n case 0:\r\n containsKey = this.inMemoryCache.containsKey(key);\r\n if (!!containsKey) return [3 /*break*/, 4];\r\n _a.label = 1;\r\n case 1:\r\n _a.trys.push([1, 3, , 4]);\r\n this.logger.verbose(\"Key not found in in-memory cache, now querying persistent storage.\");\r\n return [4 /*yield*/, this.indexedDBCache.containsKey(key)];\r\n case 2: return [2 /*return*/, _a.sent()];\r\n case 3:\r\n e_5 = _a.sent();\r\n this.handleDatabaseAccessError(e_5);\r\n return [3 /*break*/, 4];\r\n case 4: return [2 /*return*/, containsKey];\r\n }\r\n });\r\n });\r\n };\r\n /**\r\n * Clears in-memory Map\r\n */\r\n AsyncMemoryStorage.prototype.clearInMemory = function () {\r\n // InMemory cache is a Map instance, clear is straightforward\r\n this.logger.verbose(\"Deleting in-memory keystore \" + this.storeName);\r\n this.inMemoryCache.clear();\r\n this.logger.verbose(\"In-memory keystore \" + this.storeName + \" deleted\");\r\n };\r\n /**\r\n * Tries to delete the IndexedDB database\r\n * @returns\r\n */\r\n AsyncMemoryStorage.prototype.clearPersistent = function () {\r\n return __awaiter(this, void 0, void 0, function () {\r\n var dbDeleted, e_6;\r\n return __generator(this, function (_a) {\r\n switch (_a.label) {\r\n case 0:\r\n _a.trys.push([0, 2, , 3]);\r\n this.logger.verbose(\"Deleting persistent keystore\");\r\n return [4 /*yield*/, this.indexedDBCache.deleteDatabase()];\r\n case 1:\r\n dbDeleted = _a.sent();\r\n if (dbDeleted) {\r\n this.logger.verbose(\"Persistent keystore deleted\");\r\n }\r\n return [2 /*return*/, dbDeleted];\r\n case 2:\r\n e_6 = _a.sent();\r\n this.handleDatabaseAccessError(e_6);\r\n return [2 /*return*/, false];\r\n case 3: return [2 /*return*/];\r\n }\r\n });\r\n });\r\n };\r\n return AsyncMemoryStorage;\r\n}());\n\nexport { AsyncMemoryStorage };\n","/*! @azure/msal-browser v2.32.1 2022-12-07 */\n'use strict';\nimport { __extends, __spread, __awaiter, __generator } from '../_virtual/_tslib.js';\nimport { AccountEntity, CacheManager, IdTokenEntity, AccessTokenEntity, RefreshTokenEntity, AppMetadataEntity, ServerTelemetryEntity, AuthorityMetadataEntity, Constants, PersistentCacheKeys, ClientAuthError, ThrottlingEntity, StringUtils, ProtocolUtils, CcsCredentialType, IdToken, DEFAULT_CRYPTO_IMPLEMENTATION } from '@azure/msal-common';\nimport { BrowserAuthError } from '../error/BrowserAuthError.js';\nimport { BrowserCacheLocation, InMemoryCacheKeys, TemporaryCacheKeys } from '../utils/BrowserConstants.js';\nimport { BrowserStorage } from './BrowserStorage.js';\nimport { MemoryStorage } from './MemoryStorage.js';\nimport { BrowserProtocolUtils } from '../utils/BrowserProtocolUtils.js';\n\n/*\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * Licensed under the MIT License.\r\n */\r\n/**\r\n * This class implements the cache storage interface for MSAL through browser local or session storage.\r\n * Cookies are only used if storeAuthStateInCookie is true, and are only used for\r\n * parameters such as state and nonce, generally.\r\n */\r\nvar BrowserCacheManager = /** @class */ (function (_super) {\r\n __extends(BrowserCacheManager, _super);\r\n function BrowserCacheManager(clientId, cacheConfig, cryptoImpl, logger) {\r\n var _this = _super.call(this, clientId, cryptoImpl) || this;\r\n // Cookie life calculation (hours * minutes * seconds * ms)\r\n _this.COOKIE_LIFE_MULTIPLIER = 24 * 60 * 60 * 1000;\r\n _this.cacheConfig = cacheConfig;\r\n _this.logger = logger;\r\n _this.internalStorage = new MemoryStorage();\r\n _this.browserStorage = _this.setupBrowserStorage(_this.cacheConfig.cacheLocation);\r\n _this.temporaryCacheStorage = _this.setupTemporaryCacheStorage(_this.cacheConfig.cacheLocation);\r\n // Migrate any cache entries from older versions of MSAL.\r\n _this.migrateCacheEntries();\r\n return _this;\r\n }\r\n /**\r\n * Returns a window storage class implementing the IWindowStorage interface that corresponds to the configured cacheLocation.\r\n * @param cacheLocation\r\n */\r\n BrowserCacheManager.prototype.setupBrowserStorage = function (cacheLocation) {\r\n switch (cacheLocation) {\r\n case BrowserCacheLocation.LocalStorage:\r\n case BrowserCacheLocation.SessionStorage:\r\n try {\r\n // Temporary cache items will always be stored in session storage to mitigate problems caused by multiple tabs\r\n return new BrowserStorage(cacheLocation);\r\n }\r\n catch (e) {\r\n this.logger.verbose(e);\r\n break;\r\n }\r\n }\r\n this.cacheConfig.cacheLocation = BrowserCacheLocation.MemoryStorage;\r\n return new MemoryStorage();\r\n };\r\n /**\r\n *\r\n * @param cacheLocation\r\n */\r\n BrowserCacheManager.prototype.setupTemporaryCacheStorage = function (cacheLocation) {\r\n switch (cacheLocation) {\r\n case BrowserCacheLocation.LocalStorage:\r\n case BrowserCacheLocation.SessionStorage:\r\n try {\r\n // Temporary cache items will always be stored in session storage to mitigate problems caused by multiple tabs\r\n return new BrowserStorage(BrowserCacheLocation.SessionStorage);\r\n }\r\n catch (e) {\r\n this.logger.verbose(e);\r\n return this.internalStorage;\r\n }\r\n case BrowserCacheLocation.MemoryStorage:\r\n default:\r\n return this.internalStorage;\r\n }\r\n };\r\n /**\r\n * Migrate all old cache entries to new schema. No rollback supported.\r\n * @param storeAuthStateInCookie\r\n */\r\n BrowserCacheManager.prototype.migrateCacheEntries = function () {\r\n var _this = this;\r\n var idTokenKey = Constants.CACHE_PREFIX + \".\" + PersistentCacheKeys.ID_TOKEN;\r\n var clientInfoKey = Constants.CACHE_PREFIX + \".\" + PersistentCacheKeys.CLIENT_INFO;\r\n var errorKey = Constants.CACHE_PREFIX + \".\" + PersistentCacheKeys.ERROR;\r\n var errorDescKey = Constants.CACHE_PREFIX + \".\" + PersistentCacheKeys.ERROR_DESC;\r\n var idTokenValue = this.browserStorage.getItem(idTokenKey);\r\n var clientInfoValue = this.browserStorage.getItem(clientInfoKey);\r\n var errorValue = this.browserStorage.getItem(errorKey);\r\n var errorDescValue = this.browserStorage.getItem(errorDescKey);\r\n var values = [idTokenValue, clientInfoValue, errorValue, errorDescValue];\r\n var keysToMigrate = [PersistentCacheKeys.ID_TOKEN, PersistentCacheKeys.CLIENT_INFO, PersistentCacheKeys.ERROR, PersistentCacheKeys.ERROR_DESC];\r\n keysToMigrate.forEach(function (cacheKey, index) { return _this.migrateCacheEntry(cacheKey, values[index]); });\r\n };\r\n /**\r\n * Utility function to help with migration.\r\n * @param newKey\r\n * @param value\r\n * @param storeAuthStateInCookie\r\n */\r\n BrowserCacheManager.prototype.migrateCacheEntry = function (newKey, value) {\r\n if (value) {\r\n this.setTemporaryCache(newKey, value, true);\r\n }\r\n };\r\n /**\r\n * Parses passed value as JSON object, JSON.parse() will throw an error.\r\n * @param input\r\n */\r\n BrowserCacheManager.prototype.validateAndParseJson = function (jsonValue) {\r\n try {\r\n var parsedJson = JSON.parse(jsonValue);\r\n /**\r\n * There are edge cases in which JSON.parse will successfully parse a non-valid JSON object\r\n * (e.g. JSON.parse will parse an escaped string into an unescaped string), so adding a type check\r\n * of the parsed value is necessary in order to be certain that the string represents a valid JSON object.\r\n *\r\n */\r\n return (parsedJson && typeof parsedJson === \"object\") ? parsedJson : null;\r\n }\r\n catch (error) {\r\n return null;\r\n }\r\n };\r\n /**\r\n * fetches the entry from the browser storage based off the key\r\n * @param key\r\n */\r\n BrowserCacheManager.prototype.getItem = function (key) {\r\n return this.browserStorage.getItem(key);\r\n };\r\n /**\r\n * sets the entry in the browser storage\r\n * @param key\r\n * @param value\r\n */\r\n BrowserCacheManager.prototype.setItem = function (key, value) {\r\n this.browserStorage.setItem(key, value);\r\n };\r\n /**\r\n * fetch the account entity from the platform cache\r\n * @param accountKey\r\n */\r\n BrowserCacheManager.prototype.getAccount = function (accountKey) {\r\n var account = this.getItem(accountKey);\r\n if (!account) {\r\n return null;\r\n }\r\n var parsedAccount = this.validateAndParseJson(account);\r\n if (!parsedAccount || !AccountEntity.isAccountEntity(parsedAccount)) {\r\n return null;\r\n }\r\n return CacheManager.toObject(new AccountEntity(), parsedAccount);\r\n };\r\n /**\r\n * set account entity in the platform cache\r\n * @param key\r\n * @param value\r\n */\r\n BrowserCacheManager.prototype.setAccount = function (account) {\r\n this.logger.trace(\"BrowserCacheManager.setAccount called\");\r\n var key = account.generateAccountKey();\r\n this.setItem(key, JSON.stringify(account));\r\n };\r\n /**\r\n * generates idToken entity from a string\r\n * @param idTokenKey\r\n */\r\n BrowserCacheManager.prototype.getIdTokenCredential = function (idTokenKey) {\r\n var value = this.getItem(idTokenKey);\r\n if (!value) {\r\n this.logger.trace(\"BrowserCacheManager.getIdTokenCredential: called, no cache hit\");\r\n return null;\r\n }\r\n var parsedIdToken = this.validateAndParseJson(value);\r\n if (!parsedIdToken || !IdTokenEntity.isIdTokenEntity(parsedIdToken)) {\r\n this.logger.trace(\"BrowserCacheManager.getIdTokenCredential: called, no cache hit\");\r\n return null;\r\n }\r\n this.logger.trace(\"BrowserCacheManager.getIdTokenCredential: cache hit\");\r\n return CacheManager.toObject(new IdTokenEntity(), parsedIdToken);\r\n };\r\n /**\r\n * set IdToken credential to the platform cache\r\n * @param idToken\r\n */\r\n BrowserCacheManager.prototype.setIdTokenCredential = function (idToken) {\r\n this.logger.trace(\"BrowserCacheManager.setIdTokenCredential called\");\r\n var idTokenKey = idToken.generateCredentialKey();\r\n this.setItem(idTokenKey, JSON.stringify(idToken));\r\n };\r\n /**\r\n * generates accessToken entity from a string\r\n * @param key\r\n */\r\n BrowserCacheManager.prototype.getAccessTokenCredential = function (accessTokenKey) {\r\n var value = this.getItem(accessTokenKey);\r\n if (!value) {\r\n this.logger.trace(\"BrowserCacheManager.getAccessTokenCredential: called, no cache hit\");\r\n return null;\r\n }\r\n var parsedAccessToken = this.validateAndParseJson(value);\r\n if (!parsedAccessToken || !AccessTokenEntity.isAccessTokenEntity(parsedAccessToken)) {\r\n this.logger.trace(\"BrowserCacheManager.getAccessTokenCredential: called, no cache hit\");\r\n return null;\r\n }\r\n this.logger.trace(\"BrowserCacheManager.getAccessTokenCredential: cache hit\");\r\n return CacheManager.toObject(new AccessTokenEntity(), parsedAccessToken);\r\n };\r\n /**\r\n * set accessToken credential to the platform cache\r\n * @param accessToken\r\n */\r\n BrowserCacheManager.prototype.setAccessTokenCredential = function (accessToken) {\r\n this.logger.trace(\"BrowserCacheManager.setAccessTokenCredential called\");\r\n var accessTokenKey = accessToken.generateCredentialKey();\r\n this.setItem(accessTokenKey, JSON.stringify(accessToken));\r\n };\r\n /**\r\n * generates refreshToken entity from a string\r\n * @param refreshTokenKey\r\n */\r\n BrowserCacheManager.prototype.getRefreshTokenCredential = function (refreshTokenKey) {\r\n var value = this.getItem(refreshTokenKey);\r\n if (!value) {\r\n this.logger.trace(\"BrowserCacheManager.getRefreshTokenCredential: called, no cache hit\");\r\n return null;\r\n }\r\n var parsedRefreshToken = this.validateAndParseJson(value);\r\n if (!parsedRefreshToken || !RefreshTokenEntity.isRefreshTokenEntity(parsedRefreshToken)) {\r\n this.logger.trace(\"BrowserCacheManager.getRefreshTokenCredential: called, no cache hit\");\r\n return null;\r\n }\r\n this.logger.trace(\"BrowserCacheManager.getRefreshTokenCredential: cache hit\");\r\n return CacheManager.toObject(new RefreshTokenEntity(), parsedRefreshToken);\r\n };\r\n /**\r\n * set refreshToken credential to the platform cache\r\n * @param refreshToken\r\n */\r\n BrowserCacheManager.prototype.setRefreshTokenCredential = function (refreshToken) {\r\n this.logger.trace(\"BrowserCacheManager.setRefreshTokenCredential called\");\r\n var refreshTokenKey = refreshToken.generateCredentialKey();\r\n this.setItem(refreshTokenKey, JSON.stringify(refreshToken));\r\n };\r\n /**\r\n * fetch appMetadata entity from the platform cache\r\n * @param appMetadataKey\r\n */\r\n BrowserCacheManager.prototype.getAppMetadata = function (appMetadataKey) {\r\n var value = this.getItem(appMetadataKey);\r\n if (!value) {\r\n this.logger.trace(\"BrowserCacheManager.getAppMetadata: called, no cache hit\");\r\n return null;\r\n }\r\n var parsedMetadata = this.validateAndParseJson(value);\r\n if (!parsedMetadata || !AppMetadataEntity.isAppMetadataEntity(appMetadataKey, parsedMetadata)) {\r\n this.logger.trace(\"BrowserCacheManager.getAppMetadata: called, no cache hit\");\r\n return null;\r\n }\r\n this.logger.trace(\"BrowserCacheManager.getAppMetadata: cache hit\");\r\n return CacheManager.toObject(new AppMetadataEntity(), parsedMetadata);\r\n };\r\n /**\r\n * set appMetadata entity to the platform cache\r\n * @param appMetadata\r\n */\r\n BrowserCacheManager.prototype.setAppMetadata = function (appMetadata) {\r\n this.logger.trace(\"BrowserCacheManager.setAppMetadata called\");\r\n var appMetadataKey = appMetadata.generateAppMetadataKey();\r\n this.setItem(appMetadataKey, JSON.stringify(appMetadata));\r\n };\r\n /**\r\n * fetch server telemetry entity from the platform cache\r\n * @param serverTelemetryKey\r\n */\r\n BrowserCacheManager.prototype.getServerTelemetry = function (serverTelemetryKey) {\r\n var value = this.getItem(serverTelemetryKey);\r\n if (!value) {\r\n this.logger.trace(\"BrowserCacheManager.getServerTelemetry: called, no cache hit\");\r\n return null;\r\n }\r\n var parsedMetadata = this.validateAndParseJson(value);\r\n if (!parsedMetadata || !ServerTelemetryEntity.isServerTelemetryEntity(serverTelemetryKey, parsedMetadata)) {\r\n this.logger.trace(\"BrowserCacheManager.getServerTelemetry: called, no cache hit\");\r\n return null;\r\n }\r\n this.logger.trace(\"BrowserCacheManager.getServerTelemetry: cache hit\");\r\n return CacheManager.toObject(new ServerTelemetryEntity(), parsedMetadata);\r\n };\r\n /**\r\n * set server telemetry entity to the platform cache\r\n * @param serverTelemetryKey\r\n * @param serverTelemetry\r\n */\r\n BrowserCacheManager.prototype.setServerTelemetry = function (serverTelemetryKey, serverTelemetry) {\r\n this.logger.trace(\"BrowserCacheManager.setServerTelemetry called\");\r\n this.setItem(serverTelemetryKey, JSON.stringify(serverTelemetry));\r\n };\r\n /**\r\n *\r\n */\r\n BrowserCacheManager.prototype.getAuthorityMetadata = function (key) {\r\n var value = this.internalStorage.getItem(key);\r\n if (!value) {\r\n this.logger.trace(\"BrowserCacheManager.getAuthorityMetadata: called, no cache hit\");\r\n return null;\r\n }\r\n var parsedMetadata = this.validateAndParseJson(value);\r\n if (parsedMetadata && AuthorityMetadataEntity.isAuthorityMetadataEntity(key, parsedMetadata)) {\r\n this.logger.trace(\"BrowserCacheManager.getAuthorityMetadata: cache hit\");\r\n return CacheManager.toObject(new AuthorityMetadataEntity(), parsedMetadata);\r\n }\r\n return null;\r\n };\r\n /**\r\n *\r\n */\r\n BrowserCacheManager.prototype.getAuthorityMetadataKeys = function () {\r\n var _this = this;\r\n var allKeys = this.internalStorage.getKeys();\r\n return allKeys.filter(function (key) {\r\n return _this.isAuthorityMetadata(key);\r\n });\r\n };\r\n /**\r\n * Sets wrapper metadata in memory\r\n * @param wrapperSKU\r\n * @param wrapperVersion\r\n */\r\n BrowserCacheManager.prototype.setWrapperMetadata = function (wrapperSKU, wrapperVersion) {\r\n this.internalStorage.setItem(InMemoryCacheKeys.WRAPPER_SKU, wrapperSKU);\r\n this.internalStorage.setItem(InMemoryCacheKeys.WRAPPER_VER, wrapperVersion);\r\n };\r\n /**\r\n * Returns wrapper metadata from in-memory storage\r\n */\r\n BrowserCacheManager.prototype.getWrapperMetadata = function () {\r\n var sku = this.internalStorage.getItem(InMemoryCacheKeys.WRAPPER_SKU) || Constants.EMPTY_STRING;\r\n var version = this.internalStorage.getItem(InMemoryCacheKeys.WRAPPER_VER) || Constants.EMPTY_STRING;\r\n return [sku, version];\r\n };\r\n /**\r\n *\r\n * @param entity\r\n */\r\n BrowserCacheManager.prototype.setAuthorityMetadata = function (key, entity) {\r\n this.logger.trace(\"BrowserCacheManager.setAuthorityMetadata called\");\r\n this.internalStorage.setItem(key, JSON.stringify(entity));\r\n };\r\n /**\r\n * Gets the active account\r\n */\r\n BrowserCacheManager.prototype.getActiveAccount = function () {\r\n var activeAccountKeyFilters = this.generateCacheKey(PersistentCacheKeys.ACTIVE_ACCOUNT_FILTERS);\r\n var activeAccountValueFilters = this.getItem(activeAccountKeyFilters);\r\n if (!activeAccountValueFilters) {\r\n // if new active account cache type isn't found, it's an old version, so look for that instead\r\n this.logger.trace(\"No active account filters cache schema found, looking for legacy schema\");\r\n var activeAccountKeyLocal = this.generateCacheKey(PersistentCacheKeys.ACTIVE_ACCOUNT);\r\n var activeAccountValueLocal = this.getItem(activeAccountKeyLocal);\r\n if (!activeAccountValueLocal) {\r\n this.logger.trace(\"No active account found\");\r\n return null;\r\n }\r\n var activeAccount = this.getAccountInfoByFilter({ localAccountId: activeAccountValueLocal })[0] || null;\r\n if (activeAccount) {\r\n this.logger.trace(\"Legacy active account cache schema found\");\r\n this.logger.trace(\"Adding active account filters cache schema\");\r\n this.setActiveAccount(activeAccount);\r\n return activeAccount;\r\n }\r\n return null;\r\n }\r\n var activeAccountValueObj = this.validateAndParseJson(activeAccountValueFilters);\r\n if (activeAccountValueObj) {\r\n this.logger.trace(\"Active account filters schema found\");\r\n return this.getAccountInfoByFilter({\r\n homeAccountId: activeAccountValueObj.homeAccountId,\r\n localAccountId: activeAccountValueObj.localAccountId\r\n })[0] || null;\r\n }\r\n this.logger.trace(\"No active account found\");\r\n return null;\r\n };\r\n /**\r\n * Sets the active account's localAccountId in cache\r\n * @param account\r\n */\r\n BrowserCacheManager.prototype.setActiveAccount = function (account) {\r\n var activeAccountKey = this.generateCacheKey(PersistentCacheKeys.ACTIVE_ACCOUNT_FILTERS);\r\n var activeAccountKeyLocal = this.generateCacheKey(PersistentCacheKeys.ACTIVE_ACCOUNT);\r\n if (account) {\r\n this.logger.verbose(\"setActiveAccount: Active account set\");\r\n var activeAccountValue = {\r\n homeAccountId: account.homeAccountId,\r\n localAccountId: account.localAccountId\r\n };\r\n this.browserStorage.setItem(activeAccountKey, JSON.stringify(activeAccountValue));\r\n this.browserStorage.setItem(activeAccountKeyLocal, account.localAccountId);\r\n }\r\n else {\r\n this.logger.verbose(\"setActiveAccount: No account passed, active account not set\");\r\n this.browserStorage.removeItem(activeAccountKey);\r\n this.browserStorage.removeItem(activeAccountKeyLocal);\r\n }\r\n };\r\n /**\r\n * Gets a list of accounts that match all of the filters provided\r\n * @param account\r\n */\r\n BrowserCacheManager.prototype.getAccountInfoByFilter = function (accountFilter) {\r\n var allAccounts = this.getAllAccounts();\r\n return allAccounts.filter(function (accountObj) {\r\n if (accountFilter.username && accountFilter.username.toLowerCase() !== accountObj.username.toLowerCase()) {\r\n return false;\r\n }\r\n if (accountFilter.homeAccountId && accountFilter.homeAccountId !== accountObj.homeAccountId) {\r\n return false;\r\n }\r\n if (accountFilter.localAccountId && accountFilter.localAccountId !== accountObj.localAccountId) {\r\n return false;\r\n }\r\n if (accountFilter.tenantId && accountFilter.tenantId !== accountObj.tenantId) {\r\n return false;\r\n }\r\n if (accountFilter.environment && accountFilter.environment !== accountObj.environment) {\r\n return false;\r\n }\r\n return true;\r\n });\r\n };\r\n /**\r\n * Checks the cache for accounts matching loginHint or SID\r\n * @param loginHint\r\n * @param sid\r\n */\r\n BrowserCacheManager.prototype.getAccountInfoByHints = function (loginHint, sid) {\r\n var matchingAccounts = this.getAllAccounts().filter(function (accountInfo) {\r\n if (sid) {\r\n var accountSid = accountInfo.idTokenClaims && accountInfo.idTokenClaims[\"sid\"];\r\n return sid === accountSid;\r\n }\r\n if (loginHint) {\r\n return loginHint === accountInfo.username;\r\n }\r\n return false;\r\n });\r\n if (matchingAccounts.length === 1) {\r\n return matchingAccounts[0];\r\n }\r\n else if (matchingAccounts.length > 1) {\r\n throw ClientAuthError.createMultipleMatchingAccountsInCacheError();\r\n }\r\n return null;\r\n };\r\n /**\r\n * fetch throttling entity from the platform cache\r\n * @param throttlingCacheKey\r\n */\r\n BrowserCacheManager.prototype.getThrottlingCache = function (throttlingCacheKey) {\r\n var value = this.getItem(throttlingCacheKey);\r\n if (!value) {\r\n this.logger.trace(\"BrowserCacheManager.getThrottlingCache: called, no cache hit\");\r\n return null;\r\n }\r\n var parsedThrottlingCache = this.validateAndParseJson(value);\r\n if (!parsedThrottlingCache || !ThrottlingEntity.isThrottlingEntity(throttlingCacheKey, parsedThrottlingCache)) {\r\n this.logger.trace(\"BrowserCacheManager.getThrottlingCache: called, no cache hit\");\r\n return null;\r\n }\r\n this.logger.trace(\"BrowserCacheManager.getThrottlingCache: cache hit\");\r\n return CacheManager.toObject(new ThrottlingEntity(), parsedThrottlingCache);\r\n };\r\n /**\r\n * set throttling entity to the platform cache\r\n * @param throttlingCacheKey\r\n * @param throttlingCache\r\n */\r\n BrowserCacheManager.prototype.setThrottlingCache = function (throttlingCacheKey, throttlingCache) {\r\n this.logger.trace(\"BrowserCacheManager.setThrottlingCache called\");\r\n this.setItem(throttlingCacheKey, JSON.stringify(throttlingCache));\r\n };\r\n /**\r\n * Gets cache item with given key.\r\n * Will retrieve from cookies if storeAuthStateInCookie is set to true.\r\n * @param key\r\n */\r\n BrowserCacheManager.prototype.getTemporaryCache = function (cacheKey, generateKey) {\r\n var key = generateKey ? this.generateCacheKey(cacheKey) : cacheKey;\r\n if (this.cacheConfig.storeAuthStateInCookie) {\r\n var itemCookie = this.getItemCookie(key);\r\n if (itemCookie) {\r\n this.logger.trace(\"BrowserCacheManager.getTemporaryCache: storeAuthStateInCookies set to true, retrieving from cookies\");\r\n return itemCookie;\r\n }\r\n }\r\n var value = this.temporaryCacheStorage.getItem(key);\r\n if (!value) {\r\n // If temp cache item not found in session/memory, check local storage for items set by old versions\r\n if (this.cacheConfig.cacheLocation === BrowserCacheLocation.LocalStorage) {\r\n var item = this.browserStorage.getItem(key);\r\n if (item) {\r\n this.logger.trace(\"BrowserCacheManager.getTemporaryCache: Temporary cache item found in local storage\");\r\n return item;\r\n }\r\n }\r\n this.logger.trace(\"BrowserCacheManager.getTemporaryCache: No cache item found in local storage\");\r\n return null;\r\n }\r\n this.logger.trace(\"BrowserCacheManager.getTemporaryCache: Temporary cache item returned\");\r\n return value;\r\n };\r\n /**\r\n * Sets the cache item with the key and value given.\r\n * Stores in cookie if storeAuthStateInCookie is set to true.\r\n * This can cause cookie overflow if used incorrectly.\r\n * @param key\r\n * @param value\r\n */\r\n BrowserCacheManager.prototype.setTemporaryCache = function (cacheKey, value, generateKey) {\r\n var key = generateKey ? this.generateCacheKey(cacheKey) : cacheKey;\r\n this.temporaryCacheStorage.setItem(key, value);\r\n if (this.cacheConfig.storeAuthStateInCookie) {\r\n this.logger.trace(\"BrowserCacheManager.setTemporaryCache: storeAuthStateInCookie set to true, setting item cookie\");\r\n this.setItemCookie(key, value);\r\n }\r\n };\r\n /**\r\n * Removes the cache item with the given key.\r\n * Will also clear the cookie item if storeAuthStateInCookie is set to true.\r\n * @param key\r\n */\r\n BrowserCacheManager.prototype.removeItem = function (key) {\r\n this.browserStorage.removeItem(key);\r\n this.temporaryCacheStorage.removeItem(key);\r\n if (this.cacheConfig.storeAuthStateInCookie) {\r\n this.logger.trace(\"BrowserCacheManager.removeItem: storeAuthStateInCookie is true, clearing item cookie\");\r\n this.clearItemCookie(key);\r\n }\r\n return true;\r\n };\r\n /**\r\n * Checks whether key is in cache.\r\n * @param key\r\n */\r\n BrowserCacheManager.prototype.containsKey = function (key) {\r\n return this.browserStorage.containsKey(key) || this.temporaryCacheStorage.containsKey(key);\r\n };\r\n /**\r\n * Gets all keys in window.\r\n */\r\n BrowserCacheManager.prototype.getKeys = function () {\r\n return __spread(this.browserStorage.getKeys(), this.temporaryCacheStorage.getKeys());\r\n };\r\n /**\r\n * Clears all cache entries created by MSAL.\r\n */\r\n BrowserCacheManager.prototype.clear = function () {\r\n return __awaiter(this, void 0, void 0, function () {\r\n var _this = this;\r\n return __generator(this, function (_a) {\r\n switch (_a.label) {\r\n case 0: \r\n // Removes all accounts and their credentials\r\n return [4 /*yield*/, this.removeAllAccounts()];\r\n case 1:\r\n // Removes all accounts and their credentials\r\n _a.sent();\r\n this.removeAppMetadata();\r\n // Removes all remaining MSAL cache items\r\n this.getKeys().forEach(function (cacheKey) {\r\n // Check if key contains msal prefix; For now, we are clearing all the cache items created by MSAL.js\r\n if ((_this.browserStorage.containsKey(cacheKey) || _this.temporaryCacheStorage.containsKey(cacheKey)) && ((cacheKey.indexOf(Constants.CACHE_PREFIX) !== -1) || (cacheKey.indexOf(_this.clientId) !== -1))) {\r\n _this.removeItem(cacheKey);\r\n }\r\n });\r\n this.internalStorage.clear();\r\n return [2 /*return*/];\r\n }\r\n });\r\n });\r\n };\r\n /**\r\n * Add value to cookies\r\n * @param cookieName\r\n * @param cookieValue\r\n * @param expires\r\n */\r\n BrowserCacheManager.prototype.setItemCookie = function (cookieName, cookieValue, expires) {\r\n var cookieStr = encodeURIComponent(cookieName) + \"=\" + encodeURIComponent(cookieValue) + \";path=/;SameSite=Lax;\";\r\n if (expires) {\r\n var expireTime = this.getCookieExpirationTime(expires);\r\n cookieStr += \"expires=\" + expireTime + \";\";\r\n }\r\n if (this.cacheConfig.secureCookies) {\r\n cookieStr += \"Secure;\";\r\n }\r\n document.cookie = cookieStr;\r\n };\r\n /**\r\n * Get one item by key from cookies\r\n * @param cookieName\r\n */\r\n BrowserCacheManager.prototype.getItemCookie = function (cookieName) {\r\n var name = encodeURIComponent(cookieName) + \"=\";\r\n var cookieList = document.cookie.split(\";\");\r\n for (var i = 0; i < cookieList.length; i++) {\r\n var cookie = cookieList[i];\r\n while (cookie.charAt(0) === \" \") {\r\n cookie = cookie.substring(1);\r\n }\r\n if (cookie.indexOf(name) === 0) {\r\n return decodeURIComponent(cookie.substring(name.length, cookie.length));\r\n }\r\n }\r\n return Constants.EMPTY_STRING;\r\n };\r\n /**\r\n * Clear all msal-related cookies currently set in the browser. Should only be used to clear temporary cache items.\r\n */\r\n BrowserCacheManager.prototype.clearMsalCookies = function () {\r\n var _this = this;\r\n var cookiePrefix = Constants.CACHE_PREFIX + \".\" + this.clientId;\r\n var cookieList = document.cookie.split(\";\");\r\n cookieList.forEach(function (cookie) {\r\n while (cookie.charAt(0) === \" \") {\r\n // eslint-disable-next-line no-param-reassign\r\n cookie = cookie.substring(1);\r\n }\r\n if (cookie.indexOf(cookiePrefix) === 0) {\r\n var cookieKey = cookie.split(\"=\")[0];\r\n _this.clearItemCookie(cookieKey);\r\n }\r\n });\r\n };\r\n /**\r\n * Clear an item in the cookies by key\r\n * @param cookieName\r\n */\r\n BrowserCacheManager.prototype.clearItemCookie = function (cookieName) {\r\n this.setItemCookie(cookieName, Constants.EMPTY_STRING, -1);\r\n };\r\n /**\r\n * Get cookie expiration time\r\n * @param cookieLifeDays\r\n */\r\n BrowserCacheManager.prototype.getCookieExpirationTime = function (cookieLifeDays) {\r\n var today = new Date();\r\n var expr = new Date(today.getTime() + cookieLifeDays * this.COOKIE_LIFE_MULTIPLIER);\r\n return expr.toUTCString();\r\n };\r\n /**\r\n * Gets the cache object referenced by the browser\r\n */\r\n BrowserCacheManager.prototype.getCache = function () {\r\n return this.browserStorage;\r\n };\r\n /**\r\n * interface compat, we cannot overwrite browser cache; Functionality is supported by individual entities in browser\r\n */\r\n BrowserCacheManager.prototype.setCache = function () {\r\n // sets nothing\r\n };\r\n /**\r\n * Prepend msal. to each key; Skip for any JSON object as Key (defined schemas do not need the key appended: AccessToken Keys or the upcoming schema)\r\n * @param key\r\n * @param addInstanceId\r\n */\r\n BrowserCacheManager.prototype.generateCacheKey = function (key) {\r\n var generatedKey = this.validateAndParseJson(key);\r\n if (!generatedKey) {\r\n if (StringUtils.startsWith(key, Constants.CACHE_PREFIX) || StringUtils.startsWith(key, PersistentCacheKeys.ADAL_ID_TOKEN)) {\r\n return key;\r\n }\r\n return Constants.CACHE_PREFIX + \".\" + this.clientId + \".\" + key;\r\n }\r\n return JSON.stringify(key);\r\n };\r\n /**\r\n * Create authorityKey to cache authority\r\n * @param state\r\n */\r\n BrowserCacheManager.prototype.generateAuthorityKey = function (stateString) {\r\n var stateId = ProtocolUtils.parseRequestState(this.cryptoImpl, stateString).libraryState.id;\r\n return this.generateCacheKey(TemporaryCacheKeys.AUTHORITY + \".\" + stateId);\r\n };\r\n /**\r\n * Create Nonce key to cache nonce\r\n * @param state\r\n */\r\n BrowserCacheManager.prototype.generateNonceKey = function (stateString) {\r\n var stateId = ProtocolUtils.parseRequestState(this.cryptoImpl, stateString).libraryState.id;\r\n return this.generateCacheKey(TemporaryCacheKeys.NONCE_IDTOKEN + \".\" + stateId);\r\n };\r\n /**\r\n * Creates full cache key for the request state\r\n * @param stateString State string for the request\r\n */\r\n BrowserCacheManager.prototype.generateStateKey = function (stateString) {\r\n // Use the library state id to key temp storage for uniqueness for multiple concurrent requests\r\n var stateId = ProtocolUtils.parseRequestState(this.cryptoImpl, stateString).libraryState.id;\r\n return this.generateCacheKey(TemporaryCacheKeys.REQUEST_STATE + \".\" + stateId);\r\n };\r\n /**\r\n * Gets the cached authority based on the cached state. Returns empty if no cached state found.\r\n */\r\n BrowserCacheManager.prototype.getCachedAuthority = function (cachedState) {\r\n var stateCacheKey = this.generateStateKey(cachedState);\r\n var state = this.getTemporaryCache(stateCacheKey);\r\n if (!state) {\r\n return null;\r\n }\r\n var authorityCacheKey = this.generateAuthorityKey(state);\r\n return this.getTemporaryCache(authorityCacheKey);\r\n };\r\n /**\r\n * Updates account, authority, and state in cache\r\n * @param serverAuthenticationRequest\r\n * @param account\r\n */\r\n BrowserCacheManager.prototype.updateCacheEntries = function (state, nonce, authorityInstance, loginHint, account) {\r\n this.logger.trace(\"BrowserCacheManager.updateCacheEntries called\");\r\n // Cache the request state\r\n var stateCacheKey = this.generateStateKey(state);\r\n this.setTemporaryCache(stateCacheKey, state, false);\r\n // Cache the nonce\r\n var nonceCacheKey = this.generateNonceKey(state);\r\n this.setTemporaryCache(nonceCacheKey, nonce, false);\r\n // Cache authorityKey\r\n var authorityCacheKey = this.generateAuthorityKey(state);\r\n this.setTemporaryCache(authorityCacheKey, authorityInstance, false);\r\n if (account) {\r\n var ccsCredential = {\r\n credential: account.homeAccountId,\r\n type: CcsCredentialType.HOME_ACCOUNT_ID\r\n };\r\n this.setTemporaryCache(TemporaryCacheKeys.CCS_CREDENTIAL, JSON.stringify(ccsCredential), true);\r\n }\r\n else if (!StringUtils.isEmpty(loginHint)) {\r\n var ccsCredential = {\r\n credential: loginHint,\r\n type: CcsCredentialType.UPN\r\n };\r\n this.setTemporaryCache(TemporaryCacheKeys.CCS_CREDENTIAL, JSON.stringify(ccsCredential), true);\r\n }\r\n };\r\n /**\r\n * Reset all temporary cache items\r\n * @param state\r\n */\r\n BrowserCacheManager.prototype.resetRequestCache = function (state) {\r\n var _this = this;\r\n this.logger.trace(\"BrowserCacheManager.resetRequestCache called\");\r\n // check state and remove associated cache items\r\n if (!StringUtils.isEmpty(state)) {\r\n this.getKeys().forEach(function (key) {\r\n if (key.indexOf(state) !== -1) {\r\n _this.removeItem(key);\r\n }\r\n });\r\n }\r\n // delete generic interactive request parameters\r\n if (state) {\r\n this.removeItem(this.generateStateKey(state));\r\n this.removeItem(this.generateNonceKey(state));\r\n this.removeItem(this.generateAuthorityKey(state));\r\n }\r\n this.removeItem(this.generateCacheKey(TemporaryCacheKeys.REQUEST_PARAMS));\r\n this.removeItem(this.generateCacheKey(TemporaryCacheKeys.ORIGIN_URI));\r\n this.removeItem(this.generateCacheKey(TemporaryCacheKeys.URL_HASH));\r\n this.removeItem(this.generateCacheKey(TemporaryCacheKeys.CORRELATION_ID));\r\n this.removeItem(this.generateCacheKey(TemporaryCacheKeys.CCS_CREDENTIAL));\r\n this.removeItem(this.generateCacheKey(TemporaryCacheKeys.NATIVE_REQUEST));\r\n this.setInteractionInProgress(false);\r\n };\r\n /**\r\n * Removes temporary cache for the provided state\r\n * @param stateString\r\n */\r\n BrowserCacheManager.prototype.cleanRequestByState = function (stateString) {\r\n this.logger.trace(\"BrowserCacheManager.cleanRequestByState called\");\r\n // Interaction is completed - remove interaction status.\r\n if (stateString) {\r\n var stateKey = this.generateStateKey(stateString);\r\n var cachedState = this.temporaryCacheStorage.getItem(stateKey);\r\n this.logger.infoPii(\"BrowserCacheManager.cleanRequestByState: Removing temporary cache items for state: \" + cachedState);\r\n this.resetRequestCache(cachedState || Constants.EMPTY_STRING);\r\n }\r\n this.clearMsalCookies();\r\n };\r\n /**\r\n * Looks in temporary cache for any state values with the provided interactionType and removes all temporary cache items for that state\r\n * Used in scenarios where temp cache needs to be cleaned but state is not known, such as clicking browser back button.\r\n * @param interactionType\r\n */\r\n BrowserCacheManager.prototype.cleanRequestByInteractionType = function (interactionType) {\r\n var _this = this;\r\n this.logger.trace(\"BrowserCacheManager.cleanRequestByInteractionType called\");\r\n // Loop through all keys to find state key\r\n this.getKeys().forEach(function (key) {\r\n // If this key is not the state key, move on\r\n if (key.indexOf(TemporaryCacheKeys.REQUEST_STATE) === -1) {\r\n return;\r\n }\r\n // Retrieve state value, return if not a valid value\r\n var stateValue = _this.temporaryCacheStorage.getItem(key);\r\n if (!stateValue) {\r\n return;\r\n }\r\n // Extract state and ensure it matches given InteractionType, then clean request cache\r\n var parsedState = BrowserProtocolUtils.extractBrowserRequestState(_this.cryptoImpl, stateValue);\r\n if (parsedState && parsedState.interactionType === interactionType) {\r\n _this.logger.infoPii(\"BrowserCacheManager.cleanRequestByInteractionType: Removing temporary cache items for state: \" + stateValue);\r\n _this.resetRequestCache(stateValue);\r\n }\r\n });\r\n this.clearMsalCookies();\r\n this.setInteractionInProgress(false);\r\n };\r\n BrowserCacheManager.prototype.cacheCodeRequest = function (authCodeRequest, browserCrypto) {\r\n this.logger.trace(\"BrowserCacheManager.cacheCodeRequest called\");\r\n var encodedValue = browserCrypto.base64Encode(JSON.stringify(authCodeRequest));\r\n this.setTemporaryCache(TemporaryCacheKeys.REQUEST_PARAMS, encodedValue, true);\r\n };\r\n /**\r\n * Gets the token exchange parameters from the cache. Throws an error if nothing is found.\r\n */\r\n BrowserCacheManager.prototype.getCachedRequest = function (state, browserCrypto) {\r\n this.logger.trace(\"BrowserCacheManager.getCachedRequest called\");\r\n // Get token request from cache and parse as TokenExchangeParameters.\r\n var encodedTokenRequest = this.getTemporaryCache(TemporaryCacheKeys.REQUEST_PARAMS, true);\r\n if (!encodedTokenRequest) {\r\n throw BrowserAuthError.createNoTokenRequestCacheError();\r\n }\r\n var parsedRequest = this.validateAndParseJson(browserCrypto.base64Decode(encodedTokenRequest));\r\n if (!parsedRequest) {\r\n throw BrowserAuthError.createUnableToParseTokenRequestCacheError();\r\n }\r\n this.removeItem(this.generateCacheKey(TemporaryCacheKeys.REQUEST_PARAMS));\r\n // Get cached authority and use if no authority is cached with request.\r\n if (StringUtils.isEmpty(parsedRequest.authority)) {\r\n var authorityCacheKey = this.generateAuthorityKey(state);\r\n var cachedAuthority = this.getTemporaryCache(authorityCacheKey);\r\n if (!cachedAuthority) {\r\n throw BrowserAuthError.createNoCachedAuthorityError();\r\n }\r\n parsedRequest.authority = cachedAuthority;\r\n }\r\n return parsedRequest;\r\n };\r\n /**\r\n * Gets cached native request for redirect flows\r\n */\r\n BrowserCacheManager.prototype.getCachedNativeRequest = function () {\r\n this.logger.trace(\"BrowserCacheManager.getCachedNativeRequest called\");\r\n var cachedRequest = this.getTemporaryCache(TemporaryCacheKeys.NATIVE_REQUEST, true);\r\n if (!cachedRequest) {\r\n this.logger.trace(\"BrowserCacheManager.getCachedNativeRequest: No cached native request found\");\r\n return null;\r\n }\r\n var parsedRequest = this.validateAndParseJson(cachedRequest);\r\n if (!parsedRequest) {\r\n this.logger.error(\"BrowserCacheManager.getCachedNativeRequest: Unable to parse native request\");\r\n return null;\r\n }\r\n return parsedRequest;\r\n };\r\n BrowserCacheManager.prototype.isInteractionInProgress = function (matchClientId) {\r\n var clientId = this.getInteractionInProgress();\r\n if (matchClientId) {\r\n return clientId === this.clientId;\r\n }\r\n else {\r\n return !!clientId;\r\n }\r\n };\r\n BrowserCacheManager.prototype.getInteractionInProgress = function () {\r\n var key = Constants.CACHE_PREFIX + \".\" + TemporaryCacheKeys.INTERACTION_STATUS_KEY;\r\n return this.getTemporaryCache(key, false);\r\n };\r\n BrowserCacheManager.prototype.setInteractionInProgress = function (inProgress) {\r\n // Ensure we don't overwrite interaction in progress for a different clientId\r\n var key = Constants.CACHE_PREFIX + \".\" + TemporaryCacheKeys.INTERACTION_STATUS_KEY;\r\n if (inProgress) {\r\n if (this.getInteractionInProgress()) {\r\n throw BrowserAuthError.createInteractionInProgressError();\r\n }\r\n else {\r\n // No interaction is in progress\r\n this.setTemporaryCache(key, this.clientId, false);\r\n }\r\n }\r\n else if (!inProgress && this.getInteractionInProgress() === this.clientId) {\r\n this.removeItem(key);\r\n }\r\n };\r\n /**\r\n * Returns username retrieved from ADAL or MSAL v1 idToken\r\n */\r\n BrowserCacheManager.prototype.getLegacyLoginHint = function () {\r\n // Only check for adal/msal token if no SSO params are being used\r\n var adalIdTokenString = this.getTemporaryCache(PersistentCacheKeys.ADAL_ID_TOKEN);\r\n if (adalIdTokenString) {\r\n this.browserStorage.removeItem(PersistentCacheKeys.ADAL_ID_TOKEN);\r\n this.logger.verbose(\"Cached ADAL id token retrieved.\");\r\n }\r\n // Check for cached MSAL v1 id token\r\n var msalIdTokenString = this.getTemporaryCache(PersistentCacheKeys.ID_TOKEN, true);\r\n if (msalIdTokenString) {\r\n this.removeItem(this.generateCacheKey(PersistentCacheKeys.ID_TOKEN));\r\n this.logger.verbose(\"Cached MSAL.js v1 id token retrieved\");\r\n }\r\n var cachedIdTokenString = msalIdTokenString || adalIdTokenString;\r\n if (cachedIdTokenString) {\r\n var cachedIdToken = new IdToken(cachedIdTokenString, this.cryptoImpl);\r\n if (cachedIdToken.claims && cachedIdToken.claims.preferred_username) {\r\n this.logger.verbose(\"No SSO params used and ADAL/MSAL v1 token retrieved, setting ADAL/MSAL v1 preferred_username as loginHint\");\r\n return cachedIdToken.claims.preferred_username;\r\n }\r\n else if (cachedIdToken.claims && cachedIdToken.claims.upn) {\r\n this.logger.verbose(\"No SSO params used and ADAL/MSAL v1 token retrieved, setting ADAL/MSAL v1 upn as loginHint\");\r\n return cachedIdToken.claims.upn;\r\n }\r\n else {\r\n this.logger.verbose(\"No SSO params used and ADAL/MSAL v1 token retrieved, however, no account hint claim found. Enable preferred_username or upn id token claim to get SSO.\");\r\n }\r\n }\r\n return null;\r\n };\r\n /**\r\n * Updates a credential's cache key if the current cache key is outdated\r\n */\r\n BrowserCacheManager.prototype.updateCredentialCacheKey = function (currentCacheKey, credential) {\r\n var updatedCacheKey = credential.generateCredentialKey();\r\n if (currentCacheKey !== updatedCacheKey) {\r\n var cacheItem = this.getItem(currentCacheKey);\r\n if (cacheItem) {\r\n this.removeItem(currentCacheKey);\r\n this.setItem(updatedCacheKey, cacheItem);\r\n this.logger.verbose(\"Updated an outdated \" + credential.credentialType + \" cache key\");\r\n return updatedCacheKey;\r\n }\r\n else {\r\n this.logger.error(\"Attempted to update an outdated \" + credential.credentialType + \" cache key but no item matching the outdated key was found in storage\");\r\n }\r\n }\r\n return currentCacheKey;\r\n };\r\n /**\r\n * Returns application id as redirect context during AcquireTokenRedirect flow.\r\n */\r\n BrowserCacheManager.prototype.getRedirectRequestContext = function () {\r\n return this.getTemporaryCache(TemporaryCacheKeys.REDIRECT_CONTEXT, true);\r\n };\r\n /**\r\n * Sets application id as the redirect context during AcquireTokenRedirect flow.\r\n * @param value\r\n */\r\n BrowserCacheManager.prototype.setRedirectRequestContext = function (value) {\r\n this.setTemporaryCache(TemporaryCacheKeys.REDIRECT_CONTEXT, value, true);\r\n };\r\n return BrowserCacheManager;\r\n}(CacheManager));\r\nvar DEFAULT_BROWSER_CACHE_MANAGER = function (clientId, logger) {\r\n var cacheOptions = {\r\n cacheLocation: BrowserCacheLocation.MemoryStorage,\r\n storeAuthStateInCookie: false,\r\n secureCookies: false\r\n };\r\n return new BrowserCacheManager(clientId, cacheOptions, DEFAULT_CRYPTO_IMPLEMENTATION, logger);\r\n};\n\nexport { BrowserCacheManager, DEFAULT_BROWSER_CACHE_MANAGER };\n","/*! @azure/msal-browser v2.32.1 2022-12-07 */\n'use strict';\nimport { BrowserConfigurationAuthError } from '../error/BrowserConfigurationAuthError.js';\nimport { BrowserCacheLocation } from '../utils/BrowserConstants.js';\n\n/*\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * Licensed under the MIT License.\r\n */\r\nvar BrowserStorage = /** @class */ (function () {\r\n function BrowserStorage(cacheLocation) {\r\n this.validateWindowStorage(cacheLocation);\r\n this.windowStorage = window[cacheLocation];\r\n }\r\n BrowserStorage.prototype.validateWindowStorage = function (cacheLocation) {\r\n if (cacheLocation !== BrowserCacheLocation.LocalStorage && cacheLocation !== BrowserCacheLocation.SessionStorage) {\r\n throw BrowserConfigurationAuthError.createStorageNotSupportedError(cacheLocation);\r\n }\r\n var storageSupported = !!window[cacheLocation];\r\n if (!storageSupported) {\r\n throw BrowserConfigurationAuthError.createStorageNotSupportedError(cacheLocation);\r\n }\r\n };\r\n BrowserStorage.prototype.getItem = function (key) {\r\n return this.windowStorage.getItem(key);\r\n };\r\n BrowserStorage.prototype.setItem = function (key, value) {\r\n this.windowStorage.setItem(key, value);\r\n };\r\n BrowserStorage.prototype.removeItem = function (key) {\r\n this.windowStorage.removeItem(key);\r\n };\r\n BrowserStorage.prototype.getKeys = function () {\r\n return Object.keys(this.windowStorage);\r\n };\r\n BrowserStorage.prototype.containsKey = function (key) {\r\n return this.windowStorage.hasOwnProperty(key);\r\n };\r\n return BrowserStorage;\r\n}());\n\nexport { BrowserStorage };\n","/*! @azure/msal-browser v2.32.1 2022-12-07 */\n'use strict';\nimport { __awaiter, __generator } from '../_virtual/_tslib.js';\nimport { AsyncMemoryStorage } from './AsyncMemoryStorage.js';\n\n/*\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * Licensed under the MIT License.\r\n */\r\nvar CryptoKeyStoreNames;\r\n(function (CryptoKeyStoreNames) {\r\n CryptoKeyStoreNames[\"asymmetricKeys\"] = \"asymmetricKeys\";\r\n CryptoKeyStoreNames[\"symmetricKeys\"] = \"symmetricKeys\";\r\n})(CryptoKeyStoreNames || (CryptoKeyStoreNames = {}));\r\n/**\r\n * MSAL CryptoKeyStore DB Version 2\r\n */\r\nvar CryptoKeyStore = /** @class */ (function () {\r\n function CryptoKeyStore(logger) {\r\n this.logger = logger;\r\n this.asymmetricKeys = new AsyncMemoryStorage(this.logger, CryptoKeyStoreNames.asymmetricKeys);\r\n this.symmetricKeys = new AsyncMemoryStorage(this.logger, CryptoKeyStoreNames.symmetricKeys);\r\n }\r\n CryptoKeyStore.prototype.clear = function () {\r\n return __awaiter(this, void 0, void 0, function () {\r\n var e_1;\r\n return __generator(this, function (_a) {\r\n switch (_a.label) {\r\n case 0:\r\n // Delete in-memory keystores\r\n this.asymmetricKeys.clearInMemory();\r\n this.symmetricKeys.clearInMemory();\r\n _a.label = 1;\r\n case 1:\r\n _a.trys.push([1, 3, , 4]);\r\n return [4 /*yield*/, this.asymmetricKeys.clearPersistent()];\r\n case 2:\r\n _a.sent();\r\n return [2 /*return*/, true];\r\n case 3:\r\n e_1 = _a.sent();\r\n if (e_1 instanceof Error) {\r\n this.logger.error(\"Clearing keystore failed with error: \" + e_1.message);\r\n }\r\n else {\r\n this.logger.error(\"Clearing keystore failed with unknown error\");\r\n }\r\n return [2 /*return*/, false];\r\n case 4: return [2 /*return*/];\r\n }\r\n });\r\n });\r\n };\r\n return CryptoKeyStore;\r\n}());\n\nexport { CryptoKeyStore, CryptoKeyStoreNames };\n","/*! @azure/msal-browser v2.32.1 2022-12-07 */\n'use strict';\nimport { __awaiter, __generator } from '../_virtual/_tslib.js';\nimport { BrowserAuthError } from '../error/BrowserAuthError.js';\nimport { DB_NAME, DB_VERSION, DB_TABLE_NAME } from '../utils/BrowserConstants.js';\n\n/*\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * Licensed under the MIT License.\r\n */\r\n/**\r\n * Storage wrapper for IndexedDB storage in browsers: https://developer.mozilla.org/en-US/docs/Web/API/IndexedDB_API\r\n */\r\nvar DatabaseStorage = /** @class */ (function () {\r\n function DatabaseStorage() {\r\n this.dbName = DB_NAME;\r\n this.version = DB_VERSION;\r\n this.tableName = DB_TABLE_NAME;\r\n this.dbOpen = false;\r\n }\r\n /**\r\n * Opens IndexedDB instance.\r\n */\r\n DatabaseStorage.prototype.open = function () {\r\n return __awaiter(this, void 0, void 0, function () {\r\n var _this = this;\r\n return __generator(this, function (_a) {\r\n return [2 /*return*/, new Promise(function (resolve, reject) {\r\n var openDB = window.indexedDB.open(_this.dbName, _this.version);\r\n openDB.addEventListener(\"upgradeneeded\", function (e) {\r\n var event = e;\r\n event.target.result.createObjectStore(_this.tableName);\r\n });\r\n openDB.addEventListener(\"success\", function (e) {\r\n var event = e;\r\n _this.db = event.target.result;\r\n _this.dbOpen = true;\r\n resolve();\r\n });\r\n openDB.addEventListener(\"error\", function () { return reject(BrowserAuthError.createDatabaseUnavailableError()); });\r\n })];\r\n });\r\n });\r\n };\r\n /**\r\n * Closes the connection to IndexedDB database when all pending transactions\r\n * complete.\r\n */\r\n DatabaseStorage.prototype.closeConnection = function () {\r\n var db = this.db;\r\n if (db && this.dbOpen) {\r\n db.close();\r\n this.dbOpen = false;\r\n }\r\n };\r\n /**\r\n * Opens database if it's not already open\r\n */\r\n DatabaseStorage.prototype.validateDbIsOpen = function () {\r\n return __awaiter(this, void 0, void 0, function () {\r\n return __generator(this, function (_a) {\r\n switch (_a.label) {\r\n case 0:\r\n if (!!this.dbOpen) return [3 /*break*/, 2];\r\n return [4 /*yield*/, this.open()];\r\n case 1: return [2 /*return*/, _a.sent()];\r\n case 2: return [2 /*return*/];\r\n }\r\n });\r\n });\r\n };\r\n /**\r\n * Retrieves item from IndexedDB instance.\r\n * @param key\r\n */\r\n DatabaseStorage.prototype.getItem = function (key) {\r\n return __awaiter(this, void 0, void 0, function () {\r\n var _this = this;\r\n return __generator(this, function (_a) {\r\n switch (_a.label) {\r\n case 0: return [4 /*yield*/, this.validateDbIsOpen()];\r\n case 1:\r\n _a.sent();\r\n return [2 /*return*/, new Promise(function (resolve, reject) {\r\n // TODO: Add timeouts?\r\n if (!_this.db) {\r\n return reject(BrowserAuthError.createDatabaseNotOpenError());\r\n }\r\n var transaction = _this.db.transaction([_this.tableName], \"readonly\");\r\n var objectStore = transaction.objectStore(_this.tableName);\r\n var dbGet = objectStore.get(key);\r\n dbGet.addEventListener(\"success\", function (e) {\r\n var event = e;\r\n _this.closeConnection();\r\n resolve(event.target.result);\r\n });\r\n dbGet.addEventListener(\"error\", function (e) {\r\n _this.closeConnection();\r\n reject(e);\r\n });\r\n })];\r\n }\r\n });\r\n });\r\n };\r\n /**\r\n * Adds item to IndexedDB under given key\r\n * @param key\r\n * @param payload\r\n */\r\n DatabaseStorage.prototype.setItem = function (key, payload) {\r\n return __awaiter(this, void 0, void 0, function () {\r\n var _this = this;\r\n return __generator(this, function (_a) {\r\n switch (_a.label) {\r\n case 0: return [4 /*yield*/, this.validateDbIsOpen()];\r\n case 1:\r\n _a.sent();\r\n return [2 /*return*/, new Promise(function (resolve, reject) {\r\n // TODO: Add timeouts?\r\n if (!_this.db) {\r\n return reject(BrowserAuthError.createDatabaseNotOpenError());\r\n }\r\n var transaction = _this.db.transaction([_this.tableName], \"readwrite\");\r\n var objectStore = transaction.objectStore(_this.tableName);\r\n var dbPut = objectStore.put(payload, key);\r\n dbPut.addEventListener(\"success\", function () {\r\n _this.closeConnection();\r\n resolve();\r\n });\r\n dbPut.addEventListener(\"error\", function (e) {\r\n _this.closeConnection();\r\n reject(e);\r\n });\r\n })];\r\n }\r\n });\r\n });\r\n };\r\n /**\r\n * Removes item from IndexedDB under given key\r\n * @param key\r\n */\r\n DatabaseStorage.prototype.removeItem = function (key) {\r\n return __awaiter(this, void 0, void 0, function () {\r\n var _this = this;\r\n return __generator(this, function (_a) {\r\n switch (_a.label) {\r\n case 0: return [4 /*yield*/, this.validateDbIsOpen()];\r\n case 1:\r\n _a.sent();\r\n return [2 /*return*/, new Promise(function (resolve, reject) {\r\n if (!_this.db) {\r\n return reject(BrowserAuthError.createDatabaseNotOpenError());\r\n }\r\n var transaction = _this.db.transaction([_this.tableName], \"readwrite\");\r\n var objectStore = transaction.objectStore(_this.tableName);\r\n var dbDelete = objectStore.delete(key);\r\n dbDelete.addEventListener(\"success\", function () {\r\n _this.closeConnection();\r\n resolve();\r\n });\r\n dbDelete.addEventListener(\"error\", function (e) {\r\n _this.closeConnection();\r\n reject(e);\r\n });\r\n })];\r\n }\r\n });\r\n });\r\n };\r\n /**\r\n * Get all the keys from the storage object as an iterable array of strings.\r\n */\r\n DatabaseStorage.prototype.getKeys = function () {\r\n return __awaiter(this, void 0, void 0, function () {\r\n var _this = this;\r\n return __generator(this, function (_a) {\r\n switch (_a.label) {\r\n case 0: return [4 /*yield*/, this.validateDbIsOpen()];\r\n case 1:\r\n _a.sent();\r\n return [2 /*return*/, new Promise(function (resolve, reject) {\r\n if (!_this.db) {\r\n return reject(BrowserAuthError.createDatabaseNotOpenError());\r\n }\r\n var transaction = _this.db.transaction([_this.tableName], \"readonly\");\r\n var objectStore = transaction.objectStore(_this.tableName);\r\n var dbGetKeys = objectStore.getAllKeys();\r\n dbGetKeys.addEventListener(\"success\", function (e) {\r\n var event = e;\r\n _this.closeConnection();\r\n resolve(event.target.result);\r\n });\r\n dbGetKeys.addEventListener(\"error\", function (e) {\r\n _this.closeConnection();\r\n reject(e);\r\n });\r\n })];\r\n }\r\n });\r\n });\r\n };\r\n /**\r\n *\r\n * Checks whether there is an object under the search key in the object store\r\n */\r\n DatabaseStorage.prototype.containsKey = function (key) {\r\n return __awaiter(this, void 0, void 0, function () {\r\n var _this = this;\r\n return __generator(this, function (_a) {\r\n switch (_a.label) {\r\n case 0: return [4 /*yield*/, this.validateDbIsOpen()];\r\n case 1:\r\n _a.sent();\r\n return [2 /*return*/, new Promise(function (resolve, reject) {\r\n if (!_this.db) {\r\n return reject(BrowserAuthError.createDatabaseNotOpenError());\r\n }\r\n var transaction = _this.db.transaction([_this.tableName], \"readonly\");\r\n var objectStore = transaction.objectStore(_this.tableName);\r\n var dbContainsKey = objectStore.count(key);\r\n dbContainsKey.addEventListener(\"success\", function (e) {\r\n var event = e;\r\n _this.closeConnection();\r\n resolve(event.target.result === 1);\r\n });\r\n dbContainsKey.addEventListener(\"error\", function (e) {\r\n _this.closeConnection();\r\n reject(e);\r\n });\r\n })];\r\n }\r\n });\r\n });\r\n };\r\n /**\r\n * Deletes the MSAL database. The database is deleted rather than cleared to make it possible\r\n * for client applications to downgrade to a previous MSAL version without worrying about forward compatibility issues\r\n * with IndexedDB database versions.\r\n */\r\n DatabaseStorage.prototype.deleteDatabase = function () {\r\n return __awaiter(this, void 0, void 0, function () {\r\n return __generator(this, function (_a) {\r\n // Check if database being deleted exists\r\n if (this.db && this.dbOpen) {\r\n this.closeConnection();\r\n }\r\n return [2 /*return*/, new Promise(function (resolve, reject) {\r\n var deleteDbRequest = window.indexedDB.deleteDatabase(DB_NAME);\r\n deleteDbRequest.addEventListener(\"success\", function () { return resolve(true); });\r\n deleteDbRequest.addEventListener(\"blocked\", function () { return resolve(true); });\r\n deleteDbRequest.addEventListener(\"error\", function () { return reject(false); });\r\n })];\r\n });\r\n });\r\n };\r\n return DatabaseStorage;\r\n}());\n\nexport { DatabaseStorage };\n","/*! @azure/msal-browser v2.32.1 2022-12-07 */\n'use strict';\n/*\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * Licensed under the MIT License.\r\n */\r\nvar MemoryStorage = /** @class */ (function () {\r\n function MemoryStorage() {\r\n this.cache = new Map();\r\n }\r\n MemoryStorage.prototype.getItem = function (key) {\r\n return this.cache.get(key) || null;\r\n };\r\n MemoryStorage.prototype.setItem = function (key, value) {\r\n this.cache.set(key, value);\r\n };\r\n MemoryStorage.prototype.removeItem = function (key) {\r\n this.cache.delete(key);\r\n };\r\n MemoryStorage.prototype.getKeys = function () {\r\n var cacheKeys = [];\r\n this.cache.forEach(function (value, key) {\r\n cacheKeys.push(key);\r\n });\r\n return cacheKeys;\r\n };\r\n MemoryStorage.prototype.containsKey = function (key) {\r\n return this.cache.has(key);\r\n };\r\n MemoryStorage.prototype.clear = function () {\r\n this.cache.clear();\r\n };\r\n return MemoryStorage;\r\n}());\n\nexport { MemoryStorage };\n","/*! @azure/msal-browser v2.32.1 2022-12-07 */\n'use strict';\nimport { AuthToken, CacheRecord, Authority, AccountEntity, IdTokenEntity, ScopeSet, AccessTokenEntity, RefreshTokenEntity, Constants } from '@azure/msal-common';\nimport { BrowserAuthError } from '../error/BrowserAuthError.js';\n\n/*\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * Licensed under the MIT License.\r\n */\r\n/**\r\n * Token cache manager\r\n */\r\nvar TokenCache = /** @class */ (function () {\r\n function TokenCache(configuration, storage, logger, cryptoObj) {\r\n this.isBrowserEnvironment = typeof window !== \"undefined\";\r\n this.config = configuration;\r\n this.storage = storage;\r\n this.logger = logger;\r\n this.cryptoObj = cryptoObj;\r\n }\r\n // Move getAllAccounts here and cache utility APIs\r\n /**\r\n * API to load tokens to msal-browser cache.\r\n * @param request\r\n * @param response\r\n * @param options\r\n * @returns `AuthenticationResult` for the response that was loaded.\r\n */\r\n TokenCache.prototype.loadExternalTokens = function (request, response, options) {\r\n this.logger.info(\"TokenCache - loadExternalTokens called\");\r\n if (!response.id_token) {\r\n throw BrowserAuthError.createUnableToLoadTokenError(\"Please ensure server response includes id token.\");\r\n }\r\n var idToken = new AuthToken(response.id_token, this.cryptoObj);\r\n var cacheRecord;\r\n var authority;\r\n if (request.account) {\r\n var cacheRecordAccount = this.loadAccount(idToken, request.account.environment, undefined, undefined, request.account.homeAccountId);\r\n cacheRecord = new CacheRecord(cacheRecordAccount, this.loadIdToken(idToken, cacheRecordAccount.homeAccountId, request.account.environment, request.account.tenantId), this.loadAccessToken(request, response, cacheRecordAccount.homeAccountId, request.account.environment, request.account.tenantId, options), this.loadRefreshToken(request, response, cacheRecordAccount.homeAccountId, request.account.environment));\r\n }\r\n else if (request.authority) {\r\n var authorityUrl = Authority.generateAuthority(request.authority, request.azureCloudOptions);\r\n var authorityOptions = {\r\n protocolMode: this.config.auth.protocolMode,\r\n knownAuthorities: this.config.auth.knownAuthorities,\r\n cloudDiscoveryMetadata: this.config.auth.cloudDiscoveryMetadata,\r\n authorityMetadata: this.config.auth.authorityMetadata,\r\n skipAuthorityMetadataCache: this.config.auth.skipAuthorityMetadataCache,\r\n };\r\n authority = new Authority(authorityUrl, this.config.system.networkClient, this.storage, authorityOptions, this.logger);\r\n // \"clientInfo\" from options takes precedence over \"clientInfo\" in response\r\n if (options.clientInfo) {\r\n this.logger.trace(\"TokenCache - homeAccountId from options\");\r\n var cacheRecordAccount = this.loadAccount(idToken, authority.hostnameAndPort, options.clientInfo, authority.authorityType);\r\n cacheRecord = new CacheRecord(cacheRecordAccount, this.loadIdToken(idToken, cacheRecordAccount.homeAccountId, authority.hostnameAndPort, authority.tenant), this.loadAccessToken(request, response, cacheRecordAccount.homeAccountId, authority.hostnameAndPort, authority.tenant, options), this.loadRefreshToken(request, response, cacheRecordAccount.homeAccountId, authority.hostnameAndPort));\r\n }\r\n else if (response.client_info) {\r\n this.logger.trace(\"TokenCache - homeAccountId from response\");\r\n var cacheRecordAccount = this.loadAccount(idToken, authority.hostnameAndPort, response.client_info, authority.authorityType);\r\n cacheRecord = new CacheRecord(cacheRecordAccount, this.loadIdToken(idToken, cacheRecordAccount.homeAccountId, authority.hostnameAndPort, authority.tenant), this.loadAccessToken(request, response, cacheRecordAccount.homeAccountId, authority.hostnameAndPort, authority.tenant, options), this.loadRefreshToken(request, response, cacheRecordAccount.homeAccountId, authority.hostnameAndPort));\r\n }\r\n else {\r\n throw BrowserAuthError.createUnableToLoadTokenError(\"Please provide clientInfo in the response or options.\");\r\n }\r\n }\r\n else {\r\n throw BrowserAuthError.createUnableToLoadTokenError(\"Please provide a request with an account or a request with authority.\");\r\n }\r\n return this.generateAuthenticationResult(request, idToken, cacheRecord, authority);\r\n };\r\n /**\r\n * Helper function to load account to msal-browser cache\r\n * @param idToken\r\n * @param environment\r\n * @param clientInfo\r\n * @param authorityType\r\n * @param requestHomeAccountId\r\n * @returns `AccountEntity`\r\n */\r\n TokenCache.prototype.loadAccount = function (idToken, environment, clientInfo, authorityType, requestHomeAccountId) {\r\n var homeAccountId;\r\n if (requestHomeAccountId) {\r\n homeAccountId = requestHomeAccountId;\r\n }\r\n else if (authorityType !== undefined && clientInfo) {\r\n homeAccountId = AccountEntity.generateHomeAccountId(clientInfo, authorityType, this.logger, this.cryptoObj, idToken);\r\n }\r\n if (!homeAccountId) {\r\n throw BrowserAuthError.createUnableToLoadTokenError(\"Unexpected missing homeAccountId\");\r\n }\r\n var accountEntity = clientInfo ?\r\n AccountEntity.createAccount(clientInfo, homeAccountId, idToken, undefined, undefined, undefined, environment) :\r\n AccountEntity.createGenericAccount(homeAccountId, idToken, undefined, undefined, undefined, environment);\r\n if (this.isBrowserEnvironment) {\r\n this.logger.verbose(\"TokenCache - loading account\");\r\n this.storage.setAccount(accountEntity);\r\n return accountEntity;\r\n }\r\n else {\r\n throw BrowserAuthError.createUnableToLoadTokenError(\"loadExternalTokens is designed to work in browser environments only.\");\r\n }\r\n };\r\n /**\r\n * Helper function to load id tokens to msal-browser cache\r\n * @param idToken\r\n * @param homeAccountId\r\n * @param environment\r\n * @param tenantId\r\n * @returns `IdTokenEntity`\r\n */\r\n TokenCache.prototype.loadIdToken = function (idToken, homeAccountId, environment, tenantId) {\r\n var idTokenEntity = IdTokenEntity.createIdTokenEntity(homeAccountId, environment, idToken.rawToken, this.config.auth.clientId, tenantId);\r\n if (this.isBrowserEnvironment) {\r\n this.logger.verbose(\"TokenCache - loading id token\");\r\n this.storage.setIdTokenCredential(idTokenEntity);\r\n return idTokenEntity;\r\n }\r\n else {\r\n throw BrowserAuthError.createUnableToLoadTokenError(\"loadExternalTokens is designed to work in browser environments only.\");\r\n }\r\n };\r\n /**\r\n * Helper function to load access tokens to msal-browser cache\r\n * @param request\r\n * @param response\r\n * @param homeAccountId\r\n * @param environment\r\n * @param tenantId\r\n * @returns `AccessTokenEntity`\r\n */\r\n TokenCache.prototype.loadAccessToken = function (request, response, homeAccountId, environment, tenantId, options) {\r\n if (!response.access_token) {\r\n this.logger.verbose(\"TokenCache - No access token provided for caching\");\r\n return null;\r\n }\r\n if (!response.expires_in) {\r\n throw BrowserAuthError.createUnableToLoadTokenError(\"Please ensure server response includes expires_in value.\");\r\n }\r\n if (!options.extendedExpiresOn) {\r\n throw BrowserAuthError.createUnableToLoadTokenError(\"Please provide an extendedExpiresOn value in the options.\");\r\n }\r\n var scopes = new ScopeSet(request.scopes).printScopes();\r\n var expiresOn = options.expiresOn || (response.expires_in + new Date().getTime() / 1000);\r\n var extendedExpiresOn = options.extendedExpiresOn;\r\n var accessTokenEntity = AccessTokenEntity.createAccessTokenEntity(homeAccountId, environment, response.access_token, this.config.auth.clientId, tenantId, scopes, expiresOn, extendedExpiresOn, this.cryptoObj);\r\n if (this.isBrowserEnvironment) {\r\n this.logger.verbose(\"TokenCache - loading access token\");\r\n this.storage.setAccessTokenCredential(accessTokenEntity);\r\n return accessTokenEntity;\r\n }\r\n else {\r\n throw BrowserAuthError.createUnableToLoadTokenError(\"loadExternalTokens is designed to work in browser environments only.\");\r\n }\r\n };\r\n /**\r\n * Helper function to load refresh tokens to msal-browser cache\r\n * @param request\r\n * @param response\r\n * @param homeAccountId\r\n * @param environment\r\n * @returns `RefreshTokenEntity`\r\n */\r\n TokenCache.prototype.loadRefreshToken = function (request, response, homeAccountId, environment) {\r\n if (!response.refresh_token) {\r\n this.logger.verbose(\"TokenCache - No refresh token provided for caching\");\r\n return null;\r\n }\r\n var refreshTokenEntity = RefreshTokenEntity.createRefreshTokenEntity(homeAccountId, environment, response.refresh_token, this.config.auth.clientId);\r\n if (this.isBrowserEnvironment) {\r\n this.logger.verbose(\"TokenCache - loading refresh token\");\r\n this.storage.setRefreshTokenCredential(refreshTokenEntity);\r\n return refreshTokenEntity;\r\n }\r\n else {\r\n throw BrowserAuthError.createUnableToLoadTokenError(\"loadExternalTokens is designed to work in browser environments only.\");\r\n }\r\n };\r\n /**\r\n * Helper function to generate an `AuthenticationResult` for the result.\r\n * @param request\r\n * @param idTokenObj\r\n * @param cacheRecord\r\n * @param authority\r\n * @returns `AuthenticationResult`\r\n */\r\n TokenCache.prototype.generateAuthenticationResult = function (request, idTokenObj, cacheRecord, authority) {\r\n var _a, _b, _c;\r\n var accessToken = Constants.EMPTY_STRING;\r\n var responseScopes = [];\r\n var expiresOn = null;\r\n var extExpiresOn;\r\n if (cacheRecord === null || cacheRecord === void 0 ? void 0 : cacheRecord.accessToken) {\r\n accessToken = cacheRecord.accessToken.secret;\r\n responseScopes = ScopeSet.fromString(cacheRecord.accessToken.target).asArray();\r\n expiresOn = new Date(Number(cacheRecord.accessToken.expiresOn) * 1000);\r\n extExpiresOn = new Date(Number(cacheRecord.accessToken.extendedExpiresOn) * 1000);\r\n }\r\n var uid = (idTokenObj === null || idTokenObj === void 0 ? void 0 : idTokenObj.claims.oid) || (idTokenObj === null || idTokenObj === void 0 ? void 0 : idTokenObj.claims.sub) || Constants.EMPTY_STRING;\r\n var tid = (idTokenObj === null || idTokenObj === void 0 ? void 0 : idTokenObj.claims.tid) || Constants.EMPTY_STRING;\r\n return {\r\n authority: authority ? authority.canonicalAuthority : Constants.EMPTY_STRING,\r\n uniqueId: uid,\r\n tenantId: tid,\r\n scopes: responseScopes,\r\n account: (cacheRecord === null || cacheRecord === void 0 ? void 0 : cacheRecord.account) ? cacheRecord.account.getAccountInfo() : null,\r\n idToken: idTokenObj ? idTokenObj.rawToken : Constants.EMPTY_STRING,\r\n idTokenClaims: idTokenObj ? idTokenObj.claims : {},\r\n accessToken: accessToken,\r\n fromCache: true,\r\n expiresOn: expiresOn,\r\n correlationId: request.correlationId || Constants.EMPTY_STRING,\r\n requestId: Constants.EMPTY_STRING,\r\n extExpiresOn: extExpiresOn,\r\n familyId: Constants.EMPTY_STRING,\r\n tokenType: ((_a = cacheRecord === null || cacheRecord === void 0 ? void 0 : cacheRecord.accessToken) === null || _a === void 0 ? void 0 : _a.tokenType) || Constants.EMPTY_STRING,\r\n state: Constants.EMPTY_STRING,\r\n cloudGraphHostName: ((_b = cacheRecord === null || cacheRecord === void 0 ? void 0 : cacheRecord.account) === null || _b === void 0 ? void 0 : _b.cloudGraphHostName) || Constants.EMPTY_STRING,\r\n msGraphHost: ((_c = cacheRecord === null || cacheRecord === void 0 ? void 0 : cacheRecord.account) === null || _c === void 0 ? void 0 : _c.msGraphHost) || Constants.EMPTY_STRING,\r\n code: undefined,\r\n fromNativeBroker: false\r\n };\r\n };\r\n return TokenCache;\r\n}());\n\nexport { TokenCache };\n","/*! @azure/msal-browser v2.32.1 2022-12-07 */\n'use strict';\nimport { __assign } from '../_virtual/_tslib.js';\nimport { DEFAULT_SYSTEM_OPTIONS, StubbedNetworkModule, Constants, ProtocolMode, AzureCloudInstance, LogLevel } from '@azure/msal-common';\nimport { BrowserUtils } from '../utils/BrowserUtils.js';\nimport { BrowserConstants, BrowserCacheLocation } from '../utils/BrowserConstants.js';\nimport { NavigationClient } from '../navigation/NavigationClient.js';\n\n/*\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * Licensed under the MIT License.\r\n */\r\n// Default timeout for popup windows and iframes in milliseconds\r\nvar DEFAULT_POPUP_TIMEOUT_MS = 60000;\r\nvar DEFAULT_IFRAME_TIMEOUT_MS = 6000;\r\nvar DEFAULT_REDIRECT_TIMEOUT_MS = 30000;\r\nvar DEFAULT_NATIVE_BROKER_HANDSHAKE_TIMEOUT_MS = 2000;\r\n/**\r\n * MSAL function that sets the default options when not explicitly configured from app developer\r\n *\r\n * @param auth\r\n * @param cache\r\n * @param system\r\n *\r\n * @returns Configuration object\r\n */\r\nfunction buildConfiguration(_a, isBrowserEnvironment) {\r\n var userInputAuth = _a.auth, userInputCache = _a.cache, userInputSystem = _a.system, userInputTelemetry = _a.telemetry;\r\n // Default auth options for browser\r\n var DEFAULT_AUTH_OPTIONS = {\r\n clientId: Constants.EMPTY_STRING,\r\n authority: \"\" + Constants.DEFAULT_AUTHORITY,\r\n knownAuthorities: [],\r\n cloudDiscoveryMetadata: Constants.EMPTY_STRING,\r\n authorityMetadata: Constants.EMPTY_STRING,\r\n redirectUri: Constants.EMPTY_STRING,\r\n postLogoutRedirectUri: Constants.EMPTY_STRING,\r\n navigateToLoginRequestUrl: true,\r\n clientCapabilities: [],\r\n protocolMode: ProtocolMode.AAD,\r\n azureCloudOptions: {\r\n azureCloudInstance: AzureCloudInstance.None,\r\n tenant: Constants.EMPTY_STRING\r\n },\r\n skipAuthorityMetadataCache: false,\r\n };\r\n // Default cache options for browser\r\n var DEFAULT_CACHE_OPTIONS = {\r\n cacheLocation: BrowserCacheLocation.SessionStorage,\r\n storeAuthStateInCookie: false,\r\n secureCookies: false\r\n };\r\n // Default logger options for browser\r\n var DEFAULT_LOGGER_OPTIONS = {\r\n // eslint-disable-next-line @typescript-eslint/no-empty-function\r\n loggerCallback: function () { },\r\n logLevel: LogLevel.Info,\r\n piiLoggingEnabled: false\r\n };\r\n // Default system options for browser\r\n var DEFAULT_BROWSER_SYSTEM_OPTIONS = __assign(__assign({}, DEFAULT_SYSTEM_OPTIONS), { loggerOptions: DEFAULT_LOGGER_OPTIONS, networkClient: isBrowserEnvironment ? BrowserUtils.getBrowserNetworkClient() : StubbedNetworkModule, navigationClient: new NavigationClient(), loadFrameTimeout: 0, \r\n // If loadFrameTimeout is provided, use that as default.\r\n windowHashTimeout: (userInputSystem === null || userInputSystem === void 0 ? void 0 : userInputSystem.loadFrameTimeout) || DEFAULT_POPUP_TIMEOUT_MS, iframeHashTimeout: (userInputSystem === null || userInputSystem === void 0 ? void 0 : userInputSystem.loadFrameTimeout) || DEFAULT_IFRAME_TIMEOUT_MS, navigateFrameWait: isBrowserEnvironment && BrowserUtils.detectIEOrEdge() ? 500 : 0, redirectNavigationTimeout: DEFAULT_REDIRECT_TIMEOUT_MS, asyncPopups: false, allowRedirectInIframe: false, allowNativeBroker: false, nativeBrokerHandshakeTimeout: (userInputSystem === null || userInputSystem === void 0 ? void 0 : userInputSystem.nativeBrokerHandshakeTimeout) || DEFAULT_NATIVE_BROKER_HANDSHAKE_TIMEOUT_MS, pollIntervalMilliseconds: BrowserConstants.DEFAULT_POLL_INTERVAL_MS, cryptoOptions: {\r\n useMsrCrypto: false,\r\n entropy: undefined\r\n } });\r\n var DEFAULT_TELEMETRY_OPTIONS = {\r\n application: {\r\n appName: Constants.EMPTY_STRING,\r\n appVersion: Constants.EMPTY_STRING\r\n }\r\n };\r\n var overlayedConfig = {\r\n auth: __assign(__assign({}, DEFAULT_AUTH_OPTIONS), userInputAuth),\r\n cache: __assign(__assign({}, DEFAULT_CACHE_OPTIONS), userInputCache),\r\n system: __assign(__assign({}, DEFAULT_BROWSER_SYSTEM_OPTIONS), userInputSystem),\r\n telemetry: __assign(__assign({}, DEFAULT_TELEMETRY_OPTIONS), userInputTelemetry)\r\n };\r\n return overlayedConfig;\r\n}\n\nexport { DEFAULT_IFRAME_TIMEOUT_MS, DEFAULT_NATIVE_BROKER_HANDSHAKE_TIMEOUT_MS, DEFAULT_POPUP_TIMEOUT_MS, DEFAULT_REDIRECT_TIMEOUT_MS, buildConfiguration };\n","/*! @azure/msal-browser v2.32.1 2022-12-07 */\n'use strict';\nimport { __awaiter, __generator } from '../_virtual/_tslib.js';\nimport { BrowserStringUtils } from '../utils/BrowserStringUtils.js';\nimport { BrowserAuthError } from '../error/BrowserAuthError.js';\nimport { ModernBrowserCrypto } from './ModernBrowserCrypto.js';\nimport { MsrBrowserCrypto } from './MsrBrowserCrypto.js';\nimport { MsBrowserCrypto } from './MsBrowserCrypto.js';\nimport { BrowserConfigurationAuthError } from '../error/BrowserConfigurationAuthError.js';\n\n/*\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * Licensed under the MIT License.\r\n */\r\n/**\r\n * See here for more info on RsaHashedKeyGenParams: https://developer.mozilla.org/en-US/docs/Web/API/RsaHashedKeyGenParams\r\n */\r\n// RSA KeyGen Algorithm\r\nvar PKCS1_V15_KEYGEN_ALG = \"RSASSA-PKCS1-v1_5\";\r\n// SHA-256 hashing algorithm\r\nvar S256_HASH_ALG = \"SHA-256\";\r\n// MOD length for PoP tokens\r\nvar MODULUS_LENGTH = 2048;\r\n// Public Exponent\r\nvar PUBLIC_EXPONENT = new Uint8Array([0x01, 0x00, 0x01]);\r\n/**\r\n * This class implements functions used by the browser library to perform cryptography operations such as\r\n * hashing and encoding. It also has helper functions to validate the availability of specific APIs.\r\n */\r\nvar BrowserCrypto = /** @class */ (function () {\r\n function BrowserCrypto(logger, cryptoOptions) {\r\n var _a, _b;\r\n this.logger = logger;\r\n this.cryptoOptions = cryptoOptions;\r\n if (this.hasBrowserCrypto()) {\r\n // Use standard modern web crypto if available\r\n this.logger.verbose(\"BrowserCrypto: modern crypto interface available\");\r\n this.subtleCrypto = new ModernBrowserCrypto();\r\n }\r\n else if (this.hasIECrypto()) {\r\n // For IE11, use msCrypto interface\r\n this.logger.verbose(\"BrowserCrypto: MS crypto interface available\");\r\n this.subtleCrypto = new MsBrowserCrypto();\r\n }\r\n else if (this.hasMsrCrypto() && ((_a = this.cryptoOptions) === null || _a === void 0 ? void 0 : _a.useMsrCrypto)) {\r\n // For other browsers, use MSR Crypto if found\r\n this.logger.verbose(\"BrowserCrypto: MSR crypto interface available\");\r\n this.subtleCrypto = new MsrBrowserCrypto();\r\n }\r\n else {\r\n if (this.hasMsrCrypto()) {\r\n this.logger.info(\"BrowserCrypto: MSR Crypto interface available but system.cryptoOptions.useMsrCrypto not enabled\");\r\n }\r\n this.logger.error(\"BrowserCrypto: No crypto interfaces available.\");\r\n throw BrowserAuthError.createCryptoNotAvailableError(\"Browser crypto, msCrypto, or msrCrypto interfaces not available.\");\r\n }\r\n // Mainly needed for MSR Crypto: https://github.com/microsoft/MSR-JavaScript-Crypto#random-number-generator-prng\r\n if (this.subtleCrypto.initPrng) {\r\n this.logger.verbose(\"BrowserCrypto: Interface requires entropy\");\r\n if (!((_b = this.cryptoOptions) === null || _b === void 0 ? void 0 : _b.entropy)) {\r\n this.logger.error(\"BrowserCrypto: Interface requires entropy but none provided.\");\r\n throw BrowserConfigurationAuthError.createEntropyNotProvided();\r\n }\r\n this.logger.verbose(\"BrowserCrypto: Entropy provided\");\r\n this.subtleCrypto.initPrng(this.cryptoOptions.entropy);\r\n }\r\n this.keygenAlgorithmOptions = {\r\n name: PKCS1_V15_KEYGEN_ALG,\r\n hash: S256_HASH_ALG,\r\n modulusLength: MODULUS_LENGTH,\r\n publicExponent: PUBLIC_EXPONENT\r\n };\r\n }\r\n /**\r\n * Check whether IE crypto or other browser cryptography is available.\r\n */\r\n BrowserCrypto.prototype.hasIECrypto = function () {\r\n return \"msCrypto\" in window;\r\n };\r\n /**\r\n * Check whether browser crypto is available.\r\n */\r\n BrowserCrypto.prototype.hasBrowserCrypto = function () {\r\n return \"crypto\" in window;\r\n };\r\n /**\r\n * Check whether MSR crypto polyfill is available\r\n */\r\n BrowserCrypto.prototype.hasMsrCrypto = function () {\r\n return \"msrCrypto\" in window;\r\n };\r\n /**\r\n * Returns a sha-256 hash of the given dataString as an ArrayBuffer.\r\n * @param dataString\r\n */\r\n BrowserCrypto.prototype.sha256Digest = function (dataString) {\r\n return __awaiter(this, void 0, void 0, function () {\r\n var data;\r\n return __generator(this, function (_a) {\r\n data = BrowserStringUtils.stringToUtf8Arr(dataString);\r\n // MSR Crypto wants object with name property, instead of string\r\n return [2 /*return*/, this.subtleCrypto.digest({ name: S256_HASH_ALG }, data)];\r\n });\r\n });\r\n };\r\n /**\r\n * Populates buffer with cryptographically random values.\r\n * @param dataBuffer\r\n */\r\n BrowserCrypto.prototype.getRandomValues = function (dataBuffer) {\r\n return this.subtleCrypto.getRandomValues(dataBuffer);\r\n };\r\n /**\r\n * Generates a keypair based on current keygen algorithm config.\r\n * @param extractable\r\n * @param usages\r\n */\r\n BrowserCrypto.prototype.generateKeyPair = function (extractable, usages) {\r\n return __awaiter(this, void 0, void 0, function () {\r\n return __generator(this, function (_a) {\r\n return [2 /*return*/, this.subtleCrypto.generateKey(this.keygenAlgorithmOptions, extractable, usages)];\r\n });\r\n });\r\n };\r\n /**\r\n * Export key as Json Web Key (JWK)\r\n * @param key\r\n * @param format\r\n */\r\n BrowserCrypto.prototype.exportJwk = function (key) {\r\n return __awaiter(this, void 0, void 0, function () {\r\n return __generator(this, function (_a) {\r\n return [2 /*return*/, this.subtleCrypto.exportKey(key)];\r\n });\r\n });\r\n };\r\n /**\r\n * Imports key as Json Web Key (JWK), can set extractable and usages.\r\n * @param key\r\n * @param format\r\n * @param extractable\r\n * @param usages\r\n */\r\n BrowserCrypto.prototype.importJwk = function (key, extractable, usages) {\r\n return __awaiter(this, void 0, void 0, function () {\r\n return __generator(this, function (_a) {\r\n return [2 /*return*/, this.subtleCrypto.importKey(key, this.keygenAlgorithmOptions, extractable, usages)];\r\n });\r\n });\r\n };\r\n /**\r\n * Signs given data with given key\r\n * @param key\r\n * @param data\r\n */\r\n BrowserCrypto.prototype.sign = function (key, data) {\r\n return __awaiter(this, void 0, void 0, function () {\r\n return __generator(this, function (_a) {\r\n return [2 /*return*/, this.subtleCrypto.sign(this.keygenAlgorithmOptions, key, data)];\r\n });\r\n });\r\n };\r\n return BrowserCrypto;\r\n}());\n\nexport { BrowserCrypto };\n","/*! @azure/msal-browser v2.32.1 2022-12-07 */\n'use strict';\nimport { __awaiter, __generator } from '../_virtual/_tslib.js';\nimport { PerformanceEvents, JoseHeader } from '@azure/msal-common';\nimport { GuidGenerator } from './GuidGenerator.js';\nimport { Base64Encode } from '../encode/Base64Encode.js';\nimport { Base64Decode } from '../encode/Base64Decode.js';\nimport { PkceGenerator } from './PkceGenerator.js';\nimport { BrowserCrypto } from './BrowserCrypto.js';\nimport { BrowserStringUtils } from '../utils/BrowserStringUtils.js';\nimport { BrowserAuthError } from '../error/BrowserAuthError.js';\nimport { CryptoKeyStore } from '../cache/CryptoKeyStore.js';\n\n/*\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * Licensed under the MIT License.\r\n */\r\n/**\r\n * This class implements MSAL's crypto interface, which allows it to perform base64 encoding and decoding, generating cryptographically random GUIDs and\r\n * implementing Proof Key for Code Exchange specs for the OAuth Authorization Code Flow using PKCE (rfc here: https://tools.ietf.org/html/rfc7636).\r\n */\r\nvar CryptoOps = /** @class */ (function () {\r\n function CryptoOps(logger, performanceClient, cryptoConfig) {\r\n this.logger = logger;\r\n // Browser crypto needs to be validated first before any other classes can be set.\r\n this.browserCrypto = new BrowserCrypto(this.logger, cryptoConfig);\r\n this.b64Encode = new Base64Encode();\r\n this.b64Decode = new Base64Decode();\r\n this.guidGenerator = new GuidGenerator(this.browserCrypto);\r\n this.pkceGenerator = new PkceGenerator(this.browserCrypto);\r\n this.cache = new CryptoKeyStore(this.logger);\r\n this.performanceClient = performanceClient;\r\n }\r\n /**\r\n * Creates a new random GUID - used to populate state and nonce.\r\n * @returns string (GUID)\r\n */\r\n CryptoOps.prototype.createNewGuid = function () {\r\n return this.guidGenerator.generateGuid();\r\n };\r\n /**\r\n * Encodes input string to base64.\r\n * @param input\r\n */\r\n CryptoOps.prototype.base64Encode = function (input) {\r\n return this.b64Encode.encode(input);\r\n };\r\n /**\r\n * Decodes input string from base64.\r\n * @param input\r\n */\r\n CryptoOps.prototype.base64Decode = function (input) {\r\n return this.b64Decode.decode(input);\r\n };\r\n /**\r\n * Generates PKCE codes used in Authorization Code Flow.\r\n */\r\n CryptoOps.prototype.generatePkceCodes = function () {\r\n return __awaiter(this, void 0, void 0, function () {\r\n return __generator(this, function (_a) {\r\n return [2 /*return*/, this.pkceGenerator.generateCodes()];\r\n });\r\n });\r\n };\r\n /**\r\n * Generates a keypair, stores it and returns a thumbprint\r\n * @param request\r\n */\r\n CryptoOps.prototype.getPublicKeyThumbprint = function (request) {\r\n var _a;\r\n return __awaiter(this, void 0, void 0, function () {\r\n var publicKeyThumbMeasurement, keyPair, publicKeyJwk, pubKeyThumprintObj, publicJwkString, publicJwkHash, privateKeyJwk, unextractablePrivateKey;\r\n return __generator(this, function (_b) {\r\n switch (_b.label) {\r\n case 0:\r\n publicKeyThumbMeasurement = (_a = this.performanceClient) === null || _a === void 0 ? void 0 : _a.startMeasurement(PerformanceEvents.CryptoOptsGetPublicKeyThumbprint, request.correlationId);\r\n return [4 /*yield*/, this.browserCrypto.generateKeyPair(CryptoOps.EXTRACTABLE, CryptoOps.POP_KEY_USAGES)];\r\n case 1:\r\n keyPair = _b.sent();\r\n return [4 /*yield*/, this.browserCrypto.exportJwk(keyPair.publicKey)];\r\n case 2:\r\n publicKeyJwk = _b.sent();\r\n pubKeyThumprintObj = {\r\n e: publicKeyJwk.e,\r\n kty: publicKeyJwk.kty,\r\n n: publicKeyJwk.n\r\n };\r\n publicJwkString = BrowserStringUtils.getSortedObjectString(pubKeyThumprintObj);\r\n return [4 /*yield*/, this.hashString(publicJwkString)];\r\n case 3:\r\n publicJwkHash = _b.sent();\r\n return [4 /*yield*/, this.browserCrypto.exportJwk(keyPair.privateKey)];\r\n case 4:\r\n privateKeyJwk = _b.sent();\r\n return [4 /*yield*/, this.browserCrypto.importJwk(privateKeyJwk, false, [\"sign\"])];\r\n case 5:\r\n unextractablePrivateKey = _b.sent();\r\n // Store Keypair data in keystore\r\n return [4 /*yield*/, this.cache.asymmetricKeys.setItem(publicJwkHash, {\r\n privateKey: unextractablePrivateKey,\r\n publicKey: keyPair.publicKey,\r\n requestMethod: request.resourceRequestMethod,\r\n requestUri: request.resourceRequestUri\r\n })];\r\n case 6:\r\n // Store Keypair data in keystore\r\n _b.sent();\r\n if (publicKeyThumbMeasurement) {\r\n publicKeyThumbMeasurement.endMeasurement({\r\n success: true\r\n });\r\n }\r\n return [2 /*return*/, publicJwkHash];\r\n }\r\n });\r\n });\r\n };\r\n /**\r\n * Removes cryptographic keypair from key store matching the keyId passed in\r\n * @param kid\r\n */\r\n CryptoOps.prototype.removeTokenBindingKey = function (kid) {\r\n return __awaiter(this, void 0, void 0, function () {\r\n var keyFound;\r\n return __generator(this, function (_a) {\r\n switch (_a.label) {\r\n case 0: return [4 /*yield*/, this.cache.asymmetricKeys.removeItem(kid)];\r\n case 1:\r\n _a.sent();\r\n return [4 /*yield*/, this.cache.asymmetricKeys.containsKey(kid)];\r\n case 2:\r\n keyFound = _a.sent();\r\n return [2 /*return*/, !keyFound];\r\n }\r\n });\r\n });\r\n };\r\n /**\r\n * Removes all cryptographic keys from IndexedDB storage\r\n */\r\n CryptoOps.prototype.clearKeystore = function () {\r\n return __awaiter(this, void 0, void 0, function () {\r\n return __generator(this, function (_a) {\r\n switch (_a.label) {\r\n case 0: return [4 /*yield*/, this.cache.clear()];\r\n case 1: return [2 /*return*/, _a.sent()];\r\n }\r\n });\r\n });\r\n };\r\n /**\r\n * Signs the given object as a jwt payload with private key retrieved by given kid.\r\n * @param payload\r\n * @param kid\r\n */\r\n CryptoOps.prototype.signJwt = function (payload, kid, correlationId) {\r\n var _a;\r\n return __awaiter(this, void 0, void 0, function () {\r\n var signJwtMeasurement, cachedKeyPair, publicKeyJwk, publicKeyJwkString, encodedKeyIdThumbprint, shrHeader, encodedShrHeader, encodedPayload, tokenString, tokenBuffer, signatureBuffer, encodedSignature, signedJwt;\r\n return __generator(this, function (_b) {\r\n switch (_b.label) {\r\n case 0:\r\n signJwtMeasurement = (_a = this.performanceClient) === null || _a === void 0 ? void 0 : _a.startMeasurement(PerformanceEvents.CryptoOptsSignJwt, correlationId);\r\n return [4 /*yield*/, this.cache.asymmetricKeys.getItem(kid)];\r\n case 1:\r\n cachedKeyPair = _b.sent();\r\n if (!cachedKeyPair) {\r\n throw BrowserAuthError.createSigningKeyNotFoundInStorageError(kid);\r\n }\r\n return [4 /*yield*/, this.browserCrypto.exportJwk(cachedKeyPair.publicKey)];\r\n case 2:\r\n publicKeyJwk = _b.sent();\r\n publicKeyJwkString = BrowserStringUtils.getSortedObjectString(publicKeyJwk);\r\n encodedKeyIdThumbprint = this.b64Encode.urlEncode(JSON.stringify({ kid: kid }));\r\n shrHeader = JoseHeader.getShrHeaderString({ kid: encodedKeyIdThumbprint, alg: publicKeyJwk.alg });\r\n encodedShrHeader = this.b64Encode.urlEncode(shrHeader);\r\n // Generate payload\r\n payload.cnf = {\r\n jwk: JSON.parse(publicKeyJwkString)\r\n };\r\n encodedPayload = this.b64Encode.urlEncode(JSON.stringify(payload));\r\n tokenString = encodedShrHeader + \".\" + encodedPayload;\r\n tokenBuffer = BrowserStringUtils.stringToArrayBuffer(tokenString);\r\n return [4 /*yield*/, this.browserCrypto.sign(cachedKeyPair.privateKey, tokenBuffer)];\r\n case 3:\r\n signatureBuffer = _b.sent();\r\n encodedSignature = this.b64Encode.urlEncodeArr(new Uint8Array(signatureBuffer));\r\n signedJwt = tokenString + \".\" + encodedSignature;\r\n if (signJwtMeasurement) {\r\n signJwtMeasurement.endMeasurement({\r\n success: true\r\n });\r\n }\r\n return [2 /*return*/, signedJwt];\r\n }\r\n });\r\n });\r\n };\r\n /**\r\n * Returns the SHA-256 hash of an input string\r\n * @param plainText\r\n */\r\n CryptoOps.prototype.hashString = function (plainText) {\r\n return __awaiter(this, void 0, void 0, function () {\r\n var hashBuffer, hashBytes;\r\n return __generator(this, function (_a) {\r\n switch (_a.label) {\r\n case 0: return [4 /*yield*/, this.browserCrypto.sha256Digest(plainText)];\r\n case 1:\r\n hashBuffer = _a.sent();\r\n hashBytes = new Uint8Array(hashBuffer);\r\n return [2 /*return*/, this.b64Encode.urlEncodeArr(hashBytes)];\r\n }\r\n });\r\n });\r\n };\r\n CryptoOps.POP_KEY_USAGES = [\"sign\", \"verify\"];\r\n CryptoOps.EXTRACTABLE = true;\r\n return CryptoOps;\r\n}());\n\nexport { CryptoOps };\n","/*! @azure/msal-browser v2.32.1 2022-12-07 */\n'use strict';\nimport { Constants } from '@azure/msal-common';\nimport { MathUtils } from '../utils/MathUtils.js';\n\n/*\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * Licensed under the MIT License.\r\n */\r\nvar GuidGenerator = /** @class */ (function () {\r\n function GuidGenerator(cryptoObj) {\r\n this.cryptoObj = cryptoObj;\r\n }\r\n /*\r\n * RFC4122: The version 4 UUID is meant for generating UUIDs from truly-random or\r\n * pseudo-random numbers.\r\n * The algorithm is as follows:\r\n * Set the two most significant bits (bits 6 and 7) of the\r\n * clock_seq_hi_and_reserved to zero and one, respectively.\r\n * Set the four most significant bits (bits 12 through 15) of the\r\n * time_hi_and_version field to the 4-bit version number from\r\n * Section 4.1.3. Version4\r\n * Set all the other bits to randomly (or pseudo-randomly) chosen\r\n * values.\r\n * UUID = time-low \"-\" time-mid \"-\"time-high-and-version \"-\"clock-seq-reserved and low(2hexOctet)\"-\" node\r\n * time-low = 4hexOctet\r\n * time-mid = 2hexOctet\r\n * time-high-and-version = 2hexOctet\r\n * clock-seq-and-reserved = hexOctet:\r\n * clock-seq-low = hexOctet\r\n * node = 6hexOctet\r\n * Format: xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx\r\n * y could be 1000, 1001, 1010, 1011 since most significant two bits needs to be 10\r\n * y values are 8, 9, A, B\r\n */\r\n GuidGenerator.prototype.generateGuid = function () {\r\n try {\r\n var buffer = new Uint8Array(16);\r\n this.cryptoObj.getRandomValues(buffer);\r\n // buffer[6] and buffer[7] represents the time_hi_and_version field. We will set the four most significant bits (4 through 7) of buffer[6] to represent decimal number 4 (UUID version number).\r\n buffer[6] |= 0x40; // buffer[6] | 01000000 will set the 6 bit to 1.\r\n buffer[6] &= 0x4f; // buffer[6] & 01001111 will set the 4, 5, and 7 bit to 0 such that bits 4-7 == 0100 = \"4\".\r\n // buffer[8] represents the clock_seq_hi_and_reserved field. We will set the two most significant bits (6 and 7) of the clock_seq_hi_and_reserved to zero and one, respectively.\r\n buffer[8] |= 0x80; // buffer[8] | 10000000 will set the 7 bit to 1.\r\n buffer[8] &= 0xbf; // buffer[8] & 10111111 will set the 6 bit to 0.\r\n return MathUtils.decimalToHex(buffer[0]) + MathUtils.decimalToHex(buffer[1])\r\n + MathUtils.decimalToHex(buffer[2]) + MathUtils.decimalToHex(buffer[3])\r\n + \"-\" + MathUtils.decimalToHex(buffer[4]) + MathUtils.decimalToHex(buffer[5])\r\n + \"-\" + MathUtils.decimalToHex(buffer[6]) + MathUtils.decimalToHex(buffer[7])\r\n + \"-\" + MathUtils.decimalToHex(buffer[8]) + MathUtils.decimalToHex(buffer[9])\r\n + \"-\" + MathUtils.decimalToHex(buffer[10]) + MathUtils.decimalToHex(buffer[11])\r\n + MathUtils.decimalToHex(buffer[12]) + MathUtils.decimalToHex(buffer[13])\r\n + MathUtils.decimalToHex(buffer[14]) + MathUtils.decimalToHex(buffer[15]);\r\n }\r\n catch (err) {\r\n var guidHolder = \"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx\";\r\n var hex = \"0123456789abcdef\";\r\n var r = 0;\r\n var guidResponse = Constants.EMPTY_STRING;\r\n for (var i = 0; i < 36; i++) {\r\n if (guidHolder[i] !== \"-\" && guidHolder[i] !== \"4\") {\r\n // each x and y needs to be random\r\n r = Math.random() * 16 | 0;\r\n }\r\n if (guidHolder[i] === \"x\") {\r\n guidResponse += hex[r];\r\n }\r\n else if (guidHolder[i] === \"y\") {\r\n // clock-seq-and-reserved first hex is filtered and remaining hex values are random\r\n r &= 0x3; // bit and with 0011 to set pos 2 to zero ?0??\r\n r |= 0x8; // set pos 3 to 1 as 1???\r\n guidResponse += hex[r];\r\n }\r\n else {\r\n guidResponse += guidHolder[i];\r\n }\r\n }\r\n return guidResponse;\r\n }\r\n };\r\n /**\r\n * verifies if a string is GUID\r\n * @param guid\r\n */\r\n GuidGenerator.prototype.isGuid = function (guid) {\r\n var regexGuid = /^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/i;\r\n return regexGuid.test(guid);\r\n };\r\n return GuidGenerator;\r\n}());\n\nexport { GuidGenerator };\n","/*! @azure/msal-browser v2.32.1 2022-12-07 */\n'use strict';\nimport { __awaiter, __generator } from '../_virtual/_tslib.js';\nimport { KEY_FORMAT_JWK } from '../utils/BrowserConstants.js';\n\n/*\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * Licensed under the MIT License.\r\n */\r\nvar ModernBrowserCrypto = /** @class */ (function () {\r\n function ModernBrowserCrypto() {\r\n }\r\n ModernBrowserCrypto.prototype.getRandomValues = function (dataBuffer) {\r\n return window.crypto.getRandomValues(dataBuffer);\r\n };\r\n ModernBrowserCrypto.prototype.generateKey = function (algorithm, extractable, keyUsages) {\r\n return __awaiter(this, void 0, void 0, function () {\r\n return __generator(this, function (_a) {\r\n return [2 /*return*/, window.crypto.subtle.generateKey(algorithm, extractable, keyUsages)];\r\n });\r\n });\r\n };\r\n ModernBrowserCrypto.prototype.exportKey = function (key) {\r\n return __awaiter(this, void 0, void 0, function () {\r\n return __generator(this, function (_a) {\r\n return [2 /*return*/, window.crypto.subtle.exportKey(KEY_FORMAT_JWK, key)];\r\n });\r\n });\r\n };\r\n ModernBrowserCrypto.prototype.importKey = function (keyData, algorithm, extractable, keyUsages) {\r\n return __awaiter(this, void 0, void 0, function () {\r\n return __generator(this, function (_a) {\r\n return [2 /*return*/, window.crypto.subtle.importKey(KEY_FORMAT_JWK, keyData, algorithm, extractable, keyUsages)];\r\n });\r\n });\r\n };\r\n ModernBrowserCrypto.prototype.sign = function (algorithm, key, data) {\r\n return __awaiter(this, void 0, void 0, function () {\r\n return __generator(this, function (_a) {\r\n return [2 /*return*/, window.crypto.subtle.sign(algorithm, key, data)];\r\n });\r\n });\r\n };\r\n ModernBrowserCrypto.prototype.digest = function (algorithm, data) {\r\n return __awaiter(this, void 0, void 0, function () {\r\n return __generator(this, function (_a) {\r\n return [2 /*return*/, window.crypto.subtle.digest(algorithm, data)];\r\n });\r\n });\r\n };\r\n return ModernBrowserCrypto;\r\n}());\n\nexport { ModernBrowserCrypto };\n","/*! @azure/msal-browser v2.32.1 2022-12-07 */\n'use strict';\nimport { __awaiter, __generator } from '../_virtual/_tslib.js';\nimport { Constants } from '@azure/msal-common';\nimport { KEY_FORMAT_JWK } from '../utils/BrowserConstants.js';\nimport { BrowserStringUtils } from '../utils/BrowserStringUtils.js';\n\n/*\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * Licensed under the MIT License.\r\n */\r\nvar MsBrowserCrypto = /** @class */ (function () {\r\n function MsBrowserCrypto() {\r\n }\r\n MsBrowserCrypto.prototype.getRandomValues = function (dataBuffer) {\r\n return window[\"msCrypto\"].getRandomValues(dataBuffer);\r\n };\r\n MsBrowserCrypto.prototype.generateKey = function (algorithm, extractable, keyUsages) {\r\n return __awaiter(this, void 0, void 0, function () {\r\n return __generator(this, function (_a) {\r\n return [2 /*return*/, new Promise(function (resolve, reject) {\r\n var msGenerateKey = window[\"msCrypto\"].subtle.generateKey(algorithm, extractable, keyUsages);\r\n msGenerateKey.addEventListener(\"complete\", function (e) {\r\n resolve(e.target.result);\r\n });\r\n msGenerateKey.addEventListener(\"error\", function (error) {\r\n reject(error);\r\n });\r\n })];\r\n });\r\n });\r\n };\r\n MsBrowserCrypto.prototype.exportKey = function (key) {\r\n return __awaiter(this, void 0, void 0, function () {\r\n return __generator(this, function (_a) {\r\n return [2 /*return*/, new Promise(function (resolve, reject) {\r\n var msExportKey = window[\"msCrypto\"].subtle.exportKey(KEY_FORMAT_JWK, key);\r\n msExportKey.addEventListener(\"complete\", function (e) {\r\n var resultBuffer = e.target.result;\r\n var resultString = BrowserStringUtils.utf8ArrToString(new Uint8Array(resultBuffer))\r\n .replace(/\\r/g, Constants.EMPTY_STRING)\r\n .replace(/\\n/g, Constants.EMPTY_STRING)\r\n .replace(/\\t/g, Constants.EMPTY_STRING)\r\n .split(\" \").join(Constants.EMPTY_STRING)\r\n .replace(\"\\u0000\", Constants.EMPTY_STRING);\r\n try {\r\n resolve(JSON.parse(resultString));\r\n }\r\n catch (e) {\r\n reject(e);\r\n }\r\n });\r\n msExportKey.addEventListener(\"error\", function (error) {\r\n reject(error);\r\n });\r\n })];\r\n });\r\n });\r\n };\r\n MsBrowserCrypto.prototype.importKey = function (keyData, algorithm, extractable, keyUsages) {\r\n return __awaiter(this, void 0, void 0, function () {\r\n var keyString, keyBuffer;\r\n return __generator(this, function (_a) {\r\n keyString = BrowserStringUtils.getSortedObjectString(keyData);\r\n keyBuffer = BrowserStringUtils.stringToArrayBuffer(keyString);\r\n return [2 /*return*/, new Promise(function (resolve, reject) {\r\n var msImportKey = window[\"msCrypto\"].subtle.importKey(KEY_FORMAT_JWK, keyBuffer, algorithm, extractable, keyUsages);\r\n msImportKey.addEventListener(\"complete\", function (e) {\r\n resolve(e.target.result);\r\n });\r\n msImportKey.addEventListener(\"error\", function (error) {\r\n reject(error);\r\n });\r\n })];\r\n });\r\n });\r\n };\r\n MsBrowserCrypto.prototype.sign = function (algorithm, key, data) {\r\n return __awaiter(this, void 0, void 0, function () {\r\n return __generator(this, function (_a) {\r\n return [2 /*return*/, new Promise(function (resolve, reject) {\r\n var msSign = window[\"msCrypto\"].subtle.sign(algorithm, key, data);\r\n msSign.addEventListener(\"complete\", function (e) {\r\n resolve(e.target.result);\r\n });\r\n msSign.addEventListener(\"error\", function (error) {\r\n reject(error);\r\n });\r\n })];\r\n });\r\n });\r\n };\r\n MsBrowserCrypto.prototype.digest = function (algorithm, data) {\r\n return __awaiter(this, void 0, void 0, function () {\r\n return __generator(this, function (_a) {\r\n return [2 /*return*/, new Promise(function (resolve, reject) {\r\n var digestOperation = window[\"msCrypto\"].subtle.digest(algorithm, data.buffer);\r\n digestOperation.addEventListener(\"complete\", function (e) {\r\n resolve(e.target.result);\r\n });\r\n digestOperation.addEventListener(\"error\", function (error) {\r\n reject(error);\r\n });\r\n })];\r\n });\r\n });\r\n };\r\n return MsBrowserCrypto;\r\n}());\n\nexport { MsBrowserCrypto };\n","/*! @azure/msal-browser v2.32.1 2022-12-07 */\n'use strict';\nimport { __spread, __awaiter, __generator } from '../_virtual/_tslib.js';\nimport { KEY_FORMAT_JWK } from '../utils/BrowserConstants.js';\n\n/*\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * Licensed under the MIT License.\r\n */\r\nvar MsrBrowserCrypto = /** @class */ (function () {\r\n function MsrBrowserCrypto() {\r\n }\r\n MsrBrowserCrypto.prototype.initPrng = function (entropy) {\r\n // Turn into array, as initPrng seems to not always like Uint8Array (even though it should support both)\r\n return window.msrCrypto.initPrng(__spread(entropy));\r\n };\r\n MsrBrowserCrypto.prototype.getRandomValues = function (dataBuffer) {\r\n return window.msrCrypto.getRandomValues(dataBuffer);\r\n };\r\n MsrBrowserCrypto.prototype.generateKey = function (algorithm, extractable, keyUsages) {\r\n return __awaiter(this, void 0, void 0, function () {\r\n return __generator(this, function (_a) {\r\n return [2 /*return*/, window.msrCrypto.subtle.generateKey(algorithm, extractable, keyUsages)];\r\n });\r\n });\r\n };\r\n MsrBrowserCrypto.prototype.exportKey = function (key) {\r\n return __awaiter(this, void 0, void 0, function () {\r\n return __generator(this, function (_a) {\r\n return [2 /*return*/, window.msrCrypto.subtle.exportKey(KEY_FORMAT_JWK, key)];\r\n });\r\n });\r\n };\r\n MsrBrowserCrypto.prototype.importKey = function (keyData, algorithm, extractable, keyUsages) {\r\n return __awaiter(this, void 0, void 0, function () {\r\n return __generator(this, function (_a) {\r\n return [2 /*return*/, window.msrCrypto.subtle.importKey(KEY_FORMAT_JWK, keyData, algorithm, extractable, keyUsages)];\r\n });\r\n });\r\n };\r\n MsrBrowserCrypto.prototype.sign = function (algorithm, key, data) {\r\n return __awaiter(this, void 0, void 0, function () {\r\n return __generator(this, function (_a) {\r\n return [2 /*return*/, window.msrCrypto.subtle.sign(algorithm, key, data)];\r\n });\r\n });\r\n };\r\n MsrBrowserCrypto.prototype.digest = function (algorithm, data) {\r\n return __awaiter(this, void 0, void 0, function () {\r\n return __generator(this, function (_a) {\r\n return [2 /*return*/, window.msrCrypto.subtle.digest(algorithm, data)];\r\n });\r\n });\r\n };\r\n return MsrBrowserCrypto;\r\n}());\n\nexport { MsrBrowserCrypto };\n","/*! @azure/msal-browser v2.32.1 2022-12-07 */\n'use strict';\nimport { __awaiter, __generator } from '../_virtual/_tslib.js';\nimport { BrowserAuthError } from '../error/BrowserAuthError.js';\nimport { Base64Encode } from '../encode/Base64Encode.js';\n\n/*\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * Licensed under the MIT License.\r\n */\r\n// Constant byte array length\r\nvar RANDOM_BYTE_ARR_LENGTH = 32;\r\n/**\r\n * Class which exposes APIs to generate PKCE codes and code verifiers.\r\n */\r\nvar PkceGenerator = /** @class */ (function () {\r\n function PkceGenerator(cryptoObj) {\r\n this.base64Encode = new Base64Encode();\r\n this.cryptoObj = cryptoObj;\r\n }\r\n /**\r\n * Generates PKCE Codes. See the RFC for more information: https://tools.ietf.org/html/rfc7636\r\n */\r\n PkceGenerator.prototype.generateCodes = function () {\r\n return __awaiter(this, void 0, void 0, function () {\r\n var codeVerifier, codeChallenge;\r\n return __generator(this, function (_a) {\r\n switch (_a.label) {\r\n case 0:\r\n codeVerifier = this.generateCodeVerifier();\r\n return [4 /*yield*/, this.generateCodeChallengeFromVerifier(codeVerifier)];\r\n case 1:\r\n codeChallenge = _a.sent();\r\n return [2 /*return*/, {\r\n verifier: codeVerifier,\r\n challenge: codeChallenge\r\n }];\r\n }\r\n });\r\n });\r\n };\r\n /**\r\n * Generates a random 32 byte buffer and returns the base64\r\n * encoded string to be used as a PKCE Code Verifier\r\n */\r\n PkceGenerator.prototype.generateCodeVerifier = function () {\r\n try {\r\n // Generate random values as utf-8\r\n var buffer = new Uint8Array(RANDOM_BYTE_ARR_LENGTH);\r\n this.cryptoObj.getRandomValues(buffer);\r\n // encode verifier as base64\r\n var pkceCodeVerifierB64 = this.base64Encode.urlEncodeArr(buffer);\r\n return pkceCodeVerifierB64;\r\n }\r\n catch (e) {\r\n throw BrowserAuthError.createPkceNotGeneratedError(e);\r\n }\r\n };\r\n /**\r\n * Creates a base64 encoded PKCE Code Challenge string from the\r\n * hash created from the PKCE Code Verifier supplied\r\n */\r\n PkceGenerator.prototype.generateCodeChallengeFromVerifier = function (pkceCodeVerifier) {\r\n return __awaiter(this, void 0, void 0, function () {\r\n var pkceHashedCodeVerifier, e_1;\r\n return __generator(this, function (_a) {\r\n switch (_a.label) {\r\n case 0:\r\n _a.trys.push([0, 2, , 3]);\r\n return [4 /*yield*/, this.cryptoObj.sha256Digest(pkceCodeVerifier)];\r\n case 1:\r\n pkceHashedCodeVerifier = _a.sent();\r\n // encode hash as base64\r\n return [2 /*return*/, this.base64Encode.urlEncodeArr(new Uint8Array(pkceHashedCodeVerifier))];\r\n case 2:\r\n e_1 = _a.sent();\r\n throw BrowserAuthError.createPkceNotGeneratedError(e_1);\r\n case 3: return [2 /*return*/];\r\n }\r\n });\r\n });\r\n };\r\n return PkceGenerator;\r\n}());\n\nexport { PkceGenerator };\n","/*! @azure/msal-browser v2.32.1 2022-12-07 */\n'use strict';\nimport { Constants } from '@azure/msal-common';\nimport { BrowserStringUtils } from '../utils/BrowserStringUtils.js';\n\n/*\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * Licensed under the MIT License.\r\n */\r\n/**\r\n * Class which exposes APIs to decode base64 strings to plaintext. See here for implementation details:\r\n * https://developer.mozilla.org/en-US/docs/Web/API/WindowBase64/Base64_encoding_and_decoding#Solution_2_%E2%80%93_JavaScript's_UTF-16_%3E_UTF-8_%3E_base64\r\n */\r\nvar Base64Decode = /** @class */ (function () {\r\n function Base64Decode() {\r\n }\r\n /**\r\n * Returns a URL-safe plaintext decoded string from b64 encoded input.\r\n * @param input\r\n */\r\n Base64Decode.prototype.decode = function (input) {\r\n var encodedString = input.replace(/-/g, \"+\").replace(/_/g, \"/\");\r\n switch (encodedString.length % 4) {\r\n case 0:\r\n break;\r\n case 2:\r\n encodedString += \"==\";\r\n break;\r\n case 3:\r\n encodedString += \"=\";\r\n break;\r\n default:\r\n throw new Error(\"Invalid base64 string\");\r\n }\r\n var inputUtf8Arr = this.base64DecToArr(encodedString);\r\n return BrowserStringUtils.utf8ArrToString(inputUtf8Arr);\r\n };\r\n /**\r\n * Decodes base64 into Uint8Array\r\n * @param base64String\r\n * @param nBlockSize\r\n */\r\n Base64Decode.prototype.base64DecToArr = function (base64String, nBlockSize) {\r\n var sB64Enc = base64String.replace(/[^A-Za-z0-9\\+\\/]/g, Constants.EMPTY_STRING);\r\n var nInLen = sB64Enc.length;\r\n var nOutLen = nBlockSize ? Math.ceil((nInLen * 3 + 1 >>> 2) / nBlockSize) * nBlockSize : nInLen * 3 + 1 >>> 2;\r\n var aBytes = new Uint8Array(nOutLen);\r\n for (var nMod3 = void 0, nMod4 = void 0, nUint24 = 0, nOutIdx = 0, nInIdx = 0; nInIdx < nInLen; nInIdx++) {\r\n nMod4 = nInIdx & 3;\r\n nUint24 |= this.b64ToUint6(sB64Enc.charCodeAt(nInIdx)) << 18 - 6 * nMod4;\r\n if (nMod4 === 3 || nInLen - nInIdx === 1) {\r\n for (nMod3 = 0; nMod3 < 3 && nOutIdx < nOutLen; nMod3++, nOutIdx++) {\r\n aBytes[nOutIdx] = nUint24 >>> (16 >>> nMod3 & 24) & 255;\r\n }\r\n nUint24 = 0;\r\n }\r\n }\r\n return aBytes;\r\n };\r\n /**\r\n * Base64 string to array decoding helper\r\n * @param charNum\r\n */\r\n Base64Decode.prototype.b64ToUint6 = function (charNum) {\r\n return charNum > 64 && charNum < 91 ?\r\n charNum - 65\r\n : charNum > 96 && charNum < 123 ?\r\n charNum - 71\r\n : charNum > 47 && charNum < 58 ?\r\n charNum + 4\r\n : charNum === 43 ?\r\n 62\r\n : charNum === 47 ?\r\n 63\r\n :\r\n 0;\r\n };\r\n return Base64Decode;\r\n}());\n\nexport { Base64Decode };\n","/*! @azure/msal-browser v2.32.1 2022-12-07 */\n'use strict';\nimport { Constants } from '@azure/msal-common';\nimport { BrowserStringUtils } from '../utils/BrowserStringUtils.js';\n\n/*\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * Licensed under the MIT License.\r\n */\r\n/**\r\n * Class which exposes APIs to encode plaintext to base64 encoded string. See here for implementation details:\r\n * https://developer.mozilla.org/en-US/docs/Web/API/WindowBase64/Base64_encoding_and_decoding#Solution_2_%E2%80%93_JavaScript's_UTF-16_%3E_UTF-8_%3E_base64\r\n */\r\nvar Base64Encode = /** @class */ (function () {\r\n function Base64Encode() {\r\n }\r\n /**\r\n * Returns URL Safe b64 encoded string from a plaintext string.\r\n * @param input\r\n */\r\n Base64Encode.prototype.urlEncode = function (input) {\r\n return encodeURIComponent(this.encode(input)\r\n .replace(/=/g, Constants.EMPTY_STRING)\r\n .replace(/\\+/g, \"-\")\r\n .replace(/\\//g, \"_\"));\r\n };\r\n /**\r\n * Returns URL Safe b64 encoded string from an int8Array.\r\n * @param inputArr\r\n */\r\n Base64Encode.prototype.urlEncodeArr = function (inputArr) {\r\n return this.base64EncArr(inputArr)\r\n .replace(/=/g, Constants.EMPTY_STRING)\r\n .replace(/\\+/g, \"-\")\r\n .replace(/\\//g, \"_\");\r\n };\r\n /**\r\n * Returns b64 encoded string from plaintext string.\r\n * @param input\r\n */\r\n Base64Encode.prototype.encode = function (input) {\r\n var inputUtf8Arr = BrowserStringUtils.stringToUtf8Arr(input);\r\n return this.base64EncArr(inputUtf8Arr);\r\n };\r\n /**\r\n * Base64 encode byte array\r\n * @param aBytes\r\n */\r\n Base64Encode.prototype.base64EncArr = function (aBytes) {\r\n var eqLen = (3 - (aBytes.length % 3)) % 3;\r\n var sB64Enc = Constants.EMPTY_STRING;\r\n for (var nMod3 = void 0, nLen = aBytes.length, nUint24 = 0, nIdx = 0; nIdx < nLen; nIdx++) {\r\n nMod3 = nIdx % 3;\r\n /* Uncomment the following line in order to split the output in lines 76-character long: */\r\n /*\r\n *if (nIdx > 0 && (nIdx * 4 / 3) % 76 === 0) { sB64Enc += \"\\r\\n\"; }\r\n */\r\n nUint24 |= aBytes[nIdx] << (16 >>> nMod3 & 24);\r\n if (nMod3 === 2 || aBytes.length - nIdx === 1) {\r\n sB64Enc += String.fromCharCode(this.uint6ToB64(nUint24 >>> 18 & 63), this.uint6ToB64(nUint24 >>> 12 & 63), this.uint6ToB64(nUint24 >>> 6 & 63), this.uint6ToB64(nUint24 & 63));\r\n nUint24 = 0;\r\n }\r\n }\r\n return eqLen === 0 ? sB64Enc : sB64Enc.substring(0, sB64Enc.length - eqLen) + (eqLen === 1 ? \"=\" : \"==\");\r\n };\r\n /**\r\n * Base64 string to array encoding helper\r\n * @param nUint6\r\n */\r\n Base64Encode.prototype.uint6ToB64 = function (nUint6) {\r\n return nUint6 < 26 ?\r\n nUint6 + 65\r\n : nUint6 < 52 ?\r\n nUint6 + 71\r\n : nUint6 < 62 ?\r\n nUint6 - 4\r\n : nUint6 === 62 ?\r\n 43\r\n : nUint6 === 63 ?\r\n 47\r\n :\r\n 65;\r\n };\r\n return Base64Encode;\r\n}());\n\nexport { Base64Encode };\n","/*! @azure/msal-browser v2.32.1 2022-12-07 */\n'use strict';\nimport { __extends } from '../_virtual/_tslib.js';\nimport { StringUtils, AuthError } from '@azure/msal-common';\n\n/*\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * Licensed under the MIT License.\r\n */\r\n/**\r\n * BrowserAuthErrorMessage class containing string constants used by error codes and messages.\r\n */\r\nvar BrowserAuthErrorMessage = {\r\n pkceNotGenerated: {\r\n code: \"pkce_not_created\",\r\n desc: \"The PKCE code challenge and verifier could not be generated.\"\r\n },\r\n cryptoDoesNotExist: {\r\n code: \"crypto_nonexistent\",\r\n desc: \"The crypto object or function is not available.\"\r\n },\r\n httpMethodNotImplementedError: {\r\n code: \"http_method_not_implemented\",\r\n desc: \"The HTTP method given has not been implemented in this library.\"\r\n },\r\n emptyNavigateUriError: {\r\n code: \"empty_navigate_uri\",\r\n desc: \"Navigation URI is empty. Please check stack trace for more info.\"\r\n },\r\n hashEmptyError: {\r\n code: \"hash_empty_error\",\r\n desc: \"Hash value cannot be processed because it is empty. Please verify that your redirectUri is not clearing the hash. For more visit: aka.ms/msaljs/browser-errors.\"\r\n },\r\n hashDoesNotContainStateError: {\r\n code: \"no_state_in_hash\",\r\n desc: \"Hash does not contain state. Please verify that the request originated from msal.\"\r\n },\r\n hashDoesNotContainKnownPropertiesError: {\r\n code: \"hash_does_not_contain_known_properties\",\r\n desc: \"Hash does not contain known properites. Please verify that your redirectUri is not changing the hash. For more visit: aka.ms/msaljs/browser-errors.\"\r\n },\r\n unableToParseStateError: {\r\n code: \"unable_to_parse_state\",\r\n desc: \"Unable to parse state. Please verify that the request originated from msal.\"\r\n },\r\n stateInteractionTypeMismatchError: {\r\n code: \"state_interaction_type_mismatch\",\r\n desc: \"Hash contains state but the interaction type does not match the caller.\"\r\n },\r\n interactionInProgress: {\r\n code: \"interaction_in_progress\",\r\n desc: \"Interaction is currently in progress. Please ensure that this interaction has been completed before calling an interactive API. For more visit: aka.ms/msaljs/browser-errors.\"\r\n },\r\n popupWindowError: {\r\n code: \"popup_window_error\",\r\n desc: \"Error opening popup window. This can happen if you are using IE or if popups are blocked in the browser.\"\r\n },\r\n emptyWindowError: {\r\n code: \"empty_window_error\",\r\n desc: \"window.open returned null or undefined window object.\"\r\n },\r\n userCancelledError: {\r\n code: \"user_cancelled\",\r\n desc: \"User cancelled the flow.\"\r\n },\r\n monitorPopupTimeoutError: {\r\n code: \"monitor_window_timeout\",\r\n desc: \"Token acquisition in popup failed due to timeout. For more visit: aka.ms/msaljs/browser-errors.\"\r\n },\r\n monitorIframeTimeoutError: {\r\n code: \"monitor_window_timeout\",\r\n desc: \"Token acquisition in iframe failed due to timeout. For more visit: aka.ms/msaljs/browser-errors.\"\r\n },\r\n redirectInIframeError: {\r\n code: \"redirect_in_iframe\",\r\n desc: \"Redirects are not supported for iframed or brokered applications. Please ensure you are using MSAL.js in a top frame of the window if using the redirect APIs, or use the popup APIs.\"\r\n },\r\n blockTokenRequestsInHiddenIframeError: {\r\n code: \"block_iframe_reload\",\r\n desc: \"Request was blocked inside an iframe because MSAL detected an authentication response. For more visit: aka.ms/msaljs/browser-errors\"\r\n },\r\n blockAcquireTokenInPopupsError: {\r\n code: \"block_nested_popups\",\r\n desc: \"Request was blocked inside a popup because MSAL detected it was running in a popup.\"\r\n },\r\n iframeClosedPrematurelyError: {\r\n code: \"iframe_closed_prematurely\",\r\n desc: \"The iframe being monitored was closed prematurely.\"\r\n },\r\n silentLogoutUnsupportedError: {\r\n code: \"silent_logout_unsupported\",\r\n desc: \"Silent logout not supported. Please call logoutRedirect or logoutPopup instead.\"\r\n },\r\n noAccountError: {\r\n code: \"no_account_error\",\r\n desc: \"No account object provided to acquireTokenSilent and no active account has been set. Please call setActiveAccount or provide an account on the request.\"\r\n },\r\n silentPromptValueError: {\r\n code: \"silent_prompt_value_error\",\r\n desc: \"The value given for the prompt value is not valid for silent requests - must be set to 'none' or 'no_session'.\"\r\n },\r\n noTokenRequestCacheError: {\r\n code: \"no_token_request_cache_error\",\r\n desc: \"No token request found in cache.\"\r\n },\r\n unableToParseTokenRequestCacheError: {\r\n code: \"unable_to_parse_token_request_cache_error\",\r\n desc: \"The cached token request could not be parsed.\"\r\n },\r\n noCachedAuthorityError: {\r\n code: \"no_cached_authority_error\",\r\n desc: \"No cached authority found.\"\r\n },\r\n authRequestNotSet: {\r\n code: \"auth_request_not_set_error\",\r\n desc: \"Auth Request not set. Please ensure initiateAuthRequest was called from the InteractionHandler\"\r\n },\r\n invalidCacheType: {\r\n code: \"invalid_cache_type\",\r\n desc: \"Invalid cache type\"\r\n },\r\n notInBrowserEnvironment: {\r\n code: \"non_browser_environment\",\r\n desc: \"Login and token requests are not supported in non-browser environments.\"\r\n },\r\n databaseNotOpen: {\r\n code: \"database_not_open\",\r\n desc: \"Database is not open!\"\r\n },\r\n noNetworkConnectivity: {\r\n code: \"no_network_connectivity\",\r\n desc: \"No network connectivity. Check your internet connection.\"\r\n },\r\n postRequestFailed: {\r\n code: \"post_request_failed\",\r\n desc: \"Network request failed: If the browser threw a CORS error, check that the redirectUri is registered in the Azure App Portal as type 'SPA'\"\r\n },\r\n getRequestFailed: {\r\n code: \"get_request_failed\",\r\n desc: \"Network request failed. Please check the network trace to determine root cause.\"\r\n },\r\n failedToParseNetworkResponse: {\r\n code: \"failed_to_parse_response\",\r\n desc: \"Failed to parse network response. Check network trace.\"\r\n },\r\n unableToLoadTokenError: {\r\n code: \"unable_to_load_token\",\r\n desc: \"Error loading token to cache.\"\r\n },\r\n signingKeyNotFoundInStorage: {\r\n code: \"crypto_key_not_found\",\r\n desc: \"Cryptographic Key or Keypair not found in browser storage.\"\r\n },\r\n authCodeRequired: {\r\n code: \"auth_code_required\",\r\n desc: \"An authorization code must be provided (as the `code` property on the request) to this flow.\"\r\n },\r\n authCodeOrNativeAccountRequired: {\r\n code: \"auth_code_or_nativeAccountId_required\",\r\n desc: \"An authorization code or nativeAccountId must be provided to this flow.\"\r\n },\r\n databaseUnavailable: {\r\n code: \"database_unavailable\",\r\n desc: \"IndexedDB, which is required for persistent cryptographic key storage, is unavailable. This may be caused by browser privacy features which block persistent storage in third-party contexts.\"\r\n },\r\n unableToAcquireTokenFromNativePlatform: {\r\n code: \"unable_to_acquire_token_from_native_platform\",\r\n desc: \"Unable to acquire token from native platform. For a list of possible reasons visit aka.ms/msaljs/browser-errors.\"\r\n },\r\n nativeHandshakeTimeout: {\r\n code: \"native_handshake_timeout\",\r\n desc: \"Timed out while attempting to establish connection to browser extension\"\r\n },\r\n nativeExtensionNotInstalled: {\r\n code: \"native_extension_not_installed\",\r\n desc: \"Native extension is not installed. If you think this is a mistake call the initialize function.\"\r\n },\r\n nativeConnectionNotEstablished: {\r\n code: \"native_connection_not_established\",\r\n desc: \"Connection to native platform has not been established. Please install a compatible browser extension and run initialize(). For more please visit aka.ms/msaljs/browser-errors.\"\r\n },\r\n nativeBrokerCalledBeforeInitialize: {\r\n code: \"native_broker_called_before_initialize\",\r\n desc: \"You must call and await the initialize function before attempting to call any other MSAL API when native brokering is enabled. For more please visit aka.ms/msaljs/browser-errors.\"\r\n },\r\n nativePromptNotSupported: {\r\n code: \"native_prompt_not_supported\",\r\n desc: \"The provided prompt is not supported by the native platform. This request should be routed to the web based flow.\"\r\n }\r\n};\r\n/**\r\n * Browser library error class thrown by the MSAL.js library for SPAs\r\n */\r\nvar BrowserAuthError = /** @class */ (function (_super) {\r\n __extends(BrowserAuthError, _super);\r\n function BrowserAuthError(errorCode, errorMessage) {\r\n var _this = _super.call(this, errorCode, errorMessage) || this;\r\n Object.setPrototypeOf(_this, BrowserAuthError.prototype);\r\n _this.name = \"BrowserAuthError\";\r\n return _this;\r\n }\r\n /**\r\n * Creates an error thrown when PKCE is not implemented.\r\n * @param errDetail\r\n */\r\n BrowserAuthError.createPkceNotGeneratedError = function (errDetail) {\r\n return new BrowserAuthError(BrowserAuthErrorMessage.pkceNotGenerated.code, BrowserAuthErrorMessage.pkceNotGenerated.desc + \" Detail:\" + errDetail);\r\n };\r\n /**\r\n * Creates an error thrown when the crypto object is unavailable.\r\n * @param errDetail\r\n */\r\n BrowserAuthError.createCryptoNotAvailableError = function (errDetail) {\r\n return new BrowserAuthError(BrowserAuthErrorMessage.cryptoDoesNotExist.code, BrowserAuthErrorMessage.cryptoDoesNotExist.desc + \" Detail:\" + errDetail);\r\n };\r\n /**\r\n * Creates an error thrown when an HTTP method hasn't been implemented by the browser class.\r\n * @param method\r\n */\r\n BrowserAuthError.createHttpMethodNotImplementedError = function (method) {\r\n return new BrowserAuthError(BrowserAuthErrorMessage.httpMethodNotImplementedError.code, BrowserAuthErrorMessage.httpMethodNotImplementedError.desc + \" Given Method: \" + method);\r\n };\r\n /**\r\n * Creates an error thrown when the navigation URI is empty.\r\n */\r\n BrowserAuthError.createEmptyNavigationUriError = function () {\r\n return new BrowserAuthError(BrowserAuthErrorMessage.emptyNavigateUriError.code, BrowserAuthErrorMessage.emptyNavigateUriError.desc);\r\n };\r\n /**\r\n * Creates an error thrown when the hash string value is unexpectedly empty.\r\n * @param hashValue\r\n */\r\n BrowserAuthError.createEmptyHashError = function (hashValue) {\r\n return new BrowserAuthError(BrowserAuthErrorMessage.hashEmptyError.code, BrowserAuthErrorMessage.hashEmptyError.desc + \" Given Url: \" + hashValue);\r\n };\r\n /**\r\n * Creates an error thrown when the hash string value is unexpectedly empty.\r\n */\r\n BrowserAuthError.createHashDoesNotContainStateError = function () {\r\n return new BrowserAuthError(BrowserAuthErrorMessage.hashDoesNotContainStateError.code, BrowserAuthErrorMessage.hashDoesNotContainStateError.desc);\r\n };\r\n /**\r\n * Creates an error thrown when the hash string value does not contain known properties\r\n */\r\n BrowserAuthError.createHashDoesNotContainKnownPropertiesError = function () {\r\n return new BrowserAuthError(BrowserAuthErrorMessage.hashDoesNotContainKnownPropertiesError.code, BrowserAuthErrorMessage.hashDoesNotContainKnownPropertiesError.desc);\r\n };\r\n /**\r\n * Creates an error thrown when the hash string value is unexpectedly empty.\r\n */\r\n BrowserAuthError.createUnableToParseStateError = function () {\r\n return new BrowserAuthError(BrowserAuthErrorMessage.unableToParseStateError.code, BrowserAuthErrorMessage.unableToParseStateError.desc);\r\n };\r\n /**\r\n * Creates an error thrown when the state value in the hash does not match the interaction type of the API attempting to consume it.\r\n */\r\n BrowserAuthError.createStateInteractionTypeMismatchError = function () {\r\n return new BrowserAuthError(BrowserAuthErrorMessage.stateInteractionTypeMismatchError.code, BrowserAuthErrorMessage.stateInteractionTypeMismatchError.desc);\r\n };\r\n /**\r\n * Creates an error thrown when a browser interaction (redirect or popup) is in progress.\r\n */\r\n BrowserAuthError.createInteractionInProgressError = function () {\r\n return new BrowserAuthError(BrowserAuthErrorMessage.interactionInProgress.code, BrowserAuthErrorMessage.interactionInProgress.desc);\r\n };\r\n /**\r\n * Creates an error thrown when the popup window could not be opened.\r\n * @param errDetail\r\n */\r\n BrowserAuthError.createPopupWindowError = function (errDetail) {\r\n var errorMessage = BrowserAuthErrorMessage.popupWindowError.desc;\r\n errorMessage = !StringUtils.isEmpty(errDetail) ? errorMessage + \" Details: \" + errDetail : errorMessage;\r\n return new BrowserAuthError(BrowserAuthErrorMessage.popupWindowError.code, errorMessage);\r\n };\r\n /**\r\n * Creates an error thrown when window.open returns an empty window object.\r\n * @param errDetail\r\n */\r\n BrowserAuthError.createEmptyWindowCreatedError = function () {\r\n return new BrowserAuthError(BrowserAuthErrorMessage.emptyWindowError.code, BrowserAuthErrorMessage.emptyWindowError.desc);\r\n };\r\n /**\r\n * Creates an error thrown when the user closes a popup.\r\n */\r\n BrowserAuthError.createUserCancelledError = function () {\r\n return new BrowserAuthError(BrowserAuthErrorMessage.userCancelledError.code, BrowserAuthErrorMessage.userCancelledError.desc);\r\n };\r\n /**\r\n * Creates an error thrown when monitorPopupFromHash times out for a given popup.\r\n */\r\n BrowserAuthError.createMonitorPopupTimeoutError = function () {\r\n return new BrowserAuthError(BrowserAuthErrorMessage.monitorPopupTimeoutError.code, BrowserAuthErrorMessage.monitorPopupTimeoutError.desc);\r\n };\r\n /**\r\n * Creates an error thrown when monitorIframeFromHash times out for a given iframe.\r\n */\r\n BrowserAuthError.createMonitorIframeTimeoutError = function () {\r\n return new BrowserAuthError(BrowserAuthErrorMessage.monitorIframeTimeoutError.code, BrowserAuthErrorMessage.monitorIframeTimeoutError.desc);\r\n };\r\n /**\r\n * Creates an error thrown when navigateWindow is called inside an iframe or brokered applications.\r\n * @param windowParentCheck\r\n */\r\n BrowserAuthError.createRedirectInIframeError = function (windowParentCheck) {\r\n return new BrowserAuthError(BrowserAuthErrorMessage.redirectInIframeError.code, BrowserAuthErrorMessage.redirectInIframeError.desc + \" (window.parent !== window) => \" + windowParentCheck);\r\n };\r\n /**\r\n * Creates an error thrown when an auth reload is done inside an iframe.\r\n */\r\n BrowserAuthError.createBlockReloadInHiddenIframeError = function () {\r\n return new BrowserAuthError(BrowserAuthErrorMessage.blockTokenRequestsInHiddenIframeError.code, BrowserAuthErrorMessage.blockTokenRequestsInHiddenIframeError.desc);\r\n };\r\n /**\r\n * Creates an error thrown when a popup attempts to call an acquireToken API\r\n * @returns\r\n */\r\n BrowserAuthError.createBlockAcquireTokenInPopupsError = function () {\r\n return new BrowserAuthError(BrowserAuthErrorMessage.blockAcquireTokenInPopupsError.code, BrowserAuthErrorMessage.blockAcquireTokenInPopupsError.desc);\r\n };\r\n /**\r\n * Creates an error thrown when an iframe is found to be closed before the timeout is reached.\r\n */\r\n BrowserAuthError.createIframeClosedPrematurelyError = function () {\r\n return new BrowserAuthError(BrowserAuthErrorMessage.iframeClosedPrematurelyError.code, BrowserAuthErrorMessage.iframeClosedPrematurelyError.desc);\r\n };\r\n /**\r\n * Creates an error thrown when the logout API is called on any of the silent interaction clients\r\n */\r\n BrowserAuthError.createSilentLogoutUnsupportedError = function () {\r\n return new BrowserAuthError(BrowserAuthErrorMessage.silentLogoutUnsupportedError.code, BrowserAuthErrorMessage.silentLogoutUnsupportedError.desc);\r\n };\r\n /**\r\n * Creates an error thrown when the account object is not provided in the acquireTokenSilent API.\r\n */\r\n BrowserAuthError.createNoAccountError = function () {\r\n return new BrowserAuthError(BrowserAuthErrorMessage.noAccountError.code, BrowserAuthErrorMessage.noAccountError.desc);\r\n };\r\n /**\r\n * Creates an error thrown when a given prompt value is invalid for silent requests.\r\n */\r\n BrowserAuthError.createSilentPromptValueError = function (givenPrompt) {\r\n return new BrowserAuthError(BrowserAuthErrorMessage.silentPromptValueError.code, BrowserAuthErrorMessage.silentPromptValueError.desc + \" Given value: \" + givenPrompt);\r\n };\r\n /**\r\n * Creates an error thrown when the cached token request could not be retrieved from the cache\r\n */\r\n BrowserAuthError.createUnableToParseTokenRequestCacheError = function () {\r\n return new BrowserAuthError(BrowserAuthErrorMessage.unableToParseTokenRequestCacheError.code, BrowserAuthErrorMessage.unableToParseTokenRequestCacheError.desc);\r\n };\r\n /**\r\n * Creates an error thrown when the token request could not be retrieved from the cache\r\n */\r\n BrowserAuthError.createNoTokenRequestCacheError = function () {\r\n return new BrowserAuthError(BrowserAuthErrorMessage.noTokenRequestCacheError.code, BrowserAuthErrorMessage.noTokenRequestCacheError.desc);\r\n };\r\n /**\r\n * Creates an error thrown when handleCodeResponse is called before initiateAuthRequest (InteractionHandler)\r\n */\r\n BrowserAuthError.createAuthRequestNotSetError = function () {\r\n return new BrowserAuthError(BrowserAuthErrorMessage.authRequestNotSet.code, BrowserAuthErrorMessage.authRequestNotSet.desc);\r\n };\r\n /**\r\n * Creates an error thrown when the authority could not be retrieved from the cache\r\n */\r\n BrowserAuthError.createNoCachedAuthorityError = function () {\r\n return new BrowserAuthError(BrowserAuthErrorMessage.noCachedAuthorityError.code, BrowserAuthErrorMessage.noCachedAuthorityError.desc);\r\n };\r\n /**\r\n * Creates an error thrown if cache type is invalid.\r\n */\r\n BrowserAuthError.createInvalidCacheTypeError = function () {\r\n return new BrowserAuthError(BrowserAuthErrorMessage.invalidCacheType.code, \"\" + BrowserAuthErrorMessage.invalidCacheType.desc);\r\n };\r\n /**\r\n * Create an error thrown when login and token requests are made from a non-browser environment\r\n */\r\n BrowserAuthError.createNonBrowserEnvironmentError = function () {\r\n return new BrowserAuthError(BrowserAuthErrorMessage.notInBrowserEnvironment.code, BrowserAuthErrorMessage.notInBrowserEnvironment.desc);\r\n };\r\n /**\r\n * Create an error thrown when indexDB database is not open\r\n */\r\n BrowserAuthError.createDatabaseNotOpenError = function () {\r\n return new BrowserAuthError(BrowserAuthErrorMessage.databaseNotOpen.code, BrowserAuthErrorMessage.databaseNotOpen.desc);\r\n };\r\n /**\r\n * Create an error thrown when token fetch fails due to no internet\r\n */\r\n BrowserAuthError.createNoNetworkConnectivityError = function () {\r\n return new BrowserAuthError(BrowserAuthErrorMessage.noNetworkConnectivity.code, BrowserAuthErrorMessage.noNetworkConnectivity.desc);\r\n };\r\n /**\r\n * Create an error thrown when token fetch fails due to reasons other than internet connectivity\r\n */\r\n BrowserAuthError.createPostRequestFailedError = function (errorDesc, endpoint) {\r\n return new BrowserAuthError(BrowserAuthErrorMessage.postRequestFailed.code, BrowserAuthErrorMessage.postRequestFailed.desc + \" | Network client threw: \" + errorDesc + \" | Attempted to reach: \" + endpoint.split(\"?\")[0]);\r\n };\r\n /**\r\n * Create an error thrown when get request fails due to reasons other than internet connectivity\r\n */\r\n BrowserAuthError.createGetRequestFailedError = function (errorDesc, endpoint) {\r\n return new BrowserAuthError(BrowserAuthErrorMessage.getRequestFailed.code, BrowserAuthErrorMessage.getRequestFailed.desc + \" | Network client threw: \" + errorDesc + \" | Attempted to reach: \" + endpoint.split(\"?\")[0]);\r\n };\r\n /**\r\n * Create an error thrown when network client fails to parse network response\r\n */\r\n BrowserAuthError.createFailedToParseNetworkResponseError = function (endpoint) {\r\n return new BrowserAuthError(BrowserAuthErrorMessage.failedToParseNetworkResponse.code, BrowserAuthErrorMessage.failedToParseNetworkResponse.desc + \" | Attempted to reach: \" + endpoint.split(\"?\")[0]);\r\n };\r\n /**\r\n * Create an error thrown when the necessary information is not available to sideload tokens\r\n */\r\n BrowserAuthError.createUnableToLoadTokenError = function (errorDetail) {\r\n return new BrowserAuthError(BrowserAuthErrorMessage.unableToLoadTokenError.code, BrowserAuthErrorMessage.unableToLoadTokenError.desc + \" | \" + errorDetail);\r\n };\r\n /**\r\n * Create an error thrown when the queried cryptographic key is not found in IndexedDB\r\n */\r\n BrowserAuthError.createSigningKeyNotFoundInStorageError = function (keyId) {\r\n return new BrowserAuthError(BrowserAuthErrorMessage.signingKeyNotFoundInStorage.code, BrowserAuthErrorMessage.signingKeyNotFoundInStorage.desc + \" | No match found for KeyId: \" + keyId);\r\n };\r\n /**\r\n * Create an error when an authorization code is required but not provided\r\n */\r\n BrowserAuthError.createAuthCodeRequiredError = function () {\r\n return new BrowserAuthError(BrowserAuthErrorMessage.authCodeRequired.code, BrowserAuthErrorMessage.authCodeRequired.desc);\r\n };\r\n /**\r\n * Create an error when an authorization code or native account ID is required but not provided\r\n */\r\n BrowserAuthError.createAuthCodeOrNativeAccountIdRequiredError = function () {\r\n return new BrowserAuthError(BrowserAuthErrorMessage.authCodeOrNativeAccountRequired.code, BrowserAuthErrorMessage.authCodeOrNativeAccountRequired.desc);\r\n };\r\n /**\r\n * Create an error when IndexedDB is unavailable\r\n */\r\n BrowserAuthError.createDatabaseUnavailableError = function () {\r\n return new BrowserAuthError(BrowserAuthErrorMessage.databaseUnavailable.code, BrowserAuthErrorMessage.databaseUnavailable.desc);\r\n };\r\n /**\r\n * Create an error when native token acquisition is not possible\r\n */\r\n BrowserAuthError.createUnableToAcquireTokenFromNativePlatformError = function () {\r\n return new BrowserAuthError(BrowserAuthErrorMessage.unableToAcquireTokenFromNativePlatform.code, BrowserAuthErrorMessage.unableToAcquireTokenFromNativePlatform.desc);\r\n };\r\n /**\r\n * Create an error thrown when Handshake with browser extension times out\r\n */\r\n BrowserAuthError.createNativeHandshakeTimeoutError = function () {\r\n return new BrowserAuthError(BrowserAuthErrorMessage.nativeHandshakeTimeout.code, BrowserAuthErrorMessage.nativeHandshakeTimeout.desc);\r\n };\r\n /**\r\n * Create an error thrown when browser extension is not installed\r\n */\r\n BrowserAuthError.createNativeExtensionNotInstalledError = function () {\r\n return new BrowserAuthError(BrowserAuthErrorMessage.nativeExtensionNotInstalled.code, BrowserAuthErrorMessage.nativeExtensionNotInstalled.desc);\r\n };\r\n /**\r\n * Create an error when native connection has not been established\r\n * @returns\r\n */\r\n BrowserAuthError.createNativeConnectionNotEstablishedError = function () {\r\n return new BrowserAuthError(BrowserAuthErrorMessage.nativeConnectionNotEstablished.code, BrowserAuthErrorMessage.nativeConnectionNotEstablished.desc);\r\n };\r\n /**\r\n * Create an error thrown when the initialize function hasn't been called\r\n */\r\n BrowserAuthError.createNativeBrokerCalledBeforeInitialize = function () {\r\n return new BrowserAuthError(BrowserAuthErrorMessage.nativeBrokerCalledBeforeInitialize.code, BrowserAuthErrorMessage.nativeBrokerCalledBeforeInitialize.desc);\r\n };\r\n /**\r\n * Create an error thrown when requesting a token directly from the native platform with an unsupported prompt parameter e.g. select_account, login or create\r\n * These requests must go through eSTS to ensure eSTS is aware of the new account\r\n */\r\n BrowserAuthError.createNativePromptParameterNotSupportedError = function () {\r\n return new BrowserAuthError(BrowserAuthErrorMessage.nativePromptNotSupported.code, BrowserAuthErrorMessage.nativePromptNotSupported.desc);\r\n };\r\n return BrowserAuthError;\r\n}(AuthError));\n\nexport { BrowserAuthError, BrowserAuthErrorMessage };\n","/*! @azure/msal-browser v2.32.1 2022-12-07 */\n'use strict';\nimport { __extends } from '../_virtual/_tslib.js';\nimport { AuthError } from '@azure/msal-common';\n\n/*\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * Licensed under the MIT License.\r\n */\r\n/**\r\n * BrowserAuthErrorMessage class containing string constants used by error codes and messages.\r\n */\r\nvar BrowserConfigurationAuthErrorMessage = {\r\n redirectUriNotSet: {\r\n code: \"redirect_uri_empty\",\r\n desc: \"A redirect URI is required for all calls, and none has been set.\"\r\n },\r\n postLogoutUriNotSet: {\r\n code: \"post_logout_uri_empty\",\r\n desc: \"A post logout redirect has not been set.\"\r\n },\r\n storageNotSupportedError: {\r\n code: \"storage_not_supported\",\r\n desc: \"Given storage configuration option was not supported.\"\r\n },\r\n noRedirectCallbacksSet: {\r\n code: \"no_redirect_callbacks\",\r\n desc: \"No redirect callbacks have been set. Please call setRedirectCallbacks() with the appropriate function arguments before continuing. \" +\r\n \"More information is available here: https://github.com/AzureAD/microsoft-authentication-library-for-js/wiki/MSAL-basics.\"\r\n },\r\n invalidCallbackObject: {\r\n code: \"invalid_callback_object\",\r\n desc: \"The object passed for the callback was invalid. \" +\r\n \"More information is available here: https://github.com/AzureAD/microsoft-authentication-library-for-js/wiki/MSAL-basics.\"\r\n },\r\n stubPcaInstanceCalled: {\r\n code: \"stubbed_public_client_application_called\",\r\n desc: \"Stub instance of Public Client Application was called. If using msal-react, please ensure context is not used without a provider. For more visit: aka.ms/msaljs/browser-errors\"\r\n },\r\n inMemRedirectUnavailable: {\r\n code: \"in_mem_redirect_unavailable\",\r\n desc: \"Redirect cannot be supported. In-memory storage was selected and storeAuthStateInCookie=false, which would cause the library to be unable to handle the incoming hash. If you would like to use the redirect API, please use session/localStorage or set storeAuthStateInCookie=true.\"\r\n },\r\n entropyNotProvided: {\r\n code: \"entropy_not_provided\",\r\n desc: \"The available browser crypto interface requires entropy set via system.cryptoOptions.entropy configuration option.\"\r\n }\r\n};\r\n/**\r\n * Browser library error class thrown by the MSAL.js library for SPAs\r\n */\r\nvar BrowserConfigurationAuthError = /** @class */ (function (_super) {\r\n __extends(BrowserConfigurationAuthError, _super);\r\n function BrowserConfigurationAuthError(errorCode, errorMessage) {\r\n var _this = _super.call(this, errorCode, errorMessage) || this;\r\n _this.name = \"BrowserConfigurationAuthError\";\r\n Object.setPrototypeOf(_this, BrowserConfigurationAuthError.prototype);\r\n return _this;\r\n }\r\n /**\r\n * Creates an error thrown when the redirect uri is empty (not set by caller)\r\n */\r\n BrowserConfigurationAuthError.createRedirectUriEmptyError = function () {\r\n return new BrowserConfigurationAuthError(BrowserConfigurationAuthErrorMessage.redirectUriNotSet.code, BrowserConfigurationAuthErrorMessage.redirectUriNotSet.desc);\r\n };\r\n /**\r\n * Creates an error thrown when the post-logout redirect uri is empty (not set by caller)\r\n */\r\n BrowserConfigurationAuthError.createPostLogoutRedirectUriEmptyError = function () {\r\n return new BrowserConfigurationAuthError(BrowserConfigurationAuthErrorMessage.postLogoutUriNotSet.code, BrowserConfigurationAuthErrorMessage.postLogoutUriNotSet.desc);\r\n };\r\n /**\r\n * Creates error thrown when given storage location is not supported.\r\n * @param givenStorageLocation\r\n */\r\n BrowserConfigurationAuthError.createStorageNotSupportedError = function (givenStorageLocation) {\r\n return new BrowserConfigurationAuthError(BrowserConfigurationAuthErrorMessage.storageNotSupportedError.code, BrowserConfigurationAuthErrorMessage.storageNotSupportedError.desc + \" Given Location: \" + givenStorageLocation);\r\n };\r\n /**\r\n * Creates error thrown when redirect callbacks are not set before calling loginRedirect() or acquireTokenRedirect().\r\n */\r\n BrowserConfigurationAuthError.createRedirectCallbacksNotSetError = function () {\r\n return new BrowserConfigurationAuthError(BrowserConfigurationAuthErrorMessage.noRedirectCallbacksSet.code, BrowserConfigurationAuthErrorMessage.noRedirectCallbacksSet.desc);\r\n };\r\n /**\r\n * Creates error thrown when the stub instance of PublicClientApplication is called.\r\n */\r\n BrowserConfigurationAuthError.createStubPcaInstanceCalledError = function () {\r\n return new BrowserConfigurationAuthError(BrowserConfigurationAuthErrorMessage.stubPcaInstanceCalled.code, BrowserConfigurationAuthErrorMessage.stubPcaInstanceCalled.desc);\r\n };\r\n /*\r\n * Create an error thrown when in-memory storage is used and storeAuthStateInCookie=false.\r\n */\r\n BrowserConfigurationAuthError.createInMemoryRedirectUnavailableError = function () {\r\n return new BrowserConfigurationAuthError(BrowserConfigurationAuthErrorMessage.inMemRedirectUnavailable.code, BrowserConfigurationAuthErrorMessage.inMemRedirectUnavailable.desc);\r\n };\r\n /**\r\n * Creates an error thrown when a crypto interface that requires entropy is initialized without entropy\r\n */\r\n BrowserConfigurationAuthError.createEntropyNotProvided = function () {\r\n return new BrowserConfigurationAuthError(BrowserConfigurationAuthErrorMessage.entropyNotProvided.code, BrowserConfigurationAuthErrorMessage.entropyNotProvided.desc);\r\n };\r\n return BrowserConfigurationAuthError;\r\n}(AuthError));\n\nexport { BrowserConfigurationAuthError, BrowserConfigurationAuthErrorMessage };\n","/*! @azure/msal-browser v2.32.1 2022-12-07 */\n'use strict';\nimport { __extends } from '../_virtual/_tslib.js';\nimport { InteractionRequiredAuthError, AuthError } from '@azure/msal-common';\nimport { BrowserAuthError } from './BrowserAuthError.js';\n\n/*\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * Licensed under the MIT License.\r\n */\r\nvar NativeStatusCode;\r\n(function (NativeStatusCode) {\r\n NativeStatusCode[\"USER_INTERACTION_REQUIRED\"] = \"USER_INTERACTION_REQUIRED\";\r\n NativeStatusCode[\"USER_CANCEL\"] = \"USER_CANCEL\";\r\n NativeStatusCode[\"NO_NETWORK\"] = \"NO_NETWORK\";\r\n NativeStatusCode[\"TRANSIENT_ERROR\"] = \"TRANSIENT_ERROR\";\r\n NativeStatusCode[\"PERSISTENT_ERROR\"] = \"PERSISTENT_ERROR\";\r\n NativeStatusCode[\"DISABLED\"] = \"DISABLED\";\r\n NativeStatusCode[\"ACCOUNT_UNAVAILABLE\"] = \"ACCOUNT_UNAVAILABLE\";\r\n})(NativeStatusCode || (NativeStatusCode = {}));\r\nvar NativeAuthErrorMessage = {\r\n extensionError: {\r\n code: \"ContentError\"\r\n },\r\n userSwitch: {\r\n code: \"user_switch\",\r\n desc: \"User attempted to switch accounts in the native broker, which is not allowed. All new accounts must sign-in through the standard web flow first, please try again.\"\r\n },\r\n tokensNotFoundInCache: {\r\n code: \"tokens_not_found_in_internal_memory_cache\",\r\n desc: \"Tokens not cached in MSAL JS internal memory, please make the WAM request\"\r\n }\r\n};\r\nvar NativeAuthError = /** @class */ (function (_super) {\r\n __extends(NativeAuthError, _super);\r\n function NativeAuthError(errorCode, description, ext) {\r\n var _this = _super.call(this, errorCode, description) || this;\r\n Object.setPrototypeOf(_this, NativeAuthError.prototype);\r\n _this.name = \"NativeAuthError\";\r\n _this.ext = ext;\r\n return _this;\r\n }\r\n /**\r\n * These errors should result in a fallback to the 'standard' browser based auth flow.\r\n */\r\n NativeAuthError.prototype.isFatal = function () {\r\n if (this.ext && this.ext.status && (this.ext.status === NativeStatusCode.PERSISTENT_ERROR || this.ext.status === NativeStatusCode.DISABLED)) {\r\n return true;\r\n }\r\n switch (this.errorCode) {\r\n case NativeAuthErrorMessage.extensionError.code:\r\n return true;\r\n default:\r\n return false;\r\n }\r\n };\r\n /**\r\n * Create the appropriate error object based on the WAM status code.\r\n * @param code\r\n * @param description\r\n * @param ext\r\n * @returns\r\n */\r\n NativeAuthError.createError = function (code, description, ext) {\r\n if (ext && ext.status) {\r\n switch (ext.status) {\r\n case NativeStatusCode.ACCOUNT_UNAVAILABLE:\r\n return InteractionRequiredAuthError.createNativeAccountUnavailableError();\r\n case NativeStatusCode.USER_INTERACTION_REQUIRED:\r\n return new InteractionRequiredAuthError(code, description);\r\n case NativeStatusCode.USER_CANCEL:\r\n return BrowserAuthError.createUserCancelledError();\r\n case NativeStatusCode.NO_NETWORK:\r\n return BrowserAuthError.createNoNetworkConnectivityError();\r\n }\r\n }\r\n return new NativeAuthError(code, description, ext);\r\n };\r\n /**\r\n * Creates user switch error when the user chooses a different account in the native broker prompt\r\n * @returns\r\n */\r\n NativeAuthError.createUserSwitchError = function () {\r\n return new NativeAuthError(NativeAuthErrorMessage.userSwitch.code, NativeAuthErrorMessage.userSwitch.desc);\r\n };\r\n /**\r\n * Creates a tokens not found error when the internal cache look up fails\r\n * @returns NativeAuthError: tokensNotFoundInCache\r\n */\r\n NativeAuthError.createTokensNotFoundInCacheError = function () {\r\n return new NativeAuthError(NativeAuthErrorMessage.tokensNotFoundInCache.code, NativeAuthErrorMessage.tokensNotFoundInCache.desc);\r\n };\r\n return NativeAuthError;\r\n}(AuthError));\n\nexport { NativeAuthError, NativeAuthErrorMessage, NativeStatusCode };\n","/*! @azure/msal-browser v2.32.1 2022-12-07 */\n'use strict';\nimport { AccountEntity, CacheManager } from '@azure/msal-common';\nimport { EventType } from './EventType.js';\n\n/*\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * Licensed under the MIT License.\r\n */\r\nvar EventHandler = /** @class */ (function () {\r\n function EventHandler(logger, browserCrypto) {\r\n this.eventCallbacks = new Map();\r\n this.logger = logger;\r\n this.browserCrypto = browserCrypto;\r\n this.listeningToStorageEvents = false;\r\n this.handleAccountCacheChange = this.handleAccountCacheChange.bind(this);\r\n }\r\n /**\r\n * Adds event callbacks to array\r\n * @param callback\r\n */\r\n EventHandler.prototype.addEventCallback = function (callback) {\r\n if (typeof window !== \"undefined\") {\r\n var callbackId = this.browserCrypto.createNewGuid();\r\n this.eventCallbacks.set(callbackId, callback);\r\n this.logger.verbose(\"Event callback registered with id: \" + callbackId);\r\n return callbackId;\r\n }\r\n return null;\r\n };\r\n /**\r\n * Removes callback with provided id from callback array\r\n * @param callbackId\r\n */\r\n EventHandler.prototype.removeEventCallback = function (callbackId) {\r\n this.eventCallbacks.delete(callbackId);\r\n this.logger.verbose(\"Event callback \" + callbackId + \" removed.\");\r\n };\r\n /**\r\n * Adds event listener that emits an event when a user account is added or removed from localstorage in a different browser tab or window\r\n */\r\n EventHandler.prototype.enableAccountStorageEvents = function () {\r\n if (typeof window === \"undefined\") {\r\n return;\r\n }\r\n if (!this.listeningToStorageEvents) {\r\n this.logger.verbose(\"Adding account storage listener.\");\r\n this.listeningToStorageEvents = true;\r\n window.addEventListener(\"storage\", this.handleAccountCacheChange);\r\n }\r\n else {\r\n this.logger.verbose(\"Account storage listener already registered.\");\r\n }\r\n };\r\n /**\r\n * Removes event listener that emits an event when a user account is added or removed from localstorage in a different browser tab or window\r\n */\r\n EventHandler.prototype.disableAccountStorageEvents = function () {\r\n if (typeof window === \"undefined\") {\r\n return;\r\n }\r\n if (this.listeningToStorageEvents) {\r\n this.logger.verbose(\"Removing account storage listener.\");\r\n window.removeEventListener(\"storage\", this.handleAccountCacheChange);\r\n this.listeningToStorageEvents = false;\r\n }\r\n else {\r\n this.logger.verbose(\"No account storage listener registered.\");\r\n }\r\n };\r\n /**\r\n * Emits events by calling callback with event message\r\n * @param eventType\r\n * @param interactionType\r\n * @param payload\r\n * @param error\r\n */\r\n EventHandler.prototype.emitEvent = function (eventType, interactionType, payload, error) {\r\n var _this = this;\r\n if (typeof window !== \"undefined\") {\r\n var message_1 = {\r\n eventType: eventType,\r\n interactionType: interactionType || null,\r\n payload: payload || null,\r\n error: error || null,\r\n timestamp: Date.now()\r\n };\r\n this.logger.info(\"Emitting event: \" + eventType);\r\n this.eventCallbacks.forEach(function (callback, callbackId) {\r\n _this.logger.verbose(\"Emitting event to callback \" + callbackId + \": \" + eventType);\r\n callback.apply(null, [message_1]);\r\n });\r\n }\r\n };\r\n /**\r\n * Emit account added/removed events when cached accounts are changed in a different tab or frame\r\n */\r\n EventHandler.prototype.handleAccountCacheChange = function (e) {\r\n try {\r\n var cacheValue = e.newValue || e.oldValue;\r\n if (!cacheValue) {\r\n return;\r\n }\r\n var parsedValue = JSON.parse(cacheValue);\r\n if (typeof parsedValue !== \"object\" || !AccountEntity.isAccountEntity(parsedValue)) {\r\n return;\r\n }\r\n var accountEntity = CacheManager.toObject(new AccountEntity(), parsedValue);\r\n var accountInfo = accountEntity.getAccountInfo();\r\n if (!e.oldValue && e.newValue) {\r\n this.logger.info(\"Account was added to cache in a different window\");\r\n this.emitEvent(EventType.ACCOUNT_ADDED, undefined, accountInfo);\r\n }\r\n else if (!e.newValue && e.oldValue) {\r\n this.logger.info(\"Account was removed from cache in a different window\");\r\n this.emitEvent(EventType.ACCOUNT_REMOVED, undefined, accountInfo);\r\n }\r\n }\r\n catch (e) {\r\n return;\r\n }\r\n };\r\n return EventHandler;\r\n}());\n\nexport { EventHandler };\n","/*! @azure/msal-browser v2.32.1 2022-12-07 */\n'use strict';\nimport { EventType } from './EventType.js';\nimport { InteractionType, InteractionStatus } from '../utils/BrowserConstants.js';\n\n/*\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * Licensed under the MIT License.\r\n */\r\nvar EventMessageUtils = /** @class */ (function () {\r\n function EventMessageUtils() {\r\n }\r\n /**\r\n * Gets interaction status from event message\r\n * @param message\r\n * @param currentStatus\r\n */\r\n EventMessageUtils.getInteractionStatusFromEvent = function (message, currentStatus) {\r\n switch (message.eventType) {\r\n case EventType.LOGIN_START:\r\n return InteractionStatus.Login;\r\n case EventType.SSO_SILENT_START:\r\n return InteractionStatus.SsoSilent;\r\n case EventType.ACQUIRE_TOKEN_START:\r\n if (message.interactionType === InteractionType.Redirect || message.interactionType === InteractionType.Popup) {\r\n return InteractionStatus.AcquireToken;\r\n }\r\n break;\r\n case EventType.HANDLE_REDIRECT_START:\r\n return InteractionStatus.HandleRedirect;\r\n case EventType.LOGOUT_START:\r\n return InteractionStatus.Logout;\r\n case EventType.SSO_SILENT_SUCCESS:\r\n case EventType.SSO_SILENT_FAILURE:\r\n if (currentStatus && currentStatus !== InteractionStatus.SsoSilent) {\r\n // Prevent this event from clearing any status other than ssoSilent\r\n break;\r\n }\r\n return InteractionStatus.None;\r\n case EventType.LOGOUT_END:\r\n if (currentStatus && currentStatus !== InteractionStatus.Logout) {\r\n // Prevent this event from clearing any status other than logout\r\n break;\r\n }\r\n return InteractionStatus.None;\r\n case EventType.HANDLE_REDIRECT_END:\r\n if (currentStatus && currentStatus !== InteractionStatus.HandleRedirect) {\r\n // Prevent this event from clearing any status other than handleRedirect\r\n break;\r\n }\r\n return InteractionStatus.None;\r\n case EventType.LOGIN_SUCCESS:\r\n case EventType.LOGIN_FAILURE:\r\n case EventType.ACQUIRE_TOKEN_SUCCESS:\r\n case EventType.ACQUIRE_TOKEN_FAILURE:\r\n if (message.interactionType === InteractionType.Redirect || message.interactionType === InteractionType.Popup) {\r\n if (currentStatus && currentStatus !== InteractionStatus.Login && currentStatus !== InteractionStatus.AcquireToken) {\r\n // Prevent this event from clearing any status other than login or acquireToken\r\n break;\r\n }\r\n return InteractionStatus.None;\r\n }\r\n break;\r\n }\r\n return null;\r\n };\r\n return EventMessageUtils;\r\n}());\n\nexport { EventMessageUtils };\n","/*! @azure/msal-browser v2.32.1 2022-12-07 */\n'use strict';\n/*\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * Licensed under the MIT License.\r\n */\r\nvar EventType;\r\n(function (EventType) {\r\n EventType[\"INITIALIZE_START\"] = \"msal:initializeStart\";\r\n EventType[\"INITIALIZE_END\"] = \"msal:initializeEnd\";\r\n EventType[\"ACCOUNT_ADDED\"] = \"msal:accountAdded\";\r\n EventType[\"ACCOUNT_REMOVED\"] = \"msal:accountRemoved\";\r\n EventType[\"LOGIN_START\"] = \"msal:loginStart\";\r\n EventType[\"LOGIN_SUCCESS\"] = \"msal:loginSuccess\";\r\n EventType[\"LOGIN_FAILURE\"] = \"msal:loginFailure\";\r\n EventType[\"ACQUIRE_TOKEN_START\"] = \"msal:acquireTokenStart\";\r\n EventType[\"ACQUIRE_TOKEN_SUCCESS\"] = \"msal:acquireTokenSuccess\";\r\n EventType[\"ACQUIRE_TOKEN_FAILURE\"] = \"msal:acquireTokenFailure\";\r\n EventType[\"ACQUIRE_TOKEN_NETWORK_START\"] = \"msal:acquireTokenFromNetworkStart\";\r\n EventType[\"SSO_SILENT_START\"] = \"msal:ssoSilentStart\";\r\n EventType[\"SSO_SILENT_SUCCESS\"] = \"msal:ssoSilentSuccess\";\r\n EventType[\"SSO_SILENT_FAILURE\"] = \"msal:ssoSilentFailure\";\r\n EventType[\"ACQUIRE_TOKEN_BY_CODE_START\"] = \"msal:acquireTokenByCodeStart\";\r\n EventType[\"ACQUIRE_TOKEN_BY_CODE_SUCCESS\"] = \"msal:acquireTokenByCodeSuccess\";\r\n EventType[\"ACQUIRE_TOKEN_BY_CODE_FAILURE\"] = \"msal:acquireTokenByCodeFailure\";\r\n EventType[\"HANDLE_REDIRECT_START\"] = \"msal:handleRedirectStart\";\r\n EventType[\"HANDLE_REDIRECT_END\"] = \"msal:handleRedirectEnd\";\r\n EventType[\"POPUP_OPENED\"] = \"msal:popupOpened\";\r\n EventType[\"LOGOUT_START\"] = \"msal:logoutStart\";\r\n EventType[\"LOGOUT_SUCCESS\"] = \"msal:logoutSuccess\";\r\n EventType[\"LOGOUT_FAILURE\"] = \"msal:logoutFailure\";\r\n EventType[\"LOGOUT_END\"] = \"msal:logoutEnd\";\r\n})(EventType || (EventType = {}));\n\nexport { EventType };\n","/*! @azure/msal-browser v2.32.1 2022-12-07 */\n'use strict';\nimport { __awaiter, __generator, __spread, __assign } from '../_virtual/_tslib.js';\nimport { AccountEntity, AuthenticationScheme, ClientConfigurationError, StringUtils, UrlString, ServerTelemetryManager, AuthorityFactory } from '@azure/msal-common';\nimport { version } from '../packageMetadata.js';\nimport { BrowserConstants } from '../utils/BrowserConstants.js';\nimport { BrowserUtils } from '../utils/BrowserUtils.js';\n\n/*\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * Licensed under the MIT License.\r\n */\r\nvar BaseInteractionClient = /** @class */ (function () {\r\n function BaseInteractionClient(config, storageImpl, browserCrypto, logger, eventHandler, navigationClient, performanceClient, nativeMessageHandler, correlationId) {\r\n this.config = config;\r\n this.browserStorage = storageImpl;\r\n this.browserCrypto = browserCrypto;\r\n this.networkClient = this.config.system.networkClient;\r\n this.eventHandler = eventHandler;\r\n this.navigationClient = navigationClient;\r\n this.nativeMessageHandler = nativeMessageHandler;\r\n this.correlationId = correlationId || this.browserCrypto.createNewGuid();\r\n this.logger = logger.clone(BrowserConstants.MSAL_SKU, version, this.correlationId);\r\n this.performanceClient = performanceClient;\r\n }\r\n BaseInteractionClient.prototype.clearCacheOnLogout = function (account) {\r\n return __awaiter(this, void 0, void 0, function () {\r\n return __generator(this, function (_a) {\r\n switch (_a.label) {\r\n case 0:\r\n if (!account) return [3 /*break*/, 5];\r\n if (AccountEntity.accountInfoIsEqual(account, this.browserStorage.getActiveAccount(), false)) {\r\n this.logger.verbose(\"Setting active account to null\");\r\n this.browserStorage.setActiveAccount(null);\r\n }\r\n _a.label = 1;\r\n case 1:\r\n _a.trys.push([1, 3, , 4]);\r\n return [4 /*yield*/, this.browserStorage.removeAccount(AccountEntity.generateAccountCacheKey(account))];\r\n case 2:\r\n _a.sent();\r\n this.logger.verbose(\"Cleared cache items belonging to the account provided in the logout request.\");\r\n return [3 /*break*/, 4];\r\n case 3:\r\n _a.sent();\r\n this.logger.error(\"Account provided in logout request was not found. Local cache unchanged.\");\r\n return [3 /*break*/, 4];\r\n case 4: return [3 /*break*/, 9];\r\n case 5:\r\n _a.trys.push([5, 8, , 9]);\r\n this.logger.verbose(\"No account provided in logout request, clearing all cache items.\", this.correlationId);\r\n // Clear all accounts and tokens\r\n return [4 /*yield*/, this.browserStorage.clear()];\r\n case 6:\r\n // Clear all accounts and tokens\r\n _a.sent();\r\n // Clear any stray keys from IndexedDB\r\n return [4 /*yield*/, this.browserCrypto.clearKeystore()];\r\n case 7:\r\n // Clear any stray keys from IndexedDB\r\n _a.sent();\r\n return [3 /*break*/, 9];\r\n case 8:\r\n _a.sent();\r\n this.logger.error(\"Attempted to clear all MSAL cache items and failed. Local cache unchanged.\");\r\n return [3 /*break*/, 9];\r\n case 9: return [2 /*return*/];\r\n }\r\n });\r\n });\r\n };\r\n /**\r\n * Initializer function for all request APIs\r\n * @param request\r\n */\r\n BaseInteractionClient.prototype.initializeBaseRequest = function (request) {\r\n return __awaiter(this, void 0, void 0, function () {\r\n var authority, scopes, validatedRequest, _a;\r\n return __generator(this, function (_b) {\r\n switch (_b.label) {\r\n case 0:\r\n this.logger.verbose(\"Initializing BaseAuthRequest\");\r\n authority = request.authority || this.config.auth.authority;\r\n scopes = __spread(((request && request.scopes) || []));\r\n validatedRequest = __assign(__assign({}, request), { correlationId: this.correlationId, authority: authority,\r\n scopes: scopes });\r\n // Set authenticationScheme to BEARER if not explicitly set in the request\r\n if (!validatedRequest.authenticationScheme) {\r\n validatedRequest.authenticationScheme = AuthenticationScheme.BEARER;\r\n this.logger.verbose(\"Authentication Scheme wasn't explicitly set in request, defaulting to \\\"Bearer\\\" request\");\r\n }\r\n else {\r\n if (validatedRequest.authenticationScheme === AuthenticationScheme.SSH) {\r\n if (!request.sshJwk) {\r\n throw ClientConfigurationError.createMissingSshJwkError();\r\n }\r\n if (!request.sshKid) {\r\n throw ClientConfigurationError.createMissingSshKidError();\r\n }\r\n }\r\n this.logger.verbose(\"Authentication Scheme set to \\\"\" + validatedRequest.authenticationScheme + \"\\\" as configured in Auth request\");\r\n }\r\n if (!(request.claims && !StringUtils.isEmpty(request.claims))) return [3 /*break*/, 2];\r\n _a = validatedRequest;\r\n return [4 /*yield*/, this.browserCrypto.hashString(request.claims)];\r\n case 1:\r\n _a.requestedClaimsHash = _b.sent();\r\n _b.label = 2;\r\n case 2: return [2 /*return*/, validatedRequest];\r\n }\r\n });\r\n });\r\n };\r\n /**\r\n *\r\n * Use to get the redirect uri configured in MSAL or null.\r\n * @param requestRedirectUri\r\n * @returns Redirect URL\r\n *\r\n */\r\n BaseInteractionClient.prototype.getRedirectUri = function (requestRedirectUri) {\r\n this.logger.verbose(\"getRedirectUri called\");\r\n var redirectUri = requestRedirectUri || this.config.auth.redirectUri || BrowserUtils.getCurrentUri();\r\n return UrlString.getAbsoluteUrl(redirectUri, BrowserUtils.getCurrentUri());\r\n };\r\n /**\r\n *\r\n * @param apiId\r\n * @param correlationId\r\n * @param forceRefresh\r\n */\r\n BaseInteractionClient.prototype.initializeServerTelemetryManager = function (apiId, forceRefresh) {\r\n this.logger.verbose(\"initializeServerTelemetryManager called\");\r\n var telemetryPayload = {\r\n clientId: this.config.auth.clientId,\r\n correlationId: this.correlationId,\r\n apiId: apiId,\r\n forceRefresh: forceRefresh || false,\r\n wrapperSKU: this.browserStorage.getWrapperMetadata()[0],\r\n wrapperVer: this.browserStorage.getWrapperMetadata()[1]\r\n };\r\n return new ServerTelemetryManager(telemetryPayload, this.browserStorage);\r\n };\r\n /**\r\n * Used to get a discovered version of the default authority.\r\n * @param requestAuthority\r\n * @param requestCorrelationId\r\n */\r\n BaseInteractionClient.prototype.getDiscoveredAuthority = function (requestAuthority) {\r\n return __awaiter(this, void 0, void 0, function () {\r\n var authorityOptions;\r\n return __generator(this, function (_a) {\r\n switch (_a.label) {\r\n case 0:\r\n this.logger.verbose(\"getDiscoveredAuthority called\");\r\n authorityOptions = {\r\n protocolMode: this.config.auth.protocolMode,\r\n knownAuthorities: this.config.auth.knownAuthorities,\r\n cloudDiscoveryMetadata: this.config.auth.cloudDiscoveryMetadata,\r\n authorityMetadata: this.config.auth.authorityMetadata\r\n };\r\n if (!requestAuthority) return [3 /*break*/, 2];\r\n this.logger.verbose(\"Creating discovered authority with request authority\");\r\n return [4 /*yield*/, AuthorityFactory.createDiscoveredInstance(requestAuthority, this.config.system.networkClient, this.browserStorage, authorityOptions, this.logger)];\r\n case 1: return [2 /*return*/, _a.sent()];\r\n case 2:\r\n this.logger.verbose(\"Creating discovered authority with configured authority\");\r\n return [4 /*yield*/, AuthorityFactory.createDiscoveredInstance(this.config.auth.authority, this.config.system.networkClient, this.browserStorage, authorityOptions, this.logger)];\r\n case 3: return [2 /*return*/, _a.sent()];\r\n }\r\n });\r\n });\r\n };\r\n return BaseInteractionClient;\r\n}());\n\nexport { BaseInteractionClient };\n","/*! @azure/msal-browser v2.32.1 2022-12-07 */\n'use strict';\nimport { __extends } from '../_virtual/_tslib.js';\nimport { AuthorizationCodeClient } from '@azure/msal-common';\n\n/*\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * Licensed under the MIT License.\r\n */\r\nvar HybridSpaAuthorizationCodeClient = /** @class */ (function (_super) {\r\n __extends(HybridSpaAuthorizationCodeClient, _super);\r\n function HybridSpaAuthorizationCodeClient(config) {\r\n var _this = _super.call(this, config) || this;\r\n _this.includeRedirectUri = false;\r\n return _this;\r\n }\r\n return HybridSpaAuthorizationCodeClient;\r\n}(AuthorizationCodeClient));\n\nexport { HybridSpaAuthorizationCodeClient };\n","/*! @azure/msal-browser v2.32.1 2022-12-07 */\n'use strict';\nimport { __extends, __awaiter, __generator, __rest, __assign } from '../_virtual/_tslib.js';\nimport { PerformanceEvents, TimeUtils, ScopeSet, ClientAuthError, IdTokenEntity, Constants, AccessTokenEntity, AuthenticationScheme, PopTokenGenerator, AccountEntity, AuthorityType, AuthToken, UrlString, OIDC_DEFAULT_SCOPES, PromptValue } from '@azure/msal-common';\nimport { BaseInteractionClient } from './BaseInteractionClient.js';\nimport { TemporaryCacheKeys, NativeExtensionMethod, NativeConstants, ApiId } from '../utils/BrowserConstants.js';\nimport { NativeAuthError } from '../error/NativeAuthError.js';\nimport { BrowserAuthError } from '../error/BrowserAuthError.js';\nimport { SilentCacheClient } from './SilentCacheClient.js';\n\n/*\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * Licensed under the MIT License.\r\n */\r\nvar NativeInteractionClient = /** @class */ (function (_super) {\r\n __extends(NativeInteractionClient, _super);\r\n function NativeInteractionClient(config, browserStorage, browserCrypto, logger, eventHandler, navigationClient, apiId, performanceClient, provider, accountId, nativeStorageImpl, correlationId) {\r\n var _this = _super.call(this, config, browserStorage, browserCrypto, logger, eventHandler, navigationClient, performanceClient, provider, correlationId) || this;\r\n _this.apiId = apiId;\r\n _this.accountId = accountId;\r\n _this.nativeMessageHandler = provider;\r\n _this.nativeStorageManager = nativeStorageImpl;\r\n _this.silentCacheClient = new SilentCacheClient(config, _this.nativeStorageManager, browserCrypto, logger, eventHandler, navigationClient, performanceClient, provider, correlationId);\r\n return _this;\r\n }\r\n /**\r\n * Acquire token from native platform via browser extension\r\n * @param request\r\n */\r\n NativeInteractionClient.prototype.acquireToken = function (request) {\r\n return __awaiter(this, void 0, void 0, function () {\r\n var nativeATMeasurement, reqTimestamp, nativeRequest, result, messageBody, response, validatedResponse;\r\n return __generator(this, function (_a) {\r\n switch (_a.label) {\r\n case 0:\r\n this.logger.trace(\"NativeInteractionClient - acquireToken called.\");\r\n nativeATMeasurement = this.performanceClient.startMeasurement(PerformanceEvents.NativeInteractionClientAcquireToken, request.correlationId);\r\n reqTimestamp = TimeUtils.nowSeconds();\r\n return [4 /*yield*/, this.initializeNativeRequest(request)];\r\n case 1:\r\n nativeRequest = _a.sent();\r\n _a.label = 2;\r\n case 2:\r\n _a.trys.push([2, 4, , 5]);\r\n return [4 /*yield*/, this.acquireTokensFromCache(this.accountId, nativeRequest)];\r\n case 3:\r\n result = _a.sent();\r\n nativeATMeasurement.endMeasurement({\r\n success: true,\r\n isNativeBroker: false,\r\n fromCache: true\r\n });\r\n return [2 /*return*/, result];\r\n case 4:\r\n _a.sent();\r\n // continue with a native call for any and all errors\r\n this.logger.info(\"MSAL internal Cache does not contain tokens, proceed to make a native call\");\r\n return [3 /*break*/, 5];\r\n case 5:\r\n messageBody = {\r\n method: NativeExtensionMethod.GetToken,\r\n request: nativeRequest\r\n };\r\n return [4 /*yield*/, this.nativeMessageHandler.sendMessage(messageBody)];\r\n case 6:\r\n response = _a.sent();\r\n validatedResponse = this.validateNativeResponse(response);\r\n return [2 /*return*/, this.handleNativeResponse(validatedResponse, nativeRequest, reqTimestamp)\r\n .then(function (result) {\r\n nativeATMeasurement.endMeasurement({\r\n success: true,\r\n isNativeBroker: true,\r\n requestId: result.requestId\r\n });\r\n return result;\r\n })\r\n .catch(function (error) {\r\n nativeATMeasurement.endMeasurement({\r\n success: false,\r\n errorCode: error.errorCode,\r\n subErrorCode: error.subError,\r\n isNativeBroker: true\r\n });\r\n throw error;\r\n })];\r\n }\r\n });\r\n });\r\n };\r\n /**\r\n * Creates silent flow request\r\n * @param request\r\n * @param cachedAccount\r\n * @returns CommonSilentFlowRequest\r\n */\r\n NativeInteractionClient.prototype.createSilentCacheRequest = function (request, cachedAccount) {\r\n return {\r\n authority: request.authority,\r\n correlationId: this.correlationId,\r\n scopes: ScopeSet.fromString(request.scope).asArray(),\r\n account: cachedAccount,\r\n forceRefresh: false,\r\n };\r\n };\r\n /**\r\n * Fetches the tokens from the cache if un-expired\r\n * @param nativeAccountId\r\n * @param request\r\n * @returns authenticationResult\r\n */\r\n NativeInteractionClient.prototype.acquireTokensFromCache = function (nativeAccountId, request) {\r\n return __awaiter(this, void 0, void 0, function () {\r\n var accountEntity, account, silentRequest, result, e_2;\r\n return __generator(this, function (_a) {\r\n switch (_a.label) {\r\n case 0:\r\n accountEntity = this.browserStorage.readAccountFromCacheWithNativeAccountId(nativeAccountId);\r\n if (!accountEntity) {\r\n throw ClientAuthError.createNoAccountFoundError();\r\n }\r\n account = accountEntity.getAccountInfo();\r\n _a.label = 1;\r\n case 1:\r\n _a.trys.push([1, 3, , 4]);\r\n silentRequest = this.createSilentCacheRequest(request, account);\r\n return [4 /*yield*/, this.silentCacheClient.acquireToken(silentRequest)];\r\n case 2:\r\n result = _a.sent();\r\n return [2 /*return*/, result];\r\n case 3:\r\n e_2 = _a.sent();\r\n throw e_2;\r\n case 4: return [2 /*return*/];\r\n }\r\n });\r\n });\r\n };\r\n /**\r\n * Acquires a token from native platform then redirects to the redirectUri instead of returning the response\r\n * @param request\r\n */\r\n NativeInteractionClient.prototype.acquireTokenRedirect = function (request) {\r\n return __awaiter(this, void 0, void 0, function () {\r\n var nativeRequest, messageBody, response, e_3, navigationOptions, redirectUri;\r\n return __generator(this, function (_a) {\r\n switch (_a.label) {\r\n case 0:\r\n this.logger.trace(\"NativeInteractionClient - acquireTokenRedirect called.\");\r\n return [4 /*yield*/, this.initializeNativeRequest(request)];\r\n case 1:\r\n nativeRequest = _a.sent();\r\n messageBody = {\r\n method: NativeExtensionMethod.GetToken,\r\n request: nativeRequest\r\n };\r\n _a.label = 2;\r\n case 2:\r\n _a.trys.push([2, 4, , 5]);\r\n return [4 /*yield*/, this.nativeMessageHandler.sendMessage(messageBody)];\r\n case 3:\r\n response = _a.sent();\r\n this.validateNativeResponse(response);\r\n return [3 /*break*/, 5];\r\n case 4:\r\n e_3 = _a.sent();\r\n // Only throw fatal errors here to allow application to fallback to regular redirect. Otherwise proceed and the error will be thrown in handleRedirectPromise\r\n if (e_3 instanceof NativeAuthError && e_3.isFatal()) {\r\n throw e_3;\r\n }\r\n return [3 /*break*/, 5];\r\n case 5:\r\n this.browserStorage.setTemporaryCache(TemporaryCacheKeys.NATIVE_REQUEST, JSON.stringify(nativeRequest), true);\r\n navigationOptions = {\r\n apiId: ApiId.acquireTokenRedirect,\r\n timeout: this.config.system.redirectNavigationTimeout,\r\n noHistory: false\r\n };\r\n redirectUri = this.config.auth.navigateToLoginRequestUrl ? window.location.href : this.getRedirectUri(request.redirectUri);\r\n return [4 /*yield*/, this.navigationClient.navigateExternal(redirectUri, navigationOptions)];\r\n case 6:\r\n _a.sent(); // Need to treat this as external to ensure handleRedirectPromise is run again\r\n return [2 /*return*/];\r\n }\r\n });\r\n });\r\n };\r\n /**\r\n * If the previous page called native platform for a token using redirect APIs, send the same request again and return the response\r\n */\r\n NativeInteractionClient.prototype.handleRedirectPromise = function () {\r\n return __awaiter(this, void 0, void 0, function () {\r\n var cachedRequest, prompt, request, messageBody, reqTimestamp, response, result, e_4;\r\n return __generator(this, function (_a) {\r\n switch (_a.label) {\r\n case 0:\r\n this.logger.trace(\"NativeInteractionClient - handleRedirectPromise called.\");\r\n if (!this.browserStorage.isInteractionInProgress(true)) {\r\n this.logger.info(\"handleRedirectPromise called but there is no interaction in progress, returning null.\");\r\n return [2 /*return*/, null];\r\n }\r\n cachedRequest = this.browserStorage.getCachedNativeRequest();\r\n if (!cachedRequest) {\r\n this.logger.verbose(\"NativeInteractionClient - handleRedirectPromise called but there is no cached request, returning null.\");\r\n return [2 /*return*/, null];\r\n }\r\n prompt = cachedRequest.prompt, request = __rest(cachedRequest, [\"prompt\"]);\r\n if (prompt) {\r\n this.logger.verbose(\"NativeInteractionClient - handleRedirectPromise called and prompt was included in the original request, removing prompt from cached request to prevent second interaction with native broker window.\");\r\n }\r\n this.browserStorage.removeItem(this.browserStorage.generateCacheKey(TemporaryCacheKeys.NATIVE_REQUEST));\r\n messageBody = {\r\n method: NativeExtensionMethod.GetToken,\r\n request: request\r\n };\r\n reqTimestamp = TimeUtils.nowSeconds();\r\n _a.label = 1;\r\n case 1:\r\n _a.trys.push([1, 3, , 4]);\r\n this.logger.verbose(\"NativeInteractionClient - handleRedirectPromise sending message to native broker.\");\r\n return [4 /*yield*/, this.nativeMessageHandler.sendMessage(messageBody)];\r\n case 2:\r\n response = _a.sent();\r\n this.validateNativeResponse(response);\r\n result = this.handleNativeResponse(response, request, reqTimestamp);\r\n this.browserStorage.setInteractionInProgress(false);\r\n return [2 /*return*/, result];\r\n case 3:\r\n e_4 = _a.sent();\r\n this.browserStorage.setInteractionInProgress(false);\r\n throw e_4;\r\n case 4: return [2 /*return*/];\r\n }\r\n });\r\n });\r\n };\r\n /**\r\n * Logout from native platform via browser extension\r\n * @param request\r\n */\r\n NativeInteractionClient.prototype.logout = function () {\r\n this.logger.trace(\"NativeInteractionClient - logout called.\");\r\n return Promise.reject(\"Logout not implemented yet\");\r\n };\r\n /**\r\n * Transform response from native platform into AuthenticationResult object which will be returned to the end user\r\n * @param response\r\n * @param request\r\n * @param reqTimestamp\r\n */\r\n NativeInteractionClient.prototype.handleNativeResponse = function (response, request, reqTimestamp) {\r\n return __awaiter(this, void 0, void 0, function () {\r\n var mats, idTokenObj, authority, authorityPreferredCache, homeAccountIdentifier, accountEntity, responseScopes, accountProperties, uid, tid, responseAccessToken, responseTokenType, _a, popTokenGenerator, shrParameters, result, idTokenEntity, expiresIn, tokenExpirationSeconds, accessTokenEntity;\r\n var _this = this;\r\n return __generator(this, function (_b) {\r\n switch (_b.label) {\r\n case 0:\r\n this.logger.trace(\"NativeInteractionClient - handleNativeResponse called.\");\r\n mats = this.getMATSFromResponse(response);\r\n this.performanceClient.addStaticFields({\r\n extensionId: this.nativeMessageHandler.getExtensionId(),\r\n extensionVersion: this.nativeMessageHandler.getExtensionVersion(),\r\n matsBrokerVersion: mats ? mats.broker_version : undefined,\r\n matsAccountJoinOnStart: mats ? mats.account_join_on_start : undefined,\r\n matsAccountJoinOnEnd: mats ? mats.account_join_on_end : undefined,\r\n matsDeviceJoin: mats ? mats.device_join : undefined,\r\n matsPromptBehavior: mats ? mats.prompt_behavior : undefined,\r\n matsApiErrorCode: mats ? mats.api_error_code : undefined,\r\n matsUiVisible: mats ? mats.ui_visible : undefined,\r\n matsSilentCode: mats ? mats.silent_code : undefined,\r\n matsSilentBiSubCode: mats ? mats.silent_bi_sub_code : undefined,\r\n matsSilentMessage: mats ? mats.silent_message : undefined,\r\n matsSilentStatus: mats ? mats.silent_status : undefined,\r\n matsHttpStatus: mats ? mats.http_status : undefined,\r\n matsHttpEventCount: mats ? mats.http_event_count : undefined\r\n }, this.correlationId);\r\n if (response.account.id !== request.accountId) {\r\n // User switch in native broker prompt is not supported. All users must first sign in through web flow to ensure server state is in sync\r\n throw NativeAuthError.createUserSwitchError();\r\n }\r\n idTokenObj = new AuthToken(response.id_token || Constants.EMPTY_STRING, this.browserCrypto);\r\n return [4 /*yield*/, this.getDiscoveredAuthority(request.authority)];\r\n case 1:\r\n authority = _b.sent();\r\n authorityPreferredCache = authority.getPreferredCache();\r\n homeAccountIdentifier = AccountEntity.generateHomeAccountId(response.client_info || Constants.EMPTY_STRING, AuthorityType.Default, this.logger, this.browserCrypto, idTokenObj);\r\n accountEntity = AccountEntity.createAccount(response.client_info, homeAccountIdentifier, idTokenObj, undefined, undefined, undefined, authorityPreferredCache, response.account.id);\r\n this.browserStorage.setAccount(accountEntity);\r\n responseScopes = response.scope ? ScopeSet.fromString(response.scope) : ScopeSet.fromString(request.scope);\r\n accountProperties = response.account.properties || {};\r\n uid = accountProperties[\"UID\"] || idTokenObj.claims.oid || idTokenObj.claims.sub || Constants.EMPTY_STRING;\r\n tid = accountProperties[\"TenantId\"] || idTokenObj.claims.tid || Constants.EMPTY_STRING;\r\n responseTokenType = AuthenticationScheme.BEARER;\r\n _a = request.tokenType;\r\n switch (_a) {\r\n case AuthenticationScheme.POP: return [3 /*break*/, 2];\r\n }\r\n return [3 /*break*/, 4];\r\n case 2:\r\n // Set the token type to POP in the response\r\n responseTokenType = AuthenticationScheme.POP;\r\n // Check if native layer returned an SHR token\r\n if (response.shr) {\r\n this.logger.trace(\"handleNativeServerResponse: SHR is enabled in native layer\");\r\n responseAccessToken = response.shr;\r\n return [3 /*break*/, 5];\r\n }\r\n popTokenGenerator = new PopTokenGenerator(this.browserCrypto);\r\n shrParameters = {\r\n resourceRequestMethod: request.resourceRequestMethod,\r\n resourceRequestUri: request.resourceRequestUri,\r\n shrClaims: request.shrClaims,\r\n shrNonce: request.shrNonce\r\n };\r\n /**\r\n * KeyID must be present in the native request from when the PoP key was generated in order for\r\n * PopTokenGenerator to query the full key for signing\r\n */\r\n if (!request.keyId) {\r\n throw ClientAuthError.createKeyIdMissingError();\r\n }\r\n return [4 /*yield*/, popTokenGenerator.signPopToken(response.access_token, request.keyId, shrParameters)];\r\n case 3:\r\n responseAccessToken = _b.sent();\r\n return [3 /*break*/, 5];\r\n case 4:\r\n {\r\n responseAccessToken = response.access_token;\r\n }\r\n _b.label = 5;\r\n case 5:\r\n result = {\r\n authority: authority.canonicalAuthority,\r\n uniqueId: uid,\r\n tenantId: tid,\r\n scopes: responseScopes.asArray(),\r\n account: accountEntity.getAccountInfo(),\r\n idToken: response.id_token,\r\n idTokenClaims: idTokenObj.claims,\r\n accessToken: responseAccessToken,\r\n fromCache: mats ? this.isResponseFromCache(mats) : false,\r\n expiresOn: new Date(Number(reqTimestamp + response.expires_in) * 1000),\r\n tokenType: responseTokenType,\r\n correlationId: this.correlationId,\r\n state: response.state,\r\n fromNativeBroker: true\r\n };\r\n idTokenEntity = IdTokenEntity.createIdTokenEntity(homeAccountIdentifier, request.authority, response.id_token || Constants.EMPTY_STRING, request.clientId, idTokenObj.claims.tid || Constants.EMPTY_STRING);\r\n this.nativeStorageManager.setIdTokenCredential(idTokenEntity);\r\n expiresIn = (responseTokenType === AuthenticationScheme.POP)\r\n ? Constants.SHR_NONCE_VALIDITY\r\n : (typeof response.expires_in === \"string\"\r\n ? parseInt(response.expires_in, 10)\r\n : response.expires_in) || 0;\r\n tokenExpirationSeconds = reqTimestamp + expiresIn;\r\n accessTokenEntity = AccessTokenEntity.createAccessTokenEntity(homeAccountIdentifier, request.authority, responseAccessToken, request.clientId, tid, responseScopes.printScopes(), tokenExpirationSeconds, 0, this.browserCrypto);\r\n this.nativeStorageManager.setAccessTokenCredential(accessTokenEntity);\r\n // Remove any existing cached tokens for this account in browser storage\r\n this.browserStorage.removeAccountContext(accountEntity).catch(function (e) {\r\n _this.logger.error(\"Error occurred while removing account context from browser storage. \" + e);\r\n });\r\n return [2 /*return*/, result];\r\n }\r\n });\r\n });\r\n };\r\n /**\r\n * Validates native platform response before processing\r\n * @param response\r\n */\r\n NativeInteractionClient.prototype.validateNativeResponse = function (response) {\r\n if (response.hasOwnProperty(\"access_token\") &&\r\n response.hasOwnProperty(\"id_token\") &&\r\n response.hasOwnProperty(\"client_info\") &&\r\n response.hasOwnProperty(\"account\") &&\r\n response.hasOwnProperty(\"scope\") &&\r\n response.hasOwnProperty(\"expires_in\")) {\r\n return response;\r\n }\r\n else {\r\n throw NativeAuthError.createUnexpectedError(\"Response missing expected properties.\");\r\n }\r\n };\r\n /**\r\n * Gets MATS telemetry from native response\r\n * @param response\r\n * @returns\r\n */\r\n NativeInteractionClient.prototype.getMATSFromResponse = function (response) {\r\n if (response.properties.MATS) {\r\n try {\r\n return JSON.parse(response.properties.MATS);\r\n }\r\n catch (e) {\r\n this.logger.error(\"NativeInteractionClient - Error parsing MATS telemetry, returning null instead\");\r\n }\r\n }\r\n return null;\r\n };\r\n /**\r\n * Returns whether or not response came from native cache\r\n * @param response\r\n * @returns\r\n */\r\n NativeInteractionClient.prototype.isResponseFromCache = function (mats) {\r\n if (typeof mats.is_cached === \"undefined\") {\r\n this.logger.verbose(\"NativeInteractionClient - MATS telemetry does not contain field indicating if response was served from cache. Returning false.\");\r\n return false;\r\n }\r\n return !!mats.is_cached;\r\n };\r\n /**\r\n * Translates developer provided request object into NativeRequest object\r\n * @param request\r\n */\r\n NativeInteractionClient.prototype.initializeNativeRequest = function (request) {\r\n return __awaiter(this, void 0, void 0, function () {\r\n var authority, canonicalAuthority, scopes, remainingProperties, scopeSet, getPrompt, validatedRequest, shrParameters, popTokenGenerator, reqCnfData;\r\n var _this = this;\r\n return __generator(this, function (_a) {\r\n switch (_a.label) {\r\n case 0:\r\n this.logger.trace(\"NativeInteractionClient - initializeNativeRequest called\");\r\n authority = request.authority || this.config.auth.authority;\r\n canonicalAuthority = new UrlString(authority);\r\n canonicalAuthority.validateAsUri();\r\n scopes = request.scopes, remainingProperties = __rest(request, [\"scopes\"]);\r\n scopeSet = new ScopeSet(scopes || []);\r\n scopeSet.appendScopes(OIDC_DEFAULT_SCOPES);\r\n getPrompt = function () {\r\n // If request is silent, prompt is always none\r\n switch (_this.apiId) {\r\n case ApiId.ssoSilent:\r\n case ApiId.acquireTokenSilent_silentFlow:\r\n _this.logger.trace(\"initializeNativeRequest: silent request sets prompt to none\");\r\n return PromptValue.NONE;\r\n }\r\n // Prompt not provided, request may proceed and native broker decides if it needs to prompt\r\n if (!request.prompt) {\r\n _this.logger.trace(\"initializeNativeRequest: prompt was not provided\");\r\n return undefined;\r\n }\r\n // If request is interactive, check if prompt provided is allowed to go directly to native broker\r\n switch (request.prompt) {\r\n case PromptValue.NONE:\r\n case PromptValue.CONSENT:\r\n case PromptValue.LOGIN:\r\n _this.logger.trace(\"initializeNativeRequest: prompt is compatible with native flow\");\r\n return request.prompt;\r\n default:\r\n _this.logger.trace(\"initializeNativeRequest: prompt = \" + request.prompt + \" is not compatible with native flow\");\r\n throw BrowserAuthError.createNativePromptParameterNotSupportedError();\r\n }\r\n };\r\n validatedRequest = __assign(__assign({}, remainingProperties), { accountId: this.accountId, clientId: this.config.auth.clientId, authority: canonicalAuthority.urlString, scope: scopeSet.printScopes(), redirectUri: this.getRedirectUri(request.redirectUri), prompt: getPrompt(), correlationId: this.correlationId, tokenType: request.authenticationScheme, windowTitleSubstring: document.title, extraParameters: __assign(__assign(__assign({}, request.extraQueryParameters), request.tokenQueryParameters), { telemetry: NativeConstants.MATS_TELEMETRY }), extendedExpiryToken: false // Make this configurable?\r\n });\r\n if (!(request.authenticationScheme === AuthenticationScheme.POP)) return [3 /*break*/, 2];\r\n shrParameters = {\r\n resourceRequestUri: request.resourceRequestUri,\r\n resourceRequestMethod: request.resourceRequestMethod,\r\n shrClaims: request.shrClaims,\r\n shrNonce: request.shrNonce\r\n };\r\n popTokenGenerator = new PopTokenGenerator(this.browserCrypto);\r\n return [4 /*yield*/, popTokenGenerator.generateCnf(shrParameters)];\r\n case 1:\r\n reqCnfData = _a.sent();\r\n // to reduce the URL length, it is recommended to send the hash of the req_cnf instead of the whole string\r\n validatedRequest.reqCnf = reqCnfData.reqCnfHash;\r\n validatedRequest.keyId = reqCnfData.kid;\r\n _a.label = 2;\r\n case 2: return [2 /*return*/, validatedRequest];\r\n }\r\n });\r\n });\r\n };\r\n return NativeInteractionClient;\r\n}(BaseInteractionClient));\n\nexport { NativeInteractionClient };\n","/*! @azure/msal-browser v2.32.1 2022-12-07 */\n'use strict';\nimport { __extends, __awaiter, __generator, __assign } from '../_virtual/_tslib.js';\nimport { OIDC_DEFAULT_SCOPES, StringUtils, UrlString, Constants, AuthError, ThrottlingUtils, ProtocolUtils, PerformanceEvents } from '@azure/msal-common';\nimport { StandardInteractionClient } from './StandardInteractionClient.js';\nimport { EventType } from '../event/EventType.js';\nimport { BrowserConstants, InteractionType, ApiId } from '../utils/BrowserConstants.js';\nimport { BrowserUtils } from '../utils/BrowserUtils.js';\nimport { NativeInteractionClient } from './NativeInteractionClient.js';\nimport { NativeMessageHandler } from '../broker/nativeBroker/NativeMessageHandler.js';\nimport { BrowserAuthError } from '../error/BrowserAuthError.js';\nimport { InteractionHandler } from '../interaction_handler/InteractionHandler.js';\n\n/*\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * Licensed under the MIT License.\r\n */\r\nvar PopupClient = /** @class */ (function (_super) {\r\n __extends(PopupClient, _super);\r\n function PopupClient(config, storageImpl, browserCrypto, logger, eventHandler, navigationClient, performanceClient, nativeStorageImpl, nativeMessageHandler, correlationId) {\r\n var _this = _super.call(this, config, storageImpl, browserCrypto, logger, eventHandler, navigationClient, performanceClient, nativeMessageHandler, correlationId) || this;\r\n // Properly sets this reference for the unload event.\r\n _this.unloadWindow = _this.unloadWindow.bind(_this);\r\n _this.nativeStorage = nativeStorageImpl;\r\n return _this;\r\n }\r\n /**\r\n * Acquires tokens by opening a popup window to the /authorize endpoint of the authority\r\n * @param request\r\n */\r\n PopupClient.prototype.acquireToken = function (request) {\r\n try {\r\n var popupName = this.generatePopupName(request.scopes || OIDC_DEFAULT_SCOPES, request.authority || this.config.auth.authority);\r\n var popupWindowAttributes = request.popupWindowAttributes || {};\r\n // asyncPopups flag is true. Acquires token without first opening popup. Popup will be opened later asynchronously.\r\n if (this.config.system.asyncPopups) {\r\n this.logger.verbose(\"asyncPopups set to true, acquiring token\");\r\n // Passes on popup position and dimensions if in request\r\n return this.acquireTokenPopupAsync(request, popupName, popupWindowAttributes);\r\n }\r\n else {\r\n // asyncPopups flag is set to false. Opens popup before acquiring token.\r\n this.logger.verbose(\"asyncPopup set to false, opening popup before acquiring token\");\r\n var popup = this.openSizedPopup(\"about:blank\", popupName, popupWindowAttributes);\r\n return this.acquireTokenPopupAsync(request, popupName, popupWindowAttributes, popup);\r\n }\r\n }\r\n catch (e) {\r\n return Promise.reject(e);\r\n }\r\n };\r\n /**\r\n * Clears local cache for the current user then opens a popup window prompting the user to sign-out of the server\r\n * @param logoutRequest\r\n */\r\n PopupClient.prototype.logout = function (logoutRequest) {\r\n try {\r\n this.logger.verbose(\"logoutPopup called\");\r\n var validLogoutRequest = this.initializeLogoutRequest(logoutRequest);\r\n var popupName = this.generateLogoutPopupName(validLogoutRequest);\r\n var authority = logoutRequest && logoutRequest.authority;\r\n var mainWindowRedirectUri = logoutRequest && logoutRequest.mainWindowRedirectUri;\r\n var popupWindowAttributes = (logoutRequest === null || logoutRequest === void 0 ? void 0 : logoutRequest.popupWindowAttributes) || {};\r\n // asyncPopups flag is true. Acquires token without first opening popup. Popup will be opened later asynchronously.\r\n if (this.config.system.asyncPopups) {\r\n this.logger.verbose(\"asyncPopups set to true\");\r\n // Passes on popup position and dimensions if in request\r\n return this.logoutPopupAsync(validLogoutRequest, popupName, popupWindowAttributes, authority, undefined, mainWindowRedirectUri);\r\n }\r\n else {\r\n // asyncPopups flag is set to false. Opens popup before logging out.\r\n this.logger.verbose(\"asyncPopup set to false, opening popup\");\r\n var popup = this.openSizedPopup(\"about:blank\", popupName, popupWindowAttributes);\r\n return this.logoutPopupAsync(validLogoutRequest, popupName, popupWindowAttributes, authority, popup, mainWindowRedirectUri);\r\n }\r\n }\r\n catch (e) {\r\n // Since this function is synchronous we need to reject\r\n return Promise.reject(e);\r\n }\r\n };\r\n /**\r\n * Helper which obtains an access_token for your API via opening a popup window in the user's browser\r\n * @param validRequest\r\n * @param popupName\r\n * @param popup\r\n * @param popupWindowAttributes\r\n *\r\n * @returns A promise that is fulfilled when this function has completed, or rejected if an error was raised.\r\n */\r\n PopupClient.prototype.acquireTokenPopupAsync = function (request, popupName, popupWindowAttributes, popup) {\r\n return __awaiter(this, void 0, void 0, function () {\r\n var serverTelemetryManager, validRequest, authCodeRequest, authClient, isNativeBroker, fetchNativeAccountIdMeasurement, navigateUrl, interactionHandler, popupParameters, popupWindow, hash, serverParams, state_1, nativeInteractionClient, userRequestState, result, e_1;\r\n var _this = this;\r\n return __generator(this, function (_a) {\r\n switch (_a.label) {\r\n case 0:\r\n this.logger.verbose(\"acquireTokenPopupAsync called\");\r\n serverTelemetryManager = this.initializeServerTelemetryManager(ApiId.acquireTokenPopup);\r\n return [4 /*yield*/, this.initializeAuthorizationRequest(request, InteractionType.Popup)];\r\n case 1:\r\n validRequest = _a.sent();\r\n this.browserStorage.updateCacheEntries(validRequest.state, validRequest.nonce, validRequest.authority, validRequest.loginHint || Constants.EMPTY_STRING, validRequest.account || null);\r\n _a.label = 2;\r\n case 2:\r\n _a.trys.push([2, 8, , 9]);\r\n return [4 /*yield*/, this.initializeAuthorizationCodeRequest(validRequest)];\r\n case 3:\r\n authCodeRequest = _a.sent();\r\n return [4 /*yield*/, this.createAuthCodeClient(serverTelemetryManager, validRequest.authority, validRequest.azureCloudOptions)];\r\n case 4:\r\n authClient = _a.sent();\r\n this.logger.verbose(\"Auth code client created\");\r\n isNativeBroker = NativeMessageHandler.isNativeAvailable(this.config, this.logger, this.nativeMessageHandler, request.authenticationScheme);\r\n fetchNativeAccountIdMeasurement = void 0;\r\n if (isNativeBroker) {\r\n fetchNativeAccountIdMeasurement = this.performanceClient.startMeasurement(PerformanceEvents.FetchAccountIdWithNativeBroker, request.correlationId);\r\n }\r\n return [4 /*yield*/, authClient.getAuthCodeUrl(__assign(__assign({}, validRequest), { nativeBroker: isNativeBroker }))];\r\n case 5:\r\n navigateUrl = _a.sent();\r\n interactionHandler = new InteractionHandler(authClient, this.browserStorage, authCodeRequest, this.logger);\r\n popupParameters = {\r\n popup: popup,\r\n popupName: popupName,\r\n popupWindowAttributes: popupWindowAttributes\r\n };\r\n popupWindow = this.initiateAuthRequest(navigateUrl, popupParameters);\r\n this.eventHandler.emitEvent(EventType.POPUP_OPENED, InteractionType.Popup, { popupWindow: popupWindow }, null);\r\n return [4 /*yield*/, this.monitorPopupForHash(popupWindow)];\r\n case 6:\r\n hash = _a.sent();\r\n serverParams = UrlString.getDeserializedHash(hash);\r\n state_1 = this.validateAndExtractStateFromHash(serverParams, InteractionType.Popup, validRequest.correlationId);\r\n // Remove throttle if it exists\r\n ThrottlingUtils.removeThrottle(this.browserStorage, this.config.auth.clientId, authCodeRequest);\r\n if (serverParams.accountId) {\r\n this.logger.verbose(\"Account id found in hash, calling WAM for token\");\r\n // end measurement for server call with native brokering enabled\r\n if (fetchNativeAccountIdMeasurement) {\r\n fetchNativeAccountIdMeasurement.endMeasurement({\r\n success: true,\r\n isNativeBroker: true\r\n });\r\n }\r\n if (!this.nativeMessageHandler) {\r\n throw BrowserAuthError.createNativeConnectionNotEstablishedError();\r\n }\r\n nativeInteractionClient = new NativeInteractionClient(this.config, this.browserStorage, this.browserCrypto, this.logger, this.eventHandler, this.navigationClient, ApiId.acquireTokenPopup, this.performanceClient, this.nativeMessageHandler, serverParams.accountId, this.nativeStorage, validRequest.correlationId);\r\n userRequestState = ProtocolUtils.parseRequestState(this.browserCrypto, state_1).userRequestState;\r\n return [2 /*return*/, nativeInteractionClient.acquireToken(__assign(__assign({}, validRequest), { state: userRequestState, prompt: undefined // Server should handle the prompt, ideally native broker can do this part silently\r\n })).finally(function () {\r\n _this.browserStorage.cleanRequestByState(state_1);\r\n })];\r\n }\r\n return [4 /*yield*/, interactionHandler.handleCodeResponseFromHash(hash, state_1, authClient.authority, this.networkClient)];\r\n case 7:\r\n result = _a.sent();\r\n return [2 /*return*/, result];\r\n case 8:\r\n e_1 = _a.sent();\r\n if (popup) {\r\n // Close the synchronous popup if an error is thrown before the window unload event is registered\r\n popup.close();\r\n }\r\n if (e_1 instanceof AuthError) {\r\n e_1.setCorrelationId(this.correlationId);\r\n }\r\n serverTelemetryManager.cacheFailedRequest(e_1);\r\n this.browserStorage.cleanRequestByState(validRequest.state);\r\n throw e_1;\r\n case 9: return [2 /*return*/];\r\n }\r\n });\r\n });\r\n };\r\n /**\r\n *\r\n * @param validRequest\r\n * @param popupName\r\n * @param requestAuthority\r\n * @param popup\r\n * @param mainWindowRedirectUri\r\n * @param popupWindowAttributes\r\n */\r\n PopupClient.prototype.logoutPopupAsync = function (validRequest, popupName, popupWindowAttributes, requestAuthority, popup, mainWindowRedirectUri) {\r\n return __awaiter(this, void 0, void 0, function () {\r\n var serverTelemetryManager, authClient, logoutUri, popupWindow, navigationOptions, absoluteUrl, e_2;\r\n return __generator(this, function (_a) {\r\n switch (_a.label) {\r\n case 0:\r\n this.logger.verbose(\"logoutPopupAsync called\");\r\n this.eventHandler.emitEvent(EventType.LOGOUT_START, InteractionType.Popup, validRequest);\r\n serverTelemetryManager = this.initializeServerTelemetryManager(ApiId.logoutPopup);\r\n _a.label = 1;\r\n case 1:\r\n _a.trys.push([1, 5, , 6]);\r\n // Clear cache on logout\r\n return [4 /*yield*/, this.clearCacheOnLogout(validRequest.account)];\r\n case 2:\r\n // Clear cache on logout\r\n _a.sent();\r\n return [4 /*yield*/, this.createAuthCodeClient(serverTelemetryManager, requestAuthority)];\r\n case 3:\r\n authClient = _a.sent();\r\n this.logger.verbose(\"Auth code client created\");\r\n logoutUri = authClient.getLogoutUri(validRequest);\r\n this.eventHandler.emitEvent(EventType.LOGOUT_SUCCESS, InteractionType.Popup, validRequest);\r\n popupWindow = this.openPopup(logoutUri, { popupName: popupName, popupWindowAttributes: popupWindowAttributes, popup: popup });\r\n this.eventHandler.emitEvent(EventType.POPUP_OPENED, InteractionType.Popup, { popupWindow: popupWindow }, null);\r\n return [4 /*yield*/, this.waitForLogoutPopup(popupWindow)];\r\n case 4:\r\n _a.sent();\r\n if (mainWindowRedirectUri) {\r\n navigationOptions = {\r\n apiId: ApiId.logoutPopup,\r\n timeout: this.config.system.redirectNavigationTimeout,\r\n noHistory: false\r\n };\r\n absoluteUrl = UrlString.getAbsoluteUrl(mainWindowRedirectUri, BrowserUtils.getCurrentUri());\r\n this.logger.verbose(\"Redirecting main window to url specified in the request\");\r\n this.logger.verbosePii(\"Redirecting main window to: \" + absoluteUrl);\r\n this.navigationClient.navigateInternal(absoluteUrl, navigationOptions);\r\n }\r\n else {\r\n this.logger.verbose(\"No main window navigation requested\");\r\n }\r\n return [3 /*break*/, 6];\r\n case 5:\r\n e_2 = _a.sent();\r\n if (popup) {\r\n // Close the synchronous popup if an error is thrown before the window unload event is registered\r\n popup.close();\r\n }\r\n if (e_2 instanceof AuthError) {\r\n e_2.setCorrelationId(this.correlationId);\r\n }\r\n this.browserStorage.setInteractionInProgress(false);\r\n this.eventHandler.emitEvent(EventType.LOGOUT_FAILURE, InteractionType.Popup, null, e_2);\r\n this.eventHandler.emitEvent(EventType.LOGOUT_END, InteractionType.Popup);\r\n serverTelemetryManager.cacheFailedRequest(e_2);\r\n throw e_2;\r\n case 6:\r\n this.eventHandler.emitEvent(EventType.LOGOUT_END, InteractionType.Popup);\r\n return [2 /*return*/];\r\n }\r\n });\r\n });\r\n };\r\n /**\r\n * Opens a popup window with given request Url.\r\n * @param requestUrl\r\n */\r\n PopupClient.prototype.initiateAuthRequest = function (requestUrl, params) {\r\n // Check that request url is not empty.\r\n if (!StringUtils.isEmpty(requestUrl)) {\r\n this.logger.infoPii(\"Navigate to: \" + requestUrl);\r\n // Open the popup window to requestUrl.\r\n return this.openPopup(requestUrl, params);\r\n }\r\n else {\r\n // Throw error if request URL is empty.\r\n this.logger.error(\"Navigate url is empty\");\r\n throw BrowserAuthError.createEmptyNavigationUriError();\r\n }\r\n };\r\n /**\r\n * Monitors a window until it loads a url with the same origin.\r\n * @param popupWindow - window that is being monitored\r\n * @param timeout - timeout for processing hash once popup is redirected back to application\r\n */\r\n PopupClient.prototype.monitorPopupForHash = function (popupWindow) {\r\n var _this = this;\r\n return new Promise(function (resolve, reject) {\r\n /*\r\n * Polling for popups needs to be tick-based,\r\n * since a non-trivial amount of time can be spent on interaction (which should not count against the timeout).\r\n */\r\n var maxTicks = _this.config.system.windowHashTimeout / _this.config.system.pollIntervalMilliseconds;\r\n var ticks = 0;\r\n _this.logger.verbose(\"PopupHandler.monitorPopupForHash - polling started\");\r\n var intervalId = setInterval(function () {\r\n // Window is closed\r\n if (popupWindow.closed) {\r\n _this.logger.error(\"PopupHandler.monitorPopupForHash - window closed\");\r\n _this.cleanPopup();\r\n clearInterval(intervalId);\r\n reject(BrowserAuthError.createUserCancelledError());\r\n return;\r\n }\r\n var href = Constants.EMPTY_STRING;\r\n var hash = Constants.EMPTY_STRING;\r\n try {\r\n /*\r\n * Will throw if cross origin,\r\n * which should be caught and ignored\r\n * since we need the interval to keep running while on STS UI.\r\n */\r\n href = popupWindow.location.href;\r\n hash = popupWindow.location.hash;\r\n }\r\n catch (e) { }\r\n // Don't process blank pages or cross domain\r\n if (StringUtils.isEmpty(href) || href === \"about:blank\") {\r\n return;\r\n }\r\n _this.logger.verbose(\"PopupHandler.monitorPopupForHash - popup window is on same origin as caller\");\r\n /*\r\n * Only run clock when we are on same domain for popups\r\n * as popup operations can take a long time.\r\n */\r\n ticks++;\r\n if (hash) {\r\n _this.logger.verbose(\"PopupHandler.monitorPopupForHash - found hash in url\");\r\n clearInterval(intervalId);\r\n _this.cleanPopup(popupWindow);\r\n if (UrlString.hashContainsKnownProperties(hash)) {\r\n _this.logger.verbose(\"PopupHandler.monitorPopupForHash - hash contains known properties, returning.\");\r\n resolve(hash);\r\n }\r\n else {\r\n _this.logger.error(\"PopupHandler.monitorPopupForHash - found hash in url but it does not contain known properties. Check that your router is not changing the hash prematurely.\");\r\n _this.logger.errorPii(\"PopupHandler.monitorPopupForHash - hash found: \" + hash);\r\n reject(BrowserAuthError.createHashDoesNotContainKnownPropertiesError());\r\n }\r\n }\r\n else if (ticks > maxTicks) {\r\n _this.logger.error(\"PopupHandler.monitorPopupForHash - unable to find hash in url, timing out\");\r\n clearInterval(intervalId);\r\n reject(BrowserAuthError.createMonitorPopupTimeoutError());\r\n }\r\n }, _this.config.system.pollIntervalMilliseconds);\r\n });\r\n };\r\n /**\r\n * Waits for user interaction in logout popup window\r\n * @param popupWindow\r\n * @returns\r\n */\r\n PopupClient.prototype.waitForLogoutPopup = function (popupWindow) {\r\n var _this = this;\r\n return new Promise(function (resolve) {\r\n _this.logger.verbose(\"PopupHandler.waitForLogoutPopup - polling started\");\r\n var intervalId = setInterval(function () {\r\n // Window is closed\r\n if (popupWindow.closed) {\r\n _this.logger.error(\"PopupHandler.waitForLogoutPopup - window closed\");\r\n _this.cleanPopup();\r\n clearInterval(intervalId);\r\n resolve();\r\n }\r\n var href = Constants.EMPTY_STRING;\r\n try {\r\n /*\r\n * Will throw if cross origin,\r\n * which should be caught and ignored\r\n * since we need the interval to keep running while on STS UI.\r\n */\r\n href = popupWindow.location.href;\r\n }\r\n catch (e) { }\r\n // Don't process blank pages or cross domain\r\n if (StringUtils.isEmpty(href) || href === \"about:blank\") {\r\n return;\r\n }\r\n _this.logger.verbose(\"PopupHandler.waitForLogoutPopup - popup window is on same origin as caller, closing.\");\r\n clearInterval(intervalId);\r\n _this.cleanPopup(popupWindow);\r\n resolve();\r\n }, _this.config.system.pollIntervalMilliseconds);\r\n });\r\n };\r\n /**\r\n * @hidden\r\n *\r\n * Configures popup window for login.\r\n *\r\n * @param urlNavigate\r\n * @param title\r\n * @param popUpWidth\r\n * @param popUpHeight\r\n * @param popupWindowAttributes\r\n * @ignore\r\n * @hidden\r\n */\r\n PopupClient.prototype.openPopup = function (urlNavigate, popupParams) {\r\n try {\r\n var popupWindow = void 0;\r\n // Popup window passed in, setting url to navigate to\r\n if (popupParams.popup) {\r\n popupWindow = popupParams.popup;\r\n this.logger.verbosePii(\"Navigating popup window to: \" + urlNavigate);\r\n popupWindow.location.assign(urlNavigate);\r\n }\r\n else if (typeof popupParams.popup === \"undefined\") {\r\n // Popup will be undefined if it was not passed in\r\n this.logger.verbosePii(\"Opening popup window to: \" + urlNavigate);\r\n popupWindow = this.openSizedPopup(urlNavigate, popupParams.popupName, popupParams.popupWindowAttributes);\r\n }\r\n // Popup will be null if popups are blocked\r\n if (!popupWindow) {\r\n throw BrowserAuthError.createEmptyWindowCreatedError();\r\n }\r\n if (popupWindow.focus) {\r\n popupWindow.focus();\r\n }\r\n this.currentWindow = popupWindow;\r\n window.addEventListener(\"beforeunload\", this.unloadWindow);\r\n return popupWindow;\r\n }\r\n catch (e) {\r\n this.logger.error(\"error opening popup \" + e.message);\r\n this.browserStorage.setInteractionInProgress(false);\r\n throw BrowserAuthError.createPopupWindowError(e.toString());\r\n }\r\n };\r\n /**\r\n * Helper function to set popup window dimensions and position\r\n * @param urlNavigate\r\n * @param popupName\r\n * @param popupWindowAttributes\r\n * @returns\r\n */\r\n PopupClient.prototype.openSizedPopup = function (urlNavigate, popupName, popupWindowAttributes) {\r\n var _a, _b, _c, _d;\r\n /**\r\n * adding winLeft and winTop to account for dual monitor\r\n * using screenLeft and screenTop for IE8 and earlier\r\n */\r\n var winLeft = window.screenLeft ? window.screenLeft : window.screenX;\r\n var winTop = window.screenTop ? window.screenTop : window.screenY;\r\n /**\r\n * window.innerWidth displays browser window\"s height and width excluding toolbars\r\n * using document.documentElement.clientWidth for IE8 and earlier\r\n */\r\n var winWidth = window.innerWidth || document.documentElement.clientWidth || document.body.clientWidth;\r\n var winHeight = window.innerHeight || document.documentElement.clientHeight || document.body.clientHeight;\r\n var width = (_a = popupWindowAttributes.popupSize) === null || _a === void 0 ? void 0 : _a.width;\r\n var height = (_b = popupWindowAttributes.popupSize) === null || _b === void 0 ? void 0 : _b.height;\r\n var top = (_c = popupWindowAttributes.popupPosition) === null || _c === void 0 ? void 0 : _c.top;\r\n var left = (_d = popupWindowAttributes.popupPosition) === null || _d === void 0 ? void 0 : _d.left;\r\n if (!width || width < 0 || width > winWidth) {\r\n this.logger.verbose(\"Default popup window width used. Window width not configured or invalid.\");\r\n width = BrowserConstants.POPUP_WIDTH;\r\n }\r\n if (!height || height < 0 || height > winHeight) {\r\n this.logger.verbose(\"Default popup window height used. Window height not configured or invalid.\");\r\n height = BrowserConstants.POPUP_HEIGHT;\r\n }\r\n if (!top || top < 0 || top > winHeight) {\r\n this.logger.verbose(\"Default popup window top position used. Window top not configured or invalid.\");\r\n top = Math.max(0, ((winHeight / 2) - (BrowserConstants.POPUP_HEIGHT / 2)) + winTop);\r\n }\r\n if (!left || left < 0 || left > winWidth) {\r\n this.logger.verbose(\"Default popup window left position used. Window left not configured or invalid.\");\r\n left = Math.max(0, ((winWidth / 2) - (BrowserConstants.POPUP_WIDTH / 2)) + winLeft);\r\n }\r\n return window.open(urlNavigate, popupName, \"width=\" + width + \", height=\" + height + \", top=\" + top + \", left=\" + left + \", scrollbars=yes\");\r\n };\r\n /**\r\n * Event callback to unload main window.\r\n */\r\n PopupClient.prototype.unloadWindow = function (e) {\r\n this.browserStorage.cleanRequestByInteractionType(InteractionType.Popup);\r\n if (this.currentWindow) {\r\n this.currentWindow.close();\r\n }\r\n // Guarantees browser unload will happen, so no other errors will be thrown.\r\n e.preventDefault();\r\n };\r\n /**\r\n * Closes popup, removes any state vars created during popup calls.\r\n * @param popupWindow\r\n */\r\n PopupClient.prototype.cleanPopup = function (popupWindow) {\r\n if (popupWindow) {\r\n // Close window.\r\n popupWindow.close();\r\n }\r\n // Remove window unload function\r\n window.removeEventListener(\"beforeunload\", this.unloadWindow);\r\n // Interaction is completed - remove interaction status.\r\n this.browserStorage.setInteractionInProgress(false);\r\n };\r\n /**\r\n * Generates the name for the popup based on the client id and request\r\n * @param clientId\r\n * @param request\r\n */\r\n PopupClient.prototype.generatePopupName = function (scopes, authority) {\r\n return BrowserConstants.POPUP_NAME_PREFIX + \".\" + this.config.auth.clientId + \".\" + scopes.join(\"-\") + \".\" + authority + \".\" + this.correlationId;\r\n };\r\n /**\r\n * Generates the name for the popup based on the client id and request for logouts\r\n * @param clientId\r\n * @param request\r\n */\r\n PopupClient.prototype.generateLogoutPopupName = function (request) {\r\n var homeAccountId = request.account && request.account.homeAccountId;\r\n return BrowserConstants.POPUP_NAME_PREFIX + \".\" + this.config.auth.clientId + \".\" + homeAccountId + \".\" + this.correlationId;\r\n };\r\n return PopupClient;\r\n}(StandardInteractionClient));\n\nexport { PopupClient };\n","/*! @azure/msal-browser v2.32.1 2022-12-07 */\n'use strict';\nimport { __extends, __awaiter, __generator, __assign } from '../_virtual/_tslib.js';\nimport { UrlString, AuthError, Constants, ThrottlingUtils, ProtocolUtils } from '@azure/msal-common';\nimport { StandardInteractionClient } from './StandardInteractionClient.js';\nimport { TemporaryCacheKeys, ApiId, InteractionType } from '../utils/BrowserConstants.js';\nimport { RedirectHandler } from '../interaction_handler/RedirectHandler.js';\nimport { BrowserUtils } from '../utils/BrowserUtils.js';\nimport { EventType } from '../event/EventType.js';\nimport { BrowserAuthError } from '../error/BrowserAuthError.js';\nimport { NativeInteractionClient } from './NativeInteractionClient.js';\nimport { NativeMessageHandler } from '../broker/nativeBroker/NativeMessageHandler.js';\n\n/*\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * Licensed under the MIT License.\r\n */\r\nvar RedirectClient = /** @class */ (function (_super) {\r\n __extends(RedirectClient, _super);\r\n function RedirectClient(config, storageImpl, browserCrypto, logger, eventHandler, navigationClient, performanceClient, nativeStorageImpl, nativeMessageHandler, correlationId) {\r\n var _this = _super.call(this, config, storageImpl, browserCrypto, logger, eventHandler, navigationClient, performanceClient, nativeMessageHandler, correlationId) || this;\r\n _this.nativeStorage = nativeStorageImpl;\r\n return _this;\r\n }\r\n /**\r\n * Redirects the page to the /authorize endpoint of the IDP\r\n * @param request\r\n */\r\n RedirectClient.prototype.acquireToken = function (request) {\r\n return __awaiter(this, void 0, void 0, function () {\r\n var validRequest, serverTelemetryManager, handleBackButton, authCodeRequest, authClient, interactionHandler, navigateUrl, redirectStartPage, e_1;\r\n var _this = this;\r\n return __generator(this, function (_a) {\r\n switch (_a.label) {\r\n case 0: return [4 /*yield*/, this.initializeAuthorizationRequest(request, InteractionType.Redirect)];\r\n case 1:\r\n validRequest = _a.sent();\r\n this.browserStorage.updateCacheEntries(validRequest.state, validRequest.nonce, validRequest.authority, validRequest.loginHint || Constants.EMPTY_STRING, validRequest.account || null);\r\n serverTelemetryManager = this.initializeServerTelemetryManager(ApiId.acquireTokenRedirect);\r\n handleBackButton = function (event) {\r\n // Clear temporary cache if the back button is clicked during the redirect flow.\r\n if (event.persisted) {\r\n _this.logger.verbose(\"Page was restored from back/forward cache. Clearing temporary cache.\");\r\n _this.browserStorage.cleanRequestByState(validRequest.state);\r\n }\r\n };\r\n _a.label = 2;\r\n case 2:\r\n _a.trys.push([2, 7, , 8]);\r\n return [4 /*yield*/, this.initializeAuthorizationCodeRequest(validRequest)];\r\n case 3:\r\n authCodeRequest = _a.sent();\r\n return [4 /*yield*/, this.createAuthCodeClient(serverTelemetryManager, validRequest.authority, validRequest.azureCloudOptions)];\r\n case 4:\r\n authClient = _a.sent();\r\n this.logger.verbose(\"Auth code client created\");\r\n interactionHandler = new RedirectHandler(authClient, this.browserStorage, authCodeRequest, this.logger, this.browserCrypto);\r\n return [4 /*yield*/, authClient.getAuthCodeUrl(__assign(__assign({}, validRequest), { nativeBroker: NativeMessageHandler.isNativeAvailable(this.config, this.logger, this.nativeMessageHandler, request.authenticationScheme) }))];\r\n case 5:\r\n navigateUrl = _a.sent();\r\n redirectStartPage = this.getRedirectStartPage(request.redirectStartPage);\r\n this.logger.verbosePii(\"Redirect start page: \" + redirectStartPage);\r\n // Clear temporary cache if the back button is clicked during the redirect flow.\r\n window.addEventListener(\"pageshow\", handleBackButton);\r\n return [4 /*yield*/, interactionHandler.initiateAuthRequest(navigateUrl, {\r\n navigationClient: this.navigationClient,\r\n redirectTimeout: this.config.system.redirectNavigationTimeout,\r\n redirectStartPage: redirectStartPage,\r\n onRedirectNavigate: request.onRedirectNavigate\r\n })];\r\n case 6: \r\n // Show the UI once the url has been created. Response will come back in the hash, which will be handled in the handleRedirectCallback function.\r\n return [2 /*return*/, _a.sent()];\r\n case 7:\r\n e_1 = _a.sent();\r\n if (e_1 instanceof AuthError) {\r\n e_1.setCorrelationId(this.correlationId);\r\n }\r\n window.removeEventListener(\"pageshow\", handleBackButton);\r\n serverTelemetryManager.cacheFailedRequest(e_1);\r\n this.browserStorage.cleanRequestByState(validRequest.state);\r\n throw e_1;\r\n case 8: return [2 /*return*/];\r\n }\r\n });\r\n });\r\n };\r\n /**\r\n * Checks if navigateToLoginRequestUrl is set, and:\r\n * - if true, performs logic to cache and navigate\r\n * - if false, handles hash string and parses response\r\n * @param hash\r\n */\r\n RedirectClient.prototype.handleRedirectPromise = function (hash) {\r\n return __awaiter(this, void 0, void 0, function () {\r\n var serverTelemetryManager, responseHash, state, serverParams, loginRequestUrl, loginRequestUrlNormalized, currentUrlNormalized, handleHashResult, navigationOptions, processHashOnRedirect, homepage, e_2;\r\n return __generator(this, function (_a) {\r\n switch (_a.label) {\r\n case 0:\r\n serverTelemetryManager = this.initializeServerTelemetryManager(ApiId.handleRedirectPromise);\r\n _a.label = 1;\r\n case 1:\r\n _a.trys.push([1, 10, , 11]);\r\n if (!this.browserStorage.isInteractionInProgress(true)) {\r\n this.logger.info(\"handleRedirectPromise called but there is no interaction in progress, returning null.\");\r\n return [2 /*return*/, null];\r\n }\r\n responseHash = this.getRedirectResponseHash(hash || window.location.hash);\r\n if (!responseHash) {\r\n // Not a recognized server response hash or hash not associated with a redirect request\r\n this.logger.info(\"handleRedirectPromise did not detect a response hash as a result of a redirect. Cleaning temporary cache.\");\r\n this.browserStorage.cleanRequestByInteractionType(InteractionType.Redirect);\r\n return [2 /*return*/, null];\r\n }\r\n state = void 0;\r\n try {\r\n serverParams = UrlString.getDeserializedHash(responseHash);\r\n state = this.validateAndExtractStateFromHash(serverParams, InteractionType.Redirect);\r\n this.logger.verbose(\"State extracted from hash\");\r\n }\r\n catch (e) {\r\n this.logger.info(\"handleRedirectPromise was unable to extract state due to: \" + e);\r\n this.browserStorage.cleanRequestByInteractionType(InteractionType.Redirect);\r\n return [2 /*return*/, null];\r\n }\r\n loginRequestUrl = this.browserStorage.getTemporaryCache(TemporaryCacheKeys.ORIGIN_URI, true) || Constants.EMPTY_STRING;\r\n loginRequestUrlNormalized = UrlString.removeHashFromUrl(loginRequestUrl);\r\n currentUrlNormalized = UrlString.removeHashFromUrl(window.location.href);\r\n if (!(loginRequestUrlNormalized === currentUrlNormalized && this.config.auth.navigateToLoginRequestUrl)) return [3 /*break*/, 3];\r\n // We are on the page we need to navigate to - handle hash\r\n this.logger.verbose(\"Current page is loginRequestUrl, handling hash\");\r\n return [4 /*yield*/, this.handleHash(responseHash, state, serverTelemetryManager)];\r\n case 2:\r\n handleHashResult = _a.sent();\r\n if (loginRequestUrl.indexOf(\"#\") > -1) {\r\n // Replace current hash with non-msal hash, if present\r\n BrowserUtils.replaceHash(loginRequestUrl);\r\n }\r\n return [2 /*return*/, handleHashResult];\r\n case 3:\r\n if (!!this.config.auth.navigateToLoginRequestUrl) return [3 /*break*/, 4];\r\n this.logger.verbose(\"NavigateToLoginRequestUrl set to false, handling hash\");\r\n return [2 /*return*/, this.handleHash(responseHash, state, serverTelemetryManager)];\r\n case 4:\r\n if (!(!BrowserUtils.isInIframe() || this.config.system.allowRedirectInIframe)) return [3 /*break*/, 9];\r\n /*\r\n * Returned from authority using redirect - need to perform navigation before processing response\r\n * Cache the hash to be retrieved after the next redirect\r\n */\r\n this.browserStorage.setTemporaryCache(TemporaryCacheKeys.URL_HASH, responseHash, true);\r\n navigationOptions = {\r\n apiId: ApiId.handleRedirectPromise,\r\n timeout: this.config.system.redirectNavigationTimeout,\r\n noHistory: true\r\n };\r\n processHashOnRedirect = true;\r\n if (!(!loginRequestUrl || loginRequestUrl === \"null\")) return [3 /*break*/, 6];\r\n homepage = BrowserUtils.getHomepage();\r\n // Cache the homepage under ORIGIN_URI to ensure cached hash is processed on homepage\r\n this.browserStorage.setTemporaryCache(TemporaryCacheKeys.ORIGIN_URI, homepage, true);\r\n this.logger.warning(\"Unable to get valid login request url from cache, redirecting to home page\");\r\n return [4 /*yield*/, this.navigationClient.navigateInternal(homepage, navigationOptions)];\r\n case 5:\r\n processHashOnRedirect = _a.sent();\r\n return [3 /*break*/, 8];\r\n case 6:\r\n // Navigate to page that initiated the redirect request\r\n this.logger.verbose(\"Navigating to loginRequestUrl: \" + loginRequestUrl);\r\n return [4 /*yield*/, this.navigationClient.navigateInternal(loginRequestUrl, navigationOptions)];\r\n case 7:\r\n processHashOnRedirect = _a.sent();\r\n _a.label = 8;\r\n case 8:\r\n // If navigateInternal implementation returns false, handle the hash now\r\n if (!processHashOnRedirect) {\r\n return [2 /*return*/, this.handleHash(responseHash, state, serverTelemetryManager)];\r\n }\r\n _a.label = 9;\r\n case 9: return [2 /*return*/, null];\r\n case 10:\r\n e_2 = _a.sent();\r\n if (e_2 instanceof AuthError) {\r\n e_2.setCorrelationId(this.correlationId);\r\n }\r\n serverTelemetryManager.cacheFailedRequest(e_2);\r\n this.browserStorage.cleanRequestByInteractionType(InteractionType.Redirect);\r\n throw e_2;\r\n case 11: return [2 /*return*/];\r\n }\r\n });\r\n });\r\n };\r\n /**\r\n * Gets the response hash for a redirect request\r\n * Returns null if interactionType in the state value is not \"redirect\" or the hash does not contain known properties\r\n * @param hash\r\n */\r\n RedirectClient.prototype.getRedirectResponseHash = function (hash) {\r\n this.logger.verbose(\"getRedirectResponseHash called\");\r\n // Get current location hash from window or cache.\r\n var isResponseHash = UrlString.hashContainsKnownProperties(hash);\r\n if (isResponseHash) {\r\n BrowserUtils.clearHash(window);\r\n this.logger.verbose(\"Hash contains known properties, returning response hash\");\r\n return hash;\r\n }\r\n var cachedHash = this.browserStorage.getTemporaryCache(TemporaryCacheKeys.URL_HASH, true);\r\n this.browserStorage.removeItem(this.browserStorage.generateCacheKey(TemporaryCacheKeys.URL_HASH));\r\n this.logger.verbose(\"Hash does not contain known properties, returning cached hash\");\r\n return cachedHash;\r\n };\r\n /**\r\n * Checks if hash exists and handles in window.\r\n * @param hash\r\n * @param state\r\n */\r\n RedirectClient.prototype.handleHash = function (hash, state, serverTelemetryManager) {\r\n return __awaiter(this, void 0, void 0, function () {\r\n var cachedRequest, serverParams, nativeInteractionClient, userRequestState, currentAuthority, authClient, interactionHandler;\r\n var _this = this;\r\n return __generator(this, function (_a) {\r\n switch (_a.label) {\r\n case 0:\r\n cachedRequest = this.browserStorage.getCachedRequest(state, this.browserCrypto);\r\n this.logger.verbose(\"handleHash called, retrieved cached request\");\r\n serverParams = UrlString.getDeserializedHash(hash);\r\n if (serverParams.accountId) {\r\n this.logger.verbose(\"Account id found in hash, calling WAM for token\");\r\n if (!this.nativeMessageHandler) {\r\n throw BrowserAuthError.createNativeConnectionNotEstablishedError();\r\n }\r\n nativeInteractionClient = new NativeInteractionClient(this.config, this.browserStorage, this.browserCrypto, this.logger, this.eventHandler, this.navigationClient, ApiId.acquireTokenPopup, this.performanceClient, this.nativeMessageHandler, serverParams.accountId, this.browserStorage, cachedRequest.correlationId);\r\n userRequestState = ProtocolUtils.parseRequestState(this.browserCrypto, state).userRequestState;\r\n return [2 /*return*/, nativeInteractionClient.acquireToken(__assign(__assign({}, cachedRequest), { state: userRequestState, prompt: undefined // Server should handle the prompt, ideally native broker can do this part silently\r\n })).finally(function () {\r\n _this.browserStorage.cleanRequestByState(state);\r\n })];\r\n }\r\n currentAuthority = this.browserStorage.getCachedAuthority(state);\r\n if (!currentAuthority) {\r\n throw BrowserAuthError.createNoCachedAuthorityError();\r\n }\r\n return [4 /*yield*/, this.createAuthCodeClient(serverTelemetryManager, currentAuthority)];\r\n case 1:\r\n authClient = _a.sent();\r\n this.logger.verbose(\"Auth code client created\");\r\n ThrottlingUtils.removeThrottle(this.browserStorage, this.config.auth.clientId, cachedRequest);\r\n interactionHandler = new RedirectHandler(authClient, this.browserStorage, cachedRequest, this.logger, this.browserCrypto);\r\n return [4 /*yield*/, interactionHandler.handleCodeResponseFromHash(hash, state, authClient.authority, this.networkClient)];\r\n case 2: return [2 /*return*/, _a.sent()];\r\n }\r\n });\r\n });\r\n };\r\n /**\r\n * Use to log out the current user, and redirect the user to the postLogoutRedirectUri.\r\n * Default behaviour is to redirect the user to `window.location.href`.\r\n * @param logoutRequest\r\n */\r\n RedirectClient.prototype.logout = function (logoutRequest) {\r\n return __awaiter(this, void 0, void 0, function () {\r\n var validLogoutRequest, serverTelemetryManager, navigationOptions, authClient, logoutUri, navigate, e_3;\r\n return __generator(this, function (_a) {\r\n switch (_a.label) {\r\n case 0:\r\n this.logger.verbose(\"logoutRedirect called\");\r\n validLogoutRequest = this.initializeLogoutRequest(logoutRequest);\r\n serverTelemetryManager = this.initializeServerTelemetryManager(ApiId.logout);\r\n _a.label = 1;\r\n case 1:\r\n _a.trys.push([1, 10, , 11]);\r\n this.eventHandler.emitEvent(EventType.LOGOUT_START, InteractionType.Redirect, logoutRequest);\r\n // Clear cache on logout\r\n return [4 /*yield*/, this.clearCacheOnLogout(validLogoutRequest.account)];\r\n case 2:\r\n // Clear cache on logout\r\n _a.sent();\r\n navigationOptions = {\r\n apiId: ApiId.logout,\r\n timeout: this.config.system.redirectNavigationTimeout,\r\n noHistory: false\r\n };\r\n return [4 /*yield*/, this.createAuthCodeClient(serverTelemetryManager, logoutRequest && logoutRequest.authority)];\r\n case 3:\r\n authClient = _a.sent();\r\n this.logger.verbose(\"Auth code client created\");\r\n logoutUri = authClient.getLogoutUri(validLogoutRequest);\r\n this.eventHandler.emitEvent(EventType.LOGOUT_SUCCESS, InteractionType.Redirect, validLogoutRequest);\r\n if (!(logoutRequest && typeof logoutRequest.onRedirectNavigate === \"function\")) return [3 /*break*/, 7];\r\n navigate = logoutRequest.onRedirectNavigate(logoutUri);\r\n if (!(navigate !== false)) return [3 /*break*/, 5];\r\n this.logger.verbose(\"Logout onRedirectNavigate did not return false, navigating\");\r\n // Ensure interaction is in progress\r\n if (!this.browserStorage.getInteractionInProgress()) {\r\n this.browserStorage.setInteractionInProgress(true);\r\n }\r\n return [4 /*yield*/, this.navigationClient.navigateExternal(logoutUri, navigationOptions)];\r\n case 4:\r\n _a.sent();\r\n return [2 /*return*/];\r\n case 5:\r\n // Ensure interaction is not in progress\r\n this.browserStorage.setInteractionInProgress(false);\r\n this.logger.verbose(\"Logout onRedirectNavigate returned false, stopping navigation\");\r\n _a.label = 6;\r\n case 6: return [3 /*break*/, 9];\r\n case 7:\r\n // Ensure interaction is in progress\r\n if (!this.browserStorage.getInteractionInProgress()) {\r\n this.browserStorage.setInteractionInProgress(true);\r\n }\r\n return [4 /*yield*/, this.navigationClient.navigateExternal(logoutUri, navigationOptions)];\r\n case 8:\r\n _a.sent();\r\n return [2 /*return*/];\r\n case 9: return [3 /*break*/, 11];\r\n case 10:\r\n e_3 = _a.sent();\r\n if (e_3 instanceof AuthError) {\r\n e_3.setCorrelationId(this.correlationId);\r\n }\r\n serverTelemetryManager.cacheFailedRequest(e_3);\r\n this.eventHandler.emitEvent(EventType.LOGOUT_FAILURE, InteractionType.Redirect, null, e_3);\r\n this.eventHandler.emitEvent(EventType.LOGOUT_END, InteractionType.Redirect);\r\n throw e_3;\r\n case 11:\r\n this.eventHandler.emitEvent(EventType.LOGOUT_END, InteractionType.Redirect);\r\n return [2 /*return*/];\r\n }\r\n });\r\n });\r\n };\r\n /**\r\n * Use to get the redirectStartPage either from request or use current window\r\n * @param requestStartPage\r\n */\r\n RedirectClient.prototype.getRedirectStartPage = function (requestStartPage) {\r\n var redirectStartPage = requestStartPage || window.location.href;\r\n return UrlString.getAbsoluteUrl(redirectStartPage, BrowserUtils.getCurrentUri());\r\n };\r\n return RedirectClient;\r\n}(StandardInteractionClient));\n\nexport { RedirectClient };\n","/*! @azure/msal-browser v2.32.1 2022-12-07 */\n'use strict';\nimport { __extends, __awaiter, __generator, __assign } from '../_virtual/_tslib.js';\nimport { AuthError, Constants } from '@azure/msal-common';\nimport { StandardInteractionClient } from './StandardInteractionClient.js';\nimport { BrowserAuthError } from '../error/BrowserAuthError.js';\nimport { InteractionType } from '../utils/BrowserConstants.js';\nimport { SilentHandler } from '../interaction_handler/SilentHandler.js';\nimport { HybridSpaAuthorizationCodeClient } from './HybridSpaAuthorizationCodeClient.js';\n\n/*\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * Licensed under the MIT License.\r\n */\r\nvar SilentAuthCodeClient = /** @class */ (function (_super) {\r\n __extends(SilentAuthCodeClient, _super);\r\n function SilentAuthCodeClient(config, storageImpl, browserCrypto, logger, eventHandler, navigationClient, apiId, performanceClient, nativeMessageHandler, correlationId) {\r\n var _this = _super.call(this, config, storageImpl, browserCrypto, logger, eventHandler, navigationClient, performanceClient, nativeMessageHandler, correlationId) || this;\r\n _this.apiId = apiId;\r\n return _this;\r\n }\r\n /**\r\n * Acquires a token silently by redeeming an authorization code against the /token endpoint\r\n * @param request\r\n */\r\n SilentAuthCodeClient.prototype.acquireToken = function (request) {\r\n return __awaiter(this, void 0, void 0, function () {\r\n var silentRequest, serverTelemetryManager, authCodeRequest, clientConfig, authClient, silentHandler, e_1;\r\n return __generator(this, function (_a) {\r\n switch (_a.label) {\r\n case 0:\r\n this.logger.trace(\"SilentAuthCodeClient.acquireToken called\");\r\n // Auth code payload is required\r\n if (!request.code) {\r\n throw BrowserAuthError.createAuthCodeRequiredError();\r\n }\r\n return [4 /*yield*/, this.initializeAuthorizationRequest(request, InteractionType.Silent)];\r\n case 1:\r\n silentRequest = _a.sent();\r\n this.browserStorage.updateCacheEntries(silentRequest.state, silentRequest.nonce, silentRequest.authority, silentRequest.loginHint || Constants.EMPTY_STRING, silentRequest.account || null);\r\n serverTelemetryManager = this.initializeServerTelemetryManager(this.apiId);\r\n _a.label = 2;\r\n case 2:\r\n _a.trys.push([2, 4, , 5]);\r\n authCodeRequest = __assign(__assign({}, silentRequest), { code: request.code });\r\n return [4 /*yield*/, this.getClientConfiguration(serverTelemetryManager, silentRequest.authority)];\r\n case 3:\r\n clientConfig = _a.sent();\r\n authClient = new HybridSpaAuthorizationCodeClient(clientConfig);\r\n this.logger.verbose(\"Auth code client created\");\r\n silentHandler = new SilentHandler(authClient, this.browserStorage, authCodeRequest, this.logger, this.config.system);\r\n // Handle auth code parameters from request\r\n return [2 /*return*/, silentHandler.handleCodeResponseFromServer({\r\n code: request.code,\r\n msgraph_host: request.msGraphHost,\r\n cloud_graph_host_name: request.cloudGraphHostName,\r\n cloud_instance_host_name: request.cloudInstanceHostName\r\n }, silentRequest.state, authClient.authority, this.networkClient, false)];\r\n case 4:\r\n e_1 = _a.sent();\r\n if (e_1 instanceof AuthError) {\r\n e_1.setCorrelationId(this.correlationId);\r\n }\r\n serverTelemetryManager.cacheFailedRequest(e_1);\r\n this.browserStorage.cleanRequestByState(silentRequest.state);\r\n throw e_1;\r\n case 5: return [2 /*return*/];\r\n }\r\n });\r\n });\r\n };\r\n /**\r\n * Currently Unsupported\r\n */\r\n SilentAuthCodeClient.prototype.logout = function () {\r\n // Synchronous so we must reject\r\n return Promise.reject(BrowserAuthError.createSilentLogoutUnsupportedError());\r\n };\r\n return SilentAuthCodeClient;\r\n}(StandardInteractionClient));\n\nexport { SilentAuthCodeClient };\n","/*! @azure/msal-browser v2.32.1 2022-12-07 */\n'use strict';\nimport { __extends, __awaiter, __generator, __assign } from '../_virtual/_tslib.js';\nimport { StandardInteractionClient } from './StandardInteractionClient.js';\nimport { AuthError, PerformanceEvents, SilentFlowClient } from '@azure/msal-common';\nimport { ApiId } from '../utils/BrowserConstants.js';\nimport { BrowserAuthError, BrowserAuthErrorMessage } from '../error/BrowserAuthError.js';\n\n/*\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * Licensed under the MIT License.\r\n */\r\nvar SilentCacheClient = /** @class */ (function (_super) {\r\n __extends(SilentCacheClient, _super);\r\n function SilentCacheClient() {\r\n return _super !== null && _super.apply(this, arguments) || this;\r\n }\r\n /**\r\n * Returns unexpired tokens from the cache, if available\r\n * @param silentRequest\r\n */\r\n SilentCacheClient.prototype.acquireToken = function (silentRequest) {\r\n return __awaiter(this, void 0, void 0, function () {\r\n var acquireTokenMeasurement, serverTelemetryManager, silentAuthClient, cachedToken, error_1;\r\n return __generator(this, function (_a) {\r\n switch (_a.label) {\r\n case 0:\r\n acquireTokenMeasurement = this.performanceClient.startMeasurement(PerformanceEvents.SilentCacheClientAcquireToken, silentRequest.correlationId);\r\n serverTelemetryManager = this.initializeServerTelemetryManager(ApiId.acquireTokenSilent_silentFlow);\r\n return [4 /*yield*/, this.createSilentFlowClient(serverTelemetryManager, silentRequest.authority, silentRequest.azureCloudOptions)];\r\n case 1:\r\n silentAuthClient = _a.sent();\r\n this.logger.verbose(\"Silent auth client created\");\r\n _a.label = 2;\r\n case 2:\r\n _a.trys.push([2, 4, , 5]);\r\n return [4 /*yield*/, silentAuthClient.acquireCachedToken(silentRequest)];\r\n case 3:\r\n cachedToken = _a.sent();\r\n acquireTokenMeasurement.endMeasurement({\r\n success: true,\r\n fromCache: true\r\n });\r\n return [2 /*return*/, cachedToken];\r\n case 4:\r\n error_1 = _a.sent();\r\n if (error_1 instanceof BrowserAuthError && error_1.errorCode === BrowserAuthErrorMessage.signingKeyNotFoundInStorage.code) {\r\n this.logger.verbose(\"Signing keypair for bound access token not found. Refreshing bound access token and generating a new crypto keypair.\");\r\n }\r\n acquireTokenMeasurement.endMeasurement({\r\n errorCode: error_1 instanceof AuthError && error_1.errorCode || undefined,\r\n subErrorCode: error_1 instanceof AuthError && error_1.subError || undefined,\r\n success: false\r\n });\r\n throw error_1;\r\n case 5: return [2 /*return*/];\r\n }\r\n });\r\n });\r\n };\r\n /**\r\n * Currently Unsupported\r\n */\r\n SilentCacheClient.prototype.logout = function () {\r\n // Synchronous so we must reject\r\n return Promise.reject(BrowserAuthError.createSilentLogoutUnsupportedError());\r\n };\r\n /**\r\n * Creates an Silent Flow Client with the given authority, or the default authority.\r\n * @param serverTelemetryManager\r\n * @param authorityUrl\r\n */\r\n SilentCacheClient.prototype.createSilentFlowClient = function (serverTelemetryManager, authorityUrl, azureCloudOptions) {\r\n return __awaiter(this, void 0, void 0, function () {\r\n var clientConfig;\r\n return __generator(this, function (_a) {\r\n switch (_a.label) {\r\n case 0: return [4 /*yield*/, this.getClientConfiguration(serverTelemetryManager, authorityUrl, azureCloudOptions)];\r\n case 1:\r\n clientConfig = _a.sent();\r\n return [2 /*return*/, new SilentFlowClient(clientConfig, this.performanceClient)];\r\n }\r\n });\r\n });\r\n };\r\n SilentCacheClient.prototype.initializeSilentRequest = function (request, account) {\r\n return __awaiter(this, void 0, void 0, function () {\r\n var _a;\r\n return __generator(this, function (_b) {\r\n switch (_b.label) {\r\n case 0:\r\n _a = [__assign({}, request)];\r\n return [4 /*yield*/, this.initializeBaseRequest(request)];\r\n case 1: return [2 /*return*/, __assign.apply(void 0, [__assign.apply(void 0, _a.concat([_b.sent()])), { account: account, forceRefresh: request.forceRefresh || false }])];\r\n }\r\n });\r\n });\r\n };\r\n return SilentCacheClient;\r\n}(StandardInteractionClient));\n\nexport { SilentCacheClient };\n","/*! @azure/msal-browser v2.32.1 2022-12-07 */\n'use strict';\nimport { __extends, __awaiter, __generator, __assign } from '../_virtual/_tslib.js';\nimport { AuthError, Constants, PerformanceEvents, StringUtils, PromptValue, UrlString, ProtocolUtils } from '@azure/msal-common';\nimport { StandardInteractionClient } from './StandardInteractionClient.js';\nimport { BrowserAuthError } from '../error/BrowserAuthError.js';\nimport { InteractionType } from '../utils/BrowserConstants.js';\nimport { SilentHandler } from '../interaction_handler/SilentHandler.js';\nimport { NativeMessageHandler } from '../broker/nativeBroker/NativeMessageHandler.js';\nimport { NativeInteractionClient } from './NativeInteractionClient.js';\n\n/*\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * Licensed under the MIT License.\r\n */\r\nvar SilentIframeClient = /** @class */ (function (_super) {\r\n __extends(SilentIframeClient, _super);\r\n function SilentIframeClient(config, storageImpl, browserCrypto, logger, eventHandler, navigationClient, apiId, performanceClient, nativeStorageImpl, nativeMessageHandler, correlationId) {\r\n var _this = _super.call(this, config, storageImpl, browserCrypto, logger, eventHandler, navigationClient, performanceClient, nativeMessageHandler, correlationId) || this;\r\n _this.apiId = apiId;\r\n _this.nativeStorage = nativeStorageImpl;\r\n return _this;\r\n }\r\n /**\r\n * Acquires a token silently by opening a hidden iframe to the /authorize endpoint with prompt=none or prompt=no_session\r\n * @param request\r\n */\r\n SilentIframeClient.prototype.acquireToken = function (request) {\r\n return __awaiter(this, void 0, void 0, function () {\r\n var acquireTokenMeasurement, silentRequest, serverTelemetryManager, authClient, e_1;\r\n return __generator(this, function (_a) {\r\n switch (_a.label) {\r\n case 0:\r\n this.logger.verbose(\"acquireTokenByIframe called\");\r\n acquireTokenMeasurement = this.performanceClient.startMeasurement(PerformanceEvents.SilentIframeClientAcquireToken, request.correlationId);\r\n // Check that we have some SSO data\r\n if (StringUtils.isEmpty(request.loginHint) && StringUtils.isEmpty(request.sid) && (!request.account || StringUtils.isEmpty(request.account.username))) {\r\n this.logger.warning(\"No user hint provided. The authorization server may need more information to complete this request.\");\r\n }\r\n // Check that prompt is set to none or no_session, throw error if it is set to anything else.\r\n if (request.prompt && (request.prompt !== PromptValue.NONE) && (request.prompt !== PromptValue.NO_SESSION)) {\r\n acquireTokenMeasurement.endMeasurement({\r\n success: false\r\n });\r\n throw BrowserAuthError.createSilentPromptValueError(request.prompt);\r\n }\r\n return [4 /*yield*/, this.initializeAuthorizationRequest(__assign(__assign({}, request), { prompt: request.prompt || PromptValue.NONE }), InteractionType.Silent)];\r\n case 1:\r\n silentRequest = _a.sent();\r\n this.browserStorage.updateCacheEntries(silentRequest.state, silentRequest.nonce, silentRequest.authority, silentRequest.loginHint || Constants.EMPTY_STRING, silentRequest.account || null);\r\n serverTelemetryManager = this.initializeServerTelemetryManager(this.apiId);\r\n _a.label = 2;\r\n case 2:\r\n _a.trys.push([2, 5, , 6]);\r\n return [4 /*yield*/, this.createAuthCodeClient(serverTelemetryManager, silentRequest.authority, silentRequest.azureCloudOptions)];\r\n case 3:\r\n authClient = _a.sent();\r\n this.logger.verbose(\"Auth code client created\");\r\n return [4 /*yield*/, this.silentTokenHelper(authClient, silentRequest).then(function (result) {\r\n acquireTokenMeasurement.endMeasurement({\r\n success: true,\r\n fromCache: false,\r\n requestId: result.requestId\r\n });\r\n return result;\r\n })];\r\n case 4: return [2 /*return*/, _a.sent()];\r\n case 5:\r\n e_1 = _a.sent();\r\n if (e_1 instanceof AuthError) {\r\n e_1.setCorrelationId(this.correlationId);\r\n }\r\n serverTelemetryManager.cacheFailedRequest(e_1);\r\n this.browserStorage.cleanRequestByState(silentRequest.state);\r\n acquireTokenMeasurement.endMeasurement({\r\n errorCode: e_1 instanceof AuthError && e_1.errorCode || undefined,\r\n subErrorCode: e_1 instanceof AuthError && e_1.subError || undefined,\r\n success: false\r\n });\r\n throw e_1;\r\n case 6: return [2 /*return*/];\r\n }\r\n });\r\n });\r\n };\r\n /**\r\n * Currently Unsupported\r\n */\r\n SilentIframeClient.prototype.logout = function () {\r\n // Synchronous so we must reject\r\n return Promise.reject(BrowserAuthError.createSilentLogoutUnsupportedError());\r\n };\r\n /**\r\n * Helper which acquires an authorization code silently using a hidden iframe from given url\r\n * using the scopes requested as part of the id, and exchanges the code for a set of OAuth tokens.\r\n * @param navigateUrl\r\n * @param userRequestScopes\r\n */\r\n SilentIframeClient.prototype.silentTokenHelper = function (authClient, silentRequest) {\r\n return __awaiter(this, void 0, void 0, function () {\r\n var authCodeRequest, navigateUrl, silentHandler, msalFrame, hash, serverParams, state, nativeInteractionClient, userRequestState;\r\n var _this = this;\r\n return __generator(this, function (_a) {\r\n switch (_a.label) {\r\n case 0: return [4 /*yield*/, this.initializeAuthorizationCodeRequest(silentRequest)];\r\n case 1:\r\n authCodeRequest = _a.sent();\r\n return [4 /*yield*/, authClient.getAuthCodeUrl(__assign(__assign({}, silentRequest), { nativeBroker: NativeMessageHandler.isNativeAvailable(this.config, this.logger, this.nativeMessageHandler, silentRequest.authenticationScheme) }))];\r\n case 2:\r\n navigateUrl = _a.sent();\r\n silentHandler = new SilentHandler(authClient, this.browserStorage, authCodeRequest, this.logger, this.config.system);\r\n return [4 /*yield*/, silentHandler.initiateAuthRequest(navigateUrl)];\r\n case 3:\r\n msalFrame = _a.sent();\r\n return [4 /*yield*/, silentHandler.monitorIframeForHash(msalFrame, this.config.system.iframeHashTimeout)];\r\n case 4:\r\n hash = _a.sent();\r\n serverParams = UrlString.getDeserializedHash(hash);\r\n state = this.validateAndExtractStateFromHash(serverParams, InteractionType.Silent, authCodeRequest.correlationId);\r\n if (serverParams.accountId) {\r\n this.logger.verbose(\"Account id found in hash, calling WAM for token\");\r\n if (!this.nativeMessageHandler) {\r\n throw BrowserAuthError.createNativeConnectionNotEstablishedError();\r\n }\r\n nativeInteractionClient = new NativeInteractionClient(this.config, this.browserStorage, this.browserCrypto, this.logger, this.eventHandler, this.navigationClient, this.apiId, this.performanceClient, this.nativeMessageHandler, serverParams.accountId, this.browserStorage, this.correlationId);\r\n userRequestState = ProtocolUtils.parseRequestState(this.browserCrypto, state).userRequestState;\r\n return [2 /*return*/, nativeInteractionClient.acquireToken(__assign(__assign({}, silentRequest), { state: userRequestState, prompt: silentRequest.prompt || PromptValue.NONE })).finally(function () {\r\n _this.browserStorage.cleanRequestByState(state);\r\n })];\r\n }\r\n // Handle response from hash string\r\n return [2 /*return*/, silentHandler.handleCodeResponseFromHash(hash, state, authClient.authority, this.networkClient)];\r\n }\r\n });\r\n });\r\n };\r\n return SilentIframeClient;\r\n}(StandardInteractionClient));\n\nexport { SilentIframeClient };\n","/*! @azure/msal-browser v2.32.1 2022-12-07 */\n'use strict';\nimport { __extends, __awaiter, __generator, __assign } from '../_virtual/_tslib.js';\nimport { StandardInteractionClient } from './StandardInteractionClient.js';\nimport { AuthError, PerformanceEvents, RefreshTokenClient } from '@azure/msal-common';\nimport { ApiId } from '../utils/BrowserConstants.js';\nimport { BrowserAuthError } from '../error/BrowserAuthError.js';\n\n/*\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * Licensed under the MIT License.\r\n */\r\nvar SilentRefreshClient = /** @class */ (function (_super) {\r\n __extends(SilentRefreshClient, _super);\r\n function SilentRefreshClient() {\r\n return _super !== null && _super.apply(this, arguments) || this;\r\n }\r\n /**\r\n * Exchanges the refresh token for new tokens\r\n * @param request\r\n */\r\n SilentRefreshClient.prototype.acquireToken = function (request) {\r\n return __awaiter(this, void 0, void 0, function () {\r\n var silentRequest, _a, acquireTokenMeasurement, serverTelemetryManager, refreshTokenClient;\r\n var _this = this;\r\n return __generator(this, function (_b) {\r\n switch (_b.label) {\r\n case 0:\r\n _a = [__assign({}, request)];\r\n return [4 /*yield*/, this.initializeBaseRequest(request)];\r\n case 1:\r\n silentRequest = __assign.apply(void 0, _a.concat([_b.sent()]));\r\n acquireTokenMeasurement = this.performanceClient.startMeasurement(PerformanceEvents.SilentRefreshClientAcquireToken, silentRequest.correlationId);\r\n serverTelemetryManager = this.initializeServerTelemetryManager(ApiId.acquireTokenSilent_silentFlow);\r\n return [4 /*yield*/, this.createRefreshTokenClient(serverTelemetryManager, silentRequest.authority, silentRequest.azureCloudOptions)];\r\n case 2:\r\n refreshTokenClient = _b.sent();\r\n this.logger.verbose(\"Refresh token client created\");\r\n // Send request to renew token. Auth module will throw errors if token cannot be renewed.\r\n return [2 /*return*/, refreshTokenClient.acquireTokenByRefreshToken(silentRequest)\r\n .then(function (result) {\r\n acquireTokenMeasurement.endMeasurement({\r\n success: true,\r\n fromCache: result.fromCache,\r\n requestId: result.requestId\r\n });\r\n return result;\r\n })\r\n .catch(function (e) {\r\n if (e instanceof AuthError) {\r\n e.setCorrelationId(_this.correlationId);\r\n }\r\n serverTelemetryManager.cacheFailedRequest(e);\r\n acquireTokenMeasurement.endMeasurement({\r\n errorCode: e.errorCode,\r\n subErrorCode: e.subError,\r\n success: false\r\n });\r\n throw e;\r\n })];\r\n }\r\n });\r\n });\r\n };\r\n /**\r\n * Currently Unsupported\r\n */\r\n SilentRefreshClient.prototype.logout = function () {\r\n // Synchronous so we must reject\r\n return Promise.reject(BrowserAuthError.createSilentLogoutUnsupportedError());\r\n };\r\n /**\r\n * Creates a Refresh Client with the given authority, or the default authority.\r\n * @param serverTelemetryManager\r\n * @param authorityUrl\r\n */\r\n SilentRefreshClient.prototype.createRefreshTokenClient = function (serverTelemetryManager, authorityUrl, azureCloudOptions) {\r\n return __awaiter(this, void 0, void 0, function () {\r\n var clientConfig;\r\n return __generator(this, function (_a) {\r\n switch (_a.label) {\r\n case 0: return [4 /*yield*/, this.getClientConfiguration(serverTelemetryManager, authorityUrl, azureCloudOptions)];\r\n case 1:\r\n clientConfig = _a.sent();\r\n return [2 /*return*/, new RefreshTokenClient(clientConfig, this.performanceClient)];\r\n }\r\n });\r\n });\r\n };\r\n return SilentRefreshClient;\r\n}(StandardInteractionClient));\n\nexport { SilentRefreshClient };\n","/*! @azure/msal-browser v2.32.1 2022-12-07 */\n'use strict';\nimport { __extends, __awaiter, __generator, __assign } from '../_virtual/_tslib.js';\nimport { UrlString, Constants, AuthorizationCodeClient, PerformanceEvents, Authority, AuthorityFactory, ResponseMode, StringUtils, ProtocolUtils } from '@azure/msal-common';\nimport { BaseInteractionClient } from './BaseInteractionClient.js';\nimport { BrowserConstants } from '../utils/BrowserConstants.js';\nimport { version } from '../packageMetadata.js';\nimport { BrowserAuthError } from '../error/BrowserAuthError.js';\nimport { BrowserProtocolUtils } from '../utils/BrowserProtocolUtils.js';\nimport { BrowserUtils } from '../utils/BrowserUtils.js';\n\n/*\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * Licensed under the MIT License.\r\n */\r\n/**\r\n * Defines the class structure and helper functions used by the \"standard\", non-brokered auth flows (popup, redirect, silent (RT), silent (iframe))\r\n */\r\nvar StandardInteractionClient = /** @class */ (function (_super) {\r\n __extends(StandardInteractionClient, _super);\r\n function StandardInteractionClient() {\r\n return _super !== null && _super.apply(this, arguments) || this;\r\n }\r\n /**\r\n * Generates an auth code request tied to the url request.\r\n * @param request\r\n */\r\n StandardInteractionClient.prototype.initializeAuthorizationCodeRequest = function (request) {\r\n return __awaiter(this, void 0, void 0, function () {\r\n var generatedPkceParams, authCodeRequest;\r\n return __generator(this, function (_a) {\r\n switch (_a.label) {\r\n case 0:\r\n this.logger.verbose(\"initializeAuthorizationRequest called\", request.correlationId);\r\n return [4 /*yield*/, this.browserCrypto.generatePkceCodes()];\r\n case 1:\r\n generatedPkceParams = _a.sent();\r\n authCodeRequest = __assign(__assign({}, request), { redirectUri: request.redirectUri, code: Constants.EMPTY_STRING, codeVerifier: generatedPkceParams.verifier });\r\n request.codeChallenge = generatedPkceParams.challenge;\r\n request.codeChallengeMethod = Constants.S256_CODE_CHALLENGE_METHOD;\r\n return [2 /*return*/, authCodeRequest];\r\n }\r\n });\r\n });\r\n };\r\n /**\r\n * Initializer for the logout request.\r\n * @param logoutRequest\r\n */\r\n StandardInteractionClient.prototype.initializeLogoutRequest = function (logoutRequest) {\r\n this.logger.verbose(\"initializeLogoutRequest called\", logoutRequest === null || logoutRequest === void 0 ? void 0 : logoutRequest.correlationId);\r\n var validLogoutRequest = __assign({ correlationId: this.correlationId || this.browserCrypto.createNewGuid() }, logoutRequest);\r\n /**\r\n * Set logout_hint to be login_hint from ID Token Claims if present\r\n * and logoutHint attribute wasn't manually set in logout request\r\n */\r\n if (logoutRequest) {\r\n // If logoutHint isn't set and an account was passed in, try to extract logoutHint from ID Token Claims\r\n if (!logoutRequest.logoutHint) {\r\n if (logoutRequest.account) {\r\n var logoutHint = this.getLogoutHintFromIdTokenClaims(logoutRequest.account);\r\n if (logoutHint) {\r\n this.logger.verbose(\"Setting logoutHint to login_hint ID Token Claim value for the account provided\");\r\n validLogoutRequest.logoutHint = logoutHint;\r\n }\r\n }\r\n else {\r\n this.logger.verbose(\"logoutHint was not set and account was not passed into logout request, logoutHint will not be set\");\r\n }\r\n }\r\n else {\r\n this.logger.verbose(\"logoutHint has already been set in logoutRequest\");\r\n }\r\n }\r\n else {\r\n this.logger.verbose(\"logoutHint will not be set since no logout request was configured\");\r\n }\r\n /*\r\n * Only set redirect uri if logout request isn't provided or the set uri isn't null.\r\n * Otherwise, use passed uri, config, or current page.\r\n */\r\n if (!logoutRequest || logoutRequest.postLogoutRedirectUri !== null) {\r\n if (logoutRequest && logoutRequest.postLogoutRedirectUri) {\r\n this.logger.verbose(\"Setting postLogoutRedirectUri to uri set on logout request\", validLogoutRequest.correlationId);\r\n validLogoutRequest.postLogoutRedirectUri = UrlString.getAbsoluteUrl(logoutRequest.postLogoutRedirectUri, BrowserUtils.getCurrentUri());\r\n }\r\n else if (this.config.auth.postLogoutRedirectUri === null) {\r\n this.logger.verbose(\"postLogoutRedirectUri configured as null and no uri set on request, not passing post logout redirect\", validLogoutRequest.correlationId);\r\n }\r\n else if (this.config.auth.postLogoutRedirectUri) {\r\n this.logger.verbose(\"Setting postLogoutRedirectUri to configured uri\", validLogoutRequest.correlationId);\r\n validLogoutRequest.postLogoutRedirectUri = UrlString.getAbsoluteUrl(this.config.auth.postLogoutRedirectUri, BrowserUtils.getCurrentUri());\r\n }\r\n else {\r\n this.logger.verbose(\"Setting postLogoutRedirectUri to current page\", validLogoutRequest.correlationId);\r\n validLogoutRequest.postLogoutRedirectUri = UrlString.getAbsoluteUrl(BrowserUtils.getCurrentUri(), BrowserUtils.getCurrentUri());\r\n }\r\n }\r\n else {\r\n this.logger.verbose(\"postLogoutRedirectUri passed as null, not setting post logout redirect uri\", validLogoutRequest.correlationId);\r\n }\r\n return validLogoutRequest;\r\n };\r\n /**\r\n * Parses login_hint ID Token Claim out of AccountInfo object to be used as\r\n * logout_hint in end session request.\r\n * @param account\r\n */\r\n StandardInteractionClient.prototype.getLogoutHintFromIdTokenClaims = function (account) {\r\n var idTokenClaims = account.idTokenClaims;\r\n if (idTokenClaims) {\r\n if (idTokenClaims.login_hint) {\r\n return idTokenClaims.login_hint;\r\n }\r\n else {\r\n this.logger.verbose(\"The ID Token Claims tied to the provided account do not contain a login_hint claim, logoutHint will not be added to logout request\");\r\n }\r\n }\r\n else {\r\n this.logger.verbose(\"The provided account does not contain ID Token Claims, logoutHint will not be added to logout request\");\r\n }\r\n return null;\r\n };\r\n /**\r\n * Creates an Authorization Code Client with the given authority, or the default authority.\r\n * @param serverTelemetryManager\r\n * @param authorityUrl\r\n */\r\n StandardInteractionClient.prototype.createAuthCodeClient = function (serverTelemetryManager, authorityUrl, requestAzureCloudOptions) {\r\n return __awaiter(this, void 0, void 0, function () {\r\n var clientConfig;\r\n return __generator(this, function (_a) {\r\n switch (_a.label) {\r\n case 0: return [4 /*yield*/, this.getClientConfiguration(serverTelemetryManager, authorityUrl, requestAzureCloudOptions)];\r\n case 1:\r\n clientConfig = _a.sent();\r\n return [2 /*return*/, new AuthorizationCodeClient(clientConfig)];\r\n }\r\n });\r\n });\r\n };\r\n /**\r\n * Creates a Client Configuration object with the given request authority, or the default authority.\r\n * @param serverTelemetryManager\r\n * @param requestAuthority\r\n * @param requestCorrelationId\r\n */\r\n StandardInteractionClient.prototype.getClientConfiguration = function (serverTelemetryManager, requestAuthority, requestAzureCloudOptions) {\r\n return __awaiter(this, void 0, void 0, function () {\r\n var discoveredAuthority;\r\n return __generator(this, function (_a) {\r\n switch (_a.label) {\r\n case 0:\r\n this.logger.verbose(\"getClientConfiguration called\", this.correlationId);\r\n return [4 /*yield*/, this.getDiscoveredAuthority(requestAuthority, requestAzureCloudOptions)];\r\n case 1:\r\n discoveredAuthority = _a.sent();\r\n return [2 /*return*/, {\r\n authOptions: {\r\n clientId: this.config.auth.clientId,\r\n authority: discoveredAuthority,\r\n clientCapabilities: this.config.auth.clientCapabilities\r\n },\r\n systemOptions: {\r\n tokenRenewalOffsetSeconds: this.config.system.tokenRenewalOffsetSeconds,\r\n preventCorsPreflight: true\r\n },\r\n loggerOptions: {\r\n loggerCallback: this.config.system.loggerOptions.loggerCallback,\r\n piiLoggingEnabled: this.config.system.loggerOptions.piiLoggingEnabled,\r\n logLevel: this.config.system.loggerOptions.logLevel,\r\n correlationId: this.correlationId\r\n },\r\n cryptoInterface: this.browserCrypto,\r\n networkInterface: this.networkClient,\r\n storageInterface: this.browserStorage,\r\n serverTelemetryManager: serverTelemetryManager,\r\n libraryInfo: {\r\n sku: BrowserConstants.MSAL_SKU,\r\n version: version,\r\n cpu: Constants.EMPTY_STRING,\r\n os: Constants.EMPTY_STRING\r\n },\r\n telemetry: this.config.telemetry\r\n }];\r\n }\r\n });\r\n });\r\n };\r\n /**\r\n * @param hash\r\n * @param interactionType\r\n */\r\n StandardInteractionClient.prototype.validateAndExtractStateFromHash = function (serverParams, interactionType, requestCorrelationId) {\r\n this.logger.verbose(\"validateAndExtractStateFromHash called\", requestCorrelationId);\r\n if (!serverParams.state) {\r\n throw BrowserAuthError.createHashDoesNotContainStateError();\r\n }\r\n var platformStateObj = BrowserProtocolUtils.extractBrowserRequestState(this.browserCrypto, serverParams.state);\r\n if (!platformStateObj) {\r\n throw BrowserAuthError.createUnableToParseStateError();\r\n }\r\n if (platformStateObj.interactionType !== interactionType) {\r\n throw BrowserAuthError.createStateInteractionTypeMismatchError();\r\n }\r\n this.logger.verbose(\"Returning state from hash\", requestCorrelationId);\r\n return serverParams.state;\r\n };\r\n /**\r\n * Used to get a discovered version of the default authority.\r\n * @param requestAuthority\r\n * @param requestCorrelationId\r\n */\r\n StandardInteractionClient.prototype.getDiscoveredAuthority = function (requestAuthority, requestAzureCloudOptions) {\r\n return __awaiter(this, void 0, void 0, function () {\r\n var getAuthorityMeasurement, authorityOptions, userAuthority, builtAuthority;\r\n return __generator(this, function (_a) {\r\n switch (_a.label) {\r\n case 0:\r\n this.logger.verbose(\"getDiscoveredAuthority called\", this.correlationId);\r\n getAuthorityMeasurement = this.performanceClient.startMeasurement(PerformanceEvents.StandardInteractionClientGetDiscoveredAuthority, this.correlationId);\r\n authorityOptions = {\r\n protocolMode: this.config.auth.protocolMode,\r\n knownAuthorities: this.config.auth.knownAuthorities,\r\n cloudDiscoveryMetadata: this.config.auth.cloudDiscoveryMetadata,\r\n authorityMetadata: this.config.auth.authorityMetadata,\r\n skipAuthorityMetadataCache: this.config.auth.skipAuthorityMetadataCache\r\n };\r\n userAuthority = requestAuthority ? requestAuthority : this.config.auth.authority;\r\n builtAuthority = Authority.generateAuthority(userAuthority, requestAzureCloudOptions || this.config.auth.azureCloudOptions);\r\n this.logger.verbose(\"Creating discovered authority with configured authority\", this.correlationId);\r\n return [4 /*yield*/, AuthorityFactory.createDiscoveredInstance(builtAuthority, this.config.system.networkClient, this.browserStorage, authorityOptions, this.logger)\r\n .then(function (result) {\r\n getAuthorityMeasurement.endMeasurement({\r\n success: true\r\n });\r\n return result;\r\n })\r\n .catch(function (error) {\r\n getAuthorityMeasurement.endMeasurement({\r\n errorCode: error.errorCode,\r\n subErrorCode: error.subError,\r\n success: false\r\n });\r\n throw error;\r\n })];\r\n case 1: return [2 /*return*/, _a.sent()];\r\n }\r\n });\r\n });\r\n };\r\n /**\r\n * Helper to initialize required request parameters for interactive APIs and ssoSilent()\r\n * @param request\r\n * @param interactionType\r\n */\r\n StandardInteractionClient.prototype.initializeAuthorizationRequest = function (request, interactionType) {\r\n return __awaiter(this, void 0, void 0, function () {\r\n var redirectUri, browserState, state, validatedRequest, _a, account, legacyLoginHint;\r\n return __generator(this, function (_b) {\r\n switch (_b.label) {\r\n case 0:\r\n this.logger.verbose(\"initializeAuthorizationRequest called\", this.correlationId);\r\n redirectUri = this.getRedirectUri(request.redirectUri);\r\n browserState = {\r\n interactionType: interactionType\r\n };\r\n state = ProtocolUtils.setRequestState(this.browserCrypto, (request && request.state) || Constants.EMPTY_STRING, browserState);\r\n _a = [{}];\r\n return [4 /*yield*/, this.initializeBaseRequest(request)];\r\n case 1:\r\n validatedRequest = __assign.apply(void 0, [__assign.apply(void 0, _a.concat([_b.sent()])), { redirectUri: redirectUri, state: state, nonce: request.nonce || this.browserCrypto.createNewGuid(), responseMode: ResponseMode.FRAGMENT }]);\r\n account = request.account || this.browserStorage.getActiveAccount();\r\n if (account) {\r\n this.logger.verbose(\"Setting validated request account\", this.correlationId);\r\n this.logger.verbosePii(\"Setting validated request account: \" + account.homeAccountId, this.correlationId);\r\n validatedRequest.account = account;\r\n }\r\n // Check for ADAL/MSAL v1 SSO\r\n if (StringUtils.isEmpty(validatedRequest.loginHint) && !account) {\r\n legacyLoginHint = this.browserStorage.getLegacyLoginHint();\r\n if (legacyLoginHint) {\r\n validatedRequest.loginHint = legacyLoginHint;\r\n }\r\n }\r\n return [2 /*return*/, validatedRequest];\r\n }\r\n });\r\n });\r\n };\r\n return StandardInteractionClient;\r\n}(BaseInteractionClient));\n\nexport { StandardInteractionClient };\n","/*! @azure/msal-browser v2.32.1 2022-12-07 */\n'use strict';\nimport { __awaiter, __generator } from '../_virtual/_tslib.js';\nimport { StringUtils, ClientAuthError, ServerError, AuthorityFactory } from '@azure/msal-common';\nimport { BrowserAuthError, BrowserAuthErrorMessage } from '../error/BrowserAuthError.js';\nimport { TemporaryCacheKeys } from '../utils/BrowserConstants.js';\n\n/*\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * Licensed under the MIT License.\r\n */\r\n/**\r\n * Abstract class which defines operations for a browser interaction handling class.\r\n */\r\nvar InteractionHandler = /** @class */ (function () {\r\n function InteractionHandler(authCodeModule, storageImpl, authCodeRequest, logger) {\r\n this.authModule = authCodeModule;\r\n this.browserStorage = storageImpl;\r\n this.authCodeRequest = authCodeRequest;\r\n this.logger = logger;\r\n }\r\n /**\r\n * Function to handle response parameters from hash.\r\n * @param locationHash\r\n */\r\n InteractionHandler.prototype.handleCodeResponseFromHash = function (locationHash, state, authority, networkModule) {\r\n return __awaiter(this, void 0, void 0, function () {\r\n var stateKey, requestState, authCodeResponse;\r\n return __generator(this, function (_a) {\r\n this.logger.verbose(\"InteractionHandler.handleCodeResponse called\");\r\n // Check that location hash isn't empty.\r\n if (StringUtils.isEmpty(locationHash)) {\r\n throw BrowserAuthError.createEmptyHashError(locationHash);\r\n }\r\n stateKey = this.browserStorage.generateStateKey(state);\r\n requestState = this.browserStorage.getTemporaryCache(stateKey);\r\n if (!requestState) {\r\n throw ClientAuthError.createStateNotFoundError(\"Cached State\");\r\n }\r\n try {\r\n authCodeResponse = this.authModule.handleFragmentResponse(locationHash, requestState);\r\n }\r\n catch (e) {\r\n if (e instanceof ServerError && e.subError === BrowserAuthErrorMessage.userCancelledError.code) {\r\n // Translate server error caused by user closing native prompt to corresponding first class MSAL error\r\n throw BrowserAuthError.createUserCancelledError();\r\n }\r\n else {\r\n throw e;\r\n }\r\n }\r\n return [2 /*return*/, this.handleCodeResponseFromServer(authCodeResponse, state, authority, networkModule)];\r\n });\r\n });\r\n };\r\n /**\r\n * Process auth code response from AAD\r\n * @param authCodeResponse\r\n * @param state\r\n * @param authority\r\n * @param networkModule\r\n * @returns\r\n */\r\n InteractionHandler.prototype.handleCodeResponseFromServer = function (authCodeResponse, state, authority, networkModule, validateNonce) {\r\n if (validateNonce === void 0) { validateNonce = true; }\r\n return __awaiter(this, void 0, void 0, function () {\r\n var stateKey, requestState, nonceKey, cachedNonce, cachedCcsCred, tokenResponse;\r\n return __generator(this, function (_a) {\r\n switch (_a.label) {\r\n case 0:\r\n this.logger.trace(\"InteractionHandler.handleCodeResponseFromServer called\");\r\n stateKey = this.browserStorage.generateStateKey(state);\r\n requestState = this.browserStorage.getTemporaryCache(stateKey);\r\n if (!requestState) {\r\n throw ClientAuthError.createStateNotFoundError(\"Cached State\");\r\n }\r\n nonceKey = this.browserStorage.generateNonceKey(requestState);\r\n cachedNonce = this.browserStorage.getTemporaryCache(nonceKey);\r\n // Assign code to request\r\n this.authCodeRequest.code = authCodeResponse.code;\r\n if (!authCodeResponse.cloud_instance_host_name) return [3 /*break*/, 2];\r\n return [4 /*yield*/, this.updateTokenEndpointAuthority(authCodeResponse.cloud_instance_host_name, authority, networkModule)];\r\n case 1:\r\n _a.sent();\r\n _a.label = 2;\r\n case 2:\r\n // Nonce validation not needed when redirect not involved (e.g. hybrid spa, renewing token via rt)\r\n if (validateNonce) {\r\n authCodeResponse.nonce = cachedNonce || undefined;\r\n }\r\n authCodeResponse.state = requestState;\r\n // Add CCS parameters if available\r\n if (authCodeResponse.client_info) {\r\n this.authCodeRequest.clientInfo = authCodeResponse.client_info;\r\n }\r\n else {\r\n cachedCcsCred = this.checkCcsCredentials();\r\n if (cachedCcsCred) {\r\n this.authCodeRequest.ccsCredential = cachedCcsCred;\r\n }\r\n }\r\n return [4 /*yield*/, this.authModule.acquireToken(this.authCodeRequest, authCodeResponse)];\r\n case 3:\r\n tokenResponse = _a.sent();\r\n this.browserStorage.cleanRequestByState(state);\r\n return [2 /*return*/, tokenResponse];\r\n }\r\n });\r\n });\r\n };\r\n /**\r\n * Updates authority based on cloudInstanceHostname\r\n * @param cloudInstanceHostname\r\n * @param authority\r\n * @param networkModule\r\n */\r\n InteractionHandler.prototype.updateTokenEndpointAuthority = function (cloudInstanceHostname, authority, networkModule) {\r\n return __awaiter(this, void 0, void 0, function () {\r\n var cloudInstanceAuthorityUri, cloudInstanceAuthority;\r\n return __generator(this, function (_a) {\r\n switch (_a.label) {\r\n case 0:\r\n cloudInstanceAuthorityUri = \"https://\" + cloudInstanceHostname + \"/\" + authority.tenant + \"/\";\r\n return [4 /*yield*/, AuthorityFactory.createDiscoveredInstance(cloudInstanceAuthorityUri, networkModule, this.browserStorage, authority.options, this.logger)];\r\n case 1:\r\n cloudInstanceAuthority = _a.sent();\r\n this.authModule.updateAuthority(cloudInstanceAuthority);\r\n return [2 /*return*/];\r\n }\r\n });\r\n });\r\n };\r\n /**\r\n * Looks up ccs creds in the cache\r\n */\r\n InteractionHandler.prototype.checkCcsCredentials = function () {\r\n // Look up ccs credential in temp cache\r\n var cachedCcsCred = this.browserStorage.getTemporaryCache(TemporaryCacheKeys.CCS_CREDENTIAL, true);\r\n if (cachedCcsCred) {\r\n try {\r\n return JSON.parse(cachedCcsCred);\r\n }\r\n catch (e) {\r\n this.authModule.logger.error(\"Cache credential could not be parsed\");\r\n this.authModule.logger.errorPii(\"Cache credential could not be parsed: \" + cachedCcsCred);\r\n }\r\n }\r\n return null;\r\n };\r\n return InteractionHandler;\r\n}());\n\nexport { InteractionHandler };\n","/*! @azure/msal-browser v2.32.1 2022-12-07 */\n'use strict';\nimport { __extends, __awaiter, __generator } from '../_virtual/_tslib.js';\nimport { StringUtils, ClientAuthError, ServerError } from '@azure/msal-common';\nimport { BrowserAuthError, BrowserAuthErrorMessage } from '../error/BrowserAuthError.js';\nimport { TemporaryCacheKeys, ApiId } from '../utils/BrowserConstants.js';\nimport { InteractionHandler } from './InteractionHandler.js';\n\n/*\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * Licensed under the MIT License.\r\n */\r\nvar RedirectHandler = /** @class */ (function (_super) {\r\n __extends(RedirectHandler, _super);\r\n function RedirectHandler(authCodeModule, storageImpl, authCodeRequest, logger, browserCrypto) {\r\n var _this = _super.call(this, authCodeModule, storageImpl, authCodeRequest, logger) || this;\r\n _this.browserCrypto = browserCrypto;\r\n return _this;\r\n }\r\n /**\r\n * Redirects window to given URL.\r\n * @param urlNavigate\r\n */\r\n RedirectHandler.prototype.initiateAuthRequest = function (requestUrl, params) {\r\n return __awaiter(this, void 0, void 0, function () {\r\n var navigationOptions, navigate;\r\n return __generator(this, function (_a) {\r\n switch (_a.label) {\r\n case 0:\r\n this.logger.verbose(\"RedirectHandler.initiateAuthRequest called\");\r\n if (!!StringUtils.isEmpty(requestUrl)) return [3 /*break*/, 7];\r\n // Cache start page, returns to this page after redirectUri if navigateToLoginRequestUrl is true\r\n if (params.redirectStartPage) {\r\n this.logger.verbose(\"RedirectHandler.initiateAuthRequest: redirectStartPage set, caching start page\");\r\n this.browserStorage.setTemporaryCache(TemporaryCacheKeys.ORIGIN_URI, params.redirectStartPage, true);\r\n }\r\n // Set interaction status in the library.\r\n this.browserStorage.setTemporaryCache(TemporaryCacheKeys.CORRELATION_ID, this.authCodeRequest.correlationId, true);\r\n this.browserStorage.cacheCodeRequest(this.authCodeRequest, this.browserCrypto);\r\n this.logger.infoPii(\"RedirectHandler.initiateAuthRequest: Navigate to: \" + requestUrl);\r\n navigationOptions = {\r\n apiId: ApiId.acquireTokenRedirect,\r\n timeout: params.redirectTimeout,\r\n noHistory: false\r\n };\r\n if (!(typeof params.onRedirectNavigate === \"function\")) return [3 /*break*/, 4];\r\n this.logger.verbose(\"RedirectHandler.initiateAuthRequest: Invoking onRedirectNavigate callback\");\r\n navigate = params.onRedirectNavigate(requestUrl);\r\n if (!(navigate !== false)) return [3 /*break*/, 2];\r\n this.logger.verbose(\"RedirectHandler.initiateAuthRequest: onRedirectNavigate did not return false, navigating\");\r\n return [4 /*yield*/, params.navigationClient.navigateExternal(requestUrl, navigationOptions)];\r\n case 1:\r\n _a.sent();\r\n return [2 /*return*/];\r\n case 2:\r\n this.logger.verbose(\"RedirectHandler.initiateAuthRequest: onRedirectNavigate returned false, stopping navigation\");\r\n return [2 /*return*/];\r\n case 3: return [3 /*break*/, 6];\r\n case 4:\r\n // Navigate window to request URL\r\n this.logger.verbose(\"RedirectHandler.initiateAuthRequest: Navigating window to navigate url\");\r\n return [4 /*yield*/, params.navigationClient.navigateExternal(requestUrl, navigationOptions)];\r\n case 5:\r\n _a.sent();\r\n return [2 /*return*/];\r\n case 6: return [3 /*break*/, 8];\r\n case 7:\r\n // Throw error if request URL is empty.\r\n this.logger.info(\"RedirectHandler.initiateAuthRequest: Navigate url is empty\");\r\n throw BrowserAuthError.createEmptyNavigationUriError();\r\n case 8: return [2 /*return*/];\r\n }\r\n });\r\n });\r\n };\r\n /**\r\n * Handle authorization code response in the window.\r\n * @param hash\r\n */\r\n RedirectHandler.prototype.handleCodeResponseFromHash = function (locationHash, state, authority, networkModule) {\r\n return __awaiter(this, void 0, void 0, function () {\r\n var stateKey, requestState, authCodeResponse, nonceKey, cachedNonce, cachedCcsCred, tokenResponse;\r\n return __generator(this, function (_a) {\r\n switch (_a.label) {\r\n case 0:\r\n this.logger.verbose(\"RedirectHandler.handleCodeResponse called\");\r\n // Check that location hash isn't empty.\r\n if (StringUtils.isEmpty(locationHash)) {\r\n throw BrowserAuthError.createEmptyHashError(locationHash);\r\n }\r\n // Interaction is completed - remove interaction status.\r\n this.browserStorage.setInteractionInProgress(false);\r\n stateKey = this.browserStorage.generateStateKey(state);\r\n requestState = this.browserStorage.getTemporaryCache(stateKey);\r\n if (!requestState) {\r\n throw ClientAuthError.createStateNotFoundError(\"Cached State\");\r\n }\r\n try {\r\n authCodeResponse = this.authModule.handleFragmentResponse(locationHash, requestState);\r\n }\r\n catch (e) {\r\n if (e instanceof ServerError && e.subError === BrowserAuthErrorMessage.userCancelledError.code) {\r\n // Translate server error caused by user closing native prompt to corresponding first class MSAL error\r\n throw BrowserAuthError.createUserCancelledError();\r\n }\r\n else {\r\n throw e;\r\n }\r\n }\r\n nonceKey = this.browserStorage.generateNonceKey(requestState);\r\n cachedNonce = this.browserStorage.getTemporaryCache(nonceKey);\r\n // Assign code to request\r\n this.authCodeRequest.code = authCodeResponse.code;\r\n if (!authCodeResponse.cloud_instance_host_name) return [3 /*break*/, 2];\r\n return [4 /*yield*/, this.updateTokenEndpointAuthority(authCodeResponse.cloud_instance_host_name, authority, networkModule)];\r\n case 1:\r\n _a.sent();\r\n _a.label = 2;\r\n case 2:\r\n authCodeResponse.nonce = cachedNonce || undefined;\r\n authCodeResponse.state = requestState;\r\n // Add CCS parameters if available\r\n if (authCodeResponse.client_info) {\r\n this.authCodeRequest.clientInfo = authCodeResponse.client_info;\r\n }\r\n else {\r\n cachedCcsCred = this.checkCcsCredentials();\r\n if (cachedCcsCred) {\r\n this.authCodeRequest.ccsCredential = cachedCcsCred;\r\n }\r\n }\r\n return [4 /*yield*/, this.authModule.acquireToken(this.authCodeRequest, authCodeResponse)];\r\n case 3:\r\n tokenResponse = _a.sent();\r\n this.browserStorage.cleanRequestByState(state);\r\n return [2 /*return*/, tokenResponse];\r\n }\r\n });\r\n });\r\n };\r\n return RedirectHandler;\r\n}(InteractionHandler));\n\nexport { RedirectHandler };\n","/*! @azure/msal-browser v2.32.1 2022-12-07 */\n'use strict';\nimport { __extends, __awaiter, __generator } from '../_virtual/_tslib.js';\nimport { StringUtils, Constants, UrlString } from '@azure/msal-common';\nimport { InteractionHandler } from './InteractionHandler.js';\nimport { BrowserAuthError } from '../error/BrowserAuthError.js';\nimport { DEFAULT_IFRAME_TIMEOUT_MS } from '../config/Configuration.js';\n\n/*\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * Licensed under the MIT License.\r\n */\r\nvar SilentHandler = /** @class */ (function (_super) {\r\n __extends(SilentHandler, _super);\r\n function SilentHandler(authCodeModule, storageImpl, authCodeRequest, logger, systemOptions) {\r\n var _this = _super.call(this, authCodeModule, storageImpl, authCodeRequest, logger) || this;\r\n _this.navigateFrameWait = systemOptions.navigateFrameWait;\r\n _this.pollIntervalMilliseconds = systemOptions.pollIntervalMilliseconds;\r\n return _this;\r\n }\r\n /**\r\n * Creates a hidden iframe to given URL using user-requested scopes as an id.\r\n * @param urlNavigate\r\n * @param userRequestScopes\r\n */\r\n SilentHandler.prototype.initiateAuthRequest = function (requestUrl) {\r\n return __awaiter(this, void 0, void 0, function () {\r\n var _a;\r\n return __generator(this, function (_b) {\r\n switch (_b.label) {\r\n case 0:\r\n if (StringUtils.isEmpty(requestUrl)) {\r\n // Throw error if request URL is empty.\r\n this.logger.info(\"Navigate url is empty\");\r\n throw BrowserAuthError.createEmptyNavigationUriError();\r\n }\r\n if (!this.navigateFrameWait) return [3 /*break*/, 2];\r\n return [4 /*yield*/, this.loadFrame(requestUrl)];\r\n case 1:\r\n _a = _b.sent();\r\n return [3 /*break*/, 3];\r\n case 2:\r\n _a = this.loadFrameSync(requestUrl);\r\n _b.label = 3;\r\n case 3: return [2 /*return*/, _a];\r\n }\r\n });\r\n });\r\n };\r\n /**\r\n * Monitors an iframe content window until it loads a url with a known hash, or hits a specified timeout.\r\n * @param iframe\r\n * @param timeout\r\n */\r\n SilentHandler.prototype.monitorIframeForHash = function (iframe, timeout) {\r\n var _this = this;\r\n return new Promise(function (resolve, reject) {\r\n if (timeout < DEFAULT_IFRAME_TIMEOUT_MS) {\r\n _this.logger.warning(\"system.loadFrameTimeout or system.iframeHashTimeout set to lower (\" + timeout + \"ms) than the default (\" + DEFAULT_IFRAME_TIMEOUT_MS + \"ms). This may result in timeouts.\");\r\n }\r\n /*\r\n * Polling for iframes can be purely timing based,\r\n * since we don't need to account for interaction.\r\n */\r\n var nowMark = window.performance.now();\r\n var timeoutMark = nowMark + timeout;\r\n var intervalId = setInterval(function () {\r\n if (window.performance.now() > timeoutMark) {\r\n _this.removeHiddenIframe(iframe);\r\n clearInterval(intervalId);\r\n reject(BrowserAuthError.createMonitorIframeTimeoutError());\r\n return;\r\n }\r\n var href = Constants.EMPTY_STRING;\r\n var contentWindow = iframe.contentWindow;\r\n try {\r\n /*\r\n * Will throw if cross origin,\r\n * which should be caught and ignored\r\n * since we need the interval to keep running while on STS UI.\r\n */\r\n href = contentWindow ? contentWindow.location.href : Constants.EMPTY_STRING;\r\n }\r\n catch (e) { }\r\n if (StringUtils.isEmpty(href)) {\r\n return;\r\n }\r\n var contentHash = contentWindow ? contentWindow.location.hash : Constants.EMPTY_STRING;\r\n if (UrlString.hashContainsKnownProperties(contentHash)) {\r\n // Success case\r\n _this.removeHiddenIframe(iframe);\r\n clearInterval(intervalId);\r\n resolve(contentHash);\r\n return;\r\n }\r\n }, _this.pollIntervalMilliseconds);\r\n });\r\n };\r\n /**\r\n * @hidden\r\n * Loads iframe with authorization endpoint URL\r\n * @ignore\r\n */\r\n SilentHandler.prototype.loadFrame = function (urlNavigate) {\r\n /*\r\n * This trick overcomes iframe navigation in IE\r\n * IE does not load the page consistently in iframe\r\n */\r\n var _this = this;\r\n return new Promise(function (resolve, reject) {\r\n var frameHandle = _this.createHiddenIframe();\r\n setTimeout(function () {\r\n if (!frameHandle) {\r\n reject(\"Unable to load iframe\");\r\n return;\r\n }\r\n frameHandle.src = urlNavigate;\r\n resolve(frameHandle);\r\n }, _this.navigateFrameWait);\r\n });\r\n };\r\n /**\r\n * @hidden\r\n * Loads the iframe synchronously when the navigateTimeFrame is set to `0`\r\n * @param urlNavigate\r\n * @param frameName\r\n * @param logger\r\n */\r\n SilentHandler.prototype.loadFrameSync = function (urlNavigate) {\r\n var frameHandle = this.createHiddenIframe();\r\n frameHandle.src = urlNavigate;\r\n return frameHandle;\r\n };\r\n /**\r\n * @hidden\r\n * Creates a new hidden iframe or gets an existing one for silent token renewal.\r\n * @ignore\r\n */\r\n SilentHandler.prototype.createHiddenIframe = function () {\r\n var authFrame = document.createElement(\"iframe\");\r\n authFrame.style.visibility = \"hidden\";\r\n authFrame.style.position = \"absolute\";\r\n authFrame.style.width = authFrame.style.height = \"0\";\r\n authFrame.style.border = \"0\";\r\n authFrame.setAttribute(\"sandbox\", \"allow-scripts allow-same-origin allow-forms\");\r\n document.getElementsByTagName(\"body\")[0].appendChild(authFrame);\r\n return authFrame;\r\n };\r\n /**\r\n * @hidden\r\n * Removes a hidden iframe from the page.\r\n * @ignore\r\n */\r\n SilentHandler.prototype.removeHiddenIframe = function (iframe) {\r\n if (document.body === iframe.parentNode) {\r\n document.body.removeChild(iframe);\r\n }\r\n };\r\n return SilentHandler;\r\n}(InteractionHandler));\n\nexport { SilentHandler };\n","/*! @azure/msal-browser v2.32.1 2022-12-07 */\n'use strict';\n/*\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * Licensed under the MIT License.\r\n */\r\nvar NavigationClient = /** @class */ (function () {\r\n function NavigationClient() {\r\n }\r\n /**\r\n * Navigates to other pages within the same web application\r\n * @param url\r\n * @param options\r\n */\r\n NavigationClient.prototype.navigateInternal = function (url, options) {\r\n return NavigationClient.defaultNavigateWindow(url, options);\r\n };\r\n /**\r\n * Navigates to other pages outside the web application i.e. the Identity Provider\r\n * @param url\r\n * @param options\r\n */\r\n NavigationClient.prototype.navigateExternal = function (url, options) {\r\n return NavigationClient.defaultNavigateWindow(url, options);\r\n };\r\n /**\r\n * Default navigation implementation invoked by the internal and external functions\r\n * @param url\r\n * @param options\r\n */\r\n NavigationClient.defaultNavigateWindow = function (url, options) {\r\n if (options.noHistory) {\r\n window.location.replace(url);\r\n }\r\n else {\r\n window.location.assign(url);\r\n }\r\n return new Promise(function (resolve) {\r\n setTimeout(function () {\r\n resolve(true);\r\n }, options.timeout);\r\n });\r\n };\r\n return NavigationClient;\r\n}());\n\nexport { NavigationClient };\n","/*! @azure/msal-browser v2.32.1 2022-12-07 */\n'use strict';\nimport { __awaiter, __generator } from '../_virtual/_tslib.js';\nimport { Constants } from '@azure/msal-common';\nimport { BrowserAuthError } from '../error/BrowserAuthError.js';\nimport { HTTP_REQUEST_TYPE } from '../utils/BrowserConstants.js';\n\n/*\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * Licensed under the MIT License.\r\n */\r\n/**\r\n * This class implements the Fetch API for GET and POST requests. See more here: https://developer.mozilla.org/en-US/docs/Web/API/Fetch_API\r\n */\r\nvar FetchClient = /** @class */ (function () {\r\n function FetchClient() {\r\n }\r\n /**\r\n * Fetch Client for REST endpoints - Get request\r\n * @param url\r\n * @param headers\r\n * @param body\r\n */\r\n FetchClient.prototype.sendGetRequestAsync = function (url, options) {\r\n return __awaiter(this, void 0, void 0, function () {\r\n var response, e_1, _a;\r\n return __generator(this, function (_b) {\r\n switch (_b.label) {\r\n case 0:\r\n _b.trys.push([0, 2, , 3]);\r\n return [4 /*yield*/, fetch(url, {\r\n method: HTTP_REQUEST_TYPE.GET,\r\n headers: this.getFetchHeaders(options)\r\n })];\r\n case 1:\r\n response = _b.sent();\r\n return [3 /*break*/, 3];\r\n case 2:\r\n e_1 = _b.sent();\r\n if (window.navigator.onLine) {\r\n throw BrowserAuthError.createGetRequestFailedError(e_1, url);\r\n }\r\n else {\r\n throw BrowserAuthError.createNoNetworkConnectivityError();\r\n }\r\n case 3:\r\n _b.trys.push([3, 5, , 6]);\r\n _a = {\r\n headers: this.getHeaderDict(response.headers)\r\n };\r\n return [4 /*yield*/, response.json()];\r\n case 4: return [2 /*return*/, (_a.body = (_b.sent()),\r\n _a.status = response.status,\r\n _a)];\r\n case 5:\r\n _b.sent();\r\n throw BrowserAuthError.createFailedToParseNetworkResponseError(url);\r\n case 6: return [2 /*return*/];\r\n }\r\n });\r\n });\r\n };\r\n /**\r\n * Fetch Client for REST endpoints - Post request\r\n * @param url\r\n * @param headers\r\n * @param body\r\n */\r\n FetchClient.prototype.sendPostRequestAsync = function (url, options) {\r\n return __awaiter(this, void 0, void 0, function () {\r\n var reqBody, response, e_3, _a;\r\n return __generator(this, function (_b) {\r\n switch (_b.label) {\r\n case 0:\r\n reqBody = (options && options.body) || Constants.EMPTY_STRING;\r\n _b.label = 1;\r\n case 1:\r\n _b.trys.push([1, 3, , 4]);\r\n return [4 /*yield*/, fetch(url, {\r\n method: HTTP_REQUEST_TYPE.POST,\r\n headers: this.getFetchHeaders(options),\r\n body: reqBody\r\n })];\r\n case 2:\r\n response = _b.sent();\r\n return [3 /*break*/, 4];\r\n case 3:\r\n e_3 = _b.sent();\r\n if (window.navigator.onLine) {\r\n throw BrowserAuthError.createPostRequestFailedError(e_3, url);\r\n }\r\n else {\r\n throw BrowserAuthError.createNoNetworkConnectivityError();\r\n }\r\n case 4:\r\n _b.trys.push([4, 6, , 7]);\r\n _a = {\r\n headers: this.getHeaderDict(response.headers)\r\n };\r\n return [4 /*yield*/, response.json()];\r\n case 5: return [2 /*return*/, (_a.body = (_b.sent()),\r\n _a.status = response.status,\r\n _a)];\r\n case 6:\r\n _b.sent();\r\n throw BrowserAuthError.createFailedToParseNetworkResponseError(url);\r\n case 7: return [2 /*return*/];\r\n }\r\n });\r\n });\r\n };\r\n /**\r\n * Get Fetch API Headers object from string map\r\n * @param inputHeaders\r\n */\r\n FetchClient.prototype.getFetchHeaders = function (options) {\r\n var headers = new Headers();\r\n if (!(options && options.headers)) {\r\n return headers;\r\n }\r\n var optionsHeaders = options.headers;\r\n Object.keys(optionsHeaders).forEach(function (key) {\r\n headers.append(key, optionsHeaders[key]);\r\n });\r\n return headers;\r\n };\r\n FetchClient.prototype.getHeaderDict = function (headers) {\r\n var headerDict = {};\r\n headers.forEach(function (value, key) {\r\n headerDict[key] = value;\r\n });\r\n return headerDict;\r\n };\r\n return FetchClient;\r\n}());\n\nexport { FetchClient };\n","/*! @azure/msal-browser v2.32.1 2022-12-07 */\n'use strict';\nimport { __awaiter, __generator } from '../_virtual/_tslib.js';\nimport { BrowserAuthError } from '../error/BrowserAuthError.js';\nimport { HTTP_REQUEST_TYPE } from '../utils/BrowserConstants.js';\n\n/*\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * Licensed under the MIT License.\r\n */\r\n/**\r\n * This client implements the XMLHttpRequest class to send GET and POST requests.\r\n */\r\nvar XhrClient = /** @class */ (function () {\r\n function XhrClient() {\r\n }\r\n /**\r\n * XhrClient for REST endpoints - Get request\r\n * @param url\r\n * @param headers\r\n * @param body\r\n */\r\n XhrClient.prototype.sendGetRequestAsync = function (url, options) {\r\n return __awaiter(this, void 0, void 0, function () {\r\n return __generator(this, function (_a) {\r\n return [2 /*return*/, this.sendRequestAsync(url, HTTP_REQUEST_TYPE.GET, options)];\r\n });\r\n });\r\n };\r\n /**\r\n * XhrClient for REST endpoints - Post request\r\n * @param url\r\n * @param headers\r\n * @param body\r\n */\r\n XhrClient.prototype.sendPostRequestAsync = function (url, options) {\r\n return __awaiter(this, void 0, void 0, function () {\r\n return __generator(this, function (_a) {\r\n return [2 /*return*/, this.sendRequestAsync(url, HTTP_REQUEST_TYPE.POST, options)];\r\n });\r\n });\r\n };\r\n /**\r\n * Helper for XhrClient requests.\r\n * @param url\r\n * @param method\r\n * @param options\r\n */\r\n XhrClient.prototype.sendRequestAsync = function (url, method, options) {\r\n var _this = this;\r\n return new Promise(function (resolve, reject) {\r\n var xhr = new XMLHttpRequest();\r\n xhr.open(method, url, /* async: */ true);\r\n _this.setXhrHeaders(xhr, options);\r\n xhr.onload = function () {\r\n if (xhr.status < 200 || xhr.status >= 300) {\r\n if (method === HTTP_REQUEST_TYPE.POST) {\r\n reject(BrowserAuthError.createPostRequestFailedError(\"Failed with status \" + xhr.status, url));\r\n }\r\n else {\r\n reject(BrowserAuthError.createGetRequestFailedError(\"Failed with status \" + xhr.status, url));\r\n }\r\n }\r\n try {\r\n var jsonResponse = JSON.parse(xhr.responseText);\r\n var networkResponse = {\r\n headers: _this.getHeaderDict(xhr),\r\n body: jsonResponse,\r\n status: xhr.status\r\n };\r\n resolve(networkResponse);\r\n }\r\n catch (e) {\r\n reject(BrowserAuthError.createFailedToParseNetworkResponseError(url));\r\n }\r\n };\r\n xhr.onerror = function () {\r\n if (window.navigator.onLine) {\r\n if (method === HTTP_REQUEST_TYPE.POST) {\r\n reject(BrowserAuthError.createPostRequestFailedError(\"Failed with status \" + xhr.status, url));\r\n }\r\n else {\r\n reject(BrowserAuthError.createGetRequestFailedError(\"Failed with status \" + xhr.status, url));\r\n }\r\n }\r\n else {\r\n reject(BrowserAuthError.createNoNetworkConnectivityError());\r\n }\r\n };\r\n if (method === HTTP_REQUEST_TYPE.POST && options && options.body) {\r\n xhr.send(options.body);\r\n }\r\n else if (method === HTTP_REQUEST_TYPE.GET) {\r\n xhr.send();\r\n }\r\n else {\r\n throw BrowserAuthError.createHttpMethodNotImplementedError(method);\r\n }\r\n });\r\n };\r\n /**\r\n * Helper to set XHR headers for request.\r\n * @param xhr\r\n * @param options\r\n */\r\n XhrClient.prototype.setXhrHeaders = function (xhr, options) {\r\n if (options && options.headers) {\r\n var headers_1 = options.headers;\r\n Object.keys(headers_1).forEach(function (key) {\r\n xhr.setRequestHeader(key, headers_1[key]);\r\n });\r\n }\r\n };\r\n /**\r\n * Gets a string map of the headers received in the response.\r\n *\r\n * Algorithm comes from https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest/getAllResponseHeaders\r\n * @param xhr\r\n */\r\n XhrClient.prototype.getHeaderDict = function (xhr) {\r\n var headerString = xhr.getAllResponseHeaders();\r\n var headerArr = headerString.trim().split(/[\\r\\n]+/);\r\n var headerDict = {};\r\n headerArr.forEach(function (value) {\r\n var parts = value.split(\": \");\r\n var headerName = parts.shift();\r\n var headerVal = parts.join(\": \");\r\n if (headerName && headerVal) {\r\n headerDict[headerName] = headerVal;\r\n }\r\n });\r\n return headerDict;\r\n };\r\n return XhrClient;\r\n}());\n\nexport { XhrClient };\n","/*! @azure/msal-browser v2.32.1 2022-12-07 */\n'use strict';\n/* eslint-disable header/header */\r\nvar name = \"@azure/msal-browser\";\r\nvar version = \"2.32.1\";\n\nexport { name, version };\n","/*! @azure/msal-browser v2.32.1 2022-12-07 */\n'use strict';\nimport { __extends, __assign } from '../_virtual/_tslib.js';\nimport { PerformanceClient } from '@azure/msal-common';\nimport { BrowserCrypto } from '../crypto/BrowserCrypto.js';\nimport { GuidGenerator } from '../crypto/GuidGenerator.js';\nimport { BrowserPerformanceMeasurement } from './BrowserPerformanceMeasurement.js';\n\n/*\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * Licensed under the MIT License.\r\n */\r\nvar BrowserPerformanceClient = /** @class */ (function (_super) {\r\n __extends(BrowserPerformanceClient, _super);\r\n function BrowserPerformanceClient(clientId, authority, logger, libraryName, libraryVersion, applicationTelemetry, cryptoOptions) {\r\n var _this = _super.call(this, clientId, authority, logger, libraryName, libraryVersion, applicationTelemetry) || this;\r\n _this.browserCrypto = new BrowserCrypto(_this.logger, cryptoOptions);\r\n _this.guidGenerator = new GuidGenerator(_this.browserCrypto);\r\n return _this;\r\n }\r\n BrowserPerformanceClient.prototype.startPerformanceMeasuremeant = function (measureName, correlationId) {\r\n return new BrowserPerformanceMeasurement(measureName, correlationId);\r\n };\r\n BrowserPerformanceClient.prototype.generateId = function () {\r\n return this.guidGenerator.generateGuid();\r\n };\r\n BrowserPerformanceClient.prototype.getPageVisibility = function () {\r\n var _a;\r\n return ((_a = document.visibilityState) === null || _a === void 0 ? void 0 : _a.toString()) || null;\r\n };\r\n /**\r\n * Starts measuring performance for a given operation. Returns a function that should be used to end the measurement.\r\n * Also captures browser page visibilityState.\r\n *\r\n * @param {PerformanceEvents} measureName\r\n * @param {?string} [correlationId]\r\n * @returns {((event?: Partial) => PerformanceEvent| null)}\r\n */\r\n BrowserPerformanceClient.prototype.startMeasurement = function (measureName, correlationId) {\r\n var _this = this;\r\n // Capture page visibilityState and then invoke start/end measurement\r\n var startPageVisibility = this.getPageVisibility();\r\n var inProgressEvent = _super.prototype.startMeasurement.call(this, measureName, correlationId);\r\n return __assign(__assign({}, inProgressEvent), { endMeasurement: function (event) {\r\n return inProgressEvent.endMeasurement(__assign({ startPageVisibility: startPageVisibility, endPageVisibility: _this.getPageVisibility() }, event));\r\n } });\r\n };\r\n return BrowserPerformanceClient;\r\n}(PerformanceClient));\n\nexport { BrowserPerformanceClient };\n","/*! @azure/msal-browser v2.32.1 2022-12-07 */\n'use strict';\n/*\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * Licensed under the MIT License.\r\n */\r\nvar BrowserPerformanceMeasurement = /** @class */ (function () {\r\n function BrowserPerformanceMeasurement(name, correlationId) {\r\n this.correlationId = correlationId;\r\n this.measureName = \"msal.measure.\" + name + \".\" + this.correlationId;\r\n this.startMark = \"msal.start.\" + name + \".\" + this.correlationId;\r\n this.endMark = \"msal.end.\" + name + \".\" + this.correlationId;\r\n }\r\n BrowserPerformanceMeasurement.supportsBrowserPerformance = function () {\r\n return typeof window !== \"undefined\" &&\r\n typeof window.performance !== \"undefined\" &&\r\n typeof window.performance.mark === \"function\" &&\r\n typeof window.performance.measure === \"function\" &&\r\n typeof window.performance.clearMarks === \"function\" &&\r\n typeof window.performance.clearMeasures === \"function\" &&\r\n typeof window.performance.getEntriesByName === \"function\";\r\n };\r\n BrowserPerformanceMeasurement.prototype.startMeasurement = function () {\r\n if (BrowserPerformanceMeasurement.supportsBrowserPerformance()) {\r\n try {\r\n window.performance.mark(this.startMark);\r\n }\r\n catch (e) {\r\n // Silently catch\r\n }\r\n }\r\n };\r\n BrowserPerformanceMeasurement.prototype.endMeasurement = function () {\r\n if (BrowserPerformanceMeasurement.supportsBrowserPerformance()) {\r\n try {\r\n window.performance.mark(this.endMark);\r\n window.performance.measure(this.measureName, this.startMark, this.endMark);\r\n }\r\n catch (e) {\r\n // Silently catch\r\n }\r\n }\r\n };\r\n BrowserPerformanceMeasurement.prototype.flushMeasurement = function () {\r\n if (BrowserPerformanceMeasurement.supportsBrowserPerformance()) {\r\n try {\r\n var entriesForMeasurement = window.performance.getEntriesByName(this.measureName, \"measure\");\r\n if (entriesForMeasurement.length > 0) {\r\n var durationMs = entriesForMeasurement[0].duration;\r\n window.performance.clearMeasures(this.measureName);\r\n window.performance.clearMarks(this.startMark);\r\n window.performance.clearMarks(this.endMark);\r\n return durationMs;\r\n }\r\n }\r\n catch (e) {\r\n // Silently catch and return null\r\n }\r\n }\r\n return null;\r\n };\r\n return BrowserPerformanceMeasurement;\r\n}());\n\nexport { BrowserPerformanceMeasurement };\n","/*! @azure/msal-browser v2.32.1 2022-12-07 */\n'use strict';\nimport { OIDC_DEFAULT_SCOPES } from '@azure/msal-common';\n\n/*\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * Licensed under the MIT License.\r\n */\r\n/**\r\n * Constants\r\n */\r\nvar BrowserConstants = {\r\n /**\r\n * Interaction in progress cache value\r\n */\r\n INTERACTION_IN_PROGRESS_VALUE: \"interaction_in_progress\",\r\n /**\r\n * Invalid grant error code\r\n */\r\n INVALID_GRANT_ERROR: \"invalid_grant\",\r\n /**\r\n * Default popup window width\r\n */\r\n POPUP_WIDTH: 483,\r\n /**\r\n * Default popup window height\r\n */\r\n POPUP_HEIGHT: 600,\r\n /**\r\n * Name of the popup window starts with\r\n */\r\n POPUP_NAME_PREFIX: \"msal\",\r\n /**\r\n * Default popup monitor poll interval in milliseconds\r\n */\r\n DEFAULT_POLL_INTERVAL_MS: 30,\r\n /**\r\n * Msal-browser SKU\r\n */\r\n MSAL_SKU: \"msal.js.browser\",\r\n};\r\nvar NativeConstants = {\r\n CHANNEL_ID: \"53ee284d-920a-4b59-9d30-a60315b26836\",\r\n PREFERRED_EXTENSION_ID: \"ppnbnpeolgkicgegkbkbjmhlideopiji\",\r\n MATS_TELEMETRY: \"MATS\"\r\n};\r\nvar NativeExtensionMethod;\r\n(function (NativeExtensionMethod) {\r\n NativeExtensionMethod[\"HandshakeRequest\"] = \"Handshake\";\r\n NativeExtensionMethod[\"HandshakeResponse\"] = \"HandshakeResponse\";\r\n NativeExtensionMethod[\"GetToken\"] = \"GetToken\";\r\n NativeExtensionMethod[\"Response\"] = \"Response\";\r\n})(NativeExtensionMethod || (NativeExtensionMethod = {}));\r\nvar BrowserCacheLocation;\r\n(function (BrowserCacheLocation) {\r\n BrowserCacheLocation[\"LocalStorage\"] = \"localStorage\";\r\n BrowserCacheLocation[\"SessionStorage\"] = \"sessionStorage\";\r\n BrowserCacheLocation[\"MemoryStorage\"] = \"memoryStorage\";\r\n})(BrowserCacheLocation || (BrowserCacheLocation = {}));\r\n/**\r\n * HTTP Request types supported by MSAL.\r\n */\r\nvar HTTP_REQUEST_TYPE;\r\n(function (HTTP_REQUEST_TYPE) {\r\n HTTP_REQUEST_TYPE[\"GET\"] = \"GET\";\r\n HTTP_REQUEST_TYPE[\"POST\"] = \"POST\";\r\n})(HTTP_REQUEST_TYPE || (HTTP_REQUEST_TYPE = {}));\r\n/**\r\n * Temporary cache keys for MSAL, deleted after any request.\r\n */\r\nvar TemporaryCacheKeys;\r\n(function (TemporaryCacheKeys) {\r\n TemporaryCacheKeys[\"AUTHORITY\"] = \"authority\";\r\n TemporaryCacheKeys[\"ACQUIRE_TOKEN_ACCOUNT\"] = \"acquireToken.account\";\r\n TemporaryCacheKeys[\"SESSION_STATE\"] = \"session.state\";\r\n TemporaryCacheKeys[\"REQUEST_STATE\"] = \"request.state\";\r\n TemporaryCacheKeys[\"NONCE_IDTOKEN\"] = \"nonce.id_token\";\r\n TemporaryCacheKeys[\"ORIGIN_URI\"] = \"request.origin\";\r\n TemporaryCacheKeys[\"RENEW_STATUS\"] = \"token.renew.status\";\r\n TemporaryCacheKeys[\"URL_HASH\"] = \"urlHash\";\r\n TemporaryCacheKeys[\"REQUEST_PARAMS\"] = \"request.params\";\r\n TemporaryCacheKeys[\"SCOPES\"] = \"scopes\";\r\n TemporaryCacheKeys[\"INTERACTION_STATUS_KEY\"] = \"interaction.status\";\r\n TemporaryCacheKeys[\"CCS_CREDENTIAL\"] = \"ccs.credential\";\r\n TemporaryCacheKeys[\"CORRELATION_ID\"] = \"request.correlationId\";\r\n TemporaryCacheKeys[\"NATIVE_REQUEST\"] = \"request.native\";\r\n TemporaryCacheKeys[\"REDIRECT_CONTEXT\"] = \"request.redirect.context\";\r\n})(TemporaryCacheKeys || (TemporaryCacheKeys = {}));\r\n/**\r\n * Cache keys stored in-memory\r\n */\r\nvar InMemoryCacheKeys;\r\n(function (InMemoryCacheKeys) {\r\n InMemoryCacheKeys[\"WRAPPER_SKU\"] = \"wrapper.sku\";\r\n InMemoryCacheKeys[\"WRAPPER_VER\"] = \"wrapper.version\";\r\n})(InMemoryCacheKeys || (InMemoryCacheKeys = {}));\r\n/**\r\n * API Codes for Telemetry purposes.\r\n * Before adding a new code you must claim it in the MSAL Telemetry tracker as these number spaces are shared across all MSALs\r\n * 0-99 Silent Flow\r\n * 800-899 Auth Code Flow\r\n */\r\nvar ApiId;\r\n(function (ApiId) {\r\n ApiId[ApiId[\"acquireTokenRedirect\"] = 861] = \"acquireTokenRedirect\";\r\n ApiId[ApiId[\"acquireTokenPopup\"] = 862] = \"acquireTokenPopup\";\r\n ApiId[ApiId[\"ssoSilent\"] = 863] = \"ssoSilent\";\r\n ApiId[ApiId[\"acquireTokenSilent_authCode\"] = 864] = \"acquireTokenSilent_authCode\";\r\n ApiId[ApiId[\"handleRedirectPromise\"] = 865] = \"handleRedirectPromise\";\r\n ApiId[ApiId[\"acquireTokenByCode\"] = 866] = \"acquireTokenByCode\";\r\n ApiId[ApiId[\"acquireTokenSilent_silentFlow\"] = 61] = \"acquireTokenSilent_silentFlow\";\r\n ApiId[ApiId[\"logout\"] = 961] = \"logout\";\r\n ApiId[ApiId[\"logoutPopup\"] = 962] = \"logoutPopup\";\r\n})(ApiId || (ApiId = {}));\r\n/*\r\n * Interaction type of the API - used for state and telemetry\r\n */\r\nvar InteractionType;\r\n(function (InteractionType) {\r\n InteractionType[\"Redirect\"] = \"redirect\";\r\n InteractionType[\"Popup\"] = \"popup\";\r\n InteractionType[\"Silent\"] = \"silent\";\r\n InteractionType[\"None\"] = \"none\";\r\n})(InteractionType || (InteractionType = {}));\r\n/**\r\n * Types of interaction currently in progress.\r\n * Used in events in wrapper libraries to invoke functions when certain interaction is in progress or all interactions are complete.\r\n */\r\nvar InteractionStatus;\r\n(function (InteractionStatus) {\r\n /**\r\n * Initial status before interaction occurs\r\n */\r\n InteractionStatus[\"Startup\"] = \"startup\";\r\n /**\r\n * Status set when all login calls occuring\r\n */\r\n InteractionStatus[\"Login\"] = \"login\";\r\n /**\r\n * Status set when logout call occuring\r\n */\r\n InteractionStatus[\"Logout\"] = \"logout\";\r\n /**\r\n * Status set for acquireToken calls\r\n */\r\n InteractionStatus[\"AcquireToken\"] = \"acquireToken\";\r\n /**\r\n * Status set for ssoSilent calls\r\n */\r\n InteractionStatus[\"SsoSilent\"] = \"ssoSilent\";\r\n /**\r\n * Status set when handleRedirect in progress\r\n */\r\n InteractionStatus[\"HandleRedirect\"] = \"handleRedirect\";\r\n /**\r\n * Status set when interaction is complete\r\n */\r\n InteractionStatus[\"None\"] = \"none\";\r\n})(InteractionStatus || (InteractionStatus = {}));\r\nvar DEFAULT_REQUEST = {\r\n scopes: OIDC_DEFAULT_SCOPES\r\n};\r\n/**\r\n * JWK Key Format string (Type MUST be defined for window crypto APIs)\r\n */\r\nvar KEY_FORMAT_JWK = \"jwk\";\r\n// Supported wrapper SKUs\r\nvar WrapperSKU;\r\n(function (WrapperSKU) {\r\n WrapperSKU[\"React\"] = \"@azure/msal-react\";\r\n WrapperSKU[\"Angular\"] = \"@azure/msal-angular\";\r\n})(WrapperSKU || (WrapperSKU = {}));\r\n// DatabaseStorage Constants\r\nvar DB_NAME = \"msal.db\";\r\nvar DB_VERSION = 1;\r\nvar DB_TABLE_NAME = DB_NAME + \".keys\";\r\nvar CacheLookupPolicy;\r\n(function (CacheLookupPolicy) {\r\n /*\r\n * acquireTokenSilent will attempt to retrieve an access token from the cache. If the access token is expired\r\n * or cannot be found the refresh token will be used to acquire a new one. Finally, if the refresh token\r\n * is expired acquireTokenSilent will attempt to acquire new access and refresh tokens.\r\n */\r\n CacheLookupPolicy[CacheLookupPolicy[\"Default\"] = 0] = \"Default\";\r\n /*\r\n * acquireTokenSilent will only look for access tokens in the cache. It will not attempt to renew access or\r\n * refresh tokens.\r\n */\r\n CacheLookupPolicy[CacheLookupPolicy[\"AccessToken\"] = 1] = \"AccessToken\";\r\n /*\r\n * acquireTokenSilent will attempt to retrieve an access token from the cache. If the access token is expired or\r\n * cannot be found, the refresh token will be used to acquire a new one. If the refresh token is expired, it\r\n * will not be renewed and acquireTokenSilent will fail.\r\n */\r\n CacheLookupPolicy[CacheLookupPolicy[\"AccessTokenAndRefreshToken\"] = 2] = \"AccessTokenAndRefreshToken\";\r\n /*\r\n * acquireTokenSilent will not attempt to retrieve access tokens from the cache and will instead attempt to\r\n * exchange the cached refresh token for a new access token. If the refresh token is expired, it will not be\r\n * renewed and acquireTokenSilent will fail.\r\n */\r\n CacheLookupPolicy[CacheLookupPolicy[\"RefreshToken\"] = 3] = \"RefreshToken\";\r\n /*\r\n * acquireTokenSilent will not look in the cache for the access token. It will go directly to network with the\r\n * cached refresh token. If the refresh token is expired an attempt will be made to renew it. This is equivalent to\r\n * setting \"forceRefresh: true\".\r\n */\r\n CacheLookupPolicy[CacheLookupPolicy[\"RefreshTokenAndNetwork\"] = 4] = \"RefreshTokenAndNetwork\";\r\n /*\r\n * acquireTokenSilent will attempt to renew both access and refresh tokens. It will not look in the cache. This will\r\n * always fail if 3rd party cookies are blocked by the browser.\r\n */\r\n CacheLookupPolicy[CacheLookupPolicy[\"Skip\"] = 5] = \"Skip\";\r\n})(CacheLookupPolicy || (CacheLookupPolicy = {}));\n\nexport { ApiId, BrowserCacheLocation, BrowserConstants, CacheLookupPolicy, DB_NAME, DB_TABLE_NAME, DB_VERSION, DEFAULT_REQUEST, HTTP_REQUEST_TYPE, InMemoryCacheKeys, InteractionStatus, InteractionType, KEY_FORMAT_JWK, NativeConstants, NativeExtensionMethod, TemporaryCacheKeys, WrapperSKU };\n","/*! @azure/msal-browser v2.32.1 2022-12-07 */\n'use strict';\nimport { StringUtils, ProtocolUtils, ClientAuthError, UrlString } from '@azure/msal-common';\n\n/*\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * Licensed under the MIT License.\r\n */\r\nvar BrowserProtocolUtils = /** @class */ (function () {\r\n function BrowserProtocolUtils() {\r\n }\r\n /**\r\n * Extracts the BrowserStateObject from the state string.\r\n * @param browserCrypto\r\n * @param state\r\n */\r\n BrowserProtocolUtils.extractBrowserRequestState = function (browserCrypto, state) {\r\n if (StringUtils.isEmpty(state)) {\r\n return null;\r\n }\r\n try {\r\n var requestStateObj = ProtocolUtils.parseRequestState(browserCrypto, state);\r\n return requestStateObj.libraryState.meta;\r\n }\r\n catch (e) {\r\n throw ClientAuthError.createInvalidStateError(state, e);\r\n }\r\n };\r\n /**\r\n * Parses properties of server response from url hash\r\n * @param locationHash Hash from url\r\n */\r\n BrowserProtocolUtils.parseServerResponseFromHash = function (locationHash) {\r\n if (!locationHash) {\r\n return {};\r\n }\r\n var hashUrlString = new UrlString(locationHash);\r\n return UrlString.getDeserializedHash(hashUrlString.getHash());\r\n };\r\n return BrowserProtocolUtils;\r\n}());\n\nexport { BrowserProtocolUtils };\n","/*! @azure/msal-browser v2.32.1 2022-12-07 */\n'use strict';\nimport { Constants } from '@azure/msal-common';\n\n/*\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * Licensed under the MIT License.\r\n */\r\n/**\r\n * Utility functions for strings in a browser. See here for implementation details:\r\n * https://developer.mozilla.org/en-US/docs/Web/API/WindowBase64/Base64_encoding_and_decoding#Solution_2_%E2%80%93_JavaScript's_UTF-16_%3E_UTF-8_%3E_base64\r\n */\r\nvar BrowserStringUtils = /** @class */ (function () {\r\n function BrowserStringUtils() {\r\n }\r\n /**\r\n * Converts string to Uint8Array\r\n * @param sDOMStr\r\n */\r\n BrowserStringUtils.stringToUtf8Arr = function (sDOMStr) {\r\n var nChr;\r\n var nArrLen = 0;\r\n var nStrLen = sDOMStr.length;\r\n /* mapping... */\r\n for (var nMapIdx = 0; nMapIdx < nStrLen; nMapIdx++) {\r\n nChr = sDOMStr.charCodeAt(nMapIdx);\r\n nArrLen += nChr < 0x80 ? 1 : nChr < 0x800 ? 2 : nChr < 0x10000 ? 3 : nChr < 0x200000 ? 4 : nChr < 0x4000000 ? 5 : 6;\r\n }\r\n var aBytes = new Uint8Array(nArrLen);\r\n /* transcription... */\r\n for (var nIdx = 0, nChrIdx = 0; nIdx < nArrLen; nChrIdx++) {\r\n nChr = sDOMStr.charCodeAt(nChrIdx);\r\n if (nChr < 128) {\r\n /* one byte */\r\n aBytes[nIdx++] = nChr;\r\n }\r\n else if (nChr < 0x800) {\r\n /* two bytes */\r\n aBytes[nIdx++] = 192 + (nChr >>> 6);\r\n aBytes[nIdx++] = 128 + (nChr & 63);\r\n }\r\n else if (nChr < 0x10000) {\r\n /* three bytes */\r\n aBytes[nIdx++] = 224 + (nChr >>> 12);\r\n aBytes[nIdx++] = 128 + (nChr >>> 6 & 63);\r\n aBytes[nIdx++] = 128 + (nChr & 63);\r\n }\r\n else if (nChr < 0x200000) {\r\n /* four bytes */\r\n aBytes[nIdx++] = 240 + (nChr >>> 18);\r\n aBytes[nIdx++] = 128 + (nChr >>> 12 & 63);\r\n aBytes[nIdx++] = 128 + (nChr >>> 6 & 63);\r\n aBytes[nIdx++] = 128 + (nChr & 63);\r\n }\r\n else if (nChr < 0x4000000) {\r\n /* five bytes */\r\n aBytes[nIdx++] = 248 + (nChr >>> 24);\r\n aBytes[nIdx++] = 128 + (nChr >>> 18 & 63);\r\n aBytes[nIdx++] = 128 + (nChr >>> 12 & 63);\r\n aBytes[nIdx++] = 128 + (nChr >>> 6 & 63);\r\n aBytes[nIdx++] = 128 + (nChr & 63);\r\n }\r\n else /* if (nChr <= 0x7fffffff) */ {\r\n /* six bytes */\r\n aBytes[nIdx++] = 252 + (nChr >>> 30);\r\n aBytes[nIdx++] = 128 + (nChr >>> 24 & 63);\r\n aBytes[nIdx++] = 128 + (nChr >>> 18 & 63);\r\n aBytes[nIdx++] = 128 + (nChr >>> 12 & 63);\r\n aBytes[nIdx++] = 128 + (nChr >>> 6 & 63);\r\n aBytes[nIdx++] = 128 + (nChr & 63);\r\n }\r\n }\r\n return aBytes;\r\n };\r\n /**\r\n * Converst string to ArrayBuffer\r\n * @param dataString\r\n */\r\n BrowserStringUtils.stringToArrayBuffer = function (dataString) {\r\n var data = new ArrayBuffer(dataString.length);\r\n var dataView = new Uint8Array(data);\r\n for (var i = 0; i < dataString.length; i++) {\r\n dataView[i] = dataString.charCodeAt(i);\r\n }\r\n return data;\r\n };\r\n /**\r\n * Converts Uint8Array to a string\r\n * @param aBytes\r\n */\r\n BrowserStringUtils.utf8ArrToString = function (aBytes) {\r\n var sView = Constants.EMPTY_STRING;\r\n for (var nPart = void 0, nLen = aBytes.length, nIdx = 0; nIdx < nLen; nIdx++) {\r\n nPart = aBytes[nIdx];\r\n sView += String.fromCharCode(nPart > 251 && nPart < 254 && nIdx + 5 < nLen ? /* six bytes */\r\n /* (nPart - 252 << 30) may be not so safe in ECMAScript! So...: */\r\n (nPart - 252) * 1073741824 + (aBytes[++nIdx] - 128 << 24) + (aBytes[++nIdx] - 128 << 18) + (aBytes[++nIdx] - 128 << 12) + (aBytes[++nIdx] - 128 << 6) + aBytes[++nIdx] - 128\r\n : nPart > 247 && nPart < 252 && nIdx + 4 < nLen ? /* five bytes */\r\n (nPart - 248 << 24) + (aBytes[++nIdx] - 128 << 18) + (aBytes[++nIdx] - 128 << 12) + (aBytes[++nIdx] - 128 << 6) + aBytes[++nIdx] - 128\r\n : nPart > 239 && nPart < 248 && nIdx + 3 < nLen ? /* four bytes */\r\n (nPart - 240 << 18) + (aBytes[++nIdx] - 128 << 12) + (aBytes[++nIdx] - 128 << 6) + aBytes[++nIdx] - 128\r\n : nPart > 223 && nPart < 240 && nIdx + 2 < nLen ? /* three bytes */\r\n (nPart - 224 << 12) + (aBytes[++nIdx] - 128 << 6) + aBytes[++nIdx] - 128\r\n : nPart > 191 && nPart < 224 && nIdx + 1 < nLen ? /* two bytes */\r\n (nPart - 192 << 6) + aBytes[++nIdx] - 128\r\n : /* nPart < 127 ? */ /* one byte */\r\n nPart);\r\n }\r\n return sView;\r\n };\r\n /**\r\n * Returns stringified jwk.\r\n * @param jwk\r\n */\r\n BrowserStringUtils.getSortedObjectString = function (obj) {\r\n return JSON.stringify(obj, Object.keys(obj).sort());\r\n };\r\n return BrowserStringUtils;\r\n}());\n\nexport { BrowserStringUtils };\n","/*! @azure/msal-browser v2.32.1 2022-12-07 */\n'use strict';\nimport { Constants, UrlString } from '@azure/msal-common';\nimport { FetchClient } from '../network/FetchClient.js';\nimport { XhrClient } from '../network/XhrClient.js';\nimport { BrowserAuthError } from '../error/BrowserAuthError.js';\nimport { BrowserConstants, InteractionType } from './BrowserConstants.js';\n\n/*\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * Licensed under the MIT License.\r\n */\r\n/**\r\n * Utility class for browser specific functions\r\n */\r\nvar BrowserUtils = /** @class */ (function () {\r\n function BrowserUtils() {\r\n }\r\n // #region Window Navigation and URL management\r\n /**\r\n * Clears hash from window url.\r\n */\r\n BrowserUtils.clearHash = function (contentWindow) {\r\n // Office.js sets history.replaceState to null\r\n contentWindow.location.hash = Constants.EMPTY_STRING;\r\n if (typeof contentWindow.history.replaceState === \"function\") {\r\n // Full removes \"#\" from url\r\n contentWindow.history.replaceState(null, Constants.EMPTY_STRING, \"\" + contentWindow.location.origin + contentWindow.location.pathname + contentWindow.location.search);\r\n }\r\n };\r\n /**\r\n * Replaces current hash with hash from provided url\r\n */\r\n BrowserUtils.replaceHash = function (url) {\r\n var urlParts = url.split(\"#\");\r\n urlParts.shift(); // Remove part before the hash\r\n window.location.hash = urlParts.length > 0 ? urlParts.join(\"#\") : Constants.EMPTY_STRING;\r\n };\r\n /**\r\n * Returns boolean of whether the current window is in an iframe or not.\r\n */\r\n BrowserUtils.isInIframe = function () {\r\n return window.parent !== window;\r\n };\r\n /**\r\n * Returns boolean of whether or not the current window is a popup opened by msal\r\n */\r\n BrowserUtils.isInPopup = function () {\r\n return typeof window !== \"undefined\" && !!window.opener &&\r\n window.opener !== window &&\r\n typeof window.name === \"string\" &&\r\n window.name.indexOf(BrowserConstants.POPUP_NAME_PREFIX + \".\") === 0;\r\n };\r\n // #endregion\r\n /**\r\n * Returns current window URL as redirect uri\r\n */\r\n BrowserUtils.getCurrentUri = function () {\r\n return window.location.href.split(\"?\")[0].split(\"#\")[0];\r\n };\r\n /**\r\n * Gets the homepage url for the current window location.\r\n */\r\n BrowserUtils.getHomepage = function () {\r\n var currentUrl = new UrlString(window.location.href);\r\n var urlComponents = currentUrl.getUrlComponents();\r\n return urlComponents.Protocol + \"//\" + urlComponents.HostNameAndPort + \"/\";\r\n };\r\n /**\r\n * Returns best compatible network client object.\r\n */\r\n BrowserUtils.getBrowserNetworkClient = function () {\r\n if (window.fetch && window.Headers) {\r\n return new FetchClient();\r\n }\r\n else {\r\n return new XhrClient();\r\n }\r\n };\r\n /**\r\n * Throws error if we have completed an auth and are\r\n * attempting another auth request inside an iframe.\r\n */\r\n BrowserUtils.blockReloadInHiddenIframes = function () {\r\n var isResponseHash = UrlString.hashContainsKnownProperties(window.location.hash);\r\n // return an error if called from the hidden iframe created by the msal js silent calls\r\n if (isResponseHash && BrowserUtils.isInIframe()) {\r\n throw BrowserAuthError.createBlockReloadInHiddenIframeError();\r\n }\r\n };\r\n /**\r\n * Block redirect operations in iframes unless explicitly allowed\r\n * @param interactionType Interaction type for the request\r\n * @param allowRedirectInIframe Config value to allow redirects when app is inside an iframe\r\n */\r\n BrowserUtils.blockRedirectInIframe = function (interactionType, allowRedirectInIframe) {\r\n var isIframedApp = BrowserUtils.isInIframe();\r\n if (interactionType === InteractionType.Redirect && isIframedApp && !allowRedirectInIframe) {\r\n // If we are not in top frame, we shouldn't redirect. This is also handled by the service.\r\n throw BrowserAuthError.createRedirectInIframeError(isIframedApp);\r\n }\r\n };\r\n /**\r\n * Block redirectUri loaded in popup from calling AcquireToken APIs\r\n */\r\n BrowserUtils.blockAcquireTokenInPopups = function () {\r\n // Popups opened by msal popup APIs are given a name that starts with \"msal.\"\r\n if (BrowserUtils.isInPopup()) {\r\n throw BrowserAuthError.createBlockAcquireTokenInPopupsError();\r\n }\r\n };\r\n /**\r\n * Throws error if token requests are made in non-browser environment\r\n * @param isBrowserEnvironment Flag indicating if environment is a browser.\r\n */\r\n BrowserUtils.blockNonBrowserEnvironment = function (isBrowserEnvironment) {\r\n if (!isBrowserEnvironment) {\r\n throw BrowserAuthError.createNonBrowserEnvironmentError();\r\n }\r\n };\r\n /**\r\n * Throws error if native brokering is enabled but initialize hasn't been called\r\n * @param allowNativeBroker\r\n * @param initialized\r\n */\r\n BrowserUtils.blockNativeBrokerCalledBeforeInitialized = function (allowNativeBroker, initialized) {\r\n if (allowNativeBroker && !initialized) {\r\n throw BrowserAuthError.createNativeBrokerCalledBeforeInitialize();\r\n }\r\n };\r\n /**\r\n * Returns boolean of whether current browser is an Internet Explorer or Edge browser.\r\n */\r\n BrowserUtils.detectIEOrEdge = function () {\r\n var ua = window.navigator.userAgent;\r\n var msie = ua.indexOf(\"MSIE \");\r\n var msie11 = ua.indexOf(\"Trident/\");\r\n var msedge = ua.indexOf(\"Edge/\");\r\n var isIE = msie > 0 || msie11 > 0;\r\n var isEdge = msedge > 0;\r\n return isIE || isEdge;\r\n };\r\n return BrowserUtils;\r\n}());\n\nexport { BrowserUtils };\n","/*! @azure/msal-browser v2.32.1 2022-12-07 */\n'use strict';\n/*\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * Licensed under the MIT License.\r\n */\r\n/**\r\n * Utility class for math specific functions in browser.\r\n */\r\nvar MathUtils = /** @class */ (function () {\r\n function MathUtils() {\r\n }\r\n /**\r\n * Decimal to Hex\r\n *\r\n * @param num\r\n */\r\n MathUtils.decimalToHex = function (num) {\r\n var hex = num.toString(16);\r\n while (hex.length < 2) {\r\n hex = \"0\" + hex;\r\n }\r\n return hex;\r\n };\r\n return MathUtils;\r\n}());\n\nexport { MathUtils };\n","/*! @azure/msal-common v9.1.1 2023-01-19 */\n'use strict';\n/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nfunction __extends(d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nvar __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n };\r\n return __assign.apply(this, arguments);\r\n};\r\n\r\nfunction __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nfunction __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nfunction __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n}\n\nexport { __assign, __awaiter, __extends, __generator, __spreadArrays };\n","/*! @azure/msal-common v9.1.1 2023-01-19 */\n'use strict';\nimport { ClientAuthError } from '../error/ClientAuthError.js';\nimport { StringUtils } from '../utils/StringUtils.js';\n\n/*\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * Licensed under the MIT License.\r\n */\r\n/**\r\n * JWT Token representation class. Parses token string and generates claims object.\r\n */\r\nvar AuthToken = /** @class */ (function () {\r\n function AuthToken(rawToken, crypto) {\r\n if (StringUtils.isEmpty(rawToken)) {\r\n throw ClientAuthError.createTokenNullOrEmptyError(rawToken);\r\n }\r\n this.rawToken = rawToken;\r\n this.claims = AuthToken.extractTokenClaims(rawToken, crypto);\r\n }\r\n /**\r\n * Extract token by decoding the rawToken\r\n *\r\n * @param encodedToken\r\n */\r\n AuthToken.extractTokenClaims = function (encodedToken, crypto) {\r\n var decodedToken = StringUtils.decodeAuthToken(encodedToken);\r\n // token will be decoded to get the username\r\n try {\r\n var base64TokenPayload = decodedToken.JWSPayload;\r\n // base64Decode() should throw an error if there is an issue\r\n var base64Decoded = crypto.base64Decode(base64TokenPayload);\r\n return JSON.parse(base64Decoded);\r\n }\r\n catch (err) {\r\n throw ClientAuthError.createTokenParsingError(err);\r\n }\r\n };\r\n /**\r\n * Determine if the token's max_age has transpired\r\n */\r\n AuthToken.checkMaxAge = function (authTime, maxAge) {\r\n /*\r\n * per https://openid.net/specs/openid-connect-core-1_0.html#AuthRequest\r\n * To force an immediate re-authentication: If an app requires that a user re-authenticate prior to access,\r\n * provide a value of 0 for the max_age parameter and the AS will force a fresh login.\r\n */\r\n var fiveMinuteSkew = 300000; // five minutes in milliseconds\r\n if ((maxAge === 0) || ((Date.now() - fiveMinuteSkew) > (authTime + maxAge))) {\r\n throw ClientAuthError.createMaxAgeTranspiredError();\r\n }\r\n };\r\n return AuthToken;\r\n}());\n\nexport { AuthToken };\n","/*! @azure/msal-common v9.1.1 2023-01-19 */\n'use strict';\n/*\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * Licensed under the MIT License.\r\n */\r\nvar CcsCredentialType;\r\n(function (CcsCredentialType) {\r\n CcsCredentialType[\"HOME_ACCOUNT_ID\"] = \"home_account_id\";\r\n CcsCredentialType[\"UPN\"] = \"UPN\";\r\n})(CcsCredentialType || (CcsCredentialType = {}));\n\nexport { CcsCredentialType };\n","/*! @azure/msal-common v9.1.1 2023-01-19 */\n'use strict';\nimport { ClientAuthError } from '../error/ClientAuthError.js';\nimport { StringUtils } from '../utils/StringUtils.js';\nimport { Separators, Constants } from '../utils/Constants.js';\n\n/*\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * Licensed under the MIT License.\r\n */\r\n/**\r\n * Function to build a client info object from server clientInfo string\r\n * @param rawClientInfo\r\n * @param crypto\r\n */\r\nfunction buildClientInfo(rawClientInfo, crypto) {\r\n if (StringUtils.isEmpty(rawClientInfo)) {\r\n throw ClientAuthError.createClientInfoEmptyError();\r\n }\r\n try {\r\n var decodedClientInfo = crypto.base64Decode(rawClientInfo);\r\n return JSON.parse(decodedClientInfo);\r\n }\r\n catch (e) {\r\n throw ClientAuthError.createClientInfoDecodingError(e.message);\r\n }\r\n}\r\n/**\r\n * Function to build a client info object from cached homeAccountId string\r\n * @param homeAccountId\r\n */\r\nfunction buildClientInfoFromHomeAccountId(homeAccountId) {\r\n if (StringUtils.isEmpty(homeAccountId)) {\r\n throw ClientAuthError.createClientInfoDecodingError(\"Home account ID was empty.\");\r\n }\r\n var clientInfoParts = homeAccountId.split(Separators.CLIENT_INFO_SEPARATOR, 2);\r\n return {\r\n uid: clientInfoParts[0],\r\n utid: clientInfoParts.length < 2 ? Constants.EMPTY_STRING : clientInfoParts[1]\r\n };\r\n}\n\nexport { buildClientInfo, buildClientInfoFromHomeAccountId };\n","/*! @azure/msal-common v9.1.1 2023-01-19 */\n'use strict';\nimport { __awaiter, __generator, __assign } from '../_virtual/_tslib.js';\nimport { AuthorityType } from './AuthorityType.js';\nimport { isOpenIdConfigResponse } from './OpenIdConfigResponse.js';\nimport { UrlString } from '../url/UrlString.js';\nimport { ClientAuthError } from '../error/ClientAuthError.js';\nimport { Constants, AuthorityMetadataSource, RegionDiscoveryOutcomes } from '../utils/Constants.js';\nimport { EndpointMetadata, InstanceDiscoveryMetadata } from './AuthorityMetadata.js';\nimport { ClientConfigurationError } from '../error/ClientConfigurationError.js';\nimport { ProtocolMode } from './ProtocolMode.js';\nimport { AuthorityMetadataEntity } from '../cache/entities/AuthorityMetadataEntity.js';\nimport { AzureCloudInstance } from './AuthorityOptions.js';\nimport { isCloudInstanceDiscoveryResponse } from './CloudInstanceDiscoveryResponse.js';\nimport { isCloudInstanceDiscoveryErrorResponse } from './CloudInstanceDiscoveryErrorResponse.js';\nimport { RegionDiscovery } from './RegionDiscovery.js';\nimport { AuthError } from '../error/AuthError.js';\n\n/*\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * Licensed under the MIT License.\r\n */\r\n/**\r\n * The authority class validates the authority URIs used by the user, and retrieves the OpenID Configuration Data from the\r\n * endpoint. It will store the pertinent config data in this object for use during token calls.\r\n */\r\nvar Authority = /** @class */ (function () {\r\n function Authority(authority, networkInterface, cacheManager, authorityOptions, logger, proxyUrl) {\r\n this.canonicalAuthority = authority;\r\n this._canonicalAuthority.validateAsUri();\r\n this.networkInterface = networkInterface;\r\n this.cacheManager = cacheManager;\r\n this.authorityOptions = authorityOptions;\r\n this.regionDiscovery = new RegionDiscovery(networkInterface);\r\n this.regionDiscoveryMetadata = { region_used: undefined, region_source: undefined, region_outcome: undefined };\r\n this.proxyUrl = proxyUrl || Constants.EMPTY_STRING;\r\n this.logger = logger;\r\n }\r\n Object.defineProperty(Authority.prototype, \"authorityType\", {\r\n // See above for AuthorityType\r\n get: function () {\r\n var pathSegments = this.canonicalAuthorityUrlComponents.PathSegments;\r\n if (pathSegments.length) {\r\n switch (pathSegments[0].toLowerCase()) {\r\n case Constants.ADFS:\r\n return AuthorityType.Adfs;\r\n case Constants.DSTS:\r\n return AuthorityType.Dsts;\r\n }\r\n }\r\n return AuthorityType.Default;\r\n },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n Object.defineProperty(Authority.prototype, \"protocolMode\", {\r\n /**\r\n * ProtocolMode enum representing the way endpoints are constructed.\r\n */\r\n get: function () {\r\n return this.authorityOptions.protocolMode;\r\n },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n Object.defineProperty(Authority.prototype, \"options\", {\r\n /**\r\n * Returns authorityOptions which can be used to reinstantiate a new authority instance\r\n */\r\n get: function () {\r\n return this.authorityOptions;\r\n },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n Object.defineProperty(Authority.prototype, \"canonicalAuthority\", {\r\n /**\r\n * A URL that is the authority set by the developer\r\n */\r\n get: function () {\r\n return this._canonicalAuthority.urlString;\r\n },\r\n /**\r\n * Sets canonical authority.\r\n */\r\n set: function (url) {\r\n this._canonicalAuthority = new UrlString(url);\r\n this._canonicalAuthority.validateAsUri();\r\n this._canonicalAuthorityUrlComponents = null;\r\n },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n Object.defineProperty(Authority.prototype, \"canonicalAuthorityUrlComponents\", {\r\n /**\r\n * Get authority components.\r\n */\r\n get: function () {\r\n if (!this._canonicalAuthorityUrlComponents) {\r\n this._canonicalAuthorityUrlComponents = this._canonicalAuthority.getUrlComponents();\r\n }\r\n return this._canonicalAuthorityUrlComponents;\r\n },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n Object.defineProperty(Authority.prototype, \"hostnameAndPort\", {\r\n /**\r\n * Get hostname and port i.e. login.microsoftonline.com\r\n */\r\n get: function () {\r\n return this.canonicalAuthorityUrlComponents.HostNameAndPort.toLowerCase();\r\n },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n Object.defineProperty(Authority.prototype, \"tenant\", {\r\n /**\r\n * Get tenant for authority.\r\n */\r\n get: function () {\r\n return this.canonicalAuthorityUrlComponents.PathSegments[0];\r\n },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n Object.defineProperty(Authority.prototype, \"authorizationEndpoint\", {\r\n /**\r\n * OAuth /authorize endpoint for requests\r\n */\r\n get: function () {\r\n if (this.discoveryComplete()) {\r\n var endpoint = this.replacePath(this.metadata.authorization_endpoint);\r\n return this.replaceTenant(endpoint);\r\n }\r\n else {\r\n throw ClientAuthError.createEndpointDiscoveryIncompleteError(\"Discovery incomplete.\");\r\n }\r\n },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n Object.defineProperty(Authority.prototype, \"tokenEndpoint\", {\r\n /**\r\n * OAuth /token endpoint for requests\r\n */\r\n get: function () {\r\n if (this.discoveryComplete()) {\r\n var endpoint = this.replacePath(this.metadata.token_endpoint);\r\n return this.replaceTenant(endpoint);\r\n }\r\n else {\r\n throw ClientAuthError.createEndpointDiscoveryIncompleteError(\"Discovery incomplete.\");\r\n }\r\n },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n Object.defineProperty(Authority.prototype, \"deviceCodeEndpoint\", {\r\n get: function () {\r\n if (this.discoveryComplete()) {\r\n var endpoint = this.replacePath(this.metadata.token_endpoint.replace(\"/token\", \"/devicecode\"));\r\n return this.replaceTenant(endpoint);\r\n }\r\n else {\r\n throw ClientAuthError.createEndpointDiscoveryIncompleteError(\"Discovery incomplete.\");\r\n }\r\n },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n Object.defineProperty(Authority.prototype, \"endSessionEndpoint\", {\r\n /**\r\n * OAuth logout endpoint for requests\r\n */\r\n get: function () {\r\n if (this.discoveryComplete()) {\r\n // ROPC policies may not have end_session_endpoint set\r\n if (!this.metadata.end_session_endpoint) {\r\n throw ClientAuthError.createLogoutNotSupportedError();\r\n }\r\n var endpoint = this.replacePath(this.metadata.end_session_endpoint);\r\n return this.replaceTenant(endpoint);\r\n }\r\n else {\r\n throw ClientAuthError.createEndpointDiscoveryIncompleteError(\"Discovery incomplete.\");\r\n }\r\n },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n Object.defineProperty(Authority.prototype, \"selfSignedJwtAudience\", {\r\n /**\r\n * OAuth issuer for requests\r\n */\r\n get: function () {\r\n if (this.discoveryComplete()) {\r\n var endpoint = this.replacePath(this.metadata.issuer);\r\n return this.replaceTenant(endpoint);\r\n }\r\n else {\r\n throw ClientAuthError.createEndpointDiscoveryIncompleteError(\"Discovery incomplete.\");\r\n }\r\n },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n Object.defineProperty(Authority.prototype, \"jwksUri\", {\r\n /**\r\n * Jwks_uri for token signing keys\r\n */\r\n get: function () {\r\n if (this.discoveryComplete()) {\r\n var endpoint = this.replacePath(this.metadata.jwks_uri);\r\n return this.replaceTenant(endpoint);\r\n }\r\n else {\r\n throw ClientAuthError.createEndpointDiscoveryIncompleteError(\"Discovery incomplete.\");\r\n }\r\n },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n /**\r\n * Replaces tenant in url path with current tenant. Defaults to common.\r\n * @param urlString\r\n */\r\n Authority.prototype.replaceTenant = function (urlString) {\r\n return urlString.replace(/{tenant}|{tenantid}/g, this.tenant);\r\n };\r\n /**\r\n * Replaces path such as tenant or policy with the current tenant or policy.\r\n * @param urlString\r\n */\r\n Authority.prototype.replacePath = function (urlString) {\r\n var endpoint = urlString;\r\n var cachedAuthorityUrl = new UrlString(this.metadata.canonical_authority);\r\n var cachedAuthorityParts = cachedAuthorityUrl.getUrlComponents().PathSegments;\r\n var currentAuthorityParts = this.canonicalAuthorityUrlComponents.PathSegments;\r\n currentAuthorityParts.forEach(function (currentPart, index) {\r\n var cachedPart = cachedAuthorityParts[index];\r\n if (currentPart !== cachedPart) {\r\n endpoint = endpoint.replace(\"/\" + cachedPart + \"/\", \"/\" + currentPart + \"/\");\r\n }\r\n });\r\n return endpoint;\r\n };\r\n Object.defineProperty(Authority.prototype, \"defaultOpenIdConfigurationEndpoint\", {\r\n /**\r\n * The default open id configuration endpoint for any canonical authority.\r\n */\r\n get: function () {\r\n if (this.authorityType === AuthorityType.Adfs ||\r\n this.authorityType === AuthorityType.Dsts ||\r\n this.protocolMode === ProtocolMode.OIDC) {\r\n return this.canonicalAuthority + \".well-known/openid-configuration\";\r\n }\r\n return this.canonicalAuthority + \"v2.0/.well-known/openid-configuration\";\r\n },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n /**\r\n * Boolean that returns whethr or not tenant discovery has been completed.\r\n */\r\n Authority.prototype.discoveryComplete = function () {\r\n return !!this.metadata;\r\n };\r\n /**\r\n * Perform endpoint discovery to discover aliases, preferred_cache, preferred_network\r\n * and the /authorize, /token and logout endpoints.\r\n */\r\n Authority.prototype.resolveEndpointsAsync = function () {\r\n return __awaiter(this, void 0, void 0, function () {\r\n var metadataEntity, cloudDiscoverySource, endpointSource, cacheKey;\r\n return __generator(this, function (_a) {\r\n switch (_a.label) {\r\n case 0:\r\n metadataEntity = this.cacheManager.getAuthorityMetadataByAlias(this.hostnameAndPort);\r\n if (!metadataEntity) {\r\n metadataEntity = new AuthorityMetadataEntity();\r\n metadataEntity.updateCanonicalAuthority(this.canonicalAuthority);\r\n }\r\n return [4 /*yield*/, this.updateCloudDiscoveryMetadata(metadataEntity)];\r\n case 1:\r\n cloudDiscoverySource = _a.sent();\r\n this.canonicalAuthority = this.canonicalAuthority.replace(this.hostnameAndPort, metadataEntity.preferred_network);\r\n return [4 /*yield*/, this.updateEndpointMetadata(metadataEntity)];\r\n case 2:\r\n endpointSource = _a.sent();\r\n if (cloudDiscoverySource !== AuthorityMetadataSource.CACHE && endpointSource !== AuthorityMetadataSource.CACHE) {\r\n // Reset the expiration time unless both values came from a successful cache lookup\r\n metadataEntity.resetExpiresAt();\r\n metadataEntity.updateCanonicalAuthority(this.canonicalAuthority);\r\n }\r\n cacheKey = this.cacheManager.generateAuthorityMetadataCacheKey(metadataEntity.preferred_cache);\r\n this.cacheManager.setAuthorityMetadata(cacheKey, metadataEntity);\r\n this.metadata = metadataEntity;\r\n return [2 /*return*/];\r\n }\r\n });\r\n });\r\n };\r\n /**\r\n * Update AuthorityMetadataEntity with new endpoints and return where the information came from\r\n * @param metadataEntity\r\n */\r\n Authority.prototype.updateEndpointMetadata = function (metadataEntity) {\r\n var _a, _b;\r\n return __awaiter(this, void 0, void 0, function () {\r\n var metadata, harcodedMetadata;\r\n return __generator(this, function (_c) {\r\n switch (_c.label) {\r\n case 0:\r\n metadata = this.getEndpointMetadataFromConfig();\r\n if (metadata) {\r\n metadataEntity.updateEndpointMetadata(metadata, false);\r\n return [2 /*return*/, AuthorityMetadataSource.CONFIG];\r\n }\r\n if (this.isAuthoritySameType(metadataEntity) && metadataEntity.endpointsFromNetwork && !metadataEntity.isExpired()) {\r\n // No need to update\r\n return [2 /*return*/, AuthorityMetadataSource.CACHE];\r\n }\r\n harcodedMetadata = this.getEndpointMetadataFromHardcodedValues();\r\n return [4 /*yield*/, this.getEndpointMetadataFromNetwork()];\r\n case 1:\r\n metadata = _c.sent();\r\n if (!metadata) return [3 /*break*/, 4];\r\n if (!((_a = this.authorityOptions.azureRegionConfiguration) === null || _a === void 0 ? void 0 : _a.azureRegion)) return [3 /*break*/, 3];\r\n return [4 /*yield*/, this.updateMetadataWithRegionalInformation(metadata)];\r\n case 2:\r\n metadata = _c.sent();\r\n _c.label = 3;\r\n case 3:\r\n metadataEntity.updateEndpointMetadata(metadata, true);\r\n return [2 /*return*/, AuthorityMetadataSource.NETWORK];\r\n case 4:\r\n if (!(harcodedMetadata && !this.authorityOptions.skipAuthorityMetadataCache)) return [3 /*break*/, 7];\r\n if (!((_b = this.authorityOptions.azureRegionConfiguration) === null || _b === void 0 ? void 0 : _b.azureRegion)) return [3 /*break*/, 6];\r\n return [4 /*yield*/, this.updateMetadataWithRegionalInformation(harcodedMetadata)];\r\n case 5:\r\n harcodedMetadata = _c.sent();\r\n _c.label = 6;\r\n case 6:\r\n metadataEntity.updateEndpointMetadata(harcodedMetadata, false);\r\n return [2 /*return*/, AuthorityMetadataSource.HARDCODED_VALUES];\r\n case 7: throw ClientAuthError.createUnableToGetOpenidConfigError(this.defaultOpenIdConfigurationEndpoint);\r\n }\r\n });\r\n });\r\n };\r\n /**\r\n * Compares the number of url components after the domain to determine if the cached\r\n * authority metadata can be used for the requested authority. Protects against same domain different\r\n * authority such as login.microsoftonline.com/tenant and login.microsoftonline.com/tfp/tenant/policy\r\n * @param metadataEntity\r\n */\r\n Authority.prototype.isAuthoritySameType = function (metadataEntity) {\r\n var cachedAuthorityUrl = new UrlString(metadataEntity.canonical_authority);\r\n var cachedParts = cachedAuthorityUrl.getUrlComponents().PathSegments;\r\n return cachedParts.length === this.canonicalAuthorityUrlComponents.PathSegments.length;\r\n };\r\n /**\r\n * Parse authorityMetadata config option\r\n */\r\n Authority.prototype.getEndpointMetadataFromConfig = function () {\r\n if (this.authorityOptions.authorityMetadata) {\r\n try {\r\n return JSON.parse(this.authorityOptions.authorityMetadata);\r\n }\r\n catch (e) {\r\n throw ClientConfigurationError.createInvalidAuthorityMetadataError();\r\n }\r\n }\r\n return null;\r\n };\r\n /**\r\n * Gets OAuth endpoints from the given OpenID configuration endpoint.\r\n *\r\n * @param hasHardcodedMetadata boolean\r\n */\r\n Authority.prototype.getEndpointMetadataFromNetwork = function () {\r\n return __awaiter(this, void 0, void 0, function () {\r\n var options, response;\r\n return __generator(this, function (_a) {\r\n switch (_a.label) {\r\n case 0:\r\n options = {};\r\n if (this.proxyUrl) {\r\n options.proxyUrl = this.proxyUrl;\r\n }\r\n _a.label = 1;\r\n case 1:\r\n _a.trys.push([1, 3, , 4]);\r\n return [4 /*yield*/, this.networkInterface.\r\n sendGetRequestAsync(this.defaultOpenIdConfigurationEndpoint, options)];\r\n case 2:\r\n response = _a.sent();\r\n return [2 /*return*/, isOpenIdConfigResponse(response.body) ? response.body : null];\r\n case 3:\r\n _a.sent();\r\n return [2 /*return*/, null];\r\n case 4: return [2 /*return*/];\r\n }\r\n });\r\n });\r\n };\r\n /**\r\n * Get OAuth endpoints for common authorities.\r\n */\r\n Authority.prototype.getEndpointMetadataFromHardcodedValues = function () {\r\n if (this.canonicalAuthority in EndpointMetadata) {\r\n return EndpointMetadata[this.canonicalAuthority];\r\n }\r\n return null;\r\n };\r\n /**\r\n * Update the retrieved metadata with regional information.\r\n */\r\n Authority.prototype.updateMetadataWithRegionalInformation = function (metadata) {\r\n var _a, _b, _c, _d, _e;\r\n return __awaiter(this, void 0, void 0, function () {\r\n var autodetectedRegionName, azureRegion;\r\n return __generator(this, function (_f) {\r\n switch (_f.label) {\r\n case 0: return [4 /*yield*/, this.regionDiscovery.detectRegion((_a = this.authorityOptions.azureRegionConfiguration) === null || _a === void 0 ? void 0 : _a.environmentRegion, this.regionDiscoveryMetadata, this.proxyUrl)];\r\n case 1:\r\n autodetectedRegionName = _f.sent();\r\n azureRegion = ((_b = this.authorityOptions.azureRegionConfiguration) === null || _b === void 0 ? void 0 : _b.azureRegion) === Constants.AZURE_REGION_AUTO_DISCOVER_FLAG\r\n ? autodetectedRegionName\r\n : (_c = this.authorityOptions.azureRegionConfiguration) === null || _c === void 0 ? void 0 : _c.azureRegion;\r\n if (((_d = this.authorityOptions.azureRegionConfiguration) === null || _d === void 0 ? void 0 : _d.azureRegion) === Constants.AZURE_REGION_AUTO_DISCOVER_FLAG) {\r\n this.regionDiscoveryMetadata.region_outcome = autodetectedRegionName ?\r\n RegionDiscoveryOutcomes.AUTO_DETECTION_REQUESTED_SUCCESSFUL :\r\n RegionDiscoveryOutcomes.AUTO_DETECTION_REQUESTED_FAILED;\r\n }\r\n else {\r\n if (autodetectedRegionName) {\r\n this.regionDiscoveryMetadata.region_outcome = (((_e = this.authorityOptions.azureRegionConfiguration) === null || _e === void 0 ? void 0 : _e.azureRegion) === autodetectedRegionName) ?\r\n RegionDiscoveryOutcomes.CONFIGURED_MATCHES_DETECTED :\r\n RegionDiscoveryOutcomes.CONFIGURED_NOT_DETECTED;\r\n }\r\n else {\r\n this.regionDiscoveryMetadata.region_outcome = RegionDiscoveryOutcomes.CONFIGURED_NO_AUTO_DETECTION;\r\n }\r\n }\r\n if (azureRegion) {\r\n this.regionDiscoveryMetadata.region_used = azureRegion;\r\n return [2 /*return*/, Authority.replaceWithRegionalInformation(metadata, azureRegion)];\r\n }\r\n return [2 /*return*/, metadata];\r\n }\r\n });\r\n });\r\n };\r\n /**\r\n * Updates the AuthorityMetadataEntity with new aliases, preferred_network and preferred_cache\r\n * and returns where the information was retrieved from\r\n * @param cachedMetadata\r\n * @param newMetadata\r\n */\r\n Authority.prototype.updateCloudDiscoveryMetadata = function (metadataEntity) {\r\n return __awaiter(this, void 0, void 0, function () {\r\n var metadata, metadataEntityExpired, harcodedMetadata;\r\n return __generator(this, function (_a) {\r\n switch (_a.label) {\r\n case 0:\r\n this.logger.verbose(\"Attempting to get cloud discovery metadata in the config\");\r\n this.logger.verbosePii(\"Known Authorities: \" + (this.authorityOptions.knownAuthorities || Constants.NOT_APPLICABLE));\r\n this.logger.verbosePii(\"Authority Metadata: \" + (this.authorityOptions.authorityMetadata || Constants.NOT_APPLICABLE));\r\n this.logger.verbosePii(\"Canonical Authority: \" + (metadataEntity.canonical_authority || Constants.NOT_APPLICABLE));\r\n metadata = this.getCloudDiscoveryMetadataFromConfig();\r\n if (metadata) {\r\n this.logger.verbose(\"Found cloud discovery metadata in the config.\");\r\n metadataEntity.updateCloudDiscoveryMetadata(metadata, false);\r\n return [2 /*return*/, AuthorityMetadataSource.CONFIG];\r\n }\r\n // If the cached metadata came from config but that config was not passed to this instance, we must go to the network\r\n this.logger.verbose(\"Did not find cloud discovery metadata in the config... Attempting to get cloud discovery metadata from the cache.\");\r\n metadataEntityExpired = metadataEntity.isExpired();\r\n if (this.isAuthoritySameType(metadataEntity) && metadataEntity.aliasesFromNetwork && !metadataEntityExpired) {\r\n this.logger.verbose(\"Found metadata in the cache.\");\r\n // No need to update\r\n return [2 /*return*/, AuthorityMetadataSource.CACHE];\r\n }\r\n else if (metadataEntityExpired) {\r\n this.logger.verbose(\"The metadata entity is expired.\");\r\n }\r\n this.logger.verbose(\"Did not find cloud discovery metadata in the cache... Attempting to get cloud discovery metadata from the network.\");\r\n return [4 /*yield*/, this.getCloudDiscoveryMetadataFromNetwork()];\r\n case 1:\r\n metadata = _a.sent();\r\n if (metadata) {\r\n this.logger.verbose(\"cloud discovery metadata was successfully returned from getCloudDiscoveryMetadataFromNetwork()\");\r\n metadataEntity.updateCloudDiscoveryMetadata(metadata, true);\r\n return [2 /*return*/, AuthorityMetadataSource.NETWORK];\r\n }\r\n this.logger.verbose(\"Did not find cloud discovery metadata from the network... Attempting to get cloud discovery metadata from hardcoded values.\");\r\n harcodedMetadata = this.getCloudDiscoveryMetadataFromHarcodedValues();\r\n if (harcodedMetadata && !this.options.skipAuthorityMetadataCache) {\r\n this.logger.verbose(\"Found cloud discovery metadata from hardcoded values.\");\r\n metadataEntity.updateCloudDiscoveryMetadata(harcodedMetadata, false);\r\n return [2 /*return*/, AuthorityMetadataSource.HARDCODED_VALUES];\r\n }\r\n // Metadata could not be obtained from the config, cache, network or hardcoded values\r\n this.logger.error(\"Did not find cloud discovery metadata from hardcoded values... Metadata could not be obtained from config, cache, network or hardcoded values. Throwing Untrusted Authority Error.\");\r\n throw ClientConfigurationError.createUntrustedAuthorityError();\r\n }\r\n });\r\n });\r\n };\r\n /**\r\n * Parse cloudDiscoveryMetadata config or check knownAuthorities\r\n */\r\n Authority.prototype.getCloudDiscoveryMetadataFromConfig = function () {\r\n // Check if network response was provided in config\r\n if (this.authorityOptions.cloudDiscoveryMetadata) {\r\n this.logger.verbose(\"The cloud discovery metadata has been provided as a network response, in the config.\");\r\n try {\r\n this.logger.verbose(\"Attempting to parse the cloud discovery metadata.\");\r\n var parsedResponse = JSON.parse(this.authorityOptions.cloudDiscoveryMetadata);\r\n var metadata = Authority.getCloudDiscoveryMetadataFromNetworkResponse(parsedResponse.metadata, this.hostnameAndPort);\r\n this.logger.verbose(\"Parsed the cloud discovery metadata.\");\r\n if (metadata) {\r\n this.logger.verbose(\"There is returnable metadata attached to the parsed cloud discovery metadata.\");\r\n return metadata;\r\n }\r\n else {\r\n this.logger.verbose(\"There is no metadata attached to the parsed cloud discovery metadata.\");\r\n }\r\n }\r\n catch (e) {\r\n this.logger.verbose(\"Unable to parse the cloud discovery metadata. Throwing Invalid Cloud Discovery Metadata Error.\");\r\n throw ClientConfigurationError.createInvalidCloudDiscoveryMetadataError();\r\n }\r\n }\r\n // If cloudDiscoveryMetadata is empty or does not contain the host, check knownAuthorities\r\n if (this.isInKnownAuthorities()) {\r\n this.logger.verbose(\"The host is included in knownAuthorities. Creating new cloud discovery metadata from the host.\");\r\n return Authority.createCloudDiscoveryMetadataFromHost(this.hostnameAndPort);\r\n }\r\n return null;\r\n };\r\n /**\r\n * Called to get metadata from network if CloudDiscoveryMetadata was not populated by config\r\n *\r\n * @param hasHardcodedMetadata boolean\r\n */\r\n Authority.prototype.getCloudDiscoveryMetadataFromNetwork = function () {\r\n return __awaiter(this, void 0, void 0, function () {\r\n var instanceDiscoveryEndpoint, options, match, response, typedResponseBody, metadata, error_1, typedError;\r\n return __generator(this, function (_a) {\r\n switch (_a.label) {\r\n case 0:\r\n instanceDiscoveryEndpoint = \"\" + Constants.AAD_INSTANCE_DISCOVERY_ENDPT + this.canonicalAuthority + \"oauth2/v2.0/authorize\";\r\n options = {};\r\n if (this.proxyUrl) {\r\n options.proxyUrl = this.proxyUrl;\r\n }\r\n match = null;\r\n _a.label = 1;\r\n case 1:\r\n _a.trys.push([1, 3, , 4]);\r\n return [4 /*yield*/, this.networkInterface.sendGetRequestAsync(instanceDiscoveryEndpoint, options)];\r\n case 2:\r\n response = _a.sent();\r\n typedResponseBody = void 0;\r\n metadata = void 0;\r\n if (isCloudInstanceDiscoveryResponse(response.body)) {\r\n typedResponseBody = response.body;\r\n metadata = typedResponseBody.metadata;\r\n this.logger.verbosePii(\"tenant_discovery_endpoint is: \" + typedResponseBody.tenant_discovery_endpoint);\r\n }\r\n else if (isCloudInstanceDiscoveryErrorResponse(response.body)) {\r\n this.logger.warning(\"A CloudInstanceDiscoveryErrorResponse was returned. The cloud instance discovery network request's status code is: \" + response.status);\r\n typedResponseBody = response.body;\r\n if (typedResponseBody.error === Constants.INVALID_INSTANCE) {\r\n this.logger.error(\"The CloudInstanceDiscoveryErrorResponse error is invalid_instance.\");\r\n return [2 /*return*/, null];\r\n }\r\n this.logger.warning(\"The CloudInstanceDiscoveryErrorResponse error is \" + typedResponseBody.error);\r\n this.logger.warning(\"The CloudInstanceDiscoveryErrorResponse error description is \" + typedResponseBody.error_description);\r\n this.logger.warning(\"Setting the value of the CloudInstanceDiscoveryMetadata (returned from the network) to []\");\r\n metadata = [];\r\n }\r\n else {\r\n this.logger.error(\"AAD did not return a CloudInstanceDiscoveryResponse or CloudInstanceDiscoveryErrorResponse\");\r\n return [2 /*return*/, null];\r\n }\r\n this.logger.verbose(\"Attempting to find a match between the developer's authority and the CloudInstanceDiscoveryMetadata returned from the network request.\");\r\n match = Authority.getCloudDiscoveryMetadataFromNetworkResponse(metadata, this.hostnameAndPort);\r\n return [3 /*break*/, 4];\r\n case 3:\r\n error_1 = _a.sent();\r\n if (error_1 instanceof AuthError) {\r\n this.logger.error(\"There was a network error while attempting to get the cloud discovery instance metadata.\\nError: \" + error_1.errorCode + \"\\nError Description: \" + error_1.errorMessage);\r\n }\r\n else {\r\n typedError = error_1;\r\n this.logger.error(\"A non-MSALJS error was thrown while attempting to get the cloud instance discovery metadata.\\nError: \" + typedError.name + \"\\nError Description: \" + typedError.message);\r\n }\r\n return [2 /*return*/, null];\r\n case 4:\r\n // Custom Domain scenario, host is trusted because Instance Discovery call succeeded\r\n if (!match) {\r\n this.logger.warning(\"The developer's authority was not found within the CloudInstanceDiscoveryMetadata returned from the network request.\");\r\n this.logger.verbose(\"Creating custom Authority for custom domain scenario.\");\r\n match = Authority.createCloudDiscoveryMetadataFromHost(this.hostnameAndPort);\r\n }\r\n return [2 /*return*/, match];\r\n }\r\n });\r\n });\r\n };\r\n /**\r\n * Get cloud discovery metadata for common authorities\r\n */\r\n Authority.prototype.getCloudDiscoveryMetadataFromHarcodedValues = function () {\r\n if (this.canonicalAuthority in InstanceDiscoveryMetadata) {\r\n return InstanceDiscoveryMetadata[this.canonicalAuthority];\r\n }\r\n return null;\r\n };\r\n /**\r\n * Helper function to determine if this host is included in the knownAuthorities config option\r\n */\r\n Authority.prototype.isInKnownAuthorities = function () {\r\n var _this = this;\r\n var matches = this.authorityOptions.knownAuthorities.filter(function (authority) {\r\n return UrlString.getDomainFromUrl(authority).toLowerCase() === _this.hostnameAndPort;\r\n });\r\n return matches.length > 0;\r\n };\r\n /**\r\n * helper function to populate the authority based on azureCloudOptions\r\n * @param authorityString\r\n * @param azureCloudOptions\r\n */\r\n Authority.generateAuthority = function (authorityString, azureCloudOptions) {\r\n var authorityAzureCloudInstance;\r\n if (azureCloudOptions && azureCloudOptions.azureCloudInstance !== AzureCloudInstance.None) {\r\n var tenant = azureCloudOptions.tenant ? azureCloudOptions.tenant : Constants.DEFAULT_COMMON_TENANT;\r\n authorityAzureCloudInstance = azureCloudOptions.azureCloudInstance + \"/\" + tenant + \"/\";\r\n }\r\n return authorityAzureCloudInstance ? authorityAzureCloudInstance : authorityString;\r\n };\r\n /**\r\n * Creates cloud discovery metadata object from a given host\r\n * @param host\r\n */\r\n Authority.createCloudDiscoveryMetadataFromHost = function (host) {\r\n return {\r\n preferred_network: host,\r\n preferred_cache: host,\r\n aliases: [host]\r\n };\r\n };\r\n /**\r\n * Searches instance discovery network response for the entry that contains the host in the aliases list\r\n * @param response\r\n * @param authority\r\n */\r\n Authority.getCloudDiscoveryMetadataFromNetworkResponse = function (response, authority) {\r\n for (var i = 0; i < response.length; i++) {\r\n var metadata = response[i];\r\n if (metadata.aliases.indexOf(authority) > -1) {\r\n return metadata;\r\n }\r\n }\r\n return null;\r\n };\r\n /**\r\n * helper function to generate environment from authority object\r\n */\r\n Authority.prototype.getPreferredCache = function () {\r\n if (this.discoveryComplete()) {\r\n return this.metadata.preferred_cache;\r\n }\r\n else {\r\n throw ClientAuthError.createEndpointDiscoveryIncompleteError(\"Discovery incomplete.\");\r\n }\r\n };\r\n /**\r\n * Returns whether or not the provided host is an alias of this authority instance\r\n * @param host\r\n */\r\n Authority.prototype.isAlias = function (host) {\r\n return this.metadata.aliases.indexOf(host) > -1;\r\n };\r\n /**\r\n * Checks whether the provided host is that of a public cloud authority\r\n *\r\n * @param authority string\r\n * @returns bool\r\n */\r\n Authority.isPublicCloudAuthority = function (host) {\r\n return Constants.KNOWN_PUBLIC_CLOUDS.indexOf(host) >= 0;\r\n };\r\n /**\r\n * Rebuild the authority string with the region\r\n *\r\n * @param host string\r\n * @param region string\r\n */\r\n Authority.buildRegionalAuthorityString = function (host, region, queryString) {\r\n // Create and validate a Url string object with the initial authority string\r\n var authorityUrlInstance = new UrlString(host);\r\n authorityUrlInstance.validateAsUri();\r\n var authorityUrlParts = authorityUrlInstance.getUrlComponents();\r\n var hostNameAndPort = region + \".\" + authorityUrlParts.HostNameAndPort;\r\n if (this.isPublicCloudAuthority(authorityUrlParts.HostNameAndPort)) {\r\n hostNameAndPort = region + \".\" + Constants.REGIONAL_AUTH_PUBLIC_CLOUD_SUFFIX;\r\n }\r\n // Include the query string portion of the url\r\n var url = UrlString.constructAuthorityUriFromObject(__assign(__assign({}, authorityUrlInstance.getUrlComponents()), { HostNameAndPort: hostNameAndPort })).urlString;\r\n // Add the query string if a query string was provided\r\n if (queryString)\r\n return url + \"?\" + queryString;\r\n return url;\r\n };\r\n /**\r\n * Replace the endpoints in the metadata object with their regional equivalents.\r\n *\r\n * @param metadata OpenIdConfigResponse\r\n * @param azureRegion string\r\n */\r\n Authority.replaceWithRegionalInformation = function (metadata, azureRegion) {\r\n metadata.authorization_endpoint = Authority.buildRegionalAuthorityString(metadata.authorization_endpoint, azureRegion);\r\n // TODO: Enquire on whether we should leave the query string or remove it before releasing the feature\r\n metadata.token_endpoint = Authority.buildRegionalAuthorityString(metadata.token_endpoint, azureRegion, Constants.REGIONAL_AUTH_NON_MSI_QUERY_STRING);\r\n if (metadata.end_session_endpoint) {\r\n metadata.end_session_endpoint = Authority.buildRegionalAuthorityString(metadata.end_session_endpoint, azureRegion);\r\n }\r\n return metadata;\r\n };\r\n return Authority;\r\n}());\n\nexport { Authority };\n","/*! @azure/msal-common v9.1.1 2023-01-19 */\n'use strict';\nimport { __awaiter, __generator } from '../_virtual/_tslib.js';\nimport { Authority } from './Authority.js';\nimport { ClientConfigurationError } from '../error/ClientConfigurationError.js';\nimport { StringUtils } from '../utils/StringUtils.js';\nimport { ClientAuthError } from '../error/ClientAuthError.js';\n\n/*\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * Licensed under the MIT License.\r\n */\r\nvar AuthorityFactory = /** @class */ (function () {\r\n function AuthorityFactory() {\r\n }\r\n /**\r\n * Create an authority object of the correct type based on the url\r\n * Performs basic authority validation - checks to see if the authority is of a valid type (i.e. aad, b2c, adfs)\r\n *\r\n * Also performs endpoint discovery.\r\n *\r\n * @param authorityUri\r\n * @param networkClient\r\n * @param protocolMode\r\n */\r\n AuthorityFactory.createDiscoveredInstance = function (authorityUri, networkClient, cacheManager, authorityOptions, logger, proxyUrl) {\r\n return __awaiter(this, void 0, void 0, function () {\r\n var acquireTokenAuthority, e_1;\r\n return __generator(this, function (_a) {\r\n switch (_a.label) {\r\n case 0:\r\n acquireTokenAuthority = AuthorityFactory.createInstance(authorityUri, networkClient, cacheManager, authorityOptions, logger, proxyUrl);\r\n _a.label = 1;\r\n case 1:\r\n _a.trys.push([1, 3, , 4]);\r\n return [4 /*yield*/, acquireTokenAuthority.resolveEndpointsAsync()];\r\n case 2:\r\n _a.sent();\r\n return [2 /*return*/, acquireTokenAuthority];\r\n case 3:\r\n e_1 = _a.sent();\r\n throw ClientAuthError.createEndpointDiscoveryIncompleteError(e_1);\r\n case 4: return [2 /*return*/];\r\n }\r\n });\r\n });\r\n };\r\n /**\r\n * Create an authority object of the correct type based on the url\r\n * Performs basic authority validation - checks to see if the authority is of a valid type (i.e. aad, b2c, adfs)\r\n *\r\n * Does not perform endpoint discovery.\r\n *\r\n * @param authorityUrl\r\n * @param networkInterface\r\n * @param protocolMode\r\n */\r\n AuthorityFactory.createInstance = function (authorityUrl, networkInterface, cacheManager, authorityOptions, logger, proxyUrl) {\r\n // Throw error if authority url is empty\r\n if (StringUtils.isEmpty(authorityUrl)) {\r\n throw ClientConfigurationError.createUrlEmptyError();\r\n }\r\n return new Authority(authorityUrl, networkInterface, cacheManager, authorityOptions, logger, proxyUrl);\r\n };\r\n return AuthorityFactory;\r\n}());\n\nexport { AuthorityFactory };\n","/*! @azure/msal-common v9.1.1 2023-01-19 */\n'use strict';\n/*\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * Licensed under the MIT License.\r\n */\r\nvar rawMetdataJSON = { \"endpointMetadata\": { \"https://login.microsoftonline.com/common/\": { \"token_endpoint\": \"https://login.microsoftonline.com/common/oauth2/v2.0/token\", \"token_endpoint_auth_methods_supported\": [\"client_secret_post\", \"private_key_jwt\", \"client_secret_basic\"], \"jwks_uri\": \"https://login.microsoftonline.com/common/discovery/v2.0/keys\", \"response_modes_supported\": [\"query\", \"fragment\", \"form_post\"], \"subject_types_supported\": [\"pairwise\"], \"id_token_signing_alg_values_supported\": [\"RS256\"], \"response_types_supported\": [\"code\", \"id_token\", \"code id_token\", \"id_token token\"], \"scopes_supported\": [\"openid\", \"profile\", \"email\", \"offline_access\"], \"issuer\": \"https://login.microsoftonline.com/{tenantid}/v2.0\", \"request_uri_parameter_supported\": false, \"userinfo_endpoint\": \"https://graph.microsoft.com/oidc/userinfo\", \"authorization_endpoint\": \"https://login.microsoftonline.com/common/oauth2/v2.0/authorize\", \"device_authorization_endpoint\": \"https://login.microsoftonline.com/common/oauth2/v2.0/devicecode\", \"http_logout_supported\": true, \"frontchannel_logout_supported\": true, \"end_session_endpoint\": \"https://login.microsoftonline.com/common/oauth2/v2.0/logout\", \"claims_supported\": [\"sub\", \"iss\", \"cloud_instance_name\", \"cloud_instance_host_name\", \"cloud_graph_host_name\", \"msgraph_host\", \"aud\", \"exp\", \"iat\", \"auth_time\", \"acr\", \"nonce\", \"preferred_username\", \"name\", \"tid\", \"ver\", \"at_hash\", \"c_hash\", \"email\"], \"kerberos_endpoint\": \"https://login.microsoftonline.com/common/kerberos\", \"tenant_region_scope\": null, \"cloud_instance_name\": \"microsoftonline.com\", \"cloud_graph_host_name\": \"graph.windows.net\", \"msgraph_host\": \"graph.microsoft.com\", \"rbac_url\": \"https://pas.windows.net\" }, \"https://login.chinacloudapi.cn/common/\": { \"token_endpoint\": \"https://login.chinacloudapi.cn/common/oauth2/v2.0/token\", \"token_endpoint_auth_methods_supported\": [\"client_secret_post\", \"private_key_jwt\", \"client_secret_basic\"], \"jwks_uri\": \"https://login.chinacloudapi.cn/common/discovery/v2.0/keys\", \"response_modes_supported\": [\"query\", \"fragment\", \"form_post\"], \"subject_types_supported\": [\"pairwise\"], \"id_token_signing_alg_values_supported\": [\"RS256\"], \"response_types_supported\": [\"code\", \"id_token\", \"code id_token\", \"id_token token\"], \"scopes_supported\": [\"openid\", \"profile\", \"email\", \"offline_access\"], \"issuer\": \"https://login.partner.microsoftonline.cn/{tenantid}/v2.0\", \"request_uri_parameter_supported\": false, \"userinfo_endpoint\": \"https://microsoftgraph.chinacloudapi.cn/oidc/userinfo\", \"authorization_endpoint\": \"https://login.chinacloudapi.cn/common/oauth2/v2.0/authorize\", \"device_authorization_endpoint\": \"https://login.chinacloudapi.cn/common/oauth2/v2.0/devicecode\", \"http_logout_supported\": true, \"frontchannel_logout_supported\": true, \"end_session_endpoint\": \"https://login.chinacloudapi.cn/common/oauth2/v2.0/logout\", \"claims_supported\": [\"sub\", \"iss\", \"cloud_instance_name\", \"cloud_instance_host_name\", \"cloud_graph_host_name\", \"msgraph_host\", \"aud\", \"exp\", \"iat\", \"auth_time\", \"acr\", \"nonce\", \"preferred_username\", \"name\", \"tid\", \"ver\", \"at_hash\", \"c_hash\", \"email\"], \"kerberos_endpoint\": \"https://login.chinacloudapi.cn/common/kerberos\", \"tenant_region_scope\": null, \"cloud_instance_name\": \"partner.microsoftonline.cn\", \"cloud_graph_host_name\": \"graph.chinacloudapi.cn\", \"msgraph_host\": \"microsoftgraph.chinacloudapi.cn\", \"rbac_url\": \"https://pas.chinacloudapi.cn\" }, \"https://login.microsoftonline.us/common/\": { \"token_endpoint\": \"https://login.microsoftonline.us/common/oauth2/v2.0/token\", \"token_endpoint_auth_methods_supported\": [\"client_secret_post\", \"private_key_jwt\", \"client_secret_basic\"], \"jwks_uri\": \"https://login.microsoftonline.us/common/discovery/v2.0/keys\", \"response_modes_supported\": [\"query\", \"fragment\", \"form_post\"], \"subject_types_supported\": [\"pairwise\"], \"id_token_signing_alg_values_supported\": [\"RS256\"], \"response_types_supported\": [\"code\", \"id_token\", \"code id_token\", \"id_token token\"], \"scopes_supported\": [\"openid\", \"profile\", \"email\", \"offline_access\"], \"issuer\": \"https://login.microsoftonline.us/{tenantid}/v2.0\", \"request_uri_parameter_supported\": false, \"userinfo_endpoint\": \"https://graph.microsoft.com/oidc/userinfo\", \"authorization_endpoint\": \"https://login.microsoftonline.us/common/oauth2/v2.0/authorize\", \"device_authorization_endpoint\": \"https://login.microsoftonline.us/common/oauth2/v2.0/devicecode\", \"http_logout_supported\": true, \"frontchannel_logout_supported\": true, \"end_session_endpoint\": \"https://login.microsoftonline.us/common/oauth2/v2.0/logout\", \"claims_supported\": [\"sub\", \"iss\", \"cloud_instance_name\", \"cloud_instance_host_name\", \"cloud_graph_host_name\", \"msgraph_host\", \"aud\", \"exp\", \"iat\", \"auth_time\", \"acr\", \"nonce\", \"preferred_username\", \"name\", \"tid\", \"ver\", \"at_hash\", \"c_hash\", \"email\"], \"kerberos_endpoint\": \"https://login.microsoftonline.us/common/kerberos\", \"tenant_region_scope\": null, \"cloud_instance_name\": \"microsoftonline.us\", \"cloud_graph_host_name\": \"graph.windows.net\", \"msgraph_host\": \"graph.microsoft.com\", \"rbac_url\": \"https://pasff.usgovcloudapi.net\" }, \"https://login.microsoftonline.com/consumers/\": { \"token_endpoint\": \"https://login.microsoftonline.com/consumers/oauth2/v2.0/token\", \"token_endpoint_auth_methods_supported\": [\"client_secret_post\", \"private_key_jwt\", \"client_secret_basic\"], \"jwks_uri\": \"https://login.microsoftonline.com/consumers/discovery/v2.0/keys\", \"response_modes_supported\": [\"query\", \"fragment\", \"form_post\"], \"subject_types_supported\": [\"pairwise\"], \"id_token_signing_alg_values_supported\": [\"RS256\"], \"response_types_supported\": [\"code\", \"id_token\", \"code id_token\", \"id_token token\"], \"scopes_supported\": [\"openid\", \"profile\", \"email\", \"offline_access\"], \"issuer\": \"https://login.microsoftonline.com/9188040d-6c67-4c5b-b112-36a304b66dad/v2.0\", \"request_uri_parameter_supported\": false, \"userinfo_endpoint\": \"https://graph.microsoft.com/oidc/userinfo\", \"authorization_endpoint\": \"https://login.microsoftonline.com/consumers/oauth2/v2.0/authorize\", \"device_authorization_endpoint\": \"https://login.microsoftonline.com/consumers/oauth2/v2.0/devicecode\", \"http_logout_supported\": true, \"frontchannel_logout_supported\": true, \"end_session_endpoint\": \"https://login.microsoftonline.com/consumers/oauth2/v2.0/logout\", \"claims_supported\": [\"sub\", \"iss\", \"cloud_instance_name\", \"cloud_instance_host_name\", \"cloud_graph_host_name\", \"msgraph_host\", \"aud\", \"exp\", \"iat\", \"auth_time\", \"acr\", \"nonce\", \"preferred_username\", \"name\", \"tid\", \"ver\", \"at_hash\", \"c_hash\", \"email\"], \"kerberos_endpoint\": \"https://login.microsoftonline.com/consumers/kerberos\", \"tenant_region_scope\": null, \"cloud_instance_name\": \"microsoftonline.com\", \"cloud_graph_host_name\": \"graph.windows.net\", \"msgraph_host\": \"graph.microsoft.com\", \"rbac_url\": \"https://pas.windows.net\" }, \"https://login.chinacloudapi.cn/consumers/\": { \"token_endpoint\": \"https://login.chinacloudapi.cn/consumers/oauth2/v2.0/token\", \"token_endpoint_auth_methods_supported\": [\"client_secret_post\", \"private_key_jwt\", \"client_secret_basic\"], \"jwks_uri\": \"https://login.chinacloudapi.cn/consumers/discovery/v2.0/keys\", \"response_modes_supported\": [\"query\", \"fragment\", \"form_post\"], \"subject_types_supported\": [\"pairwise\"], \"id_token_signing_alg_values_supported\": [\"RS256\"], \"response_types_supported\": [\"code\", \"id_token\", \"code id_token\", \"id_token token\"], \"scopes_supported\": [\"openid\", \"profile\", \"email\", \"offline_access\"], \"issuer\": \"https://login.partner.microsoftonline.cn/9188040d-6c67-4c5b-b112-36a304b66dad/v2.0\", \"request_uri_parameter_supported\": false, \"userinfo_endpoint\": \"https://microsoftgraph.chinacloudapi.cn/oidc/userinfo\", \"authorization_endpoint\": \"https://login.chinacloudapi.cn/consumers/oauth2/v2.0/authorize\", \"device_authorization_endpoint\": \"https://login.chinacloudapi.cn/consumers/oauth2/v2.0/devicecode\", \"http_logout_supported\": true, \"frontchannel_logout_supported\": true, \"end_session_endpoint\": \"https://login.chinacloudapi.cn/consumers/oauth2/v2.0/logout\", \"claims_supported\": [\"sub\", \"iss\", \"cloud_instance_name\", \"cloud_instance_host_name\", \"cloud_graph_host_name\", \"msgraph_host\", \"aud\", \"exp\", \"iat\", \"auth_time\", \"acr\", \"nonce\", \"preferred_username\", \"name\", \"tid\", \"ver\", \"at_hash\", \"c_hash\", \"email\"], \"kerberos_endpoint\": \"https://login.chinacloudapi.cn/consumers/kerberos\", \"tenant_region_scope\": null, \"cloud_instance_name\": \"partner.microsoftonline.cn\", \"cloud_graph_host_name\": \"graph.chinacloudapi.cn\", \"msgraph_host\": \"microsoftgraph.chinacloudapi.cn\", \"rbac_url\": \"https://pas.chinacloudapi.cn\" }, \"https://login.microsoftonline.us/consumers/\": { \"token_endpoint\": \"https://login.microsoftonline.us/consumers/oauth2/v2.0/token\", \"token_endpoint_auth_methods_supported\": [\"client_secret_post\", \"private_key_jwt\", \"client_secret_basic\"], \"jwks_uri\": \"https://login.microsoftonline.us/consumers/discovery/v2.0/keys\", \"response_modes_supported\": [\"query\", \"fragment\", \"form_post\"], \"subject_types_supported\": [\"pairwise\"], \"id_token_signing_alg_values_supported\": [\"RS256\"], \"response_types_supported\": [\"code\", \"id_token\", \"code id_token\", \"id_token token\"], \"scopes_supported\": [\"openid\", \"profile\", \"email\", \"offline_access\"], \"issuer\": \"https://login.microsoftonline.us/9188040d-6c67-4c5b-b112-36a304b66dad/v2.0\", \"request_uri_parameter_supported\": false, \"userinfo_endpoint\": \"https://graph.microsoft.com/oidc/userinfo\", \"authorization_endpoint\": \"https://login.microsoftonline.us/consumers/oauth2/v2.0/authorize\", \"device_authorization_endpoint\": \"https://login.microsoftonline.us/consumers/oauth2/v2.0/devicecode\", \"http_logout_supported\": true, \"frontchannel_logout_supported\": true, \"end_session_endpoint\": \"https://login.microsoftonline.us/consumers/oauth2/v2.0/logout\", \"claims_supported\": [\"sub\", \"iss\", \"cloud_instance_name\", \"cloud_instance_host_name\", \"cloud_graph_host_name\", \"msgraph_host\", \"aud\", \"exp\", \"iat\", \"auth_time\", \"acr\", \"nonce\", \"preferred_username\", \"name\", \"tid\", \"ver\", \"at_hash\", \"c_hash\", \"email\"], \"kerberos_endpoint\": \"https://login.microsoftonline.us/consumers/kerberos\", \"tenant_region_scope\": null, \"cloud_instance_name\": \"microsoftonline.us\", \"cloud_graph_host_name\": \"graph.windows.net\", \"msgraph_host\": \"graph.microsoft.com\", \"rbac_url\": \"https://pasff.usgovcloudapi.net\" }, \"https://login.microsoftonline.com/organizations/\": { \"token_endpoint\": \"https://login.microsoftonline.com/organizations/oauth2/v2.0/token\", \"token_endpoint_auth_methods_supported\": [\"client_secret_post\", \"private_key_jwt\", \"client_secret_basic\"], \"jwks_uri\": \"https://login.microsoftonline.com/organizations/discovery/v2.0/keys\", \"response_modes_supported\": [\"query\", \"fragment\", \"form_post\"], \"subject_types_supported\": [\"pairwise\"], \"id_token_signing_alg_values_supported\": [\"RS256\"], \"response_types_supported\": [\"code\", \"id_token\", \"code id_token\", \"id_token token\"], \"scopes_supported\": [\"openid\", \"profile\", \"email\", \"offline_access\"], \"issuer\": \"https://login.microsoftonline.com/{tenantid}/v2.0\", \"request_uri_parameter_supported\": false, \"userinfo_endpoint\": \"https://graph.microsoft.com/oidc/userinfo\", \"authorization_endpoint\": \"https://login.microsoftonline.com/organizations/oauth2/v2.0/authorize\", \"device_authorization_endpoint\": \"https://login.microsoftonline.com/organizations/oauth2/v2.0/devicecode\", \"http_logout_supported\": true, \"frontchannel_logout_supported\": true, \"end_session_endpoint\": \"https://login.microsoftonline.com/organizations/oauth2/v2.0/logout\", \"claims_supported\": [\"sub\", \"iss\", \"cloud_instance_name\", \"cloud_instance_host_name\", \"cloud_graph_host_name\", \"msgraph_host\", \"aud\", \"exp\", \"iat\", \"auth_time\", \"acr\", \"nonce\", \"preferred_username\", \"name\", \"tid\", \"ver\", \"at_hash\", \"c_hash\", \"email\"], \"kerberos_endpoint\": \"https://login.microsoftonline.com/organizations/kerberos\", \"tenant_region_scope\": null, \"cloud_instance_name\": \"microsoftonline.com\", \"cloud_graph_host_name\": \"graph.windows.net\", \"msgraph_host\": \"graph.microsoft.com\", \"rbac_url\": \"https://pas.windows.net\" }, \"https://login.chinacloudapi.cn/organizations/\": { \"token_endpoint\": \"https://login.chinacloudapi.cn/organizations/oauth2/v2.0/token\", \"token_endpoint_auth_methods_supported\": [\"client_secret_post\", \"private_key_jwt\", \"client_secret_basic\"], \"jwks_uri\": \"https://login.chinacloudapi.cn/organizations/discovery/v2.0/keys\", \"response_modes_supported\": [\"query\", \"fragment\", \"form_post\"], \"subject_types_supported\": [\"pairwise\"], \"id_token_signing_alg_values_supported\": [\"RS256\"], \"response_types_supported\": [\"code\", \"id_token\", \"code id_token\", \"id_token token\"], \"scopes_supported\": [\"openid\", \"profile\", \"email\", \"offline_access\"], \"issuer\": \"https://login.partner.microsoftonline.cn/{tenantid}/v2.0\", \"request_uri_parameter_supported\": false, \"userinfo_endpoint\": \"https://microsoftgraph.chinacloudapi.cn/oidc/userinfo\", \"authorization_endpoint\": \"https://login.chinacloudapi.cn/organizations/oauth2/v2.0/authorize\", \"device_authorization_endpoint\": \"https://login.chinacloudapi.cn/organizations/oauth2/v2.0/devicecode\", \"http_logout_supported\": true, \"frontchannel_logout_supported\": true, \"end_session_endpoint\": \"https://login.chinacloudapi.cn/organizations/oauth2/v2.0/logout\", \"claims_supported\": [\"sub\", \"iss\", \"cloud_instance_name\", \"cloud_instance_host_name\", \"cloud_graph_host_name\", \"msgraph_host\", \"aud\", \"exp\", \"iat\", \"auth_time\", \"acr\", \"nonce\", \"preferred_username\", \"name\", \"tid\", \"ver\", \"at_hash\", \"c_hash\", \"email\"], \"kerberos_endpoint\": \"https://login.chinacloudapi.cn/organizations/kerberos\", \"tenant_region_scope\": null, \"cloud_instance_name\": \"partner.microsoftonline.cn\", \"cloud_graph_host_name\": \"graph.chinacloudapi.cn\", \"msgraph_host\": \"microsoftgraph.chinacloudapi.cn\", \"rbac_url\": \"https://pas.chinacloudapi.cn\" }, \"https://login.microsoftonline.us/organizations/\": { \"token_endpoint\": \"https://login.microsoftonline.us/organizations/oauth2/v2.0/token\", \"token_endpoint_auth_methods_supported\": [\"client_secret_post\", \"private_key_jwt\", \"client_secret_basic\"], \"jwks_uri\": \"https://login.microsoftonline.us/organizations/discovery/v2.0/keys\", \"response_modes_supported\": [\"query\", \"fragment\", \"form_post\"], \"subject_types_supported\": [\"pairwise\"], \"id_token_signing_alg_values_supported\": [\"RS256\"], \"response_types_supported\": [\"code\", \"id_token\", \"code id_token\", \"id_token token\"], \"scopes_supported\": [\"openid\", \"profile\", \"email\", \"offline_access\"], \"issuer\": \"https://login.microsoftonline.us/{tenantid}/v2.0\", \"request_uri_parameter_supported\": false, \"userinfo_endpoint\": \"https://graph.microsoft.com/oidc/userinfo\", \"authorization_endpoint\": \"https://login.microsoftonline.us/organizations/oauth2/v2.0/authorize\", \"device_authorization_endpoint\": \"https://login.microsoftonline.us/organizations/oauth2/v2.0/devicecode\", \"http_logout_supported\": true, \"frontchannel_logout_supported\": true, \"end_session_endpoint\": \"https://login.microsoftonline.us/organizations/oauth2/v2.0/logout\", \"claims_supported\": [\"sub\", \"iss\", \"cloud_instance_name\", \"cloud_instance_host_name\", \"cloud_graph_host_name\", \"msgraph_host\", \"aud\", \"exp\", \"iat\", \"auth_time\", \"acr\", \"nonce\", \"preferred_username\", \"name\", \"tid\", \"ver\", \"at_hash\", \"c_hash\", \"email\"], \"kerberos_endpoint\": \"https://login.microsoftonline.us/organizations/kerberos\", \"tenant_region_scope\": null, \"cloud_instance_name\": \"microsoftonline.us\", \"cloud_graph_host_name\": \"graph.windows.net\", \"msgraph_host\": \"graph.microsoft.com\", \"rbac_url\": \"https://pasff.usgovcloudapi.net\" } }, \"instanceDiscoveryMetadata\": { \"https://login.microsoftonline.com/common/\": { \"tenant_discovery_endpoint\": \"https://login.microsoftonline.com/common/v2.0/.well-known/openid-configuration\", \"api-version\": \"1.1\", \"metadata\": [{ \"preferred_network\": \"login.microsoftonline.com\", \"preferred_cache\": \"login.windows.net\", \"aliases\": [\"login.microsoftonline.com\", \"login.windows.net\", \"login.microsoft.com\", \"sts.windows.net\"] }, { \"preferred_network\": \"login.partner.microsoftonline.cn\", \"preferred_cache\": \"login.partner.microsoftonline.cn\", \"aliases\": [\"login.partner.microsoftonline.cn\", \"login.chinacloudapi.cn\"] }, { \"preferred_network\": \"login.microsoftonline.de\", \"preferred_cache\": \"login.microsoftonline.de\", \"aliases\": [\"login.microsoftonline.de\"] }, { \"preferred_network\": \"login.microsoftonline.us\", \"preferred_cache\": \"login.microsoftonline.us\", \"aliases\": [\"login.microsoftonline.us\", \"login.usgovcloudapi.net\"] }, { \"preferred_network\": \"login-us.microsoftonline.com\", \"preferred_cache\": \"login-us.microsoftonline.com\", \"aliases\": [\"login-us.microsoftonline.com\"] }] }, \"https://login.chinacloudapi.cn/common/\": { \"tenant_discovery_endpoint\": \"https://login.chinacloudapi.cn/common/v2.0/.well-known/openid-configuration\", \"api-version\": \"1.1\", \"metadata\": [{ \"preferred_network\": \"login.microsoftonline.com\", \"preferred_cache\": \"login.windows.net\", \"aliases\": [\"login.microsoftonline.com\", \"login.windows.net\", \"login.microsoft.com\", \"sts.windows.net\"] }, { \"preferred_network\": \"login.partner.microsoftonline.cn\", \"preferred_cache\": \"login.partner.microsoftonline.cn\", \"aliases\": [\"login.partner.microsoftonline.cn\", \"login.chinacloudapi.cn\"] }, { \"preferred_network\": \"login.microsoftonline.de\", \"preferred_cache\": \"login.microsoftonline.de\", \"aliases\": [\"login.microsoftonline.de\"] }, { \"preferred_network\": \"login.microsoftonline.us\", \"preferred_cache\": \"login.microsoftonline.us\", \"aliases\": [\"login.microsoftonline.us\", \"login.usgovcloudapi.net\"] }, { \"preferred_network\": \"login-us.microsoftonline.com\", \"preferred_cache\": \"login-us.microsoftonline.com\", \"aliases\": [\"login-us.microsoftonline.com\"] }] }, \"https://login.microsoftonline.us/common/\": { \"tenant_discovery_endpoint\": \"https://login.microsoftonline.us/common/v2.0/.well-known/openid-configuration\", \"api-version\": \"1.1\", \"metadata\": [{ \"preferred_network\": \"login.microsoftonline.com\", \"preferred_cache\": \"login.windows.net\", \"aliases\": [\"login.microsoftonline.com\", \"login.windows.net\", \"login.microsoft.com\", \"sts.windows.net\"] }, { \"preferred_network\": \"login.partner.microsoftonline.cn\", \"preferred_cache\": \"login.partner.microsoftonline.cn\", \"aliases\": [\"login.partner.microsoftonline.cn\", \"login.chinacloudapi.cn\"] }, { \"preferred_network\": \"login.microsoftonline.de\", \"preferred_cache\": \"login.microsoftonline.de\", \"aliases\": [\"login.microsoftonline.de\"] }, { \"preferred_network\": \"login.microsoftonline.us\", \"preferred_cache\": \"login.microsoftonline.us\", \"aliases\": [\"login.microsoftonline.us\", \"login.usgovcloudapi.net\"] }, { \"preferred_network\": \"login-us.microsoftonline.com\", \"preferred_cache\": \"login-us.microsoftonline.com\", \"aliases\": [\"login-us.microsoftonline.com\"] }] }, \"https://login.microsoftonline.com/consumers/\": { \"tenant_discovery_endpoint\": \"https://login.microsoftonline.com/consumers/v2.0/.well-known/openid-configuration\", \"api-version\": \"1.1\", \"metadata\": [{ \"preferred_network\": \"login.microsoftonline.com\", \"preferred_cache\": \"login.windows.net\", \"aliases\": [\"login.microsoftonline.com\", \"login.windows.net\", \"login.microsoft.com\", \"sts.windows.net\"] }, { \"preferred_network\": \"login.partner.microsoftonline.cn\", \"preferred_cache\": \"login.partner.microsoftonline.cn\", \"aliases\": [\"login.partner.microsoftonline.cn\", \"login.chinacloudapi.cn\"] }, { \"preferred_network\": \"login.microsoftonline.de\", \"preferred_cache\": \"login.microsoftonline.de\", \"aliases\": [\"login.microsoftonline.de\"] }, { \"preferred_network\": \"login.microsoftonline.us\", \"preferred_cache\": \"login.microsoftonline.us\", \"aliases\": [\"login.microsoftonline.us\", \"login.usgovcloudapi.net\"] }, { \"preferred_network\": \"login-us.microsoftonline.com\", \"preferred_cache\": \"login-us.microsoftonline.com\", \"aliases\": [\"login-us.microsoftonline.com\"] }] }, \"https://login.chinacloudapi.cn/consumers/\": { \"tenant_discovery_endpoint\": \"https://login.chinacloudapi.cn/consumers/v2.0/.well-known/openid-configuration\", \"api-version\": \"1.1\", \"metadata\": [{ \"preferred_network\": \"login.microsoftonline.com\", \"preferred_cache\": \"login.windows.net\", \"aliases\": [\"login.microsoftonline.com\", \"login.windows.net\", \"login.microsoft.com\", \"sts.windows.net\"] }, { \"preferred_network\": \"login.partner.microsoftonline.cn\", \"preferred_cache\": \"login.partner.microsoftonline.cn\", \"aliases\": [\"login.partner.microsoftonline.cn\", \"login.chinacloudapi.cn\"] }, { \"preferred_network\": \"login.microsoftonline.de\", \"preferred_cache\": \"login.microsoftonline.de\", \"aliases\": [\"login.microsoftonline.de\"] }, { \"preferred_network\": \"login.microsoftonline.us\", \"preferred_cache\": \"login.microsoftonline.us\", \"aliases\": [\"login.microsoftonline.us\", \"login.usgovcloudapi.net\"] }, { \"preferred_network\": \"login-us.microsoftonline.com\", \"preferred_cache\": \"login-us.microsoftonline.com\", \"aliases\": [\"login-us.microsoftonline.com\"] }] }, \"https://login.microsoftonline.us/consumers/\": { \"tenant_discovery_endpoint\": \"https://login.microsoftonline.us/consumers/v2.0/.well-known/openid-configuration\", \"api-version\": \"1.1\", \"metadata\": [{ \"preferred_network\": \"login.microsoftonline.com\", \"preferred_cache\": \"login.windows.net\", \"aliases\": [\"login.microsoftonline.com\", \"login.windows.net\", \"login.microsoft.com\", \"sts.windows.net\"] }, { \"preferred_network\": \"login.partner.microsoftonline.cn\", \"preferred_cache\": \"login.partner.microsoftonline.cn\", \"aliases\": [\"login.partner.microsoftonline.cn\", \"login.chinacloudapi.cn\"] }, { \"preferred_network\": \"login.microsoftonline.de\", \"preferred_cache\": \"login.microsoftonline.de\", \"aliases\": [\"login.microsoftonline.de\"] }, { \"preferred_network\": \"login.microsoftonline.us\", \"preferred_cache\": \"login.microsoftonline.us\", \"aliases\": [\"login.microsoftonline.us\", \"login.usgovcloudapi.net\"] }, { \"preferred_network\": \"login-us.microsoftonline.com\", \"preferred_cache\": \"login-us.microsoftonline.com\", \"aliases\": [\"login-us.microsoftonline.com\"] }] }, \"https://login.microsoftonline.com/organizations/\": { \"tenant_discovery_endpoint\": \"https://login.microsoftonline.com/organizations/v2.0/.well-known/openid-configuration\", \"api-version\": \"1.1\", \"metadata\": [{ \"preferred_network\": \"login.microsoftonline.com\", \"preferred_cache\": \"login.windows.net\", \"aliases\": [\"login.microsoftonline.com\", \"login.windows.net\", \"login.microsoft.com\", \"sts.windows.net\"] }, { \"preferred_network\": \"login.partner.microsoftonline.cn\", \"preferred_cache\": \"login.partner.microsoftonline.cn\", \"aliases\": [\"login.partner.microsoftonline.cn\", \"login.chinacloudapi.cn\"] }, { \"preferred_network\": \"login.microsoftonline.de\", \"preferred_cache\": \"login.microsoftonline.de\", \"aliases\": [\"login.microsoftonline.de\"] }, { \"preferred_network\": \"login.microsoftonline.us\", \"preferred_cache\": \"login.microsoftonline.us\", \"aliases\": [\"login.microsoftonline.us\", \"login.usgovcloudapi.net\"] }, { \"preferred_network\": \"login-us.microsoftonline.com\", \"preferred_cache\": \"login-us.microsoftonline.com\", \"aliases\": [\"login-us.microsoftonline.com\"] }] }, \"https://login.chinacloudapi.cn/organizations/\": { \"tenant_discovery_endpoint\": \"https://login.chinacloudapi.cn/organizations/v2.0/.well-known/openid-configuration\", \"api-version\": \"1.1\", \"metadata\": [{ \"preferred_network\": \"login.microsoftonline.com\", \"preferred_cache\": \"login.windows.net\", \"aliases\": [\"login.microsoftonline.com\", \"login.windows.net\", \"login.microsoft.com\", \"sts.windows.net\"] }, { \"preferred_network\": \"login.partner.microsoftonline.cn\", \"preferred_cache\": \"login.partner.microsoftonline.cn\", \"aliases\": [\"login.partner.microsoftonline.cn\", \"login.chinacloudapi.cn\"] }, { \"preferred_network\": \"login.microsoftonline.de\", \"preferred_cache\": \"login.microsoftonline.de\", \"aliases\": [\"login.microsoftonline.de\"] }, { \"preferred_network\": \"login.microsoftonline.us\", \"preferred_cache\": \"login.microsoftonline.us\", \"aliases\": [\"login.microsoftonline.us\", \"login.usgovcloudapi.net\"] }, { \"preferred_network\": \"login-us.microsoftonline.com\", \"preferred_cache\": \"login-us.microsoftonline.com\", \"aliases\": [\"login-us.microsoftonline.com\"] }] }, \"https://login.microsoftonline.us/organizations/\": { \"tenant_discovery_endpoint\": \"https://login.microsoftonline.us/organizations/v2.0/.well-known/openid-configuration\", \"api-version\": \"1.1\", \"metadata\": [{ \"preferred_network\": \"login.microsoftonline.com\", \"preferred_cache\": \"login.windows.net\", \"aliases\": [\"login.microsoftonline.com\", \"login.windows.net\", \"login.microsoft.com\", \"sts.windows.net\"] }, { \"preferred_network\": \"login.partner.microsoftonline.cn\", \"preferred_cache\": \"login.partner.microsoftonline.cn\", \"aliases\": [\"login.partner.microsoftonline.cn\", \"login.chinacloudapi.cn\"] }, { \"preferred_network\": \"login.microsoftonline.de\", \"preferred_cache\": \"login.microsoftonline.de\", \"aliases\": [\"login.microsoftonline.de\"] }, { \"preferred_network\": \"login.microsoftonline.us\", \"preferred_cache\": \"login.microsoftonline.us\", \"aliases\": [\"login.microsoftonline.us\", \"login.usgovcloudapi.net\"] }, { \"preferred_network\": \"login-us.microsoftonline.com\", \"preferred_cache\": \"login-us.microsoftonline.com\", \"aliases\": [\"login-us.microsoftonline.com\"] }] } } };\r\nvar EndpointMetadata = rawMetdataJSON.endpointMetadata;\r\nvar InstanceDiscoveryMetadata = rawMetdataJSON.instanceDiscoveryMetadata;\n\nexport { EndpointMetadata, InstanceDiscoveryMetadata, rawMetdataJSON };\n","/*! @azure/msal-common v9.1.1 2023-01-19 */\n'use strict';\n/*\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * Licensed under the MIT License.\r\n */\r\nvar AzureCloudInstance;\r\n(function (AzureCloudInstance) {\r\n // AzureCloudInstance is not specified.\r\n AzureCloudInstance[AzureCloudInstance[\"None\"] = 0] = \"None\";\r\n // Microsoft Azure public cloud\r\n AzureCloudInstance[\"AzurePublic\"] = \"https://login.microsoftonline.com\";\r\n // Microsoft PPE\r\n AzureCloudInstance[\"AzurePpe\"] = \"https://login.windows-ppe.net\";\r\n // Microsoft Chinese national cloud\r\n AzureCloudInstance[\"AzureChina\"] = \"https://login.chinacloudapi.cn\";\r\n // Microsoft German national cloud (\"Black Forest\")\r\n AzureCloudInstance[\"AzureGermany\"] = \"https://login.microsoftonline.de\";\r\n // US Government cloud\r\n AzureCloudInstance[\"AzureUsGovernment\"] = \"https://login.microsoftonline.us\";\r\n})(AzureCloudInstance || (AzureCloudInstance = {}));\n\nexport { AzureCloudInstance };\n","/*! @azure/msal-common v9.1.1 2023-01-19 */\n'use strict';\n/*\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * Licensed under the MIT License.\r\n */\r\n/**\r\n * Authority types supported by MSAL.\r\n */\r\nvar AuthorityType;\r\n(function (AuthorityType) {\r\n AuthorityType[AuthorityType[\"Default\"] = 0] = \"Default\";\r\n AuthorityType[AuthorityType[\"Adfs\"] = 1] = \"Adfs\";\r\n AuthorityType[AuthorityType[\"Dsts\"] = 2] = \"Dsts\";\r\n})(AuthorityType || (AuthorityType = {}));\n\nexport { AuthorityType };\n","/*! @azure/msal-common v9.1.1 2023-01-19 */\n'use strict';\n/*\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * Licensed under the MIT License.\r\n */\r\nfunction isCloudInstanceDiscoveryErrorResponse(response) {\r\n return (response.hasOwnProperty(\"error\") &&\r\n response.hasOwnProperty(\"error_description\"));\r\n}\n\nexport { isCloudInstanceDiscoveryErrorResponse };\n","/*! @azure/msal-common v9.1.1 2023-01-19 */\n'use strict';\n/*\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * Licensed under the MIT License.\r\n */\r\nfunction isCloudInstanceDiscoveryResponse(response) {\r\n return (response.hasOwnProperty(\"tenant_discovery_endpoint\") &&\r\n response.hasOwnProperty(\"metadata\"));\r\n}\n\nexport { isCloudInstanceDiscoveryResponse };\n","/*! @azure/msal-common v9.1.1 2023-01-19 */\n'use strict';\n/*\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * Licensed under the MIT License.\r\n */\r\nfunction isOpenIdConfigResponse(response) {\r\n return (response.hasOwnProperty(\"authorization_endpoint\") &&\r\n response.hasOwnProperty(\"token_endpoint\") &&\r\n response.hasOwnProperty(\"issuer\") &&\r\n response.hasOwnProperty(\"jwks_uri\"));\r\n}\n\nexport { isOpenIdConfigResponse };\n","/*! @azure/msal-common v9.1.1 2023-01-19 */\n'use strict';\n/*\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * Licensed under the MIT License.\r\n */\r\n/**\r\n * Protocol modes supported by MSAL.\r\n */\r\nvar ProtocolMode;\r\n(function (ProtocolMode) {\r\n ProtocolMode[\"AAD\"] = \"AAD\";\r\n ProtocolMode[\"OIDC\"] = \"OIDC\";\r\n})(ProtocolMode || (ProtocolMode = {}));\n\nexport { ProtocolMode };\n","/*! @azure/msal-common v9.1.1 2023-01-19 */\n'use strict';\nimport { __awaiter, __generator } from '../_virtual/_tslib.js';\nimport { RegionDiscoverySources, ResponseCodes, Constants } from '../utils/Constants.js';\n\n/*\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * Licensed under the MIT License.\r\n */\r\nvar RegionDiscovery = /** @class */ (function () {\r\n function RegionDiscovery(networkInterface) {\r\n this.networkInterface = networkInterface;\r\n }\r\n /**\r\n * Detect the region from the application's environment.\r\n *\r\n * @returns Promise\r\n */\r\n RegionDiscovery.prototype.detectRegion = function (environmentRegion, regionDiscoveryMetadata, proxyUrl) {\r\n return __awaiter(this, void 0, void 0, function () {\r\n var autodetectedRegionName, options, localIMDSVersionResponse, currentIMDSVersion, currentIMDSVersionResponse;\r\n return __generator(this, function (_a) {\r\n switch (_a.label) {\r\n case 0:\r\n autodetectedRegionName = environmentRegion;\r\n if (!!autodetectedRegionName) return [3 /*break*/, 8];\r\n options = RegionDiscovery.IMDS_OPTIONS;\r\n if (proxyUrl) {\r\n options.proxyUrl = proxyUrl;\r\n }\r\n _a.label = 1;\r\n case 1:\r\n _a.trys.push([1, 6, , 7]);\r\n return [4 /*yield*/, this.getRegionFromIMDS(Constants.IMDS_VERSION, options)];\r\n case 2:\r\n localIMDSVersionResponse = _a.sent();\r\n if (localIMDSVersionResponse.status === ResponseCodes.httpSuccess) {\r\n autodetectedRegionName = localIMDSVersionResponse.body;\r\n regionDiscoveryMetadata.region_source = RegionDiscoverySources.IMDS;\r\n }\r\n if (!(localIMDSVersionResponse.status === ResponseCodes.httpBadRequest)) return [3 /*break*/, 5];\r\n return [4 /*yield*/, this.getCurrentVersion(options)];\r\n case 3:\r\n currentIMDSVersion = _a.sent();\r\n if (!currentIMDSVersion) {\r\n regionDiscoveryMetadata.region_source = RegionDiscoverySources.FAILED_AUTO_DETECTION;\r\n return [2 /*return*/, null];\r\n }\r\n return [4 /*yield*/, this.getRegionFromIMDS(currentIMDSVersion, options)];\r\n case 4:\r\n currentIMDSVersionResponse = _a.sent();\r\n if (currentIMDSVersionResponse.status === ResponseCodes.httpSuccess) {\r\n autodetectedRegionName = currentIMDSVersionResponse.body;\r\n regionDiscoveryMetadata.region_source = RegionDiscoverySources.IMDS;\r\n }\r\n _a.label = 5;\r\n case 5: return [3 /*break*/, 7];\r\n case 6:\r\n _a.sent();\r\n regionDiscoveryMetadata.region_source = RegionDiscoverySources.FAILED_AUTO_DETECTION;\r\n return [2 /*return*/, null];\r\n case 7: return [3 /*break*/, 9];\r\n case 8:\r\n regionDiscoveryMetadata.region_source = RegionDiscoverySources.ENVIRONMENT_VARIABLE;\r\n _a.label = 9;\r\n case 9:\r\n // If no region was auto detected from the environment or from the IMDS endpoint, mark the attempt as a FAILED_AUTO_DETECTION\r\n if (!autodetectedRegionName) {\r\n regionDiscoveryMetadata.region_source = RegionDiscoverySources.FAILED_AUTO_DETECTION;\r\n }\r\n return [2 /*return*/, autodetectedRegionName || null];\r\n }\r\n });\r\n });\r\n };\r\n /**\r\n * Make the call to the IMDS endpoint\r\n *\r\n * @param imdsEndpointUrl\r\n * @returns Promise>\r\n */\r\n RegionDiscovery.prototype.getRegionFromIMDS = function (version, options) {\r\n return __awaiter(this, void 0, void 0, function () {\r\n return __generator(this, function (_a) {\r\n return [2 /*return*/, this.networkInterface.sendGetRequestAsync(Constants.IMDS_ENDPOINT + \"?api-version=\" + version + \"&format=text\", options, Constants.IMDS_TIMEOUT)];\r\n });\r\n });\r\n };\r\n /**\r\n * Get the most recent version of the IMDS endpoint available\r\n *\r\n * @returns Promise\r\n */\r\n RegionDiscovery.prototype.getCurrentVersion = function (options) {\r\n return __awaiter(this, void 0, void 0, function () {\r\n var response;\r\n return __generator(this, function (_a) {\r\n switch (_a.label) {\r\n case 0:\r\n _a.trys.push([0, 2, , 3]);\r\n return [4 /*yield*/, this.networkInterface.sendGetRequestAsync(Constants.IMDS_ENDPOINT + \"?format=json\", options)];\r\n case 1:\r\n response = _a.sent();\r\n // When IMDS endpoint is called without the api version query param, bad request response comes back with latest version.\r\n if (response.status === ResponseCodes.httpBadRequest && response.body && response.body[\"newest-versions\"] && response.body[\"newest-versions\"].length > 0) {\r\n return [2 /*return*/, response.body[\"newest-versions\"][0]];\r\n }\r\n return [2 /*return*/, null];\r\n case 2:\r\n _a.sent();\r\n return [2 /*return*/, null];\r\n case 3: return [2 /*return*/];\r\n }\r\n });\r\n });\r\n };\r\n // Options for the IMDS endpoint request\r\n RegionDiscovery.IMDS_OPTIONS = {\r\n headers: {\r\n Metadata: \"true\",\r\n },\r\n };\r\n return RegionDiscovery;\r\n}());\n\nexport { RegionDiscovery };\n","/*! @azure/msal-common v9.1.1 2023-01-19 */\n'use strict';\nimport { __awaiter, __generator, __extends } from '../_virtual/_tslib.js';\nimport { Constants, CredentialType, AuthenticationScheme, CacheSchemaType, THE_FAMILY_ID, APP_METADATA, AUTHORITY_METADATA_CONSTANTS } from '../utils/Constants.js';\nimport { CredentialEntity } from './entities/CredentialEntity.js';\nimport { ScopeSet } from '../request/ScopeSet.js';\nimport { AccountEntity } from './entities/AccountEntity.js';\nimport { AuthError } from '../error/AuthError.js';\nimport { ClientAuthError } from '../error/ClientAuthError.js';\nimport { AuthToken } from '../account/AuthToken.js';\n\n/*\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * Licensed under the MIT License.\r\n */\r\n/**\r\n * Interface class which implement cache storage functions used by MSAL to perform validity checks, and store tokens.\r\n */\r\nvar CacheManager = /** @class */ (function () {\r\n function CacheManager(clientId, cryptoImpl) {\r\n this.clientId = clientId;\r\n this.cryptoImpl = cryptoImpl;\r\n }\r\n /**\r\n * Returns all accounts in cache\r\n */\r\n CacheManager.prototype.getAllAccounts = function () {\r\n var _this = this;\r\n var currentAccounts = this.getAccountsFilteredBy();\r\n var accountValues = Object.keys(currentAccounts).map(function (accountKey) { return currentAccounts[accountKey]; });\r\n var numAccounts = accountValues.length;\r\n if (numAccounts < 1) {\r\n return [];\r\n }\r\n else {\r\n var allAccounts = accountValues.map(function (value) {\r\n var accountEntity = CacheManager.toObject(new AccountEntity(), value);\r\n var accountInfo = accountEntity.getAccountInfo();\r\n var idToken = _this.readIdTokenFromCache(_this.clientId, accountInfo);\r\n if (idToken && !accountInfo.idTokenClaims) {\r\n accountInfo.idToken = idToken.secret;\r\n accountInfo.idTokenClaims = new AuthToken(idToken.secret, _this.cryptoImpl).claims;\r\n }\r\n return accountInfo;\r\n });\r\n return allAccounts;\r\n }\r\n };\r\n /**\r\n * saves a cache record\r\n * @param cacheRecord\r\n */\r\n CacheManager.prototype.saveCacheRecord = function (cacheRecord) {\r\n return __awaiter(this, void 0, void 0, function () {\r\n return __generator(this, function (_a) {\r\n switch (_a.label) {\r\n case 0:\r\n if (!cacheRecord) {\r\n throw ClientAuthError.createNullOrUndefinedCacheRecord();\r\n }\r\n if (!!cacheRecord.account) {\r\n this.setAccount(cacheRecord.account);\r\n }\r\n if (!!cacheRecord.idToken) {\r\n this.setIdTokenCredential(cacheRecord.idToken);\r\n }\r\n if (!!!cacheRecord.accessToken) return [3 /*break*/, 2];\r\n return [4 /*yield*/, this.saveAccessToken(cacheRecord.accessToken)];\r\n case 1:\r\n _a.sent();\r\n _a.label = 2;\r\n case 2:\r\n if (!!cacheRecord.refreshToken) {\r\n this.setRefreshTokenCredential(cacheRecord.refreshToken);\r\n }\r\n if (!!cacheRecord.appMetadata) {\r\n this.setAppMetadata(cacheRecord.appMetadata);\r\n }\r\n return [2 /*return*/];\r\n }\r\n });\r\n });\r\n };\r\n /**\r\n * saves access token credential\r\n * @param credential\r\n */\r\n CacheManager.prototype.saveAccessToken = function (credential) {\r\n return __awaiter(this, void 0, void 0, function () {\r\n var currentTokenCache, currentScopes, currentAccessTokens, removedAccessTokens_1;\r\n var _this = this;\r\n return __generator(this, function (_a) {\r\n switch (_a.label) {\r\n case 0:\r\n currentTokenCache = this.getCredentialsFilteredBy({\r\n clientId: credential.clientId,\r\n credentialType: credential.credentialType,\r\n environment: credential.environment,\r\n homeAccountId: credential.homeAccountId,\r\n realm: credential.realm,\r\n tokenType: credential.tokenType,\r\n requestedClaimsHash: credential.requestedClaimsHash\r\n });\r\n currentScopes = ScopeSet.fromString(credential.target);\r\n currentAccessTokens = Object.keys(currentTokenCache.accessTokens).map(function (key) { return currentTokenCache.accessTokens[key]; });\r\n if (!currentAccessTokens) return [3 /*break*/, 2];\r\n removedAccessTokens_1 = [];\r\n currentAccessTokens.forEach(function (tokenEntity) {\r\n var tokenScopeSet = ScopeSet.fromString(tokenEntity.target);\r\n if (tokenScopeSet.intersectingScopeSets(currentScopes)) {\r\n removedAccessTokens_1.push(_this.removeCredential(tokenEntity));\r\n }\r\n });\r\n return [4 /*yield*/, Promise.all(removedAccessTokens_1)];\r\n case 1:\r\n _a.sent();\r\n _a.label = 2;\r\n case 2:\r\n this.setAccessTokenCredential(credential);\r\n return [2 /*return*/];\r\n }\r\n });\r\n });\r\n };\r\n /**\r\n * retrieve accounts matching all provided filters; if no filter is set, get all accounts\r\n * not checking for casing as keys are all generated in lower case, remember to convert to lower case if object properties are compared\r\n * @param homeAccountId\r\n * @param environment\r\n * @param realm\r\n */\r\n CacheManager.prototype.getAccountsFilteredBy = function (accountFilter) {\r\n return this.getAccountsFilteredByInternal(accountFilter ? accountFilter.homeAccountId : Constants.EMPTY_STRING, accountFilter ? accountFilter.environment : Constants.EMPTY_STRING, accountFilter ? accountFilter.realm : Constants.EMPTY_STRING, accountFilter ? accountFilter.nativeAccountId : Constants.EMPTY_STRING);\r\n };\r\n /**\r\n * retrieve accounts matching all provided filters; if no filter is set, get all accounts\r\n * not checking for casing as keys are all generated in lower case, remember to convert to lower case if object properties are compared\r\n * @param homeAccountId\r\n * @param environment\r\n * @param realm\r\n */\r\n CacheManager.prototype.getAccountsFilteredByInternal = function (homeAccountId, environment, realm, nativeAccountId) {\r\n var _this = this;\r\n var allCacheKeys = this.getKeys();\r\n var matchingAccounts = {};\r\n allCacheKeys.forEach(function (cacheKey) {\r\n var entity = _this.getAccount(cacheKey);\r\n if (!entity) {\r\n return;\r\n }\r\n if (!!homeAccountId && !_this.matchHomeAccountId(entity, homeAccountId)) {\r\n return;\r\n }\r\n if (!!environment && !_this.matchEnvironment(entity, environment)) {\r\n return;\r\n }\r\n if (!!realm && !_this.matchRealm(entity, realm)) {\r\n return;\r\n }\r\n if (!!nativeAccountId && !_this.matchNativeAccountId(entity, nativeAccountId)) {\r\n return;\r\n }\r\n matchingAccounts[cacheKey] = entity;\r\n });\r\n return matchingAccounts;\r\n };\r\n /**\r\n * retrieve credentails matching all provided filters; if no filter is set, get all credentials\r\n * @param homeAccountId\r\n * @param environment\r\n * @param credentialType\r\n * @param clientId\r\n * @param realm\r\n * @param target\r\n */\r\n CacheManager.prototype.getCredentialsFilteredBy = function (filter) {\r\n return this.getCredentialsFilteredByInternal(filter.homeAccountId, filter.environment, filter.credentialType, filter.clientId, filter.familyId, filter.realm, filter.target, filter.userAssertionHash, filter.tokenType, filter.keyId, filter.requestedClaimsHash);\r\n };\r\n /**\r\n * Support function to help match credentials\r\n * @param homeAccountId\r\n * @param environment\r\n * @param credentialType\r\n * @param clientId\r\n * @param realm\r\n * @param target\r\n * @param userAssertionHash\r\n * @param tokenType\r\n */\r\n CacheManager.prototype.getCredentialsFilteredByInternal = function (homeAccountId, environment, credentialType, clientId, familyId, realm, target, userAssertionHash, tokenType, keyId, requestedClaimsHash) {\r\n var _this = this;\r\n var allCacheKeys = this.getKeys();\r\n var matchingCredentials = {\r\n idTokens: {},\r\n accessTokens: {},\r\n refreshTokens: {},\r\n };\r\n allCacheKeys.forEach(function (cacheKey) {\r\n // don't parse any non-credential type cache entities\r\n var credType = CredentialEntity.getCredentialType(cacheKey);\r\n if (credType === Constants.NOT_DEFINED) {\r\n return;\r\n }\r\n // Attempt retrieval\r\n var entity = _this.getSpecificCredential(cacheKey, credType);\r\n if (!entity) {\r\n return;\r\n }\r\n if (!!userAssertionHash && !_this.matchUserAssertionHash(entity, userAssertionHash)) {\r\n return;\r\n }\r\n /*\r\n * homeAccountId can undefined, and we want to filter out cached items that have a homeAccountId of \"\"\r\n * because we don't want a client_credential request to return a cached token that has a homeAccountId\r\n */\r\n if ((typeof homeAccountId === \"string\") && !_this.matchHomeAccountId(entity, homeAccountId)) {\r\n return;\r\n }\r\n if (!!environment && !_this.matchEnvironment(entity, environment)) {\r\n return;\r\n }\r\n if (!!realm && !_this.matchRealm(entity, realm)) {\r\n return;\r\n }\r\n if (!!credentialType && !_this.matchCredentialType(entity, credentialType)) {\r\n return;\r\n }\r\n if (!!clientId && !_this.matchClientId(entity, clientId)) {\r\n return;\r\n }\r\n if (!!familyId && !_this.matchFamilyId(entity, familyId)) {\r\n return;\r\n }\r\n /*\r\n * idTokens do not have \"target\", target specific refreshTokens do exist for some types of authentication\r\n * Resource specific refresh tokens case will be added when the support is deemed necessary\r\n */\r\n if (!!target && !_this.matchTarget(entity, target)) {\r\n return;\r\n }\r\n // If request OR cached entity has requested Claims Hash, check if they match\r\n if (requestedClaimsHash || entity.requestedClaimsHash) {\r\n // Don't match if either is undefined or they are different\r\n if (entity.requestedClaimsHash !== requestedClaimsHash) {\r\n return;\r\n }\r\n }\r\n // Access Token with Auth Scheme specific matching\r\n if (credentialType === CredentialType.ACCESS_TOKEN_WITH_AUTH_SCHEME) {\r\n if (!!tokenType && !_this.matchTokenType(entity, tokenType)) {\r\n return;\r\n }\r\n // KeyId (sshKid) in request must match cached SSH certificate keyId because SSH cert is bound to a specific key\r\n if (tokenType === AuthenticationScheme.SSH) {\r\n if (keyId && !_this.matchKeyId(entity, keyId)) {\r\n return;\r\n }\r\n }\r\n }\r\n // At this point, the entity matches the request, update cache key if key schema has changed\r\n var updatedCacheKey = _this.updateCredentialCacheKey(cacheKey, entity);\r\n switch (credType) {\r\n case CredentialType.ID_TOKEN:\r\n matchingCredentials.idTokens[updatedCacheKey] = entity;\r\n break;\r\n case CredentialType.ACCESS_TOKEN:\r\n case CredentialType.ACCESS_TOKEN_WITH_AUTH_SCHEME:\r\n matchingCredentials.accessTokens[updatedCacheKey] = entity;\r\n break;\r\n case CredentialType.REFRESH_TOKEN:\r\n matchingCredentials.refreshTokens[updatedCacheKey] = entity;\r\n break;\r\n }\r\n });\r\n return matchingCredentials;\r\n };\r\n /**\r\n * retrieve appMetadata matching all provided filters; if no filter is set, get all appMetadata\r\n * @param filter\r\n */\r\n CacheManager.prototype.getAppMetadataFilteredBy = function (filter) {\r\n return this.getAppMetadataFilteredByInternal(filter.environment, filter.clientId);\r\n };\r\n /**\r\n * Support function to help match appMetadata\r\n * @param environment\r\n * @param clientId\r\n */\r\n CacheManager.prototype.getAppMetadataFilteredByInternal = function (environment, clientId) {\r\n var _this = this;\r\n var allCacheKeys = this.getKeys();\r\n var matchingAppMetadata = {};\r\n allCacheKeys.forEach(function (cacheKey) {\r\n // don't parse any non-appMetadata type cache entities\r\n if (!_this.isAppMetadata(cacheKey)) {\r\n return;\r\n }\r\n // Attempt retrieval\r\n var entity = _this.getAppMetadata(cacheKey);\r\n if (!entity) {\r\n return;\r\n }\r\n if (!!environment && !_this.matchEnvironment(entity, environment)) {\r\n return;\r\n }\r\n if (!!clientId && !_this.matchClientId(entity, clientId)) {\r\n return;\r\n }\r\n matchingAppMetadata[cacheKey] = entity;\r\n });\r\n return matchingAppMetadata;\r\n };\r\n /**\r\n * retrieve authorityMetadata that contains a matching alias\r\n * @param filter\r\n */\r\n CacheManager.prototype.getAuthorityMetadataByAlias = function (host) {\r\n var _this = this;\r\n var allCacheKeys = this.getAuthorityMetadataKeys();\r\n var matchedEntity = null;\r\n allCacheKeys.forEach(function (cacheKey) {\r\n // don't parse any non-authorityMetadata type cache entities\r\n if (!_this.isAuthorityMetadata(cacheKey) || cacheKey.indexOf(_this.clientId) === -1) {\r\n return;\r\n }\r\n // Attempt retrieval\r\n var entity = _this.getAuthorityMetadata(cacheKey);\r\n if (!entity) {\r\n return;\r\n }\r\n if (entity.aliases.indexOf(host) === -1) {\r\n return;\r\n }\r\n matchedEntity = entity;\r\n });\r\n return matchedEntity;\r\n };\r\n /**\r\n * Removes all accounts and related tokens from cache.\r\n */\r\n CacheManager.prototype.removeAllAccounts = function () {\r\n return __awaiter(this, void 0, void 0, function () {\r\n var allCacheKeys, removedAccounts;\r\n var _this = this;\r\n return __generator(this, function (_a) {\r\n switch (_a.label) {\r\n case 0:\r\n allCacheKeys = this.getKeys();\r\n removedAccounts = [];\r\n allCacheKeys.forEach(function (cacheKey) {\r\n var entity = _this.getAccount(cacheKey);\r\n if (!entity) {\r\n return;\r\n }\r\n removedAccounts.push(_this.removeAccount(cacheKey));\r\n });\r\n return [4 /*yield*/, Promise.all(removedAccounts)];\r\n case 1:\r\n _a.sent();\r\n return [2 /*return*/, true];\r\n }\r\n });\r\n });\r\n };\r\n /**\r\n * returns a boolean if the given account is removed\r\n * @param account\r\n */\r\n CacheManager.prototype.removeAccount = function (accountKey) {\r\n return __awaiter(this, void 0, void 0, function () {\r\n var account;\r\n return __generator(this, function (_a) {\r\n switch (_a.label) {\r\n case 0:\r\n account = this.getAccount(accountKey);\r\n if (!account) {\r\n throw ClientAuthError.createNoAccountFoundError();\r\n }\r\n return [4 /*yield*/, this.removeAccountContext(account)];\r\n case 1: return [2 /*return*/, ((_a.sent()) && this.removeItem(accountKey, CacheSchemaType.ACCOUNT))];\r\n }\r\n });\r\n });\r\n };\r\n /**\r\n * Removes credentials associated with the provided account\r\n * @param account\r\n */\r\n CacheManager.prototype.removeAccountContext = function (account) {\r\n return __awaiter(this, void 0, void 0, function () {\r\n var allCacheKeys, accountId, removedCredentials;\r\n var _this = this;\r\n return __generator(this, function (_a) {\r\n switch (_a.label) {\r\n case 0:\r\n allCacheKeys = this.getKeys();\r\n accountId = account.generateAccountId();\r\n removedCredentials = [];\r\n allCacheKeys.forEach(function (cacheKey) {\r\n // don't parse any non-credential type cache entities\r\n var credType = CredentialEntity.getCredentialType(cacheKey);\r\n if (credType === Constants.NOT_DEFINED) {\r\n return;\r\n }\r\n var cacheEntity = _this.getSpecificCredential(cacheKey, credType);\r\n if (!!cacheEntity && accountId === cacheEntity.generateAccountId()) {\r\n removedCredentials.push(_this.removeCredential(cacheEntity));\r\n }\r\n });\r\n return [4 /*yield*/, Promise.all(removedCredentials)];\r\n case 1:\r\n _a.sent();\r\n return [2 /*return*/, true];\r\n }\r\n });\r\n });\r\n };\r\n /**\r\n * returns a boolean if the given credential is removed\r\n * @param credential\r\n */\r\n CacheManager.prototype.removeCredential = function (credential) {\r\n return __awaiter(this, void 0, void 0, function () {\r\n var key, accessTokenWithAuthSchemeEntity, kid;\r\n return __generator(this, function (_a) {\r\n switch (_a.label) {\r\n case 0:\r\n key = credential.generateCredentialKey();\r\n if (!(credential.credentialType.toLowerCase() === CredentialType.ACCESS_TOKEN_WITH_AUTH_SCHEME.toLowerCase())) return [3 /*break*/, 4];\r\n if (!(credential.tokenType === AuthenticationScheme.POP)) return [3 /*break*/, 4];\r\n accessTokenWithAuthSchemeEntity = credential;\r\n kid = accessTokenWithAuthSchemeEntity.keyId;\r\n if (!kid) return [3 /*break*/, 4];\r\n _a.label = 1;\r\n case 1:\r\n _a.trys.push([1, 3, , 4]);\r\n return [4 /*yield*/, this.cryptoImpl.removeTokenBindingKey(kid)];\r\n case 2:\r\n _a.sent();\r\n return [3 /*break*/, 4];\r\n case 3:\r\n _a.sent();\r\n throw ClientAuthError.createBindingKeyNotRemovedError();\r\n case 4: return [2 /*return*/, this.removeItem(key, CacheSchemaType.CREDENTIAL)];\r\n }\r\n });\r\n });\r\n };\r\n /**\r\n * Removes all app metadata objects from cache.\r\n */\r\n CacheManager.prototype.removeAppMetadata = function () {\r\n var _this = this;\r\n var allCacheKeys = this.getKeys();\r\n allCacheKeys.forEach(function (cacheKey) {\r\n if (_this.isAppMetadata(cacheKey)) {\r\n _this.removeItem(cacheKey, CacheSchemaType.APP_METADATA);\r\n }\r\n });\r\n return true;\r\n };\r\n /**\r\n * Retrieve the cached credentials into a cacherecord\r\n * @param account\r\n * @param clientId\r\n * @param scopes\r\n * @param environment\r\n * @param authScheme\r\n */\r\n CacheManager.prototype.readCacheRecord = function (account, clientId, request, environment) {\r\n var cachedAccount = this.readAccountFromCache(account);\r\n var cachedIdToken = this.readIdTokenFromCache(clientId, account);\r\n var cachedAccessToken = this.readAccessTokenFromCache(clientId, account, request);\r\n var cachedRefreshToken = this.readRefreshTokenFromCache(clientId, account, false);\r\n var cachedAppMetadata = this.readAppMetadataFromCache(environment, clientId);\r\n if (cachedAccount && cachedIdToken) {\r\n cachedAccount.idTokenClaims = new AuthToken(cachedIdToken.secret, this.cryptoImpl).claims;\r\n }\r\n return {\r\n account: cachedAccount,\r\n idToken: cachedIdToken,\r\n accessToken: cachedAccessToken,\r\n refreshToken: cachedRefreshToken,\r\n appMetadata: cachedAppMetadata,\r\n };\r\n };\r\n /**\r\n * Retrieve AccountEntity from cache\r\n * @param account\r\n */\r\n CacheManager.prototype.readAccountFromCache = function (account) {\r\n var accountKey = AccountEntity.generateAccountCacheKey(account);\r\n return this.getAccount(accountKey);\r\n };\r\n /**\r\n * Retrieve AccountEntity from cache\r\n * @param nativeAccountId\r\n * @returns AccountEntity or Null\r\n */\r\n CacheManager.prototype.readAccountFromCacheWithNativeAccountId = function (nativeAccountId) {\r\n // fetch account from memory\r\n var accountFilter = {\r\n nativeAccountId: nativeAccountId\r\n };\r\n var accountCache = this.getAccountsFilteredBy(accountFilter);\r\n var accounts = Object.keys(accountCache).map(function (key) { return accountCache[key]; });\r\n if (accounts.length < 1) {\r\n return null;\r\n }\r\n else if (accounts.length > 1) {\r\n throw ClientAuthError.createMultipleMatchingAccountsInCacheError();\r\n }\r\n return accountCache[0];\r\n };\r\n /**\r\n * Retrieve IdTokenEntity from cache\r\n * @param clientId\r\n * @param account\r\n * @param inputRealm\r\n */\r\n CacheManager.prototype.readIdTokenFromCache = function (clientId, account) {\r\n var idTokenFilter = {\r\n homeAccountId: account.homeAccountId,\r\n environment: account.environment,\r\n credentialType: CredentialType.ID_TOKEN,\r\n clientId: clientId,\r\n realm: account.tenantId,\r\n };\r\n var credentialCache = this.getCredentialsFilteredBy(idTokenFilter);\r\n var idTokens = Object.keys(credentialCache.idTokens).map(function (key) { return credentialCache.idTokens[key]; });\r\n var numIdTokens = idTokens.length;\r\n if (numIdTokens < 1) {\r\n return null;\r\n }\r\n else if (numIdTokens > 1) {\r\n throw ClientAuthError.createMultipleMatchingTokensInCacheError();\r\n }\r\n return idTokens[0];\r\n };\r\n /**\r\n * Retrieve AccessTokenEntity from cache\r\n * @param clientId\r\n * @param account\r\n * @param scopes\r\n * @param authScheme\r\n */\r\n CacheManager.prototype.readAccessTokenFromCache = function (clientId, account, request) {\r\n var scopes = new ScopeSet(request.scopes || []);\r\n var authScheme = request.authenticationScheme || AuthenticationScheme.BEARER;\r\n /*\r\n * Distinguish between Bearer and PoP/SSH token cache types\r\n * Cast to lowercase to handle \"bearer\" from ADFS\r\n */\r\n var credentialType = (authScheme && authScheme.toLowerCase() !== AuthenticationScheme.BEARER.toLowerCase()) ? CredentialType.ACCESS_TOKEN_WITH_AUTH_SCHEME : CredentialType.ACCESS_TOKEN;\r\n var accessTokenFilter = {\r\n homeAccountId: account.homeAccountId,\r\n environment: account.environment,\r\n credentialType: credentialType,\r\n clientId: clientId,\r\n realm: account.tenantId,\r\n target: scopes.printScopesLowerCase(),\r\n tokenType: authScheme,\r\n keyId: request.sshKid,\r\n requestedClaimsHash: request.requestedClaimsHash,\r\n };\r\n var credentialCache = this.getCredentialsFilteredBy(accessTokenFilter);\r\n var accessTokens = Object.keys(credentialCache.accessTokens).map(function (key) { return credentialCache.accessTokens[key]; });\r\n var numAccessTokens = accessTokens.length;\r\n if (numAccessTokens < 1) {\r\n return null;\r\n }\r\n else if (numAccessTokens > 1) {\r\n throw ClientAuthError.createMultipleMatchingTokensInCacheError();\r\n }\r\n return accessTokens[0];\r\n };\r\n /**\r\n * Helper to retrieve the appropriate refresh token from cache\r\n * @param clientId\r\n * @param account\r\n * @param familyRT\r\n */\r\n CacheManager.prototype.readRefreshTokenFromCache = function (clientId, account, familyRT) {\r\n var id = familyRT ? THE_FAMILY_ID : undefined;\r\n var refreshTokenFilter = {\r\n homeAccountId: account.homeAccountId,\r\n environment: account.environment,\r\n credentialType: CredentialType.REFRESH_TOKEN,\r\n clientId: clientId,\r\n familyId: id,\r\n };\r\n var credentialCache = this.getCredentialsFilteredBy(refreshTokenFilter);\r\n var refreshTokens = Object.keys(credentialCache.refreshTokens).map(function (key) { return credentialCache.refreshTokens[key]; });\r\n var numRefreshTokens = refreshTokens.length;\r\n if (numRefreshTokens < 1) {\r\n return null;\r\n }\r\n // address the else case after remove functions address environment aliases\r\n return refreshTokens[0];\r\n };\r\n /**\r\n * Retrieve AppMetadataEntity from cache\r\n */\r\n CacheManager.prototype.readAppMetadataFromCache = function (environment, clientId) {\r\n var appMetadataFilter = {\r\n environment: environment,\r\n clientId: clientId,\r\n };\r\n var appMetadata = this.getAppMetadataFilteredBy(appMetadataFilter);\r\n var appMetadataEntries = Object.keys(appMetadata).map(function (key) { return appMetadata[key]; });\r\n var numAppMetadata = appMetadataEntries.length;\r\n if (numAppMetadata < 1) {\r\n return null;\r\n }\r\n else if (numAppMetadata > 1) {\r\n throw ClientAuthError.createMultipleMatchingAppMetadataInCacheError();\r\n }\r\n return appMetadataEntries[0];\r\n };\r\n /**\r\n * Return the family_id value associated with FOCI\r\n * @param environment\r\n * @param clientId\r\n */\r\n CacheManager.prototype.isAppMetadataFOCI = function (environment, clientId) {\r\n var appMetadata = this.readAppMetadataFromCache(environment, clientId);\r\n return !!(appMetadata && appMetadata.familyId === THE_FAMILY_ID);\r\n };\r\n /**\r\n * helper to match account ids\r\n * @param value\r\n * @param homeAccountId\r\n */\r\n CacheManager.prototype.matchHomeAccountId = function (entity, homeAccountId) {\r\n return !!((typeof entity.homeAccountId === \"string\") && (homeAccountId === entity.homeAccountId));\r\n };\r\n /**\r\n * helper to match assertion\r\n * @param value\r\n * @param oboAssertion\r\n */\r\n CacheManager.prototype.matchUserAssertionHash = function (entity, userAssertionHash) {\r\n return !!(entity.userAssertionHash && userAssertionHash === entity.userAssertionHash);\r\n };\r\n /**\r\n * helper to match environment\r\n * @param value\r\n * @param environment\r\n */\r\n CacheManager.prototype.matchEnvironment = function (entity, environment) {\r\n var cloudMetadata = this.getAuthorityMetadataByAlias(environment);\r\n if (cloudMetadata && cloudMetadata.aliases.indexOf(entity.environment) > -1) {\r\n return true;\r\n }\r\n return false;\r\n };\r\n /**\r\n * helper to match credential type\r\n * @param entity\r\n * @param credentialType\r\n */\r\n CacheManager.prototype.matchCredentialType = function (entity, credentialType) {\r\n return (entity.credentialType && credentialType.toLowerCase() === entity.credentialType.toLowerCase());\r\n };\r\n /**\r\n * helper to match client ids\r\n * @param entity\r\n * @param clientId\r\n */\r\n CacheManager.prototype.matchClientId = function (entity, clientId) {\r\n return !!(entity.clientId && clientId === entity.clientId);\r\n };\r\n /**\r\n * helper to match family ids\r\n * @param entity\r\n * @param familyId\r\n */\r\n CacheManager.prototype.matchFamilyId = function (entity, familyId) {\r\n return !!(entity.familyId && familyId === entity.familyId);\r\n };\r\n /**\r\n * helper to match realm\r\n * @param entity\r\n * @param realm\r\n */\r\n CacheManager.prototype.matchRealm = function (entity, realm) {\r\n return !!(entity.realm && realm === entity.realm);\r\n };\r\n /**\r\n * helper to match nativeAccountId\r\n * @param entity\r\n * @param nativeAccountId\r\n * @returns boolean indicating the match result\r\n */\r\n CacheManager.prototype.matchNativeAccountId = function (entity, nativeAccountId) {\r\n return !!(entity.nativeAccountId && nativeAccountId === entity.nativeAccountId);\r\n };\r\n /**\r\n * Returns true if the target scopes are a subset of the current entity's scopes, false otherwise.\r\n * @param entity\r\n * @param target\r\n */\r\n CacheManager.prototype.matchTarget = function (entity, target) {\r\n var isNotAccessTokenCredential = (entity.credentialType !== CredentialType.ACCESS_TOKEN && entity.credentialType !== CredentialType.ACCESS_TOKEN_WITH_AUTH_SCHEME);\r\n if (isNotAccessTokenCredential || !entity.target) {\r\n return false;\r\n }\r\n var entityScopeSet = ScopeSet.fromString(entity.target);\r\n var requestTargetScopeSet = ScopeSet.fromString(target);\r\n if (!requestTargetScopeSet.containsOnlyOIDCScopes()) {\r\n requestTargetScopeSet.removeOIDCScopes(); // ignore OIDC scopes\r\n }\r\n else {\r\n requestTargetScopeSet.removeScope(Constants.OFFLINE_ACCESS_SCOPE);\r\n }\r\n return entityScopeSet.containsScopeSet(requestTargetScopeSet);\r\n };\r\n /**\r\n * Returns true if the credential's tokenType or Authentication Scheme matches the one in the request, false otherwise\r\n * @param entity\r\n * @param tokenType\r\n */\r\n CacheManager.prototype.matchTokenType = function (entity, tokenType) {\r\n return !!(entity.tokenType && entity.tokenType === tokenType);\r\n };\r\n /**\r\n * Returns true if the credential's keyId matches the one in the request, false otherwise\r\n * @param entity\r\n * @param tokenType\r\n */\r\n CacheManager.prototype.matchKeyId = function (entity, keyId) {\r\n return !!(entity.keyId && entity.keyId === keyId);\r\n };\r\n /**\r\n * returns if a given cache entity is of the type appmetadata\r\n * @param key\r\n */\r\n CacheManager.prototype.isAppMetadata = function (key) {\r\n return key.indexOf(APP_METADATA) !== -1;\r\n };\r\n /**\r\n * returns if a given cache entity is of the type authoritymetadata\r\n * @param key\r\n */\r\n CacheManager.prototype.isAuthorityMetadata = function (key) {\r\n return key.indexOf(AUTHORITY_METADATA_CONSTANTS.CACHE_KEY) !== -1;\r\n };\r\n /**\r\n * returns cache key used for cloud instance metadata\r\n */\r\n CacheManager.prototype.generateAuthorityMetadataCacheKey = function (authority) {\r\n return AUTHORITY_METADATA_CONSTANTS.CACHE_KEY + \"-\" + this.clientId + \"-\" + authority;\r\n };\r\n /**\r\n * Returns the specific credential (IdToken/AccessToken/RefreshToken) from the cache\r\n * @param key\r\n * @param credType\r\n */\r\n CacheManager.prototype.getSpecificCredential = function (key, credType) {\r\n switch (credType) {\r\n case CredentialType.ID_TOKEN: {\r\n return this.getIdTokenCredential(key);\r\n }\r\n case CredentialType.ACCESS_TOKEN:\r\n case CredentialType.ACCESS_TOKEN_WITH_AUTH_SCHEME: {\r\n return this.getAccessTokenCredential(key);\r\n }\r\n case CredentialType.REFRESH_TOKEN: {\r\n return this.getRefreshTokenCredential(key);\r\n }\r\n default:\r\n return null;\r\n }\r\n };\r\n /**\r\n * Helper to convert serialized data to object\r\n * @param obj\r\n * @param json\r\n */\r\n CacheManager.toObject = function (obj, json) {\r\n for (var propertyName in json) {\r\n obj[propertyName] = json[propertyName];\r\n }\r\n return obj;\r\n };\r\n return CacheManager;\r\n}());\r\nvar DefaultStorageClass = /** @class */ (function (_super) {\r\n __extends(DefaultStorageClass, _super);\r\n function DefaultStorageClass() {\r\n return _super !== null && _super.apply(this, arguments) || this;\r\n }\r\n DefaultStorageClass.prototype.setAccount = function () {\r\n var notImplErr = \"Storage interface - setAccount() has not been implemented for the cacheStorage interface.\";\r\n throw AuthError.createUnexpectedError(notImplErr);\r\n };\r\n DefaultStorageClass.prototype.getAccount = function () {\r\n var notImplErr = \"Storage interface - getAccount() has not been implemented for the cacheStorage interface.\";\r\n throw AuthError.createUnexpectedError(notImplErr);\r\n };\r\n DefaultStorageClass.prototype.setIdTokenCredential = function () {\r\n var notImplErr = \"Storage interface - setIdTokenCredential() has not been implemented for the cacheStorage interface.\";\r\n throw AuthError.createUnexpectedError(notImplErr);\r\n };\r\n DefaultStorageClass.prototype.getIdTokenCredential = function () {\r\n var notImplErr = \"Storage interface - getIdTokenCredential() has not been implemented for the cacheStorage interface.\";\r\n throw AuthError.createUnexpectedError(notImplErr);\r\n };\r\n DefaultStorageClass.prototype.setAccessTokenCredential = function () {\r\n var notImplErr = \"Storage interface - setAccessTokenCredential() has not been implemented for the cacheStorage interface.\";\r\n throw AuthError.createUnexpectedError(notImplErr);\r\n };\r\n DefaultStorageClass.prototype.getAccessTokenCredential = function () {\r\n var notImplErr = \"Storage interface - getAccessTokenCredential() has not been implemented for the cacheStorage interface.\";\r\n throw AuthError.createUnexpectedError(notImplErr);\r\n };\r\n DefaultStorageClass.prototype.setRefreshTokenCredential = function () {\r\n var notImplErr = \"Storage interface - setRefreshTokenCredential() has not been implemented for the cacheStorage interface.\";\r\n throw AuthError.createUnexpectedError(notImplErr);\r\n };\r\n DefaultStorageClass.prototype.getRefreshTokenCredential = function () {\r\n var notImplErr = \"Storage interface - getRefreshTokenCredential() has not been implemented for the cacheStorage interface.\";\r\n throw AuthError.createUnexpectedError(notImplErr);\r\n };\r\n DefaultStorageClass.prototype.setAppMetadata = function () {\r\n var notImplErr = \"Storage interface - setAppMetadata() has not been implemented for the cacheStorage interface.\";\r\n throw AuthError.createUnexpectedError(notImplErr);\r\n };\r\n DefaultStorageClass.prototype.getAppMetadata = function () {\r\n var notImplErr = \"Storage interface - getAppMetadata() has not been implemented for the cacheStorage interface.\";\r\n throw AuthError.createUnexpectedError(notImplErr);\r\n };\r\n DefaultStorageClass.prototype.setServerTelemetry = function () {\r\n var notImplErr = \"Storage interface - setServerTelemetry() has not been implemented for the cacheStorage interface.\";\r\n throw AuthError.createUnexpectedError(notImplErr);\r\n };\r\n DefaultStorageClass.prototype.getServerTelemetry = function () {\r\n var notImplErr = \"Storage interface - getServerTelemetry() has not been implemented for the cacheStorage interface.\";\r\n throw AuthError.createUnexpectedError(notImplErr);\r\n };\r\n DefaultStorageClass.prototype.setAuthorityMetadata = function () {\r\n var notImplErr = \"Storage interface - setAuthorityMetadata() has not been implemented for the cacheStorage interface.\";\r\n throw AuthError.createUnexpectedError(notImplErr);\r\n };\r\n DefaultStorageClass.prototype.getAuthorityMetadata = function () {\r\n var notImplErr = \"Storage interface - getAuthorityMetadata() has not been implemented for the cacheStorage interface.\";\r\n throw AuthError.createUnexpectedError(notImplErr);\r\n };\r\n DefaultStorageClass.prototype.getAuthorityMetadataKeys = function () {\r\n var notImplErr = \"Storage interface - getAuthorityMetadataKeys() has not been implemented for the cacheStorage interface.\";\r\n throw AuthError.createUnexpectedError(notImplErr);\r\n };\r\n DefaultStorageClass.prototype.setThrottlingCache = function () {\r\n var notImplErr = \"Storage interface - setThrottlingCache() has not been implemented for the cacheStorage interface.\";\r\n throw AuthError.createUnexpectedError(notImplErr);\r\n };\r\n DefaultStorageClass.prototype.getThrottlingCache = function () {\r\n var notImplErr = \"Storage interface - getThrottlingCache() has not been implemented for the cacheStorage interface.\";\r\n throw AuthError.createUnexpectedError(notImplErr);\r\n };\r\n DefaultStorageClass.prototype.removeItem = function () {\r\n var notImplErr = \"Storage interface - removeItem() has not been implemented for the cacheStorage interface.\";\r\n throw AuthError.createUnexpectedError(notImplErr);\r\n };\r\n DefaultStorageClass.prototype.containsKey = function () {\r\n var notImplErr = \"Storage interface - containsKey() has not been implemented for the cacheStorage interface.\";\r\n throw AuthError.createUnexpectedError(notImplErr);\r\n };\r\n DefaultStorageClass.prototype.getKeys = function () {\r\n var notImplErr = \"Storage interface - getKeys() has not been implemented for the cacheStorage interface.\";\r\n throw AuthError.createUnexpectedError(notImplErr);\r\n };\r\n DefaultStorageClass.prototype.clear = function () {\r\n return __awaiter(this, void 0, void 0, function () {\r\n var notImplErr;\r\n return __generator(this, function (_a) {\r\n notImplErr = \"Storage interface - clear() has not been implemented for the cacheStorage interface.\";\r\n throw AuthError.createUnexpectedError(notImplErr);\r\n });\r\n });\r\n };\r\n DefaultStorageClass.prototype.updateCredentialCacheKey = function () {\r\n var notImplErr = \"Storage interface - updateCredentialCacheKey() has not been implemented for the cacheStorage interface.\";\r\n throw AuthError.createUnexpectedError(notImplErr);\r\n };\r\n return DefaultStorageClass;\r\n}(CacheManager));\n\nexport { CacheManager, DefaultStorageClass };\n","/*! @azure/msal-common v9.1.1 2023-01-19 */\n'use strict';\nimport { __extends } from '../../_virtual/_tslib.js';\nimport { CredentialEntity } from './CredentialEntity.js';\nimport { CredentialType, AuthenticationScheme } from '../../utils/Constants.js';\nimport { TimeUtils } from '../../utils/TimeUtils.js';\nimport { StringUtils } from '../../utils/StringUtils.js';\nimport { AuthToken } from '../../account/AuthToken.js';\nimport { ClientAuthError } from '../../error/ClientAuthError.js';\n\n/*\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * Licensed under the MIT License.\r\n */\r\n/**\r\n * ACCESS_TOKEN Credential Type\r\n *\r\n * Key:Value Schema:\r\n *\r\n * Key Example: uid.utid-login.microsoftonline.com-accesstoken-clientId-contoso.com-user.read\r\n *\r\n * Value Schema:\r\n * {\r\n * homeAccountId: home account identifier for the auth scheme,\r\n * environment: entity that issued the token, represented as a full host\r\n * credentialType: Type of credential as a string, can be one of the following: RefreshToken, AccessToken, IdToken, Password, Cookie, Certificate, Other\r\n * clientId: client ID of the application\r\n * secret: Actual credential as a string\r\n * familyId: Family ID identifier, usually only used for refresh tokens\r\n * realm: Full tenant or organizational identifier that the account belongs to\r\n * target: Permissions that are included in the token, or for refresh tokens, the resource identifier.\r\n * cachedAt: Absolute device time when entry was created in the cache.\r\n * expiresOn: Token expiry time, calculated based on current UTC time in seconds. Represented as a string.\r\n * extendedExpiresOn: Additional extended expiry time until when token is valid in case of server-side outage. Represented as string in UTC seconds.\r\n * keyId: used for POP and SSH tokenTypes\r\n * tokenType: Type of the token issued. Usually \"Bearer\"\r\n * }\r\n */\r\nvar AccessTokenEntity = /** @class */ (function (_super) {\r\n __extends(AccessTokenEntity, _super);\r\n function AccessTokenEntity() {\r\n return _super !== null && _super.apply(this, arguments) || this;\r\n }\r\n /**\r\n * Create AccessTokenEntity\r\n * @param homeAccountId\r\n * @param environment\r\n * @param accessToken\r\n * @param clientId\r\n * @param tenantId\r\n * @param scopes\r\n * @param expiresOn\r\n * @param extExpiresOn\r\n */\r\n AccessTokenEntity.createAccessTokenEntity = function (homeAccountId, environment, accessToken, clientId, tenantId, scopes, expiresOn, extExpiresOn, cryptoUtils, refreshOn, tokenType, userAssertionHash, keyId, requestedClaims, requestedClaimsHash) {\r\n var _a, _b;\r\n var atEntity = new AccessTokenEntity();\r\n atEntity.homeAccountId = homeAccountId;\r\n atEntity.credentialType = CredentialType.ACCESS_TOKEN;\r\n atEntity.secret = accessToken;\r\n var currentTime = TimeUtils.nowSeconds();\r\n atEntity.cachedAt = currentTime.toString();\r\n /*\r\n * Token expiry time.\r\n * This value should be  calculated based on the current UTC time measured locally and the value  expires_in Represented as a string in JSON.\r\n */\r\n atEntity.expiresOn = expiresOn.toString();\r\n atEntity.extendedExpiresOn = extExpiresOn.toString();\r\n if (refreshOn) {\r\n atEntity.refreshOn = refreshOn.toString();\r\n }\r\n atEntity.environment = environment;\r\n atEntity.clientId = clientId;\r\n atEntity.realm = tenantId;\r\n atEntity.target = scopes;\r\n atEntity.userAssertionHash = userAssertionHash;\r\n atEntity.tokenType = StringUtils.isEmpty(tokenType) ? AuthenticationScheme.BEARER : tokenType;\r\n if (requestedClaims) {\r\n atEntity.requestedClaims = requestedClaims;\r\n atEntity.requestedClaimsHash = requestedClaimsHash;\r\n }\r\n /*\r\n * Create Access Token With Auth Scheme instead of regular access token\r\n * Cast to lower to handle \"bearer\" from ADFS\r\n */\r\n if (((_a = atEntity.tokenType) === null || _a === void 0 ? void 0 : _a.toLowerCase()) !== AuthenticationScheme.BEARER.toLowerCase()) {\r\n atEntity.credentialType = CredentialType.ACCESS_TOKEN_WITH_AUTH_SCHEME;\r\n switch (atEntity.tokenType) {\r\n case AuthenticationScheme.POP:\r\n // Make sure keyId is present and add it to credential\r\n var tokenClaims = AuthToken.extractTokenClaims(accessToken, cryptoUtils);\r\n if (!((_b = tokenClaims === null || tokenClaims === void 0 ? void 0 : tokenClaims.cnf) === null || _b === void 0 ? void 0 : _b.kid)) {\r\n throw ClientAuthError.createTokenClaimsRequiredError();\r\n }\r\n atEntity.keyId = tokenClaims.cnf.kid;\r\n break;\r\n case AuthenticationScheme.SSH:\r\n atEntity.keyId = keyId;\r\n }\r\n }\r\n return atEntity;\r\n };\r\n /**\r\n * Validates an entity: checks for all expected params\r\n * @param entity\r\n */\r\n AccessTokenEntity.isAccessTokenEntity = function (entity) {\r\n if (!entity) {\r\n return false;\r\n }\r\n return (entity.hasOwnProperty(\"homeAccountId\") &&\r\n entity.hasOwnProperty(\"environment\") &&\r\n entity.hasOwnProperty(\"credentialType\") &&\r\n entity.hasOwnProperty(\"realm\") &&\r\n entity.hasOwnProperty(\"clientId\") &&\r\n entity.hasOwnProperty(\"secret\") &&\r\n entity.hasOwnProperty(\"target\") &&\r\n (entity[\"credentialType\"] === CredentialType.ACCESS_TOKEN || entity[\"credentialType\"] === CredentialType.ACCESS_TOKEN_WITH_AUTH_SCHEME));\r\n };\r\n return AccessTokenEntity;\r\n}(CredentialEntity));\n\nexport { AccessTokenEntity };\n","/*! @azure/msal-common v9.1.1 2023-01-19 */\n'use strict';\nimport { Separators, CacheAccountType, CacheType, Constants } from '../../utils/Constants.js';\nimport { buildClientInfo } from '../../account/ClientInfo.js';\nimport { StringUtils } from '../../utils/StringUtils.js';\nimport { ClientAuthError } from '../../error/ClientAuthError.js';\nimport { AuthorityType } from '../../authority/AuthorityType.js';\n\n/*\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * Licensed under the MIT License.\r\n */\r\n/**\r\n * Type that defines required and optional parameters for an Account field (based on universal cache schema implemented by all MSALs).\r\n *\r\n * Key : Value Schema\r\n *\r\n * Key: --\r\n *\r\n * Value Schema:\r\n * {\r\n * homeAccountId: home account identifier for the auth scheme,\r\n * environment: entity that issued the token, represented as a full host\r\n * realm: Full tenant or organizational identifier that the account belongs to\r\n * localAccountId: Original tenant-specific accountID, usually used for legacy cases\r\n * username: primary username that represents the user, usually corresponds to preferred_username in the v2 endpt\r\n * authorityType: Accounts authority type as a string\r\n * name: Full name for the account, including given name and family name,\r\n * clientInfo: Full base64 encoded client info received from ESTS\r\n * lastModificationTime: last time this entity was modified in the cache\r\n * lastModificationApp:\r\n * idTokenClaims: Object containing claims parsed from ID token\r\n * nativeAccountId: Account identifier on the native device\r\n * }\r\n */\r\nvar AccountEntity = /** @class */ (function () {\r\n function AccountEntity() {\r\n }\r\n /**\r\n * Generate Account Id key component as per the schema: -\r\n */\r\n AccountEntity.prototype.generateAccountId = function () {\r\n var accountId = [this.homeAccountId, this.environment];\r\n return accountId.join(Separators.CACHE_KEY_SEPARATOR).toLowerCase();\r\n };\r\n /**\r\n * Generate Account Cache Key as per the schema: --\r\n */\r\n AccountEntity.prototype.generateAccountKey = function () {\r\n return AccountEntity.generateAccountCacheKey({\r\n homeAccountId: this.homeAccountId,\r\n environment: this.environment,\r\n tenantId: this.realm,\r\n username: this.username,\r\n localAccountId: this.localAccountId\r\n });\r\n };\r\n /**\r\n * returns the type of the cache (in this case account)\r\n */\r\n AccountEntity.prototype.generateType = function () {\r\n switch (this.authorityType) {\r\n case CacheAccountType.ADFS_ACCOUNT_TYPE:\r\n return CacheType.ADFS;\r\n case CacheAccountType.MSAV1_ACCOUNT_TYPE:\r\n return CacheType.MSA;\r\n case CacheAccountType.MSSTS_ACCOUNT_TYPE:\r\n return CacheType.MSSTS;\r\n case CacheAccountType.GENERIC_ACCOUNT_TYPE:\r\n return CacheType.GENERIC;\r\n default: {\r\n throw ClientAuthError.createUnexpectedAccountTypeError();\r\n }\r\n }\r\n };\r\n /**\r\n * Returns the AccountInfo interface for this account.\r\n */\r\n AccountEntity.prototype.getAccountInfo = function () {\r\n return {\r\n homeAccountId: this.homeAccountId,\r\n environment: this.environment,\r\n tenantId: this.realm,\r\n username: this.username,\r\n localAccountId: this.localAccountId,\r\n name: this.name,\r\n idTokenClaims: this.idTokenClaims,\r\n nativeAccountId: this.nativeAccountId\r\n };\r\n };\r\n /**\r\n * Generates account key from interface\r\n * @param accountInterface\r\n */\r\n AccountEntity.generateAccountCacheKey = function (accountInterface) {\r\n var accountKey = [\r\n accountInterface.homeAccountId,\r\n accountInterface.environment || Constants.EMPTY_STRING,\r\n accountInterface.tenantId || Constants.EMPTY_STRING,\r\n ];\r\n return accountKey.join(Separators.CACHE_KEY_SEPARATOR).toLowerCase();\r\n };\r\n /**\r\n * Build Account cache from IdToken, clientInfo and authority/policy. Associated with AAD.\r\n * @param clientInfo\r\n * @param authority\r\n * @param idToken\r\n * @param policy\r\n */\r\n AccountEntity.createAccount = function (clientInfo, homeAccountId, idToken, authority, cloudGraphHostName, msGraphHost, environment, nativeAccountId) {\r\n var _a, _b, _c, _d, _e, _f;\r\n var account = new AccountEntity();\r\n account.authorityType = CacheAccountType.MSSTS_ACCOUNT_TYPE;\r\n account.clientInfo = clientInfo;\r\n account.homeAccountId = homeAccountId;\r\n account.nativeAccountId = nativeAccountId;\r\n var env = environment || (authority && authority.getPreferredCache());\r\n if (!env) {\r\n throw ClientAuthError.createInvalidCacheEnvironmentError();\r\n }\r\n account.environment = env;\r\n // non AAD scenarios can have empty realm\r\n account.realm = ((_a = idToken === null || idToken === void 0 ? void 0 : idToken.claims) === null || _a === void 0 ? void 0 : _a.tid) || Constants.EMPTY_STRING;\r\n if (idToken) {\r\n account.idTokenClaims = idToken.claims;\r\n // How do you account for MSA CID here?\r\n account.localAccountId = ((_b = idToken === null || idToken === void 0 ? void 0 : idToken.claims) === null || _b === void 0 ? void 0 : _b.oid) || ((_c = idToken === null || idToken === void 0 ? void 0 : idToken.claims) === null || _c === void 0 ? void 0 : _c.sub) || Constants.EMPTY_STRING;\r\n /*\r\n * In B2C scenarios the emails claim is used instead of preferred_username and it is an array.\r\n * In most cases it will contain a single email. This field should not be relied upon if a custom\r\n * policy is configured to return more than 1 email.\r\n */\r\n var preferredUsername = (_d = idToken === null || idToken === void 0 ? void 0 : idToken.claims) === null || _d === void 0 ? void 0 : _d.preferred_username;\r\n var email = ((_e = idToken === null || idToken === void 0 ? void 0 : idToken.claims) === null || _e === void 0 ? void 0 : _e.emails) ? idToken.claims.emails[0] : null;\r\n account.username = preferredUsername || email || Constants.EMPTY_STRING;\r\n account.name = (_f = idToken === null || idToken === void 0 ? void 0 : idToken.claims) === null || _f === void 0 ? void 0 : _f.name;\r\n }\r\n account.cloudGraphHostName = cloudGraphHostName;\r\n account.msGraphHost = msGraphHost;\r\n return account;\r\n };\r\n /**\r\n * Builds non-AAD/ADFS account.\r\n * @param authority\r\n * @param idToken\r\n */\r\n AccountEntity.createGenericAccount = function (homeAccountId, idToken, authority, cloudGraphHostName, msGraphHost, environment) {\r\n var _a, _b, _c, _d;\r\n var account = new AccountEntity();\r\n account.authorityType = (authority &&\r\n authority.authorityType === AuthorityType.Adfs) ? CacheAccountType.ADFS_ACCOUNT_TYPE : CacheAccountType.GENERIC_ACCOUNT_TYPE;\r\n account.homeAccountId = homeAccountId;\r\n // non AAD scenarios can have empty realm\r\n account.realm = Constants.EMPTY_STRING;\r\n var env = environment || authority && authority.getPreferredCache();\r\n if (!env) {\r\n throw ClientAuthError.createInvalidCacheEnvironmentError();\r\n }\r\n if (idToken) {\r\n // How do you account for MSA CID here?\r\n account.localAccountId = ((_a = idToken === null || idToken === void 0 ? void 0 : idToken.claims) === null || _a === void 0 ? void 0 : _a.oid) || ((_b = idToken === null || idToken === void 0 ? void 0 : idToken.claims) === null || _b === void 0 ? void 0 : _b.sub) || Constants.EMPTY_STRING;\r\n // upn claim for most ADFS scenarios\r\n account.username = ((_c = idToken === null || idToken === void 0 ? void 0 : idToken.claims) === null || _c === void 0 ? void 0 : _c.upn) || Constants.EMPTY_STRING;\r\n account.name = ((_d = idToken === null || idToken === void 0 ? void 0 : idToken.claims) === null || _d === void 0 ? void 0 : _d.name) || Constants.EMPTY_STRING;\r\n account.idTokenClaims = idToken === null || idToken === void 0 ? void 0 : idToken.claims;\r\n }\r\n account.environment = env;\r\n account.cloudGraphHostName = cloudGraphHostName;\r\n account.msGraphHost = msGraphHost;\r\n /*\r\n * add uniqueName to claims\r\n * account.name = idToken.claims.uniqueName;\r\n */\r\n return account;\r\n };\r\n /**\r\n * Generate HomeAccountId from server response\r\n * @param serverClientInfo\r\n * @param authType\r\n */\r\n AccountEntity.generateHomeAccountId = function (serverClientInfo, authType, logger, cryptoObj, idToken) {\r\n var _a;\r\n var accountId = ((_a = idToken === null || idToken === void 0 ? void 0 : idToken.claims) === null || _a === void 0 ? void 0 : _a.sub) ? idToken.claims.sub : Constants.EMPTY_STRING;\r\n // since ADFS does not have tid and does not set client_info\r\n if (authType === AuthorityType.Adfs || authType === AuthorityType.Dsts) {\r\n return accountId;\r\n }\r\n // for cases where there is clientInfo\r\n if (serverClientInfo) {\r\n try {\r\n var clientInfo = buildClientInfo(serverClientInfo, cryptoObj);\r\n if (!StringUtils.isEmpty(clientInfo.uid) && !StringUtils.isEmpty(clientInfo.utid)) {\r\n return \"\" + clientInfo.uid + Separators.CLIENT_INFO_SEPARATOR + clientInfo.utid;\r\n }\r\n }\r\n catch (e) { }\r\n }\r\n // default to \"sub\" claim\r\n logger.verbose(\"No client info in response\");\r\n return accountId;\r\n };\r\n /**\r\n * Validates an entity: checks for all expected params\r\n * @param entity\r\n */\r\n AccountEntity.isAccountEntity = function (entity) {\r\n if (!entity) {\r\n return false;\r\n }\r\n return (entity.hasOwnProperty(\"homeAccountId\") &&\r\n entity.hasOwnProperty(\"environment\") &&\r\n entity.hasOwnProperty(\"realm\") &&\r\n entity.hasOwnProperty(\"localAccountId\") &&\r\n entity.hasOwnProperty(\"username\") &&\r\n entity.hasOwnProperty(\"authorityType\"));\r\n };\r\n /**\r\n * Helper function to determine whether 2 accountInfo objects represent the same account\r\n * @param accountA\r\n * @param accountB\r\n * @param compareClaims - If set to true idTokenClaims will also be compared to determine account equality\r\n */\r\n AccountEntity.accountInfoIsEqual = function (accountA, accountB, compareClaims) {\r\n if (!accountA || !accountB) {\r\n return false;\r\n }\r\n var claimsMatch = true; // default to true so as to not fail comparison below if compareClaims: false\r\n if (compareClaims) {\r\n var accountAClaims = (accountA.idTokenClaims || {});\r\n var accountBClaims = (accountB.idTokenClaims || {});\r\n // issued at timestamp and nonce are expected to change each time a new id token is acquired\r\n claimsMatch = (accountAClaims.iat === accountBClaims.iat) &&\r\n (accountAClaims.nonce === accountBClaims.nonce);\r\n }\r\n return (accountA.homeAccountId === accountB.homeAccountId) &&\r\n (accountA.localAccountId === accountB.localAccountId) &&\r\n (accountA.username === accountB.username) &&\r\n (accountA.tenantId === accountB.tenantId) &&\r\n (accountA.environment === accountB.environment) &&\r\n (accountA.nativeAccountId === accountB.nativeAccountId) &&\r\n claimsMatch;\r\n };\r\n return AccountEntity;\r\n}());\n\nexport { AccountEntity };\n","/*! @azure/msal-common v9.1.1 2023-01-19 */\n'use strict';\nimport { Separators, APP_METADATA } from '../../utils/Constants.js';\n\n/*\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * Licensed under the MIT License.\r\n */\r\n/**\r\n * APP_METADATA Cache\r\n *\r\n * Key:Value Schema:\r\n *\r\n * Key: appmetadata--\r\n *\r\n * Value:\r\n * {\r\n * clientId: client ID of the application\r\n * environment: entity that issued the token, represented as a full host\r\n * familyId: Family ID identifier, '1' represents Microsoft Family\r\n * }\r\n */\r\nvar AppMetadataEntity = /** @class */ (function () {\r\n function AppMetadataEntity() {\r\n }\r\n /**\r\n * Generate AppMetadata Cache Key as per the schema: appmetadata--\r\n */\r\n AppMetadataEntity.prototype.generateAppMetadataKey = function () {\r\n return AppMetadataEntity.generateAppMetadataCacheKey(this.environment, this.clientId);\r\n };\r\n /**\r\n * Generate AppMetadata Cache Key\r\n */\r\n AppMetadataEntity.generateAppMetadataCacheKey = function (environment, clientId) {\r\n var appMetaDataKeyArray = [\r\n APP_METADATA,\r\n environment,\r\n clientId,\r\n ];\r\n return appMetaDataKeyArray.join(Separators.CACHE_KEY_SEPARATOR).toLowerCase();\r\n };\r\n /**\r\n * Creates AppMetadataEntity\r\n * @param clientId\r\n * @param environment\r\n * @param familyId\r\n */\r\n AppMetadataEntity.createAppMetadataEntity = function (clientId, environment, familyId) {\r\n var appMetadata = new AppMetadataEntity();\r\n appMetadata.clientId = clientId;\r\n appMetadata.environment = environment;\r\n if (familyId) {\r\n appMetadata.familyId = familyId;\r\n }\r\n return appMetadata;\r\n };\r\n /**\r\n * Validates an entity: checks for all expected params\r\n * @param entity\r\n */\r\n AppMetadataEntity.isAppMetadataEntity = function (key, entity) {\r\n if (!entity) {\r\n return false;\r\n }\r\n return (key.indexOf(APP_METADATA) === 0 &&\r\n entity.hasOwnProperty(\"clientId\") &&\r\n entity.hasOwnProperty(\"environment\"));\r\n };\r\n return AppMetadataEntity;\r\n}());\n\nexport { AppMetadataEntity };\n","/*! @azure/msal-common v9.1.1 2023-01-19 */\n'use strict';\nimport { AUTHORITY_METADATA_CONSTANTS } from '../../utils/Constants.js';\nimport { TimeUtils } from '../../utils/TimeUtils.js';\n\n/*\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * Licensed under the MIT License.\r\n */\r\nvar AuthorityMetadataEntity = /** @class */ (function () {\r\n function AuthorityMetadataEntity() {\r\n this.expiresAt = TimeUtils.nowSeconds() + AUTHORITY_METADATA_CONSTANTS.REFRESH_TIME_SECONDS;\r\n }\r\n /**\r\n * Update the entity with new aliases, preferred_cache and preferred_network values\r\n * @param metadata\r\n * @param fromNetwork\r\n */\r\n AuthorityMetadataEntity.prototype.updateCloudDiscoveryMetadata = function (metadata, fromNetwork) {\r\n this.aliases = metadata.aliases;\r\n this.preferred_cache = metadata.preferred_cache;\r\n this.preferred_network = metadata.preferred_network;\r\n this.aliasesFromNetwork = fromNetwork;\r\n };\r\n /**\r\n * Update the entity with new endpoints\r\n * @param metadata\r\n * @param fromNetwork\r\n */\r\n AuthorityMetadataEntity.prototype.updateEndpointMetadata = function (metadata, fromNetwork) {\r\n this.authorization_endpoint = metadata.authorization_endpoint;\r\n this.token_endpoint = metadata.token_endpoint;\r\n this.end_session_endpoint = metadata.end_session_endpoint;\r\n this.issuer = metadata.issuer;\r\n this.endpointsFromNetwork = fromNetwork;\r\n this.jwks_uri = metadata.jwks_uri;\r\n };\r\n /**\r\n * Save the authority that was used to create this cache entry\r\n * @param authority\r\n */\r\n AuthorityMetadataEntity.prototype.updateCanonicalAuthority = function (authority) {\r\n this.canonical_authority = authority;\r\n };\r\n /**\r\n * Reset the exiresAt value\r\n */\r\n AuthorityMetadataEntity.prototype.resetExpiresAt = function () {\r\n this.expiresAt = TimeUtils.nowSeconds() + AUTHORITY_METADATA_CONSTANTS.REFRESH_TIME_SECONDS;\r\n };\r\n /**\r\n * Returns whether or not the data needs to be refreshed\r\n */\r\n AuthorityMetadataEntity.prototype.isExpired = function () {\r\n return this.expiresAt <= TimeUtils.nowSeconds();\r\n };\r\n /**\r\n * Validates an entity: checks for all expected params\r\n * @param entity\r\n */\r\n AuthorityMetadataEntity.isAuthorityMetadataEntity = function (key, entity) {\r\n if (!entity) {\r\n return false;\r\n }\r\n return (key.indexOf(AUTHORITY_METADATA_CONSTANTS.CACHE_KEY) === 0 &&\r\n entity.hasOwnProperty(\"aliases\") &&\r\n entity.hasOwnProperty(\"preferred_cache\") &&\r\n entity.hasOwnProperty(\"preferred_network\") &&\r\n entity.hasOwnProperty(\"canonical_authority\") &&\r\n entity.hasOwnProperty(\"authorization_endpoint\") &&\r\n entity.hasOwnProperty(\"token_endpoint\") &&\r\n entity.hasOwnProperty(\"issuer\") &&\r\n entity.hasOwnProperty(\"aliasesFromNetwork\") &&\r\n entity.hasOwnProperty(\"endpointsFromNetwork\") &&\r\n entity.hasOwnProperty(\"expiresAt\") &&\r\n entity.hasOwnProperty(\"jwks_uri\"));\r\n };\r\n return AuthorityMetadataEntity;\r\n}());\n\nexport { AuthorityMetadataEntity };\n","/*! @azure/msal-common v9.1.1 2023-01-19 */\n'use strict';\n/*\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * Licensed under the MIT License.\r\n */\r\nvar CacheRecord = /** @class */ (function () {\r\n function CacheRecord(accountEntity, idTokenEntity, accessTokenEntity, refreshTokenEntity, appMetadataEntity) {\r\n this.account = accountEntity || null;\r\n this.idToken = idTokenEntity || null;\r\n this.accessToken = accessTokenEntity || null;\r\n this.refreshToken = refreshTokenEntity || null;\r\n this.appMetadata = appMetadataEntity || null;\r\n }\r\n return CacheRecord;\r\n}());\n\nexport { CacheRecord };\n","/*! @azure/msal-common v9.1.1 2023-01-19 */\n'use strict';\nimport { CredentialType, CacheType, Constants, Separators, AuthenticationScheme } from '../../utils/Constants.js';\nimport { ClientAuthError } from '../../error/ClientAuthError.js';\n\n/*\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * Licensed under the MIT License.\r\n */\r\n/**\r\n * Base type for credentials to be stored in the cache: eg: ACCESS_TOKEN, ID_TOKEN etc\r\n *\r\n * Key:Value Schema:\r\n *\r\n * Key: -------\r\n *\r\n * Value Schema:\r\n * {\r\n * homeAccountId: home account identifier for the auth scheme,\r\n * environment: entity that issued the token, represented as a full host\r\n * credentialType: Type of credential as a string, can be one of the following: RefreshToken, AccessToken, IdToken, Password, Cookie, Certificate, Other\r\n * clientId: client ID of the application\r\n * secret: Actual credential as a string\r\n * familyId: Family ID identifier, usually only used for refresh tokens\r\n * realm: Full tenant or organizational identifier that the account belongs to\r\n * target: Permissions that are included in the token, or for refresh tokens, the resource identifier.\r\n * tokenType: Matches the authentication scheme for which the token was issued (i.e. Bearer or pop)\r\n * requestedClaimsHash: Matches the SHA 256 hash of the claims object included in the token request\r\n * userAssertionHash: Matches the SHA 256 hash of the obo_assertion for the OBO flow\r\n * }\r\n */\r\nvar CredentialEntity = /** @class */ (function () {\r\n function CredentialEntity() {\r\n }\r\n /**\r\n * Generate Account Id key component as per the schema: -\r\n */\r\n CredentialEntity.prototype.generateAccountId = function () {\r\n return CredentialEntity.generateAccountIdForCacheKey(this.homeAccountId, this.environment);\r\n };\r\n /**\r\n * Generate Credential Id key component as per the schema: --\r\n */\r\n CredentialEntity.prototype.generateCredentialId = function () {\r\n return CredentialEntity.generateCredentialIdForCacheKey(this.credentialType, this.clientId, this.realm, this.familyId);\r\n };\r\n /**\r\n * Generate target key component as per schema: \r\n */\r\n CredentialEntity.prototype.generateTarget = function () {\r\n return CredentialEntity.generateTargetForCacheKey(this.target);\r\n };\r\n /**\r\n * generates credential key\r\n */\r\n CredentialEntity.prototype.generateCredentialKey = function () {\r\n return CredentialEntity.generateCredentialCacheKey(this.homeAccountId, this.environment, this.credentialType, this.clientId, this.realm, this.target, this.familyId, this.tokenType, this.requestedClaimsHash);\r\n };\r\n /**\r\n * returns the type of the cache (in this case credential)\r\n */\r\n CredentialEntity.prototype.generateType = function () {\r\n switch (this.credentialType) {\r\n case CredentialType.ID_TOKEN:\r\n return CacheType.ID_TOKEN;\r\n case CredentialType.ACCESS_TOKEN:\r\n case CredentialType.ACCESS_TOKEN_WITH_AUTH_SCHEME:\r\n return CacheType.ACCESS_TOKEN;\r\n case CredentialType.REFRESH_TOKEN:\r\n return CacheType.REFRESH_TOKEN;\r\n default: {\r\n throw ClientAuthError.createUnexpectedCredentialTypeError();\r\n }\r\n }\r\n };\r\n /**\r\n * helper function to return `CredentialType`\r\n * @param key\r\n */\r\n CredentialEntity.getCredentialType = function (key) {\r\n var separator = Separators.CACHE_KEY_SEPARATOR;\r\n // Match host names like \"login.microsoftonline.com\", \"https://accounts.google.com:4000\", etc.\r\n var domainRe = \"(https?:\\\\/\\\\/)?([\\\\w-]+\\\\.)*([\\\\w-]{1,63})(\\\\.(\\\\w{2,63}))(\\\\:[0-9]{4,5})?\";\r\n for (var _i = 0, _a = Object.keys(CredentialType); _i < _a.length; _i++) {\r\n var credKey = _a[_i];\r\n var credVal = CredentialType[credKey].toLowerCase();\r\n // Verify credential type is preceded by a valid host name (environment)\r\n if (key.toLowerCase().search(\"\" + separator + domainRe + separator + credVal + separator) !== -1) {\r\n return CredentialType[credKey];\r\n }\r\n }\r\n return Constants.NOT_DEFINED;\r\n };\r\n /**\r\n * generates credential key\r\n * -\\-----\r\n */\r\n CredentialEntity.generateCredentialCacheKey = function (homeAccountId, environment, credentialType, clientId, realm, target, familyId, tokenType, requestedClaimsHash) {\r\n var credentialKey = [\r\n this.generateAccountIdForCacheKey(homeAccountId, environment),\r\n this.generateCredentialIdForCacheKey(credentialType, clientId, realm, familyId),\r\n this.generateTargetForCacheKey(target),\r\n this.generateClaimsHashForCacheKey(requestedClaimsHash),\r\n this.generateSchemeForCacheKey(tokenType)\r\n ];\r\n return credentialKey.join(Separators.CACHE_KEY_SEPARATOR).toLowerCase();\r\n };\r\n /**\r\n * generates Account Id for keys\r\n * @param homeAccountId\r\n * @param environment\r\n */\r\n CredentialEntity.generateAccountIdForCacheKey = function (homeAccountId, environment) {\r\n var accountId = [homeAccountId, environment];\r\n return accountId.join(Separators.CACHE_KEY_SEPARATOR).toLowerCase();\r\n };\r\n /**\r\n * Generates Credential Id for keys\r\n * @param credentialType\r\n * @param realm\r\n * @param clientId\r\n * @param familyId\r\n */\r\n CredentialEntity.generateCredentialIdForCacheKey = function (credentialType, clientId, realm, familyId) {\r\n var clientOrFamilyId = credentialType === CredentialType.REFRESH_TOKEN\r\n ? familyId || clientId\r\n : clientId;\r\n var credentialId = [\r\n credentialType,\r\n clientOrFamilyId,\r\n realm || Constants.EMPTY_STRING,\r\n ];\r\n return credentialId.join(Separators.CACHE_KEY_SEPARATOR).toLowerCase();\r\n };\r\n /**\r\n * Generate target key component as per schema: \r\n */\r\n CredentialEntity.generateTargetForCacheKey = function (scopes) {\r\n return (scopes || Constants.EMPTY_STRING).toLowerCase();\r\n };\r\n /**\r\n * Generate requested claims key component as per schema: \r\n */\r\n CredentialEntity.generateClaimsHashForCacheKey = function (requestedClaimsHash) {\r\n return (requestedClaimsHash || Constants.EMPTY_STRING).toLowerCase();\r\n };\r\n /**\r\n * Generate scheme key componenet as per schema: \r\n */\r\n CredentialEntity.generateSchemeForCacheKey = function (tokenType) {\r\n /*\r\n * PoP Tokens and SSH certs include scheme in cache key\r\n * Cast to lowercase to handle \"bearer\" from ADFS\r\n */\r\n return (tokenType && tokenType.toLowerCase() !== AuthenticationScheme.BEARER.toLowerCase()) ? tokenType.toLowerCase() : Constants.EMPTY_STRING;\r\n };\r\n return CredentialEntity;\r\n}());\n\nexport { CredentialEntity };\n","/*! @azure/msal-common v9.1.1 2023-01-19 */\n'use strict';\nimport { __extends } from '../../_virtual/_tslib.js';\nimport { CredentialEntity } from './CredentialEntity.js';\nimport { CredentialType } from '../../utils/Constants.js';\n\n/*\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * Licensed under the MIT License.\r\n */\r\n/**\r\n * ID_TOKEN Cache\r\n *\r\n * Key:Value Schema:\r\n *\r\n * Key Example: uid.utid-login.microsoftonline.com-idtoken-clientId-contoso.com-\r\n *\r\n * Value Schema:\r\n * {\r\n * homeAccountId: home account identifier for the auth scheme,\r\n * environment: entity that issued the token, represented as a full host\r\n * credentialType: Type of credential as a string, can be one of the following: RefreshToken, AccessToken, IdToken, Password, Cookie, Certificate, Other\r\n * clientId: client ID of the application\r\n * secret: Actual credential as a string\r\n * realm: Full tenant or organizational identifier that the account belongs to\r\n * }\r\n */\r\nvar IdTokenEntity = /** @class */ (function (_super) {\r\n __extends(IdTokenEntity, _super);\r\n function IdTokenEntity() {\r\n return _super !== null && _super.apply(this, arguments) || this;\r\n }\r\n /**\r\n * Create IdTokenEntity\r\n * @param homeAccountId\r\n * @param authenticationResult\r\n * @param clientId\r\n * @param authority\r\n */\r\n IdTokenEntity.createIdTokenEntity = function (homeAccountId, environment, idToken, clientId, tenantId) {\r\n var idTokenEntity = new IdTokenEntity();\r\n idTokenEntity.credentialType = CredentialType.ID_TOKEN;\r\n idTokenEntity.homeAccountId = homeAccountId;\r\n idTokenEntity.environment = environment;\r\n idTokenEntity.clientId = clientId;\r\n idTokenEntity.secret = idToken;\r\n idTokenEntity.realm = tenantId;\r\n return idTokenEntity;\r\n };\r\n /**\r\n * Validates an entity: checks for all expected params\r\n * @param entity\r\n */\r\n IdTokenEntity.isIdTokenEntity = function (entity) {\r\n if (!entity) {\r\n return false;\r\n }\r\n return (entity.hasOwnProperty(\"homeAccountId\") &&\r\n entity.hasOwnProperty(\"environment\") &&\r\n entity.hasOwnProperty(\"credentialType\") &&\r\n entity.hasOwnProperty(\"realm\") &&\r\n entity.hasOwnProperty(\"clientId\") &&\r\n entity.hasOwnProperty(\"secret\") &&\r\n entity[\"credentialType\"] === CredentialType.ID_TOKEN);\r\n };\r\n return IdTokenEntity;\r\n}(CredentialEntity));\n\nexport { IdTokenEntity };\n","/*! @azure/msal-common v9.1.1 2023-01-19 */\n'use strict';\nimport { __extends } from '../../_virtual/_tslib.js';\nimport { CredentialEntity } from './CredentialEntity.js';\nimport { CredentialType } from '../../utils/Constants.js';\n\n/*\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * Licensed under the MIT License.\r\n */\r\n/**\r\n * REFRESH_TOKEN Cache\r\n *\r\n * Key:Value Schema:\r\n *\r\n * Key Example: uid.utid-login.microsoftonline.com-refreshtoken-clientId--\r\n *\r\n * Value:\r\n * {\r\n * homeAccountId: home account identifier for the auth scheme,\r\n * environment: entity that issued the token, represented as a full host\r\n * credentialType: Type of credential as a string, can be one of the following: RefreshToken, AccessToken, IdToken, Password, Cookie, Certificate, Other\r\n * clientId: client ID of the application\r\n * secret: Actual credential as a string\r\n * familyId: Family ID identifier, '1' represents Microsoft Family\r\n * realm: Full tenant or organizational identifier that the account belongs to\r\n * target: Permissions that are included in the token, or for refresh tokens, the resource identifier.\r\n * }\r\n */\r\nvar RefreshTokenEntity = /** @class */ (function (_super) {\r\n __extends(RefreshTokenEntity, _super);\r\n function RefreshTokenEntity() {\r\n return _super !== null && _super.apply(this, arguments) || this;\r\n }\r\n /**\r\n * Create RefreshTokenEntity\r\n * @param homeAccountId\r\n * @param authenticationResult\r\n * @param clientId\r\n * @param authority\r\n */\r\n RefreshTokenEntity.createRefreshTokenEntity = function (homeAccountId, environment, refreshToken, clientId, familyId, userAssertionHash) {\r\n var rtEntity = new RefreshTokenEntity();\r\n rtEntity.clientId = clientId;\r\n rtEntity.credentialType = CredentialType.REFRESH_TOKEN;\r\n rtEntity.environment = environment;\r\n rtEntity.homeAccountId = homeAccountId;\r\n rtEntity.secret = refreshToken;\r\n rtEntity.userAssertionHash = userAssertionHash;\r\n if (familyId)\r\n rtEntity.familyId = familyId;\r\n return rtEntity;\r\n };\r\n /**\r\n * Validates an entity: checks for all expected params\r\n * @param entity\r\n */\r\n RefreshTokenEntity.isRefreshTokenEntity = function (entity) {\r\n if (!entity) {\r\n return false;\r\n }\r\n return (entity.hasOwnProperty(\"homeAccountId\") &&\r\n entity.hasOwnProperty(\"environment\") &&\r\n entity.hasOwnProperty(\"credentialType\") &&\r\n entity.hasOwnProperty(\"clientId\") &&\r\n entity.hasOwnProperty(\"secret\") &&\r\n entity[\"credentialType\"] === CredentialType.REFRESH_TOKEN);\r\n };\r\n return RefreshTokenEntity;\r\n}(CredentialEntity));\n\nexport { RefreshTokenEntity };\n","/*! @azure/msal-common v9.1.1 2023-01-19 */\n'use strict';\nimport { SERVER_TELEM_CONSTANTS } from '../../utils/Constants.js';\n\n/*\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * Licensed under the MIT License.\r\n */\r\nvar ServerTelemetryEntity = /** @class */ (function () {\r\n function ServerTelemetryEntity() {\r\n this.failedRequests = [];\r\n this.errors = [];\r\n this.cacheHits = 0;\r\n }\r\n /**\r\n * validates if a given cache entry is \"Telemetry\", parses \r\n * @param key\r\n * @param entity\r\n */\r\n ServerTelemetryEntity.isServerTelemetryEntity = function (key, entity) {\r\n var validateKey = key.indexOf(SERVER_TELEM_CONSTANTS.CACHE_KEY) === 0;\r\n var validateEntity = true;\r\n if (entity) {\r\n validateEntity =\r\n entity.hasOwnProperty(\"failedRequests\") &&\r\n entity.hasOwnProperty(\"errors\") &&\r\n entity.hasOwnProperty(\"cacheHits\");\r\n }\r\n return validateKey && validateEntity;\r\n };\r\n return ServerTelemetryEntity;\r\n}());\n\nexport { ServerTelemetryEntity };\n","/*! @azure/msal-common v9.1.1 2023-01-19 */\n'use strict';\nimport { ThrottlingConstants } from '../../utils/Constants.js';\n\n/*\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * Licensed under the MIT License.\r\n */\r\nvar ThrottlingEntity = /** @class */ (function () {\r\n function ThrottlingEntity() {\r\n }\r\n /**\r\n * validates if a given cache entry is \"Throttling\", parses \r\n * @param key\r\n * @param entity\r\n */\r\n ThrottlingEntity.isThrottlingEntity = function (key, entity) {\r\n var validateKey = false;\r\n if (key) {\r\n validateKey = key.indexOf(ThrottlingConstants.THROTTLING_PREFIX) === 0;\r\n }\r\n var validateEntity = true;\r\n if (entity) {\r\n validateEntity = entity.hasOwnProperty(\"throttleTime\");\r\n }\r\n return validateKey && validateEntity;\r\n };\r\n return ThrottlingEntity;\r\n}());\n\nexport { ThrottlingEntity };\n","/*! @azure/msal-common v9.1.1 2023-01-19 */\n'use strict';\n/*\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * Licensed under the MIT License.\r\n */\r\n/**\r\n * This class instance helps track the memory changes facilitating\r\n * decisions to read from and write to the persistent cache\r\n */ var TokenCacheContext = /** @class */ (function () {\r\n function TokenCacheContext(tokenCache, hasChanged) {\r\n this.cache = tokenCache;\r\n this.hasChanged = hasChanged;\r\n }\r\n Object.defineProperty(TokenCacheContext.prototype, \"cacheHasChanged\", {\r\n /**\r\n * boolean which indicates the changes in cache\r\n */\r\n get: function () {\r\n return this.hasChanged;\r\n },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n Object.defineProperty(TokenCacheContext.prototype, \"tokenCache\", {\r\n /**\r\n * function to retrieve the token cache\r\n */\r\n get: function () {\r\n return this.cache;\r\n },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n return TokenCacheContext;\r\n}());\n\nexport { TokenCacheContext };\n","/*! @azure/msal-common v9.1.1 2023-01-19 */\n'use strict';\nimport { __extends, __awaiter, __generator, __assign, __spreadArrays } from '../_virtual/_tslib.js';\nimport { BaseClient } from './BaseClient.js';\nimport { RequestParameterBuilder } from '../request/RequestParameterBuilder.js';\nimport { Separators, AADServerParamKeys, AuthenticationScheme, GrantType, PromptValue, HeaderNames } from '../utils/Constants.js';\nimport { ResponseHandler } from '../response/ResponseHandler.js';\nimport { StringUtils } from '../utils/StringUtils.js';\nimport { ClientAuthError } from '../error/ClientAuthError.js';\nimport { UrlString } from '../url/UrlString.js';\nimport { PopTokenGenerator } from '../crypto/PopTokenGenerator.js';\nimport { TimeUtils } from '../utils/TimeUtils.js';\nimport { buildClientInfo, buildClientInfoFromHomeAccountId } from '../account/ClientInfo.js';\nimport { CcsCredentialType } from '../account/CcsCredential.js';\nimport { ClientConfigurationError } from '../error/ClientConfigurationError.js';\nimport { RequestValidator } from '../request/RequestValidator.js';\n\n/*\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * Licensed under the MIT License.\r\n */\r\n/**\r\n * Oauth2.0 Authorization Code client\r\n */\r\nvar AuthorizationCodeClient = /** @class */ (function (_super) {\r\n __extends(AuthorizationCodeClient, _super);\r\n function AuthorizationCodeClient(configuration, performanceClient) {\r\n var _this = _super.call(this, configuration, performanceClient) || this;\r\n // Flag to indicate if client is for hybrid spa auth code redemption\r\n _this.includeRedirectUri = true;\r\n return _this;\r\n }\r\n /**\r\n * Creates the URL of the authorization request letting the user input credentials and consent to the\r\n * application. The URL target the /authorize endpoint of the authority configured in the\r\n * application object.\r\n *\r\n * Once the user inputs their credentials and consents, the authority will send a response to the redirect URI\r\n * sent in the request and should contain an authorization code, which can then be used to acquire tokens via\r\n * acquireToken(AuthorizationCodeRequest)\r\n * @param request\r\n */\r\n AuthorizationCodeClient.prototype.getAuthCodeUrl = function (request) {\r\n return __awaiter(this, void 0, void 0, function () {\r\n var queryString;\r\n return __generator(this, function (_a) {\r\n switch (_a.label) {\r\n case 0: return [4 /*yield*/, this.createAuthCodeUrlQueryString(request)];\r\n case 1:\r\n queryString = _a.sent();\r\n return [2 /*return*/, UrlString.appendQueryString(this.authority.authorizationEndpoint, queryString)];\r\n }\r\n });\r\n });\r\n };\r\n /**\r\n * API to acquire a token in exchange of 'authorization_code` acquired by the user in the first leg of the\r\n * authorization_code_grant\r\n * @param request\r\n */\r\n AuthorizationCodeClient.prototype.acquireToken = function (request, authCodePayload) {\r\n var _a, _b, _c;\r\n return __awaiter(this, void 0, void 0, function () {\r\n var atsMeasurement, reqTimestamp, response, requestId, httpVerAuthority, responseHandler;\r\n var _this = this;\r\n return __generator(this, function (_d) {\r\n switch (_d.label) {\r\n case 0:\r\n atsMeasurement = (_a = this.performanceClient) === null || _a === void 0 ? void 0 : _a.startMeasurement(\"AuthCodeClientAcquireToken\", request.correlationId);\r\n this.logger.info(\"in acquireToken call in auth-code client\");\r\n if (!request || StringUtils.isEmpty(request.code)) {\r\n throw ClientAuthError.createTokenRequestCannotBeMadeError();\r\n }\r\n reqTimestamp = TimeUtils.nowSeconds();\r\n return [4 /*yield*/, this.executeTokenRequest(this.authority, request)];\r\n case 1:\r\n response = _d.sent();\r\n requestId = (_b = response.headers) === null || _b === void 0 ? void 0 : _b[HeaderNames.X_MS_REQUEST_ID];\r\n httpVerAuthority = (_c = response.headers) === null || _c === void 0 ? void 0 : _c[HeaderNames.X_MS_HTTP_VERSION];\r\n if (httpVerAuthority) {\r\n atsMeasurement === null || atsMeasurement === void 0 ? void 0 : atsMeasurement.addStaticFields({\r\n httpVerAuthority: httpVerAuthority\r\n });\r\n }\r\n responseHandler = new ResponseHandler(this.config.authOptions.clientId, this.cacheManager, this.cryptoUtils, this.logger, this.config.serializableCache, this.config.persistencePlugin);\r\n // Validate response. This function throws a server error if an error is returned by the server.\r\n responseHandler.validateTokenResponse(response.body);\r\n return [2 /*return*/, responseHandler.handleServerTokenResponse(response.body, this.authority, reqTimestamp, request, authCodePayload, undefined, undefined, undefined, requestId).then(function (result) {\r\n atsMeasurement === null || atsMeasurement === void 0 ? void 0 : atsMeasurement.endMeasurement({\r\n success: true\r\n });\r\n return result;\r\n })\r\n .catch(function (error) {\r\n _this.logger.verbose(\"Error in fetching token in ACC\", request.correlationId);\r\n atsMeasurement === null || atsMeasurement === void 0 ? void 0 : atsMeasurement.endMeasurement({\r\n errorCode: error.errorCode,\r\n subErrorCode: error.subError,\r\n success: false\r\n });\r\n throw error;\r\n })];\r\n }\r\n });\r\n });\r\n };\r\n /**\r\n * Handles the hash fragment response from public client code request. Returns a code response used by\r\n * the client to exchange for a token in acquireToken.\r\n * @param hashFragment\r\n */\r\n AuthorizationCodeClient.prototype.handleFragmentResponse = function (hashFragment, cachedState) {\r\n // Handle responses.\r\n var responseHandler = new ResponseHandler(this.config.authOptions.clientId, this.cacheManager, this.cryptoUtils, this.logger, null, null);\r\n // Deserialize hash fragment response parameters.\r\n var hashUrlString = new UrlString(hashFragment);\r\n // Deserialize hash fragment response parameters.\r\n var serverParams = UrlString.getDeserializedHash(hashUrlString.getHash());\r\n // Get code response\r\n responseHandler.validateServerAuthorizationCodeResponse(serverParams, cachedState, this.cryptoUtils);\r\n // throw when there is no auth code in the response\r\n if (!serverParams.code) {\r\n throw ClientAuthError.createNoAuthCodeInServerResponseError();\r\n }\r\n return __assign(__assign({}, serverParams), { \r\n // Code param is optional in ServerAuthorizationCodeResponse but required in AuthorizationCodePaylod\r\n code: serverParams.code });\r\n };\r\n /**\r\n * Used to log out the current user, and redirect the user to the postLogoutRedirectUri.\r\n * Default behaviour is to redirect the user to `window.location.href`.\r\n * @param authorityUri\r\n */\r\n AuthorizationCodeClient.prototype.getLogoutUri = function (logoutRequest) {\r\n // Throw error if logoutRequest is null/undefined\r\n if (!logoutRequest) {\r\n throw ClientConfigurationError.createEmptyLogoutRequestError();\r\n }\r\n var queryString = this.createLogoutUrlQueryString(logoutRequest);\r\n // Construct logout URI\r\n return UrlString.appendQueryString(this.authority.endSessionEndpoint, queryString);\r\n };\r\n /**\r\n * Executes POST request to token endpoint\r\n * @param authority\r\n * @param request\r\n */\r\n AuthorizationCodeClient.prototype.executeTokenRequest = function (authority, request) {\r\n return __awaiter(this, void 0, void 0, function () {\r\n var thumbprint, requestBody, queryParameters, ccsCredential, clientInfo, headers, endpoint;\r\n return __generator(this, function (_a) {\r\n switch (_a.label) {\r\n case 0:\r\n thumbprint = {\r\n clientId: this.config.authOptions.clientId,\r\n authority: authority.canonicalAuthority,\r\n scopes: request.scopes,\r\n claims: request.claims,\r\n authenticationScheme: request.authenticationScheme,\r\n resourceRequestMethod: request.resourceRequestMethod,\r\n resourceRequestUri: request.resourceRequestUri,\r\n shrClaims: request.shrClaims,\r\n sshKid: request.sshKid\r\n };\r\n return [4 /*yield*/, this.createTokenRequestBody(request)];\r\n case 1:\r\n requestBody = _a.sent();\r\n queryParameters = this.createTokenQueryParameters(request);\r\n ccsCredential = undefined;\r\n if (request.clientInfo) {\r\n try {\r\n clientInfo = buildClientInfo(request.clientInfo, this.cryptoUtils);\r\n ccsCredential = {\r\n credential: \"\" + clientInfo.uid + Separators.CLIENT_INFO_SEPARATOR + clientInfo.utid,\r\n type: CcsCredentialType.HOME_ACCOUNT_ID\r\n };\r\n }\r\n catch (e) {\r\n this.logger.verbose(\"Could not parse client info for CCS Header: \" + e);\r\n }\r\n }\r\n headers = this.createTokenRequestHeaders(ccsCredential || request.ccsCredential);\r\n endpoint = StringUtils.isEmpty(queryParameters) ? authority.tokenEndpoint : authority.tokenEndpoint + \"?\" + queryParameters;\r\n return [2 /*return*/, this.executePostToTokenEndpoint(endpoint, requestBody, headers, thumbprint)];\r\n }\r\n });\r\n });\r\n };\r\n /**\r\n * Creates query string for the /token request\r\n * @param request\r\n */\r\n AuthorizationCodeClient.prototype.createTokenQueryParameters = function (request) {\r\n var parameterBuilder = new RequestParameterBuilder();\r\n if (request.tokenQueryParameters) {\r\n parameterBuilder.addExtraQueryParameters(request.tokenQueryParameters);\r\n }\r\n return parameterBuilder.createQueryString();\r\n };\r\n /**\r\n * Generates a map for all the params to be sent to the service\r\n * @param request\r\n */\r\n AuthorizationCodeClient.prototype.createTokenRequestBody = function (request) {\r\n return __awaiter(this, void 0, void 0, function () {\r\n var parameterBuilder, clientAssertion, popTokenGenerator, reqCnfData, correlationId, ccsCred, clientInfo, clientInfo;\r\n var _a;\r\n return __generator(this, function (_b) {\r\n switch (_b.label) {\r\n case 0:\r\n parameterBuilder = new RequestParameterBuilder();\r\n parameterBuilder.addClientId(this.config.authOptions.clientId);\r\n /*\r\n * For hybrid spa flow, there will be a code but no verifier\r\n * In this scenario, don't include redirect uri as auth code will not be bound to redirect URI\r\n */\r\n if (!this.includeRedirectUri) {\r\n // Just validate\r\n RequestValidator.validateRedirectUri(request.redirectUri);\r\n }\r\n else {\r\n // Validate and include redirect uri\r\n parameterBuilder.addRedirectUri(request.redirectUri);\r\n }\r\n // Add scope array, parameter builder will add default scopes and dedupe\r\n parameterBuilder.addScopes(request.scopes);\r\n // add code: user set, not validated\r\n parameterBuilder.addAuthorizationCode(request.code);\r\n // Add library metadata\r\n parameterBuilder.addLibraryInfo(this.config.libraryInfo);\r\n parameterBuilder.addApplicationTelemetry(this.config.telemetry.application);\r\n parameterBuilder.addThrottling();\r\n if (this.serverTelemetryManager) {\r\n parameterBuilder.addServerTelemetry(this.serverTelemetryManager);\r\n }\r\n // add code_verifier if passed\r\n if (request.codeVerifier) {\r\n parameterBuilder.addCodeVerifier(request.codeVerifier);\r\n }\r\n if (this.config.clientCredentials.clientSecret) {\r\n parameterBuilder.addClientSecret(this.config.clientCredentials.clientSecret);\r\n }\r\n if (this.config.clientCredentials.clientAssertion) {\r\n clientAssertion = this.config.clientCredentials.clientAssertion;\r\n parameterBuilder.addClientAssertion(clientAssertion.assertion);\r\n parameterBuilder.addClientAssertionType(clientAssertion.assertionType);\r\n }\r\n parameterBuilder.addGrantType(GrantType.AUTHORIZATION_CODE_GRANT);\r\n parameterBuilder.addClientInfo();\r\n if (!(request.authenticationScheme === AuthenticationScheme.POP)) return [3 /*break*/, 2];\r\n popTokenGenerator = new PopTokenGenerator(this.cryptoUtils);\r\n return [4 /*yield*/, popTokenGenerator.generateCnf(request)];\r\n case 1:\r\n reqCnfData = _b.sent();\r\n // SPA PoP requires full Base64Url encoded req_cnf string (unhashed)\r\n parameterBuilder.addPopToken(reqCnfData.reqCnfString);\r\n return [3 /*break*/, 3];\r\n case 2:\r\n if (request.authenticationScheme === AuthenticationScheme.SSH) {\r\n if (request.sshJwk) {\r\n parameterBuilder.addSshJwk(request.sshJwk);\r\n }\r\n else {\r\n throw ClientConfigurationError.createMissingSshJwkError();\r\n }\r\n }\r\n _b.label = 3;\r\n case 3:\r\n correlationId = request.correlationId || this.config.cryptoInterface.createNewGuid();\r\n parameterBuilder.addCorrelationId(correlationId);\r\n if (!StringUtils.isEmptyObj(request.claims) || this.config.authOptions.clientCapabilities && this.config.authOptions.clientCapabilities.length > 0) {\r\n parameterBuilder.addClaims(request.claims, this.config.authOptions.clientCapabilities);\r\n }\r\n ccsCred = undefined;\r\n if (request.clientInfo) {\r\n try {\r\n clientInfo = buildClientInfo(request.clientInfo, this.cryptoUtils);\r\n ccsCred = {\r\n credential: \"\" + clientInfo.uid + Separators.CLIENT_INFO_SEPARATOR + clientInfo.utid,\r\n type: CcsCredentialType.HOME_ACCOUNT_ID\r\n };\r\n }\r\n catch (e) {\r\n this.logger.verbose(\"Could not parse client info for CCS Header: \" + e);\r\n }\r\n }\r\n else {\r\n ccsCred = request.ccsCredential;\r\n }\r\n // Adds these as parameters in the request instead of headers to prevent CORS preflight request\r\n if (this.config.systemOptions.preventCorsPreflight && ccsCred) {\r\n switch (ccsCred.type) {\r\n case CcsCredentialType.HOME_ACCOUNT_ID:\r\n try {\r\n clientInfo = buildClientInfoFromHomeAccountId(ccsCred.credential);\r\n parameterBuilder.addCcsOid(clientInfo);\r\n }\r\n catch (e) {\r\n this.logger.verbose(\"Could not parse home account ID for CCS Header: \" + e);\r\n }\r\n break;\r\n case CcsCredentialType.UPN:\r\n parameterBuilder.addCcsUpn(ccsCred.credential);\r\n break;\r\n }\r\n }\r\n if (request.tokenBodyParameters) {\r\n parameterBuilder.addExtraQueryParameters(request.tokenBodyParameters);\r\n }\r\n // Add hybrid spa parameters if not already provided\r\n if (request.enableSpaAuthorizationCode && (!request.tokenBodyParameters || !request.tokenBodyParameters[AADServerParamKeys.RETURN_SPA_CODE])) {\r\n parameterBuilder.addExtraQueryParameters((_a = {},\r\n _a[AADServerParamKeys.RETURN_SPA_CODE] = \"1\",\r\n _a));\r\n }\r\n return [2 /*return*/, parameterBuilder.createQueryString()];\r\n }\r\n });\r\n });\r\n };\r\n /**\r\n * This API validates the `AuthorizationCodeUrlRequest` and creates a URL\r\n * @param request\r\n */\r\n AuthorizationCodeClient.prototype.createAuthCodeUrlQueryString = function (request) {\r\n return __awaiter(this, void 0, void 0, function () {\r\n var parameterBuilder, requestScopes, correlationId, accountSid, accountLoginHintClaim, clientInfo, clientInfo, clientInfo, popTokenGenerator, reqCnfData;\r\n return __generator(this, function (_a) {\r\n switch (_a.label) {\r\n case 0:\r\n parameterBuilder = new RequestParameterBuilder();\r\n parameterBuilder.addClientId(this.config.authOptions.clientId);\r\n requestScopes = __spreadArrays(request.scopes || [], request.extraScopesToConsent || []);\r\n parameterBuilder.addScopes(requestScopes);\r\n // validate the redirectUri (to be a non null value)\r\n parameterBuilder.addRedirectUri(request.redirectUri);\r\n correlationId = request.correlationId || this.config.cryptoInterface.createNewGuid();\r\n parameterBuilder.addCorrelationId(correlationId);\r\n // add response_mode. If not passed in it defaults to query.\r\n parameterBuilder.addResponseMode(request.responseMode);\r\n // add response_type = code\r\n parameterBuilder.addResponseTypeCode();\r\n // add library info parameters\r\n parameterBuilder.addLibraryInfo(this.config.libraryInfo);\r\n parameterBuilder.addApplicationTelemetry(this.config.telemetry.application);\r\n // add client_info=1\r\n parameterBuilder.addClientInfo();\r\n if (request.codeChallenge && request.codeChallengeMethod) {\r\n parameterBuilder.addCodeChallengeParams(request.codeChallenge, request.codeChallengeMethod);\r\n }\r\n if (request.prompt) {\r\n parameterBuilder.addPrompt(request.prompt);\r\n }\r\n if (request.domainHint) {\r\n parameterBuilder.addDomainHint(request.domainHint);\r\n }\r\n // Add sid or loginHint with preference for login_hint claim (in request) -> sid -> loginHint (upn/email) -> username of AccountInfo object\r\n if (request.prompt !== PromptValue.SELECT_ACCOUNT) {\r\n // AAD will throw if prompt=select_account is passed with an account hint\r\n if (request.sid && request.prompt === PromptValue.NONE) {\r\n // SessionID is only used in silent calls\r\n this.logger.verbose(\"createAuthCodeUrlQueryString: Prompt is none, adding sid from request\");\r\n parameterBuilder.addSid(request.sid);\r\n }\r\n else if (request.account) {\r\n accountSid = this.extractAccountSid(request.account);\r\n accountLoginHintClaim = this.extractLoginHint(request.account);\r\n // If login_hint claim is present, use it over sid/username\r\n if (accountLoginHintClaim) {\r\n this.logger.verbose(\"createAuthCodeUrlQueryString: login_hint claim present on account\");\r\n parameterBuilder.addLoginHint(accountLoginHintClaim);\r\n try {\r\n clientInfo = buildClientInfoFromHomeAccountId(request.account.homeAccountId);\r\n parameterBuilder.addCcsOid(clientInfo);\r\n }\r\n catch (e) {\r\n this.logger.verbose(\"createAuthCodeUrlQueryString: Could not parse home account ID for CCS Header\");\r\n }\r\n }\r\n else if (accountSid && request.prompt === PromptValue.NONE) {\r\n /*\r\n * If account and loginHint are provided, we will check account first for sid before adding loginHint\r\n * SessionId is only used in silent calls\r\n */\r\n this.logger.verbose(\"createAuthCodeUrlQueryString: Prompt is none, adding sid from account\");\r\n parameterBuilder.addSid(accountSid);\r\n try {\r\n clientInfo = buildClientInfoFromHomeAccountId(request.account.homeAccountId);\r\n parameterBuilder.addCcsOid(clientInfo);\r\n }\r\n catch (e) {\r\n this.logger.verbose(\"createAuthCodeUrlQueryString: Could not parse home account ID for CCS Header\");\r\n }\r\n }\r\n else if (request.loginHint) {\r\n this.logger.verbose(\"createAuthCodeUrlQueryString: Adding login_hint from request\");\r\n parameterBuilder.addLoginHint(request.loginHint);\r\n parameterBuilder.addCcsUpn(request.loginHint);\r\n }\r\n else if (request.account.username) {\r\n // Fallback to account username if provided\r\n this.logger.verbose(\"createAuthCodeUrlQueryString: Adding login_hint from account\");\r\n parameterBuilder.addLoginHint(request.account.username);\r\n try {\r\n clientInfo = buildClientInfoFromHomeAccountId(request.account.homeAccountId);\r\n parameterBuilder.addCcsOid(clientInfo);\r\n }\r\n catch (e) {\r\n this.logger.verbose(\"createAuthCodeUrlQueryString: Could not parse home account ID for CCS Header\");\r\n }\r\n }\r\n }\r\n else if (request.loginHint) {\r\n this.logger.verbose(\"createAuthCodeUrlQueryString: No account, adding login_hint from request\");\r\n parameterBuilder.addLoginHint(request.loginHint);\r\n parameterBuilder.addCcsUpn(request.loginHint);\r\n }\r\n }\r\n else {\r\n this.logger.verbose(\"createAuthCodeUrlQueryString: Prompt is select_account, ignoring account hints\");\r\n }\r\n if (request.nonce) {\r\n parameterBuilder.addNonce(request.nonce);\r\n }\r\n if (request.state) {\r\n parameterBuilder.addState(request.state);\r\n }\r\n if (!StringUtils.isEmpty(request.claims) || this.config.authOptions.clientCapabilities && this.config.authOptions.clientCapabilities.length > 0) {\r\n parameterBuilder.addClaims(request.claims, this.config.authOptions.clientCapabilities);\r\n }\r\n if (request.extraQueryParameters) {\r\n parameterBuilder.addExtraQueryParameters(request.extraQueryParameters);\r\n }\r\n if (!request.nativeBroker) return [3 /*break*/, 2];\r\n // signal ests that this is a WAM call\r\n parameterBuilder.addNativeBroker();\r\n if (!(request.authenticationScheme === AuthenticationScheme.POP)) return [3 /*break*/, 2];\r\n popTokenGenerator = new PopTokenGenerator(this.cryptoUtils);\r\n return [4 /*yield*/, popTokenGenerator.generateCnf(request)];\r\n case 1:\r\n reqCnfData = _a.sent();\r\n parameterBuilder.addPopToken(reqCnfData.reqCnfHash);\r\n _a.label = 2;\r\n case 2: return [2 /*return*/, parameterBuilder.createQueryString()];\r\n }\r\n });\r\n });\r\n };\r\n /**\r\n * This API validates the `EndSessionRequest` and creates a URL\r\n * @param request\r\n */\r\n AuthorizationCodeClient.prototype.createLogoutUrlQueryString = function (request) {\r\n var parameterBuilder = new RequestParameterBuilder();\r\n if (request.postLogoutRedirectUri) {\r\n parameterBuilder.addPostLogoutRedirectUri(request.postLogoutRedirectUri);\r\n }\r\n if (request.correlationId) {\r\n parameterBuilder.addCorrelationId(request.correlationId);\r\n }\r\n if (request.idTokenHint) {\r\n parameterBuilder.addIdTokenHint(request.idTokenHint);\r\n }\r\n if (request.state) {\r\n parameterBuilder.addState(request.state);\r\n }\r\n if (request.logoutHint) {\r\n parameterBuilder.addLogoutHint(request.logoutHint);\r\n }\r\n if (request.extraQueryParameters) {\r\n parameterBuilder.addExtraQueryParameters(request.extraQueryParameters);\r\n }\r\n return parameterBuilder.createQueryString();\r\n };\r\n /**\r\n * Helper to get sid from account. Returns null if idTokenClaims are not present or sid is not present.\r\n * @param account\r\n */\r\n AuthorizationCodeClient.prototype.extractAccountSid = function (account) {\r\n var _a;\r\n return ((_a = account.idTokenClaims) === null || _a === void 0 ? void 0 : _a.sid) || null;\r\n };\r\n AuthorizationCodeClient.prototype.extractLoginHint = function (account) {\r\n var _a;\r\n return ((_a = account.idTokenClaims) === null || _a === void 0 ? void 0 : _a.login_hint) || null;\r\n };\r\n return AuthorizationCodeClient;\r\n}(BaseClient));\n\nexport { AuthorizationCodeClient };\n","/*! @azure/msal-common v9.1.1 2023-01-19 */\n'use strict';\nimport { __awaiter, __generator } from '../_virtual/_tslib.js';\nimport { buildClientConfiguration } from '../config/ClientConfiguration.js';\nimport { NetworkManager } from '../network/NetworkManager.js';\nimport { Logger } from '../logger/Logger.js';\nimport { HeaderNames, Constants } from '../utils/Constants.js';\nimport { name, version } from '../packageMetadata.js';\nimport { ClientAuthError } from '../error/ClientAuthError.js';\nimport { CcsCredentialType } from '../account/CcsCredential.js';\nimport { buildClientInfoFromHomeAccountId } from '../account/ClientInfo.js';\n\n/*\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * Licensed under the MIT License.\r\n */\r\n/**\r\n * Base application class which will construct requests to send to and handle responses from the Microsoft STS using the authorization code flow.\r\n */\r\nvar BaseClient = /** @class */ (function () {\r\n function BaseClient(configuration, performanceClient) {\r\n // Set the configuration\r\n this.config = buildClientConfiguration(configuration);\r\n // Initialize the logger\r\n this.logger = new Logger(this.config.loggerOptions, name, version);\r\n // Initialize crypto\r\n this.cryptoUtils = this.config.cryptoInterface;\r\n // Initialize storage interface\r\n this.cacheManager = this.config.storageInterface;\r\n // Set the network interface\r\n this.networkClient = this.config.networkInterface;\r\n // Set the NetworkManager\r\n this.networkManager = new NetworkManager(this.networkClient, this.cacheManager);\r\n // Set TelemetryManager\r\n this.serverTelemetryManager = this.config.serverTelemetryManager;\r\n // set Authority\r\n this.authority = this.config.authOptions.authority;\r\n // set performance telemetry client\r\n this.performanceClient = performanceClient;\r\n }\r\n /**\r\n * Creates default headers for requests to token endpoint\r\n */\r\n BaseClient.prototype.createTokenRequestHeaders = function (ccsCred) {\r\n var headers = {};\r\n headers[HeaderNames.CONTENT_TYPE] = Constants.URL_FORM_CONTENT_TYPE;\r\n if (!this.config.systemOptions.preventCorsPreflight && ccsCred) {\r\n switch (ccsCred.type) {\r\n case CcsCredentialType.HOME_ACCOUNT_ID:\r\n try {\r\n var clientInfo = buildClientInfoFromHomeAccountId(ccsCred.credential);\r\n headers[HeaderNames.CCS_HEADER] = \"Oid:\" + clientInfo.uid + \"@\" + clientInfo.utid;\r\n }\r\n catch (e) {\r\n this.logger.verbose(\"Could not parse home account ID for CCS Header: \" + e);\r\n }\r\n break;\r\n case CcsCredentialType.UPN:\r\n headers[HeaderNames.CCS_HEADER] = \"UPN: \" + ccsCred.credential;\r\n break;\r\n }\r\n }\r\n return headers;\r\n };\r\n /**\r\n * Http post to token endpoint\r\n * @param tokenEndpoint\r\n * @param queryString\r\n * @param headers\r\n * @param thumbprint\r\n */\r\n BaseClient.prototype.executePostToTokenEndpoint = function (tokenEndpoint, queryString, headers, thumbprint) {\r\n return __awaiter(this, void 0, void 0, function () {\r\n var response;\r\n return __generator(this, function (_a) {\r\n switch (_a.label) {\r\n case 0: return [4 /*yield*/, this.networkManager.sendPostRequest(thumbprint, tokenEndpoint, { body: queryString, headers: headers, proxyUrl: this.config.systemOptions.proxyUrl })];\r\n case 1:\r\n response = _a.sent();\r\n if (this.config.serverTelemetryManager && response.status < 500 && response.status !== 429) {\r\n // Telemetry data successfully logged by server, clear Telemetry cache\r\n this.config.serverTelemetryManager.clearTelemetryCache();\r\n }\r\n return [2 /*return*/, response];\r\n }\r\n });\r\n });\r\n };\r\n /**\r\n * Updates the authority object of the client. Endpoint discovery must be completed.\r\n * @param updatedAuthority\r\n */\r\n BaseClient.prototype.updateAuthority = function (updatedAuthority) {\r\n if (!updatedAuthority.discoveryComplete()) {\r\n throw ClientAuthError.createEndpointDiscoveryIncompleteError(\"Updated authority has not completed endpoint discovery.\");\r\n }\r\n this.authority = updatedAuthority;\r\n };\r\n return BaseClient;\r\n}());\n\nexport { BaseClient };\n","/*! @azure/msal-common v9.1.1 2023-01-19 */\n'use strict';\nimport { __extends, __awaiter, __generator, __assign } from '../_virtual/_tslib.js';\nimport { BaseClient } from './BaseClient.js';\nimport { RequestParameterBuilder } from '../request/RequestParameterBuilder.js';\nimport { AuthenticationScheme, GrantType, HeaderNames, Errors } from '../utils/Constants.js';\nimport { ResponseHandler } from '../response/ResponseHandler.js';\nimport { PopTokenGenerator } from '../crypto/PopTokenGenerator.js';\nimport { StringUtils } from '../utils/StringUtils.js';\nimport { ClientConfigurationError } from '../error/ClientConfigurationError.js';\nimport { ClientAuthError } from '../error/ClientAuthError.js';\nimport { ServerError } from '../error/ServerError.js';\nimport { TimeUtils } from '../utils/TimeUtils.js';\nimport { UrlString } from '../url/UrlString.js';\nimport { CcsCredentialType } from '../account/CcsCredential.js';\nimport { buildClientInfoFromHomeAccountId } from '../account/ClientInfo.js';\nimport { InteractionRequiredAuthError, InteractionRequiredAuthErrorMessage } from '../error/InteractionRequiredAuthError.js';\nimport { PerformanceEvents } from '../telemetry/performance/PerformanceEvent.js';\n\n/*\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * Licensed under the MIT License.\r\n */\r\n/**\r\n * OAuth2.0 refresh token client\r\n */\r\nvar RefreshTokenClient = /** @class */ (function (_super) {\r\n __extends(RefreshTokenClient, _super);\r\n function RefreshTokenClient(configuration, performanceClient) {\r\n return _super.call(this, configuration, performanceClient) || this;\r\n }\r\n RefreshTokenClient.prototype.acquireToken = function (request) {\r\n var _a, _b, _c, _d;\r\n return __awaiter(this, void 0, void 0, function () {\r\n var atsMeasurement, reqTimestamp, response, httpVerToken, requestId, responseHandler;\r\n var _this = this;\r\n return __generator(this, function (_e) {\r\n switch (_e.label) {\r\n case 0:\r\n atsMeasurement = (_a = this.performanceClient) === null || _a === void 0 ? void 0 : _a.startMeasurement(PerformanceEvents.RefreshTokenClientAcquireToken, request.correlationId);\r\n this.logger.verbose(\"RefreshTokenClientAcquireToken called\", request.correlationId);\r\n reqTimestamp = TimeUtils.nowSeconds();\r\n return [4 /*yield*/, this.executeTokenRequest(request, this.authority)];\r\n case 1:\r\n response = _e.sent();\r\n httpVerToken = (_b = response.headers) === null || _b === void 0 ? void 0 : _b[HeaderNames.X_MS_HTTP_VERSION];\r\n atsMeasurement === null || atsMeasurement === void 0 ? void 0 : atsMeasurement.addStaticFields({\r\n refreshTokenSize: ((_c = response.body.refresh_token) === null || _c === void 0 ? void 0 : _c.length) || 0,\r\n });\r\n if (httpVerToken) {\r\n atsMeasurement === null || atsMeasurement === void 0 ? void 0 : atsMeasurement.addStaticFields({\r\n httpVerToken: httpVerToken,\r\n });\r\n }\r\n requestId = (_d = response.headers) === null || _d === void 0 ? void 0 : _d[HeaderNames.X_MS_REQUEST_ID];\r\n responseHandler = new ResponseHandler(this.config.authOptions.clientId, this.cacheManager, this.cryptoUtils, this.logger, this.config.serializableCache, this.config.persistencePlugin);\r\n responseHandler.validateTokenResponse(response.body);\r\n return [2 /*return*/, responseHandler.handleServerTokenResponse(response.body, this.authority, reqTimestamp, request, undefined, undefined, true, request.forceCache, requestId).then(function (result) {\r\n atsMeasurement === null || atsMeasurement === void 0 ? void 0 : atsMeasurement.endMeasurement({\r\n success: true\r\n });\r\n return result;\r\n })\r\n .catch(function (error) {\r\n _this.logger.verbose(\"Error in fetching refresh token\", request.correlationId);\r\n atsMeasurement === null || atsMeasurement === void 0 ? void 0 : atsMeasurement.endMeasurement({\r\n errorCode: error.errorCode,\r\n subErrorCode: error.subError,\r\n success: false\r\n });\r\n throw error;\r\n })];\r\n }\r\n });\r\n });\r\n };\r\n /**\r\n * Gets cached refresh token and attaches to request, then calls acquireToken API\r\n * @param request\r\n */\r\n RefreshTokenClient.prototype.acquireTokenByRefreshToken = function (request) {\r\n return __awaiter(this, void 0, void 0, function () {\r\n var isFOCI, noFamilyRTInCache, clientMismatchErrorWithFamilyRT;\r\n return __generator(this, function (_a) {\r\n // Cannot renew token if no request object is given.\r\n if (!request) {\r\n throw ClientConfigurationError.createEmptyTokenRequestError();\r\n }\r\n // We currently do not support silent flow for account === null use cases; This will be revisited for confidential flow usecases\r\n if (!request.account) {\r\n throw ClientAuthError.createNoAccountInSilentRequestError();\r\n }\r\n isFOCI = this.cacheManager.isAppMetadataFOCI(request.account.environment, this.config.authOptions.clientId);\r\n // if the app is part of the family, retrive a Family refresh token if present and make a refreshTokenRequest\r\n if (isFOCI) {\r\n try {\r\n return [2 /*return*/, this.acquireTokenWithCachedRefreshToken(request, true)];\r\n }\r\n catch (e) {\r\n noFamilyRTInCache = e instanceof InteractionRequiredAuthError && e.errorCode === InteractionRequiredAuthErrorMessage.noTokensFoundError.code;\r\n clientMismatchErrorWithFamilyRT = e instanceof ServerError && e.errorCode === Errors.INVALID_GRANT_ERROR && e.subError === Errors.CLIENT_MISMATCH_ERROR;\r\n // if family Refresh Token (FRT) cache acquisition fails or if client_mismatch error is seen with FRT, reattempt with application Refresh Token (ART)\r\n if (noFamilyRTInCache || clientMismatchErrorWithFamilyRT) {\r\n return [2 /*return*/, this.acquireTokenWithCachedRefreshToken(request, false)];\r\n // throw in all other cases\r\n }\r\n else {\r\n throw e;\r\n }\r\n }\r\n }\r\n // fall back to application refresh token acquisition\r\n return [2 /*return*/, this.acquireTokenWithCachedRefreshToken(request, false)];\r\n });\r\n });\r\n };\r\n /**\r\n * makes a network call to acquire tokens by exchanging RefreshToken available in userCache; throws if refresh token is not cached\r\n * @param request\r\n */\r\n RefreshTokenClient.prototype.acquireTokenWithCachedRefreshToken = function (request, foci) {\r\n var _a;\r\n return __awaiter(this, void 0, void 0, function () {\r\n var atsMeasurement, refreshToken, refreshTokenRequest;\r\n return __generator(this, function (_b) {\r\n atsMeasurement = (_a = this.performanceClient) === null || _a === void 0 ? void 0 : _a.startMeasurement(PerformanceEvents.RefreshTokenClientAcquireTokenWithCachedRefreshToken, request.correlationId);\r\n this.logger.verbose(\"RefreshTokenClientAcquireTokenWithCachedRefreshToken called\", request.correlationId);\r\n refreshToken = this.cacheManager.readRefreshTokenFromCache(this.config.authOptions.clientId, request.account, foci);\r\n if (!refreshToken) {\r\n atsMeasurement === null || atsMeasurement === void 0 ? void 0 : atsMeasurement.discardMeasurement();\r\n throw InteractionRequiredAuthError.createNoTokensFoundError();\r\n }\r\n // attach cached RT size to the current measurement\r\n atsMeasurement === null || atsMeasurement === void 0 ? void 0 : atsMeasurement.endMeasurement({\r\n success: true\r\n });\r\n refreshTokenRequest = __assign(__assign({}, request), { refreshToken: refreshToken.secret, authenticationScheme: request.authenticationScheme || AuthenticationScheme.BEARER, ccsCredential: {\r\n credential: request.account.homeAccountId,\r\n type: CcsCredentialType.HOME_ACCOUNT_ID\r\n } });\r\n return [2 /*return*/, this.acquireToken(refreshTokenRequest)];\r\n });\r\n });\r\n };\r\n /**\r\n * Constructs the network message and makes a NW call to the underlying secure token service\r\n * @param request\r\n * @param authority\r\n */\r\n RefreshTokenClient.prototype.executeTokenRequest = function (request, authority) {\r\n var _a;\r\n return __awaiter(this, void 0, void 0, function () {\r\n var acquireTokenMeasurement, requestBody, queryParameters, headers, thumbprint, endpoint;\r\n return __generator(this, function (_b) {\r\n switch (_b.label) {\r\n case 0:\r\n acquireTokenMeasurement = (_a = this.performanceClient) === null || _a === void 0 ? void 0 : _a.startMeasurement(PerformanceEvents.RefreshTokenClientExecuteTokenRequest, request.correlationId);\r\n return [4 /*yield*/, this.createTokenRequestBody(request)];\r\n case 1:\r\n requestBody = _b.sent();\r\n queryParameters = this.createTokenQueryParameters(request);\r\n headers = this.createTokenRequestHeaders(request.ccsCredential);\r\n thumbprint = {\r\n clientId: this.config.authOptions.clientId,\r\n authority: authority.canonicalAuthority,\r\n scopes: request.scopes,\r\n claims: request.claims,\r\n authenticationScheme: request.authenticationScheme,\r\n resourceRequestMethod: request.resourceRequestMethod,\r\n resourceRequestUri: request.resourceRequestUri,\r\n shrClaims: request.shrClaims,\r\n sshKid: request.sshKid\r\n };\r\n endpoint = UrlString.appendQueryString(authority.tokenEndpoint, queryParameters);\r\n return [2 /*return*/, this.executePostToTokenEndpoint(endpoint, requestBody, headers, thumbprint)\r\n .then(function (result) {\r\n acquireTokenMeasurement === null || acquireTokenMeasurement === void 0 ? void 0 : acquireTokenMeasurement.endMeasurement({\r\n success: true\r\n });\r\n return result;\r\n })\r\n .catch(function (error) {\r\n acquireTokenMeasurement === null || acquireTokenMeasurement === void 0 ? void 0 : acquireTokenMeasurement.endMeasurement({\r\n success: false\r\n });\r\n throw error;\r\n })];\r\n }\r\n });\r\n });\r\n };\r\n /**\r\n * Creates query string for the /token request\r\n * @param request\r\n */\r\n RefreshTokenClient.prototype.createTokenQueryParameters = function (request) {\r\n var parameterBuilder = new RequestParameterBuilder();\r\n if (request.tokenQueryParameters) {\r\n parameterBuilder.addExtraQueryParameters(request.tokenQueryParameters);\r\n }\r\n return parameterBuilder.createQueryString();\r\n };\r\n /**\r\n * Helper function to create the token request body\r\n * @param request\r\n */\r\n RefreshTokenClient.prototype.createTokenRequestBody = function (request) {\r\n var _a;\r\n return __awaiter(this, void 0, void 0, function () {\r\n var correlationId, acquireTokenMeasurement, parameterBuilder, clientAssertion, popTokenGenerator, reqCnfData, clientInfo;\r\n return __generator(this, function (_b) {\r\n switch (_b.label) {\r\n case 0:\r\n correlationId = request.correlationId;\r\n acquireTokenMeasurement = (_a = this.performanceClient) === null || _a === void 0 ? void 0 : _a.startMeasurement(PerformanceEvents.BaseClientCreateTokenRequestHeaders, correlationId);\r\n parameterBuilder = new RequestParameterBuilder();\r\n parameterBuilder.addClientId(this.config.authOptions.clientId);\r\n parameterBuilder.addScopes(request.scopes);\r\n parameterBuilder.addGrantType(GrantType.REFRESH_TOKEN_GRANT);\r\n parameterBuilder.addClientInfo();\r\n parameterBuilder.addLibraryInfo(this.config.libraryInfo);\r\n parameterBuilder.addApplicationTelemetry(this.config.telemetry.application);\r\n parameterBuilder.addThrottling();\r\n if (this.serverTelemetryManager) {\r\n parameterBuilder.addServerTelemetry(this.serverTelemetryManager);\r\n }\r\n parameterBuilder.addCorrelationId(correlationId);\r\n parameterBuilder.addRefreshToken(request.refreshToken);\r\n if (this.config.clientCredentials.clientSecret) {\r\n parameterBuilder.addClientSecret(this.config.clientCredentials.clientSecret);\r\n }\r\n if (this.config.clientCredentials.clientAssertion) {\r\n clientAssertion = this.config.clientCredentials.clientAssertion;\r\n parameterBuilder.addClientAssertion(clientAssertion.assertion);\r\n parameterBuilder.addClientAssertionType(clientAssertion.assertionType);\r\n }\r\n if (!(request.authenticationScheme === AuthenticationScheme.POP)) return [3 /*break*/, 2];\r\n popTokenGenerator = new PopTokenGenerator(this.cryptoUtils);\r\n return [4 /*yield*/, popTokenGenerator.generateCnf(request)];\r\n case 1:\r\n reqCnfData = _b.sent();\r\n // SPA PoP requires full Base64Url encoded req_cnf string (unhashed)\r\n parameterBuilder.addPopToken(reqCnfData.reqCnfString);\r\n return [3 /*break*/, 3];\r\n case 2:\r\n if (request.authenticationScheme === AuthenticationScheme.SSH) {\r\n if (request.sshJwk) {\r\n parameterBuilder.addSshJwk(request.sshJwk);\r\n }\r\n else {\r\n acquireTokenMeasurement === null || acquireTokenMeasurement === void 0 ? void 0 : acquireTokenMeasurement.endMeasurement({\r\n success: false\r\n });\r\n throw ClientConfigurationError.createMissingSshJwkError();\r\n }\r\n }\r\n _b.label = 3;\r\n case 3:\r\n if (!StringUtils.isEmptyObj(request.claims) || this.config.authOptions.clientCapabilities && this.config.authOptions.clientCapabilities.length > 0) {\r\n parameterBuilder.addClaims(request.claims, this.config.authOptions.clientCapabilities);\r\n }\r\n if (this.config.systemOptions.preventCorsPreflight && request.ccsCredential) {\r\n switch (request.ccsCredential.type) {\r\n case CcsCredentialType.HOME_ACCOUNT_ID:\r\n try {\r\n clientInfo = buildClientInfoFromHomeAccountId(request.ccsCredential.credential);\r\n parameterBuilder.addCcsOid(clientInfo);\r\n }\r\n catch (e) {\r\n this.logger.verbose(\"Could not parse home account ID for CCS Header: \" + e);\r\n }\r\n break;\r\n case CcsCredentialType.UPN:\r\n parameterBuilder.addCcsUpn(request.ccsCredential.credential);\r\n break;\r\n }\r\n }\r\n acquireTokenMeasurement === null || acquireTokenMeasurement === void 0 ? void 0 : acquireTokenMeasurement.endMeasurement({\r\n success: true\r\n });\r\n return [2 /*return*/, parameterBuilder.createQueryString()];\r\n }\r\n });\r\n });\r\n };\r\n return RefreshTokenClient;\r\n}(BaseClient));\n\nexport { RefreshTokenClient };\n","/*! @azure/msal-common v9.1.1 2023-01-19 */\n'use strict';\nimport { __extends, __awaiter, __generator } from '../_virtual/_tslib.js';\nimport { BaseClient } from './BaseClient.js';\nimport { AuthToken } from '../account/AuthToken.js';\nimport { TimeUtils } from '../utils/TimeUtils.js';\nimport { RefreshTokenClient } from './RefreshTokenClient.js';\nimport { ClientAuthError, ClientAuthErrorMessage } from '../error/ClientAuthError.js';\nimport { ClientConfigurationError } from '../error/ClientConfigurationError.js';\nimport { ResponseHandler } from '../response/ResponseHandler.js';\nimport { CacheOutcome } from '../utils/Constants.js';\n\n/*\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * Licensed under the MIT License.\r\n */\r\nvar SilentFlowClient = /** @class */ (function (_super) {\r\n __extends(SilentFlowClient, _super);\r\n function SilentFlowClient(configuration, performanceClient) {\r\n return _super.call(this, configuration, performanceClient) || this;\r\n }\r\n /**\r\n * Retrieves a token from cache if it is still valid, or uses the cached refresh token to renew\r\n * the given token and returns the renewed token\r\n * @param request\r\n */\r\n SilentFlowClient.prototype.acquireToken = function (request) {\r\n return __awaiter(this, void 0, void 0, function () {\r\n var e_1, refreshTokenClient;\r\n return __generator(this, function (_a) {\r\n switch (_a.label) {\r\n case 0:\r\n _a.trys.push([0, 2, , 3]);\r\n return [4 /*yield*/, this.acquireCachedToken(request)];\r\n case 1: return [2 /*return*/, _a.sent()];\r\n case 2:\r\n e_1 = _a.sent();\r\n if (e_1 instanceof ClientAuthError && e_1.errorCode === ClientAuthErrorMessage.tokenRefreshRequired.code) {\r\n refreshTokenClient = new RefreshTokenClient(this.config, this.performanceClient);\r\n return [2 /*return*/, refreshTokenClient.acquireTokenByRefreshToken(request)];\r\n }\r\n else {\r\n throw e_1;\r\n }\r\n case 3: return [2 /*return*/];\r\n }\r\n });\r\n });\r\n };\r\n /**\r\n * Retrieves token from cache or throws an error if it must be refreshed.\r\n * @param request\r\n */\r\n SilentFlowClient.prototype.acquireCachedToken = function (request) {\r\n var _a, _b, _c, _d;\r\n return __awaiter(this, void 0, void 0, function () {\r\n var environment, cacheRecord;\r\n return __generator(this, function (_e) {\r\n switch (_e.label) {\r\n case 0:\r\n // Cannot renew token if no request object is given.\r\n if (!request) {\r\n throw ClientConfigurationError.createEmptyTokenRequestError();\r\n }\r\n if (request.forceRefresh) {\r\n // Must refresh due to present force_refresh flag.\r\n (_a = this.serverTelemetryManager) === null || _a === void 0 ? void 0 : _a.setCacheOutcome(CacheOutcome.FORCE_REFRESH);\r\n this.logger.info(\"SilentFlowClient:acquireCachedToken - Skipping cache because forceRefresh is true.\");\r\n throw ClientAuthError.createRefreshRequiredError();\r\n }\r\n // We currently do not support silent flow for account === null use cases; This will be revisited for confidential flow usecases\r\n if (!request.account) {\r\n throw ClientAuthError.createNoAccountInSilentRequestError();\r\n }\r\n environment = request.authority || this.authority.getPreferredCache();\r\n cacheRecord = this.cacheManager.readCacheRecord(request.account, this.config.authOptions.clientId, request, environment);\r\n if (!cacheRecord.accessToken) {\r\n // Must refresh due to non-existent access_token.\r\n (_b = this.serverTelemetryManager) === null || _b === void 0 ? void 0 : _b.setCacheOutcome(CacheOutcome.NO_CACHED_ACCESS_TOKEN);\r\n this.logger.info(\"SilentFlowClient:acquireCachedToken - No access token found in cache for the given properties.\");\r\n throw ClientAuthError.createRefreshRequiredError();\r\n }\r\n else if (TimeUtils.wasClockTurnedBack(cacheRecord.accessToken.cachedAt) ||\r\n TimeUtils.isTokenExpired(cacheRecord.accessToken.expiresOn, this.config.systemOptions.tokenRenewalOffsetSeconds)) {\r\n // Must refresh due to expired access_token.\r\n (_c = this.serverTelemetryManager) === null || _c === void 0 ? void 0 : _c.setCacheOutcome(CacheOutcome.CACHED_ACCESS_TOKEN_EXPIRED);\r\n this.logger.info(\"SilentFlowClient:acquireCachedToken - Cached access token is expired or will expire within \" + this.config.systemOptions.tokenRenewalOffsetSeconds + \" seconds.\");\r\n throw ClientAuthError.createRefreshRequiredError();\r\n }\r\n else if (cacheRecord.accessToken.refreshOn && TimeUtils.isTokenExpired(cacheRecord.accessToken.refreshOn, 0)) {\r\n // Must refresh due to the refresh_in value.\r\n (_d = this.serverTelemetryManager) === null || _d === void 0 ? void 0 : _d.setCacheOutcome(CacheOutcome.REFRESH_CACHED_ACCESS_TOKEN);\r\n this.logger.info(\"SilentFlowClient:acquireCachedToken - Cached access token's refreshOn property has been exceeded'.\");\r\n throw ClientAuthError.createRefreshRequiredError();\r\n }\r\n if (this.config.serverTelemetryManager) {\r\n this.config.serverTelemetryManager.incrementCacheHits();\r\n }\r\n return [4 /*yield*/, this.generateResultFromCacheRecord(cacheRecord, request)];\r\n case 1: return [2 /*return*/, _e.sent()];\r\n }\r\n });\r\n });\r\n };\r\n /**\r\n * Helper function to build response object from the CacheRecord\r\n * @param cacheRecord\r\n */\r\n SilentFlowClient.prototype.generateResultFromCacheRecord = function (cacheRecord, request) {\r\n return __awaiter(this, void 0, void 0, function () {\r\n var idTokenObj, authTime;\r\n return __generator(this, function (_a) {\r\n switch (_a.label) {\r\n case 0:\r\n if (cacheRecord.idToken) {\r\n idTokenObj = new AuthToken(cacheRecord.idToken.secret, this.config.cryptoInterface);\r\n }\r\n // token max_age check\r\n if (request.maxAge || (request.maxAge === 0)) {\r\n authTime = idTokenObj === null || idTokenObj === void 0 ? void 0 : idTokenObj.claims.auth_time;\r\n if (!authTime) {\r\n throw ClientAuthError.createAuthTimeNotFoundError();\r\n }\r\n AuthToken.checkMaxAge(authTime, request.maxAge);\r\n }\r\n return [4 /*yield*/, ResponseHandler.generateAuthenticationResult(this.cryptoUtils, this.authority, cacheRecord, true, request, idTokenObj)];\r\n case 1: return [2 /*return*/, _a.sent()];\r\n }\r\n });\r\n });\r\n };\r\n return SilentFlowClient;\r\n}(BaseClient));\n\nexport { SilentFlowClient };\n","/*! @azure/msal-common v9.1.1 2023-01-19 */\n'use strict';\nimport { __assign, __awaiter, __generator } from '../_virtual/_tslib.js';\nimport { DEFAULT_CRYPTO_IMPLEMENTATION } from '../crypto/ICrypto.js';\nimport { AuthError } from '../error/AuthError.js';\nimport { LogLevel } from '../logger/Logger.js';\nimport { Constants } from '../utils/Constants.js';\nimport { version } from '../packageMetadata.js';\nimport { AzureCloudInstance } from '../authority/AuthorityOptions.js';\nimport { DefaultStorageClass } from '../cache/CacheManager.js';\n\n/*\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * Licensed under the MIT License.\r\n */\r\n// Token renewal offset default in seconds\r\nvar DEFAULT_TOKEN_RENEWAL_OFFSET_SEC = 300;\r\nvar DEFAULT_SYSTEM_OPTIONS = {\r\n tokenRenewalOffsetSeconds: DEFAULT_TOKEN_RENEWAL_OFFSET_SEC,\r\n preventCorsPreflight: false,\r\n proxyUrl: Constants.EMPTY_STRING\r\n};\r\nvar DEFAULT_LOGGER_IMPLEMENTATION = {\r\n loggerCallback: function () {\r\n // allow users to not set loggerCallback\r\n },\r\n piiLoggingEnabled: false,\r\n logLevel: LogLevel.Info,\r\n correlationId: Constants.EMPTY_STRING\r\n};\r\nvar DEFAULT_NETWORK_IMPLEMENTATION = {\r\n sendGetRequestAsync: function () {\r\n return __awaiter(this, void 0, void 0, function () {\r\n var notImplErr;\r\n return __generator(this, function (_a) {\r\n notImplErr = \"Network interface - sendGetRequestAsync() has not been implemented\";\r\n throw AuthError.createUnexpectedError(notImplErr);\r\n });\r\n });\r\n },\r\n sendPostRequestAsync: function () {\r\n return __awaiter(this, void 0, void 0, function () {\r\n var notImplErr;\r\n return __generator(this, function (_a) {\r\n notImplErr = \"Network interface - sendPostRequestAsync() has not been implemented\";\r\n throw AuthError.createUnexpectedError(notImplErr);\r\n });\r\n });\r\n }\r\n};\r\nvar DEFAULT_LIBRARY_INFO = {\r\n sku: Constants.SKU,\r\n version: version,\r\n cpu: Constants.EMPTY_STRING,\r\n os: Constants.EMPTY_STRING\r\n};\r\nvar DEFAULT_CLIENT_CREDENTIALS = {\r\n clientSecret: Constants.EMPTY_STRING,\r\n clientAssertion: undefined\r\n};\r\nvar DEFAULT_AZURE_CLOUD_OPTIONS = {\r\n azureCloudInstance: AzureCloudInstance.None,\r\n tenant: \"\" + Constants.DEFAULT_COMMON_TENANT\r\n};\r\nvar DEFAULT_TELEMETRY_OPTIONS = {\r\n application: {\r\n appName: \"\",\r\n appVersion: \"\"\r\n }\r\n};\r\n/**\r\n * Function that sets the default options when not explicitly configured from app developer\r\n *\r\n * @param Configuration\r\n *\r\n * @returns Configuration\r\n */\r\nfunction buildClientConfiguration(_a) {\r\n var userAuthOptions = _a.authOptions, userSystemOptions = _a.systemOptions, userLoggerOption = _a.loggerOptions, storageImplementation = _a.storageInterface, networkImplementation = _a.networkInterface, cryptoImplementation = _a.cryptoInterface, clientCredentials = _a.clientCredentials, libraryInfo = _a.libraryInfo, telemetry = _a.telemetry, serverTelemetryManager = _a.serverTelemetryManager, persistencePlugin = _a.persistencePlugin, serializableCache = _a.serializableCache;\r\n var loggerOptions = __assign(__assign({}, DEFAULT_LOGGER_IMPLEMENTATION), userLoggerOption);\r\n return {\r\n authOptions: buildAuthOptions(userAuthOptions),\r\n systemOptions: __assign(__assign({}, DEFAULT_SYSTEM_OPTIONS), userSystemOptions),\r\n loggerOptions: loggerOptions,\r\n storageInterface: storageImplementation || new DefaultStorageClass(userAuthOptions.clientId, DEFAULT_CRYPTO_IMPLEMENTATION),\r\n networkInterface: networkImplementation || DEFAULT_NETWORK_IMPLEMENTATION,\r\n cryptoInterface: cryptoImplementation || DEFAULT_CRYPTO_IMPLEMENTATION,\r\n clientCredentials: clientCredentials || DEFAULT_CLIENT_CREDENTIALS,\r\n libraryInfo: __assign(__assign({}, DEFAULT_LIBRARY_INFO), libraryInfo),\r\n telemetry: __assign(__assign({}, DEFAULT_TELEMETRY_OPTIONS), telemetry),\r\n serverTelemetryManager: serverTelemetryManager || null,\r\n persistencePlugin: persistencePlugin || null,\r\n serializableCache: serializableCache || null,\r\n };\r\n}\r\n/**\r\n * Construct authoptions from the client and platform passed values\r\n * @param authOptions\r\n */\r\nfunction buildAuthOptions(authOptions) {\r\n return __assign({ clientCapabilities: [], azureCloudOptions: DEFAULT_AZURE_CLOUD_OPTIONS, skipAuthorityMetadataCache: false }, authOptions);\r\n}\n\nexport { DEFAULT_SYSTEM_OPTIONS, buildClientConfiguration };\n","/*! @azure/msal-common v9.1.1 2023-01-19 */\n'use strict';\nimport { __awaiter, __generator } from '../_virtual/_tslib.js';\nimport { AuthError } from '../error/AuthError.js';\n\n/*\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * Licensed under the MIT License.\r\n */\r\nvar DEFAULT_CRYPTO_IMPLEMENTATION = {\r\n createNewGuid: function () {\r\n var notImplErr = \"Crypto interface - createNewGuid() has not been implemented\";\r\n throw AuthError.createUnexpectedError(notImplErr);\r\n },\r\n base64Decode: function () {\r\n var notImplErr = \"Crypto interface - base64Decode() has not been implemented\";\r\n throw AuthError.createUnexpectedError(notImplErr);\r\n },\r\n base64Encode: function () {\r\n var notImplErr = \"Crypto interface - base64Encode() has not been implemented\";\r\n throw AuthError.createUnexpectedError(notImplErr);\r\n },\r\n generatePkceCodes: function () {\r\n return __awaiter(this, void 0, void 0, function () {\r\n var notImplErr;\r\n return __generator(this, function (_a) {\r\n notImplErr = \"Crypto interface - generatePkceCodes() has not been implemented\";\r\n throw AuthError.createUnexpectedError(notImplErr);\r\n });\r\n });\r\n },\r\n getPublicKeyThumbprint: function () {\r\n return __awaiter(this, void 0, void 0, function () {\r\n var notImplErr;\r\n return __generator(this, function (_a) {\r\n notImplErr = \"Crypto interface - getPublicKeyThumbprint() has not been implemented\";\r\n throw AuthError.createUnexpectedError(notImplErr);\r\n });\r\n });\r\n },\r\n removeTokenBindingKey: function () {\r\n return __awaiter(this, void 0, void 0, function () {\r\n var notImplErr;\r\n return __generator(this, function (_a) {\r\n notImplErr = \"Crypto interface - removeTokenBindingKey() has not been implemented\";\r\n throw AuthError.createUnexpectedError(notImplErr);\r\n });\r\n });\r\n },\r\n clearKeystore: function () {\r\n return __awaiter(this, void 0, void 0, function () {\r\n var notImplErr;\r\n return __generator(this, function (_a) {\r\n notImplErr = \"Crypto interface - clearKeystore() has not been implemented\";\r\n throw AuthError.createUnexpectedError(notImplErr);\r\n });\r\n });\r\n },\r\n signJwt: function () {\r\n return __awaiter(this, void 0, void 0, function () {\r\n var notImplErr;\r\n return __generator(this, function (_a) {\r\n notImplErr = \"Crypto interface - signJwt() has not been implemented\";\r\n throw AuthError.createUnexpectedError(notImplErr);\r\n });\r\n });\r\n },\r\n hashString: function () {\r\n return __awaiter(this, void 0, void 0, function () {\r\n var notImplErr;\r\n return __generator(this, function (_a) {\r\n notImplErr = \"Crypto interface - hashString() has not been implemented\";\r\n throw AuthError.createUnexpectedError(notImplErr);\r\n });\r\n });\r\n }\r\n};\n\nexport { DEFAULT_CRYPTO_IMPLEMENTATION };\n","/*! @azure/msal-common v9.1.1 2023-01-19 */\n'use strict';\nimport { JoseHeaderError } from '../error/JoseHeaderError.js';\nimport { JsonTypes } from '../utils/Constants.js';\n\n/*\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * Licensed under the MIT License.\r\n */\r\nvar JoseHeader = /** @class */ (function () {\r\n function JoseHeader(options) {\r\n this.typ = options.typ;\r\n this.alg = options.alg;\r\n this.kid = options.kid;\r\n }\r\n /**\r\n * Builds SignedHttpRequest formatted JOSE Header from the\r\n * JOSE Header options provided or previously set on the object and returns\r\n * the stringified header object.\r\n * Throws if keyId or algorithm aren't provided since they are required for Access Token Binding.\r\n * @param shrHeaderOptions\r\n * @returns\r\n */\r\n JoseHeader.getShrHeaderString = function (shrHeaderOptions) {\r\n // KeyID is required on the SHR header\r\n if (!shrHeaderOptions.kid) {\r\n throw JoseHeaderError.createMissingKidError();\r\n }\r\n // Alg is required on the SHR header\r\n if (!shrHeaderOptions.alg) {\r\n throw JoseHeaderError.createMissingAlgError();\r\n }\r\n var shrHeader = new JoseHeader({\r\n // Access Token PoP headers must have type JWT, but the type header can be overriden for special cases\r\n typ: shrHeaderOptions.typ || JsonTypes.Jwt,\r\n kid: shrHeaderOptions.kid,\r\n alg: shrHeaderOptions.alg\r\n });\r\n return JSON.stringify(shrHeader);\r\n };\r\n return JoseHeader;\r\n}());\n\nexport { JoseHeader };\n","/*! @azure/msal-common v9.1.1 2023-01-19 */\n'use strict';\nimport { __awaiter, __generator, __assign } from '../_virtual/_tslib.js';\nimport { TimeUtils } from '../utils/TimeUtils.js';\nimport { UrlString } from '../url/UrlString.js';\n\n/*\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * Licensed under the MIT License.\r\n */\r\nvar KeyLocation;\r\n(function (KeyLocation) {\r\n KeyLocation[\"SW\"] = \"sw\";\r\n KeyLocation[\"UHW\"] = \"uhw\";\r\n})(KeyLocation || (KeyLocation = {}));\r\nvar PopTokenGenerator = /** @class */ (function () {\r\n function PopTokenGenerator(cryptoUtils) {\r\n this.cryptoUtils = cryptoUtils;\r\n }\r\n /**\r\n * Generates the req_cnf validated at the RP in the POP protocol for SHR parameters\r\n * and returns an object containing the keyid, the full req_cnf string and the req_cnf string hash\r\n * @param request\r\n * @returns\r\n */\r\n PopTokenGenerator.prototype.generateCnf = function (request) {\r\n return __awaiter(this, void 0, void 0, function () {\r\n var reqCnf, reqCnfString, _a;\r\n return __generator(this, function (_b) {\r\n switch (_b.label) {\r\n case 0: return [4 /*yield*/, this.generateKid(request)];\r\n case 1:\r\n reqCnf = _b.sent();\r\n reqCnfString = this.cryptoUtils.base64Encode(JSON.stringify(reqCnf));\r\n _a = {\r\n kid: reqCnf.kid,\r\n reqCnfString: reqCnfString\r\n };\r\n return [4 /*yield*/, this.cryptoUtils.hashString(reqCnfString)];\r\n case 2: return [2 /*return*/, (_a.reqCnfHash = _b.sent(),\r\n _a)];\r\n }\r\n });\r\n });\r\n };\r\n /**\r\n * Generates key_id for a SHR token request\r\n * @param request\r\n * @returns\r\n */\r\n PopTokenGenerator.prototype.generateKid = function (request) {\r\n return __awaiter(this, void 0, void 0, function () {\r\n var kidThumbprint;\r\n return __generator(this, function (_a) {\r\n switch (_a.label) {\r\n case 0: return [4 /*yield*/, this.cryptoUtils.getPublicKeyThumbprint(request)];\r\n case 1:\r\n kidThumbprint = _a.sent();\r\n return [2 /*return*/, {\r\n kid: kidThumbprint,\r\n xms_ksl: KeyLocation.SW\r\n }];\r\n }\r\n });\r\n });\r\n };\r\n /**\r\n * Signs the POP access_token with the local generated key-pair\r\n * @param accessToken\r\n * @param request\r\n * @returns\r\n */\r\n PopTokenGenerator.prototype.signPopToken = function (accessToken, keyId, request) {\r\n return __awaiter(this, void 0, void 0, function () {\r\n return __generator(this, function (_a) {\r\n return [2 /*return*/, this.signPayload(accessToken, keyId, request)];\r\n });\r\n });\r\n };\r\n /**\r\n * Utility function to generate the signed JWT for an access_token\r\n * @param payload\r\n * @param kid\r\n * @param request\r\n * @param claims\r\n * @returns\r\n */\r\n PopTokenGenerator.prototype.signPayload = function (payload, keyId, request, claims) {\r\n return __awaiter(this, void 0, void 0, function () {\r\n var resourceRequestMethod, resourceRequestUri, shrClaims, shrNonce, resourceUrlString, resourceUrlComponents;\r\n return __generator(this, function (_a) {\r\n switch (_a.label) {\r\n case 0:\r\n resourceRequestMethod = request.resourceRequestMethod, resourceRequestUri = request.resourceRequestUri, shrClaims = request.shrClaims, shrNonce = request.shrNonce;\r\n resourceUrlString = (resourceRequestUri) ? new UrlString(resourceRequestUri) : undefined;\r\n resourceUrlComponents = resourceUrlString === null || resourceUrlString === void 0 ? void 0 : resourceUrlString.getUrlComponents();\r\n return [4 /*yield*/, this.cryptoUtils.signJwt(__assign({ at: payload, ts: TimeUtils.nowSeconds(), m: resourceRequestMethod === null || resourceRequestMethod === void 0 ? void 0 : resourceRequestMethod.toUpperCase(), u: resourceUrlComponents === null || resourceUrlComponents === void 0 ? void 0 : resourceUrlComponents.HostNameAndPort, nonce: shrNonce || this.cryptoUtils.createNewGuid(), p: resourceUrlComponents === null || resourceUrlComponents === void 0 ? void 0 : resourceUrlComponents.AbsolutePath, q: (resourceUrlComponents === null || resourceUrlComponents === void 0 ? void 0 : resourceUrlComponents.QueryString) ? [[], resourceUrlComponents.QueryString] : undefined, client_claims: shrClaims || undefined }, claims), keyId, request.correlationId)];\r\n case 1: return [2 /*return*/, _a.sent()];\r\n }\r\n });\r\n });\r\n };\r\n return PopTokenGenerator;\r\n}());\n\nexport { PopTokenGenerator };\n","/*! @azure/msal-common v9.1.1 2023-01-19 */\n'use strict';\nimport { __extends } from '../_virtual/_tslib.js';\nimport { Constants } from '../utils/Constants.js';\n\n/*\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * Licensed under the MIT License.\r\n */\r\n/**\r\n * AuthErrorMessage class containing string constants used by error codes and messages.\r\n */\r\nvar AuthErrorMessage = {\r\n unexpectedError: {\r\n code: \"unexpected_error\",\r\n desc: \"Unexpected error in authentication.\"\r\n },\r\n postRequestFailed: {\r\n code: \"post_request_failed\",\r\n desc: \"Post request failed from the network, could be a 4xx/5xx or a network unavailability. Please check the exact error code for details.\"\r\n }\r\n};\r\n/**\r\n * General error class thrown by the MSAL.js library.\r\n */\r\nvar AuthError = /** @class */ (function (_super) {\r\n __extends(AuthError, _super);\r\n function AuthError(errorCode, errorMessage, suberror) {\r\n var _this = this;\r\n var errorString = errorMessage ? errorCode + \": \" + errorMessage : errorCode;\r\n _this = _super.call(this, errorString) || this;\r\n Object.setPrototypeOf(_this, AuthError.prototype);\r\n _this.errorCode = errorCode || Constants.EMPTY_STRING;\r\n _this.errorMessage = errorMessage || Constants.EMPTY_STRING;\r\n _this.subError = suberror || Constants.EMPTY_STRING;\r\n _this.name = \"AuthError\";\r\n return _this;\r\n }\r\n AuthError.prototype.setCorrelationId = function (correlationId) {\r\n this.correlationId = correlationId;\r\n };\r\n /**\r\n * Creates an error that is thrown when something unexpected happens in the library.\r\n * @param errDesc\r\n */\r\n AuthError.createUnexpectedError = function (errDesc) {\r\n return new AuthError(AuthErrorMessage.unexpectedError.code, AuthErrorMessage.unexpectedError.desc + \": \" + errDesc);\r\n };\r\n /**\r\n * Creates an error for post request failures.\r\n * @param errDesc\r\n * @returns\r\n */\r\n AuthError.createPostRequestFailed = function (errDesc) {\r\n return new AuthError(AuthErrorMessage.postRequestFailed.code, AuthErrorMessage.postRequestFailed.desc + \": \" + errDesc);\r\n };\r\n return AuthError;\r\n}(Error));\n\nexport { AuthError, AuthErrorMessage };\n","/*! @azure/msal-common v9.1.1 2023-01-19 */\n'use strict';\nimport { __extends } from '../_virtual/_tslib.js';\nimport { AuthError } from './AuthError.js';\n\n/*\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * Licensed under the MIT License.\r\n */\r\n/**\r\n * ClientAuthErrorMessage class containing string constants used by error codes and messages.\r\n */\r\nvar ClientAuthErrorMessage = {\r\n clientInfoDecodingError: {\r\n code: \"client_info_decoding_error\",\r\n desc: \"The client info could not be parsed/decoded correctly. Please review the trace to determine the root cause.\"\r\n },\r\n clientInfoEmptyError: {\r\n code: \"client_info_empty_error\",\r\n desc: \"The client info was empty. Please review the trace to determine the root cause.\"\r\n },\r\n tokenParsingError: {\r\n code: \"token_parsing_error\",\r\n desc: \"Token cannot be parsed. Please review stack trace to determine root cause.\"\r\n },\r\n nullOrEmptyToken: {\r\n code: \"null_or_empty_token\",\r\n desc: \"The token is null or empty. Please review the trace to determine the root cause.\"\r\n },\r\n endpointResolutionError: {\r\n code: \"endpoints_resolution_error\",\r\n desc: \"Error: could not resolve endpoints. Please check network and try again.\"\r\n },\r\n networkError: {\r\n code: \"network_error\",\r\n desc: \"Network request failed. Please check network trace to determine root cause.\"\r\n },\r\n unableToGetOpenidConfigError: {\r\n code: \"openid_config_error\",\r\n desc: \"Could not retrieve endpoints. Check your authority and verify the .well-known/openid-configuration endpoint returns the required endpoints.\"\r\n },\r\n hashNotDeserialized: {\r\n code: \"hash_not_deserialized\",\r\n desc: \"The hash parameters could not be deserialized. Please review the trace to determine the root cause.\"\r\n },\r\n blankGuidGenerated: {\r\n code: \"blank_guid_generated\",\r\n desc: \"The guid generated was blank. Please review the trace to determine the root cause.\"\r\n },\r\n invalidStateError: {\r\n code: \"invalid_state\",\r\n desc: \"State was not the expected format. Please check the logs to determine whether the request was sent using ProtocolUtils.setRequestState().\"\r\n },\r\n stateMismatchError: {\r\n code: \"state_mismatch\",\r\n desc: \"State mismatch error. Please check your network. Continued requests may cause cache overflow.\"\r\n },\r\n stateNotFoundError: {\r\n code: \"state_not_found\",\r\n desc: \"State not found\"\r\n },\r\n nonceMismatchError: {\r\n code: \"nonce_mismatch\",\r\n desc: \"Nonce mismatch error. This may be caused by a race condition in concurrent requests.\"\r\n },\r\n nonceNotFoundError: {\r\n code: \"nonce_not_found\",\r\n desc: \"nonce not found\"\r\n },\r\n authTimeNotFoundError: {\r\n code: \"auth_time_not_found\",\r\n desc: \"Max Age was requested and the ID token is missing the auth_time variable.\" +\r\n \" auth_time is an optional claim and is not enabled by default - it must be enabled.\" +\r\n \" See https://aka.ms/msaljs/optional-claims for more information.\"\r\n },\r\n maxAgeTranspiredError: {\r\n code: \"max_age_transpired\",\r\n desc: \"Max Age is set to 0, or too much time has elapsed since the last end-user authentication.\"\r\n },\r\n noTokensFoundError: {\r\n code: \"no_tokens_found\",\r\n desc: \"No tokens were found for the given scopes, and no authorization code was passed to acquireToken. You must retrieve an authorization code before making a call to acquireToken().\"\r\n },\r\n multipleMatchingTokens: {\r\n code: \"multiple_matching_tokens\",\r\n desc: \"The cache contains multiple tokens satisfying the requirements. \" +\r\n \"Call AcquireToken again providing more requirements such as authority or account.\"\r\n },\r\n multipleMatchingAccounts: {\r\n code: \"multiple_matching_accounts\",\r\n desc: \"The cache contains multiple accounts satisfying the given parameters. Please pass more info to obtain the correct account\"\r\n },\r\n multipleMatchingAppMetadata: {\r\n code: \"multiple_matching_appMetadata\",\r\n desc: \"The cache contains multiple appMetadata satisfying the given parameters. Please pass more info to obtain the correct appMetadata\"\r\n },\r\n tokenRequestCannotBeMade: {\r\n code: \"request_cannot_be_made\",\r\n desc: \"Token request cannot be made without authorization code or refresh token.\"\r\n },\r\n appendEmptyScopeError: {\r\n code: \"cannot_append_empty_scope\",\r\n desc: \"Cannot append null or empty scope to ScopeSet. Please check the stack trace for more info.\"\r\n },\r\n removeEmptyScopeError: {\r\n code: \"cannot_remove_empty_scope\",\r\n desc: \"Cannot remove null or empty scope from ScopeSet. Please check the stack trace for more info.\"\r\n },\r\n appendScopeSetError: {\r\n code: \"cannot_append_scopeset\",\r\n desc: \"Cannot append ScopeSet due to error.\"\r\n },\r\n emptyInputScopeSetError: {\r\n code: \"empty_input_scopeset\",\r\n desc: \"Empty input ScopeSet cannot be processed.\"\r\n },\r\n DeviceCodePollingCancelled: {\r\n code: \"device_code_polling_cancelled\",\r\n desc: \"Caller has cancelled token endpoint polling during device code flow by setting DeviceCodeRequest.cancel = true.\"\r\n },\r\n DeviceCodeExpired: {\r\n code: \"device_code_expired\",\r\n desc: \"Device code is expired.\"\r\n },\r\n DeviceCodeUnknownError: {\r\n code: \"device_code_unknown_error\",\r\n desc: \"Device code stopped polling for unknown reasons.\"\r\n },\r\n NoAccountInSilentRequest: {\r\n code: \"no_account_in_silent_request\",\r\n desc: \"Please pass an account object, silent flow is not supported without account information\"\r\n },\r\n invalidCacheRecord: {\r\n code: \"invalid_cache_record\",\r\n desc: \"Cache record object was null or undefined.\"\r\n },\r\n invalidCacheEnvironment: {\r\n code: \"invalid_cache_environment\",\r\n desc: \"Invalid environment when attempting to create cache entry\"\r\n },\r\n noAccountFound: {\r\n code: \"no_account_found\",\r\n desc: \"No account found in cache for given key.\"\r\n },\r\n CachePluginError: {\r\n code: \"no cache plugin set on CacheManager\",\r\n desc: \"ICachePlugin needs to be set before using readFromStorage or writeFromStorage\"\r\n },\r\n noCryptoObj: {\r\n code: \"no_crypto_object\",\r\n desc: \"No crypto object detected. This is required for the following operation: \"\r\n },\r\n invalidCacheType: {\r\n code: \"invalid_cache_type\",\r\n desc: \"Invalid cache type\"\r\n },\r\n unexpectedAccountType: {\r\n code: \"unexpected_account_type\",\r\n desc: \"Unexpected account type.\"\r\n },\r\n unexpectedCredentialType: {\r\n code: \"unexpected_credential_type\",\r\n desc: \"Unexpected credential type.\"\r\n },\r\n invalidAssertion: {\r\n code: \"invalid_assertion\",\r\n desc: \"Client assertion must meet requirements described in https://tools.ietf.org/html/rfc7515\"\r\n },\r\n invalidClientCredential: {\r\n code: \"invalid_client_credential\",\r\n desc: \"Client credential (secret, certificate, or assertion) must not be empty when creating a confidential client. An application should at most have one credential\"\r\n },\r\n tokenRefreshRequired: {\r\n code: \"token_refresh_required\",\r\n desc: \"Cannot return token from cache because it must be refreshed. This may be due to one of the following reasons: forceRefresh parameter is set to true, claims have been requested, there is no cached access token or it is expired.\"\r\n },\r\n userTimeoutReached: {\r\n code: \"user_timeout_reached\",\r\n desc: \"User defined timeout for device code polling reached\",\r\n },\r\n tokenClaimsRequired: {\r\n code: \"token_claims_cnf_required_for_signedjwt\",\r\n desc: \"Cannot generate a POP jwt if the token_claims are not populated\"\r\n },\r\n noAuthorizationCodeFromServer: {\r\n code: \"authorization_code_missing_from_server_response\",\r\n desc: \"Server response does not contain an authorization code to proceed\"\r\n },\r\n noAzureRegionDetected: {\r\n code: \"no_azure_region_detected\",\r\n desc: \"No azure region was detected and no fallback was made available\"\r\n },\r\n accessTokenEntityNullError: {\r\n code: \"access_token_entity_null\",\r\n desc: \"Access token entity is null, please check logs and cache to ensure a valid access token is present.\"\r\n },\r\n bindingKeyNotRemovedError: {\r\n code: \"binding_key_not_removed\",\r\n desc: \"Could not remove the credential's binding key from storage.\"\r\n },\r\n logoutNotSupported: {\r\n code: \"end_session_endpoint_not_supported\",\r\n desc: \"Provided authority does not support logout.\"\r\n },\r\n keyIdMissing: {\r\n code: \"key_id_missing\",\r\n desc: \"A keyId value is missing from the requested bound token's cache record and is required to match the token to it's stored binding key.\"\r\n }\r\n};\r\n/**\r\n * Error thrown when there is an error in the client code running on the browser.\r\n */\r\nvar ClientAuthError = /** @class */ (function (_super) {\r\n __extends(ClientAuthError, _super);\r\n function ClientAuthError(errorCode, errorMessage) {\r\n var _this = _super.call(this, errorCode, errorMessage) || this;\r\n _this.name = \"ClientAuthError\";\r\n Object.setPrototypeOf(_this, ClientAuthError.prototype);\r\n return _this;\r\n }\r\n /**\r\n * Creates an error thrown when client info object doesn't decode correctly.\r\n * @param caughtError\r\n */\r\n ClientAuthError.createClientInfoDecodingError = function (caughtError) {\r\n return new ClientAuthError(ClientAuthErrorMessage.clientInfoDecodingError.code, ClientAuthErrorMessage.clientInfoDecodingError.desc + \" Failed with error: \" + caughtError);\r\n };\r\n /**\r\n * Creates an error thrown if the client info is empty.\r\n * @param rawClientInfo\r\n */\r\n ClientAuthError.createClientInfoEmptyError = function () {\r\n return new ClientAuthError(ClientAuthErrorMessage.clientInfoEmptyError.code, \"\" + ClientAuthErrorMessage.clientInfoEmptyError.desc);\r\n };\r\n /**\r\n * Creates an error thrown when the id token extraction errors out.\r\n * @param err\r\n */\r\n ClientAuthError.createTokenParsingError = function (caughtExtractionError) {\r\n return new ClientAuthError(ClientAuthErrorMessage.tokenParsingError.code, ClientAuthErrorMessage.tokenParsingError.desc + \" Failed with error: \" + caughtExtractionError);\r\n };\r\n /**\r\n * Creates an error thrown when the id token string is null or empty.\r\n * @param invalidRawTokenString\r\n */\r\n ClientAuthError.createTokenNullOrEmptyError = function (invalidRawTokenString) {\r\n return new ClientAuthError(ClientAuthErrorMessage.nullOrEmptyToken.code, ClientAuthErrorMessage.nullOrEmptyToken.desc + \" Raw Token Value: \" + invalidRawTokenString);\r\n };\r\n /**\r\n * Creates an error thrown when the endpoint discovery doesn't complete correctly.\r\n */\r\n ClientAuthError.createEndpointDiscoveryIncompleteError = function (errDetail) {\r\n return new ClientAuthError(ClientAuthErrorMessage.endpointResolutionError.code, ClientAuthErrorMessage.endpointResolutionError.desc + \" Detail: \" + errDetail);\r\n };\r\n /**\r\n * Creates an error thrown when the fetch client throws\r\n */\r\n ClientAuthError.createNetworkError = function (endpoint, errDetail) {\r\n return new ClientAuthError(ClientAuthErrorMessage.networkError.code, ClientAuthErrorMessage.networkError.desc + \" | Fetch client threw: \" + errDetail + \" | Attempted to reach: \" + endpoint.split(\"?\")[0]);\r\n };\r\n /**\r\n * Creates an error thrown when the openid-configuration endpoint cannot be reached or does not contain the required data\r\n */\r\n ClientAuthError.createUnableToGetOpenidConfigError = function (errDetail) {\r\n return new ClientAuthError(ClientAuthErrorMessage.unableToGetOpenidConfigError.code, ClientAuthErrorMessage.unableToGetOpenidConfigError.desc + \" Attempted to retrieve endpoints from: \" + errDetail);\r\n };\r\n /**\r\n * Creates an error thrown when the hash cannot be deserialized.\r\n * @param hashParamObj\r\n */\r\n ClientAuthError.createHashNotDeserializedError = function (hashParamObj) {\r\n return new ClientAuthError(ClientAuthErrorMessage.hashNotDeserialized.code, ClientAuthErrorMessage.hashNotDeserialized.desc + \" Given Object: \" + hashParamObj);\r\n };\r\n /**\r\n * Creates an error thrown when the state cannot be parsed.\r\n * @param invalidState\r\n */\r\n ClientAuthError.createInvalidStateError = function (invalidState, errorString) {\r\n return new ClientAuthError(ClientAuthErrorMessage.invalidStateError.code, ClientAuthErrorMessage.invalidStateError.desc + \" Invalid State: \" + invalidState + \", Root Err: \" + errorString);\r\n };\r\n /**\r\n * Creates an error thrown when two states do not match.\r\n */\r\n ClientAuthError.createStateMismatchError = function () {\r\n return new ClientAuthError(ClientAuthErrorMessage.stateMismatchError.code, ClientAuthErrorMessage.stateMismatchError.desc);\r\n };\r\n /**\r\n * Creates an error thrown when the state is not present\r\n * @param missingState\r\n */\r\n ClientAuthError.createStateNotFoundError = function (missingState) {\r\n return new ClientAuthError(ClientAuthErrorMessage.stateNotFoundError.code, ClientAuthErrorMessage.stateNotFoundError.desc + \": \" + missingState);\r\n };\r\n /**\r\n * Creates an error thrown when the nonce does not match.\r\n */\r\n ClientAuthError.createNonceMismatchError = function () {\r\n return new ClientAuthError(ClientAuthErrorMessage.nonceMismatchError.code, ClientAuthErrorMessage.nonceMismatchError.desc);\r\n };\r\n /**\r\n * Creates an error thrown when max_age was provided in the request, but auth_time is not in the token claims\r\n * @param missingNonce\r\n */\r\n ClientAuthError.createAuthTimeNotFoundError = function () {\r\n return new ClientAuthError(ClientAuthErrorMessage.authTimeNotFoundError.code, ClientAuthErrorMessage.authTimeNotFoundError.desc);\r\n };\r\n /**\r\n * Creates an error thrown when too much time has elapsed since the last end-user authentication\r\n */\r\n ClientAuthError.createMaxAgeTranspiredError = function () {\r\n return new ClientAuthError(ClientAuthErrorMessage.maxAgeTranspiredError.code, ClientAuthErrorMessage.maxAgeTranspiredError.desc);\r\n };\r\n /**\r\n * Creates an error thrown when the mnonce is not present\r\n * @param missingNonce\r\n */\r\n ClientAuthError.createNonceNotFoundError = function (missingNonce) {\r\n return new ClientAuthError(ClientAuthErrorMessage.nonceNotFoundError.code, ClientAuthErrorMessage.nonceNotFoundError.desc + \": \" + missingNonce);\r\n };\r\n /**\r\n * Throws error when multiple tokens are in cache.\r\n */\r\n ClientAuthError.createMultipleMatchingTokensInCacheError = function () {\r\n return new ClientAuthError(ClientAuthErrorMessage.multipleMatchingTokens.code, ClientAuthErrorMessage.multipleMatchingTokens.desc + \".\");\r\n };\r\n /**\r\n * Throws error when multiple accounts are in cache for the given params\r\n */\r\n ClientAuthError.createMultipleMatchingAccountsInCacheError = function () {\r\n return new ClientAuthError(ClientAuthErrorMessage.multipleMatchingAccounts.code, ClientAuthErrorMessage.multipleMatchingAccounts.desc);\r\n };\r\n /**\r\n * Throws error when multiple appMetada are in cache for the given clientId.\r\n */\r\n ClientAuthError.createMultipleMatchingAppMetadataInCacheError = function () {\r\n return new ClientAuthError(ClientAuthErrorMessage.multipleMatchingAppMetadata.code, ClientAuthErrorMessage.multipleMatchingAppMetadata.desc);\r\n };\r\n /**\r\n * Throws error when no auth code or refresh token is given to ServerTokenRequestParameters.\r\n */\r\n ClientAuthError.createTokenRequestCannotBeMadeError = function () {\r\n return new ClientAuthError(ClientAuthErrorMessage.tokenRequestCannotBeMade.code, ClientAuthErrorMessage.tokenRequestCannotBeMade.desc);\r\n };\r\n /**\r\n * Throws error when attempting to append a null, undefined or empty scope to a set\r\n * @param givenScope\r\n */\r\n ClientAuthError.createAppendEmptyScopeToSetError = function (givenScope) {\r\n return new ClientAuthError(ClientAuthErrorMessage.appendEmptyScopeError.code, ClientAuthErrorMessage.appendEmptyScopeError.desc + \" Given Scope: \" + givenScope);\r\n };\r\n /**\r\n * Throws error when attempting to append a null, undefined or empty scope to a set\r\n * @param givenScope\r\n */\r\n ClientAuthError.createRemoveEmptyScopeFromSetError = function (givenScope) {\r\n return new ClientAuthError(ClientAuthErrorMessage.removeEmptyScopeError.code, ClientAuthErrorMessage.removeEmptyScopeError.desc + \" Given Scope: \" + givenScope);\r\n };\r\n /**\r\n * Throws error when attempting to append null or empty ScopeSet.\r\n * @param appendError\r\n */\r\n ClientAuthError.createAppendScopeSetError = function (appendError) {\r\n return new ClientAuthError(ClientAuthErrorMessage.appendScopeSetError.code, ClientAuthErrorMessage.appendScopeSetError.desc + \" Detail Error: \" + appendError);\r\n };\r\n /**\r\n * Throws error if ScopeSet is null or undefined.\r\n * @param givenScopeSet\r\n */\r\n ClientAuthError.createEmptyInputScopeSetError = function () {\r\n return new ClientAuthError(ClientAuthErrorMessage.emptyInputScopeSetError.code, \"\" + ClientAuthErrorMessage.emptyInputScopeSetError.desc);\r\n };\r\n /**\r\n * Throws error if user sets CancellationToken.cancel = true during polling of token endpoint during device code flow\r\n */\r\n ClientAuthError.createDeviceCodeCancelledError = function () {\r\n return new ClientAuthError(ClientAuthErrorMessage.DeviceCodePollingCancelled.code, \"\" + ClientAuthErrorMessage.DeviceCodePollingCancelled.desc);\r\n };\r\n /**\r\n * Throws error if device code is expired\r\n */\r\n ClientAuthError.createDeviceCodeExpiredError = function () {\r\n return new ClientAuthError(ClientAuthErrorMessage.DeviceCodeExpired.code, \"\" + ClientAuthErrorMessage.DeviceCodeExpired.desc);\r\n };\r\n /**\r\n * Throws error if device code is expired\r\n */\r\n ClientAuthError.createDeviceCodeUnknownError = function () {\r\n return new ClientAuthError(ClientAuthErrorMessage.DeviceCodeUnknownError.code, \"\" + ClientAuthErrorMessage.DeviceCodeUnknownError.desc);\r\n };\r\n /**\r\n * Throws error when silent requests are made without an account object\r\n */\r\n ClientAuthError.createNoAccountInSilentRequestError = function () {\r\n return new ClientAuthError(ClientAuthErrorMessage.NoAccountInSilentRequest.code, \"\" + ClientAuthErrorMessage.NoAccountInSilentRequest.desc);\r\n };\r\n /**\r\n * Throws error when cache record is null or undefined.\r\n */\r\n ClientAuthError.createNullOrUndefinedCacheRecord = function () {\r\n return new ClientAuthError(ClientAuthErrorMessage.invalidCacheRecord.code, ClientAuthErrorMessage.invalidCacheRecord.desc);\r\n };\r\n /**\r\n * Throws error when provided environment is not part of the CloudDiscoveryMetadata object\r\n */\r\n ClientAuthError.createInvalidCacheEnvironmentError = function () {\r\n return new ClientAuthError(ClientAuthErrorMessage.invalidCacheEnvironment.code, ClientAuthErrorMessage.invalidCacheEnvironment.desc);\r\n };\r\n /**\r\n * Throws error when account is not found in cache.\r\n */\r\n ClientAuthError.createNoAccountFoundError = function () {\r\n return new ClientAuthError(ClientAuthErrorMessage.noAccountFound.code, ClientAuthErrorMessage.noAccountFound.desc);\r\n };\r\n /**\r\n * Throws error if ICachePlugin not set on CacheManager.\r\n */\r\n ClientAuthError.createCachePluginError = function () {\r\n return new ClientAuthError(ClientAuthErrorMessage.CachePluginError.code, \"\" + ClientAuthErrorMessage.CachePluginError.desc);\r\n };\r\n /**\r\n * Throws error if crypto object not found.\r\n * @param operationName\r\n */\r\n ClientAuthError.createNoCryptoObjectError = function (operationName) {\r\n return new ClientAuthError(ClientAuthErrorMessage.noCryptoObj.code, \"\" + ClientAuthErrorMessage.noCryptoObj.desc + operationName);\r\n };\r\n /**\r\n * Throws error if cache type is invalid.\r\n */\r\n ClientAuthError.createInvalidCacheTypeError = function () {\r\n return new ClientAuthError(ClientAuthErrorMessage.invalidCacheType.code, \"\" + ClientAuthErrorMessage.invalidCacheType.desc);\r\n };\r\n /**\r\n * Throws error if unexpected account type.\r\n */\r\n ClientAuthError.createUnexpectedAccountTypeError = function () {\r\n return new ClientAuthError(ClientAuthErrorMessage.unexpectedAccountType.code, \"\" + ClientAuthErrorMessage.unexpectedAccountType.desc);\r\n };\r\n /**\r\n * Throws error if unexpected credential type.\r\n */\r\n ClientAuthError.createUnexpectedCredentialTypeError = function () {\r\n return new ClientAuthError(ClientAuthErrorMessage.unexpectedCredentialType.code, \"\" + ClientAuthErrorMessage.unexpectedCredentialType.desc);\r\n };\r\n /**\r\n * Throws error if client assertion is not valid.\r\n */\r\n ClientAuthError.createInvalidAssertionError = function () {\r\n return new ClientAuthError(ClientAuthErrorMessage.invalidAssertion.code, \"\" + ClientAuthErrorMessage.invalidAssertion.desc);\r\n };\r\n /**\r\n * Throws error if client assertion is not valid.\r\n */\r\n ClientAuthError.createInvalidCredentialError = function () {\r\n return new ClientAuthError(ClientAuthErrorMessage.invalidClientCredential.code, \"\" + ClientAuthErrorMessage.invalidClientCredential.desc);\r\n };\r\n /**\r\n * Throws error if token cannot be retrieved from cache due to refresh being required.\r\n */\r\n ClientAuthError.createRefreshRequiredError = function () {\r\n return new ClientAuthError(ClientAuthErrorMessage.tokenRefreshRequired.code, ClientAuthErrorMessage.tokenRefreshRequired.desc);\r\n };\r\n /**\r\n * Throws error if the user defined timeout is reached.\r\n */\r\n ClientAuthError.createUserTimeoutReachedError = function () {\r\n return new ClientAuthError(ClientAuthErrorMessage.userTimeoutReached.code, ClientAuthErrorMessage.userTimeoutReached.desc);\r\n };\r\n /*\r\n * Throws error if token claims are not populated for a signed jwt generation\r\n */\r\n ClientAuthError.createTokenClaimsRequiredError = function () {\r\n return new ClientAuthError(ClientAuthErrorMessage.tokenClaimsRequired.code, ClientAuthErrorMessage.tokenClaimsRequired.desc);\r\n };\r\n /**\r\n * Throws error when the authorization code is missing from the server response\r\n */\r\n ClientAuthError.createNoAuthCodeInServerResponseError = function () {\r\n return new ClientAuthError(ClientAuthErrorMessage.noAuthorizationCodeFromServer.code, ClientAuthErrorMessage.noAuthorizationCodeFromServer.desc);\r\n };\r\n ClientAuthError.createBindingKeyNotRemovedError = function () {\r\n return new ClientAuthError(ClientAuthErrorMessage.bindingKeyNotRemovedError.code, ClientAuthErrorMessage.bindingKeyNotRemovedError.desc);\r\n };\r\n /**\r\n * Thrown when logout is attempted for an authority that doesnt have an end_session_endpoint\r\n */\r\n ClientAuthError.createLogoutNotSupportedError = function () {\r\n return new ClientAuthError(ClientAuthErrorMessage.logoutNotSupported.code, ClientAuthErrorMessage.logoutNotSupported.desc);\r\n };\r\n /**\r\n * Create an error when kid attribute is missing from a PoP token's cache record\r\n */\r\n ClientAuthError.createKeyIdMissingError = function () {\r\n return new ClientAuthError(ClientAuthErrorMessage.keyIdMissing.code, ClientAuthErrorMessage.keyIdMissing.desc);\r\n };\r\n return ClientAuthError;\r\n}(AuthError));\n\nexport { ClientAuthError, ClientAuthErrorMessage };\n","/*! @azure/msal-common v9.1.1 2023-01-19 */\n'use strict';\nimport { __extends } from '../_virtual/_tslib.js';\nimport { ClientAuthError } from './ClientAuthError.js';\n\n/*\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * Licensed under the MIT License.\r\n */\r\n/**\r\n * ClientConfigurationErrorMessage class containing string constants used by error codes and messages.\r\n */\r\nvar ClientConfigurationErrorMessage = {\r\n redirectUriNotSet: {\r\n code: \"redirect_uri_empty\",\r\n desc: \"A redirect URI is required for all calls, and none has been set.\"\r\n },\r\n postLogoutUriNotSet: {\r\n code: \"post_logout_uri_empty\",\r\n desc: \"A post logout redirect has not been set.\"\r\n },\r\n claimsRequestParsingError: {\r\n code: \"claims_request_parsing_error\",\r\n desc: \"Could not parse the given claims request object.\"\r\n },\r\n authorityUriInsecure: {\r\n code: \"authority_uri_insecure\",\r\n desc: \"Authority URIs must use https. Please see here for valid authority configuration options: https://docs.microsoft.com/en-us/azure/active-directory/develop/msal-js-initializing-client-applications#configuration-options\"\r\n },\r\n urlParseError: {\r\n code: \"url_parse_error\",\r\n desc: \"URL could not be parsed into appropriate segments.\"\r\n },\r\n urlEmptyError: {\r\n code: \"empty_url_error\",\r\n desc: \"URL was empty or null.\"\r\n },\r\n emptyScopesError: {\r\n code: \"empty_input_scopes_error\",\r\n desc: \"Scopes cannot be passed as null, undefined or empty array because they are required to obtain an access token.\"\r\n },\r\n nonArrayScopesError: {\r\n code: \"nonarray_input_scopes_error\",\r\n desc: \"Scopes cannot be passed as non-array.\"\r\n },\r\n clientIdSingleScopeError: {\r\n code: \"clientid_input_scopes_error\",\r\n desc: \"Client ID can only be provided as a single scope.\"\r\n },\r\n invalidPrompt: {\r\n code: \"invalid_prompt_value\",\r\n desc: \"Supported prompt values are 'login', 'select_account', 'consent', 'create', 'none' and 'no_session'. Please see here for valid configuration options: https://azuread.github.io/microsoft-authentication-library-for-js/ref/modules/_azure_msal_common.html#commonauthorizationurlrequest\",\r\n },\r\n invalidClaimsRequest: {\r\n code: \"invalid_claims\",\r\n desc: \"Given claims parameter must be a stringified JSON object.\"\r\n },\r\n tokenRequestEmptyError: {\r\n code: \"token_request_empty\",\r\n desc: \"Token request was empty and not found in cache.\"\r\n },\r\n logoutRequestEmptyError: {\r\n code: \"logout_request_empty\",\r\n desc: \"The logout request was null or undefined.\"\r\n },\r\n invalidCodeChallengeMethod: {\r\n code: \"invalid_code_challenge_method\",\r\n desc: \"code_challenge_method passed is invalid. Valid values are \\\"plain\\\" and \\\"S256\\\".\"\r\n },\r\n invalidCodeChallengeParams: {\r\n code: \"pkce_params_missing\",\r\n desc: \"Both params: code_challenge and code_challenge_method are to be passed if to be sent in the request\"\r\n },\r\n invalidCloudDiscoveryMetadata: {\r\n code: \"invalid_cloud_discovery_metadata\",\r\n desc: \"Invalid cloudDiscoveryMetadata provided. Must be a stringified JSON object containing tenant_discovery_endpoint and metadata fields\"\r\n },\r\n invalidAuthorityMetadata: {\r\n code: \"invalid_authority_metadata\",\r\n desc: \"Invalid authorityMetadata provided. Must by a stringified JSON object containing authorization_endpoint, token_endpoint, issuer fields.\"\r\n },\r\n untrustedAuthority: {\r\n code: \"untrusted_authority\",\r\n desc: \"The provided authority is not a trusted authority. Please include this authority in the knownAuthorities config parameter.\"\r\n },\r\n invalidAzureCloudInstance: {\r\n code: \"invalid_azure_cloud_instance\",\r\n desc: \"Invalid AzureCloudInstance provided. Please refer MSAL JS docs: aks.ms/msaljs/azure_cloud_instance for valid values\"\r\n },\r\n missingSshJwk: {\r\n code: \"missing_ssh_jwk\",\r\n desc: \"Missing sshJwk in SSH certificate request. A stringified JSON Web Key is required when using the SSH authentication scheme.\"\r\n },\r\n missingSshKid: {\r\n code: \"missing_ssh_kid\",\r\n desc: \"Missing sshKid in SSH certificate request. A string that uniquely identifies the public SSH key is required when using the SSH authentication scheme.\"\r\n },\r\n missingNonceAuthenticationHeader: {\r\n code: \"missing_nonce_authentication_header\",\r\n desc: \"Unable to find an authentication header containing server nonce. Either the Authentication-Info or WWW-Authenticate headers must be present in order to obtain a server nonce.\"\r\n },\r\n invalidAuthenticationHeader: {\r\n code: \"invalid_authentication_header\",\r\n desc: \"Invalid authentication header provided\"\r\n }\r\n};\r\n/**\r\n * Error thrown when there is an error in configuration of the MSAL.js library.\r\n */\r\nvar ClientConfigurationError = /** @class */ (function (_super) {\r\n __extends(ClientConfigurationError, _super);\r\n function ClientConfigurationError(errorCode, errorMessage) {\r\n var _this = _super.call(this, errorCode, errorMessage) || this;\r\n _this.name = \"ClientConfigurationError\";\r\n Object.setPrototypeOf(_this, ClientConfigurationError.prototype);\r\n return _this;\r\n }\r\n /**\r\n * Creates an error thrown when the redirect uri is empty (not set by caller)\r\n */\r\n ClientConfigurationError.createRedirectUriEmptyError = function () {\r\n return new ClientConfigurationError(ClientConfigurationErrorMessage.redirectUriNotSet.code, ClientConfigurationErrorMessage.redirectUriNotSet.desc);\r\n };\r\n /**\r\n * Creates an error thrown when the post-logout redirect uri is empty (not set by caller)\r\n */\r\n ClientConfigurationError.createPostLogoutRedirectUriEmptyError = function () {\r\n return new ClientConfigurationError(ClientConfigurationErrorMessage.postLogoutUriNotSet.code, ClientConfigurationErrorMessage.postLogoutUriNotSet.desc);\r\n };\r\n /**\r\n * Creates an error thrown when the claims request could not be successfully parsed\r\n */\r\n ClientConfigurationError.createClaimsRequestParsingError = function (claimsRequestParseError) {\r\n return new ClientConfigurationError(ClientConfigurationErrorMessage.claimsRequestParsingError.code, ClientConfigurationErrorMessage.claimsRequestParsingError.desc + \" Given value: \" + claimsRequestParseError);\r\n };\r\n /**\r\n * Creates an error thrown if authority uri is given an insecure protocol.\r\n * @param urlString\r\n */\r\n ClientConfigurationError.createInsecureAuthorityUriError = function (urlString) {\r\n return new ClientConfigurationError(ClientConfigurationErrorMessage.authorityUriInsecure.code, ClientConfigurationErrorMessage.authorityUriInsecure.desc + \" Given URI: \" + urlString);\r\n };\r\n /**\r\n * Creates an error thrown if URL string does not parse into separate segments.\r\n * @param urlString\r\n */\r\n ClientConfigurationError.createUrlParseError = function (urlParseError) {\r\n return new ClientConfigurationError(ClientConfigurationErrorMessage.urlParseError.code, ClientConfigurationErrorMessage.urlParseError.desc + \" Given Error: \" + urlParseError);\r\n };\r\n /**\r\n * Creates an error thrown if URL string is empty or null.\r\n * @param urlString\r\n */\r\n ClientConfigurationError.createUrlEmptyError = function () {\r\n return new ClientConfigurationError(ClientConfigurationErrorMessage.urlEmptyError.code, ClientConfigurationErrorMessage.urlEmptyError.desc);\r\n };\r\n /**\r\n * Error thrown when scopes are empty.\r\n * @param scopesValue\r\n */\r\n ClientConfigurationError.createEmptyScopesArrayError = function () {\r\n return new ClientConfigurationError(ClientConfigurationErrorMessage.emptyScopesError.code, \"\" + ClientConfigurationErrorMessage.emptyScopesError.desc);\r\n };\r\n /**\r\n * Error thrown when client id scope is not provided as single scope.\r\n * @param inputScopes\r\n */\r\n ClientConfigurationError.createClientIdSingleScopeError = function (inputScopes) {\r\n return new ClientConfigurationError(ClientConfigurationErrorMessage.clientIdSingleScopeError.code, ClientConfigurationErrorMessage.clientIdSingleScopeError.desc + \" Given Scopes: \" + inputScopes);\r\n };\r\n /**\r\n * Error thrown when prompt is not an allowed type.\r\n * @param promptValue\r\n */\r\n ClientConfigurationError.createInvalidPromptError = function (promptValue) {\r\n return new ClientConfigurationError(ClientConfigurationErrorMessage.invalidPrompt.code, ClientConfigurationErrorMessage.invalidPrompt.desc + \" Given value: \" + promptValue);\r\n };\r\n /**\r\n * Creates error thrown when claims parameter is not a stringified JSON object\r\n */\r\n ClientConfigurationError.createInvalidClaimsRequestError = function () {\r\n return new ClientConfigurationError(ClientConfigurationErrorMessage.invalidClaimsRequest.code, ClientConfigurationErrorMessage.invalidClaimsRequest.desc);\r\n };\r\n /**\r\n * Throws error when token request is empty and nothing cached in storage.\r\n */\r\n ClientConfigurationError.createEmptyLogoutRequestError = function () {\r\n return new ClientConfigurationError(ClientConfigurationErrorMessage.logoutRequestEmptyError.code, ClientConfigurationErrorMessage.logoutRequestEmptyError.desc);\r\n };\r\n /**\r\n * Throws error when token request is empty and nothing cached in storage.\r\n */\r\n ClientConfigurationError.createEmptyTokenRequestError = function () {\r\n return new ClientConfigurationError(ClientConfigurationErrorMessage.tokenRequestEmptyError.code, ClientConfigurationErrorMessage.tokenRequestEmptyError.desc);\r\n };\r\n /**\r\n * Throws error when an invalid code_challenge_method is passed by the user\r\n */\r\n ClientConfigurationError.createInvalidCodeChallengeMethodError = function () {\r\n return new ClientConfigurationError(ClientConfigurationErrorMessage.invalidCodeChallengeMethod.code, ClientConfigurationErrorMessage.invalidCodeChallengeMethod.desc);\r\n };\r\n /**\r\n * Throws error when both params: code_challenge and code_challenge_method are not passed together\r\n */\r\n ClientConfigurationError.createInvalidCodeChallengeParamsError = function () {\r\n return new ClientConfigurationError(ClientConfigurationErrorMessage.invalidCodeChallengeParams.code, ClientConfigurationErrorMessage.invalidCodeChallengeParams.desc);\r\n };\r\n /**\r\n * Throws an error when the user passes invalid cloudDiscoveryMetadata\r\n */\r\n ClientConfigurationError.createInvalidCloudDiscoveryMetadataError = function () {\r\n return new ClientConfigurationError(ClientConfigurationErrorMessage.invalidCloudDiscoveryMetadata.code, ClientConfigurationErrorMessage.invalidCloudDiscoveryMetadata.desc);\r\n };\r\n /**\r\n * Throws an error when the user passes invalid cloudDiscoveryMetadata\r\n */\r\n ClientConfigurationError.createInvalidAuthorityMetadataError = function () {\r\n return new ClientConfigurationError(ClientConfigurationErrorMessage.invalidAuthorityMetadata.code, ClientConfigurationErrorMessage.invalidAuthorityMetadata.desc);\r\n };\r\n /**\r\n * Throws error when provided authority is not a member of the trusted host list\r\n */\r\n ClientConfigurationError.createUntrustedAuthorityError = function () {\r\n return new ClientConfigurationError(ClientConfigurationErrorMessage.untrustedAuthority.code, ClientConfigurationErrorMessage.untrustedAuthority.desc);\r\n };\r\n /**\r\n * Throws error when the AzureCloudInstance is set to an invalid value\r\n */\r\n ClientConfigurationError.createInvalidAzureCloudInstanceError = function () {\r\n return new ClientConfigurationError(ClientConfigurationErrorMessage.invalidAzureCloudInstance.code, ClientConfigurationErrorMessage.invalidAzureCloudInstance.desc);\r\n };\r\n /**\r\n * Throws an error when the authentication scheme is set to SSH but the SSH public key is omitted from the request\r\n */\r\n ClientConfigurationError.createMissingSshJwkError = function () {\r\n return new ClientConfigurationError(ClientConfigurationErrorMessage.missingSshJwk.code, ClientConfigurationErrorMessage.missingSshJwk.desc);\r\n };\r\n /**\r\n * Throws an error when the authentication scheme is set to SSH but the SSH public key ID is omitted from the request\r\n */\r\n ClientConfigurationError.createMissingSshKidError = function () {\r\n return new ClientConfigurationError(ClientConfigurationErrorMessage.missingSshKid.code, ClientConfigurationErrorMessage.missingSshKid.desc);\r\n };\r\n /**\r\n * Throws error when provided headers don't contain a header that a server nonce can be extracted from\r\n */\r\n ClientConfigurationError.createMissingNonceAuthenticationHeadersError = function () {\r\n return new ClientConfigurationError(ClientConfigurationErrorMessage.missingNonceAuthenticationHeader.code, ClientConfigurationErrorMessage.missingNonceAuthenticationHeader.desc);\r\n };\r\n /**\r\n * Throws error when a provided header is invalid in any way\r\n */\r\n ClientConfigurationError.createInvalidAuthenticationHeaderError = function (invalidHeaderName, details) {\r\n return new ClientConfigurationError(ClientConfigurationErrorMessage.invalidAuthenticationHeader.code, ClientConfigurationErrorMessage.invalidAuthenticationHeader.desc + \". Invalid header: \" + invalidHeaderName + \". Details: \" + details);\r\n };\r\n return ClientConfigurationError;\r\n}(ClientAuthError));\n\nexport { ClientConfigurationError, ClientConfigurationErrorMessage };\n","/*! @azure/msal-common v9.1.1 2023-01-19 */\n'use strict';\nimport { __extends } from '../_virtual/_tslib.js';\nimport { AuthError } from './AuthError.js';\n\n/*\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * Licensed under the MIT License.\r\n */\r\n/**\r\n * InteractionRequiredServerErrorMessage contains string constants used by error codes and messages returned by the server indicating interaction is required\r\n */\r\nvar InteractionRequiredServerErrorMessage = [\r\n \"interaction_required\",\r\n \"consent_required\",\r\n \"login_required\"\r\n];\r\nvar InteractionRequiredAuthSubErrorMessage = [\r\n \"message_only\",\r\n \"additional_action\",\r\n \"basic_action\",\r\n \"user_password_expired\",\r\n \"consent_required\"\r\n];\r\n/**\r\n * Interaction required errors defined by the SDK\r\n */\r\nvar InteractionRequiredAuthErrorMessage = {\r\n noTokensFoundError: {\r\n code: \"no_tokens_found\",\r\n desc: \"No refresh token found in the cache. Please sign-in.\"\r\n },\r\n native_account_unavailable: {\r\n code: \"native_account_unavailable\",\r\n desc: \"The requested account is not available in the native broker. It may have been deleted or logged out. Please sign-in again using an interactive API.\"\r\n }\r\n};\r\n/**\r\n * Error thrown when user interaction is required.\r\n */\r\nvar InteractionRequiredAuthError = /** @class */ (function (_super) {\r\n __extends(InteractionRequiredAuthError, _super);\r\n function InteractionRequiredAuthError(errorCode, errorMessage, subError) {\r\n var _this = _super.call(this, errorCode, errorMessage, subError) || this;\r\n _this.name = \"InteractionRequiredAuthError\";\r\n Object.setPrototypeOf(_this, InteractionRequiredAuthError.prototype);\r\n return _this;\r\n }\r\n /**\r\n * Helper function used to determine if an error thrown by the server requires interaction to resolve\r\n * @param errorCode\r\n * @param errorString\r\n * @param subError\r\n */\r\n InteractionRequiredAuthError.isInteractionRequiredError = function (errorCode, errorString, subError) {\r\n var isInteractionRequiredErrorCode = !!errorCode && InteractionRequiredServerErrorMessage.indexOf(errorCode) > -1;\r\n var isInteractionRequiredSubError = !!subError && InteractionRequiredAuthSubErrorMessage.indexOf(subError) > -1;\r\n var isInteractionRequiredErrorDesc = !!errorString && InteractionRequiredServerErrorMessage.some(function (irErrorCode) {\r\n return errorString.indexOf(irErrorCode) > -1;\r\n });\r\n return isInteractionRequiredErrorCode || isInteractionRequiredErrorDesc || isInteractionRequiredSubError;\r\n };\r\n /**\r\n * Creates an error thrown when the authorization code required for a token request is null or empty.\r\n */\r\n InteractionRequiredAuthError.createNoTokensFoundError = function () {\r\n return new InteractionRequiredAuthError(InteractionRequiredAuthErrorMessage.noTokensFoundError.code, InteractionRequiredAuthErrorMessage.noTokensFoundError.desc);\r\n };\r\n /**\r\n * Creates an error thrown when the native broker returns ACCOUNT_UNAVAILABLE status, indicating that the account was removed and interactive sign-in is required\r\n * @returns\r\n */\r\n InteractionRequiredAuthError.createNativeAccountUnavailableError = function () {\r\n return new InteractionRequiredAuthError(InteractionRequiredAuthErrorMessage.native_account_unavailable.code, InteractionRequiredAuthErrorMessage.native_account_unavailable.desc);\r\n };\r\n return InteractionRequiredAuthError;\r\n}(AuthError));\n\nexport { InteractionRequiredAuthError, InteractionRequiredAuthErrorMessage, InteractionRequiredAuthSubErrorMessage, InteractionRequiredServerErrorMessage };\n","/*! @azure/msal-common v9.1.1 2023-01-19 */\n'use strict';\nimport { __extends } from '../_virtual/_tslib.js';\nimport { AuthError } from './AuthError.js';\n\n/*\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * Licensed under the MIT License.\r\n */\r\n/**\r\n * ClientAuthErrorMessage class containing string constants used by error codes and messages.\r\n */\r\nvar JoseHeaderErrorMessage = {\r\n missingKidError: {\r\n code: \"missing_kid_error\",\r\n desc: \"The JOSE Header for the requested JWT, JWS or JWK object requires a keyId to be configured as the 'kid' header claim. No 'kid' value was provided.\"\r\n },\r\n missingAlgError: {\r\n code: \"missing_alg_error\",\r\n desc: \"The JOSE Header for the requested JWT, JWS or JWK object requires an algorithm to be specified as the 'alg' header claim. No 'alg' value was provided.\"\r\n },\r\n};\r\n/**\r\n * Error thrown when there is an error in the client code running on the browser.\r\n */\r\nvar JoseHeaderError = /** @class */ (function (_super) {\r\n __extends(JoseHeaderError, _super);\r\n function JoseHeaderError(errorCode, errorMessage) {\r\n var _this = _super.call(this, errorCode, errorMessage) || this;\r\n _this.name = \"JoseHeaderError\";\r\n Object.setPrototypeOf(_this, JoseHeaderError.prototype);\r\n return _this;\r\n }\r\n /**\r\n * Creates an error thrown when keyId isn't set on JOSE header.\r\n */\r\n JoseHeaderError.createMissingKidError = function () {\r\n return new JoseHeaderError(JoseHeaderErrorMessage.missingKidError.code, JoseHeaderErrorMessage.missingKidError.desc);\r\n };\r\n /**\r\n * Creates an error thrown when algorithm isn't set on JOSE header.\r\n */\r\n JoseHeaderError.createMissingAlgError = function () {\r\n return new JoseHeaderError(JoseHeaderErrorMessage.missingAlgError.code, JoseHeaderErrorMessage.missingAlgError.desc);\r\n };\r\n return JoseHeaderError;\r\n}(AuthError));\n\nexport { JoseHeaderError, JoseHeaderErrorMessage };\n","/*! @azure/msal-common v9.1.1 2023-01-19 */\n'use strict';\nimport { __extends } from '../_virtual/_tslib.js';\nimport { AuthError } from './AuthError.js';\n\n/*\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * Licensed under the MIT License.\r\n */\r\n/**\r\n * Error thrown when there is an error with the server code, for example, unavailability.\r\n */\r\nvar ServerError = /** @class */ (function (_super) {\r\n __extends(ServerError, _super);\r\n function ServerError(errorCode, errorMessage, subError) {\r\n var _this = _super.call(this, errorCode, errorMessage, subError) || this;\r\n _this.name = \"ServerError\";\r\n Object.setPrototypeOf(_this, ServerError.prototype);\r\n return _this;\r\n }\r\n return ServerError;\r\n}(AuthError));\n\nexport { ServerError };\n","/*! @azure/msal-common v9.1.1 2023-01-19 */\n'use strict';\nimport { StringUtils } from '../utils/StringUtils.js';\nimport { Constants } from '../utils/Constants.js';\n\n/*\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * Licensed under the MIT License.\r\n */\r\n/**\r\n * Log message level.\r\n */\r\nvar LogLevel;\r\n(function (LogLevel) {\r\n LogLevel[LogLevel[\"Error\"] = 0] = \"Error\";\r\n LogLevel[LogLevel[\"Warning\"] = 1] = \"Warning\";\r\n LogLevel[LogLevel[\"Info\"] = 2] = \"Info\";\r\n LogLevel[LogLevel[\"Verbose\"] = 3] = \"Verbose\";\r\n LogLevel[LogLevel[\"Trace\"] = 4] = \"Trace\";\r\n})(LogLevel || (LogLevel = {}));\r\n/**\r\n * Class which facilitates logging of messages to a specific place.\r\n */\r\nvar Logger = /** @class */ (function () {\r\n function Logger(loggerOptions, packageName, packageVersion) {\r\n // Current log level, defaults to info.\r\n this.level = LogLevel.Info;\r\n var defaultLoggerCallback = function () {\r\n return;\r\n };\r\n var setLoggerOptions = loggerOptions || Logger.createDefaultLoggerOptions();\r\n this.localCallback = setLoggerOptions.loggerCallback || defaultLoggerCallback;\r\n this.piiLoggingEnabled = setLoggerOptions.piiLoggingEnabled || false;\r\n this.level = typeof (setLoggerOptions.logLevel) === \"number\" ? setLoggerOptions.logLevel : LogLevel.Info;\r\n this.correlationId = setLoggerOptions.correlationId || Constants.EMPTY_STRING;\r\n this.packageName = packageName || Constants.EMPTY_STRING;\r\n this.packageVersion = packageVersion || Constants.EMPTY_STRING;\r\n }\r\n Logger.createDefaultLoggerOptions = function () {\r\n return {\r\n loggerCallback: function () {\r\n // allow users to not set loggerCallback\r\n },\r\n piiLoggingEnabled: false,\r\n logLevel: LogLevel.Info\r\n };\r\n };\r\n /**\r\n * Create new Logger with existing configurations.\r\n */\r\n Logger.prototype.clone = function (packageName, packageVersion, correlationId) {\r\n return new Logger({ loggerCallback: this.localCallback, piiLoggingEnabled: this.piiLoggingEnabled, logLevel: this.level, correlationId: correlationId || this.correlationId }, packageName, packageVersion);\r\n };\r\n /**\r\n * Log message with required options.\r\n */\r\n Logger.prototype.logMessage = function (logMessage, options) {\r\n if ((options.logLevel > this.level) || (!this.piiLoggingEnabled && options.containsPii)) {\r\n return;\r\n }\r\n var timestamp = new Date().toUTCString();\r\n // Add correlationId to logs if set, correlationId provided on log messages take precedence\r\n var logHeader;\r\n if (!StringUtils.isEmpty(options.correlationId)) {\r\n logHeader = \"[\" + timestamp + \"] : [\" + options.correlationId + \"]\";\r\n }\r\n else if (!StringUtils.isEmpty(this.correlationId)) {\r\n logHeader = \"[\" + timestamp + \"] : [\" + this.correlationId + \"]\";\r\n }\r\n else {\r\n logHeader = \"[\" + timestamp + \"]\";\r\n }\r\n var log = logHeader + \" : \" + this.packageName + \"@\" + this.packageVersion + \" : \" + LogLevel[options.logLevel] + \" - \" + logMessage;\r\n // debug(`msal:${LogLevel[options.logLevel]}${options.containsPii ? \"-Pii\": Constants.EMPTY_STRING}${options.context ? `:${options.context}` : Constants.EMPTY_STRING}`)(logMessage);\r\n this.executeCallback(options.logLevel, log, options.containsPii || false);\r\n };\r\n /**\r\n * Execute callback with message.\r\n */\r\n Logger.prototype.executeCallback = function (level, message, containsPii) {\r\n if (this.localCallback) {\r\n this.localCallback(level, message, containsPii);\r\n }\r\n };\r\n /**\r\n * Logs error messages.\r\n */\r\n Logger.prototype.error = function (message, correlationId) {\r\n this.logMessage(message, {\r\n logLevel: LogLevel.Error,\r\n containsPii: false,\r\n correlationId: correlationId || Constants.EMPTY_STRING\r\n });\r\n };\r\n /**\r\n * Logs error messages with PII.\r\n */\r\n Logger.prototype.errorPii = function (message, correlationId) {\r\n this.logMessage(message, {\r\n logLevel: LogLevel.Error,\r\n containsPii: true,\r\n correlationId: correlationId || Constants.EMPTY_STRING\r\n });\r\n };\r\n /**\r\n * Logs warning messages.\r\n */\r\n Logger.prototype.warning = function (message, correlationId) {\r\n this.logMessage(message, {\r\n logLevel: LogLevel.Warning,\r\n containsPii: false,\r\n correlationId: correlationId || Constants.EMPTY_STRING\r\n });\r\n };\r\n /**\r\n * Logs warning messages with PII.\r\n */\r\n Logger.prototype.warningPii = function (message, correlationId) {\r\n this.logMessage(message, {\r\n logLevel: LogLevel.Warning,\r\n containsPii: true,\r\n correlationId: correlationId || Constants.EMPTY_STRING\r\n });\r\n };\r\n /**\r\n * Logs info messages.\r\n */\r\n Logger.prototype.info = function (message, correlationId) {\r\n this.logMessage(message, {\r\n logLevel: LogLevel.Info,\r\n containsPii: false,\r\n correlationId: correlationId || Constants.EMPTY_STRING\r\n });\r\n };\r\n /**\r\n * Logs info messages with PII.\r\n */\r\n Logger.prototype.infoPii = function (message, correlationId) {\r\n this.logMessage(message, {\r\n logLevel: LogLevel.Info,\r\n containsPii: true,\r\n correlationId: correlationId || Constants.EMPTY_STRING\r\n });\r\n };\r\n /**\r\n * Logs verbose messages.\r\n */\r\n Logger.prototype.verbose = function (message, correlationId) {\r\n this.logMessage(message, {\r\n logLevel: LogLevel.Verbose,\r\n containsPii: false,\r\n correlationId: correlationId || Constants.EMPTY_STRING\r\n });\r\n };\r\n /**\r\n * Logs verbose messages with PII.\r\n */\r\n Logger.prototype.verbosePii = function (message, correlationId) {\r\n this.logMessage(message, {\r\n logLevel: LogLevel.Verbose,\r\n containsPii: true,\r\n correlationId: correlationId || Constants.EMPTY_STRING\r\n });\r\n };\r\n /**\r\n * Logs trace messages.\r\n */\r\n Logger.prototype.trace = function (message, correlationId) {\r\n this.logMessage(message, {\r\n logLevel: LogLevel.Trace,\r\n containsPii: false,\r\n correlationId: correlationId || Constants.EMPTY_STRING\r\n });\r\n };\r\n /**\r\n * Logs trace messages with PII.\r\n */\r\n Logger.prototype.tracePii = function (message, correlationId) {\r\n this.logMessage(message, {\r\n logLevel: LogLevel.Trace,\r\n containsPii: true,\r\n correlationId: correlationId || Constants.EMPTY_STRING\r\n });\r\n };\r\n /**\r\n * Returns whether PII Logging is enabled or not.\r\n */\r\n Logger.prototype.isPiiLoggingEnabled = function () {\r\n return this.piiLoggingEnabled || false;\r\n };\r\n return Logger;\r\n}());\n\nexport { LogLevel, Logger };\n","/*! @azure/msal-common v9.1.1 2023-01-19 */\n'use strict';\nimport { AuthError } from '../error/AuthError.js';\n\n/*\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * Licensed under the MIT License.\r\n */\r\nvar StubbedNetworkModule = {\r\n sendGetRequestAsync: function () {\r\n var notImplErr = \"Network interface - sendGetRequestAsync() has not been implemented for the Network interface.\";\r\n return Promise.reject(AuthError.createUnexpectedError(notImplErr));\r\n },\r\n sendPostRequestAsync: function () {\r\n var notImplErr = \"Network interface - sendPostRequestAsync() has not been implemented for the Network interface.\";\r\n return Promise.reject(AuthError.createUnexpectedError(notImplErr));\r\n }\r\n};\n\nexport { StubbedNetworkModule };\n","/*! @azure/msal-common v9.1.1 2023-01-19 */\n'use strict';\nimport { __awaiter, __generator } from '../_virtual/_tslib.js';\nimport { ThrottlingUtils } from './ThrottlingUtils.js';\nimport { AuthError } from '../error/AuthError.js';\nimport { ClientAuthError } from '../error/ClientAuthError.js';\n\n/*\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * Licensed under the MIT License.\r\n */\r\nvar NetworkManager = /** @class */ (function () {\r\n function NetworkManager(networkClient, cacheManager) {\r\n this.networkClient = networkClient;\r\n this.cacheManager = cacheManager;\r\n }\r\n /**\r\n * Wraps sendPostRequestAsync with necessary preflight and postflight logic\r\n * @param thumbprint\r\n * @param tokenEndpoint\r\n * @param options\r\n */\r\n NetworkManager.prototype.sendPostRequest = function (thumbprint, tokenEndpoint, options) {\r\n return __awaiter(this, void 0, void 0, function () {\r\n var response, e_1;\r\n return __generator(this, function (_a) {\r\n switch (_a.label) {\r\n case 0:\r\n ThrottlingUtils.preProcess(this.cacheManager, thumbprint);\r\n _a.label = 1;\r\n case 1:\r\n _a.trys.push([1, 3, , 4]);\r\n return [4 /*yield*/, this.networkClient.sendPostRequestAsync(tokenEndpoint, options)];\r\n case 2:\r\n response = _a.sent();\r\n return [3 /*break*/, 4];\r\n case 3:\r\n e_1 = _a.sent();\r\n if (e_1 instanceof AuthError) {\r\n throw e_1;\r\n }\r\n else {\r\n throw ClientAuthError.createNetworkError(tokenEndpoint, e_1);\r\n }\r\n case 4:\r\n ThrottlingUtils.postProcess(this.cacheManager, thumbprint, response);\r\n return [2 /*return*/, response];\r\n }\r\n });\r\n });\r\n };\r\n return NetworkManager;\r\n}());\n\nexport { NetworkManager };\n","/*! @azure/msal-common v9.1.1 2023-01-19 */\n'use strict';\nimport { ThrottlingConstants, CacheSchemaType, Constants, HeaderNames } from '../utils/Constants.js';\nimport { ServerError } from '../error/ServerError.js';\n\n/*\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * Licensed under the MIT License.\r\n */\r\nvar ThrottlingUtils = /** @class */ (function () {\r\n function ThrottlingUtils() {\r\n }\r\n /**\r\n * Prepares a RequestThumbprint to be stored as a key.\r\n * @param thumbprint\r\n */\r\n ThrottlingUtils.generateThrottlingStorageKey = function (thumbprint) {\r\n return ThrottlingConstants.THROTTLING_PREFIX + \".\" + JSON.stringify(thumbprint);\r\n };\r\n /**\r\n * Performs necessary throttling checks before a network request.\r\n * @param cacheManager\r\n * @param thumbprint\r\n */\r\n ThrottlingUtils.preProcess = function (cacheManager, thumbprint) {\r\n var _a;\r\n var key = ThrottlingUtils.generateThrottlingStorageKey(thumbprint);\r\n var value = cacheManager.getThrottlingCache(key);\r\n if (value) {\r\n if (value.throttleTime < Date.now()) {\r\n cacheManager.removeItem(key, CacheSchemaType.THROTTLING);\r\n return;\r\n }\r\n throw new ServerError(((_a = value.errorCodes) === null || _a === void 0 ? void 0 : _a.join(\" \")) || Constants.EMPTY_STRING, value.errorMessage, value.subError);\r\n }\r\n };\r\n /**\r\n * Performs necessary throttling checks after a network request.\r\n * @param cacheManager\r\n * @param thumbprint\r\n * @param response\r\n */\r\n ThrottlingUtils.postProcess = function (cacheManager, thumbprint, response) {\r\n if (ThrottlingUtils.checkResponseStatus(response) || ThrottlingUtils.checkResponseForRetryAfter(response)) {\r\n var thumbprintValue = {\r\n throttleTime: ThrottlingUtils.calculateThrottleTime(parseInt(response.headers[HeaderNames.RETRY_AFTER])),\r\n error: response.body.error,\r\n errorCodes: response.body.error_codes,\r\n errorMessage: response.body.error_description,\r\n subError: response.body.suberror\r\n };\r\n cacheManager.setThrottlingCache(ThrottlingUtils.generateThrottlingStorageKey(thumbprint), thumbprintValue);\r\n }\r\n };\r\n /**\r\n * Checks a NetworkResponse object's status codes against 429 or 5xx\r\n * @param response\r\n */\r\n ThrottlingUtils.checkResponseStatus = function (response) {\r\n return response.status === 429 || response.status >= 500 && response.status < 600;\r\n };\r\n /**\r\n * Checks a NetworkResponse object's RetryAfter header\r\n * @param response\r\n */\r\n ThrottlingUtils.checkResponseForRetryAfter = function (response) {\r\n if (response.headers) {\r\n return response.headers.hasOwnProperty(HeaderNames.RETRY_AFTER) && (response.status < 200 || response.status >= 300);\r\n }\r\n return false;\r\n };\r\n /**\r\n * Calculates the Unix-time value for a throttle to expire given throttleTime in seconds.\r\n * @param throttleTime\r\n */\r\n ThrottlingUtils.calculateThrottleTime = function (throttleTime) {\r\n var time = throttleTime <= 0 ? 0 : throttleTime;\r\n var currentSeconds = Date.now() / 1000;\r\n return Math.floor(Math.min(currentSeconds + (time || ThrottlingConstants.DEFAULT_THROTTLE_TIME_SECONDS), currentSeconds + ThrottlingConstants.DEFAULT_MAX_THROTTLE_TIME_SECONDS) * 1000);\r\n };\r\n ThrottlingUtils.removeThrottle = function (cacheManager, clientId, request, homeAccountIdentifier) {\r\n var thumbprint = {\r\n clientId: clientId,\r\n authority: request.authority,\r\n scopes: request.scopes,\r\n homeAccountIdentifier: homeAccountIdentifier,\r\n claims: request.claims,\r\n authenticationScheme: request.authenticationScheme,\r\n resourceRequestMethod: request.resourceRequestMethod,\r\n resourceRequestUri: request.resourceRequestUri,\r\n shrClaims: request.shrClaims,\r\n sshKid: request.sshKid\r\n };\r\n var key = this.generateThrottlingStorageKey(thumbprint);\r\n return cacheManager.removeItem(key, CacheSchemaType.THROTTLING);\r\n };\r\n return ThrottlingUtils;\r\n}());\n\nexport { ThrottlingUtils };\n","/*! @azure/msal-common v9.1.1 2023-01-19 */\n'use strict';\n/* eslint-disable header/header */\r\nvar name = \"@azure/msal-common\";\r\nvar version = \"9.1.1\";\n\nexport { name, version };\n","/*! @azure/msal-common v9.1.1 2023-01-19 */\n'use strict';\nimport { __spreadArrays } from '../_virtual/_tslib.js';\nimport { AADServerParamKeys, Constants, ResponseMode, OIDC_DEFAULT_SCOPES, SSOTypes, HeaderNames, CLIENT_INFO, ClaimsRequestKeys, PasswordGrantConstants, AuthenticationScheme, ThrottlingConstants } from '../utils/Constants.js';\nimport { ScopeSet } from './ScopeSet.js';\nimport { ClientConfigurationError } from '../error/ClientConfigurationError.js';\nimport { RequestValidator } from './RequestValidator.js';\nimport { StringUtils } from '../utils/StringUtils.js';\n\n/*\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * Licensed under the MIT License.\r\n */\r\nvar RequestParameterBuilder = /** @class */ (function () {\r\n function RequestParameterBuilder() {\r\n this.parameters = new Map();\r\n }\r\n /**\r\n * add response_type = code\r\n */\r\n RequestParameterBuilder.prototype.addResponseTypeCode = function () {\r\n this.parameters.set(AADServerParamKeys.RESPONSE_TYPE, encodeURIComponent(Constants.CODE_RESPONSE_TYPE));\r\n };\r\n /**\r\n * add response_type = token id_token\r\n */\r\n RequestParameterBuilder.prototype.addResponseTypeForTokenAndIdToken = function () {\r\n this.parameters.set(AADServerParamKeys.RESPONSE_TYPE, encodeURIComponent(Constants.TOKEN_RESPONSE_TYPE + \" \" + Constants.ID_TOKEN_RESPONSE_TYPE));\r\n };\r\n /**\r\n * add response_mode. defaults to query.\r\n * @param responseMode\r\n */\r\n RequestParameterBuilder.prototype.addResponseMode = function (responseMode) {\r\n this.parameters.set(AADServerParamKeys.RESPONSE_MODE, encodeURIComponent((responseMode) ? responseMode : ResponseMode.QUERY));\r\n };\r\n /**\r\n * Add flag to indicate STS should attempt to use WAM if available\r\n */\r\n RequestParameterBuilder.prototype.addNativeBroker = function () {\r\n this.parameters.set(AADServerParamKeys.NATIVE_BROKER, encodeURIComponent(\"1\"));\r\n };\r\n /**\r\n * add scopes. set addOidcScopes to false to prevent default scopes in non-user scenarios\r\n * @param scopeSet\r\n * @param addOidcScopes\r\n */\r\n RequestParameterBuilder.prototype.addScopes = function (scopes, addOidcScopes) {\r\n if (addOidcScopes === void 0) { addOidcScopes = true; }\r\n var requestScopes = addOidcScopes ? __spreadArrays(scopes || [], OIDC_DEFAULT_SCOPES) : scopes || [];\r\n var scopeSet = new ScopeSet(requestScopes);\r\n this.parameters.set(AADServerParamKeys.SCOPE, encodeURIComponent(scopeSet.printScopes()));\r\n };\r\n /**\r\n * add clientId\r\n * @param clientId\r\n */\r\n RequestParameterBuilder.prototype.addClientId = function (clientId) {\r\n this.parameters.set(AADServerParamKeys.CLIENT_ID, encodeURIComponent(clientId));\r\n };\r\n /**\r\n * add redirect_uri\r\n * @param redirectUri\r\n */\r\n RequestParameterBuilder.prototype.addRedirectUri = function (redirectUri) {\r\n RequestValidator.validateRedirectUri(redirectUri);\r\n this.parameters.set(AADServerParamKeys.REDIRECT_URI, encodeURIComponent(redirectUri));\r\n };\r\n /**\r\n * add post logout redirectUri\r\n * @param redirectUri\r\n */\r\n RequestParameterBuilder.prototype.addPostLogoutRedirectUri = function (redirectUri) {\r\n RequestValidator.validateRedirectUri(redirectUri);\r\n this.parameters.set(AADServerParamKeys.POST_LOGOUT_URI, encodeURIComponent(redirectUri));\r\n };\r\n /**\r\n * add id_token_hint to logout request\r\n * @param idTokenHint\r\n */\r\n RequestParameterBuilder.prototype.addIdTokenHint = function (idTokenHint) {\r\n this.parameters.set(AADServerParamKeys.ID_TOKEN_HINT, encodeURIComponent(idTokenHint));\r\n };\r\n /**\r\n * add domain_hint\r\n * @param domainHint\r\n */\r\n RequestParameterBuilder.prototype.addDomainHint = function (domainHint) {\r\n this.parameters.set(SSOTypes.DOMAIN_HINT, encodeURIComponent(domainHint));\r\n };\r\n /**\r\n * add login_hint\r\n * @param loginHint\r\n */\r\n RequestParameterBuilder.prototype.addLoginHint = function (loginHint) {\r\n this.parameters.set(SSOTypes.LOGIN_HINT, encodeURIComponent(loginHint));\r\n };\r\n /**\r\n * Adds the CCS (Cache Credential Service) query parameter for login_hint\r\n * @param loginHint\r\n */\r\n RequestParameterBuilder.prototype.addCcsUpn = function (loginHint) {\r\n this.parameters.set(HeaderNames.CCS_HEADER, encodeURIComponent(\"UPN:\" + loginHint));\r\n };\r\n /**\r\n * Adds the CCS (Cache Credential Service) query parameter for account object\r\n * @param loginHint\r\n */\r\n RequestParameterBuilder.prototype.addCcsOid = function (clientInfo) {\r\n this.parameters.set(HeaderNames.CCS_HEADER, encodeURIComponent(\"Oid:\" + clientInfo.uid + \"@\" + clientInfo.utid));\r\n };\r\n /**\r\n * add sid\r\n * @param sid\r\n */\r\n RequestParameterBuilder.prototype.addSid = function (sid) {\r\n this.parameters.set(SSOTypes.SID, encodeURIComponent(sid));\r\n };\r\n /**\r\n * add claims\r\n * @param claims\r\n */\r\n RequestParameterBuilder.prototype.addClaims = function (claims, clientCapabilities) {\r\n var mergedClaims = this.addClientCapabilitiesToClaims(claims, clientCapabilities);\r\n RequestValidator.validateClaims(mergedClaims);\r\n this.parameters.set(AADServerParamKeys.CLAIMS, encodeURIComponent(mergedClaims));\r\n };\r\n /**\r\n * add correlationId\r\n * @param correlationId\r\n */\r\n RequestParameterBuilder.prototype.addCorrelationId = function (correlationId) {\r\n this.parameters.set(AADServerParamKeys.CLIENT_REQUEST_ID, encodeURIComponent(correlationId));\r\n };\r\n /**\r\n * add library info query params\r\n * @param libraryInfo\r\n */\r\n RequestParameterBuilder.prototype.addLibraryInfo = function (libraryInfo) {\r\n // Telemetry Info\r\n this.parameters.set(AADServerParamKeys.X_CLIENT_SKU, libraryInfo.sku);\r\n this.parameters.set(AADServerParamKeys.X_CLIENT_VER, libraryInfo.version);\r\n if (libraryInfo.os) {\r\n this.parameters.set(AADServerParamKeys.X_CLIENT_OS, libraryInfo.os);\r\n }\r\n if (libraryInfo.cpu) {\r\n this.parameters.set(AADServerParamKeys.X_CLIENT_CPU, libraryInfo.cpu);\r\n }\r\n };\r\n /**\r\n * Add client telemetry parameters\r\n * @param appTelemetry\r\n */\r\n RequestParameterBuilder.prototype.addApplicationTelemetry = function (appTelemetry) {\r\n if (appTelemetry === null || appTelemetry === void 0 ? void 0 : appTelemetry.appName) {\r\n this.parameters.set(AADServerParamKeys.X_APP_NAME, appTelemetry.appName);\r\n }\r\n if (appTelemetry === null || appTelemetry === void 0 ? void 0 : appTelemetry.appVersion) {\r\n this.parameters.set(AADServerParamKeys.X_APP_VER, appTelemetry.appVersion);\r\n }\r\n };\r\n /**\r\n * add prompt\r\n * @param prompt\r\n */\r\n RequestParameterBuilder.prototype.addPrompt = function (prompt) {\r\n RequestValidator.validatePrompt(prompt);\r\n this.parameters.set(\"\" + AADServerParamKeys.PROMPT, encodeURIComponent(prompt));\r\n };\r\n /**\r\n * add state\r\n * @param state\r\n */\r\n RequestParameterBuilder.prototype.addState = function (state) {\r\n if (!StringUtils.isEmpty(state)) {\r\n this.parameters.set(AADServerParamKeys.STATE, encodeURIComponent(state));\r\n }\r\n };\r\n /**\r\n * add nonce\r\n * @param nonce\r\n */\r\n RequestParameterBuilder.prototype.addNonce = function (nonce) {\r\n this.parameters.set(AADServerParamKeys.NONCE, encodeURIComponent(nonce));\r\n };\r\n /**\r\n * add code_challenge and code_challenge_method\r\n * - throw if either of them are not passed\r\n * @param codeChallenge\r\n * @param codeChallengeMethod\r\n */\r\n RequestParameterBuilder.prototype.addCodeChallengeParams = function (codeChallenge, codeChallengeMethod) {\r\n RequestValidator.validateCodeChallengeParams(codeChallenge, codeChallengeMethod);\r\n if (codeChallenge && codeChallengeMethod) {\r\n this.parameters.set(AADServerParamKeys.CODE_CHALLENGE, encodeURIComponent(codeChallenge));\r\n this.parameters.set(AADServerParamKeys.CODE_CHALLENGE_METHOD, encodeURIComponent(codeChallengeMethod));\r\n }\r\n else {\r\n throw ClientConfigurationError.createInvalidCodeChallengeParamsError();\r\n }\r\n };\r\n /**\r\n * add the `authorization_code` passed by the user to exchange for a token\r\n * @param code\r\n */\r\n RequestParameterBuilder.prototype.addAuthorizationCode = function (code) {\r\n this.parameters.set(AADServerParamKeys.CODE, encodeURIComponent(code));\r\n };\r\n /**\r\n * add the `authorization_code` passed by the user to exchange for a token\r\n * @param code\r\n */\r\n RequestParameterBuilder.prototype.addDeviceCode = function (code) {\r\n this.parameters.set(AADServerParamKeys.DEVICE_CODE, encodeURIComponent(code));\r\n };\r\n /**\r\n * add the `refreshToken` passed by the user\r\n * @param refreshToken\r\n */\r\n RequestParameterBuilder.prototype.addRefreshToken = function (refreshToken) {\r\n this.parameters.set(AADServerParamKeys.REFRESH_TOKEN, encodeURIComponent(refreshToken));\r\n };\r\n /**\r\n * add the `code_verifier` passed by the user to exchange for a token\r\n * @param codeVerifier\r\n */\r\n RequestParameterBuilder.prototype.addCodeVerifier = function (codeVerifier) {\r\n this.parameters.set(AADServerParamKeys.CODE_VERIFIER, encodeURIComponent(codeVerifier));\r\n };\r\n /**\r\n * add client_secret\r\n * @param clientSecret\r\n */\r\n RequestParameterBuilder.prototype.addClientSecret = function (clientSecret) {\r\n this.parameters.set(AADServerParamKeys.CLIENT_SECRET, encodeURIComponent(clientSecret));\r\n };\r\n /**\r\n * add clientAssertion for confidential client flows\r\n * @param clientAssertion\r\n */\r\n RequestParameterBuilder.prototype.addClientAssertion = function (clientAssertion) {\r\n if (!StringUtils.isEmpty(clientAssertion)) {\r\n this.parameters.set(AADServerParamKeys.CLIENT_ASSERTION, encodeURIComponent(clientAssertion));\r\n }\r\n };\r\n /**\r\n * add clientAssertionType for confidential client flows\r\n * @param clientAssertionType\r\n */\r\n RequestParameterBuilder.prototype.addClientAssertionType = function (clientAssertionType) {\r\n if (!StringUtils.isEmpty(clientAssertionType)) {\r\n this.parameters.set(AADServerParamKeys.CLIENT_ASSERTION_TYPE, encodeURIComponent(clientAssertionType));\r\n }\r\n };\r\n /**\r\n * add OBO assertion for confidential client flows\r\n * @param clientAssertion\r\n */\r\n RequestParameterBuilder.prototype.addOboAssertion = function (oboAssertion) {\r\n this.parameters.set(AADServerParamKeys.OBO_ASSERTION, encodeURIComponent(oboAssertion));\r\n };\r\n /**\r\n * add grant type\r\n * @param grantType\r\n */\r\n RequestParameterBuilder.prototype.addRequestTokenUse = function (tokenUse) {\r\n this.parameters.set(AADServerParamKeys.REQUESTED_TOKEN_USE, encodeURIComponent(tokenUse));\r\n };\r\n /**\r\n * add grant type\r\n * @param grantType\r\n */\r\n RequestParameterBuilder.prototype.addGrantType = function (grantType) {\r\n this.parameters.set(AADServerParamKeys.GRANT_TYPE, encodeURIComponent(grantType));\r\n };\r\n /**\r\n * add client info\r\n *\r\n */\r\n RequestParameterBuilder.prototype.addClientInfo = function () {\r\n this.parameters.set(CLIENT_INFO, \"1\");\r\n };\r\n /**\r\n * add extraQueryParams\r\n * @param eQparams\r\n */\r\n RequestParameterBuilder.prototype.addExtraQueryParameters = function (eQparams) {\r\n var _this = this;\r\n RequestValidator.sanitizeEQParams(eQparams, this.parameters);\r\n Object.keys(eQparams).forEach(function (key) {\r\n _this.parameters.set(key, eQparams[key]);\r\n });\r\n };\r\n RequestParameterBuilder.prototype.addClientCapabilitiesToClaims = function (claims, clientCapabilities) {\r\n var mergedClaims;\r\n // Parse provided claims into JSON object or initialize empty object\r\n if (!claims) {\r\n mergedClaims = {};\r\n }\r\n else {\r\n try {\r\n mergedClaims = JSON.parse(claims);\r\n }\r\n catch (e) {\r\n throw ClientConfigurationError.createInvalidClaimsRequestError();\r\n }\r\n }\r\n if (clientCapabilities && clientCapabilities.length > 0) {\r\n if (!mergedClaims.hasOwnProperty(ClaimsRequestKeys.ACCESS_TOKEN)) {\r\n // Add access_token key to claims object\r\n mergedClaims[ClaimsRequestKeys.ACCESS_TOKEN] = {};\r\n }\r\n // Add xms_cc claim with provided clientCapabilities to access_token key\r\n mergedClaims[ClaimsRequestKeys.ACCESS_TOKEN][ClaimsRequestKeys.XMS_CC] = {\r\n values: clientCapabilities\r\n };\r\n }\r\n return JSON.stringify(mergedClaims);\r\n };\r\n /**\r\n * adds `username` for Password Grant flow\r\n * @param username\r\n */\r\n RequestParameterBuilder.prototype.addUsername = function (username) {\r\n this.parameters.set(PasswordGrantConstants.username, encodeURIComponent(username));\r\n };\r\n /**\r\n * adds `password` for Password Grant flow\r\n * @param password\r\n */\r\n RequestParameterBuilder.prototype.addPassword = function (password) {\r\n this.parameters.set(PasswordGrantConstants.password, encodeURIComponent(password));\r\n };\r\n /**\r\n * add pop_jwk to query params\r\n * @param cnfString\r\n */\r\n RequestParameterBuilder.prototype.addPopToken = function (cnfString) {\r\n if (!StringUtils.isEmpty(cnfString)) {\r\n this.parameters.set(AADServerParamKeys.TOKEN_TYPE, AuthenticationScheme.POP);\r\n this.parameters.set(AADServerParamKeys.REQ_CNF, encodeURIComponent(cnfString));\r\n }\r\n };\r\n /**\r\n * add SSH JWK and key ID to query params\r\n */\r\n RequestParameterBuilder.prototype.addSshJwk = function (sshJwkString) {\r\n if (!StringUtils.isEmpty(sshJwkString)) {\r\n this.parameters.set(AADServerParamKeys.TOKEN_TYPE, AuthenticationScheme.SSH);\r\n this.parameters.set(AADServerParamKeys.REQ_CNF, encodeURIComponent(sshJwkString));\r\n }\r\n };\r\n /**\r\n * add server telemetry fields\r\n * @param serverTelemetryManager\r\n */\r\n RequestParameterBuilder.prototype.addServerTelemetry = function (serverTelemetryManager) {\r\n this.parameters.set(AADServerParamKeys.X_CLIENT_CURR_TELEM, serverTelemetryManager.generateCurrentRequestHeaderValue());\r\n this.parameters.set(AADServerParamKeys.X_CLIENT_LAST_TELEM, serverTelemetryManager.generateLastRequestHeaderValue());\r\n };\r\n /**\r\n * Adds parameter that indicates to the server that throttling is supported\r\n */\r\n RequestParameterBuilder.prototype.addThrottling = function () {\r\n this.parameters.set(AADServerParamKeys.X_MS_LIB_CAPABILITY, ThrottlingConstants.X_MS_LIB_CAPABILITY_VALUE);\r\n };\r\n /**\r\n * Adds logout_hint parameter for \"silent\" logout which prevent server account picker\r\n */\r\n RequestParameterBuilder.prototype.addLogoutHint = function (logoutHint) {\r\n this.parameters.set(AADServerParamKeys.LOGOUT_HINT, encodeURIComponent(logoutHint));\r\n };\r\n /**\r\n * Utility to create a URL from the params map\r\n */\r\n RequestParameterBuilder.prototype.createQueryString = function () {\r\n var queryParameterArray = new Array();\r\n this.parameters.forEach(function (value, key) {\r\n queryParameterArray.push(key + \"=\" + value);\r\n });\r\n return queryParameterArray.join(\"&\");\r\n };\r\n return RequestParameterBuilder;\r\n}());\n\nexport { RequestParameterBuilder };\n","/*! @azure/msal-common v9.1.1 2023-01-19 */\n'use strict';\nimport { StringUtils } from '../utils/StringUtils.js';\nimport { ClientConfigurationError } from '../error/ClientConfigurationError.js';\nimport { CodeChallengeMethodValues, PromptValue } from '../utils/Constants.js';\n\n/*\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * Licensed under the MIT License.\r\n */\r\n/**\r\n * Validates server consumable params from the \"request\" objects\r\n */\r\nvar RequestValidator = /** @class */ (function () {\r\n function RequestValidator() {\r\n }\r\n /**\r\n * Utility to check if the `redirectUri` in the request is a non-null value\r\n * @param redirectUri\r\n */\r\n RequestValidator.validateRedirectUri = function (redirectUri) {\r\n if (StringUtils.isEmpty(redirectUri)) {\r\n throw ClientConfigurationError.createRedirectUriEmptyError();\r\n }\r\n };\r\n /**\r\n * Utility to validate prompt sent by the user in the request\r\n * @param prompt\r\n */\r\n RequestValidator.validatePrompt = function (prompt) {\r\n var promptValues = [];\r\n for (var value in PromptValue) {\r\n promptValues.push(PromptValue[value]);\r\n }\r\n if (promptValues.indexOf(prompt) < 0) {\r\n throw ClientConfigurationError.createInvalidPromptError(prompt);\r\n }\r\n };\r\n RequestValidator.validateClaims = function (claims) {\r\n try {\r\n JSON.parse(claims);\r\n }\r\n catch (e) {\r\n throw ClientConfigurationError.createInvalidClaimsRequestError();\r\n }\r\n };\r\n /**\r\n * Utility to validate code_challenge and code_challenge_method\r\n * @param codeChallenge\r\n * @param codeChallengeMethod\r\n */\r\n RequestValidator.validateCodeChallengeParams = function (codeChallenge, codeChallengeMethod) {\r\n if (StringUtils.isEmpty(codeChallenge) || StringUtils.isEmpty(codeChallengeMethod)) {\r\n throw ClientConfigurationError.createInvalidCodeChallengeParamsError();\r\n }\r\n else {\r\n this.validateCodeChallengeMethod(codeChallengeMethod);\r\n }\r\n };\r\n /**\r\n * Utility to validate code_challenge_method\r\n * @param codeChallengeMethod\r\n */\r\n RequestValidator.validateCodeChallengeMethod = function (codeChallengeMethod) {\r\n if ([\r\n CodeChallengeMethodValues.PLAIN,\r\n CodeChallengeMethodValues.S256\r\n ].indexOf(codeChallengeMethod) < 0) {\r\n throw ClientConfigurationError.createInvalidCodeChallengeMethodError();\r\n }\r\n };\r\n /**\r\n * Removes unnecessary or duplicate query parameters from extraQueryParameters\r\n * @param request\r\n */\r\n RequestValidator.sanitizeEQParams = function (eQParams, queryParams) {\r\n if (!eQParams) {\r\n return {};\r\n }\r\n // Remove any query parameters already included in SSO params\r\n queryParams.forEach(function (value, key) {\r\n if (eQParams[key]) {\r\n delete eQParams[key];\r\n }\r\n });\r\n return eQParams;\r\n };\r\n return RequestValidator;\r\n}());\n\nexport { RequestValidator };\n","/*! @azure/msal-common v9.1.1 2023-01-19 */\n'use strict';\nimport { __spreadArrays } from '../_virtual/_tslib.js';\nimport { ClientConfigurationError } from '../error/ClientConfigurationError.js';\nimport { StringUtils } from '../utils/StringUtils.js';\nimport { ClientAuthError } from '../error/ClientAuthError.js';\nimport { OIDC_SCOPES, Constants } from '../utils/Constants.js';\n\n/*\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * Licensed under the MIT License.\r\n */\r\n/**\r\n * The ScopeSet class creates a set of scopes. Scopes are case-insensitive, unique values, so the Set object in JS makes\r\n * the most sense to implement for this class. All scopes are trimmed and converted to lower case strings in intersection and union functions\r\n * to ensure uniqueness of strings.\r\n */\r\nvar ScopeSet = /** @class */ (function () {\r\n function ScopeSet(inputScopes) {\r\n var _this = this;\r\n // Filter empty string and null/undefined array items\r\n var scopeArr = inputScopes ? StringUtils.trimArrayEntries(__spreadArrays(inputScopes)) : [];\r\n var filteredInput = scopeArr ? StringUtils.removeEmptyStringsFromArray(scopeArr) : [];\r\n // Validate and filter scopes (validate function throws if validation fails)\r\n this.validateInputScopes(filteredInput);\r\n this.scopes = new Set(); // Iterator in constructor not supported by IE11\r\n filteredInput.forEach(function (scope) { return _this.scopes.add(scope); });\r\n }\r\n /**\r\n * Factory method to create ScopeSet from space-delimited string\r\n * @param inputScopeString\r\n * @param appClientId\r\n * @param scopesRequired\r\n */\r\n ScopeSet.fromString = function (inputScopeString) {\r\n var scopeString = inputScopeString || Constants.EMPTY_STRING;\r\n var inputScopes = scopeString.split(\" \");\r\n return new ScopeSet(inputScopes);\r\n };\r\n /**\r\n * Used to validate the scopes input parameter requested by the developer.\r\n * @param {Array} inputScopes - Developer requested permissions. Not all scopes are guaranteed to be included in the access token returned.\r\n * @param {boolean} scopesRequired - Boolean indicating whether the scopes array is required or not\r\n */\r\n ScopeSet.prototype.validateInputScopes = function (inputScopes) {\r\n // Check if scopes are required but not given or is an empty array\r\n if (!inputScopes || inputScopes.length < 1) {\r\n throw ClientConfigurationError.createEmptyScopesArrayError();\r\n }\r\n };\r\n /**\r\n * Check if a given scope is present in this set of scopes.\r\n * @param scope\r\n */\r\n ScopeSet.prototype.containsScope = function (scope) {\r\n var lowerCaseScopes = this.printScopesLowerCase().split(\" \");\r\n var lowerCaseScopesSet = new ScopeSet(lowerCaseScopes);\r\n // compare lowercase scopes\r\n return !StringUtils.isEmpty(scope) ? lowerCaseScopesSet.scopes.has(scope.toLowerCase()) : false;\r\n };\r\n /**\r\n * Check if a set of scopes is present in this set of scopes.\r\n * @param scopeSet\r\n */\r\n ScopeSet.prototype.containsScopeSet = function (scopeSet) {\r\n var _this = this;\r\n if (!scopeSet || scopeSet.scopes.size <= 0) {\r\n return false;\r\n }\r\n return (this.scopes.size >= scopeSet.scopes.size && scopeSet.asArray().every(function (scope) { return _this.containsScope(scope); }));\r\n };\r\n /**\r\n * Check if set of scopes contains only the defaults\r\n */\r\n ScopeSet.prototype.containsOnlyOIDCScopes = function () {\r\n var _this = this;\r\n var defaultScopeCount = 0;\r\n OIDC_SCOPES.forEach(function (defaultScope) {\r\n if (_this.containsScope(defaultScope)) {\r\n defaultScopeCount += 1;\r\n }\r\n });\r\n return this.scopes.size === defaultScopeCount;\r\n };\r\n /**\r\n * Appends single scope if passed\r\n * @param newScope\r\n */\r\n ScopeSet.prototype.appendScope = function (newScope) {\r\n if (!StringUtils.isEmpty(newScope)) {\r\n this.scopes.add(newScope.trim());\r\n }\r\n };\r\n /**\r\n * Appends multiple scopes if passed\r\n * @param newScopes\r\n */\r\n ScopeSet.prototype.appendScopes = function (newScopes) {\r\n var _this = this;\r\n try {\r\n newScopes.forEach(function (newScope) { return _this.appendScope(newScope); });\r\n }\r\n catch (e) {\r\n throw ClientAuthError.createAppendScopeSetError(e);\r\n }\r\n };\r\n /**\r\n * Removes element from set of scopes.\r\n * @param scope\r\n */\r\n ScopeSet.prototype.removeScope = function (scope) {\r\n if (StringUtils.isEmpty(scope)) {\r\n throw ClientAuthError.createRemoveEmptyScopeFromSetError(scope);\r\n }\r\n this.scopes.delete(scope.trim());\r\n };\r\n /**\r\n * Removes default scopes from set of scopes\r\n * Primarily used to prevent cache misses if the default scopes are not returned from the server\r\n */\r\n ScopeSet.prototype.removeOIDCScopes = function () {\r\n var _this = this;\r\n OIDC_SCOPES.forEach(function (defaultScope) {\r\n _this.scopes.delete(defaultScope);\r\n });\r\n };\r\n /**\r\n * Combines an array of scopes with the current set of scopes.\r\n * @param otherScopes\r\n */\r\n ScopeSet.prototype.unionScopeSets = function (otherScopes) {\r\n if (!otherScopes) {\r\n throw ClientAuthError.createEmptyInputScopeSetError();\r\n }\r\n var unionScopes = new Set(); // Iterator in constructor not supported in IE11\r\n otherScopes.scopes.forEach(function (scope) { return unionScopes.add(scope.toLowerCase()); });\r\n this.scopes.forEach(function (scope) { return unionScopes.add(scope.toLowerCase()); });\r\n return unionScopes;\r\n };\r\n /**\r\n * Check if scopes intersect between this set and another.\r\n * @param otherScopes\r\n */\r\n ScopeSet.prototype.intersectingScopeSets = function (otherScopes) {\r\n if (!otherScopes) {\r\n throw ClientAuthError.createEmptyInputScopeSetError();\r\n }\r\n // Do not allow OIDC scopes to be the only intersecting scopes\r\n if (!otherScopes.containsOnlyOIDCScopes()) {\r\n otherScopes.removeOIDCScopes();\r\n }\r\n var unionScopes = this.unionScopeSets(otherScopes);\r\n var sizeOtherScopes = otherScopes.getScopeCount();\r\n var sizeThisScopes = this.getScopeCount();\r\n var sizeUnionScopes = unionScopes.size;\r\n return sizeUnionScopes < (sizeThisScopes + sizeOtherScopes);\r\n };\r\n /**\r\n * Returns size of set of scopes.\r\n */\r\n ScopeSet.prototype.getScopeCount = function () {\r\n return this.scopes.size;\r\n };\r\n /**\r\n * Returns the scopes as an array of string values\r\n */\r\n ScopeSet.prototype.asArray = function () {\r\n var array = [];\r\n this.scopes.forEach(function (val) { return array.push(val); });\r\n return array;\r\n };\r\n /**\r\n * Prints scopes into a space-delimited string\r\n */\r\n ScopeSet.prototype.printScopes = function () {\r\n if (this.scopes) {\r\n var scopeArr = this.asArray();\r\n return scopeArr.join(\" \");\r\n }\r\n return Constants.EMPTY_STRING;\r\n };\r\n /**\r\n * Prints scopes into a space-delimited lower-case string (used for caching)\r\n */\r\n ScopeSet.prototype.printScopesLowerCase = function () {\r\n return this.printScopes().toLowerCase();\r\n };\r\n return ScopeSet;\r\n}());\n\nexport { ScopeSet };\n","/*! @azure/msal-common v9.1.1 2023-01-19 */\n'use strict';\nimport { __awaiter, __generator } from '../_virtual/_tslib.js';\nimport { buildClientInfo } from '../account/ClientInfo.js';\nimport { ClientAuthError } from '../error/ClientAuthError.js';\nimport { StringUtils } from '../utils/StringUtils.js';\nimport { ServerError } from '../error/ServerError.js';\nimport { AuthToken } from '../account/AuthToken.js';\nimport { ScopeSet } from '../request/ScopeSet.js';\nimport { AccountEntity } from '../cache/entities/AccountEntity.js';\nimport { AuthorityType } from '../authority/AuthorityType.js';\nimport { IdTokenEntity } from '../cache/entities/IdTokenEntity.js';\nimport { AccessTokenEntity } from '../cache/entities/AccessTokenEntity.js';\nimport { RefreshTokenEntity } from '../cache/entities/RefreshTokenEntity.js';\nimport { InteractionRequiredAuthError } from '../error/InteractionRequiredAuthError.js';\nimport { CacheRecord } from '../cache/entities/CacheRecord.js';\nimport { ProtocolUtils } from '../utils/ProtocolUtils.js';\nimport { Constants, AuthenticationScheme, THE_FAMILY_ID } from '../utils/Constants.js';\nimport { PopTokenGenerator } from '../crypto/PopTokenGenerator.js';\nimport { AppMetadataEntity } from '../cache/entities/AppMetadataEntity.js';\nimport { TokenCacheContext } from '../cache/persistence/TokenCacheContext.js';\n\n/*\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * Licensed under the MIT License.\r\n */\r\n/**\r\n * Class that handles response parsing.\r\n */\r\nvar ResponseHandler = /** @class */ (function () {\r\n function ResponseHandler(clientId, cacheStorage, cryptoObj, logger, serializableCache, persistencePlugin) {\r\n this.clientId = clientId;\r\n this.cacheStorage = cacheStorage;\r\n this.cryptoObj = cryptoObj;\r\n this.logger = logger;\r\n this.serializableCache = serializableCache;\r\n this.persistencePlugin = persistencePlugin;\r\n }\r\n /**\r\n * Function which validates server authorization code response.\r\n * @param serverResponseHash\r\n * @param cachedState\r\n * @param cryptoObj\r\n */\r\n ResponseHandler.prototype.validateServerAuthorizationCodeResponse = function (serverResponseHash, cachedState, cryptoObj) {\r\n if (!serverResponseHash.state || !cachedState) {\r\n throw !serverResponseHash.state ? ClientAuthError.createStateNotFoundError(\"Server State\") : ClientAuthError.createStateNotFoundError(\"Cached State\");\r\n }\r\n if (decodeURIComponent(serverResponseHash.state) !== decodeURIComponent(cachedState)) {\r\n throw ClientAuthError.createStateMismatchError();\r\n }\r\n // Check for error\r\n if (serverResponseHash.error || serverResponseHash.error_description || serverResponseHash.suberror) {\r\n if (InteractionRequiredAuthError.isInteractionRequiredError(serverResponseHash.error, serverResponseHash.error_description, serverResponseHash.suberror)) {\r\n throw new InteractionRequiredAuthError(serverResponseHash.error || Constants.EMPTY_STRING, serverResponseHash.error_description, serverResponseHash.suberror);\r\n }\r\n throw new ServerError(serverResponseHash.error || Constants.EMPTY_STRING, serverResponseHash.error_description, serverResponseHash.suberror);\r\n }\r\n if (serverResponseHash.client_info) {\r\n buildClientInfo(serverResponseHash.client_info, cryptoObj);\r\n }\r\n };\r\n /**\r\n * Function which validates server authorization token response.\r\n * @param serverResponse\r\n */\r\n ResponseHandler.prototype.validateTokenResponse = function (serverResponse) {\r\n // Check for error\r\n if (serverResponse.error || serverResponse.error_description || serverResponse.suberror) {\r\n if (InteractionRequiredAuthError.isInteractionRequiredError(serverResponse.error, serverResponse.error_description, serverResponse.suberror)) {\r\n throw new InteractionRequiredAuthError(serverResponse.error, serverResponse.error_description, serverResponse.suberror);\r\n }\r\n var errString = serverResponse.error_codes + \" - [\" + serverResponse.timestamp + \"]: \" + serverResponse.error_description + \" - Correlation ID: \" + serverResponse.correlation_id + \" - Trace ID: \" + serverResponse.trace_id;\r\n throw new ServerError(serverResponse.error, errString, serverResponse.suberror);\r\n }\r\n };\r\n /**\r\n * Returns a constructed token response based on given string. Also manages the cache updates and cleanups.\r\n * @param serverTokenResponse\r\n * @param authority\r\n */\r\n ResponseHandler.prototype.handleServerTokenResponse = function (serverTokenResponse, authority, reqTimestamp, request, authCodePayload, userAssertionHash, handlingRefreshTokenResponse, forceCacheRefreshTokenResponse, serverRequestId) {\r\n return __awaiter(this, void 0, void 0, function () {\r\n var idTokenObj, authTime, requestStateObj, cacheRecord, cacheContext, key, account;\r\n return __generator(this, function (_a) {\r\n switch (_a.label) {\r\n case 0:\r\n if (serverTokenResponse.id_token) {\r\n idTokenObj = new AuthToken(serverTokenResponse.id_token || Constants.EMPTY_STRING, this.cryptoObj);\r\n // token nonce check (TODO: Add a warning if no nonce is given?)\r\n if (authCodePayload && !StringUtils.isEmpty(authCodePayload.nonce)) {\r\n if (idTokenObj.claims.nonce !== authCodePayload.nonce) {\r\n throw ClientAuthError.createNonceMismatchError();\r\n }\r\n }\r\n // token max_age check\r\n if (request.maxAge || (request.maxAge === 0)) {\r\n authTime = idTokenObj.claims.auth_time;\r\n if (!authTime) {\r\n throw ClientAuthError.createAuthTimeNotFoundError();\r\n }\r\n AuthToken.checkMaxAge(authTime, request.maxAge);\r\n }\r\n }\r\n // generate homeAccountId\r\n this.homeAccountIdentifier = AccountEntity.generateHomeAccountId(serverTokenResponse.client_info || Constants.EMPTY_STRING, authority.authorityType, this.logger, this.cryptoObj, idTokenObj);\r\n if (!!authCodePayload && !!authCodePayload.state) {\r\n requestStateObj = ProtocolUtils.parseRequestState(this.cryptoObj, authCodePayload.state);\r\n }\r\n // Add keyId from request to serverTokenResponse if defined\r\n serverTokenResponse.key_id = serverTokenResponse.key_id || request.sshKid || undefined;\r\n cacheRecord = this.generateCacheRecord(serverTokenResponse, authority, reqTimestamp, request, idTokenObj, userAssertionHash, authCodePayload);\r\n _a.label = 1;\r\n case 1:\r\n _a.trys.push([1, , 5, 8]);\r\n if (!(this.persistencePlugin && this.serializableCache)) return [3 /*break*/, 3];\r\n this.logger.verbose(\"Persistence enabled, calling beforeCacheAccess\");\r\n cacheContext = new TokenCacheContext(this.serializableCache, true);\r\n return [4 /*yield*/, this.persistencePlugin.beforeCacheAccess(cacheContext)];\r\n case 2:\r\n _a.sent();\r\n _a.label = 3;\r\n case 3:\r\n /*\r\n * When saving a refreshed tokens to the cache, it is expected that the account that was used is present in the cache.\r\n * If not present, we should return null, as it's the case that another application called removeAccount in between\r\n * the calls to getAllAccounts and acquireTokenSilent. We should not overwrite that removal, unless explicitly flagged by\r\n * the developer, as in the case of refresh token flow used in ADAL Node to MSAL Node migration.\r\n */\r\n if (handlingRefreshTokenResponse && !forceCacheRefreshTokenResponse && cacheRecord.account) {\r\n key = cacheRecord.account.generateAccountKey();\r\n account = this.cacheStorage.getAccount(key);\r\n if (!account) {\r\n this.logger.warning(\"Account used to refresh tokens not in persistence, refreshed tokens will not be stored in the cache\");\r\n return [2 /*return*/, ResponseHandler.generateAuthenticationResult(this.cryptoObj, authority, cacheRecord, false, request, idTokenObj, requestStateObj, undefined, serverRequestId)];\r\n }\r\n }\r\n return [4 /*yield*/, this.cacheStorage.saveCacheRecord(cacheRecord)];\r\n case 4:\r\n _a.sent();\r\n return [3 /*break*/, 8];\r\n case 5:\r\n if (!(this.persistencePlugin && this.serializableCache && cacheContext)) return [3 /*break*/, 7];\r\n this.logger.verbose(\"Persistence enabled, calling afterCacheAccess\");\r\n return [4 /*yield*/, this.persistencePlugin.afterCacheAccess(cacheContext)];\r\n case 6:\r\n _a.sent();\r\n _a.label = 7;\r\n case 7: return [7 /*endfinally*/];\r\n case 8: return [2 /*return*/, ResponseHandler.generateAuthenticationResult(this.cryptoObj, authority, cacheRecord, false, request, idTokenObj, requestStateObj, serverTokenResponse.spa_code, serverRequestId)];\r\n }\r\n });\r\n });\r\n };\r\n /**\r\n * Generates CacheRecord\r\n * @param serverTokenResponse\r\n * @param idTokenObj\r\n * @param authority\r\n */\r\n ResponseHandler.prototype.generateCacheRecord = function (serverTokenResponse, authority, reqTimestamp, request, idTokenObj, userAssertionHash, authCodePayload) {\r\n var env = authority.getPreferredCache();\r\n if (StringUtils.isEmpty(env)) {\r\n throw ClientAuthError.createInvalidCacheEnvironmentError();\r\n }\r\n // IdToken: non AAD scenarios can have empty realm\r\n var cachedIdToken;\r\n var cachedAccount;\r\n if (!StringUtils.isEmpty(serverTokenResponse.id_token) && !!idTokenObj) {\r\n cachedIdToken = IdTokenEntity.createIdTokenEntity(this.homeAccountIdentifier, env, serverTokenResponse.id_token || Constants.EMPTY_STRING, this.clientId, idTokenObj.claims.tid || Constants.EMPTY_STRING);\r\n cachedAccount = this.generateAccountEntity(serverTokenResponse, idTokenObj, authority, authCodePayload);\r\n }\r\n // AccessToken\r\n var cachedAccessToken = null;\r\n if (!StringUtils.isEmpty(serverTokenResponse.access_token)) {\r\n // If scopes not returned in server response, use request scopes\r\n var responseScopes = serverTokenResponse.scope ? ScopeSet.fromString(serverTokenResponse.scope) : new ScopeSet(request.scopes || []);\r\n /*\r\n * Use timestamp calculated before request\r\n * Server may return timestamps as strings, parse to numbers if so.\r\n */\r\n var expiresIn = (typeof serverTokenResponse.expires_in === \"string\" ? parseInt(serverTokenResponse.expires_in, 10) : serverTokenResponse.expires_in) || 0;\r\n var extExpiresIn = (typeof serverTokenResponse.ext_expires_in === \"string\" ? parseInt(serverTokenResponse.ext_expires_in, 10) : serverTokenResponse.ext_expires_in) || 0;\r\n var refreshIn = (typeof serverTokenResponse.refresh_in === \"string\" ? parseInt(serverTokenResponse.refresh_in, 10) : serverTokenResponse.refresh_in) || undefined;\r\n var tokenExpirationSeconds = reqTimestamp + expiresIn;\r\n var extendedTokenExpirationSeconds = tokenExpirationSeconds + extExpiresIn;\r\n var refreshOnSeconds = refreshIn && refreshIn > 0 ? reqTimestamp + refreshIn : undefined;\r\n // non AAD scenarios can have empty realm\r\n cachedAccessToken = AccessTokenEntity.createAccessTokenEntity(this.homeAccountIdentifier, env, serverTokenResponse.access_token || Constants.EMPTY_STRING, this.clientId, idTokenObj ? idTokenObj.claims.tid || Constants.EMPTY_STRING : authority.tenant, responseScopes.printScopes(), tokenExpirationSeconds, extendedTokenExpirationSeconds, this.cryptoObj, refreshOnSeconds, serverTokenResponse.token_type, userAssertionHash, serverTokenResponse.key_id, request.claims, request.requestedClaimsHash);\r\n }\r\n // refreshToken\r\n var cachedRefreshToken = null;\r\n if (!StringUtils.isEmpty(serverTokenResponse.refresh_token)) {\r\n cachedRefreshToken = RefreshTokenEntity.createRefreshTokenEntity(this.homeAccountIdentifier, env, serverTokenResponse.refresh_token || Constants.EMPTY_STRING, this.clientId, serverTokenResponse.foci, userAssertionHash);\r\n }\r\n // appMetadata\r\n var cachedAppMetadata = null;\r\n if (!StringUtils.isEmpty(serverTokenResponse.foci)) {\r\n cachedAppMetadata = AppMetadataEntity.createAppMetadataEntity(this.clientId, env, serverTokenResponse.foci);\r\n }\r\n return new CacheRecord(cachedAccount, cachedIdToken, cachedAccessToken, cachedRefreshToken, cachedAppMetadata);\r\n };\r\n /**\r\n * Generate Account\r\n * @param serverTokenResponse\r\n * @param idToken\r\n * @param authority\r\n */\r\n ResponseHandler.prototype.generateAccountEntity = function (serverTokenResponse, idToken, authority, authCodePayload) {\r\n var authorityType = authority.authorityType;\r\n var cloudGraphHostName = authCodePayload ? authCodePayload.cloud_graph_host_name : Constants.EMPTY_STRING;\r\n var msGraphhost = authCodePayload ? authCodePayload.msgraph_host : Constants.EMPTY_STRING;\r\n // ADFS does not require client_info in the response\r\n if (authorityType === AuthorityType.Adfs) {\r\n this.logger.verbose(\"Authority type is ADFS, creating ADFS account\");\r\n return AccountEntity.createGenericAccount(this.homeAccountIdentifier, idToken, authority, cloudGraphHostName, msGraphhost);\r\n }\r\n // This fallback applies to B2C as well as they fall under an AAD account type.\r\n if (StringUtils.isEmpty(serverTokenResponse.client_info) && authority.protocolMode === \"AAD\") {\r\n throw ClientAuthError.createClientInfoEmptyError();\r\n }\r\n return serverTokenResponse.client_info ?\r\n AccountEntity.createAccount(serverTokenResponse.client_info, this.homeAccountIdentifier, idToken, authority, cloudGraphHostName, msGraphhost) :\r\n AccountEntity.createGenericAccount(this.homeAccountIdentifier, idToken, authority, cloudGraphHostName, msGraphhost);\r\n };\r\n /**\r\n * Creates an @AuthenticationResult from @CacheRecord , @IdToken , and a boolean that states whether or not the result is from cache.\r\n *\r\n * Optionally takes a state string that is set as-is in the response.\r\n *\r\n * @param cacheRecord\r\n * @param idTokenObj\r\n * @param fromTokenCache\r\n * @param stateString\r\n */\r\n ResponseHandler.generateAuthenticationResult = function (cryptoObj, authority, cacheRecord, fromTokenCache, request, idTokenObj, requestState, code, requestId) {\r\n var _a, _b, _c;\r\n return __awaiter(this, void 0, void 0, function () {\r\n var accessToken, responseScopes, expiresOn, extExpiresOn, familyId, popTokenGenerator, _d, secret, keyId, uid, tid;\r\n return __generator(this, function (_e) {\r\n switch (_e.label) {\r\n case 0:\r\n accessToken = Constants.EMPTY_STRING;\r\n responseScopes = [];\r\n expiresOn = null;\r\n familyId = Constants.EMPTY_STRING;\r\n if (!cacheRecord.accessToken) return [3 /*break*/, 4];\r\n if (!(cacheRecord.accessToken.tokenType === AuthenticationScheme.POP)) return [3 /*break*/, 2];\r\n popTokenGenerator = new PopTokenGenerator(cryptoObj);\r\n _d = cacheRecord.accessToken, secret = _d.secret, keyId = _d.keyId;\r\n if (!keyId) {\r\n throw ClientAuthError.createKeyIdMissingError();\r\n }\r\n return [4 /*yield*/, popTokenGenerator.signPopToken(secret, keyId, request)];\r\n case 1:\r\n accessToken = _e.sent();\r\n return [3 /*break*/, 3];\r\n case 2:\r\n accessToken = cacheRecord.accessToken.secret;\r\n _e.label = 3;\r\n case 3:\r\n responseScopes = ScopeSet.fromString(cacheRecord.accessToken.target).asArray();\r\n expiresOn = new Date(Number(cacheRecord.accessToken.expiresOn) * 1000);\r\n extExpiresOn = new Date(Number(cacheRecord.accessToken.extendedExpiresOn) * 1000);\r\n _e.label = 4;\r\n case 4:\r\n if (cacheRecord.appMetadata) {\r\n familyId = cacheRecord.appMetadata.familyId === THE_FAMILY_ID ? THE_FAMILY_ID : Constants.EMPTY_STRING;\r\n }\r\n uid = (idTokenObj === null || idTokenObj === void 0 ? void 0 : idTokenObj.claims.oid) || (idTokenObj === null || idTokenObj === void 0 ? void 0 : idTokenObj.claims.sub) || Constants.EMPTY_STRING;\r\n tid = (idTokenObj === null || idTokenObj === void 0 ? void 0 : idTokenObj.claims.tid) || Constants.EMPTY_STRING;\r\n return [2 /*return*/, {\r\n authority: authority.canonicalAuthority,\r\n uniqueId: uid,\r\n tenantId: tid,\r\n scopes: responseScopes,\r\n account: cacheRecord.account ? cacheRecord.account.getAccountInfo() : null,\r\n idToken: idTokenObj ? idTokenObj.rawToken : Constants.EMPTY_STRING,\r\n idTokenClaims: idTokenObj ? idTokenObj.claims : {},\r\n accessToken: accessToken,\r\n fromCache: fromTokenCache,\r\n expiresOn: expiresOn,\r\n correlationId: request.correlationId,\r\n requestId: requestId || Constants.EMPTY_STRING,\r\n extExpiresOn: extExpiresOn,\r\n familyId: familyId,\r\n tokenType: ((_a = cacheRecord.accessToken) === null || _a === void 0 ? void 0 : _a.tokenType) || Constants.EMPTY_STRING,\r\n state: requestState ? requestState.userRequestState : Constants.EMPTY_STRING,\r\n cloudGraphHostName: ((_b = cacheRecord.account) === null || _b === void 0 ? void 0 : _b.cloudGraphHostName) || Constants.EMPTY_STRING,\r\n msGraphHost: ((_c = cacheRecord.account) === null || _c === void 0 ? void 0 : _c.msGraphHost) || Constants.EMPTY_STRING,\r\n code: code,\r\n fromNativeBroker: false,\r\n }];\r\n }\r\n });\r\n });\r\n };\r\n return ResponseHandler;\r\n}());\n\nexport { ResponseHandler };\n","/*! @azure/msal-common v9.1.1 2023-01-19 */\n'use strict';\nimport { __assign } from '../../_virtual/_tslib.js';\nimport { PerformanceEventStatus } from './PerformanceEvent.js';\n\n/*\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * Licensed under the MIT License.\r\n */\r\nvar PerformanceClient = /** @class */ (function () {\r\n /**\r\n * Creates an instance of PerformanceClient,\r\n * an abstract class containing core performance telemetry logic.\r\n *\r\n * @constructor\r\n * @param {string} clientId Client ID of the application\r\n * @param {string} authority Authority used by the application\r\n * @param {Logger} logger Logger used by the application\r\n * @param {string} libraryName Name of the library\r\n * @param {string} libraryVersion Version of the library\r\n */\r\n function PerformanceClient(clientId, authority, logger, libraryName, libraryVersion, applicationTelemetry) {\r\n this.authority = authority;\r\n this.libraryName = libraryName;\r\n this.libraryVersion = libraryVersion;\r\n this.applicationTelemetry = applicationTelemetry;\r\n this.clientId = clientId;\r\n this.logger = logger;\r\n this.callbacks = new Map();\r\n this.eventsByCorrelationId = new Map();\r\n this.staticFieldsByCorrelationId = new Map();\r\n this.measurementsById = new Map();\r\n this.countersByCorrelationId = new Map();\r\n }\r\n /**\r\n * Starts and returns an platform-specific implementation of IPerformanceMeasurement.\r\n * Note: this function can be changed to abstract at the next major version bump.\r\n *\r\n * @param {string} measureName\r\n * @param {string} correlationId\r\n * @returns {IPerformanceMeasurement}\r\n */\r\n /* eslint-disable-next-line @typescript-eslint/no-unused-vars */\r\n PerformanceClient.prototype.startPerformanceMeasurement = function (measureName, correlationId) {\r\n return {};\r\n };\r\n /**\r\n * Starts and returns an platform-specific implementation of IPerformanceMeasurement.\r\n * Note: this incorrectly-named function will be removed at the next major version bump.\r\n *\r\n * @param {string} measureName\r\n * @param {string} correlationId\r\n * @returns {IPerformanceMeasurement}\r\n */\r\n /* eslint-disable-next-line @typescript-eslint/no-unused-vars */\r\n PerformanceClient.prototype.startPerformanceMeasuremeant = function (measureName, correlationId) {\r\n return {};\r\n };\r\n /**\r\n * Starts measuring performance for a given operation. Returns a function that should be used to end the measurement.\r\n *\r\n * @param {PerformanceEvents} measureName\r\n * @param {?string} [correlationId]\r\n * @returns {InProgressPerformanceEvent}\r\n */\r\n PerformanceClient.prototype.startMeasurement = function (measureName, correlationId) {\r\n var _this = this;\r\n var _a, _b;\r\n // Generate a placeholder correlation if the request does not provide one\r\n var eventCorrelationId = correlationId || this.generateId();\r\n if (!correlationId) {\r\n this.logger.info(\"PerformanceClient: No correlation id provided for \" + measureName + \", generating\", eventCorrelationId);\r\n }\r\n // Duplicate code to address spelling error will be removed at the next major version bump.\r\n this.logger.trace(\"PerformanceClient: Performance measurement started for \" + measureName, eventCorrelationId);\r\n var validMeasurement;\r\n var performanceMeasuremeant = this.startPerformanceMeasuremeant(measureName, eventCorrelationId);\r\n if (performanceMeasuremeant.startMeasurement) {\r\n performanceMeasuremeant.startMeasurement();\r\n validMeasurement = performanceMeasuremeant;\r\n }\r\n else {\r\n var performanceMeasurement = this.startPerformanceMeasurement(measureName, eventCorrelationId);\r\n performanceMeasurement.startMeasurement();\r\n validMeasurement = performanceMeasurement;\r\n }\r\n var inProgressEvent = {\r\n eventId: this.generateId(),\r\n status: PerformanceEventStatus.InProgress,\r\n authority: this.authority,\r\n libraryName: this.libraryName,\r\n libraryVersion: this.libraryVersion,\r\n clientId: this.clientId,\r\n name: measureName,\r\n startTimeMs: Date.now(),\r\n correlationId: eventCorrelationId,\r\n };\r\n // Store in progress events so they can be discarded if not ended properly\r\n this.cacheEventByCorrelationId(inProgressEvent);\r\n var staticFields = {\r\n appName: (_a = this.applicationTelemetry) === null || _a === void 0 ? void 0 : _a.appName,\r\n appVersion: (_b = this.applicationTelemetry) === null || _b === void 0 ? void 0 : _b.appVersion,\r\n };\r\n this.addStaticFields(staticFields, eventCorrelationId);\r\n this.cacheMeasurement(inProgressEvent, validMeasurement);\r\n // Return the event and functions the caller can use to properly end/flush the measurement\r\n return {\r\n endMeasurement: function (event) {\r\n var completedEvent = _this.endMeasurement(__assign(__assign({}, inProgressEvent), event));\r\n if (completedEvent) {\r\n // Cache event so that submeasurements can be added downstream\r\n _this.cacheEventByCorrelationId(completedEvent);\r\n }\r\n return completedEvent;\r\n },\r\n flushMeasurement: function () {\r\n return _this.flushMeasurements(inProgressEvent.name, inProgressEvent.correlationId);\r\n },\r\n discardMeasurement: function () {\r\n return _this.discardMeasurements(inProgressEvent.correlationId);\r\n },\r\n addStaticFields: function (fields) {\r\n return _this.addStaticFields(fields, inProgressEvent.correlationId);\r\n },\r\n increment: function (counters) {\r\n return _this.increment(counters, inProgressEvent.correlationId);\r\n },\r\n measurement: validMeasurement,\r\n event: inProgressEvent\r\n };\r\n };\r\n /**\r\n * Stops measuring the performance for an operation. Should only be called directly by PerformanceClient classes,\r\n * as consumers should instead use the function returned by startMeasurement.\r\n *\r\n * @param {PerformanceEvent} event\r\n * @returns {(PerformanceEvent | null)}\r\n */\r\n PerformanceClient.prototype.endMeasurement = function (event) {\r\n var performanceMeasurement = this.measurementsById.get(event.eventId);\r\n if (performanceMeasurement) {\r\n // Immediately delete so that the same event isnt ended twice\r\n this.measurementsById.delete(event.eventId);\r\n performanceMeasurement.endMeasurement();\r\n var durationMs = performanceMeasurement.flushMeasurement();\r\n // null indicates no measurement was taken (e.g. needed performance APIs not present)\r\n if (durationMs !== null) {\r\n this.logger.trace(\"PerformanceClient: Performance measurement ended for \" + event.name + \": \" + durationMs + \" ms\", event.correlationId);\r\n var completedEvent = __assign(__assign({ \r\n // Allow duration to be overwritten when event ends (e.g. testing), but not status\r\n durationMs: Math.round(durationMs) }, event), { status: PerformanceEventStatus.Completed });\r\n return completedEvent;\r\n }\r\n else {\r\n this.logger.trace(\"PerformanceClient: Performance measurement not taken\", event.correlationId);\r\n }\r\n }\r\n else {\r\n this.logger.trace(\"PerformanceClient: Measurement not found for \" + event.eventId, event.correlationId);\r\n }\r\n return null;\r\n };\r\n /**\r\n * Saves extra information to be emitted when the measurements are flushed\r\n * @param fields\r\n * @param correlationId\r\n */\r\n PerformanceClient.prototype.addStaticFields = function (fields, correlationId) {\r\n var existingStaticFields = this.staticFieldsByCorrelationId.get(correlationId);\r\n if (existingStaticFields) {\r\n this.logger.trace(\"PerformanceClient: Updating static fields\");\r\n this.staticFieldsByCorrelationId.set(correlationId, __assign(__assign({}, existingStaticFields), fields));\r\n }\r\n else {\r\n this.logger.trace(\"PerformanceClient: Adding static fields\");\r\n this.staticFieldsByCorrelationId.set(correlationId, fields);\r\n }\r\n };\r\n /**\r\n * Increment counters to be emitted when the measurements are flushed\r\n * @param counters {Counters}\r\n * @param correlationId {string} correlation identifier\r\n */\r\n PerformanceClient.prototype.increment = function (counters, correlationId) {\r\n var existing = this.countersByCorrelationId.get(correlationId);\r\n if (!existing) {\r\n this.logger.trace(\"PerformanceClient: Setting counters\");\r\n this.countersByCorrelationId.set(correlationId, __assign({}, counters));\r\n return;\r\n }\r\n this.logger.trace(\"PerformanceClient: Updating counters\");\r\n for (var counter in counters) {\r\n if (!existing.hasOwnProperty(counter)) {\r\n existing[counter] = 0;\r\n }\r\n existing[counter] += counters[counter];\r\n }\r\n };\r\n /**\r\n * Upserts event into event cache.\r\n * First key is the correlation id, second key is the event id.\r\n * Allows for events to be grouped by correlation id,\r\n * and to easily allow for properties on them to be updated.\r\n *\r\n * @private\r\n * @param {PerformanceEvent} event\r\n */\r\n PerformanceClient.prototype.cacheEventByCorrelationId = function (event) {\r\n var existingEvents = this.eventsByCorrelationId.get(event.correlationId);\r\n if (existingEvents) {\r\n this.logger.trace(\"PerformanceClient: Performance measurement for \" + event.name + \" added/updated\", event.correlationId);\r\n existingEvents.set(event.eventId, event);\r\n }\r\n else {\r\n this.logger.trace(\"PerformanceClient: Performance measurement for \" + event.name + \" started\", event.correlationId);\r\n this.eventsByCorrelationId.set(event.correlationId, new Map().set(event.eventId, event));\r\n }\r\n };\r\n /**\r\n * Cache measurements by their id.\r\n *\r\n * @private\r\n * @param {PerformanceEvent} event\r\n * @param {IPerformanceMeasurement} measurement\r\n */\r\n PerformanceClient.prototype.cacheMeasurement = function (event, measurement) {\r\n this.measurementsById.set(event.eventId, measurement);\r\n };\r\n /**\r\n * Gathers and emits performance events for measurements taked for the given top-level API and correlation ID.\r\n *\r\n * @param {PerformanceEvents} measureName\r\n * @param {string} correlationId\r\n */\r\n PerformanceClient.prototype.flushMeasurements = function (measureName, correlationId) {\r\n var _this = this;\r\n this.logger.trace(\"PerformanceClient: Performance measurements flushed for \" + measureName, correlationId);\r\n var eventsForCorrelationId = this.eventsByCorrelationId.get(correlationId);\r\n var staticFields = this.staticFieldsByCorrelationId.get(correlationId);\r\n var counters = this.countersByCorrelationId.get(correlationId);\r\n if (eventsForCorrelationId) {\r\n this.discardCache(correlationId);\r\n /*\r\n * Manually end incomplete submeasurements to ensure there arent orphaned/never ending events.\r\n * Incomplete submeasurements are likely an instrumentation bug that should be fixed.\r\n * IE only supports Map.forEach.\r\n */\r\n var completedEvents_1 = [];\r\n eventsForCorrelationId.forEach(function (event) {\r\n if (event.name !== measureName && event.status !== PerformanceEventStatus.Completed) {\r\n _this.logger.trace(\"PerformanceClient: Incomplete submeasurement \" + event.name + \" found for \" + measureName, correlationId);\r\n var completedEvent = _this.endMeasurement(event);\r\n if (completedEvent) {\r\n completedEvents_1.push(completedEvent);\r\n }\r\n }\r\n completedEvents_1.push(event);\r\n });\r\n // Sort events by start time (earliest first)\r\n var sortedCompletedEvents = completedEvents_1.sort(function (eventA, eventB) { return eventA.startTimeMs - eventB.startTimeMs; });\r\n // Take completed top level event and add completed submeasurements durations as properties\r\n var topLevelEvents = sortedCompletedEvents.filter(function (event) { return event.name === measureName && event.status === PerformanceEventStatus.Completed; });\r\n if (topLevelEvents.length > 0) {\r\n /*\r\n * Only take the first top-level event if there are multiple events with the same correlation id.\r\n * This greatly simplifies logic for submeasurements.\r\n */\r\n if (topLevelEvents.length > 1) {\r\n this.logger.verbose(\"PerformanceClient: Multiple distinct top-level performance events found, using the first\", correlationId);\r\n }\r\n var topLevelEvent = topLevelEvents[0];\r\n this.logger.verbose(\"PerformanceClient: Measurement found for \" + measureName, correlationId);\r\n // Build event object with top level and sub measurements\r\n var eventToEmit = sortedCompletedEvents.reduce(function (previous, current) {\r\n if (current.name !== measureName) {\r\n _this.logger.trace(\"PerformanceClient: Complete submeasurement found for \" + current.name, correlationId);\r\n // TODO: Emit additional properties for each subMeasurement\r\n var subMeasurementName = current.name + \"DurationMs\";\r\n /*\r\n * Some code paths, such as resolving an authority, can occur multiple times.\r\n * Only take the first measurement, since the second could be read from the cache,\r\n * or due to the same correlation id being used for two distinct requests.\r\n */\r\n if (!previous[subMeasurementName]) {\r\n previous[subMeasurementName] = current.durationMs;\r\n }\r\n else {\r\n _this.logger.verbose(\"PerformanceClient: Submeasurement for \" + measureName + \" already exists for \" + current.name + \", ignoring\", correlationId);\r\n }\r\n }\r\n return previous;\r\n }, topLevelEvent);\r\n var finalEvent = __assign(__assign(__assign({}, eventToEmit), staticFields), counters);\r\n this.emitEvents([finalEvent], eventToEmit.correlationId);\r\n }\r\n else {\r\n this.logger.verbose(\"PerformanceClient: No completed top-level measurements found for \" + measureName, correlationId);\r\n }\r\n }\r\n else {\r\n this.logger.verbose(\"PerformanceClient: No measurements found\", correlationId);\r\n }\r\n };\r\n /**\r\n * Removes measurements for a given correlation id.\r\n *\r\n * @param {string} correlationId\r\n */\r\n PerformanceClient.prototype.discardMeasurements = function (correlationId) {\r\n this.logger.trace(\"PerformanceClient: Performance measurements discarded\", correlationId);\r\n this.eventsByCorrelationId.delete(correlationId);\r\n };\r\n /**\r\n * Removes cache for a given correlation id.\r\n *\r\n * @param {string} correlation identifier\r\n */\r\n PerformanceClient.prototype.discardCache = function (correlationId) {\r\n this.discardMeasurements(correlationId);\r\n this.logger.trace(\"PerformanceClient: Static fields discarded\", correlationId);\r\n this.staticFieldsByCorrelationId.delete(correlationId);\r\n this.logger.trace(\"PerformanceClient: Counters discarded\", correlationId);\r\n this.countersByCorrelationId.delete(correlationId);\r\n };\r\n /**\r\n * Registers a callback function to receive performance events.\r\n *\r\n * @param {PerformanceCallbackFunction} callback\r\n * @returns {string}\r\n */\r\n PerformanceClient.prototype.addPerformanceCallback = function (callback) {\r\n var callbackId = this.generateId();\r\n this.callbacks.set(callbackId, callback);\r\n this.logger.verbose(\"PerformanceClient: Performance callback registered with id: \" + callbackId);\r\n return callbackId;\r\n };\r\n /**\r\n * Removes a callback registered with addPerformanceCallback.\r\n *\r\n * @param {string} callbackId\r\n * @returns {boolean}\r\n */\r\n PerformanceClient.prototype.removePerformanceCallback = function (callbackId) {\r\n var result = this.callbacks.delete(callbackId);\r\n if (result) {\r\n this.logger.verbose(\"PerformanceClient: Performance callback \" + callbackId + \" removed.\");\r\n }\r\n else {\r\n this.logger.verbose(\"PerformanceClient: Performance callback \" + callbackId + \" not removed.\");\r\n }\r\n return result;\r\n };\r\n /**\r\n * Emits events to all registered callbacks.\r\n *\r\n * @param {PerformanceEvent[]} events\r\n * @param {?string} [correlationId]\r\n */\r\n PerformanceClient.prototype.emitEvents = function (events, correlationId) {\r\n var _this = this;\r\n this.logger.verbose(\"PerformanceClient: Emitting performance events\", correlationId);\r\n this.callbacks.forEach(function (callback, callbackId) {\r\n _this.logger.trace(\"PerformanceClient: Emitting event to callback \" + callbackId, correlationId);\r\n callback.apply(null, [events]);\r\n });\r\n };\r\n return PerformanceClient;\r\n}());\n\nexport { PerformanceClient };\n","/*! @azure/msal-common v9.1.1 2023-01-19 */\n'use strict';\n/*\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * Licensed under the MIT License.\r\n */\r\n/**\r\n * Enumeration of operations that are instrumented by have their performance measured by the PerformanceClient.\r\n *\r\n * @export\r\n * @enum {number}\r\n */\r\nvar PerformanceEvents;\r\n(function (PerformanceEvents) {\r\n /**\r\n * acquireTokenByCode API (msal-browser and msal-node).\r\n * Used to acquire tokens by trading an authorization code against the token endpoint.\r\n */\r\n PerformanceEvents[\"AcquireTokenByCode\"] = \"acquireTokenByCode\";\r\n /**\r\n * acquireTokenByRefreshToken API (msal-browser and msal-node).\r\n * Used to renew an access token using a refresh token against the token endpoint.\r\n */\r\n PerformanceEvents[\"AcquireTokenByRefreshToken\"] = \"acquireTokenByRefreshToken\";\r\n /**\r\n * acquireTokenSilent API (msal-browser and msal-node).\r\n * Used to silently acquire a new access token (from the cache or the network).\r\n */\r\n PerformanceEvents[\"AcquireTokenSilent\"] = \"acquireTokenSilent\";\r\n /**\r\n * acquireTokenSilentAsync (msal-browser).\r\n * Internal API for acquireTokenSilent.\r\n */\r\n PerformanceEvents[\"AcquireTokenSilentAsync\"] = \"acquireTokenSilentAsync\";\r\n /**\r\n * acquireTokenPopup (msal-browser).\r\n * Used to acquire a new access token interactively through pop ups\r\n */\r\n PerformanceEvents[\"AcquireTokenPopup\"] = \"acquireTokenPopup\";\r\n /**\r\n * getPublicKeyThumbprint API in CryptoOpts class (msal-browser).\r\n * Used to generate a public/private keypair and generate a public key thumbprint for pop requests.\r\n */\r\n PerformanceEvents[\"CryptoOptsGetPublicKeyThumbprint\"] = \"cryptoOptsGetPublicKeyThumbprint\";\r\n /**\r\n * signJwt API in CryptoOpts class (msal-browser).\r\n * Used to signed a pop token.\r\n */\r\n PerformanceEvents[\"CryptoOptsSignJwt\"] = \"cryptoOptsSignJwt\";\r\n /**\r\n * acquireToken API in the SilentCacheClient class (msal-browser).\r\n * Used to read access tokens from the cache.\r\n */\r\n PerformanceEvents[\"SilentCacheClientAcquireToken\"] = \"silentCacheClientAcquireToken\";\r\n /**\r\n * acquireToken API in the SilentIframeClient class (msal-browser).\r\n * Used to acquire a new set of tokens from the authorize endpoint in a hidden iframe.\r\n */\r\n PerformanceEvents[\"SilentIframeClientAcquireToken\"] = \"silentIframeClientAcquireToken\";\r\n /**\r\n * acquireToken API in SilentRereshClient (msal-browser).\r\n * Used to acquire a new set of tokens from the token endpoint using a refresh token.\r\n */\r\n PerformanceEvents[\"SilentRefreshClientAcquireToken\"] = \"silentRefreshClientAcquireToken\";\r\n /**\r\n * ssoSilent API (msal-browser).\r\n * Used to silently acquire an authorization code and set of tokens using a hidden iframe.\r\n */\r\n PerformanceEvents[\"SsoSilent\"] = \"ssoSilent\";\r\n /**\r\n * getDiscoveredAuthority API in StandardInteractionClient class (msal-browser).\r\n * Used to load authority metadata for a request.\r\n */\r\n PerformanceEvents[\"StandardInteractionClientGetDiscoveredAuthority\"] = \"standardInteractionClientGetDiscoveredAuthority\";\r\n /**\r\n * acquireToken APIs in msal-browser.\r\n * Used to make an /authorize endpoint call with native brokering enabled.\r\n */\r\n PerformanceEvents[\"FetchAccountIdWithNativeBroker\"] = \"fetchAccountIdWithNativeBroker\";\r\n /**\r\n * acquireToken API in NativeInteractionClient class (msal-browser).\r\n * Used to acquire a token from Native component when native brokering is enabled.\r\n */\r\n PerformanceEvents[\"NativeInteractionClientAcquireToken\"] = \"nativeInteractionClientAcquireToken\";\r\n /**\r\n * Time spent creating default headers for requests to token endpoint\r\n */\r\n PerformanceEvents[\"BaseClientCreateTokenRequestHeaders\"] = \"baseClientCreateTokenRequestHeaders\";\r\n /**\r\n * Used to measure the time taken for completing embedded-broker handshake (PW-Broker).\r\n */\r\n PerformanceEvents[\"BrokerHandhshake\"] = \"brokerHandshake\";\r\n /**\r\n * acquireTokenByRefreshToken API in BrokerClientApplication (PW-Broker) .\r\n */\r\n PerformanceEvents[\"AcquireTokenByRefreshTokenInBroker\"] = \"acquireTokenByRefreshTokenInBroker\";\r\n /**\r\n * Time taken for token acquisition by broker\r\n */\r\n PerformanceEvents[\"AcquireTokenByBroker\"] = \"acquireTokenByBroker\";\r\n /**\r\n * Time spent on the network for refresh token acquisition\r\n */\r\n PerformanceEvents[\"RefreshTokenClientExecuteTokenRequest\"] = \"refreshTokenClientExecuteTokenRequest\";\r\n /**\r\n * Time taken for acquiring refresh token , records RT size\r\n */\r\n PerformanceEvents[\"RefreshTokenClientAcquireToken\"] = \"refreshTokenClientAcquireToken\";\r\n /**\r\n * Time taken for acquiring cached refresh token\r\n */\r\n PerformanceEvents[\"RefreshTokenClientAcquireTokenWithCachedRefreshToken\"] = \"refreshTokenClientAcquireTokenWithCachedRefreshToken\";\r\n PerformanceEvents[\"AcquireTokenByCodeAsync\"] = \"acquireTokenByCodeAsync\";\r\n PerformanceEvents[\"GetEndpointMetadataFromNetwork\"] = \"getEndpointMetadataFromNetwork\";\r\n PerformanceEvents[\"GetCloudDiscoveryMetadataFromNetworkMeasurement\"] = \"getCloudDiscoveryMetadataFromNetworkMeasurement\";\r\n PerformanceEvents[\"HandleRedirectPromiseMeasurement\"] = \"handleRedirectPromiseMeasurement\";\r\n PerformanceEvents[\"UpdateCloudDiscoveryMetadataMeasurement\"] = \"updateCloudDiscoveryMetadataMeasurement\";\r\n PerformanceEvents[\"UsernamePasswordClientAcquireToken\"] = \"usernamePasswordClientAcquireToken\";\r\n})(PerformanceEvents || (PerformanceEvents = {}));\r\n/**\r\n * State of the performance event.\r\n *\r\n * @export\r\n * @enum {number}\r\n */\r\nvar PerformanceEventStatus;\r\n(function (PerformanceEventStatus) {\r\n PerformanceEventStatus[PerformanceEventStatus[\"NotStarted\"] = 0] = \"NotStarted\";\r\n PerformanceEventStatus[PerformanceEventStatus[\"InProgress\"] = 1] = \"InProgress\";\r\n PerformanceEventStatus[PerformanceEventStatus[\"Completed\"] = 2] = \"Completed\";\r\n})(PerformanceEventStatus || (PerformanceEventStatus = {}));\n\nexport { PerformanceEventStatus, PerformanceEvents };\n","/*! @azure/msal-common v9.1.1 2023-01-19 */\n'use strict';\nimport { __extends } from '../../_virtual/_tslib.js';\nimport { PerformanceClient } from './PerformanceClient.js';\n\n/*\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * Licensed under the MIT License.\r\n */\r\nvar StubPerformanceMeasurement = /** @class */ (function () {\r\n function StubPerformanceMeasurement() {\r\n }\r\n /* eslint-disable-next-line @typescript-eslint/no-empty-function */\r\n StubPerformanceMeasurement.prototype.startMeasurement = function () { };\r\n /* eslint-disable-next-line @typescript-eslint/no-empty-function */\r\n StubPerformanceMeasurement.prototype.endMeasurement = function () { };\r\n StubPerformanceMeasurement.prototype.flushMeasurement = function () {\r\n return null;\r\n };\r\n return StubPerformanceMeasurement;\r\n}());\r\nvar StubPerformanceClient = /** @class */ (function (_super) {\r\n __extends(StubPerformanceClient, _super);\r\n function StubPerformanceClient() {\r\n return _super !== null && _super.apply(this, arguments) || this;\r\n }\r\n StubPerformanceClient.prototype.generateId = function () {\r\n return \"callback-id\";\r\n };\r\n StubPerformanceClient.prototype.startPerformanceMeasuremeant = function () {\r\n return new StubPerformanceMeasurement();\r\n };\r\n StubPerformanceClient.prototype.startPerformanceMeasurement = function () {\r\n return new StubPerformanceMeasurement();\r\n };\r\n return StubPerformanceClient;\r\n}(PerformanceClient));\n\nexport { StubPerformanceClient, StubPerformanceMeasurement };\n","/*! @azure/msal-common v9.1.1 2023-01-19 */\n'use strict';\nimport { SERVER_TELEM_CONSTANTS, CacheOutcome, Constants, Separators } from '../../utils/Constants.js';\nimport { ServerTelemetryEntity } from '../../cache/entities/ServerTelemetryEntity.js';\nimport { StringUtils } from '../../utils/StringUtils.js';\n\n/*\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * Licensed under the MIT License.\r\n */\r\nvar ServerTelemetryManager = /** @class */ (function () {\r\n function ServerTelemetryManager(telemetryRequest, cacheManager) {\r\n this.cacheOutcome = CacheOutcome.NO_CACHE_HIT;\r\n this.cacheManager = cacheManager;\r\n this.apiId = telemetryRequest.apiId;\r\n this.correlationId = telemetryRequest.correlationId;\r\n this.wrapperSKU = telemetryRequest.wrapperSKU || Constants.EMPTY_STRING;\r\n this.wrapperVer = telemetryRequest.wrapperVer || Constants.EMPTY_STRING;\r\n this.telemetryCacheKey = SERVER_TELEM_CONSTANTS.CACHE_KEY + Separators.CACHE_KEY_SEPARATOR + telemetryRequest.clientId;\r\n }\r\n /**\r\n * API to add MSER Telemetry to request\r\n */\r\n ServerTelemetryManager.prototype.generateCurrentRequestHeaderValue = function () {\r\n var request = \"\" + this.apiId + SERVER_TELEM_CONSTANTS.VALUE_SEPARATOR + this.cacheOutcome;\r\n var platformFields = [this.wrapperSKU, this.wrapperVer].join(SERVER_TELEM_CONSTANTS.VALUE_SEPARATOR);\r\n var regionDiscoveryFields = this.getRegionDiscoveryFields();\r\n var requestWithRegionDiscoveryFields = [request, regionDiscoveryFields].join(SERVER_TELEM_CONSTANTS.VALUE_SEPARATOR);\r\n return [SERVER_TELEM_CONSTANTS.SCHEMA_VERSION, requestWithRegionDiscoveryFields, platformFields].join(SERVER_TELEM_CONSTANTS.CATEGORY_SEPARATOR);\r\n };\r\n /**\r\n * API to add MSER Telemetry for the last failed request\r\n */\r\n ServerTelemetryManager.prototype.generateLastRequestHeaderValue = function () {\r\n var lastRequests = this.getLastRequests();\r\n var maxErrors = ServerTelemetryManager.maxErrorsToSend(lastRequests);\r\n var failedRequests = lastRequests.failedRequests.slice(0, 2 * maxErrors).join(SERVER_TELEM_CONSTANTS.VALUE_SEPARATOR);\r\n var errors = lastRequests.errors.slice(0, maxErrors).join(SERVER_TELEM_CONSTANTS.VALUE_SEPARATOR);\r\n var errorCount = lastRequests.errors.length;\r\n // Indicate whether this header contains all data or partial data\r\n var overflow = maxErrors < errorCount ? SERVER_TELEM_CONSTANTS.OVERFLOW_TRUE : SERVER_TELEM_CONSTANTS.OVERFLOW_FALSE;\r\n var platformFields = [errorCount, overflow].join(SERVER_TELEM_CONSTANTS.VALUE_SEPARATOR);\r\n return [SERVER_TELEM_CONSTANTS.SCHEMA_VERSION, lastRequests.cacheHits, failedRequests, errors, platformFields].join(SERVER_TELEM_CONSTANTS.CATEGORY_SEPARATOR);\r\n };\r\n /**\r\n * API to cache token failures for MSER data capture\r\n * @param error\r\n */\r\n ServerTelemetryManager.prototype.cacheFailedRequest = function (error) {\r\n var lastRequests = this.getLastRequests();\r\n if (lastRequests.errors.length >= SERVER_TELEM_CONSTANTS.MAX_CACHED_ERRORS) {\r\n // Remove a cached error to make room, first in first out\r\n lastRequests.failedRequests.shift(); // apiId\r\n lastRequests.failedRequests.shift(); // correlationId\r\n lastRequests.errors.shift();\r\n }\r\n lastRequests.failedRequests.push(this.apiId, this.correlationId);\r\n if (!StringUtils.isEmpty(error.subError)) {\r\n lastRequests.errors.push(error.subError);\r\n }\r\n else if (!StringUtils.isEmpty(error.errorCode)) {\r\n lastRequests.errors.push(error.errorCode);\r\n }\r\n else if (!!error && error.toString()) {\r\n lastRequests.errors.push(error.toString());\r\n }\r\n else {\r\n lastRequests.errors.push(SERVER_TELEM_CONSTANTS.UNKNOWN_ERROR);\r\n }\r\n this.cacheManager.setServerTelemetry(this.telemetryCacheKey, lastRequests);\r\n return;\r\n };\r\n /**\r\n * Update server telemetry cache entry by incrementing cache hit counter\r\n */\r\n ServerTelemetryManager.prototype.incrementCacheHits = function () {\r\n var lastRequests = this.getLastRequests();\r\n lastRequests.cacheHits += 1;\r\n this.cacheManager.setServerTelemetry(this.telemetryCacheKey, lastRequests);\r\n return lastRequests.cacheHits;\r\n };\r\n /**\r\n * Get the server telemetry entity from cache or initialize a new one\r\n */\r\n ServerTelemetryManager.prototype.getLastRequests = function () {\r\n var initialValue = new ServerTelemetryEntity();\r\n var lastRequests = this.cacheManager.getServerTelemetry(this.telemetryCacheKey);\r\n return lastRequests || initialValue;\r\n };\r\n /**\r\n * Remove server telemetry cache entry\r\n */\r\n ServerTelemetryManager.prototype.clearTelemetryCache = function () {\r\n var lastRequests = this.getLastRequests();\r\n var numErrorsFlushed = ServerTelemetryManager.maxErrorsToSend(lastRequests);\r\n var errorCount = lastRequests.errors.length;\r\n if (numErrorsFlushed === errorCount) {\r\n // All errors were sent on last request, clear Telemetry cache\r\n this.cacheManager.removeItem(this.telemetryCacheKey);\r\n }\r\n else {\r\n // Partial data was flushed to server, construct a new telemetry cache item with errors that were not flushed\r\n var serverTelemEntity = new ServerTelemetryEntity();\r\n serverTelemEntity.failedRequests = lastRequests.failedRequests.slice(numErrorsFlushed * 2); // failedRequests contains 2 items for each error\r\n serverTelemEntity.errors = lastRequests.errors.slice(numErrorsFlushed);\r\n this.cacheManager.setServerTelemetry(this.telemetryCacheKey, serverTelemEntity);\r\n }\r\n };\r\n /**\r\n * Returns the maximum number of errors that can be flushed to the server in the next network request\r\n * @param serverTelemetryEntity\r\n */\r\n ServerTelemetryManager.maxErrorsToSend = function (serverTelemetryEntity) {\r\n var i;\r\n var maxErrors = 0;\r\n var dataSize = 0;\r\n var errorCount = serverTelemetryEntity.errors.length;\r\n for (i = 0; i < errorCount; i++) {\r\n // failedRequests parameter contains pairs of apiId and correlationId, multiply index by 2 to preserve pairs\r\n var apiId = serverTelemetryEntity.failedRequests[2 * i] || Constants.EMPTY_STRING;\r\n var correlationId = serverTelemetryEntity.failedRequests[2 * i + 1] || Constants.EMPTY_STRING;\r\n var errorCode = serverTelemetryEntity.errors[i] || Constants.EMPTY_STRING;\r\n // Count number of characters that would be added to header, each character is 1 byte. Add 3 at the end to account for separators\r\n dataSize += apiId.toString().length + correlationId.toString().length + errorCode.length + 3;\r\n if (dataSize < SERVER_TELEM_CONSTANTS.MAX_LAST_HEADER_BYTES) {\r\n // Adding this entry to the header would still keep header size below the limit\r\n maxErrors += 1;\r\n }\r\n else {\r\n break;\r\n }\r\n }\r\n return maxErrors;\r\n };\r\n /**\r\n * Get the region discovery fields\r\n *\r\n * @returns string\r\n */\r\n ServerTelemetryManager.prototype.getRegionDiscoveryFields = function () {\r\n var regionDiscoveryFields = [];\r\n regionDiscoveryFields.push(this.regionUsed || Constants.EMPTY_STRING);\r\n regionDiscoveryFields.push(this.regionSource || Constants.EMPTY_STRING);\r\n regionDiscoveryFields.push(this.regionOutcome || Constants.EMPTY_STRING);\r\n return regionDiscoveryFields.join(\",\");\r\n };\r\n /**\r\n * Update the region discovery metadata\r\n *\r\n * @param regionDiscoveryMetadata\r\n * @returns void\r\n */\r\n ServerTelemetryManager.prototype.updateRegionDiscoveryMetadata = function (regionDiscoveryMetadata) {\r\n this.regionUsed = regionDiscoveryMetadata.region_used;\r\n this.regionSource = regionDiscoveryMetadata.region_source;\r\n this.regionOutcome = regionDiscoveryMetadata.region_outcome;\r\n };\r\n /**\r\n * Set cache outcome\r\n */\r\n ServerTelemetryManager.prototype.setCacheOutcome = function (cacheOutcome) {\r\n this.cacheOutcome = cacheOutcome;\r\n };\r\n return ServerTelemetryManager;\r\n}());\n\nexport { ServerTelemetryManager };\n","/*! @azure/msal-common v9.1.1 2023-01-19 */\n'use strict';\nimport { ClientConfigurationError } from '../error/ClientConfigurationError.js';\nimport { ClientAuthError } from '../error/ClientAuthError.js';\nimport { StringUtils } from '../utils/StringUtils.js';\nimport { AADAuthorityConstants, Constants } from '../utils/Constants.js';\n\n/*\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * Licensed under the MIT License.\r\n */\r\n/**\r\n * Url object class which can perform various transformations on url strings.\r\n */\r\nvar UrlString = /** @class */ (function () {\r\n function UrlString(url) {\r\n this._urlString = url;\r\n if (StringUtils.isEmpty(this._urlString)) {\r\n // Throws error if url is empty\r\n throw ClientConfigurationError.createUrlEmptyError();\r\n }\r\n if (StringUtils.isEmpty(this.getHash())) {\r\n this._urlString = UrlString.canonicalizeUri(url);\r\n }\r\n }\r\n Object.defineProperty(UrlString.prototype, \"urlString\", {\r\n get: function () {\r\n return this._urlString;\r\n },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n /**\r\n * Ensure urls are lower case and end with a / character.\r\n * @param url\r\n */\r\n UrlString.canonicalizeUri = function (url) {\r\n if (url) {\r\n var lowerCaseUrl = url.toLowerCase();\r\n if (StringUtils.endsWith(lowerCaseUrl, \"?\")) {\r\n lowerCaseUrl = lowerCaseUrl.slice(0, -1);\r\n }\r\n else if (StringUtils.endsWith(lowerCaseUrl, \"?/\")) {\r\n lowerCaseUrl = lowerCaseUrl.slice(0, -2);\r\n }\r\n if (!StringUtils.endsWith(lowerCaseUrl, \"/\")) {\r\n lowerCaseUrl += \"/\";\r\n }\r\n return lowerCaseUrl;\r\n }\r\n return url;\r\n };\r\n /**\r\n * Throws if urlString passed is not a valid authority URI string.\r\n */\r\n UrlString.prototype.validateAsUri = function () {\r\n // Attempts to parse url for uri components\r\n var components;\r\n try {\r\n components = this.getUrlComponents();\r\n }\r\n catch (e) {\r\n throw ClientConfigurationError.createUrlParseError(e);\r\n }\r\n // Throw error if URI or path segments are not parseable.\r\n if (!components.HostNameAndPort || !components.PathSegments) {\r\n throw ClientConfigurationError.createUrlParseError(\"Given url string: \" + this.urlString);\r\n }\r\n // Throw error if uri is insecure.\r\n if (!components.Protocol || components.Protocol.toLowerCase() !== \"https:\") {\r\n throw ClientConfigurationError.createInsecureAuthorityUriError(this.urlString);\r\n }\r\n };\r\n /**\r\n * Given a url and a query string return the url with provided query string appended\r\n * @param url\r\n * @param queryString\r\n */\r\n UrlString.appendQueryString = function (url, queryString) {\r\n if (StringUtils.isEmpty(queryString)) {\r\n return url;\r\n }\r\n return url.indexOf(\"?\") < 0 ? url + \"?\" + queryString : url + \"&\" + queryString;\r\n };\r\n /**\r\n * Returns a url with the hash removed\r\n * @param url\r\n */\r\n UrlString.removeHashFromUrl = function (url) {\r\n return UrlString.canonicalizeUri(url.split(\"#\")[0]);\r\n };\r\n /**\r\n * Given a url like https://a:b/common/d?e=f#g, and a tenantId, returns https://a:b/tenantId/d\r\n * @param href The url\r\n * @param tenantId The tenant id to replace\r\n */\r\n UrlString.prototype.replaceTenantPath = function (tenantId) {\r\n var urlObject = this.getUrlComponents();\r\n var pathArray = urlObject.PathSegments;\r\n if (tenantId && (pathArray.length !== 0 && (pathArray[0] === AADAuthorityConstants.COMMON || pathArray[0] === AADAuthorityConstants.ORGANIZATIONS))) {\r\n pathArray[0] = tenantId;\r\n }\r\n return UrlString.constructAuthorityUriFromObject(urlObject);\r\n };\r\n /**\r\n * Returns the anchor part(#) of the URL\r\n */\r\n UrlString.prototype.getHash = function () {\r\n return UrlString.parseHash(this.urlString);\r\n };\r\n /**\r\n * Parses out the components from a url string.\r\n * @returns An object with the various components. Please cache this value insted of calling this multiple times on the same url.\r\n */\r\n UrlString.prototype.getUrlComponents = function () {\r\n // https://gist.github.com/curtisz/11139b2cfcaef4a261e0\r\n var regEx = RegExp(\"^(([^:/?#]+):)?(//([^/?#]*))?([^?#]*)(\\\\?([^#]*))?(#(.*))?\");\r\n // If url string does not match regEx, we throw an error\r\n var match = this.urlString.match(regEx);\r\n if (!match) {\r\n throw ClientConfigurationError.createUrlParseError(\"Given url string: \" + this.urlString);\r\n }\r\n // Url component object\r\n var urlComponents = {\r\n Protocol: match[1],\r\n HostNameAndPort: match[4],\r\n AbsolutePath: match[5],\r\n QueryString: match[7]\r\n };\r\n var pathSegments = urlComponents.AbsolutePath.split(\"/\");\r\n pathSegments = pathSegments.filter(function (val) { return val && val.length > 0; }); // remove empty elements\r\n urlComponents.PathSegments = pathSegments;\r\n if (!StringUtils.isEmpty(urlComponents.QueryString) && urlComponents.QueryString.endsWith(\"/\")) {\r\n urlComponents.QueryString = urlComponents.QueryString.substring(0, urlComponents.QueryString.length - 1);\r\n }\r\n return urlComponents;\r\n };\r\n UrlString.getDomainFromUrl = function (url) {\r\n var regEx = RegExp(\"^([^:/?#]+://)?([^/?#]*)\");\r\n var match = url.match(regEx);\r\n if (!match) {\r\n throw ClientConfigurationError.createUrlParseError(\"Given url string: \" + url);\r\n }\r\n return match[2];\r\n };\r\n UrlString.getAbsoluteUrl = function (relativeUrl, baseUrl) {\r\n if (relativeUrl[0] === Constants.FORWARD_SLASH) {\r\n var url = new UrlString(baseUrl);\r\n var baseComponents = url.getUrlComponents();\r\n return baseComponents.Protocol + \"//\" + baseComponents.HostNameAndPort + relativeUrl;\r\n }\r\n return relativeUrl;\r\n };\r\n /**\r\n * Parses hash string from given string. Returns empty string if no hash symbol is found.\r\n * @param hashString\r\n */\r\n UrlString.parseHash = function (hashString) {\r\n var hashIndex1 = hashString.indexOf(\"#\");\r\n var hashIndex2 = hashString.indexOf(\"#/\");\r\n if (hashIndex2 > -1) {\r\n return hashString.substring(hashIndex2 + 2);\r\n }\r\n else if (hashIndex1 > -1) {\r\n return hashString.substring(hashIndex1 + 1);\r\n }\r\n return Constants.EMPTY_STRING;\r\n };\r\n /**\r\n * Parses query string from given string. Returns empty string if no query symbol is found.\r\n * @param queryString\r\n */\r\n UrlString.parseQueryString = function (queryString) {\r\n var queryIndex1 = queryString.indexOf(\"?\");\r\n var queryIndex2 = queryString.indexOf(\"/?\");\r\n if (queryIndex2 > -1) {\r\n return queryString.substring(queryIndex2 + 2);\r\n }\r\n else if (queryIndex1 > -1) {\r\n return queryString.substring(queryIndex1 + 1);\r\n }\r\n return Constants.EMPTY_STRING;\r\n };\r\n UrlString.constructAuthorityUriFromObject = function (urlObject) {\r\n return new UrlString(urlObject.Protocol + \"//\" + urlObject.HostNameAndPort + \"/\" + urlObject.PathSegments.join(\"/\"));\r\n };\r\n /**\r\n * Returns URL hash as server auth code response object.\r\n */\r\n UrlString.getDeserializedHash = function (hash) {\r\n // Check if given hash is empty\r\n if (StringUtils.isEmpty(hash)) {\r\n return {};\r\n }\r\n // Strip the # symbol if present\r\n var parsedHash = UrlString.parseHash(hash);\r\n // If # symbol was not present, above will return empty string, so give original hash value\r\n var deserializedHash = StringUtils.queryStringToObject(StringUtils.isEmpty(parsedHash) ? hash : parsedHash);\r\n // Check if deserialization didn't work\r\n if (!deserializedHash) {\r\n throw ClientAuthError.createHashNotDeserializedError(JSON.stringify(deserializedHash));\r\n }\r\n return deserializedHash;\r\n };\r\n /**\r\n * Returns URL query string as server auth code response object.\r\n */\r\n UrlString.getDeserializedQueryString = function (query) {\r\n // Check if given query is empty\r\n if (StringUtils.isEmpty(query)) {\r\n return {};\r\n }\r\n // Strip the ? symbol if present\r\n var parsedQueryString = UrlString.parseQueryString(query);\r\n // If ? symbol was not present, above will return empty string, so give original query value\r\n var deserializedQueryString = StringUtils.queryStringToObject(StringUtils.isEmpty(parsedQueryString) ? query : parsedQueryString);\r\n // Check if deserialization didn't work\r\n if (!deserializedQueryString) {\r\n throw ClientAuthError.createHashNotDeserializedError(JSON.stringify(deserializedQueryString));\r\n }\r\n return deserializedQueryString;\r\n };\r\n /**\r\n * Check if the hash of the URL string contains known properties\r\n */\r\n UrlString.hashContainsKnownProperties = function (hash) {\r\n if (StringUtils.isEmpty(hash) || hash.indexOf(\"=\") < 0) {\r\n // Hash doesn't contain key/value pairs\r\n return false;\r\n }\r\n var parameters = UrlString.getDeserializedHash(hash);\r\n return !!(parameters.code ||\r\n parameters.error_description ||\r\n parameters.error ||\r\n parameters.state);\r\n };\r\n return UrlString;\r\n}());\n\nexport { UrlString };\n","/*! @azure/msal-common v9.1.1 2023-01-19 */\n'use strict';\nimport { __spreadArrays } from '../_virtual/_tslib.js';\n\n/*\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * Licensed under the MIT License.\r\n */\r\nvar Constants = {\r\n LIBRARY_NAME: \"MSAL.JS\",\r\n SKU: \"msal.js.common\",\r\n // Prefix for all library cache entries\r\n CACHE_PREFIX: \"msal\",\r\n // default authority\r\n DEFAULT_AUTHORITY: \"https://login.microsoftonline.com/common/\",\r\n DEFAULT_AUTHORITY_HOST: \"login.microsoftonline.com\",\r\n DEFAULT_COMMON_TENANT: \"common\",\r\n // ADFS String\r\n ADFS: \"adfs\",\r\n DSTS: \"dstsv2\",\r\n // Default AAD Instance Discovery Endpoint\r\n AAD_INSTANCE_DISCOVERY_ENDPT: \"https://login.microsoftonline.com/common/discovery/instance?api-version=1.1&authorization_endpoint=\",\r\n // Resource delimiter - used for certain cache entries\r\n RESOURCE_DELIM: \"|\",\r\n // Placeholder for non-existent account ids/objects\r\n NO_ACCOUNT: \"NO_ACCOUNT\",\r\n // Claims\r\n CLAIMS: \"claims\",\r\n // Consumer UTID\r\n CONSUMER_UTID: \"9188040d-6c67-4c5b-b112-36a304b66dad\",\r\n // Default scopes\r\n OPENID_SCOPE: \"openid\",\r\n PROFILE_SCOPE: \"profile\",\r\n OFFLINE_ACCESS_SCOPE: \"offline_access\",\r\n EMAIL_SCOPE: \"email\",\r\n // Default response type for authorization code flow\r\n CODE_RESPONSE_TYPE: \"code\",\r\n CODE_GRANT_TYPE: \"authorization_code\",\r\n RT_GRANT_TYPE: \"refresh_token\",\r\n FRAGMENT_RESPONSE_MODE: \"fragment\",\r\n S256_CODE_CHALLENGE_METHOD: \"S256\",\r\n URL_FORM_CONTENT_TYPE: \"application/x-www-form-urlencoded;charset=utf-8\",\r\n AUTHORIZATION_PENDING: \"authorization_pending\",\r\n NOT_DEFINED: \"not_defined\",\r\n EMPTY_STRING: \"\",\r\n NOT_APPLICABLE: \"N/A\",\r\n FORWARD_SLASH: \"/\",\r\n IMDS_ENDPOINT: \"http://169.254.169.254/metadata/instance/compute/location\",\r\n IMDS_VERSION: \"2020-06-01\",\r\n IMDS_TIMEOUT: 2000,\r\n AZURE_REGION_AUTO_DISCOVER_FLAG: \"TryAutoDetect\",\r\n REGIONAL_AUTH_PUBLIC_CLOUD_SUFFIX: \"login.microsoft.com\",\r\n REGIONAL_AUTH_NON_MSI_QUERY_STRING: \"allowestsrnonmsi=true\",\r\n KNOWN_PUBLIC_CLOUDS: [\"login.microsoftonline.com\", \"login.windows.net\", \"login.microsoft.com\", \"sts.windows.net\"],\r\n TOKEN_RESPONSE_TYPE: \"token\",\r\n ID_TOKEN_RESPONSE_TYPE: \"id_token\",\r\n SHR_NONCE_VALIDITY: 240,\r\n INVALID_INSTANCE: \"invalid_instance\",\r\n};\r\nvar OIDC_DEFAULT_SCOPES = [\r\n Constants.OPENID_SCOPE,\r\n Constants.PROFILE_SCOPE,\r\n Constants.OFFLINE_ACCESS_SCOPE\r\n];\r\nvar OIDC_SCOPES = __spreadArrays(OIDC_DEFAULT_SCOPES, [\r\n Constants.EMAIL_SCOPE\r\n]);\r\n/**\r\n * Request header names\r\n */\r\nvar HeaderNames;\r\n(function (HeaderNames) {\r\n HeaderNames[\"CONTENT_TYPE\"] = \"Content-Type\";\r\n HeaderNames[\"RETRY_AFTER\"] = \"Retry-After\";\r\n HeaderNames[\"CCS_HEADER\"] = \"X-AnchorMailbox\";\r\n HeaderNames[\"WWWAuthenticate\"] = \"WWW-Authenticate\";\r\n HeaderNames[\"AuthenticationInfo\"] = \"Authentication-Info\";\r\n HeaderNames[\"X_MS_REQUEST_ID\"] = \"x-ms-request-id\";\r\n HeaderNames[\"X_MS_HTTP_VERSION\"] = \"x-ms-httpver\";\r\n})(HeaderNames || (HeaderNames = {}));\r\n/**\r\n * Persistent cache keys MSAL which stay while user is logged in.\r\n */\r\nvar PersistentCacheKeys;\r\n(function (PersistentCacheKeys) {\r\n PersistentCacheKeys[\"ID_TOKEN\"] = \"idtoken\";\r\n PersistentCacheKeys[\"CLIENT_INFO\"] = \"client.info\";\r\n PersistentCacheKeys[\"ADAL_ID_TOKEN\"] = \"adal.idtoken\";\r\n PersistentCacheKeys[\"ERROR\"] = \"error\";\r\n PersistentCacheKeys[\"ERROR_DESC\"] = \"error.description\";\r\n PersistentCacheKeys[\"ACTIVE_ACCOUNT\"] = \"active-account\";\r\n PersistentCacheKeys[\"ACTIVE_ACCOUNT_FILTERS\"] = \"active-account-filters\"; // new cache entry for active_account for a more robust version for browser\r\n})(PersistentCacheKeys || (PersistentCacheKeys = {}));\r\n/**\r\n * String constants related to AAD Authority\r\n */\r\nvar AADAuthorityConstants;\r\n(function (AADAuthorityConstants) {\r\n AADAuthorityConstants[\"COMMON\"] = \"common\";\r\n AADAuthorityConstants[\"ORGANIZATIONS\"] = \"organizations\";\r\n AADAuthorityConstants[\"CONSUMERS\"] = \"consumers\";\r\n})(AADAuthorityConstants || (AADAuthorityConstants = {}));\r\n/**\r\n * Keys in the hashParams sent by AAD Server\r\n */\r\nvar AADServerParamKeys;\r\n(function (AADServerParamKeys) {\r\n AADServerParamKeys[\"CLIENT_ID\"] = \"client_id\";\r\n AADServerParamKeys[\"REDIRECT_URI\"] = \"redirect_uri\";\r\n AADServerParamKeys[\"RESPONSE_TYPE\"] = \"response_type\";\r\n AADServerParamKeys[\"RESPONSE_MODE\"] = \"response_mode\";\r\n AADServerParamKeys[\"GRANT_TYPE\"] = \"grant_type\";\r\n AADServerParamKeys[\"CLAIMS\"] = \"claims\";\r\n AADServerParamKeys[\"SCOPE\"] = \"scope\";\r\n AADServerParamKeys[\"ERROR\"] = \"error\";\r\n AADServerParamKeys[\"ERROR_DESCRIPTION\"] = \"error_description\";\r\n AADServerParamKeys[\"ACCESS_TOKEN\"] = \"access_token\";\r\n AADServerParamKeys[\"ID_TOKEN\"] = \"id_token\";\r\n AADServerParamKeys[\"REFRESH_TOKEN\"] = \"refresh_token\";\r\n AADServerParamKeys[\"EXPIRES_IN\"] = \"expires_in\";\r\n AADServerParamKeys[\"STATE\"] = \"state\";\r\n AADServerParamKeys[\"NONCE\"] = \"nonce\";\r\n AADServerParamKeys[\"PROMPT\"] = \"prompt\";\r\n AADServerParamKeys[\"SESSION_STATE\"] = \"session_state\";\r\n AADServerParamKeys[\"CLIENT_INFO\"] = \"client_info\";\r\n AADServerParamKeys[\"CODE\"] = \"code\";\r\n AADServerParamKeys[\"CODE_CHALLENGE\"] = \"code_challenge\";\r\n AADServerParamKeys[\"CODE_CHALLENGE_METHOD\"] = \"code_challenge_method\";\r\n AADServerParamKeys[\"CODE_VERIFIER\"] = \"code_verifier\";\r\n AADServerParamKeys[\"CLIENT_REQUEST_ID\"] = \"client-request-id\";\r\n AADServerParamKeys[\"X_CLIENT_SKU\"] = \"x-client-SKU\";\r\n AADServerParamKeys[\"X_CLIENT_VER\"] = \"x-client-VER\";\r\n AADServerParamKeys[\"X_CLIENT_OS\"] = \"x-client-OS\";\r\n AADServerParamKeys[\"X_CLIENT_CPU\"] = \"x-client-CPU\";\r\n AADServerParamKeys[\"X_CLIENT_CURR_TELEM\"] = \"x-client-current-telemetry\";\r\n AADServerParamKeys[\"X_CLIENT_LAST_TELEM\"] = \"x-client-last-telemetry\";\r\n AADServerParamKeys[\"X_MS_LIB_CAPABILITY\"] = \"x-ms-lib-capability\";\r\n AADServerParamKeys[\"X_APP_NAME\"] = \"x-app-name\";\r\n AADServerParamKeys[\"X_APP_VER\"] = \"x-app-ver\";\r\n AADServerParamKeys[\"POST_LOGOUT_URI\"] = \"post_logout_redirect_uri\";\r\n AADServerParamKeys[\"ID_TOKEN_HINT\"] = \"id_token_hint\";\r\n AADServerParamKeys[\"DEVICE_CODE\"] = \"device_code\";\r\n AADServerParamKeys[\"CLIENT_SECRET\"] = \"client_secret\";\r\n AADServerParamKeys[\"CLIENT_ASSERTION\"] = \"client_assertion\";\r\n AADServerParamKeys[\"CLIENT_ASSERTION_TYPE\"] = \"client_assertion_type\";\r\n AADServerParamKeys[\"TOKEN_TYPE\"] = \"token_type\";\r\n AADServerParamKeys[\"REQ_CNF\"] = \"req_cnf\";\r\n AADServerParamKeys[\"OBO_ASSERTION\"] = \"assertion\";\r\n AADServerParamKeys[\"REQUESTED_TOKEN_USE\"] = \"requested_token_use\";\r\n AADServerParamKeys[\"ON_BEHALF_OF\"] = \"on_behalf_of\";\r\n AADServerParamKeys[\"FOCI\"] = \"foci\";\r\n AADServerParamKeys[\"CCS_HEADER\"] = \"X-AnchorMailbox\";\r\n AADServerParamKeys[\"RETURN_SPA_CODE\"] = \"return_spa_code\";\r\n AADServerParamKeys[\"NATIVE_BROKER\"] = \"nativebroker\";\r\n AADServerParamKeys[\"LOGOUT_HINT\"] = \"logout_hint\";\r\n})(AADServerParamKeys || (AADServerParamKeys = {}));\r\n/**\r\n * Claims request keys\r\n */\r\nvar ClaimsRequestKeys;\r\n(function (ClaimsRequestKeys) {\r\n ClaimsRequestKeys[\"ACCESS_TOKEN\"] = \"access_token\";\r\n ClaimsRequestKeys[\"XMS_CC\"] = \"xms_cc\";\r\n})(ClaimsRequestKeys || (ClaimsRequestKeys = {}));\r\n/**\r\n * we considered making this \"enum\" in the request instead of string, however it looks like the allowed list of\r\n * prompt values kept changing over past couple of years. There are some undocumented prompt values for some\r\n * internal partners too, hence the choice of generic \"string\" type instead of the \"enum\"\r\n */\r\nvar PromptValue = {\r\n LOGIN: \"login\",\r\n SELECT_ACCOUNT: \"select_account\",\r\n CONSENT: \"consent\",\r\n NONE: \"none\",\r\n CREATE: \"create\",\r\n NO_SESSION: \"no_session\"\r\n};\r\n/**\r\n * SSO Types - generated to populate hints\r\n */\r\nvar SSOTypes;\r\n(function (SSOTypes) {\r\n SSOTypes[\"ACCOUNT\"] = \"account\";\r\n SSOTypes[\"SID\"] = \"sid\";\r\n SSOTypes[\"LOGIN_HINT\"] = \"login_hint\";\r\n SSOTypes[\"ID_TOKEN\"] = \"id_token\";\r\n SSOTypes[\"DOMAIN_HINT\"] = \"domain_hint\";\r\n SSOTypes[\"ORGANIZATIONS\"] = \"organizations\";\r\n SSOTypes[\"CONSUMERS\"] = \"consumers\";\r\n SSOTypes[\"ACCOUNT_ID\"] = \"accountIdentifier\";\r\n SSOTypes[\"HOMEACCOUNT_ID\"] = \"homeAccountIdentifier\";\r\n})(SSOTypes || (SSOTypes = {}));\r\n/**\r\n * allowed values for codeVerifier\r\n */\r\nvar CodeChallengeMethodValues = {\r\n PLAIN: \"plain\",\r\n S256: \"S256\"\r\n};\r\n/**\r\n * allowed values for response_mode\r\n */\r\nvar ResponseMode;\r\n(function (ResponseMode) {\r\n ResponseMode[\"QUERY\"] = \"query\";\r\n ResponseMode[\"FRAGMENT\"] = \"fragment\";\r\n ResponseMode[\"FORM_POST\"] = \"form_post\";\r\n})(ResponseMode || (ResponseMode = {}));\r\n/**\r\n * allowed grant_type\r\n */\r\nvar GrantType;\r\n(function (GrantType) {\r\n GrantType[\"IMPLICIT_GRANT\"] = \"implicit\";\r\n GrantType[\"AUTHORIZATION_CODE_GRANT\"] = \"authorization_code\";\r\n GrantType[\"CLIENT_CREDENTIALS_GRANT\"] = \"client_credentials\";\r\n GrantType[\"RESOURCE_OWNER_PASSWORD_GRANT\"] = \"password\";\r\n GrantType[\"REFRESH_TOKEN_GRANT\"] = \"refresh_token\";\r\n GrantType[\"DEVICE_CODE_GRANT\"] = \"device_code\";\r\n GrantType[\"JWT_BEARER\"] = \"urn:ietf:params:oauth:grant-type:jwt-bearer\";\r\n})(GrantType || (GrantType = {}));\r\n/**\r\n * Account types in Cache\r\n */\r\nvar CacheAccountType;\r\n(function (CacheAccountType) {\r\n CacheAccountType[\"MSSTS_ACCOUNT_TYPE\"] = \"MSSTS\";\r\n CacheAccountType[\"ADFS_ACCOUNT_TYPE\"] = \"ADFS\";\r\n CacheAccountType[\"MSAV1_ACCOUNT_TYPE\"] = \"MSA\";\r\n CacheAccountType[\"GENERIC_ACCOUNT_TYPE\"] = \"Generic\"; // NTLM, Kerberos, FBA, Basic etc\r\n})(CacheAccountType || (CacheAccountType = {}));\r\n/**\r\n * Separators used in cache\r\n */\r\nvar Separators;\r\n(function (Separators) {\r\n Separators[\"CACHE_KEY_SEPARATOR\"] = \"-\";\r\n Separators[\"CLIENT_INFO_SEPARATOR\"] = \".\";\r\n})(Separators || (Separators = {}));\r\n/**\r\n * Credential Type stored in the cache\r\n */\r\nvar CredentialType;\r\n(function (CredentialType) {\r\n CredentialType[\"ID_TOKEN\"] = \"IdToken\";\r\n CredentialType[\"ACCESS_TOKEN\"] = \"AccessToken\";\r\n CredentialType[\"ACCESS_TOKEN_WITH_AUTH_SCHEME\"] = \"AccessToken_With_AuthScheme\";\r\n CredentialType[\"REFRESH_TOKEN\"] = \"RefreshToken\";\r\n})(CredentialType || (CredentialType = {}));\r\n/**\r\n * Credential Type stored in the cache\r\n */\r\nvar CacheSchemaType;\r\n(function (CacheSchemaType) {\r\n CacheSchemaType[\"ACCOUNT\"] = \"Account\";\r\n CacheSchemaType[\"CREDENTIAL\"] = \"Credential\";\r\n CacheSchemaType[\"ID_TOKEN\"] = \"IdToken\";\r\n CacheSchemaType[\"ACCESS_TOKEN\"] = \"AccessToken\";\r\n CacheSchemaType[\"REFRESH_TOKEN\"] = \"RefreshToken\";\r\n CacheSchemaType[\"APP_METADATA\"] = \"AppMetadata\";\r\n CacheSchemaType[\"TEMPORARY\"] = \"TempCache\";\r\n CacheSchemaType[\"TELEMETRY\"] = \"Telemetry\";\r\n CacheSchemaType[\"UNDEFINED\"] = \"Undefined\";\r\n CacheSchemaType[\"THROTTLING\"] = \"Throttling\";\r\n})(CacheSchemaType || (CacheSchemaType = {}));\r\n/**\r\n * Combine all cache types\r\n */\r\nvar CacheType;\r\n(function (CacheType) {\r\n CacheType[CacheType[\"ADFS\"] = 1001] = \"ADFS\";\r\n CacheType[CacheType[\"MSA\"] = 1002] = \"MSA\";\r\n CacheType[CacheType[\"MSSTS\"] = 1003] = \"MSSTS\";\r\n CacheType[CacheType[\"GENERIC\"] = 1004] = \"GENERIC\";\r\n CacheType[CacheType[\"ACCESS_TOKEN\"] = 2001] = \"ACCESS_TOKEN\";\r\n CacheType[CacheType[\"REFRESH_TOKEN\"] = 2002] = \"REFRESH_TOKEN\";\r\n CacheType[CacheType[\"ID_TOKEN\"] = 2003] = \"ID_TOKEN\";\r\n CacheType[CacheType[\"APP_METADATA\"] = 3001] = \"APP_METADATA\";\r\n CacheType[CacheType[\"UNDEFINED\"] = 9999] = \"UNDEFINED\";\r\n})(CacheType || (CacheType = {}));\r\n/**\r\n * More Cache related constants\r\n */\r\nvar APP_METADATA = \"appmetadata\";\r\nvar CLIENT_INFO = \"client_info\";\r\nvar THE_FAMILY_ID = \"1\";\r\nvar AUTHORITY_METADATA_CONSTANTS = {\r\n CACHE_KEY: \"authority-metadata\",\r\n REFRESH_TIME_SECONDS: 3600 * 24 // 24 Hours\r\n};\r\nvar AuthorityMetadataSource;\r\n(function (AuthorityMetadataSource) {\r\n AuthorityMetadataSource[\"CONFIG\"] = \"config\";\r\n AuthorityMetadataSource[\"CACHE\"] = \"cache\";\r\n AuthorityMetadataSource[\"NETWORK\"] = \"network\";\r\n AuthorityMetadataSource[\"HARDCODED_VALUES\"] = \"hardcoded_values\";\r\n})(AuthorityMetadataSource || (AuthorityMetadataSource = {}));\r\nvar SERVER_TELEM_CONSTANTS = {\r\n SCHEMA_VERSION: 5,\r\n MAX_CUR_HEADER_BYTES: 80,\r\n MAX_LAST_HEADER_BYTES: 330,\r\n MAX_CACHED_ERRORS: 50,\r\n CACHE_KEY: \"server-telemetry\",\r\n CATEGORY_SEPARATOR: \"|\",\r\n VALUE_SEPARATOR: \",\",\r\n OVERFLOW_TRUE: \"1\",\r\n OVERFLOW_FALSE: \"0\",\r\n UNKNOWN_ERROR: \"unknown_error\"\r\n};\r\n/**\r\n * Type of the authentication request\r\n */\r\nvar AuthenticationScheme;\r\n(function (AuthenticationScheme) {\r\n AuthenticationScheme[\"BEARER\"] = \"Bearer\";\r\n AuthenticationScheme[\"POP\"] = \"pop\";\r\n AuthenticationScheme[\"SSH\"] = \"ssh-cert\";\r\n})(AuthenticationScheme || (AuthenticationScheme = {}));\r\n/**\r\n * Constants related to throttling\r\n */\r\nvar ThrottlingConstants = {\r\n // Default time to throttle RequestThumbprint in seconds\r\n DEFAULT_THROTTLE_TIME_SECONDS: 60,\r\n // Default maximum time to throttle in seconds, overrides what the server sends back\r\n DEFAULT_MAX_THROTTLE_TIME_SECONDS: 3600,\r\n // Prefix for storing throttling entries\r\n THROTTLING_PREFIX: \"throttling\",\r\n // Value assigned to the x-ms-lib-capability header to indicate to the server the library supports throttling\r\n X_MS_LIB_CAPABILITY_VALUE: \"retry-after, h429\"\r\n};\r\nvar Errors = {\r\n INVALID_GRANT_ERROR: \"invalid_grant\",\r\n CLIENT_MISMATCH_ERROR: \"client_mismatch\",\r\n};\r\n/**\r\n * Password grant parameters\r\n */\r\nvar PasswordGrantConstants;\r\n(function (PasswordGrantConstants) {\r\n PasswordGrantConstants[\"username\"] = \"username\";\r\n PasswordGrantConstants[\"password\"] = \"password\";\r\n})(PasswordGrantConstants || (PasswordGrantConstants = {}));\r\n/**\r\n * Response codes\r\n */\r\nvar ResponseCodes;\r\n(function (ResponseCodes) {\r\n ResponseCodes[ResponseCodes[\"httpSuccess\"] = 200] = \"httpSuccess\";\r\n ResponseCodes[ResponseCodes[\"httpBadRequest\"] = 400] = \"httpBadRequest\";\r\n})(ResponseCodes || (ResponseCodes = {}));\r\n/**\r\n * Region Discovery Sources\r\n */\r\nvar RegionDiscoverySources;\r\n(function (RegionDiscoverySources) {\r\n RegionDiscoverySources[\"FAILED_AUTO_DETECTION\"] = \"1\";\r\n RegionDiscoverySources[\"INTERNAL_CACHE\"] = \"2\";\r\n RegionDiscoverySources[\"ENVIRONMENT_VARIABLE\"] = \"3\";\r\n RegionDiscoverySources[\"IMDS\"] = \"4\";\r\n})(RegionDiscoverySources || (RegionDiscoverySources = {}));\r\n/**\r\n * Region Discovery Outcomes\r\n */\r\nvar RegionDiscoveryOutcomes;\r\n(function (RegionDiscoveryOutcomes) {\r\n RegionDiscoveryOutcomes[\"CONFIGURED_MATCHES_DETECTED\"] = \"1\";\r\n RegionDiscoveryOutcomes[\"CONFIGURED_NO_AUTO_DETECTION\"] = \"2\";\r\n RegionDiscoveryOutcomes[\"CONFIGURED_NOT_DETECTED\"] = \"3\";\r\n RegionDiscoveryOutcomes[\"AUTO_DETECTION_REQUESTED_SUCCESSFUL\"] = \"4\";\r\n RegionDiscoveryOutcomes[\"AUTO_DETECTION_REQUESTED_FAILED\"] = \"5\";\r\n})(RegionDiscoveryOutcomes || (RegionDiscoveryOutcomes = {}));\r\nvar CacheOutcome;\r\n(function (CacheOutcome) {\r\n CacheOutcome[\"NO_CACHE_HIT\"] = \"0\";\r\n CacheOutcome[\"FORCE_REFRESH\"] = \"1\";\r\n CacheOutcome[\"NO_CACHED_ACCESS_TOKEN\"] = \"2\";\r\n CacheOutcome[\"CACHED_ACCESS_TOKEN_EXPIRED\"] = \"3\";\r\n CacheOutcome[\"REFRESH_CACHED_ACCESS_TOKEN\"] = \"4\";\r\n})(CacheOutcome || (CacheOutcome = {}));\r\nvar JsonTypes;\r\n(function (JsonTypes) {\r\n JsonTypes[\"Jwt\"] = \"JWT\";\r\n JsonTypes[\"Jwk\"] = \"JWK\";\r\n})(JsonTypes || (JsonTypes = {}));\r\nvar ONE_DAY_IN_MS = 86400000;\n\nexport { AADAuthorityConstants, AADServerParamKeys, APP_METADATA, AUTHORITY_METADATA_CONSTANTS, AuthenticationScheme, AuthorityMetadataSource, CLIENT_INFO, CacheAccountType, CacheOutcome, CacheSchemaType, CacheType, ClaimsRequestKeys, CodeChallengeMethodValues, Constants, CredentialType, Errors, GrantType, HeaderNames, JsonTypes, OIDC_DEFAULT_SCOPES, OIDC_SCOPES, ONE_DAY_IN_MS, PasswordGrantConstants, PersistentCacheKeys, PromptValue, RegionDiscoveryOutcomes, RegionDiscoverySources, ResponseCodes, ResponseMode, SERVER_TELEM_CONSTANTS, SSOTypes, Separators, THE_FAMILY_ID, ThrottlingConstants };\n","/*! @azure/msal-common v9.1.1 2023-01-19 */\n'use strict';\nimport { StringUtils } from './StringUtils.js';\nimport { Constants } from './Constants.js';\nimport { ClientAuthError } from '../error/ClientAuthError.js';\n\n/*\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * Licensed under the MIT License.\r\n */\r\n/**\r\n * Class which provides helpers for OAuth 2.0 protocol specific values\r\n */\r\nvar ProtocolUtils = /** @class */ (function () {\r\n function ProtocolUtils() {\r\n }\r\n /**\r\n * Appends user state with random guid, or returns random guid.\r\n * @param userState\r\n * @param randomGuid\r\n */\r\n ProtocolUtils.setRequestState = function (cryptoObj, userState, meta) {\r\n var libraryState = ProtocolUtils.generateLibraryState(cryptoObj, meta);\r\n return !StringUtils.isEmpty(userState) ? \"\" + libraryState + Constants.RESOURCE_DELIM + userState : libraryState;\r\n };\r\n /**\r\n * Generates the state value used by the common library.\r\n * @param randomGuid\r\n * @param cryptoObj\r\n */\r\n ProtocolUtils.generateLibraryState = function (cryptoObj, meta) {\r\n if (!cryptoObj) {\r\n throw ClientAuthError.createNoCryptoObjectError(\"generateLibraryState\");\r\n }\r\n // Create a state object containing a unique id and the timestamp of the request creation\r\n var stateObj = {\r\n id: cryptoObj.createNewGuid()\r\n };\r\n if (meta) {\r\n stateObj.meta = meta;\r\n }\r\n var stateString = JSON.stringify(stateObj);\r\n return cryptoObj.base64Encode(stateString);\r\n };\r\n /**\r\n * Parses the state into the RequestStateObject, which contains the LibraryState info and the state passed by the user.\r\n * @param state\r\n * @param cryptoObj\r\n */\r\n ProtocolUtils.parseRequestState = function (cryptoObj, state) {\r\n if (!cryptoObj) {\r\n throw ClientAuthError.createNoCryptoObjectError(\"parseRequestState\");\r\n }\r\n if (StringUtils.isEmpty(state)) {\r\n throw ClientAuthError.createInvalidStateError(state, \"Null, undefined or empty state\");\r\n }\r\n try {\r\n // Split the state between library state and user passed state and decode them separately\r\n var splitState = state.split(Constants.RESOURCE_DELIM);\r\n var libraryState = splitState[0];\r\n var userState = splitState.length > 1 ? splitState.slice(1).join(Constants.RESOURCE_DELIM) : Constants.EMPTY_STRING;\r\n var libraryStateString = cryptoObj.base64Decode(libraryState);\r\n var libraryStateObj = JSON.parse(libraryStateString);\r\n return {\r\n userRequestState: !StringUtils.isEmpty(userState) ? userState : Constants.EMPTY_STRING,\r\n libraryState: libraryStateObj\r\n };\r\n }\r\n catch (e) {\r\n throw ClientAuthError.createInvalidStateError(state, e);\r\n }\r\n };\r\n return ProtocolUtils;\r\n}());\n\nexport { ProtocolUtils };\n","/*! @azure/msal-common v9.1.1 2023-01-19 */\n'use strict';\nimport { ClientAuthError } from '../error/ClientAuthError.js';\n\n/*\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * Licensed under the MIT License.\r\n */\r\n/**\r\n * @hidden\r\n */\r\nvar StringUtils = /** @class */ (function () {\r\n function StringUtils() {\r\n }\r\n /**\r\n * decode a JWT\r\n *\r\n * @param authToken\r\n */\r\n StringUtils.decodeAuthToken = function (authToken) {\r\n if (StringUtils.isEmpty(authToken)) {\r\n throw ClientAuthError.createTokenNullOrEmptyError(authToken);\r\n }\r\n var tokenPartsRegex = /^([^\\.\\s]*)\\.([^\\.\\s]+)\\.([^\\.\\s]*)$/;\r\n var matches = tokenPartsRegex.exec(authToken);\r\n if (!matches || matches.length < 4) {\r\n throw ClientAuthError.createTokenParsingError(\"Given token is malformed: \" + JSON.stringify(authToken));\r\n }\r\n var crackedToken = {\r\n header: matches[1],\r\n JWSPayload: matches[2],\r\n JWSSig: matches[3]\r\n };\r\n return crackedToken;\r\n };\r\n /**\r\n * Check if a string is empty.\r\n *\r\n * @param str\r\n */\r\n StringUtils.isEmpty = function (str) {\r\n return (typeof str === \"undefined\" || !str || 0 === str.length);\r\n };\r\n /**\r\n * Check if stringified object is empty\r\n * @param strObj\r\n */\r\n StringUtils.isEmptyObj = function (strObj) {\r\n if (strObj && !StringUtils.isEmpty(strObj)) {\r\n try {\r\n var obj = JSON.parse(strObj);\r\n return Object.keys(obj).length === 0;\r\n }\r\n catch (e) { }\r\n }\r\n return true;\r\n };\r\n StringUtils.startsWith = function (str, search) {\r\n return str.indexOf(search) === 0;\r\n };\r\n StringUtils.endsWith = function (str, search) {\r\n return (str.length >= search.length) && (str.lastIndexOf(search) === (str.length - search.length));\r\n };\r\n /**\r\n * Parses string into an object.\r\n *\r\n * @param query\r\n */\r\n StringUtils.queryStringToObject = function (query) {\r\n var obj = {};\r\n var params = query.split(\"&\");\r\n var decode = function (s) { return decodeURIComponent(s.replace(/\\+/g, \" \")); };\r\n params.forEach(function (pair) {\r\n if (pair.trim()) {\r\n var _a = pair.split(/=(.+)/g, 2), key = _a[0], value = _a[1]; // Split on the first occurence of the '=' character\r\n if (key && value) {\r\n obj[decode(key)] = decode(value);\r\n }\r\n }\r\n });\r\n return obj;\r\n };\r\n /**\r\n * Trims entries in an array.\r\n *\r\n * @param arr\r\n */\r\n StringUtils.trimArrayEntries = function (arr) {\r\n return arr.map(function (entry) { return entry.trim(); });\r\n };\r\n /**\r\n * Removes empty strings from array\r\n * @param arr\r\n */\r\n StringUtils.removeEmptyStringsFromArray = function (arr) {\r\n return arr.filter(function (entry) {\r\n return !StringUtils.isEmpty(entry);\r\n });\r\n };\r\n /**\r\n * Attempts to parse a string into JSON\r\n * @param str\r\n */\r\n StringUtils.jsonParseHelper = function (str) {\r\n try {\r\n return JSON.parse(str);\r\n }\r\n catch (e) {\r\n return null;\r\n }\r\n };\r\n /**\r\n * Tests if a given string matches a given pattern, with support for wildcards and queries.\r\n * @param pattern Wildcard pattern to string match. Supports \"*\" for wildcards and \"?\" for queries\r\n * @param input String to match against\r\n */\r\n StringUtils.matchPattern = function (pattern, input) {\r\n /**\r\n * Wildcard support: https://stackoverflow.com/a/3117248/4888559\r\n * Queries: replaces \"?\" in string with escaped \"\\?\" for regex test\r\n */\r\n var regex = new RegExp(pattern.replace(/\\\\/g, \"\\\\\\\\\").replace(/\\*/g, \"[^ ]*\").replace(/\\?/g, \"\\\\\\?\")); // eslint-disable-line security/detect-non-literal-regexp\r\n return regex.test(input);\r\n };\r\n return StringUtils;\r\n}());\n\nexport { StringUtils };\n","/*! @azure/msal-common v9.1.1 2023-01-19 */\n'use strict';\n/*\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * Licensed under the MIT License.\r\n */\r\n/**\r\n * Utility class which exposes functions for managing date and time operations.\r\n */\r\nvar TimeUtils = /** @class */ (function () {\r\n function TimeUtils() {\r\n }\r\n /**\r\n * return the current time in Unix time (seconds).\r\n */\r\n TimeUtils.nowSeconds = function () {\r\n // Date.getTime() returns in milliseconds.\r\n return Math.round(new Date().getTime() / 1000.0);\r\n };\r\n /**\r\n * check if a token is expired based on given UTC time in seconds.\r\n * @param expiresOn\r\n */\r\n TimeUtils.isTokenExpired = function (expiresOn, offset) {\r\n // check for access token expiry\r\n var expirationSec = Number(expiresOn) || 0;\r\n var offsetCurrentTimeSec = TimeUtils.nowSeconds() + offset;\r\n // If current time + offset is greater than token expiration time, then token is expired.\r\n return (offsetCurrentTimeSec > expirationSec);\r\n };\r\n /**\r\n * If the current time is earlier than the time that a token was cached at, we must discard the token\r\n * i.e. The system clock was turned back after acquiring the cached token\r\n * @param cachedAt\r\n * @param offset\r\n */\r\n TimeUtils.wasClockTurnedBack = function (cachedAt) {\r\n var cachedAtSec = Number(cachedAt);\r\n return cachedAtSec > TimeUtils.nowSeconds();\r\n };\r\n /**\r\n * Waits for t number of milliseconds\r\n * @param t number\r\n * @param value T\r\n */\r\n TimeUtils.delay = function (t, value) {\r\n return new Promise(function (resolve) { return setTimeout(function () { return resolve(value); }, t); });\r\n };\r\n return TimeUtils;\r\n}());\n\nexport { TimeUtils };\n","/**\n * @license Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\nexport {};\n","/**\n * @license Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\nimport Watchdog from './watchdog';\nimport EditorWatchdog from './editorwatchdog';\nimport areConnectedThroughProperties from './utils/areconnectedthroughproperties';\nimport getSubNodes from './utils/getsubnodes';\nconst mainQueueId = Symbol('MainQueueId');\n/**\n * A watchdog for the {@link module:core/context~Context} class.\n *\n * See the {@glink features/watchdog Watchdog feature guide} to learn the rationale behind it and\n * how to use it.\n */\nexport default class ContextWatchdog extends Watchdog {\n /**\n * The context watchdog class constructor.\n *\n * ```ts\n * const watchdog = new ContextWatchdog( Context );\n *\n * await watchdog.create( contextConfiguration );\n *\n * await watchdog.add( item );\n * ```\n *\n * See the {@glink features/watchdog Watchdog feature guide} to learn more how to use this feature.\n *\n * @param Context The {@link module:core/context~Context} class.\n * @param watchdogConfig The watchdog configuration.\n */\n constructor(Context, watchdogConfig = {}) {\n super(watchdogConfig);\n /**\n * A map of internal watchdogs for added items.\n */\n this._watchdogs = new Map();\n /**\n * The current context instance.\n */\n this._context = null;\n /**\n * Context properties (nodes/references) that are gathered during the initial context creation\n * and are used to distinguish the origin of an error.\n */\n this._contextProps = new Set();\n /**\n * An action queue, which is used to handle async functions queuing.\n */\n this._actionQueues = new ActionQueues();\n this._watchdogConfig = watchdogConfig;\n // Default creator and destructor.\n this._creator = contextConfig => Context.create(contextConfig);\n this._destructor = context => context.destroy();\n this._actionQueues.onEmpty(() => {\n if (this.state === 'initializing') {\n this.state = 'ready';\n this._fire('stateChange');\n }\n });\n }\n /**\n * Sets the function that is responsible for the context creation.\n * It expects a function that should return a promise (or `undefined`).\n *\n * ```ts\n * watchdog.setCreator( config => Context.create( config ) );\n * ```\n */\n setCreator(creator) {\n this._creator = creator;\n }\n /**\n * Sets the function that is responsible for the context destruction.\n * Overrides the default destruction function, which destroys only the context instance.\n * It expects a function that should return a promise (or `undefined`).\n *\n * ```ts\n * watchdog.setDestructor( context => {\n * \t// Do something before the context is destroyed.\n *\n * \treturn context\n * \t\t.destroy()\n * \t\t.then( () => {\n * \t\t\t// Do something after the context is destroyed.\n * \t\t} );\n * } );\n * ```\n */\n setDestructor(destructor) {\n this._destructor = destructor;\n }\n /**\n * The context instance. Keep in mind that this property might be changed when the context watchdog restarts,\n * so do not keep this instance internally. Always operate on the `ContextWatchdog#context` property.\n */\n get context() {\n return this._context;\n }\n /**\n * Initializes the context watchdog. Once it is created, the watchdog takes care about\n * recreating the context and the provided items, and starts the error handling mechanism.\n *\n * ```ts\n * await watchdog.create( {\n * \tplugins: []\n * } );\n * ```\n *\n * @param contextConfig The context configuration. See {@link module:core/context~Context}.\n */\n create(contextConfig = {}) {\n return this._actionQueues.enqueue(mainQueueId, () => {\n this._contextConfig = contextConfig;\n return this._create();\n });\n }\n /**\n * Returns an item instance with the given `itemId`.\n *\n * ```ts\n * const editor1 = watchdog.getItem( 'editor1' );\n * ```\n *\n * @param itemId The item ID.\n * @returns The item instance or `undefined` if an item with a given ID has not been found.\n */\n getItem(itemId) {\n const watchdog = this._getWatchdog(itemId);\n return watchdog._item;\n }\n /**\n * Gets the state of the given item. See {@link #state} for a list of available states.\n *\n * ```ts\n * const editor1State = watchdog.getItemState( 'editor1' );\n * ```\n *\n * @param itemId Item ID.\n * @returns The state of the item.\n */\n getItemState(itemId) {\n const watchdog = this._getWatchdog(itemId);\n return watchdog.state;\n }\n /**\n * Adds items to the watchdog. Once created, instances of these items will be available using the {@link #getItem} method.\n *\n * Items can be passed together as an array of objects:\n *\n * ```ts\n * await watchdog.add( [ {\n * \tid: 'editor1',\n * \ttype: 'editor',\n * \tsourceElementOrData: document.querySelector( '#editor' ),\n * \tconfig: {\n * \t\tplugins: [ Essentials, Paragraph, Bold, Italic ],\n * \t\ttoolbar: [ 'bold', 'italic', 'alignment' ]\n * \t},\n * \tcreator: ( element, config ) => ClassicEditor.create( element, config )\n * } ] );\n * ```\n *\n * Or one by one as objects:\n *\n * ```ts\n * await watchdog.add( {\n * \tid: 'editor1',\n * \ttype: 'editor',\n * \tsourceElementOrData: document.querySelector( '#editor' ),\n * \tconfig: {\n * \t\tplugins: [ Essentials, Paragraph, Bold, Italic ],\n * \t\ttoolbar: [ 'bold', 'italic', 'alignment' ]\n * \t},\n * \tcreator: ( element, config ) => ClassicEditor.create( element, config )\n * ] );\n * ```\n *\n * Then an instance can be retrieved using the {@link #getItem} method:\n *\n * ```ts\n * const editor1 = watchdog.getItem( 'editor1' );\n * ```\n *\n * Note that this method can be called multiple times, but for performance reasons it is better\n * to pass all items together.\n *\n * @param itemConfigurationOrItemConfigurations An item configuration object or an array of item configurations.\n */\n add(itemConfigurationOrItemConfigurations) {\n const itemConfigurations = toArray(itemConfigurationOrItemConfigurations);\n return Promise.all(itemConfigurations.map(item => {\n return this._actionQueues.enqueue(item.id, () => {\n if (this.state === 'destroyed') {\n throw new Error('Cannot add items to destroyed watchdog.');\n }\n if (!this._context) {\n throw new Error('Context was not created yet. You should call the `ContextWatchdog#create()` method first.');\n }\n let watchdog;\n if (this._watchdogs.has(item.id)) {\n throw new Error(`Item with the given id is already added: '${item.id}'.`);\n }\n if (item.type === 'editor') {\n watchdog = new EditorWatchdog(null, this._watchdogConfig);\n watchdog.setCreator(item.creator);\n watchdog._setExcludedProperties(this._contextProps);\n if (item.destructor) {\n watchdog.setDestructor(item.destructor);\n }\n this._watchdogs.set(item.id, watchdog);\n // Enqueue the internal watchdog errors within the main queue.\n // And propagate the internal `error` events as `itemError` event.\n watchdog.on('error', (evt, { error, causesRestart }) => {\n this._fire('itemError', { itemId: item.id, error });\n // Do not enqueue the item restart action if the item will not restart.\n if (!causesRestart) {\n return;\n }\n this._actionQueues.enqueue(item.id, () => new Promise(res => {\n const rethrowRestartEventOnce = () => {\n watchdog.off('restart', rethrowRestartEventOnce);\n this._fire('itemRestart', { itemId: item.id });\n res();\n };\n watchdog.on('restart', rethrowRestartEventOnce);\n }));\n });\n return watchdog.create(item.sourceElementOrData, item.config, this._context);\n }\n else {\n throw new Error(`Not supported item type: '${item.type}'.`);\n }\n });\n }));\n }\n /**\n * Removes and destroys item(s) with given ID(s).\n *\n * ```ts\n * await watchdog.remove( 'editor1' );\n * ```\n *\n * Or\n *\n * ```ts\n * await watchdog.remove( [ 'editor1', 'editor2' ] );\n * ```\n *\n * @param itemIdOrItemIds Item ID or an array of item IDs.\n */\n remove(itemIdOrItemIds) {\n const itemIds = toArray(itemIdOrItemIds);\n return Promise.all(itemIds.map(itemId => {\n return this._actionQueues.enqueue(itemId, () => {\n const watchdog = this._getWatchdog(itemId);\n this._watchdogs.delete(itemId);\n return watchdog.destroy();\n });\n }));\n }\n /**\n * Destroys the context watchdog and all added items.\n * Once the context watchdog is destroyed, new items cannot be added.\n *\n * ```ts\n * await watchdog.destroy();\n * ```\n */\n destroy() {\n return this._actionQueues.enqueue(mainQueueId, () => {\n this.state = 'destroyed';\n this._fire('stateChange');\n super.destroy();\n return this._destroy();\n });\n }\n /**\n * Restarts the context watchdog.\n */\n _restart() {\n return this._actionQueues.enqueue(mainQueueId, () => {\n this.state = 'initializing';\n this._fire('stateChange');\n return this._destroy()\n .catch(err => {\n console.error('An error happened during destroying the context or items.', err);\n })\n .then(() => this._create())\n .then(() => this._fire('restart'));\n });\n }\n /**\n * Initializes the context watchdog.\n */\n _create() {\n return Promise.resolve()\n .then(() => {\n this._startErrorHandling();\n return this._creator(this._contextConfig);\n })\n .then(context => {\n this._context = context;\n this._contextProps = getSubNodes(this._context);\n return Promise.all(Array.from(this._watchdogs.values())\n .map(watchdog => {\n watchdog._setExcludedProperties(this._contextProps);\n return watchdog.create(undefined, undefined, this._context);\n }));\n });\n }\n /**\n * Destroys the context instance and all added items.\n */\n _destroy() {\n return Promise.resolve()\n .then(() => {\n this._stopErrorHandling();\n const context = this._context;\n this._context = null;\n this._contextProps = new Set();\n return Promise.all(Array.from(this._watchdogs.values())\n .map(watchdog => watchdog.destroy()))\n // Context destructor destroys each editor.\n .then(() => this._destructor(context));\n });\n }\n /**\n * Returns the watchdog for a given item ID.\n *\n * @param itemId Item ID.\n */\n _getWatchdog(itemId) {\n const watchdog = this._watchdogs.get(itemId);\n if (!watchdog) {\n throw new Error(`Item with the given id was not registered: ${itemId}.`);\n }\n return watchdog;\n }\n /**\n * Checks whether an error comes from the context instance and not from the item instances.\n *\n * @internal\n */\n _isErrorComingFromThisItem(error) {\n for (const watchdog of this._watchdogs.values()) {\n if (watchdog._isErrorComingFromThisItem(error)) {\n return false;\n }\n }\n return areConnectedThroughProperties(this._context, error.context);\n }\n}\n/**\n * Manager of action queues that allows queuing async functions.\n */\nclass ActionQueues {\n constructor() {\n this._onEmptyCallbacks = [];\n this._queues = new Map();\n this._activeActions = 0;\n }\n /**\n * Used to register callbacks that will be run when the queue becomes empty.\n *\n * @param onEmptyCallback A callback that will be run whenever the queue becomes empty.\n */\n onEmpty(onEmptyCallback) {\n this._onEmptyCallbacks.push(onEmptyCallback);\n }\n /**\n * It adds asynchronous actions (functions) to the proper queue and runs them one by one.\n *\n * @param queueId The action queue ID.\n * @param action A function that should be enqueued.\n */\n enqueue(queueId, action) {\n const isMainAction = queueId === mainQueueId;\n this._activeActions++;\n if (!this._queues.get(queueId)) {\n this._queues.set(queueId, Promise.resolve());\n }\n // List all sources of actions that the current action needs to await for.\n // For the main action wait for all other actions.\n // For the item action wait only for the item queue and the main queue.\n const awaitedActions = isMainAction ?\n Promise.all(this._queues.values()) :\n Promise.all([this._queues.get(mainQueueId), this._queues.get(queueId)]);\n const queueWithAction = awaitedActions.then(action);\n // Catch all errors in the main queue to stack promises even if an error occurred in the past.\n const nonErrorQueue = queueWithAction.catch(() => { });\n this._queues.set(queueId, nonErrorQueue);\n return queueWithAction.finally(() => {\n this._activeActions--;\n if (this._queues.get(queueId) === nonErrorQueue && this._activeActions === 0) {\n this._onEmptyCallbacks.forEach(cb => cb());\n }\n });\n }\n}\n/**\n * Transforms any value to an array. If the provided value is already an array, it is returned unchanged.\n *\n * @param elementOrArray The value to transform to an array.\n * @returns An array created from data.\n */\nfunction toArray(elementOrArray) {\n return Array.isArray(elementOrArray) ? elementOrArray : [elementOrArray];\n}\n","/**\n * @license Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\nimport areConnectedThroughProperties from './utils/areconnectedthroughproperties';\nimport Watchdog from './watchdog';\nimport { throttle, cloneDeepWith, isElement } from 'lodash-es';\n/**\n * A watchdog for CKEditor 5 editors.\n *\n * See the {@glink features/watchdog Watchdog feature guide} to learn the rationale behind it and\n * how to use it.\n */\nexport default class EditorWatchdog extends Watchdog {\n /**\n * @param Editor The editor class.\n * @param watchdogConfig The watchdog plugin configuration.\n */\n constructor(Editor, watchdogConfig = {}) {\n super(watchdogConfig);\n /**\n * The current editor instance.\n */\n this._editor = null;\n /**\n * Specifies whether the editor was initialized using document data (`true`) or HTML elements (`false`).\n */\n this._initUsingData = true;\n /**\n * The latest record of the editor editable elements. Used to restart the editor.\n */\n this._editables = {};\n // this._editorClass = Editor;\n this._throttledSave = throttle(this._save.bind(this), typeof watchdogConfig.saveInterval === 'number' ? watchdogConfig.saveInterval : 5000);\n // Set default creator and destructor functions:\n if (Editor) {\n this._creator = ((elementOrData, config) => Editor.create(elementOrData, config));\n }\n this._destructor = editor => editor.destroy();\n }\n /**\n * The current editor instance.\n */\n get editor() {\n return this._editor;\n }\n /**\n * @internal\n */\n get _item() {\n return this._editor;\n }\n /**\n * Sets the function that is responsible for the editor creation.\n * It expects a function that should return a promise.\n *\n * ```ts\n * watchdog.setCreator( ( element, config ) => ClassicEditor.create( element, config ) );\n * ```\n */\n setCreator(creator) {\n this._creator = creator;\n }\n /**\n * Sets the function that is responsible for the editor destruction.\n * Overrides the default destruction function, which destroys only the editor instance.\n * It expects a function that should return a promise or `undefined`.\n *\n * ```ts\n * watchdog.setDestructor( editor => {\n * \t// Do something before the editor is destroyed.\n *\n * \treturn editor\n * \t\t.destroy()\n * \t\t.then( () => {\n * \t\t\t// Do something after the editor is destroyed.\n * \t\t} );\n * } );\n * ```\n */\n setDestructor(destructor) {\n this._destructor = destructor;\n }\n /**\n * Restarts the editor instance. This method is called whenever an editor error occurs. It fires the `restart` event and changes\n * the state to `initializing`.\n *\n * @fires restart\n */\n _restart() {\n return Promise.resolve()\n .then(() => {\n this.state = 'initializing';\n this._fire('stateChange');\n return this._destroy();\n })\n .catch(err => {\n console.error('An error happened during the editor destroying.', err);\n })\n .then(() => {\n // Pre-process some data from the original editor config.\n // Our goal here is to make sure that the restarted editor will be reinitialized with correct set of roots.\n // We are not interested in any data set in config or in `.create()` first parameter. It will be replaced anyway.\n // But we need to set them correctly to make sure that proper roots are created.\n //\n // Since a different set of roots will be created, `lazyRoots` and `rootsAttributes` properties must be managed too.\n // Keys are root names, values are ''. Used when the editor was initialized by setting the first parameter to document data.\n const existingRoots = {};\n // Keeps lazy roots. They may be different when compared to initial config if some of the roots were loaded.\n const lazyRoots = [];\n // Roots attributes from the old config. Will be referred when setting new attributes.\n const oldRootsAttributes = this._config.rootsAttributes || {};\n // New attributes to be set. Is filled only for roots that still exist in the document.\n const rootsAttributes = {};\n // Traverse through the roots saved when the editor crashed and set up the discussed values.\n for (const [rootName, rootData] of Object.entries(this._data.roots)) {\n if (rootData.isLoaded) {\n existingRoots[rootName] = '';\n rootsAttributes[rootName] = oldRootsAttributes[rootName] || {};\n }\n else {\n lazyRoots.push(rootName);\n }\n }\n const updatedConfig = {\n ...this._config,\n extraPlugins: this._config.extraPlugins || [],\n lazyRoots,\n rootsAttributes,\n _watchdogInitialData: this._data\n };\n // Delete `initialData` as it is not needed. Data will be set by the watchdog based on `_watchdogInitialData`.\n // First parameter of the editor `.create()` will be used to set up initial roots.\n delete updatedConfig.initialData;\n updatedConfig.extraPlugins.push(EditorWatchdogInitPlugin);\n if (this._initUsingData) {\n return this.create(existingRoots, updatedConfig, updatedConfig.context);\n }\n else {\n // Set correct editables to make sure that proper roots are created and linked with DOM elements.\n // No need to set initial data, as it would be discarded anyway.\n //\n // If one element was initially set in `elementOrData`, then use that original element to restart the editor.\n // This is for compatibility purposes with single-root editor types.\n if (isElement(this._elementOrData)) {\n return this.create(this._elementOrData, updatedConfig, updatedConfig.context);\n }\n else {\n return this.create(this._editables, updatedConfig, updatedConfig.context);\n }\n }\n })\n .then(() => {\n this._fire('restart');\n });\n }\n /**\n * Creates the editor instance and keeps it running, using the defined creator and destructor.\n *\n * @param elementOrData The editor source element or the editor data.\n * @param config The editor configuration.\n * @param context A context for the editor.\n */\n create(elementOrData = this._elementOrData, config = this._config, context) {\n return Promise.resolve()\n .then(() => {\n super._startErrorHandling();\n this._elementOrData = elementOrData;\n // Use document data in the first parameter of the editor `.create()` call only if it was used like this originally.\n // Use document data if a string or object with strings was passed.\n this._initUsingData = typeof elementOrData == 'string' ||\n (Object.keys(elementOrData).length > 0 && typeof Object.values(elementOrData)[0] == 'string');\n // Clone configuration because it might be shared within multiple watchdog instances. Otherwise,\n // when an error occurs in one of these editors, the watchdog will restart all of them.\n this._config = this._cloneEditorConfiguration(config) || {};\n this._config.context = context;\n return this._creator(elementOrData, this._config);\n })\n .then(editor => {\n this._editor = editor;\n editor.model.document.on('change:data', this._throttledSave);\n this._lastDocumentVersion = editor.model.document.version;\n this._data = this._getData();\n if (!this._initUsingData) {\n this._editables = this._getEditables();\n }\n this.state = 'ready';\n this._fire('stateChange');\n });\n }\n /**\n * Destroys the watchdog and the current editor instance. It fires the callback\n * registered in {@link #setDestructor `setDestructor()`} and uses it to destroy the editor instance.\n * It also sets the state to `destroyed`.\n */\n destroy() {\n return Promise.resolve()\n .then(() => {\n this.state = 'destroyed';\n this._fire('stateChange');\n super.destroy();\n return this._destroy();\n });\n }\n _destroy() {\n return Promise.resolve()\n .then(() => {\n this._stopErrorHandling();\n this._throttledSave.cancel();\n const editor = this._editor;\n this._editor = null;\n // Remove the `change:data` listener before destroying the editor.\n // Incorrectly written plugins may trigger firing `change:data` events during the editor destruction phase\n // causing the watchdog to call `editor.getData()` when some parts of editor are already destroyed.\n editor.model.document.off('change:data', this._throttledSave);\n return this._destructor(editor);\n });\n }\n /**\n * Saves the editor data, so it can be restored after the crash even if the data cannot be fetched at\n * the moment of the crash.\n */\n _save() {\n const version = this._editor.model.document.version;\n try {\n this._data = this._getData();\n if (!this._initUsingData) {\n this._editables = this._getEditables();\n }\n this._lastDocumentVersion = version;\n }\n catch (err) {\n console.error(err, 'An error happened during restoring editor data. ' +\n 'Editor will be restored from the previously saved data.');\n }\n }\n /**\n * @internal\n */\n _setExcludedProperties(props) {\n this._excludedProps = props;\n }\n /**\n * Gets all data that is required to reinitialize editor instance.\n */\n _getData() {\n const editor = this._editor;\n const roots = editor.model.document.roots.filter(root => root.isAttached() && root.rootName != '$graveyard');\n const { plugins } = editor;\n // `as any` to avoid linking from external private repo.\n const commentsRepository = plugins.has('CommentsRepository') && plugins.get('CommentsRepository');\n const trackChanges = plugins.has('TrackChanges') && plugins.get('TrackChanges');\n const data = {\n roots: {},\n markers: {},\n commentThreads: JSON.stringify([]),\n suggestions: JSON.stringify([])\n };\n roots.forEach(root => {\n data.roots[root.rootName] = {\n content: JSON.stringify(Array.from(root.getChildren())),\n attributes: JSON.stringify(Array.from(root.getAttributes())),\n isLoaded: root._isLoaded\n };\n });\n for (const marker of editor.model.markers) {\n if (!marker._affectsData) {\n continue;\n }\n data.markers[marker.name] = {\n rangeJSON: marker.getRange().toJSON(),\n usingOperation: marker._managedUsingOperations,\n affectsData: marker._affectsData\n };\n }\n if (commentsRepository) {\n data.commentThreads = JSON.stringify(commentsRepository.getCommentThreads({ toJSON: true, skipNotAttached: true }));\n }\n if (trackChanges) {\n data.suggestions = JSON.stringify(trackChanges.getSuggestions({ toJSON: true, skipNotAttached: true }));\n }\n return data;\n }\n /**\n * For each attached model root, returns its HTML editable element (if available).\n */\n _getEditables() {\n const editables = {};\n for (const rootName of this.editor.model.document.getRootNames()) {\n const editable = this.editor.ui.getEditableElement(rootName);\n if (editable) {\n editables[rootName] = editable;\n }\n }\n return editables;\n }\n /**\n * Traverses the error context and the current editor to find out whether these structures are connected\n * to each other via properties.\n *\n * @internal\n */\n _isErrorComingFromThisItem(error) {\n return areConnectedThroughProperties(this._editor, error.context, this._excludedProps);\n }\n /**\n * Clones the editor configuration.\n */\n _cloneEditorConfiguration(config) {\n return cloneDeepWith(config, (value, key) => {\n // Leave DOM references.\n if (isElement(value)) {\n return value;\n }\n if (key === 'context') {\n return value;\n }\n });\n }\n}\n/**\n * Internal plugin that is used to stop the default editor initialization and restoring the editor state\n * based on the `editor.config._watchdogInitialData` data.\n */\nclass EditorWatchdogInitPlugin {\n constructor(editor) {\n this.editor = editor;\n this._data = editor.config.get('_watchdogInitialData');\n }\n /**\n * @inheritDoc\n */\n init() {\n // Stops the default editor initialization and use the saved data to restore the editor state.\n // Some of data could not be initialize as a config properties. It is important to keep the data\n // in the same form as it was before the restarting.\n this.editor.data.on('init', evt => {\n evt.stop();\n this.editor.model.enqueueChange({ isUndoable: false }, writer => {\n this._restoreCollaborationData();\n this._restoreEditorData(writer);\n });\n this.editor.data.fire('ready');\n // Keep priority `'high' - 1` to be sure that RTC initialization will be first.\n }, { priority: 1000 - 1 });\n }\n /**\n * Creates a model node (element or text) based on provided JSON.\n */\n _createNode(writer, jsonNode) {\n if ('name' in jsonNode) {\n // If child has name property, it is an Element.\n const element = writer.createElement(jsonNode.name, jsonNode.attributes);\n if (jsonNode.children) {\n for (const child of jsonNode.children) {\n element._appendChild(this._createNode(writer, child));\n }\n }\n return element;\n }\n else {\n // Otherwise, it is a Text node.\n return writer.createText(jsonNode.data, jsonNode.attributes);\n }\n }\n /**\n * Restores the editor by setting the document data, roots attributes and markers.\n */\n _restoreEditorData(writer) {\n const editor = this.editor;\n Object.entries(this._data.roots).forEach(([rootName, { content, attributes }]) => {\n const parsedNodes = JSON.parse(content);\n const parsedAttributes = JSON.parse(attributes);\n const rootElement = editor.model.document.getRoot(rootName);\n for (const [key, value] of parsedAttributes) {\n writer.setAttribute(key, value, rootElement);\n }\n for (const child of parsedNodes) {\n const node = this._createNode(writer, child);\n writer.insert(node, rootElement, 'end');\n }\n });\n Object.entries(this._data.markers).forEach(([markerName, markerOptions]) => {\n const { document } = editor.model;\n const { rangeJSON: { start, end }, ...options } = markerOptions;\n const root = document.getRoot(start.root);\n const startPosition = writer.createPositionFromPath(root, start.path, start.stickiness);\n const endPosition = writer.createPositionFromPath(root, end.path, end.stickiness);\n const range = writer.createRange(startPosition, endPosition);\n writer.addMarker(markerName, {\n range,\n ...options\n });\n });\n }\n /**\n * Restores the editor collaboration data - comment threads and suggestions.\n */\n _restoreCollaborationData() {\n // `as any` to avoid linking from external private repo.\n const parsedCommentThreads = JSON.parse(this._data.commentThreads);\n const parsedSuggestions = JSON.parse(this._data.suggestions);\n parsedCommentThreads.forEach(commentThreadData => {\n const channelId = this.editor.config.get('collaboration.channelId');\n const commentsRepository = this.editor.plugins.get('CommentsRepository');\n if (commentsRepository.hasCommentThread(commentThreadData.threadId)) {\n const commentThread = commentsRepository.getCommentThread(commentThreadData.threadId);\n commentThread.remove();\n }\n commentsRepository.addCommentThread({ channelId, ...commentThreadData });\n });\n parsedSuggestions.forEach(suggestionData => {\n const trackChangesEditing = this.editor.plugins.get('TrackChangesEditing');\n if (trackChangesEditing.hasSuggestion(suggestionData.id)) {\n const suggestion = trackChangesEditing.getSuggestion(suggestionData.id);\n suggestion.attributes = suggestionData.attributes;\n }\n else {\n trackChangesEditing.addSuggestionData(suggestionData);\n }\n });\n }\n}\n","/**\n * @license Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n/**\n * @module watchdog\n */\nexport { default as ContextWatchdog } from './contextwatchdog';\nexport { default as EditorWatchdog } from './editorwatchdog';\nexport { default as Watchdog } from './watchdog';\nimport './augmentation';\n","/**\n * @license Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n/**\n * @module watchdog/utils/areconnectedthroughproperties\n */\n/* globals console */\nimport getSubNodes from './getsubnodes';\n/**\n * Traverses both structures to find out whether there is a reference that is shared between both structures.\n */\nexport default function areConnectedThroughProperties(target1, target2, excludedNodes = new Set()) {\n if (target1 === target2 && isObject(target1)) {\n return true;\n }\n // @if CK_DEBUG_WATCHDOG // return checkConnectionBetweenProps( target1, target2, excludedNodes );\n const subNodes1 = getSubNodes(target1, excludedNodes);\n const subNodes2 = getSubNodes(target2, excludedNodes);\n for (const node of subNodes1) {\n if (subNodes2.has(node)) {\n return true;\n }\n }\n return false;\n}\n/* istanbul ignore next -- @preserve */\n// eslint-disable-next-line\nfunction checkConnectionBetweenProps(target1, target2, excludedNodes) {\n const { subNodes: subNodes1, prevNodeMap: prevNodeMap1 } = getSubNodes(target1, excludedNodes.subNodes);\n const { subNodes: subNodes2, prevNodeMap: prevNodeMap2 } = getSubNodes(target2, excludedNodes.subNodes);\n for (const sharedNode of subNodes1) {\n if (subNodes2.has(sharedNode)) {\n const connection = [];\n connection.push(sharedNode);\n let node = prevNodeMap1.get(sharedNode);\n while (node && node !== target1) {\n connection.push(node);\n node = prevNodeMap1.get(node);\n }\n node = prevNodeMap2.get(sharedNode);\n while (node && node !== target2) {\n connection.unshift(node);\n node = prevNodeMap2.get(node);\n }\n console.log('--------');\n console.log({ target1 });\n console.log({ sharedNode });\n console.log({ target2 });\n console.log({ connection });\n return true;\n }\n }\n return false;\n}\nfunction isObject(structure) {\n return typeof structure === 'object' && structure !== null;\n}\n","/**\n * @license Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n/**\n * @module watchdog/utils/getsubnodes\n */\n/* globals EventTarget, Event */\nexport default function getSubNodes(head, excludedProperties = new Set()) {\n const nodes = [head];\n // @if CK_DEBUG_WATCHDOG // const prevNodeMap = new Map();\n // Nodes are stored to prevent infinite looping.\n const subNodes = new Set();\n let nodeIndex = 0;\n while (nodes.length > nodeIndex) {\n // Incrementing the iterator is much faster than changing size of the array with Array.prototype.shift().\n const node = nodes[nodeIndex++];\n if (subNodes.has(node) || !shouldNodeBeIncluded(node) || excludedProperties.has(node)) {\n continue;\n }\n subNodes.add(node);\n // Handle arrays, maps, sets, custom collections that implements `[ Symbol.iterator ]()`, etc.\n if (Symbol.iterator in node) {\n // The custom editor iterators might cause some problems if the editor is crashed.\n try {\n for (const n of node) {\n nodes.push(n);\n // @if CK_DEBUG_WATCHDOG // if ( !prevNodeMap.has( n ) ) {\n // @if CK_DEBUG_WATCHDOG // \tprevNodeMap.set( n, node );\n // @if CK_DEBUG_WATCHDOG // }\n }\n }\n catch (err) {\n // Do not log errors for broken structures\n // since we are in the error handling process already.\n // eslint-disable-line no-empty\n }\n }\n else {\n for (const key in node) {\n // We share a reference via the protobuf library within the editors,\n // hence the shared value should be skipped. Although, it's not a perfect\n // solution since new places like that might occur in the future.\n if (key === 'defaultValue') {\n continue;\n }\n nodes.push(node[key]);\n // @if CK_DEBUG_WATCHDOG // if ( !prevNodeMap.has( node[ key ] ) ) {\n // @if CK_DEBUG_WATCHDOG // \tprevNodeMap.set( node[ key ], node );\n // @if CK_DEBUG_WATCHDOG // }\n }\n }\n }\n // @if CK_DEBUG_WATCHDOG // return { subNodes, prevNodeMap } as any;\n return subNodes;\n}\nfunction shouldNodeBeIncluded(node) {\n const type = Object.prototype.toString.call(node);\n const typeOfNode = typeof node;\n return !(typeOfNode === 'number' ||\n typeOfNode === 'boolean' ||\n typeOfNode === 'string' ||\n typeOfNode === 'symbol' ||\n typeOfNode === 'function' ||\n type === '[object Date]' ||\n type === '[object RegExp]' ||\n type === '[object Module]' ||\n node === undefined ||\n node === null ||\n // This flag is meant to exclude singletons shared across editor instances. So when an error is thrown in one editor,\n // the other editors connected through the reference to the same singleton are not restarted. This is a temporary workaround\n // until a better solution is found.\n // More in https://github.com/ckeditor/ckeditor5/issues/12292.\n node._watchdogExcluded ||\n // Skip native DOM objects, e.g. Window, nodes, events, etc.\n node instanceof EventTarget ||\n node instanceof Event);\n}\n","/**\n * @license Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n/**\n * An abstract watchdog class that handles most of the error handling process and the state of the underlying component.\n *\n * See the {@glink features/watchdog Watchdog feature guide} to learn the rationale behind it and how to use it.\n *\n * @internal\n */\nexport default class Watchdog {\n /**\n * @param {module:watchdog/watchdog~WatchdogConfig} config The watchdog plugin configuration.\n */\n constructor(config) {\n /**\n * An array of crashes saved as an object with the following properties:\n *\n * * `message`: `String`,\n * * `stack`: `String`,\n * * `date`: `Number`,\n * * `filename`: `String | undefined`,\n * * `lineno`: `Number | undefined`,\n * * `colno`: `Number | undefined`,\n */\n this.crashes = [];\n /**\n * Specifies the state of the item watched by the watchdog. The state can be one of the following values:\n *\n * * `initializing` – Before the first initialization, and after crashes, before the item is ready.\n * * `ready` – A state when the user can interact with the item.\n * * `crashed` – A state when an error occurs. It quickly changes to `initializing` or `crashedPermanently`\n * depending on how many and how frequent errors have been caught recently.\n * * `crashedPermanently` – A state when the watchdog stops reacting to errors and keeps the item it is watching crashed,\n * * `destroyed` – A state when the item is manually destroyed by the user after calling `watchdog.destroy()`.\n */\n this.state = 'initializing';\n /**\n * Returns the result of the `Date.now()` call. It can be overridden in tests to mock time as some popular\n * approaches like `sinon.useFakeTimers()` do not work well with error handling.\n */\n this._now = Date.now;\n this.crashes = [];\n this._crashNumberLimit = typeof config.crashNumberLimit === 'number' ? config.crashNumberLimit : 3;\n this._minimumNonErrorTimePeriod = typeof config.minimumNonErrorTimePeriod === 'number' ? config.minimumNonErrorTimePeriod : 5000;\n this._boundErrorHandler = evt => {\n // `evt.error` is exposed by EventError while `evt.reason` is available in PromiseRejectionEvent.\n const error = 'error' in evt ? evt.error : evt.reason;\n // Note that `evt.reason` might be everything that is in the promise rejection.\n // Similarly everything that is thrown lands in `evt.error`.\n if (error instanceof Error) {\n this._handleError(error, evt);\n }\n };\n this._listeners = {};\n if (!this._restart) {\n throw new Error('The Watchdog class was split into the abstract `Watchdog` class and the `EditorWatchdog` class. ' +\n 'Please, use `EditorWatchdog` if you have used the `Watchdog` class previously.');\n }\n }\n /**\n * Destroys the watchdog and releases the resources.\n */\n destroy() {\n this._stopErrorHandling();\n this._listeners = {};\n }\n /**\n * Starts listening to a specific event name by registering a callback that will be executed\n * whenever an event with a given name fires.\n *\n * Note that this method differs from the CKEditor 5's default `EventEmitterMixin` implementation.\n *\n * @param eventName The event name.\n * @param callback A callback which will be added to event listeners.\n */\n on(eventName, callback) {\n if (!this._listeners[eventName]) {\n this._listeners[eventName] = [];\n }\n this._listeners[eventName].push(callback);\n }\n /**\n * Stops listening to the specified event name by removing the callback from event listeners.\n *\n * Note that this method differs from the CKEditor 5's default `EventEmitterMixin` implementation.\n *\n * @param eventName The event name.\n * @param callback A callback which will be removed from event listeners.\n */\n off(eventName, callback) {\n this._listeners[eventName] = this._listeners[eventName]\n .filter(cb => cb !== callback);\n }\n /**\n * Fires an event with a given event name and arguments.\n *\n * Note that this method differs from the CKEditor 5's default `EventEmitterMixin` implementation.\n */\n _fire(eventName, ...args) {\n const callbacks = this._listeners[eventName] || [];\n for (const callback of callbacks) {\n callback.apply(this, [null, ...args]);\n }\n }\n /**\n * Starts error handling by attaching global error handlers.\n */\n _startErrorHandling() {\n window.addEventListener('error', this._boundErrorHandler);\n window.addEventListener('unhandledrejection', this._boundErrorHandler);\n }\n /**\n * Stops error handling by detaching global error handlers.\n */\n _stopErrorHandling() {\n window.removeEventListener('error', this._boundErrorHandler);\n window.removeEventListener('unhandledrejection', this._boundErrorHandler);\n }\n /**\n * Checks if an error comes from the watched item and restarts it.\n * It reacts to {@link module:utils/ckeditorerror~CKEditorError `CKEditorError` errors} only.\n *\n * @fires error\n * @param error Error.\n * @param evt An error event.\n */\n _handleError(error, evt) {\n // @if CK_DEBUG // const err = error as CKEditorError;\n // @if CK_DEBUG // if ( err.is && err.is( 'CKEditorError' ) && err.context === undefined ) {\n // @if CK_DEBUG // console.warn( 'The error is missing its context and Watchdog cannot restart the proper item.' );\n // @if CK_DEBUG // }\n if (this._shouldReactToError(error)) {\n this.crashes.push({\n message: error.message,\n stack: error.stack,\n // `evt.filename`, `evt.lineno` and `evt.colno` are available only in ErrorEvent events\n filename: evt instanceof ErrorEvent ? evt.filename : undefined,\n lineno: evt instanceof ErrorEvent ? evt.lineno : undefined,\n colno: evt instanceof ErrorEvent ? evt.colno : undefined,\n date: this._now()\n });\n const causesRestart = this._shouldRestart();\n this.state = 'crashed';\n this._fire('stateChange');\n this._fire('error', { error, causesRestart });\n if (causesRestart) {\n this._restart();\n }\n else {\n this.state = 'crashedPermanently';\n this._fire('stateChange');\n }\n }\n }\n /**\n * Checks whether an error should be handled by the watchdog.\n *\n * @param error An error that was caught by the error handling process.\n */\n _shouldReactToError(error) {\n return (error.is &&\n error.is('CKEditorError') &&\n error.context !== undefined &&\n // In some cases the watched item should not be restarted - e.g. during the item initialization.\n // That's why the `null` was introduced as a correct error context which does cause restarting.\n error.context !== null &&\n // Do not react to errors if the watchdog is in states other than `ready`.\n this.state === 'ready' &&\n this._isErrorComingFromThisItem(error));\n }\n /**\n * Checks if the watchdog should restart the underlying item.\n */\n _shouldRestart() {\n if (this.crashes.length <= this._crashNumberLimit) {\n return true;\n }\n const lastErrorTime = this.crashes[this.crashes.length - 1].date;\n const firstMeaningfulErrorTime = this.crashes[this.crashes.length - 1 - this._crashNumberLimit].date;\n const averageNonErrorTimePeriod = (lastErrorTime - firstMeaningfulErrorTime) / this._crashNumberLimit;\n return averageNonErrorTimePeriod > this._minimumNonErrorTimePeriod;\n }\n}\n","/*\n * Application Insights JavaScript SDK - Web Analytics, 2.8.15\n * Copyright (c) Microsoft and contributors. All rights reserved.\n */\n/**\r\n* ApplicationInsights.ts\r\n* @copyright Microsoft 2018\r\n*/\r\nimport { __assignFn as __assign, __extendsFn as __extends } from \"@microsoft/applicationinsights-shims\";\r\nimport dynamicProto from \"@microsoft/dynamicproto-js\";\r\nimport { AnalyticsPluginIdentifier, Event as EventTelemetry, Exception, Metric, PageView, PageViewPerformance, PropertiesPluginIdentifier, RemoteDependencyData, Trace, createDistributedTraceContextFromTrace, createDomEvent, createTelemetryItem, dataSanitizeString, isCrossOriginError, strNotSpecified, stringToBoolOrDefault, utlDisableStorage, utlEnableStorage, utlSetStoragePrefix } from \"@microsoft/applicationinsights-common\";\r\nimport { BaseTelemetryPlugin, InstrumentEvent, arrForEach, createProcessTelemetryContext, createUniqueNamespace, dumpObj, eventOff, eventOn, generateW3CId, getDocument, getExceptionName, getHistory, getLocation, getWindow, hasHistory, hasWindow, isError, isFunction, isNullOrUndefined, isString, isUndefined, mergeEvtNamespace, objDefineAccessors, objForEachKey, safeGetCookieMgr, strUndefined, throwError } from \"@microsoft/applicationinsights-core-js\";\r\nimport { _DYN_ADD_TELEMETRY_INITIA15, _DYN_AUTO_TRACK_PAGE_VISI1, _DYN_COLUMN_NUMBER, _DYN_CORE, _DYN_DATA_TYPE, _DYN_DIAG_LOG, _DYN_DISABLE_EXCEPTION_TR0, _DYN_DISABLE_FLUSH_ON_BEF7, _DYN_ENABLE_AUTO_ROUTE_TR6, _DYN_ENABLE_UNHANDLED_PRO3, _DYN_ENVELOPE_TYPE, _DYN_ERROR, _DYN_ERROR_SRC, _DYN_EXCEPTION, _DYN_HREF, _DYN_IS_BROWSER_LINK_TRAC5, _DYN_IS_STORAGE_USE_DISAB4, _DYN_LENGTH, _DYN_LINE_NUMBER, _DYN_MESSAGE, _DYN_NAME_PREFIX, _DYN_OVERRIDE_PAGE_VIEW_D2, _DYN_POPULATE_PAGE_VIEW_P12, _DYN_SAMPLING_PERCENTAGE, _DYN_SEND_EXCEPTION_INTER13, _DYN_SEND_PAGE_VIEW_INTER10, _DYN_SEND_PAGE_VIEW_PERFO11, _DYN_TO_STRING, _DYN_TRACK, _DYN_TRACK_PAGE_VIEW, _DYN_TRACK_PREVIOUS_PAGE_9, _DYN__CREATE_AUTO_EXCEPTI14, _DYN__ONERROR } from \"../__DynamicConstants\";\r\nimport { PageViewManager } from \"./Telemetry/PageViewManager\";\r\nimport { PageViewPerformanceManager } from \"./Telemetry/PageViewPerformanceManager\";\r\nimport { PageVisitTimeManager } from \"./Telemetry/PageVisitTimeManager\";\r\nimport { Timing } from \"./Timing\";\r\nvar strEvent = \"event\";\r\nfunction _dispatchEvent(target, evnt) {\r\n if (target && target.dispatchEvent && evnt) {\r\n target.dispatchEvent(evnt);\r\n }\r\n}\r\nfunction _getReason(error) {\r\n if (error && error.reason) {\r\n var reason = error.reason;\r\n if (!isString(reason) && isFunction(reason[_DYN_TO_STRING /* @min:%2etoString */])) {\r\n return reason[_DYN_TO_STRING /* @min:%2etoString */]();\r\n }\r\n return dumpObj(reason);\r\n }\r\n // Pass the original object down which will eventually get evaluated for any message or description\r\n return error || \"\";\r\n}\r\nvar MinMilliSeconds = 60000;\r\nfunction _configMilliseconds(value, defValue) {\r\n value = value || defValue;\r\n if (value < MinMilliSeconds) {\r\n value = MinMilliSeconds;\r\n }\r\n return value;\r\n}\r\nfunction _getDefaultConfig(config) {\r\n if (!config) {\r\n config = {};\r\n }\r\n // set default values\r\n config.sessionRenewalMs = _configMilliseconds(config.sessionRenewalMs, 30 * 60 * 1000);\r\n config.sessionExpirationMs = _configMilliseconds(config.sessionExpirationMs, 24 * 60 * 60 * 1000);\r\n config[_DYN_DISABLE_EXCEPTION_TR0 /* @min:%2edisableExceptionTracking */] = stringToBoolOrDefault(config[_DYN_DISABLE_EXCEPTION_TR0 /* @min:%2edisableExceptionTracking */]);\r\n config[_DYN_AUTO_TRACK_PAGE_VISI1 /* @min:%2eautoTrackPageVisitTime */] = stringToBoolOrDefault(config[_DYN_AUTO_TRACK_PAGE_VISI1 /* @min:%2eautoTrackPageVisitTime */]);\r\n config[_DYN_OVERRIDE_PAGE_VIEW_D2 /* @min:%2eoverridePageViewDuration */] = stringToBoolOrDefault(config[_DYN_OVERRIDE_PAGE_VIEW_D2 /* @min:%2eoverridePageViewDuration */]);\r\n config[_DYN_ENABLE_UNHANDLED_PRO3 /* @min:%2eenableUnhandledPromiseRejectionTracking */] = stringToBoolOrDefault(config[_DYN_ENABLE_UNHANDLED_PRO3 /* @min:%2eenableUnhandledPromiseRejectionTracking */]);\r\n if (isNaN(config[_DYN_SAMPLING_PERCENTAGE /* @min:%2esamplingPercentage */]) || config[_DYN_SAMPLING_PERCENTAGE /* @min:%2esamplingPercentage */] <= 0 || config[_DYN_SAMPLING_PERCENTAGE /* @min:%2esamplingPercentage */] >= 100) {\r\n config[_DYN_SAMPLING_PERCENTAGE /* @min:%2esamplingPercentage */] = 100;\r\n }\r\n config[_DYN_IS_STORAGE_USE_DISAB4 /* @min:%2eisStorageUseDisabled */] = stringToBoolOrDefault(config[_DYN_IS_STORAGE_USE_DISAB4 /* @min:%2eisStorageUseDisabled */]);\r\n config[_DYN_IS_BROWSER_LINK_TRAC5 /* @min:%2eisBrowserLinkTrackingEnabled */] = stringToBoolOrDefault(config[_DYN_IS_BROWSER_LINK_TRAC5 /* @min:%2eisBrowserLinkTrackingEnabled */]);\r\n config[_DYN_ENABLE_AUTO_ROUTE_TR6 /* @min:%2eenableAutoRouteTracking */] = stringToBoolOrDefault(config[_DYN_ENABLE_AUTO_ROUTE_TR6 /* @min:%2eenableAutoRouteTracking */]);\r\n config[_DYN_NAME_PREFIX /* @min:%2enamePrefix */] = config[_DYN_NAME_PREFIX /* @min:%2enamePrefix */] || \"\";\r\n config.enableDebug = stringToBoolOrDefault(config.enableDebug);\r\n config[_DYN_DISABLE_FLUSH_ON_BEF7 /* @min:%2edisableFlushOnBeforeUnload */] = stringToBoolOrDefault(config[_DYN_DISABLE_FLUSH_ON_BEF7 /* @min:%2edisableFlushOnBeforeUnload */]);\r\n config.disableFlushOnUnload = stringToBoolOrDefault(config.disableFlushOnUnload, config[_DYN_DISABLE_FLUSH_ON_BEF7 /* @min:%2edisableFlushOnBeforeUnload */]);\r\n return config;\r\n}\r\nfunction _updateStorageUsage(extConfig) {\r\n // Not resetting the storage usage as someone may have manually called utlDisableStorage, so this will only\r\n // reset based if the configuration option is provided\r\n if (!isUndefined(extConfig[_DYN_IS_STORAGE_USE_DISAB4 /* @min:%2eisStorageUseDisabled */])) {\r\n if (extConfig[_DYN_IS_STORAGE_USE_DISAB4 /* @min:%2eisStorageUseDisabled */]) {\r\n utlDisableStorage();\r\n }\r\n else {\r\n utlEnableStorage();\r\n }\r\n }\r\n}\r\nvar AnalyticsPlugin = /** @class */ (function (_super) {\r\n __extends(AnalyticsPlugin, _super);\r\n function AnalyticsPlugin() {\r\n var _this = _super.call(this) || this;\r\n _this.identifier = AnalyticsPluginIdentifier; // do not change name or priority\r\n _this.priority = 180; // take from reserved priority range 100- 200\r\n _this.autoRoutePVDelay = 500; // ms; Time to wait after a route change before triggering a pageview to allow DOM changes to take place\r\n var _eventTracking;\r\n var _pageTracking;\r\n var _pageViewManager;\r\n var _pageViewPerformanceManager;\r\n var _pageVisitTimeManager;\r\n var _preInitTelemetryInitializers;\r\n var _isBrowserLinkTrackingEnabled;\r\n var _browserLinkInitializerAdded;\r\n var _enableAutoRouteTracking;\r\n var _historyListenerAdded;\r\n var _disableExceptionTracking;\r\n var _autoExceptionInstrumented;\r\n var _enableUnhandledPromiseRejectionTracking;\r\n var _autoUnhandledPromiseInstrumented;\r\n // Counts number of trackAjax invocations.\r\n // By default we only monitor X ajax call per view to avoid too much load.\r\n // Default value is set in config.\r\n // This counter keeps increasing even after the limit is reached.\r\n var _trackAjaxAttempts = 0;\r\n // array with max length of 2 that store current url and previous url for SPA page route change trackPageview use.\r\n var _prevUri; // Assigned in the constructor\r\n var _currUri;\r\n var _evtNamespace;\r\n dynamicProto(AnalyticsPlugin, _this, function (_self, _base) {\r\n var _addHook = _base._addHook;\r\n _initDefaults();\r\n _self.getCookieMgr = function () {\r\n return safeGetCookieMgr(_self[_DYN_CORE /* @min:%2ecore */]);\r\n };\r\n _self.processTelemetry = function (env, itemCtx) {\r\n _self.processNext(env, itemCtx);\r\n };\r\n _self.trackEvent = function (event, customProperties) {\r\n try {\r\n var telemetryItem = createTelemetryItem(event, EventTelemetry[_DYN_DATA_TYPE /* @min:%2edataType */], EventTelemetry[_DYN_ENVELOPE_TYPE /* @min:%2eenvelopeType */], _self[_DYN_DIAG_LOG /* @min:%2ediagLog */](), customProperties);\r\n _self[_DYN_CORE /* @min:%2ecore */][_DYN_TRACK /* @min:%2etrack */](telemetryItem);\r\n }\r\n catch (e) {\r\n _throwInternal(2 /* eLoggingSeverity.WARNING */, 39 /* _eInternalMessageId.TrackTraceFailed */, \"trackTrace failed, trace will not be collected: \" + getExceptionName(e), { exception: dumpObj(e) });\r\n }\r\n };\r\n /**\r\n * Start timing an extended event. Call `stopTrackEvent` to log the event when it ends.\r\n * @param name A string that identifies this event uniquely within the document.\r\n */\r\n _self.startTrackEvent = function (name) {\r\n try {\r\n _eventTracking.start(name);\r\n }\r\n catch (e) {\r\n _throwInternal(1 /* eLoggingSeverity.CRITICAL */, 29 /* _eInternalMessageId.StartTrackEventFailed */, \"startTrackEvent failed, event will not be collected: \" + getExceptionName(e), { exception: dumpObj(e) });\r\n }\r\n };\r\n /**\r\n * Log an extended event that you started timing with `startTrackEvent`.\r\n * @param name The string you used to identify this event in `startTrackEvent`.\r\n * @param properties map[string, string] - additional data used to filter events and metrics in the portal. Defaults to empty.\r\n * @param measurements map[string, number] - metrics associated with this event, displayed in Metrics Explorer on the portal. Defaults to empty.\r\n */\r\n _self.stopTrackEvent = function (name, properties, measurements) {\r\n try {\r\n _eventTracking.stop(name, undefined, properties, measurements);\r\n }\r\n catch (e) {\r\n _throwInternal(1 /* eLoggingSeverity.CRITICAL */, 30 /* _eInternalMessageId.StopTrackEventFailed */, \"stopTrackEvent failed, event will not be collected: \" + getExceptionName(e), { exception: dumpObj(e) });\r\n }\r\n };\r\n /**\r\n * @description Log a diagnostic message\r\n * @param {ITraceTelemetry} trace\r\n * @param ICustomProperties.\r\n * @memberof ApplicationInsights\r\n */\r\n _self.trackTrace = function (trace, customProperties) {\r\n try {\r\n var telemetryItem = createTelemetryItem(trace, Trace[_DYN_DATA_TYPE /* @min:%2edataType */], Trace[_DYN_ENVELOPE_TYPE /* @min:%2eenvelopeType */], _self[_DYN_DIAG_LOG /* @min:%2ediagLog */](), customProperties);\r\n _self[_DYN_CORE /* @min:%2ecore */][_DYN_TRACK /* @min:%2etrack */](telemetryItem);\r\n }\r\n catch (e) {\r\n _throwInternal(2 /* eLoggingSeverity.WARNING */, 39 /* _eInternalMessageId.TrackTraceFailed */, \"trackTrace failed, trace will not be collected: \" + getExceptionName(e), { exception: dumpObj(e) });\r\n }\r\n };\r\n /**\r\n * @description Log a numeric value that is not associated with a specific event. Typically\r\n * used to send regular reports of performance indicators. To send single measurement, just\r\n * use the name and average fields of {@link IMetricTelemetry}. If you take measurements\r\n * frequently, you can reduce the telemetry bandwidth by aggregating multiple measurements\r\n * and sending the resulting average at intervals\r\n * @param {IMetricTelemetry} metric input object argument. Only name and average are mandatory.\r\n * @param {{[key: string]: any}} customProperties additional data used to filter metrics in the\r\n * portal. Defaults to empty.\r\n * @memberof ApplicationInsights\r\n */\r\n _self.trackMetric = function (metric, customProperties) {\r\n try {\r\n var telemetryItem = createTelemetryItem(metric, Metric[_DYN_DATA_TYPE /* @min:%2edataType */], Metric[_DYN_ENVELOPE_TYPE /* @min:%2eenvelopeType */], _self[_DYN_DIAG_LOG /* @min:%2ediagLog */](), customProperties);\r\n _self[_DYN_CORE /* @min:%2ecore */][_DYN_TRACK /* @min:%2etrack */](telemetryItem);\r\n }\r\n catch (e) {\r\n _throwInternal(1 /* eLoggingSeverity.CRITICAL */, 36 /* _eInternalMessageId.TrackMetricFailed */, \"trackMetric failed, metric will not be collected: \" + getExceptionName(e), { exception: dumpObj(e) });\r\n }\r\n };\r\n /**\r\n * Logs that a page or other item was viewed.\r\n * @param IPageViewTelemetry The string you used as the name in startTrackPage. Defaults to the document title.\r\n * @param customProperties Additional data used to filter events and metrics. Defaults to empty.\r\n * If a user wants to provide duration for pageLoad, it'll have to be in pageView.properties.duration\r\n */\r\n _self[_DYN_TRACK_PAGE_VIEW /* @min:%2etrackPageView */] = function (pageView, customProperties) {\r\n try {\r\n var inPv = pageView || {};\r\n _pageViewManager[_DYN_TRACK_PAGE_VIEW /* @min:%2etrackPageView */](inPv, __assign(__assign(__assign({}, inPv.properties), inPv.measurements), customProperties));\r\n if (_self.config[_DYN_AUTO_TRACK_PAGE_VISI1 /* @min:%2eautoTrackPageVisitTime */]) {\r\n _pageVisitTimeManager[_DYN_TRACK_PREVIOUS_PAGE_9 /* @min:%2etrackPreviousPageVisit */](inPv.name, inPv.uri);\r\n }\r\n }\r\n catch (e) {\r\n _throwInternal(1 /* eLoggingSeverity.CRITICAL */, 37 /* _eInternalMessageId.TrackPVFailed */, \"trackPageView failed, page view will not be collected: \" + getExceptionName(e), { exception: dumpObj(e) });\r\n }\r\n };\r\n /**\r\n * Create a page view telemetry item and send it to the SDK pipeline through the core.track API\r\n * @param pageView Page view item to be sent\r\n * @param properties Custom properties (Part C) that a user can add to the telemetry item\r\n * @param systemProperties System level properties (Part A) that a user can add to the telemetry item\r\n */\r\n _self[_DYN_SEND_PAGE_VIEW_INTER10 /* @min:%2esendPageViewInternal */] = function (pageView, properties, systemProperties) {\r\n var doc = getDocument();\r\n if (doc) {\r\n pageView.refUri = pageView.refUri === undefined ? doc.referrer : pageView.refUri;\r\n }\r\n var telemetryItem = createTelemetryItem(pageView, PageView[_DYN_DATA_TYPE /* @min:%2edataType */], PageView[_DYN_ENVELOPE_TYPE /* @min:%2eenvelopeType */], _self[_DYN_DIAG_LOG /* @min:%2ediagLog */](), properties, systemProperties);\r\n _self[_DYN_CORE /* @min:%2ecore */][_DYN_TRACK /* @min:%2etrack */](telemetryItem);\r\n // reset ajaxes counter\r\n _trackAjaxAttempts = 0;\r\n };\r\n /**\r\n * @ignore INTERNAL ONLY\r\n * @param pageViewPerformance\r\n * @param properties\r\n */\r\n _self[_DYN_SEND_PAGE_VIEW_PERFO11 /* @min:%2esendPageViewPerformanceInternal */] = function (pageViewPerformance, properties, systemProperties) {\r\n var telemetryItem = createTelemetryItem(pageViewPerformance, PageViewPerformance[_DYN_DATA_TYPE /* @min:%2edataType */], PageViewPerformance[_DYN_ENVELOPE_TYPE /* @min:%2eenvelopeType */], _self[_DYN_DIAG_LOG /* @min:%2ediagLog */](), properties, systemProperties);\r\n _self[_DYN_CORE /* @min:%2ecore */][_DYN_TRACK /* @min:%2etrack */](telemetryItem);\r\n };\r\n /**\r\n * Send browser performance metrics.\r\n * @param pageViewPerformance\r\n * @param customProperties\r\n */\r\n _self.trackPageViewPerformance = function (pageViewPerformance, customProperties) {\r\n var inPvp = pageViewPerformance || {};\r\n try {\r\n _pageViewPerformanceManager[_DYN_POPULATE_PAGE_VIEW_P12 /* @min:%2epopulatePageViewPerformanceEvent */](inPvp);\r\n _self[_DYN_SEND_PAGE_VIEW_PERFO11 /* @min:%2esendPageViewPerformanceInternal */](inPvp, customProperties);\r\n }\r\n catch (e) {\r\n _throwInternal(1 /* eLoggingSeverity.CRITICAL */, 37 /* _eInternalMessageId.TrackPVFailed */, \"trackPageViewPerformance failed, page view will not be collected: \" + getExceptionName(e), { exception: dumpObj(e) });\r\n }\r\n };\r\n /**\r\n * Starts the timer for tracking a page load time. Use this instead of `trackPageView` if you want to control when the page view timer starts and stops,\r\n * but don't want to calculate the duration yourself. This method doesn't send any telemetry. Call `stopTrackPage` to log the end of the page view\r\n * and send the event.\r\n * @param name A string that idenfities this item, unique within this HTML document. Defaults to the document title.\r\n */\r\n _self.startTrackPage = function (name) {\r\n try {\r\n if (typeof name !== \"string\") {\r\n var doc = getDocument();\r\n name = doc && doc.title || \"\";\r\n }\r\n _pageTracking.start(name);\r\n }\r\n catch (e) {\r\n _throwInternal(1 /* eLoggingSeverity.CRITICAL */, 31 /* _eInternalMessageId.StartTrackFailed */, \"startTrackPage failed, page view may not be collected: \" + getExceptionName(e), { exception: dumpObj(e) });\r\n }\r\n };\r\n /**\r\n * Stops the timer that was started by calling `startTrackPage` and sends the pageview load time telemetry with the specified properties and measurements.\r\n * The duration of the page view will be the time between calling `startTrackPage` and `stopTrackPage`.\r\n * @param name The string you used as the name in startTrackPage. Defaults to the document title.\r\n * @param url String - a relative or absolute URL that identifies the page or other item. Defaults to the window location.\r\n * @param properties map[string, string] - additional data used to filter pages and metrics in the portal. Defaults to empty.\r\n * @param measurements map[string, number] - metrics associated with this page, displayed in Metrics Explorer on the portal. Defaults to empty.\r\n */\r\n _self.stopTrackPage = function (name, url, properties, measurement) {\r\n try {\r\n if (typeof name !== \"string\") {\r\n var doc = getDocument();\r\n name = doc && doc.title || \"\";\r\n }\r\n if (typeof url !== \"string\") {\r\n var loc = getLocation();\r\n url = loc && loc[_DYN_HREF /* @min:%2ehref */] || \"\";\r\n }\r\n _pageTracking.stop(name, url, properties, measurement);\r\n if (_self.config[_DYN_AUTO_TRACK_PAGE_VISI1 /* @min:%2eautoTrackPageVisitTime */]) {\r\n _pageVisitTimeManager[_DYN_TRACK_PREVIOUS_PAGE_9 /* @min:%2etrackPreviousPageVisit */](name, url);\r\n }\r\n }\r\n catch (e) {\r\n _throwInternal(1 /* eLoggingSeverity.CRITICAL */, 32 /* _eInternalMessageId.StopTrackFailed */, \"stopTrackPage failed, page view will not be collected: \" + getExceptionName(e), { exception: dumpObj(e) });\r\n }\r\n };\r\n /**\r\n * @ignore INTERNAL ONLY\r\n * @param exception\r\n * @param properties\r\n * @param systemProperties\r\n */\r\n _self[_DYN_SEND_EXCEPTION_INTER13 /* @min:%2esendExceptionInternal */] = function (exception, customProperties, systemProperties) {\r\n // Adding additional edge cases to handle\r\n // - Not passing anything (null / undefined)\r\n var theError = (exception && (exception[_DYN_EXCEPTION /* @min:%2eexception */] || exception[_DYN_ERROR /* @min:%2eerror */])) ||\r\n // - Handle someone calling trackException based of v1 API where the exception was the Error\r\n isError(exception) && exception ||\r\n // - Handles no error being defined and instead of creating a new Error() instance attempt to map so any stacktrace\r\n // is preserved and does not list ApplicationInsights code as the source\r\n { name: (exception && typeof exception), message: exception || strNotSpecified };\r\n // If no exception object was passed assign to an empty object to avoid internal exceptions\r\n exception = exception || {};\r\n var exceptionPartB = new Exception(_self[_DYN_DIAG_LOG /* @min:%2ediagLog */](), theError, exception.properties || customProperties, exception.measurements, exception.severityLevel, exception.id).toInterface();\r\n var telemetryItem = createTelemetryItem(exceptionPartB, Exception[_DYN_DATA_TYPE /* @min:%2edataType */], Exception[_DYN_ENVELOPE_TYPE /* @min:%2eenvelopeType */], _self[_DYN_DIAG_LOG /* @min:%2ediagLog */](), customProperties, systemProperties);\r\n _self[_DYN_CORE /* @min:%2ecore */][_DYN_TRACK /* @min:%2etrack */](telemetryItem);\r\n };\r\n /**\r\n * Log an exception you have caught.\r\n *\r\n * @param {IExceptionTelemetry} exception Object which contains exception to be sent\r\n * @param {{[key: string]: any}} customProperties Additional data used to filter pages and metrics in the portal. Defaults to empty.\r\n *\r\n * Any property of type double will be considered a measurement, and will be treated by Application Insights as a metric.\r\n * @memberof ApplicationInsights\r\n */\r\n _self.trackException = function (exception, customProperties) {\r\n if (exception && !exception[_DYN_EXCEPTION /* @min:%2eexception */] && exception[_DYN_ERROR /* @min:%2eerror */]) {\r\n exception[_DYN_EXCEPTION /* @min:%2eexception */] = exception[_DYN_ERROR /* @min:%2eerror */];\r\n }\r\n try {\r\n _self[_DYN_SEND_EXCEPTION_INTER13 /* @min:%2esendExceptionInternal */](exception, customProperties);\r\n }\r\n catch (e) {\r\n _throwInternal(1 /* eLoggingSeverity.CRITICAL */, 35 /* _eInternalMessageId.TrackExceptionFailed */, \"trackException failed, exception will not be collected: \" + getExceptionName(e), { exception: dumpObj(e) });\r\n }\r\n };\r\n /**\r\n * @description Custom error handler for Application Insights Analytics\r\n * @param {IAutoExceptionTelemetry} exception\r\n * @memberof ApplicationInsights\r\n */\r\n _self[_DYN__ONERROR /* @min:%2e_onerror */] = function (exception) {\r\n var error = exception && exception[_DYN_ERROR /* @min:%2eerror */];\r\n var evt = exception && exception.evt;\r\n try {\r\n if (!evt) {\r\n var _window = getWindow();\r\n if (_window) {\r\n evt = _window[strEvent];\r\n }\r\n }\r\n var url = (exception && exception.url) || (getDocument() || {}).URL;\r\n // If no error source is provided assume the default window.onerror handler\r\n var errorSrc = exception[_DYN_ERROR_SRC /* @min:%2eerrorSrc */] || \"window.onerror@\" + url + \":\" + (exception[_DYN_LINE_NUMBER /* @min:%2elineNumber */] || 0) + \":\" + (exception[_DYN_COLUMN_NUMBER /* @min:%2ecolumnNumber */] || 0);\r\n var properties = {\r\n errorSrc: errorSrc,\r\n url: url,\r\n lineNumber: exception[_DYN_LINE_NUMBER /* @min:%2elineNumber */] || 0,\r\n columnNumber: exception[_DYN_COLUMN_NUMBER /* @min:%2ecolumnNumber */] || 0,\r\n message: exception[_DYN_MESSAGE /* @min:%2emessage */]\r\n };\r\n if (isCrossOriginError(exception.message, exception.url, exception.lineNumber, exception.columnNumber, exception[_DYN_ERROR /* @min:%2eerror */])) {\r\n _sendCORSException(Exception[_DYN__CREATE_AUTO_EXCEPTI14 /* @min:%2eCreateAutoException */](\"Script error: The browser's same-origin policy prevents us from getting the details of this exception. Consider using the 'crossorigin' attribute.\", url, exception[_DYN_LINE_NUMBER /* @min:%2elineNumber */] || 0, exception[_DYN_COLUMN_NUMBER /* @min:%2ecolumnNumber */] || 0, error, evt, null, errorSrc), properties);\r\n }\r\n else {\r\n if (!exception[_DYN_ERROR_SRC /* @min:%2eerrorSrc */]) {\r\n exception[_DYN_ERROR_SRC /* @min:%2eerrorSrc */] = errorSrc;\r\n }\r\n _self.trackException({ exception: exception, severityLevel: 3 /* eSeverityLevel.Error */ }, properties);\r\n }\r\n }\r\n catch (e) {\r\n var errorString = error ? (error.name + \", \" + error[_DYN_MESSAGE /* @min:%2emessage */]) : \"null\";\r\n _throwInternal(1 /* eLoggingSeverity.CRITICAL */, 11 /* _eInternalMessageId.ExceptionWhileLoggingError */, \"_onError threw exception while logging error, error will not be collected: \"\r\n + getExceptionName(e), { exception: dumpObj(e), errorString: errorString });\r\n }\r\n };\r\n _self[_DYN_ADD_TELEMETRY_INITIA15 /* @min:%2eaddTelemetryInitializer */] = function (telemetryInitializer) {\r\n if (_self[_DYN_CORE /* @min:%2ecore */]) {\r\n // Just add to the core\r\n return _self[_DYN_CORE /* @min:%2ecore */][_DYN_ADD_TELEMETRY_INITIA15 /* @min:%2eaddTelemetryInitializer */](telemetryInitializer);\r\n }\r\n // Handle \"pre-initialization\" telemetry initializers (for backward compatibility)\r\n if (!_preInitTelemetryInitializers) {\r\n _preInitTelemetryInitializers = [];\r\n }\r\n _preInitTelemetryInitializers.push(telemetryInitializer);\r\n };\r\n _self.initialize = function (config, core, extensions, pluginChain) {\r\n if (_self.isInitialized()) {\r\n return;\r\n }\r\n if (isNullOrUndefined(core)) {\r\n throwError(\"Error initializing\");\r\n }\r\n _base.initialize(config, core, extensions, pluginChain);\r\n if (config.storagePrefix) {\r\n utlSetStoragePrefix(config.storagePrefix);\r\n }\r\n try {\r\n _evtNamespace = mergeEvtNamespace(createUniqueNamespace(_self.identifier), core.evtNamespace && core.evtNamespace());\r\n if (_preInitTelemetryInitializers) {\r\n arrForEach(_preInitTelemetryInitializers, function (initializer) {\r\n core[_DYN_ADD_TELEMETRY_INITIA15 /* @min:%2eaddTelemetryInitializer */](initializer);\r\n });\r\n _preInitTelemetryInitializers = null;\r\n }\r\n var extConfig = _populateDefaults(config);\r\n _updateStorageUsage(extConfig);\r\n _pageViewPerformanceManager = new PageViewPerformanceManager(_self[_DYN_CORE /* @min:%2ecore */]);\r\n _pageViewManager = new PageViewManager(_self, extConfig[_DYN_OVERRIDE_PAGE_VIEW_D2 /* @min:%2eoverridePageViewDuration */], _self[_DYN_CORE /* @min:%2ecore */], _pageViewPerformanceManager);\r\n _pageVisitTimeManager = new PageVisitTimeManager(_self[_DYN_DIAG_LOG /* @min:%2ediagLog */](), function (pageName, pageUrl, pageVisitTime) { return trackPageVisitTime(pageName, pageUrl, pageVisitTime); });\r\n _updateBrowserLinkTracking(extConfig, config);\r\n _eventTracking = new Timing(_self[_DYN_DIAG_LOG /* @min:%2ediagLog */](), \"trackEvent\");\r\n _eventTracking.action =\r\n function (name, url, duration, properties, measurements) {\r\n if (!properties) {\r\n properties = {};\r\n }\r\n if (!measurements) {\r\n measurements = {};\r\n }\r\n properties.duration = duration[_DYN_TO_STRING /* @min:%2etoString */]();\r\n _self.trackEvent({ name: name, properties: properties, measurements: measurements });\r\n };\r\n // initialize page view timing\r\n _pageTracking = new Timing(_self[_DYN_DIAG_LOG /* @min:%2ediagLog */](), \"trackPageView\");\r\n _pageTracking.action = function (name, url, duration, properties, measurements) {\r\n // duration must be a custom property in order for the collector to extract it\r\n if (isNullOrUndefined(properties)) {\r\n properties = {};\r\n }\r\n properties.duration = duration[_DYN_TO_STRING /* @min:%2etoString */]();\r\n var pageViewItem = {\r\n name: name,\r\n uri: url,\r\n properties: properties,\r\n measurements: measurements\r\n };\r\n _self[_DYN_SEND_PAGE_VIEW_INTER10 /* @min:%2esendPageViewInternal */](pageViewItem, properties);\r\n };\r\n if (hasWindow()) {\r\n _updateExceptionTracking(extConfig);\r\n _updateLocationChange(extConfig);\r\n }\r\n }\r\n catch (e) {\r\n // resetting the initialized state because of failure\r\n _self.setInitialized(false);\r\n throw e;\r\n }\r\n };\r\n _self._doTeardown = function (unloadCtx, unloadState) {\r\n _pageViewManager && _pageViewManager.teardown(unloadCtx, unloadState);\r\n // Just register to remove all events associated with this namespace\r\n eventOff(window, null, null, _evtNamespace);\r\n _initDefaults();\r\n };\r\n function _populateDefaults(config) {\r\n var ctx = createProcessTelemetryContext(null, config, _self[_DYN_CORE /* @min:%2ecore */]);\r\n var identifier = _self.identifier;\r\n // load default values if specified\r\n var defaults = _getDefaultConfig(config);\r\n var extConfig = _self.config = ctx.getExtCfg(identifier);\r\n if (defaults !== undefined) {\r\n objForEachKey(defaults, function (field, value) {\r\n // for each unspecified field, set the default value\r\n extConfig[field] = ctx.getConfig(identifier, field, value);\r\n if (extConfig[field] === undefined) {\r\n extConfig = value;\r\n }\r\n });\r\n }\r\n return extConfig;\r\n }\r\n function _updateBrowserLinkTracking(extConfig, config) {\r\n _isBrowserLinkTrackingEnabled = extConfig[_DYN_IS_BROWSER_LINK_TRAC5 /* @min:%2eisBrowserLinkTrackingEnabled */] || config[_DYN_IS_BROWSER_LINK_TRAC5 /* @min:%2eisBrowserLinkTrackingEnabled */];\r\n _addDefaultTelemetryInitializers();\r\n }\r\n /**\r\n * Log a page visit time\r\n * @param pageName Name of page\r\n * @param pageVisitDuration Duration of visit to the page in milleseconds\r\n */\r\n function trackPageVisitTime(pageName, pageUrl, pageVisitTime) {\r\n var properties = { PageName: pageName, PageUrl: pageUrl };\r\n _self.trackMetric({\r\n name: \"PageVisitTime\",\r\n average: pageVisitTime,\r\n max: pageVisitTime,\r\n min: pageVisitTime,\r\n sampleCount: 1\r\n }, properties);\r\n }\r\n function _addDefaultTelemetryInitializers() {\r\n if (!_browserLinkInitializerAdded && _isBrowserLinkTrackingEnabled) {\r\n var browserLinkPaths_1 = [\"/browserLinkSignalR/\", \"/__browserLink/\"];\r\n var dropBrowserLinkRequests = function (envelope) {\r\n if (_isBrowserLinkTrackingEnabled && envelope.baseType === RemoteDependencyData[_DYN_DATA_TYPE /* @min:%2edataType */]) {\r\n var remoteData = envelope.baseData;\r\n if (remoteData) {\r\n for (var i = 0; i < browserLinkPaths_1[_DYN_LENGTH /* @min:%2elength */]; i++) {\r\n if (remoteData.target && remoteData.target.indexOf(browserLinkPaths_1[i]) >= 0) {\r\n return false;\r\n }\r\n }\r\n }\r\n }\r\n return true;\r\n };\r\n _self[_DYN_ADD_TELEMETRY_INITIA15 /* @min:%2eaddTelemetryInitializer */](dropBrowserLinkRequests);\r\n _browserLinkInitializerAdded = true;\r\n }\r\n }\r\n function _sendCORSException(exception, properties) {\r\n var telemetryItem = createTelemetryItem(exception, Exception[_DYN_DATA_TYPE /* @min:%2edataType */], Exception[_DYN_ENVELOPE_TYPE /* @min:%2eenvelopeType */], _self[_DYN_DIAG_LOG /* @min:%2ediagLog */](), properties);\r\n _self[_DYN_CORE /* @min:%2ecore */][_DYN_TRACK /* @min:%2etrack */](telemetryItem);\r\n }\r\n function _updateExceptionTracking(extConfig) {\r\n var _window = getWindow();\r\n var locn = getLocation(true);\r\n _disableExceptionTracking = extConfig[_DYN_DISABLE_EXCEPTION_TR0 /* @min:%2edisableExceptionTracking */];\r\n if (!_disableExceptionTracking && !_autoExceptionInstrumented && !extConfig.autoExceptionInstrumented) {\r\n // We want to enable exception auto collection and it has not been done so yet\r\n _addHook(InstrumentEvent(_window, \"onerror\", {\r\n ns: _evtNamespace,\r\n rsp: function (callDetails, message, url, lineNumber, columnNumber, error) {\r\n if (!_disableExceptionTracking && callDetails.rslt !== true) {\r\n _self[_DYN__ONERROR /* @min:%2e_onerror */](Exception[_DYN__CREATE_AUTO_EXCEPTI14 /* @min:%2eCreateAutoException */](message, url, lineNumber, columnNumber, error, callDetails.evt));\r\n }\r\n }\r\n }, false));\r\n _autoExceptionInstrumented = true;\r\n }\r\n _addUnhandledPromiseRejectionTracking(extConfig, _window, locn);\r\n }\r\n function _updateLocationChange(extConfig) {\r\n var win = getWindow();\r\n var locn = getLocation(true);\r\n _enableAutoRouteTracking = extConfig[_DYN_ENABLE_AUTO_ROUTE_TR6 /* @min:%2eenableAutoRouteTracking */] === true;\r\n /**\r\n * Create a custom \"locationchange\" event which is triggered each time the history object is changed\r\n */\r\n if (win && _enableAutoRouteTracking && hasHistory()) {\r\n var _history = getHistory();\r\n if (isFunction(_history.pushState) && isFunction(_history.replaceState) && typeof Event !== strUndefined) {\r\n _addHistoryListener(extConfig, win, _history, locn);\r\n }\r\n }\r\n }\r\n function _getDistributedTraceCtx() {\r\n var distributedTraceCtx = null;\r\n if (_self[_DYN_CORE /* @min:%2ecore */] && _self[_DYN_CORE /* @min:%2ecore */].getTraceCtx) {\r\n distributedTraceCtx = _self[_DYN_CORE /* @min:%2ecore */].getTraceCtx(false);\r\n }\r\n if (!distributedTraceCtx) {\r\n // Fallback when using an older Core and PropertiesPlugin\r\n var properties = _self[_DYN_CORE /* @min:%2ecore */].getPlugin(PropertiesPluginIdentifier);\r\n if (properties) {\r\n var context = properties.plugin.context;\r\n if (context) {\r\n distributedTraceCtx = createDistributedTraceContextFromTrace(context.telemetryTrace);\r\n }\r\n }\r\n }\r\n return distributedTraceCtx;\r\n }\r\n /**\r\n * Create a custom \"locationchange\" event which is triggered each time the history object is changed\r\n */\r\n function _addHistoryListener(extConfig, win, history, locn) {\r\n var namePrefix = extConfig[_DYN_NAME_PREFIX /* @min:%2enamePrefix */] || \"\";\r\n function _popstateHandler() {\r\n if (_enableAutoRouteTracking) {\r\n _dispatchEvent(win, createDomEvent(namePrefix + \"locationchange\"));\r\n }\r\n }\r\n function _locationChangeHandler() {\r\n // We always track the changes (if the handler is installed) to handle the feature being disabled between location changes\r\n if (_currUri) {\r\n _prevUri = _currUri;\r\n _currUri = locn && locn[_DYN_HREF /* @min:%2ehref */] || \"\";\r\n }\r\n else {\r\n _currUri = locn && locn[_DYN_HREF /* @min:%2ehref */] || \"\";\r\n }\r\n if (_enableAutoRouteTracking) {\r\n var distributedTraceCtx = _getDistributedTraceCtx();\r\n if (distributedTraceCtx) {\r\n distributedTraceCtx.setTraceId(generateW3CId());\r\n var traceLocationName = \"_unknown_\";\r\n if (locn && locn.pathname) {\r\n traceLocationName = locn.pathname + (locn.hash || \"\");\r\n }\r\n // This populates the ai.operation.name which has a maximum size of 1024 so we need to sanitize it\r\n distributedTraceCtx.setName(dataSanitizeString(_self[_DYN_DIAG_LOG /* @min:%2ediagLog */](), traceLocationName));\r\n }\r\n setTimeout((function (uri) {\r\n // todo: override start time so that it is not affected by autoRoutePVDelay\r\n _self[_DYN_TRACK_PAGE_VIEW /* @min:%2etrackPageView */]({ refUri: uri, properties: { duration: 0 } }); // SPA route change loading durations are undefined, so send 0\r\n }).bind(_self, _prevUri), _self.autoRoutePVDelay);\r\n }\r\n }\r\n if (!_historyListenerAdded) {\r\n _addHook(InstrumentEvent(history, \"pushState\", {\r\n ns: _evtNamespace,\r\n rsp: function () {\r\n if (_enableAutoRouteTracking) {\r\n _dispatchEvent(win, createDomEvent(namePrefix + \"pushState\"));\r\n _dispatchEvent(win, createDomEvent(namePrefix + \"locationchange\"));\r\n }\r\n }\r\n }, true));\r\n _addHook(InstrumentEvent(history, \"replaceState\", {\r\n ns: _evtNamespace,\r\n rsp: function () {\r\n if (_enableAutoRouteTracking) {\r\n _dispatchEvent(win, createDomEvent(namePrefix + \"replaceState\"));\r\n _dispatchEvent(win, createDomEvent(namePrefix + \"locationchange\"));\r\n }\r\n }\r\n }, true));\r\n eventOn(win, namePrefix + \"popstate\", _popstateHandler, _evtNamespace);\r\n eventOn(win, namePrefix + \"locationchange\", _locationChangeHandler, _evtNamespace);\r\n _historyListenerAdded = true;\r\n }\r\n }\r\n function _addUnhandledPromiseRejectionTracking(extConfig, _window, _location) {\r\n _enableUnhandledPromiseRejectionTracking = extConfig[_DYN_ENABLE_UNHANDLED_PRO3 /* @min:%2eenableUnhandledPromiseRejectionTracking */] === true;\r\n if (_enableUnhandledPromiseRejectionTracking && !_autoUnhandledPromiseInstrumented) {\r\n // We want to enable exception auto collection and it has not been done so yet\r\n _addHook(InstrumentEvent(_window, \"onunhandledrejection\", {\r\n ns: _evtNamespace,\r\n rsp: function (callDetails, error) {\r\n if (_enableUnhandledPromiseRejectionTracking && callDetails.rslt !== true) { // handled could be typeof function\r\n _self[_DYN__ONERROR /* @min:%2e_onerror */](Exception[_DYN__CREATE_AUTO_EXCEPTI14 /* @min:%2eCreateAutoException */](_getReason(error), _location ? _location[_DYN_HREF /* @min:%2ehref */] : \"\", 0, 0, error, callDetails.evt));\r\n }\r\n }\r\n }, false));\r\n _autoUnhandledPromiseInstrumented = true;\r\n extConfig.autoUnhandledPromiseInstrumented = _autoUnhandledPromiseInstrumented;\r\n }\r\n }\r\n /**\r\n * This method will throw exceptions in debug mode or attempt to log the error as a console warning.\r\n * @param severity {eLoggingSeverity} - The severity of the log message\r\n * @param message {_InternalLogMessage} - The log message.\r\n */\r\n function _throwInternal(severity, msgId, msg, properties, isUserAct) {\r\n _self[_DYN_DIAG_LOG /* @min:%2ediagLog */]().throwInternal(severity, msgId, msg, properties, isUserAct);\r\n }\r\n function _initDefaults() {\r\n _eventTracking = null;\r\n _pageTracking = null;\r\n _pageViewManager = null;\r\n _pageViewPerformanceManager = null;\r\n _pageVisitTimeManager = null;\r\n _preInitTelemetryInitializers = null;\r\n _isBrowserLinkTrackingEnabled = false;\r\n _browserLinkInitializerAdded = false;\r\n _enableAutoRouteTracking = false;\r\n _historyListenerAdded = false;\r\n _disableExceptionTracking = false;\r\n _autoExceptionInstrumented = false;\r\n _enableUnhandledPromiseRejectionTracking = false;\r\n _autoUnhandledPromiseInstrumented = false;\r\n // Counts number of trackAjax invocations.\r\n // By default we only monitor X ajax call per view to avoid too much load.\r\n // Default value is set in config.\r\n // This counter keeps increasing even after the limit is reached.\r\n _trackAjaxAttempts = 0;\r\n // array with max length of 2 that store current url and previous url for SPA page route change trackPageview use.\r\n var location = getLocation(true);\r\n _prevUri = location && location[_DYN_HREF /* @min:%2ehref */] || \"\";\r\n _currUri = null;\r\n _evtNamespace = null;\r\n }\r\n // For backward compatibility\r\n objDefineAccessors(_self, \"_pageViewManager\", function () { return _pageViewManager; });\r\n objDefineAccessors(_self, \"_pageViewPerformanceManager\", function () { return _pageViewPerformanceManager; });\r\n objDefineAccessors(_self, \"_pageVisitTimeManager\", function () { return _pageVisitTimeManager; });\r\n objDefineAccessors(_self, \"_evtNamespace\", function () { return \".\" + _evtNamespace; });\r\n });\r\n return _this;\r\n }\r\n// Removed Stub for AnalyticsPlugin.prototype.getCookieMgr.\r\n// Removed Stub for AnalyticsPlugin.prototype.processTelemetry.\r\n// Removed Stub for AnalyticsPlugin.prototype.trackEvent.\r\n// Removed Stub for AnalyticsPlugin.prototype.startTrackEvent.\r\n// Removed Stub for AnalyticsPlugin.prototype.stopTrackEvent.\r\n// Removed Stub for AnalyticsPlugin.prototype.trackTrace.\r\n// Removed Stub for AnalyticsPlugin.prototype.trackMetric.\r\n// Removed Stub for AnalyticsPlugin.prototype.trackPageView.\r\n// Removed Stub for AnalyticsPlugin.prototype.sendPageViewInternal.\r\n// Removed Stub for AnalyticsPlugin.prototype.sendPageViewPerformanceInternal.\r\n// Removed Stub for AnalyticsPlugin.prototype.trackPageViewPerformance.\r\n// Removed Stub for AnalyticsPlugin.prototype.startTrackPage.\r\n// Removed Stub for AnalyticsPlugin.prototype.stopTrackPage.\r\n// Removed Stub for AnalyticsPlugin.prototype.sendExceptionInternal.\r\n// Removed Stub for AnalyticsPlugin.prototype.trackException.\r\n// Removed Stub for AnalyticsPlugin.prototype._onerror.\r\n// Removed Stub for AnalyticsPlugin.prototype.addTelemetryInitializer.\r\n// Removed Stub for AnalyticsPlugin.prototype.initialize.\r\n AnalyticsPlugin.Version = '2.8.15'; // Not currently used anywhere\r\n AnalyticsPlugin.getDefaultConfig = _getDefaultConfig;\r\n return AnalyticsPlugin;\r\n}(BaseTelemetryPlugin));\r\nexport { AnalyticsPlugin };\r\n","/*\n * Application Insights JavaScript SDK - Web Analytics, 2.8.15\n * Copyright (c) Microsoft and contributors. All rights reserved.\n */\n\r\n\r\nimport dynamicProto from \"@microsoft/dynamicproto-js\";\r\nimport { dateTimeUtilsDuration } from \"@microsoft/applicationinsights-common\";\r\nimport { _throwInternal, arrForEach, dumpObj, getDocument, getExceptionName, getLocation, isNullOrUndefined } from \"@microsoft/applicationinsights-core-js\";\r\nimport { _DYN_DURATION, _DYN_GET_PERFORMANCE_TIMI17, _DYN_HREF, _DYN_IS_PERFORMANCE_TIMIN16, _DYN_IS_PERFORMANCE_TIMIN19, _DYN_LENGTH, _DYN_NAVIGATION_START, _DYN_POPULATE_PAGE_VIEW_P12, _DYN_SEND_PAGE_VIEW_INTER10, _DYN_SEND_PAGE_VIEW_PERFO11, _DYN_SHOULD_COLLECT_DURAT18, _DYN_TRACK_PAGE_VIEW } from \"../../__DynamicConstants\";\r\nvar _isWebWorker = null;\r\nfunction isWebWorker() {\r\n if (_isWebWorker == null) {\r\n try {\r\n _isWebWorker = !!(self && self instanceof WorkerGlobalScope);\r\n }\r\n catch (e) {\r\n _isWebWorker = false;\r\n }\r\n }\r\n return _isWebWorker;\r\n}\r\n/**\r\n * Class encapsulates sending page views and page view performance telemetry.\r\n */\r\nvar PageViewManager = /** @class */ (function () {\r\n function PageViewManager(appInsights, overridePageViewDuration, core, pageViewPerformanceManager) {\r\n dynamicProto(PageViewManager, this, function (_self) {\r\n var queueTimer = null;\r\n var itemQueue = [];\r\n var pageViewPerformanceSent = false;\r\n var _logger;\r\n if (core) {\r\n _logger = core.logger;\r\n }\r\n function _flushChannels(isAsync) {\r\n if (core) {\r\n core.flush(isAsync);\r\n }\r\n }\r\n function _startTimer() {\r\n if (!queueTimer) {\r\n queueTimer = setTimeout((function () {\r\n queueTimer = null;\r\n var allItems = itemQueue.slice(0);\r\n var doFlush = false;\r\n itemQueue = [];\r\n arrForEach(allItems, function (item) {\r\n if (!item()) {\r\n // Not processed so rescheduled\r\n itemQueue.push(item);\r\n }\r\n else {\r\n doFlush = true;\r\n }\r\n });\r\n if (itemQueue[_DYN_LENGTH /* @min:%2elength */] > 0) {\r\n _startTimer();\r\n }\r\n if (doFlush) {\r\n // We process at least one item so flush the queue\r\n _flushChannels(true);\r\n }\r\n }), 100);\r\n }\r\n }\r\n function _addQueue(cb) {\r\n itemQueue.push(cb);\r\n _startTimer();\r\n }\r\n _self[_DYN_TRACK_PAGE_VIEW /* @min:%2etrackPageView */] = function (pageView, customProperties) {\r\n var name = pageView.name;\r\n if (isNullOrUndefined(name) || typeof name !== \"string\") {\r\n var doc = getDocument();\r\n name = pageView.name = doc && doc.title || \"\";\r\n }\r\n var uri = pageView.uri;\r\n if (isNullOrUndefined(uri) || typeof uri !== \"string\") {\r\n var location_1 = getLocation();\r\n uri = pageView.uri = location_1 && location_1[_DYN_HREF /* @min:%2ehref */] || \"\";\r\n }\r\n // case 1a. if performance timing is not supported by the browser, send the page view telemetry with the duration provided by the user. If the user\r\n // do not provide the duration, set duration to undefined\r\n // Also this is case 4\r\n if (!pageViewPerformanceManager[_DYN_IS_PERFORMANCE_TIMIN16 /* @min:%2eisPerformanceTimingSupported */]()) {\r\n appInsights[_DYN_SEND_PAGE_VIEW_INTER10 /* @min:%2esendPageViewInternal */](pageView, customProperties);\r\n _flushChannels(true);\r\n if (!isWebWorker()) {\r\n // no navigation timing (IE 8, iOS Safari 8.4, Opera Mini 8 - see http://caniuse.com/#feat=nav-timing)\r\n _throwInternal(_logger, 2 /* eLoggingSeverity.WARNING */, 25 /* _eInternalMessageId.NavigationTimingNotSupported */, \"trackPageView: navigation timing API used for calculation of page duration is not supported in this browser. This page view will be collected without duration and timing info.\");\r\n }\r\n return;\r\n }\r\n var pageViewSent = false;\r\n var customDuration;\r\n // if the performance timing is supported by the browser, calculate the custom duration\r\n var start = pageViewPerformanceManager[_DYN_GET_PERFORMANCE_TIMI17 /* @min:%2egetPerformanceTiming */]()[_DYN_NAVIGATION_START /* @min:%2enavigationStart */];\r\n if (start > 0) {\r\n customDuration = dateTimeUtilsDuration(start, +new Date);\r\n if (!pageViewPerformanceManager[_DYN_SHOULD_COLLECT_DURAT18 /* @min:%2eshouldCollectDuration */](customDuration)) {\r\n customDuration = undefined;\r\n }\r\n }\r\n // if the user has provided duration, send a page view telemetry with the provided duration. Otherwise, if\r\n // overridePageViewDuration is set to true, send a page view telemetry with the custom duration calculated earlier\r\n var duration;\r\n if (!isNullOrUndefined(customProperties) &&\r\n !isNullOrUndefined(customProperties[_DYN_DURATION /* @min:%2eduration */])) {\r\n duration = customProperties[_DYN_DURATION /* @min:%2eduration */];\r\n }\r\n if (overridePageViewDuration || !isNaN(duration)) {\r\n if (isNaN(duration)) {\r\n // case 3\r\n if (!customProperties) {\r\n customProperties = {};\r\n }\r\n customProperties[_DYN_DURATION /* @min:%2eduration */] = customDuration;\r\n }\r\n // case 2\r\n appInsights[_DYN_SEND_PAGE_VIEW_INTER10 /* @min:%2esendPageViewInternal */](pageView, customProperties);\r\n _flushChannels(true);\r\n pageViewSent = true;\r\n }\r\n // now try to send the page view performance telemetry\r\n var maxDurationLimit = 60000;\r\n if (!customProperties) {\r\n customProperties = {};\r\n }\r\n // Queue the event for processing\r\n _addQueue(function () {\r\n var processed = false;\r\n try {\r\n if (pageViewPerformanceManager[_DYN_IS_PERFORMANCE_TIMIN19 /* @min:%2eisPerformanceTimingDataReady */]()) {\r\n processed = true;\r\n var pageViewPerformance = {\r\n name: name,\r\n uri: uri\r\n };\r\n pageViewPerformanceManager[_DYN_POPULATE_PAGE_VIEW_P12 /* @min:%2epopulatePageViewPerformanceEvent */](pageViewPerformance);\r\n if (!pageViewPerformance.isValid && !pageViewSent) {\r\n // If navigation timing gives invalid numbers, then go back to \"override page view duration\" mode.\r\n // That's the best value we can get that makes sense.\r\n customProperties[_DYN_DURATION /* @min:%2eduration */] = customDuration;\r\n appInsights[_DYN_SEND_PAGE_VIEW_INTER10 /* @min:%2esendPageViewInternal */](pageView, customProperties);\r\n }\r\n else {\r\n if (!pageViewSent) {\r\n customProperties[_DYN_DURATION /* @min:%2eduration */] = pageViewPerformance.durationMs;\r\n appInsights[_DYN_SEND_PAGE_VIEW_INTER10 /* @min:%2esendPageViewInternal */](pageView, customProperties);\r\n }\r\n if (!pageViewPerformanceSent) {\r\n appInsights[_DYN_SEND_PAGE_VIEW_PERFO11 /* @min:%2esendPageViewPerformanceInternal */](pageViewPerformance, customProperties);\r\n pageViewPerformanceSent = true;\r\n }\r\n }\r\n }\r\n else if (start > 0 && dateTimeUtilsDuration(start, +new Date) > maxDurationLimit) {\r\n // if performance timings are not ready but we exceeded the maximum duration limit, just log a page view telemetry\r\n // with the maximum duration limit. Otherwise, keep waiting until performance timings are ready\r\n processed = true;\r\n if (!pageViewSent) {\r\n customProperties[_DYN_DURATION /* @min:%2eduration */] = maxDurationLimit;\r\n appInsights[_DYN_SEND_PAGE_VIEW_INTER10 /* @min:%2esendPageViewInternal */](pageView, customProperties);\r\n }\r\n }\r\n }\r\n catch (e) {\r\n _throwInternal(_logger, 1 /* eLoggingSeverity.CRITICAL */, 38 /* _eInternalMessageId.TrackPVFailedCalc */, \"trackPageView failed on page load calculation: \" + getExceptionName(e), { exception: dumpObj(e) });\r\n }\r\n return processed;\r\n });\r\n };\r\n _self.teardown = function (unloadCtx, unloadState) {\r\n if (queueTimer) {\r\n clearTimeout(queueTimer);\r\n queueTimer = null;\r\n var allItems = itemQueue.slice(0);\r\n var doFlush_1 = false;\r\n itemQueue = [];\r\n arrForEach(allItems, function (item) {\r\n if (item()) {\r\n doFlush_1 = true;\r\n }\r\n });\r\n }\r\n };\r\n });\r\n }\r\n// Removed Stub for PageViewManager.prototype.trackPageView.\r\n// Removed Stub for PageViewManager.prototype.teardown.\r\n // This is a workaround for an IE8 bug when using dynamicProto() with classes that don't have any\n // non-dynamic functions or static properties/functions when using uglify-js to minify the resulting code.\n // this will be removed when ES3 support is dropped.\n PageViewManager.__ieDyn=1;\n\n return PageViewManager;\r\n}());\r\nexport { PageViewManager };\r\n","/*\n * Application Insights JavaScript SDK - Web Analytics, 2.8.15\n * Copyright (c) Microsoft and contributors. All rights reserved.\n */\n\r\n\r\nimport dynamicProto from \"@microsoft/dynamicproto-js\";\r\nimport { dateTimeUtilsDuration, msToTimeSpan } from \"@microsoft/applicationinsights-common\";\r\nimport { _throwInternal, getNavigator, getPerformance, safeGetLogger } from \"@microsoft/applicationinsights-core-js\";\r\nimport { _DYN_CONNECT_END, _DYN_DURATION, _DYN_GET_ENTRIES_BY_TYPE, _DYN_GET_PERFORMANCE_TIMI17, _DYN_IS_PERFORMANCE_TIMIN16, _DYN_IS_PERFORMANCE_TIMIN19, _DYN_LENGTH, _DYN_LOAD_EVENT_END, _DYN_NAVIGATION_START, _DYN_POPULATE_PAGE_VIEW_P12, _DYN_REQUEST_START, _DYN_RESPONSE_END, _DYN_RESPONSE_START, _DYN_SHOULD_COLLECT_DURAT18 } from \"../../__DynamicConstants\";\r\nvar MAX_DURATION_ALLOWED = 3600000; // 1h\r\nvar botAgentNames = [\"googlebot\", \"adsbot-google\", \"apis-google\", \"mediapartners-google\"];\r\nfunction _isPerformanceTimingSupported() {\r\n var perf = getPerformance();\r\n return perf && !!perf.timing;\r\n}\r\nfunction _isPerformanceNavigationTimingSupported() {\r\n var perf = getPerformance();\r\n return perf && perf.getEntriesByType && perf.getEntriesByType(\"navigation\")[_DYN_LENGTH /* @min:%2elength */] > 0;\r\n}\r\nfunction _isPerformanceTimingDataReady() {\r\n var perf = getPerformance();\r\n var timing = perf ? perf.timing : 0;\r\n return timing\r\n && timing.domainLookupStart > 0\r\n && timing[_DYN_NAVIGATION_START /* @min:%2enavigationStart */] > 0\r\n && timing[_DYN_RESPONSE_START /* @min:%2eresponseStart */] > 0\r\n && timing[_DYN_REQUEST_START /* @min:%2erequestStart */] > 0\r\n && timing[_DYN_LOAD_EVENT_END /* @min:%2eloadEventEnd */] > 0\r\n && timing[_DYN_RESPONSE_END /* @min:%2eresponseEnd */] > 0\r\n && timing[_DYN_CONNECT_END /* @min:%2econnectEnd */] > 0\r\n && timing.domLoading > 0;\r\n}\r\nfunction _getPerformanceTiming() {\r\n if (_isPerformanceTimingSupported()) {\r\n return getPerformance().timing;\r\n }\r\n return null;\r\n}\r\nfunction _getPerformanceNavigationTiming() {\r\n if (_isPerformanceNavigationTimingSupported()) {\r\n return getPerformance()[_DYN_GET_ENTRIES_BY_TYPE /* @min:%2egetEntriesByType */](\"navigation\")[0];\r\n }\r\n return null;\r\n}\r\n/**\r\n* This method tells if given durations should be excluded from collection.\r\n*/\r\nfunction _shouldCollectDuration() {\r\n var durations = [];\r\n for (var _i = 0; _i < arguments.length; _i++) {\r\n durations[_i] = arguments[_i];\r\n }\r\n var _navigator = getNavigator() || {};\r\n // a full list of Google crawlers user agent strings - https://support.google.com/webmasters/answer/1061943?hl=en\r\n var userAgent = _navigator.userAgent;\r\n var isGoogleBot = false;\r\n if (userAgent) {\r\n for (var i = 0; i < botAgentNames[_DYN_LENGTH /* @min:%2elength */]; i++) {\r\n isGoogleBot = isGoogleBot || userAgent.toLowerCase().indexOf(botAgentNames[i]) !== -1;\r\n }\r\n }\r\n if (isGoogleBot) {\r\n // Don't report durations for GoogleBot, it is returning invalid values in performance.timing API.\r\n return false;\r\n }\r\n else {\r\n // for other page views, don't report if it's outside of a reasonable range\r\n for (var i = 0; i < durations[_DYN_LENGTH /* @min:%2elength */]; i++) {\r\n if (durations[i] < 0 || durations[i] >= MAX_DURATION_ALLOWED) {\r\n return false;\r\n }\r\n }\r\n }\r\n return true;\r\n}\r\n/**\r\n * Class encapsulates sending page view performance telemetry.\r\n */\r\nvar PageViewPerformanceManager = /** @class */ (function () {\r\n function PageViewPerformanceManager(core) {\r\n var _logger = safeGetLogger(core);\r\n dynamicProto(PageViewPerformanceManager, this, function (_self) {\r\n _self[_DYN_POPULATE_PAGE_VIEW_P12 /* @min:%2epopulatePageViewPerformanceEvent */] = function (pageViewPerformance) {\r\n pageViewPerformance.isValid = false;\r\n /*\r\n * http://www.w3.org/TR/navigation-timing/#processing-model\r\n * |-navigationStart\r\n * | |-connectEnd\r\n * | ||-requestStart\r\n * | || |-responseStart\r\n * | || | |-responseEnd\r\n * | || | |\r\n * | || | | |-loadEventEnd\r\n * |---network---||---request---|---response---|---dom---|\r\n * |--------------------------total----------------------|\r\n *\r\n * total = The difference between the load event of the current document is completed and the first recorded timestamp of the performance entry : https://developer.mozilla.org/en-US/docs/Web/Performance/Navigation_and_resource_timings#duration\r\n * network = Redirect time + App Cache + DNS lookup time + TCP connection time\r\n * request = Request time : https://developer.mozilla.org/en-US/docs/Web/Performance/Navigation_and_resource_timings#request_time\r\n * response = Response time\r\n * dom = Document load time : https://html.spec.whatwg.org/multipage/dom.html#document-load-timing-info\r\n * = Document processing time : https://developers.google.com/web/fundamentals/performance/navigation-and-resource-timing/#document_processing\r\n * + Loading time : https://developers.google.com/web/fundamentals/performance/navigation-and-resource-timing/#loading\r\n */\r\n var navigationTiming = _getPerformanceNavigationTiming();\r\n var timing = _getPerformanceTiming();\r\n var total = 0;\r\n var network = 0;\r\n var request = 0;\r\n var response = 0;\r\n var dom = 0;\r\n if (navigationTiming || timing) {\r\n if (navigationTiming) {\r\n total = navigationTiming[_DYN_DURATION /* @min:%2eduration */];\r\n /**\r\n * support both cases:\r\n * - startTime is always zero: https://developer.mozilla.org/en-US/docs/Web/API/PerformanceNavigationTiming\r\n * - for older browsers where the startTime is not zero\r\n */\r\n network = navigationTiming.startTime === 0 ? navigationTiming[_DYN_CONNECT_END /* @min:%2econnectEnd */] : dateTimeUtilsDuration(navigationTiming.startTime, navigationTiming[_DYN_CONNECT_END /* @min:%2econnectEnd */]);\r\n request = dateTimeUtilsDuration(navigationTiming.requestStart, navigationTiming[_DYN_RESPONSE_START /* @min:%2eresponseStart */]);\r\n response = dateTimeUtilsDuration(navigationTiming[_DYN_RESPONSE_START /* @min:%2eresponseStart */], navigationTiming[_DYN_RESPONSE_END /* @min:%2eresponseEnd */]);\r\n dom = dateTimeUtilsDuration(navigationTiming.responseEnd, navigationTiming[_DYN_LOAD_EVENT_END /* @min:%2eloadEventEnd */]);\r\n }\r\n else {\r\n total = dateTimeUtilsDuration(timing[_DYN_NAVIGATION_START /* @min:%2enavigationStart */], timing[_DYN_LOAD_EVENT_END /* @min:%2eloadEventEnd */]);\r\n network = dateTimeUtilsDuration(timing[_DYN_NAVIGATION_START /* @min:%2enavigationStart */], timing[_DYN_CONNECT_END /* @min:%2econnectEnd */]);\r\n request = dateTimeUtilsDuration(timing.requestStart, timing[_DYN_RESPONSE_START /* @min:%2eresponseStart */]);\r\n response = dateTimeUtilsDuration(timing[_DYN_RESPONSE_START /* @min:%2eresponseStart */], timing[_DYN_RESPONSE_END /* @min:%2eresponseEnd */]);\r\n dom = dateTimeUtilsDuration(timing.responseEnd, timing[_DYN_LOAD_EVENT_END /* @min:%2eloadEventEnd */]);\r\n }\r\n if (total === 0) {\r\n _throwInternal(_logger, 2 /* eLoggingSeverity.WARNING */, 10 /* _eInternalMessageId.ErrorPVCalc */, \"error calculating page view performance.\", { total: total, network: network, request: request, response: response, dom: dom });\r\n }\r\n else if (!_self[_DYN_SHOULD_COLLECT_DURAT18 /* @min:%2eshouldCollectDuration */](total, network, request, response, dom)) {\r\n _throwInternal(_logger, 2 /* eLoggingSeverity.WARNING */, 45 /* _eInternalMessageId.InvalidDurationValue */, \"Invalid page load duration value. Browser perf data won't be sent.\", { total: total, network: network, request: request, response: response, dom: dom });\r\n }\r\n else if (total < Math.floor(network) + Math.floor(request) + Math.floor(response) + Math.floor(dom)) {\r\n // some browsers may report individual components incorrectly so that the sum of the parts will be bigger than total PLT\r\n // in this case, don't report client performance from this page\r\n _throwInternal(_logger, 2 /* eLoggingSeverity.WARNING */, 8 /* _eInternalMessageId.ClientPerformanceMathError */, \"client performance math error.\", { total: total, network: network, request: request, response: response, dom: dom });\r\n }\r\n else {\r\n pageViewPerformance.durationMs = total;\r\n // // convert to timespans\r\n pageViewPerformance.perfTotal = pageViewPerformance[_DYN_DURATION /* @min:%2eduration */] = msToTimeSpan(total);\r\n pageViewPerformance.networkConnect = msToTimeSpan(network);\r\n pageViewPerformance.sentRequest = msToTimeSpan(request);\r\n pageViewPerformance.receivedResponse = msToTimeSpan(response);\r\n pageViewPerformance.domProcessing = msToTimeSpan(dom);\r\n pageViewPerformance.isValid = true;\r\n }\r\n }\r\n };\r\n _self[_DYN_GET_PERFORMANCE_TIMI17 /* @min:%2egetPerformanceTiming */] = _getPerformanceTiming;\r\n _self[_DYN_IS_PERFORMANCE_TIMIN16 /* @min:%2eisPerformanceTimingSupported */] = _isPerformanceTimingSupported;\r\n _self[_DYN_IS_PERFORMANCE_TIMIN19 /* @min:%2eisPerformanceTimingDataReady */] = _isPerformanceTimingDataReady;\r\n _self[_DYN_SHOULD_COLLECT_DURAT18 /* @min:%2eshouldCollectDuration */] = _shouldCollectDuration;\r\n });\r\n }\r\n// Removed Stub for PageViewPerformanceManager.prototype.populatePageViewPerformanceEvent.\r\n// Removed Stub for PageViewPerformanceManager.prototype.getPerformanceTiming.\r\n// Removed Stub for PageViewPerformanceManager.prototype.isPerformanceTimingSupported.\r\n// Removed Stub for PageViewPerformanceManager.prototype.isPerformanceTimingDataReady.\r\n// Removed Stub for PageViewPerformanceManager.prototype.shouldCollectDuration.\r\n // This is a workaround for an IE8 bug when using dynamicProto() with classes that don't have any\n // non-dynamic functions or static properties/functions when using uglify-js to minify the resulting code.\n // this will be removed when ES3 support is dropped.\n PageViewPerformanceManager.__ieDyn=1;\n\n return PageViewPerformanceManager;\r\n}());\r\nexport { PageViewPerformanceManager };\r\n","/*\n * Application Insights JavaScript SDK - Web Analytics, 2.8.15\n * Copyright (c) Microsoft and contributors. All rights reserved.\n */\n\r\n\r\nimport dynamicProto from \"@microsoft/dynamicproto-js\";\r\nimport { utlCanUseSessionStorage, utlGetSessionStorage, utlRemoveSessionStorage, utlSetSessionStorage } from \"@microsoft/applicationinsights-common\";\r\nimport { _warnToConsole, dateNow, dumpObj, getJSON, hasJSON, objDefineAccessors, throwError } from \"@microsoft/applicationinsights-core-js\";\r\nimport { _DYN_PAGE_VISIT_START_TIM20, _DYN_TRACK_PREVIOUS_PAGE_9 } from \"../../__DynamicConstants\";\r\n/**\r\n * Used to track page visit durations\r\n */\r\nvar PageVisitTimeManager = /** @class */ (function () {\r\n /**\r\n * Creates a new instance of PageVisitTimeManager\r\n * @param pageVisitTimeTrackingHandler Delegate that will be called to send telemetry data to AI (when trackPreviousPageVisit is called)\r\n * @returns {}\r\n */\r\n function PageVisitTimeManager(logger, pageVisitTimeTrackingHandler) {\r\n var prevPageVisitDataKeyName = \"prevPageVisitData\";\r\n dynamicProto(PageVisitTimeManager, this, function (_self) {\r\n _self[_DYN_TRACK_PREVIOUS_PAGE_9 /* @min:%2etrackPreviousPageVisit */] = function (currentPageName, currentPageUrl) {\r\n try {\r\n // Restart timer for new page view\r\n var prevPageVisitTimeData = restartPageVisitTimer(currentPageName, currentPageUrl);\r\n // If there was a page already being timed, track the visit time for it now.\r\n if (prevPageVisitTimeData) {\r\n pageVisitTimeTrackingHandler(prevPageVisitTimeData.pageName, prevPageVisitTimeData.pageUrl, prevPageVisitTimeData.pageVisitTime);\r\n }\r\n }\r\n catch (e) {\r\n _warnToConsole(logger, \"Auto track page visit time failed, metric will not be collected: \" + dumpObj(e));\r\n }\r\n };\r\n /**\r\n * Stops timing of current page (if exists) and starts timing for duration of visit to pageName\r\n * @param pageName Name of page to begin timing visit duration\r\n * @returns {PageVisitData} Page visit data (including duration) of pageName from last call to start or restart, if exists. Null if not.\r\n */\r\n function restartPageVisitTimer(pageName, pageUrl) {\r\n var prevPageVisitData = null;\r\n try {\r\n prevPageVisitData = stopPageVisitTimer();\r\n startPageVisitTimer(pageName, pageUrl);\r\n }\r\n catch (e) {\r\n _warnToConsole(logger, \"Call to restart failed: \" + dumpObj(e));\r\n prevPageVisitData = null;\r\n }\r\n return prevPageVisitData;\r\n }\r\n /**\r\n * Starts timing visit duration of pageName\r\n * @param pageName\r\n * @returns {}\r\n */\r\n function startPageVisitTimer(pageName, pageUrl) {\r\n try {\r\n if (utlCanUseSessionStorage()) {\r\n if (utlGetSessionStorage(logger, prevPageVisitDataKeyName) != null) {\r\n throwError(\"Cannot call startPageVisit consecutively without first calling stopPageVisit\");\r\n }\r\n var currPageVisitData = new PageVisitData(pageName, pageUrl);\r\n var currPageVisitDataStr = getJSON().stringify(currPageVisitData);\r\n utlSetSessionStorage(logger, prevPageVisitDataKeyName, currPageVisitDataStr);\r\n }\r\n }\r\n catch (e) {\r\n // TODO: Remove this catch in next phase, since if start is called twice in a row the exception needs to be propagated out\r\n _warnToConsole(logger, \"Call to start failed: \" + dumpObj(e));\r\n }\r\n }\r\n /**\r\n * Stops timing of current page, if exists.\r\n * @returns {PageVisitData} Page visit data (including duration) of pageName from call to start, if exists. Null if not.\r\n */\r\n function stopPageVisitTimer() {\r\n var prevPageVisitData = null;\r\n try {\r\n if (utlCanUseSessionStorage()) {\r\n // Define end time of page's visit\r\n var pageVisitEndTime = dateNow();\r\n // Try to retrieve page name and start time from session storage\r\n var pageVisitDataJsonStr = utlGetSessionStorage(logger, prevPageVisitDataKeyName);\r\n if (pageVisitDataJsonStr && hasJSON()) {\r\n // if previous page data exists, set end time of visit\r\n prevPageVisitData = getJSON().parse(pageVisitDataJsonStr);\r\n prevPageVisitData.pageVisitTime = pageVisitEndTime - prevPageVisitData[_DYN_PAGE_VISIT_START_TIM20 /* @min:%2epageVisitStartTime */];\r\n // Remove data from storage since we already used it\r\n utlRemoveSessionStorage(logger, prevPageVisitDataKeyName);\r\n }\r\n }\r\n }\r\n catch (e) {\r\n _warnToConsole(logger, \"Stop page visit timer failed: \" + dumpObj(e));\r\n prevPageVisitData = null;\r\n }\r\n return prevPageVisitData;\r\n }\r\n // For backward compatibility\r\n objDefineAccessors(_self, \"_logger\", function () { return logger; });\r\n objDefineAccessors(_self, \"pageVisitTimeTrackingHandler\", function () { return pageVisitTimeTrackingHandler; });\r\n });\r\n }\r\n// Removed Stub for PageVisitTimeManager.prototype.trackPreviousPageVisit.\r\n // This is a workaround for an IE8 bug when using dynamicProto() with classes that don't have any\n // non-dynamic functions or static properties/functions when using uglify-js to minify the resulting code.\n // this will be removed when ES3 support is dropped.\n PageVisitTimeManager.__ieDyn=1;\n\n return PageVisitTimeManager;\r\n}());\r\nexport { PageVisitTimeManager };\r\nvar PageVisitData = /** @class */ (function () {\r\n function PageVisitData(pageName, pageUrl) {\r\n this[_DYN_PAGE_VISIT_START_TIM20 /* @min:%2epageVisitStartTime */] = dateNow();\r\n this.pageName = pageName;\r\n this.pageUrl = pageUrl;\r\n }\r\n return PageVisitData;\r\n}());\r\nexport { PageVisitData };\r\n","/*\n * Application Insights JavaScript SDK - Web Analytics, 2.8.15\n * Copyright (c) Microsoft and contributors. All rights reserved.\n */\n\r\n\r\nimport { dateTimeUtilsDuration } from \"@microsoft/applicationinsights-common\";\r\nimport { _throwInternal } from \"@microsoft/applicationinsights-core-js\";\r\n/**\r\n * Used to record timed events and page views.\r\n */\r\nvar Timing = /** @class */ (function () {\r\n function Timing(logger, name) {\r\n var _self = this;\r\n var _events = {};\r\n _self.start = function (name) {\r\n if (typeof _events[name] !== \"undefined\") {\r\n _throwInternal(logger, 2 /* eLoggingSeverity.WARNING */, 62 /* _eInternalMessageId.StartCalledMoreThanOnce */, \"start was called more than once for this event without calling stop.\", { name: name, key: name }, true);\r\n }\r\n _events[name] = +new Date;\r\n };\r\n _self.stop = function (name, url, properties, measurements) {\r\n var start = _events[name];\r\n if (isNaN(start)) {\r\n _throwInternal(logger, 2 /* eLoggingSeverity.WARNING */, 63 /* _eInternalMessageId.StopCalledWithoutStart */, \"stop was called without a corresponding start.\", { name: name, key: name }, true);\r\n }\r\n else {\r\n var end = +new Date;\r\n var duration = dateTimeUtilsDuration(start, end);\r\n _self.action(name, url, duration, properties, measurements);\r\n }\r\n delete _events[name];\r\n _events[name] = undefined;\r\n };\r\n }\r\n return Timing;\r\n}());\r\nexport { Timing };\r\n","/*\n * Application Insights JavaScript SDK - Web Analytics, 2.8.15\n * Copyright (c) Microsoft and contributors. All rights reserved.\n */\n\r\n\r\n// @skip-file-minify\r\n// ##############################################################\r\n// AUTO GENERATED FILE: This file is Auto Generated during build.\r\n// ##############################################################\r\n// !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!\r\n// Note: DON'T Export these const from the package as we are still targeting ES3 this will export a mutable variables that someone could change!!!\r\n// !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!\r\nexport var _DYN_TO_STRING = \"toString\"; // Count: 4\r\nexport var _DYN_DISABLE_EXCEPTION_TR0 = \"disableExceptionTracking\"; // Count: 3\r\nexport var _DYN_AUTO_TRACK_PAGE_VISI1 = \"autoTrackPageVisitTime\"; // Count: 4\r\nexport var _DYN_OVERRIDE_PAGE_VIEW_D2 = \"overridePageViewDuration\"; // Count: 3\r\nexport var _DYN_ENABLE_UNHANDLED_PRO3 = \"enableUnhandledPromiseRejectionTracking\"; // Count: 3\r\nexport var _DYN_SAMPLING_PERCENTAGE = \"samplingPercentage\"; // Count: 4\r\nexport var _DYN_IS_STORAGE_USE_DISAB4 = \"isStorageUseDisabled\"; // Count: 4\r\nexport var _DYN_IS_BROWSER_LINK_TRAC5 = \"isBrowserLinkTrackingEnabled\"; // Count: 4\r\nexport var _DYN_ENABLE_AUTO_ROUTE_TR6 = \"enableAutoRouteTracking\"; // Count: 3\r\nexport var _DYN_NAME_PREFIX = \"namePrefix\"; // Count: 3\r\nexport var _DYN_DISABLE_FLUSH_ON_BEF7 = \"disableFlushOnBeforeUnload\"; // Count: 3\r\nexport var _DYN_DISABLE_FLUSH_ON_UNL8 = \"disableFlushOnUnload\"; // Count: 2\r\nexport var _DYN_CORE = \"core\"; // Count: 7\r\nexport var _DYN_DATA_TYPE = \"dataType\"; // Count: 8\r\nexport var _DYN_ENVELOPE_TYPE = \"envelopeType\"; // Count: 7\r\nexport var _DYN_DIAG_LOG = \"diagLog\"; // Count: 13\r\nexport var _DYN_TRACK = \"track\"; // Count: 7\r\nexport var _DYN_TRACK_PAGE_VIEW = \"trackPageView\"; // Count: 4\r\nexport var _DYN_TRACK_PREVIOUS_PAGE_9 = \"trackPreviousPageVisit\"; // Count: 3\r\nexport var _DYN_SEND_PAGE_VIEW_INTER10 = \"sendPageViewInternal\"; // Count: 7\r\nexport var _DYN_SEND_PAGE_VIEW_PERFO11 = \"sendPageViewPerformanceInternal\"; // Count: 3\r\nexport var _DYN_POPULATE_PAGE_VIEW_P12 = \"populatePageViewPerformanceEvent\"; // Count: 3\r\nexport var _DYN_HREF = \"href\"; // Count: 6\r\nexport var _DYN_SEND_EXCEPTION_INTER13 = \"sendExceptionInternal\"; // Count: 2\r\nexport var _DYN_EXCEPTION = \"exception\"; // Count: 3\r\nexport var _DYN_ERROR = \"error\"; // Count: 5\r\nexport var _DYN__ONERROR = \"_onerror\"; // Count: 3\r\nexport var _DYN_ERROR_SRC = \"errorSrc\"; // Count: 3\r\nexport var _DYN_LINE_NUMBER = \"lineNumber\"; // Count: 5\r\nexport var _DYN_COLUMN_NUMBER = \"columnNumber\"; // Count: 5\r\nexport var _DYN_MESSAGE = \"message\"; // Count: 4\r\nexport var _DYN__CREATE_AUTO_EXCEPTI14 = \"CreateAutoException\"; // Count: 3\r\nexport var _DYN_ADD_TELEMETRY_INITIA15 = \"addTelemetryInitializer\"; // Count: 4\r\nexport var _DYN_DURATION = \"duration\"; // Count: 10\r\nexport var _DYN_LENGTH = \"length\"; // Count: 5\r\nexport var _DYN_IS_PERFORMANCE_TIMIN16 = \"isPerformanceTimingSupported\"; // Count: 2\r\nexport var _DYN_GET_PERFORMANCE_TIMI17 = \"getPerformanceTiming\"; // Count: 2\r\nexport var _DYN_NAVIGATION_START = \"navigationStart\"; // Count: 4\r\nexport var _DYN_SHOULD_COLLECT_DURAT18 = \"shouldCollectDuration\"; // Count: 3\r\nexport var _DYN_IS_PERFORMANCE_TIMIN19 = \"isPerformanceTimingDataReady\"; // Count: 2\r\nexport var _DYN_GET_ENTRIES_BY_TYPE = \"getEntriesByType\"; // Count: 3\r\nexport var _DYN_RESPONSE_START = \"responseStart\"; // Count: 5\r\nexport var _DYN_REQUEST_START = \"requestStart\"; // Count: 3\r\nexport var _DYN_LOAD_EVENT_END = \"loadEventEnd\"; // Count: 4\r\nexport var _DYN_RESPONSE_END = \"responseEnd\"; // Count: 5\r\nexport var _DYN_CONNECT_END = \"connectEnd\"; // Count: 4\r\nexport var _DYN_PAGE_VISIT_START_TIM20 = \"pageVisitStartTime\"; // Count: 2\r\n","/*\n * Application Insights JavaScript SDK - Channel, 2.8.15\n * Copyright (c) Microsoft and contributors. All rights reserved.\n */\nimport { __assignFn as __assign } from \"@microsoft/applicationinsights-shims\";\r\nimport { CtxTagKeys, Data, Envelope, Event, Exception, HttpMethod, Metric, PageView, PageViewPerformance, RemoteDependencyData, SampleRate, Trace, dataSanitizeString } from \"@microsoft/applicationinsights-common\";\r\nimport { _throwInternal, _warnToConsole, getJSON, hasJSON, isNullOrUndefined, isNumber, isString, isTruthy, objForEachKey, optimizeObject, setValue, toISOString } from \"@microsoft/applicationinsights-core-js\";\r\nimport { STR_DURATION } from \"./InternalConstants\";\r\nimport { _DYN_DATA, _DYN_DATA_TYPE, _DYN_DEVICE_TYPE, _DYN_ENVELOPE_TYPE, _DYN_LENGTH, _DYN_MEASUREMENTS, _DYN_NAME, _DYN_STRINGIFY, _DYN_TAGS, _DYN_TO_STRING, _DYN_TRACE_ID } from \"./__DynamicConstants\";\r\n// these two constants are used to filter out properties not needed when trying to extract custom properties and measurements from the incoming payload\r\nvar strBaseType = \"baseType\";\r\nvar strBaseData = \"baseData\";\r\nvar strProperties = \"properties\";\r\nvar strTrue = \"true\";\r\nfunction _setValueIf(target, field, value) {\r\n return setValue(target, field, value, isTruthy);\r\n}\r\n/*\r\n * Maps Part A data from CS 4.0\r\n */\r\nfunction _extractPartAExtensions(logger, item, env) {\r\n // todo: switch to keys from common in this method\r\n var envTags = env[_DYN_TAGS /* @min:%2etags */] = env[_DYN_TAGS /* @min:%2etags */] || {};\r\n var itmExt = item.ext = item.ext || {};\r\n var itmTags = item[_DYN_TAGS /* @min:%2etags */] = item[_DYN_TAGS /* @min:%2etags */] || [];\r\n var extUser = itmExt.user;\r\n if (extUser) {\r\n _setValueIf(envTags, CtxTagKeys.userAuthUserId, extUser.authId);\r\n _setValueIf(envTags, CtxTagKeys.userId, extUser.id || extUser.localId);\r\n }\r\n var extApp = itmExt.app;\r\n if (extApp) {\r\n _setValueIf(envTags, CtxTagKeys.sessionId, extApp.sesId);\r\n }\r\n var extDevice = itmExt.device;\r\n if (extDevice) {\r\n _setValueIf(envTags, CtxTagKeys.deviceId, extDevice.id || extDevice.localId);\r\n _setValueIf(envTags, CtxTagKeys[_DYN_DEVICE_TYPE /* @min:%2edeviceType */], extDevice.deviceClass);\r\n _setValueIf(envTags, CtxTagKeys.deviceIp, extDevice.ip);\r\n _setValueIf(envTags, CtxTagKeys.deviceModel, extDevice.model);\r\n _setValueIf(envTags, CtxTagKeys[_DYN_DEVICE_TYPE /* @min:%2edeviceType */], extDevice[_DYN_DEVICE_TYPE /* @min:%2edeviceType */]);\r\n }\r\n var web = item.ext.web;\r\n if (web) {\r\n _setValueIf(envTags, CtxTagKeys.deviceLanguage, web.browserLang);\r\n _setValueIf(envTags, CtxTagKeys.deviceBrowserVersion, web.browserVer);\r\n _setValueIf(envTags, CtxTagKeys.deviceBrowser, web.browser);\r\n var envData = env[_DYN_DATA /* @min:%2edata */] = env[_DYN_DATA /* @min:%2edata */] || {};\r\n var envBaseData = envData[strBaseData] = envData[strBaseData] || {};\r\n var envProps = envBaseData[strProperties] = envBaseData[strProperties] || {};\r\n _setValueIf(envProps, \"domain\", web.domain);\r\n _setValueIf(envProps, \"isManual\", web.isManual ? strTrue : null);\r\n _setValueIf(envProps, \"screenRes\", web.screenRes);\r\n _setValueIf(envProps, \"userConsent\", web.userConsent ? strTrue : null);\r\n }\r\n var extOs = itmExt.os;\r\n if (extOs) {\r\n _setValueIf(envTags, CtxTagKeys.deviceOS, extOs[_DYN_NAME /* @min:%2ename */]);\r\n }\r\n // No support for mapping Trace.traceState to 2.0 as it is currently empty\r\n var extTrace = itmExt.trace;\r\n if (extTrace) {\r\n _setValueIf(envTags, CtxTagKeys.operationParentId, extTrace.parentID);\r\n _setValueIf(envTags, CtxTagKeys.operationName, dataSanitizeString(logger, extTrace[_DYN_NAME /* @min:%2ename */]));\r\n _setValueIf(envTags, CtxTagKeys.operationId, extTrace[_DYN_TRACE_ID /* @min:%2etraceID */]);\r\n }\r\n // Sample 4.0 schema\r\n // {\r\n // \"time\" : \"2018-09-05T22:51:22.4936Z\",\r\n // \"name\" : \"MetricWithNamespace\",\r\n // \"iKey\" : \"ABC-5a4cbd20-e601-4ef5-a3c6-5d6577e4398e\",\r\n // \"ext\": { \"cloud\": {\r\n // \"role\": \"WATSON3\",\r\n // \"roleInstance\": \"CO4AEAP00000260\"\r\n // },\r\n // \"device\": {}, \"correlation\": {} },\r\n // \"tags\": [\r\n // { \"amazon.region\" : \"east2\" },\r\n // { \"os.expid\" : \"wp:02df239\" }\r\n // ]\r\n // }\r\n var tgs = {};\r\n // deals with tags.push({object})\r\n for (var i = itmTags[_DYN_LENGTH /* @min:%2elength */] - 1; i >= 0; i--) {\r\n var tg = itmTags[i];\r\n objForEachKey(tg, function (key, value) {\r\n tgs[key] = value;\r\n });\r\n itmTags.splice(i, 1);\r\n }\r\n // deals with tags[key]=value (and handles hasOwnProperty)\r\n objForEachKey(itmTags, function (tg, value) {\r\n tgs[tg] = value;\r\n });\r\n var theTags = __assign(__assign({}, envTags), tgs);\r\n if (!theTags[CtxTagKeys.internalSdkVersion]) {\r\n // Append a version in case it is not already set\r\n theTags[CtxTagKeys.internalSdkVersion] = dataSanitizeString(logger, \"javascript:\".concat(EnvelopeCreator.Version), 64);\r\n }\r\n env[_DYN_TAGS /* @min:%2etags */] = optimizeObject(theTags);\r\n}\r\nfunction _extractPropsAndMeasurements(data, properties, measurements) {\r\n if (!isNullOrUndefined(data)) {\r\n objForEachKey(data, function (key, value) {\r\n if (isNumber(value)) {\r\n measurements[key] = value;\r\n }\r\n else if (isString(value)) {\r\n properties[key] = value;\r\n }\r\n else if (hasJSON()) {\r\n properties[key] = getJSON()[_DYN_STRINGIFY /* @min:%2estringify */](value);\r\n }\r\n });\r\n }\r\n}\r\nfunction _convertPropsUndefinedToCustomDefinedValue(properties, customUndefinedValue) {\r\n if (!isNullOrUndefined(properties)) {\r\n objForEachKey(properties, function (key, value) {\r\n properties[key] = value || customUndefinedValue;\r\n });\r\n }\r\n}\r\n// TODO: Do we want this to take logger as arg or use this._logger as nonstatic?\r\nfunction _createEnvelope(logger, envelopeType, telemetryItem, data) {\r\n var envelope = new Envelope(logger, data, envelopeType);\r\n _setValueIf(envelope, \"sampleRate\", telemetryItem[SampleRate]);\r\n if ((telemetryItem[strBaseData] || {}).startTime) {\r\n envelope.time = toISOString(telemetryItem[strBaseData].startTime);\r\n }\r\n envelope.iKey = telemetryItem.iKey;\r\n var iKeyNoDashes = telemetryItem.iKey.replace(/-/g, \"\");\r\n envelope[_DYN_NAME /* @min:%2ename */] = envelope[_DYN_NAME /* @min:%2ename */].replace(\"{0}\", iKeyNoDashes);\r\n // extract all extensions from ctx\r\n _extractPartAExtensions(logger, telemetryItem, envelope);\r\n // loop through the envelope tags (extension of Part A) and pick out the ones that should go in outgoing envelope tags\r\n telemetryItem[_DYN_TAGS /* @min:%2etags */] = telemetryItem[_DYN_TAGS /* @min:%2etags */] || [];\r\n return optimizeObject(envelope);\r\n}\r\nfunction EnvelopeCreatorInit(logger, telemetryItem) {\r\n if (isNullOrUndefined(telemetryItem[strBaseData])) {\r\n _throwInternal(logger, 1 /* eLoggingSeverity.CRITICAL */, 46 /* _eInternalMessageId.TelemetryEnvelopeInvalid */, \"telemetryItem.baseData cannot be null.\");\r\n }\r\n}\r\nexport var EnvelopeCreator = {\r\n Version: '2.8.15'\r\n};\r\nexport function DependencyEnvelopeCreator(logger, telemetryItem, customUndefinedValue) {\r\n EnvelopeCreatorInit(logger, telemetryItem);\r\n var customMeasurements = telemetryItem[strBaseData][_DYN_MEASUREMENTS /* @min:%2emeasurements */] || {};\r\n var customProperties = telemetryItem[strBaseData][strProperties] || {};\r\n _extractPropsAndMeasurements(telemetryItem[_DYN_DATA /* @min:%2edata */], customProperties, customMeasurements);\r\n if (!isNullOrUndefined(customUndefinedValue)) {\r\n _convertPropsUndefinedToCustomDefinedValue(customProperties, customUndefinedValue);\r\n }\r\n var bd = telemetryItem[strBaseData];\r\n if (isNullOrUndefined(bd)) {\r\n _warnToConsole(logger, \"Invalid input for dependency data\");\r\n return null;\r\n }\r\n var method = bd[strProperties] && bd[strProperties][HttpMethod] ? bd[strProperties][HttpMethod] : \"GET\";\r\n var remoteDepData = new RemoteDependencyData(logger, bd.id, bd.target, bd[_DYN_NAME /* @min:%2ename */], bd[STR_DURATION /* @min:%2eduration */], bd.success, bd.responseCode, method, bd.type, bd.correlationContext, customProperties, customMeasurements);\r\n var data = new Data(RemoteDependencyData[_DYN_DATA_TYPE /* @min:%2edataType */], remoteDepData);\r\n return _createEnvelope(logger, RemoteDependencyData[_DYN_ENVELOPE_TYPE /* @min:%2eenvelopeType */], telemetryItem, data);\r\n}\r\nexport function EventEnvelopeCreator(logger, telemetryItem, customUndefinedValue) {\r\n EnvelopeCreatorInit(logger, telemetryItem);\r\n var customProperties = {};\r\n var customMeasurements = {};\r\n if (telemetryItem[strBaseType] !== Event[_DYN_DATA_TYPE /* @min:%2edataType */]) {\r\n customProperties[\"baseTypeSource\"] = telemetryItem[strBaseType]; // save the passed in base type as a property\r\n }\r\n if (telemetryItem[strBaseType] === Event[_DYN_DATA_TYPE /* @min:%2edataType */]) { // take collection\r\n customProperties = telemetryItem[strBaseData][strProperties] || {};\r\n customMeasurements = telemetryItem[strBaseData][_DYN_MEASUREMENTS /* @min:%2emeasurements */] || {};\r\n }\r\n else { // if its not a known type, convert to custom event\r\n if (telemetryItem[strBaseData]) {\r\n _extractPropsAndMeasurements(telemetryItem[strBaseData], customProperties, customMeasurements);\r\n }\r\n }\r\n // Extract root level properties from part C telemetryItem.data\r\n _extractPropsAndMeasurements(telemetryItem[_DYN_DATA /* @min:%2edata */], customProperties, customMeasurements);\r\n if (!isNullOrUndefined(customUndefinedValue)) {\r\n _convertPropsUndefinedToCustomDefinedValue(customProperties, customUndefinedValue);\r\n }\r\n var eventName = telemetryItem[strBaseData][_DYN_NAME /* @min:%2ename */];\r\n var eventData = new Event(logger, eventName, customProperties, customMeasurements);\r\n var data = new Data(Event[_DYN_DATA_TYPE /* @min:%2edataType */], eventData);\r\n return _createEnvelope(logger, Event[_DYN_ENVELOPE_TYPE /* @min:%2eenvelopeType */], telemetryItem, data);\r\n}\r\nexport function ExceptionEnvelopeCreator(logger, telemetryItem, customUndefinedValue) {\r\n EnvelopeCreatorInit(logger, telemetryItem);\r\n // Extract root level properties from part C telemetryItem.data\r\n var customMeasurements = telemetryItem[strBaseData][_DYN_MEASUREMENTS /* @min:%2emeasurements */] || {};\r\n var customProperties = telemetryItem[strBaseData][strProperties] || {};\r\n _extractPropsAndMeasurements(telemetryItem[_DYN_DATA /* @min:%2edata */], customProperties, customMeasurements);\r\n if (!isNullOrUndefined(customUndefinedValue)) {\r\n _convertPropsUndefinedToCustomDefinedValue(customProperties, customUndefinedValue);\r\n }\r\n var bd = telemetryItem[strBaseData];\r\n var exData = Exception.CreateFromInterface(logger, bd, customProperties, customMeasurements);\r\n var data = new Data(Exception[_DYN_DATA_TYPE /* @min:%2edataType */], exData);\r\n return _createEnvelope(logger, Exception[_DYN_ENVELOPE_TYPE /* @min:%2eenvelopeType */], telemetryItem, data);\r\n}\r\nexport function MetricEnvelopeCreator(logger, telemetryItem, customUndefinedValue) {\r\n EnvelopeCreatorInit(logger, telemetryItem);\r\n var baseData = telemetryItem[strBaseData];\r\n var props = baseData[strProperties] || {};\r\n var measurements = baseData[_DYN_MEASUREMENTS /* @min:%2emeasurements */] || {};\r\n _extractPropsAndMeasurements(telemetryItem[_DYN_DATA /* @min:%2edata */], props, measurements);\r\n if (!isNullOrUndefined(customUndefinedValue)) {\r\n _convertPropsUndefinedToCustomDefinedValue(props, customUndefinedValue);\r\n }\r\n var baseMetricData = new Metric(logger, baseData[_DYN_NAME /* @min:%2ename */], baseData.average, baseData.sampleCount, baseData.min, baseData.max, baseData.stdDev, props, measurements);\r\n var data = new Data(Metric[_DYN_DATA_TYPE /* @min:%2edataType */], baseMetricData);\r\n return _createEnvelope(logger, Metric[_DYN_ENVELOPE_TYPE /* @min:%2eenvelopeType */], telemetryItem, data);\r\n}\r\nexport function PageViewEnvelopeCreator(logger, telemetryItem, customUndefinedValue) {\r\n EnvelopeCreatorInit(logger, telemetryItem);\r\n // Since duration is not part of the domain properties in Common Schema, extract it from part C\r\n var duration;\r\n var baseData = telemetryItem[strBaseData];\r\n if (!isNullOrUndefined(baseData) &&\r\n !isNullOrUndefined(baseData[strProperties]) &&\r\n !isNullOrUndefined(baseData[strProperties][STR_DURATION])) { // from part B properties\r\n duration = baseData[strProperties][STR_DURATION];\r\n delete baseData[strProperties][STR_DURATION];\r\n }\r\n else if (!isNullOrUndefined(telemetryItem[_DYN_DATA /* @min:%2edata */]) &&\r\n !isNullOrUndefined(telemetryItem[_DYN_DATA /* @min:%2edata */][STR_DURATION])) { // from custom properties\r\n duration = telemetryItem[_DYN_DATA /* @min:%2edata */][STR_DURATION];\r\n delete telemetryItem[_DYN_DATA /* @min:%2edata */][STR_DURATION];\r\n }\r\n var bd = telemetryItem[strBaseData];\r\n // special case: pageview.id is grabbed from current operation id. Analytics plugin is decoupled from properties plugin, so this is done here instead. This can be made a default telemetry intializer instead if needed to be decoupled from channel\r\n var currentContextId;\r\n if (((telemetryItem.ext || {}).trace || {})[_DYN_TRACE_ID /* @min:%2etraceID */]) {\r\n currentContextId = telemetryItem.ext.trace[_DYN_TRACE_ID /* @min:%2etraceID */];\r\n }\r\n var id = bd.id || currentContextId;\r\n var name = bd[_DYN_NAME /* @min:%2ename */];\r\n var url = bd.uri;\r\n var properties = bd[strProperties] || {};\r\n var measurements = bd[_DYN_MEASUREMENTS /* @min:%2emeasurements */] || {};\r\n // refUri is a field that Breeze still does not recognize as part of Part B. For now, put it in Part C until it supports it as a domain property\r\n if (!isNullOrUndefined(bd.refUri)) {\r\n properties[\"refUri\"] = bd.refUri;\r\n }\r\n // pageType is a field that Breeze still does not recognize as part of Part B. For now, put it in Part C until it supports it as a domain property\r\n if (!isNullOrUndefined(bd.pageType)) {\r\n properties[\"pageType\"] = bd.pageType;\r\n }\r\n // isLoggedIn is a field that Breeze still does not recognize as part of Part B. For now, put it in Part C until it supports it as a domain property\r\n if (!isNullOrUndefined(bd.isLoggedIn)) {\r\n properties[\"isLoggedIn\"] = bd.isLoggedIn[_DYN_TO_STRING /* @min:%2etoString */]();\r\n }\r\n // pageTags is a field that Breeze still does not recognize as part of Part B. For now, put it in Part C until it supports it as a domain property\r\n if (!isNullOrUndefined(bd[strProperties])) {\r\n var pageTags = bd[strProperties];\r\n objForEachKey(pageTags, function (key, value) {\r\n properties[key] = value;\r\n });\r\n }\r\n _extractPropsAndMeasurements(telemetryItem[_DYN_DATA /* @min:%2edata */], properties, measurements);\r\n if (!isNullOrUndefined(customUndefinedValue)) {\r\n _convertPropsUndefinedToCustomDefinedValue(properties, customUndefinedValue);\r\n }\r\n var pageViewData = new PageView(logger, name, url, duration, properties, measurements, id);\r\n var data = new Data(PageView[_DYN_DATA_TYPE /* @min:%2edataType */], pageViewData);\r\n return _createEnvelope(logger, PageView[_DYN_ENVELOPE_TYPE /* @min:%2eenvelopeType */], telemetryItem, data);\r\n}\r\nexport function PageViewPerformanceEnvelopeCreator(logger, telemetryItem, customUndefinedValue) {\r\n EnvelopeCreatorInit(logger, telemetryItem);\r\n var bd = telemetryItem[strBaseData];\r\n var name = bd[_DYN_NAME /* @min:%2ename */];\r\n var url = bd.uri || bd.url;\r\n var properties = bd[strProperties] || {};\r\n var measurements = bd[_DYN_MEASUREMENTS /* @min:%2emeasurements */] || {};\r\n _extractPropsAndMeasurements(telemetryItem[_DYN_DATA /* @min:%2edata */], properties, measurements);\r\n if (!isNullOrUndefined(customUndefinedValue)) {\r\n _convertPropsUndefinedToCustomDefinedValue(properties, customUndefinedValue);\r\n }\r\n var baseData = new PageViewPerformance(logger, name, url, undefined, properties, measurements, bd);\r\n var data = new Data(PageViewPerformance[_DYN_DATA_TYPE /* @min:%2edataType */], baseData);\r\n return _createEnvelope(logger, PageViewPerformance[_DYN_ENVELOPE_TYPE /* @min:%2eenvelopeType */], telemetryItem, data);\r\n}\r\nexport function TraceEnvelopeCreator(logger, telemetryItem, customUndefinedValue) {\r\n EnvelopeCreatorInit(logger, telemetryItem);\r\n var message = telemetryItem[strBaseData].message;\r\n var severityLevel = telemetryItem[strBaseData].severityLevel;\r\n var props = telemetryItem[strBaseData][strProperties] || {};\r\n var measurements = telemetryItem[strBaseData][_DYN_MEASUREMENTS /* @min:%2emeasurements */] || {};\r\n _extractPropsAndMeasurements(telemetryItem[_DYN_DATA /* @min:%2edata */], props, measurements);\r\n if (!isNullOrUndefined(customUndefinedValue)) {\r\n _convertPropsUndefinedToCustomDefinedValue(props, customUndefinedValue);\r\n }\r\n var baseData = new Trace(logger, message, severityLevel, props, measurements);\r\n var data = new Data(Trace[_DYN_DATA_TYPE /* @min:%2edataType */], baseData);\r\n return _createEnvelope(logger, Trace[_DYN_ENVELOPE_TYPE /* @min:%2eenvelopeType */], telemetryItem, data);\r\n}\r\n","/*\n * Application Insights JavaScript SDK - Channel, 2.8.15\n * Copyright (c) Microsoft and contributors. All rights reserved.\n */\n\r\n\r\n// !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!\r\n// Note: DON'T Export these const from the package as we are still targeting ES3 this will export a mutable variables that someone could change!!!\r\n// !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!\r\n// Generally you should only put values that are used more than 2 times and then only if not already exposed as a constant (such as SdkCoreNames)\r\n// as when using \"short\" named values from here they will be will be minified smaller than the SdkCoreNames[eSdkCoreNames.xxxx] value.\r\nexport var STR_DURATION = \"duration\";\r\n","/*\n * Application Insights JavaScript SDK - Channel, 2.8.15\n * Copyright (c) Microsoft and contributors. All rights reserved.\n */\nimport { createUniqueNamespace, eventOff, eventOn, getDocument, getNavigator, getWindow, isNullOrUndefined, isUndefined, mergeEvtNamespace } from \"@microsoft/applicationinsights-core-js\";\r\nimport { _DYN_IS_ONLINE, _DYN_ON_LINE } from \"./__DynamicConstants\";\r\nfunction _disableEvents(target, evtNamespace) {\r\n eventOff(target, null, null, evtNamespace);\r\n}\r\n/**\r\n * Create a new OfflineListener instance to monitor browser online / offline events\r\n * @param parentEvtNamespace - The parent event namespace to append to any specific events for this instance\r\n */\r\nexport function createOfflineListener(parentEvtNamespace) {\r\n var _a;\r\n var _document = getDocument();\r\n var _navigator = getNavigator(); // Gets the window.navigator or workerNavigator depending on the global\r\n var _isListening = false;\r\n var _onlineStatus = true;\r\n var _evtNamespace = mergeEvtNamespace(createUniqueNamespace(\"OfflineListener\"), parentEvtNamespace);\r\n try {\r\n if (_enableEvents(getWindow())) {\r\n _isListening = true;\r\n }\r\n if (_document) {\r\n // Also attach to the document.body or document\r\n var target = _document.body || _document;\r\n if (target.ononline) {\r\n if (_enableEvents(target)) {\r\n _isListening = true;\r\n }\r\n }\r\n }\r\n if (_isListening) {\r\n // We are listening to events so lets set the current status rather than assuming we are online #1538\r\n if (_navigator && !isNullOrUndefined(_navigator[_DYN_ON_LINE /* @min:%2eonLine */])) { // navigator.onLine is undefined in react-native\r\n _onlineStatus = _navigator[_DYN_ON_LINE /* @min:%2eonLine */];\r\n }\r\n }\r\n }\r\n catch (e) {\r\n // this makes react-native less angry\r\n _isListening = false;\r\n }\r\n function _enableEvents(target) {\r\n var enabled = false;\r\n if (target) {\r\n enabled = eventOn(target, \"online\", _setOnline, _evtNamespace);\r\n if (enabled) {\r\n eventOn(target, \"offline\", _setOffline, _evtNamespace);\r\n }\r\n }\r\n return enabled;\r\n }\r\n function _setOnline() {\r\n _onlineStatus = true;\r\n }\r\n function _setOffline() {\r\n _onlineStatus = false;\r\n }\r\n function _isOnline() {\r\n var result = true;\r\n if (_isListening) {\r\n result = _onlineStatus;\r\n }\r\n else if (_navigator && !isNullOrUndefined(_navigator[_DYN_ON_LINE /* @min:%2eonLine */])) { // navigator.onLine is undefined in react-native\r\n result = _navigator[_DYN_ON_LINE /* @min:%2eonLine */];\r\n }\r\n return result;\r\n }\r\n function _unload() {\r\n var win = getWindow();\r\n if (win && _isListening) {\r\n _disableEvents(win, _evtNamespace);\r\n if (_document) {\r\n // Also attach to the document.body or document\r\n var target = _document.body || _document;\r\n if (!isUndefined(target.ononline)) {\r\n _disableEvents(target, _evtNamespace);\r\n }\r\n }\r\n _isListening = false;\r\n }\r\n }\r\n return _a = {},\r\n _a[_DYN_IS_ONLINE /* @min:isOnline */] = _isOnline,\r\n _a.isListening = function () { return _isListening; },\r\n _a.unload = _unload,\r\n _a;\r\n}\r\n","/*\n * Application Insights JavaScript SDK - Channel, 2.8.15\n * Copyright (c) Microsoft and contributors. All rights reserved.\n */\nimport { __extendsFn as __extends } from \"@microsoft/applicationinsights-shims\";\r\nimport dynamicProto from \"@microsoft/dynamicproto-js\";\r\nimport { utlGetSessionStorage, utlSetSessionStorage } from \"@microsoft/applicationinsights-common\";\r\nimport { _throwInternal, arrForEach, arrIndexOf, dumpObj, getExceptionName, getJSON, isArray, isFunction, isString } from \"@microsoft/applicationinsights-core-js\";\r\nimport { _DYN_BATCH_PAYLOADS, _DYN_BUFFER_OVERRIDE, _DYN_CLEAR, _DYN_CLEAR_SENT, _DYN_COUNT, _DYN_EMIT_LINE_DELIMITED_0, _DYN_ENQUEUE, _DYN_LENGTH, _DYN_MARK_AS_SENT, _DYN_NAME_PREFIX, _DYN_PUSH, _DYN_STRINGIFY, _DYN__BUFFER__KEY, _DYN__MAX__BUFFER__SIZE, _DYN__SENT__BUFFER__KEY } from \"./__DynamicConstants\";\r\nvar BaseSendBuffer = /** @class */ (function () {\r\n function BaseSendBuffer(logger, config) {\r\n var _buffer = [];\r\n var _bufferFullMessageSent = false;\r\n this._get = function () {\r\n return _buffer;\r\n };\r\n this._set = function (buffer) {\r\n _buffer = buffer;\r\n return _buffer;\r\n };\r\n dynamicProto(BaseSendBuffer, this, function (_self) {\r\n _self[_DYN_ENQUEUE /* @min:%2eenqueue */] = function (payload) {\r\n if (_self[_DYN_COUNT /* @min:%2ecount */]() >= config.eventsLimitInMem()) {\r\n // sent internal log only once per page view\r\n if (!_bufferFullMessageSent) {\r\n _throwInternal(logger, 2 /* eLoggingSeverity.WARNING */, 105 /* _eInternalMessageId.InMemoryStorageBufferFull */, \"Maximum in-memory buffer size reached: \" + _self[_DYN_COUNT /* @min:%2ecount */](), true);\r\n _bufferFullMessageSent = true;\r\n }\r\n return;\r\n }\r\n _buffer[_DYN_PUSH /* @min:%2epush */](payload);\r\n };\r\n _self[_DYN_COUNT /* @min:%2ecount */] = function () {\r\n return _buffer[_DYN_LENGTH /* @min:%2elength */];\r\n };\r\n _self.size = function () {\r\n var size = _buffer[_DYN_LENGTH /* @min:%2elength */];\r\n for (var lp = 0; lp < _buffer[_DYN_LENGTH /* @min:%2elength */]; lp++) {\r\n size += _buffer[lp][_DYN_LENGTH /* @min:%2elength */];\r\n }\r\n if (!config[_DYN_EMIT_LINE_DELIMITED_0 /* @min:%2eemitLineDelimitedJson */]()) {\r\n size += 2;\r\n }\r\n return size;\r\n };\r\n _self[_DYN_CLEAR /* @min:%2eclear */] = function () {\r\n _buffer = [];\r\n _bufferFullMessageSent = false;\r\n };\r\n _self.getItems = function () {\r\n return _buffer.slice(0);\r\n };\r\n _self[_DYN_BATCH_PAYLOADS /* @min:%2ebatchPayloads */] = function (payload) {\r\n if (payload && payload[_DYN_LENGTH /* @min:%2elength */] > 0) {\r\n var batch = config[_DYN_EMIT_LINE_DELIMITED_0 /* @min:%2eemitLineDelimitedJson */]() ?\r\n payload.join(\"\\n\") :\r\n \"[\" + payload.join(\",\") + \"]\";\r\n return batch;\r\n }\r\n return null;\r\n };\r\n });\r\n }\r\n// Removed Stub for BaseSendBuffer.prototype.enqueue.\r\n// Removed Stub for BaseSendBuffer.prototype.count.\r\n// Removed Stub for BaseSendBuffer.prototype.size.\r\n// Removed Stub for BaseSendBuffer.prototype.clear.\r\n// Removed Stub for BaseSendBuffer.prototype.getItems.\r\n// Removed Stub for BaseSendBuffer.prototype.batchPayloads.\r\n // This is a workaround for an IE8 bug when using dynamicProto() with classes that don't have any\n // non-dynamic functions or static properties/functions when using uglify-js to minify the resulting code.\n // this will be removed when ES3 support is dropped.\n BaseSendBuffer.__ieDyn=1;\n\n return BaseSendBuffer;\r\n}());\r\n/*\r\n * An array based send buffer.\r\n */\r\nvar ArraySendBuffer = /** @class */ (function (_super) {\r\n __extends(ArraySendBuffer, _super);\r\n function ArraySendBuffer(logger, config) {\r\n var _this = _super.call(this, logger, config) || this;\r\n dynamicProto(ArraySendBuffer, _this, function (_self, _base) {\r\n _self[_DYN_MARK_AS_SENT /* @min:%2emarkAsSent */] = function (payload) {\r\n _base[_DYN_CLEAR /* @min:%2eclear */]();\r\n };\r\n _self[_DYN_CLEAR_SENT /* @min:%2eclearSent */] = function (payload) {\r\n // not supported\r\n };\r\n });\r\n return _this;\r\n }\r\n// Removed Stub for ArraySendBuffer.prototype.markAsSent.\r\n// Removed Stub for ArraySendBuffer.prototype.clearSent.\r\n // This is a workaround for an IE8 bug when using dynamicProto() with classes that don't have any\n // non-dynamic functions or static properties/functions when using uglify-js to minify the resulting code.\n // this will be removed when ES3 support is dropped.\n ArraySendBuffer.__ieDyn=1;\n\n return ArraySendBuffer;\r\n}(BaseSendBuffer));\r\nexport { ArraySendBuffer };\r\n/*\r\n * Session storage buffer holds a copy of all unsent items in the browser session storage.\r\n */\r\nvar SessionStorageSendBuffer = /** @class */ (function (_super) {\r\n __extends(SessionStorageSendBuffer, _super);\r\n function SessionStorageSendBuffer(logger, config) {\r\n var _this = _super.call(this, logger, config) || this;\r\n var _bufferFullMessageSent = false;\r\n var _a = config[_DYN_BUFFER_OVERRIDE /* @min:%2ebufferOverride */]() || { getItem: utlGetSessionStorage, setItem: utlSetSessionStorage }, getItem = _a.getItem, setItem = _a.setItem;\r\n dynamicProto(SessionStorageSendBuffer, _this, function (_self, _base) {\r\n var bufferItems = _getBuffer(SessionStorageSendBuffer[_DYN__BUFFER__KEY /* @min:%2eBUFFER_KEY */]);\r\n var notDeliveredItems = _getBuffer(SessionStorageSendBuffer[_DYN__SENT__BUFFER__KEY /* @min:%2eSENT_BUFFER_KEY */]);\r\n var buffer = _self._set(bufferItems.concat(notDeliveredItems));\r\n // If the buffer has too many items, drop items from the end.\r\n if (buffer[_DYN_LENGTH /* @min:%2elength */] > SessionStorageSendBuffer[_DYN__MAX__BUFFER__SIZE /* @min:%2eMAX_BUFFER_SIZE */]) {\r\n buffer[_DYN_LENGTH /* @min:%2elength */] = SessionStorageSendBuffer[_DYN__MAX__BUFFER__SIZE /* @min:%2eMAX_BUFFER_SIZE */];\r\n }\r\n _setBuffer(SessionStorageSendBuffer[_DYN__SENT__BUFFER__KEY /* @min:%2eSENT_BUFFER_KEY */], []);\r\n _setBuffer(SessionStorageSendBuffer[_DYN__BUFFER__KEY /* @min:%2eBUFFER_KEY */], buffer);\r\n _self[_DYN_ENQUEUE /* @min:%2eenqueue */] = function (payload) {\r\n if (_self[_DYN_COUNT /* @min:%2ecount */]() >= SessionStorageSendBuffer[_DYN__MAX__BUFFER__SIZE /* @min:%2eMAX_BUFFER_SIZE */]) {\r\n // sent internal log only once per page view\r\n if (!_bufferFullMessageSent) {\r\n _throwInternal(logger, 2 /* eLoggingSeverity.WARNING */, 67 /* _eInternalMessageId.SessionStorageBufferFull */, \"Maximum buffer size reached: \" + _self[_DYN_COUNT /* @min:%2ecount */](), true);\r\n _bufferFullMessageSent = true;\r\n }\r\n return;\r\n }\r\n _base[_DYN_ENQUEUE /* @min:%2eenqueue */](payload);\r\n _setBuffer(SessionStorageSendBuffer[_DYN__BUFFER__KEY /* @min:%2eBUFFER_KEY */], _self._get());\r\n };\r\n _self[_DYN_CLEAR /* @min:%2eclear */] = function () {\r\n _base[_DYN_CLEAR /* @min:%2eclear */]();\r\n _setBuffer(SessionStorageSendBuffer[_DYN__BUFFER__KEY /* @min:%2eBUFFER_KEY */], _self._get());\r\n _setBuffer(SessionStorageSendBuffer[_DYN__SENT__BUFFER__KEY /* @min:%2eSENT_BUFFER_KEY */], []);\r\n _bufferFullMessageSent = false;\r\n };\r\n _self[_DYN_MARK_AS_SENT /* @min:%2emarkAsSent */] = function (payload) {\r\n _setBuffer(SessionStorageSendBuffer[_DYN__BUFFER__KEY /* @min:%2eBUFFER_KEY */], _self._set(_removePayloadsFromBuffer(payload, _self._get())));\r\n var sentElements = _getBuffer(SessionStorageSendBuffer[_DYN__SENT__BUFFER__KEY /* @min:%2eSENT_BUFFER_KEY */]);\r\n if (sentElements instanceof Array && payload instanceof Array) {\r\n sentElements = sentElements.concat(payload);\r\n if (sentElements[_DYN_LENGTH /* @min:%2elength */] > SessionStorageSendBuffer[_DYN__MAX__BUFFER__SIZE /* @min:%2eMAX_BUFFER_SIZE */]) {\r\n // We send telemetry normally. If the SENT_BUFFER is too big we don't add new elements\r\n // until we receive a response from the backend and the buffer has free space again (see clearSent method)\r\n _throwInternal(logger, 1 /* eLoggingSeverity.CRITICAL */, 67 /* _eInternalMessageId.SessionStorageBufferFull */, \"Sent buffer reached its maximum size: \" + sentElements[_DYN_LENGTH /* @min:%2elength */], true);\r\n sentElements[_DYN_LENGTH /* @min:%2elength */] = SessionStorageSendBuffer[_DYN__MAX__BUFFER__SIZE /* @min:%2eMAX_BUFFER_SIZE */];\r\n }\r\n _setBuffer(SessionStorageSendBuffer[_DYN__SENT__BUFFER__KEY /* @min:%2eSENT_BUFFER_KEY */], sentElements);\r\n }\r\n };\r\n _self[_DYN_CLEAR_SENT /* @min:%2eclearSent */] = function (payload) {\r\n var sentElements = _getBuffer(SessionStorageSendBuffer[_DYN__SENT__BUFFER__KEY /* @min:%2eSENT_BUFFER_KEY */]);\r\n sentElements = _removePayloadsFromBuffer(payload, sentElements);\r\n _setBuffer(SessionStorageSendBuffer[_DYN__SENT__BUFFER__KEY /* @min:%2eSENT_BUFFER_KEY */], sentElements);\r\n };\r\n function _removePayloadsFromBuffer(payloads, buffer) {\r\n var remaining = [];\r\n arrForEach(buffer, function (value) {\r\n if (!isFunction(value) && arrIndexOf(payloads, value) === -1) {\r\n remaining[_DYN_PUSH /* @min:%2epush */](value);\r\n }\r\n });\r\n return remaining;\r\n }\r\n function _getBuffer(key) {\r\n var prefixedKey = key;\r\n try {\r\n prefixedKey = config[_DYN_NAME_PREFIX /* @min:%2enamePrefix */] && config[_DYN_NAME_PREFIX /* @min:%2enamePrefix */]() ? config[_DYN_NAME_PREFIX /* @min:%2enamePrefix */]() + \"_\" + prefixedKey : prefixedKey;\r\n var bufferJson = getItem(logger, prefixedKey);\r\n if (bufferJson) {\r\n var buffer_1 = getJSON().parse(bufferJson);\r\n if (isString(buffer_1)) {\r\n // When using some version prototype.js the stringify / parse cycle does not decode array's correctly\r\n buffer_1 = getJSON().parse(buffer_1);\r\n }\r\n if (buffer_1 && isArray(buffer_1)) {\r\n return buffer_1;\r\n }\r\n }\r\n }\r\n catch (e) {\r\n _throwInternal(logger, 1 /* eLoggingSeverity.CRITICAL */, 42 /* _eInternalMessageId.FailedToRestoreStorageBuffer */, \" storage key: \" + prefixedKey + \", \" + getExceptionName(e), { exception: dumpObj(e) });\r\n }\r\n return [];\r\n }\r\n function _setBuffer(key, buffer) {\r\n var prefixedKey = key;\r\n try {\r\n prefixedKey = config[_DYN_NAME_PREFIX /* @min:%2enamePrefix */] && config[_DYN_NAME_PREFIX /* @min:%2enamePrefix */]() ? config[_DYN_NAME_PREFIX /* @min:%2enamePrefix */]() + \"_\" + prefixedKey : prefixedKey;\r\n var bufferJson = JSON[_DYN_STRINGIFY /* @min:%2estringify */](buffer);\r\n setItem(logger, prefixedKey, bufferJson);\r\n }\r\n catch (e) {\r\n // if there was an error, clear the buffer\r\n // telemetry is stored in the _buffer array so we won't loose any items\r\n setItem(logger, prefixedKey, JSON[_DYN_STRINGIFY /* @min:%2estringify */]([]));\r\n _throwInternal(logger, 2 /* eLoggingSeverity.WARNING */, 41 /* _eInternalMessageId.FailedToSetStorageBuffer */, \" storage key: \" + prefixedKey + \", \" + getExceptionName(e) + \". Buffer cleared\", { exception: dumpObj(e) });\r\n }\r\n }\r\n });\r\n return _this;\r\n }\r\n// Removed Stub for SessionStorageSendBuffer.prototype.enqueue.\r\n// Removed Stub for SessionStorageSendBuffer.prototype.clear.\r\n// Removed Stub for SessionStorageSendBuffer.prototype.markAsSent.\r\n// Removed Stub for SessionStorageSendBuffer.prototype.clearSent.\r\n SessionStorageSendBuffer.BUFFER_KEY = \"AI_buffer\";\r\n SessionStorageSendBuffer.SENT_BUFFER_KEY = \"AI_sentBuffer\";\r\n // Maximum number of payloads stored in the buffer. If the buffer is full, new elements will be dropped.\r\n SessionStorageSendBuffer.MAX_BUFFER_SIZE = 2000;\r\n return SessionStorageSendBuffer;\r\n}(BaseSendBuffer));\r\nexport { SessionStorageSendBuffer };\r\n","/*\n * Application Insights JavaScript SDK - Channel, 2.8.15\n * Copyright (c) Microsoft and contributors. All rights reserved.\n */\nvar _a;\r\nimport { __assignFn as __assign, __extendsFn as __extends } from \"@microsoft/applicationinsights-shims\";\r\nimport dynamicProto from \"@microsoft/dynamicproto-js\";\r\nimport { BreezeChannelIdentifier, DEFAULT_BREEZE_ENDPOINT, DEFAULT_BREEZE_PATH, DisabledPropertyName, Event, Exception, Metric, PageView, PageViewPerformance, ProcessLegacy, RemoteDependencyData, RequestHeaders, SampleRate, Trace, isInternalApplicationInsightsEndpoint, utlCanUseSessionStorage, utlSetStoragePrefix } from \"@microsoft/applicationinsights-common\";\r\nimport { BaseTelemetryPlugin, _throwInternal, _warnToConsole, arrForEach, createUniqueNamespace, dateNow, dumpObj, getExceptionName, getIEVersion, getJSON, getNavigator, getWindow, isArray, isBeaconsSupported, isFetchSupported, isNullOrUndefined, isXhrSupported, mergeEvtNamespace, objForEachKey, objKeys, useXDomainRequest } from \"@microsoft/applicationinsights-core-js\";\r\nimport { DependencyEnvelopeCreator, EventEnvelopeCreator, ExceptionEnvelopeCreator, MetricEnvelopeCreator, PageViewEnvelopeCreator, PageViewPerformanceEnvelopeCreator, TraceEnvelopeCreator } from \"./EnvelopeCreator\";\r\nimport { createOfflineListener } from \"./Offline\";\r\nimport { ArraySendBuffer, SessionStorageSendBuffer } from \"./SendBuffer\";\r\nimport { Serializer } from \"./Serializer\";\r\nimport { Sample } from \"./TelemetryProcessors/Sample\";\r\nimport { _DYN_BASE_TYPE, _DYN_BATCH_PAYLOADS, _DYN_BUFFER_OVERRIDE, _DYN_CLEAR, _DYN_CLEAR_SENT, _DYN_CONVERT_UNDEFINED, _DYN_COUNT, _DYN_CUSTOM_HEADERS, _DYN_DIAG_LOG, _DYN_DISABLE_INSTRUMENTAT7, _DYN_DISABLE_TELEMETRY, _DYN_DISABLE_XHR, _DYN_EMIT_LINE_DELIMITED_0, _DYN_ENABLE_SESSION_STORA4, _DYN_ENDPOINT_URL, _DYN_ENQUEUE, _DYN_EVENTS_SEND_REQUEST, _DYN_INSTRUMENTATION_KEY, _DYN_IS_BEACON_API_DISABL3, _DYN_IS_ONLINE, _DYN_IS_RETRY_DISABLED, _DYN_ITEMS_ACCEPTED, _DYN_ITEMS_RECEIVED, _DYN_LENGTH, _DYN_MARK_AS_SENT, _DYN_MAX_BATCH_INTERVAL, _DYN_MAX_BATCH_SIZE_IN_BY1, _DYN_NAME_PREFIX, _DYN_ONUNLOAD_DISABLE_BEA2, _DYN_ONUNLOAD_DISABLE_FET5, _DYN_PUSH, _DYN_SAMPLE_RATE, _DYN_SAMPLING_PERCENTAGE, _DYN_SET_REQUEST_HEADER, _DYN_TAGS, _DYN_TRIGGER_SEND, _DYN__BUFFER, _DYN__ON_ERROR, _DYN__ON_PARTIAL_SUCCESS, _DYN__ON_SUCCESS, _DYN__SENDER, _DYN__SENDER_CONFIG, _DYN__XHR_READY_STATE_CHA6 } from \"./__DynamicConstants\";\r\nvar FetchSyncRequestSizeLimitBytes = 65000; // approx 64kb (the current Edge, Firefox and Chrome max limit)\r\nfunction _getResponseText(xhr) {\r\n try {\r\n return xhr.responseText;\r\n }\r\n catch (e) {\r\n // Best effort, as XHR may throw while XDR wont so just ignore\r\n }\r\n return null;\r\n}\r\nfunction _getDefaultAppInsightsChannelConfig() {\r\n var _a;\r\n var defaultValue;\r\n var defaultCustomHeaders;\r\n // set default values\r\n return _a = {\r\n endpointUrl: function () { return DEFAULT_BREEZE_ENDPOINT + DEFAULT_BREEZE_PATH; }\r\n },\r\n _a[_DYN_EMIT_LINE_DELIMITED_0 /* @min:emitLineDelimitedJson */] = function () { return false; },\r\n _a[_DYN_MAX_BATCH_INTERVAL /* @min:maxBatchInterval */] = function () { return 15000; },\r\n _a[_DYN_MAX_BATCH_SIZE_IN_BY1 /* @min:maxBatchSizeInBytes */] = function () { return 102400; },\r\n _a[_DYN_DISABLE_TELEMETRY /* @min:disableTelemetry */] = function () { return false; },\r\n _a[_DYN_ENABLE_SESSION_STORA4 /* @min:enableSessionStorageBuffer */] = function () { return true; },\r\n _a[_DYN_BUFFER_OVERRIDE /* @min:bufferOverride */] = function () { return false; },\r\n _a[_DYN_IS_RETRY_DISABLED /* @min:isRetryDisabled */] = function () { return false; },\r\n _a[_DYN_IS_BEACON_API_DISABL3 /* @min:isBeaconApiDisabled */] = function () { return true; },\r\n _a[_DYN_DISABLE_XHR /* @min:disableXhr */] = function () { return false; },\r\n _a[_DYN_ONUNLOAD_DISABLE_FET5 /* @min:onunloadDisableFetch */] = function () { return false; },\r\n _a[_DYN_ONUNLOAD_DISABLE_BEA2 /* @min:onunloadDisableBeacon */] = function () { return false; },\r\n _a[_DYN_INSTRUMENTATION_KEY /* @min:instrumentationKey */] = function () { return defaultValue; },\r\n _a[_DYN_NAME_PREFIX /* @min:namePrefix */] = function () { return defaultValue; },\r\n _a[_DYN_SAMPLING_PERCENTAGE /* @min:samplingPercentage */] = function () { return 100; },\r\n _a[_DYN_CUSTOM_HEADERS /* @min:customHeaders */] = function () { return defaultCustomHeaders; },\r\n _a[_DYN_CONVERT_UNDEFINED /* @min:convertUndefined */] = function () { return defaultValue; },\r\n _a.eventsLimitInMem = function () { return 10000; },\r\n _a;\r\n}\r\nvar EnvelopeTypeCreator = (_a = {},\r\n _a[Event.dataType] = EventEnvelopeCreator,\r\n _a[Trace.dataType] = TraceEnvelopeCreator,\r\n _a[PageView.dataType] = PageViewEnvelopeCreator,\r\n _a[PageViewPerformance.dataType] = PageViewPerformanceEnvelopeCreator,\r\n _a[Exception.dataType] = ExceptionEnvelopeCreator,\r\n _a[Metric.dataType] = MetricEnvelopeCreator,\r\n _a[RemoteDependencyData.dataType] = DependencyEnvelopeCreator,\r\n _a);\r\nvar Sender = /** @class */ (function (_super) {\r\n __extends(Sender, _super);\r\n function Sender() {\r\n var _this = _super.call(this) || this;\r\n _this.priority = 1001;\r\n _this.identifier = BreezeChannelIdentifier;\r\n /**\r\n * The configuration for this sender instance\r\n */\r\n _this._senderConfig = _getDefaultAppInsightsChannelConfig();\r\n // Don't set the defaults here, set them in the _initDefaults() as this is also called during unload\r\n var _consecutiveErrors; // How many times in a row a retryable error condition has occurred.\r\n var _retryAt; // The time to retry at in milliseconds from 1970/01/01 (this makes the timer calculation easy).\r\n var _lastSend; // The time of the last send operation.\r\n var _paused; // Flag indicating that the sending should be paused\r\n var _timeoutHandle; // Handle to the timer for delayed sending of batches of data.\r\n var _serializer;\r\n var _stamp_specific_redirects;\r\n var _headers;\r\n var _syncFetchPayload = 0; // Keep track of the outstanding sync fetch payload total (as sync fetch has limits)\r\n var _fallbackSender; // The sender to use if the payload size is too large\r\n var _syncUnloadSender; // The identified sender to use for the synchronous unload stage\r\n var _offlineListener;\r\n var _evtNamespace;\r\n dynamicProto(Sender, _this, function (_self, _base) {\r\n _initDefaults();\r\n _self.pause = function () {\r\n _clearScheduledTimer();\r\n _paused = true;\r\n };\r\n _self.resume = function () {\r\n if (_paused) {\r\n _paused = false;\r\n _retryAt = null;\r\n // flush if we have exceeded the max-size already\r\n if (_self._buffer.size() > _self._senderConfig[_DYN_MAX_BATCH_SIZE_IN_BY1 /* @min:%2emaxBatchSizeInBytes */]()) {\r\n _self[_DYN_TRIGGER_SEND /* @min:%2etriggerSend */](true, null, 10 /* SendRequestReason.MaxBatchSize */);\r\n }\r\n _setupTimer();\r\n }\r\n };\r\n _self.flush = function (isAsync, callBack, sendReason) {\r\n if (isAsync === void 0) { isAsync = true; }\r\n if (!_paused) {\r\n // Clear the normal schedule timer as we are going to try and flush ASAP\r\n _clearScheduledTimer();\r\n try {\r\n _self[_DYN_TRIGGER_SEND /* @min:%2etriggerSend */](isAsync, null, sendReason || 1 /* SendRequestReason.ManualFlush */);\r\n }\r\n catch (e) {\r\n _throwInternal(_self[_DYN_DIAG_LOG /* @min:%2ediagLog */](), 1 /* eLoggingSeverity.CRITICAL */, 22 /* _eInternalMessageId.FlushFailed */, \"flush failed, telemetry will not be collected: \" + getExceptionName(e), { exception: dumpObj(e) });\r\n }\r\n }\r\n };\r\n _self.onunloadFlush = function () {\r\n if (!_paused) {\r\n if ((_self._senderConfig[_DYN_ONUNLOAD_DISABLE_BEA2 /* @min:%2eonunloadDisableBeacon */]() === false || _self[_DYN__SENDER_CONFIG /* @min:%2e_senderConfig */][_DYN_IS_BEACON_API_DISABL3 /* @min:%2eisBeaconApiDisabled */]() === false) && isBeaconsSupported()) {\r\n try {\r\n _self[_DYN_TRIGGER_SEND /* @min:%2etriggerSend */](true, _doUnloadSend, 2 /* SendRequestReason.Unload */);\r\n }\r\n catch (e) {\r\n _throwInternal(_self[_DYN_DIAG_LOG /* @min:%2ediagLog */](), 1 /* eLoggingSeverity.CRITICAL */, 20 /* _eInternalMessageId.FailedToSendQueuedTelemetry */, \"failed to flush with beacon sender on page unload, telemetry will not be collected: \" + getExceptionName(e), { exception: dumpObj(e) });\r\n }\r\n }\r\n else {\r\n _self.flush();\r\n }\r\n }\r\n };\r\n _self.addHeader = function (name, value) {\r\n _headers[name] = value;\r\n };\r\n _self.initialize = function (config, core, extensions, pluginChain) {\r\n if (_self.isInitialized()) {\r\n _throwInternal(_self[_DYN_DIAG_LOG /* @min:%2ediagLog */](), 1 /* eLoggingSeverity.CRITICAL */, 28 /* _eInternalMessageId.SenderNotInitialized */, \"Sender is already initialized\");\r\n }\r\n _base.initialize(config, core, extensions, pluginChain);\r\n var ctx = _self._getTelCtx();\r\n var identifier = _self.identifier;\r\n _serializer = new Serializer(core.logger);\r\n _consecutiveErrors = 0;\r\n _retryAt = null;\r\n _lastSend = 0;\r\n _self[_DYN__SENDER /* @min:%2e_sender */] = null;\r\n _stamp_specific_redirects = 0;\r\n var diagLog = _self[_DYN_DIAG_LOG /* @min:%2ediagLog */]();\r\n _evtNamespace = mergeEvtNamespace(createUniqueNamespace(\"Sender\"), core.evtNamespace && core.evtNamespace());\r\n _offlineListener = createOfflineListener(_evtNamespace);\r\n // TODO v3.x: Change the ISenderConfig to not be function calls\r\n var defaultConfig = _getDefaultAppInsightsChannelConfig();\r\n objForEachKey(defaultConfig, function (field, value) {\r\n _self[_DYN__SENDER_CONFIG /* @min:%2e_senderConfig */][field] = function () {\r\n var theValue = ctx.getConfig(identifier, field, value());\r\n if (!theValue && field === \"endpointUrl\") {\r\n // Use the default value (handles empty string in the configuration)\r\n theValue = value();\r\n }\r\n return theValue;\r\n };\r\n });\r\n if (config.storagePrefix) {\r\n utlSetStoragePrefix(config.storagePrefix);\r\n }\r\n var useSessionStorage = _self[_DYN__SENDER_CONFIG /* @min:%2e_senderConfig */][_DYN_ENABLE_SESSION_STORA4 /* @min:%2eenableSessionStorageBuffer */]() &&\r\n !!(_self._senderConfig[_DYN_BUFFER_OVERRIDE /* @min:%2ebufferOverride */]() || utlCanUseSessionStorage());\r\n _self[_DYN__BUFFER /* @min:%2e_buffer */] = useSessionStorage\r\n ? new SessionStorageSendBuffer(diagLog, _self[_DYN__SENDER_CONFIG /* @min:%2e_senderConfig */])\r\n : new ArraySendBuffer(diagLog, _self[_DYN__SENDER_CONFIG /* @min:%2e_senderConfig */]);\r\n _self._sample = new Sample(_self[_DYN__SENDER_CONFIG /* @min:%2e_senderConfig */][_DYN_SAMPLING_PERCENTAGE /* @min:%2esamplingPercentage */](), diagLog);\r\n if (!_validateInstrumentationKey(config)) {\r\n _throwInternal(diagLog, 1 /* eLoggingSeverity.CRITICAL */, 100 /* _eInternalMessageId.InvalidInstrumentationKey */, \"Invalid Instrumentation key \" + config[_DYN_INSTRUMENTATION_KEY /* @min:%2einstrumentationKey */]);\r\n }\r\n if (!isInternalApplicationInsightsEndpoint(_self._senderConfig.endpointUrl()) && _self._senderConfig.customHeaders() && _self._senderConfig.customHeaders()[_DYN_LENGTH /* @min:%2elength */] > 0) {\r\n arrForEach(_self[_DYN__SENDER_CONFIG /* @min:%2e_senderConfig */][_DYN_CUSTOM_HEADERS /* @min:%2ecustomHeaders */](), function (customHeader) {\r\n _this.addHeader(customHeader.header, customHeader.value);\r\n });\r\n }\r\n var senderConfig = _self[_DYN__SENDER_CONFIG /* @min:%2e_senderConfig */];\r\n var sendPostFunc = null;\r\n if (!senderConfig[_DYN_DISABLE_XHR /* @min:%2edisableXhr */]() && useXDomainRequest()) {\r\n sendPostFunc = _xdrSender; // IE 8 and 9\r\n }\r\n else if (!senderConfig[_DYN_DISABLE_XHR /* @min:%2edisableXhr */]() && isXhrSupported()) {\r\n sendPostFunc = _xhrSender;\r\n }\r\n if (!sendPostFunc && isFetchSupported()) {\r\n sendPostFunc = _fetchSender;\r\n }\r\n // always fallback to XHR\r\n _fallbackSender = sendPostFunc || _xhrSender;\r\n if (!senderConfig[_DYN_IS_BEACON_API_DISABL3 /* @min:%2eisBeaconApiDisabled */]() && isBeaconsSupported()) {\r\n // Config is set to always used beacon sending\r\n sendPostFunc = _beaconSender;\r\n }\r\n _self[_DYN__SENDER /* @min:%2e_sender */] = sendPostFunc || _xhrSender;\r\n if (!senderConfig[_DYN_ONUNLOAD_DISABLE_FET5 /* @min:%2eonunloadDisableFetch */]() && isFetchSupported(true)) {\r\n // Try and use the fetch with keepalive\r\n _syncUnloadSender = _fetchKeepAliveSender;\r\n }\r\n else if (isBeaconsSupported()) {\r\n // Try and use sendBeacon\r\n _syncUnloadSender = _beaconSender;\r\n }\r\n else if (!senderConfig[_DYN_DISABLE_XHR /* @min:%2edisableXhr */]() && useXDomainRequest()) {\r\n _syncUnloadSender = _xdrSender; // IE 8 and 9\r\n }\r\n else if (!senderConfig[_DYN_DISABLE_XHR /* @min:%2edisableXhr */]() && isXhrSupported()) {\r\n _syncUnloadSender = _xhrSender;\r\n }\r\n else {\r\n _syncUnloadSender = _fallbackSender;\r\n }\r\n };\r\n _self.processTelemetry = function (telemetryItem, itemCtx) {\r\n itemCtx = _self._getTelCtx(itemCtx);\r\n var diagLogger = itemCtx[_DYN_DIAG_LOG /* @min:%2ediagLog */]();\r\n try {\r\n // if master off switch is set, don't send any data\r\n if (_self[_DYN__SENDER_CONFIG /* @min:%2e_senderConfig */][_DYN_DISABLE_TELEMETRY /* @min:%2edisableTelemetry */]()) {\r\n // Do not send/save data\r\n return;\r\n }\r\n // validate input\r\n if (!telemetryItem) {\r\n _throwInternal(diagLogger, 1 /* eLoggingSeverity.CRITICAL */, 7 /* _eInternalMessageId.CannotSendEmptyTelemetry */, \"Cannot send empty telemetry\");\r\n return;\r\n }\r\n // validate event\r\n if (telemetryItem.baseData && !telemetryItem[_DYN_BASE_TYPE /* @min:%2ebaseType */]) {\r\n _throwInternal(diagLogger, 1 /* eLoggingSeverity.CRITICAL */, 70 /* _eInternalMessageId.InvalidEvent */, \"Cannot send telemetry without baseData and baseType\");\r\n return;\r\n }\r\n if (!telemetryItem[_DYN_BASE_TYPE /* @min:%2ebaseType */]) {\r\n // Default\r\n telemetryItem[_DYN_BASE_TYPE /* @min:%2ebaseType */] = \"EventData\";\r\n }\r\n // ensure a sender was constructed\r\n if (!_self[_DYN__SENDER /* @min:%2e_sender */]) {\r\n _throwInternal(diagLogger, 1 /* eLoggingSeverity.CRITICAL */, 28 /* _eInternalMessageId.SenderNotInitialized */, \"Sender was not initialized\");\r\n return;\r\n }\r\n // check if this item should be sampled in, else add sampleRate tag\r\n if (!_isSampledIn(telemetryItem)) {\r\n // Item is sampled out, do not send it\r\n _throwInternal(diagLogger, 2 /* eLoggingSeverity.WARNING */, 33 /* _eInternalMessageId.TelemetrySampledAndNotSent */, \"Telemetry item was sampled out and not sent\", { SampleRate: _self._sample[_DYN_SAMPLE_RATE /* @min:%2esampleRate */] });\r\n return;\r\n }\r\n else {\r\n telemetryItem[SampleRate] = _self._sample[_DYN_SAMPLE_RATE /* @min:%2esampleRate */];\r\n }\r\n var convertUndefined = _self[_DYN__SENDER_CONFIG /* @min:%2e_senderConfig */][_DYN_CONVERT_UNDEFINED /* @min:%2econvertUndefined */]() || undefined;\r\n // construct an envelope that Application Insights endpoint can understand\r\n // if ikey of telemetry is provided and not empty, envelope will use this iKey instead of senderConfig iKey\r\n var defaultEnvelopeIkey = telemetryItem.iKey || _self[_DYN__SENDER_CONFIG /* @min:%2e_senderConfig */][_DYN_INSTRUMENTATION_KEY /* @min:%2einstrumentationKey */]();\r\n var aiEnvelope_1 = Sender.constructEnvelope(telemetryItem, defaultEnvelopeIkey, diagLogger, convertUndefined);\r\n if (!aiEnvelope_1) {\r\n _throwInternal(diagLogger, 1 /* eLoggingSeverity.CRITICAL */, 47 /* _eInternalMessageId.CreateEnvelopeError */, \"Unable to create an AppInsights envelope\");\r\n return;\r\n }\r\n var doNotSendItem_1 = false;\r\n // this is for running in legacy mode, where customer may already have a custom initializer present\r\n if (telemetryItem[_DYN_TAGS /* @min:%2etags */] && telemetryItem[_DYN_TAGS /* @min:%2etags */][ProcessLegacy]) {\r\n arrForEach(telemetryItem[_DYN_TAGS /* @min:%2etags */][ProcessLegacy], function (callBack) {\r\n try {\r\n if (callBack && callBack(aiEnvelope_1) === false) {\r\n doNotSendItem_1 = true;\r\n _warnToConsole(diagLogger, \"Telemetry processor check returns false\");\r\n }\r\n }\r\n catch (e) {\r\n // log error but dont stop executing rest of the telemetry initializers\r\n // doNotSendItem = true;\r\n _throwInternal(diagLogger, 1 /* eLoggingSeverity.CRITICAL */, 64 /* _eInternalMessageId.TelemetryInitializerFailed */, \"One of telemetry initializers failed, telemetry item will not be sent: \" + getExceptionName(e), { exception: dumpObj(e) }, true);\r\n }\r\n });\r\n delete telemetryItem[_DYN_TAGS /* @min:%2etags */][ProcessLegacy];\r\n }\r\n if (doNotSendItem_1) {\r\n return; // do not send, no need to execute next plugin\r\n }\r\n // check if the incoming payload is too large, truncate if necessary\r\n var payload = _serializer.serialize(aiEnvelope_1);\r\n // flush if we would exceed the max-size limit by adding this item\r\n var buffer = _self[_DYN__BUFFER /* @min:%2e_buffer */];\r\n var bufferSize = buffer.size();\r\n if ((bufferSize + payload[_DYN_LENGTH /* @min:%2elength */]) > _self[_DYN__SENDER_CONFIG /* @min:%2e_senderConfig */][_DYN_MAX_BATCH_SIZE_IN_BY1 /* @min:%2emaxBatchSizeInBytes */]()) {\r\n if (!_offlineListener || _offlineListener[_DYN_IS_ONLINE /* @min:%2eisOnline */]()) { // only trigger send when currently online\r\n _self[_DYN_TRIGGER_SEND /* @min:%2etriggerSend */](true, null, 10 /* SendRequestReason.MaxBatchSize */);\r\n }\r\n }\r\n // enqueue the payload\r\n buffer[_DYN_ENQUEUE /* @min:%2eenqueue */](payload);\r\n // ensure an invocation timeout is set\r\n _setupTimer();\r\n }\r\n catch (e) {\r\n _throwInternal(diagLogger, 2 /* eLoggingSeverity.WARNING */, 12 /* _eInternalMessageId.FailedAddingTelemetryToBuffer */, \"Failed adding telemetry to the sender's buffer, some telemetry will be lost: \" + getExceptionName(e), { exception: dumpObj(e) });\r\n }\r\n // hand off the telemetry item to the next plugin\r\n _self.processNext(telemetryItem, itemCtx);\r\n };\r\n /**\r\n * xhr state changes\r\n */\r\n _self[_DYN__XHR_READY_STATE_CHA6 /* @min:%2e_xhrReadyStateChange */] = function (xhr, payload, countOfItemsInPayload) {\r\n if (xhr.readyState === 4) {\r\n _checkResponsStatus(xhr.status, payload, xhr.responseURL, countOfItemsInPayload, _formatErrorMessageXhr(xhr), _getResponseText(xhr) || xhr.response);\r\n }\r\n };\r\n /**\r\n * Immediately send buffered data\r\n * @param async {boolean} - Indicates if the events should be sent asynchronously\r\n * @param forcedSender {SenderFunction} - Indicates the forcedSender, undefined if not passed\r\n */\r\n _self[_DYN_TRIGGER_SEND /* @min:%2etriggerSend */] = function (async, forcedSender, sendReason) {\r\n if (async === void 0) { async = true; }\r\n if (!_paused) {\r\n try {\r\n var buffer = _self[_DYN__BUFFER /* @min:%2e_buffer */];\r\n // Send data only if disableTelemetry is false\r\n if (!_self[_DYN__SENDER_CONFIG /* @min:%2e_senderConfig */][_DYN_DISABLE_TELEMETRY /* @min:%2edisableTelemetry */]()) {\r\n if (buffer[_DYN_COUNT /* @min:%2ecount */]() > 0) {\r\n var payload = buffer.getItems();\r\n _notifySendRequest(sendReason || 0 /* SendRequestReason.Undefined */, async);\r\n // invoke send\r\n if (forcedSender) {\r\n forcedSender.call(_self, payload, async);\r\n }\r\n else {\r\n _self[_DYN__SENDER /* @min:%2e_sender */](payload, async);\r\n }\r\n }\r\n // update lastSend time to enable throttling\r\n _lastSend = +new Date;\r\n }\r\n else {\r\n buffer[_DYN_CLEAR /* @min:%2eclear */]();\r\n }\r\n _clearScheduledTimer();\r\n }\r\n catch (e) {\r\n /* Ignore this error for IE under v10 */\r\n var ieVer = getIEVersion();\r\n if (!ieVer || ieVer > 9) {\r\n _throwInternal(_self[_DYN_DIAG_LOG /* @min:%2ediagLog */](), 1 /* eLoggingSeverity.CRITICAL */, 40 /* _eInternalMessageId.TransmissionFailed */, \"Telemetry transmission failed, some telemetry will be lost: \" + getExceptionName(e), { exception: dumpObj(e) });\r\n }\r\n }\r\n }\r\n };\r\n _self._doTeardown = function (unloadCtx, unloadState) {\r\n _self.onunloadFlush();\r\n _offlineListener.unload();\r\n _initDefaults();\r\n };\r\n /**\r\n * error handler\r\n */\r\n _self[_DYN__ON_ERROR /* @min:%2e_onError */] = function (payload, message, event) {\r\n _throwInternal(_self[_DYN_DIAG_LOG /* @min:%2ediagLog */](), 2 /* eLoggingSeverity.WARNING */, 26 /* _eInternalMessageId.OnError */, \"Failed to send telemetry.\", { message: message });\r\n _self._buffer && _self._buffer[_DYN_CLEAR_SENT /* @min:%2eclearSent */](payload);\r\n };\r\n /**\r\n * partial success handler\r\n */\r\n _self[_DYN__ON_PARTIAL_SUCCESS /* @min:%2e_onPartialSuccess */] = function (payload, results) {\r\n var failed = [];\r\n var retry = [];\r\n // Iterate through the reversed array of errors so that splicing doesn't have invalid indexes after the first item.\r\n var errors = results.errors.reverse();\r\n for (var _i = 0, errors_1 = errors; _i < errors_1.length; _i++) {\r\n var error = errors_1[_i];\r\n var extracted = payload.splice(error.index, 1)[0];\r\n if (_isRetriable(error.statusCode)) {\r\n retry[_DYN_PUSH /* @min:%2epush */](extracted);\r\n }\r\n else {\r\n // All other errors, including: 402 (Monthly quota exceeded) and 439 (Too many requests and refresh cache).\r\n failed[_DYN_PUSH /* @min:%2epush */](extracted);\r\n }\r\n }\r\n if (payload[_DYN_LENGTH /* @min:%2elength */] > 0) {\r\n _self[_DYN__ON_SUCCESS /* @min:%2e_onSuccess */](payload, results[_DYN_ITEMS_ACCEPTED /* @min:%2eitemsAccepted */]);\r\n }\r\n if (failed[_DYN_LENGTH /* @min:%2elength */] > 0) {\r\n _self[_DYN__ON_ERROR /* @min:%2e_onError */](failed, _formatErrorMessageXhr(null, [\"partial success\", results[_DYN_ITEMS_ACCEPTED /* @min:%2eitemsAccepted */], \"of\", results.itemsReceived].join(\" \")));\r\n }\r\n if (retry[_DYN_LENGTH /* @min:%2elength */] > 0) {\r\n _resendPayload(retry);\r\n _throwInternal(_self[_DYN_DIAG_LOG /* @min:%2ediagLog */](), 2 /* eLoggingSeverity.WARNING */, 40 /* _eInternalMessageId.TransmissionFailed */, \"Partial success. \" +\r\n \"Delivered: \" + payload[_DYN_LENGTH /* @min:%2elength */] + \", Failed: \" + failed[_DYN_LENGTH /* @min:%2elength */] +\r\n \". Will retry to send \" + retry[_DYN_LENGTH /* @min:%2elength */] + \" our of \" + results[_DYN_ITEMS_RECEIVED /* @min:%2eitemsReceived */] + \" items\");\r\n }\r\n };\r\n /**\r\n * success handler\r\n */\r\n _self[_DYN__ON_SUCCESS /* @min:%2e_onSuccess */] = function (payload, countOfItemsInPayload) {\r\n _self._buffer && _self._buffer[_DYN_CLEAR_SENT /* @min:%2eclearSent */](payload);\r\n };\r\n /**\r\n * xdr state changes\r\n */\r\n _self._xdrOnLoad = function (xdr, payload) {\r\n var responseText = _getResponseText(xdr);\r\n if (xdr && (responseText + \"\" === \"200\" || responseText === \"\")) {\r\n _consecutiveErrors = 0;\r\n _self[_DYN__ON_SUCCESS /* @min:%2e_onSuccess */](payload, 0);\r\n }\r\n else {\r\n var results = _parseResponse(responseText);\r\n if (results && results.itemsReceived && results.itemsReceived > results[_DYN_ITEMS_ACCEPTED /* @min:%2eitemsAccepted */]\r\n && !_self[_DYN__SENDER_CONFIG /* @min:%2e_senderConfig */][_DYN_IS_RETRY_DISABLED /* @min:%2eisRetryDisabled */]()) {\r\n _self[_DYN__ON_PARTIAL_SUCCESS /* @min:%2e_onPartialSuccess */](payload, results);\r\n }\r\n else {\r\n _self[_DYN__ON_ERROR /* @min:%2e_onError */](payload, _formatErrorMessageXdr(xdr));\r\n }\r\n }\r\n };\r\n function _isSampledIn(envelope) {\r\n return _self._sample.isSampledIn(envelope);\r\n }\r\n function _checkResponsStatus(status, payload, responseUrl, countOfItemsInPayload, errorMessage, res) {\r\n var response = null;\r\n if (!_self._appId) {\r\n response = _parseResponse(res);\r\n if (response && response.appId) {\r\n _self._appId = response.appId;\r\n }\r\n }\r\n if ((status < 200 || status >= 300) && status !== 0) {\r\n // Update End Point url if permanent redirect or moved permanently\r\n // Updates the end point url before retry\r\n if (status === 301 || status === 307 || status === 308) {\r\n if (!_checkAndUpdateEndPointUrl(responseUrl)) {\r\n _self[_DYN__ON_ERROR /* @min:%2e_onError */](payload, errorMessage);\r\n return;\r\n }\r\n }\r\n if (!_self[_DYN__SENDER_CONFIG /* @min:%2e_senderConfig */][_DYN_IS_RETRY_DISABLED /* @min:%2eisRetryDisabled */]() && _isRetriable(status)) {\r\n _resendPayload(payload);\r\n _throwInternal(_self[_DYN_DIAG_LOG /* @min:%2ediagLog */](), 2 /* eLoggingSeverity.WARNING */, 40 /* _eInternalMessageId.TransmissionFailed */, \". \" +\r\n \"Response code \" + status + \". Will retry to send \" + payload[_DYN_LENGTH /* @min:%2elength */] + \" items.\");\r\n }\r\n else {\r\n _self[_DYN__ON_ERROR /* @min:%2e_onError */](payload, errorMessage);\r\n }\r\n }\r\n else if (_offlineListener && !_offlineListener[_DYN_IS_ONLINE /* @min:%2eisOnline */]()) { // offline\r\n // Note: Don't check for status == 0, since adblock gives this code\r\n if (!_self[_DYN__SENDER_CONFIG /* @min:%2e_senderConfig */][_DYN_IS_RETRY_DISABLED /* @min:%2eisRetryDisabled */]()) {\r\n var offlineBackOffMultiplier = 10; // arbritrary number\r\n _resendPayload(payload, offlineBackOffMultiplier);\r\n _throwInternal(_self[_DYN_DIAG_LOG /* @min:%2ediagLog */](), 2 /* eLoggingSeverity.WARNING */, 40 /* _eInternalMessageId.TransmissionFailed */, \". Offline - Response Code: \".concat(status, \". Offline status: \").concat(!_offlineListener.isOnline(), \". Will retry to send \").concat(payload.length, \" items.\"));\r\n }\r\n }\r\n else {\r\n // check if the xhr's responseURL or fetch's response.url is same as endpoint url\r\n // TODO after 10 redirects force send telemetry with 'redirect=false' as query parameter.\r\n _checkAndUpdateEndPointUrl(responseUrl);\r\n if (status === 206) {\r\n if (!response) {\r\n response = _parseResponse(res);\r\n }\r\n if (response && !_self[_DYN__SENDER_CONFIG /* @min:%2e_senderConfig */][_DYN_IS_RETRY_DISABLED /* @min:%2eisRetryDisabled */]()) {\r\n _self[_DYN__ON_PARTIAL_SUCCESS /* @min:%2e_onPartialSuccess */](payload, response);\r\n }\r\n else {\r\n _self[_DYN__ON_ERROR /* @min:%2e_onError */](payload, errorMessage);\r\n }\r\n }\r\n else {\r\n _consecutiveErrors = 0;\r\n _self[_DYN__ON_SUCCESS /* @min:%2e_onSuccess */](payload, countOfItemsInPayload);\r\n }\r\n }\r\n }\r\n function _checkAndUpdateEndPointUrl(responseUrl) {\r\n // Maximum stamp specific redirects allowed(uncomment this when breeze is ready with not allowing redirects feature)\r\n if (_stamp_specific_redirects >= 10) {\r\n // _self._senderConfig.endpointUrl = () => Sender._getDefaultAppInsightsChannelConfig().endpointUrl()+\"/?redirect=false\";\r\n // _stamp_specific_redirects = 0;\r\n return false;\r\n }\r\n if (!isNullOrUndefined(responseUrl) && responseUrl !== \"\") {\r\n if (responseUrl !== _self[_DYN__SENDER_CONFIG /* @min:%2e_senderConfig */][_DYN_ENDPOINT_URL /* @min:%2eendpointUrl */]()) {\r\n _self[_DYN__SENDER_CONFIG /* @min:%2e_senderConfig */][_DYN_ENDPOINT_URL /* @min:%2eendpointUrl */] = function () { return responseUrl; };\r\n ++_stamp_specific_redirects;\r\n return true;\r\n }\r\n }\r\n return false;\r\n }\r\n function _doUnloadSend(payload, isAsync) {\r\n if (_syncUnloadSender) {\r\n // We are unloading so always call the sender with sync set to false\r\n _syncUnloadSender(payload, false);\r\n }\r\n else {\r\n // Fallback to the previous beacon Sender (which causes a CORB warning on chrome now)\r\n _beaconSender(payload, isAsync);\r\n }\r\n }\r\n function _doBeaconSend(payload) {\r\n var nav = getNavigator();\r\n var buffer = _self[_DYN__BUFFER /* @min:%2e_buffer */];\r\n var url = _self[_DYN__SENDER_CONFIG /* @min:%2e_senderConfig */][_DYN_ENDPOINT_URL /* @min:%2eendpointUrl */]();\r\n var batch = _self._buffer[_DYN_BATCH_PAYLOADS /* @min:%2ebatchPayloads */](payload);\r\n // Chrome only allows CORS-safelisted values for the sendBeacon data argument\r\n // see: https://bugs.chromium.org/p/chromium/issues/detail?id=720283\r\n var plainTextBatch = new Blob([batch], { type: \"text/plain;charset=UTF-8\" });\r\n // The sendBeacon method returns true if the user agent is able to successfully queue the data for transfer. Otherwise it returns false.\r\n var queued = nav.sendBeacon(url, plainTextBatch);\r\n if (queued) {\r\n buffer[_DYN_MARK_AS_SENT /* @min:%2emarkAsSent */](payload);\r\n // no response from beaconSender, clear buffer\r\n _self._onSuccess(payload, payload[_DYN_LENGTH /* @min:%2elength */]);\r\n }\r\n return queued;\r\n }\r\n /**\r\n * Send Beacon API request\r\n * @param payload {string} - The data payload to be sent.\r\n * @param isAsync {boolean} - not used\r\n * Note: Beacon API does not support custom headers and we are not able to get\r\n * appId from the backend for the correct correlation.\r\n */\r\n function _beaconSender(payload, isAsync) {\r\n if (isArray(payload) && payload[_DYN_LENGTH /* @min:%2elength */] > 0) {\r\n // The sendBeacon method returns true if the user agent is able to successfully queue the data for transfer. Otherwise it returns false.\r\n if (!_doBeaconSend(payload)) {\r\n // Failed to send entire payload so try and split data and try to send as much events as possible\r\n var droppedPayload = [];\r\n for (var lp = 0; lp < payload[_DYN_LENGTH /* @min:%2elength */]; lp++) {\r\n var thePayload = payload[lp];\r\n if (!_doBeaconSend([thePayload])) {\r\n // Can't send anymore, so split the batch and drop the rest\r\n droppedPayload[_DYN_PUSH /* @min:%2epush */](thePayload);\r\n }\r\n }\r\n if (droppedPayload[_DYN_LENGTH /* @min:%2elength */] > 0) {\r\n _fallbackSender && _fallbackSender(droppedPayload, true);\r\n _throwInternal(_self[_DYN_DIAG_LOG /* @min:%2ediagLog */](), 2 /* eLoggingSeverity.WARNING */, 40 /* _eInternalMessageId.TransmissionFailed */, \". \" + \"Failed to send telemetry with Beacon API, retried with normal sender.\");\r\n }\r\n }\r\n }\r\n }\r\n /**\r\n * Send XMLHttpRequest\r\n * @param payload {string} - The data payload to be sent.\r\n * @param isAsync {boolean} - Indicates if the request should be sent asynchronously\r\n */\r\n function _xhrSender(payload, isAsync) {\r\n var xhr = new XMLHttpRequest();\r\n var endPointUrl = _self[_DYN__SENDER_CONFIG /* @min:%2e_senderConfig */][_DYN_ENDPOINT_URL /* @min:%2eendpointUrl */]();\r\n try {\r\n xhr[DisabledPropertyName] = true;\r\n }\r\n catch (e) {\r\n // If the environment has locked down the XMLHttpRequest (preventExtensions and/or freeze), this would\r\n // cause the request to fail and we no telemetry would be sent\r\n }\r\n xhr.open(\"POST\", endPointUrl, isAsync);\r\n xhr[_DYN_SET_REQUEST_HEADER /* @min:%2esetRequestHeader */](\"Content-type\", \"application/json\");\r\n // append Sdk-Context request header only in case of breeze endpoint\r\n if (isInternalApplicationInsightsEndpoint(endPointUrl)) {\r\n xhr[_DYN_SET_REQUEST_HEADER /* @min:%2esetRequestHeader */](RequestHeaders[6 /* eRequestHeaders.sdkContextHeader */], RequestHeaders[7 /* eRequestHeaders.sdkContextHeaderAppIdRequest */]);\r\n }\r\n arrForEach(objKeys(_headers), function (headerName) {\r\n xhr[_DYN_SET_REQUEST_HEADER /* @min:%2esetRequestHeader */](headerName, _headers[headerName]);\r\n });\r\n xhr.onreadystatechange = function () { return _self._xhrReadyStateChange(xhr, payload, payload[_DYN_LENGTH /* @min:%2elength */]); };\r\n xhr.onerror = function (event) { return _self[_DYN__ON_ERROR /* @min:%2e_onError */](payload, _formatErrorMessageXhr(xhr), event); };\r\n // compose an array of payloads\r\n var batch = _self._buffer[_DYN_BATCH_PAYLOADS /* @min:%2ebatchPayloads */](payload);\r\n xhr.send(batch);\r\n _self._buffer[_DYN_MARK_AS_SENT /* @min:%2emarkAsSent */](payload);\r\n }\r\n function _fetchKeepAliveSender(payload, isAsync) {\r\n if (isArray(payload)) {\r\n var payloadSize = payload[_DYN_LENGTH /* @min:%2elength */];\r\n for (var lp = 0; lp < payload[_DYN_LENGTH /* @min:%2elength */]; lp++) {\r\n payloadSize += payload[lp][_DYN_LENGTH /* @min:%2elength */];\r\n }\r\n if ((_syncFetchPayload + payloadSize) <= FetchSyncRequestSizeLimitBytes) {\r\n _doFetchSender(payload, false);\r\n }\r\n else if (isBeaconsSupported()) {\r\n // Fallback to beacon sender as we at least get told which events can't be scheduled\r\n _beaconSender(payload, isAsync);\r\n }\r\n else {\r\n // Payload is going to be too big so just try and send via XHR\r\n _fallbackSender && _fallbackSender(payload, true);\r\n _throwInternal(_self[_DYN_DIAG_LOG /* @min:%2ediagLog */](), 2 /* eLoggingSeverity.WARNING */, 40 /* _eInternalMessageId.TransmissionFailed */, \". \" + \"Failed to send telemetry with Beacon API, retried with xhrSender.\");\r\n }\r\n }\r\n }\r\n /**\r\n * Send fetch API request\r\n * @param payload {string} - The data payload to be sent.\r\n * @param isAsync {boolean} - not used\r\n */\r\n function _fetchSender(payload, isAsync) {\r\n _doFetchSender(payload, true);\r\n }\r\n /**\r\n * Send fetch API request\r\n * @param payload {string} - The data payload to be sent.\r\n * @param isAsync {boolean} - For fetch this identifies whether we are \"unloading\" (false) or a normal request\r\n */\r\n function _doFetchSender(payload, isAsync) {\r\n var _a;\r\n var endPointUrl = _self[_DYN__SENDER_CONFIG /* @min:%2e_senderConfig */][_DYN_ENDPOINT_URL /* @min:%2eendpointUrl */]();\r\n var batch = _self._buffer[_DYN_BATCH_PAYLOADS /* @min:%2ebatchPayloads */](payload);\r\n var plainTextBatch = new Blob([batch], { type: \"application/json\" });\r\n var requestHeaders = new Headers();\r\n var batchLength = batch[_DYN_LENGTH /* @min:%2elength */];\r\n var ignoreResponse = false;\r\n var responseHandled = false;\r\n // append Sdk-Context request header only in case of breeze endpoint\r\n if (isInternalApplicationInsightsEndpoint(endPointUrl)) {\r\n requestHeaders.append(RequestHeaders[6 /* eRequestHeaders.sdkContextHeader */], RequestHeaders[7 /* eRequestHeaders.sdkContextHeaderAppIdRequest */]);\r\n }\r\n arrForEach(objKeys(_headers), function (headerName) {\r\n requestHeaders.append(headerName, _headers[headerName]);\r\n });\r\n var init = (_a = {\r\n method: \"POST\",\r\n headers: requestHeaders,\r\n body: plainTextBatch\r\n },\r\n _a[DisabledPropertyName] = true // Mark so we don't attempt to track this request\r\n ,\r\n _a);\r\n if (!isAsync) {\r\n init.keepalive = true;\r\n // As a sync request (during unload), it is unlikely that we will get a chance to process the response so\r\n // just like beacon send assume that the events have been accepted and processed\r\n ignoreResponse = true;\r\n _syncFetchPayload += batchLength;\r\n }\r\n var request = new Request(endPointUrl, init);\r\n try {\r\n // Also try and tag the request (just in case the value in init is not copied over)\r\n request[DisabledPropertyName] = true;\r\n }\r\n catch (e) {\r\n // If the environment has locked down the XMLHttpRequest (preventExtensions and/or freeze), this would\r\n // cause the request to fail and we no telemetry would be sent\r\n }\r\n _self._buffer[_DYN_MARK_AS_SENT /* @min:%2emarkAsSent */](payload);\r\n try {\r\n fetch(request).then(function (response) {\r\n if (!isAsync) {\r\n _syncFetchPayload -= batchLength;\r\n batchLength = 0;\r\n }\r\n if (!responseHandled) {\r\n responseHandled = true;\r\n /**\r\n * The Promise returned from fetch() won’t reject on HTTP error status even if the response is an HTTP 404 or 500.\r\n * Instead, it will resolve normally (with ok status set to false), and it will only reject on network failure\r\n * or if anything prevented the request from completing.\r\n */\r\n if (!response.ok) {\r\n _self[_DYN__ON_ERROR /* @min:%2e_onError */](payload, response.statusText);\r\n }\r\n else {\r\n response.text().then(function (text) {\r\n _checkResponsStatus(response.status, payload, response.url, payload[_DYN_LENGTH /* @min:%2elength */], response.statusText, text);\r\n });\r\n }\r\n }\r\n })[\"catch\"](function (error) {\r\n if (!isAsync) {\r\n _syncFetchPayload -= batchLength;\r\n batchLength = 0;\r\n }\r\n if (!responseHandled) {\r\n responseHandled = true;\r\n _self[_DYN__ON_ERROR /* @min:%2e_onError */](payload, error.message);\r\n }\r\n });\r\n }\r\n catch (e) {\r\n if (!responseHandled) {\r\n _self[_DYN__ON_ERROR /* @min:%2e_onError */](payload, dumpObj(e));\r\n }\r\n }\r\n if (ignoreResponse && !responseHandled) {\r\n // Assume success during unload processing as we most likely won't get the response\r\n responseHandled = true;\r\n _self._onSuccess(payload, payload[_DYN_LENGTH /* @min:%2elength */]);\r\n }\r\n }\r\n /**\r\n * Parses the response from the backend.\r\n * @param response - XMLHttpRequest or XDomainRequest response\r\n */\r\n function _parseResponse(response) {\r\n try {\r\n if (response && response !== \"\") {\r\n var result = getJSON().parse(response);\r\n if (result && result.itemsReceived && result.itemsReceived >= result[_DYN_ITEMS_ACCEPTED /* @min:%2eitemsAccepted */] &&\r\n result.itemsReceived - result.itemsAccepted === result.errors[_DYN_LENGTH /* @min:%2elength */]) {\r\n return result;\r\n }\r\n }\r\n }\r\n catch (e) {\r\n _throwInternal(_self[_DYN_DIAG_LOG /* @min:%2ediagLog */](), 1 /* eLoggingSeverity.CRITICAL */, 43 /* _eInternalMessageId.InvalidBackendResponse */, \"Cannot parse the response. \" + getExceptionName(e), {\r\n response: response\r\n });\r\n }\r\n return null;\r\n }\r\n /**\r\n * Resend payload. Adds payload back to the send buffer and setup a send timer (with exponential backoff).\r\n * @param payload\r\n */\r\n function _resendPayload(payload, linearFactor) {\r\n if (linearFactor === void 0) { linearFactor = 1; }\r\n if (!payload || payload[_DYN_LENGTH /* @min:%2elength */] === 0) {\r\n return;\r\n }\r\n var buffer = _self[_DYN__BUFFER /* @min:%2e_buffer */];\r\n buffer[_DYN_CLEAR_SENT /* @min:%2eclearSent */](payload);\r\n _consecutiveErrors++;\r\n for (var _i = 0, payload_1 = payload; _i < payload_1.length; _i++) {\r\n var item = payload_1[_i];\r\n buffer[_DYN_ENQUEUE /* @min:%2eenqueue */](item);\r\n }\r\n // setup timer\r\n _setRetryTime(linearFactor);\r\n _setupTimer();\r\n }\r\n /**\r\n * Calculates the time to wait before retrying in case of an error based on\r\n * http://en.wikipedia.org/wiki/Exponential_backoff\r\n */\r\n function _setRetryTime(linearFactor) {\r\n var SlotDelayInSeconds = 10;\r\n var delayInSeconds;\r\n if (_consecutiveErrors <= 1) {\r\n delayInSeconds = SlotDelayInSeconds;\r\n }\r\n else {\r\n var backOffSlot = (Math.pow(2, _consecutiveErrors) - 1) / 2;\r\n // tslint:disable-next-line:insecure-random\r\n var backOffDelay = Math.floor(Math.random() * backOffSlot * SlotDelayInSeconds) + 1;\r\n backOffDelay = linearFactor * backOffDelay;\r\n delayInSeconds = Math.max(Math.min(backOffDelay, 3600), SlotDelayInSeconds);\r\n }\r\n // TODO: Log the backoff time like the C# version does.\r\n var retryAfterTimeSpan = dateNow() + (delayInSeconds * 1000);\r\n // TODO: Log the retry at time like the C# version does.\r\n _retryAt = retryAfterTimeSpan;\r\n }\r\n /**\r\n * Sets up the timer which triggers actually sending the data.\r\n */\r\n function _setupTimer() {\r\n if (!_timeoutHandle && !_paused) {\r\n var retryInterval = _retryAt ? Math.max(0, _retryAt - dateNow()) : 0;\r\n var timerValue = Math.max(_self[_DYN__SENDER_CONFIG /* @min:%2e_senderConfig */][_DYN_MAX_BATCH_INTERVAL /* @min:%2emaxBatchInterval */](), retryInterval);\r\n _timeoutHandle = setTimeout(function () {\r\n _timeoutHandle = null;\r\n _self[_DYN_TRIGGER_SEND /* @min:%2etriggerSend */](true, null, 1 /* SendRequestReason.NormalSchedule */);\r\n }, timerValue);\r\n }\r\n }\r\n function _clearScheduledTimer() {\r\n clearTimeout(_timeoutHandle);\r\n _timeoutHandle = null;\r\n _retryAt = null;\r\n }\r\n /**\r\n * Checks if the SDK should resend the payload after receiving this status code from the backend.\r\n * @param statusCode\r\n */\r\n function _isRetriable(statusCode) {\r\n return statusCode === 401 // Unauthorized\r\n || statusCode === 403 // Forbidden\r\n || statusCode === 408 // Timeout\r\n || statusCode === 429 // Too many requests.\r\n || statusCode === 500 // Internal server error.\r\n || statusCode === 502 // Bad Gateway.\r\n || statusCode === 503 // Service unavailable.\r\n || statusCode === 504; // Gateway timeout.\r\n }\r\n function _formatErrorMessageXhr(xhr, message) {\r\n if (xhr) {\r\n return \"XMLHttpRequest,Status:\" + xhr.status + \",Response:\" + _getResponseText(xhr) || xhr.response || \"\";\r\n }\r\n return message;\r\n }\r\n /**\r\n * Send XDomainRequest\r\n * @param payload {string} - The data payload to be sent.\r\n * @param isAsync {boolean} - Indicates if the request should be sent asynchronously\r\n *\r\n * Note: XDomainRequest does not support sync requests. This 'isAsync' parameter is added\r\n * to maintain consistency with the xhrSender's contract\r\n * Note: XDomainRequest does not support custom headers and we are not able to get\r\n * appId from the backend for the correct correlation.\r\n */\r\n function _xdrSender(payload, isAsync) {\r\n var buffer = _self[_DYN__BUFFER /* @min:%2e_buffer */];\r\n var _window = getWindow();\r\n var xdr = new XDomainRequest();\r\n xdr.onload = function () { return _self._xdrOnLoad(xdr, payload); };\r\n xdr.onerror = function (event) { return _self[_DYN__ON_ERROR /* @min:%2e_onError */](payload, _formatErrorMessageXdr(xdr), event); };\r\n // XDomainRequest requires the same protocol as the hosting page.\r\n // If the protocol doesn't match, we can't send the telemetry :(.\r\n var hostingProtocol = _window && _window.location && _window.location.protocol || \"\";\r\n if (_self[_DYN__SENDER_CONFIG /* @min:%2e_senderConfig */][_DYN_ENDPOINT_URL /* @min:%2eendpointUrl */]().lastIndexOf(hostingProtocol, 0) !== 0) {\r\n _throwInternal(_self[_DYN_DIAG_LOG /* @min:%2ediagLog */](), 2 /* eLoggingSeverity.WARNING */, 40 /* _eInternalMessageId.TransmissionFailed */, \". \" +\r\n \"Cannot send XDomain request. The endpoint URL protocol doesn't match the hosting page protocol.\");\r\n buffer[_DYN_CLEAR /* @min:%2eclear */]();\r\n return;\r\n }\r\n var endpointUrl = _self[_DYN__SENDER_CONFIG /* @min:%2e_senderConfig */][_DYN_ENDPOINT_URL /* @min:%2eendpointUrl */]().replace(/^(https?:)/, \"\");\r\n xdr.open(\"POST\", endpointUrl);\r\n // compose an array of payloads\r\n var batch = buffer[_DYN_BATCH_PAYLOADS /* @min:%2ebatchPayloads */](payload);\r\n xdr.send(batch);\r\n buffer[_DYN_MARK_AS_SENT /* @min:%2emarkAsSent */](payload);\r\n }\r\n function _formatErrorMessageXdr(xdr, message) {\r\n if (xdr) {\r\n return \"XDomainRequest,Response:\" + _getResponseText(xdr) || \"\";\r\n }\r\n return message;\r\n }\r\n // Using function lookups for backward compatibility as the getNotifyMgr() did not exist until after v2.5.6\r\n function _getNotifyMgr() {\r\n var func = \"getNotifyMgr\";\r\n if (_self.core[func]) {\r\n return _self.core[func]();\r\n }\r\n // using _self.core['_notificationManager'] for backward compatibility\r\n return _self.core[\"_notificationManager\"];\r\n }\r\n function _notifySendRequest(sendRequest, isAsync) {\r\n var manager = _getNotifyMgr();\r\n if (manager && manager[_DYN_EVENTS_SEND_REQUEST /* @min:%2eeventsSendRequest */]) {\r\n try {\r\n manager[_DYN_EVENTS_SEND_REQUEST /* @min:%2eeventsSendRequest */](sendRequest, isAsync);\r\n }\r\n catch (e) {\r\n _throwInternal(_self[_DYN_DIAG_LOG /* @min:%2ediagLog */](), 1 /* eLoggingSeverity.CRITICAL */, 74 /* _eInternalMessageId.NotificationException */, \"send request notification failed: \" + getExceptionName(e), { exception: dumpObj(e) });\r\n }\r\n }\r\n }\r\n /**\r\n * Validate UUID Format\r\n * Specs taken from https://tools.ietf.org/html/rfc4122 and breeze repo\r\n */\r\n function _validateInstrumentationKey(config) {\r\n var disableIKeyValidationFlag = isNullOrUndefined(config[_DYN_DISABLE_INSTRUMENTAT7 /* @min:%2edisableInstrumentationKeyValidation */]) ? false : config[_DYN_DISABLE_INSTRUMENTAT7 /* @min:%2edisableInstrumentationKeyValidation */];\r\n if (disableIKeyValidationFlag) {\r\n return true;\r\n }\r\n var UUID_Regex = \"^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$\";\r\n var regexp = new RegExp(UUID_Regex);\r\n return regexp.test(config[_DYN_INSTRUMENTATION_KEY /* @min:%2einstrumentationKey */]);\r\n }\r\n function _initDefaults() {\r\n _self[_DYN__SENDER /* @min:%2e_sender */] = null;\r\n _self[_DYN__BUFFER /* @min:%2e_buffer */] = null;\r\n _self._appId = null;\r\n _self._sample = null;\r\n _headers = {};\r\n _offlineListener = null;\r\n _consecutiveErrors = 0;\r\n _retryAt = null;\r\n _lastSend = null;\r\n _paused = false;\r\n _timeoutHandle = null;\r\n _serializer = null;\r\n _stamp_specific_redirects = 0;\r\n _syncFetchPayload = 0;\r\n _fallbackSender = null;\r\n _syncUnloadSender = null;\r\n _evtNamespace = null;\r\n }\r\n });\r\n return _this;\r\n }\r\n Sender.constructEnvelope = function (orig, iKey, logger, convertUndefined) {\r\n var envelope;\r\n if (iKey !== orig.iKey && !isNullOrUndefined(iKey)) {\r\n envelope = __assign(__assign({}, orig), { iKey: iKey });\r\n }\r\n else {\r\n envelope = orig;\r\n }\r\n var creator = EnvelopeTypeCreator[envelope.baseType] || EventEnvelopeCreator;\r\n return creator(logger, envelope, convertUndefined);\r\n };\r\n// Removed Stub for Sender.prototype.pause.\r\n// Removed Stub for Sender.prototype.resume.\r\n// Removed Stub for Sender.prototype.flush.\r\n// Removed Stub for Sender.prototype.onunloadFlush.\r\n// Removed Stub for Sender.prototype.initialize.\r\n// Removed Stub for Sender.prototype.processTelemetry.\r\n// Removed Stub for Sender.prototype._xhrReadyStateChange.\r\n// Removed Stub for Sender.prototype.triggerSend.\r\n// Removed Stub for Sender.prototype._onError.\r\n// Removed Stub for Sender.prototype._onPartialSuccess.\r\n// Removed Stub for Sender.prototype._onSuccess.\r\n// Removed Stub for Sender.prototype._xdrOnLoad.\r\n// Removed Stub for Sender.prototype.addHeader.\r\n return Sender;\r\n}(BaseTelemetryPlugin));\r\nexport { Sender };\r\n","/*\n * Application Insights JavaScript SDK - Channel, 2.8.15\n * Copyright (c) Microsoft and contributors. All rights reserved.\n */\nimport dynamicProto from \"@microsoft/dynamicproto-js\";\r\nimport { _throwInternal, getJSON, isArray, isFunction, isObject, objForEachKey } from \"@microsoft/applicationinsights-core-js\";\r\nimport { _DYN_LENGTH, _DYN_PUSH, _DYN_STRINGIFY, _DYN_TO_STRING } from \"./__DynamicConstants\";\r\nvar Serializer = /** @class */ (function () {\r\n function Serializer(logger) {\r\n dynamicProto(Serializer, this, function (_self) {\r\n /**\r\n * Serializes the current object to a JSON string.\r\n */\r\n _self.serialize = function (input) {\r\n var output = _serializeObject(input, \"root\");\r\n try {\r\n return getJSON()[_DYN_STRINGIFY /* @min:%2estringify */](output);\r\n }\r\n catch (e) {\r\n // if serialization fails return an empty string\r\n _throwInternal(logger, 1 /* eLoggingSeverity.CRITICAL */, 48 /* _eInternalMessageId.CannotSerializeObject */, (e && isFunction(e[_DYN_TO_STRING /* @min:%2etoString */])) ? e[_DYN_TO_STRING /* @min:%2etoString */]() : \"Error serializing object\", null, true);\r\n }\r\n };\r\n function _serializeObject(source, name) {\r\n var circularReferenceCheck = \"__aiCircularRefCheck\";\r\n var output = {};\r\n if (!source) {\r\n _throwInternal(logger, 1 /* eLoggingSeverity.CRITICAL */, 48 /* _eInternalMessageId.CannotSerializeObject */, \"cannot serialize object because it is null or undefined\", { name: name }, true);\r\n return output;\r\n }\r\n if (source[circularReferenceCheck]) {\r\n _throwInternal(logger, 2 /* eLoggingSeverity.WARNING */, 50 /* _eInternalMessageId.CircularReferenceDetected */, \"Circular reference detected while serializing object\", { name: name }, true);\r\n return output;\r\n }\r\n if (!source.aiDataContract) {\r\n // special case for measurements/properties/tags\r\n if (name === \"measurements\") {\r\n output = _serializeStringMap(source, \"number\", name);\r\n }\r\n else if (name === \"properties\") {\r\n output = _serializeStringMap(source, \"string\", name);\r\n }\r\n else if (name === \"tags\") {\r\n output = _serializeStringMap(source, \"string\", name);\r\n }\r\n else if (isArray(source)) {\r\n output = _serializeArray(source, name);\r\n }\r\n else {\r\n _throwInternal(logger, 2 /* eLoggingSeverity.WARNING */, 49 /* _eInternalMessageId.CannotSerializeObjectNonSerializable */, \"Attempting to serialize an object which does not implement ISerializable\", { name: name }, true);\r\n try {\r\n // verify that the object can be stringified\r\n getJSON()[_DYN_STRINGIFY /* @min:%2estringify */](source);\r\n output = source;\r\n }\r\n catch (e) {\r\n // if serialization fails return an empty string\r\n _throwInternal(logger, 1 /* eLoggingSeverity.CRITICAL */, 48 /* _eInternalMessageId.CannotSerializeObject */, (e && isFunction(e[_DYN_TO_STRING /* @min:%2etoString */])) ? e[_DYN_TO_STRING /* @min:%2etoString */]() : \"Error serializing object\", null, true);\r\n }\r\n }\r\n return output;\r\n }\r\n source[circularReferenceCheck] = true;\r\n objForEachKey(source.aiDataContract, function (field, contract) {\r\n var isRequired = (isFunction(contract)) ? (contract() & 1 /* FieldType.Required */) : (contract & 1 /* FieldType.Required */);\r\n var isHidden = (isFunction(contract)) ? (contract() & 4 /* FieldType.Hidden */) : (contract & 4 /* FieldType.Hidden */);\r\n var isArray = contract & 2 /* FieldType.Array */;\r\n var isPresent = source[field] !== undefined;\r\n var isObj = isObject(source[field]) && source[field] !== null;\r\n if (isRequired && !isPresent && !isArray) {\r\n _throwInternal(logger, 1 /* eLoggingSeverity.CRITICAL */, 24 /* _eInternalMessageId.MissingRequiredFieldSpecification */, \"Missing required field specification. The field is required but not present on source\", { field: field, name: name });\r\n // If not in debug mode, continue and hope the error is permissible\r\n }\r\n else if (!isHidden) { // Don't serialize hidden fields\r\n var value = void 0;\r\n if (isObj) {\r\n if (isArray) {\r\n // special case; recurse on each object in the source array\r\n value = _serializeArray(source[field], field);\r\n }\r\n else {\r\n // recurse on the source object in this field\r\n value = _serializeObject(source[field], field);\r\n }\r\n }\r\n else {\r\n // assign the source field to the output even if undefined or required\r\n value = source[field];\r\n }\r\n // only emit this field if the value is defined\r\n if (value !== undefined) {\r\n output[field] = value;\r\n }\r\n }\r\n });\r\n delete source[circularReferenceCheck];\r\n return output;\r\n }\r\n function _serializeArray(sources, name) {\r\n var output;\r\n if (!!sources) {\r\n if (!isArray(sources)) {\r\n _throwInternal(logger, 1 /* eLoggingSeverity.CRITICAL */, 54 /* _eInternalMessageId.ItemNotInArray */, \"This field was specified as an array in the contract but the item is not an array.\\r\\n\", { name: name }, true);\r\n }\r\n else {\r\n output = [];\r\n for (var i = 0; i < sources[_DYN_LENGTH /* @min:%2elength */]; i++) {\r\n var source = sources[i];\r\n var item = _serializeObject(source, name + \"[\" + i + \"]\");\r\n output[_DYN_PUSH /* @min:%2epush */](item);\r\n }\r\n }\r\n }\r\n return output;\r\n }\r\n function _serializeStringMap(map, expectedType, name) {\r\n var output;\r\n if (map) {\r\n output = {};\r\n objForEachKey(map, function (field, value) {\r\n if (expectedType === \"string\") {\r\n if (value === undefined) {\r\n output[field] = \"undefined\";\r\n }\r\n else if (value === null) {\r\n output[field] = \"null\";\r\n }\r\n else if (!value[_DYN_TO_STRING /* @min:%2etoString */]) {\r\n output[field] = \"invalid field: toString() is not defined.\";\r\n }\r\n else {\r\n output[field] = value[_DYN_TO_STRING /* @min:%2etoString */]();\r\n }\r\n }\r\n else if (expectedType === \"number\") {\r\n if (value === undefined) {\r\n output[field] = \"undefined\";\r\n }\r\n else if (value === null) {\r\n output[field] = \"null\";\r\n }\r\n else {\r\n var num = parseFloat(value);\r\n if (isNaN(num)) {\r\n output[field] = \"NaN\";\r\n }\r\n else {\r\n output[field] = num;\r\n }\r\n }\r\n }\r\n else {\r\n output[field] = \"invalid field: \" + name + \" is of unknown type.\";\r\n _throwInternal(logger, 1 /* eLoggingSeverity.CRITICAL */, output[field], null, true);\r\n }\r\n });\r\n }\r\n return output;\r\n }\r\n });\r\n }\r\n// Removed Stub for Serializer.prototype.serialize.\r\n // This is a workaround for an IE8 bug when using dynamicProto() with classes that don't have any\n // non-dynamic functions or static properties/functions when using uglify-js to minify the resulting code.\n // this will be removed when ES3 support is dropped.\n Serializer.__ieDyn=1;\n\n return Serializer;\r\n}());\r\nexport { Serializer };\r\n","/*\n * Application Insights JavaScript SDK - Channel, 2.8.15\n * Copyright (c) Microsoft and contributors. All rights reserved.\n */\n\r\n\r\nimport { Metric } from \"@microsoft/applicationinsights-common\";\r\nimport { safeGetLogger } from \"@microsoft/applicationinsights-core-js\";\r\nimport { _DYN_DATA_TYPE, _DYN_GET_SAMPLING_SCORE, _DYN_SAMPLE_RATE } from \"../__DynamicConstants\";\r\nimport { SamplingScoreGenerator } from \"./SamplingScoreGenerators/SamplingScoreGenerator\";\r\nvar Sample = /** @class */ (function () {\r\n function Sample(sampleRate, logger) {\r\n // We're using 32 bit math, hence max value is (2^31 - 1)\r\n this.INT_MAX_VALUE = 2147483647;\r\n var _logger = logger || safeGetLogger(null);\r\n if (sampleRate > 100 || sampleRate < 0) {\r\n _logger.throwInternal(2 /* eLoggingSeverity.WARNING */, 58 /* _eInternalMessageId.SampleRateOutOfRange */, \"Sampling rate is out of range (0..100). Sampling will be disabled, you may be sending too much data which may affect your AI service level.\", { samplingRate: sampleRate }, true);\r\n sampleRate = 100;\r\n }\r\n this[_DYN_SAMPLE_RATE /* @min:%2esampleRate */] = sampleRate;\r\n this.samplingScoreGenerator = new SamplingScoreGenerator();\r\n }\r\n /**\r\n * Determines if an envelope is sampled in (i.e. will be sent) or not (i.e. will be dropped).\r\n */\r\n Sample.prototype.isSampledIn = function (envelope) {\r\n var samplingPercentage = this[_DYN_SAMPLE_RATE /* @min:%2esampleRate */]; // 0 - 100\r\n var isSampledIn = false;\r\n if (samplingPercentage === null || samplingPercentage === undefined || samplingPercentage >= 100) {\r\n return true;\r\n }\r\n else if (envelope.baseType === Metric[_DYN_DATA_TYPE /* @min:%2edataType */]) {\r\n // exclude MetricData telemetry from sampling\r\n return true;\r\n }\r\n isSampledIn = this.samplingScoreGenerator[_DYN_GET_SAMPLING_SCORE /* @min:%2egetSamplingScore */](envelope) < samplingPercentage;\r\n return isSampledIn;\r\n };\r\n return Sample;\r\n}());\r\nexport { Sample };\r\n","/*\n * Application Insights JavaScript SDK - Channel, 2.8.15\n * Copyright (c) Microsoft and contributors. All rights reserved.\n */\n\r\n\r\nimport { _DYN_LENGTH } from \"../../__DynamicConstants\";\r\n// (Magic number) DJB algorithm can't work on shorter strings (results in poor distribution\r\nvar MIN_INPUT_LENGTH = 8;\r\nvar HashCodeScoreGenerator = /** @class */ (function () {\r\n function HashCodeScoreGenerator() {\r\n }\r\n HashCodeScoreGenerator.prototype.getHashCodeScore = function (key) {\r\n var score = this.getHashCode(key) / HashCodeScoreGenerator.INT_MAX_VALUE;\r\n return score * 100;\r\n };\r\n HashCodeScoreGenerator.prototype.getHashCode = function (input) {\r\n if (input === \"\") {\r\n return 0;\r\n }\r\n while (input[_DYN_LENGTH /* @min:%2elength */] < MIN_INPUT_LENGTH) {\r\n input = input.concat(input);\r\n }\r\n // 5381 is a magic number: http://stackoverflow.com/questions/10696223/reason-for-5381-number-in-djb-hash-function\r\n var hash = 5381;\r\n for (var i = 0; i < input[_DYN_LENGTH /* @min:%2elength */]; ++i) {\r\n hash = ((hash << 5) + hash) + input.charCodeAt(i);\r\n // 'hash' is of number type which means 53 bit integer (http://www.ecma-international.org/ecma-262/6.0/#sec-ecmascript-language-types-number-type)\r\n // 'hash & hash' will keep it 32 bit integer - just to make it clearer what the result is.\r\n hash = hash & hash;\r\n }\r\n return Math.abs(hash);\r\n };\r\n // We're using 32 bit math, hence max value is (2^31 - 1)\r\n HashCodeScoreGenerator.INT_MAX_VALUE = 2147483647;\r\n return HashCodeScoreGenerator;\r\n}());\r\nexport { HashCodeScoreGenerator };\r\n","/*\n * Application Insights JavaScript SDK - Channel, 2.8.15\n * Copyright (c) Microsoft and contributors. All rights reserved.\n */\n\r\n\r\nimport { ContextTagKeys } from \"@microsoft/applicationinsights-common\";\r\nimport { _DYN_GET_HASH_CODE_SCORE, _DYN_GET_SAMPLING_SCORE, _DYN_TAGS, _DYN_TRACE_ID } from \"../../__DynamicConstants\";\r\nimport { HashCodeScoreGenerator } from \"./HashCodeScoreGenerator\";\r\nvar SamplingScoreGenerator = /** @class */ (function () {\r\n function SamplingScoreGenerator() {\r\n var _self = this;\r\n var hashCodeGenerator = new HashCodeScoreGenerator();\r\n var keys = new ContextTagKeys();\r\n _self[_DYN_GET_SAMPLING_SCORE /* @min:%2egetSamplingScore */] = function (item) {\r\n var score = 0;\r\n if (item[_DYN_TAGS /* @min:%2etags */] && item[_DYN_TAGS /* @min:%2etags */][keys.userId]) { // search in tags first, then ext\r\n score = hashCodeGenerator.getHashCodeScore(item[_DYN_TAGS /* @min:%2etags */][keys.userId]);\r\n }\r\n else if (item.ext && item.ext.user && item.ext.user.id) {\r\n score = hashCodeGenerator[_DYN_GET_HASH_CODE_SCORE /* @min:%2egetHashCodeScore */](item.ext.user.id);\r\n }\r\n else if (item[_DYN_TAGS /* @min:%2etags */] && item[_DYN_TAGS /* @min:%2etags */][keys.operationId]) { // search in tags first, then ext\r\n score = hashCodeGenerator.getHashCodeScore(item[_DYN_TAGS /* @min:%2etags */][keys.operationId]);\r\n }\r\n else if (item.ext && item.ext.telemetryTrace && item.ext.telemetryTrace[_DYN_TRACE_ID /* @min:%2etraceID */]) {\r\n score = hashCodeGenerator.getHashCodeScore(item.ext.telemetryTrace[_DYN_TRACE_ID /* @min:%2etraceID */]);\r\n }\r\n else {\r\n // tslint:disable-next-line:insecure-random\r\n score = (Math.random() * 100);\r\n }\r\n return score;\r\n };\r\n }\r\n return SamplingScoreGenerator;\r\n}());\r\nexport { SamplingScoreGenerator };\r\n","/*\n * Application Insights JavaScript SDK - Channel, 2.8.15\n * Copyright (c) Microsoft and contributors. All rights reserved.\n */\n\r\n\r\n// @skip-file-minify\r\n// ##############################################################\r\n// AUTO GENERATED FILE: This file is Auto Generated during build.\r\n// ##############################################################\r\n// !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!\r\n// Note: DON'T Export these const from the package as we are still targeting ES3 this will export a mutable variables that someone could change!!!\r\n// !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!\r\nexport var _DYN_TAGS = \"tags\"; // Count: 17\r\nexport var _DYN_DEVICE_TYPE = \"deviceType\"; // Count: 3\r\nexport var _DYN_DATA = \"data\"; // Count: 13\r\nexport var _DYN_NAME = \"name\"; // Count: 8\r\nexport var _DYN_TRACE_ID = \"traceID\"; // Count: 5\r\nexport var _DYN_LENGTH = \"length\"; // Count: 36\r\nexport var _DYN_STRINGIFY = \"stringify\"; // Count: 5\r\nexport var _DYN_MEASUREMENTS = \"measurements\"; // Count: 7\r\nexport var _DYN_DATA_TYPE = \"dataType\"; // Count: 10\r\nexport var _DYN_ENVELOPE_TYPE = \"envelopeType\"; // Count: 7\r\nexport var _DYN_TO_STRING = \"toString\"; // Count: 7\r\nexport var _DYN_ON_LINE = \"onLine\"; // Count: 4\r\nexport var _DYN_IS_ONLINE = \"isOnline\"; // Count: 3\r\nexport var _DYN_ENQUEUE = \"enqueue\"; // Count: 5\r\nexport var _DYN_COUNT = \"count\"; // Count: 6\r\nexport var _DYN_PUSH = \"push\"; // Count: 6\r\nexport var _DYN_EMIT_LINE_DELIMITED_0 = \"emitLineDelimitedJson\"; // Count: 3\r\nexport var _DYN_CLEAR = \"clear\"; // Count: 6\r\nexport var _DYN_BATCH_PAYLOADS = \"batchPayloads\"; // Count: 5\r\nexport var _DYN_MARK_AS_SENT = \"markAsSent\"; // Count: 6\r\nexport var _DYN_CLEAR_SENT = \"clearSent\"; // Count: 5\r\nexport var _DYN_BUFFER_OVERRIDE = \"bufferOverride\"; // Count: 3\r\nexport var _DYN__BUFFER__KEY = \"BUFFER_KEY\"; // Count: 5\r\nexport var _DYN__SENT__BUFFER__KEY = \"SENT_BUFFER_KEY\"; // Count: 7\r\nexport var _DYN__MAX__BUFFER__SIZE = \"MAX_BUFFER_SIZE\"; // Count: 5\r\nexport var _DYN_NAME_PREFIX = \"namePrefix\"; // Count: 6\r\nexport var _DYN_MAX_BATCH_SIZE_IN_BY1 = \"maxBatchSizeInBytes\"; // Count: 3\r\nexport var _DYN_TRIGGER_SEND = \"triggerSend\"; // Count: 6\r\nexport var _DYN_DIAG_LOG = \"diagLog\"; // Count: 15\r\nexport var _DYN_ONUNLOAD_DISABLE_BEA2 = \"onunloadDisableBeacon\"; // Count: 2\r\nexport var _DYN_IS_BEACON_API_DISABL3 = \"isBeaconApiDisabled\"; // Count: 3\r\nexport var _DYN__SENDER = \"_sender\"; // Count: 5\r\nexport var _DYN__SENDER_CONFIG = \"_senderConfig\"; // Count: 4\r\nexport var _DYN_ENABLE_SESSION_STORA4 = \"enableSessionStorageBuffer\"; // Count: 2\r\nexport var _DYN__BUFFER = \"_buffer\"; // Count: 9\r\nexport var _DYN_SAMPLING_PERCENTAGE = \"samplingPercentage\"; // Count: 2\r\nexport var _DYN_INSTRUMENTATION_KEY = \"instrumentationKey\"; // Count: 4\r\nexport var _DYN_ENDPOINT_URL = \"endpointUrl\"; // Count: 8\r\nexport var _DYN_CUSTOM_HEADERS = \"customHeaders\"; // Count: 4\r\nexport var _DYN_DISABLE_XHR = \"disableXhr\"; // Count: 5\r\nexport var _DYN_ONUNLOAD_DISABLE_FET5 = \"onunloadDisableFetch\"; // Count: 2\r\nexport var _DYN_DISABLE_TELEMETRY = \"disableTelemetry\"; // Count: 2\r\nexport var _DYN_BASE_TYPE = \"baseType\"; // Count: 4\r\nexport var _DYN_SAMPLE_RATE = \"sampleRate\"; // Count: 4\r\nexport var _DYN_CONVERT_UNDEFINED = \"convertUndefined\"; // Count: 2\r\nexport var _DYN__XHR_READY_STATE_CHA6 = \"_xhrReadyStateChange\"; // Count: 2\r\nexport var _DYN__ON_ERROR = \"_onError\"; // Count: 11\r\nexport var _DYN__ON_PARTIAL_SUCCESS = \"_onPartialSuccess\"; // Count: 3\r\nexport var _DYN__ON_SUCCESS = \"_onSuccess\"; // Count: 6\r\nexport var _DYN_ITEMS_ACCEPTED = \"itemsAccepted\"; // Count: 5\r\nexport var _DYN_ITEMS_RECEIVED = \"itemsReceived\"; // Count: 6\r\nexport var _DYN_IS_RETRY_DISABLED = \"isRetryDisabled\"; // Count: 5\r\nexport var _DYN_SET_REQUEST_HEADER = \"setRequestHeader\"; // Count: 3\r\nexport var _DYN_MAX_BATCH_INTERVAL = \"maxBatchInterval\"; // Count: 2\r\nexport var _DYN_EVENTS_SEND_REQUEST = \"eventsSendRequest\"; // Count: 2\r\nexport var _DYN_DISABLE_INSTRUMENTAT7 = \"disableInstrumentationKeyValidation\"; // Count: 2\r\nexport var _DYN_GET_SAMPLING_SCORE = \"getSamplingScore\"; // Count: 2\r\nexport var _DYN_GET_HASH_CODE_SCORE = \"getHashCodeScore\"; // Count: 4\r\n","/*\n * Application Insights JavaScript SDK - Common, 2.8.15\n * Copyright (c) Microsoft and contributors. All rights reserved.\n */\n\r\n\r\nimport { arrReduce, objKeys } from \"@microsoft/applicationinsights-core-js\";\r\nimport { DEFAULT_BREEZE_ENDPOINT } from \"./Constants\";\r\nimport { _DYN_INGESTIONENDPOINT, _DYN_LENGTH, _DYN_SPLIT, _DYN_TO_LOWER_CASE } from \"./__DynamicConstants\";\r\nvar _FIELDS_SEPARATOR = \";\";\r\nvar _FIELD_KEY_VALUE_SEPARATOR = \"=\";\r\nexport function parseConnectionString(connectionString) {\r\n if (!connectionString) {\r\n return {};\r\n }\r\n var kvPairs = connectionString[_DYN_SPLIT /* @min:%2esplit */](_FIELDS_SEPARATOR);\r\n var result = arrReduce(kvPairs, function (fields, kv) {\r\n var kvParts = kv[_DYN_SPLIT /* @min:%2esplit */](_FIELD_KEY_VALUE_SEPARATOR);\r\n if (kvParts[_DYN_LENGTH /* @min:%2elength */] === 2) { // only save fields with valid formats\r\n var key = kvParts[0][_DYN_TO_LOWER_CASE /* @min:%2etoLowerCase */]();\r\n var value = kvParts[1];\r\n fields[key] = value;\r\n }\r\n return fields;\r\n }, {});\r\n if (objKeys(result)[_DYN_LENGTH /* @min:%2elength */] > 0) {\r\n // this is a valid connection string, so parse the results\r\n if (result.endpointsuffix) {\r\n // use endpoint suffix where overrides are not provided\r\n var locationPrefix = result.location ? result.location + \".\" : \"\";\r\n result[_DYN_INGESTIONENDPOINT /* @min:%2eingestionendpoint */] = result[_DYN_INGESTIONENDPOINT /* @min:%2eingestionendpoint */] || (\"https://\" + locationPrefix + \"dc.\" + result.endpointsuffix);\r\n }\r\n // apply the default endpoints\r\n result[_DYN_INGESTIONENDPOINT /* @min:%2eingestionendpoint */] = result[_DYN_INGESTIONENDPOINT /* @min:%2eingestionendpoint */] || DEFAULT_BREEZE_ENDPOINT;\r\n }\r\n return result;\r\n}\r\nexport var ConnectionStringParser = {\r\n parse: parseConnectionString\r\n};\r\n","/*\n * Application Insights JavaScript SDK - Common, 2.8.15\n * Copyright (c) Microsoft and contributors. All rights reserved.\n */\n\r\n\r\n/**\r\n * This is an internal property used to cause internal (reporting) requests to be ignored from reporting\r\n * additional telemetry, to handle polyfil implementations ALL urls used with a disabled request will\r\n * also be ignored for future requests even when this property is not provided.\r\n * Tagging as Ignore as this is an internal value and is not expected to be used outside of the SDK\r\n * @ignore\r\n */\r\nexport var DisabledPropertyName = \"Microsoft_ApplicationInsights_BypassAjaxInstrumentation\";\r\nexport var SampleRate = \"sampleRate\";\r\nexport var ProcessLegacy = \"ProcessLegacy\";\r\nexport var HttpMethod = \"http.method\";\r\nexport var DEFAULT_BREEZE_ENDPOINT = \"https://dc.services.visualstudio.com\";\r\nexport var DEFAULT_BREEZE_PATH = \"/v2/track\";\r\nexport var strNotSpecified = \"not_specified\";\r\nexport var strIkey = \"iKey\";\r\n","/*\n * Application Insights JavaScript SDK - Common, 2.8.15\n * Copyright (c) Microsoft and contributors. All rights reserved.\n */\n\r\n\r\nimport { getDocument, isFunction } from \"@microsoft/applicationinsights-core-js\";\r\nexport function createDomEvent(eventName) {\r\n var event = null;\r\n if (isFunction(Event)) { // Use Event constructor when available\r\n event = new Event(eventName);\r\n }\r\n else { // Event has no constructor in IE\r\n var doc = getDocument();\r\n if (doc && doc.createEvent) {\r\n event = doc.createEvent(\"Event\");\r\n event.initEvent(eventName, true, true);\r\n }\r\n }\r\n return event;\r\n}\r\n","/*\n * Application Insights JavaScript SDK - Common, 2.8.15\n * Copyright (c) Microsoft and contributors. All rights reserved.\n */\n\r\n\r\nimport { createEnumStyle } from \"@microsoft/applicationinsights-core-js\";\r\nexport var StorageType = createEnumStyle({\r\n LocalStorage: 0 /* eStorageType.LocalStorage */,\r\n SessionStorage: 1 /* eStorageType.SessionStorage */\r\n});\r\nexport var DistributedTracingModes = createEnumStyle({\r\n AI: 0 /* eDistributedTracingModes.AI */,\r\n AI_AND_W3C: 1 /* eDistributedTracingModes.AI_AND_W3C */,\r\n W3C: 2 /* eDistributedTracingModes.W3C */\r\n});\r\n","/*\n * Application Insights JavaScript SDK - Common, 2.8.15\n * Copyright (c) Microsoft and contributors. All rights reserved.\n */\n\r\n\r\nimport { arrForEach, isString } from \"@microsoft/applicationinsights-core-js\";\r\nimport { _DYN_LENGTH, _DYN_TO_LOWER_CASE } from \"./__DynamicConstants\";\r\nvar strEmpty = \"\";\r\nexport function stringToBoolOrDefault(str, defaultValue) {\r\n if (defaultValue === void 0) { defaultValue = false; }\r\n if (str === undefined || str === null) {\r\n return defaultValue;\r\n }\r\n return str.toString()[_DYN_TO_LOWER_CASE /* @min:%2etoLowerCase */]() === \"true\";\r\n}\r\n/**\r\n * Convert ms to c# time span format\r\n */\r\nexport function msToTimeSpan(totalms) {\r\n if (isNaN(totalms) || totalms < 0) {\r\n totalms = 0;\r\n }\r\n totalms = Math.round(totalms);\r\n var ms = strEmpty + totalms % 1000;\r\n var sec = strEmpty + Math.floor(totalms / 1000) % 60;\r\n var min = strEmpty + Math.floor(totalms / (1000 * 60)) % 60;\r\n var hour = strEmpty + Math.floor(totalms / (1000 * 60 * 60)) % 24;\r\n var days = Math.floor(totalms / (1000 * 60 * 60 * 24));\r\n ms = ms[_DYN_LENGTH /* @min:%2elength */] === 1 ? \"00\" + ms : ms[_DYN_LENGTH /* @min:%2elength */] === 2 ? \"0\" + ms : ms;\r\n sec = sec[_DYN_LENGTH /* @min:%2elength */] < 2 ? \"0\" + sec : sec;\r\n min = min[_DYN_LENGTH /* @min:%2elength */] < 2 ? \"0\" + min : min;\r\n hour = hour[_DYN_LENGTH /* @min:%2elength */] < 2 ? \"0\" + hour : hour;\r\n return (days > 0 ? days + \".\" : strEmpty) + hour + \":\" + min + \":\" + sec + \".\" + ms;\r\n}\r\nexport function getExtensionByName(extensions, identifier) {\r\n var extension = null;\r\n arrForEach(extensions, function (value) {\r\n if (value.identifier === identifier) {\r\n extension = value;\r\n return -1;\r\n }\r\n });\r\n return extension;\r\n}\r\nexport function isCrossOriginError(message, url, lineNumber, columnNumber, error) {\r\n return !error && isString(message) && (message === \"Script error.\" || message === \"Script error\");\r\n}\r\n","/*\n * Application Insights JavaScript SDK - Common, 2.8.15\n * Copyright (c) Microsoft and contributors. All rights reserved.\n */\n\r\n\r\nimport { __extendsFn as __extends } from \"@microsoft/applicationinsights-shims\";\r\nimport { createClassFromInterface } from \"@microsoft/applicationinsights-core-js\";\r\nfunction _aiNameFunc(baseName) {\r\n var aiName = \"ai.\" + baseName + \".\";\r\n return function (name) {\r\n return aiName + name;\r\n };\r\n}\r\nvar _aiApplication = _aiNameFunc(\"application\");\r\nvar _aiDevice = _aiNameFunc(\"device\");\r\nvar _aiLocation = _aiNameFunc(\"location\");\r\nvar _aiOperation = _aiNameFunc(\"operation\");\r\nvar _aiSession = _aiNameFunc(\"session\");\r\nvar _aiUser = _aiNameFunc(\"user\");\r\nvar _aiCloud = _aiNameFunc(\"cloud\");\r\nvar _aiInternal = _aiNameFunc(\"internal\");\r\nvar ContextTagKeys = /** @class */ (function (_super) {\r\n __extends(ContextTagKeys, _super);\r\n function ContextTagKeys() {\r\n return _super.call(this) || this;\r\n }\r\n return ContextTagKeys;\r\n}(createClassFromInterface({\r\n applicationVersion: _aiApplication(\"ver\"),\r\n applicationBuild: _aiApplication(\"build\"),\r\n applicationTypeId: _aiApplication(\"typeId\"),\r\n applicationId: _aiApplication(\"applicationId\"),\r\n applicationLayer: _aiApplication(\"layer\"),\r\n deviceId: _aiDevice(\"id\"),\r\n deviceIp: _aiDevice(\"ip\"),\r\n deviceLanguage: _aiDevice(\"language\"),\r\n deviceLocale: _aiDevice(\"locale\"),\r\n deviceModel: _aiDevice(\"model\"),\r\n deviceFriendlyName: _aiDevice(\"friendlyName\"),\r\n deviceNetwork: _aiDevice(\"network\"),\r\n deviceNetworkName: _aiDevice(\"networkName\"),\r\n deviceOEMName: _aiDevice(\"oemName\"),\r\n deviceOS: _aiDevice(\"os\"),\r\n deviceOSVersion: _aiDevice(\"osVersion\"),\r\n deviceRoleInstance: _aiDevice(\"roleInstance\"),\r\n deviceRoleName: _aiDevice(\"roleName\"),\r\n deviceScreenResolution: _aiDevice(\"screenResolution\"),\r\n deviceType: _aiDevice(\"type\"),\r\n deviceMachineName: _aiDevice(\"machineName\"),\r\n deviceVMName: _aiDevice(\"vmName\"),\r\n deviceBrowser: _aiDevice(\"browser\"),\r\n deviceBrowserVersion: _aiDevice(\"browserVersion\"),\r\n locationIp: _aiLocation(\"ip\"),\r\n locationCountry: _aiLocation(\"country\"),\r\n locationProvince: _aiLocation(\"province\"),\r\n locationCity: _aiLocation(\"city\"),\r\n operationId: _aiOperation(\"id\"),\r\n operationName: _aiOperation(\"name\"),\r\n operationParentId: _aiOperation(\"parentId\"),\r\n operationRootId: _aiOperation(\"rootId\"),\r\n operationSyntheticSource: _aiOperation(\"syntheticSource\"),\r\n operationCorrelationVector: _aiOperation(\"correlationVector\"),\r\n sessionId: _aiSession(\"id\"),\r\n sessionIsFirst: _aiSession(\"isFirst\"),\r\n sessionIsNew: _aiSession(\"isNew\"),\r\n userAccountAcquisitionDate: _aiUser(\"accountAcquisitionDate\"),\r\n userAccountId: _aiUser(\"accountId\"),\r\n userAgent: _aiUser(\"userAgent\"),\r\n userId: _aiUser(\"id\"),\r\n userStoreRegion: _aiUser(\"storeRegion\"),\r\n userAuthUserId: _aiUser(\"authUserId\"),\r\n userAnonymousUserAcquisitionDate: _aiUser(\"anonUserAcquisitionDate\"),\r\n userAuthenticatedUserAcquisitionDate: _aiUser(\"authUserAcquisitionDate\"),\r\n cloudName: _aiCloud(\"name\"),\r\n cloudRole: _aiCloud(\"role\"),\r\n cloudRoleVer: _aiCloud(\"roleVer\"),\r\n cloudRoleInstance: _aiCloud(\"roleInstance\"),\r\n cloudEnvironment: _aiCloud(\"environment\"),\r\n cloudLocation: _aiCloud(\"location\"),\r\n cloudDeploymentUnit: _aiCloud(\"deploymentUnit\"),\r\n internalNodeName: _aiInternal(\"nodeName\"),\r\n internalSdkVersion: _aiInternal(\"sdkVersion\"),\r\n internalAgentVersion: _aiInternal(\"agentVersion\"),\r\n internalSnippet: _aiInternal(\"snippet\"),\r\n internalSdkSrc: _aiInternal(\"sdkSrc\")\r\n})));\r\nexport { ContextTagKeys };\r\n","/*\n * Application Insights JavaScript SDK - Common, 2.8.15\n * Copyright (c) Microsoft and contributors. All rights reserved.\n */\n\r\n\r\nimport { createEnumStyle } from \"@microsoft/applicationinsights-core-js\";\r\n/**\r\n * Defines the level of severity for the event.\r\n */\r\nexport var SeverityLevel = createEnumStyle({\r\n Verbose: 0 /* eSeverityLevel.Verbose */,\r\n Information: 1 /* eSeverityLevel.Information */,\r\n Warning: 2 /* eSeverityLevel.Warning */,\r\n Error: 3 /* eSeverityLevel.Error */,\r\n Critical: 4 /* eSeverityLevel.Critical */\r\n});\r\n","/*\n * Application Insights JavaScript SDK - Common, 2.8.15\n * Copyright (c) Microsoft and contributors. All rights reserved.\n */\n\r\n\r\nimport { isNullOrUndefined } from \"@microsoft/applicationinsights-core-js\";\r\nimport { _DYN_EXTENSION_CONFIG } from \"../__DynamicConstants\";\r\nvar ConfigurationManager = /** @class */ (function () {\r\n function ConfigurationManager() {\r\n }\r\n ConfigurationManager.getConfig = function (config, field, identifier, defaultValue) {\r\n if (defaultValue === void 0) { defaultValue = false; }\r\n var configValue;\r\n if (identifier && config[_DYN_EXTENSION_CONFIG /* @min:%2eextensionConfig */] && config[_DYN_EXTENSION_CONFIG /* @min:%2eextensionConfig */][identifier] && !isNullOrUndefined(config[_DYN_EXTENSION_CONFIG /* @min:%2eextensionConfig */][identifier][field])) {\r\n configValue = config[_DYN_EXTENSION_CONFIG /* @min:%2eextensionConfig */][identifier][field];\r\n }\r\n else {\r\n configValue = config[field];\r\n }\r\n return !isNullOrUndefined(configValue) ? configValue : defaultValue;\r\n };\r\n return ConfigurationManager;\r\n}());\r\nexport { ConfigurationManager };\r\n","/*\n * Application Insights JavaScript SDK - Common, 2.8.15\n * Copyright (c) Microsoft and contributors. All rights reserved.\n */\nimport { ContextTagKeys } from \"./Contracts/ContextTagKeys\";\r\nexport var Extensions = {\r\n UserExt: \"user\",\r\n DeviceExt: \"device\",\r\n TraceExt: \"trace\",\r\n WebExt: \"web\",\r\n AppExt: \"app\",\r\n OSExt: \"os\",\r\n SessionExt: \"ses\",\r\n SDKExt: \"sdk\"\r\n};\r\nexport var CtxTagKeys = new ContextTagKeys();\r\n","/*\n * Application Insights JavaScript SDK - Common, 2.8.15\n * Copyright (c) Microsoft and contributors. All rights reserved.\n */\n\r\n\r\nimport { createValueMap } from \"@microsoft/applicationinsights-core-js\";\r\nexport var RequestHeaders = createValueMap({\r\n requestContextHeader: [0 /* eRequestHeaders.requestContextHeader */, \"Request-Context\"],\r\n requestContextTargetKey: [1 /* eRequestHeaders.requestContextTargetKey */, \"appId\"],\r\n requestContextAppIdFormat: [2 /* eRequestHeaders.requestContextAppIdFormat */, \"appId=cid-v1:\"],\r\n requestIdHeader: [3 /* eRequestHeaders.requestIdHeader */, \"Request-Id\"],\r\n traceParentHeader: [4 /* eRequestHeaders.traceParentHeader */, \"traceparent\"],\r\n traceStateHeader: [5 /* eRequestHeaders.traceStateHeader */, \"tracestate\"],\r\n sdkContextHeader: [6 /* eRequestHeaders.sdkContextHeader */, \"Sdk-Context\"],\r\n sdkContextHeaderAppIdRequest: [7 /* eRequestHeaders.sdkContextHeaderAppIdRequest */, \"appId\"],\r\n requestContextHeaderLowerCase: [8 /* eRequestHeaders.requestContextHeaderLowerCase */, \"request-context\"]\r\n});\r\n","/*\n * Application Insights JavaScript SDK - Common, 2.8.15\n * Copyright (c) Microsoft and contributors. All rights reserved.\n */\n\r\n\r\nimport { _throwInternal, dumpObj, getExceptionName, getGlobal, getGlobalInst, isNullOrUndefined, objForEachKey } from \"@microsoft/applicationinsights-core-js\";\r\nimport { StorageType } from \"./Enums\";\r\nimport { _DYN_REMOVE_ITEM, _DYN_TO_STRING } from \"./__DynamicConstants\";\r\nvar _canUseLocalStorage = undefined;\r\nvar _canUseSessionStorage = undefined;\r\nvar _storagePrefix = \"\";\r\n/**\r\n * Gets the localStorage object if available\r\n * @return {Storage} - Returns the storage object if available else returns null\r\n */\r\nfunction _getLocalStorageObject() {\r\n if (utlCanUseLocalStorage()) {\r\n return _getVerifiedStorageObject(StorageType.LocalStorage);\r\n }\r\n return null;\r\n}\r\n/**\r\n * Tests storage object (localStorage or sessionStorage) to verify that it is usable\r\n * More details here: https://mathiasbynens.be/notes/localstorage-pattern\r\n * @param storageType Type of storage\r\n * @return {Storage} Returns storage object verified that it is usable\r\n */\r\nfunction _getVerifiedStorageObject(storageType) {\r\n try {\r\n if (isNullOrUndefined(getGlobal())) {\r\n return null;\r\n }\r\n var uid = (new Date)[_DYN_TO_STRING /* @min:%2etoString */]();\r\n var storage = getGlobalInst(storageType === StorageType.LocalStorage ? \"localStorage\" : \"sessionStorage\");\r\n var name_1 = _storagePrefix + uid;\r\n storage.setItem(name_1, uid);\r\n var fail = storage.getItem(name_1) !== uid;\r\n storage[_DYN_REMOVE_ITEM /* @min:%2eremoveItem */](name_1);\r\n if (!fail) {\r\n return storage;\r\n }\r\n }\r\n catch (exception) {\r\n // eslint-disable-next-line no-empty\r\n }\r\n return null;\r\n}\r\n/**\r\n * Gets the sessionStorage object if available\r\n * @return {Storage} - Returns the storage object if available else returns null\r\n */\r\nfunction _getSessionStorageObject() {\r\n if (utlCanUseSessionStorage()) {\r\n return _getVerifiedStorageObject(StorageType.SessionStorage);\r\n }\r\n return null;\r\n}\r\n/**\r\n * Disables the global SDK usage of local or session storage if available\r\n */\r\nexport function utlDisableStorage() {\r\n _canUseLocalStorage = false;\r\n _canUseSessionStorage = false;\r\n}\r\nexport function utlSetStoragePrefix(storagePrefix) {\r\n _storagePrefix = storagePrefix || \"\";\r\n}\r\n/**\r\n * Re-enables the global SDK usage of local or session storage if available\r\n */\r\nexport function utlEnableStorage() {\r\n _canUseLocalStorage = utlCanUseLocalStorage(true);\r\n _canUseSessionStorage = utlCanUseSessionStorage(true);\r\n}\r\n/**\r\n * Returns whether LocalStorage can be used, if the reset parameter is passed a true this will override\r\n * any previous disable calls.\r\n * @param reset - Should the usage be reset and determined only based on whether LocalStorage is available\r\n */\r\nexport function utlCanUseLocalStorage(reset) {\r\n if (reset || _canUseLocalStorage === undefined) {\r\n _canUseLocalStorage = !!_getVerifiedStorageObject(StorageType.LocalStorage);\r\n }\r\n return _canUseLocalStorage;\r\n}\r\nexport function utlGetLocalStorage(logger, name) {\r\n var storage = _getLocalStorageObject();\r\n if (storage !== null) {\r\n try {\r\n return storage.getItem(name);\r\n }\r\n catch (e) {\r\n _canUseLocalStorage = false;\r\n _throwInternal(logger, 2 /* eLoggingSeverity.WARNING */, 1 /* _eInternalMessageId.BrowserCannotReadLocalStorage */, \"Browser failed read of local storage. \" + getExceptionName(e), { exception: dumpObj(e) });\r\n }\r\n }\r\n return null;\r\n}\r\nexport function utlSetLocalStorage(logger, name, data) {\r\n var storage = _getLocalStorageObject();\r\n if (storage !== null) {\r\n try {\r\n storage.setItem(name, data);\r\n return true;\r\n }\r\n catch (e) {\r\n _canUseLocalStorage = false;\r\n _throwInternal(logger, 2 /* eLoggingSeverity.WARNING */, 3 /* _eInternalMessageId.BrowserCannotWriteLocalStorage */, \"Browser failed write to local storage. \" + getExceptionName(e), { exception: dumpObj(e) });\r\n }\r\n }\r\n return false;\r\n}\r\nexport function utlRemoveStorage(logger, name) {\r\n var storage = _getLocalStorageObject();\r\n if (storage !== null) {\r\n try {\r\n storage[_DYN_REMOVE_ITEM /* @min:%2eremoveItem */](name);\r\n return true;\r\n }\r\n catch (e) {\r\n _canUseLocalStorage = false;\r\n _throwInternal(logger, 2 /* eLoggingSeverity.WARNING */, 5 /* _eInternalMessageId.BrowserFailedRemovalFromLocalStorage */, \"Browser failed removal of local storage item. \" + getExceptionName(e), { exception: dumpObj(e) });\r\n }\r\n }\r\n return false;\r\n}\r\nexport function utlCanUseSessionStorage(reset) {\r\n if (reset || _canUseSessionStorage === undefined) {\r\n _canUseSessionStorage = !!_getVerifiedStorageObject(StorageType.SessionStorage);\r\n }\r\n return _canUseSessionStorage;\r\n}\r\nexport function utlGetSessionStorageKeys() {\r\n var keys = [];\r\n if (utlCanUseSessionStorage()) {\r\n objForEachKey(getGlobalInst(\"sessionStorage\"), function (key) {\r\n keys.push(key);\r\n });\r\n }\r\n return keys;\r\n}\r\nexport function utlGetSessionStorage(logger, name) {\r\n var storage = _getSessionStorageObject();\r\n if (storage !== null) {\r\n try {\r\n return storage.getItem(name);\r\n }\r\n catch (e) {\r\n _canUseSessionStorage = false;\r\n _throwInternal(logger, 2 /* eLoggingSeverity.WARNING */, 2 /* _eInternalMessageId.BrowserCannotReadSessionStorage */, \"Browser failed read of session storage. \" + getExceptionName(e), { exception: dumpObj(e) });\r\n }\r\n }\r\n return null;\r\n}\r\nexport function utlSetSessionStorage(logger, name, data) {\r\n var storage = _getSessionStorageObject();\r\n if (storage !== null) {\r\n try {\r\n storage.setItem(name, data);\r\n return true;\r\n }\r\n catch (e) {\r\n _canUseSessionStorage = false;\r\n _throwInternal(logger, 2 /* eLoggingSeverity.WARNING */, 4 /* _eInternalMessageId.BrowserCannotWriteSessionStorage */, \"Browser failed write to session storage. \" + getExceptionName(e), { exception: dumpObj(e) });\r\n }\r\n }\r\n return false;\r\n}\r\nexport function utlRemoveSessionStorage(logger, name) {\r\n var storage = _getSessionStorageObject();\r\n if (storage !== null) {\r\n try {\r\n storage[_DYN_REMOVE_ITEM /* @min:%2eremoveItem */](name);\r\n return true;\r\n }\r\n catch (e) {\r\n _canUseSessionStorage = false;\r\n _throwInternal(logger, 2 /* eLoggingSeverity.WARNING */, 6 /* _eInternalMessageId.BrowserFailedRemovalFromSessionStorage */, \"Browser failed removal of session storage item. \" + getExceptionName(e), { exception: dumpObj(e) });\r\n }\r\n }\r\n return false;\r\n}\r\n","/*\n * Application Insights JavaScript SDK - Common, 2.8.15\n * Copyright (c) Microsoft and contributors. All rights reserved.\n */\n\r\n\r\nvar Data = /** @class */ (function () {\r\n /**\r\n * Constructs a new instance of telemetry data.\r\n */\r\n function Data(baseType, data) {\r\n /**\r\n * The data contract for serializing this object.\r\n */\r\n this.aiDataContract = {\r\n baseType: 1 /* FieldType.Required */,\r\n baseData: 1 /* FieldType.Required */\r\n };\r\n this.baseType = baseType;\r\n this.baseData = data;\r\n }\r\n return Data;\r\n}());\r\nexport { Data };\r\n","/*\n * Application Insights JavaScript SDK - Common, 2.8.15\n * Copyright (c) Microsoft and contributors. All rights reserved.\n */\n\r\n\r\nvar DataPoint = /** @class */ (function () {\r\n function DataPoint() {\r\n /**\r\n * The data contract for serializing this object.\r\n */\r\n this.aiDataContract = {\r\n name: 1 /* FieldType.Required */,\r\n kind: 0 /* FieldType.Default */,\r\n value: 1 /* FieldType.Required */,\r\n count: 0 /* FieldType.Default */,\r\n min: 0 /* FieldType.Default */,\r\n max: 0 /* FieldType.Default */,\r\n stdDev: 0 /* FieldType.Default */\r\n };\r\n /**\r\n * Metric type. Single measurement or the aggregated value.\r\n */\r\n this.kind = 0 /* DataPointType.Measurement */;\r\n }\r\n return DataPoint;\r\n}());\r\nexport { DataPoint };\r\n","/*\n * Application Insights JavaScript SDK - Common, 2.8.15\n * Copyright (c) Microsoft and contributors. All rights reserved.\n */\n\r\n\r\nvar _a;\r\nimport { _throwInternal, getJSON, hasJSON, isObject, objForEachKey, strTrim } from \"@microsoft/applicationinsights-core-js\";\r\nimport { _DYN_LENGTH, _DYN_SANITIZE_EXCEPTION, _DYN_SANITIZE_KEY_AND_ADD2, _DYN_SANITIZE_MEASUREMENT3, _DYN_SANITIZE_PROPERTIES, _DYN_STRINGIFY, _DYN_SUBSTRING, _DYN_TO_STRING } from \"../../__DynamicConstants\";\r\nexport function dataSanitizeKeyAndAddUniqueness(logger, key, map) {\r\n var origLength = key[_DYN_LENGTH /* @min:%2elength */];\r\n var field = dataSanitizeKey(logger, key);\r\n // validation truncated the length. We need to add uniqueness\r\n if (field[_DYN_LENGTH /* @min:%2elength */] !== origLength) {\r\n var i = 0;\r\n var uniqueField = field;\r\n while (map[uniqueField] !== undefined) {\r\n i++;\r\n uniqueField = field[_DYN_SUBSTRING /* @min:%2esubstring */](0, 150 /* DataSanitizerValues.MAX_NAME_LENGTH */ - 3) + dsPadNumber(i);\r\n }\r\n field = uniqueField;\r\n }\r\n return field;\r\n}\r\nexport function dataSanitizeKey(logger, name) {\r\n var nameTrunc;\r\n if (name) {\r\n // Remove any leading or trailing whitespace\r\n name = strTrim(name[_DYN_TO_STRING /* @min:%2etoString */]());\r\n // truncate the string to 150 chars\r\n if (name[_DYN_LENGTH /* @min:%2elength */] > 150 /* DataSanitizerValues.MAX_NAME_LENGTH */) {\r\n nameTrunc = name[_DYN_SUBSTRING /* @min:%2esubstring */](0, 150 /* DataSanitizerValues.MAX_NAME_LENGTH */);\r\n _throwInternal(logger, 2 /* eLoggingSeverity.WARNING */, 57 /* _eInternalMessageId.NameTooLong */, \"name is too long. It has been truncated to \" + 150 /* DataSanitizerValues.MAX_NAME_LENGTH */ + \" characters.\", { name: name }, true);\r\n }\r\n }\r\n return nameTrunc || name;\r\n}\r\nexport function dataSanitizeString(logger, value, maxLength) {\r\n if (maxLength === void 0) { maxLength = 1024 /* DataSanitizerValues.MAX_STRING_LENGTH */; }\r\n var valueTrunc;\r\n if (value) {\r\n maxLength = maxLength ? maxLength : 1024 /* DataSanitizerValues.MAX_STRING_LENGTH */; // in case default parameters dont work\r\n value = strTrim(value);\r\n if (value.toString()[_DYN_LENGTH /* @min:%2elength */] > maxLength) {\r\n valueTrunc = value[_DYN_TO_STRING /* @min:%2etoString */]()[_DYN_SUBSTRING /* @min:%2esubstring */](0, maxLength);\r\n _throwInternal(logger, 2 /* eLoggingSeverity.WARNING */, 61 /* _eInternalMessageId.StringValueTooLong */, \"string value is too long. It has been truncated to \" + maxLength + \" characters.\", { value: value }, true);\r\n }\r\n }\r\n return valueTrunc || value;\r\n}\r\nexport function dataSanitizeUrl(logger, url) {\r\n return dataSanitizeInput(logger, url, 2048 /* DataSanitizerValues.MAX_URL_LENGTH */, 66 /* _eInternalMessageId.UrlTooLong */);\r\n}\r\nexport function dataSanitizeMessage(logger, message) {\r\n var messageTrunc;\r\n if (message) {\r\n if (message[_DYN_LENGTH /* @min:%2elength */] > 32768 /* DataSanitizerValues.MAX_MESSAGE_LENGTH */) {\r\n messageTrunc = message[_DYN_SUBSTRING /* @min:%2esubstring */](0, 32768 /* DataSanitizerValues.MAX_MESSAGE_LENGTH */);\r\n _throwInternal(logger, 2 /* eLoggingSeverity.WARNING */, 56 /* _eInternalMessageId.MessageTruncated */, \"message is too long, it has been truncated to \" + 32768 /* DataSanitizerValues.MAX_MESSAGE_LENGTH */ + \" characters.\", { message: message }, true);\r\n }\r\n }\r\n return messageTrunc || message;\r\n}\r\nexport function dataSanitizeException(logger, exception) {\r\n var exceptionTrunc;\r\n if (exception) {\r\n // Make surte its a string\r\n var value = \"\" + exception;\r\n if (value[_DYN_LENGTH /* @min:%2elength */] > 32768 /* DataSanitizerValues.MAX_EXCEPTION_LENGTH */) {\r\n exceptionTrunc = value[_DYN_SUBSTRING /* @min:%2esubstring */](0, 32768 /* DataSanitizerValues.MAX_EXCEPTION_LENGTH */);\r\n _throwInternal(logger, 2 /* eLoggingSeverity.WARNING */, 52 /* _eInternalMessageId.ExceptionTruncated */, \"exception is too long, it has been truncated to \" + 32768 /* DataSanitizerValues.MAX_EXCEPTION_LENGTH */ + \" characters.\", { exception: exception }, true);\r\n }\r\n }\r\n return exceptionTrunc || exception;\r\n}\r\nexport function dataSanitizeProperties(logger, properties) {\r\n if (properties) {\r\n var tempProps_1 = {};\r\n objForEachKey(properties, function (prop, value) {\r\n if (isObject(value) && hasJSON()) {\r\n // Stringify any part C properties\r\n try {\r\n value = getJSON()[_DYN_STRINGIFY /* @min:%2estringify */](value);\r\n }\r\n catch (e) {\r\n _throwInternal(logger, 2 /* eLoggingSeverity.WARNING */, 49 /* _eInternalMessageId.CannotSerializeObjectNonSerializable */, \"custom property is not valid\", { exception: e }, true);\r\n }\r\n }\r\n value = dataSanitizeString(logger, value, 8192 /* DataSanitizerValues.MAX_PROPERTY_LENGTH */);\r\n prop = dataSanitizeKeyAndAddUniqueness(logger, prop, tempProps_1);\r\n tempProps_1[prop] = value;\r\n });\r\n properties = tempProps_1;\r\n }\r\n return properties;\r\n}\r\nexport function dataSanitizeMeasurements(logger, measurements) {\r\n if (measurements) {\r\n var tempMeasurements_1 = {};\r\n objForEachKey(measurements, function (measure, value) {\r\n measure = dataSanitizeKeyAndAddUniqueness(logger, measure, tempMeasurements_1);\r\n tempMeasurements_1[measure] = value;\r\n });\r\n measurements = tempMeasurements_1;\r\n }\r\n return measurements;\r\n}\r\nexport function dataSanitizeId(logger, id) {\r\n return id ? dataSanitizeInput(logger, id, 128 /* DataSanitizerValues.MAX_ID_LENGTH */, 69 /* _eInternalMessageId.IdTooLong */)[_DYN_TO_STRING /* @min:%2etoString */]() : id;\r\n}\r\nexport function dataSanitizeInput(logger, input, maxLength, _msgId) {\r\n var inputTrunc;\r\n if (input) {\r\n input = strTrim(input);\r\n if (input[_DYN_LENGTH /* @min:%2elength */] > maxLength) {\r\n inputTrunc = input[_DYN_SUBSTRING /* @min:%2esubstring */](0, maxLength);\r\n _throwInternal(logger, 2 /* eLoggingSeverity.WARNING */, _msgId, \"input is too long, it has been truncated to \" + maxLength + \" characters.\", { data: input }, true);\r\n }\r\n }\r\n return inputTrunc || input;\r\n}\r\nexport function dsPadNumber(num) {\r\n var s = \"00\" + num;\r\n return s.substr(s[_DYN_LENGTH /* @min:%2elength */] - 3);\r\n}\r\n/**\r\n * Provides the DataSanitizer functions within the previous namespace.\r\n */\r\nexport var DataSanitizer = (_a = {\r\n MAX_NAME_LENGTH: 150 /* DataSanitizerValues.MAX_NAME_LENGTH */,\r\n MAX_ID_LENGTH: 128 /* DataSanitizerValues.MAX_ID_LENGTH */,\r\n MAX_PROPERTY_LENGTH: 8192 /* DataSanitizerValues.MAX_PROPERTY_LENGTH */,\r\n MAX_STRING_LENGTH: 1024 /* DataSanitizerValues.MAX_STRING_LENGTH */,\r\n MAX_URL_LENGTH: 2048 /* DataSanitizerValues.MAX_URL_LENGTH */,\r\n MAX_MESSAGE_LENGTH: 32768 /* DataSanitizerValues.MAX_MESSAGE_LENGTH */,\r\n MAX_EXCEPTION_LENGTH: 32768 /* DataSanitizerValues.MAX_EXCEPTION_LENGTH */\r\n },\r\n _a[_DYN_SANITIZE_KEY_AND_ADD2 /* @min:sanitizeKeyAndAddUniqueness */] = dataSanitizeKeyAndAddUniqueness,\r\n _a.sanitizeKey = dataSanitizeKey,\r\n _a.sanitizeString = dataSanitizeString,\r\n _a.sanitizeUrl = dataSanitizeUrl,\r\n _a.sanitizeMessage = dataSanitizeMessage,\r\n _a[_DYN_SANITIZE_EXCEPTION /* @min:sanitizeException */] = dataSanitizeException,\r\n _a[_DYN_SANITIZE_PROPERTIES /* @min:sanitizeProperties */] = dataSanitizeProperties,\r\n _a[_DYN_SANITIZE_MEASUREMENT3 /* @min:sanitizeMeasurements */] = dataSanitizeMeasurements,\r\n _a.sanitizeId = dataSanitizeId,\r\n _a.sanitizeInput = dataSanitizeInput,\r\n _a.padNumber = dsPadNumber,\r\n _a.trim = strTrim,\r\n _a);\r\n","/*\n * Application Insights JavaScript SDK - Common, 2.8.15\n * Copyright (c) Microsoft and contributors. All rights reserved.\n */\n\r\n\r\nimport { toISOString } from \"@microsoft/applicationinsights-core-js\";\r\nimport { strNotSpecified } from \"../../Constants\";\r\nimport { _DYN_NAME } from \"../../__DynamicConstants\";\r\nimport { dataSanitizeString } from \"./DataSanitizer\";\r\nvar Envelope = /** @class */ (function () {\r\n /**\r\n * Constructs a new instance of telemetry data.\r\n */\r\n function Envelope(logger, data, name) {\r\n var _this = this;\r\n var _self = this;\r\n _self.ver = 1;\r\n _self.sampleRate = 100.0;\r\n _self.tags = {};\r\n _self[_DYN_NAME /* @min:%2ename */] = dataSanitizeString(logger, name) || strNotSpecified;\r\n _self.data = data;\r\n _self.time = toISOString(new Date());\r\n _self.aiDataContract = {\r\n time: 1 /* FieldType.Required */,\r\n iKey: 1 /* FieldType.Required */,\r\n name: 1 /* FieldType.Required */,\r\n sampleRate: function () {\r\n return (_this.sampleRate === 100) ? 4 /* FieldType.Hidden */ : 1 /* FieldType.Required */;\r\n },\r\n tags: 1 /* FieldType.Required */,\r\n data: 1 /* FieldType.Required */\r\n };\r\n }\r\n return Envelope;\r\n}());\r\nexport { Envelope };\r\n","/*\n * Application Insights JavaScript SDK - Common, 2.8.15\n * Copyright (c) Microsoft and contributors. All rights reserved.\n */\n\r\n\r\nimport { strNotSpecified } from \"../Constants\";\r\nimport { _DYN_MEASUREMENTS, _DYN_NAME, _DYN_PROPERTIES } from \"../__DynamicConstants\";\r\nimport { dataSanitizeMeasurements, dataSanitizeProperties, dataSanitizeString } from \"./Common/DataSanitizer\";\r\nvar Event = /** @class */ (function () {\r\n /**\r\n * Constructs a new instance of the EventTelemetry object\r\n */\r\n function Event(logger, name, properties, measurements) {\r\n this.aiDataContract = {\r\n ver: 1 /* FieldType.Required */,\r\n name: 1 /* FieldType.Required */,\r\n properties: 0 /* FieldType.Default */,\r\n measurements: 0 /* FieldType.Default */\r\n };\r\n var _self = this;\r\n _self.ver = 2;\r\n _self[_DYN_NAME /* @min:%2ename */] = dataSanitizeString(logger, name) || strNotSpecified;\r\n _self[_DYN_PROPERTIES /* @min:%2eproperties */] = dataSanitizeProperties(logger, properties);\r\n _self[_DYN_MEASUREMENTS /* @min:%2emeasurements */] = dataSanitizeMeasurements(logger, measurements);\r\n }\r\n Event.envelopeType = \"Microsoft.ApplicationInsights.{0}.Event\";\r\n Event.dataType = \"EventData\";\r\n return Event;\r\n}());\r\nexport { Event };\r\n","/*\n * Application Insights JavaScript SDK - Common, 2.8.15\n * Copyright (c) Microsoft and contributors. All rights reserved.\n */\n\r\n\r\nimport { __assignFn as __assign } from \"@microsoft/applicationinsights-shims\";\r\nimport { arrForEach, arrMap, isArray, isError, isFunction, isNullOrUndefined, isObject, isString, strTrim } from \"@microsoft/applicationinsights-core-js\";\r\nimport { strNotSpecified } from \"../Constants\";\r\nimport { _DYN_ASSEMBLY, _DYN_EXCEPTIONS, _DYN_FILE_NAME, _DYN_HAS_FULL_STACK, _DYN_INDEX_OF, _DYN_IS_MANUAL, _DYN_LENGTH, _DYN_LEVEL, _DYN_LINE, _DYN_MEASUREMENTS, _DYN_MESSAGE, _DYN_METHOD, _DYN_NAME, _DYN_PARSED_STACK, _DYN_PROBLEM_GROUP, _DYN_PROPERTIES, _DYN_SEVERITY_LEVEL, _DYN_SIZE_IN_BYTES, _DYN_SPLIT, _DYN_STRINGIFY, _DYN_TO_STRING, _DYN_TYPE_NAME, _DYN__CREATE_FROM_INTERFA1 } from \"../__DynamicConstants\";\r\nimport { dataSanitizeException, dataSanitizeMeasurements, dataSanitizeMessage, dataSanitizeProperties, dataSanitizeString } from \"./Common/DataSanitizer\";\r\nvar NoMethod = \"\";\r\nvar strError = \"error\";\r\nvar strStack = \"stack\";\r\nvar strStackDetails = \"stackDetails\";\r\nvar strErrorSrc = \"errorSrc\";\r\nvar strMessage = \"message\";\r\nvar strDescription = \"description\";\r\nfunction _stringify(value, convertToString) {\r\n var result = value;\r\n if (result && !isString(result)) {\r\n if (JSON && JSON[_DYN_STRINGIFY /* @min:%2estringify */]) {\r\n result = JSON[_DYN_STRINGIFY /* @min:%2estringify */](value);\r\n if (convertToString && (!result || result === \"{}\")) {\r\n if (isFunction(value[_DYN_TO_STRING /* @min:%2etoString */])) {\r\n result = value[_DYN_TO_STRING /* @min:%2etoString */]();\r\n }\r\n else {\r\n result = \"\" + value;\r\n }\r\n }\r\n }\r\n else {\r\n result = \"\" + value + \" - (Missing JSON.stringify)\";\r\n }\r\n }\r\n return result || \"\";\r\n}\r\nfunction _formatMessage(theEvent, errorType) {\r\n var evtMessage = theEvent;\r\n if (theEvent) {\r\n if (evtMessage && !isString(evtMessage)) {\r\n evtMessage = theEvent[strMessage] || theEvent[strDescription] || evtMessage;\r\n }\r\n // Make sure the message is a string\r\n if (evtMessage && !isString(evtMessage)) {\r\n // tslint:disable-next-line: prefer-conditional-expression\r\n evtMessage = _stringify(evtMessage, true);\r\n }\r\n if (theEvent[\"filename\"]) {\r\n // Looks like an event object with filename\r\n evtMessage = evtMessage + \" @\" + (theEvent[\"filename\"] || \"\") + \":\" + (theEvent[\"lineno\"] || \"?\") + \":\" + (theEvent[\"colno\"] || \"?\");\r\n }\r\n }\r\n // Automatically add the error type to the message if it does already appear to be present\r\n if (errorType && errorType !== \"String\" && errorType !== \"Object\" && errorType !== \"Error\" && (evtMessage || \"\")[_DYN_INDEX_OF /* @min:%2eindexOf */](errorType) === -1) {\r\n evtMessage = errorType + \": \" + evtMessage;\r\n }\r\n return evtMessage || \"\";\r\n}\r\nfunction _isExceptionDetailsInternal(value) {\r\n try {\r\n if (isObject(value)) {\r\n return \"hasFullStack\" in value && \"typeName\" in value;\r\n }\r\n }\r\n catch (e) {\r\n // This can happen with some native browser objects, but should not happen for the type we are checking for\r\n }\r\n return false;\r\n}\r\nfunction _isExceptionInternal(value) {\r\n try {\r\n if (isObject(value)) {\r\n return (\"ver\" in value && \"exceptions\" in value && \"properties\" in value);\r\n }\r\n }\r\n catch (e) {\r\n // This can happen with some native browser objects, but should not happen for the type we are checking for\r\n }\r\n return false;\r\n}\r\nfunction _isStackDetails(details) {\r\n return details && details.src && isString(details.src) && details.obj && isArray(details.obj);\r\n}\r\nfunction _convertStackObj(errorStack) {\r\n var src = errorStack || \"\";\r\n if (!isString(src)) {\r\n if (isString(src[strStack])) {\r\n src = src[strStack];\r\n }\r\n else {\r\n src = \"\" + src;\r\n }\r\n }\r\n var items = src[_DYN_SPLIT /* @min:%2esplit */](\"\\n\");\r\n return {\r\n src: src,\r\n obj: items\r\n };\r\n}\r\nfunction _getOperaStack(errorMessage) {\r\n var stack = [];\r\n var lines = errorMessage[_DYN_SPLIT /* @min:%2esplit */](\"\\n\");\r\n for (var lp = 0; lp < lines[_DYN_LENGTH /* @min:%2elength */]; lp++) {\r\n var entry = lines[lp];\r\n if (lines[lp + 1]) {\r\n entry += \"@\" + lines[lp + 1];\r\n lp++;\r\n }\r\n stack.push(entry);\r\n }\r\n return {\r\n src: errorMessage,\r\n obj: stack\r\n };\r\n}\r\nfunction _getStackFromErrorObj(errorObj) {\r\n var details = null;\r\n if (errorObj) {\r\n try {\r\n /* Using bracket notation is support older browsers (IE 7/8 -- dont remember the version) that throw when using dot\r\n notation for undefined objects and we don't want to loose the error from being reported */\r\n if (errorObj[strStack]) {\r\n // Chrome/Firefox\r\n details = _convertStackObj(errorObj[strStack]);\r\n }\r\n else if (errorObj[strError] && errorObj[strError][strStack]) {\r\n // Edge error event provides the stack and error object\r\n details = _convertStackObj(errorObj[strError][strStack]);\r\n }\r\n else if (errorObj[\"exception\"] && errorObj.exception[strStack]) {\r\n details = _convertStackObj(errorObj.exception[strStack]);\r\n }\r\n else if (_isStackDetails(errorObj)) {\r\n details = errorObj;\r\n }\r\n else if (_isStackDetails(errorObj[strStackDetails])) {\r\n details = errorObj[strStackDetails];\r\n }\r\n else if (window && window[\"opera\"] && errorObj[strMessage]) {\r\n // Opera\r\n details = _getOperaStack(errorObj[_DYN_MESSAGE /* @min:%2emessage */]);\r\n }\r\n else if (errorObj[\"reason\"] && errorObj.reason[strStack]) {\r\n // UnhandledPromiseRejection\r\n details = _convertStackObj(errorObj.reason[strStack]);\r\n }\r\n else if (isString(errorObj)) {\r\n details = _convertStackObj(errorObj);\r\n }\r\n else {\r\n var evtMessage = errorObj[strMessage] || errorObj[strDescription] || \"\";\r\n if (isString(errorObj[strErrorSrc])) {\r\n if (evtMessage) {\r\n evtMessage += \"\\n\";\r\n }\r\n evtMessage += \" from \" + errorObj[strErrorSrc];\r\n }\r\n if (evtMessage) {\r\n details = _convertStackObj(evtMessage);\r\n }\r\n }\r\n }\r\n catch (e) {\r\n // something unexpected happened so to avoid failing to report any error lets swallow the exception\r\n // and fallback to the callee/caller method\r\n details = _convertStackObj(e);\r\n }\r\n }\r\n return details || {\r\n src: \"\",\r\n obj: null\r\n };\r\n}\r\nfunction _formatStackTrace(stackDetails) {\r\n var stack = \"\";\r\n if (stackDetails) {\r\n if (stackDetails.obj) {\r\n arrForEach(stackDetails.obj, function (entry) {\r\n stack += entry + \"\\n\";\r\n });\r\n }\r\n else {\r\n stack = stackDetails.src || \"\";\r\n }\r\n }\r\n return stack;\r\n}\r\nfunction _parseStack(stack) {\r\n var parsedStack;\r\n var frames = stack.obj;\r\n if (frames && frames[_DYN_LENGTH /* @min:%2elength */] > 0) {\r\n parsedStack = [];\r\n var level_1 = 0;\r\n var totalSizeInBytes_1 = 0;\r\n arrForEach(frames, function (frame) {\r\n var theFrame = frame[_DYN_TO_STRING /* @min:%2etoString */]();\r\n if (_StackFrame.regex.test(theFrame)) {\r\n var parsedFrame = new _StackFrame(theFrame, level_1++);\r\n totalSizeInBytes_1 += parsedFrame[_DYN_SIZE_IN_BYTES /* @min:%2esizeInBytes */];\r\n parsedStack.push(parsedFrame);\r\n }\r\n });\r\n // DP Constraint - exception parsed stack must be < 32KB\r\n // remove frames from the middle to meet the threshold\r\n var exceptionParsedStackThreshold = 32 * 1024;\r\n if (totalSizeInBytes_1 > exceptionParsedStackThreshold) {\r\n var left = 0;\r\n var right = parsedStack[_DYN_LENGTH /* @min:%2elength */] - 1;\r\n var size = 0;\r\n var acceptedLeft = left;\r\n var acceptedRight = right;\r\n while (left < right) {\r\n // check size\r\n var lSize = parsedStack[left][_DYN_SIZE_IN_BYTES /* @min:%2esizeInBytes */];\r\n var rSize = parsedStack[right][_DYN_SIZE_IN_BYTES /* @min:%2esizeInBytes */];\r\n size += lSize + rSize;\r\n if (size > exceptionParsedStackThreshold) {\r\n // remove extra frames from the middle\r\n var howMany = acceptedRight - acceptedLeft + 1;\r\n parsedStack.splice(acceptedLeft, howMany);\r\n break;\r\n }\r\n // update pointers\r\n acceptedLeft = left;\r\n acceptedRight = right;\r\n left++;\r\n right--;\r\n }\r\n }\r\n }\r\n return parsedStack;\r\n}\r\nfunction _getErrorType(errorType) {\r\n // Gets the Error Type by passing the constructor (used to get the true type of native error object).\r\n var typeName = \"\";\r\n if (errorType) {\r\n typeName = errorType.typeName || errorType[_DYN_NAME /* @min:%2ename */] || \"\";\r\n if (!typeName) {\r\n try {\r\n var funcNameRegex = /function (.{1,200})\\(/;\r\n var results = (funcNameRegex).exec((errorType).constructor[_DYN_TO_STRING /* @min:%2etoString */]());\r\n typeName = (results && results[_DYN_LENGTH /* @min:%2elength */] > 1) ? results[1] : \"\";\r\n }\r\n catch (e) {\r\n // eslint-disable-next-line no-empty -- Ignoring any failures as nothing we can do\r\n }\r\n }\r\n }\r\n return typeName;\r\n}\r\n/**\r\n * Formats the provided errorObj for display and reporting, it may be a String, Object, integer or undefined depending on the browser.\r\n * @param errorObj The supplied errorObj\r\n */\r\nexport function _formatErrorCode(errorObj) {\r\n if (errorObj) {\r\n try {\r\n if (!isString(errorObj)) {\r\n var errorType = _getErrorType(errorObj);\r\n var result = _stringify(errorObj, false);\r\n if (!result || result === \"{}\") {\r\n if (errorObj[strError]) {\r\n // Looks like an MS Error Event\r\n errorObj = errorObj[strError];\r\n errorType = _getErrorType(errorObj);\r\n }\r\n result = _stringify(errorObj, true);\r\n }\r\n if (result[_DYN_INDEX_OF /* @min:%2eindexOf */](errorType) !== 0 && errorType !== \"String\") {\r\n return errorType + \":\" + result;\r\n }\r\n return result;\r\n }\r\n }\r\n catch (e) {\r\n // eslint-disable-next-line no-empty -- Ignoring any failures as nothing we can do\r\n }\r\n }\r\n // Fallback to just letting the object format itself into a string\r\n return \"\" + (errorObj || \"\");\r\n}\r\nvar Exception = /** @class */ (function () {\r\n /**\r\n * Constructs a new instance of the ExceptionTelemetry object\r\n */\r\n function Exception(logger, exception, properties, measurements, severityLevel, id) {\r\n this.aiDataContract = {\r\n ver: 1 /* FieldType.Required */,\r\n exceptions: 1 /* FieldType.Required */,\r\n severityLevel: 0 /* FieldType.Default */,\r\n properties: 0 /* FieldType.Default */,\r\n measurements: 0 /* FieldType.Default */\r\n };\r\n var _self = this;\r\n _self.ver = 2; // TODO: handle the CS\"4.0\" ==> breeze 2 conversion in a better way\r\n if (!_isExceptionInternal(exception)) {\r\n if (!properties) {\r\n properties = {};\r\n }\r\n _self[_DYN_EXCEPTIONS /* @min:%2eexceptions */] = [new _ExceptionDetails(logger, exception, properties)];\r\n _self[_DYN_PROPERTIES /* @min:%2eproperties */] = dataSanitizeProperties(logger, properties);\r\n _self[_DYN_MEASUREMENTS /* @min:%2emeasurements */] = dataSanitizeMeasurements(logger, measurements);\r\n if (severityLevel) {\r\n _self[_DYN_SEVERITY_LEVEL /* @min:%2eseverityLevel */] = severityLevel;\r\n }\r\n if (id) {\r\n _self.id = id;\r\n }\r\n }\r\n else {\r\n _self[_DYN_EXCEPTIONS /* @min:%2eexceptions */] = exception[_DYN_EXCEPTIONS /* @min:%2eexceptions */] || [];\r\n _self[_DYN_PROPERTIES /* @min:%2eproperties */] = exception[_DYN_PROPERTIES /* @min:%2eproperties */];\r\n _self[_DYN_MEASUREMENTS /* @min:%2emeasurements */] = exception[_DYN_MEASUREMENTS /* @min:%2emeasurements */];\r\n if (exception[_DYN_SEVERITY_LEVEL /* @min:%2eseverityLevel */]) {\r\n _self[_DYN_SEVERITY_LEVEL /* @min:%2eseverityLevel */] = exception[_DYN_SEVERITY_LEVEL /* @min:%2eseverityLevel */];\r\n }\r\n if (exception.id) {\r\n _self.id = exception.id;\r\n }\r\n if (exception[_DYN_PROBLEM_GROUP /* @min:%2eproblemGroup */]) {\r\n _self[_DYN_PROBLEM_GROUP /* @min:%2eproblemGroup */] = exception[_DYN_PROBLEM_GROUP /* @min:%2eproblemGroup */];\r\n }\r\n // bool/int types, use isNullOrUndefined\r\n if (!isNullOrUndefined(exception[_DYN_IS_MANUAL /* @min:%2eisManual */])) {\r\n _self[_DYN_IS_MANUAL /* @min:%2eisManual */] = exception[_DYN_IS_MANUAL /* @min:%2eisManual */];\r\n }\r\n }\r\n }\r\n Exception.CreateAutoException = function (message, url, lineNumber, columnNumber, error, evt, stack, errorSrc) {\r\n var _a;\r\n var errorType = _getErrorType(error || evt || message);\r\n return _a = {},\r\n _a[_DYN_MESSAGE /* @min:message */] = _formatMessage(message, errorType),\r\n _a.url = url,\r\n _a.lineNumber = lineNumber,\r\n _a.columnNumber = columnNumber,\r\n _a.error = _formatErrorCode(error || evt || message),\r\n _a.evt = _formatErrorCode(evt || message),\r\n _a[_DYN_TYPE_NAME /* @min:typeName */] = errorType,\r\n _a.stackDetails = _getStackFromErrorObj(stack || error || evt),\r\n _a.errorSrc = errorSrc,\r\n _a;\r\n };\r\n Exception.CreateFromInterface = function (logger, exception, properties, measurements) {\r\n var exceptions = exception[_DYN_EXCEPTIONS /* @min:%2eexceptions */]\r\n && arrMap(exception[_DYN_EXCEPTIONS /* @min:%2eexceptions */], function (ex) { return _ExceptionDetails[_DYN__CREATE_FROM_INTERFA1 /* @min:%2eCreateFromInterface */](logger, ex); });\r\n var exceptionData = new Exception(logger, __assign(__assign({}, exception), { exceptions: exceptions }), properties, measurements);\r\n return exceptionData;\r\n };\r\n Exception.prototype.toInterface = function () {\r\n var _a;\r\n var _b = this, exceptions = _b.exceptions, properties = _b.properties, measurements = _b.measurements, severityLevel = _b.severityLevel, problemGroup = _b.problemGroup, id = _b.id, isManual = _b.isManual;\r\n var exceptionDetailsInterface = exceptions instanceof Array\r\n && arrMap(exceptions, function (exception) { return exception.toInterface(); })\r\n || undefined;\r\n return _a = {\r\n ver: \"4.0\"\r\n },\r\n _a[_DYN_EXCEPTIONS /* @min:exceptions */] = exceptionDetailsInterface,\r\n _a.severityLevel = severityLevel,\r\n _a.properties = properties,\r\n _a.measurements = measurements,\r\n _a.problemGroup = problemGroup,\r\n _a.id = id,\r\n _a.isManual = isManual,\r\n _a;\r\n };\r\n /**\r\n * Creates a simple exception with 1 stack frame. Useful for manual constracting of exception.\r\n */\r\n Exception.CreateSimpleException = function (message, typeName, assembly, fileName, details, line) {\r\n var _a;\r\n return {\r\n exceptions: [\r\n (_a = {},\r\n _a[_DYN_HAS_FULL_STACK /* @min:hasFullStack */] = true,\r\n _a.message = message,\r\n _a.stack = details,\r\n _a.typeName = typeName,\r\n _a)\r\n ]\r\n };\r\n };\r\n Exception.envelopeType = \"Microsoft.ApplicationInsights.{0}.Exception\";\r\n Exception.dataType = \"ExceptionData\";\r\n Exception.formatError = _formatErrorCode;\r\n return Exception;\r\n}());\r\nexport { Exception };\r\nvar _ExceptionDetails = /** @class */ (function () {\r\n function _ExceptionDetails(logger, exception, properties) {\r\n this.aiDataContract = {\r\n id: 0 /* FieldType.Default */,\r\n outerId: 0 /* FieldType.Default */,\r\n typeName: 1 /* FieldType.Required */,\r\n message: 1 /* FieldType.Required */,\r\n hasFullStack: 0 /* FieldType.Default */,\r\n stack: 0 /* FieldType.Default */,\r\n parsedStack: 2 /* FieldType.Array */\r\n };\r\n var _self = this;\r\n if (!_isExceptionDetailsInternal(exception)) {\r\n var error = exception;\r\n var evt = error && error.evt;\r\n if (!isError(error)) {\r\n error = error[strError] || evt || error;\r\n }\r\n _self[_DYN_TYPE_NAME /* @min:%2etypeName */] = dataSanitizeString(logger, _getErrorType(error)) || strNotSpecified;\r\n _self[_DYN_MESSAGE /* @min:%2emessage */] = dataSanitizeMessage(logger, _formatMessage(exception || error, _self[_DYN_TYPE_NAME /* @min:%2etypeName */])) || strNotSpecified;\r\n var stack = exception[strStackDetails] || _getStackFromErrorObj(exception);\r\n _self[_DYN_PARSED_STACK /* @min:%2eparsedStack */] = _parseStack(stack);\r\n // after parsedStack is inited, iterate over each frame object, sanitize its assembly field\r\n if (isArray(_self[_DYN_PARSED_STACK /* @min:%2eparsedStack */])) {\r\n arrMap(_self[_DYN_PARSED_STACK /* @min:%2eparsedStack */], function (frame) {\r\n frame[_DYN_ASSEMBLY /* @min:%2eassembly */] = dataSanitizeString(logger, frame[_DYN_ASSEMBLY /* @min:%2eassembly */]);\r\n frame[_DYN_FILE_NAME /* @min:%2efileName */] = dataSanitizeString(logger, frame[_DYN_FILE_NAME /* @min:%2efileName */]);\r\n });\r\n }\r\n _self[strStack] = dataSanitizeException(logger, _formatStackTrace(stack));\r\n _self.hasFullStack = isArray(_self.parsedStack) && _self.parsedStack[_DYN_LENGTH /* @min:%2elength */] > 0;\r\n if (properties) {\r\n properties[_DYN_TYPE_NAME /* @min:%2etypeName */] = properties[_DYN_TYPE_NAME /* @min:%2etypeName */] || _self[_DYN_TYPE_NAME /* @min:%2etypeName */];\r\n }\r\n }\r\n else {\r\n _self[_DYN_TYPE_NAME /* @min:%2etypeName */] = exception[_DYN_TYPE_NAME /* @min:%2etypeName */];\r\n _self[_DYN_MESSAGE /* @min:%2emessage */] = exception[_DYN_MESSAGE /* @min:%2emessage */];\r\n _self[strStack] = exception[strStack];\r\n _self[_DYN_PARSED_STACK /* @min:%2eparsedStack */] = exception[_DYN_PARSED_STACK /* @min:%2eparsedStack */] || [];\r\n _self[_DYN_HAS_FULL_STACK /* @min:%2ehasFullStack */] = exception[_DYN_HAS_FULL_STACK /* @min:%2ehasFullStack */];\r\n }\r\n }\r\n _ExceptionDetails.prototype.toInterface = function () {\r\n var _a;\r\n var _self = this;\r\n var parsedStack = _self[_DYN_PARSED_STACK /* @min:%2eparsedStack */] instanceof Array\r\n && arrMap(_self[_DYN_PARSED_STACK /* @min:%2eparsedStack */], function (frame) { return frame.toInterface(); });\r\n var exceptionDetailsInterface = (_a = {\r\n id: _self.id,\r\n outerId: _self.outerId,\r\n typeName: _self[_DYN_TYPE_NAME /* @min:%2etypeName */],\r\n message: _self[_DYN_MESSAGE /* @min:%2emessage */],\r\n hasFullStack: _self[_DYN_HAS_FULL_STACK /* @min:%2ehasFullStack */],\r\n stack: _self[strStack]\r\n },\r\n _a[_DYN_PARSED_STACK /* @min:parsedStack */] = parsedStack || undefined,\r\n _a);\r\n return exceptionDetailsInterface;\r\n };\r\n _ExceptionDetails.CreateFromInterface = function (logger, exception) {\r\n var parsedStack = (exception[_DYN_PARSED_STACK /* @min:%2eparsedStack */] instanceof Array\r\n && arrMap(exception[_DYN_PARSED_STACK /* @min:%2eparsedStack */], function (frame) { return _StackFrame[_DYN__CREATE_FROM_INTERFA1 /* @min:%2eCreateFromInterface */](frame); }))\r\n || exception[_DYN_PARSED_STACK /* @min:%2eparsedStack */];\r\n var exceptionDetails = new _ExceptionDetails(logger, __assign(__assign({}, exception), { parsedStack: parsedStack }));\r\n return exceptionDetails;\r\n };\r\n return _ExceptionDetails;\r\n}());\r\nexport { _ExceptionDetails };\r\nvar _StackFrame = /** @class */ (function () {\r\n function _StackFrame(sourceFrame, level) {\r\n this.aiDataContract = {\r\n level: 1 /* FieldType.Required */,\r\n method: 1 /* FieldType.Required */,\r\n assembly: 0 /* FieldType.Default */,\r\n fileName: 0 /* FieldType.Default */,\r\n line: 0 /* FieldType.Default */\r\n };\r\n var _self = this;\r\n _self[_DYN_SIZE_IN_BYTES /* @min:%2esizeInBytes */] = 0;\r\n // Not converting this to isString() as typescript uses this logic to \"understand\" the different\r\n // types for the 2 different code paths\r\n if (typeof sourceFrame === \"string\") {\r\n var frame = sourceFrame;\r\n _self[_DYN_LEVEL /* @min:%2elevel */] = level;\r\n _self[_DYN_METHOD /* @min:%2emethod */] = NoMethod;\r\n _self[_DYN_ASSEMBLY /* @min:%2eassembly */] = strTrim(frame);\r\n _self[_DYN_FILE_NAME /* @min:%2efileName */] = \"\";\r\n _self[_DYN_LINE /* @min:%2eline */] = 0;\r\n var matches = frame.match(_StackFrame.regex);\r\n if (matches && matches[_DYN_LENGTH /* @min:%2elength */] >= 5) {\r\n _self[_DYN_METHOD /* @min:%2emethod */] = strTrim(matches[2]) || _self[_DYN_METHOD /* @min:%2emethod */];\r\n _self[_DYN_FILE_NAME /* @min:%2efileName */] = strTrim(matches[4]);\r\n _self[_DYN_LINE /* @min:%2eline */] = parseInt(matches[5]) || 0;\r\n }\r\n }\r\n else {\r\n _self[_DYN_LEVEL /* @min:%2elevel */] = sourceFrame[_DYN_LEVEL /* @min:%2elevel */];\r\n _self[_DYN_METHOD /* @min:%2emethod */] = sourceFrame[_DYN_METHOD /* @min:%2emethod */];\r\n _self[_DYN_ASSEMBLY /* @min:%2eassembly */] = sourceFrame[_DYN_ASSEMBLY /* @min:%2eassembly */];\r\n _self[_DYN_FILE_NAME /* @min:%2efileName */] = sourceFrame[_DYN_FILE_NAME /* @min:%2efileName */];\r\n _self[_DYN_LINE /* @min:%2eline */] = sourceFrame[_DYN_LINE /* @min:%2eline */];\r\n _self[_DYN_SIZE_IN_BYTES /* @min:%2esizeInBytes */] = 0;\r\n }\r\n _self.sizeInBytes += _self.method[_DYN_LENGTH /* @min:%2elength */];\r\n _self.sizeInBytes += _self.fileName[_DYN_LENGTH /* @min:%2elength */];\r\n _self.sizeInBytes += _self.assembly[_DYN_LENGTH /* @min:%2elength */];\r\n // todo: these might need to be removed depending on how the back-end settles on their size calculation\r\n _self[_DYN_SIZE_IN_BYTES /* @min:%2esizeInBytes */] += _StackFrame.baseSize;\r\n _self.sizeInBytes += _self.level.toString()[_DYN_LENGTH /* @min:%2elength */];\r\n _self.sizeInBytes += _self.line.toString()[_DYN_LENGTH /* @min:%2elength */];\r\n }\r\n _StackFrame.CreateFromInterface = function (frame) {\r\n return new _StackFrame(frame, null /* level is available in frame interface */);\r\n };\r\n _StackFrame.prototype.toInterface = function () {\r\n var _self = this;\r\n return {\r\n level: _self[_DYN_LEVEL /* @min:%2elevel */],\r\n method: _self[_DYN_METHOD /* @min:%2emethod */],\r\n assembly: _self[_DYN_ASSEMBLY /* @min:%2eassembly */],\r\n fileName: _self[_DYN_FILE_NAME /* @min:%2efileName */],\r\n line: _self[_DYN_LINE /* @min:%2eline */]\r\n };\r\n };\r\n // regex to match stack frames from ie/chrome/ff\r\n // methodName=$2, fileName=$4, lineNo=$5, column=$6\r\n _StackFrame.regex = /^([\\s]+at)?[\\s]{0,50}([^\\@\\()]+?)[\\s]{0,50}(\\@|\\()([^\\(\\n]+):([0-9]+):([0-9]+)(\\)?)$/;\r\n _StackFrame.baseSize = 58; // '{\"method\":\"\",\"level\":,\"assembly\":\"\",\"fileName\":\"\",\"line\":}'.length\r\n return _StackFrame;\r\n}());\r\nexport { _StackFrame };\r\n","/*\n * Application Insights JavaScript SDK - Common, 2.8.15\n * Copyright (c) Microsoft and contributors. All rights reserved.\n */\n\r\n\r\nimport { strNotSpecified } from \"../Constants\";\r\nimport { _DYN_COUNT, _DYN_MEASUREMENTS, _DYN_NAME, _DYN_PROPERTIES } from \"../__DynamicConstants\";\r\nimport { DataPoint } from \"./Common/DataPoint\";\r\nimport { dataSanitizeMeasurements, dataSanitizeProperties, dataSanitizeString } from \"./Common/DataSanitizer\";\r\nvar Metric = /** @class */ (function () {\r\n /**\r\n * Constructs a new instance of the MetricTelemetry object\r\n */\r\n function Metric(logger, name, value, count, min, max, stdDev, properties, measurements) {\r\n this.aiDataContract = {\r\n ver: 1 /* FieldType.Required */,\r\n metrics: 1 /* FieldType.Required */,\r\n properties: 0 /* FieldType.Default */\r\n };\r\n var _self = this;\r\n _self.ver = 2;\r\n var dataPoint = new DataPoint();\r\n dataPoint[_DYN_COUNT /* @min:%2ecount */] = count > 0 ? count : undefined;\r\n dataPoint.max = isNaN(max) || max === null ? undefined : max;\r\n dataPoint.min = isNaN(min) || min === null ? undefined : min;\r\n dataPoint[_DYN_NAME /* @min:%2ename */] = dataSanitizeString(logger, name) || strNotSpecified;\r\n dataPoint.value = value;\r\n dataPoint.stdDev = isNaN(stdDev) || stdDev === null ? undefined : stdDev;\r\n _self.metrics = [dataPoint];\r\n _self[_DYN_PROPERTIES /* @min:%2eproperties */] = dataSanitizeProperties(logger, properties);\r\n _self[_DYN_MEASUREMENTS /* @min:%2emeasurements */] = dataSanitizeMeasurements(logger, measurements);\r\n }\r\n Metric.envelopeType = \"Microsoft.ApplicationInsights.{0}.Metric\";\r\n Metric.dataType = \"MetricData\";\r\n return Metric;\r\n}());\r\nexport { Metric };\r\n","/*\n * Application Insights JavaScript SDK - Common, 2.8.15\n * Copyright (c) Microsoft and contributors. All rights reserved.\n */\n\r\n\r\nimport { strNotSpecified } from \"../Constants\";\r\nimport { msToTimeSpan } from \"../HelperFuncs\";\r\nimport { _DYN_DURATION, _DYN_MEASUREMENTS, _DYN_NAME, _DYN_PROPERTIES } from \"../__DynamicConstants\";\r\nimport { dataSanitizeId, dataSanitizeMeasurements, dataSanitizeProperties, dataSanitizeString, dataSanitizeUrl } from \"./Common/DataSanitizer\";\r\nvar PageView = /** @class */ (function () {\r\n /**\r\n * Constructs a new instance of the PageEventTelemetry object\r\n */\r\n function PageView(logger, name, url, durationMs, properties, measurements, id) {\r\n this.aiDataContract = {\r\n ver: 1 /* FieldType.Required */,\r\n name: 0 /* FieldType.Default */,\r\n url: 0 /* FieldType.Default */,\r\n duration: 0 /* FieldType.Default */,\r\n properties: 0 /* FieldType.Default */,\r\n measurements: 0 /* FieldType.Default */,\r\n id: 0 /* FieldType.Default */\r\n };\r\n var _self = this;\r\n _self.ver = 2;\r\n _self.id = dataSanitizeId(logger, id);\r\n _self.url = dataSanitizeUrl(logger, url);\r\n _self[_DYN_NAME /* @min:%2ename */] = dataSanitizeString(logger, name) || strNotSpecified;\r\n if (!isNaN(durationMs)) {\r\n _self[_DYN_DURATION /* @min:%2eduration */] = msToTimeSpan(durationMs);\r\n }\r\n _self[_DYN_PROPERTIES /* @min:%2eproperties */] = dataSanitizeProperties(logger, properties);\r\n _self[_DYN_MEASUREMENTS /* @min:%2emeasurements */] = dataSanitizeMeasurements(logger, measurements);\r\n }\r\n PageView.envelopeType = \"Microsoft.ApplicationInsights.{0}.Pageview\";\r\n PageView.dataType = \"PageviewData\";\r\n return PageView;\r\n}());\r\nexport { PageView };\r\n","/*\n * Application Insights JavaScript SDK - Common, 2.8.15\n * Copyright (c) Microsoft and contributors. All rights reserved.\n */\n\r\n\r\nimport { strNotSpecified } from \"../Constants\";\r\nimport { _DYN_DURATION, _DYN_MEASUREMENTS, _DYN_NAME, _DYN_PROPERTIES, _DYN_RECEIVED_RESPONSE } from \"../__DynamicConstants\";\r\nimport { dataSanitizeMeasurements, dataSanitizeProperties, dataSanitizeString, dataSanitizeUrl } from \"./Common/DataSanitizer\";\r\nvar PageViewPerformance = /** @class */ (function () {\r\n /**\r\n * Constructs a new instance of the PageEventTelemetry object\r\n */\r\n function PageViewPerformance(logger, name, url, unused, properties, measurements, cs4BaseData) {\r\n this.aiDataContract = {\r\n ver: 1 /* FieldType.Required */,\r\n name: 0 /* FieldType.Default */,\r\n url: 0 /* FieldType.Default */,\r\n duration: 0 /* FieldType.Default */,\r\n perfTotal: 0 /* FieldType.Default */,\r\n networkConnect: 0 /* FieldType.Default */,\r\n sentRequest: 0 /* FieldType.Default */,\r\n receivedResponse: 0 /* FieldType.Default */,\r\n domProcessing: 0 /* FieldType.Default */,\r\n properties: 0 /* FieldType.Default */,\r\n measurements: 0 /* FieldType.Default */\r\n };\r\n var _self = this;\r\n _self.ver = 2;\r\n _self.url = dataSanitizeUrl(logger, url);\r\n _self[_DYN_NAME /* @min:%2ename */] = dataSanitizeString(logger, name) || strNotSpecified;\r\n _self[_DYN_PROPERTIES /* @min:%2eproperties */] = dataSanitizeProperties(logger, properties);\r\n _self[_DYN_MEASUREMENTS /* @min:%2emeasurements */] = dataSanitizeMeasurements(logger, measurements);\r\n if (cs4BaseData) {\r\n _self.domProcessing = cs4BaseData.domProcessing;\r\n _self[_DYN_DURATION /* @min:%2eduration */] = cs4BaseData[_DYN_DURATION /* @min:%2eduration */];\r\n _self.networkConnect = cs4BaseData.networkConnect;\r\n _self.perfTotal = cs4BaseData.perfTotal;\r\n _self[_DYN_RECEIVED_RESPONSE /* @min:%2ereceivedResponse */] = cs4BaseData[_DYN_RECEIVED_RESPONSE /* @min:%2ereceivedResponse */];\r\n _self.sentRequest = cs4BaseData.sentRequest;\r\n }\r\n }\r\n PageViewPerformance.envelopeType = \"Microsoft.ApplicationInsights.{0}.PageviewPerformance\";\r\n PageViewPerformance.dataType = \"PageviewPerformanceData\";\r\n return PageViewPerformance;\r\n}());\r\nexport { PageViewPerformance };\r\n","/*\n * Application Insights JavaScript SDK - Common, 2.8.15\n * Copyright (c) Microsoft and contributors. All rights reserved.\n */\n\r\n\r\nimport { msToTimeSpan } from \"../HelperFuncs\";\r\nimport { AjaxHelperParseDependencyPath } from \"../Util\";\r\nimport { _DYN_DURATION, _DYN_MEASUREMENTS, _DYN_NAME, _DYN_PROPERTIES } from \"../__DynamicConstants\";\r\nimport { dataSanitizeMeasurements, dataSanitizeProperties, dataSanitizeString, dataSanitizeUrl } from \"./Common/DataSanitizer\";\r\nvar RemoteDependencyData = /** @class */ (function () {\r\n /**\r\n * Constructs a new instance of the RemoteDependencyData object\r\n */\r\n function RemoteDependencyData(logger, id, absoluteUrl, commandName, value, success, resultCode, method, requestAPI, correlationContext, properties, measurements) {\r\n if (requestAPI === void 0) { requestAPI = \"Ajax\"; }\r\n this.aiDataContract = {\r\n id: 1 /* FieldType.Required */,\r\n ver: 1 /* FieldType.Required */,\r\n name: 0 /* FieldType.Default */,\r\n resultCode: 0 /* FieldType.Default */,\r\n duration: 0 /* FieldType.Default */,\r\n success: 0 /* FieldType.Default */,\r\n data: 0 /* FieldType.Default */,\r\n target: 0 /* FieldType.Default */,\r\n type: 0 /* FieldType.Default */,\r\n properties: 0 /* FieldType.Default */,\r\n measurements: 0 /* FieldType.Default */,\r\n kind: 0 /* FieldType.Default */,\r\n value: 0 /* FieldType.Default */,\r\n count: 0 /* FieldType.Default */,\r\n min: 0 /* FieldType.Default */,\r\n max: 0 /* FieldType.Default */,\r\n stdDev: 0 /* FieldType.Default */,\r\n dependencyKind: 0 /* FieldType.Default */,\r\n dependencySource: 0 /* FieldType.Default */,\r\n commandName: 0 /* FieldType.Default */,\r\n dependencyTypeName: 0 /* FieldType.Default */\r\n };\r\n var _self = this;\r\n _self.ver = 2;\r\n _self.id = id;\r\n _self[_DYN_DURATION /* @min:%2eduration */] = msToTimeSpan(value);\r\n _self.success = success;\r\n _self.resultCode = resultCode + \"\";\r\n _self.type = dataSanitizeString(logger, requestAPI);\r\n var dependencyFields = AjaxHelperParseDependencyPath(logger, absoluteUrl, method, commandName);\r\n _self.data = dataSanitizeUrl(logger, commandName) || dependencyFields.data; // get a value from hosturl if commandName not available\r\n _self.target = dataSanitizeString(logger, dependencyFields.target);\r\n if (correlationContext) {\r\n _self.target = \"\".concat(_self.target, \" | \").concat(correlationContext);\r\n }\r\n _self[_DYN_NAME /* @min:%2ename */] = dataSanitizeString(logger, dependencyFields[_DYN_NAME /* @min:%2ename */]);\r\n _self[_DYN_PROPERTIES /* @min:%2eproperties */] = dataSanitizeProperties(logger, properties);\r\n _self[_DYN_MEASUREMENTS /* @min:%2emeasurements */] = dataSanitizeMeasurements(logger, measurements);\r\n }\r\n RemoteDependencyData.envelopeType = \"Microsoft.ApplicationInsights.{0}.RemoteDependency\";\r\n RemoteDependencyData.dataType = \"RemoteDependencyData\";\r\n return RemoteDependencyData;\r\n}());\r\nexport { RemoteDependencyData };\r\n","/*\n * Application Insights JavaScript SDK - Common, 2.8.15\n * Copyright (c) Microsoft and contributors. All rights reserved.\n */\n\r\n\r\nimport { strNotSpecified } from \"../Constants\";\r\nimport { _DYN_MEASUREMENTS, _DYN_MESSAGE, _DYN_PROPERTIES, _DYN_SEVERITY_LEVEL } from \"../__DynamicConstants\";\r\nimport { dataSanitizeMeasurements, dataSanitizeMessage, dataSanitizeProperties } from \"./Common/DataSanitizer\";\r\nvar Trace = /** @class */ (function () {\r\n /**\r\n * Constructs a new instance of the TraceTelemetry object\r\n */\r\n function Trace(logger, message, severityLevel, properties, measurements) {\r\n this.aiDataContract = {\r\n ver: 1 /* FieldType.Required */,\r\n message: 1 /* FieldType.Required */,\r\n severityLevel: 0 /* FieldType.Default */,\r\n properties: 0 /* FieldType.Default */\r\n };\r\n var _self = this;\r\n _self.ver = 2;\r\n message = message || strNotSpecified;\r\n _self[_DYN_MESSAGE /* @min:%2emessage */] = dataSanitizeMessage(logger, message);\r\n _self[_DYN_PROPERTIES /* @min:%2eproperties */] = dataSanitizeProperties(logger, properties);\r\n _self[_DYN_MEASUREMENTS /* @min:%2emeasurements */] = dataSanitizeMeasurements(logger, measurements);\r\n if (severityLevel) {\r\n _self[_DYN_SEVERITY_LEVEL /* @min:%2eseverityLevel */] = severityLevel;\r\n }\r\n }\r\n Trace.envelopeType = \"Microsoft.ApplicationInsights.{0}.Message\";\r\n Trace.dataType = \"MessageData\";\r\n return Trace;\r\n}());\r\nexport { Trace };\r\n","/*\n * Application Insights JavaScript SDK - Common, 2.8.15\n * Copyright (c) Microsoft and contributors. All rights reserved.\n */\n\r\n\r\nimport { isNullOrUndefined, objForEachKey, throwError, toISOString } from \"@microsoft/applicationinsights-core-js\";\r\nimport { strIkey, strNotSpecified } from \"./Constants\";\r\nimport { dataSanitizeString } from \"./Telemetry/Common/DataSanitizer\";\r\nimport { _DYN_NAME } from \"./__DynamicConstants\";\r\n/**\r\n * Create a telemetry item that the 1DS channel understands\r\n * @param item domain specific properties; part B\r\n * @param baseType telemetry item type. ie PageViewData\r\n * @param envelopeName name of the envelope. ie Microsoft.ApplicationInsights..PageView\r\n * @param customProperties user defined custom properties; part C\r\n * @param systemProperties system properties that are added to the context; part A\r\n * @returns ITelemetryItem that is sent to channel\r\n */\r\nexport function createTelemetryItem(item, baseType, envelopeName, logger, customProperties, systemProperties) {\r\n var _a;\r\n envelopeName = dataSanitizeString(logger, envelopeName) || strNotSpecified;\r\n if (isNullOrUndefined(item) ||\r\n isNullOrUndefined(baseType) ||\r\n isNullOrUndefined(envelopeName)) {\r\n throwError(\"Input doesn't contain all required fields\");\r\n }\r\n var iKey = \"\";\r\n if (item[strIkey]) {\r\n iKey = item[strIkey];\r\n delete item[strIkey];\r\n }\r\n var telemetryItem = (_a = {},\r\n _a[_DYN_NAME /* @min:name */] = envelopeName,\r\n _a.time = toISOString(new Date()),\r\n _a.iKey = iKey,\r\n _a.ext = systemProperties ? systemProperties : {},\r\n _a.tags = [],\r\n _a.data = {},\r\n _a.baseType = baseType,\r\n _a.baseData = item // Part B\r\n ,\r\n _a);\r\n // Part C\r\n if (!isNullOrUndefined(customProperties)) {\r\n objForEachKey(customProperties, function (prop, value) {\r\n telemetryItem.data[prop] = value;\r\n });\r\n }\r\n return telemetryItem;\r\n}\r\nvar TelemetryItemCreator = /** @class */ (function () {\r\n function TelemetryItemCreator() {\r\n }\r\n /**\r\n * Create a telemetry item that the 1DS channel understands\r\n * @param item domain specific properties; part B\r\n * @param baseType telemetry item type. ie PageViewData\r\n * @param envelopeName name of the envelope. ie Microsoft.ApplicationInsights..PageView\r\n * @param customProperties user defined custom properties; part C\r\n * @param systemProperties system properties that are added to the context; part A\r\n * @returns ITelemetryItem that is sent to channel\r\n */\r\n TelemetryItemCreator.create = createTelemetryItem;\r\n return TelemetryItemCreator;\r\n}());\r\nexport { TelemetryItemCreator };\r\n","/*\n * Application Insights JavaScript SDK - Common, 2.8.15\n * Copyright (c) Microsoft and contributors. All rights reserved.\n */\nimport { _throwInternal, arrForEach, arrIndexOf, isNotNullOrUndefined, isNullOrUndefined, randomValue, safeGetLogger, strTrim } from \"@microsoft/applicationinsights-core-js\";\r\nimport { utlCanUseLocalStorage, utlGetLocalStorage, utlSetLocalStorage } from \"./StorageHelperFuncs\";\r\nimport { _DYN_COUNT, _DYN_DATE, _DYN_DAYS_OF_MONTH, _DYN_DISABLED, _DYN_GET_UTCDATE, _DYN_INTERVAL, _DYN_LENGTH, _DYN_MESSAGE, _DYN_PRE_TRIGGER_DATE, _DYN_STRINGIFY } from \"./__DynamicConstants\";\r\nvar THROTTLE_STORAGE_PREFIX = \"appInsightsThrottle\";\r\nvar ThrottleMgr = /** @class */ (function () {\r\n function ThrottleMgr(throttleMgr, core, namePrefix) {\r\n var _self = this;\r\n var _canUseLocalStorage;\r\n var _logger;\r\n var _config;\r\n var _localStorageName;\r\n var _localStorageObj;\r\n var _isTriggered; //_isTriggered is to make sure that we only trigger throttle once a day\r\n var _namePrefix;\r\n var _queue;\r\n var _isReady = false;\r\n var _isSpecificDaysGiven = false;\r\n _initConfig();\r\n _self.getConfig = function () {\r\n return _config;\r\n };\r\n /**\r\n * Check if it is the correct day to send message.\r\n * If _isTriggered is true, even if canThrottle returns true, message will not be sent,\r\n * because we only allow triggering sendMessage() once a day.\r\n * @returns if the current date is the valid date to send message\r\n */\r\n _self.canThrottle = function () {\r\n return _canThrottle(_config, _canUseLocalStorage, _localStorageObj);\r\n };\r\n /**\r\n * Check if throttle is triggered on current day(UTC)\r\n * if canThrottle returns false, isTriggered will return false\r\n * @returns if throttle is triggered on current day(UTC)\r\n */\r\n _self.isTriggered = function () {\r\n return _isTriggered;\r\n };\r\n /**\r\n * Before isReady set to true, all message will be stored in queue.\r\n * Message will only be sent out after isReady set to true.\r\n * Initial and default value: false\r\n * @returns isReady state\r\n */\r\n _self.isReady = function () {\r\n return _isReady;\r\n };\r\n /**\r\n * Flush all message in queue with isReady state set to true.\r\n * @returns if message queue is flushed\r\n */\r\n _self.flush = function () {\r\n try {\r\n if (_isReady && _queue[_DYN_LENGTH /* @min:%2elength */] > 0) {\r\n arrForEach(_queue, function (item) {\r\n _self.sendMessage(item.msgID, item[_DYN_MESSAGE /* @min:%2emessage */], item.severity);\r\n });\r\n return true;\r\n }\r\n }\r\n catch (err) {\r\n // eslint-disable-next-line no-empty\r\n }\r\n return false;\r\n };\r\n /**\r\n * Set isReady State\r\n * if isReady set to true, message queue will be flushed automatically.\r\n * @param isReady isReady State\r\n * @returns if message queue is flushed\r\n */\r\n _self.onReadyState = function (isReady) {\r\n _isReady = isNullOrUndefined(isReady) ? true : isReady;\r\n return _self.flush();\r\n };\r\n _self.sendMessage = function (msgID, message, severity) {\r\n if (_isReady) {\r\n var isSampledIn = _canSampledIn();\r\n if (!isSampledIn) {\r\n return;\r\n }\r\n var canThrottle = _canThrottle(_config, _canUseLocalStorage, _localStorageObj);\r\n var throttled = false;\r\n var number = 0;\r\n try {\r\n if (canThrottle && !_isTriggered) {\r\n number = Math.min(_config.limit.maxSendNumber, _localStorageObj[_DYN_COUNT /* @min:%2ecount */] + 1);\r\n _localStorageObj[_DYN_COUNT /* @min:%2ecount */] = 0;\r\n throttled = true;\r\n _isTriggered = true;\r\n _localStorageObj[_DYN_PRE_TRIGGER_DATE /* @min:%2epreTriggerDate */] = new Date();\r\n }\r\n else {\r\n _isTriggered = canThrottle;\r\n _localStorageObj[_DYN_COUNT /* @min:%2ecount */] += 1;\r\n }\r\n _resetLocalStorage(_logger, _localStorageName, _localStorageObj);\r\n for (var i = 0; i < number; i++) {\r\n _sendMessage(msgID, _logger, message, severity);\r\n }\r\n }\r\n catch (e) {\r\n // eslint-disable-next-line no-empty\r\n }\r\n return {\r\n isThrottled: throttled,\r\n throttleNum: number\r\n };\r\n }\r\n else {\r\n _queue.push({\r\n msgID: msgID,\r\n message: message,\r\n severity: severity\r\n });\r\n }\r\n return null;\r\n };\r\n function _initConfig() {\r\n var _a, _b;\r\n _canUseLocalStorage = utlCanUseLocalStorage();\r\n _logger = safeGetLogger(core);\r\n _isTriggered = false;\r\n _namePrefix = isNotNullOrUndefined(namePrefix) ? namePrefix : \"\";\r\n _queue = [];\r\n var configMgr = throttleMgr;\r\n _config = {};\r\n _config[_DYN_DISABLED /* @min:%2edisabled */] = !!configMgr[_DYN_DISABLED /* @min:%2edisabled */];\r\n _config.msgKey = configMgr.msgKey;\r\n var configInterval = configMgr[_DYN_INTERVAL /* @min:%2einterval */] || {};\r\n _isSpecificDaysGiven = (configInterval === null || configInterval === void 0 ? void 0 : configInterval.daysOfMonth) && (configInterval === null || configInterval === void 0 ? void 0 : configInterval.daysOfMonth[_DYN_LENGTH /* @min:%2elength */]) > 0;\r\n _config[_DYN_INTERVAL /* @min:%2einterval */] = _getIntervalConfig(configInterval);\r\n var limit = {\r\n samplingRate: ((_a = configMgr.limit) === null || _a === void 0 ? void 0 : _a.samplingRate) || 100,\r\n // dafault: every time sent only 1 event\r\n maxSendNumber: ((_b = configMgr.limit) === null || _b === void 0 ? void 0 : _b.maxSendNumber) || 1\r\n };\r\n _config.limit = limit;\r\n _localStorageName = _getLocalStorageName(_config.msgKey, _namePrefix);\r\n if (_canUseLocalStorage && _localStorageName) {\r\n _localStorageObj = _getLocalStorageObj(utlGetLocalStorage(_logger, _localStorageName), _logger, _localStorageName);\r\n }\r\n if (_localStorageObj) {\r\n _isTriggered = _isTriggeredOnCurDate(_localStorageObj[_DYN_PRE_TRIGGER_DATE /* @min:%2epreTriggerDate */]);\r\n }\r\n }\r\n function _getIntervalConfig(interval) {\r\n interval = interval || {};\r\n var monthInterval = interval === null || interval === void 0 ? void 0 : interval.monthInterval;\r\n var dayInterval = interval === null || interval === void 0 ? void 0 : interval.dayInterval;\r\n // default: send data every 3 month each year\r\n if (isNullOrUndefined(monthInterval) && isNullOrUndefined(dayInterval)) {\r\n interval.monthInterval = 3;\r\n if (!_isSpecificDaysGiven) {\r\n // default: send data on 28th\r\n interval[_DYN_DAYS_OF_MONTH /* @min:%2edaysOfMonth */] = [28];\r\n _isSpecificDaysGiven = true;\r\n }\r\n }\r\n interval = {\r\n // dafault: sent every three months\r\n monthInterval: interval === null || interval === void 0 ? void 0 : interval.monthInterval,\r\n dayInterval: interval === null || interval === void 0 ? void 0 : interval.dayInterval,\r\n daysOfMonth: interval === null || interval === void 0 ? void 0 : interval.daysOfMonth\r\n };\r\n return interval;\r\n }\r\n function _canThrottle(config, canUseLocalStorage, localStorageObj) {\r\n if (!config[_DYN_DISABLED /* @min:%2edisabled */] && canUseLocalStorage && isNotNullOrUndefined(localStorageObj)) {\r\n var curDate = _getThrottleDate();\r\n var date = localStorageObj[_DYN_DATE /* @min:%2edate */];\r\n var interval = config[_DYN_INTERVAL /* @min:%2einterval */];\r\n var monthCheck = 1;\r\n if (interval === null || interval === void 0 ? void 0 : interval.monthInterval) {\r\n var monthExpand = (curDate.getUTCFullYear() - date.getUTCFullYear()) * 12 + curDate.getUTCMonth() - date.getUTCMonth();\r\n monthCheck = _checkInterval(interval.monthInterval, 0, monthExpand);\r\n }\r\n var dayCheck = 1;\r\n if (_isSpecificDaysGiven) {\r\n dayCheck = arrIndexOf(interval[_DYN_DAYS_OF_MONTH /* @min:%2edaysOfMonth */], curDate[_DYN_GET_UTCDATE /* @min:%2egetUTCDate */]());\r\n }\r\n else if (interval === null || interval === void 0 ? void 0 : interval.dayInterval) {\r\n var daySpan = Math.floor((curDate.getTime() - date.getTime()) / 86400000);\r\n dayCheck = _checkInterval(interval.dayInterval, 0, daySpan);\r\n }\r\n return monthCheck >= 0 && dayCheck >= 0;\r\n }\r\n return false;\r\n }\r\n function _getLocalStorageName(msgKey, prefix) {\r\n var fix = isNotNullOrUndefined(prefix) ? prefix : \"\";\r\n if (msgKey) {\r\n return THROTTLE_STORAGE_PREFIX + fix + \"-\" + msgKey;\r\n }\r\n return null;\r\n }\r\n // returns if throttle is triggered on current Date\r\n function _isTriggeredOnCurDate(preTriggerDate) {\r\n try {\r\n if (preTriggerDate) {\r\n var curDate = new Date();\r\n return preTriggerDate.getUTCFullYear() === curDate.getUTCFullYear() &&\r\n preTriggerDate.getUTCMonth() === curDate.getUTCMonth() &&\r\n preTriggerDate[_DYN_GET_UTCDATE /* @min:%2egetUTCDate */]() === curDate[_DYN_GET_UTCDATE /* @min:%2egetUTCDate */]();\r\n }\r\n }\r\n catch (e) {\r\n // eslint-disable-next-line no-empty\r\n }\r\n return false;\r\n }\r\n // transfer local storage string value to object that identifies start date, current count and preTriggerDate\r\n function _getLocalStorageObj(value, logger, storageName) {\r\n try {\r\n var storageObj = {\r\n date: _getThrottleDate(),\r\n count: 0\r\n };\r\n if (value) {\r\n var obj = JSON.parse(value);\r\n return {\r\n date: _getThrottleDate(obj[_DYN_DATE /* @min:%2edate */]) || storageObj[_DYN_DATE /* @min:%2edate */],\r\n count: obj[_DYN_COUNT /* @min:%2ecount */] || storageObj[_DYN_COUNT /* @min:%2ecount */],\r\n preTriggerDate: obj.preTriggerDate ? _getThrottleDate(obj[_DYN_PRE_TRIGGER_DATE /* @min:%2epreTriggerDate */]) : undefined\r\n };\r\n }\r\n else {\r\n _resetLocalStorage(logger, storageName, storageObj);\r\n return storageObj;\r\n }\r\n }\r\n catch (e) {\r\n // eslint-disable-next-line no-empty\r\n }\r\n return null;\r\n }\r\n // if datestr is not defined, current date will be returned\r\n function _getThrottleDate(dateStr) {\r\n // if new Date() can't be created through the provided dateStr, null will be returned.\r\n try {\r\n if (dateStr) {\r\n var date = new Date(dateStr);\r\n //make sure it is a valid Date Object\r\n if (!isNaN(date.getDate())) {\r\n return date;\r\n }\r\n }\r\n else {\r\n return new Date();\r\n }\r\n }\r\n catch (e) {\r\n // eslint-disable-next-line no-empty\r\n }\r\n return null;\r\n }\r\n function _resetLocalStorage(logger, storageName, obj) {\r\n try {\r\n return utlSetLocalStorage(logger, storageName, strTrim(JSON[_DYN_STRINGIFY /* @min:%2estringify */](obj)));\r\n }\r\n catch (e) {\r\n // // eslint-disable-next-line no-empty\r\n }\r\n return false;\r\n }\r\n function _checkInterval(interval, start, current) {\r\n // count from start year\r\n return (current >= start) && (current - start) % interval == 0 ? Math.floor((current - start) / interval) + 1 : -1;\r\n }\r\n function _sendMessage(msgID, logger, message, severity) {\r\n _throwInternal(logger, severity || 1 /* eLoggingSeverity.CRITICAL */, msgID, message);\r\n }\r\n // NOTE: config.limit.samplingRate is set to 4 decimal places,\r\n // so config.limit.samplingRate = 1 means 0.0001%\r\n function _canSampledIn() {\r\n return randomValue(1000000) <= _config.limit.samplingRate;\r\n }\r\n }\r\n return ThrottleMgr;\r\n}());\r\nexport { ThrottleMgr };\r\n","/*\n * Application Insights JavaScript SDK - Common, 2.8.15\n * Copyright (c) Microsoft and contributors. All rights reserved.\n */\n\r\n\r\nimport { getDocument, isString } from \"@microsoft/applicationinsights-core-js\";\r\nimport { _DYN_LENGTH, _DYN_PATHNAME, _DYN_TO_LOWER_CASE } from \"./__DynamicConstants\";\r\nvar _document = getDocument() || {};\r\nvar _htmlAnchorIdx = 0;\r\n// Use an array of temporary values as it's possible for multiple calls to parseUrl() will be called with different URLs\r\n// Using a cache size of 5 for now as it current depth usage is at least 2, so adding a minor buffer to handle future updates\r\nvar _htmlAnchorElement = [null, null, null, null, null];\r\nexport function urlParseUrl(url) {\r\n var anchorIdx = _htmlAnchorIdx;\r\n var anchorCache = _htmlAnchorElement;\r\n var tempAnchor = anchorCache[anchorIdx];\r\n if (!_document.createElement) {\r\n // Always create the temp instance if createElement is not available\r\n tempAnchor = { host: urlParseHost(url, true) };\r\n }\r\n else if (!anchorCache[anchorIdx]) {\r\n // Create and cache the unattached anchor instance\r\n tempAnchor = anchorCache[anchorIdx] = _document.createElement(\"a\");\r\n }\r\n tempAnchor.href = url;\r\n // Move the cache index forward\r\n anchorIdx++;\r\n if (anchorIdx >= anchorCache[_DYN_LENGTH /* @min:%2elength */]) {\r\n anchorIdx = 0;\r\n }\r\n _htmlAnchorIdx = anchorIdx;\r\n return tempAnchor;\r\n}\r\nexport function urlGetAbsoluteUrl(url) {\r\n var result;\r\n var a = urlParseUrl(url);\r\n if (a) {\r\n result = a.href;\r\n }\r\n return result;\r\n}\r\nexport function urlGetPathName(url) {\r\n var result;\r\n var a = urlParseUrl(url);\r\n if (a) {\r\n result = a[_DYN_PATHNAME /* @min:%2epathname */];\r\n }\r\n return result;\r\n}\r\nexport function urlGetCompleteUrl(method, absoluteUrl) {\r\n if (method) {\r\n return method.toUpperCase() + \" \" + absoluteUrl;\r\n }\r\n return absoluteUrl;\r\n}\r\n// Fallback method to grab host from url if document.createElement method is not available\r\nexport function urlParseHost(url, inclPort) {\r\n var fullHost = urlParseFullHost(url, inclPort) || \"\";\r\n if (fullHost) {\r\n var match = fullHost.match(/(www\\d{0,5}\\.)?([^\\/:]{1,256})(:\\d{1,20})?/i);\r\n if (match != null && match[_DYN_LENGTH /* @min:%2elength */] > 3 && isString(match[2]) && match[2][_DYN_LENGTH /* @min:%2elength */] > 0) {\r\n return match[2] + (match[3] || \"\");\r\n }\r\n }\r\n return fullHost;\r\n}\r\nexport function urlParseFullHost(url, inclPort) {\r\n var result = null;\r\n if (url) {\r\n var match = url.match(/(\\w{1,150}):\\/\\/([^\\/:]{1,256})(:\\d{1,20})?/i);\r\n if (match != null && match[_DYN_LENGTH /* @min:%2elength */] > 2 && isString(match[2]) && match[2][_DYN_LENGTH /* @min:%2elength */] > 0) {\r\n result = match[2] || \"\";\r\n if (inclPort && match[_DYN_LENGTH /* @min:%2elength */] > 2) {\r\n var protocol = (match[1] || \"\")[_DYN_TO_LOWER_CASE /* @min:%2etoLowerCase */]();\r\n var port = match[3] || \"\";\r\n // IE includes the standard port so pass it off if it's the same as the protocol\r\n if (protocol === \"http\" && port === \":80\") {\r\n port = \"\";\r\n }\r\n else if (protocol === \"https\" && port === \":443\") {\r\n port = \"\";\r\n }\r\n result += port;\r\n }\r\n }\r\n }\r\n return result;\r\n}\r\n","/*\n * Application Insights JavaScript SDK - Common, 2.8.15\n * Copyright (c) Microsoft and contributors. All rights reserved.\n */\n\r\n\r\nimport { arrForEach, arrIndexOf, attachEvent, canUseCookies as coreCanUseCookies, dateNow, deleteCookie as coreDeleteCookie, disableCookies as coreDisableCookies, dumpObj, generateW3CId, getCookie as coreGetCookie, getExceptionName as coreGetExceptionName, getIEVersion, getPerformance, isArray, isBeaconsSupported, isDate, isError, isNullOrUndefined, isValidSpanId, isValidTraceId, newId, random32, setCookie as coreSetCookie, strTrim, toISOString, uaDisallowsSameSiteNone } from \"@microsoft/applicationinsights-core-js\";\r\nimport { DEFAULT_BREEZE_ENDPOINT, DEFAULT_BREEZE_PATH, strNotSpecified } from \"./Constants\";\r\nimport { createDomEvent } from \"./DomHelperFuncs\";\r\nimport { getExtensionByName, isCrossOriginError, msToTimeSpan, stringToBoolOrDefault } from \"./HelperFuncs\";\r\nimport { RequestHeaders } from \"./RequestResponseHeaders\";\r\nimport { utlCanUseLocalStorage, utlCanUseSessionStorage, utlDisableStorage, utlGetLocalStorage, utlGetSessionStorage, utlGetSessionStorageKeys, utlRemoveSessionStorage, utlRemoveStorage, utlSetLocalStorage, utlSetSessionStorage } from \"./StorageHelperFuncs\";\r\nimport { dataSanitizeString } from \"./Telemetry/Common/DataSanitizer\";\r\nimport { urlGetAbsoluteUrl, urlGetCompleteUrl, urlGetPathName, urlParseFullHost, urlParseHost, urlParseUrl } from \"./UrlHelperFuncs\";\r\nimport { _DYN_CORRELATION_HEADER_E0, _DYN_INDEX_OF, _DYN_LENGTH, _DYN_NAME, _DYN_PATHNAME, _DYN_SPLIT, _DYN_TO_LOWER_CASE } from \"./__DynamicConstants\";\r\n// listing only non-geo specific locations\r\nvar _internalEndpoints = [\r\n DEFAULT_BREEZE_ENDPOINT + DEFAULT_BREEZE_PATH,\r\n \"https://breeze.aimon.applicationinsights.io\" + DEFAULT_BREEZE_PATH,\r\n \"https://dc-int.services.visualstudio.com\" + DEFAULT_BREEZE_PATH\r\n];\r\nexport function isInternalApplicationInsightsEndpoint(endpointUrl) {\r\n return arrIndexOf(_internalEndpoints, endpointUrl[_DYN_TO_LOWER_CASE /* @min:%2etoLowerCase */]()) !== -1;\r\n}\r\nexport var Util = {\r\n NotSpecified: strNotSpecified,\r\n createDomEvent: createDomEvent,\r\n disableStorage: utlDisableStorage,\r\n isInternalApplicationInsightsEndpoint: isInternalApplicationInsightsEndpoint,\r\n canUseLocalStorage: utlCanUseLocalStorage,\r\n getStorage: utlGetLocalStorage,\r\n setStorage: utlSetLocalStorage,\r\n removeStorage: utlRemoveStorage,\r\n canUseSessionStorage: utlCanUseSessionStorage,\r\n getSessionStorageKeys: utlGetSessionStorageKeys,\r\n getSessionStorage: utlGetSessionStorage,\r\n setSessionStorage: utlSetSessionStorage,\r\n removeSessionStorage: utlRemoveSessionStorage,\r\n disableCookies: coreDisableCookies,\r\n canUseCookies: coreCanUseCookies,\r\n disallowsSameSiteNone: uaDisallowsSameSiteNone,\r\n setCookie: coreSetCookie,\r\n stringToBoolOrDefault: stringToBoolOrDefault,\r\n getCookie: coreGetCookie,\r\n deleteCookie: coreDeleteCookie,\r\n trim: strTrim,\r\n newId: newId,\r\n random32: function () {\r\n return random32(true);\r\n },\r\n generateW3CId: generateW3CId,\r\n isArray: isArray,\r\n isError: isError,\r\n isDate: isDate,\r\n toISOStringForIE8: toISOString,\r\n getIEVersion: getIEVersion,\r\n msToTimeSpan: msToTimeSpan,\r\n isCrossOriginError: isCrossOriginError,\r\n dump: dumpObj,\r\n getExceptionName: coreGetExceptionName,\r\n addEventHandler: attachEvent,\r\n IsBeaconApiSupported: isBeaconsSupported,\r\n getExtension: getExtensionByName\r\n};\r\nexport var UrlHelper = {\r\n parseUrl: urlParseUrl,\r\n getAbsoluteUrl: urlGetAbsoluteUrl,\r\n getPathName: urlGetPathName,\r\n getCompleteUrl: urlGetCompleteUrl,\r\n parseHost: urlParseHost,\r\n parseFullHost: urlParseFullHost\r\n};\r\nexport var CorrelationIdHelper = {\r\n correlationIdPrefix: \"cid-v1:\",\r\n /**\r\n * Checks if a request url is not on a excluded domain list and if it is safe to add correlation headers.\r\n * Headers are always included if the current domain matches the request domain. If they do not match (CORS),\r\n * they are regex-ed across correlationHeaderDomains and correlationHeaderExcludedDomains to determine if headers are included.\r\n * Some environments don't give information on currentHost via window.location.host (e.g. Cordova). In these cases, the user must\r\n * manually supply domains to include correlation headers on. Else, no headers will be included at all.\r\n */\r\n canIncludeCorrelationHeader: function (config, requestUrl, currentHost) {\r\n if (!requestUrl || (config && config.disableCorrelationHeaders)) {\r\n return false;\r\n }\r\n if (config && config[_DYN_CORRELATION_HEADER_E0 /* @min:%2ecorrelationHeaderExcludePatterns */]) {\r\n for (var i = 0; i < config.correlationHeaderExcludePatterns[_DYN_LENGTH /* @min:%2elength */]; i++) {\r\n if (config[_DYN_CORRELATION_HEADER_E0 /* @min:%2ecorrelationHeaderExcludePatterns */][i].test(requestUrl)) {\r\n return false;\r\n }\r\n }\r\n }\r\n var requestHost = urlParseUrl(requestUrl).host[_DYN_TO_LOWER_CASE /* @min:%2etoLowerCase */]();\r\n if (requestHost && (requestHost[_DYN_INDEX_OF /* @min:%2eindexOf */](\":443\") !== -1 || requestHost[_DYN_INDEX_OF /* @min:%2eindexOf */](\":80\") !== -1)) {\r\n // [Bug #1260] IE can include the port even for http and https URLs so if present\r\n // try and parse it to remove if it matches the default protocol port\r\n requestHost = (urlParseFullHost(requestUrl, true) || \"\")[_DYN_TO_LOWER_CASE /* @min:%2etoLowerCase */]();\r\n }\r\n if ((!config || !config.enableCorsCorrelation) && (requestHost && requestHost !== currentHost)) {\r\n return false;\r\n }\r\n var includedDomains = config && config.correlationHeaderDomains;\r\n if (includedDomains) {\r\n var matchExists_1;\r\n arrForEach(includedDomains, function (domain) {\r\n var regex = new RegExp(domain.toLowerCase().replace(/\\\\/g, \"\\\\\\\\\").replace(/\\./g, \"\\\\.\").replace(/\\*/g, \".*\"));\r\n matchExists_1 = matchExists_1 || regex.test(requestHost);\r\n });\r\n if (!matchExists_1) {\r\n return false;\r\n }\r\n }\r\n var excludedDomains = config && config.correlationHeaderExcludedDomains;\r\n if (!excludedDomains || excludedDomains[_DYN_LENGTH /* @min:%2elength */] === 0) {\r\n return true;\r\n }\r\n for (var i = 0; i < excludedDomains[_DYN_LENGTH /* @min:%2elength */]; i++) {\r\n var regex = new RegExp(excludedDomains[i].toLowerCase().replace(/\\\\/g, \"\\\\\\\\\").replace(/\\./g, \"\\\\.\").replace(/\\*/g, \".*\"));\r\n if (regex.test(requestHost)) {\r\n return false;\r\n }\r\n }\r\n // if we don't know anything about the requestHost, require the user to use included/excludedDomains.\r\n // Previously we always returned false for a falsy requestHost\r\n return requestHost && requestHost[_DYN_LENGTH /* @min:%2elength */] > 0;\r\n },\r\n /**\r\n * Combines target appId and target role name from response header.\r\n */\r\n getCorrelationContext: function (responseHeader) {\r\n if (responseHeader) {\r\n var correlationId = CorrelationIdHelper.getCorrelationContextValue(responseHeader, RequestHeaders[1 /* eRequestHeaders.requestContextTargetKey */]);\r\n if (correlationId && correlationId !== CorrelationIdHelper.correlationIdPrefix) {\r\n return correlationId;\r\n }\r\n }\r\n },\r\n /**\r\n * Gets key from correlation response header\r\n */\r\n getCorrelationContextValue: function (responseHeader, key) {\r\n if (responseHeader) {\r\n var keyValues = responseHeader[_DYN_SPLIT /* @min:%2esplit */](\",\");\r\n for (var i = 0; i < keyValues[_DYN_LENGTH /* @min:%2elength */]; ++i) {\r\n var keyValue = keyValues[i][_DYN_SPLIT /* @min:%2esplit */](\"=\");\r\n if (keyValue[_DYN_LENGTH /* @min:%2elength */] === 2 && keyValue[0] === key) {\r\n return keyValue[1];\r\n }\r\n }\r\n }\r\n }\r\n};\r\nexport function AjaxHelperParseDependencyPath(logger, absoluteUrl, method, commandName) {\r\n var target, name = commandName, data = commandName;\r\n if (absoluteUrl && absoluteUrl[_DYN_LENGTH /* @min:%2elength */] > 0) {\r\n var parsedUrl = urlParseUrl(absoluteUrl);\r\n target = parsedUrl.host;\r\n if (!name) {\r\n if (parsedUrl[_DYN_PATHNAME /* @min:%2epathname */] != null) {\r\n var pathName = (parsedUrl.pathname[_DYN_LENGTH /* @min:%2elength */] === 0) ? \"/\" : parsedUrl[_DYN_PATHNAME /* @min:%2epathname */];\r\n if (pathName.charAt(0) !== \"/\") {\r\n pathName = \"/\" + pathName;\r\n }\r\n data = parsedUrl[_DYN_PATHNAME /* @min:%2epathname */];\r\n name = dataSanitizeString(logger, method ? method + \" \" + pathName : pathName);\r\n }\r\n else {\r\n name = dataSanitizeString(logger, absoluteUrl);\r\n }\r\n }\r\n }\r\n else {\r\n target = commandName;\r\n name = commandName;\r\n }\r\n return {\r\n target: target,\r\n name: name,\r\n data: data\r\n };\r\n}\r\nexport function dateTimeUtilsNow() {\r\n // returns the window or webworker performance object\r\n var perf = getPerformance();\r\n if (perf && perf.now && perf.timing) {\r\n var now = perf.now() + perf.timing.navigationStart;\r\n // Known issue with IE where this calculation can be negative, so if it is then ignore and fallback\r\n if (now > 0) {\r\n return now;\r\n }\r\n }\r\n return dateNow();\r\n}\r\nexport function dateTimeUtilsDuration(start, end) {\r\n var result = null;\r\n if (start !== 0 && end !== 0 && !isNullOrUndefined(start) && !isNullOrUndefined(end)) {\r\n result = end - start;\r\n }\r\n return result;\r\n}\r\n/**\r\n * A utility class that helps getting time related parameters\r\n */\r\nexport var DateTimeUtils = {\r\n Now: dateTimeUtilsNow,\r\n GetDuration: dateTimeUtilsDuration\r\n};\r\n/**\r\n * Creates a IDistributedTraceContext from an optional telemetryTrace\r\n * @param telemetryTrace - The telemetryTrace instance that is being wrapped\r\n * @param parentCtx - An optional parent distributed trace instance, almost always undefined as this scenario is only used in the case of multiple property handlers.\r\n * @returns A new IDistributedTraceContext instance that is backed by the telemetryTrace or temporary object\r\n */\r\nexport function createDistributedTraceContextFromTrace(telemetryTrace, parentCtx) {\r\n var trace = telemetryTrace || {};\r\n return {\r\n getName: function () {\r\n return trace[_DYN_NAME /* @min:%2ename */];\r\n },\r\n setName: function (newValue) {\r\n parentCtx && parentCtx.setName(newValue);\r\n trace[_DYN_NAME /* @min:%2ename */] = newValue;\r\n },\r\n getTraceId: function () {\r\n return trace.traceID;\r\n },\r\n setTraceId: function (newValue) {\r\n parentCtx && parentCtx.setTraceId(newValue);\r\n if (isValidTraceId(newValue)) {\r\n trace.traceID = newValue;\r\n }\r\n },\r\n getSpanId: function () {\r\n return trace.parentID;\r\n },\r\n setSpanId: function (newValue) {\r\n parentCtx && parentCtx.setSpanId(newValue);\r\n if (isValidSpanId(newValue)) {\r\n trace.parentID = newValue;\r\n }\r\n },\r\n getTraceFlags: function () {\r\n return trace.traceFlags;\r\n },\r\n setTraceFlags: function (newTraceFlags) {\r\n parentCtx && parentCtx.setTraceFlags(newTraceFlags);\r\n trace.traceFlags = newTraceFlags;\r\n }\r\n };\r\n}\r\n","/*\n * Application Insights JavaScript SDK - Common, 2.8.15\n * Copyright (c) Microsoft and contributors. All rights reserved.\n */\n\r\n\r\n// @skip-file-minify\r\n// ##############################################################\r\n// AUTO GENERATED FILE: This file is Auto Generated during build.\r\n// ##############################################################\r\n// !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!\r\n// Note: DON'T Export these const from the package as we are still targeting ES3 this will export a mutable variables that someone could change!!!\r\n// !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!\r\nexport var _DYN_SPLIT = \"split\"; // Count: 6\r\nexport var _DYN_LENGTH = \"length\"; // Count: 41\r\nexport var _DYN_TO_LOWER_CASE = \"toLowerCase\"; // Count: 6\r\nexport var _DYN_INGESTIONENDPOINT = \"ingestionendpoint\"; // Count: 4\r\nexport var _DYN_TO_STRING = \"toString\"; // Count: 12\r\nexport var _DYN_REMOVE_ITEM = \"removeItem\"; // Count: 3\r\nexport var _DYN_NAME = \"name\"; // Count: 11\r\nexport var _DYN_MESSAGE = \"message\"; // Count: 10\r\nexport var _DYN_COUNT = \"count\"; // Count: 8\r\nexport var _DYN_PRE_TRIGGER_DATE = \"preTriggerDate\"; // Count: 4\r\nexport var _DYN_DISABLED = \"disabled\"; // Count: 3\r\nexport var _DYN_INTERVAL = \"interval\"; // Count: 3\r\nexport var _DYN_DAYS_OF_MONTH = \"daysOfMonth\"; // Count: 3\r\nexport var _DYN_DATE = \"date\"; // Count: 5\r\nexport var _DYN_GET_UTCDATE = \"getUTCDate\"; // Count: 3\r\nexport var _DYN_STRINGIFY = \"stringify\"; // Count: 4\r\nexport var _DYN_PATHNAME = \"pathname\"; // Count: 4\r\nexport var _DYN_CORRELATION_HEADER_E0 = \"correlationHeaderExcludePatterns\"; // Count: 2\r\nexport var _DYN_INDEX_OF = \"indexOf\"; // Count: 4\r\nexport var _DYN_EXTENSION_CONFIG = \"extensionConfig\"; // Count: 4\r\nexport var _DYN_EXCEPTIONS = \"exceptions\"; // Count: 6\r\nexport var _DYN_PARSED_STACK = \"parsedStack\"; // Count: 13\r\nexport var _DYN_PROPERTIES = \"properties\"; // Count: 9\r\nexport var _DYN_MEASUREMENTS = \"measurements\"; // Count: 9\r\nexport var _DYN_SIZE_IN_BYTES = \"sizeInBytes\"; // Count: 11\r\nexport var _DYN_TYPE_NAME = \"typeName\"; // Count: 11\r\nexport var _DYN_SEVERITY_LEVEL = \"severityLevel\"; // Count: 5\r\nexport var _DYN_PROBLEM_GROUP = \"problemGroup\"; // Count: 3\r\nexport var _DYN_IS_MANUAL = \"isManual\"; // Count: 3\r\nexport var _DYN__CREATE_FROM_INTERFA1 = \"CreateFromInterface\"; // Count: 2\r\nexport var _DYN_ASSEMBLY = \"assembly\"; // Count: 7\r\nexport var _DYN_FILE_NAME = \"fileName\"; // Count: 8\r\nexport var _DYN_HAS_FULL_STACK = \"hasFullStack\"; // Count: 6\r\nexport var _DYN_LEVEL = \"level\"; // Count: 5\r\nexport var _DYN_METHOD = \"method\"; // Count: 7\r\nexport var _DYN_LINE = \"line\"; // Count: 6\r\nexport var _DYN_DURATION = \"duration\"; // Count: 4\r\nexport var _DYN_RECEIVED_RESPONSE = \"receivedResponse\"; // Count: 2\r\nexport var _DYN_SUBSTRING = \"substring\"; // Count: 6\r\nexport var _DYN_SANITIZE_KEY_AND_ADD2 = \"sanitizeKeyAndAddUniqueness\"; // Count: 2\r\nexport var _DYN_SANITIZE_EXCEPTION = \"sanitizeException\"; // Count: 2\r\nexport var _DYN_SANITIZE_PROPERTIES = \"sanitizeProperties\"; // Count: 2\r\nexport var _DYN_SANITIZE_MEASUREMENT3 = \"sanitizeMeasurements\"; // Count: 2\r\n","/*\n * Application Insights JavaScript SDK - Common, 2.8.15\n * Copyright (c) Microsoft and contributors. All rights reserved.\n */\n\r\n// Licensed under the\r\nexport { Util, CorrelationIdHelper, DateTimeUtils, dateTimeUtilsNow, dateTimeUtilsDuration, UrlHelper, isInternalApplicationInsightsEndpoint, createDistributedTraceContextFromTrace } from \"./Util\";\r\nexport { ThrottleMgr } from \"./ThrottleMgr\";\r\nexport { parseConnectionString, ConnectionStringParser } from \"./ConnectionStringParser\";\r\nexport { RequestHeaders } from \"./RequestResponseHeaders\";\r\nexport { DisabledPropertyName, ProcessLegacy, SampleRate, HttpMethod, DEFAULT_BREEZE_ENDPOINT, DEFAULT_BREEZE_PATH, strNotSpecified } from \"./Constants\";\r\nexport { Envelope } from \"./Telemetry/Common/Envelope\";\r\nexport { Event } from \"./Telemetry/Event\";\r\nexport { Exception } from \"./Telemetry/Exception\";\r\nexport { Metric } from \"./Telemetry/Metric\";\r\nexport { PageView } from \"./Telemetry/PageView\";\r\nexport { RemoteDependencyData } from \"./Telemetry/RemoteDependencyData\";\r\nexport { Trace } from \"./Telemetry/Trace\";\r\nexport { PageViewPerformance } from \"./Telemetry/PageViewPerformance\";\r\nexport { Data } from \"./Telemetry/Common/Data\";\r\nexport { SeverityLevel } from \"./Interfaces/Contracts/SeverityLevel\";\r\nexport { ConfigurationManager } from \"./Interfaces/IConfig\";\r\nexport { ContextTagKeys } from \"./Interfaces/Contracts/ContextTagKeys\";\r\nexport { DataSanitizer, dataSanitizeKeyAndAddUniqueness, dataSanitizeKey, dataSanitizeString, dataSanitizeUrl, dataSanitizeMessage, dataSanitizeException, dataSanitizeProperties, dataSanitizeMeasurements, dataSanitizeId, dataSanitizeInput, dsPadNumber } from \"./Telemetry/Common/DataSanitizer\";\r\nexport { TelemetryItemCreator, createTelemetryItem } from \"./TelemetryItemCreator\";\r\nexport { CtxTagKeys, Extensions } from \"./Interfaces/PartAExtensions\";\r\nexport { DistributedTracingModes } from \"./Enums\";\r\nexport { stringToBoolOrDefault, msToTimeSpan, getExtensionByName, isCrossOriginError } from \"./HelperFuncs\";\r\nexport { isBeaconsSupported as isBeaconApiSupported, createTraceParent, parseTraceParent, isValidTraceId, isValidSpanId, isValidTraceParent, isSampledFlag, formatTraceParent, findW3cTraceParent } from \"@microsoft/applicationinsights-core-js\";\r\nexport { createDomEvent } from \"./DomHelperFuncs\";\r\nexport { utlDisableStorage, utlEnableStorage, utlCanUseLocalStorage, utlGetLocalStorage, utlSetLocalStorage, utlRemoveStorage, utlCanUseSessionStorage, utlGetSessionStorageKeys, utlGetSessionStorage, utlSetSessionStorage, utlRemoveSessionStorage, utlSetStoragePrefix } from \"./StorageHelperFuncs\";\r\nexport { urlParseUrl, urlGetAbsoluteUrl, urlGetPathName, urlGetCompleteUrl, urlParseHost, urlParseFullHost } from \"./UrlHelperFuncs\";\r\nexport var PropertiesPluginIdentifier = \"AppInsightsPropertiesPlugin\";\r\nexport var BreezeChannelIdentifier = \"AppInsightsChannelPlugin\";\r\nexport var AnalyticsPluginIdentifier = \"ApplicationInsightsAnalytics\";\r\n","/*\n * Application Insights JavaScript SDK - Core, 2.8.15\n * Copyright (c) Microsoft and contributors. All rights reserved.\n */\n\r\n\r\nimport { deepFreeze, objForEachKey } from \"../JavaScriptSDK/HelperFuncs\";\r\n/**\r\n * Create an enum style object which has both the key => value and value => key mappings\r\n * @param values - The values to populate on the new object\r\n * @returns\r\n */\r\nexport function createEnumStyle(values) {\r\n var enumClass = {};\r\n objForEachKey(values, function (field, value) {\r\n enumClass[field] = value;\r\n enumClass[value] = field;\r\n });\r\n return deepFreeze(enumClass);\r\n}\r\n/**\r\n * Create a 2 index map that maps an enum's key as both the key and value, X[\"key\"] => \"key\" and X[0] => \"keyof 0\".\r\n * @param values - The values to populate on the new object\r\n * @returns\r\n */\r\nexport function createEnumMap(values) {\r\n var mapClass = {};\r\n objForEachKey(values, function (field, value) {\r\n mapClass[field] = field;\r\n mapClass[value] = field;\r\n });\r\n return deepFreeze(mapClass);\r\n}\r\n/**\r\n * Create a 2 index map that maps an enum's key and value to the defined map value, X[\"key\"] => mapValue and X[0] => mapValue.\r\n * Generic values\r\n * - E = the const enum type (typeof eRequestHeaders);\r\n * - V = Identifies the valid values for the keys, this should include both the enum numeric and string key of the type. The\r\n * resulting \"Value\" of each entry identifies the valid values withing the assignments.\r\n * @param values - The values to populate on the new object\r\n * @returns\r\n */\r\nexport function createValueMap(values) {\r\n var mapClass = {};\r\n objForEachKey(values, function (field, value) {\r\n mapClass[field] = value[1];\r\n mapClass[value[0]] = value[1];\r\n });\r\n return deepFreeze(mapClass);\r\n}\r\n","/*\n * Application Insights JavaScript SDK - Core, 2.8.15\n * Copyright (c) Microsoft and contributors. All rights reserved.\n */\nimport { __extendsFn as __extends } from \"@microsoft/applicationinsights-shims\";\r\n\r\n\r\nimport dynamicProto from \"@microsoft/dynamicproto-js\";\r\nimport { _DYN_GET_NOTIFY_MGR, _DYN_INITIALIZE, _DYN_NAME } from \"../__DynamicConstants\";\r\nimport { BaseCore } from \"./BaseCore\";\r\nimport { DiagnosticLogger } from \"./DiagnosticLogger\";\r\nimport { isNullOrUndefined, throwError } from \"./HelperFuncs\";\r\nimport { STR_EVENTS_DISCARDED, STR_GET_PERF_MGR } from \"./InternalConstants\";\r\nimport { NotificationManager } from \"./NotificationManager\";\r\nimport { doPerf } from \"./PerfManager\";\r\nvar AppInsightsCore = /** @class */ (function (_super) {\r\n __extends(AppInsightsCore, _super);\r\n function AppInsightsCore() {\r\n var _this = _super.call(this) || this;\r\n dynamicProto(AppInsightsCore, _this, function (_self, _base) {\r\n _self[_DYN_INITIALIZE /* @min:%2einitialize */] = function (config, extensions, logger, notificationManager) {\r\n _base[_DYN_INITIALIZE /* @min:%2einitialize */](config, extensions, logger || new DiagnosticLogger(config), notificationManager || new NotificationManager(config));\r\n };\r\n _self.track = function (telemetryItem) {\r\n doPerf(_self[STR_GET_PERF_MGR /* @min:%2egetPerfMgr */](), function () { return \"AppInsightsCore:track\"; }, function () {\r\n if (telemetryItem === null) {\r\n _notifyInvalidEvent(telemetryItem);\r\n // throw error\r\n throwError(\"Invalid telemetry item\");\r\n }\r\n // do basic validation before sending it through the pipeline\r\n _validateTelemetryItem(telemetryItem);\r\n _base.track(telemetryItem);\r\n }, function () { return ({ item: telemetryItem }); }, !(telemetryItem.sync));\r\n };\r\n function _validateTelemetryItem(telemetryItem) {\r\n if (isNullOrUndefined(telemetryItem[_DYN_NAME /* @min:%2ename */])) {\r\n _notifyInvalidEvent(telemetryItem);\r\n throwError(\"telemetry name required\");\r\n }\r\n }\r\n function _notifyInvalidEvent(telemetryItem) {\r\n var manager = _self[_DYN_GET_NOTIFY_MGR /* @min:%2egetNotifyMgr */]();\r\n if (manager) {\r\n manager[STR_EVENTS_DISCARDED /* @min:%2eeventsDiscarded */]([telemetryItem], 2 /* eEventsDiscardedReason.InvalidEvent */);\r\n }\r\n }\r\n });\r\n return _this;\r\n }\r\n// Removed Stub for AppInsightsCore.prototype.initialize.\r\n// Removed Stub for AppInsightsCore.prototype.track.\r\n // This is a workaround for an IE8 bug when using dynamicProto() with classes that don't have any\n // non-dynamic functions or static properties/functions when using uglify-js to minify the resulting code.\n // this will be removed when ES3 support is dropped.\n AppInsightsCore.__ieDyn=1;\n\n return AppInsightsCore;\r\n}(BaseCore));\r\nexport { AppInsightsCore };\r\n","/*\n * Application Insights JavaScript SDK - Core, 2.8.15\n * Copyright (c) Microsoft and contributors. All rights reserved.\n */\n\r\n\r\n\"use strict\";\r\nimport { __spreadArrayFn as __spreadArray } from \"@microsoft/applicationinsights-shims\";\r\nimport dynamicProto from \"@microsoft/dynamicproto-js\";\r\nimport { objCreateFn } from \"@microsoft/applicationinsights-shims\";\r\nimport { _DYN_ADD_NOTIFICATION_LIS1, _DYN_CONFIG, _DYN_FLUSH, _DYN_GET_NOTIFY_MGR, _DYN_GET_PLUGIN, _DYN_GET_PROCESS_TEL_CONT0, _DYN_IDENTIFIER, _DYN_INITIALIZE, _DYN_INSTRUMENTATION_KEY, _DYN_IS_ASYNC, _DYN_IS_INITIALIZED, _DYN_LENGTH, _DYN_LOGGER, _DYN_MESSAGE, _DYN_MESSAGE_ID, _DYN_NAME, _DYN_ON_COMPLETE, _DYN_PROCESS_NEXT, _DYN_PUSH, _DYN_REMOVE_NOTIFICATION_2, _DYN_SET_ENABLED, _DYN_SPLICE, _DYN_STOP_POLLING_INTERNA3, _DYN_TEARDOWN, _DYN_TIME, _DYN__EXTENSIONS } from \"../__DynamicConstants\";\r\nimport { ChannelControllerPriority, createChannelControllerPlugin, createChannelQueues } from \"./ChannelController\";\r\nimport { createCookieMgr } from \"./CookieMgr\";\r\nimport { createUniqueNamespace } from \"./DataCacheHelper\";\r\nimport { getDebugListener } from \"./DbgExtensionUtils\";\r\nimport { DiagnosticLogger, _InternalLogMessage, _throwInternal, _warnToConsole } from \"./DiagnosticLogger\";\r\nimport { arrForEach, arrIndexOf, getCfgValue, getSetValue, isFunction, isNullOrUndefined, objExtend, objFreeze, proxyFunctionAs, proxyFunctions, throwError, toISOString } from \"./HelperFuncs\";\r\nimport { STR_CHANNELS, STR_CORE, STR_CREATE_PERF_MGR, STR_DISABLED, STR_EVENTS_DISCARDED, STR_EVENTS_SEND_REQUEST, STR_EVENTS_SENT, STR_EXTENSIONS, STR_EXTENSION_CONFIG, STR_GET_PERF_MGR, STR_PRIORITY } from \"./InternalConstants\";\r\nimport { PerfManager, getGblPerfMgr } from \"./PerfManager\";\r\nimport { createProcessTelemetryContext, createProcessTelemetryUnloadContext, createProcessTelemetryUpdateContext, createTelemetryProxyChain } from \"./ProcessTelemetryContext\";\r\nimport { _getPluginState, createDistributedTraceContext, initializePlugins, sortPlugins } from \"./TelemetryHelpers\";\r\nimport { TelemetryInitializerPlugin } from \"./TelemetryInitializerPlugin\";\r\nimport { createUnloadHandlerContainer } from \"./UnloadHandlerContainer\";\r\nvar strValidationError = \"Plugins must provide initialize method\";\r\nvar strNotificationManager = \"_notificationManager\";\r\nvar strSdkUnloadingError = \"SDK is still unloading...\";\r\nvar strSdkNotInitialized = \"SDK is not initialized\";\r\n// const strPluginUnloadFailed = \"Failed to unload plugin\";\r\nvar defaultInitConfig = {\r\n // Have the Diagnostic Logger default to log critical errors to the console\r\n loggingLevelConsole: 1 /* eLoggingSeverity.CRITICAL */\r\n};\r\n/**\r\n * Helper to create the default performance manager\r\n * @param core\r\n * @param notificationMgr\r\n */\r\nfunction _createPerfManager(core, notificationMgr) {\r\n return new PerfManager(notificationMgr);\r\n}\r\nfunction _validateExtensions(logger, channelPriority, allExtensions) {\r\n var _a;\r\n // Concat all available extensions\r\n var coreExtensions = [];\r\n // Check if any two extensions have the same priority, then warn to console\r\n // And extract the local extensions from the\r\n var extPriorities = {};\r\n // Extension validation\r\n arrForEach(allExtensions, function (ext) {\r\n // Check for ext.initialize\r\n if (isNullOrUndefined(ext) || isNullOrUndefined(ext[_DYN_INITIALIZE /* @min:%2einitialize */])) {\r\n throwError(strValidationError);\r\n }\r\n var extPriority = ext[STR_PRIORITY /* @min:%2epriority */];\r\n var identifier = ext[_DYN_IDENTIFIER /* @min:%2eidentifier */];\r\n if (ext && extPriority) {\r\n if (!isNullOrUndefined(extPriorities[extPriority])) {\r\n _warnToConsole(logger, \"Two extensions have same priority #\" + extPriority + \" - \" + extPriorities[extPriority] + \", \" + identifier);\r\n }\r\n else {\r\n // set a value\r\n extPriorities[extPriority] = identifier;\r\n }\r\n }\r\n // Split extensions to core and channelController\r\n if (!extPriority || extPriority < channelPriority) {\r\n // Add to core extension that will be managed by BaseCore\r\n coreExtensions[_DYN_PUSH /* @min:%2epush */](ext);\r\n }\r\n });\r\n return _a = {\r\n all: allExtensions\r\n },\r\n _a[STR_CORE /* @min:core */] = coreExtensions,\r\n _a;\r\n}\r\nfunction _isPluginPresent(thePlugin, plugins) {\r\n var exists = false;\r\n arrForEach(plugins, function (plugin) {\r\n if (plugin === thePlugin) {\r\n exists = true;\r\n return -1;\r\n }\r\n });\r\n return exists;\r\n}\r\nfunction _createDummyNotificationManager() {\r\n var _a;\r\n return objCreateFn((_a = {},\r\n _a[_DYN_ADD_NOTIFICATION_LIS1 /* @min:addNotificationListener */] = function (listener) { },\r\n _a[_DYN_REMOVE_NOTIFICATION_2 /* @min:removeNotificationListener */] = function (listener) { },\r\n _a[STR_EVENTS_SENT /* @min:eventsSent */] = function (events) { },\r\n _a[STR_EVENTS_DISCARDED /* @min:eventsDiscarded */] = function (events, reason) { },\r\n _a[STR_EVENTS_SEND_REQUEST /* @min:eventsSendRequest */] = function (sendReason, isAsync) { },\r\n _a));\r\n}\r\nvar BaseCore = /** @class */ (function () {\r\n function BaseCore() {\r\n // NOTE!: DON'T set default values here, instead set them in the _initDefaults() function as it is also called during teardown()\r\n var _config;\r\n var _isInitialized;\r\n var _eventQueue;\r\n var _notificationManager;\r\n var _perfManager;\r\n var _cfgPerfManager;\r\n var _cookieManager;\r\n var _pluginChain;\r\n var _configExtensions;\r\n var _coreExtensions;\r\n var _channelControl;\r\n var _channelConfig;\r\n var _channelQueue;\r\n var _isUnloading;\r\n var _telemetryInitializerPlugin;\r\n var _internalLogsEventName;\r\n var _evtNamespace;\r\n var _unloadHandlers;\r\n var _debugListener;\r\n var _traceCtx;\r\n /**\r\n * Internal log poller\r\n */\r\n var _internalLogPoller = 0;\r\n var _forceStopInternalLogPoller = false;\r\n dynamicProto(BaseCore, this, function (_self) {\r\n // Set the default values (also called during teardown)\r\n _initDefaults();\r\n _self[_DYN_IS_INITIALIZED /* @min:%2eisInitialized */] = function () { return _isInitialized; };\r\n // Creating the self.initialize = ()\r\n _self[_DYN_INITIALIZE /* @min:%2einitialize */] = function (config, extensions, logger, notificationManager) {\r\n if (_isUnloading) {\r\n throwError(strSdkUnloadingError);\r\n }\r\n // Make sure core is only initialized once\r\n if (_self[_DYN_IS_INITIALIZED /* @min:%2eisInitialized */]()) {\r\n throwError(\"Core should not be initialized more than once\");\r\n }\r\n _config = config || {};\r\n _self[_DYN_CONFIG /* @min:%2econfig */] = _config;\r\n if (isNullOrUndefined(config[_DYN_INSTRUMENTATION_KEY /* @min:%2einstrumentationKey */])) {\r\n throwError(\"Please provide instrumentation key\");\r\n }\r\n _notificationManager = notificationManager;\r\n // For backward compatibility only\r\n _self[strNotificationManager] = notificationManager;\r\n _initDebugListener();\r\n _initPerfManager();\r\n // add notification to the extensions in the config so other plugins can access it\r\n _initExtConfig();\r\n if (logger) {\r\n _self[_DYN_LOGGER /* @min:%2elogger */] = logger;\r\n }\r\n var cfgExtensions = getSetValue(_config, STR_EXTENSIONS, []);\r\n // Extension validation\r\n _configExtensions = [];\r\n _configExtensions[_DYN_PUSH /* @min:%2epush */].apply(_configExtensions, __spreadArray(__spreadArray([], extensions, false), cfgExtensions, false));\r\n _channelConfig = getSetValue(_config, STR_CHANNELS, []);\r\n _initPluginChain(null);\r\n if (!_channelQueue || _channelQueue[_DYN_LENGTH /* @min:%2elength */] === 0) {\r\n throwError(\"No \" + STR_CHANNELS + \" available\");\r\n }\r\n _isInitialized = true;\r\n _self.releaseQueue();\r\n };\r\n _self.getTransmissionControls = function () {\r\n var controls = [];\r\n if (_channelQueue) {\r\n arrForEach(_channelQueue, function (channels) {\r\n controls[_DYN_PUSH /* @min:%2epush */](channels.queue);\r\n });\r\n }\r\n return objFreeze(controls);\r\n };\r\n _self.track = function (telemetryItem) {\r\n // setup default iKey if not passed in\r\n telemetryItem.iKey = telemetryItem.iKey || _config[_DYN_INSTRUMENTATION_KEY /* @min:%2einstrumentationKey */];\r\n // add default timestamp if not passed in\r\n telemetryItem[_DYN_TIME /* @min:%2etime */] = telemetryItem[_DYN_TIME /* @min:%2etime */] || toISOString(new Date());\r\n // Common Schema 4.0\r\n telemetryItem.ver = telemetryItem.ver || \"4.0\";\r\n if (!_isUnloading && _self[_DYN_IS_INITIALIZED /* @min:%2eisInitialized */]()) {\r\n // Process the telemetry plugin chain\r\n _createTelCtx()[_DYN_PROCESS_NEXT /* @min:%2eprocessNext */](telemetryItem);\r\n }\r\n else {\r\n // Queue events until all extensions are initialized\r\n _eventQueue[_DYN_PUSH /* @min:%2epush */](telemetryItem);\r\n }\r\n };\r\n _self[_DYN_GET_PROCESS_TEL_CONT0 /* @min:%2egetProcessTelContext */] = _createTelCtx;\r\n _self[_DYN_GET_NOTIFY_MGR /* @min:%2egetNotifyMgr */] = function () {\r\n if (!_notificationManager) {\r\n // Create Dummy notification manager\r\n _notificationManager = _createDummyNotificationManager();\r\n // For backward compatibility only\r\n _self[strNotificationManager] = _notificationManager;\r\n }\r\n return _notificationManager;\r\n };\r\n /**\r\n * Adds a notification listener. The SDK calls methods on the listener when an appropriate notification is raised.\r\n * The added plugins must raise notifications. If the plugins do not implement the notifications, then no methods will be\r\n * called.\r\n * @param {INotificationListener} listener - An INotificationListener object.\r\n */\r\n _self[_DYN_ADD_NOTIFICATION_LIS1 /* @min:%2eaddNotificationListener */] = function (listener) {\r\n if (_notificationManager) {\r\n _notificationManager[_DYN_ADD_NOTIFICATION_LIS1 /* @min:%2eaddNotificationListener */](listener);\r\n }\r\n };\r\n /**\r\n * Removes all instances of the listener.\r\n * @param {INotificationListener} listener - INotificationListener to remove.\r\n */\r\n _self[_DYN_REMOVE_NOTIFICATION_2 /* @min:%2eremoveNotificationListener */] = function (listener) {\r\n if (_notificationManager) {\r\n _notificationManager[_DYN_REMOVE_NOTIFICATION_2 /* @min:%2eremoveNotificationListener */](listener);\r\n }\r\n };\r\n _self.getCookieMgr = function () {\r\n if (!_cookieManager) {\r\n _cookieManager = createCookieMgr(_config, _self[_DYN_LOGGER /* @min:%2elogger */]);\r\n }\r\n return _cookieManager;\r\n };\r\n _self.setCookieMgr = function (cookieMgr) {\r\n _cookieManager = cookieMgr;\r\n };\r\n _self[STR_GET_PERF_MGR /* @min:%2egetPerfMgr */] = function () {\r\n if (!_perfManager && !_cfgPerfManager) {\r\n if (getCfgValue(_config.enablePerfMgr)) {\r\n var createPerfMgr = getCfgValue(_config[STR_CREATE_PERF_MGR /* @min:%2ecreatePerfMgr */]);\r\n if (isFunction(createPerfMgr)) {\r\n _cfgPerfManager = createPerfMgr(_self, _self[_DYN_GET_NOTIFY_MGR /* @min:%2egetNotifyMgr */]());\r\n }\r\n }\r\n }\r\n return _perfManager || _cfgPerfManager || getGblPerfMgr();\r\n };\r\n _self.setPerfMgr = function (perfMgr) {\r\n _perfManager = perfMgr;\r\n };\r\n _self.eventCnt = function () {\r\n return _eventQueue[_DYN_LENGTH /* @min:%2elength */];\r\n };\r\n _self.releaseQueue = function () {\r\n if (_isInitialized && _eventQueue[_DYN_LENGTH /* @min:%2elength */] > 0) {\r\n var eventQueue = _eventQueue;\r\n _eventQueue = [];\r\n arrForEach(eventQueue, function (event) {\r\n _createTelCtx()[_DYN_PROCESS_NEXT /* @min:%2eprocessNext */](event);\r\n });\r\n }\r\n };\r\n _self.pollInternalLogs = function (eventName) {\r\n _internalLogsEventName = eventName || null;\r\n _forceStopInternalLogPoller = false;\r\n if (_internalLogPoller) {\r\n clearInterval(_internalLogPoller);\r\n _internalLogPoller = null;\r\n }\r\n return _startInternalLogTimer(true);\r\n };\r\n function _startInternalLogTimer(alwaysStart) {\r\n if (!_internalLogPoller && !_forceStopInternalLogPoller) {\r\n var shouldStart = alwaysStart || (_self[_DYN_LOGGER /* @min:%2elogger */] && _self[_DYN_LOGGER /* @min:%2elogger */].queue[_DYN_LENGTH /* @min:%2elength */] > 0);\r\n if (shouldStart) {\r\n var interval = getCfgValue(_config.diagnosticLogInterval);\r\n if (!interval || !(interval > 0)) {\r\n interval = 10000;\r\n }\r\n // Keeping as an interval timer for backward compatibility as it returns the result\r\n _internalLogPoller = setInterval(function () {\r\n clearInterval(_internalLogPoller);\r\n _internalLogPoller = 0;\r\n _flushInternalLogs();\r\n }, interval);\r\n }\r\n }\r\n return _internalLogPoller;\r\n }\r\n _self[_DYN_STOP_POLLING_INTERNA3 /* @min:%2estopPollingInternalLogs */] = function () {\r\n _forceStopInternalLogPoller = true;\r\n if (_internalLogPoller) {\r\n clearInterval(_internalLogPoller);\r\n _internalLogPoller = 0;\r\n _flushInternalLogs();\r\n }\r\n };\r\n // Add addTelemetryInitializer\r\n proxyFunctions(_self, function () { return _telemetryInitializerPlugin; }, [\"addTelemetryInitializer\"]);\r\n _self.unload = function (isAsync, unloadComplete, cbTimeout) {\r\n var _a;\r\n if (isAsync === void 0) { isAsync = true; }\r\n if (!_isInitialized) {\r\n // The SDK is not initialized\r\n throwError(strSdkNotInitialized);\r\n }\r\n // Check if the SDK still unloading so throw\r\n if (_isUnloading) {\r\n // The SDK is already unloading\r\n throwError(strSdkUnloadingError);\r\n }\r\n var unloadState = (_a = {\r\n reason: 50 /* TelemetryUnloadReason.SdkUnload */\r\n },\r\n _a[_DYN_IS_ASYNC /* @min:isAsync */] = isAsync,\r\n _a.flushComplete = false,\r\n _a);\r\n var processUnloadCtx = createProcessTelemetryUnloadContext(_getPluginChain(), _self);\r\n processUnloadCtx[_DYN_ON_COMPLETE /* @min:%2eonComplete */](function () {\r\n _initDefaults();\r\n unloadComplete && unloadComplete(unloadState);\r\n }, _self);\r\n function _doUnload(flushComplete) {\r\n unloadState.flushComplete = flushComplete;\r\n _isUnloading = true;\r\n // Run all of the unload handlers first (before unloading the plugins)\r\n _unloadHandlers.run(processUnloadCtx, unloadState);\r\n // Stop polling the internal logs\r\n _self[_DYN_STOP_POLLING_INTERNA3 /* @min:%2estopPollingInternalLogs */]();\r\n // Start unloading the components, from this point onwards the SDK should be considered to be in an unstable state\r\n processUnloadCtx[_DYN_PROCESS_NEXT /* @min:%2eprocessNext */](unloadState);\r\n }\r\n _flushInternalLogs();\r\n if (!_flushChannels(isAsync, _doUnload, 6 /* SendRequestReason.SdkUnload */, cbTimeout)) {\r\n _doUnload(false);\r\n }\r\n };\r\n _self[_DYN_GET_PLUGIN /* @min:%2egetPlugin */] = _getPlugin;\r\n _self.addPlugin = function (plugin, replaceExisting, isAsync, addCb) {\r\n if (!plugin) {\r\n addCb && addCb(false);\r\n _logOrThrowError(strValidationError);\r\n return;\r\n }\r\n var existingPlugin = _getPlugin(plugin[_DYN_IDENTIFIER /* @min:%2eidentifier */]);\r\n if (existingPlugin && !replaceExisting) {\r\n addCb && addCb(false);\r\n _logOrThrowError(\"Plugin [\" + plugin[_DYN_IDENTIFIER /* @min:%2eidentifier */] + \"] is already loaded!\");\r\n return;\r\n }\r\n var updateState = {\r\n reason: 16 /* TelemetryUpdateReason.PluginAdded */\r\n };\r\n function _addPlugin(removed) {\r\n _configExtensions[_DYN_PUSH /* @min:%2epush */](plugin);\r\n updateState.added = [plugin];\r\n // Re-Initialize the plugin chain\r\n _initPluginChain(updateState);\r\n addCb && addCb(true);\r\n }\r\n if (existingPlugin) {\r\n var removedPlugins_1 = [existingPlugin.plugin];\r\n var unloadState = {\r\n reason: 2 /* TelemetryUnloadReason.PluginReplace */,\r\n isAsync: !!isAsync\r\n };\r\n _removePlugins(removedPlugins_1, unloadState, function (removed) {\r\n if (!removed) {\r\n // Previous plugin was successfully removed or was not installed\r\n addCb && addCb(false);\r\n }\r\n else {\r\n updateState.removed = removedPlugins_1;\r\n updateState.reason |= 32 /* TelemetryUpdateReason.PluginRemoved */;\r\n _addPlugin(true);\r\n }\r\n });\r\n }\r\n else {\r\n _addPlugin(false);\r\n }\r\n };\r\n _self.evtNamespace = function () {\r\n return _evtNamespace;\r\n };\r\n _self[_DYN_FLUSH /* @min:%2eflush */] = _flushChannels;\r\n _self.getTraceCtx = function (createNew) {\r\n if (!_traceCtx) {\r\n _traceCtx = createDistributedTraceContext();\r\n }\r\n return _traceCtx;\r\n };\r\n _self.setTraceCtx = function (traceCtx) {\r\n _traceCtx = traceCtx || null;\r\n };\r\n // Create the addUnloadCb\r\n proxyFunctionAs(_self, \"addUnloadCb\", function () { return _unloadHandlers; }, \"add\");\r\n function _initDefaults() {\r\n _isInitialized = false;\r\n // Use a default logger so initialization errors are not dropped on the floor with full logging\r\n _config = objExtend(true, {}, defaultInitConfig);\r\n _self[_DYN_CONFIG /* @min:%2econfig */] = _config;\r\n _self[_DYN_LOGGER /* @min:%2elogger */] = new DiagnosticLogger(_config);\r\n _self[_DYN__EXTENSIONS /* @min:%2e_extensions */] = [];\r\n _telemetryInitializerPlugin = new TelemetryInitializerPlugin();\r\n _eventQueue = [];\r\n _notificationManager = null;\r\n _perfManager = null;\r\n _cfgPerfManager = null;\r\n _cookieManager = null;\r\n _pluginChain = null;\r\n _coreExtensions = null;\r\n _configExtensions = [];\r\n _channelControl = null;\r\n _channelConfig = null;\r\n _channelQueue = null;\r\n _isUnloading = false;\r\n _internalLogsEventName = null;\r\n _evtNamespace = createUniqueNamespace(\"AIBaseCore\", true);\r\n _unloadHandlers = createUnloadHandlerContainer();\r\n _traceCtx = null;\r\n }\r\n function _createTelCtx() {\r\n var theCtx = createProcessTelemetryContext(_getPluginChain(), _config, _self);\r\n theCtx[_DYN_ON_COMPLETE /* @min:%2eonComplete */](_startInternalLogTimer);\r\n return theCtx;\r\n }\r\n // Initialize or Re-initialize the plugins\r\n function _initPluginChain(updateState) {\r\n // Extension validation\r\n var theExtensions = _validateExtensions(_self[_DYN_LOGGER /* @min:%2elogger */], ChannelControllerPriority, _configExtensions);\r\n _coreExtensions = theExtensions[STR_CORE /* @min:%2ecore */];\r\n _pluginChain = null;\r\n // Sort the complete set of extensions by priority\r\n var allExtensions = theExtensions.all;\r\n // Initialize the Channel Queues and the channel plugins first\r\n _channelQueue = objFreeze(createChannelQueues(_channelConfig, allExtensions, _self));\r\n if (_channelControl) {\r\n // During add / remove of a plugin this may get called again, so don't re-add if already present\r\n // But we also want the controller as the last, so remove if already present\r\n // And reusing the existing instance, just in case an installed plugin has a reference and\r\n // is using it.\r\n var idx = arrIndexOf(allExtensions, _channelControl);\r\n if (idx !== -1) {\r\n allExtensions[_DYN_SPLICE /* @min:%2esplice */](idx, 1);\r\n }\r\n idx = arrIndexOf(_coreExtensions, _channelControl);\r\n if (idx !== -1) {\r\n _coreExtensions[_DYN_SPLICE /* @min:%2esplice */](idx, 1);\r\n }\r\n _channelControl._setQueue(_channelQueue);\r\n }\r\n else {\r\n _channelControl = createChannelControllerPlugin(_channelQueue, _self);\r\n }\r\n // Add on \"channelController\" as the last \"plugin\"\r\n allExtensions[_DYN_PUSH /* @min:%2epush */](_channelControl);\r\n _coreExtensions[_DYN_PUSH /* @min:%2epush */](_channelControl);\r\n // Required to allow plugins to call core.getPlugin() during their own initialization\r\n _self[_DYN__EXTENSIONS /* @min:%2e_extensions */] = sortPlugins(allExtensions);\r\n // Initialize the controls\r\n _channelControl[_DYN_INITIALIZE /* @min:%2einitialize */](_config, _self, allExtensions);\r\n var initCtx = _createTelCtx();\r\n initializePlugins(initCtx, allExtensions);\r\n // Now reset the extensions to just those being managed by Basecore\r\n _self[_DYN__EXTENSIONS /* @min:%2e_extensions */] = objFreeze(sortPlugins(_coreExtensions || [])).slice();\r\n if (updateState) {\r\n _doUpdate(updateState);\r\n }\r\n }\r\n function _getPlugin(pluginIdentifier) {\r\n var _a;\r\n var theExt = null;\r\n var thePlugin = null;\r\n arrForEach(_self[_DYN__EXTENSIONS /* @min:%2e_extensions */], function (ext) {\r\n if (ext[_DYN_IDENTIFIER /* @min:%2eidentifier */] === pluginIdentifier && ext !== _channelControl && ext !== _telemetryInitializerPlugin) {\r\n thePlugin = ext;\r\n return -1;\r\n }\r\n });\r\n if (!thePlugin && _channelControl) {\r\n // Check the channel Controller\r\n thePlugin = _channelControl.getChannel(pluginIdentifier);\r\n }\r\n if (thePlugin) {\r\n theExt = (_a = {\r\n plugin: thePlugin\r\n },\r\n _a[_DYN_SET_ENABLED /* @min:setEnabled */] = function (enabled) {\r\n _getPluginState(thePlugin)[STR_DISABLED] = !enabled;\r\n },\r\n _a.isEnabled = function () {\r\n var pluginState = _getPluginState(thePlugin);\r\n return !pluginState[_DYN_TEARDOWN /* @min:%2eteardown */] && !pluginState[STR_DISABLED];\r\n },\r\n _a.remove = function (isAsync, removeCb) {\r\n var _a;\r\n if (isAsync === void 0) { isAsync = true; }\r\n var pluginsToRemove = [thePlugin];\r\n var unloadState = (_a = {\r\n reason: 1 /* TelemetryUnloadReason.PluginUnload */\r\n },\r\n _a[_DYN_IS_ASYNC /* @min:isAsync */] = isAsync,\r\n _a);\r\n _removePlugins(pluginsToRemove, unloadState, function (removed) {\r\n if (removed) {\r\n // Re-Initialize the plugin chain\r\n _initPluginChain({\r\n reason: 32 /* TelemetryUpdateReason.PluginRemoved */,\r\n removed: pluginsToRemove\r\n });\r\n }\r\n removeCb && removeCb(removed);\r\n });\r\n },\r\n _a);\r\n }\r\n return theExt;\r\n }\r\n function _getPluginChain() {\r\n if (!_pluginChain) {\r\n // copy the collection of extensions\r\n var extensions = (_coreExtensions || []).slice();\r\n // During add / remove this may get called again, so don't readd if already present\r\n if (arrIndexOf(extensions, _telemetryInitializerPlugin) === -1) {\r\n extensions[_DYN_PUSH /* @min:%2epush */](_telemetryInitializerPlugin);\r\n }\r\n _pluginChain = createTelemetryProxyChain(sortPlugins(extensions), _config, _self);\r\n }\r\n return _pluginChain;\r\n }\r\n function _removePlugins(thePlugins, unloadState, removeComplete) {\r\n if (thePlugins && thePlugins[_DYN_LENGTH /* @min:%2elength */] > 0) {\r\n var unloadChain = createTelemetryProxyChain(thePlugins, _config, _self);\r\n var unloadCtx = createProcessTelemetryUnloadContext(unloadChain, _self);\r\n unloadCtx[_DYN_ON_COMPLETE /* @min:%2eonComplete */](function () {\r\n var removed = false;\r\n // Remove the listed config extensions\r\n var newConfigExtensions = [];\r\n arrForEach(_configExtensions, function (plugin, idx) {\r\n if (!_isPluginPresent(plugin, thePlugins)) {\r\n newConfigExtensions[_DYN_PUSH /* @min:%2epush */](plugin);\r\n }\r\n else {\r\n removed = true;\r\n }\r\n });\r\n _configExtensions = newConfigExtensions;\r\n // Re-Create the channel config\r\n var newChannelConfig = [];\r\n if (_channelConfig) {\r\n arrForEach(_channelConfig, function (queue, idx) {\r\n var newQueue = [];\r\n arrForEach(queue, function (channel) {\r\n if (!_isPluginPresent(channel, thePlugins)) {\r\n newQueue[_DYN_PUSH /* @min:%2epush */](channel);\r\n }\r\n else {\r\n removed = true;\r\n }\r\n });\r\n newChannelConfig[_DYN_PUSH /* @min:%2epush */](newQueue);\r\n });\r\n _channelConfig = newChannelConfig;\r\n }\r\n removeComplete && removeComplete(removed);\r\n _startInternalLogTimer();\r\n });\r\n unloadCtx[_DYN_PROCESS_NEXT /* @min:%2eprocessNext */](unloadState);\r\n }\r\n else {\r\n removeComplete(false);\r\n }\r\n }\r\n function _flushInternalLogs() {\r\n if (_self[_DYN_LOGGER /* @min:%2elogger */] && _self[_DYN_LOGGER /* @min:%2elogger */].queue) {\r\n var queue = _self[_DYN_LOGGER /* @min:%2elogger */].queue.slice(0);\r\n _self[_DYN_LOGGER /* @min:%2elogger */].queue[_DYN_LENGTH /* @min:%2elength */] = 0;\r\n arrForEach(queue, function (logMessage) {\r\n var _a;\r\n var item = (_a = {},\r\n _a[_DYN_NAME /* @min:name */] = _internalLogsEventName ? _internalLogsEventName : \"InternalMessageId: \" + logMessage[_DYN_MESSAGE_ID /* @min:%2emessageId */],\r\n _a.iKey = getCfgValue(_config[_DYN_INSTRUMENTATION_KEY /* @min:%2einstrumentationKey */]),\r\n _a.time = toISOString(new Date()),\r\n _a.baseType = _InternalLogMessage.dataType,\r\n _a.baseData = { message: logMessage[_DYN_MESSAGE /* @min:%2emessage */] },\r\n _a);\r\n _self.track(item);\r\n });\r\n }\r\n }\r\n function _flushChannels(isAsync, callBack, sendReason, cbTimeout) {\r\n if (_channelControl) {\r\n return _channelControl[_DYN_FLUSH /* @min:%2eflush */](isAsync, callBack, sendReason || 6 /* SendRequestReason.SdkUnload */, cbTimeout);\r\n }\r\n callBack && callBack(false);\r\n return true;\r\n }\r\n function _initDebugListener() {\r\n var disableDbgExt = getCfgValue(_config.disableDbgExt);\r\n if (disableDbgExt === true && _debugListener) {\r\n // Remove any previously loaded debug listener\r\n _notificationManager[_DYN_REMOVE_NOTIFICATION_2 /* @min:%2eremoveNotificationListener */](_debugListener);\r\n _debugListener = null;\r\n }\r\n if (_notificationManager && !_debugListener && disableDbgExt !== true) {\r\n _debugListener = getDebugListener(_config);\r\n _notificationManager[_DYN_ADD_NOTIFICATION_LIS1 /* @min:%2eaddNotificationListener */](_debugListener);\r\n }\r\n }\r\n function _initPerfManager() {\r\n var enablePerfMgr = getCfgValue(_config.enablePerfMgr);\r\n if (!enablePerfMgr && _cfgPerfManager) {\r\n // Remove any existing config based performance manager\r\n _cfgPerfManager = null;\r\n }\r\n if (enablePerfMgr) {\r\n // Set the performance manager creation function if not defined\r\n getSetValue(_config, STR_CREATE_PERF_MGR, _createPerfManager);\r\n }\r\n }\r\n function _initExtConfig() {\r\n var extConfig = getSetValue(_config, STR_EXTENSION_CONFIG, {});\r\n extConfig.NotificationManager = _notificationManager;\r\n }\r\n function _doUpdate(updateState) {\r\n var updateCtx = createProcessTelemetryUpdateContext(_getPluginChain(), _self);\r\n updateCtx[_DYN_ON_COMPLETE /* @min:%2eonComplete */](_startInternalLogTimer);\r\n if (!_self._updateHook || _self._updateHook(updateCtx, updateState) !== true) {\r\n updateCtx[_DYN_PROCESS_NEXT /* @min:%2eprocessNext */](updateState);\r\n }\r\n }\r\n function _logOrThrowError(message) {\r\n var logger = _self[_DYN_LOGGER /* @min:%2elogger */];\r\n if (logger) {\r\n // there should always be a logger\r\n _throwInternal(logger, 2 /* eLoggingSeverity.WARNING */, 73 /* _eInternalMessageId.PluginException */, message);\r\n _startInternalLogTimer();\r\n }\r\n else {\r\n throwError(message);\r\n }\r\n }\r\n });\r\n }\r\n// Removed Stub for BaseCore.prototype.initialize.\r\n// Removed Stub for BaseCore.prototype.getTransmissionControls.\r\n// Removed Stub for BaseCore.prototype.track.\r\n// Removed Stub for BaseCore.prototype.getProcessTelContext.\r\n// Removed Stub for BaseCore.prototype.getNotifyMgr.\r\n// Removed Stub for BaseCore.prototype.addNotificationListener.\r\n// Removed Stub for BaseCore.prototype.removeNotificationListener.\r\n// Removed Stub for BaseCore.prototype.getCookieMgr.\r\n// Removed Stub for BaseCore.prototype.setCookieMgr.\r\n// Removed Stub for BaseCore.prototype.getPerfMgr.\r\n// Removed Stub for BaseCore.prototype.setPerfMgr.\r\n// Removed Stub for BaseCore.prototype.eventCnt.\r\n// Removed Stub for BaseCore.prototype.pollInternalLogs.\r\n// Removed Stub for BaseCore.prototype.stopPollingInternalLogs.\r\n// Removed Stub for BaseCore.prototype.addTelemetryInitializer.\r\n// Removed Stub for BaseCore.prototype.unload.\r\n// Removed Stub for BaseCore.prototype.getPlugin.\r\n// Removed Stub for BaseCore.prototype.addPlugin.\r\n// Removed Stub for BaseCore.prototype.evtNamespace.\r\n// Removed Stub for BaseCore.prototype.addUnloadCb.\r\n// Removed Stub for BaseCore.prototype.flush.\r\n// Removed Stub for BaseCore.prototype.getTraceCtx.\r\n// Removed Stub for BaseCore.prototype.setTraceCtx.\r\n// Removed Stub for BaseCore.prototype.releaseQueue.\r\n// Removed Stub for BaseCore.prototype._updateHook.\r\n // This is a workaround for an IE8 bug when using dynamicProto() with classes that don't have any\n // non-dynamic functions or static properties/functions when using uglify-js to minify the resulting code.\n // this will be removed when ES3 support is dropped.\n BaseCore.__ieDyn=1;\n\n return BaseCore;\r\n}());\r\nexport { BaseCore };\r\n","/*\n * Application Insights JavaScript SDK - Core, 2.8.15\n * Copyright (c) Microsoft and contributors. All rights reserved.\n */\n\r\n\r\n\"use strict\";\r\nimport dynamicProto from \"@microsoft/dynamicproto-js\";\r\nimport { _DYN_CREATE_NEW, _DYN_DIAG_LOG, _DYN_GET_NEXT, _DYN_GET_PROCESS_TEL_CONT0, _DYN_INITIALIZE, _DYN_IS_ASYNC, _DYN_IS_INITIALIZED, _DYN_PROCESS_NEXT, _DYN_PUSH, _DYN_SET_NEXT_PLUGIN, _DYN_TEARDOWN, _DYN_UPDATE, _DYN__DO_TEARDOWN } from \"../__DynamicConstants\";\r\nimport { arrForEach, isArray, isFunction, isNullOrUndefined, proxyFunctionAs, setValue } from \"./HelperFuncs\";\r\nimport { STR_CORE, STR_EXTENSION_CONFIG, STR_PROCESS_TELEMETRY } from \"./InternalConstants\";\r\nimport { createProcessTelemetryContext, createProcessTelemetryUnloadContext, createProcessTelemetryUpdateContext } from \"./ProcessTelemetryContext\";\r\nimport { createUnloadHandlerContainer } from \"./UnloadHandlerContainer\";\r\nvar strGetPlugin = \"getPlugin\";\r\n/**\r\n * BaseTelemetryPlugin provides a basic implementation of the ITelemetryPlugin interface so that plugins\r\n * can avoid implementation the same set of boiler plate code as well as provide a base\r\n * implementation so that new default implementations can be added without breaking all plugins.\r\n */\r\nvar BaseTelemetryPlugin = /** @class */ (function () {\r\n function BaseTelemetryPlugin() {\r\n var _self = this; // Setting _self here as it's used outside of the dynamicProto as well\r\n // NOTE!: DON'T set default values here, instead set them in the _initDefaults() function as it is also called during teardown()\r\n var _isinitialized;\r\n var _rootCtx; // Used as the root context, holding the current config and initialized core\r\n var _nextPlugin; // Used for backward compatibility where plugins don't call the main pipeline\r\n var _unloadHandlerContainer;\r\n var _hooks;\r\n _initDefaults();\r\n dynamicProto(BaseTelemetryPlugin, _self, function (_self) {\r\n _self[_DYN_INITIALIZE /* @min:%2einitialize */] = function (config, core, extensions, pluginChain) {\r\n _setDefaults(config, core, pluginChain);\r\n _isinitialized = true;\r\n };\r\n _self[_DYN_TEARDOWN /* @min:%2eteardown */] = function (unloadCtx, unloadState) {\r\n var _a;\r\n // If this plugin has already been torn down (not operational) or is not initialized (core is not set)\r\n // or the core being used for unload was not the same core used for initialization.\r\n var core = _self[STR_CORE /* @min:%2ecore */];\r\n if (!core || (unloadCtx && core !== unloadCtx[STR_CORE /* @min:%2ecore */]())) {\r\n // Do Nothing as either the plugin is not initialized or was not initialized by the current core\r\n return;\r\n }\r\n var result;\r\n var unloadDone = false;\r\n var theUnloadCtx = unloadCtx || createProcessTelemetryUnloadContext(null, core, _nextPlugin && _nextPlugin[strGetPlugin] ? _nextPlugin[strGetPlugin]() : _nextPlugin);\r\n var theUnloadState = unloadState || (_a = {\r\n reason: 0 /* TelemetryUnloadReason.ManualTeardown */\r\n },\r\n _a[_DYN_IS_ASYNC /* @min:isAsync */] = false,\r\n _a);\r\n function _unloadCallback() {\r\n if (!unloadDone) {\r\n unloadDone = true;\r\n _unloadHandlerContainer.run(theUnloadCtx, unloadState);\r\n var oldHooks = _hooks;\r\n _hooks = [];\r\n // Remove all instrumentation hooks\r\n arrForEach(oldHooks, function (fn) {\r\n fn.rm();\r\n });\r\n if (result === true) {\r\n theUnloadCtx[_DYN_PROCESS_NEXT /* @min:%2eprocessNext */](theUnloadState);\r\n }\r\n _initDefaults();\r\n }\r\n }\r\n if (!_self[_DYN__DO_TEARDOWN /* @min:%2e_doTeardown */] || _self[_DYN__DO_TEARDOWN /* @min:%2e_doTeardown */](theUnloadCtx, theUnloadState, _unloadCallback) !== true) {\r\n _unloadCallback();\r\n }\r\n else {\r\n // Tell the caller that we will be calling processNext()\r\n result = true;\r\n }\r\n return result;\r\n };\r\n _self[_DYN_UPDATE /* @min:%2eupdate */] = function (updateCtx, updateState) {\r\n // If this plugin has already been torn down (not operational) or is not initialized (core is not set)\r\n // or the core being used for unload was not the same core used for initialization.\r\n var core = _self[STR_CORE /* @min:%2ecore */];\r\n if (!core || (updateCtx && core !== updateCtx[STR_CORE /* @min:%2ecore */]())) {\r\n // Do Nothing\r\n return;\r\n }\r\n var result;\r\n var updateDone = false;\r\n var theUpdateCtx = updateCtx || createProcessTelemetryUpdateContext(null, core, _nextPlugin && _nextPlugin[strGetPlugin] ? _nextPlugin[strGetPlugin]() : _nextPlugin);\r\n var theUpdateState = updateState || {\r\n reason: 0 /* TelemetryUpdateReason.Unknown */\r\n };\r\n function _updateCallback() {\r\n if (!updateDone) {\r\n updateDone = true;\r\n _setDefaults(theUpdateCtx.getCfg(), theUpdateCtx.core(), theUpdateCtx[_DYN_GET_NEXT /* @min:%2egetNext */]());\r\n }\r\n }\r\n if (!_self._doUpdate || _self._doUpdate(theUpdateCtx, theUpdateState, _updateCallback) !== true) {\r\n _updateCallback();\r\n }\r\n else {\r\n result = true;\r\n }\r\n return result;\r\n };\r\n _self._addHook = function (hooks) {\r\n if (hooks) {\r\n if (isArray(hooks)) {\r\n _hooks = _hooks.concat(hooks);\r\n }\r\n else {\r\n _hooks[_DYN_PUSH /* @min:%2epush */](hooks);\r\n }\r\n }\r\n };\r\n proxyFunctionAs(_self, \"_addUnloadCb\", function () { return _unloadHandlerContainer; }, \"add\");\r\n });\r\n // These are added after the dynamicProto so that are not moved to the prototype\r\n _self[_DYN_DIAG_LOG /* @min:%2ediagLog */] = function (itemCtx) {\r\n return _getTelCtx(itemCtx)[_DYN_DIAG_LOG /* @min:%2ediagLog */]();\r\n };\r\n _self[_DYN_IS_INITIALIZED /* @min:%2eisInitialized */] = function () {\r\n return _isinitialized;\r\n };\r\n _self.setInitialized = function (isInitialized) {\r\n _isinitialized = isInitialized;\r\n };\r\n // _self.getNextPlugin = () => DO NOT IMPLEMENT\r\n // Sub-classes of this base class *should* not be relying on this value and instead\r\n // should use processNext() function. If you require access to the plugin use the\r\n // IProcessTelemetryContext.getNext().getPlugin() while in the pipeline, Note getNext() may return null.\r\n _self[_DYN_SET_NEXT_PLUGIN /* @min:%2esetNextPlugin */] = function (next) {\r\n _nextPlugin = next;\r\n };\r\n _self[_DYN_PROCESS_NEXT /* @min:%2eprocessNext */] = function (env, itemCtx) {\r\n if (itemCtx) {\r\n // Normal core execution sequence\r\n itemCtx[_DYN_PROCESS_NEXT /* @min:%2eprocessNext */](env);\r\n }\r\n else if (_nextPlugin && isFunction(_nextPlugin[STR_PROCESS_TELEMETRY /* @min:%2eprocessTelemetry */])) {\r\n // Looks like backward compatibility or out of band processing. And as it looks\r\n // like a ITelemetryPlugin or ITelemetryPluginChain, just call processTelemetry\r\n _nextPlugin[STR_PROCESS_TELEMETRY /* @min:%2eprocessTelemetry */](env, null);\r\n }\r\n };\r\n _self._getTelCtx = _getTelCtx;\r\n function _getTelCtx(currentCtx) {\r\n if (currentCtx === void 0) { currentCtx = null; }\r\n var itemCtx = currentCtx;\r\n if (!itemCtx) {\r\n var rootCtx = _rootCtx || createProcessTelemetryContext(null, {}, _self[STR_CORE /* @min:%2ecore */]);\r\n // tslint:disable-next-line: prefer-conditional-expression\r\n if (_nextPlugin && _nextPlugin[strGetPlugin]) {\r\n // Looks like a chain object\r\n itemCtx = rootCtx[_DYN_CREATE_NEW /* @min:%2ecreateNew */](null, _nextPlugin[strGetPlugin]);\r\n }\r\n else {\r\n itemCtx = rootCtx[_DYN_CREATE_NEW /* @min:%2ecreateNew */](null, _nextPlugin);\r\n }\r\n }\r\n return itemCtx;\r\n }\r\n function _setDefaults(config, core, pluginChain) {\r\n if (config) {\r\n // Make sure the extensionConfig exists\r\n setValue(config, STR_EXTENSION_CONFIG, [], null, isNullOrUndefined);\r\n }\r\n if (!pluginChain && core) {\r\n // Get the first plugin from the core\r\n pluginChain = core[_DYN_GET_PROCESS_TEL_CONT0 /* @min:%2egetProcessTelContext */]()[_DYN_GET_NEXT /* @min:%2egetNext */]();\r\n }\r\n var nextPlugin = _nextPlugin;\r\n if (_nextPlugin && _nextPlugin[strGetPlugin]) {\r\n // If it looks like a proxy/chain then get the plugin\r\n nextPlugin = _nextPlugin[strGetPlugin]();\r\n }\r\n // Support legacy plugins where core was defined as a property\r\n _self[STR_CORE /* @min:%2ecore */] = core;\r\n _rootCtx = createProcessTelemetryContext(pluginChain, config, core, nextPlugin);\r\n }\r\n function _initDefaults() {\r\n _isinitialized = false;\r\n _self[STR_CORE /* @min:%2ecore */] = null;\r\n _rootCtx = null;\r\n _nextPlugin = null;\r\n _hooks = [];\r\n _unloadHandlerContainer = createUnloadHandlerContainer();\r\n }\r\n }\r\n// Removed Stub for BaseTelemetryPlugin.prototype.initialize.\r\n// Removed Stub for BaseTelemetryPlugin.prototype.teardown.\r\n// Removed Stub for BaseTelemetryPlugin.prototype.update.\r\n// Removed Stub for BaseTelemetryPlugin.prototype._addUnloadCb.\r\n// Removed Stub for BaseTelemetryPlugin.prototype._addHook.\r\n // This is a workaround for an IE8 bug when using dynamicProto() with classes that don't have any\n // non-dynamic functions or static properties/functions when using uglify-js to minify the resulting code.\n // this will be removed when ES3 support is dropped.\n BaseTelemetryPlugin.__ieDyn=1;\n\n return BaseTelemetryPlugin;\r\n}());\r\nexport { BaseTelemetryPlugin };\r\n","/*\n * Application Insights JavaScript SDK - Core, 2.8.15\n * Copyright (c) Microsoft and contributors. All rights reserved.\n */\n\r\n// \r\nimport { _DYN_CONFIG, _DYN_CREATE_NEW, _DYN_FLUSH, _DYN_IDENTIFIER, _DYN_LENGTH, _DYN_ON_COMPLETE, _DYN_PROCESS_NEXT, _DYN_PUSH } from \"../__DynamicConstants\";\r\nimport { arrForEach, isArray, objFreeze, throwError } from \"./HelperFuncs\";\r\nimport { STR_PRIORITY } from \"./InternalConstants\";\r\nimport { createProcessTelemetryContext, createTelemetryProxyChain } from \"./ProcessTelemetryContext\";\r\nimport { initializePlugins } from \"./TelemetryHelpers\";\r\nexport var ChannelControllerPriority = 500;\r\nvar ChannelValidationMessage = \"Channel has invalid priority - \";\r\nfunction _addChannelQueue(channelQueue, queue, core) {\r\n if (queue && isArray(queue) && queue[_DYN_LENGTH /* @min:%2elength */] > 0) {\r\n queue = queue.sort(function (a, b) {\r\n return a[STR_PRIORITY /* @min:%2epriority */] - b[STR_PRIORITY /* @min:%2epriority */];\r\n });\r\n arrForEach(queue, function (queueItem) {\r\n if (queueItem[STR_PRIORITY /* @min:%2epriority */] < ChannelControllerPriority) {\r\n throwError(ChannelValidationMessage + queueItem[_DYN_IDENTIFIER /* @min:%2eidentifier */]);\r\n }\r\n });\r\n channelQueue[_DYN_PUSH /* @min:%2epush */]({\r\n queue: objFreeze(queue),\r\n chain: createTelemetryProxyChain(queue, core[_DYN_CONFIG /* @min:%2econfig */], core)\r\n });\r\n }\r\n}\r\nexport function createChannelControllerPlugin(channelQueue, core) {\r\n function _getTelCtx() {\r\n return createProcessTelemetryContext(null, core[_DYN_CONFIG /* @min:%2econfig */], core, null);\r\n }\r\n function _processChannelQueue(theChannels, itemCtx, processFn, onComplete) {\r\n var waiting = theChannels ? (theChannels[_DYN_LENGTH /* @min:%2elength */] + 1) : 1;\r\n function _runChainOnComplete() {\r\n waiting--;\r\n if (waiting === 0) {\r\n onComplete && onComplete();\r\n onComplete = null;\r\n }\r\n }\r\n if (waiting > 0) {\r\n arrForEach(theChannels, function (channels) {\r\n // pass on to first item in queue\r\n if (channels && channels.queue[_DYN_LENGTH /* @min:%2elength */] > 0) {\r\n var channelChain = channels.chain;\r\n var chainCtx = itemCtx[_DYN_CREATE_NEW /* @min:%2ecreateNew */](channelChain);\r\n chainCtx[_DYN_ON_COMPLETE /* @min:%2eonComplete */](_runChainOnComplete);\r\n // Cause this chain to start processing\r\n processFn(chainCtx);\r\n }\r\n else {\r\n waiting--;\r\n }\r\n });\r\n }\r\n _runChainOnComplete();\r\n }\r\n function _doUpdate(updateCtx, updateState) {\r\n var theUpdateState = updateState || {\r\n reason: 0 /* TelemetryUpdateReason.Unknown */\r\n };\r\n _processChannelQueue(channelQueue, updateCtx, function (chainCtx) {\r\n chainCtx[_DYN_PROCESS_NEXT /* @min:%2eprocessNext */](theUpdateState);\r\n }, function () {\r\n updateCtx[_DYN_PROCESS_NEXT /* @min:%2eprocessNext */](theUpdateState);\r\n });\r\n return true;\r\n }\r\n function _doTeardown(unloadCtx, unloadState) {\r\n var theUnloadState = unloadState || {\r\n reason: 0 /* TelemetryUnloadReason.ManualTeardown */,\r\n isAsync: false\r\n };\r\n _processChannelQueue(channelQueue, unloadCtx, function (chainCtx) {\r\n chainCtx[_DYN_PROCESS_NEXT /* @min:%2eprocessNext */](theUnloadState);\r\n }, function () {\r\n unloadCtx[_DYN_PROCESS_NEXT /* @min:%2eprocessNext */](theUnloadState);\r\n isInitialized = false;\r\n });\r\n return true;\r\n }\r\n function _getChannel(pluginIdentifier) {\r\n var thePlugin = null;\r\n if (channelQueue && channelQueue[_DYN_LENGTH /* @min:%2elength */] > 0) {\r\n arrForEach(channelQueue, function (channels) {\r\n // pass on to first item in queue\r\n if (channels && channels.queue[_DYN_LENGTH /* @min:%2elength */] > 0) {\r\n arrForEach(channels.queue, function (ext) {\r\n if (ext[_DYN_IDENTIFIER /* @min:%2eidentifier */] === pluginIdentifier) {\r\n thePlugin = ext;\r\n // Cause arrForEach to stop iterating\r\n return -1;\r\n }\r\n });\r\n if (thePlugin) {\r\n // Cause arrForEach to stop iterating\r\n return -1;\r\n }\r\n }\r\n });\r\n }\r\n return thePlugin;\r\n }\r\n var isInitialized = false;\r\n var channelController = {\r\n identifier: \"ChannelControllerPlugin\",\r\n priority: ChannelControllerPriority,\r\n initialize: function (config, core, extensions, pluginChain) {\r\n isInitialized = true;\r\n arrForEach(channelQueue, function (channels) {\r\n if (channels && channels.queue[_DYN_LENGTH /* @min:%2elength */] > 0) {\r\n initializePlugins(createProcessTelemetryContext(channels.chain, config, core), extensions);\r\n }\r\n });\r\n },\r\n isInitialized: function () {\r\n return isInitialized;\r\n },\r\n processTelemetry: function (item, itemCtx) {\r\n _processChannelQueue(channelQueue, itemCtx || _getTelCtx(), function (chainCtx) {\r\n chainCtx[_DYN_PROCESS_NEXT /* @min:%2eprocessNext */](item);\r\n }, function () {\r\n itemCtx[_DYN_PROCESS_NEXT /* @min:%2eprocessNext */](item);\r\n });\r\n },\r\n update: _doUpdate,\r\n pause: function () {\r\n _processChannelQueue(channelQueue, _getTelCtx(), function (chainCtx) {\r\n chainCtx.iterate(function (plugin) {\r\n plugin.pause && plugin.pause();\r\n });\r\n }, null);\r\n },\r\n resume: function () {\r\n _processChannelQueue(channelQueue, _getTelCtx(), function (chainCtx) {\r\n chainCtx.iterate(function (plugin) {\r\n plugin.resume && plugin.resume();\r\n });\r\n }, null);\r\n },\r\n teardown: _doTeardown,\r\n getChannel: _getChannel,\r\n flush: function (isAsync, callBack, sendReason, cbTimeout) {\r\n // Setting waiting to one so that we don't call the callBack until we finish iterating\r\n var waiting = 1;\r\n var doneIterating = false;\r\n var cbTimer = null;\r\n cbTimeout = cbTimeout || 5000;\r\n function doCallback() {\r\n waiting--;\r\n if (doneIterating && waiting === 0) {\r\n if (cbTimer) {\r\n clearTimeout(cbTimer);\r\n cbTimer = null;\r\n }\r\n callBack && callBack(doneIterating);\r\n callBack = null;\r\n }\r\n }\r\n _processChannelQueue(channelQueue, _getTelCtx(), function (chainCtx) {\r\n chainCtx.iterate(function (plugin) {\r\n if (plugin[_DYN_FLUSH /* @min:%2eflush */]) {\r\n waiting++;\r\n var handled_1 = false;\r\n // Not all channels will call this callback for every scenario\r\n if (!plugin[_DYN_FLUSH /* @min:%2eflush */](isAsync, function () {\r\n handled_1 = true;\r\n doCallback();\r\n }, sendReason)) {\r\n if (!handled_1) {\r\n // If any channel doesn't return true and it didn't call the callback, then we should assume that the callback\r\n // will never be called, so use a timeout to allow the channel(s) some time to \"finish\" before triggering any\r\n // followup function (such as unloading)\r\n if (isAsync && cbTimer == null) {\r\n cbTimer = setTimeout(function () {\r\n cbTimer = null;\r\n doCallback();\r\n }, cbTimeout);\r\n }\r\n else {\r\n doCallback();\r\n }\r\n }\r\n }\r\n }\r\n });\r\n }, function () {\r\n doneIterating = true;\r\n doCallback();\r\n });\r\n return true;\r\n },\r\n _setQueue: function (queue) {\r\n channelQueue = queue;\r\n }\r\n };\r\n return channelController;\r\n}\r\nexport function createChannelQueues(channels, extensions, core) {\r\n var channelQueue = [];\r\n if (channels) {\r\n // Add and sort the configuration channel queues\r\n arrForEach(channels, function (queue) { return _addChannelQueue(channelQueue, queue, core); });\r\n }\r\n if (extensions) {\r\n // Create a new channel queue for any extensions with a priority > the ChannelControllerPriority\r\n var extensionQueue_1 = [];\r\n arrForEach(extensions, function (plugin) {\r\n if (plugin[STR_PRIORITY /* @min:%2epriority */] > ChannelControllerPriority) {\r\n extensionQueue_1[_DYN_PUSH /* @min:%2epush */](plugin);\r\n }\r\n });\r\n _addChannelQueue(channelQueue, extensionQueue_1, core);\r\n }\r\n return channelQueue;\r\n}\r\n","/*\n * Application Insights JavaScript SDK - Core, 2.8.15\n * Copyright (c) Microsoft and contributors. All rights reserved.\n */\nimport { _DYN_COOKIE_CFG, _DYN_INDEX_OF, _DYN_LENGTH, _DYN_LOGGER, _DYN_SET_ENABLED, _DYN_SPLIT, _DYN_SUBSTRING, _DYN_USER_AGENT } from \"../__DynamicConstants\";\r\nimport { _throwInternal } from \"./DiagnosticLogger\";\r\nimport { dumpObj, getDocument, getLocation, getNavigator, isIE } from \"./EnvUtils\";\r\nimport { arrForEach, dateNow, getExceptionName, isArray, isFunction, isNotNullOrUndefined, isNullOrUndefined, isString, isTruthy, isUndefined, objForEachKey, setValue, strContains, strEndsWith, strTrim } from \"./HelperFuncs\";\r\nimport { STR_EMPTY } from \"./InternalConstants\";\r\nvar strToGMTString = \"toGMTString\";\r\nvar strToUTCString = \"toUTCString\";\r\nvar strCookie = \"cookie\";\r\nvar strExpires = \"expires\";\r\nvar strEnabled = \"enabled\";\r\nvar strIsCookieUseDisabled = \"isCookieUseDisabled\";\r\nvar strDisableCookiesUsage = \"disableCookiesUsage\";\r\nvar strConfigCookieMgr = \"_ckMgr\";\r\nvar _supportsCookies = null;\r\nvar _allowUaSameSite = null;\r\nvar _parsedCookieValue = null;\r\nvar _doc = getDocument();\r\nvar _cookieCache = {};\r\nvar _globalCookieConfig = {};\r\n/**\r\n * @ignore\r\n * DO NOT USE or export from the module, this is exposed as public to support backward compatibility of previous static utility methods only.\r\n * If you want to manager cookies either use the ICookieMgr available from the core instance via getCookieMgr() or create\r\n * your own instance of the CookieMgr and use that.\r\n * Using this directly for enabling / disabling cookie handling will not only affect your usage but EVERY user of cookies.\r\n * Example, if you are using a shared component that is also using Application Insights you will affect their cookie handling.\r\n * @param logger - The DiagnosticLogger to use for reporting errors.\r\n */\r\nexport function _gblCookieMgr(config, logger) {\r\n // Stash the global instance against the BaseCookieMgr class\r\n var inst = createCookieMgr[strConfigCookieMgr] || _globalCookieConfig[strConfigCookieMgr];\r\n if (!inst) {\r\n // Note: not using the getSetValue() helper as that would require always creating a temporary cookieMgr\r\n // that ultimately is never used\r\n inst = createCookieMgr[strConfigCookieMgr] = createCookieMgr(config, logger);\r\n _globalCookieConfig[strConfigCookieMgr] = inst;\r\n }\r\n return inst;\r\n}\r\nfunction _isMgrEnabled(cookieMgr) {\r\n if (cookieMgr) {\r\n return cookieMgr.isEnabled();\r\n }\r\n return true;\r\n}\r\nfunction _createCookieMgrConfig(rootConfig) {\r\n var cookieMgrCfg = rootConfig[_DYN_COOKIE_CFG /* @min:%2ecookieCfg */] = rootConfig[_DYN_COOKIE_CFG /* @min:%2ecookieCfg */] || {};\r\n // Sets the values from the root config if not already present on the cookieMgrCfg\r\n setValue(cookieMgrCfg, \"domain\", rootConfig.cookieDomain, isNotNullOrUndefined, isNullOrUndefined);\r\n setValue(cookieMgrCfg, \"path\", rootConfig.cookiePath || \"/\", null, isNullOrUndefined);\r\n if (isNullOrUndefined(cookieMgrCfg[strEnabled])) {\r\n // Set the enabled from the provided setting or the legacy root values\r\n var cookieEnabled = void 0;\r\n if (!isUndefined(rootConfig[strIsCookieUseDisabled])) {\r\n cookieEnabled = !rootConfig[strIsCookieUseDisabled];\r\n }\r\n if (!isUndefined(rootConfig[strDisableCookiesUsage])) {\r\n cookieEnabled = !rootConfig[strDisableCookiesUsage];\r\n }\r\n cookieMgrCfg[strEnabled] = cookieEnabled;\r\n }\r\n return cookieMgrCfg;\r\n}\r\nfunction _isIgnoredCookie(cookieMgrCfg, name) {\r\n if (name && cookieMgrCfg && isArray(cookieMgrCfg.ignoreCookies)) {\r\n return cookieMgrCfg.ignoreCookies[_DYN_INDEX_OF /* @min:%2eindexOf */](name) !== -1;\r\n }\r\n return false;\r\n}\r\nfunction _isBlockedCookie(cookieMgrCfg, name) {\r\n if (name && cookieMgrCfg && isArray(cookieMgrCfg.blockedCookies)) {\r\n if (cookieMgrCfg.blockedCookies[_DYN_INDEX_OF /* @min:%2eindexOf */](name) !== -1) {\r\n return true;\r\n }\r\n }\r\n return _isIgnoredCookie(cookieMgrCfg, name);\r\n}\r\n/**\r\n * Helper to return the ICookieMgr from the core (if not null/undefined) or a default implementation\r\n * associated with the configuration or a legacy default.\r\n * @param core\r\n * @param config\r\n * @returns\r\n */\r\nexport function safeGetCookieMgr(core, config) {\r\n var cookieMgr;\r\n if (core) {\r\n // Always returns an instance\r\n cookieMgr = core.getCookieMgr();\r\n }\r\n else if (config) {\r\n var cookieCfg = config[_DYN_COOKIE_CFG /* @min:%2ecookieCfg */];\r\n if (cookieCfg[strConfigCookieMgr]) {\r\n cookieMgr = cookieCfg[strConfigCookieMgr];\r\n }\r\n else {\r\n cookieMgr = createCookieMgr(config);\r\n }\r\n }\r\n if (!cookieMgr) {\r\n // Get or initialize the default global (legacy) cookie manager if we couldn't find one\r\n cookieMgr = _gblCookieMgr(config, (core || {})[_DYN_LOGGER /* @min:%2elogger */]);\r\n }\r\n return cookieMgr;\r\n}\r\nexport function createCookieMgr(rootConfig, logger) {\r\n var _a;\r\n var cookieMgrConfig = _createCookieMgrConfig(rootConfig || _globalCookieConfig);\r\n var _path = cookieMgrConfig.path || \"/\";\r\n var _domain = cookieMgrConfig.domain;\r\n // Explicitly checking against false, so that setting to undefined will === true\r\n var _enabled = cookieMgrConfig[strEnabled] !== false;\r\n var cookieMgr = (_a = {\r\n isEnabled: function () {\r\n var enabled = _enabled && areCookiesSupported(logger);\r\n // Using an indirect lookup for any global cookie manager to support tree shaking for SDK's\r\n // that don't use the \"applicationinsights-core\" version of the default cookie function\r\n var gblManager = _globalCookieConfig[strConfigCookieMgr];\r\n if (enabled && gblManager && cookieMgr !== gblManager) {\r\n // Make sure the GlobalCookie Manager instance (if not this instance) is also enabled.\r\n // As the global (deprecated) functions may have been called (for backward compatibility)\r\n enabled = _isMgrEnabled(gblManager);\r\n }\r\n return enabled;\r\n }\r\n },\r\n _a[_DYN_SET_ENABLED /* @min:setEnabled */] = function (value) {\r\n // Explicitly checking against false, so that setting to undefined will === true\r\n _enabled = value !== false;\r\n },\r\n _a.set = function (name, value, maxAgeSec, domain, path) {\r\n var result = false;\r\n if (_isMgrEnabled(cookieMgr) && !_isBlockedCookie(cookieMgrConfig, name)) {\r\n var values = {};\r\n var theValue = strTrim(value || STR_EMPTY);\r\n var idx = theValue[_DYN_INDEX_OF /* @min:%2eindexOf */](\";\");\r\n if (idx !== -1) {\r\n theValue = strTrim(value[_DYN_SUBSTRING /* @min:%2esubstring */](0, idx));\r\n values = _extractParts(value[_DYN_SUBSTRING /* @min:%2esubstring */](idx + 1));\r\n }\r\n // Only update domain if not already present (isUndefined) and the value is truthy (not null, undefined or empty string)\r\n setValue(values, \"domain\", domain || _domain, isTruthy, isUndefined);\r\n if (!isNullOrUndefined(maxAgeSec)) {\r\n var _isIE = isIE();\r\n if (isUndefined(values[strExpires])) {\r\n var nowMs = dateNow();\r\n // Only add expires if not already present\r\n var expireMs = nowMs + (maxAgeSec * 1000);\r\n // Sanity check, if zero or -ve then ignore\r\n if (expireMs > 0) {\r\n var expiry = new Date();\r\n expiry.setTime(expireMs);\r\n setValue(values, strExpires, _formatDate(expiry, !_isIE ? strToUTCString : strToGMTString) || _formatDate(expiry, _isIE ? strToGMTString : strToUTCString) || STR_EMPTY, isTruthy);\r\n }\r\n }\r\n if (!_isIE) {\r\n // Only replace if not already present\r\n setValue(values, \"max-age\", STR_EMPTY + maxAgeSec, null, isUndefined);\r\n }\r\n }\r\n var location_1 = getLocation();\r\n if (location_1 && location_1.protocol === \"https:\") {\r\n setValue(values, \"secure\", null, null, isUndefined);\r\n // Only set same site if not also secure\r\n if (_allowUaSameSite === null) {\r\n _allowUaSameSite = !uaDisallowsSameSiteNone((getNavigator() || {})[_DYN_USER_AGENT /* @min:%2euserAgent */]);\r\n }\r\n if (_allowUaSameSite) {\r\n setValue(values, \"SameSite\", \"None\", null, isUndefined);\r\n }\r\n }\r\n setValue(values, \"path\", path || _path, null, isUndefined);\r\n var setCookieFn = cookieMgrConfig.setCookie || _setCookieValue;\r\n setCookieFn(name, _formatCookieValue(theValue, values));\r\n result = true;\r\n }\r\n return result;\r\n },\r\n _a.get = function (name) {\r\n var value = STR_EMPTY;\r\n if (_isMgrEnabled(cookieMgr) && !_isIgnoredCookie(cookieMgrConfig, name)) {\r\n value = (cookieMgrConfig.getCookie || _getCookieValue)(name);\r\n }\r\n return value;\r\n },\r\n _a.del = function (name, path) {\r\n var result = false;\r\n if (_isMgrEnabled(cookieMgr)) {\r\n // Only remove the cookie if the manager and cookie support has not been disabled\r\n result = cookieMgr.purge(name, path);\r\n }\r\n return result;\r\n },\r\n _a.purge = function (name, path) {\r\n var _a;\r\n var result = false;\r\n if (areCookiesSupported(logger)) {\r\n // Setting the expiration date in the past immediately removes the cookie\r\n var values = (_a = {},\r\n _a[\"path\"] = path ? path : \"/\",\r\n _a[strExpires] = \"Thu, 01 Jan 1970 00:00:01 GMT\",\r\n _a);\r\n if (!isIE()) {\r\n // Set max age to expire now\r\n values[\"max-age\"] = \"0\";\r\n }\r\n var delCookie = cookieMgrConfig.delCookie || _setCookieValue;\r\n delCookie(name, _formatCookieValue(STR_EMPTY, values));\r\n result = true;\r\n }\r\n return result;\r\n },\r\n _a);\r\n // Associated this cookie manager with the config\r\n cookieMgr[strConfigCookieMgr] = cookieMgr;\r\n return cookieMgr;\r\n}\r\n/*\r\n* Helper method to tell if document.cookie object is supported by the runtime\r\n*/\r\nexport function areCookiesSupported(logger) {\r\n if (_supportsCookies === null) {\r\n _supportsCookies = false;\r\n try {\r\n var doc = _doc || {};\r\n _supportsCookies = doc[strCookie] !== undefined;\r\n }\r\n catch (e) {\r\n _throwInternal(logger, 2 /* eLoggingSeverity.WARNING */, 68 /* _eInternalMessageId.CannotAccessCookie */, \"Cannot access document.cookie - \" + getExceptionName(e), { exception: dumpObj(e) });\r\n }\r\n }\r\n return _supportsCookies;\r\n}\r\nfunction _extractParts(theValue) {\r\n var values = {};\r\n if (theValue && theValue[_DYN_LENGTH /* @min:%2elength */]) {\r\n var parts = strTrim(theValue)[_DYN_SPLIT /* @min:%2esplit */](\";\");\r\n arrForEach(parts, function (thePart) {\r\n thePart = strTrim(thePart || STR_EMPTY);\r\n if (thePart) {\r\n var idx = thePart[_DYN_INDEX_OF /* @min:%2eindexOf */](\"=\");\r\n if (idx === -1) {\r\n values[thePart] = null;\r\n }\r\n else {\r\n values[strTrim(thePart[_DYN_SUBSTRING /* @min:%2esubstring */](0, idx))] = strTrim(thePart[_DYN_SUBSTRING /* @min:%2esubstring */](idx + 1));\r\n }\r\n }\r\n });\r\n }\r\n return values;\r\n}\r\nfunction _formatDate(theDate, func) {\r\n if (isFunction(theDate[func])) {\r\n return theDate[func]();\r\n }\r\n return null;\r\n}\r\nfunction _formatCookieValue(value, values) {\r\n var cookieValue = value || STR_EMPTY;\r\n objForEachKey(values, function (name, theValue) {\r\n cookieValue += \"; \" + name + (!isNullOrUndefined(theValue) ? \"=\" + theValue : STR_EMPTY);\r\n });\r\n return cookieValue;\r\n}\r\nfunction _getCookieValue(name) {\r\n var cookieValue = STR_EMPTY;\r\n if (_doc) {\r\n var theCookie = _doc[strCookie] || STR_EMPTY;\r\n if (_parsedCookieValue !== theCookie) {\r\n _cookieCache = _extractParts(theCookie);\r\n _parsedCookieValue = theCookie;\r\n }\r\n cookieValue = strTrim(_cookieCache[name] || STR_EMPTY);\r\n }\r\n return cookieValue;\r\n}\r\nfunction _setCookieValue(name, cookieValue) {\r\n if (_doc) {\r\n _doc[strCookie] = name + \"=\" + cookieValue;\r\n }\r\n}\r\nexport function uaDisallowsSameSiteNone(userAgent) {\r\n if (!isString(userAgent)) {\r\n return false;\r\n }\r\n // Cover all iOS based browsers here. This includes:\r\n // - Safari on iOS 12 for iPhone, iPod Touch, iPad\r\n // - WkWebview on iOS 12 for iPhone, iPod Touch, iPad\r\n // - Chrome on iOS 12 for iPhone, iPod Touch, iPad\r\n // All of which are broken by SameSite=None, because they use the iOS networking stack\r\n if (strContains(userAgent, \"CPU iPhone OS 12\") || strContains(userAgent, \"iPad; CPU OS 12\")) {\r\n return true;\r\n }\r\n // Cover Mac OS X based browsers that use the Mac OS networking stack. This includes:\r\n // - Safari on Mac OS X\r\n // This does not include:\r\n // - Internal browser on Mac OS X\r\n // - Chrome on Mac OS X\r\n // - Chromium on Mac OS X\r\n // Because they do not use the Mac OS networking stack.\r\n if (strContains(userAgent, \"Macintosh; Intel Mac OS X 10_14\") && strContains(userAgent, \"Version/\") && strContains(userAgent, \"Safari\")) {\r\n return true;\r\n }\r\n // Cover Mac OS X internal browsers that use the Mac OS networking stack. This includes:\r\n // - Internal browser on Mac OS X\r\n // This does not include:\r\n // - Safari on Mac OS X\r\n // - Chrome on Mac OS X\r\n // - Chromium on Mac OS X\r\n // Because they do not use the Mac OS networking stack.\r\n if (strContains(userAgent, \"Macintosh; Intel Mac OS X 10_14\") && strEndsWith(userAgent, \"AppleWebKit/605.1.15 (KHTML, like Gecko)\")) {\r\n return true;\r\n }\r\n // Cover Chrome 50-69, because some versions are broken by SameSite=None, and none in this range require it.\r\n // Note: this covers some pre-Chromium Edge versions, but pre-Chromim Edge does not require SameSite=None, so this is fine.\r\n // Note: this regex applies to Windows, Mac OS X, and Linux, deliberately.\r\n if (strContains(userAgent, \"Chrome/5\") || strContains(userAgent, \"Chrome/6\")) {\r\n return true;\r\n }\r\n // Unreal Engine runs Chromium 59, but does not advertise as Chrome until 4.23. Treat versions of Unreal\r\n // that don't specify their Chrome version as lacking support for SameSite=None.\r\n if (strContains(userAgent, \"UnrealEngine\") && !strContains(userAgent, \"Chrome\")) {\r\n return true;\r\n }\r\n // UCBrowser < 12.13.2 ignores Set-Cookie headers with SameSite=None\r\n // NB: this rule isn't complete - you need regex to make a complete rule.\r\n // See: https://www.chromium.org/updates/same-site/incompatible-clients\r\n if (strContains(userAgent, \"UCBrowser/12\") || strContains(userAgent, \"UCBrowser/11\")) {\r\n return true;\r\n }\r\n return false;\r\n}\r\n","/*\n * Application Insights JavaScript SDK - Core, 2.8.15\n * Copyright (c) Microsoft and contributors. All rights reserved.\n */\n\r\n\r\n\"use strict\";\r\nimport { objCreateFn, strShimUndefined } from \"@microsoft/applicationinsights-shims\";\r\nimport { _DYN_LENGTH, _DYN_PUSH, _DYN_SET_ENABLED, _DYN_SUBSTR, _DYN_SUBSTRING } from \"../__DynamicConstants\";\r\nimport { _gblCookieMgr } from \"./CookieMgr\";\r\nimport { getPerformance, isIE } from \"./EnvUtils\";\r\nimport { addEventHandler, attachEvent, detachEvent } from \"./EventHelpers\";\r\nimport { arrForEach, arrIndexOf, arrMap, arrReduce, dateNow, hasOwnProperty, isArray, isBoolean, isDate, isError, isFunction, isNullOrUndefined, isNumber, isObject, isString, isTypeof, isUndefined, objDefineAccessors, objKeys, strTrim, toISOString } from \"./HelperFuncs\";\r\nimport { STR_EMPTY } from \"./InternalConstants\";\r\nimport { mwcRandom32, mwcRandomSeed, newId, random32, randomValue } from \"./RandomHelper\";\r\nvar _cookieMgrs = null;\r\nvar _canUseCookies; // legacy supported config\r\n// Added to help with minfication\r\nexport var Undefined = strShimUndefined;\r\nexport function newGuid() {\r\n var uuid = generateW3CId();\r\n return uuid[_DYN_SUBSTRING /* @min:%2esubstring */](0, 8) + \"-\" + uuid[_DYN_SUBSTRING /* @min:%2esubstring */](8, 12) + \"-\" + uuid[_DYN_SUBSTRING /* @min:%2esubstring */](12, 16) + \"-\" + uuid[_DYN_SUBSTRING /* @min:%2esubstring */](16, 20) + \"-\" + uuid[_DYN_SUBSTRING /* @min:%2esubstring */](20);\r\n}\r\n/**\r\n * Return the current value of the Performance Api now() function (if available) and fallback to dateNow() if it is unavailable (IE9 or less)\r\n * https://caniuse.com/#search=performance.now\r\n */\r\nexport function perfNow() {\r\n var perf = getPerformance();\r\n if (perf && perf.now) {\r\n return perf.now();\r\n }\r\n return dateNow();\r\n}\r\n/**\r\n * The strEndsWith() method determines whether a string ends with the characters of a specified string, returning true or false as appropriate.\r\n * @param value - The value to check whether it ends with the search value.\r\n * @param search - The characters to be searched for at the end of the value.\r\n * @returns true if the given search value is found at the end of the string, otherwise false.\r\n */\r\nexport function strEndsWith(value, search) {\r\n if (value && search) {\r\n var len = value[_DYN_LENGTH /* @min:%2elength */];\r\n var start = len - search[_DYN_LENGTH /* @min:%2elength */];\r\n return value[_DYN_SUBSTRING /* @min:%2esubstring */](start >= 0 ? start : 0, len) === search;\r\n }\r\n return false;\r\n}\r\n/**\r\n * generate W3C trace id\r\n */\r\nexport function generateW3CId() {\r\n var hexValues = [\"0\", \"1\", \"2\", \"3\", \"4\", \"5\", \"6\", \"7\", \"8\", \"9\", \"a\", \"b\", \"c\", \"d\", \"e\", \"f\"];\r\n // rfc4122 version 4 UUID without dashes and with lowercase letters\r\n var oct = STR_EMPTY, tmp;\r\n for (var a = 0; a < 4; a++) {\r\n tmp = random32();\r\n oct +=\r\n hexValues[tmp & 0xF] +\r\n hexValues[tmp >> 4 & 0xF] +\r\n hexValues[tmp >> 8 & 0xF] +\r\n hexValues[tmp >> 12 & 0xF] +\r\n hexValues[tmp >> 16 & 0xF] +\r\n hexValues[tmp >> 20 & 0xF] +\r\n hexValues[tmp >> 24 & 0xF] +\r\n hexValues[tmp >> 28 & 0xF];\r\n }\r\n // \"Set the two most significant bits (bits 6 and 7) of the clock_seq_hi_and_reserved to zero and one, respectively\"\r\n var clockSequenceHi = hexValues[8 + (random32() & 0x03) | 0];\r\n return oct[_DYN_SUBSTR /* @min:%2esubstr */](0, 8) + oct[_DYN_SUBSTR /* @min:%2esubstr */](9, 4) + \"4\" + oct[_DYN_SUBSTR /* @min:%2esubstr */](13, 3) + clockSequenceHi + oct[_DYN_SUBSTR /* @min:%2esubstr */](16, 3) + oct[_DYN_SUBSTR /* @min:%2esubstr */](19, 12);\r\n}\r\n/**\r\n * Provides a collection of utility functions, included for backward compatibility with previous releases.\r\n * @deprecated Marking this instance as deprecated in favor of direct usage of the helper functions\r\n * as direct usage provides better tree-shaking and minification by avoiding the inclusion of the unused items\r\n * in your resulting code.\r\n */\r\nexport var CoreUtils = {\r\n _canUseCookies: undefined,\r\n isTypeof: isTypeof,\r\n isUndefined: isUndefined,\r\n isNullOrUndefined: isNullOrUndefined,\r\n hasOwnProperty: hasOwnProperty,\r\n isFunction: isFunction,\r\n isObject: isObject,\r\n isDate: isDate,\r\n isArray: isArray,\r\n isError: isError,\r\n isString: isString,\r\n isNumber: isNumber,\r\n isBoolean: isBoolean,\r\n toISOString: toISOString,\r\n arrForEach: arrForEach,\r\n arrIndexOf: arrIndexOf,\r\n arrMap: arrMap,\r\n arrReduce: arrReduce,\r\n strTrim: strTrim,\r\n objCreate: objCreateFn,\r\n objKeys: objKeys,\r\n objDefineAccessors: objDefineAccessors,\r\n addEventHandler: addEventHandler,\r\n dateNow: dateNow,\r\n isIE: isIE,\r\n disableCookies: disableCookies,\r\n newGuid: newGuid,\r\n perfNow: perfNow,\r\n newId: newId,\r\n randomValue: randomValue,\r\n random32: random32,\r\n mwcRandomSeed: mwcRandomSeed,\r\n mwcRandom32: mwcRandom32,\r\n generateW3CId: generateW3CId\r\n};\r\nvar GuidRegex = /[xy]/g;\r\nexport var EventHelper = {\r\n Attach: attachEvent,\r\n AttachEvent: attachEvent,\r\n Detach: detachEvent,\r\n DetachEvent: detachEvent\r\n};\r\n/**\r\n * Helper to support backward compatibility for users that use the legacy cookie handling functions and the use the internal\r\n * CoreUtils._canUseCookies global flag to enable/disable cookies usage.\r\n * Note: This has the following deliberate side-effects\r\n * - Creates the global (legacy) cookie manager if it does not already exist\r\n * - Attempts to add \"listeners\" to the CoreUtils._canUseCookies property to support the legacy usage\r\n * @param config\r\n * @param logger\r\n * @returns\r\n */\r\nexport function _legacyCookieMgr(config, logger) {\r\n var cookieMgr = _gblCookieMgr(config, logger);\r\n var legacyCanUseCookies = CoreUtils._canUseCookies;\r\n if (_cookieMgrs === null) {\r\n _cookieMgrs = [];\r\n _canUseCookies = legacyCanUseCookies;\r\n // Dynamically create get/set property accessors for backward compatibility for enabling / disabling cookies\r\n // this WILL NOT work for ES3 browsers (< IE8)\r\n objDefineAccessors(CoreUtils, \"_canUseCookies\", function () {\r\n return _canUseCookies;\r\n }, function (value) {\r\n _canUseCookies = value;\r\n arrForEach(_cookieMgrs, function (mgr) {\r\n mgr[_DYN_SET_ENABLED /* @min:%2esetEnabled */](value);\r\n });\r\n });\r\n }\r\n if (arrIndexOf(_cookieMgrs, cookieMgr) === -1) {\r\n _cookieMgrs[_DYN_PUSH /* @min:%2epush */](cookieMgr);\r\n }\r\n if (isBoolean(legacyCanUseCookies)) {\r\n cookieMgr[_DYN_SET_ENABLED /* @min:%2esetEnabled */](legacyCanUseCookies);\r\n }\r\n if (isBoolean(_canUseCookies)) {\r\n cookieMgr[_DYN_SET_ENABLED /* @min:%2esetEnabled */](_canUseCookies);\r\n }\r\n return cookieMgr;\r\n}\r\n/**\r\n * @deprecated - Use the core.getCookieMgr().disable()\r\n * Force the SDK not to store and read any data from cookies.\r\n */\r\nexport function disableCookies() {\r\n _legacyCookieMgr()[_DYN_SET_ENABLED /* @min:%2esetEnabled */](false);\r\n}\r\n/**\r\n * @deprecated - Use the core.getCookieMgr().isEnabled()\r\n * Helper method to tell if document.cookie object is available and whether it can be used.\r\n */\r\nexport function canUseCookies(logger) {\r\n return _legacyCookieMgr(null, logger).isEnabled();\r\n}\r\n/**\r\n * @deprecated - Use the core.getCookieMgr().get()\r\n * helper method to access userId and sessionId cookie\r\n */\r\nexport function getCookie(logger, name) {\r\n return _legacyCookieMgr(null, logger).get(name);\r\n}\r\n/**\r\n * @deprecated - Use the core.getCookieMgr().set()\r\n * helper method to set userId and sessionId cookie\r\n */\r\nexport function setCookie(logger, name, value, domain) {\r\n _legacyCookieMgr(null, logger).set(name, value, null, domain);\r\n}\r\n/**\r\n * @deprecated - Use the core.getCookieMgr().del()\r\n * Deletes a cookie by setting it's expiration time in the past.\r\n * @param name - The name of the cookie to delete.\r\n */\r\nexport function deleteCookie(logger, name) {\r\n return _legacyCookieMgr(null, logger).del(name);\r\n}\r\n","/*\n * Application Insights JavaScript SDK - Core, 2.8.15\n * Copyright (c) Microsoft and contributors. All rights reserved.\n */\n\r\n\r\nimport { ObjDefineProperty } from \"@microsoft/applicationinsights-shims\";\r\nimport { _DYN_NODE_TYPE } from \"../__DynamicConstants\";\r\nimport { normalizeJsName } from \"./HelperFuncs\";\r\nimport { STR_EMPTY } from \"./InternalConstants\";\r\nimport { newId } from \"./RandomHelper\";\r\nvar _objDefineProperty = ObjDefineProperty;\r\nvar version = '2.8.15';\r\nvar instanceName = \".\" + newId(6);\r\nvar _dataUid = 0;\r\nfunction _createAccessor(target, prop, value) {\r\n if (_objDefineProperty) {\r\n try {\r\n _objDefineProperty(target, prop, {\r\n value: value,\r\n enumerable: false,\r\n configurable: true\r\n });\r\n return true;\r\n }\r\n catch (e) {\r\n // IE8 Defines a defineProperty on Object but it's only supported for DOM elements so it will throw\r\n // We will just ignore this here.\r\n }\r\n }\r\n return false;\r\n}\r\n// Accepts only:\r\n// - Node\r\n// - Node.ELEMENT_NODE\r\n// - Node.DOCUMENT_NODE\r\n// - Object\r\n// - Any\r\nfunction _canAcceptData(target) {\r\n return target[_DYN_NODE_TYPE /* @min:%2enodeType */] === 1 || target[_DYN_NODE_TYPE /* @min:%2enodeType */] === 9 || !(+target[_DYN_NODE_TYPE /* @min:%2enodeType */]);\r\n}\r\nfunction _getCache(data, target) {\r\n var theCache = target[data.id];\r\n if (!theCache) {\r\n theCache = {};\r\n try {\r\n if (_canAcceptData(target)) {\r\n if (!_createAccessor(target, data.id, theCache)) {\r\n // Environment doesn't support accessor, so just use direct assignment\r\n target[data.id] = theCache;\r\n }\r\n }\r\n }\r\n catch (e) {\r\n // Not all environments allow extending all objects, so just ignore the cache in those cases\r\n }\r\n }\r\n return theCache;\r\n}\r\nexport function createUniqueNamespace(name, includeVersion) {\r\n if (includeVersion === void 0) { includeVersion = false; }\r\n return normalizeJsName(name + (_dataUid++) + (includeVersion ? \".\" + version : STR_EMPTY) + instanceName);\r\n}\r\nexport function createElmNodeData(name) {\r\n var data = {\r\n id: createUniqueNamespace(\"_aiData-\" + (name || STR_EMPTY) + \".\" + version),\r\n accept: function (target) {\r\n return _canAcceptData(target);\r\n },\r\n get: function (target, name, defValue, addDefault) {\r\n var theCache = target[data.id];\r\n if (!theCache) {\r\n if (addDefault) {\r\n // Side effect is adds the cache\r\n theCache = _getCache(data, target);\r\n theCache[normalizeJsName(name)] = defValue;\r\n }\r\n return defValue;\r\n }\r\n return theCache[normalizeJsName(name)];\r\n },\r\n kill: function (target, name) {\r\n if (target && target[name]) {\r\n try {\r\n delete target[name];\r\n }\r\n catch (e) {\r\n // Just cleaning up, so if this fails -- ignore\r\n }\r\n }\r\n }\r\n };\r\n return data;\r\n}\r\n","/*\n * Application Insights JavaScript SDK - Core, 2.8.15\n * Copyright (c) Microsoft and contributors. All rights reserved.\n */\n\r\n\r\nimport { _DYN_APPLY, _DYN_LENGTH } from \"../__DynamicConstants\";\r\nimport { getGlobalInst } from \"./EnvUtils\";\r\nvar listenerFuncs = [\"eventsSent\", \"eventsDiscarded\", \"eventsSendRequest\", \"perfEvent\"];\r\nvar _aiNamespace = null;\r\nvar _debugListener;\r\nfunction _listenerProxyFunc(name, config) {\r\n return function () {\r\n var args = arguments;\r\n var dbgExt = getDebugExt(config);\r\n if (dbgExt) {\r\n var listener = dbgExt.listener;\r\n if (listener && listener[name]) {\r\n listener[name][_DYN_APPLY /* @min:%2eapply */](listener, args);\r\n }\r\n }\r\n };\r\n}\r\nfunction _getExtensionNamespace() {\r\n // Cache the lookup of the global namespace object\r\n var target = getGlobalInst(\"Microsoft\");\r\n if (target) {\r\n _aiNamespace = target[\"ApplicationInsights\"];\r\n }\r\n return _aiNamespace;\r\n}\r\nexport function getDebugExt(config) {\r\n var ns = _aiNamespace;\r\n if (!ns && config.disableDbgExt !== true) {\r\n ns = _aiNamespace || _getExtensionNamespace();\r\n }\r\n return ns ? ns[\"ChromeDbgExt\"] : null;\r\n}\r\nexport function getDebugListener(config) {\r\n if (!_debugListener) {\r\n _debugListener = {};\r\n for (var lp = 0; lp < listenerFuncs[_DYN_LENGTH /* @min:%2elength */]; lp++) {\r\n _debugListener[listenerFuncs[lp]] = _listenerProxyFunc(listenerFuncs[lp], config);\r\n }\r\n }\r\n return _debugListener;\r\n}\r\n","/*\n * Application Insights JavaScript SDK - Core, 2.8.15\n * Copyright (c) Microsoft and contributors. All rights reserved.\n */\n\r\n\r\n\"use strict\";\r\nimport dynamicProto from \"@microsoft/dynamicproto-js\";\r\nimport { _DYN_DIAG_LOG, _DYN_ENABLE_DEBUG_EXCEPTI4, _DYN_LOGGER, _DYN_LOG_INTERNAL_MESSAGE, _DYN_MESSAGE, _DYN_MESSAGE_ID, _DYN_PUSH, _DYN_REPLACE } from \"../__DynamicConstants\";\r\nimport { getDebugExt } from \"./DbgExtensionUtils\";\r\nimport { dumpObj, getConsole, getJSON, hasJSON } from \"./EnvUtils\";\r\nimport { getCfgValue, isFunction, isUndefined } from \"./HelperFuncs\";\r\nimport { STR_EMPTY, STR_ERROR_TO_CONSOLE, STR_WARN_TO_CONSOLE } from \"./InternalConstants\";\r\n/**\r\n * For user non actionable traces use AI Internal prefix.\r\n */\r\nvar AiNonUserActionablePrefix = \"AI (Internal): \";\r\n/**\r\n * Prefix of the traces in portal.\r\n */\r\nvar AiUserActionablePrefix = \"AI: \";\r\n/**\r\n * Session storage key for the prefix for the key indicating message type already logged\r\n */\r\nvar AIInternalMessagePrefix = \"AITR_\";\r\nfunction _sanitizeDiagnosticText(text) {\r\n if (text) {\r\n return \"\\\"\" + text[_DYN_REPLACE /* @min:%2ereplace */](/\\\"/g, STR_EMPTY) + \"\\\"\";\r\n }\r\n return STR_EMPTY;\r\n}\r\nfunction _logToConsole(func, message) {\r\n var theConsole = getConsole();\r\n if (!!theConsole) {\r\n var logFunc = \"log\";\r\n if (theConsole[func]) {\r\n logFunc = func;\r\n }\r\n if (isFunction(theConsole[logFunc])) {\r\n theConsole[logFunc](message);\r\n }\r\n }\r\n}\r\nvar _InternalLogMessage = /** @class */ (function () {\r\n function _InternalLogMessage(msgId, msg, isUserAct, properties) {\r\n if (isUserAct === void 0) { isUserAct = false; }\r\n var _self = this;\r\n _self[_DYN_MESSAGE_ID /* @min:%2emessageId */] = msgId;\r\n _self[_DYN_MESSAGE /* @min:%2emessage */] =\r\n (isUserAct ? AiUserActionablePrefix : AiNonUserActionablePrefix) +\r\n msgId;\r\n var strProps = STR_EMPTY;\r\n if (hasJSON()) {\r\n strProps = getJSON().stringify(properties);\r\n }\r\n var diagnosticText = (msg ? \" message:\" + _sanitizeDiagnosticText(msg) : STR_EMPTY) +\r\n (properties ? \" props:\" + _sanitizeDiagnosticText(strProps) : STR_EMPTY);\r\n _self[_DYN_MESSAGE /* @min:%2emessage */] += diagnosticText;\r\n }\r\n _InternalLogMessage.dataType = \"MessageData\";\r\n return _InternalLogMessage;\r\n}());\r\nexport { _InternalLogMessage };\r\nexport function safeGetLogger(core, config) {\r\n return (core || {})[_DYN_LOGGER /* @min:%2elogger */] || new DiagnosticLogger(config);\r\n}\r\nvar DiagnosticLogger = /** @class */ (function () {\r\n function DiagnosticLogger(config) {\r\n this.identifier = \"DiagnosticLogger\";\r\n /**\r\n * The internal logging queue\r\n */\r\n this.queue = [];\r\n /**\r\n * Count of internal messages sent\r\n */\r\n var _messageCount = 0;\r\n /**\r\n * Holds information about what message types were already logged to console or sent to server.\r\n */\r\n var _messageLogged = {};\r\n var _loggingLevelConsole;\r\n var _loggingLevelTelemetry;\r\n var _maxInternalMessageLimit;\r\n var _enableDebug;\r\n dynamicProto(DiagnosticLogger, this, function (_self) {\r\n _setDefaultsFromConfig(config || {});\r\n _self.consoleLoggingLevel = function () { return _loggingLevelConsole; };\r\n _self.telemetryLoggingLevel = function () { return _loggingLevelTelemetry; };\r\n _self.maxInternalMessageLimit = function () { return _maxInternalMessageLimit; };\r\n _self[_DYN_ENABLE_DEBUG_EXCEPTI4 /* @min:%2eenableDebugExceptions */] = function () { return _enableDebug; };\r\n /**\r\n * This method will throw exceptions in debug mode or attempt to log the error as a console warning.\r\n * @param severity {LoggingSeverity} - The severity of the log message\r\n * @param message {_InternalLogMessage} - The log message.\r\n */\r\n _self.throwInternal = function (severity, msgId, msg, properties, isUserAct) {\r\n if (isUserAct === void 0) { isUserAct = false; }\r\n var message = new _InternalLogMessage(msgId, msg, isUserAct, properties);\r\n if (_enableDebug) {\r\n throw dumpObj(message);\r\n }\r\n else {\r\n // Get the logging function and fallback to warnToConsole of for some reason errorToConsole doesn't exist\r\n var logFunc = severity === 1 /* eLoggingSeverity.CRITICAL */ ? STR_ERROR_TO_CONSOLE : STR_WARN_TO_CONSOLE;\r\n if (!isUndefined(message[_DYN_MESSAGE /* @min:%2emessage */])) {\r\n if (isUserAct) {\r\n // check if this message type was already logged to console for this page view and if so, don't log it again\r\n var messageKey = +message[_DYN_MESSAGE_ID /* @min:%2emessageId */];\r\n if (!_messageLogged[messageKey] && _loggingLevelConsole >= severity) {\r\n _self[logFunc](message[_DYN_MESSAGE /* @min:%2emessage */]);\r\n _messageLogged[messageKey] = true;\r\n }\r\n }\r\n else {\r\n // Only log traces if the console Logging Level is >= the throwInternal severity level\r\n if (_loggingLevelConsole >= severity) {\r\n _self[logFunc](message[_DYN_MESSAGE /* @min:%2emessage */]);\r\n }\r\n }\r\n _logInternalMessage(severity, message);\r\n }\r\n else {\r\n _debugExtMsg(\"throw\" + (severity === 1 /* eLoggingSeverity.CRITICAL */ ? \"Critical\" : \"Warning\"), message);\r\n }\r\n }\r\n };\r\n /**\r\n * This will write a warning to the console if possible\r\n * @param message {string} - The warning message\r\n */\r\n _self[STR_WARN_TO_CONSOLE /* @min:%2ewarnToConsole */] = function (message) {\r\n _logToConsole(\"warn\", message);\r\n _debugExtMsg(\"warning\", message);\r\n };\r\n /**\r\n * This will write an error to the console if possible\r\n * @param message {string} - The error message\r\n */\r\n _self[STR_ERROR_TO_CONSOLE /* @min:%2eerrorToConsole */] = function (message) {\r\n _logToConsole(\"error\", message);\r\n _debugExtMsg(\"error\", message);\r\n };\r\n /**\r\n * Resets the internal message count\r\n */\r\n _self.resetInternalMessageCount = function () {\r\n _messageCount = 0;\r\n _messageLogged = {};\r\n };\r\n /**\r\n * Logs a message to the internal queue.\r\n * @param severity {LoggingSeverity} - The severity of the log message\r\n * @param message {_InternalLogMessage} - The message to log.\r\n */\r\n _self[_DYN_LOG_INTERNAL_MESSAGE /* @min:%2elogInternalMessage */] = _logInternalMessage;\r\n function _logInternalMessage(severity, message) {\r\n if (_areInternalMessagesThrottled()) {\r\n return;\r\n }\r\n // check if this message type was already logged for this session and if so, don't log it again\r\n var logMessage = true;\r\n var messageKey = AIInternalMessagePrefix + message[_DYN_MESSAGE_ID /* @min:%2emessageId */];\r\n // if the session storage is not available, limit to only one message type per page view\r\n if (_messageLogged[messageKey]) {\r\n logMessage = false;\r\n }\r\n else {\r\n _messageLogged[messageKey] = true;\r\n }\r\n if (logMessage) {\r\n // Push the event in the internal queue\r\n if (severity <= _loggingLevelTelemetry) {\r\n _self.queue[_DYN_PUSH /* @min:%2epush */](message);\r\n _messageCount++;\r\n _debugExtMsg((severity === 1 /* eLoggingSeverity.CRITICAL */ ? \"error\" : \"warn\"), message);\r\n }\r\n // When throttle limit reached, send a special event\r\n if (_messageCount === _maxInternalMessageLimit) {\r\n var throttleLimitMessage = \"Internal events throttle limit per PageView reached for this app.\";\r\n var throttleMessage = new _InternalLogMessage(23 /* _eInternalMessageId.MessageLimitPerPVExceeded */, throttleLimitMessage, false);\r\n _self.queue[_DYN_PUSH /* @min:%2epush */](throttleMessage);\r\n if (severity === 1 /* eLoggingSeverity.CRITICAL */) {\r\n _self[STR_ERROR_TO_CONSOLE /* @min:%2eerrorToConsole */](throttleLimitMessage);\r\n }\r\n else {\r\n _self[STR_WARN_TO_CONSOLE /* @min:%2ewarnToConsole */](throttleLimitMessage);\r\n }\r\n }\r\n }\r\n }\r\n function _setDefaultsFromConfig(config) {\r\n _loggingLevelConsole = getCfgValue(config.loggingLevelConsole, 0);\r\n _loggingLevelTelemetry = getCfgValue(config.loggingLevelTelemetry, 1);\r\n _maxInternalMessageLimit = getCfgValue(config.maxMessageLimit, 25);\r\n _enableDebug = getCfgValue(config.enableDebug, getCfgValue(config[_DYN_ENABLE_DEBUG_EXCEPTI4 /* @min:%2eenableDebugExceptions */], false));\r\n }\r\n function _areInternalMessagesThrottled() {\r\n return _messageCount >= _maxInternalMessageLimit;\r\n }\r\n function _debugExtMsg(name, data) {\r\n var dbgExt = getDebugExt(config || {});\r\n if (dbgExt && dbgExt[_DYN_DIAG_LOG /* @min:%2ediagLog */]) {\r\n dbgExt[_DYN_DIAG_LOG /* @min:%2ediagLog */](name, data);\r\n }\r\n }\r\n });\r\n }\r\n// Removed Stub for DiagnosticLogger.prototype.enableDebugExceptions.\r\n// Removed Stub for DiagnosticLogger.prototype.consoleLoggingLevel.\r\n// Removed Stub for DiagnosticLogger.prototype.telemetryLoggingLevel.\r\n// Removed Stub for DiagnosticLogger.prototype.maxInternalMessageLimit.\r\n// Removed Stub for DiagnosticLogger.prototype.throwInternal.\r\n// Removed Stub for DiagnosticLogger.prototype.warnToConsole.\r\n// Removed Stub for DiagnosticLogger.prototype.errorToConsole.\r\n// Removed Stub for DiagnosticLogger.prototype.resetInternalMessageCount.\r\n// Removed Stub for DiagnosticLogger.prototype.logInternalMessage.\r\n // This is a workaround for an IE8 bug when using dynamicProto() with classes that don't have any\n // non-dynamic functions or static properties/functions when using uglify-js to minify the resulting code.\n // this will be removed when ES3 support is dropped.\n DiagnosticLogger.__ieDyn=1;\n\n return DiagnosticLogger;\r\n}());\r\nexport { DiagnosticLogger };\r\nfunction _getLogger(logger) {\r\n return (logger || new DiagnosticLogger());\r\n}\r\n/**\r\n * This is a helper method which will call throwInternal on the passed logger, will throw exceptions in\r\n * debug mode or attempt to log the error as a console warning. This helper is provided mostly to better\r\n * support minification as logger.throwInternal() will not compress the publish \"throwInternal\" used throughout\r\n * the code.\r\n * @param logger - The Diagnostic Logger instance to use.\r\n * @param severity {LoggingSeverity} - The severity of the log message\r\n * @param message {_InternalLogMessage} - The log message.\r\n */\r\nexport function _throwInternal(logger, severity, msgId, msg, properties, isUserAct) {\r\n if (isUserAct === void 0) { isUserAct = false; }\r\n _getLogger(logger).throwInternal(severity, msgId, msg, properties, isUserAct);\r\n}\r\n/**\r\n * This is a helper method which will call warnToConsole on the passed logger with the provided message.\r\n * @param logger - The Diagnostic Logger instance to use.\r\n * @param message {_InternalLogMessage} - The log message.\r\n */\r\nexport function _warnToConsole(logger, message) {\r\n _getLogger(logger)[STR_WARN_TO_CONSOLE /* @min:%2ewarnToConsole */](message);\r\n}\r\n/**\r\n * Logs a message to the internal queue.\r\n * @param logger - The Diagnostic Logger instance to use.\r\n * @param severity {LoggingSeverity} - The severity of the log message\r\n * @param message {_InternalLogMessage} - The message to log.\r\n */\r\nexport function _logInternalMessage(logger, severity, message) {\r\n _getLogger(logger)[_DYN_LOG_INTERNAL_MESSAGE /* @min:%2elogInternalMessage */](severity, message);\r\n}\r\n","/*\n * Application Insights JavaScript SDK - Core, 2.8.15\n * Copyright (c) Microsoft and contributors. All rights reserved.\n */\n\r\n\r\n\"use strict\";\r\nimport { getGlobal, strShimObject, strShimPrototype, strShimUndefined } from \"@microsoft/applicationinsights-shims\";\r\nimport { _DYN_CALL, _DYN_INDEX_OF, _DYN_LENGTH, _DYN_NAME, _DYN_SPLIT, _DYN_TO_LOWER_CASE, _DYN_USER_AGENT } from \"../__DynamicConstants\";\r\nimport { isFunction, isString, isUndefined, strContains } from \"./HelperFuncs\";\r\nimport { STR_EMPTY } from \"./InternalConstants\";\r\n/**\r\n * This file exists to hold environment utilities that are required to check and\r\n * validate the current operating environment. Unless otherwise required, please\r\n * only use defined methods (functions) in this class so that users of these\r\n * functions/properties only need to include those that are used within their own modules.\r\n */\r\nvar strWindow = \"window\";\r\nvar strDocument = \"document\";\r\nvar strDocumentMode = \"documentMode\";\r\nvar strNavigator = \"navigator\";\r\nvar strHistory = \"history\";\r\nvar strLocation = \"location\";\r\nvar strConsole = \"console\";\r\nvar strPerformance = \"performance\";\r\nvar strJSON = \"JSON\";\r\nvar strCrypto = \"crypto\";\r\nvar strMsCrypto = \"msCrypto\";\r\nvar strReactNative = \"ReactNative\";\r\nvar strMsie = \"msie\";\r\nvar strTrident = \"trident/\";\r\nvar strXMLHttpRequest = \"XMLHttpRequest\";\r\nvar _isTrident = null;\r\nvar _navUserAgentCheck = null;\r\nvar _enableMocks = false;\r\nvar _useXDomainRequest = null;\r\nvar _beaconsSupported = null;\r\nfunction _hasProperty(theClass, property) {\r\n var supported = false;\r\n if (theClass) {\r\n try {\r\n supported = property in theClass;\r\n if (!supported) {\r\n var proto = theClass[strShimPrototype];\r\n if (proto) {\r\n supported = property in proto;\r\n }\r\n }\r\n }\r\n catch (e) {\r\n // Do Nothing\r\n }\r\n if (!supported) {\r\n try {\r\n var tmp = new theClass();\r\n supported = !isUndefined(tmp[property]);\r\n }\r\n catch (e) {\r\n // Do Nothing\r\n }\r\n }\r\n }\r\n return supported;\r\n}\r\n/**\r\n * Enable the lookup of test mock objects if requested\r\n * @param enabled\r\n */\r\nexport function setEnableEnvMocks(enabled) {\r\n _enableMocks = enabled;\r\n}\r\n/**\r\n * Return the named global object if available, will return null if the object is not available.\r\n * @param name The globally named object\r\n */\r\nexport function getGlobalInst(name) {\r\n var gbl = getGlobal();\r\n if (gbl && gbl[name]) {\r\n return gbl[name];\r\n }\r\n // Test workaround, for environments where .window (when global == window) doesn't return the base window\r\n if (name === strWindow && hasWindow()) {\r\n // tslint:disable-next-line: no-angle-bracket-type-assertion\r\n return window;\r\n }\r\n return null;\r\n}\r\n/**\r\n * Checks if window object is available, this is required as we support the API running without a\r\n * window /document (eg. Node server, electron webworkers) and if we attempt to assign a window\r\n * object to a local variable or pass as an argument an \"Uncaught ReferenceError: window is not defined\"\r\n * exception will be thrown.\r\n * Defined as a function to support lazy / late binding environments.\r\n */\r\nexport function hasWindow() {\r\n return Boolean(typeof window === strShimObject && window);\r\n}\r\n/**\r\n * Returns the global window object if it is present otherwise null.\r\n * This helper is used to access the window object without causing an exception\r\n * \"Uncaught ReferenceError: window is not defined\"\r\n */\r\nexport function getWindow() {\r\n if (hasWindow()) {\r\n return window;\r\n }\r\n // Return the global instance or null\r\n return getGlobalInst(strWindow);\r\n}\r\n/**\r\n * Checks if document object is available, this is required as we support the API running without a\r\n * window /document (eg. Node server, electron webworkers) and if we attempt to assign a document\r\n * object to a local variable or pass as an argument an \"Uncaught ReferenceError: document is not defined\"\r\n * exception will be thrown.\r\n * Defined as a function to support lazy / late binding environments.\r\n */\r\nexport function hasDocument() {\r\n return Boolean(typeof document === strShimObject && document);\r\n}\r\n/**\r\n * Returns the global document object if it is present otherwise null.\r\n * This helper is used to access the document object without causing an exception\r\n * \"Uncaught ReferenceError: document is not defined\"\r\n */\r\nexport function getDocument() {\r\n if (hasDocument()) {\r\n return document;\r\n }\r\n return getGlobalInst(strDocument);\r\n}\r\n/**\r\n * Checks if navigator object is available, this is required as we support the API running without a\r\n * window /document (eg. Node server, electron webworkers) and if we attempt to assign a navigator\r\n * object to a local variable or pass as an argument an \"Uncaught ReferenceError: navigator is not defined\"\r\n * exception will be thrown.\r\n * Defined as a function to support lazy / late binding environments.\r\n */\r\nexport function hasNavigator() {\r\n return Boolean(typeof navigator === strShimObject && navigator);\r\n}\r\n/**\r\n * Returns the global navigator object if it is present otherwise null.\r\n * This helper is used to access the navigator object without causing an exception\r\n * \"Uncaught ReferenceError: navigator is not defined\"\r\n */\r\nexport function getNavigator() {\r\n if (hasNavigator()) {\r\n return navigator;\r\n }\r\n return getGlobalInst(strNavigator);\r\n}\r\n/**\r\n * Checks if history object is available, this is required as we support the API running without a\r\n * window /document (eg. Node server, electron webworkers) and if we attempt to assign a history\r\n * object to a local variable or pass as an argument an \"Uncaught ReferenceError: history is not defined\"\r\n * exception will be thrown.\r\n * Defined as a function to support lazy / late binding environments.\r\n */\r\nexport function hasHistory() {\r\n return Boolean(typeof history === strShimObject && history);\r\n}\r\n/**\r\n * Returns the global history object if it is present otherwise null.\r\n * This helper is used to access the history object without causing an exception\r\n * \"Uncaught ReferenceError: history is not defined\"\r\n */\r\nexport function getHistory() {\r\n if (hasHistory()) {\r\n return history;\r\n }\r\n return getGlobalInst(strHistory);\r\n}\r\n/**\r\n * Returns the global location object if it is present otherwise null.\r\n * This helper is used to access the location object without causing an exception\r\n * \"Uncaught ReferenceError: location is not defined\"\r\n */\r\nexport function getLocation(checkForMock) {\r\n if (checkForMock && _enableMocks) {\r\n var mockLocation = getGlobalInst(\"__mockLocation\");\r\n if (mockLocation) {\r\n return mockLocation;\r\n }\r\n }\r\n if (typeof location === strShimObject && location) {\r\n return location;\r\n }\r\n return getGlobalInst(strLocation);\r\n}\r\n/**\r\n * Returns the global console object\r\n */\r\nexport function getConsole() {\r\n if (typeof console !== strShimUndefined) {\r\n return console;\r\n }\r\n return getGlobalInst(strConsole);\r\n}\r\n/**\r\n * Returns the performance object if it is present otherwise null.\r\n * This helper is used to access the performance object from the current\r\n * global instance which could be window or globalThis for a web worker\r\n */\r\nexport function getPerformance() {\r\n return getGlobalInst(strPerformance);\r\n}\r\n/**\r\n * Checks if JSON object is available, this is required as we support the API running without a\r\n * window /document (eg. Node server, electron webworkers) and if we attempt to assign a history\r\n * object to a local variable or pass as an argument an \"Uncaught ReferenceError: JSON is not defined\"\r\n * exception will be thrown.\r\n * Defined as a function to support lazy / late binding environments.\r\n */\r\nexport function hasJSON() {\r\n return Boolean((typeof JSON === strShimObject && JSON) || getGlobalInst(strJSON) !== null);\r\n}\r\n/**\r\n * Returns the global JSON object if it is present otherwise null.\r\n * This helper is used to access the JSON object without causing an exception\r\n * \"Uncaught ReferenceError: JSON is not defined\"\r\n */\r\nexport function getJSON() {\r\n if (hasJSON()) {\r\n return JSON || getGlobalInst(strJSON);\r\n }\r\n return null;\r\n}\r\n/**\r\n * Returns the crypto object if it is present otherwise null.\r\n * This helper is used to access the crypto object from the current\r\n * global instance which could be window or globalThis for a web worker\r\n */\r\nexport function getCrypto() {\r\n return getGlobalInst(strCrypto);\r\n}\r\n/**\r\n * Returns the crypto object if it is present otherwise null.\r\n * This helper is used to access the crypto object from the current\r\n * global instance which could be window or globalThis for a web worker\r\n */\r\nexport function getMsCrypto() {\r\n return getGlobalInst(strMsCrypto);\r\n}\r\n/**\r\n * Returns whether the environment is reporting that we are running in a React Native Environment\r\n */\r\nexport function isReactNative() {\r\n // If running in React Native, navigator.product will be populated\r\n var nav = getNavigator();\r\n if (nav && nav.product) {\r\n return nav.product === strReactNative;\r\n }\r\n return false;\r\n}\r\n/**\r\n * Identifies whether the current environment appears to be IE\r\n */\r\nexport function isIE() {\r\n var nav = getNavigator();\r\n if (nav && (nav[_DYN_USER_AGENT /* @min:%2euserAgent */] !== _navUserAgentCheck || _isTrident === null)) {\r\n // Added to support test mocking of the user agent\r\n _navUserAgentCheck = nav[_DYN_USER_AGENT /* @min:%2euserAgent */];\r\n var userAgent = (_navUserAgentCheck || STR_EMPTY)[_DYN_TO_LOWER_CASE /* @min:%2etoLowerCase */]();\r\n _isTrident = (strContains(userAgent, strMsie) || strContains(userAgent, strTrident));\r\n }\r\n return _isTrident;\r\n}\r\n/**\r\n * Gets IE version returning the document emulation mode if we are running on IE, or null otherwise\r\n */\r\nexport function getIEVersion(userAgentStr) {\r\n if (userAgentStr === void 0) { userAgentStr = null; }\r\n if (!userAgentStr) {\r\n var navigator_1 = getNavigator() || {};\r\n userAgentStr = navigator_1 ? (navigator_1[_DYN_USER_AGENT /* @min:%2euserAgent */] || STR_EMPTY)[_DYN_TO_LOWER_CASE /* @min:%2etoLowerCase */]() : STR_EMPTY;\r\n }\r\n var ua = (userAgentStr || STR_EMPTY)[_DYN_TO_LOWER_CASE /* @min:%2etoLowerCase */]();\r\n // Also check for documentMode in case X-UA-Compatible meta tag was included in HTML.\r\n if (strContains(ua, strMsie)) {\r\n var doc = getDocument() || {};\r\n return Math.max(parseInt(ua[_DYN_SPLIT /* @min:%2esplit */](strMsie)[1]), (doc[strDocumentMode] || 0));\r\n }\r\n else if (strContains(ua, strTrident)) {\r\n var tridentVer = parseInt(ua[_DYN_SPLIT /* @min:%2esplit */](strTrident)[1]);\r\n if (tridentVer) {\r\n return tridentVer + 4;\r\n }\r\n }\r\n return null;\r\n}\r\n/**\r\n * Returns string representation of an object suitable for diagnostics logging.\r\n */\r\nexport function dumpObj(object) {\r\n var objectTypeDump = Object[strShimPrototype].toString[_DYN_CALL /* @min:%2ecall */](object);\r\n var propertyValueDump = STR_EMPTY;\r\n if (objectTypeDump === \"[object Error]\") {\r\n propertyValueDump = \"{ stack: '\" + object.stack + \"', message: '\" + object.message + \"', name: '\" + object[_DYN_NAME /* @min:%2ename */] + \"'\";\r\n }\r\n else if (hasJSON()) {\r\n propertyValueDump = getJSON().stringify(object);\r\n }\r\n return objectTypeDump + propertyValueDump;\r\n}\r\nexport function isSafari(userAgentStr) {\r\n if (!userAgentStr || !isString(userAgentStr)) {\r\n var navigator_2 = getNavigator() || {};\r\n userAgentStr = navigator_2 ? (navigator_2[_DYN_USER_AGENT /* @min:%2euserAgent */] || STR_EMPTY)[_DYN_TO_LOWER_CASE /* @min:%2etoLowerCase */]() : STR_EMPTY;\r\n }\r\n var ua = (userAgentStr || STR_EMPTY)[_DYN_TO_LOWER_CASE /* @min:%2etoLowerCase */]();\r\n return (ua[_DYN_INDEX_OF /* @min:%2eindexOf */](\"safari\") >= 0);\r\n}\r\n/**\r\n * Checks if HTML5 Beacons are supported in the current environment.\r\n * @returns True if supported, false otherwise.\r\n */\r\nexport function isBeaconsSupported() {\r\n if (_beaconsSupported === null) {\r\n _beaconsSupported = hasNavigator() && Boolean(getNavigator().sendBeacon);\r\n }\r\n return _beaconsSupported;\r\n}\r\n/**\r\n * Checks if the Fetch API is supported in the current environment.\r\n * @param withKeepAlive - [Optional] If True, check if fetch is available and it supports the keepalive feature, otherwise only check if fetch is supported\r\n * @returns True if supported, otherwise false\r\n */\r\nexport function isFetchSupported(withKeepAlive) {\r\n var isSupported = false;\r\n try {\r\n isSupported = !!getGlobalInst(\"fetch\");\r\n var request = getGlobalInst(\"Request\");\r\n if (isSupported && withKeepAlive && request) {\r\n isSupported = _hasProperty(request, \"keepalive\");\r\n }\r\n }\r\n catch (e) {\r\n // Just Swallow any failure during availability checks\r\n }\r\n return isSupported;\r\n}\r\nexport function useXDomainRequest() {\r\n if (_useXDomainRequest === null) {\r\n _useXDomainRequest = (typeof XDomainRequest !== strShimUndefined);\r\n if (_useXDomainRequest && isXhrSupported()) {\r\n _useXDomainRequest = _useXDomainRequest && !_hasProperty(getGlobalInst(strXMLHttpRequest), \"withCredentials\");\r\n }\r\n }\r\n return _useXDomainRequest;\r\n}\r\n/**\r\n * Checks if XMLHttpRequest is supported\r\n * @returns True if supported, otherwise false\r\n */\r\nexport function isXhrSupported() {\r\n var isSupported = false;\r\n try {\r\n var xmlHttpRequest = getGlobalInst(strXMLHttpRequest);\r\n isSupported = !!xmlHttpRequest;\r\n }\r\n catch (e) {\r\n // Just Swallow any failure during availability checks\r\n }\r\n return isSupported;\r\n}\r\nfunction _getNamedValue(values, name) {\r\n if (values) {\r\n for (var i = 0; i < values[_DYN_LENGTH /* @min:%2elength */]; i++) {\r\n var value = values[i];\r\n if (value[_DYN_NAME /* @min:%2ename */]) {\r\n if (value[_DYN_NAME /* @min:%2ename */] === name) {\r\n return value;\r\n }\r\n }\r\n }\r\n }\r\n return {};\r\n}\r\n/**\r\n * Helper function to fetch the named meta-tag from the page.\r\n * @param name\r\n */\r\nexport function findMetaTag(name) {\r\n var doc = getDocument();\r\n if (doc && name) {\r\n // Look for a meta-tag\r\n return _getNamedValue(doc.querySelectorAll(\"meta\"), name).content;\r\n }\r\n return null;\r\n}\r\n/**\r\n * Helper function to fetch the named server timing value from the page response (first navigation event).\r\n * @param name\r\n */\r\nexport function findNamedServerTiming(name) {\r\n var value;\r\n var perf = getPerformance();\r\n if (perf) {\r\n // Try looking for a server-timing header\r\n var navPerf = perf.getEntriesByType(\"navigation\") || [];\r\n value = _getNamedValue((navPerf[_DYN_LENGTH /* @min:%2elength */] > 0 ? navPerf[0] : {}).serverTiming, name).description;\r\n }\r\n return value;\r\n}\r\n// TODO: should reuse this method for analytics plugin\r\nexport function dispatchEvent(target, evnt) {\r\n if (target && target.dispatchEvent && evnt) {\r\n target.dispatchEvent(evnt);\r\n return true;\r\n }\r\n return false;\r\n}\r\nexport function createCustomDomEvent(eventName, details) {\r\n var event = null;\r\n var detail = { detail: details || null };\r\n if (isFunction(CustomEvent)) { // Use CustomEvent constructor when available\r\n event = new CustomEvent(eventName, detail);\r\n }\r\n else { // CustomEvent has no constructor in IE\r\n var doc = getDocument();\r\n if (doc && doc.createEvent) {\r\n event = doc.createEvent(\"CustomEvent\");\r\n event.initCustomEvent(eventName, true, true, detail);\r\n }\r\n }\r\n return event;\r\n}\r\nexport function sendCustomEvent(evtName, cfg, customDetails) {\r\n var global = getGlobal();\r\n if (global && global.CustomEvent) {\r\n try {\r\n var details = { cfg: cfg || null, customDetails: customDetails || null };\r\n return dispatchEvent(global, createCustomDomEvent(evtName, details));\r\n }\r\n catch (e) {\r\n // eslint-disable-next-line no-empty\r\n }\r\n }\r\n return false;\r\n}\r\n","/*\n * Application Insights JavaScript SDK - Core, 2.8.15\n * Copyright (c) Microsoft and contributors. All rights reserved.\n */\n\r\n\r\nimport { _DYN_HANDLER, _DYN_LENGTH, _DYN_NAME, _DYN_PUSH, _DYN_REPLACE, _DYN_SPLICE, _DYN_SPLIT, _DYN_TYPE } from \"../__DynamicConstants\";\r\nimport { createElmNodeData, createUniqueNamespace } from \"./DataCacheHelper\";\r\nimport { getDocument, getWindow } from \"./EnvUtils\";\r\nimport { arrForEach, arrIndexOf, isArray, objForEachKey, objKeys } from \"./HelperFuncs\";\r\nimport { STR_EMPTY } from \"./InternalConstants\";\r\n// Added to help with minfication\r\nvar strOnPrefix = \"on\";\r\nvar strAttachEvent = \"attachEvent\";\r\nvar strAddEventHelper = \"addEventListener\";\r\nvar strDetachEvent = \"detachEvent\";\r\nvar strRemoveEventListener = \"removeEventListener\";\r\nvar strEvents = \"events\";\r\nvar strVisibilityChangeEvt = \"visibilitychange\";\r\nvar strPageHide = \"pagehide\";\r\nvar strPageShow = \"pageshow\";\r\nvar strUnload = \"unload\";\r\nvar strBeforeUnload = \"beforeunload\";\r\nvar strPageHideNamespace = createUniqueNamespace(\"aiEvtPageHide\");\r\nvar strPageShowNamespace = createUniqueNamespace(\"aiEvtPageShow\");\r\nvar rRemoveEmptyNs = /\\.[\\.]+/g;\r\nvar rRemoveTrailingEmptyNs = /[\\.]+$/;\r\nvar _guid = 1;\r\nvar elmNodeData = createElmNodeData(\"events\");\r\nvar eventNamespace = /^([^.]*)(?:\\.(.+)|)/;\r\nfunction _normalizeNamespace(name) {\r\n if (name && name[_DYN_REPLACE /* @min:%2ereplace */]) {\r\n return name[_DYN_REPLACE /* @min:%2ereplace */](/^[\\s\\.]+|(?=[\\s\\.])[\\.\\s]+$/g, STR_EMPTY);\r\n }\r\n return name;\r\n}\r\nfunction _getEvtNamespace(eventName, evtNamespace) {\r\n var _a;\r\n if (evtNamespace) {\r\n var theNamespace_1 = STR_EMPTY;\r\n if (isArray(evtNamespace)) {\r\n theNamespace_1 = STR_EMPTY;\r\n arrForEach(evtNamespace, function (name) {\r\n name = _normalizeNamespace(name);\r\n if (name) {\r\n if (name[0] !== \".\") {\r\n name = \".\" + name;\r\n }\r\n theNamespace_1 += name;\r\n }\r\n });\r\n }\r\n else {\r\n theNamespace_1 = _normalizeNamespace(evtNamespace);\r\n }\r\n if (theNamespace_1) {\r\n if (theNamespace_1[0] !== \".\") {\r\n theNamespace_1 = \".\" + theNamespace_1;\r\n }\r\n // We may only have the namespace and not an eventName\r\n eventName = (eventName || STR_EMPTY) + theNamespace_1;\r\n }\r\n }\r\n var parsedEvent = (eventNamespace.exec(eventName || STR_EMPTY) || []);\r\n return _a = {},\r\n _a[_DYN_TYPE /* @min:type */] = parsedEvent[1],\r\n _a.ns = ((parsedEvent[2] || STR_EMPTY).replace(rRemoveEmptyNs, \".\").replace(rRemoveTrailingEmptyNs, STR_EMPTY)[_DYN_SPLIT /* @min:%2esplit */](\".\").sort()).join(\".\"),\r\n _a;\r\n}\r\n/**\r\n * Get all of the registered events on the target object, this is primarily used for testing cleanup but may also be used by\r\n * applications to remove their own events\r\n * @param target - The EventTarget that has registered events\r\n * @param eventName - [Optional] The name of the event to return the registered handlers and full name (with namespaces)\r\n * @param evtNamespace - [Optional] Additional namespace(s) to append to the event listeners so they can be uniquely identified and removed based on this namespace,\r\n * if the eventName also includes a namespace the namespace(s) are merged into a single namespace\r\n */\r\nexport function __getRegisteredEvents(target, eventName, evtNamespace) {\r\n var theEvents = [];\r\n var eventCache = elmNodeData.get(target, strEvents, {}, false);\r\n var evtName = _getEvtNamespace(eventName, evtNamespace);\r\n objForEachKey(eventCache, function (evtType, registeredEvents) {\r\n arrForEach(registeredEvents, function (value) {\r\n var _a;\r\n if (!evtName[_DYN_TYPE /* @min:%2etype */] || evtName[_DYN_TYPE /* @min:%2etype */] === value.evtName[_DYN_TYPE /* @min:%2etype */]) {\r\n if (!evtName.ns || evtName.ns === evtName.ns) {\r\n theEvents[_DYN_PUSH /* @min:%2epush */]((_a = {},\r\n _a[_DYN_NAME /* @min:name */] = value.evtName[_DYN_TYPE /* @min:%2etype */] + (value.evtName.ns ? \".\" + value.evtName.ns : STR_EMPTY),\r\n _a.handler = value[_DYN_HANDLER /* @min:%2ehandler */],\r\n _a));\r\n }\r\n }\r\n });\r\n });\r\n return theEvents;\r\n}\r\n// Exported for internal unit testing only\r\nfunction _getRegisteredEvents(target, evtName, addDefault) {\r\n if (addDefault === void 0) { addDefault = true; }\r\n var aiEvts = elmNodeData.get(target, strEvents, {}, addDefault);\r\n var registeredEvents = aiEvts[evtName];\r\n if (!registeredEvents) {\r\n registeredEvents = aiEvts[evtName] = [];\r\n }\r\n return registeredEvents;\r\n}\r\nfunction _doDetach(obj, evtName, handlerRef, useCapture) {\r\n if (obj && evtName && evtName[_DYN_TYPE /* @min:%2etype */]) {\r\n if (obj[strRemoveEventListener]) {\r\n obj[strRemoveEventListener](evtName[_DYN_TYPE /* @min:%2etype */], handlerRef, useCapture);\r\n }\r\n else if (obj[strDetachEvent]) {\r\n obj[strDetachEvent](strOnPrefix + evtName[_DYN_TYPE /* @min:%2etype */], handlerRef);\r\n }\r\n }\r\n}\r\nfunction _doAttach(obj, evtName, handlerRef, useCapture) {\r\n var result = false;\r\n if (obj && evtName && evtName[_DYN_TYPE /* @min:%2etype */] && handlerRef) {\r\n if (obj[strAddEventHelper]) {\r\n // all browsers except IE before version 9\r\n obj[strAddEventHelper](evtName[_DYN_TYPE /* @min:%2etype */], handlerRef, useCapture);\r\n result = true;\r\n }\r\n else if (obj[strAttachEvent]) {\r\n // IE before version 9\r\n obj[strAttachEvent](strOnPrefix + evtName[_DYN_TYPE /* @min:%2etype */], handlerRef);\r\n result = true;\r\n }\r\n }\r\n return result;\r\n}\r\nfunction _doUnregister(target, events, evtName, unRegFn) {\r\n var idx = events[_DYN_LENGTH /* @min:%2elength */];\r\n while (idx--) {\r\n var theEvent = events[idx];\r\n if (theEvent) {\r\n if (!evtName.ns || evtName.ns === theEvent.evtName.ns) {\r\n if (!unRegFn || unRegFn(theEvent)) {\r\n _doDetach(target, theEvent.evtName, theEvent[_DYN_HANDLER /* @min:%2ehandler */], theEvent.capture);\r\n // Remove the registered event\r\n events[_DYN_SPLICE /* @min:%2esplice */](idx, 1);\r\n }\r\n }\r\n }\r\n }\r\n}\r\nfunction _unregisterEvents(target, evtName, unRegFn) {\r\n if (evtName[_DYN_TYPE /* @min:%2etype */]) {\r\n _doUnregister(target, _getRegisteredEvents(target, evtName[_DYN_TYPE /* @min:%2etype */]), evtName, unRegFn);\r\n }\r\n else {\r\n var eventCache = elmNodeData.get(target, strEvents, {});\r\n objForEachKey(eventCache, function (evtType, events) {\r\n _doUnregister(target, events, evtName, unRegFn);\r\n });\r\n // Cleanup\r\n if (objKeys(eventCache)[_DYN_LENGTH /* @min:%2elength */] === 0) {\r\n elmNodeData.kill(target, strEvents);\r\n }\r\n }\r\n}\r\nexport function mergeEvtNamespace(theNamespace, namespaces) {\r\n var newNamespaces;\r\n if (namespaces) {\r\n if (isArray(namespaces)) {\r\n newNamespaces = [theNamespace].concat(namespaces);\r\n }\r\n else {\r\n newNamespaces = [theNamespace, namespaces];\r\n }\r\n // resort the namespaces so they are always in order\r\n newNamespaces = (_getEvtNamespace(\"xx\", newNamespaces).ns)[_DYN_SPLIT /* @min:%2esplit */](\".\");\r\n }\r\n else {\r\n newNamespaces = theNamespace;\r\n }\r\n return newNamespaces;\r\n}\r\n/**\r\n * Binds the specified function to an event, so that the function gets called whenever the event fires on the object\r\n * @param obj Object to add the event too.\r\n * @param eventName String that specifies any of the standard DHTML Events without \"on\" prefix, if may also include an optional (dot \".\" prefixed)\r\n * namespaces \"click\" \"click.mynamespace\" in addition to specific namespaces.\r\n * @param handlerRef Pointer that specifies the function to call when event fires\r\n * @param evtNamespace - [Optional] Additional namespace(s) to append to the event listeners so they can be uniquely identified and removed based on this namespace,\r\n * if the eventName also includes a namespace the namespace(s) are merged into a single namespace\r\n * @param useCapture [Optional] Defaults to false\r\n * @returns True if the function was bound successfully to the event, otherwise false\r\n */\r\nexport function eventOn(target, eventName, handlerRef, evtNamespace, useCapture) {\r\n var _a;\r\n if (useCapture === void 0) { useCapture = false; }\r\n var result = false;\r\n if (target) {\r\n try {\r\n var evtName = _getEvtNamespace(eventName, evtNamespace);\r\n result = _doAttach(target, evtName, handlerRef, useCapture);\r\n if (result && elmNodeData.accept(target)) {\r\n var registeredEvent = (_a = {\r\n guid: _guid++,\r\n evtName: evtName\r\n },\r\n _a[_DYN_HANDLER /* @min:handler */] = handlerRef,\r\n _a.capture = useCapture,\r\n _a);\r\n _getRegisteredEvents(target, evtName.type)[_DYN_PUSH /* @min:%2epush */](registeredEvent);\r\n }\r\n }\r\n catch (e) {\r\n // Just Ignore any error so that we don't break any execution path\r\n }\r\n }\r\n return result;\r\n}\r\n/**\r\n * Removes an event handler for the specified event\r\n * @param Object to remove the event from\r\n * @param eventName {string} - The name of the event, with optional namespaces or just the namespaces,\r\n * such as \"click\", \"click.mynamespace\" or \".mynamespace\"\r\n * @param handlerRef {any} - The callback function that needs to be removed from the given event, when using a\r\n * namespace (with or without a qualifying event) this may be null to remove all previously attached event handlers\r\n * otherwise this will only remove events with this specific handler.\r\n * @param evtNamespace - [Optional] Additional namespace(s) to append to the event listeners so they can be uniquely identified and removed based on this namespace,\r\n * if the eventName also includes a namespace the namespace(s) are merged into a single namespace\r\n * @param useCapture [Optional] Defaults to false\r\n */\r\nexport function eventOff(target, eventName, handlerRef, evtNamespace, useCapture) {\r\n if (useCapture === void 0) { useCapture = false; }\r\n if (target) {\r\n try {\r\n var evtName_1 = _getEvtNamespace(eventName, evtNamespace);\r\n var found_1 = false;\r\n _unregisterEvents(target, evtName_1, function (regEvent) {\r\n if ((evtName_1.ns && !handlerRef) || regEvent[_DYN_HANDLER /* @min:%2ehandler */] === handlerRef) {\r\n found_1 = true;\r\n return true;\r\n }\r\n return false;\r\n });\r\n if (!found_1) {\r\n // fallback to try and remove as requested\r\n _doDetach(target, evtName_1, handlerRef, useCapture);\r\n }\r\n }\r\n catch (e) {\r\n // Just Ignore any error so that we don't break any execution path\r\n }\r\n }\r\n}\r\n/**\r\n * Binds the specified function to an event, so that the function gets called whenever the event fires on the object\r\n * @param obj Object to add the event too.\r\n * @param eventNameWithoutOn String that specifies any of the standard DHTML Events without \"on\" prefix and optional (dot \".\" prefixed) namespaces \"click\" \"click.mynamespace\".\r\n * @param handlerRef Pointer that specifies the function to call when event fires\r\n * @param useCapture [Optional] Defaults to false\r\n * @returns True if the function was bound successfully to the event, otherwise false\r\n */\r\nexport function attachEvent(obj, eventNameWithoutOn, handlerRef, useCapture) {\r\n if (useCapture === void 0) { useCapture = false; }\r\n return eventOn(obj, eventNameWithoutOn, handlerRef, null, useCapture);\r\n}\r\n/**\r\n * Removes an event handler for the specified event\r\n * @param Object to remove the event from\r\n * @param eventNameWithoutOn {string} - The name of the event, with optional namespaces or just the namespaces,\r\n * such as \"click\", \"click.mynamespace\" or \".mynamespace\"\r\n * @param handlerRef {any} - The callback function that needs to be removed from the given event, when using a\r\n * namespace (with or without a qualifying event) this may be null to remove all previously attached event handlers\r\n * otherwise this will only remove events with this specific handler.\r\n * @param useCapture [Optional] Defaults to false\r\n */\r\nexport function detachEvent(obj, eventNameWithoutOn, handlerRef, useCapture) {\r\n if (useCapture === void 0) { useCapture = false; }\r\n eventOff(obj, eventNameWithoutOn, handlerRef, null, useCapture);\r\n}\r\n/**\r\n * Trys to add an event handler for the specified event to the window, body and document\r\n * @param eventName {string} - The name of the event\r\n * @param callback {any} - The callback function that needs to be executed for the given event\r\n * @param evtNamespace - [Optional] Namespace(s) to append to the event listeners so they can be uniquely identified and removed based on this namespace.\r\n * @return {boolean} - true if the handler was successfully added\r\n */\r\nexport function addEventHandler(eventName, callback, evtNamespace) {\r\n var result = false;\r\n var w = getWindow();\r\n if (w) {\r\n result = eventOn(w, eventName, callback, evtNamespace);\r\n result = eventOn(w[\"body\"], eventName, callback, evtNamespace) || result;\r\n }\r\n var doc = getDocument();\r\n if (doc) {\r\n result = eventOn(doc, eventName, callback, evtNamespace) || result;\r\n }\r\n return result;\r\n}\r\n/**\r\n * Trys to remove event handler(s) for the specified event/namespace to the window, body and document\r\n * @param eventName {string} - The name of the event, with optional namespaces or just the namespaces,\r\n * such as \"click\", \"click.mynamespace\" or \".mynamespace\"\r\n * @param callback {any} - - The callback function that needs to be removed from the given event, when using a\r\n * namespace (with or without a qualifying event) this may be null to remove all previously attached event handlers\r\n * otherwise this will only remove events with this specific handler.\r\n * @param evtNamespace - [Optional] Namespace(s) to append to the event listeners so they can be uniquely identified and removed based on this namespace.\r\n */\r\nexport function removeEventHandler(eventName, callback, evtNamespace) {\r\n var w = getWindow();\r\n if (w) {\r\n eventOff(w, eventName, callback, evtNamespace);\r\n eventOff(w[\"body\"], eventName, callback, evtNamespace);\r\n }\r\n var doc = getDocument();\r\n if (doc) {\r\n eventOff(doc, eventName, callback, evtNamespace);\r\n }\r\n}\r\n/**\r\n * Bind the listener to the array of events\r\n * @param events An string array of event names to bind the listener to\r\n * @param listener The event callback to call when the event is triggered\r\n * @param excludeEvents - [Optional] An array of events that should not be hooked (if possible), unless no other events can be.\r\n * @param evtNamespace - [Optional] Namespace(s) to append to the event listeners so they can be uniquely identified and removed based on this namespace.\r\n * @returns true - when at least one of the events was registered otherwise false\r\n */\r\nfunction _addEventListeners(events, listener, excludeEvents, evtNamespace) {\r\n var added = false;\r\n if (listener && events && events[_DYN_LENGTH /* @min:%2elength */] > 0) {\r\n arrForEach(events, function (name) {\r\n if (name) {\r\n if (!excludeEvents || arrIndexOf(excludeEvents, name) === -1) {\r\n added = addEventHandler(name, listener, evtNamespace) || added;\r\n }\r\n }\r\n });\r\n }\r\n return added;\r\n}\r\n/**\r\n * Bind the listener to the array of events\r\n * @param events An string array of event names to bind the listener to\r\n * @param listener The event callback to call when the event is triggered\r\n * @param excludeEvents - [Optional] An array of events that should not be hooked (if possible), unless no other events can be.\r\n * @param evtNamespace - [Optional] Namespace(s) to append to the event listeners so they can be uniquely identified and removed based on this namespace.\r\n * @returns true - when at least one of the events was registered otherwise false\r\n */\r\nexport function addEventListeners(events, listener, excludeEvents, evtNamespace) {\r\n var added = false;\r\n if (listener && events && isArray(events)) {\r\n added = _addEventListeners(events, listener, excludeEvents, evtNamespace);\r\n if (!added && excludeEvents && excludeEvents[_DYN_LENGTH /* @min:%2elength */] > 0) {\r\n // Failed to add any listeners and we excluded some, so just attempt to add the excluded events\r\n added = _addEventListeners(events, listener, null, evtNamespace);\r\n }\r\n }\r\n return added;\r\n}\r\n/**\r\n * Remove the listener from the array of events\r\n * @param events An string array of event names to bind the listener to\r\n * @param listener The event callback to call when the event is triggered\r\n * @param evtNamespace - [Optional] Namespace(s) to append to the event listeners so they can be uniquely identified and removed based on this namespace.\r\n */\r\nexport function removeEventListeners(events, listener, evtNamespace) {\r\n if (events && isArray(events)) {\r\n arrForEach(events, function (name) {\r\n if (name) {\r\n removeEventHandler(name, listener, evtNamespace);\r\n }\r\n });\r\n }\r\n}\r\n/**\r\n * Listen to the 'beforeunload', 'unload' and 'pagehide' events which indicates a page unload is occurring,\r\n * this does NOT listen to the 'visibilitychange' event as while it does indicate that the page is being hidden\r\n * it does not *necessarily* mean that the page is being completely unloaded, it can mean that the user is\r\n * just navigating to a different Tab and may come back (without unloading the page). As such you may also\r\n * need to listen to the 'addPageHideEventListener' and 'addPageShowEventListener' events.\r\n * @param listener - The event callback to call when a page unload event is triggered\r\n * @param excludeEvents - [Optional] An array of events that should not be hooked, unless no other events can be.\r\n * @param evtNamespace - [Optional] Namespace(s) to append to the event listeners so they can be uniquely identified and removed based on this namespace.\r\n * @returns true - when at least one of the events was registered otherwise false\r\n */\r\nexport function addPageUnloadEventListener(listener, excludeEvents, evtNamespace) {\r\n // Hook the unload event for the document, window and body to ensure that the client events are flushed to the server\r\n // As just hooking the window does not always fire (on chrome) for page navigation's.\r\n return addEventListeners([strBeforeUnload, strUnload, strPageHide], listener, excludeEvents, evtNamespace);\r\n}\r\n/**\r\n * Remove any matching 'beforeunload', 'unload' and 'pagehide' events that may have been added via addEventListener,\r\n * addEventListeners, addPageUnloadEventListener or addPageHideEventListener.\r\n * @param listener - The specific event callback to to be removed\r\n * @param evtNamespace - [Optional] Namespace(s) uniquely identified and removed based on this namespace.\r\n * @returns true - when at least one of the events was registered otherwise false\r\n */\r\nexport function removePageUnloadEventListener(listener, evtNamespace) {\r\n removeEventListeners([strBeforeUnload, strUnload, strPageHide], listener, evtNamespace);\r\n}\r\n/**\r\n * Listen to the pagehide and visibility changing to 'hidden' events, because the 'visibilitychange' uses\r\n * an internal proxy to detect the visibility state you SHOULD use a unique namespace when if you plan to call\r\n * removePageShowEventListener as the remove ignores the listener argument for the 'visibilitychange' event.\r\n * @param listener - The event callback to call when a page hide event is triggered\r\n * @param excludeEvents - [Optional] An array of events that should not be hooked (if possible), unless no other events can be.\r\n * @param evtNamespace - [Optional] A Namespace to append to the event listeners so they can be uniquely identified and removed\r\n * based on this namespace. This call also adds an additional unique \"pageshow\" namespace to the events\r\n * so that only the matching \"removePageHideEventListener\" can remove these events.\r\n * Suggestion: pass as true if you are also calling addPageUnloadEventListener as that also hooks pagehide\r\n * @returns true - when at least one of the events was registered otherwise false\r\n */\r\nexport function addPageHideEventListener(listener, excludeEvents, evtNamespace) {\r\n function _handlePageVisibility(evt) {\r\n var doc = getDocument();\r\n if (listener && doc && doc.visibilityState === \"hidden\") {\r\n listener(evt);\r\n }\r\n }\r\n // add the unique page show namespace to any provided namespace so we can only remove the ones added by \"pagehide\"\r\n var newNamespaces = mergeEvtNamespace(strPageHideNamespace, evtNamespace);\r\n var pageUnloadAdded = _addEventListeners([strPageHide], listener, excludeEvents, newNamespaces);\r\n if (!excludeEvents || arrIndexOf(excludeEvents, strVisibilityChangeEvt) === -1) {\r\n pageUnloadAdded = _addEventListeners([strVisibilityChangeEvt], _handlePageVisibility, excludeEvents, newNamespaces) || pageUnloadAdded;\r\n }\r\n if (!pageUnloadAdded && excludeEvents) {\r\n // Failed to add any listeners and we where requested to exclude some, so just call again without excluding anything\r\n pageUnloadAdded = addPageHideEventListener(listener, null, evtNamespace);\r\n }\r\n return pageUnloadAdded;\r\n}\r\n/**\r\n * Removes the pageHide event listeners added by addPageHideEventListener, because the 'visibilitychange' uses\r\n * an internal proxy to detect the visibility state you SHOULD use a unique namespace when calling addPageHideEventListener\r\n * as the remove ignores the listener argument for the 'visibilitychange' event.\r\n * @param listener - The specific listener to remove for the 'pageshow' event only (ignored for 'visibilitychange')\r\n * @param evtNamespace - The unique namespace used when calling addPageShowEventListener\r\n */\r\nexport function removePageHideEventListener(listener, evtNamespace) {\r\n // add the unique page show namespace to any provided namespace so we only remove the ones added by \"pagehide\"\r\n var newNamespaces = mergeEvtNamespace(strPageHideNamespace, evtNamespace);\r\n removeEventListeners([strPageHide], listener, newNamespaces);\r\n removeEventListeners([strVisibilityChangeEvt], null, newNamespaces);\r\n}\r\n/**\r\n * Listen to the pageshow and visibility changing to 'visible' events, because the 'visibilitychange' uses\r\n * an internal proxy to detect the visibility state you SHOULD use a unique namespace when if you plan to call\r\n * removePageShowEventListener as the remove ignores the listener argument for the 'visibilitychange' event.\r\n * @param listener - The event callback to call when a page is show event is triggered\r\n * @param excludeEvents - [Optional] An array of events that should not be hooked (if possible), unless no other events can be.\r\n * @param evtNamespace - [Optional/Recommended] A Namespace to append to the event listeners so they can be uniquely\r\n * identified and removed based on this namespace. This call also adds an additional unique \"pageshow\" namespace to the events\r\n * so that only the matching \"removePageShowEventListener\" can remove these events.\r\n * @returns true - when at least one of the events was registered otherwise false\r\n */\r\nexport function addPageShowEventListener(listener, excludeEvents, evtNamespace) {\r\n function _handlePageVisibility(evt) {\r\n var doc = getDocument();\r\n if (listener && doc && doc.visibilityState === \"visible\") {\r\n listener(evt);\r\n }\r\n }\r\n // add the unique page show namespace to any provided namespace so we can only remove the ones added by \"pageshow\"\r\n var newNamespaces = mergeEvtNamespace(strPageShowNamespace, evtNamespace);\r\n var pageShowAdded = _addEventListeners([strPageShow], listener, excludeEvents, newNamespaces);\r\n pageShowAdded = _addEventListeners([strVisibilityChangeEvt], _handlePageVisibility, excludeEvents, newNamespaces) || pageShowAdded;\r\n if (!pageShowAdded && excludeEvents) {\r\n // Failed to add any listeners and we where requested to exclude some, so just call again without excluding anything\r\n pageShowAdded = addPageShowEventListener(listener, null, evtNamespace);\r\n }\r\n return pageShowAdded;\r\n}\r\n/**\r\n * Removes the pageShow event listeners added by addPageShowEventListener, because the 'visibilitychange' uses\r\n * an internal proxy to detect the visibility state you SHOULD use a unique namespace when calling addPageShowEventListener\r\n * as the remove ignores the listener argument for the 'visibilitychange' event.\r\n * @param listener - The specific listener to remove for the 'pageshow' event only (ignored for 'visibilitychange')\r\n * @param evtNamespace - The unique namespace used when calling addPageShowEventListener\r\n */\r\nexport function removePageShowEventListener(listener, evtNamespace) {\r\n // add the unique page show namespace to any provided namespace so we only remove the ones added by \"pageshow\"\r\n var newNamespaces = mergeEvtNamespace(strPageShowNamespace, evtNamespace);\r\n removeEventListeners([strPageShow], listener, newNamespaces);\r\n removeEventListeners([strVisibilityChangeEvt], null, newNamespaces);\r\n}\r\n","/*\n * Application Insights JavaScript SDK - Core, 2.8.15\n * Copyright (c) Microsoft and contributors. All rights reserved.\n */\n\r\n\r\nimport { ObjAssign, ObjClass, ObjDefineProperty, ObjHasOwnProperty, ObjProto, strShimFunction, strShimObject, strShimPrototype, strShimUndefined, throwTypeError } from \"@microsoft/applicationinsights-shims\";\r\nimport { _DYN_APPLY, _DYN_CALL, _DYN_INDEX_OF, _DYN_LENGTH, _DYN_NAME, _DYN_PUSH, _DYN_REPLACE } from \"../__DynamicConstants\";\r\nimport { STR_EMPTY } from \"./InternalConstants\";\r\n// RESTRICT and AVOID circular dependencies you should not import other contained modules or export the contents of this file directly\r\n// Added to help with minfication\r\nvar strToISOString = \"toISOString\";\r\nvar cStrEndsWith = \"endsWith\";\r\nvar cStrStartsWith = \"startsWith\";\r\nvar strIndexOf = \"indexOf\";\r\nvar strMap = \"map\";\r\nvar strReduce = \"reduce\";\r\nvar cStrTrim = \"trim\";\r\nvar strToString = \"toString\";\r\n/**\r\n * Constant string defined to support minimization\r\n * @ignore\r\n */\r\nvar str__Proto = \"__proto__\";\r\n/**\r\n * Constant string defined to support minimization\r\n * @ignore\r\n */\r\nvar strConstructor = \"constructor\";\r\nvar _objDefineProperty = ObjDefineProperty;\r\nvar _objFreeze = ObjClass.freeze;\r\nvar _objSeal = ObjClass.seal;\r\nvar _objKeys = ObjClass.keys;\r\nvar StringProto = String[strShimPrototype];\r\nvar _strTrim = StringProto[cStrTrim];\r\nvar _strEndsWith = StringProto[cStrEndsWith];\r\nvar _strStartsWith = StringProto[cStrStartsWith];\r\nvar DateProto = Date[strShimPrototype];\r\nvar _dataToISOString = DateProto[strToISOString];\r\nvar _isArray = Array.isArray;\r\nvar _objToString = ObjProto[strToString];\r\nvar _fnToString = ObjHasOwnProperty[strToString];\r\n// Cache what this browser reports as the object function constructor (as a string)\r\nvar _objFunctionString = _fnToString[_DYN_CALL /* @min:%2ecall */](ObjClass);\r\nvar rCamelCase = /-([a-z])/g;\r\nvar rNormalizeInvalid = /([^\\w\\d_$])/g;\r\nvar rLeadingNumeric = /^(\\d+[\\w\\d_$])/;\r\n/**\r\n * Pre-lookup to check if we are running on a modern browser (i.e. not IE8)\r\n * @ignore\r\n */\r\nvar _objGetPrototypeOf = Object[\"getPrototypeOf\"];\r\n/**\r\n * Helper used to get the prototype of the target object as getPrototypeOf is not available in an ES3 environment.\r\n * @ignore\r\n */\r\nexport function _getObjProto(target) {\r\n if (target) {\r\n // This method doesn't existing in older browsers (e.g. IE8)\r\n if (_objGetPrototypeOf) {\r\n return _objGetPrototypeOf(target);\r\n }\r\n // target[Constructor] May break if the constructor has been changed or removed\r\n var newProto = target[str__Proto] || target[strShimPrototype] || target[strConstructor];\r\n if (newProto) {\r\n return newProto;\r\n }\r\n }\r\n return null;\r\n}\r\nexport function objToString(obj) {\r\n return _objToString[_DYN_CALL /* @min:%2ecall */](obj);\r\n}\r\nexport function isTypeof(value, theType) {\r\n return typeof value === theType;\r\n}\r\nexport function isUndefined(value) {\r\n return value === undefined || typeof value === strShimUndefined;\r\n}\r\nexport function isNotUndefined(value) {\r\n return !isUndefined(value);\r\n}\r\nexport function isNullOrUndefined(value) {\r\n return (value === null || isUndefined(value));\r\n}\r\nexport function isNotNullOrUndefined(value) {\r\n return !isNullOrUndefined(value);\r\n}\r\nexport function hasOwnProperty(obj, prop) {\r\n return !!(obj && ObjHasOwnProperty[_DYN_CALL /* @min:%2ecall */](obj, prop));\r\n}\r\nexport function isObject(value) {\r\n // Changing to inline for performance\r\n return !!(value && typeof value === strShimObject);\r\n}\r\nexport function isFunction(value) {\r\n // Changing to inline for performance\r\n return !!(value && typeof value === strShimFunction);\r\n}\r\nexport function isPromiseLike(value) {\r\n return value && isFunction(value.then);\r\n}\r\n/**\r\n * Validates that the string name conforms to the JS IdentifierName specification and if not\r\n * normalizes the name so that it would. This method does not identify or change any keywords\r\n * meaning that if you pass in a known keyword the same value will be returned.\r\n * This is a simplified version\r\n * @param name The name to validate\r\n */\r\nexport function normalizeJsName(name) {\r\n var value = name;\r\n if (value && isString(value)) {\r\n // CamelCase everything after the \"-\" and remove the dash\r\n value = value[_DYN_REPLACE /* @min:%2ereplace */](rCamelCase, function (_all, letter) {\r\n return letter.toUpperCase();\r\n });\r\n value = value[_DYN_REPLACE /* @min:%2ereplace */](rNormalizeInvalid, \"_\");\r\n value = value[_DYN_REPLACE /* @min:%2ereplace */](rLeadingNumeric, function (_all, match) {\r\n return \"_\" + match;\r\n });\r\n }\r\n return value;\r\n}\r\n/**\r\n * This is a helper function for the equivalent of arForEach(objKeys(target), callbackFn), this is a\r\n * performance optimization to avoid the creation of a new array for large objects\r\n * @param target The target object to find and process the keys\r\n * @param callbackfn The function to call with the details\r\n */\r\nexport function objForEachKey(target, callbackfn) {\r\n if (target) {\r\n for (var prop in target) {\r\n if (ObjHasOwnProperty[_DYN_CALL /* @min:%2ecall */](target, prop)) {\r\n callbackfn[_DYN_CALL /* @min:%2ecall */](target, prop, target[prop]);\r\n }\r\n }\r\n }\r\n}\r\n/**\r\n * The strEndsWith() method determines whether a string ends with the characters of a specified string, returning true or false as appropriate.\r\n * @param value - The value to check whether it ends with the search value.\r\n * @param search - The characters to be searched for at the end of the value.\r\n * @returns true if the given search value is found at the end of the string, otherwise false.\r\n */\r\nexport function strEndsWith(value, search) {\r\n var result = false;\r\n if (value && search && !(result = value === search)) {\r\n // For Performance try and use the native instance, using string lookup of the function to easily pass the ES3 build checks and minification\r\n result = _strEndsWith ? value[cStrEndsWith](search) : _strEndsWithPoly(value, search);\r\n }\r\n return result;\r\n}\r\n/**\r\n * The _strEndsWith() method determines whether a string ends with the characters of a specified string, returning true or false as appropriate.\r\n * @param value - The value to check whether it ends with the search value.\r\n * @param search - The characters to be searched for at the end of the value.\r\n * @returns true if the given search value is found at the end of the string, otherwise false.\r\n */\r\nexport function _strEndsWithPoly(value, search) {\r\n var result = false;\r\n var searchLen = search ? search[_DYN_LENGTH /* @min:%2elength */] : 0;\r\n var valLen = value ? value[_DYN_LENGTH /* @min:%2elength */] : 0;\r\n if (searchLen && valLen && valLen >= searchLen && !(result = value === search)) {\r\n var pos = valLen - 1;\r\n for (var lp = searchLen - 1; lp >= 0; lp--) {\r\n if (value[pos] != search[lp]) {\r\n return false;\r\n }\r\n pos--;\r\n }\r\n result = true;\r\n }\r\n return result;\r\n}\r\n/**\r\n * The strStartsWith() method determines whether a string starts with the characters of the specified string, returning true or false as appropriate.\r\n * @param value - The value to check whether it ends with the search value.\r\n * @param checkValue - The characters to be searched for at the start of the value.\r\n * @returns true if the given search value is found at the start of the string, otherwise false.\r\n */\r\nexport function strStartsWith(value, checkValue) {\r\n var result = false;\r\n if (value && checkValue && !(result = value === checkValue)) {\r\n // For Performance try and use the native instance, using string lookup of the function to easily pass the ES3 build checks and minification\r\n result = _strStartsWith ? value[cStrStartsWith](checkValue) : _strStartsWithPoly(value, checkValue);\r\n }\r\n return result;\r\n}\r\n/**\r\n * The strStartsWith() method determines whether a string starts with the characters of the specified string, returning true or false as appropriate.\r\n * @param value - The value to check whether it ends with the search value.\r\n * @param checkValue - The characters to be searched for at the start of the value.\r\n * @returns true if the given search value is found at the start of the string, otherwise false.\r\n */\r\nexport function _strStartsWithPoly(value, checkValue) {\r\n // Using helper for performance and because string startsWith() is not available on IE\r\n var result = false;\r\n var chkLen = checkValue ? checkValue[_DYN_LENGTH /* @min:%2elength */] : 0;\r\n if (value && chkLen && value[_DYN_LENGTH /* @min:%2elength */] >= chkLen && !(result = value === checkValue)) {\r\n for (var lp = 0; lp < chkLen; lp++) {\r\n if (value[lp] !== checkValue[lp]) {\r\n return false;\r\n }\r\n }\r\n result = true;\r\n }\r\n return result;\r\n}\r\n/**\r\n * A simple wrapper (for minification support) to check if the value contains the search string.\r\n * @param value - The string value to check for the existence of the search value\r\n * @param search - The value search within the value\r\n */\r\nexport function strContains(value, search) {\r\n if (value && search) {\r\n return value[_DYN_INDEX_OF /* @min:%2eindexOf */](search) !== -1;\r\n }\r\n return false;\r\n}\r\n/**\r\n * Check if an object is of type Date\r\n */\r\nexport function isDate(obj) {\r\n return !!(obj && _objToString[_DYN_CALL /* @min:%2ecall */](obj) === \"[object Date]\");\r\n}\r\n/**\r\n * Check if an object is of type Array with optional generic T, the generic type is not validated\r\n * and exists to help with TypeScript validation only.\r\n */\r\nexport var isArray = _isArray || _isArrayPoly;\r\nfunction _isArrayPoly(obj) {\r\n return !!(obj && _objToString[_DYN_CALL /* @min:%2ecall */](obj) === \"[object Array]\");\r\n}\r\n/**\r\n * Check if an object is of type Error\r\n */\r\nexport function isError(obj) {\r\n return !!(obj && _objToString[_DYN_CALL /* @min:%2ecall */](obj) === \"[object Error]\");\r\n}\r\n/**\r\n * Checks if the type of value is a string.\r\n * @param {any} value - Value to be checked.\r\n * @return {boolean} True if the value is a string, false otherwise.\r\n */\r\nexport function isString(value) {\r\n // Changing to inline for performance\r\n return typeof value === \"string\";\r\n}\r\n/**\r\n * Checks if the type of value is a number.\r\n * @param {any} value - Value to be checked.\r\n * @return {boolean} True if the value is a number, false otherwise.\r\n */\r\nexport function isNumber(value) {\r\n // Changing to inline for performance\r\n return typeof value === \"number\";\r\n}\r\n/**\r\n * Checks if the type of value is a boolean.\r\n * @param {any} value - Value to be checked.\r\n * @return {boolean} True if the value is a boolean, false otherwise.\r\n */\r\nexport function isBoolean(value) {\r\n // Changing to inline for performance\r\n return typeof value === \"boolean\";\r\n}\r\n/**\r\n * Checks if the type of value is a Symbol.\r\n * This only returns a boolean as returning value is Symbol will cause issues for older TypeScript consumers\r\n * @param {any} value - Value to be checked.\r\n * @return {boolean} True if the value is a Symbol, false otherwise.\r\n */\r\nexport function isSymbol(value) {\r\n return typeof value === \"symbol\";\r\n}\r\n/**\r\n * Checks if the type of the value is a normal plain object (not a null or data)\r\n * @param value\r\n */\r\nexport function isPlainObject(value) {\r\n var result = false;\r\n if (value && typeof value === \"object\") {\r\n // Inlining _objGetPrototypeOf for performance to avoid an additional function call\r\n var proto = _objGetPrototypeOf ? _objGetPrototypeOf(value) : _getObjProto(value);\r\n if (!proto) {\r\n // No prototype found so this is a plain Object eg. 'Object.create(null)'\r\n result = true;\r\n }\r\n else {\r\n // Objects that have a prototype are plain only if they were created using the Object global (native) function\r\n if (proto[strConstructor] && ObjHasOwnProperty[_DYN_CALL /* @min:%2ecall */](proto, strConstructor)) {\r\n proto = proto[strConstructor];\r\n }\r\n result = typeof proto === strShimFunction && _fnToString[_DYN_CALL /* @min:%2ecall */](proto) === _objFunctionString;\r\n }\r\n }\r\n return result;\r\n}\r\n/**\r\n * Convert a date to I.S.O. format in IE8\r\n */\r\nexport function toISOString(date) {\r\n if (date) {\r\n // For Performance try and use the native instance, using string lookup of the function to easily pass the ES3 build checks and minification\r\n return _dataToISOString ? date[strToISOString]() : _toISOStringPoly(date);\r\n }\r\n}\r\n/**\r\n * Convert a date to I.S.O. format in IE8\r\n */\r\nexport function _toISOStringPoly(date) {\r\n if (date && date.getUTCFullYear) {\r\n var pad = function (num) {\r\n var r = String(num);\r\n if (r[_DYN_LENGTH /* @min:%2elength */] === 1) {\r\n r = \"0\" + r;\r\n }\r\n return r;\r\n };\r\n return date.getUTCFullYear()\r\n + \"-\" + pad(date.getUTCMonth() + 1)\r\n + \"-\" + pad(date.getUTCDate())\r\n + \"T\" + pad(date.getUTCHours())\r\n + \":\" + pad(date.getUTCMinutes())\r\n + \":\" + pad(date.getUTCSeconds())\r\n + \".\" + String((date.getUTCMilliseconds() / 1000).toFixed(3)).slice(2, 5)\r\n + \"Z\";\r\n }\r\n}\r\n/**\r\n * Performs the specified action for each element in an array. This helper exists to avoid adding a polyfil for older browsers\r\n * that do not define Array.prototype.xxxx (eg. ES3 only, IE8) just in case any page checks for presence/absence of the prototype\r\n * implementation. Note: For consistency this will not use the Array.prototype.xxxx implementation if it exists as this would\r\n * cause a testing requirement to test with and without the implementations\r\n * @param callbackfn A function that accepts up to three arguments. forEach calls the callbackfn function one time for each element in the array. It can return -1 to break out of the loop\r\n * @param thisArg [Optional] An object to which the this keyword can refer in the callbackfn function. If thisArg is omitted, undefined is used as the this value.\r\n */\r\nexport function arrForEach(arr, callbackfn, thisArg) {\r\n var len = arr[_DYN_LENGTH /* @min:%2elength */];\r\n try {\r\n for (var idx = 0; idx < len; idx++) {\r\n if (idx in arr) {\r\n if (callbackfn[_DYN_CALL /* @min:%2ecall */](thisArg || arr, arr[idx], idx, arr) === -1) {\r\n break;\r\n }\r\n }\r\n }\r\n }\r\n catch (e) {\r\n // This can happen with some native browser objects, but should not happen for the type we are checking for\r\n }\r\n}\r\n/**\r\n * Returns the index of the first occurrence of a value in an array. This helper exists to avoid adding a polyfil for older browsers\r\n * that do not define Array.prototype.xxxx (eg. ES3 only, IE8) just in case any page checks for presence/absence of the prototype\r\n * implementation. Note: For consistency this will not use the Array.prototype.xxxx implementation if it exists as this would\r\n * cause a testing requirement to test with and without the implementations\r\n * @param searchElement The value to locate in the array.\r\n * @param fromIndex The array index at which to begin the search. If fromIndex is omitted, the search starts at index 0.\r\n */\r\nexport function arrIndexOf(arr, searchElement, fromIndex) {\r\n if (arr) {\r\n // For Performance try and use the native instance, using string lookup of the function to easily pass the ES3 build checks and minification\r\n if (arr[strIndexOf]) {\r\n return arr[strIndexOf](searchElement, fromIndex);\r\n }\r\n var len = arr[_DYN_LENGTH /* @min:%2elength */];\r\n var from = fromIndex || 0;\r\n try {\r\n for (var lp = Math.max(from >= 0 ? from : len - Math.abs(from), 0); lp < len; lp++) {\r\n if (lp in arr && arr[lp] === searchElement) {\r\n return lp;\r\n }\r\n }\r\n }\r\n catch (e) {\r\n // This can happen with some native browser objects, but should not happen for the type we are checking for\r\n }\r\n }\r\n return -1;\r\n}\r\n/**\r\n * Calls a defined callback function on each element of an array, and returns an array that contains the results. This helper exists\r\n * to avoid adding a polyfil for older browsers that do not define Array.prototype.xxxx (eg. ES3 only, IE8) just in case any page\r\n * checks for presence/absence of the prototype implementation. Note: For consistency this will not use the Array.prototype.xxxx\r\n * implementation if it exists as this would cause a testing requirement to test with and without the implementations\r\n * @param callbackfn A function that accepts up to three arguments. The map method calls the callbackfn function one time for each element in the array.\r\n * @param thisArg An object to which the this keyword can refer in the callbackfn function. If thisArg is omitted, undefined is used as the this value.\r\n */\r\nexport function arrMap(arr, callbackfn, thisArg) {\r\n var results;\r\n if (arr) {\r\n // For Performance try and use the native instance, using string lookup of the function to easily pass the ES3 build checks and minification\r\n if (arr[strMap]) {\r\n return arr[strMap](callbackfn, thisArg);\r\n }\r\n var len = arr[_DYN_LENGTH /* @min:%2elength */];\r\n var _this = thisArg || arr;\r\n results = new Array(len);\r\n try {\r\n for (var lp = 0; lp < len; lp++) {\r\n if (lp in arr) {\r\n results[lp] = callbackfn[_DYN_CALL /* @min:%2ecall */](_this, arr[lp], arr);\r\n }\r\n }\r\n }\r\n catch (e) {\r\n // This can happen with some native browser objects, but should not happen for the type we are checking for\r\n }\r\n }\r\n return results;\r\n}\r\n/**\r\n * Calls the specified callback function for all the elements in an array. The return value of the callback function is the accumulated result, and is\r\n * provided as an argument in the next call to the callback function. This helper exists to avoid adding a polyfil for older browsers that do not define\r\n * Array.prototype.xxxx (eg. ES3 only, IE8) just in case any page checks for presence/absence of the prototype implementation. Note: For consistency\r\n * this will not use the Array.prototype.xxxx implementation if it exists as this would cause a testing requirement to test with and without the implementations\r\n * @param callbackfn A function that accepts up to four arguments. The reduce method calls the callbackfn function one time for each element in the array.\r\n * @param initialValue If initialValue is specified, it is used as the initial value to start the accumulation. The first call to the callbackfn function provides this value as an argument instead of an array value.\r\n */\r\nexport function arrReduce(arr, callbackfn, initialValue) {\r\n var value;\r\n if (arr) {\r\n // For Performance try and use the native instance, using string lookup of the function to easily pass the ES3 build checks and minification\r\n if (arr[strReduce]) {\r\n return arr[strReduce](callbackfn, initialValue);\r\n }\r\n var len = arr[_DYN_LENGTH /* @min:%2elength */];\r\n var lp = 0;\r\n // Specifically checking the number of passed arguments as the value could be anything\r\n if (arguments[_DYN_LENGTH /* @min:%2elength */] >= 3) {\r\n value = arguments[2];\r\n }\r\n else {\r\n while (lp < len && !(lp in arr)) {\r\n lp++;\r\n }\r\n value = arr[lp++];\r\n }\r\n while (lp < len) {\r\n if (lp in arr) {\r\n value = callbackfn(value, arr[lp], lp, arr);\r\n }\r\n lp++;\r\n }\r\n }\r\n return value;\r\n}\r\n/**\r\n * helper method to trim strings (IE8 does not implement String.prototype.trim)\r\n */\r\nexport function strTrim(str) {\r\n if (str) {\r\n // For Performance try and use the native instance, using string lookup of the function to easily pass the ES3 build checks and minification\r\n str = (_strTrim && str[cStrTrim]) ? str[cStrTrim]() : (str[_DYN_REPLACE /* @min:%2ereplace */] ? str[_DYN_REPLACE /* @min:%2ereplace */](/^\\s+|(?=\\s)\\s+$/g, STR_EMPTY) : str);\r\n }\r\n return str;\r\n}\r\nvar _objKeysHasDontEnumBug = !({ toString: null }).propertyIsEnumerable(\"toString\");\r\nvar _objKeysDontEnums = [\r\n \"toString\",\r\n \"toLocaleString\",\r\n \"valueOf\",\r\n \"hasOwnProperty\",\r\n \"isPrototypeOf\",\r\n \"propertyIsEnumerable\",\r\n \"constructor\"\r\n];\r\n/**\r\n * Returns the names of the enumerable string properties and methods of an object. This helper exists to avoid adding a polyfil for older browsers\r\n * that do not define Object.keys eg. ES3 only, IE8 just in case any page checks for presence/absence of the prototype implementation.\r\n * Note: For consistency this will not use the Object.keys implementation if it exists as this would cause a testing requirement to test with and without the implementations\r\n * @param obj Object that contains the properties and methods. This can be an object that you created or an existing Document Object Model (DOM) object.\r\n */\r\nexport function objKeys(obj) {\r\n var objType = typeof obj;\r\n if (objType !== strShimFunction && (objType !== strShimObject || obj === null)) {\r\n throwTypeError(\"objKeys called on non-object\");\r\n }\r\n // For Performance try and use the native instance, using string lookup of the function to easily pass the ES3 build checks and minification\r\n if (!_objKeysHasDontEnumBug && _objKeys) {\r\n return _objKeys(obj);\r\n }\r\n var result = [];\r\n for (var prop in obj) {\r\n if (obj && ObjHasOwnProperty[_DYN_CALL /* @min:%2ecall */](obj, prop)) {\r\n result[_DYN_PUSH /* @min:%2epush */](prop);\r\n }\r\n }\r\n if (_objKeysHasDontEnumBug) {\r\n var dontEnumsLength = _objKeysDontEnums[_DYN_LENGTH /* @min:%2elength */];\r\n for (var lp = 0; lp < dontEnumsLength; lp++) {\r\n if (obj && ObjHasOwnProperty[_DYN_CALL /* @min:%2ecall */](obj, _objKeysDontEnums[lp])) {\r\n result[_DYN_PUSH /* @min:%2epush */](_objKeysDontEnums[lp]);\r\n }\r\n }\r\n }\r\n return result;\r\n}\r\n/**\r\n * Try to define get/set object property accessors for the target object/prototype, this will provide compatibility with\r\n * existing API definition when run within an ES5+ container that supports accessors but still enable the code to be loaded\r\n * and executed in an ES3 container, providing basic IE8 compatibility.\r\n * @param target The object on which to define the property.\r\n * @param prop The name of the property to be defined or modified.\r\n * @param getProp The getter function to wire against the getter.\r\n * @param setProp The setter function to wire against the setter.\r\n * @returns True if it was able to create the accessors otherwise false\r\n */\r\nexport function objDefineAccessors(target, prop, getProp, setProp) {\r\n if (_objDefineProperty) {\r\n try {\r\n var descriptor = {\r\n enumerable: true,\r\n configurable: true\r\n };\r\n if (getProp) {\r\n descriptor.get = getProp;\r\n }\r\n if (setProp) {\r\n descriptor.set = setProp;\r\n }\r\n _objDefineProperty(target, prop, descriptor);\r\n return true;\r\n }\r\n catch (e) {\r\n // IE8 Defines a defineProperty on Object but it's only supported for DOM elements so it will throw\r\n // We will just ignore this here.\r\n }\r\n }\r\n return false;\r\n}\r\nfunction _doNothing(value) {\r\n return value;\r\n}\r\nexport function deepFreeze(obj) {\r\n if (_objFreeze) {\r\n objForEachKey(obj, function (name, value) {\r\n if (isArray(value) || isObject(value)) {\r\n _objFreeze(value);\r\n }\r\n });\r\n }\r\n return objFreeze(obj);\r\n}\r\nexport var objFreeze = _objFreeze || _doNothing;\r\nexport var objSeal = _objSeal || _doNothing;\r\n/**\r\n * Return the current time via the Date now() function (if available) and falls back to (new Date()).getTime() if now() is unavailable (IE8 or less)\r\n * https://caniuse.com/#search=Date.now\r\n */\r\nexport function dateNow() {\r\n var dt = Date;\r\n return dt.now ? dt.now() : new dt().getTime();\r\n}\r\n/**\r\n * Returns the name of object if it's an Error. Otherwise, returns empty string.\r\n */\r\nexport function getExceptionName(object) {\r\n if (isError(object)) {\r\n return object[_DYN_NAME /* @min:%2ename */];\r\n }\r\n return STR_EMPTY;\r\n}\r\n/**\r\n * Sets the provided value on the target instance using the field name when the provided chk function returns true, the chk\r\n * function will only be called if the new value is no equal to the original value.\r\n * @param target - The target object\r\n * @param field - The key of the target\r\n * @param value - The value to set\r\n * @param valChk - [Optional] Callback to check the value that if supplied will be called check if the new value can be set\r\n * @param srcChk - [Optional] Callback to check to original value that if supplied will be called if the new value should be set (if allowed)\r\n * @returns The existing or new value, depending what was set\r\n */\r\nexport function setValue(target, field, value, valChk, srcChk) {\r\n var theValue = value;\r\n if (target) {\r\n theValue = target[field];\r\n if (theValue !== value && (!srcChk || srcChk(theValue)) && (!valChk || valChk(value))) {\r\n theValue = value;\r\n target[field] = theValue;\r\n }\r\n }\r\n return theValue;\r\n}\r\n/**\r\n * Returns the current value from the target object if not null or undefined otherwise sets the new value and returns it\r\n * @param target - The target object to return or set the default value\r\n * @param field - The key for the field to set on the target\r\n * @param defValue - [Optional] The value to set if not already present, when not provided a empty object will be added\r\n */\r\nexport function getSetValue(target, field, defValue) {\r\n var theValue;\r\n if (target) {\r\n theValue = target[field];\r\n if (!theValue && isNullOrUndefined(theValue)) {\r\n // Supports having the default as null\r\n theValue = !isUndefined(defValue) ? defValue : {};\r\n target[field] = theValue;\r\n }\r\n }\r\n else {\r\n // Expanded for performance so we only check defValue if required\r\n theValue = !isUndefined(defValue) ? defValue : {};\r\n }\r\n return theValue;\r\n}\r\n/**\r\n * Get the mapped config value, if null or undefined any supplied defaultValue will be returned.\r\n * @param field - The name of the field as the named enum value (number) or the string name.\r\n * @param defaultValue - The default value to return if the config field is not present, null or undefined.\r\n */\r\nexport function getCfgValue(theValue, defaultValue) {\r\n return !isNullOrUndefined(theValue) ? theValue : defaultValue;\r\n}\r\nexport function isNotTruthy(value) {\r\n return !value;\r\n}\r\nexport function isTruthy(value) {\r\n return !!value;\r\n}\r\nexport function throwError(message) {\r\n throw new Error(message);\r\n}\r\nfunction _createProxyFunction(source, funcName) {\r\n var srcFunc = null;\r\n var src = null;\r\n if (isFunction(source)) {\r\n srcFunc = source;\r\n }\r\n else {\r\n src = source;\r\n }\r\n return function () {\r\n // Capture the original arguments passed to the method\r\n var originalArguments = arguments;\r\n if (srcFunc) {\r\n src = srcFunc();\r\n }\r\n if (src) {\r\n return src[funcName][_DYN_APPLY /* @min:%2eapply */](src, originalArguments);\r\n }\r\n };\r\n}\r\n/**\r\n * Effectively assigns all enumerable properties (not just own properties) and functions (including inherited prototype) from\r\n * the source object to the target, it attempts to use proxy getters / setters (if possible) and proxy functions to avoid potential\r\n * implementation issues by assigning prototype functions as instance ones\r\n *\r\n * This method is the primary method used to \"update\" the snippet proxy with the ultimate implementations.\r\n *\r\n * Special ES3 Notes:\r\n * Updates (setting) of direct property values on the target or indirectly on the source object WILL NOT WORK PROPERLY, updates to the\r\n * properties of \"referenced\" object will work (target.context.newValue = 10 => will be reflected in the source.context as it's the\r\n * same object). ES3 Failures: assigning target.myProp = 3 -> Won't change source.myProp = 3, likewise the reverse would also fail.\r\n * @param target - The target object to be assigned with the source properties and functions\r\n * @param source - The source object which will be assigned / called by setting / calling the targets proxies\r\n * @param chkSet - An optional callback to determine whether a specific property/function should be proxied\r\n */\r\nexport function proxyAssign(target, source, chkSet) {\r\n if (target && source && isObject(target) && isObject(source)) {\r\n var _loop_1 = function (field) {\r\n if (isString(field)) {\r\n var value = source[field];\r\n if (isFunction(value)) {\r\n if (!chkSet || chkSet(field, true, source, target)) {\r\n // Create a proxy function rather than just copying the (possible) prototype to the new object as an instance function\r\n target[field] = _createProxyFunction(source, field);\r\n }\r\n }\r\n else if (!chkSet || chkSet(field, false, source, target)) {\r\n if (hasOwnProperty(target, field)) {\r\n // Remove any previous instance property\r\n delete target[field];\r\n }\r\n if (!objDefineAccessors(target, field, function () {\r\n return source[field];\r\n }, function (theValue) {\r\n source[field] = theValue;\r\n })) {\r\n // Unable to create an accessor, so just assign the values as a fallback\r\n // -- this will (mostly) work for objects\r\n // -- but will fail for accessing primitives (if the source changes it) and all types of \"setters\" as the source won't be modified\r\n target[field] = value;\r\n }\r\n }\r\n }\r\n };\r\n // effectively apply/proxy full source to the target instance\r\n for (var field in source) {\r\n _loop_1(field);\r\n }\r\n }\r\n return target;\r\n}\r\n/**\r\n * Creates a proxy function on the target which internally will call the source version with all arguments passed to the target method.\r\n *\r\n * @param target - The target object to be assigned with the source properties and functions\r\n * @param name - The function name that will be added on the target\r\n * @param source - The source object which will be assigned / called by setting / calling the targets proxies\r\n * @param theFunc - The function name on the source that will be proxied on the target\r\n * @param overwriteTarget - If `false` this will not replace any pre-existing name otherwise (the default) it will overwrite any existing name\r\n */\r\nexport function proxyFunctionAs(target, name, source, theFunc, overwriteTarget) {\r\n if (target && name && source) {\r\n if (overwriteTarget !== false || isUndefined(target[name])) {\r\n target[name] = _createProxyFunction(source, theFunc);\r\n }\r\n }\r\n}\r\n/**\r\n * Creates proxy functions on the target which internally will call the source version with all arguments passed to the target method.\r\n *\r\n * @param target - The target object to be assigned with the source properties and functions\r\n * @param source - The source object which will be assigned / called by setting / calling the targets proxies\r\n * @param functionsToProxy - An array of function names that will be proxied on the target\r\n * @param overwriteTarget - If false this will not replace any pre-existing name otherwise (the default) it will overwrite any existing name\r\n */\r\nexport function proxyFunctions(target, source, functionsToProxy, overwriteTarget) {\r\n if (target && source && isObject(target) && isArray(functionsToProxy)) {\r\n arrForEach(functionsToProxy, function (theFuncName) {\r\n if (isString(theFuncName)) {\r\n proxyFunctionAs(target, theFuncName, source, theFuncName, overwriteTarget);\r\n }\r\n });\r\n }\r\n return target;\r\n}\r\n/**\r\n * Simpler helper to create a dynamic class that implements the interface and populates the values with the defaults.\r\n * Only instance properties (hasOwnProperty) values are copied from the defaults to the new instance\r\n * @param defaults Simple helper\r\n */\r\nexport function createClassFromInterface(defaults) {\r\n return /** @class */ (function () {\r\n function class_1() {\r\n var _this_1 = this;\r\n if (defaults) {\r\n objForEachKey(defaults, function (field, value) {\r\n _this_1[field] = value;\r\n });\r\n }\r\n }\r\n return class_1;\r\n }());\r\n}\r\n/**\r\n * A helper function to assist with JIT performance for objects that have properties added / removed dynamically\r\n * this is primarily for chromium based browsers and has limited effects on Firefox and none of IE. Only call this\r\n * function after you have finished \"updating\" the object, calling this within loops reduces or defeats the benefits.\r\n * This helps when iterating using for..in, objKeys() and objForEach()\r\n * @param theObject - The object to be optimized if possible\r\n */\r\nexport function optimizeObject(theObject) {\r\n // V8 Optimization to cause the JIT compiler to create a new optimized object for looking up the own properties\r\n // primarily for object with <= 19 properties for >= 20 the effect is reduced or non-existent\r\n if (theObject && ObjAssign) {\r\n theObject = ObjClass(ObjAssign({}, theObject));\r\n }\r\n return theObject;\r\n}\r\nexport function objExtend(obj1, obj2, obj3, obj4, obj5, obj6) {\r\n // Variables\r\n var theArgs = arguments;\r\n var extended = theArgs[0] || {};\r\n var argLen = theArgs[_DYN_LENGTH /* @min:%2elength */];\r\n var deep = false;\r\n var idx = 1;\r\n // Check for \"Deep\" flag\r\n if (argLen > 0 && isBoolean(extended)) {\r\n deep = extended;\r\n extended = theArgs[idx] || {};\r\n idx++;\r\n }\r\n // Handle case when target is a string or something (possible in deep copy)\r\n if (!isObject(extended)) {\r\n extended = {};\r\n }\r\n // Loop through each remaining object and conduct a merge\r\n for (; idx < argLen; idx++) {\r\n var arg = theArgs[idx];\r\n var isArgArray = isArray(arg);\r\n var isArgObj = isObject(arg);\r\n for (var prop in arg) {\r\n var propOk = (isArgArray && (prop in arg)) || (isArgObj && (ObjHasOwnProperty[_DYN_CALL /* @min:%2ecall */](arg, prop)));\r\n if (!propOk) {\r\n continue;\r\n }\r\n var newValue = arg[prop];\r\n var isNewArray = void 0;\r\n // If deep merge and property is an object, merge properties\r\n if (deep && newValue && ((isNewArray = isArray(newValue)) || isPlainObject(newValue))) {\r\n // Grab the current value of the extended object\r\n var clone = extended[prop];\r\n if (isNewArray) {\r\n if (!isArray(clone)) {\r\n // We can't \"merge\" an array with a non-array so overwrite the original\r\n clone = [];\r\n }\r\n }\r\n else if (!isPlainObject(clone)) {\r\n // We can't \"merge\" an object with a non-object\r\n clone = {};\r\n }\r\n // Never move the original objects always clone them\r\n newValue = objExtend(deep, clone, newValue);\r\n }\r\n // Assign the new (or previous) value (unless undefined)\r\n if (newValue !== undefined) {\r\n extended[prop] = newValue;\r\n }\r\n }\r\n }\r\n return extended;\r\n}\r\n","/*\n * Application Insights JavaScript SDK - Core, 2.8.15\n * Copyright (c) Microsoft and contributors. All rights reserved.\n */\n\r\n\r\nimport { strShimFunction, strShimPrototype } from \"@microsoft/applicationinsights-shims\";\r\nimport { _DYN_APPLY, _DYN_LENGTH, _DYN_NAME, _DYN_PUSH, _DYN_SPLICE } from \"../__DynamicConstants\";\r\nimport { getGlobalInst } from \"./EnvUtils\";\r\nimport { _getObjProto, hasOwnProperty } from \"./HelperFuncs\";\r\nvar aiInstrumentHooks = \"_aiHooks\";\r\nvar cbNames = [\r\n \"req\", \"rsp\", \"hkErr\", \"fnErr\"\r\n];\r\n/** @ignore */\r\nfunction _arrLoop(arr, fn) {\r\n if (arr) {\r\n for (var lp = 0; lp < arr[_DYN_LENGTH /* @min:%2elength */]; lp++) {\r\n if (fn(arr[lp], lp)) {\r\n break;\r\n }\r\n }\r\n }\r\n}\r\n/** @ignore */\r\nfunction _doCallbacks(hooks, callDetails, cbArgs, hookCtx, type) {\r\n if (type >= 0 /* CallbackType.Request */ && type <= 2 /* CallbackType.HookError */) {\r\n _arrLoop(hooks, function (hook, idx) {\r\n var cbks = hook.cbks;\r\n var cb = cbks[cbNames[type]];\r\n if (cb) {\r\n // Set the specific hook context implementation using a lazy creation pattern\r\n callDetails.ctx = function () {\r\n var ctx = hookCtx[idx] = (hookCtx[idx] || {});\r\n return ctx;\r\n };\r\n try {\r\n cb[_DYN_APPLY /* @min:%2eapply */](callDetails.inst, cbArgs);\r\n }\r\n catch (err) {\r\n var orgEx = callDetails.err;\r\n try {\r\n // Report Hook error via the callback\r\n var hookErrorCb = cbks[cbNames[2 /* CallbackType.HookError */]];\r\n if (hookErrorCb) {\r\n callDetails.err = err;\r\n hookErrorCb[_DYN_APPLY /* @min:%2eapply */](callDetails.inst, cbArgs);\r\n }\r\n }\r\n catch (e) {\r\n // Not much we can do here -- swallowing the exception to avoid crashing the hosting app\r\n }\r\n finally {\r\n // restore the original exception (if any)\r\n callDetails.err = orgEx;\r\n }\r\n }\r\n }\r\n });\r\n }\r\n}\r\n/** @ignore */\r\nfunction _createFunctionHook(aiHook) {\r\n // Define a temporary method that queues-up a the real method call\r\n return function () {\r\n var _a;\r\n var funcThis = this;\r\n // Capture the original arguments passed to the method\r\n var orgArgs = arguments;\r\n var hooks = aiHook.h;\r\n var funcArgs = (_a = {},\r\n _a[_DYN_NAME /* @min:name */] = aiHook.n,\r\n _a.inst = funcThis,\r\n _a.ctx = null,\r\n _a.set = _replaceArg,\r\n _a);\r\n var hookCtx = [];\r\n var cbArgs = _createArgs([funcArgs], orgArgs);\r\n funcArgs.evt = getGlobalInst(\"event\");\r\n function _createArgs(target, theArgs) {\r\n _arrLoop(theArgs, function (arg) {\r\n target[_DYN_PUSH /* @min:%2epush */](arg);\r\n });\r\n return target;\r\n }\r\n function _replaceArg(idx, value) {\r\n orgArgs = _createArgs([], orgArgs);\r\n orgArgs[idx] = value;\r\n cbArgs = _createArgs([funcArgs], orgArgs);\r\n }\r\n // Call the pre-request hooks\r\n _doCallbacks(hooks, funcArgs, cbArgs, hookCtx, 0 /* CallbackType.Request */);\r\n // Call the original function was called\r\n var theFunc = aiHook.f;\r\n if (theFunc) {\r\n try {\r\n funcArgs.rslt = theFunc[_DYN_APPLY /* @min:%2eapply */](funcThis, orgArgs);\r\n }\r\n catch (err) {\r\n // Report the request callback\r\n funcArgs.err = err;\r\n _doCallbacks(hooks, funcArgs, cbArgs, hookCtx, 3 /* CallbackType.FunctionError */);\r\n // rethrow the original exception so anyone listening for it can catch the exception\r\n throw err;\r\n }\r\n }\r\n // Call the post-request hooks\r\n _doCallbacks(hooks, funcArgs, cbArgs, hookCtx, 1 /* CallbackType.Response */);\r\n return funcArgs.rslt;\r\n };\r\n}\r\n/** @ignore */\r\nfunction _getOwner(target, name, checkPrototype, checkParentProto) {\r\n var owner = null;\r\n if (target) {\r\n if (hasOwnProperty(target, name)) {\r\n owner = target;\r\n }\r\n else if (checkPrototype) {\r\n owner = _getOwner(_getObjProto(target), name, checkParentProto, false);\r\n }\r\n }\r\n return owner;\r\n}\r\n/**\r\n * Intercept the named prototype functions for the target class / object\r\n * @param target - The target object\r\n * @param funcName - The function name\r\n * @param callbacks - The callbacks to configure and call whenever the function is called\r\n */\r\nexport function InstrumentProto(target, funcName, callbacks) {\r\n if (target) {\r\n return InstrumentFunc(target[strShimPrototype], funcName, callbacks, false);\r\n }\r\n return null;\r\n}\r\n/**\r\n * Intercept the named prototype functions for the target class / object\r\n * @param target - The target object\r\n * @param funcNames - The function names to intercept and call\r\n * @param callbacks - The callbacks to configure and call whenever the function is called\r\n */\r\nexport function InstrumentProtos(target, funcNames, callbacks) {\r\n if (target) {\r\n return InstrumentFuncs(target[strShimPrototype], funcNames, callbacks, false);\r\n }\r\n return null;\r\n}\r\nfunction _createInstrumentHook(owner, funcName, fn, callbacks) {\r\n var aiHook = fn && fn[aiInstrumentHooks];\r\n if (!aiHook) {\r\n // Only hook the function once\r\n aiHook = {\r\n i: 0,\r\n n: funcName,\r\n f: fn,\r\n h: []\r\n };\r\n // Override (hook) the original function\r\n var newFunc = _createFunctionHook(aiHook);\r\n newFunc[aiInstrumentHooks] = aiHook; // Tag and store the function hooks\r\n owner[funcName] = newFunc;\r\n }\r\n var theHook = {\r\n // tslint:disable:object-literal-shorthand\r\n id: aiHook.i,\r\n cbks: callbacks,\r\n rm: function () {\r\n // DO NOT Use () => { shorthand for the function as the this gets replaced\r\n // with the outer this and not the this for theHook instance.\r\n var id = this.id;\r\n _arrLoop(aiHook.h, function (hook, idx) {\r\n if (hook.id === id) {\r\n aiHook.h[_DYN_SPLICE /* @min:%2esplice */](idx, 1);\r\n return 1;\r\n }\r\n });\r\n }\r\n // tslint:enable:object-literal-shorthand\r\n };\r\n aiHook.i++;\r\n aiHook.h[_DYN_PUSH /* @min:%2epush */](theHook);\r\n return theHook;\r\n}\r\n/**\r\n * Intercept the named prototype functions for the target class / object\r\n * @param target - The target object\r\n * @param funcName - The function name\r\n * @param callbacks - The callbacks to configure and call whenever the function is called\r\n * @param checkPrototype - If the function doesn't exist on the target should it attempt to hook the prototype function\r\n * @param checkParentProto - If the function doesn't exist on the target or it's prototype should it attempt to hook the parent's prototype\r\n */\r\nexport function InstrumentFunc(target, funcName, callbacks, checkPrototype, checkParentProto) {\r\n if (checkPrototype === void 0) { checkPrototype = true; }\r\n if (target && funcName && callbacks) {\r\n var owner = _getOwner(target, funcName, checkPrototype, checkParentProto);\r\n if (owner) {\r\n var fn = owner[funcName];\r\n if (typeof fn === strShimFunction) {\r\n return _createInstrumentHook(owner, funcName, fn, callbacks);\r\n }\r\n }\r\n }\r\n return null;\r\n}\r\n/**\r\n * Intercept the named functions for the target class / object\r\n * @param target - The target object\r\n * @param funcNames - The function names to intercept and call\r\n * @param callbacks - The callbacks to configure and call whenever the function is called\r\n * @param checkPrototype - If the function doesn't exist on the target should it attempt to hook the prototype function\r\n * @param checkParentProto - If the function doesn't exist on the target or it's prototype should it attempt to hook the parent's prototype\r\n */\r\nexport function InstrumentFuncs(target, funcNames, callbacks, checkPrototype, checkParentProto) {\r\n if (checkPrototype === void 0) { checkPrototype = true; }\r\n var hooks = null;\r\n _arrLoop(funcNames, function (funcName) {\r\n var hook = InstrumentFunc(target, funcName, callbacks, checkPrototype, checkParentProto);\r\n if (hook) {\r\n if (!hooks) {\r\n hooks = [];\r\n }\r\n hooks[_DYN_PUSH /* @min:%2epush */](hook);\r\n }\r\n });\r\n return hooks;\r\n}\r\n/**\r\n * Add an instrumentation hook to the provided named \"event\" for the target class / object, this doesn't check whether the\r\n * named \"event\" is in fact a function and just assigns the instrumentation hook to the target[evtName]\r\n * @param target - The target object\r\n * @param evtName - The name of the event\r\n * @param callbacks - The callbacks to configure and call whenever the function is called\r\n * @param checkPrototype - If the function doesn't exist on the target should it attempt to hook the prototype function\r\n * @param checkParentProto - If the function doesn't exist on the target or it's prototype should it attempt to hook the parent's prototype\r\n */\r\nexport function InstrumentEvent(target, evtName, callbacks, checkPrototype, checkParentProto) {\r\n if (target && evtName && callbacks) {\r\n var owner = _getOwner(target, evtName, checkPrototype, checkParentProto) || target;\r\n if (owner) {\r\n return _createInstrumentHook(owner, evtName, owner[evtName], callbacks);\r\n }\r\n }\r\n return null;\r\n}\r\n","/*\n * Application Insights JavaScript SDK - Core, 2.8.15\n * Copyright (c) Microsoft and contributors. All rights reserved.\n */\n\r\n\r\n// !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!\r\n// Note: DON'T Export these const from the package as we are still targeting ES3 this will export a mutable variables that someone could change!!!\r\n// !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!\r\nexport var STR_EMPTY = \"\";\r\nexport var STR_CHANNELS = \"channels\";\r\nexport var STR_CORE = \"core\";\r\nexport var STR_CREATE_PERF_MGR = \"createPerfMgr\";\r\nexport var STR_DISABLED = \"disabled\";\r\nexport var STR_EXTENSION_CONFIG = \"extensionConfig\";\r\nexport var STR_EXTENSIONS = \"extensions\";\r\nexport var STR_PROCESS_TELEMETRY = \"processTelemetry\";\r\nexport var STR_PRIORITY = \"priority\";\r\nexport var STR_EVENTS_SENT = \"eventsSent\";\r\nexport var STR_EVENTS_DISCARDED = \"eventsDiscarded\";\r\nexport var STR_EVENTS_SEND_REQUEST = \"eventsSendRequest\";\r\nexport var STR_PERF_EVENT = \"perfEvent\";\r\nexport var STR_ERROR_TO_CONSOLE = \"errorToConsole\";\r\nexport var STR_WARN_TO_CONSOLE = \"warnToConsole\";\r\nexport var STR_GET_PERF_MGR = \"getPerfMgr\";\r\n","/*\n * Application Insights JavaScript SDK - Core, 2.8.15\n * Copyright (c) Microsoft and contributors. All rights reserved.\n */\n\r\n\r\nimport dynamicProto from \"@microsoft/dynamicproto-js\";\r\nimport { _DYN_ADD_NOTIFICATION_LIS1, _DYN_IS_ASYNC, _DYN_IS_CHILD_EVT, _DYN_LISTENERS, _DYN_PUSH, _DYN_REMOVE_NOTIFICATION_2, _DYN_SPLICE } from \"../__DynamicConstants\";\r\nimport { arrForEach, arrIndexOf } from \"./HelperFuncs\";\r\nimport { STR_EVENTS_DISCARDED, STR_EVENTS_SEND_REQUEST, STR_EVENTS_SENT, STR_PERF_EVENT } from \"./InternalConstants\";\r\nfunction _runListeners(listeners, name, isAsync, callback) {\r\n arrForEach(listeners, function (listener) {\r\n if (listener && listener[name]) {\r\n if (isAsync) {\r\n setTimeout(function () { return callback(listener); }, 0);\r\n }\r\n else {\r\n try {\r\n callback(listener);\r\n }\r\n catch (e) {\r\n // Catch errors to ensure we don't block sending the requests\r\n }\r\n }\r\n }\r\n });\r\n}\r\n/**\r\n * Class to manage sending notifications to all the listeners.\r\n */\r\nvar NotificationManager = /** @class */ (function () {\r\n function NotificationManager(config) {\r\n this.listeners = [];\r\n var perfEvtsSendAll = !!(config || {}).perfEvtsSendAll;\r\n dynamicProto(NotificationManager, this, function (_self) {\r\n _self[_DYN_ADD_NOTIFICATION_LIS1 /* @min:%2eaddNotificationListener */] = function (listener) {\r\n _self.listeners[_DYN_PUSH /* @min:%2epush */](listener);\r\n };\r\n /**\r\n * Removes all instances of the listener.\r\n * @param {INotificationListener} listener - AWTNotificationListener to remove.\r\n */\r\n _self[_DYN_REMOVE_NOTIFICATION_2 /* @min:%2eremoveNotificationListener */] = function (listener) {\r\n var index = arrIndexOf(_self[_DYN_LISTENERS /* @min:%2elisteners */], listener);\r\n while (index > -1) {\r\n _self.listeners[_DYN_SPLICE /* @min:%2esplice */](index, 1);\r\n index = arrIndexOf(_self[_DYN_LISTENERS /* @min:%2elisteners */], listener);\r\n }\r\n };\r\n /**\r\n * Notification for events sent.\r\n * @param {ITelemetryItem[]} events - The array of events that have been sent.\r\n */\r\n _self[STR_EVENTS_SENT /* @min:%2eeventsSent */] = function (events) {\r\n _runListeners(_self[_DYN_LISTENERS /* @min:%2elisteners */], STR_EVENTS_SENT, true, function (listener) {\r\n listener[STR_EVENTS_SENT /* @min:%2eeventsSent */](events);\r\n });\r\n };\r\n /**\r\n * Notification for events being discarded.\r\n * @param {ITelemetryItem[]} events - The array of events that have been discarded by the SDK.\r\n * @param {number} reason - The reason for which the SDK discarded the events. The EventsDiscardedReason\r\n * constant should be used to check the different values.\r\n */\r\n _self[STR_EVENTS_DISCARDED /* @min:%2eeventsDiscarded */] = function (events, reason) {\r\n _runListeners(_self[_DYN_LISTENERS /* @min:%2elisteners */], STR_EVENTS_DISCARDED, true, function (listener) {\r\n listener[STR_EVENTS_DISCARDED /* @min:%2eeventsDiscarded */](events, reason);\r\n });\r\n };\r\n /**\r\n * [Optional] A function called when the events have been requested to be sent to the sever.\r\n * @param {number} sendReason - The reason why the event batch is being sent.\r\n * @param {boolean} isAsync - A flag which identifies whether the requests are being sent in an async or sync manner.\r\n */\r\n _self[STR_EVENTS_SEND_REQUEST /* @min:%2eeventsSendRequest */] = function (sendReason, isAsync) {\r\n _runListeners(_self[_DYN_LISTENERS /* @min:%2elisteners */], STR_EVENTS_SEND_REQUEST, isAsync, function (listener) {\r\n listener[STR_EVENTS_SEND_REQUEST /* @min:%2eeventsSendRequest */](sendReason, isAsync);\r\n });\r\n };\r\n _self[STR_PERF_EVENT /* @min:%2eperfEvent */] = function (perfEvent) {\r\n if (perfEvent) {\r\n // Send all events or only parent events\r\n if (perfEvtsSendAll || !perfEvent[_DYN_IS_CHILD_EVT /* @min:%2eisChildEvt */]()) {\r\n _runListeners(_self[_DYN_LISTENERS /* @min:%2elisteners */], STR_PERF_EVENT, false, function (listener) {\r\n if (perfEvent[_DYN_IS_ASYNC /* @min:%2eisAsync */]) {\r\n setTimeout(function () { return listener[STR_PERF_EVENT /* @min:%2eperfEvent */](perfEvent); }, 0);\r\n }\r\n else {\r\n listener[STR_PERF_EVENT /* @min:%2eperfEvent */](perfEvent);\r\n }\r\n });\r\n }\r\n }\r\n };\r\n });\r\n }\r\n// Removed Stub for NotificationManager.prototype.addNotificationListener.\r\n// Removed Stub for NotificationManager.prototype.removeNotificationListener.\r\n// Removed Stub for NotificationManager.prototype.eventsSent.\r\n// Removed Stub for NotificationManager.prototype.eventsDiscarded.\r\n// Removed Stub for NotificationManager.prototype.eventsSendRequest.\r\n // This is a workaround for an IE8 bug when using dynamicProto() with classes that don't have any\n // non-dynamic functions or static properties/functions when using uglify-js to minify the resulting code.\n // this will be removed when ES3 support is dropped.\n NotificationManager.__ieDyn=1;\n\n return NotificationManager;\r\n}());\r\nexport { NotificationManager };\r\n","/*\n * Application Insights JavaScript SDK - Core, 2.8.15\n * Copyright (c) Microsoft and contributors. All rights reserved.\n */\n\r\n\r\nimport dynamicProto from \"@microsoft/dynamicproto-js\";\r\nimport { _DYN_COMPLETE, _DYN_GET_CTX, _DYN_IS_ASYNC, _DYN_IS_CHILD_EVT, _DYN_LENGTH, _DYN_NAME, _DYN_PUSH, _DYN_SET_CTX, _DYN_TIME } from \"../__DynamicConstants\";\r\nimport { dateNow, isArray, isFunction, objDefineAccessors } from \"./HelperFuncs\";\r\nimport { STR_GET_PERF_MGR, STR_PERF_EVENT } from \"./InternalConstants\";\r\nvar strExecutionContextKey = \"ctx\";\r\nvar strParentContextKey = \"ParentContextKey\";\r\nvar strChildrenContextKey = \"ChildrenContextKey\";\r\nvar _defaultPerfManager = null;\r\nvar PerfEvent = /** @class */ (function () {\r\n function PerfEvent(name, payloadDetails, isAsync) {\r\n var _self = this;\r\n var accessorDefined = false;\r\n _self.start = dateNow();\r\n _self[_DYN_NAME /* @min:%2ename */] = name;\r\n _self[_DYN_IS_ASYNC /* @min:%2eisAsync */] = isAsync;\r\n _self[_DYN_IS_CHILD_EVT /* @min:%2eisChildEvt */] = function () { return false; };\r\n if (isFunction(payloadDetails)) {\r\n // Create an accessor to minimize the potential performance impact of executing the payloadDetails callback\r\n var theDetails_1;\r\n accessorDefined = objDefineAccessors(_self, \"payload\", function () {\r\n // Delay the execution of the payloadDetails until needed\r\n if (!theDetails_1 && isFunction(payloadDetails)) {\r\n theDetails_1 = payloadDetails();\r\n // clear it out now so the referenced objects can be garbage collected\r\n payloadDetails = null;\r\n }\r\n return theDetails_1;\r\n });\r\n }\r\n _self[_DYN_GET_CTX /* @min:%2egetCtx */] = function (key) {\r\n if (key) {\r\n // The parent and child links are located directly on the object (for better viewing in the DebugPlugin)\r\n if (key === PerfEvent[strParentContextKey] || key === PerfEvent[strChildrenContextKey]) {\r\n return _self[key];\r\n }\r\n return (_self[strExecutionContextKey] || {})[key];\r\n }\r\n return null;\r\n };\r\n _self[_DYN_SET_CTX /* @min:%2esetCtx */] = function (key, value) {\r\n if (key) {\r\n // Put the parent and child links directly on the object (for better viewing in the DebugPlugin)\r\n if (key === PerfEvent[strParentContextKey]) {\r\n // Simple assumption, if we are setting a parent then we must be a child\r\n if (!_self[key]) {\r\n _self[_DYN_IS_CHILD_EVT /* @min:%2eisChildEvt */] = function () { return true; };\r\n }\r\n _self[key] = value;\r\n }\r\n else if (key === PerfEvent[strChildrenContextKey]) {\r\n _self[key] = value;\r\n }\r\n else {\r\n var ctx = _self[strExecutionContextKey] = _self[strExecutionContextKey] || {};\r\n ctx[key] = value;\r\n }\r\n }\r\n };\r\n _self[_DYN_COMPLETE /* @min:%2ecomplete */] = function () {\r\n var childTime = 0;\r\n var childEvts = _self[_DYN_GET_CTX /* @min:%2egetCtx */](PerfEvent[strChildrenContextKey]);\r\n if (isArray(childEvts)) {\r\n for (var lp = 0; lp < childEvts[_DYN_LENGTH /* @min:%2elength */]; lp++) {\r\n var childEvt = childEvts[lp];\r\n if (childEvt) {\r\n childTime += childEvt[_DYN_TIME /* @min:%2etime */];\r\n }\r\n }\r\n }\r\n _self[_DYN_TIME /* @min:%2etime */] = dateNow() - _self.start;\r\n _self.exTime = _self[_DYN_TIME /* @min:%2etime */] - childTime;\r\n _self[_DYN_COMPLETE /* @min:%2ecomplete */] = function () { };\r\n if (!accessorDefined && isFunction(payloadDetails)) {\r\n // If we couldn't define the property set during complete -- to minimize the perf impact until after the time\r\n _self.payload = payloadDetails();\r\n }\r\n };\r\n }\r\n PerfEvent.ParentContextKey = \"parent\";\r\n PerfEvent.ChildrenContextKey = \"childEvts\";\r\n return PerfEvent;\r\n}());\r\nexport { PerfEvent };\r\nvar PerfManager = /** @class */ (function () {\r\n function PerfManager(manager) {\r\n /**\r\n * General bucket used for execution context set and retrieved via setCtx() and getCtx.\r\n * Defined as private so it can be visualized via the DebugPlugin\r\n */\r\n this.ctx = {};\r\n dynamicProto(PerfManager, this, function (_self) {\r\n _self.create = function (src, payloadDetails, isAsync) {\r\n // TODO (@MSNev): at some point we will want to add additional configuration to \"select\" which events to instrument\r\n // for now this is just a simple do everything.\r\n return new PerfEvent(src, payloadDetails, isAsync);\r\n };\r\n _self.fire = function (perfEvent) {\r\n if (perfEvent) {\r\n perfEvent[_DYN_COMPLETE /* @min:%2ecomplete */]();\r\n if (manager && isFunction(manager[STR_PERF_EVENT /* @min:%2eperfEvent */])) {\r\n manager[STR_PERF_EVENT /* @min:%2eperfEvent */](perfEvent);\r\n }\r\n }\r\n };\r\n _self[_DYN_SET_CTX /* @min:%2esetCtx */] = function (key, value) {\r\n if (key) {\r\n var ctx = _self[strExecutionContextKey] = _self[strExecutionContextKey] || {};\r\n ctx[key] = value;\r\n }\r\n };\r\n _self[_DYN_GET_CTX /* @min:%2egetCtx */] = function (key) {\r\n return (_self[strExecutionContextKey] || {})[key];\r\n };\r\n });\r\n }\r\n// Removed Stub for PerfManager.prototype.create.\r\n// Removed Stub for PerfManager.prototype.fire.\r\n// Removed Stub for PerfManager.prototype.setCtx.\r\n// Removed Stub for PerfManager.prototype.getCtx.\r\n // This is a workaround for an IE8 bug when using dynamicProto() with classes that don't have any\n // non-dynamic functions or static properties/functions when using uglify-js to minify the resulting code.\n // this will be removed when ES3 support is dropped.\n PerfManager.__ieDyn=1;\n\n return PerfManager;\r\n}());\r\nexport { PerfManager };\r\nvar doPerfActiveKey = \"CoreUtils.doPerf\";\r\n/**\r\n * Helper function to wrap a function with a perf event\r\n * @param mgrSource - The Performance Manager or a Performance provider source (may be null)\r\n * @param getSource - The callback to create the source name for the event (if perf monitoring is enabled)\r\n * @param func - The function to call and measure\r\n * @param details - A function to return the payload details\r\n * @param isAsync - Is the event / function being call asynchronously or synchronously\r\n */\r\nexport function doPerf(mgrSource, getSource, func, details, isAsync) {\r\n if (mgrSource) {\r\n var perfMgr = mgrSource;\r\n if (perfMgr[STR_GET_PERF_MGR]) {\r\n // Looks like a perf manager provider object\r\n perfMgr = perfMgr[STR_GET_PERF_MGR]();\r\n }\r\n if (perfMgr) {\r\n var perfEvt = void 0;\r\n var currentActive = perfMgr[_DYN_GET_CTX /* @min:%2egetCtx */](doPerfActiveKey);\r\n try {\r\n perfEvt = perfMgr.create(getSource(), details, isAsync);\r\n if (perfEvt) {\r\n if (currentActive && perfEvt[_DYN_SET_CTX /* @min:%2esetCtx */]) {\r\n perfEvt[_DYN_SET_CTX /* @min:%2esetCtx */](PerfEvent[strParentContextKey], currentActive);\r\n if (currentActive[_DYN_GET_CTX /* @min:%2egetCtx */] && currentActive[_DYN_SET_CTX /* @min:%2esetCtx */]) {\r\n var children = currentActive[_DYN_GET_CTX /* @min:%2egetCtx */](PerfEvent[strChildrenContextKey]);\r\n if (!children) {\r\n children = [];\r\n currentActive[_DYN_SET_CTX /* @min:%2esetCtx */](PerfEvent[strChildrenContextKey], children);\r\n }\r\n children[_DYN_PUSH /* @min:%2epush */](perfEvt);\r\n }\r\n }\r\n // Set this event as the active event now\r\n perfMgr[_DYN_SET_CTX /* @min:%2esetCtx */](doPerfActiveKey, perfEvt);\r\n return func(perfEvt);\r\n }\r\n }\r\n catch (ex) {\r\n if (perfEvt && perfEvt[_DYN_SET_CTX /* @min:%2esetCtx */]) {\r\n perfEvt[_DYN_SET_CTX /* @min:%2esetCtx */](\"exception\", ex);\r\n }\r\n }\r\n finally {\r\n // fire the perf event\r\n if (perfEvt) {\r\n perfMgr.fire(perfEvt);\r\n }\r\n // Reset the active event to the previous value\r\n perfMgr[_DYN_SET_CTX /* @min:%2esetCtx */](doPerfActiveKey, currentActive);\r\n }\r\n }\r\n }\r\n return func();\r\n}\r\n/**\r\n * Set the global performance manager to use when there is no core instance or it has not been initialized yet.\r\n * @param perfManager - The IPerfManager instance to use when no performance manager is supplied.\r\n */\r\nexport function setGblPerfMgr(perfManager) {\r\n _defaultPerfManager = perfManager;\r\n}\r\n/**\r\n * Get the current global performance manager that will be used with no performance manager is supplied.\r\n * @returns - The current default manager\r\n */\r\nexport function getGblPerfMgr() {\r\n return _defaultPerfManager;\r\n}\r\n","/*\n * Application Insights JavaScript SDK - Core, 2.8.15\n * Copyright (c) Microsoft and contributors. All rights reserved.\n */\n\r\n\r\n\"use strict\";\r\nimport { _DYN_CALL, _DYN_CONFIG, _DYN_CREATE_NEW, _DYN_DIAG_LOG, _DYN_GET_NEXT, _DYN_GET_PLUGIN, _DYN_IDENTIFIER, _DYN_IS_ASYNC, _DYN_IS_INITIALIZED, _DYN_LENGTH, _DYN_LOGGER, _DYN_PROCESS_NEXT, _DYN_PUSH, _DYN_SET_NEXT_PLUGIN, _DYN_TEARDOWN, _DYN_UPDATE } from \"../__DynamicConstants\";\r\nimport { _throwInternal, safeGetLogger } from \"./DiagnosticLogger\";\r\nimport { dumpObj } from \"./EnvUtils\";\r\nimport { arrForEach, isArray, isFunction, isNullOrUndefined, isObject, isUndefined, objExtend, objForEachKey, objFreeze, objKeys, proxyFunctions } from \"./HelperFuncs\";\r\nimport { STR_CORE, STR_DISABLED, STR_EMPTY, STR_EXTENSION_CONFIG, STR_PRIORITY, STR_PROCESS_TELEMETRY } from \"./InternalConstants\";\r\nimport { doPerf } from \"./PerfManager\";\r\nimport { _getPluginState } from \"./TelemetryHelpers\";\r\nvar strTelemetryPluginChain = \"TelemetryPluginChain\";\r\nvar strHasRunFlags = \"_hasRun\";\r\nvar strGetTelCtx = \"_getTelCtx\";\r\nvar _chainId = 0;\r\nfunction _getNextProxyStart(proxy, core, startAt) {\r\n while (proxy) {\r\n if (proxy[_DYN_GET_PLUGIN /* @min:%2egetPlugin */]() === startAt) {\r\n return proxy;\r\n }\r\n proxy = proxy[_DYN_GET_NEXT /* @min:%2egetNext */]();\r\n }\r\n // This wasn't found in the existing chain so create an isolated one with just this plugin\r\n return createTelemetryProxyChain([startAt], core[_DYN_CONFIG /* @min:%2econfig */] || {}, core);\r\n}\r\n/**\r\n * @ignore\r\n * @param telemetryChain\r\n * @param config\r\n * @param core\r\n * @param startAt - Identifies the next plugin to execute, if null there is no \"next\" plugin and if undefined it should assume the start of the chain\r\n * @returns\r\n */\r\nfunction _createInternalContext(telemetryChain, config, core, startAt) {\r\n // We have a special case where we want to start execution from this specific plugin\r\n // or we simply reuse the existing telemetry plugin chain (normal execution case)\r\n var _nextProxy = null; // By Default set as no next plugin\r\n var _onComplete = [];\r\n if (startAt !== null) {\r\n // There is no next element (null) vs not defined (undefined) so use the full chain\r\n _nextProxy = startAt ? _getNextProxyStart(telemetryChain, core, startAt) : telemetryChain;\r\n }\r\n var context = {\r\n _next: _moveNext,\r\n ctx: {\r\n core: function () {\r\n return core;\r\n },\r\n diagLog: function () {\r\n return safeGetLogger(core, config);\r\n },\r\n getCfg: function () {\r\n return config;\r\n },\r\n getExtCfg: _getExtCfg,\r\n getConfig: _getConfig,\r\n hasNext: function () {\r\n return !!_nextProxy;\r\n },\r\n getNext: function () {\r\n return _nextProxy;\r\n },\r\n setNext: function (nextPlugin) {\r\n _nextProxy = nextPlugin;\r\n },\r\n iterate: _iterateChain,\r\n onComplete: _addOnComplete\r\n }\r\n };\r\n function _addOnComplete(onComplete, that) {\r\n var args = [];\r\n for (var _i = 2; _i < arguments.length; _i++) {\r\n args[_i - 2] = arguments[_i];\r\n }\r\n if (onComplete) {\r\n _onComplete[_DYN_PUSH /* @min:%2epush */]({\r\n func: onComplete,\r\n self: !isUndefined(that) ? that : context.ctx,\r\n args: args\r\n });\r\n }\r\n }\r\n function _moveNext() {\r\n var nextProxy = _nextProxy;\r\n // Automatically move to the next plugin\r\n _nextProxy = nextProxy ? nextProxy[_DYN_GET_NEXT /* @min:%2egetNext */]() : null;\r\n if (!nextProxy) {\r\n var onComplete = _onComplete;\r\n if (onComplete && onComplete[_DYN_LENGTH /* @min:%2elength */] > 0) {\r\n arrForEach(onComplete, function (completeDetails) {\r\n try {\r\n completeDetails.func[_DYN_CALL /* @min:%2ecall */](completeDetails.self, completeDetails.args);\r\n }\r\n catch (e) {\r\n _throwInternal(core[_DYN_LOGGER /* @min:%2elogger */], 2 /* eLoggingSeverity.WARNING */, 73 /* _eInternalMessageId.PluginException */, \"Unexpected Exception during onComplete - \" + dumpObj(e));\r\n }\r\n });\r\n _onComplete = [];\r\n }\r\n }\r\n return nextProxy;\r\n }\r\n function _getExtCfg(identifier, defaultValue, mergeDefault) {\r\n if (defaultValue === void 0) { defaultValue = {}; }\r\n if (mergeDefault === void 0) { mergeDefault = 0 /* GetExtCfgMergeType.None */; }\r\n var theConfig;\r\n if (config) {\r\n var extConfig = config[STR_EXTENSION_CONFIG /* @min:%2eextensionConfig */];\r\n if (extConfig && identifier) {\r\n theConfig = extConfig[identifier];\r\n }\r\n }\r\n if (!theConfig) {\r\n // Just use the defaults\r\n theConfig = defaultValue;\r\n }\r\n else if (isObject(defaultValue)) {\r\n if (mergeDefault !== 0 /* GetExtCfgMergeType.None */) {\r\n // Merge the defaults and configured values\r\n var newConfig_1 = objExtend(true, defaultValue, theConfig);\r\n if (config && mergeDefault === 2 /* GetExtCfgMergeType.MergeDefaultFromRootOrDefault */) {\r\n // Enumerate over the defaultValues and if not already populated attempt to\r\n // find a value from the root config\r\n objForEachKey(defaultValue, function (field) {\r\n // for each unspecified field, set the default value\r\n if (isNullOrUndefined(newConfig_1[field])) {\r\n var cfgValue = config[field];\r\n if (!isNullOrUndefined(cfgValue)) {\r\n newConfig_1[field] = cfgValue;\r\n }\r\n }\r\n });\r\n }\r\n theConfig = newConfig_1;\r\n }\r\n }\r\n return theConfig;\r\n }\r\n function _getConfig(identifier, field, defaultValue) {\r\n if (defaultValue === void 0) { defaultValue = false; }\r\n var theValue;\r\n var extConfig = _getExtCfg(identifier, null);\r\n if (extConfig && !isNullOrUndefined(extConfig[field])) {\r\n theValue = extConfig[field];\r\n }\r\n else if (config && !isNullOrUndefined(config[field])) {\r\n theValue = config[field];\r\n }\r\n return !isNullOrUndefined(theValue) ? theValue : defaultValue;\r\n }\r\n function _iterateChain(cb) {\r\n // Keep processing until we reach the end of the chain\r\n var nextPlugin;\r\n while (!!(nextPlugin = context._next())) {\r\n var plugin = nextPlugin[_DYN_GET_PLUGIN /* @min:%2egetPlugin */]();\r\n if (plugin) {\r\n // callback with the current on\r\n cb(plugin);\r\n }\r\n }\r\n }\r\n return context;\r\n}\r\n/**\r\n * Creates a new Telemetry Item context with the current config, core and plugin execution chain\r\n * @param plugins - The plugin instances that will be executed\r\n * @param config - The current config\r\n * @param core - The current core instance\r\n * @param startAt - Identifies the next plugin to execute, if null there is no \"next\" plugin and if undefined it should assume the start of the chain\r\n */\r\nexport function createProcessTelemetryContext(telemetryChain, config, core, startAt) {\r\n var internalContext = _createInternalContext(telemetryChain, config, core, startAt);\r\n var context = internalContext.ctx;\r\n function _processNext(env) {\r\n var nextPlugin = internalContext._next();\r\n // Run the next plugin which will call \"processNext()\"\r\n nextPlugin && nextPlugin[STR_PROCESS_TELEMETRY /* @min:%2eprocessTelemetry */](env, context);\r\n return !nextPlugin;\r\n }\r\n function _createNew(plugins, startAt) {\r\n if (plugins === void 0) { plugins = null; }\r\n if (isArray(plugins)) {\r\n plugins = createTelemetryProxyChain(plugins, config, core, startAt);\r\n }\r\n return createProcessTelemetryContext(plugins || context[_DYN_GET_NEXT /* @min:%2egetNext */](), config, core, startAt);\r\n }\r\n context[_DYN_PROCESS_NEXT /* @min:%2eprocessNext */] = _processNext;\r\n context[_DYN_CREATE_NEW /* @min:%2ecreateNew */] = _createNew;\r\n return context;\r\n}\r\n/**\r\n * Creates a new Telemetry Item context with the current config, core and plugin execution chain for handling the unloading of the chain\r\n * @param plugins - The plugin instances that will be executed\r\n * @param config - The current config\r\n * @param core - The current core instance\r\n * @param startAt - Identifies the next plugin to execute, if null there is no \"next\" plugin and if undefined it should assume the start of the chain\r\n */\r\nexport function createProcessTelemetryUnloadContext(telemetryChain, core, startAt) {\r\n var config = core[_DYN_CONFIG /* @min:%2econfig */] || {};\r\n var internalContext = _createInternalContext(telemetryChain, config, core, startAt);\r\n var context = internalContext.ctx;\r\n function _processNext(unloadState) {\r\n var nextPlugin = internalContext._next();\r\n nextPlugin && nextPlugin.unload(context, unloadState);\r\n return !nextPlugin;\r\n }\r\n function _createNew(plugins, startAt) {\r\n if (plugins === void 0) { plugins = null; }\r\n if (isArray(plugins)) {\r\n plugins = createTelemetryProxyChain(plugins, config, core, startAt);\r\n }\r\n return createProcessTelemetryUnloadContext(plugins || context[_DYN_GET_NEXT /* @min:%2egetNext */](), core, startAt);\r\n }\r\n context[_DYN_PROCESS_NEXT /* @min:%2eprocessNext */] = _processNext;\r\n context[_DYN_CREATE_NEW /* @min:%2ecreateNew */] = _createNew;\r\n return context;\r\n}\r\n/**\r\n * Creates a new Telemetry Item context with the current config, core and plugin execution chain for updating the configuration\r\n * @param plugins - The plugin instances that will be executed\r\n * @param config - The current config\r\n * @param core - The current core instance\r\n * @param startAt - Identifies the next plugin to execute, if null there is no \"next\" plugin and if undefined it should assume the start of the chain\r\n */\r\nexport function createProcessTelemetryUpdateContext(telemetryChain, core, startAt) {\r\n var config = core[_DYN_CONFIG /* @min:%2econfig */] || {};\r\n var internalContext = _createInternalContext(telemetryChain, config, core, startAt);\r\n var context = internalContext.ctx;\r\n function _processNext(updateState) {\r\n return context.iterate(function (plugin) {\r\n if (isFunction(plugin[_DYN_UPDATE /* @min:%2eupdate */])) {\r\n plugin[_DYN_UPDATE /* @min:%2eupdate */](context, updateState);\r\n }\r\n });\r\n }\r\n function _createNew(plugins, startAt) {\r\n if (plugins === void 0) { plugins = null; }\r\n if (isArray(plugins)) {\r\n plugins = createTelemetryProxyChain(plugins, config, core, startAt);\r\n }\r\n return createProcessTelemetryUpdateContext(plugins || context[_DYN_GET_NEXT /* @min:%2egetNext */](), core, startAt);\r\n }\r\n context[_DYN_PROCESS_NEXT /* @min:%2eprocessNext */] = _processNext;\r\n context[_DYN_CREATE_NEW /* @min:%2ecreateNew */] = _createNew;\r\n return context;\r\n}\r\n/**\r\n * Creates an execution chain from the array of plugins\r\n * @param plugins - The array of plugins that will be executed in this order\r\n * @param defItemCtx - The default execution context to use when no telemetry context is passed to processTelemetry(), this\r\n * should be for legacy plugins only. Currently, only used for passing the current core instance and to provide better error\r\n * reporting (hasRun) when errors occur.\r\n */\r\nexport function createTelemetryProxyChain(plugins, config, core, startAt) {\r\n var firstProxy = null;\r\n var add = startAt ? false : true;\r\n if (isArray(plugins) && plugins[_DYN_LENGTH /* @min:%2elength */] > 0) {\r\n // Create the proxies and wire up the next plugin chain\r\n var lastProxy_1 = null;\r\n arrForEach(plugins, function (thePlugin) {\r\n if (!add && startAt === thePlugin) {\r\n add = true;\r\n }\r\n if (add && thePlugin && isFunction(thePlugin[STR_PROCESS_TELEMETRY /* @min:%2eprocessTelemetry */])) {\r\n // Only add plugins that are processors\r\n var newProxy = createTelemetryPluginProxy(thePlugin, config, core);\r\n if (!firstProxy) {\r\n firstProxy = newProxy;\r\n }\r\n if (lastProxy_1) {\r\n // Set this new proxy as the next for the previous one\r\n lastProxy_1._setNext(newProxy);\r\n }\r\n lastProxy_1 = newProxy;\r\n }\r\n });\r\n }\r\n if (startAt && !firstProxy) {\r\n // Special case where the \"startAt\" was not in the original list of plugins\r\n return createTelemetryProxyChain([startAt], config, core);\r\n }\r\n return firstProxy;\r\n}\r\n/**\r\n * Create the processing telemetry proxy instance, the proxy is used to abstract the current plugin to allow monitoring and\r\n * execution plugins while passing around the dynamic execution state (IProcessTelemetryContext), the proxy instance no longer\r\n * contains any execution state and can be reused between requests (this was not the case for 2.7.2 and earlier with the\r\n * TelemetryPluginChain class).\r\n * @param plugin - The plugin instance to proxy\r\n * @param config - The default execution context to use when no telemetry context is passed to processTelemetry(), this\r\n * should be for legacy plugins only. Currently, only used for passing the current core instance and to provide better error\r\n * reporting (hasRun) when errors occur.\r\n * @returns\r\n */\r\nexport function createTelemetryPluginProxy(plugin, config, core) {\r\n var nextProxy = null;\r\n var hasProcessTelemetry = isFunction(plugin[STR_PROCESS_TELEMETRY /* @min:%2eprocessTelemetry */]);\r\n var hasSetNext = isFunction(plugin[_DYN_SET_NEXT_PLUGIN /* @min:%2esetNextPlugin */]);\r\n var chainId;\r\n if (plugin) {\r\n chainId = plugin[_DYN_IDENTIFIER /* @min:%2eidentifier */] + \"-\" + plugin[STR_PRIORITY /* @min:%2epriority */] + \"-\" + _chainId++;\r\n }\r\n else {\r\n chainId = \"Unknown-0-\" + _chainId++;\r\n }\r\n var proxyChain = {\r\n getPlugin: function () {\r\n return plugin;\r\n },\r\n getNext: function () {\r\n return nextProxy;\r\n },\r\n processTelemetry: _processTelemetry,\r\n unload: _unloadPlugin,\r\n update: _updatePlugin,\r\n _id: chainId,\r\n _setNext: function (nextPlugin) {\r\n nextProxy = nextPlugin;\r\n }\r\n };\r\n function _getTelCtx() {\r\n var itemCtx;\r\n // Looks like a plugin didn't pass the (optional) context, so create a new one\r\n if (plugin && isFunction(plugin[strGetTelCtx])) {\r\n // This plugin extends from the BaseTelemetryPlugin so lets use it\r\n itemCtx = plugin[strGetTelCtx]();\r\n }\r\n if (!itemCtx) {\r\n // Create a temporary one\r\n itemCtx = createProcessTelemetryContext(proxyChain, config, core);\r\n }\r\n return itemCtx;\r\n }\r\n function _processChain(itemCtx, processPluginFn, name, details, isAsync) {\r\n var hasRun = false;\r\n var identifier = plugin ? plugin[_DYN_IDENTIFIER /* @min:%2eidentifier */] : strTelemetryPluginChain;\r\n var hasRunContext = itemCtx[strHasRunFlags];\r\n if (!hasRunContext) {\r\n // Assign and populate\r\n hasRunContext = itemCtx[strHasRunFlags] = {};\r\n }\r\n // Ensure that we keep the context in sync\r\n itemCtx.setNext(nextProxy);\r\n if (plugin) {\r\n doPerf(itemCtx[STR_CORE /* @min:%2ecore */](), function () { return identifier + \":\" + name; }, function () {\r\n // Mark this component as having run\r\n hasRunContext[chainId] = true;\r\n try {\r\n // Set a flag on the next plugin so we know if it was attempted to be executed\r\n var nextId = nextProxy ? nextProxy._id : STR_EMPTY;\r\n if (nextId) {\r\n hasRunContext[nextId] = false;\r\n }\r\n hasRun = processPluginFn(itemCtx);\r\n }\r\n catch (error) {\r\n var hasNextRun = nextProxy ? hasRunContext[nextProxy._id] : true;\r\n if (hasNextRun) {\r\n // The next plugin after us has already run so set this one as complete\r\n hasRun = true;\r\n }\r\n if (!nextProxy || !hasNextRun) {\r\n // Either we have no next plugin or the current one did not attempt to call the next plugin\r\n // Which means the current one is the root of the failure so log/report this failure\r\n _throwInternal(itemCtx[_DYN_DIAG_LOG /* @min:%2ediagLog */](), 1 /* eLoggingSeverity.CRITICAL */, 73 /* _eInternalMessageId.PluginException */, \"Plugin [\" + identifier + \"] failed during \" + name + \" - \" + dumpObj(error) + \", run flags: \" + dumpObj(hasRunContext));\r\n }\r\n }\r\n }, details, isAsync);\r\n }\r\n return hasRun;\r\n }\r\n function _processTelemetry(env, itemCtx) {\r\n itemCtx = itemCtx || _getTelCtx();\r\n function _callProcessTelemetry(itemCtx) {\r\n if (!plugin || !hasProcessTelemetry) {\r\n return false;\r\n }\r\n var pluginState = _getPluginState(plugin);\r\n if (pluginState[_DYN_TEARDOWN /* @min:%2eteardown */] || pluginState[STR_DISABLED]) {\r\n return false;\r\n }\r\n // Ensure that we keep the context in sync (for processNext()), just in case a plugin\r\n // doesn't calls processTelemetry() instead of itemContext.processNext() or some\r\n // other form of error occurred\r\n if (hasSetNext) {\r\n // Backward compatibility setting the next plugin on the instance\r\n plugin[_DYN_SET_NEXT_PLUGIN /* @min:%2esetNextPlugin */](nextProxy);\r\n }\r\n plugin[STR_PROCESS_TELEMETRY /* @min:%2eprocessTelemetry */](env, itemCtx);\r\n // Process Telemetry is expected to call itemCtx.processNext() or nextPlugin.processTelemetry()\r\n return true;\r\n }\r\n if (!_processChain(itemCtx, _callProcessTelemetry, \"processTelemetry\", function () { return ({ item: env }); }, !(env.sync))) {\r\n // The underlying plugin is either not defined, not enabled or does not have a processTelemetry implementation\r\n // so we still want the next plugin to be executed.\r\n itemCtx[_DYN_PROCESS_NEXT /* @min:%2eprocessNext */](env);\r\n }\r\n }\r\n function _unloadPlugin(unloadCtx, unloadState) {\r\n function _callTeardown() {\r\n // Setting default of hasRun as false so the proxyProcessFn() is called as teardown() doesn't have to exist or call unloadNext().\r\n var hasRun = false;\r\n if (plugin) {\r\n var pluginState = _getPluginState(plugin);\r\n var pluginCore = plugin[STR_CORE] || pluginState[STR_CORE /* @min:%2ecore */];\r\n // Only teardown the plugin if it was initialized by the current core (i.e. It's not a shared plugin)\r\n if (plugin && (!pluginCore || pluginCore === unloadCtx.core()) && !pluginState[_DYN_TEARDOWN /* @min:%2eteardown */]) {\r\n // Handle plugins that don't extend from the BaseTelemetryPlugin\r\n pluginState[STR_CORE /* @min:%2ecore */] = null;\r\n pluginState[_DYN_TEARDOWN /* @min:%2eteardown */] = true;\r\n pluginState[_DYN_IS_INITIALIZED /* @min:%2eisInitialized */] = false;\r\n if (plugin[_DYN_TEARDOWN /* @min:%2eteardown */] && plugin[_DYN_TEARDOWN /* @min:%2eteardown */](unloadCtx, unloadState) === true) {\r\n // plugin told us that it was going to (or has) call unloadCtx.processNext()\r\n hasRun = true;\r\n }\r\n }\r\n }\r\n return hasRun;\r\n }\r\n if (!_processChain(unloadCtx, _callTeardown, \"unload\", function () { }, unloadState[_DYN_IS_ASYNC /* @min:%2eisAsync */])) {\r\n // Only called if we hasRun was not true\r\n unloadCtx[_DYN_PROCESS_NEXT /* @min:%2eprocessNext */](unloadState);\r\n }\r\n }\r\n function _updatePlugin(updateCtx, updateState) {\r\n function _callUpdate() {\r\n // Setting default of hasRun as false so the proxyProcessFn() is called as teardown() doesn't have to exist or call unloadNext().\r\n var hasRun = false;\r\n if (plugin) {\r\n var pluginState = _getPluginState(plugin);\r\n var pluginCore = plugin[STR_CORE] || pluginState[STR_CORE /* @min:%2ecore */];\r\n // Only update the plugin if it was initialized by the current core (i.e. It's not a shared plugin)\r\n if (plugin && (!pluginCore || pluginCore === updateCtx.core()) && !pluginState[_DYN_TEARDOWN /* @min:%2eteardown */]) {\r\n if (plugin[_DYN_UPDATE /* @min:%2eupdate */] && plugin[_DYN_UPDATE /* @min:%2eupdate */](updateCtx, updateState) === true) {\r\n // plugin told us that it was going to (or has) call unloadCtx.processNext()\r\n hasRun = true;\r\n }\r\n }\r\n }\r\n return hasRun;\r\n }\r\n if (!_processChain(updateCtx, _callUpdate, \"update\", function () { }, false)) {\r\n // Only called if we hasRun was not true\r\n updateCtx[_DYN_PROCESS_NEXT /* @min:%2eprocessNext */](updateState);\r\n }\r\n }\r\n return objFreeze(proxyChain);\r\n}\r\n/**\r\n * This class will be removed!\r\n * @deprecated use createProcessTelemetryContext() instead\r\n */\r\nvar ProcessTelemetryContext = /** @class */ (function () {\r\n /**\r\n * Creates a new Telemetry Item context with the current config, core and plugin execution chain\r\n * @param plugins - The plugin instances that will be executed\r\n * @param config - The current config\r\n * @param core - The current core instance\r\n */\r\n function ProcessTelemetryContext(pluginChain, config, core, startAt) {\r\n var _self = this;\r\n var context = createProcessTelemetryContext(pluginChain, config, core, startAt);\r\n // Proxy all functions of the context to this object\r\n proxyFunctions(_self, context, objKeys(context));\r\n }\r\n return ProcessTelemetryContext;\r\n}());\r\nexport { ProcessTelemetryContext };\r\n","/*\n * Application Insights JavaScript SDK - Core, 2.8.15\n * Copyright (c) Microsoft and contributors. All rights reserved.\n */\n\r\n\r\nimport { _DYN_LENGTH } from \"../__DynamicConstants\";\r\nimport { getCrypto, getMsCrypto, isIE } from \"./EnvUtils\";\r\nimport { dateNow } from \"./HelperFuncs\";\r\nimport { STR_EMPTY } from \"./InternalConstants\";\r\nvar UInt32Mask = 0x100000000;\r\nvar MaxUInt32 = 0xffffffff;\r\n// MWC based Random generator (for IE)\r\nvar _mwcSeeded = false;\r\nvar _mwcW = 123456789;\r\nvar _mwcZ = 987654321;\r\n// Takes any integer\r\nfunction _mwcSeed(seedValue) {\r\n if (seedValue < 0) {\r\n // Make sure we end up with a positive number and not -ve one.\r\n seedValue >>>= 0;\r\n }\r\n _mwcW = (123456789 + seedValue) & MaxUInt32;\r\n _mwcZ = (987654321 - seedValue) & MaxUInt32;\r\n _mwcSeeded = true;\r\n}\r\nfunction _autoSeedMwc() {\r\n // Simple initialization using default Math.random() - So we inherit any entropy from the browser\r\n // and bitwise XOR with the current milliseconds\r\n try {\r\n var now = dateNow() & 0x7fffffff;\r\n _mwcSeed(((Math.random() * UInt32Mask) ^ now) + now);\r\n }\r\n catch (e) {\r\n // Don't crash if something goes wrong\r\n }\r\n}\r\n/**\r\n * Generate a random value between 0 and maxValue, max value should be limited to a 32-bit maximum.\r\n * So maxValue(16) will produce a number from 0..16 (range of 17)\r\n * @param maxValue\r\n */\r\nexport function randomValue(maxValue) {\r\n if (maxValue > 0) {\r\n return Math.floor((random32() / MaxUInt32) * (maxValue + 1)) >>> 0;\r\n }\r\n return 0;\r\n}\r\n/**\r\n * generate a random 32-bit number (0x000000..0xFFFFFFFF) or (-0x80000000..0x7FFFFFFF), defaults un-unsigned.\r\n * @param signed - True to return a signed 32-bit number (-0x80000000..0x7FFFFFFF) otherwise an unsigned one (0x000000..0xFFFFFFFF)\r\n */\r\nexport function random32(signed) {\r\n var value = 0;\r\n var c = getCrypto() || getMsCrypto();\r\n if (c && c.getRandomValues) {\r\n // Make sure the number is converted into the specified range (-0x80000000..0x7FFFFFFF)\r\n value = c.getRandomValues(new Uint32Array(1))[0] & MaxUInt32;\r\n }\r\n if (value === 0 && isIE()) {\r\n // For IE 6, 7, 8 (especially on XP) Math.random is not very random\r\n if (!_mwcSeeded) {\r\n // Set the seed for the Mwc algorithm\r\n _autoSeedMwc();\r\n }\r\n // Don't use Math.random for IE\r\n // Make sure the number is converted into the specified range (-0x80000000..0x7FFFFFFF)\r\n value = mwcRandom32() & MaxUInt32;\r\n }\r\n if (value === 0) {\r\n // Make sure the number is converted into the specified range (-0x80000000..0x7FFFFFFF)\r\n value = Math.floor((UInt32Mask * Math.random()) | 0);\r\n }\r\n if (!signed) {\r\n // Make sure we end up with a positive number and not -ve one.\r\n value >>>= 0;\r\n }\r\n return value;\r\n}\r\n/**\r\n * Seed the MWC random number generator with the specified seed or a random value\r\n * @param value - optional the number to used as the seed, if undefined, null or zero a random value will be chosen\r\n */\r\nexport function mwcRandomSeed(value) {\r\n if (!value) {\r\n _autoSeedMwc();\r\n }\r\n else {\r\n _mwcSeed(value);\r\n }\r\n}\r\n/**\r\n * Generate a random 32-bit number between (0x000000..0xFFFFFFFF) or (-0x80000000..0x7FFFFFFF), using MWC (Multiply with carry)\r\n * instead of Math.random() defaults to un-signed.\r\n * Used as a replacement random generator for IE to avoid issues with older IE instances.\r\n * @param signed - True to return a signed 32-bit number (-0x80000000..0x7FFFFFFF) otherwise an unsigned one (0x000000..0xFFFFFFFF)\r\n */\r\nexport function mwcRandom32(signed) {\r\n _mwcZ = (36969 * (_mwcZ & 0xFFFF) + (_mwcZ >> 16)) & MaxUInt32;\r\n _mwcW = (18000 * (_mwcW & 0xFFFF) + (_mwcW >> 16)) & MaxUInt32;\r\n var value = (((_mwcZ << 16) + (_mwcW & 0xFFFF)) >>> 0) & MaxUInt32 | 0;\r\n if (!signed) {\r\n // Make sure we end up with a positive number and not -ve one.\r\n value >>>= 0;\r\n }\r\n return value;\r\n}\r\n/**\r\n * Generate random base64 id string.\r\n * The default length is 22 which is 132-bits so almost the same as a GUID but as base64 (the previous default was 5)\r\n * @param maxLength - Optional value to specify the length of the id to be generated, defaults to 22\r\n */\r\nexport function newId(maxLength) {\r\n if (maxLength === void 0) { maxLength = 22; }\r\n var base64chars = \"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/\";\r\n // Start with an initial random number, consuming the value in reverse byte order\r\n var number = random32() >>> 0; // Make sure it's a +ve number\r\n var chars = 0;\r\n var result = STR_EMPTY;\r\n while (result[_DYN_LENGTH /* @min:%2elength */] < maxLength) {\r\n chars++;\r\n result += base64chars.charAt(number & 0x3F);\r\n number >>>= 6; // Zero fill with right shift\r\n if (chars === 5) {\r\n // 5 base64 characters === 30 bits so we don't have enough bits for another base64 char\r\n // So add on another 30 bits and make sure it's +ve\r\n number = (((random32() << 2) & 0xFFFFFFFF) | (number & 0x03)) >>> 0;\r\n chars = 0; // We need to reset the number every 5 chars (30 bits)\r\n }\r\n }\r\n return result;\r\n}\r\n","/*\n * Application Insights JavaScript SDK - Core, 2.8.15\n * Copyright (c) Microsoft and contributors. All rights reserved.\n */\n\r\n\r\n\"use strict\";\r\nimport { _DYN_CALL, _DYN_GET_NEXT, _DYN_GET_PLUGIN, _DYN_INITIALIZE, _DYN_IS_INITIALIZED, _DYN_LENGTH, _DYN_NAME, _DYN_PUSH, _DYN_SET_NEXT_PLUGIN, _DYN_SPAN_ID, _DYN_TEARDOWN, _DYN_TRACE_FLAGS, _DYN_TRACE_ID, _DYN__DO_TEARDOWN } from \"../__DynamicConstants\";\r\nimport { createElmNodeData } from \"./DataCacheHelper\";\r\nimport { arrForEach, isFunction } from \"./HelperFuncs\";\r\nimport { STR_CORE, STR_PRIORITY, STR_PROCESS_TELEMETRY } from \"./InternalConstants\";\r\nimport { isValidSpanId, isValidTraceId } from \"./W3cTraceParent\";\r\nvar pluginStateData = createElmNodeData(\"plugin\");\r\nexport function _getPluginState(plugin) {\r\n return pluginStateData.get(plugin, \"state\", {}, true);\r\n}\r\n/**\r\n * Initialize the queue of plugins\r\n * @param plugins - The array of plugins to initialize and setting of the next plugin\r\n * @param config The current config for the instance\r\n * @param core THe current core instance\r\n * @param extensions The extensions\r\n */\r\nexport function initializePlugins(processContext, extensions) {\r\n // Set the next plugin and identified the uninitialized plugins\r\n var initPlugins = [];\r\n var lastPlugin = null;\r\n var proxy = processContext[_DYN_GET_NEXT /* @min:%2egetNext */]();\r\n var pluginState;\r\n while (proxy) {\r\n var thePlugin = proxy[_DYN_GET_PLUGIN /* @min:%2egetPlugin */]();\r\n if (thePlugin) {\r\n if (lastPlugin &&\r\n isFunction(lastPlugin[_DYN_SET_NEXT_PLUGIN /* @min:%2esetNextPlugin */]) &&\r\n isFunction(thePlugin[STR_PROCESS_TELEMETRY /* @min:%2eprocessTelemetry */])) {\r\n // Set this plugin as the next for the previous one\r\n lastPlugin[_DYN_SET_NEXT_PLUGIN /* @min:%2esetNextPlugin */](thePlugin);\r\n }\r\n var isInitialized = false;\r\n if (isFunction(thePlugin[_DYN_IS_INITIALIZED /* @min:%2eisInitialized */])) {\r\n isInitialized = thePlugin[_DYN_IS_INITIALIZED /* @min:%2eisInitialized */]();\r\n }\r\n else {\r\n pluginState = _getPluginState(thePlugin);\r\n isInitialized = pluginState[_DYN_IS_INITIALIZED /* @min:%2eisInitialized */];\r\n }\r\n if (!isInitialized) {\r\n initPlugins[_DYN_PUSH /* @min:%2epush */](thePlugin);\r\n }\r\n lastPlugin = thePlugin;\r\n proxy = proxy[_DYN_GET_NEXT /* @min:%2egetNext */]();\r\n }\r\n }\r\n // Now initialize the plugins\r\n arrForEach(initPlugins, function (thePlugin) {\r\n var core = processContext[STR_CORE]();\r\n thePlugin[_DYN_INITIALIZE /* @min:%2einitialize */](processContext.getCfg(), core, extensions, processContext[_DYN_GET_NEXT /* @min:%2egetNext */]());\r\n pluginState = _getPluginState(thePlugin);\r\n // Only add the core to the state if the plugin didn't set it (doesn't extent from BaseTelemetryPlugin)\r\n if (!thePlugin[STR_CORE] && !pluginState[STR_CORE]) {\r\n pluginState[STR_CORE] = core;\r\n }\r\n pluginState[_DYN_IS_INITIALIZED /* @min:%2eisInitialized */] = true;\r\n delete pluginState[_DYN_TEARDOWN /* @min:%2eteardown */];\r\n });\r\n}\r\nexport function sortPlugins(plugins) {\r\n // Sort by priority\r\n return plugins.sort(function (extA, extB) {\r\n var result = 0;\r\n if (extB) {\r\n var bHasProcess = isFunction(extB[STR_PROCESS_TELEMETRY]);\r\n if (isFunction(extA[STR_PROCESS_TELEMETRY])) {\r\n result = bHasProcess ? extA[STR_PRIORITY] - extB[STR_PRIORITY] : 1;\r\n }\r\n else if (bHasProcess) {\r\n result = -1;\r\n }\r\n }\r\n else {\r\n result = extA ? 1 : -1;\r\n }\r\n return result;\r\n });\r\n // sort complete\r\n}\r\n/**\r\n * Teardown / Unload helper to perform teardown/unloading operations for the provided components synchronously or asynchronously, this will call any\r\n * _doTeardown() or _doUnload() functions on the provided components to allow them to finish removal.\r\n * @param components - The components you want to unload\r\n * @param unloadCtx - This is the context that should be used during unloading.\r\n * @param unloadState - The details / state of the unload process, it holds details like whether it should be unloaded synchronously or asynchronously and the reason for the unload.\r\n * @param asyncCallback - An optional callback that the plugin must call if it returns true to inform the caller that it has completed any async unload/teardown operations.\r\n * @returns boolean - true if the plugin has or will call asyncCallback, this allows the plugin to perform any asynchronous operations.\r\n */\r\nexport function unloadComponents(components, unloadCtx, unloadState, asyncCallback) {\r\n var idx = 0;\r\n function _doUnload() {\r\n while (idx < components[_DYN_LENGTH /* @min:%2elength */]) {\r\n var component = components[idx++];\r\n if (component) {\r\n var func = component._doUnload || component[_DYN__DO_TEARDOWN /* @min:%2e_doTeardown */];\r\n if (isFunction(func)) {\r\n if (func[_DYN_CALL /* @min:%2ecall */](component, unloadCtx, unloadState, _doUnload) === true) {\r\n return true;\r\n }\r\n }\r\n }\r\n }\r\n }\r\n return _doUnload();\r\n}\r\n/**\r\n * Creates a IDistributedTraceContext which optionally also \"sets\" the value on a parent\r\n * @param parentCtx - An optional parent distributed trace instance\r\n * @returns A new IDistributedTraceContext instance that uses an internal temporary object\r\n */\r\nexport function createDistributedTraceContext(parentCtx) {\r\n var trace = {};\r\n return {\r\n getName: function () {\r\n return trace[_DYN_NAME /* @min:%2ename */];\r\n },\r\n setName: function (newValue) {\r\n parentCtx && parentCtx.setName(newValue);\r\n trace[_DYN_NAME /* @min:%2ename */] = newValue;\r\n },\r\n getTraceId: function () {\r\n return trace[_DYN_TRACE_ID /* @min:%2etraceId */];\r\n },\r\n setTraceId: function (newValue) {\r\n parentCtx && parentCtx.setTraceId(newValue);\r\n if (isValidTraceId(newValue)) {\r\n trace[_DYN_TRACE_ID /* @min:%2etraceId */] = newValue;\r\n }\r\n },\r\n getSpanId: function () {\r\n return trace[_DYN_SPAN_ID /* @min:%2espanId */];\r\n },\r\n setSpanId: function (newValue) {\r\n parentCtx && parentCtx.setSpanId(newValue);\r\n if (isValidSpanId(newValue)) {\r\n trace[_DYN_SPAN_ID /* @min:%2espanId */] = newValue;\r\n }\r\n },\r\n getTraceFlags: function () {\r\n return trace[_DYN_TRACE_FLAGS /* @min:%2etraceFlags */];\r\n },\r\n setTraceFlags: function (newTraceFlags) {\r\n parentCtx && parentCtx.setTraceFlags(newTraceFlags);\r\n trace[_DYN_TRACE_FLAGS /* @min:%2etraceFlags */] = newTraceFlags;\r\n }\r\n };\r\n}\r\n","/*\n * Application Insights JavaScript SDK - Core, 2.8.15\n * Copyright (c) Microsoft and contributors. All rights reserved.\n */\n// \r\n// \r\nimport { __extendsFn as __extends } from \"@microsoft/applicationinsights-shims\";\r\nimport dynamicProto from \"@microsoft/dynamicproto-js\";\r\nimport { _DYN_APPLY, _DYN_DIAG_LOG, _DYN_LENGTH, _DYN_PROCESS_NEXT, _DYN_PUSH, _DYN_SPLICE, _DYN__DO_TEARDOWN } from \"../__DynamicConstants\";\r\nimport { BaseTelemetryPlugin } from \"./BaseTelemetryPlugin\";\r\nimport { _throwInternal } from \"./DiagnosticLogger\";\r\nimport { dumpObj } from \"./EnvUtils\";\r\nimport { arrForEach, getExceptionName } from \"./HelperFuncs\";\r\nimport { STR_PROCESS_TELEMETRY } from \"./InternalConstants\";\r\nvar TelemetryInitializerPlugin = /** @class */ (function (_super) {\r\n __extends(TelemetryInitializerPlugin, _super);\r\n function TelemetryInitializerPlugin() {\r\n var _this = _super.call(this) || this;\r\n _this.identifier = \"TelemetryInitializerPlugin\";\r\n _this.priority = 199;\r\n // NOTE!: DON'T set default values here, instead set them in the _initDefaults() function as it is also called during teardown()\r\n var _id;\r\n var _initializers;\r\n _initDefaults();\r\n dynamicProto(TelemetryInitializerPlugin, _this, function (_self, _base) {\r\n _self.addTelemetryInitializer = function (telemetryInitializer) {\r\n var theInitializer = {\r\n id: _id++,\r\n fn: telemetryInitializer\r\n };\r\n _initializers[_DYN_PUSH /* @min:%2epush */](theInitializer);\r\n var handler = {\r\n remove: function () {\r\n arrForEach(_initializers, function (initializer, idx) {\r\n if (initializer.id === theInitializer.id) {\r\n _initializers[_DYN_SPLICE /* @min:%2esplice */](idx, 1);\r\n return -1;\r\n }\r\n });\r\n }\r\n };\r\n return handler;\r\n };\r\n _self[STR_PROCESS_TELEMETRY /* @min:%2eprocessTelemetry */] = function (item, itemCtx) {\r\n var doNotSendItem = false;\r\n var telemetryInitializersCount = _initializers[_DYN_LENGTH /* @min:%2elength */];\r\n for (var i = 0; i < telemetryInitializersCount; ++i) {\r\n var telemetryInitializer = _initializers[i];\r\n if (telemetryInitializer) {\r\n try {\r\n if (telemetryInitializer.fn[_DYN_APPLY /* @min:%2eapply */](null, [item]) === false) {\r\n doNotSendItem = true;\r\n break;\r\n }\r\n }\r\n catch (e) {\r\n // log error but dont stop executing rest of the telemetry initializers\r\n // doNotSendItem = true;\r\n _throwInternal(itemCtx[_DYN_DIAG_LOG /* @min:%2ediagLog */](), 1 /* eLoggingSeverity.CRITICAL */, 64 /* _eInternalMessageId.TelemetryInitializerFailed */, \"One of telemetry initializers failed, telemetry item will not be sent: \" + getExceptionName(e), { exception: dumpObj(e) }, true);\r\n }\r\n }\r\n }\r\n if (!doNotSendItem) {\r\n _self[_DYN_PROCESS_NEXT /* @min:%2eprocessNext */](item, itemCtx);\r\n }\r\n };\r\n _self[_DYN__DO_TEARDOWN /* @min:%2e_doTeardown */] = function () {\r\n _initDefaults();\r\n };\r\n });\r\n function _initDefaults() {\r\n _id = 0;\r\n _initializers = [];\r\n }\r\n return _this;\r\n }\r\n// Removed Stub for TelemetryInitializerPlugin.prototype.addTelemetryInitializer.\r\n// Removed Stub for TelemetryInitializerPlugin.prototype.processTelemetry.\r\n // This is a workaround for an IE8 bug when using dynamicProto() with classes that don't have any\n // non-dynamic functions or static properties/functions when using uglify-js to minify the resulting code.\n // this will be removed when ES3 support is dropped.\n TelemetryInitializerPlugin.__ieDyn=1;\n\n return TelemetryInitializerPlugin;\r\n}(BaseTelemetryPlugin));\r\nexport { TelemetryInitializerPlugin };\r\n","/*\n * Application Insights JavaScript SDK - Core, 2.8.15\n * Copyright (c) Microsoft and contributors. All rights reserved.\n */\n\r\n\r\nimport { _DYN_DIAG_LOG, _DYN_PUSH } from \"../__DynamicConstants\";\r\nimport { _throwInternal } from \"./DiagnosticLogger\";\r\nimport { dumpObj } from \"./EnvUtils\";\r\nimport { arrForEach } from \"./HelperFuncs\";\r\nexport function createUnloadHandlerContainer() {\r\n var handlers = [];\r\n function _addHandler(handler) {\r\n if (handler) {\r\n handlers[_DYN_PUSH /* @min:%2epush */](handler);\r\n }\r\n }\r\n function _runHandlers(unloadCtx, unloadState) {\r\n arrForEach(handlers, function (handler) {\r\n try {\r\n handler(unloadCtx, unloadState);\r\n }\r\n catch (e) {\r\n _throwInternal(unloadCtx[_DYN_DIAG_LOG /* @min:%2ediagLog */](), 2 /* eLoggingSeverity.WARNING */, 73 /* _eInternalMessageId.PluginException */, \"Unexpected error calling unload handler - \" + dumpObj(e));\r\n }\r\n });\r\n handlers = [];\r\n }\r\n return {\r\n add: _addHandler,\r\n run: _runHandlers\r\n };\r\n}\r\n","/*\n * Application Insights JavaScript SDK - Core, 2.8.15\n * Copyright (c) Microsoft and contributors. All rights reserved.\n */\nimport { _DYN_LENGTH, _DYN_SPAN_ID, _DYN_SUBSTR, _DYN_TRACE_FLAGS, _DYN_TRACE_ID, _DYN_VERSION } from \"../__DynamicConstants\";\r\nimport { generateW3CId } from \"./CoreUtils\";\r\nimport { findMetaTag, findNamedServerTiming } from \"./EnvUtils\";\r\nimport { isArray, isString, strTrim } from \"./HelperFuncs\";\r\n// using {0,16} for leading and trailing whitespace just to constrain the possible runtime of a random string\r\nvar TRACE_PARENT_REGEX = /^([\\da-f]{2})-([\\da-f]{32})-([\\da-f]{16})-([\\da-f]{2})(-[^\\s]*)?$/;\r\nvar DEFAULT_VERSION = \"00\";\r\nvar INVALID_VERSION = \"ff\";\r\nvar INVALID_TRACE_ID = \"00000000000000000000000000000000\";\r\nvar INVALID_SPAN_ID = \"0000000000000000\";\r\nvar SAMPLED_FLAG = 0x01;\r\nfunction _isValid(value, len, invalidValue) {\r\n if (value && value[_DYN_LENGTH /* @min:%2elength */] === len && value !== invalidValue) {\r\n return !!value.match(/^[\\da-f]*$/);\r\n }\r\n return false;\r\n}\r\nfunction _formatValue(value, len, defValue) {\r\n if (_isValid(value, len)) {\r\n return value;\r\n }\r\n return defValue;\r\n}\r\nfunction _formatFlags(value) {\r\n if (isNaN(value) || value < 0 || value > 255) {\r\n value = 0x01;\r\n }\r\n var result = value.toString(16);\r\n while (result[_DYN_LENGTH /* @min:%2elength */] < 2) {\r\n result = \"0\" + result;\r\n }\r\n return result;\r\n}\r\n/**\r\n * Create a new ITraceParent instance using the provided values.\r\n * @param traceId - The traceId to use, when invalid a new random W3C id will be generated.\r\n * @param spanId - The parent/span id to use, a new random value will be generated if it is invalid.\r\n * @param flags - The traceFlags to use, defaults to zero (0) if not supplied or invalid\r\n * @param version - The version to used, defaults to version \"01\" if not supplied or invalid.\r\n * @returns\r\n */\r\nexport function createTraceParent(traceId, spanId, flags, version) {\r\n var _a;\r\n return _a = {},\r\n _a[_DYN_VERSION /* @min:version */] = _isValid(version, 2, INVALID_VERSION) ? version : DEFAULT_VERSION,\r\n _a[_DYN_TRACE_ID /* @min:traceId */] = isValidTraceId(traceId) ? traceId : generateW3CId(),\r\n _a.spanId = isValidSpanId(spanId) ? spanId : generateW3CId()[_DYN_SUBSTR /* @min:%2esubstr */](0, 16),\r\n _a.traceFlags = flags >= 0 && flags <= 0xFF ? flags : 1,\r\n _a;\r\n}\r\n/**\r\n * Attempt to parse the provided string as a W3C TraceParent header value (https://www.w3.org/TR/trace-context/#traceparent-header)\r\n *\r\n * @param value\r\n * @returns\r\n */\r\nexport function parseTraceParent(value) {\r\n var _a;\r\n if (!value) {\r\n // Don't pass a null/undefined or empty string\r\n return null;\r\n }\r\n if (isArray(value)) {\r\n // The value may have been encoded on the page into an array so handle this automatically\r\n value = value[0] || \"\";\r\n }\r\n if (!value || !isString(value) || value[_DYN_LENGTH /* @min:%2elength */] > 8192) {\r\n // limit potential processing based on total length\r\n return null;\r\n }\r\n // See https://www.w3.org/TR/trace-context/#versioning-of-traceparent\r\n var match = TRACE_PARENT_REGEX.exec(strTrim(value));\r\n if (!match || // No match\r\n match[1] === INVALID_VERSION || // version ff is forbidden\r\n match[2] === INVALID_TRACE_ID || // All zeros is considered to be invalid\r\n match[3] === INVALID_SPAN_ID) { // All zeros is considered to be invalid\r\n return null;\r\n }\r\n return _a = {},\r\n _a[_DYN_VERSION /* @min:version */] = match[1],\r\n _a[_DYN_TRACE_ID /* @min:traceId */] = match[2],\r\n _a[_DYN_SPAN_ID /* @min:spanId */] = match[3],\r\n _a[_DYN_TRACE_FLAGS /* @min:traceFlags */] = parseInt(match[4], 16),\r\n _a;\r\n}\r\n/**\r\n * Is the provided W3c Trace Id a valid string representation, it must be a 32-character string\r\n * of lowercase hexadecimal characters for example, 4bf92f3577b34da6a3ce929d0e0e4736.\r\n * If all characters as zero (00000000000000000000000000000000) it will be considered an invalid value.\r\n * @param value - The W3c trace Id to be validated\r\n * @returns true if valid otherwise false\r\n */\r\nexport function isValidTraceId(value) {\r\n return _isValid(value, 32, INVALID_TRACE_ID);\r\n}\r\n/**\r\n * Is the provided W3c span id (aka. parent id) a valid string representation, it must be a 16-character\r\n * string of lowercase hexadecimal characters, for example, 00f067aa0ba902b7.\r\n * If all characters are zero (0000000000000000) this is considered an invalid value.\r\n * @param value - The W3c span id to be validated\r\n * @returns true if valid otherwise false\r\n */\r\nexport function isValidSpanId(value) {\r\n return _isValid(value, 16, INVALID_SPAN_ID);\r\n}\r\n/**\r\n * Validates that the provided ITraceParent instance conforms to the currently supported specifications\r\n * @param value\r\n * @returns\r\n */\r\nexport function isValidTraceParent(value) {\r\n if (!value ||\r\n !_isValid(value[_DYN_VERSION /* @min:%2eversion */], 2, INVALID_VERSION) ||\r\n !_isValid(value[_DYN_TRACE_ID /* @min:%2etraceId */], 32, INVALID_TRACE_ID) ||\r\n !_isValid(value[_DYN_SPAN_ID /* @min:%2espanId */], 16, INVALID_SPAN_ID) ||\r\n !_isValid(_formatFlags(value[_DYN_TRACE_FLAGS /* @min:%2etraceFlags */]), 2)) {\r\n // Each known field must contain a valid value\r\n return false;\r\n }\r\n return true;\r\n}\r\n/**\r\n * Is the parsed traceParent indicating that the trace is currently sampled.\r\n * @param value - The parsed traceParent value\r\n * @returns\r\n */\r\nexport function isSampledFlag(value) {\r\n if (isValidTraceParent(value)) {\r\n return (value[_DYN_TRACE_FLAGS /* @min:%2etraceFlags */] & SAMPLED_FLAG) === SAMPLED_FLAG;\r\n }\r\n return false;\r\n}\r\n/**\r\n * Format the ITraceParent value as a string using the supported and know version formats.\r\n * So even if the passed traceParent is a later version the string value returned from this\r\n * function will convert it to only the known version formats.\r\n * This currently only supports version \"00\" and invalid \"ff\"\r\n * @param value - The parsed traceParent value\r\n * @returns\r\n */\r\nexport function formatTraceParent(value) {\r\n if (value) {\r\n // Special Note: This only supports formatting as version 00, future versions should encode any known supported version\r\n // So parsing a future version will populate the correct version value but reformatting will reduce it to version 00.\r\n var flags = _formatFlags(value[_DYN_TRACE_FLAGS /* @min:%2etraceFlags */]);\r\n if (!_isValid(flags, 2)) {\r\n flags = \"01\";\r\n }\r\n var version = value[_DYN_VERSION /* @min:%2eversion */] || DEFAULT_VERSION;\r\n if (version !== \"00\" && version !== \"ff\") {\r\n // Reduce version to \"00\"\r\n version = DEFAULT_VERSION;\r\n }\r\n // Format as version 00\r\n return \"\".concat(version, \"-\").concat(_formatValue(value.traceId, 32, INVALID_TRACE_ID), \"-\").concat(_formatValue(value.spanId, 16, INVALID_SPAN_ID), \"-\").concat(flags);\r\n }\r\n return \"\";\r\n}\r\n/**\r\n * Helper function to fetch the passed traceparent from the page, looking for it as a meta-tag or a Server-Timing header.\r\n * @returns\r\n */\r\nexport function findW3cTraceParent() {\r\n var name = \"traceparent\";\r\n var traceParent = parseTraceParent(findMetaTag(name));\r\n if (!traceParent) {\r\n traceParent = parseTraceParent(findNamedServerTiming(name));\r\n }\r\n return traceParent;\r\n}\r\n","/*\n * Application Insights JavaScript SDK - Core, 2.8.15\n * Copyright (c) Microsoft and contributors. All rights reserved.\n */\n\r\n\r\n// @skip-file-minify\r\n// ##############################################################\r\n// AUTO GENERATED FILE: This file is Auto Generated during build.\r\n// ##############################################################\r\n// !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!\r\n// Note: DON'T Export these const from the package as we are still targeting ES3 this will export a mutable variables that someone could change!!!\r\n// !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!\r\nexport var _DYN_INITIALIZE = \"initialize\"; // Count: 8\r\nexport var _DYN_NAME = \"name\"; // Count: 11\r\nexport var _DYN_GET_NOTIFY_MGR = \"getNotifyMgr\"; // Count: 3\r\nexport var _DYN_IDENTIFIER = \"identifier\"; // Count: 8\r\nexport var _DYN_PUSH = \"push\"; // Count: 30\r\nexport var _DYN_IS_INITIALIZED = \"isInitialized\"; // Count: 10\r\nexport var _DYN_CONFIG = \"config\"; // Count: 7\r\nexport var _DYN_INSTRUMENTATION_KEY = \"instrumentationKey\"; // Count: 3\r\nexport var _DYN_LOGGER = \"logger\"; // Count: 10\r\nexport var _DYN_LENGTH = \"length\"; // Count: 44\r\nexport var _DYN_TIME = \"time\"; // Count: 5\r\nexport var _DYN_PROCESS_NEXT = \"processNext\"; // Count: 21\r\nexport var _DYN_GET_PROCESS_TEL_CONT0 = \"getProcessTelContext\"; // Count: 2\r\nexport var _DYN_ADD_NOTIFICATION_LIS1 = \"addNotificationListener\"; // Count: 5\r\nexport var _DYN_REMOVE_NOTIFICATION_2 = \"removeNotificationListener\"; // Count: 5\r\nexport var _DYN_STOP_POLLING_INTERNA3 = \"stopPollingInternalLogs\"; // Count: 2\r\nexport var _DYN_ON_COMPLETE = \"onComplete\"; // Count: 6\r\nexport var _DYN_GET_PLUGIN = \"getPlugin\"; // Count: 5\r\nexport var _DYN_FLUSH = \"flush\"; // Count: 5\r\nexport var _DYN__EXTENSIONS = \"_extensions\"; // Count: 4\r\nexport var _DYN_SPLICE = \"splice\"; // Count: 6\r\nexport var _DYN_TEARDOWN = \"teardown\"; // Count: 10\r\nexport var _DYN_MESSAGE_ID = \"messageId\"; // Count: 4\r\nexport var _DYN_MESSAGE = \"message\"; // Count: 7\r\nexport var _DYN_IS_ASYNC = \"isAsync\"; // Count: 7\r\nexport var _DYN__DO_TEARDOWN = \"_doTeardown\"; // Count: 4\r\nexport var _DYN_UPDATE = \"update\"; // Count: 7\r\nexport var _DYN_GET_NEXT = \"getNext\"; // Count: 12\r\nexport var _DYN_DIAG_LOG = \"diagLog\"; // Count: 8\r\nexport var _DYN_SET_NEXT_PLUGIN = \"setNextPlugin\"; // Count: 5\r\nexport var _DYN_CREATE_NEW = \"createNew\"; // Count: 6\r\nexport var _DYN_COOKIE_CFG = \"cookieCfg\"; // Count: 3\r\nexport var _DYN_INDEX_OF = \"indexOf\"; // Count: 6\r\nexport var _DYN_SUBSTRING = \"substring\"; // Count: 10\r\nexport var _DYN_USER_AGENT = \"userAgent\"; // Count: 5\r\nexport var _DYN_SPLIT = \"split\"; // Count: 5\r\nexport var _DYN_SET_ENABLED = \"setEnabled\"; // Count: 5\r\nexport var _DYN_SUBSTR = \"substr\"; // Count: 6\r\nexport var _DYN_NODE_TYPE = \"nodeType\"; // Count: 3\r\nexport var _DYN_APPLY = \"apply\"; // Count: 6\r\nexport var _DYN_REPLACE = \"replace\"; // Count: 10\r\nexport var _DYN_ENABLE_DEBUG_EXCEPTI4 = \"enableDebugExceptions\"; // Count: 2\r\nexport var _DYN_LOG_INTERNAL_MESSAGE = \"logInternalMessage\"; // Count: 2\r\nexport var _DYN_TO_LOWER_CASE = \"toLowerCase\"; // Count: 5\r\nexport var _DYN_CALL = \"call\"; // Count: 18\r\nexport var _DYN_TYPE = \"type\"; // Count: 14\r\nexport var _DYN_HANDLER = \"handler\"; // Count: 5\r\nexport var _DYN_LISTENERS = \"listeners\"; // Count: 6\r\nexport var _DYN_IS_CHILD_EVT = \"isChildEvt\"; // Count: 3\r\nexport var _DYN_GET_CTX = \"getCtx\"; // Count: 6\r\nexport var _DYN_SET_CTX = \"setCtx\"; // Count: 10\r\nexport var _DYN_COMPLETE = \"complete\"; // Count: 3\r\nexport var _DYN_TRACE_ID = \"traceId\"; // Count: 5\r\nexport var _DYN_SPAN_ID = \"spanId\"; // Count: 5\r\nexport var _DYN_TRACE_FLAGS = \"traceFlags\"; // Count: 6\r\nexport var _DYN_VERSION = \"version\"; // Count: 4\r\n","/*\n * Application Insights JavaScript SDK - Dependencies Plugin, 2.8.15\n * Copyright (c) Microsoft and contributors. All rights reserved.\n */\n\r\n\r\n// !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!\r\n// Note: DON'T Export these const from the package as we are still targeting ES3 this will export a mutable variables that someone could change!!!\r\n// !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!\r\n// Generally you should only put values that are used more than 2 times and then only if not already exposed as a constant (such as SdkCoreNames)\r\n// as when using \"short\" named values from here they will be will be minified smaller than the SdkCoreNames[eSdkCoreNames.xxxx] value.\r\nexport var STR_DURATION = \"duration\";\r\nexport var STR_PROPERTIES = \"properties\";\r\n","/*\n * Application Insights JavaScript SDK - Dependencies Plugin, 2.8.15\n * Copyright (c) Microsoft and contributors. All rights reserved.\n */\n\r\n\r\n// @skip-file-minify\r\n// ##############################################################\r\n// AUTO GENERATED FILE: This file is Auto Generated during build.\r\n// ##############################################################\r\n// !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!\r\n// Note: DON'T Export these const from the package as we are still targeting ES3 this will export a mutable variables that someone could change!!!\r\n// !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!\r\nexport var _DYN_REQUEST_URL = \"requestUrl\"; // Count: 12\r\nexport var _DYN_INST = \"inst\"; // Count: 5\r\nexport var _DYN_LENGTH = \"length\"; // Count: 10\r\nexport var _DYN_TRACE_ID = \"traceID\"; // Count: 9\r\nexport var _DYN_SPAN_ID = \"spanID\"; // Count: 8\r\nexport var _DYN_TRACE_FLAGS = \"traceFlags\"; // Count: 13\r\nexport var _DYN_CONTEXT = \"context\"; // Count: 7\r\nexport var _DYN_ABORTED = \"aborted\"; // Count: 7\r\nexport var _DYN_TRACE_ID0 = \"traceId\"; // Count: 5\r\nexport var _DYN_SPAN_ID1 = \"spanId\"; // Count: 5\r\nexport var _DYN_CORE = \"core\"; // Count: 8\r\nexport var _DYN_INCLUDE_CORRELATION_2 = \"includeCorrelationHeaders\"; // Count: 4\r\nexport var _DYN_CAN_INCLUDE_CORRELAT3 = \"canIncludeCorrelationHeader\"; // Count: 2\r\nexport var _DYN_GET_ABSOLUTE_URL = \"getAbsoluteUrl\"; // Count: 3\r\nexport var _DYN_HEADERS = \"headers\"; // Count: 6\r\nexport var _DYN_REQUEST_HEADERS = \"requestHeaders\"; // Count: 13\r\nexport var _DYN_APP_ID = \"appId\"; // Count: 5\r\nexport var _DYN_SET_REQUEST_HEADER = \"setRequestHeader\"; // Count: 3\r\nexport var _DYN_TRACK_DEPENDENCY_DAT4 = \"trackDependencyDataInternal\"; // Count: 2\r\nexport var _DYN_DISTRIBUTED_TRACING_5 = \"distributedTracingMode\"; // Count: 3\r\nexport var _DYN_START_TIME = \"startTime\"; // Count: 6\r\nexport var _DYN_TO_LOWER_CASE = \"toLowerCase\"; // Count: 6\r\nexport var _DYN_ENABLE_REQUEST_HEADE6 = \"enableRequestHeaderTracking\"; // Count: 2\r\nexport var _DYN_ENABLE_AJAX_ERROR_ST7 = \"enableAjaxErrorStatusText\"; // Count: 2\r\nexport var _DYN_ENABLE_AJAX_PERF_TRA8 = \"enableAjaxPerfTracking\"; // Count: 2\r\nexport var _DYN_MAX_AJAX_CALLS_PER_V9 = \"maxAjaxCallsPerView\"; // Count: 2\r\nexport var _DYN_ENABLE_RESPONSE_HEAD10 = \"enableResponseHeaderTracking\"; // Count: 2\r\nexport var _DYN_EXCLUDE_REQUEST_FROM11 = \"excludeRequestFromAutoTrackingPatterns\"; // Count: 2\r\nexport var _DYN_ADD_REQUEST_CONTEXT = \"addRequestContext\"; // Count: 2\r\nexport var _DYN_DISABLE_AJAX_TRACKIN12 = \"disableAjaxTracking\"; // Count: 2\r\nexport var _DYN_DISABLE_FETCH_TRACKI13 = \"disableFetchTracking\"; // Count: 2\r\nexport var _DYN_STATUS = \"status\"; // Count: 11\r\nexport var _DYN_STATUS_TEXT = \"statusText\"; // Count: 9\r\nexport var _DYN_HEADER_MAP = \"headerMap\"; // Count: 8\r\nexport var _DYN_OPEN_DONE = \"openDone\"; // Count: 3\r\nexport var _DYN_SEND_DONE = \"sendDone\"; // Count: 3\r\nexport var _DYN_REQUEST_SENT_TIME = \"requestSentTime\"; // Count: 9\r\nexport var _DYN_ABORT_DONE = \"abortDone\"; // Count: 3\r\nexport var _DYN_GET_TRACE_ID = \"getTraceId\"; // Count: 3\r\nexport var _DYN_GET_TRACE_FLAGS = \"getTraceFlags\"; // Count: 3\r\nexport var _DYN_METHOD = \"method\"; // Count: 8\r\nexport var _DYN_ERROR_STATUS_TEXT = \"errorStatusText\"; // Count: 3\r\nexport var _DYN_STATE_CHANGE_ATTACHE14 = \"stateChangeAttached\"; // Count: 2\r\nexport var _DYN_RESPONSE_TEXT = \"responseText\"; // Count: 6\r\nexport var _DYN_RESPONSE_FINISHED_TI15 = \"responseFinishedTime\"; // Count: 7\r\nexport var _DYN__CREATE_TRACK_ITEM = \"CreateTrackItem\"; // Count: 3\r\nexport var _DYN_RESPONSE = \"response\"; // Count: 4\r\nexport var _DYN_GET_ALL_RESPONSE_HEA16 = \"getAllResponseHeaders\"; // Count: 2\r\nexport var _DYN_GET_PART_APROPS = \"getPartAProps\"; // Count: 3\r\nexport var _DYN_GET_CORRELATION_CONT17 = \"getCorrelationContext\"; // Count: 2\r\nexport var _DYN_PERF_MARK = \"perfMark\"; // Count: 4\r\nexport var _DYN_AJAX_PERF_LOOKUP_DEL18 = \"ajaxPerfLookupDelay\"; // Count: 2\r\nexport var _DYN_NAME = \"name\"; // Count: 6\r\nexport var _DYN_PERF_TIMING = \"perfTiming\"; // Count: 3\r\nexport var _DYN_AJAX_DIAGNOSTICS_MES19 = \"ajaxDiagnosticsMessage\"; // Count: 3\r\nexport var _DYN_CORRELATION_CONTEXT = \"correlationContext\"; // Count: 3\r\nexport var _DYN_AJAX_TOTAL_DURATION = \"ajaxTotalDuration\"; // Count: 3\r\nexport var _DYN_EVENT_TRACE_CTX = \"eventTraceCtx\"; // Count: 3\r\n","/*\n * Application Insights JavaScript SDK - Dependencies Plugin, 2.8.15\n * Copyright (c) Microsoft and contributors. All rights reserved.\n */\n\r\n\r\nimport { __assignFn as __assign, __extendsFn as __extends } from \"@microsoft/applicationinsights-shims\";\r\nimport dynamicProto from \"@microsoft/dynamicproto-js\";\r\nimport { CorrelationIdHelper, DisabledPropertyName, PropertiesPluginIdentifier, RemoteDependencyData, RequestHeaders, createDistributedTraceContextFromTrace, createTelemetryItem, createTraceParent, dateTimeUtilsNow, formatTraceParent, isInternalApplicationInsightsEndpoint } from \"@microsoft/applicationinsights-common\";\r\nimport { BaseTelemetryPlugin, InstrumentFunc, InstrumentProto, _throwInternal, arrForEach, createProcessTelemetryContext, createUniqueNamespace, deepFreeze, dumpObj, eventOn, generateW3CId, getExceptionName, getGlobal, getIEVersion, getLocation, getPerformance, isFunction, isNullOrUndefined, isString, isXhrSupported, mergeEvtNamespace, objForEachKey, strPrototype, strTrim } from \"@microsoft/applicationinsights-core-js\";\r\nimport { STR_PROPERTIES } from \"./InternalConstants\";\r\nimport { _DYN_ABORTED, _DYN_ABORT_DONE, _DYN_ADD_REQUEST_CONTEXT, _DYN_AJAX_PERF_LOOKUP_DEL18, _DYN_APP_ID, _DYN_CAN_INCLUDE_CORRELAT3, _DYN_CONTEXT, _DYN_CORE, _DYN_DISABLE_AJAX_TRACKIN12, _DYN_DISABLE_FETCH_TRACKI13, _DYN_DISTRIBUTED_TRACING_5, _DYN_ENABLE_AJAX_ERROR_ST7, _DYN_ENABLE_AJAX_PERF_TRA8, _DYN_ENABLE_REQUEST_HEADE6, _DYN_ENABLE_RESPONSE_HEAD10, _DYN_ERROR_STATUS_TEXT, _DYN_EXCLUDE_REQUEST_FROM11, _DYN_GET_ABSOLUTE_URL, _DYN_GET_ALL_RESPONSE_HEA16, _DYN_GET_CORRELATION_CONT17, _DYN_GET_PART_APROPS, _DYN_GET_TRACE_FLAGS, _DYN_GET_TRACE_ID, _DYN_HEADERS, _DYN_HEADER_MAP, _DYN_INCLUDE_CORRELATION_2, _DYN_INST, _DYN_LENGTH, _DYN_MAX_AJAX_CALLS_PER_V9, _DYN_METHOD, _DYN_NAME, _DYN_OPEN_DONE, _DYN_PERF_MARK, _DYN_PERF_TIMING, _DYN_REQUEST_HEADERS, _DYN_REQUEST_SENT_TIME, _DYN_REQUEST_URL, _DYN_RESPONSE, _DYN_RESPONSE_FINISHED_TI15, _DYN_RESPONSE_TEXT, _DYN_SEND_DONE, _DYN_SET_REQUEST_HEADER, _DYN_SPAN_ID, _DYN_SPAN_ID1, _DYN_START_TIME, _DYN_STATE_CHANGE_ATTACHE14, _DYN_STATUS, _DYN_STATUS_TEXT, _DYN_TO_LOWER_CASE, _DYN_TRACE_FLAGS, _DYN_TRACE_ID, _DYN_TRACE_ID0, _DYN_TRACK_DEPENDENCY_DAT4, _DYN__CREATE_TRACK_ITEM } from \"./__DynamicConstants\";\r\nimport { ajaxRecord } from \"./ajaxRecord\";\r\nvar AJAX_MONITOR_PREFIX = \"ai.ajxmn.\";\r\nvar strDiagLog = \"diagLog\";\r\nvar strAjaxData = \"ajaxData\";\r\nvar STR_FETCH = \"fetch\";\r\nvar ERROR_HEADER = \"Failed to monitor XMLHttpRequest\";\r\nvar ERROR_PREFIX = \", monitoring data for this ajax call \";\r\nvar ERROR_POSTFIX = ERROR_PREFIX + \"may be incorrect.\";\r\nvar ERROR_NOT_SENT = ERROR_PREFIX + \"won't be sent.\";\r\nvar CORRELATION_HEADER_ERROR = \"Failed to get Request-Context correlation header as it may be not included in the response or not accessible.\";\r\nvar CUSTOM_REQUEST_CONTEXT_ERROR = \"Failed to add custom defined request context as configured call back may missing a null check.\";\r\nvar FAILED_TO_CALCULATE_DURATION_ERROR = \"Failed to calculate the duration of the \";\r\n// Using a global value so that to handle same iKey with multiple app insights instances (mostly for testing)\r\nvar _markCount = 0;\r\n/** @Ignore */\r\nfunction _supportsFetch() {\r\n var _global = getGlobal();\r\n if (!_global ||\r\n isNullOrUndefined(_global.Request) ||\r\n isNullOrUndefined(_global.Request[strPrototype]) ||\r\n isNullOrUndefined(_global[STR_FETCH])) {\r\n return null;\r\n }\r\n return _global[STR_FETCH];\r\n}\r\nvar _isWebWorker = null;\r\nfunction isWebWorker() {\r\n if (_isWebWorker == null) {\r\n try {\r\n _isWebWorker = !!(self && self instanceof WorkerGlobalScope);\r\n }\r\n catch (e) {\r\n _isWebWorker = false;\r\n }\r\n }\r\n return _isWebWorker;\r\n}\r\n/**\r\n * Determines whether ajax monitoring can be enabled on this document\r\n * @returns True if Ajax monitoring is supported on this page, otherwise false\r\n * @ignore\r\n */\r\nfunction _supportsAjaxMonitoring(ajaxMonitorInstance) {\r\n var result = false;\r\n if (isXhrSupported()) {\r\n var proto = XMLHttpRequest[strPrototype];\r\n result = !isNullOrUndefined(proto) &&\r\n !isNullOrUndefined(proto.open) && // eslint-disable-line security/detect-non-literal-fs-filename -- false positive\r\n !isNullOrUndefined(proto.send) &&\r\n !isNullOrUndefined(proto.abort);\r\n }\r\n var ieVer = getIEVersion();\r\n if (ieVer && ieVer < 9) {\r\n result = false;\r\n }\r\n if (result) {\r\n // Disable if the XmlHttpRequest can't be extended or hooked\r\n try {\r\n var xhr = new XMLHttpRequest();\r\n xhr[strAjaxData] = {};\r\n // Check that we can update the prototype\r\n var theOpen = XMLHttpRequest[strPrototype].open;\r\n XMLHttpRequest[strPrototype].open = theOpen;\r\n }\r\n catch (e) {\r\n // We can't decorate the xhr object so disable monitoring\r\n result = false;\r\n _throwInternalCritical(ajaxMonitorInstance, 15 /* _eInternalMessageId.FailedMonitorAjaxOpen */, \"Failed to enable XMLHttpRequest monitoring, extension is not supported\", {\r\n exception: dumpObj(e)\r\n });\r\n }\r\n }\r\n return result;\r\n}\r\n/** @Ignore */\r\nfunction _getFailedAjaxDiagnosticsMessage(xhr) {\r\n var result = \"\";\r\n try {\r\n if (xhr && xhr[strAjaxData] && xhr[strAjaxData][_DYN_REQUEST_URL /* @min:%2erequestUrl */]) {\r\n result += \"(url: '\" + xhr[strAjaxData][_DYN_REQUEST_URL /* @min:%2erequestUrl */] + \"')\";\r\n }\r\n }\r\n catch (e) {\r\n // eslint-disable-next-line no-empty\r\n }\r\n return result;\r\n}\r\n/** @ignore */\r\nfunction _throwInternalCritical(ajaxMonitorInstance, msgId, message, properties, isUserAct) {\r\n _throwInternal(ajaxMonitorInstance[strDiagLog](), 1 /* eLoggingSeverity.CRITICAL */, msgId, message, properties, isUserAct);\r\n}\r\n/** @ignore */\r\nfunction _throwInternalWarning(ajaxMonitorInstance, msgId, message, properties, isUserAct) {\r\n _throwInternal(ajaxMonitorInstance[strDiagLog](), 2 /* eLoggingSeverity.WARNING */, msgId, message, properties, isUserAct);\r\n}\r\n/** @Ignore */\r\nfunction _createErrorCallbackFunc(ajaxMonitorInstance, internalMessage, message) {\r\n // tslint:disable-next-line\r\n return function (args) {\r\n _throwInternalCritical(ajaxMonitorInstance, internalMessage, message, {\r\n ajaxDiagnosticsMessage: _getFailedAjaxDiagnosticsMessage(args[_DYN_INST /* @min:%2einst */]),\r\n exception: dumpObj(args.err)\r\n });\r\n };\r\n}\r\nfunction _indexOf(value, match) {\r\n if (value && match) {\r\n return value.indexOf(match);\r\n }\r\n return -1;\r\n}\r\nfunction _addHandler(container, id, theFunc) {\r\n var theHandler = {\r\n id: id,\r\n fn: theFunc\r\n };\r\n container.push(theHandler);\r\n return {\r\n remove: function () {\r\n arrForEach(container, function (initializer, idx) {\r\n if (initializer.id === theHandler.id) {\r\n container.splice(idx, 1);\r\n return -1;\r\n }\r\n });\r\n }\r\n };\r\n}\r\nfunction _processDependencyContainer(core, container, details, message) {\r\n var result = true;\r\n arrForEach(container, function (theFunc, idx) {\r\n try {\r\n if (theFunc.fn.call(null, details) === false) {\r\n result = false;\r\n }\r\n }\r\n catch (e) {\r\n _throwInternal(core && core.logger, 1 /* eLoggingSeverity.CRITICAL */, 64 /* _eInternalMessageId.TelemetryInitializerFailed */, \"Dependency \" + message + \" [#\" + idx + \"] failed: \" + getExceptionName(e), { exception: dumpObj(e) }, true);\r\n }\r\n });\r\n return result;\r\n}\r\nfunction _processDependencyListeners(listeners, core, ajaxData, xhr, input, init) {\r\n var initializersCount = listeners[_DYN_LENGTH /* @min:%2elength */];\r\n if (initializersCount > 0) {\r\n var details = {\r\n core: core,\r\n xhr: xhr,\r\n input: input,\r\n init: init,\r\n traceId: ajaxData[_DYN_TRACE_ID /* @min:%2etraceID */],\r\n spanId: ajaxData[_DYN_SPAN_ID /* @min:%2espanID */],\r\n traceFlags: ajaxData[_DYN_TRACE_FLAGS /* @min:%2etraceFlags */],\r\n context: ajaxData[_DYN_CONTEXT /* @min:%2econtext */] || {},\r\n aborted: !!ajaxData[_DYN_ABORTED /* @min:%2eaborted */]\r\n };\r\n _processDependencyContainer(core, listeners, details, \"listener\");\r\n ajaxData[_DYN_TRACE_ID /* @min:%2etraceID */] = details[_DYN_TRACE_ID0 /* @min:%2etraceId */];\r\n ajaxData[_DYN_SPAN_ID /* @min:%2espanID */] = details[_DYN_SPAN_ID1 /* @min:%2espanId */];\r\n ajaxData[_DYN_TRACE_FLAGS /* @min:%2etraceFlags */] = details[_DYN_TRACE_FLAGS /* @min:%2etraceFlags */];\r\n ajaxData[_DYN_CONTEXT /* @min:%2econtext */] = details[_DYN_CONTEXT /* @min:%2econtext */];\r\n }\r\n}\r\nvar BLOB_CORE = \"*.blob.core.\";\r\nexport var DfltAjaxCorrelationHeaderExDomains = deepFreeze([\r\n BLOB_CORE + \"windows.net\",\r\n BLOB_CORE + \"chinacloudapi.cn\",\r\n BLOB_CORE + \"cloudapi.de\",\r\n BLOB_CORE + \"usgovcloudapi.net\"\r\n]);\r\nvar _internalExcludeEndpoints = [\r\n /https:\\/\\/[^\\/]*(\\.pipe\\.aria|aria\\.pipe|events\\.data|collector\\.azure)\\.[^\\/]+\\/(OneCollector\\/1|Collector\\/3)\\.0/i\r\n];\r\nfunction _getDefaultConfig() {\r\n var config = {\r\n maxAjaxCallsPerView: 500,\r\n disableAjaxTracking: false,\r\n disableFetchTracking: false,\r\n excludeRequestFromAutoTrackingPatterns: undefined,\r\n disableCorrelationHeaders: false,\r\n distributedTracingMode: 1 /* eDistributedTracingModes.AI_AND_W3C */,\r\n correlationHeaderExcludedDomains: DfltAjaxCorrelationHeaderExDomains,\r\n correlationHeaderDomains: undefined,\r\n correlationHeaderExcludePatterns: undefined,\r\n appId: undefined,\r\n enableCorsCorrelation: false,\r\n enableRequestHeaderTracking: false,\r\n enableResponseHeaderTracking: false,\r\n enableAjaxErrorStatusText: false,\r\n enableAjaxPerfTracking: false,\r\n maxAjaxPerfLookupAttempts: 3,\r\n ajaxPerfLookupDelay: 25,\r\n ignoreHeaders: [\r\n \"Authorization\",\r\n \"X-API-Key\",\r\n \"WWW-Authenticate\"\r\n ],\r\n addRequestContext: undefined,\r\n addIntEndpoints: true\r\n };\r\n return config;\r\n}\r\nfunction _getEmptyConfig() {\r\n var emptyConfig = _getDefaultConfig();\r\n objForEachKey(emptyConfig, function (value) {\r\n emptyConfig[value] = undefined;\r\n });\r\n return emptyConfig;\r\n}\r\nvar AjaxMonitor = /** @class */ (function (_super) {\r\n __extends(AjaxMonitor, _super);\r\n function AjaxMonitor() {\r\n var _this = _super.call(this) || this;\r\n _this.identifier = AjaxMonitor.identifier;\r\n _this.priority = 120;\r\n var _fetchInitialized; // fetch monitoring initialized\r\n var _xhrInitialized; // XHR monitoring initialized\r\n var _currentWindowHost;\r\n var _config;\r\n var _enableRequestHeaderTracking;\r\n var _enableAjaxErrorStatusText;\r\n var _trackAjaxAttempts;\r\n var _context;\r\n var _isUsingW3CHeaders;\r\n var _isUsingAIHeaders;\r\n var _markPrefix;\r\n var _enableAjaxPerfTracking;\r\n var _maxAjaxCallsPerView;\r\n var _enableResponseHeaderTracking;\r\n var _disabledUrls;\r\n var _disableAjaxTracking;\r\n var _disableFetchTracking;\r\n var _excludeRequestFromAutoTrackingPatterns;\r\n var _addRequestContext;\r\n var _evtNamespace;\r\n var _dependencyHandlerId;\r\n var _dependencyListeners;\r\n var _dependencyInitializers;\r\n dynamicProto(AjaxMonitor, _this, function (_self, _base) {\r\n var _addHook = _base._addHook;\r\n _initDefaults();\r\n _self.initialize = function (config, core, extensions, pluginChain) {\r\n if (!_self.isInitialized()) {\r\n _base.initialize(config, core, extensions, pluginChain);\r\n _evtNamespace = mergeEvtNamespace(createUniqueNamespace(\"ajax\"), core && core.evtNamespace && core.evtNamespace());\r\n _populateDefaults(config);\r\n _instrumentXhr();\r\n _instrumentFetch();\r\n _populateContext();\r\n }\r\n };\r\n _self._doTeardown = function () {\r\n _initDefaults();\r\n };\r\n _self.trackDependencyData = function (dependency, properties) {\r\n _reportDependencyInternal(_dependencyInitializers, _self[_DYN_CORE /* @min:%2ecore */], null, dependency, properties);\r\n };\r\n _self[_DYN_INCLUDE_CORRELATION_2 /* @min:%2eincludeCorrelationHeaders */] = function (ajaxData, input, init, xhr) {\r\n // Test Hook to allow the overriding of the location host\r\n var currentWindowHost = _self[\"_currentWindowHost\"] || _currentWindowHost;\r\n _processDependencyListeners(_dependencyListeners, _self[_DYN_CORE /* @min:%2ecore */], ajaxData, xhr, input, init);\r\n if (input) { // Fetch\r\n if (CorrelationIdHelper[_DYN_CAN_INCLUDE_CORRELAT3 /* @min:%2ecanIncludeCorrelationHeader */](_config, ajaxData[_DYN_GET_ABSOLUTE_URL /* @min:%2egetAbsoluteUrl */](), currentWindowHost)) {\r\n if (!init) {\r\n init = {};\r\n }\r\n // init headers override original request headers\r\n // so, if they exist use only them, otherwise use request's because they should have been applied in the first place\r\n // not using original request headers will result in them being lost\r\n var headers = new Headers(init[_DYN_HEADERS /* @min:%2eheaders */] || (input instanceof Request ? (input[_DYN_HEADERS /* @min:%2eheaders */] || {}) : {}));\r\n if (_isUsingAIHeaders) {\r\n var id = \"|\" + ajaxData[_DYN_TRACE_ID /* @min:%2etraceID */] + \".\" + ajaxData[_DYN_SPAN_ID /* @min:%2espanID */];\r\n headers.set(RequestHeaders[3 /* eRequestHeaders.requestIdHeader */], id);\r\n if (_enableRequestHeaderTracking) {\r\n ajaxData[_DYN_REQUEST_HEADERS /* @min:%2erequestHeaders */][RequestHeaders[3 /* eRequestHeaders.requestIdHeader */]] = id;\r\n }\r\n }\r\n var appId = _config[_DYN_APP_ID /* @min:%2eappId */] || (_context && _context[_DYN_APP_ID /* @min:%2eappId */]());\r\n if (appId) {\r\n headers.set(RequestHeaders[0 /* eRequestHeaders.requestContextHeader */], RequestHeaders[2 /* eRequestHeaders.requestContextAppIdFormat */] + appId);\r\n if (_enableRequestHeaderTracking) {\r\n ajaxData[_DYN_REQUEST_HEADERS /* @min:%2erequestHeaders */][RequestHeaders[0 /* eRequestHeaders.requestContextHeader */]] = RequestHeaders[2 /* eRequestHeaders.requestContextAppIdFormat */] + appId;\r\n }\r\n }\r\n if (_isUsingW3CHeaders) {\r\n var traceFlags = ajaxData[_DYN_TRACE_FLAGS /* @min:%2etraceFlags */];\r\n if (isNullOrUndefined(traceFlags)) {\r\n traceFlags = 0x01;\r\n }\r\n var traceParent = formatTraceParent(createTraceParent(ajaxData[_DYN_TRACE_ID /* @min:%2etraceID */], ajaxData[_DYN_SPAN_ID /* @min:%2espanID */], traceFlags));\r\n headers.set(RequestHeaders[4 /* eRequestHeaders.traceParentHeader */], traceParent);\r\n if (_enableRequestHeaderTracking) {\r\n ajaxData[_DYN_REQUEST_HEADERS /* @min:%2erequestHeaders */][RequestHeaders[4 /* eRequestHeaders.traceParentHeader */]] = traceParent;\r\n }\r\n }\r\n init[_DYN_HEADERS /* @min:%2eheaders */] = headers;\r\n }\r\n return init;\r\n }\r\n else if (xhr) { // XHR\r\n if (CorrelationIdHelper[_DYN_CAN_INCLUDE_CORRELAT3 /* @min:%2ecanIncludeCorrelationHeader */](_config, ajaxData[_DYN_GET_ABSOLUTE_URL /* @min:%2egetAbsoluteUrl */](), currentWindowHost)) {\r\n if (_isUsingAIHeaders) {\r\n var id = \"|\" + ajaxData[_DYN_TRACE_ID /* @min:%2etraceID */] + \".\" + ajaxData[_DYN_SPAN_ID /* @min:%2espanID */];\r\n xhr[_DYN_SET_REQUEST_HEADER /* @min:%2esetRequestHeader */](RequestHeaders[3 /* eRequestHeaders.requestIdHeader */], id);\r\n if (_enableRequestHeaderTracking) {\r\n ajaxData[_DYN_REQUEST_HEADERS /* @min:%2erequestHeaders */][RequestHeaders[3 /* eRequestHeaders.requestIdHeader */]] = id;\r\n }\r\n }\r\n var appId = _config[_DYN_APP_ID /* @min:%2eappId */] || (_context && _context[_DYN_APP_ID /* @min:%2eappId */]());\r\n if (appId) {\r\n xhr[_DYN_SET_REQUEST_HEADER /* @min:%2esetRequestHeader */](RequestHeaders[0 /* eRequestHeaders.requestContextHeader */], RequestHeaders[2 /* eRequestHeaders.requestContextAppIdFormat */] + appId);\r\n if (_enableRequestHeaderTracking) {\r\n ajaxData[_DYN_REQUEST_HEADERS /* @min:%2erequestHeaders */][RequestHeaders[0 /* eRequestHeaders.requestContextHeader */]] = RequestHeaders[2 /* eRequestHeaders.requestContextAppIdFormat */] + appId;\r\n }\r\n }\r\n if (_isUsingW3CHeaders) {\r\n var traceFlags = ajaxData[_DYN_TRACE_FLAGS /* @min:%2etraceFlags */];\r\n if (isNullOrUndefined(traceFlags)) {\r\n traceFlags = 0x01;\r\n }\r\n var traceParent = formatTraceParent(createTraceParent(ajaxData[_DYN_TRACE_ID /* @min:%2etraceID */], ajaxData[_DYN_SPAN_ID /* @min:%2espanID */], traceFlags));\r\n xhr[_DYN_SET_REQUEST_HEADER /* @min:%2esetRequestHeader */](RequestHeaders[4 /* eRequestHeaders.traceParentHeader */], traceParent);\r\n if (_enableRequestHeaderTracking) {\r\n ajaxData[_DYN_REQUEST_HEADERS /* @min:%2erequestHeaders */][RequestHeaders[4 /* eRequestHeaders.traceParentHeader */]] = traceParent;\r\n }\r\n }\r\n }\r\n return xhr;\r\n }\r\n return undefined;\r\n };\r\n _self[_DYN_TRACK_DEPENDENCY_DAT4 /* @min:%2etrackDependencyDataInternal */] = function (dependency, properties, systemProperties) {\r\n if (_maxAjaxCallsPerView === -1 || _trackAjaxAttempts < _maxAjaxCallsPerView) {\r\n // Hack since expected format in w3c mode is |abc.def.\r\n // Non-w3c format is |abc.def\r\n // @todo Remove if better solution is available, e.g. handle in portal\r\n if ((_config[_DYN_DISTRIBUTED_TRACING_5 /* @min:%2edistributedTracingMode */] === 2 /* eDistributedTracingModes.W3C */\r\n || _config[_DYN_DISTRIBUTED_TRACING_5 /* @min:%2edistributedTracingMode */] === 1 /* eDistributedTracingModes.AI_AND_W3C */)\r\n && typeof dependency.id === \"string\" && dependency.id[dependency.id[_DYN_LENGTH /* @min:%2elength */] - 1] !== \".\") {\r\n dependency.id += \".\";\r\n }\r\n if (isNullOrUndefined(dependency[_DYN_START_TIME /* @min:%2estartTime */])) {\r\n dependency[_DYN_START_TIME /* @min:%2estartTime */] = new Date();\r\n }\r\n var item = createTelemetryItem(dependency, RemoteDependencyData.dataType, RemoteDependencyData.envelopeType, _self[strDiagLog](), properties, systemProperties);\r\n _self[_DYN_CORE /* @min:%2ecore */].track(item);\r\n }\r\n else if (_trackAjaxAttempts === _maxAjaxCallsPerView) {\r\n _throwInternalCritical(_self, 55 /* _eInternalMessageId.MaxAjaxPerPVExceeded */, \"Maximum ajax per page view limit reached, ajax monitoring is paused until the next trackPageView(). In order to increase the limit set the maxAjaxCallsPerView configuration parameter.\", true);\r\n }\r\n ++_trackAjaxAttempts;\r\n };\r\n _self.addDependencyListener = function (dependencyListener) {\r\n return _addHandler(_dependencyListeners, _dependencyHandlerId++, dependencyListener);\r\n };\r\n _self.addDependencyInitializer = function (dependencyInitializer) {\r\n return _addHandler(_dependencyInitializers, _dependencyHandlerId++, dependencyInitializer);\r\n };\r\n function _initDefaults() {\r\n var location = getLocation();\r\n _fetchInitialized = false; // fetch monitoring initialized\r\n _xhrInitialized = false; // XHR monitoring initialized\r\n _currentWindowHost = location && location.host && location.host[_DYN_TO_LOWER_CASE /* @min:%2etoLowerCase */]();\r\n _config = AjaxMonitor.getEmptyConfig();\r\n _enableRequestHeaderTracking = false;\r\n _enableAjaxErrorStatusText = false;\r\n _trackAjaxAttempts = 0;\r\n _context = null;\r\n _isUsingW3CHeaders = false;\r\n _isUsingAIHeaders = false;\r\n _markPrefix = null;\r\n _enableAjaxPerfTracking = false;\r\n _maxAjaxCallsPerView = 0;\r\n _enableResponseHeaderTracking = false;\r\n _disabledUrls = {};\r\n _disableAjaxTracking = false;\r\n _disableFetchTracking = false;\r\n _excludeRequestFromAutoTrackingPatterns = null;\r\n _addRequestContext = null;\r\n _evtNamespace = null;\r\n _dependencyHandlerId = 0;\r\n _dependencyListeners = [];\r\n _dependencyInitializers = [];\r\n }\r\n function _populateDefaults(config) {\r\n var ctx = createProcessTelemetryContext(null, config, _self[_DYN_CORE /* @min:%2ecore */]);\r\n // Reset to the empty config\r\n _config = _getEmptyConfig();\r\n var defaultConfig = _getDefaultConfig();\r\n objForEachKey(defaultConfig, function (field, value) {\r\n _config[field] = ctx.getConfig(AjaxMonitor.identifier, field, value);\r\n });\r\n var distributedTracingMode = _config[_DYN_DISTRIBUTED_TRACING_5 /* @min:%2edistributedTracingMode */];\r\n _enableRequestHeaderTracking = _config[_DYN_ENABLE_REQUEST_HEADE6 /* @min:%2eenableRequestHeaderTracking */];\r\n _enableAjaxErrorStatusText = _config[_DYN_ENABLE_AJAX_ERROR_ST7 /* @min:%2eenableAjaxErrorStatusText */];\r\n _enableAjaxPerfTracking = _config[_DYN_ENABLE_AJAX_PERF_TRA8 /* @min:%2eenableAjaxPerfTracking */];\r\n _maxAjaxCallsPerView = _config[_DYN_MAX_AJAX_CALLS_PER_V9 /* @min:%2emaxAjaxCallsPerView */];\r\n _enableResponseHeaderTracking = _config[_DYN_ENABLE_RESPONSE_HEAD10 /* @min:%2eenableResponseHeaderTracking */];\r\n _excludeRequestFromAutoTrackingPatterns = [].concat(_config[_DYN_EXCLUDE_REQUEST_FROM11 /* @min:%2eexcludeRequestFromAutoTrackingPatterns */] || [], _config.addIntEndpoints !== false ? _internalExcludeEndpoints : []);\r\n _addRequestContext = _config[_DYN_ADD_REQUEST_CONTEXT /* @min:%2eaddRequestContext */];\r\n _isUsingAIHeaders = distributedTracingMode === 0 /* eDistributedTracingModes.AI */ || distributedTracingMode === 1 /* eDistributedTracingModes.AI_AND_W3C */;\r\n _isUsingW3CHeaders = distributedTracingMode === 1 /* eDistributedTracingModes.AI_AND_W3C */ || distributedTracingMode === 2 /* eDistributedTracingModes.W3C */;\r\n if (_enableAjaxPerfTracking) {\r\n var iKey = config.instrumentationKey || \"unkwn\";\r\n if (iKey[_DYN_LENGTH /* @min:%2elength */] > 5) {\r\n _markPrefix = AJAX_MONITOR_PREFIX + iKey.substring(iKey[_DYN_LENGTH /* @min:%2elength */] - 5) + \".\";\r\n }\r\n else {\r\n _markPrefix = AJAX_MONITOR_PREFIX + iKey + \".\";\r\n }\r\n }\r\n _disableAjaxTracking = !!_config[_DYN_DISABLE_AJAX_TRACKIN12 /* @min:%2edisableAjaxTracking */];\r\n _disableFetchTracking = !!_config[_DYN_DISABLE_FETCH_TRACKI13 /* @min:%2edisableFetchTracking */];\r\n }\r\n function _populateContext() {\r\n var propExt = _self[_DYN_CORE /* @min:%2ecore */].getPlugin(PropertiesPluginIdentifier);\r\n if (propExt) {\r\n _context = propExt.plugin[_DYN_CONTEXT /* @min:%2econtext */]; // we could move IPropertiesPlugin to common as well\r\n }\r\n }\r\n // discard the header if it's defined as ignoreHeaders in ICorrelationConfig\r\n function _canIncludeHeaders(header) {\r\n var rlt = true;\r\n if (header || _config.ignoreHeaders) {\r\n arrForEach(_config.ignoreHeaders, (function (key) {\r\n if (key[_DYN_TO_LOWER_CASE /* @min:%2etoLowerCase */]() === header[_DYN_TO_LOWER_CASE /* @min:%2etoLowerCase */]()) {\r\n rlt = false;\r\n return -1;\r\n }\r\n }));\r\n }\r\n return rlt;\r\n }\r\n // Fetch Stuff\r\n function _instrumentFetch() {\r\n var fetch = _supportsFetch();\r\n if (!fetch) {\r\n return;\r\n }\r\n var global = getGlobal();\r\n var isPolyfill = fetch.polyfill;\r\n if (!_disableFetchTracking && !_fetchInitialized) {\r\n _addHook(InstrumentFunc(global, STR_FETCH, {\r\n ns: _evtNamespace,\r\n // Add request hook\r\n req: function (callDetails, input, init) {\r\n var fetchData;\r\n if (!_disableFetchTracking && _fetchInitialized &&\r\n !_isDisabledRequest(null, input, init) &&\r\n // If we have a polyfil and XHR instrumented then let XHR report otherwise we get duplicates\r\n !(isPolyfill && _xhrInitialized)) {\r\n var ctx = callDetails.ctx();\r\n fetchData = _createFetchRecord(input, init);\r\n var newInit = _self[_DYN_INCLUDE_CORRELATION_2 /* @min:%2eincludeCorrelationHeaders */](fetchData, input, init);\r\n if (newInit !== init) {\r\n callDetails.set(1, newInit);\r\n }\r\n ctx.data = fetchData;\r\n }\r\n },\r\n rsp: function (callDetails, input) {\r\n if (!_disableFetchTracking) {\r\n var fetchData_1 = callDetails.ctx().data;\r\n if (fetchData_1) {\r\n // Replace the result with the new promise from this code\r\n callDetails.rslt = callDetails.rslt.then(function (response) {\r\n _reportFetchMetrics(callDetails, (response || {})[_DYN_STATUS /* @min:%2estatus */], input, response, fetchData_1, function () {\r\n var ajaxResponse = {\r\n statusText: (response || {})[_DYN_STATUS_TEXT /* @min:%2estatusText */],\r\n headerMap: null,\r\n correlationContext: _getFetchCorrelationContext(response)\r\n };\r\n if (_enableResponseHeaderTracking && response) {\r\n var responseHeaderMap_1 = {};\r\n response.headers.forEach(function (value, name) {\r\n if (_canIncludeHeaders(name)) {\r\n responseHeaderMap_1[name] = value;\r\n }\r\n });\r\n ajaxResponse[_DYN_HEADER_MAP /* @min:%2eheaderMap */] = responseHeaderMap_1;\r\n }\r\n return ajaxResponse;\r\n });\r\n return response;\r\n })[\"catch\"](function (reason) {\r\n _reportFetchMetrics(callDetails, 0, input, null, fetchData_1, null, { error: reason.message || dumpObj(reason) });\r\n throw reason;\r\n });\r\n }\r\n }\r\n },\r\n // Create an error callback to report any hook errors\r\n hkErr: _createErrorCallbackFunc(_self, 15 /* _eInternalMessageId.FailedMonitorAjaxOpen */, \"Failed to monitor Window.fetch\" + ERROR_POSTFIX)\r\n }, true, isWebWorker()));\r\n _fetchInitialized = true;\r\n }\r\n else if (isPolyfill) {\r\n // If fetch is a polyfill we need to capture the request to ensure that we correctly track\r\n // disabled request URLS (i.e. internal urls) to ensure we don't end up in a constant loop\r\n // of reporting ourselves, for example React Native uses a polyfill for fetch\r\n // Note: Polyfill implementations that don't support the \"poyyfill\" tag are not supported\r\n // the workaround is to add a polyfill property to your fetch implementation before initializing\r\n // App Insights\r\n _addHook(InstrumentFunc(global, STR_FETCH, {\r\n ns: _evtNamespace,\r\n req: function (callDetails, input, init) {\r\n // Just call so that we record any disabled URL\r\n _isDisabledRequest(null, input, init);\r\n }\r\n }));\r\n }\r\n if (isPolyfill) {\r\n // retag the instrumented fetch with the same polyfill settings this is mostly for testing\r\n // But also supports multiple App Insights usages\r\n global[STR_FETCH].polyfill = isPolyfill;\r\n }\r\n }\r\n function _hookProto(target, funcName, callbacks) {\r\n _addHook(InstrumentProto(target, funcName, callbacks));\r\n }\r\n function _instrumentXhr() {\r\n if (_supportsAjaxMonitoring(_self) && !_disableAjaxTracking && !_xhrInitialized) {\r\n // Instrument open\r\n _hookProto(XMLHttpRequest, \"open\", {\r\n ns: _evtNamespace,\r\n req: function (args, method, url, async) {\r\n if (!_disableAjaxTracking) {\r\n var xhr = args[_DYN_INST /* @min:%2einst */];\r\n var ajaxData = xhr[strAjaxData];\r\n if (!_isDisabledRequest(xhr, url) && _isMonitoredXhrInstance(xhr, true)) {\r\n if (!ajaxData || !ajaxData.xhrMonitoringState[_DYN_OPEN_DONE /* @min:%2eopenDone */]) {\r\n // Only create a single ajaxData (even when multiple AI instances are running)\r\n _openHandler(xhr, method, url, async);\r\n }\r\n // always attach to the on ready state change (required for handling multiple instances)\r\n _attachToOnReadyStateChange(xhr);\r\n }\r\n }\r\n },\r\n hkErr: _createErrorCallbackFunc(_self, 15 /* _eInternalMessageId.FailedMonitorAjaxOpen */, ERROR_HEADER + \".open\" + ERROR_POSTFIX)\r\n });\r\n // Instrument send\r\n _hookProto(XMLHttpRequest, \"send\", {\r\n ns: _evtNamespace,\r\n req: function (args, context) {\r\n if (!_disableAjaxTracking) {\r\n var xhr = args[_DYN_INST /* @min:%2einst */];\r\n var ajaxData = xhr[strAjaxData];\r\n if (_isMonitoredXhrInstance(xhr) && !ajaxData.xhrMonitoringState[_DYN_SEND_DONE /* @min:%2esendDone */]) {\r\n _createMarkId(\"xhr\", ajaxData);\r\n ajaxData[_DYN_REQUEST_SENT_TIME /* @min:%2erequestSentTime */] = dateTimeUtilsNow();\r\n _self[_DYN_INCLUDE_CORRELATION_2 /* @min:%2eincludeCorrelationHeaders */](ajaxData, undefined, undefined, xhr);\r\n ajaxData.xhrMonitoringState[_DYN_SEND_DONE /* @min:%2esendDone */] = true;\r\n }\r\n }\r\n },\r\n hkErr: _createErrorCallbackFunc(_self, 17 /* _eInternalMessageId.FailedMonitorAjaxSend */, ERROR_HEADER + ERROR_POSTFIX)\r\n });\r\n // Instrument abort\r\n _hookProto(XMLHttpRequest, \"abort\", {\r\n ns: _evtNamespace,\r\n req: function (args) {\r\n if (!_disableAjaxTracking) {\r\n var xhr = args[_DYN_INST /* @min:%2einst */];\r\n var ajaxData = xhr[strAjaxData];\r\n if (_isMonitoredXhrInstance(xhr) && !ajaxData.xhrMonitoringState[_DYN_ABORT_DONE /* @min:%2eabortDone */]) {\r\n ajaxData[_DYN_ABORTED /* @min:%2eaborted */] = 1;\r\n ajaxData.xhrMonitoringState[_DYN_ABORT_DONE /* @min:%2eabortDone */] = true;\r\n }\r\n }\r\n },\r\n hkErr: _createErrorCallbackFunc(_self, 13 /* _eInternalMessageId.FailedMonitorAjaxAbort */, ERROR_HEADER + \".abort\" + ERROR_POSTFIX)\r\n });\r\n // Instrument setRequestHeader\r\n _hookProto(XMLHttpRequest, \"setRequestHeader\", {\r\n ns: _evtNamespace,\r\n req: function (args, header, value) {\r\n if (!_disableAjaxTracking && _enableRequestHeaderTracking) {\r\n var xhr = args[_DYN_INST /* @min:%2einst */];\r\n if (_isMonitoredXhrInstance(xhr) && _canIncludeHeaders(header)) {\r\n xhr[strAjaxData][_DYN_REQUEST_HEADERS /* @min:%2erequestHeaders */][header] = value;\r\n }\r\n }\r\n },\r\n hkErr: _createErrorCallbackFunc(_self, 71 /* _eInternalMessageId.FailedMonitorAjaxSetRequestHeader */, ERROR_HEADER + \".setRequestHeader\" + ERROR_POSTFIX)\r\n });\r\n _xhrInitialized = true;\r\n }\r\n }\r\n function _isDisabledRequest(xhr, request, init) {\r\n var isDisabled = false;\r\n var theUrl = ((!isString(request) ? (request || {}).url || \"\" : request) || \"\")[_DYN_TO_LOWER_CASE /* @min:%2etoLowerCase */]();\r\n // check excludeRequestFromAutoTrackingPatterns before stripping off any query string\r\n arrForEach(_excludeRequestFromAutoTrackingPatterns, function (regex) {\r\n var theRegex = regex;\r\n if (isString(regex)) {\r\n theRegex = new RegExp(regex);\r\n }\r\n if (!isDisabled) {\r\n isDisabled = theRegex.test(theUrl);\r\n }\r\n });\r\n // if request url matches with exclude regex pattern, return true and no need to check for headers\r\n if (isDisabled) {\r\n return isDisabled;\r\n }\r\n var idx = _indexOf(theUrl, \"?\");\r\n var idx2 = _indexOf(theUrl, \"#\");\r\n if (idx === -1 || (idx2 !== -1 && idx2 < idx)) {\r\n idx = idx2;\r\n }\r\n if (idx !== -1) {\r\n // Strip off any Query string\r\n theUrl = theUrl.substring(0, idx);\r\n }\r\n // check that this instance is not not used by ajax call performed inside client side monitoring to send data to collector\r\n if (!isNullOrUndefined(xhr)) {\r\n // Look on the XMLHttpRequest of the URL string value\r\n isDisabled = xhr[DisabledPropertyName] === true || theUrl[DisabledPropertyName] === true;\r\n }\r\n else if (!isNullOrUndefined(request)) { // fetch\r\n // Look for DisabledPropertyName in either Request or RequestInit\r\n isDisabled = (typeof request === \"object\" ? request[DisabledPropertyName] === true : false) ||\r\n (init ? init[DisabledPropertyName] === true : false);\r\n }\r\n // Also add extra check just in case the XHR or fetch objects where not decorated with the DisableProperty due to sealing or freezing\r\n if (!isDisabled && theUrl && isInternalApplicationInsightsEndpoint(theUrl)) {\r\n isDisabled = true;\r\n }\r\n if (isDisabled) {\r\n // Add the disabled url if not present\r\n if (!_disabledUrls[theUrl]) {\r\n _disabledUrls[theUrl] = 1;\r\n }\r\n }\r\n else {\r\n // Check to see if the url is listed as disabled\r\n if (_disabledUrls[theUrl]) {\r\n isDisabled = true;\r\n }\r\n }\r\n return isDisabled;\r\n }\r\n /// Verifies that particalar instance of XMLHttpRequest needs to be monitored\r\n /// Optional parameter. True if ajaxData must be excluded from verification\r\n /// True if instance needs to be monitored, otherwise false\r\n function _isMonitoredXhrInstance(xhr, excludeAjaxDataValidation) {\r\n var ajaxValidation = true;\r\n var initialized = _xhrInitialized;\r\n if (!isNullOrUndefined(xhr)) {\r\n ajaxValidation = excludeAjaxDataValidation === true || !isNullOrUndefined(xhr[strAjaxData]);\r\n }\r\n // checking to see that all interested functions on xhr were instrumented\r\n return initialized\r\n // checking on ajaxData to see that it was not removed in user code\r\n && ajaxValidation;\r\n }\r\n function _getDistributedTraceCtx() {\r\n var distributedTraceCtx = null;\r\n if (_self[_DYN_CORE /* @min:%2ecore */] && _self[_DYN_CORE /* @min:%2ecore */].getTraceCtx) {\r\n distributedTraceCtx = _self[_DYN_CORE /* @min:%2ecore */].getTraceCtx(false);\r\n }\r\n // Fall back\r\n if (!distributedTraceCtx && _context && _context.telemetryTrace) {\r\n distributedTraceCtx = createDistributedTraceContextFromTrace(_context.telemetryTrace);\r\n }\r\n return distributedTraceCtx;\r\n }\r\n function _openHandler(xhr, method, url, async) {\r\n var _a;\r\n var distributedTraceCtx = _getDistributedTraceCtx();\r\n var traceID = (distributedTraceCtx && distributedTraceCtx[_DYN_GET_TRACE_ID /* @min:%2egetTraceId */]()) || generateW3CId();\r\n var spanID = generateW3CId().substr(0, 16);\r\n var ajaxData = new ajaxRecord(traceID, spanID, _self[strDiagLog](), (_a = _self.core) === null || _a === void 0 ? void 0 : _a.getTraceCtx());\r\n ajaxData[_DYN_TRACE_FLAGS /* @min:%2etraceFlags */] = distributedTraceCtx && distributedTraceCtx[_DYN_GET_TRACE_FLAGS /* @min:%2egetTraceFlags */]();\r\n ajaxData[_DYN_METHOD /* @min:%2emethod */] = method;\r\n ajaxData[_DYN_REQUEST_URL /* @min:%2erequestUrl */] = url;\r\n ajaxData.xhrMonitoringState[_DYN_OPEN_DONE /* @min:%2eopenDone */] = true;\r\n ajaxData[_DYN_REQUEST_HEADERS /* @min:%2erequestHeaders */] = {};\r\n ajaxData.async = async;\r\n ajaxData[_DYN_ERROR_STATUS_TEXT /* @min:%2eerrorStatusText */] = _enableAjaxErrorStatusText;\r\n xhr[strAjaxData] = ajaxData;\r\n }\r\n function _attachToOnReadyStateChange(xhr) {\r\n xhr[strAjaxData].xhrMonitoringState[_DYN_STATE_CHANGE_ATTACHE14 /* @min:%2estateChangeAttached */] = eventOn(xhr, \"readystatechange\", function () {\r\n try {\r\n if (xhr && xhr.readyState === 4 && _isMonitoredXhrInstance(xhr)) {\r\n _onAjaxComplete(xhr);\r\n }\r\n }\r\n catch (e) {\r\n var exceptionText = dumpObj(e);\r\n // ignore messages with c00c023f, as this a known IE9 XHR abort issue\r\n if (!exceptionText || _indexOf(exceptionText[_DYN_TO_LOWER_CASE /* @min:%2etoLowerCase */](), \"c00c023f\") === -1) {\r\n _throwInternalCritical(_self, 16 /* _eInternalMessageId.FailedMonitorAjaxRSC */, ERROR_HEADER + \" 'readystatechange' event handler\" + ERROR_POSTFIX, {\r\n ajaxDiagnosticsMessage: _getFailedAjaxDiagnosticsMessage(xhr),\r\n exception: exceptionText\r\n });\r\n }\r\n }\r\n }, _evtNamespace);\r\n }\r\n function _getResponseText(xhr) {\r\n try {\r\n var responseType = xhr.responseType;\r\n if (responseType === \"\" || responseType === \"text\") {\r\n // As per the specification responseText is only valid if the type is an empty string or \"text\"\r\n return xhr[_DYN_RESPONSE_TEXT /* @min:%2eresponseText */];\r\n }\r\n }\r\n catch (e) {\r\n // This shouldn't happen because of the above check -- but just in case, so just ignore\r\n }\r\n return null;\r\n }\r\n function _onAjaxComplete(xhr) {\r\n var ajaxData = xhr[strAjaxData];\r\n ajaxData[_DYN_RESPONSE_FINISHED_TI15 /* @min:%2eresponseFinishedTime */] = dateTimeUtilsNow();\r\n ajaxData[_DYN_STATUS /* @min:%2estatus */] = xhr[_DYN_STATUS /* @min:%2estatus */];\r\n function _reportXhrError(e, failedProps) {\r\n var errorProps = failedProps || {};\r\n errorProps[\"ajaxDiagnosticsMessage\"] = _getFailedAjaxDiagnosticsMessage(xhr);\r\n if (e) {\r\n errorProps[\"exception\"] = dumpObj(e);\r\n }\r\n _throwInternalWarning(_self, 14 /* _eInternalMessageId.FailedMonitorAjaxDur */, FAILED_TO_CALCULATE_DURATION_ERROR + \"ajax call\" + ERROR_NOT_SENT, errorProps);\r\n }\r\n _findPerfResourceEntry(\"xmlhttprequest\", ajaxData, function () {\r\n try {\r\n var dependency = ajaxData[_DYN__CREATE_TRACK_ITEM /* @min:%2eCreateTrackItem */](\"Ajax\", _enableRequestHeaderTracking, function () {\r\n var ajaxResponse = {\r\n statusText: xhr[_DYN_STATUS_TEXT /* @min:%2estatusText */],\r\n headerMap: null,\r\n correlationContext: _getAjaxCorrelationContext(xhr),\r\n type: xhr.responseType,\r\n responseText: _getResponseText(xhr),\r\n response: xhr[_DYN_RESPONSE /* @min:%2eresponse */]\r\n };\r\n if (_enableResponseHeaderTracking) {\r\n var headers = xhr[_DYN_GET_ALL_RESPONSE_HEA16 /* @min:%2egetAllResponseHeaders */]();\r\n if (headers) {\r\n // xhr.getAllResponseHeaders() method returns all the response headers, separated by CRLF, as a string or null\r\n // the regex converts the header string into an array of individual headers\r\n var arr = strTrim(headers).split(/[\\r\\n]+/);\r\n var responseHeaderMap_2 = {};\r\n arrForEach(arr, function (line) {\r\n var parts = line.split(\": \");\r\n var header = parts.shift();\r\n var value = parts.join(\": \");\r\n if (_canIncludeHeaders(header)) {\r\n responseHeaderMap_2[header] = value;\r\n }\r\n });\r\n ajaxResponse[_DYN_HEADER_MAP /* @min:%2eheaderMap */] = responseHeaderMap_2;\r\n }\r\n }\r\n return ajaxResponse;\r\n });\r\n var properties = void 0;\r\n try {\r\n if (!!_addRequestContext) {\r\n properties = _addRequestContext({ status: xhr[_DYN_STATUS /* @min:%2estatus */], xhr: xhr });\r\n }\r\n }\r\n catch (e) {\r\n _throwInternalWarning(_self, 104 /* _eInternalMessageId.FailedAddingCustomDefinedRequestContext */, CUSTOM_REQUEST_CONTEXT_ERROR);\r\n }\r\n if (dependency) {\r\n if (properties !== undefined) {\r\n dependency[STR_PROPERTIES /* @min:%2eproperties */] = __assign(__assign({}, dependency.properties), properties);\r\n }\r\n var sysProperties = ajaxData[_DYN_GET_PART_APROPS /* @min:%2egetPartAProps */]();\r\n _reportDependencyInternal(_dependencyInitializers, _self[_DYN_CORE /* @min:%2ecore */], ajaxData, dependency, null, sysProperties);\r\n }\r\n else {\r\n _reportXhrError(null, {\r\n requestSentTime: ajaxData[_DYN_REQUEST_SENT_TIME /* @min:%2erequestSentTime */],\r\n responseFinishedTime: ajaxData[_DYN_RESPONSE_FINISHED_TI15 /* @min:%2eresponseFinishedTime */]\r\n });\r\n }\r\n }\r\n finally {\r\n // cleanup telemetry data\r\n try {\r\n xhr[strAjaxData] = null;\r\n }\r\n catch (e) {\r\n // May throw in environments that prevent extension or freeze xhr\r\n }\r\n }\r\n }, function (e) {\r\n _reportXhrError(e, null);\r\n });\r\n }\r\n function _getAjaxCorrelationContext(xhr) {\r\n try {\r\n var responseHeadersString = xhr[_DYN_GET_ALL_RESPONSE_HEA16 /* @min:%2egetAllResponseHeaders */]();\r\n if (responseHeadersString !== null) {\r\n var index = _indexOf(responseHeadersString[_DYN_TO_LOWER_CASE /* @min:%2etoLowerCase */](), RequestHeaders[8 /* eRequestHeaders.requestContextHeaderLowerCase */]);\r\n if (index !== -1) {\r\n var responseHeader = xhr.getResponseHeader(RequestHeaders[0 /* eRequestHeaders.requestContextHeader */]);\r\n return CorrelationIdHelper[_DYN_GET_CORRELATION_CONT17 /* @min:%2egetCorrelationContext */](responseHeader);\r\n }\r\n }\r\n }\r\n catch (e) {\r\n _throwInternalWarning(_self, 18 /* _eInternalMessageId.FailedMonitorAjaxGetCorrelationHeader */, CORRELATION_HEADER_ERROR, {\r\n ajaxDiagnosticsMessage: _getFailedAjaxDiagnosticsMessage(xhr),\r\n exception: dumpObj(e)\r\n });\r\n }\r\n }\r\n function _createMarkId(type, ajaxData) {\r\n if (ajaxData[_DYN_REQUEST_URL /* @min:%2erequestUrl */] && _markPrefix && _enableAjaxPerfTracking) {\r\n var performance_1 = getPerformance();\r\n if (performance_1 && isFunction(performance_1.mark)) {\r\n _markCount++;\r\n var markId = _markPrefix + type + \"#\" + _markCount;\r\n performance_1.mark(markId);\r\n var entries = performance_1.getEntriesByName(markId);\r\n if (entries && entries[_DYN_LENGTH /* @min:%2elength */] === 1) {\r\n ajaxData[_DYN_PERF_MARK /* @min:%2eperfMark */] = entries[0];\r\n }\r\n }\r\n }\r\n }\r\n function _findPerfResourceEntry(initiatorType, ajaxData, trackCallback, reportError) {\r\n var perfMark = ajaxData[_DYN_PERF_MARK /* @min:%2eperfMark */];\r\n var performance = getPerformance();\r\n var maxAttempts = _config.maxAjaxPerfLookupAttempts;\r\n var retryDelay = _config[_DYN_AJAX_PERF_LOOKUP_DEL18 /* @min:%2eajaxPerfLookupDelay */];\r\n var requestUrl = ajaxData[_DYN_REQUEST_URL /* @min:%2erequestUrl */];\r\n var attempt = 0;\r\n (function locateResourceTiming() {\r\n try {\r\n if (performance && perfMark) {\r\n attempt++;\r\n var perfTiming = null;\r\n var entries = performance.getEntries();\r\n for (var lp = entries[_DYN_LENGTH /* @min:%2elength */] - 1; lp >= 0; lp--) {\r\n var entry = entries[lp];\r\n if (entry) {\r\n if (entry.entryType === \"resource\") {\r\n if (entry.initiatorType === initiatorType &&\r\n (_indexOf(entry[_DYN_NAME /* @min:%2ename */], requestUrl) !== -1 || _indexOf(requestUrl, entry[_DYN_NAME /* @min:%2ename */]) !== -1)) {\r\n perfTiming = entry;\r\n }\r\n }\r\n else if (entry.entryType === \"mark\" && entry[_DYN_NAME /* @min:%2ename */] === perfMark[_DYN_NAME /* @min:%2ename */]) {\r\n // We hit the start event\r\n ajaxData[_DYN_PERF_TIMING /* @min:%2eperfTiming */] = perfTiming;\r\n break;\r\n }\r\n if (entry[_DYN_START_TIME /* @min:%2estartTime */] < perfMark[_DYN_START_TIME /* @min:%2estartTime */] - 1000) {\r\n // Fallback to try and reduce the time spent looking for the perf entry\r\n break;\r\n }\r\n }\r\n }\r\n }\r\n if (!perfMark || // - we don't have a perfMark or\r\n ajaxData[_DYN_PERF_TIMING /* @min:%2eperfTiming */] || // - we have not found the perf entry or\r\n attempt >= maxAttempts || // - we have tried too many attempts or\r\n ajaxData.async === false) { // - this is a sync request\r\n if (perfMark && isFunction(performance.clearMarks)) {\r\n // Remove the mark so we don't fill up the performance resources too much\r\n performance.clearMarks(perfMark[_DYN_NAME /* @min:%2ename */]);\r\n }\r\n ajaxData.perfAttempts = attempt;\r\n // just continue and report the track event\r\n trackCallback();\r\n }\r\n else {\r\n // We need to wait for the browser to populate the window.performance entry\r\n // This needs to be at least 1ms as waiting <= 1 (on firefox) is not enough time for fetch or xhr,\r\n // this is a scheduling issue for the browser implementation\r\n setTimeout(locateResourceTiming, retryDelay);\r\n }\r\n }\r\n catch (e) {\r\n reportError(e);\r\n }\r\n })();\r\n }\r\n function _createFetchRecord(input, init) {\r\n var _a;\r\n var distributedTraceCtx = _getDistributedTraceCtx();\r\n var traceID = (distributedTraceCtx && distributedTraceCtx[_DYN_GET_TRACE_ID /* @min:%2egetTraceId */]()) || generateW3CId();\r\n var spanID = generateW3CId().substr(0, 16);\r\n var ajaxData = new ajaxRecord(traceID, spanID, _self[strDiagLog](), (_a = _self.core) === null || _a === void 0 ? void 0 : _a.getTraceCtx());\r\n ajaxData[_DYN_TRACE_FLAGS /* @min:%2etraceFlags */] = distributedTraceCtx && distributedTraceCtx[_DYN_GET_TRACE_FLAGS /* @min:%2egetTraceFlags */]();\r\n ajaxData[_DYN_REQUEST_SENT_TIME /* @min:%2erequestSentTime */] = dateTimeUtilsNow();\r\n ajaxData[_DYN_ERROR_STATUS_TEXT /* @min:%2eerrorStatusText */] = _enableAjaxErrorStatusText;\r\n if (input instanceof Request) {\r\n ajaxData[_DYN_REQUEST_URL /* @min:%2erequestUrl */] = input ? input.url : \"\";\r\n }\r\n else {\r\n ajaxData[_DYN_REQUEST_URL /* @min:%2erequestUrl */] = input;\r\n }\r\n var method = \"GET\";\r\n if (init && init[_DYN_METHOD /* @min:%2emethod */]) {\r\n method = init[_DYN_METHOD /* @min:%2emethod */];\r\n }\r\n else if (input && input instanceof Request) {\r\n method = input[_DYN_METHOD /* @min:%2emethod */];\r\n }\r\n ajaxData[_DYN_METHOD /* @min:%2emethod */] = method;\r\n var requestHeaders = {};\r\n if (_enableRequestHeaderTracking) {\r\n var headers = new Headers((init ? init[_DYN_HEADERS /* @min:%2eheaders */] : 0) || (input instanceof Request ? (input[_DYN_HEADERS /* @min:%2eheaders */] || {}) : {}));\r\n headers.forEach(function (value, key) {\r\n if (_canIncludeHeaders(key)) {\r\n requestHeaders[key] = value;\r\n }\r\n });\r\n }\r\n ajaxData[_DYN_REQUEST_HEADERS /* @min:%2erequestHeaders */] = requestHeaders;\r\n _createMarkId(STR_FETCH, ajaxData);\r\n return ajaxData;\r\n }\r\n function _getFailedFetchDiagnosticsMessage(input) {\r\n var result = \"\";\r\n try {\r\n if (!isNullOrUndefined(input)) {\r\n if (typeof (input) === \"string\") {\r\n result += \"(url: '\".concat(input, \"')\");\r\n }\r\n else {\r\n result += \"(url: '\".concat(input.url, \"')\");\r\n }\r\n }\r\n }\r\n catch (e) {\r\n _throwInternalCritical(_self, 15 /* _eInternalMessageId.FailedMonitorAjaxOpen */, \"Failed to grab failed fetch diagnostics message\", { exception: dumpObj(e) });\r\n }\r\n return result;\r\n }\r\n function _reportFetchMetrics(callDetails, status, input, response, ajaxData, getResponse, properties) {\r\n if (!ajaxData) {\r\n return;\r\n }\r\n function _reportFetchError(msgId, e, failedProps) {\r\n var errorProps = failedProps || {};\r\n errorProps[\"fetchDiagnosticsMessage\"] = _getFailedFetchDiagnosticsMessage(input);\r\n if (e) {\r\n errorProps[\"exception\"] = dumpObj(e);\r\n }\r\n _throwInternalWarning(_self, msgId, FAILED_TO_CALCULATE_DURATION_ERROR + \"fetch call\" + ERROR_NOT_SENT, errorProps);\r\n }\r\n ajaxData[_DYN_RESPONSE_FINISHED_TI15 /* @min:%2eresponseFinishedTime */] = dateTimeUtilsNow();\r\n ajaxData[_DYN_STATUS /* @min:%2estatus */] = status;\r\n _findPerfResourceEntry(STR_FETCH, ajaxData, function () {\r\n var dependency = ajaxData[_DYN__CREATE_TRACK_ITEM /* @min:%2eCreateTrackItem */](\"Fetch\", _enableRequestHeaderTracking, getResponse);\r\n var properties;\r\n try {\r\n if (!!_addRequestContext) {\r\n properties = _addRequestContext({ status: status, request: input, response: response });\r\n }\r\n }\r\n catch (e) {\r\n _throwInternalWarning(_self, 104 /* _eInternalMessageId.FailedAddingCustomDefinedRequestContext */, CUSTOM_REQUEST_CONTEXT_ERROR);\r\n }\r\n if (dependency) {\r\n if (properties !== undefined) {\r\n dependency[STR_PROPERTIES /* @min:%2eproperties */] = __assign(__assign({}, dependency.properties), properties);\r\n }\r\n var sysProperties = ajaxData[_DYN_GET_PART_APROPS /* @min:%2egetPartAProps */]();\r\n _reportDependencyInternal(_dependencyInitializers, _self[_DYN_CORE /* @min:%2ecore */], ajaxData, dependency, null, sysProperties);\r\n }\r\n else {\r\n _reportFetchError(14 /* _eInternalMessageId.FailedMonitorAjaxDur */, null, {\r\n requestSentTime: ajaxData[_DYN_REQUEST_SENT_TIME /* @min:%2erequestSentTime */],\r\n responseFinishedTime: ajaxData[_DYN_RESPONSE_FINISHED_TI15 /* @min:%2eresponseFinishedTime */]\r\n });\r\n }\r\n }, function (e) {\r\n _reportFetchError(18 /* _eInternalMessageId.FailedMonitorAjaxGetCorrelationHeader */, e, null);\r\n });\r\n }\r\n function _getFetchCorrelationContext(response) {\r\n if (response && response[_DYN_HEADERS /* @min:%2eheaders */]) {\r\n try {\r\n var responseHeader = response[_DYN_HEADERS /* @min:%2eheaders */].get(RequestHeaders[0 /* eRequestHeaders.requestContextHeader */]);\r\n return CorrelationIdHelper[_DYN_GET_CORRELATION_CONT17 /* @min:%2egetCorrelationContext */](responseHeader);\r\n }\r\n catch (e) {\r\n _throwInternalWarning(_self, 18 /* _eInternalMessageId.FailedMonitorAjaxGetCorrelationHeader */, CORRELATION_HEADER_ERROR, {\r\n fetchDiagnosticsMessage: _getFailedFetchDiagnosticsMessage(response),\r\n exception: dumpObj(e)\r\n });\r\n }\r\n }\r\n }\r\n function _reportDependencyInternal(initializers, core, ajaxData, dependency, properties, systemProperties) {\r\n var result = true;\r\n var initializersCount = initializers[_DYN_LENGTH /* @min:%2elength */];\r\n if (initializersCount > 0) {\r\n var details = {\r\n item: dependency,\r\n properties: properties,\r\n sysProperties: systemProperties,\r\n context: ajaxData ? ajaxData[_DYN_CONTEXT /* @min:%2econtext */] : null,\r\n aborted: ajaxData ? !!ajaxData[_DYN_ABORTED /* @min:%2eaborted */] : false\r\n };\r\n result = _processDependencyContainer(core, initializers, details, \"initializer\");\r\n }\r\n if (result) {\r\n _self[_DYN_TRACK_DEPENDENCY_DAT4 /* @min:%2etrackDependencyDataInternal */](dependency, properties, systemProperties);\r\n }\r\n }\r\n });\r\n return _this;\r\n }\r\n// Removed Stub for AjaxMonitor.prototype.initialize.\r\n AjaxMonitor.prototype.processTelemetry = function (item, itemCtx) {\r\n this.processNext(item, itemCtx);\r\n };\r\n// Removed Stub for AjaxMonitor.prototype.trackDependencyData.\r\n// Removed Stub for AjaxMonitor.prototype.includeCorrelationHeaders.\r\n// Removed Stub for AjaxMonitor.prototype.addDependencyListener.\r\n /**\r\n * Add an dependency telemetry initializer callback function to allow populating additional properties or drop the request.\r\n * It is called after the dependency call has completed and any available performance details are available. A dependency\r\n * initializer is similar to the TelemetryInitializer function but it allows you to block the reporting of the dependency\r\n * request so that it doesn't count against the `maxAjaxCallsPerView`.\r\n * @param dependencyInitializer - The Dependency Telemetry Initializer function\r\n * @returns - A IDependencyInitializerHandler to enable the initializer to be removed\r\n */\r\n AjaxMonitor.prototype.addDependencyInitializer = function (dependencyInitializer) {\r\n return null;\r\n };\r\n// Removed Stub for AjaxMonitor.prototype.trackDependencyDataInternal.\r\n AjaxMonitor.identifier = \"AjaxDependencyPlugin\";\r\n AjaxMonitor.getDefaultConfig = _getDefaultConfig;\r\n AjaxMonitor.getEmptyConfig = _getEmptyConfig;\r\n return AjaxMonitor;\r\n}(BaseTelemetryPlugin));\r\nexport { AjaxMonitor };\r\n","/*\n * Application Insights JavaScript SDK - Dependencies Plugin, 2.8.15\n * Copyright (c) Microsoft and contributors. All rights reserved.\n */\n\r\n\r\nimport dynamicProto from \"@microsoft/dynamicproto-js\";\r\nimport { Extensions, dataSanitizeUrl, dateTimeUtilsDuration, msToTimeSpan, urlGetAbsoluteUrl, urlGetCompleteUrl } from \"@microsoft/applicationinsights-common\";\r\nimport { arrForEach, isNullOrUndefined, isNumber, isString, normalizeJsName, objForEachKey, objKeys } from \"@microsoft/applicationinsights-core-js\";\r\nimport { STR_DURATION, STR_PROPERTIES } from \"./InternalConstants\";\r\nimport { _DYN_ABORTED, _DYN_ABORT_DONE, _DYN_AJAX_TOTAL_DURATION, _DYN_CORRELATION_CONTEXT, _DYN_ERROR_STATUS_TEXT, _DYN_EVENT_TRACE_CTX, _DYN_GET_ABSOLUTE_URL, _DYN_GET_PART_APROPS, _DYN_GET_TRACE_FLAGS, _DYN_GET_TRACE_ID, _DYN_HEADER_MAP, _DYN_LENGTH, _DYN_METHOD, _DYN_NAME, _DYN_OPEN_DONE, _DYN_PERF_MARK, _DYN_PERF_TIMING, _DYN_REQUEST_HEADERS, _DYN_REQUEST_SENT_TIME, _DYN_REQUEST_URL, _DYN_RESPONSE, _DYN_RESPONSE_FINISHED_TI15, _DYN_SEND_DONE, _DYN_SPAN_ID, _DYN_SPAN_ID1, _DYN_START_TIME, _DYN_STATE_CHANGE_ATTACHE14, _DYN_STATUS, _DYN_STATUS_TEXT, _DYN_TRACE_FLAGS, _DYN_TRACE_ID, _DYN_TRACE_ID0, _DYN__CREATE_TRACK_ITEM } from \"./__DynamicConstants\";\r\n/** @ignore */\r\nfunction _calcPerfDuration(resourceEntry, start, end) {\r\n var result = 0;\r\n var from = resourceEntry[start];\r\n var to = resourceEntry[end];\r\n if (from && to) {\r\n result = dateTimeUtilsDuration(from, to);\r\n }\r\n return result;\r\n}\r\n/** @ignore */\r\nfunction _setPerfDuration(props, name, resourceEntry, start, end) {\r\n var result = 0;\r\n var value = _calcPerfDuration(resourceEntry, start, end);\r\n if (value) {\r\n result = _setPerfValue(props, name, msToTimeSpan(value));\r\n }\r\n return result;\r\n}\r\n/** @ignore */\r\nfunction _setPerfValue(props, name, value) {\r\n var strPerf = \"ajaxPerf\";\r\n var result = 0;\r\n if (props && name && value) {\r\n var perfData = props[strPerf] = (props[strPerf] || {});\r\n perfData[name] = value;\r\n result = 1;\r\n }\r\n return result;\r\n}\r\n/** @ignore */\r\nfunction _populatePerfData(ajaxData, dependency) {\r\n /*\r\n * https://developer.mozilla.org/en-US/docs/Web/API/Resource_Timing_API/Using_the_Resource_Timing_API\r\n * | -startTime\r\n * | -redirectStart\r\n * | | -redirectEnd\r\n * | | | -fetchStart\r\n * | | | | -domainLookupStart\r\n * | | | | |- domainLookupEnd\r\n * | | | | | | -connectStart\r\n * | | | | | | | -secureConnectionStart\r\n * | | | | | | | | -connectEnd\r\n * | | | | | | | | | -requestStart\r\n * | | | | | | | | | | | -responseStart\r\n * | | | | | | | | | | | | | -responseEnd\r\n * +------------+-+---+----------------+-+--+--------+-+-----------+-+------------+-+\r\n * |--redirect--| |---|--domainLookup--| |--connect--| |--request--| |--response--| |\r\n * |-------------------networkConnect----------------|\r\n * | |---------sentRequest--------|\r\n * |------------------------------------perfTotal-----------------------------------|\r\n */\r\n var resourceEntry = ajaxData[_DYN_PERF_TIMING /* @min:%2eperfTiming */];\r\n var props = dependency[STR_PROPERTIES /* @min:%2eproperties */] || {};\r\n var propsSet = 0;\r\n var strName = \"name\";\r\n var strStart = \"Start\";\r\n var strEnd = \"End\";\r\n var strDomainLookup = \"domainLookup\";\r\n var strConnect = \"connect\";\r\n var strRedirect = \"redirect\";\r\n var strRequest = \"request\";\r\n var strResponse = \"response\";\r\n var strStartTime = \"startTime\";\r\n var strDomainLookupStart = strDomainLookup + strStart;\r\n var strDomainLookupEnd = strDomainLookup + strEnd;\r\n var strConnectStart = strConnect + strStart;\r\n var strConnectEnd = strConnect + strEnd;\r\n var strRequestStart = strRequest + strStart;\r\n var strRequestEnd = strRequest + strEnd;\r\n var strResponseStart = strResponse + strStart;\r\n var strResponseEnd = strResponse + strEnd;\r\n var strRedirectStart = strRedirect + strStart;\r\n var strRedirectEnd = strRedirect = strEnd;\r\n var strTransferSize = \"transferSize\";\r\n var strEncodedBodySize = \"encodedBodySize\";\r\n var strDecodedBodySize = \"decodedBodySize\";\r\n var strServerTiming = \"serverTiming\";\r\n if (resourceEntry) {\r\n // redirect\r\n propsSet |= _setPerfDuration(props, strRedirect, resourceEntry, strRedirectStart, strRedirectEnd);\r\n // domainLookup\r\n propsSet |= _setPerfDuration(props, strDomainLookup, resourceEntry, strDomainLookupStart, strDomainLookupEnd);\r\n // connect\r\n propsSet |= _setPerfDuration(props, strConnect, resourceEntry, strConnectStart, strConnectEnd);\r\n // request\r\n propsSet |= _setPerfDuration(props, strRequest, resourceEntry, strRequestStart, strRequestEnd);\r\n // response\r\n propsSet |= _setPerfDuration(props, strResponse, resourceEntry, strResponseStart, strResponseEnd);\r\n // Network connection time\r\n propsSet |= _setPerfDuration(props, \"networkConnect\", resourceEntry, strStartTime, strConnectEnd);\r\n // Sent Request\r\n propsSet |= _setPerfDuration(props, \"sentRequest\", resourceEntry, strRequestStart, strResponseEnd);\r\n // PerfTotal / Duration\r\n var duration = resourceEntry[STR_DURATION /* @min:%2eduration */];\r\n if (!duration) {\r\n duration = _calcPerfDuration(resourceEntry, strStartTime, strResponseEnd) || 0;\r\n }\r\n propsSet |= _setPerfValue(props, STR_DURATION, duration);\r\n propsSet |= _setPerfValue(props, \"perfTotal\", duration);\r\n var serverTiming = resourceEntry[strServerTiming];\r\n if (serverTiming) {\r\n var server_1 = {};\r\n arrForEach(serverTiming, function (value, idx) {\r\n var name = normalizeJsName(value[strName] || \"\" + idx);\r\n var newValue = server_1[name] || {};\r\n objForEachKey(value, function (key, val) {\r\n if (key !== strName && isString(val) || isNumber(val)) {\r\n if (newValue[key]) {\r\n val = newValue[key] + \";\" + val;\r\n }\r\n if (val || !isString(val)) {\r\n // Only set the value if it has a value and it's not an empty string\r\n newValue[key] = val;\r\n }\r\n }\r\n });\r\n server_1[name] = newValue;\r\n });\r\n propsSet |= _setPerfValue(props, strServerTiming, server_1);\r\n }\r\n propsSet |= _setPerfValue(props, strTransferSize, resourceEntry[strTransferSize]);\r\n propsSet |= _setPerfValue(props, strEncodedBodySize, resourceEntry[strEncodedBodySize]);\r\n propsSet |= _setPerfValue(props, strDecodedBodySize, resourceEntry[strDecodedBodySize]);\r\n }\r\n else {\r\n if (ajaxData[_DYN_PERF_MARK /* @min:%2eperfMark */]) {\r\n propsSet |= _setPerfValue(props, \"missing\", ajaxData.perfAttempts);\r\n }\r\n }\r\n if (propsSet) {\r\n dependency[STR_PROPERTIES /* @min:%2eproperties */] = props;\r\n }\r\n}\r\nvar XHRMonitoringState = /** @class */ (function () {\r\n function XHRMonitoringState() {\r\n var self = this;\r\n self[_DYN_OPEN_DONE /* @min:%2eopenDone */] = false;\r\n self.setRequestHeaderDone = false;\r\n self[_DYN_SEND_DONE /* @min:%2esendDone */] = false;\r\n self[_DYN_ABORT_DONE /* @min:%2eabortDone */] = false;\r\n // True, if onreadyStateChangeCallback function attached to xhr, otherwise false\r\n self[_DYN_STATE_CHANGE_ATTACHE14 /* @min:%2estateChangeAttached */] = false;\r\n }\r\n return XHRMonitoringState;\r\n}());\r\nexport { XHRMonitoringState };\r\nvar ajaxRecord = /** @class */ (function () {\r\n function ajaxRecord(traceId, spanId, logger, traceCtx) {\r\n var _a;\r\n var self = this;\r\n var _logger = logger;\r\n var strResponseText = \"responseText\";\r\n // Assigning the initial/default values within the constructor to avoid typescript from creating a bunch of\r\n // this.XXXX = null\r\n self[_DYN_PERF_MARK /* @min:%2eperfMark */] = null;\r\n self.completed = false;\r\n self.requestHeadersSize = null;\r\n self[_DYN_REQUEST_HEADERS /* @min:%2erequestHeaders */] = null;\r\n self.responseReceivingDuration = null;\r\n self.callbackDuration = null;\r\n self[_DYN_AJAX_TOTAL_DURATION /* @min:%2eajaxTotalDuration */] = null;\r\n self[_DYN_ABORTED /* @min:%2eaborted */] = 0;\r\n self.pageUrl = null;\r\n self[_DYN_REQUEST_URL /* @min:%2erequestUrl */] = null;\r\n self.requestSize = 0;\r\n self[_DYN_METHOD /* @min:%2emethod */] = null;\r\n self[_DYN_STATUS /* @min:%2estatus */] = null;\r\n self[_DYN_REQUEST_SENT_TIME /* @min:%2erequestSentTime */] = null;\r\n self.responseStartedTime = null;\r\n self[_DYN_RESPONSE_FINISHED_TI15 /* @min:%2eresponseFinishedTime */] = null;\r\n self.callbackFinishedTime = null;\r\n self.endTime = null;\r\n self.xhrMonitoringState = new XHRMonitoringState();\r\n self.clientFailure = 0;\r\n self[_DYN_TRACE_ID /* @min:%2etraceID */] = traceId;\r\n self[_DYN_SPAN_ID /* @min:%2espanID */] = spanId;\r\n self[_DYN_TRACE_FLAGS /* @min:%2etraceFlags */] = traceCtx === null || traceCtx === void 0 ? void 0 : traceCtx.getTraceFlags();\r\n if (traceCtx) {\r\n self[_DYN_EVENT_TRACE_CTX /* @min:%2eeventTraceCtx */] = (_a = {},\r\n _a[_DYN_TRACE_ID0 /* @min:traceId */] = traceCtx[_DYN_GET_TRACE_ID /* @min:%2egetTraceId */](),\r\n _a[_DYN_SPAN_ID1 /* @min:spanId */] = traceCtx.getSpanId(),\r\n _a[_DYN_TRACE_FLAGS /* @min:traceFlags */] = traceCtx[_DYN_GET_TRACE_FLAGS /* @min:%2egetTraceFlags */](),\r\n _a);\r\n }\r\n else {\r\n self[_DYN_EVENT_TRACE_CTX /* @min:%2eeventTraceCtx */] = null;\r\n }\r\n dynamicProto(ajaxRecord, self, function (self) {\r\n self.getAbsoluteUrl = function () {\r\n return self[_DYN_REQUEST_URL /* @min:%2erequestUrl */] ? urlGetAbsoluteUrl(self[_DYN_REQUEST_URL /* @min:%2erequestUrl */]) : null;\r\n };\r\n self.getPathName = function () {\r\n return self[_DYN_REQUEST_URL /* @min:%2erequestUrl */] ? dataSanitizeUrl(_logger, urlGetCompleteUrl(self[_DYN_METHOD /* @min:%2emethod */], self[_DYN_REQUEST_URL /* @min:%2erequestUrl */])) : null;\r\n };\r\n self[_DYN__CREATE_TRACK_ITEM /* @min:%2eCreateTrackItem */] = function (ajaxType, enableRequestHeaderTracking, getResponse) {\r\n var _a;\r\n // round to 3 decimal points\r\n self.ajaxTotalDuration = Math.round(dateTimeUtilsDuration(self.requestSentTime, self.responseFinishedTime) * 1000) / 1000;\r\n if (self[_DYN_AJAX_TOTAL_DURATION /* @min:%2eajaxTotalDuration */] < 0) {\r\n return null;\r\n }\r\n var dependency = (_a = {\r\n id: \"|\" + self[_DYN_TRACE_ID /* @min:%2etraceID */] + \".\" + self[_DYN_SPAN_ID /* @min:%2espanID */],\r\n target: self[_DYN_GET_ABSOLUTE_URL /* @min:%2egetAbsoluteUrl */]()\r\n },\r\n _a[_DYN_NAME /* @min:name */] = self.getPathName(),\r\n _a.type = ajaxType,\r\n _a[_DYN_START_TIME /* @min:startTime */] = null,\r\n _a.duration = self[_DYN_AJAX_TOTAL_DURATION /* @min:%2eajaxTotalDuration */],\r\n _a.success = (+(self[_DYN_STATUS /* @min:%2estatus */])) >= 200 && (+(self[_DYN_STATUS /* @min:%2estatus */])) < 400,\r\n _a.responseCode = (+(self[_DYN_STATUS /* @min:%2estatus */])),\r\n _a[STR_PROPERTIES] = { HttpMethod: self[_DYN_METHOD /* @min:%2emethod */] },\r\n _a);\r\n var props = dependency[STR_PROPERTIES];\r\n if (self[_DYN_ABORTED /* @min:%2eaborted */]) {\r\n props[_DYN_ABORTED /* @min:%2eaborted */] = true;\r\n }\r\n if (self[_DYN_REQUEST_SENT_TIME /* @min:%2erequestSentTime */]) {\r\n // Set the correct dependency start time\r\n dependency[_DYN_START_TIME /* @min:%2estartTime */] = new Date();\r\n dependency[_DYN_START_TIME /* @min:%2estartTime */].setTime(self[_DYN_REQUEST_SENT_TIME /* @min:%2erequestSentTime */]);\r\n }\r\n // Add Ajax perf details if available\r\n _populatePerfData(self, dependency);\r\n if (enableRequestHeaderTracking) {\r\n if (objKeys(self.requestHeaders)[_DYN_LENGTH /* @min:%2elength */] > 0) {\r\n props[_DYN_REQUEST_HEADERS /* @min:%2erequestHeaders */] = self[_DYN_REQUEST_HEADERS /* @min:%2erequestHeaders */];\r\n }\r\n }\r\n if (getResponse) {\r\n var response = getResponse();\r\n if (response) {\r\n // enrich dependency target with correlation context from the server\r\n var correlationContext = response[_DYN_CORRELATION_CONTEXT /* @min:%2ecorrelationContext */];\r\n if (correlationContext) {\r\n dependency.correlationContext = /* dependency.target + \" | \" + */ correlationContext;\r\n }\r\n if (response[_DYN_HEADER_MAP /* @min:%2eheaderMap */]) {\r\n if (objKeys(response.headerMap)[_DYN_LENGTH /* @min:%2elength */] > 0) {\r\n props.responseHeaders = response[_DYN_HEADER_MAP /* @min:%2eheaderMap */];\r\n }\r\n }\r\n if (self[_DYN_ERROR_STATUS_TEXT /* @min:%2eerrorStatusText */]) {\r\n if (self[_DYN_STATUS /* @min:%2estatus */] >= 400) {\r\n var responseType = response.type;\r\n if (responseType === \"\" || responseType === \"text\") {\r\n props.responseText = response.responseText ? response[_DYN_STATUS_TEXT /* @min:%2estatusText */] + \" - \" + response[strResponseText] : response[_DYN_STATUS_TEXT /* @min:%2estatusText */];\r\n }\r\n if (responseType === \"json\") {\r\n props.responseText = response.response ? response[_DYN_STATUS_TEXT /* @min:%2estatusText */] + \" - \" + JSON.stringify(response[_DYN_RESPONSE /* @min:%2eresponse */]) : response[_DYN_STATUS_TEXT /* @min:%2estatusText */];\r\n }\r\n }\r\n else if (self[_DYN_STATUS /* @min:%2estatus */] === 0) {\r\n props.responseText = response[_DYN_STATUS_TEXT /* @min:%2estatusText */] || \"\";\r\n }\r\n }\r\n }\r\n }\r\n return dependency;\r\n };\r\n self[_DYN_GET_PART_APROPS /* @min:%2egetPartAProps */] = function () {\r\n var _a;\r\n var partA = null;\r\n var traceCtx = self[_DYN_EVENT_TRACE_CTX /* @min:%2eeventTraceCtx */];\r\n if (traceCtx && (traceCtx[_DYN_TRACE_ID0 /* @min:%2etraceId */] || traceCtx[_DYN_SPAN_ID1 /* @min:%2espanId */])) {\r\n partA = {};\r\n var traceExt = partA[Extensions.TraceExt] = (_a = {},\r\n _a[_DYN_TRACE_ID /* @min:traceID */] = traceCtx[_DYN_TRACE_ID0 /* @min:%2etraceId */],\r\n _a.parentID = traceCtx[_DYN_SPAN_ID1 /* @min:%2espanId */],\r\n _a);\r\n if (!isNullOrUndefined(traceCtx[_DYN_TRACE_FLAGS /* @min:%2etraceFlags */])) {\r\n traceExt[_DYN_TRACE_FLAGS /* @min:%2etraceFlags */] = traceCtx[_DYN_TRACE_FLAGS /* @min:%2etraceFlags */];\r\n }\r\n }\r\n return partA;\r\n };\r\n });\r\n }\r\n// Removed Stub for ajaxRecord.prototype.getAbsoluteUrl.\r\n// Removed Stub for ajaxRecord.prototype.getPathName.\r\n// Removed Stub for ajaxRecord.prototype.CreateTrackItem.\r\n// Removed Stub for ajaxRecord.prototype.getPartAProps.\r\n // This is a workaround for an IE8 bug when using dynamicProto() with classes that don't have any\n // non-dynamic functions or static properties/functions when using uglify-js to minify the resulting code.\n // this will be removed when ES3 support is dropped.\n ajaxRecord.__ieDyn=1;\n\n return ajaxRecord;\r\n}());\r\nexport { ajaxRecord };\r\n","/*\n * Application Insights JavaScript SDK - Properties Plugin, 2.8.15\n * Copyright (c) Microsoft and contributors. All rights reserved.\n */\n\r\n\r\nvar Application = /** @class */ (function () {\r\n function Application() {\r\n }\r\n return Application;\r\n}());\r\nexport { Application };\r\n","/*\n * Application Insights JavaScript SDK - Properties Plugin, 2.8.15\n * Copyright (c) Microsoft and contributors. All rights reserved.\n */\n\r\n\r\nvar Device = /** @class */ (function () {\r\n /**\r\n * Constructs a new instance of the Device class\r\n */\r\n function Device() {\r\n // don't attempt to fingerprint browsers\r\n this.id = \"browser\";\r\n // Device type is a dimension in our data platform\r\n // Setting it to 'Browser' allows to separate client and server dependencies/exceptions\r\n this.deviceClass = \"Browser\";\r\n }\r\n return Device;\r\n}());\r\nexport { Device };\r\n","/*\n * Application Insights JavaScript SDK - Properties Plugin, 2.8.15\n * Copyright (c) Microsoft and contributors. All rights reserved.\n */\n\r\n\r\nimport { _DYN_SDK_EXTENSION } from \"../__DynamicConstants\";\r\nvar Version = '2.8.15';\r\nvar Internal = /** @class */ (function () {\r\n /**\r\n * Constructs a new instance of the internal telemetry data class.\r\n */\r\n function Internal(config) {\r\n this.sdkVersion = (config[_DYN_SDK_EXTENSION /* @min:%2esdkExtension */] && config[_DYN_SDK_EXTENSION /* @min:%2esdkExtension */]() ? config[_DYN_SDK_EXTENSION /* @min:%2esdkExtension */]() + \"_\" : \"\") + \"javascript:\" + Version;\r\n }\r\n return Internal;\r\n}());\r\nexport { Internal };\r\n","/*\n * Application Insights JavaScript SDK - Properties Plugin, 2.8.15\n * Copyright (c) Microsoft and contributors. All rights reserved.\n */\n\r\n\r\nvar Location = /** @class */ (function () {\r\n function Location() {\r\n }\r\n return Location;\r\n}());\r\nexport { Location };\r\n","/*\n * Application Insights JavaScript SDK - Properties Plugin, 2.8.15\n * Copyright (c) Microsoft and contributors. All rights reserved.\n */\n\r\n\r\nimport dynamicProto from \"@microsoft/dynamicproto-js\";\r\nimport { utlCanUseLocalStorage, utlGetLocalStorage, utlSetLocalStorage } from \"@microsoft/applicationinsights-common\";\r\nimport { _throwInternal, dateNow, dumpObj, getExceptionName, isFunction, newId, safeGetCookieMgr, safeGetLogger } from \"@microsoft/applicationinsights-core-js\";\r\nimport { _DYN_ACQUISITION_DATE, _DYN_AUTOMATIC_SESSION, _DYN_CONFIG, _DYN_COOKIE_DOMAIN, _DYN_GET_NEW_ID, _DYN_ID_LENGTH, _DYN_JOIN, _DYN_LENGTH, _DYN_NAME_PREFIX, _DYN_RENEWAL_DATE, _DYN_SESSION_COOKIE_POSTF6, _DYN_SESSION_EXPIRATION_M7, _DYN_SESSION_RENEWAL_MS, _DYN_UPDATE } from \"../__DynamicConstants\";\r\nvar cookieNameConst = \"ai_session\";\r\nvar Session = /** @class */ (function () {\r\n function Session() {\r\n }\r\n return Session;\r\n}());\r\nexport { Session };\r\nvar _SessionManager = /** @class */ (function () {\r\n function _SessionManager(config, core) {\r\n var self = this;\r\n var _storageNamePrefix;\r\n var _cookieUpdatedTimestamp;\r\n var _logger = safeGetLogger(core);\r\n var _cookieManager = safeGetCookieMgr(core);\r\n dynamicProto(_SessionManager, self, function (_self) {\r\n if (!config) {\r\n config = {};\r\n }\r\n if (!isFunction(config[_DYN_SESSION_EXPIRATION_M7 /* @min:%2esessionExpirationMs */])) {\r\n config[_DYN_SESSION_EXPIRATION_M7 /* @min:%2esessionExpirationMs */] = function () { return _SessionManager.acquisitionSpan; };\r\n }\r\n if (!isFunction(config[_DYN_SESSION_RENEWAL_MS /* @min:%2esessionRenewalMs */])) {\r\n config[_DYN_SESSION_RENEWAL_MS /* @min:%2esessionRenewalMs */] = function () { return _SessionManager.renewalSpan; };\r\n }\r\n _self[_DYN_CONFIG /* @min:%2econfig */] = config;\r\n // sessionCookiePostfix takes the preference if it is configured, otherwise takes namePrefix if configured.\r\n var sessionCookiePostfix = (_self.config[_DYN_SESSION_COOKIE_POSTF6 /* @min:%2esessionCookiePostfix */] && _self[_DYN_CONFIG /* @min:%2econfig */][_DYN_SESSION_COOKIE_POSTF6 /* @min:%2esessionCookiePostfix */]()) ?\r\n _self.config[_DYN_SESSION_COOKIE_POSTF6 /* @min:%2esessionCookiePostfix */]() :\r\n ((_self.config[_DYN_NAME_PREFIX /* @min:%2enamePrefix */] && _self[_DYN_CONFIG /* @min:%2econfig */][_DYN_NAME_PREFIX /* @min:%2enamePrefix */]()) ? _self[_DYN_CONFIG /* @min:%2econfig */][_DYN_NAME_PREFIX /* @min:%2enamePrefix */]() : \"\");\r\n _storageNamePrefix = function () { return cookieNameConst + sessionCookiePostfix; };\r\n _self[_DYN_AUTOMATIC_SESSION /* @min:%2eautomaticSession */] = new Session();\r\n _self[_DYN_UPDATE /* @min:%2eupdate */] = function () {\r\n // Always using Date getTime() as there is a bug in older IE instances that causes the performance timings to have the hi-bit set eg 0x800000000 causing\r\n // the number to be incorrect.\r\n var nowMs = dateNow();\r\n var isExpired = false;\r\n var session = _self[_DYN_AUTOMATIC_SESSION /* @min:%2eautomaticSession */];\r\n if (!session.id) {\r\n isExpired = !_initializeAutomaticSession(session, nowMs);\r\n }\r\n var sessionExpirationMs = _self.config[_DYN_SESSION_EXPIRATION_M7 /* @min:%2esessionExpirationMs */]();\r\n if (!isExpired && sessionExpirationMs > 0) {\r\n var sessionRenewalMs = _self.config[_DYN_SESSION_RENEWAL_MS /* @min:%2esessionRenewalMs */]();\r\n var timeSinceAcqMs = nowMs - session[_DYN_ACQUISITION_DATE /* @min:%2eacquisitionDate */];\r\n var timeSinceRenewalMs = nowMs - session[_DYN_RENEWAL_DATE /* @min:%2erenewalDate */];\r\n isExpired = timeSinceAcqMs < 0 || timeSinceRenewalMs < 0; // expired if the acquisition or last renewal are in the future\r\n isExpired = isExpired || timeSinceAcqMs > sessionExpirationMs; // expired if the time since acquisition is more than session Expiration\r\n isExpired = isExpired || timeSinceRenewalMs > sessionRenewalMs; // expired if the time since last renewal is more than renewal period\r\n }\r\n // renew if acquisitionSpan or renewalSpan has elapsed\r\n if (isExpired) {\r\n // update automaticSession so session state has correct id\r\n _renew(nowMs);\r\n }\r\n else {\r\n // do not update the cookie more often than cookieUpdateInterval\r\n if (!_cookieUpdatedTimestamp || nowMs - _cookieUpdatedTimestamp > _SessionManager.cookieUpdateInterval) {\r\n _setCookie(session, nowMs);\r\n }\r\n }\r\n };\r\n /**\r\n * Record the current state of the automatic session and store it in our cookie string format\r\n * into the browser's local storage. This is used to restore the session data when the cookie\r\n * expires.\r\n */\r\n _self.backup = function () {\r\n var session = _self[_DYN_AUTOMATIC_SESSION /* @min:%2eautomaticSession */];\r\n _setStorage(session.id, session[_DYN_ACQUISITION_DATE /* @min:%2eacquisitionDate */], session[_DYN_RENEWAL_DATE /* @min:%2erenewalDate */]);\r\n };\r\n /**\r\n * Use config.namePrefix + ai_session cookie data or local storage data (when the cookie is unavailable) to\r\n * initialize the automatic session.\r\n * @returns true if values set otherwise false\r\n */\r\n function _initializeAutomaticSession(session, now) {\r\n var isValid = false;\r\n var cookieValue = _cookieManager.get(_storageNamePrefix());\r\n if (cookieValue && isFunction(cookieValue.split)) {\r\n isValid = _initializeAutomaticSessionWithData(session, cookieValue);\r\n }\r\n else {\r\n // There's no cookie, but we might have session data in local storage\r\n // This can happen if the session expired or the user actively deleted the cookie\r\n // We only want to recover data if the cookie is missing from expiry. We should respect the user's wishes if the cookie was deleted actively.\r\n // The User class handles this for us and deletes our local storage object if the persistent user cookie was removed.\r\n var storageValue = utlGetLocalStorage(_logger, _storageNamePrefix());\r\n if (storageValue) {\r\n isValid = _initializeAutomaticSessionWithData(session, storageValue);\r\n }\r\n }\r\n return isValid || !!session.id;\r\n }\r\n /**\r\n * Extract id, acquisitionDate, and renewalDate from an ai_session payload string and\r\n * use this data to initialize automaticSession.\r\n *\r\n * @param {string} sessionData - The string stored in an ai_session cookie or local storage backup\r\n * @returns true if values set otherwise false\r\n */\r\n function _initializeAutomaticSessionWithData(session, sessionData) {\r\n var isValid = false;\r\n var sessionReset = \", session will be reset\";\r\n var tokens = sessionData.split(\"|\");\r\n if (tokens[_DYN_LENGTH /* @min:%2elength */] >= 2) {\r\n try {\r\n var acqMs = +tokens[1] || 0;\r\n var renewalMs = +tokens[2] || 0;\r\n if (isNaN(acqMs) || acqMs <= 0) {\r\n _throwInternal(_logger, 2 /* eLoggingSeverity.WARNING */, 27 /* _eInternalMessageId.SessionRenewalDateIsZero */, \"AI session acquisition date is 0\" + sessionReset);\r\n }\r\n else if (isNaN(renewalMs) || renewalMs <= 0) {\r\n _throwInternal(_logger, 2 /* eLoggingSeverity.WARNING */, 27 /* _eInternalMessageId.SessionRenewalDateIsZero */, \"AI session renewal date is 0\" + sessionReset);\r\n }\r\n else if (tokens[0]) {\r\n // Everything looks valid so set the values\r\n session.id = tokens[0];\r\n session[_DYN_ACQUISITION_DATE /* @min:%2eacquisitionDate */] = acqMs;\r\n session[_DYN_RENEWAL_DATE /* @min:%2erenewalDate */] = renewalMs;\r\n isValid = true;\r\n }\r\n }\r\n catch (e) {\r\n _throwInternal(_logger, 1 /* eLoggingSeverity.CRITICAL */, 9 /* _eInternalMessageId.ErrorParsingAISessionCookie */, \"Error parsing ai_session value [\" + (sessionData || \"\") + \"]\" + sessionReset + \" - \" + getExceptionName(e), { exception: dumpObj(e) });\r\n }\r\n }\r\n return isValid;\r\n }\r\n function _renew(nowMs) {\r\n var theConfig = (_self[_DYN_CONFIG /* @min:%2econfig */] || {});\r\n var getNewId = (theConfig[_DYN_GET_NEW_ID /* @min:%2egetNewId */] ? theConfig[_DYN_GET_NEW_ID /* @min:%2egetNewId */]() : null) || newId;\r\n _self.automaticSession.id = getNewId(theConfig[_DYN_ID_LENGTH /* @min:%2eidLength */] ? theConfig[_DYN_ID_LENGTH /* @min:%2eidLength */]() : 22);\r\n _self[_DYN_AUTOMATIC_SESSION /* @min:%2eautomaticSession */][_DYN_ACQUISITION_DATE /* @min:%2eacquisitionDate */] = nowMs;\r\n _setCookie(_self[_DYN_AUTOMATIC_SESSION /* @min:%2eautomaticSession */], nowMs);\r\n // If this browser does not support local storage, fire an internal log to keep track of it at this point\r\n if (!utlCanUseLocalStorage()) {\r\n _throwInternal(_logger, 2 /* eLoggingSeverity.WARNING */, 0 /* _eInternalMessageId.BrowserDoesNotSupportLocalStorage */, \"Browser does not support local storage. Session durations will be inaccurate.\");\r\n }\r\n }\r\n function _setCookie(session, nowMs) {\r\n var acq = session[_DYN_ACQUISITION_DATE /* @min:%2eacquisitionDate */];\r\n session[_DYN_RENEWAL_DATE /* @min:%2erenewalDate */] = nowMs;\r\n var config = _self[_DYN_CONFIG /* @min:%2econfig */];\r\n var renewalPeriodMs = config[_DYN_SESSION_RENEWAL_MS /* @min:%2esessionRenewalMs */]();\r\n // Set cookie to expire after the session expiry time passes or the session renewal deadline, whichever is sooner\r\n // Expiring the cookie will cause the session to expire even if the user isn't on the page\r\n var acqTimeLeftMs = (acq + config[_DYN_SESSION_EXPIRATION_M7 /* @min:%2esessionExpirationMs */]()) - nowMs;\r\n var cookie = [session.id, acq, nowMs];\r\n var maxAgeSec = 0;\r\n if (acqTimeLeftMs < renewalPeriodMs) {\r\n maxAgeSec = acqTimeLeftMs / 1000;\r\n }\r\n else {\r\n maxAgeSec = renewalPeriodMs / 1000;\r\n }\r\n var cookieDomain = config[_DYN_COOKIE_DOMAIN /* @min:%2ecookieDomain */] ? config[_DYN_COOKIE_DOMAIN /* @min:%2ecookieDomain */]() : null;\r\n // if sessionExpirationMs is set to 0, it means the expiry is set to 0 for this session cookie\r\n // A cookie with 0 expiry in the session cookie will never expire for that browser session. If the browser is closed the cookie expires.\r\n // Depending on the browser, another instance does not inherit this cookie, however, another tab will\r\n _cookieManager.set(_storageNamePrefix(), cookie.join(\"|\"), config[_DYN_SESSION_EXPIRATION_M7 /* @min:%2esessionExpirationMs */]() > 0 ? maxAgeSec : null, cookieDomain);\r\n _cookieUpdatedTimestamp = nowMs;\r\n }\r\n function _setStorage(guid, acq, renewal) {\r\n // Keep data in local storage to retain the last session id, allowing us to cleanly end the session when it expires\r\n // Browsers that don't support local storage won't be able to end sessions cleanly from the client\r\n // The server will notice this and end the sessions itself, with loss of accurate session duration\r\n utlSetLocalStorage(_logger, _storageNamePrefix(), [guid, acq, renewal][_DYN_JOIN /* @min:%2ejoin */](\"|\"));\r\n }\r\n });\r\n }\r\n// Removed Stub for _SessionManager.prototype.update.\r\n// Removed Stub for _SessionManager.prototype.backup.\r\n _SessionManager.acquisitionSpan = 86400000; // 24 hours in ms\r\n _SessionManager.renewalSpan = 1800000; // 30 minutes in ms\r\n _SessionManager.cookieUpdateInterval = 60000; // 1 minute in ms\r\n return _SessionManager;\r\n}());\r\nexport { _SessionManager };\r\n","/*\n * Application Insights JavaScript SDK - Properties Plugin, 2.8.15\n * Copyright (c) Microsoft and contributors. All rights reserved.\n */\n\r\n\r\nimport { dataSanitizeString } from \"@microsoft/applicationinsights-common\";\r\nimport { generateW3CId, getLocation } from \"@microsoft/applicationinsights-core-js\";\r\nvar TelemetryTrace = /** @class */ (function () {\r\n function TelemetryTrace(id, parentId, name, logger) {\r\n var _self = this;\r\n _self.traceID = id || generateW3CId();\r\n _self.parentID = parentId;\r\n var location = getLocation();\r\n if (!name && location && location.pathname) {\r\n name = location.pathname;\r\n }\r\n _self.name = dataSanitizeString(logger, name);\r\n }\r\n return TelemetryTrace;\r\n}());\r\nexport { TelemetryTrace };\r\n","/*\n * Application Insights JavaScript SDK - Properties Plugin, 2.8.15\n * Copyright (c) Microsoft and contributors. All rights reserved.\n */\n\r\n\r\nimport dynamicProto from \"@microsoft/dynamicproto-js\";\r\nimport { utlRemoveStorage } from \"@microsoft/applicationinsights-common\";\r\nimport { _throwInternal, newId, safeGetCookieMgr, safeGetLogger, toISOString } from \"@microsoft/applicationinsights-core-js\";\r\nimport { _DYN_ACCOUNT_ID, _DYN_AUTHENTICATED_ID, _DYN_AUTH_USER_COOKIE_NAM8, _DYN_CONFIG, _DYN_COOKIE_SEPARATOR, _DYN_GET_NEW_ID, _DYN_ID_LENGTH, _DYN_IS_NEW_USER, _DYN_IS_USER_COOKIE_SET, _DYN_JOIN, _DYN_LENGTH, _DYN_NAME_PREFIX, _DYN_UPDATE, _DYN_USER_COOKIE_POSTFIX } from \"../__DynamicConstants\";\r\nfunction _validateUserInput(id) {\r\n // Validate:\r\n // 1. Id is a non-empty string.\r\n // 2. It does not contain special characters for cookies.\r\n if (typeof id !== \"string\" ||\r\n !id ||\r\n id.match(/,|;|=| |\\|/)) {\r\n return false;\r\n }\r\n return true;\r\n}\r\nvar User = /** @class */ (function () {\r\n function User(config, core) {\r\n /**\r\n * A flag indicating whether this represents a new user\r\n */\r\n this.isNewUser = false;\r\n /**\r\n * A flag indicating whether the user cookie has been set\r\n */\r\n this.isUserCookieSet = false;\r\n var _logger = safeGetLogger(core);\r\n var _cookieManager = safeGetCookieMgr(core);\r\n var _storageNamePrefix;\r\n dynamicProto(User, this, function (_self) {\r\n _self[_DYN_CONFIG /* @min:%2econfig */] = config;\r\n var userCookiePostfix = (_self.config[_DYN_USER_COOKIE_POSTFIX /* @min:%2euserCookiePostfix */] && _self[_DYN_CONFIG /* @min:%2econfig */][_DYN_USER_COOKIE_POSTFIX /* @min:%2euserCookiePostfix */]()) ? _self[_DYN_CONFIG /* @min:%2econfig */][_DYN_USER_COOKIE_POSTFIX /* @min:%2euserCookiePostfix */]() : \"\";\r\n _storageNamePrefix = function () { return User.userCookieName + userCookiePostfix; };\r\n // get userId or create new one if none exists\r\n var cookie = _cookieManager.get(_storageNamePrefix());\r\n if (cookie) {\r\n _self[_DYN_IS_NEW_USER /* @min:%2eisNewUser */] = false;\r\n var params = cookie.split(User[_DYN_COOKIE_SEPARATOR /* @min:%2ecookieSeparator */]);\r\n if (params[_DYN_LENGTH /* @min:%2elength */] > 0) {\r\n _self.id = params[0];\r\n // we already have a cookie\r\n _self[_DYN_IS_USER_COOKIE_SET /* @min:%2eisUserCookieSet */] = !!_self.id;\r\n }\r\n }\r\n function _generateNewId() {\r\n var theConfig = (config || {});\r\n var getNewId = (theConfig[_DYN_GET_NEW_ID /* @min:%2egetNewId */] ? theConfig[_DYN_GET_NEW_ID /* @min:%2egetNewId */]() : null) || newId;\r\n var id = getNewId(theConfig[_DYN_ID_LENGTH /* @min:%2eidLength */] ? config[_DYN_ID_LENGTH /* @min:%2eidLength */]() : 22);\r\n return id;\r\n }\r\n function _generateNewCookie(userId) {\r\n var acqStr = toISOString(new Date());\r\n _self.accountAcquisitionDate = acqStr;\r\n _self[_DYN_IS_NEW_USER /* @min:%2eisNewUser */] = true;\r\n var newCookie = [userId, acqStr];\r\n return newCookie;\r\n }\r\n function _setUserCookie(cookie) {\r\n // without expiration, cookies expire at the end of the session\r\n // set it to 365 days from now\r\n // 365 * 24 * 60 * 60 = 31536000\r\n var oneYear = 31536000;\r\n _self[_DYN_IS_USER_COOKIE_SET /* @min:%2eisUserCookieSet */] = _cookieManager.set(_storageNamePrefix(), cookie, oneYear);\r\n }\r\n if (!_self.id) {\r\n _self.id = _generateNewId();\r\n var newCookie = _generateNewCookie(_self.id);\r\n _setUserCookie(newCookie[_DYN_JOIN /* @min:%2ejoin */](User[_DYN_COOKIE_SEPARATOR /* @min:%2ecookieSeparator */]));\r\n // If we have an config.namePrefix() + ai_session in local storage this means the user actively removed our cookies.\r\n // We should respect their wishes and clear ourselves from local storage\r\n var name_1 = config[_DYN_NAME_PREFIX /* @min:%2enamePrefix */] && config[_DYN_NAME_PREFIX /* @min:%2enamePrefix */]() ? config[_DYN_NAME_PREFIX /* @min:%2enamePrefix */]() + \"ai_session\" : \"ai_session\";\r\n utlRemoveStorage(_logger, name_1);\r\n }\r\n // We still take the account id from the ctor param for backward compatibility.\r\n // But if the the customer set the accountId through the newer setAuthenticatedUserContext API, we will override it.\r\n _self[_DYN_ACCOUNT_ID /* @min:%2eaccountId */] = config[_DYN_ACCOUNT_ID /* @min:%2eaccountId */] ? config[_DYN_ACCOUNT_ID /* @min:%2eaccountId */]() : undefined;\r\n // Get the auth user id and account id from the cookie if exists\r\n // Cookie is in the pattern: |\r\n var authCookie = _cookieManager.get(User[_DYN_AUTH_USER_COOKIE_NAM8 /* @min:%2eauthUserCookieName */]);\r\n if (authCookie) {\r\n authCookie = decodeURI(authCookie);\r\n var authCookieString = authCookie.split(User[_DYN_COOKIE_SEPARATOR /* @min:%2ecookieSeparator */]);\r\n if (authCookieString[0]) {\r\n _self[_DYN_AUTHENTICATED_ID /* @min:%2eauthenticatedId */] = authCookieString[0];\r\n }\r\n if (authCookieString[_DYN_LENGTH /* @min:%2elength */] > 1 && authCookieString[1]) {\r\n _self[_DYN_ACCOUNT_ID /* @min:%2eaccountId */] = authCookieString[1];\r\n }\r\n }\r\n _self.setAuthenticatedUserContext = function (authenticatedUserId, accountId, storeInCookie) {\r\n if (storeInCookie === void 0) { storeInCookie = false; }\r\n // Validate inputs to ensure no cookie control characters.\r\n var isInvalidInput = !_validateUserInput(authenticatedUserId) || (accountId && !_validateUserInput(accountId));\r\n if (isInvalidInput) {\r\n _throwInternal(_logger, 2 /* eLoggingSeverity.WARNING */, 60 /* _eInternalMessageId.SetAuthContextFailedAccountName */, \"Setting auth user context failed. \" +\r\n \"User auth/account id should be of type string, and not contain commas, semi-colons, equal signs, spaces, or vertical-bars.\", true);\r\n return;\r\n }\r\n // Create cookie string.\r\n _self[_DYN_AUTHENTICATED_ID /* @min:%2eauthenticatedId */] = authenticatedUserId;\r\n var authCookie = _self[_DYN_AUTHENTICATED_ID /* @min:%2eauthenticatedId */];\r\n if (accountId) {\r\n _self[_DYN_ACCOUNT_ID /* @min:%2eaccountId */] = accountId;\r\n authCookie = [_self[_DYN_AUTHENTICATED_ID /* @min:%2eauthenticatedId */], _self.accountId][_DYN_JOIN /* @min:%2ejoin */](User[_DYN_COOKIE_SEPARATOR /* @min:%2ecookieSeparator */]);\r\n }\r\n if (storeInCookie) {\r\n // Set the cookie. No expiration date because this is a session cookie (expires when browser closed).\r\n // Encoding the cookie to handle unexpected unicode characters.\r\n _cookieManager.set(User[_DYN_AUTH_USER_COOKIE_NAM8 /* @min:%2eauthUserCookieName */], encodeURI(authCookie));\r\n }\r\n };\r\n /**\r\n * Clears the authenticated user id and the account id from the user context.\r\n * @returns {}\r\n */\r\n _self.clearAuthenticatedUserContext = function () {\r\n _self[_DYN_AUTHENTICATED_ID /* @min:%2eauthenticatedId */] = null;\r\n _self[_DYN_ACCOUNT_ID /* @min:%2eaccountId */] = null;\r\n _cookieManager.del(User[_DYN_AUTH_USER_COOKIE_NAM8 /* @min:%2eauthUserCookieName */]);\r\n };\r\n _self[_DYN_UPDATE /* @min:%2eupdate */] = function (userId) {\r\n // Optimizations to avoid setting and processing the cookie when not needed\r\n if (_self.id !== userId || !_self[_DYN_IS_USER_COOKIE_SET /* @min:%2eisUserCookieSet */]) {\r\n var user_id = userId ? userId : _generateNewId();\r\n var user_cookie = _generateNewCookie(user_id);\r\n _setUserCookie(user_cookie[_DYN_JOIN /* @min:%2ejoin */](User[_DYN_COOKIE_SEPARATOR /* @min:%2ecookieSeparator */]));\r\n }\r\n };\r\n });\r\n }\r\n// Removed Stub for User.prototype.setAuthenticatedUserContext.\r\n// Removed Stub for User.prototype.clearAuthenticatedUserContext.\r\n// Removed Stub for User.prototype.update.\r\n User.cookieSeparator = \"|\";\r\n User.userCookieName = \"ai_user\";\r\n User.authUserCookieName = \"ai_authUser\";\r\n return User;\r\n}());\r\nexport { User };\r\n","/*\n * Application Insights JavaScript SDK - Properties Plugin, 2.8.15\n * Copyright (c) Microsoft and contributors. All rights reserved.\n */\n/**\r\n* PropertiesPlugin.ts\r\n* @copyright Microsoft 2018\r\n*/\r\nimport { __extendsFn as __extends } from \"@microsoft/applicationinsights-shims\";\r\nimport dynamicProto from \"@microsoft/dynamicproto-js\";\r\nimport { BreezeChannelIdentifier, PageView, PropertiesPluginIdentifier, createDistributedTraceContextFromTrace, utlSetStoragePrefix } from \"@microsoft/applicationinsights-common\";\r\nimport { BaseTelemetryPlugin, _InternalLogMessage, _logInternalMessage, createProcessTelemetryContext, getNavigator, getSetValue, isNullOrUndefined, objForEachKey } from \"@microsoft/applicationinsights-core-js\";\r\nimport { TelemetryContext } from \"./TelemetryContext\";\r\nimport { _DYN_ACCOUNT_ID, _DYN_APPLY_APPLICATION_CO1, _DYN_APPLY_DEVICE_CONTEXT, _DYN_APPLY_INTERNAL_CONTE5, _DYN_APPLY_LOCATION_CONTE4, _DYN_APPLY_OPERATING_SYST3, _DYN_APPLY_OPERATION_CONT2, _DYN_APPLY_SESSION_CONTEX0, _DYN_APPLY_USER_CONTEXT, _DYN_COOKIE_DOMAIN, _DYN_GET_NEW_ID, _DYN_GET_SESSION_ID, _DYN_GET_TRACE_CTX, _DYN_ID_LENGTH, _DYN_IS_NEW_USER, _DYN_IS_USER_COOKIE_SET, _DYN_NAME_PREFIX, _DYN_SDK_EXTENSION, _DYN_SESSION_COOKIE_POSTF6, _DYN_SESSION_MANAGER, _DYN_TELEMETRY_TRACE, _DYN_UPDATE, _DYN_USER_COOKIE_POSTFIX } from \"./__DynamicConstants\";\r\nvar PropertiesPlugin = /** @class */ (function (_super) {\r\n __extends(PropertiesPlugin, _super);\r\n function PropertiesPlugin() {\r\n var _this = _super.call(this) || this;\r\n _this.priority = 110;\r\n _this.identifier = PropertiesPluginIdentifier;\r\n var _extensionConfig;\r\n var _distributedTraceCtx;\r\n var _previousTraceCtx;\r\n dynamicProto(PropertiesPlugin, _this, function (_self, _base) {\r\n _initDefaults();\r\n _self.initialize = function (config, core, extensions, pluginChain) {\r\n _base.initialize(config, core, extensions, pluginChain);\r\n _populateDefaults(config);\r\n };\r\n /**\r\n * Add Part A fields to the event\r\n * @param event The event that needs to be processed\r\n */\r\n _self.processTelemetry = function (event, itemCtx) {\r\n if (isNullOrUndefined(event)) {\r\n // TODO(barustum): throw an internal event once we have support for internal logging\r\n }\r\n else {\r\n itemCtx = _self._getTelCtx(itemCtx);\r\n // If the envelope is PageView, reset the internal message count so that we can send internal telemetry for the new page.\r\n if (event.name === PageView.envelopeType) {\r\n itemCtx.diagLog().resetInternalMessageCount();\r\n }\r\n var theContext = (_self.context || {});\r\n if (theContext.session) {\r\n // If customer did not provide custom session id update the session manager\r\n if (typeof _self.context.session.id !== \"string\" && theContext[_DYN_SESSION_MANAGER /* @min:%2esessionManager */]) {\r\n theContext[_DYN_SESSION_MANAGER /* @min:%2esessionManager */][_DYN_UPDATE /* @min:%2eupdate */]();\r\n }\r\n }\r\n var userCtx = theContext.user;\r\n if (userCtx && !userCtx[_DYN_IS_USER_COOKIE_SET /* @min:%2eisUserCookieSet */]) {\r\n userCtx[_DYN_UPDATE /* @min:%2eupdate */](theContext.user.id);\r\n }\r\n _processTelemetryInternal(event, itemCtx);\r\n if (userCtx && userCtx[_DYN_IS_NEW_USER /* @min:%2eisNewUser */]) {\r\n userCtx[_DYN_IS_NEW_USER /* @min:%2eisNewUser */] = false;\r\n var message = new _InternalLogMessage(72 /* _eInternalMessageId.SendBrowserInfoOnUserInit */, ((getNavigator() || {}).userAgent || \"\"));\r\n _logInternalMessage(itemCtx.diagLog(), 1 /* eLoggingSeverity.CRITICAL */, message);\r\n }\r\n _self.processNext(event, itemCtx);\r\n }\r\n };\r\n _self._doTeardown = function (unloadCtx, unloadState) {\r\n var core = (unloadCtx || {}).core();\r\n if (core && core[_DYN_GET_TRACE_CTX /* @min:%2egetTraceCtx */]) {\r\n var traceCtx = core[_DYN_GET_TRACE_CTX /* @min:%2egetTraceCtx */](false);\r\n if (traceCtx === _distributedTraceCtx) {\r\n core.setTraceCtx(_previousTraceCtx);\r\n }\r\n }\r\n _initDefaults();\r\n };\r\n function _initDefaults() {\r\n _extensionConfig = null;\r\n _distributedTraceCtx = null;\r\n _previousTraceCtx = null;\r\n }\r\n function _populateDefaults(config) {\r\n var identifier = _self.identifier;\r\n var core = _self.core;\r\n var ctx = createProcessTelemetryContext(null, config, core);\r\n var defaultConfig = PropertiesPlugin.getDefaultConfig();\r\n _extensionConfig = _extensionConfig || {};\r\n objForEachKey(defaultConfig, function (field, value) {\r\n _extensionConfig[field] = function () { return ctx.getConfig(identifier, field, value()); };\r\n });\r\n if (config.storagePrefix) {\r\n utlSetStoragePrefix(config.storagePrefix);\r\n }\r\n _previousTraceCtx = core[_DYN_GET_TRACE_CTX /* @min:%2egetTraceCtx */](false);\r\n _self.context = new TelemetryContext(core, _extensionConfig, _previousTraceCtx);\r\n _distributedTraceCtx = createDistributedTraceContextFromTrace(_self.context[_DYN_TELEMETRY_TRACE /* @min:%2etelemetryTrace */], _previousTraceCtx);\r\n core.setTraceCtx(_distributedTraceCtx);\r\n _self.context.appId = function () {\r\n var breezeChannel = core.getPlugin(BreezeChannelIdentifier);\r\n return breezeChannel ? breezeChannel.plugin[\"_appId\"] : null;\r\n };\r\n // Test hook to allow accessing the internal values -- explicitly not defined as an available property on the class\r\n _self[\"_extConfig\"] = _extensionConfig;\r\n }\r\n function _processTelemetryInternal(evt, itemCtx) {\r\n // Set Part A fields\r\n getSetValue(evt, \"tags\", []);\r\n getSetValue(evt, \"ext\", {});\r\n var ctx = _self.context;\r\n ctx[_DYN_APPLY_SESSION_CONTEX0 /* @min:%2eapplySessionContext */](evt, itemCtx);\r\n ctx[_DYN_APPLY_APPLICATION_CO1 /* @min:%2eapplyApplicationContext */](evt, itemCtx);\r\n ctx[_DYN_APPLY_DEVICE_CONTEXT /* @min:%2eapplyDeviceContext */](evt, itemCtx);\r\n ctx[_DYN_APPLY_OPERATION_CONT2 /* @min:%2eapplyOperationContext */](evt, itemCtx);\r\n ctx[_DYN_APPLY_USER_CONTEXT /* @min:%2eapplyUserContext */](evt, itemCtx);\r\n ctx[_DYN_APPLY_OPERATING_SYST3 /* @min:%2eapplyOperatingSystemContxt */](evt, itemCtx);\r\n ctx.applyWebContext(evt, itemCtx);\r\n ctx[_DYN_APPLY_LOCATION_CONTE4 /* @min:%2eapplyLocationContext */](evt, itemCtx); // legacy tags\r\n ctx[_DYN_APPLY_INTERNAL_CONTE5 /* @min:%2eapplyInternalContext */](evt, itemCtx); // legacy tags\r\n ctx.cleanUp(evt, itemCtx);\r\n }\r\n });\r\n return _this;\r\n }\r\n PropertiesPlugin.getDefaultConfig = function () {\r\n var _a;\r\n var defaultValue;\r\n var nullValue = null;\r\n var defaultConfig = (_a = {\r\n instrumentationKey: function () { return defaultValue; }\r\n },\r\n _a[_DYN_ACCOUNT_ID /* @min:accountId */] = function () { return nullValue; },\r\n _a.sessionRenewalMs = function () { return 30 * 60 * 1000; },\r\n _a.samplingPercentage = function () { return 100; },\r\n _a.sessionExpirationMs = function () { return 24 * 60 * 60 * 1000; },\r\n _a[_DYN_COOKIE_DOMAIN /* @min:cookieDomain */] = function () { return nullValue; },\r\n _a[_DYN_SDK_EXTENSION /* @min:sdkExtension */] = function () { return nullValue; },\r\n _a.isBrowserLinkTrackingEnabled = function () { return false; },\r\n _a.appId = function () { return nullValue; },\r\n _a[_DYN_GET_SESSION_ID /* @min:getSessionId */] = function () { return nullValue; },\r\n _a[_DYN_NAME_PREFIX /* @min:namePrefix */] = function () { return defaultValue; },\r\n _a[_DYN_SESSION_COOKIE_POSTF6 /* @min:sessionCookiePostfix */] = function () { return defaultValue; },\r\n _a[_DYN_USER_COOKIE_POSTFIX /* @min:userCookiePostfix */] = function () { return defaultValue; },\r\n _a[_DYN_ID_LENGTH /* @min:idLength */] = function () { return 22; },\r\n _a[_DYN_GET_NEW_ID /* @min:getNewId */] = function () { return nullValue; },\r\n _a);\r\n return defaultConfig;\r\n };\r\n// Removed Stub for PropertiesPlugin.prototype.initialize.\r\n// Removed Stub for PropertiesPlugin.prototype.processTelemetry.\r\n return PropertiesPlugin;\r\n}(BaseTelemetryPlugin));\r\nexport default PropertiesPlugin;\r\n","/*\n * Application Insights JavaScript SDK - Properties Plugin, 2.8.15\n * Copyright (c) Microsoft and contributors. All rights reserved.\n */\n/**\r\n* TelemetryContext.ts\r\n* @copyright Microsoft 2018\r\n*/\r\nimport dynamicProto from \"@microsoft/dynamicproto-js\";\r\nimport { CtxTagKeys, Extensions, PageView, dataSanitizeString } from \"@microsoft/applicationinsights-common\";\r\nimport { _InternalLogMessage, getSetValue, hasWindow, isNullOrUndefined, isString, objKeys, setValue } from \"@microsoft/applicationinsights-core-js\";\r\nimport { Application } from \"./Context/Application\";\r\nimport { Device } from \"./Context/Device\";\r\nimport { Internal } from \"./Context/Internal\";\r\nimport { Location } from \"./Context/Location\";\r\nimport { Session, _SessionManager } from \"./Context/Session\";\r\nimport { TelemetryTrace } from \"./Context/TelemetryTrace\";\r\nimport { User } from \"./Context/User\";\r\nimport { _DYN_ACCOUNT_ID, _DYN_APPLY_APPLICATION_CO1, _DYN_APPLY_DEVICE_CONTEXT, _DYN_APPLY_INTERNAL_CONTE5, _DYN_APPLY_LOCATION_CONTE4, _DYN_APPLY_OPERATING_SYST3, _DYN_APPLY_OPERATION_CONT2, _DYN_APPLY_SESSION_CONTEX0, _DYN_APPLY_USER_CONTEXT, _DYN_AUTHENTICATED_ID, _DYN_AUTOMATIC_SESSION, _DYN_GET_SESSION_ID, _DYN_LENGTH, _DYN_SESSION_MANAGER, _DYN_TELEMETRY_TRACE } from \"./__DynamicConstants\";\r\nvar strExt = \"ext\";\r\nvar strTags = \"tags\";\r\nfunction _removeEmpty(target, name) {\r\n if (target && target[name] && objKeys(target[name])[_DYN_LENGTH /* @min:%2elength */] === 0) {\r\n delete target[name];\r\n }\r\n}\r\nvar TelemetryContext = /** @class */ (function () {\r\n function TelemetryContext(core, defaultConfig, previousTraceCtx) {\r\n var _this = this;\r\n var logger = core.logger;\r\n this.appId = function () { return null; };\r\n this[_DYN_GET_SESSION_ID /* @min:%2egetSessionId */] = function () { return null; };\r\n dynamicProto(TelemetryContext, this, function (_self) {\r\n _self.application = new Application();\r\n _self.internal = new Internal(defaultConfig);\r\n if (hasWindow()) {\r\n _self[_DYN_SESSION_MANAGER /* @min:%2esessionManager */] = new _SessionManager(defaultConfig, core);\r\n _self.device = new Device();\r\n _self.location = new Location();\r\n _self.user = new User(defaultConfig, core);\r\n var traceId = void 0;\r\n var parentId = void 0;\r\n var name_1;\r\n if (previousTraceCtx) {\r\n traceId = previousTraceCtx.getTraceId();\r\n parentId = previousTraceCtx.getSpanId();\r\n name_1 = previousTraceCtx.getName();\r\n }\r\n _self[_DYN_TELEMETRY_TRACE /* @min:%2etelemetryTrace */] = new TelemetryTrace(traceId, parentId, name_1, logger);\r\n _self.session = new Session();\r\n }\r\n _self[_DYN_GET_SESSION_ID /* @min:%2egetSessionId */] = function () {\r\n var session = _self.session;\r\n var sesId = null;\r\n // If customer set session info, apply their context; otherwise apply context automatically generated\r\n if (session && isString(session.id)) {\r\n sesId = session.id;\r\n }\r\n else {\r\n // Gets the automatic session if it exists or an empty object\r\n var autoSession = (_self[_DYN_SESSION_MANAGER /* @min:%2esessionManager */] || {})[_DYN_AUTOMATIC_SESSION /* @min:%2eautomaticSession */];\r\n sesId = autoSession && isString(autoSession.id) ? autoSession.id : null;\r\n }\r\n return sesId;\r\n };\r\n _self[_DYN_APPLY_SESSION_CONTEX0 /* @min:%2eapplySessionContext */] = function (evt, itemCtx) {\r\n setValue(getSetValue(evt.ext, Extensions.AppExt), \"sesId\", _self[_DYN_GET_SESSION_ID /* @min:%2egetSessionId */](), isString);\r\n };\r\n _self[_DYN_APPLY_OPERATING_SYST3 /* @min:%2eapplyOperatingSystemContxt */] = function (evt, itemCtx) {\r\n setValue(evt.ext, Extensions.OSExt, _self.os);\r\n };\r\n _self[_DYN_APPLY_APPLICATION_CO1 /* @min:%2eapplyApplicationContext */] = function (evt, itemCtx) {\r\n var application = _self.application;\r\n if (application) {\r\n // evt.ext.app\r\n var tags = getSetValue(evt, strTags);\r\n setValue(tags, CtxTagKeys.applicationVersion, application.ver, isString);\r\n setValue(tags, CtxTagKeys.applicationBuild, application.build, isString);\r\n }\r\n };\r\n _self[_DYN_APPLY_DEVICE_CONTEXT /* @min:%2eapplyDeviceContext */] = function (evt, itemCtx) {\r\n var device = _self.device;\r\n if (device) {\r\n // evt.ext.device\r\n var extDevice = getSetValue(getSetValue(evt, strExt), Extensions.DeviceExt);\r\n setValue(extDevice, \"localId\", device.id, isString);\r\n setValue(extDevice, \"ip\", device.ip, isString);\r\n setValue(extDevice, \"model\", device.model, isString);\r\n setValue(extDevice, \"deviceClass\", device.deviceClass, isString);\r\n }\r\n };\r\n _self[_DYN_APPLY_INTERNAL_CONTE5 /* @min:%2eapplyInternalContext */] = function (evt, itemCtx) {\r\n var internal = _self.internal;\r\n if (internal) {\r\n var tags = getSetValue(evt, strTags);\r\n setValue(tags, CtxTagKeys.internalAgentVersion, internal.agentVersion, isString); // not mapped in CS 4.0\r\n setValue(tags, CtxTagKeys.internalSdkVersion, dataSanitizeString(logger, internal.sdkVersion, 64), isString);\r\n if (evt.baseType === _InternalLogMessage.dataType || evt.baseType === PageView.dataType) {\r\n setValue(tags, CtxTagKeys.internalSnippet, internal.snippetVer, isString);\r\n setValue(tags, CtxTagKeys.internalSdkSrc, internal.sdkSrc, isString);\r\n }\r\n }\r\n };\r\n _self[_DYN_APPLY_LOCATION_CONTE4 /* @min:%2eapplyLocationContext */] = function (evt, itemCtx) {\r\n var location = _this.location;\r\n if (location) {\r\n setValue(getSetValue(evt, strTags, []), CtxTagKeys.locationIp, location.ip, isString);\r\n }\r\n };\r\n _self[_DYN_APPLY_OPERATION_CONT2 /* @min:%2eapplyOperationContext */] = function (evt, itemCtx) {\r\n var telemetryTrace = _self[_DYN_TELEMETRY_TRACE /* @min:%2etelemetryTrace */];\r\n if (telemetryTrace) {\r\n var extTrace = getSetValue(getSetValue(evt, strExt), Extensions.TraceExt, { traceID: undefined, parentID: undefined });\r\n setValue(extTrace, \"traceID\", telemetryTrace.traceID, isString, isNullOrUndefined);\r\n setValue(extTrace, \"name\", telemetryTrace.name, isString, isNullOrUndefined);\r\n setValue(extTrace, \"parentID\", telemetryTrace.parentID, isString, isNullOrUndefined);\r\n }\r\n };\r\n _self.applyWebContext = function (evt, itemCtx) {\r\n var web = _this.web;\r\n if (web) {\r\n setValue(getSetValue(evt, strExt), Extensions.WebExt, web);\r\n }\r\n };\r\n _self[_DYN_APPLY_USER_CONTEXT /* @min:%2eapplyUserContext */] = function (evt, itemCtx) {\r\n var user = _self.user;\r\n if (user) {\r\n var tags = getSetValue(evt, strTags, []);\r\n // stays in tags\r\n setValue(tags, CtxTagKeys.userAccountId, user[_DYN_ACCOUNT_ID /* @min:%2eaccountId */], isString);\r\n // CS 4.0\r\n var extUser = getSetValue(getSetValue(evt, strExt), Extensions.UserExt);\r\n setValue(extUser, \"id\", user.id, isString);\r\n setValue(extUser, \"authId\", user[_DYN_AUTHENTICATED_ID /* @min:%2eauthenticatedId */], isString);\r\n }\r\n };\r\n _self.cleanUp = function (evt, itemCtx) {\r\n var ext = evt.ext;\r\n if (ext) {\r\n _removeEmpty(ext, Extensions.DeviceExt);\r\n _removeEmpty(ext, Extensions.UserExt);\r\n _removeEmpty(ext, Extensions.WebExt);\r\n _removeEmpty(ext, Extensions.OSExt);\r\n _removeEmpty(ext, Extensions.AppExt);\r\n _removeEmpty(ext, Extensions.TraceExt);\r\n }\r\n };\r\n });\r\n }\r\n// Removed Stub for TelemetryContext.prototype.applySessionContext.\r\n// Removed Stub for TelemetryContext.prototype.applyOperatingSystemContxt.\r\n// Removed Stub for TelemetryContext.prototype.applyApplicationContext.\r\n// Removed Stub for TelemetryContext.prototype.applyDeviceContext.\r\n// Removed Stub for TelemetryContext.prototype.applyInternalContext.\r\n// Removed Stub for TelemetryContext.prototype.applyLocationContext.\r\n// Removed Stub for TelemetryContext.prototype.applyOperationContext.\r\n// Removed Stub for TelemetryContext.prototype.applyWebContext.\r\n// Removed Stub for TelemetryContext.prototype.applyUserContext.\r\n// Removed Stub for TelemetryContext.prototype.cleanUp.\r\n // This is a workaround for an IE8 bug when using dynamicProto() with classes that don't have any\n // non-dynamic functions or static properties/functions when using uglify-js to minify the resulting code.\n // this will be removed when ES3 support is dropped.\n TelemetryContext.__ieDyn=1;\n\n return TelemetryContext;\r\n}());\r\nexport { TelemetryContext };\r\n","/*\n * Application Insights JavaScript SDK - Properties Plugin, 2.8.15\n * Copyright (c) Microsoft and contributors. All rights reserved.\n */\n\r\n\r\n// @skip-file-minify\r\n// ##############################################################\r\n// AUTO GENERATED FILE: This file is Auto Generated during build.\r\n// ##############################################################\r\n// !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!\r\n// Note: DON'T Export these const from the package as we are still targeting ES3 this will export a mutable variables that someone could change!!!\r\n// !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!\r\nexport var _DYN_SESSION_MANAGER = \"sessionManager\"; // Count: 3\r\nexport var _DYN_UPDATE = \"update\"; // Count: 4\r\nexport var _DYN_IS_USER_COOKIE_SET = \"isUserCookieSet\"; // Count: 4\r\nexport var _DYN_IS_NEW_USER = \"isNewUser\"; // Count: 4\r\nexport var _DYN_GET_TRACE_CTX = \"getTraceCtx\"; // Count: 3\r\nexport var _DYN_TELEMETRY_TRACE = \"telemetryTrace\"; // Count: 3\r\nexport var _DYN_APPLY_SESSION_CONTEX0 = \"applySessionContext\"; // Count: 2\r\nexport var _DYN_APPLY_APPLICATION_CO1 = \"applyApplicationContext\"; // Count: 2\r\nexport var _DYN_APPLY_DEVICE_CONTEXT = \"applyDeviceContext\"; // Count: 2\r\nexport var _DYN_APPLY_OPERATION_CONT2 = \"applyOperationContext\"; // Count: 2\r\nexport var _DYN_APPLY_USER_CONTEXT = \"applyUserContext\"; // Count: 2\r\nexport var _DYN_APPLY_OPERATING_SYST3 = \"applyOperatingSystemContxt\"; // Count: 2\r\nexport var _DYN_APPLY_LOCATION_CONTE4 = \"applyLocationContext\"; // Count: 2\r\nexport var _DYN_APPLY_INTERNAL_CONTE5 = \"applyInternalContext\"; // Count: 2\r\nexport var _DYN_ACCOUNT_ID = \"accountId\"; // Count: 8\r\nexport var _DYN_SDK_EXTENSION = \"sdkExtension\"; // Count: 4\r\nexport var _DYN_GET_SESSION_ID = \"getSessionId\"; // Count: 4\r\nexport var _DYN_NAME_PREFIX = \"namePrefix\"; // Count: 7\r\nexport var _DYN_SESSION_COOKIE_POSTF6 = \"sessionCookiePostfix\"; // Count: 4\r\nexport var _DYN_USER_COOKIE_POSTFIX = \"userCookiePostfix\"; // Count: 4\r\nexport var _DYN_ID_LENGTH = \"idLength\"; // Count: 5\r\nexport var _DYN_GET_NEW_ID = \"getNewId\"; // Count: 6\r\nexport var _DYN_LENGTH = \"length\"; // Count: 4\r\nexport var _DYN_AUTOMATIC_SESSION = \"automaticSession\"; // Count: 5\r\nexport var _DYN_AUTHENTICATED_ID = \"authenticatedId\"; // Count: 6\r\nexport var _DYN_SESSION_EXPIRATION_M7 = \"sessionExpirationMs\"; // Count: 5\r\nexport var _DYN_SESSION_RENEWAL_MS = \"sessionRenewalMs\"; // Count: 4\r\nexport var _DYN_CONFIG = \"config\"; // Count: 4\r\nexport var _DYN_ACQUISITION_DATE = \"acquisitionDate\"; // Count: 5\r\nexport var _DYN_RENEWAL_DATE = \"renewalDate\"; // Count: 4\r\nexport var _DYN_COOKIE_DOMAIN = \"cookieDomain\"; // Count: 3\r\nexport var _DYN_JOIN = \"join\"; // Count: 5\r\nexport var _DYN_COOKIE_SEPARATOR = \"cookieSeparator\"; // Count: 5\r\nexport var _DYN_AUTH_USER_COOKIE_NAM8 = \"authUserCookieName\"; // Count: 3\r\n","// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT License.\r\nexport var strShimFunction = \"function\";\r\nexport var strShimObject = \"object\";\r\nexport var strShimUndefined = \"undefined\";\r\nexport var strShimPrototype = \"prototype\";\r\nexport var strShimHasOwnProperty = \"hasOwnProperty\";\r\nexport var strDefault = \"default\";\r\nexport var ObjClass = Object;\r\nexport var ObjProto = ObjClass[strShimPrototype];\r\nexport var ObjAssign = ObjClass[\"assign\"];\r\nexport var ObjCreate = ObjClass[\"create\"];\r\nexport var ObjDefineProperty = ObjClass[\"defineProperty\"];\r\nexport var ObjHasOwnProperty = ObjProto[strShimHasOwnProperty];\r\n","// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT License.\r\nimport { ObjCreate, strShimFunction, strShimObject, strShimPrototype, strShimUndefined } from \"./Constants\";\r\nvar _cachedGlobal = null;\r\n/**\r\n * Returns the current global scope object, for a normal web page this will be the current\r\n * window, for a Web Worker this will be current worker global scope via \"self\". The internal\r\n * implementation returns the first available instance object in the following order\r\n * - globalThis (New standard)\r\n * - self (Will return the current window instance for supported browsers)\r\n * - window (fallback for older browser implementations)\r\n * - global (NodeJS standard)\r\n * - (When all else fails)\r\n * While the return type is a Window for the normal case, not all environments will support all\r\n * of the properties or functions.\r\n */\r\nexport function getGlobal(useCached) {\r\n if (useCached === void 0) { useCached = true; }\r\n var result = useCached === false ? null : _cachedGlobal;\r\n if (!result) {\r\n if (typeof globalThis !== strShimUndefined) {\r\n result = globalThis;\r\n }\r\n if (!result && typeof self !== strShimUndefined) {\r\n result = self;\r\n }\r\n if (!result && typeof window !== strShimUndefined) {\r\n result = window;\r\n }\r\n if (!result && typeof global !== strShimUndefined) {\r\n result = global;\r\n }\r\n _cachedGlobal = result;\r\n }\r\n return result;\r\n}\r\nexport function throwTypeError(message) {\r\n throw new TypeError(message);\r\n}\r\n/**\r\n * Creates an object that has the specified prototype, and that optionally contains specified properties. This helper exists to avoid adding a polyfil\r\n * for older browsers that do not define Object.create eg. ES3 only, IE8 just in case any page checks for presence/absence of the prototype implementation.\r\n * Note: For consistency this will not use the Object.create implementation if it exists as this would cause a testing requirement to test with and without the implementations\r\n * @param obj Object to use as a prototype. May be null\r\n */\r\nexport function objCreateFn(obj) {\r\n var func = ObjCreate;\r\n // Use build in Object.create\r\n if (func) {\r\n // Use Object create method if it exists\r\n return func(obj);\r\n }\r\n if (obj == null) {\r\n return {};\r\n }\r\n var type = typeof obj;\r\n if (type !== strShimObject && type !== strShimFunction) {\r\n throwTypeError(\"Object prototype may only be an Object:\" + obj);\r\n }\r\n function tmpFunc() { }\r\n tmpFunc[strShimPrototype] = obj;\r\n return new tmpFunc();\r\n}\r\n","// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT License.\r\nimport { ObjAssign, ObjClass, ObjCreate, ObjDefineProperty, ObjHasOwnProperty, ObjProto, strDefault, strShimFunction, strShimHasOwnProperty, strShimPrototype } from \"./Constants\";\r\nimport { getGlobal, objCreateFn, throwTypeError } from \"./Helpers\";\r\n// Most of these functions have been directly shamelessly \"lifted\" from the https://github.com/@microsoft/tslib and\r\n// modified to be ES3 compatible and applying several minification and tree-shaking techniques so that Application Insights\r\n// can successfully use TypeScript \"importHelpers\" which imports tslib during compilation but it will use these at runtime\r\n// Which is also why all of the functions have not been included as Application Insights currently doesn't use or require\r\n// them.\r\nexport var SymbolObj = (getGlobal() || {})[\"Symbol\"];\r\nexport var ReflectObj = (getGlobal() || {})[\"Reflect\"];\r\nexport var __hasSymbol = !!SymbolObj;\r\nexport var __hasReflect = !!ReflectObj;\r\nvar strDecorate = \"decorate\";\r\nvar strMetadata = \"metadata\";\r\nvar strGetOwnPropertySymbols = \"getOwnPropertySymbols\";\r\nvar strIterator = \"iterator\";\r\nexport var __objAssignFnImpl = function (t) {\r\n // tslint:disable-next-line: ban-comma-operator\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) {\r\n if (ObjProto[strShimHasOwnProperty].call(s, p)) {\r\n t[p] = s[p];\r\n }\r\n }\r\n }\r\n return t;\r\n};\r\nexport var __assignFn = ObjAssign || __objAssignFnImpl;\r\n// tslint:disable-next-line: only-arrow-functions\r\nvar extendStaticsFn = function (d, b) {\r\n extendStaticsFn = ObjClass[\"setPrototypeOf\"] ||\r\n // tslint:disable-next-line: only-arrow-functions\r\n ({ __proto__: [] } instanceof Array && function (d, b) {\r\n d.__proto__ = b;\r\n }) ||\r\n // tslint:disable-next-line: only-arrow-functions\r\n function (d, b) {\r\n for (var p in b) {\r\n if (b[strShimHasOwnProperty](p)) {\r\n d[p] = b[p];\r\n }\r\n }\r\n };\r\n return extendStaticsFn(d, b);\r\n};\r\nexport function __extendsFn(d, b) {\r\n if (typeof b !== strShimFunction && b !== null) {\r\n throwTypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n }\r\n extendStaticsFn(d, b);\r\n function __() {\r\n this.constructor = d;\r\n }\r\n // tslint:disable-next-line: ban-comma-operator\r\n d[strShimPrototype] = b === null ? objCreateFn(b) : (__[strShimPrototype] = b[strShimPrototype], new __());\r\n}\r\nexport function __restFn(s, e) {\r\n var t = {};\r\n for (var k in s) {\r\n if (ObjHasOwnProperty.call(s, k) && e.indexOf(k) < 0) {\r\n t[k] = s[k];\r\n }\r\n }\r\n if (s != null && typeof ObjClass[strGetOwnPropertySymbols] === strShimFunction) {\r\n for (var i = 0, p = ObjClass[strGetOwnPropertySymbols](s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && ObjProto[\"propertyIsEnumerable\"].call(s, p[i])) {\r\n t[p[i]] = s[p[i]];\r\n }\r\n }\r\n }\r\n return t;\r\n}\r\nexport function __decorateFn(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = ObjClass[\"getOwnPropertyDescriptor\"](target, key) : desc, d;\r\n if (__hasReflect && typeof ReflectObj[strDecorate] === strShimFunction) {\r\n r = ReflectObj[strDecorate](decorators, target, key, desc);\r\n }\r\n else {\r\n for (var i = decorators.length - 1; i >= 0; i--) {\r\n // eslint-disable-next-line no-cond-assign\r\n if (d = decorators[i]) {\r\n r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n }\r\n }\r\n }\r\n // tslint:disable-next-line:ban-comma-operator\r\n return c > 3 && r && ObjDefineProperty(target, key, r), r;\r\n}\r\nexport function __paramFn(paramIndex, decorator) {\r\n return function (target, key) {\r\n decorator(target, key, paramIndex);\r\n };\r\n}\r\nexport function __metadataFn(metadataKey, metadataValue) {\r\n if (__hasReflect && ReflectObj[strMetadata] === strShimFunction) {\r\n return ReflectObj[strMetadata](metadataKey, metadataValue);\r\n }\r\n}\r\nexport function __exportStarFn(m, o) {\r\n for (var p in m) {\r\n if (p !== strDefault && !ObjHasOwnProperty.call(o, p)) {\r\n __createBindingFn(o, m, p);\r\n }\r\n }\r\n}\r\nexport function __createBindingFn(o, m, k, k2) {\r\n if (k2 === undefined) {\r\n k2 = k;\r\n }\r\n if (!!ObjCreate) {\r\n ObjDefineProperty(o, k2, {\r\n enumerable: true,\r\n get: function () {\r\n return m[k];\r\n }\r\n });\r\n }\r\n else {\r\n o[k2] = m[k];\r\n }\r\n}\r\nexport function __valuesFn(o) {\r\n var s = typeof SymbolObj === strShimFunction && SymbolObj[strIterator], m = s && o[s], i = 0;\r\n if (m) {\r\n return m.call(o);\r\n }\r\n if (o && typeof o.length === \"number\") {\r\n return {\r\n next: function () {\r\n if (o && i >= o.length) {\r\n o = void 0;\r\n }\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n }\r\n throwTypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\nexport function __readFn(o, n) {\r\n var m = typeof SymbolObj === strShimFunction && o[SymbolObj[strIterator]];\r\n if (!m) {\r\n return o;\r\n }\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) {\r\n ar.push(r.value);\r\n }\r\n }\r\n catch (error) {\r\n e = {\r\n error: error\r\n };\r\n }\r\n finally {\r\n try {\r\n // tslint:disable-next-line:no-conditional-assignment\r\n if (r && !r.done && (m = i[\"return\"])) {\r\n m.call(i);\r\n }\r\n }\r\n finally {\r\n if (e) {\r\n // eslint-disable-next-line no-unsafe-finally\r\n throw e.error;\r\n }\r\n }\r\n }\r\n return ar;\r\n}\r\n/** @deprecated */\r\nexport function __spreadArraysFn() {\r\n var theArgs = arguments;\r\n // Calculate new total size\r\n for (var s = 0, i = 0, il = theArgs.length; i < il; i++) {\r\n s += theArgs[i].length;\r\n }\r\n // Create new full array\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++) {\r\n for (var a = theArgs[i], j = 0, jl = a.length; j < jl; j++, k++) {\r\n r[k] = a[j];\r\n }\r\n }\r\n return r;\r\n}\r\nexport function __spreadArrayFn(to, from) {\r\n for (var i = 0, il = from.length, j = to.length; i < il; i++, j++) {\r\n to[j] = from[i];\r\n }\r\n return to;\r\n}\r\nexport function __makeTemplateObjectFn(cooked, raw) {\r\n if (ObjDefineProperty) {\r\n ObjDefineProperty(cooked, \"raw\", { value: raw });\r\n }\r\n else {\r\n cooked.raw = raw;\r\n }\r\n return cooked;\r\n}\r\nexport function __importStarFn(mod) {\r\n if (mod && mod.__esModule) {\r\n return mod;\r\n }\r\n var result = {};\r\n if (mod != null) {\r\n for (var k in mod) {\r\n if (k !== strDefault && Object.prototype.hasOwnProperty.call(mod, k)) {\r\n __createBindingFn(result, mod, k);\r\n }\r\n }\r\n }\r\n // Set default module\r\n if (!!ObjCreate) {\r\n ObjDefineProperty(result, strDefault, { enumerable: true, value: mod });\r\n }\r\n else {\r\n result[strDefault] = mod;\r\n }\r\n return result;\r\n}\r\nexport function __importDefaultFn(mod) {\r\n return (mod && mod.__esModule) ? mod : { strDefault: mod };\r\n}\r\n","/*\n * Application Insights JavaScript SDK - Web, 2.8.15\n * Copyright (c) Microsoft and contributors. All rights reserved.\n */\n\r\n\r\n\"use strict\";\r\nimport dynamicProto from \"@microsoft/dynamicproto-js\";\r\nimport { AnalyticsPlugin } from \"@microsoft/applicationinsights-analytics-js\";\r\nimport { Sender } from \"@microsoft/applicationinsights-channel-js\";\r\nimport { AnalyticsPluginIdentifier, BreezeChannelIdentifier, ConfigurationManager, ConnectionStringParser, ContextTagKeys, CorrelationIdHelper, CtxTagKeys, DEFAULT_BREEZE_ENDPOINT, DEFAULT_BREEZE_PATH, Data, DataSanitizer, DateTimeUtils, DisabledPropertyName, DistributedTracingModes, Envelope, Event, Exception, Extensions, HttpMethod, Metric, PageView, PageViewPerformance, ProcessLegacy, PropertiesPluginIdentifier, RemoteDependencyData, RequestHeaders, SampleRate, SeverityLevel, TelemetryItemCreator, Trace, UrlHelper, Util, parseConnectionString } from \"@microsoft/applicationinsights-common\";\r\nimport { AppInsightsCore, _throwInternal, addPageHideEventListener, addPageUnloadEventListener, arrForEach, arrIndexOf, createUniqueNamespace, doPerf, hasDocument, hasWindow, isArray, isFunction, isNullOrUndefined, isReactNative, isString, mergeEvtNamespace, objForEachKey, proxyAssign, proxyFunctions, removePageHideEventListener, removePageUnloadEventListener, throwError } from \"@microsoft/applicationinsights-core-js\";\r\nimport { AjaxPlugin as DependenciesPlugin } from \"@microsoft/applicationinsights-dependencies-js\";\r\nimport { PropertiesPlugin } from \"@microsoft/applicationinsights-properties-js\";\r\nimport { STR_ADD_TELEMETRY_INITIALIZER, STR_CLEAR_AUTHENTICATED_USER_CONTEXT, STR_EVT_NAMESPACE, STR_FLUSH, STR_GET_COOKIE_MGR, STR_GET_PLUGIN, STR_POLL_INTERNAL_LOGS, STR_SET_AUTHENTICATED_USER_CONTEXT, STR_SNIPPET, STR_START_TRACK_EVENT, STR_START_TRACK_PAGE, STR_STOP_TRACK_EVENT, STR_STOP_TRACK_PAGE, STR_TRACK_DEPENDENCY_DATA, STR_TRACK_EVENT, STR_TRACK_EXCEPTION, STR_TRACK_METRIC, STR_TRACK_PAGE_VIEW, STR_TRACK_TRACE } from \"./InternalConstants\";\r\nimport { _DYN_ADD_HOUSEKEEPING_BEF20, _DYN_APP_INSIGHTS, _DYN_CONFIG, _DYN_CONNECTION_STRING, _DYN_CONTEXT, _DYN_DIAGNOSTIC_LOG_INTER4, _DYN_DISABLE_FLUSH_ON_BEF11, _DYN_DISABLE_FLUSH_ON_UNL12, _DYN_DISABLE_IKEY_DEPRECA18, _DYN_ENDPOINT_URL, _DYN_GET_TRANSMISSION_CON19, _DYN_INDEX_OF, _DYN_INSTRUMENTATION_KEY, _DYN_LOAD_APP_INSIGHTS, _DYN_ONUNLOAD_FLUSH, _DYN_PUSH, _DYN_QUEUE, _DYN_UPDATE_SNIPPET_DEFIN0, _DYN_VERSION } from \"./__DynamicConstants\";\r\nvar _internalSdkSrc;\r\n// This is an exclude list of properties that should not be updated during initialization\r\n// They include a combination of private and internal property names\r\nvar _ignoreUpdateSnippetProperties = [\r\n STR_SNIPPET, \"dependencies\", \"properties\", \"_snippetVersion\", \"appInsightsNew\", \"getSKUDefaults\"\r\n];\r\n// Re-exposing the Common classes as Telemetry, the list was taken by reviewing the generated code for the build while using\r\n// the previous configuration :-\r\n// import * as Common from \"@microsoft/applicationinsights-common\"\r\n// export const Telemetry = Common;\r\nvar fieldType = {\r\n Default: 0 /* FieldType.Default */,\r\n Required: 1 /* FieldType.Required */,\r\n Array: 2 /* FieldType.Array */,\r\n Hidden: 4 /* FieldType.Hidden */\r\n};\r\n/**\r\n * Telemetry type classes, e.g. PageView, Exception, etc\r\n */\r\nexport var Telemetry = {\r\n __proto__: null,\r\n PropertiesPluginIdentifier: PropertiesPluginIdentifier,\r\n BreezeChannelIdentifier: BreezeChannelIdentifier,\r\n AnalyticsPluginIdentifier: AnalyticsPluginIdentifier,\r\n Util: Util,\r\n CorrelationIdHelper: CorrelationIdHelper,\r\n UrlHelper: UrlHelper,\r\n DateTimeUtils: DateTimeUtils,\r\n ConnectionStringParser: ConnectionStringParser,\r\n FieldType: fieldType,\r\n RequestHeaders: RequestHeaders,\r\n DisabledPropertyName: DisabledPropertyName,\r\n ProcessLegacy: ProcessLegacy,\r\n SampleRate: SampleRate,\r\n HttpMethod: HttpMethod,\r\n DEFAULT_BREEZE_ENDPOINT: DEFAULT_BREEZE_ENDPOINT,\r\n Envelope: Envelope,\r\n Event: Event,\r\n Exception: Exception,\r\n Metric: Metric,\r\n PageView: PageView,\r\n RemoteDependencyData: RemoteDependencyData,\r\n Trace: Trace,\r\n PageViewPerformance: PageViewPerformance,\r\n Data: Data,\r\n SeverityLevel: SeverityLevel,\r\n ConfigurationManager: ConfigurationManager,\r\n ContextTagKeys: ContextTagKeys,\r\n DataSanitizer: DataSanitizer,\r\n TelemetryItemCreator: TelemetryItemCreator,\r\n CtxTagKeys: CtxTagKeys,\r\n Extensions: Extensions,\r\n DistributedTracingModes: DistributedTracingModes\r\n};\r\n/**\r\n * Application Insights API\r\n * @class Initialization\r\n * @implements {IApplicationInsights}\r\n */\r\nvar Initialization = /** @class */ (function () {\r\n function Initialization(snippet) {\r\n var _this = this;\r\n // NOTE!: DON'T set default values here, instead set them in the _initDefaults() function as it is also called during teardown()\r\n var dependencies;\r\n var properties;\r\n var _sender;\r\n var _snippetVersion;\r\n var _evtNamespace;\r\n var _houseKeepingNamespace;\r\n var _core;\r\n dynamicProto(Initialization, this, function (_self) {\r\n _initDefaults();\r\n // initialize the queue and config in case they are undefined\r\n _snippetVersion = \"\" + (snippet.sv || snippet[_DYN_VERSION /* @min:%2eversion */] || \"\");\r\n snippet[_DYN_QUEUE /* @min:%2equeue */] = snippet[_DYN_QUEUE /* @min:%2equeue */] || [];\r\n snippet[_DYN_VERSION /* @min:%2eversion */] = snippet[_DYN_VERSION /* @min:%2eversion */] || 2.0; // Default to new version\r\n var config = snippet[_DYN_CONFIG /* @min:%2econfig */] || {};\r\n if (config[_DYN_CONNECTION_STRING /* @min:%2econnectionString */]) {\r\n var cs = parseConnectionString(config[_DYN_CONNECTION_STRING /* @min:%2econnectionString */]);\r\n var ingest = cs.ingestionendpoint;\r\n config[_DYN_ENDPOINT_URL /* @min:%2eendpointUrl */] = ingest ? (ingest + DEFAULT_BREEZE_PATH) : config[_DYN_ENDPOINT_URL /* @min:%2eendpointUrl */]; // only add /v2/track when from connectionstring\r\n config[_DYN_INSTRUMENTATION_KEY /* @min:%2einstrumentationKey */] = cs.instrumentationkey || config[_DYN_INSTRUMENTATION_KEY /* @min:%2einstrumentationKey */];\r\n }\r\n _self[_DYN_APP_INSIGHTS /* @min:%2eappInsights */] = new AnalyticsPlugin();\r\n properties = new PropertiesPlugin();\r\n dependencies = new DependenciesPlugin();\r\n _sender = new Sender();\r\n _core = new AppInsightsCore();\r\n _self.core = _core;\r\n var isErrMessageDisabled = isNullOrUndefined(config[_DYN_DISABLE_IKEY_DEPRECA18 /* @min:%2edisableIkeyDeprecationMessage */]) ? true : config[_DYN_DISABLE_IKEY_DEPRECA18 /* @min:%2edisableIkeyDeprecationMessage */];\r\n if (!config[_DYN_CONNECTION_STRING /* @min:%2econnectionString */] && !isErrMessageDisabled) {\r\n _throwInternal(_core.logger, 1 /* eLoggingSeverity.CRITICAL */, 106 /* _eInternalMessageId.InstrumentationKeyDeprecation */, \"Instrumentation key support will end soon, see aka.ms/IkeyMigrate\");\r\n }\r\n _self[STR_SNIPPET /* @min:%2esnippet */] = snippet;\r\n _self[_DYN_CONFIG /* @min:%2econfig */] = config;\r\n _getSKUDefaults();\r\n _self[STR_FLUSH /* @min:%2eflush */] = function (async) {\r\n if (async === void 0) { async = true; }\r\n doPerf(_core, function () { return \"AISKU.flush\"; }, function () {\r\n arrForEach(_core[_DYN_GET_TRANSMISSION_CON19 /* @min:%2egetTransmissionControls */](), function (channels) {\r\n arrForEach(channels, function (channel) {\r\n channel[STR_FLUSH /* @min:%2eflush */](async);\r\n });\r\n });\r\n }, null, async);\r\n };\r\n _self[_DYN_ONUNLOAD_FLUSH /* @min:%2eonunloadFlush */] = function (async) {\r\n if (async === void 0) { async = true; }\r\n arrForEach(_core[_DYN_GET_TRANSMISSION_CON19 /* @min:%2egetTransmissionControls */](), function (channels) {\r\n arrForEach(channels, function (channel) {\r\n if (channel[_DYN_ONUNLOAD_FLUSH /* @min:%2eonunloadFlush */]) {\r\n channel[_DYN_ONUNLOAD_FLUSH /* @min:%2eonunloadFlush */]();\r\n }\r\n else {\r\n channel[STR_FLUSH /* @min:%2eflush */](async);\r\n }\r\n });\r\n });\r\n };\r\n _self[_DYN_LOAD_APP_INSIGHTS /* @min:%2eloadAppInsights */] = function (legacyMode, logger, notificationManager) {\r\n if (legacyMode === void 0) { legacyMode = false; }\r\n function _updateSnippetProperties(snippet) {\r\n if (snippet) {\r\n var snippetVer = \"\";\r\n if (!isNullOrUndefined(_snippetVersion)) {\r\n snippetVer += _snippetVersion;\r\n }\r\n if (legacyMode) {\r\n snippetVer += \".lg\";\r\n }\r\n if (_self[_DYN_CONTEXT /* @min:%2econtext */] && _self[_DYN_CONTEXT /* @min:%2econtext */].internal) {\r\n _self[_DYN_CONTEXT /* @min:%2econtext */].internal.snippetVer = snippetVer || \"-\";\r\n }\r\n // apply updated properties to the global instance (snippet)\r\n objForEachKey(_self, function (field, value) {\r\n if (isString(field) &&\r\n !isFunction(value) &&\r\n field && field[0] !== \"_\" && // Don't copy \"internal\" values\r\n arrIndexOf(_ignoreUpdateSnippetProperties, field) === -1) {\r\n snippet[field] = value;\r\n }\r\n });\r\n }\r\n }\r\n // dont allow additional channels/other extensions for legacy mode; legacy mode is only to allow users to switch with no code changes!\r\n if (legacyMode && _self[_DYN_CONFIG /* @min:%2econfig */].extensions && _self[_DYN_CONFIG /* @min:%2econfig */].extensions.length > 0) {\r\n throwError(\"Extensions not allowed in legacy mode\");\r\n }\r\n doPerf(_self.core, function () { return \"AISKU.loadAppInsights\"; }, function () {\r\n var extensions = [];\r\n extensions[_DYN_PUSH /* @min:%2epush */](_sender);\r\n extensions[_DYN_PUSH /* @min:%2epush */](properties);\r\n extensions[_DYN_PUSH /* @min:%2epush */](dependencies);\r\n extensions[_DYN_PUSH /* @min:%2epush */](_self[_DYN_APP_INSIGHTS /* @min:%2eappInsights */]);\r\n // initialize core\r\n _core.initialize(_self[_DYN_CONFIG /* @min:%2econfig */], extensions, logger, notificationManager);\r\n _self[_DYN_CONTEXT /* @min:%2econtext */] = properties[_DYN_CONTEXT /* @min:%2econtext */];\r\n if (_internalSdkSrc && _self[_DYN_CONTEXT /* @min:%2econtext */]) {\r\n _self[_DYN_CONTEXT /* @min:%2econtext */].internal.sdkSrc = _internalSdkSrc;\r\n }\r\n _updateSnippetProperties(_self[STR_SNIPPET /* @min:%2esnippet */]);\r\n // Empty queue of all api calls logged prior to sdk download\r\n _self.emptyQueue();\r\n _self[STR_POLL_INTERNAL_LOGS /* @min:%2epollInternalLogs */]();\r\n _self[_DYN_ADD_HOUSEKEEPING_BEF20 /* @min:%2eaddHousekeepingBeforeUnload */](_self);\r\n });\r\n return _self;\r\n };\r\n _self[_DYN_UPDATE_SNIPPET_DEFIN0 /* @min:%2eupdateSnippetDefinitions */] = function (snippet) {\r\n // apply full appInsights to the global instance\r\n // Note: This must be called before loadAppInsights is called\r\n proxyAssign(snippet, _self, function (name) {\r\n // Not excluding names prefixed with \"_\" as we need to proxy some functions like _onError\r\n return name && arrIndexOf(_ignoreUpdateSnippetProperties, name) === -1;\r\n });\r\n };\r\n _self.emptyQueue = function () {\r\n // call functions that were queued before the main script was loaded\r\n try {\r\n if (isArray(_self.snippet[_DYN_QUEUE /* @min:%2equeue */])) {\r\n // note: do not check length in the for-loop conditional in case something goes wrong and the stub methods are not overridden.\r\n var length_1 = _self.snippet[_DYN_QUEUE /* @min:%2equeue */].length;\r\n for (var i = 0; i < length_1; i++) {\r\n var call = _self.snippet[_DYN_QUEUE /* @min:%2equeue */][i];\r\n call();\r\n }\r\n _self.snippet[_DYN_QUEUE /* @min:%2equeue */] = undefined;\r\n delete _self.snippet[_DYN_QUEUE /* @min:%2equeue */];\r\n }\r\n }\r\n catch (exception) {\r\n var properties_1 = {};\r\n if (exception && isFunction(exception.toString)) {\r\n properties_1.exception = exception.toString();\r\n }\r\n // need from core\r\n // Microsoft.ApplicationInsights._InternalLogging.throwInternal(\r\n // eLoggingSeverity.WARNING,\r\n // _eInternalMessageId.FailedToSendQueuedTelemetry,\r\n // \"Failed to send queued telemetry\",\r\n // properties);\r\n }\r\n };\r\n _self[_DYN_ADD_HOUSEKEEPING_BEF20 /* @min:%2eaddHousekeepingBeforeUnload */] = function (appInsightsInstance) {\r\n // Add callback to push events when the user navigates away\r\n if (hasWindow() || hasDocument()) {\r\n var performHousekeeping = function () {\r\n // Adds the ability to flush all data before the page unloads.\r\n // Note: This approach tries to push a sync request with all the pending events onbeforeunload.\r\n // Firefox does not respect this.Other browsers DO push out the call with < 100% hit rate.\r\n // Telemetry here will help us analyze how effective this approach is.\r\n // Another approach would be to make this call sync with a acceptable timeout to reduce the\r\n // impact on user experience.\r\n // appInsightsInstance.context._sender.triggerSend();\r\n appInsightsInstance[_DYN_ONUNLOAD_FLUSH /* @min:%2eonunloadFlush */](false);\r\n // Back up the current session to local storage\r\n // This lets us close expired sessions after the cookies themselves expire\r\n if (isFunction(_this.core[STR_GET_PLUGIN /* @min:%2egetPlugin */])) {\r\n var loadedPlugin = _this.core[STR_GET_PLUGIN /* @min:%2egetPlugin */](PropertiesPluginIdentifier);\r\n if (loadedPlugin) {\r\n var propertiesPlugin = loadedPlugin.plugin;\r\n if (propertiesPlugin && propertiesPlugin[_DYN_CONTEXT /* @min:%2econtext */] && propertiesPlugin[_DYN_CONTEXT /* @min:%2econtext */]._sessionManager) {\r\n propertiesPlugin[_DYN_CONTEXT /* @min:%2econtext */]._sessionManager.backup();\r\n }\r\n }\r\n }\r\n };\r\n var added = false;\r\n var excludePageUnloadEvents = appInsightsInstance.appInsights[_DYN_CONFIG /* @min:%2econfig */].disablePageUnloadEvents;\r\n if (!_houseKeepingNamespace) {\r\n _houseKeepingNamespace = mergeEvtNamespace(_evtNamespace, _core[STR_EVT_NAMESPACE /* @min:%2eevtNamespace */] && _core[STR_EVT_NAMESPACE /* @min:%2eevtNamespace */]());\r\n }\r\n if (!appInsightsInstance.appInsights.config[_DYN_DISABLE_FLUSH_ON_BEF11 /* @min:%2edisableFlushOnBeforeUnload */]) {\r\n // Hook the unload event for the document, window and body to ensure that the client events are flushed to the server\r\n // As just hooking the window does not always fire (on chrome) for page navigation's.\r\n if (addPageUnloadEventListener(performHousekeeping, excludePageUnloadEvents, _houseKeepingNamespace)) {\r\n added = true;\r\n }\r\n // We also need to hook the pagehide and visibilitychange events as not all versions of Safari support load/unload events.\r\n if (addPageHideEventListener(performHousekeeping, excludePageUnloadEvents, _houseKeepingNamespace)) {\r\n added = true;\r\n }\r\n // A reactNative app may not have a window and therefore the beforeunload/pagehide events -- so don't\r\n // log the failure in this case\r\n if (!added && !isReactNative()) {\r\n _throwInternal(appInsightsInstance[_DYN_APP_INSIGHTS /* @min:%2eappInsights */].core.logger, 1 /* eLoggingSeverity.CRITICAL */, 19 /* _eInternalMessageId.FailedToAddHandlerForOnBeforeUnload */, \"Could not add handler for beforeunload and pagehide\");\r\n }\r\n }\r\n if (!added && !appInsightsInstance.appInsights.config[_DYN_DISABLE_FLUSH_ON_UNL12 /* @min:%2edisableFlushOnUnload */]) {\r\n // If we didn't add the normal set then attempt to add the pagehide and visibilitychange only\r\n addPageHideEventListener(performHousekeeping, excludePageUnloadEvents, _houseKeepingNamespace);\r\n }\r\n }\r\n };\r\n _self.getSender = function () {\r\n return _sender;\r\n };\r\n _self.unload = function (isAsync, unloadComplete, cbTimeout) {\r\n _self[_DYN_ONUNLOAD_FLUSH /* @min:%2eonunloadFlush */](isAsync);\r\n // Remove any registered event handlers\r\n if (_houseKeepingNamespace) {\r\n removePageUnloadEventListener(null, _houseKeepingNamespace);\r\n removePageHideEventListener(null, _houseKeepingNamespace);\r\n }\r\n _core.unload && _core.unload(isAsync, unloadComplete, cbTimeout);\r\n };\r\n proxyFunctions(_self, _self[_DYN_APP_INSIGHTS /* @min:%2eappInsights */], [\r\n STR_GET_COOKIE_MGR,\r\n STR_TRACK_EVENT,\r\n STR_TRACK_PAGE_VIEW,\r\n \"trackPageViewPerformance\",\r\n STR_TRACK_EXCEPTION,\r\n \"_onerror\",\r\n STR_TRACK_TRACE,\r\n STR_TRACK_METRIC,\r\n STR_START_TRACK_PAGE,\r\n STR_STOP_TRACK_PAGE,\r\n STR_START_TRACK_EVENT,\r\n STR_STOP_TRACK_EVENT\r\n ]);\r\n proxyFunctions(_self, _getCurrentDependencies, [\r\n STR_TRACK_DEPENDENCY_DATA,\r\n \"addDependencyListener\",\r\n \"addDependencyInitializer\"\r\n ]);\r\n proxyFunctions(_self, _core, [\r\n STR_ADD_TELEMETRY_INITIALIZER,\r\n STR_POLL_INTERNAL_LOGS,\r\n \"stopPollingInternalLogs\",\r\n STR_GET_PLUGIN,\r\n \"addPlugin\",\r\n STR_EVT_NAMESPACE,\r\n \"addUnloadCb\",\r\n \"getTraceCtx\"\r\n ]);\r\n proxyFunctions(_self, function () {\r\n var context = properties[_DYN_CONTEXT /* @min:%2econtext */];\r\n return context ? context.user : null;\r\n }, [\r\n STR_SET_AUTHENTICATED_USER_CONTEXT,\r\n STR_CLEAR_AUTHENTICATED_USER_CONTEXT\r\n ]);\r\n function _getSKUDefaults() {\r\n _self.config[_DYN_DIAGNOSTIC_LOG_INTER4 /* @min:%2ediagnosticLogInterval */] =\r\n _self.config[_DYN_DIAGNOSTIC_LOG_INTER4 /* @min:%2ediagnosticLogInterval */] && _self[_DYN_CONFIG /* @min:%2econfig */][_DYN_DIAGNOSTIC_LOG_INTER4 /* @min:%2ediagnosticLogInterval */] > 0 ? _self[_DYN_CONFIG /* @min:%2econfig */][_DYN_DIAGNOSTIC_LOG_INTER4 /* @min:%2ediagnosticLogInterval */] : 10000;\r\n }\r\n // Using a function to support the dynamic adding / removal of plugins, so this will always return the current value\r\n function _getCurrentDependencies() {\r\n return dependencies;\r\n }\r\n function _initDefaults() {\r\n _evtNamespace = createUniqueNamespace(\"AISKU\");\r\n _houseKeepingNamespace = null;\r\n dependencies = null;\r\n properties = null;\r\n _sender = null;\r\n _snippetVersion = null;\r\n }\r\n });\r\n }\r\n // Analytics Plugin\r\n// Removed Stub for Initialization.prototype.getCookieMgr.\r\n// Removed Stub for Initialization.prototype.trackEvent.\r\n// Removed Stub for Initialization.prototype.trackPageView.\r\n// Removed Stub for Initialization.prototype.trackPageViewPerformance.\r\n// Removed Stub for Initialization.prototype.trackException.\r\n// Removed Stub for Initialization.prototype._onerror.\r\n// Removed Stub for Initialization.prototype.trackTrace.\r\n// Removed Stub for Initialization.prototype.trackMetric.\r\n// Removed Stub for Initialization.prototype.startTrackPage.\r\n// Removed Stub for Initialization.prototype.stopTrackPage.\r\n// Removed Stub for Initialization.prototype.startTrackEvent.\r\n// Removed Stub for Initialization.prototype.stopTrackEvent.\r\n// Removed Stub for Initialization.prototype.addTelemetryInitializer.\r\n // Properties Plugin\r\n// Removed Stub for Initialization.prototype.setAuthenticatedUserContext.\r\n// Removed Stub for Initialization.prototype.clearAuthenticatedUserContext.\r\n // Dependencies Plugin\r\n// Removed Stub for Initialization.prototype.trackDependencyData.\r\n // Misc\r\n// Removed Stub for Initialization.prototype.flush.\r\n// Removed Stub for Initialization.prototype.onunloadFlush.\r\n// Removed Stub for Initialization.prototype.loadAppInsights.\r\n// Removed Stub for Initialization.prototype.updateSnippetDefinitions.\r\n// Removed Stub for Initialization.prototype.emptyQueue.\r\n// Removed Stub for Initialization.prototype.pollInternalLogs.\r\n// Removed Stub for Initialization.prototype.stopPollingInternalLogs.\r\n// Removed Stub for Initialization.prototype.addHousekeepingBeforeUnload.\r\n// Removed Stub for Initialization.prototype.getSender.\r\n// Removed Stub for Initialization.prototype.unload.\r\n// Removed Stub for Initialization.prototype.getPlugin.\r\n// Removed Stub for Initialization.prototype.addPlugin.\r\n// Removed Stub for Initialization.prototype.evtNamespace.\r\n// Removed Stub for Initialization.prototype.addUnloadCb.\r\n// Removed Stub for Initialization.prototype.addDependencyListener.\r\n /**\r\n * Add an dependency telemetry initializer callback function to allow populating additional properties or drop the request.\r\n * It is called after the dependency call has completed and any available performance details are available. A dependency\r\n * initializer is similar to the TelemetryInitializer function but it allows you to block the reporting of the dependency\r\n * request so that it doesn't count against the `maxAjaxCallsPerView`.\r\n * @param dependencyInitializer - The Dependency Telemetry Initializer function\r\n * @returns - A IDependencyInitializerHandler to enable the initializer to be removed\r\n */\r\n Initialization.prototype.addDependencyInitializer = function (dependencyInitializer) {\r\n return null;\r\n };\r\n// Removed Stub for Initialization.prototype.getTraceCtx.\r\n return Initialization;\r\n}());\r\nexport { Initialization };\r\n// tslint:disable-next-line\r\n(function () {\r\n var sdkSrc = null;\r\n var isModule = false;\r\n var cdns = [\r\n \"://js.monitor.azure.com/\",\r\n \"://az416426.vo.msecnd.net/\"\r\n ];\r\n try {\r\n // Try and determine whether the sdk is being loaded from the CDN\r\n // currentScript is only valid during initial processing\r\n var scrpt = (document || {}).currentScript;\r\n if (scrpt) {\r\n sdkSrc = scrpt.src;\r\n // } else {\r\n // // We need to update to at least typescript 2.9 for this to work :-(\r\n // // Leaving as a stub for now so after we upgrade this breadcrumb is available\r\n // let meta = import.meta;\r\n // sdkSrc = (meta || {}).url;\r\n // isModule = true;\r\n }\r\n }\r\n catch (e) {\r\n // eslint-disable-next-line no-empty\r\n }\r\n if (sdkSrc) {\r\n try {\r\n var url = sdkSrc.toLowerCase();\r\n if (url) {\r\n var src = \"\";\r\n for (var idx = 0; idx < cdns.length; idx++) {\r\n if (url[_DYN_INDEX_OF /* @min:%2eindexOf */](cdns[idx]) !== -1) {\r\n src = \"cdn\" + (idx + 1);\r\n if (url[_DYN_INDEX_OF /* @min:%2eindexOf */](\"/scripts/\") === -1) {\r\n if (url[_DYN_INDEX_OF /* @min:%2eindexOf */](\"/next/\") !== -1) {\r\n src += \"-next\";\r\n }\r\n else if (url[_DYN_INDEX_OF /* @min:%2eindexOf */](\"/beta/\") !== -1) {\r\n src += \"-beta\";\r\n }\r\n }\r\n _internalSdkSrc = src + (isModule ? \".mod\" : \"\");\r\n break;\r\n }\r\n }\r\n }\r\n }\r\n catch (e) {\r\n // eslint-disable-next-line no-empty\r\n }\r\n }\r\n})();\r\n","/*\n * Application Insights JavaScript SDK - Web, 2.8.15\n * Copyright (c) Microsoft and contributors. All rights reserved.\n */\n\r\n\r\n// !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!\r\n// Note: DON'T Export these const from the package as we are still targeting ES3 this will export a mutable variables that someone could change!!!\r\n// !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!\r\n// Generally you should only put values that are used more than 2 times and then only if not already exposed as a constant (such as SdkCoreNames)\r\n// as when using \"short\" named values from here they will be will be minified smaller than the SdkCoreNames[eSdkCoreNames.xxxx] value.\r\nvar _AUTHENTICATED_USER_CONTEXT = \"AuthenticatedUserContext\";\r\nvar _TRACK = \"track\";\r\nexport var STR_EMPTY = \"\";\r\nexport var STR_SNIPPET = \"snippet\";\r\nexport var STR_GET_COOKIE_MGR = \"getCookieMgr\";\r\nexport var STR_START_TRACK_PAGE = \"startTrackPage\";\r\nexport var STR_STOP_TRACK_PAGE = \"stopTrackPage\";\r\nexport var STR_FLUSH = \"flush\";\r\nexport var STR_START_TRACK_EVENT = \"startTrackEvent\";\r\nexport var STR_STOP_TRACK_EVENT = \"stopTrackEvent\";\r\nexport var STR_ADD_TELEMETRY_INITIALIZER = \"addTelemetryInitializer\";\r\nexport var STR_ADD_TELEMETRY_INITIALIZERS = STR_ADD_TELEMETRY_INITIALIZER + \"s\";\r\nexport var STR_POLL_INTERNAL_LOGS = \"pollInternalLogs\";\r\nexport var STR_GET_PLUGIN = \"getPlugin\";\r\nexport var STR_EVT_NAMESPACE = \"evtNamespace\";\r\nexport var STR_TRACK_EVENT = _TRACK + \"Event\";\r\nexport var STR_TRACK_TRACE = _TRACK + \"Trace\";\r\nexport var STR_TRACK_METRIC = _TRACK + \"Metric\";\r\nexport var STR_TRACK_PAGE_VIEW = _TRACK + \"PageView\";\r\nexport var STR_TRACK_EXCEPTION = _TRACK + \"Exception\";\r\nexport var STR_TRACK_DEPENDENCY_DATA = _TRACK + \"DependencyData\";\r\nexport var STR_SET_AUTHENTICATED_USER_CONTEXT = \"set\" + _AUTHENTICATED_USER_CONTEXT;\r\nexport var STR_CLEAR_AUTHENTICATED_USER_CONTEXT = \"clear\" + _AUTHENTICATED_USER_CONTEXT;\r\n","/*\n * Application Insights JavaScript SDK - Web, 2.8.15\n * Copyright (c) Microsoft and contributors. All rights reserved.\n */\n\r\n\r\n// @skip-file-minify\r\n// ##############################################################\r\n// AUTO GENERATED FILE: This file is Auto Generated during build.\r\n// ##############################################################\r\n// !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!\r\n// Note: DON'T Export these const from the package as we are still targeting ES3 this will export a mutable variables that someone could change!!!\r\n// !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!\r\nexport var _DYN_UPDATE_SNIPPET_DEFIN0 = \"updateSnippetDefinitions\"; // Count: 4\r\nexport var _DYN_LOAD_APP_INSIGHTS = \"loadAppInsights\"; // Count: 4\r\nexport var _DYN_ENDPOINT_URL = \"endpointUrl\"; // Count: 4\r\nexport var _DYN_MAX_BATCH_SIZE_IN_BY1 = \"maxBatchSizeInBytes\"; // Count: 3\r\nexport var _DYN_MAX_BATCH_INTERVAL = \"maxBatchInterval\"; // Count: 3\r\nexport var _DYN_DISABLE_EXCEPTION_TR2 = \"disableExceptionTracking\"; // Count: 2\r\nexport var _DYN_DISABLE_TELEMETRY = \"disableTelemetry\"; // Count: 2\r\nexport var _DYN_EMIT_LINE_DELIMITED_3 = \"emitLineDelimitedJson\"; // Count: 2\r\nexport var _DYN_DIAGNOSTIC_LOG_INTER4 = \"diagnosticLogInterval\"; // Count: 6\r\nexport var _DYN_AUTO_TRACK_PAGE_VISI5 = \"autoTrackPageVisitTime\"; // Count: 2\r\nexport var _DYN_SAMPLING_PERCENTAGE = \"samplingPercentage\"; // Count: 4\r\nexport var _DYN_DISABLE_AJAX_TRACKIN6 = \"disableAjaxTracking\"; // Count: 2\r\nexport var _DYN_MAX_AJAX_CALLS_PER_V7 = \"maxAjaxCallsPerView\"; // Count: 3\r\nexport var _DYN_IS_BEACON_API_DISABL8 = \"isBeaconApiDisabled\"; // Count: 2\r\nexport var _DYN_DISABLE_CORRELATION_9 = \"disableCorrelationHeaders\"; // Count: 2\r\nexport var _DYN_CORRELATION_HEADER_E10 = \"correlationHeaderExcludedDomains\"; // Count: 2\r\nexport var _DYN_DISABLE_FLUSH_ON_BEF11 = \"disableFlushOnBeforeUnload\"; // Count: 4\r\nexport var _DYN_DISABLE_FLUSH_ON_UNL12 = \"disableFlushOnUnload\"; // Count: 3\r\nexport var _DYN_ENABLE_SESSION_STORA13 = \"enableSessionStorageBuffer\"; // Count: 2\r\nexport var _DYN_IS_COOKIE_USE_DISABL14 = \"isCookieUseDisabled\"; // Count: 2\r\nexport var _DYN_IS_STORAGE_USE_DISAB15 = \"isStorageUseDisabled\"; // Count: 2\r\nexport var _DYN_IS_BROWSER_LINK_TRAC16 = \"isBrowserLinkTrackingEnabled\"; // Count: 2\r\nexport var _DYN_ENABLE_CORS_CORRELAT17 = \"enableCorsCorrelation\"; // Count: 2\r\nexport var _DYN_CONFIG = \"config\"; // Count: 6\r\nexport var _DYN_CONTEXT = \"context\"; // Count: 8\r\nexport var _DYN_PUSH = \"push\"; // Count: 5\r\nexport var _DYN_VERSION = \"version\"; // Count: 6\r\nexport var _DYN_QUEUE = \"queue\"; // Count: 6\r\nexport var _DYN_CONNECTION_STRING = \"connectionString\"; // Count: 3\r\nexport var _DYN_INSTRUMENTATION_KEY = \"instrumentationKey\"; // Count: 2\r\nexport var _DYN_APP_INSIGHTS = \"appInsights\"; // Count: 3\r\nexport var _DYN_DISABLE_IKEY_DEPRECA18 = \"disableIkeyDeprecationMessage\"; // Count: 2\r\nexport var _DYN_GET_TRANSMISSION_CON19 = \"getTransmissionControls\"; // Count: 2\r\nexport var _DYN_ONUNLOAD_FLUSH = \"onunloadFlush\"; // Count: 6\r\nexport var _DYN_ADD_HOUSEKEEPING_BEF20 = \"addHousekeepingBeforeUnload\"; // Count: 2\r\nexport var _DYN_INDEX_OF = \"indexOf\"; // Count: 4\r\n","/*!\n * Microsoft Dynamic Proto Utility, 1.1.9\n * Copyright (c) Microsoft and contributors. All rights reserved.\n */\nvar _a;\r\nvar UNDEFINED = \"undefined\";\r\n/**\r\n * Constant string defined to support minimization\r\n * @ignore\r\n */\r\nvar Constructor = 'constructor';\r\n/**\r\n * Constant string defined to support minimization\r\n * @ignore\r\n */\r\nvar Prototype = 'prototype';\r\n/**\r\n * Constant string defined to support minimization\r\n * @ignore\r\n */\r\nvar strFunction = 'function';\r\n/**\r\n * Used to define the name of the instance function lookup table\r\n * @ignore\r\n */\r\nvar DynInstFuncTable = '_dynInstFuncs';\r\n/**\r\n * Name used to tag the dynamic prototype function\r\n * @ignore\r\n */\r\nvar DynProxyTag = '_isDynProxy';\r\n/**\r\n * Name added to a prototype to define the dynamic prototype \"class\" name used to lookup the function table\r\n * @ignore\r\n */\r\nvar DynClassName = '_dynClass';\r\n/**\r\n * Prefix added to the classname to avoid any name clashes with other instance level properties\r\n * @ignore\r\n */\r\nvar DynClassNamePrefix = '_dynCls$';\r\n/**\r\n * A tag which is used to check if we have already to attempted to set the instance function if one is not present\r\n * @ignore\r\n */\r\nvar DynInstChkTag = '_dynInstChk';\r\n/**\r\n * A tag which is used to check if we are allows to try and set an instance function is one is not present. Using the same\r\n * tag name as the function level but a different const name for readability only.\r\n */\r\nvar DynAllowInstChkTag = DynInstChkTag;\r\n/**\r\n * The global (imported) instances where the global performance options are stored\r\n */\r\nvar DynProtoDefaultOptions = '_dfOpts';\r\n/**\r\n * Value used as the name of a class when it cannot be determined\r\n * @ignore\r\n */\r\nvar UnknownValue = '_unknown_';\r\n/**\r\n * Constant string defined to support minimization\r\n * @ignore\r\n */\r\nvar str__Proto = \"__proto__\";\r\n/**\r\n * The polyfill version of __proto__ so that it doesn't cause issues for anyone not expecting it to exist\r\n */\r\nvar DynProtoBaseProto = \"_dyn\" + str__Proto;\r\n/**\r\n * Runtime Global holder for dynamicProto settings\r\n */\r\nvar DynProtoGlobalSettings = \"__dynProto$Gbl\";\r\n/**\r\n * Track the current prototype for IE8 as you can't look back to get the prototype\r\n */\r\nvar DynProtoCurrent = \"_dynInstProto\";\r\n/**\r\n * Constant string defined to support minimization\r\n * @ignore\r\n */\r\nvar strUseBaseInst = 'useBaseInst';\r\n/**\r\n * Constant string defined to support minimization\r\n * @ignore\r\n */\r\nvar strSetInstFuncs = 'setInstFuncs';\r\nvar Obj = Object;\r\n/**\r\n * Pre-lookup to check if we are running on a modern browser (i.e. not IE8)\r\n * @ignore\r\n */\r\nvar _objGetPrototypeOf = Obj[\"getPrototypeOf\"];\r\n/**\r\n * Pre-lookup to check for the existence of this function\r\n */\r\nvar _objGetOwnProps = Obj[\"getOwnPropertyNames\"];\r\n/**\r\n * Gets the runtime global reference\r\n * @returns\r\n */\r\nfunction _getGlobal() {\r\n var result;\r\n if (typeof globalThis !== UNDEFINED) {\r\n result = globalThis;\r\n }\r\n if (!result && typeof self !== UNDEFINED) {\r\n result = self;\r\n }\r\n if (!result && typeof window !== UNDEFINED) {\r\n result = window;\r\n }\r\n if (!result && typeof global !== UNDEFINED) {\r\n result = global;\r\n }\r\n return result || {};\r\n}\r\n// Since 1.1.7 moving these to the runtime global to work around mixed version and module issues\r\n// See Issue https://github.com/microsoft/DynamicProto-JS/issues/57 for details\r\nvar _gbl = _getGlobal();\r\nvar _gblInst = _gbl[DynProtoGlobalSettings] || (_gbl[DynProtoGlobalSettings] = {\r\n o: (_a = {},\r\n _a[strSetInstFuncs] = true,\r\n _a[strUseBaseInst] = true,\r\n _a),\r\n n: 1000 // Start new global index @ 1000 so we \"fix\" some cases when mixed with 1.1.6 or earlier\r\n});\r\n/**\r\n * Helper to check if the object contains a property of the name\r\n * @ignore\r\n */\r\nfunction _hasOwnProperty(obj, prop) {\r\n return obj && Obj[Prototype].hasOwnProperty.call(obj, prop);\r\n}\r\n/**\r\n * Helper used to check whether the target is an Object prototype or Array prototype\r\n * @ignore\r\n */\r\nfunction _isObjectOrArrayPrototype(target) {\r\n return target && (target === Obj[Prototype] || target === Array[Prototype]);\r\n}\r\n/**\r\n * Helper used to check whether the target is an Object prototype, Array prototype or Function prototype\r\n * @ignore\r\n */\r\nfunction _isObjectArrayOrFunctionPrototype(target) {\r\n return _isObjectOrArrayPrototype(target) || target === Function[Prototype];\r\n}\r\n/**\r\n * Helper used to get the prototype of the target object as getPrototypeOf is not available in an ES3 environment.\r\n * @ignore\r\n */\r\nfunction _getObjProto(target) {\r\n var newProto;\r\n if (target) {\r\n // This method doesn't exist in older browsers (e.g. IE8)\r\n if (_objGetPrototypeOf) {\r\n return _objGetPrototypeOf(target);\r\n }\r\n var curProto = target[str__Proto] || target[Prototype] || (target[Constructor] ? target[Constructor][Prototype] : null);\r\n // Using the pre-calculated value as IE8 doesn't support looking up the prototype of a prototype and thus fails for more than 1 base class\r\n newProto = target[DynProtoBaseProto] || curProto;\r\n if (!_hasOwnProperty(target, DynProtoBaseProto)) {\r\n // As this prototype doesn't have this property then this is from an inherited class so newProto is the base to return so save it\r\n // so we can look it up value (which for a multiple hierarchy dynamicProto will be the base class)\r\n delete target[DynProtoCurrent]; // Delete any current value allocated to this instance so we pick up the value from prototype hierarchy\r\n newProto = target[DynProtoBaseProto] = target[DynProtoCurrent] || target[DynProtoBaseProto];\r\n target[DynProtoCurrent] = curProto;\r\n }\r\n }\r\n return newProto;\r\n}\r\n/**\r\n * Helper to get the properties of an object, including none enumerable ones as functions on a prototype in ES6\r\n * are not enumerable.\r\n * @param target\r\n */\r\nfunction _forEachProp(target, func) {\r\n var props = [];\r\n if (_objGetOwnProps) {\r\n props = _objGetOwnProps(target);\r\n }\r\n else {\r\n for (var name_1 in target) {\r\n if (typeof name_1 === \"string\" && _hasOwnProperty(target, name_1)) {\r\n props.push(name_1);\r\n }\r\n }\r\n }\r\n if (props && props.length > 0) {\r\n for (var lp = 0; lp < props.length; lp++) {\r\n func(props[lp]);\r\n }\r\n }\r\n}\r\n/**\r\n * Helper function to check whether the provided function name is a potential candidate for dynamic\r\n * callback and prototype generation.\r\n * @param target The target object, may be a prototype or class object\r\n * @param funcName The function name\r\n * @param skipOwn Skips the check for own property\r\n * @ignore\r\n */\r\nfunction _isDynamicCandidate(target, funcName, skipOwn) {\r\n return (funcName !== Constructor && typeof target[funcName] === strFunction && (skipOwn || _hasOwnProperty(target, funcName)));\r\n}\r\n/**\r\n * Helper to throw a TypeError exception\r\n * @param message the message\r\n * @ignore\r\n */\r\nfunction _throwTypeError(message) {\r\n throw new TypeError(\"DynamicProto: \" + message);\r\n}\r\n/**\r\n * Returns a collection of the instance functions that are defined directly on the thisTarget object, it does\r\n * not return any inherited functions\r\n * @param thisTarget The object to get the instance functions from\r\n * @ignore\r\n */\r\nfunction _getInstanceFuncs(thisTarget) {\r\n // Get the base proto\r\n var instFuncs = {};\r\n // Save any existing instance functions\r\n _forEachProp(thisTarget, function (name) {\r\n // Don't include any dynamic prototype instances - as we only want the real functions\r\n if (!instFuncs[name] && _isDynamicCandidate(thisTarget, name, false)) {\r\n // Create an instance callback for passing the base function to the caller\r\n instFuncs[name] = thisTarget[name];\r\n }\r\n });\r\n return instFuncs;\r\n}\r\n/**\r\n * Returns whether the value is included in the array\r\n * @param values The array of values\r\n * @param value The value\r\n */\r\nfunction _hasVisited(values, value) {\r\n for (var lp = values.length - 1; lp >= 0; lp--) {\r\n if (values[lp] === value) {\r\n return true;\r\n }\r\n }\r\n return false;\r\n}\r\n/**\r\n * Returns an object that contains callback functions for all \"base/super\" functions, this is used to \"save\"\r\n * enabling calling super.xxx() functions without requiring that the base \"class\" has defined a prototype references\r\n * @param target The current instance\r\n * @ignore\r\n */\r\nfunction _getBaseFuncs(classProto, thisTarget, instFuncs, useBaseInst) {\r\n function _instFuncProxy(target, funcHost, funcName) {\r\n var theFunc = funcHost[funcName];\r\n if (theFunc[DynProxyTag] && useBaseInst) {\r\n // grab and reuse the hosted looking function (if available) otherwise the original passed function\r\n var instFuncTable = target[DynInstFuncTable] || {};\r\n if (instFuncTable[DynAllowInstChkTag] !== false) {\r\n theFunc = (instFuncTable[funcHost[DynClassName]] || {})[funcName] || theFunc;\r\n }\r\n }\r\n return function () {\r\n // eslint-disable-next-line prefer-rest-params\r\n return theFunc.apply(target, arguments);\r\n };\r\n }\r\n // Start creating a new baseFuncs by creating proxies for the instance functions (as they may get replaced)\r\n var baseFuncs = {};\r\n _forEachProp(instFuncs, function (name) {\r\n // Create an instance callback for passing the base function to the caller\r\n baseFuncs[name] = _instFuncProxy(thisTarget, instFuncs, name);\r\n });\r\n // Get the base prototype functions\r\n var baseProto = _getObjProto(classProto);\r\n var visited = [];\r\n // Don't include base object functions for Object, Array or Function\r\n while (baseProto && !_isObjectArrayOrFunctionPrototype(baseProto) && !_hasVisited(visited, baseProto)) {\r\n // look for prototype functions\r\n _forEachProp(baseProto, function (name) {\r\n // Don't include any dynamic prototype instances - as we only want the real functions\r\n // For IE 7/8 the prototype lookup doesn't provide the full chain so we need to bypass the \r\n // hasOwnProperty check we get all of the methods, main difference is that IE7/8 doesn't return\r\n // the Object prototype methods while bypassing the check\r\n if (!baseFuncs[name] && _isDynamicCandidate(baseProto, name, !_objGetPrototypeOf)) {\r\n // Create an instance callback for passing the base function to the caller\r\n baseFuncs[name] = _instFuncProxy(thisTarget, baseProto, name);\r\n }\r\n });\r\n // We need to find all possible functions that might be overloaded by walking the entire prototype chain\r\n // This avoids the caller from needing to check whether it's direct base class implements the function or not\r\n // by walking the entire chain it simplifies the usage and issues from upgrading any of the base classes.\r\n visited.push(baseProto);\r\n baseProto = _getObjProto(baseProto);\r\n }\r\n return baseFuncs;\r\n}\r\nfunction _getInstFunc(target, funcName, proto, currentDynProtoProxy) {\r\n var instFunc = null;\r\n // We need to check whether the class name is defined directly on this prototype otherwise\r\n // it will walk the proto chain and return any parent proto classname.\r\n if (target && _hasOwnProperty(proto, DynClassName)) {\r\n var instFuncTable = target[DynInstFuncTable] || {};\r\n instFunc = (instFuncTable[proto[DynClassName]] || {})[funcName];\r\n if (!instFunc) {\r\n // Avoid stack overflow from recursive calling the same function\r\n _throwTypeError(\"Missing [\" + funcName + \"] \" + strFunction);\r\n }\r\n // We have the instance function, lets check it we can speed up further calls\r\n // by adding the instance function back directly on the instance (avoiding the dynamic func lookup)\r\n if (!instFunc[DynInstChkTag] && instFuncTable[DynAllowInstChkTag] !== false) {\r\n // If the instance already has an instance function we can't replace it\r\n var canAddInst = !_hasOwnProperty(target, funcName);\r\n // Get current prototype\r\n var objProto = _getObjProto(target);\r\n var visited = [];\r\n // Lookup the function starting at the top (instance level prototype) and traverse down, if the first matching function\r\n // if nothing is found or if the first hit is a dynamic proto instance then we can safely add an instance shortcut\r\n while (canAddInst && objProto && !_isObjectArrayOrFunctionPrototype(objProto) && !_hasVisited(visited, objProto)) {\r\n var protoFunc = objProto[funcName];\r\n if (protoFunc) {\r\n canAddInst = (protoFunc === currentDynProtoProxy);\r\n break;\r\n }\r\n // We need to find all possible initial functions to ensure that we don't bypass a valid override function\r\n visited.push(objProto);\r\n objProto = _getObjProto(objProto);\r\n }\r\n try {\r\n if (canAddInst) {\r\n // This instance doesn't have an instance func and the class hierarchy does have a higher level prototype version\r\n // so it's safe to directly assign for any subsequent calls (for better performance)\r\n target[funcName] = instFunc;\r\n }\r\n // Block further attempts to set the instance function for any\r\n instFunc[DynInstChkTag] = 1;\r\n }\r\n catch (e) {\r\n // Don't crash if the object is readonly or the runtime doesn't allow changing this\r\n // And set a flag so we don't try again for any function\r\n instFuncTable[DynAllowInstChkTag] = false;\r\n }\r\n }\r\n }\r\n return instFunc;\r\n}\r\nfunction _getProtoFunc(funcName, proto, currentDynProtoProxy) {\r\n var protoFunc = proto[funcName];\r\n // Check that the prototype function is not a self reference -- try to avoid stack overflow!\r\n if (protoFunc === currentDynProtoProxy) {\r\n // It is so lookup the base prototype\r\n protoFunc = _getObjProto(proto)[funcName];\r\n }\r\n if (typeof protoFunc !== strFunction) {\r\n _throwTypeError(\"[\" + funcName + \"] is not a \" + strFunction);\r\n }\r\n return protoFunc;\r\n}\r\n/**\r\n * Add the required dynamic prototype methods to the the class prototype\r\n * @param proto - The class prototype\r\n * @param className - The instance classname\r\n * @param target - The target instance\r\n * @param baseInstFuncs - The base instance functions\r\n * @param setInstanceFunc - Flag to allow prototype function to reset the instance function if one does not exist\r\n * @ignore\r\n */\r\nfunction _populatePrototype(proto, className, target, baseInstFuncs, setInstanceFunc) {\r\n function _createDynamicPrototype(proto, funcName) {\r\n var dynProtoProxy = function () {\r\n // Use the instance or prototype function\r\n var instFunc = _getInstFunc(this, funcName, proto, dynProtoProxy) || _getProtoFunc(funcName, proto, dynProtoProxy);\r\n // eslint-disable-next-line prefer-rest-params\r\n return instFunc.apply(this, arguments);\r\n };\r\n // Tag this function as a proxy to support replacing dynamic proxy elements (primary use case is for unit testing\r\n // via which can dynamically replace the prototype function reference)\r\n dynProtoProxy[DynProxyTag] = 1;\r\n return dynProtoProxy;\r\n }\r\n if (!_isObjectOrArrayPrototype(proto)) {\r\n var instFuncTable = target[DynInstFuncTable] = target[DynInstFuncTable] || {};\r\n var instFuncs_1 = instFuncTable[className] = (instFuncTable[className] || {}); // fetch and assign if as it may not exist yet\r\n // Set whether we are allow to lookup instances, if someone has set to false then do not re-enable\r\n if (instFuncTable[DynAllowInstChkTag] !== false) {\r\n instFuncTable[DynAllowInstChkTag] = !!setInstanceFunc;\r\n }\r\n _forEachProp(target, function (name) {\r\n // Only add overridden functions\r\n if (_isDynamicCandidate(target, name, false) && target[name] !== baseInstFuncs[name]) {\r\n // Save the instance Function to the lookup table and remove it from the instance as it's not a dynamic proto function\r\n instFuncs_1[name] = target[name];\r\n delete target[name];\r\n // Add a dynamic proto if one doesn't exist or if a prototype function exists and it's not a dynamic one\r\n if (!_hasOwnProperty(proto, name) || (proto[name] && !proto[name][DynProxyTag])) {\r\n proto[name] = _createDynamicPrototype(proto, name);\r\n }\r\n }\r\n });\r\n }\r\n}\r\n/**\r\n * Checks whether the passed prototype object appears to be correct by walking the prototype hierarchy of the instance\r\n * @param classProto The class prototype instance\r\n * @param thisTarget The current instance that will be checked whether the passed prototype instance is in the hierarchy\r\n * @ignore\r\n */\r\nfunction _checkPrototype(classProto, thisTarget) {\r\n // This method doesn't existing in older browsers (e.g. IE8)\r\n if (_objGetPrototypeOf) {\r\n // As this is primarily a coding time check, don't bother checking if running in IE8 or lower\r\n var visited = [];\r\n var thisProto = _getObjProto(thisTarget);\r\n while (thisProto && !_isObjectArrayOrFunctionPrototype(thisProto) && !_hasVisited(visited, thisProto)) {\r\n if (thisProto === classProto) {\r\n return true;\r\n }\r\n // This avoids the caller from needing to check whether it's direct base class implements the function or not\r\n // by walking the entire chain it simplifies the usage and issues from upgrading any of the base classes.\r\n visited.push(thisProto);\r\n thisProto = _getObjProto(thisProto);\r\n }\r\n return false;\r\n }\r\n // If objGetPrototypeOf doesn't exist then just assume everything is ok.\r\n return true;\r\n}\r\n/**\r\n * Gets the current prototype name using the ES6 name if available otherwise falling back to a use unknown as the name.\r\n * It's not critical for this to return a name, it's used to decorate the generated unique name for easier debugging only.\r\n * @param target\r\n * @param unknownValue\r\n * @ignore\r\n */\r\nfunction _getObjName(target, unknownValue) {\r\n if (_hasOwnProperty(target, Prototype)) {\r\n // Look like a prototype\r\n return target.name || unknownValue || UnknownValue;\r\n }\r\n return (((target || {})[Constructor]) || {}).name || unknownValue || UnknownValue;\r\n}\r\n/**\r\n * Helper function when creating dynamic (inline) functions for classes, this helper performs the following tasks :-\r\n * - Saves references to all defined base class functions\r\n * - Calls the delegateFunc with the current target (this) and a base object reference that can be used to call all \"super\" functions.\r\n * - Will populate the class prototype for all overridden functions to support class extension that call the prototype instance.\r\n * Callers should use this helper when declaring all function within the constructor of a class, as mentioned above the delegateFunc is\r\n * passed both the target \"this\" and an object that can be used to call any base (super) functions, using this based object in place of\r\n * super.XXX() (which gets expanded to _super.prototype.XXX()) provides a better minification outcome and also ensures the correct \"this\"\r\n * context is maintained as TypeScript creates incorrect references using super.XXXX() for dynamically defined functions i.e. Functions\r\n * defined in the constructor or some other function (rather than declared as complete typescript functions).\r\n * ### Usage\r\n * ```typescript\r\n * import dynamicProto from \"@microsoft/dynamicproto-js\";\r\n * class ExampleClass extends BaseClass {\r\n * constructor() {\r\n * dynamicProto(ExampleClass, this, (_self, base) => {\r\n * // This will define a function that will be converted to a prototype function\r\n * _self.newFunc = () => {\r\n * // Access any \"this\" instance property\r\n * if (_self.someProperty) {\r\n * ...\r\n * }\r\n * }\r\n * // This will define a function that will be converted to a prototype function\r\n * _self.myFunction = () => {\r\n * // Access any \"this\" instance property\r\n * if (_self.someProperty) {\r\n * // Call the base version of the function that we are overriding\r\n * base.myFunction();\r\n * }\r\n * ...\r\n * }\r\n * _self.initialize = () => {\r\n * ...\r\n * }\r\n * // Warnings: While the following will work as _self is simply a reference to\r\n * // this, if anyone overrides myFunction() the overridden will be called first\r\n * // as the normal JavaScript method resolution will occur and the defined\r\n * // _self.initialize() function is actually gets removed from the instance and\r\n * // a proxy prototype version is created to reference the created method.\r\n * _self.initialize();\r\n * });\r\n * }\r\n * }\r\n * ```\r\n * @typeparam DPType This is the generic type of the class, used to keep intellisense valid\r\n * @typeparam DPCls The type that contains the prototype of the current class\r\n * @param theClass - This is the current class instance which contains the prototype for the current class\r\n * @param target - The current \"this\" (target) reference, when the class has been extended this.prototype will not be the 'theClass' value.\r\n * @param delegateFunc - The callback function (closure) that will create the dynamic function\r\n * @param options - Additional options to configure how the dynamic prototype operates\r\n */\r\nfunction dynamicProto(theClass, target, delegateFunc, options) {\r\n // Make sure that the passed theClass argument looks correct\r\n if (!_hasOwnProperty(theClass, Prototype)) {\r\n _throwTypeError(\"theClass is an invalid class definition.\");\r\n }\r\n // Quick check to make sure that the passed theClass argument looks correct (this is a common copy/paste error)\r\n var classProto = theClass[Prototype];\r\n if (!_checkPrototype(classProto, target)) {\r\n _throwTypeError(\"[\" + _getObjName(theClass) + \"] not in hierarchy of [\" + _getObjName(target) + \"]\");\r\n }\r\n var className = null;\r\n if (_hasOwnProperty(classProto, DynClassName)) {\r\n // Only grab the class name if it's defined on this prototype (i.e. don't walk the prototype chain)\r\n className = classProto[DynClassName];\r\n }\r\n else {\r\n // As not all browser support name on the prototype creating a unique dynamic one if we have not already\r\n // assigned one, so we can use a simple string as the lookup rather than an object for the dynamic instance\r\n // function table lookup.\r\n className = DynClassNamePrefix + _getObjName(theClass, \"_\") + \"$\" + _gblInst.n;\r\n _gblInst.n++;\r\n classProto[DynClassName] = className;\r\n }\r\n var perfOptions = dynamicProto[DynProtoDefaultOptions];\r\n var useBaseInst = !!perfOptions[strUseBaseInst];\r\n if (useBaseInst && options && options[strUseBaseInst] !== undefined) {\r\n useBaseInst = !!options[strUseBaseInst];\r\n }\r\n // Get the current instance functions\r\n var instFuncs = _getInstanceFuncs(target);\r\n // Get all of the functions for any base instance (before they are potentially overridden)\r\n var baseFuncs = _getBaseFuncs(classProto, target, instFuncs, useBaseInst);\r\n // Execute the delegate passing in both the current target \"this\" and \"base\" function references\r\n // Note casting the same type as we don't actually have the base class here and this will provide some intellisense support\r\n delegateFunc(target, baseFuncs);\r\n // Don't allow setting instance functions for older IE instances\r\n var setInstanceFunc = !!_objGetPrototypeOf && !!perfOptions[strSetInstFuncs];\r\n if (setInstanceFunc && options) {\r\n setInstanceFunc = !!options[strSetInstFuncs];\r\n }\r\n // Populate the Prototype for any overridden instance functions\r\n _populatePrototype(classProto, className, target, instFuncs, setInstanceFunc !== false);\r\n}\r\n/**\r\n * Exposes the default global options to allow global configuration, if the global values are disabled these will override\r\n * any passed values. This is primarily exposed to support unit-testing without the need for individual classes to expose\r\n * their internal usage of dynamic proto.\r\n */\r\ndynamicProto[DynProtoDefaultOptions] = _gblInst.o;\n\nexport { dynamicProto as default };\n","// Licensed to the .NET Foundation under one or more agreements.\r\n// The .NET Foundation licenses this file to you under the MIT license.\r\n// Rough polyfill of https://developer.mozilla.org/en-US/docs/Web/API/AbortController\r\n// We don't actually ever use the API being polyfilled, we always use the polyfill because\r\n// it's a very new API right now.\r\n// Not exported from index.\r\n/** @private */\r\nexport class AbortController {\r\n constructor() {\r\n this._isAborted = false;\r\n this.onabort = null;\r\n }\r\n abort() {\r\n if (!this._isAborted) {\r\n this._isAborted = true;\r\n if (this.onabort) {\r\n this.onabort();\r\n }\r\n }\r\n }\r\n get signal() {\r\n return this;\r\n }\r\n get aborted() {\r\n return this._isAborted;\r\n }\r\n}\r\n","// Licensed to the .NET Foundation under one or more agreements.\r\n// The .NET Foundation licenses this file to you under the MIT license.\r\nimport { AbortError } from \"./Errors\";\r\nimport { FetchHttpClient } from \"./FetchHttpClient\";\r\nimport { HttpClient } from \"./HttpClient\";\r\nimport { Platform } from \"./Utils\";\r\nimport { XhrHttpClient } from \"./XhrHttpClient\";\r\n/** Default implementation of {@link @microsoft/signalr.HttpClient}. */\r\nexport class DefaultHttpClient extends HttpClient {\r\n /** Creates a new instance of the {@link @microsoft/signalr.DefaultHttpClient}, using the provided {@link @microsoft/signalr.ILogger} to log messages. */\r\n constructor(logger) {\r\n super();\r\n if (typeof fetch !== \"undefined\" || Platform.isNode) {\r\n this._httpClient = new FetchHttpClient(logger);\r\n }\r\n else if (typeof XMLHttpRequest !== \"undefined\") {\r\n this._httpClient = new XhrHttpClient(logger);\r\n }\r\n else {\r\n throw new Error(\"No usable HttpClient found.\");\r\n }\r\n }\r\n /** @inheritDoc */\r\n send(request) {\r\n // Check that abort was not signaled before calling send\r\n if (request.abortSignal && request.abortSignal.aborted) {\r\n return Promise.reject(new AbortError());\r\n }\r\n if (!request.method) {\r\n return Promise.reject(new Error(\"No method defined.\"));\r\n }\r\n if (!request.url) {\r\n return Promise.reject(new Error(\"No url defined.\"));\r\n }\r\n return this._httpClient.send(request);\r\n }\r\n getCookieString(url) {\r\n return this._httpClient.getCookieString(url);\r\n }\r\n}\r\n","// Licensed to the .NET Foundation under one or more agreements.\r\n// The .NET Foundation licenses this file to you under the MIT license.\r\n// 0, 2, 10, 30 second delays before reconnect attempts.\r\nconst DEFAULT_RETRY_DELAYS_IN_MILLISECONDS = [0, 2000, 10000, 30000, null];\r\n/** @private */\r\nexport class DefaultReconnectPolicy {\r\n constructor(retryDelays) {\r\n this._retryDelays = retryDelays !== undefined ? [...retryDelays, null] : DEFAULT_RETRY_DELAYS_IN_MILLISECONDS;\r\n }\r\n nextRetryDelayInMilliseconds(retryContext) {\r\n return this._retryDelays[retryContext.previousRetryCount];\r\n }\r\n}\r\n","// Licensed to the .NET Foundation under one or more agreements.\r\n// The .NET Foundation licenses this file to you under the MIT license.\r\n/** Error thrown when an HTTP request fails. */\r\nexport class HttpError extends Error {\r\n /** Constructs a new instance of {@link @microsoft/signalr.HttpError}.\r\n *\r\n * @param {string} errorMessage A descriptive error message.\r\n * @param {number} statusCode The HTTP status code represented by this error.\r\n */\r\n constructor(errorMessage, statusCode) {\r\n const trueProto = new.target.prototype;\r\n super(`${errorMessage}: Status code '${statusCode}'`);\r\n this.statusCode = statusCode;\r\n // Workaround issue in Typescript compiler\r\n // https://github.com/Microsoft/TypeScript/issues/13965#issuecomment-278570200\r\n this.__proto__ = trueProto;\r\n }\r\n}\r\n/** Error thrown when a timeout elapses. */\r\nexport class TimeoutError extends Error {\r\n /** Constructs a new instance of {@link @microsoft/signalr.TimeoutError}.\r\n *\r\n * @param {string} errorMessage A descriptive error message.\r\n */\r\n constructor(errorMessage = \"A timeout occurred.\") {\r\n const trueProto = new.target.prototype;\r\n super(errorMessage);\r\n // Workaround issue in Typescript compiler\r\n // https://github.com/Microsoft/TypeScript/issues/13965#issuecomment-278570200\r\n this.__proto__ = trueProto;\r\n }\r\n}\r\n/** Error thrown when an action is aborted. */\r\nexport class AbortError extends Error {\r\n /** Constructs a new instance of {@link AbortError}.\r\n *\r\n * @param {string} errorMessage A descriptive error message.\r\n */\r\n constructor(errorMessage = \"An abort occurred.\") {\r\n const trueProto = new.target.prototype;\r\n super(errorMessage);\r\n // Workaround issue in Typescript compiler\r\n // https://github.com/Microsoft/TypeScript/issues/13965#issuecomment-278570200\r\n this.__proto__ = trueProto;\r\n }\r\n}\r\n/** Error thrown when the selected transport is unsupported by the browser. */\r\n/** @private */\r\nexport class UnsupportedTransportError extends Error {\r\n /** Constructs a new instance of {@link @microsoft/signalr.UnsupportedTransportError}.\r\n *\r\n * @param {string} message A descriptive error message.\r\n * @param {HttpTransportType} transport The {@link @microsoft/signalr.HttpTransportType} this error occured on.\r\n */\r\n constructor(message, transport) {\r\n const trueProto = new.target.prototype;\r\n super(message);\r\n this.transport = transport;\r\n this.errorType = 'UnsupportedTransportError';\r\n // Workaround issue in Typescript compiler\r\n // https://github.com/Microsoft/TypeScript/issues/13965#issuecomment-278570200\r\n this.__proto__ = trueProto;\r\n }\r\n}\r\n/** Error thrown when the selected transport is disabled by the browser. */\r\n/** @private */\r\nexport class DisabledTransportError extends Error {\r\n /** Constructs a new instance of {@link @microsoft/signalr.DisabledTransportError}.\r\n *\r\n * @param {string} message A descriptive error message.\r\n * @param {HttpTransportType} transport The {@link @microsoft/signalr.HttpTransportType} this error occured on.\r\n */\r\n constructor(message, transport) {\r\n const trueProto = new.target.prototype;\r\n super(message);\r\n this.transport = transport;\r\n this.errorType = 'DisabledTransportError';\r\n // Workaround issue in Typescript compiler\r\n // https://github.com/Microsoft/TypeScript/issues/13965#issuecomment-278570200\r\n this.__proto__ = trueProto;\r\n }\r\n}\r\n/** Error thrown when the selected transport cannot be started. */\r\n/** @private */\r\nexport class FailedToStartTransportError extends Error {\r\n /** Constructs a new instance of {@link @microsoft/signalr.FailedToStartTransportError}.\r\n *\r\n * @param {string} message A descriptive error message.\r\n * @param {HttpTransportType} transport The {@link @microsoft/signalr.HttpTransportType} this error occured on.\r\n */\r\n constructor(message, transport) {\r\n const trueProto = new.target.prototype;\r\n super(message);\r\n this.transport = transport;\r\n this.errorType = 'FailedToStartTransportError';\r\n // Workaround issue in Typescript compiler\r\n // https://github.com/Microsoft/TypeScript/issues/13965#issuecomment-278570200\r\n this.__proto__ = trueProto;\r\n }\r\n}\r\n/** Error thrown when the negotiation with the server failed to complete. */\r\n/** @private */\r\nexport class FailedToNegotiateWithServerError extends Error {\r\n /** Constructs a new instance of {@link @microsoft/signalr.FailedToNegotiateWithServerError}.\r\n *\r\n * @param {string} message A descriptive error message.\r\n */\r\n constructor(message) {\r\n const trueProto = new.target.prototype;\r\n super(message);\r\n this.errorType = 'FailedToNegotiateWithServerError';\r\n // Workaround issue in Typescript compiler\r\n // https://github.com/Microsoft/TypeScript/issues/13965#issuecomment-278570200\r\n this.__proto__ = trueProto;\r\n }\r\n}\r\n/** Error thrown when multiple errors have occured. */\r\n/** @private */\r\nexport class AggregateErrors extends Error {\r\n /** Constructs a new instance of {@link @microsoft/signalr.AggregateErrors}.\r\n *\r\n * @param {string} message A descriptive error message.\r\n * @param {Error[]} innerErrors The collection of errors this error is aggregating.\r\n */\r\n constructor(message, innerErrors) {\r\n const trueProto = new.target.prototype;\r\n super(message);\r\n this.innerErrors = innerErrors;\r\n // Workaround issue in Typescript compiler\r\n // https://github.com/Microsoft/TypeScript/issues/13965#issuecomment-278570200\r\n this.__proto__ = trueProto;\r\n }\r\n}\r\n","// Licensed to the .NET Foundation under one or more agreements.\r\n// The .NET Foundation licenses this file to you under the MIT license.\r\nimport { AbortError, HttpError, TimeoutError } from \"./Errors\";\r\nimport { HttpClient, HttpResponse } from \"./HttpClient\";\r\nimport { LogLevel } from \"./ILogger\";\r\nimport { Platform, getGlobalThis } from \"./Utils\";\r\nexport class FetchHttpClient extends HttpClient {\r\n constructor(logger) {\r\n super();\r\n this._logger = logger;\r\n if (typeof fetch === \"undefined\") {\r\n // In order to ignore the dynamic require in webpack builds we need to do this magic\r\n // @ts-ignore: TS doesn't know about these names\r\n const requireFunc = typeof __webpack_require__ === \"function\" ? __non_webpack_require__ : require;\r\n // Cookies aren't automatically handled in Node so we need to add a CookieJar to preserve cookies across requests\r\n this._jar = new (requireFunc(\"tough-cookie\")).CookieJar();\r\n this._fetchType = requireFunc(\"node-fetch\");\r\n // node-fetch doesn't have a nice API for getting and setting cookies\r\n // fetch-cookie will wrap a fetch implementation with a default CookieJar or a provided one\r\n this._fetchType = requireFunc(\"fetch-cookie\")(this._fetchType, this._jar);\r\n }\r\n else {\r\n this._fetchType = fetch.bind(getGlobalThis());\r\n }\r\n if (typeof AbortController === \"undefined\") {\r\n // In order to ignore the dynamic require in webpack builds we need to do this magic\r\n // @ts-ignore: TS doesn't know about these names\r\n const requireFunc = typeof __webpack_require__ === \"function\" ? __non_webpack_require__ : require;\r\n // Node needs EventListener methods on AbortController which our custom polyfill doesn't provide\r\n this._abortControllerType = requireFunc(\"abort-controller\");\r\n }\r\n else {\r\n this._abortControllerType = AbortController;\r\n }\r\n }\r\n /** @inheritDoc */\r\n async send(request) {\r\n // Check that abort was not signaled before calling send\r\n if (request.abortSignal && request.abortSignal.aborted) {\r\n throw new AbortError();\r\n }\r\n if (!request.method) {\r\n throw new Error(\"No method defined.\");\r\n }\r\n if (!request.url) {\r\n throw new Error(\"No url defined.\");\r\n }\r\n const abortController = new this._abortControllerType();\r\n let error;\r\n // Hook our abortSignal into the abort controller\r\n if (request.abortSignal) {\r\n request.abortSignal.onabort = () => {\r\n abortController.abort();\r\n error = new AbortError();\r\n };\r\n }\r\n // If a timeout has been passed in, setup a timeout to call abort\r\n // Type needs to be any to fit window.setTimeout and NodeJS.setTimeout\r\n let timeoutId = null;\r\n if (request.timeout) {\r\n const msTimeout = request.timeout;\r\n timeoutId = setTimeout(() => {\r\n abortController.abort();\r\n this._logger.log(LogLevel.Warning, `Timeout from HTTP request.`);\r\n error = new TimeoutError();\r\n }, msTimeout);\r\n }\r\n let response;\r\n try {\r\n response = await this._fetchType(request.url, {\r\n body: request.content,\r\n cache: \"no-cache\",\r\n credentials: request.withCredentials === true ? \"include\" : \"same-origin\",\r\n headers: {\r\n \"Content-Type\": \"text/plain;charset=UTF-8\",\r\n \"X-Requested-With\": \"XMLHttpRequest\",\r\n ...request.headers,\r\n },\r\n method: request.method,\r\n mode: \"cors\",\r\n redirect: \"follow\",\r\n signal: abortController.signal,\r\n });\r\n }\r\n catch (e) {\r\n if (error) {\r\n throw error;\r\n }\r\n this._logger.log(LogLevel.Warning, `Error from HTTP request. ${e}.`);\r\n throw e;\r\n }\r\n finally {\r\n if (timeoutId) {\r\n clearTimeout(timeoutId);\r\n }\r\n if (request.abortSignal) {\r\n request.abortSignal.onabort = null;\r\n }\r\n }\r\n if (!response.ok) {\r\n const errorMessage = await deserializeContent(response, \"text\");\r\n throw new HttpError(errorMessage || response.statusText, response.status);\r\n }\r\n const content = deserializeContent(response, request.responseType);\r\n const payload = await content;\r\n return new HttpResponse(response.status, response.statusText, payload);\r\n }\r\n getCookieString(url) {\r\n let cookies = \"\";\r\n if (Platform.isNode && this._jar) {\r\n // @ts-ignore: unused variable\r\n this._jar.getCookies(url, (e, c) => cookies = c.join(\"; \"));\r\n }\r\n return cookies;\r\n }\r\n}\r\nfunction deserializeContent(response, responseType) {\r\n let content;\r\n switch (responseType) {\r\n case \"arraybuffer\":\r\n content = response.arrayBuffer();\r\n break;\r\n case \"text\":\r\n content = response.text();\r\n break;\r\n case \"blob\":\r\n case \"document\":\r\n case \"json\":\r\n throw new Error(`${responseType} is not supported.`);\r\n default:\r\n content = response.text();\r\n break;\r\n }\r\n return content;\r\n}\r\n","// Licensed to the .NET Foundation under one or more agreements.\r\n// The .NET Foundation licenses this file to you under the MIT license.\r\nimport { TextMessageFormat } from \"./TextMessageFormat\";\r\nimport { isArrayBuffer } from \"./Utils\";\r\n/** @private */\r\nexport class HandshakeProtocol {\r\n // Handshake request is always JSON\r\n writeHandshakeRequest(handshakeRequest) {\r\n return TextMessageFormat.write(JSON.stringify(handshakeRequest));\r\n }\r\n parseHandshakeResponse(data) {\r\n let messageData;\r\n let remainingData;\r\n if (isArrayBuffer(data)) {\r\n // Format is binary but still need to read JSON text from handshake response\r\n const binaryData = new Uint8Array(data);\r\n const separatorIndex = binaryData.indexOf(TextMessageFormat.RecordSeparatorCode);\r\n if (separatorIndex === -1) {\r\n throw new Error(\"Message is incomplete.\");\r\n }\r\n // content before separator is handshake response\r\n // optional content after is additional messages\r\n const responseLength = separatorIndex + 1;\r\n messageData = String.fromCharCode.apply(null, Array.prototype.slice.call(binaryData.slice(0, responseLength)));\r\n remainingData = (binaryData.byteLength > responseLength) ? binaryData.slice(responseLength).buffer : null;\r\n }\r\n else {\r\n const textData = data;\r\n const separatorIndex = textData.indexOf(TextMessageFormat.RecordSeparator);\r\n if (separatorIndex === -1) {\r\n throw new Error(\"Message is incomplete.\");\r\n }\r\n // content before separator is handshake response\r\n // optional content after is additional messages\r\n const responseLength = separatorIndex + 1;\r\n messageData = textData.substring(0, responseLength);\r\n remainingData = (textData.length > responseLength) ? textData.substring(responseLength) : null;\r\n }\r\n // At this point we should have just the single handshake message\r\n const messages = TextMessageFormat.parse(messageData);\r\n const response = JSON.parse(messages[0]);\r\n if (response.type) {\r\n throw new Error(\"Expected a handshake response from the server.\");\r\n }\r\n const responseMessage = response;\r\n // multiple messages could have arrived with handshake\r\n // return additional data to be parsed as usual, or null if all parsed\r\n return [remainingData, responseMessage];\r\n }\r\n}\r\n","// Licensed to the .NET Foundation under one or more agreements.\r\n// The .NET Foundation licenses this file to you under the MIT license.\r\nexport class HeaderNames {\r\n}\r\nHeaderNames.Authorization = \"Authorization\";\r\nHeaderNames.Cookie = \"Cookie\";\r\n","// Licensed to the .NET Foundation under one or more agreements.\r\n// The .NET Foundation licenses this file to you under the MIT license.\r\n/** Represents an HTTP response. */\r\nexport class HttpResponse {\r\n constructor(statusCode, statusText, content) {\r\n this.statusCode = statusCode;\r\n this.statusText = statusText;\r\n this.content = content;\r\n }\r\n}\r\n/** Abstraction over an HTTP client.\r\n *\r\n * This class provides an abstraction over an HTTP client so that a different implementation can be provided on different platforms.\r\n */\r\nexport class HttpClient {\r\n get(url, options) {\r\n return this.send({\r\n ...options,\r\n method: \"GET\",\r\n url,\r\n });\r\n }\r\n post(url, options) {\r\n return this.send({\r\n ...options,\r\n method: \"POST\",\r\n url,\r\n });\r\n }\r\n delete(url, options) {\r\n return this.send({\r\n ...options,\r\n method: \"DELETE\",\r\n url,\r\n });\r\n }\r\n /** Gets all cookies that apply to the specified URL.\r\n *\r\n * @param url The URL that the cookies are valid for.\r\n * @returns {string} A string containing all the key-value cookie pairs for the specified URL.\r\n */\r\n // @ts-ignore\r\n getCookieString(url) {\r\n return \"\";\r\n }\r\n}\r\n","// Licensed to the .NET Foundation under one or more agreements.\r\n// The .NET Foundation licenses this file to you under the MIT license.\r\nimport { DefaultHttpClient } from \"./DefaultHttpClient\";\r\nimport { AggregateErrors, DisabledTransportError, FailedToNegotiateWithServerError, FailedToStartTransportError, HttpError, UnsupportedTransportError } from \"./Errors\";\r\nimport { HeaderNames } from \"./HeaderNames\";\r\nimport { LogLevel } from \"./ILogger\";\r\nimport { HttpTransportType, TransferFormat } from \"./ITransport\";\r\nimport { LongPollingTransport } from \"./LongPollingTransport\";\r\nimport { ServerSentEventsTransport } from \"./ServerSentEventsTransport\";\r\nimport { Arg, createLogger, getUserAgentHeader, Platform } from \"./Utils\";\r\nimport { WebSocketTransport } from \"./WebSocketTransport\";\r\nconst MAX_REDIRECTS = 100;\r\n/** @private */\r\nexport class HttpConnection {\r\n constructor(url, options = {}) {\r\n this._stopPromiseResolver = () => { };\r\n this.features = {};\r\n this._negotiateVersion = 1;\r\n Arg.isRequired(url, \"url\");\r\n this._logger = createLogger(options.logger);\r\n this.baseUrl = this._resolveUrl(url);\r\n options = options || {};\r\n options.logMessageContent = options.logMessageContent === undefined ? false : options.logMessageContent;\r\n if (typeof options.withCredentials === \"boolean\" || options.withCredentials === undefined) {\r\n options.withCredentials = options.withCredentials === undefined ? true : options.withCredentials;\r\n }\r\n else {\r\n throw new Error(\"withCredentials option was not a 'boolean' or 'undefined' value\");\r\n }\r\n options.timeout = options.timeout === undefined ? 100 * 1000 : options.timeout;\r\n let webSocketModule = null;\r\n let eventSourceModule = null;\r\n if (Platform.isNode && typeof require !== \"undefined\") {\r\n // In order to ignore the dynamic require in webpack builds we need to do this magic\r\n // @ts-ignore: TS doesn't know about these names\r\n const requireFunc = typeof __webpack_require__ === \"function\" ? __non_webpack_require__ : require;\r\n webSocketModule = requireFunc(\"ws\");\r\n eventSourceModule = requireFunc(\"eventsource\");\r\n }\r\n if (!Platform.isNode && typeof WebSocket !== \"undefined\" && !options.WebSocket) {\r\n options.WebSocket = WebSocket;\r\n }\r\n else if (Platform.isNode && !options.WebSocket) {\r\n if (webSocketModule) {\r\n options.WebSocket = webSocketModule;\r\n }\r\n }\r\n if (!Platform.isNode && typeof EventSource !== \"undefined\" && !options.EventSource) {\r\n options.EventSource = EventSource;\r\n }\r\n else if (Platform.isNode && !options.EventSource) {\r\n if (typeof eventSourceModule !== \"undefined\") {\r\n options.EventSource = eventSourceModule;\r\n }\r\n }\r\n this._httpClient = options.httpClient || new DefaultHttpClient(this._logger);\r\n this._connectionState = \"Disconnected\" /* Disconnected */;\r\n this._connectionStarted = false;\r\n this._options = options;\r\n this.onreceive = null;\r\n this.onclose = null;\r\n }\r\n async start(transferFormat) {\r\n transferFormat = transferFormat || TransferFormat.Binary;\r\n Arg.isIn(transferFormat, TransferFormat, \"transferFormat\");\r\n this._logger.log(LogLevel.Debug, `Starting connection with transfer format '${TransferFormat[transferFormat]}'.`);\r\n if (this._connectionState !== \"Disconnected\" /* Disconnected */) {\r\n return Promise.reject(new Error(\"Cannot start an HttpConnection that is not in the 'Disconnected' state.\"));\r\n }\r\n this._connectionState = \"Connecting\" /* Connecting */;\r\n this._startInternalPromise = this._startInternal(transferFormat);\r\n await this._startInternalPromise;\r\n // The TypeScript compiler thinks that connectionState must be Connecting here. The TypeScript compiler is wrong.\r\n if (this._connectionState === \"Disconnecting\" /* Disconnecting */) {\r\n // stop() was called and transitioned the client into the Disconnecting state.\r\n const message = \"Failed to start the HttpConnection before stop() was called.\";\r\n this._logger.log(LogLevel.Error, message);\r\n // We cannot await stopPromise inside startInternal since stopInternal awaits the startInternalPromise.\r\n await this._stopPromise;\r\n return Promise.reject(new Error(message));\r\n }\r\n else if (this._connectionState !== \"Connected\" /* Connected */) {\r\n // stop() was called and transitioned the client into the Disconnecting state.\r\n const message = \"HttpConnection.startInternal completed gracefully but didn't enter the connection into the connected state!\";\r\n this._logger.log(LogLevel.Error, message);\r\n return Promise.reject(new Error(message));\r\n }\r\n this._connectionStarted = true;\r\n }\r\n send(data) {\r\n if (this._connectionState !== \"Connected\" /* Connected */) {\r\n return Promise.reject(new Error(\"Cannot send data if the connection is not in the 'Connected' State.\"));\r\n }\r\n if (!this._sendQueue) {\r\n this._sendQueue = new TransportSendQueue(this.transport);\r\n }\r\n // Transport will not be null if state is connected\r\n return this._sendQueue.send(data);\r\n }\r\n async stop(error) {\r\n if (this._connectionState === \"Disconnected\" /* Disconnected */) {\r\n this._logger.log(LogLevel.Debug, `Call to HttpConnection.stop(${error}) ignored because the connection is already in the disconnected state.`);\r\n return Promise.resolve();\r\n }\r\n if (this._connectionState === \"Disconnecting\" /* Disconnecting */) {\r\n this._logger.log(LogLevel.Debug, `Call to HttpConnection.stop(${error}) ignored because the connection is already in the disconnecting state.`);\r\n return this._stopPromise;\r\n }\r\n this._connectionState = \"Disconnecting\" /* Disconnecting */;\r\n this._stopPromise = new Promise((resolve) => {\r\n // Don't complete stop() until stopConnection() completes.\r\n this._stopPromiseResolver = resolve;\r\n });\r\n // stopInternal should never throw so just observe it.\r\n await this._stopInternal(error);\r\n await this._stopPromise;\r\n }\r\n async _stopInternal(error) {\r\n // Set error as soon as possible otherwise there is a race between\r\n // the transport closing and providing an error and the error from a close message\r\n // We would prefer the close message error.\r\n this._stopError = error;\r\n try {\r\n await this._startInternalPromise;\r\n }\r\n catch (e) {\r\n // This exception is returned to the user as a rejected Promise from the start method.\r\n }\r\n // The transport's onclose will trigger stopConnection which will run our onclose event.\r\n // The transport should always be set if currently connected. If it wasn't set, it's likely because\r\n // stop was called during start() and start() failed.\r\n if (this.transport) {\r\n try {\r\n await this.transport.stop();\r\n }\r\n catch (e) {\r\n this._logger.log(LogLevel.Error, `HttpConnection.transport.stop() threw error '${e}'.`);\r\n this._stopConnection();\r\n }\r\n this.transport = undefined;\r\n }\r\n else {\r\n this._logger.log(LogLevel.Debug, \"HttpConnection.transport is undefined in HttpConnection.stop() because start() failed.\");\r\n }\r\n }\r\n async _startInternal(transferFormat) {\r\n // Store the original base url and the access token factory since they may change\r\n // as part of negotiating\r\n let url = this.baseUrl;\r\n this._accessTokenFactory = this._options.accessTokenFactory;\r\n try {\r\n if (this._options.skipNegotiation) {\r\n if (this._options.transport === HttpTransportType.WebSockets) {\r\n // No need to add a connection ID in this case\r\n this.transport = this._constructTransport(HttpTransportType.WebSockets);\r\n // We should just call connect directly in this case.\r\n // No fallback or negotiate in this case.\r\n await this._startTransport(url, transferFormat);\r\n }\r\n else {\r\n throw new Error(\"Negotiation can only be skipped when using the WebSocket transport directly.\");\r\n }\r\n }\r\n else {\r\n let negotiateResponse = null;\r\n let redirects = 0;\r\n do {\r\n negotiateResponse = await this._getNegotiationResponse(url);\r\n // the user tries to stop the connection when it is being started\r\n if (this._connectionState === \"Disconnecting\" /* Disconnecting */ || this._connectionState === \"Disconnected\" /* Disconnected */) {\r\n throw new Error(\"The connection was stopped during negotiation.\");\r\n }\r\n if (negotiateResponse.error) {\r\n throw new Error(negotiateResponse.error);\r\n }\r\n if (negotiateResponse.ProtocolVersion) {\r\n throw new Error(\"Detected a connection attempt to an ASP.NET SignalR Server. This client only supports connecting to an ASP.NET Core SignalR Server. See https://aka.ms/signalr-core-differences for details.\");\r\n }\r\n if (negotiateResponse.url) {\r\n url = negotiateResponse.url;\r\n }\r\n if (negotiateResponse.accessToken) {\r\n // Replace the current access token factory with one that uses\r\n // the returned access token\r\n const accessToken = negotiateResponse.accessToken;\r\n this._accessTokenFactory = () => accessToken;\r\n }\r\n redirects++;\r\n } while (negotiateResponse.url && redirects < MAX_REDIRECTS);\r\n if (redirects === MAX_REDIRECTS && negotiateResponse.url) {\r\n throw new Error(\"Negotiate redirection limit exceeded.\");\r\n }\r\n await this._createTransport(url, this._options.transport, negotiateResponse, transferFormat);\r\n }\r\n if (this.transport instanceof LongPollingTransport) {\r\n this.features.inherentKeepAlive = true;\r\n }\r\n if (this._connectionState === \"Connecting\" /* Connecting */) {\r\n // Ensure the connection transitions to the connected state prior to completing this.startInternalPromise.\r\n // start() will handle the case when stop was called and startInternal exits still in the disconnecting state.\r\n this._logger.log(LogLevel.Debug, \"The HttpConnection connected successfully.\");\r\n this._connectionState = \"Connected\" /* Connected */;\r\n }\r\n // stop() is waiting on us via this.startInternalPromise so keep this.transport around so it can clean up.\r\n // This is the only case startInternal can exit in neither the connected nor disconnected state because stopConnection()\r\n // will transition to the disconnected state. start() will wait for the transition using the stopPromise.\r\n }\r\n catch (e) {\r\n this._logger.log(LogLevel.Error, \"Failed to start the connection: \" + e);\r\n this._connectionState = \"Disconnected\" /* Disconnected */;\r\n this.transport = undefined;\r\n // if start fails, any active calls to stop assume that start will complete the stop promise\r\n this._stopPromiseResolver();\r\n return Promise.reject(e);\r\n }\r\n }\r\n async _getNegotiationResponse(url) {\r\n const headers = {};\r\n if (this._accessTokenFactory) {\r\n const token = await this._accessTokenFactory();\r\n if (token) {\r\n headers[HeaderNames.Authorization] = `Bearer ${token}`;\r\n }\r\n }\r\n const [name, value] = getUserAgentHeader();\r\n headers[name] = value;\r\n const negotiateUrl = this._resolveNegotiateUrl(url);\r\n this._logger.log(LogLevel.Debug, `Sending negotiation request: ${negotiateUrl}.`);\r\n try {\r\n const response = await this._httpClient.post(negotiateUrl, {\r\n content: \"\",\r\n headers: { ...headers, ...this._options.headers },\r\n timeout: this._options.timeout,\r\n withCredentials: this._options.withCredentials,\r\n });\r\n if (response.statusCode !== 200) {\r\n return Promise.reject(new Error(`Unexpected status code returned from negotiate '${response.statusCode}'`));\r\n }\r\n const negotiateResponse = JSON.parse(response.content);\r\n if (!negotiateResponse.negotiateVersion || negotiateResponse.negotiateVersion < 1) {\r\n // Negotiate version 0 doesn't use connectionToken\r\n // So we set it equal to connectionId so all our logic can use connectionToken without being aware of the negotiate version\r\n negotiateResponse.connectionToken = negotiateResponse.connectionId;\r\n }\r\n return negotiateResponse;\r\n }\r\n catch (e) {\r\n let errorMessage = \"Failed to complete negotiation with the server: \" + e;\r\n if (e instanceof HttpError) {\r\n if (e.statusCode === 404) {\r\n errorMessage = errorMessage + \" Either this is not a SignalR endpoint or there is a proxy blocking the connection.\";\r\n }\r\n }\r\n this._logger.log(LogLevel.Error, errorMessage);\r\n return Promise.reject(new FailedToNegotiateWithServerError(errorMessage));\r\n }\r\n }\r\n _createConnectUrl(url, connectionToken) {\r\n if (!connectionToken) {\r\n return url;\r\n }\r\n return url + (url.indexOf(\"?\") === -1 ? \"?\" : \"&\") + `id=${connectionToken}`;\r\n }\r\n async _createTransport(url, requestedTransport, negotiateResponse, requestedTransferFormat) {\r\n let connectUrl = this._createConnectUrl(url, negotiateResponse.connectionToken);\r\n if (this._isITransport(requestedTransport)) {\r\n this._logger.log(LogLevel.Debug, \"Connection was provided an instance of ITransport, using that directly.\");\r\n this.transport = requestedTransport;\r\n await this._startTransport(connectUrl, requestedTransferFormat);\r\n this.connectionId = negotiateResponse.connectionId;\r\n return;\r\n }\r\n const transportExceptions = [];\r\n const transports = negotiateResponse.availableTransports || [];\r\n let negotiate = negotiateResponse;\r\n for (const endpoint of transports) {\r\n const transportOrError = this._resolveTransportOrError(endpoint, requestedTransport, requestedTransferFormat);\r\n if (transportOrError instanceof Error) {\r\n // Store the error and continue, we don't want to cause a re-negotiate in these cases\r\n transportExceptions.push(`${endpoint.transport} failed:`);\r\n transportExceptions.push(transportOrError);\r\n }\r\n else if (this._isITransport(transportOrError)) {\r\n this.transport = transportOrError;\r\n if (!negotiate) {\r\n try {\r\n negotiate = await this._getNegotiationResponse(url);\r\n }\r\n catch (ex) {\r\n return Promise.reject(ex);\r\n }\r\n connectUrl = this._createConnectUrl(url, negotiate.connectionToken);\r\n }\r\n try {\r\n await this._startTransport(connectUrl, requestedTransferFormat);\r\n this.connectionId = negotiate.connectionId;\r\n return;\r\n }\r\n catch (ex) {\r\n this._logger.log(LogLevel.Error, `Failed to start the transport '${endpoint.transport}': ${ex}`);\r\n negotiate = undefined;\r\n transportExceptions.push(new FailedToStartTransportError(`${endpoint.transport} failed: ${ex}`, HttpTransportType[endpoint.transport]));\r\n if (this._connectionState !== \"Connecting\" /* Connecting */) {\r\n const message = \"Failed to select transport before stop() was called.\";\r\n this._logger.log(LogLevel.Debug, message);\r\n return Promise.reject(new Error(message));\r\n }\r\n }\r\n }\r\n }\r\n if (transportExceptions.length > 0) {\r\n return Promise.reject(new AggregateErrors(`Unable to connect to the server with any of the available transports. ${transportExceptions.join(\" \")}`, transportExceptions));\r\n }\r\n return Promise.reject(new Error(\"None of the transports supported by the client are supported by the server.\"));\r\n }\r\n _constructTransport(transport) {\r\n switch (transport) {\r\n case HttpTransportType.WebSockets:\r\n if (!this._options.WebSocket) {\r\n throw new Error(\"'WebSocket' is not supported in your environment.\");\r\n }\r\n return new WebSocketTransport(this._httpClient, this._accessTokenFactory, this._logger, this._options.logMessageContent, this._options.WebSocket, this._options.headers || {});\r\n case HttpTransportType.ServerSentEvents:\r\n if (!this._options.EventSource) {\r\n throw new Error(\"'EventSource' is not supported in your environment.\");\r\n }\r\n return new ServerSentEventsTransport(this._httpClient, this._accessTokenFactory, this._logger, this._options);\r\n case HttpTransportType.LongPolling:\r\n return new LongPollingTransport(this._httpClient, this._accessTokenFactory, this._logger, this._options);\r\n default:\r\n throw new Error(`Unknown transport: ${transport}.`);\r\n }\r\n }\r\n _startTransport(url, transferFormat) {\r\n this.transport.onreceive = this.onreceive;\r\n this.transport.onclose = (e) => this._stopConnection(e);\r\n return this.transport.connect(url, transferFormat);\r\n }\r\n _resolveTransportOrError(endpoint, requestedTransport, requestedTransferFormat) {\r\n const transport = HttpTransportType[endpoint.transport];\r\n if (transport === null || transport === undefined) {\r\n this._logger.log(LogLevel.Debug, `Skipping transport '${endpoint.transport}' because it is not supported by this client.`);\r\n return new Error(`Skipping transport '${endpoint.transport}' because it is not supported by this client.`);\r\n }\r\n else {\r\n if (transportMatches(requestedTransport, transport)) {\r\n const transferFormats = endpoint.transferFormats.map((s) => TransferFormat[s]);\r\n if (transferFormats.indexOf(requestedTransferFormat) >= 0) {\r\n if ((transport === HttpTransportType.WebSockets && !this._options.WebSocket) ||\r\n (transport === HttpTransportType.ServerSentEvents && !this._options.EventSource)) {\r\n this._logger.log(LogLevel.Debug, `Skipping transport '${HttpTransportType[transport]}' because it is not supported in your environment.'`);\r\n return new UnsupportedTransportError(`'${HttpTransportType[transport]}' is not supported in your environment.`, transport);\r\n }\r\n else {\r\n this._logger.log(LogLevel.Debug, `Selecting transport '${HttpTransportType[transport]}'.`);\r\n try {\r\n return this._constructTransport(transport);\r\n }\r\n catch (ex) {\r\n return ex;\r\n }\r\n }\r\n }\r\n else {\r\n this._logger.log(LogLevel.Debug, `Skipping transport '${HttpTransportType[transport]}' because it does not support the requested transfer format '${TransferFormat[requestedTransferFormat]}'.`);\r\n return new Error(`'${HttpTransportType[transport]}' does not support ${TransferFormat[requestedTransferFormat]}.`);\r\n }\r\n }\r\n else {\r\n this._logger.log(LogLevel.Debug, `Skipping transport '${HttpTransportType[transport]}' because it was disabled by the client.`);\r\n return new DisabledTransportError(`'${HttpTransportType[transport]}' is disabled by the client.`, transport);\r\n }\r\n }\r\n }\r\n _isITransport(transport) {\r\n return transport && typeof (transport) === \"object\" && \"connect\" in transport;\r\n }\r\n _stopConnection(error) {\r\n this._logger.log(LogLevel.Debug, `HttpConnection.stopConnection(${error}) called while in state ${this._connectionState}.`);\r\n this.transport = undefined;\r\n // If we have a stopError, it takes precedence over the error from the transport\r\n error = this._stopError || error;\r\n this._stopError = undefined;\r\n if (this._connectionState === \"Disconnected\" /* Disconnected */) {\r\n this._logger.log(LogLevel.Debug, `Call to HttpConnection.stopConnection(${error}) was ignored because the connection is already in the disconnected state.`);\r\n return;\r\n }\r\n if (this._connectionState === \"Connecting\" /* Connecting */) {\r\n this._logger.log(LogLevel.Warning, `Call to HttpConnection.stopConnection(${error}) was ignored because the connection is still in the connecting state.`);\r\n throw new Error(`HttpConnection.stopConnection(${error}) was called while the connection is still in the connecting state.`);\r\n }\r\n if (this._connectionState === \"Disconnecting\" /* Disconnecting */) {\r\n // A call to stop() induced this call to stopConnection and needs to be completed.\r\n // Any stop() awaiters will be scheduled to continue after the onclose callback fires.\r\n this._stopPromiseResolver();\r\n }\r\n if (error) {\r\n this._logger.log(LogLevel.Error, `Connection disconnected with error '${error}'.`);\r\n }\r\n else {\r\n this._logger.log(LogLevel.Information, \"Connection disconnected.\");\r\n }\r\n if (this._sendQueue) {\r\n this._sendQueue.stop().catch((e) => {\r\n this._logger.log(LogLevel.Error, `TransportSendQueue.stop() threw error '${e}'.`);\r\n });\r\n this._sendQueue = undefined;\r\n }\r\n this.connectionId = undefined;\r\n this._connectionState = \"Disconnected\" /* Disconnected */;\r\n if (this._connectionStarted) {\r\n this._connectionStarted = false;\r\n try {\r\n if (this.onclose) {\r\n this.onclose(error);\r\n }\r\n }\r\n catch (e) {\r\n this._logger.log(LogLevel.Error, `HttpConnection.onclose(${error}) threw error '${e}'.`);\r\n }\r\n }\r\n }\r\n _resolveUrl(url) {\r\n // startsWith is not supported in IE\r\n if (url.lastIndexOf(\"https://\", 0) === 0 || url.lastIndexOf(\"http://\", 0) === 0) {\r\n return url;\r\n }\r\n if (!Platform.isBrowser) {\r\n throw new Error(`Cannot resolve '${url}'.`);\r\n }\r\n // Setting the url to the href propery of an anchor tag handles normalization\r\n // for us. There are 3 main cases.\r\n // 1. Relative path normalization e.g \"b\" -> \"http://localhost:5000/a/b\"\r\n // 2. Absolute path normalization e.g \"/a/b\" -> \"http://localhost:5000/a/b\"\r\n // 3. Networkpath reference normalization e.g \"//localhost:5000/a/b\" -> \"http://localhost:5000/a/b\"\r\n const aTag = window.document.createElement(\"a\");\r\n aTag.href = url;\r\n this._logger.log(LogLevel.Information, `Normalizing '${url}' to '${aTag.href}'.`);\r\n return aTag.href;\r\n }\r\n _resolveNegotiateUrl(url) {\r\n const index = url.indexOf(\"?\");\r\n let negotiateUrl = url.substring(0, index === -1 ? url.length : index);\r\n if (negotiateUrl[negotiateUrl.length - 1] !== \"/\") {\r\n negotiateUrl += \"/\";\r\n }\r\n negotiateUrl += \"negotiate\";\r\n negotiateUrl += index === -1 ? \"\" : url.substring(index);\r\n if (negotiateUrl.indexOf(\"negotiateVersion\") === -1) {\r\n negotiateUrl += index === -1 ? \"?\" : \"&\";\r\n negotiateUrl += \"negotiateVersion=\" + this._negotiateVersion;\r\n }\r\n return negotiateUrl;\r\n }\r\n}\r\nfunction transportMatches(requestedTransport, actualTransport) {\r\n return !requestedTransport || ((actualTransport & requestedTransport) !== 0);\r\n}\r\n/** @private */\r\nexport class TransportSendQueue {\r\n constructor(_transport) {\r\n this._transport = _transport;\r\n this._buffer = [];\r\n this._executing = true;\r\n this._sendBufferedData = new PromiseSource();\r\n this._transportResult = new PromiseSource();\r\n this._sendLoopPromise = this._sendLoop();\r\n }\r\n send(data) {\r\n this._bufferData(data);\r\n if (!this._transportResult) {\r\n this._transportResult = new PromiseSource();\r\n }\r\n return this._transportResult.promise;\r\n }\r\n stop() {\r\n this._executing = false;\r\n this._sendBufferedData.resolve();\r\n return this._sendLoopPromise;\r\n }\r\n _bufferData(data) {\r\n if (this._buffer.length && typeof (this._buffer[0]) !== typeof (data)) {\r\n throw new Error(`Expected data to be of type ${typeof (this._buffer)} but was of type ${typeof (data)}`);\r\n }\r\n this._buffer.push(data);\r\n this._sendBufferedData.resolve();\r\n }\r\n async _sendLoop() {\r\n while (true) {\r\n await this._sendBufferedData.promise;\r\n if (!this._executing) {\r\n if (this._transportResult) {\r\n this._transportResult.reject(\"Connection stopped.\");\r\n }\r\n break;\r\n }\r\n this._sendBufferedData = new PromiseSource();\r\n const transportResult = this._transportResult;\r\n this._transportResult = undefined;\r\n const data = typeof (this._buffer[0]) === \"string\" ?\r\n this._buffer.join(\"\") :\r\n TransportSendQueue._concatBuffers(this._buffer);\r\n this._buffer.length = 0;\r\n try {\r\n await this._transport.send(data);\r\n transportResult.resolve();\r\n }\r\n catch (error) {\r\n transportResult.reject(error);\r\n }\r\n }\r\n }\r\n static _concatBuffers(arrayBuffers) {\r\n const totalLength = arrayBuffers.map((b) => b.byteLength).reduce((a, b) => a + b);\r\n const result = new Uint8Array(totalLength);\r\n let offset = 0;\r\n for (const item of arrayBuffers) {\r\n result.set(new Uint8Array(item), offset);\r\n offset += item.byteLength;\r\n }\r\n return result.buffer;\r\n }\r\n}\r\nclass PromiseSource {\r\n constructor() {\r\n this.promise = new Promise((resolve, reject) => [this._resolver, this._rejecter] = [resolve, reject]);\r\n }\r\n resolve() {\r\n this._resolver();\r\n }\r\n reject(reason) {\r\n this._rejecter(reason);\r\n }\r\n}\r\n","// Licensed to the .NET Foundation under one or more agreements.\r\n// The .NET Foundation licenses this file to you under the MIT license.\r\nimport { HandshakeProtocol } from \"./HandshakeProtocol\";\r\nimport { MessageType } from \"./IHubProtocol\";\r\nimport { LogLevel } from \"./ILogger\";\r\nimport { Subject } from \"./Subject\";\r\nimport { Arg, getErrorString, Platform } from \"./Utils\";\r\nconst DEFAULT_TIMEOUT_IN_MS = 30 * 1000;\r\nconst DEFAULT_PING_INTERVAL_IN_MS = 15 * 1000;\r\n/** Describes the current state of the {@link HubConnection} to the server. */\r\nexport var HubConnectionState;\r\n(function (HubConnectionState) {\r\n /** The hub connection is disconnected. */\r\n HubConnectionState[\"Disconnected\"] = \"Disconnected\";\r\n /** The hub connection is connecting. */\r\n HubConnectionState[\"Connecting\"] = \"Connecting\";\r\n /** The hub connection is connected. */\r\n HubConnectionState[\"Connected\"] = \"Connected\";\r\n /** The hub connection is disconnecting. */\r\n HubConnectionState[\"Disconnecting\"] = \"Disconnecting\";\r\n /** The hub connection is reconnecting. */\r\n HubConnectionState[\"Reconnecting\"] = \"Reconnecting\";\r\n})(HubConnectionState || (HubConnectionState = {}));\r\n/** Represents a connection to a SignalR Hub. */\r\nexport class HubConnection {\r\n constructor(connection, logger, protocol, reconnectPolicy) {\r\n this._nextKeepAlive = 0;\r\n this._freezeEventListener = () => {\r\n this._logger.log(LogLevel.Warning, \"The page is being frozen, this will likely lead to the connection being closed and messages being lost. For more information see the docs at https://docs.microsoft.com/aspnet/core/signalr/javascript-client#bsleep\");\r\n };\r\n Arg.isRequired(connection, \"connection\");\r\n Arg.isRequired(logger, \"logger\");\r\n Arg.isRequired(protocol, \"protocol\");\r\n this.serverTimeoutInMilliseconds = DEFAULT_TIMEOUT_IN_MS;\r\n this.keepAliveIntervalInMilliseconds = DEFAULT_PING_INTERVAL_IN_MS;\r\n this._logger = logger;\r\n this._protocol = protocol;\r\n this.connection = connection;\r\n this._reconnectPolicy = reconnectPolicy;\r\n this._handshakeProtocol = new HandshakeProtocol();\r\n this.connection.onreceive = (data) => this._processIncomingData(data);\r\n this.connection.onclose = (error) => this._connectionClosed(error);\r\n this._callbacks = {};\r\n this._methods = {};\r\n this._closedCallbacks = [];\r\n this._reconnectingCallbacks = [];\r\n this._reconnectedCallbacks = [];\r\n this._invocationId = 0;\r\n this._receivedHandshakeResponse = false;\r\n this._connectionState = HubConnectionState.Disconnected;\r\n this._connectionStarted = false;\r\n this._cachedPingMessage = this._protocol.writeMessage({ type: MessageType.Ping });\r\n }\r\n /** @internal */\r\n // Using a public static factory method means we can have a private constructor and an _internal_\r\n // create method that can be used by HubConnectionBuilder. An \"internal\" constructor would just\r\n // be stripped away and the '.d.ts' file would have no constructor, which is interpreted as a\r\n // public parameter-less constructor.\r\n static create(connection, logger, protocol, reconnectPolicy) {\r\n return new HubConnection(connection, logger, protocol, reconnectPolicy);\r\n }\r\n /** Indicates the state of the {@link HubConnection} to the server. */\r\n get state() {\r\n return this._connectionState;\r\n }\r\n /** Represents the connection id of the {@link HubConnection} on the server. The connection id will be null when the connection is either\r\n * in the disconnected state or if the negotiation step was skipped.\r\n */\r\n get connectionId() {\r\n return this.connection ? (this.connection.connectionId || null) : null;\r\n }\r\n /** Indicates the url of the {@link HubConnection} to the server. */\r\n get baseUrl() {\r\n return this.connection.baseUrl || \"\";\r\n }\r\n /**\r\n * Sets a new url for the HubConnection. Note that the url can only be changed when the connection is in either the Disconnected or\r\n * Reconnecting states.\r\n * @param {string} url The url to connect to.\r\n */\r\n set baseUrl(url) {\r\n if (this._connectionState !== HubConnectionState.Disconnected && this._connectionState !== HubConnectionState.Reconnecting) {\r\n throw new Error(\"The HubConnection must be in the Disconnected or Reconnecting state to change the url.\");\r\n }\r\n if (!url) {\r\n throw new Error(\"The HubConnection url must be a valid url.\");\r\n }\r\n this.connection.baseUrl = url;\r\n }\r\n /** Starts the connection.\r\n *\r\n * @returns {Promise} A Promise that resolves when the connection has been successfully established, or rejects with an error.\r\n */\r\n start() {\r\n this._startPromise = this._startWithStateTransitions();\r\n return this._startPromise;\r\n }\r\n async _startWithStateTransitions() {\r\n if (this._connectionState !== HubConnectionState.Disconnected) {\r\n return Promise.reject(new Error(\"Cannot start a HubConnection that is not in the 'Disconnected' state.\"));\r\n }\r\n this._connectionState = HubConnectionState.Connecting;\r\n this._logger.log(LogLevel.Debug, \"Starting HubConnection.\");\r\n try {\r\n await this._startInternal();\r\n if (Platform.isBrowser) {\r\n // Log when the browser freezes the tab so users know why their connection unexpectedly stopped working\r\n window.document.addEventListener(\"freeze\", this._freezeEventListener);\r\n }\r\n this._connectionState = HubConnectionState.Connected;\r\n this._connectionStarted = true;\r\n this._logger.log(LogLevel.Debug, \"HubConnection connected successfully.\");\r\n }\r\n catch (e) {\r\n this._connectionState = HubConnectionState.Disconnected;\r\n this._logger.log(LogLevel.Debug, `HubConnection failed to start successfully because of error '${e}'.`);\r\n return Promise.reject(e);\r\n }\r\n }\r\n async _startInternal() {\r\n this._stopDuringStartError = undefined;\r\n this._receivedHandshakeResponse = false;\r\n // Set up the promise before any connection is (re)started otherwise it could race with received messages\r\n const handshakePromise = new Promise((resolve, reject) => {\r\n this._handshakeResolver = resolve;\r\n this._handshakeRejecter = reject;\r\n });\r\n await this.connection.start(this._protocol.transferFormat);\r\n try {\r\n const handshakeRequest = {\r\n protocol: this._protocol.name,\r\n version: this._protocol.version,\r\n };\r\n this._logger.log(LogLevel.Debug, \"Sending handshake request.\");\r\n await this._sendMessage(this._handshakeProtocol.writeHandshakeRequest(handshakeRequest));\r\n this._logger.log(LogLevel.Information, `Using HubProtocol '${this._protocol.name}'.`);\r\n // defensively cleanup timeout in case we receive a message from the server before we finish start\r\n this._cleanupTimeout();\r\n this._resetTimeoutPeriod();\r\n this._resetKeepAliveInterval();\r\n await handshakePromise;\r\n // It's important to check the stopDuringStartError instead of just relying on the handshakePromise\r\n // being rejected on close, because this continuation can run after both the handshake completed successfully\r\n // and the connection was closed.\r\n if (this._stopDuringStartError) {\r\n // It's important to throw instead of returning a rejected promise, because we don't want to allow any state\r\n // transitions to occur between now and the calling code observing the exceptions. Returning a rejected promise\r\n // will cause the calling continuation to get scheduled to run later.\r\n // eslint-disable-next-line @typescript-eslint/no-throw-literal\r\n throw this._stopDuringStartError;\r\n }\r\n }\r\n catch (e) {\r\n this._logger.log(LogLevel.Debug, `Hub handshake failed with error '${e}' during start(). Stopping HubConnection.`);\r\n this._cleanupTimeout();\r\n this._cleanupPingTimer();\r\n // HttpConnection.stop() should not complete until after the onclose callback is invoked.\r\n // This will transition the HubConnection to the disconnected state before HttpConnection.stop() completes.\r\n await this.connection.stop(e);\r\n throw e;\r\n }\r\n }\r\n /** Stops the connection.\r\n *\r\n * @returns {Promise} A Promise that resolves when the connection has been successfully terminated, or rejects with an error.\r\n */\r\n async stop() {\r\n // Capture the start promise before the connection might be restarted in an onclose callback.\r\n const startPromise = this._startPromise;\r\n this._stopPromise = this._stopInternal();\r\n await this._stopPromise;\r\n try {\r\n // Awaiting undefined continues immediately\r\n await startPromise;\r\n }\r\n catch (e) {\r\n // This exception is returned to the user as a rejected Promise from the start method.\r\n }\r\n }\r\n _stopInternal(error) {\r\n if (this._connectionState === HubConnectionState.Disconnected) {\r\n this._logger.log(LogLevel.Debug, `Call to HubConnection.stop(${error}) ignored because it is already in the disconnected state.`);\r\n return Promise.resolve();\r\n }\r\n if (this._connectionState === HubConnectionState.Disconnecting) {\r\n this._logger.log(LogLevel.Debug, `Call to HttpConnection.stop(${error}) ignored because the connection is already in the disconnecting state.`);\r\n return this._stopPromise;\r\n }\r\n this._connectionState = HubConnectionState.Disconnecting;\r\n this._logger.log(LogLevel.Debug, \"Stopping HubConnection.\");\r\n if (this._reconnectDelayHandle) {\r\n // We're in a reconnect delay which means the underlying connection is currently already stopped.\r\n // Just clear the handle to stop the reconnect loop (which no one is waiting on thankfully) and\r\n // fire the onclose callbacks.\r\n this._logger.log(LogLevel.Debug, \"Connection stopped during reconnect delay. Done reconnecting.\");\r\n clearTimeout(this._reconnectDelayHandle);\r\n this._reconnectDelayHandle = undefined;\r\n this._completeClose();\r\n return Promise.resolve();\r\n }\r\n this._cleanupTimeout();\r\n this._cleanupPingTimer();\r\n this._stopDuringStartError = error || new Error(\"The connection was stopped before the hub handshake could complete.\");\r\n // HttpConnection.stop() should not complete until after either HttpConnection.start() fails\r\n // or the onclose callback is invoked. The onclose callback will transition the HubConnection\r\n // to the disconnected state if need be before HttpConnection.stop() completes.\r\n return this.connection.stop(error);\r\n }\r\n /** Invokes a streaming hub method on the server using the specified name and arguments.\r\n *\r\n * @typeparam T The type of the items returned by the server.\r\n * @param {string} methodName The name of the server method to invoke.\r\n * @param {any[]} args The arguments used to invoke the server method.\r\n * @returns {IStreamResult} An object that yields results from the server as they are received.\r\n */\r\n stream(methodName, ...args) {\r\n const [streams, streamIds] = this._replaceStreamingParams(args);\r\n const invocationDescriptor = this._createStreamInvocation(methodName, args, streamIds);\r\n // eslint-disable-next-line prefer-const\r\n let promiseQueue;\r\n const subject = new Subject();\r\n subject.cancelCallback = () => {\r\n const cancelInvocation = this._createCancelInvocation(invocationDescriptor.invocationId);\r\n delete this._callbacks[invocationDescriptor.invocationId];\r\n return promiseQueue.then(() => {\r\n return this._sendWithProtocol(cancelInvocation);\r\n });\r\n };\r\n this._callbacks[invocationDescriptor.invocationId] = (invocationEvent, error) => {\r\n if (error) {\r\n subject.error(error);\r\n return;\r\n }\r\n else if (invocationEvent) {\r\n // invocationEvent will not be null when an error is not passed to the callback\r\n if (invocationEvent.type === MessageType.Completion) {\r\n if (invocationEvent.error) {\r\n subject.error(new Error(invocationEvent.error));\r\n }\r\n else {\r\n subject.complete();\r\n }\r\n }\r\n else {\r\n subject.next((invocationEvent.item));\r\n }\r\n }\r\n };\r\n promiseQueue = this._sendWithProtocol(invocationDescriptor)\r\n .catch((e) => {\r\n subject.error(e);\r\n delete this._callbacks[invocationDescriptor.invocationId];\r\n });\r\n this._launchStreams(streams, promiseQueue);\r\n return subject;\r\n }\r\n _sendMessage(message) {\r\n this._resetKeepAliveInterval();\r\n return this.connection.send(message);\r\n }\r\n /**\r\n * Sends a js object to the server.\r\n * @param message The js object to serialize and send.\r\n */\r\n _sendWithProtocol(message) {\r\n return this._sendMessage(this._protocol.writeMessage(message));\r\n }\r\n /** Invokes a hub method on the server using the specified name and arguments. Does not wait for a response from the receiver.\r\n *\r\n * The Promise returned by this method resolves when the client has sent the invocation to the server. The server may still\r\n * be processing the invocation.\r\n *\r\n * @param {string} methodName The name of the server method to invoke.\r\n * @param {any[]} args The arguments used to invoke the server method.\r\n * @returns {Promise} A Promise that resolves when the invocation has been successfully sent, or rejects with an error.\r\n */\r\n send(methodName, ...args) {\r\n const [streams, streamIds] = this._replaceStreamingParams(args);\r\n const sendPromise = this._sendWithProtocol(this._createInvocation(methodName, args, true, streamIds));\r\n this._launchStreams(streams, sendPromise);\r\n return sendPromise;\r\n }\r\n /** Invokes a hub method on the server using the specified name and arguments.\r\n *\r\n * The Promise returned by this method resolves when the server indicates it has finished invoking the method. When the promise\r\n * resolves, the server has finished invoking the method. If the server method returns a result, it is produced as the result of\r\n * resolving the Promise.\r\n *\r\n * @typeparam T The expected return type.\r\n * @param {string} methodName The name of the server method to invoke.\r\n * @param {any[]} args The arguments used to invoke the server method.\r\n * @returns {Promise} A Promise that resolves with the result of the server method (if any), or rejects with an error.\r\n */\r\n invoke(methodName, ...args) {\r\n const [streams, streamIds] = this._replaceStreamingParams(args);\r\n const invocationDescriptor = this._createInvocation(methodName, args, false, streamIds);\r\n const p = new Promise((resolve, reject) => {\r\n // invocationId will always have a value for a non-blocking invocation\r\n this._callbacks[invocationDescriptor.invocationId] = (invocationEvent, error) => {\r\n if (error) {\r\n reject(error);\r\n return;\r\n }\r\n else if (invocationEvent) {\r\n // invocationEvent will not be null when an error is not passed to the callback\r\n if (invocationEvent.type === MessageType.Completion) {\r\n if (invocationEvent.error) {\r\n reject(new Error(invocationEvent.error));\r\n }\r\n else {\r\n resolve(invocationEvent.result);\r\n }\r\n }\r\n else {\r\n reject(new Error(`Unexpected message type: ${invocationEvent.type}`));\r\n }\r\n }\r\n };\r\n const promiseQueue = this._sendWithProtocol(invocationDescriptor)\r\n .catch((e) => {\r\n reject(e);\r\n // invocationId will always have a value for a non-blocking invocation\r\n delete this._callbacks[invocationDescriptor.invocationId];\r\n });\r\n this._launchStreams(streams, promiseQueue);\r\n });\r\n return p;\r\n }\r\n /** Registers a handler that will be invoked when the hub method with the specified method name is invoked.\r\n *\r\n * @param {string} methodName The name of the hub method to define.\r\n * @param {Function} newMethod The handler that will be raised when the hub method is invoked.\r\n */\r\n on(methodName, newMethod) {\r\n if (!methodName || !newMethod) {\r\n return;\r\n }\r\n methodName = methodName.toLowerCase();\r\n if (!this._methods[methodName]) {\r\n this._methods[methodName] = [];\r\n }\r\n // Preventing adding the same handler multiple times.\r\n if (this._methods[methodName].indexOf(newMethod) !== -1) {\r\n return;\r\n }\r\n this._methods[methodName].push(newMethod);\r\n }\r\n off(methodName, method) {\r\n if (!methodName) {\r\n return;\r\n }\r\n methodName = methodName.toLowerCase();\r\n const handlers = this._methods[methodName];\r\n if (!handlers) {\r\n return;\r\n }\r\n if (method) {\r\n const removeIdx = handlers.indexOf(method);\r\n if (removeIdx !== -1) {\r\n handlers.splice(removeIdx, 1);\r\n if (handlers.length === 0) {\r\n delete this._methods[methodName];\r\n }\r\n }\r\n }\r\n else {\r\n delete this._methods[methodName];\r\n }\r\n }\r\n /** Registers a handler that will be invoked when the connection is closed.\r\n *\r\n * @param {Function} callback The handler that will be invoked when the connection is closed. Optionally receives a single argument containing the error that caused the connection to close (if any).\r\n */\r\n onclose(callback) {\r\n if (callback) {\r\n this._closedCallbacks.push(callback);\r\n }\r\n }\r\n /** Registers a handler that will be invoked when the connection starts reconnecting.\r\n *\r\n * @param {Function} callback The handler that will be invoked when the connection starts reconnecting. Optionally receives a single argument containing the error that caused the connection to start reconnecting (if any).\r\n */\r\n onreconnecting(callback) {\r\n if (callback) {\r\n this._reconnectingCallbacks.push(callback);\r\n }\r\n }\r\n /** Registers a handler that will be invoked when the connection successfully reconnects.\r\n *\r\n * @param {Function} callback The handler that will be invoked when the connection successfully reconnects.\r\n */\r\n onreconnected(callback) {\r\n if (callback) {\r\n this._reconnectedCallbacks.push(callback);\r\n }\r\n }\r\n _processIncomingData(data) {\r\n this._cleanupTimeout();\r\n if (!this._receivedHandshakeResponse) {\r\n data = this._processHandshakeResponse(data);\r\n this._receivedHandshakeResponse = true;\r\n }\r\n // Data may have all been read when processing handshake response\r\n if (data) {\r\n // Parse the messages\r\n const messages = this._protocol.parseMessages(data, this._logger);\r\n for (const message of messages) {\r\n switch (message.type) {\r\n case MessageType.Invocation:\r\n this._invokeClientMethod(message);\r\n break;\r\n case MessageType.StreamItem:\r\n case MessageType.Completion: {\r\n const callback = this._callbacks[message.invocationId];\r\n if (callback) {\r\n if (message.type === MessageType.Completion) {\r\n delete this._callbacks[message.invocationId];\r\n }\r\n try {\r\n callback(message);\r\n }\r\n catch (e) {\r\n this._logger.log(LogLevel.Error, `Stream callback threw error: ${getErrorString(e)}`);\r\n }\r\n }\r\n break;\r\n }\r\n case MessageType.Ping:\r\n // Don't care about pings\r\n break;\r\n case MessageType.Close: {\r\n this._logger.log(LogLevel.Information, \"Close message received from server.\");\r\n const error = message.error ? new Error(\"Server returned an error on close: \" + message.error) : undefined;\r\n if (message.allowReconnect === true) {\r\n // It feels wrong not to await connection.stop() here, but processIncomingData is called as part of an onreceive callback which is not async,\r\n // this is already the behavior for serverTimeout(), and HttpConnection.Stop() should catch and log all possible exceptions.\r\n // eslint-disable-next-line @typescript-eslint/no-floating-promises\r\n this.connection.stop(error);\r\n }\r\n else {\r\n // We cannot await stopInternal() here, but subsequent calls to stop() will await this if stopInternal() is still ongoing.\r\n this._stopPromise = this._stopInternal(error);\r\n }\r\n break;\r\n }\r\n default:\r\n this._logger.log(LogLevel.Warning, `Invalid message type: ${message.type}.`);\r\n break;\r\n }\r\n }\r\n }\r\n this._resetTimeoutPeriod();\r\n }\r\n _processHandshakeResponse(data) {\r\n let responseMessage;\r\n let remainingData;\r\n try {\r\n [remainingData, responseMessage] = this._handshakeProtocol.parseHandshakeResponse(data);\r\n }\r\n catch (e) {\r\n const message = \"Error parsing handshake response: \" + e;\r\n this._logger.log(LogLevel.Error, message);\r\n const error = new Error(message);\r\n this._handshakeRejecter(error);\r\n throw error;\r\n }\r\n if (responseMessage.error) {\r\n const message = \"Server returned handshake error: \" + responseMessage.error;\r\n this._logger.log(LogLevel.Error, message);\r\n const error = new Error(message);\r\n this._handshakeRejecter(error);\r\n throw error;\r\n }\r\n else {\r\n this._logger.log(LogLevel.Debug, \"Server handshake complete.\");\r\n }\r\n this._handshakeResolver();\r\n return remainingData;\r\n }\r\n _resetKeepAliveInterval() {\r\n if (this.connection.features.inherentKeepAlive) {\r\n return;\r\n }\r\n // Set the time we want the next keep alive to be sent\r\n // Timer will be setup on next message receive\r\n this._nextKeepAlive = new Date().getTime() + this.keepAliveIntervalInMilliseconds;\r\n this._cleanupPingTimer();\r\n }\r\n _resetTimeoutPeriod() {\r\n if (!this.connection.features || !this.connection.features.inherentKeepAlive) {\r\n // Set the timeout timer\r\n this._timeoutHandle = setTimeout(() => this.serverTimeout(), this.serverTimeoutInMilliseconds);\r\n // Set keepAlive timer if there isn't one\r\n if (this._pingServerHandle === undefined) {\r\n let nextPing = this._nextKeepAlive - new Date().getTime();\r\n if (nextPing < 0) {\r\n nextPing = 0;\r\n }\r\n // The timer needs to be set from a networking callback to avoid Chrome timer throttling from causing timers to run once a minute\r\n this._pingServerHandle = setTimeout(async () => {\r\n if (this._connectionState === HubConnectionState.Connected) {\r\n try {\r\n await this._sendMessage(this._cachedPingMessage);\r\n }\r\n catch {\r\n // We don't care about the error. It should be seen elsewhere in the client.\r\n // The connection is probably in a bad or closed state now, cleanup the timer so it stops triggering\r\n this._cleanupPingTimer();\r\n }\r\n }\r\n }, nextPing);\r\n }\r\n }\r\n }\r\n // eslint-disable-next-line @typescript-eslint/naming-convention\r\n serverTimeout() {\r\n // The server hasn't talked to us in a while. It doesn't like us anymore ... :(\r\n // Terminate the connection, but we don't need to wait on the promise. This could trigger reconnecting.\r\n // eslint-disable-next-line @typescript-eslint/no-floating-promises\r\n this.connection.stop(new Error(\"Server timeout elapsed without receiving a message from the server.\"));\r\n }\r\n _invokeClientMethod(invocationMessage) {\r\n const methods = this._methods[invocationMessage.target.toLowerCase()];\r\n if (methods) {\r\n try {\r\n methods.forEach((m) => m.apply(this, invocationMessage.arguments));\r\n }\r\n catch (e) {\r\n this._logger.log(LogLevel.Error, `A callback for the method ${invocationMessage.target.toLowerCase()} threw error '${e}'.`);\r\n }\r\n if (invocationMessage.invocationId) {\r\n // This is not supported in v1. So we return an error to avoid blocking the server waiting for the response.\r\n const message = \"Server requested a response, which is not supported in this version of the client.\";\r\n this._logger.log(LogLevel.Error, message);\r\n // We don't want to wait on the stop itself.\r\n this._stopPromise = this._stopInternal(new Error(message));\r\n }\r\n }\r\n else {\r\n this._logger.log(LogLevel.Warning, `No client method with the name '${invocationMessage.target}' found.`);\r\n }\r\n }\r\n _connectionClosed(error) {\r\n this._logger.log(LogLevel.Debug, `HubConnection.connectionClosed(${error}) called while in state ${this._connectionState}.`);\r\n // Triggering this.handshakeRejecter is insufficient because it could already be resolved without the continuation having run yet.\r\n this._stopDuringStartError = this._stopDuringStartError || error || new Error(\"The underlying connection was closed before the hub handshake could complete.\");\r\n // If the handshake is in progress, start will be waiting for the handshake promise, so we complete it.\r\n // If it has already completed, this should just noop.\r\n if (this._handshakeResolver) {\r\n this._handshakeResolver();\r\n }\r\n this._cancelCallbacksWithError(error || new Error(\"Invocation canceled due to the underlying connection being closed.\"));\r\n this._cleanupTimeout();\r\n this._cleanupPingTimer();\r\n if (this._connectionState === HubConnectionState.Disconnecting) {\r\n this._completeClose(error);\r\n }\r\n else if (this._connectionState === HubConnectionState.Connected && this._reconnectPolicy) {\r\n // eslint-disable-next-line @typescript-eslint/no-floating-promises\r\n this._reconnect(error);\r\n }\r\n else if (this._connectionState === HubConnectionState.Connected) {\r\n this._completeClose(error);\r\n }\r\n // If none of the above if conditions were true were called the HubConnection must be in either:\r\n // 1. The Connecting state in which case the handshakeResolver will complete it and stopDuringStartError will fail it.\r\n // 2. The Reconnecting state in which case the handshakeResolver will complete it and stopDuringStartError will fail the current reconnect attempt\r\n // and potentially continue the reconnect() loop.\r\n // 3. The Disconnected state in which case we're already done.\r\n }\r\n _completeClose(error) {\r\n if (this._connectionStarted) {\r\n this._connectionState = HubConnectionState.Disconnected;\r\n this._connectionStarted = false;\r\n if (Platform.isBrowser) {\r\n window.document.removeEventListener(\"freeze\", this._freezeEventListener);\r\n }\r\n try {\r\n this._closedCallbacks.forEach((c) => c.apply(this, [error]));\r\n }\r\n catch (e) {\r\n this._logger.log(LogLevel.Error, `An onclose callback called with error '${error}' threw error '${e}'.`);\r\n }\r\n }\r\n }\r\n async _reconnect(error) {\r\n const reconnectStartTime = Date.now();\r\n let previousReconnectAttempts = 0;\r\n let retryError = error !== undefined ? error : new Error(\"Attempting to reconnect due to a unknown error.\");\r\n let nextRetryDelay = this._getNextRetryDelay(previousReconnectAttempts++, 0, retryError);\r\n if (nextRetryDelay === null) {\r\n this._logger.log(LogLevel.Debug, \"Connection not reconnecting because the IRetryPolicy returned null on the first reconnect attempt.\");\r\n this._completeClose(error);\r\n return;\r\n }\r\n this._connectionState = HubConnectionState.Reconnecting;\r\n if (error) {\r\n this._logger.log(LogLevel.Information, `Connection reconnecting because of error '${error}'.`);\r\n }\r\n else {\r\n this._logger.log(LogLevel.Information, \"Connection reconnecting.\");\r\n }\r\n if (this._reconnectingCallbacks.length !== 0) {\r\n try {\r\n this._reconnectingCallbacks.forEach((c) => c.apply(this, [error]));\r\n }\r\n catch (e) {\r\n this._logger.log(LogLevel.Error, `An onreconnecting callback called with error '${error}' threw error '${e}'.`);\r\n }\r\n // Exit early if an onreconnecting callback called connection.stop().\r\n if (this._connectionState !== HubConnectionState.Reconnecting) {\r\n this._logger.log(LogLevel.Debug, \"Connection left the reconnecting state in onreconnecting callback. Done reconnecting.\");\r\n return;\r\n }\r\n }\r\n while (nextRetryDelay !== null) {\r\n this._logger.log(LogLevel.Information, `Reconnect attempt number ${previousReconnectAttempts} will start in ${nextRetryDelay} ms.`);\r\n await new Promise((resolve) => {\r\n this._reconnectDelayHandle = setTimeout(resolve, nextRetryDelay);\r\n });\r\n this._reconnectDelayHandle = undefined;\r\n if (this._connectionState !== HubConnectionState.Reconnecting) {\r\n this._logger.log(LogLevel.Debug, \"Connection left the reconnecting state during reconnect delay. Done reconnecting.\");\r\n return;\r\n }\r\n try {\r\n await this._startInternal();\r\n this._connectionState = HubConnectionState.Connected;\r\n this._logger.log(LogLevel.Information, \"HubConnection reconnected successfully.\");\r\n if (this._reconnectedCallbacks.length !== 0) {\r\n try {\r\n this._reconnectedCallbacks.forEach((c) => c.apply(this, [this.connection.connectionId]));\r\n }\r\n catch (e) {\r\n this._logger.log(LogLevel.Error, `An onreconnected callback called with connectionId '${this.connection.connectionId}; threw error '${e}'.`);\r\n }\r\n }\r\n return;\r\n }\r\n catch (e) {\r\n this._logger.log(LogLevel.Information, `Reconnect attempt failed because of error '${e}'.`);\r\n if (this._connectionState !== HubConnectionState.Reconnecting) {\r\n this._logger.log(LogLevel.Debug, `Connection moved to the '${this._connectionState}' from the reconnecting state during reconnect attempt. Done reconnecting.`);\r\n // The TypeScript compiler thinks that connectionState must be Connected here. The TypeScript compiler is wrong.\r\n if (this._connectionState === HubConnectionState.Disconnecting) {\r\n this._completeClose();\r\n }\r\n return;\r\n }\r\n retryError = e instanceof Error ? e : new Error(e.toString());\r\n nextRetryDelay = this._getNextRetryDelay(previousReconnectAttempts++, Date.now() - reconnectStartTime, retryError);\r\n }\r\n }\r\n this._logger.log(LogLevel.Information, `Reconnect retries have been exhausted after ${Date.now() - reconnectStartTime} ms and ${previousReconnectAttempts} failed attempts. Connection disconnecting.`);\r\n this._completeClose();\r\n }\r\n _getNextRetryDelay(previousRetryCount, elapsedMilliseconds, retryReason) {\r\n try {\r\n return this._reconnectPolicy.nextRetryDelayInMilliseconds({\r\n elapsedMilliseconds,\r\n previousRetryCount,\r\n retryReason,\r\n });\r\n }\r\n catch (e) {\r\n this._logger.log(LogLevel.Error, `IRetryPolicy.nextRetryDelayInMilliseconds(${previousRetryCount}, ${elapsedMilliseconds}) threw error '${e}'.`);\r\n return null;\r\n }\r\n }\r\n _cancelCallbacksWithError(error) {\r\n const callbacks = this._callbacks;\r\n this._callbacks = {};\r\n Object.keys(callbacks)\r\n .forEach((key) => {\r\n const callback = callbacks[key];\r\n try {\r\n callback(null, error);\r\n }\r\n catch (e) {\r\n this._logger.log(LogLevel.Error, `Stream 'error' callback called with '${error}' threw error: ${getErrorString(e)}`);\r\n }\r\n });\r\n }\r\n _cleanupPingTimer() {\r\n if (this._pingServerHandle) {\r\n clearTimeout(this._pingServerHandle);\r\n this._pingServerHandle = undefined;\r\n }\r\n }\r\n _cleanupTimeout() {\r\n if (this._timeoutHandle) {\r\n clearTimeout(this._timeoutHandle);\r\n }\r\n }\r\n _createInvocation(methodName, args, nonblocking, streamIds) {\r\n if (nonblocking) {\r\n if (streamIds.length !== 0) {\r\n return {\r\n arguments: args,\r\n streamIds,\r\n target: methodName,\r\n type: MessageType.Invocation,\r\n };\r\n }\r\n else {\r\n return {\r\n arguments: args,\r\n target: methodName,\r\n type: MessageType.Invocation,\r\n };\r\n }\r\n }\r\n else {\r\n const invocationId = this._invocationId;\r\n this._invocationId++;\r\n if (streamIds.length !== 0) {\r\n return {\r\n arguments: args,\r\n invocationId: invocationId.toString(),\r\n streamIds,\r\n target: methodName,\r\n type: MessageType.Invocation,\r\n };\r\n }\r\n else {\r\n return {\r\n arguments: args,\r\n invocationId: invocationId.toString(),\r\n target: methodName,\r\n type: MessageType.Invocation,\r\n };\r\n }\r\n }\r\n }\r\n _launchStreams(streams, promiseQueue) {\r\n if (streams.length === 0) {\r\n return;\r\n }\r\n // Synchronize stream data so they arrive in-order on the server\r\n if (!promiseQueue) {\r\n promiseQueue = Promise.resolve();\r\n }\r\n // We want to iterate over the keys, since the keys are the stream ids\r\n // eslint-disable-next-line guard-for-in\r\n for (const streamId in streams) {\r\n streams[streamId].subscribe({\r\n complete: () => {\r\n promiseQueue = promiseQueue.then(() => this._sendWithProtocol(this._createCompletionMessage(streamId)));\r\n },\r\n error: (err) => {\r\n let message;\r\n if (err instanceof Error) {\r\n message = err.message;\r\n }\r\n else if (err && err.toString) {\r\n message = err.toString();\r\n }\r\n else {\r\n message = \"Unknown error\";\r\n }\r\n promiseQueue = promiseQueue.then(() => this._sendWithProtocol(this._createCompletionMessage(streamId, message)));\r\n },\r\n next: (item) => {\r\n promiseQueue = promiseQueue.then(() => this._sendWithProtocol(this._createStreamItemMessage(streamId, item)));\r\n },\r\n });\r\n }\r\n }\r\n _replaceStreamingParams(args) {\r\n const streams = [];\r\n const streamIds = [];\r\n for (let i = 0; i < args.length; i++) {\r\n const argument = args[i];\r\n if (this._isObservable(argument)) {\r\n const streamId = this._invocationId;\r\n this._invocationId++;\r\n // Store the stream for later use\r\n streams[streamId] = argument;\r\n streamIds.push(streamId.toString());\r\n // remove stream from args\r\n args.splice(i, 1);\r\n }\r\n }\r\n return [streams, streamIds];\r\n }\r\n _isObservable(arg) {\r\n // This allows other stream implementations to just work (like rxjs)\r\n return arg && arg.subscribe && typeof arg.subscribe === \"function\";\r\n }\r\n _createStreamInvocation(methodName, args, streamIds) {\r\n const invocationId = this._invocationId;\r\n this._invocationId++;\r\n if (streamIds.length !== 0) {\r\n return {\r\n arguments: args,\r\n invocationId: invocationId.toString(),\r\n streamIds,\r\n target: methodName,\r\n type: MessageType.StreamInvocation,\r\n };\r\n }\r\n else {\r\n return {\r\n arguments: args,\r\n invocationId: invocationId.toString(),\r\n target: methodName,\r\n type: MessageType.StreamInvocation,\r\n };\r\n }\r\n }\r\n _createCancelInvocation(id) {\r\n return {\r\n invocationId: id,\r\n type: MessageType.CancelInvocation,\r\n };\r\n }\r\n _createStreamItemMessage(id, item) {\r\n return {\r\n invocationId: id,\r\n item,\r\n type: MessageType.StreamItem,\r\n };\r\n }\r\n _createCompletionMessage(id, error, result) {\r\n if (error) {\r\n return {\r\n error,\r\n invocationId: id,\r\n type: MessageType.Completion,\r\n };\r\n }\r\n return {\r\n invocationId: id,\r\n result,\r\n type: MessageType.Completion,\r\n };\r\n }\r\n}\r\n","// Licensed to the .NET Foundation under one or more agreements.\r\n// The .NET Foundation licenses this file to you under the MIT license.\r\nimport { DefaultReconnectPolicy } from \"./DefaultReconnectPolicy\";\r\nimport { HttpConnection } from \"./HttpConnection\";\r\nimport { HubConnection } from \"./HubConnection\";\r\nimport { LogLevel } from \"./ILogger\";\r\nimport { JsonHubProtocol } from \"./JsonHubProtocol\";\r\nimport { NullLogger } from \"./Loggers\";\r\nimport { Arg, ConsoleLogger } from \"./Utils\";\r\nconst LogLevelNameMapping = {\r\n trace: LogLevel.Trace,\r\n debug: LogLevel.Debug,\r\n info: LogLevel.Information,\r\n information: LogLevel.Information,\r\n warn: LogLevel.Warning,\r\n warning: LogLevel.Warning,\r\n error: LogLevel.Error,\r\n critical: LogLevel.Critical,\r\n none: LogLevel.None,\r\n};\r\nfunction parseLogLevel(name) {\r\n // Case-insensitive matching via lower-casing\r\n // Yes, I know case-folding is a complicated problem in Unicode, but we only support\r\n // the ASCII strings defined in LogLevelNameMapping anyway, so it's fine -anurse.\r\n const mapping = LogLevelNameMapping[name.toLowerCase()];\r\n if (typeof mapping !== \"undefined\") {\r\n return mapping;\r\n }\r\n else {\r\n throw new Error(`Unknown log level: ${name}`);\r\n }\r\n}\r\n/** A builder for configuring {@link @microsoft/signalr.HubConnection} instances. */\r\nexport class HubConnectionBuilder {\r\n configureLogging(logging) {\r\n Arg.isRequired(logging, \"logging\");\r\n if (isLogger(logging)) {\r\n this.logger = logging;\r\n }\r\n else if (typeof logging === \"string\") {\r\n const logLevel = parseLogLevel(logging);\r\n this.logger = new ConsoleLogger(logLevel);\r\n }\r\n else {\r\n this.logger = new ConsoleLogger(logging);\r\n }\r\n return this;\r\n }\r\n withUrl(url, transportTypeOrOptions) {\r\n Arg.isRequired(url, \"url\");\r\n Arg.isNotEmpty(url, \"url\");\r\n this.url = url;\r\n // Flow-typing knows where it's at. Since HttpTransportType is a number and IHttpConnectionOptions is guaranteed\r\n // to be an object, we know (as does TypeScript) this comparison is all we need to figure out which overload was called.\r\n if (typeof transportTypeOrOptions === \"object\") {\r\n this.httpConnectionOptions = { ...this.httpConnectionOptions, ...transportTypeOrOptions };\r\n }\r\n else {\r\n this.httpConnectionOptions = {\r\n ...this.httpConnectionOptions,\r\n transport: transportTypeOrOptions,\r\n };\r\n }\r\n return this;\r\n }\r\n /** Configures the {@link @microsoft/signalr.HubConnection} to use the specified Hub Protocol.\r\n *\r\n * @param {IHubProtocol} protocol The {@link @microsoft/signalr.IHubProtocol} implementation to use.\r\n */\r\n withHubProtocol(protocol) {\r\n Arg.isRequired(protocol, \"protocol\");\r\n this.protocol = protocol;\r\n return this;\r\n }\r\n withAutomaticReconnect(retryDelaysOrReconnectPolicy) {\r\n if (this.reconnectPolicy) {\r\n throw new Error(\"A reconnectPolicy has already been set.\");\r\n }\r\n if (!retryDelaysOrReconnectPolicy) {\r\n this.reconnectPolicy = new DefaultReconnectPolicy();\r\n }\r\n else if (Array.isArray(retryDelaysOrReconnectPolicy)) {\r\n this.reconnectPolicy = new DefaultReconnectPolicy(retryDelaysOrReconnectPolicy);\r\n }\r\n else {\r\n this.reconnectPolicy = retryDelaysOrReconnectPolicy;\r\n }\r\n return this;\r\n }\r\n /** Creates a {@link @microsoft/signalr.HubConnection} from the configuration options specified in this builder.\r\n *\r\n * @returns {HubConnection} The configured {@link @microsoft/signalr.HubConnection}.\r\n */\r\n build() {\r\n // If httpConnectionOptions has a logger, use it. Otherwise, override it with the one\r\n // provided to configureLogger\r\n const httpConnectionOptions = this.httpConnectionOptions || {};\r\n // If it's 'null', the user **explicitly** asked for null, don't mess with it.\r\n if (httpConnectionOptions.logger === undefined) {\r\n // If our logger is undefined or null, that's OK, the HttpConnection constructor will handle it.\r\n httpConnectionOptions.logger = this.logger;\r\n }\r\n // Now create the connection\r\n if (!this.url) {\r\n throw new Error(\"The 'HubConnectionBuilder.withUrl' method must be called before building the connection.\");\r\n }\r\n const connection = new HttpConnection(this.url, httpConnectionOptions);\r\n return HubConnection.create(connection, this.logger || NullLogger.instance, this.protocol || new JsonHubProtocol(), this.reconnectPolicy);\r\n }\r\n}\r\nfunction isLogger(logger) {\r\n return logger.log !== undefined;\r\n}\r\n","// Licensed to the .NET Foundation under one or more agreements.\r\n// The .NET Foundation licenses this file to you under the MIT license.\r\n/** Defines the type of a Hub Message. */\r\nexport var MessageType;\r\n(function (MessageType) {\r\n /** Indicates the message is an Invocation message and implements the {@link @microsoft/signalr.InvocationMessage} interface. */\r\n MessageType[MessageType[\"Invocation\"] = 1] = \"Invocation\";\r\n /** Indicates the message is a StreamItem message and implements the {@link @microsoft/signalr.StreamItemMessage} interface. */\r\n MessageType[MessageType[\"StreamItem\"] = 2] = \"StreamItem\";\r\n /** Indicates the message is a Completion message and implements the {@link @microsoft/signalr.CompletionMessage} interface. */\r\n MessageType[MessageType[\"Completion\"] = 3] = \"Completion\";\r\n /** Indicates the message is a Stream Invocation message and implements the {@link @microsoft/signalr.StreamInvocationMessage} interface. */\r\n MessageType[MessageType[\"StreamInvocation\"] = 4] = \"StreamInvocation\";\r\n /** Indicates the message is a Cancel Invocation message and implements the {@link @microsoft/signalr.CancelInvocationMessage} interface. */\r\n MessageType[MessageType[\"CancelInvocation\"] = 5] = \"CancelInvocation\";\r\n /** Indicates the message is a Ping message and implements the {@link @microsoft/signalr.PingMessage} interface. */\r\n MessageType[MessageType[\"Ping\"] = 6] = \"Ping\";\r\n /** Indicates the message is a Close message and implements the {@link @microsoft/signalr.CloseMessage} interface. */\r\n MessageType[MessageType[\"Close\"] = 7] = \"Close\";\r\n})(MessageType || (MessageType = {}));\r\n","// Licensed to the .NET Foundation under one or more agreements.\r\n// The .NET Foundation licenses this file to you under the MIT license.\r\n// These values are designed to match the ASP.NET Log Levels since that's the pattern we're emulating here.\r\n/** Indicates the severity of a log message.\r\n *\r\n * Log Levels are ordered in increasing severity. So `Debug` is more severe than `Trace`, etc.\r\n */\r\nexport var LogLevel;\r\n(function (LogLevel) {\r\n /** Log level for very low severity diagnostic messages. */\r\n LogLevel[LogLevel[\"Trace\"] = 0] = \"Trace\";\r\n /** Log level for low severity diagnostic messages. */\r\n LogLevel[LogLevel[\"Debug\"] = 1] = \"Debug\";\r\n /** Log level for informational diagnostic messages. */\r\n LogLevel[LogLevel[\"Information\"] = 2] = \"Information\";\r\n /** Log level for diagnostic messages that indicate a non-fatal problem. */\r\n LogLevel[LogLevel[\"Warning\"] = 3] = \"Warning\";\r\n /** Log level for diagnostic messages that indicate a failure in the current operation. */\r\n LogLevel[LogLevel[\"Error\"] = 4] = \"Error\";\r\n /** Log level for diagnostic messages that indicate a failure that will terminate the entire application. */\r\n LogLevel[LogLevel[\"Critical\"] = 5] = \"Critical\";\r\n /** The highest possible log level. Used when configuring logging to indicate that no log messages should be emitted. */\r\n LogLevel[LogLevel[\"None\"] = 6] = \"None\";\r\n})(LogLevel || (LogLevel = {}));\r\n","// Licensed to the .NET Foundation under one or more agreements.\r\n// The .NET Foundation licenses this file to you under the MIT license.\r\n// This will be treated as a bit flag in the future, so we keep it using power-of-two values.\r\n/** Specifies a specific HTTP transport type. */\r\nexport var HttpTransportType;\r\n(function (HttpTransportType) {\r\n /** Specifies no transport preference. */\r\n HttpTransportType[HttpTransportType[\"None\"] = 0] = \"None\";\r\n /** Specifies the WebSockets transport. */\r\n HttpTransportType[HttpTransportType[\"WebSockets\"] = 1] = \"WebSockets\";\r\n /** Specifies the Server-Sent Events transport. */\r\n HttpTransportType[HttpTransportType[\"ServerSentEvents\"] = 2] = \"ServerSentEvents\";\r\n /** Specifies the Long Polling transport. */\r\n HttpTransportType[HttpTransportType[\"LongPolling\"] = 4] = \"LongPolling\";\r\n})(HttpTransportType || (HttpTransportType = {}));\r\n/** Specifies the transfer format for a connection. */\r\nexport var TransferFormat;\r\n(function (TransferFormat) {\r\n /** Specifies that only text data will be transmitted over the connection. */\r\n TransferFormat[TransferFormat[\"Text\"] = 1] = \"Text\";\r\n /** Specifies that binary data will be transmitted over the connection. */\r\n TransferFormat[TransferFormat[\"Binary\"] = 2] = \"Binary\";\r\n})(TransferFormat || (TransferFormat = {}));\r\n","// Licensed to the .NET Foundation under one or more agreements.\r\n// The .NET Foundation licenses this file to you under the MIT license.\r\nimport { MessageType } from \"./IHubProtocol\";\r\nimport { LogLevel } from \"./ILogger\";\r\nimport { TransferFormat } from \"./ITransport\";\r\nimport { NullLogger } from \"./Loggers\";\r\nimport { TextMessageFormat } from \"./TextMessageFormat\";\r\nconst JSON_HUB_PROTOCOL_NAME = \"json\";\r\n/** Implements the JSON Hub Protocol. */\r\nexport class JsonHubProtocol {\r\n constructor() {\r\n /** @inheritDoc */\r\n this.name = JSON_HUB_PROTOCOL_NAME;\r\n /** @inheritDoc */\r\n this.version = 1;\r\n /** @inheritDoc */\r\n this.transferFormat = TransferFormat.Text;\r\n }\r\n /** Creates an array of {@link @microsoft/signalr.HubMessage} objects from the specified serialized representation.\r\n *\r\n * @param {string} input A string containing the serialized representation.\r\n * @param {ILogger} logger A logger that will be used to log messages that occur during parsing.\r\n */\r\n parseMessages(input, logger) {\r\n // The interface does allow \"ArrayBuffer\" to be passed in, but this implementation does not. So let's throw a useful error.\r\n if (typeof input !== \"string\") {\r\n throw new Error(\"Invalid input for JSON hub protocol. Expected a string.\");\r\n }\r\n if (!input) {\r\n return [];\r\n }\r\n if (logger === null) {\r\n logger = NullLogger.instance;\r\n }\r\n // Parse the messages\r\n const messages = TextMessageFormat.parse(input);\r\n const hubMessages = [];\r\n for (const message of messages) {\r\n const parsedMessage = JSON.parse(message);\r\n if (typeof parsedMessage.type !== \"number\") {\r\n throw new Error(\"Invalid payload.\");\r\n }\r\n switch (parsedMessage.type) {\r\n case MessageType.Invocation:\r\n this._isInvocationMessage(parsedMessage);\r\n break;\r\n case MessageType.StreamItem:\r\n this._isStreamItemMessage(parsedMessage);\r\n break;\r\n case MessageType.Completion:\r\n this._isCompletionMessage(parsedMessage);\r\n break;\r\n case MessageType.Ping:\r\n // Single value, no need to validate\r\n break;\r\n case MessageType.Close:\r\n // All optional values, no need to validate\r\n break;\r\n default:\r\n // Future protocol changes can add message types, old clients can ignore them\r\n logger.log(LogLevel.Information, \"Unknown message type '\" + parsedMessage.type + \"' ignored.\");\r\n continue;\r\n }\r\n hubMessages.push(parsedMessage);\r\n }\r\n return hubMessages;\r\n }\r\n /** Writes the specified {@link @microsoft/signalr.HubMessage} to a string and returns it.\r\n *\r\n * @param {HubMessage} message The message to write.\r\n * @returns {string} A string containing the serialized representation of the message.\r\n */\r\n writeMessage(message) {\r\n return TextMessageFormat.write(JSON.stringify(message));\r\n }\r\n _isInvocationMessage(message) {\r\n this._assertNotEmptyString(message.target, \"Invalid payload for Invocation message.\");\r\n if (message.invocationId !== undefined) {\r\n this._assertNotEmptyString(message.invocationId, \"Invalid payload for Invocation message.\");\r\n }\r\n }\r\n _isStreamItemMessage(message) {\r\n this._assertNotEmptyString(message.invocationId, \"Invalid payload for StreamItem message.\");\r\n if (message.item === undefined) {\r\n throw new Error(\"Invalid payload for StreamItem message.\");\r\n }\r\n }\r\n _isCompletionMessage(message) {\r\n if (message.result && message.error) {\r\n throw new Error(\"Invalid payload for Completion message.\");\r\n }\r\n if (!message.result && message.error) {\r\n this._assertNotEmptyString(message.error, \"Invalid payload for Completion message.\");\r\n }\r\n this._assertNotEmptyString(message.invocationId, \"Invalid payload for Completion message.\");\r\n }\r\n _assertNotEmptyString(value, errorMessage) {\r\n if (typeof value !== \"string\" || value === \"\") {\r\n throw new Error(errorMessage);\r\n }\r\n }\r\n}\r\n","// Licensed to the .NET Foundation under one or more agreements.\r\n// The .NET Foundation licenses this file to you under the MIT license.\r\n/** A logger that does nothing when log messages are sent to it. */\r\nexport class NullLogger {\r\n constructor() { }\r\n /** @inheritDoc */\r\n // eslint-disable-next-line\r\n log(_logLevel, _message) {\r\n }\r\n}\r\n/** The singleton instance of the {@link @microsoft/signalr.NullLogger}. */\r\nNullLogger.instance = new NullLogger();\r\n","// Licensed to the .NET Foundation under one or more agreements.\r\n// The .NET Foundation licenses this file to you under the MIT license.\r\nimport { AbortController } from \"./AbortController\";\r\nimport { HttpError, TimeoutError } from \"./Errors\";\r\nimport { HeaderNames } from \"./HeaderNames\";\r\nimport { LogLevel } from \"./ILogger\";\r\nimport { TransferFormat } from \"./ITransport\";\r\nimport { Arg, getDataDetail, getUserAgentHeader, sendMessage } from \"./Utils\";\r\n// Not exported from 'index', this type is internal.\r\n/** @private */\r\nexport class LongPollingTransport {\r\n constructor(httpClient, accessTokenFactory, logger, options) {\r\n this._httpClient = httpClient;\r\n this._accessTokenFactory = accessTokenFactory;\r\n this._logger = logger;\r\n this._pollAbort = new AbortController();\r\n this._options = options;\r\n this._running = false;\r\n this.onreceive = null;\r\n this.onclose = null;\r\n }\r\n // This is an internal type, not exported from 'index' so this is really just internal.\r\n get pollAborted() {\r\n return this._pollAbort.aborted;\r\n }\r\n async connect(url, transferFormat) {\r\n Arg.isRequired(url, \"url\");\r\n Arg.isRequired(transferFormat, \"transferFormat\");\r\n Arg.isIn(transferFormat, TransferFormat, \"transferFormat\");\r\n this._url = url;\r\n this._logger.log(LogLevel.Trace, \"(LongPolling transport) Connecting.\");\r\n // Allow binary format on Node and Browsers that support binary content (indicated by the presence of responseType property)\r\n if (transferFormat === TransferFormat.Binary &&\r\n (typeof XMLHttpRequest !== \"undefined\" && typeof new XMLHttpRequest().responseType !== \"string\")) {\r\n throw new Error(\"Binary protocols over XmlHttpRequest not implementing advanced features are not supported.\");\r\n }\r\n const [name, value] = getUserAgentHeader();\r\n const headers = { [name]: value, ...this._options.headers };\r\n const pollOptions = {\r\n abortSignal: this._pollAbort.signal,\r\n headers,\r\n timeout: 100000,\r\n withCredentials: this._options.withCredentials,\r\n };\r\n if (transferFormat === TransferFormat.Binary) {\r\n pollOptions.responseType = \"arraybuffer\";\r\n }\r\n const token = await this._getAccessToken();\r\n this._updateHeaderToken(pollOptions, token);\r\n // Make initial long polling request\r\n // Server uses first long polling request to finish initializing connection and it returns without data\r\n const pollUrl = `${url}&_=${Date.now()}`;\r\n this._logger.log(LogLevel.Trace, `(LongPolling transport) polling: ${pollUrl}.`);\r\n const response = await this._httpClient.get(pollUrl, pollOptions);\r\n if (response.statusCode !== 200) {\r\n this._logger.log(LogLevel.Error, `(LongPolling transport) Unexpected response code: ${response.statusCode}.`);\r\n // Mark running as false so that the poll immediately ends and runs the close logic\r\n this._closeError = new HttpError(response.statusText || \"\", response.statusCode);\r\n this._running = false;\r\n }\r\n else {\r\n this._running = true;\r\n }\r\n this._receiving = this._poll(this._url, pollOptions);\r\n }\r\n async _getAccessToken() {\r\n if (this._accessTokenFactory) {\r\n return await this._accessTokenFactory();\r\n }\r\n return null;\r\n }\r\n _updateHeaderToken(request, token) {\r\n if (!request.headers) {\r\n request.headers = {};\r\n }\r\n if (token) {\r\n request.headers[HeaderNames.Authorization] = `Bearer ${token}`;\r\n return;\r\n }\r\n if (request.headers[HeaderNames.Authorization]) {\r\n delete request.headers[HeaderNames.Authorization];\r\n }\r\n }\r\n async _poll(url, pollOptions) {\r\n try {\r\n while (this._running) {\r\n // We have to get the access token on each poll, in case it changes\r\n const token = await this._getAccessToken();\r\n this._updateHeaderToken(pollOptions, token);\r\n try {\r\n const pollUrl = `${url}&_=${Date.now()}`;\r\n this._logger.log(LogLevel.Trace, `(LongPolling transport) polling: ${pollUrl}.`);\r\n const response = await this._httpClient.get(pollUrl, pollOptions);\r\n if (response.statusCode === 204) {\r\n this._logger.log(LogLevel.Information, \"(LongPolling transport) Poll terminated by server.\");\r\n this._running = false;\r\n }\r\n else if (response.statusCode !== 200) {\r\n this._logger.log(LogLevel.Error, `(LongPolling transport) Unexpected response code: ${response.statusCode}.`);\r\n // Unexpected status code\r\n this._closeError = new HttpError(response.statusText || \"\", response.statusCode);\r\n this._running = false;\r\n }\r\n else {\r\n // Process the response\r\n if (response.content) {\r\n this._logger.log(LogLevel.Trace, `(LongPolling transport) data received. ${getDataDetail(response.content, this._options.logMessageContent)}.`);\r\n if (this.onreceive) {\r\n this.onreceive(response.content);\r\n }\r\n }\r\n else {\r\n // This is another way timeout manifest.\r\n this._logger.log(LogLevel.Trace, \"(LongPolling transport) Poll timed out, reissuing.\");\r\n }\r\n }\r\n }\r\n catch (e) {\r\n if (!this._running) {\r\n // Log but disregard errors that occur after stopping\r\n this._logger.log(LogLevel.Trace, `(LongPolling transport) Poll errored after shutdown: ${e.message}`);\r\n }\r\n else {\r\n if (e instanceof TimeoutError) {\r\n // Ignore timeouts and reissue the poll.\r\n this._logger.log(LogLevel.Trace, \"(LongPolling transport) Poll timed out, reissuing.\");\r\n }\r\n else {\r\n // Close the connection with the error as the result.\r\n this._closeError = e;\r\n this._running = false;\r\n }\r\n }\r\n }\r\n }\r\n }\r\n finally {\r\n this._logger.log(LogLevel.Trace, \"(LongPolling transport) Polling complete.\");\r\n // We will reach here with pollAborted==false when the server returned a response causing the transport to stop.\r\n // If pollAborted==true then client initiated the stop and the stop method will raise the close event after DELETE is sent.\r\n if (!this.pollAborted) {\r\n this._raiseOnClose();\r\n }\r\n }\r\n }\r\n async send(data) {\r\n if (!this._running) {\r\n return Promise.reject(new Error(\"Cannot send until the transport is connected\"));\r\n }\r\n return sendMessage(this._logger, \"LongPolling\", this._httpClient, this._url, this._accessTokenFactory, data, this._options);\r\n }\r\n async stop() {\r\n this._logger.log(LogLevel.Trace, \"(LongPolling transport) Stopping polling.\");\r\n // Tell receiving loop to stop, abort any current request, and then wait for it to finish\r\n this._running = false;\r\n this._pollAbort.abort();\r\n try {\r\n await this._receiving;\r\n // Send DELETE to clean up long polling on the server\r\n this._logger.log(LogLevel.Trace, `(LongPolling transport) sending DELETE request to ${this._url}.`);\r\n const headers = {};\r\n const [name, value] = getUserAgentHeader();\r\n headers[name] = value;\r\n const deleteOptions = {\r\n headers: { ...headers, ...this._options.headers },\r\n timeout: this._options.timeout,\r\n withCredentials: this._options.withCredentials,\r\n };\r\n const token = await this._getAccessToken();\r\n this._updateHeaderToken(deleteOptions, token);\r\n await this._httpClient.delete(this._url, deleteOptions);\r\n this._logger.log(LogLevel.Trace, \"(LongPolling transport) DELETE request sent.\");\r\n }\r\n finally {\r\n this._logger.log(LogLevel.Trace, \"(LongPolling transport) Stop finished.\");\r\n // Raise close event here instead of in polling\r\n // It needs to happen after the DELETE request is sent\r\n this._raiseOnClose();\r\n }\r\n }\r\n _raiseOnClose() {\r\n if (this.onclose) {\r\n let logMessage = \"(LongPolling transport) Firing onclose event.\";\r\n if (this._closeError) {\r\n logMessage += \" Error: \" + this._closeError;\r\n }\r\n this._logger.log(LogLevel.Trace, logMessage);\r\n this.onclose(this._closeError);\r\n }\r\n }\r\n}\r\n","// Licensed to the .NET Foundation under one or more agreements.\r\n// The .NET Foundation licenses this file to you under the MIT license.\r\nimport { LogLevel } from \"./ILogger\";\r\nimport { TransferFormat } from \"./ITransport\";\r\nimport { Arg, getDataDetail, getUserAgentHeader, Platform, sendMessage } from \"./Utils\";\r\n/** @private */\r\nexport class ServerSentEventsTransport {\r\n constructor(httpClient, accessTokenFactory, logger, options) {\r\n this._httpClient = httpClient;\r\n this._accessTokenFactory = accessTokenFactory;\r\n this._logger = logger;\r\n this._options = options;\r\n this.onreceive = null;\r\n this.onclose = null;\r\n }\r\n async connect(url, transferFormat) {\r\n Arg.isRequired(url, \"url\");\r\n Arg.isRequired(transferFormat, \"transferFormat\");\r\n Arg.isIn(transferFormat, TransferFormat, \"transferFormat\");\r\n this._logger.log(LogLevel.Trace, \"(SSE transport) Connecting.\");\r\n // set url before accessTokenFactory because this.url is only for send and we set the auth header instead of the query string for send\r\n this._url = url;\r\n if (this._accessTokenFactory) {\r\n const token = await this._accessTokenFactory();\r\n if (token) {\r\n url += (url.indexOf(\"?\") < 0 ? \"?\" : \"&\") + `access_token=${encodeURIComponent(token)}`;\r\n }\r\n }\r\n return new Promise((resolve, reject) => {\r\n let opened = false;\r\n if (transferFormat !== TransferFormat.Text) {\r\n reject(new Error(\"The Server-Sent Events transport only supports the 'Text' transfer format\"));\r\n return;\r\n }\r\n let eventSource;\r\n if (Platform.isBrowser || Platform.isWebWorker) {\r\n eventSource = new this._options.EventSource(url, { withCredentials: this._options.withCredentials });\r\n }\r\n else {\r\n // Non-browser passes cookies via the dictionary\r\n const cookies = this._httpClient.getCookieString(url);\r\n const headers = {};\r\n headers.Cookie = cookies;\r\n const [name, value] = getUserAgentHeader();\r\n headers[name] = value;\r\n eventSource = new this._options.EventSource(url, { withCredentials: this._options.withCredentials, headers: { ...headers, ...this._options.headers } });\r\n }\r\n try {\r\n eventSource.onmessage = (e) => {\r\n if (this.onreceive) {\r\n try {\r\n this._logger.log(LogLevel.Trace, `(SSE transport) data received. ${getDataDetail(e.data, this._options.logMessageContent)}.`);\r\n this.onreceive(e.data);\r\n }\r\n catch (error) {\r\n this._close(error);\r\n return;\r\n }\r\n }\r\n };\r\n // @ts-ignore: not using event on purpose\r\n eventSource.onerror = (e) => {\r\n // EventSource doesn't give any useful information about server side closes.\r\n if (opened) {\r\n this._close();\r\n }\r\n else {\r\n reject(new Error(\"EventSource failed to connect. The connection could not be found on the server,\"\r\n + \" either the connection ID is not present on the server, or a proxy is refusing/buffering the connection.\"\r\n + \" If you have multiple servers check that sticky sessions are enabled.\"));\r\n }\r\n };\r\n eventSource.onopen = () => {\r\n this._logger.log(LogLevel.Information, `SSE connected to ${this._url}`);\r\n this._eventSource = eventSource;\r\n opened = true;\r\n resolve();\r\n };\r\n }\r\n catch (e) {\r\n reject(e);\r\n return;\r\n }\r\n });\r\n }\r\n async send(data) {\r\n if (!this._eventSource) {\r\n return Promise.reject(new Error(\"Cannot send until the transport is connected\"));\r\n }\r\n return sendMessage(this._logger, \"SSE\", this._httpClient, this._url, this._accessTokenFactory, data, this._options);\r\n }\r\n stop() {\r\n this._close();\r\n return Promise.resolve();\r\n }\r\n _close(e) {\r\n if (this._eventSource) {\r\n this._eventSource.close();\r\n this._eventSource = undefined;\r\n if (this.onclose) {\r\n this.onclose(e);\r\n }\r\n }\r\n }\r\n}\r\n","// Licensed to the .NET Foundation under one or more agreements.\r\n// The .NET Foundation licenses this file to you under the MIT license.\r\nimport { SubjectSubscription } from \"./Utils\";\r\n/** Stream implementation to stream items to the server. */\r\nexport class Subject {\r\n constructor() {\r\n this.observers = [];\r\n }\r\n next(item) {\r\n for (const observer of this.observers) {\r\n observer.next(item);\r\n }\r\n }\r\n error(err) {\r\n for (const observer of this.observers) {\r\n if (observer.error) {\r\n observer.error(err);\r\n }\r\n }\r\n }\r\n complete() {\r\n for (const observer of this.observers) {\r\n if (observer.complete) {\r\n observer.complete();\r\n }\r\n }\r\n }\r\n subscribe(observer) {\r\n this.observers.push(observer);\r\n return new SubjectSubscription(this, observer);\r\n }\r\n}\r\n","// Licensed to the .NET Foundation under one or more agreements.\r\n// The .NET Foundation licenses this file to you under the MIT license.\r\n// Not exported from index\r\n/** @private */\r\nexport class TextMessageFormat {\r\n static write(output) {\r\n return `${output}${TextMessageFormat.RecordSeparator}`;\r\n }\r\n static parse(input) {\r\n if (input[input.length - 1] !== TextMessageFormat.RecordSeparator) {\r\n throw new Error(\"Message is incomplete.\");\r\n }\r\n const messages = input.split(TextMessageFormat.RecordSeparator);\r\n messages.pop();\r\n return messages;\r\n }\r\n}\r\nTextMessageFormat.RecordSeparatorCode = 0x1e;\r\nTextMessageFormat.RecordSeparator = String.fromCharCode(TextMessageFormat.RecordSeparatorCode);\r\n","// Licensed to the .NET Foundation under one or more agreements.\r\n// The .NET Foundation licenses this file to you under the MIT license.\r\nimport { LogLevel } from \"./ILogger\";\r\nimport { NullLogger } from \"./Loggers\";\r\n// Version token that will be replaced by the prepack command\r\n/** The version of the SignalR client. */\r\nexport const VERSION = \"6.0.20\";\r\n/** @private */\r\nexport class Arg {\r\n static isRequired(val, name) {\r\n if (val === null || val === undefined) {\r\n throw new Error(`The '${name}' argument is required.`);\r\n }\r\n }\r\n static isNotEmpty(val, name) {\r\n if (!val || val.match(/^\\s*$/)) {\r\n throw new Error(`The '${name}' argument should not be empty.`);\r\n }\r\n }\r\n static isIn(val, values, name) {\r\n // TypeScript enums have keys for **both** the name and the value of each enum member on the type itself.\r\n if (!(val in values)) {\r\n throw new Error(`Unknown ${name} value: ${val}.`);\r\n }\r\n }\r\n}\r\n/** @private */\r\nexport class Platform {\r\n // react-native has a window but no document so we should check both\r\n static get isBrowser() {\r\n return typeof window === \"object\" && typeof window.document === \"object\";\r\n }\r\n // WebWorkers don't have a window object so the isBrowser check would fail\r\n static get isWebWorker() {\r\n return typeof self === \"object\" && \"importScripts\" in self;\r\n }\r\n // react-native has a window but no document\r\n static get isReactNative() {\r\n return typeof window === \"object\" && typeof window.document === \"undefined\";\r\n }\r\n // Node apps shouldn't have a window object, but WebWorkers don't either\r\n // so we need to check for both WebWorker and window\r\n static get isNode() {\r\n return !this.isBrowser && !this.isWebWorker && !this.isReactNative;\r\n }\r\n}\r\n/** @private */\r\nexport function getDataDetail(data, includeContent) {\r\n let detail = \"\";\r\n if (isArrayBuffer(data)) {\r\n detail = `Binary data of length ${data.byteLength}`;\r\n if (includeContent) {\r\n detail += `. Content: '${formatArrayBuffer(data)}'`;\r\n }\r\n }\r\n else if (typeof data === \"string\") {\r\n detail = `String data of length ${data.length}`;\r\n if (includeContent) {\r\n detail += `. Content: '${data}'`;\r\n }\r\n }\r\n return detail;\r\n}\r\n/** @private */\r\nexport function formatArrayBuffer(data) {\r\n const view = new Uint8Array(data);\r\n // Uint8Array.map only supports returning another Uint8Array?\r\n let str = \"\";\r\n view.forEach((num) => {\r\n const pad = num < 16 ? \"0\" : \"\";\r\n str += `0x${pad}${num.toString(16)} `;\r\n });\r\n // Trim of trailing space.\r\n return str.substr(0, str.length - 1);\r\n}\r\n// Also in signalr-protocol-msgpack/Utils.ts\r\n/** @private */\r\nexport function isArrayBuffer(val) {\r\n return val && typeof ArrayBuffer !== \"undefined\" &&\r\n (val instanceof ArrayBuffer ||\r\n // Sometimes we get an ArrayBuffer that doesn't satisfy instanceof\r\n (val.constructor && val.constructor.name === \"ArrayBuffer\"));\r\n}\r\n/** @private */\r\nexport async function sendMessage(logger, transportName, httpClient, url, accessTokenFactory, content, options) {\r\n let headers = {};\r\n if (accessTokenFactory) {\r\n const token = await accessTokenFactory();\r\n if (token) {\r\n headers = {\r\n [\"Authorization\"]: `Bearer ${token}`,\r\n };\r\n }\r\n }\r\n const [name, value] = getUserAgentHeader();\r\n headers[name] = value;\r\n logger.log(LogLevel.Trace, `(${transportName} transport) sending data. ${getDataDetail(content, options.logMessageContent)}.`);\r\n const responseType = isArrayBuffer(content) ? \"arraybuffer\" : \"text\";\r\n const response = await httpClient.post(url, {\r\n content,\r\n headers: { ...headers, ...options.headers },\r\n responseType,\r\n timeout: options.timeout,\r\n withCredentials: options.withCredentials,\r\n });\r\n logger.log(LogLevel.Trace, `(${transportName} transport) request complete. Response status: ${response.statusCode}.`);\r\n}\r\n/** @private */\r\nexport function createLogger(logger) {\r\n if (logger === undefined) {\r\n return new ConsoleLogger(LogLevel.Information);\r\n }\r\n if (logger === null) {\r\n return NullLogger.instance;\r\n }\r\n if (logger.log !== undefined) {\r\n return logger;\r\n }\r\n return new ConsoleLogger(logger);\r\n}\r\n/** @private */\r\nexport class SubjectSubscription {\r\n constructor(subject, observer) {\r\n this._subject = subject;\r\n this._observer = observer;\r\n }\r\n dispose() {\r\n const index = this._subject.observers.indexOf(this._observer);\r\n if (index > -1) {\r\n this._subject.observers.splice(index, 1);\r\n }\r\n if (this._subject.observers.length === 0 && this._subject.cancelCallback) {\r\n this._subject.cancelCallback().catch((_) => { });\r\n }\r\n }\r\n}\r\n/** @private */\r\nexport class ConsoleLogger {\r\n constructor(minimumLogLevel) {\r\n this._minLevel = minimumLogLevel;\r\n this.out = console;\r\n }\r\n log(logLevel, message) {\r\n if (logLevel >= this._minLevel) {\r\n const msg = `[${new Date().toISOString()}] ${LogLevel[logLevel]}: ${message}`;\r\n switch (logLevel) {\r\n case LogLevel.Critical:\r\n case LogLevel.Error:\r\n this.out.error(msg);\r\n break;\r\n case LogLevel.Warning:\r\n this.out.warn(msg);\r\n break;\r\n case LogLevel.Information:\r\n this.out.info(msg);\r\n break;\r\n default:\r\n // console.debug only goes to attached debuggers in Node, so we use console.log for Trace and Debug\r\n this.out.log(msg);\r\n break;\r\n }\r\n }\r\n }\r\n}\r\n/** @private */\r\nexport function getUserAgentHeader() {\r\n let userAgentHeaderName = \"X-SignalR-User-Agent\";\r\n if (Platform.isNode) {\r\n userAgentHeaderName = \"User-Agent\";\r\n }\r\n return [userAgentHeaderName, constructUserAgent(VERSION, getOsName(), getRuntime(), getRuntimeVersion())];\r\n}\r\n/** @private */\r\nexport function constructUserAgent(version, os, runtime, runtimeVersion) {\r\n // Microsoft SignalR/[Version] ([Detailed Version]; [Operating System]; [Runtime]; [Runtime Version])\r\n let userAgent = \"Microsoft SignalR/\";\r\n const majorAndMinor = version.split(\".\");\r\n userAgent += `${majorAndMinor[0]}.${majorAndMinor[1]}`;\r\n userAgent += ` (${version}; `;\r\n if (os && os !== \"\") {\r\n userAgent += `${os}; `;\r\n }\r\n else {\r\n userAgent += \"Unknown OS; \";\r\n }\r\n userAgent += `${runtime}`;\r\n if (runtimeVersion) {\r\n userAgent += `; ${runtimeVersion}`;\r\n }\r\n else {\r\n userAgent += \"; Unknown Runtime Version\";\r\n }\r\n userAgent += \")\";\r\n return userAgent;\r\n}\r\n// eslint-disable-next-line spaced-comment\r\n/*#__PURE__*/ function getOsName() {\r\n if (Platform.isNode) {\r\n switch (process.platform) {\r\n case \"win32\":\r\n return \"Windows NT\";\r\n case \"darwin\":\r\n return \"macOS\";\r\n case \"linux\":\r\n return \"Linux\";\r\n default:\r\n return process.platform;\r\n }\r\n }\r\n else {\r\n return \"\";\r\n }\r\n}\r\n// eslint-disable-next-line spaced-comment\r\n/*#__PURE__*/ function getRuntimeVersion() {\r\n if (Platform.isNode) {\r\n return process.versions.node;\r\n }\r\n return undefined;\r\n}\r\nfunction getRuntime() {\r\n if (Platform.isNode) {\r\n return \"NodeJS\";\r\n }\r\n else {\r\n return \"Browser\";\r\n }\r\n}\r\n/** @private */\r\nexport function getErrorString(e) {\r\n if (e.stack) {\r\n return e.stack;\r\n }\r\n else if (e.message) {\r\n return e.message;\r\n }\r\n return `${e}`;\r\n}\r\n/** @private */\r\nexport function getGlobalThis() {\r\n // globalThis is semi-new and not available in Node until v12\r\n if (typeof globalThis !== \"undefined\") {\r\n return globalThis;\r\n }\r\n if (typeof self !== \"undefined\") {\r\n return self;\r\n }\r\n if (typeof window !== \"undefined\") {\r\n return window;\r\n }\r\n if (typeof global !== \"undefined\") {\r\n return global;\r\n }\r\n throw new Error(\"could not find global\");\r\n}\r\n","// Licensed to the .NET Foundation under one or more agreements.\r\n// The .NET Foundation licenses this file to you under the MIT license.\r\nimport { HeaderNames } from \"./HeaderNames\";\r\nimport { LogLevel } from \"./ILogger\";\r\nimport { TransferFormat } from \"./ITransport\";\r\nimport { Arg, getDataDetail, getUserAgentHeader, Platform } from \"./Utils\";\r\n/** @private */\r\nexport class WebSocketTransport {\r\n constructor(httpClient, accessTokenFactory, logger, logMessageContent, webSocketConstructor, headers) {\r\n this._logger = logger;\r\n this._accessTokenFactory = accessTokenFactory;\r\n this._logMessageContent = logMessageContent;\r\n this._webSocketConstructor = webSocketConstructor;\r\n this._httpClient = httpClient;\r\n this.onreceive = null;\r\n this.onclose = null;\r\n this._headers = headers;\r\n }\r\n async connect(url, transferFormat) {\r\n Arg.isRequired(url, \"url\");\r\n Arg.isRequired(transferFormat, \"transferFormat\");\r\n Arg.isIn(transferFormat, TransferFormat, \"transferFormat\");\r\n this._logger.log(LogLevel.Trace, \"(WebSockets transport) Connecting.\");\r\n if (this._accessTokenFactory) {\r\n const token = await this._accessTokenFactory();\r\n if (token) {\r\n url += (url.indexOf(\"?\") < 0 ? \"?\" : \"&\") + `access_token=${encodeURIComponent(token)}`;\r\n }\r\n }\r\n return new Promise((resolve, reject) => {\r\n url = url.replace(/^http/, \"ws\");\r\n let webSocket;\r\n const cookies = this._httpClient.getCookieString(url);\r\n let opened = false;\r\n if (Platform.isNode) {\r\n const headers = {};\r\n const [name, value] = getUserAgentHeader();\r\n headers[name] = value;\r\n if (cookies) {\r\n headers[HeaderNames.Cookie] = `${cookies}`;\r\n }\r\n // Only pass headers when in non-browser environments\r\n webSocket = new this._webSocketConstructor(url, undefined, {\r\n headers: { ...headers, ...this._headers },\r\n });\r\n }\r\n if (!webSocket) {\r\n // Chrome is not happy with passing 'undefined' as protocol\r\n webSocket = new this._webSocketConstructor(url);\r\n }\r\n if (transferFormat === TransferFormat.Binary) {\r\n webSocket.binaryType = \"arraybuffer\";\r\n }\r\n webSocket.onopen = (_event) => {\r\n this._logger.log(LogLevel.Information, `WebSocket connected to ${url}.`);\r\n this._webSocket = webSocket;\r\n opened = true;\r\n resolve();\r\n };\r\n webSocket.onerror = (event) => {\r\n let error = null;\r\n // ErrorEvent is a browser only type we need to check if the type exists before using it\r\n if (typeof ErrorEvent !== \"undefined\" && event instanceof ErrorEvent) {\r\n error = event.error;\r\n }\r\n else {\r\n error = \"There was an error with the transport\";\r\n }\r\n this._logger.log(LogLevel.Information, `(WebSockets transport) ${error}.`);\r\n };\r\n webSocket.onmessage = (message) => {\r\n this._logger.log(LogLevel.Trace, `(WebSockets transport) data received. ${getDataDetail(message.data, this._logMessageContent)}.`);\r\n if (this.onreceive) {\r\n try {\r\n this.onreceive(message.data);\r\n }\r\n catch (error) {\r\n this._close(error);\r\n return;\r\n }\r\n }\r\n };\r\n webSocket.onclose = (event) => {\r\n // Don't call close handler if connection was never established\r\n // We'll reject the connect call instead\r\n if (opened) {\r\n this._close(event);\r\n }\r\n else {\r\n let error = null;\r\n // ErrorEvent is a browser only type we need to check if the type exists before using it\r\n if (typeof ErrorEvent !== \"undefined\" && event instanceof ErrorEvent) {\r\n error = event.error;\r\n }\r\n else {\r\n error = \"WebSocket failed to connect. The connection could not be found on the server,\"\r\n + \" either the endpoint may not be a SignalR endpoint,\"\r\n + \" the connection ID is not present on the server, or there is a proxy blocking WebSockets.\"\r\n + \" If you have multiple servers check that sticky sessions are enabled.\";\r\n }\r\n reject(new Error(error));\r\n }\r\n };\r\n });\r\n }\r\n send(data) {\r\n if (this._webSocket && this._webSocket.readyState === this._webSocketConstructor.OPEN) {\r\n this._logger.log(LogLevel.Trace, `(WebSockets transport) sending data. ${getDataDetail(data, this._logMessageContent)}.`);\r\n this._webSocket.send(data);\r\n return Promise.resolve();\r\n }\r\n return Promise.reject(\"WebSocket is not in the OPEN state\");\r\n }\r\n stop() {\r\n if (this._webSocket) {\r\n // Manually invoke onclose callback inline so we know the HttpConnection was closed properly before returning\r\n // This also solves an issue where websocket.onclose could take 18+ seconds to trigger during network disconnects\r\n this._close(undefined);\r\n }\r\n return Promise.resolve();\r\n }\r\n _close(event) {\r\n // webSocket will be null if the transport did not start successfully\r\n if (this._webSocket) {\r\n // Clear websocket handlers because we are considering the socket closed now\r\n this._webSocket.onclose = () => { };\r\n this._webSocket.onmessage = () => { };\r\n this._webSocket.onerror = () => { };\r\n this._webSocket.close();\r\n this._webSocket = undefined;\r\n }\r\n this._logger.log(LogLevel.Trace, \"(WebSockets transport) socket closed.\");\r\n if (this.onclose) {\r\n if (this._isCloseEvent(event) && (event.wasClean === false || event.code !== 1000)) {\r\n this.onclose(new Error(`WebSocket closed with status code: ${event.code} (${event.reason || \"no reason given\"}).`));\r\n }\r\n else if (event instanceof Error) {\r\n this.onclose(event);\r\n }\r\n else {\r\n this.onclose();\r\n }\r\n }\r\n }\r\n _isCloseEvent(event) {\r\n return event && typeof event.wasClean === \"boolean\" && typeof event.code === \"number\";\r\n }\r\n}\r\n","// Licensed to the .NET Foundation under one or more agreements.\r\n// The .NET Foundation licenses this file to you under the MIT license.\r\nimport { AbortError, HttpError, TimeoutError } from \"./Errors\";\r\nimport { HttpClient, HttpResponse } from \"./HttpClient\";\r\nimport { LogLevel } from \"./ILogger\";\r\nexport class XhrHttpClient extends HttpClient {\r\n constructor(logger) {\r\n super();\r\n this._logger = logger;\r\n }\r\n /** @inheritDoc */\r\n send(request) {\r\n // Check that abort was not signaled before calling send\r\n if (request.abortSignal && request.abortSignal.aborted) {\r\n return Promise.reject(new AbortError());\r\n }\r\n if (!request.method) {\r\n return Promise.reject(new Error(\"No method defined.\"));\r\n }\r\n if (!request.url) {\r\n return Promise.reject(new Error(\"No url defined.\"));\r\n }\r\n return new Promise((resolve, reject) => {\r\n const xhr = new XMLHttpRequest();\r\n xhr.open(request.method, request.url, true);\r\n xhr.withCredentials = request.withCredentials === undefined ? true : request.withCredentials;\r\n xhr.setRequestHeader(\"X-Requested-With\", \"XMLHttpRequest\");\r\n // Explicitly setting the Content-Type header for React Native on Android platform.\r\n xhr.setRequestHeader(\"Content-Type\", \"text/plain;charset=UTF-8\");\r\n const headers = request.headers;\r\n if (headers) {\r\n Object.keys(headers)\r\n .forEach((header) => {\r\n xhr.setRequestHeader(header, headers[header]);\r\n });\r\n }\r\n if (request.responseType) {\r\n xhr.responseType = request.responseType;\r\n }\r\n if (request.abortSignal) {\r\n request.abortSignal.onabort = () => {\r\n xhr.abort();\r\n reject(new AbortError());\r\n };\r\n }\r\n if (request.timeout) {\r\n xhr.timeout = request.timeout;\r\n }\r\n xhr.onload = () => {\r\n if (request.abortSignal) {\r\n request.abortSignal.onabort = null;\r\n }\r\n if (xhr.status >= 200 && xhr.status < 300) {\r\n resolve(new HttpResponse(xhr.status, xhr.statusText, xhr.response || xhr.responseText));\r\n }\r\n else {\r\n reject(new HttpError(xhr.response || xhr.responseText || xhr.statusText, xhr.status));\r\n }\r\n };\r\n xhr.onerror = () => {\r\n this._logger.log(LogLevel.Warning, `Error from HTTP request. ${xhr.status}: ${xhr.statusText}.`);\r\n reject(new HttpError(xhr.statusText, xhr.status));\r\n };\r\n xhr.ontimeout = () => {\r\n this._logger.log(LogLevel.Warning, `Timeout from HTTP request.`);\r\n reject(new TimeoutError());\r\n };\r\n xhr.send(request.content || \"\");\r\n });\r\n }\r\n}\r\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar core_1 = require(\"@angular/core\");\nvar forms_1 = require(\"@angular/forms\");\nvar platform_browser_1 = require(\"@angular/platform-browser\");\nvar textMaskCore_1 = require(\"text-mask-core/dist/textMaskCore\");\nvar ɵngcc0 = require('@angular/core');\nvar TextMaskConfig = /** @class */ (function () {\n function TextMaskConfig() {\n }\n return TextMaskConfig;\n}());\nexports.TextMaskConfig = TextMaskConfig;\nexports.MASKEDINPUT_VALUE_ACCESSOR = {\n provide: forms_1.NG_VALUE_ACCESSOR,\n useExisting: core_1.forwardRef(function () { return MaskedInputDirective; }),\n multi: true\n};\n/**\n * We must check whether the agent is Android because composition events\n * behave differently between iOS and Android.\n */\nfunction _isAndroid() {\n var userAgent = platform_browser_1.ɵgetDOM() ? platform_browser_1.ɵgetDOM().getUserAgent() : '';\n return /android (\\d+)/.test(userAgent.toLowerCase());\n}\nvar MaskedInputDirective = /** @class */ (function () {\n function MaskedInputDirective(_renderer, _elementRef, _compositionMode) {\n this._renderer = _renderer;\n this._elementRef = _elementRef;\n this._compositionMode = _compositionMode;\n this.textMaskConfig = {\n mask: [],\n guide: true,\n placeholderChar: '_',\n pipe: undefined,\n keepCharPositions: false,\n };\n this.onChange = function (_) { };\n this.onTouched = function () { };\n /** Whether the user is creating a composition string (IME events). */\n this._composing = false;\n if (this._compositionMode == null) {\n this._compositionMode = !_isAndroid();\n }\n }\n MaskedInputDirective.prototype.ngOnChanges = function (changes) {\n this._setupMask(true);\n if (this.textMaskInputElement !== undefined) {\n this.textMaskInputElement.update(this.inputElement.value);\n }\n };\n MaskedInputDirective.prototype.writeValue = function (value) {\n this._setupMask();\n // set the initial value for cases where the mask is disabled\n var normalizedValue = value == null ? '' : value;\n this._renderer.setProperty(this.inputElement, 'value', normalizedValue);\n if (this.textMaskInputElement !== undefined) {\n this.textMaskInputElement.update(value);\n }\n };\n MaskedInputDirective.prototype.registerOnChange = function (fn) { this.onChange = fn; };\n MaskedInputDirective.prototype.registerOnTouched = function (fn) { this.onTouched = fn; };\n MaskedInputDirective.prototype.setDisabledState = function (isDisabled) {\n this._renderer.setProperty(this._elementRef.nativeElement, 'disabled', isDisabled);\n };\n MaskedInputDirective.prototype._handleInput = function (value) {\n if (!this._compositionMode || (this._compositionMode && !this._composing)) {\n this._setupMask();\n if (this.textMaskInputElement !== undefined) {\n this.textMaskInputElement.update(value);\n // get the updated value\n value = this.inputElement.value;\n this.onChange(value);\n }\n }\n };\n MaskedInputDirective.prototype._setupMask = function (create) {\n if (create === void 0) { create = false; }\n if (!this.inputElement) {\n if (this._elementRef.nativeElement.tagName.toUpperCase() === 'INPUT') {\n // `textMask` directive is used directly on an input element\n this.inputElement = this._elementRef.nativeElement;\n }\n else {\n // `textMask` directive is used on an abstracted input element, `md-input-container`, etc\n this.inputElement = this._elementRef.nativeElement.getElementsByTagName('INPUT')[0];\n }\n }\n if (this.inputElement && create) {\n this.textMaskInputElement = textMaskCore_1.createTextMaskInputElement(Object.assign({ inputElement: this.inputElement }, this.textMaskConfig));\n }\n };\n MaskedInputDirective.prototype._compositionStart = function () { this._composing = true; };\n MaskedInputDirective.prototype._compositionEnd = function (value) {\n this._composing = false;\n this._compositionMode && this._handleInput(value);\n };\n /** @nocollapse */\n MaskedInputDirective.ctorParameters = function () { return [\n { type: core_1.Renderer2, },\n { type: core_1.ElementRef, },\n { type: undefined, decorators: [{ type: core_1.Optional }, { type: core_1.Inject, args: [forms_1.COMPOSITION_BUFFER_MODE,] },] },\n ]; };\n MaskedInputDirective.propDecorators = {\n 'textMaskConfig': [{ type: core_1.Input, args: ['textMask',] },],\n };\nMaskedInputDirective.ɵfac = function MaskedInputDirective_Factory(t) { return new (t || MaskedInputDirective)(ɵngcc0.ɵɵdirectiveInject(ɵngcc0.Renderer2), ɵngcc0.ɵɵdirectiveInject(ɵngcc0.ElementRef), ɵngcc0.ɵɵdirectiveInject(forms_1.COMPOSITION_BUFFER_MODE, 8)); };\nMaskedInputDirective.ɵdir = /*@__PURE__*/ ɵngcc0.ɵɵdefineDirective({ type: MaskedInputDirective, selectors: [[\"\", \"textMask\", \"\"]], hostBindings: function MaskedInputDirective_HostBindings(rf, ctx) { if (rf & 1) {\n ɵngcc0.ɵɵlistener(\"input\", function MaskedInputDirective_input_HostBindingHandler($event) { return ctx._handleInput($event.target.value); })(\"blur\", function MaskedInputDirective_blur_HostBindingHandler() { return ctx.onTouched(); })(\"compositionstart\", function MaskedInputDirective_compositionstart_HostBindingHandler() { return ctx._compositionStart(); })(\"compositionend\", function MaskedInputDirective_compositionend_HostBindingHandler($event) { return ctx._compositionEnd($event.target.value); });\n } }, inputs: { textMaskConfig: [\"textMask\", \"textMaskConfig\"] }, exportAs: [\"textMask\"], features: [ɵngcc0.ɵɵProvidersFeature([exports.MASKEDINPUT_VALUE_ACCESSOR]), ɵngcc0.ɵɵNgOnChangesFeature] });\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(MaskedInputDirective, [{\n type: core_1.Directive,\n args: [{\n host: {\n '(input)': '_handleInput($event.target.value)',\n '(blur)': 'onTouched()',\n '(compositionstart)': '_compositionStart()',\n '(compositionend)': '_compositionEnd($event.target.value)'\n },\n selector: '[textMask]',\n exportAs: 'textMask',\n providers: [exports.MASKEDINPUT_VALUE_ACCESSOR]\n }]\n }], function () { return [{ type: ɵngcc0.Renderer2 }, { type: ɵngcc0.ElementRef }, { type: undefined, decorators: [{\n type: core_1.Optional\n }, {\n type: core_1.Inject,\n args: [forms_1.COMPOSITION_BUFFER_MODE]\n }] }]; }, { textMaskConfig: [{\n type: core_1.Input,\n args: ['textMask']\n }] }); })();\n return MaskedInputDirective;\n}());\nexports.MaskedInputDirective = MaskedInputDirective;\nvar TextMaskModule = /** @class */ (function () {\n function TextMaskModule() {\n }\n /** @nocollapse */\n TextMaskModule.ctorParameters = function () { return []; };\nTextMaskModule.ɵfac = function TextMaskModule_Factory(t) { return new (t || TextMaskModule)(); };\nTextMaskModule.ɵmod = /*@__PURE__*/ ɵngcc0.ɵɵdefineNgModule({ type: TextMaskModule });\nTextMaskModule.ɵinj = /*@__PURE__*/ ɵngcc0.ɵɵdefineInjector({});\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(TextMaskModule, [{\n type: core_1.NgModule,\n args: [{\n declarations: [MaskedInputDirective],\n exports: [MaskedInputDirective]\n }]\n }], function () { return []; }, null); })();\n(function () { (typeof ngJitMode === \"undefined\" || ngJitMode) && ɵngcc0.ɵɵsetNgModuleScope(TextMaskModule, { declarations: [MaskedInputDirective], exports: [MaskedInputDirective] }); })();\n return TextMaskModule;\n}());\nexports.TextMaskModule = TextMaskModule;\nvar textMaskCore_2 = require(\"text-mask-core/dist/textMaskCore\");\nexports.conformToMask = textMaskCore_2.conformToMask;\n\n","/*\n* FileSaver.js\n* A saveAs() FileSaver implementation.\n*\n* By Eli Grey, http://eligrey.com\n*\n* License : https://github.com/eligrey/FileSaver.js/blob/master/LICENSE.md (MIT)\n* source : http://purl.eligrey.com/github/FileSaver.js\n*/\n\n// The one and only way of getting global scope in all environments\n// https://stackoverflow.com/q/3277182/1008999\nvar _global = typeof window === 'object' && window.window === window\n ? window : typeof self === 'object' && self.self === self\n ? self : typeof global === 'object' && global.global === global\n ? global\n : this\n\nfunction bom (blob, opts) {\n if (typeof opts === 'undefined') opts = { autoBom: false }\n else if (typeof opts !== 'object') {\n console.warn('Deprecated: Expected third argument to be a object')\n opts = { autoBom: !opts }\n }\n\n // prepend BOM for UTF-8 XML and text/* types (including HTML)\n // note: your browser will automatically convert UTF-16 U+FEFF to EF BB BF\n if (opts.autoBom && /^\\s*(?:text\\/\\S*|application\\/xml|\\S*\\/\\S*\\+xml)\\s*;.*charset\\s*=\\s*utf-8/i.test(blob.type)) {\n return new Blob([String.fromCharCode(0xFEFF), blob], { type: blob.type })\n }\n return blob\n}\n\nfunction download (url, name, opts) {\n var xhr = new XMLHttpRequest()\n xhr.open('GET', url)\n xhr.responseType = 'blob'\n xhr.onload = function () {\n saveAs(xhr.response, name, opts)\n }\n xhr.onerror = function () {\n console.error('could not download file')\n }\n xhr.send()\n}\n\nfunction corsEnabled (url) {\n var xhr = new XMLHttpRequest()\n // use sync to avoid popup blocker\n xhr.open('HEAD', url, false)\n try {\n xhr.send()\n } catch (e) {}\n return xhr.status >= 200 && xhr.status <= 299\n}\n\n// `a.click()` doesn't work for all browsers (#465)\nfunction click (node) {\n try {\n node.dispatchEvent(new MouseEvent('click'))\n } catch (e) {\n var evt = document.createEvent('MouseEvents')\n evt.initMouseEvent('click', true, true, window, 0, 0, 0, 80,\n 20, false, false, false, false, 0, null)\n node.dispatchEvent(evt)\n }\n}\n\n// Detect WebView inside a native macOS app by ruling out all browsers\n// We just need to check for 'Safari' because all other browsers (besides Firefox) include that too\n// https://www.whatismybrowser.com/guides/the-latest-user-agent/macos\nvar isMacOSWebView = _global.navigator && /Macintosh/.test(navigator.userAgent) && /AppleWebKit/.test(navigator.userAgent) && !/Safari/.test(navigator.userAgent)\n\nvar saveAs = _global.saveAs || (\n // probably in some web worker\n (typeof window !== 'object' || window !== _global)\n ? function saveAs () { /* noop */ }\n\n // Use download attribute first if possible (#193 Lumia mobile) unless this is a macOS WebView\n : ('download' in HTMLAnchorElement.prototype && !isMacOSWebView)\n ? function saveAs (blob, name, opts) {\n var URL = _global.URL || _global.webkitURL\n var a = document.createElement('a')\n name = name || blob.name || 'download'\n\n a.download = name\n a.rel = 'noopener' // tabnabbing\n\n // TODO: detect chrome extensions & packaged apps\n // a.target = '_blank'\n\n if (typeof blob === 'string') {\n // Support regular links\n a.href = blob\n if (a.origin !== location.origin) {\n corsEnabled(a.href)\n ? download(blob, name, opts)\n : click(a, a.target = '_blank')\n } else {\n click(a)\n }\n } else {\n // Support blobs\n a.href = URL.createObjectURL(blob)\n setTimeout(function () { URL.revokeObjectURL(a.href) }, 4E4) // 40s\n setTimeout(function () { click(a) }, 0)\n }\n }\n\n // Use msSaveOrOpenBlob as a second approach\n : 'msSaveOrOpenBlob' in navigator\n ? function saveAs (blob, name, opts) {\n name = name || blob.name || 'download'\n\n if (typeof blob === 'string') {\n if (corsEnabled(blob)) {\n download(blob, name, opts)\n } else {\n var a = document.createElement('a')\n a.href = blob\n a.target = '_blank'\n setTimeout(function () { click(a) })\n }\n } else {\n navigator.msSaveOrOpenBlob(bom(blob, opts), name)\n }\n }\n\n // Fallback to using FileReader and a popup\n : function saveAs (blob, name, opts, popup) {\n // Open a popup immediately do go around popup blocker\n // Mostly only available on user interaction and the fileReader is async so...\n popup = popup || open('', '_blank')\n if (popup) {\n popup.document.title =\n popup.document.body.innerText = 'downloading...'\n }\n\n if (typeof blob === 'string') return download(blob, name, opts)\n\n var force = blob.type === 'application/octet-stream'\n var isSafari = /constructor/i.test(_global.HTMLElement) || _global.safari\n var isChromeIOS = /CriOS\\/[\\d]+/.test(navigator.userAgent)\n\n if ((isChromeIOS || (force && isSafari) || isMacOSWebView) && typeof FileReader !== 'undefined') {\n // Safari doesn't allow downloading of blob URLs\n var reader = new FileReader()\n reader.onloadend = function () {\n var url = reader.result\n url = isChromeIOS ? url : url.replace(/^data:[^;]*;/, 'data:attachment/file;')\n if (popup) popup.location.href = url\n else location = url\n popup = null // reverse-tabnabbing #460\n }\n reader.readAsDataURL(blob)\n } else {\n var URL = _global.URL || _global.webkitURL\n var url = URL.createObjectURL(blob)\n if (popup) popup.location = url\n else location.href = url\n popup = null // reverse-tabnabbing #460\n setTimeout(function () { URL.revokeObjectURL(url) }, 4E4) // 40s\n }\n }\n)\n\n_global.saveAs = saveAs.saveAs = saveAs\n\nif (typeof module !== 'undefined') {\n module.exports = saveAs;\n}\n","var moment = module.exports = require(\"./moment-timezone\");\nmoment.tz.load(require('./data/packed/latest.json'));\n","//! moment-timezone.js\n//! version : 0.5.45\n//! Copyright (c) JS Foundation and other contributors\n//! license : MIT\n//! github.com/moment/moment-timezone\n\n(function (root, factory) {\n\t\"use strict\";\n\n\t/*global define*/\n\tif (typeof module === 'object' && module.exports) {\n\t\tmodule.exports = factory(require('moment')); // Node\n\t} else if (typeof define === 'function' && define.amd) {\n\t\tdefine(['moment'], factory); // AMD\n\t} else {\n\t\tfactory(root.moment); // Browser\n\t}\n}(this, function (moment) {\n\t\"use strict\";\n\n\t// Resolves es6 module loading issue\n\tif (moment.version === undefined && moment.default) {\n\t\tmoment = moment.default;\n\t}\n\n\t// Do not load moment-timezone a second time.\n\t// if (moment.tz !== undefined) {\n\t// \tlogError('Moment Timezone ' + moment.tz.version + ' was already loaded ' + (moment.tz.dataVersion ? 'with data from ' : 'without any data') + moment.tz.dataVersion);\n\t// \treturn moment;\n\t// }\n\n\tvar VERSION = \"0.5.45\",\n\t\tzones = {},\n\t\tlinks = {},\n\t\tcountries = {},\n\t\tnames = {},\n\t\tguesses = {},\n\t\tcachedGuess;\n\n\tif (!moment || typeof moment.version !== 'string') {\n\t\tlogError('Moment Timezone requires Moment.js. See https://momentjs.com/timezone/docs/#/use-it/browser/');\n\t}\n\n\tvar momentVersion = moment.version.split('.'),\n\t\tmajor = +momentVersion[0],\n\t\tminor = +momentVersion[1];\n\n\t// Moment.js version check\n\tif (major < 2 || (major === 2 && minor < 6)) {\n\t\tlogError('Moment Timezone requires Moment.js >= 2.6.0. You are using Moment.js ' + moment.version + '. See momentjs.com');\n\t}\n\n\t/************************************\n\t\tUnpacking\n\t************************************/\n\n\tfunction charCodeToInt(charCode) {\n\t\tif (charCode > 96) {\n\t\t\treturn charCode - 87;\n\t\t} else if (charCode > 64) {\n\t\t\treturn charCode - 29;\n\t\t}\n\t\treturn charCode - 48;\n\t}\n\n\tfunction unpackBase60(string) {\n\t\tvar i = 0,\n\t\t\tparts = string.split('.'),\n\t\t\twhole = parts[0],\n\t\t\tfractional = parts[1] || '',\n\t\t\tmultiplier = 1,\n\t\t\tnum,\n\t\t\tout = 0,\n\t\t\tsign = 1;\n\n\t\t// handle negative numbers\n\t\tif (string.charCodeAt(0) === 45) {\n\t\t\ti = 1;\n\t\t\tsign = -1;\n\t\t}\n\n\t\t// handle digits before the decimal\n\t\tfor (i; i < whole.length; i++) {\n\t\t\tnum = charCodeToInt(whole.charCodeAt(i));\n\t\t\tout = 60 * out + num;\n\t\t}\n\n\t\t// handle digits after the decimal\n\t\tfor (i = 0; i < fractional.length; i++) {\n\t\t\tmultiplier = multiplier / 60;\n\t\t\tnum = charCodeToInt(fractional.charCodeAt(i));\n\t\t\tout += num * multiplier;\n\t\t}\n\n\t\treturn out * sign;\n\t}\n\n\tfunction arrayToInt (array) {\n\t\tfor (var i = 0; i < array.length; i++) {\n\t\t\tarray[i] = unpackBase60(array[i]);\n\t\t}\n\t}\n\n\tfunction intToUntil (array, length) {\n\t\tfor (var i = 0; i < length; i++) {\n\t\t\tarray[i] = Math.round((array[i - 1] || 0) + (array[i] * 60000)); // minutes to milliseconds\n\t\t}\n\n\t\tarray[length - 1] = Infinity;\n\t}\n\n\tfunction mapIndices (source, indices) {\n\t\tvar out = [], i;\n\n\t\tfor (i = 0; i < indices.length; i++) {\n\t\t\tout[i] = source[indices[i]];\n\t\t}\n\n\t\treturn out;\n\t}\n\n\tfunction unpack (string) {\n\t\tvar data = string.split('|'),\n\t\t\toffsets = data[2].split(' '),\n\t\t\tindices = data[3].split(''),\n\t\t\tuntils = data[4].split(' ');\n\n\t\tarrayToInt(offsets);\n\t\tarrayToInt(indices);\n\t\tarrayToInt(untils);\n\n\t\tintToUntil(untils, indices.length);\n\n\t\treturn {\n\t\t\tname : data[0],\n\t\t\tabbrs : mapIndices(data[1].split(' '), indices),\n\t\t\toffsets : mapIndices(offsets, indices),\n\t\t\tuntils : untils,\n\t\t\tpopulation : data[5] | 0\n\t\t};\n\t}\n\n\t/************************************\n\t\tZone object\n\t************************************/\n\n\tfunction Zone (packedString) {\n\t\tif (packedString) {\n\t\t\tthis._set(unpack(packedString));\n\t\t}\n\t}\n\n\tfunction closest (num, arr) {\n\t\tvar len = arr.length;\n\t\tif (num < arr[0]) {\n\t\t\treturn 0;\n\t\t} else if (len > 1 && arr[len - 1] === Infinity && num >= arr[len - 2]) {\n\t\t\treturn len - 1;\n\t\t} else if (num >= arr[len - 1]) {\n\t\t\treturn -1;\n\t\t}\n\n\t\tvar mid;\n\t\tvar lo = 0;\n\t\tvar hi = len - 1;\n\t\twhile (hi - lo > 1) {\n\t\t\tmid = Math.floor((lo + hi) / 2);\n\t\t\tif (arr[mid] <= num) {\n\t\t\t\tlo = mid;\n\t\t\t} else {\n\t\t\t\thi = mid;\n\t\t\t}\n\t\t}\n\t\treturn hi;\n\t}\n\n\tZone.prototype = {\n\t\t_set : function (unpacked) {\n\t\t\tthis.name = unpacked.name;\n\t\t\tthis.abbrs = unpacked.abbrs;\n\t\t\tthis.untils = unpacked.untils;\n\t\t\tthis.offsets = unpacked.offsets;\n\t\t\tthis.population = unpacked.population;\n\t\t},\n\n\t\t_index : function (timestamp) {\n\t\t\tvar target = +timestamp,\n\t\t\t\tuntils = this.untils,\n\t\t\t\ti;\n\n\t\t\ti = closest(target, untils);\n\t\t\tif (i >= 0) {\n\t\t\t\treturn i;\n\t\t\t}\n\t\t},\n\n\t\tcountries : function () {\n\t\t\tvar zone_name = this.name;\n\t\t\treturn Object.keys(countries).filter(function (country_code) {\n\t\t\t\treturn countries[country_code].zones.indexOf(zone_name) !== -1;\n\t\t\t});\n\t\t},\n\n\t\tparse : function (timestamp) {\n\t\t\tvar target = +timestamp,\n\t\t\t\toffsets = this.offsets,\n\t\t\t\tuntils = this.untils,\n\t\t\t\tmax = untils.length - 1,\n\t\t\t\toffset, offsetNext, offsetPrev, i;\n\n\t\t\tfor (i = 0; i < max; i++) {\n\t\t\t\toffset = offsets[i];\n\t\t\t\toffsetNext = offsets[i + 1];\n\t\t\t\toffsetPrev = offsets[i ? i - 1 : i];\n\n\t\t\t\tif (offset < offsetNext && tz.moveAmbiguousForward) {\n\t\t\t\t\toffset = offsetNext;\n\t\t\t\t} else if (offset > offsetPrev && tz.moveInvalidForward) {\n\t\t\t\t\toffset = offsetPrev;\n\t\t\t\t}\n\n\t\t\t\tif (target < untils[i] - (offset * 60000)) {\n\t\t\t\t\treturn offsets[i];\n\t\t\t\t}\n\t\t\t}\n\n\t\t\treturn offsets[max];\n\t\t},\n\n\t\tabbr : function (mom) {\n\t\t\treturn this.abbrs[this._index(mom)];\n\t\t},\n\n\t\toffset : function (mom) {\n\t\t\tlogError(\"zone.offset has been deprecated in favor of zone.utcOffset\");\n\t\t\treturn this.offsets[this._index(mom)];\n\t\t},\n\n\t\tutcOffset : function (mom) {\n\t\t\treturn this.offsets[this._index(mom)];\n\t\t}\n\t};\n\n\t/************************************\n\t\tCountry object\n\t************************************/\n\n\tfunction Country (country_name, zone_names) {\n\t\tthis.name = country_name;\n\t\tthis.zones = zone_names;\n\t}\n\n\t/************************************\n\t\tCurrent Timezone\n\t************************************/\n\n\tfunction OffsetAt(at) {\n\t\tvar timeString = at.toTimeString();\n\t\tvar abbr = timeString.match(/\\([a-z ]+\\)/i);\n\t\tif (abbr && abbr[0]) {\n\t\t\t// 17:56:31 GMT-0600 (CST)\n\t\t\t// 17:56:31 GMT-0600 (Central Standard Time)\n\t\t\tabbr = abbr[0].match(/[A-Z]/g);\n\t\t\tabbr = abbr ? abbr.join('') : undefined;\n\t\t} else {\n\t\t\t// 17:56:31 CST\n\t\t\t// 17:56:31 GMT+0800 (台北標準時間)\n\t\t\tabbr = timeString.match(/[A-Z]{3,5}/g);\n\t\t\tabbr = abbr ? abbr[0] : undefined;\n\t\t}\n\n\t\tif (abbr === 'GMT') {\n\t\t\tabbr = undefined;\n\t\t}\n\n\t\tthis.at = +at;\n\t\tthis.abbr = abbr;\n\t\tthis.offset = at.getTimezoneOffset();\n\t}\n\n\tfunction ZoneScore(zone) {\n\t\tthis.zone = zone;\n\t\tthis.offsetScore = 0;\n\t\tthis.abbrScore = 0;\n\t}\n\n\tZoneScore.prototype.scoreOffsetAt = function (offsetAt) {\n\t\tthis.offsetScore += Math.abs(this.zone.utcOffset(offsetAt.at) - offsetAt.offset);\n\t\tif (this.zone.abbr(offsetAt.at).replace(/[^A-Z]/g, '') !== offsetAt.abbr) {\n\t\t\tthis.abbrScore++;\n\t\t}\n\t};\n\n\tfunction findChange(low, high) {\n\t\tvar mid, diff;\n\n\t\twhile ((diff = ((high.at - low.at) / 12e4 | 0) * 6e4)) {\n\t\t\tmid = new OffsetAt(new Date(low.at + diff));\n\t\t\tif (mid.offset === low.offset) {\n\t\t\t\tlow = mid;\n\t\t\t} else {\n\t\t\t\thigh = mid;\n\t\t\t}\n\t\t}\n\n\t\treturn low;\n\t}\n\n\tfunction userOffsets() {\n\t\tvar startYear = new Date().getFullYear() - 2,\n\t\t\tlast = new OffsetAt(new Date(startYear, 0, 1)),\n\t\t\tlastOffset = last.offset,\n\t\t\toffsets = [last],\n\t\t\tchange, next, nextOffset, i;\n\n\t\tfor (i = 1; i < 48; i++) {\n\t\t\tnextOffset = new Date(startYear, i, 1).getTimezoneOffset();\n\t\t\tif (nextOffset !== lastOffset) {\n\t\t\t\t// Create OffsetAt here to avoid unnecessary abbr parsing before checking offsets\n\t\t\t\tnext = new OffsetAt(new Date(startYear, i, 1));\n\t\t\t\tchange = findChange(last, next);\n\t\t\t\toffsets.push(change);\n\t\t\t\toffsets.push(new OffsetAt(new Date(change.at + 6e4)));\n\t\t\t\tlast = next;\n\t\t\t\tlastOffset = nextOffset;\n\t\t\t}\n\t\t}\n\n\t\tfor (i = 0; i < 4; i++) {\n\t\t\toffsets.push(new OffsetAt(new Date(startYear + i, 0, 1)));\n\t\t\toffsets.push(new OffsetAt(new Date(startYear + i, 6, 1)));\n\t\t}\n\n\t\treturn offsets;\n\t}\n\n\tfunction sortZoneScores (a, b) {\n\t\tif (a.offsetScore !== b.offsetScore) {\n\t\t\treturn a.offsetScore - b.offsetScore;\n\t\t}\n\t\tif (a.abbrScore !== b.abbrScore) {\n\t\t\treturn a.abbrScore - b.abbrScore;\n\t\t}\n\t\tif (a.zone.population !== b.zone.population) {\n\t\t\treturn b.zone.population - a.zone.population;\n\t\t}\n\t\treturn b.zone.name.localeCompare(a.zone.name);\n\t}\n\n\tfunction addToGuesses (name, offsets) {\n\t\tvar i, offset;\n\t\tarrayToInt(offsets);\n\t\tfor (i = 0; i < offsets.length; i++) {\n\t\t\toffset = offsets[i];\n\t\t\tguesses[offset] = guesses[offset] || {};\n\t\t\tguesses[offset][name] = true;\n\t\t}\n\t}\n\n\tfunction guessesForUserOffsets (offsets) {\n\t\tvar offsetsLength = offsets.length,\n\t\t\tfilteredGuesses = {},\n\t\t\tout = [],\n\t\t\tcheckedOffsets = {},\n\t\t\ti, j, offset, guessesOffset;\n\n\t\tfor (i = 0; i < offsetsLength; i++) {\n\t\t\toffset = offsets[i].offset;\n\t\t\tif (checkedOffsets.hasOwnProperty(offset)) {\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t\tguessesOffset = guesses[offset] || {};\n\t\t\tfor (j in guessesOffset) {\n\t\t\t\tif (guessesOffset.hasOwnProperty(j)) {\n\t\t\t\t\tfilteredGuesses[j] = true;\n\t\t\t\t}\n\t\t\t}\n\t\t\tcheckedOffsets[offset] = true;\n\t\t}\n\n\t\tfor (i in filteredGuesses) {\n\t\t\tif (filteredGuesses.hasOwnProperty(i)) {\n\t\t\t\tout.push(names[i]);\n\t\t\t}\n\t\t}\n\n\t\treturn out;\n\t}\n\n\tfunction rebuildGuess () {\n\n\t\t// use Intl API when available and returning valid time zone\n\t\ttry {\n\t\t\tvar intlName = Intl.DateTimeFormat().resolvedOptions().timeZone;\n\t\t\tif (intlName && intlName.length > 3) {\n\t\t\t\tvar name = names[normalizeName(intlName)];\n\t\t\t\tif (name) {\n\t\t\t\t\treturn name;\n\t\t\t\t}\n\t\t\t\tlogError(\"Moment Timezone found \" + intlName + \" from the Intl api, but did not have that data loaded.\");\n\t\t\t}\n\t\t} catch (e) {\n\t\t\t// Intl unavailable, fall back to manual guessing.\n\t\t}\n\n\t\tvar offsets = userOffsets(),\n\t\t\toffsetsLength = offsets.length,\n\t\t\tguesses = guessesForUserOffsets(offsets),\n\t\t\tzoneScores = [],\n\t\t\tzoneScore, i, j;\n\n\t\tfor (i = 0; i < guesses.length; i++) {\n\t\t\tzoneScore = new ZoneScore(getZone(guesses[i]), offsetsLength);\n\t\t\tfor (j = 0; j < offsetsLength; j++) {\n\t\t\t\tzoneScore.scoreOffsetAt(offsets[j]);\n\t\t\t}\n\t\t\tzoneScores.push(zoneScore);\n\t\t}\n\n\t\tzoneScores.sort(sortZoneScores);\n\n\t\treturn zoneScores.length > 0 ? zoneScores[0].zone.name : undefined;\n\t}\n\n\tfunction guess (ignoreCache) {\n\t\tif (!cachedGuess || ignoreCache) {\n\t\t\tcachedGuess = rebuildGuess();\n\t\t}\n\t\treturn cachedGuess;\n\t}\n\n\t/************************************\n\t\tGlobal Methods\n\t************************************/\n\n\tfunction normalizeName (name) {\n\t\treturn (name || '').toLowerCase().replace(/\\//g, '_');\n\t}\n\n\tfunction addZone (packed) {\n\t\tvar i, name, split, normalized;\n\n\t\tif (typeof packed === \"string\") {\n\t\t\tpacked = [packed];\n\t\t}\n\n\t\tfor (i = 0; i < packed.length; i++) {\n\t\t\tsplit = packed[i].split('|');\n\t\t\tname = split[0];\n\t\t\tnormalized = normalizeName(name);\n\t\t\tzones[normalized] = packed[i];\n\t\t\tnames[normalized] = name;\n\t\t\taddToGuesses(normalized, split[2].split(' '));\n\t\t}\n\t}\n\n\tfunction getZone (name, caller) {\n\n\t\tname = normalizeName(name);\n\n\t\tvar zone = zones[name];\n\t\tvar link;\n\n\t\tif (zone instanceof Zone) {\n\t\t\treturn zone;\n\t\t}\n\n\t\tif (typeof zone === 'string') {\n\t\t\tzone = new Zone(zone);\n\t\t\tzones[name] = zone;\n\t\t\treturn zone;\n\t\t}\n\n\t\t// Pass getZone to prevent recursion more than 1 level deep\n\t\tif (links[name] && caller !== getZone && (link = getZone(links[name], getZone))) {\n\t\t\tzone = zones[name] = new Zone();\n\t\t\tzone._set(link);\n\t\t\tzone.name = names[name];\n\t\t\treturn zone;\n\t\t}\n\n\t\treturn null;\n\t}\n\n\tfunction getNames () {\n\t\tvar i, out = [];\n\n\t\tfor (i in names) {\n\t\t\tif (names.hasOwnProperty(i) && (zones[i] || zones[links[i]]) && names[i]) {\n\t\t\t\tout.push(names[i]);\n\t\t\t}\n\t\t}\n\n\t\treturn out.sort();\n\t}\n\n\tfunction getCountryNames () {\n\t\treturn Object.keys(countries);\n\t}\n\n\tfunction addLink (aliases) {\n\t\tvar i, alias, normal0, normal1;\n\n\t\tif (typeof aliases === \"string\") {\n\t\t\taliases = [aliases];\n\t\t}\n\n\t\tfor (i = 0; i < aliases.length; i++) {\n\t\t\talias = aliases[i].split('|');\n\n\t\t\tnormal0 = normalizeName(alias[0]);\n\t\t\tnormal1 = normalizeName(alias[1]);\n\n\t\t\tlinks[normal0] = normal1;\n\t\t\tnames[normal0] = alias[0];\n\n\t\t\tlinks[normal1] = normal0;\n\t\t\tnames[normal1] = alias[1];\n\t\t}\n\t}\n\n\tfunction addCountries (data) {\n\t\tvar i, country_code, country_zones, split;\n\t\tif (!data || !data.length) return;\n\t\tfor (i = 0; i < data.length; i++) {\n\t\t\tsplit = data[i].split('|');\n\t\t\tcountry_code = split[0].toUpperCase();\n\t\t\tcountry_zones = split[1].split(' ');\n\t\t\tcountries[country_code] = new Country(\n\t\t\t\tcountry_code,\n\t\t\t\tcountry_zones\n\t\t\t);\n\t\t}\n\t}\n\n\tfunction getCountry (name) {\n\t\tname = name.toUpperCase();\n\t\treturn countries[name] || null;\n\t}\n\n\tfunction zonesForCountry(country, with_offset) {\n\t\tcountry = getCountry(country);\n\n\t\tif (!country) return null;\n\n\t\tvar zones = country.zones.sort();\n\n\t\tif (with_offset) {\n\t\t\treturn zones.map(function (zone_name) {\n\t\t\t\tvar zone = getZone(zone_name);\n\t\t\t\treturn {\n\t\t\t\t\tname: zone_name,\n\t\t\t\t\toffset: zone.utcOffset(new Date())\n\t\t\t\t};\n\t\t\t});\n\t\t}\n\n\t\treturn zones;\n\t}\n\n\tfunction loadData (data) {\n\t\taddZone(data.zones);\n\t\taddLink(data.links);\n\t\taddCountries(data.countries);\n\t\ttz.dataVersion = data.version;\n\t}\n\n\tfunction zoneExists (name) {\n\t\tif (!zoneExists.didShowError) {\n\t\t\tzoneExists.didShowError = true;\n\t\t\t\tlogError(\"moment.tz.zoneExists('\" + name + \"') has been deprecated in favor of !moment.tz.zone('\" + name + \"')\");\n\t\t}\n\t\treturn !!getZone(name);\n\t}\n\n\tfunction needsOffset (m) {\n\t\tvar isUnixTimestamp = (m._f === 'X' || m._f === 'x');\n\t\treturn !!(m._a && (m._tzm === undefined) && !isUnixTimestamp);\n\t}\n\n\tfunction logError (message) {\n\t\tif (typeof console !== 'undefined' && typeof console.error === 'function') {\n\t\t\tconsole.error(message);\n\t\t}\n\t}\n\n\t/************************************\n\t\tmoment.tz namespace\n\t************************************/\n\n\tfunction tz (input) {\n\t\tvar args = Array.prototype.slice.call(arguments, 0, -1),\n\t\t\tname = arguments[arguments.length - 1],\n\t\t\tout = moment.utc.apply(null, args),\n\t\t\tzone;\n\n\t\tif (!moment.isMoment(input) && needsOffset(out) && (zone = getZone(name))) {\n\t\t\tout.add(zone.parse(out), 'minutes');\n\t\t}\n\n\t\tout.tz(name);\n\n\t\treturn out;\n\t}\n\n\ttz.version = VERSION;\n\ttz.dataVersion = '';\n\ttz._zones = zones;\n\ttz._links = links;\n\ttz._names = names;\n\ttz._countries\t= countries;\n\ttz.add = addZone;\n\ttz.link = addLink;\n\ttz.load = loadData;\n\ttz.zone = getZone;\n\ttz.zoneExists = zoneExists; // deprecated in 0.1.0\n\ttz.guess = guess;\n\ttz.names = getNames;\n\ttz.Zone = Zone;\n\ttz.unpack = unpack;\n\ttz.unpackBase60 = unpackBase60;\n\ttz.needsOffset = needsOffset;\n\ttz.moveInvalidForward = true;\n\ttz.moveAmbiguousForward = false;\n\ttz.countries = getCountryNames;\n\ttz.zonesForCountry = zonesForCountry;\n\n\t/************************************\n\t\tInterface with Moment.js\n\t************************************/\n\n\tvar fn = moment.fn;\n\n\tmoment.tz = tz;\n\n\tmoment.defaultZone = null;\n\n\tmoment.updateOffset = function (mom, keepTime) {\n\t\tvar zone = moment.defaultZone,\n\t\t\toffset;\n\n\t\tif (mom._z === undefined) {\n\t\t\tif (zone && needsOffset(mom) && !mom._isUTC && mom.isValid()) {\n\t\t\t\tmom._d = moment.utc(mom._a)._d;\n\t\t\t\tmom.utc().add(zone.parse(mom), 'minutes');\n\t\t\t}\n\t\t\tmom._z = zone;\n\t\t}\n\t\tif (mom._z) {\n\t\t\toffset = mom._z.utcOffset(mom);\n\t\t\tif (Math.abs(offset) < 16) {\n\t\t\t\toffset = offset / 60;\n\t\t\t}\n\t\t\tif (mom.utcOffset !== undefined) {\n\t\t\t\tvar z = mom._z;\n\t\t\t\tmom.utcOffset(-offset, keepTime);\n\t\t\t\tmom._z = z;\n\t\t\t} else {\n\t\t\t\tmom.zone(offset, keepTime);\n\t\t\t}\n\t\t}\n\t};\n\n\tfn.tz = function (name, keepTime) {\n\t\tif (name) {\n\t\t\tif (typeof name !== 'string') {\n\t\t\t\tthrow new Error('Time zone name must be a string, got ' + name + ' [' + typeof name + ']');\n\t\t\t}\n\t\t\tthis._z = getZone(name);\n\t\t\tif (this._z) {\n\t\t\t\tmoment.updateOffset(this, keepTime);\n\t\t\t} else {\n\t\t\t\tlogError(\"Moment Timezone has no data for \" + name + \". See http://momentjs.com/timezone/docs/#/data-loading/.\");\n\t\t\t}\n\t\t\treturn this;\n\t\t}\n\t\tif (this._z) { return this._z.name; }\n\t};\n\n\tfunction abbrWrap (old) {\n\t\treturn function () {\n\t\t\tif (this._z) { return this._z.abbr(this); }\n\t\t\treturn old.call(this);\n\t\t};\n\t}\n\n\tfunction resetZoneWrap (old) {\n\t\treturn function () {\n\t\t\tthis._z = null;\n\t\t\treturn old.apply(this, arguments);\n\t\t};\n\t}\n\n\tfunction resetZoneWrap2 (old) {\n\t\treturn function () {\n\t\t\tif (arguments.length > 0) this._z = null;\n\t\t\treturn old.apply(this, arguments);\n\t\t};\n\t}\n\n\tfn.zoneName = abbrWrap(fn.zoneName);\n\tfn.zoneAbbr = abbrWrap(fn.zoneAbbr);\n\tfn.utc = resetZoneWrap(fn.utc);\n\tfn.local = resetZoneWrap(fn.local);\n\tfn.utcOffset = resetZoneWrap2(fn.utcOffset);\n\n\tmoment.tz.setDefault = function(name) {\n\t\tif (major < 2 || (major === 2 && minor < 9)) {\n\t\t\tlogError('Moment Timezone setDefault() requires Moment.js >= 2.9.0. You are using Moment.js ' + moment.version + '.');\n\t\t}\n\t\tmoment.defaultZone = name ? getZone(name) : null;\n\t\treturn moment;\n\t};\n\n\t// Cloning a moment should include the _z property.\n\tvar momentProperties = moment.momentProperties;\n\tif (Object.prototype.toString.call(momentProperties) === '[object Array]') {\n\t\t// moment 2.8.1+\n\t\tmomentProperties.push('_z');\n\t\tmomentProperties.push('_a');\n\t} else if (momentProperties) {\n\t\t// moment 2.7.0\n\t\tmomentProperties._z = null;\n\t}\n\n\t// INJECT DATA\n\n\treturn moment;\n}));\n","//! moment.js locale configuration\n//! locale : Afrikaans [af]\n//! author : Werner Mollentze : https://github.com/wernerm\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var af = moment.defineLocale('af', {\n months: 'Januarie_Februarie_Maart_April_Mei_Junie_Julie_Augustus_September_Oktober_November_Desember'.split(\n '_'\n ),\n monthsShort: 'Jan_Feb_Mrt_Apr_Mei_Jun_Jul_Aug_Sep_Okt_Nov_Des'.split('_'),\n weekdays: 'Sondag_Maandag_Dinsdag_Woensdag_Donderdag_Vrydag_Saterdag'.split(\n '_'\n ),\n weekdaysShort: 'Son_Maa_Din_Woe_Don_Vry_Sat'.split('_'),\n weekdaysMin: 'So_Ma_Di_Wo_Do_Vr_Sa'.split('_'),\n meridiemParse: /vm|nm/i,\n isPM: function (input) {\n return /^nm$/i.test(input);\n },\n meridiem: function (hours, minutes, isLower) {\n if (hours < 12) {\n return isLower ? 'vm' : 'VM';\n } else {\n return isLower ? 'nm' : 'NM';\n }\n },\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd, D MMMM YYYY HH:mm',\n },\n calendar: {\n sameDay: '[Vandag om] LT',\n nextDay: '[Môre om] LT',\n nextWeek: 'dddd [om] LT',\n lastDay: '[Gister om] LT',\n lastWeek: '[Laas] dddd [om] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'oor %s',\n past: '%s gelede',\n s: \"'n paar sekondes\",\n ss: '%d sekondes',\n m: \"'n minuut\",\n mm: '%d minute',\n h: \"'n uur\",\n hh: '%d ure',\n d: \"'n dag\",\n dd: '%d dae',\n M: \"'n maand\",\n MM: '%d maande',\n y: \"'n jaar\",\n yy: '%d jaar',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(ste|de)/,\n ordinal: function (number) {\n return (\n number +\n (number === 1 || number === 8 || number >= 20 ? 'ste' : 'de')\n ); // Thanks to Joris Röling : https://github.com/jjupiter\n },\n week: {\n dow: 1, // Maandag is die eerste dag van die week.\n doy: 4, // Die week wat die 4de Januarie bevat is die eerste week van die jaar.\n },\n });\n\n return af;\n\n})));\n","//! moment.js locale configuration\n//! locale : Arabic (Algeria) [ar-dz]\n//! author : Amine Roukh: https://github.com/Amine27\n//! author : Abdel Said: https://github.com/abdelsaid\n//! author : Ahmed Elkhatib\n//! author : forabi https://github.com/forabi\n//! author : Noureddine LOUAHEDJ : https://github.com/noureddinem\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var pluralForm = function (n) {\n return n === 0\n ? 0\n : n === 1\n ? 1\n : n === 2\n ? 2\n : n % 100 >= 3 && n % 100 <= 10\n ? 3\n : n % 100 >= 11\n ? 4\n : 5;\n },\n plurals = {\n s: [\n 'أقل من ثانية',\n 'ثانية واحدة',\n ['ثانيتان', 'ثانيتين'],\n '%d ثوان',\n '%d ثانية',\n '%d ثانية',\n ],\n m: [\n 'أقل من دقيقة',\n 'دقيقة واحدة',\n ['دقيقتان', 'دقيقتين'],\n '%d دقائق',\n '%d دقيقة',\n '%d دقيقة',\n ],\n h: [\n 'أقل من ساعة',\n 'ساعة واحدة',\n ['ساعتان', 'ساعتين'],\n '%d ساعات',\n '%d ساعة',\n '%d ساعة',\n ],\n d: [\n 'أقل من يوم',\n 'يوم واحد',\n ['يومان', 'يومين'],\n '%d أيام',\n '%d يومًا',\n '%d يوم',\n ],\n M: [\n 'أقل من شهر',\n 'شهر واحد',\n ['شهران', 'شهرين'],\n '%d أشهر',\n '%d شهرا',\n '%d شهر',\n ],\n y: [\n 'أقل من عام',\n 'عام واحد',\n ['عامان', 'عامين'],\n '%d أعوام',\n '%d عامًا',\n '%d عام',\n ],\n },\n pluralize = function (u) {\n return function (number, withoutSuffix, string, isFuture) {\n var f = pluralForm(number),\n str = plurals[u][pluralForm(number)];\n if (f === 2) {\n str = str[withoutSuffix ? 0 : 1];\n }\n return str.replace(/%d/i, number);\n };\n },\n months = [\n 'جانفي',\n 'فيفري',\n 'مارس',\n 'أفريل',\n 'ماي',\n 'جوان',\n 'جويلية',\n 'أوت',\n 'سبتمبر',\n 'أكتوبر',\n 'نوفمبر',\n 'ديسمبر',\n ];\n\n var arDz = moment.defineLocale('ar-dz', {\n months: months,\n monthsShort: months,\n weekdays: 'الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت'.split('_'),\n weekdaysShort: 'أحد_إثنين_ثلاثاء_أربعاء_خميس_جمعة_سبت'.split('_'),\n weekdaysMin: 'ح_ن_ث_ر_خ_ج_س'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'D/\\u200FM/\\u200FYYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd D MMMM YYYY HH:mm',\n },\n meridiemParse: /ص|م/,\n isPM: function (input) {\n return 'م' === input;\n },\n meridiem: function (hour, minute, isLower) {\n if (hour < 12) {\n return 'ص';\n } else {\n return 'م';\n }\n },\n calendar: {\n sameDay: '[اليوم عند الساعة] LT',\n nextDay: '[غدًا عند الساعة] LT',\n nextWeek: 'dddd [عند الساعة] LT',\n lastDay: '[أمس عند الساعة] LT',\n lastWeek: 'dddd [عند الساعة] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'بعد %s',\n past: 'منذ %s',\n s: pluralize('s'),\n ss: pluralize('s'),\n m: pluralize('m'),\n mm: pluralize('m'),\n h: pluralize('h'),\n hh: pluralize('h'),\n d: pluralize('d'),\n dd: pluralize('d'),\n M: pluralize('M'),\n MM: pluralize('M'),\n y: pluralize('y'),\n yy: pluralize('y'),\n },\n postformat: function (string) {\n return string.replace(/,/g, '،');\n },\n week: {\n dow: 0, // Sunday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return arDz;\n\n})));\n","//! moment.js locale configuration\n//! locale : Arabic (Kuwait) [ar-kw]\n//! author : Nusret Parlak: https://github.com/nusretparlak\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var arKw = moment.defineLocale('ar-kw', {\n months: 'يناير_فبراير_مارس_أبريل_ماي_يونيو_يوليوز_غشت_شتنبر_أكتوبر_نونبر_دجنبر'.split(\n '_'\n ),\n monthsShort:\n 'يناير_فبراير_مارس_أبريل_ماي_يونيو_يوليوز_غشت_شتنبر_أكتوبر_نونبر_دجنبر'.split(\n '_'\n ),\n weekdays: 'الأحد_الإتنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت'.split('_'),\n weekdaysShort: 'احد_اتنين_ثلاثاء_اربعاء_خميس_جمعة_سبت'.split('_'),\n weekdaysMin: 'ح_ن_ث_ر_خ_ج_س'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd D MMMM YYYY HH:mm',\n },\n calendar: {\n sameDay: '[اليوم على الساعة] LT',\n nextDay: '[غدا على الساعة] LT',\n nextWeek: 'dddd [على الساعة] LT',\n lastDay: '[أمس على الساعة] LT',\n lastWeek: 'dddd [على الساعة] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'في %s',\n past: 'منذ %s',\n s: 'ثوان',\n ss: '%d ثانية',\n m: 'دقيقة',\n mm: '%d دقائق',\n h: 'ساعة',\n hh: '%d ساعات',\n d: 'يوم',\n dd: '%d أيام',\n M: 'شهر',\n MM: '%d أشهر',\n y: 'سنة',\n yy: '%d سنوات',\n },\n week: {\n dow: 0, // Sunday is the first day of the week.\n doy: 12, // The week that contains Jan 12th is the first week of the year.\n },\n });\n\n return arKw;\n\n})));\n","//! moment.js locale configuration\n//! locale : Arabic (Libya) [ar-ly]\n//! author : Ali Hmer: https://github.com/kikoanis\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var symbolMap = {\n 1: '1',\n 2: '2',\n 3: '3',\n 4: '4',\n 5: '5',\n 6: '6',\n 7: '7',\n 8: '8',\n 9: '9',\n 0: '0',\n },\n pluralForm = function (n) {\n return n === 0\n ? 0\n : n === 1\n ? 1\n : n === 2\n ? 2\n : n % 100 >= 3 && n % 100 <= 10\n ? 3\n : n % 100 >= 11\n ? 4\n : 5;\n },\n plurals = {\n s: [\n 'أقل من ثانية',\n 'ثانية واحدة',\n ['ثانيتان', 'ثانيتين'],\n '%d ثوان',\n '%d ثانية',\n '%d ثانية',\n ],\n m: [\n 'أقل من دقيقة',\n 'دقيقة واحدة',\n ['دقيقتان', 'دقيقتين'],\n '%d دقائق',\n '%d دقيقة',\n '%d دقيقة',\n ],\n h: [\n 'أقل من ساعة',\n 'ساعة واحدة',\n ['ساعتان', 'ساعتين'],\n '%d ساعات',\n '%d ساعة',\n '%d ساعة',\n ],\n d: [\n 'أقل من يوم',\n 'يوم واحد',\n ['يومان', 'يومين'],\n '%d أيام',\n '%d يومًا',\n '%d يوم',\n ],\n M: [\n 'أقل من شهر',\n 'شهر واحد',\n ['شهران', 'شهرين'],\n '%d أشهر',\n '%d شهرا',\n '%d شهر',\n ],\n y: [\n 'أقل من عام',\n 'عام واحد',\n ['عامان', 'عامين'],\n '%d أعوام',\n '%d عامًا',\n '%d عام',\n ],\n },\n pluralize = function (u) {\n return function (number, withoutSuffix, string, isFuture) {\n var f = pluralForm(number),\n str = plurals[u][pluralForm(number)];\n if (f === 2) {\n str = str[withoutSuffix ? 0 : 1];\n }\n return str.replace(/%d/i, number);\n };\n },\n months = [\n 'يناير',\n 'فبراير',\n 'مارس',\n 'أبريل',\n 'مايو',\n 'يونيو',\n 'يوليو',\n 'أغسطس',\n 'سبتمبر',\n 'أكتوبر',\n 'نوفمبر',\n 'ديسمبر',\n ];\n\n var arLy = moment.defineLocale('ar-ly', {\n months: months,\n monthsShort: months,\n weekdays: 'الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت'.split('_'),\n weekdaysShort: 'أحد_إثنين_ثلاثاء_أربعاء_خميس_جمعة_سبت'.split('_'),\n weekdaysMin: 'ح_ن_ث_ر_خ_ج_س'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'D/\\u200FM/\\u200FYYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd D MMMM YYYY HH:mm',\n },\n meridiemParse: /ص|م/,\n isPM: function (input) {\n return 'م' === input;\n },\n meridiem: function (hour, minute, isLower) {\n if (hour < 12) {\n return 'ص';\n } else {\n return 'م';\n }\n },\n calendar: {\n sameDay: '[اليوم عند الساعة] LT',\n nextDay: '[غدًا عند الساعة] LT',\n nextWeek: 'dddd [عند الساعة] LT',\n lastDay: '[أمس عند الساعة] LT',\n lastWeek: 'dddd [عند الساعة] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'بعد %s',\n past: 'منذ %s',\n s: pluralize('s'),\n ss: pluralize('s'),\n m: pluralize('m'),\n mm: pluralize('m'),\n h: pluralize('h'),\n hh: pluralize('h'),\n d: pluralize('d'),\n dd: pluralize('d'),\n M: pluralize('M'),\n MM: pluralize('M'),\n y: pluralize('y'),\n yy: pluralize('y'),\n },\n preparse: function (string) {\n return string.replace(/،/g, ',');\n },\n postformat: function (string) {\n return string\n .replace(/\\d/g, function (match) {\n return symbolMap[match];\n })\n .replace(/,/g, '،');\n },\n week: {\n dow: 6, // Saturday is the first day of the week.\n doy: 12, // The week that contains Jan 12th is the first week of the year.\n },\n });\n\n return arLy;\n\n})));\n","//! moment.js locale configuration\n//! locale : Arabic (Morocco) [ar-ma]\n//! author : ElFadili Yassine : https://github.com/ElFadiliY\n//! author : Abdel Said : https://github.com/abdelsaid\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var arMa = moment.defineLocale('ar-ma', {\n months: 'يناير_فبراير_مارس_أبريل_ماي_يونيو_يوليوز_غشت_شتنبر_أكتوبر_نونبر_دجنبر'.split(\n '_'\n ),\n monthsShort:\n 'يناير_فبراير_مارس_أبريل_ماي_يونيو_يوليوز_غشت_شتنبر_أكتوبر_نونبر_دجنبر'.split(\n '_'\n ),\n weekdays: 'الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت'.split('_'),\n weekdaysShort: 'احد_اثنين_ثلاثاء_اربعاء_خميس_جمعة_سبت'.split('_'),\n weekdaysMin: 'ح_ن_ث_ر_خ_ج_س'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd D MMMM YYYY HH:mm',\n },\n calendar: {\n sameDay: '[اليوم على الساعة] LT',\n nextDay: '[غدا على الساعة] LT',\n nextWeek: 'dddd [على الساعة] LT',\n lastDay: '[أمس على الساعة] LT',\n lastWeek: 'dddd [على الساعة] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'في %s',\n past: 'منذ %s',\n s: 'ثوان',\n ss: '%d ثانية',\n m: 'دقيقة',\n mm: '%d دقائق',\n h: 'ساعة',\n hh: '%d ساعات',\n d: 'يوم',\n dd: '%d أيام',\n M: 'شهر',\n MM: '%d أشهر',\n y: 'سنة',\n yy: '%d سنوات',\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return arMa;\n\n})));\n","//! moment.js locale configuration\n//! locale : Arabic (Saudi Arabia) [ar-sa]\n//! author : Suhail Alkowaileet : https://github.com/xsoh\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var symbolMap = {\n 1: '١',\n 2: '٢',\n 3: '٣',\n 4: '٤',\n 5: '٥',\n 6: '٦',\n 7: '٧',\n 8: '٨',\n 9: '٩',\n 0: '٠',\n },\n numberMap = {\n '١': '1',\n '٢': '2',\n '٣': '3',\n '٤': '4',\n '٥': '5',\n '٦': '6',\n '٧': '7',\n '٨': '8',\n '٩': '9',\n '٠': '0',\n };\n\n var arSa = moment.defineLocale('ar-sa', {\n months: 'يناير_فبراير_مارس_أبريل_مايو_يونيو_يوليو_أغسطس_سبتمبر_أكتوبر_نوفمبر_ديسمبر'.split(\n '_'\n ),\n monthsShort:\n 'يناير_فبراير_مارس_أبريل_مايو_يونيو_يوليو_أغسطس_سبتمبر_أكتوبر_نوفمبر_ديسمبر'.split(\n '_'\n ),\n weekdays: 'الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت'.split('_'),\n weekdaysShort: 'أحد_إثنين_ثلاثاء_أربعاء_خميس_جمعة_سبت'.split('_'),\n weekdaysMin: 'ح_ن_ث_ر_خ_ج_س'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd D MMMM YYYY HH:mm',\n },\n meridiemParse: /ص|م/,\n isPM: function (input) {\n return 'م' === input;\n },\n meridiem: function (hour, minute, isLower) {\n if (hour < 12) {\n return 'ص';\n } else {\n return 'م';\n }\n },\n calendar: {\n sameDay: '[اليوم على الساعة] LT',\n nextDay: '[غدا على الساعة] LT',\n nextWeek: 'dddd [على الساعة] LT',\n lastDay: '[أمس على الساعة] LT',\n lastWeek: 'dddd [على الساعة] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'في %s',\n past: 'منذ %s',\n s: 'ثوان',\n ss: '%d ثانية',\n m: 'دقيقة',\n mm: '%d دقائق',\n h: 'ساعة',\n hh: '%d ساعات',\n d: 'يوم',\n dd: '%d أيام',\n M: 'شهر',\n MM: '%d أشهر',\n y: 'سنة',\n yy: '%d سنوات',\n },\n preparse: function (string) {\n return string\n .replace(/[١٢٣٤٥٦٧٨٩٠]/g, function (match) {\n return numberMap[match];\n })\n .replace(/،/g, ',');\n },\n postformat: function (string) {\n return string\n .replace(/\\d/g, function (match) {\n return symbolMap[match];\n })\n .replace(/,/g, '،');\n },\n week: {\n dow: 0, // Sunday is the first day of the week.\n doy: 6, // The week that contains Jan 6th is the first week of the year.\n },\n });\n\n return arSa;\n\n})));\n","//! moment.js locale configuration\n//! locale : Arabic (Tunisia) [ar-tn]\n//! author : Nader Toukabri : https://github.com/naderio\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var arTn = moment.defineLocale('ar-tn', {\n months: 'جانفي_فيفري_مارس_أفريل_ماي_جوان_جويلية_أوت_سبتمبر_أكتوبر_نوفمبر_ديسمبر'.split(\n '_'\n ),\n monthsShort:\n 'جانفي_فيفري_مارس_أفريل_ماي_جوان_جويلية_أوت_سبتمبر_أكتوبر_نوفمبر_ديسمبر'.split(\n '_'\n ),\n weekdays: 'الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت'.split('_'),\n weekdaysShort: 'أحد_إثنين_ثلاثاء_أربعاء_خميس_جمعة_سبت'.split('_'),\n weekdaysMin: 'ح_ن_ث_ر_خ_ج_س'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd D MMMM YYYY HH:mm',\n },\n calendar: {\n sameDay: '[اليوم على الساعة] LT',\n nextDay: '[غدا على الساعة] LT',\n nextWeek: 'dddd [على الساعة] LT',\n lastDay: '[أمس على الساعة] LT',\n lastWeek: 'dddd [على الساعة] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'في %s',\n past: 'منذ %s',\n s: 'ثوان',\n ss: '%d ثانية',\n m: 'دقيقة',\n mm: '%d دقائق',\n h: 'ساعة',\n hh: '%d ساعات',\n d: 'يوم',\n dd: '%d أيام',\n M: 'شهر',\n MM: '%d أشهر',\n y: 'سنة',\n yy: '%d سنوات',\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return arTn;\n\n})));\n","//! moment.js locale configuration\n//! locale : Arabic [ar]\n//! author : Abdel Said: https://github.com/abdelsaid\n//! author : Ahmed Elkhatib\n//! author : forabi https://github.com/forabi\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var symbolMap = {\n 1: '١',\n 2: '٢',\n 3: '٣',\n 4: '٤',\n 5: '٥',\n 6: '٦',\n 7: '٧',\n 8: '٨',\n 9: '٩',\n 0: '٠',\n },\n numberMap = {\n '١': '1',\n '٢': '2',\n '٣': '3',\n '٤': '4',\n '٥': '5',\n '٦': '6',\n '٧': '7',\n '٨': '8',\n '٩': '9',\n '٠': '0',\n },\n pluralForm = function (n) {\n return n === 0\n ? 0\n : n === 1\n ? 1\n : n === 2\n ? 2\n : n % 100 >= 3 && n % 100 <= 10\n ? 3\n : n % 100 >= 11\n ? 4\n : 5;\n },\n plurals = {\n s: [\n 'أقل من ثانية',\n 'ثانية واحدة',\n ['ثانيتان', 'ثانيتين'],\n '%d ثوان',\n '%d ثانية',\n '%d ثانية',\n ],\n m: [\n 'أقل من دقيقة',\n 'دقيقة واحدة',\n ['دقيقتان', 'دقيقتين'],\n '%d دقائق',\n '%d دقيقة',\n '%d دقيقة',\n ],\n h: [\n 'أقل من ساعة',\n 'ساعة واحدة',\n ['ساعتان', 'ساعتين'],\n '%d ساعات',\n '%d ساعة',\n '%d ساعة',\n ],\n d: [\n 'أقل من يوم',\n 'يوم واحد',\n ['يومان', 'يومين'],\n '%d أيام',\n '%d يومًا',\n '%d يوم',\n ],\n M: [\n 'أقل من شهر',\n 'شهر واحد',\n ['شهران', 'شهرين'],\n '%d أشهر',\n '%d شهرا',\n '%d شهر',\n ],\n y: [\n 'أقل من عام',\n 'عام واحد',\n ['عامان', 'عامين'],\n '%d أعوام',\n '%d عامًا',\n '%d عام',\n ],\n },\n pluralize = function (u) {\n return function (number, withoutSuffix, string, isFuture) {\n var f = pluralForm(number),\n str = plurals[u][pluralForm(number)];\n if (f === 2) {\n str = str[withoutSuffix ? 0 : 1];\n }\n return str.replace(/%d/i, number);\n };\n },\n months = [\n 'يناير',\n 'فبراير',\n 'مارس',\n 'أبريل',\n 'مايو',\n 'يونيو',\n 'يوليو',\n 'أغسطس',\n 'سبتمبر',\n 'أكتوبر',\n 'نوفمبر',\n 'ديسمبر',\n ];\n\n var ar = moment.defineLocale('ar', {\n months: months,\n monthsShort: months,\n weekdays: 'الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت'.split('_'),\n weekdaysShort: 'أحد_إثنين_ثلاثاء_أربعاء_خميس_جمعة_سبت'.split('_'),\n weekdaysMin: 'ح_ن_ث_ر_خ_ج_س'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'D/\\u200FM/\\u200FYYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd D MMMM YYYY HH:mm',\n },\n meridiemParse: /ص|م/,\n isPM: function (input) {\n return 'م' === input;\n },\n meridiem: function (hour, minute, isLower) {\n if (hour < 12) {\n return 'ص';\n } else {\n return 'م';\n }\n },\n calendar: {\n sameDay: '[اليوم عند الساعة] LT',\n nextDay: '[غدًا عند الساعة] LT',\n nextWeek: 'dddd [عند الساعة] LT',\n lastDay: '[أمس عند الساعة] LT',\n lastWeek: 'dddd [عند الساعة] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'بعد %s',\n past: 'منذ %s',\n s: pluralize('s'),\n ss: pluralize('s'),\n m: pluralize('m'),\n mm: pluralize('m'),\n h: pluralize('h'),\n hh: pluralize('h'),\n d: pluralize('d'),\n dd: pluralize('d'),\n M: pluralize('M'),\n MM: pluralize('M'),\n y: pluralize('y'),\n yy: pluralize('y'),\n },\n preparse: function (string) {\n return string\n .replace(/[١٢٣٤٥٦٧٨٩٠]/g, function (match) {\n return numberMap[match];\n })\n .replace(/،/g, ',');\n },\n postformat: function (string) {\n return string\n .replace(/\\d/g, function (match) {\n return symbolMap[match];\n })\n .replace(/,/g, '،');\n },\n week: {\n dow: 6, // Saturday is the first day of the week.\n doy: 12, // The week that contains Jan 12th is the first week of the year.\n },\n });\n\n return ar;\n\n})));\n","//! moment.js locale configuration\n//! locale : Azerbaijani [az]\n//! author : topchiyev : https://github.com/topchiyev\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var suffixes = {\n 1: '-inci',\n 5: '-inci',\n 8: '-inci',\n 70: '-inci',\n 80: '-inci',\n 2: '-nci',\n 7: '-nci',\n 20: '-nci',\n 50: '-nci',\n 3: '-üncü',\n 4: '-üncü',\n 100: '-üncü',\n 6: '-ncı',\n 9: '-uncu',\n 10: '-uncu',\n 30: '-uncu',\n 60: '-ıncı',\n 90: '-ıncı',\n };\n\n var az = moment.defineLocale('az', {\n months: 'yanvar_fevral_mart_aprel_may_iyun_iyul_avqust_sentyabr_oktyabr_noyabr_dekabr'.split(\n '_'\n ),\n monthsShort: 'yan_fev_mar_apr_may_iyn_iyl_avq_sen_okt_noy_dek'.split('_'),\n weekdays:\n 'Bazar_Bazar ertəsi_Çərşənbə axşamı_Çərşənbə_Cümə axşamı_Cümə_Şənbə'.split(\n '_'\n ),\n weekdaysShort: 'Baz_BzE_ÇAx_Çər_CAx_Cüm_Şən'.split('_'),\n weekdaysMin: 'Bz_BE_ÇA_Çə_CA_Cü_Şə'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd, D MMMM YYYY HH:mm',\n },\n calendar: {\n sameDay: '[bugün saat] LT',\n nextDay: '[sabah saat] LT',\n nextWeek: '[gələn həftə] dddd [saat] LT',\n lastDay: '[dünən] LT',\n lastWeek: '[keçən həftə] dddd [saat] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: '%s sonra',\n past: '%s əvvəl',\n s: 'bir neçə saniyə',\n ss: '%d saniyə',\n m: 'bir dəqiqə',\n mm: '%d dəqiqə',\n h: 'bir saat',\n hh: '%d saat',\n d: 'bir gün',\n dd: '%d gün',\n M: 'bir ay',\n MM: '%d ay',\n y: 'bir il',\n yy: '%d il',\n },\n meridiemParse: /gecə|səhər|gündüz|axşam/,\n isPM: function (input) {\n return /^(gündüz|axşam)$/.test(input);\n },\n meridiem: function (hour, minute, isLower) {\n if (hour < 4) {\n return 'gecə';\n } else if (hour < 12) {\n return 'səhər';\n } else if (hour < 17) {\n return 'gündüz';\n } else {\n return 'axşam';\n }\n },\n dayOfMonthOrdinalParse: /\\d{1,2}-(ıncı|inci|nci|üncü|ncı|uncu)/,\n ordinal: function (number) {\n if (number === 0) {\n // special case for zero\n return number + '-ıncı';\n }\n var a = number % 10,\n b = (number % 100) - a,\n c = number >= 100 ? 100 : null;\n return number + (suffixes[a] || suffixes[b] || suffixes[c]);\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 7, // The week that contains Jan 7th is the first week of the year.\n },\n });\n\n return az;\n\n})));\n","//! moment.js locale configuration\n//! locale : Belarusian [be]\n//! author : Dmitry Demidov : https://github.com/demidov91\n//! author: Praleska: http://praleska.pro/\n//! Author : Menelion Elensúle : https://github.com/Oire\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n function plural(word, num) {\n var forms = word.split('_');\n return num % 10 === 1 && num % 100 !== 11\n ? forms[0]\n : num % 10 >= 2 && num % 10 <= 4 && (num % 100 < 10 || num % 100 >= 20)\n ? forms[1]\n : forms[2];\n }\n function relativeTimeWithPlural(number, withoutSuffix, key) {\n var format = {\n ss: withoutSuffix ? 'секунда_секунды_секунд' : 'секунду_секунды_секунд',\n mm: withoutSuffix ? 'хвіліна_хвіліны_хвілін' : 'хвіліну_хвіліны_хвілін',\n hh: withoutSuffix ? 'гадзіна_гадзіны_гадзін' : 'гадзіну_гадзіны_гадзін',\n dd: 'дзень_дні_дзён',\n MM: 'месяц_месяцы_месяцаў',\n yy: 'год_гады_гадоў',\n };\n if (key === 'm') {\n return withoutSuffix ? 'хвіліна' : 'хвіліну';\n } else if (key === 'h') {\n return withoutSuffix ? 'гадзіна' : 'гадзіну';\n } else {\n return number + ' ' + plural(format[key], +number);\n }\n }\n\n var be = moment.defineLocale('be', {\n months: {\n format: 'студзеня_лютага_сакавіка_красавіка_траўня_чэрвеня_ліпеня_жніўня_верасня_кастрычніка_лістапада_снежня'.split(\n '_'\n ),\n standalone:\n 'студзень_люты_сакавік_красавік_травень_чэрвень_ліпень_жнівень_верасень_кастрычнік_лістапад_снежань'.split(\n '_'\n ),\n },\n monthsShort:\n 'студ_лют_сак_крас_трав_чэрв_ліп_жнів_вер_каст_ліст_снеж'.split('_'),\n weekdays: {\n format: 'нядзелю_панядзелак_аўторак_сераду_чацвер_пятніцу_суботу'.split(\n '_'\n ),\n standalone:\n 'нядзеля_панядзелак_аўторак_серада_чацвер_пятніца_субота'.split(\n '_'\n ),\n isFormat: /\\[ ?[Ууў] ?(?:мінулую|наступную)? ?\\] ?dddd/,\n },\n weekdaysShort: 'нд_пн_ат_ср_чц_пт_сб'.split('_'),\n weekdaysMin: 'нд_пн_ат_ср_чц_пт_сб'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'D MMMM YYYY г.',\n LLL: 'D MMMM YYYY г., HH:mm',\n LLLL: 'dddd, D MMMM YYYY г., HH:mm',\n },\n calendar: {\n sameDay: '[Сёння ў] LT',\n nextDay: '[Заўтра ў] LT',\n lastDay: '[Учора ў] LT',\n nextWeek: function () {\n return '[У] dddd [ў] LT';\n },\n lastWeek: function () {\n switch (this.day()) {\n case 0:\n case 3:\n case 5:\n case 6:\n return '[У мінулую] dddd [ў] LT';\n case 1:\n case 2:\n case 4:\n return '[У мінулы] dddd [ў] LT';\n }\n },\n sameElse: 'L',\n },\n relativeTime: {\n future: 'праз %s',\n past: '%s таму',\n s: 'некалькі секунд',\n m: relativeTimeWithPlural,\n mm: relativeTimeWithPlural,\n h: relativeTimeWithPlural,\n hh: relativeTimeWithPlural,\n d: 'дзень',\n dd: relativeTimeWithPlural,\n M: 'месяц',\n MM: relativeTimeWithPlural,\n y: 'год',\n yy: relativeTimeWithPlural,\n },\n meridiemParse: /ночы|раніцы|дня|вечара/,\n isPM: function (input) {\n return /^(дня|вечара)$/.test(input);\n },\n meridiem: function (hour, minute, isLower) {\n if (hour < 4) {\n return 'ночы';\n } else if (hour < 12) {\n return 'раніцы';\n } else if (hour < 17) {\n return 'дня';\n } else {\n return 'вечара';\n }\n },\n dayOfMonthOrdinalParse: /\\d{1,2}-(і|ы|га)/,\n ordinal: function (number, period) {\n switch (period) {\n case 'M':\n case 'd':\n case 'DDD':\n case 'w':\n case 'W':\n return (number % 10 === 2 || number % 10 === 3) &&\n number % 100 !== 12 &&\n number % 100 !== 13\n ? number + '-і'\n : number + '-ы';\n case 'D':\n return number + '-га';\n default:\n return number;\n }\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 7, // The week that contains Jan 7th is the first week of the year.\n },\n });\n\n return be;\n\n})));\n","//! moment.js locale configuration\n//! locale : Bulgarian [bg]\n//! author : Krasen Borisov : https://github.com/kraz\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var bg = moment.defineLocale('bg', {\n months: 'януари_февруари_март_април_май_юни_юли_август_септември_октомври_ноември_декември'.split(\n '_'\n ),\n monthsShort: 'яну_фев_мар_апр_май_юни_юли_авг_сеп_окт_ное_дек'.split('_'),\n weekdays: 'неделя_понеделник_вторник_сряда_четвъртък_петък_събота'.split(\n '_'\n ),\n weekdaysShort: 'нед_пон_вто_сря_чет_пет_съб'.split('_'),\n weekdaysMin: 'нд_пн_вт_ср_чт_пт_сб'.split('_'),\n longDateFormat: {\n LT: 'H:mm',\n LTS: 'H:mm:ss',\n L: 'D.MM.YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY H:mm',\n LLLL: 'dddd, D MMMM YYYY H:mm',\n },\n calendar: {\n sameDay: '[Днес в] LT',\n nextDay: '[Утре в] LT',\n nextWeek: 'dddd [в] LT',\n lastDay: '[Вчера в] LT',\n lastWeek: function () {\n switch (this.day()) {\n case 0:\n case 3:\n case 6:\n return '[Миналата] dddd [в] LT';\n case 1:\n case 2:\n case 4:\n case 5:\n return '[Миналия] dddd [в] LT';\n }\n },\n sameElse: 'L',\n },\n relativeTime: {\n future: 'след %s',\n past: 'преди %s',\n s: 'няколко секунди',\n ss: '%d секунди',\n m: 'минута',\n mm: '%d минути',\n h: 'час',\n hh: '%d часа',\n d: 'ден',\n dd: '%d дена',\n w: 'седмица',\n ww: '%d седмици',\n M: 'месец',\n MM: '%d месеца',\n y: 'година',\n yy: '%d години',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}-(ев|ен|ти|ви|ри|ми)/,\n ordinal: function (number) {\n var lastDigit = number % 10,\n last2Digits = number % 100;\n if (number === 0) {\n return number + '-ев';\n } else if (last2Digits === 0) {\n return number + '-ен';\n } else if (last2Digits > 10 && last2Digits < 20) {\n return number + '-ти';\n } else if (lastDigit === 1) {\n return number + '-ви';\n } else if (lastDigit === 2) {\n return number + '-ри';\n } else if (lastDigit === 7 || lastDigit === 8) {\n return number + '-ми';\n } else {\n return number + '-ти';\n }\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 7, // The week that contains Jan 7th is the first week of the year.\n },\n });\n\n return bg;\n\n})));\n","//! moment.js locale configuration\n//! locale : Bambara [bm]\n//! author : Estelle Comment : https://github.com/estellecomment\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var bm = moment.defineLocale('bm', {\n months: 'Zanwuyekalo_Fewuruyekalo_Marisikalo_Awirilikalo_Mɛkalo_Zuwɛnkalo_Zuluyekalo_Utikalo_Sɛtanburukalo_ɔkutɔburukalo_Nowanburukalo_Desanburukalo'.split(\n '_'\n ),\n monthsShort: 'Zan_Few_Mar_Awi_Mɛ_Zuw_Zul_Uti_Sɛt_ɔku_Now_Des'.split('_'),\n weekdays: 'Kari_Ntɛnɛn_Tarata_Araba_Alamisa_Juma_Sibiri'.split('_'),\n weekdaysShort: 'Kar_Ntɛ_Tar_Ara_Ala_Jum_Sib'.split('_'),\n weekdaysMin: 'Ka_Nt_Ta_Ar_Al_Ju_Si'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'MMMM [tile] D [san] YYYY',\n LLL: 'MMMM [tile] D [san] YYYY [lɛrɛ] HH:mm',\n LLLL: 'dddd MMMM [tile] D [san] YYYY [lɛrɛ] HH:mm',\n },\n calendar: {\n sameDay: '[Bi lɛrɛ] LT',\n nextDay: '[Sini lɛrɛ] LT',\n nextWeek: 'dddd [don lɛrɛ] LT',\n lastDay: '[Kunu lɛrɛ] LT',\n lastWeek: 'dddd [tɛmɛnen lɛrɛ] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: '%s kɔnɔ',\n past: 'a bɛ %s bɔ',\n s: 'sanga dama dama',\n ss: 'sekondi %d',\n m: 'miniti kelen',\n mm: 'miniti %d',\n h: 'lɛrɛ kelen',\n hh: 'lɛrɛ %d',\n d: 'tile kelen',\n dd: 'tile %d',\n M: 'kalo kelen',\n MM: 'kalo %d',\n y: 'san kelen',\n yy: 'san %d',\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return bm;\n\n})));\n","//! moment.js locale configuration\n//! locale : Bengali (Bangladesh) [bn-bd]\n//! author : Asraf Hossain Patoary : https://github.com/ashwoolford\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var symbolMap = {\n 1: '১',\n 2: '২',\n 3: '৩',\n 4: '৪',\n 5: '৫',\n 6: '৬',\n 7: '৭',\n 8: '৮',\n 9: '৯',\n 0: '০',\n },\n numberMap = {\n '১': '1',\n '২': '2',\n '৩': '3',\n '৪': '4',\n '৫': '5',\n '৬': '6',\n '৭': '7',\n '৮': '8',\n '৯': '9',\n '০': '0',\n };\n\n var bnBd = moment.defineLocale('bn-bd', {\n months: 'জানুয়ারি_ফেব্রুয়ারি_মার্চ_এপ্রিল_মে_জুন_জুলাই_আগস্ট_সেপ্টেম্বর_অক্টোবর_নভেম্বর_ডিসেম্বর'.split(\n '_'\n ),\n monthsShort:\n 'জানু_ফেব্রু_মার্চ_এপ্রিল_মে_জুন_জুলাই_আগস্ট_সেপ্ট_অক্টো_নভে_ডিসে'.split(\n '_'\n ),\n weekdays: 'রবিবার_সোমবার_মঙ্গলবার_বুধবার_বৃহস্পতিবার_শুক্রবার_শনিবার'.split(\n '_'\n ),\n weekdaysShort: 'রবি_সোম_মঙ্গল_বুধ_বৃহস্পতি_শুক্র_শনি'.split('_'),\n weekdaysMin: 'রবি_সোম_মঙ্গল_বুধ_বৃহ_শুক্র_শনি'.split('_'),\n longDateFormat: {\n LT: 'A h:mm সময়',\n LTS: 'A h:mm:ss সময়',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY, A h:mm সময়',\n LLLL: 'dddd, D MMMM YYYY, A h:mm সময়',\n },\n calendar: {\n sameDay: '[আজ] LT',\n nextDay: '[আগামীকাল] LT',\n nextWeek: 'dddd, LT',\n lastDay: '[গতকাল] LT',\n lastWeek: '[গত] dddd, LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: '%s পরে',\n past: '%s আগে',\n s: 'কয়েক সেকেন্ড',\n ss: '%d সেকেন্ড',\n m: 'এক মিনিট',\n mm: '%d মিনিট',\n h: 'এক ঘন্টা',\n hh: '%d ঘন্টা',\n d: 'এক দিন',\n dd: '%d দিন',\n M: 'এক মাস',\n MM: '%d মাস',\n y: 'এক বছর',\n yy: '%d বছর',\n },\n preparse: function (string) {\n return string.replace(/[১২৩৪৫৬৭৮৯০]/g, function (match) {\n return numberMap[match];\n });\n },\n postformat: function (string) {\n return string.replace(/\\d/g, function (match) {\n return symbolMap[match];\n });\n },\n\n meridiemParse: /রাত|ভোর|সকাল|দুপুর|বিকাল|সন্ধ্যা|রাত/,\n meridiemHour: function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (meridiem === 'রাত') {\n return hour < 4 ? hour : hour + 12;\n } else if (meridiem === 'ভোর') {\n return hour;\n } else if (meridiem === 'সকাল') {\n return hour;\n } else if (meridiem === 'দুপুর') {\n return hour >= 3 ? hour : hour + 12;\n } else if (meridiem === 'বিকাল') {\n return hour + 12;\n } else if (meridiem === 'সন্ধ্যা') {\n return hour + 12;\n }\n },\n\n meridiem: function (hour, minute, isLower) {\n if (hour < 4) {\n return 'রাত';\n } else if (hour < 6) {\n return 'ভোর';\n } else if (hour < 12) {\n return 'সকাল';\n } else if (hour < 15) {\n return 'দুপুর';\n } else if (hour < 18) {\n return 'বিকাল';\n } else if (hour < 20) {\n return 'সন্ধ্যা';\n } else {\n return 'রাত';\n }\n },\n week: {\n dow: 0, // Sunday is the first day of the week.\n doy: 6, // The week that contains Jan 6th is the first week of the year.\n },\n });\n\n return bnBd;\n\n})));\n","//! moment.js locale configuration\n//! locale : Bengali [bn]\n//! author : Kaushik Gandhi : https://github.com/kaushikgandhi\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var symbolMap = {\n 1: '১',\n 2: '২',\n 3: '৩',\n 4: '৪',\n 5: '৫',\n 6: '৬',\n 7: '৭',\n 8: '৮',\n 9: '৯',\n 0: '০',\n },\n numberMap = {\n '১': '1',\n '২': '2',\n '৩': '3',\n '৪': '4',\n '৫': '5',\n '৬': '6',\n '৭': '7',\n '৮': '8',\n '৯': '9',\n '০': '0',\n };\n\n var bn = moment.defineLocale('bn', {\n months: 'জানুয়ারি_ফেব্রুয়ারি_মার্চ_এপ্রিল_মে_জুন_জুলাই_আগস্ট_সেপ্টেম্বর_অক্টোবর_নভেম্বর_ডিসেম্বর'.split(\n '_'\n ),\n monthsShort:\n 'জানু_ফেব্রু_মার্চ_এপ্রিল_মে_জুন_জুলাই_আগস্ট_সেপ্ট_অক্টো_নভে_ডিসে'.split(\n '_'\n ),\n weekdays: 'রবিবার_সোমবার_মঙ্গলবার_বুধবার_বৃহস্পতিবার_শুক্রবার_শনিবার'.split(\n '_'\n ),\n weekdaysShort: 'রবি_সোম_মঙ্গল_বুধ_বৃহস্পতি_শুক্র_শনি'.split('_'),\n weekdaysMin: 'রবি_সোম_মঙ্গল_বুধ_বৃহ_শুক্র_শনি'.split('_'),\n longDateFormat: {\n LT: 'A h:mm সময়',\n LTS: 'A h:mm:ss সময়',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY, A h:mm সময়',\n LLLL: 'dddd, D MMMM YYYY, A h:mm সময়',\n },\n calendar: {\n sameDay: '[আজ] LT',\n nextDay: '[আগামীকাল] LT',\n nextWeek: 'dddd, LT',\n lastDay: '[গতকাল] LT',\n lastWeek: '[গত] dddd, LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: '%s পরে',\n past: '%s আগে',\n s: 'কয়েক সেকেন্ড',\n ss: '%d সেকেন্ড',\n m: 'এক মিনিট',\n mm: '%d মিনিট',\n h: 'এক ঘন্টা',\n hh: '%d ঘন্টা',\n d: 'এক দিন',\n dd: '%d দিন',\n M: 'এক মাস',\n MM: '%d মাস',\n y: 'এক বছর',\n yy: '%d বছর',\n },\n preparse: function (string) {\n return string.replace(/[১২৩৪৫৬৭৮৯০]/g, function (match) {\n return numberMap[match];\n });\n },\n postformat: function (string) {\n return string.replace(/\\d/g, function (match) {\n return symbolMap[match];\n });\n },\n meridiemParse: /রাত|সকাল|দুপুর|বিকাল|রাত/,\n meridiemHour: function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (\n (meridiem === 'রাত' && hour >= 4) ||\n (meridiem === 'দুপুর' && hour < 5) ||\n meridiem === 'বিকাল'\n ) {\n return hour + 12;\n } else {\n return hour;\n }\n },\n meridiem: function (hour, minute, isLower) {\n if (hour < 4) {\n return 'রাত';\n } else if (hour < 10) {\n return 'সকাল';\n } else if (hour < 17) {\n return 'দুপুর';\n } else if (hour < 20) {\n return 'বিকাল';\n } else {\n return 'রাত';\n }\n },\n week: {\n dow: 0, // Sunday is the first day of the week.\n doy: 6, // The week that contains Jan 6th is the first week of the year.\n },\n });\n\n return bn;\n\n})));\n","//! moment.js locale configuration\n//! locale : Tibetan [bo]\n//! author : Thupten N. Chakrishar : https://github.com/vajradog\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var symbolMap = {\n 1: '༡',\n 2: '༢',\n 3: '༣',\n 4: '༤',\n 5: '༥',\n 6: '༦',\n 7: '༧',\n 8: '༨',\n 9: '༩',\n 0: '༠',\n },\n numberMap = {\n '༡': '1',\n '༢': '2',\n '༣': '3',\n '༤': '4',\n '༥': '5',\n '༦': '6',\n '༧': '7',\n '༨': '8',\n '༩': '9',\n '༠': '0',\n };\n\n var bo = moment.defineLocale('bo', {\n months: 'ཟླ་བ་དང་པོ_ཟླ་བ་གཉིས་པ_ཟླ་བ་གསུམ་པ_ཟླ་བ་བཞི་པ_ཟླ་བ་ལྔ་པ_ཟླ་བ་དྲུག་པ_ཟླ་བ་བདུན་པ_ཟླ་བ་བརྒྱད་པ_ཟླ་བ་དགུ་པ_ཟླ་བ་བཅུ་པ_ཟླ་བ་བཅུ་གཅིག་པ_ཟླ་བ་བཅུ་གཉིས་པ'.split(\n '_'\n ),\n monthsShort:\n 'ཟླ་1_ཟླ་2_ཟླ་3_ཟླ་4_ཟླ་5_ཟླ་6_ཟླ་7_ཟླ་8_ཟླ་9_ཟླ་10_ཟླ་11_ཟླ་12'.split(\n '_'\n ),\n monthsShortRegex: /^(ཟླ་\\d{1,2})/,\n monthsParseExact: true,\n weekdays:\n 'གཟའ་ཉི་མ་_གཟའ་ཟླ་བ་_གཟའ་མིག་དམར་_གཟའ་ལྷག་པ་_གཟའ་ཕུར་བུ_གཟའ་པ་སངས་_གཟའ་སྤེན་པ་'.split(\n '_'\n ),\n weekdaysShort: 'ཉི་མ་_ཟླ་བ་_མིག་དམར་_ལྷག་པ་_ཕུར་བུ_པ་སངས་_སྤེན་པ་'.split(\n '_'\n ),\n weekdaysMin: 'ཉི_ཟླ_མིག_ལྷག_ཕུར_སངས_སྤེན'.split('_'),\n longDateFormat: {\n LT: 'A h:mm',\n LTS: 'A h:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY, A h:mm',\n LLLL: 'dddd, D MMMM YYYY, A h:mm',\n },\n calendar: {\n sameDay: '[དི་རིང] LT',\n nextDay: '[སང་ཉིན] LT',\n nextWeek: '[བདུན་ཕྲག་རྗེས་མ], LT',\n lastDay: '[ཁ་སང] LT',\n lastWeek: '[བདུན་ཕྲག་མཐའ་མ] dddd, LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: '%s ལ་',\n past: '%s སྔན་ལ',\n s: 'ལམ་སང',\n ss: '%d སྐར་ཆ།',\n m: 'སྐར་མ་གཅིག',\n mm: '%d སྐར་མ',\n h: 'ཆུ་ཚོད་གཅིག',\n hh: '%d ཆུ་ཚོད',\n d: 'ཉིན་གཅིག',\n dd: '%d ཉིན་',\n M: 'ཟླ་བ་གཅིག',\n MM: '%d ཟླ་བ',\n y: 'ལོ་གཅིག',\n yy: '%d ལོ',\n },\n preparse: function (string) {\n return string.replace(/[༡༢༣༤༥༦༧༨༩༠]/g, function (match) {\n return numberMap[match];\n });\n },\n postformat: function (string) {\n return string.replace(/\\d/g, function (match) {\n return symbolMap[match];\n });\n },\n meridiemParse: /མཚན་མོ|ཞོགས་ཀས|ཉིན་གུང|དགོང་དག|མཚན་མོ/,\n meridiemHour: function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (\n (meridiem === 'མཚན་མོ' && hour >= 4) ||\n (meridiem === 'ཉིན་གུང' && hour < 5) ||\n meridiem === 'དགོང་དག'\n ) {\n return hour + 12;\n } else {\n return hour;\n }\n },\n meridiem: function (hour, minute, isLower) {\n if (hour < 4) {\n return 'མཚན་མོ';\n } else if (hour < 10) {\n return 'ཞོགས་ཀས';\n } else if (hour < 17) {\n return 'ཉིན་གུང';\n } else if (hour < 20) {\n return 'དགོང་དག';\n } else {\n return 'མཚན་མོ';\n }\n },\n week: {\n dow: 0, // Sunday is the first day of the week.\n doy: 6, // The week that contains Jan 6th is the first week of the year.\n },\n });\n\n return bo;\n\n})));\n","//! moment.js locale configuration\n//! locale : Breton [br]\n//! author : Jean-Baptiste Le Duigou : https://github.com/jbleduigou\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n function relativeTimeWithMutation(number, withoutSuffix, key) {\n var format = {\n mm: 'munutenn',\n MM: 'miz',\n dd: 'devezh',\n };\n return number + ' ' + mutation(format[key], number);\n }\n function specialMutationForYears(number) {\n switch (lastNumber(number)) {\n case 1:\n case 3:\n case 4:\n case 5:\n case 9:\n return number + ' bloaz';\n default:\n return number + ' vloaz';\n }\n }\n function lastNumber(number) {\n if (number > 9) {\n return lastNumber(number % 10);\n }\n return number;\n }\n function mutation(text, number) {\n if (number === 2) {\n return softMutation(text);\n }\n return text;\n }\n function softMutation(text) {\n var mutationTable = {\n m: 'v',\n b: 'v',\n d: 'z',\n };\n if (mutationTable[text.charAt(0)] === undefined) {\n return text;\n }\n return mutationTable[text.charAt(0)] + text.substring(1);\n }\n\n var monthsParse = [\n /^gen/i,\n /^c[ʼ\\']hwe/i,\n /^meu/i,\n /^ebr/i,\n /^mae/i,\n /^(mez|eve)/i,\n /^gou/i,\n /^eos/i,\n /^gwe/i,\n /^her/i,\n /^du/i,\n /^ker/i,\n ],\n monthsRegex =\n /^(genver|c[ʼ\\']hwevrer|meurzh|ebrel|mae|mezheven|gouere|eost|gwengolo|here|du|kerzu|gen|c[ʼ\\']hwe|meu|ebr|mae|eve|gou|eos|gwe|her|du|ker)/i,\n monthsStrictRegex =\n /^(genver|c[ʼ\\']hwevrer|meurzh|ebrel|mae|mezheven|gouere|eost|gwengolo|here|du|kerzu)/i,\n monthsShortStrictRegex =\n /^(gen|c[ʼ\\']hwe|meu|ebr|mae|eve|gou|eos|gwe|her|du|ker)/i,\n fullWeekdaysParse = [\n /^sul/i,\n /^lun/i,\n /^meurzh/i,\n /^merc[ʼ\\']her/i,\n /^yaou/i,\n /^gwener/i,\n /^sadorn/i,\n ],\n shortWeekdaysParse = [\n /^Sul/i,\n /^Lun/i,\n /^Meu/i,\n /^Mer/i,\n /^Yao/i,\n /^Gwe/i,\n /^Sad/i,\n ],\n minWeekdaysParse = [\n /^Su/i,\n /^Lu/i,\n /^Me([^r]|$)/i,\n /^Mer/i,\n /^Ya/i,\n /^Gw/i,\n /^Sa/i,\n ];\n\n var br = moment.defineLocale('br', {\n months: 'Genver_Cʼhwevrer_Meurzh_Ebrel_Mae_Mezheven_Gouere_Eost_Gwengolo_Here_Du_Kerzu'.split(\n '_'\n ),\n monthsShort: 'Gen_Cʼhwe_Meu_Ebr_Mae_Eve_Gou_Eos_Gwe_Her_Du_Ker'.split('_'),\n weekdays: 'Sul_Lun_Meurzh_Mercʼher_Yaou_Gwener_Sadorn'.split('_'),\n weekdaysShort: 'Sul_Lun_Meu_Mer_Yao_Gwe_Sad'.split('_'),\n weekdaysMin: 'Su_Lu_Me_Mer_Ya_Gw_Sa'.split('_'),\n weekdaysParse: minWeekdaysParse,\n fullWeekdaysParse: fullWeekdaysParse,\n shortWeekdaysParse: shortWeekdaysParse,\n minWeekdaysParse: minWeekdaysParse,\n\n monthsRegex: monthsRegex,\n monthsShortRegex: monthsRegex,\n monthsStrictRegex: monthsStrictRegex,\n monthsShortStrictRegex: monthsShortStrictRegex,\n monthsParse: monthsParse,\n longMonthsParse: monthsParse,\n shortMonthsParse: monthsParse,\n\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D [a viz] MMMM YYYY',\n LLL: 'D [a viz] MMMM YYYY HH:mm',\n LLLL: 'dddd, D [a viz] MMMM YYYY HH:mm',\n },\n calendar: {\n sameDay: '[Hiziv da] LT',\n nextDay: '[Warcʼhoazh da] LT',\n nextWeek: 'dddd [da] LT',\n lastDay: '[Decʼh da] LT',\n lastWeek: 'dddd [paset da] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'a-benn %s',\n past: '%s ʼzo',\n s: 'un nebeud segondennoù',\n ss: '%d eilenn',\n m: 'ur vunutenn',\n mm: relativeTimeWithMutation,\n h: 'un eur',\n hh: '%d eur',\n d: 'un devezh',\n dd: relativeTimeWithMutation,\n M: 'ur miz',\n MM: relativeTimeWithMutation,\n y: 'ur bloaz',\n yy: specialMutationForYears,\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(añ|vet)/,\n ordinal: function (number) {\n var output = number === 1 ? 'añ' : 'vet';\n return number + output;\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n meridiemParse: /a.m.|g.m./, // goude merenn | a-raok merenn\n isPM: function (token) {\n return token === 'g.m.';\n },\n meridiem: function (hour, minute, isLower) {\n return hour < 12 ? 'a.m.' : 'g.m.';\n },\n });\n\n return br;\n\n})));\n","//! moment.js locale configuration\n//! locale : Bosnian [bs]\n//! author : Nedim Cholich : https://github.com/frontyard\n//! based on (hr) translation by Bojan Marković\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n function translate(number, withoutSuffix, key) {\n var result = number + ' ';\n switch (key) {\n case 'ss':\n if (number === 1) {\n result += 'sekunda';\n } else if (number === 2 || number === 3 || number === 4) {\n result += 'sekunde';\n } else {\n result += 'sekundi';\n }\n return result;\n case 'm':\n return withoutSuffix ? 'jedna minuta' : 'jedne minute';\n case 'mm':\n if (number === 1) {\n result += 'minuta';\n } else if (number === 2 || number === 3 || number === 4) {\n result += 'minute';\n } else {\n result += 'minuta';\n }\n return result;\n case 'h':\n return withoutSuffix ? 'jedan sat' : 'jednog sata';\n case 'hh':\n if (number === 1) {\n result += 'sat';\n } else if (number === 2 || number === 3 || number === 4) {\n result += 'sata';\n } else {\n result += 'sati';\n }\n return result;\n case 'dd':\n if (number === 1) {\n result += 'dan';\n } else {\n result += 'dana';\n }\n return result;\n case 'MM':\n if (number === 1) {\n result += 'mjesec';\n } else if (number === 2 || number === 3 || number === 4) {\n result += 'mjeseca';\n } else {\n result += 'mjeseci';\n }\n return result;\n case 'yy':\n if (number === 1) {\n result += 'godina';\n } else if (number === 2 || number === 3 || number === 4) {\n result += 'godine';\n } else {\n result += 'godina';\n }\n return result;\n }\n }\n\n var bs = moment.defineLocale('bs', {\n months: 'januar_februar_mart_april_maj_juni_juli_august_septembar_oktobar_novembar_decembar'.split(\n '_'\n ),\n monthsShort:\n 'jan._feb._mar._apr._maj._jun._jul._aug._sep._okt._nov._dec.'.split(\n '_'\n ),\n monthsParseExact: true,\n weekdays: 'nedjelja_ponedjeljak_utorak_srijeda_četvrtak_petak_subota'.split(\n '_'\n ),\n weekdaysShort: 'ned._pon._uto._sri._čet._pet._sub.'.split('_'),\n weekdaysMin: 'ne_po_ut_sr_če_pe_su'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'H:mm',\n LTS: 'H:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'D. MMMM YYYY',\n LLL: 'D. MMMM YYYY H:mm',\n LLLL: 'dddd, D. MMMM YYYY H:mm',\n },\n calendar: {\n sameDay: '[danas u] LT',\n nextDay: '[sutra u] LT',\n nextWeek: function () {\n switch (this.day()) {\n case 0:\n return '[u] [nedjelju] [u] LT';\n case 3:\n return '[u] [srijedu] [u] LT';\n case 6:\n return '[u] [subotu] [u] LT';\n case 1:\n case 2:\n case 4:\n case 5:\n return '[u] dddd [u] LT';\n }\n },\n lastDay: '[jučer u] LT',\n lastWeek: function () {\n switch (this.day()) {\n case 0:\n case 3:\n return '[prošlu] dddd [u] LT';\n case 6:\n return '[prošle] [subote] [u] LT';\n case 1:\n case 2:\n case 4:\n case 5:\n return '[prošli] dddd [u] LT';\n }\n },\n sameElse: 'L',\n },\n relativeTime: {\n future: 'za %s',\n past: 'prije %s',\n s: 'par sekundi',\n ss: translate,\n m: translate,\n mm: translate,\n h: translate,\n hh: translate,\n d: 'dan',\n dd: translate,\n M: 'mjesec',\n MM: translate,\n y: 'godinu',\n yy: translate,\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal: '%d.',\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 7, // The week that contains Jan 7th is the first week of the year.\n },\n });\n\n return bs;\n\n})));\n","//! moment.js locale configuration\n//! locale : Catalan [ca]\n//! author : Juan G. Hurtado : https://github.com/juanghurtado\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var ca = moment.defineLocale('ca', {\n months: {\n standalone:\n 'gener_febrer_març_abril_maig_juny_juliol_agost_setembre_octubre_novembre_desembre'.split(\n '_'\n ),\n format: \"de gener_de febrer_de març_d'abril_de maig_de juny_de juliol_d'agost_de setembre_d'octubre_de novembre_de desembre\".split(\n '_'\n ),\n isFormat: /D[oD]?(\\s)+MMMM/,\n },\n monthsShort:\n 'gen._febr._març_abr._maig_juny_jul._ag._set._oct._nov._des.'.split(\n '_'\n ),\n monthsParseExact: true,\n weekdays:\n 'diumenge_dilluns_dimarts_dimecres_dijous_divendres_dissabte'.split(\n '_'\n ),\n weekdaysShort: 'dg._dl._dt._dc._dj._dv._ds.'.split('_'),\n weekdaysMin: 'dg_dl_dt_dc_dj_dv_ds'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'H:mm',\n LTS: 'H:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM [de] YYYY',\n ll: 'D MMM YYYY',\n LLL: 'D MMMM [de] YYYY [a les] H:mm',\n lll: 'D MMM YYYY, H:mm',\n LLLL: 'dddd D MMMM [de] YYYY [a les] H:mm',\n llll: 'ddd D MMM YYYY, H:mm',\n },\n calendar: {\n sameDay: function () {\n return '[avui a ' + (this.hours() !== 1 ? 'les' : 'la') + '] LT';\n },\n nextDay: function () {\n return '[demà a ' + (this.hours() !== 1 ? 'les' : 'la') + '] LT';\n },\n nextWeek: function () {\n return 'dddd [a ' + (this.hours() !== 1 ? 'les' : 'la') + '] LT';\n },\n lastDay: function () {\n return '[ahir a ' + (this.hours() !== 1 ? 'les' : 'la') + '] LT';\n },\n lastWeek: function () {\n return (\n '[el] dddd [passat a ' +\n (this.hours() !== 1 ? 'les' : 'la') +\n '] LT'\n );\n },\n sameElse: 'L',\n },\n relativeTime: {\n future: \"d'aquí %s\",\n past: 'fa %s',\n s: 'uns segons',\n ss: '%d segons',\n m: 'un minut',\n mm: '%d minuts',\n h: 'una hora',\n hh: '%d hores',\n d: 'un dia',\n dd: '%d dies',\n M: 'un mes',\n MM: '%d mesos',\n y: 'un any',\n yy: '%d anys',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(r|n|t|è|a)/,\n ordinal: function (number, period) {\n var output =\n number === 1\n ? 'r'\n : number === 2\n ? 'n'\n : number === 3\n ? 'r'\n : number === 4\n ? 't'\n : 'è';\n if (period === 'w' || period === 'W') {\n output = 'a';\n }\n return number + output;\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return ca;\n\n})));\n","//! moment.js locale configuration\n//! locale : Czech [cs]\n//! author : petrbela : https://github.com/petrbela\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var months = {\n format: 'leden_únor_březen_duben_květen_červen_červenec_srpen_září_říjen_listopad_prosinec'.split(\n '_'\n ),\n standalone:\n 'ledna_února_března_dubna_května_června_července_srpna_září_října_listopadu_prosince'.split(\n '_'\n ),\n },\n monthsShort = 'led_úno_bře_dub_kvě_čvn_čvc_srp_zář_říj_lis_pro'.split('_'),\n monthsParse = [\n /^led/i,\n /^úno/i,\n /^bře/i,\n /^dub/i,\n /^kvě/i,\n /^(čvn|červen$|června)/i,\n /^(čvc|červenec|července)/i,\n /^srp/i,\n /^zář/i,\n /^říj/i,\n /^lis/i,\n /^pro/i,\n ],\n // NOTE: 'červen' is substring of 'červenec'; therefore 'červenec' must precede 'červen' in the regex to be fully matched.\n // Otherwise parser matches '1. červenec' as '1. červen' + 'ec'.\n monthsRegex =\n /^(leden|únor|březen|duben|květen|červenec|července|červen|června|srpen|září|říjen|listopad|prosinec|led|úno|bře|dub|kvě|čvn|čvc|srp|zář|říj|lis|pro)/i;\n\n function plural(n) {\n return n > 1 && n < 5 && ~~(n / 10) !== 1;\n }\n function translate(number, withoutSuffix, key, isFuture) {\n var result = number + ' ';\n switch (key) {\n case 's': // a few seconds / in a few seconds / a few seconds ago\n return withoutSuffix || isFuture ? 'pár sekund' : 'pár sekundami';\n case 'ss': // 9 seconds / in 9 seconds / 9 seconds ago\n if (withoutSuffix || isFuture) {\n return result + (plural(number) ? 'sekundy' : 'sekund');\n } else {\n return result + 'sekundami';\n }\n case 'm': // a minute / in a minute / a minute ago\n return withoutSuffix ? 'minuta' : isFuture ? 'minutu' : 'minutou';\n case 'mm': // 9 minutes / in 9 minutes / 9 minutes ago\n if (withoutSuffix || isFuture) {\n return result + (plural(number) ? 'minuty' : 'minut');\n } else {\n return result + 'minutami';\n }\n case 'h': // an hour / in an hour / an hour ago\n return withoutSuffix ? 'hodina' : isFuture ? 'hodinu' : 'hodinou';\n case 'hh': // 9 hours / in 9 hours / 9 hours ago\n if (withoutSuffix || isFuture) {\n return result + (plural(number) ? 'hodiny' : 'hodin');\n } else {\n return result + 'hodinami';\n }\n case 'd': // a day / in a day / a day ago\n return withoutSuffix || isFuture ? 'den' : 'dnem';\n case 'dd': // 9 days / in 9 days / 9 days ago\n if (withoutSuffix || isFuture) {\n return result + (plural(number) ? 'dny' : 'dní');\n } else {\n return result + 'dny';\n }\n case 'M': // a month / in a month / a month ago\n return withoutSuffix || isFuture ? 'měsíc' : 'měsícem';\n case 'MM': // 9 months / in 9 months / 9 months ago\n if (withoutSuffix || isFuture) {\n return result + (plural(number) ? 'měsíce' : 'měsíců');\n } else {\n return result + 'měsíci';\n }\n case 'y': // a year / in a year / a year ago\n return withoutSuffix || isFuture ? 'rok' : 'rokem';\n case 'yy': // 9 years / in 9 years / 9 years ago\n if (withoutSuffix || isFuture) {\n return result + (plural(number) ? 'roky' : 'let');\n } else {\n return result + 'lety';\n }\n }\n }\n\n var cs = moment.defineLocale('cs', {\n months: months,\n monthsShort: monthsShort,\n monthsRegex: monthsRegex,\n monthsShortRegex: monthsRegex,\n // NOTE: 'červen' is substring of 'červenec'; therefore 'červenec' must precede 'červen' in the regex to be fully matched.\n // Otherwise parser matches '1. červenec' as '1. červen' + 'ec'.\n monthsStrictRegex:\n /^(leden|ledna|února|únor|březen|března|duben|dubna|květen|května|červenec|července|červen|června|srpen|srpna|září|říjen|října|listopadu|listopad|prosinec|prosince)/i,\n monthsShortStrictRegex:\n /^(led|úno|bře|dub|kvě|čvn|čvc|srp|zář|říj|lis|pro)/i,\n monthsParse: monthsParse,\n longMonthsParse: monthsParse,\n shortMonthsParse: monthsParse,\n weekdays: 'neděle_pondělí_úterý_středa_čtvrtek_pátek_sobota'.split('_'),\n weekdaysShort: 'ne_po_út_st_čt_pá_so'.split('_'),\n weekdaysMin: 'ne_po_út_st_čt_pá_so'.split('_'),\n longDateFormat: {\n LT: 'H:mm',\n LTS: 'H:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'D. MMMM YYYY',\n LLL: 'D. MMMM YYYY H:mm',\n LLLL: 'dddd D. MMMM YYYY H:mm',\n l: 'D. M. YYYY',\n },\n calendar: {\n sameDay: '[dnes v] LT',\n nextDay: '[zítra v] LT',\n nextWeek: function () {\n switch (this.day()) {\n case 0:\n return '[v neděli v] LT';\n case 1:\n case 2:\n return '[v] dddd [v] LT';\n case 3:\n return '[ve středu v] LT';\n case 4:\n return '[ve čtvrtek v] LT';\n case 5:\n return '[v pátek v] LT';\n case 6:\n return '[v sobotu v] LT';\n }\n },\n lastDay: '[včera v] LT',\n lastWeek: function () {\n switch (this.day()) {\n case 0:\n return '[minulou neděli v] LT';\n case 1:\n case 2:\n return '[minulé] dddd [v] LT';\n case 3:\n return '[minulou středu v] LT';\n case 4:\n case 5:\n return '[minulý] dddd [v] LT';\n case 6:\n return '[minulou sobotu v] LT';\n }\n },\n sameElse: 'L',\n },\n relativeTime: {\n future: 'za %s',\n past: 'před %s',\n s: translate,\n ss: translate,\n m: translate,\n mm: translate,\n h: translate,\n hh: translate,\n d: translate,\n dd: translate,\n M: translate,\n MM: translate,\n y: translate,\n yy: translate,\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal: '%d.',\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return cs;\n\n})));\n","//! moment.js locale configuration\n//! locale : Chuvash [cv]\n//! author : Anatoly Mironov : https://github.com/mirontoli\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var cv = moment.defineLocale('cv', {\n months: 'кӑрлач_нарӑс_пуш_ака_май_ҫӗртме_утӑ_ҫурла_авӑн_юпа_чӳк_раштав'.split(\n '_'\n ),\n monthsShort: 'кӑр_нар_пуш_ака_май_ҫӗр_утӑ_ҫур_авн_юпа_чӳк_раш'.split('_'),\n weekdays:\n 'вырсарникун_тунтикун_ытларикун_юнкун_кӗҫнерникун_эрнекун_шӑматкун'.split(\n '_'\n ),\n weekdaysShort: 'выр_тун_ытл_юн_кӗҫ_эрн_шӑм'.split('_'),\n weekdaysMin: 'вр_тн_ыт_юн_кҫ_эр_шм'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD-MM-YYYY',\n LL: 'YYYY [ҫулхи] MMMM [уйӑхӗн] D[-мӗшӗ]',\n LLL: 'YYYY [ҫулхи] MMMM [уйӑхӗн] D[-мӗшӗ], HH:mm',\n LLLL: 'dddd, YYYY [ҫулхи] MMMM [уйӑхӗн] D[-мӗшӗ], HH:mm',\n },\n calendar: {\n sameDay: '[Паян] LT [сехетре]',\n nextDay: '[Ыран] LT [сехетре]',\n lastDay: '[Ӗнер] LT [сехетре]',\n nextWeek: '[Ҫитес] dddd LT [сехетре]',\n lastWeek: '[Иртнӗ] dddd LT [сехетре]',\n sameElse: 'L',\n },\n relativeTime: {\n future: function (output) {\n var affix = /сехет$/i.exec(output)\n ? 'рен'\n : /ҫул$/i.exec(output)\n ? 'тан'\n : 'ран';\n return output + affix;\n },\n past: '%s каялла',\n s: 'пӗр-ик ҫеккунт',\n ss: '%d ҫеккунт',\n m: 'пӗр минут',\n mm: '%d минут',\n h: 'пӗр сехет',\n hh: '%d сехет',\n d: 'пӗр кун',\n dd: '%d кун',\n M: 'пӗр уйӑх',\n MM: '%d уйӑх',\n y: 'пӗр ҫул',\n yy: '%d ҫул',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}-мӗш/,\n ordinal: '%d-мӗш',\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 7, // The week that contains Jan 7th is the first week of the year.\n },\n });\n\n return cv;\n\n})));\n","//! moment.js locale configuration\n//! locale : Welsh [cy]\n//! author : Robert Allen : https://github.com/robgallen\n//! author : https://github.com/ryangreaves\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var cy = moment.defineLocale('cy', {\n months: 'Ionawr_Chwefror_Mawrth_Ebrill_Mai_Mehefin_Gorffennaf_Awst_Medi_Hydref_Tachwedd_Rhagfyr'.split(\n '_'\n ),\n monthsShort: 'Ion_Chwe_Maw_Ebr_Mai_Meh_Gor_Aws_Med_Hyd_Tach_Rhag'.split(\n '_'\n ),\n weekdays:\n 'Dydd Sul_Dydd Llun_Dydd Mawrth_Dydd Mercher_Dydd Iau_Dydd Gwener_Dydd Sadwrn'.split(\n '_'\n ),\n weekdaysShort: 'Sul_Llun_Maw_Mer_Iau_Gwe_Sad'.split('_'),\n weekdaysMin: 'Su_Ll_Ma_Me_Ia_Gw_Sa'.split('_'),\n weekdaysParseExact: true,\n // time formats are the same as en-gb\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd, D MMMM YYYY HH:mm',\n },\n calendar: {\n sameDay: '[Heddiw am] LT',\n nextDay: '[Yfory am] LT',\n nextWeek: 'dddd [am] LT',\n lastDay: '[Ddoe am] LT',\n lastWeek: 'dddd [diwethaf am] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'mewn %s',\n past: '%s yn ôl',\n s: 'ychydig eiliadau',\n ss: '%d eiliad',\n m: 'munud',\n mm: '%d munud',\n h: 'awr',\n hh: '%d awr',\n d: 'diwrnod',\n dd: '%d diwrnod',\n M: 'mis',\n MM: '%d mis',\n y: 'blwyddyn',\n yy: '%d flynedd',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(fed|ain|af|il|ydd|ed|eg)/,\n // traditional ordinal numbers above 31 are not commonly used in colloquial Welsh\n ordinal: function (number) {\n var b = number,\n output = '',\n lookup = [\n '',\n 'af',\n 'il',\n 'ydd',\n 'ydd',\n 'ed',\n 'ed',\n 'ed',\n 'fed',\n 'fed',\n 'fed', // 1af to 10fed\n 'eg',\n 'fed',\n 'eg',\n 'eg',\n 'fed',\n 'eg',\n 'eg',\n 'fed',\n 'eg',\n 'fed', // 11eg to 20fed\n ];\n if (b > 20) {\n if (b === 40 || b === 50 || b === 60 || b === 80 || b === 100) {\n output = 'fed'; // not 30ain, 70ain or 90ain\n } else {\n output = 'ain';\n }\n } else if (b > 0) {\n output = lookup[b];\n }\n return number + output;\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return cy;\n\n})));\n","//! moment.js locale configuration\n//! locale : Danish [da]\n//! author : Ulrik Nielsen : https://github.com/mrbase\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var da = moment.defineLocale('da', {\n months: 'januar_februar_marts_april_maj_juni_juli_august_september_oktober_november_december'.split(\n '_'\n ),\n monthsShort: 'jan_feb_mar_apr_maj_jun_jul_aug_sep_okt_nov_dec'.split('_'),\n weekdays: 'søndag_mandag_tirsdag_onsdag_torsdag_fredag_lørdag'.split('_'),\n weekdaysShort: 'søn_man_tir_ons_tor_fre_lør'.split('_'),\n weekdaysMin: 'sø_ma_ti_on_to_fr_lø'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'D. MMMM YYYY',\n LLL: 'D. MMMM YYYY HH:mm',\n LLLL: 'dddd [d.] D. MMMM YYYY [kl.] HH:mm',\n },\n calendar: {\n sameDay: '[i dag kl.] LT',\n nextDay: '[i morgen kl.] LT',\n nextWeek: 'på dddd [kl.] LT',\n lastDay: '[i går kl.] LT',\n lastWeek: '[i] dddd[s kl.] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'om %s',\n past: '%s siden',\n s: 'få sekunder',\n ss: '%d sekunder',\n m: 'et minut',\n mm: '%d minutter',\n h: 'en time',\n hh: '%d timer',\n d: 'en dag',\n dd: '%d dage',\n M: 'en måned',\n MM: '%d måneder',\n y: 'et år',\n yy: '%d år',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal: '%d.',\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return da;\n\n})));\n","//! moment.js locale configuration\n//! locale : German (Austria) [de-at]\n//! author : lluchs : https://github.com/lluchs\n//! author: Menelion Elensúle: https://github.com/Oire\n//! author : Martin Groller : https://github.com/MadMG\n//! author : Mikolaj Dadela : https://github.com/mik01aj\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n function processRelativeTime(number, withoutSuffix, key, isFuture) {\n var format = {\n m: ['eine Minute', 'einer Minute'],\n h: ['eine Stunde', 'einer Stunde'],\n d: ['ein Tag', 'einem Tag'],\n dd: [number + ' Tage', number + ' Tagen'],\n w: ['eine Woche', 'einer Woche'],\n M: ['ein Monat', 'einem Monat'],\n MM: [number + ' Monate', number + ' Monaten'],\n y: ['ein Jahr', 'einem Jahr'],\n yy: [number + ' Jahre', number + ' Jahren'],\n };\n return withoutSuffix ? format[key][0] : format[key][1];\n }\n\n var deAt = moment.defineLocale('de-at', {\n months: 'Jänner_Februar_März_April_Mai_Juni_Juli_August_September_Oktober_November_Dezember'.split(\n '_'\n ),\n monthsShort:\n 'Jän._Feb._März_Apr._Mai_Juni_Juli_Aug._Sep._Okt._Nov._Dez.'.split('_'),\n monthsParseExact: true,\n weekdays:\n 'Sonntag_Montag_Dienstag_Mittwoch_Donnerstag_Freitag_Samstag'.split(\n '_'\n ),\n weekdaysShort: 'So._Mo._Di._Mi._Do._Fr._Sa.'.split('_'),\n weekdaysMin: 'So_Mo_Di_Mi_Do_Fr_Sa'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'D. MMMM YYYY',\n LLL: 'D. MMMM YYYY HH:mm',\n LLLL: 'dddd, D. MMMM YYYY HH:mm',\n },\n calendar: {\n sameDay: '[heute um] LT [Uhr]',\n sameElse: 'L',\n nextDay: '[morgen um] LT [Uhr]',\n nextWeek: 'dddd [um] LT [Uhr]',\n lastDay: '[gestern um] LT [Uhr]',\n lastWeek: '[letzten] dddd [um] LT [Uhr]',\n },\n relativeTime: {\n future: 'in %s',\n past: 'vor %s',\n s: 'ein paar Sekunden',\n ss: '%d Sekunden',\n m: processRelativeTime,\n mm: '%d Minuten',\n h: processRelativeTime,\n hh: '%d Stunden',\n d: processRelativeTime,\n dd: processRelativeTime,\n w: processRelativeTime,\n ww: '%d Wochen',\n M: processRelativeTime,\n MM: processRelativeTime,\n y: processRelativeTime,\n yy: processRelativeTime,\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal: '%d.',\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return deAt;\n\n})));\n","//! moment.js locale configuration\n//! locale : German (Switzerland) [de-ch]\n//! author : sschueller : https://github.com/sschueller\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n function processRelativeTime(number, withoutSuffix, key, isFuture) {\n var format = {\n m: ['eine Minute', 'einer Minute'],\n h: ['eine Stunde', 'einer Stunde'],\n d: ['ein Tag', 'einem Tag'],\n dd: [number + ' Tage', number + ' Tagen'],\n w: ['eine Woche', 'einer Woche'],\n M: ['ein Monat', 'einem Monat'],\n MM: [number + ' Monate', number + ' Monaten'],\n y: ['ein Jahr', 'einem Jahr'],\n yy: [number + ' Jahre', number + ' Jahren'],\n };\n return withoutSuffix ? format[key][0] : format[key][1];\n }\n\n var deCh = moment.defineLocale('de-ch', {\n months: 'Januar_Februar_März_April_Mai_Juni_Juli_August_September_Oktober_November_Dezember'.split(\n '_'\n ),\n monthsShort:\n 'Jan._Feb._März_Apr._Mai_Juni_Juli_Aug._Sep._Okt._Nov._Dez.'.split('_'),\n monthsParseExact: true,\n weekdays:\n 'Sonntag_Montag_Dienstag_Mittwoch_Donnerstag_Freitag_Samstag'.split(\n '_'\n ),\n weekdaysShort: 'So_Mo_Di_Mi_Do_Fr_Sa'.split('_'),\n weekdaysMin: 'So_Mo_Di_Mi_Do_Fr_Sa'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'D. MMMM YYYY',\n LLL: 'D. MMMM YYYY HH:mm',\n LLLL: 'dddd, D. MMMM YYYY HH:mm',\n },\n calendar: {\n sameDay: '[heute um] LT [Uhr]',\n sameElse: 'L',\n nextDay: '[morgen um] LT [Uhr]',\n nextWeek: 'dddd [um] LT [Uhr]',\n lastDay: '[gestern um] LT [Uhr]',\n lastWeek: '[letzten] dddd [um] LT [Uhr]',\n },\n relativeTime: {\n future: 'in %s',\n past: 'vor %s',\n s: 'ein paar Sekunden',\n ss: '%d Sekunden',\n m: processRelativeTime,\n mm: '%d Minuten',\n h: processRelativeTime,\n hh: '%d Stunden',\n d: processRelativeTime,\n dd: processRelativeTime,\n w: processRelativeTime,\n ww: '%d Wochen',\n M: processRelativeTime,\n MM: processRelativeTime,\n y: processRelativeTime,\n yy: processRelativeTime,\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal: '%d.',\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return deCh;\n\n})));\n","//! moment.js locale configuration\n//! locale : German [de]\n//! author : lluchs : https://github.com/lluchs\n//! author: Menelion Elensúle: https://github.com/Oire\n//! author : Mikolaj Dadela : https://github.com/mik01aj\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n function processRelativeTime(number, withoutSuffix, key, isFuture) {\n var format = {\n m: ['eine Minute', 'einer Minute'],\n h: ['eine Stunde', 'einer Stunde'],\n d: ['ein Tag', 'einem Tag'],\n dd: [number + ' Tage', number + ' Tagen'],\n w: ['eine Woche', 'einer Woche'],\n M: ['ein Monat', 'einem Monat'],\n MM: [number + ' Monate', number + ' Monaten'],\n y: ['ein Jahr', 'einem Jahr'],\n yy: [number + ' Jahre', number + ' Jahren'],\n };\n return withoutSuffix ? format[key][0] : format[key][1];\n }\n\n var de = moment.defineLocale('de', {\n months: 'Januar_Februar_März_April_Mai_Juni_Juli_August_September_Oktober_November_Dezember'.split(\n '_'\n ),\n monthsShort:\n 'Jan._Feb._März_Apr._Mai_Juni_Juli_Aug._Sep._Okt._Nov._Dez.'.split('_'),\n monthsParseExact: true,\n weekdays:\n 'Sonntag_Montag_Dienstag_Mittwoch_Donnerstag_Freitag_Samstag'.split(\n '_'\n ),\n weekdaysShort: 'So._Mo._Di._Mi._Do._Fr._Sa.'.split('_'),\n weekdaysMin: 'So_Mo_Di_Mi_Do_Fr_Sa'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'D. MMMM YYYY',\n LLL: 'D. MMMM YYYY HH:mm',\n LLLL: 'dddd, D. MMMM YYYY HH:mm',\n },\n calendar: {\n sameDay: '[heute um] LT [Uhr]',\n sameElse: 'L',\n nextDay: '[morgen um] LT [Uhr]',\n nextWeek: 'dddd [um] LT [Uhr]',\n lastDay: '[gestern um] LT [Uhr]',\n lastWeek: '[letzten] dddd [um] LT [Uhr]',\n },\n relativeTime: {\n future: 'in %s',\n past: 'vor %s',\n s: 'ein paar Sekunden',\n ss: '%d Sekunden',\n m: processRelativeTime,\n mm: '%d Minuten',\n h: processRelativeTime,\n hh: '%d Stunden',\n d: processRelativeTime,\n dd: processRelativeTime,\n w: processRelativeTime,\n ww: '%d Wochen',\n M: processRelativeTime,\n MM: processRelativeTime,\n y: processRelativeTime,\n yy: processRelativeTime,\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal: '%d.',\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return de;\n\n})));\n","//! moment.js locale configuration\n//! locale : Maldivian [dv]\n//! author : Jawish Hameed : https://github.com/jawish\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var months = [\n 'ޖެނުއަރީ',\n 'ފެބްރުއަރީ',\n 'މާރިޗު',\n 'އޭޕްރީލު',\n 'މޭ',\n 'ޖޫން',\n 'ޖުލައި',\n 'އޯގަސްޓު',\n 'ސެޕްޓެމްބަރު',\n 'އޮކްޓޯބަރު',\n 'ނޮވެމްބަރު',\n 'ޑިސެމްބަރު',\n ],\n weekdays = [\n 'އާދިއްތަ',\n 'ހޯމަ',\n 'އަންގާރަ',\n 'ބުދަ',\n 'ބުރާސްފަތި',\n 'ހުކުރު',\n 'ހޮނިހިރު',\n ];\n\n var dv = moment.defineLocale('dv', {\n months: months,\n monthsShort: months,\n weekdays: weekdays,\n weekdaysShort: weekdays,\n weekdaysMin: 'އާދި_ހޯމަ_އަން_ބުދަ_ބުރާ_ހުކު_ހޮނި'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'D/M/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd D MMMM YYYY HH:mm',\n },\n meridiemParse: /މކ|މފ/,\n isPM: function (input) {\n return 'މފ' === input;\n },\n meridiem: function (hour, minute, isLower) {\n if (hour < 12) {\n return 'މކ';\n } else {\n return 'މފ';\n }\n },\n calendar: {\n sameDay: '[މިއަދު] LT',\n nextDay: '[މާދަމާ] LT',\n nextWeek: 'dddd LT',\n lastDay: '[އިއްޔެ] LT',\n lastWeek: '[ފާއިތުވި] dddd LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'ތެރޭގައި %s',\n past: 'ކުރިން %s',\n s: 'ސިކުންތުކޮޅެއް',\n ss: 'd% ސިކުންތު',\n m: 'މިނިޓެއް',\n mm: 'މިނިޓު %d',\n h: 'ގަޑިއިރެއް',\n hh: 'ގަޑިއިރު %d',\n d: 'ދުވަހެއް',\n dd: 'ދުވަސް %d',\n M: 'މަހެއް',\n MM: 'މަސް %d',\n y: 'އަހަރެއް',\n yy: 'އަހަރު %d',\n },\n preparse: function (string) {\n return string.replace(/،/g, ',');\n },\n postformat: function (string) {\n return string.replace(/,/g, '،');\n },\n week: {\n dow: 7, // Sunday is the first day of the week.\n doy: 12, // The week that contains Jan 12th is the first week of the year.\n },\n });\n\n return dv;\n\n})));\n","//! moment.js locale configuration\n//! locale : Greek [el]\n//! author : Aggelos Karalias : https://github.com/mehiel\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n function isFunction(input) {\n return (\n (typeof Function !== 'undefined' && input instanceof Function) ||\n Object.prototype.toString.call(input) === '[object Function]'\n );\n }\n\n var el = moment.defineLocale('el', {\n monthsNominativeEl:\n 'Ιανουάριος_Φεβρουάριος_Μάρτιος_Απρίλιος_Μάιος_Ιούνιος_Ιούλιος_Αύγουστος_Σεπτέμβριος_Οκτώβριος_Νοέμβριος_Δεκέμβριος'.split(\n '_'\n ),\n monthsGenitiveEl:\n 'Ιανουαρίου_Φεβρουαρίου_Μαρτίου_Απριλίου_Μαΐου_Ιουνίου_Ιουλίου_Αυγούστου_Σεπτεμβρίου_Οκτωβρίου_Νοεμβρίου_Δεκεμβρίου'.split(\n '_'\n ),\n months: function (momentToFormat, format) {\n if (!momentToFormat) {\n return this._monthsNominativeEl;\n } else if (\n typeof format === 'string' &&\n /D/.test(format.substring(0, format.indexOf('MMMM')))\n ) {\n // if there is a day number before 'MMMM'\n return this._monthsGenitiveEl[momentToFormat.month()];\n } else {\n return this._monthsNominativeEl[momentToFormat.month()];\n }\n },\n monthsShort: 'Ιαν_Φεβ_Μαρ_Απρ_Μαϊ_Ιουν_Ιουλ_Αυγ_Σεπ_Οκτ_Νοε_Δεκ'.split('_'),\n weekdays: 'Κυριακή_Δευτέρα_Τρίτη_Τετάρτη_Πέμπτη_Παρασκευή_Σάββατο'.split(\n '_'\n ),\n weekdaysShort: 'Κυρ_Δευ_Τρι_Τετ_Πεμ_Παρ_Σαβ'.split('_'),\n weekdaysMin: 'Κυ_Δε_Τρ_Τε_Πε_Πα_Σα'.split('_'),\n meridiem: function (hours, minutes, isLower) {\n if (hours > 11) {\n return isLower ? 'μμ' : 'ΜΜ';\n } else {\n return isLower ? 'πμ' : 'ΠΜ';\n }\n },\n isPM: function (input) {\n return (input + '').toLowerCase()[0] === 'μ';\n },\n meridiemParse: /[ΠΜ]\\.?Μ?\\.?/i,\n longDateFormat: {\n LT: 'h:mm A',\n LTS: 'h:mm:ss A',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY h:mm A',\n LLLL: 'dddd, D MMMM YYYY h:mm A',\n },\n calendarEl: {\n sameDay: '[Σήμερα {}] LT',\n nextDay: '[Αύριο {}] LT',\n nextWeek: 'dddd [{}] LT',\n lastDay: '[Χθες {}] LT',\n lastWeek: function () {\n switch (this.day()) {\n case 6:\n return '[το προηγούμενο] dddd [{}] LT';\n default:\n return '[την προηγούμενη] dddd [{}] LT';\n }\n },\n sameElse: 'L',\n },\n calendar: function (key, mom) {\n var output = this._calendarEl[key],\n hours = mom && mom.hours();\n if (isFunction(output)) {\n output = output.apply(mom);\n }\n return output.replace('{}', hours % 12 === 1 ? 'στη' : 'στις');\n },\n relativeTime: {\n future: 'σε %s',\n past: '%s πριν',\n s: 'λίγα δευτερόλεπτα',\n ss: '%d δευτερόλεπτα',\n m: 'ένα λεπτό',\n mm: '%d λεπτά',\n h: 'μία ώρα',\n hh: '%d ώρες',\n d: 'μία μέρα',\n dd: '%d μέρες',\n M: 'ένας μήνας',\n MM: '%d μήνες',\n y: 'ένας χρόνος',\n yy: '%d χρόνια',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}η/,\n ordinal: '%dη',\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4st is the first week of the year.\n },\n });\n\n return el;\n\n})));\n","//! moment.js locale configuration\n//! locale : English (Australia) [en-au]\n//! author : Jared Morse : https://github.com/jarcoal\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var enAu = moment.defineLocale('en-au', {\n months: 'January_February_March_April_May_June_July_August_September_October_November_December'.split(\n '_'\n ),\n monthsShort: 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'),\n weekdays: 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split(\n '_'\n ),\n weekdaysShort: 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'),\n weekdaysMin: 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'),\n longDateFormat: {\n LT: 'h:mm A',\n LTS: 'h:mm:ss A',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY h:mm A',\n LLLL: 'dddd, D MMMM YYYY h:mm A',\n },\n calendar: {\n sameDay: '[Today at] LT',\n nextDay: '[Tomorrow at] LT',\n nextWeek: 'dddd [at] LT',\n lastDay: '[Yesterday at] LT',\n lastWeek: '[Last] dddd [at] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'in %s',\n past: '%s ago',\n s: 'a few seconds',\n ss: '%d seconds',\n m: 'a minute',\n mm: '%d minutes',\n h: 'an hour',\n hh: '%d hours',\n d: 'a day',\n dd: '%d days',\n M: 'a month',\n MM: '%d months',\n y: 'a year',\n yy: '%d years',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(st|nd|rd|th)/,\n ordinal: function (number) {\n var b = number % 10,\n output =\n ~~((number % 100) / 10) === 1\n ? 'th'\n : b === 1\n ? 'st'\n : b === 2\n ? 'nd'\n : b === 3\n ? 'rd'\n : 'th';\n return number + output;\n },\n week: {\n dow: 0, // Sunday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return enAu;\n\n})));\n","//! moment.js locale configuration\n//! locale : English (Canada) [en-ca]\n//! author : Jonathan Abourbih : https://github.com/jonbca\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var enCa = moment.defineLocale('en-ca', {\n months: 'January_February_March_April_May_June_July_August_September_October_November_December'.split(\n '_'\n ),\n monthsShort: 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'),\n weekdays: 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split(\n '_'\n ),\n weekdaysShort: 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'),\n weekdaysMin: 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'),\n longDateFormat: {\n LT: 'h:mm A',\n LTS: 'h:mm:ss A',\n L: 'YYYY-MM-DD',\n LL: 'MMMM D, YYYY',\n LLL: 'MMMM D, YYYY h:mm A',\n LLLL: 'dddd, MMMM D, YYYY h:mm A',\n },\n calendar: {\n sameDay: '[Today at] LT',\n nextDay: '[Tomorrow at] LT',\n nextWeek: 'dddd [at] LT',\n lastDay: '[Yesterday at] LT',\n lastWeek: '[Last] dddd [at] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'in %s',\n past: '%s ago',\n s: 'a few seconds',\n ss: '%d seconds',\n m: 'a minute',\n mm: '%d minutes',\n h: 'an hour',\n hh: '%d hours',\n d: 'a day',\n dd: '%d days',\n M: 'a month',\n MM: '%d months',\n y: 'a year',\n yy: '%d years',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(st|nd|rd|th)/,\n ordinal: function (number) {\n var b = number % 10,\n output =\n ~~((number % 100) / 10) === 1\n ? 'th'\n : b === 1\n ? 'st'\n : b === 2\n ? 'nd'\n : b === 3\n ? 'rd'\n : 'th';\n return number + output;\n },\n });\n\n return enCa;\n\n})));\n","//! moment.js locale configuration\n//! locale : English (United Kingdom) [en-gb]\n//! author : Chris Gedrim : https://github.com/chrisgedrim\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var enGb = moment.defineLocale('en-gb', {\n months: 'January_February_March_April_May_June_July_August_September_October_November_December'.split(\n '_'\n ),\n monthsShort: 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'),\n weekdays: 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split(\n '_'\n ),\n weekdaysShort: 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'),\n weekdaysMin: 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd, D MMMM YYYY HH:mm',\n },\n calendar: {\n sameDay: '[Today at] LT',\n nextDay: '[Tomorrow at] LT',\n nextWeek: 'dddd [at] LT',\n lastDay: '[Yesterday at] LT',\n lastWeek: '[Last] dddd [at] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'in %s',\n past: '%s ago',\n s: 'a few seconds',\n ss: '%d seconds',\n m: 'a minute',\n mm: '%d minutes',\n h: 'an hour',\n hh: '%d hours',\n d: 'a day',\n dd: '%d days',\n M: 'a month',\n MM: '%d months',\n y: 'a year',\n yy: '%d years',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(st|nd|rd|th)/,\n ordinal: function (number) {\n var b = number % 10,\n output =\n ~~((number % 100) / 10) === 1\n ? 'th'\n : b === 1\n ? 'st'\n : b === 2\n ? 'nd'\n : b === 3\n ? 'rd'\n : 'th';\n return number + output;\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return enGb;\n\n})));\n","//! moment.js locale configuration\n//! locale : English (Ireland) [en-ie]\n//! author : Chris Cartlidge : https://github.com/chriscartlidge\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var enIe = moment.defineLocale('en-ie', {\n months: 'January_February_March_April_May_June_July_August_September_October_November_December'.split(\n '_'\n ),\n monthsShort: 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'),\n weekdays: 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split(\n '_'\n ),\n weekdaysShort: 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'),\n weekdaysMin: 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd D MMMM YYYY HH:mm',\n },\n calendar: {\n sameDay: '[Today at] LT',\n nextDay: '[Tomorrow at] LT',\n nextWeek: 'dddd [at] LT',\n lastDay: '[Yesterday at] LT',\n lastWeek: '[Last] dddd [at] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'in %s',\n past: '%s ago',\n s: 'a few seconds',\n ss: '%d seconds',\n m: 'a minute',\n mm: '%d minutes',\n h: 'an hour',\n hh: '%d hours',\n d: 'a day',\n dd: '%d days',\n M: 'a month',\n MM: '%d months',\n y: 'a year',\n yy: '%d years',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(st|nd|rd|th)/,\n ordinal: function (number) {\n var b = number % 10,\n output =\n ~~((number % 100) / 10) === 1\n ? 'th'\n : b === 1\n ? 'st'\n : b === 2\n ? 'nd'\n : b === 3\n ? 'rd'\n : 'th';\n return number + output;\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return enIe;\n\n})));\n","//! moment.js locale configuration\n//! locale : English (Israel) [en-il]\n//! author : Chris Gedrim : https://github.com/chrisgedrim\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var enIl = moment.defineLocale('en-il', {\n months: 'January_February_March_April_May_June_July_August_September_October_November_December'.split(\n '_'\n ),\n monthsShort: 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'),\n weekdays: 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split(\n '_'\n ),\n weekdaysShort: 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'),\n weekdaysMin: 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd, D MMMM YYYY HH:mm',\n },\n calendar: {\n sameDay: '[Today at] LT',\n nextDay: '[Tomorrow at] LT',\n nextWeek: 'dddd [at] LT',\n lastDay: '[Yesterday at] LT',\n lastWeek: '[Last] dddd [at] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'in %s',\n past: '%s ago',\n s: 'a few seconds',\n ss: '%d seconds',\n m: 'a minute',\n mm: '%d minutes',\n h: 'an hour',\n hh: '%d hours',\n d: 'a day',\n dd: '%d days',\n M: 'a month',\n MM: '%d months',\n y: 'a year',\n yy: '%d years',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(st|nd|rd|th)/,\n ordinal: function (number) {\n var b = number % 10,\n output =\n ~~((number % 100) / 10) === 1\n ? 'th'\n : b === 1\n ? 'st'\n : b === 2\n ? 'nd'\n : b === 3\n ? 'rd'\n : 'th';\n return number + output;\n },\n });\n\n return enIl;\n\n})));\n","//! moment.js locale configuration\n//! locale : English (India) [en-in]\n//! author : Jatin Agrawal : https://github.com/jatinag22\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var enIn = moment.defineLocale('en-in', {\n months: 'January_February_March_April_May_June_July_August_September_October_November_December'.split(\n '_'\n ),\n monthsShort: 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'),\n weekdays: 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split(\n '_'\n ),\n weekdaysShort: 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'),\n weekdaysMin: 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'),\n longDateFormat: {\n LT: 'h:mm A',\n LTS: 'h:mm:ss A',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY h:mm A',\n LLLL: 'dddd, D MMMM YYYY h:mm A',\n },\n calendar: {\n sameDay: '[Today at] LT',\n nextDay: '[Tomorrow at] LT',\n nextWeek: 'dddd [at] LT',\n lastDay: '[Yesterday at] LT',\n lastWeek: '[Last] dddd [at] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'in %s',\n past: '%s ago',\n s: 'a few seconds',\n ss: '%d seconds',\n m: 'a minute',\n mm: '%d minutes',\n h: 'an hour',\n hh: '%d hours',\n d: 'a day',\n dd: '%d days',\n M: 'a month',\n MM: '%d months',\n y: 'a year',\n yy: '%d years',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(st|nd|rd|th)/,\n ordinal: function (number) {\n var b = number % 10,\n output =\n ~~((number % 100) / 10) === 1\n ? 'th'\n : b === 1\n ? 'st'\n : b === 2\n ? 'nd'\n : b === 3\n ? 'rd'\n : 'th';\n return number + output;\n },\n week: {\n dow: 0, // Sunday is the first day of the week.\n doy: 6, // The week that contains Jan 1st is the first week of the year.\n },\n });\n\n return enIn;\n\n})));\n","//! moment.js locale configuration\n//! locale : English (New Zealand) [en-nz]\n//! author : Luke McGregor : https://github.com/lukemcgregor\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var enNz = moment.defineLocale('en-nz', {\n months: 'January_February_March_April_May_June_July_August_September_October_November_December'.split(\n '_'\n ),\n monthsShort: 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'),\n weekdays: 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split(\n '_'\n ),\n weekdaysShort: 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'),\n weekdaysMin: 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'),\n longDateFormat: {\n LT: 'h:mm A',\n LTS: 'h:mm:ss A',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY h:mm A',\n LLLL: 'dddd, D MMMM YYYY h:mm A',\n },\n calendar: {\n sameDay: '[Today at] LT',\n nextDay: '[Tomorrow at] LT',\n nextWeek: 'dddd [at] LT',\n lastDay: '[Yesterday at] LT',\n lastWeek: '[Last] dddd [at] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'in %s',\n past: '%s ago',\n s: 'a few seconds',\n ss: '%d seconds',\n m: 'a minute',\n mm: '%d minutes',\n h: 'an hour',\n hh: '%d hours',\n d: 'a day',\n dd: '%d days',\n M: 'a month',\n MM: '%d months',\n y: 'a year',\n yy: '%d years',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(st|nd|rd|th)/,\n ordinal: function (number) {\n var b = number % 10,\n output =\n ~~((number % 100) / 10) === 1\n ? 'th'\n : b === 1\n ? 'st'\n : b === 2\n ? 'nd'\n : b === 3\n ? 'rd'\n : 'th';\n return number + output;\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return enNz;\n\n})));\n","//! moment.js locale configuration\n//! locale : English (Singapore) [en-sg]\n//! author : Matthew Castrillon-Madrigal : https://github.com/techdimension\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var enSg = moment.defineLocale('en-sg', {\n months: 'January_February_March_April_May_June_July_August_September_October_November_December'.split(\n '_'\n ),\n monthsShort: 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'),\n weekdays: 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split(\n '_'\n ),\n weekdaysShort: 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'),\n weekdaysMin: 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd, D MMMM YYYY HH:mm',\n },\n calendar: {\n sameDay: '[Today at] LT',\n nextDay: '[Tomorrow at] LT',\n nextWeek: 'dddd [at] LT',\n lastDay: '[Yesterday at] LT',\n lastWeek: '[Last] dddd [at] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'in %s',\n past: '%s ago',\n s: 'a few seconds',\n ss: '%d seconds',\n m: 'a minute',\n mm: '%d minutes',\n h: 'an hour',\n hh: '%d hours',\n d: 'a day',\n dd: '%d days',\n M: 'a month',\n MM: '%d months',\n y: 'a year',\n yy: '%d years',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(st|nd|rd|th)/,\n ordinal: function (number) {\n var b = number % 10,\n output =\n ~~((number % 100) / 10) === 1\n ? 'th'\n : b === 1\n ? 'st'\n : b === 2\n ? 'nd'\n : b === 3\n ? 'rd'\n : 'th';\n return number + output;\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return enSg;\n\n})));\n","//! moment.js locale configuration\n//! locale : Esperanto [eo]\n//! author : Colin Dean : https://github.com/colindean\n//! author : Mia Nordentoft Imperatori : https://github.com/miestasmia\n//! comment : miestasmia corrected the translation by colindean\n//! comment : Vivakvo corrected the translation by colindean and miestasmia\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var eo = moment.defineLocale('eo', {\n months: 'januaro_februaro_marto_aprilo_majo_junio_julio_aŭgusto_septembro_oktobro_novembro_decembro'.split(\n '_'\n ),\n monthsShort: 'jan_feb_mart_apr_maj_jun_jul_aŭg_sept_okt_nov_dec'.split('_'),\n weekdays: 'dimanĉo_lundo_mardo_merkredo_ĵaŭdo_vendredo_sabato'.split('_'),\n weekdaysShort: 'dim_lun_mard_merk_ĵaŭ_ven_sab'.split('_'),\n weekdaysMin: 'di_lu_ma_me_ĵa_ve_sa'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'YYYY-MM-DD',\n LL: '[la] D[-an de] MMMM, YYYY',\n LLL: '[la] D[-an de] MMMM, YYYY HH:mm',\n LLLL: 'dddd[n], [la] D[-an de] MMMM, YYYY HH:mm',\n llll: 'ddd, [la] D[-an de] MMM, YYYY HH:mm',\n },\n meridiemParse: /[ap]\\.t\\.m/i,\n isPM: function (input) {\n return input.charAt(0).toLowerCase() === 'p';\n },\n meridiem: function (hours, minutes, isLower) {\n if (hours > 11) {\n return isLower ? 'p.t.m.' : 'P.T.M.';\n } else {\n return isLower ? 'a.t.m.' : 'A.T.M.';\n }\n },\n calendar: {\n sameDay: '[Hodiaŭ je] LT',\n nextDay: '[Morgaŭ je] LT',\n nextWeek: 'dddd[n je] LT',\n lastDay: '[Hieraŭ je] LT',\n lastWeek: '[pasintan] dddd[n je] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'post %s',\n past: 'antaŭ %s',\n s: 'kelkaj sekundoj',\n ss: '%d sekundoj',\n m: 'unu minuto',\n mm: '%d minutoj',\n h: 'unu horo',\n hh: '%d horoj',\n d: 'unu tago', //ne 'diurno', ĉar estas uzita por proksimumo\n dd: '%d tagoj',\n M: 'unu monato',\n MM: '%d monatoj',\n y: 'unu jaro',\n yy: '%d jaroj',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}a/,\n ordinal: '%da',\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 7, // The week that contains Jan 7th is the first week of the year.\n },\n });\n\n return eo;\n\n})));\n","//! moment.js locale configuration\n//! locale : Spanish (Dominican Republic) [es-do]\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var monthsShortDot =\n 'ene._feb._mar._abr._may._jun._jul._ago._sep._oct._nov._dic.'.split(\n '_'\n ),\n monthsShort = 'ene_feb_mar_abr_may_jun_jul_ago_sep_oct_nov_dic'.split('_'),\n monthsParse = [\n /^ene/i,\n /^feb/i,\n /^mar/i,\n /^abr/i,\n /^may/i,\n /^jun/i,\n /^jul/i,\n /^ago/i,\n /^sep/i,\n /^oct/i,\n /^nov/i,\n /^dic/i,\n ],\n monthsRegex =\n /^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre|ene\\.?|feb\\.?|mar\\.?|abr\\.?|may\\.?|jun\\.?|jul\\.?|ago\\.?|sep\\.?|oct\\.?|nov\\.?|dic\\.?)/i;\n\n var esDo = moment.defineLocale('es-do', {\n months: 'enero_febrero_marzo_abril_mayo_junio_julio_agosto_septiembre_octubre_noviembre_diciembre'.split(\n '_'\n ),\n monthsShort: function (m, format) {\n if (!m) {\n return monthsShortDot;\n } else if (/-MMM-/.test(format)) {\n return monthsShort[m.month()];\n } else {\n return monthsShortDot[m.month()];\n }\n },\n monthsRegex: monthsRegex,\n monthsShortRegex: monthsRegex,\n monthsStrictRegex:\n /^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre)/i,\n monthsShortStrictRegex:\n /^(ene\\.?|feb\\.?|mar\\.?|abr\\.?|may\\.?|jun\\.?|jul\\.?|ago\\.?|sep\\.?|oct\\.?|nov\\.?|dic\\.?)/i,\n monthsParse: monthsParse,\n longMonthsParse: monthsParse,\n shortMonthsParse: monthsParse,\n weekdays: 'domingo_lunes_martes_miércoles_jueves_viernes_sábado'.split('_'),\n weekdaysShort: 'dom._lun._mar._mié._jue._vie._sáb.'.split('_'),\n weekdaysMin: 'do_lu_ma_mi_ju_vi_sá'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'h:mm A',\n LTS: 'h:mm:ss A',\n L: 'DD/MM/YYYY',\n LL: 'D [de] MMMM [de] YYYY',\n LLL: 'D [de] MMMM [de] YYYY h:mm A',\n LLLL: 'dddd, D [de] MMMM [de] YYYY h:mm A',\n },\n calendar: {\n sameDay: function () {\n return '[hoy a la' + (this.hours() !== 1 ? 's' : '') + '] LT';\n },\n nextDay: function () {\n return '[mañana a la' + (this.hours() !== 1 ? 's' : '') + '] LT';\n },\n nextWeek: function () {\n return 'dddd [a la' + (this.hours() !== 1 ? 's' : '') + '] LT';\n },\n lastDay: function () {\n return '[ayer a la' + (this.hours() !== 1 ? 's' : '') + '] LT';\n },\n lastWeek: function () {\n return (\n '[el] dddd [pasado a la' +\n (this.hours() !== 1 ? 's' : '') +\n '] LT'\n );\n },\n sameElse: 'L',\n },\n relativeTime: {\n future: 'en %s',\n past: 'hace %s',\n s: 'unos segundos',\n ss: '%d segundos',\n m: 'un minuto',\n mm: '%d minutos',\n h: 'una hora',\n hh: '%d horas',\n d: 'un día',\n dd: '%d días',\n w: 'una semana',\n ww: '%d semanas',\n M: 'un mes',\n MM: '%d meses',\n y: 'un año',\n yy: '%d años',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}º/,\n ordinal: '%dº',\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return esDo;\n\n})));\n","//! moment.js locale configuration\n//! locale : Spanish (Mexico) [es-mx]\n//! author : JC Franco : https://github.com/jcfranco\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var monthsShortDot =\n 'ene._feb._mar._abr._may._jun._jul._ago._sep._oct._nov._dic.'.split(\n '_'\n ),\n monthsShort = 'ene_feb_mar_abr_may_jun_jul_ago_sep_oct_nov_dic'.split('_'),\n monthsParse = [\n /^ene/i,\n /^feb/i,\n /^mar/i,\n /^abr/i,\n /^may/i,\n /^jun/i,\n /^jul/i,\n /^ago/i,\n /^sep/i,\n /^oct/i,\n /^nov/i,\n /^dic/i,\n ],\n monthsRegex =\n /^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre|ene\\.?|feb\\.?|mar\\.?|abr\\.?|may\\.?|jun\\.?|jul\\.?|ago\\.?|sep\\.?|oct\\.?|nov\\.?|dic\\.?)/i;\n\n var esMx = moment.defineLocale('es-mx', {\n months: 'enero_febrero_marzo_abril_mayo_junio_julio_agosto_septiembre_octubre_noviembre_diciembre'.split(\n '_'\n ),\n monthsShort: function (m, format) {\n if (!m) {\n return monthsShortDot;\n } else if (/-MMM-/.test(format)) {\n return monthsShort[m.month()];\n } else {\n return monthsShortDot[m.month()];\n }\n },\n monthsRegex: monthsRegex,\n monthsShortRegex: monthsRegex,\n monthsStrictRegex:\n /^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre)/i,\n monthsShortStrictRegex:\n /^(ene\\.?|feb\\.?|mar\\.?|abr\\.?|may\\.?|jun\\.?|jul\\.?|ago\\.?|sep\\.?|oct\\.?|nov\\.?|dic\\.?)/i,\n monthsParse: monthsParse,\n longMonthsParse: monthsParse,\n shortMonthsParse: monthsParse,\n weekdays: 'domingo_lunes_martes_miércoles_jueves_viernes_sábado'.split('_'),\n weekdaysShort: 'dom._lun._mar._mié._jue._vie._sáb.'.split('_'),\n weekdaysMin: 'do_lu_ma_mi_ju_vi_sá'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'H:mm',\n LTS: 'H:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D [de] MMMM [de] YYYY',\n LLL: 'D [de] MMMM [de] YYYY H:mm',\n LLLL: 'dddd, D [de] MMMM [de] YYYY H:mm',\n },\n calendar: {\n sameDay: function () {\n return '[hoy a la' + (this.hours() !== 1 ? 's' : '') + '] LT';\n },\n nextDay: function () {\n return '[mañana a la' + (this.hours() !== 1 ? 's' : '') + '] LT';\n },\n nextWeek: function () {\n return 'dddd [a la' + (this.hours() !== 1 ? 's' : '') + '] LT';\n },\n lastDay: function () {\n return '[ayer a la' + (this.hours() !== 1 ? 's' : '') + '] LT';\n },\n lastWeek: function () {\n return (\n '[el] dddd [pasado a la' +\n (this.hours() !== 1 ? 's' : '') +\n '] LT'\n );\n },\n sameElse: 'L',\n },\n relativeTime: {\n future: 'en %s',\n past: 'hace %s',\n s: 'unos segundos',\n ss: '%d segundos',\n m: 'un minuto',\n mm: '%d minutos',\n h: 'una hora',\n hh: '%d horas',\n d: 'un día',\n dd: '%d días',\n w: 'una semana',\n ww: '%d semanas',\n M: 'un mes',\n MM: '%d meses',\n y: 'un año',\n yy: '%d años',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}º/,\n ordinal: '%dº',\n week: {\n dow: 0, // Sunday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n invalidDate: 'Fecha inválida',\n });\n\n return esMx;\n\n})));\n","//! moment.js locale configuration\n//! locale : Spanish (United States) [es-us]\n//! author : bustta : https://github.com/bustta\n//! author : chrisrodz : https://github.com/chrisrodz\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var monthsShortDot =\n 'ene._feb._mar._abr._may._jun._jul._ago._sep._oct._nov._dic.'.split(\n '_'\n ),\n monthsShort = 'ene_feb_mar_abr_may_jun_jul_ago_sep_oct_nov_dic'.split('_'),\n monthsParse = [\n /^ene/i,\n /^feb/i,\n /^mar/i,\n /^abr/i,\n /^may/i,\n /^jun/i,\n /^jul/i,\n /^ago/i,\n /^sep/i,\n /^oct/i,\n /^nov/i,\n /^dic/i,\n ],\n monthsRegex =\n /^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre|ene\\.?|feb\\.?|mar\\.?|abr\\.?|may\\.?|jun\\.?|jul\\.?|ago\\.?|sep\\.?|oct\\.?|nov\\.?|dic\\.?)/i;\n\n var esUs = moment.defineLocale('es-us', {\n months: 'enero_febrero_marzo_abril_mayo_junio_julio_agosto_septiembre_octubre_noviembre_diciembre'.split(\n '_'\n ),\n monthsShort: function (m, format) {\n if (!m) {\n return monthsShortDot;\n } else if (/-MMM-/.test(format)) {\n return monthsShort[m.month()];\n } else {\n return monthsShortDot[m.month()];\n }\n },\n monthsRegex: monthsRegex,\n monthsShortRegex: monthsRegex,\n monthsStrictRegex:\n /^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre)/i,\n monthsShortStrictRegex:\n /^(ene\\.?|feb\\.?|mar\\.?|abr\\.?|may\\.?|jun\\.?|jul\\.?|ago\\.?|sep\\.?|oct\\.?|nov\\.?|dic\\.?)/i,\n monthsParse: monthsParse,\n longMonthsParse: monthsParse,\n shortMonthsParse: monthsParse,\n weekdays: 'domingo_lunes_martes_miércoles_jueves_viernes_sábado'.split('_'),\n weekdaysShort: 'dom._lun._mar._mié._jue._vie._sáb.'.split('_'),\n weekdaysMin: 'do_lu_ma_mi_ju_vi_sá'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'h:mm A',\n LTS: 'h:mm:ss A',\n L: 'MM/DD/YYYY',\n LL: 'D [de] MMMM [de] YYYY',\n LLL: 'D [de] MMMM [de] YYYY h:mm A',\n LLLL: 'dddd, D [de] MMMM [de] YYYY h:mm A',\n },\n calendar: {\n sameDay: function () {\n return '[hoy a la' + (this.hours() !== 1 ? 's' : '') + '] LT';\n },\n nextDay: function () {\n return '[mañana a la' + (this.hours() !== 1 ? 's' : '') + '] LT';\n },\n nextWeek: function () {\n return 'dddd [a la' + (this.hours() !== 1 ? 's' : '') + '] LT';\n },\n lastDay: function () {\n return '[ayer a la' + (this.hours() !== 1 ? 's' : '') + '] LT';\n },\n lastWeek: function () {\n return (\n '[el] dddd [pasado a la' +\n (this.hours() !== 1 ? 's' : '') +\n '] LT'\n );\n },\n sameElse: 'L',\n },\n relativeTime: {\n future: 'en %s',\n past: 'hace %s',\n s: 'unos segundos',\n ss: '%d segundos',\n m: 'un minuto',\n mm: '%d minutos',\n h: 'una hora',\n hh: '%d horas',\n d: 'un día',\n dd: '%d días',\n w: 'una semana',\n ww: '%d semanas',\n M: 'un mes',\n MM: '%d meses',\n y: 'un año',\n yy: '%d años',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}º/,\n ordinal: '%dº',\n week: {\n dow: 0, // Sunday is the first day of the week.\n doy: 6, // The week that contains Jan 6th is the first week of the year.\n },\n });\n\n return esUs;\n\n})));\n","//! moment.js locale configuration\n//! locale : Spanish [es]\n//! author : Julio Napurí : https://github.com/julionc\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var monthsShortDot =\n 'ene._feb._mar._abr._may._jun._jul._ago._sep._oct._nov._dic.'.split(\n '_'\n ),\n monthsShort = 'ene_feb_mar_abr_may_jun_jul_ago_sep_oct_nov_dic'.split('_'),\n monthsParse = [\n /^ene/i,\n /^feb/i,\n /^mar/i,\n /^abr/i,\n /^may/i,\n /^jun/i,\n /^jul/i,\n /^ago/i,\n /^sep/i,\n /^oct/i,\n /^nov/i,\n /^dic/i,\n ],\n monthsRegex =\n /^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre|ene\\.?|feb\\.?|mar\\.?|abr\\.?|may\\.?|jun\\.?|jul\\.?|ago\\.?|sep\\.?|oct\\.?|nov\\.?|dic\\.?)/i;\n\n var es = moment.defineLocale('es', {\n months: 'enero_febrero_marzo_abril_mayo_junio_julio_agosto_septiembre_octubre_noviembre_diciembre'.split(\n '_'\n ),\n monthsShort: function (m, format) {\n if (!m) {\n return monthsShortDot;\n } else if (/-MMM-/.test(format)) {\n return monthsShort[m.month()];\n } else {\n return monthsShortDot[m.month()];\n }\n },\n monthsRegex: monthsRegex,\n monthsShortRegex: monthsRegex,\n monthsStrictRegex:\n /^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre)/i,\n monthsShortStrictRegex:\n /^(ene\\.?|feb\\.?|mar\\.?|abr\\.?|may\\.?|jun\\.?|jul\\.?|ago\\.?|sep\\.?|oct\\.?|nov\\.?|dic\\.?)/i,\n monthsParse: monthsParse,\n longMonthsParse: monthsParse,\n shortMonthsParse: monthsParse,\n weekdays: 'domingo_lunes_martes_miércoles_jueves_viernes_sábado'.split('_'),\n weekdaysShort: 'dom._lun._mar._mié._jue._vie._sáb.'.split('_'),\n weekdaysMin: 'do_lu_ma_mi_ju_vi_sá'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'H:mm',\n LTS: 'H:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D [de] MMMM [de] YYYY',\n LLL: 'D [de] MMMM [de] YYYY H:mm',\n LLLL: 'dddd, D [de] MMMM [de] YYYY H:mm',\n },\n calendar: {\n sameDay: function () {\n return '[hoy a la' + (this.hours() !== 1 ? 's' : '') + '] LT';\n },\n nextDay: function () {\n return '[mañana a la' + (this.hours() !== 1 ? 's' : '') + '] LT';\n },\n nextWeek: function () {\n return 'dddd [a la' + (this.hours() !== 1 ? 's' : '') + '] LT';\n },\n lastDay: function () {\n return '[ayer a la' + (this.hours() !== 1 ? 's' : '') + '] LT';\n },\n lastWeek: function () {\n return (\n '[el] dddd [pasado a la' +\n (this.hours() !== 1 ? 's' : '') +\n '] LT'\n );\n },\n sameElse: 'L',\n },\n relativeTime: {\n future: 'en %s',\n past: 'hace %s',\n s: 'unos segundos',\n ss: '%d segundos',\n m: 'un minuto',\n mm: '%d minutos',\n h: 'una hora',\n hh: '%d horas',\n d: 'un día',\n dd: '%d días',\n w: 'una semana',\n ww: '%d semanas',\n M: 'un mes',\n MM: '%d meses',\n y: 'un año',\n yy: '%d años',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}º/,\n ordinal: '%dº',\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n invalidDate: 'Fecha inválida',\n });\n\n return es;\n\n})));\n","//! moment.js locale configuration\n//! locale : Estonian [et]\n//! author : Henry Kehlmann : https://github.com/madhenry\n//! improvements : Illimar Tambek : https://github.com/ragulka\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n function processRelativeTime(number, withoutSuffix, key, isFuture) {\n var format = {\n s: ['mõne sekundi', 'mõni sekund', 'paar sekundit'],\n ss: [number + 'sekundi', number + 'sekundit'],\n m: ['ühe minuti', 'üks minut'],\n mm: [number + ' minuti', number + ' minutit'],\n h: ['ühe tunni', 'tund aega', 'üks tund'],\n hh: [number + ' tunni', number + ' tundi'],\n d: ['ühe päeva', 'üks päev'],\n M: ['kuu aja', 'kuu aega', 'üks kuu'],\n MM: [number + ' kuu', number + ' kuud'],\n y: ['ühe aasta', 'aasta', 'üks aasta'],\n yy: [number + ' aasta', number + ' aastat'],\n };\n if (withoutSuffix) {\n return format[key][2] ? format[key][2] : format[key][1];\n }\n return isFuture ? format[key][0] : format[key][1];\n }\n\n var et = moment.defineLocale('et', {\n months: 'jaanuar_veebruar_märts_aprill_mai_juuni_juuli_august_september_oktoober_november_detsember'.split(\n '_'\n ),\n monthsShort:\n 'jaan_veebr_märts_apr_mai_juuni_juuli_aug_sept_okt_nov_dets'.split('_'),\n weekdays:\n 'pühapäev_esmaspäev_teisipäev_kolmapäev_neljapäev_reede_laupäev'.split(\n '_'\n ),\n weekdaysShort: 'P_E_T_K_N_R_L'.split('_'),\n weekdaysMin: 'P_E_T_K_N_R_L'.split('_'),\n longDateFormat: {\n LT: 'H:mm',\n LTS: 'H:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'D. MMMM YYYY',\n LLL: 'D. MMMM YYYY H:mm',\n LLLL: 'dddd, D. MMMM YYYY H:mm',\n },\n calendar: {\n sameDay: '[Täna,] LT',\n nextDay: '[Homme,] LT',\n nextWeek: '[Järgmine] dddd LT',\n lastDay: '[Eile,] LT',\n lastWeek: '[Eelmine] dddd LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: '%s pärast',\n past: '%s tagasi',\n s: processRelativeTime,\n ss: processRelativeTime,\n m: processRelativeTime,\n mm: processRelativeTime,\n h: processRelativeTime,\n hh: processRelativeTime,\n d: processRelativeTime,\n dd: '%d päeva',\n M: processRelativeTime,\n MM: processRelativeTime,\n y: processRelativeTime,\n yy: processRelativeTime,\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal: '%d.',\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return et;\n\n})));\n","//! moment.js locale configuration\n//! locale : Basque [eu]\n//! author : Eneko Illarramendi : https://github.com/eillarra\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var eu = moment.defineLocale('eu', {\n months: 'urtarrila_otsaila_martxoa_apirila_maiatza_ekaina_uztaila_abuztua_iraila_urria_azaroa_abendua'.split(\n '_'\n ),\n monthsShort:\n 'urt._ots._mar._api._mai._eka._uzt._abu._ira._urr._aza._abe.'.split(\n '_'\n ),\n monthsParseExact: true,\n weekdays:\n 'igandea_astelehena_asteartea_asteazkena_osteguna_ostirala_larunbata'.split(\n '_'\n ),\n weekdaysShort: 'ig._al._ar._az._og._ol._lr.'.split('_'),\n weekdaysMin: 'ig_al_ar_az_og_ol_lr'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'YYYY-MM-DD',\n LL: 'YYYY[ko] MMMM[ren] D[a]',\n LLL: 'YYYY[ko] MMMM[ren] D[a] HH:mm',\n LLLL: 'dddd, YYYY[ko] MMMM[ren] D[a] HH:mm',\n l: 'YYYY-M-D',\n ll: 'YYYY[ko] MMM D[a]',\n lll: 'YYYY[ko] MMM D[a] HH:mm',\n llll: 'ddd, YYYY[ko] MMM D[a] HH:mm',\n },\n calendar: {\n sameDay: '[gaur] LT[etan]',\n nextDay: '[bihar] LT[etan]',\n nextWeek: 'dddd LT[etan]',\n lastDay: '[atzo] LT[etan]',\n lastWeek: '[aurreko] dddd LT[etan]',\n sameElse: 'L',\n },\n relativeTime: {\n future: '%s barru',\n past: 'duela %s',\n s: 'segundo batzuk',\n ss: '%d segundo',\n m: 'minutu bat',\n mm: '%d minutu',\n h: 'ordu bat',\n hh: '%d ordu',\n d: 'egun bat',\n dd: '%d egun',\n M: 'hilabete bat',\n MM: '%d hilabete',\n y: 'urte bat',\n yy: '%d urte',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal: '%d.',\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 7, // The week that contains Jan 7th is the first week of the year.\n },\n });\n\n return eu;\n\n})));\n","//! moment.js locale configuration\n//! locale : Persian [fa]\n//! author : Ebrahim Byagowi : https://github.com/ebraminio\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var symbolMap = {\n 1: '۱',\n 2: '۲',\n 3: '۳',\n 4: '۴',\n 5: '۵',\n 6: '۶',\n 7: '۷',\n 8: '۸',\n 9: '۹',\n 0: '۰',\n },\n numberMap = {\n '۱': '1',\n '۲': '2',\n '۳': '3',\n '۴': '4',\n '۵': '5',\n '۶': '6',\n '۷': '7',\n '۸': '8',\n '۹': '9',\n '۰': '0',\n };\n\n var fa = moment.defineLocale('fa', {\n months: 'ژانویه_فوریه_مارس_آوریل_مه_ژوئن_ژوئیه_اوت_سپتامبر_اکتبر_نوامبر_دسامبر'.split(\n '_'\n ),\n monthsShort:\n 'ژانویه_فوریه_مارس_آوریل_مه_ژوئن_ژوئیه_اوت_سپتامبر_اکتبر_نوامبر_دسامبر'.split(\n '_'\n ),\n weekdays:\n 'یک\\u200cشنبه_دوشنبه_سه\\u200cشنبه_چهارشنبه_پنج\\u200cشنبه_جمعه_شنبه'.split(\n '_'\n ),\n weekdaysShort:\n 'یک\\u200cشنبه_دوشنبه_سه\\u200cشنبه_چهارشنبه_پنج\\u200cشنبه_جمعه_شنبه'.split(\n '_'\n ),\n weekdaysMin: 'ی_د_س_چ_پ_ج_ش'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd, D MMMM YYYY HH:mm',\n },\n meridiemParse: /قبل از ظهر|بعد از ظهر/,\n isPM: function (input) {\n return /بعد از ظهر/.test(input);\n },\n meridiem: function (hour, minute, isLower) {\n if (hour < 12) {\n return 'قبل از ظهر';\n } else {\n return 'بعد از ظهر';\n }\n },\n calendar: {\n sameDay: '[امروز ساعت] LT',\n nextDay: '[فردا ساعت] LT',\n nextWeek: 'dddd [ساعت] LT',\n lastDay: '[دیروز ساعت] LT',\n lastWeek: 'dddd [پیش] [ساعت] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'در %s',\n past: '%s پیش',\n s: 'چند ثانیه',\n ss: '%d ثانیه',\n m: 'یک دقیقه',\n mm: '%d دقیقه',\n h: 'یک ساعت',\n hh: '%d ساعت',\n d: 'یک روز',\n dd: '%d روز',\n M: 'یک ماه',\n MM: '%d ماه',\n y: 'یک سال',\n yy: '%d سال',\n },\n preparse: function (string) {\n return string\n .replace(/[۰-۹]/g, function (match) {\n return numberMap[match];\n })\n .replace(/،/g, ',');\n },\n postformat: function (string) {\n return string\n .replace(/\\d/g, function (match) {\n return symbolMap[match];\n })\n .replace(/,/g, '،');\n },\n dayOfMonthOrdinalParse: /\\d{1,2}م/,\n ordinal: '%dم',\n week: {\n dow: 6, // Saturday is the first day of the week.\n doy: 12, // The week that contains Jan 12th is the first week of the year.\n },\n });\n\n return fa;\n\n})));\n","//! moment.js locale configuration\n//! locale : Finnish [fi]\n//! author : Tarmo Aidantausta : https://github.com/bleadof\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var numbersPast =\n 'nolla yksi kaksi kolme neljä viisi kuusi seitsemän kahdeksan yhdeksän'.split(\n ' '\n ),\n numbersFuture = [\n 'nolla',\n 'yhden',\n 'kahden',\n 'kolmen',\n 'neljän',\n 'viiden',\n 'kuuden',\n numbersPast[7],\n numbersPast[8],\n numbersPast[9],\n ];\n function translate(number, withoutSuffix, key, isFuture) {\n var result = '';\n switch (key) {\n case 's':\n return isFuture ? 'muutaman sekunnin' : 'muutama sekunti';\n case 'ss':\n result = isFuture ? 'sekunnin' : 'sekuntia';\n break;\n case 'm':\n return isFuture ? 'minuutin' : 'minuutti';\n case 'mm':\n result = isFuture ? 'minuutin' : 'minuuttia';\n break;\n case 'h':\n return isFuture ? 'tunnin' : 'tunti';\n case 'hh':\n result = isFuture ? 'tunnin' : 'tuntia';\n break;\n case 'd':\n return isFuture ? 'päivän' : 'päivä';\n case 'dd':\n result = isFuture ? 'päivän' : 'päivää';\n break;\n case 'M':\n return isFuture ? 'kuukauden' : 'kuukausi';\n case 'MM':\n result = isFuture ? 'kuukauden' : 'kuukautta';\n break;\n case 'y':\n return isFuture ? 'vuoden' : 'vuosi';\n case 'yy':\n result = isFuture ? 'vuoden' : 'vuotta';\n break;\n }\n result = verbalNumber(number, isFuture) + ' ' + result;\n return result;\n }\n function verbalNumber(number, isFuture) {\n return number < 10\n ? isFuture\n ? numbersFuture[number]\n : numbersPast[number]\n : number;\n }\n\n var fi = moment.defineLocale('fi', {\n months: 'tammikuu_helmikuu_maaliskuu_huhtikuu_toukokuu_kesäkuu_heinäkuu_elokuu_syyskuu_lokakuu_marraskuu_joulukuu'.split(\n '_'\n ),\n monthsShort:\n 'tammi_helmi_maalis_huhti_touko_kesä_heinä_elo_syys_loka_marras_joulu'.split(\n '_'\n ),\n weekdays:\n 'sunnuntai_maanantai_tiistai_keskiviikko_torstai_perjantai_lauantai'.split(\n '_'\n ),\n weekdaysShort: 'su_ma_ti_ke_to_pe_la'.split('_'),\n weekdaysMin: 'su_ma_ti_ke_to_pe_la'.split('_'),\n longDateFormat: {\n LT: 'HH.mm',\n LTS: 'HH.mm.ss',\n L: 'DD.MM.YYYY',\n LL: 'Do MMMM[ta] YYYY',\n LLL: 'Do MMMM[ta] YYYY, [klo] HH.mm',\n LLLL: 'dddd, Do MMMM[ta] YYYY, [klo] HH.mm',\n l: 'D.M.YYYY',\n ll: 'Do MMM YYYY',\n lll: 'Do MMM YYYY, [klo] HH.mm',\n llll: 'ddd, Do MMM YYYY, [klo] HH.mm',\n },\n calendar: {\n sameDay: '[tänään] [klo] LT',\n nextDay: '[huomenna] [klo] LT',\n nextWeek: 'dddd [klo] LT',\n lastDay: '[eilen] [klo] LT',\n lastWeek: '[viime] dddd[na] [klo] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: '%s päästä',\n past: '%s sitten',\n s: translate,\n ss: translate,\n m: translate,\n mm: translate,\n h: translate,\n hh: translate,\n d: translate,\n dd: translate,\n M: translate,\n MM: translate,\n y: translate,\n yy: translate,\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal: '%d.',\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return fi;\n\n})));\n","//! moment.js locale configuration\n//! locale : Filipino [fil]\n//! author : Dan Hagman : https://github.com/hagmandan\n//! author : Matthew Co : https://github.com/matthewdeeco\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var fil = moment.defineLocale('fil', {\n months: 'Enero_Pebrero_Marso_Abril_Mayo_Hunyo_Hulyo_Agosto_Setyembre_Oktubre_Nobyembre_Disyembre'.split(\n '_'\n ),\n monthsShort: 'Ene_Peb_Mar_Abr_May_Hun_Hul_Ago_Set_Okt_Nob_Dis'.split('_'),\n weekdays: 'Linggo_Lunes_Martes_Miyerkules_Huwebes_Biyernes_Sabado'.split(\n '_'\n ),\n weekdaysShort: 'Lin_Lun_Mar_Miy_Huw_Biy_Sab'.split('_'),\n weekdaysMin: 'Li_Lu_Ma_Mi_Hu_Bi_Sab'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'MM/D/YYYY',\n LL: 'MMMM D, YYYY',\n LLL: 'MMMM D, YYYY HH:mm',\n LLLL: 'dddd, MMMM DD, YYYY HH:mm',\n },\n calendar: {\n sameDay: 'LT [ngayong araw]',\n nextDay: '[Bukas ng] LT',\n nextWeek: 'LT [sa susunod na] dddd',\n lastDay: 'LT [kahapon]',\n lastWeek: 'LT [noong nakaraang] dddd',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'sa loob ng %s',\n past: '%s ang nakalipas',\n s: 'ilang segundo',\n ss: '%d segundo',\n m: 'isang minuto',\n mm: '%d minuto',\n h: 'isang oras',\n hh: '%d oras',\n d: 'isang araw',\n dd: '%d araw',\n M: 'isang buwan',\n MM: '%d buwan',\n y: 'isang taon',\n yy: '%d taon',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}/,\n ordinal: function (number) {\n return number;\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return fil;\n\n})));\n","//! moment.js locale configuration\n//! locale : Faroese [fo]\n//! author : Ragnar Johannesen : https://github.com/ragnar123\n//! author : Kristian Sakarisson : https://github.com/sakarisson\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var fo = moment.defineLocale('fo', {\n months: 'januar_februar_mars_apríl_mai_juni_juli_august_september_oktober_november_desember'.split(\n '_'\n ),\n monthsShort: 'jan_feb_mar_apr_mai_jun_jul_aug_sep_okt_nov_des'.split('_'),\n weekdays:\n 'sunnudagur_mánadagur_týsdagur_mikudagur_hósdagur_fríggjadagur_leygardagur'.split(\n '_'\n ),\n weekdaysShort: 'sun_mán_týs_mik_hós_frí_ley'.split('_'),\n weekdaysMin: 'su_má_tý_mi_hó_fr_le'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd D. MMMM, YYYY HH:mm',\n },\n calendar: {\n sameDay: '[Í dag kl.] LT',\n nextDay: '[Í morgin kl.] LT',\n nextWeek: 'dddd [kl.] LT',\n lastDay: '[Í gjár kl.] LT',\n lastWeek: '[síðstu] dddd [kl] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'um %s',\n past: '%s síðani',\n s: 'fá sekund',\n ss: '%d sekundir',\n m: 'ein minuttur',\n mm: '%d minuttir',\n h: 'ein tími',\n hh: '%d tímar',\n d: 'ein dagur',\n dd: '%d dagar',\n M: 'ein mánaður',\n MM: '%d mánaðir',\n y: 'eitt ár',\n yy: '%d ár',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal: '%d.',\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return fo;\n\n})));\n","//! moment.js locale configuration\n//! locale : French (Canada) [fr-ca]\n//! author : Jonathan Abourbih : https://github.com/jonbca\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var frCa = moment.defineLocale('fr-ca', {\n months: 'janvier_février_mars_avril_mai_juin_juillet_août_septembre_octobre_novembre_décembre'.split(\n '_'\n ),\n monthsShort:\n 'janv._févr._mars_avr._mai_juin_juil._août_sept._oct._nov._déc.'.split(\n '_'\n ),\n monthsParseExact: true,\n weekdays: 'dimanche_lundi_mardi_mercredi_jeudi_vendredi_samedi'.split('_'),\n weekdaysShort: 'dim._lun._mar._mer._jeu._ven._sam.'.split('_'),\n weekdaysMin: 'di_lu_ma_me_je_ve_sa'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'YYYY-MM-DD',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd D MMMM YYYY HH:mm',\n },\n calendar: {\n sameDay: '[Aujourd’hui à] LT',\n nextDay: '[Demain à] LT',\n nextWeek: 'dddd [à] LT',\n lastDay: '[Hier à] LT',\n lastWeek: 'dddd [dernier à] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'dans %s',\n past: 'il y a %s',\n s: 'quelques secondes',\n ss: '%d secondes',\n m: 'une minute',\n mm: '%d minutes',\n h: 'une heure',\n hh: '%d heures',\n d: 'un jour',\n dd: '%d jours',\n M: 'un mois',\n MM: '%d mois',\n y: 'un an',\n yy: '%d ans',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(er|e)/,\n ordinal: function (number, period) {\n switch (period) {\n // Words with masculine grammatical gender: mois, trimestre, jour\n default:\n case 'M':\n case 'Q':\n case 'D':\n case 'DDD':\n case 'd':\n return number + (number === 1 ? 'er' : 'e');\n\n // Words with feminine grammatical gender: semaine\n case 'w':\n case 'W':\n return number + (number === 1 ? 're' : 'e');\n }\n },\n });\n\n return frCa;\n\n})));\n","//! moment.js locale configuration\n//! locale : French (Switzerland) [fr-ch]\n//! author : Gaspard Bucher : https://github.com/gaspard\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var frCh = moment.defineLocale('fr-ch', {\n months: 'janvier_février_mars_avril_mai_juin_juillet_août_septembre_octobre_novembre_décembre'.split(\n '_'\n ),\n monthsShort:\n 'janv._févr._mars_avr._mai_juin_juil._août_sept._oct._nov._déc.'.split(\n '_'\n ),\n monthsParseExact: true,\n weekdays: 'dimanche_lundi_mardi_mercredi_jeudi_vendredi_samedi'.split('_'),\n weekdaysShort: 'dim._lun._mar._mer._jeu._ven._sam.'.split('_'),\n weekdaysMin: 'di_lu_ma_me_je_ve_sa'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd D MMMM YYYY HH:mm',\n },\n calendar: {\n sameDay: '[Aujourd’hui à] LT',\n nextDay: '[Demain à] LT',\n nextWeek: 'dddd [à] LT',\n lastDay: '[Hier à] LT',\n lastWeek: 'dddd [dernier à] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'dans %s',\n past: 'il y a %s',\n s: 'quelques secondes',\n ss: '%d secondes',\n m: 'une minute',\n mm: '%d minutes',\n h: 'une heure',\n hh: '%d heures',\n d: 'un jour',\n dd: '%d jours',\n M: 'un mois',\n MM: '%d mois',\n y: 'un an',\n yy: '%d ans',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(er|e)/,\n ordinal: function (number, period) {\n switch (period) {\n // Words with masculine grammatical gender: mois, trimestre, jour\n default:\n case 'M':\n case 'Q':\n case 'D':\n case 'DDD':\n case 'd':\n return number + (number === 1 ? 'er' : 'e');\n\n // Words with feminine grammatical gender: semaine\n case 'w':\n case 'W':\n return number + (number === 1 ? 're' : 'e');\n }\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return frCh;\n\n})));\n","//! moment.js locale configuration\n//! locale : French [fr]\n//! author : John Fischer : https://github.com/jfroffice\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var monthsStrictRegex =\n /^(janvier|février|mars|avril|mai|juin|juillet|août|septembre|octobre|novembre|décembre)/i,\n monthsShortStrictRegex =\n /(janv\\.?|févr\\.?|mars|avr\\.?|mai|juin|juil\\.?|août|sept\\.?|oct\\.?|nov\\.?|déc\\.?)/i,\n monthsRegex =\n /(janv\\.?|févr\\.?|mars|avr\\.?|mai|juin|juil\\.?|août|sept\\.?|oct\\.?|nov\\.?|déc\\.?|janvier|février|mars|avril|mai|juin|juillet|août|septembre|octobre|novembre|décembre)/i,\n monthsParse = [\n /^janv/i,\n /^févr/i,\n /^mars/i,\n /^avr/i,\n /^mai/i,\n /^juin/i,\n /^juil/i,\n /^août/i,\n /^sept/i,\n /^oct/i,\n /^nov/i,\n /^déc/i,\n ];\n\n var fr = moment.defineLocale('fr', {\n months: 'janvier_février_mars_avril_mai_juin_juillet_août_septembre_octobre_novembre_décembre'.split(\n '_'\n ),\n monthsShort:\n 'janv._févr._mars_avr._mai_juin_juil._août_sept._oct._nov._déc.'.split(\n '_'\n ),\n monthsRegex: monthsRegex,\n monthsShortRegex: monthsRegex,\n monthsStrictRegex: monthsStrictRegex,\n monthsShortStrictRegex: monthsShortStrictRegex,\n monthsParse: monthsParse,\n longMonthsParse: monthsParse,\n shortMonthsParse: monthsParse,\n weekdays: 'dimanche_lundi_mardi_mercredi_jeudi_vendredi_samedi'.split('_'),\n weekdaysShort: 'dim._lun._mar._mer._jeu._ven._sam.'.split('_'),\n weekdaysMin: 'di_lu_ma_me_je_ve_sa'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd D MMMM YYYY HH:mm',\n },\n calendar: {\n sameDay: '[Aujourd’hui à] LT',\n nextDay: '[Demain à] LT',\n nextWeek: 'dddd [à] LT',\n lastDay: '[Hier à] LT',\n lastWeek: 'dddd [dernier à] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'dans %s',\n past: 'il y a %s',\n s: 'quelques secondes',\n ss: '%d secondes',\n m: 'une minute',\n mm: '%d minutes',\n h: 'une heure',\n hh: '%d heures',\n d: 'un jour',\n dd: '%d jours',\n w: 'une semaine',\n ww: '%d semaines',\n M: 'un mois',\n MM: '%d mois',\n y: 'un an',\n yy: '%d ans',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(er|)/,\n ordinal: function (number, period) {\n switch (period) {\n // TODO: Return 'e' when day of month > 1. Move this case inside\n // block for masculine words below.\n // See https://github.com/moment/moment/issues/3375\n case 'D':\n return number + (number === 1 ? 'er' : '');\n\n // Words with masculine grammatical gender: mois, trimestre, jour\n default:\n case 'M':\n case 'Q':\n case 'DDD':\n case 'd':\n return number + (number === 1 ? 'er' : 'e');\n\n // Words with feminine grammatical gender: semaine\n case 'w':\n case 'W':\n return number + (number === 1 ? 're' : 'e');\n }\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return fr;\n\n})));\n","//! moment.js locale configuration\n//! locale : Frisian [fy]\n//! author : Robin van der Vliet : https://github.com/robin0van0der0v\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var monthsShortWithDots =\n 'jan._feb._mrt._apr._mai_jun._jul._aug._sep._okt._nov._des.'.split('_'),\n monthsShortWithoutDots =\n 'jan_feb_mrt_apr_mai_jun_jul_aug_sep_okt_nov_des'.split('_');\n\n var fy = moment.defineLocale('fy', {\n months: 'jannewaris_febrewaris_maart_april_maaie_juny_july_augustus_septimber_oktober_novimber_desimber'.split(\n '_'\n ),\n monthsShort: function (m, format) {\n if (!m) {\n return monthsShortWithDots;\n } else if (/-MMM-/.test(format)) {\n return monthsShortWithoutDots[m.month()];\n } else {\n return monthsShortWithDots[m.month()];\n }\n },\n monthsParseExact: true,\n weekdays: 'snein_moandei_tiisdei_woansdei_tongersdei_freed_sneon'.split(\n '_'\n ),\n weekdaysShort: 'si._mo._ti._wo._to._fr._so.'.split('_'),\n weekdaysMin: 'Si_Mo_Ti_Wo_To_Fr_So'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD-MM-YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd D MMMM YYYY HH:mm',\n },\n calendar: {\n sameDay: '[hjoed om] LT',\n nextDay: '[moarn om] LT',\n nextWeek: 'dddd [om] LT',\n lastDay: '[juster om] LT',\n lastWeek: '[ôfrûne] dddd [om] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'oer %s',\n past: '%s lyn',\n s: 'in pear sekonden',\n ss: '%d sekonden',\n m: 'ien minút',\n mm: '%d minuten',\n h: 'ien oere',\n hh: '%d oeren',\n d: 'ien dei',\n dd: '%d dagen',\n M: 'ien moanne',\n MM: '%d moannen',\n y: 'ien jier',\n yy: '%d jierren',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(ste|de)/,\n ordinal: function (number) {\n return (\n number +\n (number === 1 || number === 8 || number >= 20 ? 'ste' : 'de')\n );\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return fy;\n\n})));\n","//! moment.js locale configuration\n//! locale : Irish or Irish Gaelic [ga]\n//! author : André Silva : https://github.com/askpt\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var months = [\n 'Eanáir',\n 'Feabhra',\n 'Márta',\n 'Aibreán',\n 'Bealtaine',\n 'Meitheamh',\n 'Iúil',\n 'Lúnasa',\n 'Meán Fómhair',\n 'Deireadh Fómhair',\n 'Samhain',\n 'Nollaig',\n ],\n monthsShort = [\n 'Ean',\n 'Feabh',\n 'Márt',\n 'Aib',\n 'Beal',\n 'Meith',\n 'Iúil',\n 'Lún',\n 'M.F.',\n 'D.F.',\n 'Samh',\n 'Noll',\n ],\n weekdays = [\n 'Dé Domhnaigh',\n 'Dé Luain',\n 'Dé Máirt',\n 'Dé Céadaoin',\n 'Déardaoin',\n 'Dé hAoine',\n 'Dé Sathairn',\n ],\n weekdaysShort = ['Domh', 'Luan', 'Máirt', 'Céad', 'Déar', 'Aoine', 'Sath'],\n weekdaysMin = ['Do', 'Lu', 'Má', 'Cé', 'Dé', 'A', 'Sa'];\n\n var ga = moment.defineLocale('ga', {\n months: months,\n monthsShort: monthsShort,\n monthsParseExact: true,\n weekdays: weekdays,\n weekdaysShort: weekdaysShort,\n weekdaysMin: weekdaysMin,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd, D MMMM YYYY HH:mm',\n },\n calendar: {\n sameDay: '[Inniu ag] LT',\n nextDay: '[Amárach ag] LT',\n nextWeek: 'dddd [ag] LT',\n lastDay: '[Inné ag] LT',\n lastWeek: 'dddd [seo caite] [ag] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'i %s',\n past: '%s ó shin',\n s: 'cúpla soicind',\n ss: '%d soicind',\n m: 'nóiméad',\n mm: '%d nóiméad',\n h: 'uair an chloig',\n hh: '%d uair an chloig',\n d: 'lá',\n dd: '%d lá',\n M: 'mí',\n MM: '%d míonna',\n y: 'bliain',\n yy: '%d bliain',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(d|na|mh)/,\n ordinal: function (number) {\n var output = number === 1 ? 'd' : number % 10 === 2 ? 'na' : 'mh';\n return number + output;\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return ga;\n\n})));\n","//! moment.js locale configuration\n//! locale : Scottish Gaelic [gd]\n//! author : Jon Ashdown : https://github.com/jonashdown\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var months = [\n 'Am Faoilleach',\n 'An Gearran',\n 'Am Màrt',\n 'An Giblean',\n 'An Cèitean',\n 'An t-Ògmhios',\n 'An t-Iuchar',\n 'An Lùnastal',\n 'An t-Sultain',\n 'An Dàmhair',\n 'An t-Samhain',\n 'An Dùbhlachd',\n ],\n monthsShort = [\n 'Faoi',\n 'Gear',\n 'Màrt',\n 'Gibl',\n 'Cèit',\n 'Ògmh',\n 'Iuch',\n 'Lùn',\n 'Sult',\n 'Dàmh',\n 'Samh',\n 'Dùbh',\n ],\n weekdays = [\n 'Didòmhnaich',\n 'Diluain',\n 'Dimàirt',\n 'Diciadain',\n 'Diardaoin',\n 'Dihaoine',\n 'Disathairne',\n ],\n weekdaysShort = ['Did', 'Dil', 'Dim', 'Dic', 'Dia', 'Dih', 'Dis'],\n weekdaysMin = ['Dò', 'Lu', 'Mà', 'Ci', 'Ar', 'Ha', 'Sa'];\n\n var gd = moment.defineLocale('gd', {\n months: months,\n monthsShort: monthsShort,\n monthsParseExact: true,\n weekdays: weekdays,\n weekdaysShort: weekdaysShort,\n weekdaysMin: weekdaysMin,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd, D MMMM YYYY HH:mm',\n },\n calendar: {\n sameDay: '[An-diugh aig] LT',\n nextDay: '[A-màireach aig] LT',\n nextWeek: 'dddd [aig] LT',\n lastDay: '[An-dè aig] LT',\n lastWeek: 'dddd [seo chaidh] [aig] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'ann an %s',\n past: 'bho chionn %s',\n s: 'beagan diogan',\n ss: '%d diogan',\n m: 'mionaid',\n mm: '%d mionaidean',\n h: 'uair',\n hh: '%d uairean',\n d: 'latha',\n dd: '%d latha',\n M: 'mìos',\n MM: '%d mìosan',\n y: 'bliadhna',\n yy: '%d bliadhna',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(d|na|mh)/,\n ordinal: function (number) {\n var output = number === 1 ? 'd' : number % 10 === 2 ? 'na' : 'mh';\n return number + output;\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return gd;\n\n})));\n","//! moment.js locale configuration\n//! locale : Galician [gl]\n//! author : Juan G. Hurtado : https://github.com/juanghurtado\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var gl = moment.defineLocale('gl', {\n months: 'xaneiro_febreiro_marzo_abril_maio_xuño_xullo_agosto_setembro_outubro_novembro_decembro'.split(\n '_'\n ),\n monthsShort:\n 'xan._feb._mar._abr._mai._xuñ._xul._ago._set._out._nov._dec.'.split(\n '_'\n ),\n monthsParseExact: true,\n weekdays: 'domingo_luns_martes_mércores_xoves_venres_sábado'.split('_'),\n weekdaysShort: 'dom._lun._mar._mér._xov._ven._sáb.'.split('_'),\n weekdaysMin: 'do_lu_ma_mé_xo_ve_sá'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'H:mm',\n LTS: 'H:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D [de] MMMM [de] YYYY',\n LLL: 'D [de] MMMM [de] YYYY H:mm',\n LLLL: 'dddd, D [de] MMMM [de] YYYY H:mm',\n },\n calendar: {\n sameDay: function () {\n return '[hoxe ' + (this.hours() !== 1 ? 'ás' : 'á') + '] LT';\n },\n nextDay: function () {\n return '[mañá ' + (this.hours() !== 1 ? 'ás' : 'á') + '] LT';\n },\n nextWeek: function () {\n return 'dddd [' + (this.hours() !== 1 ? 'ás' : 'a') + '] LT';\n },\n lastDay: function () {\n return '[onte ' + (this.hours() !== 1 ? 'á' : 'a') + '] LT';\n },\n lastWeek: function () {\n return (\n '[o] dddd [pasado ' + (this.hours() !== 1 ? 'ás' : 'a') + '] LT'\n );\n },\n sameElse: 'L',\n },\n relativeTime: {\n future: function (str) {\n if (str.indexOf('un') === 0) {\n return 'n' + str;\n }\n return 'en ' + str;\n },\n past: 'hai %s',\n s: 'uns segundos',\n ss: '%d segundos',\n m: 'un minuto',\n mm: '%d minutos',\n h: 'unha hora',\n hh: '%d horas',\n d: 'un día',\n dd: '%d días',\n M: 'un mes',\n MM: '%d meses',\n y: 'un ano',\n yy: '%d anos',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}º/,\n ordinal: '%dº',\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return gl;\n\n})));\n","//! moment.js locale configuration\n//! locale : Konkani Devanagari script [gom-deva]\n//! author : The Discoverer : https://github.com/WikiDiscoverer\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n function processRelativeTime(number, withoutSuffix, key, isFuture) {\n var format = {\n s: ['थोडया सॅकंडांनी', 'थोडे सॅकंड'],\n ss: [number + ' सॅकंडांनी', number + ' सॅकंड'],\n m: ['एका मिणटान', 'एक मिनूट'],\n mm: [number + ' मिणटांनी', number + ' मिणटां'],\n h: ['एका वरान', 'एक वर'],\n hh: [number + ' वरांनी', number + ' वरां'],\n d: ['एका दिसान', 'एक दीस'],\n dd: [number + ' दिसांनी', number + ' दीस'],\n M: ['एका म्हयन्यान', 'एक म्हयनो'],\n MM: [number + ' म्हयन्यानी', number + ' म्हयने'],\n y: ['एका वर्सान', 'एक वर्स'],\n yy: [number + ' वर्सांनी', number + ' वर्सां'],\n };\n return isFuture ? format[key][0] : format[key][1];\n }\n\n var gomDeva = moment.defineLocale('gom-deva', {\n months: {\n standalone:\n 'जानेवारी_फेब्रुवारी_मार्च_एप्रील_मे_जून_जुलय_ऑगस्ट_सप्टेंबर_ऑक्टोबर_नोव्हेंबर_डिसेंबर'.split(\n '_'\n ),\n format: 'जानेवारीच्या_फेब्रुवारीच्या_मार्चाच्या_एप्रीलाच्या_मेयाच्या_जूनाच्या_जुलयाच्या_ऑगस्टाच्या_सप्टेंबराच्या_ऑक्टोबराच्या_नोव्हेंबराच्या_डिसेंबराच्या'.split(\n '_'\n ),\n isFormat: /MMMM(\\s)+D[oD]?/,\n },\n monthsShort:\n 'जाने._फेब्रु._मार्च_एप्री._मे_जून_जुल._ऑग._सप्टें._ऑक्टो._नोव्हें._डिसें.'.split(\n '_'\n ),\n monthsParseExact: true,\n weekdays: 'आयतार_सोमार_मंगळार_बुधवार_बिरेस्तार_सुक्रार_शेनवार'.split('_'),\n weekdaysShort: 'आयत._सोम._मंगळ._बुध._ब्रेस्त._सुक्र._शेन.'.split('_'),\n weekdaysMin: 'आ_सो_मं_बु_ब्रे_सु_शे'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'A h:mm [वाजतां]',\n LTS: 'A h:mm:ss [वाजतां]',\n L: 'DD-MM-YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY A h:mm [वाजतां]',\n LLLL: 'dddd, MMMM Do, YYYY, A h:mm [वाजतां]',\n llll: 'ddd, D MMM YYYY, A h:mm [वाजतां]',\n },\n calendar: {\n sameDay: '[आयज] LT',\n nextDay: '[फाल्यां] LT',\n nextWeek: '[फुडलो] dddd[,] LT',\n lastDay: '[काल] LT',\n lastWeek: '[फाटलो] dddd[,] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: '%s',\n past: '%s आदीं',\n s: processRelativeTime,\n ss: processRelativeTime,\n m: processRelativeTime,\n mm: processRelativeTime,\n h: processRelativeTime,\n hh: processRelativeTime,\n d: processRelativeTime,\n dd: processRelativeTime,\n M: processRelativeTime,\n MM: processRelativeTime,\n y: processRelativeTime,\n yy: processRelativeTime,\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(वेर)/,\n ordinal: function (number, period) {\n switch (period) {\n // the ordinal 'वेर' only applies to day of the month\n case 'D':\n return number + 'वेर';\n default:\n case 'M':\n case 'Q':\n case 'DDD':\n case 'd':\n case 'w':\n case 'W':\n return number;\n }\n },\n week: {\n dow: 0, // Sunday is the first day of the week\n doy: 3, // The week that contains Jan 4th is the first week of the year (7 + 0 - 4)\n },\n meridiemParse: /राती|सकाळीं|दनपारां|सांजे/,\n meridiemHour: function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (meridiem === 'राती') {\n return hour < 4 ? hour : hour + 12;\n } else if (meridiem === 'सकाळीं') {\n return hour;\n } else if (meridiem === 'दनपारां') {\n return hour > 12 ? hour : hour + 12;\n } else if (meridiem === 'सांजे') {\n return hour + 12;\n }\n },\n meridiem: function (hour, minute, isLower) {\n if (hour < 4) {\n return 'राती';\n } else if (hour < 12) {\n return 'सकाळीं';\n } else if (hour < 16) {\n return 'दनपारां';\n } else if (hour < 20) {\n return 'सांजे';\n } else {\n return 'राती';\n }\n },\n });\n\n return gomDeva;\n\n})));\n","//! moment.js locale configuration\n//! locale : Konkani Latin script [gom-latn]\n//! author : The Discoverer : https://github.com/WikiDiscoverer\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n function processRelativeTime(number, withoutSuffix, key, isFuture) {\n var format = {\n s: ['thoddea sekondamni', 'thodde sekond'],\n ss: [number + ' sekondamni', number + ' sekond'],\n m: ['eka mintan', 'ek minut'],\n mm: [number + ' mintamni', number + ' mintam'],\n h: ['eka voran', 'ek vor'],\n hh: [number + ' voramni', number + ' voram'],\n d: ['eka disan', 'ek dis'],\n dd: [number + ' disamni', number + ' dis'],\n M: ['eka mhoinean', 'ek mhoino'],\n MM: [number + ' mhoineamni', number + ' mhoine'],\n y: ['eka vorsan', 'ek voros'],\n yy: [number + ' vorsamni', number + ' vorsam'],\n };\n return isFuture ? format[key][0] : format[key][1];\n }\n\n var gomLatn = moment.defineLocale('gom-latn', {\n months: {\n standalone:\n 'Janer_Febrer_Mars_Abril_Mai_Jun_Julai_Agost_Setembr_Otubr_Novembr_Dezembr'.split(\n '_'\n ),\n format: 'Janerachea_Febrerachea_Marsachea_Abrilachea_Maiachea_Junachea_Julaiachea_Agostachea_Setembrachea_Otubrachea_Novembrachea_Dezembrachea'.split(\n '_'\n ),\n isFormat: /MMMM(\\s)+D[oD]?/,\n },\n monthsShort:\n 'Jan._Feb._Mars_Abr._Mai_Jun_Jul._Ago._Set._Otu._Nov._Dez.'.split('_'),\n monthsParseExact: true,\n weekdays: \"Aitar_Somar_Mongllar_Budhvar_Birestar_Sukrar_Son'var\".split('_'),\n weekdaysShort: 'Ait._Som._Mon._Bud._Bre._Suk._Son.'.split('_'),\n weekdaysMin: 'Ai_Sm_Mo_Bu_Br_Su_Sn'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'A h:mm [vazta]',\n LTS: 'A h:mm:ss [vazta]',\n L: 'DD-MM-YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY A h:mm [vazta]',\n LLLL: 'dddd, MMMM Do, YYYY, A h:mm [vazta]',\n llll: 'ddd, D MMM YYYY, A h:mm [vazta]',\n },\n calendar: {\n sameDay: '[Aiz] LT',\n nextDay: '[Faleam] LT',\n nextWeek: '[Fuddlo] dddd[,] LT',\n lastDay: '[Kal] LT',\n lastWeek: '[Fattlo] dddd[,] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: '%s',\n past: '%s adim',\n s: processRelativeTime,\n ss: processRelativeTime,\n m: processRelativeTime,\n mm: processRelativeTime,\n h: processRelativeTime,\n hh: processRelativeTime,\n d: processRelativeTime,\n dd: processRelativeTime,\n M: processRelativeTime,\n MM: processRelativeTime,\n y: processRelativeTime,\n yy: processRelativeTime,\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(er)/,\n ordinal: function (number, period) {\n switch (period) {\n // the ordinal 'er' only applies to day of the month\n case 'D':\n return number + 'er';\n default:\n case 'M':\n case 'Q':\n case 'DDD':\n case 'd':\n case 'w':\n case 'W':\n return number;\n }\n },\n week: {\n dow: 0, // Sunday is the first day of the week\n doy: 3, // The week that contains Jan 4th is the first week of the year (7 + 0 - 4)\n },\n meridiemParse: /rati|sokallim|donparam|sanje/,\n meridiemHour: function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (meridiem === 'rati') {\n return hour < 4 ? hour : hour + 12;\n } else if (meridiem === 'sokallim') {\n return hour;\n } else if (meridiem === 'donparam') {\n return hour > 12 ? hour : hour + 12;\n } else if (meridiem === 'sanje') {\n return hour + 12;\n }\n },\n meridiem: function (hour, minute, isLower) {\n if (hour < 4) {\n return 'rati';\n } else if (hour < 12) {\n return 'sokallim';\n } else if (hour < 16) {\n return 'donparam';\n } else if (hour < 20) {\n return 'sanje';\n } else {\n return 'rati';\n }\n },\n });\n\n return gomLatn;\n\n})));\n","//! moment.js locale configuration\n//! locale : Gujarati [gu]\n//! author : Kaushik Thanki : https://github.com/Kaushik1987\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var symbolMap = {\n 1: '૧',\n 2: '૨',\n 3: '૩',\n 4: '૪',\n 5: '૫',\n 6: '૬',\n 7: '૭',\n 8: '૮',\n 9: '૯',\n 0: '૦',\n },\n numberMap = {\n '૧': '1',\n '૨': '2',\n '૩': '3',\n '૪': '4',\n '૫': '5',\n '૬': '6',\n '૭': '7',\n '૮': '8',\n '૯': '9',\n '૦': '0',\n };\n\n var gu = moment.defineLocale('gu', {\n months: 'જાન્યુઆરી_ફેબ્રુઆરી_માર્ચ_એપ્રિલ_મે_જૂન_જુલાઈ_ઑગસ્ટ_સપ્ટેમ્બર_ઑક્ટ્બર_નવેમ્બર_ડિસેમ્બર'.split(\n '_'\n ),\n monthsShort:\n 'જાન્યુ._ફેબ્રુ._માર્ચ_એપ્રિ._મે_જૂન_જુલા._ઑગ._સપ્ટે._ઑક્ટ્._નવે._ડિસે.'.split(\n '_'\n ),\n monthsParseExact: true,\n weekdays: 'રવિવાર_સોમવાર_મંગળવાર_બુધ્વાર_ગુરુવાર_શુક્રવાર_શનિવાર'.split(\n '_'\n ),\n weekdaysShort: 'રવિ_સોમ_મંગળ_બુધ્_ગુરુ_શુક્ર_શનિ'.split('_'),\n weekdaysMin: 'ર_સો_મં_બુ_ગુ_શુ_શ'.split('_'),\n longDateFormat: {\n LT: 'A h:mm વાગ્યે',\n LTS: 'A h:mm:ss વાગ્યે',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY, A h:mm વાગ્યે',\n LLLL: 'dddd, D MMMM YYYY, A h:mm વાગ્યે',\n },\n calendar: {\n sameDay: '[આજ] LT',\n nextDay: '[કાલે] LT',\n nextWeek: 'dddd, LT',\n lastDay: '[ગઇકાલે] LT',\n lastWeek: '[પાછલા] dddd, LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: '%s મા',\n past: '%s પહેલા',\n s: 'અમુક પળો',\n ss: '%d સેકંડ',\n m: 'એક મિનિટ',\n mm: '%d મિનિટ',\n h: 'એક કલાક',\n hh: '%d કલાક',\n d: 'એક દિવસ',\n dd: '%d દિવસ',\n M: 'એક મહિનો',\n MM: '%d મહિનો',\n y: 'એક વર્ષ',\n yy: '%d વર્ષ',\n },\n preparse: function (string) {\n return string.replace(/[૧૨૩૪૫૬૭૮૯૦]/g, function (match) {\n return numberMap[match];\n });\n },\n postformat: function (string) {\n return string.replace(/\\d/g, function (match) {\n return symbolMap[match];\n });\n },\n // Gujarati notation for meridiems are quite fuzzy in practice. While there exists\n // a rigid notion of a 'Pahar' it is not used as rigidly in modern Gujarati.\n meridiemParse: /રાત|બપોર|સવાર|સાંજ/,\n meridiemHour: function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (meridiem === 'રાત') {\n return hour < 4 ? hour : hour + 12;\n } else if (meridiem === 'સવાર') {\n return hour;\n } else if (meridiem === 'બપોર') {\n return hour >= 10 ? hour : hour + 12;\n } else if (meridiem === 'સાંજ') {\n return hour + 12;\n }\n },\n meridiem: function (hour, minute, isLower) {\n if (hour < 4) {\n return 'રાત';\n } else if (hour < 10) {\n return 'સવાર';\n } else if (hour < 17) {\n return 'બપોર';\n } else if (hour < 20) {\n return 'સાંજ';\n } else {\n return 'રાત';\n }\n },\n week: {\n dow: 0, // Sunday is the first day of the week.\n doy: 6, // The week that contains Jan 6th is the first week of the year.\n },\n });\n\n return gu;\n\n})));\n","//! moment.js locale configuration\n//! locale : Hebrew [he]\n//! author : Tomer Cohen : https://github.com/tomer\n//! author : Moshe Simantov : https://github.com/DevelopmentIL\n//! author : Tal Ater : https://github.com/TalAter\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var he = moment.defineLocale('he', {\n months: 'ינואר_פברואר_מרץ_אפריל_מאי_יוני_יולי_אוגוסט_ספטמבר_אוקטובר_נובמבר_דצמבר'.split(\n '_'\n ),\n monthsShort:\n 'ינו׳_פבר׳_מרץ_אפר׳_מאי_יוני_יולי_אוג׳_ספט׳_אוק׳_נוב׳_דצמ׳'.split('_'),\n weekdays: 'ראשון_שני_שלישי_רביעי_חמישי_שישי_שבת'.split('_'),\n weekdaysShort: 'א׳_ב׳_ג׳_ד׳_ה׳_ו׳_ש׳'.split('_'),\n weekdaysMin: 'א_ב_ג_ד_ה_ו_ש'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D [ב]MMMM YYYY',\n LLL: 'D [ב]MMMM YYYY HH:mm',\n LLLL: 'dddd, D [ב]MMMM YYYY HH:mm',\n l: 'D/M/YYYY',\n ll: 'D MMM YYYY',\n lll: 'D MMM YYYY HH:mm',\n llll: 'ddd, D MMM YYYY HH:mm',\n },\n calendar: {\n sameDay: '[היום ב־]LT',\n nextDay: '[מחר ב־]LT',\n nextWeek: 'dddd [בשעה] LT',\n lastDay: '[אתמול ב־]LT',\n lastWeek: '[ביום] dddd [האחרון בשעה] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'בעוד %s',\n past: 'לפני %s',\n s: 'מספר שניות',\n ss: '%d שניות',\n m: 'דקה',\n mm: '%d דקות',\n h: 'שעה',\n hh: function (number) {\n if (number === 2) {\n return 'שעתיים';\n }\n return number + ' שעות';\n },\n d: 'יום',\n dd: function (number) {\n if (number === 2) {\n return 'יומיים';\n }\n return number + ' ימים';\n },\n M: 'חודש',\n MM: function (number) {\n if (number === 2) {\n return 'חודשיים';\n }\n return number + ' חודשים';\n },\n y: 'שנה',\n yy: function (number) {\n if (number === 2) {\n return 'שנתיים';\n } else if (number % 10 === 0 && number !== 10) {\n return number + ' שנה';\n }\n return number + ' שנים';\n },\n },\n meridiemParse:\n /אחה\"צ|לפנה\"צ|אחרי הצהריים|לפני הצהריים|לפנות בוקר|בבוקר|בערב/i,\n isPM: function (input) {\n return /^(אחה\"צ|אחרי הצהריים|בערב)$/.test(input);\n },\n meridiem: function (hour, minute, isLower) {\n if (hour < 5) {\n return 'לפנות בוקר';\n } else if (hour < 10) {\n return 'בבוקר';\n } else if (hour < 12) {\n return isLower ? 'לפנה\"צ' : 'לפני הצהריים';\n } else if (hour < 18) {\n return isLower ? 'אחה\"צ' : 'אחרי הצהריים';\n } else {\n return 'בערב';\n }\n },\n });\n\n return he;\n\n})));\n","//! moment.js locale configuration\n//! locale : Hindi [hi]\n//! author : Mayank Singhal : https://github.com/mayanksinghal\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var symbolMap = {\n 1: '१',\n 2: '२',\n 3: '३',\n 4: '४',\n 5: '५',\n 6: '६',\n 7: '७',\n 8: '८',\n 9: '९',\n 0: '०',\n },\n numberMap = {\n '१': '1',\n '२': '2',\n '३': '3',\n '४': '4',\n '५': '5',\n '६': '6',\n '७': '7',\n '८': '8',\n '९': '9',\n '०': '0',\n },\n monthsParse = [\n /^जन/i,\n /^फ़र|फर/i,\n /^मार्च/i,\n /^अप्रै/i,\n /^मई/i,\n /^जून/i,\n /^जुल/i,\n /^अग/i,\n /^सितं|सित/i,\n /^अक्टू/i,\n /^नव|नवं/i,\n /^दिसं|दिस/i,\n ],\n shortMonthsParse = [\n /^जन/i,\n /^फ़र/i,\n /^मार्च/i,\n /^अप्रै/i,\n /^मई/i,\n /^जून/i,\n /^जुल/i,\n /^अग/i,\n /^सित/i,\n /^अक्टू/i,\n /^नव/i,\n /^दिस/i,\n ];\n\n var hi = moment.defineLocale('hi', {\n months: {\n format: 'जनवरी_फ़रवरी_मार्च_अप्रैल_मई_जून_जुलाई_अगस्त_सितम्बर_अक्टूबर_नवम्बर_दिसम्बर'.split(\n '_'\n ),\n standalone:\n 'जनवरी_फरवरी_मार्च_अप्रैल_मई_जून_जुलाई_अगस्त_सितंबर_अक्टूबर_नवंबर_दिसंबर'.split(\n '_'\n ),\n },\n monthsShort:\n 'जन._फ़र._मार्च_अप्रै._मई_जून_जुल._अग._सित._अक्टू._नव._दिस.'.split('_'),\n weekdays: 'रविवार_सोमवार_मंगलवार_बुधवार_गुरूवार_शुक्रवार_शनिवार'.split('_'),\n weekdaysShort: 'रवि_सोम_मंगल_बुध_गुरू_शुक्र_शनि'.split('_'),\n weekdaysMin: 'र_सो_मं_बु_गु_शु_श'.split('_'),\n longDateFormat: {\n LT: 'A h:mm बजे',\n LTS: 'A h:mm:ss बजे',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY, A h:mm बजे',\n LLLL: 'dddd, D MMMM YYYY, A h:mm बजे',\n },\n\n monthsParse: monthsParse,\n longMonthsParse: monthsParse,\n shortMonthsParse: shortMonthsParse,\n\n monthsRegex:\n /^(जनवरी|जन\\.?|फ़रवरी|फरवरी|फ़र\\.?|मार्च?|अप्रैल|अप्रै\\.?|मई?|जून?|जुलाई|जुल\\.?|अगस्त|अग\\.?|सितम्बर|सितंबर|सित\\.?|अक्टूबर|अक्टू\\.?|नवम्बर|नवंबर|नव\\.?|दिसम्बर|दिसंबर|दिस\\.?)/i,\n\n monthsShortRegex:\n /^(जनवरी|जन\\.?|फ़रवरी|फरवरी|फ़र\\.?|मार्च?|अप्रैल|अप्रै\\.?|मई?|जून?|जुलाई|जुल\\.?|अगस्त|अग\\.?|सितम्बर|सितंबर|सित\\.?|अक्टूबर|अक्टू\\.?|नवम्बर|नवंबर|नव\\.?|दिसम्बर|दिसंबर|दिस\\.?)/i,\n\n monthsStrictRegex:\n /^(जनवरी?|फ़रवरी|फरवरी?|मार्च?|अप्रैल?|मई?|जून?|जुलाई?|अगस्त?|सितम्बर|सितंबर|सित?\\.?|अक्टूबर|अक्टू\\.?|नवम्बर|नवंबर?|दिसम्बर|दिसंबर?)/i,\n\n monthsShortStrictRegex:\n /^(जन\\.?|फ़र\\.?|मार्च?|अप्रै\\.?|मई?|जून?|जुल\\.?|अग\\.?|सित\\.?|अक्टू\\.?|नव\\.?|दिस\\.?)/i,\n\n calendar: {\n sameDay: '[आज] LT',\n nextDay: '[कल] LT',\n nextWeek: 'dddd, LT',\n lastDay: '[कल] LT',\n lastWeek: '[पिछले] dddd, LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: '%s में',\n past: '%s पहले',\n s: 'कुछ ही क्षण',\n ss: '%d सेकंड',\n m: 'एक मिनट',\n mm: '%d मिनट',\n h: 'एक घंटा',\n hh: '%d घंटे',\n d: 'एक दिन',\n dd: '%d दिन',\n M: 'एक महीने',\n MM: '%d महीने',\n y: 'एक वर्ष',\n yy: '%d वर्ष',\n },\n preparse: function (string) {\n return string.replace(/[१२३४५६७८९०]/g, function (match) {\n return numberMap[match];\n });\n },\n postformat: function (string) {\n return string.replace(/\\d/g, function (match) {\n return symbolMap[match];\n });\n },\n // Hindi notation for meridiems are quite fuzzy in practice. While there exists\n // a rigid notion of a 'Pahar' it is not used as rigidly in modern Hindi.\n meridiemParse: /रात|सुबह|दोपहर|शाम/,\n meridiemHour: function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (meridiem === 'रात') {\n return hour < 4 ? hour : hour + 12;\n } else if (meridiem === 'सुबह') {\n return hour;\n } else if (meridiem === 'दोपहर') {\n return hour >= 10 ? hour : hour + 12;\n } else if (meridiem === 'शाम') {\n return hour + 12;\n }\n },\n meridiem: function (hour, minute, isLower) {\n if (hour < 4) {\n return 'रात';\n } else if (hour < 10) {\n return 'सुबह';\n } else if (hour < 17) {\n return 'दोपहर';\n } else if (hour < 20) {\n return 'शाम';\n } else {\n return 'रात';\n }\n },\n week: {\n dow: 0, // Sunday is the first day of the week.\n doy: 6, // The week that contains Jan 6th is the first week of the year.\n },\n });\n\n return hi;\n\n})));\n","//! moment.js locale configuration\n//! locale : Croatian [hr]\n//! author : Bojan Marković : https://github.com/bmarkovic\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n function translate(number, withoutSuffix, key) {\n var result = number + ' ';\n switch (key) {\n case 'ss':\n if (number === 1) {\n result += 'sekunda';\n } else if (number === 2 || number === 3 || number === 4) {\n result += 'sekunde';\n } else {\n result += 'sekundi';\n }\n return result;\n case 'm':\n return withoutSuffix ? 'jedna minuta' : 'jedne minute';\n case 'mm':\n if (number === 1) {\n result += 'minuta';\n } else if (number === 2 || number === 3 || number === 4) {\n result += 'minute';\n } else {\n result += 'minuta';\n }\n return result;\n case 'h':\n return withoutSuffix ? 'jedan sat' : 'jednog sata';\n case 'hh':\n if (number === 1) {\n result += 'sat';\n } else if (number === 2 || number === 3 || number === 4) {\n result += 'sata';\n } else {\n result += 'sati';\n }\n return result;\n case 'dd':\n if (number === 1) {\n result += 'dan';\n } else {\n result += 'dana';\n }\n return result;\n case 'MM':\n if (number === 1) {\n result += 'mjesec';\n } else if (number === 2 || number === 3 || number === 4) {\n result += 'mjeseca';\n } else {\n result += 'mjeseci';\n }\n return result;\n case 'yy':\n if (number === 1) {\n result += 'godina';\n } else if (number === 2 || number === 3 || number === 4) {\n result += 'godine';\n } else {\n result += 'godina';\n }\n return result;\n }\n }\n\n var hr = moment.defineLocale('hr', {\n months: {\n format: 'siječnja_veljače_ožujka_travnja_svibnja_lipnja_srpnja_kolovoza_rujna_listopada_studenoga_prosinca'.split(\n '_'\n ),\n standalone:\n 'siječanj_veljača_ožujak_travanj_svibanj_lipanj_srpanj_kolovoz_rujan_listopad_studeni_prosinac'.split(\n '_'\n ),\n },\n monthsShort:\n 'sij._velj._ožu._tra._svi._lip._srp._kol._ruj._lis._stu._pro.'.split(\n '_'\n ),\n monthsParseExact: true,\n weekdays: 'nedjelja_ponedjeljak_utorak_srijeda_četvrtak_petak_subota'.split(\n '_'\n ),\n weekdaysShort: 'ned._pon._uto._sri._čet._pet._sub.'.split('_'),\n weekdaysMin: 'ne_po_ut_sr_če_pe_su'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'H:mm',\n LTS: 'H:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'Do MMMM YYYY',\n LLL: 'Do MMMM YYYY H:mm',\n LLLL: 'dddd, Do MMMM YYYY H:mm',\n },\n calendar: {\n sameDay: '[danas u] LT',\n nextDay: '[sutra u] LT',\n nextWeek: function () {\n switch (this.day()) {\n case 0:\n return '[u] [nedjelju] [u] LT';\n case 3:\n return '[u] [srijedu] [u] LT';\n case 6:\n return '[u] [subotu] [u] LT';\n case 1:\n case 2:\n case 4:\n case 5:\n return '[u] dddd [u] LT';\n }\n },\n lastDay: '[jučer u] LT',\n lastWeek: function () {\n switch (this.day()) {\n case 0:\n return '[prošlu] [nedjelju] [u] LT';\n case 3:\n return '[prošlu] [srijedu] [u] LT';\n case 6:\n return '[prošle] [subote] [u] LT';\n case 1:\n case 2:\n case 4:\n case 5:\n return '[prošli] dddd [u] LT';\n }\n },\n sameElse: 'L',\n },\n relativeTime: {\n future: 'za %s',\n past: 'prije %s',\n s: 'par sekundi',\n ss: translate,\n m: translate,\n mm: translate,\n h: translate,\n hh: translate,\n d: 'dan',\n dd: translate,\n M: 'mjesec',\n MM: translate,\n y: 'godinu',\n yy: translate,\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal: '%d.',\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 7, // The week that contains Jan 7th is the first week of the year.\n },\n });\n\n return hr;\n\n})));\n","//! moment.js locale configuration\n//! locale : Hungarian [hu]\n//! author : Adam Brunner : https://github.com/adambrunner\n//! author : Peter Viszt : https://github.com/passatgt\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var weekEndings =\n 'vasárnap hétfőn kedden szerdán csütörtökön pénteken szombaton'.split(' ');\n function translate(number, withoutSuffix, key, isFuture) {\n var num = number;\n switch (key) {\n case 's':\n return isFuture || withoutSuffix\n ? 'néhány másodperc'\n : 'néhány másodperce';\n case 'ss':\n return num + (isFuture || withoutSuffix)\n ? ' másodperc'\n : ' másodperce';\n case 'm':\n return 'egy' + (isFuture || withoutSuffix ? ' perc' : ' perce');\n case 'mm':\n return num + (isFuture || withoutSuffix ? ' perc' : ' perce');\n case 'h':\n return 'egy' + (isFuture || withoutSuffix ? ' óra' : ' órája');\n case 'hh':\n return num + (isFuture || withoutSuffix ? ' óra' : ' órája');\n case 'd':\n return 'egy' + (isFuture || withoutSuffix ? ' nap' : ' napja');\n case 'dd':\n return num + (isFuture || withoutSuffix ? ' nap' : ' napja');\n case 'M':\n return 'egy' + (isFuture || withoutSuffix ? ' hónap' : ' hónapja');\n case 'MM':\n return num + (isFuture || withoutSuffix ? ' hónap' : ' hónapja');\n case 'y':\n return 'egy' + (isFuture || withoutSuffix ? ' év' : ' éve');\n case 'yy':\n return num + (isFuture || withoutSuffix ? ' év' : ' éve');\n }\n return '';\n }\n function week(isFuture) {\n return (\n (isFuture ? '' : '[múlt] ') +\n '[' +\n weekEndings[this.day()] +\n '] LT[-kor]'\n );\n }\n\n var hu = moment.defineLocale('hu', {\n months: 'január_február_március_április_május_június_július_augusztus_szeptember_október_november_december'.split(\n '_'\n ),\n monthsShort:\n 'jan._feb._márc._ápr._máj._jún._júl._aug._szept._okt._nov._dec.'.split(\n '_'\n ),\n monthsParseExact: true,\n weekdays: 'vasárnap_hétfő_kedd_szerda_csütörtök_péntek_szombat'.split('_'),\n weekdaysShort: 'vas_hét_kedd_sze_csüt_pén_szo'.split('_'),\n weekdaysMin: 'v_h_k_sze_cs_p_szo'.split('_'),\n longDateFormat: {\n LT: 'H:mm',\n LTS: 'H:mm:ss',\n L: 'YYYY.MM.DD.',\n LL: 'YYYY. MMMM D.',\n LLL: 'YYYY. MMMM D. H:mm',\n LLLL: 'YYYY. MMMM D., dddd H:mm',\n },\n meridiemParse: /de|du/i,\n isPM: function (input) {\n return input.charAt(1).toLowerCase() === 'u';\n },\n meridiem: function (hours, minutes, isLower) {\n if (hours < 12) {\n return isLower === true ? 'de' : 'DE';\n } else {\n return isLower === true ? 'du' : 'DU';\n }\n },\n calendar: {\n sameDay: '[ma] LT[-kor]',\n nextDay: '[holnap] LT[-kor]',\n nextWeek: function () {\n return week.call(this, true);\n },\n lastDay: '[tegnap] LT[-kor]',\n lastWeek: function () {\n return week.call(this, false);\n },\n sameElse: 'L',\n },\n relativeTime: {\n future: '%s múlva',\n past: '%s',\n s: translate,\n ss: translate,\n m: translate,\n mm: translate,\n h: translate,\n hh: translate,\n d: translate,\n dd: translate,\n M: translate,\n MM: translate,\n y: translate,\n yy: translate,\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal: '%d.',\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return hu;\n\n})));\n","//! moment.js locale configuration\n//! locale : Armenian [hy-am]\n//! author : Armendarabyan : https://github.com/armendarabyan\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var hyAm = moment.defineLocale('hy-am', {\n months: {\n format: 'հունվարի_փետրվարի_մարտի_ապրիլի_մայիսի_հունիսի_հուլիսի_օգոստոսի_սեպտեմբերի_հոկտեմբերի_նոյեմբերի_դեկտեմբերի'.split(\n '_'\n ),\n standalone:\n 'հունվար_փետրվար_մարտ_ապրիլ_մայիս_հունիս_հուլիս_օգոստոս_սեպտեմբեր_հոկտեմբեր_նոյեմբեր_դեկտեմբեր'.split(\n '_'\n ),\n },\n monthsShort: 'հնվ_փտր_մրտ_ապր_մյս_հնս_հլս_օգս_սպտ_հկտ_նմբ_դկտ'.split('_'),\n weekdays:\n 'կիրակի_երկուշաբթի_երեքշաբթի_չորեքշաբթի_հինգշաբթի_ուրբաթ_շաբաթ'.split(\n '_'\n ),\n weekdaysShort: 'կրկ_երկ_երք_չրք_հնգ_ուրբ_շբթ'.split('_'),\n weekdaysMin: 'կրկ_երկ_երք_չրք_հնգ_ուրբ_շբթ'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'D MMMM YYYY թ.',\n LLL: 'D MMMM YYYY թ., HH:mm',\n LLLL: 'dddd, D MMMM YYYY թ., HH:mm',\n },\n calendar: {\n sameDay: '[այսօր] LT',\n nextDay: '[վաղը] LT',\n lastDay: '[երեկ] LT',\n nextWeek: function () {\n return 'dddd [օրը ժամը] LT';\n },\n lastWeek: function () {\n return '[անցած] dddd [օրը ժամը] LT';\n },\n sameElse: 'L',\n },\n relativeTime: {\n future: '%s հետո',\n past: '%s առաջ',\n s: 'մի քանի վայրկյան',\n ss: '%d վայրկյան',\n m: 'րոպե',\n mm: '%d րոպե',\n h: 'ժամ',\n hh: '%d ժամ',\n d: 'օր',\n dd: '%d օր',\n M: 'ամիս',\n MM: '%d ամիս',\n y: 'տարի',\n yy: '%d տարի',\n },\n meridiemParse: /գիշերվա|առավոտվա|ցերեկվա|երեկոյան/,\n isPM: function (input) {\n return /^(ցերեկվա|երեկոյան)$/.test(input);\n },\n meridiem: function (hour) {\n if (hour < 4) {\n return 'գիշերվա';\n } else if (hour < 12) {\n return 'առավոտվա';\n } else if (hour < 17) {\n return 'ցերեկվա';\n } else {\n return 'երեկոյան';\n }\n },\n dayOfMonthOrdinalParse: /\\d{1,2}|\\d{1,2}-(ին|րդ)/,\n ordinal: function (number, period) {\n switch (period) {\n case 'DDD':\n case 'w':\n case 'W':\n case 'DDDo':\n if (number === 1) {\n return number + '-ին';\n }\n return number + '-րդ';\n default:\n return number;\n }\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 7, // The week that contains Jan 7th is the first week of the year.\n },\n });\n\n return hyAm;\n\n})));\n","//! moment.js locale configuration\n//! locale : Indonesian [id]\n//! author : Mohammad Satrio Utomo : https://github.com/tyok\n//! reference: http://id.wikisource.org/wiki/Pedoman_Umum_Ejaan_Bahasa_Indonesia_yang_Disempurnakan\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var id = moment.defineLocale('id', {\n months: 'Januari_Februari_Maret_April_Mei_Juni_Juli_Agustus_September_Oktober_November_Desember'.split(\n '_'\n ),\n monthsShort: 'Jan_Feb_Mar_Apr_Mei_Jun_Jul_Agt_Sep_Okt_Nov_Des'.split('_'),\n weekdays: 'Minggu_Senin_Selasa_Rabu_Kamis_Jumat_Sabtu'.split('_'),\n weekdaysShort: 'Min_Sen_Sel_Rab_Kam_Jum_Sab'.split('_'),\n weekdaysMin: 'Mg_Sn_Sl_Rb_Km_Jm_Sb'.split('_'),\n longDateFormat: {\n LT: 'HH.mm',\n LTS: 'HH.mm.ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY [pukul] HH.mm',\n LLLL: 'dddd, D MMMM YYYY [pukul] HH.mm',\n },\n meridiemParse: /pagi|siang|sore|malam/,\n meridiemHour: function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (meridiem === 'pagi') {\n return hour;\n } else if (meridiem === 'siang') {\n return hour >= 11 ? hour : hour + 12;\n } else if (meridiem === 'sore' || meridiem === 'malam') {\n return hour + 12;\n }\n },\n meridiem: function (hours, minutes, isLower) {\n if (hours < 11) {\n return 'pagi';\n } else if (hours < 15) {\n return 'siang';\n } else if (hours < 19) {\n return 'sore';\n } else {\n return 'malam';\n }\n },\n calendar: {\n sameDay: '[Hari ini pukul] LT',\n nextDay: '[Besok pukul] LT',\n nextWeek: 'dddd [pukul] LT',\n lastDay: '[Kemarin pukul] LT',\n lastWeek: 'dddd [lalu pukul] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'dalam %s',\n past: '%s yang lalu',\n s: 'beberapa detik',\n ss: '%d detik',\n m: 'semenit',\n mm: '%d menit',\n h: 'sejam',\n hh: '%d jam',\n d: 'sehari',\n dd: '%d hari',\n M: 'sebulan',\n MM: '%d bulan',\n y: 'setahun',\n yy: '%d tahun',\n },\n week: {\n dow: 0, // Sunday is the first day of the week.\n doy: 6, // The week that contains Jan 6th is the first week of the year.\n },\n });\n\n return id;\n\n})));\n","//! moment.js locale configuration\n//! locale : Icelandic [is]\n//! author : Hinrik Örn Sigurðsson : https://github.com/hinrik\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n function plural(n) {\n if (n % 100 === 11) {\n return true;\n } else if (n % 10 === 1) {\n return false;\n }\n return true;\n }\n function translate(number, withoutSuffix, key, isFuture) {\n var result = number + ' ';\n switch (key) {\n case 's':\n return withoutSuffix || isFuture\n ? 'nokkrar sekúndur'\n : 'nokkrum sekúndum';\n case 'ss':\n if (plural(number)) {\n return (\n result +\n (withoutSuffix || isFuture ? 'sekúndur' : 'sekúndum')\n );\n }\n return result + 'sekúnda';\n case 'm':\n return withoutSuffix ? 'mínúta' : 'mínútu';\n case 'mm':\n if (plural(number)) {\n return (\n result + (withoutSuffix || isFuture ? 'mínútur' : 'mínútum')\n );\n } else if (withoutSuffix) {\n return result + 'mínúta';\n }\n return result + 'mínútu';\n case 'hh':\n if (plural(number)) {\n return (\n result +\n (withoutSuffix || isFuture\n ? 'klukkustundir'\n : 'klukkustundum')\n );\n }\n return result + 'klukkustund';\n case 'd':\n if (withoutSuffix) {\n return 'dagur';\n }\n return isFuture ? 'dag' : 'degi';\n case 'dd':\n if (plural(number)) {\n if (withoutSuffix) {\n return result + 'dagar';\n }\n return result + (isFuture ? 'daga' : 'dögum');\n } else if (withoutSuffix) {\n return result + 'dagur';\n }\n return result + (isFuture ? 'dag' : 'degi');\n case 'M':\n if (withoutSuffix) {\n return 'mánuður';\n }\n return isFuture ? 'mánuð' : 'mánuði';\n case 'MM':\n if (plural(number)) {\n if (withoutSuffix) {\n return result + 'mánuðir';\n }\n return result + (isFuture ? 'mánuði' : 'mánuðum');\n } else if (withoutSuffix) {\n return result + 'mánuður';\n }\n return result + (isFuture ? 'mánuð' : 'mánuði');\n case 'y':\n return withoutSuffix || isFuture ? 'ár' : 'ári';\n case 'yy':\n if (plural(number)) {\n return result + (withoutSuffix || isFuture ? 'ár' : 'árum');\n }\n return result + (withoutSuffix || isFuture ? 'ár' : 'ári');\n }\n }\n\n var is = moment.defineLocale('is', {\n months: 'janúar_febrúar_mars_apríl_maí_júní_júlí_ágúst_september_október_nóvember_desember'.split(\n '_'\n ),\n monthsShort: 'jan_feb_mar_apr_maí_jún_júl_ágú_sep_okt_nóv_des'.split('_'),\n weekdays:\n 'sunnudagur_mánudagur_þriðjudagur_miðvikudagur_fimmtudagur_föstudagur_laugardagur'.split(\n '_'\n ),\n weekdaysShort: 'sun_mán_þri_mið_fim_fös_lau'.split('_'),\n weekdaysMin: 'Su_Má_Þr_Mi_Fi_Fö_La'.split('_'),\n longDateFormat: {\n LT: 'H:mm',\n LTS: 'H:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'D. MMMM YYYY',\n LLL: 'D. MMMM YYYY [kl.] H:mm',\n LLLL: 'dddd, D. MMMM YYYY [kl.] H:mm',\n },\n calendar: {\n sameDay: '[í dag kl.] LT',\n nextDay: '[á morgun kl.] LT',\n nextWeek: 'dddd [kl.] LT',\n lastDay: '[í gær kl.] LT',\n lastWeek: '[síðasta] dddd [kl.] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'eftir %s',\n past: 'fyrir %s síðan',\n s: translate,\n ss: translate,\n m: translate,\n mm: translate,\n h: 'klukkustund',\n hh: translate,\n d: translate,\n dd: translate,\n M: translate,\n MM: translate,\n y: translate,\n yy: translate,\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal: '%d.',\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return is;\n\n})));\n","//! moment.js locale configuration\n//! locale : Italian (Switzerland) [it-ch]\n//! author : xfh : https://github.com/xfh\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var itCh = moment.defineLocale('it-ch', {\n months: 'gennaio_febbraio_marzo_aprile_maggio_giugno_luglio_agosto_settembre_ottobre_novembre_dicembre'.split(\n '_'\n ),\n monthsShort: 'gen_feb_mar_apr_mag_giu_lug_ago_set_ott_nov_dic'.split('_'),\n weekdays: 'domenica_lunedì_martedì_mercoledì_giovedì_venerdì_sabato'.split(\n '_'\n ),\n weekdaysShort: 'dom_lun_mar_mer_gio_ven_sab'.split('_'),\n weekdaysMin: 'do_lu_ma_me_gi_ve_sa'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd D MMMM YYYY HH:mm',\n },\n calendar: {\n sameDay: '[Oggi alle] LT',\n nextDay: '[Domani alle] LT',\n nextWeek: 'dddd [alle] LT',\n lastDay: '[Ieri alle] LT',\n lastWeek: function () {\n switch (this.day()) {\n case 0:\n return '[la scorsa] dddd [alle] LT';\n default:\n return '[lo scorso] dddd [alle] LT';\n }\n },\n sameElse: 'L',\n },\n relativeTime: {\n future: function (s) {\n return (/^[0-9].+$/.test(s) ? 'tra' : 'in') + ' ' + s;\n },\n past: '%s fa',\n s: 'alcuni secondi',\n ss: '%d secondi',\n m: 'un minuto',\n mm: '%d minuti',\n h: \"un'ora\",\n hh: '%d ore',\n d: 'un giorno',\n dd: '%d giorni',\n M: 'un mese',\n MM: '%d mesi',\n y: 'un anno',\n yy: '%d anni',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}º/,\n ordinal: '%dº',\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return itCh;\n\n})));\n","//! moment.js locale configuration\n//! locale : Italian [it]\n//! author : Lorenzo : https://github.com/aliem\n//! author: Mattia Larentis: https://github.com/nostalgiaz\n//! author: Marco : https://github.com/Manfre98\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var it = moment.defineLocale('it', {\n months: 'gennaio_febbraio_marzo_aprile_maggio_giugno_luglio_agosto_settembre_ottobre_novembre_dicembre'.split(\n '_'\n ),\n monthsShort: 'gen_feb_mar_apr_mag_giu_lug_ago_set_ott_nov_dic'.split('_'),\n weekdays: 'domenica_lunedì_martedì_mercoledì_giovedì_venerdì_sabato'.split(\n '_'\n ),\n weekdaysShort: 'dom_lun_mar_mer_gio_ven_sab'.split('_'),\n weekdaysMin: 'do_lu_ma_me_gi_ve_sa'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd D MMMM YYYY HH:mm',\n },\n calendar: {\n sameDay: function () {\n return (\n '[Oggi a' +\n (this.hours() > 1 ? 'lle ' : this.hours() === 0 ? ' ' : \"ll'\") +\n ']LT'\n );\n },\n nextDay: function () {\n return (\n '[Domani a' +\n (this.hours() > 1 ? 'lle ' : this.hours() === 0 ? ' ' : \"ll'\") +\n ']LT'\n );\n },\n nextWeek: function () {\n return (\n 'dddd [a' +\n (this.hours() > 1 ? 'lle ' : this.hours() === 0 ? ' ' : \"ll'\") +\n ']LT'\n );\n },\n lastDay: function () {\n return (\n '[Ieri a' +\n (this.hours() > 1 ? 'lle ' : this.hours() === 0 ? ' ' : \"ll'\") +\n ']LT'\n );\n },\n lastWeek: function () {\n switch (this.day()) {\n case 0:\n return (\n '[La scorsa] dddd [a' +\n (this.hours() > 1\n ? 'lle '\n : this.hours() === 0\n ? ' '\n : \"ll'\") +\n ']LT'\n );\n default:\n return (\n '[Lo scorso] dddd [a' +\n (this.hours() > 1\n ? 'lle '\n : this.hours() === 0\n ? ' '\n : \"ll'\") +\n ']LT'\n );\n }\n },\n sameElse: 'L',\n },\n relativeTime: {\n future: 'tra %s',\n past: '%s fa',\n s: 'alcuni secondi',\n ss: '%d secondi',\n m: 'un minuto',\n mm: '%d minuti',\n h: \"un'ora\",\n hh: '%d ore',\n d: 'un giorno',\n dd: '%d giorni',\n w: 'una settimana',\n ww: '%d settimane',\n M: 'un mese',\n MM: '%d mesi',\n y: 'un anno',\n yy: '%d anni',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}º/,\n ordinal: '%dº',\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return it;\n\n})));\n","//! moment.js locale configuration\n//! locale : Japanese [ja]\n//! author : LI Long : https://github.com/baryon\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var ja = moment.defineLocale('ja', {\n eras: [\n {\n since: '2019-05-01',\n offset: 1,\n name: '令和',\n narrow: '㋿',\n abbr: 'R',\n },\n {\n since: '1989-01-08',\n until: '2019-04-30',\n offset: 1,\n name: '平成',\n narrow: '㍻',\n abbr: 'H',\n },\n {\n since: '1926-12-25',\n until: '1989-01-07',\n offset: 1,\n name: '昭和',\n narrow: '㍼',\n abbr: 'S',\n },\n {\n since: '1912-07-30',\n until: '1926-12-24',\n offset: 1,\n name: '大正',\n narrow: '㍽',\n abbr: 'T',\n },\n {\n since: '1873-01-01',\n until: '1912-07-29',\n offset: 6,\n name: '明治',\n narrow: '㍾',\n abbr: 'M',\n },\n {\n since: '0001-01-01',\n until: '1873-12-31',\n offset: 1,\n name: '西暦',\n narrow: 'AD',\n abbr: 'AD',\n },\n {\n since: '0000-12-31',\n until: -Infinity,\n offset: 1,\n name: '紀元前',\n narrow: 'BC',\n abbr: 'BC',\n },\n ],\n eraYearOrdinalRegex: /(元|\\d+)年/,\n eraYearOrdinalParse: function (input, match) {\n return match[1] === '元' ? 1 : parseInt(match[1] || input, 10);\n },\n months: '1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月'.split('_'),\n monthsShort: '1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月'.split(\n '_'\n ),\n weekdays: '日曜日_月曜日_火曜日_水曜日_木曜日_金曜日_土曜日'.split('_'),\n weekdaysShort: '日_月_火_水_木_金_土'.split('_'),\n weekdaysMin: '日_月_火_水_木_金_土'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'YYYY/MM/DD',\n LL: 'YYYY年M月D日',\n LLL: 'YYYY年M月D日 HH:mm',\n LLLL: 'YYYY年M月D日 dddd HH:mm',\n l: 'YYYY/MM/DD',\n ll: 'YYYY年M月D日',\n lll: 'YYYY年M月D日 HH:mm',\n llll: 'YYYY年M月D日(ddd) HH:mm',\n },\n meridiemParse: /午前|午後/i,\n isPM: function (input) {\n return input === '午後';\n },\n meridiem: function (hour, minute, isLower) {\n if (hour < 12) {\n return '午前';\n } else {\n return '午後';\n }\n },\n calendar: {\n sameDay: '[今日] LT',\n nextDay: '[明日] LT',\n nextWeek: function (now) {\n if (now.week() !== this.week()) {\n return '[来週]dddd LT';\n } else {\n return 'dddd LT';\n }\n },\n lastDay: '[昨日] LT',\n lastWeek: function (now) {\n if (this.week() !== now.week()) {\n return '[先週]dddd LT';\n } else {\n return 'dddd LT';\n }\n },\n sameElse: 'L',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}日/,\n ordinal: function (number, period) {\n switch (period) {\n case 'y':\n return number === 1 ? '元年' : number + '年';\n case 'd':\n case 'D':\n case 'DDD':\n return number + '日';\n default:\n return number;\n }\n },\n relativeTime: {\n future: '%s後',\n past: '%s前',\n s: '数秒',\n ss: '%d秒',\n m: '1分',\n mm: '%d分',\n h: '1時間',\n hh: '%d時間',\n d: '1日',\n dd: '%d日',\n M: '1ヶ月',\n MM: '%dヶ月',\n y: '1年',\n yy: '%d年',\n },\n });\n\n return ja;\n\n})));\n","//! moment.js locale configuration\n//! locale : Javanese [jv]\n//! author : Rony Lantip : https://github.com/lantip\n//! reference: http://jv.wikipedia.org/wiki/Basa_Jawa\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var jv = moment.defineLocale('jv', {\n months: 'Januari_Februari_Maret_April_Mei_Juni_Juli_Agustus_September_Oktober_Nopember_Desember'.split(\n '_'\n ),\n monthsShort: 'Jan_Feb_Mar_Apr_Mei_Jun_Jul_Ags_Sep_Okt_Nop_Des'.split('_'),\n weekdays: 'Minggu_Senen_Seloso_Rebu_Kemis_Jemuwah_Septu'.split('_'),\n weekdaysShort: 'Min_Sen_Sel_Reb_Kem_Jem_Sep'.split('_'),\n weekdaysMin: 'Mg_Sn_Sl_Rb_Km_Jm_Sp'.split('_'),\n longDateFormat: {\n LT: 'HH.mm',\n LTS: 'HH.mm.ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY [pukul] HH.mm',\n LLLL: 'dddd, D MMMM YYYY [pukul] HH.mm',\n },\n meridiemParse: /enjing|siyang|sonten|ndalu/,\n meridiemHour: function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (meridiem === 'enjing') {\n return hour;\n } else if (meridiem === 'siyang') {\n return hour >= 11 ? hour : hour + 12;\n } else if (meridiem === 'sonten' || meridiem === 'ndalu') {\n return hour + 12;\n }\n },\n meridiem: function (hours, minutes, isLower) {\n if (hours < 11) {\n return 'enjing';\n } else if (hours < 15) {\n return 'siyang';\n } else if (hours < 19) {\n return 'sonten';\n } else {\n return 'ndalu';\n }\n },\n calendar: {\n sameDay: '[Dinten puniko pukul] LT',\n nextDay: '[Mbenjang pukul] LT',\n nextWeek: 'dddd [pukul] LT',\n lastDay: '[Kala wingi pukul] LT',\n lastWeek: 'dddd [kepengker pukul] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'wonten ing %s',\n past: '%s ingkang kepengker',\n s: 'sawetawis detik',\n ss: '%d detik',\n m: 'setunggal menit',\n mm: '%d menit',\n h: 'setunggal jam',\n hh: '%d jam',\n d: 'sedinten',\n dd: '%d dinten',\n M: 'sewulan',\n MM: '%d wulan',\n y: 'setaun',\n yy: '%d taun',\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 7, // The week that contains Jan 7th is the first week of the year.\n },\n });\n\n return jv;\n\n})));\n","//! moment.js locale configuration\n//! locale : Georgian [ka]\n//! author : Irakli Janiashvili : https://github.com/IrakliJani\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var ka = moment.defineLocale('ka', {\n months: 'იანვარი_თებერვალი_მარტი_აპრილი_მაისი_ივნისი_ივლისი_აგვისტო_სექტემბერი_ოქტომბერი_ნოემბერი_დეკემბერი'.split(\n '_'\n ),\n monthsShort: 'იან_თებ_მარ_აპრ_მაი_ივნ_ივლ_აგვ_სექ_ოქტ_ნოე_დეკ'.split('_'),\n weekdays: {\n standalone:\n 'კვირა_ორშაბათი_სამშაბათი_ოთხშაბათი_ხუთშაბათი_პარასკევი_შაბათი'.split(\n '_'\n ),\n format: 'კვირას_ორშაბათს_სამშაბათს_ოთხშაბათს_ხუთშაბათს_პარასკევს_შაბათს'.split(\n '_'\n ),\n isFormat: /(წინა|შემდეგ)/,\n },\n weekdaysShort: 'კვი_ორშ_სამ_ოთხ_ხუთ_პარ_შაბ'.split('_'),\n weekdaysMin: 'კვ_ორ_სა_ოთ_ხუ_პა_შა'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd, D MMMM YYYY HH:mm',\n },\n calendar: {\n sameDay: '[დღეს] LT[-ზე]',\n nextDay: '[ხვალ] LT[-ზე]',\n lastDay: '[გუშინ] LT[-ზე]',\n nextWeek: '[შემდეგ] dddd LT[-ზე]',\n lastWeek: '[წინა] dddd LT-ზე',\n sameElse: 'L',\n },\n relativeTime: {\n future: function (s) {\n return s.replace(\n /(წამ|წუთ|საათ|წელ|დღ|თვ)(ი|ე)/,\n function ($0, $1, $2) {\n return $2 === 'ი' ? $1 + 'ში' : $1 + $2 + 'ში';\n }\n );\n },\n past: function (s) {\n if (/(წამი|წუთი|საათი|დღე|თვე)/.test(s)) {\n return s.replace(/(ი|ე)$/, 'ის წინ');\n }\n if (/წელი/.test(s)) {\n return s.replace(/წელი$/, 'წლის წინ');\n }\n return s;\n },\n s: 'რამდენიმე წამი',\n ss: '%d წამი',\n m: 'წუთი',\n mm: '%d წუთი',\n h: 'საათი',\n hh: '%d საათი',\n d: 'დღე',\n dd: '%d დღე',\n M: 'თვე',\n MM: '%d თვე',\n y: 'წელი',\n yy: '%d წელი',\n },\n dayOfMonthOrdinalParse: /0|1-ლი|მე-\\d{1,2}|\\d{1,2}-ე/,\n ordinal: function (number) {\n if (number === 0) {\n return number;\n }\n if (number === 1) {\n return number + '-ლი';\n }\n if (\n number < 20 ||\n (number <= 100 && number % 20 === 0) ||\n number % 100 === 0\n ) {\n return 'მე-' + number;\n }\n return number + '-ე';\n },\n week: {\n dow: 1,\n doy: 7,\n },\n });\n\n return ka;\n\n})));\n","//! moment.js locale configuration\n//! locale : Kazakh [kk]\n//! authors : Nurlan Rakhimzhanov : https://github.com/nurlan\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var suffixes = {\n 0: '-ші',\n 1: '-ші',\n 2: '-ші',\n 3: '-ші',\n 4: '-ші',\n 5: '-ші',\n 6: '-шы',\n 7: '-ші',\n 8: '-ші',\n 9: '-шы',\n 10: '-шы',\n 20: '-шы',\n 30: '-шы',\n 40: '-шы',\n 50: '-ші',\n 60: '-шы',\n 70: '-ші',\n 80: '-ші',\n 90: '-шы',\n 100: '-ші',\n };\n\n var kk = moment.defineLocale('kk', {\n months: 'қаңтар_ақпан_наурыз_сәуір_мамыр_маусым_шілде_тамыз_қыркүйек_қазан_қараша_желтоқсан'.split(\n '_'\n ),\n monthsShort: 'қаң_ақп_нау_сәу_мам_мау_шіл_там_қыр_қаз_қар_жел'.split('_'),\n weekdays: 'жексенбі_дүйсенбі_сейсенбі_сәрсенбі_бейсенбі_жұма_сенбі'.split(\n '_'\n ),\n weekdaysShort: 'жек_дүй_сей_сәр_бей_жұм_сен'.split('_'),\n weekdaysMin: 'жк_дй_сй_ср_бй_жм_сн'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd, D MMMM YYYY HH:mm',\n },\n calendar: {\n sameDay: '[Бүгін сағат] LT',\n nextDay: '[Ертең сағат] LT',\n nextWeek: 'dddd [сағат] LT',\n lastDay: '[Кеше сағат] LT',\n lastWeek: '[Өткен аптаның] dddd [сағат] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: '%s ішінде',\n past: '%s бұрын',\n s: 'бірнеше секунд',\n ss: '%d секунд',\n m: 'бір минут',\n mm: '%d минут',\n h: 'бір сағат',\n hh: '%d сағат',\n d: 'бір күн',\n dd: '%d күн',\n M: 'бір ай',\n MM: '%d ай',\n y: 'бір жыл',\n yy: '%d жыл',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}-(ші|шы)/,\n ordinal: function (number) {\n var a = number % 10,\n b = number >= 100 ? 100 : null;\n return number + (suffixes[number] || suffixes[a] || suffixes[b]);\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 7, // The week that contains Jan 7th is the first week of the year.\n },\n });\n\n return kk;\n\n})));\n","//! moment.js locale configuration\n//! locale : Cambodian [km]\n//! author : Kruy Vanna : https://github.com/kruyvanna\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var symbolMap = {\n 1: '១',\n 2: '២',\n 3: '៣',\n 4: '៤',\n 5: '៥',\n 6: '៦',\n 7: '៧',\n 8: '៨',\n 9: '៩',\n 0: '០',\n },\n numberMap = {\n '១': '1',\n '២': '2',\n '៣': '3',\n '៤': '4',\n '៥': '5',\n '៦': '6',\n '៧': '7',\n '៨': '8',\n '៩': '9',\n '០': '0',\n };\n\n var km = moment.defineLocale('km', {\n months: 'មករា_កុម្ភៈ_មីនា_មេសា_ឧសភា_មិថុនា_កក្កដា_សីហា_កញ្ញា_តុលា_វិច្ឆិកា_ធ្នូ'.split(\n '_'\n ),\n monthsShort:\n 'មករា_កុម្ភៈ_មីនា_មេសា_ឧសភា_មិថុនា_កក្កដា_សីហា_កញ្ញា_តុលា_វិច្ឆិកា_ធ្នូ'.split(\n '_'\n ),\n weekdays: 'អាទិត្យ_ច័ន្ទ_អង្គារ_ពុធ_ព្រហស្បតិ៍_សុក្រ_សៅរ៍'.split('_'),\n weekdaysShort: 'អា_ច_អ_ព_ព្រ_សុ_ស'.split('_'),\n weekdaysMin: 'អា_ច_អ_ព_ព្រ_សុ_ស'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd, D MMMM YYYY HH:mm',\n },\n meridiemParse: /ព្រឹក|ល្ងាច/,\n isPM: function (input) {\n return input === 'ល្ងាច';\n },\n meridiem: function (hour, minute, isLower) {\n if (hour < 12) {\n return 'ព្រឹក';\n } else {\n return 'ល្ងាច';\n }\n },\n calendar: {\n sameDay: '[ថ្ងៃនេះ ម៉ោង] LT',\n nextDay: '[ស្អែក ម៉ោង] LT',\n nextWeek: 'dddd [ម៉ោង] LT',\n lastDay: '[ម្សិលមិញ ម៉ោង] LT',\n lastWeek: 'dddd [សប្តាហ៍មុន] [ម៉ោង] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: '%sទៀត',\n past: '%sមុន',\n s: 'ប៉ុន្មានវិនាទី',\n ss: '%d វិនាទី',\n m: 'មួយនាទី',\n mm: '%d នាទី',\n h: 'មួយម៉ោង',\n hh: '%d ម៉ោង',\n d: 'មួយថ្ងៃ',\n dd: '%d ថ្ងៃ',\n M: 'មួយខែ',\n MM: '%d ខែ',\n y: 'មួយឆ្នាំ',\n yy: '%d ឆ្នាំ',\n },\n dayOfMonthOrdinalParse: /ទី\\d{1,2}/,\n ordinal: 'ទី%d',\n preparse: function (string) {\n return string.replace(/[១២៣៤៥៦៧៨៩០]/g, function (match) {\n return numberMap[match];\n });\n },\n postformat: function (string) {\n return string.replace(/\\d/g, function (match) {\n return symbolMap[match];\n });\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return km;\n\n})));\n","//! moment.js locale configuration\n//! locale : Kannada [kn]\n//! author : Rajeev Naik : https://github.com/rajeevnaikte\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var symbolMap = {\n 1: '೧',\n 2: '೨',\n 3: '೩',\n 4: '೪',\n 5: '೫',\n 6: '೬',\n 7: '೭',\n 8: '೮',\n 9: '೯',\n 0: '೦',\n },\n numberMap = {\n '೧': '1',\n '೨': '2',\n '೩': '3',\n '೪': '4',\n '೫': '5',\n '೬': '6',\n '೭': '7',\n '೮': '8',\n '೯': '9',\n '೦': '0',\n };\n\n var kn = moment.defineLocale('kn', {\n months: 'ಜನವರಿ_ಫೆಬ್ರವರಿ_ಮಾರ್ಚ್_ಏಪ್ರಿಲ್_ಮೇ_ಜೂನ್_ಜುಲೈ_ಆಗಸ್ಟ್_ಸೆಪ್ಟೆಂಬರ್_ಅಕ್ಟೋಬರ್_ನವೆಂಬರ್_ಡಿಸೆಂಬರ್'.split(\n '_'\n ),\n monthsShort:\n 'ಜನ_ಫೆಬ್ರ_ಮಾರ್ಚ್_ಏಪ್ರಿಲ್_ಮೇ_ಜೂನ್_ಜುಲೈ_ಆಗಸ್ಟ್_ಸೆಪ್ಟೆಂ_ಅಕ್ಟೋ_ನವೆಂ_ಡಿಸೆಂ'.split(\n '_'\n ),\n monthsParseExact: true,\n weekdays: 'ಭಾನುವಾರ_ಸೋಮವಾರ_ಮಂಗಳವಾರ_ಬುಧವಾರ_ಗುರುವಾರ_ಶುಕ್ರವಾರ_ಶನಿವಾರ'.split(\n '_'\n ),\n weekdaysShort: 'ಭಾನು_ಸೋಮ_ಮಂಗಳ_ಬುಧ_ಗುರು_ಶುಕ್ರ_ಶನಿ'.split('_'),\n weekdaysMin: 'ಭಾ_ಸೋ_ಮಂ_ಬು_ಗು_ಶು_ಶ'.split('_'),\n longDateFormat: {\n LT: 'A h:mm',\n LTS: 'A h:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY, A h:mm',\n LLLL: 'dddd, D MMMM YYYY, A h:mm',\n },\n calendar: {\n sameDay: '[ಇಂದು] LT',\n nextDay: '[ನಾಳೆ] LT',\n nextWeek: 'dddd, LT',\n lastDay: '[ನಿನ್ನೆ] LT',\n lastWeek: '[ಕೊನೆಯ] dddd, LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: '%s ನಂತರ',\n past: '%s ಹಿಂದೆ',\n s: 'ಕೆಲವು ಕ್ಷಣಗಳು',\n ss: '%d ಸೆಕೆಂಡುಗಳು',\n m: 'ಒಂದು ನಿಮಿಷ',\n mm: '%d ನಿಮಿಷ',\n h: 'ಒಂದು ಗಂಟೆ',\n hh: '%d ಗಂಟೆ',\n d: 'ಒಂದು ದಿನ',\n dd: '%d ದಿನ',\n M: 'ಒಂದು ತಿಂಗಳು',\n MM: '%d ತಿಂಗಳು',\n y: 'ಒಂದು ವರ್ಷ',\n yy: '%d ವರ್ಷ',\n },\n preparse: function (string) {\n return string.replace(/[೧೨೩೪೫೬೭೮೯೦]/g, function (match) {\n return numberMap[match];\n });\n },\n postformat: function (string) {\n return string.replace(/\\d/g, function (match) {\n return symbolMap[match];\n });\n },\n meridiemParse: /ರಾತ್ರಿ|ಬೆಳಿಗ್ಗೆ|ಮಧ್ಯಾಹ್ನ|ಸಂಜೆ/,\n meridiemHour: function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (meridiem === 'ರಾತ್ರಿ') {\n return hour < 4 ? hour : hour + 12;\n } else if (meridiem === 'ಬೆಳಿಗ್ಗೆ') {\n return hour;\n } else if (meridiem === 'ಮಧ್ಯಾಹ್ನ') {\n return hour >= 10 ? hour : hour + 12;\n } else if (meridiem === 'ಸಂಜೆ') {\n return hour + 12;\n }\n },\n meridiem: function (hour, minute, isLower) {\n if (hour < 4) {\n return 'ರಾತ್ರಿ';\n } else if (hour < 10) {\n return 'ಬೆಳಿಗ್ಗೆ';\n } else if (hour < 17) {\n return 'ಮಧ್ಯಾಹ್ನ';\n } else if (hour < 20) {\n return 'ಸಂಜೆ';\n } else {\n return 'ರಾತ್ರಿ';\n }\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(ನೇ)/,\n ordinal: function (number) {\n return number + 'ನೇ';\n },\n week: {\n dow: 0, // Sunday is the first day of the week.\n doy: 6, // The week that contains Jan 6th is the first week of the year.\n },\n });\n\n return kn;\n\n})));\n","//! moment.js locale configuration\n//! locale : Korean [ko]\n//! author : Kyungwook, Park : https://github.com/kyungw00k\n//! author : Jeeeyul Lee \n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var ko = moment.defineLocale('ko', {\n months: '1월_2월_3월_4월_5월_6월_7월_8월_9월_10월_11월_12월'.split('_'),\n monthsShort: '1월_2월_3월_4월_5월_6월_7월_8월_9월_10월_11월_12월'.split(\n '_'\n ),\n weekdays: '일요일_월요일_화요일_수요일_목요일_금요일_토요일'.split('_'),\n weekdaysShort: '일_월_화_수_목_금_토'.split('_'),\n weekdaysMin: '일_월_화_수_목_금_토'.split('_'),\n longDateFormat: {\n LT: 'A h:mm',\n LTS: 'A h:mm:ss',\n L: 'YYYY.MM.DD.',\n LL: 'YYYY년 MMMM D일',\n LLL: 'YYYY년 MMMM D일 A h:mm',\n LLLL: 'YYYY년 MMMM D일 dddd A h:mm',\n l: 'YYYY.MM.DD.',\n ll: 'YYYY년 MMMM D일',\n lll: 'YYYY년 MMMM D일 A h:mm',\n llll: 'YYYY년 MMMM D일 dddd A h:mm',\n },\n calendar: {\n sameDay: '오늘 LT',\n nextDay: '내일 LT',\n nextWeek: 'dddd LT',\n lastDay: '어제 LT',\n lastWeek: '지난주 dddd LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: '%s 후',\n past: '%s 전',\n s: '몇 초',\n ss: '%d초',\n m: '1분',\n mm: '%d분',\n h: '한 시간',\n hh: '%d시간',\n d: '하루',\n dd: '%d일',\n M: '한 달',\n MM: '%d달',\n y: '일 년',\n yy: '%d년',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(일|월|주)/,\n ordinal: function (number, period) {\n switch (period) {\n case 'd':\n case 'D':\n case 'DDD':\n return number + '일';\n case 'M':\n return number + '월';\n case 'w':\n case 'W':\n return number + '주';\n default:\n return number;\n }\n },\n meridiemParse: /오전|오후/,\n isPM: function (token) {\n return token === '오후';\n },\n meridiem: function (hour, minute, isUpper) {\n return hour < 12 ? '오전' : '오후';\n },\n });\n\n return ko;\n\n})));\n","//! moment.js locale configuration\n//! locale : Kurdish [ku]\n//! author : Shahram Mebashar : https://github.com/ShahramMebashar\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var symbolMap = {\n 1: '١',\n 2: '٢',\n 3: '٣',\n 4: '٤',\n 5: '٥',\n 6: '٦',\n 7: '٧',\n 8: '٨',\n 9: '٩',\n 0: '٠',\n },\n numberMap = {\n '١': '1',\n '٢': '2',\n '٣': '3',\n '٤': '4',\n '٥': '5',\n '٦': '6',\n '٧': '7',\n '٨': '8',\n '٩': '9',\n '٠': '0',\n },\n months = [\n 'کانونی دووەم',\n 'شوبات',\n 'ئازار',\n 'نیسان',\n 'ئایار',\n 'حوزەیران',\n 'تەمموز',\n 'ئاب',\n 'ئەیلوول',\n 'تشرینی یەكەم',\n 'تشرینی دووەم',\n 'كانونی یەکەم',\n ];\n\n var ku = moment.defineLocale('ku', {\n months: months,\n monthsShort: months,\n weekdays:\n 'یه‌كشه‌ممه‌_دووشه‌ممه‌_سێشه‌ممه‌_چوارشه‌ممه‌_پێنجشه‌ممه‌_هه‌ینی_شه‌ممه‌'.split(\n '_'\n ),\n weekdaysShort:\n 'یه‌كشه‌م_دووشه‌م_سێشه‌م_چوارشه‌م_پێنجشه‌م_هه‌ینی_شه‌ممه‌'.split('_'),\n weekdaysMin: 'ی_د_س_چ_پ_ه_ش'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd, D MMMM YYYY HH:mm',\n },\n meridiemParse: /ئێواره‌|به‌یانی/,\n isPM: function (input) {\n return /ئێواره‌/.test(input);\n },\n meridiem: function (hour, minute, isLower) {\n if (hour < 12) {\n return 'به‌یانی';\n } else {\n return 'ئێواره‌';\n }\n },\n calendar: {\n sameDay: '[ئه‌مرۆ كاتژمێر] LT',\n nextDay: '[به‌یانی كاتژمێر] LT',\n nextWeek: 'dddd [كاتژمێر] LT',\n lastDay: '[دوێنێ كاتژمێر] LT',\n lastWeek: 'dddd [كاتژمێر] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'له‌ %s',\n past: '%s',\n s: 'چه‌ند چركه‌یه‌ك',\n ss: 'چركه‌ %d',\n m: 'یه‌ك خوله‌ك',\n mm: '%d خوله‌ك',\n h: 'یه‌ك كاتژمێر',\n hh: '%d كاتژمێر',\n d: 'یه‌ك ڕۆژ',\n dd: '%d ڕۆژ',\n M: 'یه‌ك مانگ',\n MM: '%d مانگ',\n y: 'یه‌ك ساڵ',\n yy: '%d ساڵ',\n },\n preparse: function (string) {\n return string\n .replace(/[١٢٣٤٥٦٧٨٩٠]/g, function (match) {\n return numberMap[match];\n })\n .replace(/،/g, ',');\n },\n postformat: function (string) {\n return string\n .replace(/\\d/g, function (match) {\n return symbolMap[match];\n })\n .replace(/,/g, '،');\n },\n week: {\n dow: 6, // Saturday is the first day of the week.\n doy: 12, // The week that contains Jan 12th is the first week of the year.\n },\n });\n\n return ku;\n\n})));\n","//! moment.js locale configuration\n//! locale : Kyrgyz [ky]\n//! author : Chyngyz Arystan uulu : https://github.com/chyngyz\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var suffixes = {\n 0: '-чү',\n 1: '-чи',\n 2: '-чи',\n 3: '-чү',\n 4: '-чү',\n 5: '-чи',\n 6: '-чы',\n 7: '-чи',\n 8: '-чи',\n 9: '-чу',\n 10: '-чу',\n 20: '-чы',\n 30: '-чу',\n 40: '-чы',\n 50: '-чү',\n 60: '-чы',\n 70: '-чи',\n 80: '-чи',\n 90: '-чу',\n 100: '-чү',\n };\n\n var ky = moment.defineLocale('ky', {\n months: 'январь_февраль_март_апрель_май_июнь_июль_август_сентябрь_октябрь_ноябрь_декабрь'.split(\n '_'\n ),\n monthsShort: 'янв_фев_март_апр_май_июнь_июль_авг_сен_окт_ноя_дек'.split(\n '_'\n ),\n weekdays: 'Жекшемби_Дүйшөмбү_Шейшемби_Шаршемби_Бейшемби_Жума_Ишемби'.split(\n '_'\n ),\n weekdaysShort: 'Жек_Дүй_Шей_Шар_Бей_Жум_Ише'.split('_'),\n weekdaysMin: 'Жк_Дй_Шй_Шр_Бй_Жм_Иш'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd, D MMMM YYYY HH:mm',\n },\n calendar: {\n sameDay: '[Бүгүн саат] LT',\n nextDay: '[Эртең саат] LT',\n nextWeek: 'dddd [саат] LT',\n lastDay: '[Кечээ саат] LT',\n lastWeek: '[Өткөн аптанын] dddd [күнү] [саат] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: '%s ичинде',\n past: '%s мурун',\n s: 'бирнече секунд',\n ss: '%d секунд',\n m: 'бир мүнөт',\n mm: '%d мүнөт',\n h: 'бир саат',\n hh: '%d саат',\n d: 'бир күн',\n dd: '%d күн',\n M: 'бир ай',\n MM: '%d ай',\n y: 'бир жыл',\n yy: '%d жыл',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}-(чи|чы|чү|чу)/,\n ordinal: function (number) {\n var a = number % 10,\n b = number >= 100 ? 100 : null;\n return number + (suffixes[number] || suffixes[a] || suffixes[b]);\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 7, // The week that contains Jan 7th is the first week of the year.\n },\n });\n\n return ky;\n\n})));\n","//! moment.js locale configuration\n//! locale : Luxembourgish [lb]\n//! author : mweimerskirch : https://github.com/mweimerskirch\n//! author : David Raison : https://github.com/kwisatz\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n function processRelativeTime(number, withoutSuffix, key, isFuture) {\n var format = {\n m: ['eng Minutt', 'enger Minutt'],\n h: ['eng Stonn', 'enger Stonn'],\n d: ['een Dag', 'engem Dag'],\n M: ['ee Mount', 'engem Mount'],\n y: ['ee Joer', 'engem Joer'],\n };\n return withoutSuffix ? format[key][0] : format[key][1];\n }\n function processFutureTime(string) {\n var number = string.substr(0, string.indexOf(' '));\n if (eifelerRegelAppliesToNumber(number)) {\n return 'a ' + string;\n }\n return 'an ' + string;\n }\n function processPastTime(string) {\n var number = string.substr(0, string.indexOf(' '));\n if (eifelerRegelAppliesToNumber(number)) {\n return 'viru ' + string;\n }\n return 'virun ' + string;\n }\n /**\n * Returns true if the word before the given number loses the '-n' ending.\n * e.g. 'an 10 Deeg' but 'a 5 Deeg'\n *\n * @param number {integer}\n * @returns {boolean}\n */\n function eifelerRegelAppliesToNumber(number) {\n number = parseInt(number, 10);\n if (isNaN(number)) {\n return false;\n }\n if (number < 0) {\n // Negative Number --> always true\n return true;\n } else if (number < 10) {\n // Only 1 digit\n if (4 <= number && number <= 7) {\n return true;\n }\n return false;\n } else if (number < 100) {\n // 2 digits\n var lastDigit = number % 10,\n firstDigit = number / 10;\n if (lastDigit === 0) {\n return eifelerRegelAppliesToNumber(firstDigit);\n }\n return eifelerRegelAppliesToNumber(lastDigit);\n } else if (number < 10000) {\n // 3 or 4 digits --> recursively check first digit\n while (number >= 10) {\n number = number / 10;\n }\n return eifelerRegelAppliesToNumber(number);\n } else {\n // Anything larger than 4 digits: recursively check first n-3 digits\n number = number / 1000;\n return eifelerRegelAppliesToNumber(number);\n }\n }\n\n var lb = moment.defineLocale('lb', {\n months: 'Januar_Februar_Mäerz_Abrëll_Mee_Juni_Juli_August_September_Oktober_November_Dezember'.split(\n '_'\n ),\n monthsShort:\n 'Jan._Febr._Mrz._Abr._Mee_Jun._Jul._Aug._Sept._Okt._Nov._Dez.'.split(\n '_'\n ),\n monthsParseExact: true,\n weekdays:\n 'Sonndeg_Méindeg_Dënschdeg_Mëttwoch_Donneschdeg_Freideg_Samschdeg'.split(\n '_'\n ),\n weekdaysShort: 'So._Mé._Dë._Më._Do._Fr._Sa.'.split('_'),\n weekdaysMin: 'So_Mé_Dë_Më_Do_Fr_Sa'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'H:mm [Auer]',\n LTS: 'H:mm:ss [Auer]',\n L: 'DD.MM.YYYY',\n LL: 'D. MMMM YYYY',\n LLL: 'D. MMMM YYYY H:mm [Auer]',\n LLLL: 'dddd, D. MMMM YYYY H:mm [Auer]',\n },\n calendar: {\n sameDay: '[Haut um] LT',\n sameElse: 'L',\n nextDay: '[Muer um] LT',\n nextWeek: 'dddd [um] LT',\n lastDay: '[Gëschter um] LT',\n lastWeek: function () {\n // Different date string for 'Dënschdeg' (Tuesday) and 'Donneschdeg' (Thursday) due to phonological rule\n switch (this.day()) {\n case 2:\n case 4:\n return '[Leschten] dddd [um] LT';\n default:\n return '[Leschte] dddd [um] LT';\n }\n },\n },\n relativeTime: {\n future: processFutureTime,\n past: processPastTime,\n s: 'e puer Sekonnen',\n ss: '%d Sekonnen',\n m: processRelativeTime,\n mm: '%d Minutten',\n h: processRelativeTime,\n hh: '%d Stonnen',\n d: processRelativeTime,\n dd: '%d Deeg',\n M: processRelativeTime,\n MM: '%d Méint',\n y: processRelativeTime,\n yy: '%d Joer',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal: '%d.',\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return lb;\n\n})));\n","//! moment.js locale configuration\n//! locale : Lao [lo]\n//! author : Ryan Hart : https://github.com/ryanhart2\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var lo = moment.defineLocale('lo', {\n months: 'ມັງກອນ_ກຸມພາ_ມີນາ_ເມສາ_ພຶດສະພາ_ມິຖຸນາ_ກໍລະກົດ_ສິງຫາ_ກັນຍາ_ຕຸລາ_ພະຈິກ_ທັນວາ'.split(\n '_'\n ),\n monthsShort:\n 'ມັງກອນ_ກຸມພາ_ມີນາ_ເມສາ_ພຶດສະພາ_ມິຖຸນາ_ກໍລະກົດ_ສິງຫາ_ກັນຍາ_ຕຸລາ_ພະຈິກ_ທັນວາ'.split(\n '_'\n ),\n weekdays: 'ອາທິດ_ຈັນ_ອັງຄານ_ພຸດ_ພະຫັດ_ສຸກ_ເສົາ'.split('_'),\n weekdaysShort: 'ທິດ_ຈັນ_ອັງຄານ_ພຸດ_ພະຫັດ_ສຸກ_ເສົາ'.split('_'),\n weekdaysMin: 'ທ_ຈ_ອຄ_ພ_ພຫ_ສກ_ສ'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'ວັນdddd D MMMM YYYY HH:mm',\n },\n meridiemParse: /ຕອນເຊົ້າ|ຕອນແລງ/,\n isPM: function (input) {\n return input === 'ຕອນແລງ';\n },\n meridiem: function (hour, minute, isLower) {\n if (hour < 12) {\n return 'ຕອນເຊົ້າ';\n } else {\n return 'ຕອນແລງ';\n }\n },\n calendar: {\n sameDay: '[ມື້ນີ້ເວລາ] LT',\n nextDay: '[ມື້ອື່ນເວລາ] LT',\n nextWeek: '[ວັນ]dddd[ໜ້າເວລາ] LT',\n lastDay: '[ມື້ວານນີ້ເວລາ] LT',\n lastWeek: '[ວັນ]dddd[ແລ້ວນີ້ເວລາ] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'ອີກ %s',\n past: '%sຜ່ານມາ',\n s: 'ບໍ່ເທົ່າໃດວິນາທີ',\n ss: '%d ວິນາທີ',\n m: '1 ນາທີ',\n mm: '%d ນາທີ',\n h: '1 ຊົ່ວໂມງ',\n hh: '%d ຊົ່ວໂມງ',\n d: '1 ມື້',\n dd: '%d ມື້',\n M: '1 ເດືອນ',\n MM: '%d ເດືອນ',\n y: '1 ປີ',\n yy: '%d ປີ',\n },\n dayOfMonthOrdinalParse: /(ທີ່)\\d{1,2}/,\n ordinal: function (number) {\n return 'ທີ່' + number;\n },\n });\n\n return lo;\n\n})));\n","//! moment.js locale configuration\n//! locale : Lithuanian [lt]\n//! author : Mindaugas Mozūras : https://github.com/mmozuras\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var units = {\n ss: 'sekundė_sekundžių_sekundes',\n m: 'minutė_minutės_minutę',\n mm: 'minutės_minučių_minutes',\n h: 'valanda_valandos_valandą',\n hh: 'valandos_valandų_valandas',\n d: 'diena_dienos_dieną',\n dd: 'dienos_dienų_dienas',\n M: 'mėnuo_mėnesio_mėnesį',\n MM: 'mėnesiai_mėnesių_mėnesius',\n y: 'metai_metų_metus',\n yy: 'metai_metų_metus',\n };\n function translateSeconds(number, withoutSuffix, key, isFuture) {\n if (withoutSuffix) {\n return 'kelios sekundės';\n } else {\n return isFuture ? 'kelių sekundžių' : 'kelias sekundes';\n }\n }\n function translateSingular(number, withoutSuffix, key, isFuture) {\n return withoutSuffix\n ? forms(key)[0]\n : isFuture\n ? forms(key)[1]\n : forms(key)[2];\n }\n function special(number) {\n return number % 10 === 0 || (number > 10 && number < 20);\n }\n function forms(key) {\n return units[key].split('_');\n }\n function translate(number, withoutSuffix, key, isFuture) {\n var result = number + ' ';\n if (number === 1) {\n return (\n result + translateSingular(number, withoutSuffix, key[0], isFuture)\n );\n } else if (withoutSuffix) {\n return result + (special(number) ? forms(key)[1] : forms(key)[0]);\n } else {\n if (isFuture) {\n return result + forms(key)[1];\n } else {\n return result + (special(number) ? forms(key)[1] : forms(key)[2]);\n }\n }\n }\n var lt = moment.defineLocale('lt', {\n months: {\n format: 'sausio_vasario_kovo_balandžio_gegužės_birželio_liepos_rugpjūčio_rugsėjo_spalio_lapkričio_gruodžio'.split(\n '_'\n ),\n standalone:\n 'sausis_vasaris_kovas_balandis_gegužė_birželis_liepa_rugpjūtis_rugsėjis_spalis_lapkritis_gruodis'.split(\n '_'\n ),\n isFormat: /D[oD]?(\\[[^\\[\\]]*\\]|\\s)+MMMM?|MMMM?(\\[[^\\[\\]]*\\]|\\s)+D[oD]?/,\n },\n monthsShort: 'sau_vas_kov_bal_geg_bir_lie_rgp_rgs_spa_lap_grd'.split('_'),\n weekdays: {\n format: 'sekmadienį_pirmadienį_antradienį_trečiadienį_ketvirtadienį_penktadienį_šeštadienį'.split(\n '_'\n ),\n standalone:\n 'sekmadienis_pirmadienis_antradienis_trečiadienis_ketvirtadienis_penktadienis_šeštadienis'.split(\n '_'\n ),\n isFormat: /dddd HH:mm/,\n },\n weekdaysShort: 'Sek_Pir_Ant_Tre_Ket_Pen_Šeš'.split('_'),\n weekdaysMin: 'S_P_A_T_K_Pn_Š'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'YYYY-MM-DD',\n LL: 'YYYY [m.] MMMM D [d.]',\n LLL: 'YYYY [m.] MMMM D [d.], HH:mm [val.]',\n LLLL: 'YYYY [m.] MMMM D [d.], dddd, HH:mm [val.]',\n l: 'YYYY-MM-DD',\n ll: 'YYYY [m.] MMMM D [d.]',\n lll: 'YYYY [m.] MMMM D [d.], HH:mm [val.]',\n llll: 'YYYY [m.] MMMM D [d.], ddd, HH:mm [val.]',\n },\n calendar: {\n sameDay: '[Šiandien] LT',\n nextDay: '[Rytoj] LT',\n nextWeek: 'dddd LT',\n lastDay: '[Vakar] LT',\n lastWeek: '[Praėjusį] dddd LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'po %s',\n past: 'prieš %s',\n s: translateSeconds,\n ss: translate,\n m: translateSingular,\n mm: translate,\n h: translateSingular,\n hh: translate,\n d: translateSingular,\n dd: translate,\n M: translateSingular,\n MM: translate,\n y: translateSingular,\n yy: translate,\n },\n dayOfMonthOrdinalParse: /\\d{1,2}-oji/,\n ordinal: function (number) {\n return number + '-oji';\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return lt;\n\n})));\n","//! moment.js locale configuration\n//! locale : Latvian [lv]\n//! author : Kristaps Karlsons : https://github.com/skakri\n//! author : Jānis Elmeris : https://github.com/JanisE\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var units = {\n ss: 'sekundes_sekundēm_sekunde_sekundes'.split('_'),\n m: 'minūtes_minūtēm_minūte_minūtes'.split('_'),\n mm: 'minūtes_minūtēm_minūte_minūtes'.split('_'),\n h: 'stundas_stundām_stunda_stundas'.split('_'),\n hh: 'stundas_stundām_stunda_stundas'.split('_'),\n d: 'dienas_dienām_diena_dienas'.split('_'),\n dd: 'dienas_dienām_diena_dienas'.split('_'),\n M: 'mēneša_mēnešiem_mēnesis_mēneši'.split('_'),\n MM: 'mēneša_mēnešiem_mēnesis_mēneši'.split('_'),\n y: 'gada_gadiem_gads_gadi'.split('_'),\n yy: 'gada_gadiem_gads_gadi'.split('_'),\n };\n /**\n * @param withoutSuffix boolean true = a length of time; false = before/after a period of time.\n */\n function format(forms, number, withoutSuffix) {\n if (withoutSuffix) {\n // E.g. \"21 minūte\", \"3 minūtes\".\n return number % 10 === 1 && number % 100 !== 11 ? forms[2] : forms[3];\n } else {\n // E.g. \"21 minūtes\" as in \"pēc 21 minūtes\".\n // E.g. \"3 minūtēm\" as in \"pēc 3 minūtēm\".\n return number % 10 === 1 && number % 100 !== 11 ? forms[0] : forms[1];\n }\n }\n function relativeTimeWithPlural(number, withoutSuffix, key) {\n return number + ' ' + format(units[key], number, withoutSuffix);\n }\n function relativeTimeWithSingular(number, withoutSuffix, key) {\n return format(units[key], number, withoutSuffix);\n }\n function relativeSeconds(number, withoutSuffix) {\n return withoutSuffix ? 'dažas sekundes' : 'dažām sekundēm';\n }\n\n var lv = moment.defineLocale('lv', {\n months: 'janvāris_februāris_marts_aprīlis_maijs_jūnijs_jūlijs_augusts_septembris_oktobris_novembris_decembris'.split(\n '_'\n ),\n monthsShort: 'jan_feb_mar_apr_mai_jūn_jūl_aug_sep_okt_nov_dec'.split('_'),\n weekdays:\n 'svētdiena_pirmdiena_otrdiena_trešdiena_ceturtdiena_piektdiena_sestdiena'.split(\n '_'\n ),\n weekdaysShort: 'Sv_P_O_T_C_Pk_S'.split('_'),\n weekdaysMin: 'Sv_P_O_T_C_Pk_S'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD.MM.YYYY.',\n LL: 'YYYY. [gada] D. MMMM',\n LLL: 'YYYY. [gada] D. MMMM, HH:mm',\n LLLL: 'YYYY. [gada] D. MMMM, dddd, HH:mm',\n },\n calendar: {\n sameDay: '[Šodien pulksten] LT',\n nextDay: '[Rīt pulksten] LT',\n nextWeek: 'dddd [pulksten] LT',\n lastDay: '[Vakar pulksten] LT',\n lastWeek: '[Pagājušā] dddd [pulksten] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'pēc %s',\n past: 'pirms %s',\n s: relativeSeconds,\n ss: relativeTimeWithPlural,\n m: relativeTimeWithSingular,\n mm: relativeTimeWithPlural,\n h: relativeTimeWithSingular,\n hh: relativeTimeWithPlural,\n d: relativeTimeWithSingular,\n dd: relativeTimeWithPlural,\n M: relativeTimeWithSingular,\n MM: relativeTimeWithPlural,\n y: relativeTimeWithSingular,\n yy: relativeTimeWithPlural,\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal: '%d.',\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return lv;\n\n})));\n","//! moment.js locale configuration\n//! locale : Montenegrin [me]\n//! author : Miodrag Nikač : https://github.com/miodragnikac\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var translator = {\n words: {\n //Different grammatical cases\n ss: ['sekund', 'sekunda', 'sekundi'],\n m: ['jedan minut', 'jednog minuta'],\n mm: ['minut', 'minuta', 'minuta'],\n h: ['jedan sat', 'jednog sata'],\n hh: ['sat', 'sata', 'sati'],\n dd: ['dan', 'dana', 'dana'],\n MM: ['mjesec', 'mjeseca', 'mjeseci'],\n yy: ['godina', 'godine', 'godina'],\n },\n correctGrammaticalCase: function (number, wordKey) {\n return number === 1\n ? wordKey[0]\n : number >= 2 && number <= 4\n ? wordKey[1]\n : wordKey[2];\n },\n translate: function (number, withoutSuffix, key) {\n var wordKey = translator.words[key];\n if (key.length === 1) {\n return withoutSuffix ? wordKey[0] : wordKey[1];\n } else {\n return (\n number +\n ' ' +\n translator.correctGrammaticalCase(number, wordKey)\n );\n }\n },\n };\n\n var me = moment.defineLocale('me', {\n months: 'januar_februar_mart_april_maj_jun_jul_avgust_septembar_oktobar_novembar_decembar'.split(\n '_'\n ),\n monthsShort:\n 'jan._feb._mar._apr._maj_jun_jul_avg._sep._okt._nov._dec.'.split('_'),\n monthsParseExact: true,\n weekdays: 'nedjelja_ponedjeljak_utorak_srijeda_četvrtak_petak_subota'.split(\n '_'\n ),\n weekdaysShort: 'ned._pon._uto._sri._čet._pet._sub.'.split('_'),\n weekdaysMin: 'ne_po_ut_sr_če_pe_su'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'H:mm',\n LTS: 'H:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'D. MMMM YYYY',\n LLL: 'D. MMMM YYYY H:mm',\n LLLL: 'dddd, D. MMMM YYYY H:mm',\n },\n calendar: {\n sameDay: '[danas u] LT',\n nextDay: '[sjutra u] LT',\n\n nextWeek: function () {\n switch (this.day()) {\n case 0:\n return '[u] [nedjelju] [u] LT';\n case 3:\n return '[u] [srijedu] [u] LT';\n case 6:\n return '[u] [subotu] [u] LT';\n case 1:\n case 2:\n case 4:\n case 5:\n return '[u] dddd [u] LT';\n }\n },\n lastDay: '[juče u] LT',\n lastWeek: function () {\n var lastWeekDays = [\n '[prošle] [nedjelje] [u] LT',\n '[prošlog] [ponedjeljka] [u] LT',\n '[prošlog] [utorka] [u] LT',\n '[prošle] [srijede] [u] LT',\n '[prošlog] [četvrtka] [u] LT',\n '[prošlog] [petka] [u] LT',\n '[prošle] [subote] [u] LT',\n ];\n return lastWeekDays[this.day()];\n },\n sameElse: 'L',\n },\n relativeTime: {\n future: 'za %s',\n past: 'prije %s',\n s: 'nekoliko sekundi',\n ss: translator.translate,\n m: translator.translate,\n mm: translator.translate,\n h: translator.translate,\n hh: translator.translate,\n d: 'dan',\n dd: translator.translate,\n M: 'mjesec',\n MM: translator.translate,\n y: 'godinu',\n yy: translator.translate,\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal: '%d.',\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 7, // The week that contains Jan 7th is the first week of the year.\n },\n });\n\n return me;\n\n})));\n","//! moment.js locale configuration\n//! locale : Maori [mi]\n//! author : John Corrigan : https://github.com/johnideal\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var mi = moment.defineLocale('mi', {\n months: 'Kohi-tāte_Hui-tanguru_Poutū-te-rangi_Paenga-whāwhā_Haratua_Pipiri_Hōngoingoi_Here-turi-kōkā_Mahuru_Whiringa-ā-nuku_Whiringa-ā-rangi_Hakihea'.split(\n '_'\n ),\n monthsShort:\n 'Kohi_Hui_Pou_Pae_Hara_Pipi_Hōngoi_Here_Mahu_Whi-nu_Whi-ra_Haki'.split(\n '_'\n ),\n monthsRegex: /(?:['a-z\\u0101\\u014D\\u016B]+\\-?){1,3}/i,\n monthsStrictRegex: /(?:['a-z\\u0101\\u014D\\u016B]+\\-?){1,3}/i,\n monthsShortRegex: /(?:['a-z\\u0101\\u014D\\u016B]+\\-?){1,3}/i,\n monthsShortStrictRegex: /(?:['a-z\\u0101\\u014D\\u016B]+\\-?){1,2}/i,\n weekdays: 'Rātapu_Mane_Tūrei_Wenerei_Tāite_Paraire_Hātarei'.split('_'),\n weekdaysShort: 'Ta_Ma_Tū_We_Tāi_Pa_Hā'.split('_'),\n weekdaysMin: 'Ta_Ma_Tū_We_Tāi_Pa_Hā'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY [i] HH:mm',\n LLLL: 'dddd, D MMMM YYYY [i] HH:mm',\n },\n calendar: {\n sameDay: '[i teie mahana, i] LT',\n nextDay: '[apopo i] LT',\n nextWeek: 'dddd [i] LT',\n lastDay: '[inanahi i] LT',\n lastWeek: 'dddd [whakamutunga i] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'i roto i %s',\n past: '%s i mua',\n s: 'te hēkona ruarua',\n ss: '%d hēkona',\n m: 'he meneti',\n mm: '%d meneti',\n h: 'te haora',\n hh: '%d haora',\n d: 'he ra',\n dd: '%d ra',\n M: 'he marama',\n MM: '%d marama',\n y: 'he tau',\n yy: '%d tau',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}º/,\n ordinal: '%dº',\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return mi;\n\n})));\n","//! moment.js locale configuration\n//! locale : Macedonian [mk]\n//! author : Borislav Mickov : https://github.com/B0k0\n//! author : Sashko Todorov : https://github.com/bkyceh\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var mk = moment.defineLocale('mk', {\n months: 'јануари_февруари_март_април_мај_јуни_јули_август_септември_октомври_ноември_декември'.split(\n '_'\n ),\n monthsShort: 'јан_фев_мар_апр_мај_јун_јул_авг_сеп_окт_ное_дек'.split('_'),\n weekdays: 'недела_понеделник_вторник_среда_четврток_петок_сабота'.split(\n '_'\n ),\n weekdaysShort: 'нед_пон_вто_сре_чет_пет_саб'.split('_'),\n weekdaysMin: 'нe_пo_вт_ср_че_пе_сa'.split('_'),\n longDateFormat: {\n LT: 'H:mm',\n LTS: 'H:mm:ss',\n L: 'D.MM.YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY H:mm',\n LLLL: 'dddd, D MMMM YYYY H:mm',\n },\n calendar: {\n sameDay: '[Денес во] LT',\n nextDay: '[Утре во] LT',\n nextWeek: '[Во] dddd [во] LT',\n lastDay: '[Вчера во] LT',\n lastWeek: function () {\n switch (this.day()) {\n case 0:\n case 3:\n case 6:\n return '[Изминатата] dddd [во] LT';\n case 1:\n case 2:\n case 4:\n case 5:\n return '[Изминатиот] dddd [во] LT';\n }\n },\n sameElse: 'L',\n },\n relativeTime: {\n future: 'за %s',\n past: 'пред %s',\n s: 'неколку секунди',\n ss: '%d секунди',\n m: 'една минута',\n mm: '%d минути',\n h: 'еден час',\n hh: '%d часа',\n d: 'еден ден',\n dd: '%d дена',\n M: 'еден месец',\n MM: '%d месеци',\n y: 'една година',\n yy: '%d години',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}-(ев|ен|ти|ви|ри|ми)/,\n ordinal: function (number) {\n var lastDigit = number % 10,\n last2Digits = number % 100;\n if (number === 0) {\n return number + '-ев';\n } else if (last2Digits === 0) {\n return number + '-ен';\n } else if (last2Digits > 10 && last2Digits < 20) {\n return number + '-ти';\n } else if (lastDigit === 1) {\n return number + '-ви';\n } else if (lastDigit === 2) {\n return number + '-ри';\n } else if (lastDigit === 7 || lastDigit === 8) {\n return number + '-ми';\n } else {\n return number + '-ти';\n }\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 7, // The week that contains Jan 7th is the first week of the year.\n },\n });\n\n return mk;\n\n})));\n","//! moment.js locale configuration\n//! locale : Malayalam [ml]\n//! author : Floyd Pink : https://github.com/floydpink\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var ml = moment.defineLocale('ml', {\n months: 'ജനുവരി_ഫെബ്രുവരി_മാർച്ച്_ഏപ്രിൽ_മേയ്_ജൂൺ_ജൂലൈ_ഓഗസ്റ്റ്_സെപ്റ്റംബർ_ഒക്ടോബർ_നവംബർ_ഡിസംബർ'.split(\n '_'\n ),\n monthsShort:\n 'ജനു._ഫെബ്രു._മാർ._ഏപ്രി._മേയ്_ജൂൺ_ജൂലൈ._ഓഗ._സെപ്റ്റ._ഒക്ടോ._നവം._ഡിസം.'.split(\n '_'\n ),\n monthsParseExact: true,\n weekdays:\n 'ഞായറാഴ്ച_തിങ്കളാഴ്ച_ചൊവ്വാഴ്ച_ബുധനാഴ്ച_വ്യാഴാഴ്ച_വെള്ളിയാഴ്ച_ശനിയാഴ്ച'.split(\n '_'\n ),\n weekdaysShort: 'ഞായർ_തിങ്കൾ_ചൊവ്വ_ബുധൻ_വ്യാഴം_വെള്ളി_ശനി'.split('_'),\n weekdaysMin: 'ഞാ_തി_ചൊ_ബു_വ്യാ_വെ_ശ'.split('_'),\n longDateFormat: {\n LT: 'A h:mm -നു',\n LTS: 'A h:mm:ss -നു',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY, A h:mm -നു',\n LLLL: 'dddd, D MMMM YYYY, A h:mm -നു',\n },\n calendar: {\n sameDay: '[ഇന്ന്] LT',\n nextDay: '[നാളെ] LT',\n nextWeek: 'dddd, LT',\n lastDay: '[ഇന്നലെ] LT',\n lastWeek: '[കഴിഞ്ഞ] dddd, LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: '%s കഴിഞ്ഞ്',\n past: '%s മുൻപ്',\n s: 'അൽപ നിമിഷങ്ങൾ',\n ss: '%d സെക്കൻഡ്',\n m: 'ഒരു മിനിറ്റ്',\n mm: '%d മിനിറ്റ്',\n h: 'ഒരു മണിക്കൂർ',\n hh: '%d മണിക്കൂർ',\n d: 'ഒരു ദിവസം',\n dd: '%d ദിവസം',\n M: 'ഒരു മാസം',\n MM: '%d മാസം',\n y: 'ഒരു വർഷം',\n yy: '%d വർഷം',\n },\n meridiemParse: /രാത്രി|രാവിലെ|ഉച്ച കഴിഞ്ഞ്|വൈകുന്നേരം|രാത്രി/i,\n meridiemHour: function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (\n (meridiem === 'രാത്രി' && hour >= 4) ||\n meridiem === 'ഉച്ച കഴിഞ്ഞ്' ||\n meridiem === 'വൈകുന്നേരം'\n ) {\n return hour + 12;\n } else {\n return hour;\n }\n },\n meridiem: function (hour, minute, isLower) {\n if (hour < 4) {\n return 'രാത്രി';\n } else if (hour < 12) {\n return 'രാവിലെ';\n } else if (hour < 17) {\n return 'ഉച്ച കഴിഞ്ഞ്';\n } else if (hour < 20) {\n return 'വൈകുന്നേരം';\n } else {\n return 'രാത്രി';\n }\n },\n });\n\n return ml;\n\n})));\n","//! moment.js locale configuration\n//! locale : Mongolian [mn]\n//! author : Javkhlantugs Nyamdorj : https://github.com/javkhaanj7\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n function translate(number, withoutSuffix, key, isFuture) {\n switch (key) {\n case 's':\n return withoutSuffix ? 'хэдхэн секунд' : 'хэдхэн секундын';\n case 'ss':\n return number + (withoutSuffix ? ' секунд' : ' секундын');\n case 'm':\n case 'mm':\n return number + (withoutSuffix ? ' минут' : ' минутын');\n case 'h':\n case 'hh':\n return number + (withoutSuffix ? ' цаг' : ' цагийн');\n case 'd':\n case 'dd':\n return number + (withoutSuffix ? ' өдөр' : ' өдрийн');\n case 'M':\n case 'MM':\n return number + (withoutSuffix ? ' сар' : ' сарын');\n case 'y':\n case 'yy':\n return number + (withoutSuffix ? ' жил' : ' жилийн');\n default:\n return number;\n }\n }\n\n var mn = moment.defineLocale('mn', {\n months: 'Нэгдүгээр сар_Хоёрдугаар сар_Гуравдугаар сар_Дөрөвдүгээр сар_Тавдугаар сар_Зургадугаар сар_Долдугаар сар_Наймдугаар сар_Есдүгээр сар_Аравдугаар сар_Арван нэгдүгээр сар_Арван хоёрдугаар сар'.split(\n '_'\n ),\n monthsShort:\n '1 сар_2 сар_3 сар_4 сар_5 сар_6 сар_7 сар_8 сар_9 сар_10 сар_11 сар_12 сар'.split(\n '_'\n ),\n monthsParseExact: true,\n weekdays: 'Ням_Даваа_Мягмар_Лхагва_Пүрэв_Баасан_Бямба'.split('_'),\n weekdaysShort: 'Ням_Дав_Мяг_Лха_Пүр_Баа_Бям'.split('_'),\n weekdaysMin: 'Ня_Да_Мя_Лх_Пү_Ба_Бя'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'YYYY-MM-DD',\n LL: 'YYYY оны MMMMын D',\n LLL: 'YYYY оны MMMMын D HH:mm',\n LLLL: 'dddd, YYYY оны MMMMын D HH:mm',\n },\n meridiemParse: /ҮӨ|ҮХ/i,\n isPM: function (input) {\n return input === 'ҮХ';\n },\n meridiem: function (hour, minute, isLower) {\n if (hour < 12) {\n return 'ҮӨ';\n } else {\n return 'ҮХ';\n }\n },\n calendar: {\n sameDay: '[Өнөөдөр] LT',\n nextDay: '[Маргааш] LT',\n nextWeek: '[Ирэх] dddd LT',\n lastDay: '[Өчигдөр] LT',\n lastWeek: '[Өнгөрсөн] dddd LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: '%s дараа',\n past: '%s өмнө',\n s: translate,\n ss: translate,\n m: translate,\n mm: translate,\n h: translate,\n hh: translate,\n d: translate,\n dd: translate,\n M: translate,\n MM: translate,\n y: translate,\n yy: translate,\n },\n dayOfMonthOrdinalParse: /\\d{1,2} өдөр/,\n ordinal: function (number, period) {\n switch (period) {\n case 'd':\n case 'D':\n case 'DDD':\n return number + ' өдөр';\n default:\n return number;\n }\n },\n });\n\n return mn;\n\n})));\n","//! moment.js locale configuration\n//! locale : Marathi [mr]\n//! author : Harshad Kale : https://github.com/kalehv\n//! author : Vivek Athalye : https://github.com/vnathalye\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var symbolMap = {\n 1: '१',\n 2: '२',\n 3: '३',\n 4: '४',\n 5: '५',\n 6: '६',\n 7: '७',\n 8: '८',\n 9: '९',\n 0: '०',\n },\n numberMap = {\n '१': '1',\n '२': '2',\n '३': '3',\n '४': '4',\n '५': '5',\n '६': '6',\n '७': '7',\n '८': '8',\n '९': '9',\n '०': '0',\n };\n\n function relativeTimeMr(number, withoutSuffix, string, isFuture) {\n var output = '';\n if (withoutSuffix) {\n switch (string) {\n case 's':\n output = 'काही सेकंद';\n break;\n case 'ss':\n output = '%d सेकंद';\n break;\n case 'm':\n output = 'एक मिनिट';\n break;\n case 'mm':\n output = '%d मिनिटे';\n break;\n case 'h':\n output = 'एक तास';\n break;\n case 'hh':\n output = '%d तास';\n break;\n case 'd':\n output = 'एक दिवस';\n break;\n case 'dd':\n output = '%d दिवस';\n break;\n case 'M':\n output = 'एक महिना';\n break;\n case 'MM':\n output = '%d महिने';\n break;\n case 'y':\n output = 'एक वर्ष';\n break;\n case 'yy':\n output = '%d वर्षे';\n break;\n }\n } else {\n switch (string) {\n case 's':\n output = 'काही सेकंदां';\n break;\n case 'ss':\n output = '%d सेकंदां';\n break;\n case 'm':\n output = 'एका मिनिटा';\n break;\n case 'mm':\n output = '%d मिनिटां';\n break;\n case 'h':\n output = 'एका तासा';\n break;\n case 'hh':\n output = '%d तासां';\n break;\n case 'd':\n output = 'एका दिवसा';\n break;\n case 'dd':\n output = '%d दिवसां';\n break;\n case 'M':\n output = 'एका महिन्या';\n break;\n case 'MM':\n output = '%d महिन्यां';\n break;\n case 'y':\n output = 'एका वर्षा';\n break;\n case 'yy':\n output = '%d वर्षां';\n break;\n }\n }\n return output.replace(/%d/i, number);\n }\n\n var mr = moment.defineLocale('mr', {\n months: 'जानेवारी_फेब्रुवारी_मार्च_एप्रिल_मे_जून_जुलै_ऑगस्ट_सप्टेंबर_ऑक्टोबर_नोव्हेंबर_डिसेंबर'.split(\n '_'\n ),\n monthsShort:\n 'जाने._फेब्रु._मार्च._एप्रि._मे._जून._जुलै._ऑग._सप्टें._ऑक्टो._नोव्हें._डिसें.'.split(\n '_'\n ),\n monthsParseExact: true,\n weekdays: 'रविवार_सोमवार_मंगळवार_बुधवार_गुरूवार_शुक्रवार_शनिवार'.split('_'),\n weekdaysShort: 'रवि_सोम_मंगळ_बुध_गुरू_शुक्र_शनि'.split('_'),\n weekdaysMin: 'र_सो_मं_बु_गु_शु_श'.split('_'),\n longDateFormat: {\n LT: 'A h:mm वाजता',\n LTS: 'A h:mm:ss वाजता',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY, A h:mm वाजता',\n LLLL: 'dddd, D MMMM YYYY, A h:mm वाजता',\n },\n calendar: {\n sameDay: '[आज] LT',\n nextDay: '[उद्या] LT',\n nextWeek: 'dddd, LT',\n lastDay: '[काल] LT',\n lastWeek: '[मागील] dddd, LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: '%sमध्ये',\n past: '%sपूर्वी',\n s: relativeTimeMr,\n ss: relativeTimeMr,\n m: relativeTimeMr,\n mm: relativeTimeMr,\n h: relativeTimeMr,\n hh: relativeTimeMr,\n d: relativeTimeMr,\n dd: relativeTimeMr,\n M: relativeTimeMr,\n MM: relativeTimeMr,\n y: relativeTimeMr,\n yy: relativeTimeMr,\n },\n preparse: function (string) {\n return string.replace(/[१२३४५६७८९०]/g, function (match) {\n return numberMap[match];\n });\n },\n postformat: function (string) {\n return string.replace(/\\d/g, function (match) {\n return symbolMap[match];\n });\n },\n meridiemParse: /पहाटे|सकाळी|दुपारी|सायंकाळी|रात्री/,\n meridiemHour: function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (meridiem === 'पहाटे' || meridiem === 'सकाळी') {\n return hour;\n } else if (\n meridiem === 'दुपारी' ||\n meridiem === 'सायंकाळी' ||\n meridiem === 'रात्री'\n ) {\n return hour >= 12 ? hour : hour + 12;\n }\n },\n meridiem: function (hour, minute, isLower) {\n if (hour >= 0 && hour < 6) {\n return 'पहाटे';\n } else if (hour < 12) {\n return 'सकाळी';\n } else if (hour < 17) {\n return 'दुपारी';\n } else if (hour < 20) {\n return 'सायंकाळी';\n } else {\n return 'रात्री';\n }\n },\n week: {\n dow: 0, // Sunday is the first day of the week.\n doy: 6, // The week that contains Jan 6th is the first week of the year.\n },\n });\n\n return mr;\n\n})));\n","//! moment.js locale configuration\n//! locale : Malay [ms-my]\n//! note : DEPRECATED, the correct one is [ms]\n//! author : Weldan Jamili : https://github.com/weldan\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var msMy = moment.defineLocale('ms-my', {\n months: 'Januari_Februari_Mac_April_Mei_Jun_Julai_Ogos_September_Oktober_November_Disember'.split(\n '_'\n ),\n monthsShort: 'Jan_Feb_Mac_Apr_Mei_Jun_Jul_Ogs_Sep_Okt_Nov_Dis'.split('_'),\n weekdays: 'Ahad_Isnin_Selasa_Rabu_Khamis_Jumaat_Sabtu'.split('_'),\n weekdaysShort: 'Ahd_Isn_Sel_Rab_Kha_Jum_Sab'.split('_'),\n weekdaysMin: 'Ah_Is_Sl_Rb_Km_Jm_Sb'.split('_'),\n longDateFormat: {\n LT: 'HH.mm',\n LTS: 'HH.mm.ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY [pukul] HH.mm',\n LLLL: 'dddd, D MMMM YYYY [pukul] HH.mm',\n },\n meridiemParse: /pagi|tengahari|petang|malam/,\n meridiemHour: function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (meridiem === 'pagi') {\n return hour;\n } else if (meridiem === 'tengahari') {\n return hour >= 11 ? hour : hour + 12;\n } else if (meridiem === 'petang' || meridiem === 'malam') {\n return hour + 12;\n }\n },\n meridiem: function (hours, minutes, isLower) {\n if (hours < 11) {\n return 'pagi';\n } else if (hours < 15) {\n return 'tengahari';\n } else if (hours < 19) {\n return 'petang';\n } else {\n return 'malam';\n }\n },\n calendar: {\n sameDay: '[Hari ini pukul] LT',\n nextDay: '[Esok pukul] LT',\n nextWeek: 'dddd [pukul] LT',\n lastDay: '[Kelmarin pukul] LT',\n lastWeek: 'dddd [lepas pukul] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'dalam %s',\n past: '%s yang lepas',\n s: 'beberapa saat',\n ss: '%d saat',\n m: 'seminit',\n mm: '%d minit',\n h: 'sejam',\n hh: '%d jam',\n d: 'sehari',\n dd: '%d hari',\n M: 'sebulan',\n MM: '%d bulan',\n y: 'setahun',\n yy: '%d tahun',\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 7, // The week that contains Jan 7th is the first week of the year.\n },\n });\n\n return msMy;\n\n})));\n","//! moment.js locale configuration\n//! locale : Malay [ms]\n//! author : Weldan Jamili : https://github.com/weldan\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var ms = moment.defineLocale('ms', {\n months: 'Januari_Februari_Mac_April_Mei_Jun_Julai_Ogos_September_Oktober_November_Disember'.split(\n '_'\n ),\n monthsShort: 'Jan_Feb_Mac_Apr_Mei_Jun_Jul_Ogs_Sep_Okt_Nov_Dis'.split('_'),\n weekdays: 'Ahad_Isnin_Selasa_Rabu_Khamis_Jumaat_Sabtu'.split('_'),\n weekdaysShort: 'Ahd_Isn_Sel_Rab_Kha_Jum_Sab'.split('_'),\n weekdaysMin: 'Ah_Is_Sl_Rb_Km_Jm_Sb'.split('_'),\n longDateFormat: {\n LT: 'HH.mm',\n LTS: 'HH.mm.ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY [pukul] HH.mm',\n LLLL: 'dddd, D MMMM YYYY [pukul] HH.mm',\n },\n meridiemParse: /pagi|tengahari|petang|malam/,\n meridiemHour: function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (meridiem === 'pagi') {\n return hour;\n } else if (meridiem === 'tengahari') {\n return hour >= 11 ? hour : hour + 12;\n } else if (meridiem === 'petang' || meridiem === 'malam') {\n return hour + 12;\n }\n },\n meridiem: function (hours, minutes, isLower) {\n if (hours < 11) {\n return 'pagi';\n } else if (hours < 15) {\n return 'tengahari';\n } else if (hours < 19) {\n return 'petang';\n } else {\n return 'malam';\n }\n },\n calendar: {\n sameDay: '[Hari ini pukul] LT',\n nextDay: '[Esok pukul] LT',\n nextWeek: 'dddd [pukul] LT',\n lastDay: '[Kelmarin pukul] LT',\n lastWeek: 'dddd [lepas pukul] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'dalam %s',\n past: '%s yang lepas',\n s: 'beberapa saat',\n ss: '%d saat',\n m: 'seminit',\n mm: '%d minit',\n h: 'sejam',\n hh: '%d jam',\n d: 'sehari',\n dd: '%d hari',\n M: 'sebulan',\n MM: '%d bulan',\n y: 'setahun',\n yy: '%d tahun',\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 7, // The week that contains Jan 7th is the first week of the year.\n },\n });\n\n return ms;\n\n})));\n","//! moment.js locale configuration\n//! locale : Maltese (Malta) [mt]\n//! author : Alessandro Maruccia : https://github.com/alesma\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var mt = moment.defineLocale('mt', {\n months: 'Jannar_Frar_Marzu_April_Mejju_Ġunju_Lulju_Awwissu_Settembru_Ottubru_Novembru_Diċembru'.split(\n '_'\n ),\n monthsShort: 'Jan_Fra_Mar_Apr_Mej_Ġun_Lul_Aww_Set_Ott_Nov_Diċ'.split('_'),\n weekdays:\n 'Il-Ħadd_It-Tnejn_It-Tlieta_L-Erbgħa_Il-Ħamis_Il-Ġimgħa_Is-Sibt'.split(\n '_'\n ),\n weekdaysShort: 'Ħad_Tne_Tli_Erb_Ħam_Ġim_Sib'.split('_'),\n weekdaysMin: 'Ħa_Tn_Tl_Er_Ħa_Ġi_Si'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd, D MMMM YYYY HH:mm',\n },\n calendar: {\n sameDay: '[Illum fil-]LT',\n nextDay: '[Għada fil-]LT',\n nextWeek: 'dddd [fil-]LT',\n lastDay: '[Il-bieraħ fil-]LT',\n lastWeek: 'dddd [li għadda] [fil-]LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'f’ %s',\n past: '%s ilu',\n s: 'ftit sekondi',\n ss: '%d sekondi',\n m: 'minuta',\n mm: '%d minuti',\n h: 'siegħa',\n hh: '%d siegħat',\n d: 'ġurnata',\n dd: '%d ġranet',\n M: 'xahar',\n MM: '%d xhur',\n y: 'sena',\n yy: '%d sni',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}º/,\n ordinal: '%dº',\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return mt;\n\n})));\n","//! moment.js locale configuration\n//! locale : Burmese [my]\n//! author : Squar team, mysquar.com\n//! author : David Rossellat : https://github.com/gholadr\n//! author : Tin Aung Lin : https://github.com/thanyawzinmin\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var symbolMap = {\n 1: '၁',\n 2: '၂',\n 3: '၃',\n 4: '၄',\n 5: '၅',\n 6: '၆',\n 7: '၇',\n 8: '၈',\n 9: '၉',\n 0: '၀',\n },\n numberMap = {\n '၁': '1',\n '၂': '2',\n '၃': '3',\n '၄': '4',\n '၅': '5',\n '၆': '6',\n '၇': '7',\n '၈': '8',\n '၉': '9',\n '၀': '0',\n };\n\n var my = moment.defineLocale('my', {\n months: 'ဇန်နဝါရီ_ဖေဖော်ဝါရီ_မတ်_ဧပြီ_မေ_ဇွန်_ဇူလိုင်_သြဂုတ်_စက်တင်ဘာ_အောက်တိုဘာ_နိုဝင်ဘာ_ဒီဇင်ဘာ'.split(\n '_'\n ),\n monthsShort: 'ဇန်_ဖေ_မတ်_ပြီ_မေ_ဇွန်_လိုင်_သြ_စက်_အောက်_နို_ဒီ'.split('_'),\n weekdays: 'တနင်္ဂနွေ_တနင်္လာ_အင်္ဂါ_ဗုဒ္ဓဟူး_ကြာသပတေး_သောကြာ_စနေ'.split(\n '_'\n ),\n weekdaysShort: 'နွေ_လာ_ဂါ_ဟူး_ကြာ_သော_နေ'.split('_'),\n weekdaysMin: 'နွေ_လာ_ဂါ_ဟူး_ကြာ_သော_နေ'.split('_'),\n\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd D MMMM YYYY HH:mm',\n },\n calendar: {\n sameDay: '[ယနေ.] LT [မှာ]',\n nextDay: '[မနက်ဖြန်] LT [မှာ]',\n nextWeek: 'dddd LT [မှာ]',\n lastDay: '[မနေ.က] LT [မှာ]',\n lastWeek: '[ပြီးခဲ့သော] dddd LT [မှာ]',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'လာမည့် %s မှာ',\n past: 'လွန်ခဲ့သော %s က',\n s: 'စက္ကန်.အနည်းငယ်',\n ss: '%d စက္ကန့်',\n m: 'တစ်မိနစ်',\n mm: '%d မိနစ်',\n h: 'တစ်နာရီ',\n hh: '%d နာရီ',\n d: 'တစ်ရက်',\n dd: '%d ရက်',\n M: 'တစ်လ',\n MM: '%d လ',\n y: 'တစ်နှစ်',\n yy: '%d နှစ်',\n },\n preparse: function (string) {\n return string.replace(/[၁၂၃၄၅၆၇၈၉၀]/g, function (match) {\n return numberMap[match];\n });\n },\n postformat: function (string) {\n return string.replace(/\\d/g, function (match) {\n return symbolMap[match];\n });\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return my;\n\n})));\n","//! moment.js locale configuration\n//! locale : Norwegian Bokmål [nb]\n//! authors : Espen Hovlandsdal : https://github.com/rexxars\n//! Sigurd Gartmann : https://github.com/sigurdga\n//! Stephen Ramthun : https://github.com/stephenramthun\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var nb = moment.defineLocale('nb', {\n months: 'januar_februar_mars_april_mai_juni_juli_august_september_oktober_november_desember'.split(\n '_'\n ),\n monthsShort:\n 'jan._feb._mars_apr._mai_juni_juli_aug._sep._okt._nov._des.'.split('_'),\n monthsParseExact: true,\n weekdays: 'søndag_mandag_tirsdag_onsdag_torsdag_fredag_lørdag'.split('_'),\n weekdaysShort: 'sø._ma._ti._on._to._fr._lø.'.split('_'),\n weekdaysMin: 'sø_ma_ti_on_to_fr_lø'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'D. MMMM YYYY',\n LLL: 'D. MMMM YYYY [kl.] HH:mm',\n LLLL: 'dddd D. MMMM YYYY [kl.] HH:mm',\n },\n calendar: {\n sameDay: '[i dag kl.] LT',\n nextDay: '[i morgen kl.] LT',\n nextWeek: 'dddd [kl.] LT',\n lastDay: '[i går kl.] LT',\n lastWeek: '[forrige] dddd [kl.] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'om %s',\n past: '%s siden',\n s: 'noen sekunder',\n ss: '%d sekunder',\n m: 'ett minutt',\n mm: '%d minutter',\n h: 'en time',\n hh: '%d timer',\n d: 'en dag',\n dd: '%d dager',\n w: 'en uke',\n ww: '%d uker',\n M: 'en måned',\n MM: '%d måneder',\n y: 'ett år',\n yy: '%d år',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal: '%d.',\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return nb;\n\n})));\n","//! moment.js locale configuration\n//! locale : Nepalese [ne]\n//! author : suvash : https://github.com/suvash\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var symbolMap = {\n 1: '१',\n 2: '२',\n 3: '३',\n 4: '४',\n 5: '५',\n 6: '६',\n 7: '७',\n 8: '८',\n 9: '९',\n 0: '०',\n },\n numberMap = {\n '१': '1',\n '२': '2',\n '३': '3',\n '४': '4',\n '५': '5',\n '६': '6',\n '७': '7',\n '८': '8',\n '९': '9',\n '०': '0',\n };\n\n var ne = moment.defineLocale('ne', {\n months: 'जनवरी_फेब्रुवरी_मार्च_अप्रिल_मई_जुन_जुलाई_अगष्ट_सेप्टेम्बर_अक्टोबर_नोभेम्बर_डिसेम्बर'.split(\n '_'\n ),\n monthsShort:\n 'जन._फेब्रु._मार्च_अप्रि._मई_जुन_जुलाई._अग._सेप्ट._अक्टो._नोभे._डिसे.'.split(\n '_'\n ),\n monthsParseExact: true,\n weekdays: 'आइतबार_सोमबार_मङ्गलबार_बुधबार_बिहिबार_शुक्रबार_शनिबार'.split(\n '_'\n ),\n weekdaysShort: 'आइत._सोम._मङ्गल._बुध._बिहि._शुक्र._शनि.'.split('_'),\n weekdaysMin: 'आ._सो._मं._बु._बि._शु._श.'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'Aको h:mm बजे',\n LTS: 'Aको h:mm:ss बजे',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY, Aको h:mm बजे',\n LLLL: 'dddd, D MMMM YYYY, Aको h:mm बजे',\n },\n preparse: function (string) {\n return string.replace(/[१२३४५६७८९०]/g, function (match) {\n return numberMap[match];\n });\n },\n postformat: function (string) {\n return string.replace(/\\d/g, function (match) {\n return symbolMap[match];\n });\n },\n meridiemParse: /राति|बिहान|दिउँसो|साँझ/,\n meridiemHour: function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (meridiem === 'राति') {\n return hour < 4 ? hour : hour + 12;\n } else if (meridiem === 'बिहान') {\n return hour;\n } else if (meridiem === 'दिउँसो') {\n return hour >= 10 ? hour : hour + 12;\n } else if (meridiem === 'साँझ') {\n return hour + 12;\n }\n },\n meridiem: function (hour, minute, isLower) {\n if (hour < 3) {\n return 'राति';\n } else if (hour < 12) {\n return 'बिहान';\n } else if (hour < 16) {\n return 'दिउँसो';\n } else if (hour < 20) {\n return 'साँझ';\n } else {\n return 'राति';\n }\n },\n calendar: {\n sameDay: '[आज] LT',\n nextDay: '[भोलि] LT',\n nextWeek: '[आउँदो] dddd[,] LT',\n lastDay: '[हिजो] LT',\n lastWeek: '[गएको] dddd[,] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: '%sमा',\n past: '%s अगाडि',\n s: 'केही क्षण',\n ss: '%d सेकेण्ड',\n m: 'एक मिनेट',\n mm: '%d मिनेट',\n h: 'एक घण्टा',\n hh: '%d घण्टा',\n d: 'एक दिन',\n dd: '%d दिन',\n M: 'एक महिना',\n MM: '%d महिना',\n y: 'एक बर्ष',\n yy: '%d बर्ष',\n },\n week: {\n dow: 0, // Sunday is the first day of the week.\n doy: 6, // The week that contains Jan 6th is the first week of the year.\n },\n });\n\n return ne;\n\n})));\n","//! moment.js locale configuration\n//! locale : Dutch (Belgium) [nl-be]\n//! author : Joris Röling : https://github.com/jorisroling\n//! author : Jacob Middag : https://github.com/middagj\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var monthsShortWithDots =\n 'jan._feb._mrt._apr._mei_jun._jul._aug._sep._okt._nov._dec.'.split('_'),\n monthsShortWithoutDots =\n 'jan_feb_mrt_apr_mei_jun_jul_aug_sep_okt_nov_dec'.split('_'),\n monthsParse = [\n /^jan/i,\n /^feb/i,\n /^maart|mrt.?$/i,\n /^apr/i,\n /^mei$/i,\n /^jun[i.]?$/i,\n /^jul[i.]?$/i,\n /^aug/i,\n /^sep/i,\n /^okt/i,\n /^nov/i,\n /^dec/i,\n ],\n monthsRegex =\n /^(januari|februari|maart|april|mei|ju[nl]i|augustus|september|oktober|november|december|jan\\.?|feb\\.?|mrt\\.?|apr\\.?|ju[nl]\\.?|aug\\.?|sep\\.?|okt\\.?|nov\\.?|dec\\.?)/i;\n\n var nlBe = moment.defineLocale('nl-be', {\n months: 'januari_februari_maart_april_mei_juni_juli_augustus_september_oktober_november_december'.split(\n '_'\n ),\n monthsShort: function (m, format) {\n if (!m) {\n return monthsShortWithDots;\n } else if (/-MMM-/.test(format)) {\n return monthsShortWithoutDots[m.month()];\n } else {\n return monthsShortWithDots[m.month()];\n }\n },\n\n monthsRegex: monthsRegex,\n monthsShortRegex: monthsRegex,\n monthsStrictRegex:\n /^(januari|februari|maart|april|mei|ju[nl]i|augustus|september|oktober|november|december)/i,\n monthsShortStrictRegex:\n /^(jan\\.?|feb\\.?|mrt\\.?|apr\\.?|mei|ju[nl]\\.?|aug\\.?|sep\\.?|okt\\.?|nov\\.?|dec\\.?)/i,\n\n monthsParse: monthsParse,\n longMonthsParse: monthsParse,\n shortMonthsParse: monthsParse,\n\n weekdays:\n 'zondag_maandag_dinsdag_woensdag_donderdag_vrijdag_zaterdag'.split('_'),\n weekdaysShort: 'zo._ma._di._wo._do._vr._za.'.split('_'),\n weekdaysMin: 'zo_ma_di_wo_do_vr_za'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd D MMMM YYYY HH:mm',\n },\n calendar: {\n sameDay: '[vandaag om] LT',\n nextDay: '[morgen om] LT',\n nextWeek: 'dddd [om] LT',\n lastDay: '[gisteren om] LT',\n lastWeek: '[afgelopen] dddd [om] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'over %s',\n past: '%s geleden',\n s: 'een paar seconden',\n ss: '%d seconden',\n m: 'één minuut',\n mm: '%d minuten',\n h: 'één uur',\n hh: '%d uur',\n d: 'één dag',\n dd: '%d dagen',\n M: 'één maand',\n MM: '%d maanden',\n y: 'één jaar',\n yy: '%d jaar',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(ste|de)/,\n ordinal: function (number) {\n return (\n number +\n (number === 1 || number === 8 || number >= 20 ? 'ste' : 'de')\n );\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return nlBe;\n\n})));\n","//! moment.js locale configuration\n//! locale : Dutch [nl]\n//! author : Joris Röling : https://github.com/jorisroling\n//! author : Jacob Middag : https://github.com/middagj\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var monthsShortWithDots =\n 'jan._feb._mrt._apr._mei_jun._jul._aug._sep._okt._nov._dec.'.split('_'),\n monthsShortWithoutDots =\n 'jan_feb_mrt_apr_mei_jun_jul_aug_sep_okt_nov_dec'.split('_'),\n monthsParse = [\n /^jan/i,\n /^feb/i,\n /^maart|mrt.?$/i,\n /^apr/i,\n /^mei$/i,\n /^jun[i.]?$/i,\n /^jul[i.]?$/i,\n /^aug/i,\n /^sep/i,\n /^okt/i,\n /^nov/i,\n /^dec/i,\n ],\n monthsRegex =\n /^(januari|februari|maart|april|mei|ju[nl]i|augustus|september|oktober|november|december|jan\\.?|feb\\.?|mrt\\.?|apr\\.?|ju[nl]\\.?|aug\\.?|sep\\.?|okt\\.?|nov\\.?|dec\\.?)/i;\n\n var nl = moment.defineLocale('nl', {\n months: 'januari_februari_maart_april_mei_juni_juli_augustus_september_oktober_november_december'.split(\n '_'\n ),\n monthsShort: function (m, format) {\n if (!m) {\n return monthsShortWithDots;\n } else if (/-MMM-/.test(format)) {\n return monthsShortWithoutDots[m.month()];\n } else {\n return monthsShortWithDots[m.month()];\n }\n },\n\n monthsRegex: monthsRegex,\n monthsShortRegex: monthsRegex,\n monthsStrictRegex:\n /^(januari|februari|maart|april|mei|ju[nl]i|augustus|september|oktober|november|december)/i,\n monthsShortStrictRegex:\n /^(jan\\.?|feb\\.?|mrt\\.?|apr\\.?|mei|ju[nl]\\.?|aug\\.?|sep\\.?|okt\\.?|nov\\.?|dec\\.?)/i,\n\n monthsParse: monthsParse,\n longMonthsParse: monthsParse,\n shortMonthsParse: monthsParse,\n\n weekdays:\n 'zondag_maandag_dinsdag_woensdag_donderdag_vrijdag_zaterdag'.split('_'),\n weekdaysShort: 'zo._ma._di._wo._do._vr._za.'.split('_'),\n weekdaysMin: 'zo_ma_di_wo_do_vr_za'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD-MM-YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd D MMMM YYYY HH:mm',\n },\n calendar: {\n sameDay: '[vandaag om] LT',\n nextDay: '[morgen om] LT',\n nextWeek: 'dddd [om] LT',\n lastDay: '[gisteren om] LT',\n lastWeek: '[afgelopen] dddd [om] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'over %s',\n past: '%s geleden',\n s: 'een paar seconden',\n ss: '%d seconden',\n m: 'één minuut',\n mm: '%d minuten',\n h: 'één uur',\n hh: '%d uur',\n d: 'één dag',\n dd: '%d dagen',\n w: 'één week',\n ww: '%d weken',\n M: 'één maand',\n MM: '%d maanden',\n y: 'één jaar',\n yy: '%d jaar',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(ste|de)/,\n ordinal: function (number) {\n return (\n number +\n (number === 1 || number === 8 || number >= 20 ? 'ste' : 'de')\n );\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return nl;\n\n})));\n","//! moment.js locale configuration\n//! locale : Nynorsk [nn]\n//! authors : https://github.com/mechuwind\n//! Stephen Ramthun : https://github.com/stephenramthun\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var nn = moment.defineLocale('nn', {\n months: 'januar_februar_mars_april_mai_juni_juli_august_september_oktober_november_desember'.split(\n '_'\n ),\n monthsShort:\n 'jan._feb._mars_apr._mai_juni_juli_aug._sep._okt._nov._des.'.split('_'),\n monthsParseExact: true,\n weekdays: 'sundag_måndag_tysdag_onsdag_torsdag_fredag_laurdag'.split('_'),\n weekdaysShort: 'su._må._ty._on._to._fr._lau.'.split('_'),\n weekdaysMin: 'su_må_ty_on_to_fr_la'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'D. MMMM YYYY',\n LLL: 'D. MMMM YYYY [kl.] H:mm',\n LLLL: 'dddd D. MMMM YYYY [kl.] HH:mm',\n },\n calendar: {\n sameDay: '[I dag klokka] LT',\n nextDay: '[I morgon klokka] LT',\n nextWeek: 'dddd [klokka] LT',\n lastDay: '[I går klokka] LT',\n lastWeek: '[Føregåande] dddd [klokka] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'om %s',\n past: '%s sidan',\n s: 'nokre sekund',\n ss: '%d sekund',\n m: 'eit minutt',\n mm: '%d minutt',\n h: 'ein time',\n hh: '%d timar',\n d: 'ein dag',\n dd: '%d dagar',\n w: 'ei veke',\n ww: '%d veker',\n M: 'ein månad',\n MM: '%d månader',\n y: 'eit år',\n yy: '%d år',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal: '%d.',\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return nn;\n\n})));\n","//! moment.js locale configuration\n//! locale : Occitan, lengadocian dialecte [oc-lnc]\n//! author : Quentin PAGÈS : https://github.com/Quenty31\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var ocLnc = moment.defineLocale('oc-lnc', {\n months: {\n standalone:\n 'genièr_febrièr_març_abril_mai_junh_julhet_agost_setembre_octòbre_novembre_decembre'.split(\n '_'\n ),\n format: \"de genièr_de febrièr_de març_d'abril_de mai_de junh_de julhet_d'agost_de setembre_d'octòbre_de novembre_de decembre\".split(\n '_'\n ),\n isFormat: /D[oD]?(\\s)+MMMM/,\n },\n monthsShort:\n 'gen._febr._març_abr._mai_junh_julh._ago._set._oct._nov._dec.'.split(\n '_'\n ),\n monthsParseExact: true,\n weekdays: 'dimenge_diluns_dimars_dimècres_dijòus_divendres_dissabte'.split(\n '_'\n ),\n weekdaysShort: 'dg._dl._dm._dc._dj._dv._ds.'.split('_'),\n weekdaysMin: 'dg_dl_dm_dc_dj_dv_ds'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'H:mm',\n LTS: 'H:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM [de] YYYY',\n ll: 'D MMM YYYY',\n LLL: 'D MMMM [de] YYYY [a] H:mm',\n lll: 'D MMM YYYY, H:mm',\n LLLL: 'dddd D MMMM [de] YYYY [a] H:mm',\n llll: 'ddd D MMM YYYY, H:mm',\n },\n calendar: {\n sameDay: '[uèi a] LT',\n nextDay: '[deman a] LT',\n nextWeek: 'dddd [a] LT',\n lastDay: '[ièr a] LT',\n lastWeek: 'dddd [passat a] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: \"d'aquí %s\",\n past: 'fa %s',\n s: 'unas segondas',\n ss: '%d segondas',\n m: 'una minuta',\n mm: '%d minutas',\n h: 'una ora',\n hh: '%d oras',\n d: 'un jorn',\n dd: '%d jorns',\n M: 'un mes',\n MM: '%d meses',\n y: 'un an',\n yy: '%d ans',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(r|n|t|è|a)/,\n ordinal: function (number, period) {\n var output =\n number === 1\n ? 'r'\n : number === 2\n ? 'n'\n : number === 3\n ? 'r'\n : number === 4\n ? 't'\n : 'è';\n if (period === 'w' || period === 'W') {\n output = 'a';\n }\n return number + output;\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4,\n },\n });\n\n return ocLnc;\n\n})));\n","//! moment.js locale configuration\n//! locale : Punjabi (India) [pa-in]\n//! author : Harpreet Singh : https://github.com/harpreetkhalsagtbit\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var symbolMap = {\n 1: '੧',\n 2: '੨',\n 3: '੩',\n 4: '੪',\n 5: '੫',\n 6: '੬',\n 7: '੭',\n 8: '੮',\n 9: '੯',\n 0: '੦',\n },\n numberMap = {\n '੧': '1',\n '੨': '2',\n '੩': '3',\n '੪': '4',\n '੫': '5',\n '੬': '6',\n '੭': '7',\n '੮': '8',\n '੯': '9',\n '੦': '0',\n };\n\n var paIn = moment.defineLocale('pa-in', {\n // There are months name as per Nanakshahi Calendar but they are not used as rigidly in modern Punjabi.\n months: 'ਜਨਵਰੀ_ਫ਼ਰਵਰੀ_ਮਾਰਚ_ਅਪ੍ਰੈਲ_ਮਈ_ਜੂਨ_ਜੁਲਾਈ_ਅਗਸਤ_ਸਤੰਬਰ_ਅਕਤੂਬਰ_ਨਵੰਬਰ_ਦਸੰਬਰ'.split(\n '_'\n ),\n monthsShort:\n 'ਜਨਵਰੀ_ਫ਼ਰਵਰੀ_ਮਾਰਚ_ਅਪ੍ਰੈਲ_ਮਈ_ਜੂਨ_ਜੁਲਾਈ_ਅਗਸਤ_ਸਤੰਬਰ_ਅਕਤੂਬਰ_ਨਵੰਬਰ_ਦਸੰਬਰ'.split(\n '_'\n ),\n weekdays: 'ਐਤਵਾਰ_ਸੋਮਵਾਰ_ਮੰਗਲਵਾਰ_ਬੁਧਵਾਰ_ਵੀਰਵਾਰ_ਸ਼ੁੱਕਰਵਾਰ_ਸ਼ਨੀਚਰਵਾਰ'.split(\n '_'\n ),\n weekdaysShort: 'ਐਤ_ਸੋਮ_ਮੰਗਲ_ਬੁਧ_ਵੀਰ_ਸ਼ੁਕਰ_ਸ਼ਨੀ'.split('_'),\n weekdaysMin: 'ਐਤ_ਸੋਮ_ਮੰਗਲ_ਬੁਧ_ਵੀਰ_ਸ਼ੁਕਰ_ਸ਼ਨੀ'.split('_'),\n longDateFormat: {\n LT: 'A h:mm ਵਜੇ',\n LTS: 'A h:mm:ss ਵਜੇ',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY, A h:mm ਵਜੇ',\n LLLL: 'dddd, D MMMM YYYY, A h:mm ਵਜੇ',\n },\n calendar: {\n sameDay: '[ਅਜ] LT',\n nextDay: '[ਕਲ] LT',\n nextWeek: '[ਅਗਲਾ] dddd, LT',\n lastDay: '[ਕਲ] LT',\n lastWeek: '[ਪਿਛਲੇ] dddd, LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: '%s ਵਿੱਚ',\n past: '%s ਪਿਛਲੇ',\n s: 'ਕੁਝ ਸਕਿੰਟ',\n ss: '%d ਸਕਿੰਟ',\n m: 'ਇਕ ਮਿੰਟ',\n mm: '%d ਮਿੰਟ',\n h: 'ਇੱਕ ਘੰਟਾ',\n hh: '%d ਘੰਟੇ',\n d: 'ਇੱਕ ਦਿਨ',\n dd: '%d ਦਿਨ',\n M: 'ਇੱਕ ਮਹੀਨਾ',\n MM: '%d ਮਹੀਨੇ',\n y: 'ਇੱਕ ਸਾਲ',\n yy: '%d ਸਾਲ',\n },\n preparse: function (string) {\n return string.replace(/[੧੨੩੪੫੬੭੮੯੦]/g, function (match) {\n return numberMap[match];\n });\n },\n postformat: function (string) {\n return string.replace(/\\d/g, function (match) {\n return symbolMap[match];\n });\n },\n // Punjabi notation for meridiems are quite fuzzy in practice. While there exists\n // a rigid notion of a 'Pahar' it is not used as rigidly in modern Punjabi.\n meridiemParse: /ਰਾਤ|ਸਵੇਰ|ਦੁਪਹਿਰ|ਸ਼ਾਮ/,\n meridiemHour: function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (meridiem === 'ਰਾਤ') {\n return hour < 4 ? hour : hour + 12;\n } else if (meridiem === 'ਸਵੇਰ') {\n return hour;\n } else if (meridiem === 'ਦੁਪਹਿਰ') {\n return hour >= 10 ? hour : hour + 12;\n } else if (meridiem === 'ਸ਼ਾਮ') {\n return hour + 12;\n }\n },\n meridiem: function (hour, minute, isLower) {\n if (hour < 4) {\n return 'ਰਾਤ';\n } else if (hour < 10) {\n return 'ਸਵੇਰ';\n } else if (hour < 17) {\n return 'ਦੁਪਹਿਰ';\n } else if (hour < 20) {\n return 'ਸ਼ਾਮ';\n } else {\n return 'ਰਾਤ';\n }\n },\n week: {\n dow: 0, // Sunday is the first day of the week.\n doy: 6, // The week that contains Jan 6th is the first week of the year.\n },\n });\n\n return paIn;\n\n})));\n","//! moment.js locale configuration\n//! locale : Polish [pl]\n//! author : Rafal Hirsz : https://github.com/evoL\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var monthsNominative =\n 'styczeń_luty_marzec_kwiecień_maj_czerwiec_lipiec_sierpień_wrzesień_październik_listopad_grudzień'.split(\n '_'\n ),\n monthsSubjective =\n 'stycznia_lutego_marca_kwietnia_maja_czerwca_lipca_sierpnia_września_października_listopada_grudnia'.split(\n '_'\n ),\n monthsParse = [\n /^sty/i,\n /^lut/i,\n /^mar/i,\n /^kwi/i,\n /^maj/i,\n /^cze/i,\n /^lip/i,\n /^sie/i,\n /^wrz/i,\n /^paź/i,\n /^lis/i,\n /^gru/i,\n ];\n function plural(n) {\n return n % 10 < 5 && n % 10 > 1 && ~~(n / 10) % 10 !== 1;\n }\n function translate(number, withoutSuffix, key) {\n var result = number + ' ';\n switch (key) {\n case 'ss':\n return result + (plural(number) ? 'sekundy' : 'sekund');\n case 'm':\n return withoutSuffix ? 'minuta' : 'minutę';\n case 'mm':\n return result + (plural(number) ? 'minuty' : 'minut');\n case 'h':\n return withoutSuffix ? 'godzina' : 'godzinę';\n case 'hh':\n return result + (plural(number) ? 'godziny' : 'godzin');\n case 'ww':\n return result + (plural(number) ? 'tygodnie' : 'tygodni');\n case 'MM':\n return result + (plural(number) ? 'miesiące' : 'miesięcy');\n case 'yy':\n return result + (plural(number) ? 'lata' : 'lat');\n }\n }\n\n var pl = moment.defineLocale('pl', {\n months: function (momentToFormat, format) {\n if (!momentToFormat) {\n return monthsNominative;\n } else if (/D MMMM/.test(format)) {\n return monthsSubjective[momentToFormat.month()];\n } else {\n return monthsNominative[momentToFormat.month()];\n }\n },\n monthsShort: 'sty_lut_mar_kwi_maj_cze_lip_sie_wrz_paź_lis_gru'.split('_'),\n monthsParse: monthsParse,\n longMonthsParse: monthsParse,\n shortMonthsParse: monthsParse,\n weekdays:\n 'niedziela_poniedziałek_wtorek_środa_czwartek_piątek_sobota'.split('_'),\n weekdaysShort: 'ndz_pon_wt_śr_czw_pt_sob'.split('_'),\n weekdaysMin: 'Nd_Pn_Wt_Śr_Cz_Pt_So'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd, D MMMM YYYY HH:mm',\n },\n calendar: {\n sameDay: '[Dziś o] LT',\n nextDay: '[Jutro o] LT',\n nextWeek: function () {\n switch (this.day()) {\n case 0:\n return '[W niedzielę o] LT';\n\n case 2:\n return '[We wtorek o] LT';\n\n case 3:\n return '[W środę o] LT';\n\n case 6:\n return '[W sobotę o] LT';\n\n default:\n return '[W] dddd [o] LT';\n }\n },\n lastDay: '[Wczoraj o] LT',\n lastWeek: function () {\n switch (this.day()) {\n case 0:\n return '[W zeszłą niedzielę o] LT';\n case 3:\n return '[W zeszłą środę o] LT';\n case 6:\n return '[W zeszłą sobotę o] LT';\n default:\n return '[W zeszły] dddd [o] LT';\n }\n },\n sameElse: 'L',\n },\n relativeTime: {\n future: 'za %s',\n past: '%s temu',\n s: 'kilka sekund',\n ss: translate,\n m: translate,\n mm: translate,\n h: translate,\n hh: translate,\n d: '1 dzień',\n dd: '%d dni',\n w: 'tydzień',\n ww: translate,\n M: 'miesiąc',\n MM: translate,\n y: 'rok',\n yy: translate,\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal: '%d.',\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return pl;\n\n})));\n","//! moment.js locale configuration\n//! locale : Portuguese (Brazil) [pt-br]\n//! author : Caio Ribeiro Pereira : https://github.com/caio-ribeiro-pereira\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var ptBr = moment.defineLocale('pt-br', {\n months: 'janeiro_fevereiro_março_abril_maio_junho_julho_agosto_setembro_outubro_novembro_dezembro'.split(\n '_'\n ),\n monthsShort: 'jan_fev_mar_abr_mai_jun_jul_ago_set_out_nov_dez'.split('_'),\n weekdays:\n 'domingo_segunda-feira_terça-feira_quarta-feira_quinta-feira_sexta-feira_sábado'.split(\n '_'\n ),\n weekdaysShort: 'dom_seg_ter_qua_qui_sex_sáb'.split('_'),\n weekdaysMin: 'do_2ª_3ª_4ª_5ª_6ª_sá'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D [de] MMMM [de] YYYY',\n LLL: 'D [de] MMMM [de] YYYY [às] HH:mm',\n LLLL: 'dddd, D [de] MMMM [de] YYYY [às] HH:mm',\n },\n calendar: {\n sameDay: '[Hoje às] LT',\n nextDay: '[Amanhã às] LT',\n nextWeek: 'dddd [às] LT',\n lastDay: '[Ontem às] LT',\n lastWeek: function () {\n return this.day() === 0 || this.day() === 6\n ? '[Último] dddd [às] LT' // Saturday + Sunday\n : '[Última] dddd [às] LT'; // Monday - Friday\n },\n sameElse: 'L',\n },\n relativeTime: {\n future: 'em %s',\n past: 'há %s',\n s: 'poucos segundos',\n ss: '%d segundos',\n m: 'um minuto',\n mm: '%d minutos',\n h: 'uma hora',\n hh: '%d horas',\n d: 'um dia',\n dd: '%d dias',\n M: 'um mês',\n MM: '%d meses',\n y: 'um ano',\n yy: '%d anos',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}º/,\n ordinal: '%dº',\n invalidDate: 'Data inválida',\n });\n\n return ptBr;\n\n})));\n","//! moment.js locale configuration\n//! locale : Portuguese [pt]\n//! author : Jefferson : https://github.com/jalex79\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var pt = moment.defineLocale('pt', {\n months: 'janeiro_fevereiro_março_abril_maio_junho_julho_agosto_setembro_outubro_novembro_dezembro'.split(\n '_'\n ),\n monthsShort: 'jan_fev_mar_abr_mai_jun_jul_ago_set_out_nov_dez'.split('_'),\n weekdays:\n 'Domingo_Segunda-feira_Terça-feira_Quarta-feira_Quinta-feira_Sexta-feira_Sábado'.split(\n '_'\n ),\n weekdaysShort: 'Dom_Seg_Ter_Qua_Qui_Sex_Sáb'.split('_'),\n weekdaysMin: 'Do_2ª_3ª_4ª_5ª_6ª_Sá'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D [de] MMMM [de] YYYY',\n LLL: 'D [de] MMMM [de] YYYY HH:mm',\n LLLL: 'dddd, D [de] MMMM [de] YYYY HH:mm',\n },\n calendar: {\n sameDay: '[Hoje às] LT',\n nextDay: '[Amanhã às] LT',\n nextWeek: 'dddd [às] LT',\n lastDay: '[Ontem às] LT',\n lastWeek: function () {\n return this.day() === 0 || this.day() === 6\n ? '[Último] dddd [às] LT' // Saturday + Sunday\n : '[Última] dddd [às] LT'; // Monday - Friday\n },\n sameElse: 'L',\n },\n relativeTime: {\n future: 'em %s',\n past: 'há %s',\n s: 'segundos',\n ss: '%d segundos',\n m: 'um minuto',\n mm: '%d minutos',\n h: 'uma hora',\n hh: '%d horas',\n d: 'um dia',\n dd: '%d dias',\n w: 'uma semana',\n ww: '%d semanas',\n M: 'um mês',\n MM: '%d meses',\n y: 'um ano',\n yy: '%d anos',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}º/,\n ordinal: '%dº',\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return pt;\n\n})));\n","//! moment.js locale configuration\n//! locale : Romanian [ro]\n//! author : Vlad Gurdiga : https://github.com/gurdiga\n//! author : Valentin Agachi : https://github.com/avaly\n//! author : Emanuel Cepoi : https://github.com/cepem\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n function relativeTimeWithPlural(number, withoutSuffix, key) {\n var format = {\n ss: 'secunde',\n mm: 'minute',\n hh: 'ore',\n dd: 'zile',\n ww: 'săptămâni',\n MM: 'luni',\n yy: 'ani',\n },\n separator = ' ';\n if (number % 100 >= 20 || (number >= 100 && number % 100 === 0)) {\n separator = ' de ';\n }\n return number + separator + format[key];\n }\n\n var ro = moment.defineLocale('ro', {\n months: 'ianuarie_februarie_martie_aprilie_mai_iunie_iulie_august_septembrie_octombrie_noiembrie_decembrie'.split(\n '_'\n ),\n monthsShort:\n 'ian._feb._mart._apr._mai_iun._iul._aug._sept._oct._nov._dec.'.split(\n '_'\n ),\n monthsParseExact: true,\n weekdays: 'duminică_luni_marți_miercuri_joi_vineri_sâmbătă'.split('_'),\n weekdaysShort: 'Dum_Lun_Mar_Mie_Joi_Vin_Sâm'.split('_'),\n weekdaysMin: 'Du_Lu_Ma_Mi_Jo_Vi_Sâ'.split('_'),\n longDateFormat: {\n LT: 'H:mm',\n LTS: 'H:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY H:mm',\n LLLL: 'dddd, D MMMM YYYY H:mm',\n },\n calendar: {\n sameDay: '[azi la] LT',\n nextDay: '[mâine la] LT',\n nextWeek: 'dddd [la] LT',\n lastDay: '[ieri la] LT',\n lastWeek: '[fosta] dddd [la] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'peste %s',\n past: '%s în urmă',\n s: 'câteva secunde',\n ss: relativeTimeWithPlural,\n m: 'un minut',\n mm: relativeTimeWithPlural,\n h: 'o oră',\n hh: relativeTimeWithPlural,\n d: 'o zi',\n dd: relativeTimeWithPlural,\n w: 'o săptămână',\n ww: relativeTimeWithPlural,\n M: 'o lună',\n MM: relativeTimeWithPlural,\n y: 'un an',\n yy: relativeTimeWithPlural,\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 7, // The week that contains Jan 7th is the first week of the year.\n },\n });\n\n return ro;\n\n})));\n","//! moment.js locale configuration\n//! locale : Russian [ru]\n//! author : Viktorminator : https://github.com/Viktorminator\n//! author : Menelion Elensúle : https://github.com/Oire\n//! author : Коренберг Марк : https://github.com/socketpair\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n function plural(word, num) {\n var forms = word.split('_');\n return num % 10 === 1 && num % 100 !== 11\n ? forms[0]\n : num % 10 >= 2 && num % 10 <= 4 && (num % 100 < 10 || num % 100 >= 20)\n ? forms[1]\n : forms[2];\n }\n function relativeTimeWithPlural(number, withoutSuffix, key) {\n var format = {\n ss: withoutSuffix ? 'секунда_секунды_секунд' : 'секунду_секунды_секунд',\n mm: withoutSuffix ? 'минута_минуты_минут' : 'минуту_минуты_минут',\n hh: 'час_часа_часов',\n dd: 'день_дня_дней',\n ww: 'неделя_недели_недель',\n MM: 'месяц_месяца_месяцев',\n yy: 'год_года_лет',\n };\n if (key === 'm') {\n return withoutSuffix ? 'минута' : 'минуту';\n } else {\n return number + ' ' + plural(format[key], +number);\n }\n }\n var monthsParse = [\n /^янв/i,\n /^фев/i,\n /^мар/i,\n /^апр/i,\n /^ма[йя]/i,\n /^июн/i,\n /^июл/i,\n /^авг/i,\n /^сен/i,\n /^окт/i,\n /^ноя/i,\n /^дек/i,\n ];\n\n // http://new.gramota.ru/spravka/rules/139-prop : § 103\n // Сокращения месяцев: http://new.gramota.ru/spravka/buro/search-answer?s=242637\n // CLDR data: http://www.unicode.org/cldr/charts/28/summary/ru.html#1753\n var ru = moment.defineLocale('ru', {\n months: {\n format: 'января_февраля_марта_апреля_мая_июня_июля_августа_сентября_октября_ноября_декабря'.split(\n '_'\n ),\n standalone:\n 'январь_февраль_март_апрель_май_июнь_июль_август_сентябрь_октябрь_ноябрь_декабрь'.split(\n '_'\n ),\n },\n monthsShort: {\n // по CLDR именно \"июл.\" и \"июн.\", но какой смысл менять букву на точку?\n format: 'янв._февр._мар._апр._мая_июня_июля_авг._сент._окт._нояб._дек.'.split(\n '_'\n ),\n standalone:\n 'янв._февр._март_апр._май_июнь_июль_авг._сент._окт._нояб._дек.'.split(\n '_'\n ),\n },\n weekdays: {\n standalone:\n 'воскресенье_понедельник_вторник_среда_четверг_пятница_суббота'.split(\n '_'\n ),\n format: 'воскресенье_понедельник_вторник_среду_четверг_пятницу_субботу'.split(\n '_'\n ),\n isFormat: /\\[ ?[Вв] ?(?:прошлую|следующую|эту)? ?] ?dddd/,\n },\n weekdaysShort: 'вс_пн_вт_ср_чт_пт_сб'.split('_'),\n weekdaysMin: 'вс_пн_вт_ср_чт_пт_сб'.split('_'),\n monthsParse: monthsParse,\n longMonthsParse: monthsParse,\n shortMonthsParse: monthsParse,\n\n // полные названия с падежами, по три буквы, для некоторых, по 4 буквы, сокращения с точкой и без точки\n monthsRegex:\n /^(январ[ья]|янв\\.?|феврал[ья]|февр?\\.?|марта?|мар\\.?|апрел[ья]|апр\\.?|ма[йя]|июн[ья]|июн\\.?|июл[ья]|июл\\.?|августа?|авг\\.?|сентябр[ья]|сент?\\.?|октябр[ья]|окт\\.?|ноябр[ья]|нояб?\\.?|декабр[ья]|дек\\.?)/i,\n\n // копия предыдущего\n monthsShortRegex:\n /^(январ[ья]|янв\\.?|феврал[ья]|февр?\\.?|марта?|мар\\.?|апрел[ья]|апр\\.?|ма[йя]|июн[ья]|июн\\.?|июл[ья]|июл\\.?|августа?|авг\\.?|сентябр[ья]|сент?\\.?|октябр[ья]|окт\\.?|ноябр[ья]|нояб?\\.?|декабр[ья]|дек\\.?)/i,\n\n // полные названия с падежами\n monthsStrictRegex:\n /^(январ[яь]|феврал[яь]|марта?|апрел[яь]|ма[яй]|июн[яь]|июл[яь]|августа?|сентябр[яь]|октябр[яь]|ноябр[яь]|декабр[яь])/i,\n\n // Выражение, которое соответствует только сокращённым формам\n monthsShortStrictRegex:\n /^(янв\\.|февр?\\.|мар[т.]|апр\\.|ма[яй]|июн[ья.]|июл[ья.]|авг\\.|сент?\\.|окт\\.|нояб?\\.|дек\\.)/i,\n longDateFormat: {\n LT: 'H:mm',\n LTS: 'H:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'D MMMM YYYY г.',\n LLL: 'D MMMM YYYY г., H:mm',\n LLLL: 'dddd, D MMMM YYYY г., H:mm',\n },\n calendar: {\n sameDay: '[Сегодня, в] LT',\n nextDay: '[Завтра, в] LT',\n lastDay: '[Вчера, в] LT',\n nextWeek: function (now) {\n if (now.week() !== this.week()) {\n switch (this.day()) {\n case 0:\n return '[В следующее] dddd, [в] LT';\n case 1:\n case 2:\n case 4:\n return '[В следующий] dddd, [в] LT';\n case 3:\n case 5:\n case 6:\n return '[В следующую] dddd, [в] LT';\n }\n } else {\n if (this.day() === 2) {\n return '[Во] dddd, [в] LT';\n } else {\n return '[В] dddd, [в] LT';\n }\n }\n },\n lastWeek: function (now) {\n if (now.week() !== this.week()) {\n switch (this.day()) {\n case 0:\n return '[В прошлое] dddd, [в] LT';\n case 1:\n case 2:\n case 4:\n return '[В прошлый] dddd, [в] LT';\n case 3:\n case 5:\n case 6:\n return '[В прошлую] dddd, [в] LT';\n }\n } else {\n if (this.day() === 2) {\n return '[Во] dddd, [в] LT';\n } else {\n return '[В] dddd, [в] LT';\n }\n }\n },\n sameElse: 'L',\n },\n relativeTime: {\n future: 'через %s',\n past: '%s назад',\n s: 'несколько секунд',\n ss: relativeTimeWithPlural,\n m: relativeTimeWithPlural,\n mm: relativeTimeWithPlural,\n h: 'час',\n hh: relativeTimeWithPlural,\n d: 'день',\n dd: relativeTimeWithPlural,\n w: 'неделя',\n ww: relativeTimeWithPlural,\n M: 'месяц',\n MM: relativeTimeWithPlural,\n y: 'год',\n yy: relativeTimeWithPlural,\n },\n meridiemParse: /ночи|утра|дня|вечера/i,\n isPM: function (input) {\n return /^(дня|вечера)$/.test(input);\n },\n meridiem: function (hour, minute, isLower) {\n if (hour < 4) {\n return 'ночи';\n } else if (hour < 12) {\n return 'утра';\n } else if (hour < 17) {\n return 'дня';\n } else {\n return 'вечера';\n }\n },\n dayOfMonthOrdinalParse: /\\d{1,2}-(й|го|я)/,\n ordinal: function (number, period) {\n switch (period) {\n case 'M':\n case 'd':\n case 'DDD':\n return number + '-й';\n case 'D':\n return number + '-го';\n case 'w':\n case 'W':\n return number + '-я';\n default:\n return number;\n }\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return ru;\n\n})));\n","//! moment.js locale configuration\n//! locale : Sindhi [sd]\n//! author : Narain Sagar : https://github.com/narainsagar\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var months = [\n 'جنوري',\n 'فيبروري',\n 'مارچ',\n 'اپريل',\n 'مئي',\n 'جون',\n 'جولاءِ',\n 'آگسٽ',\n 'سيپٽمبر',\n 'آڪٽوبر',\n 'نومبر',\n 'ڊسمبر',\n ],\n days = ['آچر', 'سومر', 'اڱارو', 'اربع', 'خميس', 'جمع', 'ڇنڇر'];\n\n var sd = moment.defineLocale('sd', {\n months: months,\n monthsShort: months,\n weekdays: days,\n weekdaysShort: days,\n weekdaysMin: days,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd، D MMMM YYYY HH:mm',\n },\n meridiemParse: /صبح|شام/,\n isPM: function (input) {\n return 'شام' === input;\n },\n meridiem: function (hour, minute, isLower) {\n if (hour < 12) {\n return 'صبح';\n }\n return 'شام';\n },\n calendar: {\n sameDay: '[اڄ] LT',\n nextDay: '[سڀاڻي] LT',\n nextWeek: 'dddd [اڳين هفتي تي] LT',\n lastDay: '[ڪالهه] LT',\n lastWeek: '[گزريل هفتي] dddd [تي] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: '%s پوء',\n past: '%s اڳ',\n s: 'چند سيڪنڊ',\n ss: '%d سيڪنڊ',\n m: 'هڪ منٽ',\n mm: '%d منٽ',\n h: 'هڪ ڪلاڪ',\n hh: '%d ڪلاڪ',\n d: 'هڪ ڏينهن',\n dd: '%d ڏينهن',\n M: 'هڪ مهينو',\n MM: '%d مهينا',\n y: 'هڪ سال',\n yy: '%d سال',\n },\n preparse: function (string) {\n return string.replace(/،/g, ',');\n },\n postformat: function (string) {\n return string.replace(/,/g, '،');\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return sd;\n\n})));\n","//! moment.js locale configuration\n//! locale : Northern Sami [se]\n//! authors : Bård Rolstad Henriksen : https://github.com/karamell\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var se = moment.defineLocale('se', {\n months: 'ođđajagemánnu_guovvamánnu_njukčamánnu_cuoŋománnu_miessemánnu_geassemánnu_suoidnemánnu_borgemánnu_čakčamánnu_golggotmánnu_skábmamánnu_juovlamánnu'.split(\n '_'\n ),\n monthsShort:\n 'ođđj_guov_njuk_cuo_mies_geas_suoi_borg_čakč_golg_skáb_juov'.split('_'),\n weekdays:\n 'sotnabeaivi_vuossárga_maŋŋebárga_gaskavahkku_duorastat_bearjadat_lávvardat'.split(\n '_'\n ),\n weekdaysShort: 'sotn_vuos_maŋ_gask_duor_bear_láv'.split('_'),\n weekdaysMin: 's_v_m_g_d_b_L'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'MMMM D. [b.] YYYY',\n LLL: 'MMMM D. [b.] YYYY [ti.] HH:mm',\n LLLL: 'dddd, MMMM D. [b.] YYYY [ti.] HH:mm',\n },\n calendar: {\n sameDay: '[otne ti] LT',\n nextDay: '[ihttin ti] LT',\n nextWeek: 'dddd [ti] LT',\n lastDay: '[ikte ti] LT',\n lastWeek: '[ovddit] dddd [ti] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: '%s geažes',\n past: 'maŋit %s',\n s: 'moadde sekunddat',\n ss: '%d sekunddat',\n m: 'okta minuhta',\n mm: '%d minuhtat',\n h: 'okta diimmu',\n hh: '%d diimmut',\n d: 'okta beaivi',\n dd: '%d beaivvit',\n M: 'okta mánnu',\n MM: '%d mánut',\n y: 'okta jahki',\n yy: '%d jagit',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal: '%d.',\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return se;\n\n})));\n","//! moment.js locale configuration\n//! locale : Sinhalese [si]\n//! author : Sampath Sitinamaluwa : https://github.com/sampathsris\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n /*jshint -W100*/\n var si = moment.defineLocale('si', {\n months: 'ජනවාරි_පෙබරවාරි_මාර්තු_අප්‍රේල්_මැයි_ජූනි_ජූලි_අගෝස්තු_සැප්තැම්බර්_ඔක්තෝබර්_නොවැම්බර්_දෙසැම්බර්'.split(\n '_'\n ),\n monthsShort: 'ජන_පෙබ_මාර්_අප්_මැයි_ජූනි_ජූලි_අගෝ_සැප්_ඔක්_නොවැ_දෙසැ'.split(\n '_'\n ),\n weekdays:\n 'ඉරිදා_සඳුදා_අඟහරුවාදා_බදාදා_බ්‍රහස්පතින්දා_සිකුරාදා_සෙනසුරාදා'.split(\n '_'\n ),\n weekdaysShort: 'ඉරි_සඳු_අඟ_බදා_බ්‍රහ_සිකු_සෙන'.split('_'),\n weekdaysMin: 'ඉ_ස_අ_බ_බ්‍ර_සි_සෙ'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'a h:mm',\n LTS: 'a h:mm:ss',\n L: 'YYYY/MM/DD',\n LL: 'YYYY MMMM D',\n LLL: 'YYYY MMMM D, a h:mm',\n LLLL: 'YYYY MMMM D [වැනි] dddd, a h:mm:ss',\n },\n calendar: {\n sameDay: '[අද] LT[ට]',\n nextDay: '[හෙට] LT[ට]',\n nextWeek: 'dddd LT[ට]',\n lastDay: '[ඊයේ] LT[ට]',\n lastWeek: '[පසුගිය] dddd LT[ට]',\n sameElse: 'L',\n },\n relativeTime: {\n future: '%sකින්',\n past: '%sකට පෙර',\n s: 'තත්පර කිහිපය',\n ss: 'තත්පර %d',\n m: 'මිනිත්තුව',\n mm: 'මිනිත්තු %d',\n h: 'පැය',\n hh: 'පැය %d',\n d: 'දිනය',\n dd: 'දින %d',\n M: 'මාසය',\n MM: 'මාස %d',\n y: 'වසර',\n yy: 'වසර %d',\n },\n dayOfMonthOrdinalParse: /\\d{1,2} වැනි/,\n ordinal: function (number) {\n return number + ' වැනි';\n },\n meridiemParse: /පෙර වරු|පස් වරු|පෙ.ව|ප.ව./,\n isPM: function (input) {\n return input === 'ප.ව.' || input === 'පස් වරු';\n },\n meridiem: function (hours, minutes, isLower) {\n if (hours > 11) {\n return isLower ? 'ප.ව.' : 'පස් වරු';\n } else {\n return isLower ? 'පෙ.ව.' : 'පෙර වරු';\n }\n },\n });\n\n return si;\n\n})));\n","//! moment.js locale configuration\n//! locale : Slovak [sk]\n//! author : Martin Minka : https://github.com/k2s\n//! based on work of petrbela : https://github.com/petrbela\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var months =\n 'január_február_marec_apríl_máj_jún_júl_august_september_október_november_december'.split(\n '_'\n ),\n monthsShort = 'jan_feb_mar_apr_máj_jún_júl_aug_sep_okt_nov_dec'.split('_');\n function plural(n) {\n return n > 1 && n < 5;\n }\n function translate(number, withoutSuffix, key, isFuture) {\n var result = number + ' ';\n switch (key) {\n case 's': // a few seconds / in a few seconds / a few seconds ago\n return withoutSuffix || isFuture ? 'pár sekúnd' : 'pár sekundami';\n case 'ss': // 9 seconds / in 9 seconds / 9 seconds ago\n if (withoutSuffix || isFuture) {\n return result + (plural(number) ? 'sekundy' : 'sekúnd');\n } else {\n return result + 'sekundami';\n }\n case 'm': // a minute / in a minute / a minute ago\n return withoutSuffix ? 'minúta' : isFuture ? 'minútu' : 'minútou';\n case 'mm': // 9 minutes / in 9 minutes / 9 minutes ago\n if (withoutSuffix || isFuture) {\n return result + (plural(number) ? 'minúty' : 'minút');\n } else {\n return result + 'minútami';\n }\n case 'h': // an hour / in an hour / an hour ago\n return withoutSuffix ? 'hodina' : isFuture ? 'hodinu' : 'hodinou';\n case 'hh': // 9 hours / in 9 hours / 9 hours ago\n if (withoutSuffix || isFuture) {\n return result + (plural(number) ? 'hodiny' : 'hodín');\n } else {\n return result + 'hodinami';\n }\n case 'd': // a day / in a day / a day ago\n return withoutSuffix || isFuture ? 'deň' : 'dňom';\n case 'dd': // 9 days / in 9 days / 9 days ago\n if (withoutSuffix || isFuture) {\n return result + (plural(number) ? 'dni' : 'dní');\n } else {\n return result + 'dňami';\n }\n case 'M': // a month / in a month / a month ago\n return withoutSuffix || isFuture ? 'mesiac' : 'mesiacom';\n case 'MM': // 9 months / in 9 months / 9 months ago\n if (withoutSuffix || isFuture) {\n return result + (plural(number) ? 'mesiace' : 'mesiacov');\n } else {\n return result + 'mesiacmi';\n }\n case 'y': // a year / in a year / a year ago\n return withoutSuffix || isFuture ? 'rok' : 'rokom';\n case 'yy': // 9 years / in 9 years / 9 years ago\n if (withoutSuffix || isFuture) {\n return result + (plural(number) ? 'roky' : 'rokov');\n } else {\n return result + 'rokmi';\n }\n }\n }\n\n var sk = moment.defineLocale('sk', {\n months: months,\n monthsShort: monthsShort,\n weekdays: 'nedeľa_pondelok_utorok_streda_štvrtok_piatok_sobota'.split('_'),\n weekdaysShort: 'ne_po_ut_st_št_pi_so'.split('_'),\n weekdaysMin: 'ne_po_ut_st_št_pi_so'.split('_'),\n longDateFormat: {\n LT: 'H:mm',\n LTS: 'H:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'D. MMMM YYYY',\n LLL: 'D. MMMM YYYY H:mm',\n LLLL: 'dddd D. MMMM YYYY H:mm',\n },\n calendar: {\n sameDay: '[dnes o] LT',\n nextDay: '[zajtra o] LT',\n nextWeek: function () {\n switch (this.day()) {\n case 0:\n return '[v nedeľu o] LT';\n case 1:\n case 2:\n return '[v] dddd [o] LT';\n case 3:\n return '[v stredu o] LT';\n case 4:\n return '[vo štvrtok o] LT';\n case 5:\n return '[v piatok o] LT';\n case 6:\n return '[v sobotu o] LT';\n }\n },\n lastDay: '[včera o] LT',\n lastWeek: function () {\n switch (this.day()) {\n case 0:\n return '[minulú nedeľu o] LT';\n case 1:\n case 2:\n return '[minulý] dddd [o] LT';\n case 3:\n return '[minulú stredu o] LT';\n case 4:\n case 5:\n return '[minulý] dddd [o] LT';\n case 6:\n return '[minulú sobotu o] LT';\n }\n },\n sameElse: 'L',\n },\n relativeTime: {\n future: 'za %s',\n past: 'pred %s',\n s: translate,\n ss: translate,\n m: translate,\n mm: translate,\n h: translate,\n hh: translate,\n d: translate,\n dd: translate,\n M: translate,\n MM: translate,\n y: translate,\n yy: translate,\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal: '%d.',\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return sk;\n\n})));\n","//! moment.js locale configuration\n//! locale : Slovenian [sl]\n//! author : Robert Sedovšek : https://github.com/sedovsek\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n function processRelativeTime(number, withoutSuffix, key, isFuture) {\n var result = number + ' ';\n switch (key) {\n case 's':\n return withoutSuffix || isFuture\n ? 'nekaj sekund'\n : 'nekaj sekundami';\n case 'ss':\n if (number === 1) {\n result += withoutSuffix ? 'sekundo' : 'sekundi';\n } else if (number === 2) {\n result += withoutSuffix || isFuture ? 'sekundi' : 'sekundah';\n } else if (number < 5) {\n result += withoutSuffix || isFuture ? 'sekunde' : 'sekundah';\n } else {\n result += 'sekund';\n }\n return result;\n case 'm':\n return withoutSuffix ? 'ena minuta' : 'eno minuto';\n case 'mm':\n if (number === 1) {\n result += withoutSuffix ? 'minuta' : 'minuto';\n } else if (number === 2) {\n result += withoutSuffix || isFuture ? 'minuti' : 'minutama';\n } else if (number < 5) {\n result += withoutSuffix || isFuture ? 'minute' : 'minutami';\n } else {\n result += withoutSuffix || isFuture ? 'minut' : 'minutami';\n }\n return result;\n case 'h':\n return withoutSuffix ? 'ena ura' : 'eno uro';\n case 'hh':\n if (number === 1) {\n result += withoutSuffix ? 'ura' : 'uro';\n } else if (number === 2) {\n result += withoutSuffix || isFuture ? 'uri' : 'urama';\n } else if (number < 5) {\n result += withoutSuffix || isFuture ? 'ure' : 'urami';\n } else {\n result += withoutSuffix || isFuture ? 'ur' : 'urami';\n }\n return result;\n case 'd':\n return withoutSuffix || isFuture ? 'en dan' : 'enim dnem';\n case 'dd':\n if (number === 1) {\n result += withoutSuffix || isFuture ? 'dan' : 'dnem';\n } else if (number === 2) {\n result += withoutSuffix || isFuture ? 'dni' : 'dnevoma';\n } else {\n result += withoutSuffix || isFuture ? 'dni' : 'dnevi';\n }\n return result;\n case 'M':\n return withoutSuffix || isFuture ? 'en mesec' : 'enim mesecem';\n case 'MM':\n if (number === 1) {\n result += withoutSuffix || isFuture ? 'mesec' : 'mesecem';\n } else if (number === 2) {\n result += withoutSuffix || isFuture ? 'meseca' : 'mesecema';\n } else if (number < 5) {\n result += withoutSuffix || isFuture ? 'mesece' : 'meseci';\n } else {\n result += withoutSuffix || isFuture ? 'mesecev' : 'meseci';\n }\n return result;\n case 'y':\n return withoutSuffix || isFuture ? 'eno leto' : 'enim letom';\n case 'yy':\n if (number === 1) {\n result += withoutSuffix || isFuture ? 'leto' : 'letom';\n } else if (number === 2) {\n result += withoutSuffix || isFuture ? 'leti' : 'letoma';\n } else if (number < 5) {\n result += withoutSuffix || isFuture ? 'leta' : 'leti';\n } else {\n result += withoutSuffix || isFuture ? 'let' : 'leti';\n }\n return result;\n }\n }\n\n var sl = moment.defineLocale('sl', {\n months: 'januar_februar_marec_april_maj_junij_julij_avgust_september_oktober_november_december'.split(\n '_'\n ),\n monthsShort:\n 'jan._feb._mar._apr._maj._jun._jul._avg._sep._okt._nov._dec.'.split(\n '_'\n ),\n monthsParseExact: true,\n weekdays: 'nedelja_ponedeljek_torek_sreda_četrtek_petek_sobota'.split('_'),\n weekdaysShort: 'ned._pon._tor._sre._čet._pet._sob.'.split('_'),\n weekdaysMin: 'ne_po_to_sr_če_pe_so'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'H:mm',\n LTS: 'H:mm:ss',\n L: 'DD. MM. YYYY',\n LL: 'D. MMMM YYYY',\n LLL: 'D. MMMM YYYY H:mm',\n LLLL: 'dddd, D. MMMM YYYY H:mm',\n },\n calendar: {\n sameDay: '[danes ob] LT',\n nextDay: '[jutri ob] LT',\n\n nextWeek: function () {\n switch (this.day()) {\n case 0:\n return '[v] [nedeljo] [ob] LT';\n case 3:\n return '[v] [sredo] [ob] LT';\n case 6:\n return '[v] [soboto] [ob] LT';\n case 1:\n case 2:\n case 4:\n case 5:\n return '[v] dddd [ob] LT';\n }\n },\n lastDay: '[včeraj ob] LT',\n lastWeek: function () {\n switch (this.day()) {\n case 0:\n return '[prejšnjo] [nedeljo] [ob] LT';\n case 3:\n return '[prejšnjo] [sredo] [ob] LT';\n case 6:\n return '[prejšnjo] [soboto] [ob] LT';\n case 1:\n case 2:\n case 4:\n case 5:\n return '[prejšnji] dddd [ob] LT';\n }\n },\n sameElse: 'L',\n },\n relativeTime: {\n future: 'čez %s',\n past: 'pred %s',\n s: processRelativeTime,\n ss: processRelativeTime,\n m: processRelativeTime,\n mm: processRelativeTime,\n h: processRelativeTime,\n hh: processRelativeTime,\n d: processRelativeTime,\n dd: processRelativeTime,\n M: processRelativeTime,\n MM: processRelativeTime,\n y: processRelativeTime,\n yy: processRelativeTime,\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal: '%d.',\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 7, // The week that contains Jan 7th is the first week of the year.\n },\n });\n\n return sl;\n\n})));\n","//! moment.js locale configuration\n//! locale : Albanian [sq]\n//! author : Flakërim Ismani : https://github.com/flakerimi\n//! author : Menelion Elensúle : https://github.com/Oire\n//! author : Oerd Cukalla : https://github.com/oerd\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var sq = moment.defineLocale('sq', {\n months: 'Janar_Shkurt_Mars_Prill_Maj_Qershor_Korrik_Gusht_Shtator_Tetor_Nëntor_Dhjetor'.split(\n '_'\n ),\n monthsShort: 'Jan_Shk_Mar_Pri_Maj_Qer_Kor_Gus_Sht_Tet_Nën_Dhj'.split('_'),\n weekdays: 'E Diel_E Hënë_E Martë_E Mërkurë_E Enjte_E Premte_E Shtunë'.split(\n '_'\n ),\n weekdaysShort: 'Die_Hën_Mar_Mër_Enj_Pre_Sht'.split('_'),\n weekdaysMin: 'D_H_Ma_Më_E_P_Sh'.split('_'),\n weekdaysParseExact: true,\n meridiemParse: /PD|MD/,\n isPM: function (input) {\n return input.charAt(0) === 'M';\n },\n meridiem: function (hours, minutes, isLower) {\n return hours < 12 ? 'PD' : 'MD';\n },\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd, D MMMM YYYY HH:mm',\n },\n calendar: {\n sameDay: '[Sot në] LT',\n nextDay: '[Nesër në] LT',\n nextWeek: 'dddd [në] LT',\n lastDay: '[Dje në] LT',\n lastWeek: 'dddd [e kaluar në] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'në %s',\n past: '%s më parë',\n s: 'disa sekonda',\n ss: '%d sekonda',\n m: 'një minutë',\n mm: '%d minuta',\n h: 'një orë',\n hh: '%d orë',\n d: 'një ditë',\n dd: '%d ditë',\n M: 'një muaj',\n MM: '%d muaj',\n y: 'një vit',\n yy: '%d vite',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal: '%d.',\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return sq;\n\n})));\n","//! moment.js locale configuration\n//! locale : Serbian Cyrillic [sr-cyrl]\n//! author : Milan Janačković : https://github.com/milan-j\n//! author : Stefan Crnjaković : https://github.com/crnjakovic\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var translator = {\n words: {\n //Different grammatical cases\n ss: ['секунда', 'секунде', 'секунди'],\n m: ['један минут', 'једног минута'],\n mm: ['минут', 'минута', 'минута'],\n h: ['један сат', 'једног сата'],\n hh: ['сат', 'сата', 'сати'],\n d: ['један дан', 'једног дана'],\n dd: ['дан', 'дана', 'дана'],\n M: ['један месец', 'једног месеца'],\n MM: ['месец', 'месеца', 'месеци'],\n y: ['једну годину', 'једне године'],\n yy: ['годину', 'године', 'година'],\n },\n correctGrammaticalCase: function (number, wordKey) {\n if (\n number % 10 >= 1 &&\n number % 10 <= 4 &&\n (number % 100 < 10 || number % 100 >= 20)\n ) {\n return number % 10 === 1 ? wordKey[0] : wordKey[1];\n }\n return wordKey[2];\n },\n translate: function (number, withoutSuffix, key, isFuture) {\n var wordKey = translator.words[key],\n word;\n\n if (key.length === 1) {\n // Nominativ\n if (key === 'y' && withoutSuffix) return 'једна година';\n return isFuture || withoutSuffix ? wordKey[0] : wordKey[1];\n }\n\n word = translator.correctGrammaticalCase(number, wordKey);\n // Nominativ\n if (key === 'yy' && withoutSuffix && word === 'годину') {\n return number + ' година';\n }\n\n return number + ' ' + word;\n },\n };\n\n var srCyrl = moment.defineLocale('sr-cyrl', {\n months: 'јануар_фебруар_март_април_мај_јун_јул_август_септембар_октобар_новембар_децембар'.split(\n '_'\n ),\n monthsShort:\n 'јан._феб._мар._апр._мај_јун_јул_авг._сеп._окт._нов._дец.'.split('_'),\n monthsParseExact: true,\n weekdays: 'недеља_понедељак_уторак_среда_четвртак_петак_субота'.split('_'),\n weekdaysShort: 'нед._пон._уто._сре._чет._пет._суб.'.split('_'),\n weekdaysMin: 'не_по_ут_ср_че_пе_су'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'H:mm',\n LTS: 'H:mm:ss',\n L: 'D. M. YYYY.',\n LL: 'D. MMMM YYYY.',\n LLL: 'D. MMMM YYYY. H:mm',\n LLLL: 'dddd, D. MMMM YYYY. H:mm',\n },\n calendar: {\n sameDay: '[данас у] LT',\n nextDay: '[сутра у] LT',\n nextWeek: function () {\n switch (this.day()) {\n case 0:\n return '[у] [недељу] [у] LT';\n case 3:\n return '[у] [среду] [у] LT';\n case 6:\n return '[у] [суботу] [у] LT';\n case 1:\n case 2:\n case 4:\n case 5:\n return '[у] dddd [у] LT';\n }\n },\n lastDay: '[јуче у] LT',\n lastWeek: function () {\n var lastWeekDays = [\n '[прошле] [недеље] [у] LT',\n '[прошлог] [понедељка] [у] LT',\n '[прошлог] [уторка] [у] LT',\n '[прошле] [среде] [у] LT',\n '[прошлог] [четвртка] [у] LT',\n '[прошлог] [петка] [у] LT',\n '[прошле] [суботе] [у] LT',\n ];\n return lastWeekDays[this.day()];\n },\n sameElse: 'L',\n },\n relativeTime: {\n future: 'за %s',\n past: 'пре %s',\n s: 'неколико секунди',\n ss: translator.translate,\n m: translator.translate,\n mm: translator.translate,\n h: translator.translate,\n hh: translator.translate,\n d: translator.translate,\n dd: translator.translate,\n M: translator.translate,\n MM: translator.translate,\n y: translator.translate,\n yy: translator.translate,\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal: '%d.',\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 7, // The week that contains Jan 1st is the first week of the year.\n },\n });\n\n return srCyrl;\n\n})));\n","//! moment.js locale configuration\n//! locale : Serbian [sr]\n//! author : Milan Janačković : https://github.com/milan-j\n//! author : Stefan Crnjaković : https://github.com/crnjakovic\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var translator = {\n words: {\n //Different grammatical cases\n ss: ['sekunda', 'sekunde', 'sekundi'],\n m: ['jedan minut', 'jednog minuta'],\n mm: ['minut', 'minuta', 'minuta'],\n h: ['jedan sat', 'jednog sata'],\n hh: ['sat', 'sata', 'sati'],\n d: ['jedan dan', 'jednog dana'],\n dd: ['dan', 'dana', 'dana'],\n M: ['jedan mesec', 'jednog meseca'],\n MM: ['mesec', 'meseca', 'meseci'],\n y: ['jednu godinu', 'jedne godine'],\n yy: ['godinu', 'godine', 'godina'],\n },\n correctGrammaticalCase: function (number, wordKey) {\n if (\n number % 10 >= 1 &&\n number % 10 <= 4 &&\n (number % 100 < 10 || number % 100 >= 20)\n ) {\n return number % 10 === 1 ? wordKey[0] : wordKey[1];\n }\n return wordKey[2];\n },\n translate: function (number, withoutSuffix, key, isFuture) {\n var wordKey = translator.words[key],\n word;\n\n if (key.length === 1) {\n // Nominativ\n if (key === 'y' && withoutSuffix) return 'jedna godina';\n return isFuture || withoutSuffix ? wordKey[0] : wordKey[1];\n }\n\n word = translator.correctGrammaticalCase(number, wordKey);\n // Nominativ\n if (key === 'yy' && withoutSuffix && word === 'godinu') {\n return number + ' godina';\n }\n\n return number + ' ' + word;\n },\n };\n\n var sr = moment.defineLocale('sr', {\n months: 'januar_februar_mart_april_maj_jun_jul_avgust_septembar_oktobar_novembar_decembar'.split(\n '_'\n ),\n monthsShort:\n 'jan._feb._mar._apr._maj_jun_jul_avg._sep._okt._nov._dec.'.split('_'),\n monthsParseExact: true,\n weekdays: 'nedelja_ponedeljak_utorak_sreda_četvrtak_petak_subota'.split(\n '_'\n ),\n weekdaysShort: 'ned._pon._uto._sre._čet._pet._sub.'.split('_'),\n weekdaysMin: 'ne_po_ut_sr_če_pe_su'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'H:mm',\n LTS: 'H:mm:ss',\n L: 'D. M. YYYY.',\n LL: 'D. MMMM YYYY.',\n LLL: 'D. MMMM YYYY. H:mm',\n LLLL: 'dddd, D. MMMM YYYY. H:mm',\n },\n calendar: {\n sameDay: '[danas u] LT',\n nextDay: '[sutra u] LT',\n nextWeek: function () {\n switch (this.day()) {\n case 0:\n return '[u] [nedelju] [u] LT';\n case 3:\n return '[u] [sredu] [u] LT';\n case 6:\n return '[u] [subotu] [u] LT';\n case 1:\n case 2:\n case 4:\n case 5:\n return '[u] dddd [u] LT';\n }\n },\n lastDay: '[juče u] LT',\n lastWeek: function () {\n var lastWeekDays = [\n '[prošle] [nedelje] [u] LT',\n '[prošlog] [ponedeljka] [u] LT',\n '[prošlog] [utorka] [u] LT',\n '[prošle] [srede] [u] LT',\n '[prošlog] [četvrtka] [u] LT',\n '[prošlog] [petka] [u] LT',\n '[prošle] [subote] [u] LT',\n ];\n return lastWeekDays[this.day()];\n },\n sameElse: 'L',\n },\n relativeTime: {\n future: 'za %s',\n past: 'pre %s',\n s: 'nekoliko sekundi',\n ss: translator.translate,\n m: translator.translate,\n mm: translator.translate,\n h: translator.translate,\n hh: translator.translate,\n d: translator.translate,\n dd: translator.translate,\n M: translator.translate,\n MM: translator.translate,\n y: translator.translate,\n yy: translator.translate,\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal: '%d.',\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 7, // The week that contains Jan 7th is the first week of the year.\n },\n });\n\n return sr;\n\n})));\n","//! moment.js locale configuration\n//! locale : siSwati [ss]\n//! author : Nicolai Davies : https://github.com/nicolaidavies\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var ss = moment.defineLocale('ss', {\n months: \"Bhimbidvwane_Indlovana_Indlov'lenkhulu_Mabasa_Inkhwekhweti_Inhlaba_Kholwane_Ingci_Inyoni_Imphala_Lweti_Ingongoni\".split(\n '_'\n ),\n monthsShort: 'Bhi_Ina_Inu_Mab_Ink_Inh_Kho_Igc_Iny_Imp_Lwe_Igo'.split('_'),\n weekdays:\n 'Lisontfo_Umsombuluko_Lesibili_Lesitsatfu_Lesine_Lesihlanu_Umgcibelo'.split(\n '_'\n ),\n weekdaysShort: 'Lis_Umb_Lsb_Les_Lsi_Lsh_Umg'.split('_'),\n weekdaysMin: 'Li_Us_Lb_Lt_Ls_Lh_Ug'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'h:mm A',\n LTS: 'h:mm:ss A',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY h:mm A',\n LLLL: 'dddd, D MMMM YYYY h:mm A',\n },\n calendar: {\n sameDay: '[Namuhla nga] LT',\n nextDay: '[Kusasa nga] LT',\n nextWeek: 'dddd [nga] LT',\n lastDay: '[Itolo nga] LT',\n lastWeek: 'dddd [leliphelile] [nga] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'nga %s',\n past: 'wenteka nga %s',\n s: 'emizuzwana lomcane',\n ss: '%d mzuzwana',\n m: 'umzuzu',\n mm: '%d emizuzu',\n h: 'lihora',\n hh: '%d emahora',\n d: 'lilanga',\n dd: '%d emalanga',\n M: 'inyanga',\n MM: '%d tinyanga',\n y: 'umnyaka',\n yy: '%d iminyaka',\n },\n meridiemParse: /ekuseni|emini|entsambama|ebusuku/,\n meridiem: function (hours, minutes, isLower) {\n if (hours < 11) {\n return 'ekuseni';\n } else if (hours < 15) {\n return 'emini';\n } else if (hours < 19) {\n return 'entsambama';\n } else {\n return 'ebusuku';\n }\n },\n meridiemHour: function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (meridiem === 'ekuseni') {\n return hour;\n } else if (meridiem === 'emini') {\n return hour >= 11 ? hour : hour + 12;\n } else if (meridiem === 'entsambama' || meridiem === 'ebusuku') {\n if (hour === 0) {\n return 0;\n }\n return hour + 12;\n }\n },\n dayOfMonthOrdinalParse: /\\d{1,2}/,\n ordinal: '%d',\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return ss;\n\n})));\n","//! moment.js locale configuration\n//! locale : Swedish [sv]\n//! author : Jens Alm : https://github.com/ulmus\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var sv = moment.defineLocale('sv', {\n months: 'januari_februari_mars_april_maj_juni_juli_augusti_september_oktober_november_december'.split(\n '_'\n ),\n monthsShort: 'jan_feb_mar_apr_maj_jun_jul_aug_sep_okt_nov_dec'.split('_'),\n weekdays: 'söndag_måndag_tisdag_onsdag_torsdag_fredag_lördag'.split('_'),\n weekdaysShort: 'sön_mån_tis_ons_tor_fre_lör'.split('_'),\n weekdaysMin: 'sö_må_ti_on_to_fr_lö'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'YYYY-MM-DD',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY [kl.] HH:mm',\n LLLL: 'dddd D MMMM YYYY [kl.] HH:mm',\n lll: 'D MMM YYYY HH:mm',\n llll: 'ddd D MMM YYYY HH:mm',\n },\n calendar: {\n sameDay: '[Idag] LT',\n nextDay: '[Imorgon] LT',\n lastDay: '[Igår] LT',\n nextWeek: '[På] dddd LT',\n lastWeek: '[I] dddd[s] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'om %s',\n past: 'för %s sedan',\n s: 'några sekunder',\n ss: '%d sekunder',\n m: 'en minut',\n mm: '%d minuter',\n h: 'en timme',\n hh: '%d timmar',\n d: 'en dag',\n dd: '%d dagar',\n M: 'en månad',\n MM: '%d månader',\n y: 'ett år',\n yy: '%d år',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(\\:e|\\:a)/,\n ordinal: function (number) {\n var b = number % 10,\n output =\n ~~((number % 100) / 10) === 1\n ? ':e'\n : b === 1\n ? ':a'\n : b === 2\n ? ':a'\n : b === 3\n ? ':e'\n : ':e';\n return number + output;\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return sv;\n\n})));\n","//! moment.js locale configuration\n//! locale : Swahili [sw]\n//! author : Fahad Kassim : https://github.com/fadsel\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var sw = moment.defineLocale('sw', {\n months: 'Januari_Februari_Machi_Aprili_Mei_Juni_Julai_Agosti_Septemba_Oktoba_Novemba_Desemba'.split(\n '_'\n ),\n monthsShort: 'Jan_Feb_Mac_Apr_Mei_Jun_Jul_Ago_Sep_Okt_Nov_Des'.split('_'),\n weekdays:\n 'Jumapili_Jumatatu_Jumanne_Jumatano_Alhamisi_Ijumaa_Jumamosi'.split(\n '_'\n ),\n weekdaysShort: 'Jpl_Jtat_Jnne_Jtan_Alh_Ijm_Jmos'.split('_'),\n weekdaysMin: 'J2_J3_J4_J5_Al_Ij_J1'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'hh:mm A',\n LTS: 'HH:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd, D MMMM YYYY HH:mm',\n },\n calendar: {\n sameDay: '[leo saa] LT',\n nextDay: '[kesho saa] LT',\n nextWeek: '[wiki ijayo] dddd [saat] LT',\n lastDay: '[jana] LT',\n lastWeek: '[wiki iliyopita] dddd [saat] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: '%s baadaye',\n past: 'tokea %s',\n s: 'hivi punde',\n ss: 'sekunde %d',\n m: 'dakika moja',\n mm: 'dakika %d',\n h: 'saa limoja',\n hh: 'masaa %d',\n d: 'siku moja',\n dd: 'siku %d',\n M: 'mwezi mmoja',\n MM: 'miezi %d',\n y: 'mwaka mmoja',\n yy: 'miaka %d',\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 7, // The week that contains Jan 7th is the first week of the year.\n },\n });\n\n return sw;\n\n})));\n","//! moment.js locale configuration\n//! locale : Tamil [ta]\n//! author : Arjunkumar Krishnamoorthy : https://github.com/tk120404\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var symbolMap = {\n 1: '௧',\n 2: '௨',\n 3: '௩',\n 4: '௪',\n 5: '௫',\n 6: '௬',\n 7: '௭',\n 8: '௮',\n 9: '௯',\n 0: '௦',\n },\n numberMap = {\n '௧': '1',\n '௨': '2',\n '௩': '3',\n '௪': '4',\n '௫': '5',\n '௬': '6',\n '௭': '7',\n '௮': '8',\n '௯': '9',\n '௦': '0',\n };\n\n var ta = moment.defineLocale('ta', {\n months: 'ஜனவரி_பிப்ரவரி_மார்ச்_ஏப்ரல்_மே_ஜூன்_ஜூலை_ஆகஸ்ட்_செப்டெம்பர்_அக்டோபர்_நவம்பர்_டிசம்பர்'.split(\n '_'\n ),\n monthsShort:\n 'ஜனவரி_பிப்ரவரி_மார்ச்_ஏப்ரல்_மே_ஜூன்_ஜூலை_ஆகஸ்ட்_செப்டெம்பர்_அக்டோபர்_நவம்பர்_டிசம்பர்'.split(\n '_'\n ),\n weekdays:\n 'ஞாயிற்றுக்கிழமை_திங்கட்கிழமை_செவ்வாய்கிழமை_புதன்கிழமை_வியாழக்கிழமை_வெள்ளிக்கிழமை_சனிக்கிழமை'.split(\n '_'\n ),\n weekdaysShort: 'ஞாயிறு_திங்கள்_செவ்வாய்_புதன்_வியாழன்_வெள்ளி_சனி'.split(\n '_'\n ),\n weekdaysMin: 'ஞா_தி_செ_பு_வி_வெ_ச'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY, HH:mm',\n LLLL: 'dddd, D MMMM YYYY, HH:mm',\n },\n calendar: {\n sameDay: '[இன்று] LT',\n nextDay: '[நாளை] LT',\n nextWeek: 'dddd, LT',\n lastDay: '[நேற்று] LT',\n lastWeek: '[கடந்த வாரம்] dddd, LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: '%s இல்',\n past: '%s முன்',\n s: 'ஒரு சில விநாடிகள்',\n ss: '%d விநாடிகள்',\n m: 'ஒரு நிமிடம்',\n mm: '%d நிமிடங்கள்',\n h: 'ஒரு மணி நேரம்',\n hh: '%d மணி நேரம்',\n d: 'ஒரு நாள்',\n dd: '%d நாட்கள்',\n M: 'ஒரு மாதம்',\n MM: '%d மாதங்கள்',\n y: 'ஒரு வருடம்',\n yy: '%d ஆண்டுகள்',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}வது/,\n ordinal: function (number) {\n return number + 'வது';\n },\n preparse: function (string) {\n return string.replace(/[௧௨௩௪௫௬௭௮௯௦]/g, function (match) {\n return numberMap[match];\n });\n },\n postformat: function (string) {\n return string.replace(/\\d/g, function (match) {\n return symbolMap[match];\n });\n },\n // refer http://ta.wikipedia.org/s/1er1\n meridiemParse: /யாமம்|வைகறை|காலை|நண்பகல்|எற்பாடு|மாலை/,\n meridiem: function (hour, minute, isLower) {\n if (hour < 2) {\n return ' யாமம்';\n } else if (hour < 6) {\n return ' வைகறை'; // வைகறை\n } else if (hour < 10) {\n return ' காலை'; // காலை\n } else if (hour < 14) {\n return ' நண்பகல்'; // நண்பகல்\n } else if (hour < 18) {\n return ' எற்பாடு'; // எற்பாடு\n } else if (hour < 22) {\n return ' மாலை'; // மாலை\n } else {\n return ' யாமம்';\n }\n },\n meridiemHour: function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (meridiem === 'யாமம்') {\n return hour < 2 ? hour : hour + 12;\n } else if (meridiem === 'வைகறை' || meridiem === 'காலை') {\n return hour;\n } else if (meridiem === 'நண்பகல்') {\n return hour >= 10 ? hour : hour + 12;\n } else {\n return hour + 12;\n }\n },\n week: {\n dow: 0, // Sunday is the first day of the week.\n doy: 6, // The week that contains Jan 6th is the first week of the year.\n },\n });\n\n return ta;\n\n})));\n","//! moment.js locale configuration\n//! locale : Telugu [te]\n//! author : Krishna Chaitanya Thota : https://github.com/kcthota\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var te = moment.defineLocale('te', {\n months: 'జనవరి_ఫిబ్రవరి_మార్చి_ఏప్రిల్_మే_జూన్_జులై_ఆగస్టు_సెప్టెంబర్_అక్టోబర్_నవంబర్_డిసెంబర్'.split(\n '_'\n ),\n monthsShort:\n 'జన._ఫిబ్ర._మార్చి_ఏప్రి._మే_జూన్_జులై_ఆగ._సెప్._అక్టో._నవ._డిసె.'.split(\n '_'\n ),\n monthsParseExact: true,\n weekdays:\n 'ఆదివారం_సోమవారం_మంగళవారం_బుధవారం_గురువారం_శుక్రవారం_శనివారం'.split(\n '_'\n ),\n weekdaysShort: 'ఆది_సోమ_మంగళ_బుధ_గురు_శుక్ర_శని'.split('_'),\n weekdaysMin: 'ఆ_సో_మం_బు_గు_శు_శ'.split('_'),\n longDateFormat: {\n LT: 'A h:mm',\n LTS: 'A h:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY, A h:mm',\n LLLL: 'dddd, D MMMM YYYY, A h:mm',\n },\n calendar: {\n sameDay: '[నేడు] LT',\n nextDay: '[రేపు] LT',\n nextWeek: 'dddd, LT',\n lastDay: '[నిన్న] LT',\n lastWeek: '[గత] dddd, LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: '%s లో',\n past: '%s క్రితం',\n s: 'కొన్ని క్షణాలు',\n ss: '%d సెకన్లు',\n m: 'ఒక నిమిషం',\n mm: '%d నిమిషాలు',\n h: 'ఒక గంట',\n hh: '%d గంటలు',\n d: 'ఒక రోజు',\n dd: '%d రోజులు',\n M: 'ఒక నెల',\n MM: '%d నెలలు',\n y: 'ఒక సంవత్సరం',\n yy: '%d సంవత్సరాలు',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}వ/,\n ordinal: '%dవ',\n meridiemParse: /రాత్రి|ఉదయం|మధ్యాహ్నం|సాయంత్రం/,\n meridiemHour: function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (meridiem === 'రాత్రి') {\n return hour < 4 ? hour : hour + 12;\n } else if (meridiem === 'ఉదయం') {\n return hour;\n } else if (meridiem === 'మధ్యాహ్నం') {\n return hour >= 10 ? hour : hour + 12;\n } else if (meridiem === 'సాయంత్రం') {\n return hour + 12;\n }\n },\n meridiem: function (hour, minute, isLower) {\n if (hour < 4) {\n return 'రాత్రి';\n } else if (hour < 10) {\n return 'ఉదయం';\n } else if (hour < 17) {\n return 'మధ్యాహ్నం';\n } else if (hour < 20) {\n return 'సాయంత్రం';\n } else {\n return 'రాత్రి';\n }\n },\n week: {\n dow: 0, // Sunday is the first day of the week.\n doy: 6, // The week that contains Jan 6th is the first week of the year.\n },\n });\n\n return te;\n\n})));\n","//! moment.js locale configuration\n//! locale : Tetun Dili (East Timor) [tet]\n//! author : Joshua Brooks : https://github.com/joshbrooks\n//! author : Onorio De J. Afonso : https://github.com/marobo\n//! author : Sonia Simoes : https://github.com/soniasimoes\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var tet = moment.defineLocale('tet', {\n months: 'Janeiru_Fevereiru_Marsu_Abril_Maiu_Juñu_Jullu_Agustu_Setembru_Outubru_Novembru_Dezembru'.split(\n '_'\n ),\n monthsShort: 'Jan_Fev_Mar_Abr_Mai_Jun_Jul_Ago_Set_Out_Nov_Dez'.split('_'),\n weekdays: 'Domingu_Segunda_Tersa_Kuarta_Kinta_Sesta_Sabadu'.split('_'),\n weekdaysShort: 'Dom_Seg_Ters_Kua_Kint_Sest_Sab'.split('_'),\n weekdaysMin: 'Do_Seg_Te_Ku_Ki_Ses_Sa'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd, D MMMM YYYY HH:mm',\n },\n calendar: {\n sameDay: '[Ohin iha] LT',\n nextDay: '[Aban iha] LT',\n nextWeek: 'dddd [iha] LT',\n lastDay: '[Horiseik iha] LT',\n lastWeek: 'dddd [semana kotuk] [iha] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'iha %s',\n past: '%s liuba',\n s: 'segundu balun',\n ss: 'segundu %d',\n m: 'minutu ida',\n mm: 'minutu %d',\n h: 'oras ida',\n hh: 'oras %d',\n d: 'loron ida',\n dd: 'loron %d',\n M: 'fulan ida',\n MM: 'fulan %d',\n y: 'tinan ida',\n yy: 'tinan %d',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(st|nd|rd|th)/,\n ordinal: function (number) {\n var b = number % 10,\n output =\n ~~((number % 100) / 10) === 1\n ? 'th'\n : b === 1\n ? 'st'\n : b === 2\n ? 'nd'\n : b === 3\n ? 'rd'\n : 'th';\n return number + output;\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return tet;\n\n})));\n","//! moment.js locale configuration\n//! locale : Tajik [tg]\n//! author : Orif N. Jr. : https://github.com/orif-jr\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var suffixes = {\n 0: '-ум',\n 1: '-ум',\n 2: '-юм',\n 3: '-юм',\n 4: '-ум',\n 5: '-ум',\n 6: '-ум',\n 7: '-ум',\n 8: '-ум',\n 9: '-ум',\n 10: '-ум',\n 12: '-ум',\n 13: '-ум',\n 20: '-ум',\n 30: '-юм',\n 40: '-ум',\n 50: '-ум',\n 60: '-ум',\n 70: '-ум',\n 80: '-ум',\n 90: '-ум',\n 100: '-ум',\n };\n\n var tg = moment.defineLocale('tg', {\n months: {\n format: 'январи_феврали_марти_апрели_майи_июни_июли_августи_сентябри_октябри_ноябри_декабри'.split(\n '_'\n ),\n standalone:\n 'январ_феврал_март_апрел_май_июн_июл_август_сентябр_октябр_ноябр_декабр'.split(\n '_'\n ),\n },\n monthsShort: 'янв_фев_мар_апр_май_июн_июл_авг_сен_окт_ноя_дек'.split('_'),\n weekdays: 'якшанбе_душанбе_сешанбе_чоршанбе_панҷшанбе_ҷумъа_шанбе'.split(\n '_'\n ),\n weekdaysShort: 'яшб_дшб_сшб_чшб_пшб_ҷум_шнб'.split('_'),\n weekdaysMin: 'яш_дш_сш_чш_пш_ҷм_шб'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd, D MMMM YYYY HH:mm',\n },\n calendar: {\n sameDay: '[Имрӯз соати] LT',\n nextDay: '[Фардо соати] LT',\n lastDay: '[Дирӯз соати] LT',\n nextWeek: 'dddd[и] [ҳафтаи оянда соати] LT',\n lastWeek: 'dddd[и] [ҳафтаи гузашта соати] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'баъди %s',\n past: '%s пеш',\n s: 'якчанд сония',\n m: 'як дақиқа',\n mm: '%d дақиқа',\n h: 'як соат',\n hh: '%d соат',\n d: 'як рӯз',\n dd: '%d рӯз',\n M: 'як моҳ',\n MM: '%d моҳ',\n y: 'як сол',\n yy: '%d сол',\n },\n meridiemParse: /шаб|субҳ|рӯз|бегоҳ/,\n meridiemHour: function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (meridiem === 'шаб') {\n return hour < 4 ? hour : hour + 12;\n } else if (meridiem === 'субҳ') {\n return hour;\n } else if (meridiem === 'рӯз') {\n return hour >= 11 ? hour : hour + 12;\n } else if (meridiem === 'бегоҳ') {\n return hour + 12;\n }\n },\n meridiem: function (hour, minute, isLower) {\n if (hour < 4) {\n return 'шаб';\n } else if (hour < 11) {\n return 'субҳ';\n } else if (hour < 16) {\n return 'рӯз';\n } else if (hour < 19) {\n return 'бегоҳ';\n } else {\n return 'шаб';\n }\n },\n dayOfMonthOrdinalParse: /\\d{1,2}-(ум|юм)/,\n ordinal: function (number) {\n var a = number % 10,\n b = number >= 100 ? 100 : null;\n return number + (suffixes[number] || suffixes[a] || suffixes[b]);\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 7, // The week that contains Jan 1th is the first week of the year.\n },\n });\n\n return tg;\n\n})));\n","//! moment.js locale configuration\n//! locale : Thai [th]\n//! author : Kridsada Thanabulpong : https://github.com/sirn\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var th = moment.defineLocale('th', {\n months: 'มกราคม_กุมภาพันธ์_มีนาคม_เมษายน_พฤษภาคม_มิถุนายน_กรกฎาคม_สิงหาคม_กันยายน_ตุลาคม_พฤศจิกายน_ธันวาคม'.split(\n '_'\n ),\n monthsShort:\n 'ม.ค._ก.พ._มี.ค._เม.ย._พ.ค._มิ.ย._ก.ค._ส.ค._ก.ย._ต.ค._พ.ย._ธ.ค.'.split(\n '_'\n ),\n monthsParseExact: true,\n weekdays: 'อาทิตย์_จันทร์_อังคาร_พุธ_พฤหัสบดี_ศุกร์_เสาร์'.split('_'),\n weekdaysShort: 'อาทิตย์_จันทร์_อังคาร_พุธ_พฤหัส_ศุกร์_เสาร์'.split('_'), // yes, three characters difference\n weekdaysMin: 'อา._จ._อ._พ._พฤ._ศ._ส.'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'H:mm',\n LTS: 'H:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY เวลา H:mm',\n LLLL: 'วันddddที่ D MMMM YYYY เวลา H:mm',\n },\n meridiemParse: /ก่อนเที่ยง|หลังเที่ยง/,\n isPM: function (input) {\n return input === 'หลังเที่ยง';\n },\n meridiem: function (hour, minute, isLower) {\n if (hour < 12) {\n return 'ก่อนเที่ยง';\n } else {\n return 'หลังเที่ยง';\n }\n },\n calendar: {\n sameDay: '[วันนี้ เวลา] LT',\n nextDay: '[พรุ่งนี้ เวลา] LT',\n nextWeek: 'dddd[หน้า เวลา] LT',\n lastDay: '[เมื่อวานนี้ เวลา] LT',\n lastWeek: '[วัน]dddd[ที่แล้ว เวลา] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'อีก %s',\n past: '%sที่แล้ว',\n s: 'ไม่กี่วินาที',\n ss: '%d วินาที',\n m: '1 นาที',\n mm: '%d นาที',\n h: '1 ชั่วโมง',\n hh: '%d ชั่วโมง',\n d: '1 วัน',\n dd: '%d วัน',\n w: '1 สัปดาห์',\n ww: '%d สัปดาห์',\n M: '1 เดือน',\n MM: '%d เดือน',\n y: '1 ปี',\n yy: '%d ปี',\n },\n });\n\n return th;\n\n})));\n","//! moment.js locale configuration\n//! locale : Turkmen [tk]\n//! author : Atamyrat Abdyrahmanov : https://github.com/atamyratabdy\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var suffixes = {\n 1: \"'inji\",\n 5: \"'inji\",\n 8: \"'inji\",\n 70: \"'inji\",\n 80: \"'inji\",\n 2: \"'nji\",\n 7: \"'nji\",\n 20: \"'nji\",\n 50: \"'nji\",\n 3: \"'ünji\",\n 4: \"'ünji\",\n 100: \"'ünji\",\n 6: \"'njy\",\n 9: \"'unjy\",\n 10: \"'unjy\",\n 30: \"'unjy\",\n 60: \"'ynjy\",\n 90: \"'ynjy\",\n };\n\n var tk = moment.defineLocale('tk', {\n months: 'Ýanwar_Fewral_Mart_Aprel_Maý_Iýun_Iýul_Awgust_Sentýabr_Oktýabr_Noýabr_Dekabr'.split(\n '_'\n ),\n monthsShort: 'Ýan_Few_Mar_Apr_Maý_Iýn_Iýl_Awg_Sen_Okt_Noý_Dek'.split('_'),\n weekdays: 'Ýekşenbe_Duşenbe_Sişenbe_Çarşenbe_Penşenbe_Anna_Şenbe'.split(\n '_'\n ),\n weekdaysShort: 'Ýek_Duş_Siş_Çar_Pen_Ann_Şen'.split('_'),\n weekdaysMin: 'Ýk_Dş_Sş_Çr_Pn_An_Şn'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd, D MMMM YYYY HH:mm',\n },\n calendar: {\n sameDay: '[bugün sagat] LT',\n nextDay: '[ertir sagat] LT',\n nextWeek: '[indiki] dddd [sagat] LT',\n lastDay: '[düýn] LT',\n lastWeek: '[geçen] dddd [sagat] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: '%s soň',\n past: '%s öň',\n s: 'birnäçe sekunt',\n m: 'bir minut',\n mm: '%d minut',\n h: 'bir sagat',\n hh: '%d sagat',\n d: 'bir gün',\n dd: '%d gün',\n M: 'bir aý',\n MM: '%d aý',\n y: 'bir ýyl',\n yy: '%d ýyl',\n },\n ordinal: function (number, period) {\n switch (period) {\n case 'd':\n case 'D':\n case 'Do':\n case 'DD':\n return number;\n default:\n if (number === 0) {\n // special case for zero\n return number + \"'unjy\";\n }\n var a = number % 10,\n b = (number % 100) - a,\n c = number >= 100 ? 100 : null;\n return number + (suffixes[a] || suffixes[b] || suffixes[c]);\n }\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 7, // The week that contains Jan 7th is the first week of the year.\n },\n });\n\n return tk;\n\n})));\n","//! moment.js locale configuration\n//! locale : Tagalog (Philippines) [tl-ph]\n//! author : Dan Hagman : https://github.com/hagmandan\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var tlPh = moment.defineLocale('tl-ph', {\n months: 'Enero_Pebrero_Marso_Abril_Mayo_Hunyo_Hulyo_Agosto_Setyembre_Oktubre_Nobyembre_Disyembre'.split(\n '_'\n ),\n monthsShort: 'Ene_Peb_Mar_Abr_May_Hun_Hul_Ago_Set_Okt_Nob_Dis'.split('_'),\n weekdays: 'Linggo_Lunes_Martes_Miyerkules_Huwebes_Biyernes_Sabado'.split(\n '_'\n ),\n weekdaysShort: 'Lin_Lun_Mar_Miy_Huw_Biy_Sab'.split('_'),\n weekdaysMin: 'Li_Lu_Ma_Mi_Hu_Bi_Sab'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'MM/D/YYYY',\n LL: 'MMMM D, YYYY',\n LLL: 'MMMM D, YYYY HH:mm',\n LLLL: 'dddd, MMMM DD, YYYY HH:mm',\n },\n calendar: {\n sameDay: 'LT [ngayong araw]',\n nextDay: '[Bukas ng] LT',\n nextWeek: 'LT [sa susunod na] dddd',\n lastDay: 'LT [kahapon]',\n lastWeek: 'LT [noong nakaraang] dddd',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'sa loob ng %s',\n past: '%s ang nakalipas',\n s: 'ilang segundo',\n ss: '%d segundo',\n m: 'isang minuto',\n mm: '%d minuto',\n h: 'isang oras',\n hh: '%d oras',\n d: 'isang araw',\n dd: '%d araw',\n M: 'isang buwan',\n MM: '%d buwan',\n y: 'isang taon',\n yy: '%d taon',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}/,\n ordinal: function (number) {\n return number;\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return tlPh;\n\n})));\n","//! moment.js locale configuration\n//! locale : Klingon [tlh]\n//! author : Dominika Kruk : https://github.com/amaranthrose\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var numbersNouns = 'pagh_wa’_cha’_wej_loS_vagh_jav_Soch_chorgh_Hut'.split('_');\n\n function translateFuture(output) {\n var time = output;\n time =\n output.indexOf('jaj') !== -1\n ? time.slice(0, -3) + 'leS'\n : output.indexOf('jar') !== -1\n ? time.slice(0, -3) + 'waQ'\n : output.indexOf('DIS') !== -1\n ? time.slice(0, -3) + 'nem'\n : time + ' pIq';\n return time;\n }\n\n function translatePast(output) {\n var time = output;\n time =\n output.indexOf('jaj') !== -1\n ? time.slice(0, -3) + 'Hu’'\n : output.indexOf('jar') !== -1\n ? time.slice(0, -3) + 'wen'\n : output.indexOf('DIS') !== -1\n ? time.slice(0, -3) + 'ben'\n : time + ' ret';\n return time;\n }\n\n function translate(number, withoutSuffix, string, isFuture) {\n var numberNoun = numberAsNoun(number);\n switch (string) {\n case 'ss':\n return numberNoun + ' lup';\n case 'mm':\n return numberNoun + ' tup';\n case 'hh':\n return numberNoun + ' rep';\n case 'dd':\n return numberNoun + ' jaj';\n case 'MM':\n return numberNoun + ' jar';\n case 'yy':\n return numberNoun + ' DIS';\n }\n }\n\n function numberAsNoun(number) {\n var hundred = Math.floor((number % 1000) / 100),\n ten = Math.floor((number % 100) / 10),\n one = number % 10,\n word = '';\n if (hundred > 0) {\n word += numbersNouns[hundred] + 'vatlh';\n }\n if (ten > 0) {\n word += (word !== '' ? ' ' : '') + numbersNouns[ten] + 'maH';\n }\n if (one > 0) {\n word += (word !== '' ? ' ' : '') + numbersNouns[one];\n }\n return word === '' ? 'pagh' : word;\n }\n\n var tlh = moment.defineLocale('tlh', {\n months: 'tera’ jar wa’_tera’ jar cha’_tera’ jar wej_tera’ jar loS_tera’ jar vagh_tera’ jar jav_tera’ jar Soch_tera’ jar chorgh_tera’ jar Hut_tera’ jar wa’maH_tera’ jar wa’maH wa’_tera’ jar wa’maH cha’'.split(\n '_'\n ),\n monthsShort:\n 'jar wa’_jar cha’_jar wej_jar loS_jar vagh_jar jav_jar Soch_jar chorgh_jar Hut_jar wa’maH_jar wa’maH wa’_jar wa’maH cha’'.split(\n '_'\n ),\n monthsParseExact: true,\n weekdays: 'lojmItjaj_DaSjaj_povjaj_ghItlhjaj_loghjaj_buqjaj_ghInjaj'.split(\n '_'\n ),\n weekdaysShort:\n 'lojmItjaj_DaSjaj_povjaj_ghItlhjaj_loghjaj_buqjaj_ghInjaj'.split('_'),\n weekdaysMin:\n 'lojmItjaj_DaSjaj_povjaj_ghItlhjaj_loghjaj_buqjaj_ghInjaj'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd, D MMMM YYYY HH:mm',\n },\n calendar: {\n sameDay: '[DaHjaj] LT',\n nextDay: '[wa’leS] LT',\n nextWeek: 'LLL',\n lastDay: '[wa’Hu’] LT',\n lastWeek: 'LLL',\n sameElse: 'L',\n },\n relativeTime: {\n future: translateFuture,\n past: translatePast,\n s: 'puS lup',\n ss: translate,\n m: 'wa’ tup',\n mm: translate,\n h: 'wa’ rep',\n hh: translate,\n d: 'wa’ jaj',\n dd: translate,\n M: 'wa’ jar',\n MM: translate,\n y: 'wa’ DIS',\n yy: translate,\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal: '%d.',\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return tlh;\n\n})));\n","//! moment.js locale configuration\n//! locale : Turkish [tr]\n//! authors : Erhan Gundogan : https://github.com/erhangundogan,\n//! Burak Yiğit Kaya: https://github.com/BYK\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var suffixes = {\n 1: \"'inci\",\n 5: \"'inci\",\n 8: \"'inci\",\n 70: \"'inci\",\n 80: \"'inci\",\n 2: \"'nci\",\n 7: \"'nci\",\n 20: \"'nci\",\n 50: \"'nci\",\n 3: \"'üncü\",\n 4: \"'üncü\",\n 100: \"'üncü\",\n 6: \"'ncı\",\n 9: \"'uncu\",\n 10: \"'uncu\",\n 30: \"'uncu\",\n 60: \"'ıncı\",\n 90: \"'ıncı\",\n };\n\n var tr = moment.defineLocale('tr', {\n months: 'Ocak_Şubat_Mart_Nisan_Mayıs_Haziran_Temmuz_Ağustos_Eylül_Ekim_Kasım_Aralık'.split(\n '_'\n ),\n monthsShort: 'Oca_Şub_Mar_Nis_May_Haz_Tem_Ağu_Eyl_Eki_Kas_Ara'.split('_'),\n weekdays: 'Pazar_Pazartesi_Salı_Çarşamba_Perşembe_Cuma_Cumartesi'.split(\n '_'\n ),\n weekdaysShort: 'Paz_Pzt_Sal_Çar_Per_Cum_Cmt'.split('_'),\n weekdaysMin: 'Pz_Pt_Sa_Ça_Pe_Cu_Ct'.split('_'),\n meridiem: function (hours, minutes, isLower) {\n if (hours < 12) {\n return isLower ? 'öö' : 'ÖÖ';\n } else {\n return isLower ? 'ös' : 'ÖS';\n }\n },\n meridiemParse: /öö|ÖÖ|ös|ÖS/,\n isPM: function (input) {\n return input === 'ös' || input === 'ÖS';\n },\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd, D MMMM YYYY HH:mm',\n },\n calendar: {\n sameDay: '[bugün saat] LT',\n nextDay: '[yarın saat] LT',\n nextWeek: '[gelecek] dddd [saat] LT',\n lastDay: '[dün] LT',\n lastWeek: '[geçen] dddd [saat] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: '%s sonra',\n past: '%s önce',\n s: 'birkaç saniye',\n ss: '%d saniye',\n m: 'bir dakika',\n mm: '%d dakika',\n h: 'bir saat',\n hh: '%d saat',\n d: 'bir gün',\n dd: '%d gün',\n w: 'bir hafta',\n ww: '%d hafta',\n M: 'bir ay',\n MM: '%d ay',\n y: 'bir yıl',\n yy: '%d yıl',\n },\n ordinal: function (number, period) {\n switch (period) {\n case 'd':\n case 'D':\n case 'Do':\n case 'DD':\n return number;\n default:\n if (number === 0) {\n // special case for zero\n return number + \"'ıncı\";\n }\n var a = number % 10,\n b = (number % 100) - a,\n c = number >= 100 ? 100 : null;\n return number + (suffixes[a] || suffixes[b] || suffixes[c]);\n }\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 7, // The week that contains Jan 7th is the first week of the year.\n },\n });\n\n return tr;\n\n})));\n","//! moment.js locale configuration\n//! locale : Talossan [tzl]\n//! author : Robin van der Vliet : https://github.com/robin0van0der0v\n//! author : Iustì Canun\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n // After the year there should be a slash and the amount of years since December 26, 1979 in Roman numerals.\n // This is currently too difficult (maybe even impossible) to add.\n var tzl = moment.defineLocale('tzl', {\n months: 'Januar_Fevraglh_Març_Avrïu_Mai_Gün_Julia_Guscht_Setemvar_Listopäts_Noemvar_Zecemvar'.split(\n '_'\n ),\n monthsShort: 'Jan_Fev_Mar_Avr_Mai_Gün_Jul_Gus_Set_Lis_Noe_Zec'.split('_'),\n weekdays: 'Súladi_Lúneçi_Maitzi_Márcuri_Xhúadi_Viénerçi_Sáturi'.split('_'),\n weekdaysShort: 'Súl_Lún_Mai_Már_Xhú_Vié_Sát'.split('_'),\n weekdaysMin: 'Sú_Lú_Ma_Má_Xh_Vi_Sá'.split('_'),\n longDateFormat: {\n LT: 'HH.mm',\n LTS: 'HH.mm.ss',\n L: 'DD.MM.YYYY',\n LL: 'D. MMMM [dallas] YYYY',\n LLL: 'D. MMMM [dallas] YYYY HH.mm',\n LLLL: 'dddd, [li] D. MMMM [dallas] YYYY HH.mm',\n },\n meridiemParse: /d\\'o|d\\'a/i,\n isPM: function (input) {\n return \"d'o\" === input.toLowerCase();\n },\n meridiem: function (hours, minutes, isLower) {\n if (hours > 11) {\n return isLower ? \"d'o\" : \"D'O\";\n } else {\n return isLower ? \"d'a\" : \"D'A\";\n }\n },\n calendar: {\n sameDay: '[oxhi à] LT',\n nextDay: '[demà à] LT',\n nextWeek: 'dddd [à] LT',\n lastDay: '[ieiri à] LT',\n lastWeek: '[sür el] dddd [lasteu à] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'osprei %s',\n past: 'ja%s',\n s: processRelativeTime,\n ss: processRelativeTime,\n m: processRelativeTime,\n mm: processRelativeTime,\n h: processRelativeTime,\n hh: processRelativeTime,\n d: processRelativeTime,\n dd: processRelativeTime,\n M: processRelativeTime,\n MM: processRelativeTime,\n y: processRelativeTime,\n yy: processRelativeTime,\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal: '%d.',\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n function processRelativeTime(number, withoutSuffix, key, isFuture) {\n var format = {\n s: ['viensas secunds', \"'iensas secunds\"],\n ss: [number + ' secunds', '' + number + ' secunds'],\n m: [\"'n míut\", \"'iens míut\"],\n mm: [number + ' míuts', '' + number + ' míuts'],\n h: [\"'n þora\", \"'iensa þora\"],\n hh: [number + ' þoras', '' + number + ' þoras'],\n d: [\"'n ziua\", \"'iensa ziua\"],\n dd: [number + ' ziuas', '' + number + ' ziuas'],\n M: [\"'n mes\", \"'iens mes\"],\n MM: [number + ' mesen', '' + number + ' mesen'],\n y: [\"'n ar\", \"'iens ar\"],\n yy: [number + ' ars', '' + number + ' ars'],\n };\n return isFuture\n ? format[key][0]\n : withoutSuffix\n ? format[key][0]\n : format[key][1];\n }\n\n return tzl;\n\n})));\n","//! moment.js locale configuration\n//! locale : Central Atlas Tamazight Latin [tzm-latn]\n//! author : Abdel Said : https://github.com/abdelsaid\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var tzmLatn = moment.defineLocale('tzm-latn', {\n months: 'innayr_brˤayrˤ_marˤsˤ_ibrir_mayyw_ywnyw_ywlywz_ɣwšt_šwtanbir_ktˤwbrˤ_nwwanbir_dwjnbir'.split(\n '_'\n ),\n monthsShort:\n 'innayr_brˤayrˤ_marˤsˤ_ibrir_mayyw_ywnyw_ywlywz_ɣwšt_šwtanbir_ktˤwbrˤ_nwwanbir_dwjnbir'.split(\n '_'\n ),\n weekdays: 'asamas_aynas_asinas_akras_akwas_asimwas_asiḍyas'.split('_'),\n weekdaysShort: 'asamas_aynas_asinas_akras_akwas_asimwas_asiḍyas'.split('_'),\n weekdaysMin: 'asamas_aynas_asinas_akras_akwas_asimwas_asiḍyas'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd D MMMM YYYY HH:mm',\n },\n calendar: {\n sameDay: '[asdkh g] LT',\n nextDay: '[aska g] LT',\n nextWeek: 'dddd [g] LT',\n lastDay: '[assant g] LT',\n lastWeek: 'dddd [g] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'dadkh s yan %s',\n past: 'yan %s',\n s: 'imik',\n ss: '%d imik',\n m: 'minuḍ',\n mm: '%d minuḍ',\n h: 'saɛa',\n hh: '%d tassaɛin',\n d: 'ass',\n dd: '%d ossan',\n M: 'ayowr',\n MM: '%d iyyirn',\n y: 'asgas',\n yy: '%d isgasn',\n },\n week: {\n dow: 6, // Saturday is the first day of the week.\n doy: 12, // The week that contains Jan 12th is the first week of the year.\n },\n });\n\n return tzmLatn;\n\n})));\n","//! moment.js locale configuration\n//! locale : Central Atlas Tamazight [tzm]\n//! author : Abdel Said : https://github.com/abdelsaid\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var tzm = moment.defineLocale('tzm', {\n months: 'ⵉⵏⵏⴰⵢⵔ_ⴱⵕⴰⵢⵕ_ⵎⴰⵕⵚ_ⵉⴱⵔⵉⵔ_ⵎⴰⵢⵢⵓ_ⵢⵓⵏⵢⵓ_ⵢⵓⵍⵢⵓⵣ_ⵖⵓⵛⵜ_ⵛⵓⵜⴰⵏⴱⵉⵔ_ⴽⵟⵓⴱⵕ_ⵏⵓⵡⴰⵏⴱⵉⵔ_ⴷⵓⵊⵏⴱⵉⵔ'.split(\n '_'\n ),\n monthsShort:\n 'ⵉⵏⵏⴰⵢⵔ_ⴱⵕⴰⵢⵕ_ⵎⴰⵕⵚ_ⵉⴱⵔⵉⵔ_ⵎⴰⵢⵢⵓ_ⵢⵓⵏⵢⵓ_ⵢⵓⵍⵢⵓⵣ_ⵖⵓⵛⵜ_ⵛⵓⵜⴰⵏⴱⵉⵔ_ⴽⵟⵓⴱⵕ_ⵏⵓⵡⴰⵏⴱⵉⵔ_ⴷⵓⵊⵏⴱⵉⵔ'.split(\n '_'\n ),\n weekdays: 'ⴰⵙⴰⵎⴰⵙ_ⴰⵢⵏⴰⵙ_ⴰⵙⵉⵏⴰⵙ_ⴰⴽⵔⴰⵙ_ⴰⴽⵡⴰⵙ_ⴰⵙⵉⵎⵡⴰⵙ_ⴰⵙⵉⴹⵢⴰⵙ'.split('_'),\n weekdaysShort: 'ⴰⵙⴰⵎⴰⵙ_ⴰⵢⵏⴰⵙ_ⴰⵙⵉⵏⴰⵙ_ⴰⴽⵔⴰⵙ_ⴰⴽⵡⴰⵙ_ⴰⵙⵉⵎⵡⴰⵙ_ⴰⵙⵉⴹⵢⴰⵙ'.split('_'),\n weekdaysMin: 'ⴰⵙⴰⵎⴰⵙ_ⴰⵢⵏⴰⵙ_ⴰⵙⵉⵏⴰⵙ_ⴰⴽⵔⴰⵙ_ⴰⴽⵡⴰⵙ_ⴰⵙⵉⵎⵡⴰⵙ_ⴰⵙⵉⴹⵢⴰⵙ'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd D MMMM YYYY HH:mm',\n },\n calendar: {\n sameDay: '[ⴰⵙⴷⵅ ⴴ] LT',\n nextDay: '[ⴰⵙⴽⴰ ⴴ] LT',\n nextWeek: 'dddd [ⴴ] LT',\n lastDay: '[ⴰⵚⴰⵏⵜ ⴴ] LT',\n lastWeek: 'dddd [ⴴ] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'ⴷⴰⴷⵅ ⵙ ⵢⴰⵏ %s',\n past: 'ⵢⴰⵏ %s',\n s: 'ⵉⵎⵉⴽ',\n ss: '%d ⵉⵎⵉⴽ',\n m: 'ⵎⵉⵏⵓⴺ',\n mm: '%d ⵎⵉⵏⵓⴺ',\n h: 'ⵙⴰⵄⴰ',\n hh: '%d ⵜⴰⵙⵙⴰⵄⵉⵏ',\n d: 'ⴰⵙⵙ',\n dd: '%d oⵙⵙⴰⵏ',\n M: 'ⴰⵢoⵓⵔ',\n MM: '%d ⵉⵢⵢⵉⵔⵏ',\n y: 'ⴰⵙⴳⴰⵙ',\n yy: '%d ⵉⵙⴳⴰⵙⵏ',\n },\n week: {\n dow: 6, // Saturday is the first day of the week.\n doy: 12, // The week that contains Jan 12th is the first week of the year.\n },\n });\n\n return tzm;\n\n})));\n","//! moment.js locale configuration\n//! locale : Uyghur (China) [ug-cn]\n//! author: boyaq : https://github.com/boyaq\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var ugCn = moment.defineLocale('ug-cn', {\n months: 'يانۋار_فېۋرال_مارت_ئاپرېل_ماي_ئىيۇن_ئىيۇل_ئاۋغۇست_سېنتەبىر_ئۆكتەبىر_نويابىر_دېكابىر'.split(\n '_'\n ),\n monthsShort:\n 'يانۋار_فېۋرال_مارت_ئاپرېل_ماي_ئىيۇن_ئىيۇل_ئاۋغۇست_سېنتەبىر_ئۆكتەبىر_نويابىر_دېكابىر'.split(\n '_'\n ),\n weekdays: 'يەكشەنبە_دۈشەنبە_سەيشەنبە_چارشەنبە_پەيشەنبە_جۈمە_شەنبە'.split(\n '_'\n ),\n weekdaysShort: 'يە_دۈ_سە_چا_پە_جۈ_شە'.split('_'),\n weekdaysMin: 'يە_دۈ_سە_چا_پە_جۈ_شە'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'YYYY-MM-DD',\n LL: 'YYYY-يىلىM-ئاينىڭD-كۈنى',\n LLL: 'YYYY-يىلىM-ئاينىڭD-كۈنى، HH:mm',\n LLLL: 'dddd، YYYY-يىلىM-ئاينىڭD-كۈنى، HH:mm',\n },\n meridiemParse: /يېرىم كېچە|سەھەر|چۈشتىن بۇرۇن|چۈش|چۈشتىن كېيىن|كەچ/,\n meridiemHour: function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (\n meridiem === 'يېرىم كېچە' ||\n meridiem === 'سەھەر' ||\n meridiem === 'چۈشتىن بۇرۇن'\n ) {\n return hour;\n } else if (meridiem === 'چۈشتىن كېيىن' || meridiem === 'كەچ') {\n return hour + 12;\n } else {\n return hour >= 11 ? hour : hour + 12;\n }\n },\n meridiem: function (hour, minute, isLower) {\n var hm = hour * 100 + minute;\n if (hm < 600) {\n return 'يېرىم كېچە';\n } else if (hm < 900) {\n return 'سەھەر';\n } else if (hm < 1130) {\n return 'چۈشتىن بۇرۇن';\n } else if (hm < 1230) {\n return 'چۈش';\n } else if (hm < 1800) {\n return 'چۈشتىن كېيىن';\n } else {\n return 'كەچ';\n }\n },\n calendar: {\n sameDay: '[بۈگۈن سائەت] LT',\n nextDay: '[ئەتە سائەت] LT',\n nextWeek: '[كېلەركى] dddd [سائەت] LT',\n lastDay: '[تۆنۈگۈن] LT',\n lastWeek: '[ئالدىنقى] dddd [سائەت] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: '%s كېيىن',\n past: '%s بۇرۇن',\n s: 'نەچچە سېكونت',\n ss: '%d سېكونت',\n m: 'بىر مىنۇت',\n mm: '%d مىنۇت',\n h: 'بىر سائەت',\n hh: '%d سائەت',\n d: 'بىر كۈن',\n dd: '%d كۈن',\n M: 'بىر ئاي',\n MM: '%d ئاي',\n y: 'بىر يىل',\n yy: '%d يىل',\n },\n\n dayOfMonthOrdinalParse: /\\d{1,2}(-كۈنى|-ئاي|-ھەپتە)/,\n ordinal: function (number, period) {\n switch (period) {\n case 'd':\n case 'D':\n case 'DDD':\n return number + '-كۈنى';\n case 'w':\n case 'W':\n return number + '-ھەپتە';\n default:\n return number;\n }\n },\n preparse: function (string) {\n return string.replace(/،/g, ',');\n },\n postformat: function (string) {\n return string.replace(/,/g, '،');\n },\n week: {\n // GB/T 7408-1994《数据元和交换格式·信息交换·日期和时间表示法》与ISO 8601:1988等效\n dow: 1, // Monday is the first day of the week.\n doy: 7, // The week that contains Jan 1st is the first week of the year.\n },\n });\n\n return ugCn;\n\n})));\n","//! moment.js locale configuration\n//! locale : Ukrainian [uk]\n//! author : zemlanin : https://github.com/zemlanin\n//! Author : Menelion Elensúle : https://github.com/Oire\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n function plural(word, num) {\n var forms = word.split('_');\n return num % 10 === 1 && num % 100 !== 11\n ? forms[0]\n : num % 10 >= 2 && num % 10 <= 4 && (num % 100 < 10 || num % 100 >= 20)\n ? forms[1]\n : forms[2];\n }\n function relativeTimeWithPlural(number, withoutSuffix, key) {\n var format = {\n ss: withoutSuffix ? 'секунда_секунди_секунд' : 'секунду_секунди_секунд',\n mm: withoutSuffix ? 'хвилина_хвилини_хвилин' : 'хвилину_хвилини_хвилин',\n hh: withoutSuffix ? 'година_години_годин' : 'годину_години_годин',\n dd: 'день_дні_днів',\n MM: 'місяць_місяці_місяців',\n yy: 'рік_роки_років',\n };\n if (key === 'm') {\n return withoutSuffix ? 'хвилина' : 'хвилину';\n } else if (key === 'h') {\n return withoutSuffix ? 'година' : 'годину';\n } else {\n return number + ' ' + plural(format[key], +number);\n }\n }\n function weekdaysCaseReplace(m, format) {\n var weekdays = {\n nominative:\n 'неділя_понеділок_вівторок_середа_четвер_п’ятниця_субота'.split(\n '_'\n ),\n accusative:\n 'неділю_понеділок_вівторок_середу_четвер_п’ятницю_суботу'.split(\n '_'\n ),\n genitive:\n 'неділі_понеділка_вівторка_середи_четверга_п’ятниці_суботи'.split(\n '_'\n ),\n },\n nounCase;\n\n if (m === true) {\n return weekdays['nominative']\n .slice(1, 7)\n .concat(weekdays['nominative'].slice(0, 1));\n }\n if (!m) {\n return weekdays['nominative'];\n }\n\n nounCase = /(\\[[ВвУу]\\]) ?dddd/.test(format)\n ? 'accusative'\n : /\\[?(?:минулої|наступної)? ?\\] ?dddd/.test(format)\n ? 'genitive'\n : 'nominative';\n return weekdays[nounCase][m.day()];\n }\n function processHoursFunction(str) {\n return function () {\n return str + 'о' + (this.hours() === 11 ? 'б' : '') + '] LT';\n };\n }\n\n var uk = moment.defineLocale('uk', {\n months: {\n format: 'січня_лютого_березня_квітня_травня_червня_липня_серпня_вересня_жовтня_листопада_грудня'.split(\n '_'\n ),\n standalone:\n 'січень_лютий_березень_квітень_травень_червень_липень_серпень_вересень_жовтень_листопад_грудень'.split(\n '_'\n ),\n },\n monthsShort: 'січ_лют_бер_квіт_трав_черв_лип_серп_вер_жовт_лист_груд'.split(\n '_'\n ),\n weekdays: weekdaysCaseReplace,\n weekdaysShort: 'нд_пн_вт_ср_чт_пт_сб'.split('_'),\n weekdaysMin: 'нд_пн_вт_ср_чт_пт_сб'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'D MMMM YYYY р.',\n LLL: 'D MMMM YYYY р., HH:mm',\n LLLL: 'dddd, D MMMM YYYY р., HH:mm',\n },\n calendar: {\n sameDay: processHoursFunction('[Сьогодні '),\n nextDay: processHoursFunction('[Завтра '),\n lastDay: processHoursFunction('[Вчора '),\n nextWeek: processHoursFunction('[У] dddd ['),\n lastWeek: function () {\n switch (this.day()) {\n case 0:\n case 3:\n case 5:\n case 6:\n return processHoursFunction('[Минулої] dddd [').call(this);\n case 1:\n case 2:\n case 4:\n return processHoursFunction('[Минулого] dddd [').call(this);\n }\n },\n sameElse: 'L',\n },\n relativeTime: {\n future: 'за %s',\n past: '%s тому',\n s: 'декілька секунд',\n ss: relativeTimeWithPlural,\n m: relativeTimeWithPlural,\n mm: relativeTimeWithPlural,\n h: 'годину',\n hh: relativeTimeWithPlural,\n d: 'день',\n dd: relativeTimeWithPlural,\n M: 'місяць',\n MM: relativeTimeWithPlural,\n y: 'рік',\n yy: relativeTimeWithPlural,\n },\n // M. E.: those two are virtually unused but a user might want to implement them for his/her website for some reason\n meridiemParse: /ночі|ранку|дня|вечора/,\n isPM: function (input) {\n return /^(дня|вечора)$/.test(input);\n },\n meridiem: function (hour, minute, isLower) {\n if (hour < 4) {\n return 'ночі';\n } else if (hour < 12) {\n return 'ранку';\n } else if (hour < 17) {\n return 'дня';\n } else {\n return 'вечора';\n }\n },\n dayOfMonthOrdinalParse: /\\d{1,2}-(й|го)/,\n ordinal: function (number, period) {\n switch (period) {\n case 'M':\n case 'd':\n case 'DDD':\n case 'w':\n case 'W':\n return number + '-й';\n case 'D':\n return number + '-го';\n default:\n return number;\n }\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 7, // The week that contains Jan 7th is the first week of the year.\n },\n });\n\n return uk;\n\n})));\n","//! moment.js locale configuration\n//! locale : Urdu [ur]\n//! author : Sawood Alam : https://github.com/ibnesayeed\n//! author : Zack : https://github.com/ZackVision\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var months = [\n 'جنوری',\n 'فروری',\n 'مارچ',\n 'اپریل',\n 'مئی',\n 'جون',\n 'جولائی',\n 'اگست',\n 'ستمبر',\n 'اکتوبر',\n 'نومبر',\n 'دسمبر',\n ],\n days = ['اتوار', 'پیر', 'منگل', 'بدھ', 'جمعرات', 'جمعہ', 'ہفتہ'];\n\n var ur = moment.defineLocale('ur', {\n months: months,\n monthsShort: months,\n weekdays: days,\n weekdaysShort: days,\n weekdaysMin: days,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd، D MMMM YYYY HH:mm',\n },\n meridiemParse: /صبح|شام/,\n isPM: function (input) {\n return 'شام' === input;\n },\n meridiem: function (hour, minute, isLower) {\n if (hour < 12) {\n return 'صبح';\n }\n return 'شام';\n },\n calendar: {\n sameDay: '[آج بوقت] LT',\n nextDay: '[کل بوقت] LT',\n nextWeek: 'dddd [بوقت] LT',\n lastDay: '[گذشتہ روز بوقت] LT',\n lastWeek: '[گذشتہ] dddd [بوقت] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: '%s بعد',\n past: '%s قبل',\n s: 'چند سیکنڈ',\n ss: '%d سیکنڈ',\n m: 'ایک منٹ',\n mm: '%d منٹ',\n h: 'ایک گھنٹہ',\n hh: '%d گھنٹے',\n d: 'ایک دن',\n dd: '%d دن',\n M: 'ایک ماہ',\n MM: '%d ماہ',\n y: 'ایک سال',\n yy: '%d سال',\n },\n preparse: function (string) {\n return string.replace(/،/g, ',');\n },\n postformat: function (string) {\n return string.replace(/,/g, '،');\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return ur;\n\n})));\n","//! moment.js locale configuration\n//! locale : Uzbek Latin [uz-latn]\n//! author : Rasulbek Mirzayev : github.com/Rasulbeeek\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var uzLatn = moment.defineLocale('uz-latn', {\n months: 'Yanvar_Fevral_Mart_Aprel_May_Iyun_Iyul_Avgust_Sentabr_Oktabr_Noyabr_Dekabr'.split(\n '_'\n ),\n monthsShort: 'Yan_Fev_Mar_Apr_May_Iyun_Iyul_Avg_Sen_Okt_Noy_Dek'.split('_'),\n weekdays:\n 'Yakshanba_Dushanba_Seshanba_Chorshanba_Payshanba_Juma_Shanba'.split(\n '_'\n ),\n weekdaysShort: 'Yak_Dush_Sesh_Chor_Pay_Jum_Shan'.split('_'),\n weekdaysMin: 'Ya_Du_Se_Cho_Pa_Ju_Sha'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'D MMMM YYYY, dddd HH:mm',\n },\n calendar: {\n sameDay: '[Bugun soat] LT [da]',\n nextDay: '[Ertaga] LT [da]',\n nextWeek: 'dddd [kuni soat] LT [da]',\n lastDay: '[Kecha soat] LT [da]',\n lastWeek: \"[O'tgan] dddd [kuni soat] LT [da]\",\n sameElse: 'L',\n },\n relativeTime: {\n future: 'Yaqin %s ichida',\n past: 'Bir necha %s oldin',\n s: 'soniya',\n ss: '%d soniya',\n m: 'bir daqiqa',\n mm: '%d daqiqa',\n h: 'bir soat',\n hh: '%d soat',\n d: 'bir kun',\n dd: '%d kun',\n M: 'bir oy',\n MM: '%d oy',\n y: 'bir yil',\n yy: '%d yil',\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 7, // The week that contains Jan 7th is the first week of the year.\n },\n });\n\n return uzLatn;\n\n})));\n","//! moment.js locale configuration\n//! locale : Uzbek [uz]\n//! author : Sardor Muminov : https://github.com/muminoff\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var uz = moment.defineLocale('uz', {\n months: 'январ_феврал_март_апрел_май_июн_июл_август_сентябр_октябр_ноябр_декабр'.split(\n '_'\n ),\n monthsShort: 'янв_фев_мар_апр_май_июн_июл_авг_сен_окт_ноя_дек'.split('_'),\n weekdays: 'Якшанба_Душанба_Сешанба_Чоршанба_Пайшанба_Жума_Шанба'.split('_'),\n weekdaysShort: 'Якш_Душ_Сеш_Чор_Пай_Жум_Шан'.split('_'),\n weekdaysMin: 'Як_Ду_Се_Чо_Па_Жу_Ша'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'D MMMM YYYY, dddd HH:mm',\n },\n calendar: {\n sameDay: '[Бугун соат] LT [да]',\n nextDay: '[Эртага] LT [да]',\n nextWeek: 'dddd [куни соат] LT [да]',\n lastDay: '[Кеча соат] LT [да]',\n lastWeek: '[Утган] dddd [куни соат] LT [да]',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'Якин %s ичида',\n past: 'Бир неча %s олдин',\n s: 'фурсат',\n ss: '%d фурсат',\n m: 'бир дакика',\n mm: '%d дакика',\n h: 'бир соат',\n hh: '%d соат',\n d: 'бир кун',\n dd: '%d кун',\n M: 'бир ой',\n MM: '%d ой',\n y: 'бир йил',\n yy: '%d йил',\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 7, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return uz;\n\n})));\n","//! moment.js locale configuration\n//! locale : Vietnamese [vi]\n//! author : Bang Nguyen : https://github.com/bangnk\n//! author : Chien Kira : https://github.com/chienkira\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var vi = moment.defineLocale('vi', {\n months: 'tháng 1_tháng 2_tháng 3_tháng 4_tháng 5_tháng 6_tháng 7_tháng 8_tháng 9_tháng 10_tháng 11_tháng 12'.split(\n '_'\n ),\n monthsShort:\n 'Thg 01_Thg 02_Thg 03_Thg 04_Thg 05_Thg 06_Thg 07_Thg 08_Thg 09_Thg 10_Thg 11_Thg 12'.split(\n '_'\n ),\n monthsParseExact: true,\n weekdays: 'chủ nhật_thứ hai_thứ ba_thứ tư_thứ năm_thứ sáu_thứ bảy'.split(\n '_'\n ),\n weekdaysShort: 'CN_T2_T3_T4_T5_T6_T7'.split('_'),\n weekdaysMin: 'CN_T2_T3_T4_T5_T6_T7'.split('_'),\n weekdaysParseExact: true,\n meridiemParse: /sa|ch/i,\n isPM: function (input) {\n return /^ch$/i.test(input);\n },\n meridiem: function (hours, minutes, isLower) {\n if (hours < 12) {\n return isLower ? 'sa' : 'SA';\n } else {\n return isLower ? 'ch' : 'CH';\n }\n },\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM [năm] YYYY',\n LLL: 'D MMMM [năm] YYYY HH:mm',\n LLLL: 'dddd, D MMMM [năm] YYYY HH:mm',\n l: 'DD/M/YYYY',\n ll: 'D MMM YYYY',\n lll: 'D MMM YYYY HH:mm',\n llll: 'ddd, D MMM YYYY HH:mm',\n },\n calendar: {\n sameDay: '[Hôm nay lúc] LT',\n nextDay: '[Ngày mai lúc] LT',\n nextWeek: 'dddd [tuần tới lúc] LT',\n lastDay: '[Hôm qua lúc] LT',\n lastWeek: 'dddd [tuần trước lúc] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: '%s tới',\n past: '%s trước',\n s: 'vài giây',\n ss: '%d giây',\n m: 'một phút',\n mm: '%d phút',\n h: 'một giờ',\n hh: '%d giờ',\n d: 'một ngày',\n dd: '%d ngày',\n w: 'một tuần',\n ww: '%d tuần',\n M: 'một tháng',\n MM: '%d tháng',\n y: 'một năm',\n yy: '%d năm',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}/,\n ordinal: function (number) {\n return number;\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return vi;\n\n})));\n","//! moment.js locale configuration\n//! locale : Pseudo [x-pseudo]\n//! author : Andrew Hood : https://github.com/andrewhood125\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var xPseudo = moment.defineLocale('x-pseudo', {\n months: 'J~áñúá~rý_F~ébrú~árý_~Márc~h_Áp~ríl_~Máý_~Júñé~_Júl~ý_Áú~gúst~_Sép~témb~ér_Ó~ctób~ér_Ñ~óvém~bér_~Décé~mbér'.split(\n '_'\n ),\n monthsShort:\n 'J~áñ_~Féb_~Már_~Ápr_~Máý_~Júñ_~Júl_~Áúg_~Sép_~Óct_~Ñóv_~Déc'.split(\n '_'\n ),\n monthsParseExact: true,\n weekdays:\n 'S~úñdá~ý_Mó~ñdáý~_Túé~sdáý~_Wéd~ñésd~áý_T~húrs~dáý_~Fríd~áý_S~átúr~dáý'.split(\n '_'\n ),\n weekdaysShort: 'S~úñ_~Móñ_~Túé_~Wéd_~Thú_~Frí_~Sát'.split('_'),\n weekdaysMin: 'S~ú_Mó~_Tú_~Wé_T~h_Fr~_Sá'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'HH:mm',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd, D MMMM YYYY HH:mm',\n },\n calendar: {\n sameDay: '[T~ódá~ý át] LT',\n nextDay: '[T~ómó~rró~w át] LT',\n nextWeek: 'dddd [át] LT',\n lastDay: '[Ý~ést~érdá~ý át] LT',\n lastWeek: '[L~ást] dddd [át] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'í~ñ %s',\n past: '%s á~gó',\n s: 'á ~féw ~sécó~ñds',\n ss: '%d s~écóñ~ds',\n m: 'á ~míñ~úté',\n mm: '%d m~íñú~tés',\n h: 'á~ñ hó~úr',\n hh: '%d h~óúrs',\n d: 'á ~dáý',\n dd: '%d d~áýs',\n M: 'á ~móñ~th',\n MM: '%d m~óñt~hs',\n y: 'á ~ýéár',\n yy: '%d ý~éárs',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(th|st|nd|rd)/,\n ordinal: function (number) {\n var b = number % 10,\n output =\n ~~((number % 100) / 10) === 1\n ? 'th'\n : b === 1\n ? 'st'\n : b === 2\n ? 'nd'\n : b === 3\n ? 'rd'\n : 'th';\n return number + output;\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return xPseudo;\n\n})));\n","//! moment.js locale configuration\n//! locale : Yoruba Nigeria [yo]\n//! author : Atolagbe Abisoye : https://github.com/andela-batolagbe\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var yo = moment.defineLocale('yo', {\n months: 'Sẹ́rẹ́_Èrèlè_Ẹrẹ̀nà_Ìgbé_Èbibi_Òkùdu_Agẹmo_Ògún_Owewe_Ọ̀wàrà_Bélú_Ọ̀pẹ̀̀'.split(\n '_'\n ),\n monthsShort: 'Sẹ́r_Èrl_Ẹrn_Ìgb_Èbi_Òkù_Agẹ_Ògú_Owe_Ọ̀wà_Bél_Ọ̀pẹ̀̀'.split('_'),\n weekdays: 'Àìkú_Ajé_Ìsẹ́gun_Ọjọ́rú_Ọjọ́bọ_Ẹtì_Àbámẹ́ta'.split('_'),\n weekdaysShort: 'Àìk_Ajé_Ìsẹ́_Ọjr_Ọjb_Ẹtì_Àbá'.split('_'),\n weekdaysMin: 'Àì_Aj_Ìs_Ọr_Ọb_Ẹt_Àb'.split('_'),\n longDateFormat: {\n LT: 'h:mm A',\n LTS: 'h:mm:ss A',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY h:mm A',\n LLLL: 'dddd, D MMMM YYYY h:mm A',\n },\n calendar: {\n sameDay: '[Ònì ni] LT',\n nextDay: '[Ọ̀la ni] LT',\n nextWeek: \"dddd [Ọsẹ̀ tón'bọ] [ni] LT\",\n lastDay: '[Àna ni] LT',\n lastWeek: 'dddd [Ọsẹ̀ tólọ́] [ni] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'ní %s',\n past: '%s kọjá',\n s: 'ìsẹjú aayá die',\n ss: 'aayá %d',\n m: 'ìsẹjú kan',\n mm: 'ìsẹjú %d',\n h: 'wákati kan',\n hh: 'wákati %d',\n d: 'ọjọ́ kan',\n dd: 'ọjọ́ %d',\n M: 'osù kan',\n MM: 'osù %d',\n y: 'ọdún kan',\n yy: 'ọdún %d',\n },\n dayOfMonthOrdinalParse: /ọjọ́\\s\\d{1,2}/,\n ordinal: 'ọjọ́ %d',\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return yo;\n\n})));\n","//! moment.js locale configuration\n//! locale : Chinese (China) [zh-cn]\n//! author : suupic : https://github.com/suupic\n//! author : Zeno Zeng : https://github.com/zenozeng\n//! author : uu109 : https://github.com/uu109\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var zhCn = moment.defineLocale('zh-cn', {\n months: '一月_二月_三月_四月_五月_六月_七月_八月_九月_十月_十一月_十二月'.split(\n '_'\n ),\n monthsShort: '1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月'.split(\n '_'\n ),\n weekdays: '星期日_星期一_星期二_星期三_星期四_星期五_星期六'.split('_'),\n weekdaysShort: '周日_周一_周二_周三_周四_周五_周六'.split('_'),\n weekdaysMin: '日_一_二_三_四_五_六'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'YYYY/MM/DD',\n LL: 'YYYY年M月D日',\n LLL: 'YYYY年M月D日Ah点mm分',\n LLLL: 'YYYY年M月D日ddddAh点mm分',\n l: 'YYYY/M/D',\n ll: 'YYYY年M月D日',\n lll: 'YYYY年M月D日 HH:mm',\n llll: 'YYYY年M月D日dddd HH:mm',\n },\n meridiemParse: /凌晨|早上|上午|中午|下午|晚上/,\n meridiemHour: function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (meridiem === '凌晨' || meridiem === '早上' || meridiem === '上午') {\n return hour;\n } else if (meridiem === '下午' || meridiem === '晚上') {\n return hour + 12;\n } else {\n // '中午'\n return hour >= 11 ? hour : hour + 12;\n }\n },\n meridiem: function (hour, minute, isLower) {\n var hm = hour * 100 + minute;\n if (hm < 600) {\n return '凌晨';\n } else if (hm < 900) {\n return '早上';\n } else if (hm < 1130) {\n return '上午';\n } else if (hm < 1230) {\n return '中午';\n } else if (hm < 1800) {\n return '下午';\n } else {\n return '晚上';\n }\n },\n calendar: {\n sameDay: '[今天]LT',\n nextDay: '[明天]LT',\n nextWeek: function (now) {\n if (now.week() !== this.week()) {\n return '[下]dddLT';\n } else {\n return '[本]dddLT';\n }\n },\n lastDay: '[昨天]LT',\n lastWeek: function (now) {\n if (this.week() !== now.week()) {\n return '[上]dddLT';\n } else {\n return '[本]dddLT';\n }\n },\n sameElse: 'L',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(日|月|周)/,\n ordinal: function (number, period) {\n switch (period) {\n case 'd':\n case 'D':\n case 'DDD':\n return number + '日';\n case 'M':\n return number + '月';\n case 'w':\n case 'W':\n return number + '周';\n default:\n return number;\n }\n },\n relativeTime: {\n future: '%s后',\n past: '%s前',\n s: '几秒',\n ss: '%d 秒',\n m: '1 分钟',\n mm: '%d 分钟',\n h: '1 小时',\n hh: '%d 小时',\n d: '1 天',\n dd: '%d 天',\n w: '1 周',\n ww: '%d 周',\n M: '1 个月',\n MM: '%d 个月',\n y: '1 年',\n yy: '%d 年',\n },\n week: {\n // GB/T 7408-1994《数据元和交换格式·信息交换·日期和时间表示法》与ISO 8601:1988等效\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return zhCn;\n\n})));\n","//! moment.js locale configuration\n//! locale : Chinese (Hong Kong) [zh-hk]\n//! author : Ben : https://github.com/ben-lin\n//! author : Chris Lam : https://github.com/hehachris\n//! author : Konstantin : https://github.com/skfd\n//! author : Anthony : https://github.com/anthonylau\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var zhHk = moment.defineLocale('zh-hk', {\n months: '一月_二月_三月_四月_五月_六月_七月_八月_九月_十月_十一月_十二月'.split(\n '_'\n ),\n monthsShort: '1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月'.split(\n '_'\n ),\n weekdays: '星期日_星期一_星期二_星期三_星期四_星期五_星期六'.split('_'),\n weekdaysShort: '週日_週一_週二_週三_週四_週五_週六'.split('_'),\n weekdaysMin: '日_一_二_三_四_五_六'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'YYYY/MM/DD',\n LL: 'YYYY年M月D日',\n LLL: 'YYYY年M月D日 HH:mm',\n LLLL: 'YYYY年M月D日dddd HH:mm',\n l: 'YYYY/M/D',\n ll: 'YYYY年M月D日',\n lll: 'YYYY年M月D日 HH:mm',\n llll: 'YYYY年M月D日dddd HH:mm',\n },\n meridiemParse: /凌晨|早上|上午|中午|下午|晚上/,\n meridiemHour: function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (meridiem === '凌晨' || meridiem === '早上' || meridiem === '上午') {\n return hour;\n } else if (meridiem === '中午') {\n return hour >= 11 ? hour : hour + 12;\n } else if (meridiem === '下午' || meridiem === '晚上') {\n return hour + 12;\n }\n },\n meridiem: function (hour, minute, isLower) {\n var hm = hour * 100 + minute;\n if (hm < 600) {\n return '凌晨';\n } else if (hm < 900) {\n return '早上';\n } else if (hm < 1200) {\n return '上午';\n } else if (hm === 1200) {\n return '中午';\n } else if (hm < 1800) {\n return '下午';\n } else {\n return '晚上';\n }\n },\n calendar: {\n sameDay: '[今天]LT',\n nextDay: '[明天]LT',\n nextWeek: '[下]ddddLT',\n lastDay: '[昨天]LT',\n lastWeek: '[上]ddddLT',\n sameElse: 'L',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(日|月|週)/,\n ordinal: function (number, period) {\n switch (period) {\n case 'd':\n case 'D':\n case 'DDD':\n return number + '日';\n case 'M':\n return number + '月';\n case 'w':\n case 'W':\n return number + '週';\n default:\n return number;\n }\n },\n relativeTime: {\n future: '%s後',\n past: '%s前',\n s: '幾秒',\n ss: '%d 秒',\n m: '1 分鐘',\n mm: '%d 分鐘',\n h: '1 小時',\n hh: '%d 小時',\n d: '1 天',\n dd: '%d 天',\n M: '1 個月',\n MM: '%d 個月',\n y: '1 年',\n yy: '%d 年',\n },\n });\n\n return zhHk;\n\n})));\n","//! moment.js locale configuration\n//! locale : Chinese (Macau) [zh-mo]\n//! author : Ben : https://github.com/ben-lin\n//! author : Chris Lam : https://github.com/hehachris\n//! author : Tan Yuanhong : https://github.com/le0tan\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var zhMo = moment.defineLocale('zh-mo', {\n months: '一月_二月_三月_四月_五月_六月_七月_八月_九月_十月_十一月_十二月'.split(\n '_'\n ),\n monthsShort: '1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月'.split(\n '_'\n ),\n weekdays: '星期日_星期一_星期二_星期三_星期四_星期五_星期六'.split('_'),\n weekdaysShort: '週日_週一_週二_週三_週四_週五_週六'.split('_'),\n weekdaysMin: '日_一_二_三_四_五_六'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'YYYY年M月D日',\n LLL: 'YYYY年M月D日 HH:mm',\n LLLL: 'YYYY年M月D日dddd HH:mm',\n l: 'D/M/YYYY',\n ll: 'YYYY年M月D日',\n lll: 'YYYY年M月D日 HH:mm',\n llll: 'YYYY年M月D日dddd HH:mm',\n },\n meridiemParse: /凌晨|早上|上午|中午|下午|晚上/,\n meridiemHour: function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (meridiem === '凌晨' || meridiem === '早上' || meridiem === '上午') {\n return hour;\n } else if (meridiem === '中午') {\n return hour >= 11 ? hour : hour + 12;\n } else if (meridiem === '下午' || meridiem === '晚上') {\n return hour + 12;\n }\n },\n meridiem: function (hour, minute, isLower) {\n var hm = hour * 100 + minute;\n if (hm < 600) {\n return '凌晨';\n } else if (hm < 900) {\n return '早上';\n } else if (hm < 1130) {\n return '上午';\n } else if (hm < 1230) {\n return '中午';\n } else if (hm < 1800) {\n return '下午';\n } else {\n return '晚上';\n }\n },\n calendar: {\n sameDay: '[今天] LT',\n nextDay: '[明天] LT',\n nextWeek: '[下]dddd LT',\n lastDay: '[昨天] LT',\n lastWeek: '[上]dddd LT',\n sameElse: 'L',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(日|月|週)/,\n ordinal: function (number, period) {\n switch (period) {\n case 'd':\n case 'D':\n case 'DDD':\n return number + '日';\n case 'M':\n return number + '月';\n case 'w':\n case 'W':\n return number + '週';\n default:\n return number;\n }\n },\n relativeTime: {\n future: '%s內',\n past: '%s前',\n s: '幾秒',\n ss: '%d 秒',\n m: '1 分鐘',\n mm: '%d 分鐘',\n h: '1 小時',\n hh: '%d 小時',\n d: '1 天',\n dd: '%d 天',\n M: '1 個月',\n MM: '%d 個月',\n y: '1 年',\n yy: '%d 年',\n },\n });\n\n return zhMo;\n\n})));\n","//! moment.js locale configuration\n//! locale : Chinese (Taiwan) [zh-tw]\n//! author : Ben : https://github.com/ben-lin\n//! author : Chris Lam : https://github.com/hehachris\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var zhTw = moment.defineLocale('zh-tw', {\n months: '一月_二月_三月_四月_五月_六月_七月_八月_九月_十月_十一月_十二月'.split(\n '_'\n ),\n monthsShort: '1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月'.split(\n '_'\n ),\n weekdays: '星期日_星期一_星期二_星期三_星期四_星期五_星期六'.split('_'),\n weekdaysShort: '週日_週一_週二_週三_週四_週五_週六'.split('_'),\n weekdaysMin: '日_一_二_三_四_五_六'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'YYYY/MM/DD',\n LL: 'YYYY年M月D日',\n LLL: 'YYYY年M月D日 HH:mm',\n LLLL: 'YYYY年M月D日dddd HH:mm',\n l: 'YYYY/M/D',\n ll: 'YYYY年M月D日',\n lll: 'YYYY年M月D日 HH:mm',\n llll: 'YYYY年M月D日dddd HH:mm',\n },\n meridiemParse: /凌晨|早上|上午|中午|下午|晚上/,\n meridiemHour: function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (meridiem === '凌晨' || meridiem === '早上' || meridiem === '上午') {\n return hour;\n } else if (meridiem === '中午') {\n return hour >= 11 ? hour : hour + 12;\n } else if (meridiem === '下午' || meridiem === '晚上') {\n return hour + 12;\n }\n },\n meridiem: function (hour, minute, isLower) {\n var hm = hour * 100 + minute;\n if (hm < 600) {\n return '凌晨';\n } else if (hm < 900) {\n return '早上';\n } else if (hm < 1130) {\n return '上午';\n } else if (hm < 1230) {\n return '中午';\n } else if (hm < 1800) {\n return '下午';\n } else {\n return '晚上';\n }\n },\n calendar: {\n sameDay: '[今天] LT',\n nextDay: '[明天] LT',\n nextWeek: '[下]dddd LT',\n lastDay: '[昨天] LT',\n lastWeek: '[上]dddd LT',\n sameElse: 'L',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(日|月|週)/,\n ordinal: function (number, period) {\n switch (period) {\n case 'd':\n case 'D':\n case 'DDD':\n return number + '日';\n case 'M':\n return number + '月';\n case 'w':\n case 'W':\n return number + '週';\n default:\n return number;\n }\n },\n relativeTime: {\n future: '%s後',\n past: '%s前',\n s: '幾秒',\n ss: '%d 秒',\n m: '1 分鐘',\n mm: '%d 分鐘',\n h: '1 小時',\n hh: '%d 小時',\n d: '1 天',\n dd: '%d 天',\n M: '1 個月',\n MM: '%d 個月',\n y: '1 年',\n yy: '%d 年',\n },\n });\n\n return zhTw;\n\n})));\n","//! moment.js\n//! version : 2.29.4\n//! authors : Tim Wood, Iskren Chernev, Moment.js contributors\n//! license : MIT\n//! momentjs.com\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :\n typeof define === 'function' && define.amd ? define(factory) :\n global.moment = factory()\n}(this, (function () { 'use strict';\n\n var hookCallback;\n\n function hooks() {\n return hookCallback.apply(null, arguments);\n }\n\n // This is done to register the method called with moment()\n // without creating circular dependencies.\n function setHookCallback(callback) {\n hookCallback = callback;\n }\n\n function isArray(input) {\n return (\n input instanceof Array ||\n Object.prototype.toString.call(input) === '[object Array]'\n );\n }\n\n function isObject(input) {\n // IE8 will treat undefined and null as object if it wasn't for\n // input != null\n return (\n input != null &&\n Object.prototype.toString.call(input) === '[object Object]'\n );\n }\n\n function hasOwnProp(a, b) {\n return Object.prototype.hasOwnProperty.call(a, b);\n }\n\n function isObjectEmpty(obj) {\n if (Object.getOwnPropertyNames) {\n return Object.getOwnPropertyNames(obj).length === 0;\n } else {\n var k;\n for (k in obj) {\n if (hasOwnProp(obj, k)) {\n return false;\n }\n }\n return true;\n }\n }\n\n function isUndefined(input) {\n return input === void 0;\n }\n\n function isNumber(input) {\n return (\n typeof input === 'number' ||\n Object.prototype.toString.call(input) === '[object Number]'\n );\n }\n\n function isDate(input) {\n return (\n input instanceof Date ||\n Object.prototype.toString.call(input) === '[object Date]'\n );\n }\n\n function map(arr, fn) {\n var res = [],\n i,\n arrLen = arr.length;\n for (i = 0; i < arrLen; ++i) {\n res.push(fn(arr[i], i));\n }\n return res;\n }\n\n function extend(a, b) {\n for (var i in b) {\n if (hasOwnProp(b, i)) {\n a[i] = b[i];\n }\n }\n\n if (hasOwnProp(b, 'toString')) {\n a.toString = b.toString;\n }\n\n if (hasOwnProp(b, 'valueOf')) {\n a.valueOf = b.valueOf;\n }\n\n return a;\n }\n\n function createUTC(input, format, locale, strict) {\n return createLocalOrUTC(input, format, locale, strict, true).utc();\n }\n\n function defaultParsingFlags() {\n // We need to deep clone this object.\n return {\n empty: false,\n unusedTokens: [],\n unusedInput: [],\n overflow: -2,\n charsLeftOver: 0,\n nullInput: false,\n invalidEra: null,\n invalidMonth: null,\n invalidFormat: false,\n userInvalidated: false,\n iso: false,\n parsedDateParts: [],\n era: null,\n meridiem: null,\n rfc2822: false,\n weekdayMismatch: false,\n };\n }\n\n function getParsingFlags(m) {\n if (m._pf == null) {\n m._pf = defaultParsingFlags();\n }\n return m._pf;\n }\n\n var some;\n if (Array.prototype.some) {\n some = Array.prototype.some;\n } else {\n some = function (fun) {\n var t = Object(this),\n len = t.length >>> 0,\n i;\n\n for (i = 0; i < len; i++) {\n if (i in t && fun.call(this, t[i], i, t)) {\n return true;\n }\n }\n\n return false;\n };\n }\n\n function isValid(m) {\n if (m._isValid == null) {\n var flags = getParsingFlags(m),\n parsedParts = some.call(flags.parsedDateParts, function (i) {\n return i != null;\n }),\n isNowValid =\n !isNaN(m._d.getTime()) &&\n flags.overflow < 0 &&\n !flags.empty &&\n !flags.invalidEra &&\n !flags.invalidMonth &&\n !flags.invalidWeekday &&\n !flags.weekdayMismatch &&\n !flags.nullInput &&\n !flags.invalidFormat &&\n !flags.userInvalidated &&\n (!flags.meridiem || (flags.meridiem && parsedParts));\n\n if (m._strict) {\n isNowValid =\n isNowValid &&\n flags.charsLeftOver === 0 &&\n flags.unusedTokens.length === 0 &&\n flags.bigHour === undefined;\n }\n\n if (Object.isFrozen == null || !Object.isFrozen(m)) {\n m._isValid = isNowValid;\n } else {\n return isNowValid;\n }\n }\n return m._isValid;\n }\n\n function createInvalid(flags) {\n var m = createUTC(NaN);\n if (flags != null) {\n extend(getParsingFlags(m), flags);\n } else {\n getParsingFlags(m).userInvalidated = true;\n }\n\n return m;\n }\n\n // Plugins that add properties should also add the key here (null value),\n // so we can properly clone ourselves.\n var momentProperties = (hooks.momentProperties = []),\n updateInProgress = false;\n\n function copyConfig(to, from) {\n var i,\n prop,\n val,\n momentPropertiesLen = momentProperties.length;\n\n if (!isUndefined(from._isAMomentObject)) {\n to._isAMomentObject = from._isAMomentObject;\n }\n if (!isUndefined(from._i)) {\n to._i = from._i;\n }\n if (!isUndefined(from._f)) {\n to._f = from._f;\n }\n if (!isUndefined(from._l)) {\n to._l = from._l;\n }\n if (!isUndefined(from._strict)) {\n to._strict = from._strict;\n }\n if (!isUndefined(from._tzm)) {\n to._tzm = from._tzm;\n }\n if (!isUndefined(from._isUTC)) {\n to._isUTC = from._isUTC;\n }\n if (!isUndefined(from._offset)) {\n to._offset = from._offset;\n }\n if (!isUndefined(from._pf)) {\n to._pf = getParsingFlags(from);\n }\n if (!isUndefined(from._locale)) {\n to._locale = from._locale;\n }\n\n if (momentPropertiesLen > 0) {\n for (i = 0; i < momentPropertiesLen; i++) {\n prop = momentProperties[i];\n val = from[prop];\n if (!isUndefined(val)) {\n to[prop] = val;\n }\n }\n }\n\n return to;\n }\n\n // Moment prototype object\n function Moment(config) {\n copyConfig(this, config);\n this._d = new Date(config._d != null ? config._d.getTime() : NaN);\n if (!this.isValid()) {\n this._d = new Date(NaN);\n }\n // Prevent infinite loop in case updateOffset creates new moment\n // objects.\n if (updateInProgress === false) {\n updateInProgress = true;\n hooks.updateOffset(this);\n updateInProgress = false;\n }\n }\n\n function isMoment(obj) {\n return (\n obj instanceof Moment || (obj != null && obj._isAMomentObject != null)\n );\n }\n\n function warn(msg) {\n if (\n hooks.suppressDeprecationWarnings === false &&\n typeof console !== 'undefined' &&\n console.warn\n ) {\n console.warn('Deprecation warning: ' + msg);\n }\n }\n\n function deprecate(msg, fn) {\n var firstTime = true;\n\n return extend(function () {\n if (hooks.deprecationHandler != null) {\n hooks.deprecationHandler(null, msg);\n }\n if (firstTime) {\n var args = [],\n arg,\n i,\n key,\n argLen = arguments.length;\n for (i = 0; i < argLen; i++) {\n arg = '';\n if (typeof arguments[i] === 'object') {\n arg += '\\n[' + i + '] ';\n for (key in arguments[0]) {\n if (hasOwnProp(arguments[0], key)) {\n arg += key + ': ' + arguments[0][key] + ', ';\n }\n }\n arg = arg.slice(0, -2); // Remove trailing comma and space\n } else {\n arg = arguments[i];\n }\n args.push(arg);\n }\n warn(\n msg +\n '\\nArguments: ' +\n Array.prototype.slice.call(args).join('') +\n '\\n' +\n new Error().stack\n );\n firstTime = false;\n }\n return fn.apply(this, arguments);\n }, fn);\n }\n\n var deprecations = {};\n\n function deprecateSimple(name, msg) {\n if (hooks.deprecationHandler != null) {\n hooks.deprecationHandler(name, msg);\n }\n if (!deprecations[name]) {\n warn(msg);\n deprecations[name] = true;\n }\n }\n\n hooks.suppressDeprecationWarnings = false;\n hooks.deprecationHandler = null;\n\n function isFunction(input) {\n return (\n (typeof Function !== 'undefined' && input instanceof Function) ||\n Object.prototype.toString.call(input) === '[object Function]'\n );\n }\n\n function set(config) {\n var prop, i;\n for (i in config) {\n if (hasOwnProp(config, i)) {\n prop = config[i];\n if (isFunction(prop)) {\n this[i] = prop;\n } else {\n this['_' + i] = prop;\n }\n }\n }\n this._config = config;\n // Lenient ordinal parsing accepts just a number in addition to\n // number + (possibly) stuff coming from _dayOfMonthOrdinalParse.\n // TODO: Remove \"ordinalParse\" fallback in next major release.\n this._dayOfMonthOrdinalParseLenient = new RegExp(\n (this._dayOfMonthOrdinalParse.source || this._ordinalParse.source) +\n '|' +\n /\\d{1,2}/.source\n );\n }\n\n function mergeConfigs(parentConfig, childConfig) {\n var res = extend({}, parentConfig),\n prop;\n for (prop in childConfig) {\n if (hasOwnProp(childConfig, prop)) {\n if (isObject(parentConfig[prop]) && isObject(childConfig[prop])) {\n res[prop] = {};\n extend(res[prop], parentConfig[prop]);\n extend(res[prop], childConfig[prop]);\n } else if (childConfig[prop] != null) {\n res[prop] = childConfig[prop];\n } else {\n delete res[prop];\n }\n }\n }\n for (prop in parentConfig) {\n if (\n hasOwnProp(parentConfig, prop) &&\n !hasOwnProp(childConfig, prop) &&\n isObject(parentConfig[prop])\n ) {\n // make sure changes to properties don't modify parent config\n res[prop] = extend({}, res[prop]);\n }\n }\n return res;\n }\n\n function Locale(config) {\n if (config != null) {\n this.set(config);\n }\n }\n\n var keys;\n\n if (Object.keys) {\n keys = Object.keys;\n } else {\n keys = function (obj) {\n var i,\n res = [];\n for (i in obj) {\n if (hasOwnProp(obj, i)) {\n res.push(i);\n }\n }\n return res;\n };\n }\n\n var defaultCalendar = {\n sameDay: '[Today at] LT',\n nextDay: '[Tomorrow at] LT',\n nextWeek: 'dddd [at] LT',\n lastDay: '[Yesterday at] LT',\n lastWeek: '[Last] dddd [at] LT',\n sameElse: 'L',\n };\n\n function calendar(key, mom, now) {\n var output = this._calendar[key] || this._calendar['sameElse'];\n return isFunction(output) ? output.call(mom, now) : output;\n }\n\n function zeroFill(number, targetLength, forceSign) {\n var absNumber = '' + Math.abs(number),\n zerosToFill = targetLength - absNumber.length,\n sign = number >= 0;\n return (\n (sign ? (forceSign ? '+' : '') : '-') +\n Math.pow(10, Math.max(0, zerosToFill)).toString().substr(1) +\n absNumber\n );\n }\n\n var formattingTokens =\n /(\\[[^\\[]*\\])|(\\\\)?([Hh]mm(ss)?|Mo|MM?M?M?|Do|DDDo|DD?D?D?|ddd?d?|do?|w[o|w]?|W[o|W]?|Qo?|N{1,5}|YYYYYY|YYYYY|YYYY|YY|y{2,4}|yo?|gg(ggg?)?|GG(GGG?)?|e|E|a|A|hh?|HH?|kk?|mm?|ss?|S{1,9}|x|X|zz?|ZZ?|.)/g,\n localFormattingTokens = /(\\[[^\\[]*\\])|(\\\\)?(LTS|LT|LL?L?L?|l{1,4})/g,\n formatFunctions = {},\n formatTokenFunctions = {};\n\n // token: 'M'\n // padded: ['MM', 2]\n // ordinal: 'Mo'\n // callback: function () { this.month() + 1 }\n function addFormatToken(token, padded, ordinal, callback) {\n var func = callback;\n if (typeof callback === 'string') {\n func = function () {\n return this[callback]();\n };\n }\n if (token) {\n formatTokenFunctions[token] = func;\n }\n if (padded) {\n formatTokenFunctions[padded[0]] = function () {\n return zeroFill(func.apply(this, arguments), padded[1], padded[2]);\n };\n }\n if (ordinal) {\n formatTokenFunctions[ordinal] = function () {\n return this.localeData().ordinal(\n func.apply(this, arguments),\n token\n );\n };\n }\n }\n\n function removeFormattingTokens(input) {\n if (input.match(/\\[[\\s\\S]/)) {\n return input.replace(/^\\[|\\]$/g, '');\n }\n return input.replace(/\\\\/g, '');\n }\n\n function makeFormatFunction(format) {\n var array = format.match(formattingTokens),\n i,\n length;\n\n for (i = 0, length = array.length; i < length; i++) {\n if (formatTokenFunctions[array[i]]) {\n array[i] = formatTokenFunctions[array[i]];\n } else {\n array[i] = removeFormattingTokens(array[i]);\n }\n }\n\n return function (mom) {\n var output = '',\n i;\n for (i = 0; i < length; i++) {\n output += isFunction(array[i])\n ? array[i].call(mom, format)\n : array[i];\n }\n return output;\n };\n }\n\n // format date using native date object\n function formatMoment(m, format) {\n if (!m.isValid()) {\n return m.localeData().invalidDate();\n }\n\n format = expandFormat(format, m.localeData());\n formatFunctions[format] =\n formatFunctions[format] || makeFormatFunction(format);\n\n return formatFunctions[format](m);\n }\n\n function expandFormat(format, locale) {\n var i = 5;\n\n function replaceLongDateFormatTokens(input) {\n return locale.longDateFormat(input) || input;\n }\n\n localFormattingTokens.lastIndex = 0;\n while (i >= 0 && localFormattingTokens.test(format)) {\n format = format.replace(\n localFormattingTokens,\n replaceLongDateFormatTokens\n );\n localFormattingTokens.lastIndex = 0;\n i -= 1;\n }\n\n return format;\n }\n\n var defaultLongDateFormat = {\n LTS: 'h:mm:ss A',\n LT: 'h:mm A',\n L: 'MM/DD/YYYY',\n LL: 'MMMM D, YYYY',\n LLL: 'MMMM D, YYYY h:mm A',\n LLLL: 'dddd, MMMM D, YYYY h:mm A',\n };\n\n function longDateFormat(key) {\n var format = this._longDateFormat[key],\n formatUpper = this._longDateFormat[key.toUpperCase()];\n\n if (format || !formatUpper) {\n return format;\n }\n\n this._longDateFormat[key] = formatUpper\n .match(formattingTokens)\n .map(function (tok) {\n if (\n tok === 'MMMM' ||\n tok === 'MM' ||\n tok === 'DD' ||\n tok === 'dddd'\n ) {\n return tok.slice(1);\n }\n return tok;\n })\n .join('');\n\n return this._longDateFormat[key];\n }\n\n var defaultInvalidDate = 'Invalid date';\n\n function invalidDate() {\n return this._invalidDate;\n }\n\n var defaultOrdinal = '%d',\n defaultDayOfMonthOrdinalParse = /\\d{1,2}/;\n\n function ordinal(number) {\n return this._ordinal.replace('%d', number);\n }\n\n var defaultRelativeTime = {\n future: 'in %s',\n past: '%s ago',\n s: 'a few seconds',\n ss: '%d seconds',\n m: 'a minute',\n mm: '%d minutes',\n h: 'an hour',\n hh: '%d hours',\n d: 'a day',\n dd: '%d days',\n w: 'a week',\n ww: '%d weeks',\n M: 'a month',\n MM: '%d months',\n y: 'a year',\n yy: '%d years',\n };\n\n function relativeTime(number, withoutSuffix, string, isFuture) {\n var output = this._relativeTime[string];\n return isFunction(output)\n ? output(number, withoutSuffix, string, isFuture)\n : output.replace(/%d/i, number);\n }\n\n function pastFuture(diff, output) {\n var format = this._relativeTime[diff > 0 ? 'future' : 'past'];\n return isFunction(format) ? format(output) : format.replace(/%s/i, output);\n }\n\n var aliases = {};\n\n function addUnitAlias(unit, shorthand) {\n var lowerCase = unit.toLowerCase();\n aliases[lowerCase] = aliases[lowerCase + 's'] = aliases[shorthand] = unit;\n }\n\n function normalizeUnits(units) {\n return typeof units === 'string'\n ? aliases[units] || aliases[units.toLowerCase()]\n : undefined;\n }\n\n function normalizeObjectUnits(inputObject) {\n var normalizedInput = {},\n normalizedProp,\n prop;\n\n for (prop in inputObject) {\n if (hasOwnProp(inputObject, prop)) {\n normalizedProp = normalizeUnits(prop);\n if (normalizedProp) {\n normalizedInput[normalizedProp] = inputObject[prop];\n }\n }\n }\n\n return normalizedInput;\n }\n\n var priorities = {};\n\n function addUnitPriority(unit, priority) {\n priorities[unit] = priority;\n }\n\n function getPrioritizedUnits(unitsObj) {\n var units = [],\n u;\n for (u in unitsObj) {\n if (hasOwnProp(unitsObj, u)) {\n units.push({ unit: u, priority: priorities[u] });\n }\n }\n units.sort(function (a, b) {\n return a.priority - b.priority;\n });\n return units;\n }\n\n function isLeapYear(year) {\n return (year % 4 === 0 && year % 100 !== 0) || year % 400 === 0;\n }\n\n function absFloor(number) {\n if (number < 0) {\n // -0 -> 0\n return Math.ceil(number) || 0;\n } else {\n return Math.floor(number);\n }\n }\n\n function toInt(argumentForCoercion) {\n var coercedNumber = +argumentForCoercion,\n value = 0;\n\n if (coercedNumber !== 0 && isFinite(coercedNumber)) {\n value = absFloor(coercedNumber);\n }\n\n return value;\n }\n\n function makeGetSet(unit, keepTime) {\n return function (value) {\n if (value != null) {\n set$1(this, unit, value);\n hooks.updateOffset(this, keepTime);\n return this;\n } else {\n return get(this, unit);\n }\n };\n }\n\n function get(mom, unit) {\n return mom.isValid()\n ? mom._d['get' + (mom._isUTC ? 'UTC' : '') + unit]()\n : NaN;\n }\n\n function set$1(mom, unit, value) {\n if (mom.isValid() && !isNaN(value)) {\n if (\n unit === 'FullYear' &&\n isLeapYear(mom.year()) &&\n mom.month() === 1 &&\n mom.date() === 29\n ) {\n value = toInt(value);\n mom._d['set' + (mom._isUTC ? 'UTC' : '') + unit](\n value,\n mom.month(),\n daysInMonth(value, mom.month())\n );\n } else {\n mom._d['set' + (mom._isUTC ? 'UTC' : '') + unit](value);\n }\n }\n }\n\n // MOMENTS\n\n function stringGet(units) {\n units = normalizeUnits(units);\n if (isFunction(this[units])) {\n return this[units]();\n }\n return this;\n }\n\n function stringSet(units, value) {\n if (typeof units === 'object') {\n units = normalizeObjectUnits(units);\n var prioritized = getPrioritizedUnits(units),\n i,\n prioritizedLen = prioritized.length;\n for (i = 0; i < prioritizedLen; i++) {\n this[prioritized[i].unit](units[prioritized[i].unit]);\n }\n } else {\n units = normalizeUnits(units);\n if (isFunction(this[units])) {\n return this[units](value);\n }\n }\n return this;\n }\n\n var match1 = /\\d/, // 0 - 9\n match2 = /\\d\\d/, // 00 - 99\n match3 = /\\d{3}/, // 000 - 999\n match4 = /\\d{4}/, // 0000 - 9999\n match6 = /[+-]?\\d{6}/, // -999999 - 999999\n match1to2 = /\\d\\d?/, // 0 - 99\n match3to4 = /\\d\\d\\d\\d?/, // 999 - 9999\n match5to6 = /\\d\\d\\d\\d\\d\\d?/, // 99999 - 999999\n match1to3 = /\\d{1,3}/, // 0 - 999\n match1to4 = /\\d{1,4}/, // 0 - 9999\n match1to6 = /[+-]?\\d{1,6}/, // -999999 - 999999\n matchUnsigned = /\\d+/, // 0 - inf\n matchSigned = /[+-]?\\d+/, // -inf - inf\n matchOffset = /Z|[+-]\\d\\d:?\\d\\d/gi, // +00:00 -00:00 +0000 -0000 or Z\n matchShortOffset = /Z|[+-]\\d\\d(?::?\\d\\d)?/gi, // +00 -00 +00:00 -00:00 +0000 -0000 or Z\n matchTimestamp = /[+-]?\\d+(\\.\\d{1,3})?/, // 123456789 123456789.123\n // any word (or two) characters or numbers including two/three word month in arabic.\n // includes scottish gaelic two word and hyphenated months\n matchWord =\n /[0-9]{0,256}['a-z\\u00A0-\\u05FF\\u0700-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFF07\\uFF10-\\uFFEF]{1,256}|[\\u0600-\\u06FF\\/]{1,256}(\\s*?[\\u0600-\\u06FF]{1,256}){1,2}/i,\n regexes;\n\n regexes = {};\n\n function addRegexToken(token, regex, strictRegex) {\n regexes[token] = isFunction(regex)\n ? regex\n : function (isStrict, localeData) {\n return isStrict && strictRegex ? strictRegex : regex;\n };\n }\n\n function getParseRegexForToken(token, config) {\n if (!hasOwnProp(regexes, token)) {\n return new RegExp(unescapeFormat(token));\n }\n\n return regexes[token](config._strict, config._locale);\n }\n\n // Code from http://stackoverflow.com/questions/3561493/is-there-a-regexp-escape-function-in-javascript\n function unescapeFormat(s) {\n return regexEscape(\n s\n .replace('\\\\', '')\n .replace(\n /\\\\(\\[)|\\\\(\\])|\\[([^\\]\\[]*)\\]|\\\\(.)/g,\n function (matched, p1, p2, p3, p4) {\n return p1 || p2 || p3 || p4;\n }\n )\n );\n }\n\n function regexEscape(s) {\n return s.replace(/[-\\/\\\\^$*+?.()|[\\]{}]/g, '\\\\$&');\n }\n\n var tokens = {};\n\n function addParseToken(token, callback) {\n var i,\n func = callback,\n tokenLen;\n if (typeof token === 'string') {\n token = [token];\n }\n if (isNumber(callback)) {\n func = function (input, array) {\n array[callback] = toInt(input);\n };\n }\n tokenLen = token.length;\n for (i = 0; i < tokenLen; i++) {\n tokens[token[i]] = func;\n }\n }\n\n function addWeekParseToken(token, callback) {\n addParseToken(token, function (input, array, config, token) {\n config._w = config._w || {};\n callback(input, config._w, config, token);\n });\n }\n\n function addTimeToArrayFromToken(token, input, config) {\n if (input != null && hasOwnProp(tokens, token)) {\n tokens[token](input, config._a, config, token);\n }\n }\n\n var YEAR = 0,\n MONTH = 1,\n DATE = 2,\n HOUR = 3,\n MINUTE = 4,\n SECOND = 5,\n MILLISECOND = 6,\n WEEK = 7,\n WEEKDAY = 8;\n\n function mod(n, x) {\n return ((n % x) + x) % x;\n }\n\n var indexOf;\n\n if (Array.prototype.indexOf) {\n indexOf = Array.prototype.indexOf;\n } else {\n indexOf = function (o) {\n // I know\n var i;\n for (i = 0; i < this.length; ++i) {\n if (this[i] === o) {\n return i;\n }\n }\n return -1;\n };\n }\n\n function daysInMonth(year, month) {\n if (isNaN(year) || isNaN(month)) {\n return NaN;\n }\n var modMonth = mod(month, 12);\n year += (month - modMonth) / 12;\n return modMonth === 1\n ? isLeapYear(year)\n ? 29\n : 28\n : 31 - ((modMonth % 7) % 2);\n }\n\n // FORMATTING\n\n addFormatToken('M', ['MM', 2], 'Mo', function () {\n return this.month() + 1;\n });\n\n addFormatToken('MMM', 0, 0, function (format) {\n return this.localeData().monthsShort(this, format);\n });\n\n addFormatToken('MMMM', 0, 0, function (format) {\n return this.localeData().months(this, format);\n });\n\n // ALIASES\n\n addUnitAlias('month', 'M');\n\n // PRIORITY\n\n addUnitPriority('month', 8);\n\n // PARSING\n\n addRegexToken('M', match1to2);\n addRegexToken('MM', match1to2, match2);\n addRegexToken('MMM', function (isStrict, locale) {\n return locale.monthsShortRegex(isStrict);\n });\n addRegexToken('MMMM', function (isStrict, locale) {\n return locale.monthsRegex(isStrict);\n });\n\n addParseToken(['M', 'MM'], function (input, array) {\n array[MONTH] = toInt(input) - 1;\n });\n\n addParseToken(['MMM', 'MMMM'], function (input, array, config, token) {\n var month = config._locale.monthsParse(input, token, config._strict);\n // if we didn't find a month name, mark the date as invalid.\n if (month != null) {\n array[MONTH] = month;\n } else {\n getParsingFlags(config).invalidMonth = input;\n }\n });\n\n // LOCALES\n\n var defaultLocaleMonths =\n 'January_February_March_April_May_June_July_August_September_October_November_December'.split(\n '_'\n ),\n defaultLocaleMonthsShort =\n 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'),\n MONTHS_IN_FORMAT = /D[oD]?(\\[[^\\[\\]]*\\]|\\s)+MMMM?/,\n defaultMonthsShortRegex = matchWord,\n defaultMonthsRegex = matchWord;\n\n function localeMonths(m, format) {\n if (!m) {\n return isArray(this._months)\n ? this._months\n : this._months['standalone'];\n }\n return isArray(this._months)\n ? this._months[m.month()]\n : this._months[\n (this._months.isFormat || MONTHS_IN_FORMAT).test(format)\n ? 'format'\n : 'standalone'\n ][m.month()];\n }\n\n function localeMonthsShort(m, format) {\n if (!m) {\n return isArray(this._monthsShort)\n ? this._monthsShort\n : this._monthsShort['standalone'];\n }\n return isArray(this._monthsShort)\n ? this._monthsShort[m.month()]\n : this._monthsShort[\n MONTHS_IN_FORMAT.test(format) ? 'format' : 'standalone'\n ][m.month()];\n }\n\n function handleStrictParse(monthName, format, strict) {\n var i,\n ii,\n mom,\n llc = monthName.toLocaleLowerCase();\n if (!this._monthsParse) {\n // this is not used\n this._monthsParse = [];\n this._longMonthsParse = [];\n this._shortMonthsParse = [];\n for (i = 0; i < 12; ++i) {\n mom = createUTC([2000, i]);\n this._shortMonthsParse[i] = this.monthsShort(\n mom,\n ''\n ).toLocaleLowerCase();\n this._longMonthsParse[i] = this.months(mom, '').toLocaleLowerCase();\n }\n }\n\n if (strict) {\n if (format === 'MMM') {\n ii = indexOf.call(this._shortMonthsParse, llc);\n return ii !== -1 ? ii : null;\n } else {\n ii = indexOf.call(this._longMonthsParse, llc);\n return ii !== -1 ? ii : null;\n }\n } else {\n if (format === 'MMM') {\n ii = indexOf.call(this._shortMonthsParse, llc);\n if (ii !== -1) {\n return ii;\n }\n ii = indexOf.call(this._longMonthsParse, llc);\n return ii !== -1 ? ii : null;\n } else {\n ii = indexOf.call(this._longMonthsParse, llc);\n if (ii !== -1) {\n return ii;\n }\n ii = indexOf.call(this._shortMonthsParse, llc);\n return ii !== -1 ? ii : null;\n }\n }\n }\n\n function localeMonthsParse(monthName, format, strict) {\n var i, mom, regex;\n\n if (this._monthsParseExact) {\n return handleStrictParse.call(this, monthName, format, strict);\n }\n\n if (!this._monthsParse) {\n this._monthsParse = [];\n this._longMonthsParse = [];\n this._shortMonthsParse = [];\n }\n\n // TODO: add sorting\n // Sorting makes sure if one month (or abbr) is a prefix of another\n // see sorting in computeMonthsParse\n for (i = 0; i < 12; i++) {\n // make the regex if we don't have it already\n mom = createUTC([2000, i]);\n if (strict && !this._longMonthsParse[i]) {\n this._longMonthsParse[i] = new RegExp(\n '^' + this.months(mom, '').replace('.', '') + '$',\n 'i'\n );\n this._shortMonthsParse[i] = new RegExp(\n '^' + this.monthsShort(mom, '').replace('.', '') + '$',\n 'i'\n );\n }\n if (!strict && !this._monthsParse[i]) {\n regex =\n '^' + this.months(mom, '') + '|^' + this.monthsShort(mom, '');\n this._monthsParse[i] = new RegExp(regex.replace('.', ''), 'i');\n }\n // test the regex\n if (\n strict &&\n format === 'MMMM' &&\n this._longMonthsParse[i].test(monthName)\n ) {\n return i;\n } else if (\n strict &&\n format === 'MMM' &&\n this._shortMonthsParse[i].test(monthName)\n ) {\n return i;\n } else if (!strict && this._monthsParse[i].test(monthName)) {\n return i;\n }\n }\n }\n\n // MOMENTS\n\n function setMonth(mom, value) {\n var dayOfMonth;\n\n if (!mom.isValid()) {\n // No op\n return mom;\n }\n\n if (typeof value === 'string') {\n if (/^\\d+$/.test(value)) {\n value = toInt(value);\n } else {\n value = mom.localeData().monthsParse(value);\n // TODO: Another silent failure?\n if (!isNumber(value)) {\n return mom;\n }\n }\n }\n\n dayOfMonth = Math.min(mom.date(), daysInMonth(mom.year(), value));\n mom._d['set' + (mom._isUTC ? 'UTC' : '') + 'Month'](value, dayOfMonth);\n return mom;\n }\n\n function getSetMonth(value) {\n if (value != null) {\n setMonth(this, value);\n hooks.updateOffset(this, true);\n return this;\n } else {\n return get(this, 'Month');\n }\n }\n\n function getDaysInMonth() {\n return daysInMonth(this.year(), this.month());\n }\n\n function monthsShortRegex(isStrict) {\n if (this._monthsParseExact) {\n if (!hasOwnProp(this, '_monthsRegex')) {\n computeMonthsParse.call(this);\n }\n if (isStrict) {\n return this._monthsShortStrictRegex;\n } else {\n return this._monthsShortRegex;\n }\n } else {\n if (!hasOwnProp(this, '_monthsShortRegex')) {\n this._monthsShortRegex = defaultMonthsShortRegex;\n }\n return this._monthsShortStrictRegex && isStrict\n ? this._monthsShortStrictRegex\n : this._monthsShortRegex;\n }\n }\n\n function monthsRegex(isStrict) {\n if (this._monthsParseExact) {\n if (!hasOwnProp(this, '_monthsRegex')) {\n computeMonthsParse.call(this);\n }\n if (isStrict) {\n return this._monthsStrictRegex;\n } else {\n return this._monthsRegex;\n }\n } else {\n if (!hasOwnProp(this, '_monthsRegex')) {\n this._monthsRegex = defaultMonthsRegex;\n }\n return this._monthsStrictRegex && isStrict\n ? this._monthsStrictRegex\n : this._monthsRegex;\n }\n }\n\n function computeMonthsParse() {\n function cmpLenRev(a, b) {\n return b.length - a.length;\n }\n\n var shortPieces = [],\n longPieces = [],\n mixedPieces = [],\n i,\n mom;\n for (i = 0; i < 12; i++) {\n // make the regex if we don't have it already\n mom = createUTC([2000, i]);\n shortPieces.push(this.monthsShort(mom, ''));\n longPieces.push(this.months(mom, ''));\n mixedPieces.push(this.months(mom, ''));\n mixedPieces.push(this.monthsShort(mom, ''));\n }\n // Sorting makes sure if one month (or abbr) is a prefix of another it\n // will match the longer piece.\n shortPieces.sort(cmpLenRev);\n longPieces.sort(cmpLenRev);\n mixedPieces.sort(cmpLenRev);\n for (i = 0; i < 12; i++) {\n shortPieces[i] = regexEscape(shortPieces[i]);\n longPieces[i] = regexEscape(longPieces[i]);\n }\n for (i = 0; i < 24; i++) {\n mixedPieces[i] = regexEscape(mixedPieces[i]);\n }\n\n this._monthsRegex = new RegExp('^(' + mixedPieces.join('|') + ')', 'i');\n this._monthsShortRegex = this._monthsRegex;\n this._monthsStrictRegex = new RegExp(\n '^(' + longPieces.join('|') + ')',\n 'i'\n );\n this._monthsShortStrictRegex = new RegExp(\n '^(' + shortPieces.join('|') + ')',\n 'i'\n );\n }\n\n // FORMATTING\n\n addFormatToken('Y', 0, 0, function () {\n var y = this.year();\n return y <= 9999 ? zeroFill(y, 4) : '+' + y;\n });\n\n addFormatToken(0, ['YY', 2], 0, function () {\n return this.year() % 100;\n });\n\n addFormatToken(0, ['YYYY', 4], 0, 'year');\n addFormatToken(0, ['YYYYY', 5], 0, 'year');\n addFormatToken(0, ['YYYYYY', 6, true], 0, 'year');\n\n // ALIASES\n\n addUnitAlias('year', 'y');\n\n // PRIORITIES\n\n addUnitPriority('year', 1);\n\n // PARSING\n\n addRegexToken('Y', matchSigned);\n addRegexToken('YY', match1to2, match2);\n addRegexToken('YYYY', match1to4, match4);\n addRegexToken('YYYYY', match1to6, match6);\n addRegexToken('YYYYYY', match1to6, match6);\n\n addParseToken(['YYYYY', 'YYYYYY'], YEAR);\n addParseToken('YYYY', function (input, array) {\n array[YEAR] =\n input.length === 2 ? hooks.parseTwoDigitYear(input) : toInt(input);\n });\n addParseToken('YY', function (input, array) {\n array[YEAR] = hooks.parseTwoDigitYear(input);\n });\n addParseToken('Y', function (input, array) {\n array[YEAR] = parseInt(input, 10);\n });\n\n // HELPERS\n\n function daysInYear(year) {\n return isLeapYear(year) ? 366 : 365;\n }\n\n // HOOKS\n\n hooks.parseTwoDigitYear = function (input) {\n return toInt(input) + (toInt(input) > 68 ? 1900 : 2000);\n };\n\n // MOMENTS\n\n var getSetYear = makeGetSet('FullYear', true);\n\n function getIsLeapYear() {\n return isLeapYear(this.year());\n }\n\n function createDate(y, m, d, h, M, s, ms) {\n // can't just apply() to create a date:\n // https://stackoverflow.com/q/181348\n var date;\n // the date constructor remaps years 0-99 to 1900-1999\n if (y < 100 && y >= 0) {\n // preserve leap years using a full 400 year cycle, then reset\n date = new Date(y + 400, m, d, h, M, s, ms);\n if (isFinite(date.getFullYear())) {\n date.setFullYear(y);\n }\n } else {\n date = new Date(y, m, d, h, M, s, ms);\n }\n\n return date;\n }\n\n function createUTCDate(y) {\n var date, args;\n // the Date.UTC function remaps years 0-99 to 1900-1999\n if (y < 100 && y >= 0) {\n args = Array.prototype.slice.call(arguments);\n // preserve leap years using a full 400 year cycle, then reset\n args[0] = y + 400;\n date = new Date(Date.UTC.apply(null, args));\n if (isFinite(date.getUTCFullYear())) {\n date.setUTCFullYear(y);\n }\n } else {\n date = new Date(Date.UTC.apply(null, arguments));\n }\n\n return date;\n }\n\n // start-of-first-week - start-of-year\n function firstWeekOffset(year, dow, doy) {\n var // first-week day -- which january is always in the first week (4 for iso, 1 for other)\n fwd = 7 + dow - doy,\n // first-week day local weekday -- which local weekday is fwd\n fwdlw = (7 + createUTCDate(year, 0, fwd).getUTCDay() - dow) % 7;\n\n return -fwdlw + fwd - 1;\n }\n\n // https://en.wikipedia.org/wiki/ISO_week_date#Calculating_a_date_given_the_year.2C_week_number_and_weekday\n function dayOfYearFromWeeks(year, week, weekday, dow, doy) {\n var localWeekday = (7 + weekday - dow) % 7,\n weekOffset = firstWeekOffset(year, dow, doy),\n dayOfYear = 1 + 7 * (week - 1) + localWeekday + weekOffset,\n resYear,\n resDayOfYear;\n\n if (dayOfYear <= 0) {\n resYear = year - 1;\n resDayOfYear = daysInYear(resYear) + dayOfYear;\n } else if (dayOfYear > daysInYear(year)) {\n resYear = year + 1;\n resDayOfYear = dayOfYear - daysInYear(year);\n } else {\n resYear = year;\n resDayOfYear = dayOfYear;\n }\n\n return {\n year: resYear,\n dayOfYear: resDayOfYear,\n };\n }\n\n function weekOfYear(mom, dow, doy) {\n var weekOffset = firstWeekOffset(mom.year(), dow, doy),\n week = Math.floor((mom.dayOfYear() - weekOffset - 1) / 7) + 1,\n resWeek,\n resYear;\n\n if (week < 1) {\n resYear = mom.year() - 1;\n resWeek = week + weeksInYear(resYear, dow, doy);\n } else if (week > weeksInYear(mom.year(), dow, doy)) {\n resWeek = week - weeksInYear(mom.year(), dow, doy);\n resYear = mom.year() + 1;\n } else {\n resYear = mom.year();\n resWeek = week;\n }\n\n return {\n week: resWeek,\n year: resYear,\n };\n }\n\n function weeksInYear(year, dow, doy) {\n var weekOffset = firstWeekOffset(year, dow, doy),\n weekOffsetNext = firstWeekOffset(year + 1, dow, doy);\n return (daysInYear(year) - weekOffset + weekOffsetNext) / 7;\n }\n\n // FORMATTING\n\n addFormatToken('w', ['ww', 2], 'wo', 'week');\n addFormatToken('W', ['WW', 2], 'Wo', 'isoWeek');\n\n // ALIASES\n\n addUnitAlias('week', 'w');\n addUnitAlias('isoWeek', 'W');\n\n // PRIORITIES\n\n addUnitPriority('week', 5);\n addUnitPriority('isoWeek', 5);\n\n // PARSING\n\n addRegexToken('w', match1to2);\n addRegexToken('ww', match1to2, match2);\n addRegexToken('W', match1to2);\n addRegexToken('WW', match1to2, match2);\n\n addWeekParseToken(\n ['w', 'ww', 'W', 'WW'],\n function (input, week, config, token) {\n week[token.substr(0, 1)] = toInt(input);\n }\n );\n\n // HELPERS\n\n // LOCALES\n\n function localeWeek(mom) {\n return weekOfYear(mom, this._week.dow, this._week.doy).week;\n }\n\n var defaultLocaleWeek = {\n dow: 0, // Sunday is the first day of the week.\n doy: 6, // The week that contains Jan 6th is the first week of the year.\n };\n\n function localeFirstDayOfWeek() {\n return this._week.dow;\n }\n\n function localeFirstDayOfYear() {\n return this._week.doy;\n }\n\n // MOMENTS\n\n function getSetWeek(input) {\n var week = this.localeData().week(this);\n return input == null ? week : this.add((input - week) * 7, 'd');\n }\n\n function getSetISOWeek(input) {\n var week = weekOfYear(this, 1, 4).week;\n return input == null ? week : this.add((input - week) * 7, 'd');\n }\n\n // FORMATTING\n\n addFormatToken('d', 0, 'do', 'day');\n\n addFormatToken('dd', 0, 0, function (format) {\n return this.localeData().weekdaysMin(this, format);\n });\n\n addFormatToken('ddd', 0, 0, function (format) {\n return this.localeData().weekdaysShort(this, format);\n });\n\n addFormatToken('dddd', 0, 0, function (format) {\n return this.localeData().weekdays(this, format);\n });\n\n addFormatToken('e', 0, 0, 'weekday');\n addFormatToken('E', 0, 0, 'isoWeekday');\n\n // ALIASES\n\n addUnitAlias('day', 'd');\n addUnitAlias('weekday', 'e');\n addUnitAlias('isoWeekday', 'E');\n\n // PRIORITY\n addUnitPriority('day', 11);\n addUnitPriority('weekday', 11);\n addUnitPriority('isoWeekday', 11);\n\n // PARSING\n\n addRegexToken('d', match1to2);\n addRegexToken('e', match1to2);\n addRegexToken('E', match1to2);\n addRegexToken('dd', function (isStrict, locale) {\n return locale.weekdaysMinRegex(isStrict);\n });\n addRegexToken('ddd', function (isStrict, locale) {\n return locale.weekdaysShortRegex(isStrict);\n });\n addRegexToken('dddd', function (isStrict, locale) {\n return locale.weekdaysRegex(isStrict);\n });\n\n addWeekParseToken(['dd', 'ddd', 'dddd'], function (input, week, config, token) {\n var weekday = config._locale.weekdaysParse(input, token, config._strict);\n // if we didn't get a weekday name, mark the date as invalid\n if (weekday != null) {\n week.d = weekday;\n } else {\n getParsingFlags(config).invalidWeekday = input;\n }\n });\n\n addWeekParseToken(['d', 'e', 'E'], function (input, week, config, token) {\n week[token] = toInt(input);\n });\n\n // HELPERS\n\n function parseWeekday(input, locale) {\n if (typeof input !== 'string') {\n return input;\n }\n\n if (!isNaN(input)) {\n return parseInt(input, 10);\n }\n\n input = locale.weekdaysParse(input);\n if (typeof input === 'number') {\n return input;\n }\n\n return null;\n }\n\n function parseIsoWeekday(input, locale) {\n if (typeof input === 'string') {\n return locale.weekdaysParse(input) % 7 || 7;\n }\n return isNaN(input) ? null : input;\n }\n\n // LOCALES\n function shiftWeekdays(ws, n) {\n return ws.slice(n, 7).concat(ws.slice(0, n));\n }\n\n var defaultLocaleWeekdays =\n 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split('_'),\n defaultLocaleWeekdaysShort = 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'),\n defaultLocaleWeekdaysMin = 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'),\n defaultWeekdaysRegex = matchWord,\n defaultWeekdaysShortRegex = matchWord,\n defaultWeekdaysMinRegex = matchWord;\n\n function localeWeekdays(m, format) {\n var weekdays = isArray(this._weekdays)\n ? this._weekdays\n : this._weekdays[\n m && m !== true && this._weekdays.isFormat.test(format)\n ? 'format'\n : 'standalone'\n ];\n return m === true\n ? shiftWeekdays(weekdays, this._week.dow)\n : m\n ? weekdays[m.day()]\n : weekdays;\n }\n\n function localeWeekdaysShort(m) {\n return m === true\n ? shiftWeekdays(this._weekdaysShort, this._week.dow)\n : m\n ? this._weekdaysShort[m.day()]\n : this._weekdaysShort;\n }\n\n function localeWeekdaysMin(m) {\n return m === true\n ? shiftWeekdays(this._weekdaysMin, this._week.dow)\n : m\n ? this._weekdaysMin[m.day()]\n : this._weekdaysMin;\n }\n\n function handleStrictParse$1(weekdayName, format, strict) {\n var i,\n ii,\n mom,\n llc = weekdayName.toLocaleLowerCase();\n if (!this._weekdaysParse) {\n this._weekdaysParse = [];\n this._shortWeekdaysParse = [];\n this._minWeekdaysParse = [];\n\n for (i = 0; i < 7; ++i) {\n mom = createUTC([2000, 1]).day(i);\n this._minWeekdaysParse[i] = this.weekdaysMin(\n mom,\n ''\n ).toLocaleLowerCase();\n this._shortWeekdaysParse[i] = this.weekdaysShort(\n mom,\n ''\n ).toLocaleLowerCase();\n this._weekdaysParse[i] = this.weekdays(mom, '').toLocaleLowerCase();\n }\n }\n\n if (strict) {\n if (format === 'dddd') {\n ii = indexOf.call(this._weekdaysParse, llc);\n return ii !== -1 ? ii : null;\n } else if (format === 'ddd') {\n ii = indexOf.call(this._shortWeekdaysParse, llc);\n return ii !== -1 ? ii : null;\n } else {\n ii = indexOf.call(this._minWeekdaysParse, llc);\n return ii !== -1 ? ii : null;\n }\n } else {\n if (format === 'dddd') {\n ii = indexOf.call(this._weekdaysParse, llc);\n if (ii !== -1) {\n return ii;\n }\n ii = indexOf.call(this._shortWeekdaysParse, llc);\n if (ii !== -1) {\n return ii;\n }\n ii = indexOf.call(this._minWeekdaysParse, llc);\n return ii !== -1 ? ii : null;\n } else if (format === 'ddd') {\n ii = indexOf.call(this._shortWeekdaysParse, llc);\n if (ii !== -1) {\n return ii;\n }\n ii = indexOf.call(this._weekdaysParse, llc);\n if (ii !== -1) {\n return ii;\n }\n ii = indexOf.call(this._minWeekdaysParse, llc);\n return ii !== -1 ? ii : null;\n } else {\n ii = indexOf.call(this._minWeekdaysParse, llc);\n if (ii !== -1) {\n return ii;\n }\n ii = indexOf.call(this._weekdaysParse, llc);\n if (ii !== -1) {\n return ii;\n }\n ii = indexOf.call(this._shortWeekdaysParse, llc);\n return ii !== -1 ? ii : null;\n }\n }\n }\n\n function localeWeekdaysParse(weekdayName, format, strict) {\n var i, mom, regex;\n\n if (this._weekdaysParseExact) {\n return handleStrictParse$1.call(this, weekdayName, format, strict);\n }\n\n if (!this._weekdaysParse) {\n this._weekdaysParse = [];\n this._minWeekdaysParse = [];\n this._shortWeekdaysParse = [];\n this._fullWeekdaysParse = [];\n }\n\n for (i = 0; i < 7; i++) {\n // make the regex if we don't have it already\n\n mom = createUTC([2000, 1]).day(i);\n if (strict && !this._fullWeekdaysParse[i]) {\n this._fullWeekdaysParse[i] = new RegExp(\n '^' + this.weekdays(mom, '').replace('.', '\\\\.?') + '$',\n 'i'\n );\n this._shortWeekdaysParse[i] = new RegExp(\n '^' + this.weekdaysShort(mom, '').replace('.', '\\\\.?') + '$',\n 'i'\n );\n this._minWeekdaysParse[i] = new RegExp(\n '^' + this.weekdaysMin(mom, '').replace('.', '\\\\.?') + '$',\n 'i'\n );\n }\n if (!this._weekdaysParse[i]) {\n regex =\n '^' +\n this.weekdays(mom, '') +\n '|^' +\n this.weekdaysShort(mom, '') +\n '|^' +\n this.weekdaysMin(mom, '');\n this._weekdaysParse[i] = new RegExp(regex.replace('.', ''), 'i');\n }\n // test the regex\n if (\n strict &&\n format === 'dddd' &&\n this._fullWeekdaysParse[i].test(weekdayName)\n ) {\n return i;\n } else if (\n strict &&\n format === 'ddd' &&\n this._shortWeekdaysParse[i].test(weekdayName)\n ) {\n return i;\n } else if (\n strict &&\n format === 'dd' &&\n this._minWeekdaysParse[i].test(weekdayName)\n ) {\n return i;\n } else if (!strict && this._weekdaysParse[i].test(weekdayName)) {\n return i;\n }\n }\n }\n\n // MOMENTS\n\n function getSetDayOfWeek(input) {\n if (!this.isValid()) {\n return input != null ? this : NaN;\n }\n var day = this._isUTC ? this._d.getUTCDay() : this._d.getDay();\n if (input != null) {\n input = parseWeekday(input, this.localeData());\n return this.add(input - day, 'd');\n } else {\n return day;\n }\n }\n\n function getSetLocaleDayOfWeek(input) {\n if (!this.isValid()) {\n return input != null ? this : NaN;\n }\n var weekday = (this.day() + 7 - this.localeData()._week.dow) % 7;\n return input == null ? weekday : this.add(input - weekday, 'd');\n }\n\n function getSetISODayOfWeek(input) {\n if (!this.isValid()) {\n return input != null ? this : NaN;\n }\n\n // behaves the same as moment#day except\n // as a getter, returns 7 instead of 0 (1-7 range instead of 0-6)\n // as a setter, sunday should belong to the previous week.\n\n if (input != null) {\n var weekday = parseIsoWeekday(input, this.localeData());\n return this.day(this.day() % 7 ? weekday : weekday - 7);\n } else {\n return this.day() || 7;\n }\n }\n\n function weekdaysRegex(isStrict) {\n if (this._weekdaysParseExact) {\n if (!hasOwnProp(this, '_weekdaysRegex')) {\n computeWeekdaysParse.call(this);\n }\n if (isStrict) {\n return this._weekdaysStrictRegex;\n } else {\n return this._weekdaysRegex;\n }\n } else {\n if (!hasOwnProp(this, '_weekdaysRegex')) {\n this._weekdaysRegex = defaultWeekdaysRegex;\n }\n return this._weekdaysStrictRegex && isStrict\n ? this._weekdaysStrictRegex\n : this._weekdaysRegex;\n }\n }\n\n function weekdaysShortRegex(isStrict) {\n if (this._weekdaysParseExact) {\n if (!hasOwnProp(this, '_weekdaysRegex')) {\n computeWeekdaysParse.call(this);\n }\n if (isStrict) {\n return this._weekdaysShortStrictRegex;\n } else {\n return this._weekdaysShortRegex;\n }\n } else {\n if (!hasOwnProp(this, '_weekdaysShortRegex')) {\n this._weekdaysShortRegex = defaultWeekdaysShortRegex;\n }\n return this._weekdaysShortStrictRegex && isStrict\n ? this._weekdaysShortStrictRegex\n : this._weekdaysShortRegex;\n }\n }\n\n function weekdaysMinRegex(isStrict) {\n if (this._weekdaysParseExact) {\n if (!hasOwnProp(this, '_weekdaysRegex')) {\n computeWeekdaysParse.call(this);\n }\n if (isStrict) {\n return this._weekdaysMinStrictRegex;\n } else {\n return this._weekdaysMinRegex;\n }\n } else {\n if (!hasOwnProp(this, '_weekdaysMinRegex')) {\n this._weekdaysMinRegex = defaultWeekdaysMinRegex;\n }\n return this._weekdaysMinStrictRegex && isStrict\n ? this._weekdaysMinStrictRegex\n : this._weekdaysMinRegex;\n }\n }\n\n function computeWeekdaysParse() {\n function cmpLenRev(a, b) {\n return b.length - a.length;\n }\n\n var minPieces = [],\n shortPieces = [],\n longPieces = [],\n mixedPieces = [],\n i,\n mom,\n minp,\n shortp,\n longp;\n for (i = 0; i < 7; i++) {\n // make the regex if we don't have it already\n mom = createUTC([2000, 1]).day(i);\n minp = regexEscape(this.weekdaysMin(mom, ''));\n shortp = regexEscape(this.weekdaysShort(mom, ''));\n longp = regexEscape(this.weekdays(mom, ''));\n minPieces.push(minp);\n shortPieces.push(shortp);\n longPieces.push(longp);\n mixedPieces.push(minp);\n mixedPieces.push(shortp);\n mixedPieces.push(longp);\n }\n // Sorting makes sure if one weekday (or abbr) is a prefix of another it\n // will match the longer piece.\n minPieces.sort(cmpLenRev);\n shortPieces.sort(cmpLenRev);\n longPieces.sort(cmpLenRev);\n mixedPieces.sort(cmpLenRev);\n\n this._weekdaysRegex = new RegExp('^(' + mixedPieces.join('|') + ')', 'i');\n this._weekdaysShortRegex = this._weekdaysRegex;\n this._weekdaysMinRegex = this._weekdaysRegex;\n\n this._weekdaysStrictRegex = new RegExp(\n '^(' + longPieces.join('|') + ')',\n 'i'\n );\n this._weekdaysShortStrictRegex = new RegExp(\n '^(' + shortPieces.join('|') + ')',\n 'i'\n );\n this._weekdaysMinStrictRegex = new RegExp(\n '^(' + minPieces.join('|') + ')',\n 'i'\n );\n }\n\n // FORMATTING\n\n function hFormat() {\n return this.hours() % 12 || 12;\n }\n\n function kFormat() {\n return this.hours() || 24;\n }\n\n addFormatToken('H', ['HH', 2], 0, 'hour');\n addFormatToken('h', ['hh', 2], 0, hFormat);\n addFormatToken('k', ['kk', 2], 0, kFormat);\n\n addFormatToken('hmm', 0, 0, function () {\n return '' + hFormat.apply(this) + zeroFill(this.minutes(), 2);\n });\n\n addFormatToken('hmmss', 0, 0, function () {\n return (\n '' +\n hFormat.apply(this) +\n zeroFill(this.minutes(), 2) +\n zeroFill(this.seconds(), 2)\n );\n });\n\n addFormatToken('Hmm', 0, 0, function () {\n return '' + this.hours() + zeroFill(this.minutes(), 2);\n });\n\n addFormatToken('Hmmss', 0, 0, function () {\n return (\n '' +\n this.hours() +\n zeroFill(this.minutes(), 2) +\n zeroFill(this.seconds(), 2)\n );\n });\n\n function meridiem(token, lowercase) {\n addFormatToken(token, 0, 0, function () {\n return this.localeData().meridiem(\n this.hours(),\n this.minutes(),\n lowercase\n );\n });\n }\n\n meridiem('a', true);\n meridiem('A', false);\n\n // ALIASES\n\n addUnitAlias('hour', 'h');\n\n // PRIORITY\n addUnitPriority('hour', 13);\n\n // PARSING\n\n function matchMeridiem(isStrict, locale) {\n return locale._meridiemParse;\n }\n\n addRegexToken('a', matchMeridiem);\n addRegexToken('A', matchMeridiem);\n addRegexToken('H', match1to2);\n addRegexToken('h', match1to2);\n addRegexToken('k', match1to2);\n addRegexToken('HH', match1to2, match2);\n addRegexToken('hh', match1to2, match2);\n addRegexToken('kk', match1to2, match2);\n\n addRegexToken('hmm', match3to4);\n addRegexToken('hmmss', match5to6);\n addRegexToken('Hmm', match3to4);\n addRegexToken('Hmmss', match5to6);\n\n addParseToken(['H', 'HH'], HOUR);\n addParseToken(['k', 'kk'], function (input, array, config) {\n var kInput = toInt(input);\n array[HOUR] = kInput === 24 ? 0 : kInput;\n });\n addParseToken(['a', 'A'], function (input, array, config) {\n config._isPm = config._locale.isPM(input);\n config._meridiem = input;\n });\n addParseToken(['h', 'hh'], function (input, array, config) {\n array[HOUR] = toInt(input);\n getParsingFlags(config).bigHour = true;\n });\n addParseToken('hmm', function (input, array, config) {\n var pos = input.length - 2;\n array[HOUR] = toInt(input.substr(0, pos));\n array[MINUTE] = toInt(input.substr(pos));\n getParsingFlags(config).bigHour = true;\n });\n addParseToken('hmmss', function (input, array, config) {\n var pos1 = input.length - 4,\n pos2 = input.length - 2;\n array[HOUR] = toInt(input.substr(0, pos1));\n array[MINUTE] = toInt(input.substr(pos1, 2));\n array[SECOND] = toInt(input.substr(pos2));\n getParsingFlags(config).bigHour = true;\n });\n addParseToken('Hmm', function (input, array, config) {\n var pos = input.length - 2;\n array[HOUR] = toInt(input.substr(0, pos));\n array[MINUTE] = toInt(input.substr(pos));\n });\n addParseToken('Hmmss', function (input, array, config) {\n var pos1 = input.length - 4,\n pos2 = input.length - 2;\n array[HOUR] = toInt(input.substr(0, pos1));\n array[MINUTE] = toInt(input.substr(pos1, 2));\n array[SECOND] = toInt(input.substr(pos2));\n });\n\n // LOCALES\n\n function localeIsPM(input) {\n // IE8 Quirks Mode & IE7 Standards Mode do not allow accessing strings like arrays\n // Using charAt should be more compatible.\n return (input + '').toLowerCase().charAt(0) === 'p';\n }\n\n var defaultLocaleMeridiemParse = /[ap]\\.?m?\\.?/i,\n // Setting the hour should keep the time, because the user explicitly\n // specified which hour they want. So trying to maintain the same hour (in\n // a new timezone) makes sense. Adding/subtracting hours does not follow\n // this rule.\n getSetHour = makeGetSet('Hours', true);\n\n function localeMeridiem(hours, minutes, isLower) {\n if (hours > 11) {\n return isLower ? 'pm' : 'PM';\n } else {\n return isLower ? 'am' : 'AM';\n }\n }\n\n var baseConfig = {\n calendar: defaultCalendar,\n longDateFormat: defaultLongDateFormat,\n invalidDate: defaultInvalidDate,\n ordinal: defaultOrdinal,\n dayOfMonthOrdinalParse: defaultDayOfMonthOrdinalParse,\n relativeTime: defaultRelativeTime,\n\n months: defaultLocaleMonths,\n monthsShort: defaultLocaleMonthsShort,\n\n week: defaultLocaleWeek,\n\n weekdays: defaultLocaleWeekdays,\n weekdaysMin: defaultLocaleWeekdaysMin,\n weekdaysShort: defaultLocaleWeekdaysShort,\n\n meridiemParse: defaultLocaleMeridiemParse,\n };\n\n // internal storage for locale config files\n var locales = {},\n localeFamilies = {},\n globalLocale;\n\n function commonPrefix(arr1, arr2) {\n var i,\n minl = Math.min(arr1.length, arr2.length);\n for (i = 0; i < minl; i += 1) {\n if (arr1[i] !== arr2[i]) {\n return i;\n }\n }\n return minl;\n }\n\n function normalizeLocale(key) {\n return key ? key.toLowerCase().replace('_', '-') : key;\n }\n\n // pick the locale from the array\n // try ['en-au', 'en-gb'] as 'en-au', 'en-gb', 'en', as in move through the list trying each\n // substring from most specific to least, but move to the next array item if it's a more specific variant than the current root\n function chooseLocale(names) {\n var i = 0,\n j,\n next,\n locale,\n split;\n\n while (i < names.length) {\n split = normalizeLocale(names[i]).split('-');\n j = split.length;\n next = normalizeLocale(names[i + 1]);\n next = next ? next.split('-') : null;\n while (j > 0) {\n locale = loadLocale(split.slice(0, j).join('-'));\n if (locale) {\n return locale;\n }\n if (\n next &&\n next.length >= j &&\n commonPrefix(split, next) >= j - 1\n ) {\n //the next array item is better than a shallower substring of this one\n break;\n }\n j--;\n }\n i++;\n }\n return globalLocale;\n }\n\n function isLocaleNameSane(name) {\n // Prevent names that look like filesystem paths, i.e contain '/' or '\\'\n return name.match('^[^/\\\\\\\\]*$') != null;\n }\n\n function loadLocale(name) {\n var oldLocale = null,\n aliasedRequire;\n // TODO: Find a better way to register and load all the locales in Node\n if (\n locales[name] === undefined &&\n typeof module !== 'undefined' &&\n module &&\n module.exports &&\n isLocaleNameSane(name)\n ) {\n try {\n oldLocale = globalLocale._abbr;\n aliasedRequire = require;\n aliasedRequire('./locale/' + name);\n getSetGlobalLocale(oldLocale);\n } catch (e) {\n // mark as not found to avoid repeating expensive file require call causing high CPU\n // when trying to find en-US, en_US, en-us for every format call\n locales[name] = null; // null means not found\n }\n }\n return locales[name];\n }\n\n // This function will load locale and then set the global locale. If\n // no arguments are passed in, it will simply return the current global\n // locale key.\n function getSetGlobalLocale(key, values) {\n var data;\n if (key) {\n if (isUndefined(values)) {\n data = getLocale(key);\n } else {\n data = defineLocale(key, values);\n }\n\n if (data) {\n // moment.duration._locale = moment._locale = data;\n globalLocale = data;\n } else {\n if (typeof console !== 'undefined' && console.warn) {\n //warn user if arguments are passed but the locale could not be set\n console.warn(\n 'Locale ' + key + ' not found. Did you forget to load it?'\n );\n }\n }\n }\n\n return globalLocale._abbr;\n }\n\n function defineLocale(name, config) {\n if (config !== null) {\n var locale,\n parentConfig = baseConfig;\n config.abbr = name;\n if (locales[name] != null) {\n deprecateSimple(\n 'defineLocaleOverride',\n 'use moment.updateLocale(localeName, config) to change ' +\n 'an existing locale. moment.defineLocale(localeName, ' +\n 'config) should only be used for creating a new locale ' +\n 'See http://momentjs.com/guides/#/warnings/define-locale/ for more info.'\n );\n parentConfig = locales[name]._config;\n } else if (config.parentLocale != null) {\n if (locales[config.parentLocale] != null) {\n parentConfig = locales[config.parentLocale]._config;\n } else {\n locale = loadLocale(config.parentLocale);\n if (locale != null) {\n parentConfig = locale._config;\n } else {\n if (!localeFamilies[config.parentLocale]) {\n localeFamilies[config.parentLocale] = [];\n }\n localeFamilies[config.parentLocale].push({\n name: name,\n config: config,\n });\n return null;\n }\n }\n }\n locales[name] = new Locale(mergeConfigs(parentConfig, config));\n\n if (localeFamilies[name]) {\n localeFamilies[name].forEach(function (x) {\n defineLocale(x.name, x.config);\n });\n }\n\n // backwards compat for now: also set the locale\n // make sure we set the locale AFTER all child locales have been\n // created, so we won't end up with the child locale set.\n getSetGlobalLocale(name);\n\n return locales[name];\n } else {\n // useful for testing\n delete locales[name];\n return null;\n }\n }\n\n function updateLocale(name, config) {\n if (config != null) {\n var locale,\n tmpLocale,\n parentConfig = baseConfig;\n\n if (locales[name] != null && locales[name].parentLocale != null) {\n // Update existing child locale in-place to avoid memory-leaks\n locales[name].set(mergeConfigs(locales[name]._config, config));\n } else {\n // MERGE\n tmpLocale = loadLocale(name);\n if (tmpLocale != null) {\n parentConfig = tmpLocale._config;\n }\n config = mergeConfigs(parentConfig, config);\n if (tmpLocale == null) {\n // updateLocale is called for creating a new locale\n // Set abbr so it will have a name (getters return\n // undefined otherwise).\n config.abbr = name;\n }\n locale = new Locale(config);\n locale.parentLocale = locales[name];\n locales[name] = locale;\n }\n\n // backwards compat for now: also set the locale\n getSetGlobalLocale(name);\n } else {\n // pass null for config to unupdate, useful for tests\n if (locales[name] != null) {\n if (locales[name].parentLocale != null) {\n locales[name] = locales[name].parentLocale;\n if (name === getSetGlobalLocale()) {\n getSetGlobalLocale(name);\n }\n } else if (locales[name] != null) {\n delete locales[name];\n }\n }\n }\n return locales[name];\n }\n\n // returns locale data\n function getLocale(key) {\n var locale;\n\n if (key && key._locale && key._locale._abbr) {\n key = key._locale._abbr;\n }\n\n if (!key) {\n return globalLocale;\n }\n\n if (!isArray(key)) {\n //short-circuit everything else\n locale = loadLocale(key);\n if (locale) {\n return locale;\n }\n key = [key];\n }\n\n return chooseLocale(key);\n }\n\n function listLocales() {\n return keys(locales);\n }\n\n function checkOverflow(m) {\n var overflow,\n a = m._a;\n\n if (a && getParsingFlags(m).overflow === -2) {\n overflow =\n a[MONTH] < 0 || a[MONTH] > 11\n ? MONTH\n : a[DATE] < 1 || a[DATE] > daysInMonth(a[YEAR], a[MONTH])\n ? DATE\n : a[HOUR] < 0 ||\n a[HOUR] > 24 ||\n (a[HOUR] === 24 &&\n (a[MINUTE] !== 0 ||\n a[SECOND] !== 0 ||\n a[MILLISECOND] !== 0))\n ? HOUR\n : a[MINUTE] < 0 || a[MINUTE] > 59\n ? MINUTE\n : a[SECOND] < 0 || a[SECOND] > 59\n ? SECOND\n : a[MILLISECOND] < 0 || a[MILLISECOND] > 999\n ? MILLISECOND\n : -1;\n\n if (\n getParsingFlags(m)._overflowDayOfYear &&\n (overflow < YEAR || overflow > DATE)\n ) {\n overflow = DATE;\n }\n if (getParsingFlags(m)._overflowWeeks && overflow === -1) {\n overflow = WEEK;\n }\n if (getParsingFlags(m)._overflowWeekday && overflow === -1) {\n overflow = WEEKDAY;\n }\n\n getParsingFlags(m).overflow = overflow;\n }\n\n return m;\n }\n\n // iso 8601 regex\n // 0000-00-00 0000-W00 or 0000-W00-0 + T + 00 or 00:00 or 00:00:00 or 00:00:00.000 + +00:00 or +0000 or +00)\n var extendedIsoRegex =\n /^\\s*((?:[+-]\\d{6}|\\d{4})-(?:\\d\\d-\\d\\d|W\\d\\d-\\d|W\\d\\d|\\d\\d\\d|\\d\\d))(?:(T| )(\\d\\d(?::\\d\\d(?::\\d\\d(?:[.,]\\d+)?)?)?)([+-]\\d\\d(?::?\\d\\d)?|\\s*Z)?)?$/,\n basicIsoRegex =\n /^\\s*((?:[+-]\\d{6}|\\d{4})(?:\\d\\d\\d\\d|W\\d\\d\\d|W\\d\\d|\\d\\d\\d|\\d\\d|))(?:(T| )(\\d\\d(?:\\d\\d(?:\\d\\d(?:[.,]\\d+)?)?)?)([+-]\\d\\d(?::?\\d\\d)?|\\s*Z)?)?$/,\n tzRegex = /Z|[+-]\\d\\d(?::?\\d\\d)?/,\n isoDates = [\n ['YYYYYY-MM-DD', /[+-]\\d{6}-\\d\\d-\\d\\d/],\n ['YYYY-MM-DD', /\\d{4}-\\d\\d-\\d\\d/],\n ['GGGG-[W]WW-E', /\\d{4}-W\\d\\d-\\d/],\n ['GGGG-[W]WW', /\\d{4}-W\\d\\d/, false],\n ['YYYY-DDD', /\\d{4}-\\d{3}/],\n ['YYYY-MM', /\\d{4}-\\d\\d/, false],\n ['YYYYYYMMDD', /[+-]\\d{10}/],\n ['YYYYMMDD', /\\d{8}/],\n ['GGGG[W]WWE', /\\d{4}W\\d{3}/],\n ['GGGG[W]WW', /\\d{4}W\\d{2}/, false],\n ['YYYYDDD', /\\d{7}/],\n ['YYYYMM', /\\d{6}/, false],\n ['YYYY', /\\d{4}/, false],\n ],\n // iso time formats and regexes\n isoTimes = [\n ['HH:mm:ss.SSSS', /\\d\\d:\\d\\d:\\d\\d\\.\\d+/],\n ['HH:mm:ss,SSSS', /\\d\\d:\\d\\d:\\d\\d,\\d+/],\n ['HH:mm:ss', /\\d\\d:\\d\\d:\\d\\d/],\n ['HH:mm', /\\d\\d:\\d\\d/],\n ['HHmmss.SSSS', /\\d\\d\\d\\d\\d\\d\\.\\d+/],\n ['HHmmss,SSSS', /\\d\\d\\d\\d\\d\\d,\\d+/],\n ['HHmmss', /\\d\\d\\d\\d\\d\\d/],\n ['HHmm', /\\d\\d\\d\\d/],\n ['HH', /\\d\\d/],\n ],\n aspNetJsonRegex = /^\\/?Date\\((-?\\d+)/i,\n // RFC 2822 regex: For details see https://tools.ietf.org/html/rfc2822#section-3.3\n rfc2822 =\n /^(?:(Mon|Tue|Wed|Thu|Fri|Sat|Sun),?\\s)?(\\d{1,2})\\s(Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)\\s(\\d{2,4})\\s(\\d\\d):(\\d\\d)(?::(\\d\\d))?\\s(?:(UT|GMT|[ECMP][SD]T)|([Zz])|([+-]\\d{4}))$/,\n obsOffsets = {\n UT: 0,\n GMT: 0,\n EDT: -4 * 60,\n EST: -5 * 60,\n CDT: -5 * 60,\n CST: -6 * 60,\n MDT: -6 * 60,\n MST: -7 * 60,\n PDT: -7 * 60,\n PST: -8 * 60,\n };\n\n // date from iso format\n function configFromISO(config) {\n var i,\n l,\n string = config._i,\n match = extendedIsoRegex.exec(string) || basicIsoRegex.exec(string),\n allowTime,\n dateFormat,\n timeFormat,\n tzFormat,\n isoDatesLen = isoDates.length,\n isoTimesLen = isoTimes.length;\n\n if (match) {\n getParsingFlags(config).iso = true;\n for (i = 0, l = isoDatesLen; i < l; i++) {\n if (isoDates[i][1].exec(match[1])) {\n dateFormat = isoDates[i][0];\n allowTime = isoDates[i][2] !== false;\n break;\n }\n }\n if (dateFormat == null) {\n config._isValid = false;\n return;\n }\n if (match[3]) {\n for (i = 0, l = isoTimesLen; i < l; i++) {\n if (isoTimes[i][1].exec(match[3])) {\n // match[2] should be 'T' or space\n timeFormat = (match[2] || ' ') + isoTimes[i][0];\n break;\n }\n }\n if (timeFormat == null) {\n config._isValid = false;\n return;\n }\n }\n if (!allowTime && timeFormat != null) {\n config._isValid = false;\n return;\n }\n if (match[4]) {\n if (tzRegex.exec(match[4])) {\n tzFormat = 'Z';\n } else {\n config._isValid = false;\n return;\n }\n }\n config._f = dateFormat + (timeFormat || '') + (tzFormat || '');\n configFromStringAndFormat(config);\n } else {\n config._isValid = false;\n }\n }\n\n function extractFromRFC2822Strings(\n yearStr,\n monthStr,\n dayStr,\n hourStr,\n minuteStr,\n secondStr\n ) {\n var result = [\n untruncateYear(yearStr),\n defaultLocaleMonthsShort.indexOf(monthStr),\n parseInt(dayStr, 10),\n parseInt(hourStr, 10),\n parseInt(minuteStr, 10),\n ];\n\n if (secondStr) {\n result.push(parseInt(secondStr, 10));\n }\n\n return result;\n }\n\n function untruncateYear(yearStr) {\n var year = parseInt(yearStr, 10);\n if (year <= 49) {\n return 2000 + year;\n } else if (year <= 999) {\n return 1900 + year;\n }\n return year;\n }\n\n function preprocessRFC2822(s) {\n // Remove comments and folding whitespace and replace multiple-spaces with a single space\n return s\n .replace(/\\([^()]*\\)|[\\n\\t]/g, ' ')\n .replace(/(\\s\\s+)/g, ' ')\n .replace(/^\\s\\s*/, '')\n .replace(/\\s\\s*$/, '');\n }\n\n function checkWeekday(weekdayStr, parsedInput, config) {\n if (weekdayStr) {\n // TODO: Replace the vanilla JS Date object with an independent day-of-week check.\n var weekdayProvided = defaultLocaleWeekdaysShort.indexOf(weekdayStr),\n weekdayActual = new Date(\n parsedInput[0],\n parsedInput[1],\n parsedInput[2]\n ).getDay();\n if (weekdayProvided !== weekdayActual) {\n getParsingFlags(config).weekdayMismatch = true;\n config._isValid = false;\n return false;\n }\n }\n return true;\n }\n\n function calculateOffset(obsOffset, militaryOffset, numOffset) {\n if (obsOffset) {\n return obsOffsets[obsOffset];\n } else if (militaryOffset) {\n // the only allowed military tz is Z\n return 0;\n } else {\n var hm = parseInt(numOffset, 10),\n m = hm % 100,\n h = (hm - m) / 100;\n return h * 60 + m;\n }\n }\n\n // date and time from ref 2822 format\n function configFromRFC2822(config) {\n var match = rfc2822.exec(preprocessRFC2822(config._i)),\n parsedArray;\n if (match) {\n parsedArray = extractFromRFC2822Strings(\n match[4],\n match[3],\n match[2],\n match[5],\n match[6],\n match[7]\n );\n if (!checkWeekday(match[1], parsedArray, config)) {\n return;\n }\n\n config._a = parsedArray;\n config._tzm = calculateOffset(match[8], match[9], match[10]);\n\n config._d = createUTCDate.apply(null, config._a);\n config._d.setUTCMinutes(config._d.getUTCMinutes() - config._tzm);\n\n getParsingFlags(config).rfc2822 = true;\n } else {\n config._isValid = false;\n }\n }\n\n // date from 1) ASP.NET, 2) ISO, 3) RFC 2822 formats, or 4) optional fallback if parsing isn't strict\n function configFromString(config) {\n var matched = aspNetJsonRegex.exec(config._i);\n if (matched !== null) {\n config._d = new Date(+matched[1]);\n return;\n }\n\n configFromISO(config);\n if (config._isValid === false) {\n delete config._isValid;\n } else {\n return;\n }\n\n configFromRFC2822(config);\n if (config._isValid === false) {\n delete config._isValid;\n } else {\n return;\n }\n\n if (config._strict) {\n config._isValid = false;\n } else {\n // Final attempt, use Input Fallback\n hooks.createFromInputFallback(config);\n }\n }\n\n hooks.createFromInputFallback = deprecate(\n 'value provided is not in a recognized RFC2822 or ISO format. moment construction falls back to js Date(), ' +\n 'which is not reliable across all browsers and versions. Non RFC2822/ISO date formats are ' +\n 'discouraged. Please refer to http://momentjs.com/guides/#/warnings/js-date/ for more info.',\n function (config) {\n config._d = new Date(config._i + (config._useUTC ? ' UTC' : ''));\n }\n );\n\n // Pick the first defined of two or three arguments.\n function defaults(a, b, c) {\n if (a != null) {\n return a;\n }\n if (b != null) {\n return b;\n }\n return c;\n }\n\n function currentDateArray(config) {\n // hooks is actually the exported moment object\n var nowValue = new Date(hooks.now());\n if (config._useUTC) {\n return [\n nowValue.getUTCFullYear(),\n nowValue.getUTCMonth(),\n nowValue.getUTCDate(),\n ];\n }\n return [nowValue.getFullYear(), nowValue.getMonth(), nowValue.getDate()];\n }\n\n // convert an array to a date.\n // the array should mirror the parameters below\n // note: all values past the year are optional and will default to the lowest possible value.\n // [year, month, day , hour, minute, second, millisecond]\n function configFromArray(config) {\n var i,\n date,\n input = [],\n currentDate,\n expectedWeekday,\n yearToUse;\n\n if (config._d) {\n return;\n }\n\n currentDate = currentDateArray(config);\n\n //compute day of the year from weeks and weekdays\n if (config._w && config._a[DATE] == null && config._a[MONTH] == null) {\n dayOfYearFromWeekInfo(config);\n }\n\n //if the day of the year is set, figure out what it is\n if (config._dayOfYear != null) {\n yearToUse = defaults(config._a[YEAR], currentDate[YEAR]);\n\n if (\n config._dayOfYear > daysInYear(yearToUse) ||\n config._dayOfYear === 0\n ) {\n getParsingFlags(config)._overflowDayOfYear = true;\n }\n\n date = createUTCDate(yearToUse, 0, config._dayOfYear);\n config._a[MONTH] = date.getUTCMonth();\n config._a[DATE] = date.getUTCDate();\n }\n\n // Default to current date.\n // * if no year, month, day of month are given, default to today\n // * if day of month is given, default month and year\n // * if month is given, default only year\n // * if year is given, don't default anything\n for (i = 0; i < 3 && config._a[i] == null; ++i) {\n config._a[i] = input[i] = currentDate[i];\n }\n\n // Zero out whatever was not defaulted, including time\n for (; i < 7; i++) {\n config._a[i] = input[i] =\n config._a[i] == null ? (i === 2 ? 1 : 0) : config._a[i];\n }\n\n // Check for 24:00:00.000\n if (\n config._a[HOUR] === 24 &&\n config._a[MINUTE] === 0 &&\n config._a[SECOND] === 0 &&\n config._a[MILLISECOND] === 0\n ) {\n config._nextDay = true;\n config._a[HOUR] = 0;\n }\n\n config._d = (config._useUTC ? createUTCDate : createDate).apply(\n null,\n input\n );\n expectedWeekday = config._useUTC\n ? config._d.getUTCDay()\n : config._d.getDay();\n\n // Apply timezone offset from input. The actual utcOffset can be changed\n // with parseZone.\n if (config._tzm != null) {\n config._d.setUTCMinutes(config._d.getUTCMinutes() - config._tzm);\n }\n\n if (config._nextDay) {\n config._a[HOUR] = 24;\n }\n\n // check for mismatching day of week\n if (\n config._w &&\n typeof config._w.d !== 'undefined' &&\n config._w.d !== expectedWeekday\n ) {\n getParsingFlags(config).weekdayMismatch = true;\n }\n }\n\n function dayOfYearFromWeekInfo(config) {\n var w, weekYear, week, weekday, dow, doy, temp, weekdayOverflow, curWeek;\n\n w = config._w;\n if (w.GG != null || w.W != null || w.E != null) {\n dow = 1;\n doy = 4;\n\n // TODO: We need to take the current isoWeekYear, but that depends on\n // how we interpret now (local, utc, fixed offset). So create\n // a now version of current config (take local/utc/offset flags, and\n // create now).\n weekYear = defaults(\n w.GG,\n config._a[YEAR],\n weekOfYear(createLocal(), 1, 4).year\n );\n week = defaults(w.W, 1);\n weekday = defaults(w.E, 1);\n if (weekday < 1 || weekday > 7) {\n weekdayOverflow = true;\n }\n } else {\n dow = config._locale._week.dow;\n doy = config._locale._week.doy;\n\n curWeek = weekOfYear(createLocal(), dow, doy);\n\n weekYear = defaults(w.gg, config._a[YEAR], curWeek.year);\n\n // Default to current week.\n week = defaults(w.w, curWeek.week);\n\n if (w.d != null) {\n // weekday -- low day numbers are considered next week\n weekday = w.d;\n if (weekday < 0 || weekday > 6) {\n weekdayOverflow = true;\n }\n } else if (w.e != null) {\n // local weekday -- counting starts from beginning of week\n weekday = w.e + dow;\n if (w.e < 0 || w.e > 6) {\n weekdayOverflow = true;\n }\n } else {\n // default to beginning of week\n weekday = dow;\n }\n }\n if (week < 1 || week > weeksInYear(weekYear, dow, doy)) {\n getParsingFlags(config)._overflowWeeks = true;\n } else if (weekdayOverflow != null) {\n getParsingFlags(config)._overflowWeekday = true;\n } else {\n temp = dayOfYearFromWeeks(weekYear, week, weekday, dow, doy);\n config._a[YEAR] = temp.year;\n config._dayOfYear = temp.dayOfYear;\n }\n }\n\n // constant that refers to the ISO standard\n hooks.ISO_8601 = function () {};\n\n // constant that refers to the RFC 2822 form\n hooks.RFC_2822 = function () {};\n\n // date from string and format string\n function configFromStringAndFormat(config) {\n // TODO: Move this to another part of the creation flow to prevent circular deps\n if (config._f === hooks.ISO_8601) {\n configFromISO(config);\n return;\n }\n if (config._f === hooks.RFC_2822) {\n configFromRFC2822(config);\n return;\n }\n config._a = [];\n getParsingFlags(config).empty = true;\n\n // This array is used to make a Date, either with `new Date` or `Date.UTC`\n var string = '' + config._i,\n i,\n parsedInput,\n tokens,\n token,\n skipped,\n stringLength = string.length,\n totalParsedInputLength = 0,\n era,\n tokenLen;\n\n tokens =\n expandFormat(config._f, config._locale).match(formattingTokens) || [];\n tokenLen = tokens.length;\n for (i = 0; i < tokenLen; i++) {\n token = tokens[i];\n parsedInput = (string.match(getParseRegexForToken(token, config)) ||\n [])[0];\n if (parsedInput) {\n skipped = string.substr(0, string.indexOf(parsedInput));\n if (skipped.length > 0) {\n getParsingFlags(config).unusedInput.push(skipped);\n }\n string = string.slice(\n string.indexOf(parsedInput) + parsedInput.length\n );\n totalParsedInputLength += parsedInput.length;\n }\n // don't parse if it's not a known token\n if (formatTokenFunctions[token]) {\n if (parsedInput) {\n getParsingFlags(config).empty = false;\n } else {\n getParsingFlags(config).unusedTokens.push(token);\n }\n addTimeToArrayFromToken(token, parsedInput, config);\n } else if (config._strict && !parsedInput) {\n getParsingFlags(config).unusedTokens.push(token);\n }\n }\n\n // add remaining unparsed input length to the string\n getParsingFlags(config).charsLeftOver =\n stringLength - totalParsedInputLength;\n if (string.length > 0) {\n getParsingFlags(config).unusedInput.push(string);\n }\n\n // clear _12h flag if hour is <= 12\n if (\n config._a[HOUR] <= 12 &&\n getParsingFlags(config).bigHour === true &&\n config._a[HOUR] > 0\n ) {\n getParsingFlags(config).bigHour = undefined;\n }\n\n getParsingFlags(config).parsedDateParts = config._a.slice(0);\n getParsingFlags(config).meridiem = config._meridiem;\n // handle meridiem\n config._a[HOUR] = meridiemFixWrap(\n config._locale,\n config._a[HOUR],\n config._meridiem\n );\n\n // handle era\n era = getParsingFlags(config).era;\n if (era !== null) {\n config._a[YEAR] = config._locale.erasConvertYear(era, config._a[YEAR]);\n }\n\n configFromArray(config);\n checkOverflow(config);\n }\n\n function meridiemFixWrap(locale, hour, meridiem) {\n var isPm;\n\n if (meridiem == null) {\n // nothing to do\n return hour;\n }\n if (locale.meridiemHour != null) {\n return locale.meridiemHour(hour, meridiem);\n } else if (locale.isPM != null) {\n // Fallback\n isPm = locale.isPM(meridiem);\n if (isPm && hour < 12) {\n hour += 12;\n }\n if (!isPm && hour === 12) {\n hour = 0;\n }\n return hour;\n } else {\n // this is not supposed to happen\n return hour;\n }\n }\n\n // date from string and array of format strings\n function configFromStringAndArray(config) {\n var tempConfig,\n bestMoment,\n scoreToBeat,\n i,\n currentScore,\n validFormatFound,\n bestFormatIsValid = false,\n configfLen = config._f.length;\n\n if (configfLen === 0) {\n getParsingFlags(config).invalidFormat = true;\n config._d = new Date(NaN);\n return;\n }\n\n for (i = 0; i < configfLen; i++) {\n currentScore = 0;\n validFormatFound = false;\n tempConfig = copyConfig({}, config);\n if (config._useUTC != null) {\n tempConfig._useUTC = config._useUTC;\n }\n tempConfig._f = config._f[i];\n configFromStringAndFormat(tempConfig);\n\n if (isValid(tempConfig)) {\n validFormatFound = true;\n }\n\n // if there is any input that was not parsed add a penalty for that format\n currentScore += getParsingFlags(tempConfig).charsLeftOver;\n\n //or tokens\n currentScore += getParsingFlags(tempConfig).unusedTokens.length * 10;\n\n getParsingFlags(tempConfig).score = currentScore;\n\n if (!bestFormatIsValid) {\n if (\n scoreToBeat == null ||\n currentScore < scoreToBeat ||\n validFormatFound\n ) {\n scoreToBeat = currentScore;\n bestMoment = tempConfig;\n if (validFormatFound) {\n bestFormatIsValid = true;\n }\n }\n } else {\n if (currentScore < scoreToBeat) {\n scoreToBeat = currentScore;\n bestMoment = tempConfig;\n }\n }\n }\n\n extend(config, bestMoment || tempConfig);\n }\n\n function configFromObject(config) {\n if (config._d) {\n return;\n }\n\n var i = normalizeObjectUnits(config._i),\n dayOrDate = i.day === undefined ? i.date : i.day;\n config._a = map(\n [i.year, i.month, dayOrDate, i.hour, i.minute, i.second, i.millisecond],\n function (obj) {\n return obj && parseInt(obj, 10);\n }\n );\n\n configFromArray(config);\n }\n\n function createFromConfig(config) {\n var res = new Moment(checkOverflow(prepareConfig(config)));\n if (res._nextDay) {\n // Adding is smart enough around DST\n res.add(1, 'd');\n res._nextDay = undefined;\n }\n\n return res;\n }\n\n function prepareConfig(config) {\n var input = config._i,\n format = config._f;\n\n config._locale = config._locale || getLocale(config._l);\n\n if (input === null || (format === undefined && input === '')) {\n return createInvalid({ nullInput: true });\n }\n\n if (typeof input === 'string') {\n config._i = input = config._locale.preparse(input);\n }\n\n if (isMoment(input)) {\n return new Moment(checkOverflow(input));\n } else if (isDate(input)) {\n config._d = input;\n } else if (isArray(format)) {\n configFromStringAndArray(config);\n } else if (format) {\n configFromStringAndFormat(config);\n } else {\n configFromInput(config);\n }\n\n if (!isValid(config)) {\n config._d = null;\n }\n\n return config;\n }\n\n function configFromInput(config) {\n var input = config._i;\n if (isUndefined(input)) {\n config._d = new Date(hooks.now());\n } else if (isDate(input)) {\n config._d = new Date(input.valueOf());\n } else if (typeof input === 'string') {\n configFromString(config);\n } else if (isArray(input)) {\n config._a = map(input.slice(0), function (obj) {\n return parseInt(obj, 10);\n });\n configFromArray(config);\n } else if (isObject(input)) {\n configFromObject(config);\n } else if (isNumber(input)) {\n // from milliseconds\n config._d = new Date(input);\n } else {\n hooks.createFromInputFallback(config);\n }\n }\n\n function createLocalOrUTC(input, format, locale, strict, isUTC) {\n var c = {};\n\n if (format === true || format === false) {\n strict = format;\n format = undefined;\n }\n\n if (locale === true || locale === false) {\n strict = locale;\n locale = undefined;\n }\n\n if (\n (isObject(input) && isObjectEmpty(input)) ||\n (isArray(input) && input.length === 0)\n ) {\n input = undefined;\n }\n // object construction must be done this way.\n // https://github.com/moment/moment/issues/1423\n c._isAMomentObject = true;\n c._useUTC = c._isUTC = isUTC;\n c._l = locale;\n c._i = input;\n c._f = format;\n c._strict = strict;\n\n return createFromConfig(c);\n }\n\n function createLocal(input, format, locale, strict) {\n return createLocalOrUTC(input, format, locale, strict, false);\n }\n\n var prototypeMin = deprecate(\n 'moment().min is deprecated, use moment.max instead. http://momentjs.com/guides/#/warnings/min-max/',\n function () {\n var other = createLocal.apply(null, arguments);\n if (this.isValid() && other.isValid()) {\n return other < this ? this : other;\n } else {\n return createInvalid();\n }\n }\n ),\n prototypeMax = deprecate(\n 'moment().max is deprecated, use moment.min instead. http://momentjs.com/guides/#/warnings/min-max/',\n function () {\n var other = createLocal.apply(null, arguments);\n if (this.isValid() && other.isValid()) {\n return other > this ? this : other;\n } else {\n return createInvalid();\n }\n }\n );\n\n // Pick a moment m from moments so that m[fn](other) is true for all\n // other. This relies on the function fn to be transitive.\n //\n // moments should either be an array of moment objects or an array, whose\n // first element is an array of moment objects.\n function pickBy(fn, moments) {\n var res, i;\n if (moments.length === 1 && isArray(moments[0])) {\n moments = moments[0];\n }\n if (!moments.length) {\n return createLocal();\n }\n res = moments[0];\n for (i = 1; i < moments.length; ++i) {\n if (!moments[i].isValid() || moments[i][fn](res)) {\n res = moments[i];\n }\n }\n return res;\n }\n\n // TODO: Use [].sort instead?\n function min() {\n var args = [].slice.call(arguments, 0);\n\n return pickBy('isBefore', args);\n }\n\n function max() {\n var args = [].slice.call(arguments, 0);\n\n return pickBy('isAfter', args);\n }\n\n var now = function () {\n return Date.now ? Date.now() : +new Date();\n };\n\n var ordering = [\n 'year',\n 'quarter',\n 'month',\n 'week',\n 'day',\n 'hour',\n 'minute',\n 'second',\n 'millisecond',\n ];\n\n function isDurationValid(m) {\n var key,\n unitHasDecimal = false,\n i,\n orderLen = ordering.length;\n for (key in m) {\n if (\n hasOwnProp(m, key) &&\n !(\n indexOf.call(ordering, key) !== -1 &&\n (m[key] == null || !isNaN(m[key]))\n )\n ) {\n return false;\n }\n }\n\n for (i = 0; i < orderLen; ++i) {\n if (m[ordering[i]]) {\n if (unitHasDecimal) {\n return false; // only allow non-integers for smallest unit\n }\n if (parseFloat(m[ordering[i]]) !== toInt(m[ordering[i]])) {\n unitHasDecimal = true;\n }\n }\n }\n\n return true;\n }\n\n function isValid$1() {\n return this._isValid;\n }\n\n function createInvalid$1() {\n return createDuration(NaN);\n }\n\n function Duration(duration) {\n var normalizedInput = normalizeObjectUnits(duration),\n years = normalizedInput.year || 0,\n quarters = normalizedInput.quarter || 0,\n months = normalizedInput.month || 0,\n weeks = normalizedInput.week || normalizedInput.isoWeek || 0,\n days = normalizedInput.day || 0,\n hours = normalizedInput.hour || 0,\n minutes = normalizedInput.minute || 0,\n seconds = normalizedInput.second || 0,\n milliseconds = normalizedInput.millisecond || 0;\n\n this._isValid = isDurationValid(normalizedInput);\n\n // representation for dateAddRemove\n this._milliseconds =\n +milliseconds +\n seconds * 1e3 + // 1000\n minutes * 6e4 + // 1000 * 60\n hours * 1000 * 60 * 60; //using 1000 * 60 * 60 instead of 36e5 to avoid floating point rounding errors https://github.com/moment/moment/issues/2978\n // Because of dateAddRemove treats 24 hours as different from a\n // day when working around DST, we need to store them separately\n this._days = +days + weeks * 7;\n // It is impossible to translate months into days without knowing\n // which months you are are talking about, so we have to store\n // it separately.\n this._months = +months + quarters * 3 + years * 12;\n\n this._data = {};\n\n this._locale = getLocale();\n\n this._bubble();\n }\n\n function isDuration(obj) {\n return obj instanceof Duration;\n }\n\n function absRound(number) {\n if (number < 0) {\n return Math.round(-1 * number) * -1;\n } else {\n return Math.round(number);\n }\n }\n\n // compare two arrays, return the number of differences\n function compareArrays(array1, array2, dontConvert) {\n var len = Math.min(array1.length, array2.length),\n lengthDiff = Math.abs(array1.length - array2.length),\n diffs = 0,\n i;\n for (i = 0; i < len; i++) {\n if (\n (dontConvert && array1[i] !== array2[i]) ||\n (!dontConvert && toInt(array1[i]) !== toInt(array2[i]))\n ) {\n diffs++;\n }\n }\n return diffs + lengthDiff;\n }\n\n // FORMATTING\n\n function offset(token, separator) {\n addFormatToken(token, 0, 0, function () {\n var offset = this.utcOffset(),\n sign = '+';\n if (offset < 0) {\n offset = -offset;\n sign = '-';\n }\n return (\n sign +\n zeroFill(~~(offset / 60), 2) +\n separator +\n zeroFill(~~offset % 60, 2)\n );\n });\n }\n\n offset('Z', ':');\n offset('ZZ', '');\n\n // PARSING\n\n addRegexToken('Z', matchShortOffset);\n addRegexToken('ZZ', matchShortOffset);\n addParseToken(['Z', 'ZZ'], function (input, array, config) {\n config._useUTC = true;\n config._tzm = offsetFromString(matchShortOffset, input);\n });\n\n // HELPERS\n\n // timezone chunker\n // '+10:00' > ['10', '00']\n // '-1530' > ['-15', '30']\n var chunkOffset = /([\\+\\-]|\\d\\d)/gi;\n\n function offsetFromString(matcher, string) {\n var matches = (string || '').match(matcher),\n chunk,\n parts,\n minutes;\n\n if (matches === null) {\n return null;\n }\n\n chunk = matches[matches.length - 1] || [];\n parts = (chunk + '').match(chunkOffset) || ['-', 0, 0];\n minutes = +(parts[1] * 60) + toInt(parts[2]);\n\n return minutes === 0 ? 0 : parts[0] === '+' ? minutes : -minutes;\n }\n\n // Return a moment from input, that is local/utc/zone equivalent to model.\n function cloneWithOffset(input, model) {\n var res, diff;\n if (model._isUTC) {\n res = model.clone();\n diff =\n (isMoment(input) || isDate(input)\n ? input.valueOf()\n : createLocal(input).valueOf()) - res.valueOf();\n // Use low-level api, because this fn is low-level api.\n res._d.setTime(res._d.valueOf() + diff);\n hooks.updateOffset(res, false);\n return res;\n } else {\n return createLocal(input).local();\n }\n }\n\n function getDateOffset(m) {\n // On Firefox.24 Date#getTimezoneOffset returns a floating point.\n // https://github.com/moment/moment/pull/1871\n return -Math.round(m._d.getTimezoneOffset());\n }\n\n // HOOKS\n\n // This function will be called whenever a moment is mutated.\n // It is intended to keep the offset in sync with the timezone.\n hooks.updateOffset = function () {};\n\n // MOMENTS\n\n // keepLocalTime = true means only change the timezone, without\n // affecting the local hour. So 5:31:26 +0300 --[utcOffset(2, true)]-->\n // 5:31:26 +0200 It is possible that 5:31:26 doesn't exist with offset\n // +0200, so we adjust the time as needed, to be valid.\n //\n // Keeping the time actually adds/subtracts (one hour)\n // from the actual represented time. That is why we call updateOffset\n // a second time. In case it wants us to change the offset again\n // _changeInProgress == true case, then we have to adjust, because\n // there is no such time in the given timezone.\n function getSetOffset(input, keepLocalTime, keepMinutes) {\n var offset = this._offset || 0,\n localAdjust;\n if (!this.isValid()) {\n return input != null ? this : NaN;\n }\n if (input != null) {\n if (typeof input === 'string') {\n input = offsetFromString(matchShortOffset, input);\n if (input === null) {\n return this;\n }\n } else if (Math.abs(input) < 16 && !keepMinutes) {\n input = input * 60;\n }\n if (!this._isUTC && keepLocalTime) {\n localAdjust = getDateOffset(this);\n }\n this._offset = input;\n this._isUTC = true;\n if (localAdjust != null) {\n this.add(localAdjust, 'm');\n }\n if (offset !== input) {\n if (!keepLocalTime || this._changeInProgress) {\n addSubtract(\n this,\n createDuration(input - offset, 'm'),\n 1,\n false\n );\n } else if (!this._changeInProgress) {\n this._changeInProgress = true;\n hooks.updateOffset(this, true);\n this._changeInProgress = null;\n }\n }\n return this;\n } else {\n return this._isUTC ? offset : getDateOffset(this);\n }\n }\n\n function getSetZone(input, keepLocalTime) {\n if (input != null) {\n if (typeof input !== 'string') {\n input = -input;\n }\n\n this.utcOffset(input, keepLocalTime);\n\n return this;\n } else {\n return -this.utcOffset();\n }\n }\n\n function setOffsetToUTC(keepLocalTime) {\n return this.utcOffset(0, keepLocalTime);\n }\n\n function setOffsetToLocal(keepLocalTime) {\n if (this._isUTC) {\n this.utcOffset(0, keepLocalTime);\n this._isUTC = false;\n\n if (keepLocalTime) {\n this.subtract(getDateOffset(this), 'm');\n }\n }\n return this;\n }\n\n function setOffsetToParsedOffset() {\n if (this._tzm != null) {\n this.utcOffset(this._tzm, false, true);\n } else if (typeof this._i === 'string') {\n var tZone = offsetFromString(matchOffset, this._i);\n if (tZone != null) {\n this.utcOffset(tZone);\n } else {\n this.utcOffset(0, true);\n }\n }\n return this;\n }\n\n function hasAlignedHourOffset(input) {\n if (!this.isValid()) {\n return false;\n }\n input = input ? createLocal(input).utcOffset() : 0;\n\n return (this.utcOffset() - input) % 60 === 0;\n }\n\n function isDaylightSavingTime() {\n return (\n this.utcOffset() > this.clone().month(0).utcOffset() ||\n this.utcOffset() > this.clone().month(5).utcOffset()\n );\n }\n\n function isDaylightSavingTimeShifted() {\n if (!isUndefined(this._isDSTShifted)) {\n return this._isDSTShifted;\n }\n\n var c = {},\n other;\n\n copyConfig(c, this);\n c = prepareConfig(c);\n\n if (c._a) {\n other = c._isUTC ? createUTC(c._a) : createLocal(c._a);\n this._isDSTShifted =\n this.isValid() && compareArrays(c._a, other.toArray()) > 0;\n } else {\n this._isDSTShifted = false;\n }\n\n return this._isDSTShifted;\n }\n\n function isLocal() {\n return this.isValid() ? !this._isUTC : false;\n }\n\n function isUtcOffset() {\n return this.isValid() ? this._isUTC : false;\n }\n\n function isUtc() {\n return this.isValid() ? this._isUTC && this._offset === 0 : false;\n }\n\n // ASP.NET json date format regex\n var aspNetRegex = /^(-|\\+)?(?:(\\d*)[. ])?(\\d+):(\\d+)(?::(\\d+)(\\.\\d*)?)?$/,\n // from http://docs.closure-library.googlecode.com/git/closure_goog_date_date.js.source.html\n // somewhat more in line with 4.4.3.2 2004 spec, but allows decimal anywhere\n // and further modified to allow for strings containing both week and day\n isoRegex =\n /^(-|\\+)?P(?:([-+]?[0-9,.]*)Y)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)W)?(?:([-+]?[0-9,.]*)D)?(?:T(?:([-+]?[0-9,.]*)H)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)S)?)?$/;\n\n function createDuration(input, key) {\n var duration = input,\n // matching against regexp is expensive, do it on demand\n match = null,\n sign,\n ret,\n diffRes;\n\n if (isDuration(input)) {\n duration = {\n ms: input._milliseconds,\n d: input._days,\n M: input._months,\n };\n } else if (isNumber(input) || !isNaN(+input)) {\n duration = {};\n if (key) {\n duration[key] = +input;\n } else {\n duration.milliseconds = +input;\n }\n } else if ((match = aspNetRegex.exec(input))) {\n sign = match[1] === '-' ? -1 : 1;\n duration = {\n y: 0,\n d: toInt(match[DATE]) * sign,\n h: toInt(match[HOUR]) * sign,\n m: toInt(match[MINUTE]) * sign,\n s: toInt(match[SECOND]) * sign,\n ms: toInt(absRound(match[MILLISECOND] * 1000)) * sign, // the millisecond decimal point is included in the match\n };\n } else if ((match = isoRegex.exec(input))) {\n sign = match[1] === '-' ? -1 : 1;\n duration = {\n y: parseIso(match[2], sign),\n M: parseIso(match[3], sign),\n w: parseIso(match[4], sign),\n d: parseIso(match[5], sign),\n h: parseIso(match[6], sign),\n m: parseIso(match[7], sign),\n s: parseIso(match[8], sign),\n };\n } else if (duration == null) {\n // checks for null or undefined\n duration = {};\n } else if (\n typeof duration === 'object' &&\n ('from' in duration || 'to' in duration)\n ) {\n diffRes = momentsDifference(\n createLocal(duration.from),\n createLocal(duration.to)\n );\n\n duration = {};\n duration.ms = diffRes.milliseconds;\n duration.M = diffRes.months;\n }\n\n ret = new Duration(duration);\n\n if (isDuration(input) && hasOwnProp(input, '_locale')) {\n ret._locale = input._locale;\n }\n\n if (isDuration(input) && hasOwnProp(input, '_isValid')) {\n ret._isValid = input._isValid;\n }\n\n return ret;\n }\n\n createDuration.fn = Duration.prototype;\n createDuration.invalid = createInvalid$1;\n\n function parseIso(inp, sign) {\n // We'd normally use ~~inp for this, but unfortunately it also\n // converts floats to ints.\n // inp may be undefined, so careful calling replace on it.\n var res = inp && parseFloat(inp.replace(',', '.'));\n // apply sign while we're at it\n return (isNaN(res) ? 0 : res) * sign;\n }\n\n function positiveMomentsDifference(base, other) {\n var res = {};\n\n res.months =\n other.month() - base.month() + (other.year() - base.year()) * 12;\n if (base.clone().add(res.months, 'M').isAfter(other)) {\n --res.months;\n }\n\n res.milliseconds = +other - +base.clone().add(res.months, 'M');\n\n return res;\n }\n\n function momentsDifference(base, other) {\n var res;\n if (!(base.isValid() && other.isValid())) {\n return { milliseconds: 0, months: 0 };\n }\n\n other = cloneWithOffset(other, base);\n if (base.isBefore(other)) {\n res = positiveMomentsDifference(base, other);\n } else {\n res = positiveMomentsDifference(other, base);\n res.milliseconds = -res.milliseconds;\n res.months = -res.months;\n }\n\n return res;\n }\n\n // TODO: remove 'name' arg after deprecation is removed\n function createAdder(direction, name) {\n return function (val, period) {\n var dur, tmp;\n //invert the arguments, but complain about it\n if (period !== null && !isNaN(+period)) {\n deprecateSimple(\n name,\n 'moment().' +\n name +\n '(period, number) is deprecated. Please use moment().' +\n name +\n '(number, period). ' +\n 'See http://momentjs.com/guides/#/warnings/add-inverted-param/ for more info.'\n );\n tmp = val;\n val = period;\n period = tmp;\n }\n\n dur = createDuration(val, period);\n addSubtract(this, dur, direction);\n return this;\n };\n }\n\n function addSubtract(mom, duration, isAdding, updateOffset) {\n var milliseconds = duration._milliseconds,\n days = absRound(duration._days),\n months = absRound(duration._months);\n\n if (!mom.isValid()) {\n // No op\n return;\n }\n\n updateOffset = updateOffset == null ? true : updateOffset;\n\n if (months) {\n setMonth(mom, get(mom, 'Month') + months * isAdding);\n }\n if (days) {\n set$1(mom, 'Date', get(mom, 'Date') + days * isAdding);\n }\n if (milliseconds) {\n mom._d.setTime(mom._d.valueOf() + milliseconds * isAdding);\n }\n if (updateOffset) {\n hooks.updateOffset(mom, days || months);\n }\n }\n\n var add = createAdder(1, 'add'),\n subtract = createAdder(-1, 'subtract');\n\n function isString(input) {\n return typeof input === 'string' || input instanceof String;\n }\n\n // type MomentInput = Moment | Date | string | number | (number | string)[] | MomentInputObject | void; // null | undefined\n function isMomentInput(input) {\n return (\n isMoment(input) ||\n isDate(input) ||\n isString(input) ||\n isNumber(input) ||\n isNumberOrStringArray(input) ||\n isMomentInputObject(input) ||\n input === null ||\n input === undefined\n );\n }\n\n function isMomentInputObject(input) {\n var objectTest = isObject(input) && !isObjectEmpty(input),\n propertyTest = false,\n properties = [\n 'years',\n 'year',\n 'y',\n 'months',\n 'month',\n 'M',\n 'days',\n 'day',\n 'd',\n 'dates',\n 'date',\n 'D',\n 'hours',\n 'hour',\n 'h',\n 'minutes',\n 'minute',\n 'm',\n 'seconds',\n 'second',\n 's',\n 'milliseconds',\n 'millisecond',\n 'ms',\n ],\n i,\n property,\n propertyLen = properties.length;\n\n for (i = 0; i < propertyLen; i += 1) {\n property = properties[i];\n propertyTest = propertyTest || hasOwnProp(input, property);\n }\n\n return objectTest && propertyTest;\n }\n\n function isNumberOrStringArray(input) {\n var arrayTest = isArray(input),\n dataTypeTest = false;\n if (arrayTest) {\n dataTypeTest =\n input.filter(function (item) {\n return !isNumber(item) && isString(input);\n }).length === 0;\n }\n return arrayTest && dataTypeTest;\n }\n\n function isCalendarSpec(input) {\n var objectTest = isObject(input) && !isObjectEmpty(input),\n propertyTest = false,\n properties = [\n 'sameDay',\n 'nextDay',\n 'lastDay',\n 'nextWeek',\n 'lastWeek',\n 'sameElse',\n ],\n i,\n property;\n\n for (i = 0; i < properties.length; i += 1) {\n property = properties[i];\n propertyTest = propertyTest || hasOwnProp(input, property);\n }\n\n return objectTest && propertyTest;\n }\n\n function getCalendarFormat(myMoment, now) {\n var diff = myMoment.diff(now, 'days', true);\n return diff < -6\n ? 'sameElse'\n : diff < -1\n ? 'lastWeek'\n : diff < 0\n ? 'lastDay'\n : diff < 1\n ? 'sameDay'\n : diff < 2\n ? 'nextDay'\n : diff < 7\n ? 'nextWeek'\n : 'sameElse';\n }\n\n function calendar$1(time, formats) {\n // Support for single parameter, formats only overload to the calendar function\n if (arguments.length === 1) {\n if (!arguments[0]) {\n time = undefined;\n formats = undefined;\n } else if (isMomentInput(arguments[0])) {\n time = arguments[0];\n formats = undefined;\n } else if (isCalendarSpec(arguments[0])) {\n formats = arguments[0];\n time = undefined;\n }\n }\n // We want to compare the start of today, vs this.\n // Getting start-of-today depends on whether we're local/utc/offset or not.\n var now = time || createLocal(),\n sod = cloneWithOffset(now, this).startOf('day'),\n format = hooks.calendarFormat(this, sod) || 'sameElse',\n output =\n formats &&\n (isFunction(formats[format])\n ? formats[format].call(this, now)\n : formats[format]);\n\n return this.format(\n output || this.localeData().calendar(format, this, createLocal(now))\n );\n }\n\n function clone() {\n return new Moment(this);\n }\n\n function isAfter(input, units) {\n var localInput = isMoment(input) ? input : createLocal(input);\n if (!(this.isValid() && localInput.isValid())) {\n return false;\n }\n units = normalizeUnits(units) || 'millisecond';\n if (units === 'millisecond') {\n return this.valueOf() > localInput.valueOf();\n } else {\n return localInput.valueOf() < this.clone().startOf(units).valueOf();\n }\n }\n\n function isBefore(input, units) {\n var localInput = isMoment(input) ? input : createLocal(input);\n if (!(this.isValid() && localInput.isValid())) {\n return false;\n }\n units = normalizeUnits(units) || 'millisecond';\n if (units === 'millisecond') {\n return this.valueOf() < localInput.valueOf();\n } else {\n return this.clone().endOf(units).valueOf() < localInput.valueOf();\n }\n }\n\n function isBetween(from, to, units, inclusivity) {\n var localFrom = isMoment(from) ? from : createLocal(from),\n localTo = isMoment(to) ? to : createLocal(to);\n if (!(this.isValid() && localFrom.isValid() && localTo.isValid())) {\n return false;\n }\n inclusivity = inclusivity || '()';\n return (\n (inclusivity[0] === '('\n ? this.isAfter(localFrom, units)\n : !this.isBefore(localFrom, units)) &&\n (inclusivity[1] === ')'\n ? this.isBefore(localTo, units)\n : !this.isAfter(localTo, units))\n );\n }\n\n function isSame(input, units) {\n var localInput = isMoment(input) ? input : createLocal(input),\n inputMs;\n if (!(this.isValid() && localInput.isValid())) {\n return false;\n }\n units = normalizeUnits(units) || 'millisecond';\n if (units === 'millisecond') {\n return this.valueOf() === localInput.valueOf();\n } else {\n inputMs = localInput.valueOf();\n return (\n this.clone().startOf(units).valueOf() <= inputMs &&\n inputMs <= this.clone().endOf(units).valueOf()\n );\n }\n }\n\n function isSameOrAfter(input, units) {\n return this.isSame(input, units) || this.isAfter(input, units);\n }\n\n function isSameOrBefore(input, units) {\n return this.isSame(input, units) || this.isBefore(input, units);\n }\n\n function diff(input, units, asFloat) {\n var that, zoneDelta, output;\n\n if (!this.isValid()) {\n return NaN;\n }\n\n that = cloneWithOffset(input, this);\n\n if (!that.isValid()) {\n return NaN;\n }\n\n zoneDelta = (that.utcOffset() - this.utcOffset()) * 6e4;\n\n units = normalizeUnits(units);\n\n switch (units) {\n case 'year':\n output = monthDiff(this, that) / 12;\n break;\n case 'month':\n output = monthDiff(this, that);\n break;\n case 'quarter':\n output = monthDiff(this, that) / 3;\n break;\n case 'second':\n output = (this - that) / 1e3;\n break; // 1000\n case 'minute':\n output = (this - that) / 6e4;\n break; // 1000 * 60\n case 'hour':\n output = (this - that) / 36e5;\n break; // 1000 * 60 * 60\n case 'day':\n output = (this - that - zoneDelta) / 864e5;\n break; // 1000 * 60 * 60 * 24, negate dst\n case 'week':\n output = (this - that - zoneDelta) / 6048e5;\n break; // 1000 * 60 * 60 * 24 * 7, negate dst\n default:\n output = this - that;\n }\n\n return asFloat ? output : absFloor(output);\n }\n\n function monthDiff(a, b) {\n if (a.date() < b.date()) {\n // end-of-month calculations work correct when the start month has more\n // days than the end month.\n return -monthDiff(b, a);\n }\n // difference in months\n var wholeMonthDiff = (b.year() - a.year()) * 12 + (b.month() - a.month()),\n // b is in (anchor - 1 month, anchor + 1 month)\n anchor = a.clone().add(wholeMonthDiff, 'months'),\n anchor2,\n adjust;\n\n if (b - anchor < 0) {\n anchor2 = a.clone().add(wholeMonthDiff - 1, 'months');\n // linear across the month\n adjust = (b - anchor) / (anchor - anchor2);\n } else {\n anchor2 = a.clone().add(wholeMonthDiff + 1, 'months');\n // linear across the month\n adjust = (b - anchor) / (anchor2 - anchor);\n }\n\n //check for negative zero, return zero if negative zero\n return -(wholeMonthDiff + adjust) || 0;\n }\n\n hooks.defaultFormat = 'YYYY-MM-DDTHH:mm:ssZ';\n hooks.defaultFormatUtc = 'YYYY-MM-DDTHH:mm:ss[Z]';\n\n function toString() {\n return this.clone().locale('en').format('ddd MMM DD YYYY HH:mm:ss [GMT]ZZ');\n }\n\n function toISOString(keepOffset) {\n if (!this.isValid()) {\n return null;\n }\n var utc = keepOffset !== true,\n m = utc ? this.clone().utc() : this;\n if (m.year() < 0 || m.year() > 9999) {\n return formatMoment(\n m,\n utc\n ? 'YYYYYY-MM-DD[T]HH:mm:ss.SSS[Z]'\n : 'YYYYYY-MM-DD[T]HH:mm:ss.SSSZ'\n );\n }\n if (isFunction(Date.prototype.toISOString)) {\n // native implementation is ~50x faster, use it when we can\n if (utc) {\n return this.toDate().toISOString();\n } else {\n return new Date(this.valueOf() + this.utcOffset() * 60 * 1000)\n .toISOString()\n .replace('Z', formatMoment(m, 'Z'));\n }\n }\n return formatMoment(\n m,\n utc ? 'YYYY-MM-DD[T]HH:mm:ss.SSS[Z]' : 'YYYY-MM-DD[T]HH:mm:ss.SSSZ'\n );\n }\n\n /**\n * Return a human readable representation of a moment that can\n * also be evaluated to get a new moment which is the same\n *\n * @link https://nodejs.org/dist/latest/docs/api/util.html#util_custom_inspect_function_on_objects\n */\n function inspect() {\n if (!this.isValid()) {\n return 'moment.invalid(/* ' + this._i + ' */)';\n }\n var func = 'moment',\n zone = '',\n prefix,\n year,\n datetime,\n suffix;\n if (!this.isLocal()) {\n func = this.utcOffset() === 0 ? 'moment.utc' : 'moment.parseZone';\n zone = 'Z';\n }\n prefix = '[' + func + '(\"]';\n year = 0 <= this.year() && this.year() <= 9999 ? 'YYYY' : 'YYYYYY';\n datetime = '-MM-DD[T]HH:mm:ss.SSS';\n suffix = zone + '[\")]';\n\n return this.format(prefix + year + datetime + suffix);\n }\n\n function format(inputString) {\n if (!inputString) {\n inputString = this.isUtc()\n ? hooks.defaultFormatUtc\n : hooks.defaultFormat;\n }\n var output = formatMoment(this, inputString);\n return this.localeData().postformat(output);\n }\n\n function from(time, withoutSuffix) {\n if (\n this.isValid() &&\n ((isMoment(time) && time.isValid()) || createLocal(time).isValid())\n ) {\n return createDuration({ to: this, from: time })\n .locale(this.locale())\n .humanize(!withoutSuffix);\n } else {\n return this.localeData().invalidDate();\n }\n }\n\n function fromNow(withoutSuffix) {\n return this.from(createLocal(), withoutSuffix);\n }\n\n function to(time, withoutSuffix) {\n if (\n this.isValid() &&\n ((isMoment(time) && time.isValid()) || createLocal(time).isValid())\n ) {\n return createDuration({ from: this, to: time })\n .locale(this.locale())\n .humanize(!withoutSuffix);\n } else {\n return this.localeData().invalidDate();\n }\n }\n\n function toNow(withoutSuffix) {\n return this.to(createLocal(), withoutSuffix);\n }\n\n // If passed a locale key, it will set the locale for this\n // instance. Otherwise, it will return the locale configuration\n // variables for this instance.\n function locale(key) {\n var newLocaleData;\n\n if (key === undefined) {\n return this._locale._abbr;\n } else {\n newLocaleData = getLocale(key);\n if (newLocaleData != null) {\n this._locale = newLocaleData;\n }\n return this;\n }\n }\n\n var lang = deprecate(\n 'moment().lang() is deprecated. Instead, use moment().localeData() to get the language configuration. Use moment().locale() to change languages.',\n function (key) {\n if (key === undefined) {\n return this.localeData();\n } else {\n return this.locale(key);\n }\n }\n );\n\n function localeData() {\n return this._locale;\n }\n\n var MS_PER_SECOND = 1000,\n MS_PER_MINUTE = 60 * MS_PER_SECOND,\n MS_PER_HOUR = 60 * MS_PER_MINUTE,\n MS_PER_400_YEARS = (365 * 400 + 97) * 24 * MS_PER_HOUR;\n\n // actual modulo - handles negative numbers (for dates before 1970):\n function mod$1(dividend, divisor) {\n return ((dividend % divisor) + divisor) % divisor;\n }\n\n function localStartOfDate(y, m, d) {\n // the date constructor remaps years 0-99 to 1900-1999\n if (y < 100 && y >= 0) {\n // preserve leap years using a full 400 year cycle, then reset\n return new Date(y + 400, m, d) - MS_PER_400_YEARS;\n } else {\n return new Date(y, m, d).valueOf();\n }\n }\n\n function utcStartOfDate(y, m, d) {\n // Date.UTC remaps years 0-99 to 1900-1999\n if (y < 100 && y >= 0) {\n // preserve leap years using a full 400 year cycle, then reset\n return Date.UTC(y + 400, m, d) - MS_PER_400_YEARS;\n } else {\n return Date.UTC(y, m, d);\n }\n }\n\n function startOf(units) {\n var time, startOfDate;\n units = normalizeUnits(units);\n if (units === undefined || units === 'millisecond' || !this.isValid()) {\n return this;\n }\n\n startOfDate = this._isUTC ? utcStartOfDate : localStartOfDate;\n\n switch (units) {\n case 'year':\n time = startOfDate(this.year(), 0, 1);\n break;\n case 'quarter':\n time = startOfDate(\n this.year(),\n this.month() - (this.month() % 3),\n 1\n );\n break;\n case 'month':\n time = startOfDate(this.year(), this.month(), 1);\n break;\n case 'week':\n time = startOfDate(\n this.year(),\n this.month(),\n this.date() - this.weekday()\n );\n break;\n case 'isoWeek':\n time = startOfDate(\n this.year(),\n this.month(),\n this.date() - (this.isoWeekday() - 1)\n );\n break;\n case 'day':\n case 'date':\n time = startOfDate(this.year(), this.month(), this.date());\n break;\n case 'hour':\n time = this._d.valueOf();\n time -= mod$1(\n time + (this._isUTC ? 0 : this.utcOffset() * MS_PER_MINUTE),\n MS_PER_HOUR\n );\n break;\n case 'minute':\n time = this._d.valueOf();\n time -= mod$1(time, MS_PER_MINUTE);\n break;\n case 'second':\n time = this._d.valueOf();\n time -= mod$1(time, MS_PER_SECOND);\n break;\n }\n\n this._d.setTime(time);\n hooks.updateOffset(this, true);\n return this;\n }\n\n function endOf(units) {\n var time, startOfDate;\n units = normalizeUnits(units);\n if (units === undefined || units === 'millisecond' || !this.isValid()) {\n return this;\n }\n\n startOfDate = this._isUTC ? utcStartOfDate : localStartOfDate;\n\n switch (units) {\n case 'year':\n time = startOfDate(this.year() + 1, 0, 1) - 1;\n break;\n case 'quarter':\n time =\n startOfDate(\n this.year(),\n this.month() - (this.month() % 3) + 3,\n 1\n ) - 1;\n break;\n case 'month':\n time = startOfDate(this.year(), this.month() + 1, 1) - 1;\n break;\n case 'week':\n time =\n startOfDate(\n this.year(),\n this.month(),\n this.date() - this.weekday() + 7\n ) - 1;\n break;\n case 'isoWeek':\n time =\n startOfDate(\n this.year(),\n this.month(),\n this.date() - (this.isoWeekday() - 1) + 7\n ) - 1;\n break;\n case 'day':\n case 'date':\n time = startOfDate(this.year(), this.month(), this.date() + 1) - 1;\n break;\n case 'hour':\n time = this._d.valueOf();\n time +=\n MS_PER_HOUR -\n mod$1(\n time + (this._isUTC ? 0 : this.utcOffset() * MS_PER_MINUTE),\n MS_PER_HOUR\n ) -\n 1;\n break;\n case 'minute':\n time = this._d.valueOf();\n time += MS_PER_MINUTE - mod$1(time, MS_PER_MINUTE) - 1;\n break;\n case 'second':\n time = this._d.valueOf();\n time += MS_PER_SECOND - mod$1(time, MS_PER_SECOND) - 1;\n break;\n }\n\n this._d.setTime(time);\n hooks.updateOffset(this, true);\n return this;\n }\n\n function valueOf() {\n return this._d.valueOf() - (this._offset || 0) * 60000;\n }\n\n function unix() {\n return Math.floor(this.valueOf() / 1000);\n }\n\n function toDate() {\n return new Date(this.valueOf());\n }\n\n function toArray() {\n var m = this;\n return [\n m.year(),\n m.month(),\n m.date(),\n m.hour(),\n m.minute(),\n m.second(),\n m.millisecond(),\n ];\n }\n\n function toObject() {\n var m = this;\n return {\n years: m.year(),\n months: m.month(),\n date: m.date(),\n hours: m.hours(),\n minutes: m.minutes(),\n seconds: m.seconds(),\n milliseconds: m.milliseconds(),\n };\n }\n\n function toJSON() {\n // new Date(NaN).toJSON() === null\n return this.isValid() ? this.toISOString() : null;\n }\n\n function isValid$2() {\n return isValid(this);\n }\n\n function parsingFlags() {\n return extend({}, getParsingFlags(this));\n }\n\n function invalidAt() {\n return getParsingFlags(this).overflow;\n }\n\n function creationData() {\n return {\n input: this._i,\n format: this._f,\n locale: this._locale,\n isUTC: this._isUTC,\n strict: this._strict,\n };\n }\n\n addFormatToken('N', 0, 0, 'eraAbbr');\n addFormatToken('NN', 0, 0, 'eraAbbr');\n addFormatToken('NNN', 0, 0, 'eraAbbr');\n addFormatToken('NNNN', 0, 0, 'eraName');\n addFormatToken('NNNNN', 0, 0, 'eraNarrow');\n\n addFormatToken('y', ['y', 1], 'yo', 'eraYear');\n addFormatToken('y', ['yy', 2], 0, 'eraYear');\n addFormatToken('y', ['yyy', 3], 0, 'eraYear');\n addFormatToken('y', ['yyyy', 4], 0, 'eraYear');\n\n addRegexToken('N', matchEraAbbr);\n addRegexToken('NN', matchEraAbbr);\n addRegexToken('NNN', matchEraAbbr);\n addRegexToken('NNNN', matchEraName);\n addRegexToken('NNNNN', matchEraNarrow);\n\n addParseToken(\n ['N', 'NN', 'NNN', 'NNNN', 'NNNNN'],\n function (input, array, config, token) {\n var era = config._locale.erasParse(input, token, config._strict);\n if (era) {\n getParsingFlags(config).era = era;\n } else {\n getParsingFlags(config).invalidEra = input;\n }\n }\n );\n\n addRegexToken('y', matchUnsigned);\n addRegexToken('yy', matchUnsigned);\n addRegexToken('yyy', matchUnsigned);\n addRegexToken('yyyy', matchUnsigned);\n addRegexToken('yo', matchEraYearOrdinal);\n\n addParseToken(['y', 'yy', 'yyy', 'yyyy'], YEAR);\n addParseToken(['yo'], function (input, array, config, token) {\n var match;\n if (config._locale._eraYearOrdinalRegex) {\n match = input.match(config._locale._eraYearOrdinalRegex);\n }\n\n if (config._locale.eraYearOrdinalParse) {\n array[YEAR] = config._locale.eraYearOrdinalParse(input, match);\n } else {\n array[YEAR] = parseInt(input, 10);\n }\n });\n\n function localeEras(m, format) {\n var i,\n l,\n date,\n eras = this._eras || getLocale('en')._eras;\n for (i = 0, l = eras.length; i < l; ++i) {\n switch (typeof eras[i].since) {\n case 'string':\n // truncate time\n date = hooks(eras[i].since).startOf('day');\n eras[i].since = date.valueOf();\n break;\n }\n\n switch (typeof eras[i].until) {\n case 'undefined':\n eras[i].until = +Infinity;\n break;\n case 'string':\n // truncate time\n date = hooks(eras[i].until).startOf('day').valueOf();\n eras[i].until = date.valueOf();\n break;\n }\n }\n return eras;\n }\n\n function localeErasParse(eraName, format, strict) {\n var i,\n l,\n eras = this.eras(),\n name,\n abbr,\n narrow;\n eraName = eraName.toUpperCase();\n\n for (i = 0, l = eras.length; i < l; ++i) {\n name = eras[i].name.toUpperCase();\n abbr = eras[i].abbr.toUpperCase();\n narrow = eras[i].narrow.toUpperCase();\n\n if (strict) {\n switch (format) {\n case 'N':\n case 'NN':\n case 'NNN':\n if (abbr === eraName) {\n return eras[i];\n }\n break;\n\n case 'NNNN':\n if (name === eraName) {\n return eras[i];\n }\n break;\n\n case 'NNNNN':\n if (narrow === eraName) {\n return eras[i];\n }\n break;\n }\n } else if ([name, abbr, narrow].indexOf(eraName) >= 0) {\n return eras[i];\n }\n }\n }\n\n function localeErasConvertYear(era, year) {\n var dir = era.since <= era.until ? +1 : -1;\n if (year === undefined) {\n return hooks(era.since).year();\n } else {\n return hooks(era.since).year() + (year - era.offset) * dir;\n }\n }\n\n function getEraName() {\n var i,\n l,\n val,\n eras = this.localeData().eras();\n for (i = 0, l = eras.length; i < l; ++i) {\n // truncate time\n val = this.clone().startOf('day').valueOf();\n\n if (eras[i].since <= val && val <= eras[i].until) {\n return eras[i].name;\n }\n if (eras[i].until <= val && val <= eras[i].since) {\n return eras[i].name;\n }\n }\n\n return '';\n }\n\n function getEraNarrow() {\n var i,\n l,\n val,\n eras = this.localeData().eras();\n for (i = 0, l = eras.length; i < l; ++i) {\n // truncate time\n val = this.clone().startOf('day').valueOf();\n\n if (eras[i].since <= val && val <= eras[i].until) {\n return eras[i].narrow;\n }\n if (eras[i].until <= val && val <= eras[i].since) {\n return eras[i].narrow;\n }\n }\n\n return '';\n }\n\n function getEraAbbr() {\n var i,\n l,\n val,\n eras = this.localeData().eras();\n for (i = 0, l = eras.length; i < l; ++i) {\n // truncate time\n val = this.clone().startOf('day').valueOf();\n\n if (eras[i].since <= val && val <= eras[i].until) {\n return eras[i].abbr;\n }\n if (eras[i].until <= val && val <= eras[i].since) {\n return eras[i].abbr;\n }\n }\n\n return '';\n }\n\n function getEraYear() {\n var i,\n l,\n dir,\n val,\n eras = this.localeData().eras();\n for (i = 0, l = eras.length; i < l; ++i) {\n dir = eras[i].since <= eras[i].until ? +1 : -1;\n\n // truncate time\n val = this.clone().startOf('day').valueOf();\n\n if (\n (eras[i].since <= val && val <= eras[i].until) ||\n (eras[i].until <= val && val <= eras[i].since)\n ) {\n return (\n (this.year() - hooks(eras[i].since).year()) * dir +\n eras[i].offset\n );\n }\n }\n\n return this.year();\n }\n\n function erasNameRegex(isStrict) {\n if (!hasOwnProp(this, '_erasNameRegex')) {\n computeErasParse.call(this);\n }\n return isStrict ? this._erasNameRegex : this._erasRegex;\n }\n\n function erasAbbrRegex(isStrict) {\n if (!hasOwnProp(this, '_erasAbbrRegex')) {\n computeErasParse.call(this);\n }\n return isStrict ? this._erasAbbrRegex : this._erasRegex;\n }\n\n function erasNarrowRegex(isStrict) {\n if (!hasOwnProp(this, '_erasNarrowRegex')) {\n computeErasParse.call(this);\n }\n return isStrict ? this._erasNarrowRegex : this._erasRegex;\n }\n\n function matchEraAbbr(isStrict, locale) {\n return locale.erasAbbrRegex(isStrict);\n }\n\n function matchEraName(isStrict, locale) {\n return locale.erasNameRegex(isStrict);\n }\n\n function matchEraNarrow(isStrict, locale) {\n return locale.erasNarrowRegex(isStrict);\n }\n\n function matchEraYearOrdinal(isStrict, locale) {\n return locale._eraYearOrdinalRegex || matchUnsigned;\n }\n\n function computeErasParse() {\n var abbrPieces = [],\n namePieces = [],\n narrowPieces = [],\n mixedPieces = [],\n i,\n l,\n eras = this.eras();\n\n for (i = 0, l = eras.length; i < l; ++i) {\n namePieces.push(regexEscape(eras[i].name));\n abbrPieces.push(regexEscape(eras[i].abbr));\n narrowPieces.push(regexEscape(eras[i].narrow));\n\n mixedPieces.push(regexEscape(eras[i].name));\n mixedPieces.push(regexEscape(eras[i].abbr));\n mixedPieces.push(regexEscape(eras[i].narrow));\n }\n\n this._erasRegex = new RegExp('^(' + mixedPieces.join('|') + ')', 'i');\n this._erasNameRegex = new RegExp('^(' + namePieces.join('|') + ')', 'i');\n this._erasAbbrRegex = new RegExp('^(' + abbrPieces.join('|') + ')', 'i');\n this._erasNarrowRegex = new RegExp(\n '^(' + narrowPieces.join('|') + ')',\n 'i'\n );\n }\n\n // FORMATTING\n\n addFormatToken(0, ['gg', 2], 0, function () {\n return this.weekYear() % 100;\n });\n\n addFormatToken(0, ['GG', 2], 0, function () {\n return this.isoWeekYear() % 100;\n });\n\n function addWeekYearFormatToken(token, getter) {\n addFormatToken(0, [token, token.length], 0, getter);\n }\n\n addWeekYearFormatToken('gggg', 'weekYear');\n addWeekYearFormatToken('ggggg', 'weekYear');\n addWeekYearFormatToken('GGGG', 'isoWeekYear');\n addWeekYearFormatToken('GGGGG', 'isoWeekYear');\n\n // ALIASES\n\n addUnitAlias('weekYear', 'gg');\n addUnitAlias('isoWeekYear', 'GG');\n\n // PRIORITY\n\n addUnitPriority('weekYear', 1);\n addUnitPriority('isoWeekYear', 1);\n\n // PARSING\n\n addRegexToken('G', matchSigned);\n addRegexToken('g', matchSigned);\n addRegexToken('GG', match1to2, match2);\n addRegexToken('gg', match1to2, match2);\n addRegexToken('GGGG', match1to4, match4);\n addRegexToken('gggg', match1to4, match4);\n addRegexToken('GGGGG', match1to6, match6);\n addRegexToken('ggggg', match1to6, match6);\n\n addWeekParseToken(\n ['gggg', 'ggggg', 'GGGG', 'GGGGG'],\n function (input, week, config, token) {\n week[token.substr(0, 2)] = toInt(input);\n }\n );\n\n addWeekParseToken(['gg', 'GG'], function (input, week, config, token) {\n week[token] = hooks.parseTwoDigitYear(input);\n });\n\n // MOMENTS\n\n function getSetWeekYear(input) {\n return getSetWeekYearHelper.call(\n this,\n input,\n this.week(),\n this.weekday(),\n this.localeData()._week.dow,\n this.localeData()._week.doy\n );\n }\n\n function getSetISOWeekYear(input) {\n return getSetWeekYearHelper.call(\n this,\n input,\n this.isoWeek(),\n this.isoWeekday(),\n 1,\n 4\n );\n }\n\n function getISOWeeksInYear() {\n return weeksInYear(this.year(), 1, 4);\n }\n\n function getISOWeeksInISOWeekYear() {\n return weeksInYear(this.isoWeekYear(), 1, 4);\n }\n\n function getWeeksInYear() {\n var weekInfo = this.localeData()._week;\n return weeksInYear(this.year(), weekInfo.dow, weekInfo.doy);\n }\n\n function getWeeksInWeekYear() {\n var weekInfo = this.localeData()._week;\n return weeksInYear(this.weekYear(), weekInfo.dow, weekInfo.doy);\n }\n\n function getSetWeekYearHelper(input, week, weekday, dow, doy) {\n var weeksTarget;\n if (input == null) {\n return weekOfYear(this, dow, doy).year;\n } else {\n weeksTarget = weeksInYear(input, dow, doy);\n if (week > weeksTarget) {\n week = weeksTarget;\n }\n return setWeekAll.call(this, input, week, weekday, dow, doy);\n }\n }\n\n function setWeekAll(weekYear, week, weekday, dow, doy) {\n var dayOfYearData = dayOfYearFromWeeks(weekYear, week, weekday, dow, doy),\n date = createUTCDate(dayOfYearData.year, 0, dayOfYearData.dayOfYear);\n\n this.year(date.getUTCFullYear());\n this.month(date.getUTCMonth());\n this.date(date.getUTCDate());\n return this;\n }\n\n // FORMATTING\n\n addFormatToken('Q', 0, 'Qo', 'quarter');\n\n // ALIASES\n\n addUnitAlias('quarter', 'Q');\n\n // PRIORITY\n\n addUnitPriority('quarter', 7);\n\n // PARSING\n\n addRegexToken('Q', match1);\n addParseToken('Q', function (input, array) {\n array[MONTH] = (toInt(input) - 1) * 3;\n });\n\n // MOMENTS\n\n function getSetQuarter(input) {\n return input == null\n ? Math.ceil((this.month() + 1) / 3)\n : this.month((input - 1) * 3 + (this.month() % 3));\n }\n\n // FORMATTING\n\n addFormatToken('D', ['DD', 2], 'Do', 'date');\n\n // ALIASES\n\n addUnitAlias('date', 'D');\n\n // PRIORITY\n addUnitPriority('date', 9);\n\n // PARSING\n\n addRegexToken('D', match1to2);\n addRegexToken('DD', match1to2, match2);\n addRegexToken('Do', function (isStrict, locale) {\n // TODO: Remove \"ordinalParse\" fallback in next major release.\n return isStrict\n ? locale._dayOfMonthOrdinalParse || locale._ordinalParse\n : locale._dayOfMonthOrdinalParseLenient;\n });\n\n addParseToken(['D', 'DD'], DATE);\n addParseToken('Do', function (input, array) {\n array[DATE] = toInt(input.match(match1to2)[0]);\n });\n\n // MOMENTS\n\n var getSetDayOfMonth = makeGetSet('Date', true);\n\n // FORMATTING\n\n addFormatToken('DDD', ['DDDD', 3], 'DDDo', 'dayOfYear');\n\n // ALIASES\n\n addUnitAlias('dayOfYear', 'DDD');\n\n // PRIORITY\n addUnitPriority('dayOfYear', 4);\n\n // PARSING\n\n addRegexToken('DDD', match1to3);\n addRegexToken('DDDD', match3);\n addParseToken(['DDD', 'DDDD'], function (input, array, config) {\n config._dayOfYear = toInt(input);\n });\n\n // HELPERS\n\n // MOMENTS\n\n function getSetDayOfYear(input) {\n var dayOfYear =\n Math.round(\n (this.clone().startOf('day') - this.clone().startOf('year')) / 864e5\n ) + 1;\n return input == null ? dayOfYear : this.add(input - dayOfYear, 'd');\n }\n\n // FORMATTING\n\n addFormatToken('m', ['mm', 2], 0, 'minute');\n\n // ALIASES\n\n addUnitAlias('minute', 'm');\n\n // PRIORITY\n\n addUnitPriority('minute', 14);\n\n // PARSING\n\n addRegexToken('m', match1to2);\n addRegexToken('mm', match1to2, match2);\n addParseToken(['m', 'mm'], MINUTE);\n\n // MOMENTS\n\n var getSetMinute = makeGetSet('Minutes', false);\n\n // FORMATTING\n\n addFormatToken('s', ['ss', 2], 0, 'second');\n\n // ALIASES\n\n addUnitAlias('second', 's');\n\n // PRIORITY\n\n addUnitPriority('second', 15);\n\n // PARSING\n\n addRegexToken('s', match1to2);\n addRegexToken('ss', match1to2, match2);\n addParseToken(['s', 'ss'], SECOND);\n\n // MOMENTS\n\n var getSetSecond = makeGetSet('Seconds', false);\n\n // FORMATTING\n\n addFormatToken('S', 0, 0, function () {\n return ~~(this.millisecond() / 100);\n });\n\n addFormatToken(0, ['SS', 2], 0, function () {\n return ~~(this.millisecond() / 10);\n });\n\n addFormatToken(0, ['SSS', 3], 0, 'millisecond');\n addFormatToken(0, ['SSSS', 4], 0, function () {\n return this.millisecond() * 10;\n });\n addFormatToken(0, ['SSSSS', 5], 0, function () {\n return this.millisecond() * 100;\n });\n addFormatToken(0, ['SSSSSS', 6], 0, function () {\n return this.millisecond() * 1000;\n });\n addFormatToken(0, ['SSSSSSS', 7], 0, function () {\n return this.millisecond() * 10000;\n });\n addFormatToken(0, ['SSSSSSSS', 8], 0, function () {\n return this.millisecond() * 100000;\n });\n addFormatToken(0, ['SSSSSSSSS', 9], 0, function () {\n return this.millisecond() * 1000000;\n });\n\n // ALIASES\n\n addUnitAlias('millisecond', 'ms');\n\n // PRIORITY\n\n addUnitPriority('millisecond', 16);\n\n // PARSING\n\n addRegexToken('S', match1to3, match1);\n addRegexToken('SS', match1to3, match2);\n addRegexToken('SSS', match1to3, match3);\n\n var token, getSetMillisecond;\n for (token = 'SSSS'; token.length <= 9; token += 'S') {\n addRegexToken(token, matchUnsigned);\n }\n\n function parseMs(input, array) {\n array[MILLISECOND] = toInt(('0.' + input) * 1000);\n }\n\n for (token = 'S'; token.length <= 9; token += 'S') {\n addParseToken(token, parseMs);\n }\n\n getSetMillisecond = makeGetSet('Milliseconds', false);\n\n // FORMATTING\n\n addFormatToken('z', 0, 0, 'zoneAbbr');\n addFormatToken('zz', 0, 0, 'zoneName');\n\n // MOMENTS\n\n function getZoneAbbr() {\n return this._isUTC ? 'UTC' : '';\n }\n\n function getZoneName() {\n return this._isUTC ? 'Coordinated Universal Time' : '';\n }\n\n var proto = Moment.prototype;\n\n proto.add = add;\n proto.calendar = calendar$1;\n proto.clone = clone;\n proto.diff = diff;\n proto.endOf = endOf;\n proto.format = format;\n proto.from = from;\n proto.fromNow = fromNow;\n proto.to = to;\n proto.toNow = toNow;\n proto.get = stringGet;\n proto.invalidAt = invalidAt;\n proto.isAfter = isAfter;\n proto.isBefore = isBefore;\n proto.isBetween = isBetween;\n proto.isSame = isSame;\n proto.isSameOrAfter = isSameOrAfter;\n proto.isSameOrBefore = isSameOrBefore;\n proto.isValid = isValid$2;\n proto.lang = lang;\n proto.locale = locale;\n proto.localeData = localeData;\n proto.max = prototypeMax;\n proto.min = prototypeMin;\n proto.parsingFlags = parsingFlags;\n proto.set = stringSet;\n proto.startOf = startOf;\n proto.subtract = subtract;\n proto.toArray = toArray;\n proto.toObject = toObject;\n proto.toDate = toDate;\n proto.toISOString = toISOString;\n proto.inspect = inspect;\n if (typeof Symbol !== 'undefined' && Symbol.for != null) {\n proto[Symbol.for('nodejs.util.inspect.custom')] = function () {\n return 'Moment<' + this.format() + '>';\n };\n }\n proto.toJSON = toJSON;\n proto.toString = toString;\n proto.unix = unix;\n proto.valueOf = valueOf;\n proto.creationData = creationData;\n proto.eraName = getEraName;\n proto.eraNarrow = getEraNarrow;\n proto.eraAbbr = getEraAbbr;\n proto.eraYear = getEraYear;\n proto.year = getSetYear;\n proto.isLeapYear = getIsLeapYear;\n proto.weekYear = getSetWeekYear;\n proto.isoWeekYear = getSetISOWeekYear;\n proto.quarter = proto.quarters = getSetQuarter;\n proto.month = getSetMonth;\n proto.daysInMonth = getDaysInMonth;\n proto.week = proto.weeks = getSetWeek;\n proto.isoWeek = proto.isoWeeks = getSetISOWeek;\n proto.weeksInYear = getWeeksInYear;\n proto.weeksInWeekYear = getWeeksInWeekYear;\n proto.isoWeeksInYear = getISOWeeksInYear;\n proto.isoWeeksInISOWeekYear = getISOWeeksInISOWeekYear;\n proto.date = getSetDayOfMonth;\n proto.day = proto.days = getSetDayOfWeek;\n proto.weekday = getSetLocaleDayOfWeek;\n proto.isoWeekday = getSetISODayOfWeek;\n proto.dayOfYear = getSetDayOfYear;\n proto.hour = proto.hours = getSetHour;\n proto.minute = proto.minutes = getSetMinute;\n proto.second = proto.seconds = getSetSecond;\n proto.millisecond = proto.milliseconds = getSetMillisecond;\n proto.utcOffset = getSetOffset;\n proto.utc = setOffsetToUTC;\n proto.local = setOffsetToLocal;\n proto.parseZone = setOffsetToParsedOffset;\n proto.hasAlignedHourOffset = hasAlignedHourOffset;\n proto.isDST = isDaylightSavingTime;\n proto.isLocal = isLocal;\n proto.isUtcOffset = isUtcOffset;\n proto.isUtc = isUtc;\n proto.isUTC = isUtc;\n proto.zoneAbbr = getZoneAbbr;\n proto.zoneName = getZoneName;\n proto.dates = deprecate(\n 'dates accessor is deprecated. Use date instead.',\n getSetDayOfMonth\n );\n proto.months = deprecate(\n 'months accessor is deprecated. Use month instead',\n getSetMonth\n );\n proto.years = deprecate(\n 'years accessor is deprecated. Use year instead',\n getSetYear\n );\n proto.zone = deprecate(\n 'moment().zone is deprecated, use moment().utcOffset instead. http://momentjs.com/guides/#/warnings/zone/',\n getSetZone\n );\n proto.isDSTShifted = deprecate(\n 'isDSTShifted is deprecated. See http://momentjs.com/guides/#/warnings/dst-shifted/ for more information',\n isDaylightSavingTimeShifted\n );\n\n function createUnix(input) {\n return createLocal(input * 1000);\n }\n\n function createInZone() {\n return createLocal.apply(null, arguments).parseZone();\n }\n\n function preParsePostFormat(string) {\n return string;\n }\n\n var proto$1 = Locale.prototype;\n\n proto$1.calendar = calendar;\n proto$1.longDateFormat = longDateFormat;\n proto$1.invalidDate = invalidDate;\n proto$1.ordinal = ordinal;\n proto$1.preparse = preParsePostFormat;\n proto$1.postformat = preParsePostFormat;\n proto$1.relativeTime = relativeTime;\n proto$1.pastFuture = pastFuture;\n proto$1.set = set;\n proto$1.eras = localeEras;\n proto$1.erasParse = localeErasParse;\n proto$1.erasConvertYear = localeErasConvertYear;\n proto$1.erasAbbrRegex = erasAbbrRegex;\n proto$1.erasNameRegex = erasNameRegex;\n proto$1.erasNarrowRegex = erasNarrowRegex;\n\n proto$1.months = localeMonths;\n proto$1.monthsShort = localeMonthsShort;\n proto$1.monthsParse = localeMonthsParse;\n proto$1.monthsRegex = monthsRegex;\n proto$1.monthsShortRegex = monthsShortRegex;\n proto$1.week = localeWeek;\n proto$1.firstDayOfYear = localeFirstDayOfYear;\n proto$1.firstDayOfWeek = localeFirstDayOfWeek;\n\n proto$1.weekdays = localeWeekdays;\n proto$1.weekdaysMin = localeWeekdaysMin;\n proto$1.weekdaysShort = localeWeekdaysShort;\n proto$1.weekdaysParse = localeWeekdaysParse;\n\n proto$1.weekdaysRegex = weekdaysRegex;\n proto$1.weekdaysShortRegex = weekdaysShortRegex;\n proto$1.weekdaysMinRegex = weekdaysMinRegex;\n\n proto$1.isPM = localeIsPM;\n proto$1.meridiem = localeMeridiem;\n\n function get$1(format, index, field, setter) {\n var locale = getLocale(),\n utc = createUTC().set(setter, index);\n return locale[field](utc, format);\n }\n\n function listMonthsImpl(format, index, field) {\n if (isNumber(format)) {\n index = format;\n format = undefined;\n }\n\n format = format || '';\n\n if (index != null) {\n return get$1(format, index, field, 'month');\n }\n\n var i,\n out = [];\n for (i = 0; i < 12; i++) {\n out[i] = get$1(format, i, field, 'month');\n }\n return out;\n }\n\n // ()\n // (5)\n // (fmt, 5)\n // (fmt)\n // (true)\n // (true, 5)\n // (true, fmt, 5)\n // (true, fmt)\n function listWeekdaysImpl(localeSorted, format, index, field) {\n if (typeof localeSorted === 'boolean') {\n if (isNumber(format)) {\n index = format;\n format = undefined;\n }\n\n format = format || '';\n } else {\n format = localeSorted;\n index = format;\n localeSorted = false;\n\n if (isNumber(format)) {\n index = format;\n format = undefined;\n }\n\n format = format || '';\n }\n\n var locale = getLocale(),\n shift = localeSorted ? locale._week.dow : 0,\n i,\n out = [];\n\n if (index != null) {\n return get$1(format, (index + shift) % 7, field, 'day');\n }\n\n for (i = 0; i < 7; i++) {\n out[i] = get$1(format, (i + shift) % 7, field, 'day');\n }\n return out;\n }\n\n function listMonths(format, index) {\n return listMonthsImpl(format, index, 'months');\n }\n\n function listMonthsShort(format, index) {\n return listMonthsImpl(format, index, 'monthsShort');\n }\n\n function listWeekdays(localeSorted, format, index) {\n return listWeekdaysImpl(localeSorted, format, index, 'weekdays');\n }\n\n function listWeekdaysShort(localeSorted, format, index) {\n return listWeekdaysImpl(localeSorted, format, index, 'weekdaysShort');\n }\n\n function listWeekdaysMin(localeSorted, format, index) {\n return listWeekdaysImpl(localeSorted, format, index, 'weekdaysMin');\n }\n\n getSetGlobalLocale('en', {\n eras: [\n {\n since: '0001-01-01',\n until: +Infinity,\n offset: 1,\n name: 'Anno Domini',\n narrow: 'AD',\n abbr: 'AD',\n },\n {\n since: '0000-12-31',\n until: -Infinity,\n offset: 1,\n name: 'Before Christ',\n narrow: 'BC',\n abbr: 'BC',\n },\n ],\n dayOfMonthOrdinalParse: /\\d{1,2}(th|st|nd|rd)/,\n ordinal: function (number) {\n var b = number % 10,\n output =\n toInt((number % 100) / 10) === 1\n ? 'th'\n : b === 1\n ? 'st'\n : b === 2\n ? 'nd'\n : b === 3\n ? 'rd'\n : 'th';\n return number + output;\n },\n });\n\n // Side effect imports\n\n hooks.lang = deprecate(\n 'moment.lang is deprecated. Use moment.locale instead.',\n getSetGlobalLocale\n );\n hooks.langData = deprecate(\n 'moment.langData is deprecated. Use moment.localeData instead.',\n getLocale\n );\n\n var mathAbs = Math.abs;\n\n function abs() {\n var data = this._data;\n\n this._milliseconds = mathAbs(this._milliseconds);\n this._days = mathAbs(this._days);\n this._months = mathAbs(this._months);\n\n data.milliseconds = mathAbs(data.milliseconds);\n data.seconds = mathAbs(data.seconds);\n data.minutes = mathAbs(data.minutes);\n data.hours = mathAbs(data.hours);\n data.months = mathAbs(data.months);\n data.years = mathAbs(data.years);\n\n return this;\n }\n\n function addSubtract$1(duration, input, value, direction) {\n var other = createDuration(input, value);\n\n duration._milliseconds += direction * other._milliseconds;\n duration._days += direction * other._days;\n duration._months += direction * other._months;\n\n return duration._bubble();\n }\n\n // supports only 2.0-style add(1, 's') or add(duration)\n function add$1(input, value) {\n return addSubtract$1(this, input, value, 1);\n }\n\n // supports only 2.0-style subtract(1, 's') or subtract(duration)\n function subtract$1(input, value) {\n return addSubtract$1(this, input, value, -1);\n }\n\n function absCeil(number) {\n if (number < 0) {\n return Math.floor(number);\n } else {\n return Math.ceil(number);\n }\n }\n\n function bubble() {\n var milliseconds = this._milliseconds,\n days = this._days,\n months = this._months,\n data = this._data,\n seconds,\n minutes,\n hours,\n years,\n monthsFromDays;\n\n // if we have a mix of positive and negative values, bubble down first\n // check: https://github.com/moment/moment/issues/2166\n if (\n !(\n (milliseconds >= 0 && days >= 0 && months >= 0) ||\n (milliseconds <= 0 && days <= 0 && months <= 0)\n )\n ) {\n milliseconds += absCeil(monthsToDays(months) + days) * 864e5;\n days = 0;\n months = 0;\n }\n\n // The following code bubbles up values, see the tests for\n // examples of what that means.\n data.milliseconds = milliseconds % 1000;\n\n seconds = absFloor(milliseconds / 1000);\n data.seconds = seconds % 60;\n\n minutes = absFloor(seconds / 60);\n data.minutes = minutes % 60;\n\n hours = absFloor(minutes / 60);\n data.hours = hours % 24;\n\n days += absFloor(hours / 24);\n\n // convert days to months\n monthsFromDays = absFloor(daysToMonths(days));\n months += monthsFromDays;\n days -= absCeil(monthsToDays(monthsFromDays));\n\n // 12 months -> 1 year\n years = absFloor(months / 12);\n months %= 12;\n\n data.days = days;\n data.months = months;\n data.years = years;\n\n return this;\n }\n\n function daysToMonths(days) {\n // 400 years have 146097 days (taking into account leap year rules)\n // 400 years have 12 months === 4800\n return (days * 4800) / 146097;\n }\n\n function monthsToDays(months) {\n // the reverse of daysToMonths\n return (months * 146097) / 4800;\n }\n\n function as(units) {\n if (!this.isValid()) {\n return NaN;\n }\n var days,\n months,\n milliseconds = this._milliseconds;\n\n units = normalizeUnits(units);\n\n if (units === 'month' || units === 'quarter' || units === 'year') {\n days = this._days + milliseconds / 864e5;\n months = this._months + daysToMonths(days);\n switch (units) {\n case 'month':\n return months;\n case 'quarter':\n return months / 3;\n case 'year':\n return months / 12;\n }\n } else {\n // handle milliseconds separately because of floating point math errors (issue #1867)\n days = this._days + Math.round(monthsToDays(this._months));\n switch (units) {\n case 'week':\n return days / 7 + milliseconds / 6048e5;\n case 'day':\n return days + milliseconds / 864e5;\n case 'hour':\n return days * 24 + milliseconds / 36e5;\n case 'minute':\n return days * 1440 + milliseconds / 6e4;\n case 'second':\n return days * 86400 + milliseconds / 1000;\n // Math.floor prevents floating point math errors here\n case 'millisecond':\n return Math.floor(days * 864e5) + milliseconds;\n default:\n throw new Error('Unknown unit ' + units);\n }\n }\n }\n\n // TODO: Use this.as('ms')?\n function valueOf$1() {\n if (!this.isValid()) {\n return NaN;\n }\n return (\n this._milliseconds +\n this._days * 864e5 +\n (this._months % 12) * 2592e6 +\n toInt(this._months / 12) * 31536e6\n );\n }\n\n function makeAs(alias) {\n return function () {\n return this.as(alias);\n };\n }\n\n var asMilliseconds = makeAs('ms'),\n asSeconds = makeAs('s'),\n asMinutes = makeAs('m'),\n asHours = makeAs('h'),\n asDays = makeAs('d'),\n asWeeks = makeAs('w'),\n asMonths = makeAs('M'),\n asQuarters = makeAs('Q'),\n asYears = makeAs('y');\n\n function clone$1() {\n return createDuration(this);\n }\n\n function get$2(units) {\n units = normalizeUnits(units);\n return this.isValid() ? this[units + 's']() : NaN;\n }\n\n function makeGetter(name) {\n return function () {\n return this.isValid() ? this._data[name] : NaN;\n };\n }\n\n var milliseconds = makeGetter('milliseconds'),\n seconds = makeGetter('seconds'),\n minutes = makeGetter('minutes'),\n hours = makeGetter('hours'),\n days = makeGetter('days'),\n months = makeGetter('months'),\n years = makeGetter('years');\n\n function weeks() {\n return absFloor(this.days() / 7);\n }\n\n var round = Math.round,\n thresholds = {\n ss: 44, // a few seconds to seconds\n s: 45, // seconds to minute\n m: 45, // minutes to hour\n h: 22, // hours to day\n d: 26, // days to month/week\n w: null, // weeks to month\n M: 11, // months to year\n };\n\n // helper function for moment.fn.from, moment.fn.fromNow, and moment.duration.fn.humanize\n function substituteTimeAgo(string, number, withoutSuffix, isFuture, locale) {\n return locale.relativeTime(number || 1, !!withoutSuffix, string, isFuture);\n }\n\n function relativeTime$1(posNegDuration, withoutSuffix, thresholds, locale) {\n var duration = createDuration(posNegDuration).abs(),\n seconds = round(duration.as('s')),\n minutes = round(duration.as('m')),\n hours = round(duration.as('h')),\n days = round(duration.as('d')),\n months = round(duration.as('M')),\n weeks = round(duration.as('w')),\n years = round(duration.as('y')),\n a =\n (seconds <= thresholds.ss && ['s', seconds]) ||\n (seconds < thresholds.s && ['ss', seconds]) ||\n (minutes <= 1 && ['m']) ||\n (minutes < thresholds.m && ['mm', minutes]) ||\n (hours <= 1 && ['h']) ||\n (hours < thresholds.h && ['hh', hours]) ||\n (days <= 1 && ['d']) ||\n (days < thresholds.d && ['dd', days]);\n\n if (thresholds.w != null) {\n a =\n a ||\n (weeks <= 1 && ['w']) ||\n (weeks < thresholds.w && ['ww', weeks]);\n }\n a = a ||\n (months <= 1 && ['M']) ||\n (months < thresholds.M && ['MM', months]) ||\n (years <= 1 && ['y']) || ['yy', years];\n\n a[2] = withoutSuffix;\n a[3] = +posNegDuration > 0;\n a[4] = locale;\n return substituteTimeAgo.apply(null, a);\n }\n\n // This function allows you to set the rounding function for relative time strings\n function getSetRelativeTimeRounding(roundingFunction) {\n if (roundingFunction === undefined) {\n return round;\n }\n if (typeof roundingFunction === 'function') {\n round = roundingFunction;\n return true;\n }\n return false;\n }\n\n // This function allows you to set a threshold for relative time strings\n function getSetRelativeTimeThreshold(threshold, limit) {\n if (thresholds[threshold] === undefined) {\n return false;\n }\n if (limit === undefined) {\n return thresholds[threshold];\n }\n thresholds[threshold] = limit;\n if (threshold === 's') {\n thresholds.ss = limit - 1;\n }\n return true;\n }\n\n function humanize(argWithSuffix, argThresholds) {\n if (!this.isValid()) {\n return this.localeData().invalidDate();\n }\n\n var withSuffix = false,\n th = thresholds,\n locale,\n output;\n\n if (typeof argWithSuffix === 'object') {\n argThresholds = argWithSuffix;\n argWithSuffix = false;\n }\n if (typeof argWithSuffix === 'boolean') {\n withSuffix = argWithSuffix;\n }\n if (typeof argThresholds === 'object') {\n th = Object.assign({}, thresholds, argThresholds);\n if (argThresholds.s != null && argThresholds.ss == null) {\n th.ss = argThresholds.s - 1;\n }\n }\n\n locale = this.localeData();\n output = relativeTime$1(this, !withSuffix, th, locale);\n\n if (withSuffix) {\n output = locale.pastFuture(+this, output);\n }\n\n return locale.postformat(output);\n }\n\n var abs$1 = Math.abs;\n\n function sign(x) {\n return (x > 0) - (x < 0) || +x;\n }\n\n function toISOString$1() {\n // for ISO strings we do not use the normal bubbling rules:\n // * milliseconds bubble up until they become hours\n // * days do not bubble at all\n // * months bubble up until they become years\n // This is because there is no context-free conversion between hours and days\n // (think of clock changes)\n // and also not between days and months (28-31 days per month)\n if (!this.isValid()) {\n return this.localeData().invalidDate();\n }\n\n var seconds = abs$1(this._milliseconds) / 1000,\n days = abs$1(this._days),\n months = abs$1(this._months),\n minutes,\n hours,\n years,\n s,\n total = this.asSeconds(),\n totalSign,\n ymSign,\n daysSign,\n hmsSign;\n\n if (!total) {\n // this is the same as C#'s (Noda) and python (isodate)...\n // but not other JS (goog.date)\n return 'P0D';\n }\n\n // 3600 seconds -> 60 minutes -> 1 hour\n minutes = absFloor(seconds / 60);\n hours = absFloor(minutes / 60);\n seconds %= 60;\n minutes %= 60;\n\n // 12 months -> 1 year\n years = absFloor(months / 12);\n months %= 12;\n\n // inspired by https://github.com/dordille/moment-isoduration/blob/master/moment.isoduration.js\n s = seconds ? seconds.toFixed(3).replace(/\\.?0+$/, '') : '';\n\n totalSign = total < 0 ? '-' : '';\n ymSign = sign(this._months) !== sign(total) ? '-' : '';\n daysSign = sign(this._days) !== sign(total) ? '-' : '';\n hmsSign = sign(this._milliseconds) !== sign(total) ? '-' : '';\n\n return (\n totalSign +\n 'P' +\n (years ? ymSign + years + 'Y' : '') +\n (months ? ymSign + months + 'M' : '') +\n (days ? daysSign + days + 'D' : '') +\n (hours || minutes || seconds ? 'T' : '') +\n (hours ? hmsSign + hours + 'H' : '') +\n (minutes ? hmsSign + minutes + 'M' : '') +\n (seconds ? hmsSign + s + 'S' : '')\n );\n }\n\n var proto$2 = Duration.prototype;\n\n proto$2.isValid = isValid$1;\n proto$2.abs = abs;\n proto$2.add = add$1;\n proto$2.subtract = subtract$1;\n proto$2.as = as;\n proto$2.asMilliseconds = asMilliseconds;\n proto$2.asSeconds = asSeconds;\n proto$2.asMinutes = asMinutes;\n proto$2.asHours = asHours;\n proto$2.asDays = asDays;\n proto$2.asWeeks = asWeeks;\n proto$2.asMonths = asMonths;\n proto$2.asQuarters = asQuarters;\n proto$2.asYears = asYears;\n proto$2.valueOf = valueOf$1;\n proto$2._bubble = bubble;\n proto$2.clone = clone$1;\n proto$2.get = get$2;\n proto$2.milliseconds = milliseconds;\n proto$2.seconds = seconds;\n proto$2.minutes = minutes;\n proto$2.hours = hours;\n proto$2.days = days;\n proto$2.weeks = weeks;\n proto$2.months = months;\n proto$2.years = years;\n proto$2.humanize = humanize;\n proto$2.toISOString = toISOString$1;\n proto$2.toString = toISOString$1;\n proto$2.toJSON = toISOString$1;\n proto$2.locale = locale;\n proto$2.localeData = localeData;\n\n proto$2.toIsoString = deprecate(\n 'toIsoString() is deprecated. Please use toISOString() instead (notice the capitals)',\n toISOString$1\n );\n proto$2.lang = lang;\n\n // FORMATTING\n\n addFormatToken('X', 0, 0, 'unix');\n addFormatToken('x', 0, 0, 'valueOf');\n\n // PARSING\n\n addRegexToken('x', matchSigned);\n addRegexToken('X', matchTimestamp);\n addParseToken('X', function (input, array, config) {\n config._d = new Date(parseFloat(input) * 1000);\n });\n addParseToken('x', function (input, array, config) {\n config._d = new Date(toInt(input));\n });\n\n //! moment.js\n\n hooks.version = '2.29.4';\n\n setHookCallback(createLocal);\n\n hooks.fn = proto;\n hooks.min = min;\n hooks.max = max;\n hooks.now = now;\n hooks.utc = createUTC;\n hooks.unix = createUnix;\n hooks.months = listMonths;\n hooks.isDate = isDate;\n hooks.locale = getSetGlobalLocale;\n hooks.invalid = createInvalid;\n hooks.duration = createDuration;\n hooks.isMoment = isMoment;\n hooks.weekdays = listWeekdays;\n hooks.parseZone = createInZone;\n hooks.localeData = getLocale;\n hooks.isDuration = isDuration;\n hooks.monthsShort = listMonthsShort;\n hooks.weekdaysMin = listWeekdaysMin;\n hooks.defineLocale = defineLocale;\n hooks.updateLocale = updateLocale;\n hooks.locales = listLocales;\n hooks.weekdaysShort = listWeekdaysShort;\n hooks.normalizeUnits = normalizeUnits;\n hooks.relativeTimeRounding = getSetRelativeTimeRounding;\n hooks.relativeTimeThreshold = getSetRelativeTimeThreshold;\n hooks.calendarFormat = getCalendarFormat;\n hooks.prototype = proto;\n\n // currently HTML5 input type only supports 24-hour formats\n hooks.HTML5_FMT = {\n DATETIME_LOCAL: 'YYYY-MM-DDTHH:mm', // \n DATETIME_LOCAL_SECONDS: 'YYYY-MM-DDTHH:mm:ss', // \n DATETIME_LOCAL_MS: 'YYYY-MM-DDTHH:mm:ss.SSS', // \n DATE: 'YYYY-MM-DD', // \n TIME: 'HH:mm', // \n TIME_SECONDS: 'HH:mm:ss', // \n TIME_MS: 'HH:mm:ss.SSS', // \n WEEK: 'GGGG-[W]WW', // \n MONTH: 'YYYY-MM', // \n };\n\n return hooks;\n\n})));\n","import { EventEmitter, Directive, ElementRef, Input, Output, HostListener, NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\n\n/**\n * @fileoverview added by tsickle\n * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc\n */\n/**\n * @param {?} node\n * @return {?}\n */\nimport * as ɵngcc0 from '@angular/core';\nfunction isElement(node) {\n return !!(node && (node.nodeName || node.prop && node.attr && node.find));\n}\nclass FileLikeObject {\n /**\n * @param {?} fileOrInput\n */\n constructor(fileOrInput) {\n this.rawFile = fileOrInput;\n /** @type {?} */\n let isInput = isElement(fileOrInput);\n /** @type {?} */\n let fakePathOrObject = isInput ? fileOrInput.value : fileOrInput;\n /** @type {?} */\n let postfix = typeof fakePathOrObject === 'string' ? 'FakePath' : 'Object';\n /** @type {?} */\n let method = '_createFrom' + postfix;\n ((/** @type {?} */ (this)))[method](fakePathOrObject);\n }\n /**\n * @param {?} path\n * @return {?}\n */\n _createFromFakePath(path) {\n this.lastModifiedDate = void 0;\n this.size = void 0;\n this.type = 'like/' + path.slice(path.lastIndexOf('.') + 1).toLowerCase();\n this.name = path.slice(path.lastIndexOf('/') + path.lastIndexOf('\\\\') + 2);\n }\n /**\n * @param {?} object\n * @return {?}\n */\n _createFromObject(object) {\n this.size = object.size;\n this.type = object.type;\n this.name = object.name;\n }\n}\nif (false) {\n /** @type {?} */\n FileLikeObject.prototype.lastModifiedDate;\n /** @type {?} */\n FileLikeObject.prototype.size;\n /** @type {?} */\n FileLikeObject.prototype.type;\n /** @type {?} */\n FileLikeObject.prototype.name;\n /** @type {?} */\n FileLikeObject.prototype.rawFile;\n}\n\n/**\n * @fileoverview added by tsickle\n * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc\n */\nclass FileItem {\n /**\n * @param {?} uploader\n * @param {?} some\n * @param {?} options\n */\n constructor(uploader, some, options) {\n this.url = '/';\n this.headers = [];\n this.withCredentials = true;\n this.formData = [];\n this.isReady = false;\n this.isUploading = false;\n this.isUploaded = false;\n this.isSuccess = false;\n this.isCancel = false;\n this.isError = false;\n this.progress = 0;\n this.index = void 0;\n this.uploader = uploader;\n this.some = some;\n this.options = options;\n this.file = new FileLikeObject(some);\n this._file = some;\n if (uploader.options) {\n this.method = uploader.options.method || 'POST';\n this.alias = uploader.options.itemAlias || 'file';\n }\n this.url = uploader.options.url;\n }\n /**\n * @return {?}\n */\n upload() {\n try {\n this.uploader.uploadItem(this);\n }\n catch (e) {\n this.uploader._onCompleteItem(this, '', 0, {});\n this.uploader._onErrorItem(this, '', 0, {});\n }\n }\n /**\n * @return {?}\n */\n cancel() {\n this.uploader.cancelItem(this);\n }\n /**\n * @return {?}\n */\n remove() {\n this.uploader.removeFromQueue(this);\n }\n /**\n * @return {?}\n */\n onBeforeUpload() {\n return void 0;\n }\n /**\n * @param {?} form\n * @return {?}\n */\n onBuildForm(form) {\n return { form };\n }\n /**\n * @param {?} progress\n * @return {?}\n */\n onProgress(progress) {\n return { progress };\n }\n /**\n * @param {?} response\n * @param {?} status\n * @param {?} headers\n * @return {?}\n */\n onSuccess(response, status, headers) {\n return { response, status, headers };\n }\n /**\n * @param {?} response\n * @param {?} status\n * @param {?} headers\n * @return {?}\n */\n onError(response, status, headers) {\n return { response, status, headers };\n }\n /**\n * @param {?} response\n * @param {?} status\n * @param {?} headers\n * @return {?}\n */\n onCancel(response, status, headers) {\n return { response, status, headers };\n }\n /**\n * @param {?} response\n * @param {?} status\n * @param {?} headers\n * @return {?}\n */\n onComplete(response, status, headers) {\n return { response, status, headers };\n }\n /**\n * @return {?}\n */\n _onBeforeUpload() {\n this.isReady = true;\n this.isUploading = true;\n this.isUploaded = false;\n this.isSuccess = false;\n this.isCancel = false;\n this.isError = false;\n this.progress = 0;\n this.onBeforeUpload();\n }\n /**\n * @param {?} form\n * @return {?}\n */\n _onBuildForm(form) {\n this.onBuildForm(form);\n }\n /**\n * @param {?} progress\n * @return {?}\n */\n _onProgress(progress) {\n this.progress = progress;\n this.onProgress(progress);\n }\n /**\n * @param {?} response\n * @param {?} status\n * @param {?} headers\n * @return {?}\n */\n _onSuccess(response, status, headers) {\n this.isReady = false;\n this.isUploading = false;\n this.isUploaded = true;\n this.isSuccess = true;\n this.isCancel = false;\n this.isError = false;\n this.progress = 100;\n this.index = void 0;\n this.onSuccess(response, status, headers);\n }\n /**\n * @param {?} response\n * @param {?} status\n * @param {?} headers\n * @return {?}\n */\n _onError(response, status, headers) {\n this.isReady = false;\n this.isUploading = false;\n this.isUploaded = true;\n this.isSuccess = false;\n this.isCancel = false;\n this.isError = true;\n this.progress = 0;\n this.index = void 0;\n this.onError(response, status, headers);\n }\n /**\n * @param {?} response\n * @param {?} status\n * @param {?} headers\n * @return {?}\n */\n _onCancel(response, status, headers) {\n this.isReady = false;\n this.isUploading = false;\n this.isUploaded = false;\n this.isSuccess = false;\n this.isCancel = true;\n this.isError = false;\n this.progress = 0;\n this.index = void 0;\n this.onCancel(response, status, headers);\n }\n /**\n * @param {?} response\n * @param {?} status\n * @param {?} headers\n * @return {?}\n */\n _onComplete(response, status, headers) {\n this.onComplete(response, status, headers);\n if (this.uploader.options.removeAfterUpload) {\n this.remove();\n }\n }\n /**\n * @return {?}\n */\n _prepareToUploading() {\n this.index = this.index || ++this.uploader._nextIndex;\n this.isReady = true;\n }\n}\nif (false) {\n /** @type {?} */\n FileItem.prototype.file;\n /** @type {?} */\n FileItem.prototype._file;\n /** @type {?} */\n FileItem.prototype.alias;\n /** @type {?} */\n FileItem.prototype.url;\n /** @type {?} */\n FileItem.prototype.method;\n /** @type {?} */\n FileItem.prototype.headers;\n /** @type {?} */\n FileItem.prototype.withCredentials;\n /** @type {?} */\n FileItem.prototype.formData;\n /** @type {?} */\n FileItem.prototype.isReady;\n /** @type {?} */\n FileItem.prototype.isUploading;\n /** @type {?} */\n FileItem.prototype.isUploaded;\n /** @type {?} */\n FileItem.prototype.isSuccess;\n /** @type {?} */\n FileItem.prototype.isCancel;\n /** @type {?} */\n FileItem.prototype.isError;\n /** @type {?} */\n FileItem.prototype.progress;\n /** @type {?} */\n FileItem.prototype.index;\n /** @type {?} */\n FileItem.prototype._xhr;\n /** @type {?} */\n FileItem.prototype._form;\n /**\n * @type {?}\n * @protected\n */\n FileItem.prototype.uploader;\n /**\n * @type {?}\n * @protected\n */\n FileItem.prototype.some;\n /**\n * @type {?}\n * @protected\n */\n FileItem.prototype.options;\n}\n\n/**\n * @fileoverview added by tsickle\n * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc\n */\nclass FileType {\n /**\n * @param {?} file\n * @return {?}\n */\n static getMimeClass(file) {\n /** @type {?} */\n let mimeClass = 'application';\n if (this.mime_psd.indexOf(file.type) !== -1) {\n mimeClass = 'image';\n }\n else if (file.type.match('image.*')) {\n mimeClass = 'image';\n }\n else if (file.type.match('video.*')) {\n mimeClass = 'video';\n }\n else if (file.type.match('audio.*')) {\n mimeClass = 'audio';\n }\n else if (file.type === 'application/pdf') {\n mimeClass = 'pdf';\n }\n else if (this.mime_compress.indexOf(file.type) !== -1) {\n mimeClass = 'compress';\n }\n else if (this.mime_doc.indexOf(file.type) !== -1) {\n mimeClass = 'doc';\n }\n else if (this.mime_xsl.indexOf(file.type) !== -1) {\n mimeClass = 'xls';\n }\n else if (this.mime_ppt.indexOf(file.type) !== -1) {\n mimeClass = 'ppt';\n }\n if (mimeClass === 'application') {\n mimeClass = this.fileTypeDetection(file.name);\n }\n return mimeClass;\n }\n /**\n * @param {?} inputFilename\n * @return {?}\n */\n static fileTypeDetection(inputFilename) {\n /** @type {?} */\n let types = {\n 'jpg': 'image',\n 'jpeg': 'image',\n 'tif': 'image',\n 'psd': 'image',\n 'bmp': 'image',\n 'png': 'image',\n 'nef': 'image',\n 'tiff': 'image',\n 'cr2': 'image',\n 'dwg': 'image',\n 'cdr': 'image',\n 'ai': 'image',\n 'indd': 'image',\n 'pin': 'image',\n 'cdp': 'image',\n 'skp': 'image',\n 'stp': 'image',\n '3dm': 'image',\n 'mp3': 'audio',\n 'wav': 'audio',\n 'wma': 'audio',\n 'mod': 'audio',\n 'm4a': 'audio',\n 'compress': 'compress',\n 'zip': 'compress',\n 'rar': 'compress',\n '7z': 'compress',\n 'lz': 'compress',\n 'z01': 'compress',\n 'bz2': 'compress',\n 'gz': 'compress',\n 'pdf': 'pdf',\n 'xls': 'xls',\n 'xlsx': 'xls',\n 'ods': 'xls',\n 'mp4': 'video',\n 'avi': 'video',\n 'wmv': 'video',\n 'mpg': 'video',\n 'mts': 'video',\n 'flv': 'video',\n '3gp': 'video',\n 'vob': 'video',\n 'm4v': 'video',\n 'mpeg': 'video',\n 'm2ts': 'video',\n 'mov': 'video',\n 'doc': 'doc',\n 'docx': 'doc',\n 'eps': 'doc',\n 'txt': 'doc',\n 'odt': 'doc',\n 'rtf': 'doc',\n 'ppt': 'ppt',\n 'pptx': 'ppt',\n 'pps': 'ppt',\n 'ppsx': 'ppt',\n 'odp': 'ppt'\n };\n /** @type {?} */\n let chunks = inputFilename.split('.');\n if (chunks.length < 2) {\n return 'application';\n }\n /** @type {?} */\n let extension = chunks[chunks.length - 1].toLowerCase();\n if (types[extension] === undefined) {\n return 'application';\n }\n else {\n return types[extension];\n }\n }\n}\n/* MS office */\nFileType.mime_doc = [\n 'application/msword',\n 'application/msword',\n 'application/vnd.openxmlformats-officedocument.wordprocessingml.document',\n 'application/vnd.openxmlformats-officedocument.wordprocessingml.template',\n 'application/vnd.ms-word.document.macroEnabled.12',\n 'application/vnd.ms-word.template.macroEnabled.12'\n];\nFileType.mime_xsl = [\n 'application/vnd.ms-excel',\n 'application/vnd.ms-excel',\n 'application/vnd.ms-excel',\n 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet',\n 'application/vnd.openxmlformats-officedocument.spreadsheetml.template',\n 'application/vnd.ms-excel.sheet.macroEnabled.12',\n 'application/vnd.ms-excel.template.macroEnabled.12',\n 'application/vnd.ms-excel.addin.macroEnabled.12',\n 'application/vnd.ms-excel.sheet.binary.macroEnabled.12'\n];\nFileType.mime_ppt = [\n 'application/vnd.ms-powerpoint',\n 'application/vnd.ms-powerpoint',\n 'application/vnd.ms-powerpoint',\n 'application/vnd.ms-powerpoint',\n 'application/vnd.openxmlformats-officedocument.presentationml.presentation',\n 'application/vnd.openxmlformats-officedocument.presentationml.template',\n 'application/vnd.openxmlformats-officedocument.presentationml.slideshow',\n 'application/vnd.ms-powerpoint.addin.macroEnabled.12',\n 'application/vnd.ms-powerpoint.presentation.macroEnabled.12',\n 'application/vnd.ms-powerpoint.presentation.macroEnabled.12',\n 'application/vnd.ms-powerpoint.slideshow.macroEnabled.12'\n];\n/* PSD */\nFileType.mime_psd = [\n 'image/photoshop',\n 'image/x-photoshop',\n 'image/psd',\n 'application/photoshop',\n 'application/psd',\n 'zz-application/zz-winassoc-psd'\n];\n/* Compressed files */\nFileType.mime_compress = [\n 'application/x-gtar',\n 'application/x-gcompress',\n 'application/compress',\n 'application/x-tar',\n 'application/x-rar-compressed',\n 'application/octet-stream',\n 'application/x-zip-compressed',\n 'application/zip-compressed',\n 'application/x-7z-compressed',\n 'application/gzip',\n 'application/x-bzip2'\n];\nif (false) {\n /** @type {?} */\n FileType.mime_doc;\n /** @type {?} */\n FileType.mime_xsl;\n /** @type {?} */\n FileType.mime_ppt;\n /** @type {?} */\n FileType.mime_psd;\n /** @type {?} */\n FileType.mime_compress;\n}\n\n/**\n * @fileoverview added by tsickle\n * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc\n */\n/**\n * @param {?} value\n * @return {?}\n */\nfunction isFile(value) {\n return (File && value instanceof File);\n}\n/**\n * @record\n */\nfunction Headers() { }\nif (false) {\n /** @type {?} */\n Headers.prototype.name;\n /** @type {?} */\n Headers.prototype.value;\n}\n/**\n * @record\n */\nfunction FileUploaderOptions() { }\nif (false) {\n /** @type {?|undefined} */\n FileUploaderOptions.prototype.allowedMimeType;\n /** @type {?|undefined} */\n FileUploaderOptions.prototype.allowedFileType;\n /** @type {?|undefined} */\n FileUploaderOptions.prototype.autoUpload;\n /** @type {?|undefined} */\n FileUploaderOptions.prototype.isHTML5;\n /** @type {?|undefined} */\n FileUploaderOptions.prototype.filters;\n /** @type {?|undefined} */\n FileUploaderOptions.prototype.headers;\n /** @type {?|undefined} */\n FileUploaderOptions.prototype.method;\n /** @type {?|undefined} */\n FileUploaderOptions.prototype.authToken;\n /** @type {?|undefined} */\n FileUploaderOptions.prototype.maxFileSize;\n /** @type {?|undefined} */\n FileUploaderOptions.prototype.queueLimit;\n /** @type {?|undefined} */\n FileUploaderOptions.prototype.removeAfterUpload;\n /** @type {?|undefined} */\n FileUploaderOptions.prototype.url;\n /** @type {?|undefined} */\n FileUploaderOptions.prototype.disableMultipart;\n /** @type {?|undefined} */\n FileUploaderOptions.prototype.itemAlias;\n /** @type {?|undefined} */\n FileUploaderOptions.prototype.authTokenHeader;\n /** @type {?|undefined} */\n FileUploaderOptions.prototype.additionalParameter;\n /** @type {?|undefined} */\n FileUploaderOptions.prototype.parametersBeforeFiles;\n /** @type {?|undefined} */\n FileUploaderOptions.prototype.formatDataFunction;\n /** @type {?|undefined} */\n FileUploaderOptions.prototype.formatDataFunctionIsAsync;\n}\nclass FileUploader {\n /**\n * @param {?} options\n */\n constructor(options) {\n this.isUploading = false;\n this.queue = [];\n this.progress = 0;\n this._nextIndex = 0;\n this.options = {\n autoUpload: false,\n isHTML5: true,\n filters: [],\n removeAfterUpload: false,\n disableMultipart: false,\n formatDataFunction: (/**\n * @param {?} item\n * @return {?}\n */\n (item) => item._file),\n formatDataFunctionIsAsync: false\n };\n this.setOptions(options);\n this.response = new EventEmitter();\n }\n /**\n * @param {?} options\n * @return {?}\n */\n setOptions(options) {\n this.options = Object.assign(this.options, options);\n this.authToken = this.options.authToken;\n this.authTokenHeader = this.options.authTokenHeader || 'Authorization';\n this.autoUpload = this.options.autoUpload;\n this.options.filters.unshift({ name: 'queueLimit', fn: this._queueLimitFilter });\n if (this.options.maxFileSize) {\n this.options.filters.unshift({ name: 'fileSize', fn: this._fileSizeFilter });\n }\n if (this.options.allowedFileType) {\n this.options.filters.unshift({ name: 'fileType', fn: this._fileTypeFilter });\n }\n if (this.options.allowedMimeType) {\n this.options.filters.unshift({ name: 'mimeType', fn: this._mimeTypeFilter });\n }\n for (let i = 0; i < this.queue.length; i++) {\n this.queue[i].url = this.options.url;\n }\n }\n /**\n * @param {?} files\n * @param {?=} options\n * @param {?=} filters\n * @return {?}\n */\n addToQueue(files, options, filters) {\n /** @type {?} */\n let list = [];\n for (let file of files) {\n list.push(file);\n }\n /** @type {?} */\n let arrayOfFilters = this._getFilters(filters);\n /** @type {?} */\n let count = this.queue.length;\n /** @type {?} */\n let addedFileItems = [];\n list.map((/**\n * @param {?} some\n * @return {?}\n */\n (some) => {\n if (!options) {\n options = this.options;\n }\n /** @type {?} */\n let temp = new FileLikeObject(some);\n if (this._isValidFile(temp, arrayOfFilters, options)) {\n /** @type {?} */\n let fileItem = new FileItem(this, some, options);\n addedFileItems.push(fileItem);\n this.queue.push(fileItem);\n this._onAfterAddingFile(fileItem);\n }\n else {\n /** @type {?} */\n let filter = arrayOfFilters[this._failFilterIndex];\n this._onWhenAddingFileFailed(temp, filter, options);\n }\n }));\n if (this.queue.length !== count) {\n this._onAfterAddingAll(addedFileItems);\n this.progress = this._getTotalProgress();\n }\n this._render();\n if (this.options.autoUpload) {\n this.uploadAll();\n }\n }\n /**\n * @param {?} value\n * @return {?}\n */\n removeFromQueue(value) {\n /** @type {?} */\n let index = this.getIndexOfItem(value);\n /** @type {?} */\n let item = this.queue[index];\n if (item.isUploading) {\n item.cancel();\n }\n this.queue.splice(index, 1);\n this.progress = this._getTotalProgress();\n }\n /**\n * @return {?}\n */\n clearQueue() {\n while (this.queue.length) {\n this.queue[0].remove();\n }\n this.progress = 0;\n }\n /**\n * @param {?} value\n * @return {?}\n */\n uploadItem(value) {\n /** @type {?} */\n let index = this.getIndexOfItem(value);\n /** @type {?} */\n let item = this.queue[index];\n /** @type {?} */\n let transport = this.options.isHTML5 ? '_xhrTransport' : '_iframeTransport';\n item._prepareToUploading();\n if (this.isUploading) {\n return;\n }\n this.isUploading = true;\n ((/** @type {?} */ (this)))[transport](item);\n }\n /**\n * @param {?} value\n * @return {?}\n */\n cancelItem(value) {\n /** @type {?} */\n let index = this.getIndexOfItem(value);\n /** @type {?} */\n let item = this.queue[index];\n /** @type {?} */\n let prop = this.options.isHTML5 ? item._xhr : item._form;\n if (item && item.isUploading) {\n prop.abort();\n }\n }\n /**\n * @return {?}\n */\n uploadAll() {\n /** @type {?} */\n let items = this.getNotUploadedItems().filter((/**\n * @param {?} item\n * @return {?}\n */\n (item) => !item.isUploading));\n if (!items.length) {\n return;\n }\n items.map((/**\n * @param {?} item\n * @return {?}\n */\n (item) => item._prepareToUploading()));\n items[0].upload();\n }\n /**\n * @return {?}\n */\n cancelAll() {\n /** @type {?} */\n let items = this.getNotUploadedItems();\n items.map((/**\n * @param {?} item\n * @return {?}\n */\n (item) => item.cancel()));\n }\n /**\n * @param {?} value\n * @return {?}\n */\n isFile(value) {\n return isFile(value);\n }\n /**\n * @param {?} value\n * @return {?}\n */\n isFileLikeObject(value) {\n return value instanceof FileLikeObject;\n }\n /**\n * @param {?} value\n * @return {?}\n */\n getIndexOfItem(value) {\n return typeof value === 'number' ? value : this.queue.indexOf(value);\n }\n /**\n * @return {?}\n */\n getNotUploadedItems() {\n return this.queue.filter((/**\n * @param {?} item\n * @return {?}\n */\n (item) => !item.isUploaded));\n }\n /**\n * @return {?}\n */\n getReadyItems() {\n return this.queue\n .filter((/**\n * @param {?} item\n * @return {?}\n */\n (item) => (item.isReady && !item.isUploading)))\n .sort((/**\n * @param {?} item1\n * @param {?} item2\n * @return {?}\n */\n (item1, item2) => item1.index - item2.index));\n }\n /**\n * @return {?}\n */\n destroy() {\n return void 0;\n }\n /**\n * @param {?} fileItems\n * @return {?}\n */\n onAfterAddingAll(fileItems) {\n return { fileItems };\n }\n /**\n * @param {?} fileItem\n * @param {?} form\n * @return {?}\n */\n onBuildItemForm(fileItem, form) {\n return { fileItem, form };\n }\n /**\n * @param {?} fileItem\n * @return {?}\n */\n onAfterAddingFile(fileItem) {\n return { fileItem };\n }\n /**\n * @param {?} item\n * @param {?} filter\n * @param {?} options\n * @return {?}\n */\n onWhenAddingFileFailed(item, filter, options) {\n return { item, filter, options };\n }\n /**\n * @param {?} fileItem\n * @return {?}\n */\n onBeforeUploadItem(fileItem) {\n return { fileItem };\n }\n /**\n * @param {?} fileItem\n * @param {?} progress\n * @return {?}\n */\n onProgressItem(fileItem, progress) {\n return { fileItem, progress };\n }\n /**\n * @param {?} progress\n * @return {?}\n */\n onProgressAll(progress) {\n return { progress };\n }\n /**\n * @param {?} item\n * @param {?} response\n * @param {?} status\n * @param {?} headers\n * @return {?}\n */\n onSuccessItem(item, response, status, headers) {\n return { item, response, status, headers };\n }\n /**\n * @param {?} item\n * @param {?} response\n * @param {?} status\n * @param {?} headers\n * @return {?}\n */\n onErrorItem(item, response, status, headers) {\n return { item, response, status, headers };\n }\n /**\n * @param {?} item\n * @param {?} response\n * @param {?} status\n * @param {?} headers\n * @return {?}\n */\n onCancelItem(item, response, status, headers) {\n return { item, response, status, headers };\n }\n /**\n * @param {?} item\n * @param {?} response\n * @param {?} status\n * @param {?} headers\n * @return {?}\n */\n onCompleteItem(item, response, status, headers) {\n return { item, response, status, headers };\n }\n /**\n * @return {?}\n */\n onCompleteAll() {\n return void 0;\n }\n /**\n * @param {?} item\n * @return {?}\n */\n _mimeTypeFilter(item) {\n return !(this.options.allowedMimeType && this.options.allowedMimeType.indexOf(item.type) === -1);\n }\n /**\n * @param {?} item\n * @return {?}\n */\n _fileSizeFilter(item) {\n return !(this.options.maxFileSize && item.size > this.options.maxFileSize);\n }\n /**\n * @param {?} item\n * @return {?}\n */\n _fileTypeFilter(item) {\n return !(this.options.allowedFileType &&\n this.options.allowedFileType.indexOf(FileType.getMimeClass(item)) === -1);\n }\n /**\n * @param {?} item\n * @param {?} response\n * @param {?} status\n * @param {?} headers\n * @return {?}\n */\n _onErrorItem(item, response, status, headers) {\n item._onError(response, status, headers);\n this.onErrorItem(item, response, status, headers);\n }\n /**\n * @param {?} item\n * @param {?} response\n * @param {?} status\n * @param {?} headers\n * @return {?}\n */\n _onCompleteItem(item, response, status, headers) {\n item._onComplete(response, status, headers);\n this.onCompleteItem(item, response, status, headers);\n /** @type {?} */\n let nextItem = this.getReadyItems()[0];\n this.isUploading = false;\n if (nextItem) {\n nextItem.upload();\n return;\n }\n this.onCompleteAll();\n this.progress = this._getTotalProgress();\n this._render();\n }\n /**\n * @protected\n * @param {?} parsedHeaders\n * @return {?}\n */\n _headersGetter(parsedHeaders) {\n return (/**\n * @param {?} name\n * @return {?}\n */\n (name) => {\n if (name) {\n return parsedHeaders[name.toLowerCase()] || void 0;\n }\n return parsedHeaders;\n });\n }\n /**\n * @protected\n * @param {?} item\n * @return {?}\n */\n _xhrTransport(item) {\n /** @type {?} */\n let that = this;\n /** @type {?} */\n let xhr = item._xhr = new XMLHttpRequest();\n /** @type {?} */\n let sendable;\n this._onBeforeUploadItem(item);\n if (typeof item._file.size !== 'number') {\n throw new TypeError('The file specified is no longer valid');\n }\n if (!this.options.disableMultipart) {\n sendable = new FormData();\n this._onBuildItemForm(item, sendable);\n /** @type {?} */\n const appendFile = (/**\n * @return {?}\n */\n () => sendable.append(item.alias, item._file, item.file.name));\n if (!this.options.parametersBeforeFiles) {\n appendFile();\n }\n // For AWS, Additional Parameters must come BEFORE Files\n if (this.options.additionalParameter !== undefined) {\n Object.keys(this.options.additionalParameter).forEach((/**\n * @param {?} key\n * @return {?}\n */\n (key) => {\n /** @type {?} */\n let paramVal = this.options.additionalParameter[key];\n // Allow an additional parameter to include the filename\n if (typeof paramVal === 'string' && paramVal.indexOf('{{file_name}}') >= 0) {\n paramVal = paramVal.replace('{{file_name}}', item.file.name);\n }\n sendable.append(key, paramVal);\n }));\n }\n if (this.options.parametersBeforeFiles) {\n appendFile();\n }\n }\n else {\n sendable = this.options.formatDataFunction(item);\n }\n xhr.upload.onprogress = (/**\n * @param {?} event\n * @return {?}\n */\n (event) => {\n /** @type {?} */\n let progress = Math.round(event.lengthComputable ? event.loaded * 100 / event.total : 0);\n this._onProgressItem(item, progress);\n });\n xhr.onload = (/**\n * @return {?}\n */\n () => {\n /** @type {?} */\n let headers = this._parseHeaders(xhr.getAllResponseHeaders());\n /** @type {?} */\n let response = this._transformResponse(xhr.response, headers);\n /** @type {?} */\n let gist = this._isSuccessCode(xhr.status) ? 'Success' : 'Error';\n /** @type {?} */\n let method = '_on' + gist + 'Item';\n ((/** @type {?} */ (this)))[method](item, response, xhr.status, headers);\n this._onCompleteItem(item, response, xhr.status, headers);\n });\n xhr.onerror = (/**\n * @return {?}\n */\n () => {\n /** @type {?} */\n let headers = this._parseHeaders(xhr.getAllResponseHeaders());\n /** @type {?} */\n let response = this._transformResponse(xhr.response, headers);\n this._onErrorItem(item, response, xhr.status, headers);\n this._onCompleteItem(item, response, xhr.status, headers);\n });\n xhr.onabort = (/**\n * @return {?}\n */\n () => {\n /** @type {?} */\n let headers = this._parseHeaders(xhr.getAllResponseHeaders());\n /** @type {?} */\n let response = this._transformResponse(xhr.response, headers);\n this._onCancelItem(item, response, xhr.status, headers);\n this._onCompleteItem(item, response, xhr.status, headers);\n });\n xhr.open(item.method, item.url, true);\n xhr.withCredentials = item.withCredentials;\n if (this.options.headers) {\n for (let header of this.options.headers) {\n xhr.setRequestHeader(header.name, header.value);\n }\n }\n if (item.headers.length) {\n for (let header of item.headers) {\n xhr.setRequestHeader(header.name, header.value);\n }\n }\n if (this.authToken) {\n xhr.setRequestHeader(this.authTokenHeader, this.authToken);\n }\n xhr.onreadystatechange = (/**\n * @return {?}\n */\n function () {\n if (xhr.readyState == XMLHttpRequest.DONE) {\n that.response.emit(xhr.responseText);\n }\n });\n if (this.options.formatDataFunctionIsAsync) {\n sendable.then((/**\n * @param {?} result\n * @return {?}\n */\n (result) => xhr.send(JSON.stringify(result))));\n }\n else {\n xhr.send(sendable);\n }\n this._render();\n }\n /**\n * @protected\n * @param {?=} value\n * @return {?}\n */\n _getTotalProgress(value = 0) {\n if (this.options.removeAfterUpload) {\n return value;\n }\n /** @type {?} */\n let notUploaded = this.getNotUploadedItems().length;\n /** @type {?} */\n let uploaded = notUploaded ? this.queue.length - notUploaded : this.queue.length;\n /** @type {?} */\n let ratio = 100 / this.queue.length;\n /** @type {?} */\n let current = value * ratio / 100;\n return Math.round(uploaded * ratio + current);\n }\n /**\n * @protected\n * @param {?} filters\n * @return {?}\n */\n _getFilters(filters) {\n if (!filters) {\n return this.options.filters;\n }\n if (Array.isArray(filters)) {\n return filters;\n }\n if (typeof filters === 'string') {\n /** @type {?} */\n let names = filters.match(/[^\\s,]+/g);\n return this.options.filters\n .filter((/**\n * @param {?} filter\n * @return {?}\n */\n (filter) => names.indexOf(filter.name) !== -1));\n }\n return this.options.filters;\n }\n /**\n * @protected\n * @return {?}\n */\n _render() {\n return void 0;\n }\n /**\n * @protected\n * @return {?}\n */\n _queueLimitFilter() {\n return this.options.queueLimit === undefined || this.queue.length < this.options.queueLimit;\n }\n /**\n * @protected\n * @param {?} file\n * @param {?} filters\n * @param {?} options\n * @return {?}\n */\n _isValidFile(file, filters, options) {\n this._failFilterIndex = -1;\n return !filters.length ? true : filters.every((/**\n * @param {?} filter\n * @return {?}\n */\n (filter) => {\n this._failFilterIndex++;\n return filter.fn.call(this, file, options);\n }));\n }\n /**\n * @protected\n * @param {?} status\n * @return {?}\n */\n _isSuccessCode(status) {\n return (status >= 200 && status < 300) || status === 304;\n }\n /**\n * @protected\n * @param {?} response\n * @param {?} headers\n * @return {?}\n */\n _transformResponse(response, headers) {\n return response;\n }\n /**\n * @protected\n * @param {?} headers\n * @return {?}\n */\n _parseHeaders(headers) {\n /** @type {?} */\n let parsed = {};\n /** @type {?} */\n let key;\n /** @type {?} */\n let val;\n /** @type {?} */\n let i;\n if (!headers) {\n return parsed;\n }\n headers.split('\\n').map((/**\n * @param {?} line\n * @return {?}\n */\n (line) => {\n i = line.indexOf(':');\n key = line.slice(0, i).trim().toLowerCase();\n val = line.slice(i + 1).trim();\n if (key) {\n parsed[key] = parsed[key] ? parsed[key] + ', ' + val : val;\n }\n }));\n return parsed;\n }\n /**\n * @protected\n * @param {?} item\n * @param {?} filter\n * @param {?} options\n * @return {?}\n */\n _onWhenAddingFileFailed(item, filter, options) {\n this.onWhenAddingFileFailed(item, filter, options);\n }\n /**\n * @protected\n * @param {?} item\n * @return {?}\n */\n _onAfterAddingFile(item) {\n this.onAfterAddingFile(item);\n }\n /**\n * @protected\n * @param {?} items\n * @return {?}\n */\n _onAfterAddingAll(items) {\n this.onAfterAddingAll(items);\n }\n /**\n * @protected\n * @param {?} item\n * @return {?}\n */\n _onBeforeUploadItem(item) {\n item._onBeforeUpload();\n this.onBeforeUploadItem(item);\n }\n /**\n * @protected\n * @param {?} item\n * @param {?} form\n * @return {?}\n */\n _onBuildItemForm(item, form) {\n item._onBuildForm(form);\n this.onBuildItemForm(item, form);\n }\n /**\n * @protected\n * @param {?} item\n * @param {?} progress\n * @return {?}\n */\n _onProgressItem(item, progress) {\n /** @type {?} */\n let total = this._getTotalProgress(progress);\n this.progress = total;\n item._onProgress(progress);\n this.onProgressItem(item, progress);\n this.onProgressAll(total);\n this._render();\n }\n /**\n * @protected\n * @param {?} item\n * @param {?} response\n * @param {?} status\n * @param {?} headers\n * @return {?}\n */\n _onSuccessItem(item, response, status, headers) {\n item._onSuccess(response, status, headers);\n this.onSuccessItem(item, response, status, headers);\n }\n /**\n * @protected\n * @param {?} item\n * @param {?} response\n * @param {?} status\n * @param {?} headers\n * @return {?}\n */\n _onCancelItem(item, response, status, headers) {\n item._onCancel(response, status, headers);\n this.onCancelItem(item, response, status, headers);\n }\n}\nif (false) {\n /** @type {?} */\n FileUploader.prototype.authToken;\n /** @type {?} */\n FileUploader.prototype.isUploading;\n /** @type {?} */\n FileUploader.prototype.queue;\n /** @type {?} */\n FileUploader.prototype.progress;\n /** @type {?} */\n FileUploader.prototype._nextIndex;\n /** @type {?} */\n FileUploader.prototype.autoUpload;\n /** @type {?} */\n FileUploader.prototype.authTokenHeader;\n /** @type {?} */\n FileUploader.prototype.response;\n /** @type {?} */\n FileUploader.prototype.options;\n /**\n * @type {?}\n * @protected\n */\n FileUploader.prototype._failFilterIndex;\n}\n\n/**\n * @fileoverview added by tsickle\n * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc\n */\nclass FileSelectDirective {\n /**\n * @param {?} element\n */\n constructor(element) {\n this.onFileSelected = new EventEmitter();\n this.element = element;\n }\n /**\n * @return {?}\n */\n getOptions() {\n return this.uploader.options;\n }\n /**\n * @return {?}\n */\n getFilters() {\n return {};\n }\n /**\n * @return {?}\n */\n isEmptyAfterSelection() {\n return !!this.element.nativeElement.attributes.multiple;\n }\n /**\n * @return {?}\n */\n onChange() {\n /** @type {?} */\n let files = this.element.nativeElement.files;\n /** @type {?} */\n let options = this.getOptions();\n /** @type {?} */\n let filters = this.getFilters();\n this.uploader.addToQueue(files, options, filters);\n this.onFileSelected.emit(files);\n if (this.isEmptyAfterSelection()) {\n this.element.nativeElement.value = '';\n }\n }\n}\nFileSelectDirective.ɵfac = function FileSelectDirective_Factory(t) { return new (t || FileSelectDirective)(ɵngcc0.ɵɵdirectiveInject(ɵngcc0.ElementRef)); };\nFileSelectDirective.ɵdir = /*@__PURE__*/ ɵngcc0.ɵɵdefineDirective({ type: FileSelectDirective, selectors: [[\"\", \"ng2FileSelect\", \"\"]], hostBindings: function FileSelectDirective_HostBindings(rf, ctx) { if (rf & 1) {\n ɵngcc0.ɵɵlistener(\"change\", function FileSelectDirective_change_HostBindingHandler() { return ctx.onChange(); });\n } }, inputs: { uploader: \"uploader\" }, outputs: { onFileSelected: \"onFileSelected\" } });\n/** @nocollapse */\nFileSelectDirective.ctorParameters = () => [\n { type: ElementRef }\n];\nFileSelectDirective.propDecorators = {\n uploader: [{ type: Input }],\n onFileSelected: [{ type: Output }],\n onChange: [{ type: HostListener, args: ['change',] }]\n};\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(FileSelectDirective, [{\n type: Directive,\n args: [{ selector: '[ng2FileSelect]' }]\n }], function () { return [{ type: ɵngcc0.ElementRef }]; }, { onFileSelected: [{\n type: Output\n }], \n /**\n * @return {?}\n */\n onChange: [{\n type: HostListener,\n args: ['change']\n }], uploader: [{\n type: Input\n }] }); })();\nif (false) {\n /** @type {?} */\n FileSelectDirective.prototype.uploader;\n /** @type {?} */\n FileSelectDirective.prototype.onFileSelected;\n /**\n * @type {?}\n * @protected\n */\n FileSelectDirective.prototype.element;\n}\n\n/**\n * @fileoverview added by tsickle\n * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc\n */\nclass FileDropDirective {\n /**\n * @param {?} element\n */\n constructor(element) {\n this.fileOver = new EventEmitter();\n this.onFileDrop = new EventEmitter();\n this.element = element;\n }\n /**\n * @return {?}\n */\n getOptions() {\n return this.uploader.options;\n }\n /**\n * @return {?}\n */\n getFilters() {\n return {};\n }\n /**\n * @param {?} event\n * @return {?}\n */\n onDrop(event) {\n /** @type {?} */\n let transfer = this._getTransfer(event);\n if (!transfer) {\n return;\n }\n /** @type {?} */\n let options = this.getOptions();\n /** @type {?} */\n let filters = this.getFilters();\n this._preventAndStop(event);\n this.uploader.addToQueue(transfer.files, options, filters);\n this.fileOver.emit(false);\n this.onFileDrop.emit(transfer.files);\n }\n /**\n * @param {?} event\n * @return {?}\n */\n onDragOver(event) {\n /** @type {?} */\n let transfer = this._getTransfer(event);\n if (!this._haveFiles(transfer.types)) {\n return;\n }\n transfer.dropEffect = 'copy';\n this._preventAndStop(event);\n this.fileOver.emit(true);\n }\n /**\n * @param {?} event\n * @return {?}\n */\n onDragLeave(event) {\n if (((/** @type {?} */ (this))).element) {\n if (event.currentTarget === ((/** @type {?} */ (this))).element[0]) {\n return;\n }\n }\n this._preventAndStop(event);\n this.fileOver.emit(false);\n }\n /**\n * @protected\n * @param {?} event\n * @return {?}\n */\n _getTransfer(event) {\n return event.dataTransfer ? event.dataTransfer : event.originalEvent.dataTransfer; // jQuery fix;\n }\n /**\n * @protected\n * @param {?} event\n * @return {?}\n */\n _preventAndStop(event) {\n event.preventDefault();\n event.stopPropagation();\n }\n /**\n * @protected\n * @param {?} types\n * @return {?}\n */\n _haveFiles(types) {\n if (!types) {\n return false;\n }\n if (types.indexOf) {\n return types.indexOf('Files') !== -1;\n }\n else if (types.contains) {\n return types.contains('Files');\n }\n else {\n return false;\n }\n }\n}\nFileDropDirective.ɵfac = function FileDropDirective_Factory(t) { return new (t || FileDropDirective)(ɵngcc0.ɵɵdirectiveInject(ɵngcc0.ElementRef)); };\nFileDropDirective.ɵdir = /*@__PURE__*/ ɵngcc0.ɵɵdefineDirective({ type: FileDropDirective, selectors: [[\"\", \"ng2FileDrop\", \"\"]], hostBindings: function FileDropDirective_HostBindings(rf, ctx) { if (rf & 1) {\n ɵngcc0.ɵɵlistener(\"drop\", function FileDropDirective_drop_HostBindingHandler($event) { return ctx.onDrop($event); })(\"dragover\", function FileDropDirective_dragover_HostBindingHandler($event) { return ctx.onDragOver($event); })(\"dragleave\", function FileDropDirective_dragleave_HostBindingHandler($event) { return ctx.onDragLeave($event); });\n } }, inputs: { uploader: \"uploader\" }, outputs: { fileOver: \"fileOver\", onFileDrop: \"onFileDrop\" } });\n/** @nocollapse */\nFileDropDirective.ctorParameters = () => [\n { type: ElementRef }\n];\nFileDropDirective.propDecorators = {\n uploader: [{ type: Input }],\n fileOver: [{ type: Output }],\n onFileDrop: [{ type: Output }],\n onDrop: [{ type: HostListener, args: ['drop', ['$event'],] }],\n onDragOver: [{ type: HostListener, args: ['dragover', ['$event'],] }],\n onDragLeave: [{ type: HostListener, args: ['dragleave', ['$event'],] }]\n};\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(FileDropDirective, [{\n type: Directive,\n args: [{ selector: '[ng2FileDrop]' }]\n }], function () { return [{ type: ɵngcc0.ElementRef }]; }, { fileOver: [{\n type: Output\n }], onFileDrop: [{\n type: Output\n }], \n /**\n * @param {?} event\n * @return {?}\n */\n onDrop: [{\n type: HostListener,\n args: ['drop', ['$event']]\n }], \n /**\n * @param {?} event\n * @return {?}\n */\n onDragOver: [{\n type: HostListener,\n args: ['dragover', ['$event']]\n }], \n /**\n * @param {?} event\n * @return {?}\n */\n onDragLeave: [{\n type: HostListener,\n args: ['dragleave', ['$event']]\n }], uploader: [{\n type: Input\n }] }); })();\nif (false) {\n /** @type {?} */\n FileDropDirective.prototype.uploader;\n /** @type {?} */\n FileDropDirective.prototype.fileOver;\n /** @type {?} */\n FileDropDirective.prototype.onFileDrop;\n /**\n * @type {?}\n * @protected\n */\n FileDropDirective.prototype.element;\n}\n\n/**\n * @fileoverview added by tsickle\n * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc\n */\nclass FileUploadModule {\n}\nFileUploadModule.ɵfac = function FileUploadModule_Factory(t) { return new (t || FileUploadModule)(); };\nFileUploadModule.ɵmod = /*@__PURE__*/ ɵngcc0.ɵɵdefineNgModule({ type: FileUploadModule });\nFileUploadModule.ɵinj = /*@__PURE__*/ ɵngcc0.ɵɵdefineInjector({ imports: [[CommonModule]] });\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(FileUploadModule, [{\n type: NgModule,\n args: [{\n imports: [CommonModule],\n declarations: [FileDropDirective, FileSelectDirective],\n exports: [FileDropDirective, FileSelectDirective]\n }]\n }], null, null); })();\n(function () { (typeof ngJitMode === \"undefined\" || ngJitMode) && ɵngcc0.ɵɵsetNgModuleScope(FileUploadModule, { declarations: function () { return [FileDropDirective, FileSelectDirective]; }, imports: function () { return [CommonModule]; }, exports: function () { return [FileDropDirective, FileSelectDirective]; } }); })();\n\n/**\n * @fileoverview added by tsickle\n * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc\n */\n\n/**\n * @fileoverview added by tsickle\n * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc\n */\n\nexport { FileDropDirective, FileItem, FileLikeObject, FileSelectDirective, FileUploadModule, FileUploader };\n\n","import { ChangeDetectionStrategy, ChangeDetectorRef, Component, Directive, EventEmitter, Input, NgModule, Output, Pipe, ViewEncapsulation } from '@angular/core';\nimport { CommonModule } from '@angular/common';\n\nimport * as ɵngcc0 from '@angular/core';\nimport * as ɵngcc1 from '@angular/common';\n\nfunction PaginationControlsComponent_ul_2_li_1_a_1_Template(rf, ctx) { if (rf & 1) {\n var _r8 = ɵngcc0.ɵɵgetCurrentView();\n ɵngcc0.ɵɵelementStart(0, \"a\", 11);\n ɵngcc0.ɵɵlistener(\"keyup.enter\", function PaginationControlsComponent_ul_2_li_1_a_1_Template_a_keyup_enter_0_listener() { ɵngcc0.ɵɵrestoreView(_r8); ɵngcc0.ɵɵnextContext(3); var _r0 = ɵngcc0.ɵɵreference(1); return _r0.previous(); })(\"click\", function PaginationControlsComponent_ul_2_li_1_a_1_Template_a_click_0_listener() { ɵngcc0.ɵɵrestoreView(_r8); ɵngcc0.ɵɵnextContext(3); var _r0 = ɵngcc0.ɵɵreference(1); return _r0.previous(); });\n ɵngcc0.ɵɵtext(1);\n ɵngcc0.ɵɵelementStart(2, \"span\", 12);\n ɵngcc0.ɵɵtext(3);\n ɵngcc0.ɵɵelementEnd()();\n} if (rf & 2) {\n var ctx_r5 = ɵngcc0.ɵɵnextContext(3);\n ɵngcc0.ɵɵattribute(\"aria-label\", ctx_r5.previousLabel + \" \" + ctx_r5.screenReaderPageLabel);\n ɵngcc0.ɵɵadvance(1);\n ɵngcc0.ɵɵtextInterpolate1(\" \", ctx_r5.previousLabel, \" \");\n ɵngcc0.ɵɵadvance(2);\n ɵngcc0.ɵɵtextInterpolate(ctx_r5.screenReaderPageLabel);\n} }\nfunction PaginationControlsComponent_ul_2_li_1_span_2_Template(rf, ctx) { if (rf & 1) {\n ɵngcc0.ɵɵelementStart(0, \"span\");\n ɵngcc0.ɵɵtext(1);\n ɵngcc0.ɵɵelementStart(2, \"span\", 12);\n ɵngcc0.ɵɵtext(3);\n ɵngcc0.ɵɵelementEnd()();\n} if (rf & 2) {\n var ctx_r6 = ɵngcc0.ɵɵnextContext(3);\n ɵngcc0.ɵɵadvance(1);\n ɵngcc0.ɵɵtextInterpolate1(\" \", ctx_r6.previousLabel, \" \");\n ɵngcc0.ɵɵadvance(2);\n ɵngcc0.ɵɵtextInterpolate(ctx_r6.screenReaderPageLabel);\n} }\nfunction PaginationControlsComponent_ul_2_li_1_Template(rf, ctx) { if (rf & 1) {\n ɵngcc0.ɵɵelementStart(0, \"li\", 8);\n ɵngcc0.ɵɵtemplate(1, PaginationControlsComponent_ul_2_li_1_a_1_Template, 4, 3, \"a\", 9);\n ɵngcc0.ɵɵtemplate(2, PaginationControlsComponent_ul_2_li_1_span_2_Template, 4, 2, \"span\", 10);\n ɵngcc0.ɵɵelementEnd();\n} if (rf & 2) {\n ɵngcc0.ɵɵnextContext(2);\n var _r0 = ɵngcc0.ɵɵreference(1);\n ɵngcc0.ɵɵclassProp(\"disabled\", _r0.isFirstPage());\n ɵngcc0.ɵɵadvance(1);\n ɵngcc0.ɵɵproperty(\"ngIf\", 1 < _r0.getCurrent());\n ɵngcc0.ɵɵadvance(1);\n ɵngcc0.ɵɵproperty(\"ngIf\", _r0.isFirstPage());\n} }\nfunction PaginationControlsComponent_ul_2_li_4_a_1_Template(rf, ctx) { if (rf & 1) {\n var _r15 = ɵngcc0.ɵɵgetCurrentView();\n ɵngcc0.ɵɵelementStart(0, \"a\", 11);\n ɵngcc0.ɵɵlistener(\"keyup.enter\", function PaginationControlsComponent_ul_2_li_4_a_1_Template_a_keyup_enter_0_listener() { ɵngcc0.ɵɵrestoreView(_r15); var page_r10 = ɵngcc0.ɵɵnextContext().$implicit; ɵngcc0.ɵɵnextContext(2); var _r0 = ɵngcc0.ɵɵreference(1); return _r0.setCurrent(page_r10.value); })(\"click\", function PaginationControlsComponent_ul_2_li_4_a_1_Template_a_click_0_listener() { ɵngcc0.ɵɵrestoreView(_r15); var page_r10 = ɵngcc0.ɵɵnextContext().$implicit; ɵngcc0.ɵɵnextContext(2); var _r0 = ɵngcc0.ɵɵreference(1); return _r0.setCurrent(page_r10.value); });\n ɵngcc0.ɵɵelementStart(1, \"span\", 12);\n ɵngcc0.ɵɵtext(2);\n ɵngcc0.ɵɵelementEnd();\n ɵngcc0.ɵɵelementStart(3, \"span\");\n ɵngcc0.ɵɵtext(4);\n ɵngcc0.ɵɵpipe(5, \"number\");\n ɵngcc0.ɵɵelementEnd()();\n} if (rf & 2) {\n var page_r10 = ɵngcc0.ɵɵnextContext().$implicit;\n var ctx_r11 = ɵngcc0.ɵɵnextContext(2);\n ɵngcc0.ɵɵadvance(2);\n ɵngcc0.ɵɵtextInterpolate1(\"\", ctx_r11.screenReaderPageLabel, \" \");\n ɵngcc0.ɵɵadvance(2);\n ɵngcc0.ɵɵtextInterpolate(page_r10.label === \"...\" ? page_r10.label : ɵngcc0.ɵɵpipeBind2(5, 2, page_r10.label, \"\"));\n} }\nfunction PaginationControlsComponent_ul_2_li_4_ng_container_2_Template(rf, ctx) { if (rf & 1) {\n ɵngcc0.ɵɵelementContainerStart(0);\n ɵngcc0.ɵɵelementStart(1, \"span\", 12);\n ɵngcc0.ɵɵtext(2);\n ɵngcc0.ɵɵelementEnd();\n ɵngcc0.ɵɵelementStart(3, \"span\");\n ɵngcc0.ɵɵtext(4);\n ɵngcc0.ɵɵpipe(5, \"number\");\n ɵngcc0.ɵɵelementEnd();\n ɵngcc0.ɵɵelementContainerEnd();\n} if (rf & 2) {\n var page_r10 = ɵngcc0.ɵɵnextContext().$implicit;\n var ctx_r12 = ɵngcc0.ɵɵnextContext(2);\n ɵngcc0.ɵɵadvance(2);\n ɵngcc0.ɵɵtextInterpolate1(\"\", ctx_r12.screenReaderCurrentLabel, \" \");\n ɵngcc0.ɵɵadvance(2);\n ɵngcc0.ɵɵtextInterpolate(page_r10.label === \"...\" ? page_r10.label : ɵngcc0.ɵɵpipeBind2(5, 2, page_r10.label, \"\"));\n} }\nfunction PaginationControlsComponent_ul_2_li_4_Template(rf, ctx) { if (rf & 1) {\n ɵngcc0.ɵɵelementStart(0, \"li\");\n ɵngcc0.ɵɵtemplate(1, PaginationControlsComponent_ul_2_li_4_a_1_Template, 6, 5, \"a\", 9);\n ɵngcc0.ɵɵtemplate(2, PaginationControlsComponent_ul_2_li_4_ng_container_2_Template, 6, 5, \"ng-container\", 10);\n ɵngcc0.ɵɵelementEnd();\n} if (rf & 2) {\n var page_r10 = ctx.$implicit;\n ɵngcc0.ɵɵnextContext(2);\n var _r0 = ɵngcc0.ɵɵreference(1);\n ɵngcc0.ɵɵclassProp(\"current\", _r0.getCurrent() === page_r10.value)(\"ellipsis\", page_r10.label === \"...\");\n ɵngcc0.ɵɵadvance(1);\n ɵngcc0.ɵɵproperty(\"ngIf\", _r0.getCurrent() !== page_r10.value);\n ɵngcc0.ɵɵadvance(1);\n ɵngcc0.ɵɵproperty(\"ngIf\", _r0.getCurrent() === page_r10.value);\n} }\nfunction PaginationControlsComponent_ul_2_li_5_a_1_Template(rf, ctx) { if (rf & 1) {\n var _r23 = ɵngcc0.ɵɵgetCurrentView();\n ɵngcc0.ɵɵelementStart(0, \"a\", 11);\n ɵngcc0.ɵɵlistener(\"keyup.enter\", function PaginationControlsComponent_ul_2_li_5_a_1_Template_a_keyup_enter_0_listener() { ɵngcc0.ɵɵrestoreView(_r23); ɵngcc0.ɵɵnextContext(3); var _r0 = ɵngcc0.ɵɵreference(1); return _r0.next(); })(\"click\", function PaginationControlsComponent_ul_2_li_5_a_1_Template_a_click_0_listener() { ɵngcc0.ɵɵrestoreView(_r23); ɵngcc0.ɵɵnextContext(3); var _r0 = ɵngcc0.ɵɵreference(1); return _r0.next(); });\n ɵngcc0.ɵɵtext(1);\n ɵngcc0.ɵɵelementStart(2, \"span\", 12);\n ɵngcc0.ɵɵtext(3);\n ɵngcc0.ɵɵelementEnd()();\n} if (rf & 2) {\n var ctx_r20 = ɵngcc0.ɵɵnextContext(3);\n ɵngcc0.ɵɵattribute(\"aria-label\", ctx_r20.nextLabel + \" \" + ctx_r20.screenReaderPageLabel);\n ɵngcc0.ɵɵadvance(1);\n ɵngcc0.ɵɵtextInterpolate1(\" \", ctx_r20.nextLabel, \" \");\n ɵngcc0.ɵɵadvance(2);\n ɵngcc0.ɵɵtextInterpolate(ctx_r20.screenReaderPageLabel);\n} }\nfunction PaginationControlsComponent_ul_2_li_5_span_2_Template(rf, ctx) { if (rf & 1) {\n ɵngcc0.ɵɵelementStart(0, \"span\");\n ɵngcc0.ɵɵtext(1);\n ɵngcc0.ɵɵelementStart(2, \"span\", 12);\n ɵngcc0.ɵɵtext(3);\n ɵngcc0.ɵɵelementEnd()();\n} if (rf & 2) {\n var ctx_r21 = ɵngcc0.ɵɵnextContext(3);\n ɵngcc0.ɵɵadvance(1);\n ɵngcc0.ɵɵtextInterpolate1(\" \", ctx_r21.nextLabel, \" \");\n ɵngcc0.ɵɵadvance(2);\n ɵngcc0.ɵɵtextInterpolate(ctx_r21.screenReaderPageLabel);\n} }\nfunction PaginationControlsComponent_ul_2_li_5_Template(rf, ctx) { if (rf & 1) {\n ɵngcc0.ɵɵelementStart(0, \"li\", 13);\n ɵngcc0.ɵɵtemplate(1, PaginationControlsComponent_ul_2_li_5_a_1_Template, 4, 3, \"a\", 9);\n ɵngcc0.ɵɵtemplate(2, PaginationControlsComponent_ul_2_li_5_span_2_Template, 4, 2, \"span\", 10);\n ɵngcc0.ɵɵelementEnd();\n} if (rf & 2) {\n ɵngcc0.ɵɵnextContext(2);\n var _r0 = ɵngcc0.ɵɵreference(1);\n ɵngcc0.ɵɵclassProp(\"disabled\", _r0.isLastPage());\n ɵngcc0.ɵɵadvance(1);\n ɵngcc0.ɵɵproperty(\"ngIf\", !_r0.isLastPage());\n ɵngcc0.ɵɵadvance(1);\n ɵngcc0.ɵɵproperty(\"ngIf\", _r0.isLastPage());\n} }\nfunction PaginationControlsComponent_ul_2_Template(rf, ctx) { if (rf & 1) {\n ɵngcc0.ɵɵelementStart(0, \"ul\", 3);\n ɵngcc0.ɵɵtemplate(1, PaginationControlsComponent_ul_2_li_1_Template, 3, 4, \"li\", 4);\n ɵngcc0.ɵɵelementStart(2, \"li\", 5);\n ɵngcc0.ɵɵtext(3);\n ɵngcc0.ɵɵelementEnd();\n ɵngcc0.ɵɵtemplate(4, PaginationControlsComponent_ul_2_li_4_Template, 3, 6, \"li\", 6);\n ɵngcc0.ɵɵtemplate(5, PaginationControlsComponent_ul_2_li_5_Template, 3, 4, \"li\", 7);\n ɵngcc0.ɵɵelementEnd();\n} if (rf & 2) {\n var ctx_r1 = ɵngcc0.ɵɵnextContext();\n var _r0 = ɵngcc0.ɵɵreference(1);\n ɵngcc0.ɵɵclassProp(\"responsive\", ctx_r1.responsive);\n ɵngcc0.ɵɵattribute(\"aria-label\", ctx_r1.screenReaderPaginationLabel);\n ɵngcc0.ɵɵadvance(1);\n ɵngcc0.ɵɵproperty(\"ngIf\", ctx_r1.directionLinks);\n ɵngcc0.ɵɵadvance(2);\n ɵngcc0.ɵɵtextInterpolate2(\" \", _r0.getCurrent(), \" / \", _r0.getLastPage(), \" \");\n ɵngcc0.ɵɵadvance(1);\n ɵngcc0.ɵɵproperty(\"ngForOf\", _r0.pages)(\"ngForTrackBy\", ctx_r1.trackByIndex);\n ɵngcc0.ɵɵadvance(1);\n ɵngcc0.ɵɵproperty(\"ngIf\", ctx_r1.directionLinks);\n} }\nvar PaginationService = /** @class */ (function () {\r\n function PaginationService() {\r\n this.change = new EventEmitter();\r\n this.instances = {};\r\n this.DEFAULT_ID = 'DEFAULT_PAGINATION_ID';\r\n }\r\n PaginationService.prototype.defaultId = function () { return this.DEFAULT_ID; };\r\n /**\r\n * Register a PaginationInstance with this service. Returns a\r\n * boolean value signifying whether the instance is new or\r\n * updated (true = new or updated, false = unchanged).\r\n */\r\n PaginationService.prototype.register = function (instance) {\r\n if (instance.id == null) {\r\n instance.id = this.DEFAULT_ID;\r\n }\r\n if (!this.instances[instance.id]) {\r\n this.instances[instance.id] = instance;\r\n return true;\r\n }\r\n else {\r\n return this.updateInstance(instance);\r\n }\r\n };\r\n /**\r\n * Check each property of the instance and update any that have changed. Return\r\n * true if any changes were made, else return false.\r\n */\r\n PaginationService.prototype.updateInstance = function (instance) {\r\n var changed = false;\r\n for (var prop in this.instances[instance.id]) {\r\n if (instance[prop] !== this.instances[instance.id][prop]) {\r\n this.instances[instance.id][prop] = instance[prop];\r\n changed = true;\r\n }\r\n }\r\n return changed;\r\n };\r\n /**\r\n * Returns the current page number.\r\n */\r\n PaginationService.prototype.getCurrentPage = function (id) {\r\n if (this.instances[id]) {\r\n return this.instances[id].currentPage;\r\n }\r\n };\r\n /**\r\n * Sets the current page number.\r\n */\r\n PaginationService.prototype.setCurrentPage = function (id, page) {\r\n if (this.instances[id]) {\r\n var instance = this.instances[id];\r\n var maxPage = Math.ceil(instance.totalItems / instance.itemsPerPage);\r\n if (page <= maxPage && 1 <= page) {\r\n this.instances[id].currentPage = page;\r\n this.change.emit(id);\r\n }\r\n }\r\n };\r\n /**\r\n * Sets the value of instance.totalItems\r\n */\r\n PaginationService.prototype.setTotalItems = function (id, totalItems) {\r\n if (this.instances[id] && 0 <= totalItems) {\r\n this.instances[id].totalItems = totalItems;\r\n this.change.emit(id);\r\n }\r\n };\r\n /**\r\n * Sets the value of instance.itemsPerPage.\r\n */\r\n PaginationService.prototype.setItemsPerPage = function (id, itemsPerPage) {\r\n if (this.instances[id]) {\r\n this.instances[id].itemsPerPage = itemsPerPage;\r\n this.change.emit(id);\r\n }\r\n };\r\n /**\r\n * Returns a clone of the pagination instance object matching the id. If no\r\n * id specified, returns the instance corresponding to the default id.\r\n */\r\n PaginationService.prototype.getInstance = function (id) {\r\n if (id === void 0) { id = this.DEFAULT_ID; }\r\n if (this.instances[id]) {\r\n return this.clone(this.instances[id]);\r\n }\r\n return {};\r\n };\r\n /**\r\n * Perform a shallow clone of an object.\r\n */\r\n PaginationService.prototype.clone = function (obj) {\r\n var target = {};\r\n for (var i in obj) {\r\n if (obj.hasOwnProperty(i)) {\r\n target[i] = obj[i];\r\n }\r\n }\r\n return target;\r\n };\nPaginationService.ɵfac = function PaginationService_Factory(t) { return new (t || PaginationService)(); };\nPaginationService.ɵprov = /*@__PURE__*/ ɵngcc0.ɵɵdefineInjectable({ token: PaginationService, factory: function (t) { return PaginationService.ɵfac(t); } });\n\r\n return PaginationService;\r\n}());\n\nvar __decorate$1 = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n};\r\nvar __metadata = (undefined && undefined.__metadata) || function (k, v) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(k, v);\r\n};\r\nvar LARGE_NUMBER = Number.MAX_SAFE_INTEGER;\r\nvar PaginatePipe = /** @class */ (function () {\r\n function PaginatePipe(service) {\r\n this.service = service;\r\n // store the values from the last time the pipe was invoked\r\n this.state = {};\r\n }\r\n PaginatePipe.prototype.transform = function (collection, args) {\r\n // When an observable is passed through the AsyncPipe, it will output\r\n // `null` until the subscription resolves. In this case, we want to\r\n // use the cached data from the `state` object to prevent the NgFor\r\n // from flashing empty until the real values arrive.\r\n if (!(collection instanceof Array)) {\r\n var _id = args.id || this.service.defaultId();\r\n if (this.state[_id]) {\r\n return this.state[_id].slice;\r\n }\r\n else {\r\n return collection;\r\n }\r\n }\r\n var serverSideMode = args.totalItems && args.totalItems !== collection.length;\r\n var instance = this.createInstance(collection, args);\r\n var id = instance.id;\r\n var start, end;\r\n var perPage = instance.itemsPerPage;\r\n var emitChange = this.service.register(instance);\r\n if (!serverSideMode && collection instanceof Array) {\r\n perPage = +perPage || LARGE_NUMBER;\r\n start = (instance.currentPage - 1) * perPage;\r\n end = start + perPage;\r\n var isIdentical = this.stateIsIdentical(id, collection, start, end);\r\n if (isIdentical) {\r\n return this.state[id].slice;\r\n }\r\n else {\r\n var slice = collection.slice(start, end);\r\n this.saveState(id, collection, slice, start, end);\r\n this.service.change.emit(id);\r\n return slice;\r\n }\r\n }\r\n else {\r\n if (emitChange) {\r\n this.service.change.emit(id);\r\n }\r\n // save the state for server-side collection to avoid null\r\n // flash as new data loads.\r\n this.saveState(id, collection, collection, start, end);\r\n return collection;\r\n }\r\n };\r\n /**\r\n * Create an PaginationInstance object, using defaults for any optional properties not supplied.\r\n */\r\n PaginatePipe.prototype.createInstance = function (collection, config) {\r\n this.checkConfig(config);\r\n return {\r\n id: config.id != null ? config.id : this.service.defaultId(),\r\n itemsPerPage: +config.itemsPerPage || 0,\r\n currentPage: +config.currentPage || 1,\r\n totalItems: +config.totalItems || collection.length\r\n };\r\n };\r\n /**\r\n * Ensure the argument passed to the filter contains the required properties.\r\n */\r\n PaginatePipe.prototype.checkConfig = function (config) {\r\n var required = ['itemsPerPage', 'currentPage'];\r\n var missing = required.filter(function (prop) { return !(prop in config); });\r\n if (0 < missing.length) {\r\n throw new Error(\"PaginatePipe: Argument is missing the following required properties: \" + missing.join(', '));\r\n }\r\n };\r\n /**\r\n * To avoid returning a brand new array each time the pipe is run, we store the state of the sliced\r\n * array for a given id. This means that the next time the pipe is run on this collection & id, we just\r\n * need to check that the collection, start and end points are all identical, and if so, return the\r\n * last sliced array.\r\n */\r\n PaginatePipe.prototype.saveState = function (id, collection, slice, start, end) {\r\n this.state[id] = {\r\n collection: collection,\r\n size: collection.length,\r\n slice: slice,\r\n start: start,\r\n end: end\r\n };\r\n };\r\n /**\r\n * For a given id, returns true if the collection, size, start and end values are identical.\r\n */\r\n PaginatePipe.prototype.stateIsIdentical = function (id, collection, start, end) {\r\n var state = this.state[id];\r\n if (!state) {\r\n return false;\r\n }\r\n var isMetaDataIdentical = state.size === collection.length &&\r\n state.start === start &&\r\n state.end === end;\r\n if (!isMetaDataIdentical) {\r\n return false;\r\n }\r\n return state.slice.every(function (element, index) { return element === collection[start + index]; });\r\n };\r\n PaginatePipe = __decorate$1([ __metadata(\"design:paramtypes\", [PaginationService])\r\n ], PaginatePipe);\nPaginatePipe.ɵfac = function PaginatePipe_Factory(t) { return new (t || PaginatePipe)(ɵngcc0.ɵɵdirectiveInject(PaginationService, 16)); };\nPaginatePipe.ɵpipe = /*@__PURE__*/ ɵngcc0.ɵɵdefinePipe({ name: \"paginate\", type: PaginatePipe, pure: false });\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(PaginatePipe, [{\n type: Pipe,\n args: [{\n name: 'paginate',\n pure: false\n }]\n }], function () { return [{ type: PaginationService }]; }, null); })();\r\n return PaginatePipe;\r\n}());\n\n/**\r\n * The default template and styles for the pagination links are borrowed directly\r\n * from Zurb Foundation 6: http://foundation.zurb.com/sites/docs/pagination.html\r\n */\r\nvar DEFAULT_TEMPLATE = \"\\n \\n \\n \\n \";\r\nvar DEFAULT_STYLES = \"\\n.ngx-pagination {\\n margin-left: 0;\\n margin-bottom: 1rem; }\\n .ngx-pagination::before, .ngx-pagination::after {\\n content: ' ';\\n display: table; }\\n .ngx-pagination::after {\\n clear: both; }\\n .ngx-pagination li {\\n -moz-user-select: none;\\n -webkit-user-select: none;\\n -ms-user-select: none;\\n margin-right: 0.0625rem;\\n border-radius: 0; }\\n .ngx-pagination li {\\n display: inline-block; }\\n .ngx-pagination a,\\n .ngx-pagination button {\\n color: #0a0a0a; \\n display: block;\\n padding: 0.1875rem 0.625rem;\\n border-radius: 0; }\\n .ngx-pagination a:hover,\\n .ngx-pagination button:hover {\\n background: #e6e6e6; }\\n .ngx-pagination .current {\\n padding: 0.1875rem 0.625rem;\\n background: #2199e8;\\n color: #fefefe;\\n cursor: default; }\\n .ngx-pagination .disabled {\\n padding: 0.1875rem 0.625rem;\\n color: #cacaca;\\n cursor: default; } \\n .ngx-pagination .disabled:hover {\\n background: transparent; }\\n .ngx-pagination a, .ngx-pagination button {\\n cursor: pointer; }\\n\\n.ngx-pagination .pagination-previous a::before,\\n.ngx-pagination .pagination-previous.disabled::before { \\n content: '\\u00AB';\\n display: inline-block;\\n margin-right: 0.5rem; }\\n\\n.ngx-pagination .pagination-next a::after,\\n.ngx-pagination .pagination-next.disabled::after {\\n content: '\\u00BB';\\n display: inline-block;\\n margin-left: 0.5rem; }\\n\\n.ngx-pagination .show-for-sr {\\n position: absolute !important;\\n width: 1px;\\n height: 1px;\\n overflow: hidden;\\n clip: rect(0, 0, 0, 0); }\\n.ngx-pagination .small-screen {\\n display: none; }\\n@media screen and (max-width: 601px) {\\n .ngx-pagination.responsive .small-screen {\\n display: inline-block; } \\n .ngx-pagination.responsive li:not(.small-screen):not(.pagination-previous):not(.pagination-next) {\\n display: none; }\\n}\\n \";\n\nvar __decorate$2 = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n};\r\nvar __metadata$1 = (undefined && undefined.__metadata) || function (k, v) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(k, v);\r\n};\r\nfunction coerceToBoolean(input) {\r\n return !!input && input !== 'false';\r\n}\r\n/**\r\n * The default pagination controls component. Actually just a default implementation of a custom template.\r\n */\r\nvar PaginationControlsComponent = /** @class */ (function () {\r\n function PaginationControlsComponent() {\r\n this.maxSize = 7;\r\n this.previousLabel = 'Previous';\r\n this.nextLabel = 'Next';\r\n this.screenReaderPaginationLabel = 'Pagination';\r\n this.screenReaderPageLabel = 'page';\r\n this.screenReaderCurrentLabel = \"You're on page\";\r\n this.pageChange = new EventEmitter();\r\n this.pageBoundsCorrection = new EventEmitter();\r\n this._directionLinks = true;\r\n this._autoHide = false;\r\n this._responsive = false;\r\n }\r\n Object.defineProperty(PaginationControlsComponent.prototype, \"directionLinks\", {\r\n get: function () {\r\n return this._directionLinks;\r\n },\r\n set: function (value) {\r\n this._directionLinks = coerceToBoolean(value);\r\n },\r\n enumerable: true,\r\n configurable: true\r\n });\r\n Object.defineProperty(PaginationControlsComponent.prototype, \"autoHide\", {\r\n get: function () {\r\n return this._autoHide;\r\n },\r\n set: function (value) {\r\n this._autoHide = coerceToBoolean(value);\r\n },\r\n enumerable: true,\r\n configurable: true\r\n });\r\n Object.defineProperty(PaginationControlsComponent.prototype, \"responsive\", {\r\n get: function () {\r\n return this._responsive;\r\n },\r\n set: function (value) {\r\n this._responsive = coerceToBoolean(value);\r\n },\r\n enumerable: true,\r\n configurable: true\r\n });\r\n PaginationControlsComponent.prototype.trackByIndex = function (index) {\r\n return index;\r\n };\r\n __decorate$2([\r\n Input(),\r\n __metadata$1(\"design:type\", String)\r\n ], PaginationControlsComponent.prototype, \"id\", void 0);\r\n __decorate$2([\r\n Input(),\r\n __metadata$1(\"design:type\", Number)\r\n ], PaginationControlsComponent.prototype, \"maxSize\", void 0);\r\n __decorate$2([\r\n Input(),\r\n __metadata$1(\"design:type\", Boolean),\r\n __metadata$1(\"design:paramtypes\", [Boolean])\r\n ], PaginationControlsComponent.prototype, \"directionLinks\", null);\r\n __decorate$2([\r\n Input(),\r\n __metadata$1(\"design:type\", Boolean),\r\n __metadata$1(\"design:paramtypes\", [Boolean])\r\n ], PaginationControlsComponent.prototype, \"autoHide\", null);\r\n __decorate$2([\r\n Input(),\r\n __metadata$1(\"design:type\", Boolean),\r\n __metadata$1(\"design:paramtypes\", [Boolean])\r\n ], PaginationControlsComponent.prototype, \"responsive\", null);\r\n __decorate$2([\r\n Input(),\r\n __metadata$1(\"design:type\", String)\r\n ], PaginationControlsComponent.prototype, \"previousLabel\", void 0);\r\n __decorate$2([\r\n Input(),\r\n __metadata$1(\"design:type\", String)\r\n ], PaginationControlsComponent.prototype, \"nextLabel\", void 0);\r\n __decorate$2([\r\n Input(),\r\n __metadata$1(\"design:type\", String)\r\n ], PaginationControlsComponent.prototype, \"screenReaderPaginationLabel\", void 0);\r\n __decorate$2([\r\n Input(),\r\n __metadata$1(\"design:type\", String)\r\n ], PaginationControlsComponent.prototype, \"screenReaderPageLabel\", void 0);\r\n __decorate$2([\r\n Input(),\r\n __metadata$1(\"design:type\", String)\r\n ], PaginationControlsComponent.prototype, \"screenReaderCurrentLabel\", void 0);\r\n __decorate$2([\r\n Output(),\r\n __metadata$1(\"design:type\", EventEmitter)\r\n ], PaginationControlsComponent.prototype, \"pageChange\", void 0);\r\n __decorate$2([\r\n Output(),\r\n __metadata$1(\"design:type\", EventEmitter)\r\n ], PaginationControlsComponent.prototype, \"pageBoundsCorrection\", void 0);\nPaginationControlsComponent.ɵfac = function PaginationControlsComponent_Factory(t) { return new (t || PaginationControlsComponent)(); };\nPaginationControlsComponent.ɵcmp = /*@__PURE__*/ ɵngcc0.ɵɵdefineComponent({ type: PaginationControlsComponent, selectors: [[\"pagination-controls\"]], inputs: { maxSize: \"maxSize\", previousLabel: \"previousLabel\", nextLabel: \"nextLabel\", screenReaderPaginationLabel: \"screenReaderPaginationLabel\", screenReaderPageLabel: \"screenReaderPageLabel\", screenReaderCurrentLabel: \"screenReaderCurrentLabel\", directionLinks: \"directionLinks\", autoHide: \"autoHide\", responsive: \"responsive\", id: \"id\" }, outputs: { pageChange: \"pageChange\", pageBoundsCorrection: \"pageBoundsCorrection\" }, decls: 3, vars: 3, consts: [[3, \"id\", \"maxSize\", \"pageChange\", \"pageBoundsCorrection\"], [\"p\", \"paginationApi\"], [\"class\", \"ngx-pagination\", 3, \"responsive\", 4, \"ngIf\"], [1, \"ngx-pagination\"], [\"class\", \"pagination-previous\", 3, \"disabled\", 4, \"ngIf\"], [1, \"small-screen\"], [3, \"current\", \"ellipsis\", 4, \"ngFor\", \"ngForOf\", \"ngForTrackBy\"], [\"class\", \"pagination-next\", 3, \"disabled\", 4, \"ngIf\"], [1, \"pagination-previous\"], [\"tabindex\", \"0\", 3, \"keyup.enter\", \"click\", 4, \"ngIf\"], [4, \"ngIf\"], [\"tabindex\", \"0\", 3, \"keyup.enter\", \"click\"], [1, \"show-for-sr\"], [1, \"pagination-next\"]], template: function PaginationControlsComponent_Template(rf, ctx) { if (rf & 1) {\n ɵngcc0.ɵɵelementStart(0, \"pagination-template\", 0, 1);\n ɵngcc0.ɵɵlistener(\"pageChange\", function PaginationControlsComponent_Template_pagination_template_pageChange_0_listener($event) { return ctx.pageChange.emit($event); })(\"pageBoundsCorrection\", function PaginationControlsComponent_Template_pagination_template_pageBoundsCorrection_0_listener($event) { return ctx.pageBoundsCorrection.emit($event); });\n ɵngcc0.ɵɵtemplate(2, PaginationControlsComponent_ul_2_Template, 6, 9, \"ul\", 2);\n ɵngcc0.ɵɵelementEnd();\n } if (rf & 2) {\n var _r0 = ɵngcc0.ɵɵreference(1);\n ɵngcc0.ɵɵproperty(\"id\", ctx.id)(\"maxSize\", ctx.maxSize);\n ɵngcc0.ɵɵadvance(2);\n ɵngcc0.ɵɵproperty(\"ngIf\", !(ctx.autoHide && _r0.pages.length <= 1));\n } }, directives: function () { return [PaginationControlsDirective, ɵngcc1.NgIf, ɵngcc1.NgForOf]; }, pipes: function () { return [ɵngcc1.DecimalPipe]; }, styles: [\"\\n.ngx-pagination {\\n margin-left: 0;\\n margin-bottom: 1rem; }\\n .ngx-pagination::before, .ngx-pagination::after {\\n content: ' ';\\n display: table; }\\n .ngx-pagination::after {\\n clear: both; }\\n .ngx-pagination li {\\n -moz-user-select: none;\\n -webkit-user-select: none;\\n -ms-user-select: none;\\n margin-right: 0.0625rem;\\n border-radius: 0; }\\n .ngx-pagination li {\\n display: inline-block; }\\n .ngx-pagination a,\\n .ngx-pagination button {\\n color: #0a0a0a; \\n display: block;\\n padding: 0.1875rem 0.625rem;\\n border-radius: 0; }\\n .ngx-pagination a:hover,\\n .ngx-pagination button:hover {\\n background: #e6e6e6; }\\n .ngx-pagination .current {\\n padding: 0.1875rem 0.625rem;\\n background: #2199e8;\\n color: #fefefe;\\n cursor: default; }\\n .ngx-pagination .disabled {\\n padding: 0.1875rem 0.625rem;\\n color: #cacaca;\\n cursor: default; } \\n .ngx-pagination .disabled:hover {\\n background: transparent; }\\n .ngx-pagination a, .ngx-pagination button {\\n cursor: pointer; }\\n\\n.ngx-pagination .pagination-previous a::before,\\n.ngx-pagination .pagination-previous.disabled::before { \\n content: '\\u00AB';\\n display: inline-block;\\n margin-right: 0.5rem; }\\n\\n.ngx-pagination .pagination-next a::after,\\n.ngx-pagination .pagination-next.disabled::after {\\n content: '\\u00BB';\\n display: inline-block;\\n margin-left: 0.5rem; }\\n\\n.ngx-pagination .show-for-sr {\\n position: absolute !important;\\n width: 1px;\\n height: 1px;\\n overflow: hidden;\\n clip: rect(0, 0, 0, 0); }\\n.ngx-pagination .small-screen {\\n display: none; }\\n@media screen and (max-width: 601px) {\\n .ngx-pagination.responsive .small-screen {\\n display: inline-block; } \\n .ngx-pagination.responsive li:not(.small-screen):not(.pagination-previous):not(.pagination-next) {\\n display: none; }\\n}\\n \"], encapsulation: 2, changeDetection: 0 });\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(PaginationControlsComponent, [{\n type: Component,\n args: [{\n selector: 'pagination-controls',\n template: DEFAULT_TEMPLATE,\n styles: [DEFAULT_STYLES],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None\n }]\n }], function () { return []; }, { maxSize: [{\n type: Input\n }], previousLabel: [{\n type: Input\n }], nextLabel: [{\n type: Input\n }], screenReaderPaginationLabel: [{\n type: Input\n }], screenReaderPageLabel: [{\n type: Input\n }], screenReaderCurrentLabel: [{\n type: Input\n }], pageChange: [{\n type: Output\n }], pageBoundsCorrection: [{\n type: Output\n }], directionLinks: [{\n type: Input\n }], autoHide: [{\n type: Input\n }], responsive: [{\n type: Input\n }], id: [{\n type: Input\n }] }); })();\r\n return PaginationControlsComponent;\r\n}());\n\nvar __decorate$3 = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n};\r\nvar __metadata$2 = (undefined && undefined.__metadata) || function (k, v) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(k, v);\r\n};\r\n/**\r\n * This directive is what powers all pagination controls components, including the default one.\r\n * It exposes an API which is hooked up to the PaginationService to keep the PaginatePipe in sync\r\n * with the pagination controls.\r\n */\r\nvar PaginationControlsDirective = /** @class */ (function () {\r\n function PaginationControlsDirective(service, changeDetectorRef) {\r\n var _this = this;\r\n this.service = service;\r\n this.changeDetectorRef = changeDetectorRef;\r\n this.maxSize = 7;\r\n this.pageChange = new EventEmitter();\r\n this.pageBoundsCorrection = new EventEmitter();\r\n this.pages = [];\r\n this.changeSub = this.service.change\r\n .subscribe(function (id) {\r\n if (_this.id === id) {\r\n _this.updatePageLinks();\r\n _this.changeDetectorRef.markForCheck();\r\n _this.changeDetectorRef.detectChanges();\r\n }\r\n });\r\n }\r\n PaginationControlsDirective.prototype.ngOnInit = function () {\r\n if (this.id === undefined) {\r\n this.id = this.service.defaultId();\r\n }\r\n this.updatePageLinks();\r\n };\r\n PaginationControlsDirective.prototype.ngOnChanges = function (changes) {\r\n this.updatePageLinks();\r\n };\r\n PaginationControlsDirective.prototype.ngOnDestroy = function () {\r\n this.changeSub.unsubscribe();\r\n };\r\n /**\r\n * Go to the previous page\r\n */\r\n PaginationControlsDirective.prototype.previous = function () {\r\n this.checkValidId();\r\n this.setCurrent(this.getCurrent() - 1);\r\n };\r\n /**\r\n * Go to the next page\r\n */\r\n PaginationControlsDirective.prototype.next = function () {\r\n this.checkValidId();\r\n this.setCurrent(this.getCurrent() + 1);\r\n };\r\n /**\r\n * Returns true if current page is first page\r\n */\r\n PaginationControlsDirective.prototype.isFirstPage = function () {\r\n return this.getCurrent() === 1;\r\n };\r\n /**\r\n * Returns true if current page is last page\r\n */\r\n PaginationControlsDirective.prototype.isLastPage = function () {\r\n return this.getLastPage() === this.getCurrent();\r\n };\r\n /**\r\n * Set the current page number.\r\n */\r\n PaginationControlsDirective.prototype.setCurrent = function (page) {\r\n this.pageChange.emit(page);\r\n };\r\n /**\r\n * Get the current page number.\r\n */\r\n PaginationControlsDirective.prototype.getCurrent = function () {\r\n return this.service.getCurrentPage(this.id);\r\n };\r\n /**\r\n * Returns the last page number\r\n */\r\n PaginationControlsDirective.prototype.getLastPage = function () {\r\n var inst = this.service.getInstance(this.id);\r\n if (inst.totalItems < 1) {\r\n // when there are 0 or fewer (an error case) items, there are no \"pages\" as such,\r\n // but it makes sense to consider a single, empty page as the last page.\r\n return 1;\r\n }\r\n return Math.ceil(inst.totalItems / inst.itemsPerPage);\r\n };\r\n PaginationControlsDirective.prototype.getTotalItems = function () {\r\n return this.service.getInstance(this.id).totalItems;\r\n };\r\n PaginationControlsDirective.prototype.checkValidId = function () {\r\n if (this.service.getInstance(this.id).id == null) {\r\n console.warn(\"PaginationControlsDirective: the specified id \\\"\" + this.id + \"\\\" does not match any registered PaginationInstance\");\r\n }\r\n };\r\n /**\r\n * Updates the page links and checks that the current page is valid. Should run whenever the\r\n * PaginationService.change stream emits a value matching the current ID, or when any of the\r\n * input values changes.\r\n */\r\n PaginationControlsDirective.prototype.updatePageLinks = function () {\r\n var _this = this;\r\n var inst = this.service.getInstance(this.id);\r\n var correctedCurrentPage = this.outOfBoundCorrection(inst);\r\n if (correctedCurrentPage !== inst.currentPage) {\r\n setTimeout(function () {\r\n _this.pageBoundsCorrection.emit(correctedCurrentPage);\r\n _this.pages = _this.createPageArray(inst.currentPage, inst.itemsPerPage, inst.totalItems, _this.maxSize);\r\n });\r\n }\r\n else {\r\n this.pages = this.createPageArray(inst.currentPage, inst.itemsPerPage, inst.totalItems, this.maxSize);\r\n }\r\n };\r\n /**\r\n * Checks that the instance.currentPage property is within bounds for the current page range.\r\n * If not, return a correct value for currentPage, or the current value if OK.\r\n */\r\n PaginationControlsDirective.prototype.outOfBoundCorrection = function (instance) {\r\n var totalPages = Math.ceil(instance.totalItems / instance.itemsPerPage);\r\n if (totalPages < instance.currentPage && 0 < totalPages) {\r\n return totalPages;\r\n }\r\n else if (instance.currentPage < 1) {\r\n return 1;\r\n }\r\n return instance.currentPage;\r\n };\r\n /**\r\n * Returns an array of Page objects to use in the pagination controls.\r\n */\r\n PaginationControlsDirective.prototype.createPageArray = function (currentPage, itemsPerPage, totalItems, paginationRange) {\r\n // paginationRange could be a string if passed from attribute, so cast to number.\r\n paginationRange = +paginationRange;\r\n var pages = [];\r\n // Return 1 as default page number\r\n // Make sense to show 1 instead of empty when there are no items\r\n var totalPages = Math.max(Math.ceil(totalItems / itemsPerPage), 1);\r\n var halfWay = Math.ceil(paginationRange / 2);\r\n var isStart = currentPage <= halfWay;\r\n var isEnd = totalPages - halfWay < currentPage;\r\n var isMiddle = !isStart && !isEnd;\r\n var ellipsesNeeded = paginationRange < totalPages;\r\n var i = 1;\r\n while (i <= totalPages && i <= paginationRange) {\r\n var label = void 0;\r\n var pageNumber = this.calculatePageNumber(i, currentPage, paginationRange, totalPages);\r\n var openingEllipsesNeeded = (i === 2 && (isMiddle || isEnd));\r\n var closingEllipsesNeeded = (i === paginationRange - 1 && (isMiddle || isStart));\r\n if (ellipsesNeeded && (openingEllipsesNeeded || closingEllipsesNeeded)) {\r\n label = '...';\r\n }\r\n else {\r\n label = pageNumber;\r\n }\r\n pages.push({\r\n label: label,\r\n value: pageNumber\r\n });\r\n i++;\r\n }\r\n return pages;\r\n };\r\n /**\r\n * Given the position in the sequence of pagination links [i],\r\n * figure out what page number corresponds to that position.\r\n */\r\n PaginationControlsDirective.prototype.calculatePageNumber = function (i, currentPage, paginationRange, totalPages) {\r\n var halfWay = Math.ceil(paginationRange / 2);\r\n if (i === paginationRange) {\r\n return totalPages;\r\n }\r\n else if (i === 1) {\r\n return i;\r\n }\r\n else if (paginationRange < totalPages) {\r\n if (totalPages - halfWay < currentPage) {\r\n return totalPages - paginationRange + i;\r\n }\r\n else if (halfWay < currentPage) {\r\n return currentPage - halfWay + i;\r\n }\r\n else {\r\n return i;\r\n }\r\n }\r\n else {\r\n return i;\r\n }\r\n };\r\n __decorate$3([\r\n Input(),\r\n __metadata$2(\"design:type\", String)\r\n ], PaginationControlsDirective.prototype, \"id\", void 0);\r\n __decorate$3([\r\n Input(),\r\n __metadata$2(\"design:type\", Number)\r\n ], PaginationControlsDirective.prototype, \"maxSize\", void 0);\r\n __decorate$3([\r\n Output(),\r\n __metadata$2(\"design:type\", EventEmitter)\r\n ], PaginationControlsDirective.prototype, \"pageChange\", void 0);\r\n __decorate$3([\r\n Output(),\r\n __metadata$2(\"design:type\", EventEmitter)\r\n ], PaginationControlsDirective.prototype, \"pageBoundsCorrection\", void 0);\r\n PaginationControlsDirective = __decorate$3([ __metadata$2(\"design:paramtypes\", [PaginationService,\r\n ChangeDetectorRef])\r\n ], PaginationControlsDirective);\nPaginationControlsDirective.ɵfac = function PaginationControlsDirective_Factory(t) { return new (t || PaginationControlsDirective)(ɵngcc0.ɵɵdirectiveInject(PaginationService), ɵngcc0.ɵɵdirectiveInject(ɵngcc0.ChangeDetectorRef)); };\nPaginationControlsDirective.ɵdir = /*@__PURE__*/ ɵngcc0.ɵɵdefineDirective({ type: PaginationControlsDirective, selectors: [[\"pagination-template\"], [\"\", \"pagination-template\", \"\"]], inputs: { maxSize: \"maxSize\", id: \"id\" }, outputs: { pageChange: \"pageChange\", pageBoundsCorrection: \"pageBoundsCorrection\" }, exportAs: [\"paginationApi\"], features: [ɵngcc0.ɵɵNgOnChangesFeature] });\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(PaginationControlsDirective, [{\n type: Directive,\n args: [{\n selector: 'pagination-template,[pagination-template]',\n exportAs: 'paginationApi'\n }]\n }], function () { return [{ type: PaginationService }, { type: ɵngcc0.ChangeDetectorRef }]; }, { maxSize: [{\n type: Input\n }], pageChange: [{\n type: Output\n }], pageBoundsCorrection: [{\n type: Output\n }], id: [{\n type: Input\n }] }); })();\r\n return PaginationControlsDirective;\r\n}());\n\nvar __decorate = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n};\r\nvar NgxPaginationModule = /** @class */ (function () {\r\n function NgxPaginationModule() {\r\n }\nNgxPaginationModule.ɵfac = function NgxPaginationModule_Factory(t) { return new (t || NgxPaginationModule)(); };\nNgxPaginationModule.ɵmod = /*@__PURE__*/ ɵngcc0.ɵɵdefineNgModule({ type: NgxPaginationModule });\nNgxPaginationModule.ɵinj = /*@__PURE__*/ ɵngcc0.ɵɵdefineInjector({ providers: [PaginationService], imports: [[CommonModule]] });\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(NgxPaginationModule, [{\n type: NgModule,\n args: [{\n imports: [CommonModule],\n declarations: [\n PaginatePipe,\n PaginationControlsComponent,\n PaginationControlsDirective\n ],\n providers: [PaginationService],\n exports: [PaginatePipe, PaginationControlsComponent, PaginationControlsDirective]\n }]\n }], function () { return []; }, null); })();\n(function () { (typeof ngJitMode === \"undefined\" || ngJitMode) && ɵngcc0.ɵɵsetNgModuleScope(NgxPaginationModule, { declarations: function () { return [PaginatePipe, PaginationControlsComponent, PaginationControlsDirective]; }, imports: function () { return [CommonModule]; }, exports: function () { return [PaginatePipe, PaginationControlsComponent, PaginationControlsDirective]; } }); })();\r\n return NgxPaginationModule;\r\n}());\n\n/**\r\n * Generated bundle index. Do not edit.\r\n */\n\nexport { DEFAULT_STYLES as ɵb, DEFAULT_TEMPLATE as ɵa, NgxPaginationModule, PaginationService, PaginationControlsComponent, PaginationControlsDirective, PaginatePipe };\n\n","!function(t){const e=t.en=t.en||{};e.dictionary=Object.assign(e.dictionary||{},{\"%0 of %1\":\"%0 of %1\",Accept:\"Accept\",\"Align cell text to the bottom\":\"Align cell text to the bottom\",\"Align cell text to the center\":\"Align cell text to the center\",\"Align cell text to the left\":\"Align cell text to the left\",\"Align cell text to the middle\":\"Align cell text to the middle\",\"Align cell text to the right\":\"Align cell text to the right\",\"Align cell text to the top\":\"Align cell text to the top\",\"Align center\":\"Align center\",\"Align left\":\"Align left\",\"Align right\":\"Align right\",\"Align table to the left\":\"Align table to the left\",\"Align table to the right\":\"Align table to the right\",Alignment:\"Alignment\",Aquamarine:\"Aquamarine\",Background:\"Background\",Big:\"Big\",Black:\"Black\",Blue:\"Blue\",Bold:\"Bold\",Border:\"Border\",\"Bulleted List\":\"Bulleted List\",\"Bulleted list styles toolbar\":\"Bulleted list styles toolbar\",Cancel:\"Cancel\",\"Cell properties\":\"Cell properties\",\"Center table\":\"Center table\",Circle:\"Circle\",Clear:\"Clear\",\"Click to edit block\":\"Click to edit block\",Code:\"Code\",Color:\"Color\",\"Color picker\":\"Color picker\",Column:\"Column\",Dashed:\"Dashed\",Decimal:\"Decimal\",\"Decimal with leading zero\":\"Decimal with leading zero\",\"Decrease indent\":\"Decrease indent\",Default:\"Default\",\"Delete column\":\"Delete column\",\"Delete row\":\"Delete row\",\"Dim grey\":\"Dim grey\",Dimensions:\"Dimensions\",Disc:\"Disc\",\"Document colors\":\"Document colors\",Dotted:\"Dotted\",Double:\"Double\",\"Drag to move\":\"Drag to move\",\"Dropdown toolbar\":\"Dropdown toolbar\",\"Edit block\":\"Edit block\",\"Editor block content toolbar\":\"Editor block content toolbar\",\"Editor contextual toolbar\":\"Editor contextual toolbar\",\"Editor editing area: %0\":\"Editor editing area: %0\",\"Editor toolbar\":\"Editor toolbar\",\"Enter table caption\":\"Enter table caption\",\"Font Background Color\":\"Font Background Color\",\"Font Color\":\"Font Color\",\"Font Family\":\"Font Family\",\"Font Size\":\"Font Size\",Green:\"Green\",Grey:\"Grey\",Groove:\"Groove\",\"Header column\":\"Header column\",\"Header row\":\"Header row\",Height:\"Height\",HEX:\"HEX\",\"Horizontal text alignment toolbar\":\"Horizontal text alignment toolbar\",Huge:\"Huge\",\"Increase indent\":\"Increase indent\",\"Insert column left\":\"Insert column left\",\"Insert column right\":\"Insert column right\",\"Insert paragraph after block\":\"Insert paragraph after block\",\"Insert paragraph before block\":\"Insert paragraph before block\",\"Insert row above\":\"Insert row above\",\"Insert row below\":\"Insert row below\",\"Insert table\":\"Insert table\",Inset:\"Inset\",Italic:\"Italic\",Justify:\"Justify\",\"Justify cell text\":\"Justify cell text\",\"Light blue\":\"Light blue\",\"Light green\":\"Light green\",\"Light grey\":\"Light grey\",\"List properties\":\"List properties\",\"Lower-latin\":\"Lower-latin\",\"Lower–roman\":\"Lower–roman\",\"Merge cell down\":\"Merge cell down\",\"Merge cell left\":\"Merge cell left\",\"Merge cell right\":\"Merge cell right\",\"Merge cell up\":\"Merge cell up\",\"Merge cells\":\"Merge cells\",Next:\"Next\",\"No results found\":\"No results found\",\"No searchable items\":\"No searchable items\",None:\"None\",\"Numbered List\":\"Numbered List\",\"Numbered list styles toolbar\":\"Numbered list styles toolbar\",Orange:\"Orange\",Outset:\"Outset\",Padding:\"Padding\",\"Press Enter to type after or press Shift + Enter to type before the widget\":\"Press Enter to type after or press Shift + Enter to type before the widget\",Previous:\"Previous\",Purple:\"Purple\",Red:\"Red\",Redo:\"Redo\",\"Remove color\":\"Remove color\",\"Restore default\":\"Restore default\",\"Reversed order\":\"Reversed order\",\"Rich Text Editor\":\"Rich Text Editor\",Ridge:\"Ridge\",Row:\"Row\",Save:\"Save\",\"Select all\":\"Select all\",\"Select column\":\"Select column\",\"Select row\":\"Select row\",\"Show more items\":\"Show more items\",Small:\"Small\",Solid:\"Solid\",\"Split cell horizontally\":\"Split cell horizontally\",\"Split cell vertically\":\"Split cell vertically\",Square:\"Square\",\"Start at\":\"Start at\",\"Start index must be greater than 0.\":\"Start index must be greater than 0.\",Strikethrough:\"Strikethrough\",Style:\"Style\",Subscript:\"Subscript\",Superscript:\"Superscript\",\"Table alignment toolbar\":\"Table alignment toolbar\",\"Table cell text alignment\":\"Table cell text alignment\",\"Table properties\":\"Table properties\",\"Table toolbar\":\"Table toolbar\",\"Text alignment\":\"Text alignment\",\"Text alignment toolbar\":\"Text alignment toolbar\",'The color is invalid. Try \"#FF0000\" or \"rgb(255,0,0)\" or \"red\".':'The color is invalid. Try \"#FF0000\" or \"rgb(255,0,0)\" or \"red\".','The value is invalid. Try \"10px\" or \"2em\" or simply \"2\".':'The value is invalid. Try \"10px\" or \"2em\" or simply \"2\".',Tiny:\"Tiny\",\"To-do List\":\"To-do List\",\"Toggle caption off\":\"Toggle caption off\",\"Toggle caption on\":\"Toggle caption on\",\"Toggle the circle list style\":\"Toggle the circle list style\",\"Toggle the decimal list style\":\"Toggle the decimal list style\",\"Toggle the decimal with leading zero list style\":\"Toggle the decimal with leading zero list style\",\"Toggle the disc list style\":\"Toggle the disc list style\",\"Toggle the lower–latin list style\":\"Toggle the lower–latin list style\",\"Toggle the lower–roman list style\":\"Toggle the lower–roman list style\",\"Toggle the square list style\":\"Toggle the square list style\",\"Toggle the upper–latin list style\":\"Toggle the upper–latin list style\",\"Toggle the upper–roman list style\":\"Toggle the upper–roman list style\",Turquoise:\"Turquoise\",Underline:\"Underline\",Undo:\"Undo\",\"Upper-latin\":\"Upper-latin\",\"Upper-roman\":\"Upper-roman\",\"Vertical text alignment toolbar\":\"Vertical text alignment toolbar\",White:\"White\",\"Widget toolbar\":\"Widget toolbar\",Width:\"Width\",Yellow:\"Yellow\"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={})),\n/*!\n * @license Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md.\n */\nfunction(t,e){\"object\"==typeof exports&&\"object\"==typeof module?module.exports=e():\"function\"==typeof define&&define.amd?define([],e):\"object\"==typeof exports?exports.ClassicEditor=e():t.ClassicEditor=e()}(globalThis,(()=>(()=>{var t={8168:(t,e,n)=>{const o=n(8874),i={};for(const t of Object.keys(o))i[o[t]]=t;const r={rgb:{channels:3,labels:\"rgb\"},hsl:{channels:3,labels:\"hsl\"},hsv:{channels:3,labels:\"hsv\"},hwb:{channels:3,labels:\"hwb\"},cmyk:{channels:4,labels:\"cmyk\"},xyz:{channels:3,labels:\"xyz\"},lab:{channels:3,labels:\"lab\"},lch:{channels:3,labels:\"lch\"},hex:{channels:1,labels:[\"hex\"]},keyword:{channels:1,labels:[\"keyword\"]},ansi16:{channels:1,labels:[\"ansi16\"]},ansi256:{channels:1,labels:[\"ansi256\"]},hcg:{channels:3,labels:[\"h\",\"c\",\"g\"]},apple:{channels:3,labels:[\"r16\",\"g16\",\"b16\"]},gray:{channels:1,labels:[\"gray\"]}};t.exports=r;for(const t of Object.keys(r)){if(!(\"channels\"in r[t]))throw new Error(\"missing channels property: \"+t);if(!(\"labels\"in r[t]))throw new Error(\"missing channel labels property: \"+t);if(r[t].labels.length!==r[t].channels)throw new Error(\"channel and label counts mismatch: \"+t);const{channels:e,labels:n}=r[t];delete r[t].channels,delete r[t].labels,Object.defineProperty(r[t],\"channels\",{value:e}),Object.defineProperty(r[t],\"labels\",{value:n})}r.rgb.hsl=function(t){const e=t[0]/255,n=t[1]/255,o=t[2]/255,i=Math.min(e,n,o),r=Math.max(e,n,o),s=r-i;let a,c;r===i?a=0:e===r?a=(n-o)/s:n===r?a=2+(o-e)/s:o===r&&(a=4+(e-n)/s),a=Math.min(60*a,360),a<0&&(a+=360);const l=(i+r)/2;return c=r===i?0:l<=.5?s/(r+i):s/(2-r-i),[a,100*c,100*l]},r.rgb.hsv=function(t){let e,n,o,i,r;const s=t[0]/255,a=t[1]/255,c=t[2]/255,l=Math.max(s,a,c),d=l-Math.min(s,a,c),h=function(t){return(l-t)/6/d+.5};return 0===d?(i=0,r=0):(r=d/l,e=h(s),n=h(a),o=h(c),s===l?i=o-n:a===l?i=1/3+e-o:c===l&&(i=2/3+n-e),i<0?i+=1:i>1&&(i-=1)),[360*i,100*r,100*l]},r.rgb.hwb=function(t){const e=t[0],n=t[1];let o=t[2];const i=r.rgb.hsl(t)[0],s=1/255*Math.min(e,Math.min(n,o));return o=1-1/255*Math.max(e,Math.max(n,o)),[i,100*s,100*o]},r.rgb.cmyk=function(t){const e=t[0]/255,n=t[1]/255,o=t[2]/255,i=Math.min(1-e,1-n,1-o);return[100*((1-e-i)/(1-i)||0),100*((1-n-i)/(1-i)||0),100*((1-o-i)/(1-i)||0),100*i]},r.rgb.keyword=function(t){const e=i[t];if(e)return e;let n,r=1/0;for(const e of Object.keys(o)){const i=o[e],c=(a=i,((s=t)[0]-a[0])**2+(s[1]-a[1])**2+(s[2]-a[2])**2);c.04045?((e+.055)/1.055)**2.4:e/12.92,n=n>.04045?((n+.055)/1.055)**2.4:n/12.92,o=o>.04045?((o+.055)/1.055)**2.4:o/12.92;return[100*(.4124*e+.3576*n+.1805*o),100*(.2126*e+.7152*n+.0722*o),100*(.0193*e+.1192*n+.9505*o)]},r.rgb.lab=function(t){const e=r.rgb.xyz(t);let n=e[0],o=e[1],i=e[2];n/=95.047,o/=100,i/=108.883,n=n>.008856?n**(1/3):7.787*n+16/116,o=o>.008856?o**(1/3):7.787*o+16/116,i=i>.008856?i**(1/3):7.787*i+16/116;return[116*o-16,500*(n-o),200*(o-i)]},r.hsl.rgb=function(t){const e=t[0]/360,n=t[1]/100,o=t[2]/100;let i,r,s;if(0===n)return s=255*o,[s,s,s];i=o<.5?o*(1+n):o+n-o*n;const a=2*o-i,c=[0,0,0];for(let t=0;t<3;t++)r=e+1/3*-(t-1),r<0&&r++,r>1&&r--,s=6*r<1?a+6*(i-a)*r:2*r<1?i:3*r<2?a+(i-a)*(2/3-r)*6:a,c[t]=255*s;return c},r.hsl.hsv=function(t){const e=t[0];let n=t[1]/100,o=t[2]/100,i=n;const r=Math.max(o,.01);o*=2,n*=o<=1?o:2-o,i*=r<=1?r:2-r;return[e,100*(0===o?2*i/(r+i):2*n/(o+n)),100*((o+n)/2)]},r.hsv.rgb=function(t){const e=t[0]/60,n=t[1]/100;let o=t[2]/100;const i=Math.floor(e)%6,r=e-Math.floor(e),s=255*o*(1-n),a=255*o*(1-n*r),c=255*o*(1-n*(1-r));switch(o*=255,i){case 0:return[o,c,s];case 1:return[a,o,s];case 2:return[s,o,c];case 3:return[s,a,o];case 4:return[c,s,o];case 5:return[o,s,a]}},r.hsv.hsl=function(t){const e=t[0],n=t[1]/100,o=t[2]/100,i=Math.max(o,.01);let r,s;s=(2-n)*o;const a=(2-n)*i;return r=n*i,r/=a<=1?a:2-a,r=r||0,s/=2,[e,100*r,100*s]},r.hwb.rgb=function(t){const e=t[0]/360;let n=t[1]/100,o=t[2]/100;const i=n+o;let r;i>1&&(n/=i,o/=i);const s=Math.floor(6*e),a=1-o;r=6*e-s,0!=(1&s)&&(r=1-r);const c=n+r*(a-n);let l,d,h;switch(s){default:case 6:case 0:l=a,d=c,h=n;break;case 1:l=c,d=a,h=n;break;case 2:l=n,d=a,h=c;break;case 3:l=n,d=c,h=a;break;case 4:l=c,d=n,h=a;break;case 5:l=a,d=n,h=c}return[255*l,255*d,255*h]},r.cmyk.rgb=function(t){const e=t[0]/100,n=t[1]/100,o=t[2]/100,i=t[3]/100;return[255*(1-Math.min(1,e*(1-i)+i)),255*(1-Math.min(1,n*(1-i)+i)),255*(1-Math.min(1,o*(1-i)+i))]},r.xyz.rgb=function(t){const e=t[0]/100,n=t[1]/100,o=t[2]/100;let i,r,s;return i=3.2406*e+-1.5372*n+-.4986*o,r=-.9689*e+1.8758*n+.0415*o,s=.0557*e+-.204*n+1.057*o,i=i>.0031308?1.055*i**(1/2.4)-.055:12.92*i,r=r>.0031308?1.055*r**(1/2.4)-.055:12.92*r,s=s>.0031308?1.055*s**(1/2.4)-.055:12.92*s,i=Math.min(Math.max(0,i),1),r=Math.min(Math.max(0,r),1),s=Math.min(Math.max(0,s),1),[255*i,255*r,255*s]},r.xyz.lab=function(t){let e=t[0],n=t[1],o=t[2];e/=95.047,n/=100,o/=108.883,e=e>.008856?e**(1/3):7.787*e+16/116,n=n>.008856?n**(1/3):7.787*n+16/116,o=o>.008856?o**(1/3):7.787*o+16/116;return[116*n-16,500*(e-n),200*(n-o)]},r.lab.xyz=function(t){let e,n,o;n=(t[0]+16)/116,e=t[1]/500+n,o=n-t[2]/200;const i=n**3,r=e**3,s=o**3;return n=i>.008856?i:(n-16/116)/7.787,e=r>.008856?r:(e-16/116)/7.787,o=s>.008856?s:(o-16/116)/7.787,e*=95.047,n*=100,o*=108.883,[e,n,o]},r.lab.lch=function(t){const e=t[0],n=t[1],o=t[2];let i;i=360*Math.atan2(o,n)/2/Math.PI,i<0&&(i+=360);return[e,Math.sqrt(n*n+o*o),i]},r.lch.lab=function(t){const e=t[0],n=t[1],o=t[2]/360*2*Math.PI;return[e,n*Math.cos(o),n*Math.sin(o)]},r.rgb.ansi16=function(t,e=null){const[n,o,i]=t;let s=null===e?r.rgb.hsv(t)[2]:e;if(s=Math.round(s/50),0===s)return 30;let a=30+(Math.round(i/255)<<2|Math.round(o/255)<<1|Math.round(n/255));return 2===s&&(a+=60),a},r.hsv.ansi16=function(t){return r.rgb.ansi16(r.hsv.rgb(t),t[2])},r.rgb.ansi256=function(t){const e=t[0],n=t[1],o=t[2];if(e===n&&n===o)return e<8?16:e>248?231:Math.round((e-8)/247*24)+232;return 16+36*Math.round(e/255*5)+6*Math.round(n/255*5)+Math.round(o/255*5)},r.ansi16.rgb=function(t){let e=t%10;if(0===e||7===e)return t>50&&(e+=3.5),e=e/10.5*255,[e,e,e];const n=.5*(1+~~(t>50));return[(1&e)*n*255,(e>>1&1)*n*255,(e>>2&1)*n*255]},r.ansi256.rgb=function(t){if(t>=232){const e=10*(t-232)+8;return[e,e,e]}let e;t-=16;return[Math.floor(t/36)/5*255,Math.floor((e=t%36)/6)/5*255,e%6/5*255]},r.rgb.hex=function(t){const e=(((255&Math.round(t[0]))<<16)+((255&Math.round(t[1]))<<8)+(255&Math.round(t[2]))).toString(16).toUpperCase();return\"000000\".substring(e.length)+e},r.hex.rgb=function(t){const e=t.toString(16).match(/[a-f0-9]{6}|[a-f0-9]{3}/i);if(!e)return[0,0,0];let n=e[0];3===e[0].length&&(n=n.split(\"\").map((t=>t+t)).join(\"\"));const o=parseInt(n,16);return[o>>16&255,o>>8&255,255&o]},r.rgb.hcg=function(t){const e=t[0]/255,n=t[1]/255,o=t[2]/255,i=Math.max(Math.max(e,n),o),r=Math.min(Math.min(e,n),o),s=i-r;let a,c;return a=s<1?r/(1-s):0,c=s<=0?0:i===e?(n-o)/s%6:i===n?2+(o-e)/s:4+(e-n)/s,c/=6,c%=1,[360*c,100*s,100*a]},r.hsl.hcg=function(t){const e=t[1]/100,n=t[2]/100,o=n<.5?2*e*n:2*e*(1-n);let i=0;return o<1&&(i=(n-.5*o)/(1-o)),[t[0],100*o,100*i]},r.hsv.hcg=function(t){const e=t[1]/100,n=t[2]/100,o=e*n;let i=0;return o<1&&(i=(n-o)/(1-o)),[t[0],100*o,100*i]},r.hcg.rgb=function(t){const e=t[0]/360,n=t[1]/100,o=t[2]/100;if(0===n)return[255*o,255*o,255*o];const i=[0,0,0],r=e%1*6,s=r%1,a=1-s;let c=0;switch(Math.floor(r)){case 0:i[0]=1,i[1]=s,i[2]=0;break;case 1:i[0]=a,i[1]=1,i[2]=0;break;case 2:i[0]=0,i[1]=1,i[2]=s;break;case 3:i[0]=0,i[1]=a,i[2]=1;break;case 4:i[0]=s,i[1]=0,i[2]=1;break;default:i[0]=1,i[1]=0,i[2]=a}return c=(1-n)*o,[255*(n*i[0]+c),255*(n*i[1]+c),255*(n*i[2]+c)]},r.hcg.hsv=function(t){const e=t[1]/100,n=e+t[2]/100*(1-e);let o=0;return n>0&&(o=e/n),[t[0],100*o,100*n]},r.hcg.hsl=function(t){const e=t[1]/100,n=t[2]/100*(1-e)+.5*e;let o=0;return n>0&&n<.5?o=e/(2*n):n>=.5&&n<1&&(o=e/(2*(1-n))),[t[0],100*o,100*n]},r.hcg.hwb=function(t){const e=t[1]/100,n=e+t[2]/100*(1-e);return[t[0],100*(n-e),100*(1-n)]},r.hwb.hcg=function(t){const e=t[1]/100,n=1-t[2]/100,o=n-e;let i=0;return o<1&&(i=(n-o)/(1-o)),[t[0],100*o,100*i]},r.apple.rgb=function(t){return[t[0]/65535*255,t[1]/65535*255,t[2]/65535*255]},r.rgb.apple=function(t){return[t[0]/255*65535,t[1]/255*65535,t[2]/255*65535]},r.gray.rgb=function(t){return[t[0]/100*255,t[0]/100*255,t[0]/100*255]},r.gray.hsl=function(t){return[0,0,t[0]]},r.gray.hsv=r.gray.hsl,r.gray.hwb=function(t){return[0,100,t[0]]},r.gray.cmyk=function(t){return[0,0,0,t[0]]},r.gray.lab=function(t){return[t[0],0,0]},r.gray.hex=function(t){const e=255&Math.round(t[0]/100*255),n=((e<<16)+(e<<8)+e).toString(16).toUpperCase();return\"000000\".substring(n.length)+n},r.rgb.gray=function(t){return[(t[0]+t[1]+t[2])/3/255*100]}},2085:(t,e,n)=>{const o=n(8168),i=n(4111),r={};Object.keys(o).forEach((t=>{r[t]={},Object.defineProperty(r[t],\"channels\",{value:o[t].channels}),Object.defineProperty(r[t],\"labels\",{value:o[t].labels});const e=i(t);Object.keys(e).forEach((n=>{const o=e[n];r[t][n]=function(t){const e=function(...e){const n=e[0];if(null==n)return n;n.length>1&&(e=n);const o=t(e);if(\"object\"==typeof o)for(let t=o.length,e=0;e1&&(e=n),t(e))};return\"conversion\"in t&&(e.conversion=t.conversion),e}(o)}))})),t.exports=r},4111:(t,e,n)=>{const o=n(8168);function i(t){const e=function(){const t={},e=Object.keys(o);for(let n=e.length,o=0;o{\"use strict\";t.exports={aliceblue:[240,248,255],antiquewhite:[250,235,215],aqua:[0,255,255],aquamarine:[127,255,212],azure:[240,255,255],beige:[245,245,220],bisque:[255,228,196],black:[0,0,0],blanchedalmond:[255,235,205],blue:[0,0,255],blueviolet:[138,43,226],brown:[165,42,42],burlywood:[222,184,135],cadetblue:[95,158,160],chartreuse:[127,255,0],chocolate:[210,105,30],coral:[255,127,80],cornflowerblue:[100,149,237],cornsilk:[255,248,220],crimson:[220,20,60],cyan:[0,255,255],darkblue:[0,0,139],darkcyan:[0,139,139],darkgoldenrod:[184,134,11],darkgray:[169,169,169],darkgreen:[0,100,0],darkgrey:[169,169,169],darkkhaki:[189,183,107],darkmagenta:[139,0,139],darkolivegreen:[85,107,47],darkorange:[255,140,0],darkorchid:[153,50,204],darkred:[139,0,0],darksalmon:[233,150,122],darkseagreen:[143,188,143],darkslateblue:[72,61,139],darkslategray:[47,79,79],darkslategrey:[47,79,79],darkturquoise:[0,206,209],darkviolet:[148,0,211],deeppink:[255,20,147],deepskyblue:[0,191,255],dimgray:[105,105,105],dimgrey:[105,105,105],dodgerblue:[30,144,255],firebrick:[178,34,34],floralwhite:[255,250,240],forestgreen:[34,139,34],fuchsia:[255,0,255],gainsboro:[220,220,220],ghostwhite:[248,248,255],gold:[255,215,0],goldenrod:[218,165,32],gray:[128,128,128],green:[0,128,0],greenyellow:[173,255,47],grey:[128,128,128],honeydew:[240,255,240],hotpink:[255,105,180],indianred:[205,92,92],indigo:[75,0,130],ivory:[255,255,240],khaki:[240,230,140],lavender:[230,230,250],lavenderblush:[255,240,245],lawngreen:[124,252,0],lemonchiffon:[255,250,205],lightblue:[173,216,230],lightcoral:[240,128,128],lightcyan:[224,255,255],lightgoldenrodyellow:[250,250,210],lightgray:[211,211,211],lightgreen:[144,238,144],lightgrey:[211,211,211],lightpink:[255,182,193],lightsalmon:[255,160,122],lightseagreen:[32,178,170],lightskyblue:[135,206,250],lightslategray:[119,136,153],lightslategrey:[119,136,153],lightsteelblue:[176,196,222],lightyellow:[255,255,224],lime:[0,255,0],limegreen:[50,205,50],linen:[250,240,230],magenta:[255,0,255],maroon:[128,0,0],mediumaquamarine:[102,205,170],mediumblue:[0,0,205],mediumorchid:[186,85,211],mediumpurple:[147,112,219],mediumseagreen:[60,179,113],mediumslateblue:[123,104,238],mediumspringgreen:[0,250,154],mediumturquoise:[72,209,204],mediumvioletred:[199,21,133],midnightblue:[25,25,112],mintcream:[245,255,250],mistyrose:[255,228,225],moccasin:[255,228,181],navajowhite:[255,222,173],navy:[0,0,128],oldlace:[253,245,230],olive:[128,128,0],olivedrab:[107,142,35],orange:[255,165,0],orangered:[255,69,0],orchid:[218,112,214],palegoldenrod:[238,232,170],palegreen:[152,251,152],paleturquoise:[175,238,238],palevioletred:[219,112,147],papayawhip:[255,239,213],peachpuff:[255,218,185],peru:[205,133,63],pink:[255,192,203],plum:[221,160,221],powderblue:[176,224,230],purple:[128,0,128],rebeccapurple:[102,51,153],red:[255,0,0],rosybrown:[188,143,143],royalblue:[65,105,225],saddlebrown:[139,69,19],salmon:[250,128,114],sandybrown:[244,164,96],seagreen:[46,139,87],seashell:[255,245,238],sienna:[160,82,45],silver:[192,192,192],skyblue:[135,206,235],slateblue:[106,90,205],slategray:[112,128,144],slategrey:[112,128,144],snow:[255,250,250],springgreen:[0,255,127],steelblue:[70,130,180],tan:[210,180,140],teal:[0,128,128],thistle:[216,191,216],tomato:[255,99,71],turquoise:[64,224,208],violet:[238,130,238],wheat:[245,222,179],white:[255,255,255],whitesmoke:[245,245,245],yellow:[255,255,0],yellowgreen:[154,205,50]}},9789:(t,e,n)=>{\"use strict\";n.d(e,{Z:()=>a});var o=n(4015),i=n.n(o),r=n(3645),s=n.n(r)()(i());s.push([t.id,\"#fullscreenoverlay{overflow:hidden}#fullscreeneditor{bottom:0;left:0;position:fixed!important;right:0;top:0;z-index:1000}#fullscreeneditor .ck-editor__editable.ck-rounded-corners.ck-editor__editable_inline,#fullscreeneditor .ck.ck-editor__main{height:100%}\",\"\",{version:3,sources:[\"webpack://./custom-plugins/ckeditor5-fullscreen/css/style.css\"],names:[],mappings:\"AAAA,mBACC,eACD,CACA,kBAKC,QAAS,CAFT,MAAO,CAFJ,wBAA0B,CAG7B,OAAO,CAFP,KAAK,CAIL,YACD,CACA,2HACI,WACJ\",sourcesContent:[\"#fullscreenoverlay{\\r\\n\\toverflow: hidden;\\r\\n}\\r\\n#fullscreeneditor{\\r\\n position: fixed !important;\\r\\n\\ttop:0;\\r\\n\\tleft: 0;\\r\\n\\tright:0;\\r\\n\\tbottom: 0;\\r\\n\\tz-index:1000;\\r\\n}\\r\\n#fullscreeneditor .ck-editor__editable.ck-rounded-corners.ck-editor__editable_inline, #fullscreeneditor .ck.ck-editor__main {\\r\\n height: 100%;\\r\\n}\"],sourceRoot:\"\"}]);const a=s},5363:(t,e,n)=>{\"use strict\";n.d(e,{Z:()=>a});var o=n(4015),i=n.n(o),r=n(3645),s=n.n(r)()(i());s.push([t.id,\".ck-content code{background-color:#c7c7c74d;border-radius:2px;padding:.15em}.ck.ck-editor__editable .ck-code_selected{background-color:#c7c7c780}\",\"\",{version:3,sources:[\"webpack://./node_modules/@ckeditor/ckeditor5-basic-styles/theme/code.css\"],names:[],mappings:\"AAKA,iBACC,0BAAuC,CAEvC,iBAAkB,CADlB,aAED,CAEA,0CACC,0BACD\",sourcesContent:[\"/*\\n * Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\\n */\\n\\n.ck-content code {\\n\\tbackground-color: hsla(0, 0%, 78%, 0.3);\\n\\tpadding: .15em;\\n\\tborder-radius: 2px;\\n}\\n\\n.ck.ck-editor__editable .ck-code_selected {\\n\\tbackground-color: hsla(0, 0%, 78%, 0.5);\\n}\\n\"],sourceRoot:\"\"}]);const a=s},799:(t,e,n)=>{\"use strict\";n.d(e,{Z:()=>a});var o=n(4015),i=n.n(o),r=n(3645),s=n.n(r)()(i());s.push([t.id,'.ck.ck-editor__editable .ck.ck-clipboard-drop-target-position{display:inline;pointer-events:none;position:relative}.ck.ck-editor__editable .ck.ck-clipboard-drop-target-position span{position:absolute;width:0}.ck.ck-editor__editable .ck-widget:-webkit-drag>.ck-widget__selection-handle,.ck.ck-editor__editable .ck-widget:-webkit-drag>.ck-widget__type-around{display:none}.ck.ck-clipboard-drop-target-line{pointer-events:none;position:absolute}:root{--ck-clipboard-drop-target-dot-width:12px;--ck-clipboard-drop-target-dot-height:8px;--ck-clipboard-drop-target-color:var(--ck-color-focus-border)}.ck.ck-editor__editable .ck.ck-clipboard-drop-target-position span{background:var(--ck-clipboard-drop-target-color);border:1px solid var(--ck-clipboard-drop-target-color);bottom:calc(var(--ck-clipboard-drop-target-dot-height)*-.5);margin-left:-1px;top:calc(var(--ck-clipboard-drop-target-dot-height)*-.5)}.ck.ck-editor__editable .ck.ck-clipboard-drop-target-position span:after{border-color:var(--ck-clipboard-drop-target-color) #0000 #0000 #0000;border-style:solid;border-width:calc(var(--ck-clipboard-drop-target-dot-height)) calc(var(--ck-clipboard-drop-target-dot-width)*.5) 0 calc(var(--ck-clipboard-drop-target-dot-width)*.5);content:\"\";display:block;height:0;left:50%;position:absolute;top:calc(var(--ck-clipboard-drop-target-dot-height)*-.5);transform:translateX(-50%);width:0}.ck.ck-editor__editable .ck-widget.ck-clipboard-drop-target-range{outline:var(--ck-widget-outline-thickness) solid var(--ck-clipboard-drop-target-color)!important}.ck.ck-editor__editable .ck-widget:-webkit-drag{zoom:.6;outline:none!important}.ck.ck-clipboard-drop-target-line{background:var(--ck-clipboard-drop-target-color);border:1px solid var(--ck-clipboard-drop-target-color);height:0;margin-top:-1px}.ck.ck-clipboard-drop-target-line:before{border-style:solid;content:\"\";height:0;position:absolute;top:calc(var(--ck-clipboard-drop-target-dot-width)*-.5);width:0}[dir=ltr] .ck.ck-clipboard-drop-target-line:before{border-color:#0000 #0000 #0000 var(--ck-clipboard-drop-target-color);border-width:calc(var(--ck-clipboard-drop-target-dot-width)*.5) 0 calc(var(--ck-clipboard-drop-target-dot-width)*.5) var(--ck-clipboard-drop-target-dot-height);left:-1px}[dir=rtl] .ck.ck-clipboard-drop-target-line:before{border-color:#0000 var(--ck-clipboard-drop-target-color) #0000 #0000;border-width:calc(var(--ck-clipboard-drop-target-dot-width)*.5) var(--ck-clipboard-drop-target-dot-height) calc(var(--ck-clipboard-drop-target-dot-width)*.5) 0;right:-1px}',\"\",{version:3,sources:[\"webpack://./node_modules/@ckeditor/ckeditor5-clipboard/theme/clipboard.css\",\"webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-clipboard/clipboard.css\"],names:[],mappings:\"AASC,8DACC,cAAe,CAEf,mBAAoB,CADpB,iBAOD,CAJC,mEACC,iBAAkB,CAClB,OACD,CAWA,qJACC,YACD,CAIF,kCAEC,mBAAoB,CADpB,iBAED,CC9BA,MACC,yCAA0C,CAC1C,yCAA0C,CAC1C,6DACD,CAOE,mEAIC,gDAAiD,CADjD,sDAAuD,CAFvD,2DAA8D,CAI9D,gBAAiB,CAHjB,wDAqBD,CAfC,yEAWC,oEAAuF,CAEvF,kBAAmB,CADnB,qKAA0K,CAX1K,UAAW,CAIX,aAAc,CAFd,QAAS,CAIT,QAAS,CADT,iBAAkB,CAElB,wDAA2D,CAE3D,0BAA2B,CAR3B,OAYD,CAOF,kEACC,gGACD,CAKA,gDACC,OAAS,CACT,sBACD,CAGD,kCAGC,gDAAiD,CADjD,sDAAuD,CADvD,QAAS,CAGT,eAwBD,CAtBC,yCAMC,kBAAmB,CALnB,UAAW,CAIX,QAAS,CAHT,iBAAkB,CAClB,uDAA0D,CAC1D,OAiBD,CArBA,mDAYE,oEAAuF,CADvF,+JAAoK,CAFpK,SAYF,CArBA,mDAmBE,oEAAuF,CADvF,+JAAmK,CAFnK,UAKF\",sourcesContent:[\"/*\\n * Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\\n */\\n\\n.ck.ck-editor__editable {\\n\\t/*\\n\\t * Vertical drop target (in text).\\n\\t */\\n\\t& .ck.ck-clipboard-drop-target-position {\\n\\t\\tdisplay: inline;\\n\\t\\tposition: relative;\\n\\t\\tpointer-events: none;\\n\\n\\t\\t& span {\\n\\t\\t\\tposition: absolute;\\n\\t\\t\\twidth: 0;\\n\\t\\t}\\n\\t}\\n\\n\\t/*\\n\\t * Styles of the widget being dragged (its preview).\\n\\t */\\n\\t& .ck-widget:-webkit-drag {\\n\\t\\t& > .ck-widget__selection-handle {\\n\\t\\t\\tdisplay: none;\\n\\t\\t}\\n\\n\\t\\t& > .ck-widget__type-around {\\n\\t\\t\\tdisplay: none;\\n\\t\\t}\\n\\t}\\n}\\n\\n.ck.ck-clipboard-drop-target-line {\\n\\tposition: absolute;\\n\\tpointer-events: none;\\n}\\n\",\"/*\\n * Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\\n */\\n\\n@import \\\"@ckeditor/ckeditor5-ui/theme/mixins/_dir.css\\\";\\n\\n:root {\\n\\t--ck-clipboard-drop-target-dot-width: 12px;\\n\\t--ck-clipboard-drop-target-dot-height: 8px;\\n\\t--ck-clipboard-drop-target-color: var(--ck-color-focus-border);\\n}\\n\\n.ck.ck-editor__editable {\\n\\t/*\\n\\t * Vertical drop target (in text).\\n\\t */\\n\\t& .ck.ck-clipboard-drop-target-position {\\n\\t\\t& span {\\n\\t\\t\\tbottom: calc(-.5 * var(--ck-clipboard-drop-target-dot-height));\\n\\t\\t\\ttop: calc(-.5 * var(--ck-clipboard-drop-target-dot-height));\\n\\t\\t\\tborder: 1px solid var(--ck-clipboard-drop-target-color);\\n\\t\\t\\tbackground: var(--ck-clipboard-drop-target-color);\\n\\t\\t\\tmargin-left: -1px;\\n\\n\\t\\t\\t/* The triangle above the marker */\\n\\t\\t\\t&::after {\\n\\t\\t\\t\\tcontent: '';\\n\\t\\t\\t\\twidth: 0;\\n\\t\\t\\t\\theight: 0;\\n\\n\\t\\t\\t\\tdisplay: block;\\n\\t\\t\\t\\tposition: absolute;\\n\\t\\t\\t\\tleft: 50%;\\n\\t\\t\\t\\ttop: calc(-.5 * var(--ck-clipboard-drop-target-dot-height));\\n\\n\\t\\t\\t\\ttransform: translateX(-50%);\\n\\t\\t\\t\\tborder-color: var(--ck-clipboard-drop-target-color) transparent transparent transparent;\\n\\t\\t\\t\\tborder-width: calc(var(--ck-clipboard-drop-target-dot-height)) calc(.5 * var(--ck-clipboard-drop-target-dot-width)) 0 calc(.5 * var(--ck-clipboard-drop-target-dot-width));\\n\\t\\t\\t\\tborder-style: solid;\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n\\n\\t/*\\n\\t * Styles of the widget that it a drop target.\\n\\t */\\n\\t& .ck-widget.ck-clipboard-drop-target-range {\\n\\t\\toutline: var(--ck-widget-outline-thickness) solid var(--ck-clipboard-drop-target-color) !important;\\n\\t}\\n\\n\\t/*\\n\\t * Styles of the widget being dragged (its preview).\\n\\t */\\n\\t& .ck-widget:-webkit-drag {\\n\\t\\tzoom: 0.6;\\n\\t\\toutline: none !important;\\n\\t}\\n}\\n\\n.ck.ck-clipboard-drop-target-line {\\n\\theight: 0;\\n\\tborder: 1px solid var(--ck-clipboard-drop-target-color);\\n\\tbackground: var(--ck-clipboard-drop-target-color);\\n\\tmargin-top: -1px;\\n\\n\\t&::before {\\n\\t\\tcontent: '';\\n\\t\\tposition: absolute;\\n\\t\\ttop: calc(-.5 * var(--ck-clipboard-drop-target-dot-width));\\n\\t\\twidth: 0;\\n\\t\\theight: 0;\\n\\t\\tborder-style: solid;\\n\\n\\t\\t@mixin ck-dir ltr {\\n\\t\\t\\tleft: -1px;\\n\\n\\t\\t\\tborder-width: calc(.5 * var(--ck-clipboard-drop-target-dot-width)) 0 calc(.5 * var(--ck-clipboard-drop-target-dot-width)) var(--ck-clipboard-drop-target-dot-height);\\n\\t\\t\\tborder-color: transparent transparent transparent var(--ck-clipboard-drop-target-color);\\n\\t\\t}\\n\\n\\t\\t@mixin ck-dir rtl {\\n\\t\\t\\tright: -1px;\\n\\n\\t\\t\\tborder-width:calc(.5 * var(--ck-clipboard-drop-target-dot-width)) var(--ck-clipboard-drop-target-dot-height) calc(.5 * var(--ck-clipboard-drop-target-dot-width)) 0;\\n\\t\\t\\tborder-color: transparent var(--ck-clipboard-drop-target-color) transparent transparent;\\n\\t\\t}\\n\\t}\\n}\\n\"],sourceRoot:\"\"}]);const a=s},3624:(t,e,n)=>{\"use strict\";n.d(e,{Z:()=>a});var o=n(4015),i=n.n(o),r=n(3645),s=n.n(r)()(i());s.push([t.id,\".ck.ck-editor{position:relative}.ck.ck-editor .ck-editor__top .ck-sticky-panel .ck-toolbar{z-index:var(--ck-z-modal)}.ck.ck-editor__top .ck-sticky-panel .ck-toolbar{border-radius:0}.ck-rounded-corners .ck.ck-editor__top .ck-sticky-panel .ck-toolbar,.ck.ck-editor__top .ck-sticky-panel .ck-toolbar.ck-rounded-corners{border-radius:var(--ck-border-radius);border-bottom-left-radius:0;border-bottom-right-radius:0}.ck.ck-editor__top .ck-sticky-panel .ck-toolbar{border-bottom-width:0}.ck.ck-editor__top .ck-sticky-panel .ck-sticky-panel__content_sticky .ck-toolbar{border-bottom-width:1px;border-radius:0}.ck-rounded-corners .ck.ck-editor__top .ck-sticky-panel .ck-sticky-panel__content_sticky .ck-toolbar,.ck.ck-editor__top .ck-sticky-panel .ck-sticky-panel__content_sticky .ck-toolbar.ck-rounded-corners{border-radius:var(--ck-border-radius);border-radius:0}.ck.ck-editor__main>.ck-editor__editable{background:var(--ck-color-base-background);border-radius:0}.ck-rounded-corners .ck.ck-editor__main>.ck-editor__editable,.ck.ck-editor__main>.ck-editor__editable.ck-rounded-corners{border-radius:var(--ck-border-radius);border-top-left-radius:0;border-top-right-radius:0}.ck.ck-editor__main>.ck-editor__editable:not(.ck-focused){border-color:var(--ck-color-base-border)}\",\"\",{version:3,sources:[\"webpack://./node_modules/@ckeditor/ckeditor5-editor-classic/theme/classiceditor.css\",\"webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-editor-classic/classiceditor.css\",\"webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/mixins/_rounded.css\"],names:[],mappings:\"AAKA,cAIC,iBAMD,CAJC,2DAEC,yBACD,CCLC,gDCED,eDKC,CAPA,uICMA,qCAAsC,CDJpC,2BAA4B,CAC5B,4BAIF,CAPA,gDAMC,qBACD,CAEA,iFACC,uBAAwB,CCR1B,eDaC,CANA,yMCHA,qCAAsC,CDOpC,eAEF,CAKF,yCAEC,0CAA2C,CCpB3C,eD8BD,CAZA,yHCdE,qCAAsC,CDmBtC,wBAAyB,CACzB,yBAMF,CAHC,0DACC,wCACD\",sourcesContent:[\"/*\\n * Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\\n */\\n\\n.ck.ck-editor {\\n\\t/* All the elements within `.ck-editor` are positioned relatively to it.\\n\\t If any element needs to be positioned with respect to the , etc.,\\n\\t it must land outside of the `.ck-editor` in DOM. */\\n\\tposition: relative;\\n\\n\\t& .ck-editor__top .ck-sticky-panel .ck-toolbar {\\n\\t\\t/* https://github.com/ckeditor/ckeditor5-editor-classic/issues/62 */\\n\\t\\tz-index: var(--ck-z-modal);\\n\\t}\\n}\\n\",'/*\\n * Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\\n */\\n\\n@import \"../mixins/_rounded.css\";\\n\\n.ck.ck-editor__top {\\n\\t& .ck-sticky-panel {\\n\\t\\t& .ck-toolbar {\\n\\t\\t\\t@mixin ck-rounded-corners {\\n\\t\\t\\t\\tborder-bottom-left-radius: 0;\\n\\t\\t\\t\\tborder-bottom-right-radius: 0;\\n\\t\\t\\t}\\n\\n\\t\\t\\tborder-bottom-width: 0;\\n\\t\\t}\\n\\n\\t\\t& .ck-sticky-panel__content_sticky .ck-toolbar {\\n\\t\\t\\tborder-bottom-width: 1px;\\n\\n\\t\\t\\t@mixin ck-rounded-corners {\\n\\t\\t\\t\\tborder-radius: 0;\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n}\\n\\n/* Note: Use ck-editor__main to make sure these styles don\\'t apply to other editor types */\\n.ck.ck-editor__main > .ck-editor__editable {\\n\\t/* https://github.com/ckeditor/ckeditor5-theme-lark/issues/113 */\\n\\tbackground: var(--ck-color-base-background);\\n\\n\\t@mixin ck-rounded-corners {\\n\\t\\tborder-top-left-radius: 0;\\n\\t\\tborder-top-right-radius: 0;\\n\\t}\\n\\n\\t&:not(.ck-focused) {\\n\\t\\tborder-color: var(--ck-color-base-border);\\n\\t}\\n}\\n',\"/*\\n * Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\\n */\\n\\n/**\\n * Implements rounded corner interface for .ck-rounded-corners class.\\n *\\n * @see $ck-border-radius\\n */\\n@define-mixin ck-rounded-corners {\\n\\tborder-radius: 0;\\n\\n\\t@nest .ck-rounded-corners &,\\n\\t&.ck-rounded-corners {\\n\\t\\tborder-radius: var(--ck-border-radius);\\n\\t\\t@mixin-content;\\n\\t}\\n}\\n\"],sourceRoot:\"\"}]);const a=s},7372:(t,e,n)=>{\"use strict\";n.d(e,{Z:()=>a});var o=n(4015),i=n.n(o),r=n(3645),s=n.n(r)()(i());s.push([t.id,\".ck .ck-placeholder,.ck.ck-placeholder{position:relative}.ck .ck-placeholder:before,.ck.ck-placeholder:before{content:attr(data-placeholder);left:0;pointer-events:none;position:absolute;right:0}.ck.ck-read-only .ck-placeholder:before{display:none}.ck.ck-reset_all .ck-placeholder{position:relative}.ck .ck-placeholder:before,.ck.ck-placeholder:before{color:var(--ck-color-engine-placeholder-text);cursor:text}\",\"\",{version:3,sources:[\"webpack://./node_modules/@ckeditor/ckeditor5-engine/theme/placeholder.css\",\"webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-engine/placeholder.css\"],names:[],mappings:\"AAMA,uCAEC,iBAWD,CATC,qDAIC,8BAA+B,CAF/B,MAAO,CAKP,mBAAoB,CANpB,iBAAkB,CAElB,OAKD,CAKA,wCACC,YACD,CAQD,iCACC,iBACD,CC5BC,qDAEC,6CAA8C,CAD9C,WAED\",sourcesContent:[\"/*\\n * Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\\n */\\n\\n/* See ckeditor/ckeditor5#936. */\\n.ck.ck-placeholder,\\n.ck .ck-placeholder {\\n\\tposition: relative;\\n\\n\\t&::before {\\n\\t\\tposition: absolute;\\n\\t\\tleft: 0;\\n\\t\\tright: 0;\\n\\t\\tcontent: attr(data-placeholder);\\n\\n\\t\\t/* See ckeditor/ckeditor5#469. */\\n\\t\\tpointer-events: none;\\n\\t}\\n}\\n\\n/* See ckeditor/ckeditor5#1987. */\\n.ck.ck-read-only .ck-placeholder {\\n\\t&::before {\\n\\t\\tdisplay: none;\\n\\t}\\n}\\n\\n/*\\n * Rules for the `ck-placeholder` are loaded before the rules for `ck-reset_all` in the base CKEditor 5 DLL build.\\n * This fix overwrites the incorrectly set `position: static` from `ck-reset_all`.\\n * See https://github.com/ckeditor/ckeditor5/issues/11418.\\n */\\n.ck.ck-reset_all .ck-placeholder {\\n\\tposition: relative;\\n}\\n\",\"/*\\n * Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\\n */\\n\\n/* See ckeditor/ckeditor5#936. */\\n.ck.ck-placeholder, .ck .ck-placeholder {\\n\\t&::before {\\n\\t\\tcursor: text;\\n\\t\\tcolor: var(--ck-color-engine-placeholder-text);\\n\\t}\\n}\\n\"],sourceRoot:\"\"}]);const a=s},5037:(t,e,n)=>{\"use strict\";n.d(e,{Z:()=>a});var o=n(4015),i=n.n(o),r=n(3645),s=n.n(r)()(i());s.push([t.id,\".ck.ck-editor__editable span[data-ck-unsafe-element]{display:none}\",\"\",{version:3,sources:[\"webpack://./node_modules/@ckeditor/ckeditor5-engine/theme/renderer.css\"],names:[],mappings:\"AAMA,qDACC,YACD\",sourcesContent:[\"/*\\n * Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\\n */\\n\\n/* Elements marked by the Renderer as hidden should be invisible in the editor. */\\n.ck.ck-editor__editable span[data-ck-unsafe-element] {\\n\\tdisplay: none;\\n}\\n\"],sourceRoot:\"\"}]);const a=s},5991:(t,e,n)=>{\"use strict\";n.d(e,{Z:()=>a});var o=n(4015),i=n.n(o),r=n(3645),s=n.n(r)()(i());s.push([t.id,\".ck-content .text-tiny{font-size:.7em}.ck-content .text-small{font-size:.85em}.ck-content .text-big{font-size:1.4em}.ck-content .text-huge{font-size:1.8em}\",\"\",{version:3,sources:[\"webpack://./node_modules/@ckeditor/ckeditor5-font/theme/fontsize.css\"],names:[],mappings:\"AAUC,uBACC,cACD,CAEA,wBACC,eACD,CAEA,sBACC,eACD,CAEA,uBACC,eACD\",sourcesContent:['/*\\n * Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\\n */\\n\\n/* The values should be synchronized with the \"FONT_SIZE_PRESET_UNITS\" object in the \"/src/fontsize/utils.js\" file. */\\n\\n/* Styles should be prefixed with the `.ck-content` class.\\nSee https://github.com/ckeditor/ckeditor5/issues/6636 */\\n.ck-content {\\n\\t& .text-tiny {\\n\\t\\tfont-size: .7em;\\n\\t}\\n\\n\\t& .text-small {\\n\\t\\tfont-size: .85em;\\n\\t}\\n\\n\\t& .text-big {\\n\\t\\tfont-size: 1.4em;\\n\\t}\\n\\n\\t& .text-huge {\\n\\t\\tfont-size: 1.8em;\\n\\t}\\n}\\n'],sourceRoot:\"\"}]);const a=s},5782:(t,e,n)=>{\"use strict\";n.d(e,{Z:()=>a});var o=n(4015),i=n.n(o),r=n(3645),s=n.n(r)()(i());s.push([t.id,\".ck.ck-collapsible.ck-collapsible_collapsed>.ck-collapsible__children{display:none}:root{--ck-collapsible-arrow-size:calc(var(--ck-icon-size)*0.5)}.ck.ck-collapsible>.ck.ck-button{border-radius:0;color:inherit;font-weight:700;padding:var(--ck-spacing-medium) var(--ck-spacing-large);width:100%}.ck.ck-collapsible>.ck.ck-button:focus{background:#0000}.ck.ck-collapsible>.ck.ck-button:active,.ck.ck-collapsible>.ck.ck-button:hover:not(:focus),.ck.ck-collapsible>.ck.ck-button:not(:focus){background:#0000;border-color:#0000;box-shadow:none}.ck.ck-collapsible>.ck.ck-button>.ck-icon{margin-right:var(--ck-spacing-medium);width:var(--ck-collapsible-arrow-size)}.ck.ck-collapsible>.ck-collapsible__children{padding:0 var(--ck-spacing-large) var(--ck-spacing-large)}.ck.ck-collapsible.ck-collapsible_collapsed>.ck.ck-button .ck-icon{transform:rotate(-90deg)}\",\"\",{version:3,sources:[\"webpack://./node_modules/@ckeditor/ckeditor5-list/theme/collapsible.css\",\"webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-list/collapsible.css\"],names:[],mappings:\"AAMC,sEACC,YACD,CCHD,MACC,yDACD,CAGC,iCAIC,eAAgB,CAChB,aAAc,CAHd,eAAiB,CACjB,wDAAyD,CAFzD,UAoBD,CAdC,uCACC,gBACD,CAEA,wIACC,gBAAuB,CACvB,kBAAyB,CACzB,eACD,CAEA,0CACC,qCAAsC,CACtC,sCACD,CAGD,6CACC,yDACD,CAGC,mEACC,wBACD\",sourcesContent:[\"/*\\n * Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\\n */\\n\\n.ck.ck-collapsible.ck-collapsible_collapsed {\\n\\t& > .ck-collapsible__children {\\n\\t\\tdisplay: none;\\n\\t}\\n}\\n\",\"/*\\n * Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\\n */\\n\\n:root {\\n\\t--ck-collapsible-arrow-size: calc(0.5 * var(--ck-icon-size));\\n}\\n\\n.ck.ck-collapsible {\\n\\t& > .ck.ck-button {\\n\\t\\twidth: 100%;\\n\\t\\tfont-weight: bold;\\n\\t\\tpadding: var(--ck-spacing-medium) var(--ck-spacing-large);\\n\\t\\tborder-radius: 0;\\n\\t\\tcolor: inherit;\\n\\n\\t\\t&:focus {\\n\\t\\t\\tbackground: transparent;\\n\\t\\t}\\n\\n\\t\\t&:active, &:not(:focus), &:hover:not(:focus) {\\n\\t\\t\\tbackground: transparent;\\n\\t\\t\\tborder-color: transparent;\\n\\t\\t\\tbox-shadow: none;\\n\\t\\t}\\n\\n\\t\\t& > .ck-icon {\\n\\t\\t\\tmargin-right: var(--ck-spacing-medium);\\n\\t\\t\\twidth: var(--ck-collapsible-arrow-size);\\n\\t\\t}\\n\\t}\\n\\n\\t& > .ck-collapsible__children {\\n\\t\\tpadding: 0 var(--ck-spacing-large) var(--ck-spacing-large);\\n\\t}\\n\\n\\t&.ck-collapsible_collapsed {\\n\\t\\t& > .ck.ck-button .ck-icon {\\n\\t\\t\\ttransform: rotate(-90deg);\\n\\t\\t}\\n\\t}\\n}\\n\"],sourceRoot:\"\"}]);const a=s},3190:(t,e,n)=>{\"use strict\";n.d(e,{Z:()=>a});var o=n(4015),i=n.n(o),r=n(3645),s=n.n(r)()(i());s.push([t.id,\".ck-editor__editable .ck-list-bogus-paragraph{display:block}\",\"\",{version:3,sources:[\"webpack://./node_modules/@ckeditor/ckeditor5-list/theme/documentlist.css\"],names:[],mappings:\"AAKA,8CACC,aACD\",sourcesContent:[\"/*\\n * Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\\n */\\n\\n.ck-editor__editable .ck-list-bogus-paragraph {\\n\\tdisplay: block;\\n}\\n\"],sourceRoot:\"\"}]);const a=s},4784:(t,e,n)=>{\"use strict\";n.d(e,{Z:()=>a});var o=n(4015),i=n.n(o),r=n(3645),s=n.n(r)()(i());s.push([t.id,\".ck-content ol{list-style-type:decimal}.ck-content ol ol{list-style-type:lower-latin}.ck-content ol ol ol{list-style-type:lower-roman}.ck-content ol ol ol ol{list-style-type:upper-latin}.ck-content ol ol ol ol ol{list-style-type:upper-roman}.ck-content ul{list-style-type:disc}.ck-content ul ul{list-style-type:circle}.ck-content ul ul ul,.ck-content ul ul ul ul{list-style-type:square}\",\"\",{version:3,sources:[\"webpack://./node_modules/@ckeditor/ckeditor5-list/theme/list.css\"],names:[],mappings:\"AAKA,eACC,uBAiBD,CAfC,kBACC,2BAaD,CAXC,qBACC,2BASD,CAPC,wBACC,2BAKD,CAHC,2BACC,2BACD,CAMJ,eACC,oBAaD,CAXC,kBACC,sBASD,CAJE,6CACC,sBACD\",sourcesContent:[\"/*\\n * Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\\n */\\n\\n.ck-content ol {\\n\\tlist-style-type: decimal;\\n\\n\\t& ol {\\n\\t\\tlist-style-type: lower-latin;\\n\\n\\t\\t& ol {\\n\\t\\t\\tlist-style-type: lower-roman;\\n\\n\\t\\t\\t& ol {\\n\\t\\t\\t\\tlist-style-type: upper-latin;\\n\\n\\t\\t\\t\\t& ol {\\n\\t\\t\\t\\t\\tlist-style-type: upper-roman;\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n}\\n\\n.ck-content ul {\\n\\tlist-style-type: disc;\\n\\n\\t& ul {\\n\\t\\tlist-style-type: circle;\\n\\n\\t\\t& ul {\\n\\t\\t\\tlist-style-type: square;\\n\\n\\t\\t\\t& ul {\\n\\t\\t\\t\\tlist-style-type: square;\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n}\\n\"],sourceRoot:\"\"}]);const a=s},9938:(t,e,n)=>{\"use strict\";n.d(e,{Z:()=>a});var o=n(4015),i=n.n(o),r=n(3645),s=n.n(r)()(i());s.push([t.id,\".ck.ck-list-properties.ck-list-properties_without-styles{padding:var(--ck-spacing-large)}.ck.ck-list-properties.ck-list-properties_without-styles>*{min-width:14em}.ck.ck-list-properties.ck-list-properties_without-styles>*+*{margin-top:var(--ck-spacing-standard)}.ck.ck-list-properties.ck-list-properties_with-numbered-properties>.ck-list-styles-list{grid-template-columns:repeat(4,auto)}.ck.ck-list-properties.ck-list-properties_with-numbered-properties>.ck-collapsible{border-top:1px solid var(--ck-color-base-border)}.ck.ck-list-properties.ck-list-properties_with-numbered-properties>.ck-collapsible>.ck-collapsible__children>*{width:100%}.ck.ck-list-properties.ck-list-properties_with-numbered-properties>.ck-collapsible>.ck-collapsible__children>*+*{margin-top:var(--ck-spacing-standard)}.ck.ck-list-properties .ck.ck-numbered-list-properties__start-index .ck-input{min-width:auto;width:100%}.ck.ck-list-properties .ck.ck-numbered-list-properties__reversed-order{background:#0000;margin-bottom:calc(var(--ck-spacing-tiny)*-1);padding-left:0;padding-right:0}.ck.ck-list-properties .ck.ck-numbered-list-properties__reversed-order:active,.ck.ck-list-properties .ck.ck-numbered-list-properties__reversed-order:hover{background:none;border-color:#0000;box-shadow:none}\",\"\",{version:3,sources:[\"webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-list/listproperties.css\"],names:[],mappings:\"AAOC,yDACC,+BASD,CAPC,2DACC,cAKD,CAHC,6DACC,qCACD,CASD,wFACC,oCACD,CAGA,mFACC,gDAWD,CARE,+GACC,UAKD,CAHC,iHACC,qCACD,CAMJ,8EACC,cAAe,CACf,UACD,CAEA,uEACC,gBAAuB,CAGvB,6CAAgD,CAFhD,cAAe,CACf,eAQD,CALC,2JAGC,eAAgB,CADhB,kBAAyB,CADzB,eAGD\",sourcesContent:[\"/*\\n * Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\\n */\\n\\n.ck.ck-list-properties {\\n\\t/* When there are no list styles and there is no collapsible. */\\n\\t&.ck-list-properties_without-styles {\\n\\t\\tpadding: var(--ck-spacing-large);\\n\\n\\t\\t& > * {\\n\\t\\t\\tmin-width: 14em;\\n\\n\\t\\t\\t& + * {\\n\\t\\t\\t\\tmargin-top: var(--ck-spacing-standard);\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n\\n\\t/*\\n\\t * When the numbered list property fields (start at, reversed) should be displayed,\\n\\t * more horizontal space is needed. Reconfigure the style grid to create that space.\\n\\t */\\n\\t&.ck-list-properties_with-numbered-properties {\\n\\t\\t& > .ck-list-styles-list {\\n\\t\\t\\tgrid-template-columns: repeat( 4, auto );\\n\\t\\t}\\n\\n\\t\\t/* When list styles are rendered and property fields are in a collapsible. */\\n\\t\\t& > .ck-collapsible {\\n\\t\\t\\tborder-top: 1px solid var(--ck-color-base-border);\\n\\n\\t\\t\\t& > .ck-collapsible__children {\\n\\t\\t\\t\\t& > * {\\n\\t\\t\\t\\t\\twidth: 100%;\\n\\n\\t\\t\\t\\t\\t& + * {\\n\\t\\t\\t\\t\\t\\tmargin-top: var(--ck-spacing-standard);\\n\\t\\t\\t\\t\\t}\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n\\n\\t& .ck.ck-numbered-list-properties__start-index .ck-input {\\n\\t\\tmin-width: auto;\\n\\t\\twidth: 100%;\\n\\t}\\n\\n\\t& .ck.ck-numbered-list-properties__reversed-order {\\n\\t\\tbackground: transparent;\\n\\t\\tpadding-left: 0;\\n\\t\\tpadding-right: 0;\\n\\t\\tmargin-bottom: calc(-1 * var(--ck-spacing-tiny));\\n\\n\\t\\t&:active, &:hover {\\n\\t\\t\\tbox-shadow: none;\\n\\t\\t\\tborder-color: transparent;\\n\\t\\t\\tbackground: none;\\n\\t\\t}\\n\\t}\\n}\\n\"],sourceRoot:\"\"}]);const a=s},2591:(t,e,n)=>{\"use strict\";n.d(e,{Z:()=>a});var o=n(4015),i=n.n(o),r=n(3645),s=n.n(r)()(i());s.push([t.id,\".ck.ck-list-styles-list{display:grid}:root{--ck-list-style-button-size:44px}.ck.ck-list-styles-list{column-gap:var(--ck-spacing-medium);grid-template-columns:repeat(3,auto);padding:var(--ck-spacing-large);row-gap:var(--ck-spacing-medium)}.ck.ck-list-styles-list .ck-button{box-sizing:initial;margin:0;padding:0}.ck.ck-list-styles-list .ck-button,.ck.ck-list-styles-list .ck-button .ck-icon{height:var(--ck-list-style-button-size);width:var(--ck-list-style-button-size)}\",\"\",{version:3,sources:[\"webpack://./node_modules/@ckeditor/ckeditor5-list/theme/liststyles.css\",\"webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-list/liststyles.css\"],names:[],mappings:\"AAKA,wBACC,YACD,CCFA,MACC,gCACD,CAEA,wBAGC,mCAAoC,CAFpC,oCAAwC,CAGxC,+BAAgC,CAFhC,gCA4BD,CAxBC,mCAiBC,kBAAuB,CAPvB,QAAS,CANT,SAmBD,CAJC,+EAhBA,uCAAwC,CADxC,sCAoBA\",sourcesContent:[\"/*\\n * Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\\n */\\n\\n.ck.ck-list-styles-list {\\n\\tdisplay: grid;\\n}\\n\",'/*\\n * Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\\n */\\n\\n:root {\\n\\t--ck-list-style-button-size: 44px;\\n}\\n\\n.ck.ck-list-styles-list {\\n\\tgrid-template-columns: repeat( 3, auto );\\n\\trow-gap: var(--ck-spacing-medium);\\n\\tcolumn-gap: var(--ck-spacing-medium);\\n\\tpadding: var(--ck-spacing-large);\\n\\n\\t& .ck-button {\\n\\t\\t/* Make the button look like a thumbnail (the icon \"takes it all\"). */\\n\\t\\twidth: var(--ck-list-style-button-size);\\n\\t\\theight: var(--ck-list-style-button-size);\\n\\t\\tpadding: 0;\\n\\n\\t\\t/*\\n\\t\\t * Buttons are aligned by the grid so disable default button margins to not collide with the\\n\\t\\t * gaps in the grid.\\n\\t\\t */\\n\\t\\tmargin: 0;\\n\\n\\t\\t/*\\n\\t\\t * Make sure the button border (which is displayed on focus, BTW) does not steal pixels\\n\\t\\t * from the button dimensions and, as a result, decrease the size of the icon\\n\\t\\t * (which becomes blurry as it scales down).\\n\\t\\t */\\n\\t\\tbox-sizing: content-box;\\n\\n\\t\\t& .ck-icon {\\n\\t\\t\\twidth: var(--ck-list-style-button-size);\\n\\t\\t\\theight: var(--ck-list-style-button-size);\\n\\t\\t}\\n\\t}\\n}\\n'],sourceRoot:\"\"}]);const a=s},9292:(t,e,n)=>{\"use strict\";n.d(e,{Z:()=>a});var o=n(4015),i=n.n(o),r=n(3645),s=n.n(r)()(i());s.push([t.id,':root{--ck-todo-list-checkmark-size:16px}.ck-content .todo-list{list-style:none}.ck-content .todo-list li{margin-bottom:5px;position:relative}.ck-content .todo-list li .todo-list{margin-top:5px}.ck-content .todo-list .todo-list__label>input{-webkit-appearance:none;border:0;display:inline-block;height:var(--ck-todo-list-checkmark-size);left:-25px;margin-left:0;margin-right:-15px;position:relative;right:0;vertical-align:middle;width:var(--ck-todo-list-checkmark-size)}.ck-content[dir=rtl] .todo-list .todo-list__label>input{left:0;margin-left:-15px;margin-right:0;right:-25px}.ck-content .todo-list .todo-list__label>input:before{border:1px solid #333;border-radius:2px;box-sizing:border-box;content:\"\";display:block;height:100%;position:absolute;transition:box-shadow .25s ease-in-out;width:100%}.ck-content .todo-list .todo-list__label>input:after{border-color:#0000;border-style:solid;border-width:0 calc(var(--ck-todo-list-checkmark-size)/8) calc(var(--ck-todo-list-checkmark-size)/8) 0;box-sizing:initial;content:\"\";display:block;height:calc(var(--ck-todo-list-checkmark-size)/2.6);left:calc(var(--ck-todo-list-checkmark-size)/3);pointer-events:none;position:absolute;top:calc(var(--ck-todo-list-checkmark-size)/5.3);transform:rotate(45deg);width:calc(var(--ck-todo-list-checkmark-size)/5.3)}.ck-content .todo-list .todo-list__label>input[checked]:before{background:#26ab33;border-color:#26ab33}.ck-content .todo-list .todo-list__label>input[checked]:after{border-color:#fff}.ck-content .todo-list .todo-list__label .todo-list__label__description{vertical-align:middle}.ck-content .todo-list .todo-list__label.todo-list__label_without-description input[type=checkbox]{position:absolute}.ck-editor__editable.ck-content .todo-list .todo-list__label>input,.ck-editor__editable.ck-content .todo-list .todo-list__label>span[contenteditable=false]>input{cursor:pointer}.ck-editor__editable.ck-content .todo-list .todo-list__label>input:hover:before,.ck-editor__editable.ck-content .todo-list .todo-list__label>span[contenteditable=false]>input:hover:before{box-shadow:0 0 0 5px #0000001a}.ck-editor__editable.ck-content .todo-list .todo-list__label>span[contenteditable=false]>input{-webkit-appearance:none;border:0;display:inline-block;height:var(--ck-todo-list-checkmark-size);left:-25px;margin-left:0;margin-right:-15px;position:relative;right:0;vertical-align:middle;width:var(--ck-todo-list-checkmark-size)}.ck-editor__editable.ck-content[dir=rtl] .todo-list .todo-list__label>span[contenteditable=false]>input{left:0;margin-left:-15px;margin-right:0;right:-25px}.ck-editor__editable.ck-content .todo-list .todo-list__label>span[contenteditable=false]>input:before{border:1px solid #333;border-radius:2px;box-sizing:border-box;content:\"\";display:block;height:100%;position:absolute;transition:box-shadow .25s ease-in-out;width:100%}.ck-editor__editable.ck-content .todo-list .todo-list__label>span[contenteditable=false]>input:after{border-color:#0000;border-style:solid;border-width:0 calc(var(--ck-todo-list-checkmark-size)/8) calc(var(--ck-todo-list-checkmark-size)/8) 0;box-sizing:initial;content:\"\";display:block;height:calc(var(--ck-todo-list-checkmark-size)/2.6);left:calc(var(--ck-todo-list-checkmark-size)/3);pointer-events:none;position:absolute;top:calc(var(--ck-todo-list-checkmark-size)/5.3);transform:rotate(45deg);width:calc(var(--ck-todo-list-checkmark-size)/5.3)}.ck-editor__editable.ck-content .todo-list .todo-list__label>span[contenteditable=false]>input[checked]:before{background:#26ab33;border-color:#26ab33}.ck-editor__editable.ck-content .todo-list .todo-list__label>span[contenteditable=false]>input[checked]:after{border-color:#fff}.ck-editor__editable.ck-content .todo-list .todo-list__label.todo-list__label_without-description input[type=checkbox]{position:absolute}',\"\",{version:3,sources:[\"webpack://./node_modules/@ckeditor/ckeditor5-list/theme/todolist.css\"],names:[],mappings:\"AAKA,MACC,kCACD,CAwEA,uBACC,eAwBD,CAtBC,0BAEC,iBAAkB,CADlB,iBAMD,CAHC,qCACC,cACD,CAIA,+CAlFD,uBAAwB,CAQxB,QAAS,CAPT,oBAAqB,CAGrB,yCAA0C,CAO1C,UAAW,CAGX,aAAc,CAFd,kBAAmB,CAVnB,iBAAkB,CAWlB,OAAQ,CARR,qBAAsB,CAFtB,wCAiFC,CAFA,wDAhEA,MAAO,CAGP,iBAAkB,CAFlB,cAAe,CACf,WAgEA,CA5DD,sDAOC,qBAAiC,CACjC,iBAAkB,CALlB,qBAAsB,CACtB,UAAW,CAHX,aAAc,CAKd,WAAY,CAJZ,iBAAkB,CAOlB,sCAAwC,CAJxC,UAKD,CAEA,qDAaC,kBAAyB,CADzB,kBAAmB,CAEnB,sGAA+G,CAX/G,kBAAuB,CAEvB,UAAW,CAJX,aAAc,CAUd,mDAAwD,CAHxD,+CAAoD,CAJpD,mBAAoB,CAFpB,iBAAkB,CAOlB,gDAAqD,CAMrD,uBAAwB,CALxB,kDAMD,CAGC,+DACC,kBAA8B,CAC9B,oBACD,CAEA,8DACC,iBACD,CAwBA,wEACC,qBACD,CAEA,mGACC,iBACD,CAYD,kKAEC,cAKD,CAHC,4LACC,8BACD,CAMD,+FApHA,uBAAwB,CAQxB,QAAS,CAPT,oBAAqB,CAGrB,yCAA0C,CAO1C,UAAW,CAGX,aAAc,CAFd,kBAAmB,CAVnB,iBAAkB,CAWlB,OAAQ,CARR,qBAAsB,CAFtB,wCAmHA,CAFA,wGAlGC,MAAO,CAGP,iBAAkB,CAFlB,cAAe,CACf,WAkGD,CA9FA,sGAOC,qBAAiC,CACjC,iBAAkB,CALlB,qBAAsB,CACtB,UAAW,CAHX,aAAc,CAKd,WAAY,CAJZ,iBAAkB,CAOlB,sCAAwC,CAJxC,UAKD,CAEA,qGAaC,kBAAyB,CADzB,kBAAmB,CAEnB,sGAA+G,CAX/G,kBAAuB,CAEvB,UAAW,CAJX,aAAc,CAUd,mDAAwD,CAHxD,+CAAoD,CAJpD,mBAAoB,CAFpB,iBAAkB,CAOlB,gDAAqD,CAMrD,uBAAwB,CALxB,kDAMD,CAGC,+GACC,kBAA8B,CAC9B,oBACD,CAEA,8GACC,iBACD,CA2DA,uHACC,iBACD\",sourcesContent:[\"/*\\n * Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\\n */\\n\\n:root {\\n\\t--ck-todo-list-checkmark-size: 16px;\\n}\\n\\n@define-mixin todo-list-checkbox {\\n\\t-webkit-appearance: none;\\n\\tdisplay: inline-block;\\n\\tposition: relative;\\n\\twidth: var(--ck-todo-list-checkmark-size);\\n\\theight: var(--ck-todo-list-checkmark-size);\\n\\tvertical-align: middle;\\n\\n\\t/* Needed on iOS */\\n\\tborder: 0;\\n\\n\\t/* LTR styles */\\n\\tleft: -25px;\\n\\tmargin-right: -15px;\\n\\tright: 0;\\n\\tmargin-left: 0;\\n\\n\\t/* RTL styles */\\n\\t@nest [dir=rtl]& {\\n\\t\\tleft: 0;\\n\\t\\tmargin-right: 0;\\n\\t\\tright: -25px;\\n\\t\\tmargin-left: -15px;\\n\\t}\\n\\n\\t&::before {\\n\\t\\tdisplay: block;\\n\\t\\tposition: absolute;\\n\\t\\tbox-sizing: border-box;\\n\\t\\tcontent: '';\\n\\t\\twidth: 100%;\\n\\t\\theight: 100%;\\n\\t\\tborder: 1px solid hsl(0, 0%, 20%);\\n\\t\\tborder-radius: 2px;\\n\\t\\ttransition: 250ms ease-in-out box-shadow;\\n\\t}\\n\\n\\t&::after {\\n\\t\\tdisplay: block;\\n\\t\\tposition: absolute;\\n\\t\\tbox-sizing: content-box;\\n\\t\\tpointer-events: none;\\n\\t\\tcontent: '';\\n\\n\\t\\t/* Calculate tick position, size and border-width proportional to the checkmark size. */\\n\\t\\tleft: calc( var(--ck-todo-list-checkmark-size) / 3 );\\n\\t\\ttop: calc( var(--ck-todo-list-checkmark-size) / 5.3 );\\n\\t\\twidth: calc( var(--ck-todo-list-checkmark-size) / 5.3 );\\n\\t\\theight: calc( var(--ck-todo-list-checkmark-size) / 2.6 );\\n\\t\\tborder-style: solid;\\n\\t\\tborder-color: transparent;\\n\\t\\tborder-width: 0 calc( var(--ck-todo-list-checkmark-size) / 8 ) calc( var(--ck-todo-list-checkmark-size) / 8 ) 0;\\n\\t\\ttransform: rotate(45deg);\\n\\t}\\n\\n\\t&[checked] {\\n\\t\\t&::before {\\n\\t\\t\\tbackground: hsl(126, 64%, 41%);\\n\\t\\t\\tborder-color: hsl(126, 64%, 41%);\\n\\t\\t}\\n\\n\\t\\t&::after {\\n\\t\\t\\tborder-color: hsl(0, 0%, 100%);\\n\\t\\t}\\n\\t}\\n}\\n\\n/*\\n * To-do list content styles.\\n */\\n.ck-content .todo-list {\\n\\tlist-style: none;\\n\\n\\t& li {\\n\\t\\tposition: relative;\\n\\t\\tmargin-bottom: 5px;\\n\\n\\t\\t& .todo-list {\\n\\t\\t\\tmargin-top: 5px;\\n\\t\\t}\\n\\t}\\n\\n\\t& .todo-list__label {\\n\\t\\t& > input {\\n\\t\\t\\t@mixin todo-list-checkbox;\\n\\t\\t}\\n\\n\\t\\t& .todo-list__label__description {\\n\\t\\t\\tvertical-align: middle;\\n\\t\\t}\\n\\n\\t\\t&.todo-list__label_without-description input[type=checkbox] {\\n\\t\\t\\tposition: absolute;\\n\\t\\t}\\n\\t}\\n}\\n\\n/*\\n * To-do list editing view styles.\\n */\\n.ck-editor__editable.ck-content .todo-list .todo-list__label {\\n\\t/*\\n\\t * To-do list should be interactive only during the editing\\n\\t * (https://github.com/ckeditor/ckeditor5/issues/2090).\\n\\t */\\n\\t& > input,\\n\\t& > span[contenteditable=false] > input {\\n\\t\\tcursor: pointer;\\n\\n\\t\\t&:hover::before {\\n\\t\\t\\tbox-shadow: 0 0 0 5px hsla(0, 0%, 0%, 0.1);\\n\\t\\t}\\n\\t}\\n\\n\\t/*\\n\\t * Document Lists - editing view has an additional span around checkbox.\\n\\t */\\n\\t& > span[contenteditable=false] > input {\\n\\t\\t@mixin todo-list-checkbox;\\n\\t}\\n\\n\\t&.todo-list__label_without-description {\\n\\t\\t& input[type=checkbox] {\\n\\t\\t\\tposition: absolute;\\n\\t\\t}\\n\\t}\\n}\\n\"],sourceRoot:\"\"}]);const a=s},9953:(t,e,n)=>{\"use strict\";n.d(e,{Z:()=>a});var o=n(4015),i=n.n(o),r=n(3645),s=n.n(r)()(i());s.push([t.id,\".ck.ck-input-color{display:flex;flex-direction:row-reverse;width:100%}.ck.ck-input-color>input.ck.ck-input-text{flex-grow:1;min-width:auto}.ck.ck-input-color>div.ck.ck-dropdown{min-width:auto}.ck.ck-input-color>div.ck.ck-dropdown>.ck-input-color__button .ck-dropdown__arrow{display:none}.ck.ck-input-color .ck.ck-input-color__button{display:flex}.ck.ck-input-color .ck.ck-input-color__button .ck.ck-input-color__button__preview{overflow:hidden;position:relative}.ck.ck-input-color .ck.ck-input-color__button .ck.ck-input-color__button__preview>.ck.ck-input-color__button__preview__no-color-indicator{display:block;position:absolute}[dir=ltr] .ck.ck-input-color>.ck.ck-input-text{border-bottom-right-radius:0;border-top-right-radius:0}[dir=rtl] .ck.ck-input-color>.ck.ck-input-text{border-bottom-left-radius:0;border-top-left-radius:0}.ck.ck-input-color>.ck.ck-input-text:focus{z-index:0}.ck.ck-input-color>.ck.ck-dropdown>.ck.ck-button.ck-input-color__button{padding:0}[dir=ltr] .ck.ck-input-color>.ck.ck-dropdown>.ck.ck-button.ck-input-color__button{border-bottom-left-radius:0;border-top-left-radius:0}[dir=ltr] .ck.ck-input-color>.ck.ck-dropdown>.ck.ck-button.ck-input-color__button:not(:focus){border-left:1px solid #0000}[dir=rtl] .ck.ck-input-color>.ck.ck-dropdown>.ck.ck-button.ck-input-color__button{border-bottom-right-radius:0;border-top-right-radius:0}[dir=rtl] .ck.ck-input-color>.ck.ck-dropdown>.ck.ck-button.ck-input-color__button:not(:focus){border-right:1px solid #0000}.ck.ck-input-color>.ck.ck-dropdown>.ck.ck-button.ck-input-color__button.ck-disabled{background:var(--ck-color-input-disabled-background)}.ck.ck-input-color>.ck.ck-dropdown>.ck.ck-button.ck-input-color__button>.ck.ck-input-color__button__preview{border-radius:0}.ck-rounded-corners .ck.ck-input-color>.ck.ck-dropdown>.ck.ck-button.ck-input-color__button>.ck.ck-input-color__button__preview,.ck.ck-input-color>.ck.ck-dropdown>.ck.ck-button.ck-input-color__button>.ck.ck-input-color__button__preview.ck-rounded-corners{border-radius:var(--ck-border-radius)}.ck.ck-input-color>.ck.ck-dropdown>.ck.ck-button.ck-input-color__button>.ck.ck-input-color__button__preview{border:1px solid var(--ck-color-input-border);height:20px;width:20px}.ck.ck-input-color>.ck.ck-dropdown>.ck.ck-button.ck-input-color__button>.ck.ck-input-color__button__preview>.ck.ck-input-color__button__preview__no-color-indicator{background:red;border-radius:2px;height:150%;left:50%;top:-30%;transform:rotate(45deg);transform-origin:50%;width:8%}.ck.ck-input-color .ck.ck-input-color__remove-color{border-bottom-left-radius:0;border-bottom-right-radius:0;padding:calc(var(--ck-spacing-standard)/2) var(--ck-spacing-standard);width:100%}.ck.ck-input-color .ck.ck-input-color__remove-color:not(:focus){border-bottom:1px solid var(--ck-color-input-border)}[dir=ltr] .ck.ck-input-color .ck.ck-input-color__remove-color{border-top-right-radius:0}[dir=rtl] .ck.ck-input-color .ck.ck-input-color__remove-color{border-top-left-radius:0}.ck.ck-input-color .ck.ck-input-color__remove-color .ck.ck-icon{margin-right:var(--ck-spacing-standard)}[dir=rtl] .ck.ck-input-color .ck.ck-input-color__remove-color .ck.ck-icon{margin-left:var(--ck-spacing-standard);margin-right:0}\",\"\",{version:3,sources:[\"webpack://./node_modules/@ckeditor/ckeditor5-table/theme/colorinput.css\",\"webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-table/colorinput.css\",\"webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/mixins/_rounded.css\"],names:[],mappings:\"AAKA,mBAEC,YAAa,CACb,0BAA2B,CAF3B,UAgCD,CA5BC,0CAEC,WAAY,CADZ,cAED,CAEA,sCACC,cAMD,CAHC,kFACC,YACD,CAGD,8CAEC,YAWD,CATC,kFAEC,eAAgB,CADhB,iBAOD,CAJC,0IAEC,aAAc,CADd,iBAED,CC1BF,+CAGE,4BAA6B,CAD7B,yBAcF,CAhBA,+CAQE,2BAA4B,CAD5B,wBASF,CAHC,2CACC,SACD,CAIA,wEACC,SA0CD,CA3CA,kFAKE,2BAA4B,CAD5B,wBAuCF,CApCE,8FACC,2BACD,CATF,kFAcE,4BAA6B,CAD7B,yBA8BF,CA3BE,8FACC,4BACD,CAGD,oFACC,oDACD,CAEA,4GC1CF,eD2DE,CAjBA,+PCtCD,qCDuDC,CAjBA,4GAKC,6CAA8C,CAD9C,WAAY,CADZ,UAcD,CAVC,oKAKC,cAA6B,CAC7B,iBAAkB,CAHlB,WAAY,CADZ,QAAS,CADT,QAAS,CAMT,uBAAwB,CACxB,oBAAqB,CAJrB,QAKD,CAKH,oDAIC,2BAA4B,CAC5B,4BAA6B,CAH7B,qEAAwE,CADxE,UA0BD,CApBC,gEACC,oDACD,CATD,8DAYE,yBAeF,CA3BA,8DAgBE,wBAWF,CARC,gEACC,uCAMD,CAPA,0EAKE,sCAAuC,CADvC,cAGF\",sourcesContent:[\"/*\\n * Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\\n */\\n\\n.ck.ck-input-color {\\n\\twidth: 100%;\\n\\tdisplay: flex;\\n\\tflex-direction: row-reverse;\\n\\n\\t& > input.ck.ck-input-text {\\n\\t\\tmin-width: auto;\\n\\t\\tflex-grow: 1;\\n\\t}\\n\\n\\t& > div.ck.ck-dropdown {\\n\\t\\tmin-width: auto;\\n\\n\\t\\t/* This dropdown has no arrow but a color preview instead. */\\n\\t\\t& > .ck-input-color__button .ck-dropdown__arrow {\\n\\t\\t\\tdisplay: none;\\n\\t\\t}\\n\\t}\\n\\n\\t& .ck.ck-input-color__button {\\n\\t\\t/* Resolving issue with misaligned buttons on Safari (see #10589) */\\n\\t\\tdisplay: flex;\\n\\n\\t\\t& .ck.ck-input-color__button__preview {\\n\\t\\t\\tposition: relative;\\n\\t\\t\\toverflow: hidden;\\n\\n\\t\\t\\t& > .ck.ck-input-color__button__preview__no-color-indicator {\\n\\t\\t\\t\\tposition: absolute;\\n\\t\\t\\t\\tdisplay: block;\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n}\\n\",'/*\\n * Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\\n */\\n\\n@import \"@ckeditor/ckeditor5-ui/theme/mixins/_dir.css\";\\n@import \"../mixins/_rounded.css\";\\n\\n.ck.ck-input-color {\\n\\t& > .ck.ck-input-text {\\n\\t\\t@mixin ck-dir ltr {\\n\\t\\t\\tborder-top-right-radius: 0;\\n\\t\\t\\tborder-bottom-right-radius: 0;\\n\\t\\t}\\n\\n\\t\\t@mixin ck-dir rtl {\\n\\t\\t\\tborder-top-left-radius: 0;\\n\\t\\t\\tborder-bottom-left-radius: 0;\\n\\t\\t}\\n\\n\\t\\t/* Make sure the focused input is always on top of the dropdown button so its\\n\\t\\t outline and border are never cropped (also when the input is read-only). */\\n\\t\\t&:focus {\\n\\t\\t\\tz-index: 0;\\n\\t\\t}\\n\\t}\\n\\n\\t& > .ck.ck-dropdown {\\n\\t\\t& > .ck.ck-button.ck-input-color__button {\\n\\t\\t\\tpadding: 0;\\n\\n\\t\\t\\t@mixin ck-dir ltr {\\n\\t\\t\\t\\tborder-top-left-radius: 0;\\n\\t\\t\\t\\tborder-bottom-left-radius: 0;\\n\\n\\t\\t\\t\\t&:not(:focus) {\\n\\t\\t\\t\\t\\tborder-left: 1px solid transparent;\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\n\\t\\t\\t@mixin ck-dir rtl {\\n\\t\\t\\t\\tborder-top-right-radius: 0;\\n\\t\\t\\t\\tborder-bottom-right-radius: 0;\\n\\n\\t\\t\\t\\t&:not(:focus) {\\n\\t\\t\\t\\t\\tborder-right: 1px solid transparent;\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\n\\t\\t\\t&.ck-disabled {\\n\\t\\t\\t\\tbackground: var(--ck-color-input-disabled-background);\\n\\t\\t\\t}\\n\\n\\t\\t\\t& > .ck.ck-input-color__button__preview {\\n\\t\\t\\t\\t@mixin ck-rounded-corners;\\n\\n\\t\\t\\t\\twidth: 20px;\\n\\t\\t\\t\\theight: 20px;\\n\\t\\t\\t\\tborder: 1px solid var(--ck-color-input-border);\\n\\n\\t\\t\\t\\t& > .ck.ck-input-color__button__preview__no-color-indicator {\\n\\t\\t\\t\\t\\ttop: -30%;\\n\\t\\t\\t\\t\\tleft: 50%;\\n\\t\\t\\t\\t\\theight: 150%;\\n\\t\\t\\t\\t\\twidth: 8%;\\n\\t\\t\\t\\t\\tbackground: hsl(0, 100%, 50%);\\n\\t\\t\\t\\t\\tborder-radius: 2px;\\n\\t\\t\\t\\t\\ttransform: rotate(45deg);\\n\\t\\t\\t\\t\\ttransform-origin: 50%;\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n\\n\\t& .ck.ck-input-color__remove-color {\\n\\t\\twidth: 100%;\\n\\t\\tpadding: calc(var(--ck-spacing-standard) / 2) var(--ck-spacing-standard);\\n\\n\\t\\tborder-bottom-left-radius: 0;\\n\\t\\tborder-bottom-right-radius: 0;\\n\\n\\t\\t&:not(:focus) {\\n\\t\\t\\tborder-bottom: 1px solid var(--ck-color-input-border);\\n\\t\\t}\\n\\n\\t\\t@mixin ck-dir ltr {\\n\\t\\t\\tborder-top-right-radius: 0;\\n\\t\\t}\\n\\n\\t\\t@mixin ck-dir rtl {\\n\\t\\t\\tborder-top-left-radius: 0;\\n\\t\\t}\\n\\n\\t\\t& .ck.ck-icon {\\n\\t\\t\\tmargin-right: var(--ck-spacing-standard);\\n\\n\\t\\t\\t@mixin ck-dir rtl {\\n\\t\\t\\t\\tmargin-right: 0;\\n\\t\\t\\t\\tmargin-left: var(--ck-spacing-standard);\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n}\\n',\"/*\\n * Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\\n */\\n\\n/**\\n * Implements rounded corner interface for .ck-rounded-corners class.\\n *\\n * @see $ck-border-radius\\n */\\n@define-mixin ck-rounded-corners {\\n\\tborder-radius: 0;\\n\\n\\t@nest .ck-rounded-corners &,\\n\\t&.ck-rounded-corners {\\n\\t\\tborder-radius: var(--ck-border-radius);\\n\\t\\t@mixin-content;\\n\\t}\\n}\\n\"],sourceRoot:\"\"}]);const a=s},7502:(t,e,n)=>{\"use strict\";n.d(e,{Z:()=>a});var o=n(4015),i=n.n(o),r=n(3645),s=n.n(r)()(i());s.push([t.id,\".ck.ck-form{padding:0 0 var(--ck-spacing-large)}.ck.ck-form:focus{outline:none}.ck.ck-form .ck.ck-input-text{min-width:100%;width:0}.ck.ck-form .ck.ck-dropdown{min-width:100%}.ck.ck-form .ck.ck-dropdown .ck-dropdown__button:not(:focus){border:1px solid var(--ck-color-base-border)}.ck.ck-form .ck.ck-dropdown .ck-dropdown__button .ck-button__label{width:100%}\",\"\",{version:3,sources:[\"webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-table/form.css\"],names:[],mappings:\"AAKA,YACC,mCAyBD,CAvBC,kBAEC,YACD,CAEA,8BACC,cAAe,CACf,OACD,CAEA,4BACC,cAWD,CARE,6DACC,4CACD,CAEA,mEACC,UACD\",sourcesContent:[\"/*\\n * Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\\n */\\n\\n.ck.ck-form {\\n\\tpadding: 0 0 var(--ck-spacing-large);\\n\\n\\t&:focus {\\n\\t\\t/* See: https://github.com/ckeditor/ckeditor5/issues/4773 */\\n\\t\\toutline: none;\\n\\t}\\n\\n\\t& .ck.ck-input-text {\\n\\t\\tmin-width: 100%;\\n\\t\\twidth: 0;\\n\\t}\\n\\n\\t& .ck.ck-dropdown {\\n\\t\\tmin-width: 100%;\\n\\n\\t\\t& .ck-dropdown__button {\\n\\t\\t\\t&:not(:focus) {\\n\\t\\t\\t\\tborder: 1px solid var(--ck-color-base-border);\\n\\t\\t\\t}\\n\\n\\t\\t\\t& .ck-button__label {\\n\\t\\t\\t\\twidth: 100%;\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n}\\n\"],sourceRoot:\"\"}]);const a=s},6908:(t,e,n)=>{\"use strict\";n.d(e,{Z:()=>a});var o=n(4015),i=n.n(o),r=n(3645),s=n.n(r)()(i());s.push([t.id,\".ck.ck-form__row{display:flex;flex-direction:row;flex-wrap:nowrap;justify-content:space-between}.ck.ck-form__row>:not(.ck-label){flex-grow:1}.ck.ck-form__row.ck-table-form__action-row .ck-button-cancel,.ck.ck-form__row.ck-table-form__action-row .ck-button-save{justify-content:center}.ck.ck-form__row{padding:var(--ck-spacing-standard) var(--ck-spacing-large) 0}[dir=ltr] .ck.ck-form__row>:not(.ck-label)+*{margin-left:var(--ck-spacing-large)}[dir=rtl] .ck.ck-form__row>:not(.ck-label)+*{margin-right:var(--ck-spacing-large)}.ck.ck-form__row>.ck-label{min-width:100%;width:100%}.ck.ck-form__row.ck-table-form__action-row{margin-top:var(--ck-spacing-large)}.ck.ck-form__row.ck-table-form__action-row .ck-button .ck-button__label{color:var(--ck-color-text)}\",\"\",{version:3,sources:[\"webpack://./node_modules/@ckeditor/ckeditor5-table/theme/formrow.css\",\"webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-table/formrow.css\"],names:[],mappings:\"AAKA,iBACC,YAAa,CACb,kBAAmB,CACnB,gBAAiB,CACjB,6BAaD,CAVC,iCACC,WACD,CAGC,wHAEC,sBACD,CCbF,iBACC,4DA2BD,CAvBE,6CAEE,mCAMF,CARA,6CAME,oCAEF,CAGD,2BAEC,cAAe,CADf,UAED,CAEA,2CACC,kCAKD,CAHC,wEACC,0BACD\",sourcesContent:[\"/*\\n * Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\\n */\\n\\n.ck.ck-form__row {\\n\\tdisplay: flex;\\n\\tflex-direction: row;\\n\\tflex-wrap: nowrap;\\n\\tjustify-content: space-between;\\n\\n\\t/* Ignore labels that work as fieldset legends */\\n\\t& > *:not(.ck-label) {\\n\\t\\tflex-grow: 1;\\n\\t}\\n\\n\\t&.ck-table-form__action-row {\\n\\t\\t& .ck-button-save,\\n\\t\\t& .ck-button-cancel {\\n\\t\\t\\tjustify-content: center;\\n\\t\\t}\\n\\t}\\n}\\n\",'/*\\n * Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\\n */\\n\\n@import \"@ckeditor/ckeditor5-ui/theme/mixins/_dir.css\";\\n\\n.ck.ck-form__row {\\n\\tpadding: var(--ck-spacing-standard) var(--ck-spacing-large) 0;\\n\\n\\t/* Ignore labels that work as fieldset legends */\\n\\t& > *:not(.ck-label) {\\n\\t\\t& + * {\\n\\t\\t\\t@mixin ck-dir ltr {\\n\\t\\t\\t\\tmargin-left: var(--ck-spacing-large);\\n\\t\\t\\t}\\n\\n\\t\\t\\t@mixin ck-dir rtl {\\n\\t\\t\\t\\tmargin-right: var(--ck-spacing-large);\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n\\n\\t& > .ck-label {\\n\\t\\twidth: 100%;\\n\\t\\tmin-width: 100%;\\n\\t}\\n\\n\\t&.ck-table-form__action-row {\\n\\t\\tmargin-top: var(--ck-spacing-large);\\n\\n\\t\\t& .ck-button .ck-button__label {\\n\\t\\t\\tcolor: var(--ck-color-text);\\n\\t\\t}\\n\\t}\\n}\\n'],sourceRoot:\"\"}]);const a=s},468:(t,e,n)=>{\"use strict\";n.d(e,{Z:()=>a});var o=n(4015),i=n.n(o),r=n(3645),s=n.n(r)()(i());s.push([t.id,\".ck .ck-insert-table-dropdown__grid{display:flex;flex-direction:row;flex-wrap:wrap}:root{--ck-insert-table-dropdown-padding:10px;--ck-insert-table-dropdown-box-height:11px;--ck-insert-table-dropdown-box-width:12px;--ck-insert-table-dropdown-box-margin:1px}.ck .ck-insert-table-dropdown__grid{padding:var(--ck-insert-table-dropdown-padding) var(--ck-insert-table-dropdown-padding) 0;width:calc(var(--ck-insert-table-dropdown-box-width)*10 + var(--ck-insert-table-dropdown-box-margin)*20 + var(--ck-insert-table-dropdown-padding)*2)}.ck .ck-insert-table-dropdown__label,.ck[dir=rtl] .ck-insert-table-dropdown__label{text-align:center}.ck .ck-insert-table-dropdown-grid-box{border:1px solid var(--ck-color-base-border);border-radius:1px;margin:var(--ck-insert-table-dropdown-box-margin);min-height:var(--ck-insert-table-dropdown-box-height);min-width:var(--ck-insert-table-dropdown-box-width);outline:none;transition:none}.ck .ck-insert-table-dropdown-grid-box:focus{box-shadow:none}.ck .ck-insert-table-dropdown-grid-box.ck-on{background:var(--ck-color-focus-outer-shadow);border-color:var(--ck-color-focus-border)}\",\"\",{version:3,sources:[\"webpack://./node_modules/@ckeditor/ckeditor5-table/theme/inserttable.css\",\"webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-table/inserttable.css\"],names:[],mappings:\"AAKA,oCACC,YAAa,CACb,kBAAmB,CACnB,cACD,CCJA,MACC,uCAAwC,CACxC,0CAA2C,CAC3C,yCAA0C,CAC1C,yCACD,CAEA,oCAGC,yFAA0F,CAD1F,oJAED,CAEA,mFAEC,iBACD,CAEA,uCAIC,4CAA6C,CAC7C,iBAAkB,CAFlB,iDAAkD,CADlD,qDAAsD,CADtD,mDAAoD,CAKpD,YAAa,CACb,eAUD,CARC,6CACC,eACD,CAEA,6CAEC,6CAA8C,CAD9C,yCAED\",sourcesContent:[\"/*\\n * Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\\n */\\n\\n.ck .ck-insert-table-dropdown__grid {\\n\\tdisplay: flex;\\n\\tflex-direction: row;\\n\\tflex-wrap: wrap;\\n}\\n\",\"/*\\n * Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\\n */\\n\\n:root {\\n\\t--ck-insert-table-dropdown-padding: 10px;\\n\\t--ck-insert-table-dropdown-box-height: 11px;\\n\\t--ck-insert-table-dropdown-box-width: 12px;\\n\\t--ck-insert-table-dropdown-box-margin: 1px;\\n}\\n\\n.ck .ck-insert-table-dropdown__grid {\\n\\t/* The width of a container should match 10 items in a row so there will be a 10x10 grid. */\\n\\twidth: calc(var(--ck-insert-table-dropdown-box-width) * 10 + var(--ck-insert-table-dropdown-box-margin) * 20 + var(--ck-insert-table-dropdown-padding) * 2);\\n\\tpadding: var(--ck-insert-table-dropdown-padding) var(--ck-insert-table-dropdown-padding) 0;\\n}\\n\\n.ck .ck-insert-table-dropdown__label,\\n.ck[dir=rtl] .ck-insert-table-dropdown__label {\\n\\ttext-align: center;\\n}\\n\\n.ck .ck-insert-table-dropdown-grid-box {\\n\\tmin-width: var(--ck-insert-table-dropdown-box-width);\\n\\tmin-height: var(--ck-insert-table-dropdown-box-height);\\n\\tmargin: var(--ck-insert-table-dropdown-box-margin);\\n\\tborder: 1px solid var(--ck-color-base-border);\\n\\tborder-radius: 1px;\\n\\toutline: none;\\n\\ttransition: none;\\n\\n\\t&:focus {\\n\\t\\tbox-shadow: none;\\n\\t}\\n\\n\\t&.ck-on {\\n\\t\\tborder-color: var(--ck-color-focus-border);\\n\\t\\tbackground: var(--ck-color-focus-outer-shadow);\\n\\t}\\n}\\n\\n\"],sourceRoot:\"\"}]);const a=s},2510:(t,e,n)=>{\"use strict\";n.d(e,{Z:()=>a});var o=n(4015),i=n.n(o),r=n(3645),s=n.n(r)()(i());s.push([t.id,\".ck-content .table{display:table;margin:.9em auto}.ck-content .table table{border:1px double #b3b3b3;border-collapse:collapse;border-spacing:0;height:100%;width:100%}.ck-content .table table td,.ck-content .table table th{border:1px solid #bfbfbf;min-width:2em;padding:.4em}.ck-content .table table th{background:#0000000d;font-weight:700}.ck-content[dir=rtl] .table th{text-align:right}.ck-content[dir=ltr] .table th{text-align:left}.ck-editor__editable .ck-table-bogus-paragraph{display:inline-block;width:100%}\",\"\",{version:3,sources:[\"webpack://./node_modules/@ckeditor/ckeditor5-table/theme/table.css\"],names:[],mappings:\"AAKA,mBAKC,aAAc,CADd,gBAiCD,CA9BC,yBAYC,yBAAkC,CAVlC,wBAAyB,CACzB,gBAAiB,CAKjB,WAAY,CADZ,UAsBD,CAfC,wDAQC,wBAAiC,CANjC,aAAc,CACd,YAMD,CAEA,4BAEC,oBAA+B,CAD/B,eAED,CAMF,+BACC,gBACD,CAEA,+BACC,eACD,CAEA,+CAKC,oBAAqB,CAMrB,UACD\",sourcesContent:['/*\\n * Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\\n */\\n\\n.ck-content .table {\\n\\t/* Give the table widget some air and center it horizontally */\\n\\t/* The first value should be equal to --ck-spacing-large variable if used in the editor context\\n\\tto avoid the content jumping (See https://github.com/ckeditor/ckeditor5/issues/9825). */\\n\\tmargin: 0.9em auto;\\n\\tdisplay: table;\\n\\n\\t& table {\\n\\t\\t/* The table cells should have slight borders */\\n\\t\\tborder-collapse: collapse;\\n\\t\\tborder-spacing: 0;\\n\\n\\t\\t/* Table width and height are set on the parent
. Make sure the table inside stretches\\n\\t\\tto the full dimensions of the container (https://github.com/ckeditor/ckeditor5/issues/6186). */\\n\\t\\twidth: 100%;\\n\\t\\theight: 100%;\\n\\n\\t\\t/* The outer border of the table should be slightly darker than the inner lines.\\n\\t\\tAlso see https://github.com/ckeditor/ckeditor5-table/issues/50. */\\n\\t\\tborder: 1px double hsl(0, 0%, 70%);\\n\\n\\t\\t& td,\\n\\t\\t& th {\\n\\t\\t\\tmin-width: 2em;\\n\\t\\t\\tpadding: .4em;\\n\\n\\t\\t\\t/* The border is inherited from .ck-editor__nested-editable styles, so theoretically it\\'s not necessary here.\\n\\t\\t\\tHowever, the border is a content style, so it should use .ck-content (so it works outside the editor).\\n\\t\\t\\tHence, the duplication. See https://github.com/ckeditor/ckeditor5/issues/6314 */\\n\\t\\t\\tborder: 1px solid hsl(0, 0%, 75%);\\n\\t\\t}\\n\\n\\t\\t& th {\\n\\t\\t\\tfont-weight: bold;\\n\\t\\t\\tbackground: hsla(0, 0%, 0%, 5%);\\n\\t\\t}\\n\\t}\\n}\\n\\n/* Text alignment of the table header should match the editor settings and override the native browser styling,\\nwhen content is available outside the editor. See https://github.com/ckeditor/ckeditor5/issues/6638 */\\n.ck-content[dir=\"rtl\"] .table th {\\n\\ttext-align: right;\\n}\\n\\n.ck-content[dir=\"ltr\"] .table th {\\n\\ttext-align: left;\\n}\\n\\n.ck-editor__editable .ck-table-bogus-paragraph {\\n\\t/*\\n\\t * Use display:inline-block to force Chrome/Safari to limit text mutations to this element.\\n\\t * See https://github.com/ckeditor/ckeditor5/issues/6062.\\n\\t */\\n\\tdisplay: inline-block;\\n\\n\\t/*\\n\\t * Inline HTML elements nested in the span should always be dimensioned in relation to the whole cell width.\\n\\t * See https://github.com/ckeditor/ckeditor5/issues/9117.\\n\\t */\\n\\twidth: 100%;\\n}\\n'],sourceRoot:\"\"}]);const a=s},1111:(t,e,n)=>{\"use strict\";n.d(e,{Z:()=>a});var o=n(4015),i=n.n(o),r=n(3645),s=n.n(r)()(i());s.push([t.id,\":root{--ck-color-selector-caption-background:#f7f7f7;--ck-color-selector-caption-text:#333;--ck-color-selector-caption-highlighted-background:#fd0}.ck-content .table>figcaption{background-color:var(--ck-color-selector-caption-background);caption-side:top;color:var(--ck-color-selector-caption-text);display:table-caption;font-size:.75em;outline-offset:-1px;padding:.6em;text-align:center;word-break:break-word}.ck.ck-editor__editable .table>figcaption.table__caption_highlighted{animation:ck-table-caption-highlight .6s ease-out}.ck.ck-editor__editable .table>figcaption.ck-placeholder:before{overflow:hidden;padding-left:inherit;padding-right:inherit;text-overflow:ellipsis;white-space:nowrap}@keyframes ck-table-caption-highlight{0%{background-color:var(--ck-color-selector-caption-highlighted-background)}to{background-color:var(--ck-color-selector-caption-background)}}\",\"\",{version:3,sources:[\"webpack://./node_modules/@ckeditor/ckeditor5-table/theme/tablecaption.css\"],names:[],mappings:\"AAKA,MACC,8CAAuD,CACvD,qCAAiD,CACjD,uDACD,CAGA,8BAMC,4DAA6D,CAJ7D,gBAAiB,CAGjB,2CAA4C,CAJ5C,qBAAsB,CAOtB,eAAgB,CAChB,mBAAoB,CAFpB,YAAa,CAHb,iBAAkB,CADlB,qBAOD,CAIC,qEACC,iDACD,CAEA,gEASC,eAAgB,CARhB,oBAAqB,CACrB,qBAAsB,CAQtB,sBAAuB,CAFvB,kBAGD,CAGD,sCACC,GACC,wEACD,CAEA,GACC,4DACD,CACD\",sourcesContent:[\"/*\\n * Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\\n */\\n\\n:root {\\n\\t--ck-color-selector-caption-background: hsl(0, 0%, 97%);\\n\\t--ck-color-selector-caption-text: hsl(0, 0%, 20%);\\n\\t--ck-color-selector-caption-highlighted-background: hsl(52deg 100% 50%);\\n}\\n\\n/* Content styles */\\n.ck-content .table > figcaption {\\n\\tdisplay: table-caption;\\n\\tcaption-side: top;\\n\\tword-break: break-word;\\n\\ttext-align: center;\\n\\tcolor: var(--ck-color-selector-caption-text);\\n\\tbackground-color: var(--ck-color-selector-caption-background);\\n\\tpadding: .6em;\\n\\tfont-size: .75em;\\n\\toutline-offset: -1px;\\n}\\n\\n/* Editing styles */\\n.ck.ck-editor__editable .table > figcaption {\\n\\t&.table__caption_highlighted {\\n\\t\\tanimation: ck-table-caption-highlight .6s ease-out;\\n\\t}\\n\\n\\t&.ck-placeholder::before {\\n\\t\\tpadding-left: inherit;\\n\\t\\tpadding-right: inherit;\\n\\n\\t\\t/*\\n\\t\\t * Make sure the table caption placeholder doesn't overflow the placeholder area.\\n\\t\\t * See https://github.com/ckeditor/ckeditor5/issues/9162.\\n\\t\\t */\\n\\t\\twhite-space: nowrap;\\n\\t\\toverflow: hidden;\\n\\t\\ttext-overflow: ellipsis;\\n\\t}\\n}\\n\\n@keyframes ck-table-caption-highlight {\\n\\t0% {\\n\\t\\tbackground-color: var(--ck-color-selector-caption-highlighted-background);\\n\\t}\\n\\n\\t100% {\\n\\t\\tbackground-color: var(--ck-color-selector-caption-background);\\n\\t}\\n}\\n\"],sourceRoot:\"\"}]);const a=s},3964:(t,e,n)=>{\"use strict\";n.d(e,{Z:()=>a});var o=n(4015),i=n.n(o),r=n(3645),s=n.n(r)()(i());s.push([t.id,\".ck.ck-table-cell-properties-form .ck-form__row.ck-table-cell-properties-form__alignment-row{flex-wrap:wrap}.ck.ck-table-cell-properties-form .ck-form__row.ck-table-cell-properties-form__alignment-row .ck.ck-toolbar:first-of-type{flex-grow:0.57}.ck.ck-table-cell-properties-form .ck-form__row.ck-table-cell-properties-form__alignment-row .ck.ck-toolbar:last-of-type{flex-grow:0.43}.ck.ck-table-cell-properties-form .ck-form__row.ck-table-cell-properties-form__alignment-row .ck.ck-toolbar .ck-button{flex-grow:1}.ck.ck-table-cell-properties-form{width:320px}.ck.ck-table-cell-properties-form .ck-form__row.ck-table-cell-properties-form__padding-row{align-self:flex-end;padding:0;width:25%}.ck.ck-table-cell-properties-form .ck-form__row.ck-table-cell-properties-form__alignment-row .ck.ck-toolbar{background:none;margin-top:var(--ck-spacing-standard)}\",\"\",{version:3,sources:[\"webpack://./node_modules/@ckeditor/ckeditor5-table/theme/tablecellproperties.css\",\"webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-table/tablecellproperties.css\"],names:[],mappings:\"AAOE,6FACC,cAiBD,CAdE,0HAEC,cACD,CAEA,yHAEC,cACD,CAEA,uHACC,WACD,CClBJ,kCACC,WAkBD,CAfE,2FACC,mBAAoB,CACpB,SAAU,CACV,SACD,CAGC,4GACC,eAAgB,CAGhB,qCACD\",sourcesContent:[\"/*\\n * Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\\n */\\n\\n.ck.ck-table-cell-properties-form {\\n\\t& .ck-form__row {\\n\\t\\t&.ck-table-cell-properties-form__alignment-row {\\n\\t\\t\\tflex-wrap: wrap;\\n\\n\\t\\t\\t& .ck.ck-toolbar {\\n\\t\\t\\t\\t&:first-of-type {\\n\\t\\t\\t\\t\\t/* 4 buttons out of 7 (h-alignment + v-alignment) = 0.57 */\\n\\t\\t\\t\\t\\tflex-grow: 0.57;\\n\\t\\t\\t\\t}\\n\\n\\t\\t\\t\\t&:last-of-type {\\n\\t\\t\\t\\t\\t/* 3 buttons out of 7 (h-alignment + v-alignment) = 0.43 */\\n\\t\\t\\t\\t\\tflex-grow: 0.43;\\n\\t\\t\\t\\t}\\n\\n\\t\\t\\t\\t& .ck-button {\\n\\t\\t\\t\\t\\tflex-grow: 1;\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n}\\n\",\"/*\\n * Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\\n */\\n\\n.ck.ck-table-cell-properties-form {\\n\\twidth: 320px;\\n\\n\\t& .ck-form__row {\\n\\t\\t&.ck-table-cell-properties-form__padding-row {\\n\\t\\t\\talign-self: flex-end;\\n\\t\\t\\tpadding: 0;\\n\\t\\t\\twidth: 25%;\\n\\t\\t}\\n\\n\\t\\t&.ck-table-cell-properties-form__alignment-row {\\n\\t\\t\\t& .ck.ck-toolbar {\\n\\t\\t\\t\\tbackground: none;\\n\\n\\t\\t\\t\\t/* Compensate for missing input label that would push the margin (toolbar has no inputs). */\\n\\t\\t\\t\\tmargin-top: var(--ck-spacing-standard);\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n}\\n\"],sourceRoot:\"\"}]);const a=s},7176:(t,e,n)=>{\"use strict\";n.d(e,{Z:()=>a});var o=n(4015),i=n.n(o),r=n(3645),s=n.n(r)()(i());s.push([t.id,\":root{--ck-color-selector-column-resizer-hover:var(--ck-color-base-active);--ck-table-column-resizer-width:7px;--ck-table-column-resizer-position-offset:calc(var(--ck-table-column-resizer-width)*-0.5 - 0.5px)}.ck-content .table .ck-table-resized{table-layout:fixed}.ck-content .table table{overflow:hidden}.ck-content .table td,.ck-content .table th{overflow-wrap:break-word;position:relative}.ck.ck-editor__editable .table .ck-table-column-resizer{bottom:0;cursor:col-resize;position:absolute;right:var(--ck-table-column-resizer-position-offset);top:0;user-select:none;width:var(--ck-table-column-resizer-width);z-index:var(--ck-z-default)}.ck.ck-editor__editable .table[draggable] .ck-table-column-resizer,.ck.ck-editor__editable.ck-column-resize_disabled .table .ck-table-column-resizer{display:none}.ck.ck-editor__editable .table .ck-table-column-resizer:hover,.ck.ck-editor__editable .table .ck-table-column-resizer__active{background-color:var(--ck-color-selector-column-resizer-hover);bottom:-999999px;opacity:.25;top:-999999px}.ck.ck-editor__editable[dir=rtl] .table .ck-table-column-resizer{left:var(--ck-table-column-resizer-position-offset);right:unset}\",\"\",{version:3,sources:[\"webpack://./node_modules/@ckeditor/ckeditor5-table/theme/tablecolumnresize.css\"],names:[],mappings:\"AAKA,MACC,oEAAqE,CACrE,mCAAoC,CAIpC,iGACD,CAEA,qCACC,kBACD,CAEA,yBACC,eACD,CAEA,4CAIC,wBAAyB,CACzB,iBACD,CAEA,wDAGC,QAAS,CAGT,iBAAkB,CALlB,iBAAkB,CAGlB,oDAAqD,CAFrD,KAAM,CAKN,gBAAiB,CAFjB,0CAA2C,CAG3C,2BACD,CAQA,qJACC,YACD,CAEA,8HAEC,8DAA+D,CAO/D,gBAAiB,CANjB,WAAa,CAKb,aAED,CAEA,iEACC,mDAAoD,CACpD,WACD\",sourcesContent:[\"/*\\n * Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\\n */\\n\\n:root {\\n\\t--ck-color-selector-column-resizer-hover: var(--ck-color-base-active);\\n\\t--ck-table-column-resizer-width: 7px;\\n\\n\\t/* The offset used for absolute positioning of the resizer element, so that it is placed exactly above the cell border.\\n\\t The value is: minus half the width of the resizer decreased additionaly by the half the width of the border (0.5px). */\\n\\t--ck-table-column-resizer-position-offset: calc(var(--ck-table-column-resizer-width) * -0.5 - 0.5px);\\n}\\n\\n.ck-content .table .ck-table-resized {\\n\\ttable-layout: fixed;\\n}\\n\\n.ck-content .table table {\\n\\toverflow: hidden;\\n}\\n\\n.ck-content .table td,\\n.ck-content .table th {\\n\\t/* To prevent text overflowing beyond its cell when columns are resized by resize handler\\n\\t(https://github.com/ckeditor/ckeditor5/pull/14379#issuecomment-1589460978). */\\n\\toverflow-wrap: break-word;\\n\\tposition: relative;\\n}\\n\\n.ck.ck-editor__editable .table .ck-table-column-resizer {\\n\\tposition: absolute;\\n\\ttop: 0;\\n\\tbottom: 0;\\n\\tright: var(--ck-table-column-resizer-position-offset);\\n\\twidth: var(--ck-table-column-resizer-width);\\n\\tcursor: col-resize;\\n\\tuser-select: none;\\n\\tz-index: var(--ck-z-default);\\n}\\n\\n.ck.ck-editor__editable.ck-column-resize_disabled .table .ck-table-column-resizer {\\n\\tdisplay: none;\\n}\\n\\n/* The resizer elements, which are extended to an extremely high height, break the drag & drop feature in Chrome. To make it work again,\\n all resizers must be hidden while the table is dragged. */\\n.ck.ck-editor__editable .table[draggable] .ck-table-column-resizer {\\n\\tdisplay: none;\\n}\\n\\n.ck.ck-editor__editable .table .ck-table-column-resizer:hover,\\n.ck.ck-editor__editable .table .ck-table-column-resizer__active {\\n\\tbackground-color: var(--ck-color-selector-column-resizer-hover);\\n\\topacity: 0.25;\\n\\t/* The resizer element resides in each cell so to occupy the entire height of the table, which is unknown from a CSS point of view,\\n\\t it is extended to an extremely high height. Even for screens with a very high pixel density, the resizer will fulfill its role as\\n\\t it should, i.e. for a screen of 476 ppi the total height of the resizer will take over 350 sheets of A4 format, which is totally\\n\\t unrealistic height for a single table. */\\n\\ttop: -999999px;\\n\\tbottom: -999999px;\\n}\\n\\n.ck.ck-editor__editable[dir=rtl] .table .ck-table-column-resizer {\\n\\tleft: var(--ck-table-column-resizer-position-offset);\\n\\tright: unset;\\n}\\n\"],sourceRoot:\"\"}]);const a=s},8361:(t,e,n)=>{\"use strict\";n.d(e,{Z:()=>a});var o=n(4015),i=n.n(o),r=n(3645),s=n.n(r)()(i());s.push([t.id,\":root{--ck-color-selector-focused-cell-background:#9ec9fa4d}.ck-widget.table td.ck-editor__nested-editable.ck-editor__nested-editable_focused,.ck-widget.table td.ck-editor__nested-editable:focus,.ck-widget.table th.ck-editor__nested-editable.ck-editor__nested-editable_focused,.ck-widget.table th.ck-editor__nested-editable:focus{background:var(--ck-color-selector-focused-cell-background);border-style:none;outline:1px solid var(--ck-color-focus-border);outline-offset:-1px}\",\"\",{version:3,sources:[\"webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-table/tableediting.css\"],names:[],mappings:\"AAKA,MACC,qDACD,CAKE,8QAGC,2DAA4D,CAK5D,iBAAkB,CAClB,8CAA+C,CAC/C,mBACD\",sourcesContent:[\"/*\\n * Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\\n */\\n\\n:root {\\n\\t--ck-color-selector-focused-cell-background: hsla(212, 90%, 80%, .3);\\n}\\n\\n.ck-widget.table {\\n\\t& td,\\n\\t& th {\\n\\t\\t&.ck-editor__nested-editable.ck-editor__nested-editable_focused,\\n\\t\\t&.ck-editor__nested-editable:focus {\\n\\t\\t\\t/* A very slight background to highlight the focused cell */\\n\\t\\t\\tbackground: var(--ck-color-selector-focused-cell-background);\\n\\n\\t\\t\\t/* Fixes the problem where surrounding cells cover the focused cell's border.\\n\\t\\t\\tIt does not fix the problem in all places but the UX is improved.\\n\\t\\t\\tSee https://github.com/ckeditor/ckeditor5-table/issues/29. */\\n\\t\\t\\tborder-style: none;\\n\\t\\t\\toutline: 1px solid var(--ck-color-focus-border);\\n\\t\\t\\toutline-offset: -1px; /* progressive enhancement - no IE support */\\n\\t\\t}\\n\\t}\\n}\\n\"],sourceRoot:\"\"}]);const a=s},9429:(t,e,n)=>{\"use strict\";n.d(e,{Z:()=>a});var o=n(4015),i=n.n(o),r=n(3645),s=n.n(r)()(i());s.push([t.id,'.ck.ck-table-form .ck-form__row.ck-table-form__background-row,.ck.ck-table-form .ck-form__row.ck-table-form__border-row{flex-wrap:wrap}.ck.ck-table-form .ck-form__row.ck-table-form__dimensions-row{align-items:center;flex-wrap:wrap}.ck.ck-table-form .ck-form__row.ck-table-form__dimensions-row .ck-labeled-field-view{align-items:center;display:flex;flex-direction:column-reverse}.ck.ck-table-form .ck-form__row.ck-table-form__dimensions-row .ck-labeled-field-view .ck.ck-dropdown,.ck.ck-table-form .ck-form__row.ck-table-form__dimensions-row .ck-table-form__dimension-operator{flex-grow:0}.ck.ck-table-form .ck.ck-labeled-field-view{position:relative}.ck.ck-table-form .ck.ck-labeled-field-view .ck.ck-labeled-field-view__status{bottom:calc(var(--ck-table-properties-error-arrow-size)*-1);left:50%;position:absolute;transform:translate(-50%,100%);z-index:1}.ck.ck-table-form .ck.ck-labeled-field-view .ck.ck-labeled-field-view__status:after{content:\"\";left:50%;position:absolute;top:calc(var(--ck-table-properties-error-arrow-size)*-1);transform:translateX(-50%)}:root{--ck-table-properties-error-arrow-size:6px;--ck-table-properties-min-error-width:150px}.ck.ck-table-form .ck-form__row.ck-table-form__border-row .ck-labeled-field-view>.ck-label{font-size:var(--ck-font-size-tiny);text-align:center}.ck.ck-table-form .ck-form__row.ck-table-form__border-row .ck-table-form__border-style,.ck.ck-table-form .ck-form__row.ck-table-form__border-row .ck-table-form__border-width{max-width:80px;min-width:80px;width:80px}.ck.ck-table-form .ck-form__row.ck-table-form__dimensions-row{padding:0}.ck.ck-table-form .ck-form__row.ck-table-form__dimensions-row .ck-table-form__dimensions-row__height,.ck.ck-table-form .ck-form__row.ck-table-form__dimensions-row .ck-table-form__dimensions-row__width{margin:0}.ck.ck-table-form .ck-form__row.ck-table-form__dimensions-row .ck-table-form__dimension-operator{align-self:flex-end;display:inline-block;height:var(--ck-ui-component-min-height);line-height:var(--ck-ui-component-min-height);margin:0 var(--ck-spacing-small)}.ck.ck-table-form .ck.ck-labeled-field-view{padding-top:var(--ck-spacing-standard)}.ck.ck-table-form .ck.ck-labeled-field-view .ck.ck-labeled-field-view__status{border-radius:0}.ck-rounded-corners .ck.ck-table-form .ck.ck-labeled-field-view .ck.ck-labeled-field-view__status,.ck.ck-table-form .ck.ck-labeled-field-view .ck.ck-labeled-field-view__status.ck-rounded-corners{border-radius:var(--ck-border-radius)}.ck.ck-table-form .ck.ck-labeled-field-view .ck.ck-labeled-field-view__status{background:var(--ck-color-base-error);color:var(--ck-color-base-background);min-width:var(--ck-table-properties-min-error-width);padding:var(--ck-spacing-small) var(--ck-spacing-medium);text-align:center}.ck.ck-table-form .ck.ck-labeled-field-view .ck.ck-labeled-field-view__status:after{border-color:#0000 #0000 var(--ck-color-base-error) #0000;border-style:solid;border-width:0 var(--ck-table-properties-error-arrow-size) var(--ck-table-properties-error-arrow-size) var(--ck-table-properties-error-arrow-size)}.ck.ck-table-form .ck.ck-labeled-field-view .ck.ck-labeled-field-view__status{animation:ck-table-form-labeled-view-status-appear .15s ease both}.ck.ck-table-form .ck.ck-labeled-field-view .ck-input.ck-error:not(:focus)+.ck.ck-labeled-field-view__status{display:none}@keyframes ck-table-form-labeled-view-status-appear{0%{opacity:0}to{opacity:1}}',\"\",{version:3,sources:[\"webpack://./node_modules/@ckeditor/ckeditor5-table/theme/tableform.css\",\"webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-table/tableform.css\",\"webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/mixins/_rounded.css\"],names:[],mappings:\"AAWE,wHACC,cACD,CAEA,8DAEC,kBAAmB,CADnB,cAgBD,CAbC,qFAGC,kBAAmB,CAFnB,YAAa,CACb,6BAMD,CAEA,sMACC,WACD,CAIF,4CAEC,iBAoBD,CAlBC,8EAGC,2DAAgE,CADhE,QAAS,CADT,iBAAkB,CAGlB,8BAA+B,CAG/B,SAUD,CAPC,oFACC,UAAW,CAGX,QAAS,CAFT,iBAAkB,CAClB,wDAA6D,CAE7D,0BACD,CChDH,MACC,0CAA2C,CAC3C,2CACD,CAMI,2FACC,kCAAmC,CACnC,iBACD,CAGD,8KAIC,cAAe,CADf,cAAe,CADf,UAGD,CAGD,8DACC,SAcD,CAZC,yMAEC,QACD,CAEA,iGACC,mBAAoB,CACpB,oBAAqB,CACrB,wCAAyC,CACzC,6CAA8C,CAC9C,gCACD,CAIF,4CACC,sCAyBD,CAvBC,8ECxCD,eDyDC,CAjBA,mMCpCA,qCDqDA,CAjBA,8EAGC,qCAAsC,CACtC,qCAAsC,CAEtC,oDAAqD,CADrD,wDAAyD,CAEzD,iBAUD,CAPC,oFACC,yDAA4E,CAE5E,kBAAmB,CADnB,kJAED,CAdD,8EAgBC,iEACD,CAGA,6GACC,YACD,CAIF,oDACC,GACC,SACD,CAEA,GACC,SACD,CACD\",sourcesContent:['/*\\n * Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\\n */\\n\\n.ck.ck-table-form {\\n\\t& .ck-form__row {\\n\\t\\t&.ck-table-form__border-row {\\n\\t\\t\\tflex-wrap: wrap;\\n\\t\\t}\\n\\n\\t\\t&.ck-table-form__background-row {\\n\\t\\t\\tflex-wrap: wrap;\\n\\t\\t}\\n\\n\\t\\t&.ck-table-form__dimensions-row {\\n\\t\\t\\tflex-wrap: wrap;\\n\\t\\t\\talign-items: center;\\n\\n\\t\\t\\t& .ck-labeled-field-view {\\n\\t\\t\\t\\tdisplay: flex;\\n\\t\\t\\t\\tflex-direction: column-reverse;\\n\\t\\t\\t\\talign-items: center;\\n\\n\\t\\t\\t\\t& .ck.ck-dropdown {\\n\\t\\t\\t\\t\\tflex-grow: 0;\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\n\\t\\t\\t& .ck-table-form__dimension-operator {\\n\\t\\t\\t\\tflex-grow: 0;\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n\\n\\t& .ck.ck-labeled-field-view {\\n\\t\\t/* Allow absolute positioning of the status (error) balloons. */\\n\\t\\tposition: relative;\\n\\n\\t\\t& .ck.ck-labeled-field-view__status {\\n\\t\\t\\tposition: absolute;\\n\\t\\t\\tleft: 50%;\\n\\t\\t\\tbottom: calc( -1 * var(--ck-table-properties-error-arrow-size) );\\n\\t\\t\\ttransform: translate(-50%,100%);\\n\\n\\t\\t\\t/* Make sure the balloon status stays on top of other form elements. */\\n\\t\\t\\tz-index: 1;\\n\\n\\t\\t\\t/* The arrow pointing towards the field. */\\n\\t\\t\\t&::after {\\n\\t\\t\\t\\tcontent: \"\";\\n\\t\\t\\t\\tposition: absolute;\\n\\t\\t\\t\\ttop: calc( -1 * var(--ck-table-properties-error-arrow-size) );\\n\\t\\t\\t\\tleft: 50%;\\n\\t\\t\\t\\ttransform: translateX( -50% );\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n}\\n','/*\\n * Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\\n */\\n\\n@import \"../mixins/_rounded.css\";\\n\\n:root {\\n\\t--ck-table-properties-error-arrow-size: 6px;\\n\\t--ck-table-properties-min-error-width: 150px;\\n}\\n\\n.ck.ck-table-form {\\n\\t& .ck-form__row {\\n\\t\\t&.ck-table-form__border-row {\\n\\t\\t\\t& .ck-labeled-field-view {\\n\\t\\t\\t\\t& > .ck-label {\\n\\t\\t\\t\\t\\tfont-size: var(--ck-font-size-tiny);\\n\\t\\t\\t\\t\\ttext-align: center;\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\n\\t\\t\\t& .ck-table-form__border-style,\\n\\t\\t\\t& .ck-table-form__border-width {\\n\\t\\t\\t\\twidth: 80px;\\n\\t\\t\\t\\tmin-width: 80px;\\n\\t\\t\\t\\tmax-width: 80px;\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\t&.ck-table-form__dimensions-row {\\n\\t\\t\\tpadding: 0;\\n\\n\\t\\t\\t& .ck-table-form__dimensions-row__width,\\n\\t\\t\\t& .ck-table-form__dimensions-row__height {\\n\\t\\t\\t\\tmargin: 0\\n\\t\\t\\t}\\n\\n\\t\\t\\t& .ck-table-form__dimension-operator {\\n\\t\\t\\t\\talign-self: flex-end;\\n\\t\\t\\t\\tdisplay: inline-block;\\n\\t\\t\\t\\theight: var(--ck-ui-component-min-height);\\n\\t\\t\\t\\tline-height: var(--ck-ui-component-min-height);\\n\\t\\t\\t\\tmargin: 0 var(--ck-spacing-small);\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n\\n\\t& .ck.ck-labeled-field-view {\\n\\t\\tpadding-top: var(--ck-spacing-standard);\\n\\n\\t\\t& .ck.ck-labeled-field-view__status {\\n\\t\\t\\t@mixin ck-rounded-corners;\\n\\n\\t\\t\\tbackground: var(--ck-color-base-error);\\n\\t\\t\\tcolor: var(--ck-color-base-background);\\n\\t\\t\\tpadding: var(--ck-spacing-small) var(--ck-spacing-medium);\\n\\t\\t\\tmin-width: var(--ck-table-properties-min-error-width);\\n\\t\\t\\ttext-align: center;\\n\\n\\t\\t\\t/* The arrow pointing towards the field. */\\n\\t\\t\\t&::after {\\n\\t\\t\\t\\tborder-color: transparent transparent var(--ck-color-base-error) transparent;\\n\\t\\t\\t\\tborder-width: 0 var(--ck-table-properties-error-arrow-size) var(--ck-table-properties-error-arrow-size) var(--ck-table-properties-error-arrow-size);\\n\\t\\t\\t\\tborder-style: solid;\\n\\t\\t\\t}\\n\\n\\t\\t\\tanimation: ck-table-form-labeled-view-status-appear .15s ease both;\\n\\t\\t}\\n\\n\\t\\t/* Hide the error balloon when the field is blurred. Makes the experience much more clear. */\\n\\t\\t& .ck-input.ck-error:not(:focus) + .ck.ck-labeled-field-view__status {\\n\\t\\t\\tdisplay: none;\\n\\t\\t}\\n\\t}\\n}\\n\\n@keyframes ck-table-form-labeled-view-status-appear {\\n\\t0% {\\n\\t\\topacity: 0;\\n\\t}\\n\\n\\t100% {\\n\\t\\topacity: 1;\\n\\t}\\n}\\n',\"/*\\n * Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\\n */\\n\\n/**\\n * Implements rounded corner interface for .ck-rounded-corners class.\\n *\\n * @see $ck-border-radius\\n */\\n@define-mixin ck-rounded-corners {\\n\\tborder-radius: 0;\\n\\n\\t@nest .ck-rounded-corners &,\\n\\t&.ck-rounded-corners {\\n\\t\\tborder-radius: var(--ck-border-radius);\\n\\t\\t@mixin-content;\\n\\t}\\n}\\n\"],sourceRoot:\"\"}]);const a=s},6596:(t,e,n)=>{\"use strict\";n.d(e,{Z:()=>a});var o=n(4015),i=n.n(o),r=n(3645),s=n.n(r)()(i());s.push([t.id,\".ck.ck-table-properties-form .ck-form__row.ck-table-properties-form__alignment-row{align-content:baseline;flex-basis:0;flex-wrap:wrap}.ck.ck-table-properties-form .ck-form__row.ck-table-properties-form__alignment-row .ck.ck-toolbar .ck-toolbar__items{flex-wrap:nowrap}.ck.ck-table-properties-form{width:320px}.ck.ck-table-properties-form .ck-form__row.ck-table-properties-form__alignment-row{align-self:flex-end;padding:0}.ck.ck-table-properties-form .ck-form__row.ck-table-properties-form__alignment-row .ck.ck-toolbar{background:none;margin-top:var(--ck-spacing-standard)}.ck.ck-table-properties-form .ck-form__row.ck-table-properties-form__alignment-row .ck.ck-toolbar .ck-toolbar__items>*{width:40px}\",\"\",{version:3,sources:[\"webpack://./node_modules/@ckeditor/ckeditor5-table/theme/tableproperties.css\",\"webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-table/tableproperties.css\"],names:[],mappings:\"AAOE,mFAGC,sBAAuB,CADvB,YAAa,CADb,cAOD,CAHC,qHACC,gBACD,CCTH,6BACC,WAmBD,CAhBE,mFACC,mBAAoB,CACpB,SAYD,CAVC,kGACC,eAAgB,CAGhB,qCAKD,CAHC,uHACC,UACD\",sourcesContent:[\"/*\\n * Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\\n */\\n\\n.ck.ck-table-properties-form {\\n\\t& .ck-form__row {\\n\\t\\t&.ck-table-properties-form__alignment-row {\\n\\t\\t\\tflex-wrap: wrap;\\n\\t\\t\\tflex-basis: 0;\\n\\t\\t\\talign-content: baseline;\\n\\n\\t\\t\\t& .ck.ck-toolbar .ck-toolbar__items {\\n\\t\\t\\t\\tflex-wrap: nowrap;\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n}\\n\",\"/*\\n * Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\\n */\\n\\n.ck.ck-table-properties-form {\\n\\twidth: 320px;\\n\\n\\t& .ck-form__row {\\n\\t\\t&.ck-table-properties-form__alignment-row {\\n\\t\\t\\talign-self: flex-end;\\n\\t\\t\\tpadding: 0;\\n\\n\\t\\t\\t& .ck.ck-toolbar {\\n\\t\\t\\t\\tbackground: none;\\n\\n\\t\\t\\t\\t/* Compensate for missing input label that would push the margin (toolbar has no inputs). */\\n\\t\\t\\t\\tmargin-top: var(--ck-spacing-standard);\\n\\n\\t\\t\\t\\t& .ck-toolbar__items > * {\\n\\t\\t\\t\\t\\twidth: 40px;\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n}\\n\"],sourceRoot:\"\"}]);const a=s},1546:(t,e,n)=>{\"use strict\";n.d(e,{Z:()=>a});var o=n(4015),i=n.n(o),r=n(3645),s=n.n(r)()(i());s.push([t.id,':root{--ck-table-selected-cell-background:#9ecffa4d}.ck.ck-editor__editable .table table td.ck-editor__editable_selected,.ck.ck-editor__editable .table table th.ck-editor__editable_selected{box-shadow:unset;caret-color:#0000;outline:unset;position:relative}.ck.ck-editor__editable .table table td.ck-editor__editable_selected:after,.ck.ck-editor__editable .table table th.ck-editor__editable_selected:after{background-color:var(--ck-table-selected-cell-background);bottom:0;content:\"\";left:0;pointer-events:none;position:absolute;right:0;top:0}.ck.ck-editor__editable .table table td.ck-editor__editable_selected ::selection,.ck.ck-editor__editable .table table td.ck-editor__editable_selected:focus,.ck.ck-editor__editable .table table th.ck-editor__editable_selected ::selection,.ck.ck-editor__editable .table table th.ck-editor__editable_selected:focus{background-color:initial}.ck.ck-editor__editable .table table td.ck-editor__editable_selected .ck-widget,.ck.ck-editor__editable .table table th.ck-editor__editable_selected .ck-widget{outline:unset}.ck.ck-editor__editable .table table td.ck-editor__editable_selected .ck-widget>.ck-widget__selection-handle,.ck.ck-editor__editable .table table th.ck-editor__editable_selected .ck-widget>.ck-widget__selection-handle{display:none}',\"\",{version:3,sources:[\"webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-table/tableselection.css\"],names:[],mappings:\"AAKA,MACC,6CACD,CAGC,0IAKC,gBAAiB,CAFjB,iBAAwB,CACxB,aAAc,CAFd,iBAiCD,CA3BC,sJAGC,yDAA0D,CAK1D,QAAS,CAPT,UAAW,CAKX,MAAO,CAJP,mBAAoB,CAEpB,iBAAkB,CAGlB,OAAQ,CAFR,KAID,CAEA,wTAEC,wBACD,CAMA,gKACC,aAKD,CAHC,0NACC,YACD\",sourcesContent:[\"/*\\n * Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\\n */\\n\\n:root {\\n\\t--ck-table-selected-cell-background: hsla(208, 90%, 80%, .3);\\n}\\n\\n.ck.ck-editor__editable .table table {\\n\\t& td.ck-editor__editable_selected,\\n\\t& th.ck-editor__editable_selected {\\n\\t\\tposition: relative;\\n\\t\\tcaret-color: transparent;\\n\\t\\toutline: unset;\\n\\t\\tbox-shadow: unset;\\n\\n\\t\\t/* https://github.com/ckeditor/ckeditor5/issues/6446 */\\n\\t\\t&:after {\\n\\t\\t\\tcontent: '';\\n\\t\\t\\tpointer-events: none;\\n\\t\\t\\tbackground-color: var(--ck-table-selected-cell-background);\\n\\t\\t\\tposition: absolute;\\n\\t\\t\\ttop: 0;\\n\\t\\t\\tleft: 0;\\n\\t\\t\\tright: 0;\\n\\t\\t\\tbottom: 0;\\n\\t\\t}\\n\\n\\t\\t& ::selection,\\n\\t\\t&:focus {\\n\\t\\t\\tbackground-color: transparent;\\n\\t\\t}\\n\\n\\t\\t/*\\n\\t\\t * To reduce the amount of noise, all widgets in the table selection have no outline and no selection handle.\\n\\t\\t * See https://github.com/ckeditor/ckeditor5/issues/9491.\\n\\t\\t */\\n\\t\\t& .ck-widget {\\n\\t\\t\\toutline: unset;\\n\\n\\t\\t\\t& > .ck-widget__selection-handle {\\n\\t\\t\\t\\tdisplay: none;\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n}\\n\"],sourceRoot:\"\"}]);const a=s},3290:(t,e,n)=>{\"use strict\";n.d(e,{Z:()=>a});var o=n(4015),i=n.n(o),r=n(3645),s=n.n(r)()(i());s.push([t.id,\".ck.ck-aria-live-announcer{left:-10000px;position:absolute;top:-10000px}\",\"\",{version:3,sources:[\"webpack://./node_modules/@ckeditor/ckeditor5-ui/theme/components/arialiveannouncer/arialiveannouncer.css\"],names:[],mappings:\"AAKA,2BAEC,aAAc,CADd,iBAAkB,CAElB,YACD\",sourcesContent:[\"/*\\n * Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\\n */\\n\\n.ck.ck-aria-live-announcer {\\n\\tposition: absolute;\\n\\tleft: -10000px;\\n\\ttop: -10000px;\\n}\\n\"],sourceRoot:\"\"}]);const a=s},4029:(t,e,n)=>{\"use strict\";n.d(e,{Z:()=>a});var o=n(4015),i=n.n(o),r=n(3645),s=n.n(r)()(i());s.push([t.id,\".ck.ck-autocomplete{position:relative}.ck.ck-autocomplete>.ck-search__results{position:absolute;z-index:var(--ck-z-modal)}.ck.ck-autocomplete>.ck-search__results.ck-search__results_n{bottom:100%}.ck.ck-autocomplete>.ck-search__results.ck-search__results_s{bottom:auto;top:100%}.ck.ck-autocomplete>.ck-search__results{border-radius:0}.ck-rounded-corners .ck.ck-autocomplete>.ck-search__results,.ck.ck-autocomplete>.ck-search__results.ck-rounded-corners{border-radius:var(--ck-border-radius)}.ck.ck-autocomplete>.ck-search__results{background:var(--ck-color-base-background);border:1px solid var(--ck-color-dropdown-panel-border);box-shadow:var(--ck-drop-shadow),0 0;max-height:200px;min-width:auto;overflow-y:auto}.ck.ck-autocomplete>.ck-search__results.ck-search__results_n{border-bottom-left-radius:0;border-bottom-right-radius:0;margin-bottom:-1px}.ck.ck-autocomplete>.ck-search__results.ck-search__results_s{border-top-left-radius:0;border-top-right-radius:0;margin-top:-1px}\",\"\",{version:3,sources:[\"webpack://./node_modules/@ckeditor/ckeditor5-ui/theme/components/autocomplete/autocomplete.css\",\"webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-ui/components/autocomplete/autocomplete.css\",\"webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/mixins/_rounded.css\",\"webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/mixins/_shadow.css\"],names:[],mappings:\"AAKA,oBACC,iBAeD,CAbC,wCACC,iBAAkB,CAClB,yBAUD,CARC,6DACC,WACD,CAEA,6DAEC,WAAY,CADZ,QAED,CCVD,wCCEA,eDuBA,CAzBA,uHCMC,qCDmBD,CAzBA,wCAMC,0CAA2C,CAC3C,sDAAuD,CEPxD,oCAA8B,CFI7B,gBAAiB,CAIjB,cAAe,CAHf,eAoBD,CAfC,6DACC,2BAA4B,CAC5B,4BAA6B,CAG7B,kBACD,CAEA,6DACC,wBAAyB,CACzB,yBAA0B,CAG1B,eACD\",sourcesContent:[\"/*\\n * Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\\n */\\n\\n.ck.ck-autocomplete {\\n\\tposition: relative;\\n\\n\\t& > .ck-search__results {\\n\\t\\tposition: absolute;\\n\\t\\tz-index: var(--ck-z-modal);\\n\\n\\t\\t&.ck-search__results_n {\\n\\t\\t\\tbottom: 100%;\\n\\t\\t}\\n\\n\\t\\t&.ck-search__results_s {\\n\\t\\t\\ttop: 100%;\\n\\t\\t\\tbottom: auto;\\n\\t\\t}\\n\\t}\\n}\\n\",'/*\\n * Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\\n */\\n\\n@import \"@ckeditor/ckeditor5-theme-lark/theme/mixins/_rounded.css\";\\n@import \"@ckeditor/ckeditor5-theme-lark/theme/mixins/_shadow.css\";\\n\\n.ck.ck-autocomplete {\\n\\t& > .ck-search__results {\\n\\t\\t@mixin ck-rounded-corners;\\n\\t\\t@mixin ck-drop-shadow;\\n\\n\\t\\tmax-height: 200px;\\n\\t\\toverflow-y: auto;\\n\\t\\tbackground: var(--ck-color-base-background);\\n\\t\\tborder: 1px solid var(--ck-color-dropdown-panel-border);\\n\\t\\tmin-width: auto;\\n\\n\\t\\t&.ck-search__results_n {\\n\\t\\t\\tborder-bottom-left-radius: 0;\\n\\t\\t\\tborder-bottom-right-radius: 0;\\n\\n\\t\\t\\t/* Prevent duplicated borders between the input and the results pane. */\\n\\t\\t\\tmargin-bottom: -1px;\\n\\t\\t}\\n\\n\\t\\t&.ck-search__results_s {\\n\\t\\t\\tborder-top-left-radius: 0;\\n\\t\\t\\tborder-top-right-radius: 0;\\n\\n\\t\\t\\t/* Prevent duplicated borders between the input and the results pane. */\\n\\t\\t\\tmargin-top: -1px;\\n\\t\\t}\\n\\t}\\n}\\n',\"/*\\n * Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\\n */\\n\\n/**\\n * Implements rounded corner interface for .ck-rounded-corners class.\\n *\\n * @see $ck-border-radius\\n */\\n@define-mixin ck-rounded-corners {\\n\\tborder-radius: 0;\\n\\n\\t@nest .ck-rounded-corners &,\\n\\t&.ck-rounded-corners {\\n\\t\\tborder-radius: var(--ck-border-radius);\\n\\t\\t@mixin-content;\\n\\t}\\n}\\n\",\"/*\\n * Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\\n */\\n\\n/**\\n * A helper to combine multiple shadows.\\n */\\n@define-mixin ck-box-shadow $shadowA, $shadowB: 0 0 {\\n\\tbox-shadow: $shadowA, $shadowB;\\n}\\n\\n/**\\n * Gives an element a drop shadow so it looks like a floating panel.\\n */\\n@define-mixin ck-drop-shadow {\\n\\t@mixin ck-box-shadow var(--ck-drop-shadow);\\n}\\n\"],sourceRoot:\"\"}]);const a=s},4971:(t,e,n)=>{\"use strict\";n.d(e,{Z:()=>a});var o=n(4015),i=n.n(o),r=n(3645),s=n.n(r)()(i());s.push([t.id,\".ck.ck-button,a.ck.ck-button{align-items:center;display:inline-flex;position:relative;-moz-user-select:none;-webkit-user-select:none;-ms-user-select:none;user-select:none}[dir=ltr] .ck.ck-button,[dir=ltr] a.ck.ck-button{justify-content:left}[dir=rtl] .ck.ck-button,[dir=rtl] a.ck.ck-button{justify-content:right}.ck.ck-button .ck-button__label,a.ck.ck-button .ck-button__label{display:none}.ck.ck-button.ck-button_with-text .ck-button__label,a.ck.ck-button.ck-button_with-text .ck-button__label{display:inline-block}.ck.ck-button:not(.ck-button_with-text),a.ck.ck-button:not(.ck-button_with-text){justify-content:center}.ck.ck-button,a.ck.ck-button{background:var(--ck-color-button-default-background)}.ck.ck-button:not(.ck-disabled):hover,a.ck.ck-button:not(.ck-disabled):hover{background:var(--ck-color-button-default-hover-background)}.ck.ck-button:not(.ck-disabled):active,a.ck.ck-button:not(.ck-disabled):active{background:var(--ck-color-button-default-active-background)}.ck.ck-button.ck-disabled,a.ck.ck-button.ck-disabled{background:var(--ck-color-button-default-disabled-background)}.ck.ck-button,a.ck.ck-button{border-radius:0}.ck-rounded-corners .ck.ck-button,.ck-rounded-corners a.ck.ck-button,.ck.ck-button.ck-rounded-corners,a.ck.ck-button.ck-rounded-corners{border-radius:var(--ck-border-radius)}.ck.ck-button,a.ck.ck-button{-webkit-appearance:none;border:1px solid #0000;cursor:default;font-size:inherit;line-height:1;min-height:var(--ck-ui-component-min-height);min-width:var(--ck-ui-component-min-height);padding:var(--ck-spacing-tiny);text-align:center;transition:box-shadow .2s ease-in-out,border .2s ease-in-out;vertical-align:middle;white-space:nowrap}.ck.ck-button:active,.ck.ck-button:focus,a.ck.ck-button:active,a.ck.ck-button:focus{border:var(--ck-focus-ring);box-shadow:var(--ck-focus-outer-shadow),0 0;outline:none}.ck.ck-button .ck-button__icon use,.ck.ck-button .ck-button__icon use *,a.ck.ck-button .ck-button__icon use,a.ck.ck-button .ck-button__icon use *{color:inherit}.ck.ck-button .ck-button__label,a.ck.ck-button .ck-button__label{color:inherit;cursor:inherit;font-size:inherit;font-weight:inherit;vertical-align:middle}[dir=ltr] .ck.ck-button .ck-button__label,[dir=ltr] a.ck.ck-button .ck-button__label{text-align:left}[dir=rtl] .ck.ck-button .ck-button__label,[dir=rtl] a.ck.ck-button .ck-button__label{text-align:right}.ck.ck-button .ck-button__keystroke,a.ck.ck-button .ck-button__keystroke{color:inherit}[dir=ltr] .ck.ck-button .ck-button__keystroke,[dir=ltr] a.ck.ck-button .ck-button__keystroke{margin-left:var(--ck-spacing-large)}[dir=rtl] .ck.ck-button .ck-button__keystroke,[dir=rtl] a.ck.ck-button .ck-button__keystroke{margin-right:var(--ck-spacing-large)}.ck.ck-button .ck-button__keystroke,a.ck.ck-button .ck-button__keystroke{font-weight:700;opacity:.7}.ck.ck-button.ck-disabled:active,.ck.ck-button.ck-disabled:focus,a.ck.ck-button.ck-disabled:active,a.ck.ck-button.ck-disabled:focus{box-shadow:var(--ck-focus-disabled-outer-shadow),0 0}.ck.ck-button.ck-disabled .ck-button__icon,.ck.ck-button.ck-disabled .ck-button__label,a.ck.ck-button.ck-disabled .ck-button__icon,a.ck.ck-button.ck-disabled .ck-button__label{opacity:var(--ck-disabled-opacity)}.ck.ck-button.ck-disabled .ck-button__keystroke,a.ck.ck-button.ck-disabled .ck-button__keystroke{opacity:.3}.ck.ck-button.ck-button_with-text,a.ck.ck-button.ck-button_with-text{padding:var(--ck-spacing-tiny) var(--ck-spacing-standard)}[dir=ltr] .ck.ck-button.ck-button_with-text .ck-button__icon,[dir=ltr] a.ck.ck-button.ck-button_with-text .ck-button__icon{margin-left:calc(var(--ck-spacing-small)*-1);margin-right:var(--ck-spacing-small)}[dir=rtl] .ck.ck-button.ck-button_with-text .ck-button__icon,[dir=rtl] a.ck.ck-button.ck-button_with-text .ck-button__icon{margin-left:var(--ck-spacing-small);margin-right:calc(var(--ck-spacing-small)*-1)}.ck.ck-button.ck-button_with-keystroke .ck-button__label,a.ck.ck-button.ck-button_with-keystroke .ck-button__label{flex-grow:1}.ck.ck-button.ck-on,a.ck.ck-button.ck-on{background:var(--ck-color-button-on-background)}.ck.ck-button.ck-on:not(.ck-disabled):hover,a.ck.ck-button.ck-on:not(.ck-disabled):hover{background:var(--ck-color-button-on-hover-background)}.ck.ck-button.ck-on:not(.ck-disabled):active,a.ck.ck-button.ck-on:not(.ck-disabled):active{background:var(--ck-color-button-on-active-background)}.ck.ck-button.ck-on.ck-disabled,a.ck.ck-button.ck-on.ck-disabled{background:var(--ck-color-button-on-disabled-background)}.ck.ck-button.ck-on,a.ck.ck-button.ck-on{color:var(--ck-color-button-on-color)}.ck.ck-button.ck-button-save,a.ck.ck-button.ck-button-save{color:var(--ck-color-button-save)}.ck.ck-button.ck-button-cancel,a.ck.ck-button.ck-button-cancel{color:var(--ck-color-button-cancel)}.ck.ck-button-action,a.ck.ck-button-action{background:var(--ck-color-button-action-background)}.ck.ck-button-action:not(.ck-disabled):hover,a.ck.ck-button-action:not(.ck-disabled):hover{background:var(--ck-color-button-action-hover-background)}.ck.ck-button-action:not(.ck-disabled):active,a.ck.ck-button-action:not(.ck-disabled):active{background:var(--ck-color-button-action-active-background)}.ck.ck-button-action.ck-disabled,a.ck.ck-button-action.ck-disabled{background:var(--ck-color-button-action-disabled-background)}.ck.ck-button-action,a.ck.ck-button-action{color:var(--ck-color-button-action-text)}.ck.ck-button-bold,a.ck.ck-button-bold{font-weight:700}\",\"\",{version:3,sources:[\"webpack://./node_modules/@ckeditor/ckeditor5-ui/theme/components/button/button.css\",\"webpack://./node_modules/@ckeditor/ckeditor5-ui/theme/mixins/_unselectable.css\",\"webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-ui/components/button/button.css\",\"webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-ui/mixins/_button.css\",\"webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/mixins/_rounded.css\",\"webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/mixins/_focus.css\",\"webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/mixins/_shadow.css\",\"webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/mixins/_disabled.css\"],names:[],mappings:\"AAQA,6BAMC,kBAAmB,CADnB,mBAAoB,CADpB,iBAAkB,CCHlB,qBAAsB,CACtB,wBAAyB,CACzB,oBAAqB,CACrB,gBD0BD,CA9BA,iDASE,oBAqBF,CA9BA,iDAaE,qBAiBF,CAdC,iEACC,YACD,CAGC,yGACC,oBACD,CAID,iFACC,sBACD,CEzBD,6BCAC,oDD4ID,CCzIE,6EACC,0DACD,CAEA,+EACC,2DACD,CAID,qDACC,6DACD,CDfD,6BEDC,eF6ID,CA5IA,wIEGE,qCFyIF,CA5IA,6BA6BC,uBAAwB,CANxB,sBAA6B,CAjB7B,cAAe,CAcf,iBAAkB,CAHlB,aAAc,CAJd,4CAA6C,CAD7C,2CAA4C,CAJ5C,8BAA+B,CAC/B,iBAAkB,CAiBlB,4DAA8D,CAnB9D,qBAAsB,CAFtB,kBAuID,CA7GC,oFGhCA,2BAA2B,CCF3B,2CAA8B,CDC9B,YHqCA,CAIC,kJAEC,aACD,CAGD,iEAIC,aAAc,CACd,cAAe,CAHf,iBAAkB,CAClB,mBAAoB,CAMpB,qBASD,CAlBA,qFAYE,eAMF,CAlBA,qFAgBE,gBAEF,CAEA,yEACC,aAYD,CAbA,6FAIE,mCASF,CAbA,6FAQE,oCAKF,CAbA,yEAWC,eAAiB,CACjB,UACD,CAIC,oIIrFD,oDJyFC,CAOA,gLKhGD,kCLkGC,CAEA,iGACC,UACD,CAGD,qEACC,yDAcD,CAXC,2HAEE,4CAA+C,CAC/C,oCAOF,CAVA,2HAQE,mCAAoC,CADpC,6CAGF,CAKA,mHACC,WACD,CAID,yCC/HA,+CDmIA,CChIC,yFACC,qDACD,CAEA,2FACC,sDACD,CAID,iEACC,wDACD,CDgHA,yCAGC,qCACD,CAEA,2DACC,iCACD,CAEA,+DACC,mCACD,CAID,2CC/IC,mDDoJD,CCjJE,2FACC,yDACD,CAEA,6FACC,0DACD,CAID,mEACC,4DACD,CDgID,2CAIC,wCACD,CAEA,uCAEC,eACD\",sourcesContent:['/*\\n * Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\\n */\\n\\n@import \"../../mixins/_unselectable.css\";\\n@import \"../../mixins/_dir.css\";\\n\\n.ck.ck-button,\\na.ck.ck-button {\\n\\t@mixin ck-unselectable;\\n\\n\\tposition: relative;\\n\\tdisplay: inline-flex;\\n\\talign-items: center;\\n\\n\\t@mixin ck-dir ltr {\\n\\t\\tjustify-content: left;\\n\\t}\\n\\n\\t@mixin ck-dir rtl {\\n\\t\\tjustify-content: right;\\n\\t}\\n\\n\\t& .ck-button__label {\\n\\t\\tdisplay: none;\\n\\t}\\n\\n\\t&.ck-button_with-text {\\n\\t\\t& .ck-button__label {\\n\\t\\t\\tdisplay: inline-block;\\n\\t\\t}\\n\\t}\\n\\n\\t/* Center the icon horizontally in a button without text. */\\n\\t&:not(.ck-button_with-text) {\\n\\t\\tjustify-content: center;\\n\\t}\\n}\\n',\"/*\\n * Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\\n */\\n\\n/**\\n * Makes element unselectable.\\n */\\n@define-mixin ck-unselectable {\\n\\t-moz-user-select: none;\\n\\t-webkit-user-select: none;\\n\\t-ms-user-select: none;\\n\\tuser-select: none\\n}\\n\",'/*\\n * Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\\n */\\n\\n@import \"../../../mixins/_focus.css\";\\n@import \"../../../mixins/_shadow.css\";\\n@import \"../../../mixins/_disabled.css\";\\n@import \"../../../mixins/_rounded.css\";\\n@import \"../../mixins/_button.css\";\\n@import \"@ckeditor/ckeditor5-ui/theme/mixins/_dir.css\";\\n\\n.ck.ck-button,\\na.ck.ck-button {\\n\\t@mixin ck-button-colors --ck-color-button-default;\\n\\t@mixin ck-rounded-corners;\\n\\n\\twhite-space: nowrap;\\n\\tcursor: default;\\n\\tvertical-align: middle;\\n\\tpadding: var(--ck-spacing-tiny);\\n\\ttext-align: center;\\n\\n\\t/* A very important piece of styling. Go to variable declaration to learn more. */\\n\\tmin-width: var(--ck-ui-component-min-height);\\n\\tmin-height: var(--ck-ui-component-min-height);\\n\\n\\t/* Normalize the height of the line. Removing this will break consistent height\\n\\tamong text and text-less buttons (with icons). */\\n\\tline-height: 1;\\n\\n\\t/* Enable font size inheritance, which allows fluid UI scaling. */\\n\\tfont-size: inherit;\\n\\n\\t/* Avoid flickering when the foucs border shows up. */\\n\\tborder: 1px solid transparent;\\n\\n\\t/* Apply some smooth transition to the box-shadow and border. */\\n\\ttransition: box-shadow .2s ease-in-out, border .2s ease-in-out;\\n\\n\\t/* https://github.com/ckeditor/ckeditor5-theme-lark/issues/189 */\\n\\t-webkit-appearance: none;\\n\\n\\t&:active,\\n\\t&:focus {\\n\\t\\t@mixin ck-focus-ring;\\n\\t\\t@mixin ck-box-shadow var(--ck-focus-outer-shadow);\\n\\t}\\n\\n\\t/* Allow icon coloring using the text \"color\" property. */\\n\\t& .ck-button__icon {\\n\\t\\t& use,\\n\\t\\t& use * {\\n\\t\\t\\tcolor: inherit;\\n\\t\\t}\\n\\t}\\n\\n\\t& .ck-button__label {\\n\\t\\t/* Enable font size inheritance, which allows fluid UI scaling. */\\n\\t\\tfont-size: inherit;\\n\\t\\tfont-weight: inherit;\\n\\t\\tcolor: inherit;\\n\\t\\tcursor: inherit;\\n\\n\\t\\t/* Must be consistent with .ck-icon\\'s vertical align. Otherwise, buttons with and\\n\\t\\twithout labels (but with icons) have different sizes in Chrome */\\n\\t\\tvertical-align: middle;\\n\\n\\t\\t@mixin ck-dir ltr {\\n\\t\\t\\ttext-align: left;\\n\\t\\t}\\n\\n\\t\\t@mixin ck-dir rtl {\\n\\t\\t\\ttext-align: right;\\n\\t\\t}\\n\\t}\\n\\n\\t& .ck-button__keystroke {\\n\\t\\tcolor: inherit;\\n\\n\\t\\t@mixin ck-dir ltr {\\n\\t\\t\\tmargin-left: var(--ck-spacing-large);\\n\\t\\t}\\n\\n\\t\\t@mixin ck-dir rtl {\\n\\t\\t\\tmargin-right: var(--ck-spacing-large);\\n\\t\\t}\\n\\n\\t\\tfont-weight: bold;\\n\\t\\topacity: .7;\\n\\t}\\n\\n\\t/* https://github.com/ckeditor/ckeditor5-theme-lark/issues/70 */\\n\\t&.ck-disabled {\\n\\t\\t&:active,\\n\\t\\t&:focus {\\n\\t\\t\\t/* The disabled button should have a slightly less visible shadow when focused. */\\n\\t\\t\\t@mixin ck-box-shadow var(--ck-focus-disabled-outer-shadow);\\n\\t\\t}\\n\\n\\t\\t& .ck-button__icon {\\n\\t\\t\\t@mixin ck-disabled;\\n\\t\\t}\\n\\n\\t\\t/* https://github.com/ckeditor/ckeditor5-theme-lark/issues/98 */\\n\\t\\t& .ck-button__label {\\n\\t\\t\\t@mixin ck-disabled;\\n\\t\\t}\\n\\n\\t\\t& .ck-button__keystroke {\\n\\t\\t\\topacity: .3;\\n\\t\\t}\\n\\t}\\n\\n\\t&.ck-button_with-text {\\n\\t\\tpadding: var(--ck-spacing-tiny) var(--ck-spacing-standard);\\n\\n\\t\\t/* stylelint-disable-next-line no-descending-specificity */\\n\\t\\t& .ck-button__icon {\\n\\t\\t\\t@mixin ck-dir ltr {\\n\\t\\t\\t\\tmargin-left: calc(-1 * var(--ck-spacing-small));\\n\\t\\t\\t\\tmargin-right: var(--ck-spacing-small);\\n\\t\\t\\t}\\n\\n\\t\\t\\t@mixin ck-dir rtl {\\n\\t\\t\\t\\tmargin-right: calc(-1 * var(--ck-spacing-small));\\n\\t\\t\\t\\tmargin-left: var(--ck-spacing-small);\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n\\n\\t&.ck-button_with-keystroke {\\n\\t\\t/* stylelint-disable-next-line no-descending-specificity */\\n\\t\\t& .ck-button__label {\\n\\t\\t\\tflex-grow: 1;\\n\\t\\t}\\n\\t}\\n\\n\\t/* A style of the button which is currently on, e.g. its feature is active. */\\n\\t&.ck-on {\\n\\t\\t@mixin ck-button-colors --ck-color-button-on;\\n\\n\\t\\tcolor: var(--ck-color-button-on-color);\\n\\t}\\n\\n\\t&.ck-button-save {\\n\\t\\tcolor: var(--ck-color-button-save);\\n\\t}\\n\\n\\t&.ck-button-cancel {\\n\\t\\tcolor: var(--ck-color-button-cancel);\\n\\t}\\n}\\n\\n/* A style of the button which handles the primary action. */\\n.ck.ck-button-action,\\na.ck.ck-button-action {\\n\\t@mixin ck-button-colors --ck-color-button-action;\\n\\n\\tcolor: var(--ck-color-button-action-text);\\n}\\n\\n.ck.ck-button-bold,\\na.ck.ck-button-bold {\\n\\tfont-weight: bold;\\n}\\n',\"/*\\n * Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\\n */\\n\\n/**\\n * Implements a button of given background color.\\n *\\n * @param {String} $background - Background color of the button.\\n * @param {String} $border - Border color of the button.\\n */\\n@define-mixin ck-button-colors $prefix {\\n\\tbackground: var($(prefix)-background);\\n\\n\\t&:not(.ck-disabled) {\\n\\t\\t&:hover {\\n\\t\\t\\tbackground: var($(prefix)-hover-background);\\n\\t\\t}\\n\\n\\t\\t&:active {\\n\\t\\t\\tbackground: var($(prefix)-active-background);\\n\\t\\t}\\n\\t}\\n\\n\\t/* https://github.com/ckeditor/ckeditor5-theme-lark/issues/98 */\\n\\t&.ck-disabled {\\n\\t\\tbackground: var($(prefix)-disabled-background);\\n\\t}\\n}\\n\",\"/*\\n * Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\\n */\\n\\n/**\\n * Implements rounded corner interface for .ck-rounded-corners class.\\n *\\n * @see $ck-border-radius\\n */\\n@define-mixin ck-rounded-corners {\\n\\tborder-radius: 0;\\n\\n\\t@nest .ck-rounded-corners &,\\n\\t&.ck-rounded-corners {\\n\\t\\tborder-radius: var(--ck-border-radius);\\n\\t\\t@mixin-content;\\n\\t}\\n}\\n\",\"/*\\n * Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\\n */\\n\\n/**\\n * A visual style of focused element's border.\\n */\\n@define-mixin ck-focus-ring {\\n\\t/* Disable native outline. */\\n\\toutline: none;\\n\\tborder: var(--ck-focus-ring)\\n}\\n\",\"/*\\n * Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\\n */\\n\\n/**\\n * A helper to combine multiple shadows.\\n */\\n@define-mixin ck-box-shadow $shadowA, $shadowB: 0 0 {\\n\\tbox-shadow: $shadowA, $shadowB;\\n}\\n\\n/**\\n * Gives an element a drop shadow so it looks like a floating panel.\\n */\\n@define-mixin ck-drop-shadow {\\n\\t@mixin ck-box-shadow var(--ck-drop-shadow);\\n}\\n\",\"/*\\n * Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\\n */\\n\\n/**\\n * A class which indicates that an element holding it is disabled.\\n */\\n@define-mixin ck-disabled {\\n\\topacity: var(--ck-disabled-opacity);\\n}\\n\"],sourceRoot:\"\"}]);const a=s},7258:(t,e,n)=>{\"use strict\";n.d(e,{Z:()=>a});var o=n(4015),i=n.n(o),r=n(3645),s=n.n(r)()(i());s.push([t.id,\".ck.ck-button.ck-switchbutton .ck-button__toggle,.ck.ck-button.ck-switchbutton .ck-button__toggle .ck-button__toggle__inner{display:block}:root{--ck-switch-button-toggle-width:2.6153846154em;--ck-switch-button-toggle-inner-size:calc(1.07692em + 1px);--ck-switch-button-translation:calc(var(--ck-switch-button-toggle-width) - var(--ck-switch-button-toggle-inner-size) - 2px);--ck-switch-button-inner-hover-shadow:0 0 0 5px var(--ck-color-switch-button-inner-shadow)}.ck.ck-button.ck-switchbutton,.ck.ck-button.ck-switchbutton.ck-on:active,.ck.ck-button.ck-switchbutton.ck-on:focus,.ck.ck-button.ck-switchbutton.ck-on:hover,.ck.ck-button.ck-switchbutton:active,.ck.ck-button.ck-switchbutton:focus,.ck.ck-button.ck-switchbutton:hover{background:#0000;color:inherit}[dir=ltr] .ck.ck-button.ck-switchbutton .ck-button__label{margin-right:calc(var(--ck-spacing-large)*2)}[dir=rtl] .ck.ck-button.ck-switchbutton .ck-button__label{margin-left:calc(var(--ck-spacing-large)*2)}.ck.ck-button.ck-switchbutton .ck-button__toggle{border-radius:0}.ck-rounded-corners .ck.ck-button.ck-switchbutton .ck-button__toggle,.ck.ck-button.ck-switchbutton .ck-button__toggle.ck-rounded-corners{border-radius:var(--ck-border-radius)}[dir=ltr] .ck.ck-button.ck-switchbutton .ck-button__toggle{margin-left:auto}[dir=rtl] .ck.ck-button.ck-switchbutton .ck-button__toggle{margin-right:auto}.ck.ck-button.ck-switchbutton .ck-button__toggle{background:var(--ck-color-switch-button-off-background);border:1px solid #0000;transition:background .4s ease,box-shadow .2s ease-in-out,outline .2s ease-in-out;width:var(--ck-switch-button-toggle-width)}.ck.ck-button.ck-switchbutton .ck-button__toggle .ck-button__toggle__inner{border-radius:0}.ck-rounded-corners .ck.ck-button.ck-switchbutton .ck-button__toggle .ck-button__toggle__inner,.ck.ck-button.ck-switchbutton .ck-button__toggle .ck-button__toggle__inner.ck-rounded-corners{border-radius:var(--ck-border-radius);border-radius:calc(var(--ck-border-radius)*.5)}.ck.ck-button.ck-switchbutton .ck-button__toggle .ck-button__toggle__inner{background:var(--ck-color-switch-button-inner-background);height:var(--ck-switch-button-toggle-inner-size);transition:all .3s ease;width:var(--ck-switch-button-toggle-inner-size)}.ck.ck-button.ck-switchbutton .ck-button__toggle:hover{background:var(--ck-color-switch-button-off-hover-background)}.ck.ck-button.ck-switchbutton .ck-button__toggle:hover .ck-button__toggle__inner{box-shadow:var(--ck-switch-button-inner-hover-shadow)}.ck.ck-button.ck-switchbutton.ck-disabled .ck-button__toggle{opacity:var(--ck-disabled-opacity)}.ck.ck-button.ck-switchbutton:focus{border-color:#0000;box-shadow:none;outline:none}.ck.ck-button.ck-switchbutton:focus .ck-button__toggle{box-shadow:0 0 0 1px var(--ck-color-base-background),0 0 0 5px var(--ck-color-focus-outer-shadow);outline:var(--ck-focus-ring);outline-offset:1px}.ck.ck-button.ck-switchbutton.ck-on .ck-button__toggle{background:var(--ck-color-switch-button-on-background)}.ck.ck-button.ck-switchbutton.ck-on .ck-button__toggle:hover{background:var(--ck-color-switch-button-on-hover-background)}[dir=ltr] .ck.ck-button.ck-switchbutton.ck-on .ck-button__toggle .ck-button__toggle__inner{transform:translateX(var( --ck-switch-button-translation ))}[dir=rtl] .ck.ck-button.ck-switchbutton.ck-on .ck-button__toggle .ck-button__toggle__inner{transform:translateX(calc(var( --ck-switch-button-translation )*-1))}\",\"\",{version:3,sources:[\"webpack://./node_modules/@ckeditor/ckeditor5-ui/theme/components/button/switchbutton.css\",\"webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-ui/components/button/switchbutton.css\",\"webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/mixins/_rounded.css\",\"webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/mixins/_disabled.css\"],names:[],mappings:\"AASE,4HACC,aACD,CCCF,MAEC,8CAA+C,CAE/C,0DAAgE,CAChE,2HAIC,CACD,0FACD,CAOC,0QAEC,gBAAuB,CADvB,aAED,CAEA,0DAGE,4CAOF,CAVA,0DAQE,2CAEF,CAEA,iDCpCA,eD4EA,CAxCA,yIChCC,qCDwED,CAxCA,2DAKE,gBAmCF,CAxCA,2DAUE,iBA8BF,CAxCA,iDAkBC,uDAAwD,CAFxD,sBAA6B,CAD7B,iFAAsF,CAEtF,0CAuBD,CApBC,2ECxDD,eDmEC,CAXA,6LCpDA,qCAAsC,CDsDpC,8CASF,CAXA,2EAOC,yDAA0D,CAD1D,gDAAiD,CAIjD,uBAA0B,CAL1B,+CAMD,CAEA,uDACC,6DAKD,CAHC,iFACC,qDACD,CAIF,6DEhFA,kCFkFA,CAGA,oCACC,kBAAyB,CAEzB,eAAgB,CADhB,YAQD,CALC,uDACC,iGAAmG,CAEnG,4BAA6B,CAD7B,kBAED,CAKA,uDACC,sDAkBD,CAhBC,6DACC,4DACD,CAEA,2FAKE,2DAMF,CAXA,2FASE,oEAEF\",sourcesContent:[\"/*\\n * Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\\n */\\n\\n.ck.ck-button.ck-switchbutton {\\n\\t& .ck-button__toggle {\\n\\t\\tdisplay: block;\\n\\n\\t\\t& .ck-button__toggle__inner {\\n\\t\\t\\tdisplay: block;\\n\\t\\t}\\n\\t}\\n}\\n\",'/*\\n * Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\\n */\\n\\n@import \"../../../mixins/_rounded.css\";\\n@import \"../../../mixins/_disabled.css\";\\n@import \"@ckeditor/ckeditor5-ui/theme/mixins/_dir.css\";\\n\\n/* Note: To avoid rendering issues (aliasing) but to preserve the responsive nature\\nof the component, floating–point numbers have been used which, for the default font size\\n(see: --ck-font-size-base), will generate simple integers. */\\n:root {\\n\\t/* 34px at 13px font-size */\\n\\t--ck-switch-button-toggle-width: 2.6153846154em;\\n\\t/* 14px at 13px font-size */\\n\\t--ck-switch-button-toggle-inner-size: calc(1.0769230769em + 1px);\\n\\t--ck-switch-button-translation: calc(\\n\\t\\tvar(--ck-switch-button-toggle-width) -\\n\\t\\tvar(--ck-switch-button-toggle-inner-size) -\\n\\t\\t2px /* Border */\\n\\t);\\n\\t--ck-switch-button-inner-hover-shadow: 0 0 0 5px var(--ck-color-switch-button-inner-shadow);\\n}\\n\\n.ck.ck-button.ck-switchbutton {\\n\\t/* Unlike a regular button, the switch button text color and background should never change.\\n\\t * Changing toggle switch (background, outline) is enough to carry the information about the\\n\\t * state of the entire component (https://github.com/ckeditor/ckeditor5/issues/12519)\\n\\t */\\n\\t&, &:hover, &:focus, &:active, &.ck-on:hover, &.ck-on:focus, &.ck-on:active {\\n\\t\\tcolor: inherit;\\n\\t\\tbackground: transparent;\\n\\t}\\n\\n\\t& .ck-button__label {\\n\\t\\t@mixin ck-dir ltr {\\n\\t\\t\\t/* Separate the label from the switch */\\n\\t\\t\\tmargin-right: calc(2 * var(--ck-spacing-large));\\n\\t\\t}\\n\\n\\t\\t@mixin ck-dir rtl {\\n\\t\\t\\t/* Separate the label from the switch */\\n\\t\\t\\tmargin-left: calc(2 * var(--ck-spacing-large));\\n\\t\\t}\\n\\t}\\n\\n\\t& .ck-button__toggle {\\n\\t\\t@mixin ck-rounded-corners;\\n\\n\\t\\t@mixin ck-dir ltr {\\n\\t\\t\\t/* Make sure the toggle is always to the right as far as possible. */\\n\\t\\t\\tmargin-left: auto;\\n\\t\\t}\\n\\n\\t\\t@mixin ck-dir rtl {\\n\\t\\t\\t/* Make sure the toggle is always to the left as far as possible. */\\n\\t\\t\\tmargin-right: auto;\\n\\t\\t}\\n\\n\\t\\t/* Apply some smooth transition to the box-shadow and border. */\\n\\t\\t/* Gently animate the background color of the toggle switch */\\n\\t\\ttransition: background 400ms ease, box-shadow .2s ease-in-out, outline .2s ease-in-out;\\n\\t\\tborder: 1px solid transparent;\\n\\t\\twidth: var(--ck-switch-button-toggle-width);\\n\\t\\tbackground: var(--ck-color-switch-button-off-background);\\n\\n\\t\\t& .ck-button__toggle__inner {\\n\\t\\t\\t@mixin ck-rounded-corners {\\n\\t\\t\\t\\tborder-radius: calc(.5 * var(--ck-border-radius));\\n\\t\\t\\t}\\n\\n\\t\\t\\twidth: var(--ck-switch-button-toggle-inner-size);\\n\\t\\t\\theight: var(--ck-switch-button-toggle-inner-size);\\n\\t\\t\\tbackground: var(--ck-color-switch-button-inner-background);\\n\\n\\t\\t\\t/* Gently animate the inner part of the toggle switch */\\n\\t\\t\\ttransition: all 300ms ease;\\n\\t\\t}\\n\\n\\t\\t&:hover {\\n\\t\\t\\tbackground: var(--ck-color-switch-button-off-hover-background);\\n\\n\\t\\t\\t& .ck-button__toggle__inner {\\n\\t\\t\\t\\tbox-shadow: var(--ck-switch-button-inner-hover-shadow);\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n\\n\\t&.ck-disabled .ck-button__toggle {\\n\\t\\t@mixin ck-disabled;\\n\\t}\\n\\n\\t/* Overriding default .ck-button:focus styles + an outline around the toogle */\\n\\t&:focus {\\n\\t\\tborder-color: transparent;\\n\\t\\toutline: none;\\n\\t\\tbox-shadow: none;\\n\\n\\t\\t& .ck-button__toggle {\\n\\t\\t\\tbox-shadow: 0 0 0 1px var(--ck-color-base-background), 0 0 0 5px var(--ck-color-focus-outer-shadow);\\n\\t\\t\\toutline-offset: 1px;\\n\\t\\t\\toutline: var(--ck-focus-ring);\\n\\t\\t}\\n\\t}\\n\\n\\t/* stylelint-disable-next-line no-descending-specificity */\\n\\t&.ck-on {\\n\\t\\t& .ck-button__toggle {\\n\\t\\t\\tbackground: var(--ck-color-switch-button-on-background);\\n\\n\\t\\t\\t&:hover {\\n\\t\\t\\t\\tbackground: var(--ck-color-switch-button-on-hover-background);\\n\\t\\t\\t}\\n\\n\\t\\t\\t& .ck-button__toggle__inner {\\n\\t\\t\\t\\t/*\\n\\t\\t\\t\\t* Move the toggle switch to the right. It will be animated.\\n\\t\\t\\t\\t*/\\n\\t\\t\\t\\t@mixin ck-dir ltr {\\n\\t\\t\\t\\t\\ttransform: translateX( var( --ck-switch-button-translation ) );\\n\\t\\t\\t\\t}\\n\\n\\t\\t\\t\\t@mixin ck-dir rtl {\\n\\t\\t\\t\\t\\ttransform: translateX( calc( -1 * var( --ck-switch-button-translation ) ) );\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n}\\n',\"/*\\n * Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\\n */\\n\\n/**\\n * Implements rounded corner interface for .ck-rounded-corners class.\\n *\\n * @see $ck-border-radius\\n */\\n@define-mixin ck-rounded-corners {\\n\\tborder-radius: 0;\\n\\n\\t@nest .ck-rounded-corners &,\\n\\t&.ck-rounded-corners {\\n\\t\\tborder-radius: var(--ck-border-radius);\\n\\t\\t@mixin-content;\\n\\t}\\n}\\n\",\"/*\\n * Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\\n */\\n\\n/**\\n * A class which indicates that an element holding it is disabled.\\n */\\n@define-mixin ck-disabled {\\n\\topacity: var(--ck-disabled-opacity);\\n}\\n\"],sourceRoot:\"\"}]);const a=s},4923:(t,e,n)=>{\"use strict\";n.d(e,{Z:()=>a});var o=n(4015),i=n.n(o),r=n(3645),s=n.n(r)()(i());s.push([t.id,\".ck.ck-color-grid{display:grid}:root{--ck-color-grid-tile-size:24px;--ck-color-color-grid-check-icon:#166fd4}.ck.ck-color-grid{grid-gap:5px;padding:8px}.ck.ck-color-grid__tile{border:0;height:var(--ck-color-grid-tile-size);min-height:var(--ck-color-grid-tile-size);min-width:var(--ck-color-grid-tile-size);padding:0;transition:box-shadow .2s ease;width:var(--ck-color-grid-tile-size)}.ck.ck-color-grid__tile.ck-disabled{cursor:unset;transition:unset}.ck.ck-color-grid__tile.ck-color-selector__color-tile_bordered{box-shadow:0 0 0 1px var(--ck-color-base-border)}.ck.ck-color-grid__tile .ck.ck-icon{color:var(--ck-color-color-grid-check-icon);display:none}.ck.ck-color-grid__tile.ck-on{box-shadow:inset 0 0 0 1px var(--ck-color-base-background),0 0 0 2px var(--ck-color-base-text)}.ck.ck-color-grid__tile.ck-on .ck.ck-icon{display:block}.ck.ck-color-grid__tile.ck-on,.ck.ck-color-grid__tile:focus:not(.ck-disabled),.ck.ck-color-grid__tile:hover:not(.ck-disabled){border:0}.ck.ck-color-grid__tile:focus:not(.ck-disabled),.ck.ck-color-grid__tile:hover:not(.ck-disabled){box-shadow:inset 0 0 0 1px var(--ck-color-base-background),0 0 0 2px var(--ck-color-focus-border)}.ck.ck-color-grid__label{padding:0 var(--ck-spacing-standard)}\",\"\",{version:3,sources:[\"webpack://./node_modules/@ckeditor/ckeditor5-ui/theme/components/colorgrid/colorgrid.css\",\"webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-ui/components/colorgrid/colorgrid.css\"],names:[],mappings:\"AAKA,kBACC,YACD,CCAA,MACC,8BAA+B,CAK/B,wCACD,CAEA,kBACC,YAAa,CACb,WACD,CAEA,wBAOC,QAAS,CALT,qCAAsC,CAEtC,yCAA0C,CAD1C,wCAAyC,CAEzC,SAAU,CACV,8BAA+B,CAL/B,oCAyCD,CAjCC,oCACC,YAAa,CACb,gBACD,CAEA,+DACC,gDACD,CAEA,oCAEC,2CAA4C,CAD5C,YAED,CAEA,8BACC,8FAKD,CAHC,0CACC,aACD,CAGD,8HAIC,QACD,CAEA,gGAEC,iGACD,CAGD,yBACC,oCACD\",sourcesContent:[\"/*\\n * Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\\n */\\n\\n.ck.ck-color-grid {\\n\\tdisplay: grid;\\n}\\n\",'/*\\n * Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\\n */\\n\\n@import \"../../../mixins/_rounded.css\";\\n\\n:root {\\n\\t--ck-color-grid-tile-size: 24px;\\n\\n\\t/* Not using global colors here because these may change but some colors in a pallette\\n\\t * require special treatment. For instance, this ensures no matter what the UI text color is,\\n\\t * the check icon will look good on the black color tile. */\\n\\t--ck-color-color-grid-check-icon: hsl(212, 81%, 46%);\\n}\\n\\n.ck.ck-color-grid {\\n\\tgrid-gap: 5px;\\n\\tpadding: 8px;\\n}\\n\\n.ck.ck-color-grid__tile {\\n\\twidth: var(--ck-color-grid-tile-size);\\n\\theight: var(--ck-color-grid-tile-size);\\n\\tmin-width: var(--ck-color-grid-tile-size);\\n\\tmin-height: var(--ck-color-grid-tile-size);\\n\\tpadding: 0;\\n\\ttransition: .2s ease box-shadow;\\n\\tborder: 0;\\n\\n\\t&.ck-disabled {\\n\\t\\tcursor: unset;\\n\\t\\ttransition: unset;\\n\\t}\\n\\n\\t&.ck-color-selector__color-tile_bordered {\\n\\t\\tbox-shadow: 0 0 0 1px var(--ck-color-base-border);\\n\\t}\\n\\n\\t& .ck.ck-icon {\\n\\t\\tdisplay: none;\\n\\t\\tcolor: var(--ck-color-color-grid-check-icon);\\n\\t}\\n\\n\\t&.ck-on {\\n\\t\\tbox-shadow: inset 0 0 0 1px var(--ck-color-base-background), 0 0 0 2px var(--ck-color-base-text);\\n\\n\\t\\t& .ck.ck-icon {\\n\\t\\t\\tdisplay: block;\\n\\t\\t}\\n\\t}\\n\\n\\t&.ck-on,\\n\\t&:focus:not( .ck-disabled ),\\n\\t&:hover:not( .ck-disabled ) {\\n\\t\\t/* Disable the default .ck-button\\'s border ring. */\\n\\t\\tborder: 0;\\n\\t}\\n\\n\\t&:focus:not( .ck-disabled ),\\n\\t&:hover:not( .ck-disabled ) {\\n\\t\\tbox-shadow: inset 0 0 0 1px var(--ck-color-base-background), 0 0 0 2px var(--ck-color-focus-border);\\n\\t}\\n}\\n\\n.ck.ck-color-grid__label {\\n\\tpadding: 0 var(--ck-spacing-standard);\\n}\\n'],sourceRoot:\"\"}]);const a=s},4257:(t,e,n)=>{\"use strict\";n.d(e,{Z:()=>a});var o=n(4015),i=n.n(o),r=n(3645),s=n.n(r)()(i());s.push([t.id,\".color-picker-hex-input{width:max-content}.color-picker-hex-input .ck.ck-input{min-width:unset}.ck.ck-color-picker__row{display:flex;flex-direction:row;flex-wrap:nowrap;justify-content:space-between;margin:var(--ck-spacing-large) 0 0;width:unset}.ck.ck-color-picker__row .ck.ck-labeled-field-view{padding-top:unset}.ck.ck-color-picker__row .ck.ck-input-text{width:unset}.ck.ck-color-picker__row .ck-color-picker__hash-view{padding-right:var(--ck-spacing-medium);padding-top:var(--ck-spacing-tiny)}\",\"\",{version:3,sources:[\"webpack://./node_modules/@ckeditor/ckeditor5-ui/theme/components/colorpicker/colorpicker.css\"],names:[],mappings:\"AAKA,wBACC,iBAKD,CAHC,qCACC,eACD,CAGD,yBACC,YAAa,CACb,kBAAmB,CACnB,gBAAiB,CACjB,6BAA8B,CAC9B,kCAAmC,CACnC,WAcD,CAZC,mDACC,iBACD,CAEA,2CACC,WACD,CAEA,qDAEC,sCAAuC,CADvC,kCAED\",sourcesContent:[\"/*\\n * Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\\n */\\n\\n.color-picker-hex-input {\\n\\twidth: max-content;\\n\\n\\t& .ck.ck-input {\\n\\t\\tmin-width: unset;\\n\\t}\\n}\\n\\n.ck.ck-color-picker__row {\\n\\tdisplay: flex;\\n\\tflex-direction: row;\\n\\tflex-wrap: nowrap;\\n\\tjustify-content: space-between;\\n\\tmargin: var(--ck-spacing-large) 0 0;\\n\\twidth: unset;\\n\\n\\t& .ck.ck-labeled-field-view {\\n\\t\\tpadding-top: unset;\\n\\t}\\n\\n\\t& .ck.ck-input-text {\\n\\t\\twidth: unset;\\n\\t}\\n\\n\\t& .ck-color-picker__hash-view {\\n\\t\\tpadding-top: var(--ck-spacing-tiny);\\n\\t\\tpadding-right: var(--ck-spacing-medium);\\n\\t}\\n}\\n\"],sourceRoot:\"\"}]);const a=s},6306:(t,e,n)=>{\"use strict\";n.d(e,{Z:()=>a});var o=n(4015),i=n.n(o),r=n(3645),s=n.n(r)()(i());s.push([t.id,\".ck.ck-color-selector .ck-color-grids-fragment .ck-button.ck-color-selector__color-picker,.ck.ck-color-selector .ck-color-grids-fragment .ck-button.ck-color-selector__remove-color{align-items:center;display:flex}[dir=rtl] .ck.ck-color-selector .ck-color-grids-fragment .ck-button.ck-color-selector__color-picker,[dir=rtl] .ck.ck-color-selector .ck-color-grids-fragment .ck-button.ck-color-selector__remove-color{justify-content:flex-start}.ck.ck-color-selector .ck-color-picker-fragment .ck.ck-color-selector_action-bar{display:flex;flex-direction:row;justify-content:space-around}.ck.ck-color-selector .ck-color-picker-fragment .ck.ck-color-selector_action-bar .ck-button-cancel,.ck.ck-color-selector .ck-color-picker-fragment .ck.ck-color-selector_action-bar .ck-button-save{flex:1}.ck.ck-color-selector .ck-color-grids-fragment .ck-button.ck-color-selector__color-picker,.ck.ck-color-selector .ck-color-grids-fragment .ck-button.ck-color-selector__remove-color{width:100%}.ck.ck-color-selector .ck-color-grids-fragment .ck-button.ck-color-selector__color-picker{border-bottom-left-radius:0;border-bottom-right-radius:0;padding:calc(var(--ck-spacing-standard)/2) var(--ck-spacing-standard)}.ck.ck-color-selector .ck-color-grids-fragment .ck-button.ck-color-selector__color-picker:not(:focus){border-top:1px solid var(--ck-color-base-border)}[dir=ltr] .ck.ck-color-selector .ck-color-grids-fragment .ck-button.ck-color-selector__color-picker .ck.ck-icon{margin-right:var(--ck-spacing-standard)}[dir=rtl] .ck.ck-color-selector .ck-color-grids-fragment .ck-button.ck-color-selector__color-picker .ck.ck-icon{margin-left:var(--ck-spacing-standard)}.ck.ck-color-selector .ck-color-grids-fragment label.ck.ck-color-grid__label{font-weight:unset}.ck.ck-color-selector .ck-color-picker-fragment .ck.ck-color-picker{padding:8px}.ck.ck-color-selector .ck-color-picker-fragment .ck.ck-color-picker .hex-color-picker{height:100px;min-width:180px}.ck.ck-color-selector .ck-color-picker-fragment .ck.ck-color-picker .hex-color-picker::part(saturation){border-radius:var(--ck-border-radius) var(--ck-border-radius) 0 0}.ck.ck-color-selector .ck-color-picker-fragment .ck.ck-color-picker .hex-color-picker::part(hue){border-radius:0 0 var(--ck-border-radius) var(--ck-border-radius)}.ck.ck-color-selector .ck-color-picker-fragment .ck.ck-color-picker .hex-color-picker::part(hue-pointer),.ck.ck-color-selector .ck-color-picker-fragment .ck.ck-color-picker .hex-color-picker::part(saturation-pointer){height:15px;width:15px}.ck.ck-color-selector .ck-color-picker-fragment .ck.ck-color-selector_action-bar{padding:0 8px 8px}\",\"\",{version:3,sources:[\"webpack://./node_modules/@ckeditor/ckeditor5-ui/theme/components/colorselector/colorselector.css\",\"webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-ui/components/colorselector/colorselector.css\"],names:[],mappings:\"AAUE,oLAGC,kBAAmB,CADnB,YAMD,CARA,wMAME,0BAEF,CAKA,iFACC,YAAa,CACb,kBAAmB,CACnB,4BAMD,CAJC,oMAEC,MACD,CCrBD,oLAEC,UACD,CAEA,0FAEC,2BAA4B,CAC5B,4BAA6B,CAF7B,qEAiBD,CAbC,sGACC,gDACD,CAEA,gHAEE,uCAMF,CARA,gHAME,sCAEF,CAGD,6EACC,iBACD,CAKA,oEACC,WAoBD,CAlBC,sFACC,YAAa,CACb,eAeD,CAbC,wGACC,iEACD,CAEA,iGACC,iEACD,CAEA,yNAGC,WAAY,CADZ,UAED,CAIF,iFACC,iBACD\",sourcesContent:['/*\\n * Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\\n */\\n\\n@import \"@ckeditor/ckeditor5-ui/theme/mixins/_dir.css\";\\n\\n.ck.ck-color-selector {\\n\\t/* View fragment with color grids. */\\n\\t& .ck-color-grids-fragment {\\n\\t\\t& .ck-button.ck-color-selector__remove-color,\\n\\t\\t& .ck-button.ck-color-selector__color-picker {\\n\\t\\t\\tdisplay: flex;\\n\\t\\t\\talign-items: center;\\n\\n\\t\\t\\t@mixin ck-dir rtl {\\n\\t\\t\\t\\tjustify-content: flex-start;\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n\\n\\t/* View fragment with a color picker. */\\n\\t& .ck-color-picker-fragment {\\n\\t\\t& .ck.ck-color-selector_action-bar {\\n\\t\\t\\tdisplay: flex;\\n\\t\\t\\tflex-direction: row;\\n\\t\\t\\tjustify-content: space-around;\\n\\n\\t\\t\\t& .ck-button-save,\\n\\t\\t\\t& .ck-button-cancel {\\n\\t\\t\\t\\tflex: 1\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n}\\n','/*\\n * Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\\n */\\n\\n@import \"@ckeditor/ckeditor5-ui/theme/mixins/_dir.css\";\\n\\n.ck.ck-color-selector {\\n\\t/* View fragment with color grids. */\\n\\t& .ck-color-grids-fragment {\\n\\t\\t& .ck-button.ck-color-selector__remove-color,\\n\\t\\t& .ck-button.ck-color-selector__color-picker {\\n\\t\\t\\twidth: 100%;\\n\\t\\t}\\n\\n\\t\\t& .ck-button.ck-color-selector__color-picker {\\n\\t\\t\\tpadding: calc(var(--ck-spacing-standard) / 2) var(--ck-spacing-standard);\\n\\t\\t\\tborder-bottom-left-radius: 0;\\n\\t\\t\\tborder-bottom-right-radius: 0;\\n\\n\\t\\t\\t&:not(:focus) {\\n\\t\\t\\t\\tborder-top: 1px solid var(--ck-color-base-border);\\n\\t\\t\\t}\\n\\n\\t\\t\\t& .ck.ck-icon {\\n\\t\\t\\t\\t@mixin ck-dir ltr {\\n\\t\\t\\t\\t\\tmargin-right: var(--ck-spacing-standard);\\n\\t\\t\\t\\t}\\n\\n\\t\\t\\t\\t@mixin ck-dir rtl {\\n\\t\\t\\t\\t\\tmargin-left: var(--ck-spacing-standard);\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\t& label.ck.ck-color-grid__label {\\n\\t\\t\\tfont-weight: unset;\\n\\t\\t}\\n\\t}\\n\\n\\t/* View fragment with a color picker. */\\n\\t& .ck-color-picker-fragment {\\n\\t\\t& .ck.ck-color-picker {\\n\\t\\t\\tpadding: 8px;\\n\\n\\t\\t\\t& .hex-color-picker {\\n\\t\\t\\t\\theight: 100px;\\n\\t\\t\\t\\tmin-width: 180px;\\n\\n\\t\\t\\t\\t&::part(saturation) {\\n\\t\\t\\t\\t\\tborder-radius: var(--ck-border-radius) var(--ck-border-radius) 0 0;\\n\\t\\t\\t\\t}\\n\\n\\t\\t\\t\\t&::part(hue) {\\n\\t\\t\\t\\t\\tborder-radius: 0 0 var(--ck-border-radius) var(--ck-border-radius);\\n\\t\\t\\t\\t}\\n\\n\\t\\t\\t\\t&::part(saturation-pointer),\\n\\t\\t\\t\\t&::part(hue-pointer) {\\n\\t\\t\\t\\t\\twidth: 15px;\\n\\t\\t\\t\\t\\theight: 15px;\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\t& .ck.ck-color-selector_action-bar {\\n\\t\\t\\tpadding: 0 8px 8px;\\n\\t\\t}\\n\\t}\\n}\\n'],sourceRoot:\"\"}]);const a=s},5062:(t,e,n)=>{\"use strict\";n.d(e,{Z:()=>a});var o=n(4015),i=n.n(o),r=n(3645),s=n.n(r)()(i());s.push([t.id,\":root{--ck-dropdown-max-width:75vw}.ck.ck-dropdown{display:inline-block;position:relative}.ck.ck-dropdown .ck-dropdown__arrow{pointer-events:none;z-index:var(--ck-z-default)}.ck.ck-dropdown .ck-button.ck-dropdown__button{width:100%}.ck.ck-dropdown .ck-dropdown__panel{display:none;max-width:var(--ck-dropdown-max-width);position:absolute;z-index:var(--ck-z-modal)}.ck.ck-dropdown .ck-dropdown__panel.ck-dropdown__panel-visible{display:inline-block}.ck.ck-dropdown .ck-dropdown__panel.ck-dropdown__panel_n,.ck.ck-dropdown .ck-dropdown__panel.ck-dropdown__panel_ne,.ck.ck-dropdown .ck-dropdown__panel.ck-dropdown__panel_nme,.ck.ck-dropdown .ck-dropdown__panel.ck-dropdown__panel_nmw,.ck.ck-dropdown .ck-dropdown__panel.ck-dropdown__panel_nw{bottom:100%}.ck.ck-dropdown .ck-dropdown__panel.ck-dropdown__panel_s,.ck.ck-dropdown .ck-dropdown__panel.ck-dropdown__panel_se,.ck.ck-dropdown .ck-dropdown__panel.ck-dropdown__panel_sme,.ck.ck-dropdown .ck-dropdown__panel.ck-dropdown__panel_smw,.ck.ck-dropdown .ck-dropdown__panel.ck-dropdown__panel_sw{bottom:auto;top:100%}.ck.ck-dropdown .ck-dropdown__panel.ck-dropdown__panel_ne,.ck.ck-dropdown .ck-dropdown__panel.ck-dropdown__panel_se{left:0}.ck.ck-dropdown .ck-dropdown__panel.ck-dropdown__panel_nw,.ck.ck-dropdown .ck-dropdown__panel.ck-dropdown__panel_sw{right:0}.ck.ck-dropdown .ck-dropdown__panel.ck-dropdown__panel_n,.ck.ck-dropdown .ck-dropdown__panel.ck-dropdown__panel_s{left:50%;transform:translateX(-50%)}.ck.ck-dropdown .ck-dropdown__panel.ck-dropdown__panel_nmw,.ck.ck-dropdown .ck-dropdown__panel.ck-dropdown__panel_smw{left:75%;transform:translateX(-75%)}.ck.ck-dropdown .ck-dropdown__panel.ck-dropdown__panel_nme,.ck.ck-dropdown .ck-dropdown__panel.ck-dropdown__panel_sme{left:25%;transform:translateX(-25%)}.ck.ck-toolbar .ck-dropdown__panel{z-index:calc(var(--ck-z-modal) + 1)}:root{--ck-dropdown-arrow-size:calc(var(--ck-icon-size)*0.5)}.ck.ck-dropdown{font-size:inherit}.ck.ck-dropdown .ck-dropdown__arrow{width:var(--ck-dropdown-arrow-size)}[dir=ltr] .ck.ck-dropdown .ck-dropdown__arrow{margin-left:var(--ck-spacing-standard);right:var(--ck-spacing-standard)}[dir=rtl] .ck.ck-dropdown .ck-dropdown__arrow{left:var(--ck-spacing-standard);margin-right:var(--ck-spacing-small)}.ck.ck-dropdown.ck-disabled .ck-dropdown__arrow{opacity:var(--ck-disabled-opacity)}[dir=ltr] .ck.ck-dropdown .ck-button.ck-dropdown__button:not(.ck-button_with-text){padding-left:var(--ck-spacing-small)}[dir=rtl] .ck.ck-dropdown .ck-button.ck-dropdown__button:not(.ck-button_with-text){padding-right:var(--ck-spacing-small)}.ck.ck-dropdown .ck-button.ck-dropdown__button .ck-button__label{overflow:hidden;text-overflow:ellipsis;width:7em}.ck.ck-dropdown .ck-button.ck-dropdown__button.ck-disabled .ck-button__label{opacity:var(--ck-disabled-opacity)}.ck.ck-dropdown .ck-button.ck-dropdown__button.ck-on{border-bottom-left-radius:0;border-bottom-right-radius:0}.ck.ck-dropdown .ck-button.ck-dropdown__button.ck-dropdown__button_label-width_auto .ck-button__label{width:auto}.ck.ck-dropdown .ck-button.ck-dropdown__button.ck-off:active,.ck.ck-dropdown .ck-button.ck-dropdown__button.ck-on:active{box-shadow:none}.ck.ck-dropdown .ck-button.ck-dropdown__button.ck-off:active:focus,.ck.ck-dropdown .ck-button.ck-dropdown__button.ck-on:active:focus{box-shadow:var(--ck-focus-outer-shadow),0 0}.ck.ck-dropdown__panel{border-radius:0}.ck-rounded-corners .ck.ck-dropdown__panel,.ck.ck-dropdown__panel.ck-rounded-corners{border-radius:var(--ck-border-radius)}.ck.ck-dropdown__panel{background:var(--ck-color-dropdown-panel-background);border:1px solid var(--ck-color-dropdown-panel-border);bottom:0;box-shadow:var(--ck-drop-shadow),0 0;min-width:100%}.ck.ck-dropdown__panel.ck-dropdown__panel_se{border-top-left-radius:0}.ck.ck-dropdown__panel.ck-dropdown__panel_sw{border-top-right-radius:0}.ck.ck-dropdown__panel.ck-dropdown__panel_ne{border-bottom-left-radius:0}.ck.ck-dropdown__panel.ck-dropdown__panel_nw{border-bottom-right-radius:0}.ck.ck-dropdown__panel:focus{outline:none}\",\"\",{version:3,sources:[\"webpack://./node_modules/@ckeditor/ckeditor5-ui/theme/components/dropdown/dropdown.css\",\"webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-ui/components/dropdown/dropdown.css\",\"webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/mixins/_disabled.css\",\"webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/mixins/_shadow.css\",\"webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/mixins/_rounded.css\"],names:[],mappings:\"AAKA,MACC,4BACD,CAEA,gBACC,oBAAqB,CACrB,iBA2ED,CAzEC,oCACC,mBAAoB,CACpB,2BACD,CAGA,+CACC,UACD,CAEA,oCACC,YAAa,CAEb,sCAAuC,CAEvC,iBAAkB,CAHlB,yBA4DD,CAvDC,+DACC,oBACD,CAEA,mSAKC,WACD,CAEA,mSAUC,WAAY,CADZ,QAED,CAEA,oHAEC,MACD,CAEA,oHAEC,OACD,CAEA,kHAGC,QAAS,CACT,0BACD,CAEA,sHAGC,QAAS,CACT,0BACD,CAEA,sHAGC,QAAS,CACT,0BACD,CAQF,mCACC,mCACD,CCpFA,MACC,sDACD,CAEA,gBAEC,iBA2ED,CAzEC,oCACC,mCACD,CAGC,8CAIC,sCAAuC,CAHvC,gCAID,CAIA,8CACC,+BAAgC,CAGhC,oCACD,CAGD,gDC/BA,kCDiCA,CAIE,mFAEC,oCACD,CAIA,mFAEC,qCACD,CAID,iEAEC,eAAgB,CAChB,sBAAuB,CAFvB,SAGD,CAGA,6EC1DD,kCD4DC,CAGA,qDACC,2BAA4B,CAC5B,4BACD,CAEA,sGACC,UACD,CAGA,yHAEC,eAKD,CAHC,qIE7EF,2CF+EE,CAKH,uBGlFC,eHkHD,CAhCA,qFG9EE,qCH8GF,CAhCA,uBAIC,oDAAqD,CACrD,sDAAuD,CACvD,QAAS,CE1FT,oCAA8B,CF6F9B,cAuBD,CAnBC,6CACC,wBACD,CAEA,6CACC,yBACD,CAEA,6CACC,2BACD,CAEA,6CACC,4BACD,CAEA,6BACC,YACD\",sourcesContent:[\"/*\\n * Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\\n */\\n\\n:root {\\n\\t--ck-dropdown-max-width: 75vw;\\n}\\n\\n.ck.ck-dropdown {\\n\\tdisplay: inline-block;\\n\\tposition: relative;\\n\\n\\t& .ck-dropdown__arrow {\\n\\t\\tpointer-events: none;\\n\\t\\tz-index: var(--ck-z-default);\\n\\t}\\n\\n\\t/* Dropdown button should span horizontally, e.g. in vertical toolbars */\\n\\t& .ck-button.ck-dropdown__button {\\n\\t\\twidth: 100%;\\n\\t}\\n\\n\\t& .ck-dropdown__panel {\\n\\t\\tdisplay: none;\\n\\t\\tz-index: var(--ck-z-modal);\\n\\t\\tmax-width: var(--ck-dropdown-max-width);\\n\\n\\t\\tposition: absolute;\\n\\n\\t\\t&.ck-dropdown__panel-visible {\\n\\t\\t\\tdisplay: inline-block;\\n\\t\\t}\\n\\n\\t\\t&.ck-dropdown__panel_ne,\\n\\t\\t&.ck-dropdown__panel_nw,\\n\\t\\t&.ck-dropdown__panel_n,\\n\\t\\t&.ck-dropdown__panel_nmw,\\n\\t\\t&.ck-dropdown__panel_nme {\\n\\t\\t\\tbottom: 100%;\\n\\t\\t}\\n\\n\\t\\t&.ck-dropdown__panel_se,\\n\\t\\t&.ck-dropdown__panel_sw,\\n\\t\\t&.ck-dropdown__panel_smw,\\n\\t\\t&.ck-dropdown__panel_sme,\\n\\t\\t&.ck-dropdown__panel_s {\\n\\t\\t\\t/*\\n\\t\\t\\t * Using transform: translate3d( 0, 100%, 0 ) causes blurry dropdown on Chrome 67-78+ on non-retina displays.\\n\\t\\t\\t * See https://github.com/ckeditor/ckeditor5/issues/1053.\\n\\t\\t\\t */\\n\\t\\t\\ttop: 100%;\\n\\t\\t\\tbottom: auto;\\n\\t\\t}\\n\\n\\t\\t&.ck-dropdown__panel_ne,\\n\\t\\t&.ck-dropdown__panel_se {\\n\\t\\t\\tleft: 0px;\\n\\t\\t}\\n\\n\\t\\t&.ck-dropdown__panel_nw,\\n\\t\\t&.ck-dropdown__panel_sw {\\n\\t\\t\\tright: 0px;\\n\\t\\t}\\n\\n\\t\\t&.ck-dropdown__panel_s,\\n\\t\\t&.ck-dropdown__panel_n {\\n\\t\\t\\t/* Positioning panels relative to the center of the button */\\n\\t\\t\\tleft: 50%;\\n\\t\\t\\ttransform: translateX(-50%);\\n\\t\\t}\\n\\n\\t\\t&.ck-dropdown__panel_nmw,\\n\\t\\t&.ck-dropdown__panel_smw {\\n\\t\\t\\t/* Positioning panels relative to the middle-west of the button */\\n\\t\\t\\tleft: 75%;\\n\\t\\t\\ttransform: translateX(-75%);\\n\\t\\t}\\n\\n\\t\\t&.ck-dropdown__panel_nme,\\n\\t\\t&.ck-dropdown__panel_sme {\\n\\t\\t\\t/* Positioning panels relative to the middle-east of the button */\\n\\t\\t\\tleft: 25%;\\n\\t\\t\\ttransform: translateX(-25%);\\n\\t\\t}\\n\\t}\\n}\\n\\n/*\\n * Toolbar dropdown panels should be always above the UI (eg. other dropdown panels) from the editor's content.\\n * See https://github.com/ckeditor/ckeditor5/issues/7874\\n */\\n.ck.ck-toolbar .ck-dropdown__panel {\\n\\tz-index: calc( var(--ck-z-modal) + 1 );\\n}\\n\",'/*\\n * Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\\n */\\n\\n@import \"../../../mixins/_rounded.css\";\\n@import \"../../../mixins/_disabled.css\";\\n@import \"../../../mixins/_shadow.css\";\\n@import \"@ckeditor/ckeditor5-ui/theme/mixins/_dir.css\";\\n\\n:root {\\n\\t--ck-dropdown-arrow-size: calc(0.5 * var(--ck-icon-size));\\n}\\n\\n.ck.ck-dropdown {\\n\\t/* Enable font size inheritance, which allows fluid UI scaling. */\\n\\tfont-size: inherit;\\n\\n\\t& .ck-dropdown__arrow {\\n\\t\\twidth: var(--ck-dropdown-arrow-size);\\n\\t}\\n\\n\\t@mixin ck-dir ltr {\\n\\t\\t& .ck-dropdown__arrow {\\n\\t\\t\\tright: var(--ck-spacing-standard);\\n\\n\\t\\t\\t/* A space to accommodate the triangle. */\\n\\t\\t\\tmargin-left: var(--ck-spacing-standard);\\n\\t\\t}\\n\\t}\\n\\n\\t@mixin ck-dir rtl {\\n\\t\\t& .ck-dropdown__arrow {\\n\\t\\t\\tleft: var(--ck-spacing-standard);\\n\\n\\t\\t\\t/* A space to accommodate the triangle. */\\n\\t\\t\\tmargin-right: var(--ck-spacing-small);\\n\\t\\t}\\n\\t}\\n\\n\\t&.ck-disabled .ck-dropdown__arrow {\\n\\t\\t@mixin ck-disabled;\\n\\t}\\n\\n\\t& .ck-button.ck-dropdown__button {\\n\\t\\t@mixin ck-dir ltr {\\n\\t\\t\\t&:not(.ck-button_with-text) {\\n\\t\\t\\t\\t/* Make sure dropdowns with just an icon have the right inner spacing */\\n\\t\\t\\t\\tpadding-left: var(--ck-spacing-small);\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\t@mixin ck-dir rtl {\\n\\t\\t\\t&:not(.ck-button_with-text) {\\n\\t\\t\\t\\t/* Make sure dropdowns with just an icon have the right inner spacing */\\n\\t\\t\\t\\tpadding-right: var(--ck-spacing-small);\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\t/* #23 */\\n\\t\\t& .ck-button__label {\\n\\t\\t\\twidth: 7em;\\n\\t\\t\\toverflow: hidden;\\n\\t\\t\\ttext-overflow: ellipsis;\\n\\t\\t}\\n\\n\\t\\t/* https://github.com/ckeditor/ckeditor5-theme-lark/issues/70 */\\n\\t\\t&.ck-disabled .ck-button__label {\\n\\t\\t\\t@mixin ck-disabled;\\n\\t\\t}\\n\\n\\t\\t/* https://github.com/ckeditor/ckeditor5/issues/816 */\\n\\t\\t&.ck-on {\\n\\t\\t\\tborder-bottom-left-radius: 0;\\n\\t\\t\\tborder-bottom-right-radius: 0;\\n\\t\\t}\\n\\n\\t\\t&.ck-dropdown__button_label-width_auto .ck-button__label {\\n\\t\\t\\twidth: auto;\\n\\t\\t}\\n\\n\\t\\t/* https://github.com/ckeditor/ckeditor5/issues/8699 */\\n\\t\\t&.ck-off:active,\\n\\t\\t&.ck-on:active {\\n\\t\\t\\tbox-shadow: none;\\n\\n\\t\\t\\t&:focus {\\n\\t\\t\\t\\t@mixin ck-box-shadow var(--ck-focus-outer-shadow);\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n}\\n\\n.ck.ck-dropdown__panel {\\n\\t@mixin ck-rounded-corners;\\n\\t@mixin ck-drop-shadow;\\n\\n\\tbackground: var(--ck-color-dropdown-panel-background);\\n\\tborder: 1px solid var(--ck-color-dropdown-panel-border);\\n\\tbottom: 0;\\n\\n\\t/* Make sure the panel is at least as wide as the drop-down\\'s button. */\\n\\tmin-width: 100%;\\n\\n\\t/* Disabled corner border radius to be consistent with the .dropdown__button\\n\\thttps://github.com/ckeditor/ckeditor5/issues/816 */\\n\\t&.ck-dropdown__panel_se {\\n\\t\\tborder-top-left-radius: 0;\\n\\t}\\n\\n\\t&.ck-dropdown__panel_sw {\\n\\t\\tborder-top-right-radius: 0;\\n\\t}\\n\\n\\t&.ck-dropdown__panel_ne {\\n\\t\\tborder-bottom-left-radius: 0;\\n\\t}\\n\\n\\t&.ck-dropdown__panel_nw {\\n\\t\\tborder-bottom-right-radius: 0;\\n\\t}\\n\\n\\t&:focus {\\n\\t\\toutline: none;\\n\\t}\\n}\\n',\"/*\\n * Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\\n */\\n\\n/**\\n * A class which indicates that an element holding it is disabled.\\n */\\n@define-mixin ck-disabled {\\n\\topacity: var(--ck-disabled-opacity);\\n}\\n\",\"/*\\n * Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\\n */\\n\\n/**\\n * A helper to combine multiple shadows.\\n */\\n@define-mixin ck-box-shadow $shadowA, $shadowB: 0 0 {\\n\\tbox-shadow: $shadowA, $shadowB;\\n}\\n\\n/**\\n * Gives an element a drop shadow so it looks like a floating panel.\\n */\\n@define-mixin ck-drop-shadow {\\n\\t@mixin ck-box-shadow var(--ck-drop-shadow);\\n}\\n\",\"/*\\n * Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\\n */\\n\\n/**\\n * Implements rounded corner interface for .ck-rounded-corners class.\\n *\\n * @see $ck-border-radius\\n */\\n@define-mixin ck-rounded-corners {\\n\\tborder-radius: 0;\\n\\n\\t@nest .ck-rounded-corners &,\\n\\t&.ck-rounded-corners {\\n\\t\\tborder-radius: var(--ck-border-radius);\\n\\t\\t@mixin-content;\\n\\t}\\n}\\n\"],sourceRoot:\"\"}]);const a=s},1883:(t,e,n)=>{\"use strict\";n.d(e,{Z:()=>a});var o=n(4015),i=n.n(o),r=n(3645),s=n.n(r)()(i());s.push([t.id,\".ck.ck-dropdown .ck-dropdown__panel .ck-list{border-radius:0}.ck-rounded-corners .ck.ck-dropdown .ck-dropdown__panel .ck-list,.ck.ck-dropdown .ck-dropdown__panel .ck-list.ck-rounded-corners{border-radius:var(--ck-border-radius);border-top-left-radius:0}.ck.ck-dropdown .ck-dropdown__panel .ck-list .ck-list__item:first-child .ck-button{border-radius:0}.ck-rounded-corners .ck.ck-dropdown .ck-dropdown__panel .ck-list .ck-list__item:first-child .ck-button,.ck.ck-dropdown .ck-dropdown__panel .ck-list .ck-list__item:first-child .ck-button.ck-rounded-corners{border-radius:var(--ck-border-radius);border-bottom-left-radius:0;border-bottom-right-radius:0;border-top-left-radius:0}.ck.ck-dropdown .ck-dropdown__panel .ck-list .ck-list__item:last-child .ck-button{border-radius:0}.ck-rounded-corners .ck.ck-dropdown .ck-dropdown__panel .ck-list .ck-list__item:last-child .ck-button,.ck.ck-dropdown .ck-dropdown__panel .ck-list .ck-list__item:last-child .ck-button.ck-rounded-corners{border-radius:var(--ck-border-radius);border-top-left-radius:0;border-top-right-radius:0}\",\"\",{version:3,sources:[\"webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-ui/components/dropdown/listdropdown.css\",\"webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/mixins/_rounded.css\"],names:[],mappings:\"AAOA,6CCIC,eDqBD,CAzBA,iICQE,qCAAsC,CDJtC,wBAqBF,CAfE,mFCND,eDYC,CANA,6MCFA,qCAAsC,CDKpC,2BAA4B,CAC5B,4BAA6B,CAF7B,wBAIF,CAEA,kFCdD,eDmBC,CALA,2MCVA,qCAAsC,CDYpC,wBAAyB,CACzB,yBAEF\",sourcesContent:['/*\\n * Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\\n */\\n\\n@import \"../../../mixins/_rounded.css\";\\n\\n.ck.ck-dropdown .ck-dropdown__panel .ck-list {\\n\\t/* Disabled radius of top-left border to be consistent with .dropdown__button\\n\\thttps://github.com/ckeditor/ckeditor5/issues/816 */\\n\\t@mixin ck-rounded-corners {\\n\\t\\tborder-top-left-radius: 0;\\n\\t}\\n\\n\\t/* Make sure the button belonging to the first/last child of the list goes well with the\\n\\tborder radius of the entire panel. */\\n\\t& .ck-list__item {\\n\\t\\t&:first-child .ck-button {\\n\\t\\t\\t@mixin ck-rounded-corners {\\n\\t\\t\\t\\tborder-top-left-radius: 0;\\n\\t\\t\\t\\tborder-bottom-left-radius: 0;\\n\\t\\t\\t\\tborder-bottom-right-radius: 0;\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\t&:last-child .ck-button {\\n\\t\\t\\t@mixin ck-rounded-corners {\\n\\t\\t\\t\\tborder-top-left-radius: 0;\\n\\t\\t\\t\\tborder-top-right-radius: 0;\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n}\\n',\"/*\\n * Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\\n */\\n\\n/**\\n * Implements rounded corner interface for .ck-rounded-corners class.\\n *\\n * @see $ck-border-radius\\n */\\n@define-mixin ck-rounded-corners {\\n\\tborder-radius: 0;\\n\\n\\t@nest .ck-rounded-corners &,\\n\\t&.ck-rounded-corners {\\n\\t\\tborder-radius: var(--ck-border-radius);\\n\\t\\t@mixin-content;\\n\\t}\\n}\\n\"],sourceRoot:\"\"}]);const a=s},4791:(t,e,n)=>{\"use strict\";n.d(e,{Z:()=>a});var o=n(4015),i=n.n(o),r=n(3645),s=n.n(r)()(i());s.push([t.id,'.ck.ck-splitbutton{font-size:inherit}.ck.ck-splitbutton .ck-splitbutton__action:focus{z-index:calc(var(--ck-z-default) + 1)}:root{--ck-color-split-button-hover-background:#ebebeb;--ck-color-split-button-hover-border:#b3b3b3}[dir=ltr] .ck.ck-splitbutton.ck-splitbutton_open>.ck-splitbutton__action,[dir=ltr] .ck.ck-splitbutton:hover>.ck-splitbutton__action{border-bottom-right-radius:unset;border-top-right-radius:unset}[dir=rtl] .ck.ck-splitbutton.ck-splitbutton_open>.ck-splitbutton__action,[dir=rtl] .ck.ck-splitbutton:hover>.ck-splitbutton__action{border-bottom-left-radius:unset;border-top-left-radius:unset}.ck.ck-splitbutton>.ck-splitbutton__arrow{min-width:unset}[dir=ltr] .ck.ck-splitbutton>.ck-splitbutton__arrow{border-bottom-left-radius:unset;border-top-left-radius:unset}[dir=rtl] .ck.ck-splitbutton>.ck-splitbutton__arrow{border-bottom-right-radius:unset;border-top-right-radius:unset}.ck.ck-splitbutton>.ck-splitbutton__arrow svg{width:var(--ck-dropdown-arrow-size)}.ck.ck-splitbutton>.ck-splitbutton__arrow:not(:focus){border-bottom-width:0;border-top-width:0}.ck.ck-splitbutton.ck-splitbutton_open>.ck-button:not(.ck-on):not(.ck-disabled):not(:hover),.ck.ck-splitbutton:hover>.ck-button:not(.ck-on):not(.ck-disabled):not(:hover){background:var(--ck-color-split-button-hover-background)}.ck.ck-splitbutton.ck-splitbutton_open>.ck-splitbutton__arrow:not(.ck-disabled):after,.ck.ck-splitbutton:hover>.ck-splitbutton__arrow:not(.ck-disabled):after{background-color:var(--ck-color-split-button-hover-border);content:\"\";height:100%;position:absolute;width:1px}.ck.ck-splitbutton.ck-splitbutton_open>.ck-splitbutton__arrow:focus:after,.ck.ck-splitbutton:hover>.ck-splitbutton__arrow:focus:after{--ck-color-split-button-hover-border:var(--ck-color-focus-border)}[dir=ltr] .ck.ck-splitbutton.ck-splitbutton_open>.ck-splitbutton__arrow:not(.ck-disabled):after,[dir=ltr] .ck.ck-splitbutton:hover>.ck-splitbutton__arrow:not(.ck-disabled):after{left:-1px}[dir=rtl] .ck.ck-splitbutton.ck-splitbutton_open>.ck-splitbutton__arrow:not(.ck-disabled):after,[dir=rtl] .ck.ck-splitbutton:hover>.ck-splitbutton__arrow:not(.ck-disabled):after{right:-1px}.ck.ck-splitbutton.ck-splitbutton_open{border-radius:0}.ck-rounded-corners .ck.ck-splitbutton.ck-splitbutton_open,.ck.ck-splitbutton.ck-splitbutton_open.ck-rounded-corners{border-radius:var(--ck-border-radius)}.ck-rounded-corners .ck.ck-splitbutton.ck-splitbutton_open>.ck-splitbutton__action,.ck.ck-splitbutton.ck-splitbutton_open.ck-rounded-corners>.ck-splitbutton__action{border-bottom-left-radius:0}.ck-rounded-corners .ck.ck-splitbutton.ck-splitbutton_open>.ck-splitbutton__arrow,.ck.ck-splitbutton.ck-splitbutton_open.ck-rounded-corners>.ck-splitbutton__arrow{border-bottom-right-radius:0}',\"\",{version:3,sources:[\"webpack://./node_modules/@ckeditor/ckeditor5-ui/theme/components/dropdown/splitbutton.css\",\"webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-ui/components/dropdown/splitbutton.css\",\"webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/mixins/_rounded.css\"],names:[],mappings:\"AAKA,mBAEC,iBAKD,CAHC,iDACC,qCACD,CCJD,MACC,gDAAyD,CACzD,4CACD,CAMC,oIAKE,gCAAiC,CADjC,6BASF,CAbA,oIAWE,+BAAgC,CADhC,4BAGF,CAEA,0CAGC,eAiBD,CApBA,oDAQE,+BAAgC,CADhC,4BAaF,CApBA,oDAcE,gCAAiC,CADjC,6BAOF,CAHC,8CACC,mCACD,CAKD,sDAEC,qBAAwB,CADxB,kBAED,CAQC,0KACC,wDACD,CAIA,8JAKC,0DAA2D,CAJ3D,UAAW,CAGX,WAAY,CAFZ,iBAAkB,CAClB,SAGD,CAGA,sIACC,iEACD,CAGC,kLACC,SACD,CAIA,kLACC,UACD,CAMF,uCCzFA,eDmGA,CAVA,qHCrFC,qCD+FD,CARE,qKACC,2BACD,CAEA,mKACC,4BACD\",sourcesContent:[\"/*\\n * Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\\n */\\n\\n.ck.ck-splitbutton {\\n\\t/* Enable font size inheritance, which allows fluid UI scaling. */\\n\\tfont-size: inherit;\\n\\n\\t& .ck-splitbutton__action:focus {\\n\\t\\tz-index: calc(var(--ck-z-default) + 1);\\n\\t}\\n}\\n\\n\",'/*\\n * Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\\n */\\n\\n@import \"../../../mixins/_rounded.css\";\\n\\n:root {\\n\\t--ck-color-split-button-hover-background: hsl(0, 0%, 92%);\\n\\t--ck-color-split-button-hover-border: hsl(0, 0%, 70%);\\n}\\n\\n.ck.ck-splitbutton {\\n\\t/*\\n\\t * Note: ck-rounded and ck-dir mixins don\\'t go together (because they both use @nest).\\n\\t */\\n\\t&:hover > .ck-splitbutton__action,\\n\\t&.ck-splitbutton_open > .ck-splitbutton__action {\\n\\t\\t@nest [dir=\"ltr\"] & {\\n\\t\\t\\t/* Don\\'t round the action button on the right side */\\n\\t\\t\\tborder-top-right-radius: unset;\\n\\t\\t\\tborder-bottom-right-radius: unset;\\n\\t\\t}\\n\\n\\t\\t@nest [dir=\"rtl\"] & {\\n\\t\\t\\t/* Don\\'t round the action button on the left side */\\n\\t\\t\\tborder-top-left-radius: unset;\\n\\t\\t\\tborder-bottom-left-radius: unset;\\n\\t\\t}\\n\\t}\\n\\n\\t& > .ck-splitbutton__arrow {\\n\\t\\t/* It\\'s a text-less button and since the icon is positioned absolutely in such situation,\\n\\t\\tit must get some arbitrary min-width. */\\n\\t\\tmin-width: unset;\\n\\n\\t\\t@nest [dir=\"ltr\"] & {\\n\\t\\t\\t/* Don\\'t round the arrow button on the left side */\\n\\t\\t\\tborder-top-left-radius: unset;\\n\\t\\t\\tborder-bottom-left-radius: unset;\\n\\t\\t}\\n\\n\\t\\t@nest [dir=\"rtl\"] & {\\n\\t\\t\\t/* Don\\'t round the arrow button on the right side */\\n\\t\\t\\tborder-top-right-radius: unset;\\n\\t\\t\\tborder-bottom-right-radius: unset;\\n\\t\\t}\\n\\n\\t\\t& svg {\\n\\t\\t\\twidth: var(--ck-dropdown-arrow-size);\\n\\t\\t}\\n\\t}\\n\\n\\t/* Make sure the divider stretches 100% height of the button\\n\\thttps://github.com/ckeditor/ckeditor5/issues/10936 */\\n\\t& > .ck-splitbutton__arrow:not(:focus) {\\n\\t\\tborder-top-width: 0px;\\n\\t\\tborder-bottom-width: 0px;\\n\\t}\\n\\n\\t/* When the split button is \"open\" (the arrow is on) or being hovered, it should get some styling\\n\\tas a whole. The background of both buttons should stand out and there should be a visual\\n\\tseparation between both buttons. */\\n\\t&.ck-splitbutton_open,\\n\\t&:hover {\\n\\t\\t/* When the split button hovered as a whole, not as individual buttons. */\\n\\t\\t& > .ck-button:not(.ck-on):not(.ck-disabled):not(:hover) {\\n\\t\\t\\tbackground: var(--ck-color-split-button-hover-background);\\n\\t\\t}\\n\\n\\t\\t/* Splitbutton separator needs to be set with the ::after pseudoselector\\n\\t\\tto display properly the borders on focus */\\n\\t\\t& > .ck-splitbutton__arrow:not(.ck-disabled)::after {\\n\\t\\t\\tcontent: \\'\\';\\n\\t\\t\\tposition: absolute;\\n\\t\\t\\twidth: 1px;\\n\\t\\t\\theight: 100%;\\n\\t\\t\\tbackground-color: var(--ck-color-split-button-hover-border);\\n\\t\\t}\\n\\n\\t\\t/* Make sure the divider between the buttons looks fine when the button is focused */\\n\\t\\t& > .ck-splitbutton__arrow:focus::after {\\n\\t\\t\\t--ck-color-split-button-hover-border: var(--ck-color-focus-border);\\n\\t\\t}\\n\\n\\t\\t@nest [dir=\"ltr\"] & {\\n\\t\\t\\t& > .ck-splitbutton__arrow:not(.ck-disabled)::after {\\n\\t\\t\\t\\tleft: -1px;\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\t@nest [dir=\"rtl\"] & {\\n\\t\\t\\t& > .ck-splitbutton__arrow:not(.ck-disabled)::after {\\n\\t\\t\\t\\tright: -1px;\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n\\n\\t/* Don\\'t round the bottom left and right corners of the buttons when \"open\"\\n\\thttps://github.com/ckeditor/ckeditor5/issues/816 */\\n\\t&.ck-splitbutton_open {\\n\\t\\t@mixin ck-rounded-corners {\\n\\t\\t\\t& > .ck-splitbutton__action {\\n\\t\\t\\t\\tborder-bottom-left-radius: 0;\\n\\t\\t\\t}\\n\\n\\t\\t\\t& > .ck-splitbutton__arrow {\\n\\t\\t\\t\\tborder-bottom-right-radius: 0;\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n}\\n',\"/*\\n * Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\\n */\\n\\n/**\\n * Implements rounded corner interface for .ck-rounded-corners class.\\n *\\n * @see $ck-border-radius\\n */\\n@define-mixin ck-rounded-corners {\\n\\tborder-radius: 0;\\n\\n\\t@nest .ck-rounded-corners &,\\n\\t&.ck-rounded-corners {\\n\\t\\tborder-radius: var(--ck-border-radius);\\n\\t\\t@mixin-content;\\n\\t}\\n}\\n\"],sourceRoot:\"\"}]);const a=s},2704:(t,e,n)=>{\"use strict\";n.d(e,{Z:()=>a});var o=n(4015),i=n.n(o),r=n(3645),s=n.n(r)()(i());s.push([t.id,\":root{--ck-toolbar-dropdown-max-width:60vw}.ck.ck-toolbar-dropdown>.ck-dropdown__panel{max-width:var(--ck-toolbar-dropdown-max-width);width:max-content}.ck.ck-toolbar-dropdown>.ck-dropdown__panel .ck-button:focus{z-index:calc(var(--ck-z-default) + 1)}.ck.ck-toolbar-dropdown .ck-toolbar{border:0}\",\"\",{version:3,sources:[\"webpack://./node_modules/@ckeditor/ckeditor5-ui/theme/components/dropdown/toolbardropdown.css\",\"webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-ui/components/dropdown/toolbardropdown.css\"],names:[],mappings:\"AAKA,MACC,oCACD,CAEA,4CAGC,8CAA+C,CAD/C,iBAQD,CAJE,6DACC,qCACD,CCZF,oCACC,QACD\",sourcesContent:[\"/*\\n * Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\\n */\\n\\n:root {\\n\\t--ck-toolbar-dropdown-max-width: 60vw;\\n}\\n\\n.ck.ck-toolbar-dropdown > .ck-dropdown__panel {\\n\\t/* https://github.com/ckeditor/ckeditor5/issues/5586 */\\n\\twidth: max-content;\\n\\tmax-width: var(--ck-toolbar-dropdown-max-width);\\n\\n\\t& .ck-button {\\n\\t\\t&:focus {\\n\\t\\t\\tz-index: calc(var(--ck-z-default) + 1);\\n\\t\\t}\\n\\t}\\n}\\n\",\"/*\\n * Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\\n */\\n\\n.ck.ck-toolbar-dropdown .ck-toolbar {\\n\\tborder: 0;\\n}\\n\"],sourceRoot:\"\"}]);const a=s},9847:(t,e,n)=>{\"use strict\";n.d(e,{Z:()=>a});var o=n(4015),i=n.n(o),r=n(3645),s=n.n(r)()(i());s.push([t.id,\":root{--ck-color-editable-blur-selection:#d9d9d9}.ck.ck-editor__editable:not(.ck-editor__nested-editable){border-radius:0}.ck-rounded-corners .ck.ck-editor__editable:not(.ck-editor__nested-editable),.ck.ck-editor__editable.ck-rounded-corners:not(.ck-editor__nested-editable){border-radius:var(--ck-border-radius)}.ck.ck-editor__editable.ck-focused:not(.ck-editor__nested-editable){border:var(--ck-focus-ring);box-shadow:var(--ck-inner-shadow),0 0;outline:none}.ck.ck-editor__editable_inline{border:1px solid #0000;overflow:auto;padding:0 var(--ck-spacing-standard)}.ck.ck-editor__editable_inline[dir=ltr]{text-align:left}.ck.ck-editor__editable_inline[dir=rtl]{text-align:right}.ck.ck-editor__editable_inline>:first-child{margin-top:var(--ck-spacing-large)}.ck.ck-editor__editable_inline>:last-child{margin-bottom:var(--ck-spacing-large)}.ck.ck-editor__editable_inline.ck-blurred ::selection{background:var(--ck-color-editable-blur-selection)}.ck.ck-balloon-panel.ck-toolbar-container[class*=arrow_n]:after{border-bottom-color:var(--ck-color-panel-background)}.ck.ck-balloon-panel.ck-toolbar-container[class*=arrow_s]:after{border-top-color:var(--ck-color-panel-background)}\",\"\",{version:3,sources:[\"webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-ui/components/editorui/editorui.css\",\"webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/mixins/_rounded.css\",\"webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/mixins/_focus.css\",\"webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/mixins/_shadow.css\"],names:[],mappings:\"AAWA,MACC,0CACD,CAEA,yDCJC,eDWD,CAPA,yJCAE,qCDOF,CAJC,oEEPA,2BAA2B,CCF3B,qCAA8B,CDC9B,YFWA,CAGD,+BAGC,sBAA6B,CAF7B,aAAc,CACd,oCA6BD,CA1BC,wCACC,eACD,CAEA,wCACC,gBACD,CAGA,4CACC,kCACD,CAGA,2CAKC,qCACD,CAGA,sDACC,kDACD,CAKA,gEACC,oDACD,CAIA,gEACC,iDACD\",sourcesContent:['/*\\n * Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\\n */\\n\\n@import \"../../../mixins/_rounded.css\";\\n@import \"../../../mixins/_disabled.css\";\\n@import \"../../../mixins/_shadow.css\";\\n@import \"../../../mixins/_focus.css\";\\n@import \"../../mixins/_button.css\";\\n\\n:root {\\n\\t--ck-color-editable-blur-selection: hsl(0, 0%, 85%);\\n}\\n\\n.ck.ck-editor__editable:not(.ck-editor__nested-editable) {\\n\\t@mixin ck-rounded-corners;\\n\\n\\t&.ck-focused {\\n\\t\\t@mixin ck-focus-ring;\\n\\t\\t@mixin ck-box-shadow var(--ck-inner-shadow);\\n\\t}\\n}\\n\\n.ck.ck-editor__editable_inline {\\n\\toverflow: auto;\\n\\tpadding: 0 var(--ck-spacing-standard);\\n\\tborder: 1px solid transparent;\\n\\n\\t&[dir=\"ltr\"] {\\n\\t\\ttext-align: left;\\n\\t}\\n\\n\\t&[dir=\"rtl\"] {\\n\\t\\ttext-align: right;\\n\\t}\\n\\n\\t/* https://github.com/ckeditor/ckeditor5-theme-lark/issues/116 */\\n\\t& > *:first-child {\\n\\t\\tmargin-top: var(--ck-spacing-large);\\n\\t}\\n\\n\\t/* https://github.com/ckeditor/ckeditor5/issues/847 */\\n\\t& > *:last-child {\\n\\t\\t/*\\n\\t\\t * This value should match with the default margins of the block elements (like .media or .image)\\n\\t\\t * to avoid a content jumping when the fake selection container shows up (See https://github.com/ckeditor/ckeditor5/issues/9825).\\n\\t\\t */\\n\\t\\tmargin-bottom: var(--ck-spacing-large);\\n\\t}\\n\\n\\t/* https://github.com/ckeditor/ckeditor5/issues/6517 */\\n\\t&.ck-blurred ::selection {\\n\\t\\tbackground: var(--ck-color-editable-blur-selection);\\n\\t}\\n}\\n\\n/* https://github.com/ckeditor/ckeditor5-theme-lark/issues/111 */\\n.ck.ck-balloon-panel.ck-toolbar-container[class*=\"arrow_n\"] {\\n\\t&::after {\\n\\t\\tborder-bottom-color: var(--ck-color-panel-background);\\n\\t}\\n}\\n\\n.ck.ck-balloon-panel.ck-toolbar-container[class*=\"arrow_s\"] {\\n\\t&::after {\\n\\t\\tborder-top-color: var(--ck-color-panel-background);\\n\\t}\\n}\\n',\"/*\\n * Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\\n */\\n\\n/**\\n * Implements rounded corner interface for .ck-rounded-corners class.\\n *\\n * @see $ck-border-radius\\n */\\n@define-mixin ck-rounded-corners {\\n\\tborder-radius: 0;\\n\\n\\t@nest .ck-rounded-corners &,\\n\\t&.ck-rounded-corners {\\n\\t\\tborder-radius: var(--ck-border-radius);\\n\\t\\t@mixin-content;\\n\\t}\\n}\\n\",\"/*\\n * Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\\n */\\n\\n/**\\n * A visual style of focused element's border.\\n */\\n@define-mixin ck-focus-ring {\\n\\t/* Disable native outline. */\\n\\toutline: none;\\n\\tborder: var(--ck-focus-ring)\\n}\\n\",\"/*\\n * Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\\n */\\n\\n/**\\n * A helper to combine multiple shadows.\\n */\\n@define-mixin ck-box-shadow $shadowA, $shadowB: 0 0 {\\n\\tbox-shadow: $shadowA, $shadowB;\\n}\\n\\n/**\\n * Gives an element a drop shadow so it looks like a floating panel.\\n */\\n@define-mixin ck-drop-shadow {\\n\\t@mixin ck-box-shadow var(--ck-drop-shadow);\\n}\\n\"],sourceRoot:\"\"}]);const a=s},1874:(t,e,n)=>{\"use strict\";n.d(e,{Z:()=>a});var o=n(4015),i=n.n(o),r=n(3645),s=n.n(r)()(i());s.push([t.id,\".ck.ck-form__header{align-items:center;display:flex;flex-direction:row;flex-wrap:nowrap;justify-content:space-between}.ck.ck-form__header h2.ck-form__header__label{flex-grow:1}:root{--ck-form-header-height:38px}.ck.ck-form__header{border-bottom:1px solid var(--ck-color-base-border);height:var(--ck-form-header-height);line-height:var(--ck-form-header-height);padding:var(--ck-spacing-small) var(--ck-spacing-large)}[dir=ltr] .ck.ck-form__header .ck-icon{margin-right:var(--ck-spacing-medium)}[dir=rtl] .ck.ck-form__header .ck-icon{margin-left:var(--ck-spacing-medium)}.ck.ck-form__header .ck-form__header__label{font-weight:700}\",\"\",{version:3,sources:[\"webpack://./node_modules/@ckeditor/ckeditor5-ui/theme/components/formheader/formheader.css\",\"webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-ui/components/formheader/formheader.css\"],names:[],mappings:\"AAKA,oBAIC,kBAAmB,CAHnB,YAAa,CACb,kBAAmB,CACnB,gBAAiB,CAEjB,6BAKD,CAHC,8CACC,WACD,CCPD,MACC,4BACD,CAEA,oBAIC,mDAAoD,CAFpD,mCAAoC,CACpC,wCAAyC,CAFzC,uDAkBD,CAbC,uCAEE,qCAMF,CARA,uCAME,oCAEF,CAEA,4CACC,eACD\",sourcesContent:[\"/*\\n * Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\\n */\\n\\n.ck.ck-form__header {\\n\\tdisplay: flex;\\n\\tflex-direction: row;\\n\\tflex-wrap: nowrap;\\n\\talign-items: center;\\n\\tjustify-content: space-between;\\n\\n\\t& h2.ck-form__header__label {\\n\\t\\tflex-grow: 1;\\n\\t}\\n}\\n\",'/*\\n * Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\\n */\\n\\n@import \"@ckeditor/ckeditor5-ui/theme/mixins/_dir.css\";\\n\\n:root {\\n\\t--ck-form-header-height: 38px;\\n}\\n\\n.ck.ck-form__header {\\n\\tpadding: var(--ck-spacing-small) var(--ck-spacing-large);\\n\\theight: var(--ck-form-header-height);\\n\\tline-height: var(--ck-form-header-height);\\n\\tborder-bottom: 1px solid var(--ck-color-base-border);\\n\\n\\t& .ck-icon {\\n\\t\\t@mixin ck-dir ltr {\\n\\t\\t\\tmargin-right: var(--ck-spacing-medium);\\n\\t\\t}\\n\\n\\t\\t@mixin ck-dir rtl {\\n\\t\\t\\tmargin-left: var(--ck-spacing-medium);\\n\\t\\t}\\n\\t}\\n\\n\\t& .ck-form__header__label {\\n\\t\\tfont-weight: bold;\\n\\t}\\n}\\n'],sourceRoot:\"\"}]);const a=s},4746:(t,e,n)=>{\"use strict\";n.d(e,{Z:()=>a});var o=n(4015),i=n.n(o),r=n(3645),s=n.n(r)()(i());s.push([t.id,\".ck.ck-highlighted-text mark{background:var(--ck-color-highlight-background);font-size:inherit;font-weight:inherit;line-height:inherit;vertical-align:initial}\",\"\",{version:3,sources:[\"webpack://./node_modules/@ckeditor/ckeditor5-ui/theme/components/highlightedtext/highlightedtext.css\"],names:[],mappings:\"AAKA,6BACC,+CAAgD,CAIhD,iBAAkB,CAFlB,mBAAoB,CACpB,mBAAoB,CAFpB,sBAID\",sourcesContent:[\"/*\\n * Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\\n */\\n\\n.ck.ck-highlighted-text mark {\\n\\tbackground: var(--ck-color-highlight-background);\\n\\tvertical-align: initial;\\n\\tfont-weight: inherit;\\n\\tline-height: inherit;\\n\\tfont-size: inherit;\\n}\\n\"],sourceRoot:\"\"}]);const a=s},1977:(t,e,n)=>{\"use strict\";n.d(e,{Z:()=>a});var o=n(4015),i=n.n(o),r=n(3645),s=n.n(r)()(i());s.push([t.id,\".ck.ck-icon{vertical-align:middle}:root{--ck-icon-size:calc(var(--ck-line-height-base)*var(--ck-font-size-normal))}.ck.ck-icon{font-size:.8333350694em;height:var(--ck-icon-size);width:var(--ck-icon-size);will-change:transform}.ck.ck-icon,.ck.ck-icon *{cursor:inherit}.ck.ck-icon.ck-icon_inherit-color,.ck.ck-icon.ck-icon_inherit-color *{color:inherit}.ck.ck-icon.ck-icon_inherit-color :not([fill]){fill:currentColor}\",\"\",{version:3,sources:[\"webpack://./node_modules/@ckeditor/ckeditor5-ui/theme/components/icon/icon.css\",\"webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-ui/components/icon/icon.css\"],names:[],mappings:\"AAKA,YACC,qBACD,CCFA,MACC,0EACD,CAEA,YAKC,uBAAwB,CAHxB,0BAA2B,CAD3B,yBAA0B,CAU1B,qBAoBD,CAlBC,0BALA,cAQA,CAMC,sEACC,aAMD,CAJC,+CAEC,iBACD\",sourcesContent:[\"/*\\n * Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\\n */\\n\\n.ck.ck-icon {\\n\\tvertical-align: middle;\\n}\\n\",'/*\\n * Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\\n */\\n\\n:root {\\n\\t--ck-icon-size: calc(var(--ck-line-height-base) * var(--ck-font-size-normal));\\n}\\n\\n.ck.ck-icon {\\n\\twidth: var(--ck-icon-size);\\n\\theight: var(--ck-icon-size);\\n\\n\\t/* Multiplied by the height of the line in \"px\" should give SVG \"viewport\" dimensions */\\n\\tfont-size: .8333350694em;\\n\\n\\t/* Inherit cursor style (#5). */\\n\\tcursor: inherit;\\n\\n\\t/* This will prevent blurry icons on Firefox. See #340. */\\n\\twill-change: transform;\\n\\n\\t& * {\\n\\t\\t/* Inherit cursor style (#5). */\\n\\t\\tcursor: inherit;\\n\\t}\\n\\n\\t/* Allows dynamic coloring of an icon by inheriting its color from the parent. */\\n\\t&.ck-icon_inherit-color {\\n\\t\\tcolor: inherit;\\n\\n\\t\\t& * {\\n\\t\\t\\tcolor: inherit;\\n\\n\\t\\t\\t&:not([fill]) {\\n\\t\\t\\t\\t/* Needed by FF. */\\n\\t\\t\\t\\tfill: currentColor;\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n}\\n'],sourceRoot:\"\"}]);const a=s},2470:(t,e,n)=>{\"use strict\";n.d(e,{Z:()=>a});var o=n(4015),i=n.n(o),r=n(3645),s=n.n(r)()(i());s.push([t.id,\":root{--ck-input-width:18em;--ck-input-text-width:var(--ck-input-width)}.ck.ck-input{border-radius:0}.ck-rounded-corners .ck.ck-input,.ck.ck-input.ck-rounded-corners{border-radius:var(--ck-border-radius)}.ck.ck-input{background:var(--ck-color-input-background);border:1px solid var(--ck-color-input-border);min-height:var(--ck-ui-component-min-height);min-width:var(--ck-input-width);padding:var(--ck-spacing-extra-tiny) var(--ck-spacing-medium);transition:box-shadow .1s ease-in-out,border .1s ease-in-out}.ck.ck-input:focus{border:var(--ck-focus-ring);box-shadow:var(--ck-focus-outer-shadow),0 0;outline:none}.ck.ck-input[readonly]{background:var(--ck-color-input-disabled-background);border:1px solid var(--ck-color-input-disabled-border);color:var(--ck-color-input-disabled-text)}.ck.ck-input[readonly]:focus{box-shadow:var(--ck-focus-disabled-outer-shadow),0 0}.ck.ck-input.ck-error{animation:ck-input-shake .3s ease both;border-color:var(--ck-color-input-error-border)}.ck.ck-input.ck-error:focus{box-shadow:var(--ck-focus-error-outer-shadow),0 0}@keyframes ck-input-shake{20%{transform:translateX(-2px)}40%{transform:translateX(2px)}60%{transform:translateX(-1px)}80%{transform:translateX(1px)}}\",\"\",{version:3,sources:[\"webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-ui/components/input/input.css\",\"webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/mixins/_rounded.css\",\"webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/mixins/_focus.css\",\"webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/mixins/_shadow.css\"],names:[],mappings:\"AASA,MACC,qBAAsB,CAGtB,2CACD,CAEA,aCLC,eD2CD,CAtCA,iECDE,qCDuCF,CAtCA,aAGC,2CAA4C,CAC5C,6CAA8C,CAK9C,4CAA6C,CAH7C,+BAAgC,CADhC,6DAA8D,CAO9D,4DA0BD,CAxBC,mBEnBA,2BAA2B,CCF3B,2CAA8B,CDC9B,YFuBA,CAEA,uBAEC,oDAAqD,CADrD,sDAAuD,CAEvD,yCAMD,CAJC,6BG/BD,oDHkCC,CAGD,sBAEC,sCAAuC,CADvC,+CAMD,CAHC,4BGzCD,iDH2CC,CAIF,0BACC,IACC,0BACD,CAEA,IACC,yBACD,CAEA,IACC,0BACD,CAEA,IACC,yBACD,CACD\",sourcesContent:['/*\\n * Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\\n */\\n\\n@import \"../../../mixins/_rounded.css\";\\n@import \"../../../mixins/_focus.css\";\\n@import \"../../../mixins/_shadow.css\";\\n\\n:root {\\n\\t--ck-input-width: 18em;\\n\\n\\t/* Backward compatibility. */\\n\\t--ck-input-text-width: var(--ck-input-width);\\n}\\n\\n.ck.ck-input {\\n\\t@mixin ck-rounded-corners;\\n\\n\\tbackground: var(--ck-color-input-background);\\n\\tborder: 1px solid var(--ck-color-input-border);\\n\\tpadding: var(--ck-spacing-extra-tiny) var(--ck-spacing-medium);\\n\\tmin-width: var(--ck-input-width);\\n\\n\\t/* This is important to stay of the same height as surrounding buttons */\\n\\tmin-height: var(--ck-ui-component-min-height);\\n\\n\\t/* Apply some smooth transition to the box-shadow and border. */\\n\\ttransition: box-shadow .1s ease-in-out, border .1s ease-in-out;\\n\\n\\t&:focus {\\n\\t\\t@mixin ck-focus-ring;\\n\\t\\t@mixin ck-box-shadow var(--ck-focus-outer-shadow);\\n\\t}\\n\\n\\t&[readonly] {\\n\\t\\tborder: 1px solid var(--ck-color-input-disabled-border);\\n\\t\\tbackground: var(--ck-color-input-disabled-background);\\n\\t\\tcolor: var(--ck-color-input-disabled-text);\\n\\n\\t\\t&:focus {\\n\\t\\t\\t/* The read-only input should have a slightly less visible shadow when focused. */\\n\\t\\t\\t@mixin ck-box-shadow var(--ck-focus-disabled-outer-shadow);\\n\\t\\t}\\n\\t}\\n\\n\\t&.ck-error {\\n\\t\\tborder-color: var(--ck-color-input-error-border);\\n\\t\\tanimation: ck-input-shake .3s ease both;\\n\\n\\t\\t&:focus {\\n\\t\\t\\t@mixin ck-box-shadow var(--ck-focus-error-outer-shadow);\\n\\t\\t}\\n\\t}\\n}\\n\\n@keyframes ck-input-shake {\\n\\t20% {\\n\\t\\ttransform: translateX(-2px);\\n\\t}\\n\\n\\t40% {\\n\\t\\ttransform: translateX(2px);\\n\\t}\\n\\n\\t60% {\\n\\t\\ttransform: translateX(-1px);\\n\\t}\\n\\n\\t80% {\\n\\t\\ttransform: translateX(1px);\\n\\t}\\n}\\n',\"/*\\n * Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\\n */\\n\\n/**\\n * Implements rounded corner interface for .ck-rounded-corners class.\\n *\\n * @see $ck-border-radius\\n */\\n@define-mixin ck-rounded-corners {\\n\\tborder-radius: 0;\\n\\n\\t@nest .ck-rounded-corners &,\\n\\t&.ck-rounded-corners {\\n\\t\\tborder-radius: var(--ck-border-radius);\\n\\t\\t@mixin-content;\\n\\t}\\n}\\n\",\"/*\\n * Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\\n */\\n\\n/**\\n * A visual style of focused element's border.\\n */\\n@define-mixin ck-focus-ring {\\n\\t/* Disable native outline. */\\n\\toutline: none;\\n\\tborder: var(--ck-focus-ring)\\n}\\n\",\"/*\\n * Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\\n */\\n\\n/**\\n * A helper to combine multiple shadows.\\n */\\n@define-mixin ck-box-shadow $shadowA, $shadowB: 0 0 {\\n\\tbox-shadow: $shadowA, $shadowB;\\n}\\n\\n/**\\n * Gives an element a drop shadow so it looks like a floating panel.\\n */\\n@define-mixin ck-drop-shadow {\\n\\t@mixin ck-box-shadow var(--ck-drop-shadow);\\n}\\n\"],sourceRoot:\"\"}]);const a=s},3525:(t,e,n)=>{\"use strict\";n.d(e,{Z:()=>a});var o=n(4015),i=n.n(o),r=n(3645),s=n.n(r)()(i());s.push([t.id,\".ck.ck-label{display:block}.ck.ck-voice-label{display:none}.ck.ck-label{font-weight:700}\",\"\",{version:3,sources:[\"webpack://./node_modules/@ckeditor/ckeditor5-ui/theme/components/label/label.css\",\"webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-ui/components/label/label.css\"],names:[],mappings:\"AAKA,aACC,aACD,CAEA,mBACC,YACD,CCNA,aACC,eACD\",sourcesContent:[\"/*\\n * Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\\n */\\n\\n.ck.ck-label {\\n\\tdisplay: block;\\n}\\n\\n.ck.ck-voice-label {\\n\\tdisplay: none;\\n}\\n\",\"/*\\n * Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\\n */\\n\\n.ck.ck-label {\\n\\tfont-weight: bold;\\n}\\n\"],sourceRoot:\"\"}]);const a=s},2933:(t,e,n)=>{\"use strict\";n.d(e,{Z:()=>a});var o=n(4015),i=n.n(o),r=n(3645),s=n.n(r)()(i());s.push([t.id,\".ck.ck-labeled-field-view>.ck.ck-labeled-field-view__input-wrapper{display:flex;position:relative}.ck.ck-labeled-field-view .ck.ck-label{display:block;position:absolute}:root{--ck-labeled-field-view-transition:.1s cubic-bezier(0,0,0.24,0.95);--ck-labeled-field-empty-unfocused-max-width:100% - 2 * var(--ck-spacing-medium);--ck-labeled-field-label-default-position-x:var(--ck-spacing-medium);--ck-labeled-field-label-default-position-y:calc(var(--ck-font-size-base)*0.6);--ck-color-labeled-field-label-background:var(--ck-color-base-background)}.ck.ck-labeled-field-view{border-radius:0}.ck-rounded-corners .ck.ck-labeled-field-view,.ck.ck-labeled-field-view.ck-rounded-corners{border-radius:var(--ck-border-radius)}.ck.ck-labeled-field-view>.ck.ck-labeled-field-view__input-wrapper{width:100%}.ck.ck-labeled-field-view>.ck.ck-labeled-field-view__input-wrapper>.ck.ck-label{top:0}[dir=ltr] .ck.ck-labeled-field-view>.ck.ck-labeled-field-view__input-wrapper>.ck.ck-label{left:0;transform:translate(var(--ck-spacing-medium),-6px) scale(.75);transform-origin:0 0}[dir=rtl] .ck.ck-labeled-field-view>.ck.ck-labeled-field-view__input-wrapper>.ck.ck-label{right:0;transform:translate(calc(var(--ck-spacing-medium)*-1),-6px) scale(.75);transform-origin:100% 0}.ck.ck-labeled-field-view>.ck.ck-labeled-field-view__input-wrapper>.ck.ck-label{background:var(--ck-color-labeled-field-label-background);font-weight:400;line-height:normal;max-width:100%;overflow:hidden;padding:0 calc(var(--ck-font-size-tiny)*.5);pointer-events:none;text-overflow:ellipsis;transition:transform var(--ck-labeled-field-view-transition),padding var(--ck-labeled-field-view-transition),background var(--ck-labeled-field-view-transition)}.ck.ck-labeled-field-view.ck-error .ck-input:not([readonly])+.ck.ck-label,.ck.ck-labeled-field-view.ck-error>.ck.ck-labeled-field-view__input-wrapper>.ck.ck-label{color:var(--ck-color-base-error)}.ck.ck-labeled-field-view .ck-labeled-field-view__status{font-size:var(--ck-font-size-small);margin-top:var(--ck-spacing-small);white-space:normal}.ck.ck-labeled-field-view .ck-labeled-field-view__status.ck-labeled-field-view__status_error{color:var(--ck-color-base-error)}.ck.ck-labeled-field-view.ck-disabled>.ck.ck-labeled-field-view__input-wrapper>.ck.ck-label,.ck.ck-labeled-field-view.ck-labeled-field-view_empty:not(.ck-labeled-field-view_focused)>.ck.ck-labeled-field-view__input-wrapper>.ck.ck-label{color:var(--ck-color-input-disabled-text)}[dir=ltr] .ck.ck-labeled-field-view.ck-disabled.ck-labeled-field-view_empty>.ck.ck-labeled-field-view__input-wrapper>.ck.ck-label,[dir=ltr] .ck.ck-labeled-field-view.ck-labeled-field-view_empty:not(.ck-labeled-field-view_focused):not(.ck-labeled-field-view_placeholder)>.ck.ck-labeled-field-view__input-wrapper>.ck.ck-label{transform:translate(var(--ck-labeled-field-label-default-position-x),var(--ck-labeled-field-label-default-position-y)) scale(1)}[dir=rtl] .ck.ck-labeled-field-view.ck-disabled.ck-labeled-field-view_empty>.ck.ck-labeled-field-view__input-wrapper>.ck.ck-label,[dir=rtl] .ck.ck-labeled-field-view.ck-labeled-field-view_empty:not(.ck-labeled-field-view_focused):not(.ck-labeled-field-view_placeholder)>.ck.ck-labeled-field-view__input-wrapper>.ck.ck-label{transform:translate(calc(var(--ck-labeled-field-label-default-position-x)*-1),var(--ck-labeled-field-label-default-position-y)) scale(1)}.ck.ck-labeled-field-view.ck-disabled.ck-labeled-field-view_empty>.ck.ck-labeled-field-view__input-wrapper>.ck.ck-label,.ck.ck-labeled-field-view.ck-labeled-field-view_empty:not(.ck-labeled-field-view_focused):not(.ck-labeled-field-view_placeholder)>.ck.ck-labeled-field-view__input-wrapper>.ck.ck-label{background:#0000;max-width:calc(var(--ck-labeled-field-empty-unfocused-max-width));padding:0}.ck.ck-labeled-field-view>.ck.ck-labeled-field-view__input-wrapper>.ck-dropdown>.ck.ck-button{background:#0000}.ck.ck-labeled-field-view.ck-labeled-field-view_empty>.ck.ck-labeled-field-view__input-wrapper>.ck-dropdown>.ck-button>.ck-button__label{opacity:0}.ck.ck-labeled-field-view.ck-labeled-field-view_empty:not(.ck-labeled-field-view_focused):not(.ck-labeled-field-view_placeholder)>.ck.ck-labeled-field-view__input-wrapper>.ck-dropdown+.ck-label{max-width:calc(var(--ck-labeled-field-empty-unfocused-max-width) - var(--ck-dropdown-arrow-size) - var(--ck-spacing-standard))}\",\"\",{version:3,sources:[\"webpack://./node_modules/@ckeditor/ckeditor5-ui/theme/components/labeledfield/labeledfieldview.css\",\"webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-ui/components/labeledfield/labeledfieldview.css\",\"webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/mixins/_rounded.css\"],names:[],mappings:\"AAMC,mEACC,YAAa,CACb,iBACD,CAEA,uCACC,aAAc,CACd,iBACD,CCND,MACC,kEAAsE,CACtE,gFAAiF,CACjF,oEAAqE,CACrE,8EAAiF,CACjF,yEACD,CAEA,0BCLC,eD+GD,CA1GA,2FCDE,qCD2GF,CAvGC,mEACC,UAoCD,CAlCC,gFACC,KAgCD,CAjCA,0FAIE,MAAS,CAGT,6DAA+D,CAF/D,oBA4BF,CAjCA,0FAWE,OAAU,CAEV,sEAA0E,CAD1E,uBAqBF,CAjCA,gFAkBC,yDAA0D,CAG1D,eAAmB,CADnB,kBAAoB,CAOpB,cAAe,CAFf,eAAgB,CANhB,2CAA8C,CAH9C,mBAAoB,CAQpB,sBAAuB,CAKvB,+JAID,CAQA,mKACC,gCACD,CAGD,yDACC,mCAAoC,CACpC,kCAAmC,CAInC,kBAKD,CAHC,6FACC,gCACD,CAID,4OAEC,yCACD,CAIA,oUAGE,+HAYF,CAfA,oUAOE,wIAQF,CAfA,gTAaC,gBAAuB,CAFvB,iEAAkE,CAGlE,SACD,CAKA,8FACC,gBACD,CAGA,yIACC,SACD,CAGA,kMACC,8HACD\",sourcesContent:[\"/*\\n * Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\\n */\\n\\n.ck.ck-labeled-field-view {\\n\\t& > .ck.ck-labeled-field-view__input-wrapper {\\n\\t\\tdisplay: flex;\\n\\t\\tposition: relative;\\n\\t}\\n\\n\\t& .ck.ck-label {\\n\\t\\tdisplay: block;\\n\\t\\tposition: absolute;\\n\\t}\\n}\\n\",'/*\\n * Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\\n */\\n\\n@import \"@ckeditor/ckeditor5-ui/theme/mixins/_dir.css\";\\n@import \"../../../mixins/_rounded.css\";\\n\\n:root {\\n\\t--ck-labeled-field-view-transition: .1s cubic-bezier(0, 0, 0.24, 0.95);\\n\\t--ck-labeled-field-empty-unfocused-max-width: 100% - 2 * var(--ck-spacing-medium);\\n\\t--ck-labeled-field-label-default-position-x: var(--ck-spacing-medium);\\n\\t--ck-labeled-field-label-default-position-y: calc(0.6 * var(--ck-font-size-base));\\n\\t--ck-color-labeled-field-label-background: var(--ck-color-base-background);\\n}\\n\\n.ck.ck-labeled-field-view {\\n\\t@mixin ck-rounded-corners;\\n\\n\\t& > .ck.ck-labeled-field-view__input-wrapper {\\n\\t\\twidth: 100%;\\n\\n\\t\\t& > .ck.ck-label {\\n\\t\\t\\ttop: 0px;\\n\\n\\t\\t\\t@mixin ck-dir ltr {\\n\\t\\t\\t\\tleft: 0px;\\n\\t\\t\\t\\ttransform-origin: 0 0;\\n\\t\\t\\t\\t/* By default, display the label scaled down above the field. */\\n\\t\\t\\t\\ttransform: translate(var(--ck-spacing-medium), -6px) scale(.75);\\n\\t\\t\\t}\\n\\n\\t\\t\\t@mixin ck-dir rtl {\\n\\t\\t\\t\\tright: 0px;\\n\\t\\t\\t\\ttransform-origin: 100% 0;\\n\\t\\t\\t\\ttransform: translate(calc(-1 * var(--ck-spacing-medium)), -6px) scale(.75);\\n\\t\\t\\t}\\n\\n\\t\\t\\tpointer-events: none;\\n\\n\\t\\t\\tbackground: var(--ck-color-labeled-field-label-background);\\n\\t\\t\\tpadding: 0 calc(.5 * var(--ck-font-size-tiny));\\n\\t\\t\\tline-height: initial;\\n\\t\\t\\tfont-weight: normal;\\n\\n\\t\\t\\t/* Prevent overflow when the label is longer than the input */\\n\\t\\t\\ttext-overflow: ellipsis;\\n\\t\\t\\toverflow: hidden;\\n\\n\\t\\t\\tmax-width: 100%;\\n\\n\\t\\t\\ttransition:\\n\\t\\t\\t\\ttransform var(--ck-labeled-field-view-transition),\\n\\t\\t\\t\\tpadding var(--ck-labeled-field-view-transition),\\n\\t\\t\\t\\tbackground var(--ck-labeled-field-view-transition);\\n\\t\\t}\\n\\t}\\n\\n\\t&.ck-error {\\n\\t\\t& > .ck.ck-labeled-field-view__input-wrapper > .ck.ck-label {\\n\\t\\t\\tcolor: var(--ck-color-base-error);\\n\\t\\t}\\n\\n\\t\\t& .ck-input:not([readonly]) + .ck.ck-label {\\n\\t\\t\\tcolor: var(--ck-color-base-error);\\n\\t\\t}\\n\\t}\\n\\n\\t& .ck-labeled-field-view__status {\\n\\t\\tfont-size: var(--ck-font-size-small);\\n\\t\\tmargin-top: var(--ck-spacing-small);\\n\\n\\t\\t/* Let the info wrap to the next line to avoid stretching the layout horizontally.\\n\\t\\tThe status could be very long. */\\n\\t\\twhite-space: normal;\\n\\n\\t\\t&.ck-labeled-field-view__status_error {\\n\\t\\t\\tcolor: var(--ck-color-base-error);\\n\\t\\t}\\n\\t}\\n\\n\\t/* Disabled fields and fields that have no focus should fade out. */\\n\\t&.ck-disabled > .ck.ck-labeled-field-view__input-wrapper > .ck.ck-label,\\n\\t&.ck-labeled-field-view_empty:not(.ck-labeled-field-view_focused) > .ck.ck-labeled-field-view__input-wrapper > .ck.ck-label {\\n\\t\\tcolor: var(--ck-color-input-disabled-text);\\n\\t}\\n\\n\\t/* Fields that are disabled or not focused and without a placeholder should have full-sized labels. */\\n\\t/* stylelint-disable-next-line no-descending-specificity */\\n\\t&.ck-disabled.ck-labeled-field-view_empty > .ck.ck-labeled-field-view__input-wrapper > .ck.ck-label,\\n\\t&.ck-labeled-field-view_empty:not(.ck-labeled-field-view_focused):not(.ck-labeled-field-view_placeholder) > .ck.ck-labeled-field-view__input-wrapper > .ck.ck-label {\\n\\t\\t@mixin ck-dir ltr {\\n\\t\\t\\ttransform: translate(var(--ck-labeled-field-label-default-position-x), var(--ck-labeled-field-label-default-position-y)) scale(1);\\n\\t\\t}\\n\\n\\t\\t@mixin ck-dir rtl {\\n\\t\\t\\ttransform: translate(calc(-1 * var(--ck-labeled-field-label-default-position-x)), var(--ck-labeled-field-label-default-position-y)) scale(1);\\n\\t\\t}\\n\\n\\t\\t/* Compensate for the default translate position. */\\n\\t\\tmax-width: calc(var(--ck-labeled-field-empty-unfocused-max-width));\\n\\n\\t\\tbackground: transparent;\\n\\t\\tpadding: 0;\\n\\t}\\n\\n\\t/*------ DropdownView integration ----------------------------------------------------------------------------------- */\\n\\n\\t/* Make sure dropdown\\' background color in any of dropdown\\'s state does not collide with labeled field. */\\n\\t& > .ck.ck-labeled-field-view__input-wrapper > .ck-dropdown > .ck.ck-button {\\n\\t\\tbackground: transparent;\\n\\t}\\n\\n\\t/* When the dropdown is \"empty\", the labeled field label replaces its label. */\\n\\t&.ck-labeled-field-view_empty > .ck.ck-labeled-field-view__input-wrapper > .ck-dropdown > .ck-button > .ck-button__label {\\n\\t\\topacity: 0;\\n\\t}\\n\\n\\t/* Make sure the label of the empty, unfocused input does not cover the dropdown arrow. */\\n\\t&.ck-labeled-field-view_empty:not(.ck-labeled-field-view_focused):not(.ck-labeled-field-view_placeholder) > .ck.ck-labeled-field-view__input-wrapper > .ck-dropdown + .ck-label {\\n\\t\\tmax-width: calc(var(--ck-labeled-field-empty-unfocused-max-width) - var(--ck-dropdown-arrow-size) - var(--ck-spacing-standard));\\n\\t}\\n}\\n',\"/*\\n * Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\\n */\\n\\n/**\\n * Implements rounded corner interface for .ck-rounded-corners class.\\n *\\n * @see $ck-border-radius\\n */\\n@define-mixin ck-rounded-corners {\\n\\tborder-radius: 0;\\n\\n\\t@nest .ck-rounded-corners &,\\n\\t&.ck-rounded-corners {\\n\\t\\tborder-radius: var(--ck-border-radius);\\n\\t\\t@mixin-content;\\n\\t}\\n}\\n\"],sourceRoot:\"\"}]);const a=s},179:(t,e,n)=>{\"use strict\";n.d(e,{Z:()=>a});var o=n(4015),i=n.n(o),r=n(3645),s=n.n(r)()(i());s.push([t.id,\".ck.ck-list{display:flex;flex-direction:column;-moz-user-select:none;-webkit-user-select:none;-ms-user-select:none;user-select:none}.ck.ck-list .ck-list__item,.ck.ck-list .ck-list__separator{display:block}.ck.ck-list .ck-list__item>:focus{position:relative;z-index:var(--ck-z-default)}.ck.ck-list{border-radius:0}.ck-rounded-corners .ck.ck-list,.ck.ck-list.ck-rounded-corners{border-radius:var(--ck-border-radius)}.ck.ck-list{background:var(--ck-color-list-background);list-style-type:none}.ck.ck-list__item{cursor:default;min-width:12em}.ck.ck-list__item .ck-button{border-radius:0;min-height:unset;width:100%}[dir=ltr] .ck.ck-list__item .ck-button{text-align:left}[dir=rtl] .ck.ck-list__item .ck-button{text-align:right}.ck.ck-list__item .ck-button{padding:calc(var(--ck-line-height-base)*.2*var(--ck-font-size-base)) calc(var(--ck-line-height-base)*.4*var(--ck-font-size-base))}.ck.ck-list__item .ck-button .ck-button__label{line-height:calc(var(--ck-line-height-base)*1.2*var(--ck-font-size-base))}.ck.ck-list__item .ck-button:active{box-shadow:none}.ck.ck-list__item .ck-button.ck-on{background:var(--ck-color-list-button-on-background);color:var(--ck-color-list-button-on-text)}.ck.ck-list__item .ck-button.ck-on:active{box-shadow:none}.ck.ck-list__item .ck-button.ck-on:hover:not(.ck-disabled){background:var(--ck-color-list-button-on-background-focus)}.ck.ck-list__item .ck-button.ck-on:focus:not(.ck-switchbutton):not(.ck-disabled){border-color:var(--ck-color-base-background)}.ck.ck-list__item .ck-button:hover:not(.ck-disabled){background:var(--ck-color-list-button-hover-background)}.ck.ck-list__item .ck-switchbutton.ck-on{background:var(--ck-color-list-background);color:inherit}.ck.ck-list__item .ck-switchbutton.ck-on:hover:not(.ck-disabled){background:var(--ck-color-list-button-hover-background);color:inherit}.ck-list .ck-list__group{padding-top:var(--ck-spacing-medium);:not(.ck-hidden)~&{border-top:1px solid var(--ck-color-base-border)}}.ck-list .ck-list__group>.ck-label{font-size:11px;font-weight:700;padding:var(--ck-spacing-medium) var(--ck-spacing-medium) 0 var(--ck-spacing-medium)}.ck.ck-list__separator{background:var(--ck-color-base-border);height:1px;width:100%}\",\"\",{version:3,sources:[\"webpack://./node_modules/@ckeditor/ckeditor5-ui/theme/components/list/list.css\",\"webpack://./node_modules/@ckeditor/ckeditor5-ui/theme/mixins/_unselectable.css\",\"webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-ui/components/list/list.css\",\"webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/mixins/_rounded.css\"],names:[],mappings:\"AAOA,YAGC,YAAa,CACb,qBAAsB,CCFtB,qBAAsB,CACtB,wBAAyB,CACzB,oBAAqB,CACrB,gBDaD,CAZC,2DAEC,aACD,CAKA,kCACC,iBAAkB,CAClB,2BACD,CEdD,YCCC,eDID,CALA,+DCKE,qCDAF,CALA,YAIC,0CAA2C,CAD3C,oBAED,CAEA,kBACC,cAAe,CACf,cAkED,CAhEC,6BAGC,eAAgB,CAFhB,gBAAiB,CACjB,UA+CD,CAjDA,uCAME,eA2CF,CAjDA,uCAUE,gBAuCF,CAjDA,6BAgBC,iIAiCD,CA7BC,+CAEC,yEACD,CAEA,oCACC,eACD,CAEA,mCACC,oDAAqD,CACrD,yCAaD,CAXC,0CACC,eACD,CAEA,2DACC,0DACD,CAEA,iFACC,4CACD,CAGD,qDACC,uDACD,CAMA,yCACC,0CAA2C,CAC3C,aAMD,CAJC,iEACC,uDAAwD,CACxD,aACD,CAKH,yBACC,oCAAqC,CAGrC,mBACC,gDACD,CAOD,CALC,mCACC,cAAe,CACf,eAAiB,CACjB,oFACD,CAGD,uBAGC,sCAAuC,CAFvC,UAAW,CACX,UAED\",sourcesContent:['/*\\n * Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\\n */\\n\\n@import \"../../mixins/_unselectable.css\";\\n\\n.ck.ck-list {\\n\\t@mixin ck-unselectable;\\n\\n\\tdisplay: flex;\\n\\tflex-direction: column;\\n\\n\\t& .ck-list__item,\\n\\t& .ck-list__separator {\\n\\t\\tdisplay: block;\\n\\t}\\n\\n\\t/* Make sure that whatever child of the list item gets focus, it remains on the\\n\\ttop. Thanks to that, styles like box-shadow, outline, etc. are not masked by\\n\\tadjacent list items. */\\n\\t& .ck-list__item > *:focus {\\n\\t\\tposition: relative;\\n\\t\\tz-index: var(--ck-z-default);\\n\\t}\\n}\\n',\"/*\\n * Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\\n */\\n\\n/**\\n * Makes element unselectable.\\n */\\n@define-mixin ck-unselectable {\\n\\t-moz-user-select: none;\\n\\t-webkit-user-select: none;\\n\\t-ms-user-select: none;\\n\\tuser-select: none\\n}\\n\",'/*\\n * Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\\n */\\n\\n@import \"../../../mixins/_disabled.css\";\\n@import \"../../../mixins/_rounded.css\";\\n@import \"../../../mixins/_shadow.css\";\\n@import \"@ckeditor/ckeditor5-ui/theme/mixins/_dir.css\";\\n\\n.ck.ck-list {\\n\\t@mixin ck-rounded-corners;\\n\\n\\tlist-style-type: none;\\n\\tbackground: var(--ck-color-list-background);\\n}\\n\\n.ck.ck-list__item {\\n\\tcursor: default;\\n\\tmin-width: 12em;\\n\\n\\t& .ck-button {\\n\\t\\tmin-height: unset;\\n\\t\\twidth: 100%;\\n\\t\\tborder-radius: 0;\\n\\n\\t\\t@mixin ck-dir ltr {\\n\\t\\t\\ttext-align: left;\\n\\t\\t}\\n\\n\\t\\t@mixin ck-dir rtl {\\n\\t\\t\\ttext-align: right;\\n\\t\\t}\\n\\n\\t\\t/* List items should have the same height. Use absolute units to make sure it is so\\n\\t\\t because e.g. different heading styles may have different height\\n\\t\\t https://github.com/ckeditor/ckeditor5-heading/issues/63 */\\n\\t\\tpadding:\\n\\t\\t\\tcalc(.2 * var(--ck-line-height-base) * var(--ck-font-size-base))\\n\\t\\t\\tcalc(.4 * var(--ck-line-height-base) * var(--ck-font-size-base));\\n\\n\\t\\t& .ck-button__label {\\n\\t\\t\\t/* https://github.com/ckeditor/ckeditor5-heading/issues/63 */\\n\\t\\t\\tline-height: calc(1.2 * var(--ck-line-height-base) * var(--ck-font-size-base));\\n\\t\\t}\\n\\n\\t\\t&:active {\\n\\t\\t\\tbox-shadow: none;\\n\\t\\t}\\n\\n\\t\\t&.ck-on {\\n\\t\\t\\tbackground: var(--ck-color-list-button-on-background);\\n\\t\\t\\tcolor: var(--ck-color-list-button-on-text);\\n\\n\\t\\t\\t&:active {\\n\\t\\t\\t\\tbox-shadow: none;\\n\\t\\t\\t}\\n\\n\\t\\t\\t&:hover:not(.ck-disabled) {\\n\\t\\t\\t\\tbackground: var(--ck-color-list-button-on-background-focus);\\n\\t\\t\\t}\\n\\n\\t\\t\\t&:focus:not(.ck-switchbutton):not(.ck-disabled) {\\n\\t\\t\\t\\tborder-color: var(--ck-color-base-background);\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\t&:hover:not(.ck-disabled) {\\n\\t\\t\\tbackground: var(--ck-color-list-button-hover-background);\\n\\t\\t}\\n\\t}\\n\\n\\t/* It\\'s unnecessary to change the background/text of a switch toggle; it has different ways\\n\\tof conveying its state (like the switcher) */\\n\\t& .ck-switchbutton {\\n\\t\\t&.ck-on {\\n\\t\\t\\tbackground: var(--ck-color-list-background);\\n\\t\\t\\tcolor: inherit;\\n\\n\\t\\t\\t&:hover:not(.ck-disabled) {\\n\\t\\t\\t\\tbackground: var(--ck-color-list-button-hover-background);\\n\\t\\t\\t\\tcolor: inherit;\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n}\\n\\n.ck-list .ck-list__group {\\n\\tpadding-top: var(--ck-spacing-medium);\\n\\n\\t/* The group should have a border when it\\'s not the first item. */\\n\\t*:not(.ck-hidden) ~ & {\\n\\t\\tborder-top: 1px solid var(--ck-color-base-border);\\n\\t}\\n\\n\\t& > .ck-label {\\n\\t\\tfont-size: 11px;\\n\\t\\tfont-weight: bold;\\n\\t\\tpadding: var(--ck-spacing-medium) var(--ck-spacing-medium) 0 var(--ck-spacing-medium);\\n\\t}\\n}\\n\\n.ck.ck-list__separator {\\n\\theight: 1px;\\n\\twidth: 100%;\\n\\tbackground: var(--ck-color-base-border);\\n}\\n',\"/*\\n * Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\\n */\\n\\n/**\\n * Implements rounded corner interface for .ck-rounded-corners class.\\n *\\n * @see $ck-border-radius\\n */\\n@define-mixin ck-rounded-corners {\\n\\tborder-radius: 0;\\n\\n\\t@nest .ck-rounded-corners &,\\n\\t&.ck-rounded-corners {\\n\\t\\tborder-radius: var(--ck-border-radius);\\n\\t\\t@mixin-content;\\n\\t}\\n}\\n\"],sourceRoot:\"\"}]);const a=s},4460:(t,e,n)=>{\"use strict\";n.d(e,{Z:()=>a});var o=n(4015),i=n.n(o),r=n(3645),s=n.n(r)()(i());s.push([t.id,':root{--ck-balloon-panel-arrow-z-index:calc(var(--ck-z-default) - 3)}.ck.ck-balloon-panel{display:none;position:absolute;z-index:var(--ck-z-modal)}.ck.ck-balloon-panel.ck-balloon-panel_with-arrow:after,.ck.ck-balloon-panel.ck-balloon-panel_with-arrow:before{content:\"\";position:absolute}.ck.ck-balloon-panel.ck-balloon-panel_with-arrow:before{z-index:var(--ck-balloon-panel-arrow-z-index)}.ck.ck-balloon-panel.ck-balloon-panel_with-arrow:after{z-index:calc(var(--ck-balloon-panel-arrow-z-index) + 1)}.ck.ck-balloon-panel[class*=arrow_n]:before{z-index:var(--ck-balloon-panel-arrow-z-index)}.ck.ck-balloon-panel[class*=arrow_n]:after{z-index:calc(var(--ck-balloon-panel-arrow-z-index) + 1)}.ck.ck-balloon-panel[class*=arrow_s]:before{z-index:var(--ck-balloon-panel-arrow-z-index)}.ck.ck-balloon-panel[class*=arrow_s]:after{z-index:calc(var(--ck-balloon-panel-arrow-z-index) + 1)}.ck.ck-balloon-panel.ck-balloon-panel_visible{display:block}:root{--ck-balloon-border-width:1px;--ck-balloon-arrow-offset:2px;--ck-balloon-arrow-height:10px;--ck-balloon-arrow-half-width:8px;--ck-balloon-arrow-drop-shadow:0 2px 2px var(--ck-color-shadow-drop)}.ck.ck-balloon-panel{border-radius:0}.ck-rounded-corners .ck.ck-balloon-panel,.ck.ck-balloon-panel.ck-rounded-corners{border-radius:var(--ck-border-radius)}.ck.ck-balloon-panel{background:var(--ck-color-panel-background);border:var(--ck-balloon-border-width) solid var(--ck-color-panel-border);box-shadow:var(--ck-drop-shadow),0 0;min-height:15px}.ck.ck-balloon-panel.ck-balloon-panel_with-arrow:after,.ck.ck-balloon-panel.ck-balloon-panel_with-arrow:before{border-style:solid;height:0;width:0}.ck.ck-balloon-panel[class*=arrow_n]:after,.ck.ck-balloon-panel[class*=arrow_n]:before{border-width:0 var(--ck-balloon-arrow-half-width) var(--ck-balloon-arrow-height) var(--ck-balloon-arrow-half-width)}.ck.ck-balloon-panel[class*=arrow_n]:before{border-color:#0000 #0000 var(--ck-color-panel-border) #0000;margin-top:calc(var(--ck-balloon-border-width)*-1)}.ck.ck-balloon-panel[class*=arrow_n]:after{border-color:#0000 #0000 var(--ck-color-panel-background) #0000;margin-top:calc(var(--ck-balloon-arrow-offset) - var(--ck-balloon-border-width))}.ck.ck-balloon-panel[class*=arrow_s]:after,.ck.ck-balloon-panel[class*=arrow_s]:before{border-width:var(--ck-balloon-arrow-height) var(--ck-balloon-arrow-half-width) 0 var(--ck-balloon-arrow-half-width)}.ck.ck-balloon-panel[class*=arrow_s]:before{border-color:var(--ck-color-panel-border) #0000 #0000;filter:drop-shadow(var(--ck-balloon-arrow-drop-shadow));margin-bottom:calc(var(--ck-balloon-border-width)*-1)}.ck.ck-balloon-panel[class*=arrow_s]:after{border-color:var(--ck-color-panel-background) #0000 #0000 #0000;margin-bottom:calc(var(--ck-balloon-arrow-offset) - var(--ck-balloon-border-width))}.ck.ck-balloon-panel[class*=arrow_e]:after,.ck.ck-balloon-panel[class*=arrow_e]:before{border-width:var(--ck-balloon-arrow-half-width) 0 var(--ck-balloon-arrow-half-width) var(--ck-balloon-arrow-height)}.ck.ck-balloon-panel[class*=arrow_e]:before{border-color:#0000 #0000 #0000 var(--ck-color-panel-border);margin-right:calc(var(--ck-balloon-border-width)*-1)}.ck.ck-balloon-panel[class*=arrow_e]:after{border-color:#0000 #0000 #0000 var(--ck-color-panel-background);margin-right:calc(var(--ck-balloon-arrow-offset) - var(--ck-balloon-border-width))}.ck.ck-balloon-panel[class*=arrow_w]:after,.ck.ck-balloon-panel[class*=arrow_w]:before{border-width:var(--ck-balloon-arrow-half-width) var(--ck-balloon-arrow-height) var(--ck-balloon-arrow-half-width) 0}.ck.ck-balloon-panel[class*=arrow_w]:before{border-color:#0000 var(--ck-color-panel-border) #0000 #0000;margin-left:calc(var(--ck-balloon-border-width)*-1)}.ck.ck-balloon-panel[class*=arrow_w]:after{border-color:#0000 var(--ck-color-panel-background) #0000 #0000;margin-left:calc(var(--ck-balloon-arrow-offset) - var(--ck-balloon-border-width))}.ck.ck-balloon-panel.ck-balloon-panel_arrow_n:after,.ck.ck-balloon-panel.ck-balloon-panel_arrow_n:before{left:50%;margin-left:calc(var(--ck-balloon-arrow-half-width)*-1);top:calc(var(--ck-balloon-arrow-height)*-1)}.ck.ck-balloon-panel.ck-balloon-panel_arrow_nw:after,.ck.ck-balloon-panel.ck-balloon-panel_arrow_nw:before{left:calc(var(--ck-balloon-arrow-half-width)*2);top:calc(var(--ck-balloon-arrow-height)*-1)}.ck.ck-balloon-panel.ck-balloon-panel_arrow_ne:after,.ck.ck-balloon-panel.ck-balloon-panel_arrow_ne:before{right:calc(var(--ck-balloon-arrow-half-width)*2);top:calc(var(--ck-balloon-arrow-height)*-1)}.ck.ck-balloon-panel.ck-balloon-panel_arrow_s:after,.ck.ck-balloon-panel.ck-balloon-panel_arrow_s:before{bottom:calc(var(--ck-balloon-arrow-height)*-1);left:50%;margin-left:calc(var(--ck-balloon-arrow-half-width)*-1)}.ck.ck-balloon-panel.ck-balloon-panel_arrow_sw:after,.ck.ck-balloon-panel.ck-balloon-panel_arrow_sw:before{bottom:calc(var(--ck-balloon-arrow-height)*-1);left:calc(var(--ck-balloon-arrow-half-width)*2)}.ck.ck-balloon-panel.ck-balloon-panel_arrow_se:after,.ck.ck-balloon-panel.ck-balloon-panel_arrow_se:before{bottom:calc(var(--ck-balloon-arrow-height)*-1);right:calc(var(--ck-balloon-arrow-half-width)*2)}.ck.ck-balloon-panel.ck-balloon-panel_arrow_sme:after,.ck.ck-balloon-panel.ck-balloon-panel_arrow_sme:before{bottom:calc(var(--ck-balloon-arrow-height)*-1);margin-right:calc(var(--ck-balloon-arrow-half-width)*2);right:25%}.ck.ck-balloon-panel.ck-balloon-panel_arrow_smw:after,.ck.ck-balloon-panel.ck-balloon-panel_arrow_smw:before{bottom:calc(var(--ck-balloon-arrow-height)*-1);left:25%;margin-left:calc(var(--ck-balloon-arrow-half-width)*2)}.ck.ck-balloon-panel.ck-balloon-panel_arrow_nme:after,.ck.ck-balloon-panel.ck-balloon-panel_arrow_nme:before{margin-right:calc(var(--ck-balloon-arrow-half-width)*2);right:25%;top:calc(var(--ck-balloon-arrow-height)*-1)}.ck.ck-balloon-panel.ck-balloon-panel_arrow_nmw:after,.ck.ck-balloon-panel.ck-balloon-panel_arrow_nmw:before{left:25%;margin-left:calc(var(--ck-balloon-arrow-half-width)*2);top:calc(var(--ck-balloon-arrow-height)*-1)}.ck.ck-balloon-panel.ck-balloon-panel_arrow_e:after,.ck.ck-balloon-panel.ck-balloon-panel_arrow_e:before{margin-top:calc(var(--ck-balloon-arrow-half-width)*-1);right:calc(var(--ck-balloon-arrow-height)*-1);top:50%}.ck.ck-balloon-panel.ck-balloon-panel_arrow_w:after,.ck.ck-balloon-panel.ck-balloon-panel_arrow_w:before{left:calc(var(--ck-balloon-arrow-height)*-1);margin-top:calc(var(--ck-balloon-arrow-half-width)*-1);top:50%}',\"\",{version:3,sources:[\"webpack://./node_modules/@ckeditor/ckeditor5-ui/theme/components/panel/balloonpanel.css\",\"webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-ui/components/panel/balloonpanel.css\",\"webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/mixins/_rounded.css\",\"webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/mixins/_shadow.css\"],names:[],mappings:\"AAKA,MAEC,8DACD,CAEA,qBACC,YAAa,CACb,iBAAkB,CAElB,yBAyCD,CAtCE,+GAEC,UAAW,CACX,iBACD,CAEA,wDACC,6CACD,CAEA,uDACC,uDACD,CAIA,4CACC,6CACD,CAEA,2CACC,uDACD,CAIA,4CACC,6CACD,CAEA,2CACC,uDACD,CAGD,8CACC,aACD,CC9CD,MACC,6BAA8B,CAC9B,6BAA8B,CAC9B,8BAA+B,CAC/B,iCAAkC,CAClC,oEACD,CAEA,qBCLC,eDmMD,CA9LA,iFCDE,qCD+LF,CA9LA,qBAMC,2CAA4C,CAC5C,wEAAyE,CEdzE,oCAA8B,CFW9B,eA0LD,CApLE,+GAIC,kBAAmB,CADnB,QAAS,CADT,OAGD,CAIA,uFAEC,mHACD,CAEA,4CACC,2DAA8E,CAC9E,kDACD,CAEA,2CACC,+DAAkF,CAClF,gFACD,CAIA,uFAEC,mHACD,CAEA,4CACC,qDAAkE,CAClE,uDAAwD,CACxD,qDACD,CAEA,2CACC,+DAAkF,CAClF,mFACD,CAIA,uFAEC,mHACD,CAEA,4CACC,2DAA8E,CAC9E,oDACD,CAEA,2CACC,+DAAkF,CAClF,kFACD,CAIA,uFAEC,mHACD,CAEA,4CACC,2DAA8E,CAC9E,mDACD,CAEA,2CACC,+DAAkF,CAClF,iFACD,CAIA,yGAEC,QAAS,CACT,uDAA0D,CAC1D,2CACD,CAIA,2GAEC,+CAAkD,CAClD,2CACD,CAIA,2GAEC,gDAAmD,CACnD,2CACD,CAIA,yGAIC,8CAAiD,CAFjD,QAAS,CACT,uDAED,CAIA,2GAGC,8CAAiD,CADjD,+CAED,CAIA,2GAGC,8CAAiD,CADjD,gDAED,CAIA,6GAIC,8CAAiD,CADjD,uDAA0D,CAD1D,SAGD,CAIA,6GAIC,8CAAiD,CAFjD,QAAS,CACT,sDAED,CAIA,6GAGC,uDAA0D,CAD1D,SAAU,CAEV,2CACD,CAIA,6GAEC,QAAS,CACT,sDAAyD,CACzD,2CACD,CAIA,yGAGC,sDAAyD,CADzD,6CAAgD,CAEhD,OACD,CAIA,yGAEC,4CAA+C,CAC/C,sDAAyD,CACzD,OACD\",sourcesContent:['/*\\n * Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\\n */\\n\\n:root {\\n\\t/* Make sure the balloon arrow does not float over its children. */\\n\\t--ck-balloon-panel-arrow-z-index: calc(var(--ck-z-default) - 3);\\n}\\n\\n.ck.ck-balloon-panel {\\n\\tdisplay: none;\\n\\tposition: absolute;\\n\\n\\tz-index: var(--ck-z-modal);\\n\\n\\t&.ck-balloon-panel_with-arrow {\\n\\t\\t&::before,\\n\\t\\t&::after {\\n\\t\\t\\tcontent: \"\";\\n\\t\\t\\tposition: absolute;\\n\\t\\t}\\n\\n\\t\\t&::before {\\n\\t\\t\\tz-index: var(--ck-balloon-panel-arrow-z-index);\\n\\t\\t}\\n\\n\\t\\t&::after {\\n\\t\\t\\tz-index: calc(var(--ck-balloon-panel-arrow-z-index) + 1);\\n\\t\\t}\\n\\t}\\n\\n\\t&[class*=\"arrow_n\"] {\\n\\t\\t&::before {\\n\\t\\t\\tz-index: var(--ck-balloon-panel-arrow-z-index);\\n\\t\\t}\\n\\n\\t\\t&::after {\\n\\t\\t\\tz-index: calc(var(--ck-balloon-panel-arrow-z-index) + 1);\\n\\t\\t}\\n\\t}\\n\\n\\t&[class*=\"arrow_s\"] {\\n\\t\\t&::before {\\n\\t\\t\\tz-index: var(--ck-balloon-panel-arrow-z-index);\\n\\t\\t}\\n\\n\\t\\t&::after {\\n\\t\\t\\tz-index: calc(var(--ck-balloon-panel-arrow-z-index) + 1);\\n\\t\\t}\\n\\t}\\n\\n\\t&.ck-balloon-panel_visible {\\n\\t\\tdisplay: block;\\n\\t}\\n}\\n','/*\\n * Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\\n */\\n\\n@import \"../../../mixins/_rounded.css\";\\n@import \"../../../mixins/_shadow.css\";\\n\\n:root {\\n\\t--ck-balloon-border-width: 1px;\\n\\t--ck-balloon-arrow-offset: 2px;\\n\\t--ck-balloon-arrow-height: 10px;\\n\\t--ck-balloon-arrow-half-width: 8px;\\n\\t--ck-balloon-arrow-drop-shadow: 0 2px 2px var(--ck-color-shadow-drop);\\n}\\n\\n.ck.ck-balloon-panel {\\n\\t@mixin ck-rounded-corners;\\n\\t@mixin ck-drop-shadow;\\n\\n\\tmin-height: 15px;\\n\\n\\tbackground: var(--ck-color-panel-background);\\n\\tborder: var(--ck-balloon-border-width) solid var(--ck-color-panel-border);\\n\\n\\t&.ck-balloon-panel_with-arrow {\\n\\t\\t&::before,\\n\\t\\t&::after {\\n\\t\\t\\twidth: 0;\\n\\t\\t\\theight: 0;\\n\\t\\t\\tborder-style: solid;\\n\\t\\t}\\n\\t}\\n\\n\\t&[class*=\"arrow_n\"] {\\n\\t\\t&::before,\\n\\t\\t&::after {\\n\\t\\t\\tborder-width: 0 var(--ck-balloon-arrow-half-width) var(--ck-balloon-arrow-height) var(--ck-balloon-arrow-half-width);\\n\\t\\t}\\n\\n\\t\\t&::before {\\n\\t\\t\\tborder-color: transparent transparent var(--ck-color-panel-border) transparent;\\n\\t\\t\\tmargin-top: calc( -1 * var(--ck-balloon-border-width) );\\n\\t\\t}\\n\\n\\t\\t&::after {\\n\\t\\t\\tborder-color: transparent transparent var(--ck-color-panel-background) transparent;\\n\\t\\t\\tmargin-top: calc( var(--ck-balloon-arrow-offset) - var(--ck-balloon-border-width) );\\n\\t\\t}\\n\\t}\\n\\n\\t&[class*=\"arrow_s\"] {\\n\\t\\t&::before,\\n\\t\\t&::after {\\n\\t\\t\\tborder-width: var(--ck-balloon-arrow-height) var(--ck-balloon-arrow-half-width) 0 var(--ck-balloon-arrow-half-width);\\n\\t\\t}\\n\\n\\t\\t&::before {\\n\\t\\t\\tborder-color: var(--ck-color-panel-border) transparent transparent;\\n\\t\\t\\tfilter: drop-shadow(var(--ck-balloon-arrow-drop-shadow));\\n\\t\\t\\tmargin-bottom: calc( -1 * var(--ck-balloon-border-width) );\\n\\t\\t}\\n\\n\\t\\t&::after {\\n\\t\\t\\tborder-color: var(--ck-color-panel-background) transparent transparent transparent;\\n\\t\\t\\tmargin-bottom: calc( var(--ck-balloon-arrow-offset) - var(--ck-balloon-border-width) );\\n\\t\\t}\\n\\t}\\n\\n\\t&[class*=\"arrow_e\"] {\\n\\t\\t&::before,\\n\\t\\t&::after {\\n\\t\\t\\tborder-width: var(--ck-balloon-arrow-half-width) 0 var(--ck-balloon-arrow-half-width) var(--ck-balloon-arrow-height);\\n\\t\\t}\\n\\n\\t\\t&::before {\\n\\t\\t\\tborder-color: transparent transparent transparent var(--ck-color-panel-border);\\n\\t\\t\\tmargin-right: calc( -1 * var(--ck-balloon-border-width) );\\n\\t\\t}\\n\\n\\t\\t&::after {\\n\\t\\t\\tborder-color: transparent transparent transparent var(--ck-color-panel-background);\\n\\t\\t\\tmargin-right: calc( var(--ck-balloon-arrow-offset) - var(--ck-balloon-border-width) );\\n\\t\\t}\\n\\t}\\n\\n\\t&[class*=\"arrow_w\"] {\\n\\t\\t&::before,\\n\\t\\t&::after {\\n\\t\\t\\tborder-width: var(--ck-balloon-arrow-half-width) var(--ck-balloon-arrow-height) var(--ck-balloon-arrow-half-width) 0;\\n\\t\\t}\\n\\n\\t\\t&::before {\\n\\t\\t\\tborder-color: transparent var(--ck-color-panel-border) transparent transparent;\\n\\t\\t\\tmargin-left: calc( -1 * var(--ck-balloon-border-width) );\\n\\t\\t}\\n\\n\\t\\t&::after {\\n\\t\\t\\tborder-color: transparent var(--ck-color-panel-background) transparent transparent;\\n\\t\\t\\tmargin-left: calc( var(--ck-balloon-arrow-offset) - var(--ck-balloon-border-width) );\\n\\t\\t}\\n\\t}\\n\\n\\t&.ck-balloon-panel_arrow_n {\\n\\t\\t&::before,\\n\\t\\t&::after {\\n\\t\\t\\tleft: 50%;\\n\\t\\t\\tmargin-left: calc(-1 * var(--ck-balloon-arrow-half-width));\\n\\t\\t\\ttop: calc(-1 * var(--ck-balloon-arrow-height));\\n\\t\\t}\\n\\t}\\n\\n\\t&.ck-balloon-panel_arrow_nw {\\n\\t\\t&::before,\\n\\t\\t&::after {\\n\\t\\t\\tleft: calc(2 * var(--ck-balloon-arrow-half-width));\\n\\t\\t\\ttop: calc(-1 * var(--ck-balloon-arrow-height));\\n\\t\\t}\\n\\t}\\n\\n\\t&.ck-balloon-panel_arrow_ne {\\n\\t\\t&::before,\\n\\t\\t&::after {\\n\\t\\t\\tright: calc(2 * var(--ck-balloon-arrow-half-width));\\n\\t\\t\\ttop: calc(-1 * var(--ck-balloon-arrow-height));\\n\\t\\t}\\n\\t}\\n\\n\\t&.ck-balloon-panel_arrow_s {\\n\\t\\t&::before,\\n\\t\\t&::after {\\n\\t\\t\\tleft: 50%;\\n\\t\\t\\tmargin-left: calc(-1 * var(--ck-balloon-arrow-half-width));\\n\\t\\t\\tbottom: calc(-1 * var(--ck-balloon-arrow-height));\\n\\t\\t}\\n\\t}\\n\\n\\t&.ck-balloon-panel_arrow_sw {\\n\\t\\t&::before,\\n\\t\\t&::after {\\n\\t\\t\\tleft: calc(2 * var(--ck-balloon-arrow-half-width));\\n\\t\\t\\tbottom: calc(-1 * var(--ck-balloon-arrow-height));\\n\\t\\t}\\n\\t}\\n\\n\\t&.ck-balloon-panel_arrow_se {\\n\\t\\t&::before,\\n\\t\\t&::after {\\n\\t\\t\\tright: calc(2 * var(--ck-balloon-arrow-half-width));\\n\\t\\t\\tbottom: calc(-1 * var(--ck-balloon-arrow-height));\\n\\t\\t}\\n\\t}\\n\\n\\t&.ck-balloon-panel_arrow_sme {\\n\\t\\t&::before,\\n\\t\\t&::after {\\n\\t\\t\\tright: 25%;\\n\\t\\t\\tmargin-right: calc(2 * var(--ck-balloon-arrow-half-width));\\n\\t\\t\\tbottom: calc(-1 * var(--ck-balloon-arrow-height));\\n\\t\\t}\\n\\t}\\n\\n\\t&.ck-balloon-panel_arrow_smw {\\n\\t\\t&::before,\\n\\t\\t&::after {\\n\\t\\t\\tleft: 25%;\\n\\t\\t\\tmargin-left: calc(2 * var(--ck-balloon-arrow-half-width));\\n\\t\\t\\tbottom: calc(-1 * var(--ck-balloon-arrow-height));\\n\\t\\t}\\n\\t}\\n\\n\\t&.ck-balloon-panel_arrow_nme {\\n\\t\\t&::before,\\n\\t\\t&::after {\\n\\t\\t\\tright: 25%;\\n\\t\\t\\tmargin-right: calc(2 * var(--ck-balloon-arrow-half-width));\\n\\t\\t\\ttop: calc(-1 * var(--ck-balloon-arrow-height));\\n\\t\\t}\\n\\t}\\n\\n\\t&.ck-balloon-panel_arrow_nmw {\\n\\t\\t&::before,\\n\\t\\t&::after {\\n\\t\\t\\tleft: 25%;\\n\\t\\t\\tmargin-left: calc(2 * var(--ck-balloon-arrow-half-width));\\n\\t\\t\\ttop: calc(-1 * var(--ck-balloon-arrow-height));\\n\\t\\t}\\n\\t}\\n\\n\\t&.ck-balloon-panel_arrow_e {\\n\\t\\t&::before,\\n\\t\\t&::after {\\n\\t\\t\\tright: calc(-1 * var(--ck-balloon-arrow-height));\\n\\t\\t\\tmargin-top: calc(-1 * var(--ck-balloon-arrow-half-width));\\n\\t\\t\\ttop: 50%;\\n\\t\\t}\\n\\t}\\n\\n\\t&.ck-balloon-panel_arrow_w {\\n\\t\\t&::before,\\n\\t\\t&::after {\\n\\t\\t\\tleft: calc(-1 * var(--ck-balloon-arrow-height));\\n\\t\\t\\tmargin-top: calc(-1 * var(--ck-balloon-arrow-half-width));\\n\\t\\t\\ttop: 50%;\\n\\t\\t}\\n\\t}\\n}\\n',\"/*\\n * Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\\n */\\n\\n/**\\n * Implements rounded corner interface for .ck-rounded-corners class.\\n *\\n * @see $ck-border-radius\\n */\\n@define-mixin ck-rounded-corners {\\n\\tborder-radius: 0;\\n\\n\\t@nest .ck-rounded-corners &,\\n\\t&.ck-rounded-corners {\\n\\t\\tborder-radius: var(--ck-border-radius);\\n\\t\\t@mixin-content;\\n\\t}\\n}\\n\",\"/*\\n * Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\\n */\\n\\n/**\\n * A helper to combine multiple shadows.\\n */\\n@define-mixin ck-box-shadow $shadowA, $shadowB: 0 0 {\\n\\tbox-shadow: $shadowA, $shadowB;\\n}\\n\\n/**\\n * Gives an element a drop shadow so it looks like a floating panel.\\n */\\n@define-mixin ck-drop-shadow {\\n\\t@mixin ck-box-shadow var(--ck-drop-shadow);\\n}\\n\"],sourceRoot:\"\"}]);const a=s},7592:(t,e,n)=>{\"use strict\";n.d(e,{Z:()=>a});var o=n(4015),i=n.n(o),r=n(3645),s=n.n(r)()(i());s.push([t.id,\".ck .ck-balloon-rotator__navigation{align-items:center;display:flex;justify-content:center}.ck .ck-balloon-rotator__content .ck-toolbar{justify-content:center}.ck .ck-balloon-rotator__navigation{background:var(--ck-color-toolbar-background);border-bottom:1px solid var(--ck-color-toolbar-border);padding:0 var(--ck-spacing-small)}.ck .ck-balloon-rotator__navigation>*{margin-bottom:var(--ck-spacing-small);margin-right:var(--ck-spacing-small);margin-top:var(--ck-spacing-small)}.ck .ck-balloon-rotator__navigation .ck-balloon-rotator__counter{margin-left:var(--ck-spacing-small);margin-right:var(--ck-spacing-standard)}.ck .ck-balloon-rotator__content .ck.ck-annotation-wrapper{box-shadow:none}\",\"\",{version:3,sources:[\"webpack://./node_modules/@ckeditor/ckeditor5-ui/theme/components/panel/balloonrotator.css\",\"webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-ui/components/panel/balloonrotator.css\"],names:[],mappings:\"AAKA,oCAEC,kBAAmB,CADnB,YAAa,CAEb,sBACD,CAKA,6CACC,sBACD,CCXA,oCACC,6CAA8C,CAC9C,sDAAuD,CACvD,iCAgBD,CAbC,sCAGC,qCAAsC,CAFtC,oCAAqC,CACrC,kCAED,CAGA,iEAIC,mCAAoC,CAHpC,uCAID,CAMA,2DACC,eACD\",sourcesContent:[\"/*\\n * Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\\n */\\n\\n.ck .ck-balloon-rotator__navigation {\\n\\tdisplay: flex;\\n\\talign-items: center;\\n\\tjustify-content: center;\\n}\\n\\n/* Buttons inside a toolbar should be centered when rotator bar is wider.\\n * See: https://github.com/ckeditor/ckeditor5-ui/issues/495\\n */\\n.ck .ck-balloon-rotator__content .ck-toolbar {\\n\\tjustify-content: center;\\n}\\n\",\"/*\\n * Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\\n */\\n\\n.ck .ck-balloon-rotator__navigation {\\n\\tbackground: var(--ck-color-toolbar-background);\\n\\tborder-bottom: 1px solid var(--ck-color-toolbar-border);\\n\\tpadding: 0 var(--ck-spacing-small);\\n\\n\\t/* Let's keep similar appearance to `ck-toolbar`. */\\n\\t& > * {\\n\\t\\tmargin-right: var(--ck-spacing-small);\\n\\t\\tmargin-top: var(--ck-spacing-small);\\n\\t\\tmargin-bottom: var(--ck-spacing-small);\\n\\t}\\n\\n\\t/* Gives counter more breath than buttons. */\\n\\t& .ck-balloon-rotator__counter {\\n\\t\\tmargin-right: var(--ck-spacing-standard);\\n\\n\\t\\t/* We need to use smaller margin because of previous button's right margin. */\\n\\t\\tmargin-left: var(--ck-spacing-small);\\n\\t}\\n}\\n\\n.ck .ck-balloon-rotator__content {\\n\\n\\t/* Disable default annotation shadow inside rotator with fake panels. */\\n\\t& .ck.ck-annotation-wrapper {\\n\\t\\tbox-shadow: none;\\n\\t}\\n}\\n\"],sourceRoot:\"\"}]);const a=s},6356:(t,e,n)=>{\"use strict\";n.d(e,{Z:()=>a});var o=n(4015),i=n.n(o),r=n(3645),s=n.n(r)()(i());s.push([t.id,\".ck .ck-fake-panel{position:absolute;z-index:calc(var(--ck-z-modal) - 1)}.ck .ck-fake-panel div{position:absolute}.ck .ck-fake-panel div:first-child{z-index:2}.ck .ck-fake-panel div:nth-child(2){z-index:1}:root{--ck-balloon-fake-panel-offset-horizontal:6px;--ck-balloon-fake-panel-offset-vertical:6px}.ck .ck-fake-panel div{background:var(--ck-color-panel-background);border:1px solid var(--ck-color-panel-border);border-radius:var(--ck-border-radius);box-shadow:var(--ck-drop-shadow),0 0;height:100%;min-height:15px;width:100%}.ck .ck-fake-panel div:first-child{margin-left:var(--ck-balloon-fake-panel-offset-horizontal);margin-top:var(--ck-balloon-fake-panel-offset-vertical)}.ck .ck-fake-panel div:nth-child(2){margin-left:calc(var(--ck-balloon-fake-panel-offset-horizontal)*2);margin-top:calc(var(--ck-balloon-fake-panel-offset-vertical)*2)}.ck .ck-fake-panel div:nth-child(3){margin-left:calc(var(--ck-balloon-fake-panel-offset-horizontal)*3);margin-top:calc(var(--ck-balloon-fake-panel-offset-vertical)*3)}.ck .ck-balloon-panel_arrow_s+.ck-fake-panel,.ck .ck-balloon-panel_arrow_se+.ck-fake-panel,.ck .ck-balloon-panel_arrow_sw+.ck-fake-panel{--ck-balloon-fake-panel-offset-vertical:-6px}\",\"\",{version:3,sources:[\"webpack://./node_modules/@ckeditor/ckeditor5-ui/theme/components/panel/fakepanel.css\",\"webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-ui/components/panel/fakepanel.css\",\"webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/mixins/_shadow.css\"],names:[],mappings:\"AAKA,mBACC,iBAAkB,CAGlB,mCACD,CAEA,uBACC,iBACD,CAEA,mCACC,SACD,CAEA,oCACC,SACD,CCfA,MACC,6CAA8C,CAC9C,2CACD,CAGA,uBAKC,2CAA4C,CAC5C,6CAA8C,CAC9C,qCAAsC,CCXtC,oCAA8B,CDc9B,WAAY,CAPZ,eAAgB,CAMhB,UAED,CAEA,mCACC,0DAA2D,CAC3D,uDACD,CAEA,oCACC,kEAAqE,CACrE,+DACD,CACA,oCACC,kEAAqE,CACrE,+DACD,CAGA,yIAGC,4CACD\",sourcesContent:[\"/*\\n * Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\\n */\\n\\n.ck .ck-fake-panel {\\n\\tposition: absolute;\\n\\n\\t/* Fake panels should be placed under main balloon content. */\\n\\tz-index: calc(var(--ck-z-modal) - 1);\\n}\\n\\n.ck .ck-fake-panel div {\\n\\tposition: absolute;\\n}\\n\\n.ck .ck-fake-panel div:nth-child( 1 ) {\\n\\tz-index: 2;\\n}\\n\\n.ck .ck-fake-panel div:nth-child( 2 ) {\\n\\tz-index: 1;\\n}\\n\",'/*\\n * Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\\n */\\n\\n@import \"../../../mixins/_shadow.css\";\\n\\n:root {\\n\\t--ck-balloon-fake-panel-offset-horizontal: 6px;\\n\\t--ck-balloon-fake-panel-offset-vertical: 6px;\\n}\\n\\n/* Let\\'s use `.ck-balloon-panel` appearance. See: balloonpanel.css. */\\n.ck .ck-fake-panel div {\\n\\t@mixin ck-drop-shadow;\\n\\n\\tmin-height: 15px;\\n\\n\\tbackground: var(--ck-color-panel-background);\\n\\tborder: 1px solid var(--ck-color-panel-border);\\n\\tborder-radius: var(--ck-border-radius);\\n\\n\\twidth: 100%;\\n\\theight: 100%;\\n}\\n\\n.ck .ck-fake-panel div:nth-child( 1 ) {\\n\\tmargin-left: var(--ck-balloon-fake-panel-offset-horizontal);\\n\\tmargin-top: var(--ck-balloon-fake-panel-offset-vertical);\\n}\\n\\n.ck .ck-fake-panel div:nth-child( 2 ) {\\n\\tmargin-left: calc(var(--ck-balloon-fake-panel-offset-horizontal) * 2);\\n\\tmargin-top: calc(var(--ck-balloon-fake-panel-offset-vertical) * 2);\\n}\\n.ck .ck-fake-panel div:nth-child( 3 ) {\\n\\tmargin-left: calc(var(--ck-balloon-fake-panel-offset-horizontal) * 3);\\n\\tmargin-top: calc(var(--ck-balloon-fake-panel-offset-vertical) * 3);\\n}\\n\\n/* If balloon is positioned above element, we need to move fake panel to the top. */\\n.ck .ck-balloon-panel_arrow_s + .ck-fake-panel,\\n.ck .ck-balloon-panel_arrow_se + .ck-fake-panel,\\n.ck .ck-balloon-panel_arrow_sw + .ck-fake-panel {\\n\\t--ck-balloon-fake-panel-offset-vertical: -6px;\\n}\\n',\"/*\\n * Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\\n */\\n\\n/**\\n * A helper to combine multiple shadows.\\n */\\n@define-mixin ck-box-shadow $shadowA, $shadowB: 0 0 {\\n\\tbox-shadow: $shadowA, $shadowB;\\n}\\n\\n/**\\n * Gives an element a drop shadow so it looks like a floating panel.\\n */\\n@define-mixin ck-drop-shadow {\\n\\t@mixin ck-box-shadow var(--ck-drop-shadow);\\n}\\n\"],sourceRoot:\"\"}]);const a=s},3707:(t,e,n)=>{\"use strict\";n.d(e,{Z:()=>a});var o=n(4015),i=n.n(o),r=n(3645),s=n.n(r)()(i());s.push([t.id,\".ck.ck-sticky-panel .ck-sticky-panel__content_sticky{position:fixed;top:0;z-index:var(--ck-z-modal)}.ck.ck-sticky-panel .ck-sticky-panel__content_sticky_bottom-limit{position:absolute;top:auto}.ck.ck-sticky-panel .ck-sticky-panel__content_sticky{border-top-left-radius:0;border-top-right-radius:0;border-width:0 1px 1px;box-shadow:var(--ck-drop-shadow),0 0}\",\"\",{version:3,sources:[\"webpack://./node_modules/@ckeditor/ckeditor5-ui/theme/components/panel/stickypanel.css\",\"webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-ui/components/panel/stickypanel.css\",\"webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/mixins/_shadow.css\"],names:[],mappings:\"AAMC,qDAEC,cAAe,CACf,KAAM,CAFN,yBAGD,CAEA,kEAEC,iBAAkB,CADlB,QAED,CCPA,qDAIC,wBAAyB,CACzB,yBAA0B,CAF1B,sBAAuB,CCFxB,oCDKA\",sourcesContent:[\"/*\\n * Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\\n */\\n\\n.ck.ck-sticky-panel {\\n\\t& .ck-sticky-panel__content_sticky {\\n\\t\\tz-index: var(--ck-z-modal); /* #315 */\\n\\t\\tposition: fixed;\\n\\t\\ttop: 0;\\n\\t}\\n\\n\\t& .ck-sticky-panel__content_sticky_bottom-limit {\\n\\t\\ttop: auto;\\n\\t\\tposition: absolute;\\n\\t}\\n}\\n\",'/*\\n * Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\\n */\\n\\n@import \"../../../mixins/_shadow.css\";\\n\\n.ck.ck-sticky-panel {\\n\\t& .ck-sticky-panel__content_sticky {\\n\\t\\t@mixin ck-drop-shadow;\\n\\n\\t\\tborder-width: 0 1px 1px;\\n\\t\\tborder-top-left-radius: 0;\\n\\t\\tborder-top-right-radius: 0;\\n\\t}\\n}\\n',\"/*\\n * Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\\n */\\n\\n/**\\n * A helper to combine multiple shadows.\\n */\\n@define-mixin ck-box-shadow $shadowA, $shadowB: 0 0 {\\n\\tbox-shadow: $shadowA, $shadowB;\\n}\\n\\n/**\\n * Gives an element a drop shadow so it looks like a floating panel.\\n */\\n@define-mixin ck-drop-shadow {\\n\\t@mixin ck-box-shadow var(--ck-drop-shadow);\\n}\\n\"],sourceRoot:\"\"}]);const a=s},9332:(t,e,n)=>{\"use strict\";n.d(e,{Z:()=>a});var o=n(4015),i=n.n(o),r=n(3645),s=n.n(r)()(i());s.push([t.id,\".ck.ck-search>.ck-labeled-field-view>.ck-labeled-field-view__input-wrapper>.ck-icon{position:absolute;top:50%;transform:translateY(-50%)}[dir=ltr] .ck.ck-search>.ck-labeled-field-view>.ck-labeled-field-view__input-wrapper>.ck-icon{left:var(--ck-spacing-medium)}[dir=rtl] .ck.ck-search>.ck-labeled-field-view>.ck-labeled-field-view__input-wrapper>.ck-icon{right:var(--ck-spacing-medium)}.ck.ck-search>.ck-labeled-field-view .ck-search__reset{position:absolute;top:50%;transform:translateY(-50%)}.ck.ck-search>.ck-search__results>.ck-search__info>span:first-child{display:block}.ck.ck-search>.ck-search__results>.ck-search__info:not(.ck-hidden)~*{display:none}:root{--ck-search-field-view-horizontal-spacing:calc(var(--ck-icon-size) + var(--ck-spacing-medium))}.ck.ck-search>.ck-labeled-field-view .ck-input{width:100%}.ck.ck-search>.ck-labeled-field-view.ck-search__query_with-icon{--ck-labeled-field-label-default-position-x:var(--ck-search-field-view-horizontal-spacing)}.ck.ck-search>.ck-labeled-field-view.ck-search__query_with-icon>.ck-labeled-field-view__input-wrapper>.ck-icon{opacity:.5;pointer-events:none}.ck.ck-search>.ck-labeled-field-view.ck-search__query_with-icon .ck-input{width:100%}[dir=ltr] .ck.ck-search>.ck-labeled-field-view.ck-search__query_with-icon .ck-input,[dir=rtl] .ck.ck-search>.ck-labeled-field-view.ck-search__query_with-icon .ck-input:not(.ck-input-text_empty){padding-left:var(--ck-search-field-view-horizontal-spacing)}.ck.ck-search>.ck-labeled-field-view.ck-search__query_with-reset{--ck-labeled-field-empty-unfocused-max-width:100% - 2 * var(--ck-search-field-view-horizontal-spacing)}.ck.ck-search>.ck-labeled-field-view.ck-search__query_with-reset.ck-labeled-field-view_empty{--ck-labeled-field-empty-unfocused-max-width:100% - var(--ck-search-field-view-horizontal-spacing) - var(--ck-spacing-medium)}.ck.ck-search>.ck-labeled-field-view.ck-search__query_with-reset .ck-search__reset{background:none;min-height:auto;min-width:auto;opacity:.5;padding:0}[dir=ltr] .ck.ck-search>.ck-labeled-field-view.ck-search__query_with-reset .ck-search__reset{right:var(--ck-spacing-medium)}[dir=rtl] .ck.ck-search>.ck-labeled-field-view.ck-search__query_with-reset .ck-search__reset{left:var(--ck-spacing-medium)}.ck.ck-search>.ck-labeled-field-view.ck-search__query_with-reset .ck-search__reset:hover{opacity:1}.ck.ck-search>.ck-labeled-field-view.ck-search__query_with-reset .ck-input{width:100%}[dir=ltr] .ck.ck-search>.ck-labeled-field-view.ck-search__query_with-reset .ck-input:not(.ck-input-text_empty),[dir=rtl] .ck.ck-search>.ck-labeled-field-view.ck-search__query_with-reset .ck-input{padding-right:var(--ck-search-field-view-horizontal-spacing)}.ck.ck-search>.ck-search__results{min-width:100%}.ck.ck-search>.ck-search__results>.ck-search__info{padding:var(--ck-spacing-medium) var(--ck-spacing-large);width:100%}.ck.ck-search>.ck-search__results>.ck-search__info *{white-space:normal}.ck.ck-search>.ck-search__results>.ck-search__info>span:first-child{font-weight:700}.ck.ck-search>.ck-search__results>.ck-search__info>span:last-child{margin-top:var(--ck-spacing-medium)}\",\"\",{version:3,sources:[\"webpack://./node_modules/@ckeditor/ckeditor5-ui/theme/components/search/search.css\",\"webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-ui/components/search/search.css\"],names:[],mappings:\"AASE,oFACC,iBAAkB,CAClB,OAAQ,CACR,0BASD,CAZA,8FAME,6BAMF,CAZA,8FAUE,8BAEF,CAEA,uDACC,iBAAkB,CAClB,OAAQ,CACR,0BACD,CAKC,oEACC,aACD,CAGA,qEACC,YACD,CChCH,MACC,8FACD,CAIE,+CACC,UACD,CAEA,gEACC,0FAoBD,CAlBC,+GACC,UAAW,CACX,mBACD,CAEA,0EACC,UAWD,CAJE,kMACC,2DACD,CAKH,iEACC,sGAwCD,CAtCC,6FACC,6HACD,CAEA,mFAIC,eAAgB,CAFhB,eAAgB,CADhB,cAAe,CAIf,UAAW,CACX,SAaD,CAnBA,6FASE,8BAUF,CAnBA,6FAaE,6BAMF,CAHC,yFACC,SACD,CAGD,2EACC,UAWD,CAZA,oMAUE,4DAEF,CAIF,kCACC,cAkBD,CAhBC,mDAEC,wDAAyD,CADzD,UAcD,CAXC,qDACC,kBACD,CAEA,oEACC,eACD,CAEA,mEACC,mCACD\",sourcesContent:['/*\\n * Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\\n */\\n\\n@import \"@ckeditor/ckeditor5-ui/theme/mixins/_dir.css\";\\n\\n.ck.ck-search {\\n\\t& > .ck-labeled-field-view {\\n\\t\\t& > .ck-labeled-field-view__input-wrapper > .ck-icon {\\n\\t\\t\\tposition: absolute;\\n\\t\\t\\ttop: 50%;\\n\\t\\t\\ttransform: translateY(-50%);\\n\\n\\t\\t\\t@mixin ck-dir ltr {\\n\\t\\t\\t\\tleft: var(--ck-spacing-medium);\\n\\t\\t\\t}\\n\\n\\t\\t\\t@mixin ck-dir rtl {\\n\\t\\t\\t\\tright: var(--ck-spacing-medium);\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\t& .ck-search__reset {\\n\\t\\t\\tposition: absolute;\\n\\t\\t\\ttop: 50%;\\n\\t\\t\\ttransform: translateY(-50%);\\n\\t\\t}\\n\\t}\\n\\n\\t& > .ck-search__results {\\n\\t\\t& > .ck-search__info {\\n\\t\\t\\t& > span:first-child {\\n\\t\\t\\t\\tdisplay: block;\\n\\t\\t\\t}\\n\\n\\t\\t\\t/* Hide the filtered view when nothing was found */\\n\\t\\t\\t&:not(.ck-hidden) ~ * {\\n\\t\\t\\t\\tdisplay: none;\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n}\\n','/*\\n * Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\\n */\\n\\n@import \"@ckeditor/ckeditor5-ui/theme/mixins/_dir.css\";\\n\\n:root {\\n\\t--ck-search-field-view-horizontal-spacing: calc(var(--ck-icon-size) + var(--ck-spacing-medium));\\n}\\n\\n.ck.ck-search {\\n\\t& > .ck-labeled-field-view {\\n\\t\\t& .ck-input {\\n\\t\\t\\twidth: 100%;\\n\\t\\t}\\n\\n\\t\\t&.ck-search__query_with-icon {\\n\\t\\t\\t--ck-labeled-field-label-default-position-x: var(--ck-search-field-view-horizontal-spacing);\\n\\n\\t\\t\\t& > .ck-labeled-field-view__input-wrapper > .ck-icon {\\n\\t\\t\\t\\topacity: .5;\\n\\t\\t\\t\\tpointer-events: none;\\n\\t\\t\\t}\\n\\n\\t\\t\\t& .ck-input {\\n\\t\\t\\t\\twidth: 100%;\\n\\n\\t\\t\\t\\t@mixin ck-dir ltr {\\n\\t\\t\\t\\t\\tpadding-left: var(--ck-search-field-view-horizontal-spacing);\\n\\t\\t\\t\\t}\\n\\n\\t\\t\\t\\t@mixin ck-dir rtl {\\n\\t\\t\\t\\t\\t&:not(.ck-input-text_empty) {\\n\\t\\t\\t\\t\\t\\tpadding-left: var(--ck-search-field-view-horizontal-spacing);\\n\\t\\t\\t\\t\\t}\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\t&.ck-search__query_with-reset {\\n\\t\\t\\t--ck-labeled-field-empty-unfocused-max-width: 100% - 2 * var(--ck-search-field-view-horizontal-spacing);\\n\\n\\t\\t\\t&.ck-labeled-field-view_empty {\\n\\t\\t\\t\\t--ck-labeled-field-empty-unfocused-max-width: 100% - var(--ck-search-field-view-horizontal-spacing) - var(--ck-spacing-medium);\\n\\t\\t\\t}\\n\\n\\t\\t\\t& .ck-search__reset {\\n\\t\\t\\t\\tmin-width: auto;\\n\\t\\t\\t\\tmin-height: auto;\\n\\n\\t\\t\\t\\tbackground: none;\\n\\t\\t\\t\\topacity: .5;\\n\\t\\t\\t\\tpadding: 0;\\n\\n\\t\\t\\t\\t@mixin ck-dir ltr {\\n\\t\\t\\t\\t\\tright: var(--ck-spacing-medium);\\n\\t\\t\\t\\t}\\n\\n\\t\\t\\t\\t@mixin ck-dir rtl {\\n\\t\\t\\t\\t\\tleft: var(--ck-spacing-medium);\\n\\t\\t\\t\\t}\\n\\n\\t\\t\\t\\t&:hover {\\n\\t\\t\\t\\t\\topacity: 1;\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\n\\t\\t\\t& .ck-input {\\n\\t\\t\\t\\twidth: 100%;\\n\\n\\t\\t\\t\\t@mixin ck-dir ltr {\\n\\t\\t\\t\\t\\t&:not(.ck-input-text_empty) {\\n\\t\\t\\t\\t\\t\\tpadding-right: var(--ck-search-field-view-horizontal-spacing);\\n\\t\\t\\t\\t\\t}\\n\\t\\t\\t\\t}\\n\\n\\t\\t\\t\\t@mixin ck-dir rtl {\\n\\t\\t\\t\\t\\tpadding-right: var(--ck-search-field-view-horizontal-spacing);\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n\\n\\t& > .ck-search__results {\\n\\t\\tmin-width: 100%;\\n\\n\\t\\t& > .ck-search__info {\\n\\t\\t\\twidth: 100%;\\n\\t\\t\\tpadding: var(--ck-spacing-medium) var(--ck-spacing-large);\\n\\n\\t\\t\\t& * {\\n\\t\\t\\t\\twhite-space: normal;\\n\\t\\t\\t}\\n\\n\\t\\t\\t& > span:first-child {\\n\\t\\t\\t\\tfont-weight: bold;\\n\\t\\t\\t}\\n\\n\\t\\t\\t& > span:last-child {\\n\\t\\t\\t\\tmargin-top: var(--ck-spacing-medium);\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n}\\n\\n'],sourceRoot:\"\"}]);const a=s},6446:(t,e,n)=>{\"use strict\";n.d(e,{Z:()=>a});var o=n(4015),i=n.n(o),r=n(3645),s=n.n(r)()(i());s.push([t.id,\".ck.ck-spinner-container{display:block;position:relative}.ck.ck-spinner{left:0;margin:0 auto;position:absolute;right:0;top:50%;transform:translateY(-50%);z-index:1}:root{--ck-toolbar-spinner-size:18px}.ck.ck-spinner-container{animation:rotate 1.5s linear infinite}.ck.ck-spinner,.ck.ck-spinner-container{height:var(--ck-toolbar-spinner-size);width:var(--ck-toolbar-spinner-size)}.ck.ck-spinner{border:2px solid var(--ck-color-text);border-radius:50%;border-top:2px solid #0000}@keyframes rotate{to{transform:rotate(1turn)}}\",\"\",{version:3,sources:[\"webpack://./node_modules/@ckeditor/ckeditor5-ui/theme/components/spinner/spinner.css\",\"webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-ui/components/spinner/spinner.css\"],names:[],mappings:\"AASA,yBACC,aAAc,CACd,iBACD,CAEA,eAGC,MAAO,CAEP,aAAc,CAJd,iBAAkB,CAGlB,OAAQ,CAFR,OAAQ,CAIR,0BAA2B,CAC3B,SACD,CCjBA,MACC,8BACD,CAEA,yBAGC,qCACD,CAEA,wCAJC,qCAAsC,CADtC,oCAWD,CANA,eAKC,qCAA6B,CAF7B,iBAAkB,CAElB,0BACD,CAEA,kBACC,GACC,uBACD,CACD\",sourcesContent:[\"/*\\n * Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\\n */\\n\\n:root {\\n\\t--ck-toolbar-spinner-size: 18px;\\n}\\n\\n.ck.ck-spinner-container {\\n\\tdisplay: block;\\n\\tposition: relative;\\n}\\n\\n.ck.ck-spinner {\\n\\tposition: absolute;\\n\\ttop: 50%;\\n\\tleft: 0;\\n\\tright: 0;\\n\\tmargin: 0 auto;\\n\\ttransform: translateY(-50%);\\n\\tz-index: 1;\\n}\\n\",\"/*\\n * Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\\n */\\n\\n:root {\\n\\t--ck-toolbar-spinner-size: 18px;\\n}\\n\\n.ck.ck-spinner-container {\\n\\twidth: var(--ck-toolbar-spinner-size);\\n\\theight: var(--ck-toolbar-spinner-size);\\n\\tanimation: 1.5s infinite rotate linear;\\n}\\n\\n.ck.ck-spinner {\\n\\twidth: var(--ck-toolbar-spinner-size);\\n\\theight: var(--ck-toolbar-spinner-size);\\n\\tborder-radius: 50%;\\n\\tborder: 2px solid var(--ck-color-text);\\n\\tborder-top-color: transparent;\\n}\\n\\n@keyframes rotate {\\n\\tto {\\n\\t\\ttransform: rotate(360deg)\\n\\t}\\n}\\n\\n\"],sourceRoot:\"\"}]);const a=s},5224:(t,e,n)=>{\"use strict\";n.d(e,{Z:()=>a});var o=n(4015),i=n.n(o),r=n(3645),s=n.n(r)()(i());s.push([t.id,\".ck-textarea{overflow-x:hidden}\",\"\",{version:3,sources:[\"webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-ui/components/textarea/textarea.css\"],names:[],mappings:\"AASA,aACC,iBACD\",sourcesContent:[\"/*\\n * Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\\n */\\n\\n/*\\n * This fixes a problem in Firefox when the initial height of the complement does not match the number of rows.\\n * This bug is especially visible when rows=1.\\n */\\n.ck-textarea {\\n\\toverflow-x: hidden\\n}\\n\"],sourceRoot:\"\"}]);const a=s},4176:(t,e,n)=>{\"use strict\";n.d(e,{Z:()=>a});var o=n(4015),i=n.n(o),r=n(3645),s=n.n(r)()(i());s.push([t.id,\".ck.ck-block-toolbar-button{position:absolute;z-index:var(--ck-z-default)}:root{--ck-color-block-toolbar-button:var(--ck-color-text);--ck-block-toolbar-button-size:var(--ck-font-size-normal)}.ck.ck-block-toolbar-button{color:var(--ck-color-block-toolbar-button);font-size:var(--ck-block-toolbar-size)}\",\"\",{version:3,sources:[\"webpack://./node_modules/@ckeditor/ckeditor5-ui/theme/components/toolbar/blocktoolbar.css\",\"webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-ui/components/toolbar/blocktoolbar.css\"],names:[],mappings:\"AAKA,4BACC,iBAAkB,CAClB,2BACD,CCHA,MACC,oDAAqD,CACrD,yDACD,CAEA,4BACC,0CAA2C,CAC3C,sCACD\",sourcesContent:[\"/*\\n * Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\\n */\\n\\n.ck.ck-block-toolbar-button {\\n\\tposition: absolute;\\n\\tz-index: var(--ck-z-default);\\n}\\n\",\"/*\\n * Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\\n */\\n\\n:root {\\n\\t--ck-color-block-toolbar-button: var(--ck-color-text);\\n\\t--ck-block-toolbar-button-size: var(--ck-font-size-normal);\\n}\\n\\n.ck.ck-block-toolbar-button {\\n\\tcolor: var(--ck-color-block-toolbar-button);\\n\\tfont-size: var(--ck-block-toolbar-size);\\n}\\n\"],sourceRoot:\"\"}]);const a=s},4768:(t,e,n)=>{\"use strict\";n.d(e,{Z:()=>a});var o=n(4015),i=n.n(o),r=n(3645),s=n.n(r)()(i());s.push([t.id,\".ck.ck-toolbar{align-items:center;display:flex;flex-flow:row nowrap;-moz-user-select:none;-webkit-user-select:none;-ms-user-select:none;user-select:none}.ck.ck-toolbar>.ck-toolbar__items{align-items:center;display:flex;flex-flow:row wrap;flex-grow:1}.ck.ck-toolbar .ck.ck-toolbar__separator{display:inline-block}.ck.ck-toolbar .ck.ck-toolbar__separator:first-child,.ck.ck-toolbar .ck.ck-toolbar__separator:last-child{display:none}.ck.ck-toolbar .ck-toolbar__line-break{flex-basis:100%}.ck.ck-toolbar.ck-toolbar_grouping>.ck-toolbar__items{flex-wrap:nowrap}.ck.ck-toolbar.ck-toolbar_vertical>.ck-toolbar__items{flex-direction:column}.ck.ck-toolbar.ck-toolbar_floating>.ck-toolbar__items{flex-wrap:nowrap}.ck.ck-toolbar>.ck.ck-toolbar__grouped-dropdown>.ck-dropdown__button .ck-dropdown__arrow{display:none}.ck.ck-toolbar{border-radius:0}.ck-rounded-corners .ck.ck-toolbar,.ck.ck-toolbar.ck-rounded-corners{border-radius:var(--ck-border-radius)}.ck.ck-toolbar{background:var(--ck-color-toolbar-background);border:1px solid var(--ck-color-toolbar-border);padding:0 var(--ck-spacing-small)}.ck.ck-toolbar .ck.ck-toolbar__separator{align-self:stretch;background:var(--ck-color-toolbar-border);margin-bottom:var(--ck-spacing-small);margin-top:var(--ck-spacing-small);min-width:1px;width:1px}.ck.ck-toolbar .ck-toolbar__line-break{height:0}.ck.ck-toolbar>.ck-toolbar__items>:not(.ck-toolbar__line-break){margin-right:var(--ck-spacing-small)}.ck.ck-toolbar>.ck-toolbar__items:empty+.ck.ck-toolbar__separator{display:none}.ck.ck-toolbar>.ck-toolbar__items>:not(.ck-toolbar__line-break),.ck.ck-toolbar>.ck.ck-toolbar__grouped-dropdown{margin-bottom:var(--ck-spacing-small);margin-top:var(--ck-spacing-small)}.ck.ck-toolbar.ck-toolbar_vertical{padding:0}.ck.ck-toolbar.ck-toolbar_vertical>.ck-toolbar__items>.ck{border-radius:0;margin:0;width:100%}.ck.ck-toolbar.ck-toolbar_compact{padding:0}.ck.ck-toolbar.ck-toolbar_compact>.ck-toolbar__items>*{margin:0}.ck.ck-toolbar.ck-toolbar_compact>.ck-toolbar__items>:not(:first-child):not(:last-child){border-radius:0}.ck.ck-toolbar>.ck.ck-toolbar__grouped-dropdown>.ck.ck-button.ck-dropdown__button{padding-left:var(--ck-spacing-tiny)}.ck.ck-toolbar .ck-toolbar__nested-toolbar-dropdown>.ck-dropdown__panel{min-width:auto}.ck.ck-toolbar .ck-toolbar__nested-toolbar-dropdown>.ck-button>.ck-button__label{max-width:7em;width:auto}.ck.ck-toolbar:focus{outline:none}.ck-toolbar-container .ck.ck-toolbar{border:0}.ck.ck-toolbar[dir=rtl]>.ck-toolbar__items>.ck,[dir=rtl] .ck.ck-toolbar>.ck-toolbar__items>.ck{margin-right:0}.ck.ck-toolbar[dir=rtl]:not(.ck-toolbar_compact)>.ck-toolbar__items>.ck,[dir=rtl] .ck.ck-toolbar:not(.ck-toolbar_compact)>.ck-toolbar__items>.ck{margin-left:var(--ck-spacing-small)}.ck.ck-toolbar[dir=rtl]>.ck-toolbar__items>.ck:last-child,[dir=rtl] .ck.ck-toolbar>.ck-toolbar__items>.ck:last-child{margin-left:0}.ck.ck-toolbar.ck-toolbar_compact[dir=rtl]>.ck-toolbar__items>.ck:first-child,[dir=rtl] .ck.ck-toolbar.ck-toolbar_compact>.ck-toolbar__items>.ck:first-child{border-bottom-left-radius:0;border-top-left-radius:0}.ck.ck-toolbar.ck-toolbar_compact[dir=rtl]>.ck-toolbar__items>.ck:last-child,[dir=rtl] .ck.ck-toolbar.ck-toolbar_compact>.ck-toolbar__items>.ck:last-child{border-bottom-right-radius:0;border-top-right-radius:0}.ck.ck-toolbar.ck-toolbar_grouping[dir=rtl]>.ck-toolbar__items:not(:empty):not(:only-child),.ck.ck-toolbar[dir=rtl]>.ck.ck-toolbar__separator,[dir=rtl] .ck.ck-toolbar.ck-toolbar_grouping>.ck-toolbar__items:not(:empty):not(:only-child),[dir=rtl] .ck.ck-toolbar>.ck.ck-toolbar__separator{margin-left:var(--ck-spacing-small)}.ck.ck-toolbar[dir=ltr]>.ck-toolbar__items>.ck:last-child,[dir=ltr] .ck.ck-toolbar>.ck-toolbar__items>.ck:last-child{margin-right:0}.ck.ck-toolbar.ck-toolbar_compact[dir=ltr]>.ck-toolbar__items>.ck:first-child,[dir=ltr] .ck.ck-toolbar.ck-toolbar_compact>.ck-toolbar__items>.ck:first-child{border-bottom-right-radius:0;border-top-right-radius:0}.ck.ck-toolbar.ck-toolbar_compact[dir=ltr]>.ck-toolbar__items>.ck:last-child,[dir=ltr] .ck.ck-toolbar.ck-toolbar_compact>.ck-toolbar__items>.ck:last-child{border-bottom-left-radius:0;border-top-left-radius:0}.ck.ck-toolbar.ck-toolbar_grouping[dir=ltr]>.ck-toolbar__items:not(:empty):not(:only-child),.ck.ck-toolbar[dir=ltr]>.ck.ck-toolbar__separator,[dir=ltr] .ck.ck-toolbar.ck-toolbar_grouping>.ck-toolbar__items:not(:empty):not(:only-child),[dir=ltr] .ck.ck-toolbar>.ck.ck-toolbar__separator{margin-right:var(--ck-spacing-small)}\",\"\",{version:3,sources:[\"webpack://./node_modules/@ckeditor/ckeditor5-ui/theme/components/toolbar/toolbar.css\",\"webpack://./node_modules/@ckeditor/ckeditor5-ui/theme/mixins/_unselectable.css\",\"webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-ui/components/toolbar/toolbar.css\",\"webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/mixins/_rounded.css\"],names:[],mappings:\"AAOA,eAKC,kBAAmB,CAFnB,YAAa,CACb,oBAAqB,CCFrB,qBAAsB,CACtB,wBAAyB,CACzB,oBAAqB,CACrB,gBD6CD,CA3CC,kCAGC,kBAAmB,CAFnB,YAAa,CACb,kBAAmB,CAEnB,WAED,CAEA,yCACC,oBAWD,CAJC,yGAEC,YACD,CAGD,uCACC,eACD,CAEA,sDACC,gBACD,CAEA,sDACC,qBACD,CAEA,sDACC,gBACD,CAGC,yFACC,YACD,CE/CF,eCGC,eDwGD,CA3GA,qECOE,qCDoGF,CA3GA,eAGC,6CAA8C,CAE9C,+CAAgD,CADhD,iCAuGD,CApGC,yCACC,kBAAmB,CAGnB,yCAA0C,CAO1C,qCAAsC,CADtC,kCAAmC,CAPnC,aAAc,CADd,SAUD,CAEA,uCACC,QACD,CAGC,gEAEC,oCACD,CAIA,kEACC,YACD,CAGD,gHAIC,qCAAsC,CADtC,kCAED,CAEA,mCAEC,SAaD,CAVC,0DAQC,eAAgB,CAHhB,QAAS,CAHT,UAOD,CAGD,kCAEC,SAWD,CATC,uDAEC,QAMD,CAHC,yFACC,eACD,CASD,kFACC,mCACD,CAMA,wEACC,cACD,CAEA,iFACC,aAAc,CACd,UACD,CAGD,qBACC,YACD,CAtGD,qCAyGE,QAEF,CAYC,+FACC,cACD,CAEA,iJAEC,mCACD,CAEA,qHACC,aACD,CAIC,6JAEC,2BAA4B,CAD5B,wBAED,CAGA,2JAEC,4BAA6B,CAD7B,yBAED,CASD,8RACC,mCACD,CAWA,qHACC,cACD,CAIC,6JAEC,4BAA6B,CAD7B,yBAED,CAGA,2JAEC,2BAA4B,CAD5B,wBAED,CASD,8RACC,oCACD\",sourcesContent:['/*\\n * Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\\n */\\n\\n@import \"../../mixins/_unselectable.css\";\\n\\n.ck.ck-toolbar {\\n\\t@mixin ck-unselectable;\\n\\n\\tdisplay: flex;\\n\\tflex-flow: row nowrap;\\n\\talign-items: center;\\n\\n\\t& > .ck-toolbar__items {\\n\\t\\tdisplay: flex;\\n\\t\\tflex-flow: row wrap;\\n\\t\\talign-items: center;\\n\\t\\tflex-grow: 1;\\n\\n\\t}\\n\\n\\t& .ck.ck-toolbar__separator {\\n\\t\\tdisplay: inline-block;\\n\\n\\t\\t/*\\n\\t\\t * A leading or trailing separator makes no sense (separates from nothing on one side).\\n\\t\\t * For instance, it can happen when toolbar items (also separators) are getting grouped one by one and\\n\\t\\t * moved to another toolbar in the dropdown.\\n\\t\\t */\\n\\t\\t&:first-child,\\n\\t\\t&:last-child {\\n\\t\\t\\tdisplay: none;\\n\\t\\t}\\n\\t}\\n\\n\\t& .ck-toolbar__line-break {\\n\\t\\tflex-basis: 100%;\\n\\t}\\n\\n\\t&.ck-toolbar_grouping > .ck-toolbar__items {\\n\\t\\tflex-wrap: nowrap;\\n\\t}\\n\\n\\t&.ck-toolbar_vertical > .ck-toolbar__items {\\n\\t\\tflex-direction: column;\\n\\t}\\n\\n\\t&.ck-toolbar_floating > .ck-toolbar__items {\\n\\t\\tflex-wrap: nowrap;\\n\\t}\\n\\n\\t& > .ck.ck-toolbar__grouped-dropdown {\\n\\t\\t& > .ck-dropdown__button .ck-dropdown__arrow {\\n\\t\\t\\tdisplay: none;\\n\\t\\t}\\n\\t}\\n}\\n',\"/*\\n * Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\\n */\\n\\n/**\\n * Makes element unselectable.\\n */\\n@define-mixin ck-unselectable {\\n\\t-moz-user-select: none;\\n\\t-webkit-user-select: none;\\n\\t-ms-user-select: none;\\n\\tuser-select: none\\n}\\n\",'/*\\n * Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\\n */\\n\\n@import \"../../../mixins/_rounded.css\";\\n@import \"@ckeditor/ckeditor5-ui/theme/mixins/_dir.css\";\\n\\n.ck.ck-toolbar {\\n\\t@mixin ck-rounded-corners;\\n\\n\\tbackground: var(--ck-color-toolbar-background);\\n\\tpadding: 0 var(--ck-spacing-small);\\n\\tborder: 1px solid var(--ck-color-toolbar-border);\\n\\n\\t& .ck.ck-toolbar__separator {\\n\\t\\talign-self: stretch;\\n\\t\\twidth: 1px;\\n\\t\\tmin-width: 1px;\\n\\t\\tbackground: var(--ck-color-toolbar-border);\\n\\n\\t\\t/*\\n\\t\\t * These margins make the separators look better in balloon toolbars (when aligned with the \"tip\").\\n\\t\\t * See https://github.com/ckeditor/ckeditor5/issues/7493.\\n\\t\\t */\\n\\t\\tmargin-top: var(--ck-spacing-small);\\n\\t\\tmargin-bottom: var(--ck-spacing-small);\\n\\t}\\n\\n\\t& .ck-toolbar__line-break {\\n\\t\\theight: 0;\\n\\t}\\n\\n\\t& > .ck-toolbar__items {\\n\\t\\t& > *:not(.ck-toolbar__line-break) {\\n\\t\\t\\t/* (#11) Separate toolbar items. */\\n\\t\\t\\tmargin-right: var(--ck-spacing-small);\\n\\t\\t}\\n\\n\\t\\t/* Don\\'t display a separator after an empty items container, for instance,\\n\\t\\twhen all items were grouped */\\n\\t\\t&:empty + .ck.ck-toolbar__separator {\\n\\t\\t\\tdisplay: none;\\n\\t\\t}\\n\\t}\\n\\n\\t& > .ck-toolbar__items > *:not(.ck-toolbar__line-break),\\n\\t& > .ck.ck-toolbar__grouped-dropdown {\\n\\t\\t/* Make sure items wrapped to the next line have v-spacing */\\n\\t\\tmargin-top: var(--ck-spacing-small);\\n\\t\\tmargin-bottom: var(--ck-spacing-small);\\n\\t}\\n\\n\\t&.ck-toolbar_vertical {\\n\\t\\t/* Items in a vertical toolbar span the entire width. */\\n\\t\\tpadding: 0;\\n\\n\\t\\t/* Specificity matters here. See https://github.com/ckeditor/ckeditor5-theme-lark/issues/168. */\\n\\t\\t& > .ck-toolbar__items > .ck {\\n\\t\\t\\t/* Items in a vertical toolbar should span the horizontal space. */\\n\\t\\t\\twidth: 100%;\\n\\n\\t\\t\\t/* Items in a vertical toolbar should have no margin. */\\n\\t\\t\\tmargin: 0;\\n\\n\\t\\t\\t/* Items in a vertical toolbar span the entire width so rounded corners are pointless. */\\n\\t\\t\\tborder-radius: 0;\\n\\t\\t}\\n\\t}\\n\\n\\t&.ck-toolbar_compact {\\n\\t\\t/* No spacing around items. */\\n\\t\\tpadding: 0;\\n\\n\\t\\t& > .ck-toolbar__items > * {\\n\\t\\t\\t/* Compact toolbar items have no spacing between them. */\\n\\t\\t\\tmargin: 0;\\n\\n\\t\\t\\t/* \"Middle\" children should have no rounded corners. */\\n\\t\\t\\t&:not(:first-child):not(:last-child) {\\n\\t\\t\\t\\tborder-radius: 0;\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n\\n\\t& > .ck.ck-toolbar__grouped-dropdown {\\n\\t\\t/*\\n\\t\\t * Dropdown button has asymmetric padding to fit the arrow.\\n\\t\\t * This button has no arrow so let\\'s revert that padding back to normal.\\n\\t\\t */\\n\\t\\t& > .ck.ck-button.ck-dropdown__button {\\n\\t\\t\\tpadding-left: var(--ck-spacing-tiny);\\n\\t\\t}\\n\\t}\\n\\n\\t/* A drop-down containing the nested toolbar with configured items. */\\n\\t& .ck-toolbar__nested-toolbar-dropdown {\\n\\t\\t/* Prevent empty space in the panel when the dropdown label is visible and long but the toolbar has few items. */\\n\\t\\t& > .ck-dropdown__panel {\\n\\t\\t\\tmin-width: auto;\\n\\t\\t}\\n\\n\\t\\t& > .ck-button > .ck-button__label {\\n\\t\\t\\tmax-width: 7em;\\n\\t\\t\\twidth: auto;\\n\\t\\t}\\n\\t}\\n\\n\\t&:focus {\\n\\t\\toutline: none;\\n\\t}\\n\\n\\t@nest .ck-toolbar-container & {\\n\\t\\tborder: 0;\\n\\t}\\n}\\n\\n/* stylelint-disable */\\n\\n/*\\n * Styles for RTL toolbars.\\n *\\n * Note: In some cases (e.g. a decoupled editor), the toolbar has its own \"dir\"\\n * because its parent is not controlled by the editor framework.\\n */\\n[dir=\"rtl\"] .ck.ck-toolbar,\\n.ck.ck-toolbar[dir=\"rtl\"] {\\n\\t& > .ck-toolbar__items > .ck {\\n\\t\\tmargin-right: 0;\\n\\t}\\n\\n\\t&:not(.ck-toolbar_compact) > .ck-toolbar__items > .ck {\\n\\t\\t/* (#11) Separate toolbar items. */\\n\\t\\tmargin-left: var(--ck-spacing-small);\\n\\t}\\n\\n\\t& > .ck-toolbar__items > .ck:last-child {\\n\\t\\tmargin-left: 0;\\n\\t}\\n\\n\\t&.ck-toolbar_compact > .ck-toolbar__items > .ck {\\n\\t\\t/* No rounded corners on the right side of the first child. */\\n\\t\\t&:first-child {\\n\\t\\t\\tborder-top-left-radius: 0;\\n\\t\\t\\tborder-bottom-left-radius: 0;\\n\\t\\t}\\n\\n\\t\\t/* No rounded corners on the left side of the last child. */\\n\\t\\t&:last-child {\\n\\t\\t\\tborder-top-right-radius: 0;\\n\\t\\t\\tborder-bottom-right-radius: 0;\\n\\t\\t}\\n\\t}\\n\\n\\t/* Separate the the separator form the grouping dropdown when some items are grouped. */\\n\\t& > .ck.ck-toolbar__separator {\\n\\t\\tmargin-left: var(--ck-spacing-small);\\n\\t}\\n\\n\\t/* Some spacing between the items and the separator before the grouped items dropdown. */\\n\\t&.ck-toolbar_grouping > .ck-toolbar__items:not(:empty):not(:only-child) {\\n\\t\\tmargin-left: var(--ck-spacing-small);\\n\\t}\\n}\\n\\n/*\\n * Styles for LTR toolbars.\\n *\\n * Note: In some cases (e.g. a decoupled editor), the toolbar has its own \"dir\"\\n * because its parent is not controlled by the editor framework.\\n */\\n[dir=\"ltr\"] .ck.ck-toolbar,\\n.ck.ck-toolbar[dir=\"ltr\"] {\\n\\t& > .ck-toolbar__items > .ck:last-child {\\n\\t\\tmargin-right: 0;\\n\\t}\\n\\n\\t&.ck-toolbar_compact > .ck-toolbar__items > .ck {\\n\\t\\t/* No rounded corners on the right side of the first child. */\\n\\t\\t&:first-child {\\n\\t\\t\\tborder-top-right-radius: 0;\\n\\t\\t\\tborder-bottom-right-radius: 0;\\n\\t\\t}\\n\\n\\t\\t/* No rounded corners on the left side of the last child. */\\n\\t\\t&:last-child {\\n\\t\\t\\tborder-top-left-radius: 0;\\n\\t\\t\\tborder-bottom-left-radius: 0;\\n\\t\\t}\\n\\t}\\n\\n\\t/* Separate the the separator form the grouping dropdown when some items are grouped. */\\n\\t& > .ck.ck-toolbar__separator {\\n\\t\\tmargin-right: var(--ck-spacing-small);\\n\\t}\\n\\n\\t/* Some spacing between the items and the separator before the grouped items dropdown. */\\n\\t&.ck-toolbar_grouping > .ck-toolbar__items:not(:empty):not(:only-child) {\\n\\t\\tmargin-right: var(--ck-spacing-small);\\n\\t}\\n}\\n\\n/* stylelint-enable */\\n',\"/*\\n * Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\\n */\\n\\n/**\\n * Implements rounded corner interface for .ck-rounded-corners class.\\n *\\n * @see $ck-border-radius\\n */\\n@define-mixin ck-rounded-corners {\\n\\tborder-radius: 0;\\n\\n\\t@nest .ck-rounded-corners &,\\n\\t&.ck-rounded-corners {\\n\\t\\tborder-radius: var(--ck-border-radius);\\n\\t\\t@mixin-content;\\n\\t}\\n}\\n\"],sourceRoot:\"\"}]);const a=s},3888:(t,e,n)=>{\"use strict\";n.d(e,{Z:()=>a});var o=n(4015),i=n.n(o),r=n(3645),s=n.n(r)()(i());s.push([t.id,\".ck.ck-balloon-panel.ck-tooltip{--ck-balloon-border-width:0px;--ck-balloon-arrow-offset:0px;--ck-balloon-arrow-half-width:4px;--ck-balloon-arrow-height:4px;--ck-tooltip-text-padding:4px;--ck-color-panel-background:var(--ck-color-tooltip-background);padding:0 var(--ck-spacing-medium);pointer-events:none;z-index:calc(var(--ck-z-modal) + 100)}.ck.ck-balloon-panel.ck-tooltip .ck-tooltip__text{color:var(--ck-color-tooltip-text);font-size:.9em;line-height:1.5}.ck.ck-balloon-panel.ck-tooltip.ck-tooltip_multi-line .ck-tooltip__text{display:inline-block;padding:var(--ck-tooltip-text-padding) 0;white-space:break-spaces}.ck.ck-balloon-panel.ck-tooltip{box-shadow:none}.ck.ck-balloon-panel.ck-tooltip:before{display:none}\",\"\",{version:3,sources:[\"webpack://./node_modules/@ckeditor/ckeditor5-ui/theme/components/tooltip/tooltip.css\",\"webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-ui/components/tooltip/tooltip.css\"],names:[],mappings:\"AAKA,gCCGC,6BAA8B,CAC9B,6BAA8B,CAC9B,iCAAkC,CAClC,6BAA8B,CAC9B,6BAA8B,CAC9B,8DAA+D,CAE/D,kCAAmC,CDRnC,mBAAoB,CAEpB,qCACD,CCOC,kDAGC,kCAAmC,CAFnC,cAAe,CACf,eAED,CAEA,wEAEC,oBAAqB,CACrB,wCAAyC,CAFzC,wBAGD,CApBD,gCAuBC,eAMD,CAHC,uCACC,YACD\",sourcesContent:[\"/*\\n * Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\\n */\\n\\n.ck.ck-balloon-panel.ck-tooltip {\\n\\t/* Keep tooltips transparent for any interactions. */\\n\\tpointer-events: none;\\n\\n\\tz-index: calc( var(--ck-z-modal) + 100 );\\n}\\n\",'/*\\n * Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\\n */\\n\\n@import \"../../../mixins/_rounded.css\";\\n\\n.ck.ck-balloon-panel.ck-tooltip {\\n\\t--ck-balloon-border-width: 0px;\\n\\t--ck-balloon-arrow-offset: 0px;\\n\\t--ck-balloon-arrow-half-width: 4px;\\n\\t--ck-balloon-arrow-height: 4px;\\n\\t--ck-tooltip-text-padding: 4px;\\n\\t--ck-color-panel-background: var(--ck-color-tooltip-background);\\n\\n\\tpadding: 0 var(--ck-spacing-medium);\\n\\n\\t& .ck-tooltip__text {\\n\\t\\tfont-size: .9em;\\n\\t\\tline-height: 1.5;\\n\\t\\tcolor: var(--ck-color-tooltip-text);\\n\\t}\\n\\n\\t&.ck-tooltip_multi-line .ck-tooltip__text {\\n\\t\\twhite-space: break-spaces;\\n\\t\\tdisplay: inline-block;\\n\\t\\tpadding: var(--ck-tooltip-text-padding) 0;\\n\\t}\\n\\n\\t/* Reset balloon panel styles */\\n\\tbox-shadow: none;\\n\\n\\t/* Hide the default shadow of the .ck-balloon-panel tip */\\n\\t&::before {\\n\\t\\tdisplay: none;\\n\\t}\\n}\\n'],sourceRoot:\"\"}]);const a=s},5167:(t,e,n)=>{\"use strict\";n.d(e,{Z:()=>a});var o=n(4015),i=n.n(o),r=n(3645),s=n.n(r)()(i());s.push([t.id,\".ck-hidden{display:none!important}.ck-reset_all :not(.ck-reset_all-excluded *),.ck.ck-reset,.ck.ck-reset_all{box-sizing:border-box;height:auto;position:static;width:auto}:root{--ck-z-default:1;--ck-z-modal:calc(var(--ck-z-default) + 999)}.ck-transitions-disabled,.ck-transitions-disabled *{transition:none!important}:root{--ck-powered-by-line-height:10px;--ck-powered-by-padding-vertical:2px;--ck-powered-by-padding-horizontal:4px;--ck-powered-by-text-color:#4f4f4f;--ck-powered-by-border-radius:var(--ck-border-radius);--ck-powered-by-background:#fff;--ck-powered-by-border-color:var(--ck-color-focus-border)}.ck.ck-balloon-panel.ck-powered-by-balloon{--ck-border-radius:var(--ck-powered-by-border-radius);background:var(--ck-powered-by-background);box-shadow:none;min-height:unset;z-index:calc(var(--ck-z-modal) - 1)}.ck.ck-balloon-panel.ck-powered-by-balloon .ck.ck-powered-by{line-height:var(--ck-powered-by-line-height)}.ck.ck-balloon-panel.ck-powered-by-balloon .ck.ck-powered-by a{align-items:center;cursor:pointer;display:flex;filter:grayscale(80%);line-height:var(--ck-powered-by-line-height);opacity:.66;padding:var(--ck-powered-by-padding-vertical) var(--ck-powered-by-padding-horizontal)}.ck.ck-balloon-panel.ck-powered-by-balloon .ck.ck-powered-by .ck-powered-by__label{color:var(--ck-powered-by-text-color);cursor:pointer;font-size:7.5px;font-weight:700;letter-spacing:-.2px;line-height:normal;margin-right:4px;padding-left:2px;text-transform:uppercase}.ck.ck-balloon-panel.ck-powered-by-balloon .ck.ck-powered-by .ck-icon{cursor:pointer;display:block}.ck.ck-balloon-panel.ck-powered-by-balloon .ck.ck-powered-by:hover a{filter:grayscale(0);opacity:1}.ck.ck-balloon-panel.ck-powered-by-balloon[class*=position_inside]{border-color:#0000}.ck.ck-balloon-panel.ck-powered-by-balloon[class*=position_border]{border:var(--ck-focus-ring);border-color:var(--ck-powered-by-border-color)}:root{--ck-color-base-foreground:#fafafa;--ck-color-base-background:#fff;--ck-color-base-border:#ccced1;--ck-color-base-action:#53a336;--ck-color-base-focus:#6cb5f9;--ck-color-base-text:#333;--ck-color-base-active:#2977ff;--ck-color-base-active-focus:#0d65ff;--ck-color-base-error:#db3700;--ck-color-focus-border-coordinates:218,81.8%,56.9%;--ck-color-focus-border:hsl(var(--ck-color-focus-border-coordinates));--ck-color-focus-outer-shadow:#cae1fc;--ck-color-focus-disabled-shadow:#77baf84d;--ck-color-focus-error-shadow:#ff401f4d;--ck-color-text:var(--ck-color-base-text);--ck-color-shadow-drop:#00000026;--ck-color-shadow-drop-active:#0003;--ck-color-shadow-inner:#0000001a;--ck-color-button-default-background:#0000;--ck-color-button-default-hover-background:#f0f0f0;--ck-color-button-default-active-background:#f0f0f0;--ck-color-button-default-disabled-background:#0000;--ck-color-button-on-background:#f0f7ff;--ck-color-button-on-hover-background:#dbecff;--ck-color-button-on-active-background:#dbecff;--ck-color-button-on-disabled-background:#f0f2f4;--ck-color-button-on-color:#2977ff;--ck-color-button-action-background:var(--ck-color-base-action);--ck-color-button-action-hover-background:#4d9d30;--ck-color-button-action-active-background:#4d9d30;--ck-color-button-action-disabled-background:#7ec365;--ck-color-button-action-text:var(--ck-color-base-background);--ck-color-button-save:#008a00;--ck-color-button-cancel:#db3700;--ck-color-switch-button-off-background:#939393;--ck-color-switch-button-off-hover-background:#7d7d7d;--ck-color-switch-button-on-background:var(--ck-color-button-action-background);--ck-color-switch-button-on-hover-background:#4d9d30;--ck-color-switch-button-inner-background:var(--ck-color-base-background);--ck-color-switch-button-inner-shadow:#0000001a;--ck-color-dropdown-panel-background:var(--ck-color-base-background);--ck-color-dropdown-panel-border:var(--ck-color-base-border);--ck-color-input-background:var(--ck-color-base-background);--ck-color-input-border:var(--ck-color-base-border);--ck-color-input-error-border:var(--ck-color-base-error);--ck-color-input-text:var(--ck-color-base-text);--ck-color-input-disabled-background:#f2f2f2;--ck-color-input-disabled-border:var(--ck-color-base-border);--ck-color-input-disabled-text:#757575;--ck-color-list-background:var(--ck-color-base-background);--ck-color-list-button-hover-background:var(--ck-color-button-default-hover-background);--ck-color-list-button-on-background:var(--ck-color-button-on-color);--ck-color-list-button-on-background-focus:var(--ck-color-button-on-color);--ck-color-list-button-on-text:var(--ck-color-base-background);--ck-color-panel-background:var(--ck-color-base-background);--ck-color-panel-border:var(--ck-color-base-border);--ck-color-toolbar-background:var(--ck-color-base-background);--ck-color-toolbar-border:var(--ck-color-base-border);--ck-color-tooltip-background:var(--ck-color-base-text);--ck-color-tooltip-text:var(--ck-color-base-background);--ck-color-engine-placeholder-text:#707070;--ck-color-upload-bar-background:#6cb5f9;--ck-color-link-default:#0000f0;--ck-color-link-selected-background:#1fb0ff1a;--ck-color-link-fake-selection:#1fb0ff4d;--ck-color-highlight-background:#ff0;--ck-color-light-red:#fcc;--ck-disabled-opacity:.5;--ck-focus-outer-shadow-geometry:0 0 0 3px;--ck-focus-outer-shadow:var(--ck-focus-outer-shadow-geometry) var(--ck-color-focus-outer-shadow);--ck-focus-disabled-outer-shadow:var(--ck-focus-outer-shadow-geometry) var(--ck-color-focus-disabled-shadow);--ck-focus-error-outer-shadow:var(--ck-focus-outer-shadow-geometry) var(--ck-color-focus-error-shadow);--ck-focus-ring:1px solid var(--ck-color-focus-border);--ck-font-size-base:13px;--ck-line-height-base:1.84615;--ck-font-face:Helvetica,Arial,Tahoma,Verdana,Sans-Serif;--ck-font-size-tiny:0.7em;--ck-font-size-small:0.75em;--ck-font-size-normal:1em;--ck-font-size-big:1.4em;--ck-font-size-large:1.8em;--ck-ui-component-min-height:2.3em}.ck-reset_all :not(.ck-reset_all-excluded *),.ck.ck-reset,.ck.ck-reset_all{word-wrap:break-word;background:#0000;border:0;margin:0;padding:0;text-decoration:none;transition:none;vertical-align:middle}.ck-reset_all :not(.ck-reset_all-excluded *),.ck.ck-reset_all{border-collapse:collapse;color:var(--ck-color-text);cursor:auto;float:none;font:normal normal normal var(--ck-font-size-base)/var(--ck-line-height-base) var(--ck-font-face);text-align:left;white-space:nowrap}.ck-reset_all .ck-rtl :not(.ck-reset_all-excluded *){text-align:right}.ck-reset_all iframe:not(.ck-reset_all-excluded *){vertical-align:inherit}.ck-reset_all textarea:not(.ck-reset_all-excluded *){white-space:pre-wrap}.ck-reset_all input[type=password]:not(.ck-reset_all-excluded *),.ck-reset_all input[type=text]:not(.ck-reset_all-excluded *),.ck-reset_all textarea:not(.ck-reset_all-excluded *){cursor:text}.ck-reset_all input[type=password][disabled]:not(.ck-reset_all-excluded *),.ck-reset_all input[type=text][disabled]:not(.ck-reset_all-excluded *),.ck-reset_all textarea[disabled]:not(.ck-reset_all-excluded *){cursor:default}.ck-reset_all fieldset:not(.ck-reset_all-excluded *){border:2px groove #dfdee3;padding:10px}.ck-reset_all button:not(.ck-reset_all-excluded *)::-moz-focus-inner{border:0;padding:0}.ck[dir=rtl],.ck[dir=rtl] .ck{text-align:right}:root{--ck-border-radius:2px;--ck-inner-shadow:2px 2px 3px var(--ck-color-shadow-inner) inset;--ck-drop-shadow:0 1px 2px 1px var(--ck-color-shadow-drop);--ck-drop-shadow-active:0 3px 6px 1px var(--ck-color-shadow-drop-active);--ck-spacing-unit:0.6em;--ck-spacing-large:calc(var(--ck-spacing-unit)*1.5);--ck-spacing-standard:var(--ck-spacing-unit);--ck-spacing-medium:calc(var(--ck-spacing-unit)*0.8);--ck-spacing-small:calc(var(--ck-spacing-unit)*0.5);--ck-spacing-tiny:calc(var(--ck-spacing-unit)*0.3);--ck-spacing-extra-tiny:calc(var(--ck-spacing-unit)*0.16)}\",\"\",{version:3,sources:[\"webpack://./node_modules/@ckeditor/ckeditor5-ui/theme/globals/_hidden.css\",\"webpack://./node_modules/@ckeditor/ckeditor5-ui/theme/globals/_reset.css\",\"webpack://./node_modules/@ckeditor/ckeditor5-ui/theme/globals/_zindex.css\",\"webpack://./node_modules/@ckeditor/ckeditor5-ui/theme/globals/_transition.css\",\"webpack://./node_modules/@ckeditor/ckeditor5-ui/theme/globals/_poweredby.css\",\"webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-ui/globals/_colors.css\",\"webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-ui/globals/_disabled.css\",\"webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-ui/globals/_focus.css\",\"webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-ui/globals/_fonts.css\",\"webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-ui/globals/_reset.css\",\"webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-ui/globals/_rounded.css\",\"webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-ui/globals/_shadow.css\",\"webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-ui/globals/_spacing.css\"],names:[],mappings:\"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\",sourcesContent:[\"/*\\n * Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\\n */\\n\\n/**\\n * A class which hides an element in DOM.\\n */\\n.ck-hidden {\\n\\t/* Override selector specificity. Otherwise, all elements with some display\\n\\tstyle defined will override this one, which is not a desired result. */\\n\\tdisplay: none !important;\\n}\\n\",\"/*\\n * Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\\n */\\n\\n.ck.ck-reset,\\n.ck.ck-reset_all,\\n.ck-reset_all *:not(.ck-reset_all-excluded *) {\\n\\tbox-sizing: border-box;\\n\\twidth: auto;\\n\\theight: auto;\\n\\tposition: static;\\n}\\n\",\"/*\\n * Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\\n */\\n\\n:root {\\n\\t--ck-z-default: 1;\\n\\t--ck-z-modal: calc( var(--ck-z-default) + 999 );\\n}\\n\",\"/*\\n * Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\\n */\\n\\n/**\\n * A class that disables all transitions of the element and its children.\\n */\\n.ck-transitions-disabled,\\n.ck-transitions-disabled * {\\n\\ttransition: none !important;\\n}\\n\",'/*\\n * Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\\n */\\n\\n:root {\\n\\t--ck-powered-by-line-height: 10px;\\n\\t--ck-powered-by-padding-vertical: 2px;\\n\\t--ck-powered-by-padding-horizontal: 4px;\\n\\t--ck-powered-by-text-color: hsl(0, 0%, 31%);\\n\\t--ck-powered-by-border-radius: var(--ck-border-radius);\\n\\t--ck-powered-by-background: hsl(0, 0%, 100%);\\n\\t--ck-powered-by-border-color: var(--ck-color-focus-border);\\n}\\n\\n.ck.ck-balloon-panel.ck-powered-by-balloon {\\n\\t--ck-border-radius: var(--ck-powered-by-border-radius);\\n\\n\\tbox-shadow: none;\\n\\tbackground: var(--ck-powered-by-background);\\n\\tmin-height: unset;\\n\\tz-index: calc( var(--ck-z-modal) - 1 );\\n\\n\\t& .ck.ck-powered-by {\\n\\t\\tline-height: var(--ck-powered-by-line-height);\\n\\n\\t\\t& a {\\n\\t\\t\\tcursor: pointer;\\n\\t\\t\\tdisplay: flex;\\n\\t\\t\\talign-items: center;\\n\\t\\t\\topacity: .66;\\n\\t\\t\\tfilter: grayscale(80%);\\n\\t\\t\\tline-height: var(--ck-powered-by-line-height);\\n\\t\\t\\tpadding: var(--ck-powered-by-padding-vertical) var(--ck-powered-by-padding-horizontal);\\n\\t\\t}\\n\\n\\t\\t& .ck-powered-by__label {\\n\\t\\t\\tfont-size: 7.5px;\\n\\t\\t\\tletter-spacing: -.2px;\\n\\t\\t\\tpadding-left: 2px;\\n\\t\\t\\ttext-transform: uppercase;\\n\\t\\t\\tfont-weight: bold;\\n\\t\\t\\tmargin-right: 4px;\\n\\t\\t\\tcursor: pointer;\\n\\t\\t\\tline-height: normal;\\n\\t\\t\\tcolor: var(--ck-powered-by-text-color);\\n\\n\\t\\t}\\n\\n\\t\\t& .ck-icon {\\n\\t\\t\\tdisplay: block;\\n\\t\\t\\tcursor: pointer;\\n\\t\\t}\\n\\n\\t\\t&:hover {\\n\\t\\t\\t& a {\\n\\t\\t\\t\\tfilter: grayscale(0%);\\n\\t\\t\\t\\topacity: 1;\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n\\n\\t&[class*=\"position_inside\"] {\\n\\t\\tborder-color: transparent;\\n\\t}\\n\\n\\t&[class*=\"position_border\"] {\\n\\t\\tborder: var(--ck-focus-ring);\\n\\t\\tborder-color: var(--ck-powered-by-border-color);\\n\\t}\\n}\\n\\n',\"/*\\n * Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\\n */\\n\\n:root {\\n\\t--ck-color-base-foreground: \\t\\t\\t\\t\\t\\t\\t\\thsl(0, 0%, 98%);\\n\\t--ck-color-base-background: \\t\\t\\t\\t\\t\\t\\t\\thsl(0, 0%, 100%);\\n\\t--ck-color-base-border: \\t\\t\\t\\t\\t\\t\\t\\t\\thsl(220, 6%, 81%);\\n\\t--ck-color-base-action: \\t\\t\\t\\t\\t\\t\\t\\t\\thsl(104, 50.2%, 42.5%);\\n\\t--ck-color-base-focus: \\t\\t\\t\\t\\t\\t\\t\\t\\t\\thsl(209, 92%, 70%);\\n\\t--ck-color-base-text: \\t\\t\\t\\t\\t\\t\\t\\t\\t\\thsl(0, 0%, 20%);\\n\\t--ck-color-base-active: \\t\\t\\t\\t\\t\\t\\t\\t\\thsl(218.1, 100%, 58%);\\n\\t--ck-color-base-active-focus:\\t\\t\\t\\t\\t\\t\\t\\thsl(218.2, 100%, 52.5%);\\n\\t--ck-color-base-error:\\t\\t\\t\\t\\t\\t\\t\\t\\t\\thsl(15, 100%, 43%);\\n\\n\\t/* -- Generic colors ------------------------------------------------------------------------ */\\n\\n\\t--ck-color-focus-border-coordinates: \\t\\t\\t\\t\\t\\t218, 81.8%, 56.9%;\\n\\t--ck-color-focus-border: \\t\\t\\t\\t\\t\\t\\t\\t\\thsl(var(--ck-color-focus-border-coordinates));\\n\\t--ck-color-focus-outer-shadow:\\t\\t\\t\\t\\t\\t\\t\\thsl(212.4, 89.3%, 89%);\\n\\t--ck-color-focus-disabled-shadow:\\t\\t\\t\\t\\t\\t\\thsla(209, 90%, 72%,.3);\\n\\t--ck-color-focus-error-shadow:\\t\\t\\t\\t\\t\\t\\t\\thsla(9,100%,56%,.3);\\n\\t--ck-color-text: \\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\tvar(--ck-color-base-text);\\n\\t--ck-color-shadow-drop: \\t\\t\\t\\t\\t\\t\\t\\t\\thsla(0, 0%, 0%, 0.15);\\n\\t--ck-color-shadow-drop-active:\\t\\t\\t\\t\\t\\t\\t\\thsla(0, 0%, 0%, 0.2);\\n\\t--ck-color-shadow-inner: \\t\\t\\t\\t\\t\\t\\t\\t\\thsla(0, 0%, 0%, 0.1);\\n\\n\\t/* -- Buttons ------------------------------------------------------------------------------- */\\n\\n\\t--ck-color-button-default-background: \\t\\t\\t\\t\\t\\ttransparent;\\n\\t--ck-color-button-default-hover-background: \\t\\t\\t\\thsl(0, 0%, 94.1%);\\n\\t--ck-color-button-default-active-background: \\t\\t\\t\\thsl(0, 0%, 94.1%);\\n\\t--ck-color-button-default-disabled-background: \\t\\t\\t\\ttransparent;\\n\\n\\t--ck-color-button-on-background: \\t\\t\\t\\t\\t\\t\\thsl(212, 100%, 97.1%);\\n\\t--ck-color-button-on-hover-background: \\t\\t\\t\\t\\t\\thsl(211.7, 100%, 92.9%);\\n\\t--ck-color-button-on-active-background: \\t\\t\\t\\t\\thsl(211.7, 100%, 92.9%);\\n\\t--ck-color-button-on-disabled-background: \\t\\t\\t\\t\\thsl(211, 15%, 95%);\\n\\t--ck-color-button-on-color:\\t\\t\\t\\t\\t\\t\\t\\t\\thsl(218.1, 100%, 58%);\\n\\n\\n\\t--ck-color-button-action-background: \\t\\t\\t\\t\\t\\tvar(--ck-color-base-action);\\n\\t--ck-color-button-action-hover-background: \\t\\t\\t\\t\\thsl(104, 53.2%, 40.2%);\\n\\t--ck-color-button-action-active-background: \\t\\t\\t\\thsl(104, 53.2%, 40.2%);\\n\\t--ck-color-button-action-disabled-background: \\t\\t\\t\\thsl(104, 44%, 58%);\\n\\t--ck-color-button-action-text: \\t\\t\\t\\t\\t\\t\\t\\tvar(--ck-color-base-background);\\n\\n\\t--ck-color-button-save: \\t\\t\\t\\t\\t\\t\\t\\t\\thsl(120, 100%, 27%);\\n\\t--ck-color-button-cancel: \\t\\t\\t\\t\\t\\t\\t\\t\\thsl(15, 100%, 43%);\\n\\n\\t--ck-color-switch-button-off-background:\\t\\t\\t\\t\\thsl(0, 0%, 57.6%);\\n\\t--ck-color-switch-button-off-hover-background:\\t\\t\\t\\thsl(0, 0%, 49%);\\n\\t--ck-color-switch-button-on-background:\\t\\t\\t\\t\\t\\tvar(--ck-color-button-action-background);\\n\\t--ck-color-switch-button-on-hover-background:\\t\\t\\t\\thsl(104, 53.2%, 40.2%);\\n\\t--ck-color-switch-button-inner-background:\\t\\t\\t\\t\\tvar(--ck-color-base-background);\\n\\t--ck-color-switch-button-inner-shadow:\\t\\t\\t\\t\\t\\thsla(0, 0%, 0%, 0.1);\\n\\n\\t/* -- Dropdown ------------------------------------------------------------------------------ */\\n\\n\\t--ck-color-dropdown-panel-background: \\t\\t\\t\\t\\t\\tvar(--ck-color-base-background);\\n\\t--ck-color-dropdown-panel-border: \\t\\t\\t\\t\\t\\t\\tvar(--ck-color-base-border);\\n\\n\\t/* -- Input --------------------------------------------------------------------------------- */\\n\\n\\t--ck-color-input-background: \\t\\t\\t\\t\\t\\t\\t\\tvar(--ck-color-base-background);\\n\\t--ck-color-input-border: \\t\\t\\t\\t\\t\\t\\t\\t\\tvar(--ck-color-base-border);\\n\\t--ck-color-input-error-border:\\t\\t\\t\\t\\t\\t\\t\\tvar(--ck-color-base-error);\\n\\t--ck-color-input-text: \\t\\t\\t\\t\\t\\t\\t\\t\\t\\tvar(--ck-color-base-text);\\n\\t--ck-color-input-disabled-background: \\t\\t\\t\\t\\t\\thsl(0, 0%, 95%);\\n\\t--ck-color-input-disabled-border: \\t\\t\\t\\t\\t\\t\\tvar(--ck-color-base-border);\\n\\t--ck-color-input-disabled-text: \\t\\t\\t\\t\\t\\t\\thsl(0, 0%, 46%);\\n\\n\\t/* -- List ---------------------------------------------------------------------------------- */\\n\\n\\t--ck-color-list-background: \\t\\t\\t\\t\\t\\t\\t\\tvar(--ck-color-base-background);\\n\\t--ck-color-list-button-hover-background: \\t\\t\\t\\t\\tvar(--ck-color-button-default-hover-background);\\n\\t--ck-color-list-button-on-background: \\t\\t\\t\\t\\t\\tvar(--ck-color-button-on-color);\\n\\t--ck-color-list-button-on-background-focus: \\t\\t\\t\\tvar(--ck-color-button-on-color);\\n\\t--ck-color-list-button-on-text:\\t\\t\\t\\t\\t\\t\\t\\tvar(--ck-color-base-background);\\n\\n\\t/* -- Panel --------------------------------------------------------------------------------- */\\n\\n\\t--ck-color-panel-background: \\t\\t\\t\\t\\t\\t\\t\\tvar(--ck-color-base-background);\\n\\t--ck-color-panel-border: \\t\\t\\t\\t\\t\\t\\t\\t\\tvar(--ck-color-base-border);\\n\\n\\t/* -- Toolbar ------------------------------------------------------------------------------- */\\n\\n\\t--ck-color-toolbar-background: \\t\\t\\t\\t\\t\\t\\t\\tvar(--ck-color-base-background);\\n\\t--ck-color-toolbar-border: \\t\\t\\t\\t\\t\\t\\t\\t\\tvar(--ck-color-base-border);\\n\\n\\t/* -- Tooltip ------------------------------------------------------------------------------- */\\n\\n\\t--ck-color-tooltip-background: \\t\\t\\t\\t\\t\\t\\t\\tvar(--ck-color-base-text);\\n\\t--ck-color-tooltip-text: \\t\\t\\t\\t\\t\\t\\t\\t\\tvar(--ck-color-base-background);\\n\\n\\t/* -- Engine -------------------------------------------------------------------------------- */\\n\\n\\t--ck-color-engine-placeholder-text: \\t\\t\\t\\t\\t\\thsl(0, 0%, 44%);\\n\\n\\t/* -- Upload -------------------------------------------------------------------------------- */\\n\\n\\t--ck-color-upload-bar-background:\\t\\t \\t\\t\\t\\t\\thsl(209, 92%, 70%);\\n\\n\\t/* -- Link -------------------------------------------------------------------------------- */\\n\\n\\t--ck-color-link-default:\\t\\t\\t\\t\\t\\t\\t\\t\\thsl(240, 100%, 47%);\\n\\t--ck-color-link-selected-background:\\t\\t\\t\\t\\t\\thsla(201, 100%, 56%, 0.1);\\n\\t--ck-color-link-fake-selection:\\t\\t\\t\\t\\t\\t\\t\\thsla(201, 100%, 56%, 0.3);\\n\\n\\t/* -- Search result highlight ---------------------------------------------------------------- */\\n\\n\\t--ck-color-highlight-background:\\t\\t\\t\\t\\t\\t\\thsl(60, 100%, 50%);\\n\\n\\t/* -- Generic colors ------------------------------------------------------------------------- */\\n\\n\\t--ck-color-light-red:\\t\\t\\t\\t\\t\\t\\t\\t\\t\\thsl(0, 100%, 90%);\\n}\\n\",\"/*\\n * Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\\n */\\n\\n:root {\\n\\t/**\\n\\t * An opacity value of disabled UI item.\\n\\t */\\n\\t--ck-disabled-opacity: .5;\\n}\\n\",\"/*\\n * Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\\n */\\n\\n:root {\\n\\t/**\\n\\t * The geometry of the of focused element's outer shadow.\\n\\t */\\n\\t--ck-focus-outer-shadow-geometry: 0 0 0 3px;\\n\\n\\t/**\\n\\t * A visual style of focused element's outer shadow.\\n\\t */\\n\\t--ck-focus-outer-shadow: var(--ck-focus-outer-shadow-geometry) var(--ck-color-focus-outer-shadow);\\n\\n\\t/**\\n\\t * A visual style of focused element's outer shadow (when disabled).\\n\\t */\\n\\t--ck-focus-disabled-outer-shadow: var(--ck-focus-outer-shadow-geometry) var(--ck-color-focus-disabled-shadow);\\n\\n\\t/**\\n\\t * A visual style of focused element's outer shadow (when has errors).\\n\\t */\\n\\t--ck-focus-error-outer-shadow: var(--ck-focus-outer-shadow-geometry) var(--ck-color-focus-error-shadow);\\n\\n\\t/**\\n\\t * A visual style of focused element's border or outline.\\n\\t */\\n\\t--ck-focus-ring: 1px solid var(--ck-color-focus-border);\\n}\\n\",\"/*\\n * Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\\n */\\n\\n:root {\\n\\t--ck-font-size-base: 13px;\\n\\t--ck-line-height-base: 1.84615;\\n\\t--ck-font-face: Helvetica, Arial, Tahoma, Verdana, Sans-Serif;\\n\\n\\t--ck-font-size-tiny: 0.7em;\\n\\t--ck-font-size-small: 0.75em;\\n\\t--ck-font-size-normal: 1em;\\n\\t--ck-font-size-big: 1.4em;\\n\\t--ck-font-size-large: 1.8em;\\n}\\n\",'/*\\n * Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\\n */\\n\\n:root {\\n\\t/* This is super-important. This is **manually** adjusted so a button without an icon\\n\\tis never smaller than a button with icon, additionally making sure that text-less buttons\\n\\tare perfect squares. The value is also shared by other components which should stay \"in-line\"\\n\\twith buttons. */\\n\\t--ck-ui-component-min-height: 2.3em;\\n}\\n\\n/**\\n * Resets an element, ignoring its children.\\n */\\n.ck.ck-reset,\\n.ck.ck-reset_all,\\n.ck-reset_all *:not(.ck-reset_all-excluded *) {\\n\\t/* Do not include inheritable rules here. */\\n\\tmargin: 0;\\n\\tpadding: 0;\\n\\tborder: 0;\\n\\tbackground: transparent;\\n\\ttext-decoration: none;\\n\\tvertical-align: middle;\\n\\ttransition: none;\\n\\n\\t/* https://github.com/ckeditor/ckeditor5-theme-lark/issues/105 */\\n\\tword-wrap: break-word;\\n}\\n\\n/**\\n * Resets an element AND its children.\\n */\\n.ck.ck-reset_all,\\n.ck-reset_all *:not(.ck-reset_all-excluded *) {\\n\\t/* These are rule inherited by all children elements. */\\n\\tborder-collapse: collapse;\\n\\tfont: normal normal normal var(--ck-font-size-base)/var(--ck-line-height-base) var(--ck-font-face);\\n\\tcolor: var(--ck-color-text);\\n\\ttext-align: left;\\n\\twhite-space: nowrap;\\n\\tcursor: auto;\\n\\tfloat: none;\\n}\\n\\n.ck-reset_all {\\n\\t& .ck-rtl *:not(.ck-reset_all-excluded *) {\\n\\t\\ttext-align: right;\\n\\t}\\n\\n\\t& iframe:not(.ck-reset_all-excluded *) {\\n\\t\\t/* For IE */\\n\\t\\tvertical-align: inherit;\\n\\t}\\n\\n\\t& textarea:not(.ck-reset_all-excluded *) {\\n\\t\\twhite-space: pre-wrap;\\n\\t}\\n\\n\\t& textarea:not(.ck-reset_all-excluded *),\\n\\t& input[type=\"text\"]:not(.ck-reset_all-excluded *),\\n\\t& input[type=\"password\"]:not(.ck-reset_all-excluded *) {\\n\\t\\tcursor: text;\\n\\t}\\n\\n\\t& textarea[disabled]:not(.ck-reset_all-excluded *),\\n\\t& input[type=\"text\"][disabled]:not(.ck-reset_all-excluded *),\\n\\t& input[type=\"password\"][disabled]:not(.ck-reset_all-excluded *) {\\n\\t\\tcursor: default;\\n\\t}\\n\\n\\t& fieldset:not(.ck-reset_all-excluded *) {\\n\\t\\tpadding: 10px;\\n\\t\\tborder: 2px groove hsl(255, 7%, 88%);\\n\\t}\\n\\n\\t& button:not(.ck-reset_all-excluded *)::-moz-focus-inner {\\n\\t\\t/* See http://stackoverflow.com/questions/5517744/remove-extra-button-spacing-padding-in-firefox */\\n\\t\\tpadding: 0;\\n\\t\\tborder: 0\\n\\t}\\n}\\n\\n/**\\n * Default UI rules for RTL languages.\\n */\\n.ck[dir=\"rtl\"],\\n.ck[dir=\"rtl\"] .ck {\\n\\ttext-align: right;\\n}\\n',\"/*\\n * Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\\n */\\n\\n/**\\n * Default border-radius value.\\n */\\n:root{\\n\\t--ck-border-radius: 2px;\\n}\\n\",\"/*\\n * Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\\n */\\n\\n:root {\\n\\t/**\\n\\t * A visual style of element's inner shadow (i.e. input).\\n\\t */\\n\\t--ck-inner-shadow: 2px 2px 3px var(--ck-color-shadow-inner) inset;\\n\\n\\t/**\\n\\t * A visual style of element's drop shadow (i.e. panel).\\n\\t */\\n\\t--ck-drop-shadow: 0 1px 2px 1px var(--ck-color-shadow-drop);\\n\\n\\t/**\\n\\t * A visual style of element's active shadow (i.e. comment or suggestion).\\n\\t */\\n\\t--ck-drop-shadow-active: 0 3px 6px 1px var(--ck-color-shadow-drop-active);\\n}\\n\",\"/*\\n * Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\\n */\\n\\n:root {\\n\\t--ck-spacing-unit: \\t\\t\\t\\t\\t\\t0.6em;\\n\\t--ck-spacing-large: \\t\\t\\t\\t\\tcalc(var(--ck-spacing-unit) * 1.5);\\n\\t--ck-spacing-standard: \\t\\t\\t\\t\\tvar(--ck-spacing-unit);\\n\\t--ck-spacing-medium: \\t\\t\\t\\t\\tcalc(var(--ck-spacing-unit) * 0.8);\\n\\t--ck-spacing-small: \\t\\t\\t\\t\\tcalc(var(--ck-spacing-unit) * 0.5);\\n\\t--ck-spacing-tiny: \\t\\t\\t\\t\\t\\tcalc(var(--ck-spacing-unit) * 0.3);\\n\\t--ck-spacing-extra-tiny: \\t\\t\\t\\tcalc(var(--ck-spacing-unit) * 0.16);\\n}\\n\"],sourceRoot:\"\"}]);const a=s},7153:(t,e,n)=>{\"use strict\";n.d(e,{Z:()=>a});var o=n(4015),i=n.n(o),r=n(3645),s=n.n(r)()(i());s.push([t.id,\":root{--ck-color-resizer:var(--ck-color-focus-border);--ck-color-resizer-tooltip-background:#262626;--ck-color-resizer-tooltip-text:#f2f2f2;--ck-resizer-border-radius:var(--ck-border-radius);--ck-resizer-tooltip-offset:10px;--ck-resizer-tooltip-height:calc(var(--ck-spacing-small)*2 + 10px)}.ck .ck-widget,.ck .ck-widget.ck-widget_with-selection-handle{position:relative}.ck .ck-widget.ck-widget_with-selection-handle .ck-widget__selection-handle{position:absolute}.ck .ck-widget.ck-widget_with-selection-handle .ck-widget__selection-handle .ck-icon{display:block}.ck .ck-widget.ck-widget_with-selection-handle.ck-widget_selected>.ck-widget__selection-handle,.ck .ck-widget.ck-widget_with-selection-handle:hover>.ck-widget__selection-handle{visibility:visible}.ck .ck-size-view{background:var(--ck-color-resizer-tooltip-background);border:1px solid var(--ck-color-resizer-tooltip-text);border-radius:var(--ck-resizer-border-radius);color:var(--ck-color-resizer-tooltip-text);display:block;font-size:var(--ck-font-size-tiny);height:var(--ck-resizer-tooltip-height);line-height:var(--ck-resizer-tooltip-height);padding:0 var(--ck-spacing-small)}.ck .ck-size-view.ck-orientation-above-center,.ck .ck-size-view.ck-orientation-bottom-left,.ck .ck-size-view.ck-orientation-bottom-right,.ck .ck-size-view.ck-orientation-top-left,.ck .ck-size-view.ck-orientation-top-right{position:absolute}.ck .ck-size-view.ck-orientation-top-left{left:var(--ck-resizer-tooltip-offset);top:var(--ck-resizer-tooltip-offset)}.ck .ck-size-view.ck-orientation-top-right{right:var(--ck-resizer-tooltip-offset);top:var(--ck-resizer-tooltip-offset)}.ck .ck-size-view.ck-orientation-bottom-right{bottom:var(--ck-resizer-tooltip-offset);right:var(--ck-resizer-tooltip-offset)}.ck .ck-size-view.ck-orientation-bottom-left{bottom:var(--ck-resizer-tooltip-offset);left:var(--ck-resizer-tooltip-offset)}.ck .ck-size-view.ck-orientation-above-center{left:50%;top:calc(var(--ck-resizer-tooltip-height)*-1);transform:translate(-50%)}:root{--ck-widget-outline-thickness:3px;--ck-widget-handler-icon-size:16px;--ck-widget-handler-animation-duration:200ms;--ck-widget-handler-animation-curve:ease;--ck-color-widget-blurred-border:#dedede;--ck-color-widget-hover-border:#ffc83d;--ck-color-widget-editable-focus-background:var(--ck-color-base-background);--ck-color-widget-drag-handler-icon-color:var(--ck-color-base-background)}.ck .ck-widget{outline-color:#0000;outline-style:solid;outline-width:var(--ck-widget-outline-thickness);transition:outline-color var(--ck-widget-handler-animation-duration) var(--ck-widget-handler-animation-curve)}.ck .ck-widget.ck-widget_selected,.ck .ck-widget.ck-widget_selected:hover{outline:var(--ck-widget-outline-thickness) solid var(--ck-color-focus-border)}.ck .ck-widget:hover{outline-color:var(--ck-color-widget-hover-border)}.ck .ck-editor__nested-editable{border:1px solid #0000}.ck .ck-editor__nested-editable.ck-editor__nested-editable_focused,.ck .ck-editor__nested-editable:focus{background-color:var(--ck-color-widget-editable-focus-background);border:var(--ck-focus-ring);box-shadow:var(--ck-inner-shadow),0 0;outline:none}.ck .ck-widget.ck-widget_with-selection-handle .ck-widget__selection-handle{background-color:initial;border-radius:var(--ck-border-radius) var(--ck-border-radius) 0 0;box-sizing:border-box;left:calc(0px - var(--ck-widget-outline-thickness));opacity:0;padding:4px;top:0;transform:translateY(-100%);transition:background-color var(--ck-widget-handler-animation-duration) var(--ck-widget-handler-animation-curve),visibility var(--ck-widget-handler-animation-duration) var(--ck-widget-handler-animation-curve),opacity var(--ck-widget-handler-animation-duration) var(--ck-widget-handler-animation-curve)}.ck .ck-widget.ck-widget_with-selection-handle .ck-widget__selection-handle .ck-icon{color:var(--ck-color-widget-drag-handler-icon-color);height:var(--ck-widget-handler-icon-size);width:var(--ck-widget-handler-icon-size)}.ck .ck-widget.ck-widget_with-selection-handle .ck-widget__selection-handle .ck-icon .ck-icon__selected-indicator{opacity:0;transition:opacity .3s var(--ck-widget-handler-animation-curve)}.ck .ck-widget.ck-widget_with-selection-handle .ck-widget__selection-handle:hover .ck-icon .ck-icon__selected-indicator{opacity:1}.ck .ck-widget.ck-widget_with-selection-handle:hover>.ck-widget__selection-handle{background-color:var(--ck-color-widget-hover-border);opacity:1}.ck .ck-widget.ck-widget_with-selection-handle.ck-widget_selected:hover>.ck-widget__selection-handle,.ck .ck-widget.ck-widget_with-selection-handle.ck-widget_selected>.ck-widget__selection-handle{background-color:var(--ck-color-focus-border);opacity:1}.ck .ck-widget.ck-widget_with-selection-handle.ck-widget_selected:hover>.ck-widget__selection-handle .ck-icon .ck-icon__selected-indicator,.ck .ck-widget.ck-widget_with-selection-handle.ck-widget_selected>.ck-widget__selection-handle .ck-icon .ck-icon__selected-indicator{opacity:1}.ck[dir=rtl] .ck-widget.ck-widget_with-selection-handle .ck-widget__selection-handle{left:auto;right:calc(0px - var(--ck-widget-outline-thickness))}.ck.ck-editor__editable.ck-read-only .ck-widget{transition:none}.ck.ck-editor__editable.ck-read-only .ck-widget:not(.ck-widget_selected){--ck-widget-outline-thickness:0px}.ck.ck-editor__editable.ck-read-only .ck-widget.ck-widget_with-selection-handle .ck-widget__selection-handle,.ck.ck-editor__editable.ck-read-only .ck-widget.ck-widget_with-selection-handle .ck-widget__selection-handle:hover{background:var(--ck-color-widget-blurred-border)}.ck.ck-editor__editable.ck-blurred .ck-widget.ck-widget_selected,.ck.ck-editor__editable.ck-blurred .ck-widget.ck-widget_selected:hover{outline-color:var(--ck-color-widget-blurred-border)}.ck.ck-editor__editable.ck-blurred .ck-widget.ck-widget_selected.ck-widget_with-selection-handle:hover>.ck-widget__selection-handle,.ck.ck-editor__editable.ck-blurred .ck-widget.ck-widget_selected.ck-widget_with-selection-handle:hover>.ck-widget__selection-handle:hover,.ck.ck-editor__editable.ck-blurred .ck-widget.ck-widget_selected.ck-widget_with-selection-handle>.ck-widget__selection-handle,.ck.ck-editor__editable.ck-blurred .ck-widget.ck-widget_selected.ck-widget_with-selection-handle>.ck-widget__selection-handle:hover{background:var(--ck-color-widget-blurred-border)}.ck.ck-editor__editable blockquote>.ck-widget.ck-widget_with-selection-handle:first-child,.ck.ck-editor__editable>.ck-widget.ck-widget_with-selection-handle:first-child{margin-top:calc(1em + var(--ck-widget-handler-icon-size))}\",\"\",{version:3,sources:[\"webpack://./node_modules/@ckeditor/ckeditor5-widget/theme/widget.css\",\"webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-widget/widget.css\",\"webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/mixins/_focus.css\",\"webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/mixins/_shadow.css\"],names:[],mappings:\"AAKA,MACC,+CAAgD,CAChD,6CAAsD,CACtD,uCAAgD,CAEhD,kDAAmD,CACnD,gCAAiC,CACjC,kEACD,CAOA,8DAEC,iBAqBD,CAnBC,4EACC,iBAOD,CALC,qFAGC,aACD,CASD,iLACC,kBACD,CAGD,kBACC,qDAAsD,CAEtD,qDAAsD,CACtD,6CAA8C,CAF9C,0CAA2C,CAI3C,aAAc,CADd,kCAAmC,CAGnC,uCAAwC,CACxC,4CAA6C,CAF7C,iCAsCD,CAlCC,8NAKC,iBACD,CAEA,0CAEC,qCAAsC,CADtC,oCAED,CAEA,2CAEC,sCAAuC,CADvC,oCAED,CAEA,8CACC,uCAAwC,CACxC,sCACD,CAEA,6CACC,uCAAwC,CACxC,qCACD,CAGA,8CAEC,QAAS,CADT,6CAAgD,CAEhD,yBACD,CCjFD,MACC,iCAAkC,CAClC,kCAAmC,CACnC,4CAA6C,CAC7C,wCAAyC,CAEzC,wCAAiD,CACjD,sCAAkD,CAClD,2EAA4E,CAC5E,yEACD,CAEA,eAGC,mBAA0B,CAD1B,mBAAoB,CADpB,gDAAiD,CAGjD,6GAUD,CARC,0EAEC,6EACD,CAEA,qBACC,iDACD,CAGD,gCACC,sBAWD,CAPC,yGAKC,iEAAkE,CCnCnE,2BAA2B,CCF3B,qCAA8B,CDC9B,YDqCA,CAIA,4EAKC,wBAA6B,CAa7B,iEAAkE,CAhBlE,qBAAsB,CAoBtB,mDAAoD,CAhBpD,SAAU,CALV,WAAY,CAsBZ,KAAM,CAFN,2BAA4B,CAT5B,6SAgCD,CAnBC,qFAIC,oDAAqD,CADrD,yCAA0C,CAD1C,wCAWD,CANC,kHACC,SAAU,CAGV,+DACD,CAID,wHACC,SACD,CAID,kFAEC,oDAAqD,CADrD,SAED,CAKC,oMAEC,6CAA8C,CAD9C,SAOD,CAHC,gRACC,SACD,CAOH,qFACC,SAAU,CACV,oDACD,CAGA,gDAEC,eAkBD,CAhBC,yEAOC,iCACD,CAGC,gOAEC,gDACD,CAOD,wIAEC,mDAQD,CALE,ghBAEC,gDACD,CAKH,yKAOC,yDACD\",sourcesContent:[\"/*\\n * Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\\n */\\n\\n:root {\\n\\t--ck-color-resizer: var(--ck-color-focus-border);\\n\\t--ck-color-resizer-tooltip-background: hsl(0, 0%, 15%);\\n\\t--ck-color-resizer-tooltip-text: hsl(0, 0%, 95%);\\n\\n\\t--ck-resizer-border-radius: var(--ck-border-radius);\\n\\t--ck-resizer-tooltip-offset: 10px;\\n\\t--ck-resizer-tooltip-height: calc(var(--ck-spacing-small) * 2 + 10px);\\n}\\n\\n.ck .ck-widget {\\n\\t/* This is neccessary for type around UI to be positioned properly. */\\n\\tposition: relative;\\n}\\n\\n.ck .ck-widget.ck-widget_with-selection-handle {\\n\\t/* Make the widget wrapper a relative positioning container for the drag handle. */\\n\\tposition: relative;\\n\\n\\t& .ck-widget__selection-handle {\\n\\t\\tposition: absolute;\\n\\n\\t\\t& .ck-icon {\\n\\t\\t\\t/* Make sure the icon in not a subject to font-size or line-height to avoid\\n\\t\\t\\tunnecessary spacing around it. */\\n\\t\\t\\tdisplay: block;\\n\\t\\t}\\n\\t}\\n\\n\\t/* Show the selection handle on mouse hover over the widget, but not for nested widgets. */\\n\\t&:hover > .ck-widget__selection-handle {\\n\\t\\tvisibility: visible;\\n\\t}\\n\\n\\t/* Show the selection handle when the widget is selected, but not for nested widgets. */\\n\\t&.ck-widget_selected > .ck-widget__selection-handle {\\n\\t\\tvisibility: visible;\\n\\t}\\n}\\n\\n.ck .ck-size-view {\\n\\tbackground: var(--ck-color-resizer-tooltip-background);\\n\\tcolor: var(--ck-color-resizer-tooltip-text);\\n\\tborder: 1px solid var(--ck-color-resizer-tooltip-text);\\n\\tborder-radius: var(--ck-resizer-border-radius);\\n\\tfont-size: var(--ck-font-size-tiny);\\n\\tdisplay: block;\\n\\tpadding: 0 var(--ck-spacing-small);\\n\\theight: var(--ck-resizer-tooltip-height);\\n\\tline-height: var(--ck-resizer-tooltip-height);\\n\\n\\t&.ck-orientation-top-left,\\n\\t&.ck-orientation-top-right,\\n\\t&.ck-orientation-bottom-right,\\n\\t&.ck-orientation-bottom-left,\\n\\t&.ck-orientation-above-center {\\n\\t\\tposition: absolute;\\n\\t}\\n\\n\\t&.ck-orientation-top-left {\\n\\t\\ttop: var(--ck-resizer-tooltip-offset);\\n\\t\\tleft: var(--ck-resizer-tooltip-offset);\\n\\t}\\n\\n\\t&.ck-orientation-top-right {\\n\\t\\ttop: var(--ck-resizer-tooltip-offset);\\n\\t\\tright: var(--ck-resizer-tooltip-offset);\\n\\t}\\n\\n\\t&.ck-orientation-bottom-right {\\n\\t\\tbottom: var(--ck-resizer-tooltip-offset);\\n\\t\\tright: var(--ck-resizer-tooltip-offset);\\n\\t}\\n\\n\\t&.ck-orientation-bottom-left {\\n\\t\\tbottom: var(--ck-resizer-tooltip-offset);\\n\\t\\tleft: var(--ck-resizer-tooltip-offset);\\n\\t}\\n\\n\\t/* Class applied if the widget is too small to contain the size label */\\n\\t&.ck-orientation-above-center {\\n\\t\\ttop: calc(var(--ck-resizer-tooltip-height) * -1);\\n\\t\\tleft: 50%;\\n\\t\\ttransform: translate(-50%);\\n\\t}\\n}\\n\",'/*\\n * Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\\n */\\n\\n@import \"../mixins/_focus.css\";\\n@import \"../mixins/_shadow.css\";\\n\\n:root {\\n\\t--ck-widget-outline-thickness: 3px;\\n\\t--ck-widget-handler-icon-size: 16px;\\n\\t--ck-widget-handler-animation-duration: 200ms;\\n\\t--ck-widget-handler-animation-curve: ease;\\n\\n\\t--ck-color-widget-blurred-border: hsl(0, 0%, 87%);\\n\\t--ck-color-widget-hover-border: hsl(43, 100%, 62%);\\n\\t--ck-color-widget-editable-focus-background: var(--ck-color-base-background);\\n\\t--ck-color-widget-drag-handler-icon-color: var(--ck-color-base-background);\\n}\\n\\n.ck .ck-widget {\\n\\toutline-width: var(--ck-widget-outline-thickness);\\n\\toutline-style: solid;\\n\\toutline-color: transparent;\\n\\ttransition: outline-color var(--ck-widget-handler-animation-duration) var(--ck-widget-handler-animation-curve);\\n\\n\\t&.ck-widget_selected,\\n\\t&.ck-widget_selected:hover {\\n\\t\\toutline: var(--ck-widget-outline-thickness) solid var(--ck-color-focus-border);\\n\\t}\\n\\n\\t&:hover {\\n\\t\\toutline-color: var(--ck-color-widget-hover-border);\\n\\t}\\n}\\n\\n.ck .ck-editor__nested-editable {\\n\\tborder: 1px solid transparent;\\n\\n\\t/* The :focus style is applied before .ck-editor__nested-editable_focused class is rendered in the view.\\n\\tThese styles show a different border for a blink of an eye, so `:focus` need to have same styles applied. */\\n\\t&.ck-editor__nested-editable_focused,\\n\\t&:focus {\\n\\t\\t@mixin ck-focus-ring;\\n\\t\\t@mixin ck-box-shadow var(--ck-inner-shadow);\\n\\n\\t\\tbackground-color: var(--ck-color-widget-editable-focus-background);\\n\\t}\\n}\\n\\n.ck .ck-widget.ck-widget_with-selection-handle {\\n\\t& .ck-widget__selection-handle {\\n\\t\\tpadding: 4px;\\n\\t\\tbox-sizing: border-box;\\n\\n\\t\\t/* Background and opacity will be animated as the handler shows up or the widget gets selected. */\\n\\t\\tbackground-color: transparent;\\n\\t\\topacity: 0;\\n\\n\\t\\t/* Transition:\\n\\t\\t * background-color for the .ck-widget_selected state change,\\n\\t\\t * visibility for hiding the handler,\\n\\t\\t * opacity for the proper look of the icon when the handler disappears. */\\n\\t\\ttransition:\\n\\t\\t\\tbackground-color var(--ck-widget-handler-animation-duration) var(--ck-widget-handler-animation-curve),\\n\\t\\t\\tvisibility var(--ck-widget-handler-animation-duration) var(--ck-widget-handler-animation-curve),\\n\\t\\t\\topacity var(--ck-widget-handler-animation-duration) var(--ck-widget-handler-animation-curve);\\n\\n\\t\\t/* Make only top corners round. */\\n\\t\\tborder-radius: var(--ck-border-radius) var(--ck-border-radius) 0 0;\\n\\n\\t\\t/* Place the drag handler outside the widget wrapper. */\\n\\t\\ttransform: translateY(-100%);\\n\\t\\tleft: calc(0px - var(--ck-widget-outline-thickness));\\n\\t\\ttop: 0;\\n\\n\\t\\t& .ck-icon {\\n\\t\\t\\t/* Make sure the dimensions of the icon are independent of the fon-size of the content. */\\n\\t\\t\\twidth: var(--ck-widget-handler-icon-size);\\n\\t\\t\\theight: var(--ck-widget-handler-icon-size);\\n\\t\\t\\tcolor: var(--ck-color-widget-drag-handler-icon-color);\\n\\n\\t\\t\\t/* The \"selected\" part of the icon is invisible by default */\\n\\t\\t\\t& .ck-icon__selected-indicator {\\n\\t\\t\\t\\topacity: 0;\\n\\n\\t\\t\\t\\t/* Note: The animation is longer on purpose. Simply feels better. */\\n\\t\\t\\t\\ttransition: opacity 300ms var(--ck-widget-handler-animation-curve);\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\t/* Advertise using the look of the icon that once clicked the handler, the widget will be selected. */\\n\\t\\t&:hover .ck-icon .ck-icon__selected-indicator {\\n\\t\\t\\topacity: 1;\\n\\t\\t}\\n\\t}\\n\\n\\t/* Show the selection handler on mouse hover over the widget, but not for nested widgets. */\\n\\t&:hover > .ck-widget__selection-handle {\\n\\t\\topacity: 1;\\n\\t\\tbackground-color: var(--ck-color-widget-hover-border);\\n\\t}\\n\\n\\t/* Show the selection handler when the widget is selected, but not for nested widgets. */\\n\\t&.ck-widget_selected,\\n\\t&.ck-widget_selected:hover {\\n\\t\\t& > .ck-widget__selection-handle {\\n\\t\\t\\topacity: 1;\\n\\t\\t\\tbackground-color: var(--ck-color-focus-border);\\n\\n\\t\\t\\t/* When the widget is selected, notify the user using the proper look of the icon. */\\n\\t\\t\\t& .ck-icon .ck-icon__selected-indicator {\\n\\t\\t\\t\\topacity: 1;\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n}\\n\\n/* In a RTL environment, align the selection handler to the right side of the widget */\\n/* stylelint-disable-next-line no-descending-specificity */\\n.ck[dir=\"rtl\"] .ck-widget.ck-widget_with-selection-handle .ck-widget__selection-handle {\\n\\tleft: auto;\\n\\tright: calc(0px - var(--ck-widget-outline-thickness));\\n}\\n\\n/* https://github.com/ckeditor/ckeditor5/issues/6415 */\\n.ck.ck-editor__editable.ck-read-only .ck-widget {\\n\\t/* Prevent the :hover outline from showing up because of the used outline-color transition. */\\n\\ttransition: none;\\n\\n\\t&:not(.ck-widget_selected) {\\n\\t\\t/* Disable visual effects of hover/active widget when CKEditor is in readOnly mode.\\n\\t\\t * See: https://github.com/ckeditor/ckeditor5/issues/1261\\n\\t\\t *\\n\\t\\t * Leave the unit because this custom property is used in calc() by other features.\\n\\t\\t * See: https://github.com/ckeditor/ckeditor5/issues/6775\\n\\t\\t */\\n\\t\\t--ck-widget-outline-thickness: 0px;\\n\\t}\\n\\n\\t&.ck-widget_with-selection-handle {\\n\\t\\t& .ck-widget__selection-handle,\\n\\t\\t& .ck-widget__selection-handle:hover {\\n\\t\\t\\tbackground: var(--ck-color-widget-blurred-border);\\n\\t\\t}\\n\\t}\\n}\\n\\n/* Style the widget when it\\'s selected but the editable it belongs to lost focus. */\\n/* stylelint-disable-next-line no-descending-specificity */\\n.ck.ck-editor__editable.ck-blurred .ck-widget {\\n\\t&.ck-widget_selected,\\n\\t&.ck-widget_selected:hover {\\n\\t\\toutline-color: var(--ck-color-widget-blurred-border);\\n\\n\\t\\t&.ck-widget_with-selection-handle {\\n\\t\\t\\t& > .ck-widget__selection-handle,\\n\\t\\t\\t& > .ck-widget__selection-handle:hover {\\n\\t\\t\\t\\tbackground: var(--ck-color-widget-blurred-border);\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n}\\n\\n.ck.ck-editor__editable > .ck-widget.ck-widget_with-selection-handle:first-child,\\n.ck.ck-editor__editable blockquote > .ck-widget.ck-widget_with-selection-handle:first-child {\\n\\t/* Do not crop selection handler if a widget is a first-child in the blockquote or in the root editable.\\n\\tIn fact, anything with overflow: hidden.\\n\\thttps://github.com/ckeditor/ckeditor5-block-quote/issues/28\\n\\thttps://github.com/ckeditor/ckeditor5-widget/issues/44\\n\\thttps://github.com/ckeditor/ckeditor5-widget/issues/66 */\\n\\tmargin-top: calc(1em + var(--ck-widget-handler-icon-size));\\n}\\n',\"/*\\n * Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\\n */\\n\\n/**\\n * A visual style of focused element's border.\\n */\\n@define-mixin ck-focus-ring {\\n\\t/* Disable native outline. */\\n\\toutline: none;\\n\\tborder: var(--ck-focus-ring)\\n}\\n\",\"/*\\n * Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\\n */\\n\\n/**\\n * A helper to combine multiple shadows.\\n */\\n@define-mixin ck-box-shadow $shadowA, $shadowB: 0 0 {\\n\\tbox-shadow: $shadowA, $shadowB;\\n}\\n\\n/**\\n * Gives an element a drop shadow so it looks like a floating panel.\\n */\\n@define-mixin ck-drop-shadow {\\n\\t@mixin ck-box-shadow var(--ck-drop-shadow);\\n}\\n\"],sourceRoot:\"\"}]);const a=s},4875:(t,e,n)=>{\"use strict\";n.d(e,{Z:()=>a});var o=n(4015),i=n.n(o),r=n(3645),s=n.n(r)()(i());s.push([t.id,\".ck .ck-widget_with-resizer{position:relative}.ck .ck-widget__resizer{display:none;left:0;pointer-events:none;position:absolute;top:0}.ck-focused .ck-widget_with-resizer.ck-widget_selected>.ck-widget__resizer{display:block}.ck .ck-widget__resizer__handle{pointer-events:all;position:absolute}.ck .ck-widget__resizer__handle.ck-widget__resizer__handle-bottom-right,.ck .ck-widget__resizer__handle.ck-widget__resizer__handle-top-left{cursor:nwse-resize}.ck .ck-widget__resizer__handle.ck-widget__resizer__handle-bottom-left,.ck .ck-widget__resizer__handle.ck-widget__resizer__handle-top-right{cursor:nesw-resize}:root{--ck-resizer-size:10px;--ck-resizer-offset:calc(var(--ck-resizer-size)/-2 - 2px);--ck-resizer-border-width:1px}.ck .ck-widget__resizer{outline:1px solid var(--ck-color-resizer)}.ck .ck-widget__resizer__handle{background:var(--ck-color-focus-border);border:var(--ck-resizer-border-width) solid #fff;border-radius:var(--ck-resizer-border-radius);height:var(--ck-resizer-size);width:var(--ck-resizer-size)}.ck .ck-widget__resizer__handle.ck-widget__resizer__handle-top-left{left:var(--ck-resizer-offset);top:var(--ck-resizer-offset)}.ck .ck-widget__resizer__handle.ck-widget__resizer__handle-top-right{right:var(--ck-resizer-offset);top:var(--ck-resizer-offset)}.ck .ck-widget__resizer__handle.ck-widget__resizer__handle-bottom-right{bottom:var(--ck-resizer-offset);right:var(--ck-resizer-offset)}.ck .ck-widget__resizer__handle.ck-widget__resizer__handle-bottom-left{bottom:var(--ck-resizer-offset);left:var(--ck-resizer-offset)}\",\"\",{version:3,sources:[\"webpack://./node_modules/@ckeditor/ckeditor5-widget/theme/widgetresize.css\",\"webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-widget/widgetresize.css\"],names:[],mappings:\"AAKA,4BAEC,iBACD,CAEA,wBACC,YAAa,CAMb,MAAO,CAFP,mBAAoB,CAHpB,iBAAkB,CAMlB,KACD,CAGC,2EACC,aACD,CAGD,gCAIC,kBAAmB,CAHnB,iBAcD,CATC,4IAEC,kBACD,CAEA,4IAEC,kBACD,CCpCD,MACC,sBAAuB,CAGvB,yDAAiE,CACjE,6BACD,CAEA,wBACC,yCACD,CAEA,gCAGC,uCAAwC,CACxC,gDAA6D,CAC7D,6CAA8C,CAH9C,6BAA8B,CAD9B,4BAyBD,CAnBC,oEAEC,6BAA8B,CAD9B,4BAED,CAEA,qEAEC,8BAA+B,CAD/B,4BAED,CAEA,wEACC,+BAAgC,CAChC,8BACD,CAEA,uEACC,+BAAgC,CAChC,6BACD\",sourcesContent:[\"/*\\n * Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\\n */\\n\\n.ck .ck-widget_with-resizer {\\n\\t/* Make the widget wrapper a relative positioning container for the drag handle. */\\n\\tposition: relative;\\n}\\n\\n.ck .ck-widget__resizer {\\n\\tdisplay: none;\\n\\tposition: absolute;\\n\\n\\t/* The wrapper itself should not interfere with the pointer device, only the handles should. */\\n\\tpointer-events: none;\\n\\n\\tleft: 0;\\n\\ttop: 0;\\n}\\n\\n.ck-focused .ck-widget_with-resizer.ck-widget_selected {\\n\\t& > .ck-widget__resizer {\\n\\t\\tdisplay: block;\\n\\t}\\n}\\n\\n.ck .ck-widget__resizer__handle {\\n\\tposition: absolute;\\n\\n\\t/* Resizers are the only UI elements that should interfere with a pointer device. */\\n\\tpointer-events: all;\\n\\n\\t&.ck-widget__resizer__handle-top-left,\\n\\t&.ck-widget__resizer__handle-bottom-right {\\n\\t\\tcursor: nwse-resize;\\n\\t}\\n\\n\\t&.ck-widget__resizer__handle-top-right,\\n\\t&.ck-widget__resizer__handle-bottom-left {\\n\\t\\tcursor: nesw-resize;\\n\\t}\\n}\\n\",\"/*\\n * Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\\n */\\n\\n:root {\\n\\t--ck-resizer-size: 10px;\\n\\n\\t/* Set the resizer with a 50% offset. */\\n\\t--ck-resizer-offset: calc( ( var(--ck-resizer-size) / -2 ) - 2px);\\n\\t--ck-resizer-border-width: 1px;\\n}\\n\\n.ck .ck-widget__resizer {\\n\\toutline: 1px solid var(--ck-color-resizer);\\n}\\n\\n.ck .ck-widget__resizer__handle {\\n\\twidth: var(--ck-resizer-size);\\n\\theight: var(--ck-resizer-size);\\n\\tbackground: var(--ck-color-focus-border);\\n\\tborder: var(--ck-resizer-border-width) solid hsl(0, 0%, 100%);\\n\\tborder-radius: var(--ck-resizer-border-radius);\\n\\n\\t&.ck-widget__resizer__handle-top-left {\\n\\t\\ttop: var(--ck-resizer-offset);\\n\\t\\tleft: var(--ck-resizer-offset);\\n\\t}\\n\\n\\t&.ck-widget__resizer__handle-top-right {\\n\\t\\ttop: var(--ck-resizer-offset);\\n\\t\\tright: var(--ck-resizer-offset);\\n\\t}\\n\\n\\t&.ck-widget__resizer__handle-bottom-right {\\n\\t\\tbottom: var(--ck-resizer-offset);\\n\\t\\tright: var(--ck-resizer-offset);\\n\\t}\\n\\n\\t&.ck-widget__resizer__handle-bottom-left {\\n\\t\\tbottom: var(--ck-resizer-offset);\\n\\t\\tleft: var(--ck-resizer-offset);\\n\\t}\\n}\\n\"],sourceRoot:\"\"}]);const a=s},2347:(t,e,n)=>{\"use strict\";n.d(e,{Z:()=>a});var o=n(4015),i=n.n(o),r=n(3645),s=n.n(r)()(i());s.push([t.id,'.ck .ck-widget .ck-widget__type-around__button{display:block;overflow:hidden;position:absolute;z-index:var(--ck-z-default)}.ck .ck-widget .ck-widget__type-around__button svg{left:50%;position:absolute;top:50%;z-index:calc(var(--ck-z-default) + 2)}.ck .ck-widget .ck-widget__type-around__button.ck-widget__type-around__button_before{left:min(10%,30px);top:calc(var(--ck-widget-outline-thickness)*-.5);transform:translateY(-50%)}.ck .ck-widget .ck-widget__type-around__button.ck-widget__type-around__button_after{bottom:calc(var(--ck-widget-outline-thickness)*-.5);right:min(10%,30px);transform:translateY(50%)}.ck .ck-widget.ck-widget_selected>.ck-widget__type-around>.ck-widget__type-around__button:after,.ck .ck-widget>.ck-widget__type-around>.ck-widget__type-around__button:hover:after{content:\"\";display:block;left:1px;position:absolute;top:1px;z-index:calc(var(--ck-z-default) + 1)}.ck .ck-widget>.ck-widget__type-around>.ck-widget__type-around__fake-caret{display:none;left:0;position:absolute;right:0}.ck .ck-widget:hover>.ck-widget__type-around>.ck-widget__type-around__fake-caret{left:calc(var(--ck-widget-outline-thickness)*-1);right:calc(var(--ck-widget-outline-thickness)*-1)}.ck .ck-widget.ck-widget_type-around_show-fake-caret_before>.ck-widget__type-around>.ck-widget__type-around__fake-caret{display:block;top:calc(var(--ck-widget-outline-thickness)*-1 - 1px)}.ck .ck-widget.ck-widget_type-around_show-fake-caret_after>.ck-widget__type-around>.ck-widget__type-around__fake-caret{bottom:calc(var(--ck-widget-outline-thickness)*-1 - 1px);display:block}.ck.ck-editor__editable.ck-read-only .ck-widget__type-around,.ck.ck-editor__editable.ck-restricted-editing_mode_restricted .ck-widget__type-around,.ck.ck-editor__editable.ck-widget__type-around_disabled .ck-widget__type-around{display:none}:root{--ck-widget-type-around-button-size:20px;--ck-color-widget-type-around-button-active:var(--ck-color-focus-border);--ck-color-widget-type-around-button-hover:var(--ck-color-widget-hover-border);--ck-color-widget-type-around-button-blurred-editable:var(--ck-color-widget-blurred-border);--ck-color-widget-type-around-button-radar-start-alpha:0;--ck-color-widget-type-around-button-radar-end-alpha:.3;--ck-color-widget-type-around-button-icon:var(--ck-color-base-background)}.ck .ck-widget .ck-widget__type-around__button{background:var(--ck-color-widget-type-around-button);border-radius:100px;height:var(--ck-widget-type-around-button-size);opacity:0;pointer-events:none;transition:opacity var(--ck-widget-handler-animation-duration) var(--ck-widget-handler-animation-curve),background var(--ck-widget-handler-animation-duration) var(--ck-widget-handler-animation-curve);width:var(--ck-widget-type-around-button-size)}.ck .ck-widget .ck-widget__type-around__button svg{height:8px;margin-top:1px;transform:translate(-50%,-50%);transition:transform .5s ease;width:10px}.ck .ck-widget .ck-widget__type-around__button svg *{stroke-dasharray:10;stroke-dashoffset:0;fill:none;stroke:var(--ck-color-widget-type-around-button-icon);stroke-width:1.5px;stroke-linecap:round;stroke-linejoin:round}.ck .ck-widget .ck-widget__type-around__button svg line{stroke-dasharray:7}.ck .ck-widget .ck-widget__type-around__button:hover{animation:ck-widget-type-around-button-sonar 1s ease infinite}.ck .ck-widget .ck-widget__type-around__button:hover svg polyline{animation:ck-widget-type-around-arrow-dash 2s linear}.ck .ck-widget .ck-widget__type-around__button:hover svg line{animation:ck-widget-type-around-arrow-tip-dash 2s linear}.ck .ck-widget.ck-widget_selected>.ck-widget__type-around>.ck-widget__type-around__button,.ck .ck-widget:hover>.ck-widget__type-around>.ck-widget__type-around__button{opacity:1;pointer-events:auto}.ck .ck-widget:not(.ck-widget_selected)>.ck-widget__type-around>.ck-widget__type-around__button{background:var(--ck-color-widget-type-around-button-hover)}.ck .ck-widget.ck-widget_selected>.ck-widget__type-around>.ck-widget__type-around__button,.ck .ck-widget>.ck-widget__type-around>.ck-widget__type-around__button:hover{background:var(--ck-color-widget-type-around-button-active)}.ck .ck-widget.ck-widget_selected>.ck-widget__type-around>.ck-widget__type-around__button:after,.ck .ck-widget>.ck-widget__type-around>.ck-widget__type-around__button:hover:after{background:linear-gradient(135deg,#fff0,#ffffff4d);border-radius:100px;height:calc(var(--ck-widget-type-around-button-size) - 2px);width:calc(var(--ck-widget-type-around-button-size) - 2px)}.ck .ck-widget.ck-widget_with-selection-handle>.ck-widget__type-around>.ck-widget__type-around__button_before{margin-left:20px}.ck .ck-widget .ck-widget__type-around__fake-caret{animation:ck-widget-type-around-fake-caret-pulse 1s linear infinite normal forwards;background:var(--ck-color-base-text);height:1px;outline:1px solid #ffffff80;pointer-events:none}.ck .ck-widget.ck-widget_selected.ck-widget_type-around_show-fake-caret_after,.ck .ck-widget.ck-widget_selected.ck-widget_type-around_show-fake-caret_before{outline-color:#0000}.ck .ck-widget.ck-widget_type-around_show-fake-caret_after.ck-widget_selected:hover,.ck .ck-widget.ck-widget_type-around_show-fake-caret_before.ck-widget_selected:hover{outline-color:var(--ck-color-widget-hover-border)}.ck .ck-widget.ck-widget_type-around_show-fake-caret_after>.ck-widget__type-around>.ck-widget__type-around__button,.ck .ck-widget.ck-widget_type-around_show-fake-caret_before>.ck-widget__type-around>.ck-widget__type-around__button{opacity:0;pointer-events:none}.ck .ck-widget.ck-widget_type-around_show-fake-caret_after.ck-widget_selected.ck-widget_with-resizer>.ck-widget__resizer,.ck .ck-widget.ck-widget_type-around_show-fake-caret_after.ck-widget_with-selection-handle.ck-widget_selected:hover>.ck-widget__selection-handle,.ck .ck-widget.ck-widget_type-around_show-fake-caret_after.ck-widget_with-selection-handle.ck-widget_selected>.ck-widget__selection-handle,.ck .ck-widget.ck-widget_type-around_show-fake-caret_before.ck-widget_selected.ck-widget_with-resizer>.ck-widget__resizer,.ck .ck-widget.ck-widget_type-around_show-fake-caret_before.ck-widget_with-selection-handle.ck-widget_selected:hover>.ck-widget__selection-handle,.ck .ck-widget.ck-widget_type-around_show-fake-caret_before.ck-widget_with-selection-handle.ck-widget_selected>.ck-widget__selection-handle{opacity:0}.ck[dir=rtl] .ck-widget.ck-widget_with-selection-handle .ck-widget__type-around>.ck-widget__type-around__button_before{margin-left:0;margin-right:20px}.ck-editor__nested-editable.ck-editor__editable_selected .ck-widget.ck-widget_selected>.ck-widget__type-around>.ck-widget__type-around__button,.ck-editor__nested-editable.ck-editor__editable_selected .ck-widget:hover>.ck-widget__type-around>.ck-widget__type-around__button{opacity:0;pointer-events:none}.ck-editor__editable.ck-blurred .ck-widget.ck-widget_selected>.ck-widget__type-around>.ck-widget__type-around__button:not(:hover){background:var(--ck-color-widget-type-around-button-blurred-editable)}.ck-editor__editable.ck-blurred .ck-widget.ck-widget_selected>.ck-widget__type-around>.ck-widget__type-around__button:not(:hover) svg *{stroke:#999}@keyframes ck-widget-type-around-arrow-dash{0%{stroke-dashoffset:10}20%,to{stroke-dashoffset:0}}@keyframes ck-widget-type-around-arrow-tip-dash{0%,20%{stroke-dashoffset:7}40%,to{stroke-dashoffset:0}}@keyframes ck-widget-type-around-button-sonar{0%{box-shadow:0 0 0 0 hsla(var(--ck-color-focus-border-coordinates),var(--ck-color-widget-type-around-button-radar-start-alpha))}50%{box-shadow:0 0 0 5px hsla(var(--ck-color-focus-border-coordinates),var(--ck-color-widget-type-around-button-radar-end-alpha))}to{box-shadow:0 0 0 5px hsla(var(--ck-color-focus-border-coordinates),var(--ck-color-widget-type-around-button-radar-start-alpha))}}@keyframes ck-widget-type-around-fake-caret-pulse{0%{opacity:1}49%{opacity:1}50%{opacity:0}99%{opacity:0}to{opacity:1}}',\"\",{version:3,sources:[\"webpack://./node_modules/@ckeditor/ckeditor5-widget/theme/widgettypearound.css\",\"webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-widget/widgettypearound.css\"],names:[],mappings:\"AASC,+CACC,aAAc,CAEd,eAAgB,CADhB,iBAAkB,CAElB,2BAwBD,CAtBC,mDAGC,QAAS,CAFT,iBAAkB,CAClB,OAAQ,CAER,qCACD,CAEA,qFAGC,kBAAoB,CADpB,gDAAoD,CAGpD,0BACD,CAEA,oFAEC,mDAAuD,CACvD,mBAAqB,CAErB,yBACD,CAUA,mLACC,UAAW,CACX,aAAc,CAGd,QAAS,CAFT,iBAAkB,CAClB,OAAQ,CAER,qCACD,CAMD,2EACC,YAAa,CAEb,MAAO,CADP,iBAAkB,CAElB,OACD,CAOA,iFACC,gDAAqD,CACrD,iDACD,CAKA,wHAEC,aAAc,CADd,qDAED,CAKA,uHACC,wDAA6D,CAC7D,aACD,CAoBD,mOACC,YACD,CC3GA,MACC,wCAAyC,CACzC,wEAAyE,CACzE,8EAA+E,CAC/E,2FAA4F,CAC5F,wDAAyD,CACzD,uDAAwD,CACxD,yEACD,CAgBC,+CAGC,oDAAqD,CACrD,mBAAoB,CAFpB,+CAAgD,CAVjD,SAAU,CACV,mBAAoB,CAYnB,uMAAyM,CAJzM,8CAkDD,CA1CC,mDAEC,UAAW,CAGX,cAAe,CAFf,8BAA+B,CAC/B,6BAA8B,CAH9B,UAoBD,CAdC,qDACC,mBAAoB,CACpB,mBAAoB,CAEpB,SAAU,CACV,qDAAsD,CACtD,kBAAmB,CACnB,oBAAqB,CACrB,qBACD,CAEA,wDACC,kBACD,CAGD,qDAIC,6DAcD,CARE,kEACC,oDACD,CAEA,8DACC,wDACD,CAUF,uKAvED,SAAU,CACV,mBAwEC,CAOD,gGACC,0DACD,CAOA,uKAEC,2DAQD,CANC,mLAIC,kDAAkF,CADlF,mBAAoB,CADpB,2DAA4D,CAD5D,0DAID,CAOD,8GACC,gBACD,CAKA,mDAGC,mFAAoF,CAOpF,oCAAqC,CARrC,UAAW,CAOX,2BAAwC,CARxC,mBAUD,CAOC,6JAEC,mBACD,CAUA,yKACC,iDACD,CAMA,uOAlJD,SAAU,CACV,mBAmJC,CAoBA,6yBACC,SACD,CASF,uHACC,aAAc,CACd,iBACD,CAYG,iRAlMF,SAAU,CACV,mBAmME,CAQH,kIACC,qEAKD,CAHC,wIACC,WACD,CAGD,4CACC,GACC,oBACD,CACA,OACC,mBACD,CACD,CAEA,gDACC,OACC,mBACD,CACA,OACC,mBACD,CACD,CAEA,8CACC,GACC,6HACD,CACA,IACC,6HACD,CACA,GACC,+HACD,CACD,CAEA,kDACC,GACC,SACD,CACA,IACC,SACD,CACA,IACC,SACD,CACA,IACC,SACD,CACA,GACC,SACD,CACD\",sourcesContent:['/*\\n * Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\\n */\\n\\n.ck .ck-widget {\\n\\t/*\\n\\t * Styles of the type around buttons\\n\\t */\\n\\t& .ck-widget__type-around__button {\\n\\t\\tdisplay: block;\\n\\t\\tposition: absolute;\\n\\t\\toverflow: hidden;\\n\\t\\tz-index: var(--ck-z-default);\\n\\n\\t\\t& svg {\\n\\t\\t\\tposition: absolute;\\n\\t\\t\\ttop: 50%;\\n\\t\\t\\tleft: 50%;\\n\\t\\t\\tz-index: calc(var(--ck-z-default) + 2);\\n\\t\\t}\\n\\n\\t\\t&.ck-widget__type-around__button_before {\\n\\t\\t\\t/* Place it in the middle of the outline */\\n\\t\\t\\ttop: calc(-0.5 * var(--ck-widget-outline-thickness));\\n\\t\\t\\tleft: min(10%, 30px);\\n\\n\\t\\t\\ttransform: translateY(-50%);\\n\\t\\t}\\n\\n\\t\\t&.ck-widget__type-around__button_after {\\n\\t\\t\\t/* Place it in the middle of the outline */\\n\\t\\t\\tbottom: calc(-0.5 * var(--ck-widget-outline-thickness));\\n\\t\\t\\tright: min(10%, 30px);\\n\\n\\t\\t\\ttransform: translateY(50%);\\n\\t\\t}\\n\\t}\\n\\n\\t/*\\n\\t * Styles for the buttons when:\\n\\t * - the widget is selected,\\n\\t * - or the button is being hovered (regardless of the widget state).\\n\\t */\\n\\t&.ck-widget_selected > .ck-widget__type-around > .ck-widget__type-around__button,\\n\\t& > .ck-widget__type-around > .ck-widget__type-around__button:hover {\\n\\t\\t&::after {\\n\\t\\t\\tcontent: \"\";\\n\\t\\t\\tdisplay: block;\\n\\t\\t\\tposition: absolute;\\n\\t\\t\\ttop: 1px;\\n\\t\\t\\tleft: 1px;\\n\\t\\t\\tz-index: calc(var(--ck-z-default) + 1);\\n\\t\\t}\\n\\t}\\n\\n\\t/*\\n\\t * Styles for the horizontal \"fake caret\" which is displayed when the user navigates using the keyboard.\\n\\t */\\n\\t& > .ck-widget__type-around > .ck-widget__type-around__fake-caret {\\n\\t\\tdisplay: none;\\n\\t\\tposition: absolute;\\n\\t\\tleft: 0;\\n\\t\\tright: 0;\\n\\t}\\n\\n\\t/*\\n\\t * When the widget is hovered the \"fake caret\" would normally be narrower than the\\n\\t * extra outline displayed around the widget. Let\\'s extend the \"fake caret\" to match\\n\\t * the full width of the widget.\\n\\t */\\n\\t&:hover > .ck-widget__type-around > .ck-widget__type-around__fake-caret {\\n\\t\\tleft: calc( -1 * var(--ck-widget-outline-thickness) );\\n\\t\\tright: calc( -1 * var(--ck-widget-outline-thickness) );\\n\\t}\\n\\n\\t/*\\n\\t * Styles for the horizontal \"fake caret\" when it should be displayed before the widget (backward keyboard navigation).\\n\\t */\\n\\t&.ck-widget_type-around_show-fake-caret_before > .ck-widget__type-around > .ck-widget__type-around__fake-caret {\\n\\t\\ttop: calc( -1 * var(--ck-widget-outline-thickness) - 1px );\\n\\t\\tdisplay: block;\\n\\t}\\n\\n\\t/*\\n\\t * Styles for the horizontal \"fake caret\" when it should be displayed after the widget (forward keyboard navigation).\\n\\t */\\n\\t&.ck-widget_type-around_show-fake-caret_after > .ck-widget__type-around > .ck-widget__type-around__fake-caret {\\n\\t\\tbottom: calc( -1 * var(--ck-widget-outline-thickness) - 1px );\\n\\t\\tdisplay: block;\\n\\t}\\n}\\n\\n/*\\n * Integration with the read-only mode of the editor.\\n */\\n.ck.ck-editor__editable.ck-read-only .ck-widget__type-around {\\n\\tdisplay: none;\\n}\\n\\n/*\\n * Integration with the restricted editing mode (feature) of the editor.\\n */\\n.ck.ck-editor__editable.ck-restricted-editing_mode_restricted .ck-widget__type-around {\\n\\tdisplay: none;\\n}\\n\\n/*\\n * Integration with the #isEnabled property of the WidgetTypeAround plugin.\\n */\\n.ck.ck-editor__editable.ck-widget__type-around_disabled .ck-widget__type-around {\\n\\tdisplay: none;\\n}\\n','/*\\n * Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\\n */\\n\\n:root {\\n\\t--ck-widget-type-around-button-size: 20px;\\n\\t--ck-color-widget-type-around-button-active: var(--ck-color-focus-border);\\n\\t--ck-color-widget-type-around-button-hover: var(--ck-color-widget-hover-border);\\n\\t--ck-color-widget-type-around-button-blurred-editable: var(--ck-color-widget-blurred-border);\\n\\t--ck-color-widget-type-around-button-radar-start-alpha: 0;\\n\\t--ck-color-widget-type-around-button-radar-end-alpha: .3;\\n\\t--ck-color-widget-type-around-button-icon: var(--ck-color-base-background);\\n}\\n\\n@define-mixin ck-widget-type-around-button-visible {\\n\\topacity: 1;\\n\\tpointer-events: auto;\\n}\\n\\n@define-mixin ck-widget-type-around-button-hidden {\\n\\topacity: 0;\\n\\tpointer-events: none;\\n}\\n\\n.ck .ck-widget {\\n\\t/*\\n\\t * Styles of the type around buttons\\n\\t */\\n\\t& .ck-widget__type-around__button {\\n\\t\\twidth: var(--ck-widget-type-around-button-size);\\n\\t\\theight: var(--ck-widget-type-around-button-size);\\n\\t\\tbackground: var(--ck-color-widget-type-around-button);\\n\\t\\tborder-radius: 100px;\\n\\t\\ttransition: opacity var(--ck-widget-handler-animation-duration) var(--ck-widget-handler-animation-curve), background var(--ck-widget-handler-animation-duration) var(--ck-widget-handler-animation-curve);\\n\\n\\t\\t@mixin ck-widget-type-around-button-hidden;\\n\\n\\t\\t& svg {\\n\\t\\t\\twidth: 10px;\\n\\t\\t\\theight: 8px;\\n\\t\\t\\ttransform: translate(-50%,-50%);\\n\\t\\t\\ttransition: transform .5s ease;\\n\\t\\t\\tmargin-top: 1px;\\n\\n\\t\\t\\t& * {\\n\\t\\t\\t\\tstroke-dasharray: 10;\\n\\t\\t\\t\\tstroke-dashoffset: 0;\\n\\n\\t\\t\\t\\tfill: none;\\n\\t\\t\\t\\tstroke: var(--ck-color-widget-type-around-button-icon);\\n\\t\\t\\t\\tstroke-width: 1.5px;\\n\\t\\t\\t\\tstroke-linecap: round;\\n\\t\\t\\t\\tstroke-linejoin: round;\\n\\t\\t\\t}\\n\\n\\t\\t\\t& line {\\n\\t\\t\\t\\tstroke-dasharray: 7;\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\t&:hover {\\n\\t\\t\\t/*\\n\\t\\t\\t * Display the \"sonar\" around the button when hovered.\\n\\t\\t\\t */\\n\\t\\t\\tanimation: ck-widget-type-around-button-sonar 1s ease infinite;\\n\\n\\t\\t\\t/*\\n\\t\\t\\t * Animate active button\\'s icon.\\n\\t\\t\\t */\\n\\t\\t\\t& svg {\\n\\t\\t\\t\\t& polyline {\\n\\t\\t\\t\\t\\tanimation: ck-widget-type-around-arrow-dash 2s linear;\\n\\t\\t\\t\\t}\\n\\n\\t\\t\\t\\t& line {\\n\\t\\t\\t\\t\\tanimation: ck-widget-type-around-arrow-tip-dash 2s linear;\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n\\n\\t/*\\n\\t * Show type around buttons when the widget gets selected or being hovered.\\n\\t */\\n\\t&.ck-widget_selected,\\n\\t&:hover {\\n\\t\\t& > .ck-widget__type-around > .ck-widget__type-around__button {\\n\\t\\t\\t@mixin ck-widget-type-around-button-visible;\\n\\t\\t}\\n\\t}\\n\\n\\t/*\\n\\t * Styles for the buttons when the widget is NOT selected (but the buttons are visible\\n\\t * and still can be hovered).\\n\\t */\\n\\t&:not(.ck-widget_selected) > .ck-widget__type-around > .ck-widget__type-around__button {\\n\\t\\tbackground: var(--ck-color-widget-type-around-button-hover);\\n\\t}\\n\\n\\t/*\\n\\t * Styles for the buttons when:\\n\\t * - the widget is selected,\\n\\t * - or the button is being hovered (regardless of the widget state).\\n\\t */\\n\\t&.ck-widget_selected > .ck-widget__type-around > .ck-widget__type-around__button,\\n\\t& > .ck-widget__type-around > .ck-widget__type-around__button:hover {\\n\\t\\tbackground: var(--ck-color-widget-type-around-button-active);\\n\\n\\t\\t&::after {\\n\\t\\t\\twidth: calc(var(--ck-widget-type-around-button-size) - 2px);\\n\\t\\t\\theight: calc(var(--ck-widget-type-around-button-size) - 2px);\\n\\t\\t\\tborder-radius: 100px;\\n\\t\\t\\tbackground: linear-gradient(135deg, hsla(0,0%,100%,0) 0%, hsla(0,0%,100%,.3) 100%);\\n\\t\\t}\\n\\t}\\n\\n\\t/*\\n\\t * Styles for the \"before\" button when the widget has a selection handle. Because some space\\n\\t * is consumed by the handle, the button must be moved slightly to the right to let it breathe.\\n\\t */\\n\\t&.ck-widget_with-selection-handle > .ck-widget__type-around > .ck-widget__type-around__button_before {\\n\\t\\tmargin-left: 20px;\\n\\t}\\n\\n\\t/*\\n\\t * Styles for the horizontal \"fake caret\" which is displayed when the user navigates using the keyboard.\\n\\t */\\n\\t& .ck-widget__type-around__fake-caret {\\n\\t\\tpointer-events: none;\\n\\t\\theight: 1px;\\n\\t\\tanimation: ck-widget-type-around-fake-caret-pulse linear 1s infinite normal forwards;\\n\\n\\t\\t/*\\n\\t\\t * The semi-transparent-outline+background combo improves the contrast\\n\\t\\t * when the background underneath the fake caret is dark.\\n\\t\\t */\\n\\t\\toutline: solid 1px hsla(0, 0%, 100%, .5);\\n\\t\\tbackground: var(--ck-color-base-text);\\n\\t}\\n\\n\\t/*\\n\\t * Styles of the widget when the \"fake caret\" is blinking (e.g. upon keyboard navigation).\\n\\t * Despite the widget being physically selected in the model, its outline should disappear.\\n\\t */\\n\\t&.ck-widget_selected {\\n\\t\\t&.ck-widget_type-around_show-fake-caret_before,\\n\\t\\t&.ck-widget_type-around_show-fake-caret_after {\\n\\t\\t\\toutline-color: transparent;\\n\\t\\t}\\n\\t}\\n\\n\\t&.ck-widget_type-around_show-fake-caret_before,\\n\\t&.ck-widget_type-around_show-fake-caret_after {\\n\\t\\t/*\\n\\t\\t * When the \"fake caret\" is visible we simulate that the widget is not selected\\n\\t\\t * (despite being physically selected), so the outline color should be for the\\n\\t\\t * unselected widget.\\n\\t\\t */\\n\\t\\t&.ck-widget_selected:hover {\\n\\t\\t\\toutline-color: var(--ck-color-widget-hover-border);\\n\\t\\t}\\n\\n\\t\\t/*\\n\\t\\t * Styles of the type around buttons when the \"fake caret\" is blinking (e.g. upon keyboard navigation).\\n\\t\\t * In this state, the type around buttons would collide with the fake carets so they should disappear.\\n\\t\\t */\\n\\t\\t& > .ck-widget__type-around > .ck-widget__type-around__button {\\n\\t\\t\\t@mixin ck-widget-type-around-button-hidden;\\n\\t\\t}\\n\\n\\t\\t/*\\n\\t\\t * Fake horizontal caret integration with the selection handle. When the caret is visible, simply\\n\\t\\t * hide the handle because it intersects with the caret (and does not make much sense anyway).\\n\\t\\t */\\n\\t\\t&.ck-widget_with-selection-handle {\\n\\t\\t\\t&.ck-widget_selected,\\n\\t\\t\\t&.ck-widget_selected:hover {\\n\\t\\t\\t\\t& > .ck-widget__selection-handle {\\n\\t\\t\\t\\t\\topacity: 0\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\t/*\\n\\t\\t * Fake horizontal caret integration with the resize UI. When the caret is visible, simply\\n\\t\\t * hide the resize UI because it creates too much noise. It can be visible when the user\\n\\t\\t * hovers the widget, though.\\n\\t\\t */\\n\\t\\t&.ck-widget_selected.ck-widget_with-resizer > .ck-widget__resizer {\\n\\t\\t\\topacity: 0\\n\\t\\t}\\n\\t}\\n}\\n\\n/*\\n * Styles for the \"before\" button when the widget has a selection handle in an RTL environment.\\n * The selection handler is aligned to the right side of the widget so there is no need to create\\n * additional space for it next to the \"before\" button.\\n */\\n.ck[dir=\"rtl\"] .ck-widget.ck-widget_with-selection-handle .ck-widget__type-around > .ck-widget__type-around__button_before {\\n\\tmargin-left: 0;\\n\\tmargin-right: 20px;\\n}\\n\\n/*\\n * Hide type around buttons when the widget is selected as a child of a selected\\n * nested editable (e.g. mulit-cell table selection).\\n *\\n * See https://github.com/ckeditor/ckeditor5/issues/7263.\\n */\\n.ck-editor__nested-editable.ck-editor__editable_selected {\\n\\t& .ck-widget {\\n\\t\\t&.ck-widget_selected,\\n\\t\\t&:hover {\\n\\t\\t\\t& > .ck-widget__type-around > .ck-widget__type-around__button {\\n\\t\\t\\t\\t@mixin ck-widget-type-around-button-hidden;\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n}\\n\\n/*\\n * Styles for the buttons when the widget is selected but the user clicked outside of the editor (blurred the editor).\\n */\\n.ck-editor__editable.ck-blurred .ck-widget.ck-widget_selected > .ck-widget__type-around > .ck-widget__type-around__button:not(:hover) {\\n\\tbackground: var(--ck-color-widget-type-around-button-blurred-editable);\\n\\n\\t& svg * {\\n\\t\\tstroke: hsl(0,0%,60%);\\n\\t}\\n}\\n\\n@keyframes ck-widget-type-around-arrow-dash {\\n\\t0% {\\n\\t\\tstroke-dashoffset: 10;\\n\\t}\\n\\t20%, 100% {\\n\\t\\tstroke-dashoffset: 0;\\n\\t}\\n}\\n\\n@keyframes ck-widget-type-around-arrow-tip-dash {\\n\\t0%, 20% {\\n\\t\\tstroke-dashoffset: 7;\\n\\t}\\n\\t40%, 100% {\\n\\t\\tstroke-dashoffset: 0;\\n\\t}\\n}\\n\\n@keyframes ck-widget-type-around-button-sonar {\\n\\t0% {\\n\\t\\tbox-shadow: 0 0 0 0 hsla(var(--ck-color-focus-border-coordinates), var(--ck-color-widget-type-around-button-radar-start-alpha));\\n\\t}\\n\\t50% {\\n\\t\\tbox-shadow: 0 0 0 5px hsla(var(--ck-color-focus-border-coordinates), var(--ck-color-widget-type-around-button-radar-end-alpha));\\n\\t}\\n\\t100% {\\n\\t\\tbox-shadow: 0 0 0 5px hsla(var(--ck-color-focus-border-coordinates), var(--ck-color-widget-type-around-button-radar-start-alpha));\\n\\t}\\n}\\n\\n@keyframes ck-widget-type-around-fake-caret-pulse {\\n\\t0% {\\n\\t\\topacity: 1;\\n\\t}\\n\\t49% {\\n\\t\\topacity: 1;\\n\\t}\\n\\t50% {\\n\\t\\topacity: 0;\\n\\t}\\n\\t99% {\\n\\t\\topacity: 0;\\n\\t}\\n\\t100% {\\n\\t\\topacity: 1;\\n\\t}\\n}\\n'],sourceRoot:\"\"}]);const a=s},3645:t=>{\"use strict\";t.exports=function(t){var e=[];return e.toString=function(){return this.map((function(e){var n=t(e);return e[2]?\"@media \".concat(e[2],\" {\").concat(n,\"}\"):n})).join(\"\")},e.i=function(t,n,o){\"string\"==typeof t&&(t=[[null,t,\"\"]]);var i={};if(o)for(var r=0;r{\"use strict\";function e(t,e){return function(t){if(Array.isArray(t))return t}(t)||function(t,e){var n=t&&(\"undefined\"!=typeof Symbol&&t[Symbol.iterator]||t[\"@@iterator\"]);if(null==n)return;var o,i,r=[],s=!0,a=!1;try{for(n=n.call(t);!(s=(o=n.next()).done)&&(r.push(o.value),!e||r.length!==e);s=!0);}catch(t){a=!0,i=t}finally{try{s||null==n.return||n.return()}finally{if(a)throw i}}return r}(t,e)||function(t,e){if(!t)return;if(\"string\"==typeof t)return n(t,e);var o=Object.prototype.toString.call(t).slice(8,-1);\"Object\"===o&&t.constructor&&(o=t.constructor.name);if(\"Map\"===o||\"Set\"===o)return Array.from(t);if(\"Arguments\"===o||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(o))return n(t,e)}(t,e)||function(){throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\")}()}function n(t,e){(null==e||e>t.length)&&(e=t.length);for(var n=0,o=new Array(e);n{\"use strict\";var o,i=function(){return void 0===o&&(o=Boolean(window&&document&&document.all&&!window.atob)),o},r=function(){var t={};return function(e){if(void 0===t[e]){var n=document.querySelector(e);if(window.HTMLIFrameElement&&n instanceof window.HTMLIFrameElement)try{n=n.contentDocument.head}catch(t){n=null}t[e]=n}return t[e]}}(),s=[];function a(t){for(var e=-1,n=0;n{var e=t&&t.__esModule?()=>t.default:()=>t;return n.d(e,{a:e}),e},n.d=(t,e)=>{for(var o in e)n.o(e,o)&&!n.o(t,o)&&Object.defineProperty(t,o,{enumerable:!0,get:e[o]})},n.o=(t,e)=>Object.prototype.hasOwnProperty.call(t,e),n.nc=void 0;var o={};return(()=>{\"use strict\";n.d(o,{default:()=>V_});const t=function(){try{return navigator.userAgent.toLowerCase()}catch(t){return\"\"}}(),e={isMac:r(t),isWindows:function(t){return t.indexOf(\"windows\")>-1}(t),isGecko:function(t){return!!t.match(/gecko\\/\\d+/)}(t),isSafari:function(t){return t.indexOf(\" applewebkit/\")>-1&&-1===t.indexOf(\"chrome\")}(t),isiOS:function(t){return!!t.match(/iphone|ipad/i)||r(t)&&navigator.maxTouchPoints>0}(t),isAndroid:function(t){return t.indexOf(\"android\")>-1}(t),isBlink:function(t){return t.indexOf(\"chrome/\")>-1&&t.indexOf(\"edge/\")<0}(t),features:{isRegExpUnicodePropertySupported:function(){let t=!1;try{t=0===\"ć\".search(new RegExp(\"[\\\\p{L}]\",\"u\"))}catch(t){}return t}()}},i=e;function r(t){return t.indexOf(\"macintosh\")>-1}function s(t,e,n,o){n=n||function(t,e){return t===e};const i=Array.isArray(t)?t:Array.prototype.slice.call(t),r=Array.isArray(e)?e:Array.prototype.slice.call(e),s=function(t,e,n){const o=a(t,e,n);if(-1===o)return{firstIndex:-1,lastIndexOld:-1,lastIndexNew:-1};const i=c(t,o),r=c(e,o),s=a(i,r,n),l=t.length-s,d=e.length-s;return{firstIndex:o,lastIndexOld:l,lastIndexNew:d}}(i,r,n),l=o?function(t,e){const{firstIndex:n,lastIndexOld:o,lastIndexNew:i}=t;if(-1===n)return Array(e).fill(\"equal\");let r=[];n>0&&(r=r.concat(Array(n).fill(\"equal\")));i-n>0&&(r=r.concat(Array(i-n).fill(\"insert\")));o-n>0&&(r=r.concat(Array(o-n).fill(\"delete\")));i0&&n.push({index:o,type:\"insert\",values:t.slice(o,r)});i-o>0&&n.push({index:o+(r-o),type:\"delete\",howMany:i-o});return n}(r,s);return l}function a(t,e,n){for(let o=0;o200||i>200||o+i>300)return l.fastDiff(t,e,n,!0);let r,s;if(il?-1:1;h[o+d]&&(h[o]=h[o+d].slice(0)),h[o]||(h[o]=[]),h[o].push(i>l?r:s);let p=Math.max(i,l),g=p-o;for(;gd;g--)u[g]=p(g);u[d]=p(d),m++}while(u[d]!==c);return h[d].slice(1)}l.fastDiff=s;const d=function(){return function t(){t.called=!0}};class h{constructor(t,e){this.source=t,this.name=e,this.path=[],this.stop=d(),this.off=d()}}const u=new Array(256).fill(\"\").map(((t,e)=>(\"0\"+e.toString(16)).slice(-2)));function p(){const t=4294967296*Math.random()>>>0,e=4294967296*Math.random()>>>0,n=4294967296*Math.random()>>>0,o=4294967296*Math.random()>>>0;return\"e\"+u[t>>0&255]+u[t>>8&255]+u[t>>16&255]+u[t>>24&255]+u[e>>0&255]+u[e>>8&255]+u[e>>16&255]+u[e>>24&255]+u[n>>0&255]+u[n>>8&255]+u[n>>16&255]+u[n>>24&255]+u[o>>0&255]+u[o>>8&255]+u[o>>16&255]+u[o>>24&255]}const g={get(t=\"normal\"){return\"number\"!=typeof t?this[t]||this.normal:t},highest:1e5,high:1e3,normal:0,low:-1e3,lowest:-1e5};function m(t,e){const n=g.get(e.priority);for(let o=0;o{if(\"object\"==typeof e&&null!==e){if(n.has(e))return`[object ${e.constructor.name}]`;n.add(e)}return e},i=e?` ${JSON.stringify(e,o)}`:\"\",r=w(t);return t+i+r}(t,n)),this.name=\"CKEditorError\",this.context=e,this.data=n}is(t){return\"CKEditorError\"===t}static rethrowUnexpectedError(t,e){if(t.is&&t.is(\"CKEditorError\"))throw t;const n=new k(t.message,e);throw n.stack=t.stack,n}}function b(t,e){console.warn(..._(t,e))}function w(t){return`\\nRead more: ${f}#error-${t}`}function _(t,e){const n=w(t);return e?[t,e,n]:[t,n]}const A=\"40.1.0\",C=new Date(2023,10,15);if(globalThis.CKEDITOR_VERSION)throw new k(\"ckeditor-duplicated-modules\",null);globalThis.CKEDITOR_VERSION=A;const v=Symbol(\"listeningTo\"),y=Symbol(\"emitterId\"),x=Symbol(\"delegations\"),E=D(Object);function D(t){if(!t)return E;return class extends t{on(t,e,n){this.listenTo(this,t,e,n)}once(t,e,n){let o=!1;this.listenTo(this,t,((t,...n)=>{o||(o=!0,t.off(),e.call(this,t,...n))}),n)}off(t,e){this.stopListening(this,t,e)}listenTo(t,e,n,o={}){let i,r;this[v]||(this[v]={});const s=this[v];B(t)||S(t);const a=B(t);(i=s[a])||(i=s[a]={emitter:t,callbacks:{}}),(r=i.callbacks[e])||(r=i.callbacks[e]=[]),r.push(n),function(t,e,n,o,i){e._addEventListener?e._addEventListener(n,o,i):t._addEventListener.call(e,n,o,i)}(this,t,e,n,o)}stopListening(t,e,n){const o=this[v];let i=t&&B(t);const r=o&&i?o[i]:void 0,s=r&&e?r.callbacks[e]:void 0;if(!(!o||t&&!r||e&&!s))if(n){O(this,t,e,n);-1!==s.indexOf(n)&&(1===s.length?delete r.callbacks[e]:O(this,t,e,n))}else if(s){for(;n=s.pop();)O(this,t,e,n);delete r.callbacks[e]}else if(r){for(e in r.callbacks)this.stopListening(t,e);delete o[i]}else{for(i in o)this.stopListening(o[i].emitter);delete this[v]}}fire(t,...e){try{const n=t instanceof h?t:new h(this,t),o=n.name;let i=I(this,o);if(n.path.push(this),i){const t=[n,...e];i=Array.from(i);for(let e=0;e{this[x]||(this[x]=new Map),t.forEach((t=>{const o=this[x].get(t);o?o.set(e,n):this[x].set(t,new Map([[e,n]]))}))}}}stopDelegating(t,e){if(this[x])if(t)if(e){const n=this[x].get(t);n&&n.delete(e)}else this[x].delete(t);else this[x].clear()}_addEventListener(t,e,n){!function(t,e){const n=T(t);if(n[e])return;let o=e,i=null;const r=[];for(;\"\"!==o&&!n[o];)n[o]={callbacks:[],childEvents:[]},r.push(n[o]),i&&n[o].childEvents.push(i),i=o,o=o.substr(0,o.lastIndexOf(\":\"));if(\"\"!==o){for(const t of r)t.callbacks=n[o].callbacks.slice();n[o].childEvents.push(i)}}(this,t);const o=P(this,t),i={callback:e,priority:g.get(n.priority)};for(const t of o)m(t,i)}_removeEventListener(t,e){const n=P(this,t);for(const t of n)for(let n=0;n-1?I(t,e.substr(0,e.lastIndexOf(\":\"))):null}function R(t,e,n){for(let[o,i]of t){i?\"function\"==typeof i&&(i=i(e.name)):i=e.name;const t=new h(e.source,i);t.path=[...e.path],o.fire(t,...n)}}function O(t,e,n,o){e._removeEventListener?e._removeEventListener(n,o):t._removeEventListener.call(e,n,o)}[\"on\",\"once\",\"off\",\"listenTo\",\"stopListening\",\"fire\",\"delegate\",\"stopDelegating\",\"_addEventListener\",\"_removeEventListener\"].forEach((t=>{D[t]=E.prototype[t]}));const z=function(t){var e=typeof t;return null!=t&&(\"object\"==e||\"function\"==e)},M=Symbol(\"observableProperties\"),F=Symbol(\"boundObservables\"),N=Symbol(\"boundProperties\"),V=Symbol(\"decoratedMethods\"),L=Symbol(\"decoratedOriginal\"),H=j(D());function j(t){if(!t)return H;return class extends t{set(t,e){if(z(t))return void Object.keys(t).forEach((e=>{this.set(e,t[e])}),this);q(this);const n=this[M];if(t in this&&!n.has(t))throw new k(\"observable-set-cannot-override\",this);Object.defineProperty(this,t,{enumerable:!0,configurable:!0,get:()=>n.get(t),set(e){const o=n.get(t);let i=this.fire(`set:${t}`,t,e,o);void 0===i&&(i=e),o===i&&n.has(t)||(n.set(t,i),this.fire(`change:${t}`,t,i,o))}}),this[t]=e}bind(...t){if(!t.length||!G(t))throw new k(\"observable-bind-wrong-properties\",this);if(new Set(t).size!==t.length)throw new k(\"observable-bind-duplicate-properties\",this);q(this);const e=this[N];t.forEach((t=>{if(e.has(t))throw new k(\"observable-bind-rebind\",this)}));const n=new Map;return t.forEach((t=>{const o={property:t,to:[]};e.set(t,o),n.set(t,o)})),{to:K,toMany:W,_observable:this,_bindProperties:t,_to:[],_bindings:n}}unbind(...t){if(!this[M])return;const e=this[N],n=this[F];if(t.length){if(!G(t))throw new k(\"observable-unbind-wrong-properties\",this);t.forEach((t=>{const o=e.get(t);o&&(o.to.forEach((([t,e])=>{const i=n.get(t),r=i[e];r.delete(o),r.size||delete i[e],Object.keys(i).length||(n.delete(t),this.stopListening(t,\"change\"))})),e.delete(t))}))}else n.forEach(((t,e)=>{this.stopListening(e,\"change\")})),n.clear(),e.clear()}decorate(t){q(this);const e=this[t];if(!e)throw new k(\"observablemixin-cannot-decorate-undefined\",this,{object:this,methodName:t});this.on(t,((t,n)=>{t.return=e.apply(this,n)})),this[t]=function(...e){return this.fire(t,e)},this[t][L]=e,this[V]||(this[V]=[]),this[V].push(t)}stopListening(t,e,n){if(!t&&this[V]){for(const t of this[V])this[t]=this[t][L];delete this[V]}super.stopListening(t,e,n)}}}function q(t){t[M]||(Object.defineProperty(t,M,{value:new Map}),Object.defineProperty(t,F,{value:new Map}),Object.defineProperty(t,N,{value:new Map}))}function K(...t){const e=function(...t){if(!t.length)throw new k(\"observable-bind-to-parse-error\",null);const e={to:[]};let n;\"function\"==typeof t[t.length-1]&&(e.callback=t.pop());return t.forEach((t=>{if(\"string\"==typeof t)n.properties.push(t);else{if(\"object\"!=typeof t)throw new k(\"observable-bind-to-parse-error\",null);n={observable:t,properties:[]},e.to.push(n)}})),e}(...t),n=Array.from(this._bindings.keys()),o=n.length;if(!e.callback&&e.to.length>1)throw new k(\"observable-bind-to-no-callback\",this);if(o>1&&e.callback)throw new k(\"observable-bind-to-extra-callback\",this);var i;e.to.forEach((t=>{if(t.properties.length&&t.properties.length!==o)throw new k(\"observable-bind-to-properties-length\",this);t.properties.length||(t.properties=this._bindProperties)})),this._to=e.to,e.callback&&(this._bindings.get(n[0]).callback=e.callback),i=this._observable,this._to.forEach((t=>{const e=i[F];let n;e.get(t.observable)||i.listenTo(t.observable,\"change\",((o,r)=>{n=e.get(t.observable)[r],n&&n.forEach((t=>{$(i,t.property)}))}))})),function(t){let e;t._bindings.forEach(((n,o)=>{t._to.forEach((i=>{e=i.properties[n.callback?0:t._bindProperties.indexOf(o)],n.to.push([i.observable,e]),function(t,e,n,o){const i=t[F],r=i.get(n),s=r||{};s[o]||(s[o]=new Set);s[o].add(e),r||i.set(n,s)}(t._observable,n,i.observable,e)}))}))}(this),this._bindProperties.forEach((t=>{$(this._observable,t)}))}function W(t,e,n){if(this._bindings.size>1)throw new k(\"observable-bind-to-many-not-one-binding\",this);this.to(...function(t,e){const n=t.map((t=>[t,e]));return Array.prototype.concat.apply([],n)}(t,e),n)}function G(t){return t.every((t=>\"string\"==typeof t))}function $(t,e){const n=t[N].get(e);let o;n.callback?o=n.callback.apply(t,n.to.map((t=>t[0][t[1]]))):(o=n.to[0],o=o[0][o[1]]),Object.prototype.hasOwnProperty.call(t,e)?t[e]=o:t.set(e,o)}[\"set\",\"bind\",\"unbind\",\"decorate\",\"on\",\"once\",\"off\",\"listenTo\",\"stopListening\",\"fire\",\"delegate\",\"stopDelegating\",\"_addEventListener\",\"_removeEventListener\"].forEach((t=>{j[t]=H.prototype[t]}));class U{constructor(){this._replacedElements=[]}replace(t,e){this._replacedElements.push({element:t,newElement:e}),t.style.display=\"none\",e&&t.parentNode.insertBefore(e,t.nextSibling)}restore(){this._replacedElements.forEach((({element:t,newElement:e})=>{t.style.display=\"\",e&&e.remove()})),this._replacedElements=[]}}function Z(t){let e=0;for(const n of t)e++;return e}function J(t,e){const n=Math.min(t.length,e.length);for(let o=0;o-1};const Tt=function(t,e){var n=this.__data__,o=xt(n,t);return o<0?(++this.size,n.push([t,e])):n[o][1]=e,this};function Pt(t){var e=-1,n=null==t?0:t.length;for(this.clear();++e-1&&t%1==0&&t-1&&t%1==0&&t<=9007199254740991};var He={};He[\"[object Float32Array]\"]=He[\"[object Float64Array]\"]=He[\"[object Int8Array]\"]=He[\"[object Int16Array]\"]=He[\"[object Int32Array]\"]=He[\"[object Uint8Array]\"]=He[\"[object Uint8ClampedArray]\"]=He[\"[object Uint16Array]\"]=He[\"[object Uint32Array]\"]=!0,He[\"[object Arguments]\"]=He[\"[object Array]\"]=He[\"[object ArrayBuffer]\"]=He[\"[object Boolean]\"]=He[\"[object DataView]\"]=He[\"[object Date]\"]=He[\"[object Error]\"]=He[\"[object Function]\"]=He[\"[object Map]\"]=He[\"[object Number]\"]=He[\"[object Object]\"]=He[\"[object RegExp]\"]=He[\"[object Set]\"]=He[\"[object String]\"]=He[\"[object WeakMap]\"]=!1;const je=function(t){return ut(t)&&Le(t.length)&&!!He[dt(t)]};const qe=function(t){return function(e){return t(e)}};var Ke=\"object\"==typeof exports&&exports&&!exports.nodeType&&exports,We=Ke&&\"object\"==typeof module&&module&&!module.nodeType&&module,Ge=We&&We.exports===Ke&&Q.process;const $e=function(){try{var t=We&&We.require&&We.require(\"util\").types;return t||Ge&&Ge.binding&&Ge.binding(\"util\")}catch(t){}}();var Ue=$e&&$e.isTypedArray;const Ze=Ue?qe(Ue):je;var Je=Object.prototype.hasOwnProperty;const Ye=function(t,e){var n=ht(t),o=!n&&Ie(t),i=!n&&!o&&Fe(t),r=!n&&!o&&!i&&Ze(t),s=n||o||i||r,a=s?De(t.length,String):[],c=a.length;for(var l in t)!e&&!Je.call(t,l)||s&&(\"length\"==l||i&&(\"offset\"==l||\"parent\"==l)||r&&(\"buffer\"==l||\"byteLength\"==l||\"byteOffset\"==l)||Ve(l,c))||a.push(l);return a};var Qe=Object.prototype;const Xe=function(t){var e=t&&t.constructor;return t===(\"function\"==typeof e&&e.prototype||Qe)};const tn=mt(Object.keys,Object);var en=Object.prototype.hasOwnProperty;const nn=function(t){if(!Xe(t))return tn(t);var e=[];for(var n in Object(t))en.call(t,n)&&\"constructor\"!=n&&e.push(n);return e};const on=function(t){return null!=t&&Le(t.length)&&!Ft(t)};const rn=function(t){return on(t)?Ye(t):nn(t)};const sn=function(t,e){return t&&Ee(e,rn(e),t)};const an=function(t){var e=[];if(null!=t)for(var n in Object(t))e.push(n);return e};var cn=Object.prototype.hasOwnProperty;const ln=function(t){if(!z(t))return an(t);var e=Xe(t),n=[];for(var o in t)(\"constructor\"!=o||!e&&cn.call(t,o))&&n.push(o);return n};const dn=function(t){return on(t)?Ye(t,!0):ln(t)};const hn=function(t,e){return t&&Ee(e,dn(e),t)};var un=\"object\"==typeof exports&&exports&&!exports.nodeType&&exports,pn=un&&\"object\"==typeof module&&module&&!module.nodeType&&module,gn=pn&&pn.exports===un?tt.Buffer:void 0,mn=gn?gn.allocUnsafe:void 0;const fn=function(t,e){if(e)return t.slice();var n=t.length,o=mn?mn(n):new t.constructor(n);return t.copy(o),o};const kn=function(t,e){var n=-1,o=t.length;for(e||(e=Array(o));++n{this._setToTarget(t,o,e[o],n)}))}}function Co(t){return wo(t,vo)}function vo(t){return _o(t)||\"function\"==typeof t?t:void 0}function yo(t){if(t){if(t.defaultView)return t instanceof t.defaultView.Document;if(t.ownerDocument&&t.ownerDocument.defaultView)return t instanceof t.ownerDocument.defaultView.Node}return!1}function xo(t){const e=Object.prototype.toString.apply(t);return\"[object Window]\"==e||\"[object global]\"==e}const Eo=Do(D());function Do(t){if(!t)return Eo;return class extends t{listenTo(t,e,n,o={}){if(yo(t)||xo(t)){const i={capture:!!o.useCapture,passive:!!o.usePassive},r=this._getProxyEmitter(t,i)||new So(t,i);this.listenTo(r,e,n,o)}else super.listenTo(t,e,n,o)}stopListening(t,e,n){if(yo(t)||xo(t)){const o=this._getAllProxyEmitters(t);for(const t of o)this.stopListening(t,e,n)}else super.stopListening(t,e,n)}_getProxyEmitter(t,e){return function(t,e){const n=t[v];return n&&n[e]?n[e].emitter:null}(this,Bo(t,e))}_getAllProxyEmitters(t){return[{capture:!1,passive:!1},{capture:!1,passive:!0},{capture:!0,passive:!1},{capture:!0,passive:!0}].map((e=>this._getProxyEmitter(t,e))).filter((t=>!!t))}}}[\"_getProxyEmitter\",\"_getAllProxyEmitters\",\"on\",\"once\",\"off\",\"listenTo\",\"stopListening\",\"fire\",\"delegate\",\"stopDelegating\",\"_addEventListener\",\"_removeEventListener\"].forEach((t=>{Do[t]=Eo.prototype[t]}));class So extends(D()){constructor(t,e){super(),S(this,Bo(t,e)),this._domNode=t,this._options=e}attach(t){if(this._domListeners&&this._domListeners[t])return;const e=this._createDomListener(t);this._domNode.addEventListener(t,e,this._options),this._domListeners||(this._domListeners={}),this._domListeners[t]=e}detach(t){let e;!this._domListeners[t]||(e=this._events[t])&&e.callbacks.length||this._domListeners[t].removeListener()}_addEventListener(t,e,n){this.attach(t),D().prototype._addEventListener.call(this,t,e,n)}_removeEventListener(t,e){D().prototype._removeEventListener.call(this,t,e),this.detach(t)}_createDomListener(t){const e=e=>{this.fire(t,e)};return e.removeListener=()=>{this._domNode.removeEventListener(t,e,this._options),delete this._domListeners[t]},e}}function Bo(t,e){let n=function(t){return t[\"data-ck-expando\"]||(t[\"data-ck-expando\"]=p())}(t);for(const t of Object.keys(e).sort())e[t]&&(n+=\"-\"+t);return n}let To;try{To={window,document}}catch(t){To={window:{},document:{}}}const Po=To;function Io(t){return\"[object Text]\"==Object.prototype.toString.call(t)}function Ro(t){return\"[object Range]\"==Object.prototype.toString.apply(t)}function Oo(t){const e=t.ownerDocument.defaultView.getComputedStyle(t);return{top:parseInt(e.borderTopWidth,10),right:parseInt(e.borderRightWidth,10),bottom:parseInt(e.borderBottomWidth,10),left:parseInt(e.borderLeftWidth,10)}}function zo(t){return t&&t.parentNode?t.offsetParent===Po.document.body?null:t.offsetParent:null}const Mo=[\"top\",\"right\",\"bottom\",\"left\",\"width\",\"height\"];class Fo{constructor(t){const e=Ro(t);if(Object.defineProperty(this,\"_source\",{value:t._source||t,writable:!0,enumerable:!1}),Lo(t)||e)if(e){const e=Fo.getDomRangeRects(t);No(this,Fo.getBoundingRect(e))}else No(this,t.getBoundingClientRect());else if(xo(t)){const{innerWidth:e,innerHeight:n}=t;No(this,{top:0,right:e,bottom:n,left:0,width:e,height:n})}else No(this,t)}clone(){return new Fo(this)}moveTo(t,e){return this.top=e,this.right=t+this.width,this.bottom=e+this.height,this.left=t,this}moveBy(t,e){return this.top+=e,this.right+=t,this.left+=t,this.bottom+=e,this}getIntersection(t){const e={top:Math.max(this.top,t.top),right:Math.min(this.right,t.right),bottom:Math.min(this.bottom,t.bottom),left:Math.max(this.left,t.left),width:0,height:0};if(e.width=e.right-e.left,e.height=e.bottom-e.top,e.width<0||e.height<0)return null;{const t=new Fo(e);return t._source=this._source,t}}getIntersectionArea(t){const e=this.getIntersection(t);return e?e.getArea():0}getArea(){return this.width*this.height}getVisible(){const t=this._source;let e=this.clone();if(Vo(t))return e;let n,o=t,i=t.parentNode||t.commonAncestorContainer;for(;i&&!Vo(i);){const t=\"visible\"===((r=i)instanceof HTMLElement?r.ownerDocument.defaultView.getComputedStyle(r).overflow:\"visible\");o instanceof HTMLElement&&\"absolute\"===Ho(o)&&(n=o);const s=Ho(i);if(t||n&&(\"relative\"===s&&t||\"relative\"!==s)){o=i,i=i.parentNode;continue}const a=new Fo(i),c=e.getIntersection(a);if(!c)return null;c.getArea(){for(const e of t){const t=jo._getElementCallbacks(e.target);if(t)for(const n of t)n(e)}}))}}function qo(t,e){t instanceof HTMLTextAreaElement&&(t.value=e),t.innerHTML=e}function Ko(t){return e=>e+t}function Wo(t){let e=0;for(;t.previousSibling;)t=t.previousSibling,e++;return e}function Go(t,e,n){t.insertBefore(n,t.childNodes[e]||null)}function $o(t){return t&&t.nodeType===Node.COMMENT_NODE}function Uo(t){return!!(t&&t.getClientRects&&t.getClientRects().length)}function Zo({element:t,target:e,positions:n,limiter:o,fitInViewport:i,viewportOffsetConfig:r}){Ft(e)&&(e=e()),Ft(o)&&(o=o());const s=zo(t),a=function(t){t=Object.assign({top:0,bottom:0,left:0,right:0},t);const e=new Fo(Po.window);return e.top+=t.top,e.height-=t.top,e.bottom-=t.bottom,e.height-=t.bottom,e}(r),c=new Fo(t),l=Jo(e,a);let d;if(!l||!a.getIntersection(l))return null;const h={targetRect:l,elementRect:c,positionedElementAncestor:s,viewportRect:a};if(o||i){if(o){const t=Jo(o,a);t&&(h.limiterRect=t)}d=function(t,e){const{elementRect:n}=e,o=n.getArea(),i=t.map((t=>new Yo(t,e))).filter((t=>!!t.name));let r=0,s=null;for(const t of i){const{limiterIntersectionArea:e,viewportIntersectionArea:n}=t;if(e===o)return t;const i=n**2+e**2;i>r&&(r=i,s=t)}return s}(n,h)}else d=new Yo(n[0],h);return d}function Jo(t,e){const n=new Fo(t).getVisible();return n?n.getIntersection(e):null}jo._observerInstance=null,jo._elementCallbacks=null;class Yo{constructor(t,e){const n=t(e.targetRect,e.elementRect,e.viewportRect,e.limiterRect);if(!n)return;const{left:o,top:i,name:r,config:s}=n;this.name=r,this.config=s,this._positioningFunctionCoordinates={left:o,top:i},this._options=e}get left(){return this._absoluteRect.left}get top(){return this._absoluteRect.top}get limiterIntersectionArea(){const t=this._options.limiterRect;return t?t.getIntersectionArea(this._rect):0}get viewportIntersectionArea(){return this._options.viewportRect.getIntersectionArea(this._rect)}get _rect(){return this._cachedRect||(this._cachedRect=this._options.elementRect.clone().moveTo(this._positioningFunctionCoordinates.left,this._positioningFunctionCoordinates.top)),this._cachedRect}get _absoluteRect(){return this._cachedAbsoluteRect||(this._cachedAbsoluteRect=this._rect.toAbsoluteRect()),this._cachedAbsoluteRect}}function Qo(t){const e=t.parentNode;e&&e.removeChild(t)}function Xo({window:t,rect:e,alignToTop:n,forceScroll:o,viewportOffset:i}){const r=e.clone().moveBy(0,i.bottom),s=e.clone().moveBy(0,-i.top),a=new Fo(t).excludeScrollbarsAndBorders(),c=n&&o,l=[s,r].every((t=>a.contains(t)));let{scrollX:d,scrollY:h}=t;const u=d,p=h;c?h-=a.top-e.top+i.top:l||(ni(s,a)?h-=a.top-e.top+i.top:ei(r,a)&&(h+=n?e.top-a.top-i.top:e.bottom-a.bottom+i.bottom)),l||(oi(e,a)?d-=a.left-e.left+i.left:ii(e,a)&&(d+=e.right-a.right+i.right)),d==u&&h===p||t.scrollTo(d,h)}function ti({parent:t,getRect:e,alignToTop:n,forceScroll:o,ancestorOffset:i=0,limiterElement:r}){const s=ri(t),a=n&&o;let c,l,d;const h=r||s.document.body;for(;t!=h;)l=e(),c=new Fo(t).excludeScrollbarsAndBorders(),d=c.contains(l),a?t.scrollTop-=c.top-l.top+i:d||(ni(l,c)?t.scrollTop-=c.top-l.top+i:ei(l,c)&&(t.scrollTop+=n?l.top-c.top-i:l.bottom-c.bottom+i)),d||(oi(l,c)?t.scrollLeft-=c.left-l.left+i:ii(l,c)&&(t.scrollLeft+=l.right-c.right+i)),t=t.parentNode}function ei(t,e){return t.bottom>e.bottom}function ni(t,e){return t.tope.right}function ri(t){return Ro(t)?t.startContainer.ownerDocument.defaultView:t.ownerDocument.defaultView}function si(t){if(Ro(t)){let e=t.commonAncestorContainer;return Io(e)&&(e=e.parentNode),e}return t.parentNode}function ai(t,e){const n=ri(t),o=new Fo(t);if(n===e)return o;{let t=n;for(;t!=e;){const e=t.frameElement,n=new Fo(e).excludeScrollbarsAndBorders();o.moveBy(n.left,n.top),t=t.parent}}return o}const ci={ctrl:\"⌃\",cmd:\"⌘\",alt:\"⌥\",shift:\"⇧\"},li={ctrl:\"Ctrl+\",alt:\"Alt+\",shift:\"Shift+\"},di=function(){const t={arrowleft:37,arrowup:38,arrowright:39,arrowdown:40,backspace:8,delete:46,enter:13,space:32,esc:27,tab:9,ctrl:1114112,shift:2228224,alt:4456448,cmd:8912896};for(let e=65;e<=90;e++){t[String.fromCharCode(e).toLowerCase()]=e}for(let e=48;e<=57;e++)t[e-48]=e;for(let e=112;e<=123;e++)t[\"f\"+(e-111)]=e;for(const e of\"`-=[];',./\\\\\")t[e]=e.charCodeAt(0);return t}(),hi=Object.fromEntries(Object.entries(di).map((([t,e])=>[e,t.charAt(0).toUpperCase()+t.slice(1)])));function ui(t){let e;if(\"string\"==typeof t){if(e=di[t.toLowerCase()],!e)throw new k(\"keyboard-unknown-key\",null,{key:t})}else e=t.keyCode+(t.altKey?di.alt:0)+(t.ctrlKey?di.ctrl:0)+(t.shiftKey?di.shift:0)+(t.metaKey?di.cmd:0);return e}function pi(t){return\"string\"==typeof t&&(t=function(t){return t.split(\"+\").map((t=>t.trim()))}(t)),t.map((t=>\"string\"==typeof t?function(t){if(t.endsWith(\"!\"))return ui(t.slice(0,-1));const e=ui(t);return(i.isMac||i.isiOS)&&e==di.ctrl?di.cmd:e}(t):t)).reduce(((t,e)=>e+t),0)}function gi(t){let e=pi(t);return Object.entries(i.isMac||i.isiOS?ci:li).reduce(((t,[n,o])=>(0!=(e&di[n])&&(e&=~di[n],t+=o),t)),\"\")+(e?hi[e]:\"\")}function mi(t,e){const n=\"ltr\"===e;switch(t){case di.arrowleft:return n?\"left\":\"right\";case di.arrowright:return n?\"right\":\"left\";case di.arrowup:return\"up\";case di.arrowdown:return\"down\"}}function fi(t){return Array.isArray(t)?t:[t]}function ki(t,e,n=1){if(\"number\"!=typeof n)throw new k(\"translation-service-quantity-not-a-number\",null,{quantity:n});const o=Object.keys(Po.window.CKEDITOR_TRANSLATIONS).length;1===o&&(t=Object.keys(Po.window.CKEDITOR_TRANSLATIONS)[0]);const i=e.id||e.string;if(0===o||!function(t,e){return!!Po.window.CKEDITOR_TRANSLATIONS[t]&&!!Po.window.CKEDITOR_TRANSLATIONS[t].dictionary[e]}(t,i))return 1!==n?e.plural:e.string;const r=Po.window.CKEDITOR_TRANSLATIONS[t].dictionary,s=Po.window.CKEDITOR_TRANSLATIONS[t].getPluralForm||(t=>1===t?0:1),a=r[i];if(\"string\"==typeof a)return a;return a[Number(s(n))]}Po.window.CKEDITOR_TRANSLATIONS||(Po.window.CKEDITOR_TRANSLATIONS={});const bi=[\"ar\",\"ara\",\"fa\",\"per\",\"fas\",\"he\",\"heb\",\"ku\",\"kur\",\"ug\",\"uig\"];function wi(t){return bi.includes(t)?\"rtl\":\"ltr\"}class _i{constructor({uiLanguage:t=\"en\",contentLanguage:e}={}){this.uiLanguage=t,this.contentLanguage=e||this.uiLanguage,this.uiLanguageDirection=wi(this.uiLanguage),this.contentLanguageDirection=wi(this.contentLanguage),this.t=(t,e)=>this._t(t,e)}get language(){return console.warn(\"locale-deprecated-language-property: The Locale#language property has been deprecated and will be removed in the near future. Please use #uiLanguage and #contentLanguage properties instead.\"),this.uiLanguage}_t(t,e=[]){e=fi(e),\"string\"==typeof t&&(t={string:t});const n=!!t.plural?e[0]:1;return function(t,e){return t.replace(/%(\\d+)/g,((t,n)=>nthis._items.length||e<0)throw new k(\"collection-add-item-invalid-index\",this);let n=0;for(const o of t){const t=this._getItemIdBeforeAdding(o),i=e+n;this._items.splice(i,0,o),this._itemMap.set(t,o),this.fire(\"add\",o,i),n++}return this.fire(\"change\",{added:t,removed:[],index:e}),this}get(t){let e;if(\"string\"==typeof t)e=this._itemMap.get(t);else{if(\"number\"!=typeof t)throw new k(\"collection-get-invalid-arg\",this);e=this._items[t]}return e||null}has(t){if(\"string\"==typeof t)return this._itemMap.has(t);{const e=t[this._idProperty];return e&&this._itemMap.has(e)}}getIndex(t){let e;return e=\"string\"==typeof t?this._itemMap.get(t):t,e?this._items.indexOf(e):-1}remove(t){const[e,n]=this._remove(t);return this.fire(\"change\",{added:[],removed:[e],index:n}),e}map(t,e){return this._items.map(t,e)}forEach(t,e){this._items.forEach(t,e)}find(t,e){return this._items.find(t,e)}filter(t,e){return this._items.filter(t,e)}clear(){this._bindToCollection&&(this.stopListening(this._bindToCollection),this._bindToCollection=null);const t=Array.from(this._items);for(;this.length;)this._remove(0);this.fire(\"change\",{added:[],removed:t,index:0})}bindTo(t){if(this._bindToCollection)throw new k(\"collection-bind-to-rebind\",this);return this._bindToCollection=t,{as:t=>{this._setUpBindToBinding((e=>new t(e)))},using:t=>{\"function\"==typeof t?this._setUpBindToBinding(t):this._setUpBindToBinding((e=>e[t]))}}}_setUpBindToBinding(t){const e=this._bindToCollection,n=(n,o,i)=>{const r=e._bindToCollection==this,s=e._bindToInternalToExternalMap.get(o);if(r&&s)this._bindToExternalToInternalMap.set(o,s),this._bindToInternalToExternalMap.set(s,o);else{const n=t(o);if(!n)return void this._skippedIndexesFromExternal.push(i);let r=i;for(const t of this._skippedIndexesFromExternal)i>t&&r--;for(const t of e._skippedIndexesFromExternal)r>=t&&r++;this._bindToExternalToInternalMap.set(o,n),this._bindToInternalToExternalMap.set(n,o),this.add(n,r);for(let t=0;t{const o=this._bindToExternalToInternalMap.get(e);o&&this.remove(o),this._skippedIndexesFromExternal=this._skippedIndexesFromExternal.reduce(((t,e)=>(ne&&t.push(e),t)),[])}))}_getItemIdBeforeAdding(t){const e=this._idProperty;let n;if(e in t){if(n=t[e],\"string\"!=typeof n)throw new k(\"collection-add-invalid-id\",this);if(this.get(n))throw new k(\"collection-add-item-already-exists\",this)}else t[e]=n=p();return n}_remove(t){let e,n,o,i=!1;const r=this._idProperty;if(\"string\"==typeof t?(n=t,o=this._itemMap.get(n),i=!o,o&&(e=this._items.indexOf(o))):\"number\"==typeof t?(e=t,o=this._items[e],i=!o,o&&(n=o[r])):(o=t,n=o[r],e=this._items.indexOf(o),i=-1==e||!this._itemMap.get(n)),i)throw new k(\"collection-remove-404\",this);this._items.splice(e,1),this._itemMap.delete(n);const s=this._bindToInternalToExternalMap.get(o);return this._bindToInternalToExternalMap.delete(o),this._bindToExternalToInternalMap.delete(s),this.fire(\"remove\",o,e),[o,e]}[Symbol.iterator](){return this._items[Symbol.iterator]()}}function Ci(t){const e=t.next();return e.done?null:e.value}class vi extends(Do(j())){constructor(){super(),this._elements=new Set,this._nextEventLoopTimeout=null,this.set(\"isFocused\",!1),this.set(\"focusedElement\",null)}add(t){if(this._elements.has(t))throw new k(\"focustracker-add-element-already-exist\",this);this.listenTo(t,\"focus\",(()=>this._focus(t)),{useCapture:!0}),this.listenTo(t,\"blur\",(()=>this._blur()),{useCapture:!0}),this._elements.add(t)}remove(t){t===this.focusedElement&&this._blur(),this._elements.has(t)&&(this.stopListening(t),this._elements.delete(t))}destroy(){this.stopListening()}_focus(t){clearTimeout(this._nextEventLoopTimeout),this.focusedElement=t,this.isFocused=!0}_blur(){clearTimeout(this._nextEventLoopTimeout),this._nextEventLoopTimeout=setTimeout((()=>{this.focusedElement=null,this.isFocused=!1}),0)}}class yi{constructor(){this._listener=new(Do())}listenTo(t){this._listener.listenTo(t,\"keydown\",((t,e)=>{this._listener.fire(\"_keydown:\"+ui(e),e)}))}set(t,e,n={}){const o=pi(t),i=n.priority;this._listener.listenTo(this._listener,\"_keydown:\"+o,((t,n)=>{e(n,(()=>{n.preventDefault(),n.stopPropagation(),t.stop()})),t.return=!0}),{priority:i})}press(t){return!!this._listener.fire(\"_keydown:\"+ui(t),t)}stopListening(t){this._listener.stopListening(t)}destroy(){this.stopListening()}}function xi(t){return Y(t)?new Map(t):function(t){const e=new Map;for(const n in t)e.set(n,t[n]);return e}(t)}function Ei(t,e){let n;function o(...i){o.cancel(),n=setTimeout((()=>t(...i)),e)}return o.cancel=()=>{clearTimeout(n)},o}function Di(t,e){return!!(n=t.charAt(e-1))&&1==n.length&&/[\\ud800-\\udbff]/.test(n)&&function(t){return!!t&&1==t.length&&/[\\udc00-\\udfff]/.test(t)}(t.charAt(e));var n}function Si(t,e){return!!(n=t.charAt(e))&&1==n.length&&/[\\u0300-\\u036f\\u1ab0-\\u1aff\\u1dc0-\\u1dff\\u20d0-\\u20ff\\ufe20-\\ufe2f]/.test(n);var n}const Bi=function(){const t=/\\p{Regional_Indicator}{2}/u.source,e=\"(?:\"+[/\\p{Emoji}[\\u{E0020}-\\u{E007E}]+\\u{E007F}/u,/\\p{Emoji}\\u{FE0F}?\\u{20E3}/u,/\\p{Emoji}\\u{FE0F}/u,/(?=\\p{General_Category=Other_Symbol})\\p{Emoji}\\p{Emoji_Modifier}*/u].map((t=>t.source)).join(\"|\")+\")\";return new RegExp(`${t}|${e}(?:‍${e})*`,\"ug\")}();function Ti(t,e){const n=String(t).matchAll(Bi);return Array.from(n).some((t=>t.index{this._renderViewIntoCollectionParent(e,n)})),this.on(\"remove\",((t,e)=>{e.element&&this._parentElement&&e.element.remove()})),this._parentElement=null}destroy(){this.map((t=>t.destroy()))}setParent(t){this._parentElement=t;for(const t of this)this._renderViewIntoCollectionParent(t)}delegate(...t){if(!t.length||!t.every((t=>\"string\"==typeof t)))throw new k(\"ui-viewcollection-delegate-wrong-events\",this);return{to:e=>{for(const n of this)for(const o of t)n.delegate(o).to(e);this.on(\"add\",((n,o)=>{for(const n of t)o.delegate(n).to(e)})),this.on(\"remove\",((n,o)=>{for(const n of t)o.stopDelegating(n,e)}))}}}_renderViewIntoCollectionParent(t,e){t.isRendered||t.render(),t.element&&this._parentElement&&this._parentElement.insertBefore(t.element,this._parentElement.children[e])}remove(t){return super.remove(t)}}var Ii=n(3379),Ri=n.n(Ii),Oi=n(5167),zi={injectType:\"singletonStyleTag\",attributes:{\"data-cke\":!0},insert:\"head\",singleton:!0};Ri()(Oi.Z,zi);Oi.Z.locals;class Mi extends(Do(j())){constructor(t){super(),this.element=null,this.isRendered=!1,this.locale=t,this.t=t&&t.t,this._viewCollections=new Ai,this._unboundChildren=this.createCollection(),this._viewCollections.on(\"add\",((e,n)=>{n.locale=t,n.t=t&&t.t})),this.decorate(\"render\")}get bindTemplate(){return this._bindTemplate?this._bindTemplate:this._bindTemplate=Fi.bind(this,this)}createCollection(t){const e=new Pi(t);return this._viewCollections.add(e),e}registerChild(t){Y(t)||(t=[t]);for(const e of t)this._unboundChildren.add(e)}deregisterChild(t){Y(t)||(t=[t]);for(const e of t)this._unboundChildren.remove(e)}setTemplate(t){this.template=new Fi(t)}extendTemplate(t){Fi.extend(this.template,t)}render(){if(this.isRendered)throw new k(\"ui-view-render-already-rendered\",this);this.template&&(this.element=this.template.render(),this.registerChild(this.template.getViews())),this.isRendered=!0}destroy(){this.stopListening(),this._viewCollections.map((t=>t.destroy())),this.template&&this.template._revertData&&this.template.revert(this.element)}}class Fi extends(D()){constructor(t){super(),Object.assign(this,$i(Gi(t))),this._isRendered=!1,this._revertData=null}render(){const t=this._renderNode({intoFragment:!0});return this._isRendered=!0,t}apply(t){return this._revertData={children:[],bindings:[],attributes:{}},this._renderNode({node:t,intoFragment:!1,isApplying:!0,revertData:this._revertData}),t}revert(t){if(!this._revertData)throw new k(\"ui-template-revert-not-applied\",[this,t]);this._revertTemplateFromNode(t,this._revertData)}*getViews(){yield*function*t(e){if(e.children)for(const n of e.children)Xi(n)?yield n:tr(n)&&(yield*t(n))}(this)}static bind(t,e){return{to:(n,o)=>new Vi({eventNameOrFunction:n,attribute:n,observable:t,emitter:e,callback:o}),if:(n,o,i)=>new Li({observable:t,emitter:e,attribute:n,valueIfTrue:o,callback:i})}}static extend(t,e){if(t._isRendered)throw new k(\"template-extend-render\",[this,t]);Yi(t,$i(Gi(e)))}_renderNode(t){let e;if(e=t.node?this.tag&&this.text:this.tag?this.text:!this.text,e)throw new k(\"ui-template-wrong-syntax\",this);return this.text?this._renderText(t):this._renderElement(t)}_renderElement(t){let e=t.node;return e||(e=t.node=document.createElementNS(this.ns||\"http://www.w3.org/1999/xhtml\",this.tag)),this._renderAttributes(t),this._renderElementChildren(t),this._setUpListeners(t),e}_renderText(t){let e=t.node;return e?t.revertData.text=e.textContent:e=t.node=document.createTextNode(\"\"),Hi(this.text)?this._bindToObservable({schema:this.text,updater:qi(e),data:t}):e.textContent=this.text.join(\"\"),e}_renderAttributes(t){if(!this.attributes)return;const e=t.node,n=t.revertData;for(const o in this.attributes){const i=e.getAttribute(o),r=this.attributes[o];n&&(n.attributes[o]=i);const s=nr(r)?r[0].ns:null;if(Hi(r)){const a=nr(r)?r[0].value:r;n&&or(o)&&a.unshift(i),this._bindToObservable({schema:a,updater:Ki(e,o,s),data:t})}else if(\"style\"==o&&\"string\"!=typeof r[0])this._renderStyleAttribute(r[0],t);else{n&&i&&or(o)&&r.unshift(i);const t=r.map((t=>t&&t.value||t)).reduce(((t,e)=>t.concat(e)),[]).reduce(Zi,\"\");Qi(t)||e.setAttributeNS(s,o,t)}}}_renderStyleAttribute(t,e){const n=e.node;for(const o in t){const i=t[o];Hi(i)?this._bindToObservable({schema:[i],updater:Wi(n,o),data:e}):n.style[o]=i}}_renderElementChildren(t){const e=t.node,n=t.intoFragment?document.createDocumentFragment():e,o=t.isApplying;let i=0;for(const r of this.children)if(er(r)){if(!o){r.setParent(e);for(const t of r)n.appendChild(t.element)}}else if(Xi(r))o||(r.isRendered||r.render(),n.appendChild(r.element));else if(yo(r))n.appendChild(r);else if(o){const e={children:[],bindings:[],attributes:{}};t.revertData.children.push(e),r._renderNode({intoFragment:!1,node:n.childNodes[i++],isApplying:!0,revertData:e})}else n.appendChild(r.render());t.intoFragment&&e.appendChild(n)}_setUpListeners(t){if(this.eventListeners)for(const e in this.eventListeners){const n=this.eventListeners[e].map((n=>{const[o,i]=e.split(\"@\");return n.activateDomEventListener(o,i,t)}));t.revertData&&t.revertData.bindings.push(n)}}_bindToObservable({schema:t,updater:e,data:n}){const o=n.revertData;ji(t,e,n);const i=t.filter((t=>!Qi(t))).filter((t=>t.observable)).map((o=>o.activateAttributeListener(t,e,n)));o&&o.bindings.push(i)}_revertTemplateFromNode(t,e){for(const t of e.bindings)for(const e of t)e();if(e.text)return void(t.textContent=e.text);const n=t;for(const t in e.attributes){const o=e.attributes[t];null===o?n.removeAttribute(t):n.setAttribute(t,o)}for(let t=0;tji(t,e,n);return this.emitter.listenTo(this.observable,`change:${this.attribute}`,o),()=>{this.emitter.stopListening(this.observable,`change:${this.attribute}`,o)}}}class Vi extends Ni{constructor(t){super(t),this.eventNameOrFunction=t.eventNameOrFunction}activateDomEventListener(t,e,n){const o=(t,n)=>{e&&!n.target.matches(e)||(\"function\"==typeof this.eventNameOrFunction?this.eventNameOrFunction(n):this.observable.fire(this.eventNameOrFunction,n))};return this.emitter.listenTo(n.node,t,o),()=>{this.emitter.stopListening(n.node,t,o)}}}class Li extends Ni{constructor(t){super(t),this.valueIfTrue=t.valueIfTrue}getValue(t){return!Qi(super.getValue(t))&&(this.valueIfTrue||!0)}}function Hi(t){return!!t&&(t.value&&(t=t.value),Array.isArray(t)?t.some(Hi):t instanceof Ni)}function ji(t,e,{node:n}){const o=function(t,e){return t.map((t=>t instanceof Ni?t.getValue(e):t))}(t,n);let i;i=1==t.length&&t[0]instanceof Li?o[0]:o.reduce(Zi,\"\"),Qi(i)?e.remove():e.set(i)}function qi(t){return{set(e){t.textContent=e},remove(){t.textContent=\"\"}}}function Ki(t,e,n){return{set(o){t.setAttributeNS(n,e,o)},remove(){t.removeAttributeNS(n,e)}}}function Wi(t,e){return{set(n){t.style[e]=n},remove(){t.style[e]=null}}}function Gi(t){return wo(t,(t=>{if(t&&(t instanceof Ni||tr(t)||Xi(t)||er(t)))return t}))}function $i(t){if(\"string\"==typeof t?t=function(t){return{text:[t]}}(t):t.text&&function(t){t.text=fi(t.text)}(t),t.on&&(t.eventListeners=function(t){for(const e in t)Ui(t,e);return t}(t.on),delete t.on),!t.text){t.attributes&&function(t){for(const e in t)t[e].value&&(t[e].value=fi(t[e].value)),Ui(t,e)}(t.attributes);const e=[];if(t.children)if(er(t.children))e.push(t.children);else for(const n of t.children)tr(n)||Xi(n)||yo(n)?e.push(n):e.push(new Fi(n));t.children=e}return t}function Ui(t,e){t[e]=fi(t[e])}function Zi(t,e){return Qi(e)?t:Qi(t)?e:`${t} ${e}`}function Ji(t,e){for(const n in e)t[n]?t[n].push(...e[n]):t[n]=e[n]}function Yi(t,e){if(e.attributes&&(t.attributes||(t.attributes={}),Ji(t.attributes,e.attributes)),e.eventListeners&&(t.eventListeners||(t.eventListeners={}),Ji(t.eventListeners,e.eventListeners)),e.text&&t.text.push(...e.text),e.children&&e.children.length){if(t.children.length!=e.children.length)throw new k(\"ui-template-extend-children-mismatch\",t);let n=0;for(const o of e.children)Yi(t.children[n++],o)}}function Qi(t){return!t&&0!==t}function Xi(t){return t instanceof Mi}function tr(t){return t instanceof Fi}function er(t){return t instanceof Pi}function nr(t){return z(t[0])&&t[0].ns}function or(t){return\"class\"==t||\"style\"==t}class ir extends Pi{constructor(t,e=[]){super(e),this.locale=t}get bodyCollectionContainer(){return this._bodyCollectionContainer}attachToDom(){this._bodyCollectionContainer=new Fi({tag:\"div\",attributes:{class:[\"ck\",\"ck-reset_all\",\"ck-body\",\"ck-rounded-corners\"],dir:this.locale.uiLanguageDirection},children:this}).render();let t=document.querySelector(\".ck-body-wrapper\");t||(t=gt(document,\"div\",{class:\"ck-body-wrapper\"}),document.body.appendChild(t)),t.appendChild(this._bodyCollectionContainer)}detachFromDom(){super.destroy(),this._bodyCollectionContainer&&this._bodyCollectionContainer.remove();const t=document.querySelector(\".ck-body-wrapper\");t&&0==t.childElementCount&&t.remove()}}var rr=n(1977),sr={injectType:\"singletonStyleTag\",attributes:{\"data-cke\":!0},insert:\"head\",singleton:!0};Ri()(rr.Z,sr);rr.Z.locals;class ar extends Mi{constructor(){super();const t=this.bindTemplate;this.set(\"content\",\"\"),this.set(\"viewBox\",\"0 0 20 20\"),this.set(\"fillColor\",\"\"),this.set(\"isColorInherited\",!0),this.set(\"isVisible\",!0),this.setTemplate({tag:\"svg\",ns:\"http://www.w3.org/2000/svg\",attributes:{class:[\"ck\",\"ck-icon\",t.if(\"isVisible\",\"ck-hidden\",(t=>!t)),\"ck-reset_all-excluded\",t.if(\"isColorInherited\",\"ck-icon_inherit-color\")],viewBox:t.to(\"viewBox\")}})}render(){super.render(),this._updateXMLContent(),this._colorFillPaths(),this.on(\"change:content\",(()=>{this._updateXMLContent(),this._colorFillPaths()})),this.on(\"change:fillColor\",(()=>{this._colorFillPaths()}))}_updateXMLContent(){if(this.content){const t=(new DOMParser).parseFromString(this.content.trim(),\"image/svg+xml\").querySelector(\"svg\"),e=t.getAttribute(\"viewBox\");e&&(this.viewBox=e);for(const{name:e,value:n}of Array.from(t.attributes))ar.presentationalAttributeNames.includes(e)&&this.element.setAttribute(e,n);for(;this.element.firstChild;)this.element.removeChild(this.element.firstChild);for(;t.childNodes.length>0;)this.element.appendChild(t.childNodes[0])}}_colorFillPaths(){this.fillColor&&this.element.querySelectorAll(\".ck-icon__fill\").forEach((t=>{t.style.fill=this.fillColor}))}}ar.presentationalAttributeNames=[\"alignment-baseline\",\"baseline-shift\",\"clip-path\",\"clip-rule\",\"color\",\"color-interpolation\",\"color-interpolation-filters\",\"color-rendering\",\"cursor\",\"direction\",\"display\",\"dominant-baseline\",\"fill\",\"fill-opacity\",\"fill-rule\",\"filter\",\"flood-color\",\"flood-opacity\",\"font-family\",\"font-size\",\"font-size-adjust\",\"font-stretch\",\"font-style\",\"font-variant\",\"font-weight\",\"image-rendering\",\"letter-spacing\",\"lighting-color\",\"marker-end\",\"marker-mid\",\"marker-start\",\"mask\",\"opacity\",\"overflow\",\"paint-order\",\"pointer-events\",\"shape-rendering\",\"stop-color\",\"stop-opacity\",\"stroke\",\"stroke-dasharray\",\"stroke-dashoffset\",\"stroke-linecap\",\"stroke-linejoin\",\"stroke-miterlimit\",\"stroke-opacity\",\"stroke-width\",\"text-anchor\",\"text-decoration\",\"text-overflow\",\"text-rendering\",\"transform\",\"unicode-bidi\",\"vector-effect\",\"visibility\",\"white-space\",\"word-spacing\",\"writing-mode\"];class cr extends Mi{constructor(){super(),this.set({style:void 0,text:void 0,id:void 0});const t=this.bindTemplate;this.setTemplate({tag:\"span\",attributes:{class:[\"ck\",\"ck-button__label\"],style:t.to(\"style\"),id:t.to(\"id\")},children:[{text:t.to(\"text\")}]})}}var lr=n(4971),dr={injectType:\"singletonStyleTag\",attributes:{\"data-cke\":!0},insert:\"head\",singleton:!0};Ri()(lr.Z,dr);lr.Z.locals;class hr extends Mi{constructor(t,e=new cr){super(t),this._focusDelayed=null;const n=this.bindTemplate,o=p();this.set(\"ariaLabel\",void 0),this.set(\"ariaLabelledBy\",`ck-editor__aria-label_${o}`),this.set(\"class\",void 0),this.set(\"labelStyle\",void 0),this.set(\"icon\",void 0),this.set(\"isEnabled\",!0),this.set(\"isOn\",!1),this.set(\"isVisible\",!0),this.set(\"isToggleable\",!1),this.set(\"keystroke\",void 0),this.set(\"label\",void 0),this.set(\"role\",void 0),this.set(\"tabindex\",-1),this.set(\"tooltip\",!1),this.set(\"tooltipPosition\",\"s\"),this.set(\"type\",\"button\"),this.set(\"withText\",!1),this.set(\"withKeystroke\",!1),this.children=this.createCollection(),this.labelView=this._setupLabelView(e),this.iconView=new ar,this.iconView.extendTemplate({attributes:{class:\"ck-button__icon\"}}),this.keystrokeView=this._createKeystrokeView(),this.bind(\"_tooltipString\").to(this,\"tooltip\",this,\"label\",this,\"keystroke\",this._getTooltipString.bind(this));const r={tag:\"button\",attributes:{class:[\"ck\",\"ck-button\",n.to(\"class\"),n.if(\"isEnabled\",\"ck-disabled\",(t=>!t)),n.if(\"isVisible\",\"ck-hidden\",(t=>!t)),n.to(\"isOn\",(t=>t?\"ck-on\":\"ck-off\")),n.if(\"withText\",\"ck-button_with-text\"),n.if(\"withKeystroke\",\"ck-button_with-keystroke\")],role:n.to(\"role\"),type:n.to(\"type\",(t=>t||\"button\")),tabindex:n.to(\"tabindex\"),\"aria-label\":n.to(\"ariaLabel\"),\"aria-labelledby\":n.to(\"ariaLabelledBy\"),\"aria-disabled\":n.if(\"isEnabled\",!0,(t=>!t)),\"aria-pressed\":n.to(\"isOn\",(t=>!!this.isToggleable&&String(!!t))),\"data-cke-tooltip-text\":n.to(\"_tooltipString\"),\"data-cke-tooltip-position\":n.to(\"tooltipPosition\")},children:this.children,on:{click:n.to((t=>{this.isEnabled?this.fire(\"execute\"):t.preventDefault()}))}};i.isSafari&&(this._focusDelayed||(this._focusDelayed=Ei((()=>this.focus()),0)),r.on.mousedown=n.to((()=>{this._focusDelayed()})),r.on.mouseup=n.to((()=>{this._focusDelayed.cancel()}))),this.setTemplate(r)}render(){super.render(),this.icon&&(this.iconView.bind(\"content\").to(this,\"icon\"),this.children.add(this.iconView)),this.children.add(this.labelView),this.withKeystroke&&this.keystroke&&this.children.add(this.keystrokeView)}focus(){this.element.focus()}destroy(){this._focusDelayed&&this._focusDelayed.cancel(),super.destroy()}_setupLabelView(t){return t.bind(\"text\",\"style\",\"id\").to(this,\"label\",\"labelStyle\",\"ariaLabelledBy\"),t}_createKeystrokeView(){const t=new Mi;return t.setTemplate({tag:\"span\",attributes:{class:[\"ck\",\"ck-button__keystroke\"]},children:[{text:this.bindTemplate.to(\"keystroke\",(t=>gi(t)))}]}),t}_getTooltipString(t,e,n){return t?\"string\"==typeof t?t:(n&&(n=gi(n)),t instanceof Function?t(e,n):`${e}${n?` (${n})`:\"\"}`):\"\"}}var ur=n(7258),pr={injectType:\"singletonStyleTag\",attributes:{\"data-cke\":!0},insert:\"head\",singleton:!0};Ri()(ur.Z,pr);ur.Z.locals;class gr extends hr{constructor(t){super(t),this.isToggleable=!0,this.toggleSwitchView=this._createToggleView(),this.extendTemplate({attributes:{class:\"ck-switchbutton\"}})}render(){super.render(),this.children.add(this.toggleSwitchView)}_createToggleView(){const t=new Mi;return t.setTemplate({tag:\"span\",attributes:{class:[\"ck\",\"ck-button__toggle\"]},children:[{tag:\"span\",attributes:{class:[\"ck\",\"ck-button__toggle__inner\"]}}]}),t}}var mr=n(4923),fr={injectType:\"singletonStyleTag\",attributes:{\"data-cke\":!0},insert:\"head\",singleton:!0};Ri()(mr.Z,fr);mr.Z.locals;n(8874);n(2085);var kr=n(3525),br={injectType:\"singletonStyleTag\",attributes:{\"data-cke\":!0},insert:\"head\",singleton:!0};Ri()(kr.Z,br);kr.Z.locals;class wr extends Mi{constructor(t){super(t),this.set(\"text\",void 0),this.set(\"for\",void 0),this.id=`ck-editor__label_${p()}`;const e=this.bindTemplate;this.setTemplate({tag:\"label\",attributes:{class:[\"ck\",\"ck-label\"],id:this.id,for:e.to(\"for\")},children:[{text:e.to(\"text\")}]})}}var _r=n(2933),Ar={injectType:\"singletonStyleTag\",attributes:{\"data-cke\":!0},insert:\"head\",singleton:!0};Ri()(_r.Z,Ar);_r.Z.locals;class Cr extends Mi{constructor(t,e){super(t);const n=`ck-labeled-field-view-${p()}`,o=`ck-labeled-field-view-status-${p()}`;this.fieldView=e(this,n,o),this.set(\"label\",void 0),this.set(\"isEnabled\",!0),this.set(\"isEmpty\",!0),this.set(\"isFocused\",!1),this.set(\"errorText\",null),this.set(\"infoText\",null),this.set(\"class\",void 0),this.set(\"placeholder\",void 0),this.labelView=this._createLabelView(n),this.statusView=this._createStatusView(o),this.fieldWrapperChildren=this.createCollection([this.fieldView,this.labelView]),this.bind(\"_statusText\").to(this,\"errorText\",this,\"infoText\",((t,e)=>t||e));const i=this.bindTemplate;this.setTemplate({tag:\"div\",attributes:{class:[\"ck\",\"ck-labeled-field-view\",i.to(\"class\"),i.if(\"isEnabled\",\"ck-disabled\",(t=>!t)),i.if(\"isEmpty\",\"ck-labeled-field-view_empty\"),i.if(\"isFocused\",\"ck-labeled-field-view_focused\"),i.if(\"placeholder\",\"ck-labeled-field-view_placeholder\"),i.if(\"errorText\",\"ck-error\")]},children:[{tag:\"div\",attributes:{class:[\"ck\",\"ck-labeled-field-view__input-wrapper\"]},children:this.fieldWrapperChildren},this.statusView]})}_createLabelView(t){const e=new wr(this.locale);return e.for=t,e.bind(\"text\").to(this,\"label\"),e}_createStatusView(t){const e=new Mi(this.locale),n=this.bindTemplate;return e.setTemplate({tag:\"div\",attributes:{class:[\"ck\",\"ck-labeled-field-view__status\",n.if(\"errorText\",\"ck-labeled-field-view__status_error\"),n.if(\"_statusText\",\"ck-hidden\",(t=>!t))],id:t,role:n.if(\"errorText\",\"alert\")},children:[{text:n.to(\"_statusText\")}]}),e}focus(t){this.fieldView.focus(t)}}class vr extends Mi{constructor(t){super(t),this.set(\"value\",void 0),this.set(\"id\",void 0),this.set(\"placeholder\",void 0),this.set(\"isReadOnly\",!1),this.set(\"hasError\",!1),this.set(\"ariaDescribedById\",void 0),this.focusTracker=new vi,this.bind(\"isFocused\").to(this.focusTracker),this.set(\"isEmpty\",!0);const e=this.bindTemplate;this.setTemplate({tag:\"input\",attributes:{class:[\"ck\",\"ck-input\",e.if(\"isFocused\",\"ck-input_focused\"),e.if(\"isEmpty\",\"ck-input-text_empty\"),e.if(\"hasError\",\"ck-error\")],id:e.to(\"id\"),placeholder:e.to(\"placeholder\"),readonly:e.to(\"isReadOnly\"),\"aria-invalid\":e.if(\"hasError\",!0),\"aria-describedby\":e.to(\"ariaDescribedById\")},on:{input:e.to(((...t)=>{this.fire(\"input\",...t),this._updateIsEmpty()})),change:e.to(this._updateIsEmpty.bind(this))}})}render(){super.render(),this.focusTracker.add(this.element),this._setDomElementValue(this.value),this._updateIsEmpty(),this.on(\"change:value\",((t,e,n)=>{this._setDomElementValue(n),this._updateIsEmpty()}))}destroy(){super.destroy(),this.focusTracker.destroy()}select(){this.element.select()}focus(){this.element.focus()}reset(){this.value=this.element.value=\"\",this._updateIsEmpty()}_updateIsEmpty(){this.isEmpty=!this.element.value}_setDomElementValue(t){this.element.value=t||0===t?t:\"\"}}var yr=n(2470),xr={injectType:\"singletonStyleTag\",attributes:{\"data-cke\":!0},insert:\"head\",singleton:!0};Ri()(yr.Z,xr);yr.Z.locals;class Er extends vr{constructor(t){super(t),this.set(\"inputMode\",\"text\");const e=this.bindTemplate;this.extendTemplate({attributes:{inputmode:e.to(\"inputMode\")}})}}class Dr extends Er{constructor(t){super(t),this.extendTemplate({attributes:{type:\"text\",class:[\"ck-input-text\"]}})}}var Sr=n(5224),Br={injectType:\"singletonStyleTag\",attributes:{\"data-cke\":!0},insert:\"head\",singleton:!0};Ri()(Sr.Z,Br);Sr.Z.locals;class Tr extends Mi{constructor(t){super(t);const e=this.bindTemplate;this.set(\"isVisible\",!1),this.set(\"position\",\"se\"),this.children=this.createCollection(),this.setTemplate({tag:\"div\",attributes:{class:[\"ck\",\"ck-reset\",\"ck-dropdown__panel\",e.to(\"position\",(t=>`ck-dropdown__panel_${t}`)),e.if(\"isVisible\",\"ck-dropdown__panel-visible\")],tabindex:\"-1\"},children:this.children,on:{selectstart:e.to((t=>{\"input\"!==t.target.tagName.toLocaleLowerCase()&&t.preventDefault()}))}})}focus(){if(this.children.length){const t=this.children.first;\"function\"==typeof t.focus?t.focus():b(\"ui-dropdown-panel-focus-child-missing-focus\",{childView:this.children.first,dropdownPanel:this})}}focusLast(){if(this.children.length){const t=this.children.last;\"function\"==typeof t.focusLast?t.focusLast():t.focus()}}}var Pr=n(5062),Ir={injectType:\"singletonStyleTag\",attributes:{\"data-cke\":!0},insert:\"head\",singleton:!0};Ri()(Pr.Z,Ir);Pr.Z.locals;class Rr extends Mi{constructor(t,e,n){super(t);const o=this.bindTemplate;this.buttonView=e,this.panelView=n,this.set(\"isOpen\",!1),this.set(\"isEnabled\",!0),this.set(\"class\",void 0),this.set(\"id\",void 0),this.set(\"panelPosition\",\"auto\"),this.panelView.bind(\"isVisible\").to(this,\"isOpen\"),this.keystrokes=new yi,this.focusTracker=new vi,this.setTemplate({tag:\"div\",attributes:{class:[\"ck\",\"ck-dropdown\",o.to(\"class\"),o.if(\"isEnabled\",\"ck-disabled\",(t=>!t))],id:o.to(\"id\"),\"aria-describedby\":o.to(\"ariaDescribedById\")},children:[e,n]}),e.extendTemplate({attributes:{class:[\"ck-dropdown__button\"],\"data-cke-tooltip-disabled\":o.to(\"isOpen\")}})}render(){super.render(),this.focusTracker.add(this.buttonView.element),this.focusTracker.add(this.panelView.element),this.listenTo(this.buttonView,\"open\",(()=>{this.isOpen=!this.isOpen})),this.on(\"change:isOpen\",((t,e,n)=>{if(n)if(\"auto\"===this.panelPosition){const t=Rr._getOptimalPosition({element:this.panelView.element,target:this.buttonView.element,fitInViewport:!0,positions:this._panelPositions});this.panelView.position=t?t.name:this._panelPositions[0].name}else this.panelView.position=this.panelPosition})),this.keystrokes.listenTo(this.element);const t=(t,e)=>{this.isOpen&&(this.isOpen=!1,e())};this.keystrokes.set(\"arrowdown\",((t,e)=>{this.buttonView.isEnabled&&!this.isOpen&&(this.isOpen=!0,e())})),this.keystrokes.set(\"arrowright\",((t,e)=>{this.isOpen&&e()})),this.keystrokes.set(\"arrowleft\",t),this.keystrokes.set(\"esc\",t)}focus(){this.buttonView.focus()}get _panelPositions(){const{south:t,north:e,southEast:n,southWest:o,northEast:i,northWest:r,southMiddleEast:s,southMiddleWest:a,northMiddleEast:c,northMiddleWest:l}=Rr.defaultPanelPositions;return\"rtl\"!==this.locale.uiLanguageDirection?[n,o,s,a,t,i,r,c,l,e]:[o,n,a,s,t,r,i,l,c,e]}}Rr.defaultPanelPositions={south:(t,e)=>({top:t.bottom,left:t.left-(e.width-t.width)/2,name:\"s\"}),southEast:t=>({top:t.bottom,left:t.left,name:\"se\"}),southWest:(t,e)=>({top:t.bottom,left:t.left-e.width+t.width,name:\"sw\"}),southMiddleEast:(t,e)=>({top:t.bottom,left:t.left-(e.width-t.width)/4,name:\"sme\"}),southMiddleWest:(t,e)=>({top:t.bottom,left:t.left-3*(e.width-t.width)/4,name:\"smw\"}),north:(t,e)=>({top:t.top-e.height,left:t.left-(e.width-t.width)/2,name:\"n\"}),northEast:(t,e)=>({top:t.top-e.height,left:t.left,name:\"ne\"}),northWest:(t,e)=>({top:t.top-e.height,left:t.left-e.width+t.width,name:\"nw\"}),northMiddleEast:(t,e)=>({top:t.top-e.height,left:t.left-(e.width-t.width)/4,name:\"nme\"}),northMiddleWest:(t,e)=>({top:t.top-e.height,left:t.left-3*(e.width-t.width)/4,name:\"nmw\"})},Rr._getOptimalPosition=Zo;const Or='';class zr extends hr{constructor(t){super(t),this.arrowView=this._createArrowView(),this.extendTemplate({attributes:{\"aria-haspopup\":!0,\"aria-expanded\":this.bindTemplate.to(\"isOn\",(t=>String(t)))}}),this.delegate(\"execute\").to(this,\"open\")}render(){super.render(),this.children.add(this.arrowView)}_createArrowView(){const t=new ar;return t.content=Or,t.extendTemplate({attributes:{class:\"ck-dropdown__arrow\"}}),t}}class Mr extends(D()){constructor(t){if(super(),this.focusables=t.focusables,this.focusTracker=t.focusTracker,this.keystrokeHandler=t.keystrokeHandler,this.actions=t.actions,t.actions&&t.keystrokeHandler)for(const e in t.actions){let n=t.actions[e];\"string\"==typeof n&&(n=[n]);for(const o of n)t.keystrokeHandler.set(o,((t,n)=>{this[e](),n()}))}this.on(\"forwardCycle\",(()=>this.focusFirst()),{priority:\"low\"}),this.on(\"backwardCycle\",(()=>this.focusLast()),{priority:\"low\"})}get first(){return this.focusables.find(Fr)||null}get last(){return this.focusables.filter(Fr).slice(-1)[0]||null}get next(){return this._getFocusableItem(1)}get previous(){return this._getFocusableItem(-1)}get current(){let t=null;return null===this.focusTracker.focusedElement?null:(this.focusables.find(((e,n)=>{const o=e.element===this.focusTracker.focusedElement;return o&&(t=n),o})),t)}focusFirst(){this._focus(this.first,1)}focusLast(){this._focus(this.last,-1)}focusNext(){const t=this.next;t&&this.focusables.getIndex(t)===this.current||(t===this.first?this.fire(\"forwardCycle\"):this._focus(t,1))}focusPrevious(){const t=this.previous;t&&this.focusables.getIndex(t)===this.current||(t===this.last?this.fire(\"backwardCycle\"):this._focus(t,-1))}_focus(t,e){t&&t.focus(e)}_getFocusableItem(t){const e=this.current,n=this.focusables.length;if(!n)return null;if(null===e)return this[1===t?\"first\":\"last\"];let o=(e+n+t)%n;do{const e=this.focusables.get(o);if(Fr(e))return e;o=(o+n+t)%n}while(o!==e);return null}}function Fr(t){return!(!(\"focus\"in t)||!Uo(t.element))}class Nr extends Mi{constructor(t){super(t),this.setTemplate({tag:\"span\",attributes:{class:[\"ck\",\"ck-toolbar__separator\"]}})}}class Vr extends Mi{constructor(t){super(t),this.setTemplate({tag:\"span\",attributes:{class:[\"ck\",\"ck-toolbar__line-break\"]}})}}function Lr(t){if(Array.isArray(t))return{items:t,removeItems:[]};const e={items:[],removeItems:[]};return t?{...e,...t}:e}class Hr extends(j()){constructor(t){super(),this._disableStack=new Set,this.editor=t,this.set(\"isEnabled\",!0)}forceDisabled(t){this._disableStack.add(t),1==this._disableStack.size&&(this.on(\"set:isEnabled\",jr,{priority:\"highest\"}),this.isEnabled=!1)}clearForceDisabled(t){this._disableStack.delete(t),0==this._disableStack.size&&(this.off(\"set:isEnabled\",jr),this.isEnabled=!0)}destroy(){this.stopListening()}static get isContextPlugin(){return!1}}function jr(t){t.return=!1,t.stop()}class qr extends(j()){constructor(t){super(),this.editor=t,this.set(\"value\",void 0),this.set(\"isEnabled\",!1),this._affectsData=!0,this._isEnabledBasedOnSelection=!0,this._disableStack=new Set,this.decorate(\"execute\"),this.listenTo(this.editor.model.document,\"change\",(()=>{this.refresh()})),this.listenTo(t,\"change:isReadOnly\",(()=>{this.refresh()})),this.on(\"set:isEnabled\",(e=>{if(!this.affectsData)return;const n=t.model.document.selection,o=!(\"$graveyard\"==n.getFirstPosition().root.rootName)&&t.model.canEditAt(n);(t.isReadOnly||this._isEnabledBasedOnSelection&&!o)&&(e.return=!1,e.stop())}),{priority:\"highest\"}),this.on(\"execute\",(t=>{this.isEnabled||t.stop()}),{priority:\"high\"})}get affectsData(){return this._affectsData}set affectsData(t){this._affectsData=t}refresh(){this.isEnabled=!0}forceDisabled(t){this._disableStack.add(t),1==this._disableStack.size&&(this.on(\"set:isEnabled\",Kr,{priority:\"highest\"}),this.isEnabled=!1)}clearForceDisabled(t){this._disableStack.delete(t),0==this._disableStack.size&&(this.off(\"set:isEnabled\",Kr),this.refresh())}execute(...t){}destroy(){this.stopListening()}}function Kr(t){t.return=!1,t.stop()}class Wr extends qr{constructor(){super(...arguments),this._childCommandsDefinitions=[]}refresh(){}execute(...t){const e=this._getFirstEnabledCommand();return!!e&&e.execute(t)}registerChildCommand(t,e={}){m(this._childCommandsDefinitions,{command:t,priority:e.priority||\"normal\"}),t.on(\"change:isEnabled\",(()=>this._checkEnabled())),this._checkEnabled()}_checkEnabled(){this.isEnabled=!!this._getFirstEnabledCommand()}_getFirstEnabledCommand(){const t=this._childCommandsDefinitions.find((({command:t})=>t.isEnabled));return t&&t.command}}class Gr extends(D()){constructor(t,e=[],n=[]){super(),this._plugins=new Map,this._context=t,this._availablePlugins=new Map;for(const t of e)t.pluginName&&this._availablePlugins.set(t.pluginName,t);this._contextPlugins=new Map;for(const[t,e]of n)this._contextPlugins.set(t,e),this._contextPlugins.set(e,t),t.pluginName&&this._availablePlugins.set(t.pluginName,t)}*[Symbol.iterator](){for(const t of this._plugins)\"function\"==typeof t[0]&&(yield t)}get(t){const e=this._plugins.get(t);if(!e){let e=t;throw\"function\"==typeof t&&(e=t.pluginName||t.name),new k(\"plugincollection-plugin-not-loaded\",this._context,{plugin:e})}return e}has(t){return this._plugins.has(t)}init(t,e=[],n=[]){const o=this,i=this._context;!function t(e,n=new Set){e.forEach((e=>{a(e)&&(n.has(e)||(n.add(e),e.pluginName&&!o._availablePlugins.has(e.pluginName)&&o._availablePlugins.set(e.pluginName,e),e.requires&&t(e.requires,n)))}))}(t),h(t);const r=[...function t(e,n=new Set){return e.map((t=>a(t)?t:o._availablePlugins.get(t))).reduce(((e,o)=>n.has(o)?e:(n.add(o),o.requires&&(h(o.requires,o),t(o.requires,n).forEach((t=>e.add(t)))),e.add(o))),new Set)}(t.filter((t=>!l(t,e))))];!function(t,e){for(const n of e){if(\"function\"!=typeof n)throw new k(\"plugincollection-replace-plugin-invalid-type\",null,{pluginItem:n});const e=n.pluginName;if(!e)throw new k(\"plugincollection-replace-plugin-missing-name\",null,{pluginItem:n});if(n.requires&&n.requires.length)throw new k(\"plugincollection-plugin-for-replacing-cannot-have-dependencies\",null,{pluginName:e});const i=o._availablePlugins.get(e);if(!i)throw new k(\"plugincollection-plugin-for-replacing-not-exist\",null,{pluginName:e});const r=t.indexOf(i);if(-1===r){if(o._contextPlugins.has(i))return;throw new k(\"plugincollection-plugin-for-replacing-not-loaded\",null,{pluginName:e})}if(i.requires&&i.requires.length)throw new k(\"plugincollection-replaced-plugin-cannot-have-dependencies\",null,{pluginName:e});t.splice(r,1,n),o._availablePlugins.set(e,n)}}(r,n);const s=function(t){return t.map((t=>{let e=o._contextPlugins.get(t);return e=e||new t(i),o._add(t,e),e}))}(r);return u(s,\"init\").then((()=>u(s,\"afterInit\"))).then((()=>s));function a(t){return\"function\"==typeof t}function c(t){return a(t)&&!!t.isContextPlugin}function l(t,e){return e.some((e=>e===t||(d(t)===e||d(e)===t)))}function d(t){return a(t)?t.pluginName||t.name:t}function h(t,n=null){t.map((t=>a(t)?t:o._availablePlugins.get(t)||t)).forEach((t=>{!function(t,e){if(a(t))return;if(e)throw new k(\"plugincollection-soft-required\",i,{missingPlugin:t,requiredBy:d(e)});throw new k(\"plugincollection-plugin-not-found\",i,{plugin:t})}(t,n),function(t,e){if(!c(e))return;if(c(t))return;throw new k(\"plugincollection-context-required\",i,{plugin:d(t),requiredBy:d(e)})}(t,n),function(t,n){if(!n)return;if(!l(t,e))return;throw new k(\"plugincollection-required\",i,{plugin:d(t),requiredBy:d(n)})}(t,n)}))}function u(t,e){return t.reduce(((t,n)=>n[e]?o._contextPlugins.has(n)?t:t.then(n[e].bind(n)):t),Promise.resolve())}}destroy(){const t=[];for(const[,e]of this)\"function\"!=typeof e.destroy||this._contextPlugins.has(e)||t.push(e.destroy());return Promise.all(t)}_add(t,e){this._plugins.set(t,e);const n=t.pluginName;if(n){if(this._plugins.has(n))throw new k(\"plugincollection-plugin-name-conflict\",null,{pluginName:n,plugin1:this._plugins.get(n).constructor,plugin2:t});this._plugins.set(n,e)}}}class $r{constructor(t){this._contextOwner=null,this.config=new Ao(t,this.constructor.defaultConfig);const e=this.constructor.builtinPlugins;this.config.define(\"plugins\",e),this.plugins=new Gr(this,e);const n=this.config.get(\"language\")||{};this.locale=new _i({uiLanguage:\"string\"==typeof n?n:n.ui,contentLanguage:this.config.get(\"language.content\")}),this.t=this.locale.t,this.editors=new Ai}initPlugins(){const t=this.config.get(\"plugins\")||[],e=this.config.get(\"substitutePlugins\")||[];for(const n of t.concat(e)){if(\"function\"!=typeof n)throw new k(\"context-initplugins-constructor-only\",null,{Plugin:n});if(!0!==n.isContextPlugin)throw new k(\"context-initplugins-invalid-plugin\",null,{Plugin:n})}return this.plugins.init(t,[],e)}destroy(){return Promise.all(Array.from(this.editors,(t=>t.destroy()))).then((()=>this.plugins.destroy()))}_addEditor(t,e){if(this._contextOwner)throw new k(\"context-addeditor-private-context\");this.editors.add(t),e&&(this._contextOwner=t)}_removeEditor(t){return this.editors.has(t)&&this.editors.remove(t),this._contextOwner===t?this.destroy():Promise.resolve()}_getEditorConfig(){const t={};for(const e of this.config.names())[\"plugins\",\"removePlugins\",\"extraPlugins\"].includes(e)||(t[e]=this.config.get(e));return t}static create(t){return new Promise((e=>{const n=new this(t);e(n.initPlugins().then((()=>n)))}))}}class Ur extends(j()){constructor(t){super(),this.context=t}destroy(){this.stopListening()}static get isContextPlugin(){return!0}}var Zr=n(7372),Jr={injectType:\"singletonStyleTag\",attributes:{\"data-cke\":!0},insert:\"head\",singleton:!0};Ri()(Zr.Z,Jr);Zr.Z.locals;const Yr=new WeakMap;let Qr=!1;function Xr({view:t,element:e,text:n,isDirectHost:o=!0,keepOnFocus:i=!1}){const r=t.document;function s(n){Yr.get(r).set(e,{text:n,isDirectHost:o,keepOnFocus:i,hostElement:o?e:null}),t.change((t=>es(r,t)))}Yr.has(r)||(Yr.set(r,new Map),r.registerPostFixer((t=>es(r,t))),r.on(\"change:isComposing\",(()=>{t.change((t=>es(r,t)))}),{priority:\"high\"})),e.is(\"editableElement\")&&e.on(\"change:placeholder\",((t,e,n)=>{s(n)})),e.placeholder?s(e.placeholder):n&&s(n),n&&function(){Qr||b(\"enableplaceholder-deprecated-text-option\");Qr=!0}()}function ts(t,e){return!!e.hasClass(\"ck-placeholder\")&&(t.removeClass(\"ck-placeholder\",e),!0)}function es(t,e){const n=Yr.get(t),o=[];let i=!1;for(const[t,r]of n)r.isDirectHost&&(o.push(t),ns(e,t,r)&&(i=!0));for(const[t,r]of n){if(r.isDirectHost)continue;const n=os(t);n&&(o.includes(n)||(r.hostElement=n,ns(e,t,r)&&(i=!0)))}return i}function ns(t,e,n){const{text:o,isDirectHost:i,hostElement:r}=n;let s=!1;r.getAttribute(\"data-placeholder\")!==o&&(t.setAttribute(\"data-placeholder\",o,r),s=!0);return(i||1==e.childCount)&&function(t,e){if(!t.isAttached())return!1;const n=Array.from(t.getChildren()).some((t=>!t.is(\"uiElement\")));if(n)return!1;const o=t.document,i=o.selection.anchor;return!(o.isComposing&&i&&i.parent===t||!e&&o.isFocused&&(!i||i.parent===t))}(r,n.keepOnFocus)?function(t,e){return!e.hasClass(\"ck-placeholder\")&&(t.addClass(\"ck-placeholder\",e),!0)}(t,r)&&(s=!0):ts(t,r)&&(s=!0),s}function os(t){if(t.childCount){const e=t.getChild(0);if(e.is(\"element\")&&!e.is(\"uiElement\")&&!e.is(\"attributeElement\"))return e}return null}class is{is(){throw new Error(\"is() method is abstract\")}}const rs=function(t){return bo(t,4)};class ss extends(D(is)){constructor(t){super(),this.document=t,this.parent=null}get index(){let t;if(!this.parent)return null;if(-1==(t=this.parent.getChildIndex(this)))throw new k(\"view-node-not-found-in-parent\",this);return t}get nextSibling(){const t=this.index;return null!==t&&this.parent.getChild(t+1)||null}get previousSibling(){const t=this.index;return null!==t&&this.parent.getChild(t-1)||null}get root(){let t=this;for(;t.parent;)t=t.parent;return t}isAttached(){return this.root.is(\"rootElement\")}getPath(){const t=[];let e=this;for(;e.parent;)t.unshift(e.index),e=e.parent;return t}getAncestors(t={}){const e=[];let n=t.includeSelf?this:this.parent;for(;n;)e[t.parentFirst?\"push\":\"unshift\"](n),n=n.parent;return e}getCommonAncestor(t,e={}){const n=this.getAncestors(e),o=t.getAncestors(e);let i=0;for(;n[i]==o[i]&&n[i];)i++;return 0===i?null:n[i-1]}isBefore(t){if(this==t)return!1;if(this.root!==t.root)return!1;const e=this.getPath(),n=t.getPath(),o=J(e,n);switch(o){case\"prefix\":return!0;case\"extension\":return!1;default:return e[o]t.data.length)throw new k(\"view-textproxy-wrong-offsetintext\",this);if(n<0||e+n>t.data.length)throw new k(\"view-textproxy-wrong-length\",this);this.data=t.data.substring(e,e+n),this.offsetInText=e}get offsetSize(){return this.data.length}get isPartial(){return this.data.length!==this.textNode.data.length}get parent(){return this.textNode.parent}get root(){return this.textNode.root}get document(){return this.textNode.document}getAncestors(t={}){const e=[];let n=t.includeSelf?this.textNode:this.parent;for(;null!==n;)e[t.parentFirst?\"push\":\"unshift\"](n),n=n.parent;return e}}cs.prototype.is=function(t){return\"$textProxy\"===t||\"view:$textProxy\"===t||\"textProxy\"===t||\"view:textProxy\"===t};class ls{constructor(...t){this._patterns=[],this.add(...t)}add(...t){for(let e of t)(\"string\"==typeof e||e instanceof RegExp)&&(e={name:e}),this._patterns.push(e)}match(...t){for(const e of t)for(const t of this._patterns){const n=ds(e,t);if(n)return{element:e,pattern:t,match:n}}return null}matchAll(...t){const e=[];for(const n of t)for(const t of this._patterns){const o=ds(n,t);o&&e.push({element:n,pattern:t,match:o})}return e.length>0?e:null}getElementName(){if(1!==this._patterns.length)return null;const t=this._patterns[0],e=t.name;return\"function\"==typeof t||!e||e instanceof RegExp?null:e}}function ds(t,e){if(\"function\"==typeof e)return e(t);const n={};return e.name&&(n.name=function(t,e){if(t instanceof RegExp)return!!e.match(t);return t===e}(e.name,t.name),!n.name)||e.attributes&&(n.attributes=function(t,e){const n=new Set(e.getAttributeKeys());Ct(t)?(void 0!==t.style&&b(\"matcher-pattern-deprecated-attributes-style-key\",t),void 0!==t.class&&b(\"matcher-pattern-deprecated-attributes-class-key\",t)):(n.delete(\"style\"),n.delete(\"class\"));return hs(t,n,(t=>e.getAttribute(t)))}(e.attributes,t),!n.attributes)||e.classes&&(n.classes=function(t,e){return hs(t,e.getClassNames(),(()=>{}))}(e.classes,t),!n.classes)||e.styles&&(n.styles=function(t,e){return hs(t,e.getStyleNames(!0),(t=>e.getStyle(t)))}(e.styles,t),!n.styles)?null:n}function hs(t,e,n){const o=function(t){if(Array.isArray(t))return t.map((t=>Ct(t)?(void 0!==t.key&&void 0!==t.value||b(\"matcher-pattern-missing-key-or-value\",t),[t.key,t.value]):[t,!0]));if(Ct(t))return Object.entries(t);return[[t,!0]]}(t),i=Array.from(e),r=[];if(o.forEach((([t,e])=>{i.forEach((o=>{(function(t,e){return!0===t||t===e||t instanceof RegExp&&e.match(t)})(t,o)&&function(t,e,n){if(!0===t)return!0;const o=n(e);return t===o||t instanceof RegExp&&!!String(o).match(t)}(e,o,n)&&r.push(o)}))})),o.length&&!(r.lengthi?0:i+e),(n=n>i?i:n)<0&&(n+=i),i=e>n?0:n-e>>>0,e>>>=0;for(var r=Array(i);++o0){if(++e>=800)return arguments[0]}else e=0;return t.apply(void 0,arguments)}};const Qs=Ys(Zs);const Xs=function(t,e){return Qs($s(t,e,Ks),t+\"\")};const ta=function(t,e,n){if(!z(n))return!1;var o=typeof e;return!!(\"number\"==o?on(n)&&Ve(e,n.length):\"string\"==o&&e in n)&&yt(n[e],t)};const ea=function(t){return Xs((function(e,n){var o=-1,i=n.length,r=i>1?n[i-1]:void 0,s=i>2?n[2]:void 0;for(r=t.length>3&&\"function\"==typeof r?(i--,r):void 0,s&&ta(n[0],n[1],s)&&(r=i<3?void 0:r,i=1),e=Object(e);++oe===t));return Array.isArray(e)}set(t,e){if(z(t))for(const[e,n]of Object.entries(t))this._styleProcessor.toNormalizedForm(e,n,this._styles);else this._styleProcessor.toNormalizedForm(t,e,this._styles)}remove(t){const e=aa(t);zs(this._styles,e),delete this._styles[t],this._cleanEmptyObjectsOnPath(e)}getNormalized(t){return this._styleProcessor.getNormalized(t,this._styles)}toString(){return this.isEmpty?\"\":this._getStylesEntries().map((t=>t.join(\":\"))).sort().join(\";\")+\";\"}getAsString(t){if(this.isEmpty)return;if(this._styles[t]&&!z(this._styles[t]))return this._styles[t];const e=this._styleProcessor.getReducedForm(t,this._styles).find((([e])=>e===t));return Array.isArray(e)?e[1]:void 0}getStyleNames(t=!1){if(this.isEmpty)return[];if(t)return this._styleProcessor.getStyleNames(this._styles);return this._getStylesEntries().map((([t])=>t))}clear(){this._styles={}}_getStylesEntries(){const t=[],e=Object.keys(this._styles);for(const n of e)t.push(...this._styleProcessor.getReducedForm(n,this._styles));return t}_cleanEmptyObjectsOnPath(t){const e=t.split(\".\");if(!(e.length>1))return;const n=e.splice(0,e.length-1).join(\".\"),o=Ms(this._styles,n);if(!o)return;!Object.keys(o).length&&this.remove(n)}}class sa{constructor(){this._normalizers=new Map,this._extractors=new Map,this._reducers=new Map,this._consumables=new Map}toNormalizedForm(t,e,n){if(z(e))ca(n,aa(t),e);else if(this._normalizers.has(t)){const o=this._normalizers.get(t),{path:i,value:r}=o(e);ca(n,i,r)}else ca(n,t,e)}getNormalized(t,e){if(!t)return na({},e);if(void 0!==e[t])return e[t];if(this._extractors.has(t)){const n=this._extractors.get(t);if(\"string\"==typeof n)return Ms(e,n);const o=n(t,e);if(o)return o}return Ms(e,aa(t))}getReducedForm(t,e){const n=this.getNormalized(t,e);if(void 0===n)return[];if(this._reducers.has(t)){return this._reducers.get(t)(n)}return[[t,n]]}getStyleNames(t){const e=Array.from(this._consumables.keys()).filter((e=>{const n=this.getNormalized(e,t);return n&&\"object\"==typeof n?Object.keys(n).length:n})),n=new Set([...e,...Object.keys(t)]);return Array.from(n)}getRelatedStyles(t){return this._consumables.get(t)||[]}setNormalizer(t,e){this._normalizers.set(t,e)}setExtractor(t,e){this._extractors.set(t,e)}setReducer(t,e){this._reducers.set(t,e)}setStyleRelation(t,e){this._mapStyleNames(t,e);for(const n of e)this._mapStyleNames(n,[t])}_mapStyleNames(t,e){this._consumables.has(t)||this._consumables.set(t,[]),this._consumables.get(t).push(...e)}}function aa(t){return t.replace(\"-\",\".\")}function ca(t,e,n){let o=n;z(n)&&(o=na({},Ms(t,e),n)),ia(t,e,o)}class la extends ss{constructor(t,e,n,o){if(super(t),this._unsafeAttributesToRender=[],this._customProperties=new Map,this.name=e,this._attrs=function(t){const e=xi(t);for(const[t,n]of e)null===n?e.delete(t):\"string\"!=typeof n&&e.set(t,String(n));return e}(n),this._children=[],o&&this._insertChild(0,o),this._classes=new Set,this._attrs.has(\"class\")){const t=this._attrs.get(\"class\");da(this._classes,t),this._attrs.delete(\"class\")}this._styles=new ra(this.document.stylesProcessor),this._attrs.has(\"style\")&&(this._styles.setTo(this._attrs.get(\"style\")),this._attrs.delete(\"style\"))}get childCount(){return this._children.length}get isEmpty(){return 0===this._children.length}getChild(t){return this._children[t]}getChildIndex(t){return this._children.indexOf(t)}getChildren(){return this._children[Symbol.iterator]()}*getAttributeKeys(){this._classes.size>0&&(yield\"class\"),this._styles.isEmpty||(yield\"style\"),yield*this._attrs.keys()}*getAttributes(){yield*this._attrs.entries(),this._classes.size>0&&(yield[\"class\",this.getAttribute(\"class\")]),this._styles.isEmpty||(yield[\"style\",this.getAttribute(\"style\")])}getAttribute(t){if(\"class\"==t)return this._classes.size>0?[...this._classes].join(\" \"):void 0;if(\"style\"==t){const t=this._styles.toString();return\"\"==t?void 0:t}return this._attrs.get(t)}hasAttribute(t){return\"class\"==t?this._classes.size>0:\"style\"==t?!this._styles.isEmpty:this._attrs.has(t)}isSimilar(t){if(!(t instanceof la))return!1;if(this===t)return!0;if(this.name!=t.name)return!1;if(this._attrs.size!==t._attrs.size||this._classes.size!==t._classes.size||this._styles.size!==t._styles.size)return!1;for(const[e,n]of this._attrs)if(!t._attrs.has(e)||t._attrs.get(e)!==n)return!1;for(const e of this._classes)if(!t._classes.has(e))return!1;for(const e of this._styles.getStyleNames())if(!t._styles.has(e)||t._styles.getAsString(e)!==this._styles.getAsString(e))return!1;return!0}hasClass(...t){for(const e of t)if(!this._classes.has(e))return!1;return!0}getClassNames(){return this._classes.keys()}getStyle(t){return this._styles.getAsString(t)}getNormalizedStyle(t){return this._styles.getNormalized(t)}getStyleNames(t){return this._styles.getStyleNames(t)}hasStyle(...t){for(const e of t)if(!this._styles.has(e))return!1;return!0}findAncestor(...t){const e=new ls(...t);let n=this.parent;for(;n&&!n.is(\"documentFragment\");){if(e.match(n))return n;n=n.parent}return null}getCustomProperty(t){return this._customProperties.get(t)}*getCustomProperties(){yield*this._customProperties.entries()}getIdentity(){const t=Array.from(this._classes).sort().join(\",\"),e=this._styles.toString(),n=Array.from(this._attrs).map((t=>`${t[0]}=\"${t[1]}\"`)).sort().join(\" \");return this.name+(\"\"==t?\"\":` class=\"${t}\"`)+(e?` style=\"${e}\"`:\"\")+(\"\"==n?\"\":` ${n}`)}shouldRenderUnsafeAttribute(t){return this._unsafeAttributesToRender.includes(t)}_clone(t=!1){const e=[];if(t)for(const n of this.getChildren())e.push(n._clone(t));const n=new this.constructor(this.document,this.name,this._attrs,e);return n._classes=new Set(this._classes),n._styles.set(this._styles.getNormalized()),n._customProperties=new Map(this._customProperties),n.getFillerOffset=this.getFillerOffset,n._unsafeAttributesToRender=this._unsafeAttributesToRender,n}_appendChild(t){return this._insertChild(this.childCount,t)}_insertChild(t,e){this._fireChange(\"children\",this);let n=0;const o=function(t,e){if(\"string\"==typeof e)return[new as(t,e)];Y(e)||(e=[e]);return Array.from(e).map((e=>\"string\"==typeof e?new as(t,e):e instanceof cs?new as(t,e.data):e))}(this.document,e);for(const e of o)null!==e.parent&&e._remove(),e.parent=this,e.document=this.document,this._children.splice(t,0,e),t++,n++;return n}_removeChildren(t,e=1){this._fireChange(\"children\",this);for(let n=t;n0&&(this._classes.clear(),!0):\"style\"==t?!this._styles.isEmpty&&(this._styles.clear(),!0):this._attrs.delete(t)}_addClass(t){this._fireChange(\"attributes\",this);for(const e of fi(t))this._classes.add(e)}_removeClass(t){this._fireChange(\"attributes\",this);for(const e of fi(t))this._classes.delete(e)}_setStyle(t,e){this._fireChange(\"attributes\",this),\"string\"!=typeof t?this._styles.set(t):this._styles.set(t,e)}_removeStyle(t){this._fireChange(\"attributes\",this);for(const e of fi(t))this._styles.remove(e)}_setCustomProperty(t,e){this._customProperties.set(t,e)}_removeCustomProperty(t){return this._customProperties.delete(t)}}function da(t,e){const n=e.split(/\\s+/);t.clear(),n.forEach((e=>t.add(e)))}la.prototype.is=function(t,e){return e?e===this.name&&(\"element\"===t||\"view:element\"===t):\"element\"===t||\"view:element\"===t||\"node\"===t||\"view:node\"===t};class ha extends la{constructor(t,e,n,o){super(t,e,n,o),this.getFillerOffset=ua}}function ua(){const t=[...this.getChildren()],e=t[this.childCount-1];if(e&&e.is(\"element\",\"br\"))return this.childCount;for(const e of t)if(!e.is(\"uiElement\"))return null;return this.childCount}ha.prototype.is=function(t,e){return e?e===this.name&&(\"containerElement\"===t||\"view:containerElement\"===t||\"element\"===t||\"view:element\"===t):\"containerElement\"===t||\"view:containerElement\"===t||\"element\"===t||\"view:element\"===t||\"node\"===t||\"view:node\"===t};class pa extends(j(ha)){constructor(t,e,n,o){super(t,e,n,o),this.set(\"isReadOnly\",!1),this.set(\"isFocused\",!1),this.set(\"placeholder\",void 0),this.bind(\"isReadOnly\").to(t),this.bind(\"isFocused\").to(t,\"isFocused\",(e=>e&&t.selection.editableElement==this)),this.listenTo(t.selection,\"change\",(()=>{this.isFocused=t.isFocused&&t.selection.editableElement==this}))}destroy(){this.stopListening()}}pa.prototype.is=function(t,e){return e?e===this.name&&(\"editableElement\"===t||\"view:editableElement\"===t||\"containerElement\"===t||\"view:containerElement\"===t||\"element\"===t||\"view:element\"===t):\"editableElement\"===t||\"view:editableElement\"===t||\"containerElement\"===t||\"view:containerElement\"===t||\"element\"===t||\"view:element\"===t||\"node\"===t||\"view:node\"===t};const ga=Symbol(\"rootName\");class ma extends pa{constructor(t,e){super(t,e),this.rootName=\"main\"}get rootName(){return this.getCustomProperty(ga)}set rootName(t){this._setCustomProperty(ga,t)}set _name(t){this.name=t}}ma.prototype.is=function(t,e){return e?e===this.name&&(\"rootElement\"===t||\"view:rootElement\"===t||\"editableElement\"===t||\"view:editableElement\"===t||\"containerElement\"===t||\"view:containerElement\"===t||\"element\"===t||\"view:element\"===t):\"rootElement\"===t||\"view:rootElement\"===t||\"editableElement\"===t||\"view:editableElement\"===t||\"containerElement\"===t||\"view:containerElement\"===t||\"element\"===t||\"view:element\"===t||\"node\"===t||\"view:node\"===t};class fa{constructor(t={}){if(!t.boundaries&&!t.startPosition)throw new k(\"view-tree-walker-no-start-position\",null);if(t.direction&&\"forward\"!=t.direction&&\"backward\"!=t.direction)throw new k(\"view-tree-walker-unknown-direction\",t.startPosition,{direction:t.direction});this.boundaries=t.boundaries||null,t.startPosition?this._position=ka._createAt(t.startPosition):this._position=ka._createAt(t.boundaries[\"backward\"==t.direction?\"end\":\"start\"]),this.direction=t.direction||\"forward\",this.singleCharacters=!!t.singleCharacters,this.shallow=!!t.shallow,this.ignoreElementEnd=!!t.ignoreElementEnd,this._boundaryStartParent=this.boundaries?this.boundaries.start.parent:null,this._boundaryEndParent=this.boundaries?this.boundaries.end.parent:null}[Symbol.iterator](){return this}get position(){return this._position}skip(t){let e,n;do{n=this.position,e=this.next()}while(!e.done&&t(e.value));e.done||(this._position=n)}next(){return\"forward\"==this.direction?this._next():this._previous()}_next(){let t=this.position.clone();const e=this.position,n=t.parent;if(null===n.parent&&t.offset===n.childCount)return{done:!0,value:void 0};if(n===this._boundaryEndParent&&t.offset==this.boundaries.end.offset)return{done:!0,value:void 0};let o;if(n instanceof as){if(t.isAtEnd)return this._position=ka._createAfter(n),this._next();o=n.data[t.offset]}else o=n.getChild(t.offset);if(o instanceof la){if(this.shallow){if(this.boundaries&&this.boundaries.end.isBefore(t))return{done:!0,value:void 0};t.offset++}else t=new ka(o,0);return this._position=t,this._formatReturnValue(\"elementStart\",o,e,t,1)}if(o instanceof as){if(this.singleCharacters)return t=new ka(o,0),this._position=t,this._next();let n,i=o.data.length;return o==this._boundaryEndParent?(i=this.boundaries.end.offset,n=new cs(o,0,i),t=ka._createAfter(n)):(n=new cs(o,0,o.data.length),t.offset++),this._position=t,this._formatReturnValue(\"text\",n,e,t,i)}if(\"string\"==typeof o){let o;if(this.singleCharacters)o=1;else{o=(n===this._boundaryEndParent?this.boundaries.end.offset:n.data.length)-t.offset}const i=new cs(n,t.offset,o);return t.offset+=o,this._position=t,this._formatReturnValue(\"text\",i,e,t,o)}return t=ka._createAfter(n),this._position=t,this.ignoreElementEnd?this._next():this._formatReturnValue(\"elementEnd\",n,e,t)}_previous(){let t=this.position.clone();const e=this.position,n=t.parent;if(null===n.parent&&0===t.offset)return{done:!0,value:void 0};if(n==this._boundaryStartParent&&t.offset==this.boundaries.start.offset)return{done:!0,value:void 0};let o;if(n instanceof as){if(t.isAtStart)return this._position=ka._createBefore(n),this._previous();o=n.data[t.offset-1]}else o=n.getChild(t.offset-1);if(o instanceof la)return this.shallow?(t.offset--,this._position=t,this._formatReturnValue(\"elementStart\",o,e,t,1)):(t=new ka(o,o.childCount),this._position=t,this.ignoreElementEnd?this._previous():this._formatReturnValue(\"elementEnd\",o,e,t));if(o instanceof as){if(this.singleCharacters)return t=new ka(o,o.data.length),this._position=t,this._previous();let n,i=o.data.length;if(o==this._boundaryStartParent){const e=this.boundaries.start.offset;n=new cs(o,e,o.data.length-e),i=n.data.length,t=ka._createBefore(n)}else n=new cs(o,0,o.data.length),t.offset--;return this._position=t,this._formatReturnValue(\"text\",n,e,t,i)}if(\"string\"==typeof o){let o;if(this.singleCharacters)o=1;else{const e=n===this._boundaryStartParent?this.boundaries.start.offset:0;o=t.offset-e}t.offset-=o;const i=new cs(n,t.offset,o);return this._position=t,this._formatReturnValue(\"text\",i,e,t,o)}return t=ka._createBefore(n),this._position=t,this._formatReturnValue(\"elementStart\",n,e,t,1)}_formatReturnValue(t,e,n,o,i){return e instanceof cs&&(e.offsetInText+e.data.length==e.textNode.data.length&&(\"forward\"!=this.direction||this.boundaries&&this.boundaries.end.isEqual(this.position)?n=ka._createAfter(e.textNode):(o=ka._createAfter(e.textNode),this._position=o)),0===e.offsetInText&&(\"backward\"!=this.direction||this.boundaries&&this.boundaries.start.isEqual(this.position)?n=ka._createBefore(e.textNode):(o=ka._createBefore(e.textNode),this._position=o))),{done:!1,value:{type:t,item:e,previousPosition:n,nextPosition:o,length:i}}}}class ka extends is{constructor(t,e){super(),this.parent=t,this.offset=e}get nodeAfter(){return this.parent.is(\"$text\")?null:this.parent.getChild(this.offset)||null}get nodeBefore(){return this.parent.is(\"$text\")?null:this.parent.getChild(this.offset-1)||null}get isAtStart(){return 0===this.offset}get isAtEnd(){const t=this.parent.is(\"$text\")?this.parent.data.length:this.parent.childCount;return this.offset===t}get root(){return this.parent.root}get editableElement(){let t=this.parent;for(;!(t instanceof pa);){if(!t.parent)return null;t=t.parent}return t}getShiftedBy(t){const e=ka._createAt(this),n=e.offset+t;return e.offset=n<0?0:n,e}getLastMatchingPosition(t,e={}){e.startPosition=this;const n=new fa(e);return n.skip(t),n.position}getAncestors(){return this.parent.is(\"documentFragment\")?[this.parent]:this.parent.getAncestors({includeSelf:!0})}getCommonAncestor(t){const e=this.getAncestors(),n=t.getAncestors();let o=0;for(;e[o]==n[o]&&e[o];)o++;return 0===o?null:e[o-1]}isEqual(t){return this.parent==t.parent&&this.offset==t.offset}isBefore(t){return\"before\"==this.compareWith(t)}isAfter(t){return\"after\"==this.compareWith(t)}compareWith(t){if(this.root!==t.root)return\"different\";if(this.isEqual(t))return\"same\";const e=this.parent.is(\"node\")?this.parent.getPath():[],n=t.parent.is(\"node\")?t.parent.getPath():[];e.push(this.offset),n.push(t.offset);const o=J(e,n);switch(o){case\"prefix\":return\"before\";case\"extension\":return\"after\";default:return e[o]0?new this(n,o):new this(o,n)}static _createIn(t){return this._createFromParentsAndOffsets(t,0,t,t.childCount)}static _createOn(t){const e=t.is(\"$textProxy\")?t.offsetSize:1;return this._createFromPositionAndShift(ka._createBefore(t),e)}}function wa(t){return!(!t.item.is(\"attributeElement\")&&!t.item.is(\"uiElement\"))}ba.prototype.is=function(t){return\"range\"===t||\"view:range\"===t};class _a extends(D(is)){constructor(...t){super(),this._ranges=[],this._lastRangeBackward=!1,this._isFake=!1,this._fakeSelectionLabel=\"\",t.length&&this.setTo(...t)}get isFake(){return this._isFake}get fakeSelectionLabel(){return this._fakeSelectionLabel}get anchor(){if(!this._ranges.length)return null;const t=this._ranges[this._ranges.length-1];return(this._lastRangeBackward?t.end:t.start).clone()}get focus(){if(!this._ranges.length)return null;const t=this._ranges[this._ranges.length-1];return(this._lastRangeBackward?t.start:t.end).clone()}get isCollapsed(){return 1===this.rangeCount&&this._ranges[0].isCollapsed}get rangeCount(){return this._ranges.length}get isBackward(){return!this.isCollapsed&&this._lastRangeBackward}get editableElement(){return this.anchor?this.anchor.editableElement:null}*getRanges(){for(const t of this._ranges)yield t.clone()}getFirstRange(){let t=null;for(const e of this._ranges)t&&!e.start.isBefore(t.start)||(t=e);return t?t.clone():null}getLastRange(){let t=null;for(const e of this._ranges)t&&!e.end.isAfter(t.end)||(t=e);return t?t.clone():null}getFirstPosition(){const t=this.getFirstRange();return t?t.start.clone():null}getLastPosition(){const t=this.getLastRange();return t?t.end.clone():null}isEqual(t){if(this.isFake!=t.isFake)return!1;if(this.isFake&&this.fakeSelectionLabel!=t.fakeSelectionLabel)return!1;if(this.rangeCount!=t.rangeCount)return!1;if(0===this.rangeCount)return!0;if(!this.anchor.isEqual(t.anchor)||!this.focus.isEqual(t.focus))return!1;for(const e of this._ranges){let n=!1;for(const o of t._ranges)if(e.isEqual(o)){n=!0;break}if(!n)return!1}return!0}isSimilar(t){if(this.isBackward!=t.isBackward)return!1;const e=Z(this.getRanges());if(e!=Z(t.getRanges()))return!1;if(0==e)return!0;for(let e of this.getRanges()){e=e.getTrimmed();let n=!1;for(let o of t.getRanges())if(o=o.getTrimmed(),e.start.isEqual(o.start)&&e.end.isEqual(o.end)){n=!0;break}if(!n)return!1}return!0}getSelectedElement(){return 1!==this.rangeCount?null:this.getFirstRange().getContainedElement()}setTo(...t){let[e,n,o]=t;if(\"object\"==typeof n&&(o=n,n=void 0),null===e)this._setRanges([]),this._setFakeOptions(o);else if(e instanceof _a||e instanceof Aa)this._setRanges(e.getRanges(),e.isBackward),this._setFakeOptions({fake:e.isFake,label:e.fakeSelectionLabel});else if(e instanceof ba)this._setRanges([e],o&&o.backward),this._setFakeOptions(o);else if(e instanceof ka)this._setRanges([new ba(e)]),this._setFakeOptions(o);else if(e instanceof ss){const t=!!o&&!!o.backward;let i;if(void 0===n)throw new k(\"view-selection-setto-required-second-parameter\",this);i=\"in\"==n?ba._createIn(e):\"on\"==n?ba._createOn(e):new ba(ka._createAt(e,n)),this._setRanges([i],t),this._setFakeOptions(o)}else{if(!Y(e))throw new k(\"view-selection-setto-not-selectable\",this);this._setRanges(e,o&&o.backward),this._setFakeOptions(o)}this.fire(\"change\")}setFocus(t,e){if(null===this.anchor)throw new k(\"view-selection-setfocus-no-ranges\",this);const n=ka._createAt(t,e);if(\"same\"==n.compareWith(this.focus))return;const o=this.anchor;this._ranges.pop(),\"before\"==n.compareWith(o)?this._addRange(new ba(n,o),!0):this._addRange(new ba(o,n)),this.fire(\"change\")}_setRanges(t,e=!1){t=Array.from(t),this._ranges=[];for(const e of t)this._addRange(e);this._lastRangeBackward=!!e}_setFakeOptions(t={}){this._isFake=!!t.fake,this._fakeSelectionLabel=t.fake&&t.label||\"\"}_addRange(t,e=!1){if(!(t instanceof ba))throw new k(\"view-selection-add-range-not-range\",this);this._pushRange(t),this._lastRangeBackward=!!e}_pushRange(t){for(const e of this._ranges)if(t.isIntersecting(e))throw new k(\"view-selection-range-intersects\",this,{addedRange:t,intersectingRange:e});this._ranges.push(new ba(t.start,t.end))}}_a.prototype.is=function(t){return\"selection\"===t||\"view:selection\"===t};class Aa extends(D(is)){constructor(...t){super(),this._selection=new _a,this._selection.delegate(\"change\").to(this),t.length&&this._selection.setTo(...t)}get isFake(){return this._selection.isFake}get fakeSelectionLabel(){return this._selection.fakeSelectionLabel}get anchor(){return this._selection.anchor}get focus(){return this._selection.focus}get isCollapsed(){return this._selection.isCollapsed}get rangeCount(){return this._selection.rangeCount}get isBackward(){return this._selection.isBackward}get editableElement(){return this._selection.editableElement}get _ranges(){return this._selection._ranges}*getRanges(){yield*this._selection.getRanges()}getFirstRange(){return this._selection.getFirstRange()}getLastRange(){return this._selection.getLastRange()}getFirstPosition(){return this._selection.getFirstPosition()}getLastPosition(){return this._selection.getLastPosition()}getSelectedElement(){return this._selection.getSelectedElement()}isEqual(t){return this._selection.isEqual(t)}isSimilar(t){return this._selection.isSimilar(t)}_setTo(...t){this._selection.setTo(...t)}_setFocus(t,e){this._selection.setFocus(t,e)}}Aa.prototype.is=function(t){return\"selection\"===t||\"documentSelection\"==t||\"view:selection\"==t||\"view:documentSelection\"==t};class Ca extends h{constructor(t,e,n){super(t,e),this.startRange=n,this._eventPhase=\"none\",this._currentTarget=null}get eventPhase(){return this._eventPhase}get currentTarget(){return this._currentTarget}}const va=Symbol(\"bubbling contexts\");function ya(t){return class extends t{fire(t,...e){try{const n=t instanceof h?t:new h(this,t),o=Sa(this);if(!o.size)return;if(xa(n,\"capturing\",this),Ea(o,\"$capture\",n,...e))return n.return;const i=n.startRange||this.selection.getFirstRange(),r=i?i.getContainedElement():null,s=!!r&&Boolean(Da(o,r));let a=r||function(t){if(!t)return null;const e=t.start.parent,n=t.end.parent,o=e.getPath(),i=n.getPath();return o.length>i.length?e:n}(i);if(xa(n,\"atTarget\",a),!s){if(Ea(o,\"$text\",n,...e))return n.return;xa(n,\"bubbling\",a)}for(;a;){if(a.is(\"rootElement\")){if(Ea(o,\"$root\",n,...e))return n.return}else if(a.is(\"element\")&&Ea(o,a.name,n,...e))return n.return;if(Ea(o,a,n,...e))return n.return;a=a.parent,xa(n,\"bubbling\",a)}return xa(n,\"bubbling\",this),Ea(o,\"$document\",n,...e),n.return}catch(t){k.rethrowUnexpectedError(t,this)}}_addEventListener(t,e,n){const o=fi(n.context||\"$document\"),i=Sa(this);for(const r of o){let o=i.get(r);o||(o=new(D()),i.set(r,o)),this.listenTo(o,t,e,n)}}_removeEventListener(t,e){const n=Sa(this);for(const o of n.values())this.stopListening(o,t,e)}}}{const t=ya(Object);[\"fire\",\"_addEventListener\",\"_removeEventListener\"].forEach((e=>{ya[e]=t.prototype[e]}))}function xa(t,e,n){t instanceof Ca&&(t._eventPhase=e,t._currentTarget=n)}function Ea(t,e,n,...o){const i=\"string\"==typeof e?t.get(e):Da(t,e);return!!i&&(i.fire(n,...o),n.stop.called)}function Da(t,e){for(const[n,o]of t)if(\"function\"==typeof n&&n(e))return o;return null}function Sa(t){return t[va]||(t[va]=new Map),t[va]}class Ba extends(ya(j())){constructor(t){super(),this._postFixers=new Set,this.selection=new Aa,this.roots=new Ai({idProperty:\"rootName\"}),this.stylesProcessor=t,this.set(\"isReadOnly\",!1),this.set(\"isFocused\",!1),this.set(\"isSelecting\",!1),this.set(\"isComposing\",!1)}getRoot(t=\"main\"){return this.roots.get(t)}registerPostFixer(t){this._postFixers.add(t)}destroy(){this.roots.forEach((t=>t.destroy())),this.stopListening()}_callPostFixers(t){let e=!1;do{for(const n of this._postFixers)if(e=n(t),e)break}while(e)}}class Ta extends la{constructor(t,e,n,o){super(t,e,n,o),this._priority=10,this._id=null,this._clonesGroup=null,this.getFillerOffset=Pa}get priority(){return this._priority}get id(){return this._id}getElementsWithSameId(){if(null===this.id)throw new k(\"attribute-element-get-elements-with-same-id-no-id\",this);return new Set(this._clonesGroup)}isSimilar(t){return null!==this.id||null!==t.id?this.id===t.id:super.isSimilar(t)&&this.priority==t.priority}_clone(t=!1){const e=super._clone(t);return e._priority=this._priority,e._id=this._id,e}}function Pa(){if(Ia(this))return null;let t=this.parent;for(;t&&t.is(\"attributeElement\");){if(Ia(t)>1)return null;t=t.parent}return!t||Ia(t)>1?null:this.childCount}function Ia(t){return Array.from(t.getChildren()).filter((t=>!t.is(\"uiElement\"))).length}Ta.DEFAULT_PRIORITY=10,Ta.prototype.is=function(t,e){return e?e===this.name&&(\"attributeElement\"===t||\"view:attributeElement\"===t||\"element\"===t||\"view:element\"===t):\"attributeElement\"===t||\"view:attributeElement\"===t||\"element\"===t||\"view:element\"===t||\"node\"===t||\"view:node\"===t};class Ra extends la{constructor(t,e,n,o){super(t,e,n,o),this.getFillerOffset=Oa}_insertChild(t,e){if(e&&(e instanceof ss||Array.from(e).length>0))throw new k(\"view-emptyelement-cannot-add\",[this,e]);return 0}}function Oa(){return null}Ra.prototype.is=function(t,e){return e?e===this.name&&(\"emptyElement\"===t||\"view:emptyElement\"===t||\"element\"===t||\"view:element\"===t):\"emptyElement\"===t||\"view:emptyElement\"===t||\"element\"===t||\"view:element\"===t||\"node\"===t||\"view:node\"===t};class za extends la{constructor(t,e,n,o){super(t,e,n,o),this.getFillerOffset=Fa}_insertChild(t,e){if(e&&(e instanceof ss||Array.from(e).length>0))throw new k(\"view-uielement-cannot-add\",[this,e]);return 0}render(t,e){return this.toDomElement(t)}toDomElement(t){const e=t.createElement(this.name);for(const t of this.getAttributeKeys())e.setAttribute(t,this.getAttribute(t));return e}}function Ma(t){t.document.on(\"arrowKey\",((e,n)=>function(t,e,n){if(e.keyCode==di.arrowright){const t=e.domTarget.ownerDocument.defaultView.getSelection(),o=1==t.rangeCount&&t.getRangeAt(0).collapsed;if(o||e.shiftKey){const e=t.focusNode,i=t.focusOffset,r=n.domPositionToView(e,i);if(null===r)return;let s=!1;const a=r.getLastMatchingPosition((t=>(t.item.is(\"uiElement\")&&(s=!0),!(!t.item.is(\"uiElement\")&&!t.item.is(\"attributeElement\")))));if(s){const e=n.viewPositionToDom(a);o?t.collapse(e.parent,e.offset):t.extend(e.parent,e.offset)}}}}(0,n,t.domConverter)),{priority:\"low\"})}function Fa(){return null}za.prototype.is=function(t,e){return e?e===this.name&&(\"uiElement\"===t||\"view:uiElement\"===t||\"element\"===t||\"view:element\"===t):\"uiElement\"===t||\"view:uiElement\"===t||\"element\"===t||\"view:element\"===t||\"node\"===t||\"view:node\"===t};class Na extends la{constructor(t,e,n,o){super(t,e,n,o),this.getFillerOffset=Va}_insertChild(t,e){if(e&&(e instanceof ss||Array.from(e).length>0))throw new k(\"view-rawelement-cannot-add\",[this,e]);return 0}render(t,e){}}function Va(){return null}Na.prototype.is=function(t,e){return e?e===this.name&&(\"rawElement\"===t||\"view:rawElement\"===t||\"element\"===t||\"view:element\"===t):\"rawElement\"===t||\"view:rawElement\"===t||t===this.name||t===\"view:\"+this.name||\"element\"===t||\"view:element\"===t||\"node\"===t||\"view:node\"===t};class La extends(D(is)){constructor(t,e){super(),this._children=[],this._customProperties=new Map,this.document=t,e&&this._insertChild(0,e)}[Symbol.iterator](){return this._children[Symbol.iterator]()}get childCount(){return this._children.length}get isEmpty(){return 0===this.childCount}get root(){return this}get parent(){return null}get name(){}get getFillerOffset(){}getCustomProperty(t){return this._customProperties.get(t)}*getCustomProperties(){yield*this._customProperties.entries()}_appendChild(t){return this._insertChild(this.childCount,t)}getChild(t){return this._children[t]}getChildIndex(t){return this._children.indexOf(t)}getChildren(){return this._children[Symbol.iterator]()}_insertChild(t,e){this._fireChange(\"children\",this);let n=0;const o=function(t,e){if(\"string\"==typeof e)return[new as(t,e)];Y(e)||(e=[e]);return Array.from(e).map((e=>\"string\"==typeof e?new as(t,e):e instanceof cs?new as(t,e.data):e))}(this.document,e);for(const e of o)null!==e.parent&&e._remove(),e.parent=this,this._children.splice(t,0,e),t++,n++;return n}_removeChildren(t,e=1){this._fireChange(\"children\",this);for(let n=t;n{const n=t[t.length-1],o=!e.is(\"uiElement\");return n&&n.breakAttributes==o?n.nodes.push(e):t.push({breakAttributes:o,nodes:[e]}),t}),[]);let o=null,i=t;for(const{nodes:t,breakAttributes:e}of n){const n=this._insertNodes(i,t,e);o||(o=n.start),i=n.end}return o?new ba(o,i):new ba(t)}remove(t){const e=t instanceof ba?t:ba._createOn(t);if(Ja(e,this.document),e.isCollapsed)return new La(this.document);const{start:n,end:o}=this._breakAttributesRange(e,!0),i=n.parent,r=o.offset-n.offset,s=i._removeChildren(n.offset,r);for(const t of s)this._removeFromClonedElementsGroup(t);const a=this.mergeAttributes(n);return e.start=a,e.end=a.clone(),new La(this.document,s)}clear(t,e){Ja(t,this.document);const n=t.getWalker({direction:\"backward\",ignoreElementEnd:!0});for(const o of n){const n=o.item;let i;if(n.is(\"element\")&&e.isSimilar(n))i=ba._createOn(n);else if(!o.nextPosition.isAfter(t.start)&&n.is(\"$textProxy\")){const t=n.getAncestors().find((t=>t.is(\"element\")&&e.isSimilar(t)));t&&(i=ba._createIn(t))}i&&(i.end.isAfter(t.end)&&(i.end=t.end),i.start.isBefore(t.start)&&(i.start=t.start),this.remove(i))}}move(t,e){let n;if(e.isAfter(t.end)){const o=(e=this._breakAttributes(e,!0)).parent,i=o.childCount;t=this._breakAttributesRange(t,!0),n=this.remove(t),e.offset+=o.childCount-i}else n=this.remove(t);return this.insert(e,n)}wrap(t,e){if(!(e instanceof Ta))throw new k(\"view-writer-wrap-invalid-attribute\",this.document);if(Ja(t,this.document),t.isCollapsed){let o=t.start;o.parent.is(\"element\")&&(n=o.parent,!Array.from(n.getChildren()).some((t=>!t.is(\"uiElement\"))))&&(o=o.getLastMatchingPosition((t=>t.item.is(\"uiElement\")))),o=this._wrapPosition(o,e);const i=this.document.selection;return i.isCollapsed&&i.getFirstPosition().isEqual(t.start)&&this.setSelection(o),new ba(o)}return this._wrapRange(t,e);var n}unwrap(t,e){if(!(e instanceof Ta))throw new k(\"view-writer-unwrap-invalid-attribute\",this.document);if(Ja(t,this.document),t.isCollapsed)return t;const{start:n,end:o}=this._breakAttributesRange(t,!0),i=n.parent,r=this._unwrapChildren(i,n.offset,o.offset,e),s=this.mergeAttributes(r.start);s.isEqual(r.start)||r.end.offset--;const a=this.mergeAttributes(r.end);return new ba(s,a)}rename(t,e){const n=new ha(this.document,t,e.getAttributes());return this.insert(ka._createAfter(e),n),this.move(ba._createIn(e),ka._createAt(n,0)),this.remove(ba._createOn(e)),n}clearClonedElementsGroup(t){this._cloneGroups.delete(t)}createPositionAt(t,e){return ka._createAt(t,e)}createPositionAfter(t){return ka._createAfter(t)}createPositionBefore(t){return ka._createBefore(t)}createRange(t,e){return new ba(t,e)}createRangeOn(t){return ba._createOn(t)}createRangeIn(t){return ba._createIn(t)}createSelection(...t){return new _a(...t)}createSlot(t=\"children\"){if(!this._slotFactory)throw new k(\"view-writer-invalid-create-slot-context\",this.document);return this._slotFactory(this,t)}_registerSlotFactory(t){this._slotFactory=t}_clearSlotFactory(){this._slotFactory=null}_insertNodes(t,e,n){let o,i;if(o=n?ja(t):t.parent.is(\"$text\")?t.parent.parent:t.parent,!o)throw new k(\"view-writer-invalid-position-container\",this.document);i=n?this._breakAttributes(t,!0):t.parent.is(\"$text\")?Wa(t):t;const r=o._insertChild(i.offset,e);for(const t of e)this._addToClonedElementsGroup(t);const s=i.getShiftedBy(r),a=this.mergeAttributes(i);a.isEqual(i)||s.offset--;const c=this.mergeAttributes(s);return new ba(a,c)}_wrapChildren(t,e,n,o){let i=e;const r=[];for(;i!1,t.parent._insertChild(t.offset,n);const o=new ba(t,t.getShiftedBy(1));this.wrap(o,e);const i=new ka(n.parent,n.index);n._remove();const r=i.nodeBefore,s=i.nodeAfter;return r instanceof as&&s instanceof as?Ga(r,s):Ka(i)}_wrapAttributeElement(t,e){if(!Ya(t,e))return!1;if(t.name!==e.name||t.priority!==e.priority)return!1;for(const n of t.getAttributeKeys())if(\"class\"!==n&&\"style\"!==n&&e.hasAttribute(n)&&e.getAttribute(n)!==t.getAttribute(n))return!1;for(const n of t.getStyleNames())if(e.hasStyle(n)&&e.getStyle(n)!==t.getStyle(n))return!1;for(const n of t.getAttributeKeys())\"class\"!==n&&\"style\"!==n&&(e.hasAttribute(n)||this.setAttribute(n,t.getAttribute(n),e));for(const n of t.getStyleNames())e.hasStyle(n)||this.setStyle(n,t.getStyle(n),e);for(const n of t.getClassNames())e.hasClass(n)||this.addClass(n,e);return!0}_unwrapAttributeElement(t,e){if(!Ya(t,e))return!1;if(t.name!==e.name||t.priority!==e.priority)return!1;for(const n of t.getAttributeKeys())if(\"class\"!==n&&\"style\"!==n&&(!e.hasAttribute(n)||e.getAttribute(n)!==t.getAttribute(n)))return!1;if(!e.hasClass(...t.getClassNames()))return!1;for(const n of t.getStyleNames())if(!e.hasStyle(n)||e.getStyle(n)!==t.getStyle(n))return!1;for(const n of t.getAttributeKeys())\"class\"!==n&&\"style\"!==n&&this.removeAttribute(n,e);return this.removeClass(Array.from(t.getClassNames()),e),this.removeStyle(Array.from(t.getStyleNames()),e),!0}_breakAttributesRange(t,e=!1){const n=t.start,o=t.end;if(Ja(t,this.document),t.isCollapsed){const n=this._breakAttributes(t.start,e);return new ba(n,n)}const i=this._breakAttributes(o,e),r=i.parent.childCount,s=this._breakAttributes(n,e);return i.offset+=i.parent.childCount-r,new ba(s,i)}_breakAttributes(t,e=!1){const n=t.offset,o=t.parent;if(t.parent.is(\"emptyElement\"))throw new k(\"view-writer-cannot-break-empty-element\",this.document);if(t.parent.is(\"uiElement\"))throw new k(\"view-writer-cannot-break-ui-element\",this.document);if(t.parent.is(\"rawElement\"))throw new k(\"view-writer-cannot-break-raw-element\",this.document);if(!e&&o.is(\"$text\")&&Za(o.parent))return t.clone();if(Za(o))return t.clone();if(o.is(\"$text\"))return this._breakAttributes(Wa(t),e);if(n==o.childCount){const t=new ka(o.parent,o.index+1);return this._breakAttributes(t,e)}if(0===n){const t=new ka(o.parent,o.index);return this._breakAttributes(t,e)}{const t=o.index+1,i=o._clone();o.parent._insertChild(t,i),this._addToClonedElementsGroup(i);const r=o.childCount-n,s=o._removeChildren(n,r);i._appendChild(s);const a=new ka(o.parent,t);return this._breakAttributes(a,e)}}_addToClonedElementsGroup(t){if(!t.root.is(\"rootElement\"))return;if(t.is(\"element\"))for(const e of t.getChildren())this._addToClonedElementsGroup(e);const e=t.id;if(!e)return;let n=this._cloneGroups.get(e);n||(n=new Set,this._cloneGroups.set(e,n)),n.add(t),t._clonesGroup=n}_removeFromClonedElementsGroup(t){if(t.is(\"element\"))for(const e of t.getChildren())this._removeFromClonedElementsGroup(e);const e=t.id;if(!e)return;const n=this._cloneGroups.get(e);n&&n.delete(t)}}function ja(t){let e=t.parent;for(;!Za(e);){if(!e)return;e=e.parent}return e}function qa(t,e){return t.prioritye.priority)&&t.getIdentity()n instanceof t)))throw new k(\"view-writer-insert-invalid-node-type\",e);n.is(\"$text\")||Ua(n.getChildren(),e)}}function Za(t){return t&&(t.is(\"containerElement\")||t.is(\"documentFragment\"))}function Ja(t,e){const n=ja(t.start),o=ja(t.end);if(!n||!o||n!==o)throw new k(\"view-writer-invalid-range-container\",e)}function Ya(t,e){return null===t.id&&null===e.id}const Qa=t=>t.createTextNode(\" \"),Xa=t=>{const e=t.createElement(\"span\");return e.dataset.ckeFiller=\"true\",e.innerText=\" \",e},tc=t=>{const e=t.createElement(\"br\");return e.dataset.ckeFiller=\"true\",e},ec=7,nc=\"⁠\".repeat(ec);function oc(t){return\"string\"==typeof t?t.substr(0,ec)===nc:Io(t)&&t.data.substr(0,ec)===nc}function ic(t){return t.data.length==ec&&oc(t)}function rc(t){const e=\"string\"==typeof t?t:t.data;return oc(t)?e.slice(ec):e}function sc(t,e){if(e.keyCode==di.arrowleft){const t=e.domTarget.ownerDocument.defaultView.getSelection();if(1==t.rangeCount&&t.getRangeAt(0).collapsed){const e=t.getRangeAt(0).startContainer,n=t.getRangeAt(0).startOffset;oc(e)&&n<=ec&&t.collapse(e,0)}}}var ac=n(5037),cc={injectType:\"singletonStyleTag\",attributes:{\"data-cke\":!0},insert:\"head\",singleton:!0};Ri()(ac.Z,cc);ac.Z.locals;class lc extends(j()){constructor(t,e){super(),this.domDocuments=new Set,this.markedAttributes=new Set,this.markedChildren=new Set,this.markedTexts=new Set,this._inlineFiller=null,this._fakeSelectionContainer=null,this.domConverter=t,this.selection=e,this.set(\"isFocused\",!1),this.set(\"isSelecting\",!1),i.isBlink&&!i.isAndroid&&this.on(\"change:isSelecting\",(()=>{this.isSelecting||this.render()})),this.set(\"isComposing\",!1),this.on(\"change:isComposing\",(()=>{this.isComposing||this.render()}))}markToSync(t,e){if(\"text\"===t)this.domConverter.mapViewToDom(e.parent)&&this.markedTexts.add(e);else{if(!this.domConverter.mapViewToDom(e))return;if(\"attributes\"===t)this.markedAttributes.add(e);else{if(\"children\"!==t){throw new k(\"view-renderer-unknown-type\",this)}this.markedChildren.add(e)}}}render(){if(this.isComposing&&!i.isAndroid)return;let t=null;const e=!(i.isBlink&&!i.isAndroid)||!this.isSelecting;for(const t of this.markedChildren)this._updateChildrenMappings(t);e?(this._inlineFiller&&!this._isSelectionInInlineFiller()&&this._removeInlineFiller(),this._inlineFiller?t=this._getInlineFillerPosition():this._needsInlineFillerAtSelection()&&(t=this.selection.getFirstPosition(),this.markedChildren.add(t.parent))):this._inlineFiller&&this._inlineFiller.parentNode&&(t=this.domConverter.domPositionToView(this._inlineFiller),t&&t.parent.is(\"$text\")&&(t=ka._createBefore(t.parent)));for(const t of this.markedAttributes)this._updateAttrs(t);for(const e of this.markedChildren)this._updateChildren(e,{inlineFillerPosition:t});for(const e of this.markedTexts)!this.markedChildren.has(e.parent)&&this.domConverter.mapViewToDom(e.parent)&&this._updateText(e,{inlineFillerPosition:t});if(e)if(t){const e=this.domConverter.viewPositionToDom(t),n=e.parent.ownerDocument;oc(e.parent)?this._inlineFiller=e.parent:this._inlineFiller=dc(n,e.parent,e.offset)}else this._inlineFiller=null;this._updateFocus(),this._updateSelection(),this.domConverter._clearTemporaryCustomProperties(),this.markedTexts.clear(),this.markedAttributes.clear(),this.markedChildren.clear()}_updateChildrenMappings(t){const e=this.domConverter.mapViewToDom(t);if(!e)return;const n=Array.from(e.childNodes),o=Array.from(this.domConverter.viewChildrenToDom(t,{withChildren:!1})),i=this._diffNodeLists(n,o),r=this._findUpdateActions(i,n,o,hc);if(-1!==r.indexOf(\"update\")){const e={equal:0,insert:0,delete:0};for(const i of r)if(\"update\"===i){const i=e.equal+e.insert,r=e.equal+e.delete,s=t.getChild(i);!s||s.is(\"uiElement\")||s.is(\"rawElement\")||this._updateElementMappings(s,n[r]),Qo(o[i]),e.equal++}else e[i]++}}_updateElementMappings(t,e){this.domConverter.unbindDomElement(e),this.domConverter.bindElements(e,t),this.markedChildren.add(t),this.markedAttributes.add(t)}_getInlineFillerPosition(){const t=this.selection.getFirstPosition();return t.parent.is(\"$text\")?ka._createBefore(t.parent):t}_isSelectionInInlineFiller(){if(1!=this.selection.rangeCount||!this.selection.isCollapsed)return!1;const t=this.selection.getFirstPosition(),e=this.domConverter.viewPositionToDom(t);return!!(e&&Io(e.parent)&&oc(e.parent))}_removeInlineFiller(){const t=this._inlineFiller;if(!oc(t))throw new k(\"view-renderer-filler-was-lost\",this);ic(t)?t.remove():t.data=t.data.substr(ec),this._inlineFiller=null}_needsInlineFillerAtSelection(){if(1!=this.selection.rangeCount||!this.selection.isCollapsed)return!1;const t=this.selection.getFirstPosition(),e=t.parent,n=t.offset;if(!this.domConverter.mapViewToDom(e.root))return!1;if(!e.is(\"element\"))return!1;if(!function(t){if(\"false\"==t.getAttribute(\"contenteditable\"))return!1;const e=t.findAncestor((t=>t.hasAttribute(\"contenteditable\")));return!e||\"true\"==e.getAttribute(\"contenteditable\")}(e))return!1;if(n===e.getFillerOffset())return!1;const o=t.nodeBefore,r=t.nodeAfter;return!(o instanceof as||r instanceof as)&&(!i.isAndroid||!o&&!r)}_updateText(t,e){const n=this.domConverter.findCorrespondingDomText(t);let o=this.domConverter.viewToDom(t).data;const i=e.inlineFillerPosition;i&&i.parent==t.parent&&i.offset==t.index&&(o=nc+o),gc(n,o)}_updateAttrs(t){const e=this.domConverter.mapViewToDom(t);if(!e)return;const n=Array.from(e.attributes).map((t=>t.name)),o=t.getAttributeKeys();for(const n of o)this.domConverter.setDomElementAttribute(e,n,t.getAttribute(n),t);for(const o of n)t.hasAttribute(o)||this.domConverter.removeDomElementAttribute(e,o)}_updateChildren(t,e){const n=this.domConverter.mapViewToDom(t);if(!n)return;if(i.isAndroid){let t=null;for(const e of Array.from(n.childNodes)){if(t&&Io(t)&&Io(e)){n.normalize();break}t=e}}const o=e.inlineFillerPosition,r=n.childNodes,s=Array.from(this.domConverter.viewChildrenToDom(t,{bind:!0}));o&&o.parent===t&&dc(n.ownerDocument,s,o.offset);const a=this._diffNodeLists(r,s),c=this._findUpdateActions(a,r,s,uc);let l=0;const d=new Set;for(const t of c)\"delete\"===t?(d.add(r[l]),Qo(r[l])):\"equal\"!==t&&\"update\"!==t||l++;l=0;for(const t of c)\"insert\"===t?(Go(n,l,s[l]),l++):\"update\"===t?(gc(r[l],s[l].data),l++):\"equal\"===t&&(this._markDescendantTextToSync(this.domConverter.domToView(s[l])),l++);for(const t of d)t.parentNode||this.domConverter.unbindDomElement(t)}_diffNodeLists(t,e){return t=function(t,e){const n=Array.from(t);if(0==n.length||!e)return n;const o=n[n.length-1];o==e&&n.pop();return n}(t,this._fakeSelectionContainer),l(t,e,pc.bind(null,this.domConverter))}_findUpdateActions(t,e,n,o){if(-1===t.indexOf(\"insert\")||-1===t.indexOf(\"delete\"))return t;let i=[],r=[],s=[];const a={equal:0,insert:0,delete:0};for(const c of t)\"insert\"===c?s.push(n[a.equal+a.insert]):\"delete\"===c?r.push(e[a.equal+a.delete]):(i=i.concat(l(r,s,o).map((t=>\"equal\"===t?\"update\":t))),i.push(\"equal\"),r=[],s=[]),a[c]++;return i.concat(l(r,s,o).map((t=>\"equal\"===t?\"update\":t)))}_markDescendantTextToSync(t){if(t)if(t.is(\"$text\"))this.markedTexts.add(t);else if(t.is(\"element\"))for(const e of t.getChildren())this._markDescendantTextToSync(e)}_updateSelection(){if(i.isBlink&&!i.isAndroid&&this.isSelecting&&!this.markedChildren.size)return;if(0===this.selection.rangeCount)return this._removeDomSelection(),void this._removeFakeSelection();const t=this.domConverter.mapViewToDom(this.selection.editableElement);this.isFocused&&t&&(this.selection.isFake?this._updateFakeSelection(t):this._fakeSelectionContainer&&this._fakeSelectionContainer.isConnected?(this._removeFakeSelection(),this._updateDomSelection(t)):this.isComposing&&i.isAndroid||this._updateDomSelection(t))}_updateFakeSelection(t){const e=t.ownerDocument;this._fakeSelectionContainer||(this._fakeSelectionContainer=function(t){const e=t.createElement(\"div\");return e.className=\"ck-fake-selection-container\",Object.assign(e.style,{position:\"fixed\",top:0,left:\"-9999px\",width:\"42px\"}),e.textContent=\" \",e}(e));const n=this._fakeSelectionContainer;if(this.domConverter.bindFakeSelection(n,this.selection),!this._fakeSelectionNeedsUpdate(t))return;n.parentElement&&n.parentElement==t||t.appendChild(n),n.textContent=this.selection.fakeSelectionLabel||\" \";const o=e.getSelection(),i=e.createRange();o.removeAllRanges(),i.selectNodeContents(n),o.addRange(i)}_updateDomSelection(t){const e=t.ownerDocument.defaultView.getSelection();if(!this._domSelectionNeedsUpdate(e))return;const n=this.domConverter.viewPositionToDom(this.selection.anchor),o=this.domConverter.viewPositionToDom(this.selection.focus);e.setBaseAndExtent(n.parent,n.offset,o.parent,o.offset),i.isGecko&&function(t,e){const n=t.parent;if(n.nodeType!=Node.ELEMENT_NODE||t.offset!=n.childNodes.length-1)return;const o=n.childNodes[t.offset];o&&\"BR\"==o.tagName&&e.addRange(e.getRangeAt(0))}(o,e)}_domSelectionNeedsUpdate(t){if(!this.domConverter.isDomSelectionCorrect(t))return!0;const e=t&&this.domConverter.domSelectionToView(t);return(!e||!this.selection.isEqual(e))&&!(!this.selection.isCollapsed&&this.selection.isSimilar(e))}_fakeSelectionNeedsUpdate(t){const e=this._fakeSelectionContainer,n=t.ownerDocument.getSelection();return!e||e.parentElement!==t||(n.anchorNode!==e&&!e.contains(n.anchorNode)||e.textContent!==this.selection.fakeSelectionLabel)}_removeDomSelection(){for(const t of this.domDocuments){const e=t.getSelection();if(e.rangeCount){const n=t.activeElement,o=this.domConverter.mapDomToView(n);n&&o&&e.removeAllRanges()}}}_removeFakeSelection(){const t=this._fakeSelectionContainer;t&&t.remove()}_updateFocus(){if(this.isFocused){const t=this.selection.editableElement;t&&this.domConverter.focus(t)}}}function dc(t,e,n){const o=e instanceof Array?e:e.childNodes,i=o[n];if(Io(i))return i.data=nc+i.data,i;{const i=t.createTextNode(nc);return Array.isArray(e)?o.splice(n,0,i):Go(e,n,i),i}}function hc(t,e){return yo(t)&&yo(e)&&!Io(t)&&!Io(e)&&!$o(t)&&!$o(e)&&t.tagName.toLowerCase()===e.tagName.toLowerCase()}function uc(t,e){return yo(t)&&yo(e)&&Io(t)&&Io(e)}function pc(t,e,n){return e===n||(Io(e)&&Io(n)?e.data===n.data:!(!t.isBlockFiller(e)||!t.isBlockFiller(n)))}function gc(t,e){const n=t.data;if(n==e)return;const o=s(n,e);for(const e of o)\"insert\"===e.type?t.insertData(e.index,e.values.join(\"\")):t.deleteData(e.index,e.howMany)}const mc=tc(Po.document),fc=Qa(Po.document),kc=Xa(Po.document),bc=\"data-ck-unsafe-attribute-\",wc=\"data-ck-unsafe-element\";class _c{constructor(t,{blockFillerMode:e,renderingMode:n=\"editing\"}={}){this._domToViewMapping=new WeakMap,this._viewToDomMapping=new WeakMap,this._fakeSelectionMapping=new WeakMap,this._rawContentElementMatcher=new ls,this._inlineObjectElementMatcher=new ls,this._elementsWithTemporaryCustomProperties=new Set,this.document=t,this.renderingMode=n,this.blockFillerMode=e||(\"editing\"===n?\"br\":\"nbsp\"),this.preElements=[\"pre\"],this.blockElements=[\"address\",\"article\",\"aside\",\"blockquote\",\"caption\",\"center\",\"dd\",\"details\",\"dir\",\"div\",\"dl\",\"dt\",\"fieldset\",\"figcaption\",\"figure\",\"footer\",\"form\",\"h1\",\"h2\",\"h3\",\"h4\",\"h5\",\"h6\",\"header\",\"hgroup\",\"legend\",\"li\",\"main\",\"menu\",\"nav\",\"ol\",\"p\",\"pre\",\"section\",\"summary\",\"table\",\"tbody\",\"td\",\"tfoot\",\"th\",\"thead\",\"tr\",\"ul\"],this.inlineObjectElements=[\"object\",\"iframe\",\"input\",\"button\",\"textarea\",\"select\",\"option\",\"video\",\"embed\",\"audio\",\"img\",\"canvas\"],this.unsafeElements=[\"script\",\"style\"],this._domDocument=\"editing\"===this.renderingMode?Po.document:Po.document.implementation.createHTMLDocument(\"\")}bindFakeSelection(t,e){this._fakeSelectionMapping.set(t,new _a(e))}fakeSelectionToView(t){return this._fakeSelectionMapping.get(t)}bindElements(t,e){this._domToViewMapping.set(t,e),this._viewToDomMapping.set(e,t)}unbindDomElement(t){const e=this._domToViewMapping.get(t);if(e){this._domToViewMapping.delete(t),this._viewToDomMapping.delete(e);for(const e of Array.from(t.children))this.unbindDomElement(e)}}bindDocumentFragments(t,e){this._domToViewMapping.set(t,e),this._viewToDomMapping.set(e,t)}shouldRenderAttribute(t,e,n){return\"data\"===this.renderingMode||!(t=t.toLowerCase()).startsWith(\"on\")&&((\"srcdoc\"!==t||!e.match(/\\bon\\S+\\s*=|javascript:|<\\s*\\/*script/i))&&(\"img\"===n&&(\"src\"===t||\"srcset\"===t)||(\"source\"===n&&\"srcset\"===t||!e.match(/^\\s*(javascript:|data:(image\\/svg|text\\/x?html))/i))))}setContentOf(t,e){if(\"data\"===this.renderingMode)return void(t.innerHTML=e);const n=(new DOMParser).parseFromString(e,\"text/html\"),o=n.createDocumentFragment(),i=n.body.childNodes;for(;i.length>0;)o.appendChild(i[0]);const r=n.createTreeWalker(o,NodeFilter.SHOW_ELEMENT),s=[];let a;for(;a=r.nextNode();)s.push(a);for(const t of s){for(const e of t.getAttributeNames())this.setDomElementAttribute(t,e,t.getAttribute(e));const e=t.tagName.toLowerCase();this._shouldRenameElement(e)&&(yc(e),t.replaceWith(this._createReplacementDomElement(e,t)))}for(;t.firstChild;)t.firstChild.remove();t.append(o)}viewToDom(t,e={}){if(t.is(\"$text\")){const e=this._processDataFromViewText(t);return this._domDocument.createTextNode(e)}{const n=t;if(this.mapViewToDom(n)){if(!n.getCustomProperty(\"editingPipeline:doNotReuseOnce\"))return this.mapViewToDom(n);this._elementsWithTemporaryCustomProperties.add(n)}let o;if(n.is(\"documentFragment\"))o=this._domDocument.createDocumentFragment(),e.bind&&this.bindDocumentFragments(o,n);else{if(n.is(\"uiElement\"))return o=\"$comment\"===n.name?this._domDocument.createComment(n.getCustomProperty(\"$rawContent\")):n.render(this._domDocument,this),e.bind&&this.bindElements(o,n),o;this._shouldRenameElement(n.name)?(yc(n.name),o=this._createReplacementDomElement(n.name)):o=n.hasAttribute(\"xmlns\")?this._domDocument.createElementNS(n.getAttribute(\"xmlns\"),n.name):this._domDocument.createElement(n.name),n.is(\"rawElement\")&&n.render(o,this),e.bind&&this.bindElements(o,n);for(const t of n.getAttributeKeys())this.setDomElementAttribute(o,t,n.getAttribute(t),n)}if(!1!==e.withChildren)for(const t of this.viewChildrenToDom(n,e))o.appendChild(t);return o}}setDomElementAttribute(t,e,n,o){const i=this.shouldRenderAttribute(e,n,t.tagName.toLowerCase())||o&&o.shouldRenderUnsafeAttribute(e);i||b(\"domconverter-unsafe-attribute-detected\",{domElement:t,key:e,value:n}),function(t){try{Po.document.createAttribute(t)}catch(t){return!1}return!0}(e)?(t.hasAttribute(e)&&!i?t.removeAttribute(e):t.hasAttribute(bc+e)&&i&&t.removeAttribute(bc+e),t.setAttribute(i?e:bc+e,n)):b(\"domconverter-invalid-attribute-detected\",{domElement:t,key:e,value:n})}removeDomElementAttribute(t,e){e!=wc&&(t.removeAttribute(e),t.removeAttribute(bc+e))}*viewChildrenToDom(t,e={}){const n=t.getFillerOffset&&t.getFillerOffset();let o=0;for(const i of t.getChildren()){n===o&&(yield this._getBlockFiller());const t=i.is(\"element\")&&!!i.getCustomProperty(\"dataPipeline:transparentRendering\")&&!Ci(i.getAttributes());t&&\"data\"==this.renderingMode?yield*this.viewChildrenToDom(i,e):(t&&b(\"domconverter-transparent-rendering-unsupported-in-editing-pipeline\",{viewElement:i}),yield this.viewToDom(i,e)),o++}n===o&&(yield this._getBlockFiller())}viewRangeToDom(t){const e=this.viewPositionToDom(t.start),n=this.viewPositionToDom(t.end),o=this._domDocument.createRange();return o.setStart(e.parent,e.offset),o.setEnd(n.parent,n.offset),o}viewPositionToDom(t){const e=t.parent;if(e.is(\"$text\")){const n=this.findCorrespondingDomText(e);if(!n)return null;let o=t.offset;return oc(n)&&(o+=ec),{parent:n,offset:o}}{let n,o,i;if(0===t.offset){if(n=this.mapViewToDom(e),!n)return null;i=n.childNodes[0]}else{const e=t.nodeBefore;if(o=e.is(\"$text\")?this.findCorrespondingDomText(e):this.mapViewToDom(e),!o)return null;n=o.parentNode,i=o.nextSibling}if(Io(i)&&oc(i))return{parent:i,offset:ec};return{parent:n,offset:o?Wo(o)+1:0}}}domToView(t,e={}){const n=[],o=this._domToView(t,e,n),i=o.next().value;return i?(o.next(),this._processDomInlineNodes(null,n,e),i.is(\"$text\")&&0==i.data.length?null:i):null}*domChildrenToView(t,e={},n=[]){for(let o=0;o{const{scrollLeft:e,scrollTop:n}=t;o.push([e,n])})),e.focus(),Cc(e,(t=>{const[e,n]=o.shift();t.scrollLeft=e,t.scrollTop=n})),Po.window.scrollTo(t,n)}}_clearDomSelection(){const t=this.mapViewToDom(this.document.selection.editableElement);if(!t)return;const e=t.ownerDocument.defaultView.getSelection(),n=this.domSelectionToView(e);n&&n.rangeCount>0&&e.removeAllRanges()}isElement(t){return t&&t.nodeType==Node.ELEMENT_NODE}isDocumentFragment(t){return t&&t.nodeType==Node.DOCUMENT_FRAGMENT_NODE}isBlockFiller(t){return\"br\"==this.blockFillerMode?t.isEqualNode(mc):!(\"BR\"!==t.tagName||!vc(t,this.blockElements)||1!==t.parentNode.childNodes.length)||(t.isEqualNode(kc)||function(t,e){const n=t.isEqualNode(fc);return n&&vc(t,e)&&1===t.parentNode.childNodes.length}(t,this.blockElements))}isDomSelectionBackward(t){if(t.isCollapsed)return!1;const e=this._domDocument.createRange();try{e.setStart(t.anchorNode,t.anchorOffset),e.setEnd(t.focusNode,t.focusOffset)}catch(t){return!1}const n=e.collapsed;return e.detach(),n}getHostViewElement(t){const e=function(t){const e=[];let n=t;for(;n&&n.nodeType!=Node.DOCUMENT_NODE;)e.unshift(n),n=n.parentNode;return e}(t);for(e.pop();e.length;){const t=e.pop(),n=this._domToViewMapping.get(t);if(n&&(n.is(\"uiElement\")||n.is(\"rawElement\")))return n}return null}isDomSelectionCorrect(t){return this._isDomSelectionPositionCorrect(t.anchorNode,t.anchorOffset)&&this._isDomSelectionPositionCorrect(t.focusNode,t.focusOffset)}registerRawContentMatcher(t){this._rawContentElementMatcher.add(t)}registerInlineObjectMatcher(t){this._inlineObjectElementMatcher.add(t)}_clearTemporaryCustomProperties(){for(const t of this._elementsWithTemporaryCustomProperties)t._removeCustomProperty(\"editingPipeline:doNotReuseOnce\");this._elementsWithTemporaryCustomProperties.clear()}_getBlockFiller(){switch(this.blockFillerMode){case\"nbsp\":return Qa(this._domDocument);case\"markedNbsp\":return Xa(this._domDocument);case\"br\":return tc(this._domDocument)}}_isDomSelectionPositionCorrect(t,e){if(Io(t)&&oc(t)&&e0?e[t-1]:null,c=t+1this.preElements.includes(t.name))))return e;if(\" \"==e.charAt(0)){const n=this._getTouchingInlineViewNode(t,!1);!(n&&n.is(\"$textProxy\")&&this._nodeEndsWithSpace(n))&&n||(e=\" \"+e.substr(1))}if(\" \"==e.charAt(e.length-1)){const n=this._getTouchingInlineViewNode(t,!0),o=n&&n.is(\"$textProxy\")&&\" \"==n.data.charAt(0);\" \"!=e.charAt(e.length-2)&&n&&!o||(e=e.substr(0,e.length-1)+\" \")}return e.replace(/ {2}/g,\"  \")}_nodeEndsWithSpace(t){if(t.getAncestors().some((t=>this.preElements.includes(t.name))))return!1;const e=this._processDataFromViewText(t);return\" \"==e.charAt(e.length-1)}_getTouchingInlineViewNode(t,e){const n=new fa({startPosition:e?ka._createAfter(t):ka._createBefore(t),direction:e?\"forward\":\"backward\"});for(const t of n){if(t.item.is(\"element\",\"br\"))return null;if(this._isInlineObjectElement(t.item))return t.item;if(t.item.is(\"containerElement\"))return null;if(t.item.is(\"$textProxy\"))return t.item}return null}_isBlockDomElement(t){return this.isElement(t)&&this.blockElements.includes(t.tagName.toLowerCase())}_isBlockViewElement(t){return t.is(\"element\")&&this.blockElements.includes(t.name)}_isInlineObjectElement(t){return!!t.is(\"element\")&&(\"br\"==t.name||this.inlineObjectElements.includes(t.name)||!!this._inlineObjectElementMatcher.match(t))}_createViewElement(t,e){if($o(t))return new za(this.document,\"$comment\");const n=e.keepOriginalCase?t.tagName:t.tagName.toLowerCase();return new la(this.document,n)}_isViewElementWithRawContent(t,e){return!1!==e.withChildren&&t.is(\"element\")&&!!this._rawContentElementMatcher.match(t)}_shouldRenameElement(t){const e=t.toLowerCase();return\"editing\"===this.renderingMode&&this.unsafeElements.includes(e)}_createReplacementDomElement(t,e){const n=this._domDocument.createElement(\"span\");if(n.setAttribute(wc,t),e){for(;e.firstChild;)n.appendChild(e.firstChild);for(const t of e.getAttributeNames())n.setAttribute(t,e.getAttribute(t))}return n}}function Ac(t,e){return t.getAncestors().some((t=>t.is(\"element\")&&e.includes(t.name)))}function Cc(t,e){let n=t;for(;n;)e(n),n=n.parentElement}function vc(t,e){const n=t.parentNode;return!!n&&!!n.tagName&&e.includes(n.tagName.toLowerCase())}function yc(t){\"script\"===t&&b(\"domconverter-unsafe-script-element-detected\"),\"style\"===t&&b(\"domconverter-unsafe-style-element-detected\")}class xc extends(Do()){constructor(t){super(),this._isEnabled=!1,this.view=t,this.document=t.document}get isEnabled(){return this._isEnabled}enable(){this._isEnabled=!0}disable(){this._isEnabled=!1}destroy(){this.disable(),this.stopListening()}checkShouldIgnoreEventFromTarget(t){return t&&3===t.nodeType&&(t=t.parentNode),!(!t||1!==t.nodeType)&&t.matches(\"[data-cke-ignore-events], [data-cke-ignore-events] *\")}}const Ec=ea((function(t,e){Ee(e,dn(e),t)}));class Dc{constructor(t,e,n){this.view=t,this.document=t.document,this.domEvent=e,this.domTarget=e.target,Ec(this,n)}get target(){return this.view.domConverter.mapDomToView(this.domTarget)}preventDefault(){this.domEvent.preventDefault()}stopPropagation(){this.domEvent.stopPropagation()}}class Sc extends xc{constructor(){super(...arguments),this.useCapture=!1}observe(t){(\"string\"==typeof this.domEventType?[this.domEventType]:this.domEventType).forEach((e=>{this.listenTo(t,e,((t,e)=>{this.isEnabled&&!this.checkShouldIgnoreEventFromTarget(e.target)&&this.onDomEvent(e)}),{useCapture:this.useCapture})}))}stopObserving(t){this.stopListening(t)}fire(t,e,n){this.isEnabled&&this.document.fire(t,new Dc(this.view,e,n))}}class Bc extends Sc{constructor(){super(...arguments),this.domEventType=[\"keydown\",\"keyup\"]}onDomEvent(t){const e={keyCode:t.keyCode,altKey:t.altKey,ctrlKey:t.ctrlKey,shiftKey:t.shiftKey,metaKey:t.metaKey,get keystroke(){return ui(this)}};this.fire(t.type,t,e)}}const Tc=function(){return tt.Date.now()};var Pc=/\\s/;const Ic=function(t){for(var e=t.length;e--&&Pc.test(t.charAt(e)););return e};var Rc=/^\\s+/;const Oc=function(t){return t?t.slice(0,Ic(t)+1).replace(Rc,\"\"):t};var zc=/^[-+]0x[0-9a-f]+$/i,Mc=/^0b[01]+$/i,Fc=/^0o[0-7]+$/i,Nc=parseInt;const Vc=function(t){if(\"number\"==typeof t)return t;if(us(t))return NaN;if(z(t)){var e=\"function\"==typeof t.valueOf?t.valueOf():t;t=z(e)?e+\"\":e}if(\"string\"!=typeof t)return 0===t?t:+t;t=Oc(t);var n=Mc.test(t);return n||Fc.test(t)?Nc(t.slice(2),n?2:8):zc.test(t)?NaN:+t};var Lc=Math.max,Hc=Math.min;const jc=function(t,e,n){var o,i,r,s,a,c,l=0,d=!1,h=!1,u=!0;if(\"function\"!=typeof t)throw new TypeError(\"Expected a function\");function p(e){var n=o,r=i;return o=i=void 0,l=e,s=t.apply(r,n)}function g(t){var n=t-c;return void 0===c||n>=e||n<0||h&&t-l>=r}function m(){var t=Tc();if(g(t))return f(t);a=setTimeout(m,function(t){var n=e-(t-c);return h?Hc(n,r-(t-l)):n}(t))}function f(t){return a=void 0,u&&o?p(t):(o=i=void 0,s)}function k(){var t=Tc(),n=g(t);if(o=arguments,i=this,c=t,n){if(void 0===a)return function(t){return l=t,a=setTimeout(m,e),d?p(t):s}(c);if(h)return clearTimeout(a),a=setTimeout(m,e),p(c)}return void 0===a&&(a=setTimeout(m,e)),s}return e=Vc(e)||0,z(n)&&(d=!!n.leading,r=(h=\"maxWait\"in n)?Lc(Vc(n.maxWait)||0,e):r,u=\"trailing\"in n?!!n.trailing:u),k.cancel=function(){void 0!==a&&clearTimeout(a),l=0,o=c=i=a=void 0},k.flush=function(){return void 0===a?s:f(Tc())},k};class qc extends xc{constructor(t){super(t),this._fireSelectionChangeDoneDebounced=jc((t=>{this.document.fire(\"selectionChangeDone\",t)}),200)}observe(){const t=this.document;t.on(\"arrowKey\",((e,n)=>{t.selection.isFake&&this.isEnabled&&n.preventDefault()}),{context:\"$capture\"}),t.on(\"arrowKey\",((e,n)=>{t.selection.isFake&&this.isEnabled&&this._handleSelectionMove(n.keyCode)}),{priority:\"lowest\"})}stopObserving(){}destroy(){super.destroy(),this._fireSelectionChangeDoneDebounced.cancel()}_handleSelectionMove(t){const e=this.document.selection,n=new _a(e.getRanges(),{backward:e.isBackward,fake:!1});t!=di.arrowleft&&t!=di.arrowup||n.setTo(n.getFirstPosition()),t!=di.arrowright&&t!=di.arrowdown||n.setTo(n.getLastPosition());const o={oldSelection:e,newSelection:n,domSelection:null};this.document.fire(\"selectionChange\",o),this._fireSelectionChangeDoneDebounced(o)}}const Kc=function(t){return this.__data__.set(t,\"__lodash_hash_undefined__\"),this};const Wc=function(t){return this.__data__.has(t)};function Gc(t){var e=-1,n=null==t?0:t.length;for(this.__data__=new ke;++ea))return!1;var l=r.get(t),d=r.get(e);if(l&&d)return l==e&&d==t;var h=-1,u=!0,p=2&n?new $c:void 0;for(r.set(t,e),r.set(e,t);++h{this._isFocusChanging=!0,this._renderTimeoutId=setTimeout((()=>{this.flush(),t.change((()=>{}))}),50)})),e.on(\"blur\",((n,o)=>{const i=e.selection.editableElement;null!==i&&i!==o.target||(e.isFocused=!1,this._isFocusChanging=!1,t.change((()=>{})))}))}flush(){this._isFocusChanging&&(this._isFocusChanging=!1,this.document.isFocused=!0)}onDomEvent(t){this.fire(t.type,t)}destroy(){this._renderTimeoutId&&clearTimeout(this._renderTimeoutId),super.destroy()}}class gl extends xc{constructor(t){super(t),this.mutationObserver=t.getObserver(hl),this.focusObserver=t.getObserver(pl),this.selection=this.document.selection,this.domConverter=t.domConverter,this._documents=new WeakSet,this._fireSelectionChangeDoneDebounced=jc((t=>{this.document.fire(\"selectionChangeDone\",t)}),200),this._clearInfiniteLoopInterval=setInterval((()=>this._clearInfiniteLoop()),1e3),this._documentIsSelectingInactivityTimeoutDebounced=jc((()=>this.document.isSelecting=!1),5e3),this._loopbackCounter=0}observe(t){const e=t.ownerDocument,n=()=>{this.document.isSelecting&&(this._handleSelectionChange(null,e),this.document.isSelecting=!1,this._documentIsSelectingInactivityTimeoutDebounced.cancel())};this.listenTo(t,\"selectstart\",(()=>{this.document.isSelecting=!0,this._documentIsSelectingInactivityTimeoutDebounced()}),{priority:\"highest\"}),this.listenTo(t,\"keydown\",n,{priority:\"highest\",useCapture:!0}),this.listenTo(t,\"keyup\",n,{priority:\"highest\",useCapture:!0}),this._documents.has(e)||(this.listenTo(e,\"mouseup\",n,{priority:\"highest\",useCapture:!0}),this.listenTo(e,\"selectionchange\",((t,n)=>{this.document.isComposing&&!i.isAndroid||(this._handleSelectionChange(n,e),this._documentIsSelectingInactivityTimeoutDebounced())})),this._documents.add(e))}stopObserving(t){this.stopListening(t)}destroy(){super.destroy(),clearInterval(this._clearInfiniteLoopInterval),this._fireSelectionChangeDoneDebounced.cancel(),this._documentIsSelectingInactivityTimeoutDebounced.cancel()}_reportInfiniteLoop(){}_handleSelectionChange(t,e){if(!this.isEnabled)return;const n=e.defaultView.getSelection();if(this.checkShouldIgnoreEventFromTarget(n.anchorNode))return;this.mutationObserver.flush();const o=this.domConverter.domSelectionToView(n);if(0!=o.rangeCount){if(this.view.hasDomSelection=!0,this.focusObserver.flush(),!this.selection.isEqual(o)||!this.domConverter.isDomSelectionCorrect(n))if(++this._loopbackCounter>60)this._reportInfiniteLoop();else if(this.selection.isSimilar(o))this.view.forceRender();else{const t={oldSelection:this.selection,newSelection:o,domSelection:n};this.document.fire(\"selectionChange\",t),this._fireSelectionChangeDoneDebounced(t)}}else this.view.hasDomSelection=!1}_clearInfiniteLoop(){this._loopbackCounter=0}}class ml extends Sc{constructor(t){super(t),this.domEventType=[\"compositionstart\",\"compositionupdate\",\"compositionend\"];const e=this.document;e.on(\"compositionstart\",(()=>{e.isComposing=!0}),{priority:\"low\"}),e.on(\"compositionend\",(()=>{e.isComposing=!1}),{priority:\"low\"})}onDomEvent(t){this.fire(t.type,t,{data:t.data})}}class fl{constructor(t,e={}){this._files=e.cacheFiles?kl(t):null,this._native=t}get files(){return this._files||(this._files=kl(this._native)),this._files}get types(){return this._native.types}getData(t){return this._native.getData(t)}setData(t,e){this._native.setData(t,e)}set effectAllowed(t){this._native.effectAllowed=t}get effectAllowed(){return this._native.effectAllowed}set dropEffect(t){this._native.dropEffect=t}get dropEffect(){return this._native.dropEffect}setDragImage(t,e,n){this._native.setDragImage(t,e,n)}get isCanceled(){return\"none\"==this._native.dropEffect||!!this._native.mozUserCancelled}}function kl(t){const e=Array.from(t.files||[]),n=Array.from(t.items||[]);return e.length?e:n.filter((t=>\"file\"===t.kind)).map((t=>t.getAsFile()))}class bl extends Sc{constructor(){super(...arguments),this.domEventType=\"beforeinput\"}onDomEvent(t){const e=t.getTargetRanges(),n=this.view,o=n.document;let r=null,s=null,a=[];if(t.dataTransfer&&(r=new fl(t.dataTransfer)),null!==t.data?s=t.data:r&&(s=r.getData(\"text/plain\")),o.selection.isFake)a=Array.from(o.selection.getRanges());else if(e.length)a=e.map((t=>{const e=n.domConverter.domPositionToView(t.startContainer,t.startOffset),o=n.domConverter.domPositionToView(t.endContainer,t.endOffset);return e?n.createRange(e,o):o?n.createRange(o):void 0})).filter((t=>!!t));else if(i.isAndroid){const e=t.target.ownerDocument.defaultView.getSelection();a=Array.from(n.domConverter.domSelectionToView(e).getRanges())}if(i.isAndroid&&\"insertCompositionText\"==t.inputType&&s&&s.endsWith(\"\\n\"))this.fire(t.type,t,{inputType:\"insertParagraph\",targetRanges:[n.createRange(a[0].end)]});else if(\"insertText\"==t.inputType&&s&&s.includes(\"\\n\")){const e=s.split(/\\n{1,2}/g);let n=a;for(let i=0;i{if(this.isEnabled&&((n=e.keyCode)==di.arrowright||n==di.arrowleft||n==di.arrowup||n==di.arrowdown)){const n=new Ca(this.document,\"arrowKey\",this.document.selection.getFirstRange());this.document.fire(n,e),n.stop.called&&t.stop()}var n}))}observe(){}stopObserving(){}}class _l extends xc{constructor(t){super(t);const e=this.document;e.on(\"keydown\",((t,n)=>{if(!this.isEnabled||n.keyCode!=di.tab||n.ctrlKey)return;const o=new Ca(e,\"tab\",e.selection.getFirstRange());e.fire(o,n),o.stop.called&&t.stop()}))}observe(){}stopObserving(){}}const Al=function(t){return bo(t,5)};class Cl extends(j()){constructor(t){super(),this.domRoots=new Map,this._initialDomRootAttributes=new WeakMap,this._observers=new Map,this._ongoingChange=!1,this._postFixersInProgress=!1,this._renderingDisabled=!1,this._hasChangedSinceTheLastRendering=!1,this.document=new Ba(t),this.domConverter=new _c(this.document),this.set(\"isRenderingInProgress\",!1),this.set(\"hasDomSelection\",!1),this._renderer=new lc(this.domConverter,this.document.selection),this._renderer.bind(\"isFocused\",\"isSelecting\",\"isComposing\").to(this.document,\"isFocused\",\"isSelecting\",\"isComposing\"),this._writer=new Ha(this.document),this.addObserver(hl),this.addObserver(pl),this.addObserver(gl),this.addObserver(Bc),this.addObserver(qc),this.addObserver(ml),this.addObserver(wl),this.addObserver(bl),this.addObserver(_l),this.document.on(\"arrowKey\",sc,{priority:\"low\"}),Ma(this),this.on(\"render\",(()=>{this._render(),this.document.fire(\"layoutChanged\"),this._hasChangedSinceTheLastRendering=!1})),this.listenTo(this.document.selection,\"change\",(()=>{this._hasChangedSinceTheLastRendering=!0})),this.listenTo(this.document,\"change:isFocused\",(()=>{this._hasChangedSinceTheLastRendering=!0})),i.isiOS&&this.listenTo(this.document,\"blur\",((t,e)=>{this.domConverter.mapDomToView(e.domEvent.relatedTarget)||this.domConverter._clearDomSelection()}))}attachDomRoot(t,e=\"main\"){const n=this.document.getRoot(e);n._name=t.tagName.toLowerCase();const o={};for(const{name:e,value:i}of Array.from(t.attributes))o[e]=i,\"class\"===e?this._writer.addClass(i.split(\" \"),n):this._writer.setAttribute(e,i,n);this._initialDomRootAttributes.set(t,o);const i=()=>{this._writer.setAttribute(\"contenteditable\",(!n.isReadOnly).toString(),n),n.isReadOnly?this._writer.addClass(\"ck-read-only\",n):this._writer.removeClass(\"ck-read-only\",n)};i(),this.domRoots.set(e,t),this.domConverter.bindElements(t,n),this._renderer.markToSync(\"children\",n),this._renderer.markToSync(\"attributes\",n),this._renderer.domDocuments.add(t.ownerDocument),n.on(\"change:children\",((t,e)=>this._renderer.markToSync(\"children\",e))),n.on(\"change:attributes\",((t,e)=>this._renderer.markToSync(\"attributes\",e))),n.on(\"change:text\",((t,e)=>this._renderer.markToSync(\"text\",e))),n.on(\"change:isReadOnly\",(()=>this.change(i))),n.on(\"change\",(()=>{this._hasChangedSinceTheLastRendering=!0}));for(const n of this._observers.values())n.observe(t,e)}detachDomRoot(t){const e=this.domRoots.get(t);Array.from(e.attributes).forEach((({name:t})=>e.removeAttribute(t)));const n=this._initialDomRootAttributes.get(e);for(const t in n)e.setAttribute(t,n[t]);this.domRoots.delete(t),this.domConverter.unbindDomElement(e);for(const t of this._observers.values())t.stopObserving(e)}getDomRoot(t=\"main\"){return this.domRoots.get(t)}addObserver(t){let e=this._observers.get(t);if(e)return e;e=new t(this),this._observers.set(t,e);for(const[t,n]of this.domRoots)e.observe(n,t);return e.enable(),e}getObserver(t){return this._observers.get(t)}disableObservers(){for(const t of this._observers.values())t.disable()}enableObservers(){for(const t of this._observers.values())t.enable()}scrollToTheSelection({alignToTop:t,forceScroll:e,viewportOffset:n=20,ancestorOffset:o=20}={}){const i=this.document.selection.getFirstRange();if(!i)return;const r=Al({alignToTop:t,forceScroll:e,viewportOffset:n,ancestorOffset:o});\"number\"==typeof n&&(n={top:n,bottom:n,left:n,right:n});const s={target:this.domConverter.viewRangeToDom(i),viewportOffset:n,ancestorOffset:o,alignToTop:t,forceScroll:e};this.fire(\"scrollToTheSelection\",s,r),function({target:t,viewportOffset:e=0,ancestorOffset:n=0,alignToTop:o,forceScroll:i}){const r=ri(t);let s=r,a=null;for(e=function(t){return\"number\"==typeof t?{top:t,bottom:t,left:t,right:t}:t}(e);s;){let c;c=si(s==r?t:a),ti({parent:c,getRect:()=>ai(t,s),alignToTop:o,ancestorOffset:n,forceScroll:i});const l=ai(t,s);if(Xo({window:s,rect:l,viewportOffset:e,alignToTop:o,forceScroll:i}),s.parent!=s){if(a=s.frameElement,s=s.parent,!a)return}else s=null}}(s)}focus(){if(!this.document.isFocused){const t=this.document.selection.editableElement;t&&(this.domConverter.focus(t),this.forceRender())}}change(t){if(this.isRenderingInProgress||this._postFixersInProgress)throw new k(\"cannot-change-view-tree\",this);try{if(this._ongoingChange)return t(this._writer);this._ongoingChange=!0;const e=t(this._writer);return this._ongoingChange=!1,!this._renderingDisabled&&this._hasChangedSinceTheLastRendering&&(this._postFixersInProgress=!0,this.document._callPostFixers(this._writer),this._postFixersInProgress=!1,this.fire(\"render\")),e}catch(t){k.rethrowUnexpectedError(t,this)}}forceRender(){this._hasChangedSinceTheLastRendering=!0,this.getObserver(pl).flush(),this.change((()=>{}))}destroy(){for(const t of this._observers.values())t.destroy();this.document.destroy(),this.stopListening()}createPositionAt(t,e){return ka._createAt(t,e)}createPositionAfter(t){return ka._createAfter(t)}createPositionBefore(t){return ka._createBefore(t)}createRange(t,e){return new ba(t,e)}createRangeOn(t){return ba._createOn(t)}createRangeIn(t){return ba._createIn(t)}createSelection(...t){return new _a(...t)}_disableRendering(t){this._renderingDisabled=t,0==t&&this.change((()=>{}))}_render(){this.isRenderingInProgress=!0,this.disableObservers(),this._renderer.render(),this.enableObservers(),this.isRenderingInProgress=!1}}class vl{is(){throw new Error(\"is() method is abstract\")}}class yl extends vl{constructor(t){super(),this.parent=null,this._attrs=xi(t)}get document(){return null}get index(){let t;if(!this.parent)return null;if(null===(t=this.parent.getChildIndex(this)))throw new k(\"model-node-not-found-in-parent\",this);return t}get startOffset(){let t;if(!this.parent)return null;if(null===(t=this.parent.getChildStartOffset(this)))throw new k(\"model-node-not-found-in-parent\",this);return t}get offsetSize(){return 1}get endOffset(){return this.parent?this.startOffset+this.offsetSize:null}get nextSibling(){const t=this.index;return null!==t&&this.parent.getChild(t+1)||null}get previousSibling(){const t=this.index;return null!==t&&this.parent.getChild(t-1)||null}get root(){let t=this;for(;t.parent;)t=t.parent;return t}isAttached(){return null!==this.parent&&this.root.isAttached()}getPath(){const t=[];let e=this;for(;e.parent;)t.unshift(e.startOffset),e=e.parent;return t}getAncestors(t={}){const e=[];let n=t.includeSelf?this:this.parent;for(;n;)e[t.parentFirst?\"push\":\"unshift\"](n),n=n.parent;return e}getCommonAncestor(t,e={}){const n=this.getAncestors(e),o=t.getAncestors(e);let i=0;for(;n[i]==o[i]&&n[i];)i++;return 0===i?null:n[i-1]}isBefore(t){if(this==t)return!1;if(this.root!==t.root)return!1;const e=this.getPath(),n=t.getPath(),o=J(e,n);switch(o){case\"prefix\":return!0;case\"extension\":return!1;default:return e[o](t[e[0]]=e[1],t)),{})),t}_clone(t){return new this.constructor(this._attrs)}_remove(){this.parent._removeChildren(this.index)}_setAttribute(t,e){this._attrs.set(t,e)}_setAttributesTo(t){this._attrs=xi(t)}_removeAttribute(t){return this._attrs.delete(t)}_clearAttributes(){this._attrs.clear()}}yl.prototype.is=function(t){return\"node\"===t||\"model:node\"===t};class xl{constructor(t){this._nodes=[],t&&this._insertNodes(0,t)}[Symbol.iterator](){return this._nodes[Symbol.iterator]()}get length(){return this._nodes.length}get maxOffset(){return this._nodes.reduce(((t,e)=>t+e.offsetSize),0)}getNode(t){return this._nodes[t]||null}getNodeIndex(t){const e=this._nodes.indexOf(t);return-1==e?null:e}getNodeStartOffset(t){const e=this.getNodeIndex(t);return null===e?null:this._nodes.slice(0,e).reduce(((t,e)=>t+e.offsetSize),0)}indexToOffset(t){if(t==this._nodes.length)return this.maxOffset;const e=this._nodes[t];if(!e)throw new k(\"model-nodelist-index-out-of-bounds\",this);return this.getNodeStartOffset(e)}offsetToIndex(t){let e=0;for(const n of this._nodes){if(t>=e&&t1e4)return t.slice(0,n).concat(e).concat(t.slice(n+o,t.length));{const i=Array.from(t);return i.splice(n,o,...e),i}}(this._nodes,Array.from(e),t,0)}_removeNodes(t,e=1){return this._nodes.splice(t,e)}toJSON(){return this._nodes.map((t=>t.toJSON()))}}class El extends yl{constructor(t,e){super(e),this._data=t||\"\"}get offsetSize(){return this.data.length}get data(){return this._data}toJSON(){const t=super.toJSON();return t.data=this.data,t}_clone(){return new El(this.data,this.getAttributes())}static fromJSON(t){return new El(t.data,t.attributes)}}El.prototype.is=function(t){return\"$text\"===t||\"model:$text\"===t||\"text\"===t||\"model:text\"===t||\"node\"===t||\"model:node\"===t};class Dl extends vl{constructor(t,e,n){if(super(),this.textNode=t,e<0||e>t.offsetSize)throw new k(\"model-textproxy-wrong-offsetintext\",this);if(n<0||e+n>t.offsetSize)throw new k(\"model-textproxy-wrong-length\",this);this.data=t.data.substring(e,e+n),this.offsetInText=e}get startOffset(){return null!==this.textNode.startOffset?this.textNode.startOffset+this.offsetInText:null}get offsetSize(){return this.data.length}get endOffset(){return null!==this.startOffset?this.startOffset+this.offsetSize:null}get isPartial(){return this.offsetSize!==this.textNode.offsetSize}get parent(){return this.textNode.parent}get root(){return this.textNode.root}getPath(){const t=this.textNode.getPath();return t.length>0&&(t[t.length-1]+=this.offsetInText),t}getAncestors(t={}){const e=[];let n=t.includeSelf?this:this.parent;for(;n;)e[t.parentFirst?\"push\":\"unshift\"](n),n=n.parent;return e}hasAttribute(t){return this.textNode.hasAttribute(t)}getAttribute(t){return this.textNode.getAttribute(t)}getAttributes(){return this.textNode.getAttributes()}getAttributeKeys(){return this.textNode.getAttributeKeys()}}Dl.prototype.is=function(t){return\"$textProxy\"===t||\"model:$textProxy\"===t||\"textProxy\"===t||\"model:textProxy\"===t};class Sl extends yl{constructor(t,e,n){super(e),this._children=new xl,this.name=t,n&&this._insertChild(0,n)}get childCount(){return this._children.length}get maxOffset(){return this._children.maxOffset}get isEmpty(){return 0===this.childCount}getChild(t){return this._children.getNode(t)}getChildren(){return this._children[Symbol.iterator]()}getChildIndex(t){return this._children.getNodeIndex(t)}getChildStartOffset(t){return this._children.getNodeStartOffset(t)}offsetToIndex(t){return this._children.offsetToIndex(t)}getNodeByPath(t){let e=this;for(const n of t)e=e.getChild(e.offsetToIndex(n));return e}findAncestor(t,e={}){let n=e.includeSelf?this:this.parent;for(;n;){if(n.name===t)return n;n=n.parent}return null}toJSON(){const t=super.toJSON();if(t.name=this.name,this._children.length>0){t.children=[];for(const e of this._children)t.children.push(e.toJSON())}return t}_clone(t=!1){const e=t?Array.from(this._children).map((t=>t._clone(!0))):void 0;return new Sl(this.name,this.getAttributes(),e)}_appendChild(t){this._insertChild(this.childCount,t)}_insertChild(t,e){const n=function(t){if(\"string\"==typeof t)return[new El(t)];Y(t)||(t=[t]);return Array.from(t).map((t=>\"string\"==typeof t?new El(t):t instanceof Dl?new El(t.data,t.getAttributes()):t))}(e);for(const t of n)null!==t.parent&&t._remove(),t.parent=this;this._children._insertNodes(t,n)}_removeChildren(t,e=1){const n=this._children._removeNodes(t,e);for(const t of n)t.parent=null;return n}static fromJSON(t){let e;if(t.children){e=[];for(const n of t.children)n.name?e.push(Sl.fromJSON(n)):e.push(El.fromJSON(n))}return new Sl(t.name,t.attributes,e)}}Sl.prototype.is=function(t,e){return e?e===this.name&&(\"element\"===t||\"model:element\"===t):\"element\"===t||\"model:element\"===t||\"node\"===t||\"model:node\"===t};class Bl{constructor(t){if(!t||!t.boundaries&&!t.startPosition)throw new k(\"model-tree-walker-no-start-position\",null);const e=t.direction||\"forward\";if(\"forward\"!=e&&\"backward\"!=e)throw new k(\"model-tree-walker-unknown-direction\",t,{direction:e});this.direction=e,this.boundaries=t.boundaries||null,t.startPosition?this._position=t.startPosition.clone():this._position=Pl._createAt(this.boundaries[\"backward\"==this.direction?\"end\":\"start\"]),this.position.stickiness=\"toNone\",this.singleCharacters=!!t.singleCharacters,this.shallow=!!t.shallow,this.ignoreElementEnd=!!t.ignoreElementEnd,this._boundaryStartParent=this.boundaries?this.boundaries.start.parent:null,this._boundaryEndParent=this.boundaries?this.boundaries.end.parent:null,this._visitedParent=this.position.parent}[Symbol.iterator](){return this}get position(){return this._position}skip(t){let e,n,o,i;do{o=this.position,i=this._visitedParent,({done:e,value:n}=this.next())}while(!e&&t(n));e||(this._position=o,this._visitedParent=i)}next(){return\"forward\"==this.direction?this._next():this._previous()}_next(){const t=this.position,e=this.position.clone(),n=this._visitedParent;if(null===n.parent&&e.offset===n.maxOffset)return{done:!0,value:void 0};if(n===this._boundaryEndParent&&e.offset==this.boundaries.end.offset)return{done:!0,value:void 0};const o=Il(e,n),i=o||Rl(e,n,o);if(i instanceof Sl){if(this.shallow){if(this.boundaries&&this.boundaries.end.isBefore(e))return{done:!0,value:void 0};e.offset++}else e.path.push(0),this._visitedParent=i;return this._position=e,Tl(\"elementStart\",i,t,e,1)}if(i instanceof El){let o;if(this.singleCharacters)o=1;else{let t=i.endOffset;this._boundaryEndParent==n&&this.boundaries.end.offsett&&(t=this.boundaries.start.offset),o=e.offset-t}const i=e.offset-r.startOffset,s=new Dl(r,i-o,o);return e.offset-=o,this._position=e,Tl(\"text\",s,t,e,o)}return e.path.pop(),this._position=e,this._visitedParent=n.parent,Tl(\"elementStart\",n,t,e,1)}}function Tl(t,e,n,o,i){return{done:!1,value:{type:t,item:e,previousPosition:n,nextPosition:o,length:i}}}class Pl extends vl{constructor(t,e,n=\"toNone\"){if(super(),!t.is(\"element\")&&!t.is(\"documentFragment\"))throw new k(\"model-position-root-invalid\",t);if(!(e instanceof Array)||0===e.length)throw new k(\"model-position-path-incorrect-format\",t,{path:e});t.is(\"rootElement\")?e=e.slice():(e=[...t.getPath(),...e],t=t.root),this.root=t,this.path=e,this.stickiness=n}get offset(){return this.path[this.path.length-1]}set offset(t){this.path[this.path.length-1]=t}get parent(){let t=this.root;for(let e=0;e1)return!1;if(1===e)return zl(t,this,n);if(-1===e)return zl(this,t,n)}return this.path.length===t.path.length||(this.path.length>t.path.length?Ml(this.path,e):Ml(t.path,e))}hasSameParentAs(t){if(this.root!==t.root)return!1;return\"same\"==J(this.getParentPath(),t.getParentPath())}getTransformedByOperation(t){let e;switch(t.type){case\"insert\":e=this._getTransformedByInsertOperation(t);break;case\"move\":case\"remove\":case\"reinsert\":e=this._getTransformedByMoveOperation(t);break;case\"split\":e=this._getTransformedBySplitOperation(t);break;case\"merge\":e=this._getTransformedByMergeOperation(t);break;default:e=Pl._createAt(this)}return e}_getTransformedByInsertOperation(t){return this._getTransformedByInsertion(t.position,t.howMany)}_getTransformedByMoveOperation(t){return this._getTransformedByMove(t.sourcePosition,t.targetPosition,t.howMany)}_getTransformedBySplitOperation(t){const e=t.movedRange;return e.containsPosition(this)||e.start.isEqual(this)&&\"toNext\"==this.stickiness?this._getCombined(t.splitPosition,t.moveTargetPosition):t.graveyardPosition?this._getTransformedByMove(t.graveyardPosition,t.insertionPosition,1):this._getTransformedByInsertion(t.insertionPosition,1)}_getTransformedByMergeOperation(t){const e=t.movedRange;let n;return e.containsPosition(this)||e.start.isEqual(this)?(n=this._getCombined(t.sourcePosition,t.targetPosition),t.sourcePosition.isBefore(t.targetPosition)&&(n=n._getTransformedByDeletion(t.deletionPosition,1))):n=this.isEqual(t.deletionPosition)?Pl._createAt(t.deletionPosition):this._getTransformedByMove(t.deletionPosition,t.graveyardPosition,1),n}_getTransformedByDeletion(t,e){const n=Pl._createAt(this);if(this.root!=t.root)return n;if(\"same\"==J(t.getParentPath(),this.getParentPath())){if(t.offsetthis.offset)return null;n.offset-=e}}else if(\"prefix\"==J(t.getParentPath(),this.getParentPath())){const o=t.path.length-1;if(t.offset<=this.path[o]){if(t.offset+e>this.path[o])return null;n.path[o]-=e}}return n}_getTransformedByInsertion(t,e){const n=Pl._createAt(this);if(this.root!=t.root)return n;if(\"same\"==J(t.getParentPath(),this.getParentPath()))(t.offset=e;){if(t.path[o]+i!==n.maxOffset)return!1;i=1,o--,n=n.parent}return!0}(t,n+1))}function Ml(t,e){for(;ee+1;){const e=o.maxOffset-n.offset;0!==e&&t.push(new Fl(n,n.getShiftedBy(e))),n.path=n.path.slice(0,-1),n.offset++,o=o.parent}for(;n.path.length<=this.end.path.length;){const e=this.end.path[n.path.length-1],o=e-n.offset;0!==o&&t.push(new Fl(n,n.getShiftedBy(o))),n.offset=e,n.path.push(0)}return t}getWalker(t={}){return t.boundaries=this,new Bl(t)}*getItems(t={}){t.boundaries=this,t.ignoreElementEnd=!0;const e=new Bl(t);for(const t of e)yield t.item}*getPositions(t={}){t.boundaries=this;const e=new Bl(t);yield e.position;for(const t of e)yield t.nextPosition}getTransformedByOperation(t){switch(t.type){case\"insert\":return this._getTransformedByInsertOperation(t);case\"move\":case\"remove\":case\"reinsert\":return this._getTransformedByMoveOperation(t);case\"split\":return[this._getTransformedBySplitOperation(t)];case\"merge\":return[this._getTransformedByMergeOperation(t)]}return[new Fl(this.start,this.end)]}getTransformedByOperations(t){const e=[new Fl(this.start,this.end)];for(const n of t)for(let t=0;t0?new this(n,o):new this(o,n)}static _createIn(t){return new this(Pl._createAt(t,0),Pl._createAt(t,t.maxOffset))}static _createOn(t){return this._createFromPositionAndShift(Pl._createBefore(t),t.offsetSize)}static _createFromRanges(t){if(0===t.length)throw new k(\"range-create-from-ranges-empty-array\",null);if(1==t.length)return t[0].clone();const e=t[0];t.sort(((t,e)=>t.start.isAfter(e.start)?1:-1));const n=t.indexOf(e),o=new this(e.start,e.end);if(n>0)for(let e=n-1;t[e].end.isEqual(o.start);e++)o.start=Pl._createAt(t[e].start);for(let e=n+1;e{if(e.viewPosition)return;const n=this._modelToViewMapping.get(e.modelPosition.parent);if(!n)throw new k(\"mapping-model-position-view-parent-not-found\",this,{modelPosition:e.modelPosition});e.viewPosition=this.findPositionIn(n,e.modelPosition.offset)}),{priority:\"low\"}),this.on(\"viewToModelPosition\",((t,e)=>{if(e.modelPosition)return;const n=this.findMappedViewAncestor(e.viewPosition),o=this._viewToModelMapping.get(n),i=this._toModelOffset(e.viewPosition.parent,e.viewPosition.offset,n);e.modelPosition=Pl._createAt(o,i)}),{priority:\"low\"})}bindElements(t,e){this._modelToViewMapping.set(t,e),this._viewToModelMapping.set(e,t)}unbindViewElement(t,e={}){const n=this.toModelElement(t);if(this._elementToMarkerNames.has(t))for(const e of this._elementToMarkerNames.get(t))this._unboundMarkerNames.add(e);e.defer?this._deferredBindingRemovals.set(t,t.root):(this._viewToModelMapping.delete(t),this._modelToViewMapping.get(n)==t&&this._modelToViewMapping.delete(n))}unbindModelElement(t){const e=this.toViewElement(t);this._modelToViewMapping.delete(t),this._viewToModelMapping.get(e)==t&&this._viewToModelMapping.delete(e)}bindElementToMarker(t,e){const n=this._markerNameToElements.get(e)||new Set;n.add(t);const o=this._elementToMarkerNames.get(t)||new Set;o.add(e),this._markerNameToElements.set(e,n),this._elementToMarkerNames.set(t,o)}unbindElementFromMarkerName(t,e){const n=this._markerNameToElements.get(e);n&&(n.delete(t),0==n.size&&this._markerNameToElements.delete(e));const o=this._elementToMarkerNames.get(t);o&&(o.delete(e),0==o.size&&this._elementToMarkerNames.delete(t))}flushUnboundMarkerNames(){const t=Array.from(this._unboundMarkerNames);return this._unboundMarkerNames.clear(),t}flushDeferredBindings(){for(const[t,e]of this._deferredBindingRemovals)t.root==e&&this.unbindViewElement(t);this._deferredBindingRemovals=new Map}clearBindings(){this._modelToViewMapping=new WeakMap,this._viewToModelMapping=new WeakMap,this._markerNameToElements=new Map,this._elementToMarkerNames=new Map,this._unboundMarkerNames=new Set,this._deferredBindingRemovals=new Map}toModelElement(t){return this._viewToModelMapping.get(t)}toViewElement(t){return this._modelToViewMapping.get(t)}toModelRange(t){return new Fl(this.toModelPosition(t.start),this.toModelPosition(t.end))}toViewRange(t){return new ba(this.toViewPosition(t.start),this.toViewPosition(t.end))}toModelPosition(t){const e={viewPosition:t,mapper:this};return this.fire(\"viewToModelPosition\",e),e.modelPosition}toViewPosition(t,e={}){const n={modelPosition:t,mapper:this,isPhantom:e.isPhantom};return this.fire(\"modelToViewPosition\",n),n.viewPosition}markerNameToElements(t){const e=this._markerNameToElements.get(t);if(!e)return null;const n=new Set;for(const t of e)if(t.is(\"attributeElement\"))for(const e of t.getElementsWithSameId())n.add(e);else n.add(t);return n}registerViewToModelLength(t,e){this._viewToModelLengthCallbacks.set(t,e)}findMappedViewAncestor(t){let e=t.parent;for(;!this._viewToModelMapping.has(e);)e=e.parent;return e}_toModelOffset(t,e,n){if(n!=t){return this._toModelOffset(t.parent,t.index,n)+this._toModelOffset(t,e,t)}if(t.is(\"$text\"))return e;let o=0;for(let n=0;n1?e[0]+\":\"+e[1]:e[0]}class Hl extends(D()){constructor(t){super(),this._conversionApi={dispatcher:this,...t},this._firedEventsMap=new WeakMap}convertChanges(t,e,n){const o=this._createConversionApi(n,t.getRefreshedItems());for(const e of t.getMarkersToRemove())this._convertMarkerRemove(e.name,e.range,o);const i=this._reduceChanges(t.getChanges());for(const t of i)\"insert\"===t.type?this._convertInsert(Fl._createFromPositionAndShift(t.position,t.length),o):\"reinsert\"===t.type?this._convertReinsert(Fl._createFromPositionAndShift(t.position,t.length),o):\"remove\"===t.type?this._convertRemove(t.position,t.length,t.name,o):this._convertAttribute(t.range,t.attributeKey,t.attributeOldValue,t.attributeNewValue,o);for(const t of o.mapper.flushUnboundMarkerNames()){const n=e.get(t).getRange();this._convertMarkerRemove(t,n,o),this._convertMarkerAdd(t,n,o)}for(const e of t.getMarkersToAdd())this._convertMarkerAdd(e.name,e.range,o);o.mapper.flushDeferredBindings(),o.consumable.verifyAllConsumed(\"insert\")}convert(t,e,n,o={}){const i=this._createConversionApi(n,void 0,o);this._convertInsert(t,i);for(const[t,n]of e)this._convertMarkerAdd(t,n,i);i.consumable.verifyAllConsumed(\"insert\")}convertSelection(t,e,n){const o=this._createConversionApi(n);this.fire(\"cleanSelection\",{selection:t},o);const i=t.getFirstPosition().root;if(!o.mapper.toViewElement(i))return;const r=Array.from(e.getMarkersAtPosition(t.getFirstPosition()));if(this._addConsumablesForSelection(o.consumable,t,r),this.fire(\"selection\",{selection:t},o),t.isCollapsed){for(const e of r)if(o.consumable.test(t,\"addMarker:\"+e.name)){const n=e.getRange();if(!jl(t.getFirstPosition(),e,o.mapper))continue;const i={item:t,markerName:e.name,markerRange:n};this.fire(`addMarker:${e.name}`,i,o)}for(const e of t.getAttributeKeys())if(o.consumable.test(t,\"attribute:\"+e)){const n={item:t,range:t.getFirstRange(),attributeKey:e,attributeOldValue:null,attributeNewValue:t.getAttribute(e)};this.fire(`attribute:${e}:$text`,n,o)}}}_convertInsert(t,e,n={}){n.doNotAddConsumables||this._addConsumablesForInsert(e.consumable,t);for(const n of Array.from(t.getWalker({shallow:!0})).map(ql))this._testAndFire(\"insert\",n,e)}_convertRemove(t,e,n,o){this.fire(`remove:${n}`,{position:t,length:e},o)}_convertAttribute(t,e,n,o,i){this._addConsumablesForRange(i.consumable,t,`attribute:${e}`);for(const r of t){const t={item:r.item,range:Fl._createFromPositionAndShift(r.previousPosition,r.length),attributeKey:e,attributeOldValue:n,attributeNewValue:o};this._testAndFire(`attribute:${e}`,t,i)}}_convertReinsert(t,e){const n=Array.from(t.getWalker({shallow:!0}));this._addConsumablesForInsert(e.consumable,n);for(const t of n.map(ql))this._testAndFire(\"insert\",{...t,reconversion:!0},e)}_convertMarkerAdd(t,e,n){if(\"$graveyard\"==e.root.rootName)return;const o=`addMarker:${t}`;if(n.consumable.add(e,o),this.fire(o,{markerName:t,markerRange:e},n),n.consumable.consume(e,o)){this._addConsumablesForRange(n.consumable,e,o);for(const i of e.getItems()){if(!n.consumable.test(i,o))continue;const r={item:i,range:Fl._createOn(i),markerName:t,markerRange:e};this.fire(o,r,n)}}}_convertMarkerRemove(t,e,n){\"$graveyard\"!=e.root.rootName&&this.fire(`removeMarker:${t}`,{markerName:t,markerRange:e},n)}_reduceChanges(t){const e={changes:t};return this.fire(\"reduceChanges\",e),e.changes}_addConsumablesForInsert(t,e){for(const n of e){const e=n.item;if(null===t.test(e,\"insert\")){t.add(e,\"insert\");for(const n of e.getAttributeKeys())t.add(e,\"attribute:\"+n)}}return t}_addConsumablesForRange(t,e,n){for(const o of e.getItems())t.add(o,n);return t}_addConsumablesForSelection(t,e,n){t.add(e,\"selection\");for(const o of n)t.add(e,\"addMarker:\"+o.name);for(const n of e.getAttributeKeys())t.add(e,\"attribute:\"+n);return t}_testAndFire(t,e,n){const o=function(t,e){const n=e.item.is(\"element\")?e.item.name:\"$text\";return`${t}:${n}`}(t,e),i=e.item.is(\"$textProxy\")?n.consumable._getSymbolForTextProxy(e.item):e.item,r=this._firedEventsMap.get(n),s=r.get(i);if(s){if(s.has(o))return;s.add(o)}else r.set(i,new Set([o]));this.fire(o,e,n)}_testAndFireAddAttributes(t,e){const n={item:t,range:Fl._createOn(t)};for(const t of n.item.getAttributeKeys())n.attributeKey=t,n.attributeOldValue=null,n.attributeNewValue=n.item.getAttribute(t),this._testAndFire(`attribute:${t}`,n,e)}_createConversionApi(t,e=new Set,n={}){const o={...this._conversionApi,consumable:new Vl,writer:t,options:n,convertItem:t=>this._convertInsert(Fl._createOn(t),o),convertChildren:t=>this._convertInsert(Fl._createIn(t),o,{doNotAddConsumables:!0}),convertAttributes:t=>this._testAndFireAddAttributes(t,o),canReuseView:t=>!e.has(o.mapper.toModelElement(t))};return this._firedEventsMap.set(o,new Map),o}}function jl(t,e,n){const o=e.getRange(),i=Array.from(t.getAncestors());i.shift(),i.reverse();return!i.some((t=>{if(o.containsItem(t)){return!!n.toViewElement(t).getCustomProperty(\"addHighlight\")}}))}function ql(t){return{item:t.item,range:Fl._createFromPositionAndShift(t.previousPosition,t.length)}}class Kl extends(D(vl)){constructor(...t){super(),this._lastRangeBackward=!1,this._attrs=new Map,this._ranges=[],t.length&&this.setTo(...t)}get anchor(){if(this._ranges.length>0){const t=this._ranges[this._ranges.length-1];return this._lastRangeBackward?t.end:t.start}return null}get focus(){if(this._ranges.length>0){const t=this._ranges[this._ranges.length-1];return this._lastRangeBackward?t.start:t.end}return null}get isCollapsed(){return 1===this._ranges.length&&this._ranges[0].isCollapsed}get rangeCount(){return this._ranges.length}get isBackward(){return!this.isCollapsed&&this._lastRangeBackward}isEqual(t){if(this.rangeCount!=t.rangeCount)return!1;if(0===this.rangeCount)return!0;if(!this.anchor.isEqual(t.anchor)||!this.focus.isEqual(t.focus))return!1;for(const e of this._ranges){let n=!1;for(const o of t._ranges)if(e.isEqual(o)){n=!0;break}if(!n)return!1}return!0}*getRanges(){for(const t of this._ranges)yield new Fl(t.start,t.end)}getFirstRange(){let t=null;for(const e of this._ranges)t&&!e.start.isBefore(t.start)||(t=e);return t?new Fl(t.start,t.end):null}getLastRange(){let t=null;for(const e of this._ranges)t&&!e.end.isAfter(t.end)||(t=e);return t?new Fl(t.start,t.end):null}getFirstPosition(){const t=this.getFirstRange();return t?t.start.clone():null}getLastPosition(){const t=this.getLastRange();return t?t.end.clone():null}setTo(...t){let[e,n,o]=t;if(\"object\"==typeof n&&(o=n,n=void 0),null===e)this._setRanges([]);else if(e instanceof Kl)this._setRanges(e.getRanges(),e.isBackward);else if(e&&\"function\"==typeof e.getRanges)this._setRanges(e.getRanges(),e.isBackward);else if(e instanceof Fl)this._setRanges([e],!!o&&!!o.backward);else if(e instanceof Pl)this._setRanges([new Fl(e)]);else if(e instanceof yl){const t=!!o&&!!o.backward;let i;if(\"in\"==n)i=Fl._createIn(e);else if(\"on\"==n)i=Fl._createOn(e);else{if(void 0===n)throw new k(\"model-selection-setto-required-second-parameter\",[this,e]);i=new Fl(Pl._createAt(e,n))}this._setRanges([i],t)}else{if(!Y(e))throw new k(\"model-selection-setto-not-selectable\",[this,e]);this._setRanges(e,o&&!!o.backward)}}_setRanges(t,e=!1){const n=Array.from(t),o=n.some((e=>{if(!(e instanceof Fl))throw new k(\"model-selection-set-ranges-not-range\",[this,t]);return this._ranges.every((t=>!t.isEqual(e)))}));(n.length!==this._ranges.length||o)&&(this._replaceAllRanges(n),this._lastRangeBackward=!!e,this.fire(\"change:range\",{directChange:!0}))}setFocus(t,e){if(null===this.anchor)throw new k(\"model-selection-setfocus-no-ranges\",[this,t]);const n=Pl._createAt(t,e);if(\"same\"==n.compareWith(this.focus))return;const o=this.anchor;this._ranges.length&&this._popRange(),\"before\"==n.compareWith(o)?(this._pushRange(new Fl(n,o)),this._lastRangeBackward=!0):(this._pushRange(new Fl(o,n)),this._lastRangeBackward=!1),this.fire(\"change:range\",{directChange:!0})}getAttribute(t){return this._attrs.get(t)}getAttributes(){return this._attrs.entries()}getAttributeKeys(){return this._attrs.keys()}hasAttribute(t){return this._attrs.has(t)}removeAttribute(t){this.hasAttribute(t)&&(this._attrs.delete(t),this.fire(\"change:attribute\",{attributeKeys:[t],directChange:!0}))}setAttribute(t,e){this.getAttribute(t)!==e&&(this._attrs.set(t,e),this.fire(\"change:attribute\",{attributeKeys:[t],directChange:!0}))}getSelectedElement(){return 1!==this.rangeCount?null:this.getFirstRange().getContainedElement()}*getSelectedBlocks(){const t=new WeakSet;for(const e of this.getRanges()){const n=$l(e.start,t);Zl(n,e)&&(yield n);for(const n of e.getWalker()){const o=n.item;\"elementEnd\"==n.type&&Gl(o,t,e)&&(yield o)}const o=$l(e.end,t);Jl(o,e)&&(yield o)}}containsEntireContent(t=this.anchor.root){const e=Pl._createAt(t,0),n=Pl._createAt(t,\"end\");return e.isTouching(this.getFirstPosition())&&n.isTouching(this.getLastPosition())}_pushRange(t){this._checkRange(t),this._ranges.push(new Fl(t.start,t.end))}_checkRange(t){for(let e=0;e0;)this._popRange()}_popRange(){this._ranges.pop()}}function Wl(t,e){return!e.has(t)&&(e.add(t),t.root.document.model.schema.isBlock(t)&&!!t.parent)}function Gl(t,e,n){return Wl(t,e)&&Ul(t,n)}function $l(t,e){const n=t.parent.root.document.model.schema,o=t.parent.getAncestors({parentFirst:!0,includeSelf:!0});let i=!1;const r=o.find((t=>!i&&(i=n.isLimit(t),!i&&Wl(t,e))));return o.forEach((t=>e.add(t))),r}function Ul(t,e){const n=function(t){const e=t.root.document.model.schema;let n=t.parent;for(;n;){if(e.isBlock(n))return n;n=n.parent}}(t);if(!n)return!0;return!e.containsRange(Fl._createOn(n),!0)}function Zl(t,e){return!!t&&(!(!e.isCollapsed&&!t.isEmpty)||!e.start.isTouching(Pl._createAt(t,t.maxOffset))&&Ul(t,e))}function Jl(t,e){return!!t&&(!(!e.isCollapsed&&!t.isEmpty)||!e.end.isTouching(Pl._createAt(t,0))&&Ul(t,e))}Kl.prototype.is=function(t){return\"selection\"===t||\"model:selection\"===t};class Yl extends(D(Fl)){constructor(t,e){super(t,e),Ql.call(this)}detach(){this.stopListening()}toRange(){return new Fl(this.start,this.end)}static fromRange(t){return new Yl(t.start,t.end)}}function Ql(){this.listenTo(this.root.document.model,\"applyOperation\",((t,e)=>{const n=e[0];n.isDocumentOperation&&Xl.call(this,n)}),{priority:\"low\"})}function Xl(t){const e=this.getTransformedByOperation(t),n=Fl._createFromRanges(e),o=!n.isEqual(this),i=function(t,e){switch(e.type){case\"insert\":return t.containsPosition(e.position);case\"move\":case\"remove\":case\"reinsert\":case\"merge\":return t.containsPosition(e.sourcePosition)||t.start.isEqual(e.sourcePosition)||t.containsPosition(e.targetPosition);case\"split\":return t.containsPosition(e.splitPosition)||t.containsPosition(e.insertionPosition)}return!1}(this,t);let r=null;if(o){\"$graveyard\"==n.root.rootName&&(r=\"remove\"==t.type?t.sourcePosition:t.deletionPosition);const e=this.toRange();this.start=n.start,this.end=n.end,this.fire(\"change:range\",e,{deletionPosition:r})}else i&&this.fire(\"change:content\",this.toRange(),{deletionPosition:r})}Yl.prototype.is=function(t){return\"liveRange\"===t||\"model:liveRange\"===t||\"range\"==t||\"model:range\"===t};const td=\"selection:\";class ed extends(D(vl)){constructor(t){super(),this._selection=new nd(t),this._selection.delegate(\"change:range\").to(this),this._selection.delegate(\"change:attribute\").to(this),this._selection.delegate(\"change:marker\").to(this)}get isCollapsed(){return this._selection.isCollapsed}get anchor(){return this._selection.anchor}get focus(){return this._selection.focus}get rangeCount(){return this._selection.rangeCount}get hasOwnRange(){return this._selection.hasOwnRange}get isBackward(){return this._selection.isBackward}get isGravityOverridden(){return this._selection.isGravityOverridden}get markers(){return this._selection.markers}get _ranges(){return this._selection._ranges}getRanges(){return this._selection.getRanges()}getFirstPosition(){return this._selection.getFirstPosition()}getLastPosition(){return this._selection.getLastPosition()}getFirstRange(){return this._selection.getFirstRange()}getLastRange(){return this._selection.getLastRange()}getSelectedBlocks(){return this._selection.getSelectedBlocks()}getSelectedElement(){return this._selection.getSelectedElement()}containsEntireContent(t){return this._selection.containsEntireContent(t)}destroy(){this._selection.destroy()}getAttributeKeys(){return this._selection.getAttributeKeys()}getAttributes(){return this._selection.getAttributes()}getAttribute(t){return this._selection.getAttribute(t)}hasAttribute(t){return this._selection.hasAttribute(t)}refresh(){this._selection.updateMarkers(),this._selection._updateAttributes(!1)}observeMarkers(t){this._selection.observeMarkers(t)}_setFocus(t,e){this._selection.setFocus(t,e)}_setTo(...t){this._selection.setTo(...t)}_setAttribute(t,e){this._selection.setAttribute(t,e)}_removeAttribute(t){this._selection.removeAttribute(t)}_getStoredAttributes(){return this._selection.getStoredAttributes()}_overrideGravity(){return this._selection.overrideGravity()}_restoreGravity(t){this._selection.restoreGravity(t)}static _getStoreAttributeKey(t){return td+t}static _isStoreAttributeKey(t){return t.startsWith(td)}}ed.prototype.is=function(t){return\"selection\"===t||\"model:selection\"==t||\"documentSelection\"==t||\"model:documentSelection\"==t};class nd extends Kl{constructor(t){super(),this.markers=new Ai({idProperty:\"name\"}),this._attributePriority=new Map,this._selectionRestorePosition=null,this._hasChangedRange=!1,this._overriddenGravityRegister=new Set,this._observedMarkers=new Set,this._model=t.model,this._document=t,this.listenTo(this._model,\"applyOperation\",((t,e)=>{const n=e[0];n.isDocumentOperation&&\"marker\"!=n.type&&\"rename\"!=n.type&&\"noop\"!=n.type&&(0==this._ranges.length&&this._selectionRestorePosition&&this._fixGraveyardSelection(this._selectionRestorePosition),this._selectionRestorePosition=null,this._hasChangedRange&&(this._hasChangedRange=!1,this.fire(\"change:range\",{directChange:!1})))}),{priority:\"lowest\"}),this.on(\"change:range\",(()=>{this._validateSelectionRanges(this.getRanges())})),this.listenTo(this._model.markers,\"update\",((t,e,n,o)=>{this._updateMarker(e,o)})),this.listenTo(this._document,\"change\",((t,e)=>{!function(t,e){const n=t.document.differ;for(const o of n.getChanges()){if(\"insert\"!=o.type)continue;const n=o.position.parent;o.length===n.maxOffset&&t.enqueueChange(e,(t=>{const e=Array.from(n.getAttributeKeys()).filter((t=>t.startsWith(td)));for(const o of e)t.removeAttribute(o,n)}))}}(this._model,e)}))}get isCollapsed(){return 0===this._ranges.length?this._document._getDefaultRange().isCollapsed:super.isCollapsed}get anchor(){return super.anchor||this._document._getDefaultRange().start}get focus(){return super.focus||this._document._getDefaultRange().end}get rangeCount(){return this._ranges.length?this._ranges.length:1}get hasOwnRange(){return this._ranges.length>0}get isGravityOverridden(){return!!this._overriddenGravityRegister.size}destroy(){for(let t=0;t{if(this._hasChangedRange=!0,e.root==this._document.graveyard){this._selectionRestorePosition=o.deletionPosition;const t=this._ranges.indexOf(e);this._ranges.splice(t,1),e.detach()}})),e}updateMarkers(){if(!this._observedMarkers.size)return;const t=[];let e=!1;for(const e of this._model.markers){const n=e.name.split(\":\",1)[0];if(!this._observedMarkers.has(n))continue;const o=e.getRange();for(const n of this.getRanges())o.containsRange(n,!n.isCollapsed)&&t.push(e)}const n=Array.from(this.markers);for(const n of t)this.markers.has(n)||(this.markers.add(n),e=!0);for(const n of Array.from(this.markers))t.includes(n)||(this.markers.remove(n),e=!0);e&&this.fire(\"change:marker\",{oldMarkers:n,directChange:!1})}_updateMarker(t,e){const n=t.name.split(\":\",1)[0];if(!this._observedMarkers.has(n))return;let o=!1;const i=Array.from(this.markers),r=this.markers.has(t);if(e){let n=!1;for(const t of this.getRanges())if(e.containsRange(t,!t.isCollapsed)){n=!0;break}n&&!r?(this.markers.add(t),o=!0):!n&&r&&(this.markers.remove(t),o=!0)}else r&&(this.markers.remove(t),o=!0);o&&this.fire(\"change:marker\",{oldMarkers:i,directChange:!1})}_updateAttributes(t){const e=xi(this._getSurroundingAttributes()),n=xi(this.getAttributes());if(t)this._attributePriority=new Map,this._attrs=new Map;else for(const[t,e]of this._attributePriority)\"low\"==e&&(this._attrs.delete(t),this._attributePriority.delete(t));this._setAttributesTo(e);const o=[];for(const[t,e]of this.getAttributes())n.has(t)&&n.get(t)===e||o.push(t);for(const[t]of n)this.hasAttribute(t)||o.push(t);o.length>0&&this.fire(\"change:attribute\",{attributeKeys:o,directChange:!1})}_setAttribute(t,e,n=!0){const o=n?\"normal\":\"low\";if(\"low\"==o&&\"normal\"==this._attributePriority.get(t))return!1;return super.getAttribute(t)!==e&&(this._attrs.set(t,e),this._attributePriority.set(t,o),!0)}_removeAttribute(t,e=!0){const n=e?\"normal\":\"low\";return(\"low\"!=n||\"normal\"!=this._attributePriority.get(t))&&(this._attributePriority.set(t,n),!!super.hasAttribute(t)&&(this._attrs.delete(t),!0))}_setAttributesTo(t){const e=new Set;for(const[e,n]of this.getAttributes())t.get(e)!==n&&this._removeAttribute(e,!1);for(const[n,o]of t){this._setAttribute(n,o,!1)&&e.add(n)}return e}*getStoredAttributes(){const t=this.getFirstPosition().parent;if(this.isCollapsed&&t.isEmpty)for(const e of t.getAttributeKeys())if(e.startsWith(td)){const n=e.substr(10);yield[n,t.getAttribute(e)]}}_getSurroundingAttributes(){const t=this.getFirstPosition(),e=this._model.schema;if(\"$graveyard\"==t.root.rootName)return null;let n=null;if(this.isCollapsed){const o=t.textNode?t.textNode:t.nodeBefore,i=t.textNode?t.textNode:t.nodeAfter;if(this.isGravityOverridden||(n=od(o,e)),n||(n=od(i,e)),!this.isGravityOverridden&&!n){let t=o;for(;t&&!n;)t=t.previousSibling,n=od(t,e)}if(!n){let t=i;for(;t&&!n;)t=t.nextSibling,n=od(t,e)}n||(n=this.getStoredAttributes())}else{const t=this.getFirstRange();for(const o of t){if(o.item.is(\"element\")&&e.isObject(o.item)){n=od(o.item,e);break}if(\"text\"==o.type){n=o.item.getAttributes();break}}}return n}_fixGraveyardSelection(t){const e=this._model.schema.getNearestSelectionRange(t);e&&this._pushRange(e)}}function od(t,e){if(!t)return null;if(t instanceof Dl||t instanceof El)return t.getAttributes();if(!e.isInline(t))return null;if(!e.isObject(t))return[];const n=[];for(const[o,i]of t.getAttributes())e.checkAttribute(\"$text\",o)&&!1!==e.getAttributeProperties(o).copyFromObject&&n.push([o,i]);return n}class id{constructor(t){this._dispatchers=t}add(t){for(const e of this._dispatchers)t(e);return this}}class rd extends id{elementToElement(t){return this.add(function(t){const e=cd(t.model),n=ld(t.view,\"container\");e.attributes.length&&(e.children=!0);return o=>{o.on(`insert:${e.name}`,function(t,e=kd){return(n,o,i)=>{if(!e(o.item,i.consumable,{preflight:!0}))return;const r=t(o.item,i,o);if(!r)return;e(o.item,i.consumable);const s=i.mapper.toViewPosition(o.range.start);i.mapper.bindElements(o.item,r),i.writer.insert(s,r),i.convertAttributes(o.item),md(r,o.item.getChildren(),i,{reconversion:o.reconversion})}}(n,gd(e)),{priority:t.converterPriority||\"normal\"}),(e.children||e.attributes.length)&&o.on(\"reduceChanges\",pd(e),{priority:\"low\"})}}(t))}elementToStructure(t){return this.add(function(t){const e=cd(t.model),n=ld(t.view,\"container\");return e.children=!0,o=>{if(o._conversionApi.schema.checkChild(e.name,\"$text\"))throw new k(\"conversion-element-to-structure-disallowed-text\",o,{elementName:e.name});var i,r;o.on(`insert:${e.name}`,(i=n,r=gd(e),(t,e,n)=>{if(!r(e.item,n.consumable,{preflight:!0}))return;const o=new Map;n.writer._registerSlotFactory(function(t,e,n){return(o,i)=>{const r=o.createContainerElement(\"$slot\");let s=null;if(\"children\"===i)s=Array.from(t.getChildren());else{if(\"function\"!=typeof i)throw new k(\"conversion-slot-mode-unknown\",n.dispatcher,{modeOrFilter:i});s=Array.from(t.getChildren()).filter((t=>i(t)))}return e.set(r,s),r}}(e.item,o,n));const s=i(e.item,n,e);if(n.writer._clearSlotFactory(),!s)return;!function(t,e,n){const o=Array.from(e.values()).flat(),i=new Set(o);if(i.size!=o.length)throw new k(\"conversion-slot-filter-overlap\",n.dispatcher,{element:t});if(i.size!=t.childCount)throw new k(\"conversion-slot-filter-incomplete\",n.dispatcher,{element:t})}(e.item,o,n),r(e.item,n.consumable);const a=n.mapper.toViewPosition(e.range.start);n.mapper.bindElements(e.item,s),n.writer.insert(a,s),n.convertAttributes(e.item),function(t,e,n,o){n.mapper.on(\"modelToViewPosition\",s,{priority:\"highest\"});let i=null,r=null;for([i,r]of e)md(t,r,n,o),n.writer.move(n.writer.createRangeIn(i),n.writer.createPositionBefore(i)),n.writer.remove(i);function s(t,e){const n=e.modelPosition.nodeAfter,o=r.indexOf(n);o<0||(e.viewPosition=e.mapper.findPositionIn(i,o))}n.mapper.off(\"modelToViewPosition\",s)}(s,o,n,{reconversion:e.reconversion})}),{priority:t.converterPriority||\"normal\"}),o.on(\"reduceChanges\",pd(e),{priority:\"low\"})}}(t))}attributeToElement(t){return this.add(function(t){t=Al(t);let e=t.model;\"string\"==typeof e&&(e={key:e});let n=`attribute:${e.key}`;e.name&&(n+=\":\"+e.name);if(e.values)for(const n of e.values)t.view[n]=ld(t.view[n],\"attribute\");else t.view=ld(t.view,\"attribute\");const o=dd(t);return e=>{e.on(n,function(t){return(e,n,o)=>{if(!o.consumable.test(n.item,e.name))return;const i=t(n.attributeOldValue,o,n),r=t(n.attributeNewValue,o,n);if(!i&&!r)return;o.consumable.consume(n.item,e.name);const s=o.writer,a=s.document.selection;if(n.item instanceof Kl||n.item instanceof ed)s.wrap(a.getFirstRange(),r);else{let t=o.mapper.toViewRange(n.range);null!==n.attributeOldValue&&i&&(t=s.unwrap(t,i)),null!==n.attributeNewValue&&r&&s.wrap(t,r)}}}(o),{priority:t.converterPriority||\"normal\"})}}(t))}attributeToAttribute(t){return this.add(function(t){t=Al(t);let e=t.model;\"string\"==typeof e&&(e={key:e});let n=`attribute:${e.key}`;e.name&&(n+=\":\"+e.name);if(e.values)for(const n of e.values)t.view[n]=hd(t.view[n]);else t.view=hd(t.view);const o=dd(t);return e=>{var i;e.on(n,(i=o,(t,e,n)=>{if(!n.consumable.test(e.item,t.name))return;const o=i(e.attributeOldValue,n,e),r=i(e.attributeNewValue,n,e);if(!o&&!r)return;n.consumable.consume(e.item,t.name);const s=n.mapper.toViewElement(e.item),a=n.writer;if(!s)throw new k(\"conversion-attribute-to-attribute-on-text\",n.dispatcher,e);if(null!==e.attributeOldValue&&o)if(\"class\"==o.key){const t=fi(o.value);for(const e of t)a.removeClass(e,s)}else if(\"style\"==o.key){const t=Object.keys(o.value);for(const e of t)a.removeStyle(e,s)}else a.removeAttribute(o.key,s);if(null!==e.attributeNewValue&&r)if(\"class\"==r.key){const t=fi(r.value);for(const e of t)a.addClass(e,s)}else if(\"style\"==r.key){const t=Object.keys(r.value);for(const e of t)a.setStyle(e,r.value[e],s)}else a.setAttribute(r.key,r.value,s)}),{priority:t.converterPriority||\"normal\"})}}(t))}markerToElement(t){return this.add(function(t){const e=ld(t.view,\"ui\");return n=>{var o;n.on(`addMarker:${t.model}`,(o=e,(t,e,n)=>{e.isOpening=!0;const i=o(e,n);e.isOpening=!1;const r=o(e,n);if(!i||!r)return;const s=e.markerRange;if(s.isCollapsed&&!n.consumable.consume(s,t.name))return;for(const e of s)if(!n.consumable.consume(e.item,t.name))return;const a=n.mapper,c=n.writer;c.insert(a.toViewPosition(s.start),i),n.mapper.bindElementToMarker(i,e.markerName),s.isCollapsed||(c.insert(a.toViewPosition(s.end),r),n.mapper.bindElementToMarker(r,e.markerName)),t.stop()}),{priority:t.converterPriority||\"normal\"}),n.on(`removeMarker:${t.model}`,((t,e,n)=>{const o=n.mapper.markerNameToElements(e.markerName);if(o){for(const t of o)n.mapper.unbindElementFromMarkerName(t,e.markerName),n.writer.clear(n.writer.createRangeOn(t),t);n.writer.clearClonedElementsGroup(e.markerName),t.stop()}}),{priority:t.converterPriority||\"normal\"})}}(t))}markerToHighlight(t){return this.add(function(t){return e=>{var n;e.on(`addMarker:${t.model}`,(n=t.view,(t,e,o)=>{if(!e.item)return;if(!(e.item instanceof Kl||e.item instanceof ed||e.item.is(\"$textProxy\")))return;const i=ud(n,e,o);if(!i)return;if(!o.consumable.consume(e.item,t.name))return;const r=o.writer,s=sd(r,i),a=r.document.selection;if(e.item instanceof Kl||e.item instanceof ed)r.wrap(a.getFirstRange(),s);else{const t=o.mapper.toViewRange(e.range),n=r.wrap(t,s);for(const t of n.getItems())if(t.is(\"attributeElement\")&&t.isSimilar(s)){o.mapper.bindElementToMarker(t,e.markerName);break}}}),{priority:t.converterPriority||\"normal\"}),e.on(`addMarker:${t.model}`,function(t){return(e,n,o)=>{if(!n.item)return;if(!(n.item instanceof Sl))return;const i=ud(t,n,o);if(!i)return;if(!o.consumable.test(n.item,e.name))return;const r=o.mapper.toViewElement(n.item);if(r&&r.getCustomProperty(\"addHighlight\")){o.consumable.consume(n.item,e.name);for(const t of Fl._createIn(n.item))o.consumable.consume(t.item,e.name);r.getCustomProperty(\"addHighlight\")(r,i,o.writer),o.mapper.bindElementToMarker(r,n.markerName)}}}(t.view),{priority:t.converterPriority||\"normal\"}),e.on(`removeMarker:${t.model}`,function(t){return(e,n,o)=>{if(n.markerRange.isCollapsed)return;const i=ud(t,n,o);if(!i)return;const r=sd(o.writer,i),s=o.mapper.markerNameToElements(n.markerName);if(s){for(const t of s)if(o.mapper.unbindElementFromMarkerName(t,n.markerName),t.is(\"attributeElement\"))o.writer.unwrap(o.writer.createRangeOn(t),r);else{t.getCustomProperty(\"removeHighlight\")(t,i.id,o.writer)}o.writer.clearClonedElementsGroup(n.markerName),e.stop()}}}(t.view),{priority:t.converterPriority||\"normal\"})}}(t))}markerToData(t){return this.add(function(t){t=Al(t);const e=t.model;let n=t.view;n||(n=n=>({group:e,name:n.substr(t.model.length+1)}));return o=>{var i;o.on(`addMarker:${e}`,(i=n,(t,e,n)=>{const o=i(e.markerName,n);if(!o)return;const r=e.markerRange;n.consumable.consume(r,t.name)&&(ad(r,!1,n,e,o),ad(r,!0,n,e,o),t.stop())}),{priority:t.converterPriority||\"normal\"}),o.on(`removeMarker:${e}`,function(t){return(e,n,o)=>{const i=t(n.markerName,o);if(!i)return;const r=o.mapper.markerNameToElements(n.markerName);if(r){for(const t of r)o.mapper.unbindElementFromMarkerName(t,n.markerName),t.is(\"containerElement\")?(s(`data-${i.group}-start-before`,t),s(`data-${i.group}-start-after`,t),s(`data-${i.group}-end-before`,t),s(`data-${i.group}-end-after`,t)):o.writer.clear(o.writer.createRangeOn(t),t);o.writer.clearClonedElementsGroup(n.markerName),e.stop()}function s(t,e){if(e.hasAttribute(t)){const n=new Set(e.getAttribute(t).split(\",\"));n.delete(i.name),0==n.size?o.writer.removeAttribute(t,e):o.writer.setAttribute(t,Array.from(n).join(\",\"),e)}}}}(n),{priority:t.converterPriority||\"normal\"})}}(t))}}function sd(t,e){const n=t.createAttributeElement(\"span\",e.attributes);return e.classes&&n._addClass(e.classes),\"number\"==typeof e.priority&&(n._priority=e.priority),n._id=e.id,n}function ad(t,e,n,o,i){const r=e?t.start:t.end,s=r.nodeAfter&&r.nodeAfter.is(\"element\")?r.nodeAfter:null,a=r.nodeBefore&&r.nodeBefore.is(\"element\")?r.nodeBefore:null;if(s||a){let t,r;e&&s||!e&&!a?(t=s,r=!0):(t=a,r=!1);const c=n.mapper.toViewElement(t);if(c)return void function(t,e,n,o,i,r){const s=`data-${r.group}-${e?\"start\":\"end\"}-${n?\"before\":\"after\"}`,a=t.hasAttribute(s)?t.getAttribute(s).split(\",\"):[];a.unshift(r.name),o.writer.setAttribute(s,a.join(\",\"),t),o.mapper.bindElementToMarker(t,i.markerName)}(c,e,r,n,o,i)}!function(t,e,n,o,i){const r=`${i.group}-${e?\"start\":\"end\"}`,s=i.name?{name:i.name}:null,a=n.writer.createUIElement(r,s);n.writer.insert(t,a),n.mapper.bindElementToMarker(a,o.markerName)}(n.mapper.toViewPosition(r),e,n,o,i)}function cd(t){return\"string\"==typeof t&&(t={name:t}),{name:t.name,attributes:t.attributes?fi(t.attributes):[],children:!!t.children}}function ld(t,e){return\"function\"==typeof t?t:(n,o)=>function(t,e,n){\"string\"==typeof t&&(t={name:t});let o;const i=e.writer,r=Object.assign({},t.attributes);if(\"container\"==n)o=i.createContainerElement(t.name,r);else if(\"attribute\"==n){const e={priority:t.priority||Ta.DEFAULT_PRIORITY};o=i.createAttributeElement(t.name,r,e)}else o=i.createUIElement(t.name,r);if(t.styles){const e=Object.keys(t.styles);for(const n of e)i.setStyle(n,t.styles[n],o)}if(t.classes){const e=t.classes;if(\"string\"==typeof e)i.addClass(e,o);else for(const t of e)i.addClass(t,o)}return o}(t,o,e)}function dd(t){return t.model.values?(e,n,o)=>{const i=t.view[e];return i?i(e,n,o):null}:t.view}function hd(t){return\"string\"==typeof t?e=>({key:t,value:e}):\"object\"==typeof t?t.value?()=>t:e=>({key:t.key,value:e}):t}function ud(t,e,n){const o=\"function\"==typeof t?t(e,n):t;return o?(o.priority||(o.priority=10),o.id||(o.id=e.markerName),o):null}function pd(t){const e=function(t){return(e,n)=>{if(!e.is(\"element\",t.name))return!1;if(\"attribute\"==n.type){if(t.attributes.includes(n.attributeKey))return!0}else if(t.children)return!0;return!1}}(t);return(t,n)=>{const o=[];n.reconvertedElements||(n.reconvertedElements=new Set);for(const t of n.changes){const i=\"attribute\"==t.type?t.range.start.nodeAfter:t.position.parent;if(i&&e(i,t)){if(!n.reconvertedElements.has(i)){n.reconvertedElements.add(i);const t=Pl._createBefore(i);let e=o.length;for(let n=o.length-1;n>=0;n--){const i=o[n],r=(\"attribute\"==i.type?i.range.start:i.position).compareWith(t);if(\"before\"==r||\"remove\"==i.type&&\"same\"==r)break;e=n}o.splice(e,0,{type:\"remove\",name:i.name,position:t,length:1},{type:\"reinsert\",name:i.name,position:t,length:1})}}else o.push(t)}n.changes=o}}function gd(t){return(e,n,o={})=>{const i=[\"insert\"];for(const n of t.attributes)e.hasAttribute(n)&&i.push(`attribute:${n}`);return!!i.every((t=>n.test(e,t)))&&(o.preflight||i.forEach((t=>n.consume(e,t))),!0)}}function md(t,e,n,o){for(const i of e)fd(t.root,i,n,o)||n.convertItem(i)}function fd(t,e,n,o){const{writer:i,mapper:r}=n;if(!o.reconversion)return!1;const s=r.toViewElement(e);return!(!s||s.root==t)&&(!!n.canReuseView(s)&&(i.move(i.createRangeOn(s),r.toViewPosition(Pl._createBefore(e))),!0))}function kd(t,e,{preflight:n}={}){return n?e.test(t,\"insert\"):e.consume(t,\"insert\")}function bd(t){const{schema:e,document:n}=t.model;for(const o of n.getRoots())if(o.isEmpty&&!e.checkChild(o,\"$text\")&&e.checkChild(o,\"paragraph\"))return t.insertElement(\"paragraph\",o),!0;return!1}function wd(t,e,n){const o=n.createContext(t);return!!n.checkChild(o,\"paragraph\")&&!!n.checkChild(o.push(\"paragraph\"),e)}function _d(t,e){const n=e.createElement(\"paragraph\");return e.insert(n,t),e.createPositionAt(n,0)}class Ad extends id{elementToElement(t){return this.add(Cd(t))}elementToAttribute(t){return this.add(function(t){t=Al(t),xd(t);const e=Ed(t,!1),n=vd(t.view),o=n?`element:${n}`:\"element\";return n=>{n.on(o,e,{priority:t.converterPriority||\"low\"})}}(t))}attributeToAttribute(t){return this.add(function(t){t=Al(t);let e=null;(\"string\"==typeof t.view||t.view.key)&&(e=function(t){\"string\"==typeof t.view&&(t.view={key:t.view});const e=t.view.key;let n;if(\"class\"==e||\"style\"==e){n={[\"class\"==e?\"classes\":\"styles\"]:t.view.value}}else{n={attributes:{[e]:void 0===t.view.value?/[\\s\\S]*/:t.view.value}}}t.view.name&&(n.name=t.view.name);return t.view=n,e}(t));xd(t,e);const n=Ed(t,!0);return e=>{e.on(\"element\",n,{priority:t.converterPriority||\"low\"})}}(t))}elementToMarker(t){return this.add(function(t){const e=function(t){return(e,n)=>{const o=\"string\"==typeof t?t:t(e,n);return n.writer.createElement(\"$marker\",{\"data-name\":o})}}(t.model);return Cd({...t,model:e})}(t))}dataToMarker(t){return this.add(function(t){t=Al(t),t.model||(t.model=e=>e?t.view+\":\"+e:t.view);const e={view:t.view,model:t.model},n=yd(Dd(e,\"start\")),o=yd(Dd(e,\"end\"));return i=>{i.on(`element:${t.view}-start`,n,{priority:t.converterPriority||\"normal\"}),i.on(`element:${t.view}-end`,o,{priority:t.converterPriority||\"normal\"});const r=g.low,s=g.highest,a=g.get(t.converterPriority)/s;i.on(\"element\",function(t){return(e,n,o)=>{const i=`data-${t.view}`;function r(e,i){for(const r of i){const i=t.model(r,o),s=o.writer.createElement(\"$marker\",{\"data-name\":i});o.writer.insert(s,e),n.modelCursor.isEqual(e)?n.modelCursor=n.modelCursor.getShiftedBy(1):n.modelCursor=n.modelCursor._getTransformedByInsertion(e,1),n.modelRange=n.modelRange._getTransformedByInsertion(e,1)[0]}}(o.consumable.test(n.viewItem,{attributes:i+\"-end-after\"})||o.consumable.test(n.viewItem,{attributes:i+\"-start-after\"})||o.consumable.test(n.viewItem,{attributes:i+\"-end-before\"})||o.consumable.test(n.viewItem,{attributes:i+\"-start-before\"}))&&(n.modelRange||Object.assign(n,o.convertChildren(n.viewItem,n.modelCursor)),o.consumable.consume(n.viewItem,{attributes:i+\"-end-after\"})&&r(n.modelRange.end,n.viewItem.getAttribute(i+\"-end-after\").split(\",\")),o.consumable.consume(n.viewItem,{attributes:i+\"-start-after\"})&&r(n.modelRange.end,n.viewItem.getAttribute(i+\"-start-after\").split(\",\")),o.consumable.consume(n.viewItem,{attributes:i+\"-end-before\"})&&r(n.modelRange.start,n.viewItem.getAttribute(i+\"-end-before\").split(\",\")),o.consumable.consume(n.viewItem,{attributes:i+\"-start-before\"})&&r(n.modelRange.start,n.viewItem.getAttribute(i+\"-start-before\").split(\",\")))}}(e),{priority:r+a})}}(t))}}function Cd(t){const e=yd(t=Al(t)),n=vd(t.view),o=n?`element:${n}`:\"element\";return n=>{n.on(o,e,{priority:t.converterPriority||\"normal\"})}}function vd(t){return\"string\"==typeof t?t:\"object\"==typeof t&&\"string\"==typeof t.name?t.name:null}function yd(t){const e=new ls(t.view);return(n,o,i)=>{const r=e.match(o.viewItem);if(!r)return;const s=r.match;if(s.name=!0,!i.consumable.test(o.viewItem,s))return;const a=function(t,e,n){return t instanceof Function?t(e,n):n.writer.createElement(t)}(t.model,o.viewItem,i);a&&i.safeInsert(a,o.modelCursor)&&(i.consumable.consume(o.viewItem,s),i.convertChildren(o.viewItem,a),i.updateConversionResult(a,o))}}function xd(t,e=null){const n=null===e||(t=>t.getAttribute(e)),o=\"object\"!=typeof t.model?t.model:t.model.key,i=\"object\"!=typeof t.model||void 0===t.model.value?n:t.model.value;t.model={key:o,value:i}}function Ed(t,e){const n=new ls(t.view);return(o,i,r)=>{if(!i.modelRange&&e)return;const s=n.match(i.viewItem);if(!s)return;if(!function(t,e){const n=\"function\"==typeof t?t(e):t;if(\"object\"==typeof n&&!vd(n))return!1;return!n.classes&&!n.attributes&&!n.styles}(t.view,i.viewItem)?delete s.match.name:s.match.name=!0,!r.consumable.test(i.viewItem,s.match))return;const a=t.model.key,c=\"function\"==typeof t.model.value?t.model.value(i.viewItem,r):t.model.value;if(null===c)return;i.modelRange||Object.assign(i,r.convertChildren(i.viewItem,i.modelCursor));const l=function(t,e,n,o){let i=!1;for(const r of Array.from(t.getItems({shallow:n})))o.schema.checkAttribute(r,e.key)&&(i=!0,r.hasAttribute(e.key)||o.writer.setAttribute(e.key,e.value,r));return i}(i.modelRange,{key:a,value:c},e,r);l&&(r.consumable.test(i.viewItem,{name:!0})&&(s.match.name=!0),r.consumable.consume(i.viewItem,s.match))}}function Dd(t,e){return{view:`${t.view}-${e}`,model:(e,n)=>{const o=e.getAttribute(\"name\"),i=t.model(o,n);return n.writer.createElement(\"$marker\",{\"data-name\":i})}}}function Sd(t){t.document.registerPostFixer((e=>function(t,e){const n=e.document.selection,o=e.schema,i=[];let r=!1;for(const t of n.getRanges()){const e=Bd(t,o);e&&!e.isEqual(t)?(i.push(e),r=!0):i.push(t)}r&&t.setSelection(function(t){const e=[...t],n=new Set;let o=1;for(;o!n.has(e)))}(i),{backward:n.isBackward});return!1}(e,t)))}function Bd(t,e){return t.isCollapsed?function(t,e){const n=t.start,o=e.getNearestSelectionRange(n);if(!o){const t=n.getAncestors().reverse().find((t=>e.isObject(t)));return t?Fl._createOn(t):null}if(!o.isCollapsed)return o;const i=o.start;if(n.isEqual(i))return null;return new Fl(i)}(t,e):function(t,e){const{start:n,end:o}=t,i=e.checkChild(n,\"$text\"),r=e.checkChild(o,\"$text\"),s=e.getLimitElement(n),a=e.getLimitElement(o);if(s===a){if(i&&r)return null;if(function(t,e,n){const o=t.nodeAfter&&!n.isLimit(t.nodeAfter)||n.checkChild(t,\"$text\"),i=e.nodeBefore&&!n.isLimit(e.nodeBefore)||n.checkChild(e,\"$text\");return o||i}(n,o,e)){const t=n.nodeAfter&&e.isSelectable(n.nodeAfter)?null:e.getNearestSelectionRange(n,\"forward\"),i=o.nodeBefore&&e.isSelectable(o.nodeBefore)?null:e.getNearestSelectionRange(o,\"backward\"),r=t?t.start:n,s=i?i.end:o;return new Fl(r,s)}}const c=s&&!s.is(\"rootElement\"),l=a&&!a.is(\"rootElement\");if(c||l){const t=n.nodeAfter&&o.nodeBefore&&n.nodeAfter.parent===o.nodeBefore.parent,i=c&&(!t||!Pd(n.nodeAfter,e)),r=l&&(!t||!Pd(o.nodeBefore,e));let d=n,h=o;return i&&(d=Pl._createBefore(Td(s,e))),r&&(h=Pl._createAfter(Td(a,e))),new Fl(d,h)}return null}(t,e)}function Td(t,e){let n=t,o=n;for(;e.isLimit(o)&&o.parent;)n=o,o=o.parent;return n}function Pd(t,e){return t&&e.isSelectable(t)}class Id extends(j()){constructor(t,e){super(),this.model=t,this.view=new Cl(e),this.mapper=new Nl,this.downcastDispatcher=new Hl({mapper:this.mapper,schema:t.schema});const n=this.model.document,o=n.selection,r=this.model.markers;var s,a,c;this.listenTo(this.model,\"_beforeChanges\",(()=>{this.view._disableRendering(!0)}),{priority:\"highest\"}),this.listenTo(this.model,\"_afterChanges\",(()=>{this.view._disableRendering(!1)}),{priority:\"lowest\"}),this.listenTo(n,\"change\",(()=>{this.view.change((t=>{this.downcastDispatcher.convertChanges(n.differ,r,t),this.downcastDispatcher.convertSelection(o,r,t)}))}),{priority:\"low\"}),this.listenTo(this.view.document,\"selectionChange\",function(t,e){return(n,o)=>{const i=o.newSelection,r=[];for(const t of i.getRanges())r.push(e.toModelRange(t));const s=t.createSelection(r,{backward:i.isBackward});s.isEqual(t.document.selection)||t.change((t=>{t.setSelection(s)}))}}(this.model,this.mapper)),this.listenTo(this.view.document,\"beforeinput\",(s=this.mapper,a=this.model.schema,c=this.view,(t,e)=>{if(!c.document.isComposing||i.isAndroid)for(let t=0;t{if(!n.consumable.consume(e.item,t.name))return;const o=n.writer,i=n.mapper.toViewPosition(e.range.start),r=o.createText(e.item.data);o.insert(i,r)}),{priority:\"lowest\"}),this.downcastDispatcher.on(\"insert\",((t,e,n)=>{n.convertAttributes(e.item),e.reconversion||!e.item.is(\"element\")||e.item.isEmpty||n.convertChildren(e.item)}),{priority:\"lowest\"}),this.downcastDispatcher.on(\"remove\",((t,e,n)=>{const o=n.mapper.toViewPosition(e.position),i=e.position.getShiftedBy(e.length),r=n.mapper.toViewPosition(i,{isPhantom:!0}),s=n.writer.createRange(o,r),a=n.writer.remove(s.getTrimmed());for(const t of n.writer.createRangeIn(a).getItems())n.mapper.unbindViewElement(t,{defer:!0})}),{priority:\"low\"}),this.downcastDispatcher.on(\"cleanSelection\",((t,e,n)=>{const o=n.writer,i=o.document.selection;for(const t of i.getRanges())t.isCollapsed&&t.end.parent.isAttached()&&n.writer.mergeAttributes(t.start);o.setSelection(null)})),this.downcastDispatcher.on(\"selection\",((t,e,n)=>{const o=e.selection;if(o.isCollapsed)return;if(!n.consumable.consume(o,\"selection\"))return;const i=[];for(const t of o.getRanges())i.push(n.mapper.toViewRange(t));n.writer.setSelection(i,{backward:o.isBackward})}),{priority:\"low\"}),this.downcastDispatcher.on(\"selection\",((t,e,n)=>{const o=e.selection;if(!o.isCollapsed)return;if(!n.consumable.consume(o,\"selection\"))return;const i=n.writer,r=o.getFirstPosition(),s=n.mapper.toViewPosition(r),a=i.breakAttributes(s);i.setSelection(a)}),{priority:\"low\"}),this.view.document.roots.bindTo(this.model.document.roots).using((t=>{if(\"$graveyard\"==t.rootName)return null;const e=new ma(this.view.document,t.name);return e.rootName=t.rootName,this.mapper.bindElements(t,e),e}))}destroy(){this.view.destroy(),this.stopListening()}reconvertMarker(t){const e=\"string\"==typeof t?t:t.name,n=this.model.markers.get(e);if(!n)throw new k(\"editingcontroller-reconvertmarker-marker-not-exist\",this,{markerName:e});this.model.change((()=>{this.model.markers._refresh(n)}))}reconvertItem(t){this.model.change((()=>{this.model.document.differ._refreshItem(t)}))}}class Rd{constructor(){this._consumables=new Map}add(t,e){let n;t.is(\"$text\")||t.is(\"documentFragment\")?this._consumables.set(t,!0):(this._consumables.has(t)?n=this._consumables.get(t):(n=new zd(t),this._consumables.set(t,n)),n.add(e))}test(t,e){const n=this._consumables.get(t);return void 0===n?null:t.is(\"$text\")||t.is(\"documentFragment\")?n:n.test(e)}consume(t,e){return!!this.test(t,e)&&(t.is(\"$text\")||t.is(\"documentFragment\")?this._consumables.set(t,!1):this._consumables.get(t).consume(e),!0)}revert(t,e){const n=this._consumables.get(t);void 0!==n&&(t.is(\"$text\")||t.is(\"documentFragment\")?this._consumables.set(t,!0):n.revert(e))}static consumablesFromElement(t){const e={element:t,name:!0,attributes:[],classes:[],styles:[]},n=t.getAttributeKeys();for(const t of n)\"style\"!=t&&\"class\"!=t&&e.attributes.push(t);const o=t.getClassNames();for(const t of o)e.classes.push(t);const i=t.getStyleNames();for(const t of i)e.styles.push(t);return e}static createFrom(t,e){if(e||(e=new Rd),t.is(\"$text\"))return e.add(t),e;t.is(\"element\")&&e.add(t,Rd.consumablesFromElement(t)),t.is(\"documentFragment\")&&e.add(t);for(const n of t.getChildren())e=Rd.createFrom(n,e);return e}}const Od=[\"attributes\",\"classes\",\"styles\"];class zd{constructor(t){this.element=t,this._canConsumeName=null,this._consumables={attributes:new Map,styles:new Map,classes:new Map}}add(t){t.name&&(this._canConsumeName=!0);for(const e of Od)e in t&&this._add(e,t[e])}test(t){if(t.name&&!this._canConsumeName)return this._canConsumeName;for(const e of Od)if(e in t){const n=this._test(e,t[e]);if(!0!==n)return n}return!0}consume(t){t.name&&(this._canConsumeName=!1);for(const e of Od)e in t&&this._consume(e,t[e])}revert(t){t.name&&(this._canConsumeName=!0);for(const e of Od)e in t&&this._revert(e,t[e])}_add(t,e){const n=ht(e)?e:[e],o=this._consumables[t];for(const e of n){if(\"attributes\"===t&&(\"class\"===e||\"style\"===e))throw new k(\"viewconsumable-invalid-attribute\",this);if(o.set(e,!0),\"styles\"===t)for(const t of this.element.document.stylesProcessor.getRelatedStyles(e))o.set(t,!0)}}_test(t,e){const n=ht(e)?e:[e],o=this._consumables[t];for(const e of n)if(\"attributes\"!==t||\"class\"!==e&&\"style\"!==e){const t=o.get(e);if(void 0===t)return null;if(!t)return!1}else{const t=\"class\"==e?\"classes\":\"styles\",n=this._test(t,[...this._consumables[t].keys()]);if(!0!==n)return n}return!0}_consume(t,e){const n=ht(e)?e:[e],o=this._consumables[t];for(const e of n)if(\"attributes\"!==t||\"class\"!==e&&\"style\"!==e){if(o.set(e,!1),\"styles\"==t)for(const t of this.element.document.stylesProcessor.getRelatedStyles(e))o.set(t,!1)}else{const t=\"class\"==e?\"classes\":\"styles\";this._consume(t,[...this._consumables[t].keys()])}}_revert(t,e){const n=ht(e)?e:[e],o=this._consumables[t];for(const e of n)if(\"attributes\"!==t||\"class\"!==e&&\"style\"!==e){!1===o.get(e)&&o.set(e,!0)}else{const t=\"class\"==e?\"classes\":\"styles\";this._revert(t,[...this._consumables[t].keys()])}}}class Md extends(j()){constructor(){super(),this._sourceDefinitions={},this._attributeProperties={},this.decorate(\"checkChild\"),this.decorate(\"checkAttribute\"),this.on(\"checkAttribute\",((t,e)=>{e[0]=new Fd(e[0])}),{priority:\"highest\"}),this.on(\"checkChild\",((t,e)=>{e[0]=new Fd(e[0]),e[1]=this.getDefinition(e[1])}),{priority:\"highest\"})}register(t,e){if(this._sourceDefinitions[t])throw new k(\"schema-cannot-register-item-twice\",this,{itemName:t});this._sourceDefinitions[t]=[Object.assign({},e)],this._clearCache()}extend(t,e){if(!this._sourceDefinitions[t])throw new k(\"schema-cannot-extend-missing-item\",this,{itemName:t});this._sourceDefinitions[t].push(Object.assign({},e)),this._clearCache()}getDefinitions(){return this._compiledDefinitions||this._compile(),this._compiledDefinitions}getDefinition(t){let e;return e=\"string\"==typeof t?t:\"is\"in t&&(t.is(\"$text\")||t.is(\"$textProxy\"))?\"$text\":t.name,this.getDefinitions()[e]}isRegistered(t){return!!this.getDefinition(t)}isBlock(t){const e=this.getDefinition(t);return!(!e||!e.isBlock)}isLimit(t){const e=this.getDefinition(t);return!!e&&!(!e.isLimit&&!e.isObject)}isObject(t){const e=this.getDefinition(t);return!!e&&!!(e.isObject||e.isLimit&&e.isSelectable&&e.isContent)}isInline(t){const e=this.getDefinition(t);return!(!e||!e.isInline)}isSelectable(t){const e=this.getDefinition(t);return!!e&&!(!e.isSelectable&&!e.isObject)}isContent(t){const e=this.getDefinition(t);return!!e&&!(!e.isContent&&!e.isObject)}checkChild(t,e){return!!e&&this._checkContextMatch(e,t)}checkAttribute(t,e){const n=this.getDefinition(t.last);return!!n&&n.allowAttributes.includes(e)}checkMerge(t,e){if(t instanceof Pl){const e=t.nodeBefore,n=t.nodeAfter;if(!(e instanceof Sl))throw new k(\"schema-check-merge-no-element-before\",this);if(!(n instanceof Sl))throw new k(\"schema-check-merge-no-element-after\",this);return this.checkMerge(e,n)}for(const n of e.getChildren())if(!this.checkChild(t,n))return!1;return!0}addChildCheck(t){this.on(\"checkChild\",((e,[n,o])=>{if(!o)return;const i=t(n,o);\"boolean\"==typeof i&&(e.stop(),e.return=i)}),{priority:\"high\"})}addAttributeCheck(t){this.on(\"checkAttribute\",((e,[n,o])=>{const i=t(n,o);\"boolean\"==typeof i&&(e.stop(),e.return=i)}),{priority:\"high\"})}setAttributeProperties(t,e){this._attributeProperties[t]=Object.assign(this.getAttributeProperties(t),e)}getAttributeProperties(t){return this._attributeProperties[t]||{}}getLimitElement(t){let e;if(t instanceof Pl)e=t.parent;else{e=(t instanceof Fl?[t]:Array.from(t.getRanges())).reduce(((t,e)=>{const n=e.getCommonAncestor();return t?t.getCommonAncestor(n,{includeSelf:!0}):n}),null)}for(;!this.isLimit(e)&&e.parent;)e=e.parent;return e}checkAttributeInSelection(t,e){if(t.isCollapsed){const n=[...t.getFirstPosition().getAncestors(),new El(\"\",t.getAttributes())];return this.checkAttribute(n,e)}{const n=t.getRanges();for(const t of n)for(const n of t)if(this.checkAttribute(n.item,e))return!0}return!1}*getValidRanges(t,e){t=function*(t){for(const e of t)yield*e.getMinimalFlatRanges()}(t);for(const n of t)yield*this._getValidRangesForRange(n,e)}getNearestSelectionRange(t,e=\"both\"){if(\"$graveyard\"==t.root.rootName)return null;if(this.checkChild(t,\"$text\"))return new Fl(t);let n,o;const i=t.getAncestors().reverse().find((t=>this.isLimit(t)))||t.root;\"both\"!=e&&\"backward\"!=e||(n=new Bl({boundaries:Fl._createIn(i),startPosition:t,direction:\"backward\"})),\"both\"!=e&&\"forward\"!=e||(o=new Bl({boundaries:Fl._createIn(i),startPosition:t}));for(const t of function*(t,e){let n=!1;for(;!n;){if(n=!0,t){const e=t.next();e.done||(n=!1,yield{walker:t,value:e.value})}if(e){const t=e.next();t.done||(n=!1,yield{walker:e,value:t.value})}}}(n,o)){const e=t.walker==n?\"elementEnd\":\"elementStart\",o=t.value;if(o.type==e&&this.isObject(o.item))return Fl._createOn(o.item);if(this.checkChild(o.nextPosition,\"$text\"))return new Fl(o.nextPosition)}return null}findAllowedParent(t,e){let n=t.parent;for(;n;){if(this.checkChild(n,e))return n;if(this.isLimit(n))return null;n=n.parent}return null}setAllowedAttributes(t,e,n){const o=n.model;for(const[i,r]of Object.entries(e))o.schema.checkAttribute(t,i)&&n.setAttribute(i,r,t)}removeDisallowedAttributes(t,e){for(const n of t)if(n.is(\"$text\"))Jd(this,n,e);else{const t=Fl._createIn(n).getPositions();for(const n of t){Jd(this,n.nodeBefore||n.parent,e)}}}getAttributesWithProperty(t,e,n){const o={};for(const[i,r]of t.getAttributes()){const t=this.getAttributeProperties(i);void 0!==t[e]&&(void 0!==n&&n!==t[e]||(o[i]=r))}return o}createContext(t){return new Fd(t)}_clearCache(){this._compiledDefinitions=null}_compile(){const t={},e=this._sourceDefinitions,n=Object.keys(e);for(const o of n)t[o]=Nd(e[o],o);for(const e of n)Vd(t,e);for(const e of n)Ld(t,e);for(const e of n)Hd(t,e);for(const e of n)jd(t,e),qd(t,e);for(const e of n)Kd(t,e),Wd(t,e),Gd(t,e);this._compiledDefinitions=t}_checkContextMatch(t,e,n=e.length-1){const o=e.getItem(n);if(t.allowIn.includes(o.name)){if(0==n)return!0;{const t=this.getDefinition(o);return this._checkContextMatch(t,e,n-1)}}return!1}*_getValidRangesForRange(t,e){let n=t.start,o=t.start;for(const i of t.getItems({shallow:!0}))i.is(\"element\")&&(yield*this._getValidRangesForRange(Fl._createIn(i),e)),this.checkAttribute(i,e)||(n.isEqual(o)||(yield new Fl(n,o)),n=Pl._createAfter(i)),o=Pl._createAfter(i);n.isEqual(o)||(yield new Fl(n,o))}}class Fd{constructor(t){if(t instanceof Fd)return t;let e;e=\"string\"==typeof t?[t]:Array.isArray(t)?t:t.getAncestors({includeSelf:!0}),this._items=e.map(Zd)}get length(){return this._items.length}get last(){return this._items[this._items.length-1]}[Symbol.iterator](){return this._items[Symbol.iterator]()}push(t){const e=new Fd([t]);return e._items=[...this._items,...e._items],e}getItem(t){return this._items[t]}*getNames(){yield*this._items.map((t=>t.name))}endsWith(t){return Array.from(this.getNames()).join(\" \").endsWith(t)}startsWith(t){return Array.from(this.getNames()).join(\" \").startsWith(t)}}function Nd(t,e){const n={name:e,allowIn:[],allowContentOf:[],allowWhere:[],allowAttributes:[],allowAttributesOf:[],allowChildren:[],inheritTypesFrom:[]};return function(t,e){for(const n of t){const t=Object.keys(n).filter((t=>t.startsWith(\"is\")));for(const o of t)e[o]=!!n[o]}}(t,n),$d(t,n,\"allowIn\"),$d(t,n,\"allowContentOf\"),$d(t,n,\"allowWhere\"),$d(t,n,\"allowAttributes\"),$d(t,n,\"allowAttributesOf\"),$d(t,n,\"allowChildren\"),$d(t,n,\"inheritTypesFrom\"),function(t,e){for(const n of t){const t=n.inheritAllFrom;t&&(e.allowContentOf.push(t),e.allowWhere.push(t),e.allowAttributesOf.push(t),e.inheritTypesFrom.push(t))}}(t,n),n}function Vd(t,e){const n=t[e];for(const o of n.allowChildren){const n=t[o];n&&n.allowIn.push(e)}n.allowChildren.length=0}function Ld(t,e){for(const n of t[e].allowContentOf)if(t[n]){Ud(t,n).forEach((t=>{t.allowIn.push(e)}))}delete t[e].allowContentOf}function Hd(t,e){for(const n of t[e].allowWhere){const o=t[n];if(o){const n=o.allowIn;t[e].allowIn.push(...n)}}delete t[e].allowWhere}function jd(t,e){for(const n of t[e].allowAttributesOf){const o=t[n];if(o){const n=o.allowAttributes;t[e].allowAttributes.push(...n)}}delete t[e].allowAttributesOf}function qd(t,e){const n=t[e];for(const e of n.inheritTypesFrom){const o=t[e];if(o){const t=Object.keys(o).filter((t=>t.startsWith(\"is\")));for(const e of t)e in n||(n[e]=o[e])}}delete n.inheritTypesFrom}function Kd(t,e){const n=t[e],o=n.allowIn.filter((e=>t[e]));n.allowIn=Array.from(new Set(o))}function Wd(t,e){const n=t[e];for(const o of n.allowIn){t[o].allowChildren.push(e)}}function Gd(t,e){const n=t[e];n.allowAttributes=Array.from(new Set(n.allowAttributes))}function $d(t,e,n){for(const o of t){const t=o[n];\"string\"==typeof t?e[n].push(t):Array.isArray(t)&&e[n].push(...t)}}function Ud(t,e){const n=t[e];return(o=t,Object.keys(o).map((t=>o[t]))).filter((t=>t.allowIn.includes(n.name)));var o}function Zd(t){return\"string\"==typeof t||t.is(\"documentFragment\")?{name:\"string\"==typeof t?t:\"$documentFragment\",*getAttributeKeys(){},getAttribute(){}}:{name:t.is(\"element\")?t.name:\"$text\",*getAttributeKeys(){yield*t.getAttributeKeys()},getAttribute:e=>t.getAttribute(e)}}function Jd(t,e,n){for(const o of e.getAttributeKeys())t.checkAttribute(e,o)||n.removeAttribute(o,e)}class Yd extends(D()){constructor(t){super(),this._splitParts=new Map,this._cursorParents=new Map,this._modelCursor=null,this._emptyElementsToKeep=new Set,this.conversionApi={...t,consumable:null,writer:null,store:null,convertItem:(t,e)=>this._convertItem(t,e),convertChildren:(t,e)=>this._convertChildren(t,e),safeInsert:(t,e)=>this._safeInsert(t,e),updateConversionResult:(t,e)=>this._updateConversionResult(t,e),splitToAllowedParent:(t,e)=>this._splitToAllowedParent(t,e),getSplitParts:t=>this._getSplitParts(t),keepEmptyElement:t=>this._keepEmptyElement(t)}}convert(t,e,n=[\"$root\"]){this.fire(\"viewCleanup\",t),this._modelCursor=function(t,e){let n;for(const o of new Fd(t)){const t={};for(const e of o.getAttributeKeys())t[e]=o.getAttribute(e);const i=e.createElement(o.name,t);n&&e.insert(i,n),n=Pl._createAt(i,0)}return n}(n,e),this.conversionApi.writer=e,this.conversionApi.consumable=Rd.createFrom(t),this.conversionApi.store={};const{modelRange:o}=this._convertItem(t,this._modelCursor),i=e.createDocumentFragment();if(o){this._removeEmptyElements();for(const t of Array.from(this._modelCursor.parent.getChildren()))e.append(t,i);i.markers=function(t,e){const n=new Set,o=new Map,i=Fl._createIn(t).getItems();for(const t of i)t.is(\"element\",\"$marker\")&&n.add(t);for(const t of n){const n=t.getAttribute(\"data-name\"),i=e.createPositionBefore(t);o.has(n)?o.get(n).end=i.clone():o.set(n,new Fl(i.clone())),e.remove(t)}return o}(i,e)}return this._modelCursor=null,this._splitParts.clear(),this._cursorParents.clear(),this._emptyElementsToKeep.clear(),this.conversionApi.writer=null,this.conversionApi.store=null,i}_convertItem(t,e){const n={viewItem:t,modelCursor:e,modelRange:null};if(t.is(\"element\")?this.fire(`element:${t.name}`,n,this.conversionApi):t.is(\"$text\")?this.fire(\"text\",n,this.conversionApi):this.fire(\"documentFragment\",n,this.conversionApi),n.modelRange&&!(n.modelRange instanceof Fl))throw new k(\"view-conversion-dispatcher-incorrect-result\",this);return{modelRange:n.modelRange,modelCursor:n.modelCursor}}_convertChildren(t,e){let n=e.is(\"position\")?e:Pl._createAt(e,0);const o=new Fl(n);for(const e of Array.from(t.getChildren())){const t=this._convertItem(e,n);t.modelRange instanceof Fl&&(o.end=t.modelRange.end,n=t.modelCursor)}return{modelRange:o,modelCursor:n}}_safeInsert(t,e){const n=this._splitToAllowedParent(t,e);return!!n&&(this.conversionApi.writer.insert(t,n.position),!0)}_updateConversionResult(t,e){const n=this._getSplitParts(t),o=this.conversionApi.writer;e.modelRange||(e.modelRange=o.createRange(o.createPositionBefore(t),o.createPositionAfter(n[n.length-1])));const i=this._cursorParents.get(t);e.modelCursor=i?o.createPositionAt(i,0):e.modelRange.end}_splitToAllowedParent(t,e){const{schema:n,writer:o}=this.conversionApi;let i=n.findAllowedParent(e,t);if(i){if(i===e.parent)return{position:e};this._modelCursor.parent.getAncestors().includes(i)&&(i=null)}if(!i)return wd(e,t,n)?{position:_d(e,o)}:null;const r=this.conversionApi.writer.split(e,i),s=[];for(const t of r.range.getWalker())if(\"elementEnd\"==t.type)s.push(t.item);else{const e=s.pop(),n=t.item;this._registerSplitPair(e,n)}const a=r.range.end.parent;return this._cursorParents.set(t,a),{position:r.position,cursorParent:a}}_registerSplitPair(t,e){this._splitParts.has(t)||this._splitParts.set(t,[t]);const n=this._splitParts.get(t);this._splitParts.set(e,n),n.push(e)}_getSplitParts(t){let e;return e=this._splitParts.has(t)?this._splitParts.get(t):[t],e}_keepEmptyElement(t){this._emptyElementsToKeep.add(t)}_removeEmptyElements(){let t=!1;for(const e of this._splitParts.keys())e.isEmpty&&!this._emptyElementsToKeep.has(e)&&(this.conversionApi.writer.remove(e),this._splitParts.delete(e),t=!0);t&&this._removeEmptyElements()}}class Qd{getHtml(t){const e=Po.document.implementation.createHTMLDocument(\"\").createElement(\"div\");return e.appendChild(t),e.innerHTML}}class Xd{constructor(t){this.skipComments=!0,this.domParser=new DOMParser,this.domConverter=new _c(t,{renderingMode:\"data\"}),this.htmlWriter=new Qd}toData(t){const e=this.domConverter.viewToDom(t);return this.htmlWriter.getHtml(e)}toView(t){const e=this._toDom(t);return this.domConverter.domToView(e,{skipComments:this.skipComments})}registerRawContentMatcher(t){this.domConverter.registerRawContentMatcher(t)}useFillerType(t){this.domConverter.blockFillerMode=\"marked\"==t?\"markedNbsp\":\"nbsp\"}_toDom(t){t.match(/<(?:html|body|head|meta)(?:\\s[^>]*)?>/i)||(t=`${t}`);const e=this.domParser.parseFromString(t,\"text/html\"),n=e.createDocumentFragment(),o=e.body.childNodes;for(;o.length>0;)n.appendChild(o[0]);return n}}class th extends(D()){constructor(t,e){super(),this.model=t,this.mapper=new Nl,this.downcastDispatcher=new Hl({mapper:this.mapper,schema:t.schema}),this.downcastDispatcher.on(\"insert:$text\",((t,e,n)=>{if(!n.consumable.consume(e.item,t.name))return;const o=n.writer,i=n.mapper.toViewPosition(e.range.start),r=o.createText(e.item.data);o.insert(i,r)}),{priority:\"lowest\"}),this.downcastDispatcher.on(\"insert\",((t,e,n)=>{n.convertAttributes(e.item),e.reconversion||!e.item.is(\"element\")||e.item.isEmpty||n.convertChildren(e.item)}),{priority:\"lowest\"}),this.upcastDispatcher=new Yd({schema:t.schema}),this.viewDocument=new Ba(e),this.stylesProcessor=e,this.htmlProcessor=new Xd(this.viewDocument),this.processor=this.htmlProcessor,this._viewWriter=new Ha(this.viewDocument),this.upcastDispatcher.on(\"text\",((t,e,{schema:n,consumable:o,writer:i})=>{let r=e.modelCursor;if(!o.test(e.viewItem))return;if(!n.checkChild(r,\"$text\")){if(!wd(r,\"$text\",n))return;if(0==e.viewItem.data.trim().length)return;const t=r.nodeBefore;r=_d(r,i),t&&t.is(\"element\",\"$marker\")&&(i.move(i.createRangeOn(t),r),r=i.createPositionAfter(t))}o.consume(e.viewItem);const s=i.createText(e.viewItem.data);i.insert(s,r),e.modelRange=i.createRange(r,r.getShiftedBy(s.offsetSize)),e.modelCursor=e.modelRange.end}),{priority:\"lowest\"}),this.upcastDispatcher.on(\"element\",((t,e,n)=>{if(!e.modelRange&&n.consumable.consume(e.viewItem,{name:!0})){const{modelRange:t,modelCursor:o}=n.convertChildren(e.viewItem,e.modelCursor);e.modelRange=t,e.modelCursor=o}}),{priority:\"lowest\"}),this.upcastDispatcher.on(\"documentFragment\",((t,e,n)=>{if(!e.modelRange&&n.consumable.consume(e.viewItem,{name:!0})){const{modelRange:t,modelCursor:o}=n.convertChildren(e.viewItem,e.modelCursor);e.modelRange=t,e.modelCursor=o}}),{priority:\"lowest\"}),j().prototype.decorate.call(this,\"init\"),j().prototype.decorate.call(this,\"set\"),j().prototype.decorate.call(this,\"get\"),j().prototype.decorate.call(this,\"toView\"),j().prototype.decorate.call(this,\"toModel\"),this.on(\"init\",(()=>{this.fire(\"ready\")}),{priority:\"lowest\"}),this.on(\"ready\",(()=>{this.model.enqueueChange({isUndoable:!1},bd)}),{priority:\"lowest\"})}get(t={}){const{rootName:e=\"main\",trim:n=\"empty\"}=t;if(!this._checkIfRootsExists([e]))throw new k(\"datacontroller-get-non-existent-root\",this);const o=this.model.document.getRoot(e);return o.isAttached()||b(\"datacontroller-get-detached-root\",this),\"empty\"!==n||this.model.hasContent(o,{ignoreWhitespaces:!0})?this.stringify(o,t):\"\"}stringify(t,e={}){const n=this.toView(t,e);return this.processor.toData(n)}toView(t,e={}){const n=this.viewDocument,o=this._viewWriter;this.mapper.clearBindings();const i=Fl._createIn(t),r=new La(n);this.mapper.bindElements(t,r);const s=t.is(\"documentFragment\")?t.markers:function(t){const e=[],n=t.root.document;if(!n)return new Map;const o=Fl._createIn(t);for(const t of n.model.markers){const n=t.getRange(),i=n.isCollapsed,r=n.start.isEqual(o.start)||n.end.isEqual(o.end);if(i&&r)e.push([t.name,n]);else{const i=o.getIntersection(n);i&&e.push([t.name,i])}}return e.sort((([t,e],[n,o])=>{if(\"after\"!==e.end.compareWith(o.start))return 1;if(\"before\"!==e.start.compareWith(o.end))return-1;switch(e.start.compareWith(o.start)){case\"before\":return 1;case\"after\":return-1;default:switch(e.end.compareWith(o.end)){case\"before\":return 1;case\"after\":return-1;default:return n.localeCompare(t)}}})),new Map(e)}(t);return this.downcastDispatcher.convert(i,s,o,e),r}init(t){if(this.model.document.version)throw new k(\"datacontroller-init-document-not-empty\",this);let e={};if(\"string\"==typeof t?e.main=t:e=t,!this._checkIfRootsExists(Object.keys(e)))throw new k(\"datacontroller-init-non-existent-root\",this);return this.model.enqueueChange({isUndoable:!1},(t=>{for(const n of Object.keys(e)){const o=this.model.document.getRoot(n);t.insert(this.parse(e[n],o),o,0)}})),Promise.resolve()}set(t,e={}){let n={};if(\"string\"==typeof t?n.main=t:n=t,!this._checkIfRootsExists(Object.keys(n)))throw new k(\"datacontroller-set-non-existent-root\",this);this.model.enqueueChange(e.batchType||{},(t=>{t.setSelection(null),t.removeSelectionAttribute(this.model.document.selection.getAttributeKeys());for(const e of Object.keys(n)){const o=this.model.document.getRoot(e);t.remove(t.createRangeIn(o)),t.insert(this.parse(n[e],o),o,0)}}))}parse(t,e=\"$root\"){const n=this.processor.toView(t);return this.toModel(n,e)}toModel(t,e=\"$root\"){return this.model.change((n=>this.upcastDispatcher.convert(t,n,e)))}addStyleProcessorRules(t){t(this.stylesProcessor)}registerRawContentMatcher(t){this.processor&&this.processor!==this.htmlProcessor&&this.processor.registerRawContentMatcher(t),this.htmlProcessor.registerRawContentMatcher(t)}destroy(){this.stopListening()}_checkIfRootsExists(t){for(const e of t)if(!this.model.document.getRoot(e))return!1;return!0}}class eh{constructor(t,e){this._helpers=new Map,this._downcast=fi(t),this._createConversionHelpers({name:\"downcast\",dispatchers:this._downcast,isDowncast:!0}),this._upcast=fi(e),this._createConversionHelpers({name:\"upcast\",dispatchers:this._upcast,isDowncast:!1})}addAlias(t,e){const n=this._downcast.includes(e);if(!this._upcast.includes(e)&&!n)throw new k(\"conversion-add-alias-dispatcher-not-registered\",this);this._createConversionHelpers({name:t,dispatchers:[e],isDowncast:n})}for(t){if(!this._helpers.has(t))throw new k(\"conversion-for-unknown-group\",this);return this._helpers.get(t)}elementToElement(t){this.for(\"downcast\").elementToElement(t);for(const{model:e,view:n}of nh(t))this.for(\"upcast\").elementToElement({model:e,view:n,converterPriority:t.converterPriority})}attributeToElement(t){this.for(\"downcast\").attributeToElement(t);for(const{model:e,view:n}of nh(t))this.for(\"upcast\").elementToAttribute({view:n,model:e,converterPriority:t.converterPriority})}attributeToAttribute(t){this.for(\"downcast\").attributeToAttribute(t);for(const{model:e,view:n}of nh(t))this.for(\"upcast\").attributeToAttribute({view:n,model:e})}_createConversionHelpers({name:t,dispatchers:e,isDowncast:n}){if(this._helpers.has(t))throw new k(\"conversion-group-exists\",this);const o=n?new rd(e):new Ad(e);this._helpers.set(t,o)}}function*nh(t){if(t.model.values)for(const e of t.model.values){const n={key:t.model.key,value:e},o=t.view[e],i=t.upcastAlso?t.upcastAlso[e]:void 0;yield*oh(n,o,i)}else yield*oh(t.model,t.view,t.upcastAlso)}function*oh(t,e,n){if(yield{model:t,view:e},n)for(const e of fi(n))yield{model:t,view:e}}class ih{constructor(t){this.baseVersion=t,this.isDocumentOperation=null!==this.baseVersion,this.batch=null}_validate(){}toJSON(){const t=Object.assign({},this);return t.__className=this.constructor.className,delete t.batch,delete t.isDocumentOperation,t}static get className(){return\"Operation\"}static fromJSON(t,e){return new this(t.baseVersion)}}function rh(t,e){const n=ch(e),o=n.reduce(((t,e)=>t+e.offsetSize),0),i=t.parent;dh(t);const r=t.index;return i._insertChild(r,n),lh(i,r+n.length),lh(i,r),new Fl(t,t.getShiftedBy(o))}function sh(t){if(!t.isFlat)throw new k(\"operation-utils-remove-range-not-flat\",this);const e=t.start.parent;dh(t.start),dh(t.end);const n=e._removeChildren(t.start.index,t.end.index-t.start.index);return lh(e,t.start.index),n}function ah(t,e){if(!t.isFlat)throw new k(\"operation-utils-move-range-not-flat\",this);const n=sh(t);return rh(e=e._getTransformedByDeletion(t.start,t.end.offset-t.start.offset),n)}function ch(t){const e=[];!function t(n){if(\"string\"==typeof n)e.push(new El(n));else if(n instanceof Dl)e.push(new El(n.data,n.getAttributes()));else if(n instanceof yl)e.push(n);else if(Y(n))for(const e of n)t(e);else{}}(t);for(let t=1;tt.maxOffset)throw new k(\"move-operation-nodes-do-not-exist\",this);if(t===e&&n=n&&this.targetPosition.path[t]t._clone(!0)))),e=new ph(this.position,t,this.baseVersion);return e.shouldReceiveAttributes=this.shouldReceiveAttributes,e}getReversed(){const t=this.position.root.document.graveyard,e=new Pl(t,[0]);return new uh(this.position,this.nodes.maxOffset,e,this.baseVersion+1)}_validate(){const t=this.position.parent;if(!t||t.maxOffsett._clone(!0)))),rh(this.position,t)}toJSON(){const t=super.toJSON();return t.position=this.position.toJSON(),t.nodes=this.nodes.toJSON(),t}static get className(){return\"InsertOperation\"}static fromJSON(t,e){const n=[];for(const e of t.nodes)e.name?n.push(Sl.fromJSON(e)):n.push(El.fromJSON(e));const o=new ph(Pl.fromJSON(t.position,e),n,t.baseVersion);return o.shouldReceiveAttributes=t.shouldReceiveAttributes,o}}class gh extends ih{constructor(t,e,n,o,i){super(i),this.splitPosition=t.clone(),this.splitPosition.stickiness=\"toNext\",this.howMany=e,this.insertionPosition=n,this.graveyardPosition=o?o.clone():null,this.graveyardPosition&&(this.graveyardPosition.stickiness=\"toNext\")}get type(){return\"split\"}get moveTargetPosition(){const t=this.insertionPosition.path.slice();return t.push(0),new Pl(this.insertionPosition.root,t)}get movedRange(){const t=this.splitPosition.getShiftedBy(Number.POSITIVE_INFINITY);return new Fl(this.splitPosition,t)}get affectedSelectable(){const t=[Fl._createFromPositionAndShift(this.splitPosition,0),Fl._createFromPositionAndShift(this.insertionPosition,0)];return this.graveyardPosition&&t.push(Fl._createFromPositionAndShift(this.graveyardPosition,0)),t}clone(){return new gh(this.splitPosition,this.howMany,this.insertionPosition,this.graveyardPosition,this.baseVersion)}getReversed(){const t=this.splitPosition.root.document.graveyard,e=new Pl(t,[0]);return new mh(this.moveTargetPosition,this.howMany,this.splitPosition,e,this.baseVersion+1)}_validate(){const t=this.splitPosition.parent,e=this.splitPosition.offset;if(!t||t.maxOffset{if(t.key===e.key&&t.range.start.hasSameParentAs(e.range.start)){const o=t.range.getDifference(e.range).map((e=>new bh(e,t.key,t.oldValue,t.newValue,0))),i=t.range.getIntersection(e.range);return i&&n.aIsStrong&&o.push(new bh(i,e.key,e.newValue,t.newValue,0)),0==o.length?[new wh(0)]:o}return[t]})),Eh(bh,ph,((t,e)=>{if(t.range.start.hasSameParentAs(e.position)&&t.range.containsPosition(e.position)){const n=t.range._getTransformedByInsertion(e.position,e.howMany,!e.shouldReceiveAttributes).map((e=>new bh(e,t.key,t.oldValue,t.newValue,t.baseVersion)));if(e.shouldReceiveAttributes){const o=Rh(e,t.key,t.oldValue);o&&n.unshift(o)}return n}return t.range=t.range._getTransformedByInsertion(e.position,e.howMany,!1)[0],[t]})),Eh(bh,mh,((t,e)=>{const n=[];t.range.start.hasSameParentAs(e.deletionPosition)&&(t.range.containsPosition(e.deletionPosition)||t.range.start.isEqual(e.deletionPosition))&&n.push(Fl._createFromPositionAndShift(e.graveyardPosition,1));const o=t.range._getTransformedByMergeOperation(e);return o.isCollapsed||n.push(o),n.map((e=>new bh(e,t.key,t.oldValue,t.newValue,t.baseVersion)))})),Eh(bh,uh,((t,e)=>{const n=function(t,e){const n=Fl._createFromPositionAndShift(e.sourcePosition,e.howMany);let o=null,i=[];n.containsRange(t,!0)?o=t:t.start.hasSameParentAs(n.start)?(i=t.getDifference(n),o=t.getIntersection(n)):i=[t];const r=[];for(let t of i){t=t._getTransformedByDeletion(e.sourcePosition,e.howMany);const n=e.getMovedRangeStart(),o=t.start.hasSameParentAs(n),i=t._getTransformedByInsertion(n,e.howMany,o);r.push(...i)}o&&r.push(o._getTransformedByMove(e.sourcePosition,e.targetPosition,e.howMany,!1)[0]);return r}(t.range,e);return n.map((e=>new bh(e,t.key,t.oldValue,t.newValue,t.baseVersion)))})),Eh(bh,gh,((t,e)=>{if(t.range.end.isEqual(e.insertionPosition))return e.graveyardPosition||t.range.end.offset++,[t];if(t.range.start.hasSameParentAs(e.splitPosition)&&t.range.containsPosition(e.splitPosition)){const n=t.clone();return n.range=new Fl(e.moveTargetPosition.clone(),t.range.end._getCombined(e.splitPosition,e.moveTargetPosition)),t.range.end=e.splitPosition.clone(),t.range.end.stickiness=\"toPrevious\",[t,n]}return t.range=t.range._getTransformedBySplitOperation(e),[t]})),Eh(ph,bh,((t,e)=>{const n=[t];if(t.shouldReceiveAttributes&&t.position.hasSameParentAs(e.range.start)&&e.range.containsPosition(t.position)){const o=Rh(t,e.key,e.newValue);o&&n.push(o)}return n})),Eh(ph,ph,((t,e,n)=>(t.position.isEqual(e.position)&&n.aIsStrong||(t.position=t.position._getTransformedByInsertOperation(e)),[t]))),Eh(ph,uh,((t,e)=>(t.position=t.position._getTransformedByMoveOperation(e),[t]))),Eh(ph,gh,((t,e)=>(t.position=t.position._getTransformedBySplitOperation(e),[t]))),Eh(ph,mh,((t,e)=>(t.position=t.position._getTransformedByMergeOperation(e),[t]))),Eh(fh,ph,((t,e)=>(t.oldRange&&(t.oldRange=t.oldRange._getTransformedByInsertOperation(e)[0]),t.newRange&&(t.newRange=t.newRange._getTransformedByInsertOperation(e)[0]),[t]))),Eh(fh,fh,((t,e,n)=>{if(t.name==e.name){if(!n.aIsStrong)return[new wh(0)];t.oldRange=e.newRange?e.newRange.clone():null}return[t]})),Eh(fh,mh,((t,e)=>(t.oldRange&&(t.oldRange=t.oldRange._getTransformedByMergeOperation(e)),t.newRange&&(t.newRange=t.newRange._getTransformedByMergeOperation(e)),[t]))),Eh(fh,uh,((t,e,n)=>{if(t.oldRange&&(t.oldRange=Fl._createFromRanges(t.oldRange._getTransformedByMoveOperation(e))),t.newRange){if(n.abRelation){const o=Fl._createFromRanges(t.newRange._getTransformedByMoveOperation(e));if(\"left\"==n.abRelation.side&&e.targetPosition.isEqual(t.newRange.start))return t.newRange.end=o.end,t.newRange.start.path=n.abRelation.path,[t];if(\"right\"==n.abRelation.side&&e.targetPosition.isEqual(t.newRange.end))return t.newRange.start=o.start,t.newRange.end.path=n.abRelation.path,[t]}t.newRange=Fl._createFromRanges(t.newRange._getTransformedByMoveOperation(e))}return[t]})),Eh(fh,gh,((t,e,n)=>{if(t.oldRange&&(t.oldRange=t.oldRange._getTransformedBySplitOperation(e)),t.newRange){if(n.abRelation){const o=t.newRange._getTransformedBySplitOperation(e);return t.newRange.start.isEqual(e.splitPosition)&&n.abRelation.wasStartBeforeMergedElement?t.newRange.start=Pl._createAt(e.insertionPosition):t.newRange.start.isEqual(e.splitPosition)&&!n.abRelation.wasInLeftElement&&(t.newRange.start=Pl._createAt(e.moveTargetPosition)),t.newRange.end.isEqual(e.splitPosition)&&n.abRelation.wasInRightElement?t.newRange.end=Pl._createAt(e.moveTargetPosition):t.newRange.end.isEqual(e.splitPosition)&&n.abRelation.wasEndBeforeMergedElement?t.newRange.end=Pl._createAt(e.insertionPosition):t.newRange.end=o.end,[t]}t.newRange=t.newRange._getTransformedBySplitOperation(e)}return[t]})),Eh(mh,ph,((t,e)=>(t.sourcePosition.hasSameParentAs(e.position)&&(t.howMany+=e.howMany),t.sourcePosition=t.sourcePosition._getTransformedByInsertOperation(e),t.targetPosition=t.targetPosition._getTransformedByInsertOperation(e),[t]))),Eh(mh,mh,((t,e,n)=>{if(t.sourcePosition.isEqual(e.sourcePosition)&&t.targetPosition.isEqual(e.targetPosition)){if(n.bWasUndone){const n=e.graveyardPosition.path.slice();return n.push(0),t.sourcePosition=new Pl(e.graveyardPosition.root,n),t.howMany=0,[t]}return[new wh(0)]}if(t.sourcePosition.isEqual(e.sourcePosition)&&!t.targetPosition.isEqual(e.targetPosition)&&!n.bWasUndone&&\"splitAtSource\"!=n.abRelation){const o=\"$graveyard\"==t.targetPosition.root.rootName,i=\"$graveyard\"==e.targetPosition.root.rootName;if(i&&!o||!(o&&!i)&&n.aIsStrong){const n=e.targetPosition._getTransformedByMergeOperation(e),o=t.targetPosition._getTransformedByMergeOperation(e);return[new uh(n,t.howMany,o,0)]}return[new wh(0)]}return t.sourcePosition.hasSameParentAs(e.targetPosition)&&(t.howMany+=e.howMany),t.sourcePosition=t.sourcePosition._getTransformedByMergeOperation(e),t.targetPosition=t.targetPosition._getTransformedByMergeOperation(e),t.graveyardPosition.isEqual(e.graveyardPosition)&&n.aIsStrong||(t.graveyardPosition=t.graveyardPosition._getTransformedByMergeOperation(e)),[t]})),Eh(mh,uh,((t,e,n)=>{const o=Fl._createFromPositionAndShift(e.sourcePosition,e.howMany);return\"remove\"==e.type&&!n.bWasUndone&&!n.forceWeakRemove&&t.deletionPosition.hasSameParentAs(e.sourcePosition)&&o.containsPosition(t.sourcePosition)?[new wh(0)]:(t.sourcePosition.hasSameParentAs(e.targetPosition)&&(t.howMany+=e.howMany),t.sourcePosition.hasSameParentAs(e.sourcePosition)&&(t.howMany-=e.howMany),t.sourcePosition=t.sourcePosition._getTransformedByMoveOperation(e),t.targetPosition=t.targetPosition._getTransformedByMoveOperation(e),t.graveyardPosition.isEqual(e.targetPosition)||(t.graveyardPosition=t.graveyardPosition._getTransformedByMoveOperation(e)),[t])})),Eh(mh,gh,((t,e,n)=>{if(e.graveyardPosition&&(t.graveyardPosition=t.graveyardPosition._getTransformedByDeletion(e.graveyardPosition,1),t.deletionPosition.isEqual(e.graveyardPosition)&&(t.howMany=e.howMany)),t.targetPosition.isEqual(e.splitPosition)){const o=0!=e.howMany,i=e.graveyardPosition&&t.deletionPosition.isEqual(e.graveyardPosition);if(o||i||\"mergeTargetNotMoved\"==n.abRelation)return t.sourcePosition=t.sourcePosition._getTransformedBySplitOperation(e),[t]}if(t.sourcePosition.isEqual(e.splitPosition)){if(\"mergeSourceNotMoved\"==n.abRelation)return t.howMany=0,t.targetPosition=t.targetPosition._getTransformedBySplitOperation(e),[t];if(\"mergeSameElement\"==n.abRelation||t.sourcePosition.offset>0)return t.sourcePosition=e.moveTargetPosition.clone(),t.targetPosition=t.targetPosition._getTransformedBySplitOperation(e),[t]}return t.sourcePosition.hasSameParentAs(e.splitPosition)&&(t.howMany=e.splitPosition.offset),t.sourcePosition=t.sourcePosition._getTransformedBySplitOperation(e),t.targetPosition=t.targetPosition._getTransformedBySplitOperation(e),[t]})),Eh(uh,ph,((t,e)=>{const n=Fl._createFromPositionAndShift(t.sourcePosition,t.howMany)._getTransformedByInsertOperation(e,!1)[0];return t.sourcePosition=n.start,t.howMany=n.end.offset-n.start.offset,t.targetPosition.isEqual(e.position)||(t.targetPosition=t.targetPosition._getTransformedByInsertOperation(e)),[t]})),Eh(uh,uh,((t,e,n)=>{const o=Fl._createFromPositionAndShift(t.sourcePosition,t.howMany),i=Fl._createFromPositionAndShift(e.sourcePosition,e.howMany);let r,s=n.aIsStrong,a=!n.aIsStrong;if(\"insertBefore\"==n.abRelation||\"insertAfter\"==n.baRelation?a=!0:\"insertAfter\"!=n.abRelation&&\"insertBefore\"!=n.baRelation||(a=!1),r=t.targetPosition.isEqual(e.targetPosition)&&a?t.targetPosition._getTransformedByDeletion(e.sourcePosition,e.howMany):t.targetPosition._getTransformedByMove(e.sourcePosition,e.targetPosition,e.howMany),Oh(t,e)&&Oh(e,t))return[e.getReversed()];if(o.containsPosition(e.targetPosition)&&o.containsRange(i,!0))return o.start=o.start._getTransformedByMove(e.sourcePosition,e.targetPosition,e.howMany),o.end=o.end._getTransformedByMove(e.sourcePosition,e.targetPosition,e.howMany),zh([o],r);if(i.containsPosition(t.targetPosition)&&i.containsRange(o,!0))return o.start=o.start._getCombined(e.sourcePosition,e.getMovedRangeStart()),o.end=o.end._getCombined(e.sourcePosition,e.getMovedRangeStart()),zh([o],r);const c=J(t.sourcePosition.getParentPath(),e.sourcePosition.getParentPath());if(\"prefix\"==c||\"extension\"==c)return o.start=o.start._getTransformedByMove(e.sourcePosition,e.targetPosition,e.howMany),o.end=o.end._getTransformedByMove(e.sourcePosition,e.targetPosition,e.howMany),zh([o],r);\"remove\"!=t.type||\"remove\"==e.type||n.aWasUndone||n.forceWeakRemove?\"remove\"==t.type||\"remove\"!=e.type||n.bWasUndone||n.forceWeakRemove||(s=!1):s=!0;const l=[],d=o.getDifference(i);for(const t of d){t.start=t.start._getTransformedByDeletion(e.sourcePosition,e.howMany),t.end=t.end._getTransformedByDeletion(e.sourcePosition,e.howMany);const n=\"same\"==J(t.start.getParentPath(),e.getMovedRangeStart().getParentPath()),o=t._getTransformedByInsertion(e.getMovedRangeStart(),e.howMany,n);l.push(...o)}const h=o.getIntersection(i);return null!==h&&s&&(h.start=h.start._getCombined(e.sourcePosition,e.getMovedRangeStart()),h.end=h.end._getCombined(e.sourcePosition,e.getMovedRangeStart()),0===l.length?l.push(h):1==l.length?i.start.isBefore(o.start)||i.start.isEqual(o.start)?l.unshift(h):l.push(h):l.splice(1,0,h)),0===l.length?[new wh(t.baseVersion)]:zh(l,r)})),Eh(uh,gh,((t,e,n)=>{let o=t.targetPosition.clone();t.targetPosition.isEqual(e.insertionPosition)&&e.graveyardPosition&&\"moveTargetAfter\"!=n.abRelation||(o=t.targetPosition._getTransformedBySplitOperation(e));const i=Fl._createFromPositionAndShift(t.sourcePosition,t.howMany);if(i.end.isEqual(e.insertionPosition))return e.graveyardPosition||t.howMany++,t.targetPosition=o,[t];if(i.start.hasSameParentAs(e.splitPosition)&&i.containsPosition(e.splitPosition)){let t=new Fl(e.splitPosition,i.end);t=t._getTransformedBySplitOperation(e);return zh([new Fl(i.start,e.splitPosition),t],o)}t.targetPosition.isEqual(e.splitPosition)&&\"insertAtSource\"==n.abRelation&&(o=e.moveTargetPosition),t.targetPosition.isEqual(e.insertionPosition)&&\"insertBetween\"==n.abRelation&&(o=t.targetPosition);const r=[i._getTransformedBySplitOperation(e)];if(e.graveyardPosition){const o=i.start.isEqual(e.graveyardPosition)||i.containsPosition(e.graveyardPosition);t.howMany>1&&o&&!n.aWasUndone&&r.push(Fl._createFromPositionAndShift(e.insertionPosition,1))}return zh(r,o)})),Eh(uh,mh,((t,e,n)=>{const o=Fl._createFromPositionAndShift(t.sourcePosition,t.howMany);if(e.deletionPosition.hasSameParentAs(t.sourcePosition)&&o.containsPosition(e.sourcePosition))if(\"remove\"!=t.type||n.forceWeakRemove){if(1==t.howMany)return n.bWasUndone?(t.sourcePosition=e.graveyardPosition.clone(),t.targetPosition=t.targetPosition._getTransformedByMergeOperation(e),[t]):[new wh(0)]}else if(!n.aWasUndone){const n=[];let o=e.graveyardPosition.clone(),i=e.targetPosition._getTransformedByMergeOperation(e);t.howMany>1&&(n.push(new uh(t.sourcePosition,t.howMany-1,t.targetPosition,0)),o=o._getTransformedByMove(t.sourcePosition,t.targetPosition,t.howMany-1),i=i._getTransformedByMove(t.sourcePosition,t.targetPosition,t.howMany-1));const r=e.deletionPosition._getCombined(t.sourcePosition,t.targetPosition),s=new uh(o,1,r,0),a=s.getMovedRangeStart().path.slice();a.push(0);const c=new Pl(s.targetPosition.root,a);i=i._getTransformedByMove(o,r,1);const l=new uh(i,e.howMany,c,0);return n.push(s),n.push(l),n}const i=Fl._createFromPositionAndShift(t.sourcePosition,t.howMany)._getTransformedByMergeOperation(e);return t.sourcePosition=i.start,t.howMany=i.end.offset-i.start.offset,t.targetPosition=t.targetPosition._getTransformedByMergeOperation(e),[t]})),Eh(_h,ph,((t,e)=>(t.position=t.position._getTransformedByInsertOperation(e),[t]))),Eh(_h,mh,((t,e)=>t.position.isEqual(e.deletionPosition)?(t.position=e.graveyardPosition.clone(),t.position.stickiness=\"toNext\",[t]):(t.position=t.position._getTransformedByMergeOperation(e),[t]))),Eh(_h,uh,((t,e)=>(t.position=t.position._getTransformedByMoveOperation(e),[t]))),Eh(_h,_h,((t,e,n)=>{if(t.position.isEqual(e.position)){if(!n.aIsStrong)return[new wh(0)];t.oldName=e.newName}return[t]})),Eh(_h,gh,((t,e)=>{if(\"same\"==J(t.position.path,e.splitPosition.getParentPath())&&!e.graveyardPosition){const e=new _h(t.position.getShiftedBy(1),t.oldName,t.newName,0);return[t,e]}return t.position=t.position._getTransformedBySplitOperation(e),[t]})),Eh(Ah,Ah,((t,e,n)=>{if(t.root===e.root&&t.key===e.key){if(!n.aIsStrong||t.newValue===e.newValue)return[new wh(0)];t.oldValue=e.newValue}return[t]})),Eh(Ch,Ch,((t,e)=>t.rootName===e.rootName&&t.isAdd===e.isAdd?[new wh(0)]:[t])),Eh(gh,ph,((t,e)=>(t.splitPosition.hasSameParentAs(e.position)&&t.splitPosition.offset{if(!t.graveyardPosition&&!n.bWasUndone&&t.splitPosition.hasSameParentAs(e.sourcePosition)){const n=e.graveyardPosition.path.slice();n.push(0);const o=new Pl(e.graveyardPosition.root,n),i=gh.getInsertionPosition(new Pl(e.graveyardPosition.root,n)),r=new gh(o,0,i,null,0);return t.splitPosition=t.splitPosition._getTransformedByMergeOperation(e),t.insertionPosition=gh.getInsertionPosition(t.splitPosition),t.graveyardPosition=r.insertionPosition.clone(),t.graveyardPosition.stickiness=\"toNext\",[r,t]}return t.splitPosition.hasSameParentAs(e.deletionPosition)&&!t.splitPosition.isAfter(e.deletionPosition)&&t.howMany--,t.splitPosition.hasSameParentAs(e.targetPosition)&&(t.howMany+=e.howMany),t.splitPosition=t.splitPosition._getTransformedByMergeOperation(e),t.insertionPosition=gh.getInsertionPosition(t.splitPosition),t.graveyardPosition&&(t.graveyardPosition=t.graveyardPosition._getTransformedByMergeOperation(e)),[t]})),Eh(gh,uh,((t,e,n)=>{const o=Fl._createFromPositionAndShift(e.sourcePosition,e.howMany);if(t.graveyardPosition){const i=o.start.isEqual(t.graveyardPosition)||o.containsPosition(t.graveyardPosition);if(!n.bWasUndone&&i){const n=t.splitPosition._getTransformedByMoveOperation(e),o=t.graveyardPosition._getTransformedByMoveOperation(e),i=o.path.slice();i.push(0);const r=new Pl(o.root,i);return[new uh(n,t.howMany,r,0)]}t.graveyardPosition=t.graveyardPosition._getTransformedByMoveOperation(e)}const i=t.splitPosition.isEqual(e.targetPosition);if(i&&(\"insertAtSource\"==n.baRelation||\"splitBefore\"==n.abRelation))return t.howMany+=e.howMany,t.splitPosition=t.splitPosition._getTransformedByDeletion(e.sourcePosition,e.howMany),t.insertionPosition=gh.getInsertionPosition(t.splitPosition),[t];if(i&&n.abRelation&&n.abRelation.howMany){const{howMany:e,offset:o}=n.abRelation;return t.howMany+=e,t.splitPosition=t.splitPosition.getShiftedBy(o),[t]}if(t.splitPosition.hasSameParentAs(e.sourcePosition)&&o.containsPosition(t.splitPosition)){const n=e.howMany-(t.splitPosition.offset-e.sourcePosition.offset);return t.howMany-=n,t.splitPosition.hasSameParentAs(e.targetPosition)&&t.splitPosition.offset{if(t.splitPosition.isEqual(e.splitPosition)){if(!t.graveyardPosition&&!e.graveyardPosition)return[new wh(0)];if(t.graveyardPosition&&e.graveyardPosition&&t.graveyardPosition.isEqual(e.graveyardPosition))return[new wh(0)];if(\"splitBefore\"==n.abRelation)return t.howMany=0,t.graveyardPosition=t.graveyardPosition._getTransformedBySplitOperation(e),[t]}if(t.graveyardPosition&&e.graveyardPosition&&t.graveyardPosition.isEqual(e.graveyardPosition)){const o=\"$graveyard\"==t.splitPosition.root.rootName,i=\"$graveyard\"==e.splitPosition.root.rootName;if(i&&!o||!(o&&!i)&&n.aIsStrong){const n=[];return e.howMany&&n.push(new uh(e.moveTargetPosition,e.howMany,e.splitPosition,0)),t.howMany&&n.push(new uh(t.splitPosition,t.howMany,t.moveTargetPosition,0)),n}return[new wh(0)]}if(t.graveyardPosition&&(t.graveyardPosition=t.graveyardPosition._getTransformedBySplitOperation(e)),t.splitPosition.isEqual(e.insertionPosition)&&\"splitBefore\"==n.abRelation)return t.howMany++,[t];if(e.splitPosition.isEqual(t.insertionPosition)&&\"splitBefore\"==n.baRelation){const n=e.insertionPosition.path.slice();n.push(0);const o=new Pl(e.insertionPosition.root,n);return[t,new uh(t.insertionPosition,1,o,0)]}return t.splitPosition.hasSameParentAs(e.splitPosition)&&t.splitPosition.offset{const n=e[0];n.isDocumentOperation&&Nh.call(this,n)}),{priority:\"low\"})}function Nh(t){const e=this.getTransformedByOperation(t);if(!this.isEqual(e)){const t=this.toPosition();this.path=e.path,this.root=e.root,this.fire(\"change\",t)}}Mh.prototype.is=function(t){return\"livePosition\"===t||\"model:livePosition\"===t||\"position\"==t||\"model:position\"===t};class Vh{constructor(t={}){\"string\"==typeof t&&(t=\"transparent\"===t?{isUndoable:!1}:{},b(\"batch-constructor-deprecated-string-type\"));const{isUndoable:e=!0,isLocal:n=!0,isUndo:o=!1,isTyping:i=!1}=t;this.operations=[],this.isUndoable=e,this.isLocal=n,this.isUndo=o,this.isTyping=i}get type(){return b(\"batch-type-deprecated\"),\"default\"}get baseVersion(){for(const t of this.operations)if(null!==t.baseVersion)return t.baseVersion;return null}addOperation(t){return t.batch=this,this.operations.push(t),t}}class Lh{constructor(t){this._changesInElement=new Map,this._elementSnapshots=new Map,this._changedMarkers=new Map,this._changedRoots=new Map,this._changeCount=0,this._cachedChanges=null,this._cachedChangesWithGraveyard=null,this._refreshedItems=new Set,this._markerCollection=t}get isEmpty(){return 0==this._changesInElement.size&&0==this._changedMarkers.size&&0==this._changedRoots.size}bufferOperation(t){const e=t;switch(e.type){case\"insert\":if(this._isInInsertedElement(e.position.parent))return;this._markInsert(e.position.parent,e.position.offset,e.nodes.maxOffset);break;case\"addAttribute\":case\"removeAttribute\":case\"changeAttribute\":for(const t of e.range.getItems({shallow:!0}))this._isInInsertedElement(t.parent)||this._markAttribute(t);break;case\"remove\":case\"move\":case\"reinsert\":{if(e.sourcePosition.isEqual(e.targetPosition)||e.sourcePosition.getShiftedBy(e.howMany).isEqual(e.targetPosition))return;const t=this._isInInsertedElement(e.sourcePosition.parent),n=this._isInInsertedElement(e.targetPosition.parent);t||this._markRemove(e.sourcePosition.parent,e.sourcePosition.offset,e.howMany),n||this._markInsert(e.targetPosition.parent,e.getMovedRangeStart().offset,e.howMany);break}case\"rename\":{if(this._isInInsertedElement(e.position.parent))return;this._markRemove(e.position.parent,e.position.offset,1),this._markInsert(e.position.parent,e.position.offset,1);const t=Fl._createFromPositionAndShift(e.position,1);for(const e of this._markerCollection.getMarkersIntersectingRange(t)){const t=e.getData();this.bufferMarkerChange(e.name,t,t)}break}case\"split\":{const t=e.splitPosition.parent;this._isInInsertedElement(t)||this._markRemove(t,e.splitPosition.offset,e.howMany),this._isInInsertedElement(e.insertionPosition.parent)||this._markInsert(e.insertionPosition.parent,e.insertionPosition.offset,1),e.graveyardPosition&&this._markRemove(e.graveyardPosition.parent,e.graveyardPosition.offset,1);break}case\"merge\":{const t=e.sourcePosition.parent;this._isInInsertedElement(t.parent)||this._markRemove(t.parent,t.startOffset,1);const n=e.graveyardPosition.parent;this._markInsert(n,e.graveyardPosition.offset,1);const o=e.targetPosition.parent;this._isInInsertedElement(o)||this._markInsert(o,e.targetPosition.offset,t.maxOffset);break}case\"detachRoot\":case\"addRoot\":{const t=e.affectedSelectable;if(!t._isLoaded)return;if(t.isAttached()==e.isAdd)return;this._bufferRootStateChange(e.rootName,e.isAdd);break}case\"addRootAttribute\":case\"removeRootAttribute\":case\"changeRootAttribute\":{if(!e.root._isLoaded)return;const t=e.root.rootName;this._bufferRootAttributeChange(t,e.key,e.oldValue,e.newValue);break}}this._cachedChanges=null}bufferMarkerChange(t,e,n){e.range&&e.range.root.is(\"rootElement\")&&!e.range.root._isLoaded&&(e.range=null),n.range&&n.range.root.is(\"rootElement\")&&!n.range.root._isLoaded&&(n.range=null);let o=this._changedMarkers.get(t);o?o.newMarkerData=n:(o={newMarkerData:n,oldMarkerData:e},this._changedMarkers.set(t,o)),null==o.oldMarkerData.range&&null==n.range&&this._changedMarkers.delete(t)}getMarkersToRemove(){const t=[];for(const[e,n]of this._changedMarkers)null!=n.oldMarkerData.range&&t.push({name:e,range:n.oldMarkerData.range});return t}getMarkersToAdd(){const t=[];for(const[e,n]of this._changedMarkers)null!=n.newMarkerData.range&&t.push({name:e,range:n.newMarkerData.range});return t}getChangedMarkers(){return Array.from(this._changedMarkers).map((([t,e])=>({name:t,data:{oldRange:e.oldMarkerData.range,newRange:e.newMarkerData.range}})))}hasDataChanges(){if(this._changesInElement.size>0)return!0;if(this._changedRoots.size>0)return!0;for(const{newMarkerData:t,oldMarkerData:e}of this._changedMarkers.values()){if(t.affectsData!==e.affectsData)return!0;if(t.affectsData){const n=t.range&&!e.range,o=!t.range&&e.range,i=t.range&&e.range&&!t.range.isEqual(e.range);if(n||o||i)return!0}}return!1}getChanges(t={}){if(this._cachedChanges)return t.includeChangesInGraveyard?this._cachedChangesWithGraveyard.slice():this._cachedChanges.slice();let e=[];for(const t of this._changesInElement.keys()){const n=this._changesInElement.get(t).sort(((t,e)=>t.offset===e.offset?t.type!=e.type?\"remove\"==t.type?-1:1:0:t.offsett.position.root!=e.position.root?t.position.root.rootNamet));for(const t of e)delete t.changeCount,\"attribute\"==t.type&&(delete t.position,delete t.length);return this._changeCount=0,this._cachedChangesWithGraveyard=e,this._cachedChanges=e.filter(qh),t.includeChangesInGraveyard?this._cachedChangesWithGraveyard.slice():this._cachedChanges.slice()}getChangedRoots(){return Array.from(this._changedRoots.values()).map((t=>{const e={...t};return void 0!==e.state&&delete e.attributes,e}))}getRefreshedItems(){return new Set(this._refreshedItems)}reset(){this._changesInElement.clear(),this._elementSnapshots.clear(),this._changedMarkers.clear(),this._changedRoots.clear(),this._refreshedItems=new Set,this._cachedChanges=null}_bufferRootStateChange(t,e){if(!this._changedRoots.has(t))return void this._changedRoots.set(t,{name:t,state:e?\"attached\":\"detached\"});const n=this._changedRoots.get(t);void 0!==n.state?(delete n.state,void 0===n.attributes&&this._changedRoots.delete(t)):n.state=e?\"attached\":\"detached\"}_bufferRootAttributeChange(t,e,n,o){const i=this._changedRoots.get(t)||{name:t},r=i.attributes||{};if(r[e]){const t=r[e];o===t.oldValue?delete r[e]:t.newValue=o}else r[e]={oldValue:n,newValue:o};0===Object.entries(r).length?(delete i.attributes,void 0===i.state&&this._changedRoots.delete(t)):(i.attributes=r,this._changedRoots.set(t,i))}_refreshItem(t){if(this._isInInsertedElement(t.parent))return;this._markRemove(t.parent,t.startOffset,t.offsetSize),this._markInsert(t.parent,t.startOffset,t.offsetSize),this._refreshedItems.add(t);const e=Fl._createOn(t);for(const t of this._markerCollection.getMarkersIntersectingRange(e)){const e=t.getData();this.bufferMarkerChange(t.name,e,e)}this._cachedChanges=null}_bufferRootLoad(t){if(t.isAttached()){this._bufferRootStateChange(t.rootName,!0),this._markInsert(t,0,t.maxOffset);for(const e of t.getAttributeKeys())this._bufferRootAttributeChange(t.rootName,e,null,t.getAttribute(e));for(const e of this._markerCollection)if(e.getRange().root==t){const t=e.getData();this.bufferMarkerChange(e.name,{...t,range:null},t)}}}_markInsert(t,e,n){if(t.root.is(\"rootElement\")&&!t.root._isLoaded)return;const o={type:\"insert\",offset:e,howMany:n,count:this._changeCount++};this._markChange(t,o)}_markRemove(t,e,n){if(t.root.is(\"rootElement\")&&!t.root._isLoaded)return;const o={type:\"remove\",offset:e,howMany:n,count:this._changeCount++};this._markChange(t,o),this._removeAllNestedChanges(t,e,n)}_markAttribute(t){if(t.root.is(\"rootElement\")&&!t.root._isLoaded)return;const e={type:\"attribute\",offset:t.startOffset,howMany:t.offsetSize,count:this._changeCount++};this._markChange(t.parent,e)}_markChange(t,e){this._makeSnapshot(t);const n=this._getChangesForElement(t);this._handleChange(e,n),n.push(e);for(let t=0;tn.offset){if(o>i){const t={type:\"attribute\",offset:i,howMany:o-i,count:this._changeCount++};this._handleChange(t,e),e.push(t)}t.nodesToHandle=n.offset-t.offset,t.howMany=t.nodesToHandle}else t.offset>=n.offset&&t.offseti?(t.nodesToHandle=o-i,t.offset=i):t.nodesToHandle=0);if(\"remove\"==n.type&&t.offsetn.offset){const i={type:\"attribute\",offset:n.offset,howMany:o-n.offset,count:this._changeCount++};this._handleChange(i,e),e.push(i),t.nodesToHandle=n.offset-t.offset,t.howMany=t.nodesToHandle}\"attribute\"==n.type&&(t.offset>=n.offset&&o<=i?(t.nodesToHandle=0,t.howMany=0,t.offset=0):t.offset<=n.offset&&o>=i&&(n.howMany=0))}}t.howMany=t.nodesToHandle,delete t.nodesToHandle}_getInsertDiff(t,e,n){return{type:\"insert\",position:Pl._createAt(t,e),name:n.name,attributes:new Map(n.attributes),length:1,changeCount:this._changeCount++}}_getRemoveDiff(t,e,n){return{type:\"remove\",position:Pl._createAt(t,e),name:n.name,attributes:new Map(n.attributes),length:1,changeCount:this._changeCount++}}_getAttributesDiff(t,e,n){const o=[];n=new Map(n);for(const[i,r]of e){const e=n.has(i)?n.get(i):null;e!==r&&o.push({type:\"attribute\",position:t.start,range:t.clone(),length:1,attributeKey:i,attributeOldValue:r,attributeNewValue:e,changeCount:this._changeCount++}),n.delete(i)}for(const[e,i]of n)o.push({type:\"attribute\",position:t.start,range:t.clone(),length:1,attributeKey:e,attributeOldValue:null,attributeNewValue:i,changeCount:this._changeCount++});return o}_isInInsertedElement(t){const e=t.parent;if(!e)return!1;const n=this._changesInElement.get(e),o=t.startOffset;if(n)for(const t of n)if(\"insert\"==t.type&&o>=t.offset&&oo){for(let e=0;ethis._version+1&&this._gaps.set(this._version,t),this._version=t}get lastOperation(){return this._operations[this._operations.length-1]}addOperation(t){if(t.baseVersion!==this.version)throw new k(\"model-document-history-addoperation-incorrect-version\",this,{operation:t,historyVersion:this.version});this._operations.push(t),this._version++,this._baseVersionToOperationIndex.set(t.baseVersion,this._operations.length-1)}getOperations(t,e=this.version){if(!this._operations.length)return[];const n=this._operations[0];void 0===t&&(t=n.baseVersion);let o=e-1;for(const[e,n]of this._gaps)t>e&&te&&othis.lastOperation.baseVersion)return[];let i=this._baseVersionToOperationIndex.get(t);void 0===i&&(i=0);let r=this._baseVersionToOperationIndex.get(o);return void 0===r&&(r=this._operations.length-1),this._operations.slice(i,r+1)}getOperation(t){const e=this._baseVersionToOperationIndex.get(t);if(void 0!==e)return this._operations[e]}setOperationAsUndone(t,e){this._undoPairs.set(e,t),this._undoneOperations.add(t)}isUndoingOperation(t){return this._undoPairs.has(t)}isUndoneOperation(t){return this._undoneOperations.has(t)}getUndoneOperation(t){return this._undoPairs.get(t)}reset(){this._version=0,this._undoPairs=new Map,this._operations=[],this._undoneOperations=new Set,this._gaps=new Map,this._baseVersionToOperationIndex=new Map}}class Wh extends Sl{constructor(t,e,n=\"main\"){super(e),this._isAttached=!0,this._isLoaded=!0,this._document=t,this.rootName=n}get document(){return this._document}isAttached(){return this._isAttached}toJSON(){return this.rootName}}Wh.prototype.is=function(t,e){return e?e===this.name&&(\"rootElement\"===t||\"model:rootElement\"===t||\"element\"===t||\"model:element\"===t):\"rootElement\"===t||\"model:rootElement\"===t||\"element\"===t||\"model:element\"===t||\"node\"===t||\"model:node\"===t};const Gh=\"$graveyard\";class $h extends(D()){constructor(t){super(),this.model=t,this.history=new Kh,this.selection=new ed(this),this.roots=new Ai({idProperty:\"rootName\"}),this.differ=new Lh(t.markers),this.isReadOnly=!1,this._postFixers=new Set,this._hasSelectionChangedFromTheLastChangeBlock=!1,this.createRoot(\"$root\",Gh),this.listenTo(t,\"applyOperation\",((t,e)=>{const n=e[0];n.isDocumentOperation&&this.differ.bufferOperation(n)}),{priority:\"high\"}),this.listenTo(t,\"applyOperation\",((t,e)=>{const n=e[0];n.isDocumentOperation&&this.history.addOperation(n)}),{priority:\"low\"}),this.listenTo(this.selection,\"change\",(()=>{this._hasSelectionChangedFromTheLastChangeBlock=!0})),this.listenTo(t.markers,\"update\",((t,e,n,o,i)=>{const r={...e.getData(),range:o};this.differ.bufferMarkerChange(e.name,i,r),null===n&&e.on(\"change\",((t,n)=>{const o=e.getData();this.differ.bufferMarkerChange(e.name,{...o,range:n},o)}))})),this.registerPostFixer((t=>{let e=!1;for(const n of this.roots)n.isAttached()||n.isEmpty||(t.remove(t.createRangeIn(n)),e=!0);for(const n of this.model.markers)n.getRange().root.isAttached()||(t.removeMarker(n),e=!0);return e}))}get version(){return this.history.version}set version(t){this.history.version=t}get graveyard(){return this.getRoot(Gh)}createRoot(t=\"$root\",e=\"main\"){if(this.roots.get(e))throw new k(\"model-document-createroot-name-exists\",this,{name:e});const n=new Wh(this,t,e);return this.roots.add(n),n}destroy(){this.selection.destroy(),this.stopListening()}getRoot(t=\"main\"){return this.roots.get(t)}getRootNames(t=!1){return this.getRoots(t).map((t=>t.rootName))}getRoots(t=!1){return this.roots.filter((e=>e!=this.graveyard&&(t||e.isAttached())&&e._isLoaded))}registerPostFixer(t){this._postFixers.add(t)}toJSON(){const t=rs(this);return t.selection=\"[engine.model.DocumentSelection]\",t.model=\"[engine.model.Model]\",t}_handleChangeBlock(t){this._hasDocumentChangedFromTheLastChangeBlock()&&(this._callPostFixers(t),this.selection.refresh(),this.differ.hasDataChanges()?this.fire(\"change:data\",t.batch):this.fire(\"change\",t.batch),this.selection.refresh(),this.differ.reset()),this._hasSelectionChangedFromTheLastChangeBlock=!1}_hasDocumentChangedFromTheLastChangeBlock(){return!this.differ.isEmpty||this._hasSelectionChangedFromTheLastChangeBlock}_getDefaultRoot(){const t=this.getRoots();return t.length?t[0]:this.graveyard}_getDefaultRange(){const t=this._getDefaultRoot(),e=this.model,n=e.schema,o=e.createPositionFromPath(t,[0]);return n.getNearestSelectionRange(o)||e.createRange(o)}_validateSelectionRange(t){return Uh(t.start)&&Uh(t.end)}_callPostFixers(t){let e=!1;do{for(const n of this._postFixers)if(this.selection.refresh(),e=n(t),e)break}while(e)}}function Uh(t){const e=t.textNode;if(e){const n=e.data,o=t.offset-e.startOffset;return!Di(n,o)&&!Si(n,o)}return!0}class Zh extends(D()){constructor(){super(...arguments),this._markers=new Map}[Symbol.iterator](){return this._markers.values()}has(t){const e=t instanceof Jh?t.name:t;return this._markers.has(e)}get(t){return this._markers.get(t)||null}_set(t,e,n=!1,o=!1){const i=t instanceof Jh?t.name:t;if(i.includes(\",\"))throw new k(\"markercollection-incorrect-marker-name\",this);const r=this._markers.get(i);if(r){const t=r.getData(),s=r.getRange();let a=!1;return s.isEqual(e)||(r._attachLiveRange(Yl.fromRange(e)),a=!0),n!=r.managedUsingOperations&&(r._managedUsingOperations=n,a=!0),\"boolean\"==typeof o&&o!=r.affectsData&&(r._affectsData=o,a=!0),a&&this.fire(`update:${i}`,r,s,e,t),r}const s=Yl.fromRange(e),a=new Jh(i,s,n,o);return this._markers.set(i,a),this.fire(`update:${i}`,a,null,e,{...a.getData(),range:null}),a}_remove(t){const e=t instanceof Jh?t.name:t,n=this._markers.get(e);return!!n&&(this._markers.delete(e),this.fire(`update:${e}`,n,n.getRange(),null,n.getData()),this._destroyMarker(n),!0)}_refresh(t){const e=t instanceof Jh?t.name:t,n=this._markers.get(e);if(!n)throw new k(\"markercollection-refresh-marker-not-exists\",this);const o=n.getRange();this.fire(`update:${e}`,n,o,o,n.getData())}*getMarkersAtPosition(t){for(const e of this)e.getRange().containsPosition(t)&&(yield e)}*getMarkersIntersectingRange(t){for(const e of this)null!==e.getRange().getIntersection(t)&&(yield e)}destroy(){for(const t of this._markers.values())this._destroyMarker(t);this._markers=null,this.stopListening()}*getMarkersGroup(t){for(const e of this._markers.values())e.name.startsWith(t+\":\")&&(yield e)}_destroyMarker(t){t.stopListening(),t._detachLiveRange()}}class Jh extends(D(vl)){constructor(t,e,n,o){super(),this.name=t,this._liveRange=this._attachLiveRange(e),this._managedUsingOperations=n,this._affectsData=o}get managedUsingOperations(){if(!this._liveRange)throw new k(\"marker-destroyed\",this);return this._managedUsingOperations}get affectsData(){if(!this._liveRange)throw new k(\"marker-destroyed\",this);return this._affectsData}getData(){return{range:this.getRange(),affectsData:this.affectsData,managedUsingOperations:this.managedUsingOperations}}getStart(){if(!this._liveRange)throw new k(\"marker-destroyed\",this);return this._liveRange.start.clone()}getEnd(){if(!this._liveRange)throw new k(\"marker-destroyed\",this);return this._liveRange.end.clone()}getRange(){if(!this._liveRange)throw new k(\"marker-destroyed\",this);return this._liveRange.toRange()}_attachLiveRange(t){return this._liveRange&&this._detachLiveRange(),t.delegate(\"change:range\").to(this),t.delegate(\"change:content\").to(this),this._liveRange=t,t}_detachLiveRange(){this._liveRange.stopDelegating(\"change:range\",this),this._liveRange.stopDelegating(\"change:content\",this),this._liveRange.detach(),this._liveRange=null}}Jh.prototype.is=function(t){return\"marker\"===t||\"model:marker\"===t};class Yh extends ih{constructor(t,e){super(null),this.sourcePosition=t.clone(),this.howMany=e}get type(){return\"detach\"}get affectedSelectable(){return null}toJSON(){const t=super.toJSON();return t.sourcePosition=this.sourcePosition.toJSON(),t}_validate(){if(this.sourcePosition.root.document)throw new k(\"detach-operation-on-document-node\",this)}_execute(){sh(Fl._createFromPositionAndShift(this.sourcePosition,this.howMany))}static get className(){return\"DetachOperation\"}}class Qh extends vl{constructor(t){super(),this.markers=new Map,this._children=new xl,t&&this._insertChild(0,t)}[Symbol.iterator](){return this.getChildren()}get childCount(){return this._children.length}get maxOffset(){return this._children.maxOffset}get isEmpty(){return 0===this.childCount}get nextSibling(){return null}get previousSibling(){return null}get root(){return this}get parent(){return null}get document(){return null}isAttached(){return!1}getAncestors(){return[]}getChild(t){return this._children.getNode(t)}getChildren(){return this._children[Symbol.iterator]()}getChildIndex(t){return this._children.getNodeIndex(t)}getChildStartOffset(t){return this._children.getNodeStartOffset(t)}getPath(){return[]}getNodeByPath(t){let e=this;for(const n of t)e=e.getChild(e.offsetToIndex(n));return e}offsetToIndex(t){return this._children.offsetToIndex(t)}toJSON(){const t=[];for(const e of this._children)t.push(e.toJSON());return t}static fromJSON(t){const e=[];for(const n of t)n.name?e.push(Sl.fromJSON(n)):e.push(El.fromJSON(n));return new Qh(e)}_appendChild(t){this._insertChild(this.childCount,t)}_insertChild(t,e){const n=function(t){if(\"string\"==typeof t)return[new El(t)];Y(t)||(t=[t]);return Array.from(t).map((t=>\"string\"==typeof t?new El(t):t instanceof Dl?new El(t.data,t.getAttributes()):t))}(e);for(const t of n)null!==t.parent&&t._remove(),t.parent=this;this._children._insertNodes(t,n)}_removeChildren(t,e=1){const n=this._children._removeNodes(t,e);for(const t of n)t.parent=null;return n}}Qh.prototype.is=function(t){return\"documentFragment\"===t||\"model:documentFragment\"===t};class Xh{constructor(t,e){this.model=t,this.batch=e}createText(t,e){return new El(t,e)}createElement(t,e){return new Sl(t,e)}createDocumentFragment(){return new Qh}cloneElement(t,e=!0){return t._clone(e)}insert(t,e,n=0){if(this._assertWriterUsedCorrectly(),t instanceof El&&\"\"==t.data)return;const o=Pl._createAt(e,n);if(t.parent){if(iu(t.root,o.root))return void this.move(Fl._createOn(t),o);if(t.root.document)throw new k(\"model-writer-insert-forbidden-move\",this);this.remove(t)}const i=o.root.document?o.root.document.version:null,r=new ph(o,t,i);if(t instanceof El&&(r.shouldReceiveAttributes=!0),this.batch.addOperation(r),this.model.applyOperation(r),t instanceof Qh)for(const[e,n]of t.markers){const t=Pl._createAt(n.root,0),i={range:new Fl(n.start._getCombined(t,o),n.end._getCombined(t,o)),usingOperation:!0,affectsData:!0};this.model.markers.has(e)?this.updateMarker(e,i):this.addMarker(e,i)}}insertText(t,e,n,o){e instanceof Qh||e instanceof Sl||e instanceof Pl?this.insert(this.createText(t),e,n):this.insert(this.createText(t,e),n,o)}insertElement(t,e,n,o){e instanceof Qh||e instanceof Sl||e instanceof Pl?this.insert(this.createElement(t),e,n):this.insert(this.createElement(t,e),n,o)}append(t,e){this.insert(t,e,\"end\")}appendText(t,e,n){e instanceof Qh||e instanceof Sl?this.insert(this.createText(t),e,\"end\"):this.insert(this.createText(t,e),n,\"end\")}appendElement(t,e,n){e instanceof Qh||e instanceof Sl?this.insert(this.createElement(t),e,\"end\"):this.insert(this.createElement(t,e),n,\"end\")}setAttribute(t,e,n){if(this._assertWriterUsedCorrectly(),n instanceof Fl){const o=n.getMinimalFlatRanges();for(const n of o)tu(this,t,e,n)}else eu(this,t,e,n)}setAttributes(t,e){for(const[n,o]of xi(t))this.setAttribute(n,o,e)}removeAttribute(t,e){if(this._assertWriterUsedCorrectly(),e instanceof Fl){const n=e.getMinimalFlatRanges();for(const e of n)tu(this,t,null,e)}else eu(this,t,null,e)}clearAttributes(t){this._assertWriterUsedCorrectly();const e=t=>{for(const e of t.getAttributeKeys())this.removeAttribute(e,t)};if(t instanceof Fl)for(const n of t.getItems())e(n);else e(t)}move(t,e,n){if(this._assertWriterUsedCorrectly(),!(t instanceof Fl))throw new k(\"writer-move-invalid-range\",this);if(!t.isFlat)throw new k(\"writer-move-range-not-flat\",this);const o=Pl._createAt(e,n);if(o.isEqual(t.start))return;if(this._addOperationForAffectedMarkers(\"move\",t),!iu(t.root,o.root))throw new k(\"writer-move-different-document\",this);const i=t.root.document?t.root.document.version:null,r=new uh(t.start,t.end.offset-t.start.offset,o,i);this.batch.addOperation(r),this.model.applyOperation(r)}remove(t){this._assertWriterUsedCorrectly();const e=(t instanceof Fl?t:Fl._createOn(t)).getMinimalFlatRanges().reverse();for(const t of e)this._addOperationForAffectedMarkers(\"move\",t),ou(t.start,t.end.offset-t.start.offset,this.batch,this.model)}merge(t){this._assertWriterUsedCorrectly();const e=t.nodeBefore,n=t.nodeAfter;if(this._addOperationForAffectedMarkers(\"merge\",t),!(e instanceof Sl))throw new k(\"writer-merge-no-element-before\",this);if(!(n instanceof Sl))throw new k(\"writer-merge-no-element-after\",this);t.root.document?this._merge(t):this._mergeDetached(t)}createPositionFromPath(t,e,n){return this.model.createPositionFromPath(t,e,n)}createPositionAt(t,e){return this.model.createPositionAt(t,e)}createPositionAfter(t){return this.model.createPositionAfter(t)}createPositionBefore(t){return this.model.createPositionBefore(t)}createRange(t,e){return this.model.createRange(t,e)}createRangeIn(t){return this.model.createRangeIn(t)}createRangeOn(t){return this.model.createRangeOn(t)}createSelection(...t){return this.model.createSelection(...t)}_mergeDetached(t){const e=t.nodeBefore,n=t.nodeAfter;this.move(Fl._createIn(n),Pl._createAt(e,\"end\")),this.remove(n)}_merge(t){const e=Pl._createAt(t.nodeBefore,\"end\"),n=Pl._createAt(t.nodeAfter,0),o=t.root.document.graveyard,i=new Pl(o,[0]),r=t.root.document.version,s=new mh(n,t.nodeAfter.maxOffset,e,i,r);this.batch.addOperation(s),this.model.applyOperation(s)}rename(t,e){if(this._assertWriterUsedCorrectly(),!(t instanceof Sl))throw new k(\"writer-rename-not-element-instance\",this);const n=t.root.document?t.root.document.version:null,o=new _h(Pl._createBefore(t),t.name,e,n);this.batch.addOperation(o),this.model.applyOperation(o)}split(t,e){this._assertWriterUsedCorrectly();let n,o,i=t.parent;if(!i.parent)throw new k(\"writer-split-element-no-parent\",this);if(e||(e=i.parent),!t.parent.getAncestors({includeSelf:!0}).includes(e))throw new k(\"writer-split-invalid-limit-element\",this);do{const e=i.root.document?i.root.document.version:null,r=i.maxOffset-t.offset,s=gh.getInsertionPosition(t),a=new gh(t,r,s,null,e);this.batch.addOperation(a),this.model.applyOperation(a),n||o||(n=i,o=t.parent.nextSibling),i=(t=this.createPositionAfter(t.parent)).parent}while(i!==e);return{position:t,range:new Fl(Pl._createAt(n,\"end\"),Pl._createAt(o,0))}}wrap(t,e){if(this._assertWriterUsedCorrectly(),!t.isFlat)throw new k(\"writer-wrap-range-not-flat\",this);const n=e instanceof Sl?e:new Sl(e);if(n.childCount>0)throw new k(\"writer-wrap-element-not-empty\",this);if(null!==n.parent)throw new k(\"writer-wrap-element-attached\",this);this.insert(n,t.start);const o=new Fl(t.start.getShiftedBy(1),t.end.getShiftedBy(1));this.move(o,Pl._createAt(n,0))}unwrap(t){if(this._assertWriterUsedCorrectly(),null===t.parent)throw new k(\"writer-unwrap-element-no-parent\",this);this.move(Fl._createIn(t),this.createPositionAfter(t)),this.remove(t)}addMarker(t,e){if(this._assertWriterUsedCorrectly(),!e||\"boolean\"!=typeof e.usingOperation)throw new k(\"writer-addmarker-no-usingoperation\",this);const n=e.usingOperation,o=e.range,i=void 0!==e.affectsData&&e.affectsData;if(this.model.markers.has(t))throw new k(\"writer-addmarker-marker-exists\",this);if(!o)throw new k(\"writer-addmarker-no-range\",this);return n?(nu(this,t,null,o,i),this.model.markers.get(t)):this.model.markers._set(t,o,n,i)}updateMarker(t,e){this._assertWriterUsedCorrectly();const n=\"string\"==typeof t?t:t.name,o=this.model.markers.get(n);if(!o)throw new k(\"writer-updatemarker-marker-not-exists\",this);if(!e)return b(\"writer-updatemarker-reconvert-using-editingcontroller\",{markerName:n}),void this.model.markers._refresh(o);const i=\"boolean\"==typeof e.usingOperation,r=\"boolean\"==typeof e.affectsData,s=r?e.affectsData:o.affectsData;if(!i&&!e.range&&!r)throw new k(\"writer-updatemarker-wrong-options\",this);const a=o.getRange(),c=e.range?e.range:a;i&&e.usingOperation!==o.managedUsingOperations?e.usingOperation?nu(this,n,null,c,s):(nu(this,n,a,null,s),this.model.markers._set(n,c,void 0,s)):o.managedUsingOperations?nu(this,n,a,c,s):this.model.markers._set(n,c,void 0,s)}removeMarker(t){this._assertWriterUsedCorrectly();const e=\"string\"==typeof t?t:t.name;if(!this.model.markers.has(e))throw new k(\"writer-removemarker-no-marker\",this);const n=this.model.markers.get(e);if(!n.managedUsingOperations)return void this.model.markers._remove(e);nu(this,e,n.getRange(),null,n.affectsData)}addRoot(t,e=\"$root\"){this._assertWriterUsedCorrectly();const n=this.model.document.getRoot(t);if(n&&n.isAttached())throw new k(\"writer-addroot-root-exists\",this);const o=this.model.document,i=new Ch(t,e,!0,o,o.version);return this.batch.addOperation(i),this.model.applyOperation(i),this.model.document.getRoot(t)}detachRoot(t){this._assertWriterUsedCorrectly();const e=\"string\"==typeof t?this.model.document.getRoot(t):t;if(!e||!e.isAttached())throw new k(\"writer-detachroot-no-root\",this);for(const t of this.model.markers)t.getRange().root===e&&this.removeMarker(t);for(const t of e.getAttributeKeys())this.removeAttribute(t,e);this.remove(this.createRangeIn(e));const n=this.model.document,o=new Ch(e.rootName,e.name,!1,n,n.version);this.batch.addOperation(o),this.model.applyOperation(o)}setSelection(...t){this._assertWriterUsedCorrectly(),this.model.document.selection._setTo(...t)}setSelectionFocus(t,e){this._assertWriterUsedCorrectly(),this.model.document.selection._setFocus(t,e)}setSelectionAttribute(t,e){if(this._assertWriterUsedCorrectly(),\"string\"==typeof t)this._setSelectionAttribute(t,e);else for(const[e,n]of xi(t))this._setSelectionAttribute(e,n)}removeSelectionAttribute(t){if(this._assertWriterUsedCorrectly(),\"string\"==typeof t)this._removeSelectionAttribute(t);else for(const e of t)this._removeSelectionAttribute(e)}overrideSelectionGravity(){return this.model.document.selection._overrideGravity()}restoreSelectionGravity(t){this.model.document.selection._restoreGravity(t)}_setSelectionAttribute(t,e){const n=this.model.document.selection;if(n.isCollapsed&&n.anchor.parent.isEmpty){const o=ed._getStoreAttributeKey(t);this.setAttribute(o,e,n.anchor.parent)}n._setAttribute(t,e)}_removeSelectionAttribute(t){const e=this.model.document.selection;if(e.isCollapsed&&e.anchor.parent.isEmpty){const n=ed._getStoreAttributeKey(t);this.removeAttribute(n,e.anchor.parent)}e._removeAttribute(t)}_assertWriterUsedCorrectly(){if(this.model._currentWriter!==this)throw new k(\"writer-incorrect-use\",this)}_addOperationForAffectedMarkers(t,e){for(const n of this.model.markers){if(!n.managedUsingOperations)continue;const o=n.getRange();let i=!1;if(\"move\"===t){const t=e;i=t.containsPosition(o.start)||t.start.isEqual(o.start)||t.containsPosition(o.end)||t.end.isEqual(o.end)}else{const t=e,n=t.nodeBefore,r=t.nodeAfter,s=o.start.parent==n&&o.start.isAtEnd,a=o.end.parent==r&&0==o.end.offset,c=o.end.nodeAfter==r,l=o.start.nodeAfter==r;i=s||a||c||l}i&&this.updateMarker(n.name,{range:o})}}}function tu(t,e,n,o){const i=t.model,r=i.document;let s,a,c,l=o.start;for(const t of o.getWalker({shallow:!0}))c=t.item.getAttribute(e),s&&a!=c&&(a!=n&&d(),l=s),s=t.nextPosition,a=c;function d(){const o=new Fl(l,s),c=o.root.document?r.version:null,d=new bh(o,e,a,n,c);t.batch.addOperation(d),i.applyOperation(d)}s instanceof Pl&&s!=l&&a!=n&&d()}function eu(t,e,n,o){const i=t.model,r=i.document,s=o.getAttribute(e);let a,c;if(s!=n){if(o.root===o){const t=o.document?r.version:null;c=new Ah(o,e,s,n,t)}else{a=new Fl(Pl._createBefore(o),t.createPositionAfter(o));const i=a.root.document?r.version:null;c=new bh(a,e,s,n,i)}t.batch.addOperation(c),i.applyOperation(c)}}function nu(t,e,n,o,i){const r=t.model,s=r.document,a=new fh(e,n,o,r.markers,!!i,s.version);t.batch.addOperation(a),r.applyOperation(a)}function ou(t,e,n,o){let i;if(t.root.document){const n=o.document,r=new Pl(n.graveyard,[0]);i=new uh(t,e,r,n.version)}else i=new Yh(t,e);n.addOperation(i),o.applyOperation(i)}function iu(t,e){return t===e||t instanceof Wh&&e instanceof Wh}function ru(t,e,n={}){if(e.isCollapsed)return;const o=e.getFirstRange();if(\"$graveyard\"==o.root.rootName)return;const i=t.schema;t.change((t=>{if(!n.doNotResetEntireContent&&function(t,e){const n=t.getLimitElement(e);if(!e.containsEntireContent(n))return!1;const o=e.getFirstRange();if(o.start.parent==o.end.parent)return!1;return t.checkChild(n,\"paragraph\")}(i,e))return void function(t,e){const n=t.model.schema.getLimitElement(e);t.remove(t.createRangeIn(n)),lu(t,t.createPositionAt(n,0),e)}(t,e);const r={};if(!n.doNotAutoparagraph){const t=e.getSelectedElement();t&&Object.assign(r,i.getAttributesWithProperty(t,\"copyOnReplace\",!0))}const[s,a]=function(t){const e=t.root.document.model,n=t.start;let o=t.end;if(e.hasContent(t,{ignoreMarkers:!0})){const n=function(t){const e=t.parent,n=e.root.document.model.schema,o=e.getAncestors({parentFirst:!0,includeSelf:!0});for(const t of o){if(n.isLimit(t))return null;if(n.isBlock(t))return t}}(o);if(n&&o.isTouching(e.createPositionAt(n,0))){const n=e.createSelection(t);e.modifySelection(n,{direction:\"backward\"});const i=n.getLastPosition(),r=e.createRange(i,o);e.hasContent(r,{ignoreMarkers:!0})||(o=i)}}return[Mh.fromPosition(n,\"toPrevious\"),Mh.fromPosition(o,\"toNext\")]}(o);s.isTouching(a)||t.remove(t.createRange(s,a)),n.leaveUnmerged||(!function(t,e,n){const o=t.model;if(!cu(t.model.schema,e,n))return;const[i,r]=function(t,e){const n=t.getAncestors(),o=e.getAncestors();let i=0;for(;n[i]&&n[i]==o[i];)i++;return[n[i],o[i]]}(e,n);if(!i||!r)return;!o.hasContent(i,{ignoreMarkers:!0})&&o.hasContent(r,{ignoreMarkers:!0})?au(t,e,n,i.parent):su(t,e,n,i.parent)}(t,s,a),i.removeDisallowedAttributes(s.parent.getChildren(),t)),du(t,e,s),!n.doNotAutoparagraph&&function(t,e){const n=t.checkChild(e,\"$text\"),o=t.checkChild(e,\"paragraph\");return!n&&o}(i,s)&&lu(t,s,e,r),s.detach(),a.detach()}))}function su(t,e,n,o){const i=e.parent,r=n.parent;if(i!=o&&r!=o){for(e=t.createPositionAfter(i),(n=t.createPositionBefore(r)).isEqual(e)||t.insert(r,e),t.merge(e);n.parent.isEmpty;){const e=n.parent;n=t.createPositionBefore(e),t.remove(e)}cu(t.model.schema,e,n)&&su(t,e,n,o)}}function au(t,e,n,o){const i=e.parent,r=n.parent;if(i!=o&&r!=o){for(e=t.createPositionAfter(i),(n=t.createPositionBefore(r)).isEqual(e)||t.insert(i,n);e.parent.isEmpty;){const n=e.parent;e=t.createPositionBefore(n),t.remove(n)}n=t.createPositionBefore(r),function(t,e){const n=e.nodeBefore,o=e.nodeAfter;n.name!=o.name&&t.rename(n,o.name);t.clearAttributes(n),t.setAttributes(Object.fromEntries(o.getAttributes()),n),t.merge(e)}(t,n),cu(t.model.schema,e,n)&&au(t,e,n,o)}}function cu(t,e,n){const o=e.parent,i=n.parent;return o!=i&&(!t.isLimit(o)&&!t.isLimit(i)&&function(t,e,n){const o=new Fl(t,e);for(const t of o.getWalker())if(n.isLimit(t.item))return!1;return!0}(e,n,t))}function lu(t,e,n,o={}){const i=t.createElement(\"paragraph\");t.model.schema.setAllowedAttributes(i,o,t),t.insert(i,e),du(t,n,t.createPositionAt(i,0))}function du(t,e,n){e instanceof ed?t.setSelection(n):e.setTo(n)}function hu(t,e){const n=[];Array.from(t.getItems({direction:\"backward\"})).map((t=>e.createRangeOn(t))).filter((e=>(e.start.isAfter(t.start)||e.start.isEqual(t.start))&&(e.end.isBefore(t.end)||e.end.isEqual(t.end)))).forEach((t=>{n.push(t.start.parent),e.remove(t)})),n.forEach((t=>{let n=t;for(;n.parent&&n.isEmpty;){const t=e.createRangeOn(n);n=n.parent,e.remove(t)}}))}class uu{constructor(t,e,n){this._firstNode=null,this._lastNode=null,this._lastAutoParagraph=null,this._filterAttributesOf=[],this._affectedStart=null,this._affectedEnd=null,this._nodeToSelect=null,this.model=t,this.writer=e,this.position=n,this.canMergeWith=new Set([this.position.parent]),this.schema=t.schema,this._documentFragment=e.createDocumentFragment(),this._documentFragmentPosition=e.createPositionAt(this._documentFragment,0)}handleNodes(t){for(const e of Array.from(t))this._handleNode(e);this._insertPartialFragment(),this._lastAutoParagraph&&this._updateLastNodeFromAutoParagraph(this._lastAutoParagraph),this._mergeOnRight(),this.schema.removeDisallowedAttributes(this._filterAttributesOf,this.writer),this._filterAttributesOf=[]}_updateLastNodeFromAutoParagraph(t){const e=this.writer.createPositionAfter(this._lastNode),n=this.writer.createPositionAfter(t);if(n.isAfter(e)){if(this._lastNode=t,this.position.parent!=t||!this.position.isAtEnd)throw new k(\"insertcontent-invalid-insertion-position\",this);this.position=n,this._setAffectedBoundaries(this.position)}}getSelectionRange(){return this._nodeToSelect?Fl._createOn(this._nodeToSelect):this.model.schema.getNearestSelectionRange(this.position)}getAffectedRange(){return this._affectedStart?new Fl(this._affectedStart,this._affectedEnd):null}destroy(){this._affectedStart&&this._affectedStart.detach(),this._affectedEnd&&this._affectedEnd.detach()}_handleNode(t){if(this.schema.isObject(t))return void this._handleObject(t);let e=this._checkAndAutoParagraphToAllowedPosition(t);e||(e=this._checkAndSplitToAllowedPosition(t),e)?(this._appendToFragment(t),this._firstNode||(this._firstNode=t),this._lastNode=t):this._handleDisallowedNode(t)}_insertPartialFragment(){if(this._documentFragment.isEmpty)return;const t=Mh.fromPosition(this.position,\"toNext\");this._setAffectedBoundaries(this.position),this._documentFragment.getChild(0)==this._firstNode&&(this.writer.insert(this._firstNode,this.position),this._mergeOnLeft(),this.position=t.toPosition()),this._documentFragment.isEmpty||this.writer.insert(this._documentFragment,this.position),this._documentFragmentPosition=this.writer.createPositionAt(this._documentFragment,0),this.position=t.toPosition(),t.detach()}_handleObject(t){this._checkAndSplitToAllowedPosition(t)?this._appendToFragment(t):this._tryAutoparagraphing(t)}_handleDisallowedNode(t){t.is(\"element\")?this.handleNodes(t.getChildren()):this._tryAutoparagraphing(t)}_appendToFragment(t){if(!this.schema.checkChild(this.position,t))throw new k(\"insertcontent-wrong-position\",this,{node:t,position:this.position});this.writer.insert(t,this._documentFragmentPosition),this._documentFragmentPosition=this._documentFragmentPosition.getShiftedBy(t.offsetSize),this.schema.isObject(t)&&!this.schema.checkChild(this.position,\"$text\")?this._nodeToSelect=t:this._nodeToSelect=null,this._filterAttributesOf.push(t)}_setAffectedBoundaries(t){this._affectedStart||(this._affectedStart=Mh.fromPosition(t,\"toPrevious\")),this._affectedEnd&&!this._affectedEnd.isBefore(t)||(this._affectedEnd&&this._affectedEnd.detach(),this._affectedEnd=Mh.fromPosition(t,\"toNext\"))}_mergeOnLeft(){const t=this._firstNode;if(!(t instanceof Sl))return;if(!this._canMergeLeft(t))return;const e=Mh._createBefore(t);e.stickiness=\"toNext\";const n=Mh.fromPosition(this.position,\"toNext\");this._affectedStart.isEqual(e)&&(this._affectedStart.detach(),this._affectedStart=Mh._createAt(e.nodeBefore,\"end\",\"toPrevious\")),this._firstNode===this._lastNode&&(this._firstNode=e.nodeBefore,this._lastNode=e.nodeBefore),this.writer.merge(e),e.isEqual(this._affectedEnd)&&this._firstNode===this._lastNode&&(this._affectedEnd.detach(),this._affectedEnd=Mh._createAt(e.nodeBefore,\"end\",\"toNext\")),this.position=n.toPosition(),n.detach(),this._filterAttributesOf.push(this.position.parent),e.detach()}_mergeOnRight(){const t=this._lastNode;if(!(t instanceof Sl))return;if(!this._canMergeRight(t))return;const e=Mh._createAfter(t);if(e.stickiness=\"toNext\",!this.position.isEqual(e))throw new k(\"insertcontent-invalid-insertion-position\",this);this.position=Pl._createAt(e.nodeBefore,\"end\");const n=Mh.fromPosition(this.position,\"toPrevious\");this._affectedEnd.isEqual(e)&&(this._affectedEnd.detach(),this._affectedEnd=Mh._createAt(e.nodeBefore,\"end\",\"toNext\")),this._firstNode===this._lastNode&&(this._firstNode=e.nodeBefore,this._lastNode=e.nodeBefore),this.writer.merge(e),e.getShiftedBy(-1).isEqual(this._affectedStart)&&this._firstNode===this._lastNode&&(this._affectedStart.detach(),this._affectedStart=Mh._createAt(e.nodeBefore,0,\"toPrevious\")),this.position=n.toPosition(),n.detach(),this._filterAttributesOf.push(this.position.parent),e.detach()}_canMergeLeft(t){const e=t.previousSibling;return e instanceof Sl&&this.canMergeWith.has(e)&&this.model.schema.checkMerge(e,t)}_canMergeRight(t){const e=t.nextSibling;return e instanceof Sl&&this.canMergeWith.has(e)&&this.model.schema.checkMerge(t,e)}_tryAutoparagraphing(t){const e=this.writer.createElement(\"paragraph\");this._getAllowedIn(this.position.parent,e)&&this.schema.checkChild(e,t)&&(e._appendChild(t),this._handleNode(e))}_checkAndAutoParagraphToAllowedPosition(t){if(this.schema.checkChild(this.position.parent,t))return!0;if(!this.schema.checkChild(this.position.parent,\"paragraph\")||!this.schema.checkChild(\"paragraph\",t))return!1;this._insertPartialFragment();const e=this.writer.createElement(\"paragraph\");return this.writer.insert(e,this.position),this._setAffectedBoundaries(this.position),this._lastAutoParagraph=e,this.position=this.writer.createPositionAt(e,0),!0}_checkAndSplitToAllowedPosition(t){const e=this._getAllowedIn(this.position.parent,t);if(!e)return!1;for(e!=this.position.parent&&this._insertPartialFragment();e!=this.position.parent;)if(this.position.isAtStart){const t=this.position.parent;this.position=this.writer.createPositionBefore(t),t.isEmpty&&t.parent===e&&this.writer.remove(t)}else if(this.position.isAtEnd)this.position=this.writer.createPositionAfter(this.position.parent);else{const t=this.writer.createPositionAfter(this.position.parent);this._setAffectedBoundaries(this.position),this.writer.split(this.position),this.position=t,this.canMergeWith.add(this.position.nodeAfter)}return!0}_getAllowedIn(t,e){return this.schema.checkChild(t,e)?t:this.schema.isLimit(t)?null:this._getAllowedIn(t.parent,e)}}function pu(t,e,n,o={}){if(!t.schema.isObject(e))throw new k(\"insertobject-element-not-an-object\",t,{object:e});const i=n||t.document.selection;let r=i;o.findOptimalPosition&&t.schema.isBlock(e)&&(r=t.createSelection(function(t,e,n=\"auto\"){const o=t.getSelectedElement();if(o&&e.schema.isObject(o)&&!e.schema.isInline(o))return\"before\"==n||\"after\"==n?e.createRange(e.createPositionAt(o,n)):e.createRangeOn(o);const i=Ci(t.getSelectedBlocks());if(!i)return e.createRange(t.focus);if(i.isEmpty)return e.createRange(e.createPositionAt(i,0));const r=e.createPositionAfter(i);return t.focus.isTouching(r)?e.createRange(r):e.createRange(e.createPositionBefore(i))}(i,t,o.findOptimalPosition)));const s=Ci(i.getSelectedBlocks()),a={};return s&&Object.assign(a,t.schema.getAttributesWithProperty(s,\"copyOnReplace\",!0)),t.change((n=>{r.isCollapsed||t.deleteContent(r,{doNotAutoparagraph:!0});let i=e;const s=r.anchor.parent;!t.schema.checkChild(s,e)&&t.schema.checkChild(s,\"paragraph\")&&t.schema.checkChild(\"paragraph\",e)&&(i=n.createElement(\"paragraph\"),n.insert(e,i)),t.schema.setAllowedAttributes(i,a,n);const c=t.insertContent(i,r);return c.isCollapsed||o.setSelection&&function(t,e,n,o){const i=t.model;if(\"on\"==n)return void t.setSelection(e,\"on\");if(\"after\"!=n)throw new k(\"insertobject-invalid-place-parameter-value\",i);let r=e.nextSibling;if(i.schema.isInline(e))return void t.setSelection(e,\"after\");const s=r&&i.schema.checkChild(r,\"$text\");!s&&i.schema.checkChild(e.parent,\"paragraph\")&&(r=t.createElement(\"paragraph\"),i.schema.setAllowedAttributes(r,o,t),i.insertContent(r,t.createPositionAfter(e)));r&&t.setSelection(r,0)}(n,e,o.setSelection,a),c}))}const gu=' ,.?!:;\"-()';function mu(t,e){const{isForward:n,walker:o,unit:i,schema:r,treatEmojiAsSingleUnit:s}=t,{type:a,item:c,nextPosition:l}=e;if(\"text\"==a)return\"word\"===t.unit?function(t,e){let n=t.position.textNode;n||(n=e?t.position.nodeAfter:t.position.nodeBefore);for(;n&&n.is(\"$text\");){const o=t.position.offset-n.startOffset;if(bu(n,o,e))n=e?t.position.nodeAfter:t.position.nodeBefore;else{if(ku(n.data,o,e))break;t.next()}}return t.position}(o,n):function(t,e,n){const o=t.position.textNode;if(o){const i=o.data;let r=t.position.offset-o.startOffset;for(;Di(i,r)||\"character\"==e&&Si(i,r)||n&&Ti(i,r);)t.next(),r=t.position.offset-o.startOffset}return t.position}(o,i,s);if(a==(n?\"elementStart\":\"elementEnd\")){if(r.isSelectable(c))return Pl._createAt(c,n?\"after\":\"before\");if(r.checkChild(l,\"$text\"))return l}else{if(r.isLimit(c))return void o.skip((()=>!0));if(r.checkChild(l,\"$text\"))return l}}function fu(t,e){const n=t.root,o=Pl._createAt(n,e?\"end\":0);return e?new Fl(t,o):new Fl(o,t)}function ku(t,e,n){const o=e+(n?0:-1);return gu.includes(t.charAt(o))}function bu(t,e,n){return e===(n?t.offsetSize:0)}class wu extends(j()){constructor(){super(),this.markers=new Zh,this.document=new $h(this),this.schema=new Md,this._pendingChanges=[],this._currentWriter=null,[\"deleteContent\",\"modifySelection\",\"getSelectedContent\",\"applyOperation\"].forEach((t=>this.decorate(t))),this.on(\"applyOperation\",((t,e)=>{e[0]._validate()}),{priority:\"highest\"}),this.schema.register(\"$root\",{isLimit:!0}),this.schema.register(\"$container\",{allowIn:[\"$root\",\"$container\"]}),this.schema.register(\"$block\",{allowIn:[\"$root\",\"$container\"],isBlock:!0}),this.schema.register(\"$blockObject\",{allowWhere:\"$block\",isBlock:!0,isObject:!0}),this.schema.register(\"$inlineObject\",{allowWhere:\"$text\",allowAttributesOf:\"$text\",isInline:!0,isObject:!0}),this.schema.register(\"$text\",{allowIn:\"$block\",isInline:!0,isContent:!0}),this.schema.register(\"$clipboardHolder\",{allowContentOf:\"$root\",allowChildren:\"$text\",isLimit:!0}),this.schema.register(\"$documentFragment\",{allowContentOf:\"$root\",allowChildren:\"$text\",isLimit:!0}),this.schema.register(\"$marker\"),this.schema.addChildCheck(((t,e)=>{if(\"$marker\"===e.name)return!0})),Sd(this),this.document.registerPostFixer(bd),this.on(\"insertContent\",((t,[e,n])=>{t.return=function(t,e,n){return t.change((o=>{const i=n||t.document.selection;i.isCollapsed||t.deleteContent(i,{doNotAutoparagraph:!0});const r=new uu(t,o,i.anchor),s=[];let a;if(e.is(\"documentFragment\")){if(e.markers.size){const t=[];for(const[n,o]of e.markers){const{start:e,end:i}=o,r=e.isEqual(i);t.push({position:e,name:n,isCollapsed:r},{position:i,name:n,isCollapsed:r})}t.sort((({position:t},{position:e})=>t.isBefore(e)?1:-1));for(const{position:n,name:i,isCollapsed:r}of t){let t=null,a=null;const c=n.parent===e&&n.isAtStart,l=n.parent===e&&n.isAtEnd;c||l?r&&(a=c?\"start\":\"end\"):(t=o.createElement(\"$marker\"),o.insert(t,n)),s.push({name:i,element:t,collapsed:a})}}a=e.getChildren()}else a=[e];r.handleNodes(a);let c=r.getSelectionRange();if(e.is(\"documentFragment\")&&s.length){const t=c?Yl.fromRange(c):null,e={};for(let t=s.length-1;t>=0;t--){const{name:n,element:i,collapsed:a}=s[t],c=!e[n];if(c&&(e[n]=[]),i){const t=o.createPositionAt(i,\"before\");e[n].push(t),o.remove(i)}else{const t=r.getAffectedRange();if(!t){a&&e[n].push(r.position);continue}a?e[n].push(t[a]):e[n].push(c?t.start:t.end)}}for(const[t,[n,i]]of Object.entries(e))n&&i&&n.root===i.root&&o.addMarker(t,{usingOperation:!0,affectsData:!0,range:new Fl(n,i)});t&&(c=t.toRange(),t.detach())}c&&(i instanceof ed?o.setSelection(c):i.setTo(c));const l=r.getAffectedRange()||t.createRange(i.anchor);return r.destroy(),l}))}(this,e,n)})),this.on(\"insertObject\",((t,[e,n,o])=>{t.return=pu(this,e,n,o)})),this.on(\"canEditAt\",(t=>{const e=!this.document.isReadOnly;t.return=e,e||t.stop()}))}change(t){try{return 0===this._pendingChanges.length?(this._pendingChanges.push({batch:new Vh,callback:t}),this._runPendingChanges()[0]):t(this._currentWriter)}catch(t){k.rethrowUnexpectedError(t,this)}}enqueueChange(t,e){try{t?\"function\"==typeof t?(e=t,t=new Vh):t instanceof Vh||(t=new Vh(t)):t=new Vh,this._pendingChanges.push({batch:t,callback:e}),1==this._pendingChanges.length&&this._runPendingChanges()}catch(t){k.rethrowUnexpectedError(t,this)}}applyOperation(t){t._execute()}insertContent(t,e,n,...o){const i=_u(e,n);return this.fire(\"insertContent\",[t,i,n,...o])}insertObject(t,e,n,o,...i){const r=_u(e,n);return this.fire(\"insertObject\",[t,r,o,o,...i])}deleteContent(t,e){ru(this,t,e)}modifySelection(t,e){!function(t,e,n={}){const o=t.schema,i=\"backward\"!=n.direction,r=n.unit?n.unit:\"character\",s=!!n.treatEmojiAsSingleUnit,a=e.focus,c=new Bl({boundaries:fu(a,i),singleCharacters:!0,direction:i?\"forward\":\"backward\"}),l={walker:c,schema:o,isForward:i,unit:r,treatEmojiAsSingleUnit:s};let d;for(;d=c.next();){if(d.done)return;const n=mu(l,d.value);if(n)return void(e instanceof ed?t.change((t=>{t.setSelectionFocus(n)})):e.setFocus(n))}}(this,t,e)}getSelectedContent(t){return function(t,e){return t.change((t=>{const n=t.createDocumentFragment(),o=e.getFirstRange();if(!o||o.isCollapsed)return n;const i=o.start.root,r=o.start.getCommonPath(o.end),s=i.getNodeByPath(r);let a;a=o.start.parent==o.end.parent?o:t.createRange(t.createPositionAt(s,o.start.path[r.length]),t.createPositionAt(s,o.end.path[r.length]+1));const c=a.end.offset-a.start.offset;for(const e of a.getItems({shallow:!0}))e.is(\"$textProxy\")?t.appendText(e.data,e.getAttributes(),n):t.append(t.cloneElement(e,!0),n);if(a!=o){const e=o._getTransformedByMove(a.start,t.createPositionAt(n,0),c)[0],i=t.createRange(t.createPositionAt(n,0),e.start);hu(t.createRange(e.end,t.createPositionAt(n,\"end\")),t),hu(i,t)}return n}))}(this,t)}hasContent(t,e={}){const n=t instanceof Fl?t:Fl._createIn(t);if(n.isCollapsed)return!1;const{ignoreWhitespaces:o=!1,ignoreMarkers:i=!1}=e;if(!i)for(const t of this.markers.getMarkersIntersectingRange(n))if(t.affectsData)return!0;for(const t of n.getItems())if(this.schema.isContent(t)){if(!t.is(\"$textProxy\"))return!0;if(!o)return!0;if(-1!==t.data.search(/\\S/))return!0}return!1}canEditAt(t){const e=_u(t);return this.fire(\"canEditAt\",[e])}createPositionFromPath(t,e,n){return new Pl(t,e,n)}createPositionAt(t,e){return Pl._createAt(t,e)}createPositionAfter(t){return Pl._createAfter(t)}createPositionBefore(t){return Pl._createBefore(t)}createRange(t,e){return new Fl(t,e)}createRangeIn(t){return Fl._createIn(t)}createRangeOn(t){return Fl._createOn(t)}createSelection(...t){return new Kl(...t)}createBatch(t){return new Vh(t)}createOperationFromJSON(t){return yh.fromJSON(t,this.document)}destroy(){this.document.destroy(),this.stopListening()}_runPendingChanges(){const t=[];this.fire(\"_beforeChanges\");try{for(;this._pendingChanges.length;){const e=this._pendingChanges[0].batch;this._currentWriter=new Xh(this,e);const n=this._pendingChanges[0].callback(this._currentWriter);t.push(n),this.document._handleChangeBlock(this._currentWriter),this._pendingChanges.shift(),this._currentWriter=null}}finally{this._pendingChanges.length=0,this._currentWriter=null,this.fire(\"_afterChanges\")}return t}}function _u(t,e){if(t)return t instanceof Kl||t instanceof ed?t:t instanceof yl?e||0===e?new Kl(t,e):t.is(\"rootElement\")?new Kl(t,\"in\"):new Kl(t,\"on\"):new Kl(t)}class Au extends Sc{constructor(){super(...arguments),this.domEventType=[\"mousedown\",\"mouseup\",\"mouseover\",\"mouseout\"]}onDomEvent(t){this.fire(t.type,t)}}const Cu=/\\w+\\((?:[^()]|\\([^()]*\\))*\\)|\\S+/gi;new Set([\"black\",\"silver\",\"gray\",\"white\",\"maroon\",\"red\",\"purple\",\"fuchsia\",\"green\",\"lime\",\"olive\",\"yellow\",\"navy\",\"blue\",\"teal\",\"aqua\",\"orange\",\"aliceblue\",\"antiquewhite\",\"aquamarine\",\"azure\",\"beige\",\"bisque\",\"blanchedalmond\",\"blueviolet\",\"brown\",\"burlywood\",\"cadetblue\",\"chartreuse\",\"chocolate\",\"coral\",\"cornflowerblue\",\"cornsilk\",\"crimson\",\"cyan\",\"darkblue\",\"darkcyan\",\"darkgoldenrod\",\"darkgray\",\"darkgreen\",\"darkgrey\",\"darkkhaki\",\"darkmagenta\",\"darkolivegreen\",\"darkorange\",\"darkorchid\",\"darkred\",\"darksalmon\",\"darkseagreen\",\"darkslateblue\",\"darkslategray\",\"darkslategrey\",\"darkturquoise\",\"darkviolet\",\"deeppink\",\"deepskyblue\",\"dimgray\",\"dimgrey\",\"dodgerblue\",\"firebrick\",\"floralwhite\",\"forestgreen\",\"gainsboro\",\"ghostwhite\",\"gold\",\"goldenrod\",\"greenyellow\",\"grey\",\"honeydew\",\"hotpink\",\"indianred\",\"indigo\",\"ivory\",\"khaki\",\"lavender\",\"lavenderblush\",\"lawngreen\",\"lemonchiffon\",\"lightblue\",\"lightcoral\",\"lightcyan\",\"lightgoldenrodyellow\",\"lightgray\",\"lightgreen\",\"lightgrey\",\"lightpink\",\"lightsalmon\",\"lightseagreen\",\"lightskyblue\",\"lightslategray\",\"lightslategrey\",\"lightsteelblue\",\"lightyellow\",\"limegreen\",\"linen\",\"magenta\",\"mediumaquamarine\",\"mediumblue\",\"mediumorchid\",\"mediumpurple\",\"mediumseagreen\",\"mediumslateblue\",\"mediumspringgreen\",\"mediumturquoise\",\"mediumvioletred\",\"midnightblue\",\"mintcream\",\"mistyrose\",\"moccasin\",\"navajowhite\",\"oldlace\",\"olivedrab\",\"orangered\",\"orchid\",\"palegoldenrod\",\"palegreen\",\"paleturquoise\",\"palevioletred\",\"papayawhip\",\"peachpuff\",\"peru\",\"pink\",\"plum\",\"powderblue\",\"rosybrown\",\"royalblue\",\"saddlebrown\",\"salmon\",\"sandybrown\",\"seagreen\",\"seashell\",\"sienna\",\"skyblue\",\"slateblue\",\"slategray\",\"slategrey\",\"snow\",\"springgreen\",\"steelblue\",\"tan\",\"thistle\",\"tomato\",\"turquoise\",\"violet\",\"wheat\",\"whitesmoke\",\"yellowgreen\",\"activeborder\",\"activecaption\",\"appworkspace\",\"background\",\"buttonface\",\"buttonhighlight\",\"buttonshadow\",\"buttontext\",\"captiontext\",\"graytext\",\"highlight\",\"highlighttext\",\"inactiveborder\",\"inactivecaption\",\"inactivecaptiontext\",\"infobackground\",\"infotext\",\"menu\",\"menutext\",\"scrollbar\",\"threeddarkshadow\",\"threedface\",\"threedhighlight\",\"threedlightshadow\",\"threedshadow\",\"window\",\"windowframe\",\"windowtext\",\"rebeccapurple\",\"currentcolor\",\"transparent\"]);const vu=/^([+-]?[0-9]*([.][0-9]+)?(px|cm|mm|in|pc|pt|ch|em|ex|rem|vh|vw|vmin|vmax)|0)$/;const yu=/^[+-]?[0-9]*([.][0-9]+)?%$/;function xu(t=\"\"){if(\"\"===t)return{top:void 0,right:void 0,bottom:void 0,left:void 0};const e=function(t){const e=t.matchAll(Cu);return Array.from(e).map((t=>t[0]))}(t),n=e[0],o=e[2]||n,i=e[1]||n;return{top:n,bottom:o,right:i,left:e[3]||i}}function Eu({top:t,right:e,bottom:n,left:o}){const i=[];return o!==e?i.push(t,e,n,o):n!==t?i.push(t,e,n):e!==t?i.push(t,e):i.push(t),i.join(\" \")}function Du(t){var e,n;t.setNormalizer(\"margin\",(e=\"margin\",t=>({path:e,value:xu(t)}))),t.setNormalizer(\"margin-top\",(t=>({path:\"margin.top\",value:t}))),t.setNormalizer(\"margin-right\",(t=>({path:\"margin.right\",value:t}))),t.setNormalizer(\"margin-bottom\",(t=>({path:\"margin.bottom\",value:t}))),t.setNormalizer(\"margin-left\",(t=>({path:\"margin.left\",value:t}))),t.setReducer(\"margin\",(n=\"margin\",t=>{const{top:e,right:o,bottom:i,left:r}=t,s=[];return[e,o,r,i].every((t=>!!t))?s.push([n,Eu(t)]):(e&&s.push([n+\"-top\",e]),o&&s.push([n+\"-right\",o]),i&&s.push([n+\"-bottom\",i]),r&&s.push([n+\"-left\",r])),s})),t.setStyleRelation(\"margin\",[\"margin-top\",\"margin-right\",\"margin-bottom\",\"margin-left\"])}class Su{constructor(){this._commands=new Map}add(t,e){this._commands.set(t,e)}get(t){return this._commands.get(t)}execute(t,...e){const n=this.get(t);if(!n)throw new k(\"commandcollection-command-not-found\",this,{commandName:t});return n.execute(...e)}*names(){yield*this._commands.keys()}*commands(){yield*this._commands.values()}[Symbol.iterator](){return this._commands[Symbol.iterator]()}destroy(){for(const t of this.commands())t.destroy()}}class Bu extends yi{constructor(t){super(),this.editor=t}set(t,e,n={}){if(\"string\"==typeof e){const t=e;e=(e,n)=>{this.editor.execute(t),n()}}super.set(t,e,n)}}class Tu extends(j()){constructor(t={}){super();const e=this.constructor,n=t.language||e.defaultConfig&&e.defaultConfig.language;this._context=t.context||new $r({language:n}),this._context._addEditor(this,!t.context);const o=Array.from(e.builtinPlugins||[]);this.config=new Ao(t,e.defaultConfig),this.config.define(\"plugins\",o),this.config.define(this._context._getEditorConfig()),this.plugins=new Gr(this,o,this._context.plugins),this.locale=this._context.locale,this.t=this.locale.t,this._readOnlyLocks=new Set,this.commands=new Su,this.set(\"state\",\"initializing\"),this.once(\"ready\",(()=>this.state=\"ready\"),{priority:\"high\"}),this.once(\"destroy\",(()=>this.state=\"destroyed\"),{priority:\"high\"}),this.model=new wu,this.on(\"change:isReadOnly\",(()=>{this.model.document.isReadOnly=this.isReadOnly}));const i=new sa;this.data=new th(this.model,i),this.editing=new Id(this.model,i),this.editing.view.document.bind(\"isReadOnly\").to(this),this.conversion=new eh([this.editing.downcastDispatcher,this.data.downcastDispatcher],this.data.upcastDispatcher),this.conversion.addAlias(\"dataDowncast\",this.data.downcastDispatcher),this.conversion.addAlias(\"editingDowncast\",this.editing.downcastDispatcher),this.keystrokes=new Bu(this),this.keystrokes.listenTo(this.editing.view.document)}get isReadOnly(){return this._readOnlyLocks.size>0}set isReadOnly(t){throw new k(\"editor-isreadonly-has-no-setter\")}enableReadOnlyMode(t){if(\"string\"!=typeof t&&\"symbol\"!=typeof t)throw new k(\"editor-read-only-lock-id-invalid\",null,{lockId:t});this._readOnlyLocks.has(t)||(this._readOnlyLocks.add(t),1===this._readOnlyLocks.size&&this.fire(\"change:isReadOnly\",\"isReadOnly\",!0,!1))}disableReadOnlyMode(t){if(\"string\"!=typeof t&&\"symbol\"!=typeof t)throw new k(\"editor-read-only-lock-id-invalid\",null,{lockId:t});this._readOnlyLocks.has(t)&&(this._readOnlyLocks.delete(t),0===this._readOnlyLocks.size&&this.fire(\"change:isReadOnly\",\"isReadOnly\",!1,!0))}initPlugins(){const t=this.config,e=t.get(\"plugins\"),n=t.get(\"removePlugins\")||[],o=t.get(\"extraPlugins\")||[],i=t.get(\"substitutePlugins\")||[];return this.plugins.init(e.concat(o),n,i)}destroy(){let t=Promise.resolve();return\"initializing\"==this.state&&(t=new Promise((t=>this.once(\"ready\",t)))),t.then((()=>{this.fire(\"destroy\"),this.stopListening(),this.commands.destroy()})).then((()=>this.plugins.destroy())).then((()=>{this.model.destroy(),this.data.destroy(),this.editing.destroy(),this.keystrokes.destroy()})).then((()=>this._context._removeEditor(this)))}execute(t,...e){try{return this.commands.execute(t,...e)}catch(t){k.rethrowUnexpectedError(t,this)}}focus(){this.editing.view.focus()}static create(...t){throw new Error(\"This is an abstract method.\")}}function Pu(t){return class extends t{setData(t){this.data.set(t)}getData(t){return this.data.get(t)}}}{const t=Pu(Object);Pu.setData=t.prototype.setData,Pu.getData=t.prototype.getData}function Iu(t){return class extends t{updateSourceElement(t){if(!this.sourceElement)throw new k(\"editor-missing-sourceelement\",this);const e=this.config.get(\"updateSourceElementOnDestroy\"),n=this.sourceElement instanceof HTMLTextAreaElement;if(!e&&!n)return void qo(this.sourceElement,\"\");const o=\"string\"==typeof t?t:this.data.get();qo(this.sourceElement,o)}}}Iu.updateSourceElement=Iu(Object).prototype.updateSourceElement;Symbol.iterator;const Ru={bold:'',cancel:'',caption:'',check:'',cog:'',eraser:'',history:'',image:'',lowVision:'',textAlternative:'\\n',loupe:'',importExport:'',paragraph:'',plus:'',text:'',alignBottom:'',alignMiddle:'',alignTop:'',alignLeft:'',alignCenter:'',alignRight:'',alignJustify:'',objectLeft:'',objectCenter:'',objectRight:'',objectFullWidth:'',objectInline:'',objectBlockLeft:'',objectBlockRight:'',objectSizeFull:'',objectSizeLarge:'',objectSizeSmall:'',objectSizeMedium:'',pencil:'',pilcrow:'',quote:'',threeVerticalDots:'',dragIndicator:''};var Ou=n(4768),zu={injectType:\"singletonStyleTag\",attributes:{\"data-cke\":!0},insert:\"head\",singleton:!0};Ri()(Ou.Z,zu);Ou.Z.locals;const{threeVerticalDots:Mu}=Ru,Fu={alignLeft:Ru.alignLeft,bold:Ru.bold,importExport:Ru.importExport,paragraph:Ru.paragraph,plus:Ru.plus,text:Ru.text,threeVerticalDots:Ru.threeVerticalDots,pilcrow:Ru.pilcrow,dragIndicator:Ru.dragIndicator};class Nu extends Mi{constructor(t,e){super(t);const n=this.bindTemplate,o=this.t;this.options=e||{},this.set(\"ariaLabel\",o(\"Editor toolbar\")),this.set(\"maxWidth\",\"auto\"),this.items=this.createCollection(),this.focusTracker=new vi,this.keystrokes=new yi,this.set(\"class\",void 0),this.set(\"isCompact\",!1),this.itemsView=new Vu(t),this.children=this.createCollection(),this.children.add(this.itemsView),this.focusables=this.createCollection();const i=\"rtl\"===t.uiLanguageDirection;this._focusCycler=new Mr({focusables:this.focusables,focusTracker:this.focusTracker,keystrokeHandler:this.keystrokes,actions:{focusPrevious:[i?\"arrowright\":\"arrowleft\",\"arrowup\"],focusNext:[i?\"arrowleft\":\"arrowright\",\"arrowdown\"]}});const r=[\"ck\",\"ck-toolbar\",n.to(\"class\"),n.if(\"isCompact\",\"ck-toolbar_compact\")];var s;this.options.shouldGroupWhenFull&&this.options.isFloating&&r.push(\"ck-toolbar_floating\"),this.setTemplate({tag:\"div\",attributes:{class:r,role:\"toolbar\",\"aria-label\":n.to(\"ariaLabel\"),style:{maxWidth:n.to(\"maxWidth\")},tabindex:-1},children:this.children,on:{mousedown:(s=this,s.bindTemplate.to((t=>{t.target===s.element&&t.preventDefault()})))}}),this._behavior=this.options.shouldGroupWhenFull?new Hu(this):new Lu(this)}render(){super.render(),this.focusTracker.add(this.element);for(const t of this.items)this.focusTracker.add(t.element);this.items.on(\"add\",((t,e)=>{this.focusTracker.add(e.element)})),this.items.on(\"remove\",((t,e)=>{this.focusTracker.remove(e.element)})),this.keystrokes.listenTo(this.element),this._behavior.render(this)}destroy(){return this._behavior.destroy(),this.focusTracker.destroy(),this.keystrokes.destroy(),super.destroy()}focus(){this._focusCycler.focusFirst()}focusLast(){this._focusCycler.focusLast()}fillFromConfig(t,e,n){this.items.addMany(this._buildItemsFromConfig(t,e,n))}_buildItemsFromConfig(t,e,n){const o=Lr(t),i=n||o.removeItems;return this._cleanItemsConfiguration(o.items,e,i).map((t=>z(t)?this._createNestedToolbarDropdown(t,e,i):\"|\"===t?new Nr:\"-\"===t?new Vr:e.create(t))).filter((t=>!!t))}_cleanItemsConfiguration(t,e,n){const o=t.filter(((t,o,i)=>\"|\"===t||-1===n.indexOf(t)&&(\"-\"===t?!this.options.shouldGroupWhenFull||(b(\"toolbarview-line-break-ignored-when-grouping-items\",i),!1):!(!z(t)&&!e.has(t))||(b(\"toolbarview-item-unavailable\",{item:t}),!1))));return this._cleanSeparatorsAndLineBreaks(o)}_cleanSeparatorsAndLineBreaks(t){const e=t=>\"-\"!==t&&\"|\"!==t,n=t.length,o=t.findIndex(e);if(-1===o)return[];const i=n-t.slice().reverse().findIndex(e);return t.slice(o,i).filter(((t,n,o)=>{if(e(t))return!0;return!(n>0&&o[n-1]===t)}))}_createNestedToolbarDropdown(t,e,n){let{label:o,icon:i,items:r,tooltip:s=!0,withText:a=!1}=t;if(r=this._cleanItemsConfiguration(r,e,n),!r.length)return null;const c=ep(this.locale);return o||b(\"toolbarview-nested-toolbar-dropdown-missing-label\",t),c.class=\"ck-toolbar__nested-toolbar-dropdown\",c.buttonView.set({label:o,tooltip:s,withText:!!a}),!1!==i?c.buttonView.icon=Fu[i]||i||Mu:c.buttonView.withText=!0,np(c,(()=>c.toolbarView._buildItemsFromConfig(r,e,n))),c}}class Vu extends Mi{constructor(t){super(t),this.children=this.createCollection(),this.setTemplate({tag:\"div\",attributes:{class:[\"ck\",\"ck-toolbar__items\"]},children:this.children})}}class Lu{constructor(t){const e=t.bindTemplate;t.set(\"isVertical\",!1),t.itemsView.children.bindTo(t.items).using((t=>t)),t.focusables.bindTo(t.items).using((t=>t)),t.extendTemplate({attributes:{class:[e.if(\"isVertical\",\"ck-toolbar_vertical\")]}})}render(){}destroy(){}}class Hu{constructor(t){this.resizeObserver=null,this.cachedPadding=null,this.shouldUpdateGroupingOnNextResize=!1,this.view=t,this.viewChildren=t.children,this.viewFocusables=t.focusables,this.viewItemsView=t.itemsView,this.viewFocusTracker=t.focusTracker,this.viewLocale=t.locale,this.ungroupedItems=t.createCollection(),this.groupedItems=t.createCollection(),this.groupedItemsDropdown=this._createGroupedItemsDropdown(),t.itemsView.children.bindTo(this.ungroupedItems).using((t=>t)),this.ungroupedItems.on(\"change\",this._updateFocusCycleableItems.bind(this)),t.children.on(\"change\",this._updateFocusCycleableItems.bind(this)),t.items.on(\"change\",((t,e)=>{const n=e.index,o=Array.from(e.added);for(const t of e.removed)n>=this.ungroupedItems.length?this.groupedItems.remove(t):this.ungroupedItems.remove(t);for(let t=n;tthis.ungroupedItems.length?this.groupedItems.add(e,t-this.ungroupedItems.length):this.ungroupedItems.add(e,t)}this._updateGrouping()})),t.extendTemplate({attributes:{class:[\"ck-toolbar_grouping\"]}})}render(t){this.viewElement=t.element,this._enableGroupingOnResize(),this._enableGroupingOnMaxWidthChange(t)}destroy(){this.groupedItemsDropdown.destroy(),this.resizeObserver.destroy()}_updateGrouping(){if(!this.viewElement.ownerDocument.body.contains(this.viewElement))return;if(!Uo(this.viewElement))return void(this.shouldUpdateGroupingOnNextResize=!0);const t=this.groupedItems.length;let e;for(;this._areItemsOverflowing;)this._groupLastItem(),e=!0;if(!e&&this.groupedItems.length){for(;this.groupedItems.length&&!this._areItemsOverflowing;)this._ungroupFirstItem();this._areItemsOverflowing&&this._groupLastItem()}this.groupedItems.length!==t&&this.view.fire(\"groupedItemsUpdate\")}get _areItemsOverflowing(){if(!this.ungroupedItems.length)return!1;const t=this.viewElement,e=this.viewLocale.uiLanguageDirection,n=new Fo(t.lastChild),o=new Fo(t);if(!this.cachedPadding){const n=Po.window.getComputedStyle(t),o=\"ltr\"===e?\"paddingRight\":\"paddingLeft\";this.cachedPadding=Number.parseInt(n[o])}return\"ltr\"===e?n.right>o.right-this.cachedPadding:n.left{t&&t===e.contentRect.width&&!this.shouldUpdateGroupingOnNextResize||(this.shouldUpdateGroupingOnNextResize=!1,this._updateGrouping(),t=e.contentRect.width)})),this._updateGrouping()}_enableGroupingOnMaxWidthChange(t){t.on(\"change:maxWidth\",(()=>{this._updateGrouping()}))}_groupLastItem(){this.groupedItems.length||(this.viewChildren.add(new Nr),this.viewChildren.add(this.groupedItemsDropdown),this.viewFocusTracker.add(this.groupedItemsDropdown.element)),this.groupedItems.add(this.ungroupedItems.remove(this.ungroupedItems.last),0)}_ungroupFirstItem(){this.ungroupedItems.add(this.groupedItems.remove(this.groupedItems.first)),this.groupedItems.length||(this.viewChildren.remove(this.groupedItemsDropdown),this.viewChildren.remove(this.viewChildren.last),this.viewFocusTracker.remove(this.groupedItemsDropdown.element))}_createGroupedItemsDropdown(){const t=this.viewLocale,e=t.t,n=ep(t);return n.class=\"ck-toolbar__grouped-dropdown\",n.panelPosition=\"ltr\"===t.uiLanguageDirection?\"sw\":\"se\",np(n,this.groupedItems),n.buttonView.set({label:e(\"Show more items\"),tooltip:!0,tooltipPosition:\"rtl\"===t.uiLanguageDirection?\"se\":\"sw\",icon:Mu}),n}_updateFocusCycleableItems(){this.viewFocusables.clear(),this.ungroupedItems.map((t=>{this.viewFocusables.add(t)})),this.groupedItems.length&&this.viewFocusables.add(this.groupedItemsDropdown)}}class ju extends Mi{constructor(t,e=new wr){super(t);const n=this.bindTemplate,o=new Wu(t);this.set({label:\"\",isVisible:!0}),this.labelView=e,this.labelView.bind(\"text\").to(this,\"label\"),this.children=this.createCollection(),this.children.addMany([this.labelView,o]),o.set({role:\"group\",ariaLabelledBy:e.id}),o.focusTracker.destroy(),o.keystrokes.destroy(),this.items=o.items,this.setTemplate({tag:\"li\",attributes:{role:\"presentation\",class:[\"ck\",\"ck-list__group\",n.if(\"isVisible\",\"ck-hidden\",(t=>!t))]},children:this.children})}focus(){this.items.first&&this.items.first.focus()}}var qu=n(179),Ku={injectType:\"singletonStyleTag\",attributes:{\"data-cke\":!0},insert:\"head\",singleton:!0};Ri()(qu.Z,Ku);qu.Z.locals;class Wu extends Mi{constructor(t){super(t),this._listItemGroupToChangeListeners=new WeakMap;const e=this.bindTemplate;this.focusables=new Pi,this.items=this.createCollection(),this.focusTracker=new vi,this.keystrokes=new yi,this._focusCycler=new Mr({focusables:this.focusables,focusTracker:this.focusTracker,keystrokeHandler:this.keystrokes,actions:{focusPrevious:\"arrowup\",focusNext:\"arrowdown\"}}),this.set(\"ariaLabel\",void 0),this.set(\"ariaLabelledBy\",void 0),this.set(\"role\",void 0),this.setTemplate({tag:\"ul\",attributes:{class:[\"ck\",\"ck-reset\",\"ck-list\"],role:e.to(\"role\"),\"aria-label\":e.to(\"ariaLabel\"),\"aria-labelledby\":e.to(\"ariaLabelledBy\")},children:this.items})}render(){super.render();for(const t of this.items)t instanceof ju?this._registerFocusableItemsGroup(t):this._registerFocusableListItem(t);this.items.on(\"change\",((t,e)=>{for(const t of e.removed)t instanceof ju?this._deregisterFocusableItemsGroup(t):this._deregisterFocusableListItem(t);for(const t of Array.from(e.added).reverse())t instanceof ju?this._registerFocusableItemsGroup(t,e.index):this._registerFocusableListItem(t,e.index)})),this.keystrokes.listenTo(this.element)}destroy(){super.destroy(),this.focusTracker.destroy(),this.keystrokes.destroy()}focus(){this._focusCycler.focusFirst()}focusFirst(){this._focusCycler.focusFirst()}focusLast(){this._focusCycler.focusLast()}_registerFocusableListItem(t,e){this.focusTracker.add(t.element),this.focusables.add(t,e)}_deregisterFocusableListItem(t){this.focusTracker.remove(t.element),this.focusables.remove(t)}_getOnGroupItemsChangeCallback(t){return(e,n)=>{for(const t of n.removed)this._deregisterFocusableListItem(t);for(const e of Array.from(n.added).reverse())this._registerFocusableListItem(e,this.items.getIndex(t)+n.index)}}_registerFocusableItemsGroup(t,e){Array.from(t.items).forEach(((t,n)=>{const o=void 0!==e?e+n:void 0;this._registerFocusableListItem(t,o)}));const n=this._getOnGroupItemsChangeCallback(t);this._listItemGroupToChangeListeners.set(t,n),t.items.on(\"change\",n)}_deregisterFocusableItemsGroup(t){for(const e of t.items)this._deregisterFocusableListItem(e);t.items.off(\"change\",this._listItemGroupToChangeListeners.get(t)),this._listItemGroupToChangeListeners.delete(t)}}class Gu extends Mi{constructor(t){super(t);const e=this.bindTemplate;this.set(\"isVisible\",!0),this.children=this.createCollection(),this.setTemplate({tag:\"li\",attributes:{class:[\"ck\",\"ck-list__item\",e.if(\"isVisible\",\"ck-hidden\",(t=>!t))],role:\"presentation\"},children:this.children})}focus(){this.children.first&&this.children.first.focus()}}class $u extends Mi{constructor(t){super(t),this.setTemplate({tag:\"li\",attributes:{class:[\"ck\",\"ck-list__separator\"]}})}}var Uu=n(4791),Zu={injectType:\"singletonStyleTag\",attributes:{\"data-cke\":!0},insert:\"head\",singleton:!0};Ri()(Uu.Z,Zu);Uu.Z.locals;class Ju extends Mi{constructor(t){super(t);const e=this.bindTemplate;this.set(\"class\",void 0),this.set(\"labelStyle\",void 0),this.set(\"icon\",void 0),this.set(\"isEnabled\",!0),this.set(\"isOn\",!1),this.set(\"isToggleable\",!1),this.set(\"isVisible\",!0),this.set(\"keystroke\",void 0),this.set(\"withKeystroke\",!1),this.set(\"label\",void 0),this.set(\"tabindex\",-1),this.set(\"tooltip\",!1),this.set(\"tooltipPosition\",\"s\"),this.set(\"type\",\"button\"),this.set(\"withText\",!1),this.children=this.createCollection(),this.actionView=this._createActionView(),this.arrowView=this._createArrowView(),this.keystrokes=new yi,this.focusTracker=new vi,this.setTemplate({tag:\"div\",attributes:{class:[\"ck\",\"ck-splitbutton\",e.to(\"class\"),e.if(\"isVisible\",\"ck-hidden\",(t=>!t)),this.arrowView.bindTemplate.if(\"isOn\",\"ck-splitbutton_open\")]},children:this.children})}render(){super.render(),this.children.add(this.actionView),this.children.add(this.arrowView),this.focusTracker.add(this.actionView.element),this.focusTracker.add(this.arrowView.element),this.keystrokes.listenTo(this.element),this.keystrokes.set(\"arrowright\",((t,e)=>{this.focusTracker.focusedElement===this.actionView.element&&(this.arrowView.focus(),e())})),this.keystrokes.set(\"arrowleft\",((t,e)=>{this.focusTracker.focusedElement===this.arrowView.element&&(this.actionView.focus(),e())}))}destroy(){super.destroy(),this.focusTracker.destroy(),this.keystrokes.destroy()}focus(){this.actionView.focus()}_createActionView(){const t=new hr;return t.bind(\"icon\",\"isEnabled\",\"isOn\",\"isToggleable\",\"keystroke\",\"label\",\"tabindex\",\"tooltip\",\"tooltipPosition\",\"type\",\"withText\").to(this),t.extendTemplate({attributes:{class:\"ck-splitbutton__action\"}}),t.delegate(\"execute\").to(this),t}_createArrowView(){const t=new hr,e=t.bindTemplate;return t.icon=Or,t.extendTemplate({attributes:{class:[\"ck-splitbutton__arrow\"],\"data-cke-tooltip-disabled\":e.to(\"isOn\"),\"aria-haspopup\":!0,\"aria-expanded\":e.to(\"isOn\",(t=>String(t)))}}),t.bind(\"isEnabled\").to(this),t.bind(\"label\").to(this),t.bind(\"tooltip\").to(this),t.delegate(\"execute\").to(this,\"open\"),t}}var Yu=n(2704),Qu={injectType:\"singletonStyleTag\",attributes:{\"data-cke\":!0},insert:\"head\",singleton:!0};Ri()(Yu.Z,Qu);Yu.Z.locals;var Xu=n(1883),tp={injectType:\"singletonStyleTag\",attributes:{\"data-cke\":!0},insert:\"head\",singleton:!0};Ri()(Xu.Z,tp);Xu.Z.locals;function ep(t,e=zr){const n=new e(t),o=new Tr(t),i=new Rr(t,n,o);return n.bind(\"isEnabled\").to(i),n instanceof Ju?n.arrowView.bind(\"isOn\").to(i,\"isOpen\"):n.bind(\"isOn\").to(i,\"isOpen\"),function(t){(function(t){t.on(\"render\",(()=>{!function({emitter:t,activator:e,callback:n,contextElements:o}){t.listenTo(document,\"mousedown\",((t,i)=>{if(!e())return;const r=\"function\"==typeof i.composedPath?i.composedPath():[],s=\"function\"==typeof o?o():o;for(const t of s)if(t.contains(i.target)||r.includes(t))return;n()}))}({emitter:t,activator:()=>t.isOpen,callback:()=>{t.isOpen=!1},contextElements:()=>[t.element,...t.focusTracker._elements]})}))})(t),function(t){t.on(\"execute\",(e=>{e.source instanceof gr||(t.isOpen=!1)}))}(t),function(t){t.focusTracker.on(\"change:isFocused\",((e,n,o)=>{t.isOpen&&!o&&(t.isOpen=!1)}))}(t),function(t){t.keystrokes.set(\"arrowdown\",((e,n)=>{t.isOpen&&(t.panelView.focus(),n())})),t.keystrokes.set(\"arrowup\",((e,n)=>{t.isOpen&&(t.panelView.focusLast(),n())}))}(t),function(t){t.on(\"change:isOpen\",((e,n,o)=>{if(o)return;const i=t.panelView.element;i&&i.contains(Po.document.activeElement)&&t.buttonView.focus()}))}(t),function(t){t.on(\"change:isOpen\",((e,n,o)=>{o&&t.panelView.focus()}),{priority:\"low\"})}(t)}(i),i}function np(t,e,n={}){t.extendTemplate({attributes:{class:[\"ck-toolbar-dropdown\"]}}),t.isOpen?op(t,e,n):t.once(\"change:isOpen\",(()=>op(t,e,n)),{priority:\"highest\"}),n.enableActiveItemFocusOnDropdownOpen&&sp(t,(()=>t.toolbarView.items.find((t=>t.isOn))))}function op(t,e,n){const o=t.locale,i=o.t,r=t.toolbarView=new Nu(o),s=\"function\"==typeof e?e():e;r.ariaLabel=n.ariaLabel||i(\"Dropdown toolbar\"),n.maxWidth&&(r.maxWidth=n.maxWidth),n.class&&(r.class=n.class),n.isCompact&&(r.isCompact=n.isCompact),n.isVertical&&(r.isVertical=!0),s instanceof Pi?r.items.bindTo(s).using((t=>t)):r.items.addMany(s),t.panelView.children.add(r),r.items.delegate(\"execute\").to(t)}function ip(t,e,n={}){t.isOpen?rp(t,e,n):t.once(\"change:isOpen\",(()=>rp(t,e,n)),{priority:\"highest\"}),sp(t,(()=>t.listView.items.find((t=>t instanceof Gu&&t.children.first.isOn))))}function rp(t,e,n){const o=t.locale,i=t.listView=new Wu(o),r=\"function\"==typeof e?e():e;i.ariaLabel=n.ariaLabel,i.role=n.role,ap(t,i.items,r,o),t.panelView.children.add(i),i.items.delegate(\"execute\").to(t)}function sp(t,e){t.on(\"change:isOpen\",(()=>{if(!t.isOpen)return;const n=e();n&&(\"function\"==typeof n.focus?n.focus():b(\"ui-dropdown-focus-child-on-open-child-missing-focus\",{view:n}))}),{priority:g.low-10})}function ap(t,e,n,o){e.bindTo(n).using((e=>{if(\"separator\"===e.type)return new $u(o);if(\"group\"===e.type){const n=new ju(o);return n.set({label:e.label}),ap(t,n.items,e.items,o),n.items.delegate(\"execute\").to(t),n}if(\"button\"===e.type||\"switchbutton\"===e.type){const t=new Gu(o);let n;return\"button\"===e.type?(n=new hr(o),n.extendTemplate({attributes:{\"aria-checked\":n.bindTemplate.to(\"isOn\")}})):n=new gr(o),n.bind(...Object.keys(e.model)).to(e.model),n.delegate(\"execute\").to(t),t.children.add(n),t}return null}))}const cp=(t,e,n)=>{const o=new Dr(t.locale);return o.set({id:e,ariaDescribedById:n}),o.bind(\"isReadOnly\").to(t,\"isEnabled\",(t=>!t)),o.bind(\"hasError\").to(t,\"errorText\",(t=>!!t)),o.on(\"input\",(()=>{t.errorText=null})),t.bind(\"isEmpty\",\"isFocused\",\"placeholder\").to(o),o},lp=(t,e=0,n=1)=>t>n?n:tMath.round(n*t)/n,hp=(Math.PI,t=>(\"#\"===t[0]&&(t=t.substring(1)),t.length<6?{r:parseInt(t[0]+t[0],16),g:parseInt(t[1]+t[1],16),b:parseInt(t[2]+t[2],16),a:4===t.length?dp(parseInt(t[3]+t[3],16)/255,2):1}:{r:parseInt(t.substring(0,2),16),g:parseInt(t.substring(2,4),16),b:parseInt(t.substring(4,6),16),a:8===t.length?dp(parseInt(t.substring(6,8),16)/255,2):1})),up=({h:t,s:e,v:n,a:o})=>{const i=(200-e)*n/100;return{h:dp(t),s:dp(i>0&&i<200?e*n/100/(i<=100?i:200-i)*100:0),l:dp(i/2),a:dp(o,2)}},pp=t=>{const{h:e,s:n,l:o}=up(t);return`hsl(${e}, ${n}%, ${o}%)`},gp=({h:t,s:e,v:n,a:o})=>{t=t/360*6,e/=100,n/=100;const i=Math.floor(t),r=n*(1-e),s=n*(1-(t-i)*e),a=n*(1-(1-t+i)*e),c=i%6;return{r:dp(255*[n,s,r,r,a,n][c]),g:dp(255*[a,n,n,s,r,r][c]),b:dp(255*[r,r,a,n,n,s][c]),a:dp(o,2)}},mp=t=>{const e=t.toString(16);return e.length<2?\"0\"+e:e},fp=({r:t,g:e,b:n,a:o})=>{const i=o<1?mp(dp(255*o)):\"\";return\"#\"+mp(t)+mp(e)+mp(n)+i},kp=({r:t,g:e,b:n,a:o})=>{const i=Math.max(t,e,n),r=i-Math.min(t,e,n),s=r?i===t?(e-n)/r:i===e?2+(n-t)/r:4+(t-e)/r:0;return{h:dp(60*(s<0?s+6:s)),s:dp(i?r/i*100:0),v:dp(i/255*100),a:o}},bp=(t,e)=>{if(t===e)return!0;for(const n in t)if(t[n]!==e[n])return!1;return!0},wp={},_p=t=>{let e=wp[t];return e||(e=document.createElement(\"template\"),e.innerHTML=t,wp[t]=e),e},Ap=(t,e,n)=>{t.dispatchEvent(new CustomEvent(e,{bubbles:!0,detail:n}))};let Cp=!1;const vp=t=>\"touches\"in t,yp=(t,e)=>{const n=vp(e)?e.touches[0]:e,o=t.el.getBoundingClientRect();Ap(t.el,\"move\",t.getMove({x:lp((n.pageX-(o.left+window.pageXOffset))/o.width),y:lp((n.pageY-(o.top+window.pageYOffset))/o.height)}))};class xp{constructor(t,e,n,o){const i=_p(`
`);t.appendChild(i.content.cloneNode(!0));const r=t.querySelector(`[part=${e}]`);r.addEventListener(\"mousedown\",this),r.addEventListener(\"touchstart\",this),r.addEventListener(\"keydown\",this),this.el=r,this.xy=o,this.nodes=[r.firstChild,r]}set dragging(t){const e=t?document.addEventListener:document.removeEventListener;e(Cp?\"touchmove\":\"mousemove\",this),e(Cp?\"touchend\":\"mouseup\",this)}handleEvent(t){switch(t.type){case\"mousedown\":case\"touchstart\":if(t.preventDefault(),!(t=>!(Cp&&!vp(t)||(Cp||(Cp=vp(t)),0)))(t)||!Cp&&0!=t.button)return;this.el.focus(),yp(this,t),this.dragging=!0;break;case\"mousemove\":case\"touchmove\":t.preventDefault(),yp(this,t);break;case\"mouseup\":case\"touchend\":this.dragging=!1;break;case\"keydown\":((t,e)=>{const n=e.keyCode;n>40||t.xy&&n<37||n<33||(e.preventDefault(),Ap(t.el,\"move\",t.getMove({x:39===n?.01:37===n?-.01:34===n?.05:33===n?-.05:35===n?1:36===n?-1:0,y:40===n?.01:38===n?-.01:0},!0)))})(this,t)}}style(t){t.forEach(((t,e)=>{for(const n in t)this.nodes[e].style.setProperty(n,t[n])}))}}class Ep extends xp{constructor(t){super(t,\"hue\",'aria-label=\"Hue\" aria-valuemin=\"0\" aria-valuemax=\"360\"',!1)}update({h:t}){this.h=t,this.style([{left:t/360*100+\"%\",color:pp({h:t,s:100,v:100,a:1})}]),this.el.setAttribute(\"aria-valuenow\",`${dp(t)}`)}getMove(t,e){return{h:e?lp(this.h+360*t.x,0,360):360*t.x}}}class Dp extends xp{constructor(t){super(t,\"saturation\",'aria-label=\"Color\"',!0)}update(t){this.hsva=t,this.style([{top:100-t.v+\"%\",left:`${t.s}%`,color:pp(t)},{\"background-color\":pp({h:t.h,s:100,v:100,a:1})}]),this.el.setAttribute(\"aria-valuetext\",`Saturation ${dp(t.s)}%, Brightness ${dp(t.v)}%`)}getMove(t,e){return{s:e?lp(this.hsva.s+100*t.x,0,100):100*t.x,v:e?lp(this.hsva.v-100*t.y,0,100):Math.round(100-100*t.y)}}}const Sp=Symbol(\"same\"),Bp=Symbol(\"color\"),Tp=Symbol(\"hsva\"),Pp=Symbol(\"update\"),Ip=Symbol(\"parts\"),Rp=Symbol(\"css\"),Op=Symbol(\"sliders\");class zp extends HTMLElement{static get observedAttributes(){return[\"color\"]}get[Rp](){return[':host{display:flex;flex-direction:column;position:relative;width:200px;height:200px;user-select:none;-webkit-user-select:none;cursor:default}:host([hidden]){display:none!important}[role=slider]{position:relative;touch-action:none;user-select:none;-webkit-user-select:none;outline:0}[role=slider]:last-child{border-radius:0 0 8px 8px}[part$=pointer]{position:absolute;z-index:1;box-sizing:border-box;width:28px;height:28px;display:flex;place-content:center center;transform:translate(-50%,-50%);background-color:#fff;border:2px solid #fff;border-radius:50%;box-shadow:0 2px 4px rgba(0,0,0,.2)}[part$=pointer]::after{content:\"\";width:100%;height:100%;border-radius:inherit;background-color:currentColor}[role=slider]:focus [part$=pointer]{transform:translate(-50%,-50%) scale(1.1)}',\"[part=hue]{flex:0 0 24px;background:linear-gradient(to right,red 0,#ff0 17%,#0f0 33%,#0ff 50%,#00f 67%,#f0f 83%,red 100%)}[part=hue-pointer]{top:50%;z-index:2}\",\"[part=saturation]{flex-grow:1;border-color:transparent;border-bottom:12px solid #000;border-radius:8px 8px 0 0;background-image:linear-gradient(to top,#000,transparent),linear-gradient(to right,#fff,rgba(255,255,255,0));box-shadow:inset 0 0 0 1px rgba(0,0,0,.05)}[part=saturation-pointer]{z-index:3}\"]}get[Op](){return[Dp,Ep]}get color(){return this[Bp]}set color(t){if(!this[Sp](t)){const e=this.colorModel.toHsva(t);this[Pp](e),this[Bp]=t}}constructor(){super();const t=_p(``),e=this.attachShadow({mode:\"open\"});e.appendChild(t.content.cloneNode(!0)),e.addEventListener(\"move\",this),this[Ip]=this[Op].map((t=>new t(e)))}connectedCallback(){if(this.hasOwnProperty(\"color\")){const t=this.color;delete this.color,this.color=t}else this.color||(this.color=this.colorModel.defaultColor)}attributeChangedCallback(t,e,n){const o=this.colorModel.fromAttr(n);this[Sp](o)||(this.color=o)}handleEvent(t){const e=this[Tp],n={...e,...t.detail};let o;this[Pp](n),bp(n,e)||this[Sp](o=this.colorModel.fromHsva(n))||(this[Bp]=o,Ap(this,\"color-changed\",{value:o}))}[Sp](t){return this.color&&this.colorModel.equal(t,this.color)}[Pp](t){this[Tp]=t,this[Ip].forEach((e=>e.update(t)))}}const Mp={defaultColor:\"#000\",toHsva:t=>kp(hp(t)),fromHsva:({h:t,s:e,v:n})=>fp(gp({h:t,s:e,v:n,a:1})),equal:(t,e)=>t.toLowerCase()===e.toLowerCase()||bp(hp(t),hp(e)),fromAttr:t=>t};class Fp extends zp{get colorModel(){return Mp}}customElements.define(\"hex-color-picker\",class extends Fp{});var Np=n(4257),Vp={injectType:\"singletonStyleTag\",attributes:{\"data-cke\":!0},insert:\"head\",singleton:!0};Ri()(Np.Z,Vp);Np.Z.locals;j(Ai);var Lp=n(6306),Hp={injectType:\"singletonStyleTag\",attributes:{\"data-cke\":!0},insert:\"head\",singleton:!0};Ri()(Lp.Z,Hp);Lp.Z.locals;class jp{constructor(t){this._components=new Map,this.editor=t}*names(){for(const t of this._components.values())yield t.originalName}add(t,e){this._components.set(qp(t),{callback:e,originalName:t})}create(t){if(!this.has(t))throw new k(\"componentfactory-item-missing\",this,{name:t});return this._components.get(qp(t)).callback(this.editor.locale)}has(t){return this._components.has(qp(t))}}function qp(t){return String(t).toLowerCase()}var Kp=n(4460),Wp={injectType:\"singletonStyleTag\",attributes:{\"data-cke\":!0},insert:\"head\",singleton:!0};Ri()(Kp.Z,Wp);Kp.Z.locals;const Gp=Ko(\"px\"),$p=Po.document.body,Up={top:-99999,left:-99999,name:\"arrowless\",config:{withArrow:!1}};class Zp extends Mi{constructor(t){super(t);const e=this.bindTemplate;this.set(\"top\",0),this.set(\"left\",0),this.set(\"position\",\"arrow_nw\"),this.set(\"isVisible\",!1),this.set(\"withArrow\",!0),this.set(\"class\",void 0),this._pinWhenIsVisibleCallback=null,this.content=this.createCollection(),this.setTemplate({tag:\"div\",attributes:{class:[\"ck\",\"ck-balloon-panel\",e.to(\"position\",(t=>`ck-balloon-panel_${t}`)),e.if(\"isVisible\",\"ck-balloon-panel_visible\"),e.if(\"withArrow\",\"ck-balloon-panel_with-arrow\"),e.to(\"class\")],style:{top:e.to(\"top\",Gp),left:e.to(\"left\",Gp)}},children:this.content})}show(){this.isVisible=!0}hide(){this.isVisible=!1}attachTo(t){this.show();const e=Zp.defaultPositions,n=Object.assign({},{element:this.element,positions:[e.southArrowNorth,e.southArrowNorthMiddleWest,e.southArrowNorthMiddleEast,e.southArrowNorthWest,e.southArrowNorthEast,e.northArrowSouth,e.northArrowSouthMiddleWest,e.northArrowSouthMiddleEast,e.northArrowSouthWest,e.northArrowSouthEast,e.viewportStickyNorth],limiter:$p,fitInViewport:!0},t),o=Zp._getOptimalPosition(n)||Up,i=parseInt(o.left),r=parseInt(o.top),s=o.name,a=o.config||{},{withArrow:c=!0}=a;this.top=r,this.left=i,this.position=s,this.withArrow=c}pin(t){this.unpin(),this._pinWhenIsVisibleCallback=()=>{this.isVisible?this._startPinning(t):this._stopPinning()},this._startPinning(t),this.listenTo(this,\"change:isVisible\",this._pinWhenIsVisibleCallback)}unpin(){this._pinWhenIsVisibleCallback&&(this._stopPinning(),this.stopListening(this,\"change:isVisible\",this._pinWhenIsVisibleCallback),this._pinWhenIsVisibleCallback=null,this.hide())}_startPinning(t){this.attachTo(t);const e=Jp(t.target),n=t.limiter?Jp(t.limiter):$p;this.listenTo(Po.document,\"scroll\",((o,i)=>{const r=i.target,s=e&&r.contains(e),a=n&&r.contains(n);!s&&!a&&e&&n||this.attachTo(t)}),{useCapture:!0}),this.listenTo(Po.window,\"resize\",(()=>{this.attachTo(t)}))}_stopPinning(){this.stopListening(Po.document,\"scroll\"),this.stopListening(Po.window,\"resize\")}}function Jp(t){return _o(t)?t:Ro(t)?t.commonAncestorContainer:\"function\"==typeof t?Jp(t()):null}function Yp(t={}){const{sideOffset:e=Zp.arrowSideOffset,heightOffset:n=Zp.arrowHeightOffset,stickyVerticalOffset:o=Zp.stickyVerticalOffset,config:i}=t;return{northWestArrowSouthWest:(t,n)=>({top:r(t,n),left:t.left-e,name:\"arrow_sw\",...i&&{config:i}}),northWestArrowSouthMiddleWest:(t,n)=>({top:r(t,n),left:t.left-.25*n.width-e,name:\"arrow_smw\",...i&&{config:i}}),northWestArrowSouth:(t,e)=>({top:r(t,e),left:t.left-e.width/2,name:\"arrow_s\",...i&&{config:i}}),northWestArrowSouthMiddleEast:(t,n)=>({top:r(t,n),left:t.left-.75*n.width+e,name:\"arrow_sme\",...i&&{config:i}}),northWestArrowSouthEast:(t,n)=>({top:r(t,n),left:t.left-n.width+e,name:\"arrow_se\",...i&&{config:i}}),northArrowSouthWest:(t,n)=>({top:r(t,n),left:t.left+t.width/2-e,name:\"arrow_sw\",...i&&{config:i}}),northArrowSouthMiddleWest:(t,n)=>({top:r(t,n),left:t.left+t.width/2-.25*n.width-e,name:\"arrow_smw\",...i&&{config:i}}),northArrowSouth:(t,e)=>({top:r(t,e),left:t.left+t.width/2-e.width/2,name:\"arrow_s\",...i&&{config:i}}),northArrowSouthMiddleEast:(t,n)=>({top:r(t,n),left:t.left+t.width/2-.75*n.width+e,name:\"arrow_sme\",...i&&{config:i}}),northArrowSouthEast:(t,n)=>({top:r(t,n),left:t.left+t.width/2-n.width+e,name:\"arrow_se\",...i&&{config:i}}),northEastArrowSouthWest:(t,n)=>({top:r(t,n),left:t.right-e,name:\"arrow_sw\",...i&&{config:i}}),northEastArrowSouthMiddleWest:(t,n)=>({top:r(t,n),left:t.right-.25*n.width-e,name:\"arrow_smw\",...i&&{config:i}}),northEastArrowSouth:(t,e)=>({top:r(t,e),left:t.right-e.width/2,name:\"arrow_s\",...i&&{config:i}}),northEastArrowSouthMiddleEast:(t,n)=>({top:r(t,n),left:t.right-.75*n.width+e,name:\"arrow_sme\",...i&&{config:i}}),northEastArrowSouthEast:(t,n)=>({top:r(t,n),left:t.right-n.width+e,name:\"arrow_se\",...i&&{config:i}}),southWestArrowNorthWest:t=>({top:s(t),left:t.left-e,name:\"arrow_nw\",...i&&{config:i}}),southWestArrowNorthMiddleWest:(t,n)=>({top:s(t),left:t.left-.25*n.width-e,name:\"arrow_nmw\",...i&&{config:i}}),southWestArrowNorth:(t,e)=>({top:s(t),left:t.left-e.width/2,name:\"arrow_n\",...i&&{config:i}}),southWestArrowNorthMiddleEast:(t,n)=>({top:s(t),left:t.left-.75*n.width+e,name:\"arrow_nme\",...i&&{config:i}}),southWestArrowNorthEast:(t,n)=>({top:s(t),left:t.left-n.width+e,name:\"arrow_ne\",...i&&{config:i}}),southArrowNorthWest:t=>({top:s(t),left:t.left+t.width/2-e,name:\"arrow_nw\",...i&&{config:i}}),southArrowNorthMiddleWest:(t,n)=>({top:s(t),left:t.left+t.width/2-.25*n.width-e,name:\"arrow_nmw\",...i&&{config:i}}),southArrowNorth:(t,e)=>({top:s(t),left:t.left+t.width/2-e.width/2,name:\"arrow_n\",...i&&{config:i}}),southArrowNorthMiddleEast:(t,n)=>({top:s(t),left:t.left+t.width/2-.75*n.width+e,name:\"arrow_nme\",...i&&{config:i}}),southArrowNorthEast:(t,n)=>({top:s(t),left:t.left+t.width/2-n.width+e,name:\"arrow_ne\",...i&&{config:i}}),southEastArrowNorthWest:t=>({top:s(t),left:t.right-e,name:\"arrow_nw\",...i&&{config:i}}),southEastArrowNorthMiddleWest:(t,n)=>({top:s(t),left:t.right-.25*n.width-e,name:\"arrow_nmw\",...i&&{config:i}}),southEastArrowNorth:(t,e)=>({top:s(t),left:t.right-e.width/2,name:\"arrow_n\",...i&&{config:i}}),southEastArrowNorthMiddleEast:(t,n)=>({top:s(t),left:t.right-.75*n.width+e,name:\"arrow_nme\",...i&&{config:i}}),southEastArrowNorthEast:(t,n)=>({top:s(t),left:t.right-n.width+e,name:\"arrow_ne\",...i&&{config:i}}),westArrowEast:(t,e)=>({top:t.top+t.height/2-e.height/2,left:t.left-e.width-n,name:\"arrow_e\",...i&&{config:i}}),eastArrowWest:(t,e)=>({top:t.top+t.height/2-e.height/2,left:t.right+n,name:\"arrow_w\",...i&&{config:i}}),viewportStickyNorth:(t,e,n,r)=>{const s=r||n;return t.getIntersection(s)?s.height-t.height>o?null:{top:s.top+o,left:t.left+t.width/2-e.width/2,name:\"arrowless\",config:{withArrow:!1,...i}}:null}};function r(t,e){return t.top-e.height-n}function s(t){return t.bottom+n}}Zp.arrowSideOffset=25,Zp.arrowHeightOffset=10,Zp.stickyVerticalOffset=20,Zp._getOptimalPosition=Zo,Zp.defaultPositions=Yp();var Qp=n(3888),Xp={injectType:\"singletonStyleTag\",attributes:{\"data-cke\":!0},insert:\"head\",singleton:!0};Ri()(Qp.Z,Xp);Qp.Z.locals;const tg=\"ck-tooltip\";class eg extends(Do()){constructor(t){if(super(),this._currentElementWithTooltip=null,this._currentTooltipPosition=null,this._resizeObserver=null,eg._editors.add(t),eg._instance)return eg._instance;eg._instance=this,this.tooltipTextView=new Mi(t.locale),this.tooltipTextView.set(\"text\",\"\"),this.tooltipTextView.setTemplate({tag:\"span\",attributes:{class:[\"ck\",\"ck-tooltip__text\"]},children:[{text:this.tooltipTextView.bindTemplate.to(\"text\")}]}),this.balloonPanelView=new Zp(t.locale),this.balloonPanelView.class=tg,this.balloonPanelView.content.add(this.tooltipTextView),this._pinTooltipDebounced=jc(this._pinTooltip,600),this.listenTo(Po.document,\"mouseenter\",this._onEnterOrFocus.bind(this),{useCapture:!0}),this.listenTo(Po.document,\"mouseleave\",this._onLeaveOrBlur.bind(this),{useCapture:!0}),this.listenTo(Po.document,\"focus\",this._onEnterOrFocus.bind(this),{useCapture:!0}),this.listenTo(Po.document,\"blur\",this._onLeaveOrBlur.bind(this),{useCapture:!0}),this.listenTo(Po.document,\"scroll\",this._onScroll.bind(this),{useCapture:!0}),this._watchdogExcluded=!0}destroy(t){const e=t.ui.view&&t.ui.view.body;eg._editors.delete(t),this.stopListening(t.ui),e&&e.has(this.balloonPanelView)&&e.remove(this.balloonPanelView),eg._editors.size||(this._unpinTooltip(),this.balloonPanelView.destroy(),this.stopListening(),eg._instance=null)}static getPositioningFunctions(t){const e=eg.defaultBalloonPositions;return{s:[e.southArrowNorth,e.southArrowNorthEast,e.southArrowNorthWest],n:[e.northArrowSouth],e:[e.eastArrowWest],w:[e.westArrowEast],sw:[e.southArrowNorthEast],se:[e.southArrowNorthWest]}[t]}_onEnterOrFocus(t,{target:e}){const n=ng(e);var o;n&&(n!==this._currentElementWithTooltip&&(this._unpinTooltip(),this._pinTooltipDebounced(n,{text:(o=n).dataset.ckeTooltipText,position:o.dataset.ckeTooltipPosition||\"s\",cssClass:o.dataset.ckeTooltipClass||\"\"})))}_onLeaveOrBlur(t,{target:e,relatedTarget:n}){if(\"mouseleave\"===t.name){if(!_o(e))return;if(this._currentElementWithTooltip&&e!==this._currentElementWithTooltip)return;const t=ng(e),o=ng(n);t&&t!==o&&this._unpinTooltip()}else{if(this._currentElementWithTooltip&&e!==this._currentElementWithTooltip)return;this._unpinTooltip()}}_onScroll(t,{target:e}){this._currentElementWithTooltip&&(e.contains(this.balloonPanelView.element)&&e.contains(this._currentElementWithTooltip)||this._unpinTooltip())}_pinTooltip(t,{text:e,position:n,cssClass:o}){const i=Ci(eg._editors.values()).ui.view.body;i.has(this.balloonPanelView)||i.add(this.balloonPanelView),this.tooltipTextView.text=e,this.balloonPanelView.pin({target:t,positions:eg.getPositioningFunctions(n)}),this._resizeObserver=new jo(t,(()=>{Uo(t)||this._unpinTooltip()})),this.balloonPanelView.class=[tg,o].filter((t=>t)).join(\" \");for(const t of eg._editors)this.listenTo(t.ui,\"update\",this._updateTooltipPosition.bind(this),{priority:\"low\"});this._currentElementWithTooltip=t,this._currentTooltipPosition=n}_unpinTooltip(){this._pinTooltipDebounced.cancel(),this.balloonPanelView.unpin();for(const t of eg._editors)this.stopListening(t.ui,\"update\");this._currentElementWithTooltip=null,this._currentTooltipPosition=null,this._resizeObserver&&this._resizeObserver.destroy()}_updateTooltipPosition(){Uo(this._currentElementWithTooltip)?this.balloonPanelView.pin({target:this._currentElementWithTooltip,positions:eg.getPositioningFunctions(this._currentTooltipPosition)}):this._unpinTooltip()}}function ng(t){return _o(t)?t.closest(\"[data-cke-tooltip-text]:not([data-cke-tooltip-disabled])\"):null}eg.defaultBalloonPositions=Yp({heightOffset:5,sideOffset:13}),eg._editors=new Set,eg._instance=null;const og=function(t,e,n){var o=!0,i=!0;if(\"function\"!=typeof t)throw new TypeError(\"Expected a function\");return z(n)&&(o=\"leading\"in n?!!n.leading:o,i=\"trailing\"in n?!!n.trailing:i),jc(t,e,{leading:o,maxWait:e,trailing:i})},ig=50,rg=350,sg=\"Powered by\";class ag extends(Do()){constructor(t){super(),this.editor=t,this._balloonView=null,this._lastFocusedEditableElement=null,this._showBalloonThrottled=og(this._showBalloon.bind(this),50,{leading:!0}),t.on(\"ready\",this._handleEditorReady.bind(this))}destroy(){const t=this._balloonView;t&&(t.unpin(),this._balloonView=null),this._showBalloonThrottled.cancel(),this.stopListening()}_handleEditorReady(){const t=this.editor;(!!t.config.get(\"ui.poweredBy.forceVisible\")||\"VALID\"!==function(t){function e(t){return t.length>=40&&t.length<=255?\"VALID\":\"INVALID\"}if(!t)return\"INVALID\";let n=\"\";try{n=atob(t)}catch(t){return\"INVALID\"}const o=n.split(\"-\"),i=o[0],r=o[1];if(!r)return e(t);try{atob(r)}catch(n){try{if(atob(i),!atob(i).length)return e(t)}catch(n){return e(t)}}if(i.length<40||i.length>255)return\"INVALID\";let s=\"\";try{atob(i),s=atob(r)}catch(t){return\"INVALID\"}if(8!==s.length)return\"INVALID\";const a=Number(s.substring(0,4)),c=Number(s.substring(4,6))-1,l=Number(s.substring(6,8)),d=new Date(a,c,l);return d{this._updateLastFocusedEditableElement(),n?this._showBalloon():this._hideBalloon()})),t.ui.focusTracker.on(\"change:focusedElement\",((t,e,n)=>{this._updateLastFocusedEditableElement(),n&&this._showBalloon()})),t.ui.on(\"update\",(()=>{this._showBalloonThrottled()})))}_createBalloonView(){const t=this.editor,e=this._balloonView=new Zp,n=dg(t),o=new cg(t.locale,n.label);e.content.add(o),e.set({class:\"ck-powered-by-balloon\"}),t.ui.view.body.add(e),t.ui.focusTracker.add(e.element),this._balloonView=e}_showBalloon(){if(!this._lastFocusedEditableElement)return;const t=function(t,e){const n=dg(t),o=\"right\"===n.side?function(t,e){return lg(t,e,((t,n)=>t.left+t.width-n.width-e.horizontalOffset))}(e,n):function(t,e){return lg(t,e,(t=>t.left+e.horizontalOffset))}(e,n);return{target:e,positions:[o]}}(this.editor,this._lastFocusedEditableElement);t&&(this._balloonView||this._createBalloonView(),this._balloonView.pin(t))}_hideBalloon(){this._balloonView&&this._balloonView.unpin()}_updateLastFocusedEditableElement(){const t=this.editor,e=t.ui.focusTracker.isFocused,n=t.ui.focusTracker.focusedElement;if(!e||!n)return void(this._lastFocusedEditableElement=null);const o=Array.from(t.ui.getEditableElementsNames()).map((e=>t.ui.getEditableElement(e)));o.includes(n)?this._lastFocusedEditableElement=n:this._lastFocusedEditableElement=o[0]}}class cg extends Mi{constructor(t,e){super(t);const n=new ar,o=this.bindTemplate;n.set({content:'\\n',isColorInherited:!1}),n.extendTemplate({attributes:{style:{width:\"53px\",height:\"10px\"}}}),this.setTemplate({tag:\"div\",attributes:{class:[\"ck\",\"ck-powered-by\"],\"aria-hidden\":!0},children:[{tag:\"a\",attributes:{href:\"https://ckeditor.com/?utm_source=ckeditor&utm_medium=referral&utm_campaign=701Dn000000hVgmIAE_powered_by_ckeditor_logo\",target:\"_blank\",tabindex:\"-1\"},children:[...e?[{tag:\"span\",attributes:{class:[\"ck\",\"ck-powered-by__label\"]},children:[e]}]:[],n],on:{dragstart:o.to((t=>t.preventDefault()))}}]})}}function lg(t,e,n){return(o,i)=>{const r=new Fo(t);if(r.widthe.regionName===t));i||(i=new fg(this.view.locale),this.view.regionViews.add(i)),i.set({regionName:t,text:e,politeness:n})}}class mg extends Mi{constructor(t){super(t),this.regionViews=this.createCollection(),this.setTemplate({tag:\"div\",attributes:{class:[\"ck\",\"ck-aria-live-announcer\"]},children:this.regionViews})}}class fg extends Mi{constructor(t){super(t);const e=this.bindTemplate;this.set(\"regionName\",\"\"),this.set(\"text\",\"\"),this.set(\"politeness\",pg.POLITE),this.setTemplate({tag:\"div\",attributes:{role:\"region\",\"data-region\":e.to(\"regionName\"),\"aria-live\":e.to(\"politeness\")},children:[{text:e.to(\"text\")}]})}}class kg extends(j()){constructor(t){super(),this.isReady=!1,this._editableElementsMap=new Map,this._focusableToolbarDefinitions=[];const e=t.editing.view;this.editor=t,this.componentFactory=new jp(t),this.focusTracker=new vi,this.tooltipManager=new eg(t),this.poweredBy=new ag(t),this.ariaLiveAnnouncer=new gg(t),this.set(\"viewportOffset\",this._readViewportOffsetFromConfig()),this.once(\"ready\",(()=>{this.isReady=!0})),this.listenTo(e.document,\"layoutChanged\",this.update.bind(this)),this.listenTo(e,\"scrollToTheSelection\",this._handleScrollToTheSelection.bind(this)),this._initFocusTracking()}get element(){return null}update(){this.fire(\"update\")}destroy(){this.stopListening(),this.focusTracker.destroy(),this.tooltipManager.destroy(this.editor),this.poweredBy.destroy();for(const t of this._editableElementsMap.values())t.ckeditorInstance=null,this.editor.keystrokes.stopListening(t);this._editableElementsMap=new Map,this._focusableToolbarDefinitions=[]}setEditableElement(t,e){this._editableElementsMap.set(t,e),e.ckeditorInstance||(e.ckeditorInstance=this.editor),this.focusTracker.add(e);const n=()=>{this.editor.editing.view.getDomRoot(t)||this.editor.keystrokes.listenTo(e)};this.isReady?n():this.once(\"ready\",n)}removeEditableElement(t){const e=this._editableElementsMap.get(t);e&&(this._editableElementsMap.delete(t),this.editor.keystrokes.stopListening(e),this.focusTracker.remove(e),e.ckeditorInstance=null)}getEditableElement(t=\"main\"){return this._editableElementsMap.get(t)}getEditableElementsNames(){return this._editableElementsMap.keys()}addToolbar(t,e={}){t.isRendered?(this.focusTracker.add(t.element),this.editor.keystrokes.listenTo(t.element)):t.once(\"render\",(()=>{this.focusTracker.add(t.element),this.editor.keystrokes.listenTo(t.element)})),this._focusableToolbarDefinitions.push({toolbarView:t,options:e})}get _editableElements(){return console.warn(\"editor-ui-deprecated-editable-elements: The EditorUI#_editableElements property has been deprecated and will be removed in the near future.\",{editorUI:this}),this._editableElementsMap}_readViewportOffsetFromConfig(){const t=this.editor,e=t.config.get(\"ui.viewportOffset\");if(e)return e;const n=t.config.get(\"toolbar.viewportTopOffset\");return n?(console.warn(\"editor-ui-deprecated-viewport-offset-config: The `toolbar.vieportTopOffset` configuration option is deprecated. It will be removed from future CKEditor versions. Use `ui.viewportOffset.top` instead.\"),{top:n}):{top:0}}_initFocusTracking(){const t=this.editor,e=t.editing.view;let n,o;t.keystrokes.set(\"Alt+F10\",((t,i)=>{const r=this.focusTracker.focusedElement;Array.from(this._editableElementsMap.values()).includes(r)&&!Array.from(e.domRoots.values()).includes(r)&&(n=r);const s=this._getCurrentFocusedToolbarDefinition();s&&o||(o=this._getFocusableCandidateToolbarDefinitions());for(let t=0;t{const i=this._getCurrentFocusedToolbarDefinition();i&&(n?(n.focus(),n=null):t.editing.view.focus(),i.options.afterBlur&&i.options.afterBlur(),o())}))}_getFocusableCandidateToolbarDefinitions(){const t=[];for(const e of this._focusableToolbarDefinitions){const{toolbarView:n,options:o}=e;(Uo(n.element)||o.beforeFocus)&&t.push(e)}return t.sort(((t,e)=>bg(t)-bg(e))),t}_getCurrentFocusedToolbarDefinition(){for(const t of this._focusableToolbarDefinitions)if(t.toolbarView.element&&t.toolbarView.element.contains(this.focusTracker.focusedElement))return t;return null}_focusFocusableCandidateToolbar(t){const{toolbarView:e,options:{beforeFocus:n}}=t;return n&&n(),!!Uo(e.element)&&(e.focus(),!0)}_handleScrollToTheSelection(t,e){const n={top:0,bottom:0,left:0,right:0,...this.viewportOffset};e.viewportOffset.top+=n.top,e.viewportOffset.bottom+=n.bottom,e.viewportOffset.left+=n.left,e.viewportOffset.right+=n.right}}function bg(t){const{toolbarView:e,options:n}=t;let o=10;return Uo(e.element)&&o--,n.isContextual&&o--,o}var wg=n(9847),_g={injectType:\"singletonStyleTag\",attributes:{\"data-cke\":!0},insert:\"head\",singleton:!0};Ri()(wg.Z,_g);wg.Z.locals;class Ag extends Mi{constructor(t){super(t),this.body=new ir(t)}render(){super.render(),this.body.attachToDom()}destroy(){return this.body.detachFromDom(),super.destroy()}}class Cg extends Ag{constructor(t){super(t),this.top=this.createCollection(),this.main=this.createCollection(),this._voiceLabelView=this._createVoiceLabel(),this.setTemplate({tag:\"div\",attributes:{class:[\"ck\",\"ck-reset\",\"ck-editor\",\"ck-rounded-corners\"],role:\"application\",dir:t.uiLanguageDirection,lang:t.uiLanguage,\"aria-labelledby\":this._voiceLabelView.id},children:[this._voiceLabelView,{tag:\"div\",attributes:{class:[\"ck\",\"ck-editor__top\",\"ck-reset_all\"],role:\"presentation\"},children:this.top},{tag:\"div\",attributes:{class:[\"ck\",\"ck-editor__main\"],role:\"presentation\"},children:this.main}]})}_createVoiceLabel(){const t=this.t,e=new wr;return e.text=t(\"Rich Text Editor\"),e.extendTemplate({attributes:{class:\"ck-voice-label\"}}),e}}class vg extends Mi{constructor(t,e,n){super(t),this.name=null,this.setTemplate({tag:\"div\",attributes:{class:[\"ck\",\"ck-content\",\"ck-editor__editable\",\"ck-rounded-corners\"],lang:t.contentLanguage,dir:t.contentLanguageDirection}}),this.set(\"isFocused\",!1),this._editableElement=n,this._hasExternalElement=!!this._editableElement,this._editingView=e}render(){super.render(),this._hasExternalElement?this.template.apply(this.element=this._editableElement):this._editableElement=this.element,this.on(\"change:isFocused\",(()=>this._updateIsFocusedClasses())),this._updateIsFocusedClasses()}destroy(){this._hasExternalElement&&this.template.revert(this._editableElement),super.destroy()}get hasExternalElement(){return this._hasExternalElement}_updateIsFocusedClasses(){const t=this._editingView;function e(e){t.change((n=>{const o=t.document.getRoot(e.name);n.addClass(e.isFocused?\"ck-focused\":\"ck-blurred\",o),n.removeClass(e.isFocused?\"ck-blurred\":\"ck-focused\",o)}))}t.isRenderingInProgress?function n(o){t.once(\"change:isRenderingInProgress\",((t,i,r)=>{r?n(o):e(o)}))}(this):e(this)}}class yg extends vg{constructor(t,e,n,o={}){super(t,e,n);const i=t.t;this.extendTemplate({attributes:{role:\"textbox\",class:\"ck-editor__editable_inline\"}}),this._generateLabel=o.label||(()=>i(\"Editor editing area: %0\",this.name))}render(){super.render();const t=this._editingView;t.change((e=>{const n=t.document.getRoot(this.name);e.setAttribute(\"aria-label\",this._generateLabel(this),n)}))}}var xg=n(1874),Eg={injectType:\"singletonStyleTag\",attributes:{\"data-cke\":!0},insert:\"head\",singleton:!0};Ri()(xg.Z,Eg);xg.Z.locals;class Dg extends(j()){constructor(t,e){super(),e&&Ec(this,e),t&&this.set(t)}}var Sg=n(7592),Bg={injectType:\"singletonStyleTag\",attributes:{\"data-cke\":!0},insert:\"head\",singleton:!0};Ri()(Sg.Z,Bg);Sg.Z.locals;var Tg=n(6356),Pg={injectType:\"singletonStyleTag\",attributes:{\"data-cke\":!0},insert:\"head\",singleton:!0};Ri()(Tg.Z,Pg);Tg.Z.locals,Ko(\"px\");var Ig=n(3707),Rg={injectType:\"singletonStyleTag\",attributes:{\"data-cke\":!0},insert:\"head\",singleton:!0};Ri()(Ig.Z,Rg);Ig.Z.locals;const Og=Ko(\"px\");class zg extends Mi{constructor(t){super(t);const e=this.bindTemplate;this.set(\"isActive\",!1),this.set(\"isSticky\",!1),this.set(\"limiterElement\",null),this.set(\"limiterBottomOffset\",50),this.set(\"viewportTopOffset\",0),this.set(\"_marginLeft\",null),this.set(\"_isStickyToTheBottomOfLimiter\",!1),this.set(\"_stickyTopOffset\",null),this.set(\"_stickyBottomOffset\",null),this.content=this.createCollection(),this._contentPanelPlaceholder=new Fi({tag:\"div\",attributes:{class:[\"ck\",\"ck-sticky-panel__placeholder\"],style:{display:e.to(\"isSticky\",(t=>t?\"block\":\"none\")),height:e.to(\"isSticky\",(t=>t?Og(this._contentPanelRect.height):null))}}}).render(),this._contentPanel=new Fi({tag:\"div\",attributes:{class:[\"ck\",\"ck-sticky-panel__content\",e.if(\"isSticky\",\"ck-sticky-panel__content_sticky\"),e.if(\"_isStickyToTheBottomOfLimiter\",\"ck-sticky-panel__content_sticky_bottom-limit\")],style:{width:e.to(\"isSticky\",(t=>t?Og(this._contentPanelPlaceholder.getBoundingClientRect().width):null)),top:e.to(\"_stickyTopOffset\",(t=>t?Og(t):t)),bottom:e.to(\"_stickyBottomOffset\",(t=>t?Og(t):t)),marginLeft:e.to(\"_marginLeft\")}},children:this.content}).render(),this.setTemplate({tag:\"div\",attributes:{class:[\"ck\",\"ck-sticky-panel\"]},children:[this._contentPanelPlaceholder,this._contentPanel]})}render(){super.render(),this.checkIfShouldBeSticky(),this.listenTo(Po.document,\"scroll\",(()=>{this.checkIfShouldBeSticky()}),{useCapture:!0}),this.listenTo(this,\"change:isActive\",(()=>{this.checkIfShouldBeSticky()}))}checkIfShouldBeSticky(){if(!this.limiterElement||!this.isActive)return void this._unstick();const t=new Fo(this.limiterElement);let e=t.getVisible();if(e){const t=new Fo(Po.window);t.top+=this.viewportTopOffset,t.height-=this.viewportTopOffset,e=e.getIntersection(t)}if(e&&t.tope.bottom){const n=Math.max(t.bottom-e.bottom,0)+this.limiterBottomOffset;t.bottom-n>t.top+this._contentPanelRect.height?this._stickToBottomOfLimiter(n):this._unstick()}else this._contentPanelRect.height+this.limiterBottomOffset{this.reset(),this.focus(),this.fire(\"reset\")})),this.resetButtonView.bind(\"isVisible\").to(this.fieldView,\"isEmpty\",(t=>!t)),this.fieldWrapperChildren.add(this.resetButtonView),this.extendTemplate({attributes:{class:\"ck-search__query_with-reset\"}}))}reset(){this.fieldView.reset(),this._viewConfig.showResetButton&&(this.resetButtonView.isVisible=!1)}}class Fg extends Mi{constructor(){super();const t=this.bindTemplate;this.set({isVisible:!1,primaryText:\"\",secondaryText:\"\"}),this.setTemplate({tag:\"div\",attributes:{class:[\"ck\",\"ck-search__info\",t.if(\"isVisible\",\"ck-hidden\",(t=>!t))],tabindex:-1},children:[{tag:\"span\",children:[{text:[t.to(\"primaryText\")]}]},{tag:\"span\",children:[{text:[t.to(\"secondaryText\")]}]}]})}focus(){this.element.focus()}}class Ng extends Mi{constructor(t){super(t),this.children=this.createCollection(),this.focusTracker=new vi,this.setTemplate({tag:\"div\",attributes:{class:[\"ck\",\"ck-search__results\"],tabindex:-1},children:this.children}),this._focusCycler=new Mr({focusables:this.children,focusTracker:this.focusTracker})}render(){super.render();for(const t of this.children)this.focusTracker.add(t.element)}focus(){this._focusCycler.focusFirst()}focusFirst(){this._focusCycler.focusFirst()}focusLast(){this._focusCycler.focusLast()}}var Vg=/[\\\\^$.*+?()[\\]{}|]/g,Lg=RegExp(Vg.source);const Hg=function(t){return(t=Ds(t))&&Lg.test(t)?t.replace(Vg,\"\\\\$&\"):t};var jg=n(9332),qg={injectType:\"singletonStyleTag\",attributes:{\"data-cke\":!0},insert:\"head\",singleton:!0};Ri()(jg.Z,qg);jg.Z.locals;class Kg extends Mi{constructor(t,e){super(t),this._config=e,this.filteredView=e.filteredView,this.queryView=this._createSearchTextQueryView(),this.focusTracker=new vi,this.keystrokes=new yi,this.resultsView=new Ng(t),this.children=this.createCollection(),this.focusableChildren=this.createCollection([this.queryView,this.resultsView]),this.set(\"isEnabled\",!0),this.set(\"resultsCount\",0),this.set(\"totalItemsCount\",0),e.infoView&&e.infoView.instance?this.infoView=e.infoView.instance:(this.infoView=new Fg,this._enableDefaultInfoViewBehavior(),this.on(\"render\",(()=>{this.search(\"\")}))),this.resultsView.children.addMany([this.infoView,this.filteredView]),this.focusCycler=new Mr({focusables:this.focusableChildren,focusTracker:this.focusTracker,keystrokeHandler:this.keystrokes,actions:{focusPrevious:\"shift + tab\",focusNext:\"tab\"}}),this.on(\"search\",((t,{resultsCount:e,totalItemsCount:n})=>{this.resultsCount=e,this.totalItemsCount=n})),this.setTemplate({tag:\"div\",attributes:{class:[\"ck\",\"ck-search\",e.class||null],tabindex:\"-1\"},children:this.children})}render(){super.render(),this.children.addMany([this.queryView,this.resultsView]);const t=t=>t.stopPropagation();for(const t of this.focusableChildren)this.focusTracker.add(t.element);this.keystrokes.listenTo(this.element),this.keystrokes.set(\"arrowright\",t),this.keystrokes.set(\"arrowleft\",t),this.keystrokes.set(\"arrowup\",t),this.keystrokes.set(\"arrowdown\",t)}focus(){this.queryView.focus()}reset(){this.queryView.reset(),this.search(\"\")}search(t){const e=t?new RegExp(Hg(t),\"ig\"):null,n=this.filteredView.filter(e);this.fire(\"search\",{query:t,...n})}_createSearchTextQueryView(){const t=new Mg(this.locale,this._config.queryView);return this.listenTo(t.fieldView,\"input\",(()=>{this.search(t.fieldView.element.value)})),t.on(\"reset\",(()=>this.reset())),t.bind(\"isEnabled\").to(this),t}_enableDefaultInfoViewBehavior(){const t=this.locale.t,e=this.infoView;function n(t,{query:e,resultsCount:n,totalItemsCount:o}){return\"function\"==typeof t?t(e,n,o):t}this.on(\"search\",((o,i)=>{if(i.resultsCount)e.set({isVisible:!1});else{const o=this._config.infoView&&this._config.infoView.text;let r,s;i.totalItemsCount?o&&o.notFound?(r=o.notFound.primary,s=o.notFound.secondary):(r=t(\"No results found\"),s=\"\"):o&&o.noSearchableItems?(r=o.noSearchableItems.primary,s=o.noSearchableItems.secondary):(r=t(\"No searchable items\"),s=\"\"),e.set({primaryText:n(r,i),secondaryText:n(s,i),isVisible:!0})}}))}}var Wg=n(4029),Gg={injectType:\"singletonStyleTag\",attributes:{\"data-cke\":!0},insert:\"head\",singleton:!0};Ri()(Wg.Z,Gg);Wg.Z.locals;class $g extends Kg{constructor(t,e){super(t,e),this._config=e;const n=Ko(\"px\");this.extendTemplate({attributes:{class:[\"ck-autocomplete\"]}});const o=this.resultsView.bindTemplate;this.resultsView.set(\"isVisible\",!1),this.resultsView.set(\"_position\",\"s\"),this.resultsView.set(\"_width\",0),this.resultsView.extendTemplate({attributes:{class:[o.if(\"isVisible\",\"ck-hidden\",(t=>!t)),o.to(\"_position\",(t=>`ck-search__results_${t}`))],style:{width:o.to(\"_width\",n)}}}),this.focusTracker.on(\"change:isFocused\",((t,n,o)=>{this._updateResultsVisibility(),o?this.resultsView.element.scrollTop=0:e.resetOnBlur&&this.queryView.reset()})),this.on(\"search\",(()=>{this._updateResultsVisibility(),this._updateResultsViewWidthAndPosition()})),this.keystrokes.set(\"esc\",((t,e)=>{this.resultsView.isVisible&&(this.queryView.focus(),this.resultsView.isVisible=!1,e())})),this.listenTo(Po.document,\"scroll\",(()=>{this._updateResultsViewWidthAndPosition()})),this.on(\"change:isEnabled\",(()=>{this._updateResultsVisibility()})),this.filteredView.on(\"execute\",((t,{value:e})=>{this.focus(),this.reset(),this.queryView.fieldView.value=this.queryView.fieldView.element.value=e,this.resultsView.isVisible=!1})),this.resultsView.on(\"change:isVisible\",(()=>{this._updateResultsViewWidthAndPosition()}))}_updateResultsViewWidthAndPosition(){if(!this.resultsView.isVisible)return;this.resultsView._width=new Fo(this.queryView.fieldView.element).width;const t=$g._getOptimalPosition({element:this.resultsView.element,target:this.queryView.element,fitInViewport:!0,positions:$g.defaultResultsPositions});this.resultsView._position=t?t.name:\"s\"}_updateResultsVisibility(){const t=void 0===this._config.queryMinChars?0:this._config.queryMinChars,e=this.queryView.fieldView.element.value.length;this.resultsView.isVisible=this.focusTracker.isFocused&&this.isEnabled&&e>=t}}$g.defaultResultsPositions=[t=>({top:t.bottom,left:t.left,name:\"s\"}),(t,e)=>({top:t.top-e.height,left:t.left,name:\"n\"})],$g._getOptimalPosition=Zo;var Ug=n(4746),Zg={injectType:\"singletonStyleTag\",attributes:{\"data-cke\":!0},insert:\"head\",singleton:!0};Ri()(Ug.Z,Zg);Ug.Z.locals;var Jg=n(6446),Yg={injectType:\"singletonStyleTag\",attributes:{\"data-cke\":!0},insert:\"head\",singleton:!0};Ri()(Jg.Z,Yg);Jg.Z.locals;Ko(\"px\");var Qg=n(4176),Xg={injectType:\"singletonStyleTag\",attributes:{\"data-cke\":!0},insert:\"head\",singleton:!0};Ri()(Qg.Z,Xg);Qg.Z.locals,Ko(\"px\");Ko(\"px\");class tm extends kg{constructor(t,e){super(t),this.view=e,this._toolbarConfig=Lr(t.config.get(\"toolbar\")),this._elementReplacer=new U,this.listenTo(t.editing.view,\"scrollToTheSelection\",this._handleScrollToTheSelectionWithStickyPanel.bind(this))}get element(){return this.view.element}init(t){const e=this.editor,n=this.view,o=e.editing.view,i=n.editable,r=o.document.getRoot();i.name=r.rootName,n.render();const s=i.element;this.setEditableElement(i.name,s),n.editable.bind(\"isFocused\").to(this.focusTracker),o.attachDomRoot(s),t&&this._elementReplacer.replace(t,this.element),this._initPlaceholder(),this._initToolbar(),this.fire(\"ready\")}destroy(){super.destroy();const t=this.view,e=this.editor.editing.view;this._elementReplacer.restore(),e.detachDomRoot(t.editable.name),t.destroy()}_initToolbar(){const t=this.view;t.stickyPanel.bind(\"isActive\").to(this.focusTracker,\"isFocused\"),t.stickyPanel.limiterElement=t.element,t.stickyPanel.bind(\"viewportTopOffset\").to(this,\"viewportOffset\",(({top:t})=>t||0)),t.toolbar.fillFromConfig(this._toolbarConfig,this.componentFactory),this.addToolbar(t.toolbar)}_initPlaceholder(){const t=this.editor,e=t.editing.view,n=e.document.getRoot(),o=t.sourceElement;let i;const r=t.config.get(\"placeholder\");r&&(i=\"string\"==typeof r?r:r[this.view.editable.name]),!i&&o&&\"textarea\"===o.tagName.toLowerCase()&&(i=o.getAttribute(\"placeholder\")),i&&(n.placeholder=i),Xr({view:e,element:n,isDirectHost:!1,keepOnFocus:!0})}_handleScrollToTheSelectionWithStickyPanel(t,e,n){const o=this.view.stickyPanel;if(o.isSticky){const t=new Fo(o.element).height;e.viewportOffset.top+=t}else{const t=()=>{this.editor.editing.view.scrollToTheSelection(n)};this.listenTo(o,\"change:isSticky\",t),setTimeout((()=>{this.stopListening(o,\"change:isSticky\",t)}),20)}}}var em=n(3624),nm={injectType:\"singletonStyleTag\",attributes:{\"data-cke\":!0},insert:\"head\",singleton:!0};Ri()(em.Z,nm);em.Z.locals;class om extends Cg{constructor(t,e,n={}){super(t),this.stickyPanel=new zg(t),this.toolbar=new Nu(t,{shouldGroupWhenFull:n.shouldToolbarGroupWhenFull}),this.editable=new yg(t,e)}render(){super.render(),this.stickyPanel.content.add(this.toolbar),this.top.add(this.stickyPanel),this.main.add(this.editable)}}class im{constructor(t){if(this.crashes=[],this.state=\"initializing\",this._now=Date.now,this.crashes=[],this._crashNumberLimit=\"number\"==typeof t.crashNumberLimit?t.crashNumberLimit:3,this._minimumNonErrorTimePeriod=\"number\"==typeof t.minimumNonErrorTimePeriod?t.minimumNonErrorTimePeriod:5e3,this._boundErrorHandler=t=>{const e=\"error\"in t?t.error:t.reason;e instanceof Error&&this._handleError(e,t)},this._listeners={},!this._restart)throw new Error(\"The Watchdog class was split into the abstract `Watchdog` class and the `EditorWatchdog` class. Please, use `EditorWatchdog` if you have used the `Watchdog` class previously.\")}destroy(){this._stopErrorHandling(),this._listeners={}}on(t,e){this._listeners[t]||(this._listeners[t]=[]),this._listeners[t].push(e)}off(t,e){this._listeners[t]=this._listeners[t].filter((t=>t!==e))}_fire(t,...e){const n=this._listeners[t]||[];for(const t of n)t.apply(this,[null,...e])}_startErrorHandling(){window.addEventListener(\"error\",this._boundErrorHandler),window.addEventListener(\"unhandledrejection\",this._boundErrorHandler)}_stopErrorHandling(){window.removeEventListener(\"error\",this._boundErrorHandler),window.removeEventListener(\"unhandledrejection\",this._boundErrorHandler)}_handleError(t,e){if(this._shouldReactToError(t)){this.crashes.push({message:t.message,stack:t.stack,filename:e instanceof ErrorEvent?e.filename:void 0,lineno:e instanceof ErrorEvent?e.lineno:void 0,colno:e instanceof ErrorEvent?e.colno:void 0,date:this._now()});const n=this._shouldRestart();this.state=\"crashed\",this._fire(\"stateChange\"),this._fire(\"error\",{error:t,causesRestart:n}),n?this._restart():(this.state=\"crashedPermanently\",this._fire(\"stateChange\"))}}_shouldReactToError(t){return t.is&&t.is(\"CKEditorError\")&&void 0!==t.context&&null!==t.context&&\"ready\"===this.state&&this._isErrorComingFromThisItem(t)}_shouldRestart(){if(this.crashes.length<=this._crashNumberLimit)return!0;return(this.crashes[this.crashes.length-1].date-this.crashes[this.crashes.length-1-this._crashNumberLimit].date)/this._crashNumberLimit>this._minimumNonErrorTimePeriod}}function rm(t,e=new Set){const n=[t],o=new Set;let i=0;for(;n.length>i;){const t=n[i++];if(!o.has(t)&&sm(t)&&!e.has(t))if(o.add(t),Symbol.iterator in t)try{for(const e of t)n.push(e)}catch(t){}else for(const e in t)\"defaultValue\"!==e&&n.push(t[e])}return o}function sm(t){const e=Object.prototype.toString.call(t),n=typeof t;return!(\"number\"===n||\"boolean\"===n||\"string\"===n||\"symbol\"===n||\"function\"===n||\"[object Date]\"===e||\"[object RegExp]\"===e||\"[object Module]\"===e||null==t||t._watchdogExcluded||t instanceof EventTarget||t instanceof Event)}function am(t,e,n=new Set){if(t===e&&(\"object\"==typeof(o=t)&&null!==o))return!0;var o;const i=rm(t,n),r=rm(e,n);for(const t of i)if(r.has(t))return!0;return!1}class cm extends im{constructor(t,e={}){super(e),this._editor=null,this._initUsingData=!0,this._editables={},this._throttledSave=og(this._save.bind(this),\"number\"==typeof e.saveInterval?e.saveInterval:5e3),t&&(this._creator=(e,n)=>t.create(e,n)),this._destructor=t=>t.destroy()}get editor(){return this._editor}get _item(){return this._editor}setCreator(t){this._creator=t}setDestructor(t){this._destructor=t}_restart(){return Promise.resolve().then((()=>(this.state=\"initializing\",this._fire(\"stateChange\"),this._destroy()))).catch((t=>{console.error(\"An error happened during the editor destroying.\",t)})).then((()=>{const t={},e=[],n=this._config.rootsAttributes||{},o={};for(const[i,r]of Object.entries(this._data.roots))r.isLoaded?(t[i]=\"\",o[i]=n[i]||{}):e.push(i);const i={...this._config,extraPlugins:this._config.extraPlugins||[],lazyRoots:e,rootsAttributes:o,_watchdogInitialData:this._data};return delete i.initialData,i.extraPlugins.push(lm),this._initUsingData?this.create(t,i,i.context):_o(this._elementOrData)?this.create(this._elementOrData,i,i.context):this.create(this._editables,i,i.context)})).then((()=>{this._fire(\"restart\")}))}create(t=this._elementOrData,e=this._config,n){return Promise.resolve().then((()=>(super._startErrorHandling(),this._elementOrData=t,this._initUsingData=\"string\"==typeof t||Object.keys(t).length>0&&\"string\"==typeof Object.values(t)[0],this._config=this._cloneEditorConfiguration(e)||{},this._config.context=n,this._creator(t,this._config)))).then((t=>{this._editor=t,t.model.document.on(\"change:data\",this._throttledSave),this._lastDocumentVersion=t.model.document.version,this._data=this._getData(),this._initUsingData||(this._editables=this._getEditables()),this.state=\"ready\",this._fire(\"stateChange\")}))}destroy(){return Promise.resolve().then((()=>(this.state=\"destroyed\",this._fire(\"stateChange\"),super.destroy(),this._destroy())))}_destroy(){return Promise.resolve().then((()=>{this._stopErrorHandling(),this._throttledSave.cancel();const t=this._editor;return this._editor=null,t.model.document.off(\"change:data\",this._throttledSave),this._destructor(t)}))}_save(){const t=this._editor.model.document.version;try{this._data=this._getData(),this._initUsingData||(this._editables=this._getEditables()),this._lastDocumentVersion=t}catch(t){console.error(t,\"An error happened during restoring editor data. Editor will be restored from the previously saved data.\")}}_setExcludedProperties(t){this._excludedProps=t}_getData(){const t=this._editor,e=t.model.document.roots.filter((t=>t.isAttached()&&\"$graveyard\"!=t.rootName)),{plugins:n}=t,o=n.has(\"CommentsRepository\")&&n.get(\"CommentsRepository\"),i=n.has(\"TrackChanges\")&&n.get(\"TrackChanges\"),r={roots:{},markers:{},commentThreads:JSON.stringify([]),suggestions:JSON.stringify([])};e.forEach((t=>{r.roots[t.rootName]={content:JSON.stringify(Array.from(t.getChildren())),attributes:JSON.stringify(Array.from(t.getAttributes())),isLoaded:t._isLoaded}}));for(const e of t.model.markers)e._affectsData&&(r.markers[e.name]={rangeJSON:e.getRange().toJSON(),usingOperation:e._managedUsingOperations,affectsData:e._affectsData});return o&&(r.commentThreads=JSON.stringify(o.getCommentThreads({toJSON:!0,skipNotAttached:!0}))),i&&(r.suggestions=JSON.stringify(i.getSuggestions({toJSON:!0,skipNotAttached:!0}))),r}_getEditables(){const t={};for(const e of this.editor.model.document.getRootNames()){const n=this.editor.ui.getEditableElement(e);n&&(t[e]=n)}return t}_isErrorComingFromThisItem(t){return am(this._editor,t.context,this._excludedProps)}_cloneEditorConfiguration(t){return wo(t,((t,e)=>_o(t)||\"context\"===e?t:void 0))}}class lm{constructor(t){this.editor=t,this._data=t.config.get(\"_watchdogInitialData\")}init(){this.editor.data.on(\"init\",(t=>{t.stop(),this.editor.model.enqueueChange({isUndoable:!1},(t=>{this._restoreCollaborationData(),this._restoreEditorData(t)})),this.editor.data.fire(\"ready\")}),{priority:999})}_createNode(t,e){if(\"name\"in e){const n=t.createElement(e.name,e.attributes);if(e.children)for(const o of e.children)n._appendChild(this._createNode(t,o));return n}return t.createText(e.data,e.attributes)}_restoreEditorData(t){const e=this.editor;Object.entries(this._data.roots).forEach((([n,{content:o,attributes:i}])=>{const r=JSON.parse(o),s=JSON.parse(i),a=e.model.document.getRoot(n);for(const[e,n]of s)t.setAttribute(e,n,a);for(const e of r){const n=this._createNode(t,e);t.insert(n,a,\"end\")}})),Object.entries(this._data.markers).forEach((([n,o])=>{const{document:i}=e.model,{rangeJSON:{start:r,end:s},...a}=o,c=i.getRoot(r.root),l=t.createPositionFromPath(c,r.path,r.stickiness),d=t.createPositionFromPath(c,s.path,s.stickiness),h=t.createRange(l,d);t.addMarker(n,{range:h,...a})}))}_restoreCollaborationData(){const t=JSON.parse(this._data.commentThreads),e=JSON.parse(this._data.suggestions);t.forEach((t=>{const e=this.editor.config.get(\"collaboration.channelId\"),n=this.editor.plugins.get(\"CommentsRepository\");if(n.hasCommentThread(t.threadId)){n.getCommentThread(t.threadId).remove()}n.addCommentThread({channelId:e,...t})})),e.forEach((t=>{const e=this.editor.plugins.get(\"TrackChangesEditing\");if(e.hasSuggestion(t.id)){e.getSuggestion(t.id).attributes=t.attributes}else e.addSuggestionData(t)}))}}const dm=Symbol(\"MainQueueId\");class hm{constructor(){this._onEmptyCallbacks=[],this._queues=new Map,this._activeActions=0}onEmpty(t){this._onEmptyCallbacks.push(t)}enqueue(t,e){const n=t===dm;this._activeActions++,this._queues.get(t)||this._queues.set(t,Promise.resolve());const o=(n?Promise.all(this._queues.values()):Promise.all([this._queues.get(dm),this._queues.get(t)])).then(e),i=o.catch((()=>{}));return this._queues.set(t,i),o.finally((()=>{this._activeActions--,this._queues.get(t)===i&&0===this._activeActions&&this._onEmptyCallbacks.forEach((t=>t()))}))}}function um(t){return Array.isArray(t)?t:[t]}class pm extends(Pu(Iu(Tu))){constructor(t,e={}){if(!gm(t)&&void 0!==e.initialData)throw new k(\"editor-create-initial-data\",null);super(e),void 0===this.config.get(\"initialData\")&&this.config.set(\"initialData\",function(t){return gm(t)?(e=t,e instanceof HTMLTextAreaElement?e.value:e.innerHTML):t;var e}(t)),gm(t)&&(this.sourceElement=t),this.model.document.createRoot();const n=!this.config.get(\"toolbar.shouldNotGroupWhenFull\"),o=new om(this.locale,this.editing.view,{shouldToolbarGroupWhenFull:n});this.ui=new tm(this,o),function(t){if(!Ft(t.updateSourceElement))throw new k(\"attachtoform-missing-elementapi-interface\",t);const e=t.sourceElement;if(function(t){return!!t&&\"textarea\"===t.tagName.toLowerCase()}(e)&&e.form){let n;const o=e.form,i=()=>t.updateSourceElement();Ft(o.submit)&&(n=o.submit,o.submit=()=>{i(),n.apply(o)}),o.addEventListener(\"submit\",i),t.on(\"destroy\",(()=>{o.removeEventListener(\"submit\",i),n&&(o.submit=n)}))}}(this)}destroy(){return this.sourceElement&&this.updateSourceElement(),this.ui.destroy(),super.destroy()}static create(t,e={}){return new Promise((n=>{const o=new this(t,e);n(o.initPlugins().then((()=>o.ui.init(gm(t)?t:null))).then((()=>o.data.init(o.config.get(\"initialData\")))).then((()=>o.fire(\"ready\"))).then((()=>o)))}))}}function gm(t){return _o(t)}pm.Context=$r,pm.EditorWatchdog=cm,pm.ContextWatchdog=class extends im{constructor(t,e={}){super(e),this._watchdogs=new Map,this._context=null,this._contextProps=new Set,this._actionQueues=new hm,this._watchdogConfig=e,this._creator=e=>t.create(e),this._destructor=t=>t.destroy(),this._actionQueues.onEmpty((()=>{\"initializing\"===this.state&&(this.state=\"ready\",this._fire(\"stateChange\"))}))}setCreator(t){this._creator=t}setDestructor(t){this._destructor=t}get context(){return this._context}create(t={}){return this._actionQueues.enqueue(dm,(()=>(this._contextConfig=t,this._create())))}getItem(t){return this._getWatchdog(t)._item}getItemState(t){return this._getWatchdog(t).state}add(t){const e=um(t);return Promise.all(e.map((t=>this._actionQueues.enqueue(t.id,(()=>{if(\"destroyed\"===this.state)throw new Error(\"Cannot add items to destroyed watchdog.\");if(!this._context)throw new Error(\"Context was not created yet. You should call the `ContextWatchdog#create()` method first.\");let e;if(this._watchdogs.has(t.id))throw new Error(`Item with the given id is already added: '${t.id}'.`);if(\"editor\"===t.type)return e=new cm(null,this._watchdogConfig),e.setCreator(t.creator),e._setExcludedProperties(this._contextProps),t.destructor&&e.setDestructor(t.destructor),this._watchdogs.set(t.id,e),e.on(\"error\",((n,{error:o,causesRestart:i})=>{this._fire(\"itemError\",{itemId:t.id,error:o}),i&&this._actionQueues.enqueue(t.id,(()=>new Promise((n=>{const o=()=>{e.off(\"restart\",o),this._fire(\"itemRestart\",{itemId:t.id}),n()};e.on(\"restart\",o)}))))})),e.create(t.sourceElementOrData,t.config,this._context);throw new Error(`Not supported item type: '${t.type}'.`)})))))}remove(t){const e=um(t);return Promise.all(e.map((t=>this._actionQueues.enqueue(t,(()=>{const e=this._getWatchdog(t);return this._watchdogs.delete(t),e.destroy()})))))}destroy(){return this._actionQueues.enqueue(dm,(()=>(this.state=\"destroyed\",this._fire(\"stateChange\"),super.destroy(),this._destroy())))}_restart(){return this._actionQueues.enqueue(dm,(()=>(this.state=\"initializing\",this._fire(\"stateChange\"),this._destroy().catch((t=>{console.error(\"An error happened during destroying the context or items.\",t)})).then((()=>this._create())).then((()=>this._fire(\"restart\"))))))}_create(){return Promise.resolve().then((()=>(this._startErrorHandling(),this._creator(this._contextConfig)))).then((t=>(this._context=t,this._contextProps=rm(this._context),Promise.all(Array.from(this._watchdogs.values()).map((t=>(t._setExcludedProperties(this._contextProps),t.create(void 0,void 0,this._context))))))))}_destroy(){return Promise.resolve().then((()=>{this._stopErrorHandling();const t=this._context;return this._context=null,this._contextProps=new Set,Promise.all(Array.from(this._watchdogs.values()).map((t=>t.destroy()))).then((()=>this._destructor(t)))}))}_getWatchdog(t){const e=this._watchdogs.get(t);if(!e)throw new Error(`Item with the given id was not registered: ${t}.`);return e}_isErrorComingFromThisItem(t){for(const e of this._watchdogs.values())if(e._isErrorComingFromThisItem(t))return!1;return am(this._context,t.context)}};const mm=[\"left\",\"right\",\"center\",\"justify\"];function fm(t){return mm.includes(t)}function km(t,e){return\"rtl\"==e.contentLanguageDirection?\"right\"===t:\"left\"===t}function bm(t){const e=t.map((t=>{let e;return e=\"string\"==typeof t?{name:t}:t,e})).filter((t=>{const e=mm.includes(t.name);return e||b(\"alignment-config-name-not-recognized\",{option:t}),e})),n=e.filter((t=>Boolean(t.className))).length;if(n&&n{const i=o.slice(n+1);if(i.some((t=>t.name==e.name)))throw new k(\"alignment-config-name-already-defined\",{option:e,configuredOptions:t});if(e.className){if(i.some((t=>t.className==e.className)))throw new k(\"alignment-config-classname-already-defined\",{option:e,configuredOptions:t})}})),e}const wm=\"alignment\";class _m extends qr{refresh(){const t=this.editor.locale,e=Ci(this.editor.model.document.selection.getSelectedBlocks());this.isEnabled=Boolean(e)&&this._canBeAligned(e),this.isEnabled&&e.hasAttribute(\"alignment\")?this.value=e.getAttribute(\"alignment\"):this.value=\"rtl\"===t.contentLanguageDirection?\"right\":\"left\"}execute(t={}){const e=this.editor,n=e.locale,o=e.model,i=o.document,r=t.value;o.change((t=>{const e=Array.from(i.selection.getSelectedBlocks()).filter((t=>this._canBeAligned(t))),o=e[0].getAttribute(\"alignment\");km(r,n)||o===r||!r?function(t,e){for(const n of t)e.removeAttribute(wm,n)}(e,t):function(t,e,n){for(const o of t)e.setAttribute(wm,n,o)}(e,t,r)}))}_canBeAligned(t){return this.editor.model.schema.checkAttribute(t,wm)}}class Am extends Hr{static get pluginName(){return\"AlignmentEditing\"}constructor(t){super(t),t.config.define(\"alignment\",{options:mm.map((t=>({name:t})))})}init(){const t=this.editor,e=t.locale,n=t.model.schema,o=bm(t.config.get(\"alignment.options\")).filter((t=>fm(t.name)&&!km(t.name,e))),i=o.some((t=>!!t.className));n.extend(\"$block\",{allowAttributes:\"alignment\"}),t.model.schema.setAttributeProperties(\"alignment\",{isFormatting:!0}),i?t.conversion.attributeToAttribute(function(t){const e={};for(const n of t)e[n.name]={key:\"class\",value:n.className};const n={model:{key:\"alignment\",values:t.map((t=>t.name))},view:e};return n}(o)):t.conversion.for(\"downcast\").attributeToAttribute(function(t){const e={};for(const{name:n}of t)e[n]={key:\"style\",value:{\"text-align\":n}};const n={model:{key:\"alignment\",values:t.map((t=>t.name))},view:e};return n}(o));const r=function(t){const e=[];for(const{name:n}of t)e.push({view:{key:\"style\",value:{\"text-align\":n}},model:{key:\"alignment\",value:n}});return e}(o);for(const e of r)t.conversion.for(\"upcast\").attributeToAttribute(e);const s=function(t){const e=[];for(const{name:n}of t)e.push({view:{key:\"align\",value:n},model:{key:\"alignment\",value:n}});return e}(o);for(const e of s)t.conversion.for(\"upcast\").attributeToAttribute(e);t.commands.add(\"alignment\",new _m(t))}}const Cm=new Map([[\"left\",Ru.alignLeft],[\"right\",Ru.alignRight],[\"center\",Ru.alignCenter],[\"justify\",Ru.alignJustify]]);class vm extends Hr{get localizedOptionTitles(){const t=this.editor.t;return{left:t(\"Align left\"),right:t(\"Align right\"),center:t(\"Align center\"),justify:t(\"Justify\")}}static get pluginName(){return\"AlignmentUI\"}init(){const t=this.editor,e=t.ui.componentFactory,n=t.t,o=bm(t.config.get(\"alignment.options\"));o.map((t=>t.name)).filter(fm).forEach((t=>this._addButton(t))),e.add(\"alignment\",(i=>{const r=ep(i);np(r,(()=>o.map((t=>e.create(`alignment:${t.name}`)))),{enableActiveItemFocusOnDropdownOpen:!0,isVertical:!0,ariaLabel:n(\"Text alignment toolbar\")}),r.buttonView.set({label:n(\"Text alignment\"),tooltip:!0}),r.extendTemplate({attributes:{class:\"ck-alignment-dropdown\"}});const s=\"rtl\"===i.contentLanguageDirection?Cm.get(\"right\"):Cm.get(\"left\"),a=t.commands.get(\"alignment\");return r.buttonView.bind(\"icon\").to(a,\"value\",(t=>Cm.get(t)||s)),r.bind(\"isEnabled\").to(a,\"isEnabled\"),this.listenTo(r,\"execute\",(()=>{t.editing.view.focus()})),r}))}_addButton(t){const e=this.editor;e.ui.componentFactory.add(`alignment:${t}`,(n=>{const o=e.commands.get(\"alignment\"),i=new hr(n);return i.set({label:this.localizedOptionTitles[t],icon:Cm.get(t),tooltip:!0,isToggleable:!0}),i.bind(\"isEnabled\").to(o),i.bind(\"isOn\").to(o,\"value\",(e=>e===t)),this.listenTo(i,\"execute\",(()=>{e.execute(\"alignment\",{value:t}),e.editing.view.focus()})),i}))}}class ym extends qr{constructor(t,e){super(t),this.attributeKey=e}refresh(){const t=this.editor.model,e=t.document;this.value=this._getValueFromFirstAllowedNode(),this.isEnabled=t.schema.checkAttributeInSelection(e.selection,this.attributeKey)}execute(t={}){const e=this.editor.model,n=e.document.selection,o=void 0===t.forceValue?!this.value:t.forceValue;e.change((t=>{if(n.isCollapsed)o?t.setSelectionAttribute(this.attributeKey,!0):t.removeSelectionAttribute(this.attributeKey);else{const i=e.schema.getValidRanges(n.getRanges(),this.attributeKey);for(const e of i)o?t.setAttribute(this.attributeKey,o,e):t.removeAttribute(this.attributeKey,e)}}))}_getValueFromFirstAllowedNode(){const t=this.editor.model,e=t.schema,n=t.document.selection;if(n.isCollapsed)return n.hasAttribute(this.attributeKey);for(const t of n.getRanges())for(const n of t.getItems())if(e.checkAttribute(n,this.attributeKey))return n.hasAttribute(this.attributeKey);return!1}}const xm=\"bold\";class Em extends Hr{static get pluginName(){return\"BoldEditing\"}init(){const t=this.editor;t.model.schema.extend(\"$text\",{allowAttributes:xm}),t.model.schema.setAttributeProperties(xm,{isFormatting:!0,copyOnEnter:!0}),t.conversion.attributeToElement({model:xm,view:\"strong\",upcastAlso:[\"b\",t=>{const e=t.getStyle(\"font-weight\");return e&&(\"bold\"==e||Number(e)>=600)?{name:!0,styles:[\"font-weight\"]}:null}]}),t.commands.add(xm,new ym(t,xm)),t.keystrokes.set(\"CTRL+B\",xm)}}const Dm=\"bold\";class Sm extends Hr{static get pluginName(){return\"BoldUI\"}init(){const t=this.editor,e=t.t;t.ui.componentFactory.add(Dm,(n=>{const o=t.commands.get(Dm),i=new hr(n);return i.set({label:e(\"Bold\"),icon:Ru.bold,keystroke:\"CTRL+B\",tooltip:!0,isToggleable:!0}),i.bind(\"isOn\",\"isEnabled\").to(o,\"value\",\"isEnabled\"),this.listenTo(i,\"execute\",(()=>{t.execute(Dm),t.editing.view.focus()})),i}))}}class Bm{constructor(t,e=20){this._batch=null,this.model=t,this._size=0,this.limit=e,this._isLocked=!1,this._changeCallback=(t,e)=>{e.isLocal&&e.isUndoable&&e!==this._batch&&this._reset(!0)},this._selectionChangeCallback=()=>{this._reset()},this.model.document.on(\"change\",this._changeCallback),this.model.document.selection.on(\"change:range\",this._selectionChangeCallback),this.model.document.selection.on(\"change:attribute\",this._selectionChangeCallback)}get batch(){return this._batch||(this._batch=this.model.createBatch({isTyping:!0})),this._batch}get size(){return this._size}input(t){this._size+=t,this._size>=this.limit&&this._reset(!0)}get isLocked(){return this._isLocked}lock(){this._isLocked=!0}unlock(){this._isLocked=!1}destroy(){this.model.document.off(\"change\",this._changeCallback),this.model.document.selection.off(\"change:range\",this._selectionChangeCallback),this.model.document.selection.off(\"change:attribute\",this._selectionChangeCallback)}_reset(t=!1){this.isLocked&&!t||(this._batch=null,this._size=0)}}class Tm extends qr{constructor(t,e){super(t),this._buffer=new Bm(t.model,e),this._isEnabledBasedOnSelection=!1}get buffer(){return this._buffer}destroy(){super.destroy(),this._buffer.destroy()}execute(t={}){const e=this.editor.model,n=e.document,o=t.text||\"\",i=o.length;let r=n.selection;if(t.selection?r=t.selection:t.range&&(r=e.createSelection(t.range)),!e.canEditAt(r))return;const s=t.resultRange;e.enqueueChange(this._buffer.batch,(t=>{this._buffer.lock(),e.deleteContent(r),o&&e.insertContent(t.createText(o,n.selection.getAttributes()),r),s?t.setSelection(s):r.is(\"documentSelection\")||t.setSelection(r),this._buffer.unlock(),this._buffer.input(i)}))}}const Pm=[\"insertText\",\"insertReplacementText\"];class Im extends xc{constructor(t){super(t),this.focusObserver=t.getObserver(pl),i.isAndroid&&Pm.push(\"insertCompositionText\");const e=t.document;e.on(\"beforeinput\",((n,o)=>{if(!this.isEnabled)return;const{data:i,targetRanges:r,inputType:s,domEvent:a}=o;if(!Pm.includes(s))return;this.focusObserver.flush();const c=new h(e,\"insertText\");e.fire(c,new Dc(t,a,{text:i,selection:t.createSelection(r)})),c.stop.called&&n.stop()})),e.on(\"compositionend\",((n,{data:o,domEvent:r})=>{this.isEnabled&&!i.isAndroid&&o&&e.fire(\"insertText\",new Dc(t,r,{text:o,selection:e.selection}))}),{priority:\"lowest\"})}observe(){}stopObserving(){}}class Rm extends Hr{static get pluginName(){return\"Input\"}init(){const t=this.editor,e=t.model,n=t.editing.view,o=e.document.selection;n.addObserver(Im);const r=new Tm(t,t.config.get(\"typing.undoStep\")||20);t.commands.add(\"insertText\",r),t.commands.add(\"input\",r),this.listenTo(n.document,\"insertText\",((o,r)=>{n.document.isComposing||r.preventDefault();const{text:s,selection:a,resultRange:c}=r,l=Array.from(a.getRanges()).map((e=>t.editing.mapper.toModelRange(e)));let d=s;if(i.isAndroid){const t=Array.from(l[0].getItems()).reduce(((t,e)=>t+(e.is(\"$textProxy\")?e.data:\"\")),\"\");t&&(t.length<=d.length?d.startsWith(t)&&(d=d.substring(t.length),l[0].start=l[0].start.getShiftedBy(t.length)):t.startsWith(d)&&(l[0].start=l[0].start.getShiftedBy(d.length),d=\"\"))}const h={text:d,selection:e.createSelection(l)};c&&(h.resultRange=t.editing.mapper.toModelRange(c)),t.execute(\"insertText\",h),n.scrollToTheSelection()})),i.isAndroid?this.listenTo(n.document,\"keydown\",((t,i)=>{!o.isCollapsed&&229==i.keyCode&&n.document.isComposing&&Om(e,r)})):this.listenTo(n.document,\"compositionstart\",(()=>{o.isCollapsed||Om(e,r)}))}}function Om(t,e){if(!e.isEnabled)return;const n=e.buffer;n.lock(),t.enqueueChange(n.batch,(()=>{t.deleteContent(t.document.selection)})),n.unlock()}class zm extends qr{constructor(t,e){super(t),this.direction=e,this._buffer=new Bm(t.model,t.config.get(\"typing.undoStep\")),this._isEnabledBasedOnSelection=!1}get buffer(){return this._buffer}execute(t={}){const e=this.editor.model,n=e.document;e.enqueueChange(this._buffer.batch,(o=>{this._buffer.lock();const i=o.createSelection(t.selection||n.selection);if(!e.canEditAt(i))return;const r=t.sequence||1,s=i.isCollapsed;if(i.isCollapsed&&e.modifySelection(i,{direction:this.direction,unit:t.unit,treatEmojiAsSingleUnit:!0}),this._shouldEntireContentBeReplacedWithParagraph(r))return void this._replaceEntireContentWithParagraph(o);if(this._shouldReplaceFirstBlockWithParagraph(i,r))return void this.editor.execute(\"paragraph\",{selection:i});if(i.isCollapsed)return;let a=0;i.getFirstRange().getMinimalFlatRanges().forEach((t=>{a+=Z(t.getWalker({singleCharacters:!0,ignoreElementEnd:!0,shallow:!0}))})),e.deleteContent(i,{doNotResetEntireContent:s,direction:this.direction}),this._buffer.input(a),o.setSelection(i),this._buffer.unlock()}))}_shouldEntireContentBeReplacedWithParagraph(t){if(t>1)return!1;const e=this.editor.model,n=e.document.selection,o=e.schema.getLimitElement(n);if(!(n.isCollapsed&&n.containsEntireContent(o)))return!1;if(!e.schema.checkChild(o,\"paragraph\"))return!1;const i=o.getChild(0);return!i||!i.is(\"element\",\"paragraph\")}_replaceEntireContentWithParagraph(t){const e=this.editor.model,n=e.document.selection,o=e.schema.getLimitElement(n),i=t.createElement(\"paragraph\");t.remove(t.createRangeIn(o)),t.insert(i,o),t.setSelection(i,0)}_shouldReplaceFirstBlockWithParagraph(t,e){const n=this.editor.model;if(e>1||\"backward\"!=this.direction)return!1;if(!t.isCollapsed)return!1;const o=t.getFirstPosition(),i=n.schema.getLimitElement(o),r=i.getChild(0);return o.parent==r&&(!!t.containsEntireContent(r)&&(!!n.schema.checkChild(i,\"paragraph\")&&\"paragraph\"!=r.name))}}const Mm=\"word\",Fm=\"selection\",Nm=\"backward\",Vm=\"forward\",Lm={deleteContent:{unit:Fm,direction:Nm},deleteContentBackward:{unit:\"codePoint\",direction:Nm},deleteWordBackward:{unit:Mm,direction:Nm},deleteHardLineBackward:{unit:Fm,direction:Nm},deleteSoftLineBackward:{unit:Fm,direction:Nm},deleteContentForward:{unit:\"character\",direction:Vm},deleteWordForward:{unit:Mm,direction:Vm},deleteHardLineForward:{unit:Fm,direction:Vm},deleteSoftLineForward:{unit:Fm,direction:Vm}};class Hm extends xc{constructor(t){super(t);const e=t.document;let n=0;e.on(\"keydown\",(()=>{n++})),e.on(\"keyup\",(()=>{n=0})),e.on(\"beforeinput\",((o,r)=>{if(!this.isEnabled)return;const{targetRanges:s,domEvent:a,inputType:c}=r,l=Lm[c];if(!l)return;const d={direction:l.direction,unit:l.unit,sequence:n};d.unit==Fm&&(d.selectionToRemove=t.createSelection(s[0])),\"deleteContentBackward\"===c&&(i.isAndroid&&(d.sequence=1),function(t){if(1!=t.length||t[0].isCollapsed)return!1;const e=t[0].getWalker({direction:\"backward\",singleCharacters:!0,ignoreElementEnd:!0});let n=0;for(const{nextPosition:t}of e){if(t.parent.is(\"$text\")){const e=t.parent.data,o=t.offset;if(Di(e,o)||Si(e,o)||Ti(e,o))continue;n++}else n++;if(n>1)return!0}return!1}(s)&&(d.unit=Fm,d.selectionToRemove=t.createSelection(s)));const h=new Ca(e,\"delete\",s[0]);e.fire(h,new Dc(t,a,d)),h.stop.called&&o.stop()})),i.isBlink&&function(t){const e=t.view,n=e.document;let o=null,i=!1;function r(t){return t==di.backspace||t==di.delete}function s(t){return t==di.backspace?Nm:Vm}n.on(\"keydown\",((t,{keyCode:e})=>{o=e,i=!1})),n.on(\"keyup\",((a,{keyCode:c,domEvent:l})=>{const d=n.selection,h=t.isEnabled&&c==o&&r(c)&&!d.isCollapsed&&!i;if(o=null,h){const t=d.getFirstRange(),o=new Ca(n,\"delete\",t),i={unit:Fm,direction:s(c),selectionToRemove:d};n.fire(o,new Dc(e,l,i))}})),n.on(\"beforeinput\",((t,{inputType:e})=>{const n=Lm[e];r(o)&&n&&n.direction==s(o)&&(i=!0)}),{priority:\"high\"}),n.on(\"beforeinput\",((t,{inputType:e,data:n})=>{o==di.delete&&\"insertText\"==e&&\"\"==n&&t.stop()}),{priority:\"high\"})}(this)}observe(){}stopObserving(){}}class jm extends Hr{static get pluginName(){return\"Delete\"}init(){const t=this.editor,e=t.editing.view,n=e.document,o=t.model.document;e.addObserver(Hm),this._undoOnBackspace=!1;const i=new zm(t,\"forward\");t.commands.add(\"deleteForward\",i),t.commands.add(\"forwardDelete\",i),t.commands.add(\"delete\",new zm(t,\"backward\")),this.listenTo(n,\"delete\",((o,i)=>{n.isComposing||i.preventDefault();const{direction:r,sequence:s,selectionToRemove:a,unit:c}=i,l=\"forward\"===r?\"deleteForward\":\"delete\",d={sequence:s};if(\"selection\"==c){const e=Array.from(a.getRanges()).map((e=>t.editing.mapper.toModelRange(e)));d.selection=t.model.createSelection(e)}else d.unit=c;t.execute(l,d),e.scrollToTheSelection()}),{priority:\"low\"}),this.editor.plugins.has(\"UndoEditing\")&&(this.listenTo(n,\"delete\",((e,n)=>{this._undoOnBackspace&&\"backward\"==n.direction&&1==n.sequence&&\"codePoint\"==n.unit&&(this._undoOnBackspace=!1,t.execute(\"undo\"),n.preventDefault(),e.stop())}),{context:\"$capture\"}),this.listenTo(o,\"change\",(()=>{this._undoOnBackspace=!1})))}requestUndoOnBackspace(){this.editor.plugins.has(\"UndoEditing\")&&(this._undoOnBackspace=!0)}}class qm extends Hr{static get requires(){return[Rm,jm]}static get pluginName(){return\"Typing\"}}j();Km('\"'),Km(\"'\"),Km(\"'\"),Km('\"'),Km('\"'),Km(\"'\");function Km(t){return new RegExp(`(^|\\\\s)(${t})([^${t}]*)(${t})$`)}var Wm=n(5363),Gm={injectType:\"singletonStyleTag\",attributes:{\"data-cke\":!0},insert:\"head\",singleton:!0};Ri()(Wm.Z,Gm);Wm.Z.locals;const $m=\"italic\";class Um extends Hr{static get pluginName(){return\"ItalicEditing\"}init(){const t=this.editor;t.model.schema.extend(\"$text\",{allowAttributes:$m}),t.model.schema.setAttributeProperties($m,{isFormatting:!0,copyOnEnter:!0}),t.conversion.attributeToElement({model:$m,view:\"i\",upcastAlso:[\"em\",{styles:{\"font-style\":\"italic\"}}]}),t.commands.add($m,new ym(t,$m)),t.keystrokes.set(\"CTRL+I\",$m)}}const Zm=\"italic\";class Jm extends Hr{static get pluginName(){return\"ItalicUI\"}init(){const t=this.editor,e=t.t;t.ui.componentFactory.add(Zm,(n=>{const o=t.commands.get(Zm),i=new hr(n);return i.set({label:e(\"Italic\"),icon:'',keystroke:\"CTRL+I\",tooltip:!0,isToggleable:!0}),i.bind(\"isOn\",\"isEnabled\").to(o,\"value\",\"isEnabled\"),this.listenTo(i,\"execute\",(()=>{t.execute(Zm),t.editing.view.focus()})),i}))}}const Ym=\"strikethrough\";class Qm extends Hr{static get pluginName(){return\"StrikethroughEditing\"}init(){const t=this.editor;t.model.schema.extend(\"$text\",{allowAttributes:Ym}),t.model.schema.setAttributeProperties(Ym,{isFormatting:!0,copyOnEnter:!0}),t.conversion.attributeToElement({model:Ym,view:\"s\",upcastAlso:[\"del\",\"strike\",{styles:{\"text-decoration\":\"line-through\"}}]}),t.commands.add(Ym,new ym(t,Ym)),t.keystrokes.set(\"CTRL+SHIFT+X\",\"strikethrough\")}}const Xm=\"strikethrough\";class tf extends Hr{static get pluginName(){return\"StrikethroughUI\"}init(){const t=this.editor,e=t.t;t.ui.componentFactory.add(Xm,(n=>{const o=t.commands.get(Xm),i=new hr(n);return i.set({label:e(\"Strikethrough\"),icon:'',keystroke:\"CTRL+SHIFT+X\",tooltip:!0,isToggleable:!0}),i.bind(\"isOn\",\"isEnabled\").to(o,\"value\",\"isEnabled\"),this.listenTo(i,\"execute\",(()=>{t.execute(Xm),t.editing.view.focus()})),i}))}}const ef=\"underline\";class nf extends Hr{static get pluginName(){return\"UnderlineEditing\"}init(){const t=this.editor;t.model.schema.extend(\"$text\",{allowAttributes:ef}),t.model.schema.setAttributeProperties(ef,{isFormatting:!0,copyOnEnter:!0}),t.conversion.attributeToElement({model:ef,view:\"u\",upcastAlso:{styles:{\"text-decoration\":\"underline\"}}}),t.commands.add(ef,new ym(t,ef)),t.keystrokes.set(\"CTRL+U\",\"underline\")}}const of=\"underline\";class rf extends Hr{static get pluginName(){return\"UnderlineUI\"}init(){const t=this.editor,e=t.t;t.ui.componentFactory.add(of,(n=>{const o=t.commands.get(of),i=new hr(n);return i.set({label:e(\"Underline\"),icon:'',keystroke:\"CTRL+U\",tooltip:!0,isToggleable:!0}),i.bind(\"isOn\",\"isEnabled\").to(o,\"value\",\"isEnabled\"),this.listenTo(i,\"execute\",(()=>{t.execute(of),t.editing.view.focus()})),i}))}}class sf extends Sc{constructor(t){super(t),this.domEventType=[\"paste\",\"copy\",\"cut\",\"drop\",\"dragover\",\"dragstart\",\"dragend\",\"dragenter\",\"dragleave\"];const e=this.document;function n(t){return(n,o)=>{o.preventDefault();const i=o.dropRange?[o.dropRange]:null,r=new h(e,t);e.fire(r,{dataTransfer:o.dataTransfer,method:n.name,targetRanges:i,target:o.target,domEvent:o.domEvent}),r.stop.called&&o.stopPropagation()}}this.listenTo(e,\"paste\",n(\"clipboardInput\"),{priority:\"low\"}),this.listenTo(e,\"drop\",n(\"clipboardInput\"),{priority:\"low\"}),this.listenTo(e,\"dragover\",n(\"dragging\"),{priority:\"low\"})}onDomEvent(t){const e=\"clipboardData\"in t?t.clipboardData:t.dataTransfer,n=\"drop\"==t.type||\"paste\"==t.type,o={dataTransfer:new fl(e,{cacheFiles:n})};\"drop\"!=t.type&&\"dragover\"!=t.type||(o.dropRange=function(t,e){const n=e.target.ownerDocument,o=e.clientX,i=e.clientY;let r;n.caretRangeFromPoint&&n.caretRangeFromPoint(o,i)?r=n.caretRangeFromPoint(o,i):e.rangeParent&&(r=n.createRange(),r.setStart(e.rangeParent,e.rangeOffset),r.collapse(!0));if(r)return t.domConverter.domRangeToView(r);return null}(this.view,t)),this.fire(t.type,t,o)}}const af=[\"figcaption\",\"li\"],cf=[\"ol\",\"ul\"];function lf(t){if(t.is(\"$text\")||t.is(\"$textProxy\"))return t.data;if(t.is(\"element\",\"img\")&&t.hasAttribute(\"alt\"))return t.getAttribute(\"alt\");if(t.is(\"element\",\"br\"))return\"\\n\";let e=\"\",n=null;for(const o of t.getChildren())e+=df(o,n)+lf(o),n=o;return e}function df(t,e){return e?t.is(\"element\",\"li\")&&!t.isEmpty&&t.getChild(0).is(\"containerElement\")||cf.includes(t.name)&&cf.includes(e.name)?\"\\n\\n\":t.is(\"containerElement\")||e.is(\"containerElement\")?af.includes(t.name)||af.includes(e.name)?\"\\n\":\"\\n\\n\":\"\":\"\"}class hf extends Hr{static get pluginName(){return\"ClipboardPipeline\"}init(){this.editor.editing.view.addObserver(sf),this._setupPasteDrop(),this._setupCopyCut()}_fireOutputTransformationEvent(t,e,n){const o=this.editor.model.getSelectedContent(e);this.fire(\"outputTransformation\",{dataTransfer:t,content:o,method:n})}_setupPasteDrop(){const t=this.editor,e=t.model,n=t.editing.view,o=n.document;this.listenTo(o,\"clipboardInput\",((e,n)=>{\"paste\"!=n.method||t.model.canEditAt(t.model.document.selection)||e.stop()}),{priority:\"highest\"}),this.listenTo(o,\"clipboardInput\",((t,e)=>{const o=e.dataTransfer;let i;if(e.content)i=e.content;else{let t=\"\";o.getData(\"text/html\")?t=function(t){return t.replace(/(\\s+)<\\/span>/g,((t,e)=>1==e.length?\" \":e)).replace(//g,\"\")}(o.getData(\"text/html\")):o.getData(\"text/plain\")&&(((r=(r=o.getData(\"text/plain\")).replace(/&/g,\"&\").replace(//g,\">\").replace(/\\r?\\n\\r?\\n/g,\"

\").replace(/\\r?\\n/g,\"
\").replace(/\\t/g,\"    \").replace(/^\\s/,\" \").replace(/\\s$/,\" \").replace(/\\s\\s/g,\"  \")).includes(\"

\")||r.includes(\"
\"))&&(r=`

${r}

`),t=r),i=this.editor.data.htmlProcessor.toView(t)}var r;const s=new h(this,\"inputTransformation\");this.fire(s,{content:i,dataTransfer:o,targetRanges:e.targetRanges,method:e.method}),s.stop.called&&t.stop(),n.scrollToTheSelection()}),{priority:\"low\"}),this.listenTo(this,\"inputTransformation\",((t,n)=>{if(n.content.isEmpty)return;const o=this.editor.data.toModel(n.content,\"$clipboardHolder\");0!=o.childCount&&(t.stop(),e.change((()=>{this.fire(\"contentInsertion\",{content:o,method:n.method,dataTransfer:n.dataTransfer,targetRanges:n.targetRanges})})))}),{priority:\"low\"}),this.listenTo(this,\"contentInsertion\",((t,n)=>{n.resultRange=e.insertContent(n.content)}),{priority:\"low\"})}_setupCopyCut(){const t=this.editor,e=t.model.document,n=t.editing.view.document,o=(t,n)=>{const o=n.dataTransfer;n.preventDefault(),this._fireOutputTransformationEvent(o,e.selection,t.name)};this.listenTo(n,\"copy\",o,{priority:\"low\"}),this.listenTo(n,\"cut\",((e,n)=>{t.model.canEditAt(t.model.document.selection)?o(e,n):n.preventDefault()}),{priority:\"low\"}),this.listenTo(this,\"outputTransformation\",((e,o)=>{const i=t.data.toView(o.content);n.fire(\"clipboardOutput\",{dataTransfer:o.dataTransfer,content:i,method:o.method})}),{priority:\"low\"}),this.listenTo(n,\"clipboardOutput\",((n,o)=>{o.content.isEmpty||(o.dataTransfer.setData(\"text/html\",this.editor.data.htmlProcessor.toData(o.content)),o.dataTransfer.setData(\"text/plain\",lf(o.content))),\"cut\"==o.method&&t.model.deleteContent(e.selection)}),{priority:\"low\"})}}function*uf(t,e){for(const n of e)n&&t.getAttributeProperties(n[0]).copyOnEnter&&(yield n)}class pf extends qr{execute(){this.editor.model.change((t=>{this.enterBlock(t),this.fire(\"afterExecute\",{writer:t})}))}enterBlock(t){const e=this.editor.model,n=e.document.selection,o=e.schema,i=n.isCollapsed,r=n.getFirstRange(),s=r.start.parent,a=r.end.parent;if(o.isLimit(s)||o.isLimit(a))return i||s!=a||e.deleteContent(n),!1;if(i){const e=uf(t.model.schema,n.getAttributes());return gf(t,r.start),t.setSelectionAttribute(e),!0}{const o=!(r.start.isAtStart&&r.end.isAtEnd),i=s==a;if(e.deleteContent(n,{leaveUnmerged:o}),o){if(i)return gf(t,n.focus),!0;t.setSelection(a,0)}}return!1}}function gf(t,e){t.split(e),t.setSelection(e.parent.nextSibling,0)}const mf={insertParagraph:{isSoft:!1},insertLineBreak:{isSoft:!0}};class ff extends xc{constructor(t){super(t);const e=this.document;let n=!1;e.on(\"keydown\",((t,e)=>{n=e.shiftKey})),e.on(\"beforeinput\",((o,r)=>{if(!this.isEnabled)return;let s=r.inputType;i.isSafari&&n&&\"insertParagraph\"==s&&(s=\"insertLineBreak\");const a=r.domEvent,c=mf[s];if(!c)return;const l=new Ca(e,\"enter\",r.targetRanges[0]);e.fire(l,new Dc(t,a,{isSoft:c.isSoft})),l.stop.called&&o.stop()}))}observe(){}stopObserving(){}}class kf extends Hr{static get pluginName(){return\"Enter\"}init(){const t=this.editor,e=t.editing.view,n=e.document;e.addObserver(ff),t.commands.add(\"enter\",new pf(t)),this.listenTo(n,\"enter\",((o,i)=>{n.isComposing||i.preventDefault(),i.isSoft||(t.execute(\"enter\"),e.scrollToTheSelection())}),{priority:\"low\"})}}class bf extends qr{execute(){const t=this.editor.model,e=t.document;t.change((n=>{!function(t,e,n){const o=n.isCollapsed,i=n.getFirstRange(),r=i.start.parent,s=i.end.parent,a=r==s;if(o){const o=uf(t.schema,n.getAttributes());wf(t,e,i.end),e.removeSelectionAttribute(n.getAttributeKeys()),e.setSelectionAttribute(o)}else{const o=!(i.start.isAtStart&&i.end.isAtEnd);t.deleteContent(n,{leaveUnmerged:o}),a?wf(t,e,n.focus):o&&e.setSelection(s,0)}}(t,n,e.selection),this.fire(\"afterExecute\",{writer:n})}))}refresh(){const t=this.editor.model,e=t.document;this.isEnabled=function(t,e){if(e.rangeCount>1)return!1;const n=e.anchor;if(!n||!t.checkChild(n,\"softBreak\"))return!1;const o=e.getFirstRange(),i=o.start.parent,r=o.end.parent;if((_f(i,t)||_f(r,t))&&i!==r)return!1;return!0}(t.schema,e.selection)}}function wf(t,e,n){const o=e.createElement(\"softBreak\");t.insertContent(o,n),e.setSelection(o,\"after\")}function _f(t,e){return!t.is(\"rootElement\")&&(e.isLimit(t)||_f(t.parent,e))}class Af extends Hr{static get pluginName(){return\"ShiftEnter\"}init(){const t=this.editor,e=t.model.schema,n=t.conversion,o=t.editing.view,i=o.document;e.register(\"softBreak\",{allowWhere:\"$text\",isInline:!0}),n.for(\"upcast\").elementToElement({model:\"softBreak\",view:\"br\"}),n.for(\"downcast\").elementToElement({model:\"softBreak\",view:(t,{writer:e})=>e.createEmptyElement(\"br\")}),o.addObserver(ff),t.commands.add(\"shiftEnter\",new bf(t)),this.listenTo(i,\"enter\",((e,n)=>{i.isComposing||n.preventDefault(),n.isSoft&&(t.execute(\"shiftEnter\"),o.scrollToTheSelection())}),{priority:\"low\"})}}class Cf extends(D()){constructor(){super(...arguments),this._stack=[]}add(t,e){const n=this._stack,o=n[0];this._insertDescriptor(t);const i=n[0];o===i||vf(o,i)||this.fire(\"change:top\",{oldDescriptor:o,newDescriptor:i,writer:e})}remove(t,e){const n=this._stack,o=n[0];this._removeDescriptor(t);const i=n[0];o===i||vf(o,i)||this.fire(\"change:top\",{oldDescriptor:o,newDescriptor:i,writer:e})}_insertDescriptor(t){const e=this._stack,n=e.findIndex((e=>e.id===t.id));if(vf(t,e[n]))return;n>-1&&e.splice(n,1);let o=0;for(;e[o]&&yf(e[o],t);)o++;e.splice(o,0,t)}_removeDescriptor(t){const e=this._stack,n=e.findIndex((e=>e.id===t));n>-1&&e.splice(n,1)}}function vf(t,e){return t&&e&&t.priority==e.priority&&xf(t.classes)==xf(e.classes)}function yf(t,e){return t.priority>e.priority||!(t.priorityxf(e.classes)}function xf(t){return Array.isArray(t)?t.sort().join(\",\"):t}const Ef='',Df=\"ck-widget\",Sf=\"ck-widget_selected\";function Bf(t){return!!t.is(\"element\")&&!!t.getCustomProperty(\"widget\")}function Tf(t,e,n={}){if(!t.is(\"containerElement\"))throw new k(\"widget-to-widget-wrong-element-type\",null,{element:t});return e.setAttribute(\"contenteditable\",\"false\",t),e.addClass(Df,t),e.setCustomProperty(\"widget\",!0,t),t.getFillerOffset=zf,e.setCustomProperty(\"widgetLabel\",[],t),n.label&&function(t,e){const n=t.getCustomProperty(\"widgetLabel\");n.push(e)}(t,n.label),n.hasSelectionHandle&&function(t,e){const n=e.createUIElement(\"div\",{class:\"ck ck-widget__selection-handle\"},(function(t){const e=this.toDomElement(t),n=new ar;return n.set(\"content\",Ef),n.render(),e.appendChild(n.element),e}));e.insert(e.createPositionAt(t,0),n),e.addClass([\"ck-widget_with-selection-handle\"],t)}(t,e),Rf(t,e),t}function Pf(t,e,n){if(e.classes&&n.addClass(fi(e.classes),t),e.attributes)for(const o in e.attributes)n.setAttribute(o,e.attributes[o],t)}function If(t,e,n){if(e.classes&&n.removeClass(fi(e.classes),t),e.attributes)for(const o in e.attributes)n.removeAttribute(o,t)}function Rf(t,e,n=Pf,o=If){const i=new Cf;i.on(\"change:top\",((e,i)=>{i.oldDescriptor&&o(t,i.oldDescriptor,i.writer),i.newDescriptor&&n(t,i.newDescriptor,i.writer)}));e.setCustomProperty(\"addHighlight\",((t,e,n)=>i.add(e,n)),t),e.setCustomProperty(\"removeHighlight\",((t,e,n)=>i.remove(e,n)),t)}function Of(t,e,n={}){return e.addClass([\"ck-editor__editable\",\"ck-editor__nested-editable\"],t),e.setAttribute(\"role\",\"textbox\",t),n.label&&e.setAttribute(\"aria-label\",n.label,t),e.setAttribute(\"contenteditable\",t.isReadOnly?\"false\":\"true\",t),t.on(\"change:isReadOnly\",((n,o,i)=>{e.setAttribute(\"contenteditable\",i?\"false\":\"true\",t)})),t.on(\"change:isFocused\",((n,o,i)=>{i?e.addClass(\"ck-editor__nested-editable_focused\",t):e.removeClass(\"ck-editor__nested-editable_focused\",t)})),Rf(t,e),t}function zf(){return null}const Mf=\"widget-type-around\";function Ff(t,e,n){return!!t&&Bf(t)&&!n.isInline(e)}function Nf(t){return t.getAttribute(Mf)}var Vf=n(2347),Lf={injectType:\"singletonStyleTag\",attributes:{\"data-cke\":!0},insert:\"head\",singleton:!0};Ri()(Vf.Z,Lf);Vf.Z.locals;const Hf=[\"before\",\"after\"],jf=(new DOMParser).parseFromString('',\"image/svg+xml\").firstChild,qf=\"ck-widget__type-around_disabled\";class Kf extends Hr{constructor(){super(...arguments),this._currentFakeCaretModelElement=null}static get pluginName(){return\"WidgetTypeAround\"}static get requires(){return[kf,jm]}init(){const t=this.editor,e=t.editing.view;this.on(\"change:isEnabled\",((n,o,i)=>{e.change((t=>{for(const n of e.document.roots)i?t.removeClass(qf,n):t.addClass(qf,n)})),i||t.model.change((t=>{t.removeSelectionAttribute(Mf)}))})),this._enableTypeAroundUIInjection(),this._enableInsertingParagraphsOnButtonClick(),this._enableInsertingParagraphsOnEnterKeypress(),this._enableInsertingParagraphsOnTypingKeystroke(),this._enableTypeAroundFakeCaretActivationUsingKeyboardArrows(),this._enableDeleteIntegration(),this._enableInsertContentIntegration(),this._enableInsertObjectIntegration(),this._enableDeleteContentIntegration()}destroy(){super.destroy(),this._currentFakeCaretModelElement=null}_insertParagraph(t,e){const n=this.editor,o=n.editing.view,i=n.model.schema.getAttributesWithProperty(t,\"copyOnReplace\",!0);n.execute(\"insertParagraph\",{position:n.model.createPositionAt(t,e),attributes:i}),o.focus(),o.scrollToTheSelection()}_listenToIfEnabled(t,e,n,o){this.listenTo(t,e,((...t)=>{this.isEnabled&&n(...t)}),o)}_insertParagraphAccordingToFakeCaretPosition(){const t=this.editor.model.document.selection,e=Nf(t);if(!e)return!1;const n=t.getSelectedElement();return this._insertParagraph(n,e),!0}_enableTypeAroundUIInjection(){const t=this.editor,e=t.model.schema,n=t.locale.t,o={before:n(\"Insert paragraph before block\"),after:n(\"Insert paragraph after block\")};t.editing.downcastDispatcher.on(\"insert\",((t,i,r)=>{const s=r.mapper.toViewElement(i.item);if(s&&Ff(s,i.item,e)){!function(t,e,n){const o=t.createUIElement(\"div\",{class:\"ck ck-reset_all ck-widget__type-around\"},(function(t){const n=this.toDomElement(t);return function(t,e){for(const n of Hf){const o=new Fi({tag:\"div\",attributes:{class:[\"ck\",\"ck-widget__type-around__button\",`ck-widget__type-around__button_${n}`],title:e[n],\"aria-hidden\":\"true\"},children:[t.ownerDocument.importNode(jf,!0)]});t.appendChild(o.render())}}(n,e),function(t){const e=new Fi({tag:\"div\",attributes:{class:[\"ck\",\"ck-widget__type-around__fake-caret\"]}});t.appendChild(e.render())}(n),n}));t.insert(t.createPositionAt(n,\"end\"),o)}(r.writer,o,s);s.getCustomProperty(\"widgetLabel\").push((()=>this.isEnabled?n(\"Press Enter to type after or press Shift + Enter to type before the widget\"):\"\"))}}),{priority:\"low\"})}_enableTypeAroundFakeCaretActivationUsingKeyboardArrows(){const t=this.editor,e=t.model,n=e.document.selection,o=e.schema,i=t.editing.view;function r(t){return`ck-widget_type-around_show-fake-caret_${t}`}this._listenToIfEnabled(i.document,\"arrowKey\",((t,e)=>{this._handleArrowKeyPress(t,e)}),{context:[Bf,\"$text\"],priority:\"high\"}),this._listenToIfEnabled(n,\"change:range\",((e,n)=>{n.directChange&&t.model.change((t=>{t.removeSelectionAttribute(Mf)}))})),this._listenToIfEnabled(e.document,\"change:data\",(()=>{const e=n.getSelectedElement();if(e){if(Ff(t.editing.mapper.toViewElement(e),e,o))return}t.model.change((t=>{t.removeSelectionAttribute(Mf)}))})),this._listenToIfEnabled(t.editing.downcastDispatcher,\"selection\",((t,e,n)=>{const i=n.writer;if(this._currentFakeCaretModelElement){const t=n.mapper.toViewElement(this._currentFakeCaretModelElement);t&&(i.removeClass(Hf.map(r),t),this._currentFakeCaretModelElement=null)}const s=e.selection.getSelectedElement();if(!s)return;const a=n.mapper.toViewElement(s);if(!Ff(a,s,o))return;const c=Nf(e.selection);c&&(i.addClass(r(c),a),this._currentFakeCaretModelElement=s)})),this._listenToIfEnabled(t.ui.focusTracker,\"change:isFocused\",((e,n,o)=>{o||t.model.change((t=>{t.removeSelectionAttribute(Mf)}))}))}_handleArrowKeyPress(t,e){const n=this.editor,o=n.model,i=o.document.selection,r=o.schema,s=n.editing.view,a=function(t,e){const n=mi(t,e);return\"down\"===n||\"right\"===n}(e.keyCode,n.locale.contentLanguageDirection),c=s.document.selection.getSelectedElement();let l;Ff(c,n.editing.mapper.toModelElement(c),r)?l=this._handleArrowKeyPressOnSelectedWidget(a):i.isCollapsed?l=this._handleArrowKeyPressWhenSelectionNextToAWidget(a):e.shiftKey||(l=this._handleArrowKeyPressWhenNonCollapsedSelection(a)),l&&(e.preventDefault(),t.stop())}_handleArrowKeyPressOnSelectedWidget(t){const e=this.editor.model,n=Nf(e.document.selection);return e.change((e=>{if(!n)return e.setSelectionAttribute(Mf,t?\"after\":\"before\"),!0;if(!(n===(t?\"after\":\"before\")))return e.removeSelectionAttribute(Mf),!0;return!1}))}_handleArrowKeyPressWhenSelectionNextToAWidget(t){const e=this.editor,n=e.model,o=n.schema,i=e.plugins.get(\"Widget\"),r=i._getObjectElementNextToSelection(t);return!!Ff(e.editing.mapper.toViewElement(r),r,o)&&(n.change((e=>{i._setSelectionOverElement(r),e.setSelectionAttribute(Mf,t?\"before\":\"after\")})),!0)}_handleArrowKeyPressWhenNonCollapsedSelection(t){const e=this.editor,n=e.model,o=n.schema,i=e.editing.mapper,r=n.document.selection,s=t?r.getLastPosition().nodeBefore:r.getFirstPosition().nodeAfter;return!!Ff(i.toViewElement(s),s,o)&&(n.change((e=>{e.setSelection(s,\"on\"),e.setSelectionAttribute(Mf,t?\"after\":\"before\")})),!0)}_enableInsertingParagraphsOnButtonClick(){const t=this.editor,e=t.editing.view;this._listenToIfEnabled(e.document,\"mousedown\",((n,o)=>{const i=o.domTarget.closest(\".ck-widget__type-around__button\");if(!i)return;const r=function(t){return t.classList.contains(\"ck-widget__type-around__button_before\")?\"before\":\"after\"}(i),s=function(t,e){const n=t.closest(\".ck-widget\");return e.mapDomToView(n)}(i,e.domConverter),a=t.editing.mapper.toModelElement(s);this._insertParagraph(a,r),o.preventDefault(),n.stop()}))}_enableInsertingParagraphsOnEnterKeypress(){const t=this.editor,e=t.model.document.selection,n=t.editing.view;this._listenToIfEnabled(n.document,\"enter\",((n,o)=>{if(\"atTarget\"!=n.eventPhase)return;const i=e.getSelectedElement(),r=t.editing.mapper.toViewElement(i),s=t.model.schema;let a;this._insertParagraphAccordingToFakeCaretPosition()?a=!0:Ff(r,i,s)&&(this._insertParagraph(i,o.isSoft?\"before\":\"after\"),a=!0),a&&(o.preventDefault(),n.stop())}),{context:Bf})}_enableInsertingParagraphsOnTypingKeystroke(){const t=this.editor.editing.view.document;this._listenToIfEnabled(t,\"insertText\",((e,n)=>{this._insertParagraphAccordingToFakeCaretPosition()&&(n.selection=t.selection)}),{priority:\"high\"}),i.isAndroid?this._listenToIfEnabled(t,\"keydown\",((t,e)=>{229==e.keyCode&&this._insertParagraphAccordingToFakeCaretPosition()})):this._listenToIfEnabled(t,\"compositionstart\",(()=>{this._insertParagraphAccordingToFakeCaretPosition()}),{priority:\"high\"})}_enableDeleteIntegration(){const t=this.editor,e=t.editing.view,n=t.model,o=n.schema;this._listenToIfEnabled(e.document,\"delete\",((e,i)=>{if(\"atTarget\"!=e.eventPhase)return;const r=Nf(n.document.selection);if(!r)return;const s=i.direction,a=n.document.selection.getSelectedElement(),c=\"forward\"==s;if(\"before\"===r===c)t.execute(\"delete\",{selection:n.createSelection(a,\"on\")});else{const e=o.getNearestSelectionRange(n.createPositionAt(a,r),s);if(e)if(e.isCollapsed){const i=n.createSelection(e.start);if(n.modifySelection(i,{direction:s}),i.focus.isEqual(e.start)){const t=function(t,e){let n=e;for(const o of e.getAncestors({parentFirst:!0})){if(o.childCount>1||t.isLimit(o))break;n=o}return n}(o,e.start.parent);n.deleteContent(n.createSelection(t,\"on\"),{doNotAutoparagraph:!0})}else n.change((n=>{n.setSelection(e),t.execute(c?\"deleteForward\":\"delete\")}))}else n.change((n=>{n.setSelection(e),t.execute(c?\"deleteForward\":\"delete\")}))}i.preventDefault(),e.stop()}),{context:Bf})}_enableInsertContentIntegration(){const t=this.editor,e=this.editor.model,n=e.document.selection;this._listenToIfEnabled(t.model,\"insertContent\",((t,[o,i])=>{if(i&&!i.is(\"documentSelection\"))return;const r=Nf(n);return r?(t.stop(),e.change((t=>{const i=n.getSelectedElement(),s=e.createPositionAt(i,r),a=t.createSelection(s),c=e.insertContent(o,a);return t.setSelection(a),c}))):void 0}),{priority:\"high\"})}_enableInsertObjectIntegration(){const t=this.editor,e=this.editor.model.document.selection;this._listenToIfEnabled(t.model,\"insertObject\",((t,n)=>{const[,o,i={}]=n;if(o&&!o.is(\"documentSelection\"))return;const r=Nf(e);r&&(i.findOptimalPosition=r,n[3]=i)}),{priority:\"high\"})}_enableDeleteContentIntegration(){const t=this.editor,e=this.editor.model.document.selection;this._listenToIfEnabled(t.model,\"deleteContent\",((t,[n])=>{if(n&&!n.is(\"documentSelection\"))return;Nf(e)&&t.stop()}),{priority:\"high\"})}}function Wf(t){const e=t.model;return(n,o)=>{const i=o.keyCode==di.arrowup,r=o.keyCode==di.arrowdown,s=o.shiftKey,a=e.document.selection;if(!i&&!r)return;const c=r;if(s&&function(t,e){return!t.isCollapsed&&t.isBackward==e}(a,c))return;const l=function(t,e,n){const o=t.model;if(n){const t=e.isCollapsed?e.focus:e.getLastPosition(),n=Gf(o,t,\"forward\");if(!n)return null;const i=o.createRange(t,n),r=$f(o.schema,i,\"backward\");return r?o.createRange(t,r):null}{const t=e.isCollapsed?e.focus:e.getFirstPosition(),n=Gf(o,t,\"backward\");if(!n)return null;const i=o.createRange(n,t),r=$f(o.schema,i,\"forward\");return r?o.createRange(r,t):null}}(t,a,c);if(l){if(l.isCollapsed){if(a.isCollapsed)return;if(s)return}(l.isCollapsed||function(t,e,n){const o=t.model,i=t.view.domConverter;if(n){const t=o.createSelection(e.start);o.modifySelection(t),t.focus.isAtEnd||e.start.isEqual(t.focus)||(e=o.createRange(t.focus,e.end))}const r=t.mapper.toViewRange(e),s=i.viewRangeToDom(r),a=Fo.getDomRangeRects(s);let c;for(const t of a)if(void 0!==c){if(Math.round(t.top)>=c)return!1;c=Math.max(c,Math.round(t.bottom))}else c=Math.round(t.bottom);return!0}(t,l,c))&&(e.change((t=>{const n=c?l.end:l.start;if(s){const o=e.createSelection(a.anchor);o.setFocus(n),t.setSelection(o)}else t.setSelection(n)})),n.stop(),o.preventDefault(),o.stopPropagation())}}}function Gf(t,e,n){const o=t.schema,i=t.createRangeIn(e.root),r=\"forward\"==n?\"elementStart\":\"elementEnd\";for(const{previousPosition:t,item:s,type:a}of i.getWalker({startPosition:e,direction:n})){if(o.isLimit(s)&&!o.isInline(s))return t;if(a==r&&o.isBlock(s))return null}return null}function $f(t,e,n){const o=\"backward\"==n?e.end:e.start;if(t.checkChild(o,\"$text\"))return o;for(const{nextPosition:o}of e.getWalker({direction:n}))if(t.checkChild(o,\"$text\"))return o;return null}var Uf=n(7153),Zf={injectType:\"singletonStyleTag\",attributes:{\"data-cke\":!0},insert:\"head\",singleton:!0};Ri()(Uf.Z,Zf);Uf.Z.locals;class Jf extends Hr{constructor(){super(...arguments),this._previouslySelected=new Set}static get pluginName(){return\"Widget\"}static get requires(){return[Kf,jm]}init(){const t=this.editor,e=t.editing.view,n=e.document;this.editor.editing.downcastDispatcher.on(\"selection\",((e,n,o)=>{const i=o.writer,r=n.selection;if(r.isCollapsed)return;const s=r.getSelectedElement();if(!s)return;const a=t.editing.mapper.toViewElement(s);var c;Bf(a)&&(o.consumable.consume(r,\"selection\")&&i.setSelection(i.createRangeOn(a),{fake:!0,label:(c=a,c.getCustomProperty(\"widgetLabel\").reduce(((t,e)=>\"function\"==typeof e?t?t+\". \"+e():e():t?t+\". \"+e:e),\"\"))}))})),this.editor.editing.downcastDispatcher.on(\"selection\",((t,e,n)=>{this._clearPreviouslySelectedWidgets(n.writer);const o=n.writer,i=o.document.selection;let r=null;for(const t of i.getRanges())for(const e of t){const t=e.item;Bf(t)&&!Yf(t,r)&&(o.addClass(Sf,t),this._previouslySelected.add(t),r=t)}}),{priority:\"low\"}),e.addObserver(Au),this.listenTo(n,\"mousedown\",((...t)=>this._onMousedown(...t))),this.listenTo(n,\"arrowKey\",((...t)=>{this._handleSelectionChangeOnArrowKeyPress(...t)}),{context:[Bf,\"$text\"]}),this.listenTo(n,\"arrowKey\",((...t)=>{this._preventDefaultOnArrowKeyPress(...t)}),{context:\"$root\"}),this.listenTo(n,\"arrowKey\",Wf(this.editor.editing),{context:\"$text\"}),this.listenTo(n,\"delete\",((t,e)=>{this._handleDelete(\"forward\"==e.direction)&&(e.preventDefault(),t.stop())}),{context:\"$root\"})}_onMousedown(t,e){const n=this.editor,o=n.editing.view,r=o.document;let s=e.target;if(e.domEvent.detail>=3)return void(this._selectBlockContent(s)&&e.preventDefault());if(function(t){let e=t;for(;e;){if(e.is(\"editableElement\")&&!e.is(\"rootElement\"))return!0;if(Bf(e))return!1;e=e.parent}return!1}(s))return;if(!Bf(s)&&(s=s.findAncestor(Bf),!s))return;i.isAndroid&&e.preventDefault(),r.isFocused||o.focus();const a=n.editing.mapper.toModelElement(s);this._setSelectionOverElement(a)}_selectBlockContent(t){const e=this.editor,n=e.model,o=e.editing.mapper,i=n.schema,r=o.findMappedViewAncestor(this.editor.editing.view.createPositionAt(t,0)),s=function(t,e){for(const n of t.getAncestors({includeSelf:!0,parentFirst:!0})){if(e.checkChild(n,\"$text\"))return n;if(e.isLimit(n)&&!e.isObject(n))break}return null}(o.toModelElement(r),n.schema);return!!s&&(n.change((t=>{const e=i.isLimit(s)?null:function(t,e){const n=new Bl({startPosition:t});for(const{item:t}of n){if(e.isLimit(t)||!t.is(\"element\"))return null;if(e.checkChild(t,\"$text\"))return t}return null}(t.createPositionAfter(s),i),n=t.createPositionAt(s,0),o=e?t.createPositionAt(e,0):t.createPositionAt(s,\"end\");t.setSelection(t.createRange(n,o))})),!0)}_handleSelectionChangeOnArrowKeyPress(t,e){const n=e.keyCode,o=this.editor.model,i=o.schema,r=o.document.selection,s=r.getSelectedElement(),a=mi(n,this.editor.locale.contentLanguageDirection),c=\"down\"==a||\"right\"==a,l=\"up\"==a||\"down\"==a;if(s&&i.isObject(s)){const n=c?r.getLastPosition():r.getFirstPosition(),s=i.getNearestSelectionRange(n,c?\"forward\":\"backward\");return void(s&&(o.change((t=>{t.setSelection(s)})),e.preventDefault(),t.stop()))}if(!r.isCollapsed&&!e.shiftKey){const n=r.getFirstPosition(),s=r.getLastPosition(),a=n.nodeAfter,l=s.nodeBefore;return void((a&&i.isObject(a)||l&&i.isObject(l))&&(o.change((t=>{t.setSelection(c?s:n)})),e.preventDefault(),t.stop()))}if(!r.isCollapsed)return;const d=this._getObjectElementNextToSelection(c);if(d&&i.isObject(d)){if(i.isInline(d)&&l)return;this._setSelectionOverElement(d),e.preventDefault(),t.stop()}}_preventDefaultOnArrowKeyPress(t,e){const n=this.editor.model,o=n.schema,i=n.document.selection.getSelectedElement();i&&o.isObject(i)&&(e.preventDefault(),t.stop())}_handleDelete(t){const e=this.editor.model.document.selection;if(!this.editor.model.canEditAt(e))return;if(!e.isCollapsed)return;const n=this._getObjectElementNextToSelection(t);return n?(this.editor.model.change((t=>{let o=e.anchor.parent;for(;o.isEmpty;){const e=o;o=e.parent,t.remove(e)}this._setSelectionOverElement(n)})),!0):void 0}_setSelectionOverElement(t){this.editor.model.change((e=>{e.setSelection(e.createRangeOn(t))}))}_getObjectElementNextToSelection(t){const e=this.editor.model,n=e.schema,o=e.document.selection,i=e.createSelection(o);if(e.modifySelection(i,{direction:t?\"forward\":\"backward\"}),i.isEqual(o))return null;const r=t?i.focus.nodeBefore:i.focus.nodeAfter;return r&&n.isObject(r)?r:null}_clearPreviouslySelectedWidgets(t){for(const e of this._previouslySelected)t.removeClass(Sf,e);this._previouslySelected.clear()}}function Yf(t,e){return!!e&&Array.from(t.getAncestors()).includes(e)}j();j();var Qf=n(4875),Xf={injectType:\"singletonStyleTag\",attributes:{\"data-cke\":!0},insert:\"head\",singleton:!0};Ri()(Qf.Z,Xf);Qf.Z.locals;const tk=Ko(\"px\");class ek extends Mi{constructor(){super();const t=this.bindTemplate;this.set({isVisible:!1,left:null,top:null,width:null}),this.setTemplate({tag:\"div\",attributes:{class:[\"ck\",\"ck-clipboard-drop-target-line\",t.if(\"isVisible\",\"ck-hidden\",(t=>!t))],style:{left:t.to(\"left\",(t=>tk(t))),top:t.to(\"top\",(t=>tk(t))),width:t.to(\"width\",(t=>tk(t)))}}})}}class nk extends Hr{constructor(){super(...arguments),this.removeDropMarkerDelayed=Ei((()=>this.removeDropMarker()),40),this._updateDropMarkerThrottled=og((t=>this._updateDropMarker(t)),40),this._reconvertMarkerThrottled=og((()=>{this.editor.model.markers.has(\"drop-target\")&&this.editor.editing.reconvertMarker(\"drop-target\")}),0),this._dropTargetLineView=new ek,this._domEmitter=new(Do()),this._scrollables=new Map}static get pluginName(){return\"DragDropTarget\"}init(){this._setupDropMarker()}destroy(){this._domEmitter.stopListening();for(const{resizeObserver:t}of this._scrollables.values())t.destroy();return this._updateDropMarkerThrottled.cancel(),this.removeDropMarkerDelayed.cancel(),this._reconvertMarkerThrottled.cancel(),super.destroy()}updateDropMarker(t,e,n,o,i,r){this.removeDropMarkerDelayed.cancel();const s=ok(this.editor,t,e,n,o,i,r);if(s)return r&&r.containsRange(s)?this.removeDropMarker():void this._updateDropMarkerThrottled(s)}getFinalDropRange(t,e,n,o,i,r){const s=ok(this.editor,t,e,n,o,i,r);return this.removeDropMarker(),s}removeDropMarker(){const t=this.editor.model;this.removeDropMarkerDelayed.cancel(),this._updateDropMarkerThrottled.cancel(),this._dropTargetLineView.isVisible=!1,t.markers.has(\"drop-target\")&&t.change((t=>{t.removeMarker(\"drop-target\")}))}_setupDropMarker(){const t=this.editor;t.ui.view.body.add(this._dropTargetLineView),t.conversion.for(\"editingDowncast\").markerToHighlight({model:\"drop-target\",view:{classes:[\"ck-clipboard-drop-target-range\"]}}),t.conversion.for(\"editingDowncast\").markerToElement({model:\"drop-target\",view:(e,{writer:n})=>{if(t.model.schema.checkChild(e.markerRange.start,\"$text\"))return this._dropTargetLineView.isVisible=!1,this._createDropTargetPosition(n);e.markerRange.isCollapsed?this._updateDropTargetLine(e.markerRange):this._dropTargetLineView.isVisible=!1}})}_updateDropMarker(t){const e=this.editor,n=e.model.markers;e.model.change((e=>{n.has(\"drop-target\")?n.get(\"drop-target\").getRange().isEqual(t)||e.updateMarker(\"drop-target\",{range:t}):e.addMarker(\"drop-target\",{range:t,usingOperation:!1,affectsData:!1})}))}_createDropTargetPosition(t){return t.createUIElement(\"span\",{class:\"ck ck-clipboard-drop-target-position\"},(function(t){const e=this.toDomElement(t);return e.append(\"⁠\",t.createElement(\"span\"),\"⁠\"),e}))}_updateDropTargetLine(t){const e=this.editor.editing,n=t.start.nodeBefore,o=t.start.nodeAfter,i=t.start.parent,r=n?e.mapper.toViewElement(n):null,s=r?e.view.domConverter.mapViewToDom(r):null,a=o?e.mapper.toViewElement(o):null,c=a?e.view.domConverter.mapViewToDom(a):null,l=e.mapper.toViewElement(i),d=e.view.domConverter.mapViewToDom(l),h=this._getScrollableRect(l),{scrollX:u,scrollY:p}=Po.window,g=s?new Fo(s):null,m=c?new Fo(c):null,f=new Fo(d).excludeScrollbarsAndBorders(),k=g?g.bottom:f.top,b=m?m.top:f.bottom,w=Po.window.getComputedStyle(d),_=k<=b?(k+b)/2:b;if(h.top<_&&_a.schema.checkChild(r,t)))){if(a.schema.checkChild(r,\"$text\"))return a.createRange(r);if(e)return rk(t,ak(t,e.parent),o,i)}}}else if(a.schema.isInline(l))return rk(t,l,o,i);if(a.schema.isBlock(l))return rk(t,l,o,i);if(a.schema.checkChild(l,\"$block\")){const e=Array.from(l.getChildren()).filter((e=>e.is(\"element\")&&!ik(t,e)));let n=0,r=e.length;if(0==r)return a.createRange(a.createPositionAt(l,\"end\"));for(;n{n?(this.forceDisabled(\"readOnlyMode\"),this._isBlockDragging=!1):this.clearForceDisabled(\"readOnlyMode\")})),i.isAndroid&&this.forceDisabled(\"noAndroidSupport\"),t.plugins.has(\"BlockToolbar\")){const e=t.plugins.get(\"BlockToolbar\").buttonView.element;this._domEmitter.listenTo(e,\"dragstart\",((t,e)=>this._handleBlockDragStart(e))),this._domEmitter.listenTo(Po.document,\"dragover\",((t,e)=>this._handleBlockDragging(e))),this._domEmitter.listenTo(Po.document,\"drop\",((t,e)=>this._handleBlockDragging(e))),this._domEmitter.listenTo(Po.document,\"dragend\",(()=>this._handleBlockDragEnd()),{useCapture:!0}),this.isEnabled&&e.setAttribute(\"draggable\",\"true\"),this.on(\"change:isEnabled\",((t,n,o)=>{e.setAttribute(\"draggable\",o?\"true\":\"false\")}))}}destroy(){return this._domEmitter.stopListening(),super.destroy()}_handleBlockDragStart(t){if(!this.isEnabled)return;const e=this.editor.model,n=e.document.selection,o=this.editor.editing.view,i=Array.from(n.getSelectedBlocks()),r=e.createRange(e.createPositionBefore(i[0]),e.createPositionAfter(i[i.length-1]));e.change((t=>t.setSelection(r))),this._isBlockDragging=!0,o.focus(),o.getObserver(sf).onDomEvent(t)}_handleBlockDragging(t){if(!this.isEnabled||!this._isBlockDragging)return;const e=t.clientX+(\"ltr\"==this.editor.locale.contentLanguageDirection?100:-100),n=t.clientY,o=document.elementFromPoint(e,n),i=this.editor.editing.view;o&&o.closest(\".ck-editor__editable\")&&i.getObserver(sf).onDomEvent({...t,type:t.type,dataTransfer:t.dataTransfer,target:o,clientX:e,clientY:n,preventDefault:()=>t.preventDefault(),stopPropagation:()=>t.stopPropagation()})}_handleBlockDragEnd(){this._isBlockDragging=!1}}var lk=n(799),dk={injectType:\"singletonStyleTag\",attributes:{\"data-cke\":!0},insert:\"head\",singleton:!0};Ri()(lk.Z,dk);lk.Z.locals;class hk extends Hr{constructor(){super(...arguments),this._clearDraggableAttributesDelayed=Ei((()=>this._clearDraggableAttributes()),40),this._blockMode=!1,this._domEmitter=new(Do())}static get pluginName(){return\"DragDrop\"}static get requires(){return[hf,Jf,nk,ck]}init(){const t=this.editor,e=t.editing.view;this._draggedRange=null,this._draggingUid=\"\",this._draggableElement=null,e.addObserver(sf),e.addObserver(Au),this._setupDragging(),this._setupContentInsertionIntegration(),this._setupClipboardInputIntegration(),this._setupDraggableAttributeHandling(),this.listenTo(t,\"change:isReadOnly\",((t,e,n)=>{n?this.forceDisabled(\"readOnlyMode\"):this.clearForceDisabled(\"readOnlyMode\")})),this.on(\"change:isEnabled\",((t,e,n)=>{n||this._finalizeDragging(!1)})),i.isAndroid&&this.forceDisabled(\"noAndroidSupport\")}destroy(){return this._draggedRange&&(this._draggedRange.detach(),this._draggedRange=null),this._previewContainer&&this._previewContainer.remove(),this._domEmitter.stopListening(),this._clearDraggableAttributesDelayed.cancel(),super.destroy()}_setupDragging(){const t=this.editor,e=t.model,n=t.editing.view,o=n.document,r=t.plugins.get(nk);this.listenTo(o,\"dragstart\",((t,n)=>{if(n.target&&n.target.is(\"editableElement\"))return void n.preventDefault();if(this._prepareDraggedRange(n.target),!this._draggedRange)return void n.preventDefault();this._draggingUid=p(),n.dataTransfer.effectAllowed=this.isEnabled?\"copyMove\":\"copy\",n.dataTransfer.setData(\"application/ckeditor5-dragging-uid\",this._draggingUid);const o=e.createSelection(this._draggedRange.toRange());this.editor.plugins.get(\"ClipboardPipeline\")._fireOutputTransformationEvent(n.dataTransfer,o,\"dragstart\");const{dataTransfer:i,domTarget:r,domEvent:s}=n,{clientX:a}=s;this._updatePreview({dataTransfer:i,domTarget:r,clientX:a}),n.stopPropagation(),this.isEnabled||(this._draggedRange.detach(),this._draggedRange=null,this._draggingUid=\"\")}),{priority:\"low\"}),this.listenTo(o,\"dragend\",((t,e)=>{this._finalizeDragging(!e.dataTransfer.isCanceled&&\"move\"==e.dataTransfer.dropEffect)}),{priority:\"low\"}),this._domEmitter.listenTo(Po.document,\"dragend\",(()=>{this._blockMode=!1}),{useCapture:!0}),this.listenTo(o,\"dragenter\",(()=>{this.isEnabled&&n.focus()})),this.listenTo(o,\"dragleave\",(()=>{r.removeDropMarkerDelayed()})),this.listenTo(o,\"dragging\",((t,e)=>{if(!this.isEnabled)return void(e.dataTransfer.dropEffect=\"none\");const{clientX:n,clientY:o}=e.domEvent;r.updateDropMarker(e.target,e.targetRanges,n,o,this._blockMode,this._draggedRange),this._draggedRange||(e.dataTransfer.dropEffect=\"copy\"),i.isGecko||(\"copy\"==e.dataTransfer.effectAllowed?e.dataTransfer.dropEffect=\"copy\":[\"all\",\"copyMove\"].includes(e.dataTransfer.effectAllowed)&&(e.dataTransfer.dropEffect=\"move\")),t.stop()}),{priority:\"low\"})}_setupClipboardInputIntegration(){const t=this.editor,e=t.editing.view.document,n=t.plugins.get(nk);this.listenTo(e,\"clipboardInput\",((e,o)=>{if(\"drop\"!=o.method)return;const{clientX:i,clientY:r}=o.domEvent,s=n.getFinalDropRange(o.target,o.targetRanges,i,r,this._blockMode,this._draggedRange);if(!s)return this._finalizeDragging(!1),void e.stop();this._draggedRange&&this._draggingUid!=o.dataTransfer.getData(\"application/ckeditor5-dragging-uid\")&&(this._draggedRange.detach(),this._draggedRange=null,this._draggingUid=\"\");if(\"move\"==uk(o.dataTransfer)&&this._draggedRange&&this._draggedRange.containsRange(s,!0))return this._finalizeDragging(!1),void e.stop();o.targetRanges=[t.editing.mapper.toViewRange(s)]}),{priority:\"high\"})}_setupContentInsertionIntegration(){const t=this.editor.plugins.get(hf);t.on(\"contentInsertion\",((t,e)=>{if(!this.isEnabled||\"drop\"!==e.method)return;const n=e.targetRanges.map((t=>this.editor.editing.mapper.toModelRange(t)));this.editor.model.change((t=>t.setSelection(n)))}),{priority:\"high\"}),t.on(\"contentInsertion\",((t,e)=>{if(!this.isEnabled||\"drop\"!==e.method)return;const n=\"move\"==uk(e.dataTransfer),o=!e.resultRange||!e.resultRange.isCollapsed;this._finalizeDragging(o&&n)}),{priority:\"lowest\"})}_setupDraggableAttributeHandling(){const t=this.editor,e=t.editing.view,n=e.document;this.listenTo(n,\"mousedown\",((o,r)=>{if(i.isAndroid||!r)return;this._clearDraggableAttributesDelayed.cancel();let s=pk(r.target);if(i.isBlink&&!t.isReadOnly&&!s&&!n.selection.isCollapsed){const t=n.selection.getSelectedElement();t&&Bf(t)||(s=n.selection.editableElement)}s&&(e.change((t=>{t.setAttribute(\"draggable\",\"true\",s)})),this._draggableElement=t.editing.mapper.toModelElement(s))})),this.listenTo(n,\"mouseup\",(()=>{i.isAndroid||this._clearDraggableAttributesDelayed()}))}_clearDraggableAttributes(){const t=this.editor.editing;t.view.change((e=>{this._draggableElement&&\"$graveyard\"!=this._draggableElement.root.rootName&&e.removeAttribute(\"draggable\",t.mapper.toViewElement(this._draggableElement)),this._draggableElement=null}))}_finalizeDragging(t){const e=this.editor,n=e.model;if(e.plugins.get(nk).removeDropMarker(),this._clearDraggableAttributes(),e.plugins.has(\"WidgetToolbarRepository\")){e.plugins.get(\"WidgetToolbarRepository\").clearForceDisabled(\"dragDrop\")}this._draggingUid=\"\",this._previewContainer&&(this._previewContainer.remove(),this._previewContainer=void 0),this._draggedRange&&(t&&this.isEnabled&&n.change((t=>{const e=n.createSelection(this._draggedRange);n.deleteContent(e,{doNotAutoparagraph:!0});const o=e.getFirstPosition().parent;o.isEmpty&&!n.schema.checkChild(o,\"$text\")&&n.schema.checkChild(o,\"paragraph\")&&t.insertElement(\"paragraph\",o,0)})),this._draggedRange.detach(),this._draggedRange=null)}_prepareDraggedRange(t){const e=this.editor,n=e.model,o=n.document.selection,i=t?pk(t):null;if(i){const t=e.editing.mapper.toModelElement(i);if(this._draggedRange=Yl.fromRange(n.createRangeOn(t)),this._blockMode=n.schema.isBlock(t),e.plugins.has(\"WidgetToolbarRepository\")){e.plugins.get(\"WidgetToolbarRepository\").forceDisabled(\"dragDrop\")}return}if(o.isCollapsed&&!o.getFirstPosition().parent.isEmpty)return;const r=Array.from(o.getSelectedBlocks()),s=o.getFirstRange();if(0==r.length)return void(this._draggedRange=Yl.fromRange(s));const a=gk(n,r);if(r.length>1)this._draggedRange=Yl.fromRange(a),this._blockMode=!0;else if(1==r.length){const t=s.start.isTouching(a.start)&&s.end.isTouching(a.end);this._draggedRange=Yl.fromRange(t?a:s),this._blockMode=t}n.change((t=>t.setSelection(this._draggedRange.toRange())))}_updatePreview({dataTransfer:t,domTarget:e,clientX:n}){const o=this.editor.editing.view,r=o.document.selection.editableElement,s=o.domConverter.mapViewToDom(r),a=Po.window.getComputedStyle(s);this._previewContainer?this._previewContainer.firstElementChild&&this._previewContainer.removeChild(this._previewContainer.firstElementChild):(this._previewContainer=gt(Po.document,\"div\",{style:\"position: fixed; left: -999999px;\"}),Po.document.body.appendChild(this._previewContainer));const c=new Fo(s);if(s.contains(e))return;const l=parseFloat(a.paddingLeft),d=gt(Po.document,\"div\");d.className=\"ck ck-content\",d.style.width=a.width,d.style.paddingLeft=`${c.left-n+l}px`,i.isiOS&&(d.style.backgroundColor=\"white\"),d.innerHTML=t.getData(\"text/html\"),t.setDragImage(d,0,0),this._previewContainer.appendChild(d)}}function uk(t){return i.isGecko?t.dropEffect:[\"all\",\"copyMove\"].includes(t.effectAllowed)?\"move\":\"copy\"}function pk(t){if(t.is(\"editableElement\"))return null;if(t.hasClass(\"ck-widget__selection-handle\"))return t.findAncestor(Bf);if(Bf(t))return t;const e=t.findAncestor((t=>Bf(t)||t.is(\"editableElement\")));return Bf(e)?e:null}function gk(t,e){const n=e[0],o=e[e.length-1],i=n.getCommonAncestor(o),r=t.createPositionBefore(n),s=t.createPositionAfter(o);if(i&&i.is(\"element\")&&!t.schema.isLimit(i)){const e=t.createRangeOn(i),n=r.isTouching(e.start),o=s.isTouching(e.end);if(n&&o)return gk(t,[i])}return t.createRange(r,s)}class mk extends Hr{static get pluginName(){return\"PastePlainText\"}static get requires(){return[hf]}init(){const t=this.editor,e=t.model,n=t.editing.view,o=n.document,i=e.document.selection;let r=!1;n.addObserver(sf),this.listenTo(o,\"keydown\",((t,e)=>{r=e.shiftKey})),t.plugins.get(hf).on(\"contentInsertion\",((t,n)=>{(r||function(t,e){if(t.childCount>1)return!1;const n=t.getChild(0);if(e.isObject(n))return!1;return 0==Array.from(n.getAttributeKeys()).length}(n.content,e.schema))&&e.change((t=>{const o=Array.from(i.getAttributes()).filter((([t])=>e.schema.getAttributeProperties(t).isFormatting));i.isCollapsed||e.deleteContent(i,{doNotAutoparagraph:!0}),o.push(...i.getAttributes());const r=t.createRangeIn(n.content);for(const e of r.getItems())e.is(\"$textProxy\")&&t.setAttributes(o,e)}))}))}}class fk extends Hr{static get pluginName(){return\"Clipboard\"}static get requires(){return[hf,hk,mk]}}class kk extends qr{constructor(t){super(t),this.affectsData=!1}execute(){const t=this.editor.model,e=t.document.selection;let n=t.schema.getLimitElement(e);if(e.containsEntireContent(n)||!bk(t.schema,n))do{if(n=n.parent,!n)return}while(!bk(t.schema,n));t.change((t=>{t.setSelection(n,\"in\")}))}}function bk(t,e){return t.isLimit(e)&&(t.checkChild(e,\"$text\")||t.checkChild(e,\"paragraph\"))}const wk=pi(\"Ctrl+A\");class _k extends Hr{static get pluginName(){return\"SelectAllEditing\"}init(){const t=this.editor,e=t.editing.view.document;t.commands.add(\"selectAll\",new kk(t)),this.listenTo(e,\"keydown\",((e,n)=>{ui(n)===wk&&(t.execute(\"selectAll\"),n.preventDefault())}))}}class Ak extends Hr{static get pluginName(){return\"SelectAllUI\"}init(){const t=this.editor;t.ui.componentFactory.add(\"selectAll\",(e=>{const n=t.commands.get(\"selectAll\"),o=new hr(e),i=e.t;return o.set({label:i(\"Select all\"),icon:'',keystroke:\"Ctrl+A\",tooltip:!0}),o.bind(\"isEnabled\").to(n,\"isEnabled\"),this.listenTo(o,\"execute\",(()=>{t.execute(\"selectAll\"),t.editing.view.focus()})),o}))}}class Ck extends Hr{static get requires(){return[_k,Ak]}static get pluginName(){return\"SelectAll\"}}class vk extends qr{constructor(t){super(t),this._stack=[],this._createdBatches=new WeakSet,this.refresh(),this._isEnabledBasedOnSelection=!1,this.listenTo(t.data,\"set\",((t,e)=>{e[1]={...e[1]};const n=e[1];n.batchType||(n.batchType={isUndoable:!1})}),{priority:\"high\"}),this.listenTo(t.data,\"set\",((t,e)=>{e[1].batchType.isUndoable||this.clearStack()}))}refresh(){this.isEnabled=this._stack.length>0}get createdBatches(){return this._createdBatches}addBatch(t){const e=this.editor.model.document.selection,n={ranges:e.hasOwnRange?Array.from(e.getRanges()):[],isBackward:e.isBackward};this._stack.push({batch:t,selection:n}),this.refresh()}clearStack(){this._stack=[],this.refresh()}_restoreSelection(t,e,n){const o=this.editor.model,i=o.document,r=[],s=t.map((t=>t.getTransformedByOperations(n))),a=s.flat();for(const t of s){const e=t.filter((t=>t.root!=i.graveyard)).filter((t=>!xk(t,a)));e.length&&(yk(e),r.push(e[0]))}r.length&&o.change((t=>{t.setSelection(r,{backward:e})}))}_undo(t,e){const n=this.editor.model,o=n.document;this._createdBatches.add(e);const i=t.operations.slice().filter((t=>t.isDocumentOperation));i.reverse();for(const t of i){const i=t.baseVersion+1,r=Array.from(o.history.getOperations(i)),s=Bh([t.getReversed()],r,{useRelations:!0,document:this.editor.model.document,padWithNoOps:!1,forceWeakRemove:!0}).operationsA;for(let i of s){const r=i.affectedSelectable;r&&!n.canEditAt(r)&&(i=new wh(i.baseVersion)),e.addOperation(i),n.applyOperation(i),o.history.setOperationAsUndone(t,i)}}}}function yk(t){t.sort(((t,e)=>t.start.isBefore(e.start)?-1:1));for(let e=1;ee!==t&&e.containsRange(t,!0)))}class Ek extends vk{execute(t=null){const e=t?this._stack.findIndex((e=>e.batch==t)):this._stack.length-1,n=this._stack.splice(e,1)[0],o=this.editor.model.createBatch({isUndo:!0});this.editor.model.enqueueChange(o,(()=>{this._undo(n.batch,o);const t=this.editor.model.document.history.getOperations(n.batch.baseVersion);this._restoreSelection(n.selection.ranges,n.selection.isBackward,t)})),this.fire(\"revert\",n.batch,o),this.refresh()}}class Dk extends vk{execute(){const t=this._stack.pop(),e=this.editor.model.createBatch({isUndo:!0});this.editor.model.enqueueChange(e,(()=>{const n=t.batch.operations[t.batch.operations.length-1].baseVersion+1,o=this.editor.model.document.history.getOperations(n);this._restoreSelection(t.selection.ranges,t.selection.isBackward,o),this._undo(t.batch,e)})),this.refresh()}}class Sk extends Hr{constructor(){super(...arguments),this._batchRegistry=new WeakSet}static get pluginName(){return\"UndoEditing\"}init(){const t=this.editor;this._undoCommand=new Ek(t),this._redoCommand=new Dk(t),t.commands.add(\"undo\",this._undoCommand),t.commands.add(\"redo\",this._redoCommand),this.listenTo(t.model,\"applyOperation\",((t,e)=>{const n=e[0];if(!n.isDocumentOperation)return;const o=n.batch,i=this._redoCommand.createdBatches.has(o),r=this._undoCommand.createdBatches.has(o);this._batchRegistry.has(o)||(this._batchRegistry.add(o),o.isUndoable&&(i?this._undoCommand.addBatch(o):r||(this._undoCommand.addBatch(o),this._redoCommand.clearStack())))}),{priority:\"highest\"}),this.listenTo(this._undoCommand,\"revert\",((t,e,n)=>{this._redoCommand.addBatch(n)})),t.keystrokes.set(\"CTRL+Z\",\"undo\"),t.keystrokes.set(\"CTRL+Y\",\"redo\"),t.keystrokes.set(\"CTRL+SHIFT+Z\",\"redo\")}}const Bk='',Tk='';class Pk extends Hr{static get pluginName(){return\"UndoUI\"}init(){const t=this.editor,e=t.locale,n=t.t,o=\"ltr\"==e.uiLanguageDirection?Bk:Tk,i=\"ltr\"==e.uiLanguageDirection?Tk:Bk;this._addButton(\"undo\",n(\"Undo\"),\"CTRL+Z\",o),this._addButton(\"redo\",n(\"Redo\"),\"CTRL+Y\",i)}_addButton(t,e,n,o){const i=this.editor;i.ui.componentFactory.add(t,(r=>{const s=i.commands.get(t),a=new hr(r);return a.set({label:e,icon:o,keystroke:n,tooltip:!0}),a.bind(\"isEnabled\").to(s,\"isEnabled\"),this.listenTo(a,\"execute\",(()=>{i.execute(t),i.editing.view.focus()})),a}))}}class Ik extends Hr{static get requires(){return[Sk,Pk]}static get pluginName(){return\"Undo\"}}class Rk extends qr{constructor(t,e){super(t),this.attributeKey=e}refresh(){const t=this.editor.model,e=t.document;this.value=e.selection.getAttribute(this.attributeKey),this.isEnabled=t.schema.checkAttributeInSelection(e.selection,this.attributeKey)}execute(t={}){const e=this.editor.model,n=e.document.selection,o=t.value,i=t.batch,r=t=>{if(n.isCollapsed)o?t.setSelectionAttribute(this.attributeKey,o):t.removeSelectionAttribute(this.attributeKey);else{const i=e.schema.getValidRanges(n.getRanges(),this.attributeKey);for(const e of i)o?t.setAttribute(this.attributeKey,o,e):t.removeAttribute(this.attributeKey,e)}};i?e.enqueueChange(i,(t=>{r(t)})):e.change((t=>{r(t)}))}}const Ok=\"fontSize\";class zk extends Rk{constructor(t){super(t,Ok)}}function Mk(t){return t.map((t=>function(t){\"number\"==typeof t&&(t=String(t));if(\"object\"==typeof t&&(e=t,e.title&&e.model&&e.view))return Nk(t);var e;const n=function(t){return\"string\"==typeof t?Fk[t]:Fk[t.model]}(t);if(n)return Nk(n);if(\"default\"===t)return{model:void 0,title:\"Default\"};if(function(t){let e;if(\"object\"==typeof t){if(!t.model)throw new k(\"font-size-invalid-definition\",null,t);e=parseFloat(t.model)}else e=parseFloat(t);return isNaN(e)}(t))return;return function(t){\"string\"==typeof t&&(t={title:t,model:`${parseFloat(t)}px`});return t.view={name:\"span\",styles:{\"font-size\":t.model}},Nk(t)}(t)}(t))).filter((t=>void 0!==t))}const Fk={get tiny(){return{title:\"Tiny\",model:\"tiny\",view:{name:\"span\",classes:\"text-tiny\",priority:7}}},get small(){return{title:\"Small\",model:\"small\",view:{name:\"span\",classes:\"text-small\",priority:7}}},get big(){return{title:\"Big\",model:\"big\",view:{name:\"span\",classes:\"text-big\",priority:7}}},get huge(){return{title:\"Huge\",model:\"huge\",view:{name:\"span\",classes:\"text-huge\",priority:7}}}};function Nk(t){return t.view&&\"string\"!=typeof t.view&&!t.view.priority&&(t.view.priority=7),t}const Vk=[\"x-small\",\"x-small\",\"small\",\"medium\",\"large\",\"x-large\",\"xx-large\",\"xxx-large\"];class Lk extends Hr{static get pluginName(){return\"FontSizeEditing\"}constructor(t){super(t),t.config.define(Ok,{options:[\"tiny\",\"small\",\"default\",\"big\",\"huge\"],supportAllValues:!1})}init(){const t=this.editor;t.model.schema.extend(\"$text\",{allowAttributes:Ok}),t.model.schema.setAttributeProperties(Ok,{isFormatting:!0,copyOnEnter:!0});const e=t.config.get(\"fontSize.supportAllValues\"),n=Mk(this.editor.config.get(\"fontSize.options\")).filter((t=>t.model)),o=function(t,e){const n={model:{key:t,values:[]},view:{},upcastAlso:{}};for(const t of e)n.model.values.push(t.model),n.view[t.model]=t.view,t.upcastAlso&&(n.upcastAlso[t.model]=t.upcastAlso);return n}(Ok,n);e?(this._prepareAnyValueConverters(o),this._prepareCompatibilityConverter()):t.conversion.attributeToElement(o),t.commands.add(Ok,new zk(t))}_prepareAnyValueConverters(t){const e=this.editor,n=t.model.values.filter((t=>{return!(e=String(t),vu.test(e)||function(t){return yu.test(t)}(String(t)));var e}));if(n.length)throw new k(\"font-size-invalid-use-of-named-presets\",null,{presets:n});e.conversion.for(\"downcast\").attributeToElement({model:Ok,view:(t,{writer:e})=>{if(t)return e.createAttributeElement(\"span\",{style:\"font-size:\"+t},{priority:7})}}),e.conversion.for(\"upcast\").elementToAttribute({model:{key:Ok,value:t=>t.getStyle(\"font-size\")},view:{name:\"span\",styles:{\"font-size\":/.*/}}})}_prepareCompatibilityConverter(){this.editor.conversion.for(\"upcast\").elementToAttribute({view:{name:\"font\",attributes:{size:/^[+-]?\\d{1,3}$/}},model:{key:Ok,value:t=>{const e=t.getAttribute(\"size\"),n=\"-\"===e[0]||\"+\"===e[0];let o=parseInt(e,10);n&&(o=3+o);const i=Vk.length-1,r=Math.min(Math.max(o,0),i);return Vk[r]}}})}}var Hk=n(5991),jk={injectType:\"singletonStyleTag\",attributes:{\"data-cke\":!0},insert:\"head\",singleton:!0};Ri()(Hk.Z,jk);Hk.Z.locals;class qk extends Hr{static get pluginName(){return\"FontSizeUI\"}init(){const t=this.editor,e=t.t,n=this._getLocalizedOptions(),o=t.commands.get(Ok),i=e(\"Font Size\");t.ui.componentFactory.add(Ok,(e=>{const r=ep(e);return ip(r,(()=>function(t,e){const n=new Ai;for(const o of t){const t={type:\"button\",model:new Dg({commandName:Ok,commandParam:o.model,label:o.title,class:\"ck-fontsize-option\",role:\"menuitemradio\",withText:!0})};o.view&&\"string\"!=typeof o.view&&(o.view.styles&&t.model.set(\"labelStyle\",`font-size:${o.view.styles[\"font-size\"]}`),o.view.classes&&t.model.set(\"class\",`${t.model.class} ${o.view.classes}`)),t.model.bind(\"isOn\").to(e,\"value\",(t=>t===o.model)),n.add(t)}return n}(n,o)),{role:\"menu\",ariaLabel:i}),r.buttonView.set({label:i,icon:'',tooltip:!0}),r.extendTemplate({attributes:{class:[\"ck-font-size-dropdown\"]}}),r.bind(\"isEnabled\").to(o),this.listenTo(r,\"execute\",(e=>{t.execute(e.source.commandName,{value:e.source.commandParam}),t.editing.view.focus()})),r}))}_getLocalizedOptions(){const t=this.editor,e=t.t,n={Default:e(\"Default\"),Tiny:e(\"Tiny\"),Small:e(\"Small\"),Big:e(\"Big\"),Huge:e(\"Huge\")};return Mk(t.config.get(Ok).options).map((t=>{const e=n[t.title];return e&&e!=t.title&&(t=Object.assign({},t,{title:e})),t}))}}class Kk extends Hr{static get pluginName(){return\"IndentEditing\"}init(){const t=this.editor;t.commands.add(\"indent\",new Wr(t)),t.commands.add(\"outdent\",new Wr(t))}}const Wk='',Gk='';class $k extends Hr{static get pluginName(){return\"IndentUI\"}init(){const t=this.editor,e=t.locale,n=t.t,o=\"ltr\"==e.uiLanguageDirection?Wk:Gk,i=\"ltr\"==e.uiLanguageDirection?Gk:Wk;this._defineButton(\"indent\",n(\"Increase indent\"),o),this._defineButton(\"outdent\",n(\"Decrease indent\"),i)}_defineButton(t,e,n){const o=this.editor;o.ui.componentFactory.add(t,(i=>{const r=o.commands.get(t),s=new hr(i);return s.set({label:e,icon:n,tooltip:!0}),s.bind(\"isEnabled\").to(r,\"isEnabled\"),this.listenTo(s,\"execute\",(()=>{o.execute(t),o.editing.view.focus()})),s}))}}class Uk extends qr{constructor(t,e){super(t),this._indentBehavior=e}refresh(){const t=Ci(this.editor.model.document.selection.getSelectedBlocks());t&&this._isIndentationChangeAllowed(t)?this.isEnabled=this._indentBehavior.checkEnabled(t.getAttribute(\"blockIndent\")):this.isEnabled=!1}execute(){const t=this.editor.model,e=this._getBlocksToChange();t.change((t=>{for(const n of e){const e=n.getAttribute(\"blockIndent\"),o=this._indentBehavior.getNextIndent(e);o?t.setAttribute(\"blockIndent\",o,n):t.removeAttribute(\"blockIndent\",n)}}))}_getBlocksToChange(){const t=this.editor.model.document.selection;return Array.from(t.getSelectedBlocks()).filter((t=>this._isIndentationChangeAllowed(t)))}_isIndentationChangeAllowed(t){const e=this.editor;if(!e.model.schema.checkAttribute(t,\"blockIndent\"))return!1;if(!e.plugins.has(\"DocumentListUtils\"))return!0;if(!this._indentBehavior.isForward)return!0;return!e.plugins.get(\"DocumentListUtils\").isListItemBlock(t)}}class Zk{constructor(t){this.isForward=\"forward\"===t.direction,this.offset=t.offset,this.unit=t.unit}checkEnabled(t){const e=parseFloat(t||\"0\");return this.isForward||e>0}getNextIndent(t){const e=parseFloat(t||\"0\");if(!(!t||t.endsWith(this.unit)))return this.isForward?this.offset+this.unit:void 0;const n=e+(this.isForward?this.offset:-this.offset);return n>0?n+this.unit:void 0}}class Jk{constructor(t){this.isForward=\"forward\"===t.direction,this.classes=t.classes}checkEnabled(t){const e=this.classes.indexOf(t);return this.isForward?e=0}getNextIndent(t){const e=this.classes.indexOf(t),n=this.isForward?1:-1;return this.classes[e+n]}}const Yk=[\"paragraph\",\"heading1\",\"heading2\",\"heading3\",\"heading4\",\"heading5\",\"heading6\"];Symbol.iterator;Symbol.iterator;var Qk=n(3190),Xk={injectType:\"singletonStyleTag\",attributes:{\"data-cke\":!0},insert:\"head\",singleton:!0};Ri()(Qk.Z,Xk);Qk.Z.locals;var tb=n(4784),eb={injectType:\"singletonStyleTag\",attributes:{\"data-cke\":!0},insert:\"head\",singleton:!0};Ri()(tb.Z,eb);tb.Z.locals;function nb(t,e){const n=e.mapper,o=e.writer,i=\"numbered\"==t.getAttribute(\"listType\")?\"ol\":\"ul\",r=function(t){const e=t.createContainerElement(\"li\");return e.getFillerOffset=hb,e}(o),s=o.createContainerElement(i,null);return o.insert(o.createPositionAt(s,0),r),n.bindElements(t,r),r}function ob(t,e,n,o){const i=e.parent,r=n.mapper,s=n.writer;let a=r.toViewPosition(o.createPositionBefore(t));const c=sb(t.previousSibling,{sameIndent:!0,smallerIndent:!0,listIndent:t.getAttribute(\"listIndent\")}),l=t.previousSibling;if(c&&c.getAttribute(\"listIndent\")==t.getAttribute(\"listIndent\")){const t=r.toViewElement(c);a=s.breakContainer(s.createPositionAfter(t))}else if(l&&\"listItem\"==l.name){a=r.toViewPosition(o.createPositionAt(l,\"end\"));const t=r.findMappedViewAncestor(a),e=function(t){for(const e of t.getChildren())if(\"ul\"==e.name||\"ol\"==e.name)return e;return null}(t);a=e?s.createPositionBefore(e):s.createPositionAt(t,\"end\")}else a=r.toViewPosition(o.createPositionBefore(t));if(a=rb(a),s.insert(a,i),l&&\"listItem\"==l.name){const t=r.toViewElement(l),n=s.createRange(s.createPositionAt(t,0),a).getWalker({ignoreElementEnd:!0});for(const t of n)if(t.item.is(\"element\",\"li\")){const o=s.breakContainer(s.createPositionBefore(t.item)),i=t.item.parent,r=s.createPositionAt(e,\"end\");ib(s,r.nodeBefore,r.nodeAfter),s.move(s.createRangeOn(i),r),n._position=o}}else{const n=i.nextSibling;if(n&&(n.is(\"element\",\"ul\")||n.is(\"element\",\"ol\"))){let o=null;for(const e of n.getChildren()){const n=r.toModelElement(e);if(!(n&&n.getAttribute(\"listIndent\")>t.getAttribute(\"listIndent\")))break;o=e}o&&(s.breakContainer(s.createPositionAfter(o)),s.move(s.createRangeOn(o.parent),s.createPositionAt(e,\"end\")))}}ib(s,i,i.nextSibling),ib(s,i.previousSibling,i)}function ib(t,e,n){return!e||!n||\"ul\"!=e.name&&\"ol\"!=e.name||e.name!=n.name||e.getAttribute(\"class\")!==n.getAttribute(\"class\")?null:t.mergeContainers(t.createPositionAfter(e))}function rb(t){return t.getLastMatchingPosition((t=>t.item.is(\"uiElement\")))}function sb(t,e){const n=!!e.sameIndent,o=!!e.smallerIndent,i=e.listIndent;let r=t;for(;r&&\"listItem\"==r.name;){const t=r.getAttribute(\"listIndent\");if(n&&i==t||o&&i>t)return r;r=\"forward\"===e.direction?r.nextSibling:r.previousSibling}return null}function ab(t,e,n,o){t.ui.componentFactory.add(e,(i=>{const r=t.commands.get(e),s=new hr(i);return s.set({label:n,icon:o,tooltip:!0,isToggleable:!0}),s.bind(\"isOn\",\"isEnabled\").to(r,\"value\",\"isEnabled\"),s.on(\"execute\",(()=>{t.execute(e),t.editing.view.focus()})),s}))}function cb(t,e){const n=[],o=t.parent,i={ignoreElementEnd:!1,startPosition:t,shallow:!0,direction:e},r=o.getAttribute(\"listIndent\"),s=[...new Bl(i)].filter((t=>t.item.is(\"element\"))).map((t=>t.item));for(const t of s){if(!t.is(\"element\",\"listItem\"))break;if(t.getAttribute(\"listIndent\")r)){if(t.getAttribute(\"listType\")!==o.getAttribute(\"listType\"))break;if(t.getAttribute(\"listStyle\")!==o.getAttribute(\"listStyle\"))break;if(t.getAttribute(\"listReversed\")!==o.getAttribute(\"listReversed\"))break;if(t.getAttribute(\"listStart\")!==o.getAttribute(\"listStart\"))break;\"backward\"===e?n.unshift(t):n.push(t)}}return n}const lb=[\"disc\",\"circle\",\"square\"],db=[\"decimal\",\"decimal-leading-zero\",\"lower-roman\",\"upper-roman\",\"lower-latin\",\"upper-latin\"];function hb(){const t=!this.isEmpty&&(\"ul\"==this.getChild(0).name||\"ol\"==this.getChild(0).name);return this.isEmpty||t?0:ua.call(this)}class ub extends Hr{static get pluginName(){return\"ListUI\"}init(){const t=this.editor.t;ab(this.editor,\"numberedList\",t(\"Numbered List\"),''),ab(this.editor,\"bulletedList\",t(\"Bulleted List\"),'')}}const pb={},gb={},mb={},fb=[{listStyle:\"disc\",typeAttribute:\"disc\",listType:\"bulleted\"},{listStyle:\"circle\",typeAttribute:\"circle\",listType:\"bulleted\"},{listStyle:\"square\",typeAttribute:\"square\",listType:\"bulleted\"},{listStyle:\"decimal\",typeAttribute:\"1\",listType:\"numbered\"},{listStyle:\"decimal-leading-zero\",typeAttribute:null,listType:\"numbered\"},{listStyle:\"lower-roman\",typeAttribute:\"i\",listType:\"numbered\"},{listStyle:\"upper-roman\",typeAttribute:\"I\",listType:\"numbered\"},{listStyle:\"lower-alpha\",typeAttribute:\"a\",listType:\"numbered\"},{listStyle:\"upper-alpha\",typeAttribute:\"A\",listType:\"numbered\"},{listStyle:\"lower-latin\",typeAttribute:\"a\",listType:\"numbered\"},{listStyle:\"upper-latin\",typeAttribute:\"A\",listType:\"numbered\"}];for(const{listStyle:t,typeAttribute:e,listType:n}of fb)pb[t]=n,gb[t]=e,e&&(mb[e]=t);var kb=n(5782),bb={injectType:\"singletonStyleTag\",attributes:{\"data-cke\":!0},insert:\"head\",singleton:!0};Ri()(kb.Z,bb);kb.Z.locals;var wb=n(9938),_b={injectType:\"singletonStyleTag\",attributes:{\"data-cke\":!0},insert:\"head\",singleton:!0};Ri()(wb.Z,_b);wb.Z.locals;var Ab=n(2591),Cb={injectType:\"singletonStyleTag\",attributes:{\"data-cke\":!0},insert:\"head\",singleton:!0};Ri()(Ab.Z,Cb);Ab.Z.locals;class vb extends qr{constructor(t,e){super(t),this._indentBy=\"forward\"==e?1:-1}refresh(){this.isEnabled=this._checkEnabled()}execute(){const t=this.editor.model,e=t.document;let n=Array.from(e.selection.getSelectedBlocks());t.change((t=>{const e=n[n.length-1];let o=e.nextSibling;for(;o&&\"listItem\"==o.name&&o.getAttribute(\"listIndent\")>e.getAttribute(\"listIndent\");)n.push(o),o=o.nextSibling;this._indentBy<0&&(n=n.reverse());for(const e of n){const n=e.getAttribute(\"listIndent\")+this._indentBy;n<0?t.rename(e,\"paragraph\"):t.setAttribute(\"listIndent\",n,e)}this.fire(\"_executeCleanup\",n)}))}_checkEnabled(){const t=Ci(this.editor.model.document.selection.getSelectedBlocks());if(!t||!t.is(\"element\",\"listItem\"))return!1;if(this._indentBy>0){const e=t.getAttribute(\"listIndent\"),n=t.getAttribute(\"listType\");let o=t.previousSibling;for(;o&&o.is(\"element\",\"listItem\")&&o.getAttribute(\"listIndent\")>=e;){if(o.getAttribute(\"listIndent\")==e)return o.getAttribute(\"listType\")==n;o=o.previousSibling}return!1}return!0}}class yb extends qr{constructor(t,e){super(t),this.type=e}refresh(){this.value=this._getValue(),this.isEnabled=this._checkEnabled()}execute(t={}){const e=this.editor.model,n=e.document,o=Array.from(n.selection.getSelectedBlocks()).filter((t=>Eb(t,e.schema))),i=void 0!==t.forceValue?!t.forceValue:this.value;e.change((t=>{if(i){let e=o[o.length-1].nextSibling,n=Number.POSITIVE_INFINITY,i=[];for(;e&&\"listItem\"==e.name&&0!==e.getAttribute(\"listIndent\");){const t=e.getAttribute(\"listIndent\");t=n;)r>i.getAttribute(\"listIndent\")&&(r=i.getAttribute(\"listIndent\")),i.getAttribute(\"listIndent\")==r&&t[e?\"unshift\":\"push\"](i),i=i[e?\"previousSibling\":\"nextSibling\"]}}function Eb(t,e){return e.checkChild(t.parent,\"listItem\")&&!e.isObject(t)}class Db extends Hr{static get pluginName(){return\"ListUtils\"}getListTypeFromListStyleType(t){return function(t){return lb.includes(t)?\"bulleted\":db.includes(t)?\"numbered\":null}(t)}getSelectedListItems(t){return function(t){let e=[...t.document.selection.getSelectedBlocks()].filter((t=>t.is(\"element\",\"listItem\"))).map((e=>{const n=t.change((t=>t.createPositionAt(e,0)));return[...cb(n,\"backward\"),...cb(n,\"forward\")]})).flat();return e=[...new Set(e)],e}(t)}getSiblingNodes(t,e){return cb(t,e)}}function Sb(t){return(e,n,o)=>{const i=o.consumable;if(!i.test(n.item,\"insert\")||!i.test(n.item,\"attribute:listType\")||!i.test(n.item,\"attribute:listIndent\"))return;i.consume(n.item,\"insert\"),i.consume(n.item,\"attribute:listType\"),i.consume(n.item,\"attribute:listIndent\");const r=n.item;ob(r,nb(r,o),o,t)}}const Bb=(t,e,n)=>{if(!n.consumable.test(e.item,t.name))return;const o=n.mapper.toViewElement(e.item),i=n.writer;i.breakContainer(i.createPositionBefore(o)),i.breakContainer(i.createPositionAfter(o));const r=o.parent,s=\"numbered\"==e.attributeNewValue?\"ol\":\"ul\";i.rename(s,r)},Tb=(t,e,n)=>{n.consumable.consume(e.item,t.name);const o=n.mapper.toViewElement(e.item).parent,i=n.writer;ib(i,o,o.nextSibling),ib(i,o.previousSibling,o)};const Pb=(t,e,n)=>{if(n.consumable.test(e.item,t.name)&&\"listItem\"!=e.item.name){let t=n.mapper.toViewPosition(e.range.start);const o=n.writer,i=[];for(;(\"ul\"==t.parent.name||\"ol\"==t.parent.name)&&(t=o.breakContainer(t),\"li\"==t.parent.name);){const e=t,n=o.createPositionAt(t.parent,\"end\");if(!e.isEqual(n)){const t=o.remove(o.createRange(e,n));i.push(t)}t=o.createPositionAfter(t.parent)}if(i.length>0){for(let e=0;e0){const e=ib(o,n,n.nextSibling);e&&e.parent==n&&t.offset--}}ib(o,t.nodeBefore,t.nodeAfter)}}},Ib=(t,e,n)=>{const o=n.mapper.toViewPosition(e.position),i=o.nodeBefore,r=o.nodeAfter;ib(n.writer,i,r)},Rb=(t,e,n)=>{if(n.consumable.consume(e.viewItem,{name:!0})){const t=n.writer,o=t.createElement(\"listItem\"),i=function(t){let e=0,n=t.parent;for(;n;){if(n.is(\"element\",\"li\"))e++;else{const t=n.previousSibling;t&&t.is(\"element\",\"li\")&&e++}n=n.parent}return e}(e.viewItem);t.setAttribute(\"listIndent\",i,o);const r=e.viewItem.parent&&\"ol\"==e.viewItem.parent.name?\"numbered\":\"bulleted\";if(t.setAttribute(\"listType\",r,o),!n.safeInsert(o,e.modelCursor))return;const s=function(t,e,n){const{writer:o,schema:i}=n;let r=o.createPositionAfter(t);for(const s of e)if(\"ul\"==s.name||\"ol\"==s.name)r=n.convertItem(s,r).modelCursor;else{const e=n.convertItem(s,o.createPositionAt(t,\"end\")),a=e.modelRange.start.nodeAfter;a&&a.is(\"element\")&&!i.checkChild(t,a.name)&&(t=e.modelCursor.parent.is(\"element\",\"listItem\")?e.modelCursor.parent:Nb(e.modelCursor),r=o.createPositionAfter(t))}return r}(o,e.viewItem.getChildren(),n);e.modelRange=t.createRange(e.modelCursor,s),n.updateConversionResult(o,e)}},Ob=(t,e,n)=>{if(n.consumable.test(e.viewItem,{name:!0})){const t=Array.from(e.viewItem.getChildren());for(const e of t){!(e.is(\"element\",\"li\")||Lb(e))&&e._remove()}}},zb=(t,e,n)=>{if(n.consumable.test(e.viewItem,{name:!0})){if(0===e.viewItem.childCount)return;const t=[...e.viewItem.getChildren()];let n=!1;for(const e of t)n&&!Lb(e)&&e._remove(),Lb(e)&&(n=!0)}};function Mb(t){return(e,n)=>{if(n.isPhantom)return;const o=n.modelPosition.nodeBefore;if(o&&o.is(\"element\",\"listItem\")){const e=n.mapper.toViewElement(o),i=e.getAncestors().find(Lb),r=t.createPositionAt(e,0).getWalker();for(const t of r){if(\"elementStart\"==t.type&&t.item.is(\"element\",\"li\")){n.viewPosition=t.previousPosition;break}if(\"elementEnd\"==t.type&&t.item==i){n.viewPosition=t.nextPosition;break}}}}}const Fb=function(t,[e,n]){const o=this;let i,r=e.is(\"documentFragment\")?e.getChild(0):e;if(i=n?o.createSelection(n):o.document.selection,r&&r.is(\"element\",\"listItem\")){const t=i.getFirstPosition();let e=null;if(t.parent.is(\"element\",\"listItem\")?e=t.parent:t.nodeBefore&&t.nodeBefore.is(\"element\",\"listItem\")&&(e=t.nodeBefore),e){const t=e.getAttribute(\"listIndent\");if(t>0)for(;r&&r.is(\"element\",\"listItem\");)r._setAttribute(\"listIndent\",r.getAttribute(\"listIndent\")+t),r=r.nextSibling}}};function Nb(t){const e=new Bl({startPosition:t});let n;do{n=e.next()}while(!n.value.item.is(\"element\",\"listItem\"));return n.value.item}function Vb(t,e,n,o,i,r){const s=sb(e.nodeBefore,{sameIndent:!0,smallerIndent:!0,listIndent:t}),a=i.mapper,c=i.writer,l=s?s.getAttribute(\"listIndent\"):null;let d;if(s)if(l==t){const t=a.toViewElement(s).parent;d=c.createPositionAfter(t)}else{const t=r.createPositionAt(s,\"end\");d=a.toViewPosition(t)}else d=n;d=rb(d);for(const t of[...o.getChildren()])Lb(t)&&(d=c.move(c.createRangeOn(t),d).end,ib(c,t,t.nextSibling),ib(c,t.previousSibling,t))}function Lb(t){return t.is(\"element\",\"ol\")||t.is(\"element\",\"ul\")}class Hb extends Hr{static get pluginName(){return\"ListEditing\"}static get requires(){return[kf,jm,Db]}init(){const t=this.editor;t.model.schema.register(\"listItem\",{inheritAllFrom:\"$block\",allowAttributes:[\"listType\",\"listIndent\"]});const e=t.data,n=t.editing;var o;t.model.document.registerPostFixer((e=>function(t,e){const n=t.document.differ.getChanges(),o=new Map;let i=!1;for(const o of n)if(\"insert\"==o.type&&\"listItem\"==o.name)r(o.position);else if(\"insert\"==o.type&&\"listItem\"!=o.name){if(\"$text\"!=o.name){const n=o.position.nodeAfter;n.hasAttribute(\"listIndent\")&&(e.removeAttribute(\"listIndent\",n),i=!0),n.hasAttribute(\"listType\")&&(e.removeAttribute(\"listType\",n),i=!0),n.hasAttribute(\"listStyle\")&&(e.removeAttribute(\"listStyle\",n),i=!0),n.hasAttribute(\"listReversed\")&&(e.removeAttribute(\"listReversed\",n),i=!0),n.hasAttribute(\"listStart\")&&(e.removeAttribute(\"listStart\",n),i=!0);for(const e of Array.from(t.createRangeIn(n)).filter((t=>t.item.is(\"element\",\"listItem\"))))r(e.previousPosition)}r(o.position.getShiftedBy(o.length))}else\"remove\"==o.type&&\"listItem\"==o.name?r(o.position):(\"attribute\"==o.type&&\"listIndent\"==o.attributeKey||\"attribute\"==o.type&&\"listType\"==o.attributeKey)&&r(o.range.start);for(const t of o.values())s(t),a(t);return i;function r(t){const e=t.nodeBefore;if(e&&e.is(\"element\",\"listItem\")){let t=e;if(o.has(t))return;for(let e=t.previousSibling;e&&e.is(\"element\",\"listItem\");e=t.previousSibling)if(t=e,o.has(t))return;o.set(e,t)}else{const e=t.nodeAfter;e&&e.is(\"element\",\"listItem\")&&o.set(e,e)}}function s(t){let n=0,o=null;for(;t&&t.is(\"element\",\"listItem\");){const r=t.getAttribute(\"listIndent\");if(r>n){let s;null===o?(o=r-n,s=n):(o>r&&(o=r),s=r-o),e.setAttribute(\"listIndent\",s,t),i=!0}else o=null,n=t.getAttribute(\"listIndent\")+1;t=t.nextSibling}}function a(t){let n=[],o=null;for(;t&&t.is(\"element\",\"listItem\");){const r=t.getAttribute(\"listIndent\");if(o&&o.getAttribute(\"listIndent\")>r&&(n=n.slice(0,r+1)),0!=r)if(n[r]){const o=n[r];t.getAttribute(\"listType\")!=o&&(e.setAttribute(\"listType\",o,t),i=!0)}else n[r]=t.getAttribute(\"listType\");o=t,t=t.nextSibling}}}(t.model,e))),n.mapper.registerViewToModelLength(\"li\",jb),e.mapper.registerViewToModelLength(\"li\",jb),n.mapper.on(\"modelToViewPosition\",Mb(n.view)),n.mapper.on(\"viewToModelPosition\",(o=t.model,(t,e)=>{const n=e.viewPosition,i=n.parent,r=e.mapper;if(\"ul\"==i.name||\"ol\"==i.name){if(n.isAtEnd){const t=r.toModelElement(n.nodeBefore),i=r.getModelLength(n.nodeBefore);e.modelPosition=o.createPositionBefore(t).getShiftedBy(i)}else{const t=r.toModelElement(n.nodeAfter);e.modelPosition=o.createPositionBefore(t)}t.stop()}else if(\"li\"==i.name&&n.nodeBefore&&(\"ul\"==n.nodeBefore.name||\"ol\"==n.nodeBefore.name)){const s=r.toModelElement(i);let a=1,c=n.nodeBefore;for(;c&&Lb(c);)a+=r.getModelLength(c),c=c.previousSibling;e.modelPosition=o.createPositionBefore(s).getShiftedBy(a),t.stop()}})),e.mapper.on(\"modelToViewPosition\",Mb(n.view)),t.conversion.for(\"editingDowncast\").add((e=>{e.on(\"insert\",Pb,{priority:\"high\"}),e.on(\"insert:listItem\",Sb(t.model)),e.on(\"attribute:listType:listItem\",Bb,{priority:\"high\"}),e.on(\"attribute:listType:listItem\",Tb,{priority:\"low\"}),e.on(\"attribute:listIndent:listItem\",function(t){return(e,n,o)=>{if(!o.consumable.consume(n.item,\"attribute:listIndent\"))return;const i=o.mapper.toViewElement(n.item),r=o.writer;r.breakContainer(r.createPositionBefore(i)),r.breakContainer(r.createPositionAfter(i));const s=i.parent,a=s.previousSibling,c=r.createRangeOn(s);r.remove(c),a&&a.nextSibling&&ib(r,a,a.nextSibling),Vb(n.attributeOldValue+1,n.range.start,c.start,i,o,t),ob(n.item,i,o,t);for(const t of n.item.getChildren())o.consumable.consume(t,\"insert\")}}(t.model)),e.on(\"remove:listItem\",function(t){return(e,n,o)=>{const i=o.mapper.toViewPosition(n.position).getLastMatchingPosition((t=>!t.item.is(\"element\",\"li\"))).nodeAfter,r=o.writer;r.breakContainer(r.createPositionBefore(i)),r.breakContainer(r.createPositionAfter(i));const s=i.parent,a=s.previousSibling,c=r.createRangeOn(s),l=r.remove(c);a&&a.nextSibling&&ib(r,a,a.nextSibling),Vb(o.mapper.toModelElement(i).getAttribute(\"listIndent\")+1,n.position,c.start,i,o,t);for(const t of r.createRangeIn(l).getItems())o.mapper.unbindViewElement(t);e.stop()}}(t.model)),e.on(\"remove\",Ib,{priority:\"low\"})})),t.conversion.for(\"dataDowncast\").add((e=>{e.on(\"insert\",Pb,{priority:\"high\"}),e.on(\"insert:listItem\",Sb(t.model))})),t.conversion.for(\"upcast\").add((t=>{t.on(\"element:ul\",Ob,{priority:\"high\"}),t.on(\"element:ol\",Ob,{priority:\"high\"}),t.on(\"element:li\",zb,{priority:\"high\"}),t.on(\"element:li\",Rb)})),t.model.on(\"insertContent\",Fb,{priority:\"high\"}),t.commands.add(\"numberedList\",new yb(t,\"numbered\")),t.commands.add(\"bulletedList\",new yb(t,\"bulleted\")),t.commands.add(\"indentList\",new vb(t,\"forward\")),t.commands.add(\"outdentList\",new vb(t,\"backward\"));const i=n.view.document;this.listenTo(i,\"enter\",((t,e)=>{const n=this.editor.model.document,o=n.selection.getLastPosition().parent;n.selection.isCollapsed&&\"listItem\"==o.name&&o.isEmpty&&(this.editor.execute(\"outdentList\"),e.preventDefault(),t.stop())}),{context:\"li\"}),this.listenTo(i,\"delete\",((t,e)=>{if(\"backward\"!==e.direction)return;const n=this.editor.model.document.selection;if(!n.isCollapsed)return;const o=n.getFirstPosition();if(!o.isAtStart)return;const i=o.parent;if(\"listItem\"!==i.name)return;i.previousSibling&&\"listItem\"===i.previousSibling.name||(this.editor.execute(\"outdentList\"),e.preventDefault(),t.stop())}),{context:\"li\"}),this.listenTo(t.editing.view.document,\"tab\",((e,n)=>{const o=n.shiftKey?\"outdentList\":\"indentList\";this.editor.commands.get(o).isEnabled&&(t.execute(o),n.stopPropagation(),n.preventDefault(),e.stop())}),{context:\"li\"})}afterInit(){const t=this.editor.commands,e=t.get(\"indent\"),n=t.get(\"outdent\");e&&e.registerChildCommand(t.get(\"indentList\")),n&&n.registerChildCommand(t.get(\"outdentList\"))}}function jb(t){let e=1;for(const n of t.getChildren())if(\"ul\"==n.name||\"ol\"==n.name)for(const t of n.getChildren())e+=jb(t);return e}pi(\"Ctrl+Enter\");var qb=n(9292),Kb={injectType:\"singletonStyleTag\",attributes:{\"data-cke\":!0},insert:\"head\",singleton:!0};Ri()(qb.Z,Kb);qb.Z.locals;pi(\"Ctrl+Enter\");class Wb extends qr{constructor(t){super(t),this._isEnabledBasedOnSelection=!1}refresh(){const t=this.editor.model,e=Ci(t.document.selection.getSelectedBlocks());this.value=!!e&&e.is(\"element\",\"paragraph\"),this.isEnabled=!!e&&Gb(e,t.schema)}execute(t={}){const e=this.editor.model,n=e.document,o=t.selection||n.selection;e.canEditAt(o)&&e.change((t=>{const n=o.getSelectedBlocks();for(const o of n)!o.is(\"element\",\"paragraph\")&&Gb(o,e.schema)&&t.rename(o,\"paragraph\")}))}}function Gb(t,e){return e.checkChild(t.parent,\"paragraph\")&&!e.isObject(t)}class $b extends qr{constructor(t){super(t),this._isEnabledBasedOnSelection=!1}execute(t){const e=this.editor.model,n=t.attributes;let o=t.position;e.canEditAt(o)&&e.change((t=>{if(o=this._findPositionToInsertParagraph(o,t),!o)return;const i=t.createElement(\"paragraph\");n&&e.schema.setAllowedAttributes(i,n,t),e.insertContent(i,o),t.setSelection(i,\"in\")}))}_findPositionToInsertParagraph(t,e){const n=this.editor.model;if(n.schema.checkChild(t,\"paragraph\"))return t;const o=n.schema.findAllowedParent(t,\"paragraph\");if(!o)return null;const i=t.parent,r=n.schema.checkChild(i,\"$text\");return i.isEmpty||r&&t.isAtEnd?n.createPositionAfter(i):!i.isEmpty&&r&&t.isAtStart?n.createPositionBefore(i):e.split(t,o).position}}class Ub extends Hr{static get pluginName(){return\"Paragraph\"}init(){const t=this.editor,e=t.model;t.commands.add(\"paragraph\",new Wb(t)),t.commands.add(\"insertParagraph\",new $b(t)),e.schema.register(\"paragraph\",{inheritAllFrom:\"$block\"}),t.conversion.elementToElement({model:\"paragraph\",view:\"p\"}),t.conversion.for(\"upcast\").elementToElement({model:(t,{writer:e})=>Ub.paragraphLikeElements.has(t.name)?t.isEmpty?null:e.createElement(\"paragraph\"):null,view:/.+/,converterPriority:\"low\"})}}Ub.paragraphLikeElements=new Set([\"blockquote\",\"dd\",\"div\",\"dt\",\"h1\",\"h2\",\"h3\",\"h4\",\"h5\",\"h6\",\"li\",\"p\",\"td\",\"th\"]);function Zb(t,e,n,o,i=1){null!=e&&null!=i&&e>i?o.setAttribute(t,e,n):o.removeAttribute(t,n)}function Jb(t,e,n={}){const o=t.createElement(\"tableCell\",n);return t.insertElement(\"paragraph\",o),t.insert(o,e),o}function Yb(t,e){const n=e.parent.parent,o=parseInt(n.getAttribute(\"headingColumns\")||\"0\"),{column:i}=t.getCellLocation(e);return!!o&&i{t.on(\"element:table\",((t,e,n)=>{const o=e.viewItem;if(!n.consumable.test(o,{name:!0}))return;const{rows:i,headingRows:r,headingColumns:s}=function(t){let e,n=0;const o=[],i=[];let r;for(const s of Array.from(t.getChildren())){if(\"tbody\"!==s.name&&\"thead\"!==s.name&&\"tfoot\"!==s.name)continue;\"thead\"!==s.name||r||(r=s);const t=Array.from(s.getChildren()).filter((t=>t.is(\"element\",\"tr\")));for(const a of t)if(r&&s===r||\"tbody\"===s.name&&Array.from(a.getChildren()).length&&Array.from(a.getChildren()).every((t=>t.is(\"element\",\"th\"))))n++,o.push(a);else{i.push(a);const t=tw(a);(!e||tn.convertItem(t,n.writer.createPositionAt(c,\"end\")))),n.convertChildren(o,n.writer.createPositionAt(c,\"end\")),c.isEmpty){const t=n.writer.createElement(\"tableRow\");n.writer.insert(t,n.writer.createPositionAt(c,\"end\")),Jb(n.writer,n.writer.createPositionAt(t,\"end\"))}n.updateConversionResult(c,e)}}))}}function Xb(t){return e=>{e.on(`element:${t}`,((t,e,{writer:n})=>{if(!e.modelRange)return;const o=e.modelRange.start.nodeAfter,i=n.createPositionAt(o,0);if(e.viewItem.isEmpty)return void n.insertElement(\"paragraph\",i);const r=Array.from(o.getChildren());if(r.every((t=>t.is(\"element\",\"$marker\")))){const t=n.createElement(\"paragraph\");n.insert(t,n.createPositionAt(o,0));for(const e of r)n.move(n.createRangeOn(e),n.createPositionAt(t,\"end\"))}}),{priority:\"low\"})}}function tw(t){let e=0,n=0;const o=Array.from(t.getChildren()).filter((t=>\"th\"===t.name||\"td\"===t.name));for(;n1||i>1)&&this._recordSpans(n,i,o),this._shouldSkipSlot()||(e=this._formatOutValue(n)),this._nextCellAtColumn=this._column+o}return this._column++,this._column==this._nextCellAtColumn&&this._cellIndex++,e||this.next()}skipRow(t){this._skipRows.add(t)}_advanceToNextRow(){return this._row++,this._rowIndex++,this._column=0,this._cellIndex=0,this._nextCellAtColumn=-1,this.next()}_isOverEndRow(){return void 0!==this._endRow&&this._row>this._endRow}_isOverEndColumn(){return void 0!==this._endColumn&&this._column>this._endColumn}_formatOutValue(t,e=this._row,n=this._column){return{done:!1,value:new nw(this,t,e,n)}}_shouldSkipSlot(){const t=this._skipRows.has(this._row),e=this._rowthis._endColumn;return t||e||n||o}_getSpanned(){const t=this._spannedCells.get(this._row);return t&&t.get(this._column)||null}_recordSpans(t,e,n){const o={cell:t,row:this._row,column:this._column};for(let t=this._row;t0&&!this._jumpedToStartRow}_jumpToNonSpannedRowClosestToStartRow(){const t=this._getRowLength(0);for(let e=this._startRow;!this._jumpedToStartRow;e--)t===this._getRowLength(e)&&(this._row=e,this._rowIndex=e,this._jumpedToStartRow=!0)}_getRowLength(t){return[...this._table.getChild(t).getChildren()].reduce(((t,e)=>t+parseInt(e.getAttribute(\"colspan\")||\"1\")),0)}}class nw{constructor(t,e,n,o){this.cell=e,this.row=t._row,this.column=t._column,this.cellAnchorRow=n,this.cellAnchorColumn=o,this._cellIndex=t._cellIndex,this._rowIndex=t._rowIndex,this._table=t._table}get isAnchor(){return this.row===this.cellAnchorRow&&this.column===this.cellAnchorColumn}get cellWidth(){return parseInt(this.cell.getAttribute(\"colspan\")||\"1\")}get cellHeight(){return parseInt(this.cell.getAttribute(\"rowspan\")||\"1\")}get rowIndex(){return this._rowIndex}getPositionBefore(){return this._table.root.document.model.createPositionAt(this._table.getChild(this.row),this._cellIndex)}}function ow(t,e){return(n,{writer:o})=>{const i=n.getAttribute(\"headingRows\")||0,r=o.createContainerElement(\"table\",null,[]),s=o.createContainerElement(\"figure\",{class:\"table\"},r);i>0&&o.insert(o.createPositionAt(r,\"end\"),o.createContainerElement(\"thead\",null,o.createSlot((t=>t.is(\"element\",\"tableRow\")&&t.indext.is(\"element\",\"tableRow\")&&t.index>=i))));for(const{positionOffset:t,filter:n}of e.additionalSlots)o.insert(o.createPositionAt(r,t),o.createSlot(n));return o.insert(o.createPositionAt(r,\"after\"),o.createSlot((t=>!t.is(\"element\",\"tableRow\")&&!e.additionalSlots.some((({filter:e})=>e(t)))))),e.asWidget?function(t,e){return e.setCustomProperty(\"table\",!0,t),Tf(t,e,{hasSelectionHandle:!0})}(s,o):s}}function iw(t={}){return(e,{writer:n})=>{const o=e.parent,i=o.parent,r=i.getChildIndex(o),s=new ew(i,{row:r}),a=i.getAttribute(\"headingRows\")||0,c=i.getAttribute(\"headingColumns\")||0;let l=null;for(const o of s)if(o.cell==e){const e=o.row{if(!e.parent.is(\"element\",\"tableCell\"))return null;if(!sw(e))return null;if(t.asWidget)return n.createContainerElement(\"span\",{class:\"ck-table-bogus-paragraph\"});{const t=n.createContainerElement(\"p\");return n.setCustomProperty(\"dataPipeline:transparentRendering\",!0,t),t}}}function sw(t){return 1==t.parent.childCount&&!!t.getAttributeKeys().next().done}class aw extends qr{refresh(){const t=this.editor.model,e=t.document.selection,n=t.schema;this.isEnabled=function(t,e){const n=t.getFirstPosition().parent,o=n===n.root?n:n.parent;return e.checkChild(o,\"table\")}(e,n)}execute(t={}){const e=this.editor,n=e.model,o=e.plugins.get(\"TableUtils\"),i=e.config.get(\"table.defaultHeadings.rows\"),r=e.config.get(\"table.defaultHeadings.columns\");void 0===t.headingRows&&i&&(t.headingRows=i),void 0===t.headingColumns&&r&&(t.headingColumns=r),n.change((e=>{const i=o.createTable(e,t);n.insertObject(i,null,null,{findOptimalPosition:\"auto\"}),e.setSelection(e.createPositionAt(i.getNodeByPath([0,0,0]),0))}))}}class cw extends qr{constructor(t,e={}){super(t),this.order=e.order||\"below\"}refresh(){const t=this.editor.model.document.selection,e=!!this.editor.plugins.get(\"TableUtils\").getSelectionAffectedTableCells(t).length;this.isEnabled=e}execute(){const t=this.editor,e=t.model.document.selection,n=t.plugins.get(\"TableUtils\"),o=\"above\"===this.order,i=n.getSelectionAffectedTableCells(e),r=n.getRowIndexes(i),s=o?r.first:r.last,a=i[0].findAncestor(\"table\");n.insertRows(a,{at:o?s:s+1,copyStructureFromAbove:!o})}}class lw extends qr{constructor(t,e={}){super(t),this.order=e.order||\"right\"}refresh(){const t=this.editor.model.document.selection,e=!!this.editor.plugins.get(\"TableUtils\").getSelectionAffectedTableCells(t).length;this.isEnabled=e}execute(){const t=this.editor,e=t.model.document.selection,n=t.plugins.get(\"TableUtils\"),o=\"left\"===this.order,i=n.getSelectionAffectedTableCells(e),r=n.getColumnIndexes(i),s=o?r.first:r.last,a=i[0].findAncestor(\"table\");n.insertColumns(a,{columns:1,at:o?s:s+1})}}class dw extends qr{constructor(t,e={}){super(t),this.direction=e.direction||\"horizontally\"}refresh(){const t=this.editor.plugins.get(\"TableUtils\").getSelectionAffectedTableCells(this.editor.model.document.selection);this.isEnabled=1===t.length}execute(){const t=this.editor.plugins.get(\"TableUtils\"),e=t.getSelectionAffectedTableCells(this.editor.model.document.selection)[0];\"horizontally\"===this.direction?t.splitCellHorizontally(e,2):t.splitCellVertically(e,2)}}function hw(t,e,n){const{startRow:o,startColumn:i,endRow:r,endColumn:s}=e,a=n.createElement(\"table\"),c=r-o+1;for(let t=0;t0){Zb(\"headingRows\",r-n,t,i,0)}const s=parseInt(e.getAttribute(\"headingColumns\")||\"0\");if(s>0){Zb(\"headingColumns\",s-o,t,i,0)}}(a,t,o,i,n),a}function uw(t,e,n=0){const o=[],i=new ew(t,{startRow:n,endRow:e-1});for(const t of i){const{row:n,cellHeight:i}=t;n1&&(a.rowspan=c);const l=parseInt(t.getAttribute(\"colspan\")||\"1\");l>1&&(a.colspan=l);const d=r+s,h=[...new ew(i,{startRow:r,endRow:d,includeAllSlots:!0})];let u,p=null;for(const e of h){const{row:o,column:i,cell:r}=e;r===t&&void 0===u&&(u=i),void 0!==u&&u===i&&o===d&&(p=Jb(n,e.getPositionBefore(),a))}return Zb(\"rowspan\",s,t,n),p}function gw(t,e){const n=[],o=new ew(t);for(const t of o){const{column:o,cellWidth:i}=t;o1&&(r.colspan=s);const a=parseInt(t.getAttribute(\"rowspan\")||\"1\");a>1&&(r.rowspan=a);const c=Jb(o,o.createPositionAfter(t),r);return Zb(\"colspan\",i,t,o),c}function fw(t,e,n,o,i,r){const s=parseInt(t.getAttribute(\"colspan\")||\"1\"),a=parseInt(t.getAttribute(\"rowspan\")||\"1\");if(n+s-1>i){Zb(\"colspan\",i-n+1,t,r,1)}if(e+a-1>o){Zb(\"rowspan\",o-e+1,t,r,1)}}function kw(t,e){const n=e.getColumns(t),o=new Array(n).fill(0);for(const{column:e}of new ew(t))o[e]++;const i=o.reduce(((t,e,n)=>e?t:[...t,n]),[]);if(i.length>0){const n=i[i.length-1];return e.removeColumns(t,{at:n}),!0}return!1}function bw(t,e){const n=[],o=e.getRows(t);for(let e=0;e0){const o=n[n.length-1];return e.removeRows(t,{at:o}),!0}return!1}function ww(t,e){kw(t,e)||bw(t,e)}function _w(t,e){const n=Array.from(new ew(t,{startColumn:e.firstColumn,endColumn:e.lastColumn,row:e.lastRow}));if(n.every((({cellHeight:t})=>1===t)))return e.lastRow;const o=n[0].cellHeight-1;return e.lastRow+o}function Aw(t,e){const n=Array.from(new ew(t,{startRow:e.firstRow,endRow:e.lastRow,column:e.lastColumn}));if(n.every((({cellWidth:t})=>1===t)))return e.lastColumn;const o=n[0].cellWidth-1;return e.lastColumn+o}class Cw extends qr{constructor(t,e){super(t),this.direction=e.direction,this.isHorizontal=\"right\"==this.direction||\"left\"==this.direction}refresh(){const t=this._getMergeableCell();this.value=t,this.isEnabled=!!t}execute(){const t=this.editor.model,e=t.document,n=this.editor.plugins.get(\"TableUtils\").getTableCellsContainingSelection(e.selection)[0],o=this.value,i=this.direction;t.change((t=>{const e=\"right\"==i||\"down\"==i,r=e?n:o,s=e?o:n,a=s.parent;!function(t,e,n){vw(t)||(vw(e)&&n.remove(n.createRangeIn(e)),n.move(n.createRangeIn(t),n.createPositionAt(e,\"end\")));n.remove(t)}(s,r,t);const c=this.isHorizontal?\"colspan\":\"rowspan\",l=parseInt(n.getAttribute(c)||\"1\"),d=parseInt(o.getAttribute(c)||\"1\");t.setAttribute(c,l+d,r),t.setSelection(t.createRangeIn(r));const h=this.editor.plugins.get(\"TableUtils\");ww(a.findAncestor(\"table\"),h)}))}_getMergeableCell(){const t=this.editor.model.document,e=this.editor.plugins.get(\"TableUtils\"),n=e.getTableCellsContainingSelection(t.selection)[0];if(!n)return;const o=this.isHorizontal?function(t,e,n){const o=t.parent,i=o.parent,r=\"right\"==e?t.nextSibling:t.previousSibling,s=(i.getAttribute(\"headingColumns\")||0)>0;if(!r)return;const a=\"right\"==e?t:r,c=\"right\"==e?r:t,{column:l}=n.getCellLocation(a),{column:d}=n.getCellLocation(c),h=parseInt(a.getAttribute(\"colspan\")||\"1\"),u=Yb(n,a),p=Yb(n,c);if(s&&u!=p)return;return l+h===d?r:void 0}(n,this.direction,e):function(t,e,n){const o=t.parent,i=o.parent,r=i.getChildIndex(o);if(\"down\"==e&&r===n.getRows(i)-1||\"up\"==e&&0===r)return null;const s=parseInt(t.getAttribute(\"rowspan\")||\"1\"),a=i.getAttribute(\"headingRows\")||0,c=\"down\"==e&&r+s===a,l=\"up\"==e&&r===a;if(a&&(c||l))return null;const d=parseInt(t.getAttribute(\"rowspan\")||\"1\"),h=\"down\"==e?r+d:r,u=[...new ew(i,{endRow:h})],p=u.find((e=>e.cell===t)),g=p.column,m=u.find((({row:t,cellHeight:n,column:o})=>o===g&&(\"down\"==e?t===h:h===t+n)));return m&&m.cell?m.cell:null}(n,this.direction,e);if(!o)return;const i=this.isHorizontal?\"rowspan\":\"colspan\",r=parseInt(n.getAttribute(i)||\"1\");return parseInt(o.getAttribute(i)||\"1\")===r?o:void 0}}function vw(t){const e=t.getChild(0);return 1==t.childCount&&e.is(\"element\",\"paragraph\")&&e.isEmpty}class yw extends qr{refresh(){const t=this.editor.plugins.get(\"TableUtils\"),e=t.getSelectionAffectedTableCells(this.editor.model.document.selection),n=e[0];if(n){const o=n.findAncestor(\"table\"),i=t.getRows(o)-1,r=t.getRowIndexes(e),s=0===r.first&&r.last===i;this.isEnabled=!s}else this.isEnabled=!1}execute(){const t=this.editor.model,e=this.editor.plugins.get(\"TableUtils\"),n=e.getSelectionAffectedTableCells(t.document.selection),o=e.getRowIndexes(n),i=n[0],r=i.findAncestor(\"table\"),s=e.getCellLocation(i).column;t.change((t=>{const n=o.last-o.first+1;e.removeRows(r,{at:o.first,rows:n});const i=function(t,e,n,o){const i=t.getChild(Math.min(e,o-1));let r=i.getChild(0),s=0;for(const t of i.getChildren()){if(s>n)return r;r=t,s+=parseInt(t.getAttribute(\"colspan\")||\"1\")}return r}(r,o.first,s,e.getRows(r));t.setSelection(t.createPositionAt(i,0))}))}}class xw extends qr{refresh(){const t=this.editor.plugins.get(\"TableUtils\"),e=t.getSelectionAffectedTableCells(this.editor.model.document.selection),n=e[0];if(n){const o=n.findAncestor(\"table\"),i=t.getColumns(o),{first:r,last:s}=t.getColumnIndexes(e);this.isEnabled=s-rt.cell===e)).column,last:i.find((t=>t.cell===n)).column},s=function(t,e,n,o){const i=parseInt(n.getAttribute(\"colspan\")||\"1\");return i>1?n:e.previousSibling||n.nextSibling?n.nextSibling||e.previousSibling:o.first?t.reverse().find((({column:t})=>tt>o.last)).cell}(i,e,n,r);this.editor.model.change((e=>{const n=r.last-r.first+1;t.removeColumns(o,{at:r.first,columns:n}),e.setSelection(e.createPositionAt(s,0))}))}}class Ew extends qr{refresh(){const t=this.editor.plugins.get(\"TableUtils\"),e=this.editor.model,n=t.getSelectionAffectedTableCells(e.document.selection),o=n.length>0;this.isEnabled=o,this.value=o&&n.every((t=>this._isInHeading(t,t.parent.parent)))}execute(t={}){if(t.forceValue===this.value)return;const e=this.editor.plugins.get(\"TableUtils\"),n=this.editor.model,o=e.getSelectionAffectedTableCells(n.document.selection),i=o[0].findAncestor(\"table\"),{first:r,last:s}=e.getRowIndexes(o),a=this.value?r:s+1,c=i.getAttribute(\"headingRows\")||0;n.change((t=>{if(a){const e=uw(i,a,a>c?c:0);for(const{cell:n}of e)pw(n,a,t)}Zb(\"headingRows\",a,i,t,0)}))}_isInHeading(t,e){const n=parseInt(e.getAttribute(\"headingRows\")||\"0\");return!!n&&t.parent.index0;this.isEnabled=o,this.value=o&&n.every((t=>Yb(e,t)))}execute(t={}){if(t.forceValue===this.value)return;const e=this.editor.plugins.get(\"TableUtils\"),n=this.editor.model,o=e.getSelectionAffectedTableCells(n.document.selection),i=o[0].findAncestor(\"table\"),{first:r,last:s}=e.getColumnIndexes(o),a=this.value?r:s+1;n.change((t=>{if(a){const e=gw(i,a);for(const{cell:n,column:o}of e)mw(n,o,a,t)}Zb(\"headingColumns\",a,i,t,0)}))}}function Sw(t){if(t.is(\"element\",\"tableColumnGroup\"))return t;const e=t.getChildren();return Array.from(e).find((t=>t.is(\"element\",\"tableColumnGroup\")))}function Bw(t){const e=Sw(t);return e?Array.from(e.getChildren()):[]}class Tw extends Hr{static get pluginName(){return\"TableUtils\"}init(){this.decorate(\"insertColumns\"),this.decorate(\"insertRows\")}getCellLocation(t){const e=t.parent,n=e.parent,o=n.getChildIndex(e),i=new ew(n,{row:o});for(const{cell:e,row:n,column:o}of i)if(e===t)return{row:n,column:o}}createTable(t,e){const n=t.createElement(\"table\"),o=e.rows||2,i=e.columns||2;return Pw(t,n,0,o,i),e.headingRows&&Zb(\"headingRows\",Math.min(e.headingRows,o),n,t,0),e.headingColumns&&Zb(\"headingColumns\",Math.min(e.headingColumns,i),n,t,0),n}insertRows(t,e={}){const n=this.editor.model,o=e.at||0,i=e.rows||1,r=void 0!==e.copyStructureFromAbove,s=e.copyStructureFromAbove?o-1:o,a=this.getRows(t),c=this.getColumns(t);if(o>a)throw new k(\"tableutils-insertrows-insert-out-of-range\",this,{options:e});n.change((e=>{const n=t.getAttribute(\"headingRows\")||0;if(n>o&&Zb(\"headingRows\",n+i,t,e,0),!r&&(0===o||o===a))return void Pw(e,t,o,i,c);const l=r?Math.max(o,s):o,d=new ew(t,{endRow:l}),h=new Array(c).fill(1);for(const{row:t,column:n,cellHeight:a,cellWidth:c,cell:l}of d){const d=t+a-1,u=t<=s&&s<=d;t0&&Jb(e,i,o>1?{colspan:o}:void 0),t+=Math.abs(o)-1}}}))}insertColumns(t,e={}){const n=this.editor.model,o=e.at||0,i=e.columns||1;n.change((e=>{const n=t.getAttribute(\"headingColumns\");oi-1)throw new k(\"tableutils-removerows-row-index-out-of-range\",this,{table:t,options:e});n.change((e=>{const n={first:r,last:s},{cellsToMove:o,cellsToTrim:i}=function(t,{first:e,last:n}){const o=new Map,i=[];for(const{row:r,column:s,cellHeight:a,cell:c}of new ew(t,{endRow:n})){const t=r+a-1;if(r>=e&&r<=n&&t>n){const t=a-(n-r+1);o.set(s,{cell:c,rowspan:t})}if(r=e){let o;o=t>=n?n-e+1:t-e+1,i.push({cell:c,rowspan:a-o})}}return{cellsToMove:o,cellsToTrim:i}}(t,n);if(o.size){!function(t,e,n,o){const i=new ew(t,{includeAllSlots:!0,row:e}),r=[...i],s=t.getChild(e);let a;for(const{column:t,cell:e,isAnchor:i}of r)if(n.has(t)){const{cell:e,rowspan:i}=n.get(t),r=a?o.createPositionAfter(a):o.createPositionAt(s,0);o.move(o.createRangeOn(e),r),Zb(\"rowspan\",i,e,o),a=e}else i&&(a=e)}(t,s+1,o,e)}for(let n=s;n>=r;n--)e.remove(t.getChild(n));for(const{rowspan:t,cell:n}of i)Zb(\"rowspan\",t,n,e);!function(t,{first:e,last:n},o){const i=t.getAttribute(\"headingRows\")||0;if(e{!function(t,e,n){const o=t.getAttribute(\"headingColumns\")||0;if(o&&e.first=o;i--){for(const{cell:n,column:o,cellWidth:r}of[...new ew(t)])o<=i&&r>1&&o+r>i?Zb(\"colspan\",r-1,n,e):o===i&&e.remove(n);if(n[i]){const t=0===i?n[1]:n[i-1],o=parseFloat(n[i].getAttribute(\"columnWidth\")),r=parseFloat(t.getAttribute(\"columnWidth\"));e.remove(n[i]),e.setAttribute(\"columnWidth\",o+r+\"%\",t)}}bw(t,this)||kw(t,this)}))}splitCellVertically(t,e=2){const n=this.editor.model,o=t.parent.parent,i=parseInt(t.getAttribute(\"rowspan\")||\"1\"),r=parseInt(t.getAttribute(\"colspan\")||\"1\");n.change((n=>{if(r>1){const{newCellsSpan:o,updatedSpan:s}=Rw(r,e);Zb(\"colspan\",s,t,n);const a={};o>1&&(a.colspan=o),i>1&&(a.rowspan=i);Iw(r>e?e-1:r-1,n,n.createPositionAfter(t),a)}if(re===t)),l=a.filter((({cell:e,cellWidth:n,column:o})=>e!==t&&o===c||oc));for(const{cell:t,cellWidth:e}of l)n.setAttribute(\"colspan\",e+s,t);const d={};i>1&&(d.rowspan=i),Iw(s,n,n.createPositionAfter(t),d);const h=o.getAttribute(\"headingColumns\")||0;h>c&&Zb(\"headingColumns\",h+s,o,n)}}))}splitCellHorizontally(t,e=2){const n=this.editor.model,o=t.parent,i=o.parent,r=i.getChildIndex(o),s=parseInt(t.getAttribute(\"rowspan\")||\"1\"),a=parseInt(t.getAttribute(\"colspan\")||\"1\");n.change((n=>{if(s>1){const o=[...new ew(i,{startRow:r,endRow:r+s-1,includeAllSlots:!0})],{newCellsSpan:c,updatedSpan:l}=Rw(s,e);Zb(\"rowspan\",l,t,n);const{column:d}=o.find((({cell:e})=>e===t)),h={};c>1&&(h.rowspan=c),a>1&&(h.colspan=a);for(const t of o){const{column:e,row:o}=t;o>=r+l&&e===d&&(o+r+l)%c==0&&Iw(1,n,t.getPositionBefore(),h)}}if(sr){const t=i+o;n.setAttribute(\"rowspan\",t,e)}const l={};a>1&&(l.colspan=a),Pw(n,i,r+1,o,1,l);const d=i.getAttribute(\"headingRows\")||0;d>r&&Zb(\"headingRows\",d+o,i,n)}}))}getColumns(t){return[...t.getChild(0).getChildren()].reduce(((t,e)=>t+parseInt(e.getAttribute(\"colspan\")||\"1\")),0)}getRows(t){return Array.from(t.getChildren()).reduce(((t,e)=>e.is(\"element\",\"tableRow\")?t+1:t),0)}createTableWalker(t,e={}){return new ew(t,e)}getSelectedTableCells(t){const e=[];for(const n of this.sortRanges(t.getRanges())){const t=n.getContainedElement();t&&t.is(\"element\",\"tableCell\")&&e.push(t)}return e}getTableCellsContainingSelection(t){const e=[];for(const n of t.getRanges()){const t=n.start.findAncestor(\"tableCell\");t&&e.push(t)}return e}getSelectionAffectedTableCells(t){const e=this.getSelectedTableCells(t);return e.length?e:this.getTableCellsContainingSelection(t)}getRowIndexes(t){const e=t.map((t=>t.parent.index));return this._getFirstLastIndexesObject(e)}getColumnIndexes(t){const e=t[0].findAncestor(\"table\"),n=[...new ew(e)].filter((e=>t.includes(e.cell))).map((t=>t.column));return this._getFirstLastIndexesObject(n)}isSelectionRectangular(t){if(t.length<2||!this._areCellInTheSameTableSection(t))return!1;const e=new Set,n=new Set;let o=0;for(const i of t){const{row:t,column:r}=this.getCellLocation(i),s=parseInt(i.getAttribute(\"rowspan\"))||1,a=parseInt(i.getAttribute(\"colspan\"))||1;e.add(t),n.add(r),s>1&&e.add(t+s-1),a>1&&n.add(r+a-1),o+=s*a}const i=function(t,e){const n=Array.from(t.values()),o=Array.from(e.values()),i=Math.max(...n),r=Math.min(...n),s=Math.max(...o),a=Math.min(...o);return(i-r+1)*(s-a+1)}(e,n);return i==o}sortRanges(t){return Array.from(t).sort(Ow)}_getFirstLastIndexesObject(t){const e=t.sort(((t,e)=>t-e));return{first:e[0],last:e[e.length-1]}}_areCellInTheSameTableSection(t){const e=t[0].findAncestor(\"table\"),n=this.getRowIndexes(t),o=parseInt(e.getAttribute(\"headingRows\"))||0;if(!this._areIndexesInSameSection(n,o))return!1;const i=this.getColumnIndexes(t),r=parseInt(e.getAttribute(\"headingColumns\"))||0;return this._areIndexesInSameSection(i,r)}_areIndexesInSameSection({first:t,last:e},n){return t{const o=e.getSelectedTableCells(t.document.selection),i=o.shift(),{mergeWidth:r,mergeHeight:s}=function(t,e,n){let o=0,i=0;for(const t of e){const{row:e,column:r}=n.getCellLocation(t);o=Nw(t,r,o,\"colspan\"),i=Nw(t,e,i,\"rowspan\")}const{row:r,column:s}=n.getCellLocation(t),a=o-s,c=i-r;return{mergeWidth:a,mergeHeight:c}}(i,o,e);Zb(\"colspan\",r,i,n),Zb(\"rowspan\",s,i,n);for(const t of o)Mw(t,i,n);ww(i.findAncestor(\"table\"),e),n.setSelection(i,\"in\")}))}}function Mw(t,e,n){Fw(t)||(Fw(e)&&n.remove(n.createRangeIn(e)),n.move(n.createRangeIn(t),n.createPositionAt(e,\"end\"))),n.remove(t)}function Fw(t){const e=t.getChild(0);return 1==t.childCount&&e.is(\"element\",\"paragraph\")&&e.isEmpty}function Nw(t,e,n,o){const i=parseInt(t.getAttribute(o)||\"1\");return Math.max(n,e+i)}class Vw extends qr{constructor(t){super(t),this.affectsData=!1}refresh(){const t=this.editor.plugins.get(\"TableUtils\").getSelectionAffectedTableCells(this.editor.model.document.selection);this.isEnabled=t.length>0}execute(){const t=this.editor.model,e=this.editor.plugins.get(\"TableUtils\"),n=e.getSelectionAffectedTableCells(t.document.selection),o=e.getRowIndexes(n),i=n[0].findAncestor(\"table\"),r=[];for(let e=o.first;e<=o.last;e++)for(const n of i.getChild(e).getChildren())r.push(t.createRangeOn(n));t.change((t=>{t.setSelection(r)}))}}class Lw extends qr{constructor(t){super(t),this.affectsData=!1}refresh(){const t=this.editor.plugins.get(\"TableUtils\").getSelectionAffectedTableCells(this.editor.model.document.selection);this.isEnabled=t.length>0}execute(){const t=this.editor.plugins.get(\"TableUtils\"),e=this.editor.model,n=t.getSelectionAffectedTableCells(e.document.selection),o=n[0],i=n.pop(),r=o.findAncestor(\"table\"),s=t.getCellLocation(o),a=t.getCellLocation(i),c=Math.min(s.column,a.column),l=Math.max(s.column,a.column),d=[];for(const t of new ew(r,{startColumn:c,endColumn:l}))d.push(e.createRangeOn(t.cell));e.change((t=>{t.setSelection(d)}))}}function Hw(t){t.document.registerPostFixer((e=>function(t,e){const n=e.document.differ.getChanges();let o=!1;const i=new Set;for(const e of n){let n=null;\"insert\"==e.type&&\"table\"==e.name&&(n=e.position.nodeAfter),\"insert\"!=e.type&&\"remove\"!=e.type||\"tableRow\"!=e.name&&\"tableCell\"!=e.name||(n=e.position.findAncestor(\"table\")),Kw(e)&&(n=e.range.start.findAncestor(\"table\")),n&&!i.has(n)&&(o=jw(n,t)||o,o=qw(n,t)||o,i.add(n))}return o}(e,t)))}function jw(t,e){let n=!1;const o=function(t){const e=parseInt(t.getAttribute(\"headingRows\")||\"0\"),n=Array.from(t.getChildren()).reduce(((t,e)=>e.is(\"element\",\"tableRow\")?t+1:t),0),o=[];for(const{row:i,cell:r,cellHeight:s}of new ew(t)){if(s<2)continue;const t=it){const e=t-i;o.push({cell:r,rowspan:e})}}return o}(t);if(o.length){n=!0;for(const t of o)Zb(\"rowspan\",t.rowspan,t.cell,e,1)}return n}function qw(t,e){let n=!1;const o=function(t){const e=new Array(t.childCount).fill(0);for(const{rowIndex:n}of new ew(t,{includeAllSlots:!0}))e[n]++;return e}(t),i=[];for(const[e,n]of o.entries())!n&&t.getChild(e).is(\"element\",\"tableRow\")&&i.push(e);if(i.length){n=!0;for(const n of i.reverse())e.remove(t.getChild(n)),o.splice(n,1)}const r=o.filter(((e,n)=>t.getChild(n).is(\"element\",\"tableRow\"))),s=r[0];if(!r.every((t=>t===s))){const o=r.reduce(((t,e)=>e>t?e:t),0);for(const[i,s]of r.entries()){const r=o-s;if(r){for(let n=0;nfunction(t,e){const n=e.document.differ.getChanges();let o=!1;for(const e of n)\"insert\"==e.type&&\"table\"==e.name&&(o=Gw(e.position.nodeAfter,t)||o),\"insert\"==e.type&&\"tableRow\"==e.name&&(o=$w(e.position.nodeAfter,t)||o),\"insert\"==e.type&&\"tableCell\"==e.name&&(o=Uw(e.position.nodeAfter,t)||o),\"remove\"!=e.type&&\"insert\"!=e.type||!Zw(e)||(o=Uw(e.position.parent,t)||o);return o}(e,t)))}function Gw(t,e){let n=!1;for(const o of t.getChildren())o.is(\"element\",\"tableRow\")&&(n=$w(o,e)||n);return n}function $w(t,e){let n=!1;for(const o of t.getChildren())n=Uw(o,e)||n;return n}function Uw(t,e){if(0==t.childCount)return e.insertElement(\"paragraph\",t),!0;const n=Array.from(t.getChildren()).filter((t=>t.is(\"$text\")));for(const t of n)e.wrap(e.createRangeOn(t),\"paragraph\");return!!n.length}function Zw(t){return!!t.position.parent.is(\"element\",\"tableCell\")&&(\"insert\"==t.type&&\"$text\"==t.name||\"remove\"==t.type)}function Jw(t,e){if(!t.is(\"element\",\"paragraph\"))return!1;const n=e.toViewElement(t);return!!n&&sw(t)!==n.is(\"element\",\"span\")}var Yw=n(8361),Qw={injectType:\"singletonStyleTag\",attributes:{\"data-cke\":!0},insert:\"head\",singleton:!0};Ri()(Yw.Z,Qw);Yw.Z.locals;class Xw extends Hr{static get pluginName(){return\"TableEditing\"}static get requires(){return[Tw]}constructor(t){super(t),this._additionalSlots=[]}init(){const t=this.editor,e=t.model,n=e.schema,o=t.conversion,i=t.plugins.get(Tw);n.register(\"table\",{inheritAllFrom:\"$blockObject\",allowAttributes:[\"headingRows\",\"headingColumns\"]}),n.register(\"tableRow\",{allowIn:\"table\",isLimit:!0}),n.register(\"tableCell\",{allowContentOf:\"$container\",allowIn:\"tableRow\",allowAttributes:[\"colspan\",\"rowspan\"],isLimit:!0,isSelectable:!0}),o.for(\"upcast\").add((t=>{t.on(\"element:figure\",((t,e,n)=>{if(!n.consumable.test(e.viewItem,{name:!0,classes:\"table\"}))return;const o=function(t){for(const e of t.getChildren())if(e.is(\"element\",\"table\"))return e}(e.viewItem);if(!o||!n.consumable.test(o,{name:!0}))return;n.consumable.consume(e.viewItem,{name:!0,classes:\"table\"});const i=Ci(n.convertItem(o,e.modelCursor).modelRange.getItems());i?(n.convertChildren(e.viewItem,n.writer.createPositionAt(i,\"end\")),n.updateConversionResult(i,e)):n.consumable.revert(e.viewItem,{name:!0,classes:\"table\"})}))})),o.for(\"upcast\").add(Qb()),o.for(\"editingDowncast\").elementToStructure({model:{name:\"table\",attributes:[\"headingRows\"]},view:ow(i,{asWidget:!0,additionalSlots:this._additionalSlots})}),o.for(\"dataDowncast\").elementToStructure({model:{name:\"table\",attributes:[\"headingRows\"]},view:ow(i,{additionalSlots:this._additionalSlots})}),o.for(\"upcast\").elementToElement({model:\"tableRow\",view:\"tr\"}),o.for(\"upcast\").add((t=>{t.on(\"element:tr\",((t,e)=>{e.viewItem.isEmpty&&0==e.modelCursor.index&&t.stop()}),{priority:\"high\"})})),o.for(\"downcast\").elementToElement({model:\"tableRow\",view:(t,{writer:e})=>t.isEmpty?e.createEmptyElement(\"tr\"):e.createContainerElement(\"tr\")}),o.for(\"upcast\").elementToElement({model:\"tableCell\",view:\"td\"}),o.for(\"upcast\").elementToElement({model:\"tableCell\",view:\"th\"}),o.for(\"upcast\").add(Xb(\"td\")),o.for(\"upcast\").add(Xb(\"th\")),o.for(\"editingDowncast\").elementToElement({model:\"tableCell\",view:iw({asWidget:!0})}),o.for(\"dataDowncast\").elementToElement({model:\"tableCell\",view:iw()}),o.for(\"editingDowncast\").elementToElement({model:\"paragraph\",view:rw({asWidget:!0}),converterPriority:\"high\"}),o.for(\"dataDowncast\").elementToElement({model:\"paragraph\",view:rw(),converterPriority:\"high\"}),o.for(\"downcast\").attributeToAttribute({model:\"colspan\",view:\"colspan\"}),o.for(\"upcast\").attributeToAttribute({model:{key:\"colspan\",value:t_(\"colspan\")},view:\"colspan\"}),o.for(\"downcast\").attributeToAttribute({model:\"rowspan\",view:\"rowspan\"}),o.for(\"upcast\").attributeToAttribute({model:{key:\"rowspan\",value:t_(\"rowspan\")},view:\"rowspan\"}),t.config.define(\"table.defaultHeadings.rows\",0),t.config.define(\"table.defaultHeadings.columns\",0),t.commands.add(\"insertTable\",new aw(t)),t.commands.add(\"insertTableRowAbove\",new cw(t,{order:\"above\"})),t.commands.add(\"insertTableRowBelow\",new cw(t,{order:\"below\"})),t.commands.add(\"insertTableColumnLeft\",new lw(t,{order:\"left\"})),t.commands.add(\"insertTableColumnRight\",new lw(t,{order:\"right\"})),t.commands.add(\"removeTableRow\",new yw(t)),t.commands.add(\"removeTableColumn\",new xw(t)),t.commands.add(\"splitTableCellVertically\",new dw(t,{direction:\"vertically\"})),t.commands.add(\"splitTableCellHorizontally\",new dw(t,{direction:\"horizontally\"})),t.commands.add(\"mergeTableCells\",new zw(t)),t.commands.add(\"mergeTableCellRight\",new Cw(t,{direction:\"right\"})),t.commands.add(\"mergeTableCellLeft\",new Cw(t,{direction:\"left\"})),t.commands.add(\"mergeTableCellDown\",new Cw(t,{direction:\"down\"})),t.commands.add(\"mergeTableCellUp\",new Cw(t,{direction:\"up\"})),t.commands.add(\"setTableColumnHeader\",new Dw(t)),t.commands.add(\"setTableRowHeader\",new Ew(t)),t.commands.add(\"selectTableRow\",new Vw(t)),t.commands.add(\"selectTableColumn\",new Lw(t)),Hw(e),Ww(e),this.listenTo(e.document,\"change:data\",(()=>{!function(t,e){const n=t.document.differ;for(const t of n.getChanges()){let n,o=!1;if(\"attribute\"==t.type){const e=t.range.start.nodeAfter;if(!e||!e.is(\"element\",\"table\"))continue;if(\"headingRows\"!=t.attributeKey&&\"headingColumns\"!=t.attributeKey)continue;n=e,o=\"headingRows\"==t.attributeKey}else\"tableRow\"!=t.name&&\"tableCell\"!=t.name||(n=t.position.findAncestor(\"table\"),o=\"tableRow\"==t.name);if(!n)continue;const i=n.getAttribute(\"headingRows\")||0,r=n.getAttribute(\"headingColumns\")||0,s=new ew(n);for(const t of s){const n=t.rowJw(t,e.mapper)));for(const t of n)e.reconvertItem(t)}}(e,t.editing)}))}registerAdditionalSlot(t){this._additionalSlots.push(t)}}function t_(t){return e=>{const n=parseInt(e.getAttribute(t));return Number.isNaN(n)||n<=0?null:n}}var e_=n(468),n_={injectType:\"singletonStyleTag\",attributes:{\"data-cke\":!0},insert:\"head\",singleton:!0};Ri()(e_.Z,n_);e_.Z.locals;class o_ extends Mi{constructor(t){super(t);const e=this.bindTemplate;this.items=this._createGridCollection(),this.keystrokes=new yi,this.focusTracker=new vi,this.set(\"rows\",0),this.set(\"columns\",0),this.bind(\"label\").to(this,\"columns\",this,\"rows\",((t,e)=>`${e} × ${t}`)),this.setTemplate({tag:\"div\",attributes:{class:[\"ck\"]},children:[{tag:\"div\",attributes:{class:[\"ck-insert-table-dropdown__grid\"]},on:{\"mouseover@.ck-insert-table-dropdown-grid-box\":e.to(\"boxover\")},children:this.items},{tag:\"div\",attributes:{class:[\"ck\",\"ck-insert-table-dropdown__label\"],\"aria-hidden\":!0},children:[{text:e.to(\"label\")}]}],on:{mousedown:e.to((t=>{t.preventDefault()})),click:e.to((()=>{this.fire(\"execute\")}))}}),this.on(\"boxover\",((t,e)=>{const{row:n,column:o}=e.target.dataset;this.items.get(10*(parseInt(n,10)-1)+(parseInt(o,10)-1)).focus()})),this.focusTracker.on(\"change:focusedElement\",((t,e,n)=>{if(!n)return;const{row:o,column:i}=n.dataset;this.set({rows:parseInt(o),columns:parseInt(i)})})),this.on(\"change:columns\",(()=>this._highlightGridBoxes())),this.on(\"change:rows\",(()=>this._highlightGridBoxes()))}render(){super.render(),function({keystrokeHandler:t,focusTracker:e,gridItems:n,numberOfColumns:o,uiLanguageDirection:i}){const r=\"number\"==typeof o?()=>o:o;function s(t){return o=>{const i=n.find((t=>t.element===e.focusedElement)),r=n.getIndex(i),s=t(r,n);n.get(s).focus(),o.stopPropagation(),o.preventDefault()}}function a(t,e){return t===e-1?0:t+1}function c(t,e){return 0===t?e-1:t-1}t.set(\"arrowright\",s(((t,e)=>\"rtl\"===i?c(t,e.length):a(t,e.length)))),t.set(\"arrowleft\",s(((t,e)=>\"rtl\"===i?a(t,e.length):c(t,e.length)))),t.set(\"arrowup\",s(((t,e)=>{let n=t-r();return n<0&&(n=t+r()*Math.floor(e.length/r()),n>e.length-1&&(n-=r())),n}))),t.set(\"arrowdown\",s(((t,e)=>{let n=t+r();return n>e.length-1&&(n=t%r()),n})))}({keystrokeHandler:this.keystrokes,focusTracker:this.focusTracker,gridItems:this.items,numberOfColumns:10,uiLanguageDirection:this.locale&&this.locale.uiLanguageDirection});for(const t of this.items)this.focusTracker.add(t.element);this.keystrokes.listenTo(this.element)}focus(){this.items.get(0).focus()}focusLast(){this.items.get(0).focus()}_highlightGridBoxes(){const t=this.rows,e=this.columns;this.items.map(((n,o)=>{const i=Math.floor(o/10){const o=t.commands.get(\"insertTable\"),i=ep(n);let r;return i.bind(\"isEnabled\").to(o),i.buttonView.set({icon:'',label:e(\"Insert table\"),tooltip:!0}),i.on(\"change:isOpen\",(()=>{r||(r=new o_(n),i.panelView.children.add(r),r.delegate(\"execute\").to(i),i.on(\"execute\",(()=>{t.execute(\"insertTable\",{rows:r.rows,columns:r.columns}),t.editing.view.focus()})))})),i})),t.ui.componentFactory.add(\"tableColumn\",(t=>{const o=[{type:\"switchbutton\",model:{commandName:\"setTableColumnHeader\",label:e(\"Header column\"),bindIsOn:!0}},{type:\"separator\"},{type:\"button\",model:{commandName:n?\"insertTableColumnLeft\":\"insertTableColumnRight\",label:e(\"Insert column left\")}},{type:\"button\",model:{commandName:n?\"insertTableColumnRight\":\"insertTableColumnLeft\",label:e(\"Insert column right\")}},{type:\"button\",model:{commandName:\"removeTableColumn\",label:e(\"Delete column\")}},{type:\"button\",model:{commandName:\"selectTableColumn\",label:e(\"Select column\")}}];return this._prepareDropdown(e(\"Column\"),'',o,t)})),t.ui.componentFactory.add(\"tableRow\",(t=>{const n=[{type:\"switchbutton\",model:{commandName:\"setTableRowHeader\",label:e(\"Header row\"),bindIsOn:!0}},{type:\"separator\"},{type:\"button\",model:{commandName:\"insertTableRowAbove\",label:e(\"Insert row above\")}},{type:\"button\",model:{commandName:\"insertTableRowBelow\",label:e(\"Insert row below\")}},{type:\"button\",model:{commandName:\"removeTableRow\",label:e(\"Delete row\")}},{type:\"button\",model:{commandName:\"selectTableRow\",label:e(\"Select row\")}}];return this._prepareDropdown(e(\"Row\"),'',n,t)})),t.ui.componentFactory.add(\"mergeTableCells\",(t=>{const o=[{type:\"button\",model:{commandName:\"mergeTableCellUp\",label:e(\"Merge cell up\")}},{type:\"button\",model:{commandName:n?\"mergeTableCellRight\":\"mergeTableCellLeft\",label:e(\"Merge cell right\")}},{type:\"button\",model:{commandName:\"mergeTableCellDown\",label:e(\"Merge cell down\")}},{type:\"button\",model:{commandName:n?\"mergeTableCellLeft\":\"mergeTableCellRight\",label:e(\"Merge cell left\")}},{type:\"separator\"},{type:\"button\",model:{commandName:\"splitTableCellVertically\",label:e(\"Split cell vertically\")}},{type:\"button\",model:{commandName:\"splitTableCellHorizontally\",label:e(\"Split cell horizontally\")}}];return this._prepareMergeSplitButtonDropdown(e(\"Merge cells\"),'',o,t)}))}_prepareDropdown(t,e,n,o){const i=this.editor,r=ep(o),s=this._fillDropdownWithListOptions(r,n);return r.buttonView.set({label:t,icon:e,tooltip:!0}),r.bind(\"isEnabled\").toMany(s,\"isEnabled\",((...t)=>t.some((t=>t)))),this.listenTo(r,\"execute\",(t=>{i.execute(t.source.commandName),t.source instanceof gr||i.editing.view.focus()})),r}_prepareMergeSplitButtonDropdown(t,e,n,o){const i=this.editor,r=ep(o,Ju),s=\"mergeTableCells\",a=i.commands.get(s),c=this._fillDropdownWithListOptions(r,n);return r.buttonView.set({label:t,icon:e,tooltip:!0,isEnabled:!0}),r.bind(\"isEnabled\").toMany([a,...c],\"isEnabled\",((...t)=>t.some((t=>t)))),this.listenTo(r.buttonView,\"execute\",(()=>{i.execute(s),i.editing.view.focus()})),this.listenTo(r,\"execute\",(t=>{i.execute(t.source.commandName),i.editing.view.focus()})),r}_fillDropdownWithListOptions(t,e){const n=this.editor,o=[],i=new Ai;for(const t of e)r_(t,n,o,i);return ip(t,i),o}}function r_(t,e,n,o){if(\"button\"===t.type||\"switchbutton\"===t.type){const o=t.model=new Dg(t.model),{commandName:i,bindIsOn:r}=t.model,s=e.commands.get(i);n.push(s),o.set({commandName:i}),o.bind(\"isEnabled\").to(s),r&&o.bind(\"isOn\").to(s,\"value\"),o.set({withText:!0})}o.add(t)}var s_=n(1546),a_={injectType:\"singletonStyleTag\",attributes:{\"data-cke\":!0},insert:\"head\",singleton:!0};Ri()(s_.Z,a_);s_.Z.locals;class c_ extends Hr{static get pluginName(){return\"TableSelection\"}static get requires(){return[Tw,Tw]}init(){const t=this.editor,e=t.model,n=t.editing.view;this.listenTo(e,\"deleteContent\",((t,e)=>this._handleDeleteContent(t,e)),{priority:\"high\"}),this.listenTo(n.document,\"insertText\",((t,e)=>this._handleInsertTextEvent(t,e)),{priority:\"high\"}),this._defineSelectionConverter(),this._enablePluginDisabling()}getSelectedTableCells(){const t=this.editor.plugins.get(Tw),e=this.editor.model.document.selection,n=t.getSelectedTableCells(e);return 0==n.length?null:n}getSelectionAsFragment(){const t=this.editor.plugins.get(Tw),e=this.getSelectedTableCells();return e?this.editor.model.change((n=>{const o=n.createDocumentFragment(),{first:i,last:r}=t.getColumnIndexes(e),{first:s,last:a}=t.getRowIndexes(e),c=e[0].findAncestor(\"table\");let l=a,d=r;if(t.isSelectionRectangular(e)){const t={firstColumn:i,lastColumn:r,firstRow:s,lastRow:a};l=_w(c,t),d=Aw(c,t)}const h=hw(c,{startRow:s,startColumn:i,endRow:l,endColumn:d},n);return n.insert(h,o,0),o})):null}setCellSelection(t,e){const n=this._getCellsToSelect(t,e);this.editor.model.change((t=>{t.setSelection(n.cells.map((e=>t.createRangeOn(e))),{backward:n.backward})}))}getFocusCell(){const t=[...this.editor.model.document.selection.getRanges()].pop().getContainedElement();return t&&t.is(\"element\",\"tableCell\")?t:null}getAnchorCell(){const t=Ci(this.editor.model.document.selection.getRanges()).getContainedElement();return t&&t.is(\"element\",\"tableCell\")?t:null}_defineSelectionConverter(){const t=this.editor,e=new Set;t.conversion.for(\"editingDowncast\").add((t=>t.on(\"selection\",((t,n,o)=>{const i=o.writer;!function(t){for(const n of e)t.removeClass(\"ck-editor__editable_selected\",n);e.clear()}(i);const r=this.getSelectedTableCells();if(!r)return;for(const t of r){const n=o.mapper.toViewElement(t);i.addClass(\"ck-editor__editable_selected\",n),e.add(n)}const s=o.mapper.toViewElement(r[r.length-1]);i.setSelection(s,0)}),{priority:\"lowest\"})))}_enablePluginDisabling(){const t=this.editor;this.on(\"change:isEnabled\",(()=>{if(!this.isEnabled){const e=this.getSelectedTableCells();if(!e)return;t.model.change((n=>{const o=n.createPositionAt(e[0],0),i=t.model.schema.getNearestSelectionRange(o);n.setSelection(i)}))}}))}_handleDeleteContent(t,e){const n=this.editor.plugins.get(Tw),o=e[0],i=e[1],r=this.editor.model,s=!i||\"backward\"==i.direction,a=n.getSelectedTableCells(o);a.length&&(t.stop(),r.change((t=>{const e=a[s?a.length-1:0];r.change((t=>{for(const e of a)r.deleteContent(t.createSelection(e,\"in\"))}));const n=r.schema.getNearestSelectionRange(t.createPositionAt(e,0));o.is(\"documentSelection\")?t.setSelection(n):o.setTo(n)})))}_handleInsertTextEvent(t,e){const n=this.editor,o=this.getSelectedTableCells();if(!o)return;const i=n.editing.view,r=n.editing.mapper,s=o.map((t=>i.createRangeOn(r.toViewElement(t))));e.selection=i.createSelection(s)}_getCellsToSelect(t,e){const n=this.editor.plugins.get(\"TableUtils\"),o=n.getCellLocation(t),i=n.getCellLocation(e),r=Math.min(o.row,i.row),s=Math.max(o.row,i.row),a=Math.min(o.column,i.column),c=Math.max(o.column,i.column),l=new Array(s-r+1).fill(null).map((()=>[])),d={startRow:r,endRow:s,startColumn:a,endColumn:c};for(const{row:e,cell:n}of new ew(t.findAncestor(\"table\"),d))l[e-r].push(n);const h=i.rowt.reverse())),{cells:l.flat(),backward:h||u}}}class l_ extends Hr{static get pluginName(){return\"TableClipboard\"}static get requires(){return[c_,Tw]}init(){const t=this.editor,e=t.editing.view.document;this.listenTo(e,\"copy\",((t,e)=>this._onCopyCut(t,e))),this.listenTo(e,\"cut\",((t,e)=>this._onCopyCut(t,e))),this.listenTo(t.model,\"insertContent\",((t,[e,n])=>this._onInsertContent(t,e,n)),{priority:\"high\"}),this.decorate(\"_replaceTableSlotCell\")}_onCopyCut(t,e){const n=this.editor.plugins.get(c_);if(!n.getSelectedTableCells())return;if(\"cut\"==t.name&&!this.editor.model.canEditAt(this.editor.model.document.selection))return;e.preventDefault(),t.stop();const o=this.editor.data,i=this.editor.editing.view.document,r=o.toView(n.getSelectionAsFragment());i.fire(\"clipboardOutput\",{dataTransfer:e.dataTransfer,content:r,method:t.name})}_onInsertContent(t,e,n){if(n&&!n.is(\"documentSelection\"))return;const o=this.editor.model,i=this.editor.plugins.get(Tw);let r=this.getTableIfOnlyTableInContent(e,o);if(!r)return;const s=i.getSelectionAffectedTableCells(o.document.selection);s.length?(t.stop(),o.change((t=>{const e={width:i.getColumns(r),height:i.getRows(r)},n=function(t,e,n,o){const i=t[0].findAncestor(\"table\"),r=o.getColumnIndexes(t),s=o.getRowIndexes(t),a={firstColumn:r.first,lastColumn:r.last,firstRow:s.first,lastRow:s.last},c=1===t.length;c&&(a.lastRow+=e.height-1,a.lastColumn+=e.width-1,function(t,e,n,o){const i=o.getColumns(t),r=o.getRows(t);n>i&&o.insertColumns(t,{at:i,columns:n-i});e>r&&o.insertRows(t,{at:r,rows:e-r})}(i,a.lastRow+1,a.lastColumn+1,o));c||!o.isSelectionRectangular(t)?function(t,e,n){const{firstRow:o,lastRow:i,firstColumn:r,lastColumn:s}=e,a={first:o,last:i},c={first:r,last:s};h_(t,r,a,n),h_(t,s+1,a,n),d_(t,o,c,n),d_(t,i+1,c,n,o)}(i,a,n):(a.lastRow=_w(i,a),a.lastColumn=Aw(i,a));return a}(s,e,t,i),o=n.lastRow-n.firstRow+1,a=n.lastColumn-n.firstColumn+1,c={startRow:0,startColumn:0,endRow:Math.min(o,e.height)-1,endColumn:Math.min(a,e.width)-1};r=hw(r,c,t);const l=s[0].findAncestor(\"table\"),d=this._replaceSelectedCellsWithPasted(r,e,l,n,t);if(this.editor.plugins.get(\"TableSelection\").isEnabled){const e=i.sortRanges(d.map((e=>t.createRangeOn(e))));t.setSelection(e)}else t.setSelection(d[0],0)}))):ww(r,i)}_replaceSelectedCellsWithPasted(t,e,n,o,i){const{width:r,height:s}=e,a=function(t,e,n){const o=new Array(n).fill(null).map((()=>new Array(e).fill(null)));for(const{column:e,row:n,cell:i}of new ew(t))o[n][e]=i;return o}(t,r,s),c=[...new ew(n,{startRow:o.firstRow,endRow:o.lastRow,startColumn:o.firstColumn,endColumn:o.lastColumn,includeAllSlots:!0})],l=[];let d;for(const t of c){const{row:e,column:n}=t;n===o.firstColumn&&(d=t.getPositionBefore());const c=e-o.firstRow,h=n-o.firstColumn,u=a[c%s][h%r],p=u?i.cloneElement(u):null,g=this._replaceTableSlotCell(t,p,d,i);g&&(fw(g,e,n,o.lastRow,o.lastColumn,i),l.push(g),d=i.createPositionAfter(g))}const h=parseInt(n.getAttribute(\"headingRows\")||\"0\"),u=parseInt(n.getAttribute(\"headingColumns\")||\"0\"),p=o.firstRowu_(t,e,n))).map((({cell:t})=>pw(t,e,o)))}function h_(t,e,n,o){if(e<1)return;return gw(t,e).filter((({row:t,cellHeight:e})=>u_(t,e,n))).map((({cell:t,column:n})=>mw(t,n,e,o)))}function u_(t,e,n){const o=t+e-1,{first:i,last:r}=n;return t>=i&&t<=r||t=i}class p_ extends Hr{static get pluginName(){return\"TableKeyboard\"}static get requires(){return[c_,Tw]}init(){const t=this.editor.editing.view.document;this.listenTo(t,\"arrowKey\",((...t)=>this._onArrowKey(...t)),{context:\"table\"}),this.listenTo(t,\"tab\",((...t)=>this._handleTabOnSelectedTable(...t)),{context:\"figure\"}),this.listenTo(t,\"tab\",((...t)=>this._handleTab(...t)),{context:[\"th\",\"td\"]})}_handleTabOnSelectedTable(t,e){const n=this.editor,o=n.model.document.selection.getSelectedElement();o&&o.is(\"element\",\"table\")&&(e.preventDefault(),e.stopPropagation(),t.stop(),n.model.change((t=>{t.setSelection(t.createRangeIn(o.getChild(0).getChild(0)))})))}_handleTab(t,e){const n=this.editor,o=this.editor.plugins.get(Tw),i=this.editor.plugins.get(\"TableSelection\"),r=n.model.document.selection,s=!e.shiftKey;let a=o.getTableCellsContainingSelection(r)[0];if(a||(a=i.getFocusCell()),!a)return;e.preventDefault(),e.stopPropagation(),t.stop();const c=a.parent,l=c.parent,d=l.getChildIndex(c),h=c.getChildIndex(a),u=0===h;if(!s&&u&&0===d)return void n.model.change((t=>{t.setSelection(t.createRangeOn(l))}));const p=h===c.childCount-1,g=d===o.getRows(l)-1;if(s&&g&&p&&(n.execute(\"insertTableRowBelow\"),d===o.getRows(l)-1))return void n.model.change((t=>{t.setSelection(t.createRangeOn(l))}));let m;if(s&&p){const t=l.getChild(d+1);m=t.getChild(0)}else if(!s&&u){const t=l.getChild(d-1);m=t.getChild(t.childCount-1)}else m=c.getChild(h+(s?1:-1));n.model.change((t=>{t.setSelection(t.createRangeIn(m))}))}_onArrowKey(t,e){const n=this.editor,o=mi(e.keyCode,n.locale.contentLanguageDirection);this._handleArrowKeys(o,e.shiftKey)&&(e.preventDefault(),e.stopPropagation(),t.stop())}_handleArrowKeys(t,e){const n=this.editor.plugins.get(Tw),o=this.editor.plugins.get(\"TableSelection\"),i=this.editor.model,r=i.document.selection,s=[\"right\",\"down\"].includes(t),a=n.getSelectedTableCells(r);if(a.length){let n;return n=e?o.getFocusCell():s?a[a.length-1]:a[0],this._navigateFromCellInDirection(n,t,e),!0}const c=r.focus.findAncestor(\"tableCell\");if(!c)return!1;if(!r.isCollapsed)if(e){if(r.isBackward==s&&!r.containsEntireContent(c))return!1}else{const t=r.getSelectedElement();if(!t||!i.schema.isObject(t))return!1}return!!this._isSelectionAtCellEdge(r,c,s)&&(this._navigateFromCellInDirection(c,t,e),!0)}_isSelectionAtCellEdge(t,e,n){const o=this.editor.model,i=this.editor.model.schema,r=n?t.getLastPosition():t.getFirstPosition();if(!i.getLimitElement(r).is(\"element\",\"tableCell\")){return o.createPositionAt(e,n?\"end\":0).isTouching(r)}const s=o.createSelection(r);return o.modifySelection(s,{direction:n?\"forward\":\"backward\"}),r.isEqual(s.focus)}_navigateFromCellInDirection(t,e,n=!1){const o=this.editor.model,i=t.findAncestor(\"table\"),r=[...new ew(i,{includeAllSlots:!0})],{row:s,column:a}=r[r.length-1],c=r.find((({cell:e})=>e==t));let{row:l,column:d}=c;switch(e){case\"left\":d--;break;case\"up\":l--;break;case\"right\":d+=c.cellWidth;break;case\"down\":l+=c.cellHeight}if(l<0||l>s||d<0&&l<=0||d>a&&l>=s)return void o.change((t=>{t.setSelection(t.createRangeOn(i))}));d<0?(d=n?0:a,l--):d>a&&(d=n?a:0,l++);const h=r.find((t=>t.row==l&&t.column==d)).cell,u=[\"right\",\"down\"].includes(e),p=this.editor.plugins.get(\"TableSelection\");if(n&&p.isEnabled){const e=p.getAnchorCell()||t;p.setCellSelection(e,h)}else{const t=o.createPositionAt(h,u?0:\"end\");o.change((e=>{e.setSelection(t)}))}}}class g_ extends Sc{constructor(){super(...arguments),this.domEventType=[\"mousemove\",\"mouseleave\"]}onDomEvent(t){this.fire(t.type,t)}}class m_ extends Hr{static get pluginName(){return\"TableMouse\"}static get requires(){return[c_,Tw]}init(){this.editor.editing.view.addObserver(g_),this._enableShiftClickSelection(),this._enableMouseDragSelection()}_enableShiftClickSelection(){const t=this.editor,e=t.plugins.get(Tw);let n=!1;const o=t.plugins.get(c_);this.listenTo(t.editing.view.document,\"mousedown\",((i,r)=>{const s=t.model.document.selection;if(!this.isEnabled||!o.isEnabled)return;if(!r.domEvent.shiftKey)return;const a=o.getAnchorCell()||e.getTableCellsContainingSelection(s)[0];if(!a)return;const c=this._getModelTableCellFromDomEvent(r);c&&f_(a,c)&&(n=!0,o.setCellSelection(a,c),r.preventDefault())})),this.listenTo(t.editing.view.document,\"mouseup\",(()=>{n=!1})),this.listenTo(t.editing.view.document,\"selectionChange\",(t=>{n&&t.stop()}),{priority:\"highest\"})}_enableMouseDragSelection(){const t=this.editor;let e,n,o=!1,i=!1;const r=t.plugins.get(c_);this.listenTo(t.editing.view.document,\"mousedown\",((t,n)=>{this.isEnabled&&r.isEnabled&&(n.domEvent.shiftKey||n.domEvent.ctrlKey||n.domEvent.altKey||(e=this._getModelTableCellFromDomEvent(n)))})),this.listenTo(t.editing.view.document,\"mousemove\",((t,s)=>{if(!s.domEvent.buttons)return;if(!e)return;const a=this._getModelTableCellFromDomEvent(s);a&&f_(e,a)&&(n=a,o||n==e||(o=!0)),o&&(i=!0,r.setCellSelection(e,n),s.preventDefault())})),this.listenTo(t.editing.view.document,\"mouseup\",(()=>{o=!1,i=!1,e=null,n=null})),this.listenTo(t.editing.view.document,\"selectionChange\",(t=>{i&&t.stop()}),{priority:\"highest\"})}_getModelTableCellFromDomEvent(t){const e=t.target,n=this.editor.editing.view.createPositionAt(e,0);return this.editor.editing.mapper.toModelPosition(n).parent.findAncestor(\"tableCell\",{includeSelf:!0})}}function f_(t,e){return t.parent.parent==e.parent.parent}var k_=n(2510),b_={injectType:\"singletonStyleTag\",attributes:{\"data-cke\":!0},insert:\"head\",singleton:!0};Ri()(k_.Z,b_);k_.Z.locals;var w_=n(9953),__={injectType:\"singletonStyleTag\",attributes:{\"data-cke\":!0},insert:\"head\",singleton:!0};Ri()(w_.Z,__);w_.Z.locals;var A_=n(6908),C_={injectType:\"singletonStyleTag\",attributes:{\"data-cke\":!0},insert:\"head\",singleton:!0};Ri()(A_.Z,C_);A_.Z.locals;var v_=n(7502),y_={injectType:\"singletonStyleTag\",attributes:{\"data-cke\":!0},insert:\"head\",singleton:!0};Ri()(v_.Z,y_);v_.Z.locals;var x_=n(9429),E_={injectType:\"singletonStyleTag\",attributes:{\"data-cke\":!0},insert:\"head\",singleton:!0};Ri()(x_.Z,E_);x_.Z.locals;var D_=n(3964),S_={injectType:\"singletonStyleTag\",attributes:{\"data-cke\":!0},insert:\"head\",singleton:!0};Ri()(D_.Z,S_);D_.Z.locals;const B_=Zp.defaultPositions;B_.northArrowSouth,B_.northArrowSouthWest,B_.northArrowSouthEast,B_.southArrowNorth,B_.southArrowNorthWest,B_.southArrowNorthEast,B_.viewportStickyNorth;var T_=n(6596),P_={injectType:\"singletonStyleTag\",attributes:{\"data-cke\":!0},insert:\"head\",singleton:!0};Ri()(T_.Z,P_);T_.Z.locals;var I_=n(1111),R_={injectType:\"singletonStyleTag\",attributes:{\"data-cke\":!0},insert:\"head\",singleton:!0};Ri()(I_.Z,R_);I_.Z.locals;var O_=n(7176),z_={injectType:\"singletonStyleTag\",attributes:{\"data-cke\":!0},insert:\"head\",singleton:!0};Ri()(O_.Z,z_);O_.Z.locals;const M_='';var F_=n(9789),N_={injectType:\"singletonStyleTag\",attributes:{\"data-cke\":!0},insert:\"head\",singleton:!0};Ri()(F_.Z,N_);F_.Z.locals;class V_ extends pm{}V_.builtinPlugins=[class extends Hr{static get requires(){return[Am,vm]}static get pluginName(){return\"Alignment\"}},class extends Hr{static get requires(){return[Em,Sm]}static get pluginName(){return\"Bold\"}},class extends Hr{static get requires(){return[fk,kf,Ck,Af,qm,Ik]}static get pluginName(){return\"Essentials\"}},class extends Hr{static get requires(){return[Lk,qk]}static get pluginName(){return\"FontSize\"}normalizeSizeOptions(t){return Mk(t)}},class extends Hr{init(){const t=this.editor;t.ui.componentFactory.add(\"fullScreen\",(e=>{const n=new hr(e);let o=0;return n.set({label:\"Plein écran\",icon:M_,tooltip:!0}),n.on(\"execute\",(()=>{1==o?(t.sourceElement.nextElementSibling.removeAttribute(\"id\"),document.body.removeAttribute(\"id\"),n.set({label:\"Plein écran\",icon:M_,tooltip:!0}),o=0):(t.sourceElement.nextElementSibling.setAttribute(\"id\",\"fullscreeneditor\"),document.body.setAttribute(\"id\",\"fullscreenoverlay\"),n.set({label:\"Mode Normal\",icon:'',tooltip:!0}),o=1)})),n}))}},class extends Hr{static get pluginName(){return\"Indent\"}static get requires(){return[Kk,$k]}},class extends Hr{constructor(t){super(t),t.config.define(\"indentBlock\",{offset:40,unit:\"px\"})}static get pluginName(){return\"IndentBlock\"}init(){const t=this.editor,e=t.config.get(\"indentBlock\");e.classes&&e.classes.length?(this._setupConversionUsingClasses(e.classes),t.commands.add(\"indentBlock\",new Uk(t,new Jk({direction:\"forward\",classes:e.classes}))),t.commands.add(\"outdentBlock\",new Uk(t,new Jk({direction:\"backward\",classes:e.classes})))):(t.data.addStyleProcessorRules(Du),this._setupConversionUsingOffset(),t.commands.add(\"indentBlock\",new Uk(t,new Zk({direction:\"forward\",offset:e.offset,unit:e.unit}))),t.commands.add(\"outdentBlock\",new Uk(t,new Zk({direction:\"backward\",offset:e.offset,unit:e.unit}))))}afterInit(){const t=this.editor,e=t.model.schema,n=t.commands.get(\"indent\"),o=t.commands.get(\"outdent\"),i=t.config.get(\"heading.options\");(i&&i.map((t=>t.model))||Yk).forEach((t=>{e.isRegistered(t)&&e.extend(t,{allowAttributes:\"blockIndent\"})})),e.setAttributeProperties(\"blockIndent\",{isFormatting:!0}),n.registerChildCommand(t.commands.get(\"indentBlock\")),o.registerChildCommand(t.commands.get(\"outdentBlock\"))}_setupConversionUsingOffset(){const t=this.editor.conversion,e=\"rtl\"===this.editor.locale.contentLanguageDirection?\"margin-right\":\"margin-left\";t.for(\"upcast\").attributeToAttribute({view:{styles:{[e]:/[\\s\\S]+/}},model:{key:\"blockIndent\",value:t=>{if(!t.is(\"element\",\"li\"))return t.getStyle(e)}}}),t.for(\"downcast\").attributeToAttribute({model:\"blockIndent\",view:t=>({key:\"style\",value:{[e]:t}})})}_setupConversionUsingClasses(t){const e={model:{key:\"blockIndent\",values:[]},view:{}};for(const n of t)e.model.values.push(n),e.view[n]={key:\"class\",value:[n]};this.editor.conversion.attributeToAttribute(e)}},class extends Hr{static get requires(){return[Um,Jm]}static get pluginName(){return\"Italic\"}},class extends Hr{static get requires(){return[Hb,ub]}static get pluginName(){return\"List\"}},Ub,class extends Hr{static get requires(){return[Qm,tf]}static get pluginName(){return\"Strikethrough\"}},class extends Hr{static get requires(){return[Xw,i_,c_,m_,p_,l_,Jf]}static get pluginName(){return\"Table\"}},class extends Hr{static get requires(){return[nf,rf]}static get pluginName(){return\"Underline\"}}],V_.defaultConfig={toolbar:{items:[\"bold\",\"italic\",\"underline\",\"strikethrough\"]},language:\"en\"}})(),o=o.default})()));\n","import { Subject } from './Subject';\nexport class BehaviorSubject extends Subject {\n constructor(_value) {\n super();\n this._value = _value;\n }\n get value() {\n return this.getValue();\n }\n _subscribe(subscriber) {\n const subscription = super._subscribe(subscriber);\n !subscription.closed && subscriber.next(this._value);\n return subscription;\n }\n getValue() {\n const { hasError, thrownError, _value } = this;\n if (hasError) {\n throw thrownError;\n }\n this._throwIfClosed();\n return _value;\n }\n next(value) {\n super.next((this._value = value));\n }\n}\n","import { EMPTY } from './observable/empty';\nimport { of } from './observable/of';\nimport { throwError } from './observable/throwError';\nimport { isFunction } from './util/isFunction';\nexport var NotificationKind;\n(function (NotificationKind) {\n NotificationKind[\"NEXT\"] = \"N\";\n NotificationKind[\"ERROR\"] = \"E\";\n NotificationKind[\"COMPLETE\"] = \"C\";\n})(NotificationKind || (NotificationKind = {}));\nexport class Notification {\n constructor(kind, value, error) {\n this.kind = kind;\n this.value = value;\n this.error = error;\n this.hasValue = kind === 'N';\n }\n observe(observer) {\n return observeNotification(this, observer);\n }\n do(nextHandler, errorHandler, completeHandler) {\n const { kind, value, error } = this;\n return kind === 'N' ? nextHandler === null || nextHandler === void 0 ? void 0 : nextHandler(value) : kind === 'E' ? errorHandler === null || errorHandler === void 0 ? void 0 : errorHandler(error) : completeHandler === null || completeHandler === void 0 ? void 0 : completeHandler();\n }\n accept(nextOrObserver, error, complete) {\n var _a;\n return isFunction((_a = nextOrObserver) === null || _a === void 0 ? void 0 : _a.next)\n ? this.observe(nextOrObserver)\n : this.do(nextOrObserver, error, complete);\n }\n toObservable() {\n const { kind, value, error } = this;\n const result = kind === 'N'\n ?\n of(value)\n :\n kind === 'E'\n ?\n throwError(() => error)\n :\n kind === 'C'\n ?\n EMPTY\n :\n 0;\n if (!result) {\n throw new TypeError(`Unexpected notification kind ${kind}`);\n }\n return result;\n }\n static createNext(value) {\n return new Notification('N', value);\n }\n static createError(err) {\n return new Notification('E', undefined, err);\n }\n static createComplete() {\n return Notification.completeNotification;\n }\n}\nNotification.completeNotification = new Notification('C');\nexport function observeNotification(notification, observer) {\n var _a, _b, _c;\n const { kind, value, error } = notification;\n if (typeof kind !== 'string') {\n throw new TypeError('Invalid notification, missing \"kind\"');\n }\n kind === 'N' ? (_a = observer.next) === null || _a === void 0 ? void 0 : _a.call(observer, value) : kind === 'E' ? (_b = observer.error) === null || _b === void 0 ? void 0 : _b.call(observer, error) : (_c = observer.complete) === null || _c === void 0 ? void 0 : _c.call(observer);\n}\n","export const COMPLETE_NOTIFICATION = (() => createNotification('C', undefined, undefined))();\nexport function errorNotification(error) {\n return createNotification('E', undefined, error);\n}\nexport function nextNotification(value) {\n return createNotification('N', value, undefined);\n}\nexport function createNotification(kind, value, error) {\n return {\n kind,\n value,\n error,\n };\n}\n","import { SafeSubscriber, Subscriber } from './Subscriber';\nimport { isSubscription } from './Subscription';\nimport { observable as Symbol_observable } from './symbol/observable';\nimport { pipeFromArray } from './util/pipe';\nimport { config } from './config';\nimport { isFunction } from './util/isFunction';\nimport { errorContext } from './util/errorContext';\nexport class Observable {\n constructor(subscribe) {\n if (subscribe) {\n this._subscribe = subscribe;\n }\n }\n lift(operator) {\n const observable = new Observable();\n observable.source = this;\n observable.operator = operator;\n return observable;\n }\n subscribe(observerOrNext, error, complete) {\n const subscriber = isSubscriber(observerOrNext) ? observerOrNext : new SafeSubscriber(observerOrNext, error, complete);\n errorContext(() => {\n const { operator, source } = this;\n subscriber.add(operator\n ?\n operator.call(subscriber, source)\n : source\n ?\n this._subscribe(subscriber)\n :\n this._trySubscribe(subscriber));\n });\n return subscriber;\n }\n _trySubscribe(sink) {\n try {\n return this._subscribe(sink);\n }\n catch (err) {\n sink.error(err);\n }\n }\n forEach(next, promiseCtor) {\n promiseCtor = getPromiseCtor(promiseCtor);\n return new promiseCtor((resolve, reject) => {\n const subscriber = new SafeSubscriber({\n next: (value) => {\n try {\n next(value);\n }\n catch (err) {\n reject(err);\n subscriber.unsubscribe();\n }\n },\n error: reject,\n complete: resolve,\n });\n this.subscribe(subscriber);\n });\n }\n _subscribe(subscriber) {\n var _a;\n return (_a = this.source) === null || _a === void 0 ? void 0 : _a.subscribe(subscriber);\n }\n [Symbol_observable]() {\n return this;\n }\n pipe(...operations) {\n return pipeFromArray(operations)(this);\n }\n toPromise(promiseCtor) {\n promiseCtor = getPromiseCtor(promiseCtor);\n return new promiseCtor((resolve, reject) => {\n let value;\n this.subscribe((x) => (value = x), (err) => reject(err), () => resolve(value));\n });\n }\n}\nObservable.create = (subscribe) => {\n return new Observable(subscribe);\n};\nfunction getPromiseCtor(promiseCtor) {\n var _a;\n return (_a = promiseCtor !== null && promiseCtor !== void 0 ? promiseCtor : config.Promise) !== null && _a !== void 0 ? _a : Promise;\n}\nfunction isObserver(value) {\n return value && isFunction(value.next) && isFunction(value.error) && isFunction(value.complete);\n}\nfunction isSubscriber(value) {\n return (value && value instanceof Subscriber) || (isObserver(value) && isSubscription(value));\n}\n","import { Subject } from './Subject';\nimport { dateTimestampProvider } from './scheduler/dateTimestampProvider';\nexport class ReplaySubject extends Subject {\n constructor(_bufferSize = Infinity, _windowTime = Infinity, _timestampProvider = dateTimestampProvider) {\n super();\n this._bufferSize = _bufferSize;\n this._windowTime = _windowTime;\n this._timestampProvider = _timestampProvider;\n this._buffer = [];\n this._infiniteTimeWindow = true;\n this._infiniteTimeWindow = _windowTime === Infinity;\n this._bufferSize = Math.max(1, _bufferSize);\n this._windowTime = Math.max(1, _windowTime);\n }\n next(value) {\n const { isStopped, _buffer, _infiniteTimeWindow, _timestampProvider, _windowTime } = this;\n if (!isStopped) {\n _buffer.push(value);\n !_infiniteTimeWindow && _buffer.push(_timestampProvider.now() + _windowTime);\n }\n this._trimBuffer();\n super.next(value);\n }\n _subscribe(subscriber) {\n this._throwIfClosed();\n this._trimBuffer();\n const subscription = this._innerSubscribe(subscriber);\n const { _infiniteTimeWindow, _buffer } = this;\n const copy = _buffer.slice();\n for (let i = 0; i < copy.length && !subscriber.closed; i += _infiniteTimeWindow ? 1 : 2) {\n subscriber.next(copy[i]);\n }\n this._checkFinalizedStatuses(subscriber);\n return subscription;\n }\n _trimBuffer() {\n const { _bufferSize, _timestampProvider, _buffer, _infiniteTimeWindow } = this;\n const adjustedBufferSize = (_infiniteTimeWindow ? 1 : 2) * _bufferSize;\n _bufferSize < Infinity && adjustedBufferSize < _buffer.length && _buffer.splice(0, _buffer.length - adjustedBufferSize);\n if (!_infiniteTimeWindow) {\n const now = _timestampProvider.now();\n let last = 0;\n for (let i = 1; i < _buffer.length && _buffer[i] <= now; i += 2) {\n last = i;\n }\n last && _buffer.splice(0, last + 1);\n }\n }\n}\n","import { dateTimestampProvider } from './scheduler/dateTimestampProvider';\nexport class Scheduler {\n constructor(schedulerActionCtor, now = Scheduler.now) {\n this.schedulerActionCtor = schedulerActionCtor;\n this.now = now;\n }\n schedule(work, delay = 0, state) {\n return new this.schedulerActionCtor(this, work).schedule(state, delay);\n }\n}\nScheduler.now = dateTimestampProvider.now;\n","import { Observable } from './Observable';\nimport { Subscription, EMPTY_SUBSCRIPTION } from './Subscription';\nimport { ObjectUnsubscribedError } from './util/ObjectUnsubscribedError';\nimport { arrRemove } from './util/arrRemove';\nimport { errorContext } from './util/errorContext';\nexport class Subject extends Observable {\n constructor() {\n super();\n this.closed = false;\n this.currentObservers = null;\n this.observers = [];\n this.isStopped = false;\n this.hasError = false;\n this.thrownError = null;\n }\n lift(operator) {\n const subject = new AnonymousSubject(this, this);\n subject.operator = operator;\n return subject;\n }\n _throwIfClosed() {\n if (this.closed) {\n throw new ObjectUnsubscribedError();\n }\n }\n next(value) {\n errorContext(() => {\n this._throwIfClosed();\n if (!this.isStopped) {\n if (!this.currentObservers) {\n this.currentObservers = Array.from(this.observers);\n }\n for (const observer of this.currentObservers) {\n observer.next(value);\n }\n }\n });\n }\n error(err) {\n errorContext(() => {\n this._throwIfClosed();\n if (!this.isStopped) {\n this.hasError = this.isStopped = true;\n this.thrownError = err;\n const { observers } = this;\n while (observers.length) {\n observers.shift().error(err);\n }\n }\n });\n }\n complete() {\n errorContext(() => {\n this._throwIfClosed();\n if (!this.isStopped) {\n this.isStopped = true;\n const { observers } = this;\n while (observers.length) {\n observers.shift().complete();\n }\n }\n });\n }\n unsubscribe() {\n this.isStopped = this.closed = true;\n this.observers = this.currentObservers = null;\n }\n get observed() {\n var _a;\n return ((_a = this.observers) === null || _a === void 0 ? void 0 : _a.length) > 0;\n }\n _trySubscribe(subscriber) {\n this._throwIfClosed();\n return super._trySubscribe(subscriber);\n }\n _subscribe(subscriber) {\n this._throwIfClosed();\n this._checkFinalizedStatuses(subscriber);\n return this._innerSubscribe(subscriber);\n }\n _innerSubscribe(subscriber) {\n const { hasError, isStopped, observers } = this;\n if (hasError || isStopped) {\n return EMPTY_SUBSCRIPTION;\n }\n this.currentObservers = null;\n observers.push(subscriber);\n return new Subscription(() => {\n this.currentObservers = null;\n arrRemove(observers, subscriber);\n });\n }\n _checkFinalizedStatuses(subscriber) {\n const { hasError, thrownError, isStopped } = this;\n if (hasError) {\n subscriber.error(thrownError);\n }\n else if (isStopped) {\n subscriber.complete();\n }\n }\n asObservable() {\n const observable = new Observable();\n observable.source = this;\n return observable;\n }\n}\nSubject.create = (destination, source) => {\n return new AnonymousSubject(destination, source);\n};\nexport class AnonymousSubject extends Subject {\n constructor(destination, source) {\n super();\n this.destination = destination;\n this.source = source;\n }\n next(value) {\n var _a, _b;\n (_b = (_a = this.destination) === null || _a === void 0 ? void 0 : _a.next) === null || _b === void 0 ? void 0 : _b.call(_a, value);\n }\n error(err) {\n var _a, _b;\n (_b = (_a = this.destination) === null || _a === void 0 ? void 0 : _a.error) === null || _b === void 0 ? void 0 : _b.call(_a, err);\n }\n complete() {\n var _a, _b;\n (_b = (_a = this.destination) === null || _a === void 0 ? void 0 : _a.complete) === null || _b === void 0 ? void 0 : _b.call(_a);\n }\n _subscribe(subscriber) {\n var _a, _b;\n return (_b = (_a = this.source) === null || _a === void 0 ? void 0 : _a.subscribe(subscriber)) !== null && _b !== void 0 ? _b : EMPTY_SUBSCRIPTION;\n }\n}\n","import { isFunction } from './util/isFunction';\nimport { isSubscription, Subscription } from './Subscription';\nimport { config } from './config';\nimport { reportUnhandledError } from './util/reportUnhandledError';\nimport { noop } from './util/noop';\nimport { nextNotification, errorNotification, COMPLETE_NOTIFICATION } from './NotificationFactories';\nimport { timeoutProvider } from './scheduler/timeoutProvider';\nimport { captureError } from './util/errorContext';\nexport class Subscriber extends Subscription {\n constructor(destination) {\n super();\n this.isStopped = false;\n if (destination) {\n this.destination = destination;\n if (isSubscription(destination)) {\n destination.add(this);\n }\n }\n else {\n this.destination = EMPTY_OBSERVER;\n }\n }\n static create(next, error, complete) {\n return new SafeSubscriber(next, error, complete);\n }\n next(value) {\n if (this.isStopped) {\n handleStoppedNotification(nextNotification(value), this);\n }\n else {\n this._next(value);\n }\n }\n error(err) {\n if (this.isStopped) {\n handleStoppedNotification(errorNotification(err), this);\n }\n else {\n this.isStopped = true;\n this._error(err);\n }\n }\n complete() {\n if (this.isStopped) {\n handleStoppedNotification(COMPLETE_NOTIFICATION, this);\n }\n else {\n this.isStopped = true;\n this._complete();\n }\n }\n unsubscribe() {\n if (!this.closed) {\n this.isStopped = true;\n super.unsubscribe();\n this.destination = null;\n }\n }\n _next(value) {\n this.destination.next(value);\n }\n _error(err) {\n try {\n this.destination.error(err);\n }\n finally {\n this.unsubscribe();\n }\n }\n _complete() {\n try {\n this.destination.complete();\n }\n finally {\n this.unsubscribe();\n }\n }\n}\nconst _bind = Function.prototype.bind;\nfunction bind(fn, thisArg) {\n return _bind.call(fn, thisArg);\n}\nclass ConsumerObserver {\n constructor(partialObserver) {\n this.partialObserver = partialObserver;\n }\n next(value) {\n const { partialObserver } = this;\n if (partialObserver.next) {\n try {\n partialObserver.next(value);\n }\n catch (error) {\n handleUnhandledError(error);\n }\n }\n }\n error(err) {\n const { partialObserver } = this;\n if (partialObserver.error) {\n try {\n partialObserver.error(err);\n }\n catch (error) {\n handleUnhandledError(error);\n }\n }\n else {\n handleUnhandledError(err);\n }\n }\n complete() {\n const { partialObserver } = this;\n if (partialObserver.complete) {\n try {\n partialObserver.complete();\n }\n catch (error) {\n handleUnhandledError(error);\n }\n }\n }\n}\nexport class SafeSubscriber extends Subscriber {\n constructor(observerOrNext, error, complete) {\n super();\n let partialObserver;\n if (isFunction(observerOrNext) || !observerOrNext) {\n partialObserver = {\n next: (observerOrNext !== null && observerOrNext !== void 0 ? observerOrNext : undefined),\n error: error !== null && error !== void 0 ? error : undefined,\n complete: complete !== null && complete !== void 0 ? complete : undefined,\n };\n }\n else {\n let context;\n if (this && config.useDeprecatedNextContext) {\n context = Object.create(observerOrNext);\n context.unsubscribe = () => this.unsubscribe();\n partialObserver = {\n next: observerOrNext.next && bind(observerOrNext.next, context),\n error: observerOrNext.error && bind(observerOrNext.error, context),\n complete: observerOrNext.complete && bind(observerOrNext.complete, context),\n };\n }\n else {\n partialObserver = observerOrNext;\n }\n }\n this.destination = new ConsumerObserver(partialObserver);\n }\n}\nfunction handleUnhandledError(error) {\n if (config.useDeprecatedSynchronousErrorHandling) {\n captureError(error);\n }\n else {\n reportUnhandledError(error);\n }\n}\nfunction defaultErrorHandler(err) {\n throw err;\n}\nfunction handleStoppedNotification(notification, subscriber) {\n const { onStoppedNotification } = config;\n onStoppedNotification && timeoutProvider.setTimeout(() => onStoppedNotification(notification, subscriber));\n}\nexport const EMPTY_OBSERVER = {\n closed: true,\n next: noop,\n error: defaultErrorHandler,\n complete: noop,\n};\n","import { isFunction } from './util/isFunction';\nimport { UnsubscriptionError } from './util/UnsubscriptionError';\nimport { arrRemove } from './util/arrRemove';\nexport class Subscription {\n constructor(initialTeardown) {\n this.initialTeardown = initialTeardown;\n this.closed = false;\n this._parentage = null;\n this._finalizers = null;\n }\n unsubscribe() {\n let errors;\n if (!this.closed) {\n this.closed = true;\n const { _parentage } = this;\n if (_parentage) {\n this._parentage = null;\n if (Array.isArray(_parentage)) {\n for (const parent of _parentage) {\n parent.remove(this);\n }\n }\n else {\n _parentage.remove(this);\n }\n }\n const { initialTeardown: initialFinalizer } = this;\n if (isFunction(initialFinalizer)) {\n try {\n initialFinalizer();\n }\n catch (e) {\n errors = e instanceof UnsubscriptionError ? e.errors : [e];\n }\n }\n const { _finalizers } = this;\n if (_finalizers) {\n this._finalizers = null;\n for (const finalizer of _finalizers) {\n try {\n execFinalizer(finalizer);\n }\n catch (err) {\n errors = errors !== null && errors !== void 0 ? errors : [];\n if (err instanceof UnsubscriptionError) {\n errors = [...errors, ...err.errors];\n }\n else {\n errors.push(err);\n }\n }\n }\n }\n if (errors) {\n throw new UnsubscriptionError(errors);\n }\n }\n }\n add(teardown) {\n var _a;\n if (teardown && teardown !== this) {\n if (this.closed) {\n execFinalizer(teardown);\n }\n else {\n if (teardown instanceof Subscription) {\n if (teardown.closed || teardown._hasParent(this)) {\n return;\n }\n teardown._addParent(this);\n }\n (this._finalizers = (_a = this._finalizers) !== null && _a !== void 0 ? _a : []).push(teardown);\n }\n }\n }\n _hasParent(parent) {\n const { _parentage } = this;\n return _parentage === parent || (Array.isArray(_parentage) && _parentage.includes(parent));\n }\n _addParent(parent) {\n const { _parentage } = this;\n this._parentage = Array.isArray(_parentage) ? (_parentage.push(parent), _parentage) : _parentage ? [_parentage, parent] : parent;\n }\n _removeParent(parent) {\n const { _parentage } = this;\n if (_parentage === parent) {\n this._parentage = null;\n }\n else if (Array.isArray(_parentage)) {\n arrRemove(_parentage, parent);\n }\n }\n remove(teardown) {\n const { _finalizers } = this;\n _finalizers && arrRemove(_finalizers, teardown);\n if (teardown instanceof Subscription) {\n teardown._removeParent(this);\n }\n }\n}\nSubscription.EMPTY = (() => {\n const empty = new Subscription();\n empty.closed = true;\n return empty;\n})();\nexport const EMPTY_SUBSCRIPTION = Subscription.EMPTY;\nexport function isSubscription(value) {\n return (value instanceof Subscription ||\n (value && 'closed' in value && isFunction(value.remove) && isFunction(value.add) && isFunction(value.unsubscribe)));\n}\nfunction execFinalizer(finalizer) {\n if (isFunction(finalizer)) {\n finalizer();\n }\n else {\n finalizer.unsubscribe();\n }\n}\n","export const config = {\n onUnhandledError: null,\n onStoppedNotification: null,\n Promise: undefined,\n useDeprecatedSynchronousErrorHandling: false,\n useDeprecatedNextContext: false,\n};\n","import { EmptyError } from './util/EmptyError';\nexport function lastValueFrom(source, config) {\n const hasConfig = typeof config === 'object';\n return new Promise((resolve, reject) => {\n let _hasValue = false;\n let _value;\n source.subscribe({\n next: (value) => {\n _value = value;\n _hasValue = true;\n },\n error: reject,\n complete: () => {\n if (_hasValue) {\n resolve(_value);\n }\n else if (hasConfig) {\n resolve(config.defaultValue);\n }\n else {\n reject(new EmptyError());\n }\n },\n });\n });\n}\n","import { Observable } from '../Observable';\nimport { Subscription } from '../Subscription';\nimport { refCount as higherOrderRefCount } from '../operators/refCount';\nimport { createOperatorSubscriber } from '../operators/OperatorSubscriber';\nimport { hasLift } from '../util/lift';\nexport class ConnectableObservable extends Observable {\n constructor(source, subjectFactory) {\n super();\n this.source = source;\n this.subjectFactory = subjectFactory;\n this._subject = null;\n this._refCount = 0;\n this._connection = null;\n if (hasLift(source)) {\n this.lift = source.lift;\n }\n }\n _subscribe(subscriber) {\n return this.getSubject().subscribe(subscriber);\n }\n getSubject() {\n const subject = this._subject;\n if (!subject || subject.isStopped) {\n this._subject = this.subjectFactory();\n }\n return this._subject;\n }\n _teardown() {\n this._refCount = 0;\n const { _connection } = this;\n this._subject = this._connection = null;\n _connection === null || _connection === void 0 ? void 0 : _connection.unsubscribe();\n }\n connect() {\n let connection = this._connection;\n if (!connection) {\n connection = this._connection = new Subscription();\n const subject = this.getSubject();\n connection.add(this.source.subscribe(createOperatorSubscriber(subject, undefined, () => {\n this._teardown();\n subject.complete();\n }, (err) => {\n this._teardown();\n subject.error(err);\n }, () => this._teardown())));\n if (connection.closed) {\n this._connection = null;\n connection = Subscription.EMPTY;\n }\n }\n return connection;\n }\n refCount() {\n return higherOrderRefCount()(this);\n }\n}\n","import { Observable } from '../Observable';\nimport { argsArgArrayOrObject } from '../util/argsArgArrayOrObject';\nimport { from } from './from';\nimport { identity } from '../util/identity';\nimport { mapOneOrManyArgs } from '../util/mapOneOrManyArgs';\nimport { popResultSelector, popScheduler } from '../util/args';\nimport { createObject } from '../util/createObject';\nimport { createOperatorSubscriber } from '../operators/OperatorSubscriber';\nimport { executeSchedule } from '../util/executeSchedule';\nexport function combineLatest(...args) {\n const scheduler = popScheduler(args);\n const resultSelector = popResultSelector(args);\n const { args: observables, keys } = argsArgArrayOrObject(args);\n if (observables.length === 0) {\n return from([], scheduler);\n }\n const result = new Observable(combineLatestInit(observables, scheduler, keys\n ?\n (values) => createObject(keys, values)\n :\n identity));\n return resultSelector ? result.pipe(mapOneOrManyArgs(resultSelector)) : result;\n}\nexport function combineLatestInit(observables, scheduler, valueTransform = identity) {\n return (subscriber) => {\n maybeSchedule(scheduler, () => {\n const { length } = observables;\n const values = new Array(length);\n let active = length;\n let remainingFirstValues = length;\n for (let i = 0; i < length; i++) {\n maybeSchedule(scheduler, () => {\n const source = from(observables[i], scheduler);\n let hasFirstValue = false;\n source.subscribe(createOperatorSubscriber(subscriber, (value) => {\n values[i] = value;\n if (!hasFirstValue) {\n hasFirstValue = true;\n remainingFirstValues--;\n }\n if (!remainingFirstValues) {\n subscriber.next(valueTransform(values.slice()));\n }\n }, () => {\n if (!--active) {\n subscriber.complete();\n }\n }));\n }, subscriber);\n }\n }, subscriber);\n };\n}\nfunction maybeSchedule(scheduler, execute, subscription) {\n if (scheduler) {\n executeSchedule(subscription, scheduler, execute);\n }\n else {\n execute();\n }\n}\n","import { concatAll } from '../operators/concatAll';\nimport { popScheduler } from '../util/args';\nimport { from } from './from';\nexport function concat(...args) {\n return concatAll()(from(args, popScheduler(args)));\n}\n","import { Observable } from '../Observable';\nimport { innerFrom } from './innerFrom';\nexport function defer(observableFactory) {\n return new Observable((subscriber) => {\n innerFrom(observableFactory()).subscribe(subscriber);\n });\n}\n","import { Observable } from '../Observable';\nexport const EMPTY = new Observable((subscriber) => subscriber.complete());\nexport function empty(scheduler) {\n return scheduler ? emptyScheduled(scheduler) : EMPTY;\n}\nfunction emptyScheduled(scheduler) {\n return new Observable((subscriber) => scheduler.schedule(() => subscriber.complete()));\n}\n","import { Observable } from '../Observable';\nimport { argsArgArrayOrObject } from '../util/argsArgArrayOrObject';\nimport { innerFrom } from './innerFrom';\nimport { popResultSelector } from '../util/args';\nimport { createOperatorSubscriber } from '../operators/OperatorSubscriber';\nimport { mapOneOrManyArgs } from '../util/mapOneOrManyArgs';\nimport { createObject } from '../util/createObject';\nexport function forkJoin(...args) {\n const resultSelector = popResultSelector(args);\n const { args: sources, keys } = argsArgArrayOrObject(args);\n const result = new Observable((subscriber) => {\n const { length } = sources;\n if (!length) {\n subscriber.complete();\n return;\n }\n const values = new Array(length);\n let remainingCompletions = length;\n let remainingEmissions = length;\n for (let sourceIndex = 0; sourceIndex < length; sourceIndex++) {\n let hasValue = false;\n innerFrom(sources[sourceIndex]).subscribe(createOperatorSubscriber(subscriber, (value) => {\n if (!hasValue) {\n hasValue = true;\n remainingEmissions--;\n }\n values[sourceIndex] = value;\n }, () => remainingCompletions--, undefined, () => {\n if (!remainingCompletions || !hasValue) {\n if (!remainingEmissions) {\n subscriber.next(keys ? createObject(keys, values) : values);\n }\n subscriber.complete();\n }\n }));\n }\n });\n return resultSelector ? result.pipe(mapOneOrManyArgs(resultSelector)) : result;\n}\n","import { scheduled } from '../scheduled/scheduled';\nimport { innerFrom } from './innerFrom';\nexport function from(input, scheduler) {\n return scheduler ? scheduled(input, scheduler) : innerFrom(input);\n}\n","import { innerFrom } from '../observable/innerFrom';\nimport { Observable } from '../Observable';\nimport { mergeMap } from '../operators/mergeMap';\nimport { isArrayLike } from '../util/isArrayLike';\nimport { isFunction } from '../util/isFunction';\nimport { mapOneOrManyArgs } from '../util/mapOneOrManyArgs';\nconst nodeEventEmitterMethods = ['addListener', 'removeListener'];\nconst eventTargetMethods = ['addEventListener', 'removeEventListener'];\nconst jqueryMethods = ['on', 'off'];\nexport function fromEvent(target, eventName, options, resultSelector) {\n if (isFunction(options)) {\n resultSelector = options;\n options = undefined;\n }\n if (resultSelector) {\n return fromEvent(target, eventName, options).pipe(mapOneOrManyArgs(resultSelector));\n }\n const [add, remove] = isEventTarget(target)\n ? eventTargetMethods.map((methodName) => (handler) => target[methodName](eventName, handler, options))\n :\n isNodeStyleEventEmitter(target)\n ? nodeEventEmitterMethods.map(toCommonHandlerRegistry(target, eventName))\n : isJQueryStyleEventEmitter(target)\n ? jqueryMethods.map(toCommonHandlerRegistry(target, eventName))\n : [];\n if (!add) {\n if (isArrayLike(target)) {\n return mergeMap((subTarget) => fromEvent(subTarget, eventName, options))(innerFrom(target));\n }\n }\n if (!add) {\n throw new TypeError('Invalid event target');\n }\n return new Observable((subscriber) => {\n const handler = (...args) => subscriber.next(1 < args.length ? args : args[0]);\n add(handler);\n return () => remove(handler);\n });\n}\nfunction toCommonHandlerRegistry(target, eventName) {\n return (methodName) => (handler) => target[methodName](eventName, handler);\n}\nfunction isNodeStyleEventEmitter(target) {\n return isFunction(target.addListener) && isFunction(target.removeListener);\n}\nfunction isJQueryStyleEventEmitter(target) {\n return isFunction(target.on) && isFunction(target.off);\n}\nfunction isEventTarget(target) {\n return isFunction(target.addEventListener) && isFunction(target.removeEventListener);\n}\n","import { defer } from './defer';\nexport function iif(condition, trueResult, falseResult) {\n return defer(() => (condition() ? trueResult : falseResult));\n}\n","import { __asyncValues, __awaiter } from \"tslib\";\nimport { isArrayLike } from '../util/isArrayLike';\nimport { isPromise } from '../util/isPromise';\nimport { Observable } from '../Observable';\nimport { isInteropObservable } from '../util/isInteropObservable';\nimport { isAsyncIterable } from '../util/isAsyncIterable';\nimport { createInvalidObservableTypeError } from '../util/throwUnobservableError';\nimport { isIterable } from '../util/isIterable';\nimport { isReadableStreamLike, readableStreamLikeToAsyncGenerator } from '../util/isReadableStreamLike';\nimport { isFunction } from '../util/isFunction';\nimport { reportUnhandledError } from '../util/reportUnhandledError';\nimport { observable as Symbol_observable } from '../symbol/observable';\nexport function innerFrom(input) {\n if (input instanceof Observable) {\n return input;\n }\n if (input != null) {\n if (isInteropObservable(input)) {\n return fromInteropObservable(input);\n }\n if (isArrayLike(input)) {\n return fromArrayLike(input);\n }\n if (isPromise(input)) {\n return fromPromise(input);\n }\n if (isAsyncIterable(input)) {\n return fromAsyncIterable(input);\n }\n if (isIterable(input)) {\n return fromIterable(input);\n }\n if (isReadableStreamLike(input)) {\n return fromReadableStreamLike(input);\n }\n }\n throw createInvalidObservableTypeError(input);\n}\nexport function fromInteropObservable(obj) {\n return new Observable((subscriber) => {\n const obs = obj[Symbol_observable]();\n if (isFunction(obs.subscribe)) {\n return obs.subscribe(subscriber);\n }\n throw new TypeError('Provided object does not correctly implement Symbol.observable');\n });\n}\nexport function fromArrayLike(array) {\n return new Observable((subscriber) => {\n for (let i = 0; i < array.length && !subscriber.closed; i++) {\n subscriber.next(array[i]);\n }\n subscriber.complete();\n });\n}\nexport function fromPromise(promise) {\n return new Observable((subscriber) => {\n promise\n .then((value) => {\n if (!subscriber.closed) {\n subscriber.next(value);\n subscriber.complete();\n }\n }, (err) => subscriber.error(err))\n .then(null, reportUnhandledError);\n });\n}\nexport function fromIterable(iterable) {\n return new Observable((subscriber) => {\n for (const value of iterable) {\n subscriber.next(value);\n if (subscriber.closed) {\n return;\n }\n }\n subscriber.complete();\n });\n}\nexport function fromAsyncIterable(asyncIterable) {\n return new Observable((subscriber) => {\n process(asyncIterable, subscriber).catch((err) => subscriber.error(err));\n });\n}\nexport function fromReadableStreamLike(readableStream) {\n return fromAsyncIterable(readableStreamLikeToAsyncGenerator(readableStream));\n}\nfunction process(asyncIterable, subscriber) {\n var asyncIterable_1, asyncIterable_1_1;\n var e_1, _a;\n return __awaiter(this, void 0, void 0, function* () {\n try {\n for (asyncIterable_1 = __asyncValues(asyncIterable); asyncIterable_1_1 = yield asyncIterable_1.next(), !asyncIterable_1_1.done;) {\n const value = asyncIterable_1_1.value;\n subscriber.next(value);\n if (subscriber.closed) {\n return;\n }\n }\n }\n catch (e_1_1) { e_1 = { error: e_1_1 }; }\n finally {\n try {\n if (asyncIterable_1_1 && !asyncIterable_1_1.done && (_a = asyncIterable_1.return)) yield _a.call(asyncIterable_1);\n }\n finally { if (e_1) throw e_1.error; }\n }\n subscriber.complete();\n });\n}\n","import { asyncScheduler } from '../scheduler/async';\nimport { timer } from './timer';\nexport function interval(period = 0, scheduler = asyncScheduler) {\n if (period < 0) {\n period = 0;\n }\n return timer(period, period, scheduler);\n}\n","import { mergeAll } from '../operators/mergeAll';\nimport { innerFrom } from './innerFrom';\nimport { EMPTY } from './empty';\nimport { popNumber, popScheduler } from '../util/args';\nimport { from } from './from';\nexport function merge(...args) {\n const scheduler = popScheduler(args);\n const concurrent = popNumber(args, Infinity);\n const sources = args;\n return !sources.length\n ?\n EMPTY\n : sources.length === 1\n ?\n innerFrom(sources[0])\n :\n mergeAll(concurrent)(from(sources, scheduler));\n}\n","import { popScheduler } from '../util/args';\nimport { from } from './from';\nexport function of(...args) {\n const scheduler = popScheduler(args);\n return from(args, scheduler);\n}\n","import { Observable } from '../Observable';\nimport { isFunction } from '../util/isFunction';\nexport function throwError(errorOrErrorFactory, scheduler) {\n const errorFactory = isFunction(errorOrErrorFactory) ? errorOrErrorFactory : () => errorOrErrorFactory;\n const init = (subscriber) => subscriber.error(errorFactory());\n return new Observable(scheduler ? (subscriber) => scheduler.schedule(init, 0, subscriber) : init);\n}\n","import { Observable } from '../Observable';\nimport { async as asyncScheduler } from '../scheduler/async';\nimport { isScheduler } from '../util/isScheduler';\nimport { isValidDate } from '../util/isDate';\nexport function timer(dueTime = 0, intervalOrScheduler, scheduler = asyncScheduler) {\n let intervalDuration = -1;\n if (intervalOrScheduler != null) {\n if (isScheduler(intervalOrScheduler)) {\n scheduler = intervalOrScheduler;\n }\n else {\n intervalDuration = intervalOrScheduler;\n }\n }\n return new Observable((subscriber) => {\n let due = isValidDate(dueTime) ? +dueTime - scheduler.now() : dueTime;\n if (due < 0) {\n due = 0;\n }\n let n = 0;\n return scheduler.schedule(function () {\n if (!subscriber.closed) {\n subscriber.next(n++);\n if (0 <= intervalDuration) {\n this.schedule(undefined, intervalDuration);\n }\n else {\n subscriber.complete();\n }\n }\n }, due);\n });\n}\n","import { Subscriber } from '../Subscriber';\nexport function createOperatorSubscriber(destination, onNext, onComplete, onError, onFinalize) {\n return new OperatorSubscriber(destination, onNext, onComplete, onError, onFinalize);\n}\nexport class OperatorSubscriber extends Subscriber {\n constructor(destination, onNext, onComplete, onError, onFinalize, shouldUnsubscribe) {\n super(destination);\n this.onFinalize = onFinalize;\n this.shouldUnsubscribe = shouldUnsubscribe;\n this._next = onNext\n ? function (value) {\n try {\n onNext(value);\n }\n catch (err) {\n destination.error(err);\n }\n }\n : super._next;\n this._error = onError\n ? function (err) {\n try {\n onError(err);\n }\n catch (err) {\n destination.error(err);\n }\n finally {\n this.unsubscribe();\n }\n }\n : super._error;\n this._complete = onComplete\n ? function () {\n try {\n onComplete();\n }\n catch (err) {\n destination.error(err);\n }\n finally {\n this.unsubscribe();\n }\n }\n : super._complete;\n }\n unsubscribe() {\n var _a;\n if (!this.shouldUnsubscribe || this.shouldUnsubscribe()) {\n const { closed } = this;\n super.unsubscribe();\n !closed && ((_a = this.onFinalize) === null || _a === void 0 ? void 0 : _a.call(this));\n }\n }\n}\n","import { operate } from '../util/lift';\nimport { innerFrom } from '../observable/innerFrom';\nimport { createOperatorSubscriber } from './OperatorSubscriber';\nexport function audit(durationSelector) {\n return operate((source, subscriber) => {\n let hasValue = false;\n let lastValue = null;\n let durationSubscriber = null;\n let isComplete = false;\n const endDuration = () => {\n durationSubscriber === null || durationSubscriber === void 0 ? void 0 : durationSubscriber.unsubscribe();\n durationSubscriber = null;\n if (hasValue) {\n hasValue = false;\n const value = lastValue;\n lastValue = null;\n subscriber.next(value);\n }\n isComplete && subscriber.complete();\n };\n const cleanupDuration = () => {\n durationSubscriber = null;\n isComplete && subscriber.complete();\n };\n source.subscribe(createOperatorSubscriber(subscriber, (value) => {\n hasValue = true;\n lastValue = value;\n if (!durationSubscriber) {\n innerFrom(durationSelector(value)).subscribe((durationSubscriber = createOperatorSubscriber(subscriber, endDuration, cleanupDuration)));\n }\n }, () => {\n isComplete = true;\n (!hasValue || !durationSubscriber || durationSubscriber.closed) && subscriber.complete();\n }));\n });\n}\n","import { asyncScheduler } from '../scheduler/async';\nimport { audit } from './audit';\nimport { timer } from '../observable/timer';\nexport function auditTime(duration, scheduler = asyncScheduler) {\n return audit(() => timer(duration, scheduler));\n}\n","import { innerFrom } from '../observable/innerFrom';\nimport { createOperatorSubscriber } from './OperatorSubscriber';\nimport { operate } from '../util/lift';\nexport function catchError(selector) {\n return operate((source, subscriber) => {\n let innerSub = null;\n let syncUnsub = false;\n let handledResult;\n innerSub = source.subscribe(createOperatorSubscriber(subscriber, undefined, undefined, (err) => {\n handledResult = innerFrom(selector(err, catchError(selector)(source)));\n if (innerSub) {\n innerSub.unsubscribe();\n innerSub = null;\n handledResult.subscribe(subscriber);\n }\n else {\n syncUnsub = true;\n }\n }));\n if (syncUnsub) {\n innerSub.unsubscribe();\n innerSub = null;\n handledResult.subscribe(subscriber);\n }\n });\n}\n","import { combineLatestInit } from '../observable/combineLatest';\nimport { operate } from '../util/lift';\nimport { argsOrArgArray } from '../util/argsOrArgArray';\nimport { mapOneOrManyArgs } from '../util/mapOneOrManyArgs';\nimport { pipe } from '../util/pipe';\nimport { popResultSelector } from '../util/args';\nexport function combineLatest(...args) {\n const resultSelector = popResultSelector(args);\n return resultSelector\n ? pipe(combineLatest(...args), mapOneOrManyArgs(resultSelector))\n : operate((source, subscriber) => {\n combineLatestInit([source, ...argsOrArgArray(args)])(subscriber);\n });\n}\n","import { combineLatest } from './combineLatest';\nexport function combineLatestWith(...otherSources) {\n return combineLatest(...otherSources);\n}\n","import { mergeAll } from './mergeAll';\nexport function concatAll() {\n return mergeAll(1);\n}\n","import { mergeMap } from './mergeMap';\nimport { isFunction } from '../util/isFunction';\nexport function concatMap(project, resultSelector) {\n return isFunction(resultSelector) ? mergeMap(project, resultSelector, 1) : mergeMap(project, 1);\n}\n","import { asyncScheduler } from '../scheduler/async';\nimport { operate } from '../util/lift';\nimport { createOperatorSubscriber } from './OperatorSubscriber';\nexport function debounceTime(dueTime, scheduler = asyncScheduler) {\n return operate((source, subscriber) => {\n let activeTask = null;\n let lastValue = null;\n let lastTime = null;\n const emit = () => {\n if (activeTask) {\n activeTask.unsubscribe();\n activeTask = null;\n const value = lastValue;\n lastValue = null;\n subscriber.next(value);\n }\n };\n function emitWhenIdle() {\n const targetTime = lastTime + dueTime;\n const now = scheduler.now();\n if (now < targetTime) {\n activeTask = this.schedule(undefined, targetTime - now);\n subscriber.add(activeTask);\n return;\n }\n emit();\n }\n source.subscribe(createOperatorSubscriber(subscriber, (value) => {\n lastValue = value;\n lastTime = scheduler.now();\n if (!activeTask) {\n activeTask = scheduler.schedule(emitWhenIdle, dueTime);\n subscriber.add(activeTask);\n }\n }, () => {\n emit();\n subscriber.complete();\n }, undefined, () => {\n lastValue = activeTask = null;\n }));\n });\n}\n","import { operate } from '../util/lift';\nimport { createOperatorSubscriber } from './OperatorSubscriber';\nexport function defaultIfEmpty(defaultValue) {\n return operate((source, subscriber) => {\n let hasValue = false;\n source.subscribe(createOperatorSubscriber(subscriber, (value) => {\n hasValue = true;\n subscriber.next(value);\n }, () => {\n if (!hasValue) {\n subscriber.next(defaultValue);\n }\n subscriber.complete();\n }));\n });\n}\n","import { asyncScheduler } from '../scheduler/async';\nimport { delayWhen } from './delayWhen';\nimport { timer } from '../observable/timer';\nexport function delay(due, scheduler = asyncScheduler) {\n const duration = timer(due, scheduler);\n return delayWhen(() => duration);\n}\n","import { concat } from '../observable/concat';\nimport { take } from './take';\nimport { ignoreElements } from './ignoreElements';\nimport { mapTo } from './mapTo';\nimport { mergeMap } from './mergeMap';\nexport function delayWhen(delayDurationSelector, subscriptionDelay) {\n if (subscriptionDelay) {\n return (source) => concat(subscriptionDelay.pipe(take(1), ignoreElements()), source.pipe(delayWhen(delayDurationSelector)));\n }\n return mergeMap((value, index) => delayDurationSelector(value, index).pipe(take(1), mapTo(value)));\n}\n","import { observeNotification } from '../Notification';\nimport { operate } from '../util/lift';\nimport { createOperatorSubscriber } from './OperatorSubscriber';\nexport function dematerialize() {\n return operate((source, subscriber) => {\n source.subscribe(createOperatorSubscriber(subscriber, (notification) => observeNotification(notification, subscriber)));\n });\n}\n","import { identity } from '../util/identity';\nimport { operate } from '../util/lift';\nimport { createOperatorSubscriber } from './OperatorSubscriber';\nexport function distinctUntilChanged(comparator, keySelector = identity) {\n comparator = comparator !== null && comparator !== void 0 ? comparator : defaultCompare;\n return operate((source, subscriber) => {\n let previousKey;\n let first = true;\n source.subscribe(createOperatorSubscriber(subscriber, (value) => {\n const currentKey = keySelector(value);\n if (first || !comparator(previousKey, currentKey)) {\n first = false;\n previousKey = currentKey;\n subscriber.next(value);\n }\n }));\n });\n}\nfunction defaultCompare(a, b) {\n return a === b;\n}\n","import { map } from './map';\nimport { innerFrom } from '../observable/innerFrom';\nimport { operate } from '../util/lift';\nimport { createOperatorSubscriber } from './OperatorSubscriber';\nexport function exhaustMap(project, resultSelector) {\n if (resultSelector) {\n return (source) => source.pipe(exhaustMap((a, i) => innerFrom(project(a, i)).pipe(map((b, ii) => resultSelector(a, b, i, ii)))));\n }\n return operate((source, subscriber) => {\n let index = 0;\n let innerSub = null;\n let isComplete = false;\n source.subscribe(createOperatorSubscriber(subscriber, (outerValue) => {\n if (!innerSub) {\n innerSub = createOperatorSubscriber(subscriber, undefined, () => {\n innerSub = null;\n isComplete && subscriber.complete();\n });\n innerFrom(project(outerValue, index++)).subscribe(innerSub);\n }\n }, () => {\n isComplete = true;\n !innerSub && subscriber.complete();\n }));\n });\n}\n","import { operate } from '../util/lift';\nimport { createOperatorSubscriber } from './OperatorSubscriber';\nexport function filter(predicate, thisArg) {\n return operate((source, subscriber) => {\n let index = 0;\n source.subscribe(createOperatorSubscriber(subscriber, (value) => predicate.call(thisArg, value, index++) && subscriber.next(value)));\n });\n}\n","import { operate } from '../util/lift';\nexport function finalize(callback) {\n return operate((source, subscriber) => {\n try {\n source.subscribe(subscriber);\n }\n finally {\n subscriber.add(callback);\n }\n });\n}\n","import { EmptyError } from '../util/EmptyError';\nimport { filter } from './filter';\nimport { take } from './take';\nimport { defaultIfEmpty } from './defaultIfEmpty';\nimport { throwIfEmpty } from './throwIfEmpty';\nimport { identity } from '../util/identity';\nexport function first(predicate, defaultValue) {\n const hasDefaultValue = arguments.length >= 2;\n return (source) => source.pipe(predicate ? filter((v, i) => predicate(v, i, source)) : identity, take(1), hasDefaultValue ? defaultIfEmpty(defaultValue) : throwIfEmpty(() => new EmptyError()));\n}\n","import { Observable } from '../Observable';\nimport { innerFrom } from '../observable/innerFrom';\nimport { Subject } from '../Subject';\nimport { operate } from '../util/lift';\nimport { createOperatorSubscriber, OperatorSubscriber } from './OperatorSubscriber';\nexport function groupBy(keySelector, elementOrOptions, duration, connector) {\n return operate((source, subscriber) => {\n let element;\n if (!elementOrOptions || typeof elementOrOptions === 'function') {\n element = elementOrOptions;\n }\n else {\n ({ duration, element, connector } = elementOrOptions);\n }\n const groups = new Map();\n const notify = (cb) => {\n groups.forEach(cb);\n cb(subscriber);\n };\n const handleError = (err) => notify((consumer) => consumer.error(err));\n let activeGroups = 0;\n let teardownAttempted = false;\n const groupBySourceSubscriber = new OperatorSubscriber(subscriber, (value) => {\n try {\n const key = keySelector(value);\n let group = groups.get(key);\n if (!group) {\n groups.set(key, (group = connector ? connector() : new Subject()));\n const grouped = createGroupedObservable(key, group);\n subscriber.next(grouped);\n if (duration) {\n const durationSubscriber = createOperatorSubscriber(group, () => {\n group.complete();\n durationSubscriber === null || durationSubscriber === void 0 ? void 0 : durationSubscriber.unsubscribe();\n }, undefined, undefined, () => groups.delete(key));\n groupBySourceSubscriber.add(innerFrom(duration(grouped)).subscribe(durationSubscriber));\n }\n }\n group.next(element ? element(value) : value);\n }\n catch (err) {\n handleError(err);\n }\n }, () => notify((consumer) => consumer.complete()), handleError, () => groups.clear(), () => {\n teardownAttempted = true;\n return activeGroups === 0;\n });\n source.subscribe(groupBySourceSubscriber);\n function createGroupedObservable(key, groupSubject) {\n const result = new Observable((groupSubscriber) => {\n activeGroups++;\n const innerSub = groupSubject.subscribe(groupSubscriber);\n return () => {\n innerSub.unsubscribe();\n --activeGroups === 0 && teardownAttempted && groupBySourceSubscriber.unsubscribe();\n };\n });\n result.key = key;\n return result;\n }\n });\n}\n","import { operate } from '../util/lift';\nimport { createOperatorSubscriber } from './OperatorSubscriber';\nimport { noop } from '../util/noop';\nexport function ignoreElements() {\n return operate((source, subscriber) => {\n source.subscribe(createOperatorSubscriber(subscriber, noop));\n });\n}\n","import { EmptyError } from '../util/EmptyError';\nimport { filter } from './filter';\nimport { takeLast } from './takeLast';\nimport { throwIfEmpty } from './throwIfEmpty';\nimport { defaultIfEmpty } from './defaultIfEmpty';\nimport { identity } from '../util/identity';\nexport function last(predicate, defaultValue) {\n const hasDefaultValue = arguments.length >= 2;\n return (source) => source.pipe(predicate ? filter((v, i) => predicate(v, i, source)) : identity, takeLast(1), hasDefaultValue ? defaultIfEmpty(defaultValue) : throwIfEmpty(() => new EmptyError()));\n}\n","import { operate } from '../util/lift';\nimport { createOperatorSubscriber } from './OperatorSubscriber';\nexport function map(project, thisArg) {\n return operate((source, subscriber) => {\n let index = 0;\n source.subscribe(createOperatorSubscriber(subscriber, (value) => {\n subscriber.next(project.call(thisArg, value, index++));\n }));\n });\n}\n","import { map } from './map';\nexport function mapTo(value) {\n return map(() => value);\n}\n","import { Notification } from '../Notification';\nimport { operate } from '../util/lift';\nimport { createOperatorSubscriber } from './OperatorSubscriber';\nexport function materialize() {\n return operate((source, subscriber) => {\n source.subscribe(createOperatorSubscriber(subscriber, (value) => {\n subscriber.next(Notification.createNext(value));\n }, () => {\n subscriber.next(Notification.createComplete());\n subscriber.complete();\n }, (err) => {\n subscriber.next(Notification.createError(err));\n subscriber.complete();\n }));\n });\n}\n","import { mergeMap } from './mergeMap';\nimport { identity } from '../util/identity';\nexport function mergeAll(concurrent = Infinity) {\n return mergeMap(identity, concurrent);\n}\n","import { innerFrom } from '../observable/innerFrom';\nimport { executeSchedule } from '../util/executeSchedule';\nimport { createOperatorSubscriber } from './OperatorSubscriber';\nexport function mergeInternals(source, subscriber, project, concurrent, onBeforeNext, expand, innerSubScheduler, additionalFinalizer) {\n const buffer = [];\n let active = 0;\n let index = 0;\n let isComplete = false;\n const checkComplete = () => {\n if (isComplete && !buffer.length && !active) {\n subscriber.complete();\n }\n };\n const outerNext = (value) => (active < concurrent ? doInnerSub(value) : buffer.push(value));\n const doInnerSub = (value) => {\n expand && subscriber.next(value);\n active++;\n let innerComplete = false;\n innerFrom(project(value, index++)).subscribe(createOperatorSubscriber(subscriber, (innerValue) => {\n onBeforeNext === null || onBeforeNext === void 0 ? void 0 : onBeforeNext(innerValue);\n if (expand) {\n outerNext(innerValue);\n }\n else {\n subscriber.next(innerValue);\n }\n }, () => {\n innerComplete = true;\n }, undefined, () => {\n if (innerComplete) {\n try {\n active--;\n while (buffer.length && active < concurrent) {\n const bufferedValue = buffer.shift();\n if (innerSubScheduler) {\n executeSchedule(subscriber, innerSubScheduler, () => doInnerSub(bufferedValue));\n }\n else {\n doInnerSub(bufferedValue);\n }\n }\n checkComplete();\n }\n catch (err) {\n subscriber.error(err);\n }\n }\n }));\n };\n source.subscribe(createOperatorSubscriber(subscriber, outerNext, () => {\n isComplete = true;\n checkComplete();\n }));\n return () => {\n additionalFinalizer === null || additionalFinalizer === void 0 ? void 0 : additionalFinalizer();\n };\n}\n","import { map } from './map';\nimport { innerFrom } from '../observable/innerFrom';\nimport { operate } from '../util/lift';\nimport { mergeInternals } from './mergeInternals';\nimport { isFunction } from '../util/isFunction';\nexport function mergeMap(project, resultSelector, concurrent = Infinity) {\n if (isFunction(resultSelector)) {\n return mergeMap((a, i) => map((b, ii) => resultSelector(a, b, i, ii))(innerFrom(project(a, i))), concurrent);\n }\n else if (typeof resultSelector === 'number') {\n concurrent = resultSelector;\n }\n return operate((source, subscriber) => mergeInternals(source, subscriber, project, concurrent));\n}\n","import { executeSchedule } from '../util/executeSchedule';\nimport { operate } from '../util/lift';\nimport { createOperatorSubscriber } from './OperatorSubscriber';\nexport function observeOn(scheduler, delay = 0) {\n return operate((source, subscriber) => {\n source.subscribe(createOperatorSubscriber(subscriber, (value) => executeSchedule(subscriber, scheduler, () => subscriber.next(value), delay), () => executeSchedule(subscriber, scheduler, () => subscriber.complete(), delay), (err) => executeSchedule(subscriber, scheduler, () => subscriber.error(err), delay)));\n });\n}\n","import { operate } from '../util/lift';\nimport { createOperatorSubscriber } from './OperatorSubscriber';\nexport function pairwise() {\n return operate((source, subscriber) => {\n let prev;\n let hasPrev = false;\n source.subscribe(createOperatorSubscriber(subscriber, (value) => {\n const p = prev;\n prev = value;\n hasPrev && subscriber.next([p, value]);\n hasPrev = true;\n }));\n });\n}\n","import { map } from './map';\nexport function pluck(...properties) {\n const length = properties.length;\n if (length === 0) {\n throw new Error('list of properties cannot be empty.');\n }\n return map((x) => {\n let currentProp = x;\n for (let i = 0; i < length; i++) {\n const p = currentProp === null || currentProp === void 0 ? void 0 : currentProp[properties[i]];\n if (typeof p !== 'undefined') {\n currentProp = p;\n }\n else {\n return undefined;\n }\n }\n return currentProp;\n });\n}\n","import { operate } from '../util/lift';\nimport { createOperatorSubscriber } from './OperatorSubscriber';\nexport function refCount() {\n return operate((source, subscriber) => {\n let connection = null;\n source._refCount++;\n const refCounter = createOperatorSubscriber(subscriber, undefined, undefined, undefined, () => {\n if (!source || source._refCount <= 0 || 0 < --source._refCount) {\n connection = null;\n return;\n }\n const sharedConnection = source._connection;\n const conn = connection;\n connection = null;\n if (sharedConnection && (!conn || sharedConnection === conn)) {\n sharedConnection.unsubscribe();\n }\n subscriber.unsubscribe();\n });\n source.subscribe(refCounter);\n if (!refCounter.closed) {\n connection = source.connect();\n }\n });\n}\n","import { operate } from '../util/lift';\nimport { scanInternals } from './scanInternals';\nexport function scan(accumulator, seed) {\n return operate(scanInternals(accumulator, seed, arguments.length >= 2, true));\n}\n","import { createOperatorSubscriber } from './OperatorSubscriber';\nexport function scanInternals(accumulator, seed, hasSeed, emitOnNext, emitBeforeComplete) {\n return (source, subscriber) => {\n let hasState = hasSeed;\n let state = seed;\n let index = 0;\n source.subscribe(createOperatorSubscriber(subscriber, (value) => {\n const i = index++;\n state = hasState\n ?\n accumulator(state, value, i)\n :\n ((hasState = true), value);\n emitOnNext && subscriber.next(state);\n }, emitBeforeComplete &&\n (() => {\n hasState && subscriber.next(state);\n subscriber.complete();\n })));\n };\n}\n","import { innerFrom } from '../observable/innerFrom';\nimport { Subject } from '../Subject';\nimport { SafeSubscriber } from '../Subscriber';\nimport { operate } from '../util/lift';\nexport function share(options = {}) {\n const { connector = () => new Subject(), resetOnError = true, resetOnComplete = true, resetOnRefCountZero = true } = options;\n return (wrapperSource) => {\n let connection;\n let resetConnection;\n let subject;\n let refCount = 0;\n let hasCompleted = false;\n let hasErrored = false;\n const cancelReset = () => {\n resetConnection === null || resetConnection === void 0 ? void 0 : resetConnection.unsubscribe();\n resetConnection = undefined;\n };\n const reset = () => {\n cancelReset();\n connection = subject = undefined;\n hasCompleted = hasErrored = false;\n };\n const resetAndUnsubscribe = () => {\n const conn = connection;\n reset();\n conn === null || conn === void 0 ? void 0 : conn.unsubscribe();\n };\n return operate((source, subscriber) => {\n refCount++;\n if (!hasErrored && !hasCompleted) {\n cancelReset();\n }\n const dest = (subject = subject !== null && subject !== void 0 ? subject : connector());\n subscriber.add(() => {\n refCount--;\n if (refCount === 0 && !hasErrored && !hasCompleted) {\n resetConnection = handleReset(resetAndUnsubscribe, resetOnRefCountZero);\n }\n });\n dest.subscribe(subscriber);\n if (!connection &&\n refCount > 0) {\n connection = new SafeSubscriber({\n next: (value) => dest.next(value),\n error: (err) => {\n hasErrored = true;\n cancelReset();\n resetConnection = handleReset(reset, resetOnError, err);\n dest.error(err);\n },\n complete: () => {\n hasCompleted = true;\n cancelReset();\n resetConnection = handleReset(reset, resetOnComplete);\n dest.complete();\n },\n });\n innerFrom(source).subscribe(connection);\n }\n })(wrapperSource);\n };\n}\nfunction handleReset(reset, on, ...args) {\n if (on === true) {\n reset();\n return;\n }\n if (on === false) {\n return;\n }\n const onSubscriber = new SafeSubscriber({\n next: () => {\n onSubscriber.unsubscribe();\n reset();\n },\n });\n return on(...args).subscribe(onSubscriber);\n}\n","import { ReplaySubject } from '../ReplaySubject';\nimport { share } from './share';\nexport function shareReplay(configOrBufferSize, windowTime, scheduler) {\n let bufferSize;\n let refCount = false;\n if (configOrBufferSize && typeof configOrBufferSize === 'object') {\n ({ bufferSize = Infinity, windowTime = Infinity, refCount = false, scheduler } = configOrBufferSize);\n }\n else {\n bufferSize = (configOrBufferSize !== null && configOrBufferSize !== void 0 ? configOrBufferSize : Infinity);\n }\n return share({\n connector: () => new ReplaySubject(bufferSize, windowTime, scheduler),\n resetOnError: true,\n resetOnComplete: false,\n resetOnRefCountZero: refCount,\n });\n}\n","import { filter } from './filter';\nexport function skip(count) {\n return filter((_, index) => count <= index);\n}\n","import { concat } from '../observable/concat';\nimport { popScheduler } from '../util/args';\nimport { operate } from '../util/lift';\nexport function startWith(...values) {\n const scheduler = popScheduler(values);\n return operate((source, subscriber) => {\n (scheduler ? concat(values, source, scheduler) : concat(values, source)).subscribe(subscriber);\n });\n}\n","import { operate } from '../util/lift';\nexport function subscribeOn(scheduler, delay = 0) {\n return operate((source, subscriber) => {\n subscriber.add(scheduler.schedule(() => source.subscribe(subscriber), delay));\n });\n}\n","import { innerFrom } from '../observable/innerFrom';\nimport { operate } from '../util/lift';\nimport { createOperatorSubscriber } from './OperatorSubscriber';\nexport function switchMap(project, resultSelector) {\n return operate((source, subscriber) => {\n let innerSubscriber = null;\n let index = 0;\n let isComplete = false;\n const checkComplete = () => isComplete && !innerSubscriber && subscriber.complete();\n source.subscribe(createOperatorSubscriber(subscriber, (value) => {\n innerSubscriber === null || innerSubscriber === void 0 ? void 0 : innerSubscriber.unsubscribe();\n let innerIndex = 0;\n const outerIndex = index++;\n innerFrom(project(value, outerIndex)).subscribe((innerSubscriber = createOperatorSubscriber(subscriber, (innerValue) => subscriber.next(resultSelector ? resultSelector(value, innerValue, outerIndex, innerIndex++) : innerValue), () => {\n innerSubscriber = null;\n checkComplete();\n })));\n }, () => {\n isComplete = true;\n checkComplete();\n }));\n });\n}\n","import { EMPTY } from '../observable/empty';\nimport { operate } from '../util/lift';\nimport { createOperatorSubscriber } from './OperatorSubscriber';\nexport function take(count) {\n return count <= 0\n ?\n () => EMPTY\n : operate((source, subscriber) => {\n let seen = 0;\n source.subscribe(createOperatorSubscriber(subscriber, (value) => {\n if (++seen <= count) {\n subscriber.next(value);\n if (count <= seen) {\n subscriber.complete();\n }\n }\n }));\n });\n}\n","import { EMPTY } from '../observable/empty';\nimport { operate } from '../util/lift';\nimport { createOperatorSubscriber } from './OperatorSubscriber';\nexport function takeLast(count) {\n return count <= 0\n ? () => EMPTY\n : operate((source, subscriber) => {\n let buffer = [];\n source.subscribe(createOperatorSubscriber(subscriber, (value) => {\n buffer.push(value);\n count < buffer.length && buffer.shift();\n }, () => {\n for (const value of buffer) {\n subscriber.next(value);\n }\n subscriber.complete();\n }, undefined, () => {\n buffer = null;\n }));\n });\n}\n","import { operate } from '../util/lift';\nimport { createOperatorSubscriber } from './OperatorSubscriber';\nimport { innerFrom } from '../observable/innerFrom';\nimport { noop } from '../util/noop';\nexport function takeUntil(notifier) {\n return operate((source, subscriber) => {\n innerFrom(notifier).subscribe(createOperatorSubscriber(subscriber, () => subscriber.complete(), noop));\n !subscriber.closed && source.subscribe(subscriber);\n });\n}\n","import { operate } from '../util/lift';\nimport { createOperatorSubscriber } from './OperatorSubscriber';\nexport function takeWhile(predicate, inclusive = false) {\n return operate((source, subscriber) => {\n let index = 0;\n source.subscribe(createOperatorSubscriber(subscriber, (value) => {\n const result = predicate(value, index++);\n (result || inclusive) && subscriber.next(value);\n !result && subscriber.complete();\n }));\n });\n}\n","import { isFunction } from '../util/isFunction';\nimport { operate } from '../util/lift';\nimport { createOperatorSubscriber } from './OperatorSubscriber';\nimport { identity } from '../util/identity';\nexport function tap(observerOrNext, error, complete) {\n const tapObserver = isFunction(observerOrNext) || error || complete\n ?\n { next: observerOrNext, error, complete }\n : observerOrNext;\n return tapObserver\n ? operate((source, subscriber) => {\n var _a;\n (_a = tapObserver.subscribe) === null || _a === void 0 ? void 0 : _a.call(tapObserver);\n let isUnsub = true;\n source.subscribe(createOperatorSubscriber(subscriber, (value) => {\n var _a;\n (_a = tapObserver.next) === null || _a === void 0 ? void 0 : _a.call(tapObserver, value);\n subscriber.next(value);\n }, () => {\n var _a;\n isUnsub = false;\n (_a = tapObserver.complete) === null || _a === void 0 ? void 0 : _a.call(tapObserver);\n subscriber.complete();\n }, (err) => {\n var _a;\n isUnsub = false;\n (_a = tapObserver.error) === null || _a === void 0 ? void 0 : _a.call(tapObserver, err);\n subscriber.error(err);\n }, () => {\n var _a, _b;\n if (isUnsub) {\n (_a = tapObserver.unsubscribe) === null || _a === void 0 ? void 0 : _a.call(tapObserver);\n }\n (_b = tapObserver.finalize) === null || _b === void 0 ? void 0 : _b.call(tapObserver);\n }));\n })\n :\n identity;\n}\n","import { EmptyError } from '../util/EmptyError';\nimport { operate } from '../util/lift';\nimport { createOperatorSubscriber } from './OperatorSubscriber';\nexport function throwIfEmpty(errorFactory = defaultErrorFactory) {\n return operate((source, subscriber) => {\n let hasValue = false;\n source.subscribe(createOperatorSubscriber(subscriber, (value) => {\n hasValue = true;\n subscriber.next(value);\n }, () => (hasValue ? subscriber.complete() : subscriber.error(errorFactory()))));\n });\n}\nfunction defaultErrorFactory() {\n return new EmptyError();\n}\n","import { asyncScheduler } from '../scheduler/async';\nimport { operate } from '../util/lift';\nimport { createOperatorSubscriber } from './OperatorSubscriber';\nexport function timeInterval(scheduler = asyncScheduler) {\n return operate((source, subscriber) => {\n let last = scheduler.now();\n source.subscribe(createOperatorSubscriber(subscriber, (value) => {\n const now = scheduler.now();\n const interval = now - last;\n last = now;\n subscriber.next(new TimeInterval(value, interval));\n }));\n });\n}\nexport class TimeInterval {\n constructor(value, interval) {\n this.value = value;\n this.interval = interval;\n }\n}\n","import { asyncScheduler } from '../scheduler/async';\nimport { isValidDate } from '../util/isDate';\nimport { operate } from '../util/lift';\nimport { innerFrom } from '../observable/innerFrom';\nimport { createErrorClass } from '../util/createErrorClass';\nimport { createOperatorSubscriber } from './OperatorSubscriber';\nimport { executeSchedule } from '../util/executeSchedule';\nexport const TimeoutError = createErrorClass((_super) => function TimeoutErrorImpl(info = null) {\n _super(this);\n this.message = 'Timeout has occurred';\n this.name = 'TimeoutError';\n this.info = info;\n});\nexport function timeout(config, schedulerArg) {\n const { first, each, with: _with = timeoutErrorFactory, scheduler = schedulerArg !== null && schedulerArg !== void 0 ? schedulerArg : asyncScheduler, meta = null, } = (isValidDate(config) ? { first: config } : typeof config === 'number' ? { each: config } : config);\n if (first == null && each == null) {\n throw new TypeError('No timeout provided.');\n }\n return operate((source, subscriber) => {\n let originalSourceSubscription;\n let timerSubscription;\n let lastValue = null;\n let seen = 0;\n const startTimer = (delay) => {\n timerSubscription = executeSchedule(subscriber, scheduler, () => {\n try {\n originalSourceSubscription.unsubscribe();\n innerFrom(_with({\n meta,\n lastValue,\n seen,\n })).subscribe(subscriber);\n }\n catch (err) {\n subscriber.error(err);\n }\n }, delay);\n };\n originalSourceSubscription = source.subscribe(createOperatorSubscriber(subscriber, (value) => {\n timerSubscription === null || timerSubscription === void 0 ? void 0 : timerSubscription.unsubscribe();\n seen++;\n subscriber.next((lastValue = value));\n each > 0 && startTimer(each);\n }, undefined, undefined, () => {\n if (!(timerSubscription === null || timerSubscription === void 0 ? void 0 : timerSubscription.closed)) {\n timerSubscription === null || timerSubscription === void 0 ? void 0 : timerSubscription.unsubscribe();\n }\n lastValue = null;\n }));\n !seen && startTimer(first != null ? (typeof first === 'number' ? first : +first - scheduler.now()) : each);\n });\n}\nfunction timeoutErrorFactory(info) {\n throw new TimeoutError(info);\n}\n","import { operate } from '../util/lift';\nimport { createOperatorSubscriber } from './OperatorSubscriber';\nimport { innerFrom } from '../observable/innerFrom';\nimport { identity } from '../util/identity';\nimport { noop } from '../util/noop';\nimport { popResultSelector } from '../util/args';\nexport function withLatestFrom(...inputs) {\n const project = popResultSelector(inputs);\n return operate((source, subscriber) => {\n const len = inputs.length;\n const otherValues = new Array(len);\n let hasValue = inputs.map(() => false);\n let ready = false;\n for (let i = 0; i < len; i++) {\n innerFrom(inputs[i]).subscribe(createOperatorSubscriber(subscriber, (value) => {\n otherValues[i] = value;\n if (!ready && !hasValue[i]) {\n hasValue[i] = true;\n (ready = hasValue.every(identity)) && (hasValue = null);\n }\n }, noop));\n }\n source.subscribe(createOperatorSubscriber(subscriber, (value) => {\n if (ready) {\n const values = [value, ...otherValues];\n subscriber.next(project ? project(...values) : values);\n }\n }));\n });\n}\n","import { Observable } from '../Observable';\nexport function scheduleArray(input, scheduler) {\n return new Observable((subscriber) => {\n let i = 0;\n return scheduler.schedule(function () {\n if (i === input.length) {\n subscriber.complete();\n }\n else {\n subscriber.next(input[i++]);\n if (!subscriber.closed) {\n this.schedule();\n }\n }\n });\n });\n}\n","import { Observable } from '../Observable';\nimport { executeSchedule } from '../util/executeSchedule';\nexport function scheduleAsyncIterable(input, scheduler) {\n if (!input) {\n throw new Error('Iterable cannot be null');\n }\n return new Observable((subscriber) => {\n executeSchedule(subscriber, scheduler, () => {\n const iterator = input[Symbol.asyncIterator]();\n executeSchedule(subscriber, scheduler, () => {\n iterator.next().then((result) => {\n if (result.done) {\n subscriber.complete();\n }\n else {\n subscriber.next(result.value);\n }\n });\n }, 0, true);\n });\n });\n}\n","import { Observable } from '../Observable';\nimport { iterator as Symbol_iterator } from '../symbol/iterator';\nimport { isFunction } from '../util/isFunction';\nimport { executeSchedule } from '../util/executeSchedule';\nexport function scheduleIterable(input, scheduler) {\n return new Observable((subscriber) => {\n let iterator;\n executeSchedule(subscriber, scheduler, () => {\n iterator = input[Symbol_iterator]();\n executeSchedule(subscriber, scheduler, () => {\n let value;\n let done;\n try {\n ({ value, done } = iterator.next());\n }\n catch (err) {\n subscriber.error(err);\n return;\n }\n if (done) {\n subscriber.complete();\n }\n else {\n subscriber.next(value);\n }\n }, 0, true);\n });\n return () => isFunction(iterator === null || iterator === void 0 ? void 0 : iterator.return) && iterator.return();\n });\n}\n","import { innerFrom } from '../observable/innerFrom';\nimport { observeOn } from '../operators/observeOn';\nimport { subscribeOn } from '../operators/subscribeOn';\nexport function scheduleObservable(input, scheduler) {\n return innerFrom(input).pipe(subscribeOn(scheduler), observeOn(scheduler));\n}\n","import { innerFrom } from '../observable/innerFrom';\nimport { observeOn } from '../operators/observeOn';\nimport { subscribeOn } from '../operators/subscribeOn';\nexport function schedulePromise(input, scheduler) {\n return innerFrom(input).pipe(subscribeOn(scheduler), observeOn(scheduler));\n}\n","import { scheduleAsyncIterable } from './scheduleAsyncIterable';\nimport { readableStreamLikeToAsyncGenerator } from '../util/isReadableStreamLike';\nexport function scheduleReadableStreamLike(input, scheduler) {\n return scheduleAsyncIterable(readableStreamLikeToAsyncGenerator(input), scheduler);\n}\n","import { scheduleObservable } from './scheduleObservable';\nimport { schedulePromise } from './schedulePromise';\nimport { scheduleArray } from './scheduleArray';\nimport { scheduleIterable } from './scheduleIterable';\nimport { scheduleAsyncIterable } from './scheduleAsyncIterable';\nimport { isInteropObservable } from '../util/isInteropObservable';\nimport { isPromise } from '../util/isPromise';\nimport { isArrayLike } from '../util/isArrayLike';\nimport { isIterable } from '../util/isIterable';\nimport { isAsyncIterable } from '../util/isAsyncIterable';\nimport { createInvalidObservableTypeError } from '../util/throwUnobservableError';\nimport { isReadableStreamLike } from '../util/isReadableStreamLike';\nimport { scheduleReadableStreamLike } from './scheduleReadableStreamLike';\nexport function scheduled(input, scheduler) {\n if (input != null) {\n if (isInteropObservable(input)) {\n return scheduleObservable(input, scheduler);\n }\n if (isArrayLike(input)) {\n return scheduleArray(input, scheduler);\n }\n if (isPromise(input)) {\n return schedulePromise(input, scheduler);\n }\n if (isAsyncIterable(input)) {\n return scheduleAsyncIterable(input, scheduler);\n }\n if (isIterable(input)) {\n return scheduleIterable(input, scheduler);\n }\n if (isReadableStreamLike(input)) {\n return scheduleReadableStreamLike(input, scheduler);\n }\n }\n throw createInvalidObservableTypeError(input);\n}\n","import { Subscription } from '../Subscription';\nexport class Action extends Subscription {\n constructor(scheduler, work) {\n super();\n }\n schedule(state, delay = 0) {\n return this;\n }\n}\n","import { AsyncAction } from './AsyncAction';\nimport { animationFrameProvider } from './animationFrameProvider';\nexport class AnimationFrameAction extends AsyncAction {\n constructor(scheduler, work) {\n super(scheduler, work);\n this.scheduler = scheduler;\n this.work = work;\n }\n requestAsyncId(scheduler, id, delay = 0) {\n if (delay !== null && delay > 0) {\n return super.requestAsyncId(scheduler, id, delay);\n }\n scheduler.actions.push(this);\n return scheduler._scheduled || (scheduler._scheduled = animationFrameProvider.requestAnimationFrame(() => scheduler.flush(undefined)));\n }\n recycleAsyncId(scheduler, id, delay = 0) {\n var _a;\n if (delay != null ? delay > 0 : this.delay > 0) {\n return super.recycleAsyncId(scheduler, id, delay);\n }\n const { actions } = scheduler;\n if (id != null && ((_a = actions[actions.length - 1]) === null || _a === void 0 ? void 0 : _a.id) !== id) {\n animationFrameProvider.cancelAnimationFrame(id);\n scheduler._scheduled = undefined;\n }\n return undefined;\n }\n}\n","import { AsyncScheduler } from './AsyncScheduler';\nexport class AnimationFrameScheduler extends AsyncScheduler {\n flush(action) {\n this._active = true;\n const flushId = this._scheduled;\n this._scheduled = undefined;\n const { actions } = this;\n let error;\n action = action || actions.shift();\n do {\n if ((error = action.execute(action.state, action.delay))) {\n break;\n }\n } while ((action = actions[0]) && action.id === flushId && actions.shift());\n this._active = false;\n if (error) {\n while ((action = actions[0]) && action.id === flushId && actions.shift()) {\n action.unsubscribe();\n }\n throw error;\n }\n }\n}\n","import { AsyncAction } from './AsyncAction';\nimport { immediateProvider } from './immediateProvider';\nexport class AsapAction extends AsyncAction {\n constructor(scheduler, work) {\n super(scheduler, work);\n this.scheduler = scheduler;\n this.work = work;\n }\n requestAsyncId(scheduler, id, delay = 0) {\n if (delay !== null && delay > 0) {\n return super.requestAsyncId(scheduler, id, delay);\n }\n scheduler.actions.push(this);\n return scheduler._scheduled || (scheduler._scheduled = immediateProvider.setImmediate(scheduler.flush.bind(scheduler, undefined)));\n }\n recycleAsyncId(scheduler, id, delay = 0) {\n var _a;\n if (delay != null ? delay > 0 : this.delay > 0) {\n return super.recycleAsyncId(scheduler, id, delay);\n }\n const { actions } = scheduler;\n if (id != null && ((_a = actions[actions.length - 1]) === null || _a === void 0 ? void 0 : _a.id) !== id) {\n immediateProvider.clearImmediate(id);\n scheduler._scheduled = undefined;\n }\n return undefined;\n }\n}\n","import { AsyncScheduler } from './AsyncScheduler';\nexport class AsapScheduler extends AsyncScheduler {\n flush(action) {\n this._active = true;\n const flushId = this._scheduled;\n this._scheduled = undefined;\n const { actions } = this;\n let error;\n action = action || actions.shift();\n do {\n if ((error = action.execute(action.state, action.delay))) {\n break;\n }\n } while ((action = actions[0]) && action.id === flushId && actions.shift());\n this._active = false;\n if (error) {\n while ((action = actions[0]) && action.id === flushId && actions.shift()) {\n action.unsubscribe();\n }\n throw error;\n }\n }\n}\n","import { Action } from './Action';\nimport { intervalProvider } from './intervalProvider';\nimport { arrRemove } from '../util/arrRemove';\nexport class AsyncAction extends Action {\n constructor(scheduler, work) {\n super(scheduler, work);\n this.scheduler = scheduler;\n this.work = work;\n this.pending = false;\n }\n schedule(state, delay = 0) {\n var _a;\n if (this.closed) {\n return this;\n }\n this.state = state;\n const id = this.id;\n const scheduler = this.scheduler;\n if (id != null) {\n this.id = this.recycleAsyncId(scheduler, id, delay);\n }\n this.pending = true;\n this.delay = delay;\n this.id = (_a = this.id) !== null && _a !== void 0 ? _a : this.requestAsyncId(scheduler, this.id, delay);\n return this;\n }\n requestAsyncId(scheduler, _id, delay = 0) {\n return intervalProvider.setInterval(scheduler.flush.bind(scheduler, this), delay);\n }\n recycleAsyncId(_scheduler, id, delay = 0) {\n if (delay != null && this.delay === delay && this.pending === false) {\n return id;\n }\n if (id != null) {\n intervalProvider.clearInterval(id);\n }\n return undefined;\n }\n execute(state, delay) {\n if (this.closed) {\n return new Error('executing a cancelled action');\n }\n this.pending = false;\n const error = this._execute(state, delay);\n if (error) {\n return error;\n }\n else if (this.pending === false && this.id != null) {\n this.id = this.recycleAsyncId(this.scheduler, this.id, null);\n }\n }\n _execute(state, _delay) {\n let errored = false;\n let errorValue;\n try {\n this.work(state);\n }\n catch (e) {\n errored = true;\n errorValue = e ? e : new Error('Scheduled action threw falsy error');\n }\n if (errored) {\n this.unsubscribe();\n return errorValue;\n }\n }\n unsubscribe() {\n if (!this.closed) {\n const { id, scheduler } = this;\n const { actions } = scheduler;\n this.work = this.state = this.scheduler = null;\n this.pending = false;\n arrRemove(actions, this);\n if (id != null) {\n this.id = this.recycleAsyncId(scheduler, id, null);\n }\n this.delay = null;\n super.unsubscribe();\n }\n }\n}\n","import { Scheduler } from '../Scheduler';\nexport class AsyncScheduler extends Scheduler {\n constructor(SchedulerAction, now = Scheduler.now) {\n super(SchedulerAction, now);\n this.actions = [];\n this._active = false;\n }\n flush(action) {\n const { actions } = this;\n if (this._active) {\n actions.push(action);\n return;\n }\n let error;\n this._active = true;\n do {\n if ((error = action.execute(action.state, action.delay))) {\n break;\n }\n } while ((action = actions.shift()));\n this._active = false;\n if (error) {\n while ((action = actions.shift())) {\n action.unsubscribe();\n }\n throw error;\n }\n }\n}\n","import { AsyncAction } from './AsyncAction';\nexport class QueueAction extends AsyncAction {\n constructor(scheduler, work) {\n super(scheduler, work);\n this.scheduler = scheduler;\n this.work = work;\n }\n schedule(state, delay = 0) {\n if (delay > 0) {\n return super.schedule(state, delay);\n }\n this.delay = delay;\n this.state = state;\n this.scheduler.flush(this);\n return this;\n }\n execute(state, delay) {\n return delay > 0 || this.closed ? super.execute(state, delay) : this._execute(state, delay);\n }\n requestAsyncId(scheduler, id, delay = 0) {\n if ((delay != null && delay > 0) || (delay == null && this.delay > 0)) {\n return super.requestAsyncId(scheduler, id, delay);\n }\n scheduler.flush(this);\n return 0;\n }\n}\n","import { AsyncScheduler } from './AsyncScheduler';\nexport class QueueScheduler extends AsyncScheduler {\n}\n","import { AnimationFrameAction } from './AnimationFrameAction';\nimport { AnimationFrameScheduler } from './AnimationFrameScheduler';\nexport const animationFrameScheduler = new AnimationFrameScheduler(AnimationFrameAction);\nexport const animationFrame = animationFrameScheduler;\n","import { Subscription } from '../Subscription';\nexport const animationFrameProvider = {\n schedule(callback) {\n let request = requestAnimationFrame;\n let cancel = cancelAnimationFrame;\n const { delegate } = animationFrameProvider;\n if (delegate) {\n request = delegate.requestAnimationFrame;\n cancel = delegate.cancelAnimationFrame;\n }\n const handle = request((timestamp) => {\n cancel = undefined;\n callback(timestamp);\n });\n return new Subscription(() => cancel === null || cancel === void 0 ? void 0 : cancel(handle));\n },\n requestAnimationFrame(...args) {\n const { delegate } = animationFrameProvider;\n return ((delegate === null || delegate === void 0 ? void 0 : delegate.requestAnimationFrame) || requestAnimationFrame)(...args);\n },\n cancelAnimationFrame(...args) {\n const { delegate } = animationFrameProvider;\n return ((delegate === null || delegate === void 0 ? void 0 : delegate.cancelAnimationFrame) || cancelAnimationFrame)(...args);\n },\n delegate: undefined,\n};\n","import { AsapAction } from './AsapAction';\nimport { AsapScheduler } from './AsapScheduler';\nexport const asapScheduler = new AsapScheduler(AsapAction);\nexport const asap = asapScheduler;\n","import { AsyncAction } from './AsyncAction';\nimport { AsyncScheduler } from './AsyncScheduler';\nexport const asyncScheduler = new AsyncScheduler(AsyncAction);\nexport const async = asyncScheduler;\n","export const dateTimestampProvider = {\n now() {\n return (dateTimestampProvider.delegate || Date).now();\n },\n delegate: undefined,\n};\n","import { Immediate } from '../util/Immediate';\nconst { setImmediate, clearImmediate } = Immediate;\nexport const immediateProvider = {\n setImmediate(...args) {\n const { delegate } = immediateProvider;\n return ((delegate === null || delegate === void 0 ? void 0 : delegate.setImmediate) || setImmediate)(...args);\n },\n clearImmediate(handle) {\n const { delegate } = immediateProvider;\n return ((delegate === null || delegate === void 0 ? void 0 : delegate.clearImmediate) || clearImmediate)(handle);\n },\n delegate: undefined,\n};\n","export const intervalProvider = {\n setInterval(handler, timeout, ...args) {\n const { delegate } = intervalProvider;\n if (delegate === null || delegate === void 0 ? void 0 : delegate.setInterval) {\n return delegate.setInterval(handler, timeout, ...args);\n }\n return setInterval(handler, timeout, ...args);\n },\n clearInterval(handle) {\n const { delegate } = intervalProvider;\n return ((delegate === null || delegate === void 0 ? void 0 : delegate.clearInterval) || clearInterval)(handle);\n },\n delegate: undefined,\n};\n","import { QueueAction } from './QueueAction';\nimport { QueueScheduler } from './QueueScheduler';\nexport const queueScheduler = new QueueScheduler(QueueAction);\nexport const queue = queueScheduler;\n","export const timeoutProvider = {\n setTimeout(handler, timeout, ...args) {\n const { delegate } = timeoutProvider;\n if (delegate === null || delegate === void 0 ? void 0 : delegate.setTimeout) {\n return delegate.setTimeout(handler, timeout, ...args);\n }\n return setTimeout(handler, timeout, ...args);\n },\n clearTimeout(handle) {\n const { delegate } = timeoutProvider;\n return ((delegate === null || delegate === void 0 ? void 0 : delegate.clearTimeout) || clearTimeout)(handle);\n },\n delegate: undefined,\n};\n","export function getSymbolIterator() {\n if (typeof Symbol !== 'function' || !Symbol.iterator) {\n return '@@iterator';\n }\n return Symbol.iterator;\n}\nexport const iterator = getSymbolIterator();\n","export const observable = (() => (typeof Symbol === 'function' && Symbol.observable) || '@@observable')();\n","import { createErrorClass } from './createErrorClass';\nexport const EmptyError = createErrorClass((_super) => function EmptyErrorImpl() {\n _super(this);\n this.name = 'EmptyError';\n this.message = 'no elements in sequence';\n});\n","let nextHandle = 1;\nlet resolved;\nconst activeHandles = {};\nfunction findAndClearHandle(handle) {\n if (handle in activeHandles) {\n delete activeHandles[handle];\n return true;\n }\n return false;\n}\nexport const Immediate = {\n setImmediate(cb) {\n const handle = nextHandle++;\n activeHandles[handle] = true;\n if (!resolved) {\n resolved = Promise.resolve();\n }\n resolved.then(() => findAndClearHandle(handle) && cb());\n return handle;\n },\n clearImmediate(handle) {\n findAndClearHandle(handle);\n },\n};\nexport const TestTools = {\n pending() {\n return Object.keys(activeHandles).length;\n }\n};\n","import { createErrorClass } from './createErrorClass';\nexport const ObjectUnsubscribedError = createErrorClass((_super) => function ObjectUnsubscribedErrorImpl() {\n _super(this);\n this.name = 'ObjectUnsubscribedError';\n this.message = 'object unsubscribed';\n});\n","import { createErrorClass } from './createErrorClass';\nexport const UnsubscriptionError = createErrorClass((_super) => function UnsubscriptionErrorImpl(errors) {\n _super(this);\n this.message = errors\n ? `${errors.length} errors occurred during unsubscription:\n${errors.map((err, i) => `${i + 1}) ${err.toString()}`).join('\\n ')}`\n : '';\n this.name = 'UnsubscriptionError';\n this.errors = errors;\n});\n","import { isFunction } from './isFunction';\nimport { isScheduler } from './isScheduler';\nfunction last(arr) {\n return arr[arr.length - 1];\n}\nexport function popResultSelector(args) {\n return isFunction(last(args)) ? args.pop() : undefined;\n}\nexport function popScheduler(args) {\n return isScheduler(last(args)) ? args.pop() : undefined;\n}\nexport function popNumber(args, defaultValue) {\n return typeof last(args) === 'number' ? args.pop() : defaultValue;\n}\n","const { isArray } = Array;\nconst { getPrototypeOf, prototype: objectProto, keys: getKeys } = Object;\nexport function argsArgArrayOrObject(args) {\n if (args.length === 1) {\n const first = args[0];\n if (isArray(first)) {\n return { args: first, keys: null };\n }\n if (isPOJO(first)) {\n const keys = getKeys(first);\n return {\n args: keys.map((key) => first[key]),\n keys,\n };\n }\n }\n return { args: args, keys: null };\n}\nfunction isPOJO(obj) {\n return obj && typeof obj === 'object' && getPrototypeOf(obj) === objectProto;\n}\n","const { isArray } = Array;\nexport function argsOrArgArray(args) {\n return args.length === 1 && isArray(args[0]) ? args[0] : args;\n}\n","export function arrRemove(arr, item) {\n if (arr) {\n const index = arr.indexOf(item);\n 0 <= index && arr.splice(index, 1);\n }\n}\n","export function createErrorClass(createImpl) {\n const _super = (instance) => {\n Error.call(instance);\n instance.stack = new Error().stack;\n };\n const ctorFunc = createImpl(_super);\n ctorFunc.prototype = Object.create(Error.prototype);\n ctorFunc.prototype.constructor = ctorFunc;\n return ctorFunc;\n}\n","export function createObject(keys, values) {\n return keys.reduce((result, key, i) => ((result[key] = values[i]), result), {});\n}\n","import { config } from '../config';\nlet context = null;\nexport function errorContext(cb) {\n if (config.useDeprecatedSynchronousErrorHandling) {\n const isRoot = !context;\n if (isRoot) {\n context = { errorThrown: false, error: null };\n }\n cb();\n if (isRoot) {\n const { errorThrown, error } = context;\n context = null;\n if (errorThrown) {\n throw error;\n }\n }\n }\n else {\n cb();\n }\n}\nexport function captureError(err) {\n if (config.useDeprecatedSynchronousErrorHandling && context) {\n context.errorThrown = true;\n context.error = err;\n }\n}\n","export function executeSchedule(parentSubscription, scheduler, work, delay = 0, repeat = false) {\n const scheduleSubscription = scheduler.schedule(function () {\n work();\n if (repeat) {\n parentSubscription.add(this.schedule(null, delay));\n }\n else {\n this.unsubscribe();\n }\n }, delay);\n parentSubscription.add(scheduleSubscription);\n if (!repeat) {\n return scheduleSubscription;\n }\n}\n","export function identity(x) {\n return x;\n}\n","export const isArrayLike = ((x) => x && typeof x.length === 'number' && typeof x !== 'function');\n","import { isFunction } from './isFunction';\nexport function isAsyncIterable(obj) {\n return Symbol.asyncIterator && isFunction(obj === null || obj === void 0 ? void 0 : obj[Symbol.asyncIterator]);\n}\n","export function isValidDate(value) {\n return value instanceof Date && !isNaN(value);\n}\n","export function isFunction(value) {\n return typeof value === 'function';\n}\n","import { observable as Symbol_observable } from '../symbol/observable';\nimport { isFunction } from './isFunction';\nexport function isInteropObservable(input) {\n return isFunction(input[Symbol_observable]);\n}\n","import { iterator as Symbol_iterator } from '../symbol/iterator';\nimport { isFunction } from './isFunction';\nexport function isIterable(input) {\n return isFunction(input === null || input === void 0 ? void 0 : input[Symbol_iterator]);\n}\n","import { Observable } from '../Observable';\nimport { isFunction } from './isFunction';\nexport function isObservable(obj) {\n return !!obj && (obj instanceof Observable || (isFunction(obj.lift) && isFunction(obj.subscribe)));\n}\n","import { isFunction } from \"./isFunction\";\nexport function isPromise(value) {\n return isFunction(value === null || value === void 0 ? void 0 : value.then);\n}\n","import { __asyncGenerator, __await } from \"tslib\";\nimport { isFunction } from './isFunction';\nexport function readableStreamLikeToAsyncGenerator(readableStream) {\n return __asyncGenerator(this, arguments, function* readableStreamLikeToAsyncGenerator_1() {\n const reader = readableStream.getReader();\n try {\n while (true) {\n const { value, done } = yield __await(reader.read());\n if (done) {\n return yield __await(void 0);\n }\n yield yield __await(value);\n }\n }\n finally {\n reader.releaseLock();\n }\n });\n}\nexport function isReadableStreamLike(obj) {\n return isFunction(obj === null || obj === void 0 ? void 0 : obj.getReader);\n}\n","import { isFunction } from './isFunction';\nexport function isScheduler(value) {\n return value && isFunction(value.schedule);\n}\n","import { isFunction } from './isFunction';\nexport function hasLift(source) {\n return isFunction(source === null || source === void 0 ? void 0 : source.lift);\n}\nexport function operate(init) {\n return (source) => {\n if (hasLift(source)) {\n return source.lift(function (liftedSource) {\n try {\n return init(liftedSource, this);\n }\n catch (err) {\n this.error(err);\n }\n });\n }\n throw new TypeError('Unable to lift unknown Observable type');\n };\n}\n","import { map } from \"../operators/map\";\nconst { isArray } = Array;\nfunction callOrApply(fn, args) {\n return isArray(args) ? fn(...args) : fn(args);\n}\nexport function mapOneOrManyArgs(fn) {\n return map(args => callOrApply(fn, args));\n}\n","export function noop() { }\n","import { identity } from './identity';\nexport function pipe(...fns) {\n return pipeFromArray(fns);\n}\nexport function pipeFromArray(fns) {\n if (fns.length === 0) {\n return identity;\n }\n if (fns.length === 1) {\n return fns[0];\n }\n return function piped(input) {\n return fns.reduce((prev, fn) => fn(prev), input);\n };\n}\n","import { config } from '../config';\nimport { timeoutProvider } from '../scheduler/timeoutProvider';\nexport function reportUnhandledError(err) {\n timeoutProvider.setTimeout(() => {\n const { onUnhandledError } = config;\n if (onUnhandledError) {\n onUnhandledError(err);\n }\n else {\n throw err;\n }\n });\n}\n","export function createInvalidObservableTypeError(input) {\n return new TypeError(`You provided ${input !== null && typeof input === 'object' ? 'an invalid object' : `'${input}'`} where a stream was expected. You can provide an Observable, Promise, ReadableStream, Array, AsyncIterable, or Iterable.`);\n}\n","!function(e,r){\"object\"==typeof exports&&\"object\"==typeof module?module.exports=r():\"function\"==typeof define&&define.amd?define([],r):\"object\"==typeof exports?exports.textMaskCore=r():e.textMaskCore=r()}(this,function(){return function(e){function r(n){if(t[n])return t[n].exports;var o=t[n]={exports:{},id:n,loaded:!1};return e[n].call(o.exports,o,o.exports,r),o.loaded=!0,o.exports}var t={};return r.m=e,r.c=t,r.p=\"\",r(0)}([function(e,r,t){\"use strict\";function n(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(r,\"__esModule\",{value:!0});var o=t(3);Object.defineProperty(r,\"conformToMask\",{enumerable:!0,get:function(){return n(o).default}});var i=t(2);Object.defineProperty(r,\"adjustCaretPosition\",{enumerable:!0,get:function(){return n(i).default}});var a=t(5);Object.defineProperty(r,\"createTextMaskInputElement\",{enumerable:!0,get:function(){return n(a).default}})},function(e,r){\"use strict\";Object.defineProperty(r,\"__esModule\",{value:!0}),r.placeholderChar=\"_\",r.strFunction=\"function\"},function(e,r){\"use strict\";function t(e){var r=e.previousConformedValue,t=void 0===r?o:r,i=e.previousPlaceholder,a=void 0===i?o:i,u=e.currentCaretPosition,l=void 0===u?0:u,s=e.conformedValue,f=e.rawValue,d=e.placeholderChar,c=e.placeholder,p=e.indexesOfPipedChars,v=void 0===p?n:p,h=e.caretTrapIndexes,m=void 0===h?n:h;if(0===l||!f.length)return 0;var y=f.length,g=t.length,b=c.length,C=s.length,P=y-g,k=P>0,x=0===g,O=P>1&&!k&&!x;if(O)return l;var T=k&&(t===s||s===c),w=0,M=void 0,S=void 0;if(T)w=l-P;else{var j=s.toLowerCase(),_=f.toLowerCase(),V=_.substr(0,l).split(o),A=V.filter(function(e){return j.indexOf(e)!==-1});S=A[A.length-1];var N=a.substr(0,A.length).split(o).filter(function(e){return e!==d}).length,E=c.substr(0,A.length).split(o).filter(function(e){return e!==d}).length,F=E!==N,R=void 0!==a[A.length-1]&&void 0!==c[A.length-2]&&a[A.length-1]!==d&&a[A.length-1]!==c[A.length-1]&&a[A.length-1]===c[A.length-2];!k&&(F||R)&&N>0&&c.indexOf(S)>-1&&void 0!==f[l]&&(M=!0,S=f[l]);for(var I=v.map(function(e){return j[e]}),J=I.filter(function(e){return e===S}).length,W=A.filter(function(e){return e===S}).length,q=c.substr(0,c.indexOf(d)).split(o).filter(function(e,r){return e===S&&f[r]!==e}).length,L=q+W+J+(M?1:0),z=0,B=0;B=L)break}}if(k){for(var G=w,H=w;H<=b;H++)if(c[H]===d&&(G=H),c[H]===d||m.indexOf(H)!==-1||H===b)return G}else if(M){for(var K=w-1;K>=0;K--)if(s[K]===S||m.indexOf(K)!==-1||0===K)return K}else for(var Q=w;Q>=0;Q--)if(c[Q-1]===d||m.indexOf(Q)!==-1||0===Q)return Q}Object.defineProperty(r,\"__esModule\",{value:!0}),r.default=t;var n=[],o=\"\"},function(e,r,t){\"use strict\";function n(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:l,r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:u,t=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};if(!(0,i.isArray)(r)){if((\"undefined\"==typeof r?\"undefined\":o(r))!==a.strFunction)throw new Error(\"Text-mask:conformToMask; The mask property must be an array.\");r=r(e,t),r=(0,i.processCaretTraps)(r).maskWithoutCaretTraps}var n=t.guide,s=void 0===n||n,f=t.previousConformedValue,d=void 0===f?l:f,c=t.placeholderChar,p=void 0===c?a.placeholderChar:c,v=t.placeholder,h=void 0===v?(0,i.convertMaskToPlaceholder)(r,p):v,m=t.currentCaretPosition,y=t.keepCharPositions,g=s===!1&&void 0!==d,b=e.length,C=d.length,P=h.length,k=r.length,x=b-C,O=x>0,T=m+(O?-x:0),w=T+Math.abs(x);if(y===!0&&!O){for(var M=l,S=T;S=T&&r=0;_--){var V=j[_].char;if(V!==p){var A=_>=T&&C===k;V===h[A?_-x:_]&&j.splice(_,1)}}var N=l,E=!1;e:for(var F=0;F0)for(;j.length>0;){var I=j.shift(),J=I.char,W=I.isNew;if(J===p&&g!==!0){N+=p;continue e}if(r[F].test(J)){if(y===!0&&W!==!1&&d!==l&&s!==!1&&O){for(var q=j.length,L=null,z=0;z0&&void 0!==arguments[0]?arguments[0]:f,r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:s.placeholderChar;if(!o(e))throw new Error(\"Text-mask:convertMaskToPlaceholder; The mask property must be an array.\");if(e.indexOf(r)!==-1)throw new Error(\"Placeholder character must not be used as part of the mask. Please specify a character that is not present in your mask as your placeholder character.\\n\\n\"+(\"The placeholder character that was received is: \"+JSON.stringify(r)+\"\\n\\n\")+(\"The mask that was received is: \"+JSON.stringify(e)));return e.map(function(e){return e instanceof RegExp?r:e}).join(\"\")}function o(e){return Array.isArray&&Array.isArray(e)||e instanceof Array}function i(e){return\"string\"==typeof e||e instanceof String}function a(e){return\"number\"==typeof e&&void 0===e.length&&!isNaN(e)}function u(e){return\"undefined\"==typeof e||null===e}function l(e){for(var r=[],t=void 0;t=e.indexOf(d),t!==-1;)r.push(t),e.splice(t,1);return{maskWithoutCaretTraps:e,indexes:r}}Object.defineProperty(r,\"__esModule\",{value:!0}),r.convertMaskToPlaceholder=n,r.isArray=o,r.isString=i,r.isNumber=a,r.isNil=u,r.processCaretTraps=l;var s=t(1),f=[],d=\"[]\"},function(e,r,t){\"use strict\";function n(e){return e&&e.__esModule?e:{default:e}}function o(e){var r={previousConformedValue:void 0,previousPlaceholder:void 0};return{state:r,update:function(t){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:e,o=n.inputElement,s=n.mask,d=n.guide,m=n.pipe,g=n.placeholderChar,b=void 0===g?v.placeholderChar:g,C=n.keepCharPositions,P=void 0!==C&&C,k=n.showMask,x=void 0!==k&&k;if(\"undefined\"==typeof t&&(t=o.value),t!==r.previousConformedValue){(\"undefined\"==typeof s?\"undefined\":l(s))===y&&void 0!==s.pipe&&void 0!==s.mask&&(m=s.pipe,s=s.mask);var O=void 0,T=void 0;if(s instanceof Array&&(O=(0,p.convertMaskToPlaceholder)(s,b)),s!==!1){var w=a(t),M=o.selectionEnd,S=r.previousConformedValue,j=r.previousPlaceholder,_=void 0;if((\"undefined\"==typeof s?\"undefined\":l(s))===v.strFunction){if(T=s(w,{currentCaretPosition:M,previousConformedValue:S,placeholderChar:b}),T===!1)return;var V=(0,p.processCaretTraps)(T),A=V.maskWithoutCaretTraps,N=V.indexes;T=A,_=N,O=(0,p.convertMaskToPlaceholder)(T,b)}else T=s;var E={previousConformedValue:S,guide:d,placeholderChar:b,pipe:m,placeholder:O,currentCaretPosition:M,keepCharPositions:P},F=(0,c.default)(w,T,E),R=F.conformedValue,I=(\"undefined\"==typeof m?\"undefined\":l(m))===v.strFunction,J={};I&&(J=m(R,u({rawValue:w},E)),J===!1?J={value:S,rejected:!0}:(0,p.isString)(J)&&(J={value:J}));var W=I?J.value:R,q=(0,f.default)({previousConformedValue:S,previousPlaceholder:j,conformedValue:W,placeholder:O,rawValue:w,currentCaretPosition:M,placeholderChar:b,indexesOfPipedChars:J.indexesOfPipedChars,caretTrapIndexes:_}),L=W===O&&0===q,z=x?O:h,B=L?z:W;r.previousConformedValue=B,r.previousPlaceholder=O,o.value!==B&&(o.value=B,i(o,q))}}}}}function i(e,r){document.activeElement===e&&(g?b(function(){return e.setSelectionRange(r,r,m)},0):e.setSelectionRange(r,r,m))}function a(e){if((0,p.isString)(e))return e;if((0,p.isNumber)(e))return String(e);if(void 0===e||null===e)return h;throw new Error(\"The 'value' provided to Text Mask needs to be a string or a number. The value received was:\\n\\n \"+JSON.stringify(e))}Object.defineProperty(r,\"__esModule\",{value:!0});var u=Object.assign||function(e){for(var r=1;r[AnimationBuilder.build](api/animations/AnimationBuilder#build)() method\n * to create a programmatic animation. The method returns an `AnimationFactory` instance.\n *\n * 2. Use the factory object to create an `AnimationPlayer` and attach it to a DOM element.\n *\n * 3. Use the player object to control the animation programmatically.\n *\n * For example:\n *\n * ```ts\n * // import the service from BrowserAnimationsModule\n * import {AnimationBuilder} from '@angular/animations';\n * // require the service as a dependency\n * class MyCmp {\n * constructor(private _builder: AnimationBuilder) {}\n *\n * makeAnimation(element: any) {\n * // first define a reusable animation\n * const myAnimation = this._builder.build([\n * style({ width: 0 }),\n * animate(1000, style({ width: '100px' }))\n * ]);\n *\n * // use the returned factory object to create a player\n * const player = myAnimation.create(element);\n *\n * player.play();\n * }\n * }\n * ```\n *\n * @publicApi\n */\nclass AnimationBuilder {\n}\n/**\n * A factory object returned from the\n * [AnimationBuilder.build](api/animations/AnimationBuilder#build)()\n * method.\n *\n * @publicApi\n */\nclass AnimationFactory {\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * Specifies automatic styling.\n *\n * @publicApi\n */\nconst AUTO_STYLE = '*';\n/**\n * Creates a named animation trigger, containing a list of [`state()`](api/animations/state)\n * and `transition()` entries to be evaluated when the expression\n * bound to the trigger changes.\n *\n * @param name An identifying string.\n * @param definitions An animation definition object, containing an array of\n * [`state()`](api/animations/state) and `transition()` declarations.\n *\n * @return An object that encapsulates the trigger data.\n *\n * @usageNotes\n * Define an animation trigger in the `animations` section of `@Component` metadata.\n * In the template, reference the trigger by name and bind it to a trigger expression that\n * evaluates to a defined animation state, using the following format:\n *\n * `[@triggerName]=\"expression\"`\n *\n * Animation trigger bindings convert all values to strings, and then match the\n * previous and current values against any linked transitions.\n * Booleans can be specified as `1` or `true` and `0` or `false`.\n *\n * ### Usage Example\n *\n * The following example creates an animation trigger reference based on the provided\n * name value.\n * The provided animation value is expected to be an array consisting of state and\n * transition declarations.\n *\n * ```typescript\n * @Component({\n * selector: \"my-component\",\n * templateUrl: \"my-component-tpl.html\",\n * animations: [\n * trigger(\"myAnimationTrigger\", [\n * state(...),\n * state(...),\n * transition(...),\n * transition(...)\n * ])\n * ]\n * })\n * class MyComponent {\n * myStatusExp = \"something\";\n * }\n * ```\n *\n * The template associated with this component makes use of the defined trigger\n * by binding to an element within its template code.\n *\n * ```html\n * \n *
...
\n * ```\n *\n * ### Using an inline function\n * The `transition` animation method also supports reading an inline function which can decide\n * if its associated animation should be run.\n *\n * ```typescript\n * // this method is run each time the `myAnimationTrigger` trigger value changes.\n * function myInlineMatcherFn(fromState: string, toState: string, element: any, params: {[key:\n string]: any}): boolean {\n * // notice that `element` and `params` are also available here\n * return toState == 'yes-please-animate';\n * }\n *\n * @Component({\n * selector: 'my-component',\n * templateUrl: 'my-component-tpl.html',\n * animations: [\n * trigger('myAnimationTrigger', [\n * transition(myInlineMatcherFn, [\n * // the animation sequence code\n * ]),\n * ])\n * ]\n * })\n * class MyComponent {\n * myStatusExp = \"yes-please-animate\";\n * }\n * ```\n *\n * ### Disabling Animations\n * When true, the special animation control binding `@.disabled` binding prevents\n * all animations from rendering.\n * Place the `@.disabled` binding on an element to disable\n * animations on the element itself, as well as any inner animation triggers\n * within the element.\n *\n * The following example shows how to use this feature:\n *\n * ```typescript\n * @Component({\n * selector: 'my-component',\n * template: `\n *
\n *
\n *
\n * `,\n * animations: [\n * trigger(\"childAnimation\", [\n * // ...\n * ])\n * ]\n * })\n * class MyComponent {\n * isDisabled = true;\n * exp = '...';\n * }\n * ```\n *\n * When `@.disabled` is true, it prevents the `@childAnimation` trigger from animating,\n * along with any inner animations.\n *\n * ### Disable animations application-wide\n * When an area of the template is set to have animations disabled,\n * **all** inner components have their animations disabled as well.\n * This means that you can disable all animations for an app\n * by placing a host binding set on `@.disabled` on the topmost Angular component.\n *\n * ```typescript\n * import {Component, HostBinding} from '@angular/core';\n *\n * @Component({\n * selector: 'app-component',\n * templateUrl: 'app.component.html',\n * })\n * class AppComponent {\n * @HostBinding('@.disabled')\n * public animationsDisabled = true;\n * }\n * ```\n *\n * ### Overriding disablement of inner animations\n * Despite inner animations being disabled, a parent animation can `query()`\n * for inner elements located in disabled areas of the template and still animate\n * them if needed. This is also the case for when a sub animation is\n * queried by a parent and then later animated using `animateChild()`.\n *\n * ### Detecting when an animation is disabled\n * If a region of the DOM (or the entire application) has its animations disabled, the animation\n * trigger callbacks still fire, but for zero seconds. When the callback fires, it provides\n * an instance of an `AnimationEvent`. If animations are disabled,\n * the `.disabled` flag on the event is true.\n *\n * @publicApi\n */\nfunction trigger(name, definitions) {\n return { type: 7 /* Trigger */, name, definitions, options: {} };\n}\n/**\n * Defines an animation step that combines styling information with timing information.\n *\n * @param timings Sets `AnimateTimings` for the parent animation.\n * A string in the format \"duration [delay] [easing]\".\n * - Duration and delay are expressed as a number and optional time unit,\n * such as \"1s\" or \"10ms\" for one second and 10 milliseconds, respectively.\n * The default unit is milliseconds.\n * - The easing value controls how the animation accelerates and decelerates\n * during its runtime. Value is one of `ease`, `ease-in`, `ease-out`,\n * `ease-in-out`, or a `cubic-bezier()` function call.\n * If not supplied, no easing is applied.\n *\n * For example, the string \"1s 100ms ease-out\" specifies a duration of\n * 1000 milliseconds, and delay of 100 ms, and the \"ease-out\" easing style,\n * which decelerates near the end of the duration.\n * @param styles Sets AnimationStyles for the parent animation.\n * A function call to either `style()` or `keyframes()`\n * that returns a collection of CSS style entries to be applied to the parent animation.\n * When null, uses the styles from the destination state.\n * This is useful when describing an animation step that will complete an animation;\n * see \"Animating to the final state\" in `transitions()`.\n * @returns An object that encapsulates the animation step.\n *\n * @usageNotes\n * Call within an animation `sequence()`, `{@link animations/group group()}`, or\n * `transition()` call to specify an animation step\n * that applies given style data to the parent animation for a given amount of time.\n *\n * ### Syntax Examples\n * **Timing examples**\n *\n * The following examples show various `timings` specifications.\n * - `animate(500)` : Duration is 500 milliseconds.\n * - `animate(\"1s\")` : Duration is 1000 milliseconds.\n * - `animate(\"100ms 0.5s\")` : Duration is 100 milliseconds, delay is 500 milliseconds.\n * - `animate(\"5s ease-in\")` : Duration is 5000 milliseconds, easing in.\n * - `animate(\"5s 10ms cubic-bezier(.17,.67,.88,.1)\")` : Duration is 5000 milliseconds, delay is 10\n * milliseconds, easing according to a bezier curve.\n *\n * **Style examples**\n *\n * The following example calls `style()` to set a single CSS style.\n * ```typescript\n * animate(500, style({ background: \"red\" }))\n * ```\n * The following example calls `keyframes()` to set a CSS style\n * to different values for successive keyframes.\n * ```typescript\n * animate(500, keyframes(\n * [\n * style({ background: \"blue\" }),\n * style({ background: \"red\" })\n * ])\n * ```\n *\n * @publicApi\n */\nfunction animate(timings, styles = null) {\n return { type: 4 /* Animate */, styles, timings };\n}\n/**\n * @description Defines a list of animation steps to be run in parallel.\n *\n * @param steps An array of animation step objects.\n * - When steps are defined by `style()` or `animate()`\n * function calls, each call within the group is executed instantly.\n * - To specify offset styles to be applied at a later time, define steps with\n * `keyframes()`, or use `animate()` calls with a delay value.\n * For example:\n *\n * ```typescript\n * group([\n * animate(\"1s\", style({ background: \"black\" })),\n * animate(\"2s\", style({ color: \"white\" }))\n * ])\n * ```\n *\n * @param options An options object containing a delay and\n * developer-defined parameters that provide styling defaults and\n * can be overridden on invocation.\n *\n * @return An object that encapsulates the group data.\n *\n * @usageNotes\n * Grouped animations are useful when a series of styles must be\n * animated at different starting times and closed off at different ending times.\n *\n * When called within a `sequence()` or a\n * `transition()` call, does not continue to the next\n * instruction until all of the inner animation steps have completed.\n *\n * @publicApi\n */\nfunction group(steps, options = null) {\n return { type: 3 /* Group */, steps, options };\n}\n/**\n * Defines a list of animation steps to be run sequentially, one by one.\n *\n * @param steps An array of animation step objects.\n * - Steps defined by `style()` calls apply the styling data immediately.\n * - Steps defined by `animate()` calls apply the styling data over time\n * as specified by the timing data.\n *\n * ```typescript\n * sequence([\n * style({ opacity: 0 }),\n * animate(\"1s\", style({ opacity: 1 }))\n * ])\n * ```\n *\n * @param options An options object containing a delay and\n * developer-defined parameters that provide styling defaults and\n * can be overridden on invocation.\n *\n * @return An object that encapsulates the sequence data.\n *\n * @usageNotes\n * When you pass an array of steps to a\n * `transition()` call, the steps run sequentially by default.\n * Compare this to the `{@link animations/group group()}` call, which runs animation steps in\n *parallel.\n *\n * When a sequence is used within a `{@link animations/group group()}` or a `transition()` call,\n * execution continues to the next instruction only after each of the inner animation\n * steps have completed.\n *\n * @publicApi\n **/\nfunction sequence(steps, options = null) {\n return { type: 2 /* Sequence */, steps, options };\n}\n/**\n * Declares a key/value object containing CSS properties/styles that\n * can then be used for an animation [`state`](api/animations/state), within an animation\n *`sequence`, or as styling data for calls to `animate()` and `keyframes()`.\n *\n * @param tokens A set of CSS styles or HTML styles associated with an animation state.\n * The value can be any of the following:\n * - A key-value style pair associating a CSS property with a value.\n * - An array of key-value style pairs.\n * - An asterisk (*), to use auto-styling, where styles are derived from the element\n * being animated and applied to the animation when it starts.\n *\n * Auto-styling can be used to define a state that depends on layout or other\n * environmental factors.\n *\n * @return An object that encapsulates the style data.\n *\n * @usageNotes\n * The following examples create animation styles that collect a set of\n * CSS property values:\n *\n * ```typescript\n * // string values for CSS properties\n * style({ background: \"red\", color: \"blue\" })\n *\n * // numerical pixel values\n * style({ width: 100, height: 0 })\n * ```\n *\n * The following example uses auto-styling to allow an element to animate from\n * a height of 0 up to its full height:\n *\n * ```\n * style({ height: 0 }),\n * animate(\"1s\", style({ height: \"*\" }))\n * ```\n *\n * @publicApi\n **/\nfunction style(tokens) {\n return { type: 6 /* Style */, styles: tokens, offset: null };\n}\n/**\n * Declares an animation state within a trigger attached to an element.\n *\n * @param name One or more names for the defined state in a comma-separated string.\n * The following reserved state names can be supplied to define a style for specific use\n * cases:\n *\n * - `void` You can associate styles with this name to be used when\n * the element is detached from the application. For example, when an `ngIf` evaluates\n * to false, the state of the associated element is void.\n * - `*` (asterisk) Indicates the default state. You can associate styles with this name\n * to be used as the fallback when the state that is being animated is not declared\n * within the trigger.\n *\n * @param styles A set of CSS styles associated with this state, created using the\n * `style()` function.\n * This set of styles persists on the element once the state has been reached.\n * @param options Parameters that can be passed to the state when it is invoked.\n * 0 or more key-value pairs.\n * @return An object that encapsulates the new state data.\n *\n * @usageNotes\n * Use the `trigger()` function to register states to an animation trigger.\n * Use the `transition()` function to animate between states.\n * When a state is active within a component, its associated styles persist on the element,\n * even when the animation ends.\n *\n * @publicApi\n **/\nfunction state(name, styles, options) {\n return { type: 0 /* State */, name, styles, options };\n}\n/**\n * Defines a set of animation styles, associating each style with an optional `offset` value.\n *\n * @param steps A set of animation styles with optional offset data.\n * The optional `offset` value for a style specifies a percentage of the total animation\n * time at which that style is applied.\n * @returns An object that encapsulates the keyframes data.\n *\n * @usageNotes\n * Use with the `animate()` call. Instead of applying animations\n * from the current state\n * to the destination state, keyframes describe how each style entry is applied and at what point\n * within the animation arc.\n * Compare [CSS Keyframe Animations](https://www.w3schools.com/css/css3_animations.asp).\n *\n * ### Usage\n *\n * In the following example, the offset values describe\n * when each `backgroundColor` value is applied. The color is red at the start, and changes to\n * blue when 20% of the total time has elapsed.\n *\n * ```typescript\n * // the provided offset values\n * animate(\"5s\", keyframes([\n * style({ backgroundColor: \"red\", offset: 0 }),\n * style({ backgroundColor: \"blue\", offset: 0.2 }),\n * style({ backgroundColor: \"orange\", offset: 0.3 }),\n * style({ backgroundColor: \"black\", offset: 1 })\n * ]))\n * ```\n *\n * If there are no `offset` values specified in the style entries, the offsets\n * are calculated automatically.\n *\n * ```typescript\n * animate(\"5s\", keyframes([\n * style({ backgroundColor: \"red\" }) // offset = 0\n * style({ backgroundColor: \"blue\" }) // offset = 0.33\n * style({ backgroundColor: \"orange\" }) // offset = 0.66\n * style({ backgroundColor: \"black\" }) // offset = 1\n * ]))\n *```\n\n * @publicApi\n */\nfunction keyframes(steps) {\n return { type: 5 /* Keyframes */, steps };\n}\n/**\n * Declares an animation transition which is played when a certain specified condition is met.\n *\n * @param stateChangeExpr A string with a specific format or a function that specifies when the\n * animation transition should occur (see [State Change Expression](#state-change-expression)).\n *\n * @param steps One or more animation objects that represent the animation's instructions.\n *\n * @param options An options object that can be used to specify a delay for the animation or provide\n * custom parameters for it.\n *\n * @returns An object that encapsulates the transition data.\n *\n * @usageNotes\n *\n * ### State Change Expression\n *\n * The State Change Expression instructs Angular when to run the transition's animations, it can\n *either be\n * - a string with a specific syntax\n * - or a function that compares the previous and current state (value of the expression bound to\n * the element's trigger) and returns `true` if the transition should occur or `false` otherwise\n *\n * The string format can be:\n * - `fromState => toState`, which indicates that the transition's animations should occur then the\n * expression bound to the trigger's element goes from `fromState` to `toState`\n *\n * _Example:_\n * ```typescript\n * transition('open => closed', animate('.5s ease-out', style({ height: 0 }) ))\n * ```\n *\n * - `fromState <=> toState`, which indicates that the transition's animations should occur then\n * the expression bound to the trigger's element goes from `fromState` to `toState` or vice versa\n *\n * _Example:_\n * ```typescript\n * transition('enabled <=> disabled', animate('1s cubic-bezier(0.8,0.3,0,1)'))\n * ```\n *\n * - `:enter`/`:leave`, which indicates that the transition's animations should occur when the\n * element enters or exists the DOM\n *\n * _Example:_\n * ```typescript\n * transition(':enter', [\n * style({ opacity: 0 }),\n * animate('500ms', style({ opacity: 1 }))\n * ])\n * ```\n *\n * - `:increment`/`:decrement`, which indicates that the transition's animations should occur when\n * the numerical expression bound to the trigger's element has increased in value or decreased\n *\n * _Example:_\n * ```typescript\n * transition(':increment', query('@counter', animateChild()))\n * ```\n *\n * - a sequence of any of the above divided by commas, which indicates that transition's animations\n * should occur whenever one of the state change expressions matches\n *\n * _Example:_\n * ```typescript\n * transition(':increment, * => enabled, :enter', animate('1s ease', keyframes([\n * style({ transform: 'scale(1)', offset: 0}),\n * style({ transform: 'scale(1.1)', offset: 0.7}),\n * style({ transform: 'scale(1)', offset: 1})\n * ]))),\n * ```\n *\n * Also note that in such context:\n * - `void` can be used to indicate the absence of the element\n * - asterisks can be used as wildcards that match any state\n * - (as a consequence of the above, `void => *` is equivalent to `:enter` and `* => void` is\n * equivalent to `:leave`)\n * - `true` and `false` also match expression values of `1` and `0` respectively (but do not match\n * _truthy_ and _falsy_ values)\n *\n *
\n *\n * Be careful about entering end leaving elements as their transitions present a common\n * pitfall for developers.\n *\n * Note that when an element with a trigger enters the DOM its `:enter` transition always\n * gets executed, but its `:leave` transition will not be executed if the element is removed\n * alongside its parent (as it will be removed \"without warning\" before its transition has\n * a chance to be executed, the only way that such transition can occur is if the element\n * is exiting the DOM on its own).\n *\n *\n *
\n *\n * ### Animating to a Final State\n *\n * If the final step in a transition is a call to `animate()` that uses a timing value\n * with no `style` data, that step is automatically considered the final animation arc,\n * for the element to reach the final state, in such case Angular automatically adds or removes\n * CSS styles to ensure that the element is in the correct final state.\n *\n *\n * ### Usage Examples\n *\n * - Transition animations applied based on\n * the trigger's expression value\n *\n * ```HTML\n *
\n * ...\n *
\n * ```\n *\n * ```typescript\n * trigger(\"myAnimationTrigger\", [\n * ..., // states\n * transition(\"on => off, open => closed\", animate(500)),\n * transition(\"* <=> error\", query('.indicator', animateChild()))\n * ])\n * ```\n *\n * - Transition animations applied based on custom logic dependent\n * on the trigger's expression value and provided parameters\n *\n * ```HTML\n *
\n * ...\n *
\n * ```\n *\n * ```typescript\n * trigger(\"myAnimationTrigger\", [\n * ..., // states\n * transition(\n * (fromState, toState, _element, params) =>\n * ['firststep', 'laststep'].includes(fromState.toLowerCase())\n * && toState === params?.['target'],\n * animate('1s')\n * )\n * ])\n * ```\n *\n * @publicApi\n **/\nfunction transition(stateChangeExpr, steps, options = null) {\n return { type: 1 /* Transition */, expr: stateChangeExpr, animation: steps, options };\n}\n/**\n * Produces a reusable animation that can be invoked in another animation or sequence,\n * by calling the `useAnimation()` function.\n *\n * @param steps One or more animation objects, as returned by the `animate()`\n * or `sequence()` function, that form a transformation from one state to another.\n * A sequence is used by default when you pass an array.\n * @param options An options object that can contain a delay value for the start of the\n * animation, and additional developer-defined parameters.\n * Provided values for additional parameters are used as defaults,\n * and override values can be passed to the caller on invocation.\n * @returns An object that encapsulates the animation data.\n *\n * @usageNotes\n * The following example defines a reusable animation, providing some default parameter\n * values.\n *\n * ```typescript\n * var fadeAnimation = animation([\n * style({ opacity: '{{ start }}' }),\n * animate('{{ time }}',\n * style({ opacity: '{{ end }}'}))\n * ],\n * { params: { time: '1000ms', start: 0, end: 1 }});\n * ```\n *\n * The following invokes the defined animation with a call to `useAnimation()`,\n * passing in override parameter values.\n *\n * ```js\n * useAnimation(fadeAnimation, {\n * params: {\n * time: '2s',\n * start: 1,\n * end: 0\n * }\n * })\n * ```\n *\n * If any of the passed-in parameter values are missing from this call,\n * the default values are used. If one or more parameter values are missing before a step is\n * animated, `useAnimation()` throws an error.\n *\n * @publicApi\n */\nfunction animation(steps, options = null) {\n return { type: 8 /* Reference */, animation: steps, options };\n}\n/**\n * Executes a queried inner animation element within an animation sequence.\n *\n * @param options An options object that can contain a delay value for the start of the\n * animation, and additional override values for developer-defined parameters.\n * @return An object that encapsulates the child animation data.\n *\n * @usageNotes\n * Each time an animation is triggered in Angular, the parent animation\n * has priority and any child animations are blocked. In order\n * for a child animation to run, the parent animation must query each of the elements\n * containing child animations, and run them using this function.\n *\n * Note that this feature is designed to be used with `query()` and it will only work\n * with animations that are assigned using the Angular animation library. CSS keyframes\n * and transitions are not handled by this API.\n *\n * @publicApi\n */\nfunction animateChild(options = null) {\n return { type: 9 /* AnimateChild */, options };\n}\n/**\n * Starts a reusable animation that is created using the `animation()` function.\n *\n * @param animation The reusable animation to start.\n * @param options An options object that can contain a delay value for the start of\n * the animation, and additional override values for developer-defined parameters.\n * @return An object that contains the animation parameters.\n *\n * @publicApi\n */\nfunction useAnimation(animation, options = null) {\n return { type: 10 /* AnimateRef */, animation, options };\n}\n/**\n * Finds one or more inner elements within the current element that is\n * being animated within a sequence. Use with `animate()`.\n *\n * @param selector The element to query, or a set of elements that contain Angular-specific\n * characteristics, specified with one or more of the following tokens.\n * - `query(\":enter\")` or `query(\":leave\")` : Query for newly inserted/removed elements (not\n * all elements can be queried via these tokens, see\n * [Entering and Leaving Elements](#entering-and-leaving-elements))\n * - `query(\":animating\")` : Query all currently animating elements.\n * - `query(\"@triggerName\")` : Query elements that contain an animation trigger.\n * - `query(\"@*\")` : Query all elements that contain an animation triggers.\n * - `query(\":self\")` : Include the current element into the animation sequence.\n *\n * @param animation One or more animation steps to apply to the queried element or elements.\n * An array is treated as an animation sequence.\n * @param options An options object. Use the 'limit' field to limit the total number of\n * items to collect.\n * @return An object that encapsulates the query data.\n *\n * @usageNotes\n *\n * ### Multiple Tokens\n *\n * Tokens can be merged into a combined query selector string. For example:\n *\n * ```typescript\n * query(':self, .record:enter, .record:leave, @subTrigger', [...])\n * ```\n *\n * The `query()` function collects multiple elements and works internally by using\n * `element.querySelectorAll`. Use the `limit` field of an options object to limit\n * the total number of items to be collected. For example:\n *\n * ```js\n * query('div', [\n * animate(...),\n * animate(...)\n * ], { limit: 1 })\n * ```\n *\n * By default, throws an error when zero items are found. Set the\n * `optional` flag to ignore this error. For example:\n *\n * ```js\n * query('.some-element-that-may-not-be-there', [\n * animate(...),\n * animate(...)\n * ], { optional: true })\n * ```\n *\n * ### Entering and Leaving Elements\n *\n * Not all elements can be queried via the `:enter` and `:leave` tokens, the only ones\n * that can are those that Angular assumes can enter/leave based on their own logic\n * (if their insertion/removal is simply a consequence of that of their parent they\n * should be queried via a different token in their parent's `:enter`/`:leave` transitions).\n *\n * The only elements Angular assumes can enter/leave based on their own logic (thus the only\n * ones that can be queried via the `:enter` and `:leave` tokens) are:\n * - Those inserted dynamically (via `ViewContainerRef`)\n * - Those that have a structural directive (which, under the hood, are a subset of the above ones)\n *\n *
\n *\n * Note that elements will be successfully queried via `:enter`/`:leave` even if their\n * insertion/removal is not done manually via `ViewContainerRef`or caused by their structural\n * directive (e.g. they enter/exit alongside their parent).\n *\n *
\n *\n *
\n *\n * There is an exception to what previously mentioned, besides elements entering/leaving based on\n * their own logic, elements with an animation trigger can always be queried via `:leave` when\n * their parent is also leaving.\n *\n *
\n *\n * ### Usage Example\n *\n * The following example queries for inner elements and animates them\n * individually using `animate()`.\n *\n * ```typescript\n * @Component({\n * selector: 'inner',\n * template: `\n *
\n *

Title

\n *
\n * Blah blah blah\n *
\n *
\n * `,\n * animations: [\n * trigger('queryAnimation', [\n * transition('* => goAnimate', [\n * // hide the inner elements\n * query('h1', style({ opacity: 0 })),\n * query('.content', style({ opacity: 0 })),\n *\n * // animate the inner elements in, one by one\n * query('h1', animate(1000, style({ opacity: 1 }))),\n * query('.content', animate(1000, style({ opacity: 1 }))),\n * ])\n * ])\n * ]\n * })\n * class Cmp {\n * exp = '';\n *\n * goAnimate() {\n * this.exp = 'goAnimate';\n * }\n * }\n * ```\n *\n * @publicApi\n */\nfunction query(selector, animation, options = null) {\n return { type: 11 /* Query */, selector, animation, options };\n}\n/**\n * Use within an animation `query()` call to issue a timing gap after\n * each queried item is animated.\n *\n * @param timings A delay value.\n * @param animation One ore more animation steps.\n * @returns An object that encapsulates the stagger data.\n *\n * @usageNotes\n * In the following example, a container element wraps a list of items stamped out\n * by an `ngFor`. The container element contains an animation trigger that will later be set\n * to query for each of the inner items.\n *\n * Each time items are added, the opacity fade-in animation runs,\n * and each removed item is faded out.\n * When either of these animations occur, the stagger effect is\n * applied after each item's animation is started.\n *\n * ```html\n * \n * \n *
\n *
\n *
\n * {{ item }}\n *
\n *
\n * ```\n *\n * Here is the component code:\n *\n * ```typescript\n * import {trigger, transition, style, animate, query, stagger} from '@angular/animations';\n * @Component({\n * templateUrl: 'list.component.html',\n * animations: [\n * trigger('listAnimation', [\n * ...\n * ])\n * ]\n * })\n * class ListComponent {\n * items = [];\n *\n * showItems() {\n * this.items = [0,1,2,3,4];\n * }\n *\n * hideItems() {\n * this.items = [];\n * }\n *\n * toggle() {\n * this.items.length ? this.hideItems() : this.showItems();\n * }\n * }\n * ```\n *\n * Here is the animation trigger code:\n *\n * ```typescript\n * trigger('listAnimation', [\n * transition('* => *', [ // each time the binding value changes\n * query(':leave', [\n * stagger(100, [\n * animate('0.5s', style({ opacity: 0 }))\n * ])\n * ]),\n * query(':enter', [\n * style({ opacity: 0 }),\n * stagger(100, [\n * animate('0.5s', style({ opacity: 1 }))\n * ])\n * ])\n * ])\n * ])\n * ```\n *\n * @publicApi\n */\nfunction stagger(timings, animation) {\n return { type: 12 /* Stagger */, timings, animation };\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nfunction scheduleMicroTask(cb) {\n Promise.resolve(null).then(cb);\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * An empty programmatic controller for reusable animations.\n * Used internally when animations are disabled, to avoid\n * checking for the null case when an animation player is expected.\n *\n * @see `animate()`\n * @see `AnimationPlayer`\n * @see `GroupPlayer`\n *\n * @publicApi\n */\nclass NoopAnimationPlayer {\n constructor(duration = 0, delay = 0) {\n this._onDoneFns = [];\n this._onStartFns = [];\n this._onDestroyFns = [];\n this._started = false;\n this._destroyed = false;\n this._finished = false;\n this._position = 0;\n this.parentPlayer = null;\n this.totalTime = duration + delay;\n }\n _onFinish() {\n if (!this._finished) {\n this._finished = true;\n this._onDoneFns.forEach(fn => fn());\n this._onDoneFns = [];\n }\n }\n onStart(fn) {\n this._onStartFns.push(fn);\n }\n onDone(fn) {\n this._onDoneFns.push(fn);\n }\n onDestroy(fn) {\n this._onDestroyFns.push(fn);\n }\n hasStarted() {\n return this._started;\n }\n init() { }\n play() {\n if (!this.hasStarted()) {\n this._onStart();\n this.triggerMicrotask();\n }\n this._started = true;\n }\n /** @internal */\n triggerMicrotask() {\n scheduleMicroTask(() => this._onFinish());\n }\n _onStart() {\n this._onStartFns.forEach(fn => fn());\n this._onStartFns = [];\n }\n pause() { }\n restart() { }\n finish() {\n this._onFinish();\n }\n destroy() {\n if (!this._destroyed) {\n this._destroyed = true;\n if (!this.hasStarted()) {\n this._onStart();\n }\n this.finish();\n this._onDestroyFns.forEach(fn => fn());\n this._onDestroyFns = [];\n }\n }\n reset() {\n this._started = false;\n }\n setPosition(position) {\n this._position = this.totalTime ? position * this.totalTime : 1;\n }\n getPosition() {\n return this.totalTime ? this._position / this.totalTime : 1;\n }\n /** @internal */\n triggerCallback(phaseName) {\n const methods = phaseName == 'start' ? this._onStartFns : this._onDoneFns;\n methods.forEach(fn => fn());\n methods.length = 0;\n }\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * A programmatic controller for a group of reusable animations.\n * Used internally to control animations.\n *\n * @see `AnimationPlayer`\n * @see `{@link animations/group group()}`\n *\n */\nclass AnimationGroupPlayer {\n constructor(_players) {\n this._onDoneFns = [];\n this._onStartFns = [];\n this._finished = false;\n this._started = false;\n this._destroyed = false;\n this._onDestroyFns = [];\n this.parentPlayer = null;\n this.totalTime = 0;\n this.players = _players;\n let doneCount = 0;\n let destroyCount = 0;\n let startCount = 0;\n const total = this.players.length;\n if (total == 0) {\n scheduleMicroTask(() => this._onFinish());\n }\n else {\n this.players.forEach(player => {\n player.onDone(() => {\n if (++doneCount == total) {\n this._onFinish();\n }\n });\n player.onDestroy(() => {\n if (++destroyCount == total) {\n this._onDestroy();\n }\n });\n player.onStart(() => {\n if (++startCount == total) {\n this._onStart();\n }\n });\n });\n }\n this.totalTime = this.players.reduce((time, player) => Math.max(time, player.totalTime), 0);\n }\n _onFinish() {\n if (!this._finished) {\n this._finished = true;\n this._onDoneFns.forEach(fn => fn());\n this._onDoneFns = [];\n }\n }\n init() {\n this.players.forEach(player => player.init());\n }\n onStart(fn) {\n this._onStartFns.push(fn);\n }\n _onStart() {\n if (!this.hasStarted()) {\n this._started = true;\n this._onStartFns.forEach(fn => fn());\n this._onStartFns = [];\n }\n }\n onDone(fn) {\n this._onDoneFns.push(fn);\n }\n onDestroy(fn) {\n this._onDestroyFns.push(fn);\n }\n hasStarted() {\n return this._started;\n }\n play() {\n if (!this.parentPlayer) {\n this.init();\n }\n this._onStart();\n this.players.forEach(player => player.play());\n }\n pause() {\n this.players.forEach(player => player.pause());\n }\n restart() {\n this.players.forEach(player => player.restart());\n }\n finish() {\n this._onFinish();\n this.players.forEach(player => player.finish());\n }\n destroy() {\n this._onDestroy();\n }\n _onDestroy() {\n if (!this._destroyed) {\n this._destroyed = true;\n this._onFinish();\n this.players.forEach(player => player.destroy());\n this._onDestroyFns.forEach(fn => fn());\n this._onDestroyFns = [];\n }\n }\n reset() {\n this.players.forEach(player => player.reset());\n this._destroyed = false;\n this._finished = false;\n this._started = false;\n }\n setPosition(p) {\n const timeAtPosition = p * this.totalTime;\n this.players.forEach(player => {\n const position = player.totalTime ? Math.min(1, timeAtPosition / player.totalTime) : 1;\n player.setPosition(position);\n });\n }\n getPosition() {\n const longestPlayer = this.players.reduce((longestSoFar, player) => {\n const newPlayerIsLongest = longestSoFar === null || player.totalTime > longestSoFar.totalTime;\n return newPlayerIsLongest ? player : longestSoFar;\n }, null);\n return longestPlayer != null ? longestPlayer.getPosition() : 0;\n }\n beforeDestroy() {\n this.players.forEach(player => {\n if (player.beforeDestroy) {\n player.beforeDestroy();\n }\n });\n }\n /** @internal */\n triggerCallback(phaseName) {\n const methods = phaseName == 'start' ? this._onStartFns : this._onDoneFns;\n methods.forEach(fn => fn());\n methods.length = 0;\n }\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nconst ɵPRE_STYLE = '!';\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\n/**\n * Generated bundle index. Do not edit.\n */\n\nexport { AUTO_STYLE, AnimationBuilder, AnimationFactory, NoopAnimationPlayer, animate, animateChild, animation, group, keyframes, query, sequence, stagger, state, style, transition, trigger, useAnimation, AnimationGroupPlayer as ɵAnimationGroupPlayer, ɵPRE_STYLE };\n","/**\n * @license Angular v13.3.12\n * (c) 2010-2022 Google LLC. https://angular.io/\n * License: MIT\n */\n\nimport { ɵAnimationGroupPlayer, NoopAnimationPlayer, AUTO_STYLE, ɵPRE_STYLE, sequence, style } from '@angular/animations';\nimport * as i0 from '@angular/core';\nimport { ɵRuntimeError, Injectable } from '@angular/core';\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nconst NG_DEV_MODE$1 = typeof ngDevMode === 'undefined' || !!ngDevMode;\nconst LINE_START = '\\n - ';\nfunction invalidTimingValue(exp) {\n return new ɵRuntimeError(3000 /* INVALID_TIMING_VALUE */, NG_DEV_MODE$1 && `The provided timing value \"${exp}\" is invalid.`);\n}\nfunction negativeStepValue() {\n return new ɵRuntimeError(3100 /* NEGATIVE_STEP_VALUE */, NG_DEV_MODE$1 && 'Duration values below 0 are not allowed for this animation step.');\n}\nfunction negativeDelayValue() {\n return new ɵRuntimeError(3101 /* NEGATIVE_DELAY_VALUE */, NG_DEV_MODE$1 && 'Delay values below 0 are not allowed for this animation step.');\n}\nfunction invalidStyleParams(varName) {\n return new ɵRuntimeError(3001 /* INVALID_STYLE_PARAMS */, NG_DEV_MODE$1 &&\n `Unable to resolve the local animation param ${varName} in the given list of values`);\n}\nfunction invalidParamValue(varName) {\n return new ɵRuntimeError(3003 /* INVALID_PARAM_VALUE */, NG_DEV_MODE$1 && `Please provide a value for the animation param ${varName}`);\n}\nfunction invalidNodeType(nodeType) {\n return new ɵRuntimeError(3004 /* INVALID_NODE_TYPE */, NG_DEV_MODE$1 && `Unable to resolve animation metadata node #${nodeType}`);\n}\nfunction invalidCssUnitValue(userProvidedProperty, value) {\n return new ɵRuntimeError(3005 /* INVALID_CSS_UNIT_VALUE */, NG_DEV_MODE$1 && `Please provide a CSS unit value for ${userProvidedProperty}:${value}`);\n}\nfunction invalidTrigger() {\n return new ɵRuntimeError(3006 /* INVALID_TRIGGER */, NG_DEV_MODE$1 &&\n 'animation triggers cannot be prefixed with an `@` sign (e.g. trigger(\\'@foo\\', [...]))');\n}\nfunction invalidDefinition() {\n return new ɵRuntimeError(3007 /* INVALID_DEFINITION */, NG_DEV_MODE$1 && 'only state() and transition() definitions can sit inside of a trigger()');\n}\nfunction invalidState(metadataName, missingSubs) {\n return new ɵRuntimeError(3008 /* INVALID_STATE */, NG_DEV_MODE$1 &&\n `state(\"${metadataName}\", ...) must define default values for all the following style substitutions: ${missingSubs.join(', ')}`);\n}\nfunction invalidStyleValue(value) {\n return new ɵRuntimeError(3002 /* INVALID_STYLE_VALUE */, NG_DEV_MODE$1 && `The provided style string value ${value} is not allowed.`);\n}\nfunction invalidProperty(prop) {\n return new ɵRuntimeError(3009 /* INVALID_PROPERTY */, NG_DEV_MODE$1 &&\n `The provided animation property \"${prop}\" is not a supported CSS property for animations`);\n}\nfunction invalidParallelAnimation(prop, firstStart, firstEnd, secondStart, secondEnd) {\n return new ɵRuntimeError(3010 /* INVALID_PARALLEL_ANIMATION */, NG_DEV_MODE$1 &&\n `The CSS property \"${prop}\" that exists between the times of \"${firstStart}ms\" and \"${firstEnd}ms\" is also being animated in a parallel animation between the times of \"${secondStart}ms\" and \"${secondEnd}ms\"`);\n}\nfunction invalidKeyframes() {\n return new ɵRuntimeError(3011 /* INVALID_KEYFRAMES */, NG_DEV_MODE$1 && `keyframes() must be placed inside of a call to animate()`);\n}\nfunction invalidOffset() {\n return new ɵRuntimeError(3012 /* INVALID_OFFSET */, NG_DEV_MODE$1 && `Please ensure that all keyframe offsets are between 0 and 1`);\n}\nfunction keyframeOffsetsOutOfOrder() {\n return new ɵRuntimeError(3200 /* KEYFRAME_OFFSETS_OUT_OF_ORDER */, NG_DEV_MODE$1 && `Please ensure that all keyframe offsets are in order`);\n}\nfunction keyframesMissingOffsets() {\n return new ɵRuntimeError(3202 /* KEYFRAMES_MISSING_OFFSETS */, NG_DEV_MODE$1 && `Not all style() steps within the declared keyframes() contain offsets`);\n}\nfunction invalidStagger() {\n return new ɵRuntimeError(3013 /* INVALID_STAGGER */, NG_DEV_MODE$1 && `stagger() can only be used inside of query()`);\n}\nfunction invalidQuery(selector) {\n return new ɵRuntimeError(3014 /* INVALID_QUERY */, NG_DEV_MODE$1 &&\n `\\`query(\"${selector}\")\\` returned zero elements. (Use \\`query(\"${selector}\", { optional: true })\\` if you wish to allow this.)`);\n}\nfunction invalidExpression(expr) {\n return new ɵRuntimeError(3015 /* INVALID_EXPRESSION */, NG_DEV_MODE$1 && `The provided transition expression \"${expr}\" is not supported`);\n}\nfunction invalidTransitionAlias(alias) {\n return new ɵRuntimeError(3016 /* INVALID_TRANSITION_ALIAS */, NG_DEV_MODE$1 && `The transition alias value \"${alias}\" is not supported`);\n}\nfunction validationFailed(errors) {\n return new ɵRuntimeError(3500 /* VALIDATION_FAILED */, NG_DEV_MODE$1 && `animation validation failed:\\n${errors.map(err => err.message).join('\\n')}`);\n}\nfunction buildingFailed(errors) {\n return new ɵRuntimeError(3501 /* BUILDING_FAILED */, NG_DEV_MODE$1 && `animation building failed:\\n${errors.map(err => err.message).join('\\n')}`);\n}\nfunction triggerBuildFailed(name, errors) {\n return new ɵRuntimeError(3404 /* TRIGGER_BUILD_FAILED */, NG_DEV_MODE$1 &&\n `The animation trigger \"${name}\" has failed to build due to the following errors:\\n - ${errors.map(err => err.message).join('\\n - ')}`);\n}\nfunction animationFailed(errors) {\n return new ɵRuntimeError(3502 /* ANIMATION_FAILED */, NG_DEV_MODE$1 &&\n `Unable to animate due to the following errors:${LINE_START}${errors.map(err => err.message).join(LINE_START)}`);\n}\nfunction registerFailed(errors) {\n return new ɵRuntimeError(3503 /* REGISTRATION_FAILED */, NG_DEV_MODE$1 &&\n `Unable to build the animation due to the following errors: ${errors.map(err => err.message).join('\\n')}`);\n}\nfunction missingOrDestroyedAnimation() {\n return new ɵRuntimeError(3300 /* MISSING_OR_DESTROYED_ANIMATION */, NG_DEV_MODE$1 && 'The requested animation doesn\\'t exist or has already been destroyed');\n}\nfunction createAnimationFailed(errors) {\n return new ɵRuntimeError(3504 /* CREATE_ANIMATION_FAILED */, NG_DEV_MODE$1 &&\n `Unable to create the animation due to the following errors:${errors.map(err => err.message).join('\\n')}`);\n}\nfunction missingPlayer(id) {\n return new ɵRuntimeError(3301 /* MISSING_PLAYER */, NG_DEV_MODE$1 && `Unable to find the timeline player referenced by ${id}`);\n}\nfunction missingTrigger(phase, name) {\n return new ɵRuntimeError(3302 /* MISSING_TRIGGER */, NG_DEV_MODE$1 &&\n `Unable to listen on the animation trigger event \"${phase}\" because the animation trigger \"${name}\" doesn\\'t exist!`);\n}\nfunction missingEvent(name) {\n return new ɵRuntimeError(3303 /* MISSING_EVENT */, NG_DEV_MODE$1 &&\n `Unable to listen on the animation trigger \"${name}\" because the provided event is undefined!`);\n}\nfunction unsupportedTriggerEvent(phase, name) {\n return new ɵRuntimeError(3400 /* UNSUPPORTED_TRIGGER_EVENT */, NG_DEV_MODE$1 &&\n `The provided animation trigger event \"${phase}\" for the animation trigger \"${name}\" is not supported!`);\n}\nfunction unregisteredTrigger(name) {\n return new ɵRuntimeError(3401 /* UNREGISTERED_TRIGGER */, NG_DEV_MODE$1 && `The provided animation trigger \"${name}\" has not been registered!`);\n}\nfunction triggerTransitionsFailed(errors) {\n return new ɵRuntimeError(3402 /* TRIGGER_TRANSITIONS_FAILED */, NG_DEV_MODE$1 &&\n `Unable to process animations due to the following failed trigger transitions\\n ${errors.map(err => err.message).join('\\n')}`);\n}\nfunction triggerParsingFailed(name, errors) {\n return new ɵRuntimeError(3403 /* TRIGGER_PARSING_FAILED */, NG_DEV_MODE$1 &&\n `Animation parsing for the ${name} trigger have failed:${LINE_START}${errors.map(err => err.message).join(LINE_START)}`);\n}\nfunction transitionFailed(name, errors) {\n return new ɵRuntimeError(3505 /* TRANSITION_FAILED */, NG_DEV_MODE$1 &&\n `@${name} has failed due to:\\n ${errors.map(err => err.message).join('\\n- ')}`);\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nfunction isBrowser() {\n return (typeof window !== 'undefined' && typeof window.document !== 'undefined');\n}\nfunction isNode() {\n // Checking only for `process` isn't enough to identify whether or not we're in a Node\n // environment, because Webpack by default will polyfill the `process`. While we can discern\n // that Webpack polyfilled it by looking at `process.browser`, it's very Webpack-specific and\n // might not be future-proof. Instead we look at the stringified version of `process` which\n // is `[object process]` in Node and `[object Object]` when polyfilled.\n return typeof process !== 'undefined' && {}.toString.call(process) === '[object process]';\n}\nfunction optimizeGroupPlayer(players) {\n switch (players.length) {\n case 0:\n return new NoopAnimationPlayer();\n case 1:\n return players[0];\n default:\n return new ɵAnimationGroupPlayer(players);\n }\n}\nfunction normalizeKeyframes(driver, normalizer, element, keyframes, preStyles = {}, postStyles = {}) {\n const errors = [];\n const normalizedKeyframes = [];\n let previousOffset = -1;\n let previousKeyframe = null;\n keyframes.forEach(kf => {\n const offset = kf['offset'];\n const isSameOffset = offset == previousOffset;\n const normalizedKeyframe = (isSameOffset && previousKeyframe) || {};\n Object.keys(kf).forEach(prop => {\n let normalizedProp = prop;\n let normalizedValue = kf[prop];\n if (prop !== 'offset') {\n normalizedProp = normalizer.normalizePropertyName(normalizedProp, errors);\n switch (normalizedValue) {\n case ɵPRE_STYLE:\n normalizedValue = preStyles[prop];\n break;\n case AUTO_STYLE:\n normalizedValue = postStyles[prop];\n break;\n default:\n normalizedValue =\n normalizer.normalizeStyleValue(prop, normalizedProp, normalizedValue, errors);\n break;\n }\n }\n normalizedKeyframe[normalizedProp] = normalizedValue;\n });\n if (!isSameOffset) {\n normalizedKeyframes.push(normalizedKeyframe);\n }\n previousKeyframe = normalizedKeyframe;\n previousOffset = offset;\n });\n if (errors.length) {\n throw animationFailed(errors);\n }\n return normalizedKeyframes;\n}\nfunction listenOnPlayer(player, eventName, event, callback) {\n switch (eventName) {\n case 'start':\n player.onStart(() => callback(event && copyAnimationEvent(event, 'start', player)));\n break;\n case 'done':\n player.onDone(() => callback(event && copyAnimationEvent(event, 'done', player)));\n break;\n case 'destroy':\n player.onDestroy(() => callback(event && copyAnimationEvent(event, 'destroy', player)));\n break;\n }\n}\nfunction copyAnimationEvent(e, phaseName, player) {\n const totalTime = player.totalTime;\n const disabled = player.disabled ? true : false;\n const event = makeAnimationEvent(e.element, e.triggerName, e.fromState, e.toState, phaseName || e.phaseName, totalTime == undefined ? e.totalTime : totalTime, disabled);\n const data = e['_data'];\n if (data != null) {\n event['_data'] = data;\n }\n return event;\n}\nfunction makeAnimationEvent(element, triggerName, fromState, toState, phaseName = '', totalTime = 0, disabled) {\n return { element, triggerName, fromState, toState, phaseName, totalTime, disabled: !!disabled };\n}\nfunction getOrSetAsInMap(map, key, defaultValue) {\n let value;\n if (map instanceof Map) {\n value = map.get(key);\n if (!value) {\n map.set(key, value = defaultValue);\n }\n }\n else {\n value = map[key];\n if (!value) {\n value = map[key] = defaultValue;\n }\n }\n return value;\n}\nfunction parseTimelineCommand(command) {\n const separatorPos = command.indexOf(':');\n const id = command.substring(1, separatorPos);\n const action = command.substr(separatorPos + 1);\n return [id, action];\n}\nlet _contains = (elm1, elm2) => false;\nlet _query = (element, selector, multi) => {\n return [];\n};\nlet _documentElement = null;\nfunction getParentElement(element) {\n const parent = element.parentNode || element.host; // consider host to support shadow DOM\n if (parent === _documentElement) {\n return null;\n }\n return parent;\n}\n// Define utility methods for browsers and platform-server(domino) where Element\n// and utility methods exist.\nconst _isNode = isNode();\nif (_isNode || typeof Element !== 'undefined') {\n if (!isBrowser()) {\n _contains = (elm1, elm2) => elm1.contains(elm2);\n }\n else {\n // Read the document element in an IIFE that's been marked pure to avoid a top-level property\n // read that may prevent tree-shaking.\n _documentElement = /* @__PURE__ */ (() => document.documentElement)();\n _contains = (elm1, elm2) => {\n while (elm2) {\n if (elm2 === elm1) {\n return true;\n }\n elm2 = getParentElement(elm2);\n }\n return false;\n };\n }\n _query = (element, selector, multi) => {\n if (multi) {\n return Array.from(element.querySelectorAll(selector));\n }\n const elem = element.querySelector(selector);\n return elem ? [elem] : [];\n };\n}\nfunction containsVendorPrefix(prop) {\n // Webkit is the only real popular vendor prefix nowadays\n // cc: http://shouldiprefix.com/\n return prop.substring(1, 6) == 'ebkit'; // webkit or Webkit\n}\nlet _CACHED_BODY = null;\nlet _IS_WEBKIT = false;\nfunction validateStyleProperty(prop) {\n if (!_CACHED_BODY) {\n _CACHED_BODY = getBodyNode() || {};\n _IS_WEBKIT = _CACHED_BODY.style ? ('WebkitAppearance' in _CACHED_BODY.style) : false;\n }\n let result = true;\n if (_CACHED_BODY.style && !containsVendorPrefix(prop)) {\n result = prop in _CACHED_BODY.style;\n if (!result && _IS_WEBKIT) {\n const camelProp = 'Webkit' + prop.charAt(0).toUpperCase() + prop.substr(1);\n result = camelProp in _CACHED_BODY.style;\n }\n }\n return result;\n}\nfunction getBodyNode() {\n if (typeof document != 'undefined') {\n return document.body;\n }\n return null;\n}\nconst containsElement = _contains;\nconst invokeQuery = _query;\nfunction hypenatePropsObject(object) {\n const newObj = {};\n Object.keys(object).forEach(prop => {\n const newProp = prop.replace(/([a-z])([A-Z])/g, '$1-$2');\n newObj[newProp] = object[prop];\n });\n return newObj;\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * @publicApi\n */\nclass NoopAnimationDriver {\n validateStyleProperty(prop) {\n return validateStyleProperty(prop);\n }\n matchesElement(_element, _selector) {\n // This method is deprecated and no longer in use so we return false.\n return false;\n }\n containsElement(elm1, elm2) {\n return containsElement(elm1, elm2);\n }\n getParentElement(element) {\n return getParentElement(element);\n }\n query(element, selector, multi) {\n return invokeQuery(element, selector, multi);\n }\n computeStyle(element, prop, defaultValue) {\n return defaultValue || '';\n }\n animate(element, keyframes, duration, delay, easing, previousPlayers = [], scrubberAccessRequested) {\n return new NoopAnimationPlayer(duration, delay);\n }\n}\nNoopAnimationDriver.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"13.3.12\", ngImport: i0, type: NoopAnimationDriver, deps: [], target: i0.ɵɵFactoryTarget.Injectable });\nNoopAnimationDriver.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"13.3.12\", ngImport: i0, type: NoopAnimationDriver });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"13.3.12\", ngImport: i0, type: NoopAnimationDriver, decorators: [{\n type: Injectable\n }] });\n/**\n * @publicApi\n */\nclass AnimationDriver {\n}\nAnimationDriver.NOOP = ( /* @__PURE__ */new NoopAnimationDriver());\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nconst ONE_SECOND = 1000;\nconst SUBSTITUTION_EXPR_START = '{{';\nconst SUBSTITUTION_EXPR_END = '}}';\nconst ENTER_CLASSNAME = 'ng-enter';\nconst LEAVE_CLASSNAME = 'ng-leave';\nconst NG_TRIGGER_CLASSNAME = 'ng-trigger';\nconst NG_TRIGGER_SELECTOR = '.ng-trigger';\nconst NG_ANIMATING_CLASSNAME = 'ng-animating';\nconst NG_ANIMATING_SELECTOR = '.ng-animating';\nfunction resolveTimingValue(value) {\n if (typeof value == 'number')\n return value;\n const matches = value.match(/^(-?[\\.\\d]+)(m?s)/);\n if (!matches || matches.length < 2)\n return 0;\n return _convertTimeValueToMS(parseFloat(matches[1]), matches[2]);\n}\nfunction _convertTimeValueToMS(value, unit) {\n switch (unit) {\n case 's':\n return value * ONE_SECOND;\n default: // ms or something else\n return value;\n }\n}\nfunction resolveTiming(timings, errors, allowNegativeValues) {\n return timings.hasOwnProperty('duration') ?\n timings :\n parseTimeExpression(timings, errors, allowNegativeValues);\n}\nfunction parseTimeExpression(exp, errors, allowNegativeValues) {\n const regex = /^(-?[\\.\\d]+)(m?s)(?:\\s+(-?[\\.\\d]+)(m?s))?(?:\\s+([-a-z]+(?:\\(.+?\\))?))?$/i;\n let duration;\n let delay = 0;\n let easing = '';\n if (typeof exp === 'string') {\n const matches = exp.match(regex);\n if (matches === null) {\n errors.push(invalidTimingValue(exp));\n return { duration: 0, delay: 0, easing: '' };\n }\n duration = _convertTimeValueToMS(parseFloat(matches[1]), matches[2]);\n const delayMatch = matches[3];\n if (delayMatch != null) {\n delay = _convertTimeValueToMS(parseFloat(delayMatch), matches[4]);\n }\n const easingVal = matches[5];\n if (easingVal) {\n easing = easingVal;\n }\n }\n else {\n duration = exp;\n }\n if (!allowNegativeValues) {\n let containsErrors = false;\n let startIndex = errors.length;\n if (duration < 0) {\n errors.push(negativeStepValue());\n containsErrors = true;\n }\n if (delay < 0) {\n errors.push(negativeDelayValue());\n containsErrors = true;\n }\n if (containsErrors) {\n errors.splice(startIndex, 0, invalidTimingValue(exp));\n }\n }\n return { duration, delay, easing };\n}\nfunction copyObj(obj, destination = {}) {\n Object.keys(obj).forEach(prop => {\n destination[prop] = obj[prop];\n });\n return destination;\n}\nfunction normalizeStyles(styles) {\n const normalizedStyles = {};\n if (Array.isArray(styles)) {\n styles.forEach(data => copyStyles(data, false, normalizedStyles));\n }\n else {\n copyStyles(styles, false, normalizedStyles);\n }\n return normalizedStyles;\n}\nfunction copyStyles(styles, readPrototype, destination = {}) {\n if (readPrototype) {\n // we make use of a for-in loop so that the\n // prototypically inherited properties are\n // revealed from the backFill map\n for (let prop in styles) {\n destination[prop] = styles[prop];\n }\n }\n else {\n copyObj(styles, destination);\n }\n return destination;\n}\nfunction getStyleAttributeString(element, key, value) {\n // Return the key-value pair string to be added to the style attribute for the\n // given CSS style key.\n if (value) {\n return key + ':' + value + ';';\n }\n else {\n return '';\n }\n}\nfunction writeStyleAttribute(element) {\n // Read the style property of the element and manually reflect it to the\n // style attribute. This is needed because Domino on platform-server doesn't\n // understand the full set of allowed CSS properties and doesn't reflect some\n // of them automatically.\n let styleAttrValue = '';\n for (let i = 0; i < element.style.length; i++) {\n const key = element.style.item(i);\n styleAttrValue += getStyleAttributeString(element, key, element.style.getPropertyValue(key));\n }\n for (const key in element.style) {\n // Skip internal Domino properties that don't need to be reflected.\n if (!element.style.hasOwnProperty(key) || key.startsWith('_')) {\n continue;\n }\n const dashKey = camelCaseToDashCase(key);\n styleAttrValue += getStyleAttributeString(element, dashKey, element.style[key]);\n }\n element.setAttribute('style', styleAttrValue);\n}\nfunction setStyles(element, styles, formerStyles) {\n if (element['style']) {\n Object.keys(styles).forEach(prop => {\n const camelProp = dashCaseToCamelCase(prop);\n if (formerStyles && !formerStyles.hasOwnProperty(prop)) {\n formerStyles[prop] = element.style[camelProp];\n }\n element.style[camelProp] = styles[prop];\n });\n // On the server set the 'style' attribute since it's not automatically reflected.\n if (isNode()) {\n writeStyleAttribute(element);\n }\n }\n}\nfunction eraseStyles(element, styles) {\n if (element['style']) {\n Object.keys(styles).forEach(prop => {\n const camelProp = dashCaseToCamelCase(prop);\n element.style[camelProp] = '';\n });\n // On the server set the 'style' attribute since it's not automatically reflected.\n if (isNode()) {\n writeStyleAttribute(element);\n }\n }\n}\nfunction normalizeAnimationEntry(steps) {\n if (Array.isArray(steps)) {\n if (steps.length == 1)\n return steps[0];\n return sequence(steps);\n }\n return steps;\n}\nfunction validateStyleParams(value, options, errors) {\n const params = options.params || {};\n const matches = extractStyleParams(value);\n if (matches.length) {\n matches.forEach(varName => {\n if (!params.hasOwnProperty(varName)) {\n errors.push(invalidStyleParams(varName));\n }\n });\n }\n}\nconst PARAM_REGEX = new RegExp(`${SUBSTITUTION_EXPR_START}\\\\s*(.+?)\\\\s*${SUBSTITUTION_EXPR_END}`, 'g');\nfunction extractStyleParams(value) {\n let params = [];\n if (typeof value === 'string') {\n let match;\n while (match = PARAM_REGEX.exec(value)) {\n params.push(match[1]);\n }\n PARAM_REGEX.lastIndex = 0;\n }\n return params;\n}\nfunction interpolateParams(value, params, errors) {\n const original = value.toString();\n const str = original.replace(PARAM_REGEX, (_, varName) => {\n let localVal = params[varName];\n // this means that the value was never overridden by the data passed in by the user\n if (!params.hasOwnProperty(varName)) {\n errors.push(invalidParamValue(varName));\n localVal = '';\n }\n return localVal.toString();\n });\n // we do this to assert that numeric values stay as they are\n return str == original ? value : str;\n}\nfunction iteratorToArray(iterator) {\n const arr = [];\n let item = iterator.next();\n while (!item.done) {\n arr.push(item.value);\n item = iterator.next();\n }\n return arr;\n}\nconst DASH_CASE_REGEXP = /-+([a-z0-9])/g;\nfunction dashCaseToCamelCase(input) {\n return input.replace(DASH_CASE_REGEXP, (...m) => m[1].toUpperCase());\n}\nfunction camelCaseToDashCase(input) {\n return input.replace(/([a-z])([A-Z])/g, '$1-$2').toLowerCase();\n}\nfunction allowPreviousPlayerStylesMerge(duration, delay) {\n return duration === 0 || delay === 0;\n}\nfunction balancePreviousStylesIntoKeyframes(element, keyframes, previousStyles) {\n const previousStyleProps = Object.keys(previousStyles);\n if (previousStyleProps.length && keyframes.length) {\n let startingKeyframe = keyframes[0];\n let missingStyleProps = [];\n previousStyleProps.forEach(prop => {\n if (!startingKeyframe.hasOwnProperty(prop)) {\n missingStyleProps.push(prop);\n }\n startingKeyframe[prop] = previousStyles[prop];\n });\n if (missingStyleProps.length) {\n // tslint:disable-next-line\n for (var i = 1; i < keyframes.length; i++) {\n let kf = keyframes[i];\n missingStyleProps.forEach(function (prop) {\n kf[prop] = computeStyle(element, prop);\n });\n }\n }\n }\n return keyframes;\n}\nfunction visitDslNode(visitor, node, context) {\n switch (node.type) {\n case 7 /* Trigger */:\n return visitor.visitTrigger(node, context);\n case 0 /* State */:\n return visitor.visitState(node, context);\n case 1 /* Transition */:\n return visitor.visitTransition(node, context);\n case 2 /* Sequence */:\n return visitor.visitSequence(node, context);\n case 3 /* Group */:\n return visitor.visitGroup(node, context);\n case 4 /* Animate */:\n return visitor.visitAnimate(node, context);\n case 5 /* Keyframes */:\n return visitor.visitKeyframes(node, context);\n case 6 /* Style */:\n return visitor.visitStyle(node, context);\n case 8 /* Reference */:\n return visitor.visitReference(node, context);\n case 9 /* AnimateChild */:\n return visitor.visitAnimateChild(node, context);\n case 10 /* AnimateRef */:\n return visitor.visitAnimateRef(node, context);\n case 11 /* Query */:\n return visitor.visitQuery(node, context);\n case 12 /* Stagger */:\n return visitor.visitStagger(node, context);\n default:\n throw invalidNodeType(node.type);\n }\n}\nfunction computeStyle(element, prop) {\n return window.getComputedStyle(element)[prop];\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nconst NG_DEV_MODE = typeof ngDevMode === 'undefined' || !!ngDevMode;\nfunction createListOfWarnings(warnings) {\n const LINE_START = '\\n - ';\n return `${LINE_START}${warnings.filter(Boolean).map(warning => warning).join(LINE_START)}`;\n}\nfunction warnValidation(warnings) {\n NG_DEV_MODE && console.warn(`animation validation warnings:${createListOfWarnings(warnings)}`);\n}\nfunction warnTriggerBuild(name, warnings) {\n NG_DEV_MODE &&\n console.warn(`The animation trigger \"${name}\" has built with the following warnings:${createListOfWarnings(warnings)}`);\n}\nfunction warnRegister(warnings) {\n NG_DEV_MODE &&\n console.warn(`Animation built with the following warnings:${createListOfWarnings(warnings)}`);\n}\nfunction triggerParsingWarnings(name, warnings) {\n NG_DEV_MODE &&\n console.warn(`Animation parsing for the ${name} trigger presents the following warnings:${createListOfWarnings(warnings)}`);\n}\nfunction pushUnrecognizedPropertiesWarning(warnings, props) {\n if (ngDevMode && props.length) {\n warnings.push(`The provided CSS properties are not recognized properties supported for animations: ${props.join(', ')}`);\n }\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nconst ANY_STATE = '*';\nfunction parseTransitionExpr(transitionValue, errors) {\n const expressions = [];\n if (typeof transitionValue == 'string') {\n transitionValue.split(/\\s*,\\s*/).forEach(str => parseInnerTransitionStr(str, expressions, errors));\n }\n else {\n expressions.push(transitionValue);\n }\n return expressions;\n}\nfunction parseInnerTransitionStr(eventStr, expressions, errors) {\n if (eventStr[0] == ':') {\n const result = parseAnimationAlias(eventStr, errors);\n if (typeof result == 'function') {\n expressions.push(result);\n return;\n }\n eventStr = result;\n }\n const match = eventStr.match(/^(\\*|[-\\w]+)\\s*()\\s*(\\*|[-\\w]+)$/);\n if (match == null || match.length < 4) {\n errors.push(invalidExpression(eventStr));\n return expressions;\n }\n const fromState = match[1];\n const separator = match[2];\n const toState = match[3];\n expressions.push(makeLambdaFromStates(fromState, toState));\n const isFullAnyStateExpr = fromState == ANY_STATE && toState == ANY_STATE;\n if (separator[0] == '<' && !isFullAnyStateExpr) {\n expressions.push(makeLambdaFromStates(toState, fromState));\n }\n}\nfunction parseAnimationAlias(alias, errors) {\n switch (alias) {\n case ':enter':\n return 'void => *';\n case ':leave':\n return '* => void';\n case ':increment':\n return (fromState, toState) => parseFloat(toState) > parseFloat(fromState);\n case ':decrement':\n return (fromState, toState) => parseFloat(toState) < parseFloat(fromState);\n default:\n errors.push(invalidTransitionAlias(alias));\n return '* => *';\n }\n}\n// DO NOT REFACTOR ... keep the follow set instantiations\n// with the values intact (closure compiler for some reason\n// removes follow-up lines that add the values outside of\n// the constructor...\nconst TRUE_BOOLEAN_VALUES = new Set(['true', '1']);\nconst FALSE_BOOLEAN_VALUES = new Set(['false', '0']);\nfunction makeLambdaFromStates(lhs, rhs) {\n const LHS_MATCH_BOOLEAN = TRUE_BOOLEAN_VALUES.has(lhs) || FALSE_BOOLEAN_VALUES.has(lhs);\n const RHS_MATCH_BOOLEAN = TRUE_BOOLEAN_VALUES.has(rhs) || FALSE_BOOLEAN_VALUES.has(rhs);\n return (fromState, toState) => {\n let lhsMatch = lhs == ANY_STATE || lhs == fromState;\n let rhsMatch = rhs == ANY_STATE || rhs == toState;\n if (!lhsMatch && LHS_MATCH_BOOLEAN && typeof fromState === 'boolean') {\n lhsMatch = fromState ? TRUE_BOOLEAN_VALUES.has(lhs) : FALSE_BOOLEAN_VALUES.has(lhs);\n }\n if (!rhsMatch && RHS_MATCH_BOOLEAN && typeof toState === 'boolean') {\n rhsMatch = toState ? TRUE_BOOLEAN_VALUES.has(rhs) : FALSE_BOOLEAN_VALUES.has(rhs);\n }\n return lhsMatch && rhsMatch;\n };\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nconst SELF_TOKEN = ':self';\nconst SELF_TOKEN_REGEX = new RegExp(`\\s*${SELF_TOKEN}\\s*,?`, 'g');\n/*\n * [Validation]\n * The visitor code below will traverse the animation AST generated by the animation verb functions\n * (the output is a tree of objects) and attempt to perform a series of validations on the data. The\n * following corner-cases will be validated:\n *\n * 1. Overlap of animations\n * Given that a CSS property cannot be animated in more than one place at the same time, it's\n * important that this behavior is detected and validated. The way in which this occurs is that\n * each time a style property is examined, a string-map containing the property will be updated with\n * the start and end times for when the property is used within an animation step.\n *\n * If there are two or more parallel animations that are currently running (these are invoked by the\n * group()) on the same element then the validator will throw an error. Since the start/end timing\n * values are collected for each property then if the current animation step is animating the same\n * property and its timing values fall anywhere into the window of time that the property is\n * currently being animated within then this is what causes an error.\n *\n * 2. Timing values\n * The validator will validate to see if a timing value of `duration delay easing` or\n * `durationNumber` is valid or not.\n *\n * (note that upon validation the code below will replace the timing data with an object containing\n * {duration,delay,easing}.\n *\n * 3. Offset Validation\n * Each of the style() calls are allowed to have an offset value when placed inside of keyframes().\n * Offsets within keyframes() are considered valid when:\n *\n * - No offsets are used at all\n * - Each style() entry contains an offset value\n * - Each offset is between 0 and 1\n * - Each offset is greater to or equal than the previous one\n *\n * Otherwise an error will be thrown.\n */\nfunction buildAnimationAst(driver, metadata, errors, warnings) {\n return new AnimationAstBuilderVisitor(driver).build(metadata, errors, warnings);\n}\nconst ROOT_SELECTOR = '';\nclass AnimationAstBuilderVisitor {\n constructor(_driver) {\n this._driver = _driver;\n }\n build(metadata, errors, warnings) {\n const context = new AnimationAstBuilderContext(errors);\n this._resetContextStyleTimingState(context);\n const ast = visitDslNode(this, normalizeAnimationEntry(metadata), context);\n if (context.unsupportedCSSPropertiesFound.size) {\n pushUnrecognizedPropertiesWarning(warnings, [...context.unsupportedCSSPropertiesFound.keys()]);\n }\n return ast;\n }\n _resetContextStyleTimingState(context) {\n context.currentQuerySelector = ROOT_SELECTOR;\n context.collectedStyles = {};\n context.collectedStyles[ROOT_SELECTOR] = {};\n context.currentTime = 0;\n }\n visitTrigger(metadata, context) {\n let queryCount = context.queryCount = 0;\n let depCount = context.depCount = 0;\n const states = [];\n const transitions = [];\n if (metadata.name.charAt(0) == '@') {\n context.errors.push(invalidTrigger());\n }\n metadata.definitions.forEach(def => {\n this._resetContextStyleTimingState(context);\n if (def.type == 0 /* State */) {\n const stateDef = def;\n const name = stateDef.name;\n name.toString().split(/\\s*,\\s*/).forEach(n => {\n stateDef.name = n;\n states.push(this.visitState(stateDef, context));\n });\n stateDef.name = name;\n }\n else if (def.type == 1 /* Transition */) {\n const transition = this.visitTransition(def, context);\n queryCount += transition.queryCount;\n depCount += transition.depCount;\n transitions.push(transition);\n }\n else {\n context.errors.push(invalidDefinition());\n }\n });\n return {\n type: 7 /* Trigger */,\n name: metadata.name,\n states,\n transitions,\n queryCount,\n depCount,\n options: null\n };\n }\n visitState(metadata, context) {\n const styleAst = this.visitStyle(metadata.styles, context);\n const astParams = (metadata.options && metadata.options.params) || null;\n if (styleAst.containsDynamicStyles) {\n const missingSubs = new Set();\n const params = astParams || {};\n styleAst.styles.forEach(value => {\n if (isObject(value)) {\n const stylesObj = value;\n Object.keys(stylesObj).forEach(prop => {\n extractStyleParams(stylesObj[prop]).forEach(sub => {\n if (!params.hasOwnProperty(sub)) {\n missingSubs.add(sub);\n }\n });\n });\n }\n });\n if (missingSubs.size) {\n const missingSubsArr = iteratorToArray(missingSubs.values());\n context.errors.push(invalidState(metadata.name, missingSubsArr));\n }\n }\n return {\n type: 0 /* State */,\n name: metadata.name,\n style: styleAst,\n options: astParams ? { params: astParams } : null\n };\n }\n visitTransition(metadata, context) {\n context.queryCount = 0;\n context.depCount = 0;\n const animation = visitDslNode(this, normalizeAnimationEntry(metadata.animation), context);\n const matchers = parseTransitionExpr(metadata.expr, context.errors);\n return {\n type: 1 /* Transition */,\n matchers,\n animation,\n queryCount: context.queryCount,\n depCount: context.depCount,\n options: normalizeAnimationOptions(metadata.options)\n };\n }\n visitSequence(metadata, context) {\n return {\n type: 2 /* Sequence */,\n steps: metadata.steps.map(s => visitDslNode(this, s, context)),\n options: normalizeAnimationOptions(metadata.options)\n };\n }\n visitGroup(metadata, context) {\n const currentTime = context.currentTime;\n let furthestTime = 0;\n const steps = metadata.steps.map(step => {\n context.currentTime = currentTime;\n const innerAst = visitDslNode(this, step, context);\n furthestTime = Math.max(furthestTime, context.currentTime);\n return innerAst;\n });\n context.currentTime = furthestTime;\n return {\n type: 3 /* Group */,\n steps,\n options: normalizeAnimationOptions(metadata.options)\n };\n }\n visitAnimate(metadata, context) {\n const timingAst = constructTimingAst(metadata.timings, context.errors);\n context.currentAnimateTimings = timingAst;\n let styleAst;\n let styleMetadata = metadata.styles ? metadata.styles : style({});\n if (styleMetadata.type == 5 /* Keyframes */) {\n styleAst = this.visitKeyframes(styleMetadata, context);\n }\n else {\n let styleMetadata = metadata.styles;\n let isEmpty = false;\n if (!styleMetadata) {\n isEmpty = true;\n const newStyleData = {};\n if (timingAst.easing) {\n newStyleData['easing'] = timingAst.easing;\n }\n styleMetadata = style(newStyleData);\n }\n context.currentTime += timingAst.duration + timingAst.delay;\n const _styleAst = this.visitStyle(styleMetadata, context);\n _styleAst.isEmptyStep = isEmpty;\n styleAst = _styleAst;\n }\n context.currentAnimateTimings = null;\n return {\n type: 4 /* Animate */,\n timings: timingAst,\n style: styleAst,\n options: null\n };\n }\n visitStyle(metadata, context) {\n const ast = this._makeStyleAst(metadata, context);\n this._validateStyleAst(ast, context);\n return ast;\n }\n _makeStyleAst(metadata, context) {\n const styles = [];\n if (Array.isArray(metadata.styles)) {\n metadata.styles.forEach(styleTuple => {\n if (typeof styleTuple == 'string') {\n if (styleTuple == AUTO_STYLE) {\n styles.push(styleTuple);\n }\n else {\n context.errors.push(invalidStyleValue(styleTuple));\n }\n }\n else {\n styles.push(styleTuple);\n }\n });\n }\n else {\n styles.push(metadata.styles);\n }\n let containsDynamicStyles = false;\n let collectedEasing = null;\n styles.forEach(styleData => {\n if (isObject(styleData)) {\n const styleMap = styleData;\n const easing = styleMap['easing'];\n if (easing) {\n collectedEasing = easing;\n delete styleMap['easing'];\n }\n if (!containsDynamicStyles) {\n for (let prop in styleMap) {\n const value = styleMap[prop];\n if (value.toString().indexOf(SUBSTITUTION_EXPR_START) >= 0) {\n containsDynamicStyles = true;\n break;\n }\n }\n }\n }\n });\n return {\n type: 6 /* Style */,\n styles,\n easing: collectedEasing,\n offset: metadata.offset,\n containsDynamicStyles,\n options: null\n };\n }\n _validateStyleAst(ast, context) {\n const timings = context.currentAnimateTimings;\n let endTime = context.currentTime;\n let startTime = context.currentTime;\n if (timings && startTime > 0) {\n startTime -= timings.duration + timings.delay;\n }\n ast.styles.forEach(tuple => {\n if (typeof tuple == 'string')\n return;\n Object.keys(tuple).forEach(prop => {\n if (!this._driver.validateStyleProperty(prop)) {\n delete tuple[prop];\n context.unsupportedCSSPropertiesFound.add(prop);\n return;\n }\n const collectedStyles = context.collectedStyles[context.currentQuerySelector];\n const collectedEntry = collectedStyles[prop];\n let updateCollectedStyle = true;\n if (collectedEntry) {\n if (startTime != endTime && startTime >= collectedEntry.startTime &&\n endTime <= collectedEntry.endTime) {\n context.errors.push(invalidParallelAnimation(prop, collectedEntry.startTime, collectedEntry.endTime, startTime, endTime));\n updateCollectedStyle = false;\n }\n // we always choose the smaller start time value since we\n // want to have a record of the entire animation window where\n // the style property is being animated in between\n startTime = collectedEntry.startTime;\n }\n if (updateCollectedStyle) {\n collectedStyles[prop] = { startTime, endTime };\n }\n if (context.options) {\n validateStyleParams(tuple[prop], context.options, context.errors);\n }\n });\n });\n }\n visitKeyframes(metadata, context) {\n const ast = { type: 5 /* Keyframes */, styles: [], options: null };\n if (!context.currentAnimateTimings) {\n context.errors.push(invalidKeyframes());\n return ast;\n }\n const MAX_KEYFRAME_OFFSET = 1;\n let totalKeyframesWithOffsets = 0;\n const offsets = [];\n let offsetsOutOfOrder = false;\n let keyframesOutOfRange = false;\n let previousOffset = 0;\n const keyframes = metadata.steps.map(styles => {\n const style = this._makeStyleAst(styles, context);\n let offsetVal = style.offset != null ? style.offset : consumeOffset(style.styles);\n let offset = 0;\n if (offsetVal != null) {\n totalKeyframesWithOffsets++;\n offset = style.offset = offsetVal;\n }\n keyframesOutOfRange = keyframesOutOfRange || offset < 0 || offset > 1;\n offsetsOutOfOrder = offsetsOutOfOrder || offset < previousOffset;\n previousOffset = offset;\n offsets.push(offset);\n return style;\n });\n if (keyframesOutOfRange) {\n context.errors.push(invalidOffset());\n }\n if (offsetsOutOfOrder) {\n context.errors.push(keyframeOffsetsOutOfOrder());\n }\n const length = metadata.steps.length;\n let generatedOffset = 0;\n if (totalKeyframesWithOffsets > 0 && totalKeyframesWithOffsets < length) {\n context.errors.push(keyframesMissingOffsets());\n }\n else if (totalKeyframesWithOffsets == 0) {\n generatedOffset = MAX_KEYFRAME_OFFSET / (length - 1);\n }\n const limit = length - 1;\n const currentTime = context.currentTime;\n const currentAnimateTimings = context.currentAnimateTimings;\n const animateDuration = currentAnimateTimings.duration;\n keyframes.forEach((kf, i) => {\n const offset = generatedOffset > 0 ? (i == limit ? 1 : (generatedOffset * i)) : offsets[i];\n const durationUpToThisFrame = offset * animateDuration;\n context.currentTime = currentTime + currentAnimateTimings.delay + durationUpToThisFrame;\n currentAnimateTimings.duration = durationUpToThisFrame;\n this._validateStyleAst(kf, context);\n kf.offset = offset;\n ast.styles.push(kf);\n });\n return ast;\n }\n visitReference(metadata, context) {\n return {\n type: 8 /* Reference */,\n animation: visitDslNode(this, normalizeAnimationEntry(metadata.animation), context),\n options: normalizeAnimationOptions(metadata.options)\n };\n }\n visitAnimateChild(metadata, context) {\n context.depCount++;\n return {\n type: 9 /* AnimateChild */,\n options: normalizeAnimationOptions(metadata.options)\n };\n }\n visitAnimateRef(metadata, context) {\n return {\n type: 10 /* AnimateRef */,\n animation: this.visitReference(metadata.animation, context),\n options: normalizeAnimationOptions(metadata.options)\n };\n }\n visitQuery(metadata, context) {\n const parentSelector = context.currentQuerySelector;\n const options = (metadata.options || {});\n context.queryCount++;\n context.currentQuery = metadata;\n const [selector, includeSelf] = normalizeSelector(metadata.selector);\n context.currentQuerySelector =\n parentSelector.length ? (parentSelector + ' ' + selector) : selector;\n getOrSetAsInMap(context.collectedStyles, context.currentQuerySelector, {});\n const animation = visitDslNode(this, normalizeAnimationEntry(metadata.animation), context);\n context.currentQuery = null;\n context.currentQuerySelector = parentSelector;\n return {\n type: 11 /* Query */,\n selector,\n limit: options.limit || 0,\n optional: !!options.optional,\n includeSelf,\n animation,\n originalSelector: metadata.selector,\n options: normalizeAnimationOptions(metadata.options)\n };\n }\n visitStagger(metadata, context) {\n if (!context.currentQuery) {\n context.errors.push(invalidStagger());\n }\n const timings = metadata.timings === 'full' ?\n { duration: 0, delay: 0, easing: 'full' } :\n resolveTiming(metadata.timings, context.errors, true);\n return {\n type: 12 /* Stagger */,\n animation: visitDslNode(this, normalizeAnimationEntry(metadata.animation), context),\n timings,\n options: null\n };\n }\n}\nfunction normalizeSelector(selector) {\n const hasAmpersand = selector.split(/\\s*,\\s*/).find(token => token == SELF_TOKEN) ? true : false;\n if (hasAmpersand) {\n selector = selector.replace(SELF_TOKEN_REGEX, '');\n }\n // Note: the :enter and :leave aren't normalized here since those\n // selectors are filled in at runtime during timeline building\n selector = selector.replace(/@\\*/g, NG_TRIGGER_SELECTOR)\n .replace(/@\\w+/g, match => NG_TRIGGER_SELECTOR + '-' + match.substr(1))\n .replace(/:animating/g, NG_ANIMATING_SELECTOR);\n return [selector, hasAmpersand];\n}\nfunction normalizeParams(obj) {\n return obj ? copyObj(obj) : null;\n}\nclass AnimationAstBuilderContext {\n constructor(errors) {\n this.errors = errors;\n this.queryCount = 0;\n this.depCount = 0;\n this.currentTransition = null;\n this.currentQuery = null;\n this.currentQuerySelector = null;\n this.currentAnimateTimings = null;\n this.currentTime = 0;\n this.collectedStyles = {};\n this.options = null;\n this.unsupportedCSSPropertiesFound = new Set();\n }\n}\nfunction consumeOffset(styles) {\n if (typeof styles == 'string')\n return null;\n let offset = null;\n if (Array.isArray(styles)) {\n styles.forEach(styleTuple => {\n if (isObject(styleTuple) && styleTuple.hasOwnProperty('offset')) {\n const obj = styleTuple;\n offset = parseFloat(obj['offset']);\n delete obj['offset'];\n }\n });\n }\n else if (isObject(styles) && styles.hasOwnProperty('offset')) {\n const obj = styles;\n offset = parseFloat(obj['offset']);\n delete obj['offset'];\n }\n return offset;\n}\nfunction isObject(value) {\n return !Array.isArray(value) && typeof value == 'object';\n}\nfunction constructTimingAst(value, errors) {\n if (value.hasOwnProperty('duration')) {\n return value;\n }\n if (typeof value == 'number') {\n const duration = resolveTiming(value, errors).duration;\n return makeTimingAst(duration, 0, '');\n }\n const strValue = value;\n const isDynamic = strValue.split(/\\s+/).some(v => v.charAt(0) == '{' && v.charAt(1) == '{');\n if (isDynamic) {\n const ast = makeTimingAst(0, 0, '');\n ast.dynamic = true;\n ast.strValue = strValue;\n return ast;\n }\n const timings = resolveTiming(strValue, errors);\n return makeTimingAst(timings.duration, timings.delay, timings.easing);\n}\nfunction normalizeAnimationOptions(options) {\n if (options) {\n options = copyObj(options);\n if (options['params']) {\n options['params'] = normalizeParams(options['params']);\n }\n }\n else {\n options = {};\n }\n return options;\n}\nfunction makeTimingAst(duration, delay, easing) {\n return { duration, delay, easing };\n}\n\nfunction createTimelineInstruction(element, keyframes, preStyleProps, postStyleProps, duration, delay, easing = null, subTimeline = false) {\n return {\n type: 1 /* TimelineAnimation */,\n element,\n keyframes,\n preStyleProps,\n postStyleProps,\n duration,\n delay,\n totalTime: duration + delay,\n easing,\n subTimeline\n };\n}\n\nclass ElementInstructionMap {\n constructor() {\n this._map = new Map();\n }\n get(element) {\n return this._map.get(element) || [];\n }\n append(element, instructions) {\n let existingInstructions = this._map.get(element);\n if (!existingInstructions) {\n this._map.set(element, existingInstructions = []);\n }\n existingInstructions.push(...instructions);\n }\n has(element) {\n return this._map.has(element);\n }\n clear() {\n this._map.clear();\n }\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nconst ONE_FRAME_IN_MILLISECONDS = 1;\nconst ENTER_TOKEN = ':enter';\nconst ENTER_TOKEN_REGEX = new RegExp(ENTER_TOKEN, 'g');\nconst LEAVE_TOKEN = ':leave';\nconst LEAVE_TOKEN_REGEX = new RegExp(LEAVE_TOKEN, 'g');\n/*\n * The code within this file aims to generate web-animations-compatible keyframes from Angular's\n * animation DSL code.\n *\n * The code below will be converted from:\n *\n * ```\n * sequence([\n * style({ opacity: 0 }),\n * animate(1000, style({ opacity: 0 }))\n * ])\n * ```\n *\n * To:\n * ```\n * keyframes = [{ opacity: 0, offset: 0 }, { opacity: 1, offset: 1 }]\n * duration = 1000\n * delay = 0\n * easing = ''\n * ```\n *\n * For this operation to cover the combination of animation verbs (style, animate, group, etc...) a\n * combination of prototypical inheritance, AST traversal and merge-sort-like algorithms are used.\n *\n * [AST Traversal]\n * Each of the animation verbs, when executed, will return an string-map object representing what\n * type of action it is (style, animate, group, etc...) and the data associated with it. This means\n * that when functional composition mix of these functions is evaluated (like in the example above)\n * then it will end up producing a tree of objects representing the animation itself.\n *\n * When this animation object tree is processed by the visitor code below it will visit each of the\n * verb statements within the visitor. And during each visit it will build the context of the\n * animation keyframes by interacting with the `TimelineBuilder`.\n *\n * [TimelineBuilder]\n * This class is responsible for tracking the styles and building a series of keyframe objects for a\n * timeline between a start and end time. The builder starts off with an initial timeline and each\n * time the AST comes across a `group()`, `keyframes()` or a combination of the two within a\n * `sequence()` then it will generate a sub timeline for each step as well as a new one after\n * they are complete.\n *\n * As the AST is traversed, the timing state on each of the timelines will be incremented. If a sub\n * timeline was created (based on one of the cases above) then the parent timeline will attempt to\n * merge the styles used within the sub timelines into itself (only with group() this will happen).\n * This happens with a merge operation (much like how the merge works in mergeSort) and it will only\n * copy the most recently used styles from the sub timelines into the parent timeline. This ensures\n * that if the styles are used later on in another phase of the animation then they will be the most\n * up-to-date values.\n *\n * [How Missing Styles Are Updated]\n * Each timeline has a `backFill` property which is responsible for filling in new styles into\n * already processed keyframes if a new style shows up later within the animation sequence.\n *\n * ```\n * sequence([\n * style({ width: 0 }),\n * animate(1000, style({ width: 100 })),\n * animate(1000, style({ width: 200 })),\n * animate(1000, style({ width: 300 }))\n * animate(1000, style({ width: 400, height: 400 })) // notice how `height` doesn't exist anywhere\n * else\n * ])\n * ```\n *\n * What is happening here is that the `height` value is added later in the sequence, but is missing\n * from all previous animation steps. Therefore when a keyframe is created it would also be missing\n * from all previous keyframes up until where it is first used. For the timeline keyframe generation\n * to properly fill in the style it will place the previous value (the value from the parent\n * timeline) or a default value of `*` into the backFill object. Given that each of the keyframe\n * styles is an object that prototypically inherits from the backFill object, this means that if a\n * value is added into the backFill then it will automatically propagate any missing values to all\n * keyframes. Therefore the missing `height` value will be properly filled into the already\n * processed keyframes.\n *\n * When a sub-timeline is created it will have its own backFill property. This is done so that\n * styles present within the sub-timeline do not accidentally seep into the previous/future timeline\n * keyframes\n *\n * (For prototypically-inherited contents to be detected a `for(i in obj)` loop must be used.)\n *\n * [Validation]\n * The code in this file is not responsible for validation. That functionality happens with within\n * the `AnimationValidatorVisitor` code.\n */\nfunction buildAnimationTimelines(driver, rootElement, ast, enterClassName, leaveClassName, startingStyles = {}, finalStyles = {}, options, subInstructions, errors = []) {\n return new AnimationTimelineBuilderVisitor().buildKeyframes(driver, rootElement, ast, enterClassName, leaveClassName, startingStyles, finalStyles, options, subInstructions, errors);\n}\nclass AnimationTimelineBuilderVisitor {\n buildKeyframes(driver, rootElement, ast, enterClassName, leaveClassName, startingStyles, finalStyles, options, subInstructions, errors = []) {\n subInstructions = subInstructions || new ElementInstructionMap();\n const context = new AnimationTimelineContext(driver, rootElement, subInstructions, enterClassName, leaveClassName, errors, []);\n context.options = options;\n context.currentTimeline.setStyles([startingStyles], null, context.errors, options);\n visitDslNode(this, ast, context);\n // this checks to see if an actual animation happened\n const timelines = context.timelines.filter(timeline => timeline.containsAnimation());\n if (Object.keys(finalStyles).length) {\n // note: we just want to apply the final styles for the rootElement, so we do not\n // just apply the styles to the last timeline but the last timeline which\n // element is the root one (basically `*`-styles are replaced with the actual\n // state style values only for the root element)\n let lastRootTimeline;\n for (let i = timelines.length - 1; i >= 0; i--) {\n const timeline = timelines[i];\n if (timeline.element === rootElement) {\n lastRootTimeline = timeline;\n break;\n }\n }\n if (lastRootTimeline && !lastRootTimeline.allowOnlyTimelineStyles()) {\n lastRootTimeline.setStyles([finalStyles], null, context.errors, options);\n }\n }\n return timelines.length ? timelines.map(timeline => timeline.buildKeyframes()) :\n [createTimelineInstruction(rootElement, [], [], [], 0, 0, '', false)];\n }\n visitTrigger(ast, context) {\n // these values are not visited in this AST\n }\n visitState(ast, context) {\n // these values are not visited in this AST\n }\n visitTransition(ast, context) {\n // these values are not visited in this AST\n }\n visitAnimateChild(ast, context) {\n const elementInstructions = context.subInstructions.get(context.element);\n if (elementInstructions) {\n const innerContext = context.createSubContext(ast.options);\n const startTime = context.currentTimeline.currentTime;\n const endTime = this._visitSubInstructions(elementInstructions, innerContext, innerContext.options);\n if (startTime != endTime) {\n // we do this on the upper context because we created a sub context for\n // the sub child animations\n context.transformIntoNewTimeline(endTime);\n }\n }\n context.previousNode = ast;\n }\n visitAnimateRef(ast, context) {\n const innerContext = context.createSubContext(ast.options);\n innerContext.transformIntoNewTimeline();\n this.visitReference(ast.animation, innerContext);\n context.transformIntoNewTimeline(innerContext.currentTimeline.currentTime);\n context.previousNode = ast;\n }\n _visitSubInstructions(instructions, context, options) {\n const startTime = context.currentTimeline.currentTime;\n let furthestTime = startTime;\n // this is a special-case for when a user wants to skip a sub\n // animation from being fired entirely.\n const duration = options.duration != null ? resolveTimingValue(options.duration) : null;\n const delay = options.delay != null ? resolveTimingValue(options.delay) : null;\n if (duration !== 0) {\n instructions.forEach(instruction => {\n const instructionTimings = context.appendInstructionToTimeline(instruction, duration, delay);\n furthestTime =\n Math.max(furthestTime, instructionTimings.duration + instructionTimings.delay);\n });\n }\n return furthestTime;\n }\n visitReference(ast, context) {\n context.updateOptions(ast.options, true);\n visitDslNode(this, ast.animation, context);\n context.previousNode = ast;\n }\n visitSequence(ast, context) {\n const subContextCount = context.subContextCount;\n let ctx = context;\n const options = ast.options;\n if (options && (options.params || options.delay)) {\n ctx = context.createSubContext(options);\n ctx.transformIntoNewTimeline();\n if (options.delay != null) {\n if (ctx.previousNode.type == 6 /* Style */) {\n ctx.currentTimeline.snapshotCurrentStyles();\n ctx.previousNode = DEFAULT_NOOP_PREVIOUS_NODE;\n }\n const delay = resolveTimingValue(options.delay);\n ctx.delayNextStep(delay);\n }\n }\n if (ast.steps.length) {\n ast.steps.forEach(s => visitDslNode(this, s, ctx));\n // this is here just in case the inner steps only contain or end with a style() call\n ctx.currentTimeline.applyStylesToKeyframe();\n // this means that some animation function within the sequence\n // ended up creating a sub timeline (which means the current\n // timeline cannot overlap with the contents of the sequence)\n if (ctx.subContextCount > subContextCount) {\n ctx.transformIntoNewTimeline();\n }\n }\n context.previousNode = ast;\n }\n visitGroup(ast, context) {\n const innerTimelines = [];\n let furthestTime = context.currentTimeline.currentTime;\n const delay = ast.options && ast.options.delay ? resolveTimingValue(ast.options.delay) : 0;\n ast.steps.forEach(s => {\n const innerContext = context.createSubContext(ast.options);\n if (delay) {\n innerContext.delayNextStep(delay);\n }\n visitDslNode(this, s, innerContext);\n furthestTime = Math.max(furthestTime, innerContext.currentTimeline.currentTime);\n innerTimelines.push(innerContext.currentTimeline);\n });\n // this operation is run after the AST loop because otherwise\n // if the parent timeline's collected styles were updated then\n // it would pass in invalid data into the new-to-be forked items\n innerTimelines.forEach(timeline => context.currentTimeline.mergeTimelineCollectedStyles(timeline));\n context.transformIntoNewTimeline(furthestTime);\n context.previousNode = ast;\n }\n _visitTiming(ast, context) {\n if (ast.dynamic) {\n const strValue = ast.strValue;\n const timingValue = context.params ? interpolateParams(strValue, context.params, context.errors) : strValue;\n return resolveTiming(timingValue, context.errors);\n }\n else {\n return { duration: ast.duration, delay: ast.delay, easing: ast.easing };\n }\n }\n visitAnimate(ast, context) {\n const timings = context.currentAnimateTimings = this._visitTiming(ast.timings, context);\n const timeline = context.currentTimeline;\n if (timings.delay) {\n context.incrementTime(timings.delay);\n timeline.snapshotCurrentStyles();\n }\n const style = ast.style;\n if (style.type == 5 /* Keyframes */) {\n this.visitKeyframes(style, context);\n }\n else {\n context.incrementTime(timings.duration);\n this.visitStyle(style, context);\n timeline.applyStylesToKeyframe();\n }\n context.currentAnimateTimings = null;\n context.previousNode = ast;\n }\n visitStyle(ast, context) {\n const timeline = context.currentTimeline;\n const timings = context.currentAnimateTimings;\n // this is a special case for when a style() call\n // directly follows an animate() call (but not inside of an animate() call)\n if (!timings && timeline.getCurrentStyleProperties().length) {\n timeline.forwardFrame();\n }\n const easing = (timings && timings.easing) || ast.easing;\n if (ast.isEmptyStep) {\n timeline.applyEmptyStep(easing);\n }\n else {\n timeline.setStyles(ast.styles, easing, context.errors, context.options);\n }\n context.previousNode = ast;\n }\n visitKeyframes(ast, context) {\n const currentAnimateTimings = context.currentAnimateTimings;\n const startTime = (context.currentTimeline).duration;\n const duration = currentAnimateTimings.duration;\n const innerContext = context.createSubContext();\n const innerTimeline = innerContext.currentTimeline;\n innerTimeline.easing = currentAnimateTimings.easing;\n ast.styles.forEach(step => {\n const offset = step.offset || 0;\n innerTimeline.forwardTime(offset * duration);\n innerTimeline.setStyles(step.styles, step.easing, context.errors, context.options);\n innerTimeline.applyStylesToKeyframe();\n });\n // this will ensure that the parent timeline gets all the styles from\n // the child even if the new timeline below is not used\n context.currentTimeline.mergeTimelineCollectedStyles(innerTimeline);\n // we do this because the window between this timeline and the sub timeline\n // should ensure that the styles within are exactly the same as they were before\n context.transformIntoNewTimeline(startTime + duration);\n context.previousNode = ast;\n }\n visitQuery(ast, context) {\n // in the event that the first step before this is a style step we need\n // to ensure the styles are applied before the children are animated\n const startTime = context.currentTimeline.currentTime;\n const options = (ast.options || {});\n const delay = options.delay ? resolveTimingValue(options.delay) : 0;\n if (delay &&\n (context.previousNode.type === 6 /* Style */ ||\n (startTime == 0 && context.currentTimeline.getCurrentStyleProperties().length))) {\n context.currentTimeline.snapshotCurrentStyles();\n context.previousNode = DEFAULT_NOOP_PREVIOUS_NODE;\n }\n let furthestTime = startTime;\n const elms = context.invokeQuery(ast.selector, ast.originalSelector, ast.limit, ast.includeSelf, options.optional ? true : false, context.errors);\n context.currentQueryTotal = elms.length;\n let sameElementTimeline = null;\n elms.forEach((element, i) => {\n context.currentQueryIndex = i;\n const innerContext = context.createSubContext(ast.options, element);\n if (delay) {\n innerContext.delayNextStep(delay);\n }\n if (element === context.element) {\n sameElementTimeline = innerContext.currentTimeline;\n }\n visitDslNode(this, ast.animation, innerContext);\n // this is here just incase the inner steps only contain or end\n // with a style() call (which is here to signal that this is a preparatory\n // call to style an element before it is animated again)\n innerContext.currentTimeline.applyStylesToKeyframe();\n const endTime = innerContext.currentTimeline.currentTime;\n furthestTime = Math.max(furthestTime, endTime);\n });\n context.currentQueryIndex = 0;\n context.currentQueryTotal = 0;\n context.transformIntoNewTimeline(furthestTime);\n if (sameElementTimeline) {\n context.currentTimeline.mergeTimelineCollectedStyles(sameElementTimeline);\n context.currentTimeline.snapshotCurrentStyles();\n }\n context.previousNode = ast;\n }\n visitStagger(ast, context) {\n const parentContext = context.parentContext;\n const tl = context.currentTimeline;\n const timings = ast.timings;\n const duration = Math.abs(timings.duration);\n const maxTime = duration * (context.currentQueryTotal - 1);\n let delay = duration * context.currentQueryIndex;\n let staggerTransformer = timings.duration < 0 ? 'reverse' : timings.easing;\n switch (staggerTransformer) {\n case 'reverse':\n delay = maxTime - delay;\n break;\n case 'full':\n delay = parentContext.currentStaggerTime;\n break;\n }\n const timeline = context.currentTimeline;\n if (delay) {\n timeline.delayNextStep(delay);\n }\n const startingTime = timeline.currentTime;\n visitDslNode(this, ast.animation, context);\n context.previousNode = ast;\n // time = duration + delay\n // the reason why this computation is so complex is because\n // the inner timeline may either have a delay value or a stretched\n // keyframe depending on if a subtimeline is not used or is used.\n parentContext.currentStaggerTime =\n (tl.currentTime - startingTime) + (tl.startTime - parentContext.currentTimeline.startTime);\n }\n}\nconst DEFAULT_NOOP_PREVIOUS_NODE = {};\nclass AnimationTimelineContext {\n constructor(_driver, element, subInstructions, _enterClassName, _leaveClassName, errors, timelines, initialTimeline) {\n this._driver = _driver;\n this.element = element;\n this.subInstructions = subInstructions;\n this._enterClassName = _enterClassName;\n this._leaveClassName = _leaveClassName;\n this.errors = errors;\n this.timelines = timelines;\n this.parentContext = null;\n this.currentAnimateTimings = null;\n this.previousNode = DEFAULT_NOOP_PREVIOUS_NODE;\n this.subContextCount = 0;\n this.options = {};\n this.currentQueryIndex = 0;\n this.currentQueryTotal = 0;\n this.currentStaggerTime = 0;\n this.currentTimeline = initialTimeline || new TimelineBuilder(this._driver, element, 0);\n timelines.push(this.currentTimeline);\n }\n get params() {\n return this.options.params;\n }\n updateOptions(options, skipIfExists) {\n if (!options)\n return;\n const newOptions = options;\n let optionsToUpdate = this.options;\n // NOTE: this will get patched up when other animation methods support duration overrides\n if (newOptions.duration != null) {\n optionsToUpdate.duration = resolveTimingValue(newOptions.duration);\n }\n if (newOptions.delay != null) {\n optionsToUpdate.delay = resolveTimingValue(newOptions.delay);\n }\n const newParams = newOptions.params;\n if (newParams) {\n let paramsToUpdate = optionsToUpdate.params;\n if (!paramsToUpdate) {\n paramsToUpdate = this.options.params = {};\n }\n Object.keys(newParams).forEach(name => {\n if (!skipIfExists || !paramsToUpdate.hasOwnProperty(name)) {\n paramsToUpdate[name] = interpolateParams(newParams[name], paramsToUpdate, this.errors);\n }\n });\n }\n }\n _copyOptions() {\n const options = {};\n if (this.options) {\n const oldParams = this.options.params;\n if (oldParams) {\n const params = options['params'] = {};\n Object.keys(oldParams).forEach(name => {\n params[name] = oldParams[name];\n });\n }\n }\n return options;\n }\n createSubContext(options = null, element, newTime) {\n const target = element || this.element;\n const context = new AnimationTimelineContext(this._driver, target, this.subInstructions, this._enterClassName, this._leaveClassName, this.errors, this.timelines, this.currentTimeline.fork(target, newTime || 0));\n context.previousNode = this.previousNode;\n context.currentAnimateTimings = this.currentAnimateTimings;\n context.options = this._copyOptions();\n context.updateOptions(options);\n context.currentQueryIndex = this.currentQueryIndex;\n context.currentQueryTotal = this.currentQueryTotal;\n context.parentContext = this;\n this.subContextCount++;\n return context;\n }\n transformIntoNewTimeline(newTime) {\n this.previousNode = DEFAULT_NOOP_PREVIOUS_NODE;\n this.currentTimeline = this.currentTimeline.fork(this.element, newTime);\n this.timelines.push(this.currentTimeline);\n return this.currentTimeline;\n }\n appendInstructionToTimeline(instruction, duration, delay) {\n const updatedTimings = {\n duration: duration != null ? duration : instruction.duration,\n delay: this.currentTimeline.currentTime + (delay != null ? delay : 0) + instruction.delay,\n easing: ''\n };\n const builder = new SubTimelineBuilder(this._driver, instruction.element, instruction.keyframes, instruction.preStyleProps, instruction.postStyleProps, updatedTimings, instruction.stretchStartingKeyframe);\n this.timelines.push(builder);\n return updatedTimings;\n }\n incrementTime(time) {\n this.currentTimeline.forwardTime(this.currentTimeline.duration + time);\n }\n delayNextStep(delay) {\n // negative delays are not yet supported\n if (delay > 0) {\n this.currentTimeline.delayNextStep(delay);\n }\n }\n invokeQuery(selector, originalSelector, limit, includeSelf, optional, errors) {\n let results = [];\n if (includeSelf) {\n results.push(this.element);\n }\n if (selector.length > 0) { // only if :self is used then the selector can be empty\n selector = selector.replace(ENTER_TOKEN_REGEX, '.' + this._enterClassName);\n selector = selector.replace(LEAVE_TOKEN_REGEX, '.' + this._leaveClassName);\n const multi = limit != 1;\n let elements = this._driver.query(this.element, selector, multi);\n if (limit !== 0) {\n elements = limit < 0 ? elements.slice(elements.length + limit, elements.length) :\n elements.slice(0, limit);\n }\n results.push(...elements);\n }\n if (!optional && results.length == 0) {\n errors.push(invalidQuery(originalSelector));\n }\n return results;\n }\n}\nclass TimelineBuilder {\n constructor(_driver, element, startTime, _elementTimelineStylesLookup) {\n this._driver = _driver;\n this.element = element;\n this.startTime = startTime;\n this._elementTimelineStylesLookup = _elementTimelineStylesLookup;\n this.duration = 0;\n this._previousKeyframe = {};\n this._currentKeyframe = {};\n this._keyframes = new Map();\n this._styleSummary = {};\n this._pendingStyles = {};\n this._backFill = {};\n this._currentEmptyStepKeyframe = null;\n if (!this._elementTimelineStylesLookup) {\n this._elementTimelineStylesLookup = new Map();\n }\n this._localTimelineStyles = Object.create(this._backFill, {});\n this._globalTimelineStyles = this._elementTimelineStylesLookup.get(element);\n if (!this._globalTimelineStyles) {\n this._globalTimelineStyles = this._localTimelineStyles;\n this._elementTimelineStylesLookup.set(element, this._localTimelineStyles);\n }\n this._loadKeyframe();\n }\n containsAnimation() {\n switch (this._keyframes.size) {\n case 0:\n return false;\n case 1:\n return this.getCurrentStyleProperties().length > 0;\n default:\n return true;\n }\n }\n getCurrentStyleProperties() {\n return Object.keys(this._currentKeyframe);\n }\n get currentTime() {\n return this.startTime + this.duration;\n }\n delayNextStep(delay) {\n // in the event that a style() step is placed right before a stagger()\n // and that style() step is the very first style() value in the animation\n // then we need to make a copy of the keyframe [0, copy, 1] so that the delay\n // properly applies the style() values to work with the stagger...\n const hasPreStyleStep = this._keyframes.size == 1 && Object.keys(this._pendingStyles).length;\n if (this.duration || hasPreStyleStep) {\n this.forwardTime(this.currentTime + delay);\n if (hasPreStyleStep) {\n this.snapshotCurrentStyles();\n }\n }\n else {\n this.startTime += delay;\n }\n }\n fork(element, currentTime) {\n this.applyStylesToKeyframe();\n return new TimelineBuilder(this._driver, element, currentTime || this.currentTime, this._elementTimelineStylesLookup);\n }\n _loadKeyframe() {\n if (this._currentKeyframe) {\n this._previousKeyframe = this._currentKeyframe;\n }\n this._currentKeyframe = this._keyframes.get(this.duration);\n if (!this._currentKeyframe) {\n this._currentKeyframe = Object.create(this._backFill, {});\n this._keyframes.set(this.duration, this._currentKeyframe);\n }\n }\n forwardFrame() {\n this.duration += ONE_FRAME_IN_MILLISECONDS;\n this._loadKeyframe();\n }\n forwardTime(time) {\n this.applyStylesToKeyframe();\n this.duration = time;\n this._loadKeyframe();\n }\n _updateStyle(prop, value) {\n this._localTimelineStyles[prop] = value;\n this._globalTimelineStyles[prop] = value;\n this._styleSummary[prop] = { time: this.currentTime, value };\n }\n allowOnlyTimelineStyles() {\n return this._currentEmptyStepKeyframe !== this._currentKeyframe;\n }\n applyEmptyStep(easing) {\n if (easing) {\n this._previousKeyframe['easing'] = easing;\n }\n // special case for animate(duration):\n // all missing styles are filled with a `*` value then\n // if any destination styles are filled in later on the same\n // keyframe then they will override the overridden styles\n // We use `_globalTimelineStyles` here because there may be\n // styles in previous keyframes that are not present in this timeline\n Object.keys(this._globalTimelineStyles).forEach(prop => {\n this._backFill[prop] = this._globalTimelineStyles[prop] || AUTO_STYLE;\n this._currentKeyframe[prop] = AUTO_STYLE;\n });\n this._currentEmptyStepKeyframe = this._currentKeyframe;\n }\n setStyles(input, easing, errors, options) {\n if (easing) {\n this._previousKeyframe['easing'] = easing;\n }\n const params = (options && options.params) || {};\n const styles = flattenStyles(input, this._globalTimelineStyles);\n Object.keys(styles).forEach(prop => {\n const val = interpolateParams(styles[prop], params, errors);\n this._pendingStyles[prop] = val;\n if (!this._localTimelineStyles.hasOwnProperty(prop)) {\n this._backFill[prop] = this._globalTimelineStyles.hasOwnProperty(prop) ?\n this._globalTimelineStyles[prop] :\n AUTO_STYLE;\n }\n this._updateStyle(prop, val);\n });\n }\n applyStylesToKeyframe() {\n const styles = this._pendingStyles;\n const props = Object.keys(styles);\n if (props.length == 0)\n return;\n this._pendingStyles = {};\n props.forEach(prop => {\n const val = styles[prop];\n this._currentKeyframe[prop] = val;\n });\n Object.keys(this._localTimelineStyles).forEach(prop => {\n if (!this._currentKeyframe.hasOwnProperty(prop)) {\n this._currentKeyframe[prop] = this._localTimelineStyles[prop];\n }\n });\n }\n snapshotCurrentStyles() {\n Object.keys(this._localTimelineStyles).forEach(prop => {\n const val = this._localTimelineStyles[prop];\n this._pendingStyles[prop] = val;\n this._updateStyle(prop, val);\n });\n }\n getFinalKeyframe() {\n return this._keyframes.get(this.duration);\n }\n get properties() {\n const properties = [];\n for (let prop in this._currentKeyframe) {\n properties.push(prop);\n }\n return properties;\n }\n mergeTimelineCollectedStyles(timeline) {\n Object.keys(timeline._styleSummary).forEach(prop => {\n const details0 = this._styleSummary[prop];\n const details1 = timeline._styleSummary[prop];\n if (!details0 || details1.time > details0.time) {\n this._updateStyle(prop, details1.value);\n }\n });\n }\n buildKeyframes() {\n this.applyStylesToKeyframe();\n const preStyleProps = new Set();\n const postStyleProps = new Set();\n const isEmpty = this._keyframes.size === 1 && this.duration === 0;\n let finalKeyframes = [];\n this._keyframes.forEach((keyframe, time) => {\n const finalKeyframe = copyStyles(keyframe, true);\n Object.keys(finalKeyframe).forEach(prop => {\n const value = finalKeyframe[prop];\n if (value == ɵPRE_STYLE) {\n preStyleProps.add(prop);\n }\n else if (value == AUTO_STYLE) {\n postStyleProps.add(prop);\n }\n });\n if (!isEmpty) {\n finalKeyframe['offset'] = time / this.duration;\n }\n finalKeyframes.push(finalKeyframe);\n });\n const preProps = preStyleProps.size ? iteratorToArray(preStyleProps.values()) : [];\n const postProps = postStyleProps.size ? iteratorToArray(postStyleProps.values()) : [];\n // special case for a 0-second animation (which is designed just to place styles onscreen)\n if (isEmpty) {\n const kf0 = finalKeyframes[0];\n const kf1 = copyObj(kf0);\n kf0['offset'] = 0;\n kf1['offset'] = 1;\n finalKeyframes = [kf0, kf1];\n }\n return createTimelineInstruction(this.element, finalKeyframes, preProps, postProps, this.duration, this.startTime, this.easing, false);\n }\n}\nclass SubTimelineBuilder extends TimelineBuilder {\n constructor(driver, element, keyframes, preStyleProps, postStyleProps, timings, _stretchStartingKeyframe = false) {\n super(driver, element, timings.delay);\n this.keyframes = keyframes;\n this.preStyleProps = preStyleProps;\n this.postStyleProps = postStyleProps;\n this._stretchStartingKeyframe = _stretchStartingKeyframe;\n this.timings = { duration: timings.duration, delay: timings.delay, easing: timings.easing };\n }\n containsAnimation() {\n return this.keyframes.length > 1;\n }\n buildKeyframes() {\n let keyframes = this.keyframes;\n let { delay, duration, easing } = this.timings;\n if (this._stretchStartingKeyframe && delay) {\n const newKeyframes = [];\n const totalTime = duration + delay;\n const startingGap = delay / totalTime;\n // the original starting keyframe now starts once the delay is done\n const newFirstKeyframe = copyStyles(keyframes[0], false);\n newFirstKeyframe['offset'] = 0;\n newKeyframes.push(newFirstKeyframe);\n const oldFirstKeyframe = copyStyles(keyframes[0], false);\n oldFirstKeyframe['offset'] = roundOffset(startingGap);\n newKeyframes.push(oldFirstKeyframe);\n /*\n When the keyframe is stretched then it means that the delay before the animation\n starts is gone. Instead the first keyframe is placed at the start of the animation\n and it is then copied to where it starts when the original delay is over. This basically\n means nothing animates during that delay, but the styles are still rendered. For this\n to work the original offset values that exist in the original keyframes must be \"warped\"\n so that they can take the new keyframe + delay into account.\n \n delay=1000, duration=1000, keyframes = 0 .5 1\n \n turns into\n \n delay=0, duration=2000, keyframes = 0 .33 .66 1\n */\n // offsets between 1 ... n -1 are all warped by the keyframe stretch\n const limit = keyframes.length - 1;\n for (let i = 1; i <= limit; i++) {\n let kf = copyStyles(keyframes[i], false);\n const oldOffset = kf['offset'];\n const timeAtKeyframe = delay + oldOffset * duration;\n kf['offset'] = roundOffset(timeAtKeyframe / totalTime);\n newKeyframes.push(kf);\n }\n // the new starting keyframe should be added at the start\n duration = totalTime;\n delay = 0;\n easing = '';\n keyframes = newKeyframes;\n }\n return createTimelineInstruction(this.element, keyframes, this.preStyleProps, this.postStyleProps, duration, delay, easing, true);\n }\n}\nfunction roundOffset(offset, decimalPoints = 3) {\n const mult = Math.pow(10, decimalPoints - 1);\n return Math.round(offset * mult) / mult;\n}\nfunction flattenStyles(input, allStyles) {\n const styles = {};\n let allProperties;\n input.forEach(token => {\n if (token === '*') {\n allProperties = allProperties || Object.keys(allStyles);\n allProperties.forEach(prop => {\n styles[prop] = AUTO_STYLE;\n });\n }\n else {\n copyStyles(token, false, styles);\n }\n });\n return styles;\n}\n\nclass Animation {\n constructor(_driver, input) {\n this._driver = _driver;\n const errors = [];\n const warnings = [];\n const ast = buildAnimationAst(_driver, input, errors, warnings);\n if (errors.length) {\n throw validationFailed(errors);\n }\n if (warnings.length) {\n warnValidation(warnings);\n }\n this._animationAst = ast;\n }\n buildTimelines(element, startingStyles, destinationStyles, options, subInstructions) {\n const start = Array.isArray(startingStyles) ? normalizeStyles(startingStyles) :\n startingStyles;\n const dest = Array.isArray(destinationStyles) ? normalizeStyles(destinationStyles) :\n destinationStyles;\n const errors = [];\n subInstructions = subInstructions || new ElementInstructionMap();\n const result = buildAnimationTimelines(this._driver, element, this._animationAst, ENTER_CLASSNAME, LEAVE_CLASSNAME, start, dest, options, subInstructions, errors);\n if (errors.length) {\n throw buildingFailed(errors);\n }\n return result;\n }\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * @publicApi\n */\nclass AnimationStyleNormalizer {\n}\n/**\n * @publicApi\n */\nclass NoopAnimationStyleNormalizer {\n normalizePropertyName(propertyName, errors) {\n return propertyName;\n }\n normalizeStyleValue(userProvidedProperty, normalizedProperty, value, errors) {\n return value;\n }\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nclass WebAnimationsStyleNormalizer extends AnimationStyleNormalizer {\n normalizePropertyName(propertyName, errors) {\n return dashCaseToCamelCase(propertyName);\n }\n normalizeStyleValue(userProvidedProperty, normalizedProperty, value, errors) {\n let unit = '';\n const strVal = value.toString().trim();\n if (DIMENSIONAL_PROP_MAP[normalizedProperty] && value !== 0 && value !== '0') {\n if (typeof value === 'number') {\n unit = 'px';\n }\n else {\n const valAndSuffixMatch = value.match(/^[+-]?[\\d\\.]+([a-z]*)$/);\n if (valAndSuffixMatch && valAndSuffixMatch[1].length == 0) {\n errors.push(invalidCssUnitValue(userProvidedProperty, value));\n }\n }\n }\n return strVal + unit;\n }\n}\nconst DIMENSIONAL_PROP_MAP = (() => makeBooleanMap('width,height,minWidth,minHeight,maxWidth,maxHeight,left,top,bottom,right,fontSize,outlineWidth,outlineOffset,paddingTop,paddingLeft,paddingBottom,paddingRight,marginTop,marginLeft,marginBottom,marginRight,borderRadius,borderWidth,borderTopWidth,borderLeftWidth,borderRightWidth,borderBottomWidth,textIndent,perspective'\n .split(',')))();\nfunction makeBooleanMap(keys) {\n const map = {};\n keys.forEach(key => map[key] = true);\n return map;\n}\n\nfunction createTransitionInstruction(element, triggerName, fromState, toState, isRemovalTransition, fromStyles, toStyles, timelines, queriedElements, preStyleProps, postStyleProps, totalTime, errors) {\n return {\n type: 0 /* TransitionAnimation */,\n element,\n triggerName,\n isRemovalTransition,\n fromState,\n fromStyles,\n toState,\n toStyles,\n timelines,\n queriedElements,\n preStyleProps,\n postStyleProps,\n totalTime,\n errors\n };\n}\n\nconst EMPTY_OBJECT = {};\nclass AnimationTransitionFactory {\n constructor(_triggerName, ast, _stateStyles) {\n this._triggerName = _triggerName;\n this.ast = ast;\n this._stateStyles = _stateStyles;\n }\n match(currentState, nextState, element, params) {\n return oneOrMoreTransitionsMatch(this.ast.matchers, currentState, nextState, element, params);\n }\n buildStyles(stateName, params, errors) {\n const backupStateStyler = this._stateStyles['*'];\n const stateStyler = this._stateStyles[stateName];\n const backupStyles = backupStateStyler ? backupStateStyler.buildStyles(params, errors) : {};\n return stateStyler ? stateStyler.buildStyles(params, errors) : backupStyles;\n }\n build(driver, element, currentState, nextState, enterClassName, leaveClassName, currentOptions, nextOptions, subInstructions, skipAstBuild) {\n const errors = [];\n const transitionAnimationParams = this.ast.options && this.ast.options.params || EMPTY_OBJECT;\n const currentAnimationParams = currentOptions && currentOptions.params || EMPTY_OBJECT;\n const currentStateStyles = this.buildStyles(currentState, currentAnimationParams, errors);\n const nextAnimationParams = nextOptions && nextOptions.params || EMPTY_OBJECT;\n const nextStateStyles = this.buildStyles(nextState, nextAnimationParams, errors);\n const queriedElements = new Set();\n const preStyleMap = new Map();\n const postStyleMap = new Map();\n const isRemoval = nextState === 'void';\n const animationOptions = { params: { ...transitionAnimationParams, ...nextAnimationParams } };\n const timelines = skipAstBuild ?\n [] :\n buildAnimationTimelines(driver, element, this.ast.animation, enterClassName, leaveClassName, currentStateStyles, nextStateStyles, animationOptions, subInstructions, errors);\n let totalTime = 0;\n timelines.forEach(tl => {\n totalTime = Math.max(tl.duration + tl.delay, totalTime);\n });\n if (errors.length) {\n return createTransitionInstruction(element, this._triggerName, currentState, nextState, isRemoval, currentStateStyles, nextStateStyles, [], [], preStyleMap, postStyleMap, totalTime, errors);\n }\n timelines.forEach(tl => {\n const elm = tl.element;\n const preProps = getOrSetAsInMap(preStyleMap, elm, {});\n tl.preStyleProps.forEach(prop => preProps[prop] = true);\n const postProps = getOrSetAsInMap(postStyleMap, elm, {});\n tl.postStyleProps.forEach(prop => postProps[prop] = true);\n if (elm !== element) {\n queriedElements.add(elm);\n }\n });\n const queriedElementsList = iteratorToArray(queriedElements.values());\n return createTransitionInstruction(element, this._triggerName, currentState, nextState, isRemoval, currentStateStyles, nextStateStyles, timelines, queriedElementsList, preStyleMap, postStyleMap, totalTime);\n }\n}\nfunction oneOrMoreTransitionsMatch(matchFns, currentState, nextState, element, params) {\n return matchFns.some(fn => fn(currentState, nextState, element, params));\n}\nclass AnimationStateStyles {\n constructor(styles, defaultParams, normalizer) {\n this.styles = styles;\n this.defaultParams = defaultParams;\n this.normalizer = normalizer;\n }\n buildStyles(params, errors) {\n const finalStyles = {};\n const combinedParams = copyObj(this.defaultParams);\n Object.keys(params).forEach(key => {\n const value = params[key];\n if (value != null) {\n combinedParams[key] = value;\n }\n });\n this.styles.styles.forEach(value => {\n if (typeof value !== 'string') {\n const styleObj = value;\n Object.keys(styleObj).forEach(prop => {\n let val = styleObj[prop];\n if (val.length > 1) {\n val = interpolateParams(val, combinedParams, errors);\n }\n const normalizedProp = this.normalizer.normalizePropertyName(prop, errors);\n val = this.normalizer.normalizeStyleValue(prop, normalizedProp, val, errors);\n finalStyles[normalizedProp] = val;\n });\n }\n });\n return finalStyles;\n }\n}\n\nfunction buildTrigger(name, ast, normalizer) {\n return new AnimationTrigger(name, ast, normalizer);\n}\nclass AnimationTrigger {\n constructor(name, ast, _normalizer) {\n this.name = name;\n this.ast = ast;\n this._normalizer = _normalizer;\n this.transitionFactories = [];\n this.states = {};\n ast.states.forEach(ast => {\n const defaultParams = (ast.options && ast.options.params) || {};\n this.states[ast.name] = new AnimationStateStyles(ast.style, defaultParams, _normalizer);\n });\n balanceProperties(this.states, 'true', '1');\n balanceProperties(this.states, 'false', '0');\n ast.transitions.forEach(ast => {\n this.transitionFactories.push(new AnimationTransitionFactory(name, ast, this.states));\n });\n this.fallbackTransition = createFallbackTransition(name, this.states, this._normalizer);\n }\n get containsQueries() {\n return this.ast.queryCount > 0;\n }\n matchTransition(currentState, nextState, element, params) {\n const entry = this.transitionFactories.find(f => f.match(currentState, nextState, element, params));\n return entry || null;\n }\n matchStyles(currentState, params, errors) {\n return this.fallbackTransition.buildStyles(currentState, params, errors);\n }\n}\nfunction createFallbackTransition(triggerName, states, normalizer) {\n const matchers = [(fromState, toState) => true];\n const animation = { type: 2 /* Sequence */, steps: [], options: null };\n const transition = {\n type: 1 /* Transition */,\n animation,\n matchers,\n options: null,\n queryCount: 0,\n depCount: 0\n };\n return new AnimationTransitionFactory(triggerName, transition, states);\n}\nfunction balanceProperties(obj, key1, key2) {\n if (obj.hasOwnProperty(key1)) {\n if (!obj.hasOwnProperty(key2)) {\n obj[key2] = obj[key1];\n }\n }\n else if (obj.hasOwnProperty(key2)) {\n obj[key1] = obj[key2];\n }\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nconst EMPTY_INSTRUCTION_MAP = new ElementInstructionMap();\nclass TimelineAnimationEngine {\n constructor(bodyNode, _driver, _normalizer) {\n this.bodyNode = bodyNode;\n this._driver = _driver;\n this._normalizer = _normalizer;\n this._animations = {};\n this._playersById = {};\n this.players = [];\n }\n register(id, metadata) {\n const errors = [];\n const warnings = [];\n const ast = buildAnimationAst(this._driver, metadata, errors, warnings);\n if (errors.length) {\n throw registerFailed(errors);\n }\n else {\n if (warnings.length) {\n warnRegister(warnings);\n }\n this._animations[id] = ast;\n }\n }\n _buildPlayer(i, preStyles, postStyles) {\n const element = i.element;\n const keyframes = normalizeKeyframes(this._driver, this._normalizer, element, i.keyframes, preStyles, postStyles);\n return this._driver.animate(element, keyframes, i.duration, i.delay, i.easing, [], true);\n }\n create(id, element, options = {}) {\n const errors = [];\n const ast = this._animations[id];\n let instructions;\n const autoStylesMap = new Map();\n if (ast) {\n instructions = buildAnimationTimelines(this._driver, element, ast, ENTER_CLASSNAME, LEAVE_CLASSNAME, {}, {}, options, EMPTY_INSTRUCTION_MAP, errors);\n instructions.forEach(inst => {\n const styles = getOrSetAsInMap(autoStylesMap, inst.element, {});\n inst.postStyleProps.forEach(prop => styles[prop] = null);\n });\n }\n else {\n errors.push(missingOrDestroyedAnimation());\n instructions = [];\n }\n if (errors.length) {\n throw createAnimationFailed(errors);\n }\n autoStylesMap.forEach((styles, element) => {\n Object.keys(styles).forEach(prop => {\n styles[prop] = this._driver.computeStyle(element, prop, AUTO_STYLE);\n });\n });\n const players = instructions.map(i => {\n const styles = autoStylesMap.get(i.element);\n return this._buildPlayer(i, {}, styles);\n });\n const player = optimizeGroupPlayer(players);\n this._playersById[id] = player;\n player.onDestroy(() => this.destroy(id));\n this.players.push(player);\n return player;\n }\n destroy(id) {\n const player = this._getPlayer(id);\n player.destroy();\n delete this._playersById[id];\n const index = this.players.indexOf(player);\n if (index >= 0) {\n this.players.splice(index, 1);\n }\n }\n _getPlayer(id) {\n const player = this._playersById[id];\n if (!player) {\n throw missingPlayer(id);\n }\n return player;\n }\n listen(id, element, eventName, callback) {\n // triggerName, fromState, toState are all ignored for timeline animations\n const baseEvent = makeAnimationEvent(element, '', '', '');\n listenOnPlayer(this._getPlayer(id), eventName, baseEvent, callback);\n return () => { };\n }\n command(id, element, command, args) {\n if (command == 'register') {\n this.register(id, args[0]);\n return;\n }\n if (command == 'create') {\n const options = (args[0] || {});\n this.create(id, element, options);\n return;\n }\n const player = this._getPlayer(id);\n switch (command) {\n case 'play':\n player.play();\n break;\n case 'pause':\n player.pause();\n break;\n case 'reset':\n player.reset();\n break;\n case 'restart':\n player.restart();\n break;\n case 'finish':\n player.finish();\n break;\n case 'init':\n player.init();\n break;\n case 'setPosition':\n player.setPosition(parseFloat(args[0]));\n break;\n case 'destroy':\n this.destroy(id);\n break;\n }\n }\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nconst QUEUED_CLASSNAME = 'ng-animate-queued';\nconst QUEUED_SELECTOR = '.ng-animate-queued';\nconst DISABLED_CLASSNAME = 'ng-animate-disabled';\nconst DISABLED_SELECTOR = '.ng-animate-disabled';\nconst STAR_CLASSNAME = 'ng-star-inserted';\nconst STAR_SELECTOR = '.ng-star-inserted';\nconst EMPTY_PLAYER_ARRAY = [];\nconst NULL_REMOVAL_STATE = {\n namespaceId: '',\n setForRemoval: false,\n setForMove: false,\n hasAnimation: false,\n removedBeforeQueried: false\n};\nconst NULL_REMOVED_QUERIED_STATE = {\n namespaceId: '',\n setForMove: false,\n setForRemoval: false,\n hasAnimation: false,\n removedBeforeQueried: true\n};\nconst REMOVAL_FLAG = '__ng_removed';\nclass StateValue {\n constructor(input, namespaceId = '') {\n this.namespaceId = namespaceId;\n const isObj = input && input.hasOwnProperty('value');\n const value = isObj ? input['value'] : input;\n this.value = normalizeTriggerValue(value);\n if (isObj) {\n const options = copyObj(input);\n delete options['value'];\n this.options = options;\n }\n else {\n this.options = {};\n }\n if (!this.options.params) {\n this.options.params = {};\n }\n }\n get params() {\n return this.options.params;\n }\n absorbOptions(options) {\n const newParams = options.params;\n if (newParams) {\n const oldParams = this.options.params;\n Object.keys(newParams).forEach(prop => {\n if (oldParams[prop] == null) {\n oldParams[prop] = newParams[prop];\n }\n });\n }\n }\n}\nconst VOID_VALUE = 'void';\nconst DEFAULT_STATE_VALUE = new StateValue(VOID_VALUE);\nclass AnimationTransitionNamespace {\n constructor(id, hostElement, _engine) {\n this.id = id;\n this.hostElement = hostElement;\n this._engine = _engine;\n this.players = [];\n this._triggers = {};\n this._queue = [];\n this._elementListeners = new Map();\n this._hostClassName = 'ng-tns-' + id;\n addClass(hostElement, this._hostClassName);\n }\n listen(element, name, phase, callback) {\n if (!this._triggers.hasOwnProperty(name)) {\n throw missingTrigger(phase, name);\n }\n if (phase == null || phase.length == 0) {\n throw missingEvent(name);\n }\n if (!isTriggerEventValid(phase)) {\n throw unsupportedTriggerEvent(phase, name);\n }\n const listeners = getOrSetAsInMap(this._elementListeners, element, []);\n const data = { name, phase, callback };\n listeners.push(data);\n const triggersWithStates = getOrSetAsInMap(this._engine.statesByElement, element, {});\n if (!triggersWithStates.hasOwnProperty(name)) {\n addClass(element, NG_TRIGGER_CLASSNAME);\n addClass(element, NG_TRIGGER_CLASSNAME + '-' + name);\n triggersWithStates[name] = DEFAULT_STATE_VALUE;\n }\n return () => {\n // the event listener is removed AFTER the flush has occurred such\n // that leave animations callbacks can fire (otherwise if the node\n // is removed in between then the listeners would be deregistered)\n this._engine.afterFlush(() => {\n const index = listeners.indexOf(data);\n if (index >= 0) {\n listeners.splice(index, 1);\n }\n if (!this._triggers[name]) {\n delete triggersWithStates[name];\n }\n });\n };\n }\n register(name, ast) {\n if (this._triggers[name]) {\n // throw\n return false;\n }\n else {\n this._triggers[name] = ast;\n return true;\n }\n }\n _getTrigger(name) {\n const trigger = this._triggers[name];\n if (!trigger) {\n throw unregisteredTrigger(name);\n }\n return trigger;\n }\n trigger(element, triggerName, value, defaultToFallback = true) {\n const trigger = this._getTrigger(triggerName);\n const player = new TransitionAnimationPlayer(this.id, triggerName, element);\n let triggersWithStates = this._engine.statesByElement.get(element);\n if (!triggersWithStates) {\n addClass(element, NG_TRIGGER_CLASSNAME);\n addClass(element, NG_TRIGGER_CLASSNAME + '-' + triggerName);\n this._engine.statesByElement.set(element, triggersWithStates = {});\n }\n let fromState = triggersWithStates[triggerName];\n const toState = new StateValue(value, this.id);\n const isObj = value && value.hasOwnProperty('value');\n if (!isObj && fromState) {\n toState.absorbOptions(fromState.options);\n }\n triggersWithStates[triggerName] = toState;\n if (!fromState) {\n fromState = DEFAULT_STATE_VALUE;\n }\n const isRemoval = toState.value === VOID_VALUE;\n // normally this isn't reached by here, however, if an object expression\n // is passed in then it may be a new object each time. Comparing the value\n // is important since that will stay the same despite there being a new object.\n // The removal arc here is special cased because the same element is triggered\n // twice in the event that it contains animations on the outer/inner portions\n // of the host container\n if (!isRemoval && fromState.value === toState.value) {\n // this means that despite the value not changing, some inner params\n // have changed which means that the animation final styles need to be applied\n if (!objEquals(fromState.params, toState.params)) {\n const errors = [];\n const fromStyles = trigger.matchStyles(fromState.value, fromState.params, errors);\n const toStyles = trigger.matchStyles(toState.value, toState.params, errors);\n if (errors.length) {\n this._engine.reportError(errors);\n }\n else {\n this._engine.afterFlush(() => {\n eraseStyles(element, fromStyles);\n setStyles(element, toStyles);\n });\n }\n }\n return;\n }\n const playersOnElement = getOrSetAsInMap(this._engine.playersByElement, element, []);\n playersOnElement.forEach(player => {\n // only remove the player if it is queued on the EXACT same trigger/namespace\n // we only also deal with queued players here because if the animation has\n // started then we want to keep the player alive until the flush happens\n // (which is where the previousPlayers are passed into the new player)\n if (player.namespaceId == this.id && player.triggerName == triggerName && player.queued) {\n player.destroy();\n }\n });\n let transition = trigger.matchTransition(fromState.value, toState.value, element, toState.params);\n let isFallbackTransition = false;\n if (!transition) {\n if (!defaultToFallback)\n return;\n transition = trigger.fallbackTransition;\n isFallbackTransition = true;\n }\n this._engine.totalQueuedPlayers++;\n this._queue.push({ element, triggerName, transition, fromState, toState, player, isFallbackTransition });\n if (!isFallbackTransition) {\n addClass(element, QUEUED_CLASSNAME);\n player.onStart(() => {\n removeClass(element, QUEUED_CLASSNAME);\n });\n }\n player.onDone(() => {\n let index = this.players.indexOf(player);\n if (index >= 0) {\n this.players.splice(index, 1);\n }\n const players = this._engine.playersByElement.get(element);\n if (players) {\n let index = players.indexOf(player);\n if (index >= 0) {\n players.splice(index, 1);\n }\n }\n });\n this.players.push(player);\n playersOnElement.push(player);\n return player;\n }\n deregister(name) {\n delete this._triggers[name];\n this._engine.statesByElement.forEach((stateMap, element) => {\n delete stateMap[name];\n });\n this._elementListeners.forEach((listeners, element) => {\n this._elementListeners.set(element, listeners.filter(entry => {\n return entry.name != name;\n }));\n });\n }\n clearElementCache(element) {\n this._engine.statesByElement.delete(element);\n this._elementListeners.delete(element);\n const elementPlayers = this._engine.playersByElement.get(element);\n if (elementPlayers) {\n elementPlayers.forEach(player => player.destroy());\n this._engine.playersByElement.delete(element);\n }\n }\n _signalRemovalForInnerTriggers(rootElement, context) {\n const elements = this._engine.driver.query(rootElement, NG_TRIGGER_SELECTOR, true);\n // emulate a leave animation for all inner nodes within this node.\n // If there are no animations found for any of the nodes then clear the cache\n // for the element.\n elements.forEach(elm => {\n // this means that an inner remove() operation has already kicked off\n // the animation on this element...\n if (elm[REMOVAL_FLAG])\n return;\n const namespaces = this._engine.fetchNamespacesByElement(elm);\n if (namespaces.size) {\n namespaces.forEach(ns => ns.triggerLeaveAnimation(elm, context, false, true));\n }\n else {\n this.clearElementCache(elm);\n }\n });\n // If the child elements were removed along with the parent, their animations might not\n // have completed. Clear all the elements from the cache so we don't end up with a memory leak.\n this._engine.afterFlushAnimationsDone(() => elements.forEach(elm => this.clearElementCache(elm)));\n }\n triggerLeaveAnimation(element, context, destroyAfterComplete, defaultToFallback) {\n const triggerStates = this._engine.statesByElement.get(element);\n const previousTriggersValues = new Map();\n if (triggerStates) {\n const players = [];\n Object.keys(triggerStates).forEach(triggerName => {\n previousTriggersValues.set(triggerName, triggerStates[triggerName].value);\n // this check is here in the event that an element is removed\n // twice (both on the host level and the component level)\n if (this._triggers[triggerName]) {\n const player = this.trigger(element, triggerName, VOID_VALUE, defaultToFallback);\n if (player) {\n players.push(player);\n }\n }\n });\n if (players.length) {\n this._engine.markElementAsRemoved(this.id, element, true, context, previousTriggersValues);\n if (destroyAfterComplete) {\n optimizeGroupPlayer(players).onDone(() => this._engine.processLeaveNode(element));\n }\n return true;\n }\n }\n return false;\n }\n prepareLeaveAnimationListeners(element) {\n const listeners = this._elementListeners.get(element);\n const elementStates = this._engine.statesByElement.get(element);\n // if this statement fails then it means that the element was picked up\n // by an earlier flush (or there are no listeners at all to track the leave).\n if (listeners && elementStates) {\n const visitedTriggers = new Set();\n listeners.forEach(listener => {\n const triggerName = listener.name;\n if (visitedTriggers.has(triggerName))\n return;\n visitedTriggers.add(triggerName);\n const trigger = this._triggers[triggerName];\n const transition = trigger.fallbackTransition;\n const fromState = elementStates[triggerName] || DEFAULT_STATE_VALUE;\n const toState = new StateValue(VOID_VALUE);\n const player = new TransitionAnimationPlayer(this.id, triggerName, element);\n this._engine.totalQueuedPlayers++;\n this._queue.push({\n element,\n triggerName,\n transition,\n fromState,\n toState,\n player,\n isFallbackTransition: true\n });\n });\n }\n }\n removeNode(element, context) {\n const engine = this._engine;\n if (element.childElementCount) {\n this._signalRemovalForInnerTriggers(element, context);\n }\n // this means that a * => VOID animation was detected and kicked off\n if (this.triggerLeaveAnimation(element, context, true))\n return;\n // find the player that is animating and make sure that the\n // removal is delayed until that player has completed\n let containsPotentialParentTransition = false;\n if (engine.totalAnimations) {\n const currentPlayers = engine.players.length ? engine.playersByQueriedElement.get(element) : [];\n // when this `if statement` does not continue forward it means that\n // a previous animation query has selected the current element and\n // is animating it. In this situation want to continue forwards and\n // allow the element to be queued up for animation later.\n if (currentPlayers && currentPlayers.length) {\n containsPotentialParentTransition = true;\n }\n else {\n let parent = element;\n while (parent = parent.parentNode) {\n const triggers = engine.statesByElement.get(parent);\n if (triggers) {\n containsPotentialParentTransition = true;\n break;\n }\n }\n }\n }\n // at this stage we know that the element will either get removed\n // during flush or will be picked up by a parent query. Either way\n // we need to fire the listeners for this element when it DOES get\n // removed (once the query parent animation is done or after flush)\n this.prepareLeaveAnimationListeners(element);\n // whether or not a parent has an animation we need to delay the deferral of the leave\n // operation until we have more information (which we do after flush() has been called)\n if (containsPotentialParentTransition) {\n engine.markElementAsRemoved(this.id, element, false, context);\n }\n else {\n const removalFlag = element[REMOVAL_FLAG];\n if (!removalFlag || removalFlag === NULL_REMOVAL_STATE) {\n // we do this after the flush has occurred such\n // that the callbacks can be fired\n engine.afterFlush(() => this.clearElementCache(element));\n engine.destroyInnerAnimations(element);\n engine._onRemovalComplete(element, context);\n }\n }\n }\n insertNode(element, parent) {\n addClass(element, this._hostClassName);\n }\n drainQueuedTransitions(microtaskId) {\n const instructions = [];\n this._queue.forEach(entry => {\n const player = entry.player;\n if (player.destroyed)\n return;\n const element = entry.element;\n const listeners = this._elementListeners.get(element);\n if (listeners) {\n listeners.forEach((listener) => {\n if (listener.name == entry.triggerName) {\n const baseEvent = makeAnimationEvent(element, entry.triggerName, entry.fromState.value, entry.toState.value);\n baseEvent['_data'] = microtaskId;\n listenOnPlayer(entry.player, listener.phase, baseEvent, listener.callback);\n }\n });\n }\n if (player.markedForDestroy) {\n this._engine.afterFlush(() => {\n // now we can destroy the element properly since the event listeners have\n // been bound to the player\n player.destroy();\n });\n }\n else {\n instructions.push(entry);\n }\n });\n this._queue = [];\n return instructions.sort((a, b) => {\n // if depCount == 0 them move to front\n // otherwise if a contains b then move back\n const d0 = a.transition.ast.depCount;\n const d1 = b.transition.ast.depCount;\n if (d0 == 0 || d1 == 0) {\n return d0 - d1;\n }\n return this._engine.driver.containsElement(a.element, b.element) ? 1 : -1;\n });\n }\n destroy(context) {\n this.players.forEach(p => p.destroy());\n this._signalRemovalForInnerTriggers(this.hostElement, context);\n }\n elementContainsData(element) {\n let containsData = false;\n if (this._elementListeners.has(element))\n containsData = true;\n containsData =\n (this._queue.find(entry => entry.element === element) ? true : false) || containsData;\n return containsData;\n }\n}\nclass TransitionAnimationEngine {\n constructor(bodyNode, driver, _normalizer) {\n this.bodyNode = bodyNode;\n this.driver = driver;\n this._normalizer = _normalizer;\n this.players = [];\n this.newHostElements = new Map();\n this.playersByElement = new Map();\n this.playersByQueriedElement = new Map();\n this.statesByElement = new Map();\n this.disabledNodes = new Set();\n this.totalAnimations = 0;\n this.totalQueuedPlayers = 0;\n this._namespaceLookup = {};\n this._namespaceList = [];\n this._flushFns = [];\n this._whenQuietFns = [];\n this.namespacesByHostElement = new Map();\n this.collectedEnterElements = [];\n this.collectedLeaveElements = [];\n // this method is designed to be overridden by the code that uses this engine\n this.onRemovalComplete = (element, context) => { };\n }\n /** @internal */\n _onRemovalComplete(element, context) {\n this.onRemovalComplete(element, context);\n }\n get queuedPlayers() {\n const players = [];\n this._namespaceList.forEach(ns => {\n ns.players.forEach(player => {\n if (player.queued) {\n players.push(player);\n }\n });\n });\n return players;\n }\n createNamespace(namespaceId, hostElement) {\n const ns = new AnimationTransitionNamespace(namespaceId, hostElement, this);\n if (this.bodyNode && this.driver.containsElement(this.bodyNode, hostElement)) {\n this._balanceNamespaceList(ns, hostElement);\n }\n else {\n // defer this later until flush during when the host element has\n // been inserted so that we know exactly where to place it in\n // the namespace list\n this.newHostElements.set(hostElement, ns);\n // given that this host element is a part of the animation code, it\n // may or may not be inserted by a parent node that is of an\n // animation renderer type. If this happens then we can still have\n // access to this item when we query for :enter nodes. If the parent\n // is a renderer then the set data-structure will normalize the entry\n this.collectEnterElement(hostElement);\n }\n return this._namespaceLookup[namespaceId] = ns;\n }\n _balanceNamespaceList(ns, hostElement) {\n const namespaceList = this._namespaceList;\n const namespacesByHostElement = this.namespacesByHostElement;\n const limit = namespaceList.length - 1;\n if (limit >= 0) {\n let found = false;\n if (this.driver.getParentElement !== undefined) {\n // Fast path for when the driver implements `getParentElement`, which allows us to find the\n // closest ancestor with an existing namespace that we can then insert `ns` after, without\n // having to inspect all existing namespaces.\n let ancestor = this.driver.getParentElement(hostElement);\n while (ancestor) {\n const ancestorNs = namespacesByHostElement.get(ancestor);\n if (ancestorNs) {\n // An animation namespace has been registered for this ancestor, so we insert `ns`\n // right after it to establish top-down ordering of animation namespaces.\n const index = namespaceList.indexOf(ancestorNs);\n namespaceList.splice(index + 1, 0, ns);\n found = true;\n break;\n }\n ancestor = this.driver.getParentElement(ancestor);\n }\n }\n else {\n // Slow path for backwards compatibility if the driver does not implement\n // `getParentElement`, to be removed once `getParentElement` is a required method.\n for (let i = limit; i >= 0; i--) {\n const nextNamespace = namespaceList[i];\n if (this.driver.containsElement(nextNamespace.hostElement, hostElement)) {\n namespaceList.splice(i + 1, 0, ns);\n found = true;\n break;\n }\n }\n }\n if (!found) {\n // No namespace exists that is an ancestor of `ns`, so `ns` is inserted at the front to\n // ensure that any existing descendants are ordered after `ns`, retaining the desired\n // top-down ordering.\n namespaceList.unshift(ns);\n }\n }\n else {\n namespaceList.push(ns);\n }\n namespacesByHostElement.set(hostElement, ns);\n return ns;\n }\n register(namespaceId, hostElement) {\n let ns = this._namespaceLookup[namespaceId];\n if (!ns) {\n ns = this.createNamespace(namespaceId, hostElement);\n }\n return ns;\n }\n registerTrigger(namespaceId, name, trigger) {\n let ns = this._namespaceLookup[namespaceId];\n if (ns && ns.register(name, trigger)) {\n this.totalAnimations++;\n }\n }\n destroy(namespaceId, context) {\n if (!namespaceId)\n return;\n const ns = this._fetchNamespace(namespaceId);\n this.afterFlush(() => {\n this.namespacesByHostElement.delete(ns.hostElement);\n delete this._namespaceLookup[namespaceId];\n const index = this._namespaceList.indexOf(ns);\n if (index >= 0) {\n this._namespaceList.splice(index, 1);\n }\n });\n this.afterFlushAnimationsDone(() => ns.destroy(context));\n }\n _fetchNamespace(id) {\n return this._namespaceLookup[id];\n }\n fetchNamespacesByElement(element) {\n // normally there should only be one namespace per element, however\n // if @triggers are placed on both the component element and then\n // its host element (within the component code) then there will be\n // two namespaces returned. We use a set here to simply deduplicate\n // the namespaces in case (for the reason described above) there are multiple triggers\n const namespaces = new Set();\n const elementStates = this.statesByElement.get(element);\n if (elementStates) {\n const keys = Object.keys(elementStates);\n for (let i = 0; i < keys.length; i++) {\n const nsId = elementStates[keys[i]].namespaceId;\n if (nsId) {\n const ns = this._fetchNamespace(nsId);\n if (ns) {\n namespaces.add(ns);\n }\n }\n }\n }\n return namespaces;\n }\n trigger(namespaceId, element, name, value) {\n if (isElementNode(element)) {\n const ns = this._fetchNamespace(namespaceId);\n if (ns) {\n ns.trigger(element, name, value);\n return true;\n }\n }\n return false;\n }\n insertNode(namespaceId, element, parent, insertBefore) {\n if (!isElementNode(element))\n return;\n // special case for when an element is removed and reinserted (move operation)\n // when this occurs we do not want to use the element for deletion later\n const details = element[REMOVAL_FLAG];\n if (details && details.setForRemoval) {\n details.setForRemoval = false;\n details.setForMove = true;\n const index = this.collectedLeaveElements.indexOf(element);\n if (index >= 0) {\n this.collectedLeaveElements.splice(index, 1);\n }\n }\n // in the event that the namespaceId is blank then the caller\n // code does not contain any animation code in it, but it is\n // just being called so that the node is marked as being inserted\n if (namespaceId) {\n const ns = this._fetchNamespace(namespaceId);\n // This if-statement is a workaround for router issue #21947.\n // The router sometimes hits a race condition where while a route\n // is being instantiated a new navigation arrives, triggering leave\n // animation of DOM that has not been fully initialized, until this\n // is resolved, we need to handle the scenario when DOM is not in a\n // consistent state during the animation.\n if (ns) {\n ns.insertNode(element, parent);\n }\n }\n // only *directives and host elements are inserted before\n if (insertBefore) {\n this.collectEnterElement(element);\n }\n }\n collectEnterElement(element) {\n this.collectedEnterElements.push(element);\n }\n markElementAsDisabled(element, value) {\n if (value) {\n if (!this.disabledNodes.has(element)) {\n this.disabledNodes.add(element);\n addClass(element, DISABLED_CLASSNAME);\n }\n }\n else if (this.disabledNodes.has(element)) {\n this.disabledNodes.delete(element);\n removeClass(element, DISABLED_CLASSNAME);\n }\n }\n removeNode(namespaceId, element, isHostElement, context) {\n if (isElementNode(element)) {\n const ns = namespaceId ? this._fetchNamespace(namespaceId) : null;\n if (ns) {\n ns.removeNode(element, context);\n }\n else {\n this.markElementAsRemoved(namespaceId, element, false, context);\n }\n if (isHostElement) {\n const hostNS = this.namespacesByHostElement.get(element);\n if (hostNS && hostNS.id !== namespaceId) {\n hostNS.removeNode(element, context);\n }\n }\n }\n else {\n this._onRemovalComplete(element, context);\n }\n }\n markElementAsRemoved(namespaceId, element, hasAnimation, context, previousTriggersValues) {\n this.collectedLeaveElements.push(element);\n element[REMOVAL_FLAG] = {\n namespaceId,\n setForRemoval: context,\n hasAnimation,\n removedBeforeQueried: false,\n previousTriggersValues\n };\n }\n listen(namespaceId, element, name, phase, callback) {\n if (isElementNode(element)) {\n return this._fetchNamespace(namespaceId).listen(element, name, phase, callback);\n }\n return () => { };\n }\n _buildInstruction(entry, subTimelines, enterClassName, leaveClassName, skipBuildAst) {\n return entry.transition.build(this.driver, entry.element, entry.fromState.value, entry.toState.value, enterClassName, leaveClassName, entry.fromState.options, entry.toState.options, subTimelines, skipBuildAst);\n }\n destroyInnerAnimations(containerElement) {\n let elements = this.driver.query(containerElement, NG_TRIGGER_SELECTOR, true);\n elements.forEach(element => this.destroyActiveAnimationsForElement(element));\n if (this.playersByQueriedElement.size == 0)\n return;\n elements = this.driver.query(containerElement, NG_ANIMATING_SELECTOR, true);\n elements.forEach(element => this.finishActiveQueriedAnimationOnElement(element));\n }\n destroyActiveAnimationsForElement(element) {\n const players = this.playersByElement.get(element);\n if (players) {\n players.forEach(player => {\n // special case for when an element is set for destruction, but hasn't started.\n // in this situation we want to delay the destruction until the flush occurs\n // so that any event listeners attached to the player are triggered.\n if (player.queued) {\n player.markedForDestroy = true;\n }\n else {\n player.destroy();\n }\n });\n }\n }\n finishActiveQueriedAnimationOnElement(element) {\n const players = this.playersByQueriedElement.get(element);\n if (players) {\n players.forEach(player => player.finish());\n }\n }\n whenRenderingDone() {\n return new Promise(resolve => {\n if (this.players.length) {\n return optimizeGroupPlayer(this.players).onDone(() => resolve());\n }\n else {\n resolve();\n }\n });\n }\n processLeaveNode(element) {\n const details = element[REMOVAL_FLAG];\n if (details && details.setForRemoval) {\n // this will prevent it from removing it twice\n element[REMOVAL_FLAG] = NULL_REMOVAL_STATE;\n if (details.namespaceId) {\n this.destroyInnerAnimations(element);\n const ns = this._fetchNamespace(details.namespaceId);\n if (ns) {\n ns.clearElementCache(element);\n }\n }\n this._onRemovalComplete(element, details.setForRemoval);\n }\n if (element.classList?.contains(DISABLED_CLASSNAME)) {\n this.markElementAsDisabled(element, false);\n }\n this.driver.query(element, DISABLED_SELECTOR, true).forEach(node => {\n this.markElementAsDisabled(node, false);\n });\n }\n flush(microtaskId = -1) {\n let players = [];\n if (this.newHostElements.size) {\n this.newHostElements.forEach((ns, element) => this._balanceNamespaceList(ns, element));\n this.newHostElements.clear();\n }\n if (this.totalAnimations && this.collectedEnterElements.length) {\n for (let i = 0; i < this.collectedEnterElements.length; i++) {\n const elm = this.collectedEnterElements[i];\n addClass(elm, STAR_CLASSNAME);\n }\n }\n if (this._namespaceList.length &&\n (this.totalQueuedPlayers || this.collectedLeaveElements.length)) {\n const cleanupFns = [];\n try {\n players = this._flushAnimations(cleanupFns, microtaskId);\n }\n finally {\n for (let i = 0; i < cleanupFns.length; i++) {\n cleanupFns[i]();\n }\n }\n }\n else {\n for (let i = 0; i < this.collectedLeaveElements.length; i++) {\n const element = this.collectedLeaveElements[i];\n this.processLeaveNode(element);\n }\n }\n this.totalQueuedPlayers = 0;\n this.collectedEnterElements.length = 0;\n this.collectedLeaveElements.length = 0;\n this._flushFns.forEach(fn => fn());\n this._flushFns = [];\n if (this._whenQuietFns.length) {\n // we move these over to a variable so that\n // if any new callbacks are registered in another\n // flush they do not populate the existing set\n const quietFns = this._whenQuietFns;\n this._whenQuietFns = [];\n if (players.length) {\n optimizeGroupPlayer(players).onDone(() => {\n quietFns.forEach(fn => fn());\n });\n }\n else {\n quietFns.forEach(fn => fn());\n }\n }\n }\n reportError(errors) {\n throw triggerTransitionsFailed(errors);\n }\n _flushAnimations(cleanupFns, microtaskId) {\n const subTimelines = new ElementInstructionMap();\n const skippedPlayers = [];\n const skippedPlayersMap = new Map();\n const queuedInstructions = [];\n const queriedElements = new Map();\n const allPreStyleElements = new Map();\n const allPostStyleElements = new Map();\n const disabledElementsSet = new Set();\n this.disabledNodes.forEach(node => {\n disabledElementsSet.add(node);\n const nodesThatAreDisabled = this.driver.query(node, QUEUED_SELECTOR, true);\n for (let i = 0; i < nodesThatAreDisabled.length; i++) {\n disabledElementsSet.add(nodesThatAreDisabled[i]);\n }\n });\n const bodyNode = this.bodyNode;\n const allTriggerElements = Array.from(this.statesByElement.keys());\n const enterNodeMap = buildRootMap(allTriggerElements, this.collectedEnterElements);\n // this must occur before the instructions are built below such that\n // the :enter queries match the elements (since the timeline queries\n // are fired during instruction building).\n const enterNodeMapIds = new Map();\n let i = 0;\n enterNodeMap.forEach((nodes, root) => {\n const className = ENTER_CLASSNAME + i++;\n enterNodeMapIds.set(root, className);\n nodes.forEach(node => addClass(node, className));\n });\n const allLeaveNodes = [];\n const mergedLeaveNodes = new Set();\n const leaveNodesWithoutAnimations = new Set();\n for (let i = 0; i < this.collectedLeaveElements.length; i++) {\n const element = this.collectedLeaveElements[i];\n const details = element[REMOVAL_FLAG];\n if (details && details.setForRemoval) {\n allLeaveNodes.push(element);\n mergedLeaveNodes.add(element);\n if (details.hasAnimation) {\n this.driver.query(element, STAR_SELECTOR, true).forEach(elm => mergedLeaveNodes.add(elm));\n }\n else {\n leaveNodesWithoutAnimations.add(element);\n }\n }\n }\n const leaveNodeMapIds = new Map();\n const leaveNodeMap = buildRootMap(allTriggerElements, Array.from(mergedLeaveNodes));\n leaveNodeMap.forEach((nodes, root) => {\n const className = LEAVE_CLASSNAME + i++;\n leaveNodeMapIds.set(root, className);\n nodes.forEach(node => addClass(node, className));\n });\n cleanupFns.push(() => {\n enterNodeMap.forEach((nodes, root) => {\n const className = enterNodeMapIds.get(root);\n nodes.forEach(node => removeClass(node, className));\n });\n leaveNodeMap.forEach((nodes, root) => {\n const className = leaveNodeMapIds.get(root);\n nodes.forEach(node => removeClass(node, className));\n });\n allLeaveNodes.forEach(element => {\n this.processLeaveNode(element);\n });\n });\n const allPlayers = [];\n const erroneousTransitions = [];\n for (let i = this._namespaceList.length - 1; i >= 0; i--) {\n const ns = this._namespaceList[i];\n ns.drainQueuedTransitions(microtaskId).forEach(entry => {\n const player = entry.player;\n const element = entry.element;\n allPlayers.push(player);\n if (this.collectedEnterElements.length) {\n const details = element[REMOVAL_FLAG];\n // animations for move operations (elements being removed and reinserted,\n // e.g. when the order of an *ngFor list changes) are currently not supported\n if (details && details.setForMove) {\n if (details.previousTriggersValues &&\n details.previousTriggersValues.has(entry.triggerName)) {\n const previousValue = details.previousTriggersValues.get(entry.triggerName);\n // we need to restore the previous trigger value since the element has\n // only been moved and hasn't actually left the DOM\n const triggersWithStates = this.statesByElement.get(entry.element);\n if (triggersWithStates && triggersWithStates[entry.triggerName]) {\n triggersWithStates[entry.triggerName].value = previousValue;\n }\n }\n player.destroy();\n return;\n }\n }\n const nodeIsOrphaned = !bodyNode || !this.driver.containsElement(bodyNode, element);\n const leaveClassName = leaveNodeMapIds.get(element);\n const enterClassName = enterNodeMapIds.get(element);\n const instruction = this._buildInstruction(entry, subTimelines, enterClassName, leaveClassName, nodeIsOrphaned);\n if (instruction.errors && instruction.errors.length) {\n erroneousTransitions.push(instruction);\n return;\n }\n // even though the element may not be in the DOM, it may still\n // be added at a later point (due to the mechanics of content\n // projection and/or dynamic component insertion) therefore it's\n // important to still style the element.\n if (nodeIsOrphaned) {\n player.onStart(() => eraseStyles(element, instruction.fromStyles));\n player.onDestroy(() => setStyles(element, instruction.toStyles));\n skippedPlayers.push(player);\n return;\n }\n // if an unmatched transition is queued and ready to go\n // then it SHOULD NOT render an animation and cancel the\n // previously running animations.\n if (entry.isFallbackTransition) {\n player.onStart(() => eraseStyles(element, instruction.fromStyles));\n player.onDestroy(() => setStyles(element, instruction.toStyles));\n skippedPlayers.push(player);\n return;\n }\n // this means that if a parent animation uses this animation as a sub-trigger\n // then it will instruct the timeline builder not to add a player delay, but\n // instead stretch the first keyframe gap until the animation starts. This is\n // important in order to prevent extra initialization styles from being\n // required by the user for the animation.\n const timelines = [];\n instruction.timelines.forEach(tl => {\n tl.stretchStartingKeyframe = true;\n if (!this.disabledNodes.has(tl.element)) {\n timelines.push(tl);\n }\n });\n instruction.timelines = timelines;\n subTimelines.append(element, instruction.timelines);\n const tuple = { instruction, player, element };\n queuedInstructions.push(tuple);\n instruction.queriedElements.forEach(element => getOrSetAsInMap(queriedElements, element, []).push(player));\n instruction.preStyleProps.forEach((stringMap, element) => {\n const props = Object.keys(stringMap);\n if (props.length) {\n let setVal = allPreStyleElements.get(element);\n if (!setVal) {\n allPreStyleElements.set(element, setVal = new Set());\n }\n props.forEach(prop => setVal.add(prop));\n }\n });\n instruction.postStyleProps.forEach((stringMap, element) => {\n const props = Object.keys(stringMap);\n let setVal = allPostStyleElements.get(element);\n if (!setVal) {\n allPostStyleElements.set(element, setVal = new Set());\n }\n props.forEach(prop => setVal.add(prop));\n });\n });\n }\n if (erroneousTransitions.length) {\n const errors = [];\n erroneousTransitions.forEach(instruction => {\n errors.push(transitionFailed(instruction.triggerName, instruction.errors));\n });\n allPlayers.forEach(player => player.destroy());\n this.reportError(errors);\n }\n const allPreviousPlayersMap = new Map();\n // this map tells us which element in the DOM tree is contained by\n // which animation. Further down this map will get populated once\n // the players are built and in doing so we can use it to efficiently\n // figure out if a sub player is skipped due to a parent player having priority.\n const animationElementMap = new Map();\n queuedInstructions.forEach(entry => {\n const element = entry.element;\n if (subTimelines.has(element)) {\n animationElementMap.set(element, element);\n this._beforeAnimationBuild(entry.player.namespaceId, entry.instruction, allPreviousPlayersMap);\n }\n });\n skippedPlayers.forEach(player => {\n const element = player.element;\n const previousPlayers = this._getPreviousPlayers(element, false, player.namespaceId, player.triggerName, null);\n previousPlayers.forEach(prevPlayer => {\n getOrSetAsInMap(allPreviousPlayersMap, element, []).push(prevPlayer);\n prevPlayer.destroy();\n });\n });\n // this is a special case for nodes that will be removed either by\n // having their own leave animations or by being queried in a container\n // that will be removed once a parent animation is complete. The idea\n // here is that * styles must be identical to ! styles because of\n // backwards compatibility (* is also filled in by default in many places).\n // Otherwise * styles will return an empty value or \"auto\" since the element\n // passed to getComputedStyle will not be visible (since * === destination)\n const replaceNodes = allLeaveNodes.filter(node => {\n return replacePostStylesAsPre(node, allPreStyleElements, allPostStyleElements);\n });\n // POST STAGE: fill the * styles\n const postStylesMap = new Map();\n const allLeaveQueriedNodes = cloakAndComputeStyles(postStylesMap, this.driver, leaveNodesWithoutAnimations, allPostStyleElements, AUTO_STYLE);\n allLeaveQueriedNodes.forEach(node => {\n if (replacePostStylesAsPre(node, allPreStyleElements, allPostStyleElements)) {\n replaceNodes.push(node);\n }\n });\n // PRE STAGE: fill the ! styles\n const preStylesMap = new Map();\n enterNodeMap.forEach((nodes, root) => {\n cloakAndComputeStyles(preStylesMap, this.driver, new Set(nodes), allPreStyleElements, ɵPRE_STYLE);\n });\n replaceNodes.forEach(node => {\n const post = postStylesMap.get(node);\n const pre = preStylesMap.get(node);\n postStylesMap.set(node, { ...post, ...pre });\n });\n const rootPlayers = [];\n const subPlayers = [];\n const NO_PARENT_ANIMATION_ELEMENT_DETECTED = {};\n queuedInstructions.forEach(entry => {\n const { element, player, instruction } = entry;\n // this means that it was never consumed by a parent animation which\n // means that it is independent and therefore should be set for animation\n if (subTimelines.has(element)) {\n if (disabledElementsSet.has(element)) {\n player.onDestroy(() => setStyles(element, instruction.toStyles));\n player.disabled = true;\n player.overrideTotalTime(instruction.totalTime);\n skippedPlayers.push(player);\n return;\n }\n // this will flow up the DOM and query the map to figure out\n // if a parent animation has priority over it. In the situation\n // that a parent is detected then it will cancel the loop. If\n // nothing is detected, or it takes a few hops to find a parent,\n // then it will fill in the missing nodes and signal them as having\n // a detected parent (or a NO_PARENT value via a special constant).\n let parentWithAnimation = NO_PARENT_ANIMATION_ELEMENT_DETECTED;\n if (animationElementMap.size > 1) {\n let elm = element;\n const parentsToAdd = [];\n while (elm = elm.parentNode) {\n const detectedParent = animationElementMap.get(elm);\n if (detectedParent) {\n parentWithAnimation = detectedParent;\n break;\n }\n parentsToAdd.push(elm);\n }\n parentsToAdd.forEach(parent => animationElementMap.set(parent, parentWithAnimation));\n }\n const innerPlayer = this._buildAnimation(player.namespaceId, instruction, allPreviousPlayersMap, skippedPlayersMap, preStylesMap, postStylesMap);\n player.setRealPlayer(innerPlayer);\n if (parentWithAnimation === NO_PARENT_ANIMATION_ELEMENT_DETECTED) {\n rootPlayers.push(player);\n }\n else {\n const parentPlayers = this.playersByElement.get(parentWithAnimation);\n if (parentPlayers && parentPlayers.length) {\n player.parentPlayer = optimizeGroupPlayer(parentPlayers);\n }\n skippedPlayers.push(player);\n }\n }\n else {\n eraseStyles(element, instruction.fromStyles);\n player.onDestroy(() => setStyles(element, instruction.toStyles));\n // there still might be a ancestor player animating this\n // element therefore we will still add it as a sub player\n // even if its animation may be disabled\n subPlayers.push(player);\n if (disabledElementsSet.has(element)) {\n skippedPlayers.push(player);\n }\n }\n });\n // find all of the sub players' corresponding inner animation players\n subPlayers.forEach(player => {\n // even if no players are found for a sub animation it\n // will still complete itself after the next tick since it's Noop\n const playersForElement = skippedPlayersMap.get(player.element);\n if (playersForElement && playersForElement.length) {\n const innerPlayer = optimizeGroupPlayer(playersForElement);\n player.setRealPlayer(innerPlayer);\n }\n });\n // the reason why we don't actually play the animation is\n // because all that a skipped player is designed to do is to\n // fire the start/done transition callback events\n skippedPlayers.forEach(player => {\n if (player.parentPlayer) {\n player.syncPlayerEvents(player.parentPlayer);\n }\n else {\n player.destroy();\n }\n });\n // run through all of the queued removals and see if they\n // were picked up by a query. If not then perform the removal\n // operation right away unless a parent animation is ongoing.\n for (let i = 0; i < allLeaveNodes.length; i++) {\n const element = allLeaveNodes[i];\n const details = element[REMOVAL_FLAG];\n removeClass(element, LEAVE_CLASSNAME);\n // this means the element has a removal animation that is being\n // taken care of and therefore the inner elements will hang around\n // until that animation is over (or the parent queried animation)\n if (details && details.hasAnimation)\n continue;\n let players = [];\n // if this element is queried or if it contains queried children\n // then we want for the element not to be removed from the page\n // until the queried animations have finished\n if (queriedElements.size) {\n let queriedPlayerResults = queriedElements.get(element);\n if (queriedPlayerResults && queriedPlayerResults.length) {\n players.push(...queriedPlayerResults);\n }\n let queriedInnerElements = this.driver.query(element, NG_ANIMATING_SELECTOR, true);\n for (let j = 0; j < queriedInnerElements.length; j++) {\n let queriedPlayers = queriedElements.get(queriedInnerElements[j]);\n if (queriedPlayers && queriedPlayers.length) {\n players.push(...queriedPlayers);\n }\n }\n }\n const activePlayers = players.filter(p => !p.destroyed);\n if (activePlayers.length) {\n removeNodesAfterAnimationDone(this, element, activePlayers);\n }\n else {\n this.processLeaveNode(element);\n }\n }\n // this is required so the cleanup method doesn't remove them\n allLeaveNodes.length = 0;\n rootPlayers.forEach(player => {\n this.players.push(player);\n player.onDone(() => {\n player.destroy();\n const index = this.players.indexOf(player);\n this.players.splice(index, 1);\n });\n player.play();\n });\n return rootPlayers;\n }\n elementContainsData(namespaceId, element) {\n let containsData = false;\n const details = element[REMOVAL_FLAG];\n if (details && details.setForRemoval)\n containsData = true;\n if (this.playersByElement.has(element))\n containsData = true;\n if (this.playersByQueriedElement.has(element))\n containsData = true;\n if (this.statesByElement.has(element))\n containsData = true;\n return this._fetchNamespace(namespaceId).elementContainsData(element) || containsData;\n }\n afterFlush(callback) {\n this._flushFns.push(callback);\n }\n afterFlushAnimationsDone(callback) {\n this._whenQuietFns.push(callback);\n }\n _getPreviousPlayers(element, isQueriedElement, namespaceId, triggerName, toStateValue) {\n let players = [];\n if (isQueriedElement) {\n const queriedElementPlayers = this.playersByQueriedElement.get(element);\n if (queriedElementPlayers) {\n players = queriedElementPlayers;\n }\n }\n else {\n const elementPlayers = this.playersByElement.get(element);\n if (elementPlayers) {\n const isRemovalAnimation = !toStateValue || toStateValue == VOID_VALUE;\n elementPlayers.forEach(player => {\n if (player.queued)\n return;\n if (!isRemovalAnimation && player.triggerName != triggerName)\n return;\n players.push(player);\n });\n }\n }\n if (namespaceId || triggerName) {\n players = players.filter(player => {\n if (namespaceId && namespaceId != player.namespaceId)\n return false;\n if (triggerName && triggerName != player.triggerName)\n return false;\n return true;\n });\n }\n return players;\n }\n _beforeAnimationBuild(namespaceId, instruction, allPreviousPlayersMap) {\n const triggerName = instruction.triggerName;\n const rootElement = instruction.element;\n // when a removal animation occurs, ALL previous players are collected\n // and destroyed (even if they are outside of the current namespace)\n const targetNameSpaceId = instruction.isRemovalTransition ? undefined : namespaceId;\n const targetTriggerName = instruction.isRemovalTransition ? undefined : triggerName;\n for (const timelineInstruction of instruction.timelines) {\n const element = timelineInstruction.element;\n const isQueriedElement = element !== rootElement;\n const players = getOrSetAsInMap(allPreviousPlayersMap, element, []);\n const previousPlayers = this._getPreviousPlayers(element, isQueriedElement, targetNameSpaceId, targetTriggerName, instruction.toState);\n previousPlayers.forEach(player => {\n const realPlayer = player.getRealPlayer();\n if (realPlayer.beforeDestroy) {\n realPlayer.beforeDestroy();\n }\n player.destroy();\n players.push(player);\n });\n }\n // this needs to be done so that the PRE/POST styles can be\n // computed properly without interfering with the previous animation\n eraseStyles(rootElement, instruction.fromStyles);\n }\n _buildAnimation(namespaceId, instruction, allPreviousPlayersMap, skippedPlayersMap, preStylesMap, postStylesMap) {\n const triggerName = instruction.triggerName;\n const rootElement = instruction.element;\n // we first run this so that the previous animation player\n // data can be passed into the successive animation players\n const allQueriedPlayers = [];\n const allConsumedElements = new Set();\n const allSubElements = new Set();\n const allNewPlayers = instruction.timelines.map(timelineInstruction => {\n const element = timelineInstruction.element;\n allConsumedElements.add(element);\n // FIXME (matsko): make sure to-be-removed animations are removed properly\n const details = element[REMOVAL_FLAG];\n if (details && details.removedBeforeQueried)\n return new NoopAnimationPlayer(timelineInstruction.duration, timelineInstruction.delay);\n const isQueriedElement = element !== rootElement;\n const previousPlayers = flattenGroupPlayers((allPreviousPlayersMap.get(element) || EMPTY_PLAYER_ARRAY)\n .map(p => p.getRealPlayer()))\n .filter(p => {\n // the `element` is not apart of the AnimationPlayer definition, but\n // Mock/WebAnimations\n // use the element within their implementation. This will be added in Angular5 to\n // AnimationPlayer\n const pp = p;\n return pp.element ? pp.element === element : false;\n });\n const preStyles = preStylesMap.get(element);\n const postStyles = postStylesMap.get(element);\n const keyframes = normalizeKeyframes(this.driver, this._normalizer, element, timelineInstruction.keyframes, preStyles, postStyles);\n const player = this._buildPlayer(timelineInstruction, keyframes, previousPlayers);\n // this means that this particular player belongs to a sub trigger. It is\n // important that we match this player up with the corresponding (@trigger.listener)\n if (timelineInstruction.subTimeline && skippedPlayersMap) {\n allSubElements.add(element);\n }\n if (isQueriedElement) {\n const wrappedPlayer = new TransitionAnimationPlayer(namespaceId, triggerName, element);\n wrappedPlayer.setRealPlayer(player);\n allQueriedPlayers.push(wrappedPlayer);\n }\n return player;\n });\n allQueriedPlayers.forEach(player => {\n getOrSetAsInMap(this.playersByQueriedElement, player.element, []).push(player);\n player.onDone(() => deleteOrUnsetInMap(this.playersByQueriedElement, player.element, player));\n });\n allConsumedElements.forEach(element => addClass(element, NG_ANIMATING_CLASSNAME));\n const player = optimizeGroupPlayer(allNewPlayers);\n player.onDestroy(() => {\n allConsumedElements.forEach(element => removeClass(element, NG_ANIMATING_CLASSNAME));\n setStyles(rootElement, instruction.toStyles);\n });\n // this basically makes all of the callbacks for sub element animations\n // be dependent on the upper players for when they finish\n allSubElements.forEach(element => {\n getOrSetAsInMap(skippedPlayersMap, element, []).push(player);\n });\n return player;\n }\n _buildPlayer(instruction, keyframes, previousPlayers) {\n if (keyframes.length > 0) {\n return this.driver.animate(instruction.element, keyframes, instruction.duration, instruction.delay, instruction.easing, previousPlayers);\n }\n // special case for when an empty transition|definition is provided\n // ... there is no point in rendering an empty animation\n return new NoopAnimationPlayer(instruction.duration, instruction.delay);\n }\n}\nclass TransitionAnimationPlayer {\n constructor(namespaceId, triggerName, element) {\n this.namespaceId = namespaceId;\n this.triggerName = triggerName;\n this.element = element;\n this._player = new NoopAnimationPlayer();\n this._containsRealPlayer = false;\n this._queuedCallbacks = {};\n this.destroyed = false;\n this.markedForDestroy = false;\n this.disabled = false;\n this.queued = true;\n this.totalTime = 0;\n }\n setRealPlayer(player) {\n if (this._containsRealPlayer)\n return;\n this._player = player;\n Object.keys(this._queuedCallbacks).forEach(phase => {\n this._queuedCallbacks[phase].forEach(callback => listenOnPlayer(player, phase, undefined, callback));\n });\n this._queuedCallbacks = {};\n this._containsRealPlayer = true;\n this.overrideTotalTime(player.totalTime);\n this.queued = false;\n }\n getRealPlayer() {\n return this._player;\n }\n overrideTotalTime(totalTime) {\n this.totalTime = totalTime;\n }\n syncPlayerEvents(player) {\n const p = this._player;\n if (p.triggerCallback) {\n player.onStart(() => p.triggerCallback('start'));\n }\n player.onDone(() => this.finish());\n player.onDestroy(() => this.destroy());\n }\n _queueEvent(name, callback) {\n getOrSetAsInMap(this._queuedCallbacks, name, []).push(callback);\n }\n onDone(fn) {\n if (this.queued) {\n this._queueEvent('done', fn);\n }\n this._player.onDone(fn);\n }\n onStart(fn) {\n if (this.queued) {\n this._queueEvent('start', fn);\n }\n this._player.onStart(fn);\n }\n onDestroy(fn) {\n if (this.queued) {\n this._queueEvent('destroy', fn);\n }\n this._player.onDestroy(fn);\n }\n init() {\n this._player.init();\n }\n hasStarted() {\n return this.queued ? false : this._player.hasStarted();\n }\n play() {\n !this.queued && this._player.play();\n }\n pause() {\n !this.queued && this._player.pause();\n }\n restart() {\n !this.queued && this._player.restart();\n }\n finish() {\n this._player.finish();\n }\n destroy() {\n this.destroyed = true;\n this._player.destroy();\n }\n reset() {\n !this.queued && this._player.reset();\n }\n setPosition(p) {\n if (!this.queued) {\n this._player.setPosition(p);\n }\n }\n getPosition() {\n return this.queued ? 0 : this._player.getPosition();\n }\n /** @internal */\n triggerCallback(phaseName) {\n const p = this._player;\n if (p.triggerCallback) {\n p.triggerCallback(phaseName);\n }\n }\n}\nfunction deleteOrUnsetInMap(map, key, value) {\n let currentValues;\n if (map instanceof Map) {\n currentValues = map.get(key);\n if (currentValues) {\n if (currentValues.length) {\n const index = currentValues.indexOf(value);\n currentValues.splice(index, 1);\n }\n if (currentValues.length == 0) {\n map.delete(key);\n }\n }\n }\n else {\n currentValues = map[key];\n if (currentValues) {\n if (currentValues.length) {\n const index = currentValues.indexOf(value);\n currentValues.splice(index, 1);\n }\n if (currentValues.length == 0) {\n delete map[key];\n }\n }\n }\n return currentValues;\n}\nfunction normalizeTriggerValue(value) {\n // we use `!= null` here because it's the most simple\n // way to test against a \"falsy\" value without mixing\n // in empty strings or a zero value. DO NOT OPTIMIZE.\n return value != null ? value : null;\n}\nfunction isElementNode(node) {\n return node && node['nodeType'] === 1;\n}\nfunction isTriggerEventValid(eventName) {\n return eventName == 'start' || eventName == 'done';\n}\nfunction cloakElement(element, value) {\n const oldValue = element.style.display;\n element.style.display = value != null ? value : 'none';\n return oldValue;\n}\nfunction cloakAndComputeStyles(valuesMap, driver, elements, elementPropsMap, defaultStyle) {\n const cloakVals = [];\n elements.forEach(element => cloakVals.push(cloakElement(element)));\n const failedElements = [];\n elementPropsMap.forEach((props, element) => {\n const styles = {};\n props.forEach(prop => {\n const value = styles[prop] = driver.computeStyle(element, prop, defaultStyle);\n // there is no easy way to detect this because a sub element could be removed\n // by a parent animation element being detached.\n if (!value || value.length == 0) {\n element[REMOVAL_FLAG] = NULL_REMOVED_QUERIED_STATE;\n failedElements.push(element);\n }\n });\n valuesMap.set(element, styles);\n });\n // we use a index variable here since Set.forEach(a, i) does not return\n // an index value for the closure (but instead just the value)\n let i = 0;\n elements.forEach(element => cloakElement(element, cloakVals[i++]));\n return failedElements;\n}\n/*\nSince the Angular renderer code will return a collection of inserted\nnodes in all areas of a DOM tree, it's up to this algorithm to figure\nout which nodes are roots for each animation @trigger.\n\nBy placing each inserted node into a Set and traversing upwards, it\nis possible to find the @trigger elements and well any direct *star\ninsertion nodes, if a @trigger root is found then the enter element\nis placed into the Map[@trigger] spot.\n */\nfunction buildRootMap(roots, nodes) {\n const rootMap = new Map();\n roots.forEach(root => rootMap.set(root, []));\n if (nodes.length == 0)\n return rootMap;\n const NULL_NODE = 1;\n const nodeSet = new Set(nodes);\n const localRootMap = new Map();\n function getRoot(node) {\n if (!node)\n return NULL_NODE;\n let root = localRootMap.get(node);\n if (root)\n return root;\n const parent = node.parentNode;\n if (rootMap.has(parent)) { // ngIf inside @trigger\n root = parent;\n }\n else if (nodeSet.has(parent)) { // ngIf inside ngIf\n root = NULL_NODE;\n }\n else { // recurse upwards\n root = getRoot(parent);\n }\n localRootMap.set(node, root);\n return root;\n }\n nodes.forEach(node => {\n const root = getRoot(node);\n if (root !== NULL_NODE) {\n rootMap.get(root).push(node);\n }\n });\n return rootMap;\n}\nfunction addClass(element, className) {\n element.classList?.add(className);\n}\nfunction removeClass(element, className) {\n element.classList?.remove(className);\n}\nfunction removeNodesAfterAnimationDone(engine, element, players) {\n optimizeGroupPlayer(players).onDone(() => engine.processLeaveNode(element));\n}\nfunction flattenGroupPlayers(players) {\n const finalPlayers = [];\n _flattenGroupPlayersRecur(players, finalPlayers);\n return finalPlayers;\n}\nfunction _flattenGroupPlayersRecur(players, finalPlayers) {\n for (let i = 0; i < players.length; i++) {\n const player = players[i];\n if (player instanceof ɵAnimationGroupPlayer) {\n _flattenGroupPlayersRecur(player.players, finalPlayers);\n }\n else {\n finalPlayers.push(player);\n }\n }\n}\nfunction objEquals(a, b) {\n const k1 = Object.keys(a);\n const k2 = Object.keys(b);\n if (k1.length != k2.length)\n return false;\n for (let i = 0; i < k1.length; i++) {\n const prop = k1[i];\n if (!b.hasOwnProperty(prop) || a[prop] !== b[prop])\n return false;\n }\n return true;\n}\nfunction replacePostStylesAsPre(element, allPreStyleElements, allPostStyleElements) {\n const postEntry = allPostStyleElements.get(element);\n if (!postEntry)\n return false;\n let preEntry = allPreStyleElements.get(element);\n if (preEntry) {\n postEntry.forEach(data => preEntry.add(data));\n }\n else {\n allPreStyleElements.set(element, postEntry);\n }\n allPostStyleElements.delete(element);\n return true;\n}\n\nclass AnimationEngine {\n constructor(bodyNode, _driver, _normalizer) {\n this.bodyNode = bodyNode;\n this._driver = _driver;\n this._normalizer = _normalizer;\n this._triggerCache = {};\n // this method is designed to be overridden by the code that uses this engine\n this.onRemovalComplete = (element, context) => { };\n this._transitionEngine = new TransitionAnimationEngine(bodyNode, _driver, _normalizer);\n this._timelineEngine = new TimelineAnimationEngine(bodyNode, _driver, _normalizer);\n this._transitionEngine.onRemovalComplete = (element, context) => this.onRemovalComplete(element, context);\n }\n registerTrigger(componentId, namespaceId, hostElement, name, metadata) {\n const cacheKey = componentId + '-' + name;\n let trigger = this._triggerCache[cacheKey];\n if (!trigger) {\n const errors = [];\n const warnings = [];\n const ast = buildAnimationAst(this._driver, metadata, errors, warnings);\n if (errors.length) {\n throw triggerBuildFailed(name, errors);\n }\n if (warnings.length) {\n warnTriggerBuild(name, warnings);\n }\n trigger = buildTrigger(name, ast, this._normalizer);\n this._triggerCache[cacheKey] = trigger;\n }\n this._transitionEngine.registerTrigger(namespaceId, name, trigger);\n }\n register(namespaceId, hostElement) {\n this._transitionEngine.register(namespaceId, hostElement);\n }\n destroy(namespaceId, context) {\n this._transitionEngine.destroy(namespaceId, context);\n }\n onInsert(namespaceId, element, parent, insertBefore) {\n this._transitionEngine.insertNode(namespaceId, element, parent, insertBefore);\n }\n onRemove(namespaceId, element, context, isHostElement) {\n this._transitionEngine.removeNode(namespaceId, element, isHostElement || false, context);\n }\n disableAnimations(element, disable) {\n this._transitionEngine.markElementAsDisabled(element, disable);\n }\n process(namespaceId, element, property, value) {\n if (property.charAt(0) == '@') {\n const [id, action] = parseTimelineCommand(property);\n const args = value;\n this._timelineEngine.command(id, element, action, args);\n }\n else {\n this._transitionEngine.trigger(namespaceId, element, property, value);\n }\n }\n listen(namespaceId, element, eventName, eventPhase, callback) {\n // @@listen\n if (eventName.charAt(0) == '@') {\n const [id, action] = parseTimelineCommand(eventName);\n return this._timelineEngine.listen(id, element, action, callback);\n }\n return this._transitionEngine.listen(namespaceId, element, eventName, eventPhase, callback);\n }\n flush(microtaskId = -1) {\n this._transitionEngine.flush(microtaskId);\n }\n get players() {\n return this._transitionEngine.players\n .concat(this._timelineEngine.players);\n }\n whenRenderingDone() {\n return this._transitionEngine.whenRenderingDone();\n }\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * Returns an instance of `SpecialCasedStyles` if and when any special (non animateable) styles are\n * detected.\n *\n * In CSS there exist properties that cannot be animated within a keyframe animation\n * (whether it be via CSS keyframes or web-animations) and the animation implementation\n * will ignore them. This function is designed to detect those special cased styles and\n * return a container that will be executed at the start and end of the animation.\n *\n * @returns an instance of `SpecialCasedStyles` if any special styles are detected otherwise `null`\n */\nfunction packageNonAnimatableStyles(element, styles) {\n let startStyles = null;\n let endStyles = null;\n if (Array.isArray(styles) && styles.length) {\n startStyles = filterNonAnimatableStyles(styles[0]);\n if (styles.length > 1) {\n endStyles = filterNonAnimatableStyles(styles[styles.length - 1]);\n }\n }\n else if (styles) {\n startStyles = filterNonAnimatableStyles(styles);\n }\n return (startStyles || endStyles) ? new SpecialCasedStyles(element, startStyles, endStyles) :\n null;\n}\n/**\n * Designed to be executed during a keyframe-based animation to apply any special-cased styles.\n *\n * When started (when the `start()` method is run) then the provided `startStyles`\n * will be applied. When finished (when the `finish()` method is called) the\n * `endStyles` will be applied as well any any starting styles. Finally when\n * `destroy()` is called then all styles will be removed.\n */\nclass SpecialCasedStyles {\n constructor(_element, _startStyles, _endStyles) {\n this._element = _element;\n this._startStyles = _startStyles;\n this._endStyles = _endStyles;\n this._state = 0 /* Pending */;\n let initialStyles = SpecialCasedStyles.initialStylesByElement.get(_element);\n if (!initialStyles) {\n SpecialCasedStyles.initialStylesByElement.set(_element, initialStyles = {});\n }\n this._initialStyles = initialStyles;\n }\n start() {\n if (this._state < 1 /* Started */) {\n if (this._startStyles) {\n setStyles(this._element, this._startStyles, this._initialStyles);\n }\n this._state = 1 /* Started */;\n }\n }\n finish() {\n this.start();\n if (this._state < 2 /* Finished */) {\n setStyles(this._element, this._initialStyles);\n if (this._endStyles) {\n setStyles(this._element, this._endStyles);\n this._endStyles = null;\n }\n this._state = 1 /* Started */;\n }\n }\n destroy() {\n this.finish();\n if (this._state < 3 /* Destroyed */) {\n SpecialCasedStyles.initialStylesByElement.delete(this._element);\n if (this._startStyles) {\n eraseStyles(this._element, this._startStyles);\n this._endStyles = null;\n }\n if (this._endStyles) {\n eraseStyles(this._element, this._endStyles);\n this._endStyles = null;\n }\n setStyles(this._element, this._initialStyles);\n this._state = 3 /* Destroyed */;\n }\n }\n}\nSpecialCasedStyles.initialStylesByElement = ( /* @__PURE__ */new WeakMap());\nfunction filterNonAnimatableStyles(styles) {\n let result = null;\n const props = Object.keys(styles);\n for (let i = 0; i < props.length; i++) {\n const prop = props[i];\n if (isNonAnimatableStyle(prop)) {\n result = result || {};\n result[prop] = styles[prop];\n }\n }\n return result;\n}\nfunction isNonAnimatableStyle(prop) {\n return prop === 'display' || prop === 'position';\n}\n\nclass WebAnimationsPlayer {\n constructor(element, keyframes, options, _specialStyles) {\n this.element = element;\n this.keyframes = keyframes;\n this.options = options;\n this._specialStyles = _specialStyles;\n this._onDoneFns = [];\n this._onStartFns = [];\n this._onDestroyFns = [];\n this._initialized = false;\n this._finished = false;\n this._started = false;\n this._destroyed = false;\n this.time = 0;\n this.parentPlayer = null;\n this.currentSnapshot = {};\n this._duration = options['duration'];\n this._delay = options['delay'] || 0;\n this.time = this._duration + this._delay;\n }\n _onFinish() {\n if (!this._finished) {\n this._finished = true;\n this._onDoneFns.forEach(fn => fn());\n this._onDoneFns = [];\n }\n }\n init() {\n this._buildPlayer();\n this._preparePlayerBeforeStart();\n }\n _buildPlayer() {\n if (this._initialized)\n return;\n this._initialized = true;\n const keyframes = this.keyframes;\n this.domPlayer =\n this._triggerWebAnimation(this.element, keyframes, this.options);\n this._finalKeyframe = keyframes.length ? keyframes[keyframes.length - 1] : {};\n this.domPlayer.addEventListener('finish', () => this._onFinish());\n }\n _preparePlayerBeforeStart() {\n // this is required so that the player doesn't start to animate right away\n if (this._delay) {\n this._resetDomPlayerState();\n }\n else {\n this.domPlayer.pause();\n }\n }\n /** @internal */\n _triggerWebAnimation(element, keyframes, options) {\n // jscompiler doesn't seem to know animate is a native property because it's not fully\n // supported yet across common browsers (we polyfill it for Edge/Safari) [CL #143630929]\n return element['animate'](keyframes, options);\n }\n onStart(fn) {\n this._onStartFns.push(fn);\n }\n onDone(fn) {\n this._onDoneFns.push(fn);\n }\n onDestroy(fn) {\n this._onDestroyFns.push(fn);\n }\n play() {\n this._buildPlayer();\n if (!this.hasStarted()) {\n this._onStartFns.forEach(fn => fn());\n this._onStartFns = [];\n this._started = true;\n if (this._specialStyles) {\n this._specialStyles.start();\n }\n }\n this.domPlayer.play();\n }\n pause() {\n this.init();\n this.domPlayer.pause();\n }\n finish() {\n this.init();\n if (this._specialStyles) {\n this._specialStyles.finish();\n }\n this._onFinish();\n this.domPlayer.finish();\n }\n reset() {\n this._resetDomPlayerState();\n this._destroyed = false;\n this._finished = false;\n this._started = false;\n }\n _resetDomPlayerState() {\n if (this.domPlayer) {\n this.domPlayer.cancel();\n }\n }\n restart() {\n this.reset();\n this.play();\n }\n hasStarted() {\n return this._started;\n }\n destroy() {\n if (!this._destroyed) {\n this._destroyed = true;\n this._resetDomPlayerState();\n this._onFinish();\n if (this._specialStyles) {\n this._specialStyles.destroy();\n }\n this._onDestroyFns.forEach(fn => fn());\n this._onDestroyFns = [];\n }\n }\n setPosition(p) {\n if (this.domPlayer === undefined) {\n this.init();\n }\n this.domPlayer.currentTime = p * this.time;\n }\n getPosition() {\n return this.domPlayer.currentTime / this.time;\n }\n get totalTime() {\n return this._delay + this._duration;\n }\n beforeDestroy() {\n const styles = {};\n if (this.hasStarted()) {\n // note: this code is invoked only when the `play` function was called prior to this\n // (thus `hasStarted` returns true), this implies that the code that initializes\n // `_finalKeyframe` has also been executed and the non-null assertion can be safely used here\n const finalKeyframe = this._finalKeyframe;\n Object.keys(finalKeyframe).forEach(prop => {\n if (prop != 'offset') {\n styles[prop] = this._finished ? finalKeyframe[prop] : computeStyle(this.element, prop);\n }\n });\n }\n this.currentSnapshot = styles;\n }\n /** @internal */\n triggerCallback(phaseName) {\n const methods = phaseName == 'start' ? this._onStartFns : this._onDoneFns;\n methods.forEach(fn => fn());\n methods.length = 0;\n }\n}\n\nclass WebAnimationsDriver {\n validateStyleProperty(prop) {\n return validateStyleProperty(prop);\n }\n matchesElement(_element, _selector) {\n // This method is deprecated and no longer in use so we return false.\n return false;\n }\n containsElement(elm1, elm2) {\n return containsElement(elm1, elm2);\n }\n getParentElement(element) {\n return getParentElement(element);\n }\n query(element, selector, multi) {\n return invokeQuery(element, selector, multi);\n }\n computeStyle(element, prop, defaultValue) {\n return window.getComputedStyle(element)[prop];\n }\n animate(element, keyframes, duration, delay, easing, previousPlayers = []) {\n const fill = delay == 0 ? 'both' : 'forwards';\n const playerOptions = { duration, delay, fill };\n // we check for this to avoid having a null|undefined value be present\n // for the easing (which results in an error for certain browsers #9752)\n if (easing) {\n playerOptions['easing'] = easing;\n }\n const previousStyles = {};\n const previousWebAnimationPlayers = previousPlayers.filter(player => player instanceof WebAnimationsPlayer);\n if (allowPreviousPlayerStylesMerge(duration, delay)) {\n previousWebAnimationPlayers.forEach(player => {\n let styles = player.currentSnapshot;\n Object.keys(styles).forEach(prop => previousStyles[prop] = styles[prop]);\n });\n }\n keyframes = keyframes.map(styles => copyStyles(styles, false));\n keyframes = balancePreviousStylesIntoKeyframes(element, keyframes, previousStyles);\n const specialStyles = packageNonAnimatableStyles(element, keyframes);\n return new WebAnimationsPlayer(element, keyframes, playerOptions, specialStyles);\n }\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\n/**\n * Generated bundle index. Do not edit.\n */\n\nexport { AnimationDriver, Animation as ɵAnimation, AnimationEngine as ɵAnimationEngine, AnimationStyleNormalizer as ɵAnimationStyleNormalizer, NoopAnimationDriver as ɵNoopAnimationDriver, NoopAnimationStyleNormalizer as ɵNoopAnimationStyleNormalizer, WebAnimationsDriver as ɵWebAnimationsDriver, WebAnimationsPlayer as ɵWebAnimationsPlayer, WebAnimationsStyleNormalizer as ɵWebAnimationsStyleNormalizer, allowPreviousPlayerStylesMerge as ɵallowPreviousPlayerStylesMerge, containsElement as ɵcontainsElement, getParentElement as ɵgetParentElement, invokeQuery as ɵinvokeQuery, validateStyleProperty as ɵvalidateStyleProperty };\n","import { DOCUMENT } from '@angular/common';\nimport * as i0 from '@angular/core';\nimport { Injectable, Inject, QueryList, Directive, Input, InjectionToken, Optional, EventEmitter, Output, NgModule } from '@angular/core';\nimport * as i1 from '@angular/cdk/platform';\nimport { _getFocusedElementPierceShadowDom, normalizePassiveListenerOptions, _getEventTarget, _getShadowRoot } from '@angular/cdk/platform';\nimport { Subject, Subscription, BehaviorSubject, of } from 'rxjs';\nimport { hasModifierKey, A, Z, ZERO, NINE, END, HOME, LEFT_ARROW, RIGHT_ARROW, UP_ARROW, DOWN_ARROW, TAB, ALT, CONTROL, MAC_META, META, SHIFT } from '@angular/cdk/keycodes';\nimport { tap, debounceTime, filter, map, take, skip, distinctUntilChanged, takeUntil } from 'rxjs/operators';\nimport { coerceBooleanProperty, coerceElement } from '@angular/cdk/coercion';\nimport * as i1$1 from '@angular/cdk/observers';\nimport { ObserversModule } from '@angular/cdk/observers';\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/** IDs are delimited by an empty space, as per the spec. */\nconst ID_DELIMITER = ' ';\n/**\n * Adds the given ID to the specified ARIA attribute on an element.\n * Used for attributes such as aria-labelledby, aria-owns, etc.\n */\nfunction addAriaReferencedId(el, attr, id) {\n const ids = getAriaReferenceIds(el, attr);\n if (ids.some(existingId => existingId.trim() == id.trim())) {\n return;\n }\n ids.push(id.trim());\n el.setAttribute(attr, ids.join(ID_DELIMITER));\n}\n/**\n * Removes the given ID from the specified ARIA attribute on an element.\n * Used for attributes such as aria-labelledby, aria-owns, etc.\n */\nfunction removeAriaReferencedId(el, attr, id) {\n const ids = getAriaReferenceIds(el, attr);\n const filteredIds = ids.filter(val => val != id.trim());\n if (filteredIds.length) {\n el.setAttribute(attr, filteredIds.join(ID_DELIMITER));\n }\n else {\n el.removeAttribute(attr);\n }\n}\n/**\n * Gets the list of IDs referenced by the given ARIA attribute on an element.\n * Used for attributes such as aria-labelledby, aria-owns, etc.\n */\nfunction getAriaReferenceIds(el, attr) {\n // Get string array of all individual ids (whitespace delimited) in the attribute value\n return (el.getAttribute(attr) || '').match(/\\S+/g) || [];\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * ID used for the body container where all messages are appended.\n * @deprecated No longer being used. To be removed.\n * @breaking-change 14.0.0\n */\nconst MESSAGES_CONTAINER_ID = 'cdk-describedby-message-container';\n/**\n * ID prefix used for each created message element.\n * @deprecated To be turned into a private variable.\n * @breaking-change 14.0.0\n */\nconst CDK_DESCRIBEDBY_ID_PREFIX = 'cdk-describedby-message';\n/**\n * Attribute given to each host element that is described by a message element.\n * @deprecated To be turned into a private variable.\n * @breaking-change 14.0.0\n */\nconst CDK_DESCRIBEDBY_HOST_ATTRIBUTE = 'cdk-describedby-host';\n/** Global incremental identifier for each registered message element. */\nlet nextId = 0;\n/**\n * Utility that creates visually hidden elements with a message content. Useful for elements that\n * want to use aria-describedby to further describe themselves without adding additional visual\n * content.\n */\nclass AriaDescriber {\n constructor(_document, \n /**\n * @deprecated To be turned into a required parameter.\n * @breaking-change 14.0.0\n */\n _platform) {\n this._platform = _platform;\n /** Map of all registered message elements that have been placed into the document. */\n this._messageRegistry = new Map();\n /** Container for all registered messages. */\n this._messagesContainer = null;\n /** Unique ID for the service. */\n this._id = `${nextId++}`;\n this._document = _document;\n }\n describe(hostElement, message, role) {\n if (!this._canBeDescribed(hostElement, message)) {\n return;\n }\n const key = getKey(message, role);\n if (typeof message !== 'string') {\n // We need to ensure that the element has an ID.\n setMessageId(message);\n this._messageRegistry.set(key, { messageElement: message, referenceCount: 0 });\n }\n else if (!this._messageRegistry.has(key)) {\n this._createMessageElement(message, role);\n }\n if (!this._isElementDescribedByMessage(hostElement, key)) {\n this._addMessageReference(hostElement, key);\n }\n }\n removeDescription(hostElement, message, role) {\n if (!message || !this._isElementNode(hostElement)) {\n return;\n }\n const key = getKey(message, role);\n if (this._isElementDescribedByMessage(hostElement, key)) {\n this._removeMessageReference(hostElement, key);\n }\n // If the message is a string, it means that it's one that we created for the\n // consumer so we can remove it safely, otherwise we should leave it in place.\n if (typeof message === 'string') {\n const registeredMessage = this._messageRegistry.get(key);\n if (registeredMessage && registeredMessage.referenceCount === 0) {\n this._deleteMessageElement(key);\n }\n }\n if (this._messagesContainer?.childNodes.length === 0) {\n this._messagesContainer.remove();\n this._messagesContainer = null;\n }\n }\n /** Unregisters all created message elements and removes the message container. */\n ngOnDestroy() {\n const describedElements = this._document.querySelectorAll(`[${CDK_DESCRIBEDBY_HOST_ATTRIBUTE}=\"${this._id}\"]`);\n for (let i = 0; i < describedElements.length; i++) {\n this._removeCdkDescribedByReferenceIds(describedElements[i]);\n describedElements[i].removeAttribute(CDK_DESCRIBEDBY_HOST_ATTRIBUTE);\n }\n this._messagesContainer?.remove();\n this._messagesContainer = null;\n this._messageRegistry.clear();\n }\n /**\n * Creates a new element in the visually hidden message container element with the message\n * as its content and adds it to the message registry.\n */\n _createMessageElement(message, role) {\n const messageElement = this._document.createElement('div');\n setMessageId(messageElement);\n messageElement.textContent = message;\n if (role) {\n messageElement.setAttribute('role', role);\n }\n this._createMessagesContainer();\n this._messagesContainer.appendChild(messageElement);\n this._messageRegistry.set(getKey(message, role), { messageElement, referenceCount: 0 });\n }\n /** Deletes the message element from the global messages container. */\n _deleteMessageElement(key) {\n this._messageRegistry.get(key)?.messageElement?.remove();\n this._messageRegistry.delete(key);\n }\n /** Creates the global container for all aria-describedby messages. */\n _createMessagesContainer() {\n if (this._messagesContainer) {\n return;\n }\n const containerClassName = 'cdk-describedby-message-container';\n const serverContainers = this._document.querySelectorAll(`.${containerClassName}[platform=\"server\"]`);\n for (let i = 0; i < serverContainers.length; i++) {\n // When going from the server to the client, we may end up in a situation where there's\n // already a container on the page, but we don't have a reference to it. Clear the\n // old container so we don't get duplicates. Doing this, instead of emptying the previous\n // container, should be slightly faster.\n serverContainers[i].remove();\n }\n const messagesContainer = this._document.createElement('div');\n // We add `visibility: hidden` in order to prevent text in this container from\n // being searchable by the browser's Ctrl + F functionality.\n // Screen-readers will still read the description for elements with aria-describedby even\n // when the description element is not visible.\n messagesContainer.style.visibility = 'hidden';\n // Even though we use `visibility: hidden`, we still apply `cdk-visually-hidden` so that\n // the description element doesn't impact page layout.\n messagesContainer.classList.add(containerClassName);\n messagesContainer.classList.add('cdk-visually-hidden');\n // @breaking-change 14.0.0 Remove null check for `_platform`.\n if (this._platform && !this._platform.isBrowser) {\n messagesContainer.setAttribute('platform', 'server');\n }\n this._document.body.appendChild(messagesContainer);\n this._messagesContainer = messagesContainer;\n }\n /** Removes all cdk-describedby messages that are hosted through the element. */\n _removeCdkDescribedByReferenceIds(element) {\n // Remove all aria-describedby reference IDs that are prefixed by CDK_DESCRIBEDBY_ID_PREFIX\n const originalReferenceIds = getAriaReferenceIds(element, 'aria-describedby').filter(id => id.indexOf(CDK_DESCRIBEDBY_ID_PREFIX) != 0);\n element.setAttribute('aria-describedby', originalReferenceIds.join(' '));\n }\n /**\n * Adds a message reference to the element using aria-describedby and increments the registered\n * message's reference count.\n */\n _addMessageReference(element, key) {\n const registeredMessage = this._messageRegistry.get(key);\n // Add the aria-describedby reference and set the\n // describedby_host attribute to mark the element.\n addAriaReferencedId(element, 'aria-describedby', registeredMessage.messageElement.id);\n element.setAttribute(CDK_DESCRIBEDBY_HOST_ATTRIBUTE, this._id);\n registeredMessage.referenceCount++;\n }\n /**\n * Removes a message reference from the element using aria-describedby\n * and decrements the registered message's reference count.\n */\n _removeMessageReference(element, key) {\n const registeredMessage = this._messageRegistry.get(key);\n registeredMessage.referenceCount--;\n removeAriaReferencedId(element, 'aria-describedby', registeredMessage.messageElement.id);\n element.removeAttribute(CDK_DESCRIBEDBY_HOST_ATTRIBUTE);\n }\n /** Returns true if the element has been described by the provided message ID. */\n _isElementDescribedByMessage(element, key) {\n const referenceIds = getAriaReferenceIds(element, 'aria-describedby');\n const registeredMessage = this._messageRegistry.get(key);\n const messageId = registeredMessage && registeredMessage.messageElement.id;\n return !!messageId && referenceIds.indexOf(messageId) != -1;\n }\n /** Determines whether a message can be described on a particular element. */\n _canBeDescribed(element, message) {\n if (!this._isElementNode(element)) {\n return false;\n }\n if (message && typeof message === 'object') {\n // We'd have to make some assumptions about the description element's text, if the consumer\n // passed in an element. Assume that if an element is passed in, the consumer has verified\n // that it can be used as a description.\n return true;\n }\n const trimmedMessage = message == null ? '' : `${message}`.trim();\n const ariaLabel = element.getAttribute('aria-label');\n // We shouldn't set descriptions if they're exactly the same as the `aria-label` of the\n // element, because screen readers will end up reading out the same text twice in a row.\n return trimmedMessage ? !ariaLabel || ariaLabel.trim() !== trimmedMessage : false;\n }\n /** Checks whether a node is an Element node. */\n _isElementNode(element) {\n return element.nodeType === this._document.ELEMENT_NODE;\n }\n}\nAriaDescriber.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"13.3.0\", ngImport: i0, type: AriaDescriber, deps: [{ token: DOCUMENT }, { token: i1.Platform }], target: i0.ɵɵFactoryTarget.Injectable });\nAriaDescriber.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"13.3.0\", ngImport: i0, type: AriaDescriber, providedIn: 'root' });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"13.3.0\", ngImport: i0, type: AriaDescriber, decorators: [{\n type: Injectable,\n args: [{ providedIn: 'root' }]\n }], ctorParameters: function () { return [{ type: undefined, decorators: [{\n type: Inject,\n args: [DOCUMENT]\n }] }, { type: i1.Platform }]; } });\n/** Gets a key that can be used to look messages up in the registry. */\nfunction getKey(message, role) {\n return typeof message === 'string' ? `${role || ''}/${message}` : message;\n}\n/** Assigns a unique ID to an element, if it doesn't have one already. */\nfunction setMessageId(element) {\n if (!element.id) {\n element.id = `${CDK_DESCRIBEDBY_ID_PREFIX}-${nextId++}`;\n }\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * This class manages keyboard events for selectable lists. If you pass it a query list\n * of items, it will set the active item correctly when arrow events occur.\n */\nclass ListKeyManager {\n constructor(_items) {\n this._items = _items;\n this._activeItemIndex = -1;\n this._activeItem = null;\n this._wrap = false;\n this._letterKeyStream = new Subject();\n this._typeaheadSubscription = Subscription.EMPTY;\n this._vertical = true;\n this._allowedModifierKeys = [];\n this._homeAndEnd = false;\n /**\n * Predicate function that can be used to check whether an item should be skipped\n * by the key manager. By default, disabled items are skipped.\n */\n this._skipPredicateFn = (item) => item.disabled;\n // Buffer for the letters that the user has pressed when the typeahead option is turned on.\n this._pressedLetters = [];\n /**\n * Stream that emits any time the TAB key is pressed, so components can react\n * when focus is shifted off of the list.\n */\n this.tabOut = new Subject();\n /** Stream that emits whenever the active item of the list manager changes. */\n this.change = new Subject();\n // We allow for the items to be an array because, in some cases, the consumer may\n // not have access to a QueryList of the items they want to manage (e.g. when the\n // items aren't being collected via `ViewChildren` or `ContentChildren`).\n if (_items instanceof QueryList) {\n _items.changes.subscribe((newItems) => {\n if (this._activeItem) {\n const itemArray = newItems.toArray();\n const newIndex = itemArray.indexOf(this._activeItem);\n if (newIndex > -1 && newIndex !== this._activeItemIndex) {\n this._activeItemIndex = newIndex;\n }\n }\n });\n }\n }\n /**\n * Sets the predicate function that determines which items should be skipped by the\n * list key manager.\n * @param predicate Function that determines whether the given item should be skipped.\n */\n skipPredicate(predicate) {\n this._skipPredicateFn = predicate;\n return this;\n }\n /**\n * Configures wrapping mode, which determines whether the active item will wrap to\n * the other end of list when there are no more items in the given direction.\n * @param shouldWrap Whether the list should wrap when reaching the end.\n */\n withWrap(shouldWrap = true) {\n this._wrap = shouldWrap;\n return this;\n }\n /**\n * Configures whether the key manager should be able to move the selection vertically.\n * @param enabled Whether vertical selection should be enabled.\n */\n withVerticalOrientation(enabled = true) {\n this._vertical = enabled;\n return this;\n }\n /**\n * Configures the key manager to move the selection horizontally.\n * Passing in `null` will disable horizontal movement.\n * @param direction Direction in which the selection can be moved.\n */\n withHorizontalOrientation(direction) {\n this._horizontal = direction;\n return this;\n }\n /**\n * Modifier keys which are allowed to be held down and whose default actions will be prevented\n * as the user is pressing the arrow keys. Defaults to not allowing any modifier keys.\n */\n withAllowedModifierKeys(keys) {\n this._allowedModifierKeys = keys;\n return this;\n }\n /**\n * Turns on typeahead mode which allows users to set the active item by typing.\n * @param debounceInterval Time to wait after the last keystroke before setting the active item.\n */\n withTypeAhead(debounceInterval = 200) {\n if ((typeof ngDevMode === 'undefined' || ngDevMode) &&\n this._items.length &&\n this._items.some(item => typeof item.getLabel !== 'function')) {\n throw Error('ListKeyManager items in typeahead mode must implement the `getLabel` method.');\n }\n this._typeaheadSubscription.unsubscribe();\n // Debounce the presses of non-navigational keys, collect the ones that correspond to letters\n // and convert those letters back into a string. Afterwards find the first item that starts\n // with that string and select it.\n this._typeaheadSubscription = this._letterKeyStream\n .pipe(tap(letter => this._pressedLetters.push(letter)), debounceTime(debounceInterval), filter(() => this._pressedLetters.length > 0), map(() => this._pressedLetters.join('')))\n .subscribe(inputString => {\n const items = this._getItemsArray();\n // Start at 1 because we want to start searching at the item immediately\n // following the current active item.\n for (let i = 1; i < items.length + 1; i++) {\n const index = (this._activeItemIndex + i) % items.length;\n const item = items[index];\n if (!this._skipPredicateFn(item) &&\n item.getLabel().toUpperCase().trim().indexOf(inputString) === 0) {\n this.setActiveItem(index);\n break;\n }\n }\n this._pressedLetters = [];\n });\n return this;\n }\n /**\n * Configures the key manager to activate the first and last items\n * respectively when the Home or End key is pressed.\n * @param enabled Whether pressing the Home or End key activates the first/last item.\n */\n withHomeAndEnd(enabled = true) {\n this._homeAndEnd = enabled;\n return this;\n }\n setActiveItem(item) {\n const previousActiveItem = this._activeItem;\n this.updateActiveItem(item);\n if (this._activeItem !== previousActiveItem) {\n this.change.next(this._activeItemIndex);\n }\n }\n /**\n * Sets the active item depending on the key event passed in.\n * @param event Keyboard event to be used for determining which element should be active.\n */\n onKeydown(event) {\n const keyCode = event.keyCode;\n const modifiers = ['altKey', 'ctrlKey', 'metaKey', 'shiftKey'];\n const isModifierAllowed = modifiers.every(modifier => {\n return !event[modifier] || this._allowedModifierKeys.indexOf(modifier) > -1;\n });\n switch (keyCode) {\n case TAB:\n this.tabOut.next();\n return;\n case DOWN_ARROW:\n if (this._vertical && isModifierAllowed) {\n this.setNextItemActive();\n break;\n }\n else {\n return;\n }\n case UP_ARROW:\n if (this._vertical && isModifierAllowed) {\n this.setPreviousItemActive();\n break;\n }\n else {\n return;\n }\n case RIGHT_ARROW:\n if (this._horizontal && isModifierAllowed) {\n this._horizontal === 'rtl' ? this.setPreviousItemActive() : this.setNextItemActive();\n break;\n }\n else {\n return;\n }\n case LEFT_ARROW:\n if (this._horizontal && isModifierAllowed) {\n this._horizontal === 'rtl' ? this.setNextItemActive() : this.setPreviousItemActive();\n break;\n }\n else {\n return;\n }\n case HOME:\n if (this._homeAndEnd && isModifierAllowed) {\n this.setFirstItemActive();\n break;\n }\n else {\n return;\n }\n case END:\n if (this._homeAndEnd && isModifierAllowed) {\n this.setLastItemActive();\n break;\n }\n else {\n return;\n }\n default:\n if (isModifierAllowed || hasModifierKey(event, 'shiftKey')) {\n // Attempt to use the `event.key` which also maps it to the user's keyboard language,\n // otherwise fall back to resolving alphanumeric characters via the keyCode.\n if (event.key && event.key.length === 1) {\n this._letterKeyStream.next(event.key.toLocaleUpperCase());\n }\n else if ((keyCode >= A && keyCode <= Z) || (keyCode >= ZERO && keyCode <= NINE)) {\n this._letterKeyStream.next(String.fromCharCode(keyCode));\n }\n }\n // Note that we return here, in order to avoid preventing\n // the default action of non-navigational keys.\n return;\n }\n this._pressedLetters = [];\n event.preventDefault();\n }\n /** Index of the currently active item. */\n get activeItemIndex() {\n return this._activeItemIndex;\n }\n /** The active item. */\n get activeItem() {\n return this._activeItem;\n }\n /** Gets whether the user is currently typing into the manager using the typeahead feature. */\n isTyping() {\n return this._pressedLetters.length > 0;\n }\n /** Sets the active item to the first enabled item in the list. */\n setFirstItemActive() {\n this._setActiveItemByIndex(0, 1);\n }\n /** Sets the active item to the last enabled item in the list. */\n setLastItemActive() {\n this._setActiveItemByIndex(this._items.length - 1, -1);\n }\n /** Sets the active item to the next enabled item in the list. */\n setNextItemActive() {\n this._activeItemIndex < 0 ? this.setFirstItemActive() : this._setActiveItemByDelta(1);\n }\n /** Sets the active item to a previous enabled item in the list. */\n setPreviousItemActive() {\n this._activeItemIndex < 0 && this._wrap\n ? this.setLastItemActive()\n : this._setActiveItemByDelta(-1);\n }\n updateActiveItem(item) {\n const itemArray = this._getItemsArray();\n const index = typeof item === 'number' ? item : itemArray.indexOf(item);\n const activeItem = itemArray[index];\n // Explicitly check for `null` and `undefined` because other falsy values are valid.\n this._activeItem = activeItem == null ? null : activeItem;\n this._activeItemIndex = index;\n }\n /**\n * This method sets the active item, given a list of items and the delta between the\n * currently active item and the new active item. It will calculate differently\n * depending on whether wrap mode is turned on.\n */\n _setActiveItemByDelta(delta) {\n this._wrap ? this._setActiveInWrapMode(delta) : this._setActiveInDefaultMode(delta);\n }\n /**\n * Sets the active item properly given \"wrap\" mode. In other words, it will continue to move\n * down the list until it finds an item that is not disabled, and it will wrap if it\n * encounters either end of the list.\n */\n _setActiveInWrapMode(delta) {\n const items = this._getItemsArray();\n for (let i = 1; i <= items.length; i++) {\n const index = (this._activeItemIndex + delta * i + items.length) % items.length;\n const item = items[index];\n if (!this._skipPredicateFn(item)) {\n this.setActiveItem(index);\n return;\n }\n }\n }\n /**\n * Sets the active item properly given the default mode. In other words, it will\n * continue to move down the list until it finds an item that is not disabled. If\n * it encounters either end of the list, it will stop and not wrap.\n */\n _setActiveInDefaultMode(delta) {\n this._setActiveItemByIndex(this._activeItemIndex + delta, delta);\n }\n /**\n * Sets the active item to the first enabled item starting at the index specified. If the\n * item is disabled, it will move in the fallbackDelta direction until it either\n * finds an enabled item or encounters the end of the list.\n */\n _setActiveItemByIndex(index, fallbackDelta) {\n const items = this._getItemsArray();\n if (!items[index]) {\n return;\n }\n while (this._skipPredicateFn(items[index])) {\n index += fallbackDelta;\n if (!items[index]) {\n return;\n }\n }\n this.setActiveItem(index);\n }\n /** Returns the items as an array. */\n _getItemsArray() {\n return this._items instanceof QueryList ? this._items.toArray() : this._items;\n }\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nclass ActiveDescendantKeyManager extends ListKeyManager {\n setActiveItem(index) {\n if (this.activeItem) {\n this.activeItem.setInactiveStyles();\n }\n super.setActiveItem(index);\n if (this.activeItem) {\n this.activeItem.setActiveStyles();\n }\n }\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nclass FocusKeyManager extends ListKeyManager {\n constructor() {\n super(...arguments);\n this._origin = 'program';\n }\n /**\n * Sets the focus origin that will be passed in to the items for any subsequent `focus` calls.\n * @param origin Focus origin to be used when focusing items.\n */\n setFocusOrigin(origin) {\n this._origin = origin;\n return this;\n }\n setActiveItem(item) {\n super.setActiveItem(item);\n if (this.activeItem) {\n this.activeItem.focus(this._origin);\n }\n }\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * Configuration for the isFocusable method.\n */\nclass IsFocusableConfig {\n constructor() {\n /**\n * Whether to count an element as focusable even if it is not currently visible.\n */\n this.ignoreVisibility = false;\n }\n}\n// The InteractivityChecker leans heavily on the ally.js accessibility utilities.\n// Methods like `isTabbable` are only covering specific edge-cases for the browsers which are\n// supported.\n/**\n * Utility for checking the interactivity of an element, such as whether is is focusable or\n * tabbable.\n */\nclass InteractivityChecker {\n constructor(_platform) {\n this._platform = _platform;\n }\n /**\n * Gets whether an element is disabled.\n *\n * @param element Element to be checked.\n * @returns Whether the element is disabled.\n */\n isDisabled(element) {\n // This does not capture some cases, such as a non-form control with a disabled attribute or\n // a form control inside of a disabled form, but should capture the most common cases.\n return element.hasAttribute('disabled');\n }\n /**\n * Gets whether an element is visible for the purposes of interactivity.\n *\n * This will capture states like `display: none` and `visibility: hidden`, but not things like\n * being clipped by an `overflow: hidden` parent or being outside the viewport.\n *\n * @returns Whether the element is visible.\n */\n isVisible(element) {\n return hasGeometry(element) && getComputedStyle(element).visibility === 'visible';\n }\n /**\n * Gets whether an element can be reached via Tab key.\n * Assumes that the element has already been checked with isFocusable.\n *\n * @param element Element to be checked.\n * @returns Whether the element is tabbable.\n */\n isTabbable(element) {\n // Nothing is tabbable on the server 😎\n if (!this._platform.isBrowser) {\n return false;\n }\n const frameElement = getFrameElement(getWindow(element));\n if (frameElement) {\n // Frame elements inherit their tabindex onto all child elements.\n if (getTabIndexValue(frameElement) === -1) {\n return false;\n }\n // Browsers disable tabbing to an element inside of an invisible frame.\n if (!this.isVisible(frameElement)) {\n return false;\n }\n }\n let nodeName = element.nodeName.toLowerCase();\n let tabIndexValue = getTabIndexValue(element);\n if (element.hasAttribute('contenteditable')) {\n return tabIndexValue !== -1;\n }\n if (nodeName === 'iframe' || nodeName === 'object') {\n // The frame or object's content may be tabbable depending on the content, but it's\n // not possibly to reliably detect the content of the frames. We always consider such\n // elements as non-tabbable.\n return false;\n }\n // In iOS, the browser only considers some specific elements as tabbable.\n if (this._platform.WEBKIT && this._platform.IOS && !isPotentiallyTabbableIOS(element)) {\n return false;\n }\n if (nodeName === 'audio') {\n // Audio elements without controls enabled are never tabbable, regardless\n // of the tabindex attribute explicitly being set.\n if (!element.hasAttribute('controls')) {\n return false;\n }\n // Audio elements with controls are by default tabbable unless the\n // tabindex attribute is set to `-1` explicitly.\n return tabIndexValue !== -1;\n }\n if (nodeName === 'video') {\n // For all video elements, if the tabindex attribute is set to `-1`, the video\n // is not tabbable. Note: We cannot rely on the default `HTMLElement.tabIndex`\n // property as that one is set to `-1` in Chrome, Edge and Safari v13.1. The\n // tabindex attribute is the source of truth here.\n if (tabIndexValue === -1) {\n return false;\n }\n // If the tabindex is explicitly set, and not `-1` (as per check before), the\n // video element is always tabbable (regardless of whether it has controls or not).\n if (tabIndexValue !== null) {\n return true;\n }\n // Otherwise (when no explicit tabindex is set), a video is only tabbable if it\n // has controls enabled. Firefox is special as videos are always tabbable regardless\n // of whether there are controls or not.\n return this._platform.FIREFOX || element.hasAttribute('controls');\n }\n return element.tabIndex >= 0;\n }\n /**\n * Gets whether an element can be focused by the user.\n *\n * @param element Element to be checked.\n * @param config The config object with options to customize this method's behavior\n * @returns Whether the element is focusable.\n */\n isFocusable(element, config) {\n // Perform checks in order of left to most expensive.\n // Again, naive approach that does not capture many edge cases and browser quirks.\n return (isPotentiallyFocusable(element) &&\n !this.isDisabled(element) &&\n (config?.ignoreVisibility || this.isVisible(element)));\n }\n}\nInteractivityChecker.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"13.3.0\", ngImport: i0, type: InteractivityChecker, deps: [{ token: i1.Platform }], target: i0.ɵɵFactoryTarget.Injectable });\nInteractivityChecker.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"13.3.0\", ngImport: i0, type: InteractivityChecker, providedIn: 'root' });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"13.3.0\", ngImport: i0, type: InteractivityChecker, decorators: [{\n type: Injectable,\n args: [{ providedIn: 'root' }]\n }], ctorParameters: function () { return [{ type: i1.Platform }]; } });\n/**\n * Returns the frame element from a window object. Since browsers like MS Edge throw errors if\n * the frameElement property is being accessed from a different host address, this property\n * should be accessed carefully.\n */\nfunction getFrameElement(window) {\n try {\n return window.frameElement;\n }\n catch {\n return null;\n }\n}\n/** Checks whether the specified element has any geometry / rectangles. */\nfunction hasGeometry(element) {\n // Use logic from jQuery to check for an invisible element.\n // See https://github.com/jquery/jquery/blob/master/src/css/hiddenVisibleSelectors.js#L12\n return !!(element.offsetWidth ||\n element.offsetHeight ||\n (typeof element.getClientRects === 'function' && element.getClientRects().length));\n}\n/** Gets whether an element's */\nfunction isNativeFormElement(element) {\n let nodeName = element.nodeName.toLowerCase();\n return (nodeName === 'input' ||\n nodeName === 'select' ||\n nodeName === 'button' ||\n nodeName === 'textarea');\n}\n/** Gets whether an element is an ``. */\nfunction isHiddenInput(element) {\n return isInputElement(element) && element.type == 'hidden';\n}\n/** Gets whether an element is an anchor that has an href attribute. */\nfunction isAnchorWithHref(element) {\n return isAnchorElement(element) && element.hasAttribute('href');\n}\n/** Gets whether an element is an input element. */\nfunction isInputElement(element) {\n return element.nodeName.toLowerCase() == 'input';\n}\n/** Gets whether an element is an anchor element. */\nfunction isAnchorElement(element) {\n return element.nodeName.toLowerCase() == 'a';\n}\n/** Gets whether an element has a valid tabindex. */\nfunction hasValidTabIndex(element) {\n if (!element.hasAttribute('tabindex') || element.tabIndex === undefined) {\n return false;\n }\n let tabIndex = element.getAttribute('tabindex');\n return !!(tabIndex && !isNaN(parseInt(tabIndex, 10)));\n}\n/**\n * Returns the parsed tabindex from the element attributes instead of returning the\n * evaluated tabindex from the browsers defaults.\n */\nfunction getTabIndexValue(element) {\n if (!hasValidTabIndex(element)) {\n return null;\n }\n // See browser issue in Gecko https://bugzilla.mozilla.org/show_bug.cgi?id=1128054\n const tabIndex = parseInt(element.getAttribute('tabindex') || '', 10);\n return isNaN(tabIndex) ? -1 : tabIndex;\n}\n/** Checks whether the specified element is potentially tabbable on iOS */\nfunction isPotentiallyTabbableIOS(element) {\n let nodeName = element.nodeName.toLowerCase();\n let inputType = nodeName === 'input' && element.type;\n return (inputType === 'text' ||\n inputType === 'password' ||\n nodeName === 'select' ||\n nodeName === 'textarea');\n}\n/**\n * Gets whether an element is potentially focusable without taking current visible/disabled state\n * into account.\n */\nfunction isPotentiallyFocusable(element) {\n // Inputs are potentially focusable *unless* they're type=\"hidden\".\n if (isHiddenInput(element)) {\n return false;\n }\n return (isNativeFormElement(element) ||\n isAnchorWithHref(element) ||\n element.hasAttribute('contenteditable') ||\n hasValidTabIndex(element));\n}\n/** Gets the parent window of a DOM node with regards of being inside of an iframe. */\nfunction getWindow(node) {\n // ownerDocument is null if `node` itself *is* a document.\n return (node.ownerDocument && node.ownerDocument.defaultView) || window;\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * Class that allows for trapping focus within a DOM element.\n *\n * This class currently uses a relatively simple approach to focus trapping.\n * It assumes that the tab order is the same as DOM order, which is not necessarily true.\n * Things like `tabIndex > 0`, flex `order`, and shadow roots can cause the two to be misaligned.\n *\n * @deprecated Use `ConfigurableFocusTrap` instead.\n * @breaking-change 11.0.0\n */\nclass FocusTrap {\n constructor(_element, _checker, _ngZone, _document, deferAnchors = false) {\n this._element = _element;\n this._checker = _checker;\n this._ngZone = _ngZone;\n this._document = _document;\n this._hasAttached = false;\n // Event listeners for the anchors. Need to be regular functions so that we can unbind them later.\n this.startAnchorListener = () => this.focusLastTabbableElement();\n this.endAnchorListener = () => this.focusFirstTabbableElement();\n this._enabled = true;\n if (!deferAnchors) {\n this.attachAnchors();\n }\n }\n /** Whether the focus trap is active. */\n get enabled() {\n return this._enabled;\n }\n set enabled(value) {\n this._enabled = value;\n if (this._startAnchor && this._endAnchor) {\n this._toggleAnchorTabIndex(value, this._startAnchor);\n this._toggleAnchorTabIndex(value, this._endAnchor);\n }\n }\n /** Destroys the focus trap by cleaning up the anchors. */\n destroy() {\n const startAnchor = this._startAnchor;\n const endAnchor = this._endAnchor;\n if (startAnchor) {\n startAnchor.removeEventListener('focus', this.startAnchorListener);\n startAnchor.remove();\n }\n if (endAnchor) {\n endAnchor.removeEventListener('focus', this.endAnchorListener);\n endAnchor.remove();\n }\n this._startAnchor = this._endAnchor = null;\n this._hasAttached = false;\n }\n /**\n * Inserts the anchors into the DOM. This is usually done automatically\n * in the constructor, but can be deferred for cases like directives with `*ngIf`.\n * @returns Whether the focus trap managed to attach successfully. This may not be the case\n * if the target element isn't currently in the DOM.\n */\n attachAnchors() {\n // If we're not on the browser, there can be no focus to trap.\n if (this._hasAttached) {\n return true;\n }\n this._ngZone.runOutsideAngular(() => {\n if (!this._startAnchor) {\n this._startAnchor = this._createAnchor();\n this._startAnchor.addEventListener('focus', this.startAnchorListener);\n }\n if (!this._endAnchor) {\n this._endAnchor = this._createAnchor();\n this._endAnchor.addEventListener('focus', this.endAnchorListener);\n }\n });\n if (this._element.parentNode) {\n this._element.parentNode.insertBefore(this._startAnchor, this._element);\n this._element.parentNode.insertBefore(this._endAnchor, this._element.nextSibling);\n this._hasAttached = true;\n }\n return this._hasAttached;\n }\n /**\n * Waits for the zone to stabilize, then focuses the first tabbable element.\n * @returns Returns a promise that resolves with a boolean, depending\n * on whether focus was moved successfully.\n */\n focusInitialElementWhenReady(options) {\n return new Promise(resolve => {\n this._executeOnStable(() => resolve(this.focusInitialElement(options)));\n });\n }\n /**\n * Waits for the zone to stabilize, then focuses\n * the first tabbable element within the focus trap region.\n * @returns Returns a promise that resolves with a boolean, depending\n * on whether focus was moved successfully.\n */\n focusFirstTabbableElementWhenReady(options) {\n return new Promise(resolve => {\n this._executeOnStable(() => resolve(this.focusFirstTabbableElement(options)));\n });\n }\n /**\n * Waits for the zone to stabilize, then focuses\n * the last tabbable element within the focus trap region.\n * @returns Returns a promise that resolves with a boolean, depending\n * on whether focus was moved successfully.\n */\n focusLastTabbableElementWhenReady(options) {\n return new Promise(resolve => {\n this._executeOnStable(() => resolve(this.focusLastTabbableElement(options)));\n });\n }\n /**\n * Get the specified boundary element of the trapped region.\n * @param bound The boundary to get (start or end of trapped region).\n * @returns The boundary element.\n */\n _getRegionBoundary(bound) {\n // Contains the deprecated version of selector, for temporary backwards comparability.\n const markers = this._element.querySelectorAll(`[cdk-focus-region-${bound}], ` + `[cdkFocusRegion${bound}], ` + `[cdk-focus-${bound}]`);\n if (typeof ngDevMode === 'undefined' || ngDevMode) {\n for (let i = 0; i < markers.length; i++) {\n // @breaking-change 8.0.0\n if (markers[i].hasAttribute(`cdk-focus-${bound}`)) {\n console.warn(`Found use of deprecated attribute 'cdk-focus-${bound}', ` +\n `use 'cdkFocusRegion${bound}' instead. The deprecated ` +\n `attribute will be removed in 8.0.0.`, markers[i]);\n }\n else if (markers[i].hasAttribute(`cdk-focus-region-${bound}`)) {\n console.warn(`Found use of deprecated attribute 'cdk-focus-region-${bound}', ` +\n `use 'cdkFocusRegion${bound}' instead. The deprecated attribute ` +\n `will be removed in 8.0.0.`, markers[i]);\n }\n }\n }\n if (bound == 'start') {\n return markers.length ? markers[0] : this._getFirstTabbableElement(this._element);\n }\n return markers.length\n ? markers[markers.length - 1]\n : this._getLastTabbableElement(this._element);\n }\n /**\n * Focuses the element that should be focused when the focus trap is initialized.\n * @returns Whether focus was moved successfully.\n */\n focusInitialElement(options) {\n // Contains the deprecated version of selector, for temporary backwards comparability.\n const redirectToElement = this._element.querySelector(`[cdk-focus-initial], ` + `[cdkFocusInitial]`);\n if (redirectToElement) {\n // @breaking-change 8.0.0\n if ((typeof ngDevMode === 'undefined' || ngDevMode) &&\n redirectToElement.hasAttribute(`cdk-focus-initial`)) {\n console.warn(`Found use of deprecated attribute 'cdk-focus-initial', ` +\n `use 'cdkFocusInitial' instead. The deprecated attribute ` +\n `will be removed in 8.0.0`, redirectToElement);\n }\n // Warn the consumer if the element they've pointed to\n // isn't focusable, when not in production mode.\n if ((typeof ngDevMode === 'undefined' || ngDevMode) &&\n !this._checker.isFocusable(redirectToElement)) {\n console.warn(`Element matching '[cdkFocusInitial]' is not focusable.`, redirectToElement);\n }\n if (!this._checker.isFocusable(redirectToElement)) {\n const focusableChild = this._getFirstTabbableElement(redirectToElement);\n focusableChild?.focus(options);\n return !!focusableChild;\n }\n redirectToElement.focus(options);\n return true;\n }\n return this.focusFirstTabbableElement(options);\n }\n /**\n * Focuses the first tabbable element within the focus trap region.\n * @returns Whether focus was moved successfully.\n */\n focusFirstTabbableElement(options) {\n const redirectToElement = this._getRegionBoundary('start');\n if (redirectToElement) {\n redirectToElement.focus(options);\n }\n return !!redirectToElement;\n }\n /**\n * Focuses the last tabbable element within the focus trap region.\n * @returns Whether focus was moved successfully.\n */\n focusLastTabbableElement(options) {\n const redirectToElement = this._getRegionBoundary('end');\n if (redirectToElement) {\n redirectToElement.focus(options);\n }\n return !!redirectToElement;\n }\n /**\n * Checks whether the focus trap has successfully been attached.\n */\n hasAttached() {\n return this._hasAttached;\n }\n /** Get the first tabbable element from a DOM subtree (inclusive). */\n _getFirstTabbableElement(root) {\n if (this._checker.isFocusable(root) && this._checker.isTabbable(root)) {\n return root;\n }\n const children = root.children;\n for (let i = 0; i < children.length; i++) {\n const tabbableChild = children[i].nodeType === this._document.ELEMENT_NODE\n ? this._getFirstTabbableElement(children[i])\n : null;\n if (tabbableChild) {\n return tabbableChild;\n }\n }\n return null;\n }\n /** Get the last tabbable element from a DOM subtree (inclusive). */\n _getLastTabbableElement(root) {\n if (this._checker.isFocusable(root) && this._checker.isTabbable(root)) {\n return root;\n }\n // Iterate in reverse DOM order.\n const children = root.children;\n for (let i = children.length - 1; i >= 0; i--) {\n const tabbableChild = children[i].nodeType === this._document.ELEMENT_NODE\n ? this._getLastTabbableElement(children[i])\n : null;\n if (tabbableChild) {\n return tabbableChild;\n }\n }\n return null;\n }\n /** Creates an anchor element. */\n _createAnchor() {\n const anchor = this._document.createElement('div');\n this._toggleAnchorTabIndex(this._enabled, anchor);\n anchor.classList.add('cdk-visually-hidden');\n anchor.classList.add('cdk-focus-trap-anchor');\n anchor.setAttribute('aria-hidden', 'true');\n return anchor;\n }\n /**\n * Toggles the `tabindex` of an anchor, based on the enabled state of the focus trap.\n * @param isEnabled Whether the focus trap is enabled.\n * @param anchor Anchor on which to toggle the tabindex.\n */\n _toggleAnchorTabIndex(isEnabled, anchor) {\n // Remove the tabindex completely, rather than setting it to -1, because if the\n // element has a tabindex, the user might still hit it when navigating with the arrow keys.\n isEnabled ? anchor.setAttribute('tabindex', '0') : anchor.removeAttribute('tabindex');\n }\n /**\n * Toggles the`tabindex` of both anchors to either trap Tab focus or allow it to escape.\n * @param enabled: Whether the anchors should trap Tab.\n */\n toggleAnchors(enabled) {\n if (this._startAnchor && this._endAnchor) {\n this._toggleAnchorTabIndex(enabled, this._startAnchor);\n this._toggleAnchorTabIndex(enabled, this._endAnchor);\n }\n }\n /** Executes a function when the zone is stable. */\n _executeOnStable(fn) {\n if (this._ngZone.isStable) {\n fn();\n }\n else {\n this._ngZone.onStable.pipe(take(1)).subscribe(fn);\n }\n }\n}\n/**\n * Factory that allows easy instantiation of focus traps.\n * @deprecated Use `ConfigurableFocusTrapFactory` instead.\n * @breaking-change 11.0.0\n */\nclass FocusTrapFactory {\n constructor(_checker, _ngZone, _document) {\n this._checker = _checker;\n this._ngZone = _ngZone;\n this._document = _document;\n }\n /**\n * Creates a focus-trapped region around the given element.\n * @param element The element around which focus will be trapped.\n * @param deferCaptureElements Defers the creation of focus-capturing elements to be done\n * manually by the user.\n * @returns The created focus trap instance.\n */\n create(element, deferCaptureElements = false) {\n return new FocusTrap(element, this._checker, this._ngZone, this._document, deferCaptureElements);\n }\n}\nFocusTrapFactory.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"13.3.0\", ngImport: i0, type: FocusTrapFactory, deps: [{ token: InteractivityChecker }, { token: i0.NgZone }, { token: DOCUMENT }], target: i0.ɵɵFactoryTarget.Injectable });\nFocusTrapFactory.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"13.3.0\", ngImport: i0, type: FocusTrapFactory, providedIn: 'root' });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"13.3.0\", ngImport: i0, type: FocusTrapFactory, decorators: [{\n type: Injectable,\n args: [{ providedIn: 'root' }]\n }], ctorParameters: function () { return [{ type: InteractivityChecker }, { type: i0.NgZone }, { type: undefined, decorators: [{\n type: Inject,\n args: [DOCUMENT]\n }] }]; } });\n/** Directive for trapping focus within a region. */\nclass CdkTrapFocus {\n constructor(_elementRef, _focusTrapFactory, \n /**\n * @deprecated No longer being used. To be removed.\n * @breaking-change 13.0.0\n */\n _document) {\n this._elementRef = _elementRef;\n this._focusTrapFactory = _focusTrapFactory;\n /** Previously focused element to restore focus to upon destroy when using autoCapture. */\n this._previouslyFocusedElement = null;\n this.focusTrap = this._focusTrapFactory.create(this._elementRef.nativeElement, true);\n }\n /** Whether the focus trap is active. */\n get enabled() {\n return this.focusTrap.enabled;\n }\n set enabled(value) {\n this.focusTrap.enabled = coerceBooleanProperty(value);\n }\n /**\n * Whether the directive should automatically move focus into the trapped region upon\n * initialization and return focus to the previous activeElement upon destruction.\n */\n get autoCapture() {\n return this._autoCapture;\n }\n set autoCapture(value) {\n this._autoCapture = coerceBooleanProperty(value);\n }\n ngOnDestroy() {\n this.focusTrap.destroy();\n // If we stored a previously focused element when using autoCapture, return focus to that\n // element now that the trapped region is being destroyed.\n if (this._previouslyFocusedElement) {\n this._previouslyFocusedElement.focus();\n this._previouslyFocusedElement = null;\n }\n }\n ngAfterContentInit() {\n this.focusTrap.attachAnchors();\n if (this.autoCapture) {\n this._captureFocus();\n }\n }\n ngDoCheck() {\n if (!this.focusTrap.hasAttached()) {\n this.focusTrap.attachAnchors();\n }\n }\n ngOnChanges(changes) {\n const autoCaptureChange = changes['autoCapture'];\n if (autoCaptureChange &&\n !autoCaptureChange.firstChange &&\n this.autoCapture &&\n this.focusTrap.hasAttached()) {\n this._captureFocus();\n }\n }\n _captureFocus() {\n this._previouslyFocusedElement = _getFocusedElementPierceShadowDom();\n this.focusTrap.focusInitialElementWhenReady();\n }\n}\nCdkTrapFocus.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"13.3.0\", ngImport: i0, type: CdkTrapFocus, deps: [{ token: i0.ElementRef }, { token: FocusTrapFactory }, { token: DOCUMENT }], target: i0.ɵɵFactoryTarget.Directive });\nCdkTrapFocus.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"12.0.0\", version: \"13.3.0\", type: CdkTrapFocus, selector: \"[cdkTrapFocus]\", inputs: { enabled: [\"cdkTrapFocus\", \"enabled\"], autoCapture: [\"cdkTrapFocusAutoCapture\", \"autoCapture\"] }, exportAs: [\"cdkTrapFocus\"], usesOnChanges: true, ngImport: i0 });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"13.3.0\", ngImport: i0, type: CdkTrapFocus, decorators: [{\n type: Directive,\n args: [{\n selector: '[cdkTrapFocus]',\n exportAs: 'cdkTrapFocus',\n }]\n }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: FocusTrapFactory }, { type: undefined, decorators: [{\n type: Inject,\n args: [DOCUMENT]\n }] }]; }, propDecorators: { enabled: [{\n type: Input,\n args: ['cdkTrapFocus']\n }], autoCapture: [{\n type: Input,\n args: ['cdkTrapFocusAutoCapture']\n }] } });\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * Class that allows for trapping focus within a DOM element.\n *\n * This class uses a strategy pattern that determines how it traps focus.\n * See FocusTrapInertStrategy.\n */\nclass ConfigurableFocusTrap extends FocusTrap {\n constructor(_element, _checker, _ngZone, _document, _focusTrapManager, _inertStrategy, config) {\n super(_element, _checker, _ngZone, _document, config.defer);\n this._focusTrapManager = _focusTrapManager;\n this._inertStrategy = _inertStrategy;\n this._focusTrapManager.register(this);\n }\n /** Whether the FocusTrap is enabled. */\n get enabled() {\n return this._enabled;\n }\n set enabled(value) {\n this._enabled = value;\n if (this._enabled) {\n this._focusTrapManager.register(this);\n }\n else {\n this._focusTrapManager.deregister(this);\n }\n }\n /** Notifies the FocusTrapManager that this FocusTrap will be destroyed. */\n destroy() {\n this._focusTrapManager.deregister(this);\n super.destroy();\n }\n /** @docs-private Implemented as part of ManagedFocusTrap. */\n _enable() {\n this._inertStrategy.preventFocus(this);\n this.toggleAnchors(true);\n }\n /** @docs-private Implemented as part of ManagedFocusTrap. */\n _disable() {\n this._inertStrategy.allowFocus(this);\n this.toggleAnchors(false);\n }\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/** The injection token used to specify the inert strategy. */\nconst FOCUS_TRAP_INERT_STRATEGY = new InjectionToken('FOCUS_TRAP_INERT_STRATEGY');\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * Lightweight FocusTrapInertStrategy that adds a document focus event\n * listener to redirect focus back inside the FocusTrap.\n */\nclass EventListenerFocusTrapInertStrategy {\n constructor() {\n /** Focus event handler. */\n this._listener = null;\n }\n /** Adds a document event listener that keeps focus inside the FocusTrap. */\n preventFocus(focusTrap) {\n // Ensure there's only one listener per document\n if (this._listener) {\n focusTrap._document.removeEventListener('focus', this._listener, true);\n }\n this._listener = (e) => this._trapFocus(focusTrap, e);\n focusTrap._ngZone.runOutsideAngular(() => {\n focusTrap._document.addEventListener('focus', this._listener, true);\n });\n }\n /** Removes the event listener added in preventFocus. */\n allowFocus(focusTrap) {\n if (!this._listener) {\n return;\n }\n focusTrap._document.removeEventListener('focus', this._listener, true);\n this._listener = null;\n }\n /**\n * Refocuses the first element in the FocusTrap if the focus event target was outside\n * the FocusTrap.\n *\n * This is an event listener callback. The event listener is added in runOutsideAngular,\n * so all this code runs outside Angular as well.\n */\n _trapFocus(focusTrap, event) {\n const target = event.target;\n const focusTrapRoot = focusTrap._element;\n // Don't refocus if target was in an overlay, because the overlay might be associated\n // with an element inside the FocusTrap, ex. mat-select.\n if (target && !focusTrapRoot.contains(target) && !target.closest?.('div.cdk-overlay-pane')) {\n // Some legacy FocusTrap usages have logic that focuses some element on the page\n // just before FocusTrap is destroyed. For backwards compatibility, wait\n // to be sure FocusTrap is still enabled before refocusing.\n setTimeout(() => {\n // Check whether focus wasn't put back into the focus trap while the timeout was pending.\n if (focusTrap.enabled && !focusTrapRoot.contains(focusTrap._document.activeElement)) {\n focusTrap.focusFirstTabbableElement();\n }\n });\n }\n }\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/** Injectable that ensures only the most recently enabled FocusTrap is active. */\nclass FocusTrapManager {\n constructor() {\n // A stack of the FocusTraps on the page. Only the FocusTrap at the\n // top of the stack is active.\n this._focusTrapStack = [];\n }\n /**\n * Disables the FocusTrap at the top of the stack, and then pushes\n * the new FocusTrap onto the stack.\n */\n register(focusTrap) {\n // Dedupe focusTraps that register multiple times.\n this._focusTrapStack = this._focusTrapStack.filter(ft => ft !== focusTrap);\n let stack = this._focusTrapStack;\n if (stack.length) {\n stack[stack.length - 1]._disable();\n }\n stack.push(focusTrap);\n focusTrap._enable();\n }\n /**\n * Removes the FocusTrap from the stack, and activates the\n * FocusTrap that is the new top of the stack.\n */\n deregister(focusTrap) {\n focusTrap._disable();\n const stack = this._focusTrapStack;\n const i = stack.indexOf(focusTrap);\n if (i !== -1) {\n stack.splice(i, 1);\n if (stack.length) {\n stack[stack.length - 1]._enable();\n }\n }\n }\n}\nFocusTrapManager.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"13.3.0\", ngImport: i0, type: FocusTrapManager, deps: [], target: i0.ɵɵFactoryTarget.Injectable });\nFocusTrapManager.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"13.3.0\", ngImport: i0, type: FocusTrapManager, providedIn: 'root' });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"13.3.0\", ngImport: i0, type: FocusTrapManager, decorators: [{\n type: Injectable,\n args: [{ providedIn: 'root' }]\n }] });\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/** Factory that allows easy instantiation of configurable focus traps. */\nclass ConfigurableFocusTrapFactory {\n constructor(_checker, _ngZone, _focusTrapManager, _document, _inertStrategy) {\n this._checker = _checker;\n this._ngZone = _ngZone;\n this._focusTrapManager = _focusTrapManager;\n this._document = _document;\n // TODO split up the strategies into different modules, similar to DateAdapter.\n this._inertStrategy = _inertStrategy || new EventListenerFocusTrapInertStrategy();\n }\n create(element, config = { defer: false }) {\n let configObject;\n if (typeof config === 'boolean') {\n configObject = { defer: config };\n }\n else {\n configObject = config;\n }\n return new ConfigurableFocusTrap(element, this._checker, this._ngZone, this._document, this._focusTrapManager, this._inertStrategy, configObject);\n }\n}\nConfigurableFocusTrapFactory.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"13.3.0\", ngImport: i0, type: ConfigurableFocusTrapFactory, deps: [{ token: InteractivityChecker }, { token: i0.NgZone }, { token: FocusTrapManager }, { token: DOCUMENT }, { token: FOCUS_TRAP_INERT_STRATEGY, optional: true }], target: i0.ɵɵFactoryTarget.Injectable });\nConfigurableFocusTrapFactory.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"13.3.0\", ngImport: i0, type: ConfigurableFocusTrapFactory, providedIn: 'root' });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"13.3.0\", ngImport: i0, type: ConfigurableFocusTrapFactory, decorators: [{\n type: Injectable,\n args: [{ providedIn: 'root' }]\n }], ctorParameters: function () { return [{ type: InteractivityChecker }, { type: i0.NgZone }, { type: FocusTrapManager }, { type: undefined, decorators: [{\n type: Inject,\n args: [DOCUMENT]\n }] }, { type: undefined, decorators: [{\n type: Optional\n }, {\n type: Inject,\n args: [FOCUS_TRAP_INERT_STRATEGY]\n }] }]; } });\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/** Gets whether an event could be a faked `mousedown` event dispatched by a screen reader. */\nfunction isFakeMousedownFromScreenReader(event) {\n // Some screen readers will dispatch a fake `mousedown` event when pressing enter or space on\n // a clickable element. We can distinguish these events when both `offsetX` and `offsetY` are\n // zero or `event.buttons` is zero, depending on the browser:\n // - `event.buttons` works on Firefox, but fails on Chrome.\n // - `offsetX` and `offsetY` work on Chrome, but fail on Firefox.\n // Note that there's an edge case where the user could click the 0x0 spot of the\n // screen themselves, but that is unlikely to contain interactive elements.\n return event.buttons === 0 || (event.offsetX === 0 && event.offsetY === 0);\n}\n/** Gets whether an event could be a faked `touchstart` event dispatched by a screen reader. */\nfunction isFakeTouchstartFromScreenReader(event) {\n const touch = (event.touches && event.touches[0]) || (event.changedTouches && event.changedTouches[0]);\n // A fake `touchstart` can be distinguished from a real one by looking at the `identifier`\n // which is typically >= 0 on a real device versus -1 from a screen reader. Just to be safe,\n // we can also look at `radiusX` and `radiusY`. This behavior was observed against a Windows 10\n // device with a touch screen running NVDA v2020.4 and Firefox 85 or Chrome 88.\n return (!!touch &&\n touch.identifier === -1 &&\n (touch.radiusX == null || touch.radiusX === 1) &&\n (touch.radiusY == null || touch.radiusY === 1));\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * Injectable options for the InputModalityDetector. These are shallowly merged with the default\n * options.\n */\nconst INPUT_MODALITY_DETECTOR_OPTIONS = new InjectionToken('cdk-input-modality-detector-options');\n/**\n * Default options for the InputModalityDetector.\n *\n * Modifier keys are ignored by default (i.e. when pressed won't cause the service to detect\n * keyboard input modality) for two reasons:\n *\n * 1. Modifier keys are commonly used with mouse to perform actions such as 'right click' or 'open\n * in new tab', and are thus less representative of actual keyboard interaction.\n * 2. VoiceOver triggers some keyboard events when linearly navigating with Control + Option (but\n * confusingly not with Caps Lock). Thus, to have parity with other screen readers, we ignore\n * these keys so as to not update the input modality.\n *\n * Note that we do not by default ignore the right Meta key on Safari because it has the same key\n * code as the ContextMenu key on other browsers. When we switch to using event.key, we can\n * distinguish between the two.\n */\nconst INPUT_MODALITY_DETECTOR_DEFAULT_OPTIONS = {\n ignoreKeys: [ALT, CONTROL, MAC_META, META, SHIFT],\n};\n/**\n * The amount of time needed to pass after a touchstart event in order for a subsequent mousedown\n * event to be attributed as mouse and not touch.\n *\n * This is the value used by AngularJS Material. Through trial and error (on iPhone 6S) they found\n * that a value of around 650ms seems appropriate.\n */\nconst TOUCH_BUFFER_MS = 650;\n/**\n * Event listener options that enable capturing and also mark the listener as passive if the browser\n * supports it.\n */\nconst modalityEventListenerOptions = normalizePassiveListenerOptions({\n passive: true,\n capture: true,\n});\n/**\n * Service that detects the user's input modality.\n *\n * This service does not update the input modality when a user navigates with a screen reader\n * (e.g. linear navigation with VoiceOver, object navigation / browse mode with NVDA, virtual PC\n * cursor mode with JAWS). This is in part due to technical limitations (i.e. keyboard events do not\n * fire as expected in these modes) but is also arguably the correct behavior. Navigating with a\n * screen reader is akin to visually scanning a page, and should not be interpreted as actual user\n * input interaction.\n *\n * When a user is not navigating but *interacting* with a screen reader, this service attempts to\n * update the input modality to keyboard, but in general this service's behavior is largely\n * undefined.\n */\nclass InputModalityDetector {\n constructor(_platform, ngZone, document, options) {\n this._platform = _platform;\n /**\n * The most recently detected input modality event target. Is null if no input modality has been\n * detected or if the associated event target is null for some unknown reason.\n */\n this._mostRecentTarget = null;\n /** The underlying BehaviorSubject that emits whenever an input modality is detected. */\n this._modality = new BehaviorSubject(null);\n /**\n * The timestamp of the last touch input modality. Used to determine whether mousedown events\n * should be attributed to mouse or touch.\n */\n this._lastTouchMs = 0;\n /**\n * Handles keydown events. Must be an arrow function in order to preserve the context when it gets\n * bound.\n */\n this._onKeydown = (event) => {\n // If this is one of the keys we should ignore, then ignore it and don't update the input\n // modality to keyboard.\n if (this._options?.ignoreKeys?.some(keyCode => keyCode === event.keyCode)) {\n return;\n }\n this._modality.next('keyboard');\n this._mostRecentTarget = _getEventTarget(event);\n };\n /**\n * Handles mousedown events. Must be an arrow function in order to preserve the context when it\n * gets bound.\n */\n this._onMousedown = (event) => {\n // Touches trigger both touch and mouse events, so we need to distinguish between mouse events\n // that were triggered via mouse vs touch. To do so, check if the mouse event occurs closely\n // after the previous touch event.\n if (Date.now() - this._lastTouchMs < TOUCH_BUFFER_MS) {\n return;\n }\n // Fake mousedown events are fired by some screen readers when controls are activated by the\n // screen reader. Attribute them to keyboard input modality.\n this._modality.next(isFakeMousedownFromScreenReader(event) ? 'keyboard' : 'mouse');\n this._mostRecentTarget = _getEventTarget(event);\n };\n /**\n * Handles touchstart events. Must be an arrow function in order to preserve the context when it\n * gets bound.\n */\n this._onTouchstart = (event) => {\n // Same scenario as mentioned in _onMousedown, but on touch screen devices, fake touchstart\n // events are fired. Again, attribute to keyboard input modality.\n if (isFakeTouchstartFromScreenReader(event)) {\n this._modality.next('keyboard');\n return;\n }\n // Store the timestamp of this touch event, as it's used to distinguish between mouse events\n // triggered via mouse vs touch.\n this._lastTouchMs = Date.now();\n this._modality.next('touch');\n this._mostRecentTarget = _getEventTarget(event);\n };\n this._options = {\n ...INPUT_MODALITY_DETECTOR_DEFAULT_OPTIONS,\n ...options,\n };\n // Skip the first emission as it's null.\n this.modalityDetected = this._modality.pipe(skip(1));\n this.modalityChanged = this.modalityDetected.pipe(distinctUntilChanged());\n // If we're not in a browser, this service should do nothing, as there's no relevant input\n // modality to detect.\n if (_platform.isBrowser) {\n ngZone.runOutsideAngular(() => {\n document.addEventListener('keydown', this._onKeydown, modalityEventListenerOptions);\n document.addEventListener('mousedown', this._onMousedown, modalityEventListenerOptions);\n document.addEventListener('touchstart', this._onTouchstart, modalityEventListenerOptions);\n });\n }\n }\n /** The most recently detected input modality. */\n get mostRecentModality() {\n return this._modality.value;\n }\n ngOnDestroy() {\n this._modality.complete();\n if (this._platform.isBrowser) {\n document.removeEventListener('keydown', this._onKeydown, modalityEventListenerOptions);\n document.removeEventListener('mousedown', this._onMousedown, modalityEventListenerOptions);\n document.removeEventListener('touchstart', this._onTouchstart, modalityEventListenerOptions);\n }\n }\n}\nInputModalityDetector.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"13.3.0\", ngImport: i0, type: InputModalityDetector, deps: [{ token: i1.Platform }, { token: i0.NgZone }, { token: DOCUMENT }, { token: INPUT_MODALITY_DETECTOR_OPTIONS, optional: true }], target: i0.ɵɵFactoryTarget.Injectable });\nInputModalityDetector.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"13.3.0\", ngImport: i0, type: InputModalityDetector, providedIn: 'root' });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"13.3.0\", ngImport: i0, type: InputModalityDetector, decorators: [{\n type: Injectable,\n args: [{ providedIn: 'root' }]\n }], ctorParameters: function () { return [{ type: i1.Platform }, { type: i0.NgZone }, { type: Document, decorators: [{\n type: Inject,\n args: [DOCUMENT]\n }] }, { type: undefined, decorators: [{\n type: Optional\n }, {\n type: Inject,\n args: [INPUT_MODALITY_DETECTOR_OPTIONS]\n }] }]; } });\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nconst LIVE_ANNOUNCER_ELEMENT_TOKEN = new InjectionToken('liveAnnouncerElement', {\n providedIn: 'root',\n factory: LIVE_ANNOUNCER_ELEMENT_TOKEN_FACTORY,\n});\n/** @docs-private */\nfunction LIVE_ANNOUNCER_ELEMENT_TOKEN_FACTORY() {\n return null;\n}\n/** Injection token that can be used to configure the default options for the LiveAnnouncer. */\nconst LIVE_ANNOUNCER_DEFAULT_OPTIONS = new InjectionToken('LIVE_ANNOUNCER_DEFAULT_OPTIONS');\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nclass LiveAnnouncer {\n constructor(elementToken, _ngZone, _document, _defaultOptions) {\n this._ngZone = _ngZone;\n this._defaultOptions = _defaultOptions;\n // We inject the live element and document as `any` because the constructor signature cannot\n // reference browser globals (HTMLElement, Document) on non-browser environments, since having\n // a class decorator causes TypeScript to preserve the constructor signature types.\n this._document = _document;\n this._liveElement = elementToken || this._createLiveElement();\n }\n announce(message, ...args) {\n const defaultOptions = this._defaultOptions;\n let politeness;\n let duration;\n if (args.length === 1 && typeof args[0] === 'number') {\n duration = args[0];\n }\n else {\n [politeness, duration] = args;\n }\n this.clear();\n clearTimeout(this._previousTimeout);\n if (!politeness) {\n politeness =\n defaultOptions && defaultOptions.politeness ? defaultOptions.politeness : 'polite';\n }\n if (duration == null && defaultOptions) {\n duration = defaultOptions.duration;\n }\n // TODO: ensure changing the politeness works on all environments we support.\n this._liveElement.setAttribute('aria-live', politeness);\n // This 100ms timeout is necessary for some browser + screen-reader combinations:\n // - Both JAWS and NVDA over IE11 will not announce anything without a non-zero timeout.\n // - With Chrome and IE11 with NVDA or JAWS, a repeated (identical) message won't be read a\n // second time without clearing and then using a non-zero delay.\n // (using JAWS 17 at time of this writing).\n return this._ngZone.runOutsideAngular(() => {\n if (!this._currentPromise) {\n this._currentPromise = new Promise(resolve => (this._currentResolve = resolve));\n }\n clearTimeout(this._previousTimeout);\n this._previousTimeout = setTimeout(() => {\n this._liveElement.textContent = message;\n if (typeof duration === 'number') {\n this._previousTimeout = setTimeout(() => this.clear(), duration);\n }\n this._currentResolve();\n this._currentPromise = this._currentResolve = undefined;\n }, 100);\n return this._currentPromise;\n });\n }\n /**\n * Clears the current text from the announcer element. Can be used to prevent\n * screen readers from reading the text out again while the user is going\n * through the page landmarks.\n */\n clear() {\n if (this._liveElement) {\n this._liveElement.textContent = '';\n }\n }\n ngOnDestroy() {\n clearTimeout(this._previousTimeout);\n this._liveElement?.remove();\n this._liveElement = null;\n this._currentResolve?.();\n this._currentPromise = this._currentResolve = undefined;\n }\n _createLiveElement() {\n const elementClass = 'cdk-live-announcer-element';\n const previousElements = this._document.getElementsByClassName(elementClass);\n const liveEl = this._document.createElement('div');\n // Remove any old containers. This can happen when coming in from a server-side-rendered page.\n for (let i = 0; i < previousElements.length; i++) {\n previousElements[i].remove();\n }\n liveEl.classList.add(elementClass);\n liveEl.classList.add('cdk-visually-hidden');\n liveEl.setAttribute('aria-atomic', 'true');\n liveEl.setAttribute('aria-live', 'polite');\n this._document.body.appendChild(liveEl);\n return liveEl;\n }\n}\nLiveAnnouncer.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"13.3.0\", ngImport: i0, type: LiveAnnouncer, deps: [{ token: LIVE_ANNOUNCER_ELEMENT_TOKEN, optional: true }, { token: i0.NgZone }, { token: DOCUMENT }, { token: LIVE_ANNOUNCER_DEFAULT_OPTIONS, optional: true }], target: i0.ɵɵFactoryTarget.Injectable });\nLiveAnnouncer.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"13.3.0\", ngImport: i0, type: LiveAnnouncer, providedIn: 'root' });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"13.3.0\", ngImport: i0, type: LiveAnnouncer, decorators: [{\n type: Injectable,\n args: [{ providedIn: 'root' }]\n }], ctorParameters: function () { return [{ type: undefined, decorators: [{\n type: Optional\n }, {\n type: Inject,\n args: [LIVE_ANNOUNCER_ELEMENT_TOKEN]\n }] }, { type: i0.NgZone }, { type: undefined, decorators: [{\n type: Inject,\n args: [DOCUMENT]\n }] }, { type: undefined, decorators: [{\n type: Optional\n }, {\n type: Inject,\n args: [LIVE_ANNOUNCER_DEFAULT_OPTIONS]\n }] }]; } });\n/**\n * A directive that works similarly to aria-live, but uses the LiveAnnouncer to ensure compatibility\n * with a wider range of browsers and screen readers.\n */\nclass CdkAriaLive {\n constructor(_elementRef, _liveAnnouncer, _contentObserver, _ngZone) {\n this._elementRef = _elementRef;\n this._liveAnnouncer = _liveAnnouncer;\n this._contentObserver = _contentObserver;\n this._ngZone = _ngZone;\n this._politeness = 'polite';\n }\n /** The aria-live politeness level to use when announcing messages. */\n get politeness() {\n return this._politeness;\n }\n set politeness(value) {\n this._politeness = value === 'off' || value === 'assertive' ? value : 'polite';\n if (this._politeness === 'off') {\n if (this._subscription) {\n this._subscription.unsubscribe();\n this._subscription = null;\n }\n }\n else if (!this._subscription) {\n this._subscription = this._ngZone.runOutsideAngular(() => {\n return this._contentObserver.observe(this._elementRef).subscribe(() => {\n // Note that we use textContent here, rather than innerText, in order to avoid a reflow.\n const elementText = this._elementRef.nativeElement.textContent;\n // The `MutationObserver` fires also for attribute\n // changes which we don't want to announce.\n if (elementText !== this._previousAnnouncedText) {\n this._liveAnnouncer.announce(elementText, this._politeness);\n this._previousAnnouncedText = elementText;\n }\n });\n });\n }\n }\n ngOnDestroy() {\n if (this._subscription) {\n this._subscription.unsubscribe();\n }\n }\n}\nCdkAriaLive.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"13.3.0\", ngImport: i0, type: CdkAriaLive, deps: [{ token: i0.ElementRef }, { token: LiveAnnouncer }, { token: i1$1.ContentObserver }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Directive });\nCdkAriaLive.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"12.0.0\", version: \"13.3.0\", type: CdkAriaLive, selector: \"[cdkAriaLive]\", inputs: { politeness: [\"cdkAriaLive\", \"politeness\"] }, exportAs: [\"cdkAriaLive\"], ngImport: i0 });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"13.3.0\", ngImport: i0, type: CdkAriaLive, decorators: [{\n type: Directive,\n args: [{\n selector: '[cdkAriaLive]',\n exportAs: 'cdkAriaLive',\n }]\n }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: LiveAnnouncer }, { type: i1$1.ContentObserver }, { type: i0.NgZone }]; }, propDecorators: { politeness: [{\n type: Input,\n args: ['cdkAriaLive']\n }] } });\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/** InjectionToken for FocusMonitorOptions. */\nconst FOCUS_MONITOR_DEFAULT_OPTIONS = new InjectionToken('cdk-focus-monitor-default-options');\n/**\n * Event listener options that enable capturing and also\n * mark the listener as passive if the browser supports it.\n */\nconst captureEventListenerOptions = normalizePassiveListenerOptions({\n passive: true,\n capture: true,\n});\n/** Monitors mouse and keyboard events to determine the cause of focus events. */\nclass FocusMonitor {\n constructor(_ngZone, _platform, _inputModalityDetector, \n /** @breaking-change 11.0.0 make document required */\n document, options) {\n this._ngZone = _ngZone;\n this._platform = _platform;\n this._inputModalityDetector = _inputModalityDetector;\n /** The focus origin that the next focus event is a result of. */\n this._origin = null;\n /** Whether the window has just been focused. */\n this._windowFocused = false;\n /**\n * Whether the origin was determined via a touch interaction. Necessary as properly attributing\n * focus events to touch interactions requires special logic.\n */\n this._originFromTouchInteraction = false;\n /** Map of elements being monitored to their info. */\n this._elementInfo = new Map();\n /** The number of elements currently being monitored. */\n this._monitoredElementCount = 0;\n /**\n * Keeps track of the root nodes to which we've currently bound a focus/blur handler,\n * as well as the number of monitored elements that they contain. We have to treat focus/blur\n * handlers differently from the rest of the events, because the browser won't emit events\n * to the document when focus moves inside of a shadow root.\n */\n this._rootNodeFocusListenerCount = new Map();\n /**\n * Event listener for `focus` events on the window.\n * Needs to be an arrow function in order to preserve the context when it gets bound.\n */\n this._windowFocusListener = () => {\n // Make a note of when the window regains focus, so we can\n // restore the origin info for the focused element.\n this._windowFocused = true;\n this._windowFocusTimeoutId = window.setTimeout(() => (this._windowFocused = false));\n };\n /** Subject for stopping our InputModalityDetector subscription. */\n this._stopInputModalityDetector = new Subject();\n /**\n * Event listener for `focus` and 'blur' events on the document.\n * Needs to be an arrow function in order to preserve the context when it gets bound.\n */\n this._rootNodeFocusAndBlurListener = (event) => {\n const target = _getEventTarget(event);\n const handler = event.type === 'focus' ? this._onFocus : this._onBlur;\n // We need to walk up the ancestor chain in order to support `checkChildren`.\n for (let element = target; element; element = element.parentElement) {\n handler.call(this, event, element);\n }\n };\n this._document = document;\n this._detectionMode = options?.detectionMode || 0 /* IMMEDIATE */;\n }\n monitor(element, checkChildren = false) {\n const nativeElement = coerceElement(element);\n // Do nothing if we're not on the browser platform or the passed in node isn't an element.\n if (!this._platform.isBrowser || nativeElement.nodeType !== 1) {\n return of(null);\n }\n // If the element is inside the shadow DOM, we need to bind our focus/blur listeners to\n // the shadow root, rather than the `document`, because the browser won't emit focus events\n // to the `document`, if focus is moving within the same shadow root.\n const rootNode = _getShadowRoot(nativeElement) || this._getDocument();\n const cachedInfo = this._elementInfo.get(nativeElement);\n // Check if we're already monitoring this element.\n if (cachedInfo) {\n if (checkChildren) {\n // TODO(COMP-318): this can be problematic, because it'll turn all non-checkChildren\n // observers into ones that behave as if `checkChildren` was turned on. We need a more\n // robust solution.\n cachedInfo.checkChildren = true;\n }\n return cachedInfo.subject;\n }\n // Create monitored element info.\n const info = {\n checkChildren: checkChildren,\n subject: new Subject(),\n rootNode,\n };\n this._elementInfo.set(nativeElement, info);\n this._registerGlobalListeners(info);\n return info.subject;\n }\n stopMonitoring(element) {\n const nativeElement = coerceElement(element);\n const elementInfo = this._elementInfo.get(nativeElement);\n if (elementInfo) {\n elementInfo.subject.complete();\n this._setClasses(nativeElement);\n this._elementInfo.delete(nativeElement);\n this._removeGlobalListeners(elementInfo);\n }\n }\n focusVia(element, origin, options) {\n const nativeElement = coerceElement(element);\n const focusedElement = this._getDocument().activeElement;\n // If the element is focused already, calling `focus` again won't trigger the event listener\n // which means that the focus classes won't be updated. If that's the case, update the classes\n // directly without waiting for an event.\n if (nativeElement === focusedElement) {\n this._getClosestElementsInfo(nativeElement).forEach(([currentElement, info]) => this._originChanged(currentElement, origin, info));\n }\n else {\n this._setOrigin(origin);\n // `focus` isn't available on the server\n if (typeof nativeElement.focus === 'function') {\n nativeElement.focus(options);\n }\n }\n }\n ngOnDestroy() {\n this._elementInfo.forEach((_info, element) => this.stopMonitoring(element));\n }\n /** Access injected document if available or fallback to global document reference */\n _getDocument() {\n return this._document || document;\n }\n /** Use defaultView of injected document if available or fallback to global window reference */\n _getWindow() {\n const doc = this._getDocument();\n return doc.defaultView || window;\n }\n _getFocusOrigin(focusEventTarget) {\n if (this._origin) {\n // If the origin was realized via a touch interaction, we need to perform additional checks\n // to determine whether the focus origin should be attributed to touch or program.\n if (this._originFromTouchInteraction) {\n return this._shouldBeAttributedToTouch(focusEventTarget) ? 'touch' : 'program';\n }\n else {\n return this._origin;\n }\n }\n // If the window has just regained focus, we can restore the most recent origin from before the\n // window blurred. Otherwise, we've reached the point where we can't identify the source of the\n // focus. This typically means one of two things happened:\n //\n // 1) The element was programmatically focused, or\n // 2) The element was focused via screen reader navigation (which generally doesn't fire\n // events).\n //\n // Because we can't distinguish between these two cases, we default to setting `program`.\n return this._windowFocused && this._lastFocusOrigin ? this._lastFocusOrigin : 'program';\n }\n /**\n * Returns whether the focus event should be attributed to touch. Recall that in IMMEDIATE mode, a\n * touch origin isn't immediately reset at the next tick (see _setOrigin). This means that when we\n * handle a focus event following a touch interaction, we need to determine whether (1) the focus\n * event was directly caused by the touch interaction or (2) the focus event was caused by a\n * subsequent programmatic focus call triggered by the touch interaction.\n * @param focusEventTarget The target of the focus event under examination.\n */\n _shouldBeAttributedToTouch(focusEventTarget) {\n // Please note that this check is not perfect. Consider the following edge case:\n //\n //
\n //
\n //
\n //\n // Suppose there is a FocusMonitor in IMMEDIATE mode attached to #parent. When the user touches\n // #child, #parent is programmatically focused. This code will attribute the focus to touch\n // instead of program. This is a relatively minor edge-case that can be worked around by using\n // focusVia(parent, 'program') to focus #parent.\n return (this._detectionMode === 1 /* EVENTUAL */ ||\n !!focusEventTarget?.contains(this._inputModalityDetector._mostRecentTarget));\n }\n /**\n * Sets the focus classes on the element based on the given focus origin.\n * @param element The element to update the classes on.\n * @param origin The focus origin.\n */\n _setClasses(element, origin) {\n element.classList.toggle('cdk-focused', !!origin);\n element.classList.toggle('cdk-touch-focused', origin === 'touch');\n element.classList.toggle('cdk-keyboard-focused', origin === 'keyboard');\n element.classList.toggle('cdk-mouse-focused', origin === 'mouse');\n element.classList.toggle('cdk-program-focused', origin === 'program');\n }\n /**\n * Updates the focus origin. If we're using immediate detection mode, we schedule an async\n * function to clear the origin at the end of a timeout. The duration of the timeout depends on\n * the origin being set.\n * @param origin The origin to set.\n * @param isFromInteraction Whether we are setting the origin from an interaction event.\n */\n _setOrigin(origin, isFromInteraction = false) {\n this._ngZone.runOutsideAngular(() => {\n this._origin = origin;\n this._originFromTouchInteraction = origin === 'touch' && isFromInteraction;\n // If we're in IMMEDIATE mode, reset the origin at the next tick (or in `TOUCH_BUFFER_MS` ms\n // for a touch event). We reset the origin at the next tick because Firefox focuses one tick\n // after the interaction event. We wait `TOUCH_BUFFER_MS` ms before resetting the origin for\n // a touch event because when a touch event is fired, the associated focus event isn't yet in\n // the event queue. Before doing so, clear any pending timeouts.\n if (this._detectionMode === 0 /* IMMEDIATE */) {\n clearTimeout(this._originTimeoutId);\n const ms = this._originFromTouchInteraction ? TOUCH_BUFFER_MS : 1;\n this._originTimeoutId = setTimeout(() => (this._origin = null), ms);\n }\n });\n }\n /**\n * Handles focus events on a registered element.\n * @param event The focus event.\n * @param element The monitored element.\n */\n _onFocus(event, element) {\n // NOTE(mmalerba): We currently set the classes based on the focus origin of the most recent\n // focus event affecting the monitored element. If we want to use the origin of the first event\n // instead we should check for the cdk-focused class here and return if the element already has\n // it. (This only matters for elements that have includesChildren = true).\n // If we are not counting child-element-focus as focused, make sure that the event target is the\n // monitored element itself.\n const elementInfo = this._elementInfo.get(element);\n const focusEventTarget = _getEventTarget(event);\n if (!elementInfo || (!elementInfo.checkChildren && element !== focusEventTarget)) {\n return;\n }\n this._originChanged(element, this._getFocusOrigin(focusEventTarget), elementInfo);\n }\n /**\n * Handles blur events on a registered element.\n * @param event The blur event.\n * @param element The monitored element.\n */\n _onBlur(event, element) {\n // If we are counting child-element-focus as focused, make sure that we aren't just blurring in\n // order to focus another child of the monitored element.\n const elementInfo = this._elementInfo.get(element);\n if (!elementInfo ||\n (elementInfo.checkChildren &&\n event.relatedTarget instanceof Node &&\n element.contains(event.relatedTarget))) {\n return;\n }\n this._setClasses(element);\n this._emitOrigin(elementInfo.subject, null);\n }\n _emitOrigin(subject, origin) {\n this._ngZone.run(() => subject.next(origin));\n }\n _registerGlobalListeners(elementInfo) {\n if (!this._platform.isBrowser) {\n return;\n }\n const rootNode = elementInfo.rootNode;\n const rootNodeFocusListeners = this._rootNodeFocusListenerCount.get(rootNode) || 0;\n if (!rootNodeFocusListeners) {\n this._ngZone.runOutsideAngular(() => {\n rootNode.addEventListener('focus', this._rootNodeFocusAndBlurListener, captureEventListenerOptions);\n rootNode.addEventListener('blur', this._rootNodeFocusAndBlurListener, captureEventListenerOptions);\n });\n }\n this._rootNodeFocusListenerCount.set(rootNode, rootNodeFocusListeners + 1);\n // Register global listeners when first element is monitored.\n if (++this._monitoredElementCount === 1) {\n // Note: we listen to events in the capture phase so we\n // can detect them even if the user stops propagation.\n this._ngZone.runOutsideAngular(() => {\n const window = this._getWindow();\n window.addEventListener('focus', this._windowFocusListener);\n });\n // The InputModalityDetector is also just a collection of global listeners.\n this._inputModalityDetector.modalityDetected\n .pipe(takeUntil(this._stopInputModalityDetector))\n .subscribe(modality => {\n this._setOrigin(modality, true /* isFromInteraction */);\n });\n }\n }\n _removeGlobalListeners(elementInfo) {\n const rootNode = elementInfo.rootNode;\n if (this._rootNodeFocusListenerCount.has(rootNode)) {\n const rootNodeFocusListeners = this._rootNodeFocusListenerCount.get(rootNode);\n if (rootNodeFocusListeners > 1) {\n this._rootNodeFocusListenerCount.set(rootNode, rootNodeFocusListeners - 1);\n }\n else {\n rootNode.removeEventListener('focus', this._rootNodeFocusAndBlurListener, captureEventListenerOptions);\n rootNode.removeEventListener('blur', this._rootNodeFocusAndBlurListener, captureEventListenerOptions);\n this._rootNodeFocusListenerCount.delete(rootNode);\n }\n }\n // Unregister global listeners when last element is unmonitored.\n if (!--this._monitoredElementCount) {\n const window = this._getWindow();\n window.removeEventListener('focus', this._windowFocusListener);\n // Equivalently, stop our InputModalityDetector subscription.\n this._stopInputModalityDetector.next();\n // Clear timeouts for all potentially pending timeouts to prevent the leaks.\n clearTimeout(this._windowFocusTimeoutId);\n clearTimeout(this._originTimeoutId);\n }\n }\n /** Updates all the state on an element once its focus origin has changed. */\n _originChanged(element, origin, elementInfo) {\n this._setClasses(element, origin);\n this._emitOrigin(elementInfo.subject, origin);\n this._lastFocusOrigin = origin;\n }\n /**\n * Collects the `MonitoredElementInfo` of a particular element and\n * all of its ancestors that have enabled `checkChildren`.\n * @param element Element from which to start the search.\n */\n _getClosestElementsInfo(element) {\n const results = [];\n this._elementInfo.forEach((info, currentElement) => {\n if (currentElement === element || (info.checkChildren && currentElement.contains(element))) {\n results.push([currentElement, info]);\n }\n });\n return results;\n }\n}\nFocusMonitor.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"13.3.0\", ngImport: i0, type: FocusMonitor, deps: [{ token: i0.NgZone }, { token: i1.Platform }, { token: InputModalityDetector }, { token: DOCUMENT, optional: true }, { token: FOCUS_MONITOR_DEFAULT_OPTIONS, optional: true }], target: i0.ɵɵFactoryTarget.Injectable });\nFocusMonitor.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"13.3.0\", ngImport: i0, type: FocusMonitor, providedIn: 'root' });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"13.3.0\", ngImport: i0, type: FocusMonitor, decorators: [{\n type: Injectable,\n args: [{ providedIn: 'root' }]\n }], ctorParameters: function () { return [{ type: i0.NgZone }, { type: i1.Platform }, { type: InputModalityDetector }, { type: undefined, decorators: [{\n type: Optional\n }, {\n type: Inject,\n args: [DOCUMENT]\n }] }, { type: undefined, decorators: [{\n type: Optional\n }, {\n type: Inject,\n args: [FOCUS_MONITOR_DEFAULT_OPTIONS]\n }] }]; } });\n/**\n * Directive that determines how a particular element was focused (via keyboard, mouse, touch, or\n * programmatically) and adds corresponding classes to the element.\n *\n * There are two variants of this directive:\n * 1) cdkMonitorElementFocus: does not consider an element to be focused if one of its children is\n * focused.\n * 2) cdkMonitorSubtreeFocus: considers an element focused if it or any of its children are focused.\n */\nclass CdkMonitorFocus {\n constructor(_elementRef, _focusMonitor) {\n this._elementRef = _elementRef;\n this._focusMonitor = _focusMonitor;\n this.cdkFocusChange = new EventEmitter();\n }\n ngAfterViewInit() {\n const element = this._elementRef.nativeElement;\n this._monitorSubscription = this._focusMonitor\n .monitor(element, element.nodeType === 1 && element.hasAttribute('cdkMonitorSubtreeFocus'))\n .subscribe(origin => this.cdkFocusChange.emit(origin));\n }\n ngOnDestroy() {\n this._focusMonitor.stopMonitoring(this._elementRef);\n if (this._monitorSubscription) {\n this._monitorSubscription.unsubscribe();\n }\n }\n}\nCdkMonitorFocus.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"13.3.0\", ngImport: i0, type: CdkMonitorFocus, deps: [{ token: i0.ElementRef }, { token: FocusMonitor }], target: i0.ɵɵFactoryTarget.Directive });\nCdkMonitorFocus.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"12.0.0\", version: \"13.3.0\", type: CdkMonitorFocus, selector: \"[cdkMonitorElementFocus], [cdkMonitorSubtreeFocus]\", outputs: { cdkFocusChange: \"cdkFocusChange\" }, ngImport: i0 });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"13.3.0\", ngImport: i0, type: CdkMonitorFocus, decorators: [{\n type: Directive,\n args: [{\n selector: '[cdkMonitorElementFocus], [cdkMonitorSubtreeFocus]',\n }]\n }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: FocusMonitor }]; }, propDecorators: { cdkFocusChange: [{\n type: Output\n }] } });\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/** CSS class applied to the document body when in black-on-white high-contrast mode. */\nconst BLACK_ON_WHITE_CSS_CLASS = 'cdk-high-contrast-black-on-white';\n/** CSS class applied to the document body when in white-on-black high-contrast mode. */\nconst WHITE_ON_BLACK_CSS_CLASS = 'cdk-high-contrast-white-on-black';\n/** CSS class applied to the document body when in high-contrast mode. */\nconst HIGH_CONTRAST_MODE_ACTIVE_CSS_CLASS = 'cdk-high-contrast-active';\n/**\n * Service to determine whether the browser is currently in a high-contrast-mode environment.\n *\n * Microsoft Windows supports an accessibility feature called \"High Contrast Mode\". This mode\n * changes the appearance of all applications, including web applications, to dramatically increase\n * contrast.\n *\n * IE, Edge, and Firefox currently support this mode. Chrome does not support Windows High Contrast\n * Mode. This service does not detect high-contrast mode as added by the Chrome \"High Contrast\"\n * browser extension.\n */\nclass HighContrastModeDetector {\n constructor(_platform, document) {\n this._platform = _platform;\n this._document = document;\n }\n /** Gets the current high-contrast-mode for the page. */\n getHighContrastMode() {\n if (!this._platform.isBrowser) {\n return 0 /* NONE */;\n }\n // Create a test element with an arbitrary background-color that is neither black nor\n // white; high-contrast mode will coerce the color to either black or white. Also ensure that\n // appending the test element to the DOM does not affect layout by absolutely positioning it\n const testElement = this._document.createElement('div');\n testElement.style.backgroundColor = 'rgb(1,2,3)';\n testElement.style.position = 'absolute';\n this._document.body.appendChild(testElement);\n // Get the computed style for the background color, collapsing spaces to normalize between\n // browsers. Once we get this color, we no longer need the test element. Access the `window`\n // via the document so we can fake it in tests. Note that we have extra null checks, because\n // this logic will likely run during app bootstrap and throwing can break the entire app.\n const documentWindow = this._document.defaultView || window;\n const computedStyle = documentWindow && documentWindow.getComputedStyle\n ? documentWindow.getComputedStyle(testElement)\n : null;\n const computedColor = ((computedStyle && computedStyle.backgroundColor) || '').replace(/ /g, '');\n testElement.remove();\n switch (computedColor) {\n case 'rgb(0,0,0)':\n return 2 /* WHITE_ON_BLACK */;\n case 'rgb(255,255,255)':\n return 1 /* BLACK_ON_WHITE */;\n }\n return 0 /* NONE */;\n }\n /** Applies CSS classes indicating high-contrast mode to document body (browser-only). */\n _applyBodyHighContrastModeCssClasses() {\n if (!this._hasCheckedHighContrastMode && this._platform.isBrowser && this._document.body) {\n const bodyClasses = this._document.body.classList;\n // IE11 doesn't support `classList` operations with multiple arguments\n bodyClasses.remove(HIGH_CONTRAST_MODE_ACTIVE_CSS_CLASS);\n bodyClasses.remove(BLACK_ON_WHITE_CSS_CLASS);\n bodyClasses.remove(WHITE_ON_BLACK_CSS_CLASS);\n this._hasCheckedHighContrastMode = true;\n const mode = this.getHighContrastMode();\n if (mode === 1 /* BLACK_ON_WHITE */) {\n bodyClasses.add(HIGH_CONTRAST_MODE_ACTIVE_CSS_CLASS);\n bodyClasses.add(BLACK_ON_WHITE_CSS_CLASS);\n }\n else if (mode === 2 /* WHITE_ON_BLACK */) {\n bodyClasses.add(HIGH_CONTRAST_MODE_ACTIVE_CSS_CLASS);\n bodyClasses.add(WHITE_ON_BLACK_CSS_CLASS);\n }\n }\n }\n}\nHighContrastModeDetector.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"13.3.0\", ngImport: i0, type: HighContrastModeDetector, deps: [{ token: i1.Platform }, { token: DOCUMENT }], target: i0.ɵɵFactoryTarget.Injectable });\nHighContrastModeDetector.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"13.3.0\", ngImport: i0, type: HighContrastModeDetector, providedIn: 'root' });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"13.3.0\", ngImport: i0, type: HighContrastModeDetector, decorators: [{\n type: Injectable,\n args: [{ providedIn: 'root' }]\n }], ctorParameters: function () { return [{ type: i1.Platform }, { type: undefined, decorators: [{\n type: Inject,\n args: [DOCUMENT]\n }] }]; } });\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nclass A11yModule {\n constructor(highContrastModeDetector) {\n highContrastModeDetector._applyBodyHighContrastModeCssClasses();\n }\n}\nA11yModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"13.3.0\", ngImport: i0, type: A11yModule, deps: [{ token: HighContrastModeDetector }], target: i0.ɵɵFactoryTarget.NgModule });\nA11yModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: \"12.0.0\", version: \"13.3.0\", ngImport: i0, type: A11yModule, declarations: [CdkAriaLive, CdkTrapFocus, CdkMonitorFocus], imports: [ObserversModule], exports: [CdkAriaLive, CdkTrapFocus, CdkMonitorFocus] });\nA11yModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: \"12.0.0\", version: \"13.3.0\", ngImport: i0, type: A11yModule, imports: [[ObserversModule]] });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"13.3.0\", ngImport: i0, type: A11yModule, decorators: [{\n type: NgModule,\n args: [{\n imports: [ObserversModule],\n declarations: [CdkAriaLive, CdkTrapFocus, CdkMonitorFocus],\n exports: [CdkAriaLive, CdkTrapFocus, CdkMonitorFocus],\n }]\n }], ctorParameters: function () { return [{ type: HighContrastModeDetector }]; } });\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\n/**\n * Generated bundle index. Do not edit.\n */\n\nexport { A11yModule, ActiveDescendantKeyManager, AriaDescriber, CDK_DESCRIBEDBY_HOST_ATTRIBUTE, CDK_DESCRIBEDBY_ID_PREFIX, CdkAriaLive, CdkMonitorFocus, CdkTrapFocus, ConfigurableFocusTrap, ConfigurableFocusTrapFactory, EventListenerFocusTrapInertStrategy, FOCUS_MONITOR_DEFAULT_OPTIONS, FOCUS_TRAP_INERT_STRATEGY, FocusKeyManager, FocusMonitor, FocusTrap, FocusTrapFactory, HighContrastModeDetector, INPUT_MODALITY_DETECTOR_DEFAULT_OPTIONS, INPUT_MODALITY_DETECTOR_OPTIONS, InputModalityDetector, InteractivityChecker, IsFocusableConfig, LIVE_ANNOUNCER_DEFAULT_OPTIONS, LIVE_ANNOUNCER_ELEMENT_TOKEN, LIVE_ANNOUNCER_ELEMENT_TOKEN_FACTORY, ListKeyManager, LiveAnnouncer, MESSAGES_CONTAINER_ID, isFakeMousedownFromScreenReader, isFakeTouchstartFromScreenReader };\n","import * as i0 from '@angular/core';\nimport { InjectionToken, Directive, Input, EventEmitter, Optional, Inject, SkipSelf, Output, NgModule } from '@angular/core';\nimport * as i1 from '@angular/cdk/collections';\nimport { coerceBooleanProperty } from '@angular/cdk/coercion';\nimport { Subject, Subscription } from 'rxjs';\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/** Used to generate unique ID for each accordion. */\nlet nextId$1 = 0;\n/**\n * Injection token that can be used to reference instances of `CdkAccordion`. It serves\n * as alternative token to the actual `CdkAccordion` class which could cause unnecessary\n * retention of the class and its directive metadata.\n */\nconst CDK_ACCORDION = new InjectionToken('CdkAccordion');\n/**\n * Directive whose purpose is to manage the expanded state of CdkAccordionItem children.\n */\nclass CdkAccordion {\n constructor() {\n /** Emits when the state of the accordion changes */\n this._stateChanges = new Subject();\n /** Stream that emits true/false when openAll/closeAll is triggered. */\n this._openCloseAllActions = new Subject();\n /** A readonly id value to use for unique selection coordination. */\n this.id = `cdk-accordion-${nextId$1++}`;\n this._multi = false;\n }\n /** Whether the accordion should allow multiple expanded accordion items simultaneously. */\n get multi() {\n return this._multi;\n }\n set multi(multi) {\n this._multi = coerceBooleanProperty(multi);\n }\n /** Opens all enabled accordion items in an accordion where multi is enabled. */\n openAll() {\n if (this._multi) {\n this._openCloseAllActions.next(true);\n }\n }\n /** Closes all enabled accordion items in an accordion where multi is enabled. */\n closeAll() {\n this._openCloseAllActions.next(false);\n }\n ngOnChanges(changes) {\n this._stateChanges.next(changes);\n }\n ngOnDestroy() {\n this._stateChanges.complete();\n this._openCloseAllActions.complete();\n }\n}\nCdkAccordion.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"13.3.0\", ngImport: i0, type: CdkAccordion, deps: [], target: i0.ɵɵFactoryTarget.Directive });\nCdkAccordion.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"12.0.0\", version: \"13.3.0\", type: CdkAccordion, selector: \"cdk-accordion, [cdkAccordion]\", inputs: { multi: \"multi\" }, providers: [{ provide: CDK_ACCORDION, useExisting: CdkAccordion }], exportAs: [\"cdkAccordion\"], usesOnChanges: true, ngImport: i0 });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"13.3.0\", ngImport: i0, type: CdkAccordion, decorators: [{\n type: Directive,\n args: [{\n selector: 'cdk-accordion, [cdkAccordion]',\n exportAs: 'cdkAccordion',\n providers: [{ provide: CDK_ACCORDION, useExisting: CdkAccordion }],\n }]\n }], propDecorators: { multi: [{\n type: Input\n }] } });\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/** Used to generate unique ID for each accordion item. */\nlet nextId = 0;\n/**\n * An basic directive expected to be extended and decorated as a component. Sets up all\n * events and attributes needed to be managed by a CdkAccordion parent.\n */\nclass CdkAccordionItem {\n constructor(accordion, _changeDetectorRef, _expansionDispatcher) {\n this.accordion = accordion;\n this._changeDetectorRef = _changeDetectorRef;\n this._expansionDispatcher = _expansionDispatcher;\n /** Subscription to openAll/closeAll events. */\n this._openCloseAllSubscription = Subscription.EMPTY;\n /** Event emitted every time the AccordionItem is closed. */\n this.closed = new EventEmitter();\n /** Event emitted every time the AccordionItem is opened. */\n this.opened = new EventEmitter();\n /** Event emitted when the AccordionItem is destroyed. */\n this.destroyed = new EventEmitter();\n /**\n * Emits whenever the expanded state of the accordion changes.\n * Primarily used to facilitate two-way binding.\n * @docs-private\n */\n this.expandedChange = new EventEmitter();\n /** The unique AccordionItem id. */\n this.id = `cdk-accordion-child-${nextId++}`;\n this._expanded = false;\n this._disabled = false;\n /** Unregister function for _expansionDispatcher. */\n this._removeUniqueSelectionListener = () => { };\n this._removeUniqueSelectionListener = _expansionDispatcher.listen((id, accordionId) => {\n if (this.accordion &&\n !this.accordion.multi &&\n this.accordion.id === accordionId &&\n this.id !== id) {\n this.expanded = false;\n }\n });\n // When an accordion item is hosted in an accordion, subscribe to open/close events.\n if (this.accordion) {\n this._openCloseAllSubscription = this._subscribeToOpenCloseAllActions();\n }\n }\n /** Whether the AccordionItem is expanded. */\n get expanded() {\n return this._expanded;\n }\n set expanded(expanded) {\n expanded = coerceBooleanProperty(expanded);\n // Only emit events and update the internal value if the value changes.\n if (this._expanded !== expanded) {\n this._expanded = expanded;\n this.expandedChange.emit(expanded);\n if (expanded) {\n this.opened.emit();\n /**\n * In the unique selection dispatcher, the id parameter is the id of the CdkAccordionItem,\n * the name value is the id of the accordion.\n */\n const accordionId = this.accordion ? this.accordion.id : this.id;\n this._expansionDispatcher.notify(this.id, accordionId);\n }\n else {\n this.closed.emit();\n }\n // Ensures that the animation will run when the value is set outside of an `@Input`.\n // This includes cases like the open, close and toggle methods.\n this._changeDetectorRef.markForCheck();\n }\n }\n /** Whether the AccordionItem is disabled. */\n get disabled() {\n return this._disabled;\n }\n set disabled(disabled) {\n this._disabled = coerceBooleanProperty(disabled);\n }\n /** Emits an event for the accordion item being destroyed. */\n ngOnDestroy() {\n this.opened.complete();\n this.closed.complete();\n this.destroyed.emit();\n this.destroyed.complete();\n this._removeUniqueSelectionListener();\n this._openCloseAllSubscription.unsubscribe();\n }\n /** Toggles the expanded state of the accordion item. */\n toggle() {\n if (!this.disabled) {\n this.expanded = !this.expanded;\n }\n }\n /** Sets the expanded state of the accordion item to false. */\n close() {\n if (!this.disabled) {\n this.expanded = false;\n }\n }\n /** Sets the expanded state of the accordion item to true. */\n open() {\n if (!this.disabled) {\n this.expanded = true;\n }\n }\n _subscribeToOpenCloseAllActions() {\n return this.accordion._openCloseAllActions.subscribe(expanded => {\n // Only change expanded state if item is enabled\n if (!this.disabled) {\n this.expanded = expanded;\n }\n });\n }\n}\nCdkAccordionItem.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"13.3.0\", ngImport: i0, type: CdkAccordionItem, deps: [{ token: CDK_ACCORDION, optional: true, skipSelf: true }, { token: i0.ChangeDetectorRef }, { token: i1.UniqueSelectionDispatcher }], target: i0.ɵɵFactoryTarget.Directive });\nCdkAccordionItem.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"12.0.0\", version: \"13.3.0\", type: CdkAccordionItem, selector: \"cdk-accordion-item, [cdkAccordionItem]\", inputs: { expanded: \"expanded\", disabled: \"disabled\" }, outputs: { closed: \"closed\", opened: \"opened\", destroyed: \"destroyed\", expandedChange: \"expandedChange\" }, providers: [\n // Provide `CDK_ACCORDION` as undefined to prevent nested accordion items from\n // registering to the same accordion.\n { provide: CDK_ACCORDION, useValue: undefined },\n ], exportAs: [\"cdkAccordionItem\"], ngImport: i0 });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"13.3.0\", ngImport: i0, type: CdkAccordionItem, decorators: [{\n type: Directive,\n args: [{\n selector: 'cdk-accordion-item, [cdkAccordionItem]',\n exportAs: 'cdkAccordionItem',\n providers: [\n // Provide `CDK_ACCORDION` as undefined to prevent nested accordion items from\n // registering to the same accordion.\n { provide: CDK_ACCORDION, useValue: undefined },\n ],\n }]\n }], ctorParameters: function () { return [{ type: CdkAccordion, decorators: [{\n type: Optional\n }, {\n type: Inject,\n args: [CDK_ACCORDION]\n }, {\n type: SkipSelf\n }] }, { type: i0.ChangeDetectorRef }, { type: i1.UniqueSelectionDispatcher }]; }, propDecorators: { closed: [{\n type: Output\n }], opened: [{\n type: Output\n }], destroyed: [{\n type: Output\n }], expandedChange: [{\n type: Output\n }], expanded: [{\n type: Input\n }], disabled: [{\n type: Input\n }] } });\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nclass CdkAccordionModule {\n}\nCdkAccordionModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"13.3.0\", ngImport: i0, type: CdkAccordionModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });\nCdkAccordionModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: \"12.0.0\", version: \"13.3.0\", ngImport: i0, type: CdkAccordionModule, declarations: [CdkAccordion, CdkAccordionItem], exports: [CdkAccordion, CdkAccordionItem] });\nCdkAccordionModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: \"12.0.0\", version: \"13.3.0\", ngImport: i0, type: CdkAccordionModule });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"13.3.0\", ngImport: i0, type: CdkAccordionModule, decorators: [{\n type: NgModule,\n args: [{\n exports: [CdkAccordion, CdkAccordionItem],\n declarations: [CdkAccordion, CdkAccordionItem],\n }]\n }] });\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\n/**\n * Generated bundle index. Do not edit.\n */\n\nexport { CdkAccordion, CdkAccordionItem, CdkAccordionModule };\n","import * as i0 from '@angular/core';\nimport { InjectionToken, inject, EventEmitter, Injectable, Optional, Inject, Directive, Output, Input, NgModule } from '@angular/core';\nimport { DOCUMENT } from '@angular/common';\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * Injection token used to inject the document into Directionality.\n * This is used so that the value can be faked in tests.\n *\n * We can't use the real document in tests because changing the real `dir` causes geometry-based\n * tests in Safari to fail.\n *\n * We also can't re-provide the DOCUMENT token from platform-brower because the unit tests\n * themselves use things like `querySelector` in test code.\n *\n * This token is defined in a separate file from Directionality as a workaround for\n * https://github.com/angular/angular/issues/22559\n *\n * @docs-private\n */\nconst DIR_DOCUMENT = new InjectionToken('cdk-dir-doc', {\n providedIn: 'root',\n factory: DIR_DOCUMENT_FACTORY,\n});\n/** @docs-private */\nfunction DIR_DOCUMENT_FACTORY() {\n return inject(DOCUMENT);\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/** Regex that matches locales with an RTL script. Taken from `goog.i18n.bidi.isRtlLanguage`. */\nconst RTL_LOCALE_PATTERN = /^(ar|ckb|dv|he|iw|fa|nqo|ps|sd|ug|ur|yi|.*[-_](Adlm|Arab|Hebr|Nkoo|Rohg|Thaa))(?!.*[-_](Latn|Cyrl)($|-|_))($|-|_)/i;\n/** Resolves a string value to a specific direction. */\nfunction _resolveDirectionality(rawValue) {\n const value = rawValue?.toLowerCase() || '';\n if (value === 'auto' && typeof navigator !== 'undefined' && navigator?.language) {\n return RTL_LOCALE_PATTERN.test(navigator.language) ? 'rtl' : 'ltr';\n }\n return value === 'rtl' ? 'rtl' : 'ltr';\n}\n/**\n * The directionality (LTR / RTL) context for the application (or a subtree of it).\n * Exposes the current direction and a stream of direction changes.\n */\nclass Directionality {\n constructor(_document) {\n /** The current 'ltr' or 'rtl' value. */\n this.value = 'ltr';\n /** Stream that emits whenever the 'ltr' / 'rtl' state changes. */\n this.change = new EventEmitter();\n if (_document) {\n const bodyDir = _document.body ? _document.body.dir : null;\n const htmlDir = _document.documentElement ? _document.documentElement.dir : null;\n this.value = _resolveDirectionality(bodyDir || htmlDir || 'ltr');\n }\n }\n ngOnDestroy() {\n this.change.complete();\n }\n}\nDirectionality.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"13.3.0\", ngImport: i0, type: Directionality, deps: [{ token: DIR_DOCUMENT, optional: true }], target: i0.ɵɵFactoryTarget.Injectable });\nDirectionality.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"13.3.0\", ngImport: i0, type: Directionality, providedIn: 'root' });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"13.3.0\", ngImport: i0, type: Directionality, decorators: [{\n type: Injectable,\n args: [{ providedIn: 'root' }]\n }], ctorParameters: function () { return [{ type: undefined, decorators: [{\n type: Optional\n }, {\n type: Inject,\n args: [DIR_DOCUMENT]\n }] }]; } });\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * Directive to listen for changes of direction of part of the DOM.\n *\n * Provides itself as Directionality such that descendant directives only need to ever inject\n * Directionality to get the closest direction.\n */\nclass Dir {\n constructor() {\n /** Normalized direction that accounts for invalid/unsupported values. */\n this._dir = 'ltr';\n /** Whether the `value` has been set to its initial value. */\n this._isInitialized = false;\n /** Event emitted when the direction changes. */\n this.change = new EventEmitter();\n }\n /** @docs-private */\n get dir() {\n return this._dir;\n }\n set dir(value) {\n const previousValue = this._dir;\n // Note: `_resolveDirectionality` resolves the language based on the browser's language,\n // whereas the browser does it based on the content of the element. Since doing so based\n // on the content can be expensive, for now we're doing the simpler matching.\n this._dir = _resolveDirectionality(value);\n this._rawDir = value;\n if (previousValue !== this._dir && this._isInitialized) {\n this.change.emit(this._dir);\n }\n }\n /** Current layout direction of the element. */\n get value() {\n return this.dir;\n }\n /** Initialize once default value has been set. */\n ngAfterContentInit() {\n this._isInitialized = true;\n }\n ngOnDestroy() {\n this.change.complete();\n }\n}\nDir.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"13.3.0\", ngImport: i0, type: Dir, deps: [], target: i0.ɵɵFactoryTarget.Directive });\nDir.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"12.0.0\", version: \"13.3.0\", type: Dir, selector: \"[dir]\", inputs: { dir: \"dir\" }, outputs: { change: \"dirChange\" }, host: { properties: { \"attr.dir\": \"_rawDir\" } }, providers: [{ provide: Directionality, useExisting: Dir }], exportAs: [\"dir\"], ngImport: i0 });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"13.3.0\", ngImport: i0, type: Dir, decorators: [{\n type: Directive,\n args: [{\n selector: '[dir]',\n providers: [{ provide: Directionality, useExisting: Dir }],\n host: { '[attr.dir]': '_rawDir' },\n exportAs: 'dir',\n }]\n }], propDecorators: { change: [{\n type: Output,\n args: ['dirChange']\n }], dir: [{\n type: Input\n }] } });\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nclass BidiModule {\n}\nBidiModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"13.3.0\", ngImport: i0, type: BidiModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });\nBidiModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: \"12.0.0\", version: \"13.3.0\", ngImport: i0, type: BidiModule, declarations: [Dir], exports: [Dir] });\nBidiModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: \"12.0.0\", version: \"13.3.0\", ngImport: i0, type: BidiModule });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"13.3.0\", ngImport: i0, type: BidiModule, decorators: [{\n type: NgModule,\n args: [{\n exports: [Dir],\n declarations: [Dir],\n }]\n }] });\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\n/**\n * Generated bundle index. Do not edit.\n */\n\nexport { BidiModule, DIR_DOCUMENT, Dir, Directionality };\n","import { Version } from '@angular/core';\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/** Current version of the Angular Component Development Kit. */\nconst VERSION = new Version('13.3.9');\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nexport { VERSION };\n","import { ElementRef } from '@angular/core';\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/** Coerces a data-bound value (typically a string) to a boolean. */\nfunction coerceBooleanProperty(value) {\n return value != null && `${value}` !== 'false';\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nfunction coerceNumberProperty(value, fallbackValue = 0) {\n return _isNumberValue(value) ? Number(value) : fallbackValue;\n}\n/**\n * Whether the provided value is considered a number.\n * @docs-private\n */\nfunction _isNumberValue(value) {\n // parseFloat(value) handles most of the cases we're interested in (it treats null, empty string,\n // and other non-number values as NaN, where Number just uses 0) but it considers the string\n // '123hello' to be a valid number. Therefore we also check if Number(value) is NaN.\n return !isNaN(parseFloat(value)) && !isNaN(Number(value));\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nfunction coerceArray(value) {\n return Array.isArray(value) ? value : [value];\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/** Coerces a value to a CSS pixel value. */\nfunction coerceCssPixelValue(value) {\n if (value == null) {\n return '';\n }\n return typeof value === 'string' ? value : `${value}px`;\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * Coerces an ElementRef or an Element into an element.\n * Useful for APIs that can accept either a ref or the native element itself.\n */\nfunction coerceElement(elementOrRef) {\n return elementOrRef instanceof ElementRef ? elementOrRef.nativeElement : elementOrRef;\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * Coerces a value to an array of trimmed non-empty strings.\n * Any input that is not an array, `null` or `undefined` will be turned into a string\n * via `toString()` and subsequently split with the given separator.\n * `null` and `undefined` will result in an empty array.\n * This results in the following outcomes:\n * - `null` -> `[]`\n * - `[null]` -> `[\"null\"]`\n * - `[\"a\", \"b \", \" \"]` -> `[\"a\", \"b\"]`\n * - `[1, [2, 3]]` -> `[\"1\", \"2,3\"]`\n * - `[{ a: 0 }]` -> `[\"[object Object]\"]`\n * - `{ a: 0 }` -> `[\"[object\", \"Object]\"]`\n *\n * Useful for defining CSS classes or table columns.\n * @param value the value to coerce into an array of strings\n * @param separator split-separator if value isn't an array\n */\nfunction coerceStringArray(value, separator = /\\s+/) {\n const result = [];\n if (value != null) {\n const sourceValues = Array.isArray(value) ? value : `${value}`.split(separator);\n for (const sourceValue of sourceValues) {\n const trimmedString = `${sourceValue}`.trim();\n if (trimmedString) {\n result.push(trimmedString);\n }\n }\n }\n return result;\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nexport { _isNumberValue, coerceArray, coerceBooleanProperty, coerceCssPixelValue, coerceElement, coerceNumberProperty, coerceStringArray };\n","import { isObservable, of, Subject } from 'rxjs';\nimport * as i0 from '@angular/core';\nimport { Injectable, InjectionToken } from '@angular/core';\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nclass DataSource {\n}\n/** Checks whether an object is a data source. */\nfunction isDataSource(value) {\n // Check if the value is a DataSource by observing if it has a connect function. Cannot\n // be checked as an `instanceof DataSource` since people could create their own sources\n // that match the interface, but don't extend DataSource.\n return value && typeof value.connect === 'function';\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/** DataSource wrapper for a native array. */\nclass ArrayDataSource extends DataSource {\n constructor(_data) {\n super();\n this._data = _data;\n }\n connect() {\n return isObservable(this._data) ? this._data : of(this._data);\n }\n disconnect() { }\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * A repeater that destroys views when they are removed from a\n * {@link ViewContainerRef}. When new items are inserted into the container,\n * the repeater will always construct a new embedded view for each item.\n *\n * @template T The type for the embedded view's $implicit property.\n * @template R The type for the item in each IterableDiffer change record.\n * @template C The type for the context passed to each embedded view.\n */\nclass _DisposeViewRepeaterStrategy {\n applyChanges(changes, viewContainerRef, itemContextFactory, itemValueResolver, itemViewChanged) {\n changes.forEachOperation((record, adjustedPreviousIndex, currentIndex) => {\n let view;\n let operation;\n if (record.previousIndex == null) {\n const insertContext = itemContextFactory(record, adjustedPreviousIndex, currentIndex);\n view = viewContainerRef.createEmbeddedView(insertContext.templateRef, insertContext.context, insertContext.index);\n operation = 1 /* INSERTED */;\n }\n else if (currentIndex == null) {\n viewContainerRef.remove(adjustedPreviousIndex);\n operation = 3 /* REMOVED */;\n }\n else {\n view = viewContainerRef.get(adjustedPreviousIndex);\n viewContainerRef.move(view, currentIndex);\n operation = 2 /* MOVED */;\n }\n if (itemViewChanged) {\n itemViewChanged({\n context: view?.context,\n operation,\n record,\n });\n }\n });\n }\n detach() { }\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * A repeater that caches views when they are removed from a\n * {@link ViewContainerRef}. When new items are inserted into the container,\n * the repeater will reuse one of the cached views instead of creating a new\n * embedded view. Recycling cached views reduces the quantity of expensive DOM\n * inserts.\n *\n * @template T The type for the embedded view's $implicit property.\n * @template R The type for the item in each IterableDiffer change record.\n * @template C The type for the context passed to each embedded view.\n */\nclass _RecycleViewRepeaterStrategy {\n constructor() {\n /**\n * The size of the cache used to store unused views.\n * Setting the cache size to `0` will disable caching. Defaults to 20 views.\n */\n this.viewCacheSize = 20;\n /**\n * View cache that stores embedded view instances that have been previously stamped out,\n * but don't are not currently rendered. The view repeater will reuse these views rather than\n * creating brand new ones.\n *\n * TODO(michaeljamesparsons) Investigate whether using a linked list would improve performance.\n */\n this._viewCache = [];\n }\n /** Apply changes to the DOM. */\n applyChanges(changes, viewContainerRef, itemContextFactory, itemValueResolver, itemViewChanged) {\n // Rearrange the views to put them in the right location.\n changes.forEachOperation((record, adjustedPreviousIndex, currentIndex) => {\n let view;\n let operation;\n if (record.previousIndex == null) {\n // Item added.\n const viewArgsFactory = () => itemContextFactory(record, adjustedPreviousIndex, currentIndex);\n view = this._insertView(viewArgsFactory, currentIndex, viewContainerRef, itemValueResolver(record));\n operation = view ? 1 /* INSERTED */ : 0 /* REPLACED */;\n }\n else if (currentIndex == null) {\n // Item removed.\n this._detachAndCacheView(adjustedPreviousIndex, viewContainerRef);\n operation = 3 /* REMOVED */;\n }\n else {\n // Item moved.\n view = this._moveView(adjustedPreviousIndex, currentIndex, viewContainerRef, itemValueResolver(record));\n operation = 2 /* MOVED */;\n }\n if (itemViewChanged) {\n itemViewChanged({\n context: view?.context,\n operation,\n record,\n });\n }\n });\n }\n detach() {\n for (const view of this._viewCache) {\n view.destroy();\n }\n this._viewCache = [];\n }\n /**\n * Inserts a view for a new item, either from the cache or by creating a new\n * one. Returns `undefined` if the item was inserted into a cached view.\n */\n _insertView(viewArgsFactory, currentIndex, viewContainerRef, value) {\n const cachedView = this._insertViewFromCache(currentIndex, viewContainerRef);\n if (cachedView) {\n cachedView.context.$implicit = value;\n return undefined;\n }\n const viewArgs = viewArgsFactory();\n return viewContainerRef.createEmbeddedView(viewArgs.templateRef, viewArgs.context, viewArgs.index);\n }\n /** Detaches the view at the given index and inserts into the view cache. */\n _detachAndCacheView(index, viewContainerRef) {\n const detachedView = viewContainerRef.detach(index);\n this._maybeCacheView(detachedView, viewContainerRef);\n }\n /** Moves view at the previous index to the current index. */\n _moveView(adjustedPreviousIndex, currentIndex, viewContainerRef, value) {\n const view = viewContainerRef.get(adjustedPreviousIndex);\n viewContainerRef.move(view, currentIndex);\n view.context.$implicit = value;\n return view;\n }\n /**\n * Cache the given detached view. If the cache is full, the view will be\n * destroyed.\n */\n _maybeCacheView(view, viewContainerRef) {\n if (this._viewCache.length < this.viewCacheSize) {\n this._viewCache.push(view);\n }\n else {\n const index = viewContainerRef.indexOf(view);\n // The host component could remove views from the container outside of\n // the view repeater. It's unlikely this will occur, but just in case,\n // destroy the view on its own, otherwise destroy it through the\n // container to ensure that all the references are removed.\n if (index === -1) {\n view.destroy();\n }\n else {\n viewContainerRef.remove(index);\n }\n }\n }\n /** Inserts a recycled view from the cache at the given index. */\n _insertViewFromCache(index, viewContainerRef) {\n const cachedView = this._viewCache.pop();\n if (cachedView) {\n viewContainerRef.insert(cachedView, index);\n }\n return cachedView || null;\n }\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * Class to be used to power selecting one or more options from a list.\n */\nclass SelectionModel {\n constructor(_multiple = false, initiallySelectedValues, _emitChanges = true) {\n this._multiple = _multiple;\n this._emitChanges = _emitChanges;\n /** Currently-selected values. */\n this._selection = new Set();\n /** Keeps track of the deselected options that haven't been emitted by the change event. */\n this._deselectedToEmit = [];\n /** Keeps track of the selected options that haven't been emitted by the change event. */\n this._selectedToEmit = [];\n /** Event emitted when the value has changed. */\n this.changed = new Subject();\n if (initiallySelectedValues && initiallySelectedValues.length) {\n if (_multiple) {\n initiallySelectedValues.forEach(value => this._markSelected(value));\n }\n else {\n this._markSelected(initiallySelectedValues[0]);\n }\n // Clear the array in order to avoid firing the change event for preselected values.\n this._selectedToEmit.length = 0;\n }\n }\n /** Selected values. */\n get selected() {\n if (!this._selected) {\n this._selected = Array.from(this._selection.values());\n }\n return this._selected;\n }\n /**\n * Selects a value or an array of values.\n */\n select(...values) {\n this._verifyValueAssignment(values);\n values.forEach(value => this._markSelected(value));\n this._emitChangeEvent();\n }\n /**\n * Deselects a value or an array of values.\n */\n deselect(...values) {\n this._verifyValueAssignment(values);\n values.forEach(value => this._unmarkSelected(value));\n this._emitChangeEvent();\n }\n /**\n * Toggles a value between selected and deselected.\n */\n toggle(value) {\n this.isSelected(value) ? this.deselect(value) : this.select(value);\n }\n /**\n * Clears all of the selected values.\n */\n clear() {\n this._unmarkAll();\n this._emitChangeEvent();\n }\n /**\n * Determines whether a value is selected.\n */\n isSelected(value) {\n return this._selection.has(value);\n }\n /**\n * Determines whether the model does not have a value.\n */\n isEmpty() {\n return this._selection.size === 0;\n }\n /**\n * Determines whether the model has a value.\n */\n hasValue() {\n return !this.isEmpty();\n }\n /**\n * Sorts the selected values based on a predicate function.\n */\n sort(predicate) {\n if (this._multiple && this.selected) {\n this._selected.sort(predicate);\n }\n }\n /**\n * Gets whether multiple values can be selected.\n */\n isMultipleSelection() {\n return this._multiple;\n }\n /** Emits a change event and clears the records of selected and deselected values. */\n _emitChangeEvent() {\n // Clear the selected values so they can be re-cached.\n this._selected = null;\n if (this._selectedToEmit.length || this._deselectedToEmit.length) {\n this.changed.next({\n source: this,\n added: this._selectedToEmit,\n removed: this._deselectedToEmit,\n });\n this._deselectedToEmit = [];\n this._selectedToEmit = [];\n }\n }\n /** Selects a value. */\n _markSelected(value) {\n if (!this.isSelected(value)) {\n if (!this._multiple) {\n this._unmarkAll();\n }\n this._selection.add(value);\n if (this._emitChanges) {\n this._selectedToEmit.push(value);\n }\n }\n }\n /** Deselects a value. */\n _unmarkSelected(value) {\n if (this.isSelected(value)) {\n this._selection.delete(value);\n if (this._emitChanges) {\n this._deselectedToEmit.push(value);\n }\n }\n }\n /** Clears out the selected values. */\n _unmarkAll() {\n if (!this.isEmpty()) {\n this._selection.forEach(value => this._unmarkSelected(value));\n }\n }\n /**\n * Verifies the value assignment and throws an error if the specified value array is\n * including multiple values while the selection model is not supporting multiple values.\n */\n _verifyValueAssignment(values) {\n if (values.length > 1 && !this._multiple && (typeof ngDevMode === 'undefined' || ngDevMode)) {\n throw getMultipleValuesInSingleSelectionError();\n }\n }\n}\n/**\n * Returns an error that reports that multiple values are passed into a selection model\n * with a single value.\n * @docs-private\n */\nfunction getMultipleValuesInSingleSelectionError() {\n return Error('Cannot pass multiple values into SelectionModel with single-value mode.');\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * Class to coordinate unique selection based on name.\n * Intended to be consumed as an Angular service.\n * This service is needed because native radio change events are only fired on the item currently\n * being selected, and we still need to uncheck the previous selection.\n *\n * This service does not *store* any IDs and names because they may change at any time, so it is\n * less error-prone if they are simply passed through when the events occur.\n */\nclass UniqueSelectionDispatcher {\n constructor() {\n this._listeners = [];\n }\n /**\n * Notify other items that selection for the given name has been set.\n * @param id ID of the item.\n * @param name Name of the item.\n */\n notify(id, name) {\n for (let listener of this._listeners) {\n listener(id, name);\n }\n }\n /**\n * Listen for future changes to item selection.\n * @return Function used to deregister listener\n */\n listen(listener) {\n this._listeners.push(listener);\n return () => {\n this._listeners = this._listeners.filter((registered) => {\n return listener !== registered;\n });\n };\n }\n ngOnDestroy() {\n this._listeners = [];\n }\n}\nUniqueSelectionDispatcher.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"13.3.0\", ngImport: i0, type: UniqueSelectionDispatcher, deps: [], target: i0.ɵɵFactoryTarget.Injectable });\nUniqueSelectionDispatcher.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"13.3.0\", ngImport: i0, type: UniqueSelectionDispatcher, providedIn: 'root' });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"13.3.0\", ngImport: i0, type: UniqueSelectionDispatcher, decorators: [{\n type: Injectable,\n args: [{ providedIn: 'root' }]\n }] });\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * Injection token for {@link _ViewRepeater}. This token is for use by Angular Material only.\n * @docs-private\n */\nconst _VIEW_REPEATER_STRATEGY = new InjectionToken('_ViewRepeater');\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\n/**\n * Generated bundle index. Do not edit.\n */\n\nexport { ArrayDataSource, DataSource, SelectionModel, UniqueSelectionDispatcher, _DisposeViewRepeaterStrategy, _RecycleViewRepeaterStrategy, _VIEW_REPEATER_STRATEGY, getMultipleValuesInSingleSelectionError, isDataSource };\n","import * as i0 from '@angular/core';\nimport { Injectable, Inject, InjectionToken, Directive, Input, EventEmitter, Optional, SkipSelf, Output, Self, ContentChildren, ContentChild, NgModule } from '@angular/core';\nimport { DOCUMENT } from '@angular/common';\nimport * as i1 from '@angular/cdk/scrolling';\nimport { CdkScrollableModule } from '@angular/cdk/scrolling';\nimport { _getEventTarget, normalizePassiveListenerOptions, _getShadowRoot } from '@angular/cdk/platform';\nimport { coerceBooleanProperty, coerceElement, coerceArray, coerceNumberProperty } from '@angular/cdk/coercion';\nimport { isFakeTouchstartFromScreenReader, isFakeMousedownFromScreenReader } from '@angular/cdk/a11y';\nimport { Subject, Subscription, interval, animationFrameScheduler, Observable, merge } from 'rxjs';\nimport { takeUntil, startWith, map, take, tap, switchMap } from 'rxjs/operators';\nimport * as i3 from '@angular/cdk/bidi';\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * Shallow-extends a stylesheet object with another stylesheet-like object.\n * Note that the keys in `source` have to be dash-cased.\n * @docs-private\n */\nfunction extendStyles(dest, source, importantProperties) {\n for (let key in source) {\n if (source.hasOwnProperty(key)) {\n const value = source[key];\n if (value) {\n dest.setProperty(key, value, importantProperties?.has(key) ? 'important' : '');\n }\n else {\n dest.removeProperty(key);\n }\n }\n }\n return dest;\n}\n/**\n * Toggles whether the native drag interactions should be enabled for an element.\n * @param element Element on which to toggle the drag interactions.\n * @param enable Whether the drag interactions should be enabled.\n * @docs-private\n */\nfunction toggleNativeDragInteractions(element, enable) {\n const userSelect = enable ? '' : 'none';\n extendStyles(element.style, {\n 'touch-action': enable ? '' : 'none',\n '-webkit-user-drag': enable ? '' : 'none',\n '-webkit-tap-highlight-color': enable ? '' : 'transparent',\n 'user-select': userSelect,\n '-ms-user-select': userSelect,\n '-webkit-user-select': userSelect,\n '-moz-user-select': userSelect,\n });\n}\n/**\n * Toggles whether an element is visible while preserving its dimensions.\n * @param element Element whose visibility to toggle\n * @param enable Whether the element should be visible.\n * @param importantProperties Properties to be set as `!important`.\n * @docs-private\n */\nfunction toggleVisibility(element, enable, importantProperties) {\n extendStyles(element.style, {\n position: enable ? '' : 'fixed',\n top: enable ? '' : '0',\n opacity: enable ? '' : '0',\n left: enable ? '' : '-999em',\n }, importantProperties);\n}\n/**\n * Combines a transform string with an optional other transform\n * that exited before the base transform was applied.\n */\nfunction combineTransforms(transform, initialTransform) {\n return initialTransform && initialTransform != 'none'\n ? transform + ' ' + initialTransform\n : transform;\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/** Parses a CSS time value to milliseconds. */\nfunction parseCssTimeUnitsToMs(value) {\n // Some browsers will return it in seconds, whereas others will return milliseconds.\n const multiplier = value.toLowerCase().indexOf('ms') > -1 ? 1 : 1000;\n return parseFloat(value) * multiplier;\n}\n/** Gets the transform transition duration, including the delay, of an element in milliseconds. */\nfunction getTransformTransitionDurationInMs(element) {\n const computedStyle = getComputedStyle(element);\n const transitionedProperties = parseCssPropertyValue(computedStyle, 'transition-property');\n const property = transitionedProperties.find(prop => prop === 'transform' || prop === 'all');\n // If there's no transition for `all` or `transform`, we shouldn't do anything.\n if (!property) {\n return 0;\n }\n // Get the index of the property that we're interested in and match\n // it up to the same index in `transition-delay` and `transition-duration`.\n const propertyIndex = transitionedProperties.indexOf(property);\n const rawDurations = parseCssPropertyValue(computedStyle, 'transition-duration');\n const rawDelays = parseCssPropertyValue(computedStyle, 'transition-delay');\n return (parseCssTimeUnitsToMs(rawDurations[propertyIndex]) +\n parseCssTimeUnitsToMs(rawDelays[propertyIndex]));\n}\n/** Parses out multiple values from a computed style into an array. */\nfunction parseCssPropertyValue(computedStyle, name) {\n const value = computedStyle.getPropertyValue(name);\n return value.split(',').map(part => part.trim());\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/** Gets a mutable version of an element's bounding `ClientRect`. */\nfunction getMutableClientRect(element) {\n const clientRect = element.getBoundingClientRect();\n // We need to clone the `clientRect` here, because all the values on it are readonly\n // and we need to be able to update them. Also we can't use a spread here, because\n // the values on a `ClientRect` aren't own properties. See:\n // https://developer.mozilla.org/en-US/docs/Web/API/Element/getBoundingClientRect#Notes\n return {\n top: clientRect.top,\n right: clientRect.right,\n bottom: clientRect.bottom,\n left: clientRect.left,\n width: clientRect.width,\n height: clientRect.height,\n x: clientRect.x,\n y: clientRect.y,\n };\n}\n/**\n * Checks whether some coordinates are within a `ClientRect`.\n * @param clientRect ClientRect that is being checked.\n * @param x Coordinates along the X axis.\n * @param y Coordinates along the Y axis.\n */\nfunction isInsideClientRect(clientRect, x, y) {\n const { top, bottom, left, right } = clientRect;\n return y >= top && y <= bottom && x >= left && x <= right;\n}\n/**\n * Updates the top/left positions of a `ClientRect`, as well as their bottom/right counterparts.\n * @param clientRect `ClientRect` that should be updated.\n * @param top Amount to add to the `top` position.\n * @param left Amount to add to the `left` position.\n */\nfunction adjustClientRect(clientRect, top, left) {\n clientRect.top += top;\n clientRect.bottom = clientRect.top + clientRect.height;\n clientRect.left += left;\n clientRect.right = clientRect.left + clientRect.width;\n}\n/**\n * Checks whether the pointer coordinates are close to a ClientRect.\n * @param rect ClientRect to check against.\n * @param threshold Threshold around the ClientRect.\n * @param pointerX Coordinates along the X axis.\n * @param pointerY Coordinates along the Y axis.\n */\nfunction isPointerNearClientRect(rect, threshold, pointerX, pointerY) {\n const { top, right, bottom, left, width, height } = rect;\n const xThreshold = width * threshold;\n const yThreshold = height * threshold;\n return (pointerY > top - yThreshold &&\n pointerY < bottom + yThreshold &&\n pointerX > left - xThreshold &&\n pointerX < right + xThreshold);\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/** Keeps track of the scroll position and dimensions of the parents of an element. */\nclass ParentPositionTracker {\n constructor(_document) {\n this._document = _document;\n /** Cached positions of the scrollable parent elements. */\n this.positions = new Map();\n }\n /** Clears the cached positions. */\n clear() {\n this.positions.clear();\n }\n /** Caches the positions. Should be called at the beginning of a drag sequence. */\n cache(elements) {\n this.clear();\n this.positions.set(this._document, {\n scrollPosition: this.getViewportScrollPosition(),\n });\n elements.forEach(element => {\n this.positions.set(element, {\n scrollPosition: { top: element.scrollTop, left: element.scrollLeft },\n clientRect: getMutableClientRect(element),\n });\n });\n }\n /** Handles scrolling while a drag is taking place. */\n handleScroll(event) {\n const target = _getEventTarget(event);\n const cachedPosition = this.positions.get(target);\n if (!cachedPosition) {\n return null;\n }\n const scrollPosition = cachedPosition.scrollPosition;\n let newTop;\n let newLeft;\n if (target === this._document) {\n const viewportScrollPosition = this.getViewportScrollPosition();\n newTop = viewportScrollPosition.top;\n newLeft = viewportScrollPosition.left;\n }\n else {\n newTop = target.scrollTop;\n newLeft = target.scrollLeft;\n }\n const topDifference = scrollPosition.top - newTop;\n const leftDifference = scrollPosition.left - newLeft;\n // Go through and update the cached positions of the scroll\n // parents that are inside the element that was scrolled.\n this.positions.forEach((position, node) => {\n if (position.clientRect && target !== node && target.contains(node)) {\n adjustClientRect(position.clientRect, topDifference, leftDifference);\n }\n });\n scrollPosition.top = newTop;\n scrollPosition.left = newLeft;\n return { top: topDifference, left: leftDifference };\n }\n /**\n * Gets the scroll position of the viewport. Note that we use the scrollX and scrollY directly,\n * instead of going through the `ViewportRuler`, because the first value the ruler looks at is\n * the top/left offset of the `document.documentElement` which works for most cases, but breaks\n * if the element is offset by something like the `BlockScrollStrategy`.\n */\n getViewportScrollPosition() {\n return { top: window.scrollY, left: window.scrollX };\n }\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/** Creates a deep clone of an element. */\nfunction deepCloneNode(node) {\n const clone = node.cloneNode(true);\n const descendantsWithId = clone.querySelectorAll('[id]');\n const nodeName = node.nodeName.toLowerCase();\n // Remove the `id` to avoid having multiple elements with the same id on the page.\n clone.removeAttribute('id');\n for (let i = 0; i < descendantsWithId.length; i++) {\n descendantsWithId[i].removeAttribute('id');\n }\n if (nodeName === 'canvas') {\n transferCanvasData(node, clone);\n }\n else if (nodeName === 'input' || nodeName === 'select' || nodeName === 'textarea') {\n transferInputData(node, clone);\n }\n transferData('canvas', node, clone, transferCanvasData);\n transferData('input, textarea, select', node, clone, transferInputData);\n return clone;\n}\n/** Matches elements between an element and its clone and allows for their data to be cloned. */\nfunction transferData(selector, node, clone, callback) {\n const descendantElements = node.querySelectorAll(selector);\n if (descendantElements.length) {\n const cloneElements = clone.querySelectorAll(selector);\n for (let i = 0; i < descendantElements.length; i++) {\n callback(descendantElements[i], cloneElements[i]);\n }\n }\n}\n// Counter for unique cloned radio button names.\nlet cloneUniqueId = 0;\n/** Transfers the data of one input element to another. */\nfunction transferInputData(source, clone) {\n // Browsers throw an error when assigning the value of a file input programmatically.\n if (clone.type !== 'file') {\n clone.value = source.value;\n }\n // Radio button `name` attributes must be unique for radio button groups\n // otherwise original radio buttons can lose their checked state\n // once the clone is inserted in the DOM.\n if (clone.type === 'radio' && clone.name) {\n clone.name = `mat-clone-${clone.name}-${cloneUniqueId++}`;\n }\n}\n/** Transfers the data of one canvas element to another. */\nfunction transferCanvasData(source, clone) {\n const context = clone.getContext('2d');\n if (context) {\n // In some cases `drawImage` can throw (e.g. if the canvas size is 0x0).\n // We can't do much about it so just ignore the error.\n try {\n context.drawImage(source, 0, 0);\n }\n catch { }\n }\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/** Options that can be used to bind a passive event listener. */\nconst passiveEventListenerOptions = normalizePassiveListenerOptions({ passive: true });\n/** Options that can be used to bind an active event listener. */\nconst activeEventListenerOptions = normalizePassiveListenerOptions({ passive: false });\n/**\n * Time in milliseconds for which to ignore mouse events, after\n * receiving a touch event. Used to avoid doing double work for\n * touch devices where the browser fires fake mouse events, in\n * addition to touch events.\n */\nconst MOUSE_EVENT_IGNORE_TIME = 800;\n/** Inline styles to be set as `!important` while dragging. */\nconst dragImportantProperties = new Set([\n // Needs to be important, because some `mat-table` sets `position: sticky !important`. See #22781.\n 'position',\n]);\n/**\n * Reference to a draggable item. Used to manipulate or dispose of the item.\n */\nclass DragRef {\n constructor(element, _config, _document, _ngZone, _viewportRuler, _dragDropRegistry) {\n this._config = _config;\n this._document = _document;\n this._ngZone = _ngZone;\n this._viewportRuler = _viewportRuler;\n this._dragDropRegistry = _dragDropRegistry;\n /**\n * CSS `transform` applied to the element when it isn't being dragged. We need a\n * passive transform in order for the dragged element to retain its new position\n * after the user has stopped dragging and because we need to know the relative\n * position in case they start dragging again. This corresponds to `element.style.transform`.\n */\n this._passiveTransform = { x: 0, y: 0 };\n /** CSS `transform` that is applied to the element while it's being dragged. */\n this._activeTransform = { x: 0, y: 0 };\n /**\n * Whether the dragging sequence has been started. Doesn't\n * necessarily mean that the element has been moved.\n */\n this._hasStartedDragging = false;\n /** Emits when the item is being moved. */\n this._moveEvents = new Subject();\n /** Subscription to pointer movement events. */\n this._pointerMoveSubscription = Subscription.EMPTY;\n /** Subscription to the event that is dispatched when the user lifts their pointer. */\n this._pointerUpSubscription = Subscription.EMPTY;\n /** Subscription to the viewport being scrolled. */\n this._scrollSubscription = Subscription.EMPTY;\n /** Subscription to the viewport being resized. */\n this._resizeSubscription = Subscription.EMPTY;\n /** Cached reference to the boundary element. */\n this._boundaryElement = null;\n /** Whether the native dragging interactions have been enabled on the root element. */\n this._nativeInteractionsEnabled = true;\n /** Elements that can be used to drag the draggable item. */\n this._handles = [];\n /** Registered handles that are currently disabled. */\n this._disabledHandles = new Set();\n /** Layout direction of the item. */\n this._direction = 'ltr';\n /**\n * Amount of milliseconds to wait after the user has put their\n * pointer down before starting to drag the element.\n */\n this.dragStartDelay = 0;\n this._disabled = false;\n /** Emits as the drag sequence is being prepared. */\n this.beforeStarted = new Subject();\n /** Emits when the user starts dragging the item. */\n this.started = new Subject();\n /** Emits when the user has released a drag item, before any animations have started. */\n this.released = new Subject();\n /** Emits when the user stops dragging an item in the container. */\n this.ended = new Subject();\n /** Emits when the user has moved the item into a new container. */\n this.entered = new Subject();\n /** Emits when the user removes the item its container by dragging it into another container. */\n this.exited = new Subject();\n /** Emits when the user drops the item inside a container. */\n this.dropped = new Subject();\n /**\n * Emits as the user is dragging the item. Use with caution,\n * because this event will fire for every pixel that the user has dragged.\n */\n this.moved = this._moveEvents;\n /** Handler for the `mousedown`/`touchstart` events. */\n this._pointerDown = (event) => {\n this.beforeStarted.next();\n // Delegate the event based on whether it started from a handle or the element itself.\n if (this._handles.length) {\n const targetHandle = this._getTargetHandle(event);\n if (targetHandle && !this._disabledHandles.has(targetHandle) && !this.disabled) {\n this._initializeDragSequence(targetHandle, event);\n }\n }\n else if (!this.disabled) {\n this._initializeDragSequence(this._rootElement, event);\n }\n };\n /** Handler that is invoked when the user moves their pointer after they've initiated a drag. */\n this._pointerMove = (event) => {\n const pointerPosition = this._getPointerPositionOnPage(event);\n if (!this._hasStartedDragging) {\n const distanceX = Math.abs(pointerPosition.x - this._pickupPositionOnPage.x);\n const distanceY = Math.abs(pointerPosition.y - this._pickupPositionOnPage.y);\n const isOverThreshold = distanceX + distanceY >= this._config.dragStartThreshold;\n // Only start dragging after the user has moved more than the minimum distance in either\n // direction. Note that this is preferrable over doing something like `skip(minimumDistance)`\n // in the `pointerMove` subscription, because we're not guaranteed to have one move event\n // per pixel of movement (e.g. if the user moves their pointer quickly).\n if (isOverThreshold) {\n const isDelayElapsed = Date.now() >= this._dragStartTime + this._getDragStartDelay(event);\n const container = this._dropContainer;\n if (!isDelayElapsed) {\n this._endDragSequence(event);\n return;\n }\n // Prevent other drag sequences from starting while something in the container is still\n // being dragged. This can happen while we're waiting for the drop animation to finish\n // and can cause errors, because some elements might still be moving around.\n if (!container || (!container.isDragging() && !container.isReceiving())) {\n // Prevent the default action as soon as the dragging sequence is considered as\n // \"started\" since waiting for the next event can allow the device to begin scrolling.\n event.preventDefault();\n this._hasStartedDragging = true;\n this._ngZone.run(() => this._startDragSequence(event));\n }\n }\n return;\n }\n // We prevent the default action down here so that we know that dragging has started. This is\n // important for touch devices where doing this too early can unnecessarily block scrolling,\n // if there's a dragging delay.\n event.preventDefault();\n const constrainedPointerPosition = this._getConstrainedPointerPosition(pointerPosition);\n this._hasMoved = true;\n this._lastKnownPointerPosition = pointerPosition;\n this._updatePointerDirectionDelta(constrainedPointerPosition);\n if (this._dropContainer) {\n this._updateActiveDropContainer(constrainedPointerPosition, pointerPosition);\n }\n else {\n const activeTransform = this._activeTransform;\n activeTransform.x =\n constrainedPointerPosition.x - this._pickupPositionOnPage.x + this._passiveTransform.x;\n activeTransform.y =\n constrainedPointerPosition.y - this._pickupPositionOnPage.y + this._passiveTransform.y;\n this._applyRootElementTransform(activeTransform.x, activeTransform.y);\n }\n // Since this event gets fired for every pixel while dragging, we only\n // want to fire it if the consumer opted into it. Also we have to\n // re-enter the zone because we run all of the events on the outside.\n if (this._moveEvents.observers.length) {\n this._ngZone.run(() => {\n this._moveEvents.next({\n source: this,\n pointerPosition: constrainedPointerPosition,\n event,\n distance: this._getDragDistance(constrainedPointerPosition),\n delta: this._pointerDirectionDelta,\n });\n });\n }\n };\n /** Handler that is invoked when the user lifts their pointer up, after initiating a drag. */\n this._pointerUp = (event) => {\n this._endDragSequence(event);\n };\n /** Handles a native `dragstart` event. */\n this._nativeDragStart = (event) => {\n if (this._handles.length) {\n const targetHandle = this._getTargetHandle(event);\n if (targetHandle && !this._disabledHandles.has(targetHandle) && !this.disabled) {\n event.preventDefault();\n }\n }\n else if (!this.disabled) {\n // Usually this isn't necessary since the we prevent the default action in `pointerDown`,\n // but some cases like dragging of links can slip through (see #24403).\n event.preventDefault();\n }\n };\n this.withRootElement(element).withParent(_config.parentDragRef || null);\n this._parentPositions = new ParentPositionTracker(_document);\n _dragDropRegistry.registerDragItem(this);\n }\n /** Whether starting to drag this element is disabled. */\n get disabled() {\n return this._disabled || !!(this._dropContainer && this._dropContainer.disabled);\n }\n set disabled(value) {\n const newValue = coerceBooleanProperty(value);\n if (newValue !== this._disabled) {\n this._disabled = newValue;\n this._toggleNativeDragInteractions();\n this._handles.forEach(handle => toggleNativeDragInteractions(handle, newValue));\n }\n }\n /**\n * Returns the element that is being used as a placeholder\n * while the current element is being dragged.\n */\n getPlaceholderElement() {\n return this._placeholder;\n }\n /** Returns the root draggable element. */\n getRootElement() {\n return this._rootElement;\n }\n /**\n * Gets the currently-visible element that represents the drag item.\n * While dragging this is the placeholder, otherwise it's the root element.\n */\n getVisibleElement() {\n return this.isDragging() ? this.getPlaceholderElement() : this.getRootElement();\n }\n /** Registers the handles that can be used to drag the element. */\n withHandles(handles) {\n this._handles = handles.map(handle => coerceElement(handle));\n this._handles.forEach(handle => toggleNativeDragInteractions(handle, this.disabled));\n this._toggleNativeDragInteractions();\n // Delete any lingering disabled handles that may have been destroyed. Note that we re-create\n // the set, rather than iterate over it and filter out the destroyed handles, because while\n // the ES spec allows for sets to be modified while they're being iterated over, some polyfills\n // use an array internally which may throw an error.\n const disabledHandles = new Set();\n this._disabledHandles.forEach(handle => {\n if (this._handles.indexOf(handle) > -1) {\n disabledHandles.add(handle);\n }\n });\n this._disabledHandles = disabledHandles;\n return this;\n }\n /**\n * Registers the template that should be used for the drag preview.\n * @param template Template that from which to stamp out the preview.\n */\n withPreviewTemplate(template) {\n this._previewTemplate = template;\n return this;\n }\n /**\n * Registers the template that should be used for the drag placeholder.\n * @param template Template that from which to stamp out the placeholder.\n */\n withPlaceholderTemplate(template) {\n this._placeholderTemplate = template;\n return this;\n }\n /**\n * Sets an alternate drag root element. The root element is the element that will be moved as\n * the user is dragging. Passing an alternate root element is useful when trying to enable\n * dragging on an element that you might not have access to.\n */\n withRootElement(rootElement) {\n const element = coerceElement(rootElement);\n if (element !== this._rootElement) {\n if (this._rootElement) {\n this._removeRootElementListeners(this._rootElement);\n }\n this._ngZone.runOutsideAngular(() => {\n element.addEventListener('mousedown', this._pointerDown, activeEventListenerOptions);\n element.addEventListener('touchstart', this._pointerDown, passiveEventListenerOptions);\n element.addEventListener('dragstart', this._nativeDragStart, activeEventListenerOptions);\n });\n this._initialTransform = undefined;\n this._rootElement = element;\n }\n if (typeof SVGElement !== 'undefined' && this._rootElement instanceof SVGElement) {\n this._ownerSVGElement = this._rootElement.ownerSVGElement;\n }\n return this;\n }\n /**\n * Element to which the draggable's position will be constrained.\n */\n withBoundaryElement(boundaryElement) {\n this._boundaryElement = boundaryElement ? coerceElement(boundaryElement) : null;\n this._resizeSubscription.unsubscribe();\n if (boundaryElement) {\n this._resizeSubscription = this._viewportRuler\n .change(10)\n .subscribe(() => this._containInsideBoundaryOnResize());\n }\n return this;\n }\n /** Sets the parent ref that the ref is nested in. */\n withParent(parent) {\n this._parentDragRef = parent;\n return this;\n }\n /** Removes the dragging functionality from the DOM element. */\n dispose() {\n this._removeRootElementListeners(this._rootElement);\n // Do this check before removing from the registry since it'll\n // stop being considered as dragged once it is removed.\n if (this.isDragging()) {\n // Since we move out the element to the end of the body while it's being\n // dragged, we have to make sure that it's removed if it gets destroyed.\n this._rootElement?.remove();\n }\n this._anchor?.remove();\n this._destroyPreview();\n this._destroyPlaceholder();\n this._dragDropRegistry.removeDragItem(this);\n this._removeSubscriptions();\n this.beforeStarted.complete();\n this.started.complete();\n this.released.complete();\n this.ended.complete();\n this.entered.complete();\n this.exited.complete();\n this.dropped.complete();\n this._moveEvents.complete();\n this._handles = [];\n this._disabledHandles.clear();\n this._dropContainer = undefined;\n this._resizeSubscription.unsubscribe();\n this._parentPositions.clear();\n this._boundaryElement =\n this._rootElement =\n this._ownerSVGElement =\n this._placeholderTemplate =\n this._previewTemplate =\n this._anchor =\n this._parentDragRef =\n null;\n }\n /** Checks whether the element is currently being dragged. */\n isDragging() {\n return this._hasStartedDragging && this._dragDropRegistry.isDragging(this);\n }\n /** Resets a standalone drag item to its initial position. */\n reset() {\n this._rootElement.style.transform = this._initialTransform || '';\n this._activeTransform = { x: 0, y: 0 };\n this._passiveTransform = { x: 0, y: 0 };\n }\n /**\n * Sets a handle as disabled. While a handle is disabled, it'll capture and interrupt dragging.\n * @param handle Handle element that should be disabled.\n */\n disableHandle(handle) {\n if (!this._disabledHandles.has(handle) && this._handles.indexOf(handle) > -1) {\n this._disabledHandles.add(handle);\n toggleNativeDragInteractions(handle, true);\n }\n }\n /**\n * Enables a handle, if it has been disabled.\n * @param handle Handle element to be enabled.\n */\n enableHandle(handle) {\n if (this._disabledHandles.has(handle)) {\n this._disabledHandles.delete(handle);\n toggleNativeDragInteractions(handle, this.disabled);\n }\n }\n /** Sets the layout direction of the draggable item. */\n withDirection(direction) {\n this._direction = direction;\n return this;\n }\n /** Sets the container that the item is part of. */\n _withDropContainer(container) {\n this._dropContainer = container;\n }\n /**\n * Gets the current position in pixels the draggable outside of a drop container.\n */\n getFreeDragPosition() {\n const position = this.isDragging() ? this._activeTransform : this._passiveTransform;\n return { x: position.x, y: position.y };\n }\n /**\n * Sets the current position in pixels the draggable outside of a drop container.\n * @param value New position to be set.\n */\n setFreeDragPosition(value) {\n this._activeTransform = { x: 0, y: 0 };\n this._passiveTransform.x = value.x;\n this._passiveTransform.y = value.y;\n if (!this._dropContainer) {\n this._applyRootElementTransform(value.x, value.y);\n }\n return this;\n }\n /**\n * Sets the container into which to insert the preview element.\n * @param value Container into which to insert the preview.\n */\n withPreviewContainer(value) {\n this._previewContainer = value;\n return this;\n }\n /** Updates the item's sort order based on the last-known pointer position. */\n _sortFromLastPointerPosition() {\n const position = this._lastKnownPointerPosition;\n if (position && this._dropContainer) {\n this._updateActiveDropContainer(this._getConstrainedPointerPosition(position), position);\n }\n }\n /** Unsubscribes from the global subscriptions. */\n _removeSubscriptions() {\n this._pointerMoveSubscription.unsubscribe();\n this._pointerUpSubscription.unsubscribe();\n this._scrollSubscription.unsubscribe();\n }\n /** Destroys the preview element and its ViewRef. */\n _destroyPreview() {\n this._preview?.remove();\n this._previewRef?.destroy();\n this._preview = this._previewRef = null;\n }\n /** Destroys the placeholder element and its ViewRef. */\n _destroyPlaceholder() {\n this._placeholder?.remove();\n this._placeholderRef?.destroy();\n this._placeholder = this._placeholderRef = null;\n }\n /**\n * Clears subscriptions and stops the dragging sequence.\n * @param event Browser event object that ended the sequence.\n */\n _endDragSequence(event) {\n // Note that here we use `isDragging` from the service, rather than from `this`.\n // The difference is that the one from the service reflects whether a dragging sequence\n // has been initiated, whereas the one on `this` includes whether the user has passed\n // the minimum dragging threshold.\n if (!this._dragDropRegistry.isDragging(this)) {\n return;\n }\n this._removeSubscriptions();\n this._dragDropRegistry.stopDragging(this);\n this._toggleNativeDragInteractions();\n if (this._handles) {\n this._rootElement.style.webkitTapHighlightColor =\n this._rootElementTapHighlight;\n }\n if (!this._hasStartedDragging) {\n return;\n }\n this.released.next({ source: this });\n if (this._dropContainer) {\n // Stop scrolling immediately, instead of waiting for the animation to finish.\n this._dropContainer._stopScrolling();\n this._animatePreviewToPlaceholder().then(() => {\n this._cleanupDragArtifacts(event);\n this._cleanupCachedDimensions();\n this._dragDropRegistry.stopDragging(this);\n });\n }\n else {\n // Convert the active transform into a passive one. This means that next time\n // the user starts dragging the item, its position will be calculated relatively\n // to the new passive transform.\n this._passiveTransform.x = this._activeTransform.x;\n const pointerPosition = this._getPointerPositionOnPage(event);\n this._passiveTransform.y = this._activeTransform.y;\n this._ngZone.run(() => {\n this.ended.next({\n source: this,\n distance: this._getDragDistance(pointerPosition),\n dropPoint: pointerPosition,\n });\n });\n this._cleanupCachedDimensions();\n this._dragDropRegistry.stopDragging(this);\n }\n }\n /** Starts the dragging sequence. */\n _startDragSequence(event) {\n if (isTouchEvent(event)) {\n this._lastTouchEventTime = Date.now();\n }\n this._toggleNativeDragInteractions();\n const dropContainer = this._dropContainer;\n if (dropContainer) {\n const element = this._rootElement;\n const parent = element.parentNode;\n const placeholder = (this._placeholder = this._createPlaceholderElement());\n const anchor = (this._anchor = this._anchor || this._document.createComment(''));\n // Needs to happen before the root element is moved.\n const shadowRoot = this._getShadowRoot();\n // Insert an anchor node so that we can restore the element's position in the DOM.\n parent.insertBefore(anchor, element);\n // There's no risk of transforms stacking when inside a drop container so\n // we can keep the initial transform up to date any time dragging starts.\n this._initialTransform = element.style.transform || '';\n // Create the preview after the initial transform has\n // been cached, because it can be affected by the transform.\n this._preview = this._createPreviewElement();\n // We move the element out at the end of the body and we make it hidden, because keeping it in\n // place will throw off the consumer's `:last-child` selectors. We can't remove the element\n // from the DOM completely, because iOS will stop firing all subsequent events in the chain.\n toggleVisibility(element, false, dragImportantProperties);\n this._document.body.appendChild(parent.replaceChild(placeholder, element));\n this._getPreviewInsertionPoint(parent, shadowRoot).appendChild(this._preview);\n this.started.next({ source: this }); // Emit before notifying the container.\n dropContainer.start();\n this._initialContainer = dropContainer;\n this._initialIndex = dropContainer.getItemIndex(this);\n }\n else {\n this.started.next({ source: this });\n this._initialContainer = this._initialIndex = undefined;\n }\n // Important to run after we've called `start` on the parent container\n // so that it has had time to resolve its scrollable parents.\n this._parentPositions.cache(dropContainer ? dropContainer.getScrollableParents() : []);\n }\n /**\n * Sets up the different variables and subscriptions\n * that will be necessary for the dragging sequence.\n * @param referenceElement Element that started the drag sequence.\n * @param event Browser event object that started the sequence.\n */\n _initializeDragSequence(referenceElement, event) {\n // Stop propagation if the item is inside another\n // draggable so we don't start multiple drag sequences.\n if (this._parentDragRef) {\n event.stopPropagation();\n }\n const isDragging = this.isDragging();\n const isTouchSequence = isTouchEvent(event);\n const isAuxiliaryMouseButton = !isTouchSequence && event.button !== 0;\n const rootElement = this._rootElement;\n const target = _getEventTarget(event);\n const isSyntheticEvent = !isTouchSequence &&\n this._lastTouchEventTime &&\n this._lastTouchEventTime + MOUSE_EVENT_IGNORE_TIME > Date.now();\n const isFakeEvent = isTouchSequence\n ? isFakeTouchstartFromScreenReader(event)\n : isFakeMousedownFromScreenReader(event);\n // If the event started from an element with the native HTML drag&drop, it'll interfere\n // with our own dragging (e.g. `img` tags do it by default). Prevent the default action\n // to stop it from happening. Note that preventing on `dragstart` also seems to work, but\n // it's flaky and it fails if the user drags it away quickly. Also note that we only want\n // to do this for `mousedown` since doing the same for `touchstart` will stop any `click`\n // events from firing on touch devices.\n if (target && target.draggable && event.type === 'mousedown') {\n event.preventDefault();\n }\n // Abort if the user is already dragging or is using a mouse button other than the primary one.\n if (isDragging || isAuxiliaryMouseButton || isSyntheticEvent || isFakeEvent) {\n return;\n }\n // If we've got handles, we need to disable the tap highlight on the entire root element,\n // otherwise iOS will still add it, even though all the drag interactions on the handle\n // are disabled.\n if (this._handles.length) {\n const rootStyles = rootElement.style;\n this._rootElementTapHighlight = rootStyles.webkitTapHighlightColor || '';\n rootStyles.webkitTapHighlightColor = 'transparent';\n }\n this._hasStartedDragging = this._hasMoved = false;\n // Avoid multiple subscriptions and memory leaks when multi touch\n // (isDragging check above isn't enough because of possible temporal and/or dimensional delays)\n this._removeSubscriptions();\n this._pointerMoveSubscription = this._dragDropRegistry.pointerMove.subscribe(this._pointerMove);\n this._pointerUpSubscription = this._dragDropRegistry.pointerUp.subscribe(this._pointerUp);\n this._scrollSubscription = this._dragDropRegistry\n .scrolled(this._getShadowRoot())\n .subscribe(scrollEvent => this._updateOnScroll(scrollEvent));\n if (this._boundaryElement) {\n this._boundaryRect = getMutableClientRect(this._boundaryElement);\n }\n // If we have a custom preview we can't know ahead of time how large it'll be so we position\n // it next to the cursor. The exception is when the consumer has opted into making the preview\n // the same size as the root element, in which case we do know the size.\n const previewTemplate = this._previewTemplate;\n this._pickupPositionInElement =\n previewTemplate && previewTemplate.template && !previewTemplate.matchSize\n ? { x: 0, y: 0 }\n : this._getPointerPositionInElement(referenceElement, event);\n const pointerPosition = (this._pickupPositionOnPage =\n this._lastKnownPointerPosition =\n this._getPointerPositionOnPage(event));\n this._pointerDirectionDelta = { x: 0, y: 0 };\n this._pointerPositionAtLastDirectionChange = { x: pointerPosition.x, y: pointerPosition.y };\n this._dragStartTime = Date.now();\n this._dragDropRegistry.startDragging(this, event);\n }\n /** Cleans up the DOM artifacts that were added to facilitate the element being dragged. */\n _cleanupDragArtifacts(event) {\n // Restore the element's visibility and insert it at its old position in the DOM.\n // It's important that we maintain the position, because moving the element around in the DOM\n // can throw off `NgFor` which does smart diffing and re-creates elements only when necessary,\n // while moving the existing elements in all other cases.\n toggleVisibility(this._rootElement, true, dragImportantProperties);\n this._anchor.parentNode.replaceChild(this._rootElement, this._anchor);\n this._destroyPreview();\n this._destroyPlaceholder();\n this._boundaryRect = this._previewRect = this._initialTransform = undefined;\n // Re-enter the NgZone since we bound `document` events on the outside.\n this._ngZone.run(() => {\n const container = this._dropContainer;\n const currentIndex = container.getItemIndex(this);\n const pointerPosition = this._getPointerPositionOnPage(event);\n const distance = this._getDragDistance(pointerPosition);\n const isPointerOverContainer = container._isOverContainer(pointerPosition.x, pointerPosition.y);\n this.ended.next({ source: this, distance, dropPoint: pointerPosition });\n this.dropped.next({\n item: this,\n currentIndex,\n previousIndex: this._initialIndex,\n container: container,\n previousContainer: this._initialContainer,\n isPointerOverContainer,\n distance,\n dropPoint: pointerPosition,\n });\n container.drop(this, currentIndex, this._initialIndex, this._initialContainer, isPointerOverContainer, distance, pointerPosition);\n this._dropContainer = this._initialContainer;\n });\n }\n /**\n * Updates the item's position in its drop container, or moves it\n * into a new one, depending on its current drag position.\n */\n _updateActiveDropContainer({ x, y }, { x: rawX, y: rawY }) {\n // Drop container that draggable has been moved into.\n let newContainer = this._initialContainer._getSiblingContainerFromPosition(this, x, y);\n // If we couldn't find a new container to move the item into, and the item has left its\n // initial container, check whether the it's over the initial container. This handles the\n // case where two containers are connected one way and the user tries to undo dragging an\n // item into a new container.\n if (!newContainer &&\n this._dropContainer !== this._initialContainer &&\n this._initialContainer._isOverContainer(x, y)) {\n newContainer = this._initialContainer;\n }\n if (newContainer && newContainer !== this._dropContainer) {\n this._ngZone.run(() => {\n // Notify the old container that the item has left.\n this.exited.next({ item: this, container: this._dropContainer });\n this._dropContainer.exit(this);\n // Notify the new container that the item has entered.\n this._dropContainer = newContainer;\n this._dropContainer.enter(this, x, y, newContainer === this._initialContainer &&\n // If we're re-entering the initial container and sorting is disabled,\n // put item the into its starting index to begin with.\n newContainer.sortingDisabled\n ? this._initialIndex\n : undefined);\n this.entered.next({\n item: this,\n container: newContainer,\n currentIndex: newContainer.getItemIndex(this),\n });\n });\n }\n // Dragging may have been interrupted as a result of the events above.\n if (this.isDragging()) {\n this._dropContainer._startScrollingIfNecessary(rawX, rawY);\n this._dropContainer._sortItem(this, x, y, this._pointerDirectionDelta);\n this._applyPreviewTransform(x - this._pickupPositionInElement.x, y - this._pickupPositionInElement.y);\n }\n }\n /**\n * Creates the element that will be rendered next to the user's pointer\n * and will be used as a preview of the element that is being dragged.\n */\n _createPreviewElement() {\n const previewConfig = this._previewTemplate;\n const previewClass = this.previewClass;\n const previewTemplate = previewConfig ? previewConfig.template : null;\n let preview;\n if (previewTemplate && previewConfig) {\n // Measure the element before we've inserted the preview\n // since the insertion could throw off the measurement.\n const rootRect = previewConfig.matchSize ? this._rootElement.getBoundingClientRect() : null;\n const viewRef = previewConfig.viewContainer.createEmbeddedView(previewTemplate, previewConfig.context);\n viewRef.detectChanges();\n preview = getRootNode(viewRef, this._document);\n this._previewRef = viewRef;\n if (previewConfig.matchSize) {\n matchElementSize(preview, rootRect);\n }\n else {\n preview.style.transform = getTransform(this._pickupPositionOnPage.x, this._pickupPositionOnPage.y);\n }\n }\n else {\n const element = this._rootElement;\n preview = deepCloneNode(element);\n matchElementSize(preview, element.getBoundingClientRect());\n if (this._initialTransform) {\n preview.style.transform = this._initialTransform;\n }\n }\n extendStyles(preview.style, {\n // It's important that we disable the pointer events on the preview, because\n // it can throw off the `document.elementFromPoint` calls in the `CdkDropList`.\n 'pointer-events': 'none',\n // We have to reset the margin, because it can throw off positioning relative to the viewport.\n 'margin': '0',\n 'position': 'fixed',\n 'top': '0',\n 'left': '0',\n 'z-index': `${this._config.zIndex || 1000}`,\n }, dragImportantProperties);\n toggleNativeDragInteractions(preview, false);\n preview.classList.add('cdk-drag-preview');\n preview.setAttribute('dir', this._direction);\n if (previewClass) {\n if (Array.isArray(previewClass)) {\n previewClass.forEach(className => preview.classList.add(className));\n }\n else {\n preview.classList.add(previewClass);\n }\n }\n return preview;\n }\n /**\n * Animates the preview element from its current position to the location of the drop placeholder.\n * @returns Promise that resolves when the animation completes.\n */\n _animatePreviewToPlaceholder() {\n // If the user hasn't moved yet, the transitionend event won't fire.\n if (!this._hasMoved) {\n return Promise.resolve();\n }\n const placeholderRect = this._placeholder.getBoundingClientRect();\n // Apply the class that adds a transition to the preview.\n this._preview.classList.add('cdk-drag-animating');\n // Move the preview to the placeholder position.\n this._applyPreviewTransform(placeholderRect.left, placeholderRect.top);\n // If the element doesn't have a `transition`, the `transitionend` event won't fire. Since\n // we need to trigger a style recalculation in order for the `cdk-drag-animating` class to\n // apply its style, we take advantage of the available info to figure out whether we need to\n // bind the event in the first place.\n const duration = getTransformTransitionDurationInMs(this._preview);\n if (duration === 0) {\n return Promise.resolve();\n }\n return this._ngZone.runOutsideAngular(() => {\n return new Promise(resolve => {\n const handler = ((event) => {\n if (!event ||\n (_getEventTarget(event) === this._preview && event.propertyName === 'transform')) {\n this._preview?.removeEventListener('transitionend', handler);\n resolve();\n clearTimeout(timeout);\n }\n });\n // If a transition is short enough, the browser might not fire the `transitionend` event.\n // Since we know how long it's supposed to take, add a timeout with a 50% buffer that'll\n // fire if the transition hasn't completed when it was supposed to.\n const timeout = setTimeout(handler, duration * 1.5);\n this._preview.addEventListener('transitionend', handler);\n });\n });\n }\n /** Creates an element that will be shown instead of the current element while dragging. */\n _createPlaceholderElement() {\n const placeholderConfig = this._placeholderTemplate;\n const placeholderTemplate = placeholderConfig ? placeholderConfig.template : null;\n let placeholder;\n if (placeholderTemplate) {\n this._placeholderRef = placeholderConfig.viewContainer.createEmbeddedView(placeholderTemplate, placeholderConfig.context);\n this._placeholderRef.detectChanges();\n placeholder = getRootNode(this._placeholderRef, this._document);\n }\n else {\n placeholder = deepCloneNode(this._rootElement);\n }\n // Stop pointer events on the preview so the user can't\n // interact with it while the preview is animating.\n placeholder.style.pointerEvents = 'none';\n placeholder.classList.add('cdk-drag-placeholder');\n return placeholder;\n }\n /**\n * Figures out the coordinates at which an element was picked up.\n * @param referenceElement Element that initiated the dragging.\n * @param event Event that initiated the dragging.\n */\n _getPointerPositionInElement(referenceElement, event) {\n const elementRect = this._rootElement.getBoundingClientRect();\n const handleElement = referenceElement === this._rootElement ? null : referenceElement;\n const referenceRect = handleElement ? handleElement.getBoundingClientRect() : elementRect;\n const point = isTouchEvent(event) ? event.targetTouches[0] : event;\n const scrollPosition = this._getViewportScrollPosition();\n const x = point.pageX - referenceRect.left - scrollPosition.left;\n const y = point.pageY - referenceRect.top - scrollPosition.top;\n return {\n x: referenceRect.left - elementRect.left + x,\n y: referenceRect.top - elementRect.top + y,\n };\n }\n /** Determines the point of the page that was touched by the user. */\n _getPointerPositionOnPage(event) {\n const scrollPosition = this._getViewportScrollPosition();\n const point = isTouchEvent(event)\n ? // `touches` will be empty for start/end events so we have to fall back to `changedTouches`.\n // Also note that on real devices we're guaranteed for either `touches` or `changedTouches`\n // to have a value, but Firefox in device emulation mode has a bug where both can be empty\n // for `touchstart` and `touchend` so we fall back to a dummy object in order to avoid\n // throwing an error. The value returned here will be incorrect, but since this only\n // breaks inside a developer tool and the value is only used for secondary information,\n // we can get away with it. See https://bugzilla.mozilla.org/show_bug.cgi?id=1615824.\n event.touches[0] || event.changedTouches[0] || { pageX: 0, pageY: 0 }\n : event;\n const x = point.pageX - scrollPosition.left;\n const y = point.pageY - scrollPosition.top;\n // if dragging SVG element, try to convert from the screen coordinate system to the SVG\n // coordinate system\n if (this._ownerSVGElement) {\n const svgMatrix = this._ownerSVGElement.getScreenCTM();\n if (svgMatrix) {\n const svgPoint = this._ownerSVGElement.createSVGPoint();\n svgPoint.x = x;\n svgPoint.y = y;\n return svgPoint.matrixTransform(svgMatrix.inverse());\n }\n }\n return { x, y };\n }\n /** Gets the pointer position on the page, accounting for any position constraints. */\n _getConstrainedPointerPosition(point) {\n const dropContainerLock = this._dropContainer ? this._dropContainer.lockAxis : null;\n let { x, y } = this.constrainPosition ? this.constrainPosition(point, this) : point;\n if (this.lockAxis === 'x' || dropContainerLock === 'x') {\n y = this._pickupPositionOnPage.y;\n }\n else if (this.lockAxis === 'y' || dropContainerLock === 'y') {\n x = this._pickupPositionOnPage.x;\n }\n if (this._boundaryRect) {\n const { x: pickupX, y: pickupY } = this._pickupPositionInElement;\n const boundaryRect = this._boundaryRect;\n const { width: previewWidth, height: previewHeight } = this._getPreviewRect();\n const minY = boundaryRect.top + pickupY;\n const maxY = boundaryRect.bottom - (previewHeight - pickupY);\n const minX = boundaryRect.left + pickupX;\n const maxX = boundaryRect.right - (previewWidth - pickupX);\n x = clamp$1(x, minX, maxX);\n y = clamp$1(y, minY, maxY);\n }\n return { x, y };\n }\n /** Updates the current drag delta, based on the user's current pointer position on the page. */\n _updatePointerDirectionDelta(pointerPositionOnPage) {\n const { x, y } = pointerPositionOnPage;\n const delta = this._pointerDirectionDelta;\n const positionSinceLastChange = this._pointerPositionAtLastDirectionChange;\n // Amount of pixels the user has dragged since the last time the direction changed.\n const changeX = Math.abs(x - positionSinceLastChange.x);\n const changeY = Math.abs(y - positionSinceLastChange.y);\n // Because we handle pointer events on a per-pixel basis, we don't want the delta\n // to change for every pixel, otherwise anything that depends on it can look erratic.\n // To make the delta more consistent, we track how much the user has moved since the last\n // delta change and we only update it after it has reached a certain threshold.\n if (changeX > this._config.pointerDirectionChangeThreshold) {\n delta.x = x > positionSinceLastChange.x ? 1 : -1;\n positionSinceLastChange.x = x;\n }\n if (changeY > this._config.pointerDirectionChangeThreshold) {\n delta.y = y > positionSinceLastChange.y ? 1 : -1;\n positionSinceLastChange.y = y;\n }\n return delta;\n }\n /** Toggles the native drag interactions, based on how many handles are registered. */\n _toggleNativeDragInteractions() {\n if (!this._rootElement || !this._handles) {\n return;\n }\n const shouldEnable = this._handles.length > 0 || !this.isDragging();\n if (shouldEnable !== this._nativeInteractionsEnabled) {\n this._nativeInteractionsEnabled = shouldEnable;\n toggleNativeDragInteractions(this._rootElement, shouldEnable);\n }\n }\n /** Removes the manually-added event listeners from the root element. */\n _removeRootElementListeners(element) {\n element.removeEventListener('mousedown', this._pointerDown, activeEventListenerOptions);\n element.removeEventListener('touchstart', this._pointerDown, passiveEventListenerOptions);\n element.removeEventListener('dragstart', this._nativeDragStart, activeEventListenerOptions);\n }\n /**\n * Applies a `transform` to the root element, taking into account any existing transforms on it.\n * @param x New transform value along the X axis.\n * @param y New transform value along the Y axis.\n */\n _applyRootElementTransform(x, y) {\n const transform = getTransform(x, y);\n const styles = this._rootElement.style;\n // Cache the previous transform amount only after the first drag sequence, because\n // we don't want our own transforms to stack on top of each other.\n // Should be excluded none because none + translate3d(x, y, x) is invalid css\n if (this._initialTransform == null) {\n this._initialTransform =\n styles.transform && styles.transform != 'none' ? styles.transform : '';\n }\n // Preserve the previous `transform` value, if there was one. Note that we apply our own\n // transform before the user's, because things like rotation can affect which direction\n // the element will be translated towards.\n styles.transform = combineTransforms(transform, this._initialTransform);\n }\n /**\n * Applies a `transform` to the preview, taking into account any existing transforms on it.\n * @param x New transform value along the X axis.\n * @param y New transform value along the Y axis.\n */\n _applyPreviewTransform(x, y) {\n // Only apply the initial transform if the preview is a clone of the original element, otherwise\n // it could be completely different and the transform might not make sense anymore.\n const initialTransform = this._previewTemplate?.template ? undefined : this._initialTransform;\n const transform = getTransform(x, y);\n this._preview.style.transform = combineTransforms(transform, initialTransform);\n }\n /**\n * Gets the distance that the user has dragged during the current drag sequence.\n * @param currentPosition Current position of the user's pointer.\n */\n _getDragDistance(currentPosition) {\n const pickupPosition = this._pickupPositionOnPage;\n if (pickupPosition) {\n return { x: currentPosition.x - pickupPosition.x, y: currentPosition.y - pickupPosition.y };\n }\n return { x: 0, y: 0 };\n }\n /** Cleans up any cached element dimensions that we don't need after dragging has stopped. */\n _cleanupCachedDimensions() {\n this._boundaryRect = this._previewRect = undefined;\n this._parentPositions.clear();\n }\n /**\n * Checks whether the element is still inside its boundary after the viewport has been resized.\n * If not, the position is adjusted so that the element fits again.\n */\n _containInsideBoundaryOnResize() {\n let { x, y } = this._passiveTransform;\n if ((x === 0 && y === 0) || this.isDragging() || !this._boundaryElement) {\n return;\n }\n const boundaryRect = this._boundaryElement.getBoundingClientRect();\n const elementRect = this._rootElement.getBoundingClientRect();\n // It's possible that the element got hidden away after dragging (e.g. by switching to a\n // different tab). Don't do anything in this case so we don't clear the user's position.\n if ((boundaryRect.width === 0 && boundaryRect.height === 0) ||\n (elementRect.width === 0 && elementRect.height === 0)) {\n return;\n }\n const leftOverflow = boundaryRect.left - elementRect.left;\n const rightOverflow = elementRect.right - boundaryRect.right;\n const topOverflow = boundaryRect.top - elementRect.top;\n const bottomOverflow = elementRect.bottom - boundaryRect.bottom;\n // If the element has become wider than the boundary, we can't\n // do much to make it fit so we just anchor it to the left.\n if (boundaryRect.width > elementRect.width) {\n if (leftOverflow > 0) {\n x += leftOverflow;\n }\n if (rightOverflow > 0) {\n x -= rightOverflow;\n }\n }\n else {\n x = 0;\n }\n // If the element has become taller than the boundary, we can't\n // do much to make it fit so we just anchor it to the top.\n if (boundaryRect.height > elementRect.height) {\n if (topOverflow > 0) {\n y += topOverflow;\n }\n if (bottomOverflow > 0) {\n y -= bottomOverflow;\n }\n }\n else {\n y = 0;\n }\n if (x !== this._passiveTransform.x || y !== this._passiveTransform.y) {\n this.setFreeDragPosition({ y, x });\n }\n }\n /** Gets the drag start delay, based on the event type. */\n _getDragStartDelay(event) {\n const value = this.dragStartDelay;\n if (typeof value === 'number') {\n return value;\n }\n else if (isTouchEvent(event)) {\n return value.touch;\n }\n return value ? value.mouse : 0;\n }\n /** Updates the internal state of the draggable element when scrolling has occurred. */\n _updateOnScroll(event) {\n const scrollDifference = this._parentPositions.handleScroll(event);\n if (scrollDifference) {\n const target = _getEventTarget(event);\n // ClientRect dimensions are based on the scroll position of the page and its parent\n // node so we have to update the cached boundary ClientRect if the user has scrolled.\n if (this._boundaryRect &&\n target !== this._boundaryElement &&\n target.contains(this._boundaryElement)) {\n adjustClientRect(this._boundaryRect, scrollDifference.top, scrollDifference.left);\n }\n this._pickupPositionOnPage.x += scrollDifference.left;\n this._pickupPositionOnPage.y += scrollDifference.top;\n // If we're in free drag mode, we have to update the active transform, because\n // it isn't relative to the viewport like the preview inside a drop list.\n if (!this._dropContainer) {\n this._activeTransform.x -= scrollDifference.left;\n this._activeTransform.y -= scrollDifference.top;\n this._applyRootElementTransform(this._activeTransform.x, this._activeTransform.y);\n }\n }\n }\n /** Gets the scroll position of the viewport. */\n _getViewportScrollPosition() {\n return (this._parentPositions.positions.get(this._document)?.scrollPosition ||\n this._parentPositions.getViewportScrollPosition());\n }\n /**\n * Lazily resolves and returns the shadow root of the element. We do this in a function, rather\n * than saving it in property directly on init, because we want to resolve it as late as possible\n * in order to ensure that the element has been moved into the shadow DOM. Doing it inside the\n * constructor might be too early if the element is inside of something like `ngFor` or `ngIf`.\n */\n _getShadowRoot() {\n if (this._cachedShadowRoot === undefined) {\n this._cachedShadowRoot = _getShadowRoot(this._rootElement);\n }\n return this._cachedShadowRoot;\n }\n /** Gets the element into which the drag preview should be inserted. */\n _getPreviewInsertionPoint(initialParent, shadowRoot) {\n const previewContainer = this._previewContainer || 'global';\n if (previewContainer === 'parent') {\n return initialParent;\n }\n if (previewContainer === 'global') {\n const documentRef = this._document;\n // We can't use the body if the user is in fullscreen mode,\n // because the preview will render under the fullscreen element.\n // TODO(crisbeto): dedupe this with the `FullscreenOverlayContainer` eventually.\n return (shadowRoot ||\n documentRef.fullscreenElement ||\n documentRef.webkitFullscreenElement ||\n documentRef.mozFullScreenElement ||\n documentRef.msFullscreenElement ||\n documentRef.body);\n }\n return coerceElement(previewContainer);\n }\n /** Lazily resolves and returns the dimensions of the preview. */\n _getPreviewRect() {\n // Cache the preview element rect if we haven't cached it already or if\n // we cached it too early before the element dimensions were computed.\n if (!this._previewRect || (!this._previewRect.width && !this._previewRect.height)) {\n this._previewRect = (this._preview || this._rootElement).getBoundingClientRect();\n }\n return this._previewRect;\n }\n /** Gets a handle that is the target of an event. */\n _getTargetHandle(event) {\n return this._handles.find(handle => {\n return event.target && (event.target === handle || handle.contains(event.target));\n });\n }\n}\n/**\n * Gets a 3d `transform` that can be applied to an element.\n * @param x Desired position of the element along the X axis.\n * @param y Desired position of the element along the Y axis.\n */\nfunction getTransform(x, y) {\n // Round the transforms since some browsers will\n // blur the elements for sub-pixel transforms.\n return `translate3d(${Math.round(x)}px, ${Math.round(y)}px, 0)`;\n}\n/** Clamps a value between a minimum and a maximum. */\nfunction clamp$1(value, min, max) {\n return Math.max(min, Math.min(max, value));\n}\n/** Determines whether an event is a touch event. */\nfunction isTouchEvent(event) {\n // This function is called for every pixel that the user has dragged so we need it to be\n // as fast as possible. Since we only bind mouse events and touch events, we can assume\n // that if the event's name starts with `t`, it's a touch event.\n return event.type[0] === 't';\n}\n/**\n * Gets the root HTML element of an embedded view.\n * If the root is not an HTML element it gets wrapped in one.\n */\nfunction getRootNode(viewRef, _document) {\n const rootNodes = viewRef.rootNodes;\n if (rootNodes.length === 1 && rootNodes[0].nodeType === _document.ELEMENT_NODE) {\n return rootNodes[0];\n }\n const wrapper = _document.createElement('div');\n rootNodes.forEach(node => wrapper.appendChild(node));\n return wrapper;\n}\n/**\n * Matches the target element's size to the source's size.\n * @param target Element that needs to be resized.\n * @param sourceRect Dimensions of the source element.\n */\nfunction matchElementSize(target, sourceRect) {\n target.style.width = `${sourceRect.width}px`;\n target.style.height = `${sourceRect.height}px`;\n target.style.transform = getTransform(sourceRect.left, sourceRect.top);\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * Moves an item one index in an array to another.\n * @param array Array in which to move the item.\n * @param fromIndex Starting index of the item.\n * @param toIndex Index to which the item should be moved.\n */\nfunction moveItemInArray(array, fromIndex, toIndex) {\n const from = clamp(fromIndex, array.length - 1);\n const to = clamp(toIndex, array.length - 1);\n if (from === to) {\n return;\n }\n const target = array[from];\n const delta = to < from ? -1 : 1;\n for (let i = from; i !== to; i += delta) {\n array[i] = array[i + delta];\n }\n array[to] = target;\n}\n/**\n * Moves an item from one array to another.\n * @param currentArray Array from which to transfer the item.\n * @param targetArray Array into which to put the item.\n * @param currentIndex Index of the item in its current array.\n * @param targetIndex Index at which to insert the item.\n */\nfunction transferArrayItem(currentArray, targetArray, currentIndex, targetIndex) {\n const from = clamp(currentIndex, currentArray.length - 1);\n const to = clamp(targetIndex, targetArray.length);\n if (currentArray.length) {\n targetArray.splice(to, 0, currentArray.splice(from, 1)[0]);\n }\n}\n/**\n * Copies an item from one array to another, leaving it in its\n * original position in current array.\n * @param currentArray Array from which to copy the item.\n * @param targetArray Array into which is copy the item.\n * @param currentIndex Index of the item in its current array.\n * @param targetIndex Index at which to insert the item.\n *\n */\nfunction copyArrayItem(currentArray, targetArray, currentIndex, targetIndex) {\n const to = clamp(targetIndex, targetArray.length);\n if (currentArray.length) {\n targetArray.splice(to, 0, currentArray[currentIndex]);\n }\n}\n/** Clamps a number between zero and a maximum. */\nfunction clamp(value, max) {\n return Math.max(0, Math.min(max, value));\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * Proximity, as a ratio to width/height, at which a\n * dragged item will affect the drop container.\n */\nconst DROP_PROXIMITY_THRESHOLD = 0.05;\n/**\n * Proximity, as a ratio to width/height at which to start auto-scrolling the drop list or the\n * viewport. The value comes from trying it out manually until it feels right.\n */\nconst SCROLL_PROXIMITY_THRESHOLD = 0.05;\n/**\n * Reference to a drop list. Used to manipulate or dispose of the container.\n */\nclass DropListRef {\n constructor(element, _dragDropRegistry, _document, _ngZone, _viewportRuler) {\n this._dragDropRegistry = _dragDropRegistry;\n this._ngZone = _ngZone;\n this._viewportRuler = _viewportRuler;\n /** Whether starting a dragging sequence from this container is disabled. */\n this.disabled = false;\n /** Whether sorting items within the list is disabled. */\n this.sortingDisabled = false;\n /**\n * Whether auto-scrolling the view when the user\n * moves their pointer close to the edges is disabled.\n */\n this.autoScrollDisabled = false;\n /** Number of pixels to scroll for each frame when auto-scrolling an element. */\n this.autoScrollStep = 2;\n /**\n * Function that is used to determine whether an item\n * is allowed to be moved into a drop container.\n */\n this.enterPredicate = () => true;\n /** Functions that is used to determine whether an item can be sorted into a particular index. */\n this.sortPredicate = () => true;\n /** Emits right before dragging has started. */\n this.beforeStarted = new Subject();\n /**\n * Emits when the user has moved a new drag item into this container.\n */\n this.entered = new Subject();\n /**\n * Emits when the user removes an item from the container\n * by dragging it into another container.\n */\n this.exited = new Subject();\n /** Emits when the user drops an item inside the container. */\n this.dropped = new Subject();\n /** Emits as the user is swapping items while actively dragging. */\n this.sorted = new Subject();\n /** Whether an item in the list is being dragged. */\n this._isDragging = false;\n /** Cache of the dimensions of all the items inside the container. */\n this._itemPositions = [];\n /**\n * Keeps track of the item that was last swapped with the dragged item, as well as what direction\n * the pointer was moving in when the swap occured and whether the user's pointer continued to\n * overlap with the swapped item after the swapping occurred.\n */\n this._previousSwap = { drag: null, delta: 0, overlaps: false };\n /** Draggable items in the container. */\n this._draggables = [];\n /** Drop lists that are connected to the current one. */\n this._siblings = [];\n /** Direction in which the list is oriented. */\n this._orientation = 'vertical';\n /** Connected siblings that currently have a dragged item. */\n this._activeSiblings = new Set();\n /** Layout direction of the drop list. */\n this._direction = 'ltr';\n /** Subscription to the window being scrolled. */\n this._viewportScrollSubscription = Subscription.EMPTY;\n /** Vertical direction in which the list is currently scrolling. */\n this._verticalScrollDirection = 0 /* NONE */;\n /** Horizontal direction in which the list is currently scrolling. */\n this._horizontalScrollDirection = 0 /* NONE */;\n /** Used to signal to the current auto-scroll sequence when to stop. */\n this._stopScrollTimers = new Subject();\n /** Shadow root of the current element. Necessary for `elementFromPoint` to resolve correctly. */\n this._cachedShadowRoot = null;\n /** Starts the interval that'll auto-scroll the element. */\n this._startScrollInterval = () => {\n this._stopScrolling();\n interval(0, animationFrameScheduler)\n .pipe(takeUntil(this._stopScrollTimers))\n .subscribe(() => {\n const node = this._scrollNode;\n const scrollStep = this.autoScrollStep;\n if (this._verticalScrollDirection === 1 /* UP */) {\n node.scrollBy(0, -scrollStep);\n }\n else if (this._verticalScrollDirection === 2 /* DOWN */) {\n node.scrollBy(0, scrollStep);\n }\n if (this._horizontalScrollDirection === 1 /* LEFT */) {\n node.scrollBy(-scrollStep, 0);\n }\n else if (this._horizontalScrollDirection === 2 /* RIGHT */) {\n node.scrollBy(scrollStep, 0);\n }\n });\n };\n this.element = coerceElement(element);\n this._document = _document;\n this.withScrollableParents([this.element]);\n _dragDropRegistry.registerDropContainer(this);\n this._parentPositions = new ParentPositionTracker(_document);\n }\n /** Removes the drop list functionality from the DOM element. */\n dispose() {\n this._stopScrolling();\n this._stopScrollTimers.complete();\n this._viewportScrollSubscription.unsubscribe();\n this.beforeStarted.complete();\n this.entered.complete();\n this.exited.complete();\n this.dropped.complete();\n this.sorted.complete();\n this._activeSiblings.clear();\n this._scrollNode = null;\n this._parentPositions.clear();\n this._dragDropRegistry.removeDropContainer(this);\n }\n /** Whether an item from this list is currently being dragged. */\n isDragging() {\n return this._isDragging;\n }\n /** Starts dragging an item. */\n start() {\n this._draggingStarted();\n this._notifyReceivingSiblings();\n }\n /**\n * Emits an event to indicate that the user moved an item into the container.\n * @param item Item that was moved into the container.\n * @param pointerX Position of the item along the X axis.\n * @param pointerY Position of the item along the Y axis.\n * @param index Index at which the item entered. If omitted, the container will try to figure it\n * out automatically.\n */\n enter(item, pointerX, pointerY, index) {\n this._draggingStarted();\n // If sorting is disabled, we want the item to return to its starting\n // position if the user is returning it to its initial container.\n let newIndex;\n if (index == null) {\n newIndex = this.sortingDisabled ? this._draggables.indexOf(item) : -1;\n if (newIndex === -1) {\n // We use the coordinates of where the item entered the drop\n // zone to figure out at which index it should be inserted.\n newIndex = this._getItemIndexFromPointerPosition(item, pointerX, pointerY);\n }\n }\n else {\n newIndex = index;\n }\n const activeDraggables = this._activeDraggables;\n const currentIndex = activeDraggables.indexOf(item);\n const placeholder = item.getPlaceholderElement();\n let newPositionReference = activeDraggables[newIndex];\n // If the item at the new position is the same as the item that is being dragged,\n // it means that we're trying to restore the item to its initial position. In this\n // case we should use the next item from the list as the reference.\n if (newPositionReference === item) {\n newPositionReference = activeDraggables[newIndex + 1];\n }\n // If we didn't find a new position reference, it means that either the item didn't start off\n // in this container, or that the item requested to be inserted at the end of the list.\n if (!newPositionReference &&\n (newIndex == null || newIndex === -1 || newIndex < activeDraggables.length - 1) &&\n this._shouldEnterAsFirstChild(pointerX, pointerY)) {\n newPositionReference = activeDraggables[0];\n }\n // Since the item may be in the `activeDraggables` already (e.g. if the user dragged it\n // into another container and back again), we have to ensure that it isn't duplicated.\n if (currentIndex > -1) {\n activeDraggables.splice(currentIndex, 1);\n }\n // Don't use items that are being dragged as a reference, because\n // their element has been moved down to the bottom of the body.\n if (newPositionReference && !this._dragDropRegistry.isDragging(newPositionReference)) {\n const element = newPositionReference.getRootElement();\n element.parentElement.insertBefore(placeholder, element);\n activeDraggables.splice(newIndex, 0, item);\n }\n else {\n coerceElement(this.element).appendChild(placeholder);\n activeDraggables.push(item);\n }\n // The transform needs to be cleared so it doesn't throw off the measurements.\n placeholder.style.transform = '';\n // Note that the positions were already cached when we called `start` above,\n // but we need to refresh them since the amount of items has changed and also parent rects.\n this._cacheItemPositions();\n this._cacheParentPositions();\n // Notify siblings at the end so that the item has been inserted into the `activeDraggables`.\n this._notifyReceivingSiblings();\n this.entered.next({ item, container: this, currentIndex: this.getItemIndex(item) });\n }\n /**\n * Removes an item from the container after it was dragged into another container by the user.\n * @param item Item that was dragged out.\n */\n exit(item) {\n this._reset();\n this.exited.next({ item, container: this });\n }\n /**\n * Drops an item into this container.\n * @param item Item being dropped into the container.\n * @param currentIndex Index at which the item should be inserted.\n * @param previousIndex Index of the item when dragging started.\n * @param previousContainer Container from which the item got dragged in.\n * @param isPointerOverContainer Whether the user's pointer was over the\n * container when the item was dropped.\n * @param distance Distance the user has dragged since the start of the dragging sequence.\n */\n drop(item, currentIndex, previousIndex, previousContainer, isPointerOverContainer, distance, dropPoint) {\n this._reset();\n this.dropped.next({\n item,\n currentIndex,\n previousIndex,\n container: this,\n previousContainer,\n isPointerOverContainer,\n distance,\n dropPoint,\n });\n }\n /**\n * Sets the draggable items that are a part of this list.\n * @param items Items that are a part of this list.\n */\n withItems(items) {\n const previousItems = this._draggables;\n this._draggables = items;\n items.forEach(item => item._withDropContainer(this));\n if (this.isDragging()) {\n const draggedItems = previousItems.filter(item => item.isDragging());\n // If all of the items being dragged were removed\n // from the list, abort the current drag sequence.\n if (draggedItems.every(item => items.indexOf(item) === -1)) {\n this._reset();\n }\n else {\n this._cacheItems();\n }\n }\n return this;\n }\n /** Sets the layout direction of the drop list. */\n withDirection(direction) {\n this._direction = direction;\n return this;\n }\n /**\n * Sets the containers that are connected to this one. When two or more containers are\n * connected, the user will be allowed to transfer items between them.\n * @param connectedTo Other containers that the current containers should be connected to.\n */\n connectedTo(connectedTo) {\n this._siblings = connectedTo.slice();\n return this;\n }\n /**\n * Sets the orientation of the container.\n * @param orientation New orientation for the container.\n */\n withOrientation(orientation) {\n this._orientation = orientation;\n return this;\n }\n /**\n * Sets which parent elements are can be scrolled while the user is dragging.\n * @param elements Elements that can be scrolled.\n */\n withScrollableParents(elements) {\n const element = coerceElement(this.element);\n // We always allow the current element to be scrollable\n // so we need to ensure that it's in the array.\n this._scrollableElements =\n elements.indexOf(element) === -1 ? [element, ...elements] : elements.slice();\n return this;\n }\n /** Gets the scrollable parents that are registered with this drop container. */\n getScrollableParents() {\n return this._scrollableElements;\n }\n /**\n * Figures out the index of an item in the container.\n * @param item Item whose index should be determined.\n */\n getItemIndex(item) {\n if (!this._isDragging) {\n return this._draggables.indexOf(item);\n }\n // Items are sorted always by top/left in the cache, however they flow differently in RTL.\n // The rest of the logic still stands no matter what orientation we're in, however\n // we need to invert the array when determining the index.\n const items = this._orientation === 'horizontal' && this._direction === 'rtl'\n ? this._itemPositions.slice().reverse()\n : this._itemPositions;\n return items.findIndex(currentItem => currentItem.drag === item);\n }\n /**\n * Whether the list is able to receive the item that\n * is currently being dragged inside a connected drop list.\n */\n isReceiving() {\n return this._activeSiblings.size > 0;\n }\n /**\n * Sorts an item inside the container based on its position.\n * @param item Item to be sorted.\n * @param pointerX Position of the item along the X axis.\n * @param pointerY Position of the item along the Y axis.\n * @param pointerDelta Direction in which the pointer is moving along each axis.\n */\n _sortItem(item, pointerX, pointerY, pointerDelta) {\n // Don't sort the item if sorting is disabled or it's out of range.\n if (this.sortingDisabled ||\n !this._clientRect ||\n !isPointerNearClientRect(this._clientRect, DROP_PROXIMITY_THRESHOLD, pointerX, pointerY)) {\n return;\n }\n const siblings = this._itemPositions;\n const newIndex = this._getItemIndexFromPointerPosition(item, pointerX, pointerY, pointerDelta);\n if (newIndex === -1 && siblings.length > 0) {\n return;\n }\n const isHorizontal = this._orientation === 'horizontal';\n const currentIndex = siblings.findIndex(currentItem => currentItem.drag === item);\n const siblingAtNewPosition = siblings[newIndex];\n const currentPosition = siblings[currentIndex].clientRect;\n const newPosition = siblingAtNewPosition.clientRect;\n const delta = currentIndex > newIndex ? 1 : -1;\n // How many pixels the item's placeholder should be offset.\n const itemOffset = this._getItemOffsetPx(currentPosition, newPosition, delta);\n // How many pixels all the other items should be offset.\n const siblingOffset = this._getSiblingOffsetPx(currentIndex, siblings, delta);\n // Save the previous order of the items before moving the item to its new index.\n // We use this to check whether an item has been moved as a result of the sorting.\n const oldOrder = siblings.slice();\n // Shuffle the array in place.\n moveItemInArray(siblings, currentIndex, newIndex);\n this.sorted.next({\n previousIndex: currentIndex,\n currentIndex: newIndex,\n container: this,\n item,\n });\n siblings.forEach((sibling, index) => {\n // Don't do anything if the position hasn't changed.\n if (oldOrder[index] === sibling) {\n return;\n }\n const isDraggedItem = sibling.drag === item;\n const offset = isDraggedItem ? itemOffset : siblingOffset;\n const elementToOffset = isDraggedItem\n ? item.getPlaceholderElement()\n : sibling.drag.getRootElement();\n // Update the offset to reflect the new position.\n sibling.offset += offset;\n // Since we're moving the items with a `transform`, we need to adjust their cached\n // client rects to reflect their new position, as well as swap their positions in the cache.\n // Note that we shouldn't use `getBoundingClientRect` here to update the cache, because the\n // elements may be mid-animation which will give us a wrong result.\n if (isHorizontal) {\n // Round the transforms since some browsers will\n // blur the elements, for sub-pixel transforms.\n elementToOffset.style.transform = combineTransforms(`translate3d(${Math.round(sibling.offset)}px, 0, 0)`, sibling.initialTransform);\n adjustClientRect(sibling.clientRect, 0, offset);\n }\n else {\n elementToOffset.style.transform = combineTransforms(`translate3d(0, ${Math.round(sibling.offset)}px, 0)`, sibling.initialTransform);\n adjustClientRect(sibling.clientRect, offset, 0);\n }\n });\n // Note that it's important that we do this after the client rects have been adjusted.\n this._previousSwap.overlaps = isInsideClientRect(newPosition, pointerX, pointerY);\n this._previousSwap.drag = siblingAtNewPosition.drag;\n this._previousSwap.delta = isHorizontal ? pointerDelta.x : pointerDelta.y;\n }\n /**\n * Checks whether the user's pointer is close to the edges of either the\n * viewport or the drop list and starts the auto-scroll sequence.\n * @param pointerX User's pointer position along the x axis.\n * @param pointerY User's pointer position along the y axis.\n */\n _startScrollingIfNecessary(pointerX, pointerY) {\n if (this.autoScrollDisabled) {\n return;\n }\n let scrollNode;\n let verticalScrollDirection = 0 /* NONE */;\n let horizontalScrollDirection = 0 /* NONE */;\n // Check whether we should start scrolling any of the parent containers.\n this._parentPositions.positions.forEach((position, element) => {\n // We have special handling for the `document` below. Also this would be\n // nicer with a for...of loop, but it requires changing a compiler flag.\n if (element === this._document || !position.clientRect || scrollNode) {\n return;\n }\n if (isPointerNearClientRect(position.clientRect, DROP_PROXIMITY_THRESHOLD, pointerX, pointerY)) {\n [verticalScrollDirection, horizontalScrollDirection] = getElementScrollDirections(element, position.clientRect, pointerX, pointerY);\n if (verticalScrollDirection || horizontalScrollDirection) {\n scrollNode = element;\n }\n }\n });\n // Otherwise check if we can start scrolling the viewport.\n if (!verticalScrollDirection && !horizontalScrollDirection) {\n const { width, height } = this._viewportRuler.getViewportSize();\n const clientRect = {\n width,\n height,\n top: 0,\n right: width,\n bottom: height,\n left: 0,\n };\n verticalScrollDirection = getVerticalScrollDirection(clientRect, pointerY);\n horizontalScrollDirection = getHorizontalScrollDirection(clientRect, pointerX);\n scrollNode = window;\n }\n if (scrollNode &&\n (verticalScrollDirection !== this._verticalScrollDirection ||\n horizontalScrollDirection !== this._horizontalScrollDirection ||\n scrollNode !== this._scrollNode)) {\n this._verticalScrollDirection = verticalScrollDirection;\n this._horizontalScrollDirection = horizontalScrollDirection;\n this._scrollNode = scrollNode;\n if ((verticalScrollDirection || horizontalScrollDirection) && scrollNode) {\n this._ngZone.runOutsideAngular(this._startScrollInterval);\n }\n else {\n this._stopScrolling();\n }\n }\n }\n /** Stops any currently-running auto-scroll sequences. */\n _stopScrolling() {\n this._stopScrollTimers.next();\n }\n /** Starts the dragging sequence within the list. */\n _draggingStarted() {\n const styles = coerceElement(this.element).style;\n this.beforeStarted.next();\n this._isDragging = true;\n // We need to disable scroll snapping while the user is dragging, because it breaks automatic\n // scrolling. The browser seems to round the value based on the snapping points which means\n // that we can't increment/decrement the scroll position.\n this._initialScrollSnap = styles.msScrollSnapType || styles.scrollSnapType || '';\n styles.scrollSnapType = styles.msScrollSnapType = 'none';\n this._cacheItems();\n this._viewportScrollSubscription.unsubscribe();\n this._listenToScrollEvents();\n }\n /** Caches the positions of the configured scrollable parents. */\n _cacheParentPositions() {\n const element = coerceElement(this.element);\n this._parentPositions.cache(this._scrollableElements);\n // The list element is always in the `scrollableElements`\n // so we can take advantage of the cached `ClientRect`.\n this._clientRect = this._parentPositions.positions.get(element).clientRect;\n }\n /** Refreshes the position cache of the items and sibling containers. */\n _cacheItemPositions() {\n const isHorizontal = this._orientation === 'horizontal';\n this._itemPositions = this._activeDraggables\n .map(drag => {\n const elementToMeasure = drag.getVisibleElement();\n return {\n drag,\n offset: 0,\n initialTransform: elementToMeasure.style.transform || '',\n clientRect: getMutableClientRect(elementToMeasure),\n };\n })\n .sort((a, b) => {\n return isHorizontal\n ? a.clientRect.left - b.clientRect.left\n : a.clientRect.top - b.clientRect.top;\n });\n }\n /** Resets the container to its initial state. */\n _reset() {\n this._isDragging = false;\n const styles = coerceElement(this.element).style;\n styles.scrollSnapType = styles.msScrollSnapType = this._initialScrollSnap;\n // TODO(crisbeto): may have to wait for the animations to finish.\n this._activeDraggables.forEach(item => {\n const rootElement = item.getRootElement();\n if (rootElement) {\n const initialTransform = this._itemPositions.find(current => current.drag === item)?.initialTransform;\n rootElement.style.transform = initialTransform || '';\n }\n });\n this._siblings.forEach(sibling => sibling._stopReceiving(this));\n this._activeDraggables = [];\n this._itemPositions = [];\n this._previousSwap.drag = null;\n this._previousSwap.delta = 0;\n this._previousSwap.overlaps = false;\n this._stopScrolling();\n this._viewportScrollSubscription.unsubscribe();\n this._parentPositions.clear();\n }\n /**\n * Gets the offset in pixels by which the items that aren't being dragged should be moved.\n * @param currentIndex Index of the item currently being dragged.\n * @param siblings All of the items in the list.\n * @param delta Direction in which the user is moving.\n */\n _getSiblingOffsetPx(currentIndex, siblings, delta) {\n const isHorizontal = this._orientation === 'horizontal';\n const currentPosition = siblings[currentIndex].clientRect;\n const immediateSibling = siblings[currentIndex + delta * -1];\n let siblingOffset = currentPosition[isHorizontal ? 'width' : 'height'] * delta;\n if (immediateSibling) {\n const start = isHorizontal ? 'left' : 'top';\n const end = isHorizontal ? 'right' : 'bottom';\n // Get the spacing between the start of the current item and the end of the one immediately\n // after it in the direction in which the user is dragging, or vice versa. We add it to the\n // offset in order to push the element to where it will be when it's inline and is influenced\n // by the `margin` of its siblings.\n if (delta === -1) {\n siblingOffset -= immediateSibling.clientRect[start] - currentPosition[end];\n }\n else {\n siblingOffset += currentPosition[start] - immediateSibling.clientRect[end];\n }\n }\n return siblingOffset;\n }\n /**\n * Gets the offset in pixels by which the item that is being dragged should be moved.\n * @param currentPosition Current position of the item.\n * @param newPosition Position of the item where the current item should be moved.\n * @param delta Direction in which the user is moving.\n */\n _getItemOffsetPx(currentPosition, newPosition, delta) {\n const isHorizontal = this._orientation === 'horizontal';\n let itemOffset = isHorizontal\n ? newPosition.left - currentPosition.left\n : newPosition.top - currentPosition.top;\n // Account for differences in the item width/height.\n if (delta === -1) {\n itemOffset += isHorizontal\n ? newPosition.width - currentPosition.width\n : newPosition.height - currentPosition.height;\n }\n return itemOffset;\n }\n /**\n * Checks if pointer is entering in the first position\n * @param pointerX Position of the user's pointer along the X axis.\n * @param pointerY Position of the user's pointer along the Y axis.\n */\n _shouldEnterAsFirstChild(pointerX, pointerY) {\n if (!this._activeDraggables.length) {\n return false;\n }\n const itemPositions = this._itemPositions;\n const isHorizontal = this._orientation === 'horizontal';\n // `itemPositions` are sorted by position while `activeDraggables` are sorted by child index\n // check if container is using some sort of \"reverse\" ordering (eg: flex-direction: row-reverse)\n const reversed = itemPositions[0].drag !== this._activeDraggables[0];\n if (reversed) {\n const lastItemRect = itemPositions[itemPositions.length - 1].clientRect;\n return isHorizontal ? pointerX >= lastItemRect.right : pointerY >= lastItemRect.bottom;\n }\n else {\n const firstItemRect = itemPositions[0].clientRect;\n return isHorizontal ? pointerX <= firstItemRect.left : pointerY <= firstItemRect.top;\n }\n }\n /**\n * Gets the index of an item in the drop container, based on the position of the user's pointer.\n * @param item Item that is being sorted.\n * @param pointerX Position of the user's pointer along the X axis.\n * @param pointerY Position of the user's pointer along the Y axis.\n * @param delta Direction in which the user is moving their pointer.\n */\n _getItemIndexFromPointerPosition(item, pointerX, pointerY, delta) {\n const isHorizontal = this._orientation === 'horizontal';\n const index = this._itemPositions.findIndex(({ drag, clientRect }) => {\n // Skip the item itself.\n if (drag === item) {\n return false;\n }\n if (delta) {\n const direction = isHorizontal ? delta.x : delta.y;\n // If the user is still hovering over the same item as last time, their cursor hasn't left\n // the item after we made the swap, and they didn't change the direction in which they're\n // dragging, we don't consider it a direction swap.\n if (drag === this._previousSwap.drag &&\n this._previousSwap.overlaps &&\n direction === this._previousSwap.delta) {\n return false;\n }\n }\n return isHorizontal\n ? // Round these down since most browsers report client rects with\n // sub-pixel precision, whereas the pointer coordinates are rounded to pixels.\n pointerX >= Math.floor(clientRect.left) && pointerX < Math.floor(clientRect.right)\n : pointerY >= Math.floor(clientRect.top) && pointerY < Math.floor(clientRect.bottom);\n });\n return index === -1 || !this.sortPredicate(index, item, this) ? -1 : index;\n }\n /** Caches the current items in the list and their positions. */\n _cacheItems() {\n this._activeDraggables = this._draggables.slice();\n this._cacheItemPositions();\n this._cacheParentPositions();\n }\n /**\n * Checks whether the user's pointer is positioned over the container.\n * @param x Pointer position along the X axis.\n * @param y Pointer position along the Y axis.\n */\n _isOverContainer(x, y) {\n return this._clientRect != null && isInsideClientRect(this._clientRect, x, y);\n }\n /**\n * Figures out whether an item should be moved into a sibling\n * drop container, based on its current position.\n * @param item Drag item that is being moved.\n * @param x Position of the item along the X axis.\n * @param y Position of the item along the Y axis.\n */\n _getSiblingContainerFromPosition(item, x, y) {\n return this._siblings.find(sibling => sibling._canReceive(item, x, y));\n }\n /**\n * Checks whether the drop list can receive the passed-in item.\n * @param item Item that is being dragged into the list.\n * @param x Position of the item along the X axis.\n * @param y Position of the item along the Y axis.\n */\n _canReceive(item, x, y) {\n if (!this._clientRect ||\n !isInsideClientRect(this._clientRect, x, y) ||\n !this.enterPredicate(item, this)) {\n return false;\n }\n const elementFromPoint = this._getShadowRoot().elementFromPoint(x, y);\n // If there's no element at the pointer position, then\n // the client rect is probably scrolled out of the view.\n if (!elementFromPoint) {\n return false;\n }\n const nativeElement = coerceElement(this.element);\n // The `ClientRect`, that we're using to find the container over which the user is\n // hovering, doesn't give us any information on whether the element has been scrolled\n // out of the view or whether it's overlapping with other containers. This means that\n // we could end up transferring the item into a container that's invisible or is positioned\n // below another one. We use the result from `elementFromPoint` to get the top-most element\n // at the pointer position and to find whether it's one of the intersecting drop containers.\n return elementFromPoint === nativeElement || nativeElement.contains(elementFromPoint);\n }\n /**\n * Called by one of the connected drop lists when a dragging sequence has started.\n * @param sibling Sibling in which dragging has started.\n */\n _startReceiving(sibling, items) {\n const activeSiblings = this._activeSiblings;\n if (!activeSiblings.has(sibling) &&\n items.every(item => {\n // Note that we have to add an exception to the `enterPredicate` for items that started off\n // in this drop list. The drag ref has logic that allows an item to return to its initial\n // container, if it has left the initial container and none of the connected containers\n // allow it to enter. See `DragRef._updateActiveDropContainer` for more context.\n return this.enterPredicate(item, this) || this._draggables.indexOf(item) > -1;\n })) {\n activeSiblings.add(sibling);\n this._cacheParentPositions();\n this._listenToScrollEvents();\n }\n }\n /**\n * Called by a connected drop list when dragging has stopped.\n * @param sibling Sibling whose dragging has stopped.\n */\n _stopReceiving(sibling) {\n this._activeSiblings.delete(sibling);\n this._viewportScrollSubscription.unsubscribe();\n }\n /**\n * Starts listening to scroll events on the viewport.\n * Used for updating the internal state of the list.\n */\n _listenToScrollEvents() {\n this._viewportScrollSubscription = this._dragDropRegistry\n .scrolled(this._getShadowRoot())\n .subscribe(event => {\n if (this.isDragging()) {\n const scrollDifference = this._parentPositions.handleScroll(event);\n if (scrollDifference) {\n // Since we know the amount that the user has scrolled we can shift all of the\n // client rectangles ourselves. This is cheaper than re-measuring everything and\n // we can avoid inconsistent behavior where we might be measuring the element before\n // its position has changed.\n this._itemPositions.forEach(({ clientRect }) => {\n adjustClientRect(clientRect, scrollDifference.top, scrollDifference.left);\n });\n // We need two loops for this, because we want all of the cached\n // positions to be up-to-date before we re-sort the item.\n this._itemPositions.forEach(({ drag }) => {\n if (this._dragDropRegistry.isDragging(drag)) {\n // We need to re-sort the item manually, because the pointer move\n // events won't be dispatched while the user is scrolling.\n drag._sortFromLastPointerPosition();\n }\n });\n }\n }\n else if (this.isReceiving()) {\n this._cacheParentPositions();\n }\n });\n }\n /**\n * Lazily resolves and returns the shadow root of the element. We do this in a function, rather\n * than saving it in property directly on init, because we want to resolve it as late as possible\n * in order to ensure that the element has been moved into the shadow DOM. Doing it inside the\n * constructor might be too early if the element is inside of something like `ngFor` or `ngIf`.\n */\n _getShadowRoot() {\n if (!this._cachedShadowRoot) {\n const shadowRoot = _getShadowRoot(coerceElement(this.element));\n this._cachedShadowRoot = (shadowRoot || this._document);\n }\n return this._cachedShadowRoot;\n }\n /** Notifies any siblings that may potentially receive the item. */\n _notifyReceivingSiblings() {\n const draggedItems = this._activeDraggables.filter(item => item.isDragging());\n this._siblings.forEach(sibling => sibling._startReceiving(this, draggedItems));\n }\n}\n/**\n * Gets whether the vertical auto-scroll direction of a node.\n * @param clientRect Dimensions of the node.\n * @param pointerY Position of the user's pointer along the y axis.\n */\nfunction getVerticalScrollDirection(clientRect, pointerY) {\n const { top, bottom, height } = clientRect;\n const yThreshold = height * SCROLL_PROXIMITY_THRESHOLD;\n if (pointerY >= top - yThreshold && pointerY <= top + yThreshold) {\n return 1 /* UP */;\n }\n else if (pointerY >= bottom - yThreshold && pointerY <= bottom + yThreshold) {\n return 2 /* DOWN */;\n }\n return 0 /* NONE */;\n}\n/**\n * Gets whether the horizontal auto-scroll direction of a node.\n * @param clientRect Dimensions of the node.\n * @param pointerX Position of the user's pointer along the x axis.\n */\nfunction getHorizontalScrollDirection(clientRect, pointerX) {\n const { left, right, width } = clientRect;\n const xThreshold = width * SCROLL_PROXIMITY_THRESHOLD;\n if (pointerX >= left - xThreshold && pointerX <= left + xThreshold) {\n return 1 /* LEFT */;\n }\n else if (pointerX >= right - xThreshold && pointerX <= right + xThreshold) {\n return 2 /* RIGHT */;\n }\n return 0 /* NONE */;\n}\n/**\n * Gets the directions in which an element node should be scrolled,\n * assuming that the user's pointer is already within it scrollable region.\n * @param element Element for which we should calculate the scroll direction.\n * @param clientRect Bounding client rectangle of the element.\n * @param pointerX Position of the user's pointer along the x axis.\n * @param pointerY Position of the user's pointer along the y axis.\n */\nfunction getElementScrollDirections(element, clientRect, pointerX, pointerY) {\n const computedVertical = getVerticalScrollDirection(clientRect, pointerY);\n const computedHorizontal = getHorizontalScrollDirection(clientRect, pointerX);\n let verticalScrollDirection = 0 /* NONE */;\n let horizontalScrollDirection = 0 /* NONE */;\n // Note that we here we do some extra checks for whether the element is actually scrollable in\n // a certain direction and we only assign the scroll direction if it is. We do this so that we\n // can allow other elements to be scrolled, if the current element can't be scrolled anymore.\n // This allows us to handle cases where the scroll regions of two scrollable elements overlap.\n if (computedVertical) {\n const scrollTop = element.scrollTop;\n if (computedVertical === 1 /* UP */) {\n if (scrollTop > 0) {\n verticalScrollDirection = 1 /* UP */;\n }\n }\n else if (element.scrollHeight - scrollTop > element.clientHeight) {\n verticalScrollDirection = 2 /* DOWN */;\n }\n }\n if (computedHorizontal) {\n const scrollLeft = element.scrollLeft;\n if (computedHorizontal === 1 /* LEFT */) {\n if (scrollLeft > 0) {\n horizontalScrollDirection = 1 /* LEFT */;\n }\n }\n else if (element.scrollWidth - scrollLeft > element.clientWidth) {\n horizontalScrollDirection = 2 /* RIGHT */;\n }\n }\n return [verticalScrollDirection, horizontalScrollDirection];\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/** Event options that can be used to bind an active, capturing event. */\nconst activeCapturingEventOptions = normalizePassiveListenerOptions({\n passive: false,\n capture: true,\n});\n/**\n * Service that keeps track of all the drag item and drop container\n * instances, and manages global event listeners on the `document`.\n * @docs-private\n */\n// Note: this class is generic, rather than referencing CdkDrag and CdkDropList directly, in order\n// to avoid circular imports. If we were to reference them here, importing the registry into the\n// classes that are registering themselves will introduce a circular import.\nclass DragDropRegistry {\n constructor(_ngZone, _document) {\n this._ngZone = _ngZone;\n /** Registered drop container instances. */\n this._dropInstances = new Set();\n /** Registered drag item instances. */\n this._dragInstances = new Set();\n /** Drag item instances that are currently being dragged. */\n this._activeDragInstances = [];\n /** Keeps track of the event listeners that we've bound to the `document`. */\n this._globalListeners = new Map();\n /**\n * Predicate function to check if an item is being dragged. Moved out into a property,\n * because it'll be called a lot and we don't want to create a new function every time.\n */\n this._draggingPredicate = (item) => item.isDragging();\n /**\n * Emits the `touchmove` or `mousemove` events that are dispatched\n * while the user is dragging a drag item instance.\n */\n this.pointerMove = new Subject();\n /**\n * Emits the `touchend` or `mouseup` events that are dispatched\n * while the user is dragging a drag item instance.\n */\n this.pointerUp = new Subject();\n /**\n * Emits when the viewport has been scrolled while the user is dragging an item.\n * @deprecated To be turned into a private member. Use the `scrolled` method instead.\n * @breaking-change 13.0.0\n */\n this.scroll = new Subject();\n /**\n * Event listener that will prevent the default browser action while the user is dragging.\n * @param event Event whose default action should be prevented.\n */\n this._preventDefaultWhileDragging = (event) => {\n if (this._activeDragInstances.length > 0) {\n event.preventDefault();\n }\n };\n /** Event listener for `touchmove` that is bound even if no dragging is happening. */\n this._persistentTouchmoveListener = (event) => {\n if (this._activeDragInstances.length > 0) {\n // Note that we only want to prevent the default action after dragging has actually started.\n // Usually this is the same time at which the item is added to the `_activeDragInstances`,\n // but it could be pushed back if the user has set up a drag delay or threshold.\n if (this._activeDragInstances.some(this._draggingPredicate)) {\n event.preventDefault();\n }\n this.pointerMove.next(event);\n }\n };\n this._document = _document;\n }\n /** Adds a drop container to the registry. */\n registerDropContainer(drop) {\n if (!this._dropInstances.has(drop)) {\n this._dropInstances.add(drop);\n }\n }\n /** Adds a drag item instance to the registry. */\n registerDragItem(drag) {\n this._dragInstances.add(drag);\n // The `touchmove` event gets bound once, ahead of time, because WebKit\n // won't preventDefault on a dynamically-added `touchmove` listener.\n // See https://bugs.webkit.org/show_bug.cgi?id=184250.\n if (this._dragInstances.size === 1) {\n this._ngZone.runOutsideAngular(() => {\n // The event handler has to be explicitly active,\n // because newer browsers make it passive by default.\n this._document.addEventListener('touchmove', this._persistentTouchmoveListener, activeCapturingEventOptions);\n });\n }\n }\n /** Removes a drop container from the registry. */\n removeDropContainer(drop) {\n this._dropInstances.delete(drop);\n }\n /** Removes a drag item instance from the registry. */\n removeDragItem(drag) {\n this._dragInstances.delete(drag);\n this.stopDragging(drag);\n if (this._dragInstances.size === 0) {\n this._document.removeEventListener('touchmove', this._persistentTouchmoveListener, activeCapturingEventOptions);\n }\n }\n /**\n * Starts the dragging sequence for a drag instance.\n * @param drag Drag instance which is being dragged.\n * @param event Event that initiated the dragging.\n */\n startDragging(drag, event) {\n // Do not process the same drag twice to avoid memory leaks and redundant listeners\n if (this._activeDragInstances.indexOf(drag) > -1) {\n return;\n }\n this._activeDragInstances.push(drag);\n if (this._activeDragInstances.length === 1) {\n const isTouchEvent = event.type.startsWith('touch');\n // We explicitly bind __active__ listeners here, because newer browsers will default to\n // passive ones for `mousemove` and `touchmove`. The events need to be active, because we\n // use `preventDefault` to prevent the page from scrolling while the user is dragging.\n this._globalListeners\n .set(isTouchEvent ? 'touchend' : 'mouseup', {\n handler: (e) => this.pointerUp.next(e),\n options: true,\n })\n .set('scroll', {\n handler: (e) => this.scroll.next(e),\n // Use capturing so that we pick up scroll changes in any scrollable nodes that aren't\n // the document. See https://github.com/angular/components/issues/17144.\n options: true,\n })\n // Preventing the default action on `mousemove` isn't enough to disable text selection\n // on Safari so we need to prevent the selection event as well. Alternatively this can\n // be done by setting `user-select: none` on the `body`, however it has causes a style\n // recalculation which can be expensive on pages with a lot of elements.\n .set('selectstart', {\n handler: this._preventDefaultWhileDragging,\n options: activeCapturingEventOptions,\n });\n // We don't have to bind a move event for touch drag sequences, because\n // we already have a persistent global one bound from `registerDragItem`.\n if (!isTouchEvent) {\n this._globalListeners.set('mousemove', {\n handler: (e) => this.pointerMove.next(e),\n options: activeCapturingEventOptions,\n });\n }\n this._ngZone.runOutsideAngular(() => {\n this._globalListeners.forEach((config, name) => {\n this._document.addEventListener(name, config.handler, config.options);\n });\n });\n }\n }\n /** Stops dragging a drag item instance. */\n stopDragging(drag) {\n const index = this._activeDragInstances.indexOf(drag);\n if (index > -1) {\n this._activeDragInstances.splice(index, 1);\n if (this._activeDragInstances.length === 0) {\n this._clearGlobalListeners();\n }\n }\n }\n /** Gets whether a drag item instance is currently being dragged. */\n isDragging(drag) {\n return this._activeDragInstances.indexOf(drag) > -1;\n }\n /**\n * Gets a stream that will emit when any element on the page is scrolled while an item is being\n * dragged.\n * @param shadowRoot Optional shadow root that the current dragging sequence started from.\n * Top-level listeners won't pick up events coming from the shadow DOM so this parameter can\n * be used to include an additional top-level listener at the shadow root level.\n */\n scrolled(shadowRoot) {\n const streams = [this.scroll];\n if (shadowRoot && shadowRoot !== this._document) {\n // Note that this is basically the same as `fromEvent` from rjxs, but we do it ourselves,\n // because we want to guarantee that the event is bound outside of the `NgZone`. With\n // `fromEvent` it'll only happen if the subscription is outside the `NgZone`.\n streams.push(new Observable((observer) => {\n return this._ngZone.runOutsideAngular(() => {\n const eventOptions = true;\n const callback = (event) => {\n if (this._activeDragInstances.length) {\n observer.next(event);\n }\n };\n shadowRoot.addEventListener('scroll', callback, eventOptions);\n return () => {\n shadowRoot.removeEventListener('scroll', callback, eventOptions);\n };\n });\n }));\n }\n return merge(...streams);\n }\n ngOnDestroy() {\n this._dragInstances.forEach(instance => this.removeDragItem(instance));\n this._dropInstances.forEach(instance => this.removeDropContainer(instance));\n this._clearGlobalListeners();\n this.pointerMove.complete();\n this.pointerUp.complete();\n }\n /** Clears out the global event listeners from the `document`. */\n _clearGlobalListeners() {\n this._globalListeners.forEach((config, name) => {\n this._document.removeEventListener(name, config.handler, config.options);\n });\n this._globalListeners.clear();\n }\n}\nDragDropRegistry.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"13.3.0\", ngImport: i0, type: DragDropRegistry, deps: [{ token: i0.NgZone }, { token: DOCUMENT }], target: i0.ɵɵFactoryTarget.Injectable });\nDragDropRegistry.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"13.3.0\", ngImport: i0, type: DragDropRegistry, providedIn: 'root' });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"13.3.0\", ngImport: i0, type: DragDropRegistry, decorators: [{\n type: Injectable,\n args: [{ providedIn: 'root' }]\n }], ctorParameters: function () { return [{ type: i0.NgZone }, { type: undefined, decorators: [{\n type: Inject,\n args: [DOCUMENT]\n }] }]; } });\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/** Default configuration to be used when creating a `DragRef`. */\nconst DEFAULT_CONFIG = {\n dragStartThreshold: 5,\n pointerDirectionChangeThreshold: 5,\n};\n/**\n * Service that allows for drag-and-drop functionality to be attached to DOM elements.\n */\nclass DragDrop {\n constructor(_document, _ngZone, _viewportRuler, _dragDropRegistry) {\n this._document = _document;\n this._ngZone = _ngZone;\n this._viewportRuler = _viewportRuler;\n this._dragDropRegistry = _dragDropRegistry;\n }\n /**\n * Turns an element into a draggable item.\n * @param element Element to which to attach the dragging functionality.\n * @param config Object used to configure the dragging behavior.\n */\n createDrag(element, config = DEFAULT_CONFIG) {\n return new DragRef(element, config, this._document, this._ngZone, this._viewportRuler, this._dragDropRegistry);\n }\n /**\n * Turns an element into a drop list.\n * @param element Element to which to attach the drop list functionality.\n */\n createDropList(element) {\n return new DropListRef(element, this._dragDropRegistry, this._document, this._ngZone, this._viewportRuler);\n }\n}\nDragDrop.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"13.3.0\", ngImport: i0, type: DragDrop, deps: [{ token: DOCUMENT }, { token: i0.NgZone }, { token: i1.ViewportRuler }, { token: DragDropRegistry }], target: i0.ɵɵFactoryTarget.Injectable });\nDragDrop.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"13.3.0\", ngImport: i0, type: DragDrop, providedIn: 'root' });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"13.3.0\", ngImport: i0, type: DragDrop, decorators: [{\n type: Injectable,\n args: [{ providedIn: 'root' }]\n }], ctorParameters: function () { return [{ type: undefined, decorators: [{\n type: Inject,\n args: [DOCUMENT]\n }] }, { type: i0.NgZone }, { type: i1.ViewportRuler }, { type: DragDropRegistry }]; } });\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * Injection token that can be used for a `CdkDrag` to provide itself as a parent to the\n * drag-specific child directive (`CdkDragHandle`, `CdkDragPreview` etc.). Used primarily\n * to avoid circular imports.\n * @docs-private\n */\nconst CDK_DRAG_PARENT = new InjectionToken('CDK_DRAG_PARENT');\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * Injection token that can be used to reference instances of `CdkDropListGroup`. It serves as\n * alternative token to the actual `CdkDropListGroup` class which could cause unnecessary\n * retention of the class and its directive metadata.\n */\nconst CDK_DROP_LIST_GROUP = new InjectionToken('CdkDropListGroup');\n/**\n * Declaratively connects sibling `cdkDropList` instances together. All of the `cdkDropList`\n * elements that are placed inside a `cdkDropListGroup` will be connected to each other\n * automatically. Can be used as an alternative to the `cdkDropListConnectedTo` input\n * from `cdkDropList`.\n */\nclass CdkDropListGroup {\n constructor() {\n /** Drop lists registered inside the group. */\n this._items = new Set();\n this._disabled = false;\n }\n /** Whether starting a dragging sequence from inside this group is disabled. */\n get disabled() {\n return this._disabled;\n }\n set disabled(value) {\n this._disabled = coerceBooleanProperty(value);\n }\n ngOnDestroy() {\n this._items.clear();\n }\n}\nCdkDropListGroup.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"13.3.0\", ngImport: i0, type: CdkDropListGroup, deps: [], target: i0.ɵɵFactoryTarget.Directive });\nCdkDropListGroup.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"12.0.0\", version: \"13.3.0\", type: CdkDropListGroup, selector: \"[cdkDropListGroup]\", inputs: { disabled: [\"cdkDropListGroupDisabled\", \"disabled\"] }, providers: [{ provide: CDK_DROP_LIST_GROUP, useExisting: CdkDropListGroup }], exportAs: [\"cdkDropListGroup\"], ngImport: i0 });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"13.3.0\", ngImport: i0, type: CdkDropListGroup, decorators: [{\n type: Directive,\n args: [{\n selector: '[cdkDropListGroup]',\n exportAs: 'cdkDropListGroup',\n providers: [{ provide: CDK_DROP_LIST_GROUP, useExisting: CdkDropListGroup }],\n }]\n }], propDecorators: { disabled: [{\n type: Input,\n args: ['cdkDropListGroupDisabled']\n }] } });\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * Injection token that can be used to configure the\n * behavior of the drag&drop-related components.\n */\nconst CDK_DRAG_CONFIG = new InjectionToken('CDK_DRAG_CONFIG');\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * Asserts that a particular node is an element.\n * @param node Node to be checked.\n * @param name Name to attach to the error message.\n */\nfunction assertElementNode(node, name) {\n if (node.nodeType !== 1) {\n throw Error(`${name} must be attached to an element node. ` + `Currently attached to \"${node.nodeName}\".`);\n }\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/** Counter used to generate unique ids for drop zones. */\nlet _uniqueIdCounter = 0;\n/**\n * Injection token that can be used to reference instances of `CdkDropList`. It serves as\n * alternative token to the actual `CdkDropList` class which could cause unnecessary\n * retention of the class and its directive metadata.\n */\nconst CDK_DROP_LIST = new InjectionToken('CdkDropList');\n/** Container that wraps a set of draggable items. */\nclass CdkDropList {\n constructor(\n /** Element that the drop list is attached to. */\n element, dragDrop, _changeDetectorRef, _scrollDispatcher, _dir, _group, config) {\n this.element = element;\n this._changeDetectorRef = _changeDetectorRef;\n this._scrollDispatcher = _scrollDispatcher;\n this._dir = _dir;\n this._group = _group;\n /** Emits when the list has been destroyed. */\n this._destroyed = new Subject();\n /**\n * Other draggable containers that this container is connected to and into which the\n * container's items can be transferred. Can either be references to other drop containers,\n * or their unique IDs.\n */\n this.connectedTo = [];\n /**\n * Unique ID for the drop zone. Can be used as a reference\n * in the `connectedTo` of another `CdkDropList`.\n */\n this.id = `cdk-drop-list-${_uniqueIdCounter++}`;\n /**\n * Function that is used to determine whether an item\n * is allowed to be moved into a drop container.\n */\n this.enterPredicate = () => true;\n /** Functions that is used to determine whether an item can be sorted into a particular index. */\n this.sortPredicate = () => true;\n /** Emits when the user drops an item inside the container. */\n this.dropped = new EventEmitter();\n /**\n * Emits when the user has moved a new drag item into this container.\n */\n this.entered = new EventEmitter();\n /**\n * Emits when the user removes an item from the container\n * by dragging it into another container.\n */\n this.exited = new EventEmitter();\n /** Emits as the user is swapping items while actively dragging. */\n this.sorted = new EventEmitter();\n /**\n * Keeps track of the items that are registered with this container. Historically we used to\n * do this with a `ContentChildren` query, however queries don't handle transplanted views very\n * well which means that we can't handle cases like dragging the headers of a `mat-table`\n * correctly. What we do instead is to have the items register themselves with the container\n * and then we sort them based on their position in the DOM.\n */\n this._unsortedItems = new Set();\n if (typeof ngDevMode === 'undefined' || ngDevMode) {\n assertElementNode(element.nativeElement, 'cdkDropList');\n }\n this._dropListRef = dragDrop.createDropList(element);\n this._dropListRef.data = this;\n if (config) {\n this._assignDefaults(config);\n }\n this._dropListRef.enterPredicate = (drag, drop) => {\n return this.enterPredicate(drag.data, drop.data);\n };\n this._dropListRef.sortPredicate = (index, drag, drop) => {\n return this.sortPredicate(index, drag.data, drop.data);\n };\n this._setupInputSyncSubscription(this._dropListRef);\n this._handleEvents(this._dropListRef);\n CdkDropList._dropLists.push(this);\n if (_group) {\n _group._items.add(this);\n }\n }\n /** Whether starting a dragging sequence from this container is disabled. */\n get disabled() {\n return this._disabled || (!!this._group && this._group.disabled);\n }\n set disabled(value) {\n // Usually we sync the directive and ref state right before dragging starts, in order to have\n // a single point of failure and to avoid having to use setters for everything. `disabled` is\n // a special case, because it can prevent the `beforeStarted` event from firing, which can lock\n // the user in a disabled state, so we also need to sync it as it's being set.\n this._dropListRef.disabled = this._disabled = coerceBooleanProperty(value);\n }\n /** Registers an items with the drop list. */\n addItem(item) {\n this._unsortedItems.add(item);\n if (this._dropListRef.isDragging()) {\n this._syncItemsWithRef();\n }\n }\n /** Removes an item from the drop list. */\n removeItem(item) {\n this._unsortedItems.delete(item);\n if (this._dropListRef.isDragging()) {\n this._syncItemsWithRef();\n }\n }\n /** Gets the registered items in the list, sorted by their position in the DOM. */\n getSortedItems() {\n return Array.from(this._unsortedItems).sort((a, b) => {\n const documentPosition = a._dragRef\n .getVisibleElement()\n .compareDocumentPosition(b._dragRef.getVisibleElement());\n // `compareDocumentPosition` returns a bitmask so we have to use a bitwise operator.\n // https://developer.mozilla.org/en-US/docs/Web/API/Node/compareDocumentPosition\n // tslint:disable-next-line:no-bitwise\n return documentPosition & Node.DOCUMENT_POSITION_FOLLOWING ? -1 : 1;\n });\n }\n ngOnDestroy() {\n const index = CdkDropList._dropLists.indexOf(this);\n if (index > -1) {\n CdkDropList._dropLists.splice(index, 1);\n }\n if (this._group) {\n this._group._items.delete(this);\n }\n this._unsortedItems.clear();\n this._dropListRef.dispose();\n this._destroyed.next();\n this._destroyed.complete();\n }\n /** Syncs the inputs of the CdkDropList with the options of the underlying DropListRef. */\n _setupInputSyncSubscription(ref) {\n if (this._dir) {\n this._dir.change\n .pipe(startWith(this._dir.value), takeUntil(this._destroyed))\n .subscribe(value => ref.withDirection(value));\n }\n ref.beforeStarted.subscribe(() => {\n const siblings = coerceArray(this.connectedTo).map(drop => {\n if (typeof drop === 'string') {\n const correspondingDropList = CdkDropList._dropLists.find(list => list.id === drop);\n if (!correspondingDropList && (typeof ngDevMode === 'undefined' || ngDevMode)) {\n console.warn(`CdkDropList could not find connected drop list with id \"${drop}\"`);\n }\n return correspondingDropList;\n }\n return drop;\n });\n if (this._group) {\n this._group._items.forEach(drop => {\n if (siblings.indexOf(drop) === -1) {\n siblings.push(drop);\n }\n });\n }\n // Note that we resolve the scrollable parents here so that we delay the resolution\n // as long as possible, ensuring that the element is in its final place in the DOM.\n if (!this._scrollableParentsResolved) {\n const scrollableParents = this._scrollDispatcher\n .getAncestorScrollContainers(this.element)\n .map(scrollable => scrollable.getElementRef().nativeElement);\n this._dropListRef.withScrollableParents(scrollableParents);\n // Only do this once since it involves traversing the DOM and the parents\n // shouldn't be able to change without the drop list being destroyed.\n this._scrollableParentsResolved = true;\n }\n ref.disabled = this.disabled;\n ref.lockAxis = this.lockAxis;\n ref.sortingDisabled = coerceBooleanProperty(this.sortingDisabled);\n ref.autoScrollDisabled = coerceBooleanProperty(this.autoScrollDisabled);\n ref.autoScrollStep = coerceNumberProperty(this.autoScrollStep, 2);\n ref\n .connectedTo(siblings.filter(drop => drop && drop !== this).map(list => list._dropListRef))\n .withOrientation(this.orientation);\n });\n }\n /** Handles events from the underlying DropListRef. */\n _handleEvents(ref) {\n ref.beforeStarted.subscribe(() => {\n this._syncItemsWithRef();\n this._changeDetectorRef.markForCheck();\n });\n ref.entered.subscribe(event => {\n this.entered.emit({\n container: this,\n item: event.item.data,\n currentIndex: event.currentIndex,\n });\n });\n ref.exited.subscribe(event => {\n this.exited.emit({\n container: this,\n item: event.item.data,\n });\n this._changeDetectorRef.markForCheck();\n });\n ref.sorted.subscribe(event => {\n this.sorted.emit({\n previousIndex: event.previousIndex,\n currentIndex: event.currentIndex,\n container: this,\n item: event.item.data,\n });\n });\n ref.dropped.subscribe(event => {\n this.dropped.emit({\n previousIndex: event.previousIndex,\n currentIndex: event.currentIndex,\n previousContainer: event.previousContainer.data,\n container: event.container.data,\n item: event.item.data,\n isPointerOverContainer: event.isPointerOverContainer,\n distance: event.distance,\n dropPoint: event.dropPoint,\n });\n // Mark for check since all of these events run outside of change\n // detection and we're not guaranteed for something else to have triggered it.\n this._changeDetectorRef.markForCheck();\n });\n }\n /** Assigns the default input values based on a provided config object. */\n _assignDefaults(config) {\n const { lockAxis, draggingDisabled, sortingDisabled, listAutoScrollDisabled, listOrientation } = config;\n this.disabled = draggingDisabled == null ? false : draggingDisabled;\n this.sortingDisabled = sortingDisabled == null ? false : sortingDisabled;\n this.autoScrollDisabled = listAutoScrollDisabled == null ? false : listAutoScrollDisabled;\n this.orientation = listOrientation || 'vertical';\n if (lockAxis) {\n this.lockAxis = lockAxis;\n }\n }\n /** Syncs up the registered drag items with underlying drop list ref. */\n _syncItemsWithRef() {\n this._dropListRef.withItems(this.getSortedItems().map(item => item._dragRef));\n }\n}\n/** Keeps track of the drop lists that are currently on the page. */\nCdkDropList._dropLists = [];\nCdkDropList.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"13.3.0\", ngImport: i0, type: CdkDropList, deps: [{ token: i0.ElementRef }, { token: DragDrop }, { token: i0.ChangeDetectorRef }, { token: i1.ScrollDispatcher }, { token: i3.Directionality, optional: true }, { token: CDK_DROP_LIST_GROUP, optional: true, skipSelf: true }, { token: CDK_DRAG_CONFIG, optional: true }], target: i0.ɵɵFactoryTarget.Directive });\nCdkDropList.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"12.0.0\", version: \"13.3.0\", type: CdkDropList, selector: \"[cdkDropList], cdk-drop-list\", inputs: { connectedTo: [\"cdkDropListConnectedTo\", \"connectedTo\"], data: [\"cdkDropListData\", \"data\"], orientation: [\"cdkDropListOrientation\", \"orientation\"], id: \"id\", lockAxis: [\"cdkDropListLockAxis\", \"lockAxis\"], disabled: [\"cdkDropListDisabled\", \"disabled\"], sortingDisabled: [\"cdkDropListSortingDisabled\", \"sortingDisabled\"], enterPredicate: [\"cdkDropListEnterPredicate\", \"enterPredicate\"], sortPredicate: [\"cdkDropListSortPredicate\", \"sortPredicate\"], autoScrollDisabled: [\"cdkDropListAutoScrollDisabled\", \"autoScrollDisabled\"], autoScrollStep: [\"cdkDropListAutoScrollStep\", \"autoScrollStep\"] }, outputs: { dropped: \"cdkDropListDropped\", entered: \"cdkDropListEntered\", exited: \"cdkDropListExited\", sorted: \"cdkDropListSorted\" }, host: { properties: { \"attr.id\": \"id\", \"class.cdk-drop-list-disabled\": \"disabled\", \"class.cdk-drop-list-dragging\": \"_dropListRef.isDragging()\", \"class.cdk-drop-list-receiving\": \"_dropListRef.isReceiving()\" }, classAttribute: \"cdk-drop-list\" }, providers: [\n // Prevent child drop lists from picking up the same group as their parent.\n { provide: CDK_DROP_LIST_GROUP, useValue: undefined },\n { provide: CDK_DROP_LIST, useExisting: CdkDropList },\n ], exportAs: [\"cdkDropList\"], ngImport: i0 });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"13.3.0\", ngImport: i0, type: CdkDropList, decorators: [{\n type: Directive,\n args: [{\n selector: '[cdkDropList], cdk-drop-list',\n exportAs: 'cdkDropList',\n providers: [\n // Prevent child drop lists from picking up the same group as their parent.\n { provide: CDK_DROP_LIST_GROUP, useValue: undefined },\n { provide: CDK_DROP_LIST, useExisting: CdkDropList },\n ],\n host: {\n 'class': 'cdk-drop-list',\n '[attr.id]': 'id',\n '[class.cdk-drop-list-disabled]': 'disabled',\n '[class.cdk-drop-list-dragging]': '_dropListRef.isDragging()',\n '[class.cdk-drop-list-receiving]': '_dropListRef.isReceiving()',\n },\n }]\n }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: DragDrop }, { type: i0.ChangeDetectorRef }, { type: i1.ScrollDispatcher }, { type: i3.Directionality, decorators: [{\n type: Optional\n }] }, { type: CdkDropListGroup, decorators: [{\n type: Optional\n }, {\n type: Inject,\n args: [CDK_DROP_LIST_GROUP]\n }, {\n type: SkipSelf\n }] }, { type: undefined, decorators: [{\n type: Optional\n }, {\n type: Inject,\n args: [CDK_DRAG_CONFIG]\n }] }]; }, propDecorators: { connectedTo: [{\n type: Input,\n args: ['cdkDropListConnectedTo']\n }], data: [{\n type: Input,\n args: ['cdkDropListData']\n }], orientation: [{\n type: Input,\n args: ['cdkDropListOrientation']\n }], id: [{\n type: Input\n }], lockAxis: [{\n type: Input,\n args: ['cdkDropListLockAxis']\n }], disabled: [{\n type: Input,\n args: ['cdkDropListDisabled']\n }], sortingDisabled: [{\n type: Input,\n args: ['cdkDropListSortingDisabled']\n }], enterPredicate: [{\n type: Input,\n args: ['cdkDropListEnterPredicate']\n }], sortPredicate: [{\n type: Input,\n args: ['cdkDropListSortPredicate']\n }], autoScrollDisabled: [{\n type: Input,\n args: ['cdkDropListAutoScrollDisabled']\n }], autoScrollStep: [{\n type: Input,\n args: ['cdkDropListAutoScrollStep']\n }], dropped: [{\n type: Output,\n args: ['cdkDropListDropped']\n }], entered: [{\n type: Output,\n args: ['cdkDropListEntered']\n }], exited: [{\n type: Output,\n args: ['cdkDropListExited']\n }], sorted: [{\n type: Output,\n args: ['cdkDropListSorted']\n }] } });\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * Injection token that can be used to reference instances of `CdkDragHandle`. It serves as\n * alternative token to the actual `CdkDragHandle` class which could cause unnecessary\n * retention of the class and its directive metadata.\n */\nconst CDK_DRAG_HANDLE = new InjectionToken('CdkDragHandle');\n/** Handle that can be used to drag a CdkDrag instance. */\nclass CdkDragHandle {\n constructor(element, parentDrag) {\n this.element = element;\n /** Emits when the state of the handle has changed. */\n this._stateChanges = new Subject();\n this._disabled = false;\n if (typeof ngDevMode === 'undefined' || ngDevMode) {\n assertElementNode(element.nativeElement, 'cdkDragHandle');\n }\n this._parentDrag = parentDrag;\n }\n /** Whether starting to drag through this handle is disabled. */\n get disabled() {\n return this._disabled;\n }\n set disabled(value) {\n this._disabled = coerceBooleanProperty(value);\n this._stateChanges.next(this);\n }\n ngOnDestroy() {\n this._stateChanges.complete();\n }\n}\nCdkDragHandle.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"13.3.0\", ngImport: i0, type: CdkDragHandle, deps: [{ token: i0.ElementRef }, { token: CDK_DRAG_PARENT, optional: true, skipSelf: true }], target: i0.ɵɵFactoryTarget.Directive });\nCdkDragHandle.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"12.0.0\", version: \"13.3.0\", type: CdkDragHandle, selector: \"[cdkDragHandle]\", inputs: { disabled: [\"cdkDragHandleDisabled\", \"disabled\"] }, host: { classAttribute: \"cdk-drag-handle\" }, providers: [{ provide: CDK_DRAG_HANDLE, useExisting: CdkDragHandle }], ngImport: i0 });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"13.3.0\", ngImport: i0, type: CdkDragHandle, decorators: [{\n type: Directive,\n args: [{\n selector: '[cdkDragHandle]',\n host: {\n 'class': 'cdk-drag-handle',\n },\n providers: [{ provide: CDK_DRAG_HANDLE, useExisting: CdkDragHandle }],\n }]\n }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: undefined, decorators: [{\n type: Inject,\n args: [CDK_DRAG_PARENT]\n }, {\n type: Optional\n }, {\n type: SkipSelf\n }] }]; }, propDecorators: { disabled: [{\n type: Input,\n args: ['cdkDragHandleDisabled']\n }] } });\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * Injection token that can be used to reference instances of `CdkDragPlaceholder`. It serves as\n * alternative token to the actual `CdkDragPlaceholder` class which could cause unnecessary\n * retention of the class and its directive metadata.\n */\nconst CDK_DRAG_PLACEHOLDER = new InjectionToken('CdkDragPlaceholder');\n/**\n * Element that will be used as a template for the placeholder of a CdkDrag when\n * it is being dragged. The placeholder is displayed in place of the element being dragged.\n */\nclass CdkDragPlaceholder {\n constructor(templateRef) {\n this.templateRef = templateRef;\n }\n}\nCdkDragPlaceholder.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"13.3.0\", ngImport: i0, type: CdkDragPlaceholder, deps: [{ token: i0.TemplateRef }], target: i0.ɵɵFactoryTarget.Directive });\nCdkDragPlaceholder.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"12.0.0\", version: \"13.3.0\", type: CdkDragPlaceholder, selector: \"ng-template[cdkDragPlaceholder]\", inputs: { data: \"data\" }, providers: [{ provide: CDK_DRAG_PLACEHOLDER, useExisting: CdkDragPlaceholder }], ngImport: i0 });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"13.3.0\", ngImport: i0, type: CdkDragPlaceholder, decorators: [{\n type: Directive,\n args: [{\n selector: 'ng-template[cdkDragPlaceholder]',\n providers: [{ provide: CDK_DRAG_PLACEHOLDER, useExisting: CdkDragPlaceholder }],\n }]\n }], ctorParameters: function () { return [{ type: i0.TemplateRef }]; }, propDecorators: { data: [{\n type: Input\n }] } });\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * Injection token that can be used to reference instances of `CdkDragPreview`. It serves as\n * alternative token to the actual `CdkDragPreview` class which could cause unnecessary\n * retention of the class and its directive metadata.\n */\nconst CDK_DRAG_PREVIEW = new InjectionToken('CdkDragPreview');\n/**\n * Element that will be used as a template for the preview\n * of a CdkDrag when it is being dragged.\n */\nclass CdkDragPreview {\n constructor(templateRef) {\n this.templateRef = templateRef;\n this._matchSize = false;\n }\n /** Whether the preview should preserve the same size as the item that is being dragged. */\n get matchSize() {\n return this._matchSize;\n }\n set matchSize(value) {\n this._matchSize = coerceBooleanProperty(value);\n }\n}\nCdkDragPreview.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"13.3.0\", ngImport: i0, type: CdkDragPreview, deps: [{ token: i0.TemplateRef }], target: i0.ɵɵFactoryTarget.Directive });\nCdkDragPreview.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"12.0.0\", version: \"13.3.0\", type: CdkDragPreview, selector: \"ng-template[cdkDragPreview]\", inputs: { data: \"data\", matchSize: \"matchSize\" }, providers: [{ provide: CDK_DRAG_PREVIEW, useExisting: CdkDragPreview }], ngImport: i0 });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"13.3.0\", ngImport: i0, type: CdkDragPreview, decorators: [{\n type: Directive,\n args: [{\n selector: 'ng-template[cdkDragPreview]',\n providers: [{ provide: CDK_DRAG_PREVIEW, useExisting: CdkDragPreview }],\n }]\n }], ctorParameters: function () { return [{ type: i0.TemplateRef }]; }, propDecorators: { data: [{\n type: Input\n }], matchSize: [{\n type: Input\n }] } });\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nconst DRAG_HOST_CLASS = 'cdk-drag';\n/** Element that can be moved inside a CdkDropList container. */\nclass CdkDrag {\n constructor(\n /** Element that the draggable is attached to. */\n element, \n /** Droppable container that the draggable is a part of. */\n dropContainer, \n /**\n * @deprecated `_document` parameter no longer being used and will be removed.\n * @breaking-change 12.0.0\n */\n _document, _ngZone, _viewContainerRef, config, _dir, dragDrop, _changeDetectorRef, _selfHandle, _parentDrag) {\n this.element = element;\n this.dropContainer = dropContainer;\n this._ngZone = _ngZone;\n this._viewContainerRef = _viewContainerRef;\n this._dir = _dir;\n this._changeDetectorRef = _changeDetectorRef;\n this._selfHandle = _selfHandle;\n this._parentDrag = _parentDrag;\n this._destroyed = new Subject();\n /** Emits when the user starts dragging the item. */\n this.started = new EventEmitter();\n /** Emits when the user has released a drag item, before any animations have started. */\n this.released = new EventEmitter();\n /** Emits when the user stops dragging an item in the container. */\n this.ended = new EventEmitter();\n /** Emits when the user has moved the item into a new container. */\n this.entered = new EventEmitter();\n /** Emits when the user removes the item its container by dragging it into another container. */\n this.exited = new EventEmitter();\n /** Emits when the user drops the item inside a container. */\n this.dropped = new EventEmitter();\n /**\n * Emits as the user is dragging the item. Use with caution,\n * because this event will fire for every pixel that the user has dragged.\n */\n this.moved = new Observable((observer) => {\n const subscription = this._dragRef.moved\n .pipe(map(movedEvent => ({\n source: this,\n pointerPosition: movedEvent.pointerPosition,\n event: movedEvent.event,\n delta: movedEvent.delta,\n distance: movedEvent.distance,\n })))\n .subscribe(observer);\n return () => {\n subscription.unsubscribe();\n };\n });\n this._dragRef = dragDrop.createDrag(element, {\n dragStartThreshold: config && config.dragStartThreshold != null ? config.dragStartThreshold : 5,\n pointerDirectionChangeThreshold: config && config.pointerDirectionChangeThreshold != null\n ? config.pointerDirectionChangeThreshold\n : 5,\n zIndex: config?.zIndex,\n });\n this._dragRef.data = this;\n // We have to keep track of the drag instances in order to be able to match an element to\n // a drag instance. We can't go through the global registry of `DragRef`, because the root\n // element could be different.\n CdkDrag._dragInstances.push(this);\n if (config) {\n this._assignDefaults(config);\n }\n // Note that usually the container is assigned when the drop list is picks up the item, but in\n // some cases (mainly transplanted views with OnPush, see #18341) we may end up in a situation\n // where there are no items on the first change detection pass, but the items get picked up as\n // soon as the user triggers another pass by dragging. This is a problem, because the item would\n // have to switch from standalone mode to drag mode in the middle of the dragging sequence which\n // is too late since the two modes save different kinds of information. We work around it by\n // assigning the drop container both from here and the list.\n if (dropContainer) {\n this._dragRef._withDropContainer(dropContainer._dropListRef);\n dropContainer.addItem(this);\n }\n this._syncInputs(this._dragRef);\n this._handleEvents(this._dragRef);\n }\n /** Whether starting to drag this element is disabled. */\n get disabled() {\n return this._disabled || (this.dropContainer && this.dropContainer.disabled);\n }\n set disabled(value) {\n this._disabled = coerceBooleanProperty(value);\n this._dragRef.disabled = this._disabled;\n }\n /**\n * Returns the element that is being used as a placeholder\n * while the current element is being dragged.\n */\n getPlaceholderElement() {\n return this._dragRef.getPlaceholderElement();\n }\n /** Returns the root draggable element. */\n getRootElement() {\n return this._dragRef.getRootElement();\n }\n /** Resets a standalone drag item to its initial position. */\n reset() {\n this._dragRef.reset();\n }\n /**\n * Gets the pixel coordinates of the draggable outside of a drop container.\n */\n getFreeDragPosition() {\n return this._dragRef.getFreeDragPosition();\n }\n ngAfterViewInit() {\n // Normally this isn't in the zone, but it can cause major performance regressions for apps\n // using `zone-patch-rxjs` because it'll trigger a change detection when it unsubscribes.\n this._ngZone.runOutsideAngular(() => {\n // We need to wait for the zone to stabilize, in order for the reference\n // element to be in the proper place in the DOM. This is mostly relevant\n // for draggable elements inside portals since they get stamped out in\n // their original DOM position and then they get transferred to the portal.\n this._ngZone.onStable.pipe(take(1), takeUntil(this._destroyed)).subscribe(() => {\n this._updateRootElement();\n this._setupHandlesListener();\n if (this.freeDragPosition) {\n this._dragRef.setFreeDragPosition(this.freeDragPosition);\n }\n });\n });\n }\n ngOnChanges(changes) {\n const rootSelectorChange = changes['rootElementSelector'];\n const positionChange = changes['freeDragPosition'];\n // We don't have to react to the first change since it's being\n // handled in `ngAfterViewInit` where it needs to be deferred.\n if (rootSelectorChange && !rootSelectorChange.firstChange) {\n this._updateRootElement();\n }\n // Skip the first change since it's being handled in `ngAfterViewInit`.\n if (positionChange && !positionChange.firstChange && this.freeDragPosition) {\n this._dragRef.setFreeDragPosition(this.freeDragPosition);\n }\n }\n ngOnDestroy() {\n if (this.dropContainer) {\n this.dropContainer.removeItem(this);\n }\n const index = CdkDrag._dragInstances.indexOf(this);\n if (index > -1) {\n CdkDrag._dragInstances.splice(index, 1);\n }\n // Unnecessary in most cases, but used to avoid extra change detections with `zone-paths-rxjs`.\n this._ngZone.runOutsideAngular(() => {\n this._destroyed.next();\n this._destroyed.complete();\n this._dragRef.dispose();\n });\n }\n /** Syncs the root element with the `DragRef`. */\n _updateRootElement() {\n const element = this.element.nativeElement;\n let rootElement = element;\n if (this.rootElementSelector) {\n rootElement =\n element.closest !== undefined\n ? element.closest(this.rootElementSelector)\n : // Comment tag doesn't have closest method, so use parent's one.\n element.parentElement?.closest(this.rootElementSelector);\n }\n if (rootElement && (typeof ngDevMode === 'undefined' || ngDevMode)) {\n assertElementNode(rootElement, 'cdkDrag');\n }\n this._dragRef.withRootElement(rootElement || element);\n }\n /** Gets the boundary element, based on the `boundaryElement` value. */\n _getBoundaryElement() {\n const boundary = this.boundaryElement;\n if (!boundary) {\n return null;\n }\n if (typeof boundary === 'string') {\n return this.element.nativeElement.closest(boundary);\n }\n return coerceElement(boundary);\n }\n /** Syncs the inputs of the CdkDrag with the options of the underlying DragRef. */\n _syncInputs(ref) {\n ref.beforeStarted.subscribe(() => {\n if (!ref.isDragging()) {\n const dir = this._dir;\n const dragStartDelay = this.dragStartDelay;\n const placeholder = this._placeholderTemplate\n ? {\n template: this._placeholderTemplate.templateRef,\n context: this._placeholderTemplate.data,\n viewContainer: this._viewContainerRef,\n }\n : null;\n const preview = this._previewTemplate\n ? {\n template: this._previewTemplate.templateRef,\n context: this._previewTemplate.data,\n matchSize: this._previewTemplate.matchSize,\n viewContainer: this._viewContainerRef,\n }\n : null;\n ref.disabled = this.disabled;\n ref.lockAxis = this.lockAxis;\n ref.dragStartDelay =\n typeof dragStartDelay === 'object' && dragStartDelay\n ? dragStartDelay\n : coerceNumberProperty(dragStartDelay);\n ref.constrainPosition = this.constrainPosition;\n ref.previewClass = this.previewClass;\n ref\n .withBoundaryElement(this._getBoundaryElement())\n .withPlaceholderTemplate(placeholder)\n .withPreviewTemplate(preview)\n .withPreviewContainer(this.previewContainer || 'global');\n if (dir) {\n ref.withDirection(dir.value);\n }\n }\n });\n // This only needs to be resolved once.\n ref.beforeStarted.pipe(take(1)).subscribe(() => {\n // If we managed to resolve a parent through DI, use it.\n if (this._parentDrag) {\n ref.withParent(this._parentDrag._dragRef);\n return;\n }\n // Otherwise fall back to resolving the parent by looking up the DOM. This can happen if\n // the item was projected into another item by something like `ngTemplateOutlet`.\n let parent = this.element.nativeElement.parentElement;\n while (parent) {\n if (parent.classList.contains(DRAG_HOST_CLASS)) {\n ref.withParent(CdkDrag._dragInstances.find(drag => {\n return drag.element.nativeElement === parent;\n })?._dragRef || null);\n break;\n }\n parent = parent.parentElement;\n }\n });\n }\n /** Handles the events from the underlying `DragRef`. */\n _handleEvents(ref) {\n ref.started.subscribe(() => {\n this.started.emit({ source: this });\n // Since all of these events run outside of change detection,\n // we need to ensure that everything is marked correctly.\n this._changeDetectorRef.markForCheck();\n });\n ref.released.subscribe(() => {\n this.released.emit({ source: this });\n });\n ref.ended.subscribe(event => {\n this.ended.emit({\n source: this,\n distance: event.distance,\n dropPoint: event.dropPoint,\n });\n // Since all of these events run outside of change detection,\n // we need to ensure that everything is marked correctly.\n this._changeDetectorRef.markForCheck();\n });\n ref.entered.subscribe(event => {\n this.entered.emit({\n container: event.container.data,\n item: this,\n currentIndex: event.currentIndex,\n });\n });\n ref.exited.subscribe(event => {\n this.exited.emit({\n container: event.container.data,\n item: this,\n });\n });\n ref.dropped.subscribe(event => {\n this.dropped.emit({\n previousIndex: event.previousIndex,\n currentIndex: event.currentIndex,\n previousContainer: event.previousContainer.data,\n container: event.container.data,\n isPointerOverContainer: event.isPointerOverContainer,\n item: this,\n distance: event.distance,\n dropPoint: event.dropPoint,\n });\n });\n }\n /** Assigns the default input values based on a provided config object. */\n _assignDefaults(config) {\n const { lockAxis, dragStartDelay, constrainPosition, previewClass, boundaryElement, draggingDisabled, rootElementSelector, previewContainer, } = config;\n this.disabled = draggingDisabled == null ? false : draggingDisabled;\n this.dragStartDelay = dragStartDelay || 0;\n if (lockAxis) {\n this.lockAxis = lockAxis;\n }\n if (constrainPosition) {\n this.constrainPosition = constrainPosition;\n }\n if (previewClass) {\n this.previewClass = previewClass;\n }\n if (boundaryElement) {\n this.boundaryElement = boundaryElement;\n }\n if (rootElementSelector) {\n this.rootElementSelector = rootElementSelector;\n }\n if (previewContainer) {\n this.previewContainer = previewContainer;\n }\n }\n /** Sets up the listener that syncs the handles with the drag ref. */\n _setupHandlesListener() {\n // Listen for any newly-added handles.\n this._handles.changes\n .pipe(startWith(this._handles), \n // Sync the new handles with the DragRef.\n tap((handles) => {\n const childHandleElements = handles\n .filter(handle => handle._parentDrag === this)\n .map(handle => handle.element);\n // Usually handles are only allowed to be a descendant of the drag element, but if\n // the consumer defined a different drag root, we should allow the drag element\n // itself to be a handle too.\n if (this._selfHandle && this.rootElementSelector) {\n childHandleElements.push(this.element);\n }\n this._dragRef.withHandles(childHandleElements);\n }), \n // Listen if the state of any of the handles changes.\n switchMap((handles) => {\n return merge(...handles.map(item => {\n return item._stateChanges.pipe(startWith(item));\n }));\n }), takeUntil(this._destroyed))\n .subscribe(handleInstance => {\n // Enabled/disable the handle that changed in the DragRef.\n const dragRef = this._dragRef;\n const handle = handleInstance.element.nativeElement;\n handleInstance.disabled ? dragRef.disableHandle(handle) : dragRef.enableHandle(handle);\n });\n }\n}\nCdkDrag._dragInstances = [];\nCdkDrag.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"13.3.0\", ngImport: i0, type: CdkDrag, deps: [{ token: i0.ElementRef }, { token: CDK_DROP_LIST, optional: true, skipSelf: true }, { token: DOCUMENT }, { token: i0.NgZone }, { token: i0.ViewContainerRef }, { token: CDK_DRAG_CONFIG, optional: true }, { token: i3.Directionality, optional: true }, { token: DragDrop }, { token: i0.ChangeDetectorRef }, { token: CDK_DRAG_HANDLE, optional: true, self: true }, { token: CDK_DRAG_PARENT, optional: true, skipSelf: true }], target: i0.ɵɵFactoryTarget.Directive });\nCdkDrag.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"12.0.0\", version: \"13.3.0\", type: CdkDrag, selector: \"[cdkDrag]\", inputs: { data: [\"cdkDragData\", \"data\"], lockAxis: [\"cdkDragLockAxis\", \"lockAxis\"], rootElementSelector: [\"cdkDragRootElement\", \"rootElementSelector\"], boundaryElement: [\"cdkDragBoundary\", \"boundaryElement\"], dragStartDelay: [\"cdkDragStartDelay\", \"dragStartDelay\"], freeDragPosition: [\"cdkDragFreeDragPosition\", \"freeDragPosition\"], disabled: [\"cdkDragDisabled\", \"disabled\"], constrainPosition: [\"cdkDragConstrainPosition\", \"constrainPosition\"], previewClass: [\"cdkDragPreviewClass\", \"previewClass\"], previewContainer: [\"cdkDragPreviewContainer\", \"previewContainer\"] }, outputs: { started: \"cdkDragStarted\", released: \"cdkDragReleased\", ended: \"cdkDragEnded\", entered: \"cdkDragEntered\", exited: \"cdkDragExited\", dropped: \"cdkDragDropped\", moved: \"cdkDragMoved\" }, host: { properties: { \"class.cdk-drag-disabled\": \"disabled\", \"class.cdk-drag-dragging\": \"_dragRef.isDragging()\" }, classAttribute: \"cdk-drag\" }, providers: [{ provide: CDK_DRAG_PARENT, useExisting: CdkDrag }], queries: [{ propertyName: \"_previewTemplate\", first: true, predicate: CDK_DRAG_PREVIEW, descendants: true }, { propertyName: \"_placeholderTemplate\", first: true, predicate: CDK_DRAG_PLACEHOLDER, descendants: true }, { propertyName: \"_handles\", predicate: CDK_DRAG_HANDLE, descendants: true }], exportAs: [\"cdkDrag\"], usesOnChanges: true, ngImport: i0 });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"13.3.0\", ngImport: i0, type: CdkDrag, decorators: [{\n type: Directive,\n args: [{\n selector: '[cdkDrag]',\n exportAs: 'cdkDrag',\n host: {\n 'class': DRAG_HOST_CLASS,\n '[class.cdk-drag-disabled]': 'disabled',\n '[class.cdk-drag-dragging]': '_dragRef.isDragging()',\n },\n providers: [{ provide: CDK_DRAG_PARENT, useExisting: CdkDrag }],\n }]\n }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: undefined, decorators: [{\n type: Inject,\n args: [CDK_DROP_LIST]\n }, {\n type: Optional\n }, {\n type: SkipSelf\n }] }, { type: undefined, decorators: [{\n type: Inject,\n args: [DOCUMENT]\n }] }, { type: i0.NgZone }, { type: i0.ViewContainerRef }, { type: undefined, decorators: [{\n type: Optional\n }, {\n type: Inject,\n args: [CDK_DRAG_CONFIG]\n }] }, { type: i3.Directionality, decorators: [{\n type: Optional\n }] }, { type: DragDrop }, { type: i0.ChangeDetectorRef }, { type: CdkDragHandle, decorators: [{\n type: Optional\n }, {\n type: Self\n }, {\n type: Inject,\n args: [CDK_DRAG_HANDLE]\n }] }, { type: CdkDrag, decorators: [{\n type: Optional\n }, {\n type: SkipSelf\n }, {\n type: Inject,\n args: [CDK_DRAG_PARENT]\n }] }]; }, propDecorators: { _handles: [{\n type: ContentChildren,\n args: [CDK_DRAG_HANDLE, { descendants: true }]\n }], _previewTemplate: [{\n type: ContentChild,\n args: [CDK_DRAG_PREVIEW]\n }], _placeholderTemplate: [{\n type: ContentChild,\n args: [CDK_DRAG_PLACEHOLDER]\n }], data: [{\n type: Input,\n args: ['cdkDragData']\n }], lockAxis: [{\n type: Input,\n args: ['cdkDragLockAxis']\n }], rootElementSelector: [{\n type: Input,\n args: ['cdkDragRootElement']\n }], boundaryElement: [{\n type: Input,\n args: ['cdkDragBoundary']\n }], dragStartDelay: [{\n type: Input,\n args: ['cdkDragStartDelay']\n }], freeDragPosition: [{\n type: Input,\n args: ['cdkDragFreeDragPosition']\n }], disabled: [{\n type: Input,\n args: ['cdkDragDisabled']\n }], constrainPosition: [{\n type: Input,\n args: ['cdkDragConstrainPosition']\n }], previewClass: [{\n type: Input,\n args: ['cdkDragPreviewClass']\n }], previewContainer: [{\n type: Input,\n args: ['cdkDragPreviewContainer']\n }], started: [{\n type: Output,\n args: ['cdkDragStarted']\n }], released: [{\n type: Output,\n args: ['cdkDragReleased']\n }], ended: [{\n type: Output,\n args: ['cdkDragEnded']\n }], entered: [{\n type: Output,\n args: ['cdkDragEntered']\n }], exited: [{\n type: Output,\n args: ['cdkDragExited']\n }], dropped: [{\n type: Output,\n args: ['cdkDragDropped']\n }], moved: [{\n type: Output,\n args: ['cdkDragMoved']\n }] } });\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nclass DragDropModule {\n}\nDragDropModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"13.3.0\", ngImport: i0, type: DragDropModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });\nDragDropModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: \"12.0.0\", version: \"13.3.0\", ngImport: i0, type: DragDropModule, declarations: [CdkDropList,\n CdkDropListGroup,\n CdkDrag,\n CdkDragHandle,\n CdkDragPreview,\n CdkDragPlaceholder], exports: [CdkScrollableModule,\n CdkDropList,\n CdkDropListGroup,\n CdkDrag,\n CdkDragHandle,\n CdkDragPreview,\n CdkDragPlaceholder] });\nDragDropModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: \"12.0.0\", version: \"13.3.0\", ngImport: i0, type: DragDropModule, providers: [DragDrop], imports: [CdkScrollableModule] });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"13.3.0\", ngImport: i0, type: DragDropModule, decorators: [{\n type: NgModule,\n args: [{\n declarations: [\n CdkDropList,\n CdkDropListGroup,\n CdkDrag,\n CdkDragHandle,\n CdkDragPreview,\n CdkDragPlaceholder,\n ],\n exports: [\n CdkScrollableModule,\n CdkDropList,\n CdkDropListGroup,\n CdkDrag,\n CdkDragHandle,\n CdkDragPreview,\n CdkDragPlaceholder,\n ],\n providers: [DragDrop],\n }]\n }] });\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\n/**\n * Generated bundle index. Do not edit.\n */\n\nexport { CDK_DRAG_CONFIG, CDK_DRAG_HANDLE, CDK_DRAG_PARENT, CDK_DRAG_PLACEHOLDER, CDK_DRAG_PREVIEW, CDK_DROP_LIST, CDK_DROP_LIST_GROUP, CdkDrag, CdkDragHandle, CdkDragPlaceholder, CdkDragPreview, CdkDropList, CdkDropListGroup, DragDrop, DragDropModule, DragDropRegistry, DragRef, DropListRef, copyArrayItem, moveItemInArray, transferArrayItem };\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nconst MAC_ENTER = 3;\nconst BACKSPACE = 8;\nconst TAB = 9;\nconst NUM_CENTER = 12;\nconst ENTER = 13;\nconst SHIFT = 16;\nconst CONTROL = 17;\nconst ALT = 18;\nconst PAUSE = 19;\nconst CAPS_LOCK = 20;\nconst ESCAPE = 27;\nconst SPACE = 32;\nconst PAGE_UP = 33;\nconst PAGE_DOWN = 34;\nconst END = 35;\nconst HOME = 36;\nconst LEFT_ARROW = 37;\nconst UP_ARROW = 38;\nconst RIGHT_ARROW = 39;\nconst DOWN_ARROW = 40;\nconst PLUS_SIGN = 43;\nconst PRINT_SCREEN = 44;\nconst INSERT = 45;\nconst DELETE = 46;\nconst ZERO = 48;\nconst ONE = 49;\nconst TWO = 50;\nconst THREE = 51;\nconst FOUR = 52;\nconst FIVE = 53;\nconst SIX = 54;\nconst SEVEN = 55;\nconst EIGHT = 56;\nconst NINE = 57;\nconst FF_SEMICOLON = 59; // Firefox (Gecko) fires this for semicolon instead of 186\nconst FF_EQUALS = 61; // Firefox (Gecko) fires this for equals instead of 187\nconst QUESTION_MARK = 63;\nconst AT_SIGN = 64;\nconst A = 65;\nconst B = 66;\nconst C = 67;\nconst D = 68;\nconst E = 69;\nconst F = 70;\nconst G = 71;\nconst H = 72;\nconst I = 73;\nconst J = 74;\nconst K = 75;\nconst L = 76;\nconst M = 77;\nconst N = 78;\nconst O = 79;\nconst P = 80;\nconst Q = 81;\nconst R = 82;\nconst S = 83;\nconst T = 84;\nconst U = 85;\nconst V = 86;\nconst W = 87;\nconst X = 88;\nconst Y = 89;\nconst Z = 90;\nconst META = 91; // WIN_KEY_LEFT\nconst MAC_WK_CMD_LEFT = 91;\nconst MAC_WK_CMD_RIGHT = 93;\nconst CONTEXT_MENU = 93;\nconst NUMPAD_ZERO = 96;\nconst NUMPAD_ONE = 97;\nconst NUMPAD_TWO = 98;\nconst NUMPAD_THREE = 99;\nconst NUMPAD_FOUR = 100;\nconst NUMPAD_FIVE = 101;\nconst NUMPAD_SIX = 102;\nconst NUMPAD_SEVEN = 103;\nconst NUMPAD_EIGHT = 104;\nconst NUMPAD_NINE = 105;\nconst NUMPAD_MULTIPLY = 106;\nconst NUMPAD_PLUS = 107;\nconst NUMPAD_MINUS = 109;\nconst NUMPAD_PERIOD = 110;\nconst NUMPAD_DIVIDE = 111;\nconst F1 = 112;\nconst F2 = 113;\nconst F3 = 114;\nconst F4 = 115;\nconst F5 = 116;\nconst F6 = 117;\nconst F7 = 118;\nconst F8 = 119;\nconst F9 = 120;\nconst F10 = 121;\nconst F11 = 122;\nconst F12 = 123;\nconst NUM_LOCK = 144;\nconst SCROLL_LOCK = 145;\nconst FIRST_MEDIA = 166;\nconst FF_MINUS = 173;\nconst MUTE = 173; // Firefox (Gecko) fires 181 for MUTE\nconst VOLUME_DOWN = 174; // Firefox (Gecko) fires 182 for VOLUME_DOWN\nconst VOLUME_UP = 175; // Firefox (Gecko) fires 183 for VOLUME_UP\nconst FF_MUTE = 181;\nconst FF_VOLUME_DOWN = 182;\nconst LAST_MEDIA = 183;\nconst FF_VOLUME_UP = 183;\nconst SEMICOLON = 186; // Firefox (Gecko) fires 59 for SEMICOLON\nconst EQUALS = 187; // Firefox (Gecko) fires 61 for EQUALS\nconst COMMA = 188;\nconst DASH = 189; // Firefox (Gecko) fires 173 for DASH/MINUS\nconst PERIOD = 190;\nconst SLASH = 191;\nconst APOSTROPHE = 192;\nconst TILDE = 192;\nconst OPEN_SQUARE_BRACKET = 219;\nconst BACKSLASH = 220;\nconst CLOSE_SQUARE_BRACKET = 221;\nconst SINGLE_QUOTE = 222;\nconst MAC_META = 224;\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * Checks whether a modifier key is pressed.\n * @param event Event to be checked.\n */\nfunction hasModifierKey(event, ...modifiers) {\n if (modifiers.length) {\n return modifiers.some(modifier => event[modifier]);\n }\n return event.altKey || event.shiftKey || event.ctrlKey || event.metaKey;\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\n/**\n * Generated bundle index. Do not edit.\n */\n\nexport { A, ALT, APOSTROPHE, AT_SIGN, B, BACKSLASH, BACKSPACE, C, CAPS_LOCK, CLOSE_SQUARE_BRACKET, COMMA, CONTEXT_MENU, CONTROL, D, DASH, DELETE, DOWN_ARROW, E, EIGHT, END, ENTER, EQUALS, ESCAPE, F, F1, F10, F11, F12, F2, F3, F4, F5, F6, F7, F8, F9, FF_EQUALS, FF_MINUS, FF_MUTE, FF_SEMICOLON, FF_VOLUME_DOWN, FF_VOLUME_UP, FIRST_MEDIA, FIVE, FOUR, G, H, HOME, I, INSERT, J, K, L, LAST_MEDIA, LEFT_ARROW, M, MAC_ENTER, MAC_META, MAC_WK_CMD_LEFT, MAC_WK_CMD_RIGHT, META, MUTE, N, NINE, NUMPAD_DIVIDE, NUMPAD_EIGHT, NUMPAD_FIVE, NUMPAD_FOUR, NUMPAD_MINUS, NUMPAD_MULTIPLY, NUMPAD_NINE, NUMPAD_ONE, NUMPAD_PERIOD, NUMPAD_PLUS, NUMPAD_SEVEN, NUMPAD_SIX, NUMPAD_THREE, NUMPAD_TWO, NUMPAD_ZERO, NUM_CENTER, NUM_LOCK, O, ONE, OPEN_SQUARE_BRACKET, P, PAGE_DOWN, PAGE_UP, PAUSE, PERIOD, PLUS_SIGN, PRINT_SCREEN, Q, QUESTION_MARK, R, RIGHT_ARROW, S, SCROLL_LOCK, SEMICOLON, SEVEN, SHIFT, SINGLE_QUOTE, SIX, SLASH, SPACE, T, TAB, THREE, TILDE, TWO, U, UP_ARROW, V, VOLUME_DOWN, VOLUME_UP, W, X, Y, Z, ZERO, hasModifierKey };\n","import * as i0 from '@angular/core';\nimport { NgModule, Injectable } from '@angular/core';\nimport { coerceArray } from '@angular/cdk/coercion';\nimport { Subject, combineLatest, concat, Observable } from 'rxjs';\nimport { take, skip, debounceTime, map, startWith, takeUntil } from 'rxjs/operators';\nimport * as i1 from '@angular/cdk/platform';\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nclass LayoutModule {\n}\nLayoutModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"13.3.0\", ngImport: i0, type: LayoutModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });\nLayoutModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: \"12.0.0\", version: \"13.3.0\", ngImport: i0, type: LayoutModule });\nLayoutModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: \"12.0.0\", version: \"13.3.0\", ngImport: i0, type: LayoutModule });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"13.3.0\", ngImport: i0, type: LayoutModule, decorators: [{\n type: NgModule,\n args: [{}]\n }] });\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/** Global registry for all dynamically-created, injected media queries. */\nconst mediaQueriesForWebkitCompatibility = new Set();\n/** Style tag that holds all of the dynamically-created media queries. */\nlet mediaQueryStyleNode;\n/** A utility for calling matchMedia queries. */\nclass MediaMatcher {\n constructor(_platform) {\n this._platform = _platform;\n this._matchMedia =\n this._platform.isBrowser && window.matchMedia\n ? // matchMedia is bound to the window scope intentionally as it is an illegal invocation to\n // call it from a different scope.\n window.matchMedia.bind(window)\n : noopMatchMedia;\n }\n /**\n * Evaluates the given media query and returns the native MediaQueryList from which results\n * can be retrieved.\n * Confirms the layout engine will trigger for the selector query provided and returns the\n * MediaQueryList for the query provided.\n */\n matchMedia(query) {\n if (this._platform.WEBKIT || this._platform.BLINK) {\n createEmptyStyleRule(query);\n }\n return this._matchMedia(query);\n }\n}\nMediaMatcher.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"13.3.0\", ngImport: i0, type: MediaMatcher, deps: [{ token: i1.Platform }], target: i0.ɵɵFactoryTarget.Injectable });\nMediaMatcher.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"13.3.0\", ngImport: i0, type: MediaMatcher, providedIn: 'root' });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"13.3.0\", ngImport: i0, type: MediaMatcher, decorators: [{\n type: Injectable,\n args: [{ providedIn: 'root' }]\n }], ctorParameters: function () { return [{ type: i1.Platform }]; } });\n/**\n * Creates an empty stylesheet that is used to work around browser inconsistencies related to\n * `matchMedia`. At the time of writing, it handles the following cases:\n * 1. On WebKit browsers, a media query has to have at least one rule in order for `matchMedia`\n * to fire. We work around it by declaring a dummy stylesheet with a `@media` declaration.\n * 2. In some cases Blink browsers will stop firing the `matchMedia` listener if none of the rules\n * inside the `@media` match existing elements on the page. We work around it by having one rule\n * targeting the `body`. See https://github.com/angular/components/issues/23546.\n */\nfunction createEmptyStyleRule(query) {\n if (mediaQueriesForWebkitCompatibility.has(query)) {\n return;\n }\n try {\n if (!mediaQueryStyleNode) {\n mediaQueryStyleNode = document.createElement('style');\n mediaQueryStyleNode.setAttribute('type', 'text/css');\n document.head.appendChild(mediaQueryStyleNode);\n }\n if (mediaQueryStyleNode.sheet) {\n mediaQueryStyleNode.sheet.insertRule(`@media ${query} {body{ }}`, 0);\n mediaQueriesForWebkitCompatibility.add(query);\n }\n }\n catch (e) {\n console.error(e);\n }\n}\n/** No-op matchMedia replacement for non-browser platforms. */\nfunction noopMatchMedia(query) {\n // Use `as any` here to avoid adding additional necessary properties for\n // the noop matcher.\n return {\n matches: query === 'all' || query === '',\n media: query,\n addListener: () => { },\n removeListener: () => { },\n };\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/** Utility for checking the matching state of @media queries. */\nclass BreakpointObserver {\n constructor(_mediaMatcher, _zone) {\n this._mediaMatcher = _mediaMatcher;\n this._zone = _zone;\n /** A map of all media queries currently being listened for. */\n this._queries = new Map();\n /** A subject for all other observables to takeUntil based on. */\n this._destroySubject = new Subject();\n }\n /** Completes the active subject, signalling to all other observables to complete. */\n ngOnDestroy() {\n this._destroySubject.next();\n this._destroySubject.complete();\n }\n /**\n * Whether one or more media queries match the current viewport size.\n * @param value One or more media queries to check.\n * @returns Whether any of the media queries match.\n */\n isMatched(value) {\n const queries = splitQueries(coerceArray(value));\n return queries.some(mediaQuery => this._registerQuery(mediaQuery).mql.matches);\n }\n /**\n * Gets an observable of results for the given queries that will emit new results for any changes\n * in matching of the given queries.\n * @param value One or more media queries to check.\n * @returns A stream of matches for the given queries.\n */\n observe(value) {\n const queries = splitQueries(coerceArray(value));\n const observables = queries.map(query => this._registerQuery(query).observable);\n let stateObservable = combineLatest(observables);\n // Emit the first state immediately, and then debounce the subsequent emissions.\n stateObservable = concat(stateObservable.pipe(take(1)), stateObservable.pipe(skip(1), debounceTime(0)));\n return stateObservable.pipe(map(breakpointStates => {\n const response = {\n matches: false,\n breakpoints: {},\n };\n breakpointStates.forEach(({ matches, query }) => {\n response.matches = response.matches || matches;\n response.breakpoints[query] = matches;\n });\n return response;\n }));\n }\n /** Registers a specific query to be listened for. */\n _registerQuery(query) {\n // Only set up a new MediaQueryList if it is not already being listened for.\n if (this._queries.has(query)) {\n return this._queries.get(query);\n }\n const mql = this._mediaMatcher.matchMedia(query);\n // Create callback for match changes and add it is as a listener.\n const queryObservable = new Observable((observer) => {\n // Listener callback methods are wrapped to be placed back in ngZone. Callbacks must be placed\n // back into the zone because matchMedia is only included in Zone.js by loading the\n // webapis-media-query.js file alongside the zone.js file. Additionally, some browsers do not\n // have MediaQueryList inherit from EventTarget, which causes inconsistencies in how Zone.js\n // patches it.\n const handler = (e) => this._zone.run(() => observer.next(e));\n mql.addListener(handler);\n return () => {\n mql.removeListener(handler);\n };\n }).pipe(startWith(mql), map(({ matches }) => ({ query, matches })), takeUntil(this._destroySubject));\n // Add the MediaQueryList to the set of queries.\n const output = { observable: queryObservable, mql };\n this._queries.set(query, output);\n return output;\n }\n}\nBreakpointObserver.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"13.3.0\", ngImport: i0, type: BreakpointObserver, deps: [{ token: MediaMatcher }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Injectable });\nBreakpointObserver.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"13.3.0\", ngImport: i0, type: BreakpointObserver, providedIn: 'root' });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"13.3.0\", ngImport: i0, type: BreakpointObserver, decorators: [{\n type: Injectable,\n args: [{ providedIn: 'root' }]\n }], ctorParameters: function () { return [{ type: MediaMatcher }, { type: i0.NgZone }]; } });\n/**\n * Split each query string into separate query strings if two queries are provided as comma\n * separated.\n */\nfunction splitQueries(queries) {\n return queries\n .map(query => query.split(','))\n .reduce((a1, a2) => a1.concat(a2))\n .map(query => query.trim());\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n// PascalCase is being used as Breakpoints is used like an enum.\n// tslint:disable-next-line:variable-name\nconst Breakpoints = {\n XSmall: '(max-width: 599.98px)',\n Small: '(min-width: 600px) and (max-width: 959.98px)',\n Medium: '(min-width: 960px) and (max-width: 1279.98px)',\n Large: '(min-width: 1280px) and (max-width: 1919.98px)',\n XLarge: '(min-width: 1920px)',\n Handset: '(max-width: 599.98px) and (orientation: portrait), ' +\n '(max-width: 959.98px) and (orientation: landscape)',\n Tablet: '(min-width: 600px) and (max-width: 839.98px) and (orientation: portrait), ' +\n '(min-width: 960px) and (max-width: 1279.98px) and (orientation: landscape)',\n Web: '(min-width: 840px) and (orientation: portrait), ' +\n '(min-width: 1280px) and (orientation: landscape)',\n HandsetPortrait: '(max-width: 599.98px) and (orientation: portrait)',\n TabletPortrait: '(min-width: 600px) and (max-width: 839.98px) and (orientation: portrait)',\n WebPortrait: '(min-width: 840px) and (orientation: portrait)',\n HandsetLandscape: '(max-width: 959.98px) and (orientation: landscape)',\n TabletLandscape: '(min-width: 960px) and (max-width: 1279.98px) and (orientation: landscape)',\n WebLandscape: '(min-width: 1280px) and (orientation: landscape)',\n};\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\n/**\n * Generated bundle index. Do not edit.\n */\n\nexport { BreakpointObserver, Breakpoints, LayoutModule, MediaMatcher };\n","import { coerceElement, coerceBooleanProperty, coerceNumberProperty } from '@angular/cdk/coercion';\nimport * as i0 from '@angular/core';\nimport { Injectable, EventEmitter, Directive, Output, Input, NgModule } from '@angular/core';\nimport { Observable, Subject } from 'rxjs';\nimport { debounceTime } from 'rxjs/operators';\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * Factory that creates a new MutationObserver and allows us to stub it out in unit tests.\n * @docs-private\n */\nclass MutationObserverFactory {\n create(callback) {\n return typeof MutationObserver === 'undefined' ? null : new MutationObserver(callback);\n }\n}\nMutationObserverFactory.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"13.3.0\", ngImport: i0, type: MutationObserverFactory, deps: [], target: i0.ɵɵFactoryTarget.Injectable });\nMutationObserverFactory.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"13.3.0\", ngImport: i0, type: MutationObserverFactory, providedIn: 'root' });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"13.3.0\", ngImport: i0, type: MutationObserverFactory, decorators: [{\n type: Injectable,\n args: [{ providedIn: 'root' }]\n }] });\n/** An injectable service that allows watching elements for changes to their content. */\nclass ContentObserver {\n constructor(_mutationObserverFactory) {\n this._mutationObserverFactory = _mutationObserverFactory;\n /** Keeps track of the existing MutationObservers so they can be reused. */\n this._observedElements = new Map();\n }\n ngOnDestroy() {\n this._observedElements.forEach((_, element) => this._cleanupObserver(element));\n }\n observe(elementOrRef) {\n const element = coerceElement(elementOrRef);\n return new Observable((observer) => {\n const stream = this._observeElement(element);\n const subscription = stream.subscribe(observer);\n return () => {\n subscription.unsubscribe();\n this._unobserveElement(element);\n };\n });\n }\n /**\n * Observes the given element by using the existing MutationObserver if available, or creating a\n * new one if not.\n */\n _observeElement(element) {\n if (!this._observedElements.has(element)) {\n const stream = new Subject();\n const observer = this._mutationObserverFactory.create(mutations => stream.next(mutations));\n if (observer) {\n observer.observe(element, {\n characterData: true,\n childList: true,\n subtree: true,\n });\n }\n this._observedElements.set(element, { observer, stream, count: 1 });\n }\n else {\n this._observedElements.get(element).count++;\n }\n return this._observedElements.get(element).stream;\n }\n /**\n * Un-observes the given element and cleans up the underlying MutationObserver if nobody else is\n * observing this element.\n */\n _unobserveElement(element) {\n if (this._observedElements.has(element)) {\n this._observedElements.get(element).count--;\n if (!this._observedElements.get(element).count) {\n this._cleanupObserver(element);\n }\n }\n }\n /** Clean up the underlying MutationObserver for the specified element. */\n _cleanupObserver(element) {\n if (this._observedElements.has(element)) {\n const { observer, stream } = this._observedElements.get(element);\n if (observer) {\n observer.disconnect();\n }\n stream.complete();\n this._observedElements.delete(element);\n }\n }\n}\nContentObserver.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"13.3.0\", ngImport: i0, type: ContentObserver, deps: [{ token: MutationObserverFactory }], target: i0.ɵɵFactoryTarget.Injectable });\nContentObserver.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"13.3.0\", ngImport: i0, type: ContentObserver, providedIn: 'root' });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"13.3.0\", ngImport: i0, type: ContentObserver, decorators: [{\n type: Injectable,\n args: [{ providedIn: 'root' }]\n }], ctorParameters: function () { return [{ type: MutationObserverFactory }]; } });\n/**\n * Directive that triggers a callback whenever the content of\n * its associated element has changed.\n */\nclass CdkObserveContent {\n constructor(_contentObserver, _elementRef, _ngZone) {\n this._contentObserver = _contentObserver;\n this._elementRef = _elementRef;\n this._ngZone = _ngZone;\n /** Event emitted for each change in the element's content. */\n this.event = new EventEmitter();\n this._disabled = false;\n this._currentSubscription = null;\n }\n /**\n * Whether observing content is disabled. This option can be used\n * to disconnect the underlying MutationObserver until it is needed.\n */\n get disabled() {\n return this._disabled;\n }\n set disabled(value) {\n this._disabled = coerceBooleanProperty(value);\n this._disabled ? this._unsubscribe() : this._subscribe();\n }\n /** Debounce interval for emitting the changes. */\n get debounce() {\n return this._debounce;\n }\n set debounce(value) {\n this._debounce = coerceNumberProperty(value);\n this._subscribe();\n }\n ngAfterContentInit() {\n if (!this._currentSubscription && !this.disabled) {\n this._subscribe();\n }\n }\n ngOnDestroy() {\n this._unsubscribe();\n }\n _subscribe() {\n this._unsubscribe();\n const stream = this._contentObserver.observe(this._elementRef);\n // TODO(mmalerba): We shouldn't be emitting on this @Output() outside the zone.\n // Consider brining it back inside the zone next time we're making breaking changes.\n // Bringing it back inside can cause things like infinite change detection loops and changed\n // after checked errors if people's code isn't handling it properly.\n this._ngZone.runOutsideAngular(() => {\n this._currentSubscription = (this.debounce ? stream.pipe(debounceTime(this.debounce)) : stream).subscribe(this.event);\n });\n }\n _unsubscribe() {\n this._currentSubscription?.unsubscribe();\n }\n}\nCdkObserveContent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"13.3.0\", ngImport: i0, type: CdkObserveContent, deps: [{ token: ContentObserver }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Directive });\nCdkObserveContent.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"12.0.0\", version: \"13.3.0\", type: CdkObserveContent, selector: \"[cdkObserveContent]\", inputs: { disabled: [\"cdkObserveContentDisabled\", \"disabled\"], debounce: \"debounce\" }, outputs: { event: \"cdkObserveContent\" }, exportAs: [\"cdkObserveContent\"], ngImport: i0 });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"13.3.0\", ngImport: i0, type: CdkObserveContent, decorators: [{\n type: Directive,\n args: [{\n selector: '[cdkObserveContent]',\n exportAs: 'cdkObserveContent',\n }]\n }], ctorParameters: function () { return [{ type: ContentObserver }, { type: i0.ElementRef }, { type: i0.NgZone }]; }, propDecorators: { event: [{\n type: Output,\n args: ['cdkObserveContent']\n }], disabled: [{\n type: Input,\n args: ['cdkObserveContentDisabled']\n }], debounce: [{\n type: Input\n }] } });\nclass ObserversModule {\n}\nObserversModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"13.3.0\", ngImport: i0, type: ObserversModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });\nObserversModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: \"12.0.0\", version: \"13.3.0\", ngImport: i0, type: ObserversModule, declarations: [CdkObserveContent], exports: [CdkObserveContent] });\nObserversModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: \"12.0.0\", version: \"13.3.0\", ngImport: i0, type: ObserversModule, providers: [MutationObserverFactory] });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"13.3.0\", ngImport: i0, type: ObserversModule, decorators: [{\n type: NgModule,\n args: [{\n exports: [CdkObserveContent],\n declarations: [CdkObserveContent],\n providers: [MutationObserverFactory],\n }]\n }] });\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\n/**\n * Generated bundle index. Do not edit.\n */\n\nexport { CdkObserveContent, ContentObserver, MutationObserverFactory, ObserversModule };\n","import * as i1 from '@angular/cdk/scrolling';\nimport { ScrollingModule } from '@angular/cdk/scrolling';\nexport { CdkScrollable, ScrollDispatcher, ViewportRuler } from '@angular/cdk/scrolling';\nimport * as i6 from '@angular/common';\nimport { DOCUMENT } from '@angular/common';\nimport * as i0 from '@angular/core';\nimport { Injectable, Inject, Optional, ElementRef, ApplicationRef, InjectionToken, Directive, EventEmitter, Input, Output, NgModule } from '@angular/core';\nimport { coerceCssPixelValue, coerceArray, coerceBooleanProperty } from '@angular/cdk/coercion';\nimport * as i1$1 from '@angular/cdk/platform';\nimport { supportsScrollBehavior, _getEventTarget, _isTestEnvironment } from '@angular/cdk/platform';\nimport * as i5 from '@angular/cdk/bidi';\nimport { BidiModule } from '@angular/cdk/bidi';\nimport { DomPortalOutlet, TemplatePortal, PortalModule } from '@angular/cdk/portal';\nimport { Subject, Subscription, merge } from 'rxjs';\nimport { take, takeUntil, takeWhile } from 'rxjs/operators';\nimport { ESCAPE, hasModifierKey } from '@angular/cdk/keycodes';\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nconst scrollBehaviorSupported = supportsScrollBehavior();\n/**\n * Strategy that will prevent the user from scrolling while the overlay is visible.\n */\nclass BlockScrollStrategy {\n constructor(_viewportRuler, document) {\n this._viewportRuler = _viewportRuler;\n this._previousHTMLStyles = { top: '', left: '' };\n this._isEnabled = false;\n this._document = document;\n }\n /** Attaches this scroll strategy to an overlay. */\n attach() { }\n /** Blocks page-level scroll while the attached overlay is open. */\n enable() {\n if (this._canBeEnabled()) {\n const root = this._document.documentElement;\n this._previousScrollPosition = this._viewportRuler.getViewportScrollPosition();\n // Cache the previous inline styles in case the user had set them.\n this._previousHTMLStyles.left = root.style.left || '';\n this._previousHTMLStyles.top = root.style.top || '';\n // Note: we're using the `html` node, instead of the `body`, because the `body` may\n // have the user agent margin, whereas the `html` is guaranteed not to have one.\n root.style.left = coerceCssPixelValue(-this._previousScrollPosition.left);\n root.style.top = coerceCssPixelValue(-this._previousScrollPosition.top);\n root.classList.add('cdk-global-scrollblock');\n this._isEnabled = true;\n }\n }\n /** Unblocks page-level scroll while the attached overlay is open. */\n disable() {\n if (this._isEnabled) {\n const html = this._document.documentElement;\n const body = this._document.body;\n const htmlStyle = html.style;\n const bodyStyle = body.style;\n const previousHtmlScrollBehavior = htmlStyle.scrollBehavior || '';\n const previousBodyScrollBehavior = bodyStyle.scrollBehavior || '';\n this._isEnabled = false;\n htmlStyle.left = this._previousHTMLStyles.left;\n htmlStyle.top = this._previousHTMLStyles.top;\n html.classList.remove('cdk-global-scrollblock');\n // Disable user-defined smooth scrolling temporarily while we restore the scroll position.\n // See https://developer.mozilla.org/en-US/docs/Web/CSS/scroll-behavior\n // Note that we don't mutate the property if the browser doesn't support `scroll-behavior`,\n // because it can throw off feature detections in `supportsScrollBehavior` which\n // checks for `'scrollBehavior' in documentElement.style`.\n if (scrollBehaviorSupported) {\n htmlStyle.scrollBehavior = bodyStyle.scrollBehavior = 'auto';\n }\n window.scroll(this._previousScrollPosition.left, this._previousScrollPosition.top);\n if (scrollBehaviorSupported) {\n htmlStyle.scrollBehavior = previousHtmlScrollBehavior;\n bodyStyle.scrollBehavior = previousBodyScrollBehavior;\n }\n }\n }\n _canBeEnabled() {\n // Since the scroll strategies can't be singletons, we have to use a global CSS class\n // (`cdk-global-scrollblock`) to make sure that we don't try to disable global\n // scrolling multiple times.\n const html = this._document.documentElement;\n if (html.classList.contains('cdk-global-scrollblock') || this._isEnabled) {\n return false;\n }\n const body = this._document.body;\n const viewport = this._viewportRuler.getViewportSize();\n return body.scrollHeight > viewport.height || body.scrollWidth > viewport.width;\n }\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * Returns an error to be thrown when attempting to attach an already-attached scroll strategy.\n */\nfunction getMatScrollStrategyAlreadyAttachedError() {\n return Error(`Scroll strategy has already been attached.`);\n}\n\n/**\n * Strategy that will close the overlay as soon as the user starts scrolling.\n */\nclass CloseScrollStrategy {\n constructor(_scrollDispatcher, _ngZone, _viewportRuler, _config) {\n this._scrollDispatcher = _scrollDispatcher;\n this._ngZone = _ngZone;\n this._viewportRuler = _viewportRuler;\n this._config = _config;\n this._scrollSubscription = null;\n /** Detaches the overlay ref and disables the scroll strategy. */\n this._detach = () => {\n this.disable();\n if (this._overlayRef.hasAttached()) {\n this._ngZone.run(() => this._overlayRef.detach());\n }\n };\n }\n /** Attaches this scroll strategy to an overlay. */\n attach(overlayRef) {\n if (this._overlayRef && (typeof ngDevMode === 'undefined' || ngDevMode)) {\n throw getMatScrollStrategyAlreadyAttachedError();\n }\n this._overlayRef = overlayRef;\n }\n /** Enables the closing of the attached overlay on scroll. */\n enable() {\n if (this._scrollSubscription) {\n return;\n }\n const stream = this._scrollDispatcher.scrolled(0);\n if (this._config && this._config.threshold && this._config.threshold > 1) {\n this._initialScrollPosition = this._viewportRuler.getViewportScrollPosition().top;\n this._scrollSubscription = stream.subscribe(() => {\n const scrollPosition = this._viewportRuler.getViewportScrollPosition().top;\n if (Math.abs(scrollPosition - this._initialScrollPosition) > this._config.threshold) {\n this._detach();\n }\n else {\n this._overlayRef.updatePosition();\n }\n });\n }\n else {\n this._scrollSubscription = stream.subscribe(this._detach);\n }\n }\n /** Disables the closing the attached overlay on scroll. */\n disable() {\n if (this._scrollSubscription) {\n this._scrollSubscription.unsubscribe();\n this._scrollSubscription = null;\n }\n }\n detach() {\n this.disable();\n this._overlayRef = null;\n }\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/** Scroll strategy that doesn't do anything. */\nclass NoopScrollStrategy {\n /** Does nothing, as this scroll strategy is a no-op. */\n enable() { }\n /** Does nothing, as this scroll strategy is a no-op. */\n disable() { }\n /** Does nothing, as this scroll strategy is a no-op. */\n attach() { }\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * Gets whether an element is scrolled outside of view by any of its parent scrolling containers.\n * @param element Dimensions of the element (from getBoundingClientRect)\n * @param scrollContainers Dimensions of element's scrolling containers (from getBoundingClientRect)\n * @returns Whether the element is scrolled out of view\n * @docs-private\n */\nfunction isElementScrolledOutsideView(element, scrollContainers) {\n return scrollContainers.some(containerBounds => {\n const outsideAbove = element.bottom < containerBounds.top;\n const outsideBelow = element.top > containerBounds.bottom;\n const outsideLeft = element.right < containerBounds.left;\n const outsideRight = element.left > containerBounds.right;\n return outsideAbove || outsideBelow || outsideLeft || outsideRight;\n });\n}\n/**\n * Gets whether an element is clipped by any of its scrolling containers.\n * @param element Dimensions of the element (from getBoundingClientRect)\n * @param scrollContainers Dimensions of element's scrolling containers (from getBoundingClientRect)\n * @returns Whether the element is clipped\n * @docs-private\n */\nfunction isElementClippedByScrolling(element, scrollContainers) {\n return scrollContainers.some(scrollContainerRect => {\n const clippedAbove = element.top < scrollContainerRect.top;\n const clippedBelow = element.bottom > scrollContainerRect.bottom;\n const clippedLeft = element.left < scrollContainerRect.left;\n const clippedRight = element.right > scrollContainerRect.right;\n return clippedAbove || clippedBelow || clippedLeft || clippedRight;\n });\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * Strategy that will update the element position as the user is scrolling.\n */\nclass RepositionScrollStrategy {\n constructor(_scrollDispatcher, _viewportRuler, _ngZone, _config) {\n this._scrollDispatcher = _scrollDispatcher;\n this._viewportRuler = _viewportRuler;\n this._ngZone = _ngZone;\n this._config = _config;\n this._scrollSubscription = null;\n }\n /** Attaches this scroll strategy to an overlay. */\n attach(overlayRef) {\n if (this._overlayRef && (typeof ngDevMode === 'undefined' || ngDevMode)) {\n throw getMatScrollStrategyAlreadyAttachedError();\n }\n this._overlayRef = overlayRef;\n }\n /** Enables repositioning of the attached overlay on scroll. */\n enable() {\n if (!this._scrollSubscription) {\n const throttle = this._config ? this._config.scrollThrottle : 0;\n this._scrollSubscription = this._scrollDispatcher.scrolled(throttle).subscribe(() => {\n this._overlayRef.updatePosition();\n // TODO(crisbeto): make `close` on by default once all components can handle it.\n if (this._config && this._config.autoClose) {\n const overlayRect = this._overlayRef.overlayElement.getBoundingClientRect();\n const { width, height } = this._viewportRuler.getViewportSize();\n // TODO(crisbeto): include all ancestor scroll containers here once\n // we have a way of exposing the trigger element to the scroll strategy.\n const parentRects = [{ width, height, bottom: height, right: width, top: 0, left: 0 }];\n if (isElementScrolledOutsideView(overlayRect, parentRects)) {\n this.disable();\n this._ngZone.run(() => this._overlayRef.detach());\n }\n }\n });\n }\n }\n /** Disables repositioning of the attached overlay on scroll. */\n disable() {\n if (this._scrollSubscription) {\n this._scrollSubscription.unsubscribe();\n this._scrollSubscription = null;\n }\n }\n detach() {\n this.disable();\n this._overlayRef = null;\n }\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * Options for how an overlay will handle scrolling.\n *\n * Users can provide a custom value for `ScrollStrategyOptions` to replace the default\n * behaviors. This class primarily acts as a factory for ScrollStrategy instances.\n */\nclass ScrollStrategyOptions {\n constructor(_scrollDispatcher, _viewportRuler, _ngZone, document) {\n this._scrollDispatcher = _scrollDispatcher;\n this._viewportRuler = _viewportRuler;\n this._ngZone = _ngZone;\n /** Do nothing on scroll. */\n this.noop = () => new NoopScrollStrategy();\n /**\n * Close the overlay as soon as the user scrolls.\n * @param config Configuration to be used inside the scroll strategy.\n */\n this.close = (config) => new CloseScrollStrategy(this._scrollDispatcher, this._ngZone, this._viewportRuler, config);\n /** Block scrolling. */\n this.block = () => new BlockScrollStrategy(this._viewportRuler, this._document);\n /**\n * Update the overlay's position on scroll.\n * @param config Configuration to be used inside the scroll strategy.\n * Allows debouncing the reposition calls.\n */\n this.reposition = (config) => new RepositionScrollStrategy(this._scrollDispatcher, this._viewportRuler, this._ngZone, config);\n this._document = document;\n }\n}\nScrollStrategyOptions.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"13.3.0\", ngImport: i0, type: ScrollStrategyOptions, deps: [{ token: i1.ScrollDispatcher }, { token: i1.ViewportRuler }, { token: i0.NgZone }, { token: DOCUMENT }], target: i0.ɵɵFactoryTarget.Injectable });\nScrollStrategyOptions.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"13.3.0\", ngImport: i0, type: ScrollStrategyOptions, providedIn: 'root' });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"13.3.0\", ngImport: i0, type: ScrollStrategyOptions, decorators: [{\n type: Injectable,\n args: [{ providedIn: 'root' }]\n }], ctorParameters: function () { return [{ type: i1.ScrollDispatcher }, { type: i1.ViewportRuler }, { type: i0.NgZone }, { type: undefined, decorators: [{\n type: Inject,\n args: [DOCUMENT]\n }] }]; } });\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/** Initial configuration used when creating an overlay. */\nclass OverlayConfig {\n constructor(config) {\n /** Strategy to be used when handling scroll events while the overlay is open. */\n this.scrollStrategy = new NoopScrollStrategy();\n /** Custom class to add to the overlay pane. */\n this.panelClass = '';\n /** Whether the overlay has a backdrop. */\n this.hasBackdrop = false;\n /** Custom class to add to the backdrop */\n this.backdropClass = 'cdk-overlay-dark-backdrop';\n /**\n * Whether the overlay should be disposed of when the user goes backwards/forwards in history.\n * Note that this usually doesn't include clicking on links (unless the user is using\n * the `HashLocationStrategy`).\n */\n this.disposeOnNavigation = false;\n if (config) {\n // Use `Iterable` instead of `Array` because TypeScript, as of 3.6.3,\n // loses the array generic type in the `for of`. But we *also* have to use `Array` because\n // typescript won't iterate over an `Iterable` unless you compile with `--downlevelIteration`\n const configKeys = Object.keys(config);\n for (const key of configKeys) {\n if (config[key] !== undefined) {\n // TypeScript, as of version 3.5, sees the left-hand-side of this expression\n // as \"I don't know *which* key this is, so the only valid value is the intersection\n // of all the posible values.\" In this case, that happens to be `undefined`. TypeScript\n // is not smart enough to see that the right-hand-side is actually an access of the same\n // exact type with the same exact key, meaning that the value type must be identical.\n // So we use `any` to work around this.\n this[key] = config[key];\n }\n }\n }\n }\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/** The points of the origin element and the overlay element to connect. */\nclass ConnectionPositionPair {\n constructor(origin, overlay, \n /** Offset along the X axis. */\n offsetX, \n /** Offset along the Y axis. */\n offsetY, \n /** Class(es) to be applied to the panel while this position is active. */\n panelClass) {\n this.offsetX = offsetX;\n this.offsetY = offsetY;\n this.panelClass = panelClass;\n this.originX = origin.originX;\n this.originY = origin.originY;\n this.overlayX = overlay.overlayX;\n this.overlayY = overlay.overlayY;\n }\n}\n/**\n * Set of properties regarding the position of the origin and overlay relative to the viewport\n * with respect to the containing Scrollable elements.\n *\n * The overlay and origin are clipped if any part of their bounding client rectangle exceeds the\n * bounds of any one of the strategy's Scrollable's bounding client rectangle.\n *\n * The overlay and origin are outside view if there is no overlap between their bounding client\n * rectangle and any one of the strategy's Scrollable's bounding client rectangle.\n *\n * ----------- -----------\n * | outside | | clipped |\n * | view | --------------------------\n * | | | | | |\n * ---------- | ----------- |\n * -------------------------- | |\n * | | | Scrollable |\n * | | | |\n * | | --------------------------\n * | Scrollable |\n * | |\n * --------------------------\n *\n * @docs-private\n */\nclass ScrollingVisibility {\n}\n/** The change event emitted by the strategy when a fallback position is used. */\nclass ConnectedOverlayPositionChange {\n constructor(\n /** The position used as a result of this change. */\n connectionPair, \n /** @docs-private */\n scrollableViewProperties) {\n this.connectionPair = connectionPair;\n this.scrollableViewProperties = scrollableViewProperties;\n }\n}\n/**\n * Validates whether a vertical position property matches the expected values.\n * @param property Name of the property being validated.\n * @param value Value of the property being validated.\n * @docs-private\n */\nfunction validateVerticalPosition(property, value) {\n if (value !== 'top' && value !== 'bottom' && value !== 'center') {\n throw Error(`ConnectedPosition: Invalid ${property} \"${value}\". ` +\n `Expected \"top\", \"bottom\" or \"center\".`);\n }\n}\n/**\n * Validates whether a horizontal position property matches the expected values.\n * @param property Name of the property being validated.\n * @param value Value of the property being validated.\n * @docs-private\n */\nfunction validateHorizontalPosition(property, value) {\n if (value !== 'start' && value !== 'end' && value !== 'center') {\n throw Error(`ConnectedPosition: Invalid ${property} \"${value}\". ` +\n `Expected \"start\", \"end\" or \"center\".`);\n }\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * Service for dispatching events that land on the body to appropriate overlay ref,\n * if any. It maintains a list of attached overlays to determine best suited overlay based\n * on event target and order of overlay opens.\n */\nclass BaseOverlayDispatcher {\n constructor(document) {\n /** Currently attached overlays in the order they were attached. */\n this._attachedOverlays = [];\n this._document = document;\n }\n ngOnDestroy() {\n this.detach();\n }\n /** Add a new overlay to the list of attached overlay refs. */\n add(overlayRef) {\n // Ensure that we don't get the same overlay multiple times.\n this.remove(overlayRef);\n this._attachedOverlays.push(overlayRef);\n }\n /** Remove an overlay from the list of attached overlay refs. */\n remove(overlayRef) {\n const index = this._attachedOverlays.indexOf(overlayRef);\n if (index > -1) {\n this._attachedOverlays.splice(index, 1);\n }\n // Remove the global listener once there are no more overlays.\n if (this._attachedOverlays.length === 0) {\n this.detach();\n }\n }\n}\nBaseOverlayDispatcher.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"13.3.0\", ngImport: i0, type: BaseOverlayDispatcher, deps: [{ token: DOCUMENT }], target: i0.ɵɵFactoryTarget.Injectable });\nBaseOverlayDispatcher.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"13.3.0\", ngImport: i0, type: BaseOverlayDispatcher, providedIn: 'root' });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"13.3.0\", ngImport: i0, type: BaseOverlayDispatcher, decorators: [{\n type: Injectable,\n args: [{ providedIn: 'root' }]\n }], ctorParameters: function () { return [{ type: undefined, decorators: [{\n type: Inject,\n args: [DOCUMENT]\n }] }]; } });\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * Service for dispatching keyboard events that land on the body to appropriate overlay ref,\n * if any. It maintains a list of attached overlays to determine best suited overlay based\n * on event target and order of overlay opens.\n */\nclass OverlayKeyboardDispatcher extends BaseOverlayDispatcher {\n constructor(document, \n /** @breaking-change 14.0.0 _ngZone will be required. */\n _ngZone) {\n super(document);\n this._ngZone = _ngZone;\n /** Keyboard event listener that will be attached to the body. */\n this._keydownListener = (event) => {\n const overlays = this._attachedOverlays;\n for (let i = overlays.length - 1; i > -1; i--) {\n // Dispatch the keydown event to the top overlay which has subscribers to its keydown events.\n // We want to target the most recent overlay, rather than trying to match where the event came\n // from, because some components might open an overlay, but keep focus on a trigger element\n // (e.g. for select and autocomplete). We skip overlays without keydown event subscriptions,\n // because we don't want overlays that don't handle keyboard events to block the ones below\n // them that do.\n if (overlays[i]._keydownEvents.observers.length > 0) {\n const keydownEvents = overlays[i]._keydownEvents;\n /** @breaking-change 14.0.0 _ngZone will be required. */\n if (this._ngZone) {\n this._ngZone.run(() => keydownEvents.next(event));\n }\n else {\n keydownEvents.next(event);\n }\n break;\n }\n }\n };\n }\n /** Add a new overlay to the list of attached overlay refs. */\n add(overlayRef) {\n super.add(overlayRef);\n // Lazily start dispatcher once first overlay is added\n if (!this._isAttached) {\n /** @breaking-change 14.0.0 _ngZone will be required. */\n if (this._ngZone) {\n this._ngZone.runOutsideAngular(() => this._document.body.addEventListener('keydown', this._keydownListener));\n }\n else {\n this._document.body.addEventListener('keydown', this._keydownListener);\n }\n this._isAttached = true;\n }\n }\n /** Detaches the global keyboard event listener. */\n detach() {\n if (this._isAttached) {\n this._document.body.removeEventListener('keydown', this._keydownListener);\n this._isAttached = false;\n }\n }\n}\nOverlayKeyboardDispatcher.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"13.3.0\", ngImport: i0, type: OverlayKeyboardDispatcher, deps: [{ token: DOCUMENT }, { token: i0.NgZone, optional: true }], target: i0.ɵɵFactoryTarget.Injectable });\nOverlayKeyboardDispatcher.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"13.3.0\", ngImport: i0, type: OverlayKeyboardDispatcher, providedIn: 'root' });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"13.3.0\", ngImport: i0, type: OverlayKeyboardDispatcher, decorators: [{\n type: Injectable,\n args: [{ providedIn: 'root' }]\n }], ctorParameters: function () { return [{ type: undefined, decorators: [{\n type: Inject,\n args: [DOCUMENT]\n }] }, { type: i0.NgZone, decorators: [{\n type: Optional\n }] }]; } });\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * Service for dispatching mouse click events that land on the body to appropriate overlay ref,\n * if any. It maintains a list of attached overlays to determine best suited overlay based\n * on event target and order of overlay opens.\n */\nclass OverlayOutsideClickDispatcher extends BaseOverlayDispatcher {\n constructor(document, _platform, \n /** @breaking-change 14.0.0 _ngZone will be required. */\n _ngZone) {\n super(document);\n this._platform = _platform;\n this._ngZone = _ngZone;\n this._cursorStyleIsSet = false;\n /** Store pointerdown event target to track origin of click. */\n this._pointerDownListener = (event) => {\n this._pointerDownEventTarget = _getEventTarget(event);\n };\n /** Click event listener that will be attached to the body propagate phase. */\n this._clickListener = (event) => {\n const target = _getEventTarget(event);\n // In case of a click event, we want to check the origin of the click\n // (e.g. in case where a user starts a click inside the overlay and\n // releases the click outside of it).\n // This is done by using the event target of the preceding pointerdown event.\n // Every click event caused by a pointer device has a preceding pointerdown\n // event, unless the click was programmatically triggered (e.g. in a unit test).\n const origin = event.type === 'click' && this._pointerDownEventTarget\n ? this._pointerDownEventTarget\n : target;\n // Reset the stored pointerdown event target, to avoid having it interfere\n // in subsequent events.\n this._pointerDownEventTarget = null;\n // We copy the array because the original may be modified asynchronously if the\n // outsidePointerEvents listener decides to detach overlays resulting in index errors inside\n // the for loop.\n const overlays = this._attachedOverlays.slice();\n // Dispatch the mouse event to the top overlay which has subscribers to its mouse events.\n // We want to target all overlays for which the click could be considered as outside click.\n // As soon as we reach an overlay for which the click is not outside click we break off\n // the loop.\n for (let i = overlays.length - 1; i > -1; i--) {\n const overlayRef = overlays[i];\n if (overlayRef._outsidePointerEvents.observers.length < 1 || !overlayRef.hasAttached()) {\n continue;\n }\n // If it's a click inside the overlay, just break - we should do nothing\n // If it's an outside click (both origin and target of the click) dispatch the mouse event,\n // and proceed with the next overlay\n if (overlayRef.overlayElement.contains(target) ||\n overlayRef.overlayElement.contains(origin)) {\n break;\n }\n const outsidePointerEvents = overlayRef._outsidePointerEvents;\n /** @breaking-change 14.0.0 _ngZone will be required. */\n if (this._ngZone) {\n this._ngZone.run(() => outsidePointerEvents.next(event));\n }\n else {\n outsidePointerEvents.next(event);\n }\n }\n };\n }\n /** Add a new overlay to the list of attached overlay refs. */\n add(overlayRef) {\n super.add(overlayRef);\n // Safari on iOS does not generate click events for non-interactive\n // elements. However, we want to receive a click for any element outside\n // the overlay. We can force a \"clickable\" state by setting\n // `cursor: pointer` on the document body. See:\n // https://developer.mozilla.org/en-US/docs/Web/API/Element/click_event#Safari_Mobile\n // https://developer.apple.com/library/archive/documentation/AppleApplications/Reference/SafariWebContent/HandlingEvents/HandlingEvents.html\n if (!this._isAttached) {\n const body = this._document.body;\n /** @breaking-change 14.0.0 _ngZone will be required. */\n if (this._ngZone) {\n this._ngZone.runOutsideAngular(() => this._addEventListeners(body));\n }\n else {\n this._addEventListeners(body);\n }\n // click event is not fired on iOS. To make element \"clickable\" we are\n // setting the cursor to pointer\n if (this._platform.IOS && !this._cursorStyleIsSet) {\n this._cursorOriginalValue = body.style.cursor;\n body.style.cursor = 'pointer';\n this._cursorStyleIsSet = true;\n }\n this._isAttached = true;\n }\n }\n /** Detaches the global keyboard event listener. */\n detach() {\n if (this._isAttached) {\n const body = this._document.body;\n body.removeEventListener('pointerdown', this._pointerDownListener, true);\n body.removeEventListener('click', this._clickListener, true);\n body.removeEventListener('auxclick', this._clickListener, true);\n body.removeEventListener('contextmenu', this._clickListener, true);\n if (this._platform.IOS && this._cursorStyleIsSet) {\n body.style.cursor = this._cursorOriginalValue;\n this._cursorStyleIsSet = false;\n }\n this._isAttached = false;\n }\n }\n _addEventListeners(body) {\n body.addEventListener('pointerdown', this._pointerDownListener, true);\n body.addEventListener('click', this._clickListener, true);\n body.addEventListener('auxclick', this._clickListener, true);\n body.addEventListener('contextmenu', this._clickListener, true);\n }\n}\nOverlayOutsideClickDispatcher.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"13.3.0\", ngImport: i0, type: OverlayOutsideClickDispatcher, deps: [{ token: DOCUMENT }, { token: i1$1.Platform }, { token: i0.NgZone, optional: true }], target: i0.ɵɵFactoryTarget.Injectable });\nOverlayOutsideClickDispatcher.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"13.3.0\", ngImport: i0, type: OverlayOutsideClickDispatcher, providedIn: 'root' });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"13.3.0\", ngImport: i0, type: OverlayOutsideClickDispatcher, decorators: [{\n type: Injectable,\n args: [{ providedIn: 'root' }]\n }], ctorParameters: function () { return [{ type: undefined, decorators: [{\n type: Inject,\n args: [DOCUMENT]\n }] }, { type: i1$1.Platform }, { type: i0.NgZone, decorators: [{\n type: Optional\n }] }]; } });\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/** Container inside which all overlays will render. */\nclass OverlayContainer {\n constructor(document, _platform) {\n this._platform = _platform;\n this._document = document;\n }\n ngOnDestroy() {\n this._containerElement?.remove();\n }\n /**\n * This method returns the overlay container element. It will lazily\n * create the element the first time it is called to facilitate using\n * the container in non-browser environments.\n * @returns the container element\n */\n getContainerElement() {\n if (!this._containerElement) {\n this._createContainer();\n }\n return this._containerElement;\n }\n /**\n * Create the overlay container element, which is simply a div\n * with the 'cdk-overlay-container' class on the document body.\n */\n _createContainer() {\n const containerClass = 'cdk-overlay-container';\n // TODO(crisbeto): remove the testing check once we have an overlay testing\n // module or Angular starts tearing down the testing `NgModule`. See:\n // https://github.com/angular/angular/issues/18831\n if (this._platform.isBrowser || _isTestEnvironment()) {\n const oppositePlatformContainers = this._document.querySelectorAll(`.${containerClass}[platform=\"server\"], ` + `.${containerClass}[platform=\"test\"]`);\n // Remove any old containers from the opposite platform.\n // This can happen when transitioning from the server to the client.\n for (let i = 0; i < oppositePlatformContainers.length; i++) {\n oppositePlatformContainers[i].remove();\n }\n }\n const container = this._document.createElement('div');\n container.classList.add(containerClass);\n // A long time ago we kept adding new overlay containers whenever a new app was instantiated,\n // but at some point we added logic which clears the duplicate ones in order to avoid leaks.\n // The new logic was a little too aggressive since it was breaking some legitimate use cases.\n // To mitigate the problem we made it so that only containers from a different platform are\n // cleared, but the side-effect was that people started depending on the overly-aggressive\n // logic to clean up their tests for them. Until we can introduce an overlay-specific testing\n // module which does the cleanup, we try to detect that we're in a test environment and we\n // always clear the container. See #17006.\n // TODO(crisbeto): remove the test environment check once we have an overlay testing module.\n if (_isTestEnvironment()) {\n container.setAttribute('platform', 'test');\n }\n else if (!this._platform.isBrowser) {\n container.setAttribute('platform', 'server');\n }\n this._document.body.appendChild(container);\n this._containerElement = container;\n }\n}\nOverlayContainer.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"13.3.0\", ngImport: i0, type: OverlayContainer, deps: [{ token: DOCUMENT }, { token: i1$1.Platform }], target: i0.ɵɵFactoryTarget.Injectable });\nOverlayContainer.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"13.3.0\", ngImport: i0, type: OverlayContainer, providedIn: 'root' });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"13.3.0\", ngImport: i0, type: OverlayContainer, decorators: [{\n type: Injectable,\n args: [{ providedIn: 'root' }]\n }], ctorParameters: function () { return [{ type: undefined, decorators: [{\n type: Inject,\n args: [DOCUMENT]\n }] }, { type: i1$1.Platform }]; } });\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * Reference to an overlay that has been created with the Overlay service.\n * Used to manipulate or dispose of said overlay.\n */\nclass OverlayRef {\n constructor(_portalOutlet, _host, _pane, _config, _ngZone, _keyboardDispatcher, _document, _location, _outsideClickDispatcher) {\n this._portalOutlet = _portalOutlet;\n this._host = _host;\n this._pane = _pane;\n this._config = _config;\n this._ngZone = _ngZone;\n this._keyboardDispatcher = _keyboardDispatcher;\n this._document = _document;\n this._location = _location;\n this._outsideClickDispatcher = _outsideClickDispatcher;\n this._backdropElement = null;\n this._backdropClick = new Subject();\n this._attachments = new Subject();\n this._detachments = new Subject();\n this._locationChanges = Subscription.EMPTY;\n this._backdropClickHandler = (event) => this._backdropClick.next(event);\n this._backdropTransitionendHandler = (event) => {\n this._disposeBackdrop(event.target);\n };\n /** Stream of keydown events dispatched to this overlay. */\n this._keydownEvents = new Subject();\n /** Stream of mouse outside events dispatched to this overlay. */\n this._outsidePointerEvents = new Subject();\n if (_config.scrollStrategy) {\n this._scrollStrategy = _config.scrollStrategy;\n this._scrollStrategy.attach(this);\n }\n this._positionStrategy = _config.positionStrategy;\n }\n /** The overlay's HTML element */\n get overlayElement() {\n return this._pane;\n }\n /** The overlay's backdrop HTML element. */\n get backdropElement() {\n return this._backdropElement;\n }\n /**\n * Wrapper around the panel element. Can be used for advanced\n * positioning where a wrapper with specific styling is\n * required around the overlay pane.\n */\n get hostElement() {\n return this._host;\n }\n /**\n * Attaches content, given via a Portal, to the overlay.\n * If the overlay is configured to have a backdrop, it will be created.\n *\n * @param portal Portal instance to which to attach the overlay.\n * @returns The portal attachment result.\n */\n attach(portal) {\n // Insert the host into the DOM before attaching the portal, otherwise\n // the animations module will skip animations on repeat attachments.\n if (!this._host.parentElement && this._previousHostParent) {\n this._previousHostParent.appendChild(this._host);\n }\n const attachResult = this._portalOutlet.attach(portal);\n if (this._positionStrategy) {\n this._positionStrategy.attach(this);\n }\n this._updateStackingOrder();\n this._updateElementSize();\n this._updateElementDirection();\n if (this._scrollStrategy) {\n this._scrollStrategy.enable();\n }\n // Update the position once the zone is stable so that the overlay will be fully rendered\n // before attempting to position it, as the position may depend on the size of the rendered\n // content.\n this._ngZone.onStable.pipe(take(1)).subscribe(() => {\n // The overlay could've been detached before the zone has stabilized.\n if (this.hasAttached()) {\n this.updatePosition();\n }\n });\n // Enable pointer events for the overlay pane element.\n this._togglePointerEvents(true);\n if (this._config.hasBackdrop) {\n this._attachBackdrop();\n }\n if (this._config.panelClass) {\n this._toggleClasses(this._pane, this._config.panelClass, true);\n }\n // Only emit the `attachments` event once all other setup is done.\n this._attachments.next();\n // Track this overlay by the keyboard dispatcher\n this._keyboardDispatcher.add(this);\n if (this._config.disposeOnNavigation) {\n this._locationChanges = this._location.subscribe(() => this.dispose());\n }\n this._outsideClickDispatcher.add(this);\n return attachResult;\n }\n /**\n * Detaches an overlay from a portal.\n * @returns The portal detachment result.\n */\n detach() {\n if (!this.hasAttached()) {\n return;\n }\n this.detachBackdrop();\n // When the overlay is detached, the pane element should disable pointer events.\n // This is necessary because otherwise the pane element will cover the page and disable\n // pointer events therefore. Depends on the position strategy and the applied pane boundaries.\n this._togglePointerEvents(false);\n if (this._positionStrategy && this._positionStrategy.detach) {\n this._positionStrategy.detach();\n }\n if (this._scrollStrategy) {\n this._scrollStrategy.disable();\n }\n const detachmentResult = this._portalOutlet.detach();\n // Only emit after everything is detached.\n this._detachments.next();\n // Remove this overlay from keyboard dispatcher tracking.\n this._keyboardDispatcher.remove(this);\n // Keeping the host element in the DOM can cause scroll jank, because it still gets\n // rendered, even though it's transparent and unclickable which is why we remove it.\n this._detachContentWhenStable();\n this._locationChanges.unsubscribe();\n this._outsideClickDispatcher.remove(this);\n return detachmentResult;\n }\n /** Cleans up the overlay from the DOM. */\n dispose() {\n const isAttached = this.hasAttached();\n if (this._positionStrategy) {\n this._positionStrategy.dispose();\n }\n this._disposeScrollStrategy();\n this._disposeBackdrop(this._backdropElement);\n this._locationChanges.unsubscribe();\n this._keyboardDispatcher.remove(this);\n this._portalOutlet.dispose();\n this._attachments.complete();\n this._backdropClick.complete();\n this._keydownEvents.complete();\n this._outsidePointerEvents.complete();\n this._outsideClickDispatcher.remove(this);\n this._host?.remove();\n this._previousHostParent = this._pane = this._host = null;\n if (isAttached) {\n this._detachments.next();\n }\n this._detachments.complete();\n }\n /** Whether the overlay has attached content. */\n hasAttached() {\n return this._portalOutlet.hasAttached();\n }\n /** Gets an observable that emits when the backdrop has been clicked. */\n backdropClick() {\n return this._backdropClick;\n }\n /** Gets an observable that emits when the overlay has been attached. */\n attachments() {\n return this._attachments;\n }\n /** Gets an observable that emits when the overlay has been detached. */\n detachments() {\n return this._detachments;\n }\n /** Gets an observable of keydown events targeted to this overlay. */\n keydownEvents() {\n return this._keydownEvents;\n }\n /** Gets an observable of pointer events targeted outside this overlay. */\n outsidePointerEvents() {\n return this._outsidePointerEvents;\n }\n /** Gets the current overlay configuration, which is immutable. */\n getConfig() {\n return this._config;\n }\n /** Updates the position of the overlay based on the position strategy. */\n updatePosition() {\n if (this._positionStrategy) {\n this._positionStrategy.apply();\n }\n }\n /** Switches to a new position strategy and updates the overlay position. */\n updatePositionStrategy(strategy) {\n if (strategy === this._positionStrategy) {\n return;\n }\n if (this._positionStrategy) {\n this._positionStrategy.dispose();\n }\n this._positionStrategy = strategy;\n if (this.hasAttached()) {\n strategy.attach(this);\n this.updatePosition();\n }\n }\n /** Update the size properties of the overlay. */\n updateSize(sizeConfig) {\n this._config = { ...this._config, ...sizeConfig };\n this._updateElementSize();\n }\n /** Sets the LTR/RTL direction for the overlay. */\n setDirection(dir) {\n this._config = { ...this._config, direction: dir };\n this._updateElementDirection();\n }\n /** Add a CSS class or an array of classes to the overlay pane. */\n addPanelClass(classes) {\n if (this._pane) {\n this._toggleClasses(this._pane, classes, true);\n }\n }\n /** Remove a CSS class or an array of classes from the overlay pane. */\n removePanelClass(classes) {\n if (this._pane) {\n this._toggleClasses(this._pane, classes, false);\n }\n }\n /**\n * Returns the layout direction of the overlay panel.\n */\n getDirection() {\n const direction = this._config.direction;\n if (!direction) {\n return 'ltr';\n }\n return typeof direction === 'string' ? direction : direction.value;\n }\n /** Switches to a new scroll strategy. */\n updateScrollStrategy(strategy) {\n if (strategy === this._scrollStrategy) {\n return;\n }\n this._disposeScrollStrategy();\n this._scrollStrategy = strategy;\n if (this.hasAttached()) {\n strategy.attach(this);\n strategy.enable();\n }\n }\n /** Updates the text direction of the overlay panel. */\n _updateElementDirection() {\n this._host.setAttribute('dir', this.getDirection());\n }\n /** Updates the size of the overlay element based on the overlay config. */\n _updateElementSize() {\n if (!this._pane) {\n return;\n }\n const style = this._pane.style;\n style.width = coerceCssPixelValue(this._config.width);\n style.height = coerceCssPixelValue(this._config.height);\n style.minWidth = coerceCssPixelValue(this._config.minWidth);\n style.minHeight = coerceCssPixelValue(this._config.minHeight);\n style.maxWidth = coerceCssPixelValue(this._config.maxWidth);\n style.maxHeight = coerceCssPixelValue(this._config.maxHeight);\n }\n /** Toggles the pointer events for the overlay pane element. */\n _togglePointerEvents(enablePointer) {\n this._pane.style.pointerEvents = enablePointer ? '' : 'none';\n }\n /** Attaches a backdrop for this overlay. */\n _attachBackdrop() {\n const showingClass = 'cdk-overlay-backdrop-showing';\n this._backdropElement = this._document.createElement('div');\n this._backdropElement.classList.add('cdk-overlay-backdrop');\n if (this._config.backdropClass) {\n this._toggleClasses(this._backdropElement, this._config.backdropClass, true);\n }\n // Insert the backdrop before the pane in the DOM order,\n // in order to handle stacked overlays properly.\n this._host.parentElement.insertBefore(this._backdropElement, this._host);\n // Forward backdrop clicks such that the consumer of the overlay can perform whatever\n // action desired when such a click occurs (usually closing the overlay).\n this._backdropElement.addEventListener('click', this._backdropClickHandler);\n // Add class to fade-in the backdrop after one frame.\n if (typeof requestAnimationFrame !== 'undefined') {\n this._ngZone.runOutsideAngular(() => {\n requestAnimationFrame(() => {\n if (this._backdropElement) {\n this._backdropElement.classList.add(showingClass);\n }\n });\n });\n }\n else {\n this._backdropElement.classList.add(showingClass);\n }\n }\n /**\n * Updates the stacking order of the element, moving it to the top if necessary.\n * This is required in cases where one overlay was detached, while another one,\n * that should be behind it, was destroyed. The next time both of them are opened,\n * the stacking will be wrong, because the detached element's pane will still be\n * in its original DOM position.\n */\n _updateStackingOrder() {\n if (this._host.nextSibling) {\n this._host.parentNode.appendChild(this._host);\n }\n }\n /** Detaches the backdrop (if any) associated with the overlay. */\n detachBackdrop() {\n const backdropToDetach = this._backdropElement;\n if (!backdropToDetach) {\n return;\n }\n backdropToDetach.classList.remove('cdk-overlay-backdrop-showing');\n this._ngZone.runOutsideAngular(() => {\n backdropToDetach.addEventListener('transitionend', this._backdropTransitionendHandler);\n });\n // If the backdrop doesn't have a transition, the `transitionend` event won't fire.\n // In this case we make it unclickable and we try to remove it after a delay.\n backdropToDetach.style.pointerEvents = 'none';\n // Run this outside the Angular zone because there's nothing that Angular cares about.\n // If it were to run inside the Angular zone, every test that used Overlay would have to be\n // either async or fakeAsync.\n this._backdropTimeout = this._ngZone.runOutsideAngular(() => setTimeout(() => {\n this._disposeBackdrop(backdropToDetach);\n }, 500));\n }\n /** Toggles a single CSS class or an array of classes on an element. */\n _toggleClasses(element, cssClasses, isAdd) {\n const classes = coerceArray(cssClasses || []).filter(c => !!c);\n if (classes.length) {\n isAdd ? element.classList.add(...classes) : element.classList.remove(...classes);\n }\n }\n /** Detaches the overlay content next time the zone stabilizes. */\n _detachContentWhenStable() {\n // Normally we wouldn't have to explicitly run this outside the `NgZone`, however\n // if the consumer is using `zone-patch-rxjs`, the `Subscription.unsubscribe` call will\n // be patched to run inside the zone, which will throw us into an infinite loop.\n this._ngZone.runOutsideAngular(() => {\n // We can't remove the host here immediately, because the overlay pane's content\n // might still be animating. This stream helps us avoid interrupting the animation\n // by waiting for the pane to become empty.\n const subscription = this._ngZone.onStable\n .pipe(takeUntil(merge(this._attachments, this._detachments)))\n .subscribe(() => {\n // Needs a couple of checks for the pane and host, because\n // they may have been removed by the time the zone stabilizes.\n if (!this._pane || !this._host || this._pane.children.length === 0) {\n if (this._pane && this._config.panelClass) {\n this._toggleClasses(this._pane, this._config.panelClass, false);\n }\n if (this._host && this._host.parentElement) {\n this._previousHostParent = this._host.parentElement;\n this._host.remove();\n }\n subscription.unsubscribe();\n }\n });\n });\n }\n /** Disposes of a scroll strategy. */\n _disposeScrollStrategy() {\n const scrollStrategy = this._scrollStrategy;\n if (scrollStrategy) {\n scrollStrategy.disable();\n if (scrollStrategy.detach) {\n scrollStrategy.detach();\n }\n }\n }\n /** Removes a backdrop element from the DOM. */\n _disposeBackdrop(backdrop) {\n if (backdrop) {\n backdrop.removeEventListener('click', this._backdropClickHandler);\n backdrop.removeEventListener('transitionend', this._backdropTransitionendHandler);\n backdrop.remove();\n // It is possible that a new portal has been attached to this overlay since we started\n // removing the backdrop. If that is the case, only clear the backdrop reference if it\n // is still the same instance that we started to remove.\n if (this._backdropElement === backdrop) {\n this._backdropElement = null;\n }\n }\n if (this._backdropTimeout) {\n clearTimeout(this._backdropTimeout);\n this._backdropTimeout = undefined;\n }\n }\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n// TODO: refactor clipping detection into a separate thing (part of scrolling module)\n// TODO: doesn't handle both flexible width and height when it has to scroll along both axis.\n/** Class to be added to the overlay bounding box. */\nconst boundingBoxClass = 'cdk-overlay-connected-position-bounding-box';\n/** Regex used to split a string on its CSS units. */\nconst cssUnitPattern = /([A-Za-z%]+)$/;\n/**\n * A strategy for positioning overlays. Using this strategy, an overlay is given an\n * implicit position relative some origin element. The relative position is defined in terms of\n * a point on the origin element that is connected to a point on the overlay element. For example,\n * a basic dropdown is connecting the bottom-left corner of the origin to the top-left corner\n * of the overlay.\n */\nclass FlexibleConnectedPositionStrategy {\n constructor(connectedTo, _viewportRuler, _document, _platform, _overlayContainer) {\n this._viewportRuler = _viewportRuler;\n this._document = _document;\n this._platform = _platform;\n this._overlayContainer = _overlayContainer;\n /** Last size used for the bounding box. Used to avoid resizing the overlay after open. */\n this._lastBoundingBoxSize = { width: 0, height: 0 };\n /** Whether the overlay was pushed in a previous positioning. */\n this._isPushed = false;\n /** Whether the overlay can be pushed on-screen on the initial open. */\n this._canPush = true;\n /** Whether the overlay can grow via flexible width/height after the initial open. */\n this._growAfterOpen = false;\n /** Whether the overlay's width and height can be constrained to fit within the viewport. */\n this._hasFlexibleDimensions = true;\n /** Whether the overlay position is locked. */\n this._positionLocked = false;\n /** Amount of space that must be maintained between the overlay and the edge of the viewport. */\n this._viewportMargin = 0;\n /** The Scrollable containers used to check scrollable view properties on position change. */\n this._scrollables = [];\n /** Ordered list of preferred positions, from most to least desirable. */\n this._preferredPositions = [];\n /** Subject that emits whenever the position changes. */\n this._positionChanges = new Subject();\n /** Subscription to viewport size changes. */\n this._resizeSubscription = Subscription.EMPTY;\n /** Default offset for the overlay along the x axis. */\n this._offsetX = 0;\n /** Default offset for the overlay along the y axis. */\n this._offsetY = 0;\n /** Keeps track of the CSS classes that the position strategy has applied on the overlay panel. */\n this._appliedPanelClasses = [];\n /** Observable sequence of position changes. */\n this.positionChanges = this._positionChanges;\n this.setOrigin(connectedTo);\n }\n /** Ordered list of preferred positions, from most to least desirable. */\n get positions() {\n return this._preferredPositions;\n }\n /** Attaches this position strategy to an overlay. */\n attach(overlayRef) {\n if (this._overlayRef &&\n overlayRef !== this._overlayRef &&\n (typeof ngDevMode === 'undefined' || ngDevMode)) {\n throw Error('This position strategy is already attached to an overlay');\n }\n this._validatePositions();\n overlayRef.hostElement.classList.add(boundingBoxClass);\n this._overlayRef = overlayRef;\n this._boundingBox = overlayRef.hostElement;\n this._pane = overlayRef.overlayElement;\n this._isDisposed = false;\n this._isInitialRender = true;\n this._lastPosition = null;\n this._resizeSubscription.unsubscribe();\n this._resizeSubscription = this._viewportRuler.change().subscribe(() => {\n // When the window is resized, we want to trigger the next reposition as if it\n // was an initial render, in order for the strategy to pick a new optimal position,\n // otherwise position locking will cause it to stay at the old one.\n this._isInitialRender = true;\n this.apply();\n });\n }\n /**\n * Updates the position of the overlay element, using whichever preferred position relative\n * to the origin best fits on-screen.\n *\n * The selection of a position goes as follows:\n * - If any positions fit completely within the viewport as-is,\n * choose the first position that does so.\n * - If flexible dimensions are enabled and at least one satifies the given minimum width/height,\n * choose the position with the greatest available size modified by the positions' weight.\n * - If pushing is enabled, take the position that went off-screen the least and push it\n * on-screen.\n * - If none of the previous criteria were met, use the position that goes off-screen the least.\n * @docs-private\n */\n apply() {\n // We shouldn't do anything if the strategy was disposed or we're on the server.\n if (this._isDisposed || !this._platform.isBrowser) {\n return;\n }\n // If the position has been applied already (e.g. when the overlay was opened) and the\n // consumer opted into locking in the position, re-use the old position, in order to\n // prevent the overlay from jumping around.\n if (!this._isInitialRender && this._positionLocked && this._lastPosition) {\n this.reapplyLastPosition();\n return;\n }\n this._clearPanelClasses();\n this._resetOverlayElementStyles();\n this._resetBoundingBoxStyles();\n // We need the bounding rects for the origin, the overlay and the container to determine how to position\n // the overlay relative to the origin.\n // We use the viewport rect to determine whether a position would go off-screen.\n this._viewportRect = this._getNarrowedViewportRect();\n this._originRect = this._getOriginRect();\n this._overlayRect = this._pane.getBoundingClientRect();\n this._containerRect = this._overlayContainer.getContainerElement().getBoundingClientRect();\n const originRect = this._originRect;\n const overlayRect = this._overlayRect;\n const viewportRect = this._viewportRect;\n const containerRect = this._containerRect;\n // Positions where the overlay will fit with flexible dimensions.\n const flexibleFits = [];\n // Fallback if none of the preferred positions fit within the viewport.\n let fallback;\n // Go through each of the preferred positions looking for a good fit.\n // If a good fit is found, it will be applied immediately.\n for (let pos of this._preferredPositions) {\n // Get the exact (x, y) coordinate for the point-of-origin on the origin element.\n let originPoint = this._getOriginPoint(originRect, containerRect, pos);\n // From that point-of-origin, get the exact (x, y) coordinate for the top-left corner of the\n // overlay in this position. We use the top-left corner for calculations and later translate\n // this into an appropriate (top, left, bottom, right) style.\n let overlayPoint = this._getOverlayPoint(originPoint, overlayRect, pos);\n // Calculate how well the overlay would fit into the viewport with this point.\n let overlayFit = this._getOverlayFit(overlayPoint, overlayRect, viewportRect, pos);\n // If the overlay, without any further work, fits into the viewport, use this position.\n if (overlayFit.isCompletelyWithinViewport) {\n this._isPushed = false;\n this._applyPosition(pos, originPoint);\n return;\n }\n // If the overlay has flexible dimensions, we can use this position\n // so long as there's enough space for the minimum dimensions.\n if (this._canFitWithFlexibleDimensions(overlayFit, overlayPoint, viewportRect)) {\n // Save positions where the overlay will fit with flexible dimensions. We will use these\n // if none of the positions fit *without* flexible dimensions.\n flexibleFits.push({\n position: pos,\n origin: originPoint,\n overlayRect,\n boundingBoxRect: this._calculateBoundingBoxRect(originPoint, pos),\n });\n continue;\n }\n // If the current preferred position does not fit on the screen, remember the position\n // if it has more visible area on-screen than we've seen and move onto the next preferred\n // position.\n if (!fallback || fallback.overlayFit.visibleArea < overlayFit.visibleArea) {\n fallback = { overlayFit, overlayPoint, originPoint, position: pos, overlayRect };\n }\n }\n // If there are any positions where the overlay would fit with flexible dimensions, choose the\n // one that has the greatest area available modified by the position's weight\n if (flexibleFits.length) {\n let bestFit = null;\n let bestScore = -1;\n for (const fit of flexibleFits) {\n const score = fit.boundingBoxRect.width * fit.boundingBoxRect.height * (fit.position.weight || 1);\n if (score > bestScore) {\n bestScore = score;\n bestFit = fit;\n }\n }\n this._isPushed = false;\n this._applyPosition(bestFit.position, bestFit.origin);\n return;\n }\n // When none of the preferred positions fit within the viewport, take the position\n // that went off-screen the least and attempt to push it on-screen.\n if (this._canPush) {\n // TODO(jelbourn): after pushing, the opening \"direction\" of the overlay might not make sense.\n this._isPushed = true;\n this._applyPosition(fallback.position, fallback.originPoint);\n return;\n }\n // All options for getting the overlay within the viewport have been exhausted, so go with the\n // position that went off-screen the least.\n this._applyPosition(fallback.position, fallback.originPoint);\n }\n detach() {\n this._clearPanelClasses();\n this._lastPosition = null;\n this._previousPushAmount = null;\n this._resizeSubscription.unsubscribe();\n }\n /** Cleanup after the element gets destroyed. */\n dispose() {\n if (this._isDisposed) {\n return;\n }\n // We can't use `_resetBoundingBoxStyles` here, because it resets\n // some properties to zero, rather than removing them.\n if (this._boundingBox) {\n extendStyles(this._boundingBox.style, {\n top: '',\n left: '',\n right: '',\n bottom: '',\n height: '',\n width: '',\n alignItems: '',\n justifyContent: '',\n });\n }\n if (this._pane) {\n this._resetOverlayElementStyles();\n }\n if (this._overlayRef) {\n this._overlayRef.hostElement.classList.remove(boundingBoxClass);\n }\n this.detach();\n this._positionChanges.complete();\n this._overlayRef = this._boundingBox = null;\n this._isDisposed = true;\n }\n /**\n * This re-aligns the overlay element with the trigger in its last calculated position,\n * even if a position higher in the \"preferred positions\" list would now fit. This\n * allows one to re-align the panel without changing the orientation of the panel.\n */\n reapplyLastPosition() {\n if (this._isDisposed || !this._platform.isBrowser) {\n return;\n }\n const lastPosition = this._lastPosition;\n if (lastPosition) {\n this._originRect = this._getOriginRect();\n this._overlayRect = this._pane.getBoundingClientRect();\n this._viewportRect = this._getNarrowedViewportRect();\n this._containerRect = this._overlayContainer.getContainerElement().getBoundingClientRect();\n const originPoint = this._getOriginPoint(this._originRect, this._containerRect, lastPosition);\n this._applyPosition(lastPosition, originPoint);\n }\n else {\n this.apply();\n }\n }\n /**\n * Sets the list of Scrollable containers that host the origin element so that\n * on reposition we can evaluate if it or the overlay has been clipped or outside view. Every\n * Scrollable must be an ancestor element of the strategy's origin element.\n */\n withScrollableContainers(scrollables) {\n this._scrollables = scrollables;\n return this;\n }\n /**\n * Adds new preferred positions.\n * @param positions List of positions options for this overlay.\n */\n withPositions(positions) {\n this._preferredPositions = positions;\n // If the last calculated position object isn't part of the positions anymore, clear\n // it in order to avoid it being picked up if the consumer tries to re-apply.\n if (positions.indexOf(this._lastPosition) === -1) {\n this._lastPosition = null;\n }\n this._validatePositions();\n return this;\n }\n /**\n * Sets a minimum distance the overlay may be positioned to the edge of the viewport.\n * @param margin Required margin between the overlay and the viewport edge in pixels.\n */\n withViewportMargin(margin) {\n this._viewportMargin = margin;\n return this;\n }\n /** Sets whether the overlay's width and height can be constrained to fit within the viewport. */\n withFlexibleDimensions(flexibleDimensions = true) {\n this._hasFlexibleDimensions = flexibleDimensions;\n return this;\n }\n /** Sets whether the overlay can grow after the initial open via flexible width/height. */\n withGrowAfterOpen(growAfterOpen = true) {\n this._growAfterOpen = growAfterOpen;\n return this;\n }\n /** Sets whether the overlay can be pushed on-screen if none of the provided positions fit. */\n withPush(canPush = true) {\n this._canPush = canPush;\n return this;\n }\n /**\n * Sets whether the overlay's position should be locked in after it is positioned\n * initially. When an overlay is locked in, it won't attempt to reposition itself\n * when the position is re-applied (e.g. when the user scrolls away).\n * @param isLocked Whether the overlay should locked in.\n */\n withLockedPosition(isLocked = true) {\n this._positionLocked = isLocked;\n return this;\n }\n /**\n * Sets the origin, relative to which to position the overlay.\n * Using an element origin is useful for building components that need to be positioned\n * relatively to a trigger (e.g. dropdown menus or tooltips), whereas using a point can be\n * used for cases like contextual menus which open relative to the user's pointer.\n * @param origin Reference to the new origin.\n */\n setOrigin(origin) {\n this._origin = origin;\n return this;\n }\n /**\n * Sets the default offset for the overlay's connection point on the x-axis.\n * @param offset New offset in the X axis.\n */\n withDefaultOffsetX(offset) {\n this._offsetX = offset;\n return this;\n }\n /**\n * Sets the default offset for the overlay's connection point on the y-axis.\n * @param offset New offset in the Y axis.\n */\n withDefaultOffsetY(offset) {\n this._offsetY = offset;\n return this;\n }\n /**\n * Configures that the position strategy should set a `transform-origin` on some elements\n * inside the overlay, depending on the current position that is being applied. This is\n * useful for the cases where the origin of an animation can change depending on the\n * alignment of the overlay.\n * @param selector CSS selector that will be used to find the target\n * elements onto which to set the transform origin.\n */\n withTransformOriginOn(selector) {\n this._transformOriginSelector = selector;\n return this;\n }\n /**\n * Gets the (x, y) coordinate of a connection point on the origin based on a relative position.\n */\n _getOriginPoint(originRect, containerRect, pos) {\n let x;\n if (pos.originX == 'center') {\n // Note: when centering we should always use the `left`\n // offset, otherwise the position will be wrong in RTL.\n x = originRect.left + originRect.width / 2;\n }\n else {\n const startX = this._isRtl() ? originRect.right : originRect.left;\n const endX = this._isRtl() ? originRect.left : originRect.right;\n x = pos.originX == 'start' ? startX : endX;\n }\n // When zooming in Safari the container rectangle contains negative values for the position\n // and we need to re-add them to the calculated coordinates.\n if (containerRect.left < 0) {\n x -= containerRect.left;\n }\n let y;\n if (pos.originY == 'center') {\n y = originRect.top + originRect.height / 2;\n }\n else {\n y = pos.originY == 'top' ? originRect.top : originRect.bottom;\n }\n // Normally the containerRect's top value would be zero, however when the overlay is attached to an input\n // (e.g. in an autocomplete), mobile browsers will shift everything in order to put the input in the middle\n // of the screen and to make space for the virtual keyboard. We need to account for this offset,\n // otherwise our positioning will be thrown off.\n // Additionally, when zooming in Safari this fixes the vertical position.\n if (containerRect.top < 0) {\n y -= containerRect.top;\n }\n return { x, y };\n }\n /**\n * Gets the (x, y) coordinate of the top-left corner of the overlay given a given position and\n * origin point to which the overlay should be connected.\n */\n _getOverlayPoint(originPoint, overlayRect, pos) {\n // Calculate the (overlayStartX, overlayStartY), the start of the\n // potential overlay position relative to the origin point.\n let overlayStartX;\n if (pos.overlayX == 'center') {\n overlayStartX = -overlayRect.width / 2;\n }\n else if (pos.overlayX === 'start') {\n overlayStartX = this._isRtl() ? -overlayRect.width : 0;\n }\n else {\n overlayStartX = this._isRtl() ? 0 : -overlayRect.width;\n }\n let overlayStartY;\n if (pos.overlayY == 'center') {\n overlayStartY = -overlayRect.height / 2;\n }\n else {\n overlayStartY = pos.overlayY == 'top' ? 0 : -overlayRect.height;\n }\n // The (x, y) coordinates of the overlay.\n return {\n x: originPoint.x + overlayStartX,\n y: originPoint.y + overlayStartY,\n };\n }\n /** Gets how well an overlay at the given point will fit within the viewport. */\n _getOverlayFit(point, rawOverlayRect, viewport, position) {\n // Round the overlay rect when comparing against the\n // viewport, because the viewport is always rounded.\n const overlay = getRoundedBoundingClientRect(rawOverlayRect);\n let { x, y } = point;\n let offsetX = this._getOffset(position, 'x');\n let offsetY = this._getOffset(position, 'y');\n // Account for the offsets since they could push the overlay out of the viewport.\n if (offsetX) {\n x += offsetX;\n }\n if (offsetY) {\n y += offsetY;\n }\n // How much the overlay would overflow at this position, on each side.\n let leftOverflow = 0 - x;\n let rightOverflow = x + overlay.width - viewport.width;\n let topOverflow = 0 - y;\n let bottomOverflow = y + overlay.height - viewport.height;\n // Visible parts of the element on each axis.\n let visibleWidth = this._subtractOverflows(overlay.width, leftOverflow, rightOverflow);\n let visibleHeight = this._subtractOverflows(overlay.height, topOverflow, bottomOverflow);\n let visibleArea = visibleWidth * visibleHeight;\n return {\n visibleArea,\n isCompletelyWithinViewport: overlay.width * overlay.height === visibleArea,\n fitsInViewportVertically: visibleHeight === overlay.height,\n fitsInViewportHorizontally: visibleWidth == overlay.width,\n };\n }\n /**\n * Whether the overlay can fit within the viewport when it may resize either its width or height.\n * @param fit How well the overlay fits in the viewport at some position.\n * @param point The (x, y) coordinates of the overlay at some position.\n * @param viewport The geometry of the viewport.\n */\n _canFitWithFlexibleDimensions(fit, point, viewport) {\n if (this._hasFlexibleDimensions) {\n const availableHeight = viewport.bottom - point.y;\n const availableWidth = viewport.right - point.x;\n const minHeight = getPixelValue(this._overlayRef.getConfig().minHeight);\n const minWidth = getPixelValue(this._overlayRef.getConfig().minWidth);\n const verticalFit = fit.fitsInViewportVertically || (minHeight != null && minHeight <= availableHeight);\n const horizontalFit = fit.fitsInViewportHorizontally || (minWidth != null && minWidth <= availableWidth);\n return verticalFit && horizontalFit;\n }\n return false;\n }\n /**\n * Gets the point at which the overlay can be \"pushed\" on-screen. If the overlay is larger than\n * the viewport, the top-left corner will be pushed on-screen (with overflow occuring on the\n * right and bottom).\n *\n * @param start Starting point from which the overlay is pushed.\n * @param rawOverlayRect Dimensions of the overlay.\n * @param scrollPosition Current viewport scroll position.\n * @returns The point at which to position the overlay after pushing. This is effectively a new\n * originPoint.\n */\n _pushOverlayOnScreen(start, rawOverlayRect, scrollPosition) {\n // If the position is locked and we've pushed the overlay already, reuse the previous push\n // amount, rather than pushing it again. If we were to continue pushing, the element would\n // remain in the viewport, which goes against the expectations when position locking is enabled.\n if (this._previousPushAmount && this._positionLocked) {\n return {\n x: start.x + this._previousPushAmount.x,\n y: start.y + this._previousPushAmount.y,\n };\n }\n // Round the overlay rect when comparing against the\n // viewport, because the viewport is always rounded.\n const overlay = getRoundedBoundingClientRect(rawOverlayRect);\n const viewport = this._viewportRect;\n // Determine how much the overlay goes outside the viewport on each\n // side, which we'll use to decide which direction to push it.\n const overflowRight = Math.max(start.x + overlay.width - viewport.width, 0);\n const overflowBottom = Math.max(start.y + overlay.height - viewport.height, 0);\n const overflowTop = Math.max(viewport.top - scrollPosition.top - start.y, 0);\n const overflowLeft = Math.max(viewport.left - scrollPosition.left - start.x, 0);\n // Amount by which to push the overlay in each axis such that it remains on-screen.\n let pushX = 0;\n let pushY = 0;\n // If the overlay fits completely within the bounds of the viewport, push it from whichever\n // direction is goes off-screen. Otherwise, push the top-left corner such that its in the\n // viewport and allow for the trailing end of the overlay to go out of bounds.\n if (overlay.width <= viewport.width) {\n pushX = overflowLeft || -overflowRight;\n }\n else {\n pushX = start.x < this._viewportMargin ? viewport.left - scrollPosition.left - start.x : 0;\n }\n if (overlay.height <= viewport.height) {\n pushY = overflowTop || -overflowBottom;\n }\n else {\n pushY = start.y < this._viewportMargin ? viewport.top - scrollPosition.top - start.y : 0;\n }\n this._previousPushAmount = { x: pushX, y: pushY };\n return {\n x: start.x + pushX,\n y: start.y + pushY,\n };\n }\n /**\n * Applies a computed position to the overlay and emits a position change.\n * @param position The position preference\n * @param originPoint The point on the origin element where the overlay is connected.\n */\n _applyPosition(position, originPoint) {\n this._setTransformOrigin(position);\n this._setOverlayElementStyles(originPoint, position);\n this._setBoundingBoxStyles(originPoint, position);\n if (position.panelClass) {\n this._addPanelClasses(position.panelClass);\n }\n // Save the last connected position in case the position needs to be re-calculated.\n this._lastPosition = position;\n // Notify that the position has been changed along with its change properties.\n // We only emit if we've got any subscriptions, because the scroll visibility\n // calculcations can be somewhat expensive.\n if (this._positionChanges.observers.length) {\n const scrollableViewProperties = this._getScrollVisibility();\n const changeEvent = new ConnectedOverlayPositionChange(position, scrollableViewProperties);\n this._positionChanges.next(changeEvent);\n }\n this._isInitialRender = false;\n }\n /** Sets the transform origin based on the configured selector and the passed-in position. */\n _setTransformOrigin(position) {\n if (!this._transformOriginSelector) {\n return;\n }\n const elements = this._boundingBox.querySelectorAll(this._transformOriginSelector);\n let xOrigin;\n let yOrigin = position.overlayY;\n if (position.overlayX === 'center') {\n xOrigin = 'center';\n }\n else if (this._isRtl()) {\n xOrigin = position.overlayX === 'start' ? 'right' : 'left';\n }\n else {\n xOrigin = position.overlayX === 'start' ? 'left' : 'right';\n }\n for (let i = 0; i < elements.length; i++) {\n elements[i].style.transformOrigin = `${xOrigin} ${yOrigin}`;\n }\n }\n /**\n * Gets the position and size of the overlay's sizing container.\n *\n * This method does no measuring and applies no styles so that we can cheaply compute the\n * bounds for all positions and choose the best fit based on these results.\n */\n _calculateBoundingBoxRect(origin, position) {\n const viewport = this._viewportRect;\n const isRtl = this._isRtl();\n let height, top, bottom;\n if (position.overlayY === 'top') {\n // Overlay is opening \"downward\" and thus is bound by the bottom viewport edge.\n top = origin.y;\n height = viewport.height - top + this._viewportMargin;\n }\n else if (position.overlayY === 'bottom') {\n // Overlay is opening \"upward\" and thus is bound by the top viewport edge. We need to add\n // the viewport margin back in, because the viewport rect is narrowed down to remove the\n // margin, whereas the `origin` position is calculated based on its `ClientRect`.\n bottom = viewport.height - origin.y + this._viewportMargin * 2;\n height = viewport.height - bottom + this._viewportMargin;\n }\n else {\n // If neither top nor bottom, it means that the overlay is vertically centered on the\n // origin point. Note that we want the position relative to the viewport, rather than\n // the page, which is why we don't use something like `viewport.bottom - origin.y` and\n // `origin.y - viewport.top`.\n const smallestDistanceToViewportEdge = Math.min(viewport.bottom - origin.y + viewport.top, origin.y);\n const previousHeight = this._lastBoundingBoxSize.height;\n height = smallestDistanceToViewportEdge * 2;\n top = origin.y - smallestDistanceToViewportEdge;\n if (height > previousHeight && !this._isInitialRender && !this._growAfterOpen) {\n top = origin.y - previousHeight / 2;\n }\n }\n // The overlay is opening 'right-ward' (the content flows to the right).\n const isBoundedByRightViewportEdge = (position.overlayX === 'start' && !isRtl) || (position.overlayX === 'end' && isRtl);\n // The overlay is opening 'left-ward' (the content flows to the left).\n const isBoundedByLeftViewportEdge = (position.overlayX === 'end' && !isRtl) || (position.overlayX === 'start' && isRtl);\n let width, left, right;\n if (isBoundedByLeftViewportEdge) {\n right = viewport.width - origin.x + this._viewportMargin;\n width = origin.x - this._viewportMargin;\n }\n else if (isBoundedByRightViewportEdge) {\n left = origin.x;\n width = viewport.right - origin.x;\n }\n else {\n // If neither start nor end, it means that the overlay is horizontally centered on the\n // origin point. Note that we want the position relative to the viewport, rather than\n // the page, which is why we don't use something like `viewport.right - origin.x` and\n // `origin.x - viewport.left`.\n const smallestDistanceToViewportEdge = Math.min(viewport.right - origin.x + viewport.left, origin.x);\n const previousWidth = this._lastBoundingBoxSize.width;\n width = smallestDistanceToViewportEdge * 2;\n left = origin.x - smallestDistanceToViewportEdge;\n if (width > previousWidth && !this._isInitialRender && !this._growAfterOpen) {\n left = origin.x - previousWidth / 2;\n }\n }\n return { top: top, left: left, bottom: bottom, right: right, width, height };\n }\n /**\n * Sets the position and size of the overlay's sizing wrapper. The wrapper is positioned on the\n * origin's connection point and stetches to the bounds of the viewport.\n *\n * @param origin The point on the origin element where the overlay is connected.\n * @param position The position preference\n */\n _setBoundingBoxStyles(origin, position) {\n const boundingBoxRect = this._calculateBoundingBoxRect(origin, position);\n // It's weird if the overlay *grows* while scrolling, so we take the last size into account\n // when applying a new size.\n if (!this._isInitialRender && !this._growAfterOpen) {\n boundingBoxRect.height = Math.min(boundingBoxRect.height, this._lastBoundingBoxSize.height);\n boundingBoxRect.width = Math.min(boundingBoxRect.width, this._lastBoundingBoxSize.width);\n }\n const styles = {};\n if (this._hasExactPosition()) {\n styles.top = styles.left = '0';\n styles.bottom = styles.right = styles.maxHeight = styles.maxWidth = '';\n styles.width = styles.height = '100%';\n }\n else {\n const maxHeight = this._overlayRef.getConfig().maxHeight;\n const maxWidth = this._overlayRef.getConfig().maxWidth;\n styles.height = coerceCssPixelValue(boundingBoxRect.height);\n styles.top = coerceCssPixelValue(boundingBoxRect.top);\n styles.bottom = coerceCssPixelValue(boundingBoxRect.bottom);\n styles.width = coerceCssPixelValue(boundingBoxRect.width);\n styles.left = coerceCssPixelValue(boundingBoxRect.left);\n styles.right = coerceCssPixelValue(boundingBoxRect.right);\n // Push the pane content towards the proper direction.\n if (position.overlayX === 'center') {\n styles.alignItems = 'center';\n }\n else {\n styles.alignItems = position.overlayX === 'end' ? 'flex-end' : 'flex-start';\n }\n if (position.overlayY === 'center') {\n styles.justifyContent = 'center';\n }\n else {\n styles.justifyContent = position.overlayY === 'bottom' ? 'flex-end' : 'flex-start';\n }\n if (maxHeight) {\n styles.maxHeight = coerceCssPixelValue(maxHeight);\n }\n if (maxWidth) {\n styles.maxWidth = coerceCssPixelValue(maxWidth);\n }\n }\n this._lastBoundingBoxSize = boundingBoxRect;\n extendStyles(this._boundingBox.style, styles);\n }\n /** Resets the styles for the bounding box so that a new positioning can be computed. */\n _resetBoundingBoxStyles() {\n extendStyles(this._boundingBox.style, {\n top: '0',\n left: '0',\n right: '0',\n bottom: '0',\n height: '',\n width: '',\n alignItems: '',\n justifyContent: '',\n });\n }\n /** Resets the styles for the overlay pane so that a new positioning can be computed. */\n _resetOverlayElementStyles() {\n extendStyles(this._pane.style, {\n top: '',\n left: '',\n bottom: '',\n right: '',\n position: '',\n transform: '',\n });\n }\n /** Sets positioning styles to the overlay element. */\n _setOverlayElementStyles(originPoint, position) {\n const styles = {};\n const hasExactPosition = this._hasExactPosition();\n const hasFlexibleDimensions = this._hasFlexibleDimensions;\n const config = this._overlayRef.getConfig();\n if (hasExactPosition) {\n const scrollPosition = this._viewportRuler.getViewportScrollPosition();\n extendStyles(styles, this._getExactOverlayY(position, originPoint, scrollPosition));\n extendStyles(styles, this._getExactOverlayX(position, originPoint, scrollPosition));\n }\n else {\n styles.position = 'static';\n }\n // Use a transform to apply the offsets. We do this because the `center` positions rely on\n // being in the normal flex flow and setting a `top` / `left` at all will completely throw\n // off the position. We also can't use margins, because they won't have an effect in some\n // cases where the element doesn't have anything to \"push off of\". Finally, this works\n // better both with flexible and non-flexible positioning.\n let transformString = '';\n let offsetX = this._getOffset(position, 'x');\n let offsetY = this._getOffset(position, 'y');\n if (offsetX) {\n transformString += `translateX(${offsetX}px) `;\n }\n if (offsetY) {\n transformString += `translateY(${offsetY}px)`;\n }\n styles.transform = transformString.trim();\n // If a maxWidth or maxHeight is specified on the overlay, we remove them. We do this because\n // we need these values to both be set to \"100%\" for the automatic flexible sizing to work.\n // The maxHeight and maxWidth are set on the boundingBox in order to enforce the constraint.\n // Note that this doesn't apply when we have an exact position, in which case we do want to\n // apply them because they'll be cleared from the bounding box.\n if (config.maxHeight) {\n if (hasExactPosition) {\n styles.maxHeight = coerceCssPixelValue(config.maxHeight);\n }\n else if (hasFlexibleDimensions) {\n styles.maxHeight = '';\n }\n }\n if (config.maxWidth) {\n if (hasExactPosition) {\n styles.maxWidth = coerceCssPixelValue(config.maxWidth);\n }\n else if (hasFlexibleDimensions) {\n styles.maxWidth = '';\n }\n }\n extendStyles(this._pane.style, styles);\n }\n /** Gets the exact top/bottom for the overlay when not using flexible sizing or when pushing. */\n _getExactOverlayY(position, originPoint, scrollPosition) {\n // Reset any existing styles. This is necessary in case the\n // preferred position has changed since the last `apply`.\n let styles = { top: '', bottom: '' };\n let overlayPoint = this._getOverlayPoint(originPoint, this._overlayRect, position);\n if (this._isPushed) {\n overlayPoint = this._pushOverlayOnScreen(overlayPoint, this._overlayRect, scrollPosition);\n }\n // We want to set either `top` or `bottom` based on whether the overlay wants to appear\n // above or below the origin and the direction in which the element will expand.\n if (position.overlayY === 'bottom') {\n // When using `bottom`, we adjust the y position such that it is the distance\n // from the bottom of the viewport rather than the top.\n const documentHeight = this._document.documentElement.clientHeight;\n styles.bottom = `${documentHeight - (overlayPoint.y + this._overlayRect.height)}px`;\n }\n else {\n styles.top = coerceCssPixelValue(overlayPoint.y);\n }\n return styles;\n }\n /** Gets the exact left/right for the overlay when not using flexible sizing or when pushing. */\n _getExactOverlayX(position, originPoint, scrollPosition) {\n // Reset any existing styles. This is necessary in case the preferred position has\n // changed since the last `apply`.\n let styles = { left: '', right: '' };\n let overlayPoint = this._getOverlayPoint(originPoint, this._overlayRect, position);\n if (this._isPushed) {\n overlayPoint = this._pushOverlayOnScreen(overlayPoint, this._overlayRect, scrollPosition);\n }\n // We want to set either `left` or `right` based on whether the overlay wants to appear \"before\"\n // or \"after\" the origin, which determines the direction in which the element will expand.\n // For the horizontal axis, the meaning of \"before\" and \"after\" change based on whether the\n // page is in RTL or LTR.\n let horizontalStyleProperty;\n if (this._isRtl()) {\n horizontalStyleProperty = position.overlayX === 'end' ? 'left' : 'right';\n }\n else {\n horizontalStyleProperty = position.overlayX === 'end' ? 'right' : 'left';\n }\n // When we're setting `right`, we adjust the x position such that it is the distance\n // from the right edge of the viewport rather than the left edge.\n if (horizontalStyleProperty === 'right') {\n const documentWidth = this._document.documentElement.clientWidth;\n styles.right = `${documentWidth - (overlayPoint.x + this._overlayRect.width)}px`;\n }\n else {\n styles.left = coerceCssPixelValue(overlayPoint.x);\n }\n return styles;\n }\n /**\n * Gets the view properties of the trigger and overlay, including whether they are clipped\n * or completely outside the view of any of the strategy's scrollables.\n */\n _getScrollVisibility() {\n // Note: needs fresh rects since the position could've changed.\n const originBounds = this._getOriginRect();\n const overlayBounds = this._pane.getBoundingClientRect();\n // TODO(jelbourn): instead of needing all of the client rects for these scrolling containers\n // every time, we should be able to use the scrollTop of the containers if the size of those\n // containers hasn't changed.\n const scrollContainerBounds = this._scrollables.map(scrollable => {\n return scrollable.getElementRef().nativeElement.getBoundingClientRect();\n });\n return {\n isOriginClipped: isElementClippedByScrolling(originBounds, scrollContainerBounds),\n isOriginOutsideView: isElementScrolledOutsideView(originBounds, scrollContainerBounds),\n isOverlayClipped: isElementClippedByScrolling(overlayBounds, scrollContainerBounds),\n isOverlayOutsideView: isElementScrolledOutsideView(overlayBounds, scrollContainerBounds),\n };\n }\n /** Subtracts the amount that an element is overflowing on an axis from its length. */\n _subtractOverflows(length, ...overflows) {\n return overflows.reduce((currentValue, currentOverflow) => {\n return currentValue - Math.max(currentOverflow, 0);\n }, length);\n }\n /** Narrows the given viewport rect by the current _viewportMargin. */\n _getNarrowedViewportRect() {\n // We recalculate the viewport rect here ourselves, rather than using the ViewportRuler,\n // because we want to use the `clientWidth` and `clientHeight` as the base. The difference\n // being that the client properties don't include the scrollbar, as opposed to `innerWidth`\n // and `innerHeight` that do. This is necessary, because the overlay container uses\n // 100% `width` and `height` which don't include the scrollbar either.\n const width = this._document.documentElement.clientWidth;\n const height = this._document.documentElement.clientHeight;\n const scrollPosition = this._viewportRuler.getViewportScrollPosition();\n return {\n top: scrollPosition.top + this._viewportMargin,\n left: scrollPosition.left + this._viewportMargin,\n right: scrollPosition.left + width - this._viewportMargin,\n bottom: scrollPosition.top + height - this._viewportMargin,\n width: width - 2 * this._viewportMargin,\n height: height - 2 * this._viewportMargin,\n };\n }\n /** Whether the we're dealing with an RTL context */\n _isRtl() {\n return this._overlayRef.getDirection() === 'rtl';\n }\n /** Determines whether the overlay uses exact or flexible positioning. */\n _hasExactPosition() {\n return !this._hasFlexibleDimensions || this._isPushed;\n }\n /** Retrieves the offset of a position along the x or y axis. */\n _getOffset(position, axis) {\n if (axis === 'x') {\n // We don't do something like `position['offset' + axis]` in\n // order to avoid breking minifiers that rename properties.\n return position.offsetX == null ? this._offsetX : position.offsetX;\n }\n return position.offsetY == null ? this._offsetY : position.offsetY;\n }\n /** Validates that the current position match the expected values. */\n _validatePositions() {\n if (typeof ngDevMode === 'undefined' || ngDevMode) {\n if (!this._preferredPositions.length) {\n throw Error('FlexibleConnectedPositionStrategy: At least one position is required.');\n }\n // TODO(crisbeto): remove these once Angular's template type\n // checking is advanced enough to catch these cases.\n this._preferredPositions.forEach(pair => {\n validateHorizontalPosition('originX', pair.originX);\n validateVerticalPosition('originY', pair.originY);\n validateHorizontalPosition('overlayX', pair.overlayX);\n validateVerticalPosition('overlayY', pair.overlayY);\n });\n }\n }\n /** Adds a single CSS class or an array of classes on the overlay panel. */\n _addPanelClasses(cssClasses) {\n if (this._pane) {\n coerceArray(cssClasses).forEach(cssClass => {\n if (cssClass !== '' && this._appliedPanelClasses.indexOf(cssClass) === -1) {\n this._appliedPanelClasses.push(cssClass);\n this._pane.classList.add(cssClass);\n }\n });\n }\n }\n /** Clears the classes that the position strategy has applied from the overlay panel. */\n _clearPanelClasses() {\n if (this._pane) {\n this._appliedPanelClasses.forEach(cssClass => {\n this._pane.classList.remove(cssClass);\n });\n this._appliedPanelClasses = [];\n }\n }\n /** Returns the ClientRect of the current origin. */\n _getOriginRect() {\n const origin = this._origin;\n if (origin instanceof ElementRef) {\n return origin.nativeElement.getBoundingClientRect();\n }\n // Check for Element so SVG elements are also supported.\n if (origin instanceof Element) {\n return origin.getBoundingClientRect();\n }\n const width = origin.width || 0;\n const height = origin.height || 0;\n // If the origin is a point, return a client rect as if it was a 0x0 element at the point.\n return {\n top: origin.y,\n bottom: origin.y + height,\n left: origin.x,\n right: origin.x + width,\n height,\n width,\n };\n }\n}\n/** Shallow-extends a stylesheet object with another stylesheet object. */\nfunction extendStyles(destination, source) {\n for (let key in source) {\n if (source.hasOwnProperty(key)) {\n destination[key] = source[key];\n }\n }\n return destination;\n}\n/**\n * Extracts the pixel value as a number from a value, if it's a number\n * or a CSS pixel string (e.g. `1337px`). Otherwise returns null.\n */\nfunction getPixelValue(input) {\n if (typeof input !== 'number' && input != null) {\n const [value, units] = input.split(cssUnitPattern);\n return !units || units === 'px' ? parseFloat(value) : null;\n }\n return input || null;\n}\n/**\n * Gets a version of an element's bounding `ClientRect` where all the values are rounded down to\n * the nearest pixel. This allows us to account for the cases where there may be sub-pixel\n * deviations in the `ClientRect` returned by the browser (e.g. when zoomed in with a percentage\n * size, see #21350).\n */\nfunction getRoundedBoundingClientRect(clientRect) {\n return {\n top: Math.floor(clientRect.top),\n right: Math.floor(clientRect.right),\n bottom: Math.floor(clientRect.bottom),\n left: Math.floor(clientRect.left),\n width: Math.floor(clientRect.width),\n height: Math.floor(clientRect.height),\n };\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/** Class to be added to the overlay pane wrapper. */\nconst wrapperClass = 'cdk-global-overlay-wrapper';\n/**\n * A strategy for positioning overlays. Using this strategy, an overlay is given an\n * explicit position relative to the browser's viewport. We use flexbox, instead of\n * transforms, in order to avoid issues with subpixel rendering which can cause the\n * element to become blurry.\n */\nclass GlobalPositionStrategy {\n constructor() {\n this._cssPosition = 'static';\n this._topOffset = '';\n this._bottomOffset = '';\n this._leftOffset = '';\n this._rightOffset = '';\n this._alignItems = '';\n this._justifyContent = '';\n this._width = '';\n this._height = '';\n }\n attach(overlayRef) {\n const config = overlayRef.getConfig();\n this._overlayRef = overlayRef;\n if (this._width && !config.width) {\n overlayRef.updateSize({ width: this._width });\n }\n if (this._height && !config.height) {\n overlayRef.updateSize({ height: this._height });\n }\n overlayRef.hostElement.classList.add(wrapperClass);\n this._isDisposed = false;\n }\n /**\n * Sets the top position of the overlay. Clears any previously set vertical position.\n * @param value New top offset.\n */\n top(value = '') {\n this._bottomOffset = '';\n this._topOffset = value;\n this._alignItems = 'flex-start';\n return this;\n }\n /**\n * Sets the left position of the overlay. Clears any previously set horizontal position.\n * @param value New left offset.\n */\n left(value = '') {\n this._rightOffset = '';\n this._leftOffset = value;\n this._justifyContent = 'flex-start';\n return this;\n }\n /**\n * Sets the bottom position of the overlay. Clears any previously set vertical position.\n * @param value New bottom offset.\n */\n bottom(value = '') {\n this._topOffset = '';\n this._bottomOffset = value;\n this._alignItems = 'flex-end';\n return this;\n }\n /**\n * Sets the right position of the overlay. Clears any previously set horizontal position.\n * @param value New right offset.\n */\n right(value = '') {\n this._leftOffset = '';\n this._rightOffset = value;\n this._justifyContent = 'flex-end';\n return this;\n }\n /**\n * Sets the overlay width and clears any previously set width.\n * @param value New width for the overlay\n * @deprecated Pass the `width` through the `OverlayConfig`.\n * @breaking-change 8.0.0\n */\n width(value = '') {\n if (this._overlayRef) {\n this._overlayRef.updateSize({ width: value });\n }\n else {\n this._width = value;\n }\n return this;\n }\n /**\n * Sets the overlay height and clears any previously set height.\n * @param value New height for the overlay\n * @deprecated Pass the `height` through the `OverlayConfig`.\n * @breaking-change 8.0.0\n */\n height(value = '') {\n if (this._overlayRef) {\n this._overlayRef.updateSize({ height: value });\n }\n else {\n this._height = value;\n }\n return this;\n }\n /**\n * Centers the overlay horizontally with an optional offset.\n * Clears any previously set horizontal position.\n *\n * @param offset Overlay offset from the horizontal center.\n */\n centerHorizontally(offset = '') {\n this.left(offset);\n this._justifyContent = 'center';\n return this;\n }\n /**\n * Centers the overlay vertically with an optional offset.\n * Clears any previously set vertical position.\n *\n * @param offset Overlay offset from the vertical center.\n */\n centerVertically(offset = '') {\n this.top(offset);\n this._alignItems = 'center';\n return this;\n }\n /**\n * Apply the position to the element.\n * @docs-private\n */\n apply() {\n // Since the overlay ref applies the strategy asynchronously, it could\n // have been disposed before it ends up being applied. If that is the\n // case, we shouldn't do anything.\n if (!this._overlayRef || !this._overlayRef.hasAttached()) {\n return;\n }\n const styles = this._overlayRef.overlayElement.style;\n const parentStyles = this._overlayRef.hostElement.style;\n const config = this._overlayRef.getConfig();\n const { width, height, maxWidth, maxHeight } = config;\n const shouldBeFlushHorizontally = (width === '100%' || width === '100vw') &&\n (!maxWidth || maxWidth === '100%' || maxWidth === '100vw');\n const shouldBeFlushVertically = (height === '100%' || height === '100vh') &&\n (!maxHeight || maxHeight === '100%' || maxHeight === '100vh');\n styles.position = this._cssPosition;\n styles.marginLeft = shouldBeFlushHorizontally ? '0' : this._leftOffset;\n styles.marginTop = shouldBeFlushVertically ? '0' : this._topOffset;\n styles.marginBottom = this._bottomOffset;\n styles.marginRight = this._rightOffset;\n if (shouldBeFlushHorizontally) {\n parentStyles.justifyContent = 'flex-start';\n }\n else if (this._justifyContent === 'center') {\n parentStyles.justifyContent = 'center';\n }\n else if (this._overlayRef.getConfig().direction === 'rtl') {\n // In RTL the browser will invert `flex-start` and `flex-end` automatically, but we\n // don't want that because our positioning is explicitly `left` and `right`, hence\n // why we do another inversion to ensure that the overlay stays in the same position.\n // TODO: reconsider this if we add `start` and `end` methods.\n if (this._justifyContent === 'flex-start') {\n parentStyles.justifyContent = 'flex-end';\n }\n else if (this._justifyContent === 'flex-end') {\n parentStyles.justifyContent = 'flex-start';\n }\n }\n else {\n parentStyles.justifyContent = this._justifyContent;\n }\n parentStyles.alignItems = shouldBeFlushVertically ? 'flex-start' : this._alignItems;\n }\n /**\n * Cleans up the DOM changes from the position strategy.\n * @docs-private\n */\n dispose() {\n if (this._isDisposed || !this._overlayRef) {\n return;\n }\n const styles = this._overlayRef.overlayElement.style;\n const parent = this._overlayRef.hostElement;\n const parentStyles = parent.style;\n parent.classList.remove(wrapperClass);\n parentStyles.justifyContent =\n parentStyles.alignItems =\n styles.marginTop =\n styles.marginBottom =\n styles.marginLeft =\n styles.marginRight =\n styles.position =\n '';\n this._overlayRef = null;\n this._isDisposed = true;\n }\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/** Builder for overlay position strategy. */\nclass OverlayPositionBuilder {\n constructor(_viewportRuler, _document, _platform, _overlayContainer) {\n this._viewportRuler = _viewportRuler;\n this._document = _document;\n this._platform = _platform;\n this._overlayContainer = _overlayContainer;\n }\n /**\n * Creates a global position strategy.\n */\n global() {\n return new GlobalPositionStrategy();\n }\n /**\n * Creates a flexible position strategy.\n * @param origin Origin relative to which to position the overlay.\n */\n flexibleConnectedTo(origin) {\n return new FlexibleConnectedPositionStrategy(origin, this._viewportRuler, this._document, this._platform, this._overlayContainer);\n }\n}\nOverlayPositionBuilder.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"13.3.0\", ngImport: i0, type: OverlayPositionBuilder, deps: [{ token: i1.ViewportRuler }, { token: DOCUMENT }, { token: i1$1.Platform }, { token: OverlayContainer }], target: i0.ɵɵFactoryTarget.Injectable });\nOverlayPositionBuilder.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"13.3.0\", ngImport: i0, type: OverlayPositionBuilder, providedIn: 'root' });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"13.3.0\", ngImport: i0, type: OverlayPositionBuilder, decorators: [{\n type: Injectable,\n args: [{ providedIn: 'root' }]\n }], ctorParameters: function () { return [{ type: i1.ViewportRuler }, { type: undefined, decorators: [{\n type: Inject,\n args: [DOCUMENT]\n }] }, { type: i1$1.Platform }, { type: OverlayContainer }]; } });\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/** Next overlay unique ID. */\nlet nextUniqueId = 0;\n// Note that Overlay is *not* scoped to the app root because of the ComponentFactoryResolver\n// which needs to be different depending on where OverlayModule is imported.\n/**\n * Service to create Overlays. Overlays are dynamically added pieces of floating UI, meant to be\n * used as a low-level building block for other components. Dialogs, tooltips, menus,\n * selects, etc. can all be built using overlays. The service should primarily be used by authors\n * of re-usable components rather than developers building end-user applications.\n *\n * An overlay *is* a PortalOutlet, so any kind of Portal can be loaded into one.\n */\nclass Overlay {\n constructor(\n /** Scrolling strategies that can be used when creating an overlay. */\n scrollStrategies, _overlayContainer, _componentFactoryResolver, _positionBuilder, _keyboardDispatcher, _injector, _ngZone, _document, _directionality, _location, _outsideClickDispatcher) {\n this.scrollStrategies = scrollStrategies;\n this._overlayContainer = _overlayContainer;\n this._componentFactoryResolver = _componentFactoryResolver;\n this._positionBuilder = _positionBuilder;\n this._keyboardDispatcher = _keyboardDispatcher;\n this._injector = _injector;\n this._ngZone = _ngZone;\n this._document = _document;\n this._directionality = _directionality;\n this._location = _location;\n this._outsideClickDispatcher = _outsideClickDispatcher;\n }\n /**\n * Creates an overlay.\n * @param config Configuration applied to the overlay.\n * @returns Reference to the created overlay.\n */\n create(config) {\n const host = this._createHostElement();\n const pane = this._createPaneElement(host);\n const portalOutlet = this._createPortalOutlet(pane);\n const overlayConfig = new OverlayConfig(config);\n overlayConfig.direction = overlayConfig.direction || this._directionality.value;\n return new OverlayRef(portalOutlet, host, pane, overlayConfig, this._ngZone, this._keyboardDispatcher, this._document, this._location, this._outsideClickDispatcher);\n }\n /**\n * Gets a position builder that can be used, via fluent API,\n * to construct and configure a position strategy.\n * @returns An overlay position builder.\n */\n position() {\n return this._positionBuilder;\n }\n /**\n * Creates the DOM element for an overlay and appends it to the overlay container.\n * @returns Newly-created pane element\n */\n _createPaneElement(host) {\n const pane = this._document.createElement('div');\n pane.id = `cdk-overlay-${nextUniqueId++}`;\n pane.classList.add('cdk-overlay-pane');\n host.appendChild(pane);\n return pane;\n }\n /**\n * Creates the host element that wraps around an overlay\n * and can be used for advanced positioning.\n * @returns Newly-create host element.\n */\n _createHostElement() {\n const host = this._document.createElement('div');\n this._overlayContainer.getContainerElement().appendChild(host);\n return host;\n }\n /**\n * Create a DomPortalOutlet into which the overlay content can be loaded.\n * @param pane The DOM element to turn into a portal outlet.\n * @returns A portal outlet for the given DOM element.\n */\n _createPortalOutlet(pane) {\n // We have to resolve the ApplicationRef later in order to allow people\n // to use overlay-based providers during app initialization.\n if (!this._appRef) {\n this._appRef = this._injector.get(ApplicationRef);\n }\n return new DomPortalOutlet(pane, this._componentFactoryResolver, this._appRef, this._injector, this._document);\n }\n}\nOverlay.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"13.3.0\", ngImport: i0, type: Overlay, deps: [{ token: ScrollStrategyOptions }, { token: OverlayContainer }, { token: i0.ComponentFactoryResolver }, { token: OverlayPositionBuilder }, { token: OverlayKeyboardDispatcher }, { token: i0.Injector }, { token: i0.NgZone }, { token: DOCUMENT }, { token: i5.Directionality }, { token: i6.Location }, { token: OverlayOutsideClickDispatcher }], target: i0.ɵɵFactoryTarget.Injectable });\nOverlay.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"13.3.0\", ngImport: i0, type: Overlay });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"13.3.0\", ngImport: i0, type: Overlay, decorators: [{\n type: Injectable\n }], ctorParameters: function () { return [{ type: ScrollStrategyOptions }, { type: OverlayContainer }, { type: i0.ComponentFactoryResolver }, { type: OverlayPositionBuilder }, { type: OverlayKeyboardDispatcher }, { type: i0.Injector }, { type: i0.NgZone }, { type: undefined, decorators: [{\n type: Inject,\n args: [DOCUMENT]\n }] }, { type: i5.Directionality }, { type: i6.Location }, { type: OverlayOutsideClickDispatcher }]; } });\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/** Default set of positions for the overlay. Follows the behavior of a dropdown. */\nconst defaultPositionList = [\n {\n originX: 'start',\n originY: 'bottom',\n overlayX: 'start',\n overlayY: 'top',\n },\n {\n originX: 'start',\n originY: 'top',\n overlayX: 'start',\n overlayY: 'bottom',\n },\n {\n originX: 'end',\n originY: 'top',\n overlayX: 'end',\n overlayY: 'bottom',\n },\n {\n originX: 'end',\n originY: 'bottom',\n overlayX: 'end',\n overlayY: 'top',\n },\n];\n/** Injection token that determines the scroll handling while the connected overlay is open. */\nconst CDK_CONNECTED_OVERLAY_SCROLL_STRATEGY = new InjectionToken('cdk-connected-overlay-scroll-strategy');\n/**\n * Directive applied to an element to make it usable as an origin for an Overlay using a\n * ConnectedPositionStrategy.\n */\nclass CdkOverlayOrigin {\n constructor(\n /** Reference to the element on which the directive is applied. */\n elementRef) {\n this.elementRef = elementRef;\n }\n}\nCdkOverlayOrigin.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"13.3.0\", ngImport: i0, type: CdkOverlayOrigin, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive });\nCdkOverlayOrigin.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"12.0.0\", version: \"13.3.0\", type: CdkOverlayOrigin, selector: \"[cdk-overlay-origin], [overlay-origin], [cdkOverlayOrigin]\", exportAs: [\"cdkOverlayOrigin\"], ngImport: i0 });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"13.3.0\", ngImport: i0, type: CdkOverlayOrigin, decorators: [{\n type: Directive,\n args: [{\n selector: '[cdk-overlay-origin], [overlay-origin], [cdkOverlayOrigin]',\n exportAs: 'cdkOverlayOrigin',\n }]\n }], ctorParameters: function () { return [{ type: i0.ElementRef }]; } });\n/**\n * Directive to facilitate declarative creation of an\n * Overlay using a FlexibleConnectedPositionStrategy.\n */\nclass CdkConnectedOverlay {\n // TODO(jelbourn): inputs for size, scroll behavior, animation, etc.\n constructor(_overlay, templateRef, viewContainerRef, scrollStrategyFactory, _dir) {\n this._overlay = _overlay;\n this._dir = _dir;\n this._hasBackdrop = false;\n this._lockPosition = false;\n this._growAfterOpen = false;\n this._flexibleDimensions = false;\n this._push = false;\n this._backdropSubscription = Subscription.EMPTY;\n this._attachSubscription = Subscription.EMPTY;\n this._detachSubscription = Subscription.EMPTY;\n this._positionSubscription = Subscription.EMPTY;\n /** Margin between the overlay and the viewport edges. */\n this.viewportMargin = 0;\n /** Whether the overlay is open. */\n this.open = false;\n /** Whether the overlay can be closed by user interaction. */\n this.disableClose = false;\n /** Event emitted when the backdrop is clicked. */\n this.backdropClick = new EventEmitter();\n /** Event emitted when the position has changed. */\n this.positionChange = new EventEmitter();\n /** Event emitted when the overlay has been attached. */\n this.attach = new EventEmitter();\n /** Event emitted when the overlay has been detached. */\n this.detach = new EventEmitter();\n /** Emits when there are keyboard events that are targeted at the overlay. */\n this.overlayKeydown = new EventEmitter();\n /** Emits when there are mouse outside click events that are targeted at the overlay. */\n this.overlayOutsideClick = new EventEmitter();\n this._templatePortal = new TemplatePortal(templateRef, viewContainerRef);\n this._scrollStrategyFactory = scrollStrategyFactory;\n this.scrollStrategy = this._scrollStrategyFactory();\n }\n /** The offset in pixels for the overlay connection point on the x-axis */\n get offsetX() {\n return this._offsetX;\n }\n set offsetX(offsetX) {\n this._offsetX = offsetX;\n if (this._position) {\n this._updatePositionStrategy(this._position);\n }\n }\n /** The offset in pixels for the overlay connection point on the y-axis */\n get offsetY() {\n return this._offsetY;\n }\n set offsetY(offsetY) {\n this._offsetY = offsetY;\n if (this._position) {\n this._updatePositionStrategy(this._position);\n }\n }\n /** Whether or not the overlay should attach a backdrop. */\n get hasBackdrop() {\n return this._hasBackdrop;\n }\n set hasBackdrop(value) {\n this._hasBackdrop = coerceBooleanProperty(value);\n }\n /** Whether or not the overlay should be locked when scrolling. */\n get lockPosition() {\n return this._lockPosition;\n }\n set lockPosition(value) {\n this._lockPosition = coerceBooleanProperty(value);\n }\n /** Whether the overlay's width and height can be constrained to fit within the viewport. */\n get flexibleDimensions() {\n return this._flexibleDimensions;\n }\n set flexibleDimensions(value) {\n this._flexibleDimensions = coerceBooleanProperty(value);\n }\n /** Whether the overlay can grow after the initial open when flexible positioning is turned on. */\n get growAfterOpen() {\n return this._growAfterOpen;\n }\n set growAfterOpen(value) {\n this._growAfterOpen = coerceBooleanProperty(value);\n }\n /** Whether the overlay can be pushed on-screen if none of the provided positions fit. */\n get push() {\n return this._push;\n }\n set push(value) {\n this._push = coerceBooleanProperty(value);\n }\n /** The associated overlay reference. */\n get overlayRef() {\n return this._overlayRef;\n }\n /** The element's layout direction. */\n get dir() {\n return this._dir ? this._dir.value : 'ltr';\n }\n ngOnDestroy() {\n this._attachSubscription.unsubscribe();\n this._detachSubscription.unsubscribe();\n this._backdropSubscription.unsubscribe();\n this._positionSubscription.unsubscribe();\n if (this._overlayRef) {\n this._overlayRef.dispose();\n }\n }\n ngOnChanges(changes) {\n if (this._position) {\n this._updatePositionStrategy(this._position);\n this._overlayRef.updateSize({\n width: this.width,\n minWidth: this.minWidth,\n height: this.height,\n minHeight: this.minHeight,\n });\n if (changes['origin'] && this.open) {\n this._position.apply();\n }\n }\n if (changes['open']) {\n this.open ? this._attachOverlay() : this._detachOverlay();\n }\n }\n /** Creates an overlay */\n _createOverlay() {\n if (!this.positions || !this.positions.length) {\n this.positions = defaultPositionList;\n }\n const overlayRef = (this._overlayRef = this._overlay.create(this._buildConfig()));\n this._attachSubscription = overlayRef.attachments().subscribe(() => this.attach.emit());\n this._detachSubscription = overlayRef.detachments().subscribe(() => this.detach.emit());\n overlayRef.keydownEvents().subscribe((event) => {\n this.overlayKeydown.next(event);\n if (event.keyCode === ESCAPE && !this.disableClose && !hasModifierKey(event)) {\n event.preventDefault();\n this._detachOverlay();\n }\n });\n this._overlayRef.outsidePointerEvents().subscribe((event) => {\n this.overlayOutsideClick.next(event);\n });\n }\n /** Builds the overlay config based on the directive's inputs */\n _buildConfig() {\n const positionStrategy = (this._position =\n this.positionStrategy || this._createPositionStrategy());\n const overlayConfig = new OverlayConfig({\n direction: this._dir,\n positionStrategy,\n scrollStrategy: this.scrollStrategy,\n hasBackdrop: this.hasBackdrop,\n });\n if (this.width || this.width === 0) {\n overlayConfig.width = this.width;\n }\n if (this.height || this.height === 0) {\n overlayConfig.height = this.height;\n }\n if (this.minWidth || this.minWidth === 0) {\n overlayConfig.minWidth = this.minWidth;\n }\n if (this.minHeight || this.minHeight === 0) {\n overlayConfig.minHeight = this.minHeight;\n }\n if (this.backdropClass) {\n overlayConfig.backdropClass = this.backdropClass;\n }\n if (this.panelClass) {\n overlayConfig.panelClass = this.panelClass;\n }\n return overlayConfig;\n }\n /** Updates the state of a position strategy, based on the values of the directive inputs. */\n _updatePositionStrategy(positionStrategy) {\n const positions = this.positions.map(currentPosition => ({\n originX: currentPosition.originX,\n originY: currentPosition.originY,\n overlayX: currentPosition.overlayX,\n overlayY: currentPosition.overlayY,\n offsetX: currentPosition.offsetX || this.offsetX,\n offsetY: currentPosition.offsetY || this.offsetY,\n panelClass: currentPosition.panelClass || undefined,\n }));\n return positionStrategy\n .setOrigin(this._getFlexibleConnectedPositionStrategyOrigin())\n .withPositions(positions)\n .withFlexibleDimensions(this.flexibleDimensions)\n .withPush(this.push)\n .withGrowAfterOpen(this.growAfterOpen)\n .withViewportMargin(this.viewportMargin)\n .withLockedPosition(this.lockPosition)\n .withTransformOriginOn(this.transformOriginSelector);\n }\n /** Returns the position strategy of the overlay to be set on the overlay config */\n _createPositionStrategy() {\n const strategy = this._overlay\n .position()\n .flexibleConnectedTo(this._getFlexibleConnectedPositionStrategyOrigin());\n this._updatePositionStrategy(strategy);\n return strategy;\n }\n _getFlexibleConnectedPositionStrategyOrigin() {\n if (this.origin instanceof CdkOverlayOrigin) {\n return this.origin.elementRef;\n }\n else {\n return this.origin;\n }\n }\n /** Attaches the overlay and subscribes to backdrop clicks if backdrop exists */\n _attachOverlay() {\n if (!this._overlayRef) {\n this._createOverlay();\n }\n else {\n // Update the overlay size, in case the directive's inputs have changed\n this._overlayRef.getConfig().hasBackdrop = this.hasBackdrop;\n }\n if (!this._overlayRef.hasAttached()) {\n this._overlayRef.attach(this._templatePortal);\n }\n if (this.hasBackdrop) {\n this._backdropSubscription = this._overlayRef.backdropClick().subscribe(event => {\n this.backdropClick.emit(event);\n });\n }\n else {\n this._backdropSubscription.unsubscribe();\n }\n this._positionSubscription.unsubscribe();\n // Only subscribe to `positionChanges` if requested, because putting\n // together all the information for it can be expensive.\n if (this.positionChange.observers.length > 0) {\n this._positionSubscription = this._position.positionChanges\n .pipe(takeWhile(() => this.positionChange.observers.length > 0))\n .subscribe(position => {\n this.positionChange.emit(position);\n if (this.positionChange.observers.length === 0) {\n this._positionSubscription.unsubscribe();\n }\n });\n }\n }\n /** Detaches the overlay and unsubscribes to backdrop clicks if backdrop exists */\n _detachOverlay() {\n if (this._overlayRef) {\n this._overlayRef.detach();\n }\n this._backdropSubscription.unsubscribe();\n this._positionSubscription.unsubscribe();\n }\n}\nCdkConnectedOverlay.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"13.3.0\", ngImport: i0, type: CdkConnectedOverlay, deps: [{ token: Overlay }, { token: i0.TemplateRef }, { token: i0.ViewContainerRef }, { token: CDK_CONNECTED_OVERLAY_SCROLL_STRATEGY }, { token: i5.Directionality, optional: true }], target: i0.ɵɵFactoryTarget.Directive });\nCdkConnectedOverlay.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"12.0.0\", version: \"13.3.0\", type: CdkConnectedOverlay, selector: \"[cdk-connected-overlay], [connected-overlay], [cdkConnectedOverlay]\", inputs: { origin: [\"cdkConnectedOverlayOrigin\", \"origin\"], positions: [\"cdkConnectedOverlayPositions\", \"positions\"], positionStrategy: [\"cdkConnectedOverlayPositionStrategy\", \"positionStrategy\"], offsetX: [\"cdkConnectedOverlayOffsetX\", \"offsetX\"], offsetY: [\"cdkConnectedOverlayOffsetY\", \"offsetY\"], width: [\"cdkConnectedOverlayWidth\", \"width\"], height: [\"cdkConnectedOverlayHeight\", \"height\"], minWidth: [\"cdkConnectedOverlayMinWidth\", \"minWidth\"], minHeight: [\"cdkConnectedOverlayMinHeight\", \"minHeight\"], backdropClass: [\"cdkConnectedOverlayBackdropClass\", \"backdropClass\"], panelClass: [\"cdkConnectedOverlayPanelClass\", \"panelClass\"], viewportMargin: [\"cdkConnectedOverlayViewportMargin\", \"viewportMargin\"], scrollStrategy: [\"cdkConnectedOverlayScrollStrategy\", \"scrollStrategy\"], open: [\"cdkConnectedOverlayOpen\", \"open\"], disableClose: [\"cdkConnectedOverlayDisableClose\", \"disableClose\"], transformOriginSelector: [\"cdkConnectedOverlayTransformOriginOn\", \"transformOriginSelector\"], hasBackdrop: [\"cdkConnectedOverlayHasBackdrop\", \"hasBackdrop\"], lockPosition: [\"cdkConnectedOverlayLockPosition\", \"lockPosition\"], flexibleDimensions: [\"cdkConnectedOverlayFlexibleDimensions\", \"flexibleDimensions\"], growAfterOpen: [\"cdkConnectedOverlayGrowAfterOpen\", \"growAfterOpen\"], push: [\"cdkConnectedOverlayPush\", \"push\"] }, outputs: { backdropClick: \"backdropClick\", positionChange: \"positionChange\", attach: \"attach\", detach: \"detach\", overlayKeydown: \"overlayKeydown\", overlayOutsideClick: \"overlayOutsideClick\" }, exportAs: [\"cdkConnectedOverlay\"], usesOnChanges: true, ngImport: i0 });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"13.3.0\", ngImport: i0, type: CdkConnectedOverlay, decorators: [{\n type: Directive,\n args: [{\n selector: '[cdk-connected-overlay], [connected-overlay], [cdkConnectedOverlay]',\n exportAs: 'cdkConnectedOverlay',\n }]\n }], ctorParameters: function () { return [{ type: Overlay }, { type: i0.TemplateRef }, { type: i0.ViewContainerRef }, { type: undefined, decorators: [{\n type: Inject,\n args: [CDK_CONNECTED_OVERLAY_SCROLL_STRATEGY]\n }] }, { type: i5.Directionality, decorators: [{\n type: Optional\n }] }]; }, propDecorators: { origin: [{\n type: Input,\n args: ['cdkConnectedOverlayOrigin']\n }], positions: [{\n type: Input,\n args: ['cdkConnectedOverlayPositions']\n }], positionStrategy: [{\n type: Input,\n args: ['cdkConnectedOverlayPositionStrategy']\n }], offsetX: [{\n type: Input,\n args: ['cdkConnectedOverlayOffsetX']\n }], offsetY: [{\n type: Input,\n args: ['cdkConnectedOverlayOffsetY']\n }], width: [{\n type: Input,\n args: ['cdkConnectedOverlayWidth']\n }], height: [{\n type: Input,\n args: ['cdkConnectedOverlayHeight']\n }], minWidth: [{\n type: Input,\n args: ['cdkConnectedOverlayMinWidth']\n }], minHeight: [{\n type: Input,\n args: ['cdkConnectedOverlayMinHeight']\n }], backdropClass: [{\n type: Input,\n args: ['cdkConnectedOverlayBackdropClass']\n }], panelClass: [{\n type: Input,\n args: ['cdkConnectedOverlayPanelClass']\n }], viewportMargin: [{\n type: Input,\n args: ['cdkConnectedOverlayViewportMargin']\n }], scrollStrategy: [{\n type: Input,\n args: ['cdkConnectedOverlayScrollStrategy']\n }], open: [{\n type: Input,\n args: ['cdkConnectedOverlayOpen']\n }], disableClose: [{\n type: Input,\n args: ['cdkConnectedOverlayDisableClose']\n }], transformOriginSelector: [{\n type: Input,\n args: ['cdkConnectedOverlayTransformOriginOn']\n }], hasBackdrop: [{\n type: Input,\n args: ['cdkConnectedOverlayHasBackdrop']\n }], lockPosition: [{\n type: Input,\n args: ['cdkConnectedOverlayLockPosition']\n }], flexibleDimensions: [{\n type: Input,\n args: ['cdkConnectedOverlayFlexibleDimensions']\n }], growAfterOpen: [{\n type: Input,\n args: ['cdkConnectedOverlayGrowAfterOpen']\n }], push: [{\n type: Input,\n args: ['cdkConnectedOverlayPush']\n }], backdropClick: [{\n type: Output\n }], positionChange: [{\n type: Output\n }], attach: [{\n type: Output\n }], detach: [{\n type: Output\n }], overlayKeydown: [{\n type: Output\n }], overlayOutsideClick: [{\n type: Output\n }] } });\n/** @docs-private */\nfunction CDK_CONNECTED_OVERLAY_SCROLL_STRATEGY_PROVIDER_FACTORY(overlay) {\n return () => overlay.scrollStrategies.reposition();\n}\n/** @docs-private */\nconst CDK_CONNECTED_OVERLAY_SCROLL_STRATEGY_PROVIDER = {\n provide: CDK_CONNECTED_OVERLAY_SCROLL_STRATEGY,\n deps: [Overlay],\n useFactory: CDK_CONNECTED_OVERLAY_SCROLL_STRATEGY_PROVIDER_FACTORY,\n};\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nclass OverlayModule {\n}\nOverlayModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"13.3.0\", ngImport: i0, type: OverlayModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });\nOverlayModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: \"12.0.0\", version: \"13.3.0\", ngImport: i0, type: OverlayModule, declarations: [CdkConnectedOverlay, CdkOverlayOrigin], imports: [BidiModule, PortalModule, ScrollingModule], exports: [CdkConnectedOverlay, CdkOverlayOrigin, ScrollingModule] });\nOverlayModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: \"12.0.0\", version: \"13.3.0\", ngImport: i0, type: OverlayModule, providers: [Overlay, CDK_CONNECTED_OVERLAY_SCROLL_STRATEGY_PROVIDER], imports: [[BidiModule, PortalModule, ScrollingModule], ScrollingModule] });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"13.3.0\", ngImport: i0, type: OverlayModule, decorators: [{\n type: NgModule,\n args: [{\n imports: [BidiModule, PortalModule, ScrollingModule],\n exports: [CdkConnectedOverlay, CdkOverlayOrigin, ScrollingModule],\n declarations: [CdkConnectedOverlay, CdkOverlayOrigin],\n providers: [Overlay, CDK_CONNECTED_OVERLAY_SCROLL_STRATEGY_PROVIDER],\n }]\n }] });\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * Alternative to OverlayContainer that supports correct displaying of overlay elements in\n * Fullscreen mode\n * https://developer.mozilla.org/en-US/docs/Web/API/Element/requestFullScreen\n *\n * Should be provided in the root component.\n */\nclass FullscreenOverlayContainer extends OverlayContainer {\n constructor(_document, platform) {\n super(_document, platform);\n }\n ngOnDestroy() {\n super.ngOnDestroy();\n if (this._fullScreenEventName && this._fullScreenListener) {\n this._document.removeEventListener(this._fullScreenEventName, this._fullScreenListener);\n }\n }\n _createContainer() {\n super._createContainer();\n this._adjustParentForFullscreenChange();\n this._addFullscreenChangeListener(() => this._adjustParentForFullscreenChange());\n }\n _adjustParentForFullscreenChange() {\n if (!this._containerElement) {\n return;\n }\n const fullscreenElement = this.getFullscreenElement();\n const parent = fullscreenElement || this._document.body;\n parent.appendChild(this._containerElement);\n }\n _addFullscreenChangeListener(fn) {\n const eventName = this._getEventName();\n if (eventName) {\n if (this._fullScreenListener) {\n this._document.removeEventListener(eventName, this._fullScreenListener);\n }\n this._document.addEventListener(eventName, fn);\n this._fullScreenListener = fn;\n }\n }\n _getEventName() {\n if (!this._fullScreenEventName) {\n const _document = this._document;\n if (_document.fullscreenEnabled) {\n this._fullScreenEventName = 'fullscreenchange';\n }\n else if (_document.webkitFullscreenEnabled) {\n this._fullScreenEventName = 'webkitfullscreenchange';\n }\n else if (_document.mozFullScreenEnabled) {\n this._fullScreenEventName = 'mozfullscreenchange';\n }\n else if (_document.msFullscreenEnabled) {\n this._fullScreenEventName = 'MSFullscreenChange';\n }\n }\n return this._fullScreenEventName;\n }\n /**\n * When the page is put into fullscreen mode, a specific element is specified.\n * Only that element and its children are visible when in fullscreen mode.\n */\n getFullscreenElement() {\n const _document = this._document;\n return (_document.fullscreenElement ||\n _document.webkitFullscreenElement ||\n _document.mozFullScreenElement ||\n _document.msFullscreenElement ||\n null);\n }\n}\nFullscreenOverlayContainer.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"13.3.0\", ngImport: i0, type: FullscreenOverlayContainer, deps: [{ token: DOCUMENT }, { token: i1$1.Platform }], target: i0.ɵɵFactoryTarget.Injectable });\nFullscreenOverlayContainer.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"13.3.0\", ngImport: i0, type: FullscreenOverlayContainer, providedIn: 'root' });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"13.3.0\", ngImport: i0, type: FullscreenOverlayContainer, decorators: [{\n type: Injectable,\n args: [{ providedIn: 'root' }]\n }], ctorParameters: function () { return [{ type: undefined, decorators: [{\n type: Inject,\n args: [DOCUMENT]\n }] }, { type: i1$1.Platform }]; } });\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\n/**\n * Generated bundle index. Do not edit.\n */\n\nexport { BlockScrollStrategy, CdkConnectedOverlay, CdkOverlayOrigin, CloseScrollStrategy, ConnectedOverlayPositionChange, ConnectionPositionPair, FlexibleConnectedPositionStrategy, FullscreenOverlayContainer, GlobalPositionStrategy, NoopScrollStrategy, Overlay, OverlayConfig, OverlayContainer, OverlayKeyboardDispatcher, OverlayModule, OverlayOutsideClickDispatcher, OverlayPositionBuilder, OverlayRef, RepositionScrollStrategy, ScrollStrategyOptions, ScrollingVisibility, validateHorizontalPosition, validateVerticalPosition };\n","import * as i0 from '@angular/core';\nimport { PLATFORM_ID, Injectable, Inject, NgModule } from '@angular/core';\nimport { isPlatformBrowser } from '@angular/common';\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n// Whether the current platform supports the V8 Break Iterator. The V8 check\n// is necessary to detect all Blink based browsers.\nlet hasV8BreakIterator;\n// We need a try/catch around the reference to `Intl`, because accessing it in some cases can\n// cause IE to throw. These cases are tied to particular versions of Windows and can happen if\n// the consumer is providing a polyfilled `Map`. See:\n// https://github.com/Microsoft/ChakraCore/issues/3189\n// https://github.com/angular/components/issues/15687\ntry {\n hasV8BreakIterator = typeof Intl !== 'undefined' && Intl.v8BreakIterator;\n}\ncatch {\n hasV8BreakIterator = false;\n}\n/**\n * Service to detect the current platform by comparing the userAgent strings and\n * checking browser-specific global properties.\n */\nclass Platform {\n constructor(_platformId) {\n this._platformId = _platformId;\n // We want to use the Angular platform check because if the Document is shimmed\n // without the navigator, the following checks will fail. This is preferred because\n // sometimes the Document may be shimmed without the user's knowledge or intention\n /** Whether the Angular application is being rendered in the browser. */\n this.isBrowser = this._platformId\n ? isPlatformBrowser(this._platformId)\n : typeof document === 'object' && !!document;\n /** Whether the current browser is Microsoft Edge. */\n this.EDGE = this.isBrowser && /(edge)/i.test(navigator.userAgent);\n /** Whether the current rendering engine is Microsoft Trident. */\n this.TRIDENT = this.isBrowser && /(msie|trident)/i.test(navigator.userAgent);\n // EdgeHTML and Trident mock Blink specific things and need to be excluded from this check.\n /** Whether the current rendering engine is Blink. */\n this.BLINK = this.isBrowser &&\n !!(window.chrome || hasV8BreakIterator) &&\n typeof CSS !== 'undefined' &&\n !this.EDGE &&\n !this.TRIDENT;\n // Webkit is part of the userAgent in EdgeHTML, Blink and Trident. Therefore we need to\n // ensure that Webkit runs standalone and is not used as another engine's base.\n /** Whether the current rendering engine is WebKit. */\n this.WEBKIT = this.isBrowser &&\n /AppleWebKit/i.test(navigator.userAgent) &&\n !this.BLINK &&\n !this.EDGE &&\n !this.TRIDENT;\n /** Whether the current platform is Apple iOS. */\n this.IOS = this.isBrowser && /iPad|iPhone|iPod/.test(navigator.userAgent) && !('MSStream' in window);\n // It's difficult to detect the plain Gecko engine, because most of the browsers identify\n // them self as Gecko-like browsers and modify the userAgent's according to that.\n // Since we only cover one explicit Firefox case, we can simply check for Firefox\n // instead of having an unstable check for Gecko.\n /** Whether the current browser is Firefox. */\n this.FIREFOX = this.isBrowser && /(firefox|minefield)/i.test(navigator.userAgent);\n /** Whether the current platform is Android. */\n // Trident on mobile adds the android platform to the userAgent to trick detections.\n this.ANDROID = this.isBrowser && /android/i.test(navigator.userAgent) && !this.TRIDENT;\n // Safari browsers will include the Safari keyword in their userAgent. Some browsers may fake\n // this and just place the Safari keyword in the userAgent. To be more safe about Safari every\n // Safari browser should also use Webkit as its layout engine.\n /** Whether the current browser is Safari. */\n this.SAFARI = this.isBrowser && /safari/i.test(navigator.userAgent) && this.WEBKIT;\n }\n}\nPlatform.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"13.3.0\", ngImport: i0, type: Platform, deps: [{ token: PLATFORM_ID }], target: i0.ɵɵFactoryTarget.Injectable });\nPlatform.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"13.3.0\", ngImport: i0, type: Platform, providedIn: 'root' });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"13.3.0\", ngImport: i0, type: Platform, decorators: [{\n type: Injectable,\n args: [{ providedIn: 'root' }]\n }], ctorParameters: function () { return [{ type: Object, decorators: [{\n type: Inject,\n args: [PLATFORM_ID]\n }] }]; } });\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nclass PlatformModule {\n}\nPlatformModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"13.3.0\", ngImport: i0, type: PlatformModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });\nPlatformModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: \"12.0.0\", version: \"13.3.0\", ngImport: i0, type: PlatformModule });\nPlatformModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: \"12.0.0\", version: \"13.3.0\", ngImport: i0, type: PlatformModule });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"13.3.0\", ngImport: i0, type: PlatformModule, decorators: [{\n type: NgModule,\n args: [{}]\n }] });\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/** Cached result Set of input types support by the current browser. */\nlet supportedInputTypes;\n/** Types of `` that *might* be supported. */\nconst candidateInputTypes = [\n // `color` must come first. Chrome 56 shows a warning if we change the type to `color` after\n // first changing it to something else:\n // The specified value \"\" does not conform to the required format.\n // The format is \"#rrggbb\" where rr, gg, bb are two-digit hexadecimal numbers.\n 'color',\n 'button',\n 'checkbox',\n 'date',\n 'datetime-local',\n 'email',\n 'file',\n 'hidden',\n 'image',\n 'month',\n 'number',\n 'password',\n 'radio',\n 'range',\n 'reset',\n 'search',\n 'submit',\n 'tel',\n 'text',\n 'time',\n 'url',\n 'week',\n];\n/** @returns The input types supported by this browser. */\nfunction getSupportedInputTypes() {\n // Result is cached.\n if (supportedInputTypes) {\n return supportedInputTypes;\n }\n // We can't check if an input type is not supported until we're on the browser, so say that\n // everything is supported when not on the browser. We don't use `Platform` here since it's\n // just a helper function and can't inject it.\n if (typeof document !== 'object' || !document) {\n supportedInputTypes = new Set(candidateInputTypes);\n return supportedInputTypes;\n }\n let featureTestInput = document.createElement('input');\n supportedInputTypes = new Set(candidateInputTypes.filter(value => {\n featureTestInput.setAttribute('type', value);\n return featureTestInput.type === value;\n }));\n return supportedInputTypes;\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/** Cached result of whether the user's browser supports passive event listeners. */\nlet supportsPassiveEvents;\n/**\n * Checks whether the user's browser supports passive event listeners.\n * See: https://github.com/WICG/EventListenerOptions/blob/gh-pages/explainer.md\n */\nfunction supportsPassiveEventListeners() {\n if (supportsPassiveEvents == null && typeof window !== 'undefined') {\n try {\n window.addEventListener('test', null, Object.defineProperty({}, 'passive', {\n get: () => (supportsPassiveEvents = true),\n }));\n }\n finally {\n supportsPassiveEvents = supportsPassiveEvents || false;\n }\n }\n return supportsPassiveEvents;\n}\n/**\n * Normalizes an `AddEventListener` object to something that can be passed\n * to `addEventListener` on any browser, no matter whether it supports the\n * `options` parameter.\n * @param options Object to be normalized.\n */\nfunction normalizePassiveListenerOptions(options) {\n return supportsPassiveEventListeners() ? options : !!options.capture;\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/** Cached result of the way the browser handles the horizontal scroll axis in RTL mode. */\nlet rtlScrollAxisType;\n/** Cached result of the check that indicates whether the browser supports scroll behaviors. */\nlet scrollBehaviorSupported;\n/** Check whether the browser supports scroll behaviors. */\nfunction supportsScrollBehavior() {\n if (scrollBehaviorSupported == null) {\n // If we're not in the browser, it can't be supported. Also check for `Element`, because\n // some projects stub out the global `document` during SSR which can throw us off.\n if (typeof document !== 'object' || !document || typeof Element !== 'function' || !Element) {\n scrollBehaviorSupported = false;\n return scrollBehaviorSupported;\n }\n // If the element can have a `scrollBehavior` style, we can be sure that it's supported.\n if ('scrollBehavior' in document.documentElement.style) {\n scrollBehaviorSupported = true;\n }\n else {\n // At this point we have 3 possibilities: `scrollTo` isn't supported at all, it's\n // supported but it doesn't handle scroll behavior, or it has been polyfilled.\n const scrollToFunction = Element.prototype.scrollTo;\n if (scrollToFunction) {\n // We can detect if the function has been polyfilled by calling `toString` on it. Native\n // functions are obfuscated using `[native code]`, whereas if it was overwritten we'd get\n // the actual function source. Via https://davidwalsh.name/detect-native-function. Consider\n // polyfilled functions as supporting scroll behavior.\n scrollBehaviorSupported = !/\\{\\s*\\[native code\\]\\s*\\}/.test(scrollToFunction.toString());\n }\n else {\n scrollBehaviorSupported = false;\n }\n }\n }\n return scrollBehaviorSupported;\n}\n/**\n * Checks the type of RTL scroll axis used by this browser. As of time of writing, Chrome is NORMAL,\n * Firefox & Safari are NEGATED, and IE & Edge are INVERTED.\n */\nfunction getRtlScrollAxisType() {\n // We can't check unless we're on the browser. Just assume 'normal' if we're not.\n if (typeof document !== 'object' || !document) {\n return 0 /* NORMAL */;\n }\n if (rtlScrollAxisType == null) {\n // Create a 1px wide scrolling container and a 2px wide content element.\n const scrollContainer = document.createElement('div');\n const containerStyle = scrollContainer.style;\n scrollContainer.dir = 'rtl';\n containerStyle.width = '1px';\n containerStyle.overflow = 'auto';\n containerStyle.visibility = 'hidden';\n containerStyle.pointerEvents = 'none';\n containerStyle.position = 'absolute';\n const content = document.createElement('div');\n const contentStyle = content.style;\n contentStyle.width = '2px';\n contentStyle.height = '1px';\n scrollContainer.appendChild(content);\n document.body.appendChild(scrollContainer);\n rtlScrollAxisType = 0 /* NORMAL */;\n // The viewport starts scrolled all the way to the right in RTL mode. If we are in a NORMAL\n // browser this would mean that the scrollLeft should be 1. If it's zero instead we know we're\n // dealing with one of the other two types of browsers.\n if (scrollContainer.scrollLeft === 0) {\n // In a NEGATED browser the scrollLeft is always somewhere in [-maxScrollAmount, 0]. For an\n // INVERTED browser it is always somewhere in [0, maxScrollAmount]. We can determine which by\n // setting to the scrollLeft to 1. This is past the max for a NEGATED browser, so it will\n // return 0 when we read it again.\n scrollContainer.scrollLeft = 1;\n rtlScrollAxisType =\n scrollContainer.scrollLeft === 0 ? 1 /* NEGATED */ : 2 /* INVERTED */;\n }\n scrollContainer.remove();\n }\n return rtlScrollAxisType;\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nlet shadowDomIsSupported;\n/** Checks whether the user's browser support Shadow DOM. */\nfunction _supportsShadowDom() {\n if (shadowDomIsSupported == null) {\n const head = typeof document !== 'undefined' ? document.head : null;\n shadowDomIsSupported = !!(head && (head.createShadowRoot || head.attachShadow));\n }\n return shadowDomIsSupported;\n}\n/** Gets the shadow root of an element, if supported and the element is inside the Shadow DOM. */\nfunction _getShadowRoot(element) {\n if (_supportsShadowDom()) {\n const rootNode = element.getRootNode ? element.getRootNode() : null;\n // Note that this should be caught by `_supportsShadowDom`, but some\n // teams have been able to hit this code path on unsupported browsers.\n if (typeof ShadowRoot !== 'undefined' && ShadowRoot && rootNode instanceof ShadowRoot) {\n return rootNode;\n }\n }\n return null;\n}\n/**\n * Gets the currently-focused element on the page while\n * also piercing through Shadow DOM boundaries.\n */\nfunction _getFocusedElementPierceShadowDom() {\n let activeElement = typeof document !== 'undefined' && document\n ? document.activeElement\n : null;\n while (activeElement && activeElement.shadowRoot) {\n const newActiveElement = activeElement.shadowRoot.activeElement;\n if (newActiveElement === activeElement) {\n break;\n }\n else {\n activeElement = newActiveElement;\n }\n }\n return activeElement;\n}\n/** Gets the target of an event while accounting for Shadow DOM. */\nfunction _getEventTarget(event) {\n // If an event is bound outside the Shadow DOM, the `event.target` will\n // point to the shadow root so we have to use `composedPath` instead.\n return (event.composedPath ? event.composedPath()[0] : event.target);\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/** Gets whether the code is currently running in a test environment. */\nfunction _isTestEnvironment() {\n // We can't use `declare const` because it causes conflicts inside Google with the real typings\n // for these symbols and we can't read them off the global object, because they don't appear to\n // be attached there for some runners like Jest.\n // (see: https://github.com/angular/components/issues/23365#issuecomment-938146643)\n return (\n // @ts-ignore\n (typeof __karma__ !== 'undefined' && !!__karma__) ||\n // @ts-ignore\n (typeof jasmine !== 'undefined' && !!jasmine) ||\n // @ts-ignore\n (typeof jest !== 'undefined' && !!jest) ||\n // @ts-ignore\n (typeof Mocha !== 'undefined' && !!Mocha));\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\n/**\n * Generated bundle index. Do not edit.\n */\n\nexport { Platform, PlatformModule, _getEventTarget, _getFocusedElementPierceShadowDom, _getShadowRoot, _isTestEnvironment, _supportsShadowDom, getRtlScrollAxisType, getSupportedInputTypes, normalizePassiveListenerOptions, supportsPassiveEventListeners, supportsScrollBehavior };\n","import * as i0 from '@angular/core';\nimport { ElementRef, Injector, Directive, EventEmitter, Inject, Output, NgModule } from '@angular/core';\nimport { DOCUMENT } from '@angular/common';\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * Throws an exception when attempting to attach a null portal to a host.\n * @docs-private\n */\nfunction throwNullPortalError() {\n throw Error('Must provide a portal to attach');\n}\n/**\n * Throws an exception when attempting to attach a portal to a host that is already attached.\n * @docs-private\n */\nfunction throwPortalAlreadyAttachedError() {\n throw Error('Host already has a portal attached');\n}\n/**\n * Throws an exception when attempting to attach a portal to an already-disposed host.\n * @docs-private\n */\nfunction throwPortalOutletAlreadyDisposedError() {\n throw Error('This PortalOutlet has already been disposed');\n}\n/**\n * Throws an exception when attempting to attach an unknown portal type.\n * @docs-private\n */\nfunction throwUnknownPortalTypeError() {\n throw Error('Attempting to attach an unknown Portal type. BasePortalOutlet accepts either ' +\n 'a ComponentPortal or a TemplatePortal.');\n}\n/**\n * Throws an exception when attempting to attach a portal to a null host.\n * @docs-private\n */\nfunction throwNullPortalOutletError() {\n throw Error('Attempting to attach a portal to a null PortalOutlet');\n}\n/**\n * Throws an exception when attempting to detach a portal that is not attached.\n * @docs-private\n */\nfunction throwNoPortalAttachedError() {\n throw Error('Attempting to detach a portal that is not attached to a host');\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * A `Portal` is something that you want to render somewhere else.\n * It can be attach to / detached from a `PortalOutlet`.\n */\nclass Portal {\n /** Attach this portal to a host. */\n attach(host) {\n if (typeof ngDevMode === 'undefined' || ngDevMode) {\n if (host == null) {\n throwNullPortalOutletError();\n }\n if (host.hasAttached()) {\n throwPortalAlreadyAttachedError();\n }\n }\n this._attachedHost = host;\n return host.attach(this);\n }\n /** Detach this portal from its host */\n detach() {\n let host = this._attachedHost;\n if (host != null) {\n this._attachedHost = null;\n host.detach();\n }\n else if (typeof ngDevMode === 'undefined' || ngDevMode) {\n throwNoPortalAttachedError();\n }\n }\n /** Whether this portal is attached to a host. */\n get isAttached() {\n return this._attachedHost != null;\n }\n /**\n * Sets the PortalOutlet reference without performing `attach()`. This is used directly by\n * the PortalOutlet when it is performing an `attach()` or `detach()`.\n */\n setAttachedHost(host) {\n this._attachedHost = host;\n }\n}\n/**\n * A `ComponentPortal` is a portal that instantiates some Component upon attachment.\n */\nclass ComponentPortal extends Portal {\n constructor(component, viewContainerRef, injector, componentFactoryResolver) {\n super();\n this.component = component;\n this.viewContainerRef = viewContainerRef;\n this.injector = injector;\n this.componentFactoryResolver = componentFactoryResolver;\n }\n}\n/**\n * A `TemplatePortal` is a portal that represents some embedded template (TemplateRef).\n */\nclass TemplatePortal extends Portal {\n constructor(template, viewContainerRef, context) {\n super();\n this.templateRef = template;\n this.viewContainerRef = viewContainerRef;\n this.context = context;\n }\n get origin() {\n return this.templateRef.elementRef;\n }\n /**\n * Attach the portal to the provided `PortalOutlet`.\n * When a context is provided it will override the `context` property of the `TemplatePortal`\n * instance.\n */\n attach(host, context = this.context) {\n this.context = context;\n return super.attach(host);\n }\n detach() {\n this.context = undefined;\n return super.detach();\n }\n}\n/**\n * A `DomPortal` is a portal whose DOM element will be taken from its current position\n * in the DOM and moved into a portal outlet, when it is attached. On detach, the content\n * will be restored to its original position.\n */\nclass DomPortal extends Portal {\n constructor(element) {\n super();\n this.element = element instanceof ElementRef ? element.nativeElement : element;\n }\n}\n/**\n * Partial implementation of PortalOutlet that handles attaching\n * ComponentPortal and TemplatePortal.\n */\nclass BasePortalOutlet {\n constructor() {\n /** Whether this host has already been permanently disposed. */\n this._isDisposed = false;\n // @breaking-change 10.0.0 `attachDomPortal` to become a required abstract method.\n this.attachDomPortal = null;\n }\n /** Whether this host has an attached portal. */\n hasAttached() {\n return !!this._attachedPortal;\n }\n /** Attaches a portal. */\n attach(portal) {\n if (typeof ngDevMode === 'undefined' || ngDevMode) {\n if (!portal) {\n throwNullPortalError();\n }\n if (this.hasAttached()) {\n throwPortalAlreadyAttachedError();\n }\n if (this._isDisposed) {\n throwPortalOutletAlreadyDisposedError();\n }\n }\n if (portal instanceof ComponentPortal) {\n this._attachedPortal = portal;\n return this.attachComponentPortal(portal);\n }\n else if (portal instanceof TemplatePortal) {\n this._attachedPortal = portal;\n return this.attachTemplatePortal(portal);\n // @breaking-change 10.0.0 remove null check for `this.attachDomPortal`.\n }\n else if (this.attachDomPortal && portal instanceof DomPortal) {\n this._attachedPortal = portal;\n return this.attachDomPortal(portal);\n }\n if (typeof ngDevMode === 'undefined' || ngDevMode) {\n throwUnknownPortalTypeError();\n }\n }\n /** Detaches a previously attached portal. */\n detach() {\n if (this._attachedPortal) {\n this._attachedPortal.setAttachedHost(null);\n this._attachedPortal = null;\n }\n this._invokeDisposeFn();\n }\n /** Permanently dispose of this portal host. */\n dispose() {\n if (this.hasAttached()) {\n this.detach();\n }\n this._invokeDisposeFn();\n this._isDisposed = true;\n }\n /** @docs-private */\n setDisposeFn(fn) {\n this._disposeFn = fn;\n }\n _invokeDisposeFn() {\n if (this._disposeFn) {\n this._disposeFn();\n this._disposeFn = null;\n }\n }\n}\n/**\n * @deprecated Use `BasePortalOutlet` instead.\n * @breaking-change 9.0.0\n */\nclass BasePortalHost extends BasePortalOutlet {\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * A PortalOutlet for attaching portals to an arbitrary DOM element outside of the Angular\n * application context.\n */\nclass DomPortalOutlet extends BasePortalOutlet {\n /**\n * @param outletElement Element into which the content is projected.\n * @param _componentFactoryResolver Used to resolve the component factory.\n * Only required when attaching component portals.\n * @param _appRef Reference to the application. Only used in component portals when there\n * is no `ViewContainerRef` available.\n * @param _defaultInjector Injector to use as a fallback when the portal being attached doesn't\n * have one. Only used for component portals.\n * @param _document Reference to the document. Used when attaching a DOM portal. Will eventually\n * become a required parameter.\n */\n constructor(\n /** Element into which the content is projected. */\n outletElement, _componentFactoryResolver, _appRef, _defaultInjector, \n /**\n * @deprecated `_document` Parameter to be made required.\n * @breaking-change 10.0.0\n */\n _document) {\n super();\n this.outletElement = outletElement;\n this._componentFactoryResolver = _componentFactoryResolver;\n this._appRef = _appRef;\n this._defaultInjector = _defaultInjector;\n /**\n * Attaches a DOM portal by transferring its content into the outlet.\n * @param portal Portal to be attached.\n * @deprecated To be turned into a method.\n * @breaking-change 10.0.0\n */\n this.attachDomPortal = (portal) => {\n // @breaking-change 10.0.0 Remove check and error once the\n // `_document` constructor parameter is required.\n if (!this._document && (typeof ngDevMode === 'undefined' || ngDevMode)) {\n throw Error('Cannot attach DOM portal without _document constructor parameter');\n }\n const element = portal.element;\n if (!element.parentNode && (typeof ngDevMode === 'undefined' || ngDevMode)) {\n throw Error('DOM portal content must be attached to a parent node.');\n }\n // Anchor used to save the element's previous position so\n // that we can restore it when the portal is detached.\n const anchorNode = this._document.createComment('dom-portal');\n element.parentNode.insertBefore(anchorNode, element);\n this.outletElement.appendChild(element);\n this._attachedPortal = portal;\n super.setDisposeFn(() => {\n // We can't use `replaceWith` here because IE doesn't support it.\n if (anchorNode.parentNode) {\n anchorNode.parentNode.replaceChild(element, anchorNode);\n }\n });\n };\n this._document = _document;\n }\n /**\n * Attach the given ComponentPortal to DOM element using the ComponentFactoryResolver.\n * @param portal Portal to be attached\n * @returns Reference to the created component.\n */\n attachComponentPortal(portal) {\n const resolver = (portal.componentFactoryResolver || this._componentFactoryResolver);\n if ((typeof ngDevMode === 'undefined' || ngDevMode) && !resolver) {\n throw Error('Cannot attach component portal to outlet without a ComponentFactoryResolver.');\n }\n const componentFactory = resolver.resolveComponentFactory(portal.component);\n let componentRef;\n // If the portal specifies a ViewContainerRef, we will use that as the attachment point\n // for the component (in terms of Angular's component tree, not rendering).\n // When the ViewContainerRef is missing, we use the factory to create the component directly\n // and then manually attach the view to the application.\n if (portal.viewContainerRef) {\n componentRef = portal.viewContainerRef.createComponent(componentFactory, portal.viewContainerRef.length, portal.injector || portal.viewContainerRef.injector);\n this.setDisposeFn(() => componentRef.destroy());\n }\n else {\n if ((typeof ngDevMode === 'undefined' || ngDevMode) && !this._appRef) {\n throw Error('Cannot attach component portal to outlet without an ApplicationRef.');\n }\n componentRef = componentFactory.create(portal.injector || this._defaultInjector || Injector.NULL);\n this._appRef.attachView(componentRef.hostView);\n this.setDisposeFn(() => {\n // Verify that the ApplicationRef has registered views before trying to detach a host view.\n // This check also protects the `detachView` from being called on a destroyed ApplicationRef.\n if (this._appRef.viewCount > 0) {\n this._appRef.detachView(componentRef.hostView);\n }\n componentRef.destroy();\n });\n }\n // At this point the component has been instantiated, so we move it to the location in the DOM\n // where we want it to be rendered.\n this.outletElement.appendChild(this._getComponentRootNode(componentRef));\n this._attachedPortal = portal;\n return componentRef;\n }\n /**\n * Attaches a template portal to the DOM as an embedded view.\n * @param portal Portal to be attached.\n * @returns Reference to the created embedded view.\n */\n attachTemplatePortal(portal) {\n let viewContainer = portal.viewContainerRef;\n let viewRef = viewContainer.createEmbeddedView(portal.templateRef, portal.context);\n // The method `createEmbeddedView` will add the view as a child of the viewContainer.\n // But for the DomPortalOutlet the view can be added everywhere in the DOM\n // (e.g Overlay Container) To move the view to the specified host element. We just\n // re-append the existing root nodes.\n viewRef.rootNodes.forEach(rootNode => this.outletElement.appendChild(rootNode));\n // Note that we want to detect changes after the nodes have been moved so that\n // any directives inside the portal that are looking at the DOM inside a lifecycle\n // hook won't be invoked too early.\n viewRef.detectChanges();\n this.setDisposeFn(() => {\n let index = viewContainer.indexOf(viewRef);\n if (index !== -1) {\n viewContainer.remove(index);\n }\n });\n this._attachedPortal = portal;\n // TODO(jelbourn): Return locals from view.\n return viewRef;\n }\n /**\n * Clears out a portal from the DOM.\n */\n dispose() {\n super.dispose();\n this.outletElement.remove();\n }\n /** Gets the root HTMLElement for an instantiated component. */\n _getComponentRootNode(componentRef) {\n return componentRef.hostView.rootNodes[0];\n }\n}\n/**\n * @deprecated Use `DomPortalOutlet` instead.\n * @breaking-change 9.0.0\n */\nclass DomPortalHost extends DomPortalOutlet {\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * Directive version of a `TemplatePortal`. Because the directive *is* a TemplatePortal,\n * the directive instance itself can be attached to a host, enabling declarative use of portals.\n */\nclass CdkPortal extends TemplatePortal {\n constructor(templateRef, viewContainerRef) {\n super(templateRef, viewContainerRef);\n }\n}\nCdkPortal.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"13.3.0\", ngImport: i0, type: CdkPortal, deps: [{ token: i0.TemplateRef }, { token: i0.ViewContainerRef }], target: i0.ɵɵFactoryTarget.Directive });\nCdkPortal.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"12.0.0\", version: \"13.3.0\", type: CdkPortal, selector: \"[cdkPortal]\", exportAs: [\"cdkPortal\"], usesInheritance: true, ngImport: i0 });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"13.3.0\", ngImport: i0, type: CdkPortal, decorators: [{\n type: Directive,\n args: [{\n selector: '[cdkPortal]',\n exportAs: 'cdkPortal',\n }]\n }], ctorParameters: function () { return [{ type: i0.TemplateRef }, { type: i0.ViewContainerRef }]; } });\n/**\n * @deprecated Use `CdkPortal` instead.\n * @breaking-change 9.0.0\n */\nclass TemplatePortalDirective extends CdkPortal {\n}\nTemplatePortalDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"13.3.0\", ngImport: i0, type: TemplatePortalDirective, deps: null, target: i0.ɵɵFactoryTarget.Directive });\nTemplatePortalDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"12.0.0\", version: \"13.3.0\", type: TemplatePortalDirective, selector: \"[cdk-portal], [portal]\", providers: [\n {\n provide: CdkPortal,\n useExisting: TemplatePortalDirective,\n },\n ], exportAs: [\"cdkPortal\"], usesInheritance: true, ngImport: i0 });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"13.3.0\", ngImport: i0, type: TemplatePortalDirective, decorators: [{\n type: Directive,\n args: [{\n selector: '[cdk-portal], [portal]',\n exportAs: 'cdkPortal',\n providers: [\n {\n provide: CdkPortal,\n useExisting: TemplatePortalDirective,\n },\n ],\n }]\n }] });\n/**\n * Directive version of a PortalOutlet. Because the directive *is* a PortalOutlet, portals can be\n * directly attached to it, enabling declarative use.\n *\n * Usage:\n * ``\n */\nclass CdkPortalOutlet extends BasePortalOutlet {\n constructor(_componentFactoryResolver, _viewContainerRef, \n /**\n * @deprecated `_document` parameter to be made required.\n * @breaking-change 9.0.0\n */\n _document) {\n super();\n this._componentFactoryResolver = _componentFactoryResolver;\n this._viewContainerRef = _viewContainerRef;\n /** Whether the portal component is initialized. */\n this._isInitialized = false;\n /** Emits when a portal is attached to the outlet. */\n this.attached = new EventEmitter();\n /**\n * Attaches the given DomPortal to this PortalHost by moving all of the portal content into it.\n * @param portal Portal to be attached.\n * @deprecated To be turned into a method.\n * @breaking-change 10.0.0\n */\n this.attachDomPortal = (portal) => {\n // @breaking-change 9.0.0 Remove check and error once the\n // `_document` constructor parameter is required.\n if (!this._document && (typeof ngDevMode === 'undefined' || ngDevMode)) {\n throw Error('Cannot attach DOM portal without _document constructor parameter');\n }\n const element = portal.element;\n if (!element.parentNode && (typeof ngDevMode === 'undefined' || ngDevMode)) {\n throw Error('DOM portal content must be attached to a parent node.');\n }\n // Anchor used to save the element's previous position so\n // that we can restore it when the portal is detached.\n const anchorNode = this._document.createComment('dom-portal');\n portal.setAttachedHost(this);\n element.parentNode.insertBefore(anchorNode, element);\n this._getRootNode().appendChild(element);\n this._attachedPortal = portal;\n super.setDisposeFn(() => {\n if (anchorNode.parentNode) {\n anchorNode.parentNode.replaceChild(element, anchorNode);\n }\n });\n };\n this._document = _document;\n }\n /** Portal associated with the Portal outlet. */\n get portal() {\n return this._attachedPortal;\n }\n set portal(portal) {\n // Ignore the cases where the `portal` is set to a falsy value before the lifecycle hooks have\n // run. This handles the cases where the user might do something like `
`\n // and attach a portal programmatically in the parent component. When Angular does the first CD\n // round, it will fire the setter with empty string, causing the user's content to be cleared.\n if (this.hasAttached() && !portal && !this._isInitialized) {\n return;\n }\n if (this.hasAttached()) {\n super.detach();\n }\n if (portal) {\n super.attach(portal);\n }\n this._attachedPortal = portal || null;\n }\n /** Component or view reference that is attached to the portal. */\n get attachedRef() {\n return this._attachedRef;\n }\n ngOnInit() {\n this._isInitialized = true;\n }\n ngOnDestroy() {\n super.dispose();\n this._attachedPortal = null;\n this._attachedRef = null;\n }\n /**\n * Attach the given ComponentPortal to this PortalOutlet using the ComponentFactoryResolver.\n *\n * @param portal Portal to be attached to the portal outlet.\n * @returns Reference to the created component.\n */\n attachComponentPortal(portal) {\n portal.setAttachedHost(this);\n // If the portal specifies an origin, use that as the logical location of the component\n // in the application tree. Otherwise use the location of this PortalOutlet.\n const viewContainerRef = portal.viewContainerRef != null ? portal.viewContainerRef : this._viewContainerRef;\n const resolver = portal.componentFactoryResolver || this._componentFactoryResolver;\n const componentFactory = resolver.resolveComponentFactory(portal.component);\n const ref = viewContainerRef.createComponent(componentFactory, viewContainerRef.length, portal.injector || viewContainerRef.injector);\n // If we're using a view container that's different from the injected one (e.g. when the portal\n // specifies its own) we need to move the component into the outlet, otherwise it'll be rendered\n // inside of the alternate view container.\n if (viewContainerRef !== this._viewContainerRef) {\n this._getRootNode().appendChild(ref.hostView.rootNodes[0]);\n }\n super.setDisposeFn(() => ref.destroy());\n this._attachedPortal = portal;\n this._attachedRef = ref;\n this.attached.emit(ref);\n return ref;\n }\n /**\n * Attach the given TemplatePortal to this PortalHost as an embedded View.\n * @param portal Portal to be attached.\n * @returns Reference to the created embedded view.\n */\n attachTemplatePortal(portal) {\n portal.setAttachedHost(this);\n const viewRef = this._viewContainerRef.createEmbeddedView(portal.templateRef, portal.context);\n super.setDisposeFn(() => this._viewContainerRef.clear());\n this._attachedPortal = portal;\n this._attachedRef = viewRef;\n this.attached.emit(viewRef);\n return viewRef;\n }\n /** Gets the root node of the portal outlet. */\n _getRootNode() {\n const nativeElement = this._viewContainerRef.element.nativeElement;\n // The directive could be set on a template which will result in a comment\n // node being the root. Use the comment's parent node if that is the case.\n return (nativeElement.nodeType === nativeElement.ELEMENT_NODE\n ? nativeElement\n : nativeElement.parentNode);\n }\n}\nCdkPortalOutlet.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"13.3.0\", ngImport: i0, type: CdkPortalOutlet, deps: [{ token: i0.ComponentFactoryResolver }, { token: i0.ViewContainerRef }, { token: DOCUMENT }], target: i0.ɵɵFactoryTarget.Directive });\nCdkPortalOutlet.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"12.0.0\", version: \"13.3.0\", type: CdkPortalOutlet, selector: \"[cdkPortalOutlet]\", inputs: { portal: [\"cdkPortalOutlet\", \"portal\"] }, outputs: { attached: \"attached\" }, exportAs: [\"cdkPortalOutlet\"], usesInheritance: true, ngImport: i0 });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"13.3.0\", ngImport: i0, type: CdkPortalOutlet, decorators: [{\n type: Directive,\n args: [{\n selector: '[cdkPortalOutlet]',\n exportAs: 'cdkPortalOutlet',\n inputs: ['portal: cdkPortalOutlet'],\n }]\n }], ctorParameters: function () { return [{ type: i0.ComponentFactoryResolver }, { type: i0.ViewContainerRef }, { type: undefined, decorators: [{\n type: Inject,\n args: [DOCUMENT]\n }] }]; }, propDecorators: { attached: [{\n type: Output\n }] } });\n/**\n * @deprecated Use `CdkPortalOutlet` instead.\n * @breaking-change 9.0.0\n */\nclass PortalHostDirective extends CdkPortalOutlet {\n}\nPortalHostDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"13.3.0\", ngImport: i0, type: PortalHostDirective, deps: null, target: i0.ɵɵFactoryTarget.Directive });\nPortalHostDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"12.0.0\", version: \"13.3.0\", type: PortalHostDirective, selector: \"[cdkPortalHost], [portalHost]\", inputs: { portal: [\"cdkPortalHost\", \"portal\"] }, providers: [\n {\n provide: CdkPortalOutlet,\n useExisting: PortalHostDirective,\n },\n ], exportAs: [\"cdkPortalHost\"], usesInheritance: true, ngImport: i0 });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"13.3.0\", ngImport: i0, type: PortalHostDirective, decorators: [{\n type: Directive,\n args: [{\n selector: '[cdkPortalHost], [portalHost]',\n exportAs: 'cdkPortalHost',\n inputs: ['portal: cdkPortalHost'],\n providers: [\n {\n provide: CdkPortalOutlet,\n useExisting: PortalHostDirective,\n },\n ],\n }]\n }] });\nclass PortalModule {\n}\nPortalModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"13.3.0\", ngImport: i0, type: PortalModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });\nPortalModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: \"12.0.0\", version: \"13.3.0\", ngImport: i0, type: PortalModule, declarations: [CdkPortal, CdkPortalOutlet, TemplatePortalDirective, PortalHostDirective], exports: [CdkPortal, CdkPortalOutlet, TemplatePortalDirective, PortalHostDirective] });\nPortalModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: \"12.0.0\", version: \"13.3.0\", ngImport: i0, type: PortalModule });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"13.3.0\", ngImport: i0, type: PortalModule, decorators: [{\n type: NgModule,\n args: [{\n exports: [CdkPortal, CdkPortalOutlet, TemplatePortalDirective, PortalHostDirective],\n declarations: [CdkPortal, CdkPortalOutlet, TemplatePortalDirective, PortalHostDirective],\n }]\n }] });\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * Custom injector to be used when providing custom\n * injection tokens to components inside a portal.\n * @docs-private\n * @deprecated Use `Injector.create` instead.\n * @breaking-change 11.0.0\n */\nclass PortalInjector {\n constructor(_parentInjector, _customTokens) {\n this._parentInjector = _parentInjector;\n this._customTokens = _customTokens;\n }\n get(token, notFoundValue) {\n const value = this._customTokens.get(token);\n if (typeof value !== 'undefined') {\n return value;\n }\n return this._parentInjector.get(token, notFoundValue);\n }\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\n/**\n * Generated bundle index. Do not edit.\n */\n\nexport { BasePortalHost, BasePortalOutlet, CdkPortal, CdkPortalOutlet, ComponentPortal, DomPortal, DomPortalHost, DomPortalOutlet, Portal, PortalHostDirective, PortalInjector, PortalModule, TemplatePortal, TemplatePortalDirective };\n","import { coerceNumberProperty, coerceElement, coerceBooleanProperty } from '@angular/cdk/coercion';\nimport * as i0 from '@angular/core';\nimport { InjectionToken, forwardRef, Directive, Input, Injectable, Optional, Inject, Component, ViewEncapsulation, ChangeDetectionStrategy, Output, ViewChild, SkipSelf, NgModule } from '@angular/core';\nimport { Subject, of, Observable, fromEvent, animationFrameScheduler, asapScheduler, Subscription, isObservable } from 'rxjs';\nimport { distinctUntilChanged, auditTime, filter, takeUntil, startWith, pairwise, switchMap, shareReplay } from 'rxjs/operators';\nimport * as i1 from '@angular/cdk/platform';\nimport { getRtlScrollAxisType, supportsScrollBehavior } from '@angular/cdk/platform';\nimport { DOCUMENT } from '@angular/common';\nimport * as i2 from '@angular/cdk/bidi';\nimport { BidiModule } from '@angular/cdk/bidi';\nimport * as i2$1 from '@angular/cdk/collections';\nimport { isDataSource, ArrayDataSource, _VIEW_REPEATER_STRATEGY, _RecycleViewRepeaterStrategy } from '@angular/cdk/collections';\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/** The injection token used to specify the virtual scrolling strategy. */\nconst VIRTUAL_SCROLL_STRATEGY = new InjectionToken('VIRTUAL_SCROLL_STRATEGY');\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/** Virtual scrolling strategy for lists with items of known fixed size. */\nclass FixedSizeVirtualScrollStrategy {\n /**\n * @param itemSize The size of the items in the virtually scrolling list.\n * @param minBufferPx The minimum amount of buffer (in pixels) before needing to render more\n * @param maxBufferPx The amount of buffer (in pixels) to render when rendering more.\n */\n constructor(itemSize, minBufferPx, maxBufferPx) {\n this._scrolledIndexChange = new Subject();\n /** @docs-private Implemented as part of VirtualScrollStrategy. */\n this.scrolledIndexChange = this._scrolledIndexChange.pipe(distinctUntilChanged());\n /** The attached viewport. */\n this._viewport = null;\n this._itemSize = itemSize;\n this._minBufferPx = minBufferPx;\n this._maxBufferPx = maxBufferPx;\n }\n /**\n * Attaches this scroll strategy to a viewport.\n * @param viewport The viewport to attach this strategy to.\n */\n attach(viewport) {\n this._viewport = viewport;\n this._updateTotalContentSize();\n this._updateRenderedRange();\n }\n /** Detaches this scroll strategy from the currently attached viewport. */\n detach() {\n this._scrolledIndexChange.complete();\n this._viewport = null;\n }\n /**\n * Update the item size and buffer size.\n * @param itemSize The size of the items in the virtually scrolling list.\n * @param minBufferPx The minimum amount of buffer (in pixels) before needing to render more\n * @param maxBufferPx The amount of buffer (in pixels) to render when rendering more.\n */\n updateItemAndBufferSize(itemSize, minBufferPx, maxBufferPx) {\n if (maxBufferPx < minBufferPx && (typeof ngDevMode === 'undefined' || ngDevMode)) {\n throw Error('CDK virtual scroll: maxBufferPx must be greater than or equal to minBufferPx');\n }\n this._itemSize = itemSize;\n this._minBufferPx = minBufferPx;\n this._maxBufferPx = maxBufferPx;\n this._updateTotalContentSize();\n this._updateRenderedRange();\n }\n /** @docs-private Implemented as part of VirtualScrollStrategy. */\n onContentScrolled() {\n this._updateRenderedRange();\n }\n /** @docs-private Implemented as part of VirtualScrollStrategy. */\n onDataLengthChanged() {\n this._updateTotalContentSize();\n this._updateRenderedRange();\n }\n /** @docs-private Implemented as part of VirtualScrollStrategy. */\n onContentRendered() {\n /* no-op */\n }\n /** @docs-private Implemented as part of VirtualScrollStrategy. */\n onRenderedOffsetChanged() {\n /* no-op */\n }\n /**\n * Scroll to the offset for the given index.\n * @param index The index of the element to scroll to.\n * @param behavior The ScrollBehavior to use when scrolling.\n */\n scrollToIndex(index, behavior) {\n if (this._viewport) {\n this._viewport.scrollToOffset(index * this._itemSize, behavior);\n }\n }\n /** Update the viewport's total content size. */\n _updateTotalContentSize() {\n if (!this._viewport) {\n return;\n }\n this._viewport.setTotalContentSize(this._viewport.getDataLength() * this._itemSize);\n }\n /** Update the viewport's rendered range. */\n _updateRenderedRange() {\n if (!this._viewport) {\n return;\n }\n const renderedRange = this._viewport.getRenderedRange();\n const newRange = { start: renderedRange.start, end: renderedRange.end };\n const viewportSize = this._viewport.getViewportSize();\n const dataLength = this._viewport.getDataLength();\n let scrollOffset = this._viewport.measureScrollOffset();\n // Prevent NaN as result when dividing by zero.\n let firstVisibleIndex = this._itemSize > 0 ? scrollOffset / this._itemSize : 0;\n // If user scrolls to the bottom of the list and data changes to a smaller list\n if (newRange.end > dataLength) {\n // We have to recalculate the first visible index based on new data length and viewport size.\n const maxVisibleItems = Math.ceil(viewportSize / this._itemSize);\n const newVisibleIndex = Math.max(0, Math.min(firstVisibleIndex, dataLength - maxVisibleItems));\n // If first visible index changed we must update scroll offset to handle start/end buffers\n // Current range must also be adjusted to cover the new position (bottom of new list).\n if (firstVisibleIndex != newVisibleIndex) {\n firstVisibleIndex = newVisibleIndex;\n scrollOffset = newVisibleIndex * this._itemSize;\n newRange.start = Math.floor(firstVisibleIndex);\n }\n newRange.end = Math.max(0, Math.min(dataLength, newRange.start + maxVisibleItems));\n }\n const startBuffer = scrollOffset - newRange.start * this._itemSize;\n if (startBuffer < this._minBufferPx && newRange.start != 0) {\n const expandStart = Math.ceil((this._maxBufferPx - startBuffer) / this._itemSize);\n newRange.start = Math.max(0, newRange.start - expandStart);\n newRange.end = Math.min(dataLength, Math.ceil(firstVisibleIndex + (viewportSize + this._minBufferPx) / this._itemSize));\n }\n else {\n const endBuffer = newRange.end * this._itemSize - (scrollOffset + viewportSize);\n if (endBuffer < this._minBufferPx && newRange.end != dataLength) {\n const expandEnd = Math.ceil((this._maxBufferPx - endBuffer) / this._itemSize);\n if (expandEnd > 0) {\n newRange.end = Math.min(dataLength, newRange.end + expandEnd);\n newRange.start = Math.max(0, Math.floor(firstVisibleIndex - this._minBufferPx / this._itemSize));\n }\n }\n }\n this._viewport.setRenderedRange(newRange);\n this._viewport.setRenderedContentOffset(this._itemSize * newRange.start);\n this._scrolledIndexChange.next(Math.floor(firstVisibleIndex));\n }\n}\n/**\n * Provider factory for `FixedSizeVirtualScrollStrategy` that simply extracts the already created\n * `FixedSizeVirtualScrollStrategy` from the given directive.\n * @param fixedSizeDir The instance of `CdkFixedSizeVirtualScroll` to extract the\n * `FixedSizeVirtualScrollStrategy` from.\n */\nfunction _fixedSizeVirtualScrollStrategyFactory(fixedSizeDir) {\n return fixedSizeDir._scrollStrategy;\n}\n/** A virtual scroll strategy that supports fixed-size items. */\nclass CdkFixedSizeVirtualScroll {\n constructor() {\n this._itemSize = 20;\n this._minBufferPx = 100;\n this._maxBufferPx = 200;\n /** The scroll strategy used by this directive. */\n this._scrollStrategy = new FixedSizeVirtualScrollStrategy(this.itemSize, this.minBufferPx, this.maxBufferPx);\n }\n /** The size of the items in the list (in pixels). */\n get itemSize() {\n return this._itemSize;\n }\n set itemSize(value) {\n this._itemSize = coerceNumberProperty(value);\n }\n /**\n * The minimum amount of buffer rendered beyond the viewport (in pixels).\n * If the amount of buffer dips below this number, more items will be rendered. Defaults to 100px.\n */\n get minBufferPx() {\n return this._minBufferPx;\n }\n set minBufferPx(value) {\n this._minBufferPx = coerceNumberProperty(value);\n }\n /**\n * The number of pixels worth of buffer to render for when rendering new items. Defaults to 200px.\n */\n get maxBufferPx() {\n return this._maxBufferPx;\n }\n set maxBufferPx(value) {\n this._maxBufferPx = coerceNumberProperty(value);\n }\n ngOnChanges() {\n this._scrollStrategy.updateItemAndBufferSize(this.itemSize, this.minBufferPx, this.maxBufferPx);\n }\n}\nCdkFixedSizeVirtualScroll.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"13.3.0\", ngImport: i0, type: CdkFixedSizeVirtualScroll, deps: [], target: i0.ɵɵFactoryTarget.Directive });\nCdkFixedSizeVirtualScroll.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"12.0.0\", version: \"13.3.0\", type: CdkFixedSizeVirtualScroll, selector: \"cdk-virtual-scroll-viewport[itemSize]\", inputs: { itemSize: \"itemSize\", minBufferPx: \"minBufferPx\", maxBufferPx: \"maxBufferPx\" }, providers: [\n {\n provide: VIRTUAL_SCROLL_STRATEGY,\n useFactory: _fixedSizeVirtualScrollStrategyFactory,\n deps: [forwardRef(() => CdkFixedSizeVirtualScroll)],\n },\n ], usesOnChanges: true, ngImport: i0 });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"13.3.0\", ngImport: i0, type: CdkFixedSizeVirtualScroll, decorators: [{\n type: Directive,\n args: [{\n selector: 'cdk-virtual-scroll-viewport[itemSize]',\n providers: [\n {\n provide: VIRTUAL_SCROLL_STRATEGY,\n useFactory: _fixedSizeVirtualScrollStrategyFactory,\n deps: [forwardRef(() => CdkFixedSizeVirtualScroll)],\n },\n ],\n }]\n }], propDecorators: { itemSize: [{\n type: Input\n }], minBufferPx: [{\n type: Input\n }], maxBufferPx: [{\n type: Input\n }] } });\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/** Time in ms to throttle the scrolling events by default. */\nconst DEFAULT_SCROLL_TIME = 20;\n/**\n * Service contained all registered Scrollable references and emits an event when any one of the\n * Scrollable references emit a scrolled event.\n */\nclass ScrollDispatcher {\n constructor(_ngZone, _platform, document) {\n this._ngZone = _ngZone;\n this._platform = _platform;\n /** Subject for notifying that a registered scrollable reference element has been scrolled. */\n this._scrolled = new Subject();\n /** Keeps track of the global `scroll` and `resize` subscriptions. */\n this._globalSubscription = null;\n /** Keeps track of the amount of subscriptions to `scrolled`. Used for cleaning up afterwards. */\n this._scrolledCount = 0;\n /**\n * Map of all the scrollable references that are registered with the service and their\n * scroll event subscriptions.\n */\n this.scrollContainers = new Map();\n this._document = document;\n }\n /**\n * Registers a scrollable instance with the service and listens for its scrolled events. When the\n * scrollable is scrolled, the service emits the event to its scrolled observable.\n * @param scrollable Scrollable instance to be registered.\n */\n register(scrollable) {\n if (!this.scrollContainers.has(scrollable)) {\n this.scrollContainers.set(scrollable, scrollable.elementScrolled().subscribe(() => this._scrolled.next(scrollable)));\n }\n }\n /**\n * Deregisters a Scrollable reference and unsubscribes from its scroll event observable.\n * @param scrollable Scrollable instance to be deregistered.\n */\n deregister(scrollable) {\n const scrollableReference = this.scrollContainers.get(scrollable);\n if (scrollableReference) {\n scrollableReference.unsubscribe();\n this.scrollContainers.delete(scrollable);\n }\n }\n /**\n * Returns an observable that emits an event whenever any of the registered Scrollable\n * references (or window, document, or body) fire a scrolled event. Can provide a time in ms\n * to override the default \"throttle\" time.\n *\n * **Note:** in order to avoid hitting change detection for every scroll event,\n * all of the events emitted from this stream will be run outside the Angular zone.\n * If you need to update any data bindings as a result of a scroll event, you have\n * to run the callback using `NgZone.run`.\n */\n scrolled(auditTimeInMs = DEFAULT_SCROLL_TIME) {\n if (!this._platform.isBrowser) {\n return of();\n }\n return new Observable((observer) => {\n if (!this._globalSubscription) {\n this._addGlobalListener();\n }\n // In the case of a 0ms delay, use an observable without auditTime\n // since it does add a perceptible delay in processing overhead.\n const subscription = auditTimeInMs > 0\n ? this._scrolled.pipe(auditTime(auditTimeInMs)).subscribe(observer)\n : this._scrolled.subscribe(observer);\n this._scrolledCount++;\n return () => {\n subscription.unsubscribe();\n this._scrolledCount--;\n if (!this._scrolledCount) {\n this._removeGlobalListener();\n }\n };\n });\n }\n ngOnDestroy() {\n this._removeGlobalListener();\n this.scrollContainers.forEach((_, container) => this.deregister(container));\n this._scrolled.complete();\n }\n /**\n * Returns an observable that emits whenever any of the\n * scrollable ancestors of an element are scrolled.\n * @param elementOrElementRef Element whose ancestors to listen for.\n * @param auditTimeInMs Time to throttle the scroll events.\n */\n ancestorScrolled(elementOrElementRef, auditTimeInMs) {\n const ancestors = this.getAncestorScrollContainers(elementOrElementRef);\n return this.scrolled(auditTimeInMs).pipe(filter(target => {\n return !target || ancestors.indexOf(target) > -1;\n }));\n }\n /** Returns all registered Scrollables that contain the provided element. */\n getAncestorScrollContainers(elementOrElementRef) {\n const scrollingContainers = [];\n this.scrollContainers.forEach((_subscription, scrollable) => {\n if (this._scrollableContainsElement(scrollable, elementOrElementRef)) {\n scrollingContainers.push(scrollable);\n }\n });\n return scrollingContainers;\n }\n /** Use defaultView of injected document if available or fallback to global window reference */\n _getWindow() {\n return this._document.defaultView || window;\n }\n /** Returns true if the element is contained within the provided Scrollable. */\n _scrollableContainsElement(scrollable, elementOrElementRef) {\n let element = coerceElement(elementOrElementRef);\n let scrollableElement = scrollable.getElementRef().nativeElement;\n // Traverse through the element parents until we reach null, checking if any of the elements\n // are the scrollable's element.\n do {\n if (element == scrollableElement) {\n return true;\n }\n } while ((element = element.parentElement));\n return false;\n }\n /** Sets up the global scroll listeners. */\n _addGlobalListener() {\n this._globalSubscription = this._ngZone.runOutsideAngular(() => {\n const window = this._getWindow();\n return fromEvent(window.document, 'scroll').subscribe(() => this._scrolled.next());\n });\n }\n /** Cleans up the global scroll listener. */\n _removeGlobalListener() {\n if (this._globalSubscription) {\n this._globalSubscription.unsubscribe();\n this._globalSubscription = null;\n }\n }\n}\nScrollDispatcher.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"13.3.0\", ngImport: i0, type: ScrollDispatcher, deps: [{ token: i0.NgZone }, { token: i1.Platform }, { token: DOCUMENT, optional: true }], target: i0.ɵɵFactoryTarget.Injectable });\nScrollDispatcher.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"13.3.0\", ngImport: i0, type: ScrollDispatcher, providedIn: 'root' });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"13.3.0\", ngImport: i0, type: ScrollDispatcher, decorators: [{\n type: Injectable,\n args: [{ providedIn: 'root' }]\n }], ctorParameters: function () { return [{ type: i0.NgZone }, { type: i1.Platform }, { type: undefined, decorators: [{\n type: Optional\n }, {\n type: Inject,\n args: [DOCUMENT]\n }] }]; } });\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * Sends an event when the directive's element is scrolled. Registers itself with the\n * ScrollDispatcher service to include itself as part of its collection of scrolling events that it\n * can be listened to through the service.\n */\nclass CdkScrollable {\n constructor(elementRef, scrollDispatcher, ngZone, dir) {\n this.elementRef = elementRef;\n this.scrollDispatcher = scrollDispatcher;\n this.ngZone = ngZone;\n this.dir = dir;\n this._destroyed = new Subject();\n this._elementScrolled = new Observable((observer) => this.ngZone.runOutsideAngular(() => fromEvent(this.elementRef.nativeElement, 'scroll')\n .pipe(takeUntil(this._destroyed))\n .subscribe(observer)));\n }\n ngOnInit() {\n this.scrollDispatcher.register(this);\n }\n ngOnDestroy() {\n this.scrollDispatcher.deregister(this);\n this._destroyed.next();\n this._destroyed.complete();\n }\n /** Returns observable that emits when a scroll event is fired on the host element. */\n elementScrolled() {\n return this._elementScrolled;\n }\n /** Gets the ElementRef for the viewport. */\n getElementRef() {\n return this.elementRef;\n }\n /**\n * Scrolls to the specified offsets. This is a normalized version of the browser's native scrollTo\n * method, since browsers are not consistent about what scrollLeft means in RTL. For this method\n * left and right always refer to the left and right side of the scrolling container irrespective\n * of the layout direction. start and end refer to left and right in an LTR context and vice-versa\n * in an RTL context.\n * @param options specified the offsets to scroll to.\n */\n scrollTo(options) {\n const el = this.elementRef.nativeElement;\n const isRtl = this.dir && this.dir.value == 'rtl';\n // Rewrite start & end offsets as right or left offsets.\n if (options.left == null) {\n options.left = isRtl ? options.end : options.start;\n }\n if (options.right == null) {\n options.right = isRtl ? options.start : options.end;\n }\n // Rewrite the bottom offset as a top offset.\n if (options.bottom != null) {\n options.top =\n el.scrollHeight - el.clientHeight - options.bottom;\n }\n // Rewrite the right offset as a left offset.\n if (isRtl && getRtlScrollAxisType() != 0 /* NORMAL */) {\n if (options.left != null) {\n options.right =\n el.scrollWidth - el.clientWidth - options.left;\n }\n if (getRtlScrollAxisType() == 2 /* INVERTED */) {\n options.left = options.right;\n }\n else if (getRtlScrollAxisType() == 1 /* NEGATED */) {\n options.left = options.right ? -options.right : options.right;\n }\n }\n else {\n if (options.right != null) {\n options.left =\n el.scrollWidth - el.clientWidth - options.right;\n }\n }\n this._applyScrollToOptions(options);\n }\n _applyScrollToOptions(options) {\n const el = this.elementRef.nativeElement;\n if (supportsScrollBehavior()) {\n el.scrollTo(options);\n }\n else {\n if (options.top != null) {\n el.scrollTop = options.top;\n }\n if (options.left != null) {\n el.scrollLeft = options.left;\n }\n }\n }\n /**\n * Measures the scroll offset relative to the specified edge of the viewport. This method can be\n * used instead of directly checking scrollLeft or scrollTop, since browsers are not consistent\n * about what scrollLeft means in RTL. The values returned by this method are normalized such that\n * left and right always refer to the left and right side of the scrolling container irrespective\n * of the layout direction. start and end refer to left and right in an LTR context and vice-versa\n * in an RTL context.\n * @param from The edge to measure from.\n */\n measureScrollOffset(from) {\n const LEFT = 'left';\n const RIGHT = 'right';\n const el = this.elementRef.nativeElement;\n if (from == 'top') {\n return el.scrollTop;\n }\n if (from == 'bottom') {\n return el.scrollHeight - el.clientHeight - el.scrollTop;\n }\n // Rewrite start & end as left or right offsets.\n const isRtl = this.dir && this.dir.value == 'rtl';\n if (from == 'start') {\n from = isRtl ? RIGHT : LEFT;\n }\n else if (from == 'end') {\n from = isRtl ? LEFT : RIGHT;\n }\n if (isRtl && getRtlScrollAxisType() == 2 /* INVERTED */) {\n // For INVERTED, scrollLeft is (scrollWidth - clientWidth) when scrolled all the way left and\n // 0 when scrolled all the way right.\n if (from == LEFT) {\n return el.scrollWidth - el.clientWidth - el.scrollLeft;\n }\n else {\n return el.scrollLeft;\n }\n }\n else if (isRtl && getRtlScrollAxisType() == 1 /* NEGATED */) {\n // For NEGATED, scrollLeft is -(scrollWidth - clientWidth) when scrolled all the way left and\n // 0 when scrolled all the way right.\n if (from == LEFT) {\n return el.scrollLeft + el.scrollWidth - el.clientWidth;\n }\n else {\n return -el.scrollLeft;\n }\n }\n else {\n // For NORMAL, as well as non-RTL contexts, scrollLeft is 0 when scrolled all the way left and\n // (scrollWidth - clientWidth) when scrolled all the way right.\n if (from == LEFT) {\n return el.scrollLeft;\n }\n else {\n return el.scrollWidth - el.clientWidth - el.scrollLeft;\n }\n }\n }\n}\nCdkScrollable.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"13.3.0\", ngImport: i0, type: CdkScrollable, deps: [{ token: i0.ElementRef }, { token: ScrollDispatcher }, { token: i0.NgZone }, { token: i2.Directionality, optional: true }], target: i0.ɵɵFactoryTarget.Directive });\nCdkScrollable.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"12.0.0\", version: \"13.3.0\", type: CdkScrollable, selector: \"[cdk-scrollable], [cdkScrollable]\", ngImport: i0 });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"13.3.0\", ngImport: i0, type: CdkScrollable, decorators: [{\n type: Directive,\n args: [{\n selector: '[cdk-scrollable], [cdkScrollable]',\n }]\n }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: ScrollDispatcher }, { type: i0.NgZone }, { type: i2.Directionality, decorators: [{\n type: Optional\n }] }]; } });\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/** Time in ms to throttle the resize events by default. */\nconst DEFAULT_RESIZE_TIME = 20;\n/**\n * Simple utility for getting the bounds of the browser viewport.\n * @docs-private\n */\nclass ViewportRuler {\n constructor(_platform, ngZone, document) {\n this._platform = _platform;\n /** Stream of viewport change events. */\n this._change = new Subject();\n /** Event listener that will be used to handle the viewport change events. */\n this._changeListener = (event) => {\n this._change.next(event);\n };\n this._document = document;\n ngZone.runOutsideAngular(() => {\n if (_platform.isBrowser) {\n const window = this._getWindow();\n // Note that bind the events ourselves, rather than going through something like RxJS's\n // `fromEvent` so that we can ensure that they're bound outside of the NgZone.\n window.addEventListener('resize', this._changeListener);\n window.addEventListener('orientationchange', this._changeListener);\n }\n // Clear the cached position so that the viewport is re-measured next time it is required.\n // We don't need to keep track of the subscription, because it is completed on destroy.\n this.change().subscribe(() => (this._viewportSize = null));\n });\n }\n ngOnDestroy() {\n if (this._platform.isBrowser) {\n const window = this._getWindow();\n window.removeEventListener('resize', this._changeListener);\n window.removeEventListener('orientationchange', this._changeListener);\n }\n this._change.complete();\n }\n /** Returns the viewport's width and height. */\n getViewportSize() {\n if (!this._viewportSize) {\n this._updateViewportSize();\n }\n const output = { width: this._viewportSize.width, height: this._viewportSize.height };\n // If we're not on a browser, don't cache the size since it'll be mocked out anyway.\n if (!this._platform.isBrowser) {\n this._viewportSize = null;\n }\n return output;\n }\n /** Gets a ClientRect for the viewport's bounds. */\n getViewportRect() {\n // Use the document element's bounding rect rather than the window scroll properties\n // (e.g. pageYOffset, scrollY) due to in issue in Chrome and IE where window scroll\n // properties and client coordinates (boundingClientRect, clientX/Y, etc.) are in different\n // conceptual viewports. Under most circumstances these viewports are equivalent, but they\n // can disagree when the page is pinch-zoomed (on devices that support touch).\n // See https://bugs.chromium.org/p/chromium/issues/detail?id=489206#c4\n // We use the documentElement instead of the body because, by default (without a css reset)\n // browsers typically give the document body an 8px margin, which is not included in\n // getBoundingClientRect().\n const scrollPosition = this.getViewportScrollPosition();\n const { width, height } = this.getViewportSize();\n return {\n top: scrollPosition.top,\n left: scrollPosition.left,\n bottom: scrollPosition.top + height,\n right: scrollPosition.left + width,\n height,\n width,\n };\n }\n /** Gets the (top, left) scroll position of the viewport. */\n getViewportScrollPosition() {\n // While we can get a reference to the fake document\n // during SSR, it doesn't have getBoundingClientRect.\n if (!this._platform.isBrowser) {\n return { top: 0, left: 0 };\n }\n // The top-left-corner of the viewport is determined by the scroll position of the document\n // body, normally just (scrollLeft, scrollTop). However, Chrome and Firefox disagree about\n // whether `document.body` or `document.documentElement` is the scrolled element, so reading\n // `scrollTop` and `scrollLeft` is inconsistent. However, using the bounding rect of\n // `document.documentElement` works consistently, where the `top` and `left` values will\n // equal negative the scroll position.\n const document = this._document;\n const window = this._getWindow();\n const documentElement = document.documentElement;\n const documentRect = documentElement.getBoundingClientRect();\n const top = -documentRect.top ||\n document.body.scrollTop ||\n window.scrollY ||\n documentElement.scrollTop ||\n 0;\n const left = -documentRect.left ||\n document.body.scrollLeft ||\n window.scrollX ||\n documentElement.scrollLeft ||\n 0;\n return { top, left };\n }\n /**\n * Returns a stream that emits whenever the size of the viewport changes.\n * This stream emits outside of the Angular zone.\n * @param throttleTime Time in milliseconds to throttle the stream.\n */\n change(throttleTime = DEFAULT_RESIZE_TIME) {\n return throttleTime > 0 ? this._change.pipe(auditTime(throttleTime)) : this._change;\n }\n /** Use defaultView of injected document if available or fallback to global window reference */\n _getWindow() {\n return this._document.defaultView || window;\n }\n /** Updates the cached viewport size. */\n _updateViewportSize() {\n const window = this._getWindow();\n this._viewportSize = this._platform.isBrowser\n ? { width: window.innerWidth, height: window.innerHeight }\n : { width: 0, height: 0 };\n }\n}\nViewportRuler.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"13.3.0\", ngImport: i0, type: ViewportRuler, deps: [{ token: i1.Platform }, { token: i0.NgZone }, { token: DOCUMENT, optional: true }], target: i0.ɵɵFactoryTarget.Injectable });\nViewportRuler.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"13.3.0\", ngImport: i0, type: ViewportRuler, providedIn: 'root' });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"13.3.0\", ngImport: i0, type: ViewportRuler, decorators: [{\n type: Injectable,\n args: [{ providedIn: 'root' }]\n }], ctorParameters: function () { return [{ type: i1.Platform }, { type: i0.NgZone }, { type: undefined, decorators: [{\n type: Optional\n }, {\n type: Inject,\n args: [DOCUMENT]\n }] }]; } });\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/** Checks if the given ranges are equal. */\nfunction rangesEqual(r1, r2) {\n return r1.start == r2.start && r1.end == r2.end;\n}\n/**\n * Scheduler to be used for scroll events. Needs to fall back to\n * something that doesn't rely on requestAnimationFrame on environments\n * that don't support it (e.g. server-side rendering).\n */\nconst SCROLL_SCHEDULER = typeof requestAnimationFrame !== 'undefined' ? animationFrameScheduler : asapScheduler;\n/** A viewport that virtualizes its scrolling with the help of `CdkVirtualForOf`. */\nclass CdkVirtualScrollViewport extends CdkScrollable {\n constructor(elementRef, _changeDetectorRef, ngZone, _scrollStrategy, dir, scrollDispatcher, viewportRuler) {\n super(elementRef, scrollDispatcher, ngZone, dir);\n this.elementRef = elementRef;\n this._changeDetectorRef = _changeDetectorRef;\n this._scrollStrategy = _scrollStrategy;\n /** Emits when the viewport is detached from a CdkVirtualForOf. */\n this._detachedSubject = new Subject();\n /** Emits when the rendered range changes. */\n this._renderedRangeSubject = new Subject();\n this._orientation = 'vertical';\n this._appendOnly = false;\n // Note: we don't use the typical EventEmitter here because we need to subscribe to the scroll\n // strategy lazily (i.e. only if the user is actually listening to the events). We do this because\n // depending on how the strategy calculates the scrolled index, it may come at a cost to\n // performance.\n /** Emits when the index of the first element visible in the viewport changes. */\n this.scrolledIndexChange = new Observable((observer) => this._scrollStrategy.scrolledIndexChange.subscribe(index => Promise.resolve().then(() => this.ngZone.run(() => observer.next(index)))));\n /** A stream that emits whenever the rendered range changes. */\n this.renderedRangeStream = this._renderedRangeSubject;\n /**\n * The total size of all content (in pixels), including content that is not currently rendered.\n */\n this._totalContentSize = 0;\n /** A string representing the `style.width` property value to be used for the spacer element. */\n this._totalContentWidth = '';\n /** A string representing the `style.height` property value to be used for the spacer element. */\n this._totalContentHeight = '';\n /** The currently rendered range of indices. */\n this._renderedRange = { start: 0, end: 0 };\n /** The length of the data bound to this viewport (in number of items). */\n this._dataLength = 0;\n /** The size of the viewport (in pixels). */\n this._viewportSize = 0;\n /** The last rendered content offset that was set. */\n this._renderedContentOffset = 0;\n /**\n * Whether the last rendered content offset was to the end of the content (and therefore needs to\n * be rewritten as an offset to the start of the content).\n */\n this._renderedContentOffsetNeedsRewrite = false;\n /** Whether there is a pending change detection cycle. */\n this._isChangeDetectionPending = false;\n /** A list of functions to run after the next change detection cycle. */\n this._runAfterChangeDetection = [];\n /** Subscription to changes in the viewport size. */\n this._viewportChanges = Subscription.EMPTY;\n if (!_scrollStrategy && (typeof ngDevMode === 'undefined' || ngDevMode)) {\n throw Error('Error: cdk-virtual-scroll-viewport requires the \"itemSize\" property to be set.');\n }\n this._viewportChanges = viewportRuler.change().subscribe(() => {\n this.checkViewportSize();\n });\n }\n /** The direction the viewport scrolls. */\n get orientation() {\n return this._orientation;\n }\n set orientation(orientation) {\n if (this._orientation !== orientation) {\n this._orientation = orientation;\n this._calculateSpacerSize();\n }\n }\n /**\n * Whether rendered items should persist in the DOM after scrolling out of view. By default, items\n * will be removed.\n */\n get appendOnly() {\n return this._appendOnly;\n }\n set appendOnly(value) {\n this._appendOnly = coerceBooleanProperty(value);\n }\n ngOnInit() {\n super.ngOnInit();\n // It's still too early to measure the viewport at this point. Deferring with a promise allows\n // the Viewport to be rendered with the correct size before we measure. We run this outside the\n // zone to avoid causing more change detection cycles. We handle the change detection loop\n // ourselves instead.\n this.ngZone.runOutsideAngular(() => Promise.resolve().then(() => {\n this._measureViewportSize();\n this._scrollStrategy.attach(this);\n this.elementScrolled()\n .pipe(\n // Start off with a fake scroll event so we properly detect our initial position.\n startWith(null), \n // Collect multiple events into one until the next animation frame. This way if\n // there are multiple scroll events in the same frame we only need to recheck\n // our layout once.\n auditTime(0, SCROLL_SCHEDULER))\n .subscribe(() => this._scrollStrategy.onContentScrolled());\n this._markChangeDetectionNeeded();\n }));\n }\n ngOnDestroy() {\n this.detach();\n this._scrollStrategy.detach();\n // Complete all subjects\n this._renderedRangeSubject.complete();\n this._detachedSubject.complete();\n this._viewportChanges.unsubscribe();\n super.ngOnDestroy();\n }\n /** Attaches a `CdkVirtualScrollRepeater` to this viewport. */\n attach(forOf) {\n if (this._forOf && (typeof ngDevMode === 'undefined' || ngDevMode)) {\n throw Error('CdkVirtualScrollViewport is already attached.');\n }\n // Subscribe to the data stream of the CdkVirtualForOf to keep track of when the data length\n // changes. Run outside the zone to avoid triggering change detection, since we're managing the\n // change detection loop ourselves.\n this.ngZone.runOutsideAngular(() => {\n this._forOf = forOf;\n this._forOf.dataStream.pipe(takeUntil(this._detachedSubject)).subscribe(data => {\n const newLength = data.length;\n if (newLength !== this._dataLength) {\n this._dataLength = newLength;\n this._scrollStrategy.onDataLengthChanged();\n }\n this._doChangeDetection();\n });\n });\n }\n /** Detaches the current `CdkVirtualForOf`. */\n detach() {\n this._forOf = null;\n this._detachedSubject.next();\n }\n /** Gets the length of the data bound to this viewport (in number of items). */\n getDataLength() {\n return this._dataLength;\n }\n /** Gets the size of the viewport (in pixels). */\n getViewportSize() {\n return this._viewportSize;\n }\n // TODO(mmalerba): This is technically out of sync with what's really rendered until a render\n // cycle happens. I'm being careful to only call it after the render cycle is complete and before\n // setting it to something else, but its error prone and should probably be split into\n // `pendingRange` and `renderedRange`, the latter reflecting whats actually in the DOM.\n /** Get the current rendered range of items. */\n getRenderedRange() {\n return this._renderedRange;\n }\n /**\n * Sets the total size of all content (in pixels), including content that is not currently\n * rendered.\n */\n setTotalContentSize(size) {\n if (this._totalContentSize !== size) {\n this._totalContentSize = size;\n this._calculateSpacerSize();\n this._markChangeDetectionNeeded();\n }\n }\n /** Sets the currently rendered range of indices. */\n setRenderedRange(range) {\n if (!rangesEqual(this._renderedRange, range)) {\n if (this.appendOnly) {\n range = { start: 0, end: Math.max(this._renderedRange.end, range.end) };\n }\n this._renderedRangeSubject.next((this._renderedRange = range));\n this._markChangeDetectionNeeded(() => this._scrollStrategy.onContentRendered());\n }\n }\n /**\n * Gets the offset from the start of the viewport to the start of the rendered data (in pixels).\n */\n getOffsetToRenderedContentStart() {\n return this._renderedContentOffsetNeedsRewrite ? null : this._renderedContentOffset;\n }\n /**\n * Sets the offset from the start of the viewport to either the start or end of the rendered data\n * (in pixels).\n */\n setRenderedContentOffset(offset, to = 'to-start') {\n // For a horizontal viewport in a right-to-left language we need to translate along the x-axis\n // in the negative direction.\n const isRtl = this.dir && this.dir.value == 'rtl';\n const isHorizontal = this.orientation == 'horizontal';\n const axis = isHorizontal ? 'X' : 'Y';\n const axisDirection = isHorizontal && isRtl ? -1 : 1;\n let transform = `translate${axis}(${Number(axisDirection * offset)}px)`;\n // in appendOnly, we always start from the top\n offset = this.appendOnly && to === 'to-start' ? 0 : offset;\n this._renderedContentOffset = offset;\n if (to === 'to-end') {\n transform += ` translate${axis}(-100%)`;\n // The viewport should rewrite this as a `to-start` offset on the next render cycle. Otherwise\n // elements will appear to expand in the wrong direction (e.g. `mat-expansion-panel` would\n // expand upward).\n this._renderedContentOffsetNeedsRewrite = true;\n }\n if (this._renderedContentTransform != transform) {\n // We know this value is safe because we parse `offset` with `Number()` before passing it\n // into the string.\n this._renderedContentTransform = transform;\n this._markChangeDetectionNeeded(() => {\n if (this._renderedContentOffsetNeedsRewrite) {\n this._renderedContentOffset -= this.measureRenderedContentSize();\n this._renderedContentOffsetNeedsRewrite = false;\n this.setRenderedContentOffset(this._renderedContentOffset);\n }\n else {\n this._scrollStrategy.onRenderedOffsetChanged();\n }\n });\n }\n }\n /**\n * Scrolls to the given offset from the start of the viewport. Please note that this is not always\n * the same as setting `scrollTop` or `scrollLeft`. In a horizontal viewport with right-to-left\n * direction, this would be the equivalent of setting a fictional `scrollRight` property.\n * @param offset The offset to scroll to.\n * @param behavior The ScrollBehavior to use when scrolling. Default is behavior is `auto`.\n */\n scrollToOffset(offset, behavior = 'auto') {\n const options = { behavior };\n if (this.orientation === 'horizontal') {\n options.start = offset;\n }\n else {\n options.top = offset;\n }\n this.scrollTo(options);\n }\n /**\n * Scrolls to the offset for the given index.\n * @param index The index of the element to scroll to.\n * @param behavior The ScrollBehavior to use when scrolling. Default is behavior is `auto`.\n */\n scrollToIndex(index, behavior = 'auto') {\n this._scrollStrategy.scrollToIndex(index, behavior);\n }\n /**\n * Gets the current scroll offset from the start of the viewport (in pixels).\n * @param from The edge to measure the offset from. Defaults to 'top' in vertical mode and 'start'\n * in horizontal mode.\n */\n measureScrollOffset(from) {\n return from\n ? super.measureScrollOffset(from)\n : super.measureScrollOffset(this.orientation === 'horizontal' ? 'start' : 'top');\n }\n /** Measure the combined size of all of the rendered items. */\n measureRenderedContentSize() {\n const contentEl = this._contentWrapper.nativeElement;\n return this.orientation === 'horizontal' ? contentEl.offsetWidth : contentEl.offsetHeight;\n }\n /**\n * Measure the total combined size of the given range. Throws if the range includes items that are\n * not rendered.\n */\n measureRangeSize(range) {\n if (!this._forOf) {\n return 0;\n }\n return this._forOf.measureRangeSize(range, this.orientation);\n }\n /** Update the viewport dimensions and re-render. */\n checkViewportSize() {\n // TODO: Cleanup later when add logic for handling content resize\n this._measureViewportSize();\n this._scrollStrategy.onDataLengthChanged();\n }\n /** Measure the viewport size. */\n _measureViewportSize() {\n const viewportEl = this.elementRef.nativeElement;\n this._viewportSize =\n this.orientation === 'horizontal' ? viewportEl.clientWidth : viewportEl.clientHeight;\n }\n /** Queue up change detection to run. */\n _markChangeDetectionNeeded(runAfter) {\n if (runAfter) {\n this._runAfterChangeDetection.push(runAfter);\n }\n // Use a Promise to batch together calls to `_doChangeDetection`. This way if we set a bunch of\n // properties sequentially we only have to run `_doChangeDetection` once at the end.\n if (!this._isChangeDetectionPending) {\n this._isChangeDetectionPending = true;\n this.ngZone.runOutsideAngular(() => Promise.resolve().then(() => {\n this._doChangeDetection();\n }));\n }\n }\n /** Run change detection. */\n _doChangeDetection() {\n this._isChangeDetectionPending = false;\n // Apply the content transform. The transform can't be set via an Angular binding because\n // bypassSecurityTrustStyle is banned in Google. However the value is safe, it's composed of\n // string literals, a variable that can only be 'X' or 'Y', and user input that is run through\n // the `Number` function first to coerce it to a numeric value.\n this._contentWrapper.nativeElement.style.transform = this._renderedContentTransform;\n // Apply changes to Angular bindings. Note: We must call `markForCheck` to run change detection\n // from the root, since the repeated items are content projected in. Calling `detectChanges`\n // instead does not properly check the projected content.\n this.ngZone.run(() => this._changeDetectorRef.markForCheck());\n const runAfterChangeDetection = this._runAfterChangeDetection;\n this._runAfterChangeDetection = [];\n for (const fn of runAfterChangeDetection) {\n fn();\n }\n }\n /** Calculates the `style.width` and `style.height` for the spacer element. */\n _calculateSpacerSize() {\n this._totalContentHeight =\n this.orientation === 'horizontal' ? '' : `${this._totalContentSize}px`;\n this._totalContentWidth =\n this.orientation === 'horizontal' ? `${this._totalContentSize}px` : '';\n }\n}\nCdkVirtualScrollViewport.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"13.3.0\", ngImport: i0, type: CdkVirtualScrollViewport, deps: [{ token: i0.ElementRef }, { token: i0.ChangeDetectorRef }, { token: i0.NgZone }, { token: VIRTUAL_SCROLL_STRATEGY, optional: true }, { token: i2.Directionality, optional: true }, { token: ScrollDispatcher }, { token: ViewportRuler }], target: i0.ɵɵFactoryTarget.Component });\nCdkVirtualScrollViewport.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"12.0.0\", version: \"13.3.0\", type: CdkVirtualScrollViewport, selector: \"cdk-virtual-scroll-viewport\", inputs: { orientation: \"orientation\", appendOnly: \"appendOnly\" }, outputs: { scrolledIndexChange: \"scrolledIndexChange\" }, host: { properties: { \"class.cdk-virtual-scroll-orientation-horizontal\": \"orientation === \\\"horizontal\\\"\", \"class.cdk-virtual-scroll-orientation-vertical\": \"orientation !== \\\"horizontal\\\"\" }, classAttribute: \"cdk-virtual-scroll-viewport\" }, providers: [\n {\n provide: CdkScrollable,\n useExisting: CdkVirtualScrollViewport,\n },\n ], viewQueries: [{ propertyName: \"_contentWrapper\", first: true, predicate: [\"contentWrapper\"], descendants: true, static: true }], usesInheritance: true, ngImport: i0, template: \"\\n
\\n \\n
\\n\\n
\\n\", styles: [\"cdk-virtual-scroll-viewport{display:block;position:relative;overflow:auto;contain:strict;transform:translateZ(0);will-change:scroll-position;-webkit-overflow-scrolling:touch}.cdk-virtual-scroll-content-wrapper{position:absolute;top:0;left:0;contain:content}[dir=rtl] .cdk-virtual-scroll-content-wrapper{right:0;left:auto}.cdk-virtual-scroll-orientation-horizontal .cdk-virtual-scroll-content-wrapper{min-height:100%}.cdk-virtual-scroll-orientation-horizontal .cdk-virtual-scroll-content-wrapper>dl:not([cdkVirtualFor]),.cdk-virtual-scroll-orientation-horizontal .cdk-virtual-scroll-content-wrapper>ol:not([cdkVirtualFor]),.cdk-virtual-scroll-orientation-horizontal .cdk-virtual-scroll-content-wrapper>table:not([cdkVirtualFor]),.cdk-virtual-scroll-orientation-horizontal .cdk-virtual-scroll-content-wrapper>ul:not([cdkVirtualFor]){padding-left:0;padding-right:0;margin-left:0;margin-right:0;border-left-width:0;border-right-width:0;outline:none}.cdk-virtual-scroll-orientation-vertical .cdk-virtual-scroll-content-wrapper{min-width:100%}.cdk-virtual-scroll-orientation-vertical .cdk-virtual-scroll-content-wrapper>dl:not([cdkVirtualFor]),.cdk-virtual-scroll-orientation-vertical .cdk-virtual-scroll-content-wrapper>ol:not([cdkVirtualFor]),.cdk-virtual-scroll-orientation-vertical .cdk-virtual-scroll-content-wrapper>table:not([cdkVirtualFor]),.cdk-virtual-scroll-orientation-vertical .cdk-virtual-scroll-content-wrapper>ul:not([cdkVirtualFor]){padding-top:0;padding-bottom:0;margin-top:0;margin-bottom:0;border-top-width:0;border-bottom-width:0;outline:none}.cdk-virtual-scroll-spacer{position:absolute;top:0;left:0;height:1px;width:1px;transform-origin:0 0}[dir=rtl] .cdk-virtual-scroll-spacer{right:0;left:auto;transform-origin:100% 0}\\n\"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"13.3.0\", ngImport: i0, type: CdkVirtualScrollViewport, decorators: [{\n type: Component,\n args: [{ selector: 'cdk-virtual-scroll-viewport', host: {\n 'class': 'cdk-virtual-scroll-viewport',\n '[class.cdk-virtual-scroll-orientation-horizontal]': 'orientation === \"horizontal\"',\n '[class.cdk-virtual-scroll-orientation-vertical]': 'orientation !== \"horizontal\"',\n }, encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, providers: [\n {\n provide: CdkScrollable,\n useExisting: CdkVirtualScrollViewport,\n },\n ], template: \"\\n
\\n \\n
\\n\\n
\\n\", styles: [\"cdk-virtual-scroll-viewport{display:block;position:relative;overflow:auto;contain:strict;transform:translateZ(0);will-change:scroll-position;-webkit-overflow-scrolling:touch}.cdk-virtual-scroll-content-wrapper{position:absolute;top:0;left:0;contain:content}[dir=rtl] .cdk-virtual-scroll-content-wrapper{right:0;left:auto}.cdk-virtual-scroll-orientation-horizontal .cdk-virtual-scroll-content-wrapper{min-height:100%}.cdk-virtual-scroll-orientation-horizontal .cdk-virtual-scroll-content-wrapper>dl:not([cdkVirtualFor]),.cdk-virtual-scroll-orientation-horizontal .cdk-virtual-scroll-content-wrapper>ol:not([cdkVirtualFor]),.cdk-virtual-scroll-orientation-horizontal .cdk-virtual-scroll-content-wrapper>table:not([cdkVirtualFor]),.cdk-virtual-scroll-orientation-horizontal .cdk-virtual-scroll-content-wrapper>ul:not([cdkVirtualFor]){padding-left:0;padding-right:0;margin-left:0;margin-right:0;border-left-width:0;border-right-width:0;outline:none}.cdk-virtual-scroll-orientation-vertical .cdk-virtual-scroll-content-wrapper{min-width:100%}.cdk-virtual-scroll-orientation-vertical .cdk-virtual-scroll-content-wrapper>dl:not([cdkVirtualFor]),.cdk-virtual-scroll-orientation-vertical .cdk-virtual-scroll-content-wrapper>ol:not([cdkVirtualFor]),.cdk-virtual-scroll-orientation-vertical .cdk-virtual-scroll-content-wrapper>table:not([cdkVirtualFor]),.cdk-virtual-scroll-orientation-vertical .cdk-virtual-scroll-content-wrapper>ul:not([cdkVirtualFor]){padding-top:0;padding-bottom:0;margin-top:0;margin-bottom:0;border-top-width:0;border-bottom-width:0;outline:none}.cdk-virtual-scroll-spacer{position:absolute;top:0;left:0;height:1px;width:1px;transform-origin:0 0}[dir=rtl] .cdk-virtual-scroll-spacer{right:0;left:auto;transform-origin:100% 0}\\n\"] }]\n }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.ChangeDetectorRef }, { type: i0.NgZone }, { type: undefined, decorators: [{\n type: Optional\n }, {\n type: Inject,\n args: [VIRTUAL_SCROLL_STRATEGY]\n }] }, { type: i2.Directionality, decorators: [{\n type: Optional\n }] }, { type: ScrollDispatcher }, { type: ViewportRuler }]; }, propDecorators: { orientation: [{\n type: Input\n }], appendOnly: [{\n type: Input\n }], scrolledIndexChange: [{\n type: Output\n }], _contentWrapper: [{\n type: ViewChild,\n args: ['contentWrapper', { static: true }]\n }] } });\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/** Helper to extract the offset of a DOM Node in a certain direction. */\nfunction getOffset(orientation, direction, node) {\n const el = node;\n if (!el.getBoundingClientRect) {\n return 0;\n }\n const rect = el.getBoundingClientRect();\n if (orientation === 'horizontal') {\n return direction === 'start' ? rect.left : rect.right;\n }\n return direction === 'start' ? rect.top : rect.bottom;\n}\n/**\n * A directive similar to `ngForOf` to be used for rendering data inside a virtual scrolling\n * container.\n */\nclass CdkVirtualForOf {\n constructor(\n /** The view container to add items to. */\n _viewContainerRef, \n /** The template to use when stamping out new items. */\n _template, \n /** The set of available differs. */\n _differs, \n /** The strategy used to render items in the virtual scroll viewport. */\n _viewRepeater, \n /** The virtual scrolling viewport that these items are being rendered in. */\n _viewport, ngZone) {\n this._viewContainerRef = _viewContainerRef;\n this._template = _template;\n this._differs = _differs;\n this._viewRepeater = _viewRepeater;\n this._viewport = _viewport;\n /** Emits when the rendered view of the data changes. */\n this.viewChange = new Subject();\n /** Subject that emits when a new DataSource instance is given. */\n this._dataSourceChanges = new Subject();\n /** Emits whenever the data in the current DataSource changes. */\n this.dataStream = this._dataSourceChanges.pipe(\n // Start off with null `DataSource`.\n startWith(null), \n // Bundle up the previous and current data sources so we can work with both.\n pairwise(), \n // Use `_changeDataSource` to disconnect from the previous data source and connect to the\n // new one, passing back a stream of data changes which we run through `switchMap` to give\n // us a data stream that emits the latest data from whatever the current `DataSource` is.\n switchMap(([prev, cur]) => this._changeDataSource(prev, cur)), \n // Replay the last emitted data when someone subscribes.\n shareReplay(1));\n /** The differ used to calculate changes to the data. */\n this._differ = null;\n /** Whether the rendered data should be updated during the next ngDoCheck cycle. */\n this._needsUpdate = false;\n this._destroyed = new Subject();\n this.dataStream.subscribe(data => {\n this._data = data;\n this._onRenderedDataChange();\n });\n this._viewport.renderedRangeStream.pipe(takeUntil(this._destroyed)).subscribe(range => {\n this._renderedRange = range;\n if (this.viewChange.observers.length) {\n ngZone.run(() => this.viewChange.next(this._renderedRange));\n }\n this._onRenderedDataChange();\n });\n this._viewport.attach(this);\n }\n /** The DataSource to display. */\n get cdkVirtualForOf() {\n return this._cdkVirtualForOf;\n }\n set cdkVirtualForOf(value) {\n this._cdkVirtualForOf = value;\n if (isDataSource(value)) {\n this._dataSourceChanges.next(value);\n }\n else {\n // If value is an an NgIterable, convert it to an array.\n this._dataSourceChanges.next(new ArrayDataSource(isObservable(value) ? value : Array.from(value || [])));\n }\n }\n /**\n * The `TrackByFunction` to use for tracking changes. The `TrackByFunction` takes the index and\n * the item and produces a value to be used as the item's identity when tracking changes.\n */\n get cdkVirtualForTrackBy() {\n return this._cdkVirtualForTrackBy;\n }\n set cdkVirtualForTrackBy(fn) {\n this._needsUpdate = true;\n this._cdkVirtualForTrackBy = fn\n ? (index, item) => fn(index + (this._renderedRange ? this._renderedRange.start : 0), item)\n : undefined;\n }\n /** The template used to stamp out new elements. */\n set cdkVirtualForTemplate(value) {\n if (value) {\n this._needsUpdate = true;\n this._template = value;\n }\n }\n /**\n * The size of the cache used to store templates that are not being used for re-use later.\n * Setting the cache size to `0` will disable caching. Defaults to 20 templates.\n */\n get cdkVirtualForTemplateCacheSize() {\n return this._viewRepeater.viewCacheSize;\n }\n set cdkVirtualForTemplateCacheSize(size) {\n this._viewRepeater.viewCacheSize = coerceNumberProperty(size);\n }\n /**\n * Measures the combined size (width for horizontal orientation, height for vertical) of all items\n * in the specified range. Throws an error if the range includes items that are not currently\n * rendered.\n */\n measureRangeSize(range, orientation) {\n if (range.start >= range.end) {\n return 0;\n }\n if ((range.start < this._renderedRange.start || range.end > this._renderedRange.end) &&\n (typeof ngDevMode === 'undefined' || ngDevMode)) {\n throw Error(`Error: attempted to measure an item that isn't rendered.`);\n }\n // The index into the list of rendered views for the first item in the range.\n const renderedStartIndex = range.start - this._renderedRange.start;\n // The length of the range we're measuring.\n const rangeLen = range.end - range.start;\n // Loop over all the views, find the first and land node and compute the size by subtracting\n // the top of the first node from the bottom of the last one.\n let firstNode;\n let lastNode;\n // Find the first node by starting from the beginning and going forwards.\n for (let i = 0; i < rangeLen; i++) {\n const view = this._viewContainerRef.get(i + renderedStartIndex);\n if (view && view.rootNodes.length) {\n firstNode = lastNode = view.rootNodes[0];\n break;\n }\n }\n // Find the last node by starting from the end and going backwards.\n for (let i = rangeLen - 1; i > -1; i--) {\n const view = this._viewContainerRef.get(i + renderedStartIndex);\n if (view && view.rootNodes.length) {\n lastNode = view.rootNodes[view.rootNodes.length - 1];\n break;\n }\n }\n return firstNode && lastNode\n ? getOffset(orientation, 'end', lastNode) - getOffset(orientation, 'start', firstNode)\n : 0;\n }\n ngDoCheck() {\n if (this._differ && this._needsUpdate) {\n // TODO(mmalerba): We should differentiate needs update due to scrolling and a new portion of\n // this list being rendered (can use simpler algorithm) vs needs update due to data actually\n // changing (need to do this diff).\n const changes = this._differ.diff(this._renderedItems);\n if (!changes) {\n this._updateContext();\n }\n else {\n this._applyChanges(changes);\n }\n this._needsUpdate = false;\n }\n }\n ngOnDestroy() {\n this._viewport.detach();\n this._dataSourceChanges.next(undefined);\n this._dataSourceChanges.complete();\n this.viewChange.complete();\n this._destroyed.next();\n this._destroyed.complete();\n this._viewRepeater.detach();\n }\n /** React to scroll state changes in the viewport. */\n _onRenderedDataChange() {\n if (!this._renderedRange) {\n return;\n }\n this._renderedItems = this._data.slice(this._renderedRange.start, this._renderedRange.end);\n if (!this._differ) {\n // Use a wrapper function for the `trackBy` so any new values are\n // picked up automatically without having to recreate the differ.\n this._differ = this._differs.find(this._renderedItems).create((index, item) => {\n return this.cdkVirtualForTrackBy ? this.cdkVirtualForTrackBy(index, item) : item;\n });\n }\n this._needsUpdate = true;\n }\n /** Swap out one `DataSource` for another. */\n _changeDataSource(oldDs, newDs) {\n if (oldDs) {\n oldDs.disconnect(this);\n }\n this._needsUpdate = true;\n return newDs ? newDs.connect(this) : of();\n }\n /** Update the `CdkVirtualForOfContext` for all views. */\n _updateContext() {\n const count = this._data.length;\n let i = this._viewContainerRef.length;\n while (i--) {\n const view = this._viewContainerRef.get(i);\n view.context.index = this._renderedRange.start + i;\n view.context.count = count;\n this._updateComputedContextProperties(view.context);\n view.detectChanges();\n }\n }\n /** Apply changes to the DOM. */\n _applyChanges(changes) {\n this._viewRepeater.applyChanges(changes, this._viewContainerRef, (record, _adjustedPreviousIndex, currentIndex) => this._getEmbeddedViewArgs(record, currentIndex), record => record.item);\n // Update $implicit for any items that had an identity change.\n changes.forEachIdentityChange((record) => {\n const view = this._viewContainerRef.get(record.currentIndex);\n view.context.$implicit = record.item;\n });\n // Update the context variables on all items.\n const count = this._data.length;\n let i = this._viewContainerRef.length;\n while (i--) {\n const view = this._viewContainerRef.get(i);\n view.context.index = this._renderedRange.start + i;\n view.context.count = count;\n this._updateComputedContextProperties(view.context);\n }\n }\n /** Update the computed properties on the `CdkVirtualForOfContext`. */\n _updateComputedContextProperties(context) {\n context.first = context.index === 0;\n context.last = context.index === context.count - 1;\n context.even = context.index % 2 === 0;\n context.odd = !context.even;\n }\n _getEmbeddedViewArgs(record, index) {\n // Note that it's important that we insert the item directly at the proper index,\n // rather than inserting it and the moving it in place, because if there's a directive\n // on the same node that injects the `ViewContainerRef`, Angular will insert another\n // comment node which can throw off the move when it's being repeated for all items.\n return {\n templateRef: this._template,\n context: {\n $implicit: record.item,\n // It's guaranteed that the iterable is not \"undefined\" or \"null\" because we only\n // generate views for elements if the \"cdkVirtualForOf\" iterable has elements.\n cdkVirtualForOf: this._cdkVirtualForOf,\n index: -1,\n count: -1,\n first: false,\n last: false,\n odd: false,\n even: false,\n },\n index,\n };\n }\n}\nCdkVirtualForOf.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"13.3.0\", ngImport: i0, type: CdkVirtualForOf, deps: [{ token: i0.ViewContainerRef }, { token: i0.TemplateRef }, { token: i0.IterableDiffers }, { token: _VIEW_REPEATER_STRATEGY }, { token: CdkVirtualScrollViewport, skipSelf: true }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Directive });\nCdkVirtualForOf.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"12.0.0\", version: \"13.3.0\", type: CdkVirtualForOf, selector: \"[cdkVirtualFor][cdkVirtualForOf]\", inputs: { cdkVirtualForOf: \"cdkVirtualForOf\", cdkVirtualForTrackBy: \"cdkVirtualForTrackBy\", cdkVirtualForTemplate: \"cdkVirtualForTemplate\", cdkVirtualForTemplateCacheSize: \"cdkVirtualForTemplateCacheSize\" }, providers: [{ provide: _VIEW_REPEATER_STRATEGY, useClass: _RecycleViewRepeaterStrategy }], ngImport: i0 });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"13.3.0\", ngImport: i0, type: CdkVirtualForOf, decorators: [{\n type: Directive,\n args: [{\n selector: '[cdkVirtualFor][cdkVirtualForOf]',\n providers: [{ provide: _VIEW_REPEATER_STRATEGY, useClass: _RecycleViewRepeaterStrategy }],\n }]\n }], ctorParameters: function () { return [{ type: i0.ViewContainerRef }, { type: i0.TemplateRef }, { type: i0.IterableDiffers }, { type: i2$1._RecycleViewRepeaterStrategy, decorators: [{\n type: Inject,\n args: [_VIEW_REPEATER_STRATEGY]\n }] }, { type: CdkVirtualScrollViewport, decorators: [{\n type: SkipSelf\n }] }, { type: i0.NgZone }]; }, propDecorators: { cdkVirtualForOf: [{\n type: Input\n }], cdkVirtualForTrackBy: [{\n type: Input\n }], cdkVirtualForTemplate: [{\n type: Input\n }], cdkVirtualForTemplateCacheSize: [{\n type: Input\n }] } });\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nclass CdkScrollableModule {\n}\nCdkScrollableModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"13.3.0\", ngImport: i0, type: CdkScrollableModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });\nCdkScrollableModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: \"12.0.0\", version: \"13.3.0\", ngImport: i0, type: CdkScrollableModule, declarations: [CdkScrollable], exports: [CdkScrollable] });\nCdkScrollableModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: \"12.0.0\", version: \"13.3.0\", ngImport: i0, type: CdkScrollableModule });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"13.3.0\", ngImport: i0, type: CdkScrollableModule, decorators: [{\n type: NgModule,\n args: [{\n exports: [CdkScrollable],\n declarations: [CdkScrollable],\n }]\n }] });\n/**\n * @docs-primary-export\n */\nclass ScrollingModule {\n}\nScrollingModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"13.3.0\", ngImport: i0, type: ScrollingModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });\nScrollingModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: \"12.0.0\", version: \"13.3.0\", ngImport: i0, type: ScrollingModule, declarations: [CdkFixedSizeVirtualScroll, CdkVirtualForOf, CdkVirtualScrollViewport], imports: [BidiModule, CdkScrollableModule], exports: [BidiModule, CdkScrollableModule, CdkFixedSizeVirtualScroll,\n CdkVirtualForOf,\n CdkVirtualScrollViewport] });\nScrollingModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: \"12.0.0\", version: \"13.3.0\", ngImport: i0, type: ScrollingModule, imports: [[BidiModule, CdkScrollableModule], BidiModule, CdkScrollableModule] });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"13.3.0\", ngImport: i0, type: ScrollingModule, decorators: [{\n type: NgModule,\n args: [{\n imports: [BidiModule, CdkScrollableModule],\n exports: [\n BidiModule,\n CdkScrollableModule,\n CdkFixedSizeVirtualScroll,\n CdkVirtualForOf,\n CdkVirtualScrollViewport,\n ],\n declarations: [CdkFixedSizeVirtualScroll, CdkVirtualForOf, CdkVirtualScrollViewport],\n }]\n }] });\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\n/**\n * Generated bundle index. Do not edit.\n */\n\nexport { CdkFixedSizeVirtualScroll, CdkScrollable, CdkScrollableModule, CdkVirtualForOf, CdkVirtualScrollViewport, DEFAULT_RESIZE_TIME, DEFAULT_SCROLL_TIME, FixedSizeVirtualScrollStrategy, ScrollDispatcher, ScrollingModule, VIRTUAL_SCROLL_STRATEGY, ViewportRuler, _fixedSizeVirtualScrollStrategyFactory };\n","import { FocusKeyManager } from '@angular/cdk/a11y';\nimport * as i1 from '@angular/cdk/bidi';\nimport { BidiModule } from '@angular/cdk/bidi';\nimport { coerceBooleanProperty, coerceNumberProperty } from '@angular/cdk/coercion';\nimport { hasModifierKey, SPACE, ENTER } from '@angular/cdk/keycodes';\nimport { DOCUMENT } from '@angular/common';\nimport * as i0 from '@angular/core';\nimport { Directive, InjectionToken, EventEmitter, forwardRef, TemplateRef, Component, ViewEncapsulation, ChangeDetectionStrategy, Inject, Optional, ContentChild, ViewChild, Input, Output, QueryList, ContentChildren, NgModule } from '@angular/core';\nimport { _getFocusedElementPierceShadowDom } from '@angular/cdk/platform';\nimport { Subject, of } from 'rxjs';\nimport { startWith, takeUntil } from 'rxjs/operators';\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nclass CdkStepHeader {\n constructor(_elementRef) {\n this._elementRef = _elementRef;\n }\n /** Focuses the step header. */\n focus() {\n this._elementRef.nativeElement.focus();\n }\n}\nCdkStepHeader.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"13.3.0\", ngImport: i0, type: CdkStepHeader, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive });\nCdkStepHeader.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"12.0.0\", version: \"13.3.0\", type: CdkStepHeader, selector: \"[cdkStepHeader]\", host: { attributes: { \"role\": \"tab\" } }, ngImport: i0 });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"13.3.0\", ngImport: i0, type: CdkStepHeader, decorators: [{\n type: Directive,\n args: [{\n selector: '[cdkStepHeader]',\n host: {\n 'role': 'tab',\n },\n }]\n }], ctorParameters: function () { return [{ type: i0.ElementRef }]; } });\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nclass CdkStepLabel {\n constructor(/** @docs-private */ template) {\n this.template = template;\n }\n}\nCdkStepLabel.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"13.3.0\", ngImport: i0, type: CdkStepLabel, deps: [{ token: i0.TemplateRef }], target: i0.ɵɵFactoryTarget.Directive });\nCdkStepLabel.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"12.0.0\", version: \"13.3.0\", type: CdkStepLabel, selector: \"[cdkStepLabel]\", ngImport: i0 });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"13.3.0\", ngImport: i0, type: CdkStepLabel, decorators: [{\n type: Directive,\n args: [{\n selector: '[cdkStepLabel]',\n }]\n }], ctorParameters: function () { return [{ type: i0.TemplateRef }]; } });\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/** Used to generate unique ID for each stepper component. */\nlet nextId = 0;\n/** Change event emitted on selection changes. */\nclass StepperSelectionEvent {\n}\n/** Enum to represent the different states of the steps. */\nconst STEP_STATE = {\n NUMBER: 'number',\n EDIT: 'edit',\n DONE: 'done',\n ERROR: 'error',\n};\n/** InjectionToken that can be used to specify the global stepper options. */\nconst STEPPER_GLOBAL_OPTIONS = new InjectionToken('STEPPER_GLOBAL_OPTIONS');\nclass CdkStep {\n constructor(_stepper, stepperOptions) {\n this._stepper = _stepper;\n /** Whether user has attempted to move away from the step. */\n this.interacted = false;\n /** Emits when the user has attempted to move away from the step. */\n this.interactedStream = new EventEmitter();\n this._editable = true;\n this._optional = false;\n this._completedOverride = null;\n this._customError = null;\n this._stepperOptions = stepperOptions ? stepperOptions : {};\n this._displayDefaultIndicatorType = this._stepperOptions.displayDefaultIndicatorType !== false;\n }\n /** Whether the user can return to this step once it has been marked as completed. */\n get editable() {\n return this._editable;\n }\n set editable(value) {\n this._editable = coerceBooleanProperty(value);\n }\n /** Whether the completion of step is optional. */\n get optional() {\n return this._optional;\n }\n set optional(value) {\n this._optional = coerceBooleanProperty(value);\n }\n /** Whether step is marked as completed. */\n get completed() {\n return this._completedOverride == null ? this._getDefaultCompleted() : this._completedOverride;\n }\n set completed(value) {\n this._completedOverride = coerceBooleanProperty(value);\n }\n _getDefaultCompleted() {\n return this.stepControl ? this.stepControl.valid && this.interacted : this.interacted;\n }\n /** Whether step has an error. */\n get hasError() {\n return this._customError == null ? this._getDefaultError() : this._customError;\n }\n set hasError(value) {\n this._customError = coerceBooleanProperty(value);\n }\n _getDefaultError() {\n return this.stepControl && this.stepControl.invalid && this.interacted;\n }\n /** Selects this step component. */\n select() {\n this._stepper.selected = this;\n }\n /** Resets the step to its initial state. Note that this includes resetting form data. */\n reset() {\n this.interacted = false;\n if (this._completedOverride != null) {\n this._completedOverride = false;\n }\n if (this._customError != null) {\n this._customError = false;\n }\n if (this.stepControl) {\n this.stepControl.reset();\n }\n }\n ngOnChanges() {\n // Since basically all inputs of the MatStep get proxied through the view down to the\n // underlying MatStepHeader, we have to make sure that change detection runs correctly.\n this._stepper._stateChanged();\n }\n _markAsInteracted() {\n if (!this.interacted) {\n this.interacted = true;\n this.interactedStream.emit(this);\n }\n }\n /** Determines whether the error state can be shown. */\n _showError() {\n // We want to show the error state either if the user opted into/out of it using the\n // global options, or if they've explicitly set it through the `hasError` input.\n return this._stepperOptions.showError ?? this._customError != null;\n }\n}\nCdkStep.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"13.3.0\", ngImport: i0, type: CdkStep, deps: [{ token: forwardRef(() => CdkStepper) }, { token: STEPPER_GLOBAL_OPTIONS, optional: true }], target: i0.ɵɵFactoryTarget.Component });\nCdkStep.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"12.0.0\", version: \"13.3.0\", type: CdkStep, selector: \"cdk-step\", inputs: { stepControl: \"stepControl\", label: \"label\", errorMessage: \"errorMessage\", ariaLabel: [\"aria-label\", \"ariaLabel\"], ariaLabelledby: [\"aria-labelledby\", \"ariaLabelledby\"], state: \"state\", editable: \"editable\", optional: \"optional\", completed: \"completed\", hasError: \"hasError\" }, outputs: { interactedStream: \"interacted\" }, queries: [{ propertyName: \"stepLabel\", first: true, predicate: CdkStepLabel, descendants: true }], viewQueries: [{ propertyName: \"content\", first: true, predicate: TemplateRef, descendants: true, static: true }], exportAs: [\"cdkStep\"], usesOnChanges: true, ngImport: i0, template: '', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"13.3.0\", ngImport: i0, type: CdkStep, decorators: [{\n type: Component,\n args: [{\n selector: 'cdk-step',\n exportAs: 'cdkStep',\n template: '',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n }]\n }], ctorParameters: function () { return [{ type: CdkStepper, decorators: [{\n type: Inject,\n args: [forwardRef(() => CdkStepper)]\n }] }, { type: undefined, decorators: [{\n type: Optional\n }, {\n type: Inject,\n args: [STEPPER_GLOBAL_OPTIONS]\n }] }]; }, propDecorators: { stepLabel: [{\n type: ContentChild,\n args: [CdkStepLabel]\n }], content: [{\n type: ViewChild,\n args: [TemplateRef, { static: true }]\n }], stepControl: [{\n type: Input\n }], interactedStream: [{\n type: Output,\n args: ['interacted']\n }], label: [{\n type: Input\n }], errorMessage: [{\n type: Input\n }], ariaLabel: [{\n type: Input,\n args: ['aria-label']\n }], ariaLabelledby: [{\n type: Input,\n args: ['aria-labelledby']\n }], state: [{\n type: Input\n }], editable: [{\n type: Input\n }], optional: [{\n type: Input\n }], completed: [{\n type: Input\n }], hasError: [{\n type: Input\n }] } });\nclass CdkStepper {\n constructor(_dir, _changeDetectorRef, _elementRef, \n /**\n * @deprecated No longer in use, to be removed.\n * @breaking-change 13.0.0\n */\n _document) {\n this._dir = _dir;\n this._changeDetectorRef = _changeDetectorRef;\n this._elementRef = _elementRef;\n /** Emits when the component is destroyed. */\n this._destroyed = new Subject();\n /** Steps that belong to the current stepper, excluding ones from nested steppers. */\n this.steps = new QueryList();\n /** List of step headers sorted based on their DOM order. */\n this._sortedHeaders = new QueryList();\n this._linear = false;\n this._selectedIndex = 0;\n /** Event emitted when the selected step has changed. */\n this.selectionChange = new EventEmitter();\n /**\n * @deprecated To be turned into a private property. Use `orientation` instead.\n * @breaking-change 13.0.0\n */\n this._orientation = 'horizontal';\n this._groupId = nextId++;\n }\n /** Whether the validity of previous steps should be checked or not. */\n get linear() {\n return this._linear;\n }\n set linear(value) {\n this._linear = coerceBooleanProperty(value);\n }\n /** The index of the selected step. */\n get selectedIndex() {\n return this._selectedIndex;\n }\n set selectedIndex(index) {\n const newIndex = coerceNumberProperty(index);\n if (this.steps && this._steps) {\n // Ensure that the index can't be out of bounds.\n if (!this._isValidIndex(newIndex) && (typeof ngDevMode === 'undefined' || ngDevMode)) {\n throw Error('cdkStepper: Cannot assign out-of-bounds value to `selectedIndex`.');\n }\n this.selected?._markAsInteracted();\n if (this._selectedIndex !== newIndex &&\n !this._anyControlsInvalidOrPending(newIndex) &&\n (newIndex >= this._selectedIndex || this.steps.toArray()[newIndex].editable)) {\n this._updateSelectedItemIndex(newIndex);\n }\n }\n else {\n this._selectedIndex = newIndex;\n }\n }\n /** The step that is selected. */\n get selected() {\n return this.steps ? this.steps.toArray()[this.selectedIndex] : undefined;\n }\n set selected(step) {\n this.selectedIndex = step && this.steps ? this.steps.toArray().indexOf(step) : -1;\n }\n /** Orientation of the stepper. */\n get orientation() {\n return this._orientation;\n }\n set orientation(value) {\n // This is a protected method so that `MatSteppter` can hook into it.\n this._orientation = value;\n if (this._keyManager) {\n this._keyManager.withVerticalOrientation(value === 'vertical');\n }\n }\n ngAfterContentInit() {\n this._steps.changes\n .pipe(startWith(this._steps), takeUntil(this._destroyed))\n .subscribe((steps) => {\n this.steps.reset(steps.filter(step => step._stepper === this));\n this.steps.notifyOnChanges();\n });\n }\n ngAfterViewInit() {\n // If the step headers are defined outside of the `ngFor` that renders the steps, like in the\n // Material stepper, they won't appear in the `QueryList` in the same order as they're\n // rendered in the DOM which will lead to incorrect keyboard navigation. We need to sort\n // them manually to ensure that they're correct. Alternatively, we can change the Material\n // template to inline the headers in the `ngFor`, but that'll result in a lot of\n // code duplciation. See #23539.\n this._stepHeader.changes\n .pipe(startWith(this._stepHeader), takeUntil(this._destroyed))\n .subscribe((headers) => {\n this._sortedHeaders.reset(headers.toArray().sort((a, b) => {\n const documentPosition = a._elementRef.nativeElement.compareDocumentPosition(b._elementRef.nativeElement);\n // `compareDocumentPosition` returns a bitmask so we have to use a bitwise operator.\n // https://developer.mozilla.org/en-US/docs/Web/API/Node/compareDocumentPosition\n // tslint:disable-next-line:no-bitwise\n return documentPosition & Node.DOCUMENT_POSITION_FOLLOWING ? -1 : 1;\n }));\n this._sortedHeaders.notifyOnChanges();\n });\n // Note that while the step headers are content children by default, any components that\n // extend this one might have them as view children. We initialize the keyboard handling in\n // AfterViewInit so we're guaranteed for both view and content children to be defined.\n this._keyManager = new FocusKeyManager(this._sortedHeaders)\n .withWrap()\n .withHomeAndEnd()\n .withVerticalOrientation(this._orientation === 'vertical');\n (this._dir ? this._dir.change : of())\n .pipe(startWith(this._layoutDirection()), takeUntil(this._destroyed))\n .subscribe(direction => this._keyManager.withHorizontalOrientation(direction));\n this._keyManager.updateActiveItem(this._selectedIndex);\n // No need to `takeUntil` here, because we're the ones destroying `steps`.\n this.steps.changes.subscribe(() => {\n if (!this.selected) {\n this._selectedIndex = Math.max(this._selectedIndex - 1, 0);\n }\n });\n // The logic which asserts that the selected index is within bounds doesn't run before the\n // steps are initialized, because we don't how many steps there are yet so we may have an\n // invalid index on init. If that's the case, auto-correct to the default so we don't throw.\n if (!this._isValidIndex(this._selectedIndex)) {\n this._selectedIndex = 0;\n }\n }\n ngOnDestroy() {\n this.steps.destroy();\n this._sortedHeaders.destroy();\n this._destroyed.next();\n this._destroyed.complete();\n }\n /** Selects and focuses the next step in list. */\n next() {\n this.selectedIndex = Math.min(this._selectedIndex + 1, this.steps.length - 1);\n }\n /** Selects and focuses the previous step in list. */\n previous() {\n this.selectedIndex = Math.max(this._selectedIndex - 1, 0);\n }\n /** Resets the stepper to its initial state. Note that this includes clearing form data. */\n reset() {\n this._updateSelectedItemIndex(0);\n this.steps.forEach(step => step.reset());\n this._stateChanged();\n }\n /** Returns a unique id for each step label element. */\n _getStepLabelId(i) {\n return `cdk-step-label-${this._groupId}-${i}`;\n }\n /** Returns unique id for each step content element. */\n _getStepContentId(i) {\n return `cdk-step-content-${this._groupId}-${i}`;\n }\n /** Marks the component to be change detected. */\n _stateChanged() {\n this._changeDetectorRef.markForCheck();\n }\n /** Returns position state of the step with the given index. */\n _getAnimationDirection(index) {\n const position = index - this._selectedIndex;\n if (position < 0) {\n return this._layoutDirection() === 'rtl' ? 'next' : 'previous';\n }\n else if (position > 0) {\n return this._layoutDirection() === 'rtl' ? 'previous' : 'next';\n }\n return 'current';\n }\n /** Returns the type of icon to be displayed. */\n _getIndicatorType(index, state = STEP_STATE.NUMBER) {\n const step = this.steps.toArray()[index];\n const isCurrentStep = this._isCurrentStep(index);\n return step._displayDefaultIndicatorType\n ? this._getDefaultIndicatorLogic(step, isCurrentStep)\n : this._getGuidelineLogic(step, isCurrentStep, state);\n }\n _getDefaultIndicatorLogic(step, isCurrentStep) {\n if (step._showError() && step.hasError && !isCurrentStep) {\n return STEP_STATE.ERROR;\n }\n else if (!step.completed || isCurrentStep) {\n return STEP_STATE.NUMBER;\n }\n else {\n return step.editable ? STEP_STATE.EDIT : STEP_STATE.DONE;\n }\n }\n _getGuidelineLogic(step, isCurrentStep, state = STEP_STATE.NUMBER) {\n if (step._showError() && step.hasError && !isCurrentStep) {\n return STEP_STATE.ERROR;\n }\n else if (step.completed && !isCurrentStep) {\n return STEP_STATE.DONE;\n }\n else if (step.completed && isCurrentStep) {\n return state;\n }\n else if (step.editable && isCurrentStep) {\n return STEP_STATE.EDIT;\n }\n else {\n return state;\n }\n }\n _isCurrentStep(index) {\n return this._selectedIndex === index;\n }\n /** Returns the index of the currently-focused step header. */\n _getFocusIndex() {\n return this._keyManager ? this._keyManager.activeItemIndex : this._selectedIndex;\n }\n _updateSelectedItemIndex(newIndex) {\n const stepsArray = this.steps.toArray();\n this.selectionChange.emit({\n selectedIndex: newIndex,\n previouslySelectedIndex: this._selectedIndex,\n selectedStep: stepsArray[newIndex],\n previouslySelectedStep: stepsArray[this._selectedIndex],\n });\n // If focus is inside the stepper, move it to the next header, otherwise it may become\n // lost when the active step content is hidden. We can't be more granular with the check\n // (e.g. checking whether focus is inside the active step), because we don't have a\n // reference to the elements that are rendering out the content.\n this._containsFocus()\n ? this._keyManager.setActiveItem(newIndex)\n : this._keyManager.updateActiveItem(newIndex);\n this._selectedIndex = newIndex;\n this._stateChanged();\n }\n _onKeydown(event) {\n const hasModifier = hasModifierKey(event);\n const keyCode = event.keyCode;\n const manager = this._keyManager;\n if (manager.activeItemIndex != null &&\n !hasModifier &&\n (keyCode === SPACE || keyCode === ENTER)) {\n this.selectedIndex = manager.activeItemIndex;\n event.preventDefault();\n }\n else {\n manager.onKeydown(event);\n }\n }\n _anyControlsInvalidOrPending(index) {\n if (this._linear && index >= 0) {\n return this.steps\n .toArray()\n .slice(0, index)\n .some(step => {\n const control = step.stepControl;\n const isIncomplete = control\n ? control.invalid || control.pending || !step.interacted\n : !step.completed;\n return isIncomplete && !step.optional && !step._completedOverride;\n });\n }\n return false;\n }\n _layoutDirection() {\n return this._dir && this._dir.value === 'rtl' ? 'rtl' : 'ltr';\n }\n /** Checks whether the stepper contains the focused element. */\n _containsFocus() {\n const stepperElement = this._elementRef.nativeElement;\n const focusedElement = _getFocusedElementPierceShadowDom();\n return stepperElement === focusedElement || stepperElement.contains(focusedElement);\n }\n /** Checks whether the passed-in index is a valid step index. */\n _isValidIndex(index) {\n return index > -1 && (!this.steps || index < this.steps.length);\n }\n}\nCdkStepper.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"13.3.0\", ngImport: i0, type: CdkStepper, deps: [{ token: i1.Directionality, optional: true }, { token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: DOCUMENT }], target: i0.ɵɵFactoryTarget.Directive });\nCdkStepper.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"12.0.0\", version: \"13.3.0\", type: CdkStepper, selector: \"[cdkStepper]\", inputs: { linear: \"linear\", selectedIndex: \"selectedIndex\", selected: \"selected\", orientation: \"orientation\" }, outputs: { selectionChange: \"selectionChange\" }, queries: [{ propertyName: \"_steps\", predicate: CdkStep, descendants: true }, { propertyName: \"_stepHeader\", predicate: CdkStepHeader, descendants: true }], exportAs: [\"cdkStepper\"], ngImport: i0 });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"13.3.0\", ngImport: i0, type: CdkStepper, decorators: [{\n type: Directive,\n args: [{\n selector: '[cdkStepper]',\n exportAs: 'cdkStepper',\n }]\n }], ctorParameters: function () { return [{ type: i1.Directionality, decorators: [{\n type: Optional\n }] }, { type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: undefined, decorators: [{\n type: Inject,\n args: [DOCUMENT]\n }] }]; }, propDecorators: { _steps: [{\n type: ContentChildren,\n args: [CdkStep, { descendants: true }]\n }], _stepHeader: [{\n type: ContentChildren,\n args: [CdkStepHeader, { descendants: true }]\n }], linear: [{\n type: Input\n }], selectedIndex: [{\n type: Input\n }], selected: [{\n type: Input\n }], selectionChange: [{\n type: Output\n }], orientation: [{\n type: Input\n }] } });\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/** Button that moves to the next step in a stepper workflow. */\nclass CdkStepperNext {\n constructor(_stepper) {\n this._stepper = _stepper;\n /** Type of the next button. Defaults to \"submit\" if not specified. */\n this.type = 'submit';\n }\n}\nCdkStepperNext.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"13.3.0\", ngImport: i0, type: CdkStepperNext, deps: [{ token: CdkStepper }], target: i0.ɵɵFactoryTarget.Directive });\nCdkStepperNext.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"12.0.0\", version: \"13.3.0\", type: CdkStepperNext, selector: \"button[cdkStepperNext]\", inputs: { type: \"type\" }, host: { listeners: { \"click\": \"_stepper.next()\" }, properties: { \"type\": \"type\" } }, ngImport: i0 });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"13.3.0\", ngImport: i0, type: CdkStepperNext, decorators: [{\n type: Directive,\n args: [{\n selector: 'button[cdkStepperNext]',\n host: {\n '[type]': 'type',\n '(click)': '_stepper.next()',\n },\n }]\n }], ctorParameters: function () { return [{ type: CdkStepper }]; }, propDecorators: { type: [{\n type: Input\n }] } });\n/** Button that moves to the previous step in a stepper workflow. */\nclass CdkStepperPrevious {\n constructor(_stepper) {\n this._stepper = _stepper;\n /** Type of the previous button. Defaults to \"button\" if not specified. */\n this.type = 'button';\n }\n}\nCdkStepperPrevious.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"13.3.0\", ngImport: i0, type: CdkStepperPrevious, deps: [{ token: CdkStepper }], target: i0.ɵɵFactoryTarget.Directive });\nCdkStepperPrevious.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"12.0.0\", version: \"13.3.0\", type: CdkStepperPrevious, selector: \"button[cdkStepperPrevious]\", inputs: { type: \"type\" }, host: { listeners: { \"click\": \"_stepper.previous()\" }, properties: { \"type\": \"type\" } }, ngImport: i0 });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"13.3.0\", ngImport: i0, type: CdkStepperPrevious, decorators: [{\n type: Directive,\n args: [{\n selector: 'button[cdkStepperPrevious]',\n host: {\n '[type]': 'type',\n '(click)': '_stepper.previous()',\n },\n }]\n }], ctorParameters: function () { return [{ type: CdkStepper }]; }, propDecorators: { type: [{\n type: Input\n }] } });\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nclass CdkStepperModule {\n}\nCdkStepperModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"13.3.0\", ngImport: i0, type: CdkStepperModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });\nCdkStepperModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: \"12.0.0\", version: \"13.3.0\", ngImport: i0, type: CdkStepperModule, declarations: [CdkStep,\n CdkStepper,\n CdkStepHeader,\n CdkStepLabel,\n CdkStepperNext,\n CdkStepperPrevious], imports: [BidiModule], exports: [CdkStep, CdkStepper, CdkStepHeader, CdkStepLabel, CdkStepperNext, CdkStepperPrevious] });\nCdkStepperModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: \"12.0.0\", version: \"13.3.0\", ngImport: i0, type: CdkStepperModule, imports: [[BidiModule]] });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"13.3.0\", ngImport: i0, type: CdkStepperModule, decorators: [{\n type: NgModule,\n args: [{\n imports: [BidiModule],\n exports: [CdkStep, CdkStepper, CdkStepHeader, CdkStepLabel, CdkStepperNext, CdkStepperPrevious],\n declarations: [\n CdkStep,\n CdkStepper,\n CdkStepHeader,\n CdkStepLabel,\n CdkStepperNext,\n CdkStepperPrevious,\n ],\n }]\n }] });\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\n/**\n * Generated bundle index. Do not edit.\n */\n\nexport { CdkStep, CdkStepHeader, CdkStepLabel, CdkStepper, CdkStepperModule, CdkStepperNext, CdkStepperPrevious, STEPPER_GLOBAL_OPTIONS, STEP_STATE, StepperSelectionEvent };\n","import * as i1 from '@angular/cdk/platform';\nimport { normalizePassiveListenerOptions } from '@angular/cdk/platform';\nimport * as i0 from '@angular/core';\nimport { Injectable, EventEmitter, Directive, Output, Optional, Inject, Input, NgModule } from '@angular/core';\nimport { coerceElement, coerceNumberProperty, coerceBooleanProperty } from '@angular/cdk/coercion';\nimport { EMPTY, Subject, fromEvent } from 'rxjs';\nimport { auditTime, takeUntil } from 'rxjs/operators';\nimport { DOCUMENT } from '@angular/common';\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/** Options to pass to the animationstart listener. */\nconst listenerOptions = normalizePassiveListenerOptions({ passive: true });\n/**\n * An injectable service that can be used to monitor the autofill state of an input.\n * Based on the following blog post:\n * https://medium.com/@brunn/detecting-autofilled-fields-in-javascript-aed598d25da7\n */\nclass AutofillMonitor {\n constructor(_platform, _ngZone) {\n this._platform = _platform;\n this._ngZone = _ngZone;\n this._monitoredElements = new Map();\n }\n monitor(elementOrRef) {\n if (!this._platform.isBrowser) {\n return EMPTY;\n }\n const element = coerceElement(elementOrRef);\n const info = this._monitoredElements.get(element);\n if (info) {\n return info.subject;\n }\n const result = new Subject();\n const cssClass = 'cdk-text-field-autofilled';\n const listener = ((event) => {\n // Animation events fire on initial element render, we check for the presence of the autofill\n // CSS class to make sure this is a real change in state, not just the initial render before\n // we fire off events.\n if (event.animationName === 'cdk-text-field-autofill-start' &&\n !element.classList.contains(cssClass)) {\n element.classList.add(cssClass);\n this._ngZone.run(() => result.next({ target: event.target, isAutofilled: true }));\n }\n else if (event.animationName === 'cdk-text-field-autofill-end' &&\n element.classList.contains(cssClass)) {\n element.classList.remove(cssClass);\n this._ngZone.run(() => result.next({ target: event.target, isAutofilled: false }));\n }\n });\n this._ngZone.runOutsideAngular(() => {\n element.addEventListener('animationstart', listener, listenerOptions);\n element.classList.add('cdk-text-field-autofill-monitored');\n });\n this._monitoredElements.set(element, {\n subject: result,\n unlisten: () => {\n element.removeEventListener('animationstart', listener, listenerOptions);\n },\n });\n return result;\n }\n stopMonitoring(elementOrRef) {\n const element = coerceElement(elementOrRef);\n const info = this._monitoredElements.get(element);\n if (info) {\n info.unlisten();\n info.subject.complete();\n element.classList.remove('cdk-text-field-autofill-monitored');\n element.classList.remove('cdk-text-field-autofilled');\n this._monitoredElements.delete(element);\n }\n }\n ngOnDestroy() {\n this._monitoredElements.forEach((_info, element) => this.stopMonitoring(element));\n }\n}\nAutofillMonitor.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"13.3.0\", ngImport: i0, type: AutofillMonitor, deps: [{ token: i1.Platform }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Injectable });\nAutofillMonitor.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"13.3.0\", ngImport: i0, type: AutofillMonitor, providedIn: 'root' });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"13.3.0\", ngImport: i0, type: AutofillMonitor, decorators: [{\n type: Injectable,\n args: [{ providedIn: 'root' }]\n }], ctorParameters: function () { return [{ type: i1.Platform }, { type: i0.NgZone }]; } });\n/** A directive that can be used to monitor the autofill state of an input. */\nclass CdkAutofill {\n constructor(_elementRef, _autofillMonitor) {\n this._elementRef = _elementRef;\n this._autofillMonitor = _autofillMonitor;\n /** Emits when the autofill state of the element changes. */\n this.cdkAutofill = new EventEmitter();\n }\n ngOnInit() {\n this._autofillMonitor\n .monitor(this._elementRef)\n .subscribe(event => this.cdkAutofill.emit(event));\n }\n ngOnDestroy() {\n this._autofillMonitor.stopMonitoring(this._elementRef);\n }\n}\nCdkAutofill.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"13.3.0\", ngImport: i0, type: CdkAutofill, deps: [{ token: i0.ElementRef }, { token: AutofillMonitor }], target: i0.ɵɵFactoryTarget.Directive });\nCdkAutofill.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"12.0.0\", version: \"13.3.0\", type: CdkAutofill, selector: \"[cdkAutofill]\", outputs: { cdkAutofill: \"cdkAutofill\" }, ngImport: i0 });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"13.3.0\", ngImport: i0, type: CdkAutofill, decorators: [{\n type: Directive,\n args: [{\n selector: '[cdkAutofill]',\n }]\n }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: AutofillMonitor }]; }, propDecorators: { cdkAutofill: [{\n type: Output\n }] } });\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/** Directive to automatically resize a textarea to fit its content. */\nclass CdkTextareaAutosize {\n constructor(_elementRef, _platform, _ngZone, \n /** @breaking-change 11.0.0 make document required */\n document) {\n this._elementRef = _elementRef;\n this._platform = _platform;\n this._ngZone = _ngZone;\n this._destroyed = new Subject();\n this._enabled = true;\n /**\n * Value of minRows as of last resize. If the minRows has decreased, the\n * height of the textarea needs to be recomputed to reflect the new minimum. The maxHeight\n * does not have the same problem because it does not affect the textarea's scrollHeight.\n */\n this._previousMinRows = -1;\n this._isViewInited = false;\n /** Handles `focus` and `blur` events. */\n this._handleFocusEvent = (event) => {\n this._hasFocus = event.type === 'focus';\n };\n this._document = document;\n this._textareaElement = this._elementRef.nativeElement;\n }\n /** Minimum amount of rows in the textarea. */\n get minRows() {\n return this._minRows;\n }\n set minRows(value) {\n this._minRows = coerceNumberProperty(value);\n this._setMinHeight();\n }\n /** Maximum amount of rows in the textarea. */\n get maxRows() {\n return this._maxRows;\n }\n set maxRows(value) {\n this._maxRows = coerceNumberProperty(value);\n this._setMaxHeight();\n }\n /** Whether autosizing is enabled or not */\n get enabled() {\n return this._enabled;\n }\n set enabled(value) {\n value = coerceBooleanProperty(value);\n // Only act if the actual value changed. This specifically helps to not run\n // resizeToFitContent too early (i.e. before ngAfterViewInit)\n if (this._enabled !== value) {\n (this._enabled = value) ? this.resizeToFitContent(true) : this.reset();\n }\n }\n get placeholder() {\n return this._textareaElement.placeholder;\n }\n set placeholder(value) {\n this._cachedPlaceholderHeight = undefined;\n if (value) {\n this._textareaElement.setAttribute('placeholder', value);\n }\n else {\n this._textareaElement.removeAttribute('placeholder');\n }\n this._cacheTextareaPlaceholderHeight();\n }\n /** Sets the minimum height of the textarea as determined by minRows. */\n _setMinHeight() {\n const minHeight = this.minRows && this._cachedLineHeight ? `${this.minRows * this._cachedLineHeight}px` : null;\n if (minHeight) {\n this._textareaElement.style.minHeight = minHeight;\n }\n }\n /** Sets the maximum height of the textarea as determined by maxRows. */\n _setMaxHeight() {\n const maxHeight = this.maxRows && this._cachedLineHeight ? `${this.maxRows * this._cachedLineHeight}px` : null;\n if (maxHeight) {\n this._textareaElement.style.maxHeight = maxHeight;\n }\n }\n ngAfterViewInit() {\n if (this._platform.isBrowser) {\n // Remember the height which we started with in case autosizing is disabled\n this._initialHeight = this._textareaElement.style.height;\n this.resizeToFitContent();\n this._ngZone.runOutsideAngular(() => {\n const window = this._getWindow();\n fromEvent(window, 'resize')\n .pipe(auditTime(16), takeUntil(this._destroyed))\n .subscribe(() => this.resizeToFitContent(true));\n this._textareaElement.addEventListener('focus', this._handleFocusEvent);\n this._textareaElement.addEventListener('blur', this._handleFocusEvent);\n });\n this._isViewInited = true;\n this.resizeToFitContent(true);\n }\n }\n ngOnDestroy() {\n this._textareaElement.removeEventListener('focus', this._handleFocusEvent);\n this._textareaElement.removeEventListener('blur', this._handleFocusEvent);\n this._destroyed.next();\n this._destroyed.complete();\n }\n /**\n * Cache the height of a single-row textarea if it has not already been cached.\n *\n * We need to know how large a single \"row\" of a textarea is in order to apply minRows and\n * maxRows. For the initial version, we will assume that the height of a single line in the\n * textarea does not ever change.\n */\n _cacheTextareaLineHeight() {\n if (this._cachedLineHeight) {\n return;\n }\n // Use a clone element because we have to override some styles.\n let textareaClone = this._textareaElement.cloneNode(false);\n textareaClone.rows = 1;\n // Use `position: absolute` so that this doesn't cause a browser layout and use\n // `visibility: hidden` so that nothing is rendered. Clear any other styles that\n // would affect the height.\n textareaClone.style.position = 'absolute';\n textareaClone.style.visibility = 'hidden';\n textareaClone.style.border = 'none';\n textareaClone.style.padding = '0';\n textareaClone.style.height = '';\n textareaClone.style.minHeight = '';\n textareaClone.style.maxHeight = '';\n // In Firefox it happens that textarea elements are always bigger than the specified amount\n // of rows. This is because Firefox tries to add extra space for the horizontal scrollbar.\n // As a workaround that removes the extra space for the scrollbar, we can just set overflow\n // to hidden. This ensures that there is no invalid calculation of the line height.\n // See Firefox bug report: https://bugzilla.mozilla.org/show_bug.cgi?id=33654\n textareaClone.style.overflow = 'hidden';\n this._textareaElement.parentNode.appendChild(textareaClone);\n this._cachedLineHeight = textareaClone.clientHeight;\n textareaClone.remove();\n // Min and max heights have to be re-calculated if the cached line height changes\n this._setMinHeight();\n this._setMaxHeight();\n }\n _measureScrollHeight() {\n const element = this._textareaElement;\n const previousMargin = element.style.marginBottom || '';\n const isFirefox = this._platform.FIREFOX;\n const needsMarginFiller = isFirefox && this._hasFocus;\n const measuringClass = isFirefox\n ? 'cdk-textarea-autosize-measuring-firefox'\n : 'cdk-textarea-autosize-measuring';\n // In some cases the page might move around while we're measuring the `textarea` on Firefox. We\n // work around it by assigning a temporary margin with the same height as the `textarea` so that\n // it occupies the same amount of space. See #23233.\n if (needsMarginFiller) {\n element.style.marginBottom = `${element.clientHeight}px`;\n }\n // Reset the textarea height to auto in order to shrink back to its default size.\n // Also temporarily force overflow:hidden, so scroll bars do not interfere with calculations.\n element.classList.add(measuringClass);\n // The measuring class includes a 2px padding to workaround an issue with Chrome,\n // so we account for that extra space here by subtracting 4 (2px top + 2px bottom).\n const scrollHeight = element.scrollHeight - 4;\n element.classList.remove(measuringClass);\n if (needsMarginFiller) {\n element.style.marginBottom = previousMargin;\n }\n return scrollHeight;\n }\n _cacheTextareaPlaceholderHeight() {\n if (!this._isViewInited || this._cachedPlaceholderHeight != undefined) {\n return;\n }\n if (!this.placeholder) {\n this._cachedPlaceholderHeight = 0;\n return;\n }\n const value = this._textareaElement.value;\n this._textareaElement.value = this._textareaElement.placeholder;\n this._cachedPlaceholderHeight = this._measureScrollHeight();\n this._textareaElement.value = value;\n }\n ngDoCheck() {\n if (this._platform.isBrowser) {\n this.resizeToFitContent();\n }\n }\n /**\n * Resize the textarea to fit its content.\n * @param force Whether to force a height recalculation. By default the height will be\n * recalculated only if the value changed since the last call.\n */\n resizeToFitContent(force = false) {\n // If autosizing is disabled, just skip everything else\n if (!this._enabled) {\n return;\n }\n this._cacheTextareaLineHeight();\n this._cacheTextareaPlaceholderHeight();\n // If we haven't determined the line-height yet, we know we're still hidden and there's no point\n // in checking the height of the textarea.\n if (!this._cachedLineHeight) {\n return;\n }\n const textarea = this._elementRef.nativeElement;\n const value = textarea.value;\n // Only resize if the value or minRows have changed since these calculations can be expensive.\n if (!force && this._minRows === this._previousMinRows && value === this._previousValue) {\n return;\n }\n const scrollHeight = this._measureScrollHeight();\n const height = Math.max(scrollHeight, this._cachedPlaceholderHeight || 0);\n // Use the scrollHeight to know how large the textarea *would* be if fit its entire value.\n textarea.style.height = `${height}px`;\n this._ngZone.runOutsideAngular(() => {\n if (typeof requestAnimationFrame !== 'undefined') {\n requestAnimationFrame(() => this._scrollToCaretPosition(textarea));\n }\n else {\n setTimeout(() => this._scrollToCaretPosition(textarea));\n }\n });\n this._previousValue = value;\n this._previousMinRows = this._minRows;\n }\n /**\n * Resets the textarea to its original size\n */\n reset() {\n // Do not try to change the textarea, if the initialHeight has not been determined yet\n // This might potentially remove styles when reset() is called before ngAfterViewInit\n if (this._initialHeight !== undefined) {\n this._textareaElement.style.height = this._initialHeight;\n }\n }\n _noopInputHandler() {\n // no-op handler that ensures we're running change detection on input events.\n }\n /** Access injected document if available or fallback to global document reference */\n _getDocument() {\n return this._document || document;\n }\n /** Use defaultView of injected document if available or fallback to global window reference */\n _getWindow() {\n const doc = this._getDocument();\n return doc.defaultView || window;\n }\n /**\n * Scrolls a textarea to the caret position. On Firefox resizing the textarea will\n * prevent it from scrolling to the caret position. We need to re-set the selection\n * in order for it to scroll to the proper position.\n */\n _scrollToCaretPosition(textarea) {\n const { selectionStart, selectionEnd } = textarea;\n // IE will throw an \"Unspecified error\" if we try to set the selection range after the\n // element has been removed from the DOM. Assert that the directive hasn't been destroyed\n // between the time we requested the animation frame and when it was executed.\n // Also note that we have to assert that the textarea is focused before we set the\n // selection range. Setting the selection range on a non-focused textarea will cause\n // it to receive focus on IE and Edge.\n if (!this._destroyed.isStopped && this._hasFocus) {\n textarea.setSelectionRange(selectionStart, selectionEnd);\n }\n }\n}\nCdkTextareaAutosize.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"13.3.0\", ngImport: i0, type: CdkTextareaAutosize, deps: [{ token: i0.ElementRef }, { token: i1.Platform }, { token: i0.NgZone }, { token: DOCUMENT, optional: true }], target: i0.ɵɵFactoryTarget.Directive });\nCdkTextareaAutosize.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"12.0.0\", version: \"13.3.0\", type: CdkTextareaAutosize, selector: \"textarea[cdkTextareaAutosize]\", inputs: { minRows: [\"cdkAutosizeMinRows\", \"minRows\"], maxRows: [\"cdkAutosizeMaxRows\", \"maxRows\"], enabled: [\"cdkTextareaAutosize\", \"enabled\"], placeholder: \"placeholder\" }, host: { attributes: { \"rows\": \"1\" }, listeners: { \"input\": \"_noopInputHandler()\" }, classAttribute: \"cdk-textarea-autosize\" }, exportAs: [\"cdkTextareaAutosize\"], ngImport: i0 });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"13.3.0\", ngImport: i0, type: CdkTextareaAutosize, decorators: [{\n type: Directive,\n args: [{\n selector: 'textarea[cdkTextareaAutosize]',\n exportAs: 'cdkTextareaAutosize',\n host: {\n 'class': 'cdk-textarea-autosize',\n // Textarea elements that have the directive applied should have a single row by default.\n // Browsers normally show two rows by default and therefore this limits the minRows binding.\n 'rows': '1',\n '(input)': '_noopInputHandler()',\n },\n }]\n }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i1.Platform }, { type: i0.NgZone }, { type: undefined, decorators: [{\n type: Optional\n }, {\n type: Inject,\n args: [DOCUMENT]\n }] }]; }, propDecorators: { minRows: [{\n type: Input,\n args: ['cdkAutosizeMinRows']\n }], maxRows: [{\n type: Input,\n args: ['cdkAutosizeMaxRows']\n }], enabled: [{\n type: Input,\n args: ['cdkTextareaAutosize']\n }], placeholder: [{\n type: Input\n }] } });\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nclass TextFieldModule {\n}\nTextFieldModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"13.3.0\", ngImport: i0, type: TextFieldModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });\nTextFieldModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: \"12.0.0\", version: \"13.3.0\", ngImport: i0, type: TextFieldModule, declarations: [CdkAutofill, CdkTextareaAutosize], exports: [CdkAutofill, CdkTextareaAutosize] });\nTextFieldModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: \"12.0.0\", version: \"13.3.0\", ngImport: i0, type: TextFieldModule });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"13.3.0\", ngImport: i0, type: TextFieldModule, decorators: [{\n type: NgModule,\n args: [{\n declarations: [CdkAutofill, CdkTextareaAutosize],\n exports: [CdkAutofill, CdkTextareaAutosize],\n }]\n }] });\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\n/**\n * Generated bundle index. Do not edit.\n */\n\nexport { AutofillMonitor, CdkAutofill, CdkTextareaAutosize, TextFieldModule };\n","/**\n * @license Angular v13.3.12\n * (c) 2010-2022 Google LLC. https://angular.io/\n * License: MIT\n */\n\nimport * as i0 from '@angular/core';\nimport { InjectionToken, Injectable, ɵɵinject, Inject, Optional, EventEmitter, ɵfindLocaleData, ɵLocaleDataIndex, ɵgetLocaleCurrencyCode, ɵgetLocalePluralCase, LOCALE_ID, ɵregisterLocaleData, ɵisListLikeIterable, ɵstringify, Directive, Input, NgModuleRef, ComponentFactoryResolver, Host, ɵRuntimeError, Attribute, ɵisPromise, ɵisSubscribable, Pipe, DEFAULT_CURRENCY_CODE, NgModule, Version, ɵɵdefineInjectable } from '@angular/core';\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nlet _DOM = null;\nfunction getDOM() {\n return _DOM;\n}\nfunction setDOM(adapter) {\n _DOM = adapter;\n}\nfunction setRootDomAdapter(adapter) {\n if (!_DOM) {\n _DOM = adapter;\n }\n}\n/* tslint:disable:requireParameterType */\n/**\n * Provides DOM operations in an environment-agnostic way.\n *\n * @security Tread carefully! Interacting with the DOM directly is dangerous and\n * can introduce XSS risks.\n */\nclass DomAdapter {\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * A DI Token representing the main rendering context. In a browser this is the DOM Document.\n *\n * Note: Document might not be available in the Application Context when Application and Rendering\n * Contexts are not the same (e.g. when running the application in a Web Worker).\n *\n * @publicApi\n */\nconst DOCUMENT = new InjectionToken('DocumentToken');\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * This class should not be used directly by an application developer. Instead, use\n * {@link Location}.\n *\n * `PlatformLocation` encapsulates all calls to DOM APIs, which allows the Router to be\n * platform-agnostic.\n * This means that we can have different implementation of `PlatformLocation` for the different\n * platforms that Angular supports. For example, `@angular/platform-browser` provides an\n * implementation specific to the browser environment, while `@angular/platform-server` provides\n * one suitable for use with server-side rendering.\n *\n * The `PlatformLocation` class is used directly by all implementations of {@link LocationStrategy}\n * when they need to interact with the DOM APIs like pushState, popState, etc.\n *\n * {@link LocationStrategy} in turn is used by the {@link Location} service which is used directly\n * by the {@link Router} in order to navigate between routes. Since all interactions between {@link\n * Router} /\n * {@link Location} / {@link LocationStrategy} and DOM APIs flow through the `PlatformLocation`\n * class, they are all platform-agnostic.\n *\n * @publicApi\n */\nclass PlatformLocation {\n historyGo(relativePosition) {\n throw new Error('Not implemented');\n }\n}\nPlatformLocation.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"13.3.12\", ngImport: i0, type: PlatformLocation, deps: [], target: i0.ɵɵFactoryTarget.Injectable });\nPlatformLocation.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"13.3.12\", ngImport: i0, type: PlatformLocation, providedIn: 'platform', useFactory: useBrowserPlatformLocation });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"13.3.12\", ngImport: i0, type: PlatformLocation, decorators: [{\n type: Injectable,\n args: [{\n providedIn: 'platform',\n // See #23917\n useFactory: useBrowserPlatformLocation\n }]\n }] });\nfunction useBrowserPlatformLocation() {\n return ɵɵinject(BrowserPlatformLocation);\n}\n/**\n * @description\n * Indicates when a location is initialized.\n *\n * @publicApi\n */\nconst LOCATION_INITIALIZED = new InjectionToken('Location Initialized');\n/**\n * `PlatformLocation` encapsulates all of the direct calls to platform APIs.\n * This class should not be used directly by an application developer. Instead, use\n * {@link Location}.\n */\nclass BrowserPlatformLocation extends PlatformLocation {\n constructor(_doc) {\n super();\n this._doc = _doc;\n this._init();\n }\n // This is moved to its own method so that `MockPlatformLocationStrategy` can overwrite it\n /** @internal */\n _init() {\n this.location = window.location;\n this._history = window.history;\n }\n getBaseHrefFromDOM() {\n return getDOM().getBaseHref(this._doc);\n }\n onPopState(fn) {\n const window = getDOM().getGlobalEventTarget(this._doc, 'window');\n window.addEventListener('popstate', fn, false);\n return () => window.removeEventListener('popstate', fn);\n }\n onHashChange(fn) {\n const window = getDOM().getGlobalEventTarget(this._doc, 'window');\n window.addEventListener('hashchange', fn, false);\n return () => window.removeEventListener('hashchange', fn);\n }\n get href() {\n return this.location.href;\n }\n get protocol() {\n return this.location.protocol;\n }\n get hostname() {\n return this.location.hostname;\n }\n get port() {\n return this.location.port;\n }\n get pathname() {\n return this.location.pathname;\n }\n get search() {\n return this.location.search;\n }\n get hash() {\n return this.location.hash;\n }\n set pathname(newPath) {\n this.location.pathname = newPath;\n }\n pushState(state, title, url) {\n if (supportsState()) {\n this._history.pushState(state, title, url);\n }\n else {\n this.location.hash = url;\n }\n }\n replaceState(state, title, url) {\n if (supportsState()) {\n this._history.replaceState(state, title, url);\n }\n else {\n this.location.hash = url;\n }\n }\n forward() {\n this._history.forward();\n }\n back() {\n this._history.back();\n }\n historyGo(relativePosition = 0) {\n this._history.go(relativePosition);\n }\n getState() {\n return this._history.state;\n }\n}\nBrowserPlatformLocation.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"13.3.12\", ngImport: i0, type: BrowserPlatformLocation, deps: [{ token: DOCUMENT }], target: i0.ɵɵFactoryTarget.Injectable });\nBrowserPlatformLocation.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"13.3.12\", ngImport: i0, type: BrowserPlatformLocation, providedIn: 'platform', useFactory: createBrowserPlatformLocation });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"13.3.12\", ngImport: i0, type: BrowserPlatformLocation, decorators: [{\n type: Injectable,\n args: [{\n providedIn: 'platform',\n // See #23917\n useFactory: createBrowserPlatformLocation,\n }]\n }], ctorParameters: function () { return [{ type: undefined, decorators: [{\n type: Inject,\n args: [DOCUMENT]\n }] }]; } });\nfunction supportsState() {\n return !!window.history.pushState;\n}\nfunction createBrowserPlatformLocation() {\n return new BrowserPlatformLocation(ɵɵinject(DOCUMENT));\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * Joins two parts of a URL with a slash if needed.\n *\n * @param start URL string\n * @param end URL string\n *\n *\n * @returns The joined URL string.\n */\nfunction joinWithSlash(start, end) {\n if (start.length == 0) {\n return end;\n }\n if (end.length == 0) {\n return start;\n }\n let slashes = 0;\n if (start.endsWith('/')) {\n slashes++;\n }\n if (end.startsWith('/')) {\n slashes++;\n }\n if (slashes == 2) {\n return start + end.substring(1);\n }\n if (slashes == 1) {\n return start + end;\n }\n return start + '/' + end;\n}\n/**\n * Removes a trailing slash from a URL string if needed.\n * Looks for the first occurrence of either `#`, `?`, or the end of the\n * line as `/` characters and removes the trailing slash if one exists.\n *\n * @param url URL string.\n *\n * @returns The URL string, modified if needed.\n */\nfunction stripTrailingSlash(url) {\n const match = url.match(/#|\\?|$/);\n const pathEndIdx = match && match.index || url.length;\n const droppedSlashIdx = pathEndIdx - (url[pathEndIdx - 1] === '/' ? 1 : 0);\n return url.slice(0, droppedSlashIdx) + url.slice(pathEndIdx);\n}\n/**\n * Normalizes URL parameters by prepending with `?` if needed.\n *\n * @param params String of URL parameters.\n *\n * @returns The normalized URL parameters string.\n */\nfunction normalizeQueryParams(params) {\n return params && params[0] !== '?' ? '?' + params : params;\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * Enables the `Location` service to read route state from the browser's URL.\n * Angular provides two strategies:\n * `HashLocationStrategy` and `PathLocationStrategy`.\n *\n * Applications should use the `Router` or `Location` services to\n * interact with application route state.\n *\n * For instance, `HashLocationStrategy` produces URLs like\n * http://example.com#/foo,\n * and `PathLocationStrategy` produces\n * http://example.com/foo as an equivalent URL.\n *\n * See these two classes for more.\n *\n * @publicApi\n */\nclass LocationStrategy {\n historyGo(relativePosition) {\n throw new Error('Not implemented');\n }\n}\nLocationStrategy.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"13.3.12\", ngImport: i0, type: LocationStrategy, deps: [], target: i0.ɵɵFactoryTarget.Injectable });\nLocationStrategy.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"13.3.12\", ngImport: i0, type: LocationStrategy, providedIn: 'root', useFactory: provideLocationStrategy });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"13.3.12\", ngImport: i0, type: LocationStrategy, decorators: [{\n type: Injectable,\n args: [{ providedIn: 'root', useFactory: provideLocationStrategy }]\n }] });\nfunction provideLocationStrategy(platformLocation) {\n // See #23917\n const location = ɵɵinject(DOCUMENT).location;\n return new PathLocationStrategy(ɵɵinject(PlatformLocation), location && location.origin || '');\n}\n/**\n * A predefined [DI token](guide/glossary#di-token) for the base href\n * to be used with the `PathLocationStrategy`.\n * The base href is the URL prefix that should be preserved when generating\n * and recognizing URLs.\n *\n * @usageNotes\n *\n * The following example shows how to use this token to configure the root app injector\n * with a base href value, so that the DI framework can supply the dependency anywhere in the app.\n *\n * ```typescript\n * import {Component, NgModule} from '@angular/core';\n * import {APP_BASE_HREF} from '@angular/common';\n *\n * @NgModule({\n * providers: [{provide: APP_BASE_HREF, useValue: '/my/app'}]\n * })\n * class AppModule {}\n * ```\n *\n * @publicApi\n */\nconst APP_BASE_HREF = new InjectionToken('appBaseHref');\n/**\n * @description\n * A {@link LocationStrategy} used to configure the {@link Location} service to\n * represent its state in the\n * [path](https://en.wikipedia.org/wiki/Uniform_Resource_Locator#Syntax) of the\n * browser's URL.\n *\n * If you're using `PathLocationStrategy`, you must provide a {@link APP_BASE_HREF}\n * or add a `` element to the document.\n *\n * For instance, if you provide an `APP_BASE_HREF` of `'/my/app/'` and call\n * `location.go('/foo')`, the browser's URL will become\n * `example.com/my/app/foo`. To ensure all relative URIs resolve correctly,\n * the `` and/or `APP_BASE_HREF` should end with a `/`.\n *\n * Similarly, if you add `` to the document and call\n * `location.go('/foo')`, the browser's URL will become\n * `example.com/my/app/foo`.\n *\n * Note that when using `PathLocationStrategy`, neither the query nor\n * the fragment in the `` will be preserved, as outlined\n * by the [RFC](https://tools.ietf.org/html/rfc3986#section-5.2.2).\n *\n * @usageNotes\n *\n * ### Example\n *\n * {@example common/location/ts/path_location_component.ts region='LocationComponent'}\n *\n * @publicApi\n */\nclass PathLocationStrategy extends LocationStrategy {\n constructor(_platformLocation, href) {\n super();\n this._platformLocation = _platformLocation;\n this._removeListenerFns = [];\n if (href == null) {\n href = this._platformLocation.getBaseHrefFromDOM();\n }\n if (href == null) {\n throw new Error(`No base href set. Please provide a value for the APP_BASE_HREF token or add a base element to the document.`);\n }\n this._baseHref = href;\n }\n /** @nodoc */\n ngOnDestroy() {\n while (this._removeListenerFns.length) {\n this._removeListenerFns.pop()();\n }\n }\n onPopState(fn) {\n this._removeListenerFns.push(this._platformLocation.onPopState(fn), this._platformLocation.onHashChange(fn));\n }\n getBaseHref() {\n return this._baseHref;\n }\n prepareExternalUrl(internal) {\n return joinWithSlash(this._baseHref, internal);\n }\n path(includeHash = false) {\n const pathname = this._platformLocation.pathname + normalizeQueryParams(this._platformLocation.search);\n const hash = this._platformLocation.hash;\n return hash && includeHash ? `${pathname}${hash}` : pathname;\n }\n pushState(state, title, url, queryParams) {\n const externalUrl = this.prepareExternalUrl(url + normalizeQueryParams(queryParams));\n this._platformLocation.pushState(state, title, externalUrl);\n }\n replaceState(state, title, url, queryParams) {\n const externalUrl = this.prepareExternalUrl(url + normalizeQueryParams(queryParams));\n this._platformLocation.replaceState(state, title, externalUrl);\n }\n forward() {\n this._platformLocation.forward();\n }\n back() {\n this._platformLocation.back();\n }\n historyGo(relativePosition = 0) {\n this._platformLocation.historyGo?.(relativePosition);\n }\n}\nPathLocationStrategy.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"13.3.12\", ngImport: i0, type: PathLocationStrategy, deps: [{ token: PlatformLocation }, { token: APP_BASE_HREF, optional: true }], target: i0.ɵɵFactoryTarget.Injectable });\nPathLocationStrategy.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"13.3.12\", ngImport: i0, type: PathLocationStrategy });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"13.3.12\", ngImport: i0, type: PathLocationStrategy, decorators: [{\n type: Injectable\n }], ctorParameters: function () { return [{ type: PlatformLocation }, { type: undefined, decorators: [{\n type: Optional\n }, {\n type: Inject,\n args: [APP_BASE_HREF]\n }] }]; } });\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * @description\n * A {@link LocationStrategy} used to configure the {@link Location} service to\n * represent its state in the\n * [hash fragment](https://en.wikipedia.org/wiki/Uniform_Resource_Locator#Syntax)\n * of the browser's URL.\n *\n * For instance, if you call `location.go('/foo')`, the browser's URL will become\n * `example.com#/foo`.\n *\n * @usageNotes\n *\n * ### Example\n *\n * {@example common/location/ts/hash_location_component.ts region='LocationComponent'}\n *\n * @publicApi\n */\nclass HashLocationStrategy extends LocationStrategy {\n constructor(_platformLocation, _baseHref) {\n super();\n this._platformLocation = _platformLocation;\n this._baseHref = '';\n this._removeListenerFns = [];\n if (_baseHref != null) {\n this._baseHref = _baseHref;\n }\n }\n /** @nodoc */\n ngOnDestroy() {\n while (this._removeListenerFns.length) {\n this._removeListenerFns.pop()();\n }\n }\n onPopState(fn) {\n this._removeListenerFns.push(this._platformLocation.onPopState(fn), this._platformLocation.onHashChange(fn));\n }\n getBaseHref() {\n return this._baseHref;\n }\n path(includeHash = false) {\n // the hash value is always prefixed with a `#`\n // and if it is empty then it will stay empty\n let path = this._platformLocation.hash;\n if (path == null)\n path = '#';\n return path.length > 0 ? path.substring(1) : path;\n }\n prepareExternalUrl(internal) {\n const url = joinWithSlash(this._baseHref, internal);\n return url.length > 0 ? ('#' + url) : url;\n }\n pushState(state, title, path, queryParams) {\n let url = this.prepareExternalUrl(path + normalizeQueryParams(queryParams));\n if (url.length == 0) {\n url = this._platformLocation.pathname;\n }\n this._platformLocation.pushState(state, title, url);\n }\n replaceState(state, title, path, queryParams) {\n let url = this.prepareExternalUrl(path + normalizeQueryParams(queryParams));\n if (url.length == 0) {\n url = this._platformLocation.pathname;\n }\n this._platformLocation.replaceState(state, title, url);\n }\n forward() {\n this._platformLocation.forward();\n }\n back() {\n this._platformLocation.back();\n }\n historyGo(relativePosition = 0) {\n this._platformLocation.historyGo?.(relativePosition);\n }\n}\nHashLocationStrategy.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"13.3.12\", ngImport: i0, type: HashLocationStrategy, deps: [{ token: PlatformLocation }, { token: APP_BASE_HREF, optional: true }], target: i0.ɵɵFactoryTarget.Injectable });\nHashLocationStrategy.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"13.3.12\", ngImport: i0, type: HashLocationStrategy });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"13.3.12\", ngImport: i0, type: HashLocationStrategy, decorators: [{\n type: Injectable\n }], ctorParameters: function () { return [{ type: PlatformLocation }, { type: undefined, decorators: [{\n type: Optional\n }, {\n type: Inject,\n args: [APP_BASE_HREF]\n }] }]; } });\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * @description\n *\n * A service that applications can use to interact with a browser's URL.\n *\n * Depending on the `LocationStrategy` used, `Location` persists\n * to the URL's path or the URL's hash segment.\n *\n * @usageNotes\n *\n * It's better to use the `Router.navigate()` service to trigger route changes. Use\n * `Location` only if you need to interact with or create normalized URLs outside of\n * routing.\n *\n * `Location` is responsible for normalizing the URL against the application's base href.\n * A normalized URL is absolute from the URL host, includes the application's base href, and has no\n * trailing slash:\n * - `/my/app/user/123` is normalized\n * - `my/app/user/123` **is not** normalized\n * - `/my/app/user/123/` **is not** normalized\n *\n * ### Example\n *\n * \n *\n * @publicApi\n */\nclass Location {\n constructor(platformStrategy, platformLocation) {\n /** @internal */\n this._subject = new EventEmitter();\n /** @internal */\n this._urlChangeListeners = [];\n this._platformStrategy = platformStrategy;\n const browserBaseHref = this._platformStrategy.getBaseHref();\n this._platformLocation = platformLocation;\n this._baseHref = stripTrailingSlash(_stripIndexHtml(browserBaseHref));\n this._platformStrategy.onPopState((ev) => {\n this._subject.emit({\n 'url': this.path(true),\n 'pop': true,\n 'state': ev.state,\n 'type': ev.type,\n });\n });\n }\n /**\n * Normalizes the URL path for this location.\n *\n * @param includeHash True to include an anchor fragment in the path.\n *\n * @returns The normalized URL path.\n */\n // TODO: vsavkin. Remove the boolean flag and always include hash once the deprecated router is\n // removed.\n path(includeHash = false) {\n return this.normalize(this._platformStrategy.path(includeHash));\n }\n /**\n * Reports the current state of the location history.\n * @returns The current value of the `history.state` object.\n */\n getState() {\n return this._platformLocation.getState();\n }\n /**\n * Normalizes the given path and compares to the current normalized path.\n *\n * @param path The given URL path.\n * @param query Query parameters.\n *\n * @returns True if the given URL path is equal to the current normalized path, false\n * otherwise.\n */\n isCurrentPathEqualTo(path, query = '') {\n return this.path() == this.normalize(path + normalizeQueryParams(query));\n }\n /**\n * Normalizes a URL path by stripping any trailing slashes.\n *\n * @param url String representing a URL.\n *\n * @returns The normalized URL string.\n */\n normalize(url) {\n return Location.stripTrailingSlash(_stripBaseHref(this._baseHref, _stripIndexHtml(url)));\n }\n /**\n * Normalizes an external URL path.\n * If the given URL doesn't begin with a leading slash (`'/'`), adds one\n * before normalizing. Adds a hash if `HashLocationStrategy` is\n * in use, or the `APP_BASE_HREF` if the `PathLocationStrategy` is in use.\n *\n * @param url String representing a URL.\n *\n * @returns A normalized platform-specific URL.\n */\n prepareExternalUrl(url) {\n if (url && url[0] !== '/') {\n url = '/' + url;\n }\n return this._platformStrategy.prepareExternalUrl(url);\n }\n // TODO: rename this method to pushState\n /**\n * Changes the browser's URL to a normalized version of a given URL, and pushes a\n * new item onto the platform's history.\n *\n * @param path URL path to normalize.\n * @param query Query parameters.\n * @param state Location history state.\n *\n */\n go(path, query = '', state = null) {\n this._platformStrategy.pushState(state, '', path, query);\n this._notifyUrlChangeListeners(this.prepareExternalUrl(path + normalizeQueryParams(query)), state);\n }\n /**\n * Changes the browser's URL to a normalized version of the given URL, and replaces\n * the top item on the platform's history stack.\n *\n * @param path URL path to normalize.\n * @param query Query parameters.\n * @param state Location history state.\n */\n replaceState(path, query = '', state = null) {\n this._platformStrategy.replaceState(state, '', path, query);\n this._notifyUrlChangeListeners(this.prepareExternalUrl(path + normalizeQueryParams(query)), state);\n }\n /**\n * Navigates forward in the platform's history.\n */\n forward() {\n this._platformStrategy.forward();\n }\n /**\n * Navigates back in the platform's history.\n */\n back() {\n this._platformStrategy.back();\n }\n /**\n * Navigate to a specific page from session history, identified by its relative position to the\n * current page.\n *\n * @param relativePosition Position of the target page in the history relative to the current\n * page.\n * A negative value moves backwards, a positive value moves forwards, e.g. `location.historyGo(2)`\n * moves forward two pages and `location.historyGo(-2)` moves back two pages. When we try to go\n * beyond what's stored in the history session, we stay in the current page. Same behaviour occurs\n * when `relativePosition` equals 0.\n * @see https://developer.mozilla.org/en-US/docs/Web/API/History_API#Moving_to_a_specific_point_in_history\n */\n historyGo(relativePosition = 0) {\n this._platformStrategy.historyGo?.(relativePosition);\n }\n /**\n * Registers a URL change listener. Use to catch updates performed by the Angular\n * framework that are not detectible through \"popstate\" or \"hashchange\" events.\n *\n * @param fn The change handler function, which take a URL and a location history state.\n */\n onUrlChange(fn) {\n this._urlChangeListeners.push(fn);\n if (!this._urlChangeSubscription) {\n this._urlChangeSubscription = this.subscribe(v => {\n this._notifyUrlChangeListeners(v.url, v.state);\n });\n }\n }\n /** @internal */\n _notifyUrlChangeListeners(url = '', state) {\n this._urlChangeListeners.forEach(fn => fn(url, state));\n }\n /**\n * Subscribes to the platform's `popState` events.\n *\n * Note: `Location.go()` does not trigger the `popState` event in the browser. Use\n * `Location.onUrlChange()` to subscribe to URL changes instead.\n *\n * @param value Event that is triggered when the state history changes.\n * @param exception The exception to throw.\n *\n * @see [onpopstate](https://developer.mozilla.org/en-US/docs/Web/API/WindowEventHandlers/onpopstate)\n *\n * @returns Subscribed events.\n */\n subscribe(onNext, onThrow, onReturn) {\n return this._subject.subscribe({ next: onNext, error: onThrow, complete: onReturn });\n }\n}\n/**\n * Normalizes URL parameters by prepending with `?` if needed.\n *\n * @param params String of URL parameters.\n *\n * @returns The normalized URL parameters string.\n */\nLocation.normalizeQueryParams = normalizeQueryParams;\n/**\n * Joins two parts of a URL with a slash if needed.\n *\n * @param start URL string\n * @param end URL string\n *\n *\n * @returns The joined URL string.\n */\nLocation.joinWithSlash = joinWithSlash;\n/**\n * Removes a trailing slash from a URL string if needed.\n * Looks for the first occurrence of either `#`, `?`, or the end of the\n * line as `/` characters and removes the trailing slash if one exists.\n *\n * @param url URL string.\n *\n * @returns The URL string, modified if needed.\n */\nLocation.stripTrailingSlash = stripTrailingSlash;\nLocation.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"13.3.12\", ngImport: i0, type: Location, deps: [{ token: LocationStrategy }, { token: PlatformLocation }], target: i0.ɵɵFactoryTarget.Injectable });\nLocation.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"13.3.12\", ngImport: i0, type: Location, providedIn: 'root', useFactory: createLocation });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"13.3.12\", ngImport: i0, type: Location, decorators: [{\n type: Injectable,\n args: [{\n providedIn: 'root',\n // See #23917\n useFactory: createLocation,\n }]\n }], ctorParameters: function () { return [{ type: LocationStrategy }, { type: PlatformLocation }]; } });\nfunction createLocation() {\n return new Location(ɵɵinject(LocationStrategy), ɵɵinject(PlatformLocation));\n}\nfunction _stripBaseHref(baseHref, url) {\n return baseHref && url.startsWith(baseHref) ? url.substring(baseHref.length) : url;\n}\nfunction _stripIndexHtml(url) {\n return url.replace(/\\/index.html$/, '');\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/** @internal */\nconst CURRENCIES_EN = { \"ADP\": [undefined, undefined, 0], \"AFN\": [undefined, \"؋\", 0], \"ALL\": [undefined, undefined, 0], \"AMD\": [undefined, \"֏\", 2], \"AOA\": [undefined, \"Kz\"], \"ARS\": [undefined, \"$\"], \"AUD\": [\"A$\", \"$\"], \"AZN\": [undefined, \"₼\"], \"BAM\": [undefined, \"KM\"], \"BBD\": [undefined, \"$\"], \"BDT\": [undefined, \"৳\"], \"BHD\": [undefined, undefined, 3], \"BIF\": [undefined, undefined, 0], \"BMD\": [undefined, \"$\"], \"BND\": [undefined, \"$\"], \"BOB\": [undefined, \"Bs\"], \"BRL\": [\"R$\"], \"BSD\": [undefined, \"$\"], \"BWP\": [undefined, \"P\"], \"BYN\": [undefined, \"р.\", 2], \"BYR\": [undefined, undefined, 0], \"BZD\": [undefined, \"$\"], \"CAD\": [\"CA$\", \"$\", 2], \"CHF\": [undefined, undefined, 2], \"CLF\": [undefined, undefined, 4], \"CLP\": [undefined, \"$\", 0], \"CNY\": [\"CN¥\", \"¥\"], \"COP\": [undefined, \"$\", 2], \"CRC\": [undefined, \"₡\", 2], \"CUC\": [undefined, \"$\"], \"CUP\": [undefined, \"$\"], \"CZK\": [undefined, \"Kč\", 2], \"DJF\": [undefined, undefined, 0], \"DKK\": [undefined, \"kr\", 2], \"DOP\": [undefined, \"$\"], \"EGP\": [undefined, \"E£\"], \"ESP\": [undefined, \"₧\", 0], \"EUR\": [\"€\"], \"FJD\": [undefined, \"$\"], \"FKP\": [undefined, \"£\"], \"GBP\": [\"£\"], \"GEL\": [undefined, \"₾\"], \"GHS\": [undefined, \"GH₵\"], \"GIP\": [undefined, \"£\"], \"GNF\": [undefined, \"FG\", 0], \"GTQ\": [undefined, \"Q\"], \"GYD\": [undefined, \"$\", 2], \"HKD\": [\"HK$\", \"$\"], \"HNL\": [undefined, \"L\"], \"HRK\": [undefined, \"kn\"], \"HUF\": [undefined, \"Ft\", 2], \"IDR\": [undefined, \"Rp\", 2], \"ILS\": [\"₪\"], \"INR\": [\"₹\"], \"IQD\": [undefined, undefined, 0], \"IRR\": [undefined, undefined, 0], \"ISK\": [undefined, \"kr\", 0], \"ITL\": [undefined, undefined, 0], \"JMD\": [undefined, \"$\"], \"JOD\": [undefined, undefined, 3], \"JPY\": [\"¥\", undefined, 0], \"KHR\": [undefined, \"៛\"], \"KMF\": [undefined, \"CF\", 0], \"KPW\": [undefined, \"₩\", 0], \"KRW\": [\"₩\", undefined, 0], \"KWD\": [undefined, undefined, 3], \"KYD\": [undefined, \"$\"], \"KZT\": [undefined, \"₸\"], \"LAK\": [undefined, \"₭\", 0], \"LBP\": [undefined, \"L£\", 0], \"LKR\": [undefined, \"Rs\"], \"LRD\": [undefined, \"$\"], \"LTL\": [undefined, \"Lt\"], \"LUF\": [undefined, undefined, 0], \"LVL\": [undefined, \"Ls\"], \"LYD\": [undefined, undefined, 3], \"MGA\": [undefined, \"Ar\", 0], \"MGF\": [undefined, undefined, 0], \"MMK\": [undefined, \"K\", 0], \"MNT\": [undefined, \"₮\", 2], \"MRO\": [undefined, undefined, 0], \"MUR\": [undefined, \"Rs\", 2], \"MXN\": [\"MX$\", \"$\"], \"MYR\": [undefined, \"RM\"], \"NAD\": [undefined, \"$\"], \"NGN\": [undefined, \"₦\"], \"NIO\": [undefined, \"C$\"], \"NOK\": [undefined, \"kr\", 2], \"NPR\": [undefined, \"Rs\"], \"NZD\": [\"NZ$\", \"$\"], \"OMR\": [undefined, undefined, 3], \"PHP\": [\"₱\"], \"PKR\": [undefined, \"Rs\", 2], \"PLN\": [undefined, \"zł\"], \"PYG\": [undefined, \"₲\", 0], \"RON\": [undefined, \"lei\"], \"RSD\": [undefined, undefined, 0], \"RUB\": [undefined, \"₽\"], \"RUR\": [undefined, \"р.\"], \"RWF\": [undefined, \"RF\", 0], \"SBD\": [undefined, \"$\"], \"SEK\": [undefined, \"kr\", 2], \"SGD\": [undefined, \"$\"], \"SHP\": [undefined, \"£\"], \"SLL\": [undefined, undefined, 0], \"SOS\": [undefined, undefined, 0], \"SRD\": [undefined, \"$\"], \"SSP\": [undefined, \"£\"], \"STD\": [undefined, undefined, 0], \"STN\": [undefined, \"Db\"], \"SYP\": [undefined, \"£\", 0], \"THB\": [undefined, \"฿\"], \"TMM\": [undefined, undefined, 0], \"TND\": [undefined, undefined, 3], \"TOP\": [undefined, \"T$\"], \"TRL\": [undefined, undefined, 0], \"TRY\": [undefined, \"₺\"], \"TTD\": [undefined, \"$\"], \"TWD\": [\"NT$\", \"$\", 2], \"TZS\": [undefined, undefined, 2], \"UAH\": [undefined, \"₴\"], \"UGX\": [undefined, undefined, 0], \"USD\": [\"$\"], \"UYI\": [undefined, undefined, 0], \"UYU\": [undefined, \"$\"], \"UYW\": [undefined, undefined, 4], \"UZS\": [undefined, undefined, 2], \"VEF\": [undefined, \"Bs\", 2], \"VND\": [\"₫\", undefined, 0], \"VUV\": [undefined, undefined, 0], \"XAF\": [\"FCFA\", undefined, 0], \"XCD\": [\"EC$\", \"$\"], \"XOF\": [\"F CFA\", undefined, 0], \"XPF\": [\"CFPF\", undefined, 0], \"XXX\": [\"¤\"], \"YER\": [undefined, undefined, 0], \"ZAR\": [undefined, \"R\"], \"ZMK\": [undefined, undefined, 0], \"ZMW\": [undefined, \"ZK\"], \"ZWD\": [undefined, undefined, 0] };\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * Format styles that can be used to represent numbers.\n * @see `getLocaleNumberFormat()`.\n * @see [Internationalization (i18n) Guide](https://angular.io/guide/i18n-overview)\n *\n * @publicApi\n */\nvar NumberFormatStyle;\n(function (NumberFormatStyle) {\n NumberFormatStyle[NumberFormatStyle[\"Decimal\"] = 0] = \"Decimal\";\n NumberFormatStyle[NumberFormatStyle[\"Percent\"] = 1] = \"Percent\";\n NumberFormatStyle[NumberFormatStyle[\"Currency\"] = 2] = \"Currency\";\n NumberFormatStyle[NumberFormatStyle[\"Scientific\"] = 3] = \"Scientific\";\n})(NumberFormatStyle || (NumberFormatStyle = {}));\n/**\n * Plurality cases used for translating plurals to different languages.\n *\n * @see `NgPlural`\n * @see `NgPluralCase`\n * @see [Internationalization (i18n) Guide](https://angular.io/guide/i18n-overview)\n *\n * @publicApi\n */\nvar Plural;\n(function (Plural) {\n Plural[Plural[\"Zero\"] = 0] = \"Zero\";\n Plural[Plural[\"One\"] = 1] = \"One\";\n Plural[Plural[\"Two\"] = 2] = \"Two\";\n Plural[Plural[\"Few\"] = 3] = \"Few\";\n Plural[Plural[\"Many\"] = 4] = \"Many\";\n Plural[Plural[\"Other\"] = 5] = \"Other\";\n})(Plural || (Plural = {}));\n/**\n * Context-dependant translation forms for strings.\n * Typically the standalone version is for the nominative form of the word,\n * and the format version is used for the genitive case.\n * @see [CLDR website](http://cldr.unicode.org/translation/date-time-1/date-time#TOC-Standalone-vs.-Format-Styles)\n * @see [Internationalization (i18n) Guide](https://angular.io/guide/i18n-overview)\n *\n * @publicApi\n */\nvar FormStyle;\n(function (FormStyle) {\n FormStyle[FormStyle[\"Format\"] = 0] = \"Format\";\n FormStyle[FormStyle[\"Standalone\"] = 1] = \"Standalone\";\n})(FormStyle || (FormStyle = {}));\n/**\n * String widths available for translations.\n * The specific character widths are locale-specific.\n * Examples are given for the word \"Sunday\" in English.\n *\n * @publicApi\n */\nvar TranslationWidth;\n(function (TranslationWidth) {\n /** 1 character for `en-US`. For example: 'S' */\n TranslationWidth[TranslationWidth[\"Narrow\"] = 0] = \"Narrow\";\n /** 3 characters for `en-US`. For example: 'Sun' */\n TranslationWidth[TranslationWidth[\"Abbreviated\"] = 1] = \"Abbreviated\";\n /** Full length for `en-US`. For example: \"Sunday\" */\n TranslationWidth[TranslationWidth[\"Wide\"] = 2] = \"Wide\";\n /** 2 characters for `en-US`, For example: \"Su\" */\n TranslationWidth[TranslationWidth[\"Short\"] = 3] = \"Short\";\n})(TranslationWidth || (TranslationWidth = {}));\n/**\n * String widths available for date-time formats.\n * The specific character widths are locale-specific.\n * Examples are given for `en-US`.\n *\n * @see `getLocaleDateFormat()`\n * @see `getLocaleTimeFormat()`\n * @see `getLocaleDateTimeFormat()`\n * @see [Internationalization (i18n) Guide](https://angular.io/guide/i18n-overview)\n * @publicApi\n */\nvar FormatWidth;\n(function (FormatWidth) {\n /**\n * For `en-US`, 'M/d/yy, h:mm a'`\n * (Example: `6/15/15, 9:03 AM`)\n */\n FormatWidth[FormatWidth[\"Short\"] = 0] = \"Short\";\n /**\n * For `en-US`, `'MMM d, y, h:mm:ss a'`\n * (Example: `Jun 15, 2015, 9:03:01 AM`)\n */\n FormatWidth[FormatWidth[\"Medium\"] = 1] = \"Medium\";\n /**\n * For `en-US`, `'MMMM d, y, h:mm:ss a z'`\n * (Example: `June 15, 2015 at 9:03:01 AM GMT+1`)\n */\n FormatWidth[FormatWidth[\"Long\"] = 2] = \"Long\";\n /**\n * For `en-US`, `'EEEE, MMMM d, y, h:mm:ss a zzzz'`\n * (Example: `Monday, June 15, 2015 at 9:03:01 AM GMT+01:00`)\n */\n FormatWidth[FormatWidth[\"Full\"] = 3] = \"Full\";\n})(FormatWidth || (FormatWidth = {}));\n/**\n * Symbols that can be used to replace placeholders in number patterns.\n * Examples are based on `en-US` values.\n *\n * @see `getLocaleNumberSymbol()`\n * @see [Internationalization (i18n) Guide](https://angular.io/guide/i18n-overview)\n *\n * @publicApi\n */\nvar NumberSymbol;\n(function (NumberSymbol) {\n /**\n * Decimal separator.\n * For `en-US`, the dot character.\n * Example: 2,345`.`67\n */\n NumberSymbol[NumberSymbol[\"Decimal\"] = 0] = \"Decimal\";\n /**\n * Grouping separator, typically for thousands.\n * For `en-US`, the comma character.\n * Example: 2`,`345.67\n */\n NumberSymbol[NumberSymbol[\"Group\"] = 1] = \"Group\";\n /**\n * List-item separator.\n * Example: \"one, two, and three\"\n */\n NumberSymbol[NumberSymbol[\"List\"] = 2] = \"List\";\n /**\n * Sign for percentage (out of 100).\n * Example: 23.4%\n */\n NumberSymbol[NumberSymbol[\"PercentSign\"] = 3] = \"PercentSign\";\n /**\n * Sign for positive numbers.\n * Example: +23\n */\n NumberSymbol[NumberSymbol[\"PlusSign\"] = 4] = \"PlusSign\";\n /**\n * Sign for negative numbers.\n * Example: -23\n */\n NumberSymbol[NumberSymbol[\"MinusSign\"] = 5] = \"MinusSign\";\n /**\n * Computer notation for exponential value (n times a power of 10).\n * Example: 1.2E3\n */\n NumberSymbol[NumberSymbol[\"Exponential\"] = 6] = \"Exponential\";\n /**\n * Human-readable format of exponential.\n * Example: 1.2x103\n */\n NumberSymbol[NumberSymbol[\"SuperscriptingExponent\"] = 7] = \"SuperscriptingExponent\";\n /**\n * Sign for permille (out of 1000).\n * Example: 23.4‰\n */\n NumberSymbol[NumberSymbol[\"PerMille\"] = 8] = \"PerMille\";\n /**\n * Infinity, can be used with plus and minus.\n * Example: ∞, +∞, -∞\n */\n NumberSymbol[NumberSymbol[\"Infinity\"] = 9] = \"Infinity\";\n /**\n * Not a number.\n * Example: NaN\n */\n NumberSymbol[NumberSymbol[\"NaN\"] = 10] = \"NaN\";\n /**\n * Symbol used between time units.\n * Example: 10:52\n */\n NumberSymbol[NumberSymbol[\"TimeSeparator\"] = 11] = \"TimeSeparator\";\n /**\n * Decimal separator for currency values (fallback to `Decimal`).\n * Example: $2,345.67\n */\n NumberSymbol[NumberSymbol[\"CurrencyDecimal\"] = 12] = \"CurrencyDecimal\";\n /**\n * Group separator for currency values (fallback to `Group`).\n * Example: $2,345.67\n */\n NumberSymbol[NumberSymbol[\"CurrencyGroup\"] = 13] = \"CurrencyGroup\";\n})(NumberSymbol || (NumberSymbol = {}));\n/**\n * The value for each day of the week, based on the `en-US` locale\n *\n * @publicApi\n */\nvar WeekDay;\n(function (WeekDay) {\n WeekDay[WeekDay[\"Sunday\"] = 0] = \"Sunday\";\n WeekDay[WeekDay[\"Monday\"] = 1] = \"Monday\";\n WeekDay[WeekDay[\"Tuesday\"] = 2] = \"Tuesday\";\n WeekDay[WeekDay[\"Wednesday\"] = 3] = \"Wednesday\";\n WeekDay[WeekDay[\"Thursday\"] = 4] = \"Thursday\";\n WeekDay[WeekDay[\"Friday\"] = 5] = \"Friday\";\n WeekDay[WeekDay[\"Saturday\"] = 6] = \"Saturday\";\n})(WeekDay || (WeekDay = {}));\n/**\n * Retrieves the locale ID from the currently loaded locale.\n * The loaded locale could be, for example, a global one rather than a regional one.\n * @param locale A locale code, such as `fr-FR`.\n * @returns The locale code. For example, `fr`.\n * @see [Internationalization (i18n) Guide](https://angular.io/guide/i18n-overview)\n *\n * @publicApi\n */\nfunction getLocaleId(locale) {\n return ɵfindLocaleData(locale)[ɵLocaleDataIndex.LocaleId];\n}\n/**\n * Retrieves day period strings for the given locale.\n *\n * @param locale A locale code for the locale format rules to use.\n * @param formStyle The required grammatical form.\n * @param width The required character width.\n * @returns An array of localized period strings. For example, `[AM, PM]` for `en-US`.\n * @see [Internationalization (i18n) Guide](https://angular.io/guide/i18n-overview)\n *\n * @publicApi\n */\nfunction getLocaleDayPeriods(locale, formStyle, width) {\n const data = ɵfindLocaleData(locale);\n const amPmData = [\n data[ɵLocaleDataIndex.DayPeriodsFormat], data[ɵLocaleDataIndex.DayPeriodsStandalone]\n ];\n const amPm = getLastDefinedValue(amPmData, formStyle);\n return getLastDefinedValue(amPm, width);\n}\n/**\n * Retrieves days of the week for the given locale, using the Gregorian calendar.\n *\n * @param locale A locale code for the locale format rules to use.\n * @param formStyle The required grammatical form.\n * @param width The required character width.\n * @returns An array of localized name strings.\n * For example,`[Sunday, Monday, ... Saturday]` for `en-US`.\n * @see [Internationalization (i18n) Guide](https://angular.io/guide/i18n-overview)\n *\n * @publicApi\n */\nfunction getLocaleDayNames(locale, formStyle, width) {\n const data = ɵfindLocaleData(locale);\n const daysData = [data[ɵLocaleDataIndex.DaysFormat], data[ɵLocaleDataIndex.DaysStandalone]];\n const days = getLastDefinedValue(daysData, formStyle);\n return getLastDefinedValue(days, width);\n}\n/**\n * Retrieves months of the year for the given locale, using the Gregorian calendar.\n *\n * @param locale A locale code for the locale format rules to use.\n * @param formStyle The required grammatical form.\n * @param width The required character width.\n * @returns An array of localized name strings.\n * For example, `[January, February, ...]` for `en-US`.\n * @see [Internationalization (i18n) Guide](https://angular.io/guide/i18n-overview)\n *\n * @publicApi\n */\nfunction getLocaleMonthNames(locale, formStyle, width) {\n const data = ɵfindLocaleData(locale);\n const monthsData = [data[ɵLocaleDataIndex.MonthsFormat], data[ɵLocaleDataIndex.MonthsStandalone]];\n const months = getLastDefinedValue(monthsData, formStyle);\n return getLastDefinedValue(months, width);\n}\n/**\n * Retrieves Gregorian-calendar eras for the given locale.\n * @param locale A locale code for the locale format rules to use.\n * @param width The required character width.\n\n * @returns An array of localized era strings.\n * For example, `[AD, BC]` for `en-US`.\n * @see [Internationalization (i18n) Guide](https://angular.io/guide/i18n-overview)\n *\n * @publicApi\n */\nfunction getLocaleEraNames(locale, width) {\n const data = ɵfindLocaleData(locale);\n const erasData = data[ɵLocaleDataIndex.Eras];\n return getLastDefinedValue(erasData, width);\n}\n/**\n * Retrieves the first day of the week for the given locale.\n *\n * @param locale A locale code for the locale format rules to use.\n * @returns A day index number, using the 0-based week-day index for `en-US`\n * (Sunday = 0, Monday = 1, ...).\n * For example, for `fr-FR`, returns 1 to indicate that the first day is Monday.\n * @see [Internationalization (i18n) Guide](https://angular.io/guide/i18n-overview)\n *\n * @publicApi\n */\nfunction getLocaleFirstDayOfWeek(locale) {\n const data = ɵfindLocaleData(locale);\n return data[ɵLocaleDataIndex.FirstDayOfWeek];\n}\n/**\n * Range of week days that are considered the week-end for the given locale.\n *\n * @param locale A locale code for the locale format rules to use.\n * @returns The range of day values, `[startDay, endDay]`.\n * @see [Internationalization (i18n) Guide](https://angular.io/guide/i18n-overview)\n *\n * @publicApi\n */\nfunction getLocaleWeekEndRange(locale) {\n const data = ɵfindLocaleData(locale);\n return data[ɵLocaleDataIndex.WeekendRange];\n}\n/**\n * Retrieves a localized date-value formating string.\n *\n * @param locale A locale code for the locale format rules to use.\n * @param width The format type.\n * @returns The localized formating string.\n * @see `FormatWidth`\n * @see [Internationalization (i18n) Guide](https://angular.io/guide/i18n-overview)\n *\n * @publicApi\n */\nfunction getLocaleDateFormat(locale, width) {\n const data = ɵfindLocaleData(locale);\n return getLastDefinedValue(data[ɵLocaleDataIndex.DateFormat], width);\n}\n/**\n * Retrieves a localized time-value formatting string.\n *\n * @param locale A locale code for the locale format rules to use.\n * @param width The format type.\n * @returns The localized formatting string.\n * @see `FormatWidth`\n * @see [Internationalization (i18n) Guide](https://angular.io/guide/i18n-overview)\n\n * @publicApi\n */\nfunction getLocaleTimeFormat(locale, width) {\n const data = ɵfindLocaleData(locale);\n return getLastDefinedValue(data[ɵLocaleDataIndex.TimeFormat], width);\n}\n/**\n * Retrieves a localized date-time formatting string.\n *\n * @param locale A locale code for the locale format rules to use.\n * @param width The format type.\n * @returns The localized formatting string.\n * @see `FormatWidth`\n * @see [Internationalization (i18n) Guide](https://angular.io/guide/i18n-overview)\n *\n * @publicApi\n */\nfunction getLocaleDateTimeFormat(locale, width) {\n const data = ɵfindLocaleData(locale);\n const dateTimeFormatData = data[ɵLocaleDataIndex.DateTimeFormat];\n return getLastDefinedValue(dateTimeFormatData, width);\n}\n/**\n * Retrieves a localized number symbol that can be used to replace placeholders in number formats.\n * @param locale The locale code.\n * @param symbol The symbol to localize.\n * @returns The character for the localized symbol.\n * @see `NumberSymbol`\n * @see [Internationalization (i18n) Guide](https://angular.io/guide/i18n-overview)\n *\n * @publicApi\n */\nfunction getLocaleNumberSymbol(locale, symbol) {\n const data = ɵfindLocaleData(locale);\n const res = data[ɵLocaleDataIndex.NumberSymbols][symbol];\n if (typeof res === 'undefined') {\n if (symbol === NumberSymbol.CurrencyDecimal) {\n return data[ɵLocaleDataIndex.NumberSymbols][NumberSymbol.Decimal];\n }\n else if (symbol === NumberSymbol.CurrencyGroup) {\n return data[ɵLocaleDataIndex.NumberSymbols][NumberSymbol.Group];\n }\n }\n return res;\n}\n/**\n * Retrieves a number format for a given locale.\n *\n * Numbers are formatted using patterns, like `#,###.00`. For example, the pattern `#,###.00`\n * when used to format the number 12345.678 could result in \"12'345,678\". That would happen if the\n * grouping separator for your language is an apostrophe, and the decimal separator is a comma.\n *\n * Important: The characters `.` `,` `0` `#` (and others below) are special placeholders\n * that stand for the decimal separator, and so on, and are NOT real characters.\n * You must NOT \"translate\" the placeholders. For example, don't change `.` to `,` even though in\n * your language the decimal point is written with a comma. The symbols should be replaced by the\n * local equivalents, using the appropriate `NumberSymbol` for your language.\n *\n * Here are the special characters used in number patterns:\n *\n * | Symbol | Meaning |\n * |--------|---------|\n * | . | Replaced automatically by the character used for the decimal point. |\n * | , | Replaced by the \"grouping\" (thousands) separator. |\n * | 0 | Replaced by a digit (or zero if there aren't enough digits). |\n * | # | Replaced by a digit (or nothing if there aren't enough). |\n * | ¤ | Replaced by a currency symbol, such as $ or USD. |\n * | % | Marks a percent format. The % symbol may change position, but must be retained. |\n * | E | Marks a scientific format. The E symbol may change position, but must be retained. |\n * | ' | Special characters used as literal characters are quoted with ASCII single quotes. |\n *\n * @param locale A locale code for the locale format rules to use.\n * @param type The type of numeric value to be formatted (such as `Decimal` or `Currency`.)\n * @returns The localized format string.\n * @see `NumberFormatStyle`\n * @see [CLDR website](http://cldr.unicode.org/translation/number-patterns)\n * @see [Internationalization (i18n) Guide](https://angular.io/guide/i18n-overview)\n *\n * @publicApi\n */\nfunction getLocaleNumberFormat(locale, type) {\n const data = ɵfindLocaleData(locale);\n return data[ɵLocaleDataIndex.NumberFormats][type];\n}\n/**\n * Retrieves the symbol used to represent the currency for the main country\n * corresponding to a given locale. For example, '$' for `en-US`.\n *\n * @param locale A locale code for the locale format rules to use.\n * @returns The localized symbol character,\n * or `null` if the main country cannot be determined.\n * @see [Internationalization (i18n) Guide](https://angular.io/guide/i18n-overview)\n *\n * @publicApi\n */\nfunction getLocaleCurrencySymbol(locale) {\n const data = ɵfindLocaleData(locale);\n return data[ɵLocaleDataIndex.CurrencySymbol] || null;\n}\n/**\n * Retrieves the name of the currency for the main country corresponding\n * to a given locale. For example, 'US Dollar' for `en-US`.\n * @param locale A locale code for the locale format rules to use.\n * @returns The currency name,\n * or `null` if the main country cannot be determined.\n * @see [Internationalization (i18n) Guide](https://angular.io/guide/i18n-overview)\n *\n * @publicApi\n */\nfunction getLocaleCurrencyName(locale) {\n const data = ɵfindLocaleData(locale);\n return data[ɵLocaleDataIndex.CurrencyName] || null;\n}\n/**\n * Retrieves the default currency code for the given locale.\n *\n * The default is defined as the first currency which is still in use.\n *\n * @param locale The code of the locale whose currency code we want.\n * @returns The code of the default currency for the given locale.\n *\n * @publicApi\n */\nfunction getLocaleCurrencyCode(locale) {\n return ɵgetLocaleCurrencyCode(locale);\n}\n/**\n * Retrieves the currency values for a given locale.\n * @param locale A locale code for the locale format rules to use.\n * @returns The currency values.\n * @see [Internationalization (i18n) Guide](https://angular.io/guide/i18n-overview)\n */\nfunction getLocaleCurrencies(locale) {\n const data = ɵfindLocaleData(locale);\n return data[ɵLocaleDataIndex.Currencies];\n}\n/**\n * @alias core/ɵgetLocalePluralCase\n * @publicApi\n */\nconst getLocalePluralCase = ɵgetLocalePluralCase;\nfunction checkFullData(data) {\n if (!data[ɵLocaleDataIndex.ExtraData]) {\n throw new Error(`Missing extra locale data for the locale \"${data[ɵLocaleDataIndex\n .LocaleId]}\". Use \"registerLocaleData\" to load new data. See the \"I18n guide\" on angular.io to know more.`);\n }\n}\n/**\n * Retrieves locale-specific rules used to determine which day period to use\n * when more than one period is defined for a locale.\n *\n * There is a rule for each defined day period. The\n * first rule is applied to the first day period and so on.\n * Fall back to AM/PM when no rules are available.\n *\n * A rule can specify a period as time range, or as a single time value.\n *\n * This functionality is only available when you have loaded the full locale data.\n * See the [\"I18n guide\"](guide/i18n-common-format-data-locale).\n *\n * @param locale A locale code for the locale format rules to use.\n * @returns The rules for the locale, a single time value or array of *from-time, to-time*,\n * or null if no periods are available.\n *\n * @see `getLocaleExtraDayPeriods()`\n * @see [Internationalization (i18n) Guide](https://angular.io/guide/i18n-overview)\n *\n * @publicApi\n */\nfunction getLocaleExtraDayPeriodRules(locale) {\n const data = ɵfindLocaleData(locale);\n checkFullData(data);\n const rules = data[ɵLocaleDataIndex.ExtraData][2 /* ExtraDayPeriodsRules */] || [];\n return rules.map((rule) => {\n if (typeof rule === 'string') {\n return extractTime(rule);\n }\n return [extractTime(rule[0]), extractTime(rule[1])];\n });\n}\n/**\n * Retrieves locale-specific day periods, which indicate roughly how a day is broken up\n * in different languages.\n * For example, for `en-US`, periods are morning, noon, afternoon, evening, and midnight.\n *\n * This functionality is only available when you have loaded the full locale data.\n * See the [\"I18n guide\"](guide/i18n-common-format-data-locale).\n *\n * @param locale A locale code for the locale format rules to use.\n * @param formStyle The required grammatical form.\n * @param width The required character width.\n * @returns The translated day-period strings.\n * @see `getLocaleExtraDayPeriodRules()`\n * @see [Internationalization (i18n) Guide](https://angular.io/guide/i18n-overview)\n *\n * @publicApi\n */\nfunction getLocaleExtraDayPeriods(locale, formStyle, width) {\n const data = ɵfindLocaleData(locale);\n checkFullData(data);\n const dayPeriodsData = [\n data[ɵLocaleDataIndex.ExtraData][0 /* ExtraDayPeriodFormats */],\n data[ɵLocaleDataIndex.ExtraData][1 /* ExtraDayPeriodStandalone */]\n ];\n const dayPeriods = getLastDefinedValue(dayPeriodsData, formStyle) || [];\n return getLastDefinedValue(dayPeriods, width) || [];\n}\n/**\n * Retrieves the writing direction of a specified locale\n * @param locale A locale code for the locale format rules to use.\n * @publicApi\n * @returns 'rtl' or 'ltr'\n * @see [Internationalization (i18n) Guide](https://angular.io/guide/i18n-overview)\n */\nfunction getLocaleDirection(locale) {\n const data = ɵfindLocaleData(locale);\n return data[ɵLocaleDataIndex.Directionality];\n}\n/**\n * Retrieves the first value that is defined in an array, going backwards from an index position.\n *\n * To avoid repeating the same data (as when the \"format\" and \"standalone\" forms are the same)\n * add the first value to the locale data arrays, and add other values only if they are different.\n *\n * @param data The data array to retrieve from.\n * @param index A 0-based index into the array to start from.\n * @returns The value immediately before the given index position.\n * @see [Internationalization (i18n) Guide](https://angular.io/guide/i18n-overview)\n *\n * @publicApi\n */\nfunction getLastDefinedValue(data, index) {\n for (let i = index; i > -1; i--) {\n if (typeof data[i] !== 'undefined') {\n return data[i];\n }\n }\n throw new Error('Locale data API: locale data undefined');\n}\n/**\n * Extracts the hours and minutes from a string like \"15:45\"\n */\nfunction extractTime(time) {\n const [h, m] = time.split(':');\n return { hours: +h, minutes: +m };\n}\n/**\n * Retrieves the currency symbol for a given currency code.\n *\n * For example, for the default `en-US` locale, the code `USD` can\n * be represented by the narrow symbol `$` or the wide symbol `US$`.\n *\n * @param code The currency code.\n * @param format The format, `wide` or `narrow`.\n * @param locale A locale code for the locale format rules to use.\n *\n * @returns The symbol, or the currency code if no symbol is available.\n * @see [Internationalization (i18n) Guide](https://angular.io/guide/i18n-overview)\n *\n * @publicApi\n */\nfunction getCurrencySymbol(code, format, locale = 'en') {\n const currency = getLocaleCurrencies(locale)[code] || CURRENCIES_EN[code] || [];\n const symbolNarrow = currency[1 /* SymbolNarrow */];\n if (format === 'narrow' && typeof symbolNarrow === 'string') {\n return symbolNarrow;\n }\n return currency[0 /* Symbol */] || code;\n}\n// Most currencies have cents, that's why the default is 2\nconst DEFAULT_NB_OF_CURRENCY_DIGITS = 2;\n/**\n * Reports the number of decimal digits for a given currency.\n * The value depends upon the presence of cents in that particular currency.\n *\n * @param code The currency code.\n * @returns The number of decimal digits, typically 0 or 2.\n * @see [Internationalization (i18n) Guide](https://angular.io/guide/i18n-overview)\n *\n * @publicApi\n */\nfunction getNumberOfCurrencyDigits(code) {\n let digits;\n const currency = CURRENCIES_EN[code];\n if (currency) {\n digits = currency[2 /* NbOfDigits */];\n }\n return typeof digits === 'number' ? digits : DEFAULT_NB_OF_CURRENCY_DIGITS;\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nconst ISO8601_DATE_REGEX = /^(\\d{4})-?(\\d\\d)-?(\\d\\d)(?:T(\\d\\d)(?::?(\\d\\d)(?::?(\\d\\d)(?:\\.(\\d+))?)?)?(Z|([+-])(\\d\\d):?(\\d\\d))?)?$/;\n// 1 2 3 4 5 6 7 8 9 10 11\nconst NAMED_FORMATS = {};\nconst DATE_FORMATS_SPLIT = /((?:[^BEGHLMOSWYZabcdhmswyz']+)|(?:'(?:[^']|'')*')|(?:G{1,5}|y{1,4}|Y{1,4}|M{1,5}|L{1,5}|w{1,2}|W{1}|d{1,2}|E{1,6}|c{1,6}|a{1,5}|b{1,5}|B{1,5}|h{1,2}|H{1,2}|m{1,2}|s{1,2}|S{1,3}|z{1,4}|Z{1,5}|O{1,4}))([\\s\\S]*)/;\nvar ZoneWidth;\n(function (ZoneWidth) {\n ZoneWidth[ZoneWidth[\"Short\"] = 0] = \"Short\";\n ZoneWidth[ZoneWidth[\"ShortGMT\"] = 1] = \"ShortGMT\";\n ZoneWidth[ZoneWidth[\"Long\"] = 2] = \"Long\";\n ZoneWidth[ZoneWidth[\"Extended\"] = 3] = \"Extended\";\n})(ZoneWidth || (ZoneWidth = {}));\nvar DateType;\n(function (DateType) {\n DateType[DateType[\"FullYear\"] = 0] = \"FullYear\";\n DateType[DateType[\"Month\"] = 1] = \"Month\";\n DateType[DateType[\"Date\"] = 2] = \"Date\";\n DateType[DateType[\"Hours\"] = 3] = \"Hours\";\n DateType[DateType[\"Minutes\"] = 4] = \"Minutes\";\n DateType[DateType[\"Seconds\"] = 5] = \"Seconds\";\n DateType[DateType[\"FractionalSeconds\"] = 6] = \"FractionalSeconds\";\n DateType[DateType[\"Day\"] = 7] = \"Day\";\n})(DateType || (DateType = {}));\nvar TranslationType;\n(function (TranslationType) {\n TranslationType[TranslationType[\"DayPeriods\"] = 0] = \"DayPeriods\";\n TranslationType[TranslationType[\"Days\"] = 1] = \"Days\";\n TranslationType[TranslationType[\"Months\"] = 2] = \"Months\";\n TranslationType[TranslationType[\"Eras\"] = 3] = \"Eras\";\n})(TranslationType || (TranslationType = {}));\n/**\n * @ngModule CommonModule\n * @description\n *\n * Formats a date according to locale rules.\n *\n * @param value The date to format, as a Date, or a number (milliseconds since UTC epoch)\n * or an [ISO date-time string](https://www.w3.org/TR/NOTE-datetime).\n * @param format The date-time components to include. See `DatePipe` for details.\n * @param locale A locale code for the locale format rules to use.\n * @param timezone The time zone. A time zone offset from GMT (such as `'+0430'`),\n * or a standard UTC/GMT or continental US time zone abbreviation.\n * If not specified, uses host system settings.\n *\n * @returns The formatted date string.\n *\n * @see `DatePipe`\n * @see [Internationalization (i18n) Guide](https://angular.io/guide/i18n-overview)\n *\n * @publicApi\n */\nfunction formatDate(value, format, locale, timezone) {\n let date = toDate(value);\n const namedFormat = getNamedFormat(locale, format);\n format = namedFormat || format;\n let parts = [];\n let match;\n while (format) {\n match = DATE_FORMATS_SPLIT.exec(format);\n if (match) {\n parts = parts.concat(match.slice(1));\n const part = parts.pop();\n if (!part) {\n break;\n }\n format = part;\n }\n else {\n parts.push(format);\n break;\n }\n }\n let dateTimezoneOffset = date.getTimezoneOffset();\n if (timezone) {\n dateTimezoneOffset = timezoneToOffset(timezone, dateTimezoneOffset);\n date = convertTimezoneToLocal(date, timezone, true);\n }\n let text = '';\n parts.forEach(value => {\n const dateFormatter = getDateFormatter(value);\n text += dateFormatter ? dateFormatter(date, locale, dateTimezoneOffset) :\n value === '\\'\\'' ? '\\'' :\n value.replace(/(^'|'$)/g, '').replace(/''/g, '\\'');\n });\n return text;\n}\n/**\n * Create a new Date object with the given date value, and the time set to midnight.\n *\n * We cannot use `new Date(year, month, date)` because it maps years between 0 and 99 to 1900-1999.\n * See: https://github.com/angular/angular/issues/40377\n *\n * Note that this function returns a Date object whose time is midnight in the current locale's\n * timezone. In the future we might want to change this to be midnight in UTC, but this would be a\n * considerable breaking change.\n */\nfunction createDate(year, month, date) {\n // The `newDate` is set to midnight (UTC) on January 1st 1970.\n // - In PST this will be December 31st 1969 at 4pm.\n // - In GMT this will be January 1st 1970 at 1am.\n // Note that they even have different years, dates and months!\n const newDate = new Date(0);\n // `setFullYear()` allows years like 0001 to be set correctly. This function does not\n // change the internal time of the date.\n // Consider calling `setFullYear(2019, 8, 20)` (September 20, 2019).\n // - In PST this will now be September 20, 2019 at 4pm\n // - In GMT this will now be September 20, 2019 at 1am\n newDate.setFullYear(year, month, date);\n // We want the final date to be at local midnight, so we reset the time.\n // - In PST this will now be September 20, 2019 at 12am\n // - In GMT this will now be September 20, 2019 at 12am\n newDate.setHours(0, 0, 0);\n return newDate;\n}\nfunction getNamedFormat(locale, format) {\n const localeId = getLocaleId(locale);\n NAMED_FORMATS[localeId] = NAMED_FORMATS[localeId] || {};\n if (NAMED_FORMATS[localeId][format]) {\n return NAMED_FORMATS[localeId][format];\n }\n let formatValue = '';\n switch (format) {\n case 'shortDate':\n formatValue = getLocaleDateFormat(locale, FormatWidth.Short);\n break;\n case 'mediumDate':\n formatValue = getLocaleDateFormat(locale, FormatWidth.Medium);\n break;\n case 'longDate':\n formatValue = getLocaleDateFormat(locale, FormatWidth.Long);\n break;\n case 'fullDate':\n formatValue = getLocaleDateFormat(locale, FormatWidth.Full);\n break;\n case 'shortTime':\n formatValue = getLocaleTimeFormat(locale, FormatWidth.Short);\n break;\n case 'mediumTime':\n formatValue = getLocaleTimeFormat(locale, FormatWidth.Medium);\n break;\n case 'longTime':\n formatValue = getLocaleTimeFormat(locale, FormatWidth.Long);\n break;\n case 'fullTime':\n formatValue = getLocaleTimeFormat(locale, FormatWidth.Full);\n break;\n case 'short':\n const shortTime = getNamedFormat(locale, 'shortTime');\n const shortDate = getNamedFormat(locale, 'shortDate');\n formatValue = formatDateTime(getLocaleDateTimeFormat(locale, FormatWidth.Short), [shortTime, shortDate]);\n break;\n case 'medium':\n const mediumTime = getNamedFormat(locale, 'mediumTime');\n const mediumDate = getNamedFormat(locale, 'mediumDate');\n formatValue = formatDateTime(getLocaleDateTimeFormat(locale, FormatWidth.Medium), [mediumTime, mediumDate]);\n break;\n case 'long':\n const longTime = getNamedFormat(locale, 'longTime');\n const longDate = getNamedFormat(locale, 'longDate');\n formatValue =\n formatDateTime(getLocaleDateTimeFormat(locale, FormatWidth.Long), [longTime, longDate]);\n break;\n case 'full':\n const fullTime = getNamedFormat(locale, 'fullTime');\n const fullDate = getNamedFormat(locale, 'fullDate');\n formatValue =\n formatDateTime(getLocaleDateTimeFormat(locale, FormatWidth.Full), [fullTime, fullDate]);\n break;\n }\n if (formatValue) {\n NAMED_FORMATS[localeId][format] = formatValue;\n }\n return formatValue;\n}\nfunction formatDateTime(str, opt_values) {\n if (opt_values) {\n str = str.replace(/\\{([^}]+)}/g, function (match, key) {\n return (opt_values != null && key in opt_values) ? opt_values[key] : match;\n });\n }\n return str;\n}\nfunction padNumber(num, digits, minusSign = '-', trim, negWrap) {\n let neg = '';\n if (num < 0 || (negWrap && num <= 0)) {\n if (negWrap) {\n num = -num + 1;\n }\n else {\n num = -num;\n neg = minusSign;\n }\n }\n let strNum = String(num);\n while (strNum.length < digits) {\n strNum = '0' + strNum;\n }\n if (trim) {\n strNum = strNum.substr(strNum.length - digits);\n }\n return neg + strNum;\n}\nfunction formatFractionalSeconds(milliseconds, digits) {\n const strMs = padNumber(milliseconds, 3);\n return strMs.substr(0, digits);\n}\n/**\n * Returns a date formatter that transforms a date into its locale digit representation\n */\nfunction dateGetter(name, size, offset = 0, trim = false, negWrap = false) {\n return function (date, locale) {\n let part = getDatePart(name, date);\n if (offset > 0 || part > -offset) {\n part += offset;\n }\n if (name === DateType.Hours) {\n if (part === 0 && offset === -12) {\n part = 12;\n }\n }\n else if (name === DateType.FractionalSeconds) {\n return formatFractionalSeconds(part, size);\n }\n const localeMinus = getLocaleNumberSymbol(locale, NumberSymbol.MinusSign);\n return padNumber(part, size, localeMinus, trim, negWrap);\n };\n}\nfunction getDatePart(part, date) {\n switch (part) {\n case DateType.FullYear:\n return date.getFullYear();\n case DateType.Month:\n return date.getMonth();\n case DateType.Date:\n return date.getDate();\n case DateType.Hours:\n return date.getHours();\n case DateType.Minutes:\n return date.getMinutes();\n case DateType.Seconds:\n return date.getSeconds();\n case DateType.FractionalSeconds:\n return date.getMilliseconds();\n case DateType.Day:\n return date.getDay();\n default:\n throw new Error(`Unknown DateType value \"${part}\".`);\n }\n}\n/**\n * Returns a date formatter that transforms a date into its locale string representation\n */\nfunction dateStrGetter(name, width, form = FormStyle.Format, extended = false) {\n return function (date, locale) {\n return getDateTranslation(date, locale, name, width, form, extended);\n };\n}\n/**\n * Returns the locale translation of a date for a given form, type and width\n */\nfunction getDateTranslation(date, locale, name, width, form, extended) {\n switch (name) {\n case TranslationType.Months:\n return getLocaleMonthNames(locale, form, width)[date.getMonth()];\n case TranslationType.Days:\n return getLocaleDayNames(locale, form, width)[date.getDay()];\n case TranslationType.DayPeriods:\n const currentHours = date.getHours();\n const currentMinutes = date.getMinutes();\n if (extended) {\n const rules = getLocaleExtraDayPeriodRules(locale);\n const dayPeriods = getLocaleExtraDayPeriods(locale, form, width);\n const index = rules.findIndex(rule => {\n if (Array.isArray(rule)) {\n // morning, afternoon, evening, night\n const [from, to] = rule;\n const afterFrom = currentHours >= from.hours && currentMinutes >= from.minutes;\n const beforeTo = (currentHours < to.hours ||\n (currentHours === to.hours && currentMinutes < to.minutes));\n // We must account for normal rules that span a period during the day (e.g. 6am-9am)\n // where `from` is less (earlier) than `to`. But also rules that span midnight (e.g.\n // 10pm - 5am) where `from` is greater (later!) than `to`.\n //\n // In the first case the current time must be BOTH after `from` AND before `to`\n // (e.g. 8am is after 6am AND before 10am).\n //\n // In the second case the current time must be EITHER after `from` OR before `to`\n // (e.g. 4am is before 5am but not after 10pm; and 11pm is not before 5am but it is\n // after 10pm).\n if (from.hours < to.hours) {\n if (afterFrom && beforeTo) {\n return true;\n }\n }\n else if (afterFrom || beforeTo) {\n return true;\n }\n }\n else { // noon or midnight\n if (rule.hours === currentHours && rule.minutes === currentMinutes) {\n return true;\n }\n }\n return false;\n });\n if (index !== -1) {\n return dayPeriods[index];\n }\n }\n // if no rules for the day periods, we use am/pm by default\n return getLocaleDayPeriods(locale, form, width)[currentHours < 12 ? 0 : 1];\n case TranslationType.Eras:\n return getLocaleEraNames(locale, width)[date.getFullYear() <= 0 ? 0 : 1];\n default:\n // This default case is not needed by TypeScript compiler, as the switch is exhaustive.\n // However Closure Compiler does not understand that and reports an error in typed mode.\n // The `throw new Error` below works around the problem, and the unexpected: never variable\n // makes sure tsc still checks this code is unreachable.\n const unexpected = name;\n throw new Error(`unexpected translation type ${unexpected}`);\n }\n}\n/**\n * Returns a date formatter that transforms a date and an offset into a timezone with ISO8601 or\n * GMT format depending on the width (eg: short = +0430, short:GMT = GMT+4, long = GMT+04:30,\n * extended = +04:30)\n */\nfunction timeZoneGetter(width) {\n return function (date, locale, offset) {\n const zone = -1 * offset;\n const minusSign = getLocaleNumberSymbol(locale, NumberSymbol.MinusSign);\n const hours = zone > 0 ? Math.floor(zone / 60) : Math.ceil(zone / 60);\n switch (width) {\n case ZoneWidth.Short:\n return ((zone >= 0) ? '+' : '') + padNumber(hours, 2, minusSign) +\n padNumber(Math.abs(zone % 60), 2, minusSign);\n case ZoneWidth.ShortGMT:\n return 'GMT' + ((zone >= 0) ? '+' : '') + padNumber(hours, 1, minusSign);\n case ZoneWidth.Long:\n return 'GMT' + ((zone >= 0) ? '+' : '') + padNumber(hours, 2, minusSign) + ':' +\n padNumber(Math.abs(zone % 60), 2, minusSign);\n case ZoneWidth.Extended:\n if (offset === 0) {\n return 'Z';\n }\n else {\n return ((zone >= 0) ? '+' : '') + padNumber(hours, 2, minusSign) + ':' +\n padNumber(Math.abs(zone % 60), 2, minusSign);\n }\n default:\n throw new Error(`Unknown zone width \"${width}\"`);\n }\n };\n}\nconst JANUARY = 0;\nconst THURSDAY = 4;\nfunction getFirstThursdayOfYear(year) {\n const firstDayOfYear = createDate(year, JANUARY, 1).getDay();\n return createDate(year, 0, 1 + ((firstDayOfYear <= THURSDAY) ? THURSDAY : THURSDAY + 7) - firstDayOfYear);\n}\nfunction getThursdayThisWeek(datetime) {\n return createDate(datetime.getFullYear(), datetime.getMonth(), datetime.getDate() + (THURSDAY - datetime.getDay()));\n}\nfunction weekGetter(size, monthBased = false) {\n return function (date, locale) {\n let result;\n if (monthBased) {\n const nbDaysBefore1stDayOfMonth = new Date(date.getFullYear(), date.getMonth(), 1).getDay() - 1;\n const today = date.getDate();\n result = 1 + Math.floor((today + nbDaysBefore1stDayOfMonth) / 7);\n }\n else {\n const thisThurs = getThursdayThisWeek(date);\n // Some days of a year are part of next year according to ISO 8601.\n // Compute the firstThurs from the year of this week's Thursday\n const firstThurs = getFirstThursdayOfYear(thisThurs.getFullYear());\n const diff = thisThurs.getTime() - firstThurs.getTime();\n result = 1 + Math.round(diff / 6.048e8); // 6.048e8 ms per week\n }\n return padNumber(result, size, getLocaleNumberSymbol(locale, NumberSymbol.MinusSign));\n };\n}\n/**\n * Returns a date formatter that provides the week-numbering year for the input date.\n */\nfunction weekNumberingYearGetter(size, trim = false) {\n return function (date, locale) {\n const thisThurs = getThursdayThisWeek(date);\n const weekNumberingYear = thisThurs.getFullYear();\n return padNumber(weekNumberingYear, size, getLocaleNumberSymbol(locale, NumberSymbol.MinusSign), trim);\n };\n}\nconst DATE_FORMATS = {};\n// Based on CLDR formats:\n// See complete list: http://www.unicode.org/reports/tr35/tr35-dates.html#Date_Field_Symbol_Table\n// See also explanations: http://cldr.unicode.org/translation/date-time\n// TODO(ocombe): support all missing cldr formats: U, Q, D, F, e, j, J, C, A, v, V, X, x\nfunction getDateFormatter(format) {\n if (DATE_FORMATS[format]) {\n return DATE_FORMATS[format];\n }\n let formatter;\n switch (format) {\n // Era name (AD/BC)\n case 'G':\n case 'GG':\n case 'GGG':\n formatter = dateStrGetter(TranslationType.Eras, TranslationWidth.Abbreviated);\n break;\n case 'GGGG':\n formatter = dateStrGetter(TranslationType.Eras, TranslationWidth.Wide);\n break;\n case 'GGGGG':\n formatter = dateStrGetter(TranslationType.Eras, TranslationWidth.Narrow);\n break;\n // 1 digit representation of the year, e.g. (AD 1 => 1, AD 199 => 199)\n case 'y':\n formatter = dateGetter(DateType.FullYear, 1, 0, false, true);\n break;\n // 2 digit representation of the year, padded (00-99). (e.g. AD 2001 => 01, AD 2010 => 10)\n case 'yy':\n formatter = dateGetter(DateType.FullYear, 2, 0, true, true);\n break;\n // 3 digit representation of the year, padded (000-999). (e.g. AD 2001 => 01, AD 2010 => 10)\n case 'yyy':\n formatter = dateGetter(DateType.FullYear, 3, 0, false, true);\n break;\n // 4 digit representation of the year (e.g. AD 1 => 0001, AD 2010 => 2010)\n case 'yyyy':\n formatter = dateGetter(DateType.FullYear, 4, 0, false, true);\n break;\n // 1 digit representation of the week-numbering year, e.g. (AD 1 => 1, AD 199 => 199)\n case 'Y':\n formatter = weekNumberingYearGetter(1);\n break;\n // 2 digit representation of the week-numbering year, padded (00-99). (e.g. AD 2001 => 01, AD\n // 2010 => 10)\n case 'YY':\n formatter = weekNumberingYearGetter(2, true);\n break;\n // 3 digit representation of the week-numbering year, padded (000-999). (e.g. AD 1 => 001, AD\n // 2010 => 2010)\n case 'YYY':\n formatter = weekNumberingYearGetter(3);\n break;\n // 4 digit representation of the week-numbering year (e.g. AD 1 => 0001, AD 2010 => 2010)\n case 'YYYY':\n formatter = weekNumberingYearGetter(4);\n break;\n // Month of the year (1-12), numeric\n case 'M':\n case 'L':\n formatter = dateGetter(DateType.Month, 1, 1);\n break;\n case 'MM':\n case 'LL':\n formatter = dateGetter(DateType.Month, 2, 1);\n break;\n // Month of the year (January, ...), string, format\n case 'MMM':\n formatter = dateStrGetter(TranslationType.Months, TranslationWidth.Abbreviated);\n break;\n case 'MMMM':\n formatter = dateStrGetter(TranslationType.Months, TranslationWidth.Wide);\n break;\n case 'MMMMM':\n formatter = dateStrGetter(TranslationType.Months, TranslationWidth.Narrow);\n break;\n // Month of the year (January, ...), string, standalone\n case 'LLL':\n formatter =\n dateStrGetter(TranslationType.Months, TranslationWidth.Abbreviated, FormStyle.Standalone);\n break;\n case 'LLLL':\n formatter =\n dateStrGetter(TranslationType.Months, TranslationWidth.Wide, FormStyle.Standalone);\n break;\n case 'LLLLL':\n formatter =\n dateStrGetter(TranslationType.Months, TranslationWidth.Narrow, FormStyle.Standalone);\n break;\n // Week of the year (1, ... 52)\n case 'w':\n formatter = weekGetter(1);\n break;\n case 'ww':\n formatter = weekGetter(2);\n break;\n // Week of the month (1, ...)\n case 'W':\n formatter = weekGetter(1, true);\n break;\n // Day of the month (1-31)\n case 'd':\n formatter = dateGetter(DateType.Date, 1);\n break;\n case 'dd':\n formatter = dateGetter(DateType.Date, 2);\n break;\n // Day of the Week StandAlone (1, 1, Mon, Monday, M, Mo)\n case 'c':\n case 'cc':\n formatter = dateGetter(DateType.Day, 1);\n break;\n case 'ccc':\n formatter =\n dateStrGetter(TranslationType.Days, TranslationWidth.Abbreviated, FormStyle.Standalone);\n break;\n case 'cccc':\n formatter = dateStrGetter(TranslationType.Days, TranslationWidth.Wide, FormStyle.Standalone);\n break;\n case 'ccccc':\n formatter =\n dateStrGetter(TranslationType.Days, TranslationWidth.Narrow, FormStyle.Standalone);\n break;\n case 'cccccc':\n formatter = dateStrGetter(TranslationType.Days, TranslationWidth.Short, FormStyle.Standalone);\n break;\n // Day of the Week\n case 'E':\n case 'EE':\n case 'EEE':\n formatter = dateStrGetter(TranslationType.Days, TranslationWidth.Abbreviated);\n break;\n case 'EEEE':\n formatter = dateStrGetter(TranslationType.Days, TranslationWidth.Wide);\n break;\n case 'EEEEE':\n formatter = dateStrGetter(TranslationType.Days, TranslationWidth.Narrow);\n break;\n case 'EEEEEE':\n formatter = dateStrGetter(TranslationType.Days, TranslationWidth.Short);\n break;\n // Generic period of the day (am-pm)\n case 'a':\n case 'aa':\n case 'aaa':\n formatter = dateStrGetter(TranslationType.DayPeriods, TranslationWidth.Abbreviated);\n break;\n case 'aaaa':\n formatter = dateStrGetter(TranslationType.DayPeriods, TranslationWidth.Wide);\n break;\n case 'aaaaa':\n formatter = dateStrGetter(TranslationType.DayPeriods, TranslationWidth.Narrow);\n break;\n // Extended period of the day (midnight, at night, ...), standalone\n case 'b':\n case 'bb':\n case 'bbb':\n formatter = dateStrGetter(TranslationType.DayPeriods, TranslationWidth.Abbreviated, FormStyle.Standalone, true);\n break;\n case 'bbbb':\n formatter = dateStrGetter(TranslationType.DayPeriods, TranslationWidth.Wide, FormStyle.Standalone, true);\n break;\n case 'bbbbb':\n formatter = dateStrGetter(TranslationType.DayPeriods, TranslationWidth.Narrow, FormStyle.Standalone, true);\n break;\n // Extended period of the day (midnight, night, ...), standalone\n case 'B':\n case 'BB':\n case 'BBB':\n formatter = dateStrGetter(TranslationType.DayPeriods, TranslationWidth.Abbreviated, FormStyle.Format, true);\n break;\n case 'BBBB':\n formatter =\n dateStrGetter(TranslationType.DayPeriods, TranslationWidth.Wide, FormStyle.Format, true);\n break;\n case 'BBBBB':\n formatter = dateStrGetter(TranslationType.DayPeriods, TranslationWidth.Narrow, FormStyle.Format, true);\n break;\n // Hour in AM/PM, (1-12)\n case 'h':\n formatter = dateGetter(DateType.Hours, 1, -12);\n break;\n case 'hh':\n formatter = dateGetter(DateType.Hours, 2, -12);\n break;\n // Hour of the day (0-23)\n case 'H':\n formatter = dateGetter(DateType.Hours, 1);\n break;\n // Hour in day, padded (00-23)\n case 'HH':\n formatter = dateGetter(DateType.Hours, 2);\n break;\n // Minute of the hour (0-59)\n case 'm':\n formatter = dateGetter(DateType.Minutes, 1);\n break;\n case 'mm':\n formatter = dateGetter(DateType.Minutes, 2);\n break;\n // Second of the minute (0-59)\n case 's':\n formatter = dateGetter(DateType.Seconds, 1);\n break;\n case 'ss':\n formatter = dateGetter(DateType.Seconds, 2);\n break;\n // Fractional second\n case 'S':\n formatter = dateGetter(DateType.FractionalSeconds, 1);\n break;\n case 'SS':\n formatter = dateGetter(DateType.FractionalSeconds, 2);\n break;\n case 'SSS':\n formatter = dateGetter(DateType.FractionalSeconds, 3);\n break;\n // Timezone ISO8601 short format (-0430)\n case 'Z':\n case 'ZZ':\n case 'ZZZ':\n formatter = timeZoneGetter(ZoneWidth.Short);\n break;\n // Timezone ISO8601 extended format (-04:30)\n case 'ZZZZZ':\n formatter = timeZoneGetter(ZoneWidth.Extended);\n break;\n // Timezone GMT short format (GMT+4)\n case 'O':\n case 'OO':\n case 'OOO':\n // Should be location, but fallback to format O instead because we don't have the data yet\n case 'z':\n case 'zz':\n case 'zzz':\n formatter = timeZoneGetter(ZoneWidth.ShortGMT);\n break;\n // Timezone GMT long format (GMT+0430)\n case 'OOOO':\n case 'ZZZZ':\n // Should be location, but fallback to format O instead because we don't have the data yet\n case 'zzzz':\n formatter = timeZoneGetter(ZoneWidth.Long);\n break;\n default:\n return null;\n }\n DATE_FORMATS[format] = formatter;\n return formatter;\n}\nfunction timezoneToOffset(timezone, fallback) {\n // Support: IE 11 only, Edge 13-15+\n // IE/Edge do not \"understand\" colon (`:`) in timezone\n timezone = timezone.replace(/:/g, '');\n const requestedTimezoneOffset = Date.parse('Jan 01, 1970 00:00:00 ' + timezone) / 60000;\n return isNaN(requestedTimezoneOffset) ? fallback : requestedTimezoneOffset;\n}\nfunction addDateMinutes(date, minutes) {\n date = new Date(date.getTime());\n date.setMinutes(date.getMinutes() + minutes);\n return date;\n}\nfunction convertTimezoneToLocal(date, timezone, reverse) {\n const reverseValue = reverse ? -1 : 1;\n const dateTimezoneOffset = date.getTimezoneOffset();\n const timezoneOffset = timezoneToOffset(timezone, dateTimezoneOffset);\n return addDateMinutes(date, reverseValue * (timezoneOffset - dateTimezoneOffset));\n}\n/**\n * Converts a value to date.\n *\n * Supported input formats:\n * - `Date`\n * - number: timestamp\n * - string: numeric (e.g. \"1234\"), ISO and date strings in a format supported by\n * [Date.parse()](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/parse).\n * Note: ISO strings without time return a date without timeoffset.\n *\n * Throws if unable to convert to a date.\n */\nfunction toDate(value) {\n if (isDate(value)) {\n return value;\n }\n if (typeof value === 'number' && !isNaN(value)) {\n return new Date(value);\n }\n if (typeof value === 'string') {\n value = value.trim();\n if (/^(\\d{4}(-\\d{1,2}(-\\d{1,2})?)?)$/.test(value)) {\n /* For ISO Strings without time the day, month and year must be extracted from the ISO String\n before Date creation to avoid time offset and errors in the new Date.\n If we only replace '-' with ',' in the ISO String (\"2015,01,01\"), and try to create a new\n date, some browsers (e.g. IE 9) will throw an invalid Date error.\n If we leave the '-' (\"2015-01-01\") and try to create a new Date(\"2015-01-01\") the timeoffset\n is applied.\n Note: ISO months are 0 for January, 1 for February, ... */\n const [y, m = 1, d = 1] = value.split('-').map((val) => +val);\n return createDate(y, m - 1, d);\n }\n const parsedNb = parseFloat(value);\n // any string that only contains numbers, like \"1234\" but not like \"1234hello\"\n if (!isNaN(value - parsedNb)) {\n return new Date(parsedNb);\n }\n let match;\n if (match = value.match(ISO8601_DATE_REGEX)) {\n return isoStringToDate(match);\n }\n }\n const date = new Date(value);\n if (!isDate(date)) {\n throw new Error(`Unable to convert \"${value}\" into a date`);\n }\n return date;\n}\n/**\n * Converts a date in ISO8601 to a Date.\n * Used instead of `Date.parse` because of browser discrepancies.\n */\nfunction isoStringToDate(match) {\n const date = new Date(0);\n let tzHour = 0;\n let tzMin = 0;\n // match[8] means that the string contains \"Z\" (UTC) or a timezone like \"+01:00\" or \"+0100\"\n const dateSetter = match[8] ? date.setUTCFullYear : date.setFullYear;\n const timeSetter = match[8] ? date.setUTCHours : date.setHours;\n // if there is a timezone defined like \"+01:00\" or \"+0100\"\n if (match[9]) {\n tzHour = Number(match[9] + match[10]);\n tzMin = Number(match[9] + match[11]);\n }\n dateSetter.call(date, Number(match[1]), Number(match[2]) - 1, Number(match[3]));\n const h = Number(match[4] || 0) - tzHour;\n const m = Number(match[5] || 0) - tzMin;\n const s = Number(match[6] || 0);\n // The ECMAScript specification (https://www.ecma-international.org/ecma-262/5.1/#sec-15.9.1.11)\n // defines that `DateTime` milliseconds should always be rounded down, so that `999.9ms`\n // becomes `999ms`.\n const ms = Math.floor(parseFloat('0.' + (match[7] || 0)) * 1000);\n timeSetter.call(date, h, m, s, ms);\n return date;\n}\nfunction isDate(value) {\n return value instanceof Date && !isNaN(value.valueOf());\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nconst NUMBER_FORMAT_REGEXP = /^(\\d+)?\\.((\\d+)(-(\\d+))?)?$/;\nconst MAX_DIGITS = 22;\nconst DECIMAL_SEP = '.';\nconst ZERO_CHAR = '0';\nconst PATTERN_SEP = ';';\nconst GROUP_SEP = ',';\nconst DIGIT_CHAR = '#';\nconst CURRENCY_CHAR = '¤';\nconst PERCENT_CHAR = '%';\n/**\n * Transforms a number to a locale string based on a style and a format.\n */\nfunction formatNumberToLocaleString(value, pattern, locale, groupSymbol, decimalSymbol, digitsInfo, isPercent = false) {\n let formattedText = '';\n let isZero = false;\n if (!isFinite(value)) {\n formattedText = getLocaleNumberSymbol(locale, NumberSymbol.Infinity);\n }\n else {\n let parsedNumber = parseNumber(value);\n if (isPercent) {\n parsedNumber = toPercent(parsedNumber);\n }\n let minInt = pattern.minInt;\n let minFraction = pattern.minFrac;\n let maxFraction = pattern.maxFrac;\n if (digitsInfo) {\n const parts = digitsInfo.match(NUMBER_FORMAT_REGEXP);\n if (parts === null) {\n throw new Error(`${digitsInfo} is not a valid digit info`);\n }\n const minIntPart = parts[1];\n const minFractionPart = parts[3];\n const maxFractionPart = parts[5];\n if (minIntPart != null) {\n minInt = parseIntAutoRadix(minIntPart);\n }\n if (minFractionPart != null) {\n minFraction = parseIntAutoRadix(minFractionPart);\n }\n if (maxFractionPart != null) {\n maxFraction = parseIntAutoRadix(maxFractionPart);\n }\n else if (minFractionPart != null && minFraction > maxFraction) {\n maxFraction = minFraction;\n }\n }\n roundNumber(parsedNumber, minFraction, maxFraction);\n let digits = parsedNumber.digits;\n let integerLen = parsedNumber.integerLen;\n const exponent = parsedNumber.exponent;\n let decimals = [];\n isZero = digits.every(d => !d);\n // pad zeros for small numbers\n for (; integerLen < minInt; integerLen++) {\n digits.unshift(0);\n }\n // pad zeros for small numbers\n for (; integerLen < 0; integerLen++) {\n digits.unshift(0);\n }\n // extract decimals digits\n if (integerLen > 0) {\n decimals = digits.splice(integerLen, digits.length);\n }\n else {\n decimals = digits;\n digits = [0];\n }\n // format the integer digits with grouping separators\n const groups = [];\n if (digits.length >= pattern.lgSize) {\n groups.unshift(digits.splice(-pattern.lgSize, digits.length).join(''));\n }\n while (digits.length > pattern.gSize) {\n groups.unshift(digits.splice(-pattern.gSize, digits.length).join(''));\n }\n if (digits.length) {\n groups.unshift(digits.join(''));\n }\n formattedText = groups.join(getLocaleNumberSymbol(locale, groupSymbol));\n // append the decimal digits\n if (decimals.length) {\n formattedText += getLocaleNumberSymbol(locale, decimalSymbol) + decimals.join('');\n }\n if (exponent) {\n formattedText += getLocaleNumberSymbol(locale, NumberSymbol.Exponential) + '+' + exponent;\n }\n }\n if (value < 0 && !isZero) {\n formattedText = pattern.negPre + formattedText + pattern.negSuf;\n }\n else {\n formattedText = pattern.posPre + formattedText + pattern.posSuf;\n }\n return formattedText;\n}\n/**\n * @ngModule CommonModule\n * @description\n *\n * Formats a number as currency using locale rules.\n *\n * @param value The number to format.\n * @param locale A locale code for the locale format rules to use.\n * @param currency A string containing the currency symbol or its name,\n * such as \"$\" or \"Canadian Dollar\". Used in output string, but does not affect the operation\n * of the function.\n * @param currencyCode The [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217)\n * currency code, such as `USD` for the US dollar and `EUR` for the euro.\n * Used to determine the number of digits in the decimal part.\n * @param digitsInfo Decimal representation options, specified by a string in the following format:\n * `{minIntegerDigits}.{minFractionDigits}-{maxFractionDigits}`. See `DecimalPipe` for more details.\n *\n * @returns The formatted currency value.\n *\n * @see `formatNumber()`\n * @see `DecimalPipe`\n * @see [Internationalization (i18n) Guide](https://angular.io/guide/i18n-overview)\n *\n * @publicApi\n */\nfunction formatCurrency(value, locale, currency, currencyCode, digitsInfo) {\n const format = getLocaleNumberFormat(locale, NumberFormatStyle.Currency);\n const pattern = parseNumberFormat(format, getLocaleNumberSymbol(locale, NumberSymbol.MinusSign));\n pattern.minFrac = getNumberOfCurrencyDigits(currencyCode);\n pattern.maxFrac = pattern.minFrac;\n const res = formatNumberToLocaleString(value, pattern, locale, NumberSymbol.CurrencyGroup, NumberSymbol.CurrencyDecimal, digitsInfo);\n return res\n .replace(CURRENCY_CHAR, currency)\n // if we have 2 time the currency character, the second one is ignored\n .replace(CURRENCY_CHAR, '')\n // If there is a spacing between currency character and the value and\n // the currency character is supressed by passing an empty string, the\n // spacing character would remain as part of the string. Then we\n // should remove it.\n .trim();\n}\n/**\n * @ngModule CommonModule\n * @description\n *\n * Formats a number as a percentage according to locale rules.\n *\n * @param value The number to format.\n * @param locale A locale code for the locale format rules to use.\n * @param digitsInfo Decimal representation options, specified by a string in the following format:\n * `{minIntegerDigits}.{minFractionDigits}-{maxFractionDigits}`. See `DecimalPipe` for more details.\n *\n * @returns The formatted percentage value.\n *\n * @see `formatNumber()`\n * @see `DecimalPipe`\n * @see [Internationalization (i18n) Guide](https://angular.io/guide/i18n-overview)\n * @publicApi\n *\n */\nfunction formatPercent(value, locale, digitsInfo) {\n const format = getLocaleNumberFormat(locale, NumberFormatStyle.Percent);\n const pattern = parseNumberFormat(format, getLocaleNumberSymbol(locale, NumberSymbol.MinusSign));\n const res = formatNumberToLocaleString(value, pattern, locale, NumberSymbol.Group, NumberSymbol.Decimal, digitsInfo, true);\n return res.replace(new RegExp(PERCENT_CHAR, 'g'), getLocaleNumberSymbol(locale, NumberSymbol.PercentSign));\n}\n/**\n * @ngModule CommonModule\n * @description\n *\n * Formats a number as text, with group sizing, separator, and other\n * parameters based on the locale.\n *\n * @param value The number to format.\n * @param locale A locale code for the locale format rules to use.\n * @param digitsInfo Decimal representation options, specified by a string in the following format:\n * `{minIntegerDigits}.{minFractionDigits}-{maxFractionDigits}`. See `DecimalPipe` for more details.\n *\n * @returns The formatted text string.\n * @see [Internationalization (i18n) Guide](https://angular.io/guide/i18n-overview)\n *\n * @publicApi\n */\nfunction formatNumber(value, locale, digitsInfo) {\n const format = getLocaleNumberFormat(locale, NumberFormatStyle.Decimal);\n const pattern = parseNumberFormat(format, getLocaleNumberSymbol(locale, NumberSymbol.MinusSign));\n return formatNumberToLocaleString(value, pattern, locale, NumberSymbol.Group, NumberSymbol.Decimal, digitsInfo);\n}\nfunction parseNumberFormat(format, minusSign = '-') {\n const p = {\n minInt: 1,\n minFrac: 0,\n maxFrac: 0,\n posPre: '',\n posSuf: '',\n negPre: '',\n negSuf: '',\n gSize: 0,\n lgSize: 0\n };\n const patternParts = format.split(PATTERN_SEP);\n const positive = patternParts[0];\n const negative = patternParts[1];\n const positiveParts = positive.indexOf(DECIMAL_SEP) !== -1 ?\n positive.split(DECIMAL_SEP) :\n [\n positive.substring(0, positive.lastIndexOf(ZERO_CHAR) + 1),\n positive.substring(positive.lastIndexOf(ZERO_CHAR) + 1)\n ], integer = positiveParts[0], fraction = positiveParts[1] || '';\n p.posPre = integer.substr(0, integer.indexOf(DIGIT_CHAR));\n for (let i = 0; i < fraction.length; i++) {\n const ch = fraction.charAt(i);\n if (ch === ZERO_CHAR) {\n p.minFrac = p.maxFrac = i + 1;\n }\n else if (ch === DIGIT_CHAR) {\n p.maxFrac = i + 1;\n }\n else {\n p.posSuf += ch;\n }\n }\n const groups = integer.split(GROUP_SEP);\n p.gSize = groups[1] ? groups[1].length : 0;\n p.lgSize = (groups[2] || groups[1]) ? (groups[2] || groups[1]).length : 0;\n if (negative) {\n const trunkLen = positive.length - p.posPre.length - p.posSuf.length, pos = negative.indexOf(DIGIT_CHAR);\n p.negPre = negative.substr(0, pos).replace(/'/g, '');\n p.negSuf = negative.substr(pos + trunkLen).replace(/'/g, '');\n }\n else {\n p.negPre = minusSign + p.posPre;\n p.negSuf = p.posSuf;\n }\n return p;\n}\n// Transforms a parsed number into a percentage by multiplying it by 100\nfunction toPercent(parsedNumber) {\n // if the number is 0, don't do anything\n if (parsedNumber.digits[0] === 0) {\n return parsedNumber;\n }\n // Getting the current number of decimals\n const fractionLen = parsedNumber.digits.length - parsedNumber.integerLen;\n if (parsedNumber.exponent) {\n parsedNumber.exponent += 2;\n }\n else {\n if (fractionLen === 0) {\n parsedNumber.digits.push(0, 0);\n }\n else if (fractionLen === 1) {\n parsedNumber.digits.push(0);\n }\n parsedNumber.integerLen += 2;\n }\n return parsedNumber;\n}\n/**\n * Parses a number.\n * Significant bits of this parse algorithm came from https://github.com/MikeMcl/big.js/\n */\nfunction parseNumber(num) {\n let numStr = Math.abs(num) + '';\n let exponent = 0, digits, integerLen;\n let i, j, zeros;\n // Decimal point?\n if ((integerLen = numStr.indexOf(DECIMAL_SEP)) > -1) {\n numStr = numStr.replace(DECIMAL_SEP, '');\n }\n // Exponential form?\n if ((i = numStr.search(/e/i)) > 0) {\n // Work out the exponent.\n if (integerLen < 0)\n integerLen = i;\n integerLen += +numStr.slice(i + 1);\n numStr = numStr.substring(0, i);\n }\n else if (integerLen < 0) {\n // There was no decimal point or exponent so it is an integer.\n integerLen = numStr.length;\n }\n // Count the number of leading zeros.\n for (i = 0; numStr.charAt(i) === ZERO_CHAR; i++) { /* empty */\n }\n if (i === (zeros = numStr.length)) {\n // The digits are all zero.\n digits = [0];\n integerLen = 1;\n }\n else {\n // Count the number of trailing zeros\n zeros--;\n while (numStr.charAt(zeros) === ZERO_CHAR)\n zeros--;\n // Trailing zeros are insignificant so ignore them\n integerLen -= i;\n digits = [];\n // Convert string to array of digits without leading/trailing zeros.\n for (j = 0; i <= zeros; i++, j++) {\n digits[j] = Number(numStr.charAt(i));\n }\n }\n // If the number overflows the maximum allowed digits then use an exponent.\n if (integerLen > MAX_DIGITS) {\n digits = digits.splice(0, MAX_DIGITS - 1);\n exponent = integerLen - 1;\n integerLen = 1;\n }\n return { digits, exponent, integerLen };\n}\n/**\n * Round the parsed number to the specified number of decimal places\n * This function changes the parsedNumber in-place\n */\nfunction roundNumber(parsedNumber, minFrac, maxFrac) {\n if (minFrac > maxFrac) {\n throw new Error(`The minimum number of digits after fraction (${minFrac}) is higher than the maximum (${maxFrac}).`);\n }\n let digits = parsedNumber.digits;\n let fractionLen = digits.length - parsedNumber.integerLen;\n const fractionSize = Math.min(Math.max(minFrac, fractionLen), maxFrac);\n // The index of the digit to where rounding is to occur\n let roundAt = fractionSize + parsedNumber.integerLen;\n let digit = digits[roundAt];\n if (roundAt > 0) {\n // Drop fractional digits beyond `roundAt`\n digits.splice(Math.max(parsedNumber.integerLen, roundAt));\n // Set non-fractional digits beyond `roundAt` to 0\n for (let j = roundAt; j < digits.length; j++) {\n digits[j] = 0;\n }\n }\n else {\n // We rounded to zero so reset the parsedNumber\n fractionLen = Math.max(0, fractionLen);\n parsedNumber.integerLen = 1;\n digits.length = Math.max(1, roundAt = fractionSize + 1);\n digits[0] = 0;\n for (let i = 1; i < roundAt; i++)\n digits[i] = 0;\n }\n if (digit >= 5) {\n if (roundAt - 1 < 0) {\n for (let k = 0; k > roundAt; k--) {\n digits.unshift(0);\n parsedNumber.integerLen++;\n }\n digits.unshift(1);\n parsedNumber.integerLen++;\n }\n else {\n digits[roundAt - 1]++;\n }\n }\n // Pad out with zeros to get the required fraction length\n for (; fractionLen < Math.max(0, fractionSize); fractionLen++)\n digits.push(0);\n let dropTrailingZeros = fractionSize !== 0;\n // Minimal length = nb of decimals required + current nb of integers\n // Any number besides that is optional and can be removed if it's a trailing 0\n const minLen = minFrac + parsedNumber.integerLen;\n // Do any carrying, e.g. a digit was rounded up to 10\n const carry = digits.reduceRight(function (carry, d, i, digits) {\n d = d + carry;\n digits[i] = d < 10 ? d : d - 10; // d % 10\n if (dropTrailingZeros) {\n // Do not keep meaningless fractional trailing zeros (e.g. 15.52000 --> 15.52)\n if (digits[i] === 0 && i >= minLen) {\n digits.pop();\n }\n else {\n dropTrailingZeros = false;\n }\n }\n return d >= 10 ? 1 : 0; // Math.floor(d / 10);\n }, 0);\n if (carry) {\n digits.unshift(carry);\n parsedNumber.integerLen++;\n }\n}\nfunction parseIntAutoRadix(text) {\n const result = parseInt(text);\n if (isNaN(result)) {\n throw new Error('Invalid integer literal when parsing ' + text);\n }\n return result;\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * @publicApi\n */\nclass NgLocalization {\n}\nNgLocalization.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"13.3.12\", ngImport: i0, type: NgLocalization, deps: [], target: i0.ɵɵFactoryTarget.Injectable });\nNgLocalization.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"13.3.12\", ngImport: i0, type: NgLocalization, providedIn: 'root', useFactory: (locale) => new NgLocaleLocalization(locale), deps: [{ token: LOCALE_ID }] });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"13.3.12\", ngImport: i0, type: NgLocalization, decorators: [{\n type: Injectable,\n args: [{\n providedIn: 'root',\n useFactory: (locale) => new NgLocaleLocalization(locale),\n deps: [LOCALE_ID],\n }]\n }] });\n/**\n * Returns the plural category for a given value.\n * - \"=value\" when the case exists,\n * - the plural category otherwise\n */\nfunction getPluralCategory(value, cases, ngLocalization, locale) {\n let key = `=${value}`;\n if (cases.indexOf(key) > -1) {\n return key;\n }\n key = ngLocalization.getPluralCategory(value, locale);\n if (cases.indexOf(key) > -1) {\n return key;\n }\n if (cases.indexOf('other') > -1) {\n return 'other';\n }\n throw new Error(`No plural message found for value \"${value}\"`);\n}\n/**\n * Returns the plural case based on the locale\n *\n * @publicApi\n */\nclass NgLocaleLocalization extends NgLocalization {\n constructor(locale) {\n super();\n this.locale = locale;\n }\n getPluralCategory(value, locale) {\n const plural = getLocalePluralCase(locale || this.locale)(value);\n switch (plural) {\n case Plural.Zero:\n return 'zero';\n case Plural.One:\n return 'one';\n case Plural.Two:\n return 'two';\n case Plural.Few:\n return 'few';\n case Plural.Many:\n return 'many';\n default:\n return 'other';\n }\n }\n}\nNgLocaleLocalization.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"13.3.12\", ngImport: i0, type: NgLocaleLocalization, deps: [{ token: LOCALE_ID }], target: i0.ɵɵFactoryTarget.Injectable });\nNgLocaleLocalization.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"13.3.12\", ngImport: i0, type: NgLocaleLocalization });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"13.3.12\", ngImport: i0, type: NgLocaleLocalization, decorators: [{\n type: Injectable\n }], ctorParameters: function () { return [{ type: undefined, decorators: [{\n type: Inject,\n args: [LOCALE_ID]\n }] }]; } });\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * Register global data to be used internally by Angular. See the\n * [\"I18n guide\"](guide/i18n-common-format-data-locale) to know how to import additional locale\n * data.\n *\n * The signature registerLocaleData(data: any, extraData?: any) is deprecated since v5.1\n *\n * @publicApi\n */\nfunction registerLocaleData(data, localeId, extraData) {\n return ɵregisterLocaleData(data, localeId, extraData);\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nfunction parseCookieValue(cookieStr, name) {\n name = encodeURIComponent(name);\n for (const cookie of cookieStr.split(';')) {\n const eqIndex = cookie.indexOf('=');\n const [cookieName, cookieValue] = eqIndex == -1 ? [cookie, ''] : [cookie.slice(0, eqIndex), cookie.slice(eqIndex + 1)];\n if (cookieName.trim() === name) {\n return decodeURIComponent(cookieValue);\n }\n }\n return null;\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * @ngModule CommonModule\n *\n * @usageNotes\n * ```\n * ...\n *\n * ...\n *\n * ...\n *\n * ...\n *\n * ...\n * ```\n *\n * @description\n *\n * Adds and removes CSS classes on an HTML element.\n *\n * The CSS classes are updated as follows, depending on the type of the expression evaluation:\n * - `string` - the CSS classes listed in the string (space delimited) are added,\n * - `Array` - the CSS classes declared as Array elements are added,\n * - `Object` - keys are CSS classes that get added when the expression given in the value\n * evaluates to a truthy value, otherwise they are removed.\n *\n * @publicApi\n */\nclass NgClass {\n constructor(_iterableDiffers, _keyValueDiffers, _ngEl, _renderer) {\n this._iterableDiffers = _iterableDiffers;\n this._keyValueDiffers = _keyValueDiffers;\n this._ngEl = _ngEl;\n this._renderer = _renderer;\n this._iterableDiffer = null;\n this._keyValueDiffer = null;\n this._initialClasses = [];\n this._rawClass = null;\n }\n set klass(value) {\n this._removeClasses(this._initialClasses);\n this._initialClasses = typeof value === 'string' ? value.split(/\\s+/) : [];\n this._applyClasses(this._initialClasses);\n this._applyClasses(this._rawClass);\n }\n set ngClass(value) {\n this._removeClasses(this._rawClass);\n this._applyClasses(this._initialClasses);\n this._iterableDiffer = null;\n this._keyValueDiffer = null;\n this._rawClass = typeof value === 'string' ? value.split(/\\s+/) : value;\n if (this._rawClass) {\n if (ɵisListLikeIterable(this._rawClass)) {\n this._iterableDiffer = this._iterableDiffers.find(this._rawClass).create();\n }\n else {\n this._keyValueDiffer = this._keyValueDiffers.find(this._rawClass).create();\n }\n }\n }\n ngDoCheck() {\n if (this._iterableDiffer) {\n const iterableChanges = this._iterableDiffer.diff(this._rawClass);\n if (iterableChanges) {\n this._applyIterableChanges(iterableChanges);\n }\n }\n else if (this._keyValueDiffer) {\n const keyValueChanges = this._keyValueDiffer.diff(this._rawClass);\n if (keyValueChanges) {\n this._applyKeyValueChanges(keyValueChanges);\n }\n }\n }\n _applyKeyValueChanges(changes) {\n changes.forEachAddedItem((record) => this._toggleClass(record.key, record.currentValue));\n changes.forEachChangedItem((record) => this._toggleClass(record.key, record.currentValue));\n changes.forEachRemovedItem((record) => {\n if (record.previousValue) {\n this._toggleClass(record.key, false);\n }\n });\n }\n _applyIterableChanges(changes) {\n changes.forEachAddedItem((record) => {\n if (typeof record.item === 'string') {\n this._toggleClass(record.item, true);\n }\n else {\n throw new Error(`NgClass can only toggle CSS classes expressed as strings, got ${ɵstringify(record.item)}`);\n }\n });\n changes.forEachRemovedItem((record) => this._toggleClass(record.item, false));\n }\n /**\n * Applies a collection of CSS classes to the DOM element.\n *\n * For argument of type Set and Array CSS class names contained in those collections are always\n * added.\n * For argument of type Map CSS class name in the map's key is toggled based on the value (added\n * for truthy and removed for falsy).\n */\n _applyClasses(rawClassVal) {\n if (rawClassVal) {\n if (Array.isArray(rawClassVal) || rawClassVal instanceof Set) {\n rawClassVal.forEach((klass) => this._toggleClass(klass, true));\n }\n else {\n Object.keys(rawClassVal).forEach(klass => this._toggleClass(klass, !!rawClassVal[klass]));\n }\n }\n }\n /**\n * Removes a collection of CSS classes from the DOM element. This is mostly useful for cleanup\n * purposes.\n */\n _removeClasses(rawClassVal) {\n if (rawClassVal) {\n if (Array.isArray(rawClassVal) || rawClassVal instanceof Set) {\n rawClassVal.forEach((klass) => this._toggleClass(klass, false));\n }\n else {\n Object.keys(rawClassVal).forEach(klass => this._toggleClass(klass, false));\n }\n }\n }\n _toggleClass(klass, enabled) {\n klass = klass.trim();\n if (klass) {\n klass.split(/\\s+/g).forEach(klass => {\n if (enabled) {\n this._renderer.addClass(this._ngEl.nativeElement, klass);\n }\n else {\n this._renderer.removeClass(this._ngEl.nativeElement, klass);\n }\n });\n }\n }\n}\nNgClass.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"13.3.12\", ngImport: i0, type: NgClass, deps: [{ token: i0.IterableDiffers }, { token: i0.KeyValueDiffers }, { token: i0.ElementRef }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Directive });\nNgClass.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"12.0.0\", version: \"13.3.12\", type: NgClass, selector: \"[ngClass]\", inputs: { klass: [\"class\", \"klass\"], ngClass: \"ngClass\" }, ngImport: i0 });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"13.3.12\", ngImport: i0, type: NgClass, decorators: [{\n type: Directive,\n args: [{ selector: '[ngClass]' }]\n }], ctorParameters: function () { return [{ type: i0.IterableDiffers }, { type: i0.KeyValueDiffers }, { type: i0.ElementRef }, { type: i0.Renderer2 }]; }, propDecorators: { klass: [{\n type: Input,\n args: ['class']\n }], ngClass: [{\n type: Input,\n args: ['ngClass']\n }] } });\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * Instantiates a {@link Component} type and inserts its Host View into the current View.\n * `NgComponentOutlet` provides a declarative approach for dynamic component creation.\n *\n * `NgComponentOutlet` requires a component type, if a falsy value is set the view will clear and\n * any existing component will be destroyed.\n *\n * @usageNotes\n *\n * ### Fine tune control\n *\n * You can control the component creation process by using the following optional attributes:\n *\n * * `ngComponentOutletInjector`: Optional custom {@link Injector} that will be used as parent for\n * the Component. Defaults to the injector of the current view container.\n *\n * * `ngComponentOutletContent`: Optional list of projectable nodes to insert into the content\n * section of the component, if it exists.\n *\n * * `ngComponentOutletNgModuleFactory`: Optional module factory to allow loading another\n * module dynamically, then loading a component from that module.\n *\n * ### Syntax\n *\n * Simple\n * ```\n * \n * ```\n *\n * Customized injector/content\n * ```\n * \n * \n * ```\n *\n * Customized ngModuleFactory\n * ```\n * \n * \n * ```\n *\n * ### A simple example\n *\n * {@example common/ngComponentOutlet/ts/module.ts region='SimpleExample'}\n *\n * A more complete example with additional options:\n *\n * {@example common/ngComponentOutlet/ts/module.ts region='CompleteExample'}\n *\n * @publicApi\n * @ngModule CommonModule\n */\nclass NgComponentOutlet {\n constructor(_viewContainerRef) {\n this._viewContainerRef = _viewContainerRef;\n this._componentRef = null;\n this._moduleRef = null;\n }\n /** @nodoc */\n ngOnChanges(changes) {\n this._viewContainerRef.clear();\n this._componentRef = null;\n if (this.ngComponentOutlet) {\n const elInjector = this.ngComponentOutletInjector || this._viewContainerRef.parentInjector;\n if (changes['ngComponentOutletNgModuleFactory']) {\n if (this._moduleRef)\n this._moduleRef.destroy();\n if (this.ngComponentOutletNgModuleFactory) {\n const parentModule = elInjector.get(NgModuleRef);\n this._moduleRef = this.ngComponentOutletNgModuleFactory.create(parentModule.injector);\n }\n else {\n this._moduleRef = null;\n }\n }\n const componentFactoryResolver = this._moduleRef ? this._moduleRef.componentFactoryResolver :\n elInjector.get(ComponentFactoryResolver);\n const componentFactory = componentFactoryResolver.resolveComponentFactory(this.ngComponentOutlet);\n this._componentRef = this._viewContainerRef.createComponent(componentFactory, this._viewContainerRef.length, elInjector, this.ngComponentOutletContent);\n }\n }\n /** @nodoc */\n ngOnDestroy() {\n if (this._moduleRef)\n this._moduleRef.destroy();\n }\n}\nNgComponentOutlet.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"13.3.12\", ngImport: i0, type: NgComponentOutlet, deps: [{ token: i0.ViewContainerRef }], target: i0.ɵɵFactoryTarget.Directive });\nNgComponentOutlet.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"12.0.0\", version: \"13.3.12\", type: NgComponentOutlet, selector: \"[ngComponentOutlet]\", inputs: { ngComponentOutlet: \"ngComponentOutlet\", ngComponentOutletInjector: \"ngComponentOutletInjector\", ngComponentOutletContent: \"ngComponentOutletContent\", ngComponentOutletNgModuleFactory: \"ngComponentOutletNgModuleFactory\" }, usesOnChanges: true, ngImport: i0 });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"13.3.12\", ngImport: i0, type: NgComponentOutlet, decorators: [{\n type: Directive,\n args: [{ selector: '[ngComponentOutlet]' }]\n }], ctorParameters: function () { return [{ type: i0.ViewContainerRef }]; }, propDecorators: { ngComponentOutlet: [{\n type: Input\n }], ngComponentOutletInjector: [{\n type: Input\n }], ngComponentOutletContent: [{\n type: Input\n }], ngComponentOutletNgModuleFactory: [{\n type: Input\n }] } });\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * @publicApi\n */\nclass NgForOfContext {\n constructor($implicit, ngForOf, index, count) {\n this.$implicit = $implicit;\n this.ngForOf = ngForOf;\n this.index = index;\n this.count = count;\n }\n get first() {\n return this.index === 0;\n }\n get last() {\n return this.index === this.count - 1;\n }\n get even() {\n return this.index % 2 === 0;\n }\n get odd() {\n return !this.even;\n }\n}\n/**\n * A [structural directive](guide/structural-directives) that renders\n * a template for each item in a collection.\n * The directive is placed on an element, which becomes the parent\n * of the cloned templates.\n *\n * The `ngForOf` directive is generally used in the\n * [shorthand form](guide/structural-directives#asterisk) `*ngFor`.\n * In this form, the template to be rendered for each iteration is the content\n * of an anchor element containing the directive.\n *\n * The following example shows the shorthand syntax with some options,\n * contained in an `
  • ` element.\n *\n * ```\n *
  • ...
  • \n * ```\n *\n * The shorthand form expands into a long form that uses the `ngForOf` selector\n * on an `` element.\n * The content of the `` element is the `
  • ` element that held the\n * short-form directive.\n *\n * Here is the expanded version of the short-form example.\n *\n * ```\n * \n *
  • ...
  • \n *
    \n * ```\n *\n * Angular automatically expands the shorthand syntax as it compiles the template.\n * The context for each embedded view is logically merged to the current component\n * context according to its lexical position.\n *\n * When using the shorthand syntax, Angular allows only [one structural directive\n * on an element](guide/structural-directives#one-per-element).\n * If you want to iterate conditionally, for example,\n * put the `*ngIf` on a container element that wraps the `*ngFor` element.\n * For futher discussion, see\n * [Structural Directives](guide/structural-directives#one-per-element).\n *\n * @usageNotes\n *\n * ### Local variables\n *\n * `NgForOf` provides exported values that can be aliased to local variables.\n * For example:\n *\n * ```\n *
  • \n * {{i}}/{{users.length}}. {{user}} default\n *
  • \n * ```\n *\n * The following exported values can be aliased to local variables:\n *\n * - `$implicit: T`: The value of the individual items in the iterable (`ngForOf`).\n * - `ngForOf: NgIterable`: The value of the iterable expression. Useful when the expression is\n * more complex then a property access, for example when using the async pipe (`userStreams |\n * async`).\n * - `index: number`: The index of the current item in the iterable.\n * - `count: number`: The length of the iterable.\n * - `first: boolean`: True when the item is the first item in the iterable.\n * - `last: boolean`: True when the item is the last item in the iterable.\n * - `even: boolean`: True when the item has an even index in the iterable.\n * - `odd: boolean`: True when the item has an odd index in the iterable.\n *\n * ### Change propagation\n *\n * When the contents of the iterator changes, `NgForOf` makes the corresponding changes to the DOM:\n *\n * * When an item is added, a new instance of the template is added to the DOM.\n * * When an item is removed, its template instance is removed from the DOM.\n * * When items are reordered, their respective templates are reordered in the DOM.\n *\n * Angular uses object identity to track insertions and deletions within the iterator and reproduce\n * those changes in the DOM. This has important implications for animations and any stateful\n * controls that are present, such as `` elements that accept user input. Inserted rows can\n * be animated in, deleted rows can be animated out, and unchanged rows retain any unsaved state\n * such as user input.\n * For more on animations, see [Transitions and Triggers](guide/transition-and-triggers).\n *\n * The identities of elements in the iterator can change while the data does not.\n * This can happen, for example, if the iterator is produced from an RPC to the server, and that\n * RPC is re-run. Even if the data hasn't changed, the second response produces objects with\n * different identities, and Angular must tear down the entire DOM and rebuild it (as if all old\n * elements were deleted and all new elements inserted).\n *\n * To avoid this expensive operation, you can customize the default tracking algorithm.\n * by supplying the `trackBy` option to `NgForOf`.\n * `trackBy` takes a function that has two arguments: `index` and `item`.\n * If `trackBy` is given, Angular tracks changes by the return value of the function.\n *\n * @see [Structural Directives](guide/structural-directives)\n * @ngModule CommonModule\n * @publicApi\n */\nclass NgForOf {\n constructor(_viewContainer, _template, _differs) {\n this._viewContainer = _viewContainer;\n this._template = _template;\n this._differs = _differs;\n this._ngForOf = null;\n this._ngForOfDirty = true;\n this._differ = null;\n }\n /**\n * The value of the iterable expression, which can be used as a\n * [template input variable](guide/structural-directives#shorthand).\n */\n set ngForOf(ngForOf) {\n this._ngForOf = ngForOf;\n this._ngForOfDirty = true;\n }\n /**\n * Specifies a custom `TrackByFunction` to compute the identity of items in an iterable.\n *\n * If a custom `TrackByFunction` is not provided, `NgForOf` will use the item's [object\n * identity](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/is)\n * as the key.\n *\n * `NgForOf` uses the computed key to associate items in an iterable with DOM elements\n * it produces for these items.\n *\n * A custom `TrackByFunction` is useful to provide good user experience in cases when items in an\n * iterable rendered using `NgForOf` have a natural identifier (for example, custom ID or a\n * primary key), and this iterable could be updated with new object instances that still\n * represent the same underlying entity (for example, when data is re-fetched from the server,\n * and the iterable is recreated and re-rendered, but most of the data is still the same).\n *\n * @see `TrackByFunction`\n */\n set ngForTrackBy(fn) {\n if ((typeof ngDevMode === 'undefined' || ngDevMode) && fn != null && typeof fn !== 'function') {\n // TODO(vicb): use a log service once there is a public one available\n if (console && console.warn) {\n console.warn(`trackBy must be a function, but received ${JSON.stringify(fn)}. ` +\n `See https://angular.io/api/common/NgForOf#change-propagation for more information.`);\n }\n }\n this._trackByFn = fn;\n }\n get ngForTrackBy() {\n return this._trackByFn;\n }\n /**\n * A reference to the template that is stamped out for each item in the iterable.\n * @see [template reference variable](guide/template-reference-variables)\n */\n set ngForTemplate(value) {\n // TODO(TS2.1): make TemplateRef>> once we move to TS v2.1\n // The current type is too restrictive; a template that just uses index, for example,\n // should be acceptable.\n if (value) {\n this._template = value;\n }\n }\n /**\n * Applies the changes when needed.\n * @nodoc\n */\n ngDoCheck() {\n if (this._ngForOfDirty) {\n this._ngForOfDirty = false;\n // React on ngForOf changes only once all inputs have been initialized\n const value = this._ngForOf;\n if (!this._differ && value) {\n if (typeof ngDevMode === 'undefined' || ngDevMode) {\n try {\n // CAUTION: this logic is duplicated for production mode below, as the try-catch\n // is only present in development builds.\n this._differ = this._differs.find(value).create(this.ngForTrackBy);\n }\n catch {\n throw new Error(`Cannot find a differ supporting object '${value}' of type '${getTypeName(value)}'. NgFor only supports binding to Iterables such as Arrays.`);\n }\n }\n else {\n // CAUTION: this logic is duplicated for development mode above, as the try-catch\n // is only present in development builds.\n this._differ = this._differs.find(value).create(this.ngForTrackBy);\n }\n }\n }\n if (this._differ) {\n const changes = this._differ.diff(this._ngForOf);\n if (changes)\n this._applyChanges(changes);\n }\n }\n _applyChanges(changes) {\n const viewContainer = this._viewContainer;\n changes.forEachOperation((item, adjustedPreviousIndex, currentIndex) => {\n if (item.previousIndex == null) {\n // NgForOf is never \"null\" or \"undefined\" here because the differ detected\n // that a new item needs to be inserted from the iterable. This implies that\n // there is an iterable value for \"_ngForOf\".\n viewContainer.createEmbeddedView(this._template, new NgForOfContext(item.item, this._ngForOf, -1, -1), currentIndex === null ? undefined : currentIndex);\n }\n else if (currentIndex == null) {\n viewContainer.remove(adjustedPreviousIndex === null ? undefined : adjustedPreviousIndex);\n }\n else if (adjustedPreviousIndex !== null) {\n const view = viewContainer.get(adjustedPreviousIndex);\n viewContainer.move(view, currentIndex);\n applyViewChange(view, item);\n }\n });\n for (let i = 0, ilen = viewContainer.length; i < ilen; i++) {\n const viewRef = viewContainer.get(i);\n const context = viewRef.context;\n context.index = i;\n context.count = ilen;\n context.ngForOf = this._ngForOf;\n }\n changes.forEachIdentityChange((record) => {\n const viewRef = viewContainer.get(record.currentIndex);\n applyViewChange(viewRef, record);\n });\n }\n /**\n * Asserts the correct type of the context for the template that `NgForOf` will render.\n *\n * The presence of this method is a signal to the Ivy template type-check compiler that the\n * `NgForOf` structural directive renders its template with a specific context type.\n */\n static ngTemplateContextGuard(dir, ctx) {\n return true;\n }\n}\nNgForOf.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"13.3.12\", ngImport: i0, type: NgForOf, deps: [{ token: i0.ViewContainerRef }, { token: i0.TemplateRef }, { token: i0.IterableDiffers }], target: i0.ɵɵFactoryTarget.Directive });\nNgForOf.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"12.0.0\", version: \"13.3.12\", type: NgForOf, selector: \"[ngFor][ngForOf]\", inputs: { ngForOf: \"ngForOf\", ngForTrackBy: \"ngForTrackBy\", ngForTemplate: \"ngForTemplate\" }, ngImport: i0 });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"13.3.12\", ngImport: i0, type: NgForOf, decorators: [{\n type: Directive,\n args: [{ selector: '[ngFor][ngForOf]' }]\n }], ctorParameters: function () { return [{ type: i0.ViewContainerRef }, { type: i0.TemplateRef }, { type: i0.IterableDiffers }]; }, propDecorators: { ngForOf: [{\n type: Input\n }], ngForTrackBy: [{\n type: Input\n }], ngForTemplate: [{\n type: Input\n }] } });\nfunction applyViewChange(view, record) {\n view.context.$implicit = record.item;\n}\nfunction getTypeName(type) {\n return type['name'] || typeof type;\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * A structural directive that conditionally includes a template based on the value of\n * an expression coerced to Boolean.\n * When the expression evaluates to true, Angular renders the template\n * provided in a `then` clause, and when false or null,\n * Angular renders the template provided in an optional `else` clause. The default\n * template for the `else` clause is blank.\n *\n * A [shorthand form](guide/structural-directives#asterisk) of the directive,\n * `*ngIf=\"condition\"`, is generally used, provided\n * as an attribute of the anchor element for the inserted template.\n * Angular expands this into a more explicit version, in which the anchor element\n * is contained in an `` element.\n *\n * Simple form with shorthand syntax:\n *\n * ```\n *
    Content to render when condition is true.
    \n * ```\n *\n * Simple form with expanded syntax:\n *\n * ```\n *
    Content to render when condition is\n * true.
    \n * ```\n *\n * Form with an \"else\" block:\n *\n * ```\n *
    Content to render when condition is true.
    \n * Content to render when condition is false.\n * ```\n *\n * Shorthand form with \"then\" and \"else\" blocks:\n *\n * ```\n *
    \n * Content to render when condition is true.\n * Content to render when condition is false.\n * ```\n *\n * Form with storing the value locally:\n *\n * ```\n *
    {{value}}
    \n * Content to render when value is null.\n * ```\n *\n * @usageNotes\n *\n * The `*ngIf` directive is most commonly used to conditionally show an inline template,\n * as seen in the following example.\n * The default `else` template is blank.\n *\n * {@example common/ngIf/ts/module.ts region='NgIfSimple'}\n *\n * ### Showing an alternative template using `else`\n *\n * To display a template when `expression` evaluates to false, use an `else` template\n * binding as shown in the following example.\n * The `else` binding points to an `` element labeled `#elseBlock`.\n * The template can be defined anywhere in the component view, but is typically placed right after\n * `ngIf` for readability.\n *\n * {@example common/ngIf/ts/module.ts region='NgIfElse'}\n *\n * ### Using an external `then` template\n *\n * In the previous example, the then-clause template is specified inline, as the content of the\n * tag that contains the `ngIf` directive. You can also specify a template that is defined\n * externally, by referencing a labeled `` element. When you do this, you can\n * change which template to use at runtime, as shown in the following example.\n *\n * {@example common/ngIf/ts/module.ts region='NgIfThenElse'}\n *\n * ### Storing a conditional result in a variable\n *\n * You might want to show a set of properties from the same object. If you are waiting\n * for asynchronous data, the object can be undefined.\n * In this case, you can use `ngIf` and store the result of the condition in a local\n * variable as shown in the following example.\n *\n * {@example common/ngIf/ts/module.ts region='NgIfAs'}\n *\n * This code uses only one `AsyncPipe`, so only one subscription is created.\n * The conditional statement stores the result of `userStream|async` in the local variable `user`.\n * You can then bind the local `user` repeatedly.\n *\n * The conditional displays the data only if `userStream` returns a value,\n * so you don't need to use the\n * safe-navigation-operator (`?.`)\n * to guard against null values when accessing properties.\n * You can display an alternative template while waiting for the data.\n *\n * ### Shorthand syntax\n *\n * The shorthand syntax `*ngIf` expands into two separate template specifications\n * for the \"then\" and \"else\" clauses. For example, consider the following shorthand statement,\n * that is meant to show a loading page while waiting for data to be loaded.\n *\n * ```\n *
    \n * ...\n *
    \n *\n * \n *
    Loading...
    \n *
    \n * ```\n *\n * You can see that the \"else\" clause references the ``\n * with the `#loading` label, and the template for the \"then\" clause\n * is provided as the content of the anchor element.\n *\n * However, when Angular expands the shorthand syntax, it creates\n * another `` tag, with `ngIf` and `ngIfElse` directives.\n * The anchor element containing the template for the \"then\" clause becomes\n * the content of this unlabeled `` tag.\n *\n * ```\n * \n *
    \n * ...\n *
    \n *
    \n *\n * \n *
    Loading...
    \n *
    \n * ```\n *\n * The presence of the implicit template object has implications for the nesting of\n * structural directives. For more on this subject, see\n * [Structural Directives](guide/structural-directives#one-per-element).\n *\n * @ngModule CommonModule\n * @publicApi\n */\nclass NgIf {\n constructor(_viewContainer, templateRef) {\n this._viewContainer = _viewContainer;\n this._context = new NgIfContext();\n this._thenTemplateRef = null;\n this._elseTemplateRef = null;\n this._thenViewRef = null;\n this._elseViewRef = null;\n this._thenTemplateRef = templateRef;\n }\n /**\n * The Boolean expression to evaluate as the condition for showing a template.\n */\n set ngIf(condition) {\n this._context.$implicit = this._context.ngIf = condition;\n this._updateView();\n }\n /**\n * A template to show if the condition expression evaluates to true.\n */\n set ngIfThen(templateRef) {\n assertTemplate('ngIfThen', templateRef);\n this._thenTemplateRef = templateRef;\n this._thenViewRef = null; // clear previous view if any.\n this._updateView();\n }\n /**\n * A template to show if the condition expression evaluates to false.\n */\n set ngIfElse(templateRef) {\n assertTemplate('ngIfElse', templateRef);\n this._elseTemplateRef = templateRef;\n this._elseViewRef = null; // clear previous view if any.\n this._updateView();\n }\n _updateView() {\n if (this._context.$implicit) {\n if (!this._thenViewRef) {\n this._viewContainer.clear();\n this._elseViewRef = null;\n if (this._thenTemplateRef) {\n this._thenViewRef =\n this._viewContainer.createEmbeddedView(this._thenTemplateRef, this._context);\n }\n }\n }\n else {\n if (!this._elseViewRef) {\n this._viewContainer.clear();\n this._thenViewRef = null;\n if (this._elseTemplateRef) {\n this._elseViewRef =\n this._viewContainer.createEmbeddedView(this._elseTemplateRef, this._context);\n }\n }\n }\n }\n /**\n * Asserts the correct type of the context for the template that `NgIf` will render.\n *\n * The presence of this method is a signal to the Ivy template type-check compiler that the\n * `NgIf` structural directive renders its template with a specific context type.\n */\n static ngTemplateContextGuard(dir, ctx) {\n return true;\n }\n}\nNgIf.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"13.3.12\", ngImport: i0, type: NgIf, deps: [{ token: i0.ViewContainerRef }, { token: i0.TemplateRef }], target: i0.ɵɵFactoryTarget.Directive });\nNgIf.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"12.0.0\", version: \"13.3.12\", type: NgIf, selector: \"[ngIf]\", inputs: { ngIf: \"ngIf\", ngIfThen: \"ngIfThen\", ngIfElse: \"ngIfElse\" }, ngImport: i0 });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"13.3.12\", ngImport: i0, type: NgIf, decorators: [{\n type: Directive,\n args: [{ selector: '[ngIf]' }]\n }], ctorParameters: function () { return [{ type: i0.ViewContainerRef }, { type: i0.TemplateRef }]; }, propDecorators: { ngIf: [{\n type: Input\n }], ngIfThen: [{\n type: Input\n }], ngIfElse: [{\n type: Input\n }] } });\n/**\n * @publicApi\n */\nclass NgIfContext {\n constructor() {\n this.$implicit = null;\n this.ngIf = null;\n }\n}\nfunction assertTemplate(property, templateRef) {\n const isTemplateRefOrNull = !!(!templateRef || templateRef.createEmbeddedView);\n if (!isTemplateRefOrNull) {\n throw new Error(`${property} must be a TemplateRef, but received '${ɵstringify(templateRef)}'.`);\n }\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nclass SwitchView {\n constructor(_viewContainerRef, _templateRef) {\n this._viewContainerRef = _viewContainerRef;\n this._templateRef = _templateRef;\n this._created = false;\n }\n create() {\n this._created = true;\n this._viewContainerRef.createEmbeddedView(this._templateRef);\n }\n destroy() {\n this._created = false;\n this._viewContainerRef.clear();\n }\n enforceState(created) {\n if (created && !this._created) {\n this.create();\n }\n else if (!created && this._created) {\n this.destroy();\n }\n }\n}\n/**\n * @ngModule CommonModule\n *\n * @description\n * The `[ngSwitch]` directive on a container specifies an expression to match against.\n * The expressions to match are provided by `ngSwitchCase` directives on views within the container.\n * - Every view that matches is rendered.\n * - If there are no matches, a view with the `ngSwitchDefault` directive is rendered.\n * - Elements within the `[NgSwitch]` statement but outside of any `NgSwitchCase`\n * or `ngSwitchDefault` directive are preserved at the location.\n *\n * @usageNotes\n * Define a container element for the directive, and specify the switch expression\n * to match against as an attribute:\n *\n * ```\n * \n * ```\n *\n * Within the container, `*ngSwitchCase` statements specify the match expressions\n * as attributes. Include `*ngSwitchDefault` as the final case.\n *\n * ```\n * \n * ...\n * ...\n * ...\n * \n * ```\n *\n * ### Usage Examples\n *\n * The following example shows how to use more than one case to display the same view:\n *\n * ```\n * \n * \n * ...\n * ...\n * ...\n * \n * ...\n * \n * ```\n *\n * The following example shows how cases can be nested:\n * ```\n * \n * ...\n * ...\n * ...\n * \n * \n * \n * \n * \n * ...\n * \n * ```\n *\n * @publicApi\n * @see `NgSwitchCase`\n * @see `NgSwitchDefault`\n * @see [Structural Directives](guide/structural-directives)\n *\n */\nclass NgSwitch {\n constructor() {\n this._defaultUsed = false;\n this._caseCount = 0;\n this._lastCaseCheckIndex = 0;\n this._lastCasesMatched = false;\n }\n set ngSwitch(newValue) {\n this._ngSwitch = newValue;\n if (this._caseCount === 0) {\n this._updateDefaultCases(true);\n }\n }\n /** @internal */\n _addCase() {\n return this._caseCount++;\n }\n /** @internal */\n _addDefault(view) {\n if (!this._defaultViews) {\n this._defaultViews = [];\n }\n this._defaultViews.push(view);\n }\n /** @internal */\n _matchCase(value) {\n const matched = value == this._ngSwitch;\n this._lastCasesMatched = this._lastCasesMatched || matched;\n this._lastCaseCheckIndex++;\n if (this._lastCaseCheckIndex === this._caseCount) {\n this._updateDefaultCases(!this._lastCasesMatched);\n this._lastCaseCheckIndex = 0;\n this._lastCasesMatched = false;\n }\n return matched;\n }\n _updateDefaultCases(useDefault) {\n if (this._defaultViews && useDefault !== this._defaultUsed) {\n this._defaultUsed = useDefault;\n for (let i = 0; i < this._defaultViews.length; i++) {\n const defaultView = this._defaultViews[i];\n defaultView.enforceState(useDefault);\n }\n }\n }\n}\nNgSwitch.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"13.3.12\", ngImport: i0, type: NgSwitch, deps: [], target: i0.ɵɵFactoryTarget.Directive });\nNgSwitch.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"12.0.0\", version: \"13.3.12\", type: NgSwitch, selector: \"[ngSwitch]\", inputs: { ngSwitch: \"ngSwitch\" }, ngImport: i0 });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"13.3.12\", ngImport: i0, type: NgSwitch, decorators: [{\n type: Directive,\n args: [{ selector: '[ngSwitch]' }]\n }], propDecorators: { ngSwitch: [{\n type: Input\n }] } });\n/**\n * @ngModule CommonModule\n *\n * @description\n * Provides a switch case expression to match against an enclosing `ngSwitch` expression.\n * When the expressions match, the given `NgSwitchCase` template is rendered.\n * If multiple match expressions match the switch expression value, all of them are displayed.\n *\n * @usageNotes\n *\n * Within a switch container, `*ngSwitchCase` statements specify the match expressions\n * as attributes. Include `*ngSwitchDefault` as the final case.\n *\n * ```\n * \n * ...\n * ...\n * ...\n * \n * ```\n *\n * Each switch-case statement contains an in-line HTML template or template reference\n * that defines the subtree to be selected if the value of the match expression\n * matches the value of the switch expression.\n *\n * Unlike JavaScript, which uses strict equality, Angular uses loose equality.\n * This means that the empty string, `\"\"` matches 0.\n *\n * @publicApi\n * @see `NgSwitch`\n * @see `NgSwitchDefault`\n *\n */\nclass NgSwitchCase {\n constructor(viewContainer, templateRef, ngSwitch) {\n this.ngSwitch = ngSwitch;\n if ((typeof ngDevMode === 'undefined' || ngDevMode) && !ngSwitch) {\n throwNgSwitchProviderNotFoundError('ngSwitchCase', 'NgSwitchCase');\n }\n ngSwitch._addCase();\n this._view = new SwitchView(viewContainer, templateRef);\n }\n /**\n * Performs case matching. For internal use only.\n * @nodoc\n */\n ngDoCheck() {\n this._view.enforceState(this.ngSwitch._matchCase(this.ngSwitchCase));\n }\n}\nNgSwitchCase.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"13.3.12\", ngImport: i0, type: NgSwitchCase, deps: [{ token: i0.ViewContainerRef }, { token: i0.TemplateRef }, { token: NgSwitch, host: true, optional: true }], target: i0.ɵɵFactoryTarget.Directive });\nNgSwitchCase.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"12.0.0\", version: \"13.3.12\", type: NgSwitchCase, selector: \"[ngSwitchCase]\", inputs: { ngSwitchCase: \"ngSwitchCase\" }, ngImport: i0 });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"13.3.12\", ngImport: i0, type: NgSwitchCase, decorators: [{\n type: Directive,\n args: [{ selector: '[ngSwitchCase]' }]\n }], ctorParameters: function () { return [{ type: i0.ViewContainerRef }, { type: i0.TemplateRef }, { type: NgSwitch, decorators: [{\n type: Optional\n }, {\n type: Host\n }] }]; }, propDecorators: { ngSwitchCase: [{\n type: Input\n }] } });\n/**\n * @ngModule CommonModule\n *\n * @description\n *\n * Creates a view that is rendered when no `NgSwitchCase` expressions\n * match the `NgSwitch` expression.\n * This statement should be the final case in an `NgSwitch`.\n *\n * @publicApi\n * @see `NgSwitch`\n * @see `NgSwitchCase`\n *\n */\nclass NgSwitchDefault {\n constructor(viewContainer, templateRef, ngSwitch) {\n if ((typeof ngDevMode === 'undefined' || ngDevMode) && !ngSwitch) {\n throwNgSwitchProviderNotFoundError('ngSwitchDefault', 'NgSwitchDefault');\n }\n ngSwitch._addDefault(new SwitchView(viewContainer, templateRef));\n }\n}\nNgSwitchDefault.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"13.3.12\", ngImport: i0, type: NgSwitchDefault, deps: [{ token: i0.ViewContainerRef }, { token: i0.TemplateRef }, { token: NgSwitch, host: true, optional: true }], target: i0.ɵɵFactoryTarget.Directive });\nNgSwitchDefault.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"12.0.0\", version: \"13.3.12\", type: NgSwitchDefault, selector: \"[ngSwitchDefault]\", ngImport: i0 });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"13.3.12\", ngImport: i0, type: NgSwitchDefault, decorators: [{\n type: Directive,\n args: [{ selector: '[ngSwitchDefault]' }]\n }], ctorParameters: function () { return [{ type: i0.ViewContainerRef }, { type: i0.TemplateRef }, { type: NgSwitch, decorators: [{\n type: Optional\n }, {\n type: Host\n }] }]; } });\nfunction throwNgSwitchProviderNotFoundError(attrName, directiveName) {\n throw new ɵRuntimeError(2000 /* PARENT_NG_SWITCH_NOT_FOUND */, `An element with the \"${attrName}\" attribute ` +\n `(matching the \"${directiveName}\" directive) must be located inside an element with the \"ngSwitch\" attribute ` +\n `(matching \"NgSwitch\" directive)`);\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * @ngModule CommonModule\n *\n * @usageNotes\n * ```\n * \n * there is nothing\n * there is one\n * there are a few\n * \n * ```\n *\n * @description\n *\n * Adds / removes DOM sub-trees based on a numeric value. Tailored for pluralization.\n *\n * Displays DOM sub-trees that match the switch expression value, or failing that, DOM sub-trees\n * that match the switch expression's pluralization category.\n *\n * To use this directive you must provide a container element that sets the `[ngPlural]` attribute\n * to a switch expression. Inner elements with a `[ngPluralCase]` will display based on their\n * expression:\n * - if `[ngPluralCase]` is set to a value starting with `=`, it will only display if the value\n * matches the switch expression exactly,\n * - otherwise, the view will be treated as a \"category match\", and will only display if exact\n * value matches aren't found and the value maps to its category for the defined locale.\n *\n * See http://cldr.unicode.org/index/cldr-spec/plural-rules\n *\n * @publicApi\n */\nclass NgPlural {\n constructor(_localization) {\n this._localization = _localization;\n this._caseViews = {};\n }\n set ngPlural(value) {\n this._switchValue = value;\n this._updateView();\n }\n addCase(value, switchView) {\n this._caseViews[value] = switchView;\n }\n _updateView() {\n this._clearViews();\n const cases = Object.keys(this._caseViews);\n const key = getPluralCategory(this._switchValue, cases, this._localization);\n this._activateView(this._caseViews[key]);\n }\n _clearViews() {\n if (this._activeView)\n this._activeView.destroy();\n }\n _activateView(view) {\n if (view) {\n this._activeView = view;\n this._activeView.create();\n }\n }\n}\nNgPlural.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"13.3.12\", ngImport: i0, type: NgPlural, deps: [{ token: NgLocalization }], target: i0.ɵɵFactoryTarget.Directive });\nNgPlural.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"12.0.0\", version: \"13.3.12\", type: NgPlural, selector: \"[ngPlural]\", inputs: { ngPlural: \"ngPlural\" }, ngImport: i0 });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"13.3.12\", ngImport: i0, type: NgPlural, decorators: [{\n type: Directive,\n args: [{ selector: '[ngPlural]' }]\n }], ctorParameters: function () { return [{ type: NgLocalization }]; }, propDecorators: { ngPlural: [{\n type: Input\n }] } });\n/**\n * @ngModule CommonModule\n *\n * @description\n *\n * Creates a view that will be added/removed from the parent {@link NgPlural} when the\n * given expression matches the plural expression according to CLDR rules.\n *\n * @usageNotes\n * ```\n * \n * ...\n * ...\n * \n *```\n *\n * See {@link NgPlural} for more details and example.\n *\n * @publicApi\n */\nclass NgPluralCase {\n constructor(value, template, viewContainer, ngPlural) {\n this.value = value;\n const isANumber = !isNaN(Number(value));\n ngPlural.addCase(isANumber ? `=${value}` : value, new SwitchView(viewContainer, template));\n }\n}\nNgPluralCase.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"13.3.12\", ngImport: i0, type: NgPluralCase, deps: [{ token: 'ngPluralCase', attribute: true }, { token: i0.TemplateRef }, { token: i0.ViewContainerRef }, { token: NgPlural, host: true }], target: i0.ɵɵFactoryTarget.Directive });\nNgPluralCase.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"12.0.0\", version: \"13.3.12\", type: NgPluralCase, selector: \"[ngPluralCase]\", ngImport: i0 });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"13.3.12\", ngImport: i0, type: NgPluralCase, decorators: [{\n type: Directive,\n args: [{ selector: '[ngPluralCase]' }]\n }], ctorParameters: function () { return [{ type: undefined, decorators: [{\n type: Attribute,\n args: ['ngPluralCase']\n }] }, { type: i0.TemplateRef }, { type: i0.ViewContainerRef }, { type: NgPlural, decorators: [{\n type: Host\n }] }]; } });\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * @ngModule CommonModule\n *\n * @usageNotes\n *\n * Set the font of the containing element to the result of an expression.\n *\n * ```\n * ...\n * ```\n *\n * Set the width of the containing element to a pixel value returned by an expression.\n *\n * ```\n * ...\n * ```\n *\n * Set a collection of style values using an expression that returns key-value pairs.\n *\n * ```\n * ...\n * ```\n *\n * @description\n *\n * An attribute directive that updates styles for the containing HTML element.\n * Sets one or more style properties, specified as colon-separated key-value pairs.\n * The key is a style name, with an optional `.` suffix\n * (such as 'top.px', 'font-style.em').\n * The value is an expression to be evaluated.\n * The resulting non-null value, expressed in the given unit,\n * is assigned to the given style property.\n * If the result of evaluation is null, the corresponding style is removed.\n *\n * @publicApi\n */\nclass NgStyle {\n constructor(_ngEl, _differs, _renderer) {\n this._ngEl = _ngEl;\n this._differs = _differs;\n this._renderer = _renderer;\n this._ngStyle = null;\n this._differ = null;\n }\n set ngStyle(values) {\n this._ngStyle = values;\n if (!this._differ && values) {\n this._differ = this._differs.find(values).create();\n }\n }\n ngDoCheck() {\n if (this._differ) {\n const changes = this._differ.diff(this._ngStyle);\n if (changes) {\n this._applyChanges(changes);\n }\n }\n }\n _setStyle(nameAndUnit, value) {\n const [name, unit] = nameAndUnit.split('.');\n value = value != null && unit ? `${value}${unit}` : value;\n if (value != null) {\n this._renderer.setStyle(this._ngEl.nativeElement, name, value);\n }\n else {\n this._renderer.removeStyle(this._ngEl.nativeElement, name);\n }\n }\n _applyChanges(changes) {\n changes.forEachRemovedItem((record) => this._setStyle(record.key, null));\n changes.forEachAddedItem((record) => this._setStyle(record.key, record.currentValue));\n changes.forEachChangedItem((record) => this._setStyle(record.key, record.currentValue));\n }\n}\nNgStyle.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"13.3.12\", ngImport: i0, type: NgStyle, deps: [{ token: i0.ElementRef }, { token: i0.KeyValueDiffers }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Directive });\nNgStyle.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"12.0.0\", version: \"13.3.12\", type: NgStyle, selector: \"[ngStyle]\", inputs: { ngStyle: \"ngStyle\" }, ngImport: i0 });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"13.3.12\", ngImport: i0, type: NgStyle, decorators: [{\n type: Directive,\n args: [{ selector: '[ngStyle]' }]\n }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.KeyValueDiffers }, { type: i0.Renderer2 }]; }, propDecorators: { ngStyle: [{\n type: Input,\n args: ['ngStyle']\n }] } });\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * @ngModule CommonModule\n *\n * @description\n *\n * Inserts an embedded view from a prepared `TemplateRef`.\n *\n * You can attach a context object to the `EmbeddedViewRef` by setting `[ngTemplateOutletContext]`.\n * `[ngTemplateOutletContext]` should be an object, the object's keys will be available for binding\n * by the local template `let` declarations.\n *\n * @usageNotes\n * ```\n * \n * ```\n *\n * Using the key `$implicit` in the context object will set its value as default.\n *\n * ### Example\n *\n * {@example common/ngTemplateOutlet/ts/module.ts region='NgTemplateOutlet'}\n *\n * @publicApi\n */\nclass NgTemplateOutlet {\n constructor(_viewContainerRef) {\n this._viewContainerRef = _viewContainerRef;\n this._viewRef = null;\n /**\n * A context object to attach to the {@link EmbeddedViewRef}. This should be an\n * object, the object's keys will be available for binding by the local template `let`\n * declarations.\n * Using the key `$implicit` in the context object will set its value as default.\n */\n this.ngTemplateOutletContext = null;\n /**\n * A string defining the template reference and optionally the context object for the template.\n */\n this.ngTemplateOutlet = null;\n }\n /** @nodoc */\n ngOnChanges(changes) {\n if (changes['ngTemplateOutlet']) {\n const viewContainerRef = this._viewContainerRef;\n if (this._viewRef) {\n viewContainerRef.remove(viewContainerRef.indexOf(this._viewRef));\n }\n this._viewRef = this.ngTemplateOutlet ?\n viewContainerRef.createEmbeddedView(this.ngTemplateOutlet, this.ngTemplateOutletContext) :\n null;\n }\n else if (this._viewRef && changes['ngTemplateOutletContext'] && this.ngTemplateOutletContext) {\n this._viewRef.context = this.ngTemplateOutletContext;\n }\n }\n}\nNgTemplateOutlet.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"13.3.12\", ngImport: i0, type: NgTemplateOutlet, deps: [{ token: i0.ViewContainerRef }], target: i0.ɵɵFactoryTarget.Directive });\nNgTemplateOutlet.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"12.0.0\", version: \"13.3.12\", type: NgTemplateOutlet, selector: \"[ngTemplateOutlet]\", inputs: { ngTemplateOutletContext: \"ngTemplateOutletContext\", ngTemplateOutlet: \"ngTemplateOutlet\" }, usesOnChanges: true, ngImport: i0 });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"13.3.12\", ngImport: i0, type: NgTemplateOutlet, decorators: [{\n type: Directive,\n args: [{ selector: '[ngTemplateOutlet]' }]\n }], ctorParameters: function () { return [{ type: i0.ViewContainerRef }]; }, propDecorators: { ngTemplateOutletContext: [{\n type: Input\n }], ngTemplateOutlet: [{\n type: Input\n }] } });\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * A collection of Angular directives that are likely to be used in each and every Angular\n * application.\n */\nconst COMMON_DIRECTIVES = [\n NgClass,\n NgComponentOutlet,\n NgForOf,\n NgIf,\n NgTemplateOutlet,\n NgStyle,\n NgSwitch,\n NgSwitchCase,\n NgSwitchDefault,\n NgPlural,\n NgPluralCase,\n];\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nfunction invalidPipeArgumentError(type, value) {\n const errorMessage = (typeof ngDevMode === 'undefined' || ngDevMode) ?\n `InvalidPipeArgument: '${value}' for pipe '${ɵstringify(type)}'` :\n '';\n return new ɵRuntimeError(2100 /* INVALID_PIPE_ARGUMENT */, errorMessage);\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nclass SubscribableStrategy {\n createSubscription(async, updateLatestValue) {\n return async.subscribe({\n next: updateLatestValue,\n error: (e) => {\n throw e;\n }\n });\n }\n dispose(subscription) {\n subscription.unsubscribe();\n }\n onDestroy(subscription) {\n subscription.unsubscribe();\n }\n}\nclass PromiseStrategy {\n createSubscription(async, updateLatestValue) {\n return async.then(updateLatestValue, e => {\n throw e;\n });\n }\n dispose(subscription) { }\n onDestroy(subscription) { }\n}\nconst _promiseStrategy = new PromiseStrategy();\nconst _subscribableStrategy = new SubscribableStrategy();\n/**\n * @ngModule CommonModule\n * @description\n *\n * Unwraps a value from an asynchronous primitive.\n *\n * The `async` pipe subscribes to an `Observable` or `Promise` and returns the latest value it has\n * emitted. When a new value is emitted, the `async` pipe marks the component to be checked for\n * changes. When the component gets destroyed, the `async` pipe unsubscribes automatically to avoid\n * potential memory leaks. When the reference of the expression changes, the `async` pipe\n * automatically unsubscribes from the old `Observable` or `Promise` and subscribes to the new one.\n *\n * @usageNotes\n *\n * ### Examples\n *\n * This example binds a `Promise` to the view. Clicking the `Resolve` button resolves the\n * promise.\n *\n * {@example common/pipes/ts/async_pipe.ts region='AsyncPipePromise'}\n *\n * It's also possible to use `async` with Observables. The example below binds the `time` Observable\n * to the view. The Observable continuously updates the view with the current time.\n *\n * {@example common/pipes/ts/async_pipe.ts region='AsyncPipeObservable'}\n *\n * @publicApi\n */\nclass AsyncPipe {\n constructor(_ref) {\n this._ref = _ref;\n this._latestValue = null;\n this._subscription = null;\n this._obj = null;\n this._strategy = null;\n }\n ngOnDestroy() {\n if (this._subscription) {\n this._dispose();\n }\n }\n transform(obj) {\n if (!this._obj) {\n if (obj) {\n this._subscribe(obj);\n }\n return this._latestValue;\n }\n if (obj !== this._obj) {\n this._dispose();\n return this.transform(obj);\n }\n return this._latestValue;\n }\n _subscribe(obj) {\n this._obj = obj;\n this._strategy = this._selectStrategy(obj);\n this._subscription = this._strategy.createSubscription(obj, (value) => this._updateLatestValue(obj, value));\n }\n _selectStrategy(obj) {\n if (ɵisPromise(obj)) {\n return _promiseStrategy;\n }\n if (ɵisSubscribable(obj)) {\n return _subscribableStrategy;\n }\n throw invalidPipeArgumentError(AsyncPipe, obj);\n }\n _dispose() {\n this._strategy.dispose(this._subscription);\n this._latestValue = null;\n this._subscription = null;\n this._obj = null;\n }\n _updateLatestValue(async, value) {\n if (async === this._obj) {\n this._latestValue = value;\n this._ref.markForCheck();\n }\n }\n}\nAsyncPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"13.3.12\", ngImport: i0, type: AsyncPipe, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Pipe });\nAsyncPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: \"12.0.0\", version: \"13.3.12\", ngImport: i0, type: AsyncPipe, name: \"async\", pure: false });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"13.3.12\", ngImport: i0, type: AsyncPipe, decorators: [{\n type: Pipe,\n args: [{ name: 'async', pure: false }]\n }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }]; } });\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * Transforms text to all lower case.\n *\n * @see `UpperCasePipe`\n * @see `TitleCasePipe`\n * @usageNotes\n *\n * The following example defines a view that allows the user to enter\n * text, and then uses the pipe to convert the input text to all lower case.\n *\n * \n *\n * @ngModule CommonModule\n * @publicApi\n */\nclass LowerCasePipe {\n transform(value) {\n if (value == null)\n return null;\n if (typeof value !== 'string') {\n throw invalidPipeArgumentError(LowerCasePipe, value);\n }\n return value.toLowerCase();\n }\n}\nLowerCasePipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"13.3.12\", ngImport: i0, type: LowerCasePipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });\nLowerCasePipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: \"12.0.0\", version: \"13.3.12\", ngImport: i0, type: LowerCasePipe, name: \"lowercase\" });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"13.3.12\", ngImport: i0, type: LowerCasePipe, decorators: [{\n type: Pipe,\n args: [{ name: 'lowercase' }]\n }] });\n//\n// Regex below matches any Unicode word and number compatible with ES5. In ES2018 the same result\n// can be achieved by using /[0-9\\p{L}]\\S*/gu and also known as Unicode Property Escapes\n// (https://2ality.com/2017/07/regexp-unicode-property-escapes.html). Since there is no\n// transpilation of this functionality down to ES5 without external tool, the only solution is\n// to use already transpiled form. Example can be found here -\n// https://mothereff.in/regexpu#input=var+regex+%3D+%2F%5B0-9%5Cp%7BL%7D%5D%5CS*%2Fgu%3B%0A%0A&unicodePropertyEscape=1\n//\nconst unicodeWordMatch = /(?:[0-9A-Za-z\\xAA\\xB5\\xBA\\xC0-\\xD6\\xD8-\\xF6\\xF8-\\u02C1\\u02C6-\\u02D1\\u02E0-\\u02E4\\u02EC\\u02EE\\u0370-\\u0374\\u0376\\u0377\\u037A-\\u037D\\u037F\\u0386\\u0388-\\u038A\\u038C\\u038E-\\u03A1\\u03A3-\\u03F5\\u03F7-\\u0481\\u048A-\\u052F\\u0531-\\u0556\\u0559\\u0560-\\u0588\\u05D0-\\u05EA\\u05EF-\\u05F2\\u0620-\\u064A\\u066E\\u066F\\u0671-\\u06D3\\u06D5\\u06E5\\u06E6\\u06EE\\u06EF\\u06FA-\\u06FC\\u06FF\\u0710\\u0712-\\u072F\\u074D-\\u07A5\\u07B1\\u07CA-\\u07EA\\u07F4\\u07F5\\u07FA\\u0800-\\u0815\\u081A\\u0824\\u0828\\u0840-\\u0858\\u0860-\\u086A\\u0870-\\u0887\\u0889-\\u088E\\u08A0-\\u08C9\\u0904-\\u0939\\u093D\\u0950\\u0958-\\u0961\\u0971-\\u0980\\u0985-\\u098C\\u098F\\u0990\\u0993-\\u09A8\\u09AA-\\u09B0\\u09B2\\u09B6-\\u09B9\\u09BD\\u09CE\\u09DC\\u09DD\\u09DF-\\u09E1\\u09F0\\u09F1\\u09FC\\u0A05-\\u0A0A\\u0A0F\\u0A10\\u0A13-\\u0A28\\u0A2A-\\u0A30\\u0A32\\u0A33\\u0A35\\u0A36\\u0A38\\u0A39\\u0A59-\\u0A5C\\u0A5E\\u0A72-\\u0A74\\u0A85-\\u0A8D\\u0A8F-\\u0A91\\u0A93-\\u0AA8\\u0AAA-\\u0AB0\\u0AB2\\u0AB3\\u0AB5-\\u0AB9\\u0ABD\\u0AD0\\u0AE0\\u0AE1\\u0AF9\\u0B05-\\u0B0C\\u0B0F\\u0B10\\u0B13-\\u0B28\\u0B2A-\\u0B30\\u0B32\\u0B33\\u0B35-\\u0B39\\u0B3D\\u0B5C\\u0B5D\\u0B5F-\\u0B61\\u0B71\\u0B83\\u0B85-\\u0B8A\\u0B8E-\\u0B90\\u0B92-\\u0B95\\u0B99\\u0B9A\\u0B9C\\u0B9E\\u0B9F\\u0BA3\\u0BA4\\u0BA8-\\u0BAA\\u0BAE-\\u0BB9\\u0BD0\\u0C05-\\u0C0C\\u0C0E-\\u0C10\\u0C12-\\u0C28\\u0C2A-\\u0C39\\u0C3D\\u0C58-\\u0C5A\\u0C5D\\u0C60\\u0C61\\u0C80\\u0C85-\\u0C8C\\u0C8E-\\u0C90\\u0C92-\\u0CA8\\u0CAA-\\u0CB3\\u0CB5-\\u0CB9\\u0CBD\\u0CDD\\u0CDE\\u0CE0\\u0CE1\\u0CF1\\u0CF2\\u0D04-\\u0D0C\\u0D0E-\\u0D10\\u0D12-\\u0D3A\\u0D3D\\u0D4E\\u0D54-\\u0D56\\u0D5F-\\u0D61\\u0D7A-\\u0D7F\\u0D85-\\u0D96\\u0D9A-\\u0DB1\\u0DB3-\\u0DBB\\u0DBD\\u0DC0-\\u0DC6\\u0E01-\\u0E30\\u0E32\\u0E33\\u0E40-\\u0E46\\u0E81\\u0E82\\u0E84\\u0E86-\\u0E8A\\u0E8C-\\u0EA3\\u0EA5\\u0EA7-\\u0EB0\\u0EB2\\u0EB3\\u0EBD\\u0EC0-\\u0EC4\\u0EC6\\u0EDC-\\u0EDF\\u0F00\\u0F40-\\u0F47\\u0F49-\\u0F6C\\u0F88-\\u0F8C\\u1000-\\u102A\\u103F\\u1050-\\u1055\\u105A-\\u105D\\u1061\\u1065\\u1066\\u106E-\\u1070\\u1075-\\u1081\\u108E\\u10A0-\\u10C5\\u10C7\\u10CD\\u10D0-\\u10FA\\u10FC-\\u1248\\u124A-\\u124D\\u1250-\\u1256\\u1258\\u125A-\\u125D\\u1260-\\u1288\\u128A-\\u128D\\u1290-\\u12B0\\u12B2-\\u12B5\\u12B8-\\u12BE\\u12C0\\u12C2-\\u12C5\\u12C8-\\u12D6\\u12D8-\\u1310\\u1312-\\u1315\\u1318-\\u135A\\u1380-\\u138F\\u13A0-\\u13F5\\u13F8-\\u13FD\\u1401-\\u166C\\u166F-\\u167F\\u1681-\\u169A\\u16A0-\\u16EA\\u16F1-\\u16F8\\u1700-\\u1711\\u171F-\\u1731\\u1740-\\u1751\\u1760-\\u176C\\u176E-\\u1770\\u1780-\\u17B3\\u17D7\\u17DC\\u1820-\\u1878\\u1880-\\u1884\\u1887-\\u18A8\\u18AA\\u18B0-\\u18F5\\u1900-\\u191E\\u1950-\\u196D\\u1970-\\u1974\\u1980-\\u19AB\\u19B0-\\u19C9\\u1A00-\\u1A16\\u1A20-\\u1A54\\u1AA7\\u1B05-\\u1B33\\u1B45-\\u1B4C\\u1B83-\\u1BA0\\u1BAE\\u1BAF\\u1BBA-\\u1BE5\\u1C00-\\u1C23\\u1C4D-\\u1C4F\\u1C5A-\\u1C7D\\u1C80-\\u1C88\\u1C90-\\u1CBA\\u1CBD-\\u1CBF\\u1CE9-\\u1CEC\\u1CEE-\\u1CF3\\u1CF5\\u1CF6\\u1CFA\\u1D00-\\u1DBF\\u1E00-\\u1F15\\u1F18-\\u1F1D\\u1F20-\\u1F45\\u1F48-\\u1F4D\\u1F50-\\u1F57\\u1F59\\u1F5B\\u1F5D\\u1F5F-\\u1F7D\\u1F80-\\u1FB4\\u1FB6-\\u1FBC\\u1FBE\\u1FC2-\\u1FC4\\u1FC6-\\u1FCC\\u1FD0-\\u1FD3\\u1FD6-\\u1FDB\\u1FE0-\\u1FEC\\u1FF2-\\u1FF4\\u1FF6-\\u1FFC\\u2071\\u207F\\u2090-\\u209C\\u2102\\u2107\\u210A-\\u2113\\u2115\\u2119-\\u211D\\u2124\\u2126\\u2128\\u212A-\\u212D\\u212F-\\u2139\\u213C-\\u213F\\u2145-\\u2149\\u214E\\u2183\\u2184\\u2C00-\\u2CE4\\u2CEB-\\u2CEE\\u2CF2\\u2CF3\\u2D00-\\u2D25\\u2D27\\u2D2D\\u2D30-\\u2D67\\u2D6F\\u2D80-\\u2D96\\u2DA0-\\u2DA6\\u2DA8-\\u2DAE\\u2DB0-\\u2DB6\\u2DB8-\\u2DBE\\u2DC0-\\u2DC6\\u2DC8-\\u2DCE\\u2DD0-\\u2DD6\\u2DD8-\\u2DDE\\u2E2F\\u3005\\u3006\\u3031-\\u3035\\u303B\\u303C\\u3041-\\u3096\\u309D-\\u309F\\u30A1-\\u30FA\\u30FC-\\u30FF\\u3105-\\u312F\\u3131-\\u318E\\u31A0-\\u31BF\\u31F0-\\u31FF\\u3400-\\u4DBF\\u4E00-\\uA48C\\uA4D0-\\uA4FD\\uA500-\\uA60C\\uA610-\\uA61F\\uA62A\\uA62B\\uA640-\\uA66E\\uA67F-\\uA69D\\uA6A0-\\uA6E5\\uA717-\\uA71F\\uA722-\\uA788\\uA78B-\\uA7CA\\uA7D0\\uA7D1\\uA7D3\\uA7D5-\\uA7D9\\uA7F2-\\uA801\\uA803-\\uA805\\uA807-\\uA80A\\uA80C-\\uA822\\uA840-\\uA873\\uA882-\\uA8B3\\uA8F2-\\uA8F7\\uA8FB\\uA8FD\\uA8FE\\uA90A-\\uA925\\uA930-\\uA946\\uA960-\\uA97C\\uA984-\\uA9B2\\uA9CF\\uA9E0-\\uA9E4\\uA9E6-\\uA9EF\\uA9FA-\\uA9FE\\uAA00-\\uAA28\\uAA40-\\uAA42\\uAA44-\\uAA4B\\uAA60-\\uAA76\\uAA7A\\uAA7E-\\uAAAF\\uAAB1\\uAAB5\\uAAB6\\uAAB9-\\uAABD\\uAAC0\\uAAC2\\uAADB-\\uAADD\\uAAE0-\\uAAEA\\uAAF2-\\uAAF4\\uAB01-\\uAB06\\uAB09-\\uAB0E\\uAB11-\\uAB16\\uAB20-\\uAB26\\uAB28-\\uAB2E\\uAB30-\\uAB5A\\uAB5C-\\uAB69\\uAB70-\\uABE2\\uAC00-\\uD7A3\\uD7B0-\\uD7C6\\uD7CB-\\uD7FB\\uF900-\\uFA6D\\uFA70-\\uFAD9\\uFB00-\\uFB06\\uFB13-\\uFB17\\uFB1D\\uFB1F-\\uFB28\\uFB2A-\\uFB36\\uFB38-\\uFB3C\\uFB3E\\uFB40\\uFB41\\uFB43\\uFB44\\uFB46-\\uFBB1\\uFBD3-\\uFD3D\\uFD50-\\uFD8F\\uFD92-\\uFDC7\\uFDF0-\\uFDFB\\uFE70-\\uFE74\\uFE76-\\uFEFC\\uFF21-\\uFF3A\\uFF41-\\uFF5A\\uFF66-\\uFFBE\\uFFC2-\\uFFC7\\uFFCA-\\uFFCF\\uFFD2-\\uFFD7\\uFFDA-\\uFFDC]|\\uD800[\\uDC00-\\uDC0B\\uDC0D-\\uDC26\\uDC28-\\uDC3A\\uDC3C\\uDC3D\\uDC3F-\\uDC4D\\uDC50-\\uDC5D\\uDC80-\\uDCFA\\uDE80-\\uDE9C\\uDEA0-\\uDED0\\uDF00-\\uDF1F\\uDF2D-\\uDF40\\uDF42-\\uDF49\\uDF50-\\uDF75\\uDF80-\\uDF9D\\uDFA0-\\uDFC3\\uDFC8-\\uDFCF]|\\uD801[\\uDC00-\\uDC9D\\uDCB0-\\uDCD3\\uDCD8-\\uDCFB\\uDD00-\\uDD27\\uDD30-\\uDD63\\uDD70-\\uDD7A\\uDD7C-\\uDD8A\\uDD8C-\\uDD92\\uDD94\\uDD95\\uDD97-\\uDDA1\\uDDA3-\\uDDB1\\uDDB3-\\uDDB9\\uDDBB\\uDDBC\\uDE00-\\uDF36\\uDF40-\\uDF55\\uDF60-\\uDF67\\uDF80-\\uDF85\\uDF87-\\uDFB0\\uDFB2-\\uDFBA]|\\uD802[\\uDC00-\\uDC05\\uDC08\\uDC0A-\\uDC35\\uDC37\\uDC38\\uDC3C\\uDC3F-\\uDC55\\uDC60-\\uDC76\\uDC80-\\uDC9E\\uDCE0-\\uDCF2\\uDCF4\\uDCF5\\uDD00-\\uDD15\\uDD20-\\uDD39\\uDD80-\\uDDB7\\uDDBE\\uDDBF\\uDE00\\uDE10-\\uDE13\\uDE15-\\uDE17\\uDE19-\\uDE35\\uDE60-\\uDE7C\\uDE80-\\uDE9C\\uDEC0-\\uDEC7\\uDEC9-\\uDEE4\\uDF00-\\uDF35\\uDF40-\\uDF55\\uDF60-\\uDF72\\uDF80-\\uDF91]|\\uD803[\\uDC00-\\uDC48\\uDC80-\\uDCB2\\uDCC0-\\uDCF2\\uDD00-\\uDD23\\uDE80-\\uDEA9\\uDEB0\\uDEB1\\uDF00-\\uDF1C\\uDF27\\uDF30-\\uDF45\\uDF70-\\uDF81\\uDFB0-\\uDFC4\\uDFE0-\\uDFF6]|\\uD804[\\uDC03-\\uDC37\\uDC71\\uDC72\\uDC75\\uDC83-\\uDCAF\\uDCD0-\\uDCE8\\uDD03-\\uDD26\\uDD44\\uDD47\\uDD50-\\uDD72\\uDD76\\uDD83-\\uDDB2\\uDDC1-\\uDDC4\\uDDDA\\uDDDC\\uDE00-\\uDE11\\uDE13-\\uDE2B\\uDE80-\\uDE86\\uDE88\\uDE8A-\\uDE8D\\uDE8F-\\uDE9D\\uDE9F-\\uDEA8\\uDEB0-\\uDEDE\\uDF05-\\uDF0C\\uDF0F\\uDF10\\uDF13-\\uDF28\\uDF2A-\\uDF30\\uDF32\\uDF33\\uDF35-\\uDF39\\uDF3D\\uDF50\\uDF5D-\\uDF61]|\\uD805[\\uDC00-\\uDC34\\uDC47-\\uDC4A\\uDC5F-\\uDC61\\uDC80-\\uDCAF\\uDCC4\\uDCC5\\uDCC7\\uDD80-\\uDDAE\\uDDD8-\\uDDDB\\uDE00-\\uDE2F\\uDE44\\uDE80-\\uDEAA\\uDEB8\\uDF00-\\uDF1A\\uDF40-\\uDF46]|\\uD806[\\uDC00-\\uDC2B\\uDCA0-\\uDCDF\\uDCFF-\\uDD06\\uDD09\\uDD0C-\\uDD13\\uDD15\\uDD16\\uDD18-\\uDD2F\\uDD3F\\uDD41\\uDDA0-\\uDDA7\\uDDAA-\\uDDD0\\uDDE1\\uDDE3\\uDE00\\uDE0B-\\uDE32\\uDE3A\\uDE50\\uDE5C-\\uDE89\\uDE9D\\uDEB0-\\uDEF8]|\\uD807[\\uDC00-\\uDC08\\uDC0A-\\uDC2E\\uDC40\\uDC72-\\uDC8F\\uDD00-\\uDD06\\uDD08\\uDD09\\uDD0B-\\uDD30\\uDD46\\uDD60-\\uDD65\\uDD67\\uDD68\\uDD6A-\\uDD89\\uDD98\\uDEE0-\\uDEF2\\uDFB0]|\\uD808[\\uDC00-\\uDF99]|\\uD809[\\uDC80-\\uDD43]|\\uD80B[\\uDF90-\\uDFF0]|[\\uD80C\\uD81C-\\uD820\\uD822\\uD840-\\uD868\\uD86A-\\uD86C\\uD86F-\\uD872\\uD874-\\uD879\\uD880-\\uD883][\\uDC00-\\uDFFF]|\\uD80D[\\uDC00-\\uDC2E]|\\uD811[\\uDC00-\\uDE46]|\\uD81A[\\uDC00-\\uDE38\\uDE40-\\uDE5E\\uDE70-\\uDEBE\\uDED0-\\uDEED\\uDF00-\\uDF2F\\uDF40-\\uDF43\\uDF63-\\uDF77\\uDF7D-\\uDF8F]|\\uD81B[\\uDE40-\\uDE7F\\uDF00-\\uDF4A\\uDF50\\uDF93-\\uDF9F\\uDFE0\\uDFE1\\uDFE3]|\\uD821[\\uDC00-\\uDFF7]|\\uD823[\\uDC00-\\uDCD5\\uDD00-\\uDD08]|\\uD82B[\\uDFF0-\\uDFF3\\uDFF5-\\uDFFB\\uDFFD\\uDFFE]|\\uD82C[\\uDC00-\\uDD22\\uDD50-\\uDD52\\uDD64-\\uDD67\\uDD70-\\uDEFB]|\\uD82F[\\uDC00-\\uDC6A\\uDC70-\\uDC7C\\uDC80-\\uDC88\\uDC90-\\uDC99]|\\uD835[\\uDC00-\\uDC54\\uDC56-\\uDC9C\\uDC9E\\uDC9F\\uDCA2\\uDCA5\\uDCA6\\uDCA9-\\uDCAC\\uDCAE-\\uDCB9\\uDCBB\\uDCBD-\\uDCC3\\uDCC5-\\uDD05\\uDD07-\\uDD0A\\uDD0D-\\uDD14\\uDD16-\\uDD1C\\uDD1E-\\uDD39\\uDD3B-\\uDD3E\\uDD40-\\uDD44\\uDD46\\uDD4A-\\uDD50\\uDD52-\\uDEA5\\uDEA8-\\uDEC0\\uDEC2-\\uDEDA\\uDEDC-\\uDEFA\\uDEFC-\\uDF14\\uDF16-\\uDF34\\uDF36-\\uDF4E\\uDF50-\\uDF6E\\uDF70-\\uDF88\\uDF8A-\\uDFA8\\uDFAA-\\uDFC2\\uDFC4-\\uDFCB]|\\uD837[\\uDF00-\\uDF1E]|\\uD838[\\uDD00-\\uDD2C\\uDD37-\\uDD3D\\uDD4E\\uDE90-\\uDEAD\\uDEC0-\\uDEEB]|\\uD839[\\uDFE0-\\uDFE6\\uDFE8-\\uDFEB\\uDFED\\uDFEE\\uDFF0-\\uDFFE]|\\uD83A[\\uDC00-\\uDCC4\\uDD00-\\uDD43\\uDD4B]|\\uD83B[\\uDE00-\\uDE03\\uDE05-\\uDE1F\\uDE21\\uDE22\\uDE24\\uDE27\\uDE29-\\uDE32\\uDE34-\\uDE37\\uDE39\\uDE3B\\uDE42\\uDE47\\uDE49\\uDE4B\\uDE4D-\\uDE4F\\uDE51\\uDE52\\uDE54\\uDE57\\uDE59\\uDE5B\\uDE5D\\uDE5F\\uDE61\\uDE62\\uDE64\\uDE67-\\uDE6A\\uDE6C-\\uDE72\\uDE74-\\uDE77\\uDE79-\\uDE7C\\uDE7E\\uDE80-\\uDE89\\uDE8B-\\uDE9B\\uDEA1-\\uDEA3\\uDEA5-\\uDEA9\\uDEAB-\\uDEBB]|\\uD869[\\uDC00-\\uDEDF\\uDF00-\\uDFFF]|\\uD86D[\\uDC00-\\uDF38\\uDF40-\\uDFFF]|\\uD86E[\\uDC00-\\uDC1D\\uDC20-\\uDFFF]|\\uD873[\\uDC00-\\uDEA1\\uDEB0-\\uDFFF]|\\uD87A[\\uDC00-\\uDFE0]|\\uD87E[\\uDC00-\\uDE1D]|\\uD884[\\uDC00-\\uDF4A])\\S*/g;\n/**\n * Transforms text to title case.\n * Capitalizes the first letter of each word and transforms the\n * rest of the word to lower case.\n * Words are delimited by any whitespace character, such as a space, tab, or line-feed character.\n *\n * @see `LowerCasePipe`\n * @see `UpperCasePipe`\n *\n * @usageNotes\n * The following example shows the result of transforming various strings into title case.\n *\n * \n *\n * @ngModule CommonModule\n * @publicApi\n */\nclass TitleCasePipe {\n transform(value) {\n if (value == null)\n return null;\n if (typeof value !== 'string') {\n throw invalidPipeArgumentError(TitleCasePipe, value);\n }\n return value.replace(unicodeWordMatch, (txt => txt[0].toUpperCase() + txt.substr(1).toLowerCase()));\n }\n}\nTitleCasePipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"13.3.12\", ngImport: i0, type: TitleCasePipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });\nTitleCasePipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: \"12.0.0\", version: \"13.3.12\", ngImport: i0, type: TitleCasePipe, name: \"titlecase\" });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"13.3.12\", ngImport: i0, type: TitleCasePipe, decorators: [{\n type: Pipe,\n args: [{ name: 'titlecase' }]\n }] });\n/**\n * Transforms text to all upper case.\n * @see `LowerCasePipe`\n * @see `TitleCasePipe`\n *\n * @ngModule CommonModule\n * @publicApi\n */\nclass UpperCasePipe {\n transform(value) {\n if (value == null)\n return null;\n if (typeof value !== 'string') {\n throw invalidPipeArgumentError(UpperCasePipe, value);\n }\n return value.toUpperCase();\n }\n}\nUpperCasePipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"13.3.12\", ngImport: i0, type: UpperCasePipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });\nUpperCasePipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: \"12.0.0\", version: \"13.3.12\", ngImport: i0, type: UpperCasePipe, name: \"uppercase\" });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"13.3.12\", ngImport: i0, type: UpperCasePipe, decorators: [{\n type: Pipe,\n args: [{ name: 'uppercase' }]\n }] });\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * Optionally-provided default timezone to use for all instances of `DatePipe` (such as `'+0430'`).\n * If the value isn't provided, the `DatePipe` will use the end-user's local system timezone.\n */\nconst DATE_PIPE_DEFAULT_TIMEZONE = new InjectionToken('DATE_PIPE_DEFAULT_TIMEZONE');\n// clang-format off\n/**\n * @ngModule CommonModule\n * @description\n *\n * Formats a date value according to locale rules.\n *\n * `DatePipe` is executed only when it detects a pure change to the input value.\n * A pure change is either a change to a primitive input value\n * (such as `String`, `Number`, `Boolean`, or `Symbol`),\n * or a changed object reference (such as `Date`, `Array`, `Function`, or `Object`).\n *\n * Note that mutating a `Date` object does not cause the pipe to be rendered again.\n * To ensure that the pipe is executed, you must create a new `Date` object.\n *\n * Only the `en-US` locale data comes with Angular. To localize dates\n * in another language, you must import the corresponding locale data.\n * See the [I18n guide](guide/i18n-common-format-data-locale) for more information.\n *\n * The time zone of the formatted value can be specified either by passing it in as the second\n * parameter of the pipe, or by setting the default through the `DATE_PIPE_DEFAULT_TIMEZONE`\n * injection token. The value that is passed in as the second parameter takes precedence over\n * the one defined using the injection token.\n *\n * @see `formatDate()`\n *\n *\n * @usageNotes\n *\n * The result of this pipe is not reevaluated when the input is mutated. To avoid the need to\n * reformat the date on every change-detection cycle, treat the date as an immutable object\n * and change the reference when the pipe needs to run again.\n *\n * ### Pre-defined format options\n *\n * | Option | Equivalent to | Examples (given in `en-US` locale) |\n * |---------------|-------------------------------------|-------------------------------------------------|\n * | `'short'` | `'M/d/yy, h:mm a'` | `6/15/15, 9:03 AM` |\n * | `'medium'` | `'MMM d, y, h:mm:ss a'` | `Jun 15, 2015, 9:03:01 AM` |\n * | `'long'` | `'MMMM d, y, h:mm:ss a z'` | `June 15, 2015 at 9:03:01 AM GMT+1` |\n * | `'full'` | `'EEEE, MMMM d, y, h:mm:ss a zzzz'` | `Monday, June 15, 2015 at 9:03:01 AM GMT+01:00` |\n * | `'shortDate'` | `'M/d/yy'` | `6/15/15` |\n * | `'mediumDate'`| `'MMM d, y'` | `Jun 15, 2015` |\n * | `'longDate'` | `'MMMM d, y'` | `June 15, 2015` |\n * | `'fullDate'` | `'EEEE, MMMM d, y'` | `Monday, June 15, 2015` |\n * | `'shortTime'` | `'h:mm a'` | `9:03 AM` |\n * | `'mediumTime'`| `'h:mm:ss a'` | `9:03:01 AM` |\n * | `'longTime'` | `'h:mm:ss a z'` | `9:03:01 AM GMT+1` |\n * | `'fullTime'` | `'h:mm:ss a zzzz'` | `9:03:01 AM GMT+01:00` |\n *\n * ### Custom format options\n *\n * You can construct a format string using symbols to specify the components\n * of a date-time value, as described in the following table.\n * Format details depend on the locale.\n * Fields marked with (*) are only available in the extra data set for the given locale.\n *\n * | Field type | Format | Description | Example Value |\n * |-------------------- |-------------|---------------------------------------------------------------|------------------------------------------------------------|\n * | Era | G, GG & GGG | Abbreviated | AD |\n * | | GGGG | Wide | Anno Domini |\n * | | GGGGG | Narrow | A |\n * | Year | y | Numeric: minimum digits | 2, 20, 201, 2017, 20173 |\n * | | yy | Numeric: 2 digits + zero padded | 02, 20, 01, 17, 73 |\n * | | yyy | Numeric: 3 digits + zero padded | 002, 020, 201, 2017, 20173 |\n * | | yyyy | Numeric: 4 digits or more + zero padded | 0002, 0020, 0201, 2017, 20173 |\n * | Week-numbering year | Y | Numeric: minimum digits | 2, 20, 201, 2017, 20173 |\n * | | YY | Numeric: 2 digits + zero padded | 02, 20, 01, 17, 73 |\n * | | YYY | Numeric: 3 digits + zero padded | 002, 020, 201, 2017, 20173 |\n * | | YYYY | Numeric: 4 digits or more + zero padded | 0002, 0020, 0201, 2017, 20173 |\n * | Month | M | Numeric: 1 digit | 9, 12 |\n * | | MM | Numeric: 2 digits + zero padded | 09, 12 |\n * | | MMM | Abbreviated | Sep |\n * | | MMMM | Wide | September |\n * | | MMMMM | Narrow | S |\n * | Month standalone | L | Numeric: 1 digit | 9, 12 |\n * | | LL | Numeric: 2 digits + zero padded | 09, 12 |\n * | | LLL | Abbreviated | Sep |\n * | | LLLL | Wide | September |\n * | | LLLLL | Narrow | S |\n * | Week of year | w | Numeric: minimum digits | 1... 53 |\n * | | ww | Numeric: 2 digits + zero padded | 01... 53 |\n * | Week of month | W | Numeric: 1 digit | 1... 5 |\n * | Day of month | d | Numeric: minimum digits | 1 |\n * | | dd | Numeric: 2 digits + zero padded | 01 |\n * | Week day | E, EE & EEE | Abbreviated | Tue |\n * | | EEEE | Wide | Tuesday |\n * | | EEEEE | Narrow | T |\n * | | EEEEEE | Short | Tu |\n * | Week day standalone | c, cc | Numeric: 1 digit | 2 |\n * | | ccc | Abbreviated | Tue |\n * | | cccc | Wide | Tuesday |\n * | | ccccc | Narrow | T |\n * | | cccccc | Short | Tu |\n * | Period | a, aa & aaa | Abbreviated | am/pm or AM/PM |\n * | | aaaa | Wide (fallback to `a` when missing) | ante meridiem/post meridiem |\n * | | aaaaa | Narrow | a/p |\n * | Period* | B, BB & BBB | Abbreviated | mid. |\n * | | BBBB | Wide | am, pm, midnight, noon, morning, afternoon, evening, night |\n * | | BBBBB | Narrow | md |\n * | Period standalone* | b, bb & bbb | Abbreviated | mid. |\n * | | bbbb | Wide | am, pm, midnight, noon, morning, afternoon, evening, night |\n * | | bbbbb | Narrow | md |\n * | Hour 1-12 | h | Numeric: minimum digits | 1, 12 |\n * | | hh | Numeric: 2 digits + zero padded | 01, 12 |\n * | Hour 0-23 | H | Numeric: minimum digits | 0, 23 |\n * | | HH | Numeric: 2 digits + zero padded | 00, 23 |\n * | Minute | m | Numeric: minimum digits | 8, 59 |\n * | | mm | Numeric: 2 digits + zero padded | 08, 59 |\n * | Second | s | Numeric: minimum digits | 0... 59 |\n * | | ss | Numeric: 2 digits + zero padded | 00... 59 |\n * | Fractional seconds | S | Numeric: 1 digit | 0... 9 |\n * | | SS | Numeric: 2 digits + zero padded | 00... 99 |\n * | | SSS | Numeric: 3 digits + zero padded (= milliseconds) | 000... 999 |\n * | Zone | z, zz & zzz | Short specific non location format (fallback to O) | GMT-8 |\n * | | zzzz | Long specific non location format (fallback to OOOO) | GMT-08:00 |\n * | | Z, ZZ & ZZZ | ISO8601 basic format | -0800 |\n * | | ZZZZ | Long localized GMT format | GMT-8:00 |\n * | | ZZZZZ | ISO8601 extended format + Z indicator for offset 0 (= XXXXX) | -08:00 |\n * | | O, OO & OOO | Short localized GMT format | GMT-8 |\n * | | OOOO | Long localized GMT format | GMT-08:00 |\n *\n *\n * ### Format examples\n *\n * These examples transform a date into various formats,\n * assuming that `dateObj` is a JavaScript `Date` object for\n * year: 2015, month: 6, day: 15, hour: 21, minute: 43, second: 11,\n * given in the local time for the `en-US` locale.\n *\n * ```\n * {{ dateObj | date }} // output is 'Jun 15, 2015'\n * {{ dateObj | date:'medium' }} // output is 'Jun 15, 2015, 9:43:11 PM'\n * {{ dateObj | date:'shortTime' }} // output is '9:43 PM'\n * {{ dateObj | date:'mm:ss' }} // output is '43:11'\n * ```\n *\n * ### Usage example\n *\n * The following component uses a date pipe to display the current date in different formats.\n *\n * ```\n * @Component({\n * selector: 'date-pipe',\n * template: `
    \n *

    Today is {{today | date}}

    \n *

    Or if you prefer, {{today | date:'fullDate'}}

    \n *

    The time is {{today | date:'h:mm a z'}}

    \n *
    `\n * })\n * // Get the current date and time as a date-time value.\n * export class DatePipeComponent {\n * today: number = Date.now();\n * }\n * ```\n *\n * @publicApi\n */\n// clang-format on\nclass DatePipe {\n constructor(locale, defaultTimezone) {\n this.locale = locale;\n this.defaultTimezone = defaultTimezone;\n }\n transform(value, format = 'mediumDate', timezone, locale) {\n if (value == null || value === '' || value !== value)\n return null;\n try {\n return formatDate(value, format, locale || this.locale, timezone ?? this.defaultTimezone ?? undefined);\n }\n catch (error) {\n throw invalidPipeArgumentError(DatePipe, error.message);\n }\n }\n}\nDatePipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"13.3.12\", ngImport: i0, type: DatePipe, deps: [{ token: LOCALE_ID }, { token: DATE_PIPE_DEFAULT_TIMEZONE, optional: true }], target: i0.ɵɵFactoryTarget.Pipe });\nDatePipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: \"12.0.0\", version: \"13.3.12\", ngImport: i0, type: DatePipe, name: \"date\" });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"13.3.12\", ngImport: i0, type: DatePipe, decorators: [{\n type: Pipe,\n args: [{ name: 'date', pure: true }]\n }], ctorParameters: function () { return [{ type: undefined, decorators: [{\n type: Inject,\n args: [LOCALE_ID]\n }] }, { type: undefined, decorators: [{\n type: Inject,\n args: [DATE_PIPE_DEFAULT_TIMEZONE]\n }, {\n type: Optional\n }] }]; } });\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nconst _INTERPOLATION_REGEXP = /#/g;\n/**\n * @ngModule CommonModule\n * @description\n *\n * Maps a value to a string that pluralizes the value according to locale rules.\n *\n * @usageNotes\n *\n * ### Example\n *\n * {@example common/pipes/ts/i18n_pipe.ts region='I18nPluralPipeComponent'}\n *\n * @publicApi\n */\nclass I18nPluralPipe {\n constructor(_localization) {\n this._localization = _localization;\n }\n /**\n * @param value the number to be formatted\n * @param pluralMap an object that mimics the ICU format, see\n * http://userguide.icu-project.org/formatparse/messages.\n * @param locale a `string` defining the locale to use (uses the current {@link LOCALE_ID} by\n * default).\n */\n transform(value, pluralMap, locale) {\n if (value == null)\n return '';\n if (typeof pluralMap !== 'object' || pluralMap === null) {\n throw invalidPipeArgumentError(I18nPluralPipe, pluralMap);\n }\n const key = getPluralCategory(value, Object.keys(pluralMap), this._localization, locale);\n return pluralMap[key].replace(_INTERPOLATION_REGEXP, value.toString());\n }\n}\nI18nPluralPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"13.3.12\", ngImport: i0, type: I18nPluralPipe, deps: [{ token: NgLocalization }], target: i0.ɵɵFactoryTarget.Pipe });\nI18nPluralPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: \"12.0.0\", version: \"13.3.12\", ngImport: i0, type: I18nPluralPipe, name: \"i18nPlural\" });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"13.3.12\", ngImport: i0, type: I18nPluralPipe, decorators: [{\n type: Pipe,\n args: [{ name: 'i18nPlural', pure: true }]\n }], ctorParameters: function () { return [{ type: NgLocalization }]; } });\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * @ngModule CommonModule\n * @description\n *\n * Generic selector that displays the string that matches the current value.\n *\n * If none of the keys of the `mapping` match the `value`, then the content\n * of the `other` key is returned when present, otherwise an empty string is returned.\n *\n * @usageNotes\n *\n * ### Example\n *\n * {@example common/pipes/ts/i18n_pipe.ts region='I18nSelectPipeComponent'}\n *\n * @publicApi\n */\nclass I18nSelectPipe {\n /**\n * @param value a string to be internationalized.\n * @param mapping an object that indicates the text that should be displayed\n * for different values of the provided `value`.\n */\n transform(value, mapping) {\n if (value == null)\n return '';\n if (typeof mapping !== 'object' || typeof value !== 'string') {\n throw invalidPipeArgumentError(I18nSelectPipe, mapping);\n }\n if (mapping.hasOwnProperty(value)) {\n return mapping[value];\n }\n if (mapping.hasOwnProperty('other')) {\n return mapping['other'];\n }\n return '';\n }\n}\nI18nSelectPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"13.3.12\", ngImport: i0, type: I18nSelectPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });\nI18nSelectPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: \"12.0.0\", version: \"13.3.12\", ngImport: i0, type: I18nSelectPipe, name: \"i18nSelect\" });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"13.3.12\", ngImport: i0, type: I18nSelectPipe, decorators: [{\n type: Pipe,\n args: [{ name: 'i18nSelect', pure: true }]\n }] });\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * @ngModule CommonModule\n * @description\n *\n * Converts a value into its JSON-format representation. Useful for debugging.\n *\n * @usageNotes\n *\n * The following component uses a JSON pipe to convert an object\n * to JSON format, and displays the string in both formats for comparison.\n *\n * {@example common/pipes/ts/json_pipe.ts region='JsonPipe'}\n *\n * @publicApi\n */\nclass JsonPipe {\n /**\n * @param value A value of any type to convert into a JSON-format string.\n */\n transform(value) {\n return JSON.stringify(value, null, 2);\n }\n}\nJsonPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"13.3.12\", ngImport: i0, type: JsonPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });\nJsonPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: \"12.0.0\", version: \"13.3.12\", ngImport: i0, type: JsonPipe, name: \"json\", pure: false });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"13.3.12\", ngImport: i0, type: JsonPipe, decorators: [{\n type: Pipe,\n args: [{ name: 'json', pure: false }]\n }] });\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nfunction makeKeyValuePair(key, value) {\n return { key: key, value: value };\n}\n/**\n * @ngModule CommonModule\n * @description\n *\n * Transforms Object or Map into an array of key value pairs.\n *\n * The output array will be ordered by keys.\n * By default the comparator will be by Unicode point value.\n * You can optionally pass a compareFn if your keys are complex types.\n *\n * @usageNotes\n * ### Examples\n *\n * This examples show how an Object or a Map can be iterated by ngFor with the use of this\n * keyvalue pipe.\n *\n * {@example common/pipes/ts/keyvalue_pipe.ts region='KeyValuePipe'}\n *\n * @publicApi\n */\nclass KeyValuePipe {\n constructor(differs) {\n this.differs = differs;\n this.keyValues = [];\n this.compareFn = defaultComparator;\n }\n transform(input, compareFn = defaultComparator) {\n if (!input || (!(input instanceof Map) && typeof input !== 'object')) {\n return null;\n }\n if (!this.differ) {\n // make a differ for whatever type we've been passed in\n this.differ = this.differs.find(input).create();\n }\n const differChanges = this.differ.diff(input);\n const compareFnChanged = compareFn !== this.compareFn;\n if (differChanges) {\n this.keyValues = [];\n differChanges.forEachItem((r) => {\n this.keyValues.push(makeKeyValuePair(r.key, r.currentValue));\n });\n }\n if (differChanges || compareFnChanged) {\n this.keyValues.sort(compareFn);\n this.compareFn = compareFn;\n }\n return this.keyValues;\n }\n}\nKeyValuePipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"13.3.12\", ngImport: i0, type: KeyValuePipe, deps: [{ token: i0.KeyValueDiffers }], target: i0.ɵɵFactoryTarget.Pipe });\nKeyValuePipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: \"12.0.0\", version: \"13.3.12\", ngImport: i0, type: KeyValuePipe, name: \"keyvalue\", pure: false });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"13.3.12\", ngImport: i0, type: KeyValuePipe, decorators: [{\n type: Pipe,\n args: [{ name: 'keyvalue', pure: false }]\n }], ctorParameters: function () { return [{ type: i0.KeyValueDiffers }]; } });\nfunction defaultComparator(keyValueA, keyValueB) {\n const a = keyValueA.key;\n const b = keyValueB.key;\n // if same exit with 0;\n if (a === b)\n return 0;\n // make sure that undefined are at the end of the sort.\n if (a === undefined)\n return 1;\n if (b === undefined)\n return -1;\n // make sure that nulls are at the end of the sort.\n if (a === null)\n return 1;\n if (b === null)\n return -1;\n if (typeof a == 'string' && typeof b == 'string') {\n return a < b ? -1 : 1;\n }\n if (typeof a == 'number' && typeof b == 'number') {\n return a - b;\n }\n if (typeof a == 'boolean' && typeof b == 'boolean') {\n return a < b ? -1 : 1;\n }\n // `a` and `b` are of different types. Compare their string values.\n const aString = String(a);\n const bString = String(b);\n return aString == bString ? 0 : aString < bString ? -1 : 1;\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * @ngModule CommonModule\n * @description\n *\n * Formats a value according to digit options and locale rules.\n * Locale determines group sizing and separator,\n * decimal point character, and other locale-specific configurations.\n *\n * @see `formatNumber()`\n *\n * @usageNotes\n *\n * ### digitsInfo\n *\n * The value's decimal representation is specified by the `digitsInfo`\n * parameter, written in the following format:
    \n *\n * ```\n * {minIntegerDigits}.{minFractionDigits}-{maxFractionDigits}\n * ```\n *\n * - `minIntegerDigits`:\n * The minimum number of integer digits before the decimal point.\n * Default is 1.\n *\n * - `minFractionDigits`:\n * The minimum number of digits after the decimal point.\n * Default is 0.\n *\n * - `maxFractionDigits`:\n * The maximum number of digits after the decimal point.\n * Default is 3.\n *\n * If the formatted value is truncated it will be rounded using the \"to-nearest\" method:\n *\n * ```\n * {{3.6 | number: '1.0-0'}}\n * \n *\n * {{-3.6 | number:'1.0-0'}}\n * \n * ```\n *\n * ### locale\n *\n * `locale` will format a value according to locale rules.\n * Locale determines group sizing and separator,\n * decimal point character, and other locale-specific configurations.\n *\n * When not supplied, uses the value of `LOCALE_ID`, which is `en-US` by default.\n *\n * See [Setting your app locale](guide/i18n-common-locale-id).\n *\n * ### Example\n *\n * The following code shows how the pipe transforms values\n * according to various format specifications,\n * where the caller's default locale is `en-US`.\n *\n * \n *\n * @publicApi\n */\nclass DecimalPipe {\n constructor(_locale) {\n this._locale = _locale;\n }\n /**\n * @param value The value to be formatted.\n * @param digitsInfo Sets digit and decimal representation.\n * [See more](#digitsinfo).\n * @param locale Specifies what locale format rules to use.\n * [See more](#locale).\n */\n transform(value, digitsInfo, locale) {\n if (!isValue(value))\n return null;\n locale = locale || this._locale;\n try {\n const num = strToNumber(value);\n return formatNumber(num, locale, digitsInfo);\n }\n catch (error) {\n throw invalidPipeArgumentError(DecimalPipe, error.message);\n }\n }\n}\nDecimalPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"13.3.12\", ngImport: i0, type: DecimalPipe, deps: [{ token: LOCALE_ID }], target: i0.ɵɵFactoryTarget.Pipe });\nDecimalPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: \"12.0.0\", version: \"13.3.12\", ngImport: i0, type: DecimalPipe, name: \"number\" });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"13.3.12\", ngImport: i0, type: DecimalPipe, decorators: [{\n type: Pipe,\n args: [{ name: 'number' }]\n }], ctorParameters: function () { return [{ type: undefined, decorators: [{\n type: Inject,\n args: [LOCALE_ID]\n }] }]; } });\n/**\n * @ngModule CommonModule\n * @description\n *\n * Transforms a number to a percentage\n * string, formatted according to locale rules that determine group sizing and\n * separator, decimal-point character, and other locale-specific\n * configurations.\n *\n * @see `formatPercent()`\n *\n * @usageNotes\n * The following code shows how the pipe transforms numbers\n * into text strings, according to various format specifications,\n * where the caller's default locale is `en-US`.\n *\n * \n *\n * @publicApi\n */\nclass PercentPipe {\n constructor(_locale) {\n this._locale = _locale;\n }\n /**\n *\n * @param value The number to be formatted as a percentage.\n * @param digitsInfo Decimal representation options, specified by a string\n * in the following format:
    \n * {minIntegerDigits}.{minFractionDigits}-{maxFractionDigits}.\n * - `minIntegerDigits`: The minimum number of integer digits before the decimal point.\n * Default is `1`.\n * - `minFractionDigits`: The minimum number of digits after the decimal point.\n * Default is `0`.\n * - `maxFractionDigits`: The maximum number of digits after the decimal point.\n * Default is `0`.\n * @param locale A locale code for the locale format rules to use.\n * When not supplied, uses the value of `LOCALE_ID`, which is `en-US` by default.\n * See [Setting your app locale](guide/i18n-common-locale-id).\n */\n transform(value, digitsInfo, locale) {\n if (!isValue(value))\n return null;\n locale = locale || this._locale;\n try {\n const num = strToNumber(value);\n return formatPercent(num, locale, digitsInfo);\n }\n catch (error) {\n throw invalidPipeArgumentError(PercentPipe, error.message);\n }\n }\n}\nPercentPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"13.3.12\", ngImport: i0, type: PercentPipe, deps: [{ token: LOCALE_ID }], target: i0.ɵɵFactoryTarget.Pipe });\nPercentPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: \"12.0.0\", version: \"13.3.12\", ngImport: i0, type: PercentPipe, name: \"percent\" });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"13.3.12\", ngImport: i0, type: PercentPipe, decorators: [{\n type: Pipe,\n args: [{ name: 'percent' }]\n }], ctorParameters: function () { return [{ type: undefined, decorators: [{\n type: Inject,\n args: [LOCALE_ID]\n }] }]; } });\n/**\n * @ngModule CommonModule\n * @description\n *\n * Transforms a number to a currency string, formatted according to locale rules\n * that determine group sizing and separator, decimal-point character,\n * and other locale-specific configurations.\n *\n * {@a currency-code-deprecation}\n *
    \n *\n * **Deprecation notice:**\n *\n * The default currency code is currently always `USD` but this is deprecated from v9.\n *\n * **In v11 the default currency code will be taken from the current locale identified by\n * the `LOCALE_ID` token. See the [i18n guide](guide/i18n-common-locale-id) for\n * more information.**\n *\n * If you need the previous behavior then set it by creating a `DEFAULT_CURRENCY_CODE` provider in\n * your application `NgModule`:\n *\n * ```ts\n * {provide: DEFAULT_CURRENCY_CODE, useValue: 'USD'}\n * ```\n *\n *
    \n *\n * @see `getCurrencySymbol()`\n * @see `formatCurrency()`\n *\n * @usageNotes\n * The following code shows how the pipe transforms numbers\n * into text strings, according to various format specifications,\n * where the caller's default locale is `en-US`.\n *\n * \n *\n * @publicApi\n */\nclass CurrencyPipe {\n constructor(_locale, _defaultCurrencyCode = 'USD') {\n this._locale = _locale;\n this._defaultCurrencyCode = _defaultCurrencyCode;\n }\n /**\n *\n * @param value The number to be formatted as currency.\n * @param currencyCode The [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217) currency code,\n * such as `USD` for the US dollar and `EUR` for the euro. The default currency code can be\n * configured using the `DEFAULT_CURRENCY_CODE` injection token.\n * @param display The format for the currency indicator. One of the following:\n * - `code`: Show the code (such as `USD`).\n * - `symbol`(default): Show the symbol (such as `$`).\n * - `symbol-narrow`: Use the narrow symbol for locales that have two symbols for their\n * currency.\n * For example, the Canadian dollar CAD has the symbol `CA$` and the symbol-narrow `$`. If the\n * locale has no narrow symbol, uses the standard symbol for the locale.\n * - String: Use the given string value instead of a code or a symbol.\n * For example, an empty string will suppress the currency & symbol.\n * - Boolean (marked deprecated in v5): `true` for symbol and false for `code`.\n *\n * @param digitsInfo Decimal representation options, specified by a string\n * in the following format:
    \n * {minIntegerDigits}.{minFractionDigits}-{maxFractionDigits}.\n * - `minIntegerDigits`: The minimum number of integer digits before the decimal point.\n * Default is `1`.\n * - `minFractionDigits`: The minimum number of digits after the decimal point.\n * Default is `2`.\n * - `maxFractionDigits`: The maximum number of digits after the decimal point.\n * Default is `2`.\n * If not provided, the number will be formatted with the proper amount of digits,\n * depending on what the [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217) specifies.\n * For example, the Canadian dollar has 2 digits, whereas the Chilean peso has none.\n * @param locale A locale code for the locale format rules to use.\n * When not supplied, uses the value of `LOCALE_ID`, which is `en-US` by default.\n * See [Setting your app locale](guide/i18n-common-locale-id).\n */\n transform(value, currencyCode = this._defaultCurrencyCode, display = 'symbol', digitsInfo, locale) {\n if (!isValue(value))\n return null;\n locale = locale || this._locale;\n if (typeof display === 'boolean') {\n if ((typeof ngDevMode === 'undefined' || ngDevMode) && console && console.warn) {\n console.warn(`Warning: the currency pipe has been changed in Angular v5. The symbolDisplay option (third parameter) is now a string instead of a boolean. The accepted values are \"code\", \"symbol\" or \"symbol-narrow\".`);\n }\n display = display ? 'symbol' : 'code';\n }\n let currency = currencyCode || this._defaultCurrencyCode;\n if (display !== 'code') {\n if (display === 'symbol' || display === 'symbol-narrow') {\n currency = getCurrencySymbol(currency, display === 'symbol' ? 'wide' : 'narrow', locale);\n }\n else {\n currency = display;\n }\n }\n try {\n const num = strToNumber(value);\n return formatCurrency(num, locale, currency, currencyCode, digitsInfo);\n }\n catch (error) {\n throw invalidPipeArgumentError(CurrencyPipe, error.message);\n }\n }\n}\nCurrencyPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"13.3.12\", ngImport: i0, type: CurrencyPipe, deps: [{ token: LOCALE_ID }, { token: DEFAULT_CURRENCY_CODE }], target: i0.ɵɵFactoryTarget.Pipe });\nCurrencyPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: \"12.0.0\", version: \"13.3.12\", ngImport: i0, type: CurrencyPipe, name: \"currency\" });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"13.3.12\", ngImport: i0, type: CurrencyPipe, decorators: [{\n type: Pipe,\n args: [{ name: 'currency' }]\n }], ctorParameters: function () { return [{ type: undefined, decorators: [{\n type: Inject,\n args: [LOCALE_ID]\n }] }, { type: undefined, decorators: [{\n type: Inject,\n args: [DEFAULT_CURRENCY_CODE]\n }] }]; } });\nfunction isValue(value) {\n return !(value == null || value === '' || value !== value);\n}\n/**\n * Transforms a string into a number (if needed).\n */\nfunction strToNumber(value) {\n // Convert strings to numbers\n if (typeof value === 'string' && !isNaN(Number(value) - parseFloat(value))) {\n return Number(value);\n }\n if (typeof value !== 'number') {\n throw new Error(`${value} is not a number`);\n }\n return value;\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * @ngModule CommonModule\n * @description\n *\n * Creates a new `Array` or `String` containing a subset (slice) of the elements.\n *\n * @usageNotes\n *\n * All behavior is based on the expected behavior of the JavaScript API `Array.prototype.slice()`\n * and `String.prototype.slice()`.\n *\n * When operating on an `Array`, the returned `Array` is always a copy even when all\n * the elements are being returned.\n *\n * When operating on a blank value, the pipe returns the blank value.\n *\n * ### List Example\n *\n * This `ngFor` example:\n *\n * {@example common/pipes/ts/slice_pipe.ts region='SlicePipe_list'}\n *\n * produces the following:\n *\n * ```html\n *
  • b
  • \n *
  • c
  • \n * ```\n *\n * ### String Examples\n *\n * {@example common/pipes/ts/slice_pipe.ts region='SlicePipe_string'}\n *\n * @publicApi\n */\nclass SlicePipe {\n transform(value, start, end) {\n if (value == null)\n return null;\n if (!this.supports(value)) {\n throw invalidPipeArgumentError(SlicePipe, value);\n }\n return value.slice(start, end);\n }\n supports(obj) {\n return typeof obj === 'string' || Array.isArray(obj);\n }\n}\nSlicePipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"13.3.12\", ngImport: i0, type: SlicePipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });\nSlicePipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: \"12.0.0\", version: \"13.3.12\", ngImport: i0, type: SlicePipe, name: \"slice\", pure: false });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"13.3.12\", ngImport: i0, type: SlicePipe, decorators: [{\n type: Pipe,\n args: [{ name: 'slice', pure: false }]\n }] });\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * A collection of Angular pipes that are likely to be used in each and every application.\n */\nconst COMMON_PIPES = [\n AsyncPipe,\n UpperCasePipe,\n LowerCasePipe,\n JsonPipe,\n SlicePipe,\n DecimalPipe,\n PercentPipe,\n TitleCasePipe,\n CurrencyPipe,\n DatePipe,\n I18nPluralPipe,\n I18nSelectPipe,\n KeyValuePipe,\n];\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n// Note: This does not contain the location providers,\n// as they need some platform specific implementations to work.\n/**\n * Exports all the basic Angular directives and pipes,\n * such as `NgIf`, `NgForOf`, `DecimalPipe`, and so on.\n * Re-exported by `BrowserModule`, which is included automatically in the root\n * `AppModule` when you create a new app with the CLI `new` command.\n *\n * * The `providers` options configure the NgModule's injector to provide\n * localization dependencies to members.\n * * The `exports` options make the declared directives and pipes available for import\n * by other NgModules.\n *\n * @publicApi\n */\nclass CommonModule {\n}\nCommonModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"13.3.12\", ngImport: i0, type: CommonModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });\nCommonModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: \"12.0.0\", version: \"13.3.12\", ngImport: i0, type: CommonModule, declarations: [NgClass, NgComponentOutlet, NgForOf, NgIf, NgTemplateOutlet, NgStyle, NgSwitch, NgSwitchCase, NgSwitchDefault, NgPlural, NgPluralCase, AsyncPipe, UpperCasePipe, LowerCasePipe, JsonPipe, SlicePipe, DecimalPipe, PercentPipe, TitleCasePipe, CurrencyPipe, DatePipe, I18nPluralPipe, I18nSelectPipe, KeyValuePipe], exports: [NgClass, NgComponentOutlet, NgForOf, NgIf, NgTemplateOutlet, NgStyle, NgSwitch, NgSwitchCase, NgSwitchDefault, NgPlural, NgPluralCase, AsyncPipe, UpperCasePipe, LowerCasePipe, JsonPipe, SlicePipe, DecimalPipe, PercentPipe, TitleCasePipe, CurrencyPipe, DatePipe, I18nPluralPipe, I18nSelectPipe, KeyValuePipe] });\nCommonModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: \"12.0.0\", version: \"13.3.12\", ngImport: i0, type: CommonModule });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"13.3.12\", ngImport: i0, type: CommonModule, decorators: [{\n type: NgModule,\n args: [{\n declarations: [COMMON_DIRECTIVES, COMMON_PIPES],\n exports: [COMMON_DIRECTIVES, COMMON_PIPES],\n }]\n }] });\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nconst PLATFORM_BROWSER_ID = 'browser';\nconst PLATFORM_SERVER_ID = 'server';\nconst PLATFORM_WORKER_APP_ID = 'browserWorkerApp';\nconst PLATFORM_WORKER_UI_ID = 'browserWorkerUi';\n/**\n * Returns whether a platform id represents a browser platform.\n * @publicApi\n */\nfunction isPlatformBrowser(platformId) {\n return platformId === PLATFORM_BROWSER_ID;\n}\n/**\n * Returns whether a platform id represents a server platform.\n * @publicApi\n */\nfunction isPlatformServer(platformId) {\n return platformId === PLATFORM_SERVER_ID;\n}\n/**\n * Returns whether a platform id represents a web worker app platform.\n * @publicApi\n */\nfunction isPlatformWorkerApp(platformId) {\n return platformId === PLATFORM_WORKER_APP_ID;\n}\n/**\n * Returns whether a platform id represents a web worker UI platform.\n * @publicApi\n */\nfunction isPlatformWorkerUi(platformId) {\n return platformId === PLATFORM_WORKER_UI_ID;\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * @publicApi\n */\nconst VERSION = new Version('13.3.12');\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * Defines a scroll position manager. Implemented by `BrowserViewportScroller`.\n *\n * @publicApi\n */\nclass ViewportScroller {\n}\n// De-sugared tree-shakable injection\n// See #23917\n/** @nocollapse */\nViewportScroller.ɵprov = ɵɵdefineInjectable({\n token: ViewportScroller,\n providedIn: 'root',\n factory: () => new BrowserViewportScroller(ɵɵinject(DOCUMENT), window)\n});\n/**\n * Manages the scroll position for a browser window.\n */\nclass BrowserViewportScroller {\n constructor(document, window) {\n this.document = document;\n this.window = window;\n this.offset = () => [0, 0];\n }\n /**\n * Configures the top offset used when scrolling to an anchor.\n * @param offset A position in screen coordinates (a tuple with x and y values)\n * or a function that returns the top offset position.\n *\n */\n setOffset(offset) {\n if (Array.isArray(offset)) {\n this.offset = () => offset;\n }\n else {\n this.offset = offset;\n }\n }\n /**\n * Retrieves the current scroll position.\n * @returns The position in screen coordinates.\n */\n getScrollPosition() {\n if (this.supportsScrolling()) {\n return [this.window.pageXOffset, this.window.pageYOffset];\n }\n else {\n return [0, 0];\n }\n }\n /**\n * Sets the scroll position.\n * @param position The new position in screen coordinates.\n */\n scrollToPosition(position) {\n if (this.supportsScrolling()) {\n this.window.scrollTo(position[0], position[1]);\n }\n }\n /**\n * Scrolls to an element and attempts to focus the element.\n *\n * Note that the function name here is misleading in that the target string may be an ID for a\n * non-anchor element.\n *\n * @param target The ID of an element or name of the anchor.\n *\n * @see https://html.spec.whatwg.org/#the-indicated-part-of-the-document\n * @see https://html.spec.whatwg.org/#scroll-to-fragid\n */\n scrollToAnchor(target) {\n if (!this.supportsScrolling()) {\n return;\n }\n const elSelected = findAnchorFromDocument(this.document, target);\n if (elSelected) {\n this.scrollToElement(elSelected);\n // After scrolling to the element, the spec dictates that we follow the focus steps for the\n // target. Rather than following the robust steps, simply attempt focus.\n //\n // @see https://html.spec.whatwg.org/#get-the-focusable-area\n // @see https://developer.mozilla.org/en-US/docs/Web/API/HTMLOrForeignElement/focus\n // @see https://html.spec.whatwg.org/#focusable-area\n elSelected.focus();\n }\n }\n /**\n * Disables automatic scroll restoration provided by the browser.\n */\n setHistoryScrollRestoration(scrollRestoration) {\n if (this.supportScrollRestoration()) {\n const history = this.window.history;\n if (history && history.scrollRestoration) {\n history.scrollRestoration = scrollRestoration;\n }\n }\n }\n /**\n * Scrolls to an element using the native offset and the specified offset set on this scroller.\n *\n * The offset can be used when we know that there is a floating header and scrolling naively to an\n * element (ex: `scrollIntoView`) leaves the element hidden behind the floating header.\n */\n scrollToElement(el) {\n const rect = el.getBoundingClientRect();\n const left = rect.left + this.window.pageXOffset;\n const top = rect.top + this.window.pageYOffset;\n const offset = this.offset();\n this.window.scrollTo(left - offset[0], top - offset[1]);\n }\n /**\n * We only support scroll restoration when we can get a hold of window.\n * This means that we do not support this behavior when running in a web worker.\n *\n * Lifting this restriction right now would require more changes in the dom adapter.\n * Since webworkers aren't widely used, we will lift it once RouterScroller is\n * battle-tested.\n */\n supportScrollRestoration() {\n try {\n if (!this.supportsScrolling()) {\n return false;\n }\n // The `scrollRestoration` property could be on the `history` instance or its prototype.\n const scrollRestorationDescriptor = getScrollRestorationProperty(this.window.history) ||\n getScrollRestorationProperty(Object.getPrototypeOf(this.window.history));\n // We can write to the `scrollRestoration` property if it is a writable data field or it has a\n // setter function.\n return !!scrollRestorationDescriptor &&\n !!(scrollRestorationDescriptor.writable || scrollRestorationDescriptor.set);\n }\n catch {\n return false;\n }\n }\n supportsScrolling() {\n try {\n return !!this.window && !!this.window.scrollTo && 'pageXOffset' in this.window;\n }\n catch {\n return false;\n }\n }\n}\nfunction getScrollRestorationProperty(obj) {\n return Object.getOwnPropertyDescriptor(obj, 'scrollRestoration');\n}\nfunction findAnchorFromDocument(document, target) {\n const documentResult = document.getElementById(target) || document.getElementsByName(target)[0];\n if (documentResult) {\n return documentResult;\n }\n // `getElementById` and `getElementsByName` won't pierce through the shadow DOM so we\n // have to traverse the DOM manually and do the lookup through the shadow roots.\n if (typeof document.createTreeWalker === 'function' && document.body &&\n (document.body.createShadowRoot || document.body.attachShadow)) {\n const treeWalker = document.createTreeWalker(document.body, NodeFilter.SHOW_ELEMENT);\n let currentNode = treeWalker.currentNode;\n while (currentNode) {\n const shadowRoot = currentNode.shadowRoot;\n if (shadowRoot) {\n // Note that `ShadowRoot` doesn't support `getElementsByName`\n // so we have to fall back to `querySelector`.\n const result = shadowRoot.getElementById(target) || shadowRoot.querySelector(`[name=\"${target}\"]`);\n if (result) {\n return result;\n }\n }\n currentNode = treeWalker.nextNode();\n }\n }\n return null;\n}\n/**\n * Provides an empty implementation of the viewport scroller.\n */\nclass NullViewportScroller {\n /**\n * Empty implementation\n */\n setOffset(offset) { }\n /**\n * Empty implementation\n */\n getScrollPosition() {\n return [0, 0];\n }\n /**\n * Empty implementation\n */\n scrollToPosition(position) { }\n /**\n * Empty implementation\n */\n scrollToAnchor(anchor) { }\n /**\n * Empty implementation\n */\n setHistoryScrollRestoration(scrollRestoration) { }\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * A wrapper around the `XMLHttpRequest` constructor.\n *\n * @publicApi\n */\nclass XhrFactory {\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n// This file only reexports content of the `src` folder. Keep it that way.\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\n/**\n * Generated bundle index. Do not edit.\n */\n\nexport { APP_BASE_HREF, AsyncPipe, CommonModule, CurrencyPipe, DATE_PIPE_DEFAULT_TIMEZONE, DOCUMENT, DatePipe, DecimalPipe, FormStyle, FormatWidth, HashLocationStrategy, I18nPluralPipe, I18nSelectPipe, JsonPipe, KeyValuePipe, LOCATION_INITIALIZED, Location, LocationStrategy, LowerCasePipe, NgClass, NgComponentOutlet, NgForOf, NgForOfContext, NgIf, NgIfContext, NgLocaleLocalization, NgLocalization, NgPlural, NgPluralCase, NgStyle, NgSwitch, NgSwitchCase, NgSwitchDefault, NgTemplateOutlet, NumberFormatStyle, NumberSymbol, PathLocationStrategy, PercentPipe, PlatformLocation, Plural, SlicePipe, TitleCasePipe, TranslationWidth, UpperCasePipe, VERSION, ViewportScroller, WeekDay, XhrFactory, formatCurrency, formatDate, formatNumber, formatPercent, getCurrencySymbol, getLocaleCurrencyCode, getLocaleCurrencyName, getLocaleCurrencySymbol, getLocaleDateFormat, getLocaleDateTimeFormat, getLocaleDayNames, getLocaleDayPeriods, getLocaleDirection, getLocaleEraNames, getLocaleExtraDayPeriodRules, getLocaleExtraDayPeriods, getLocaleFirstDayOfWeek, getLocaleId, getLocaleMonthNames, getLocaleNumberFormat, getLocaleNumberSymbol, getLocalePluralCase, getLocaleTimeFormat, getLocaleWeekEndRange, getNumberOfCurrencyDigits, isPlatformBrowser, isPlatformServer, isPlatformWorkerApp, isPlatformWorkerUi, registerLocaleData, BrowserPlatformLocation as ɵBrowserPlatformLocation, DomAdapter as ɵDomAdapter, NullViewportScroller as ɵNullViewportScroller, PLATFORM_BROWSER_ID as ɵPLATFORM_BROWSER_ID, PLATFORM_SERVER_ID as ɵPLATFORM_SERVER_ID, PLATFORM_WORKER_APP_ID as ɵPLATFORM_WORKER_APP_ID, PLATFORM_WORKER_UI_ID as ɵPLATFORM_WORKER_UI_ID, getDOM as ɵgetDOM, parseCookieValue as ɵparseCookieValue, setRootDomAdapter as ɵsetRootDomAdapter };\n","/**\n * @license Angular v13.3.12\n * (c) 2010-2022 Google LLC. https://angular.io/\n * License: MIT\n */\n\nimport * as i1 from '@angular/common';\nimport { DOCUMENT, ɵparseCookieValue, XhrFactory as XhrFactory$1 } from '@angular/common';\nimport * as i0 from '@angular/core';\nimport { Injectable, InjectionToken, Inject, PLATFORM_ID, NgModule } from '@angular/core';\nimport { of, Observable } from 'rxjs';\nimport { concatMap, filter, map } from 'rxjs/operators';\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * Transforms an `HttpRequest` into a stream of `HttpEvent`s, one of which will likely be a\n * `HttpResponse`.\n *\n * `HttpHandler` is injectable. When injected, the handler instance dispatches requests to the\n * first interceptor in the chain, which dispatches to the second, etc, eventually reaching the\n * `HttpBackend`.\n *\n * In an `HttpInterceptor`, the `HttpHandler` parameter is the next interceptor in the chain.\n *\n * @publicApi\n */\nclass HttpHandler {\n}\n/**\n * A final `HttpHandler` which will dispatch the request via browser HTTP APIs to a backend.\n *\n * Interceptors sit between the `HttpClient` interface and the `HttpBackend`.\n *\n * When injected, `HttpBackend` dispatches requests directly to the backend, without going\n * through the interceptor chain.\n *\n * @publicApi\n */\nclass HttpBackend {\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * Represents the header configuration options for an HTTP request.\n * Instances are immutable. Modifying methods return a cloned\n * instance with the change. The original object is never changed.\n *\n * @publicApi\n */\nclass HttpHeaders {\n /** Constructs a new HTTP header object with the given values.*/\n constructor(headers) {\n /**\n * Internal map of lowercased header names to the normalized\n * form of the name (the form seen first).\n */\n this.normalizedNames = new Map();\n /**\n * Queued updates to be materialized the next initialization.\n */\n this.lazyUpdate = null;\n if (!headers) {\n this.headers = new Map();\n }\n else if (typeof headers === 'string') {\n this.lazyInit = () => {\n this.headers = new Map();\n headers.split('\\n').forEach(line => {\n const index = line.indexOf(':');\n if (index > 0) {\n const name = line.slice(0, index);\n const key = name.toLowerCase();\n const value = line.slice(index + 1).trim();\n this.maybeSetNormalizedName(name, key);\n if (this.headers.has(key)) {\n this.headers.get(key).push(value);\n }\n else {\n this.headers.set(key, [value]);\n }\n }\n });\n };\n }\n else {\n this.lazyInit = () => {\n this.headers = new Map();\n Object.keys(headers).forEach(name => {\n let values = headers[name];\n const key = name.toLowerCase();\n if (typeof values === 'string') {\n values = [values];\n }\n if (values.length > 0) {\n this.headers.set(key, values);\n this.maybeSetNormalizedName(name, key);\n }\n });\n };\n }\n }\n /**\n * Checks for existence of a given header.\n *\n * @param name The header name to check for existence.\n *\n * @returns True if the header exists, false otherwise.\n */\n has(name) {\n this.init();\n return this.headers.has(name.toLowerCase());\n }\n /**\n * Retrieves the first value of a given header.\n *\n * @param name The header name.\n *\n * @returns The value string if the header exists, null otherwise\n */\n get(name) {\n this.init();\n const values = this.headers.get(name.toLowerCase());\n return values && values.length > 0 ? values[0] : null;\n }\n /**\n * Retrieves the names of the headers.\n *\n * @returns A list of header names.\n */\n keys() {\n this.init();\n return Array.from(this.normalizedNames.values());\n }\n /**\n * Retrieves a list of values for a given header.\n *\n * @param name The header name from which to retrieve values.\n *\n * @returns A string of values if the header exists, null otherwise.\n */\n getAll(name) {\n this.init();\n return this.headers.get(name.toLowerCase()) || null;\n }\n /**\n * Appends a new value to the existing set of values for a header\n * and returns them in a clone of the original instance.\n *\n * @param name The header name for which to append the values.\n * @param value The value to append.\n *\n * @returns A clone of the HTTP headers object with the value appended to the given header.\n */\n append(name, value) {\n return this.clone({ name, value, op: 'a' });\n }\n /**\n * Sets or modifies a value for a given header in a clone of the original instance.\n * If the header already exists, its value is replaced with the given value\n * in the returned object.\n *\n * @param name The header name.\n * @param value The value or values to set or overide for the given header.\n *\n * @returns A clone of the HTTP headers object with the newly set header value.\n */\n set(name, value) {\n return this.clone({ name, value, op: 's' });\n }\n /**\n * Deletes values for a given header in a clone of the original instance.\n *\n * @param name The header name.\n * @param value The value or values to delete for the given header.\n *\n * @returns A clone of the HTTP headers object with the given value deleted.\n */\n delete(name, value) {\n return this.clone({ name, value, op: 'd' });\n }\n maybeSetNormalizedName(name, lcName) {\n if (!this.normalizedNames.has(lcName)) {\n this.normalizedNames.set(lcName, name);\n }\n }\n init() {\n if (!!this.lazyInit) {\n if (this.lazyInit instanceof HttpHeaders) {\n this.copyFrom(this.lazyInit);\n }\n else {\n this.lazyInit();\n }\n this.lazyInit = null;\n if (!!this.lazyUpdate) {\n this.lazyUpdate.forEach(update => this.applyUpdate(update));\n this.lazyUpdate = null;\n }\n }\n }\n copyFrom(other) {\n other.init();\n Array.from(other.headers.keys()).forEach(key => {\n this.headers.set(key, other.headers.get(key));\n this.normalizedNames.set(key, other.normalizedNames.get(key));\n });\n }\n clone(update) {\n const clone = new HttpHeaders();\n clone.lazyInit =\n (!!this.lazyInit && this.lazyInit instanceof HttpHeaders) ? this.lazyInit : this;\n clone.lazyUpdate = (this.lazyUpdate || []).concat([update]);\n return clone;\n }\n applyUpdate(update) {\n const key = update.name.toLowerCase();\n switch (update.op) {\n case 'a':\n case 's':\n let value = update.value;\n if (typeof value === 'string') {\n value = [value];\n }\n if (value.length === 0) {\n return;\n }\n this.maybeSetNormalizedName(update.name, key);\n const base = (update.op === 'a' ? this.headers.get(key) : undefined) || [];\n base.push(...value);\n this.headers.set(key, base);\n break;\n case 'd':\n const toDelete = update.value;\n if (!toDelete) {\n this.headers.delete(key);\n this.normalizedNames.delete(key);\n }\n else {\n let existing = this.headers.get(key);\n if (!existing) {\n return;\n }\n existing = existing.filter(value => toDelete.indexOf(value) === -1);\n if (existing.length === 0) {\n this.headers.delete(key);\n this.normalizedNames.delete(key);\n }\n else {\n this.headers.set(key, existing);\n }\n }\n break;\n }\n }\n /**\n * @internal\n */\n forEach(fn) {\n this.init();\n Array.from(this.normalizedNames.keys())\n .forEach(key => fn(this.normalizedNames.get(key), this.headers.get(key)));\n }\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * Provides encoding and decoding of URL parameter and query-string values.\n *\n * Serializes and parses URL parameter keys and values to encode and decode them.\n * If you pass URL query parameters without encoding,\n * the query parameters can be misinterpreted at the receiving end.\n *\n *\n * @publicApi\n */\nclass HttpUrlEncodingCodec {\n /**\n * Encodes a key name for a URL parameter or query-string.\n * @param key The key name.\n * @returns The encoded key name.\n */\n encodeKey(key) {\n return standardEncoding(key);\n }\n /**\n * Encodes the value of a URL parameter or query-string.\n * @param value The value.\n * @returns The encoded value.\n */\n encodeValue(value) {\n return standardEncoding(value);\n }\n /**\n * Decodes an encoded URL parameter or query-string key.\n * @param key The encoded key name.\n * @returns The decoded key name.\n */\n decodeKey(key) {\n return decodeURIComponent(key);\n }\n /**\n * Decodes an encoded URL parameter or query-string value.\n * @param value The encoded value.\n * @returns The decoded value.\n */\n decodeValue(value) {\n return decodeURIComponent(value);\n }\n}\nfunction paramParser(rawParams, codec) {\n const map = new Map();\n if (rawParams.length > 0) {\n // The `window.location.search` can be used while creating an instance of the `HttpParams` class\n // (e.g. `new HttpParams({ fromString: window.location.search })`). The `window.location.search`\n // may start with the `?` char, so we strip it if it's present.\n const params = rawParams.replace(/^\\?/, '').split('&');\n params.forEach((param) => {\n const eqIdx = param.indexOf('=');\n const [key, val] = eqIdx == -1 ?\n [codec.decodeKey(param), ''] :\n [codec.decodeKey(param.slice(0, eqIdx)), codec.decodeValue(param.slice(eqIdx + 1))];\n const list = map.get(key) || [];\n list.push(val);\n map.set(key, list);\n });\n }\n return map;\n}\n/**\n * Encode input string with standard encodeURIComponent and then un-encode specific characters.\n */\nconst STANDARD_ENCODING_REGEX = /%(\\d[a-f0-9])/gi;\nconst STANDARD_ENCODING_REPLACEMENTS = {\n '40': '@',\n '3A': ':',\n '24': '$',\n '2C': ',',\n '3B': ';',\n '2B': '+',\n '3D': '=',\n '3F': '?',\n '2F': '/',\n};\nfunction standardEncoding(v) {\n return encodeURIComponent(v).replace(STANDARD_ENCODING_REGEX, (s, t) => STANDARD_ENCODING_REPLACEMENTS[t] ?? s);\n}\nfunction valueToString(value) {\n return `${value}`;\n}\n/**\n * An HTTP request/response body that represents serialized parameters,\n * per the MIME type `application/x-www-form-urlencoded`.\n *\n * This class is immutable; all mutation operations return a new instance.\n *\n * @publicApi\n */\nclass HttpParams {\n constructor(options = {}) {\n this.updates = null;\n this.cloneFrom = null;\n this.encoder = options.encoder || new HttpUrlEncodingCodec();\n if (!!options.fromString) {\n if (!!options.fromObject) {\n throw new Error(`Cannot specify both fromString and fromObject.`);\n }\n this.map = paramParser(options.fromString, this.encoder);\n }\n else if (!!options.fromObject) {\n this.map = new Map();\n Object.keys(options.fromObject).forEach(key => {\n const value = options.fromObject[key];\n this.map.set(key, Array.isArray(value) ? value : [value]);\n });\n }\n else {\n this.map = null;\n }\n }\n /**\n * Reports whether the body includes one or more values for a given parameter.\n * @param param The parameter name.\n * @returns True if the parameter has one or more values,\n * false if it has no value or is not present.\n */\n has(param) {\n this.init();\n return this.map.has(param);\n }\n /**\n * Retrieves the first value for a parameter.\n * @param param The parameter name.\n * @returns The first value of the given parameter,\n * or `null` if the parameter is not present.\n */\n get(param) {\n this.init();\n const res = this.map.get(param);\n return !!res ? res[0] : null;\n }\n /**\n * Retrieves all values for a parameter.\n * @param param The parameter name.\n * @returns All values in a string array,\n * or `null` if the parameter not present.\n */\n getAll(param) {\n this.init();\n return this.map.get(param) || null;\n }\n /**\n * Retrieves all the parameters for this body.\n * @returns The parameter names in a string array.\n */\n keys() {\n this.init();\n return Array.from(this.map.keys());\n }\n /**\n * Appends a new value to existing values for a parameter.\n * @param param The parameter name.\n * @param value The new value to add.\n * @return A new body with the appended value.\n */\n append(param, value) {\n return this.clone({ param, value, op: 'a' });\n }\n /**\n * Constructs a new body with appended values for the given parameter name.\n * @param params parameters and values\n * @return A new body with the new value.\n */\n appendAll(params) {\n const updates = [];\n Object.keys(params).forEach(param => {\n const value = params[param];\n if (Array.isArray(value)) {\n value.forEach(_value => {\n updates.push({ param, value: _value, op: 'a' });\n });\n }\n else {\n updates.push({ param, value: value, op: 'a' });\n }\n });\n return this.clone(updates);\n }\n /**\n * Replaces the value for a parameter.\n * @param param The parameter name.\n * @param value The new value.\n * @return A new body with the new value.\n */\n set(param, value) {\n return this.clone({ param, value, op: 's' });\n }\n /**\n * Removes a given value or all values from a parameter.\n * @param param The parameter name.\n * @param value The value to remove, if provided.\n * @return A new body with the given value removed, or with all values\n * removed if no value is specified.\n */\n delete(param, value) {\n return this.clone({ param, value, op: 'd' });\n }\n /**\n * Serializes the body to an encoded string, where key-value pairs (separated by `=`) are\n * separated by `&`s.\n */\n toString() {\n this.init();\n return this.keys()\n .map(key => {\n const eKey = this.encoder.encodeKey(key);\n // `a: ['1']` produces `'a=1'`\n // `b: []` produces `''`\n // `c: ['1', '2']` produces `'c=1&c=2'`\n return this.map.get(key).map(value => eKey + '=' + this.encoder.encodeValue(value))\n .join('&');\n })\n // filter out empty values because `b: []` produces `''`\n // which results in `a=1&&c=1&c=2` instead of `a=1&c=1&c=2` if we don't\n .filter(param => param !== '')\n .join('&');\n }\n clone(update) {\n const clone = new HttpParams({ encoder: this.encoder });\n clone.cloneFrom = this.cloneFrom || this;\n clone.updates = (this.updates || []).concat(update);\n return clone;\n }\n init() {\n if (this.map === null) {\n this.map = new Map();\n }\n if (this.cloneFrom !== null) {\n this.cloneFrom.init();\n this.cloneFrom.keys().forEach(key => this.map.set(key, this.cloneFrom.map.get(key)));\n this.updates.forEach(update => {\n switch (update.op) {\n case 'a':\n case 's':\n const base = (update.op === 'a' ? this.map.get(update.param) : undefined) || [];\n base.push(valueToString(update.value));\n this.map.set(update.param, base);\n break;\n case 'd':\n if (update.value !== undefined) {\n let base = this.map.get(update.param) || [];\n const idx = base.indexOf(valueToString(update.value));\n if (idx !== -1) {\n base.splice(idx, 1);\n }\n if (base.length > 0) {\n this.map.set(update.param, base);\n }\n else {\n this.map.delete(update.param);\n }\n }\n else {\n this.map.delete(update.param);\n break;\n }\n }\n });\n this.cloneFrom = this.updates = null;\n }\n }\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * A token used to manipulate and access values stored in `HttpContext`.\n *\n * @publicApi\n */\nclass HttpContextToken {\n constructor(defaultValue) {\n this.defaultValue = defaultValue;\n }\n}\n/**\n * Http context stores arbitrary user defined values and ensures type safety without\n * actually knowing the types. It is backed by a `Map` and guarantees that keys do not clash.\n *\n * This context is mutable and is shared between cloned requests unless explicitly specified.\n *\n * @usageNotes\n *\n * ### Usage Example\n *\n * ```typescript\n * // inside cache.interceptors.ts\n * export const IS_CACHE_ENABLED = new HttpContextToken(() => false);\n *\n * export class CacheInterceptor implements HttpInterceptor {\n *\n * intercept(req: HttpRequest, delegate: HttpHandler): Observable> {\n * if (req.context.get(IS_CACHE_ENABLED) === true) {\n * return ...;\n * }\n * return delegate.handle(req);\n * }\n * }\n *\n * // inside a service\n *\n * this.httpClient.get('/api/weather', {\n * context: new HttpContext().set(IS_CACHE_ENABLED, true)\n * }).subscribe(...);\n * ```\n *\n * @publicApi\n */\nclass HttpContext {\n constructor() {\n this.map = new Map();\n }\n /**\n * Store a value in the context. If a value is already present it will be overwritten.\n *\n * @param token The reference to an instance of `HttpContextToken`.\n * @param value The value to store.\n *\n * @returns A reference to itself for easy chaining.\n */\n set(token, value) {\n this.map.set(token, value);\n return this;\n }\n /**\n * Retrieve the value associated with the given token.\n *\n * @param token The reference to an instance of `HttpContextToken`.\n *\n * @returns The stored value or default if one is defined.\n */\n get(token) {\n if (!this.map.has(token)) {\n this.map.set(token, token.defaultValue());\n }\n return this.map.get(token);\n }\n /**\n * Delete the value associated with the given token.\n *\n * @param token The reference to an instance of `HttpContextToken`.\n *\n * @returns A reference to itself for easy chaining.\n */\n delete(token) {\n this.map.delete(token);\n return this;\n }\n /**\n * Checks for existence of a given token.\n *\n * @param token The reference to an instance of `HttpContextToken`.\n *\n * @returns True if the token exists, false otherwise.\n */\n has(token) {\n return this.map.has(token);\n }\n /**\n * @returns a list of tokens currently stored in the context.\n */\n keys() {\n return this.map.keys();\n }\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * Determine whether the given HTTP method may include a body.\n */\nfunction mightHaveBody(method) {\n switch (method) {\n case 'DELETE':\n case 'GET':\n case 'HEAD':\n case 'OPTIONS':\n case 'JSONP':\n return false;\n default:\n return true;\n }\n}\n/**\n * Safely assert whether the given value is an ArrayBuffer.\n *\n * In some execution environments ArrayBuffer is not defined.\n */\nfunction isArrayBuffer(value) {\n return typeof ArrayBuffer !== 'undefined' && value instanceof ArrayBuffer;\n}\n/**\n * Safely assert whether the given value is a Blob.\n *\n * In some execution environments Blob is not defined.\n */\nfunction isBlob(value) {\n return typeof Blob !== 'undefined' && value instanceof Blob;\n}\n/**\n * Safely assert whether the given value is a FormData instance.\n *\n * In some execution environments FormData is not defined.\n */\nfunction isFormData(value) {\n return typeof FormData !== 'undefined' && value instanceof FormData;\n}\n/**\n * Safely assert whether the given value is a URLSearchParams instance.\n *\n * In some execution environments URLSearchParams is not defined.\n */\nfunction isUrlSearchParams(value) {\n return typeof URLSearchParams !== 'undefined' && value instanceof URLSearchParams;\n}\n/**\n * An outgoing HTTP request with an optional typed body.\n *\n * `HttpRequest` represents an outgoing request, including URL, method,\n * headers, body, and other request configuration options. Instances should be\n * assumed to be immutable. To modify a `HttpRequest`, the `clone`\n * method should be used.\n *\n * @publicApi\n */\nclass HttpRequest {\n constructor(method, url, third, fourth) {\n this.url = url;\n /**\n * The request body, or `null` if one isn't set.\n *\n * Bodies are not enforced to be immutable, as they can include a reference to any\n * user-defined data type. However, interceptors should take care to preserve\n * idempotence by treating them as such.\n */\n this.body = null;\n /**\n * Whether this request should be made in a way that exposes progress events.\n *\n * Progress events are expensive (change detection runs on each event) and so\n * they should only be requested if the consumer intends to monitor them.\n */\n this.reportProgress = false;\n /**\n * Whether this request should be sent with outgoing credentials (cookies).\n */\n this.withCredentials = false;\n /**\n * The expected response type of the server.\n *\n * This is used to parse the response appropriately before returning it to\n * the requestee.\n */\n this.responseType = 'json';\n this.method = method.toUpperCase();\n // Next, need to figure out which argument holds the HttpRequestInit\n // options, if any.\n let options;\n // Check whether a body argument is expected. The only valid way to omit\n // the body argument is to use a known no-body method like GET.\n if (mightHaveBody(this.method) || !!fourth) {\n // Body is the third argument, options are the fourth.\n this.body = (third !== undefined) ? third : null;\n options = fourth;\n }\n else {\n // No body required, options are the third argument. The body stays null.\n options = third;\n }\n // If options have been passed, interpret them.\n if (options) {\n // Normalize reportProgress and withCredentials.\n this.reportProgress = !!options.reportProgress;\n this.withCredentials = !!options.withCredentials;\n // Override default response type of 'json' if one is provided.\n if (!!options.responseType) {\n this.responseType = options.responseType;\n }\n // Override headers if they're provided.\n if (!!options.headers) {\n this.headers = options.headers;\n }\n if (!!options.context) {\n this.context = options.context;\n }\n if (!!options.params) {\n this.params = options.params;\n }\n }\n // If no headers have been passed in, construct a new HttpHeaders instance.\n if (!this.headers) {\n this.headers = new HttpHeaders();\n }\n // If no context have been passed in, construct a new HttpContext instance.\n if (!this.context) {\n this.context = new HttpContext();\n }\n // If no parameters have been passed in, construct a new HttpUrlEncodedParams instance.\n if (!this.params) {\n this.params = new HttpParams();\n this.urlWithParams = url;\n }\n else {\n // Encode the parameters to a string in preparation for inclusion in the URL.\n const params = this.params.toString();\n if (params.length === 0) {\n // No parameters, the visible URL is just the URL given at creation time.\n this.urlWithParams = url;\n }\n else {\n // Does the URL already have query parameters? Look for '?'.\n const qIdx = url.indexOf('?');\n // There are 3 cases to handle:\n // 1) No existing parameters -> append '?' followed by params.\n // 2) '?' exists and is followed by existing query string ->\n // append '&' followed by params.\n // 3) '?' exists at the end of the url -> append params directly.\n // This basically amounts to determining the character, if any, with\n // which to join the URL and parameters.\n const sep = qIdx === -1 ? '?' : (qIdx < url.length - 1 ? '&' : '');\n this.urlWithParams = url + sep + params;\n }\n }\n }\n /**\n * Transform the free-form body into a serialized format suitable for\n * transmission to the server.\n */\n serializeBody() {\n // If no body is present, no need to serialize it.\n if (this.body === null) {\n return null;\n }\n // Check whether the body is already in a serialized form. If so,\n // it can just be returned directly.\n if (isArrayBuffer(this.body) || isBlob(this.body) || isFormData(this.body) ||\n isUrlSearchParams(this.body) || typeof this.body === 'string') {\n return this.body;\n }\n // Check whether the body is an instance of HttpUrlEncodedParams.\n if (this.body instanceof HttpParams) {\n return this.body.toString();\n }\n // Check whether the body is an object or array, and serialize with JSON if so.\n if (typeof this.body === 'object' || typeof this.body === 'boolean' ||\n Array.isArray(this.body)) {\n return JSON.stringify(this.body);\n }\n // Fall back on toString() for everything else.\n return this.body.toString();\n }\n /**\n * Examine the body and attempt to infer an appropriate MIME type\n * for it.\n *\n * If no such type can be inferred, this method will return `null`.\n */\n detectContentTypeHeader() {\n // An empty body has no content type.\n if (this.body === null) {\n return null;\n }\n // FormData bodies rely on the browser's content type assignment.\n if (isFormData(this.body)) {\n return null;\n }\n // Blobs usually have their own content type. If it doesn't, then\n // no type can be inferred.\n if (isBlob(this.body)) {\n return this.body.type || null;\n }\n // Array buffers have unknown contents and thus no type can be inferred.\n if (isArrayBuffer(this.body)) {\n return null;\n }\n // Technically, strings could be a form of JSON data, but it's safe enough\n // to assume they're plain strings.\n if (typeof this.body === 'string') {\n return 'text/plain';\n }\n // `HttpUrlEncodedParams` has its own content-type.\n if (this.body instanceof HttpParams) {\n return 'application/x-www-form-urlencoded;charset=UTF-8';\n }\n // Arrays, objects, boolean and numbers will be encoded as JSON.\n if (typeof this.body === 'object' || typeof this.body === 'number' ||\n typeof this.body === 'boolean') {\n return 'application/json';\n }\n // No type could be inferred.\n return null;\n }\n clone(update = {}) {\n // For method, url, and responseType, take the current value unless\n // it is overridden in the update hash.\n const method = update.method || this.method;\n const url = update.url || this.url;\n const responseType = update.responseType || this.responseType;\n // The body is somewhat special - a `null` value in update.body means\n // whatever current body is present is being overridden with an empty\n // body, whereas an `undefined` value in update.body implies no\n // override.\n const body = (update.body !== undefined) ? update.body : this.body;\n // Carefully handle the boolean options to differentiate between\n // `false` and `undefined` in the update args.\n const withCredentials = (update.withCredentials !== undefined) ? update.withCredentials : this.withCredentials;\n const reportProgress = (update.reportProgress !== undefined) ? update.reportProgress : this.reportProgress;\n // Headers and params may be appended to if `setHeaders` or\n // `setParams` are used.\n let headers = update.headers || this.headers;\n let params = update.params || this.params;\n // Pass on context if needed\n const context = update.context ?? this.context;\n // Check whether the caller has asked to add headers.\n if (update.setHeaders !== undefined) {\n // Set every requested header.\n headers =\n Object.keys(update.setHeaders)\n .reduce((headers, name) => headers.set(name, update.setHeaders[name]), headers);\n }\n // Check whether the caller has asked to set params.\n if (update.setParams) {\n // Set every requested param.\n params = Object.keys(update.setParams)\n .reduce((params, param) => params.set(param, update.setParams[param]), params);\n }\n // Finally, construct the new HttpRequest using the pieces from above.\n return new HttpRequest(method, url, body, {\n params,\n headers,\n context,\n reportProgress,\n responseType,\n withCredentials,\n });\n }\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * Type enumeration for the different kinds of `HttpEvent`.\n *\n * @publicApi\n */\nvar HttpEventType;\n(function (HttpEventType) {\n /**\n * The request was sent out over the wire.\n */\n HttpEventType[HttpEventType[\"Sent\"] = 0] = \"Sent\";\n /**\n * An upload progress event was received.\n */\n HttpEventType[HttpEventType[\"UploadProgress\"] = 1] = \"UploadProgress\";\n /**\n * The response status code and headers were received.\n */\n HttpEventType[HttpEventType[\"ResponseHeader\"] = 2] = \"ResponseHeader\";\n /**\n * A download progress event was received.\n */\n HttpEventType[HttpEventType[\"DownloadProgress\"] = 3] = \"DownloadProgress\";\n /**\n * The full response including the body was received.\n */\n HttpEventType[HttpEventType[\"Response\"] = 4] = \"Response\";\n /**\n * A custom event from an interceptor or a backend.\n */\n HttpEventType[HttpEventType[\"User\"] = 5] = \"User\";\n})(HttpEventType || (HttpEventType = {}));\n/**\n * Base class for both `HttpResponse` and `HttpHeaderResponse`.\n *\n * @publicApi\n */\nclass HttpResponseBase {\n /**\n * Super-constructor for all responses.\n *\n * The single parameter accepted is an initialization hash. Any properties\n * of the response passed there will override the default values.\n */\n constructor(init, defaultStatus = 200 /* Ok */, defaultStatusText = 'OK') {\n // If the hash has values passed, use them to initialize the response.\n // Otherwise use the default values.\n this.headers = init.headers || new HttpHeaders();\n this.status = init.status !== undefined ? init.status : defaultStatus;\n this.statusText = init.statusText || defaultStatusText;\n this.url = init.url || null;\n // Cache the ok value to avoid defining a getter.\n this.ok = this.status >= 200 && this.status < 300;\n }\n}\n/**\n * A partial HTTP response which only includes the status and header data,\n * but no response body.\n *\n * `HttpHeaderResponse` is a `HttpEvent` available on the response\n * event stream, only when progress events are requested.\n *\n * @publicApi\n */\nclass HttpHeaderResponse extends HttpResponseBase {\n /**\n * Create a new `HttpHeaderResponse` with the given parameters.\n */\n constructor(init = {}) {\n super(init);\n this.type = HttpEventType.ResponseHeader;\n }\n /**\n * Copy this `HttpHeaderResponse`, overriding its contents with the\n * given parameter hash.\n */\n clone(update = {}) {\n // Perform a straightforward initialization of the new HttpHeaderResponse,\n // overriding the current parameters with new ones if given.\n return new HttpHeaderResponse({\n headers: update.headers || this.headers,\n status: update.status !== undefined ? update.status : this.status,\n statusText: update.statusText || this.statusText,\n url: update.url || this.url || undefined,\n });\n }\n}\n/**\n * A full HTTP response, including a typed response body (which may be `null`\n * if one was not returned).\n *\n * `HttpResponse` is a `HttpEvent` available on the response event\n * stream.\n *\n * @publicApi\n */\nclass HttpResponse extends HttpResponseBase {\n /**\n * Construct a new `HttpResponse`.\n */\n constructor(init = {}) {\n super(init);\n this.type = HttpEventType.Response;\n this.body = init.body !== undefined ? init.body : null;\n }\n clone(update = {}) {\n return new HttpResponse({\n body: (update.body !== undefined) ? update.body : this.body,\n headers: update.headers || this.headers,\n status: (update.status !== undefined) ? update.status : this.status,\n statusText: update.statusText || this.statusText,\n url: update.url || this.url || undefined,\n });\n }\n}\n/**\n * A response that represents an error or failure, either from a\n * non-successful HTTP status, an error while executing the request,\n * or some other failure which occurred during the parsing of the response.\n *\n * Any error returned on the `Observable` response stream will be\n * wrapped in an `HttpErrorResponse` to provide additional context about\n * the state of the HTTP layer when the error occurred. The error property\n * will contain either a wrapped Error object or the error response returned\n * from the server.\n *\n * @publicApi\n */\nclass HttpErrorResponse extends HttpResponseBase {\n constructor(init) {\n // Initialize with a default status of 0 / Unknown Error.\n super(init, 0, 'Unknown Error');\n this.name = 'HttpErrorResponse';\n /**\n * Errors are never okay, even when the status code is in the 2xx success range.\n */\n this.ok = false;\n // If the response was successful, then this was a parse error. Otherwise, it was\n // a protocol-level failure of some sort. Either the request failed in transit\n // or the server returned an unsuccessful status code.\n if (this.status >= 200 && this.status < 300) {\n this.message = `Http failure during parsing for ${init.url || '(unknown url)'}`;\n }\n else {\n this.message = `Http failure response for ${init.url || '(unknown url)'}: ${init.status} ${init.statusText}`;\n }\n this.error = init.error || null;\n }\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * Constructs an instance of `HttpRequestOptions` from a source `HttpMethodOptions` and\n * the given `body`. This function clones the object and adds the body.\n *\n * Note that the `responseType` *options* value is a String that identifies the\n * single data type of the response.\n * A single overload version of the method handles each response type.\n * The value of `responseType` cannot be a union, as the combined signature could imply.\n *\n */\nfunction addBody(options, body) {\n return {\n body,\n headers: options.headers,\n context: options.context,\n observe: options.observe,\n params: options.params,\n reportProgress: options.reportProgress,\n responseType: options.responseType,\n withCredentials: options.withCredentials,\n };\n}\n/**\n * Performs HTTP requests.\n * This service is available as an injectable class, with methods to perform HTTP requests.\n * Each request method has multiple signatures, and the return type varies based on\n * the signature that is called (mainly the values of `observe` and `responseType`).\n *\n * Note that the `responseType` *options* value is a String that identifies the\n * single data type of the response.\n * A single overload version of the method handles each response type.\n * The value of `responseType` cannot be a union, as the combined signature could imply.\n\n *\n * @usageNotes\n * Sample HTTP requests for the [Tour of Heroes](/tutorial/toh-pt0) application.\n *\n * ### HTTP Request Example\n *\n * ```\n * // GET heroes whose name contains search term\n * searchHeroes(term: string): observable{\n *\n * const params = new HttpParams({fromString: 'name=term'});\n * return this.httpClient.request('GET', this.heroesUrl, {responseType:'json', params});\n * }\n * ```\n *\n * Alternatively, the parameter string can be used without invoking HttpParams\n * by directly joining to the URL.\n * ```\n * this.httpClient.request('GET', this.heroesUrl + '?' + 'name=term', {responseType:'json'});\n * ```\n *\n *\n * ### JSONP Example\n * ```\n * requestJsonp(url, callback = 'callback') {\n * return this.httpClient.jsonp(this.heroesURL, callback);\n * }\n * ```\n *\n * ### PATCH Example\n * ```\n * // PATCH one of the heroes' name\n * patchHero (id: number, heroName: string): Observable<{}> {\n * const url = `${this.heroesUrl}/${id}`; // PATCH api/heroes/42\n * return this.httpClient.patch(url, {name: heroName}, httpOptions)\n * .pipe(catchError(this.handleError('patchHero')));\n * }\n * ```\n *\n * @see [HTTP Guide](guide/http)\n * @see [HTTP Request](api/common/http/HttpRequest)\n *\n * @publicApi\n */\nclass HttpClient {\n constructor(handler) {\n this.handler = handler;\n }\n /**\n * Constructs an observable for a generic HTTP request that, when subscribed,\n * fires the request through the chain of registered interceptors and on to the\n * server.\n *\n * You can pass an `HttpRequest` directly as the only parameter. In this case,\n * the call returns an observable of the raw `HttpEvent` stream.\n *\n * Alternatively you can pass an HTTP method as the first parameter,\n * a URL string as the second, and an options hash containing the request body as the third.\n * See `addBody()`. In this case, the specified `responseType` and `observe` options determine the\n * type of returned observable.\n * * The `responseType` value determines how a successful response body is parsed.\n * * If `responseType` is the default `json`, you can pass a type interface for the resulting\n * object as a type parameter to the call.\n *\n * The `observe` value determines the return type, according to what you are interested in\n * observing.\n * * An `observe` value of events returns an observable of the raw `HttpEvent` stream, including\n * progress events by default.\n * * An `observe` value of response returns an observable of `HttpResponse`,\n * where the `T` parameter depends on the `responseType` and any optionally provided type\n * parameter.\n * * An `observe` value of body returns an observable of `` with the same `T` body type.\n *\n */\n request(first, url, options = {}) {\n let req;\n // First, check whether the primary argument is an instance of `HttpRequest`.\n if (first instanceof HttpRequest) {\n // It is. The other arguments must be undefined (per the signatures) and can be\n // ignored.\n req = first;\n }\n else {\n // It's a string, so it represents a URL. Construct a request based on it,\n // and incorporate the remaining arguments (assuming `GET` unless a method is\n // provided.\n // Figure out the headers.\n let headers = undefined;\n if (options.headers instanceof HttpHeaders) {\n headers = options.headers;\n }\n else {\n headers = new HttpHeaders(options.headers);\n }\n // Sort out parameters.\n let params = undefined;\n if (!!options.params) {\n if (options.params instanceof HttpParams) {\n params = options.params;\n }\n else {\n params = new HttpParams({ fromObject: options.params });\n }\n }\n // Construct the request.\n req = new HttpRequest(first, url, (options.body !== undefined ? options.body : null), {\n headers,\n context: options.context,\n params,\n reportProgress: options.reportProgress,\n // By default, JSON is assumed to be returned for all calls.\n responseType: options.responseType || 'json',\n withCredentials: options.withCredentials,\n });\n }\n // Start with an Observable.of() the initial request, and run the handler (which\n // includes all interceptors) inside a concatMap(). This way, the handler runs\n // inside an Observable chain, which causes interceptors to be re-run on every\n // subscription (this also makes retries re-run the handler, including interceptors).\n const events$ = of(req).pipe(concatMap((req) => this.handler.handle(req)));\n // If coming via the API signature which accepts a previously constructed HttpRequest,\n // the only option is to get the event stream. Otherwise, return the event stream if\n // that is what was requested.\n if (first instanceof HttpRequest || options.observe === 'events') {\n return events$;\n }\n // The requested stream contains either the full response or the body. In either\n // case, the first step is to filter the event stream to extract a stream of\n // responses(s).\n const res$ = events$.pipe(filter((event) => event instanceof HttpResponse));\n // Decide which stream to return.\n switch (options.observe || 'body') {\n case 'body':\n // The requested stream is the body. Map the response stream to the response\n // body. This could be done more simply, but a misbehaving interceptor might\n // transform the response body into a different format and ignore the requested\n // responseType. Guard against this by validating that the response is of the\n // requested type.\n switch (req.responseType) {\n case 'arraybuffer':\n return res$.pipe(map((res) => {\n // Validate that the body is an ArrayBuffer.\n if (res.body !== null && !(res.body instanceof ArrayBuffer)) {\n throw new Error('Response is not an ArrayBuffer.');\n }\n return res.body;\n }));\n case 'blob':\n return res$.pipe(map((res) => {\n // Validate that the body is a Blob.\n if (res.body !== null && !(res.body instanceof Blob)) {\n throw new Error('Response is not a Blob.');\n }\n return res.body;\n }));\n case 'text':\n return res$.pipe(map((res) => {\n // Validate that the body is a string.\n if (res.body !== null && typeof res.body !== 'string') {\n throw new Error('Response is not a string.');\n }\n return res.body;\n }));\n case 'json':\n default:\n // No validation needed for JSON responses, as they can be of any type.\n return res$.pipe(map((res) => res.body));\n }\n case 'response':\n // The response stream was requested directly, so return it.\n return res$;\n default:\n // Guard against new future observe types being added.\n throw new Error(`Unreachable: unhandled observe type ${options.observe}}`);\n }\n }\n /**\n * Constructs an observable that, when subscribed, causes the configured\n * `DELETE` request to execute on the server. See the individual overloads for\n * details on the return type.\n *\n * @param url The endpoint URL.\n * @param options The HTTP options to send with the request.\n *\n */\n delete(url, options = {}) {\n return this.request('DELETE', url, options);\n }\n /**\n * Constructs an observable that, when subscribed, causes the configured\n * `GET` request to execute on the server. See the individual overloads for\n * details on the return type.\n */\n get(url, options = {}) {\n return this.request('GET', url, options);\n }\n /**\n * Constructs an observable that, when subscribed, causes the configured\n * `HEAD` request to execute on the server. The `HEAD` method returns\n * meta information about the resource without transferring the\n * resource itself. See the individual overloads for\n * details on the return type.\n */\n head(url, options = {}) {\n return this.request('HEAD', url, options);\n }\n /**\n * Constructs an `Observable` that, when subscribed, causes a request with the special method\n * `JSONP` to be dispatched via the interceptor pipeline.\n * The [JSONP pattern](https://en.wikipedia.org/wiki/JSONP) works around limitations of certain\n * API endpoints that don't support newer,\n * and preferable [CORS](https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS) protocol.\n * JSONP treats the endpoint API as a JavaScript file and tricks the browser to process the\n * requests even if the API endpoint is not located on the same domain (origin) as the client-side\n * application making the request.\n * The endpoint API must support JSONP callback for JSONP requests to work.\n * The resource API returns the JSON response wrapped in a callback function.\n * You can pass the callback function name as one of the query parameters.\n * Note that JSONP requests can only be used with `GET` requests.\n *\n * @param url The resource URL.\n * @param callbackParam The callback function name.\n *\n */\n jsonp(url, callbackParam) {\n return this.request('JSONP', url, {\n params: new HttpParams().append(callbackParam, 'JSONP_CALLBACK'),\n observe: 'body',\n responseType: 'json',\n });\n }\n /**\n * Constructs an `Observable` that, when subscribed, causes the configured\n * `OPTIONS` request to execute on the server. This method allows the client\n * to determine the supported HTTP methods and other capabilities of an endpoint,\n * without implying a resource action. See the individual overloads for\n * details on the return type.\n */\n options(url, options = {}) {\n return this.request('OPTIONS', url, options);\n }\n /**\n * Constructs an observable that, when subscribed, causes the configured\n * `PATCH` request to execute on the server. See the individual overloads for\n * details on the return type.\n */\n patch(url, body, options = {}) {\n return this.request('PATCH', url, addBody(options, body));\n }\n /**\n * Constructs an observable that, when subscribed, causes the configured\n * `POST` request to execute on the server. The server responds with the location of\n * the replaced resource. See the individual overloads for\n * details on the return type.\n */\n post(url, body, options = {}) {\n return this.request('POST', url, addBody(options, body));\n }\n /**\n * Constructs an observable that, when subscribed, causes the configured\n * `PUT` request to execute on the server. The `PUT` method replaces an existing resource\n * with a new set of values.\n * See the individual overloads for details on the return type.\n */\n put(url, body, options = {}) {\n return this.request('PUT', url, addBody(options, body));\n }\n}\nHttpClient.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"13.3.12\", ngImport: i0, type: HttpClient, deps: [{ token: HttpHandler }], target: i0.ɵɵFactoryTarget.Injectable });\nHttpClient.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"13.3.12\", ngImport: i0, type: HttpClient });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"13.3.12\", ngImport: i0, type: HttpClient, decorators: [{\n type: Injectable\n }], ctorParameters: function () { return [{ type: HttpHandler }]; } });\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * `HttpHandler` which applies an `HttpInterceptor` to an `HttpRequest`.\n *\n *\n */\nclass HttpInterceptorHandler {\n constructor(next, interceptor) {\n this.next = next;\n this.interceptor = interceptor;\n }\n handle(req) {\n return this.interceptor.intercept(req, this.next);\n }\n}\n/**\n * A multi-provider token that represents the array of registered\n * `HttpInterceptor` objects.\n *\n * @publicApi\n */\nconst HTTP_INTERCEPTORS = new InjectionToken('HTTP_INTERCEPTORS');\nclass NoopInterceptor {\n intercept(req, next) {\n return next.handle(req);\n }\n}\nNoopInterceptor.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"13.3.12\", ngImport: i0, type: NoopInterceptor, deps: [], target: i0.ɵɵFactoryTarget.Injectable });\nNoopInterceptor.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"13.3.12\", ngImport: i0, type: NoopInterceptor });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"13.3.12\", ngImport: i0, type: NoopInterceptor, decorators: [{\n type: Injectable\n }] });\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n// Every request made through JSONP needs a callback name that's unique across the\n// whole page. Each request is assigned an id and the callback name is constructed\n// from that. The next id to be assigned is tracked in a global variable here that\n// is shared among all applications on the page.\nlet nextRequestId = 0;\n/**\n * When a pending